{"report_id":"eda16e4e-d220-4aab-8e29-6b02a17f59b3","version":0,"status":"done","tags":[],"date":"2026-07-27T06:23:31Z","url":{"schema":"https","addr":"futurbcvndf.com/","fqdn":"futurbcvndf.com","domain":"futurbcvndf.com","tld":"com"},"ip":{"addr":"172.67.130.50","port":0,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"final":{"url":{"schema":"https","addr":"futurbcvndf.com/#/","fqdn":"futurbcvndf.com","domain":"futurbcvndf.com","tld":"com"},"title":"Futures","dom":{"size":765254,"mime_type":"text/html; charset=utf-8","magic":"HTML document, Unicode text, UTF-8 text, with very long lines (54211), with CRLF, LF line terminators","md5":"a808570fdd8dee3281191db928c07168","sha1":"d2302c038f32174c11a47f09aaccde5e59463e31","sha256":"74183f1fc490d07e7bae442f134571e89d43aa0a8b3cd115ab9f6937f83c86f9","sha512":"c9143200794b9e82be54aba345765f1cdf3d65b825e57d74bbfd08a15d6990be73085650da5a61bcfa5297fd63b4b627de48a7a97b43b3975a0f6545b0c07bd8","ssdeep":"12288:mZdwG1ZAIkKDJ3bys5XrHeg05Ttr3nNPpnF4p+ZGUQxSXbLg7So1eNy:mZdwG1ZAIkKDJ3bys5XrHeg05TZnNPp8","tlshash":"a0f469e3bad820089037c656c685b7bcbd3fbae343629d9697067b318f125c7360561e","dom_hash":"domhash0ef7efb13fc67ae619d9f7134e996d6c","first_seen":"2026-07-27T06:23:39.696418Z","last_seen":"2026-07-27T06:23:39.696418Z","times_seen":1,"resource_available":false,"data":null}},"submit":{"url":{"schema":"https","addr":"futurbcvndf.com/","fqdn":"futurbcvndf.com","domain":"futurbcvndf.com","tld":"com"},"ip":{"addr":"172.67.130.50","port":0,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"tags":null,"meta":null},"settings":{"access":"public","device_type":"desktop","expires_at":"2027-08-31T06:23:31Z","useragent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0","referer":"","cookies":null,"exit_node":"qguvgzjxzsgb3vs"},"stats":{"alert_count":{"ids":0,"urlquery":0,"analyzer":2}},"detection":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null},{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null}],"urlquery":null},"summary":[{"fqdn":"futurbcvndf.com","ip":{"addr":"172.67.130.50","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"domain_registered":"2026-03-20","domain_rank":0,"first_seen":"2026-07-27T04:23:36.583605Z","last_seen":"2026-07-27T04:23:36.583605Z","alert_count":86,"request_count":44,"received_data":3132174,"sent_data":38249,"comment":"","tags":null,"fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"jsDelivr","description":"JSDelivr is a free public CDN for open-source projects. It can serve web files directly from the npm registry and GitHub repositories without any configuration.","website":"https://www.jsdelivr.com/","common_platform_enumeration":"","icon":"jsdelivr-icon.svg","categories":["CDN"]},{"name":"Unpkg","description":"Unpkg is a content delivery network for everything on npm.","website":"https://unpkg.com","common_platform_enumeration":"","icon":"Unpkg.png","categories":["CDN"]}]},{"fqdn":"unpkg.com","ip":{"addr":"104.18.1.22","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"domain_registered":"2016-01-06","domain_rank":1093,"first_seen":"2016-01-07T23:26:01Z","last_seen":"2026-07-20T07:49:24.133645Z","alert_count":0,"request_count":9,"received_data":1282623,"sent_data":4220,"comment":"","tags":null,"fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"Fly.io","description":"Fly is a platform for running full stack apps and databases.","website":"https://fly.io","common_platform_enumeration":"","icon":"Fly.io.png","categories":["PaaS"]}]},{"fqdn":"latest.currency-api.pages.dev","ip":{"addr":"172.66.47.9","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"domain_registered":"2020-09-02","domain_rank":3814498,"first_seen":"2025-04-04T18:46:19.409457Z","last_seen":"2026-07-27T04:23:37.333955Z","alert_count":0,"request_count":1,"received_data":8274,"sent_data":479,"comment":"","tags":null,"fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}]},{"fqdn":"cdn.jsdelivr.net","ip":{"addr":"151.101.193.229","port":443,"asn":54113,"as":"FASTLY","country":"United States","country_code":"US"},"domain_registered":"2012-05-16","domain_rank":1678,"first_seen":"2012-09-30T00:15:09Z","last_seen":"2026-07-26T23:00:42.445991Z","alert_count":0,"request_count":1,"received_data":597569,"sent_data":497,"comment":"","tags":null,"fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}]},{"fqdn":"cdn.dcloud.net.cn","ip":{"addr":"124.174.94.0","port":443,"asn":0,"as":"","country":"China","country_code":"CN"},"domain_registered":"2013-07-17","domain_rank":296858,"first_seen":"2018-09-15T09:18:08Z","last_seen":"2026-07-24T17:44:02.835081Z","alert_count":0,"request_count":1,"received_data":577,"sent_data":550,"comment":"","tags":null,"fingerprints":[{"name":"Nginx","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}]}],"files":null,"artifacts":{"windows_shortcuts":null,"files":null,"telegram":null,"pdfs":null,"clipboard":null},"sensors":{"ids":null,"analyzer":null,"urlquery":null},"javascript":{"script":[{"url":{"schema":"https","addr":"futurbcvndf.com/static/js/chunk-vendors.84b8efdd.js","fqdn":"futurbcvndf.com","domain":"futurbcvndf.com","tld":"com"},"ip":{"addr":"172.67.130.50","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"88f4b25091d0c3e79a216d1ed4dde828","sha1":"15476eb893f95e066550b05a904e2dcfaf0d3974","sha256":"125280d6dca64236baa8ac8bd95f8f0c08f55e0af776f40d34751e29308d1a22","sha512":"03aaec29a37f490370e5a65465f68cd7d7fec2de3b0e58062d867a619bd9103ae24ab36a7c7d7e295346bfa37c996273bce36c20408aa3a467de52c3073b8f82","ssdeep":"6144:f2QCHd/0f+zW8j1Z4BXtwTfFnRb/Cdbv+NT8rY3vm799a/hZxxvQzYKp//y2xIs:fusQcBdwTdgdb+t5w9UvQzD/v","tlshash":"d305f78df282b0b60be761b5403f220ba2376959b40ac4d4f675e4d4ad7894e2237f7d","size":831795,"data":"","first_seen":"2025-08-27T01:09:26.232186Z","last_seen":"2026-07-27T06:23:39.755335Z","times_seen":84,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"futurbcvndf.com/","fqdn":"futurbcvndf.com","domain":"futurbcvndf.com","tld":"com"},"ip":{"addr":"172.67.130.50","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"3d6b954dc2d01b7f947ffbdbc08419c4","sha1":"91b4d1da374271f3f7a26ace5bb5d9a18cc7833d","sha256":"33452930b33391ee5b905f55ea3d83da98c22f96e001002468f1230369567e4e","sha512":"0edd93b88ed4f3b4e519ecaf80b84a9226198637f31e617f182614a579969c77e65863f98bda78349defd5054b0de9daff0d03b9299fdf432a72ca1b28191074","ssdeep":"","tlshash":"bb6000c3c03303000c0033ff00c300f00000c0000000f3003cc3000330000c003c00cc","size":16,"data":"","first_seen":"2023-03-07T14:41:52Z","last_seen":"2026-08-02T21:17:18.961649Z","times_seen":994,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"futurbcvndf.com/","fqdn":"futurbcvndf.com","domain":"futurbcvndf.com","tld":"com"},"ip":{"addr":"172.67.130.50","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"c7c2044589cd6c4afb8f708d8f4929ce","sha1":"0a1a91f258a6b31b5f24008bde88fe949fd00317","sha256":"20217fc70ebe327eee12ece90b2c8ad0e6f760234c316849f05b7e2a7d0ee931","sha512":"50894a9f5d6c19842e74141d8b09cfc2ed951ee4d75dd45343c8c9156064fabc2129acf0c4635cfba00be760064af9293e826d7df958097177d67e364bb11248","ssdeep":"","tlshash":"25c04cb4761959305659a22d7239e7d83dbb501130437547901c158d0cf4e945671ea9","size":159,"data":"","first_seen":"2023-03-07T12:06:42Z","last_seen":"2026-08-03T11:16:08.641875Z","times_seen":1445,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"futurbcvndf.com/","fqdn":"futurbcvndf.com","domain":"futurbcvndf.com","tld":"com"},"ip":{"addr":"172.67.130.50","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":true,"md5":"d9e35f3565e98641c0174d284e8ddd26","sha1":"967e8443ce108fe2742f3ec46237a40560c67c35","sha256":"6fc1c4ed09be48bc1d695bba608ad0c9ff9a525edd88b1819bdf413e88960e82","sha512":"7b6ca8aea3dd9c4b83fda1914179c9957606363ee546540bdaa87d0ed099362681da51036c06bb3a8c6641946b69621d72154075f78b02b770ab1bddb3ac8a23","ssdeep":"","tlshash":"576000000000f00c00c0000c003000c000c0f00f000c0c303c0fcc00300000c0f3000c","size":14,"data":"","first_seen":"2023-03-07T14:41:52Z","last_seen":"2026-08-03T11:16:08.642577Z","times_seen":1561,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"cdn.jsdelivr.net/gh/ethereum/web3.js@1.0.0-beta.34/dist/web3.min.js","fqdn":"cdn.jsdelivr.net","domain":"jsdelivr.net","tld":"net"},"ip":{"addr":"151.101.193.229","port":443,"asn":54113,"as":"FASTLY","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"3c35b34c71aaac9b2e8097db250941ea","sha1":"1d0fdb71cb8cba20433fa52584373000822badbb","sha256":"d352f2217ac660e1757b4d731d7dea67e50ca516137736d749d4d8e4d97c0f11","sha512":"a57b68d567cafc3c9f922a2133595266273451cdf6268b1afed54a2c1a97f05c3e948d0404a91fd827688b12df4fe9f077a60e6e074a305ab4396e13c3a51f3a","ssdeep":"6144:rvOGCNvms5NnnIZV2xRSWlAQkTWdYLkZCYByyUHYAF50:CGamsjQOgQkyy0","tlshash":"a4c41a88b660b0a1439776a4043f610fe17aba1d784a447cf219d8f67cbdd896637f38","size":596765,"data":"","first_seen":"2023-03-17T10:32:02Z","last_seen":"2026-07-27T06:23:39.736482Z","times_seen":99,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"futurbcvndf.com/static/js/pages-common-aboutus~pages-common-area~pages-common-article~pages-common-borrowing~pages-common-cont~e26c43f5.71d4b365.js","fqdn":"futurbcvndf.com","domain":"futurbcvndf.com","tld":"com"},"ip":{"addr":"172.67.130.50","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"53ff6c37ac6d6fbd26fb3461bc884464","sha1":"b79f435d97d19e6abc76bd670b647c5214ac2be7","sha256":"5677eb616275ef605bb100a73ce7740df31d175e36f1bdb6295ab3006a9367fd","sha512":"8d390313f33160ff91b5b5ef0058987fb6297b52c44ba6daac9d7bc51c83816d6cc222d42766bd5b259b061c05826c893166f2dc4fbc62b2b6047bc80f5691d7","ssdeep":"768:4pgQnKb6QWm4AmCd0tG8e+W1MAbu7N8ChEAh8sd0Q2Z7wXz10tWNjZNztpptzkl4:4psYId0FHoMqu7NdEAaM2Oj27mKbZrDa","tlshash":"04b3dcd2f6cc2840566fcf4e9341a3fcbbbaba2342697877e4622f244f772d62504558","size":108978,"data":"","first_seen":"2025-08-27T01:09:26.18446Z","last_seen":"2026-07-27T06:23:39.750375Z","times_seen":83,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"futurbcvndf.com/static/common/js/touch-emulator.js","fqdn":"futurbcvndf.com","domain":"futurbcvndf.com","tld":"com"},"ip":{"addr":"172.67.130.50","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"178ba7db6232252a555ba6ff953756a8","sha1":"31129606e2c7e395a73184f30e81e835a424cdf5","sha256":"2968f310031c7a0c1d271836caa44aedaa28794289d14c577f0b17033e8c036d","sha512":"dea2f867ed3e1774320ea9494c9fd6fa24a7c7eeba27e50099530d3eabe196b6a34f70cfb7d0ac87aa5c70dcb5172d149de92da8af78725b6090952588041dbd","ssdeep":"96:L+vx+c5tJzNjX/wGiZ27oA2qMrttS7KDWom4RhvYahnT/TCKkTIT1/CoShwqhzcs:yvx+chzxItcKs+LmKk8TqhzwoEPq","tlshash":"1a32314f098a226204bb7329fb9e904af67e85a311012056fcbc5f653f72a758694ecd","size":11668,"data":"","first_seen":"2023-03-07T14:41:52Z","last_seen":"2026-07-28T18:14:36.017766Z","times_seen":736,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"futurbcvndf.com/","fqdn":"futurbcvndf.com","domain":"futurbcvndf.com","tld":"com"},"ip":{"addr":"172.67.130.50","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"Function","is_inline":false,"md5":"29d0c84b9d1d8da446a6062c6a840ad9","sha1":"6d6b3a6065667c7c50d92f3889c85ed65a9ad784","sha256":"3c3cbdb71d0d2c22f504f4d63d8a6ffe8d250cde7e58300619be35b6bbab26a1","sha512":"52cfcbf2f7c3521c5a6c6120099ee6822d16e04ffbc04720da925a11242c8c2050f9cfc8d864a6d39a0036ac599f701080195a29a7c5e8d3e9308b91f9f0390f","ssdeep":"","tlshash":"428004d533c350004753117c04571cc4d034447014444d405040d4531c570315115c7c","size":37,"data":"","first_seen":"2023-04-11T21:31:25Z","last_seen":"2026-08-04T14:32:27.404615Z","times_seen":737909,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"futurbcvndf.com/static/js/pages-common-login~pages-common-register~pages-copytrade-copy~pages-follow-index~pages-fund-fundTran~ae8d2e6c.dae2a40e.js","fqdn":"futurbcvndf.com","domain":"futurbcvndf.com","tld":"com"},"ip":{"addr":"172.67.130.50","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"2629dccf239e20c43774f7007b170602","sha1":"fba5bbbad190b1624fd8d9143b6e42026812a655","sha256":"b6eecc690c0031eb51e60df8a7b51c7dd25a61720f442d90b7a36a48375755bf","sha512":"9accf7364fd88b854fed65317bbf1750428e110324c0c5a081c95888137466a4c69667edcafab5742f818bbad527b06eccdcd542cdd4eca3d019bbfca905d3a7","ssdeep":"768:UPtEuVOdfFJrZ0Ju8thRrvDXEVUezez5E8:eeDfTrsIWB7","tlshash":"6bc309c6fad82504427bc709d54232feae2feaa742a1edd2e9c16b344e375c7250752c","size":121915,"data":"","first_seen":"2025-08-27T01:09:26.224694Z","last_seen":"2026-07-27T06:23:39.740645Z","times_seen":83,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"futurbcvndf.com/static/js/pages-index-index~pages-transaction-index.b99c1762.js","fqdn":"futurbcvndf.com","domain":"futurbcvndf.com","tld":"com"},"ip":{"addr":"172.67.130.50","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"a6d7f664882684008b34054461cd0686","sha1":"27352464c62e4f32c1bf2803056b44be4be77eb8","sha256":"8fc4650b82c9e890bcbe95cd49e653de04b6079dde126feb8e427e23914ce057","sha512":"1ae348e7a49dffdbac98ab84457ade8535e099491141aaac7777a5671e3218346ad284c9fe7a50db1009ae8a841ba424876bd9403e086e3c4ff57ba52b5715ed","ssdeep":"384:z+ZE+W/34MXQiU2j8FT+TwVccWi1jQfAIw5:SenR8ogQf85","tlshash":"df5309a2f7ec2006c567f743a16332f89a3bad7303016852da5d7f744e166ce2d865ac","size":63477,"data":"","first_seen":"2025-08-27T01:09:26.206118Z","last_seen":"2026-07-27T06:23:39.76147Z","times_seen":83,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"futurbcvndf.com/static/js/pages-index-index.02ee1a22.js","fqdn":"futurbcvndf.com","domain":"futurbcvndf.com","tld":"com"},"ip":{"addr":"172.67.130.50","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"a37f181f5097a9f335821f5508677082","sha1":"7bdea39e33cefca4ebf3628f38f707dc3db98d37","sha256":"7233bf2cc196af87b90defb71117b6a9a6cb9bb991b58054733a2581be3adf9b","sha512":"2cd72dcea8e59ad92c90305c89d2611dc223743d6dbf46c73f897533b1063bc2c65cdaea0c6bf34fc07b10ac68b2278b69f4d6c9f2a014eedcf4e446e09ed790","ssdeep":"6144:XegQDxMIxR2uDxn8SrUGMTN0vP0sqD/mLjss8j4C9HRp:ugQDxMID2uDl10sqDuXss8j4C9Hv","tlshash":"0bd494d6f6cc20058277c315d44b62fc9e3aad339206ac51e6a6ffb14e165ca3719b2c","size":638220,"data":"","first_seen":"2026-04-17T07:46:54.355933Z","last_seen":"2026-07-27T06:23:39.762158Z","times_seen":81,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"unpkg.com/@walletconnect/web3-provider","fqdn":"unpkg.com","domain":"unpkg.com","tld":"com"},"ip":{"addr":"104.18.1.22","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"47f795b848c217887b6b777101941080","sha1":"e35aedb35e68be3a777324fd92adf7396132b7b2","sha256":"39f201db3b9481261cc1660c3c2f9880fb09ef44c1e5fe5d9e2fd9deb818bd10","sha512":"ec7124aea23a2262ca514584d77395d39f27134ed5938b4dee942ef87170067e4195b2e9feb595b68deb412cd1916d539c658f06a36543fe54708ef7869ff93c","ssdeep":"6144:Nyk4F3cPmw7kM9YTIPAIhKVlbolFdQMPjqUY2OoGHFiRlQIiH+O3+2zrbwRbCNvr:0SY0zGliQIipDwRbamsjEmLR","tlshash":"e7f4f984b6a4b061439765a4003f540ff27aba2d780a44bcf654d8f6bcbc98d653bf39","size":747370,"data":"","first_seen":"2023-03-07T14:37:40Z","last_seen":"2026-08-03T12:41:36.35389Z","times_seen":649,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"unpkg.com/fortmatic@2.0.6/dist/fortmatic.js","fqdn":"unpkg.com","domain":"unpkg.com","tld":"com"},"ip":{"addr":"104.18.1.22","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"56496a1b18bfee511bccc196538443c1","sha1":"f1a8881c0b7a0d35e2c981c1b42dfbe76e0d8ef2","sha256":"0b8822c2c385fdd4f64b5a815e662439aaba14f79aef4a5813e12ba122dd317c","sha512":"c6dbc3fafe3d2a45a3530dd176f82ae5a662f11b5efb8c65961fb1d44e97e897f6a09117d3170f13f4100cfce58e6721ca21dda69df9622fa40d3a3e61fa6578","ssdeep":"768:59Y8gCBf9euGcilK4aHtQpQR5VWVB4Qplo6g:5Z2ltB4gg","tlshash":"41f2e8c8be85f411836321b9803f540ae33e7d29781c4495e658dad1bc7994ea22bffd","size":35960,"data":"","first_seen":"2023-03-07T14:37:40Z","last_seen":"2026-07-27T06:23:39.737431Z","times_seen":217,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"futurbcvndf.com/static/js/index.fbece3f8.js","fqdn":"futurbcvndf.com","domain":"futurbcvndf.com","tld":"com"},"ip":{"addr":"172.67.130.50","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"46abd70cc83a7dcb315b72bae61b1b5d","sha1":"184b8de4c6bcc911f14bd454df5e48e1d5ab0880","sha256":"51bfe1b48c2d5811ebc7d8dee44768097be6b829f40c0aa9220b588404277b12","sha512":"d47ba753a77dd8423a436f077babeb199c51b4b61dd8420ae27ba876393e00aaa86967b55218f73442078a771c0dc25d340ae1141e5e2a1958ba86a22bd6ee74","ssdeep":"12288:bcXLLWcQbZdwG1ZAIkKDJ3bys5XrHeg05TGnydbD6qZEKTYA1Y7xI5SOFfiEHoc0:bE+JZdwG1ZAIkKDJ3bys5XrHeg05T0qq","tlshash":"56f45bc7b4c5626812d71211909f7268637edd362446b8e9f3c86a54dbd73ce2322b3b","size":752579,"data":"","first_seen":"2026-04-17T07:46:54.379981Z","last_seen":"2026-07-27T06:23:39.708447Z","times_seen":82,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"futurbcvndf.com/static/js/pages-ieo-ieo~pages-index-index~pages-invest-invest.49169b31.js","fqdn":"futurbcvndf.com","domain":"futurbcvndf.com","tld":"com"},"ip":{"addr":"172.67.130.50","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"7d80b06ad5407303a006cc9b071958e6","sha1":"bdfe3e69162d4b89f6a999e026dbadb2c90500c1","sha256":"6c9b9915bfe3b865d6166a56eaea02e52ea1ce1ecfdf4cadf943d23b9b8fe3e9","sha512":"c61ec478b1b3214ee7cfc95050dd3d5de078c9ec7049b34711ae1508f4824fd372af39eb1d6249c2520aa08be09e682507f624b9e9893219375798b2ddb9c7ad","ssdeep":"384:ZmQFwqTOs0y6CF9pnRj4p+ZGUQxSXbLlKm3HKSUYCXeWZ3fO:wiZ0avpnF4p+ZGUQxSXbLg7S2XeWZPO","tlshash":"4d43b292f5db220c4577cb46d94136fc9f7aaba36b017c52e8836f348e266c63b0459c","size":58384,"data":"","first_seen":"2025-08-27T01:09:26.236249Z","last_seen":"2026-07-27T06:23:39.757937Z","times_seen":83,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"unpkg.com/web3modal","fqdn":"unpkg.com","domain":"unpkg.com","tld":"com"},"ip":{"addr":"104.18.1.22","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"b75e5b4aa819a4e0db65d09f304ffca5","sha1":"322a4343cbc52f87360eece8baf8107535e1e153","sha256":"0ce4217a6e4105da2cf62a06789f3d999a4c6dae1ffbbc8fe3b5b12d8373dbcb","sha512":"7bfe99b2371a31bfe270481c6a4c26b77ae40ba7d696dd875acc847464f1c1be4bf2b96399cb9f68fefa038101f7d966e5eb914fa7f37ff6dfd87f693886d57b","ssdeep":"6144:i7Q8a7NJ7oiJhdJ0zIwKu4YcacueJ3px/1ikVAwkOfuQ8s:oQr7NJ0iXdKveF9JAwRVT","tlshash":"a5b4aee73583f42107b23ab740af2c06b23c691718098990f295edd494bd69e916bffd","size":493905,"data":"","first_seen":"2023-03-13T10:07:14Z","last_seen":"2026-07-27T06:23:39.768229Z","times_seen":182,"alerts":{"ids":null,"analyzer":null,"urlquery":null}}],"eval":null,"write":null,"console":[{"level":"log","text":"map[actor:server1.conn0.watcher14.process7//obj31 class:Array extensible:true frozen:false isError:false ownPropertyLength:15 preview:map[items:[map[actor:server1.conn0.watcher14.process7//obj32 class:Object extensible:true frozen:false isError:false ownPropertyLength:3 sealed:false type:object] map[actor:server1.conn0.watcher14.process7//obj33 class:Object extensible:true frozen:false isError:false ownPropertyLength:3 sealed:false type:object] map[actor:server1.conn0.watcher14.process7//obj34 class:Object extensible:true frozen:false isError:false ownPropertyLength:3 sealed:false type:object] map[actor:server1.conn0.watcher14.process7//obj35 class:Object extensible:true frozen:false isError:false ownPropertyLength:3 sealed:false type:object] map[actor:server1.conn0.watcher14.process7//obj36 class:Object extensible:true frozen:false isError:false ownPropertyLength:3 sealed:false type:object] map[actor:server1.conn0.watcher14.process7//obj37 class:Object extensible:true frozen:false isError:false ownPropertyLength:3 sealed:false type:object] map[actor:server1.conn0.watcher14.process7//obj38 class:Object extensible:true frozen:false isError:false ownPropertyLength:3 sealed:false type:object] map[actor:server1.conn0.watcher14.process7//obj39 class:Object extensible:true frozen:false isError:false ownPropertyLength:3 sealed:false type:object] map[actor:server1.conn0.watcher14.process7//obj40 class:Object extensible:true frozen:false isError:false ownPropertyLength:3 sealed:false type:object] map[actor:server1.conn0.watcher14.process7//obj41 class:Object extensible:true frozen:false isError:false ownPropertyLength:3 sealed:false type:object]] kind:ArrayLike length:14] sealed:false type:object]","filename":"https://futurbcvndf.com/static/js/index.fbece3f8.js","line_number":10,"column_number":452979}]},"http":[{"url":{"schema":"https","addr":"futurbcvndf.com/static/js/index.fbece3f8.js","fqdn":"futurbcvndf.com","domain":"futurbcvndf.com","tld":"com"},"ip":{"addr":"172.67.130.50","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://futurbcvndf.com/","date":"2026-07-27T06:23:00.111Z","timestamp":1785133380111,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"futurbcvndf.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 16 Jul 2026 16:36:02 GMT","end":"Wed, 14 Oct 2026 16:36:01 GMT"},"fingerprint":{"sha1":"46:2D:5F:F0:3D:BD:73:19:93:72:79:62:4A:45:03:09:5D:FB:1E:A5","sha256":"35:31:C4:67:1D:DB:68:C3:FB:49:03:14:DD:4E:76:FE:13:53:8D:98:98:2E:BE:EA:B8:CA:4F:B6:5B:7E:5C:1D"}}},"request":{"raw":"GET /static/js/index.fbece3f8.js HTTP/1.1\r\nHost: futurbcvndf.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://futurbcvndf.com/\r\nCookie: angela_session=eyJpdiI6IlhnUEZEQ1hLNngxS0t2ZGN3TnJjV1E9PSIsInZhbHVlIjoiVGlYZUpmMXVPdEhuTGtoQzhTS3VXM3BIN3J4ZDZnU2dNTWxTc0NRcHNMTXFyNm1wQTZEQ0RKTWJ0UjRERWZ5aDBaQWxVaVdmN0VVQkNna0M2ZTJ2dTdFZkx3amdIYjZlQzEzMHozajVqTzMybnhMOHo1bEpuaXdQM1R3UVN4QmQiLCJtYWMiOiJiZWIyMTJlYzc4OWUzODk0ODBiOTI5NmU0MjA2MDBmZjJmYzA2MTI3ZjViNmY4NWYxNzIyNDI4MDhhYWMzZmI4In0%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\nserver: cloudflare\r\ndate: Mon, 27 Jul 2026 06:23:00 GMT\r\ncontent-type: application/javascript\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=3,i=?0\r\nlast-modified: Tue, 13 Jan 2026 00:50:49 GMT\r\nvary: Accept-Encoding\r\netag: \"696596e9-b7bc3\"\r\nstrict-transport-security: max-age=31536000\r\ncontent-encoding: gzip\r\ncache-control: max-age=14400\r\ncf-cache-status: REVALIDATED\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=C%2Fx%2FPBTD53%2B7YHdWSqjS68m35h8p1J8WZiP3ndTzPuJrqF7ik%2FbcZIWQRZDUhUXcBOuXj22oeZVqGWSVAh4jWUaMxImg5D3Wyxar6cOnk0%2F4P9Zy66hZSDVtaDAMNxOo1zY%3D\"}]}\r\ncf-ray: a2198d89b8870daa-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":752579,"size_decoded":213452,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (37061), with CRLF line terminators","md5":"46abd70cc83a7dcb315b72bae61b1b5d","sha1":"184b8de4c6bcc911f14bd454df5e48e1d5ab0880","sha256":"51bfe1b48c2d5811ebc7d8dee44768097be6b829f40c0aa9220b588404277b12","sha512":"d47ba753a77dd8423a436f077babeb199c51b4b61dd8420ae27ba876393e00aaa86967b55218f73442078a771c0dc25d340ae1141e5e2a1958ba86a22bd6ee74","ssdeep":"12288:bcXLLWcQbZdwG1ZAIkKDJ3bys5XrHeg05TGnydbD6qZEKTYA1Y7xI5SOFfiEHoc0:bE+JZdwG1ZAIkKDJ3bys5XrHeg05T0qq","tlshash":"56f45bc7b4c5626812d71211909f7268637edd362446b8e9f3c86a54dbd73ce2322b3b","first_seen":"2026-04-17T07:46:54.379981Z","last_seen":"2026-07-27T06:23:39.708447Z","times_seen":82,"resource_available":true,"data":"KGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQodCl7Zm9yKHZhciBhLGkscz10WzBdLGM9dFsxXSxsPXRbMl0sZD0wLHA9W107ZDxzLmxlbmd0aDtkKyspaT1zW2RdLE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvLGkpJiZvW2ldJiZwLnB1c2gob1tpXVswXSksb1tpXT0wO2ZvcihhIGluIGMpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGMsYSkmJihlW2FdPWNbYV0pO3UmJnUodCk7d2hpbGUocC5sZW5ndGgpcC5zaGlmdCgpKCk7cmV0dXJuIHIucHVzaC5hcHBseShyLGx8fFtdKSxuKCl9ZnVuY3Rpb24gbigpe2Zvcih2YXIgZSx0PTA7dDxyLmxlbmd0aDt0Kyspe2Zvcih2YXIgbj1yW3RdLGE9ITAscz0xO3M8bi5sZW5ndGg7cysrKXt2YXIgYz1uW3NdOzAhPT1vW2NdJiYoYT0hMSl9YSYmKHIuc3BsaWNlKHQtLSwxKSxlPWkoaS5zPW5bMF0pKX1yZXR1cm4gZX12YXIgYT17fSxvPXtpbmRleDowfSxyPVtdO2Z1bmN0aW9uIGkodCl7aWYoYVt0XSlyZXR1cm4gYVt0XS5leHBvcnRzO3ZhciBuPWFbdF09e2k6dCxsOiExLGV4cG9ydHM6e319O3JldHVybiBlW3RdLmNhbGwobi5leHBvcnRzLG4sbi5leHBvcnRzLGkpLG4ubD0hMCxuLmV4cG9ydHN9aS5lPWZ1bmN0aW9uKGUpe3ZhciB0PVtdLG49b1tlXTtpZigwIT09bilpZihuKXQucHVzaChuWzJdKTtlbHNle3ZhciBhPW5ldyBQcm9taXNlKChmdW5jdGlvbih0LGEpe249b1tlXT1bdCxhXX0pKTt0LnB1c2goblsyXT1hKTt2YXIgcixzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpO3MuY2hhcnNldD0idXRmLTgiLHMudGltZW91dD0xMjAsaS5uYyYmcy5zZXRBdHRyaWJ1dGUoIm5vbmNlIixpLm5jKSxzLnNyYz1mdW5jdGlvbihlKXtyZXR1cm4gaS5wKyJzdGF0aWMvanMvIisoeyJwYWdlcy1jb21tb24tYWJvdXR1c35wYWdlcy1jb21tb24tYXJlYX5wYWdlcy1jb21tb24tYXJ0aWNsZX5wYWdlcy1jb21tb24tYm9ycm93aW5nfnBhZ2VzLWNvbW1vbi1jb250fmUyNmM0M2Y1IjoicGFnZXMtY29tbW9uLWFib3V0dXN+cGFnZXMtY29tbW9uLWFyZWF+cGFnZXMtY29tbW9uLWFydGljbGV+cGFnZXMtY29tbW9uLWJvcnJvd2luZ35wYWdlcy1jb21tb24tY29udH5lMjZjNDNmNSIsInBhZ2VzLWNvbW1vbi1hYm91dHVzfnBhZ2VzLWNvbW1vbi1hcmVhfnBhZ2VzLWNvbW1vbi1hcnRpY2xlfnBhZ2VzLWNvbW1vbi1ib3Jyb3dpbmd+cGFnZXMtY29tbW9uLWNvbnR+NDY2ZDEwMmUiOiJwYWdlcy1jb21tb24tYWJvdXR1c35wYWdlcy1jb21tb24tYXJlYX5wYWdlcy1jb21tb24tYXJ0aWNsZX5wYWdlcy1jb21tb24tYm9ycm93aW5nfnBhZ2VzLWNvbW1vbi1jb250fjQ2NmQxMDJlIiwicGFnZXMtY29tbW9uLWFib3V0dXMiOiJwYWdlcy1jb21tb24tYWJvdXR1cyIsInBhZ2VzLWNvbW1vbi1hcmVhfnBhZ2VzLWZ1bmQtc2VsZWN0fnBhZ2VzLW1hcmtldC1zZWFyY2giOiJwYWdlcy1jb21tb24tYXJlYX5wYWdlcy1mdW5kLXNlbGVjdH5wYWdlcy1tYXJrZXQtc2VhcmNoIiwicGFnZXMtY29tbW9uLWFyZWEiOiJwYWdlcy1jb21tb24tYXJlYSIsInBhZ2VzLWZ1bmQtc2VsZWN0IjoicGFnZXMtZnVuZC1zZWxlY3QiLCJwYWdlcy1jb21tb24tYXJ0aWNsZSI6InBhZ2VzLWNvbW1vbi1hcnRpY2xlIiwicGFnZXMtY29tbW9uLWJvcnJvd2luZyI6InBhZ2VzLWNvbW1vbi1ib3Jyb3dpbmciLCJwYWdlcy1jb21tb24tY29udGFjdHVzIjoicGFnZXMtY29tbW9uLWNvbnRhY3R1cyIsInBhZ2VzLWNvbW1vbi1mYXEiOiJwYWdlcy1jb21tb24tZmFxIiwicGFnZXMtY29tbW9uLWxvZ2lufnBhZ2VzLWNvbW1vbi1yZWdpc3Rlcn5wYWdlcy1jb3B5dHJhZGUtY29weX5wYWdlcy1mb2xsb3ctaW5kZXh+cGFnZXMtZnVuZC1mdW5kVHJhbn5hZThkMmU2YyI6InBhZ2VzLWNvbW1vbi1sb2dpbn5wYWdlcy1jb21tb24tcmVnaXN0ZXJ+cGFnZXMtY29weXRyYWRlLWNvcHl+cGFnZXMtZm9sbG93LWluZGV4fnBhZ2VzLWZ1bmQtZnVuZFRyYW5+YWU4ZDJlNmMiLCJwYWdlcy1jb21tb24tbG9naW5+cGFnZXMtY29tbW9uLXJlZ2lzdGVyfnBhZ2VzLWZ1bmQtYXNzZXRzfnBhZ2VzLWZ1bmQtYXNzZXRzX3JlY29yZH5wYWdlcy1mdW5kLWZ1bmRUfjg1Mjc3NjU2IjoicGFnZXMtY29tbW9uLWxvZ2lufnBhZ2VzLWNvbW1vbi1yZWdpc3Rlcn5wYWdlcy1mdW5kLWFzc2V0c35wYWdlcy1mdW5kLWFzc2V0c19yZWNvcmR+cGFnZXMtZnVuZC1mdW5kVH44NTI3NzY1NiIsInBhZ2VzLWZ1bmQtZnVuZFRyYW5zZmVyIjoicGFnZXMtZnVuZC1mdW5kVHJhbnNmZXIiLCJwYWdlcy10cmFuc2FjdGlvbi1jb250cmFjdF9vcmRlciI6InBhZ2VzLXRyYW5zYWN0aW9uLWNvbnRyYWN0X29yZGVyIiwicGFnZXMtY29weXRyYWRlLWNvcHl+cGFnZXMtaW52ZXN0LXB1cmNoYXNlfnBhZ2VzLW90Yy1vdGN+cGFnZXMtdHJhbnNhY3Rpb24tY29udHJhY3R+cGFnZXMtdHJhbnNhY3Rpb35lNzdhNGVjNyI6InBhZ2VzLWNvcHl0cmFkZS1jb3B5fnBhZ2VzLWludmVzdC1wdXJjaGFzZX5wYWdlcy1vdGMtb3RjfnBhZ2VzLXRyYW5zYWN0aW9uLWNvbnRyYWN0fnBhZ2VzLXRyYW5zYWN0aW9+ZTc3YTRlYzciLCJwYWdlcy1jb3B5dHJhZGUtY29weSI6InBhZ2VzLWNvcHl0cmFkZS1jb3B5IiwicGFnZXMtdHJhbnNhY3Rpb24tY29udHJhY3QiOiJwYWdlcy10cmFuc2FjdGlvbi1jb250cmFjdCIsInBhZ2VzLXRyYW5zYWN0aW9uLWN1cnJlbmN5IjoicGFnZXMtdHJhbnNhY3Rpb24tY3VycmVuY3kiLCJwYWdlcy1mb2xsb3ctaW5kZXh+cGFnZXMtZm9sbG93LXRyYWRlcn5wYWdlcy1uZnQtYXJ0aXN0RGV0YWlsfnBhZ2VzLW5mdC1hcnR3b3JrRGV0YWlsfnBhZ2VzLW5mdC1hcnR3fjU4ZjYwYmY5IjoicGFnZXMtZm9sbG93LWluZGV4fnBhZ2VzLWZvbGxvdy10cmFkZXJ+cGFnZXMtbmZ0LWFydGlzdERldGFpbH5wYWdlcy1uZnQtYXJ0d29ya0RldGFpbH5wYWdlcy1uZnQtYXJ0d341OGY2MGJmOSIsInBhZ2VzLWZvbGxvdy1pbmRleCI6InBhZ2VzLWZvbGxvdy1pbmRleCIsInBhZ2VzLWZ1bmQtcmVjZWl2ZX5wYWdlcy1zZXR0aW5nLXNoYXJlIjoicGFnZXMtZnVuZC1yZWNlaXZlfnBhZ2VzLXNldHRpbmctc2hhcmUiLCJwYWdlcy1mdW5kLXJlY2VpdmUiOiJwYWdlcy1mdW5kLXJlY2VpdmUiLCJwYWdlcy1mdW5kLXdpdGhkcmF3fnBhZ2VzLWllby1zdWJzY3JpYmV+cGFnZXMtaW52ZXN0LW1pbmV+cGFnZXMtc2V0dGluZy1hZGRXYWxsZXQiOiJwYWdlcy1mdW5kLXdpdGhkcmF3fnBhZ2VzLWllby1zdWJzY3JpYmV+cGFnZXMtaW52ZXN0LW1pbmV+cGFnZXMtc2V0dGluZy1hZGRXYWxsZXQiLCJwYWdlcy1mdW5kLXdpdGhkcmF3IjoicGFnZXMtZnVuZC13aXRoZHJhdyIsInBhZ2VzLWllby1zdWJzY3JpYmUiOiJwYWdlcy1pZW8tc3Vic2NyaWJlIiwicGFnZXMtaW52ZXN0LW1pbmUiOiJwYWdlcy1pbnZlc3QtbWluZSIsInBhZ2VzLXNldHRpbmctYWRkV2FsbGV0IjoicGFnZXMtc2V0dGluZy1hZGRXYWxsZXQiLCJwYWdlcy1uZnQtcmVzZWxsfnBhZ2VzLXNldHRpbmctcmV3YXJkUmVjb3JkIjoicGFnZXMtbmZ0LXJlc2VsbH5wYWdlcy1zZXR0aW5nLXJld2FyZFJlY29yZCIsInBhZ2VzLXNldHRpbmctcmV3YXJkUmVjb3JkIjoicGFnZXMtc2V0dGluZy1yZXdhcmRSZWNvcmQiLCJwYWdlcy1zZXR0aW5nLXJlYWx+cGFnZXMtc2V0dGluZy1zZXR0aW5nIjoicGFnZXMtc2V0dGluZy1yZWFsfnBhZ2VzLXNldHRpbmctc2V0dGluZyIsInBhZ2VzLXNldHRpbmctc2V0dGluZyI6InBhZ2VzLXNldHRpbmctc2V0dGluZyIsInBhZ2VzLXNldHRpbmctc2VjdXJpdHkiOiJwYWdlcy1zZXR0aW5nLXNlY3VyaXR5IiwicGFnZXMtc2V0dGluZy11c2VySW5mbyI6InBhZ2VzLXNldHRpbmctdXNlckluZm8iLCJwYWdlcy1mdW5kLWFzc2V0c19yZWNvcmQiOiJwYWdlcy1mdW5kLWFzc2V0c19yZWNvcmQiLCJwYWdlcy1mdW5kLXRyYW5zZmVyIjoicGFnZXMtZnVuZC10cmFuc2ZlciIsInBhZ2VzLXNldHRpbmctcGFzc3dvcmQiOiJwYWdlcy1zZXR0aW5nLXBhc3N3b3JkIiwicGFnZXMtdHJhbnNhY3Rpb24tY3VycmVuY3lfb3JkZXIiOiJwYWdlcy10cmFuc2FjdGlvbi1jdXJyZW5jeV9vcmRlciIsInBhZ2VzLXRyYW5zYWN0aW9uLXNlY29uZHNfb3JkZXIiOiJwYWdlcy10cmFuc2FjdGlvbi1zZWNvbmRzX29yZGVyIiwicGFnZXMtaW52ZXN0LXB1cmNoYXNlIjoicGFnZXMtaW52ZXN0LXB1cmNoYXNlIiwicGFnZXMtY29weXRyYWRlLW15IjoicGFnZXMtY29weXRyYWRlLW15IiwicGFnZXMtZm9sbG93LWFncmVlbWVudF9lbiI6InBhZ2VzLWZvbGxvdy1hZ3JlZW1lbnRfZW4iLCJwYWdlcy1mb2xsb3ctYWdyZWVtZW50X3poIjoicGFnZXMtZm9sbG93LWFncmVlbWVudF96aCIsInBhZ2VzLWZvbGxvdy1mb2xsb3d+cGFnZXMtbG9ja21pbmctb3JkZXJ+cGFnZXMtc2V0dGluZy13YWxsZXQiOiJwYWdlcy1mb2xsb3ctZm9sbG93fnBhZ2VzLWxvY2ttaW5nLW9yZGVyfnBhZ2VzLXNldHRpbmctd2FsbGV0IiwicGFnZXMtZm9sbG93LWZvbGxvdyI6InBhZ2VzLWZvbGxvdy1mb2xsb3ciLCJwYWdlcy1sb2NrbWluZy1vcmRlciI6InBhZ2VzLWxvY2ttaW5nLW9yZGVyIiwicGFnZXMtc2V0dGluZy13YWxsZXQiOiJwYWdlcy1zZXR0aW5nLXdhbGxldCIsInBhZ2VzLWZvbGxvdy10cmFkZXIiOiJwYWdlcy1mb2xsb3ctdHJhZGVyIiwicGFnZXMtZnVuZC1hc3NldHNfYWxsX3JlY29yZCI6InBhZ2VzLWZ1bmQtYXNzZXRzX2FsbF9yZWNvcmQiLCJwYWdlcy1mdW5kLXJlY2VpdmVfd2l0aGRyYXdfcmVjb3JkIjoicGFnZXMtZnVuZC1yZWNlaXZlX3dpdGhkcmF3X3JlY29yZCIsInBhZ2VzLXNldHRpbmctc2hhcmUiOiJwYWdlcy1zZXR0aW5nLXNoYXJlIiwicGFnZXMtZnVuZC10cmFuc2Zlcl9oaXN0b3J5IjoicGFnZXMtZnVuZC10cmFuc2Zlcl9oaXN0b3J5IiwicGFnZXMtaWVvLWllb35wYWdlcy1pbmRleC1pbmRleH5wYWdlcy1pbnZlc3QtaW52ZXN0IjoicGFnZXMtaWVvLWllb35wYWdlcy1pbmRleC1pbmRleH5wYWdlcy1pbnZlc3QtaW52ZXN0IiwicGFnZXMtaWVvLWllbyI6InBhZ2VzLWllby1pZW8iLCJwYWdlcy1pbnZlc3QtaW52ZXN0IjoicGFnZXMtaW52ZXN0LWludmVzdCIsInBhZ2VzLWllby1vcmRlciI6InBhZ2VzLWllby1vcmRlciIsInBhZ2VzLWludmVzdC1oZWxwIjoicGFnZXMtaW52ZXN0LWhlbHAiLCJwYWdlcy1rZWZ1LWluZGV4IjoicGFnZXMta2VmdS1pbmRleCIsInBhZ2VzLWxvY2ttaW5nLWJ1eSI6InBhZ2VzLWxvY2ttaW5nLWJ1eSIsInBhZ2VzLWxvY2ttaW5nLWxvY2ttaW5nIjoicGFnZXMtbG9ja21pbmctbG9ja21pbmciLCJwYWdlcy1sb2NrbWluZy13ZWxjb21lIjoicGFnZXMtbG9ja21pbmctd2VsY29tZSIsInBhZ2VzLXNldHRpbmctYmFuayI6InBhZ2VzLXNldHRpbmctYmFuayIsInBhZ2VzLXNldHRpbmctYmFua19pbnRlcm5hdGlvbmFsIjoicGFnZXMtc2V0dGluZy1iYW5rX2ludGVybmF0aW9uYWwiLCJwYWdlcy1zZXR0aW5nLWJpbGwiOiJwYWdlcy1zZXR0aW5nLWJpbGwiLCJwYWdlcy1zZXR0aW5nLWNvdXBvbiI6InBhZ2VzLXNldHRpbmctY291cG9uIiwicGFnZXMtc2V0dGluZy1leGNoYW5nZSI6InBhZ2VzLXNldHRpbmctZXhjaGFuZ2UiLCJwYWdlcy1zZXR0aW5nLW9wZXJhdGlvbmFsX2NvbXBsaWFuY2UiOiJwYWdlcy1zZXR0aW5nLW9wZXJhdGlvbmFsX2NvbXBsaWFuY2UiLCJwYWdlcy1zZXR0aW5nLXBheVBhc3N3b3JkIjoicGFnZXMtc2V0dGluZy1wYXlQYXNzd29yZCIsInBhZ2VzLXNldHRpbmctcmVhbCI6InBhZ2VzLXNldHRpbmctcmVhbCIsInBhZ2VzLXNldHRpbmctdGVhbSI6InBhZ2VzLXNldHRpbmctdGVhbSIsInBhZ2VzLW1hcmtldC1zZWFyY2giOiJwYWdlcy1tYXJrZXQtc2VhcmNoIiwicGFnZXMtY29tbW9uLWxvZ2luIjoicGFnZXMtY29tbW9uLWxvZ2luIiwicGFnZXMtY29tbW9uLXJlZ2lzdGVyIjoicGFnZXMtY29tbW9uLXJlZ2lzdGVyIiwicGFnZXMtdHJhbnNhY3Rpb24taW5kZXgyIjoicGFnZXMtdHJhbnNhY3Rpb24taW5kZXgyIiwicGFnZXMtaW5kZXgtaW5kZXh+cGFnZXMtdHJhbnNhY3Rpb24taW5kZXgiOiJwYWdlcy1pbmRleC1pbmRleH5wYWdlcy10cmFuc2FjdGlvbi1pbmRleCIsInBhZ2VzLXRyYW5zYWN0aW9uLWluZGV4IjoicGFnZXMtdHJhbnNhY3Rpb24taW5kZXgiLCJwYWdlcy1vdGMtb3RjIjoicGFnZXMtb3RjLW90YyIsInBhZ2VzLW5mdC1teU5mdCI6InBhZ2VzLW5mdC1teU5mdCIsInBhZ2VzLWluZGV4LWluZGV4IjoicGFnZXMtaW5kZXgtaW5kZXgiLCJwYWdlcy1uZnQtcmVzZWxsIjoicGFnZXMtbmZ0LXJlc2VsbCIsInBhZ2VzLWZ1bmQtYXNzZXRzIjoicGFnZXMtZnVuZC1hc3NldHMiLCJwYWdlcy1tYXJrZXQtbWFya2V0IjoicGFnZXMtbWFya2V0LW1hcmtldCIsInBhZ2VzLWZpbmFuY2lhbC1pbmRleCI6InBhZ2VzLWZpbmFuY2lhbC1pbmRleCIsInBhZ2VzLW5mdC1hcnRpc3REZXRhaWwiOiJwYWdlcy1uZnQtYXJ0aXN0RGV0YWlsIiwicGFnZXMtbmZ0LWFydHdvcmtEZXRhaWwiOiJwYWdlcy1uZnQtYXJ0d29ya0RldGFpbCIsInBhZ2VzLW5mdC1hcnR3b3JrRGV0YWlsX3ZpZGVvIjoicGFnZXMtbmZ0LWFydHdvcmtEZXRhaWxfdmlkZW8iLCJwYWdlcy1uZnQtY29tcG9uZW50cy1hcnRpc3QiOiJwYWdlcy1uZnQtY29tcG9uZW50cy1hcnRpc3QiLCJwYWdlcy1uZnQtY29tcG9uZW50cy1hcnR3b3JrfnBhZ2VzLW5mdC1jb21wb25lbnRzLWNvbGxlY3Rpb25+cGFnZXMtbmZ0LWNvbXBvbmVudHMtc2VhcmNofnBhZ2VzLW5mdC1uZnQiOiJwYWdlcy1uZnQtY29tcG9uZW50cy1hcnR3b3JrfnBhZ2VzLW5mdC1jb21wb25lbnRzLWNvbGxlY3Rpb25+cGFnZXMtbmZ0LWNvbXBvbmVudHMtc2VhcmNofnBhZ2VzLW5mdC1uZnQiLCJwYWdlcy1uZnQtY29tcG9uZW50cy1hcnR3b3JrIjoicGFnZXMtbmZ0LWNvbXBvbmVudHMtYXJ0d29yayIsInBhZ2VzLW5mdC1jb21wb25lbnRzLWNvbGxlY3Rpb24iOiJwYWdlcy1uZnQtY29tcG9uZW50cy1jb2xsZWN0aW9uIiwicGFnZXMtbmZ0LWNvbXBvbmVudHMtc2VhcmNoIjoicGFnZXMtbmZ0LWNvbXBvbmVudHMtc2VhcmNoIiwicGFnZXMtbmZ0LW5mdCI6InBhZ2VzLW5mdC1uZnQiLCJwYWdlcy1uZnQtbWluZSI6InBhZ2VzLW5mdC1taW5lIiwicGFnZXMtbmZ0LXB1cmNoYXNlIjoicGFnZXMtbmZ0LXB1cmNoYXNlIiwicGFnZXMtbmZ0LXB1cmNoYXNlX29uZSI6InBhZ2VzLW5mdC1wdXJjaGFzZV9vbmUiLCJwYWdlcy1jb21tb24td2ViVmlldyI6InBhZ2VzLWNvbW1vbi13ZWJWaWV3IiwicGFnZXMtY29weXRyYWRlLXRyYWRlciI6InBhZ2VzLWNvcHl0cmFkZS10cmFkZXIiLCJwYWdlcy1nYW1lLWdhbWUiOiJwYWdlcy1nYW1lLWdhbWUiLCJwYWdlcy1zZXR0aW5nLWFyZWFzIjoicGFnZXMtc2V0dGluZy1hcmVhcyJ9W2VdfHxlKSsiLiIreyJwYWdlcy1jb21tb24tYWJvdXR1c35wYWdlcy1jb21tb24tYXJlYX5wYWdlcy1jb21tb24tYXJ0aWNsZX5wYWdlcy1jb21tb24tYm9ycm93aW5nfnBhZ2VzLWNvbW1vbi1jb250fmUyNmM0M2Y1IjoiNzFkNGIzNjUiLCJwYWdlcy1jb21tb24tYWJvdXR1c35wYWdlcy1jb21tb24tYXJlYX5wYWdlcy1jb21tb24tYXJ0aWNsZX5wYWdlcy1jb21tb24tYm9ycm93aW5nfnBhZ2VzLWNvbW1vbi1jb250fjQ2NmQxMDJlIjoiZGM4MTkzYjkiLCJwYWdlcy1jb21tb24tYWJvdXR1cyI6IjgxODllZDlkIiwicGFnZXMtY29tbW9uLWFyZWF+cGFnZXMtZnVuZC1zZWxlY3R+cGFnZXMtbWFya2V0LXNlYXJjaCI6IjczM2NlZmQwIiwicGFnZXMtY29tbW9uLWFyZWEiOiI2NjFhODllYSIsInBhZ2VzLWZ1bmQtc2VsZWN0IjoiYzRhODFhYzQiLCJwYWdlcy1jb21tb24tYXJ0aWNsZSI6IjIzNzliNWE3IiwicGFnZXMtY29tbW9uLWJvcnJvd2luZyI6ImM1ODNkOTI2IiwicGFnZXMtY29tbW9uLWNvbnRhY3R1cyI6ImYwMGVjYTJlIiwicGFnZXMtY29tbW9uLWZhcSI6IjRkOTU5M2JhIiwicGFnZXMtY29tbW9uLWxvZ2lufnBhZ2VzLWNvbW1vbi1yZWdpc3Rlcn5wYWdlcy1jb3B5dHJhZGUtY29weX5wYWdlcy1mb2xsb3ctaW5kZXh+cGFnZXMtZnVuZC1mdW5kVHJhbn5hZThkMmU2YyI6ImRhZTJhNDBlIiwicGFnZXMtY29tbW9uLWxvZ2lufnBhZ2VzLWNvbW1vbi1yZWdpc3Rlcn5wYWdlcy1mdW5kLWFzc2V0c35wYWdlcy1mdW5kLWFzc2V0c19yZWNvcmR+cGFnZXMtZnVuZC1mdW5kVH44NTI3NzY1NiI6Ijk1MGFjMDJhIiwicGFnZXMtZnVuZC1mdW5kVHJhbnNmZXIiOiJmMmE4ODM1ZiIsInBhZ2VzLXRyYW5zYWN0aW9uLWNvbnRyYWN0X29yZGVyIjoiYTAzYTdjZDgiLCJwYWdlcy1jb3B5dHJhZGUtY29weX5wYWdlcy1pbnZlc3QtcHVyY2hhc2V+cGFnZXMtb3RjLW90Y35wYWdlcy10cmFuc2FjdGlvbi1jb250cmFjdH5wYWdlcy10cmFuc2FjdGlvfmU3N2E0ZWM3IjoiYjZiNTcyNTEiLCJwYWdlcy1jb3B5dHJhZGUtY29weSI6ImI2MmUxMjE1IiwicGFnZXMtdHJhbnNhY3Rpb24tY29udHJhY3QiOiI1YjE0ZGEzNSIsInBhZ2VzLXRyYW5zYWN0aW9uLWN1cnJlbmN5IjoiYzMzMmZiNWYiLCJwYWdlcy1mb2xsb3ctaW5kZXh+cGFnZXMtZm9sbG93LXRyYWRlcn5wYWdlcy1uZnQtYXJ0aXN0RGV0YWlsfnBhZ2VzLW5mdC1hcnR3b3JrRGV0YWlsfnBhZ2VzLW5mdC1hcnR3fjU4ZjYwYmY5IjoiOGIyOWNhNmUiLCJwYWdlcy1mb2xsb3ctaW5kZXgiOiI5M2U0ZGIzYyIsInBhZ2VzLWZ1bmQtcmVjZWl2ZX5wYWdlcy1zZXR0aW5nLXNoYXJlIjoiYWI5OTM1NDEiLCJwYWdlcy1mdW5kLXJlY2VpdmUiOiJkZDNmYjdiYiIsInBhZ2VzLWZ1bmQtd2l0aGRyYXd+cGFnZXMtaWVvLXN1YnNjcmliZX5wYWdlcy1pbnZlc3QtbWluZX5wYWdlcy1zZXR0aW5nLWFkZFdhbGxldCI6ImU3ZmZjNGI1IiwicGFnZXMtZnVuZC13aXRoZHJhdyI6ImM2MDE1MDg4IiwicGFnZXMtaWVvLXN1YnNjcmliZSI6IjFlYTdjZWNmIiwicGFnZXMtaW52ZXN0LW1pbmUiOiJmZjQwZTE0YSIsInBhZ2VzLXNldHRpbmctYWRkV2FsbGV0IjoiNmFlMDlmMTciLCJwYWdlcy1uZnQtcmVzZWxsfnBhZ2VzLXNldHRpbmctcmV3YXJkUmVjb3JkIjoiMzMwZTU5ZWIiLCJwYWdlcy1zZXR0aW5nLXJld2FyZFJlY29yZCI6IjAxMzNkZWFhIiwicGFnZXMtc2V0dGluZy1yZWFsfnBhZ2VzLXNldHRpbmctc2V0dGluZyI6IjYxNzA3NmMzIiwicGFnZXMtc2V0dGluZy1zZXR0aW5nIjoiNTNkNTExNGEiLCJwYWdlcy1zZXR0aW5nLXNlY3VyaXR5IjoiY2NiMGE1ZjgiLCJwYWdlcy1zZXR0aW5nLXVzZXJJbmZvIjoiM2MyMjM2ODgiLCJwYWdlcy1mdW5kLWFzc2V0c19yZWNvcmQiOiJiZDE0M2E2NSIsInBhZ2VzLWZ1bmQtdHJhbnNmZXIiOiJiODg1ZTU5OSIsInBhZ2VzLXNldHRpbmctcGFzc3dvcmQiOiJlMTE4YjFlMSIsInBhZ2VzLXRyYW5zYWN0aW9uLWN1cnJlbmN5X29yZGVyIjoiZWQwNmVmMWUiLCJwYWdlcy10cmFuc2FjdGlvbi1zZWNvbmRzX29yZGVyIjoiYTFhNTNjOTQiLCJwYWdlcy1pbnZlc3QtcHVyY2hhc2UiOiIxNmE4MmI4ZSIsInBhZ2VzLWNvcHl0cmFkZS1teSI6Ijc1ZjU2ODg2IiwicGFnZXMtZm9sbG93LWFncmVlbWVudF9lbiI6ImUwODI5NzA0IiwicGFnZXMtZm9sbG93LWFncmVlbWVudF96aCI6IjUxOGUxY2E3IiwicGFnZXMtZm9sbG93LWZvbGxvd35wYWdlcy1sb2NrbWluZy1vcmRlcn5wYWdlcy1zZXR0aW5nLXdhbGxldCI6IjMyODZkNTdkIiwicGFnZXMtZm9sbG93LWZvbGxvdyI6Ijc2MTljOGRiIiwicGFnZXMtbG9ja21pbmctb3JkZXIiOiI0OTdmOTVmMyIsInBhZ2VzLXNldHRpbmctd2FsbGV0IjoiMjg4NDMxYTkiLCJwYWdlcy1mb2xsb3ctdHJhZGVyIjoiM2NiYTA5Y2IiLCJwYWdlcy1mdW5kLWFzc2V0c19hbGxfcmVjb3JkIjoiZDUxMmRjZWUiLCJwYWdlcy1mdW5kLXJlY2VpdmVfd2l0aGRyYXdfcmVjb3JkIjoiODk0ZTFjNjIiLCJwYWdlcy1zZXR0aW5nLXNoYXJlIjoiMDA3ODE4ZjMiLCJwYWdlcy1mdW5kLXRyYW5zZmVyX2hpc3RvcnkiOiIzZWVlYjUwYSIsInBhZ2VzLWllby1pZW9+cGFnZXMtaW5kZXgtaW5kZXh+cGFnZXMtaW52ZXN0LWludmVzdCI6IjQ5MTY5YjMxIiwicGFnZXMtaWVvLWllbyI6IjdlZDQxZjY3IiwicGFnZXMtaW52ZXN0LWludmVzdCI6ImViYjliOTQ3IiwicGFnZXMtaWVvLW9yZGVyIjoiZWU2N2U2MzAiLCJwYWdlcy1pbnZlc3QtaGVscCI6IjNmNTQzZTM4IiwicGFnZXMta2VmdS1pbmRleCI6IjM3MTRhNDFiIiwicGFnZXMtbG9ja21pbmctYnV5IjoiYzdlMDIyN2YiLCJwYWdlcy1sb2NrbWluZy1sb2NrbWluZyI6ImFkOGNlYjdhIiwicGFnZXMtbG9ja21pbmctd2VsY29tZSI6IjRjMWI2ZGRiIiwicGFnZXMtc2V0dGluZy1iYW5rIjoiMzU5Y2ZjZjciLCJwYWdlcy1zZXR0aW5nLWJhbmtfaW50ZXJuYXRpb25hbCI6ImRiNWNlZGM5IiwicGFnZXMtc2V0dGluZy1iaWxsIjoiM2Y2YmFkNWYiLCJwYWdlcy1zZXR0aW5nLWNvdXBvbiI6IjdmMzMwMzNlIiwicGFnZXMtc2V0dGluZy1leGNoYW5nZSI6Ijk0OGIwM2I4IiwicGFnZXMtc2V0dGluZy1vcGVyYXRpb25hbF9jb21wbGlhbmNlIjoiNDQzNzQ1NjciLCJwYWdlcy1zZXR0aW5nLXBheVBhc3N3b3JkIjoiZGE4NTgyZWYiLCJwYWdlcy1zZXR0aW5nLXJlYWwiOiJiNTM1Nzc3OSIsInBhZ2VzLXNldHRpbmctdGVhbSI6ImNlOTRlOGE0IiwicGFnZXMtbWFya2V0LXNlYXJjaCI6IjM2YTVjNTg0IiwicGFnZXMtY29tbW9uLWxvZ2luIjoiNzBlMTIzZjYiLCJwYWdlcy1jb21tb24tcmVnaXN0ZXIiOiIwNjk1MWEyZiIsInBhZ2VzLXRyYW5zYWN0aW9uLWluZGV4MiI6IjFhNGUyMTEyIiwicGFnZXMtaW5kZXgtaW5kZXh+cGFnZXMtdHJhbnNhY3Rpb24taW5kZXgiOiJiOTljMTc2MiIsInBhZ2VzLXRyYW5zYWN0aW9uLWluZGV4IjoiZGJmZTkwMDMiLCJwYWdlcy1vdGMtb3RjIjoiZWY5ZTM4ZWUiLCJwYWdlcy1uZnQtbXlOZnQiOiI1ZDcyZDhlOSIsInBhZ2VzLWluZGV4LWluZGV4IjoiMDJlZTFhMjIiLCJwYWdlcy1uZnQtcmVzZWxsIjoiMTc5YWU1N2QiLCJwYWdlcy1mdW5kLWFzc2V0cyI6IjM0ZWM4ZjRiIiwicGFnZXMtbWFya2V0LW1hcmtldCI6IjE4ZmYwMDcxIiwicGFnZXMtZmluYW5jaWFsLWluZGV4IjoiOTQwOTU1YzIiLCJwYWdlcy1uZnQtYXJ0aXN0RGV0YWlsIjoiYjZhMTdhZTQiLCJwYWdlcy1uZnQtYXJ0d29ya0RldGFpbCI6IjQ2ZGNmNjEyIiwicGFnZXMtbmZ0LWFydHdvcmtEZXRhaWxfdmlkZW8iOiJhMjc1MjgzOCIsInBhZ2VzLW5mdC1jb21wb25lbnRzLWFydGlzdCI6ImQ5YzdkMTBmIiwicGFnZXMtbmZ0LWNvbXBvbmVudHMtYXJ0d29ya35wYWdlcy1uZnQtY29tcG9uZW50cy1jb2xsZWN0aW9ufnBhZ2VzLW5mdC1jb21wb25lbnRzLXNlYXJjaH5wYWdlcy1uZnQtbmZ0IjoiMWFmM2NmYTAiLCJwYWdlcy1uZnQtY29tcG9uZW50cy1hcnR3b3JrIjoiMWRkN2ZiZTAiLCJwYWdlcy1uZnQtY29tcG9uZW50cy1jb2xsZWN0aW9uIjoiYzZlMWQwNTMiLCJwYWdlcy1uZnQtY29tcG9uZW50cy1zZWFyY2giOiIwYTQxNThiZCIsInBhZ2VzLW5mdC1uZnQiOiI2MDEwZGMwNSIsInBhZ2VzLW5mdC1taW5lIjoiOGFjMDI1ZGUiLCJwYWdlcy1uZnQtcHVyY2hhc2UiOiJhZWNkZGU5MCIsInBhZ2VzLW5mdC1wdXJjaGFzZV9vbmUiOiJiZmQ2Yjk0MiIsInBhZ2VzLWNvbW1vbi13ZWJWaWV3IjoiMTViY2FhN2IiLCJwYWdlcy1jb3B5dHJhZGUtdHJhZGVyIjoiZDU3OGY1YjYiLCJwYWdlcy1nYW1lLWdhbWUiOiI2N2ZmMmViNCIsInBhZ2VzLXNldHRpbmctYXJlYXMiOiI4ZGQ3ZjAyOCJ9W2VdKyIuanMifShlKTt2YXIgYz1uZXcgRXJyb3I7cj1mdW5jdGlvbih0KXtzLm9uZXJyb3I9cy5vbmxvYWQ9bnVsbCxjbGVhclRpbWVvdXQobCk7dmFyIG49b1tlXTtpZigwIT09bil7aWYobil7dmFyIGE9dCYmKCJsb2FkIj09PXQudHlwZT8ibWlzc2luZyI6dC50eXBlKSxyPXQmJnQudGFyZ2V0JiZ0LnRhcmdldC5zcmM7Yy5tZXNzYWdlPSJMb2FkaW5nIGNodW5rICIrZSsiIGZhaWxlZC5cbigiK2ErIjogIityKyIpIixjLm5hbWU9IkNodW5rTG9hZEVycm9yIixjLnR5cGU9YSxjLnJlcXVlc3Q9cixuWzFdKGMpfW9bZV09dm9pZCAwfX07dmFyIGw9c2V0VGltZW91dCgoZnVuY3Rpb24oKXtyKHt0eXBlOiJ0aW1lb3V0Iix0YXJnZXQ6c30pfSksMTJlNCk7cy5vbmVycm9yPXMub25sb2FkPXIsZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChzKX1yZXR1cm4gUHJvbWlzZS5hbGwodCl9LGkubT1lLGkuYz1hLGkuZD1mdW5jdGlvbihlLHQsbil7aS5vKGUsdCl8fE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHQse2VudW1lcmFibGU6ITAsZ2V0Om59KX0saS5yPWZ1bmN0aW9uKGUpeyJ1bmRlZmluZWQiIT09dHlwZW9mIFN5bWJvbCYmU3ltYm9sLnRvU3RyaW5nVGFnJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxTeW1ib2wudG9TdHJpbmdUYWcse3ZhbHVlOiJNb2R1bGUifSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pfSxpLnQ9ZnVuY3Rpb24oZSx0KXtpZigxJnQmJihlPWkoZSkpLDgmdClyZXR1cm4gZTtpZig0JnQmJiJvYmplY3QiPT09dHlwZW9mIGUmJmUmJmUuX19lc01vZHVsZSlyZXR1cm4gZTt2YXIgbj1PYmplY3QuY3JlYXRlKG51bGwpO2lmKGkucihuKSxPYmplY3QuZGVmaW5lUHJvcGVydHkobiwiZGVmYXVsdCIse2VudW1lcmFibGU6ITAsdmFsdWU6ZX0pLDImdCYmInN0cmluZyIhPXR5cGVvZiBlKWZvcih2YXIgYSBpbiBlKWkuZChuLGEsZnVuY3Rpb24odCl7cmV0dXJuIGVbdF19LmJpbmQobnVsbCxhKSk7cmV0dXJuIG59LGkubj1mdW5jdGlvbihlKXt2YXIgdD1lJiZlLl9fZXNNb2R1bGU/ZnVuY3Rpb24oKXtyZXR1cm4gZVsiZGVmYXVsdCJdfTpmdW5jdGlvbigpe3JldHVybiBlfTtyZXR1cm4gaS5kKHQsImEiLHQpLHR9LGkubz1mdW5jdGlvbihlLHQpe3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSx0KX0saS5wPSIvIixpLm9lPWZ1bmN0aW9uKGUpe3Rocm93IGNvbnNvbGUuZXJyb3IoZSksZX07dmFyIHM9d2luZG93WyJ3ZWJwYWNrSnNvbnAiXT13aW5kb3dbIndlYnBhY2tKc29ucCJdfHxbXSxjPXMucHVzaC5iaW5kKHMpO3MucHVzaD10LHM9cy5zbGljZSgpO2Zvcih2YXIgbD0wO2w8cy5sZW5ndGg7bCsrKXQoc1tsXSk7dmFyIHU9YztyLnB1c2goWzAsImNodW5rLXZlbmRvcnMiXSksbigpfSkoezA6ZnVuY3Rpb24oZSx0LG4pe2UuZXhwb3J0cz1uKCJiMGMzIil9LCIwNzM1IjpmdW5jdGlvbihlLHQpe2UuZXhwb3J0cz0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFFQUFBQUJBQ0FZQUFBQ3FhWEhlQUFBQUFYTlNSMElBcnM0YzZRQUFDakZKUkVGVWVGN1ZXd2xVVkVjV3ZlK0RDekZtWEVhTkdoTTN4ZzNFYll3WVZGd1N1a0ZHeFMwTU9pR1pHSWtpRGQzZ2pKUGxNT2JFT0VJM05MaE1OQnFqNERZWXg2amRLTWJkd1MxdW9NWjlYK0srSkM0SVhYT3FEU2pRVGYvZlhkODVVK2R3RHRDMzdudDEvK3Y2VmU5VkVWUnV3Y25KM2pYdjFlbEJKSFVDV0hzd2FnbmdGUUFOR0ZoZFl2QUcwU01RdXdxR253Q2NCZWdZUTBtaHR5VHRXWjJpTzY2bWk2UUdlVWlDcWJVa1NZTUlwR0ZBWHdCZTd0dGg1d0ZhVDR5dHNaamlsN3ZQNDdpblVBRzBob3dvQW90bXdBRFJqajdob3pzTUxJc1l6YldhNHZhSnNDRkVBSzArNDBNUVN3RGdLOElwV1J5RTViQlJxdFVVdDBNVzNnbklJd0cwaVJuaFlHd3lnRTZlT09GUlg4Ym00TEgwa1RVejdwbzdQRzRKRUp6OGRVMmZ1M2N5UURUR0hhT2krekRnQmpHbXQ1cmlGeWpsVml5QXhwQWVSRVN6d2RCT3FURkgrTmF2Tk1TSkMxZEZVQUdFV2RaVTNUZ2xaSW9FMEJqTTd4QXdYNG1CcXJBdG16VEFpejQxY1BEa0JWR1VmS0xjVk94RlVYblRKbHlTUXlwYkFLM2VuQWhDaWh4U3VaallvZjJ3WmY4eDNMdi9FS2N2WDVmYlRRN3VxTTFXTW5SdG12NlFLN0FzQVVJVHpaTVl3eFJYWkVvK2I5YW9Ic1pIQkdQUnVsM29GZUNMR2Q5dVZOSmRCcGJPazQzQ0xHa1RDcW9DdXhSQXE4K0lCN0UwR1JZVlFXSUc5MEh6eHZYdEFud1JFNEdZbElVNGYvV1dJZzZYWU1aT3NlcXNmKzdVaERQT3NGVUtvREdrUlJLa1JTNE5LUVEwK1cwZC9ETnBGQTZmdVdRWFlPcUhFVmk1ZFQrK1hMbEZJWk1zK000SHRXOEZiVXBPTG5hRWRpcEFtTUhjMVFid1JZYTNMRE1LUU8rSEJ5R2lUeGY3NUZjcXdPUGlFc1NrWk9IeWpUc0ttR1JEczYxRzNTaEZBb1FhekhzWTBGVzJDWm5BaG5WcjI1OSt6ZXJWeWduQXV5L2Z0QmR6VjIrVHlhUVF4aWpCYW9wTHI5akxZUVNFR3N3bUJ2Q2xyZkQyampZUUkvdi8zczc3YkFUd3Z4ODhLa0pNU2phdTNiNG4zQzRubEFqK2ExSjFoYytTVnhJZ1JHL3VLeEUycU9GQi9aZHFZVmJTS1B1NzM1RUEvSC9MTnV6QmZNdC8xRERQT1ZkYmpicndLZ1VJVFRSdllReTkxUEFnNnEzWHdYOUtXOFVJNFArL2UvOGh4cVZtNCtiZFg5UndBVGJDeUxXcHVtV2w1T1VpZ0c5bkFaYWxodVhmdk9pRG1ZWW8xSzM5UXBVQzhBOFg1ZTFDMWxxUE5ubk9oOERZWHFzcHZteHVLeTlBWXNadU1OWk5EUUZHOU91RzZOQ2U1YWdkUlFBSDhLZlBvNEJIZ3hxTkNDTXR2MFpCbVFBaGlXbGhFcE5XcTJHd2xrOE56RFQ4RVEzcTFKWWxBQWN0ek0zSDR2VzcxWENIYzM1dk5lcnNTWnN5QVRUNjlHVkVORndOaS95ZHo5LzlGWnV6Q09DNHE3ZnVZWnd4Ry9jZkZxbmhFc2hXMHRHU3BpK3dDeEFjbjFiSHgwc1N2QTU5NGpkLzMwL1hSNEt2L3BRSXdMSHoxbXhIenNZZlZCRUFoTStzcWJwUDdRS0VHc3lqR2FBNG1TREhzMEZCQVJnN3VJOURhRlVSd0R0Y3VuNGI0NHlMVVBUWTRTcFdqbm1uR0FZY3lEWHFPdGtGMEJqTUN3Z1k3UkdqZzg3ZVhsNzJwLzlxbzNwdUNjQTd6Zmx1SzFac0VaTC9yT1FESzdHMXNBdWdOWmo1YnVrMTBRS0U5ZlRIK0FpZUZYZmNYRVVBNzNYMnlnM0VtaGFqeEdZVDdSNmZBUDlFQXhObU5TMlJpa1NtWk95T0VnRVo4WkZvMWJTQlJ3THd6ck5XYk1hcTdRZUVDd0JHMDBsanlBd2gySEpGczRlODNnRzY0ZjJycEpVVEFaemc1TVZybUpDMldMU0xJSWF0cEUxTWp3V2pUTkhzYVhFajBPYlZsNFVJd0VreWN6YkF1cVBjUHNaemx4bXVrZFpnL2dlQWlaNnpQV1VZMEswZDlHKy82WkpTYmdSd29xUG5yaUFobzJ3Sjc1SmJMb0FMTUEvQXUzSTd5TUZOR3o4TWZpMmF1SVFxRVlDVHBTM05ROTd1SXk1NWxRQklZMGhmVHFBSUpaMnF3Z1ozYm9PSlVTR3k2SlFLVUhqNkVpYk95SkhGTFJmRUkyQVZnSUZ5TzdqQzhRUm5RR3RlL1hiZGxBckFHYWRscjhXbWZVZGRrOHRFQ0JXQXA3Y25qZGJLTkYwNUl5U240LzdqNS9HM0wxZklnY3JDa0RiUm5BT0dvYkxRTGtDZmpSbUVybTNrcjZmY2lRRHV3cFFGRm13N2VFS0V5eEEyQ1FiNnRjSW4wV0dLbkhKWGdCOStQSXRQdmxxcHlKWXpzTERYWVBKNzRlamV2b1VpcDl3VmdCdVovUFZxN0RoMFNwRTlSMkFoQ3lFKzhCclZ2QkVhNkM5N0F1VE91Q01Benc5WThndXdKcjhBUDkyODY3a0FvcGJDdk5CWmVPb2lhbFQzUmxpZ1AzaloyMVZUS29BbHZ4QXJ0KzFIN3dCZjVCZWV4S2xMSGhkVWp3dmRES1hyUnVKaDBXUDdCTVVqUXR2RHoyRWlwRlFZdVFMd0NuTE94cjBJOUdzSnZzZjR4cHFQdk4ySFhlbnI4bk1HOXEzUTdYQ3poblV4TXpFS1hwSmtmenJiRHg2SEpFa0lmNk1qWHFybFU4a2hWd0x3eVc3eCtsM28xclk1UWdQOTdCeDhWOGgzaHlJYUE1c2tQQ0VTM1BsM21CaWxLZk9QWjNWMkhqcU5ZcHNOUTNwM2hyZVhWUGFaTXdHT25MMk1yTndkQ1BCdGhzRzlPNk82OTVOVGRrZk9YSVpoK3I5RWpQMEpoeVFGcVpJU2UyOWdFSVlGZHlubktFOXk4a1hNZzZMSDRHa3lSNU1nVDM3dzhHNzcyc3ZnYWZSbjI2UEh4Umh2WEdSUGt3bHExNjFHWFFQVmtxSlR4ZzVCSjk5bWxYemxPZitDVXhmdGRVQ2VLT1hWNGZnUi9USGZtbzkyelJ1WGlWT3g0OVNzWFB0cEVsR05HT1phVExyM242YkZEZWFsQkl3UVpZQlhnVE1USWxIN2hab09LWG5SbytERUJYeTMvUUQ2ZFcyTGtPNGRuSnJtbVdHZUlSYmFKQXF4cHNTdGV5cEFram1VYkZnajBraVBEaTN4NmJ2TzkxbXVKa0h1eTc1ajUvRFI3SCtMZEl0ekZWcU5Pbi8raStxbHNjZzN1Mk4wU0ErSEEzQWx3TzE3OXpFaGZRbHUzUGxacUFERUVHc3g2V1pVRmtDbDR1akgwV0hvNmRlcTBpQmNDZkQzZWF1dzgvQnBzWU1IbmJZWTQvaUpkWHVyZEQ1QW96ZHZJUkpiSHVlVjRmUzRrV2hVNzZWeWc2bEtnT3gxTzhGL2hEZGlIMWhUNCtjNEZ5QXhNNWlZVGZTWk5YVDJiWWJQeHc2UkpjRDJncFA0L0J1aDAxSHA4OTVrTmNhVksxUTgxeU15UTRPNzRNOERueFpKSFVVQWY4L0htNWZpNXdlUGhEOThCdFk5MXhoZnJ1VHM5SlNZeG1EZVF5b2Nra3FNZk12KzJ1UE5rUUE4MjhNWFRDcTB2MWlOdW1rVmVaMEtFSkkwdll0a0srSEhOS3FKZE1hblJqVVlZMGZZRDBsV0ZHRE9xcTFZc1ZtVk91QVNxMUVYNldnY1ZSK1VURFMvVFF6Q1N6THRtemRHYXV6d2NnS3MzM01FcGlWNUlyVXVuZVYzc1NMcWJjMk1jL2lkY25sVU50UmcxakdnMHZrNlR6MGQyTE1qZ2dKYTI1ZkNZLzdRQy9yTVplQ0hKUVczazZ5YWJZRGJSMlZMbmRFWTB2OUtvQzhFTzRjSncvcGg4NzVqS0NvdXhvOW5yNGlsSjV5VGdMQ0s1d0psendFVmdWcER1Z0dnVkpGZUVoSDhXellWZkYvQTd1RlJnQ0tzeGppWFdST1hYNEZuQnl6NndvUklNVXU1R0xDUmxkaWkxcVluWEpiRHIwZ0FUcWhOU25zREpUUUhSRUt1ek1oeFVqYUdZWmJWcE9LVm1WSkhncU9UYS9yVXIyc0c4SUZzNTlRRlhpZEFiekhxRmlvMW96Z0NualdnVGNnSWgyU2JETkQvN3RvY01CdEY5UEZ6dlRaWFVlVlFnem1HQWZybmVuRVN5Q0ZpcVpiVWVJOTJUQjVGUU9VM1JWb1VneFJOcWwyZFpYY1lLRXVTYkY5WlVoTDJLdzEzeFN0QmR3MW9rekphd1dZYnpFQWFZdWdMY3YveU5CSE9NWWJ2L3k4dVR6c1M3T24xZVhTQ2pkcURLbCtmWjhBdkpPRW1NVnhod0xubmVYMyt2d052V2M2ZjJ1SnJBQUFBQUVsRlRrU3VRbUNDIn0sIjA4MjIiOmZ1bmN0aW9uKGUsdCxuKXsoZnVuY3Rpb24oZSl7dmFyIGEsbyxyLGk9bigiNTAxNCIpLmRlZmF1bHQscz1uKCI4ODNkIikuZGVmYXVsdCxjPW4oIjRkYjYiKS5kZWZhdWx0LGw9bigiM2E3ZSIpLmRlZmF1bHQsdT1uKCI1OWE2IikuZGVmYXVsdCxkPW4oImZlYjMiKS5kZWZhdWx0LHA9bigiYmRiYiIpLmRlZmF1bHQ7bigiNmE1NCIpLG4oIjAxYTIiKSxuKCJlMzljIiksbigiYmYwZiIpLG4oIjRlOWIiKSxuKCIxMTRlIiksbigiYzI0MCIpLG4oImFhOWMiKSxuKCJkZDJiIiksbigiZjdhNSIpLG4oIjgwZTMiKSxuKCI0ZGIyIiksbigiNWM0NyIpLG4oIjA1MDYiKSxuKCJjOTc2IiksbigiNGQ4ZiIpLG4oIjdiOTciKSxuKCI2NjhhIiksbigiYzViNyIpLG4oIjhmZjUiKSxuKCIyMzc4IiksbigiNjQxYSIpLG4oIjY0ZTAiKSxuKCJjY2UzIiksbigiZWZiYSIpLG4oImQwMDkiKSxuKCJiZDdkIiksbigiN2VkZCIpLG4oImQ3OTgiKSxuKCJmNTQ3IiksbigiNWU1NCIpLG4oImI2MGEiKSxuKCI4YzE4IiksbigiMTI5NzMiKSxuKCJmOTkxIiksbigiMTk4ZSIpLG4oIjg1NTciKSxuKCI2M2IxIiksbigiMTk1NCIpLG4oIjFjZjEiKSxuKCJjOWI1IiksbigiZDVjNiIpLG4oIjVhNTYiKSxuKCJmMDc0IiksbigiNjRhYSIpLG4oIjQ3M2YiKSxuKCJhYjgwIiksbigiMjc5NyIpLG4oImU5NjYiKSxuKCJkNGI1IiksbigiM2VmZCIpLG4oIjdhNzYiKSxuKCJjNzUzIiksbigiMWE4YSIpLG4oIjRlYTQiKSxuKCIxODUxIiksbigiYzIyMyIpLG4oIjJjMTAiKSxuKCI0NjI2IiksbigiNWFjNyIpLG4oIjVlZjIiKSxuKCIyMGYzIiksbigiOTM3MCIpLG4oIjY3MzAiKSxuKCJhMWMxIiksbigiMGMyNiIpLG4oImY1NTUiKSxuKCJkYzhhIiksbigiZmQzYyIpLG4oIjc5OTYiKSxuKCJhYjdmIiksbigiMDhkNyIpLG4oIjdmNDgiKSxuKCI5MjZlIiksZnVuY3Rpb24obixpKXsib2JqZWN0Ij09cCh0KSYmIm9iamVjdCI9PXAoZSk/ZS5leHBvcnRzPWkoKToobz1bXSxhPWkscj0iZnVuY3Rpb24iPT09dHlwZW9mIGE/YS5hcHBseSh0LG8pOmEsdm9pZCAwPT09cnx8KGUuZXhwb3J0cz1yKSl9KHdpbmRvdywoZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24oZSl7dmFyIHQ9e307ZnVuY3Rpb24gbihhKXtpZih0W2FdKXJldHVybiB0W2FdLmV4cG9ydHM7dmFyIG89dFthXT17aTphLGw6ITEsZXhwb3J0czp7fX07cmV0dXJuIGVbYV0uY2FsbChvLmV4cG9ydHMsbyxvLmV4cG9ydHMsbiksby5sPSEwLG8uZXhwb3J0c31yZXR1cm4gbi5tPWUsbi5jPXQsbi5kPWZ1bmN0aW9uKGUsdCxhKXtuLm8oZSx0KXx8T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsdCx7ZW51bWVyYWJsZTohMCxnZXQ6YX0pfSxuLnI9ZnVuY3Rpb24oZSl7InVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wmJlN5bWJvbC50b1N0cmluZ1RhZyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsU3ltYm9sLnRvU3RyaW5nVGFnLHt2YWx1ZToiTW9kdWxlIn0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KX0sbi50PWZ1bmN0aW9uKGUsdCl7aWYoMSZ0JiYoZT1uKGUpKSw4JnQpcmV0dXJuIGU7aWYoNCZ0JiYib2JqZWN0Ij09cChlKSYmZSYmZS5fX2VzTW9kdWxlKXJldHVybiBlO3ZhciBhPU9iamVjdC5jcmVhdGUobnVsbCk7aWYobi5yKGEpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLCJkZWZhdWx0Iix7ZW51bWVyYWJsZTohMCx2YWx1ZTplfSksMiZ0JiYic3RyaW5nIiE9dHlwZW9mIGUpZm9yKHZhciBvIGluIGUpbi5kKGEsbyxmdW5jdGlvbih0KXtyZXR1cm4gZVt0XX0uYmluZChudWxsLG8pKTtyZXR1cm4gYX0sbi5uPWZ1bmN0aW9uKGUpe3ZhciB0PWUmJmUuX19lc01vZHVsZT9mdW5jdGlvbigpe3JldHVybiBlLmRlZmF1bHR9OmZ1bmN0aW9uKCl7cmV0dXJuIGV9O3JldHVybiBuLmQodCwiYSIsdCksdH0sbi5vPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLHQpfSxuLnA9IiIsbihuLnM9MjIpfShbZnVuY3Rpb24oZSx0KXtlLmV4cG9ydHM9ZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24oKXt9fX0sZnVuY3Rpb24oZSx0LG4pe2Z1bmN0aW9uIGEoZSl7aWYoZSlyZXR1cm4gZnVuY3Rpb24oZSl7Zm9yKHZhciB0IGluIGEucHJvdG90eXBlKWVbdF09YS5wcm90b3R5cGVbdF07cmV0dXJuIGV9KGUpfWUuZXhwb3J0cz1hLGEucHJvdG90eXBlLm9uPWEucHJvdG90eXBlLmFkZEV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5fY2FsbGJhY2tzPXRoaXMuX2NhbGxiYWNrc3x8e30sKHRoaXMuX2NhbGxiYWNrc1siJCIrZV09dGhpcy5fY2FsbGJhY2tzWyIkIitlXXx8W10pLnB1c2godCksdGhpc30sYS5wcm90b3R5cGUub25jZT1mdW5jdGlvbihlLHQpe2Z1bmN0aW9uIG4oKXt0aGlzLm9mZihlLG4pLHQuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybiBuLmZuPXQsdGhpcy5vbihlLG4pLHRoaXN9LGEucHJvdG90eXBlLm9mZj1hLnByb3RvdHlwZS5yZW1vdmVMaXN0ZW5lcj1hLnByb3RvdHlwZS5yZW1vdmVBbGxMaXN0ZW5lcnM9YS5wcm90b3R5cGUucmVtb3ZlRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihlLHQpe2lmKHRoaXMuX2NhbGxiYWNrcz10aGlzLl9jYWxsYmFja3N8fHt9LDA9PWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIHRoaXMuX2NhbGxiYWNrcz17fSx0aGlzO3ZhciBuLGE9dGhpcy5fY2FsbGJhY2tzWyIkIitlXTtpZighYSlyZXR1cm4gdGhpcztpZigxPT1hcmd1bWVudHMubGVuZ3RoKXJldHVybiBkZWxldGUgdGhpcy5fY2FsbGJhY2tzWyIkIitlXSx0aGlzO2Zvcih2YXIgbz0wO288YS5sZW5ndGg7bysrKWlmKChuPWFbb10pPT09dHx8bi5mbj09PXQpe2Euc3BsaWNlKG8sMSk7YnJlYWt9cmV0dXJuIHRoaXN9LGEucHJvdG90eXBlLmVtaXQ9ZnVuY3Rpb24oZSl7dGhpcy5fY2FsbGJhY2tzPXRoaXMuX2NhbGxiYWNrc3x8e307dmFyIHQ9W10uc2xpY2UuY2FsbChhcmd1bWVudHMsMSksbj10aGlzLl9jYWxsYmFja3NbIiQiK2VdO2lmKG4pZm9yKHZhciBhPTAsbz0obj1uLnNsaWNlKDApKS5sZW5ndGg7YTxvOysrYSluW2FdLmFwcGx5KHRoaXMsdCk7cmV0dXJuIHRoaXN9LGEucHJvdG90eXBlLmxpc3RlbmVycz1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5fY2FsbGJhY2tzPXRoaXMuX2NhbGxiYWNrc3x8e30sdGhpcy5fY2FsbGJhY2tzWyIkIitlXXx8W119LGEucHJvdG90eXBlLmhhc0xpc3RlbmVycz1mdW5jdGlvbihlKXtyZXR1cm4hIXRoaXMubGlzdGVuZXJzKGUpLmxlbmd0aH19LGZ1bmN0aW9uKGUsdCxuKXt2YXIgYSxvPW4oMzMpLHI9bigxNiksaT1uKDM1KSxzPW4oMzYpLGM9bigzNyk7InVuZGVmaW5lZCIhPXR5cGVvZiBBcnJheUJ1ZmZlciYmKGE9bigzOCkpO3ZhciBsPSJ1bmRlZmluZWQiIT10eXBlb2YgbmF2aWdhdG9yJiYvQW5kcm9pZC9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCksdT0idW5kZWZpbmVkIiE9dHlwZW9mIG5hdmlnYXRvciYmL1BoYW50b21KUy9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCksZD1sfHx1O3QucHJvdG9jb2w9Mzt2YXIgcD10LnBhY2tldHM9e29wZW46MCxjbG9zZToxLHBpbmc6Mixwb25nOjMsbWVzc2FnZTo0LHVwZ3JhZGU6NSxub29wOjZ9LG09byhwKSxmPXt0eXBlOiJlcnJvciIsZGF0YToicGFyc2VyIGVycm9yIn0sZz1uKDM5KTtmdW5jdGlvbiBoKGUsdCxuKXtmb3IodmFyIGE9bmV3IEFycmF5KGUubGVuZ3RoKSxvPXMoZS5sZW5ndGgsbikscj1mdW5jdGlvbihlLG4sbyl7dChuLChmdW5jdGlvbih0LG4pe2FbZV09bixvKHQsYSl9KSl9LGk9MDtpPGUubGVuZ3RoO2krKylyKGksZVtpXSxvKX10LmVuY29kZVBhY2tldD1mdW5jdGlvbihlLG4sYSxvKXsiZnVuY3Rpb24iPT10eXBlb2YgbiYmKG89bixuPSExKSwiZnVuY3Rpb24iPT10eXBlb2YgYSYmKG89YSxhPW51bGwpO3ZhciByPXZvaWQgMD09PWUuZGF0YT92b2lkIDA6ZS5kYXRhLmJ1ZmZlcnx8ZS5kYXRhO2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgQXJyYXlCdWZmZXImJnIgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcilyZXR1cm4gZnVuY3Rpb24oZSxuLGEpe2lmKCFuKXJldHVybiB0LmVuY29kZUJhc2U2NFBhY2tldChlLGEpO3ZhciBvPWUuZGF0YSxyPW5ldyBVaW50OEFycmF5KG8pLGk9bmV3IFVpbnQ4QXJyYXkoMStvLmJ5dGVMZW5ndGgpO2lbMF09cFtlLnR5cGVdO2Zvcih2YXIgcz0wO3M8ci5sZW5ndGg7cysrKWlbcysxXT1yW3NdO3JldHVybiBhKGkuYnVmZmVyKX0oZSxuLG8pO2lmKHZvaWQgMCE9PWcmJnIgaW5zdGFuY2VvZiBnKXJldHVybiBmdW5jdGlvbihlLG4sYSl7aWYoIW4pcmV0dXJuIHQuZW5jb2RlQmFzZTY0UGFja2V0KGUsYSk7aWYoZClyZXR1cm4gZnVuY3Rpb24oZSxuLGEpe2lmKCFuKXJldHVybiB0LmVuY29kZUJhc2U2NFBhY2tldChlLGEpO3ZhciBvPW5ldyBGaWxlUmVhZGVyO3JldHVybiBvLm9ubG9hZD1mdW5jdGlvbigpe3QuZW5jb2RlUGFja2V0KHt0eXBlOmUudHlwZSxkYXRhOm8ucmVzdWx0fSxuLCEwLGEpfSxvLnJlYWRBc0FycmF5QnVmZmVyKGUuZGF0YSl9KGUsbixhKTt2YXIgbz1uZXcgVWludDhBcnJheSgxKTtvWzBdPXBbZS50eXBlXTt2YXIgcj1uZXcgZyhbby5idWZmZXIsZS5kYXRhXSk7cmV0dXJuIGEocil9KGUsbixvKTtpZihyJiZyLmJhc2U2NClyZXR1cm4gZnVuY3Rpb24oZSxuKXt2YXIgYT0iYiIrdC5wYWNrZXRzW2UudHlwZV0rZS5kYXRhLmRhdGE7cmV0dXJuIG4oYSl9KGUsbyk7dmFyIGk9cFtlLnR5cGVdO3JldHVybiB2b2lkIDAhPT1lLmRhdGEmJihpKz1hP2MuZW5jb2RlKFN0cmluZyhlLmRhdGEpLHtzdHJpY3Q6ITF9KTpTdHJpbmcoZS5kYXRhKSksbygiIitpKX0sdC5lbmNvZGVCYXNlNjRQYWNrZXQ9ZnVuY3Rpb24oZSxuKXt2YXIgYSxvPSJiIit0LnBhY2tldHNbZS50eXBlXTtpZih2b2lkIDAhPT1nJiZlLmRhdGEgaW5zdGFuY2VvZiBnKXt2YXIgcj1uZXcgRmlsZVJlYWRlcjtyZXR1cm4gci5vbmxvYWQ9ZnVuY3Rpb24oKXt2YXIgZT1yLnJlc3VsdC5zcGxpdCgiLCIpWzFdO24obytlKX0sci5yZWFkQXNEYXRhVVJMKGUuZGF0YSl9dHJ5e2E9U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLG5ldyBVaW50OEFycmF5KGUuZGF0YSkpfWNhdGNoKHQpe2Zvcih2YXIgaT1uZXcgVWludDhBcnJheShlLmRhdGEpLHM9bmV3IEFycmF5KGkubGVuZ3RoKSxjPTA7YzxpLmxlbmd0aDtjKyspc1tjXT1pW2NdO2E9U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLHMpfXJldHVybiBvKz1idG9hKGEpLG4obyl9LHQuZGVjb2RlUGFja2V0PWZ1bmN0aW9uKGUsbixhKXtpZih2b2lkIDA9PT1lKXJldHVybiBmO2lmKCJzdHJpbmciPT10eXBlb2YgZSl7aWYoImIiPT09ZS5jaGFyQXQoMCkpcmV0dXJuIHQuZGVjb2RlQmFzZTY0UGFja2V0KGUuc3Vic3RyKDEpLG4pO2lmKGEmJiExPT09KGU9ZnVuY3Rpb24oZSl7dHJ5e2U9Yy5kZWNvZGUoZSx7c3RyaWN0OiExfSl9Y2F0Y2goZSl7cmV0dXJuITF9cmV0dXJuIGV9KGUpKSlyZXR1cm4gZjt2YXIgbz1lLmNoYXJBdCgwKTtyZXR1cm4gTnVtYmVyKG8pPT1vJiZtW29dP2UubGVuZ3RoPjE/e3R5cGU6bVtvXSxkYXRhOmUuc3Vic3RyaW5nKDEpfTp7dHlwZTptW29dfTpmfW89bmV3IFVpbnQ4QXJyYXkoZSlbMF07dmFyIHI9aShlLDEpO3JldHVybiBnJiYiYmxvYiI9PT1uJiYocj1uZXcgZyhbcl0pKSx7dHlwZTptW29dLGRhdGE6cn19LHQuZGVjb2RlQmFzZTY0UGFja2V0PWZ1bmN0aW9uKGUsdCl7dmFyIG49bVtlLmNoYXJBdCgwKV07aWYoIWEpcmV0dXJue3R5cGU6bixkYXRhOntiYXNlNjQ6ITAsZGF0YTplLnN1YnN0cigxKX19O3ZhciBvPWEuZGVjb2RlKGUuc3Vic3RyKDEpKTtyZXR1cm4iYmxvYiI9PT10JiZnJiYobz1uZXcgZyhbb10pKSx7dHlwZTpuLGRhdGE6b319LHQuZW5jb2RlUGF5bG9hZD1mdW5jdGlvbihlLG4sYSl7ImZ1bmN0aW9uIj09dHlwZW9mIG4mJihhPW4sbj1udWxsKTt2YXIgbz1yKGUpO3JldHVybiBuJiZvP2cmJiFkP3QuZW5jb2RlUGF5bG9hZEFzQmxvYihlLGEpOnQuZW5jb2RlUGF5bG9hZEFzQXJyYXlCdWZmZXIoZSxhKTplLmxlbmd0aD92b2lkIGgoZSwoZnVuY3Rpb24oZSxhKXt0LmVuY29kZVBhY2tldChlLCEhbyYmbiwhMSwoZnVuY3Rpb24oZSl7YShudWxsLGZ1bmN0aW9uKGUpe3JldHVybiBlLmxlbmd0aCsiOiIrZX0oZSkpfSkpfSksKGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGEodC5qb2luKCIiKSl9KSk6YSgiMDoiKX0sdC5kZWNvZGVQYXlsb2FkPWZ1bmN0aW9uKGUsbixhKXtpZigic3RyaW5nIiE9dHlwZW9mIGUpcmV0dXJuIHQuZGVjb2RlUGF5bG9hZEFzQmluYXJ5KGUsbixhKTt2YXIgbztpZigiZnVuY3Rpb24iPT10eXBlb2YgbiYmKGE9bixuPW51bGwpLCIiPT09ZSlyZXR1cm4gYShmLDAsMSk7Zm9yKHZhciByLGkscz0iIixjPTAsbD1lLmxlbmd0aDtjPGw7YysrKXt2YXIgdT1lLmNoYXJBdChjKTtpZigiOiI9PT11KXtpZigiIj09PXN8fHMhPShyPU51bWJlcihzKSkpcmV0dXJuIGEoZiwwLDEpO2lmKHMhPShpPWUuc3Vic3RyKGMrMSxyKSkubGVuZ3RoKXJldHVybiBhKGYsMCwxKTtpZihpLmxlbmd0aCl7aWYobz10LmRlY29kZVBhY2tldChpLG4sITEpLGYudHlwZT09PW8udHlwZSYmZi5kYXRhPT09by5kYXRhKXJldHVybiBhKGYsMCwxKTtpZighMT09PWEobyxjK3IsbCkpcmV0dXJufWMrPXIscz0iIn1lbHNlIHMrPXV9cmV0dXJuIiIhPT1zP2EoZiwwLDEpOnZvaWQgMH0sdC5lbmNvZGVQYXlsb2FkQXNBcnJheUJ1ZmZlcj1mdW5jdGlvbihlLG4pe2lmKCFlLmxlbmd0aClyZXR1cm4gbihuZXcgQXJyYXlCdWZmZXIoMCkpO2goZSwoZnVuY3Rpb24oZSxuKXt0LmVuY29kZVBhY2tldChlLCEwLCEwLChmdW5jdGlvbihlKXtyZXR1cm4gbihudWxsLGUpfSkpfSksKGZ1bmN0aW9uKGUsdCl7dmFyIGE9dC5yZWR1Y2UoKGZ1bmN0aW9uKGUsdCl7dmFyIG47cmV0dXJuIGUrKG49InN0cmluZyI9PXR5cGVvZiB0P3QubGVuZ3RoOnQuYnl0ZUxlbmd0aCkudG9TdHJpbmcoKS5sZW5ndGgrbisyfSksMCksbz1uZXcgVWludDhBcnJheShhKSxyPTA7cmV0dXJuIHQuZm9yRWFjaCgoZnVuY3Rpb24oZSl7dmFyIHQ9InN0cmluZyI9PXR5cGVvZiBlLG49ZTtpZih0KXtmb3IodmFyIGE9bmV3IFVpbnQ4QXJyYXkoZS5sZW5ndGgpLGk9MDtpPGUubGVuZ3RoO2krKylhW2ldPWUuY2hhckNvZGVBdChpKTtuPWEuYnVmZmVyfW9bcisrXT10PzA6MTt2YXIgcz1uLmJ5dGVMZW5ndGgudG9TdHJpbmcoKTtmb3IoaT0wO2k8cy5sZW5ndGg7aSsrKW9bcisrXT1wYXJzZUludChzW2ldKTtmb3Iob1tyKytdPTI1NSxhPW5ldyBVaW50OEFycmF5KG4pLGk9MDtpPGEubGVuZ3RoO2krKylvW3IrK109YVtpXX0pKSxuKG8uYnVmZmVyKX0pKX0sdC5lbmNvZGVQYXlsb2FkQXNCbG9iPWZ1bmN0aW9uKGUsbil7aChlLChmdW5jdGlvbihlLG4pe3QuZW5jb2RlUGFja2V0KGUsITAsITAsKGZ1bmN0aW9uKGUpe3ZhciB0PW5ldyBVaW50OEFycmF5KDEpO2lmKHRbMF09MSwic3RyaW5nIj09dHlwZW9mIGUpe2Zvcih2YXIgYT1uZXcgVWludDhBcnJheShlLmxlbmd0aCksbz0wO288ZS5sZW5ndGg7bysrKWFbb109ZS5jaGFyQ29kZUF0KG8pO2U9YS5idWZmZXIsdFswXT0wfXZhciByPShlIGluc3RhbmNlb2YgQXJyYXlCdWZmZXI/ZS5ieXRlTGVuZ3RoOmUuc2l6ZSkudG9TdHJpbmcoKSxpPW5ldyBVaW50OEFycmF5KHIubGVuZ3RoKzEpO2ZvcihvPTA7bzxyLmxlbmd0aDtvKyspaVtvXT1wYXJzZUludChyW29dKTtpZihpW3IubGVuZ3RoXT0yNTUsZyl7dmFyIHM9bmV3IGcoW3QuYnVmZmVyLGkuYnVmZmVyLGVdKTtuKG51bGwscyl9fSkpfSksKGZ1bmN0aW9uKGUsdCl7cmV0dXJuIG4obmV3IGcodCkpfSkpfSx0LmRlY29kZVBheWxvYWRBc0JpbmFyeT1mdW5jdGlvbihlLG4sYSl7ImZ1bmN0aW9uIj09dHlwZW9mIG4mJihhPW4sbj1udWxsKTtmb3IodmFyIG89ZSxyPVtdO28uYnl0ZUxlbmd0aD4wOyl7Zm9yKHZhciBzPW5ldyBVaW50OEFycmF5KG8pLGM9MD09PXNbMF0sbD0iIix1PTE7MjU1IT09c1t1XTt1Kyspe2lmKGwubGVuZ3RoPjMxMClyZXR1cm4gYShmLDAsMSk7bCs9c1t1XX1vPWkobywyK2wubGVuZ3RoKSxsPXBhcnNlSW50KGwpO3ZhciBkPWkobywwLGwpO2lmKGMpdHJ5e2Q9U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLG5ldyBVaW50OEFycmF5KGQpKX1jYXRjaChlKXt2YXIgcD1uZXcgVWludDhBcnJheShkKTtmb3IoZD0iIix1PTA7dTxwLmxlbmd0aDt1KyspZCs9U3RyaW5nLmZyb21DaGFyQ29kZShwW3VdKX1yLnB1c2goZCksbz1pKG8sbCl9dmFyIG09ci5sZW5ndGg7ci5mb3JFYWNoKChmdW5jdGlvbihlLG8pe2EodC5kZWNvZGVQYWNrZXQoZSxuLCEwKSxvLG0pfSkpfX0sZnVuY3Rpb24oZSx0KXt0LmVuY29kZT1mdW5jdGlvbihlKXt2YXIgdD0iIjtmb3IodmFyIG4gaW4gZSllLmhhc093blByb3BlcnR5KG4pJiYodC5sZW5ndGgmJih0Kz0iJiIpLHQrPWVuY29kZVVSSUNvbXBvbmVudChuKSsiPSIrZW5jb2RlVVJJQ29tcG9uZW50KGVbbl0pKTtyZXR1cm4gdH0sdC5kZWNvZGU9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PXt9LG49ZS5zcGxpdCgiJiIpLGE9MCxvPW4ubGVuZ3RoO2E8bzthKyspe3ZhciByPW5bYV0uc3BsaXQoIj0iKTt0W2RlY29kZVVSSUNvbXBvbmVudChyWzBdKV09ZGVjb2RlVVJJQ29tcG9uZW50KHJbMV0pfXJldHVybiB0fX0sZnVuY3Rpb24oZSx0KXtlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0KXt2YXIgbj1mdW5jdGlvbigpe307bi5wcm90b3R5cGU9dC5wcm90b3R5cGUsZS5wcm90b3R5cGU9bmV3IG4sZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZX19LGZ1bmN0aW9uKGUsdCxuKXt2YXIgYT1uKDApKCJzb2NrZXQuaW8tcGFyc2VyIiksbz1uKDEpLHI9bigyNSksaT1uKDEwKSxzPW4oMTEpO2Z1bmN0aW9uIGMoKXt9dC5wcm90b2NvbD00LHQudHlwZXM9WyJDT05ORUNUIiwiRElTQ09OTkVDVCIsIkVWRU5UIiwiQUNLIiwiRVJST1IiLCJCSU5BUllfRVZFTlQiLCJCSU5BUllfQUNLIl0sdC5DT05ORUNUPTAsdC5ESVNDT05ORUNUPTEsdC5FVkVOVD0yLHQuQUNLPTMsdC5FUlJPUj00LHQuQklOQVJZX0VWRU5UPTUsdC5CSU5BUllfQUNLPTYsdC5FbmNvZGVyPWMsdC5EZWNvZGVyPWQ7dmFyIGw9dC5FUlJPUisnImVuY29kZSBlcnJvciInO2Z1bmN0aW9uIHUoZSl7dmFyIG49IiIrZS50eXBlO2lmKHQuQklOQVJZX0VWRU5UIT09ZS50eXBlJiZ0LkJJTkFSWV9BQ0shPT1lLnR5cGV8fChuKz1lLmF0dGFjaG1lbnRzKyItIiksZS5uc3AmJiIvIiE9PWUubnNwJiYobis9ZS5uc3ArIiwiKSxudWxsIT1lLmlkJiYobis9ZS5pZCksbnVsbCE9ZS5kYXRhKXt2YXIgbz1mdW5jdGlvbihlKXt0cnl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KGUpfWNhdGNoKGUpe3JldHVybiExfX0oZS5kYXRhKTtpZighMT09PW8pcmV0dXJuIGw7bis9b31yZXR1cm4gYSgiZW5jb2RlZCAlaiBhcyAlcyIsZSxuKSxufWZ1bmN0aW9uIGQoKXt0aGlzLnJlY29uc3RydWN0b3I9bnVsbH1mdW5jdGlvbiBwKGUpe3RoaXMucmVjb25QYWNrPWUsdGhpcy5idWZmZXJzPVtdfWZ1bmN0aW9uIG0oZSl7cmV0dXJue3R5cGU6dC5FUlJPUixkYXRhOiJwYXJzZXIgZXJyb3I6ICIrZX19Yy5wcm90b3R5cGUuZW5jb2RlPWZ1bmN0aW9uKGUsbil7YSgiZW5jb2RpbmcgcGFja2V0ICVqIixlKSx0LkJJTkFSWV9FVkVOVD09PWUudHlwZXx8dC5CSU5BUllfQUNLPT09ZS50eXBlP2Z1bmN0aW9uKGUsdCl7ci5yZW1vdmVCbG9icyhlLChmdW5jdGlvbihlKXt2YXIgbj1yLmRlY29uc3RydWN0UGFja2V0KGUpLGE9dShuLnBhY2tldCksbz1uLmJ1ZmZlcnM7by51bnNoaWZ0KGEpLHQobyl9KSl9KGUsbik6bihbdShlKV0pfSxvKGQucHJvdG90eXBlKSxkLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24oZSl7dmFyIG47aWYoInN0cmluZyI9PXR5cGVvZiBlKW49ZnVuY3Rpb24oZSl7dmFyIG49MCxvPXt0eXBlOk51bWJlcihlLmNoYXJBdCgwKSl9O2lmKG51bGw9PXQudHlwZXNbby50eXBlXSlyZXR1cm4gbSgidW5rbm93biBwYWNrZXQgdHlwZSAiK28udHlwZSk7aWYodC5CSU5BUllfRVZFTlQ9PT1vLnR5cGV8fHQuQklOQVJZX0FDSz09PW8udHlwZSl7Zm9yKHZhciByPSIiOyItIiE9PWUuY2hhckF0KCsrbikmJihyKz1lLmNoYXJBdChuKSxuIT1lLmxlbmd0aCk7KTtpZihyIT1OdW1iZXIocil8fCItIiE9PWUuY2hhckF0KG4pKXRocm93IG5ldyBFcnJvcigiSWxsZWdhbCBhdHRhY2htZW50cyIpO28uYXR0YWNobWVudHM9TnVtYmVyKHIpfWlmKCIvIj09PWUuY2hhckF0KG4rMSkpZm9yKG8ubnNwPSIiOysrbjspe2lmKCIsIj09PShjPWUuY2hhckF0KG4pKSlicmVhaztpZihvLm5zcCs9YyxuPT09ZS5sZW5ndGgpYnJlYWt9ZWxzZSBvLm5zcD0iLyI7dmFyIHM9ZS5jaGFyQXQobisxKTtpZigiIiE9PXMmJk51bWJlcihzKT09cyl7Zm9yKG8uaWQ9IiI7KytuOyl7dmFyIGM7aWYobnVsbD09KGM9ZS5jaGFyQXQobikpfHxOdW1iZXIoYykhPWMpey0tbjticmVha31pZihvLmlkKz1lLmNoYXJBdChuKSxuPT09ZS5sZW5ndGgpYnJlYWt9by5pZD1OdW1iZXIoby5pZCl9aWYoZS5jaGFyQXQoKytuKSl7dmFyIGw9ZnVuY3Rpb24oZSl7dHJ5e3JldHVybiBKU09OLnBhcnNlKGUpfWNhdGNoKGUpe3JldHVybiExfX0oZS5zdWJzdHIobikpO2lmKCExPT09bHx8by50eXBlIT09dC5FUlJPUiYmIWkobCkpcmV0dXJuIG0oImludmFsaWQgcGF5bG9hZCIpO28uZGF0YT1sfXJldHVybiBhKCJkZWNvZGVkICVzIGFzICVqIixlLG8pLG99KGUpLHQuQklOQVJZX0VWRU5UPT09bi50eXBlfHx0LkJJTkFSWV9BQ0s9PT1uLnR5cGU/KHRoaXMucmVjb25zdHJ1Y3Rvcj1uZXcgcChuKSwwPT09dGhpcy5yZWNvbnN0cnVjdG9yLnJlY29uUGFjay5hdHRhY2htZW50cyYmdGhpcy5lbWl0KCJkZWNvZGVkIixuKSk6dGhpcy5lbWl0KCJkZWNvZGVkIixuKTtlbHNle2lmKCFzKGUpJiYhZS5iYXNlNjQpdGhyb3cgbmV3IEVycm9yKCJVbmtub3duIHR5cGU6ICIrZSk7aWYoIXRoaXMucmVjb25zdHJ1Y3Rvcil0aHJvdyBuZXcgRXJyb3IoImdvdCBiaW5hcnkgZGF0YSB3aGVuIG5vdCByZWNvbnN0cnVjdGluZyBhIHBhY2tldCIpOyhuPXRoaXMucmVjb25zdHJ1Y3Rvci50YWtlQmluYXJ5RGF0YShlKSkmJih0aGlzLnJlY29uc3RydWN0b3I9bnVsbCx0aGlzLmVtaXQoImRlY29kZWQiLG4pKX19LGQucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXt0aGlzLnJlY29uc3RydWN0b3ImJnRoaXMucmVjb25zdHJ1Y3Rvci5maW5pc2hlZFJlY29uc3RydWN0aW9uKCl9LHAucHJvdG90eXBlLnRha2VCaW5hcnlEYXRhPWZ1bmN0aW9uKGUpe2lmKHRoaXMuYnVmZmVycy5wdXNoKGUpLHRoaXMuYnVmZmVycy5sZW5ndGg9PT10aGlzLnJlY29uUGFjay5hdHRhY2htZW50cyl7dmFyIHQ9ci5yZWNvbnN0cnVjdFBhY2tldCh0aGlzLnJlY29uUGFjayx0aGlzLmJ1ZmZlcnMpO3JldHVybiB0aGlzLmZpbmlzaGVkUmVjb25zdHJ1Y3Rpb24oKSx0fXJldHVybiBudWxsfSxwLnByb3RvdHlwZS5maW5pc2hlZFJlY29uc3RydWN0aW9uPWZ1bmN0aW9uKCl7dGhpcy5yZWNvblBhY2s9bnVsbCx0aGlzLmJ1ZmZlcnM9W119fSxmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiOyhmdW5jdGlvbihlKXsNCi8qIQ0KICAgICAgICogVGhlIGJ1ZmZlciBtb2R1bGUgZnJvbSBub2RlLmpzLCBmb3IgdGhlIGJyb3dzZXIuDQogICAgICAgKg0KICAgICAgICogQGF1dGhvciAgIEZlcm9zcyBBYm91a2hhZGlqZWggPGh0dHA6Ly9mZXJvc3Mub3JnPg0KICAgICAgICogQGxpY2Vuc2UgIE1JVA0KICAgICAgICovDQp2YXIgYT1uKDI2KSxvPW4oMjcpLHI9bigyOCk7ZnVuY3Rpb24gaSgpe3JldHVybiBjLlRZUEVEX0FSUkFZX1NVUFBPUlQ/MjE0NzQ4MzY0NzoxMDczNzQxODIzfWZ1bmN0aW9uIHMoZSx0KXtpZihpKCk8dCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW52YWxpZCB0eXBlZCBhcnJheSBsZW5ndGgiKTtyZXR1cm4gYy5UWVBFRF9BUlJBWV9TVVBQT1JUPyhlPW5ldyBVaW50OEFycmF5KHQpKS5fX3Byb3RvX189Yy5wcm90b3R5cGU6KG51bGw9PT1lJiYoZT1uZXcgYyh0KSksZS5sZW5ndGg9dCksZX1mdW5jdGlvbiBjKGUsdCxuKXtpZighKGMuVFlQRURfQVJSQVlfU1VQUE9SVHx8dGhpcyBpbnN0YW5jZW9mIGMpKXJldHVybiBuZXcgYyhlLHQsbik7aWYoIm51bWJlciI9PXR5cGVvZiBlKXtpZigic3RyaW5nIj09dHlwZW9mIHQpdGhyb3cgbmV3IEVycm9yKCJJZiBlbmNvZGluZyBpcyBzcGVjaWZpZWQgdGhlbiB0aGUgZmlyc3QgYXJndW1lbnQgbXVzdCBiZSBhIHN0cmluZyIpO3JldHVybiBkKHRoaXMsZSl9cmV0dXJuIGwodGhpcyxlLHQsbil9ZnVuY3Rpb24gbChlLHQsbixhKXtpZigibnVtYmVyIj09dHlwZW9mIHQpdGhyb3cgbmV3IFR5cGVFcnJvcignInZhbHVlIiBhcmd1bWVudCBtdXN0IG5vdCBiZSBhIG51bWJlcicpO3JldHVybiJ1bmRlZmluZWQiIT10eXBlb2YgQXJyYXlCdWZmZXImJnQgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcj9mdW5jdGlvbihlLHQsbixhKXtpZih0LmJ5dGVMZW5ndGgsbjwwfHx0LmJ5dGVMZW5ndGg8bil0aHJvdyBuZXcgUmFuZ2VFcnJvcigiJ29mZnNldCcgaXMgb3V0IG9mIGJvdW5kcyIpO2lmKHQuYnl0ZUxlbmd0aDxuKyhhfHwwKSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiJ2xlbmd0aCcgaXMgb3V0IG9mIGJvdW5kcyIpO3JldHVybiB0PXZvaWQgMD09PW4mJnZvaWQgMD09PWE/bmV3IFVpbnQ4QXJyYXkodCk6dm9pZCAwPT09YT9uZXcgVWludDhBcnJheSh0LG4pOm5ldyBVaW50OEFycmF5KHQsbixhKSxjLlRZUEVEX0FSUkFZX1NVUFBPUlQ/KGU9dCkuX19wcm90b19fPWMucHJvdG90eXBlOmU9cChlLHQpLGV9KGUsdCxuLGEpOiJzdHJpbmciPT10eXBlb2YgdD9mdW5jdGlvbihlLHQsbil7aWYoInN0cmluZyI9PXR5cGVvZiBuJiYiIiE9PW58fChuPSJ1dGY4IiksIWMuaXNFbmNvZGluZyhuKSl0aHJvdyBuZXcgVHlwZUVycm9yKCciZW5jb2RpbmciIG11c3QgYmUgYSB2YWxpZCBzdHJpbmcgZW5jb2RpbmcnKTt2YXIgYT0wfGYodCxuKSxvPShlPXMoZSxhKSkud3JpdGUodCxuKTtyZXR1cm4gbyE9PWEmJihlPWUuc2xpY2UoMCxvKSksZX0oZSx0LG4pOmZ1bmN0aW9uKGUsdCl7aWYoYy5pc0J1ZmZlcih0KSl7dmFyIG49MHxtKHQubGVuZ3RoKTtyZXR1cm4gMD09PShlPXMoZSxuKSkubGVuZ3RofHx0LmNvcHkoZSwwLDAsbiksZX1pZih0KXtpZigidW5kZWZpbmVkIiE9dHlwZW9mIEFycmF5QnVmZmVyJiZ0LmJ1ZmZlciBpbnN0YW5jZW9mIEFycmF5QnVmZmVyfHwibGVuZ3RoImluIHQpcmV0dXJuIm51bWJlciIhPXR5cGVvZiB0Lmxlbmd0aHx8KGE9dC5sZW5ndGgpIT1hP3MoZSwwKTpwKGUsdCk7aWYoIkJ1ZmZlciI9PT10LnR5cGUmJnIodC5kYXRhKSlyZXR1cm4gcChlLHQuZGF0YSl9dmFyIGE7dGhyb3cgbmV3IFR5cGVFcnJvcigiRmlyc3QgYXJndW1lbnQgbXVzdCBiZSBhIHN0cmluZywgQnVmZmVyLCBBcnJheUJ1ZmZlciwgQXJyYXksIG9yIGFycmF5LWxpa2Ugb2JqZWN0LiIpfShlLHQpfWZ1bmN0aW9uIHUoZSl7aWYoIm51bWJlciIhPXR5cGVvZiBlKXRocm93IG5ldyBUeXBlRXJyb3IoJyJzaXplIiBhcmd1bWVudCBtdXN0IGJlIGEgbnVtYmVyJyk7aWYoZTwwKXRocm93IG5ldyBSYW5nZUVycm9yKCcic2l6ZSIgYXJndW1lbnQgbXVzdCBub3QgYmUgbmVnYXRpdmUnKX1mdW5jdGlvbiBkKGUsdCl7aWYodSh0KSxlPXMoZSx0PDA/MDowfG0odCkpLCFjLlRZUEVEX0FSUkFZX1NVUFBPUlQpZm9yKHZhciBuPTA7bjx0OysrbillW25dPTA7cmV0dXJuIGV9ZnVuY3Rpb24gcChlLHQpe3ZhciBuPXQubGVuZ3RoPDA/MDowfG0odC5sZW5ndGgpO2U9cyhlLG4pO2Zvcih2YXIgYT0wO2E8bjthKz0xKWVbYV09MjU1JnRbYV07cmV0dXJuIGV9ZnVuY3Rpb24gbShlKXtpZihlPj1pKCkpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkF0dGVtcHQgdG8gYWxsb2NhdGUgQnVmZmVyIGxhcmdlciB0aGFuIG1heGltdW0gc2l6ZTogMHgiK2koKS50b1N0cmluZygxNikrIiBieXRlcyIpO3JldHVybiAwfGV9ZnVuY3Rpb24gZihlLHQpe2lmKGMuaXNCdWZmZXIoZSkpcmV0dXJuIGUubGVuZ3RoO2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgQXJyYXlCdWZmZXImJiJmdW5jdGlvbiI9PXR5cGVvZiBBcnJheUJ1ZmZlci5pc1ZpZXcmJihBcnJheUJ1ZmZlci5pc1ZpZXcoZSl8fGUgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcikpcmV0dXJuIGUuYnl0ZUxlbmd0aDsic3RyaW5nIiE9dHlwZW9mIGUmJihlPSIiK2UpO3ZhciBuPWUubGVuZ3RoO2lmKDA9PT1uKXJldHVybiAwO2Zvcih2YXIgYT0hMTs7KXN3aXRjaCh0KXtjYXNlImFzY2lpIjpjYXNlImxhdGluMSI6Y2FzZSJiaW5hcnkiOnJldHVybiBuO2Nhc2UidXRmOCI6Y2FzZSJ1dGYtOCI6Y2FzZSB2b2lkIDA6cmV0dXJuIFkoZSkubGVuZ3RoO2Nhc2UidWNzMiI6Y2FzZSJ1Y3MtMiI6Y2FzZSJ1dGYxNmxlIjpjYXNlInV0Zi0xNmxlIjpyZXR1cm4gMipuO2Nhc2UiaGV4IjpyZXR1cm4gbj4+PjE7Y2FzZSJiYXNlNjQiOnJldHVybiBVKGUpLmxlbmd0aDtkZWZhdWx0OmlmKGEpcmV0dXJuIFkoZSkubGVuZ3RoO3Q9KCIiK3QpLnRvTG93ZXJDYXNlKCksYT0hMH19ZnVuY3Rpb24gZyhlLHQsbil7dmFyIGE9ITE7aWYoKHZvaWQgMD09PXR8fHQ8MCkmJih0PTApLHQ+dGhpcy5sZW5ndGgpcmV0dXJuIiI7aWYoKHZvaWQgMD09PW58fG4+dGhpcy5sZW5ndGgpJiYobj10aGlzLmxlbmd0aCksbjw9MClyZXR1cm4iIjtpZigobj4+Pj0wKTw9KHQ+Pj49MCkpcmV0dXJuIiI7Zm9yKGV8fChlPSJ1dGY4Iik7Oylzd2l0Y2goZSl7Y2FzZSJoZXgiOnJldHVybiBJKHRoaXMsdCxuKTtjYXNlInV0ZjgiOmNhc2UidXRmLTgiOnJldHVybiBBKHRoaXMsdCxuKTtjYXNlImFzY2lpIjpyZXR1cm4gVCh0aGlzLHQsbik7Y2FzZSJsYXRpbjEiOmNhc2UiYmluYXJ5IjpyZXR1cm4gUyh0aGlzLHQsbik7Y2FzZSJiYXNlNjQiOnJldHVybiBQKHRoaXMsdCxuKTtjYXNlInVjczIiOmNhc2UidWNzLTIiOmNhc2UidXRmMTZsZSI6Y2FzZSJ1dGYtMTZsZSI6cmV0dXJuIFIodGhpcyx0LG4pO2RlZmF1bHQ6aWYoYSl0aHJvdyBuZXcgVHlwZUVycm9yKCJVbmtub3duIGVuY29kaW5nOiAiK2UpO2U9KGUrIiIpLnRvTG93ZXJDYXNlKCksYT0hMH19ZnVuY3Rpb24gaChlLHQsbil7dmFyIGE9ZVt0XTtlW3RdPWVbbl0sZVtuXT1hfWZ1bmN0aW9uIGIoZSx0LG4sYSxvKXtpZigwPT09ZS5sZW5ndGgpcmV0dXJuLTE7aWYoInN0cmluZyI9PXR5cGVvZiBuPyhhPW4sbj0wKTpuPjIxNDc0ODM2NDc/bj0yMTQ3NDgzNjQ3Om48LTIxNDc0ODM2NDgmJihuPS0yMTQ3NDgzNjQ4KSxuPStuLGlzTmFOKG4pJiYobj1vPzA6ZS5sZW5ndGgtMSksbjwwJiYobj1lLmxlbmd0aCtuKSxuPj1lLmxlbmd0aCl7aWYobylyZXR1cm4tMTtuPWUubGVuZ3RoLTF9ZWxzZSBpZihuPDApe2lmKCFvKXJldHVybi0xO249MH1pZigic3RyaW5nIj09dHlwZW9mIHQmJih0PWMuZnJvbSh0LGEpKSxjLmlzQnVmZmVyKHQpKXJldHVybiAwPT09dC5sZW5ndGg/LTE6eShlLHQsbixhLG8pO2lmKCJudW1iZXIiPT10eXBlb2YgdClyZXR1cm4gdCY9MjU1LGMuVFlQRURfQVJSQVlfU1VQUE9SVCYmImZ1bmN0aW9uIj09dHlwZW9mIFVpbnQ4QXJyYXkucHJvdG90eXBlLmluZGV4T2Y/bz9VaW50OEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoZSx0LG4pOlVpbnQ4QXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwoZSx0LG4pOnkoZSxbdF0sbixhLG8pO3Rocm93IG5ldyBUeXBlRXJyb3IoInZhbCBtdXN0IGJlIHN0cmluZywgbnVtYmVyIG9yIEJ1ZmZlciIpfWZ1bmN0aW9uIHkoZSx0LG4sYSxvKXt2YXIgcixpPTEscz1lLmxlbmd0aCxjPXQubGVuZ3RoO2lmKHZvaWQgMCE9PWEmJigidWNzMiI9PT0oYT1TdHJpbmcoYSkudG9Mb3dlckNhc2UoKSl8fCJ1Y3MtMiI9PT1hfHwidXRmMTZsZSI9PT1hfHwidXRmLTE2bGUiPT09YSkpe2lmKGUubGVuZ3RoPDJ8fHQubGVuZ3RoPDIpcmV0dXJuLTE7aT0yLHMvPTIsYy89MixuLz0yfWZ1bmN0aW9uIGwoZSx0KXtyZXR1cm4gMT09PWk/ZVt0XTplLnJlYWRVSW50MTZCRSh0KmkpfWlmKG8pe3ZhciB1PS0xO2ZvcihyPW47cjxzO3IrKylpZihsKGUscik9PT1sKHQsLTE9PT11PzA6ci11KSl7aWYoLTE9PT11JiYodT1yKSxyLXUrMT09PWMpcmV0dXJuIHUqaX1lbHNlLTEhPT11JiYoci09ci11KSx1PS0xfWVsc2UgZm9yKG4rYz5zJiYobj1zLWMpLHI9bjtyPj0wO3ItLSl7Zm9yKHZhciBkPSEwLHA9MDtwPGM7cCsrKWlmKGwoZSxyK3ApIT09bCh0LHApKXtkPSExO2JyZWFrfWlmKGQpcmV0dXJuIHJ9cmV0dXJuLTF9ZnVuY3Rpb24gdyhlLHQsbixhKXtuPU51bWJlcihuKXx8MDt2YXIgbz1lLmxlbmd0aC1uO2E/KGE9TnVtYmVyKGEpKT5vJiYoYT1vKTphPW87dmFyIHI9dC5sZW5ndGg7aWYociUyIT0wKXRocm93IG5ldyBUeXBlRXJyb3IoIkludmFsaWQgaGV4IHN0cmluZyIpO2E+ci8yJiYoYT1yLzIpO2Zvcih2YXIgaT0wO2k8YTsrK2kpe3ZhciBzPXBhcnNlSW50KHQuc3Vic3RyKDIqaSwyKSwxNik7aWYoaXNOYU4ocykpcmV0dXJuIGk7ZVtuK2ldPXN9cmV0dXJuIGl9ZnVuY3Rpb24gdihlLHQsbixhKXtyZXR1cm4gWChZKHQsZS5sZW5ndGgtbiksZSxuLGEpfWZ1bmN0aW9uIF8oZSx0LG4sYSl7cmV0dXJuIFgoZnVuY3Rpb24oZSl7Zm9yKHZhciB0PVtdLG49MDtuPGUubGVuZ3RoOysrbil0LnB1c2goMjU1JmUuY2hhckNvZGVBdChuKSk7cmV0dXJuIHR9KHQpLGUsbixhKX1mdW5jdGlvbiBrKGUsdCxuLGEpe3JldHVybiBfKGUsdCxuLGEpfWZ1bmN0aW9uIHgoZSx0LG4sYSl7cmV0dXJuIFgoVSh0KSxlLG4sYSl9ZnVuY3Rpb24gQyhlLHQsbixhKXtyZXR1cm4gWChmdW5jdGlvbihlLHQpe2Zvcih2YXIgbixhLG8scj1bXSxpPTA7aTxlLmxlbmd0aCYmISgodC09Mik8MCk7KytpKW49ZS5jaGFyQ29kZUF0KGkpLGE9bj4+OCxvPW4lMjU2LHIucHVzaChvKSxyLnB1c2goYSk7cmV0dXJuIHJ9KHQsZS5sZW5ndGgtbiksZSxuLGEpfWZ1bmN0aW9uIFAoZSx0LG4pe3JldHVybiAwPT09dCYmbj09PWUubGVuZ3RoP2EuZnJvbUJ5dGVBcnJheShlKTphLmZyb21CeXRlQXJyYXkoZS5zbGljZSh0LG4pKX1mdW5jdGlvbiBBKGUsdCxuKXtuPU1hdGgubWluKGUubGVuZ3RoLG4pO2Zvcih2YXIgYT1bXSxvPXQ7bzxuOyl7dmFyIHIsaSxzLGMsbD1lW29dLHU9bnVsbCxkPWw+MjM5PzQ6bD4yMjM/MzpsPjE5MT8yOjE7aWYobytkPD1uKXN3aXRjaChkKXtjYXNlIDE6bDwxMjgmJih1PWwpO2JyZWFrO2Nhc2UgMjoxMjg9PSgxOTImKHI9ZVtvKzFdKSkmJihjPSgzMSZsKTw8Nnw2MyZyKT4xMjcmJih1PWMpO2JyZWFrO2Nhc2UgMzpyPWVbbysxXSxpPWVbbysyXSwxMjg9PSgxOTImcikmJjEyOD09KDE5MiZpKSYmKGM9KDE1JmwpPDwxMnwoNjMmcik8PDZ8NjMmaSk+MjA0NyYmKGM8NTUyOTZ8fGM+NTczNDMpJiYodT1jKTticmVhaztjYXNlIDQ6cj1lW28rMV0saT1lW28rMl0scz1lW28rM10sMTI4PT0oMTkyJnIpJiYxMjg9PSgxOTImaSkmJjEyOD09KDE5MiZzKSYmKGM9KDE1JmwpPDwxOHwoNjMmcik8PDEyfCg2MyZpKTw8Nnw2MyZzKT42NTUzNSYmYzwxMTE0MTEyJiYodT1jKX1udWxsPT09dT8odT02NTUzMyxkPTEpOnU+NjU1MzUmJih1LT02NTUzNixhLnB1c2godT4+PjEwJjEwMjN8NTUyOTYpLHU9NTYzMjB8MTAyMyZ1KSxhLnB1c2godSksbys9ZH1yZXR1cm4gZnVuY3Rpb24oZSl7dmFyIHQ9ZS5sZW5ndGg7aWYodDw9NDA5NilyZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShTdHJpbmcsZSk7Zm9yKHZhciBuPSIiLGE9MDthPHQ7KW4rPVN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkoU3RyaW5nLGUuc2xpY2UoYSxhKz00MDk2KSk7cmV0dXJuIG59KGEpfWZ1bmN0aW9uIFQoZSx0LG4pe3ZhciBhPSIiO249TWF0aC5taW4oZS5sZW5ndGgsbik7Zm9yKHZhciBvPXQ7bzxuOysrbylhKz1TdHJpbmcuZnJvbUNoYXJDb2RlKDEyNyZlW29dKTtyZXR1cm4gYX1mdW5jdGlvbiBTKGUsdCxuKXt2YXIgYT0iIjtuPU1hdGgubWluKGUubGVuZ3RoLG4pO2Zvcih2YXIgbz10O288bjsrK28pYSs9U3RyaW5nLmZyb21DaGFyQ29kZShlW29dKTtyZXR1cm4gYX1mdW5jdGlvbiBJKGUsdCxuKXt2YXIgYT1lLmxlbmd0aDsoIXR8fHQ8MCkmJih0PTApLCghbnx8bjwwfHxuPmEpJiYobj1hKTtmb3IodmFyIG89IiIscj10O3I8bjsrK3Ipbys9QihlW3JdKTtyZXR1cm4gb31mdW5jdGlvbiBSKGUsdCxuKXtmb3IodmFyIGE9ZS5zbGljZSh0LG4pLG89IiIscj0wO3I8YS5sZW5ndGg7cis9MilvKz1TdHJpbmcuZnJvbUNoYXJDb2RlKGFbcl0rMjU2KmFbcisxXSk7cmV0dXJuIG99ZnVuY3Rpb24gRChlLHQsbil7aWYoZSUxIT0wfHxlPDApdGhyb3cgbmV3IFJhbmdlRXJyb3IoIm9mZnNldCBpcyBub3QgdWludCIpO2lmKGUrdD5uKXRocm93IG5ldyBSYW5nZUVycm9yKCJUcnlpbmcgdG8gYWNjZXNzIGJleW9uZCBidWZmZXIgbGVuZ3RoIil9ZnVuY3Rpb24gTyhlLHQsbixhLG8scil7aWYoIWMuaXNCdWZmZXIoZSkpdGhyb3cgbmV3IFR5cGVFcnJvcignImJ1ZmZlciIgYXJndW1lbnQgbXVzdCBiZSBhIEJ1ZmZlciBpbnN0YW5jZScpO2lmKHQ+b3x8dDxyKXRocm93IG5ldyBSYW5nZUVycm9yKCcidmFsdWUiIGFyZ3VtZW50IGlzIG91dCBvZiBib3VuZHMnKTtpZihuK2E+ZS5sZW5ndGgpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkluZGV4IG91dCBvZiByYW5nZSIpfWZ1bmN0aW9uIEUoZSx0LG4sYSl7dDwwJiYodD02NTUzNSt0KzEpO2Zvcih2YXIgbz0wLHI9TWF0aC5taW4oZS5sZW5ndGgtbiwyKTtvPHI7KytvKWVbbitvXT0odCYyNTU8PDgqKGE/bzoxLW8pKT4+PjgqKGE/bzoxLW8pfWZ1bmN0aW9uIEwoZSx0LG4sYSl7dDwwJiYodD00Mjk0OTY3Mjk1K3QrMSk7Zm9yKHZhciBvPTAscj1NYXRoLm1pbihlLmxlbmd0aC1uLDQpO288cjsrK28pZVtuK29dPXQ+Pj44KihhP286My1vKSYyNTV9ZnVuY3Rpb24gTihlLHQsbixhLG8scil7aWYobithPmUubGVuZ3RoKXRocm93IG5ldyBSYW5nZUVycm9yKCJJbmRleCBvdXQgb2YgcmFuZ2UiKTtpZihuPDApdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkluZGV4IG91dCBvZiByYW5nZSIpfWZ1bmN0aW9uIGooZSx0LG4sYSxyKXtyZXR1cm4gcnx8TihlLDAsbiw0KSxvLndyaXRlKGUsdCxuLGEsMjMsNCksbis0fWZ1bmN0aW9uIHooZSx0LG4sYSxyKXtyZXR1cm4gcnx8TihlLDAsbiw4KSxvLndyaXRlKGUsdCxuLGEsNTIsOCksbis4fXQuQnVmZmVyPWMsdC5TbG93QnVmZmVyPWZ1bmN0aW9uKGUpe3JldHVybitlIT1lJiYoZT0wKSxjLmFsbG9jKCtlKX0sdC5JTlNQRUNUX01BWF9CWVRFUz01MCxjLlRZUEVEX0FSUkFZX1NVUFBPUlQ9dm9pZCAwIT09ZS5UWVBFRF9BUlJBWV9TVVBQT1JUP2UuVFlQRURfQVJSQVlfU1VQUE9SVDpmdW5jdGlvbigpe3RyeXt2YXIgZT1uZXcgVWludDhBcnJheSgxKTtyZXR1cm4gZS5fX3Byb3RvX189e19fcHJvdG9fXzpVaW50OEFycmF5LnByb3RvdHlwZSxmb286ZnVuY3Rpb24oKXtyZXR1cm4gNDJ9fSw0Mj09PWUuZm9vKCkmJiJmdW5jdGlvbiI9PXR5cGVvZiBlLnN1YmFycmF5JiYwPT09ZS5zdWJhcnJheSgxLDEpLmJ5dGVMZW5ndGh9Y2F0Y2goZSl7cmV0dXJuITF9fSgpLHQua01heExlbmd0aD1pKCksYy5wb29sU2l6ZT04MTkyLGMuX2F1Z21lbnQ9ZnVuY3Rpb24oZSl7cmV0dXJuIGUuX19wcm90b19fPWMucHJvdG90eXBlLGV9LGMuZnJvbT1mdW5jdGlvbihlLHQsbil7cmV0dXJuIGwobnVsbCxlLHQsbil9LGMuVFlQRURfQVJSQVlfU1VQUE9SVCYmKGMucHJvdG90eXBlLl9fcHJvdG9fXz1VaW50OEFycmF5LnByb3RvdHlwZSxjLl9fcHJvdG9fXz1VaW50OEFycmF5LCJ1bmRlZmluZWQiIT10eXBlb2YgU3ltYm9sJiZTeW1ib2wuc3BlY2llcyYmY1tTeW1ib2wuc3BlY2llc109PT1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxTeW1ib2wuc3BlY2llcyx7dmFsdWU6bnVsbCxjb25maWd1cmFibGU6ITB9KSksYy5hbGxvYz1mdW5jdGlvbihlLHQsbil7cmV0dXJuIGZ1bmN0aW9uKGUsdCxuLGEpe3JldHVybiB1KHQpLHQ8PTA/cyhlLHQpOnZvaWQgMCE9PW4/InN0cmluZyI9PXR5cGVvZiBhP3MoZSx0KS5maWxsKG4sYSk6cyhlLHQpLmZpbGwobik6cyhlLHQpfShudWxsLGUsdCxuKX0sYy5hbGxvY1Vuc2FmZT1mdW5jdGlvbihlKXtyZXR1cm4gZChudWxsLGUpfSxjLmFsbG9jVW5zYWZlU2xvdz1mdW5jdGlvbihlKXtyZXR1cm4gZChudWxsLGUpfSxjLmlzQnVmZmVyPWZ1bmN0aW9uKGUpe3JldHVybiEobnVsbD09ZXx8IWUuX2lzQnVmZmVyKX0sYy5jb21wYXJlPWZ1bmN0aW9uKGUsdCl7aWYoIWMuaXNCdWZmZXIoZSl8fCFjLmlzQnVmZmVyKHQpKXRocm93IG5ldyBUeXBlRXJyb3IoIkFyZ3VtZW50cyBtdXN0IGJlIEJ1ZmZlcnMiKTtpZihlPT09dClyZXR1cm4gMDtmb3IodmFyIG49ZS5sZW5ndGgsYT10Lmxlbmd0aCxvPTAscj1NYXRoLm1pbihuLGEpO288cjsrK28paWYoZVtvXSE9PXRbb10pe249ZVtvXSxhPXRbb107YnJlYWt9cmV0dXJuIG48YT8tMTphPG4/MTowfSxjLmlzRW5jb2Rpbmc9ZnVuY3Rpb24oZSl7c3dpdGNoKFN0cmluZyhlKS50b0xvd2VyQ2FzZSgpKXtjYXNlImhleCI6Y2FzZSJ1dGY4IjpjYXNlInV0Zi04IjpjYXNlImFzY2lpIjpjYXNlImxhdGluMSI6Y2FzZSJiaW5hcnkiOmNhc2UiYmFzZTY0IjpjYXNlInVjczIiOmNhc2UidWNzLTIiOmNhc2UidXRmMTZsZSI6Y2FzZSJ1dGYtMTZsZSI6cmV0dXJuITA7ZGVmYXVsdDpyZXR1cm4hMX19LGMuY29uY2F0PWZ1bmN0aW9uKGUsdCl7aWYoIXIoZSkpdGhyb3cgbmV3IFR5cGVFcnJvcignImxpc3QiIGFyZ3VtZW50IG11c3QgYmUgYW4gQXJyYXkgb2YgQnVmZmVycycpO2lmKDA9PT1lLmxlbmd0aClyZXR1cm4gYy5hbGxvYygwKTt2YXIgbjtpZih2b2lkIDA9PT10KWZvcih0PTAsbj0wO248ZS5sZW5ndGg7KytuKXQrPWVbbl0ubGVuZ3RoO3ZhciBhPWMuYWxsb2NVbnNhZmUodCksbz0wO2ZvcihuPTA7bjxlLmxlbmd0aDsrK24pe3ZhciBpPWVbbl07aWYoIWMuaXNCdWZmZXIoaSkpdGhyb3cgbmV3IFR5cGVFcnJvcignImxpc3QiIGFyZ3VtZW50IG11c3QgYmUgYW4gQXJyYXkgb2YgQnVmZmVycycpO2kuY29weShhLG8pLG8rPWkubGVuZ3RofXJldHVybiBhfSxjLmJ5dGVMZW5ndGg9ZixjLnByb3RvdHlwZS5faXNCdWZmZXI9ITAsYy5wcm90b3R5cGUuc3dhcDE2PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5sZW5ndGg7aWYoZSUyIT0wKXRocm93IG5ldyBSYW5nZUVycm9yKCJCdWZmZXIgc2l6ZSBtdXN0IGJlIGEgbXVsdGlwbGUgb2YgMTYtYml0cyIpO2Zvcih2YXIgdD0wO3Q8ZTt0Kz0yKWgodGhpcyx0LHQrMSk7cmV0dXJuIHRoaXN9LGMucHJvdG90eXBlLnN3YXAzMj1mdW5jdGlvbigpe3ZhciBlPXRoaXMubGVuZ3RoO2lmKGUlNCE9MCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiQnVmZmVyIHNpemUgbXVzdCBiZSBhIG11bHRpcGxlIG9mIDMyLWJpdHMiKTtmb3IodmFyIHQ9MDt0PGU7dCs9NCloKHRoaXMsdCx0KzMpLGgodGhpcyx0KzEsdCsyKTtyZXR1cm4gdGhpc30sYy5wcm90b3R5cGUuc3dhcDY0PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5sZW5ndGg7aWYoZSU4IT0wKXRocm93IG5ldyBSYW5nZUVycm9yKCJCdWZmZXIgc2l6ZSBtdXN0IGJlIGEgbXVsdGlwbGUgb2YgNjQtYml0cyIpO2Zvcih2YXIgdD0wO3Q8ZTt0Kz04KWgodGhpcyx0LHQrNyksaCh0aGlzLHQrMSx0KzYpLGgodGhpcyx0KzIsdCs1KSxoKHRoaXMsdCszLHQrNCk7cmV0dXJuIHRoaXN9LGMucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7dmFyIGU9MHx0aGlzLmxlbmd0aDtyZXR1cm4gMD09PWU/IiI6MD09PWFyZ3VtZW50cy5sZW5ndGg/QSh0aGlzLDAsZSk6Zy5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LGMucHJvdG90eXBlLmVxdWFscz1mdW5jdGlvbihlKXtpZighYy5pc0J1ZmZlcihlKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJBcmd1bWVudCBtdXN0IGJlIGEgQnVmZmVyIik7cmV0dXJuIHRoaXM9PT1lfHwwPT09Yy5jb21wYXJlKHRoaXMsZSl9LGMucHJvdG90eXBlLmluc3BlY3Q9ZnVuY3Rpb24oKXt2YXIgZT0iIixuPXQuSU5TUEVDVF9NQVhfQllURVM7cmV0dXJuIHRoaXMubGVuZ3RoPjAmJihlPXRoaXMudG9TdHJpbmcoImhleCIsMCxuKS5tYXRjaCgvLnsyfS9nKS5qb2luKCIgIiksdGhpcy5sZW5ndGg+biYmKGUrPSIgLi4uICIpKSwiPEJ1ZmZlciAiK2UrIj4ifSxjLnByb3RvdHlwZS5jb21wYXJlPWZ1bmN0aW9uKGUsdCxuLGEsbyl7aWYoIWMuaXNCdWZmZXIoZSkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQXJndW1lbnQgbXVzdCBiZSBhIEJ1ZmZlciIpO2lmKHZvaWQgMD09PXQmJih0PTApLHZvaWQgMD09PW4mJihuPWU/ZS5sZW5ndGg6MCksdm9pZCAwPT09YSYmKGE9MCksdm9pZCAwPT09byYmKG89dGhpcy5sZW5ndGgpLHQ8MHx8bj5lLmxlbmd0aHx8YTwwfHxvPnRoaXMubGVuZ3RoKXRocm93IG5ldyBSYW5nZUVycm9yKCJvdXQgb2YgcmFuZ2UgaW5kZXgiKTtpZihhPj1vJiZ0Pj1uKXJldHVybiAwO2lmKGE+PW8pcmV0dXJuLTE7aWYodD49bilyZXR1cm4gMTtpZih0aGlzPT09ZSlyZXR1cm4gMDtmb3IodmFyIHI9KG8+Pj49MCktKGE+Pj49MCksaT0obj4+Pj0wKS0odD4+Pj0wKSxzPU1hdGgubWluKHIsaSksbD10aGlzLnNsaWNlKGEsbyksdT1lLnNsaWNlKHQsbiksZD0wO2Q8czsrK2QpaWYobFtkXSE9PXVbZF0pe3I9bFtkXSxpPXVbZF07YnJlYWt9cmV0dXJuIHI8aT8tMTppPHI/MTowfSxjLnByb3RvdHlwZS5pbmNsdWRlcz1mdW5jdGlvbihlLHQsbil7cmV0dXJuLTEhPT10aGlzLmluZGV4T2YoZSx0LG4pfSxjLnByb3RvdHlwZS5pbmRleE9mPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gYih0aGlzLGUsdCxuLCEwKX0sYy5wcm90b3R5cGUubGFzdEluZGV4T2Y9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBiKHRoaXMsZSx0LG4sITEpfSxjLnByb3RvdHlwZS53cml0ZT1mdW5jdGlvbihlLHQsbixhKXtpZih2b2lkIDA9PT10KWE9InV0ZjgiLG49dGhpcy5sZW5ndGgsdD0wO2Vsc2UgaWYodm9pZCAwPT09biYmInN0cmluZyI9PXR5cGVvZiB0KWE9dCxuPXRoaXMubGVuZ3RoLHQ9MDtlbHNle2lmKCFpc0Zpbml0ZSh0KSl0aHJvdyBuZXcgRXJyb3IoIkJ1ZmZlci53cml0ZShzdHJpbmcsIGVuY29kaW5nLCBvZmZzZXRbLCBsZW5ndGhdKSBpcyBubyBsb25nZXIgc3VwcG9ydGVkIik7dHw9MCxpc0Zpbml0ZShuKT8obnw9MCx2b2lkIDA9PT1hJiYoYT0idXRmOCIpKTooYT1uLG49dm9pZCAwKX12YXIgbz10aGlzLmxlbmd0aC10O2lmKCh2b2lkIDA9PT1ufHxuPm8pJiYobj1vKSxlLmxlbmd0aD4wJiYobjwwfHx0PDApfHx0PnRoaXMubGVuZ3RoKXRocm93IG5ldyBSYW5nZUVycm9yKCJBdHRlbXB0IHRvIHdyaXRlIG91dHNpZGUgYnVmZmVyIGJvdW5kcyIpO2F8fChhPSJ1dGY4Iik7Zm9yKHZhciByPSExOzspc3dpdGNoKGEpe2Nhc2UiaGV4IjpyZXR1cm4gdyh0aGlzLGUsdCxuKTtjYXNlInV0ZjgiOmNhc2UidXRmLTgiOnJldHVybiB2KHRoaXMsZSx0LG4pO2Nhc2UiYXNjaWkiOnJldHVybiBfKHRoaXMsZSx0LG4pO2Nhc2UibGF0aW4xIjpjYXNlImJpbmFyeSI6cmV0dXJuIGsodGhpcyxlLHQsbik7Y2FzZSJiYXNlNjQiOnJldHVybiB4KHRoaXMsZSx0LG4pO2Nhc2UidWNzMiI6Y2FzZSJ1Y3MtMiI6Y2FzZSJ1dGYxNmxlIjpjYXNlInV0Zi0xNmxlIjpyZXR1cm4gQyh0aGlzLGUsdCxuKTtkZWZhdWx0OmlmKHIpdGhyb3cgbmV3IFR5cGVFcnJvcigiVW5rbm93biBlbmNvZGluZzogIithKTthPSgiIithKS50b0xvd2VyQ2FzZSgpLHI9ITB9fSxjLnByb3RvdHlwZS50b0pTT049ZnVuY3Rpb24oKXtyZXR1cm57dHlwZToiQnVmZmVyIixkYXRhOkFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKHRoaXMuX2Fycnx8dGhpcywwKX19LGMucHJvdG90eXBlLnNsaWNlPWZ1bmN0aW9uKGUsdCl7dmFyIG4sYT10aGlzLmxlbmd0aDtpZigoZT1+fmUpPDA/KGUrPWEpPDAmJihlPTApOmU+YSYmKGU9YSksKHQ9dm9pZCAwPT09dD9hOn5+dCk8MD8odCs9YSk8MCYmKHQ9MCk6dD5hJiYodD1hKSx0PGUmJih0PWUpLGMuVFlQRURfQVJSQVlfU1VQUE9SVCkobj10aGlzLnN1YmFycmF5KGUsdCkpLl9fcHJvdG9fXz1jLnByb3RvdHlwZTtlbHNle3ZhciBvPXQtZTtuPW5ldyBjKG8sdm9pZCAwKTtmb3IodmFyIHI9MDtyPG87KytyKW5bcl09dGhpc1tyK2VdfXJldHVybiBufSxjLnByb3RvdHlwZS5yZWFkVUludExFPWZ1bmN0aW9uKGUsdCxuKXtlfD0wLHR8PTAsbnx8RChlLHQsdGhpcy5sZW5ndGgpO2Zvcih2YXIgYT10aGlzW2VdLG89MSxyPTA7KytyPHQmJihvKj0yNTYpOylhKz10aGlzW2Urcl0qbztyZXR1cm4gYX0sYy5wcm90b3R5cGUucmVhZFVJbnRCRT1mdW5jdGlvbihlLHQsbil7ZXw9MCx0fD0wLG58fEQoZSx0LHRoaXMubGVuZ3RoKTtmb3IodmFyIGE9dGhpc1tlKy0tdF0sbz0xO3Q+MCYmKG8qPTI1Nik7KWErPXRoaXNbZSstLXRdKm87cmV0dXJuIGF9LGMucHJvdG90eXBlLnJlYWRVSW50OD1mdW5jdGlvbihlLHQpe3JldHVybiB0fHxEKGUsMSx0aGlzLmxlbmd0aCksdGhpc1tlXX0sYy5wcm90b3R5cGUucmVhZFVJbnQxNkxFPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHR8fEQoZSwyLHRoaXMubGVuZ3RoKSx0aGlzW2VdfHRoaXNbZSsxXTw8OH0sYy5wcm90b3R5cGUucmVhZFVJbnQxNkJFPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHR8fEQoZSwyLHRoaXMubGVuZ3RoKSx0aGlzW2VdPDw4fHRoaXNbZSsxXX0sYy5wcm90b3R5cGUucmVhZFVJbnQzMkxFPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHR8fEQoZSw0LHRoaXMubGVuZ3RoKSwodGhpc1tlXXx0aGlzW2UrMV08PDh8dGhpc1tlKzJdPDwxNikrMTY3NzcyMTYqdGhpc1tlKzNdfSxjLnByb3RvdHlwZS5yZWFkVUludDMyQkU9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdHx8RChlLDQsdGhpcy5sZW5ndGgpLDE2Nzc3MjE2KnRoaXNbZV0rKHRoaXNbZSsxXTw8MTZ8dGhpc1tlKzJdPDw4fHRoaXNbZSszXSl9LGMucHJvdG90eXBlLnJlYWRJbnRMRT1mdW5jdGlvbihlLHQsbil7ZXw9MCx0fD0wLG58fEQoZSx0LHRoaXMubGVuZ3RoKTtmb3IodmFyIGE9dGhpc1tlXSxvPTEscj0wOysrcjx0JiYobyo9MjU2KTspYSs9dGhpc1tlK3JdKm87cmV0dXJuIGE+PShvKj0xMjgpJiYoYS09TWF0aC5wb3coMiw4KnQpKSxhfSxjLnByb3RvdHlwZS5yZWFkSW50QkU9ZnVuY3Rpb24oZSx0LG4pe2V8PTAsdHw9MCxufHxEKGUsdCx0aGlzLmxlbmd0aCk7Zm9yKHZhciBhPXQsbz0xLHI9dGhpc1tlKy0tYV07YT4wJiYobyo9MjU2KTspcis9dGhpc1tlKy0tYV0qbztyZXR1cm4gcj49KG8qPTEyOCkmJihyLT1NYXRoLnBvdygyLDgqdCkpLHJ9LGMucHJvdG90eXBlLnJlYWRJbnQ4PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHR8fEQoZSwxLHRoaXMubGVuZ3RoKSwxMjgmdGhpc1tlXT8tMSooMjU1LXRoaXNbZV0rMSk6dGhpc1tlXX0sYy5wcm90b3R5cGUucmVhZEludDE2TEU9ZnVuY3Rpb24oZSx0KXt0fHxEKGUsMix0aGlzLmxlbmd0aCk7dmFyIG49dGhpc1tlXXx0aGlzW2UrMV08PDg7cmV0dXJuIDMyNzY4Jm4/NDI5NDkwMTc2MHxuOm59LGMucHJvdG90eXBlLnJlYWRJbnQxNkJFPWZ1bmN0aW9uKGUsdCl7dHx8RChlLDIsdGhpcy5sZW5ndGgpO3ZhciBuPXRoaXNbZSsxXXx0aGlzW2VdPDw4O3JldHVybiAzMjc2OCZuPzQyOTQ5MDE3NjB8bjpufSxjLnByb3RvdHlwZS5yZWFkSW50MzJMRT1mdW5jdGlvbihlLHQpe3JldHVybiB0fHxEKGUsNCx0aGlzLmxlbmd0aCksdGhpc1tlXXx0aGlzW2UrMV08PDh8dGhpc1tlKzJdPDwxNnx0aGlzW2UrM108PDI0fSxjLnByb3RvdHlwZS5yZWFkSW50MzJCRT1mdW5jdGlvbihlLHQpe3JldHVybiB0fHxEKGUsNCx0aGlzLmxlbmd0aCksdGhpc1tlXTw8MjR8dGhpc1tlKzFdPDwxNnx0aGlzW2UrMl08PDh8dGhpc1tlKzNdfSxjLnByb3RvdHlwZS5yZWFkRmxvYXRMRT1mdW5jdGlvbihlLHQpe3JldHVybiB0fHxEKGUsNCx0aGlzLmxlbmd0aCksby5yZWFkKHRoaXMsZSwhMCwyMyw0KX0sYy5wcm90b3R5cGUucmVhZEZsb2F0QkU9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdHx8RChlLDQsdGhpcy5sZW5ndGgpLG8ucmVhZCh0aGlzLGUsITEsMjMsNCl9LGMucHJvdG90eXBlLnJlYWREb3VibGVMRT1mdW5jdGlvbihlLHQpe3JldHVybiB0fHxEKGUsOCx0aGlzLmxlbmd0aCksby5yZWFkKHRoaXMsZSwhMCw1Miw4KX0sYy5wcm90b3R5cGUucmVhZERvdWJsZUJFPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHR8fEQoZSw4LHRoaXMubGVuZ3RoKSxvLnJlYWQodGhpcyxlLCExLDUyLDgpfSxjLnByb3RvdHlwZS53cml0ZVVJbnRMRT1mdW5jdGlvbihlLHQsbixhKXtlPStlLHR8PTAsbnw9MCxhfHxPKHRoaXMsZSx0LG4sTWF0aC5wb3coMiw4Km4pLTEsMCk7dmFyIG89MSxyPTA7Zm9yKHRoaXNbdF09MjU1JmU7KytyPG4mJihvKj0yNTYpOyl0aGlzW3Qrcl09ZS9vJjI1NTtyZXR1cm4gdCtufSxjLnByb3RvdHlwZS53cml0ZVVJbnRCRT1mdW5jdGlvbihlLHQsbixhKXtlPStlLHR8PTAsbnw9MCxhfHxPKHRoaXMsZSx0LG4sTWF0aC5wb3coMiw4Km4pLTEsMCk7dmFyIG89bi0xLHI9MTtmb3IodGhpc1t0K29dPTI1NSZlOy0tbz49MCYmKHIqPTI1Nik7KXRoaXNbdCtvXT1lL3ImMjU1O3JldHVybiB0K259LGMucHJvdG90eXBlLndyaXRlVUludDg9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBlPStlLHR8PTAsbnx8Tyh0aGlzLGUsdCwxLDI1NSwwKSxjLlRZUEVEX0FSUkFZX1NVUFBPUlR8fChlPU1hdGguZmxvb3IoZSkpLHRoaXNbdF09MjU1JmUsdCsxfSxjLnByb3RvdHlwZS53cml0ZVVJbnQxNkxFPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gZT0rZSx0fD0wLG58fE8odGhpcyxlLHQsMiw2NTUzNSwwKSxjLlRZUEVEX0FSUkFZX1NVUFBPUlQ/KHRoaXNbdF09MjU1JmUsdGhpc1t0KzFdPWU+Pj44KTpFKHRoaXMsZSx0LCEwKSx0KzJ9LGMucHJvdG90eXBlLndyaXRlVUludDE2QkU9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBlPStlLHR8PTAsbnx8Tyh0aGlzLGUsdCwyLDY1NTM1LDApLGMuVFlQRURfQVJSQVlfU1VQUE9SVD8odGhpc1t0XT1lPj4+OCx0aGlzW3QrMV09MjU1JmUpOkUodGhpcyxlLHQsITEpLHQrMn0sYy5wcm90b3R5cGUud3JpdGVVSW50MzJMRT1mdW5jdGlvbihlLHQsbil7cmV0dXJuIGU9K2UsdHw9MCxufHxPKHRoaXMsZSx0LDQsNDI5NDk2NzI5NSwwKSxjLlRZUEVEX0FSUkFZX1NVUFBPUlQ/KHRoaXNbdCszXT1lPj4+MjQsdGhpc1t0KzJdPWU+Pj4xNix0aGlzW3QrMV09ZT4+PjgsdGhpc1t0XT0yNTUmZSk6TCh0aGlzLGUsdCwhMCksdCs0fSxjLnByb3RvdHlwZS53cml0ZVVJbnQzMkJFPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gZT0rZSx0fD0wLG58fE8odGhpcyxlLHQsNCw0Mjk0OTY3Mjk1LDApLGMuVFlQRURfQVJSQVlfU1VQUE9SVD8odGhpc1t0XT1lPj4+MjQsdGhpc1t0KzFdPWU+Pj4xNix0aGlzW3QrMl09ZT4+PjgsdGhpc1t0KzNdPTI1NSZlKTpMKHRoaXMsZSx0LCExKSx0KzR9LGMucHJvdG90eXBlLndyaXRlSW50TEU9ZnVuY3Rpb24oZSx0LG4sYSl7aWYoZT0rZSx0fD0wLCFhKXt2YXIgbz1NYXRoLnBvdygyLDgqbi0xKTtPKHRoaXMsZSx0LG4sby0xLC1vKX12YXIgcj0wLGk9MSxzPTA7Zm9yKHRoaXNbdF09MjU1JmU7KytyPG4mJihpKj0yNTYpOyllPDAmJjA9PT1zJiYwIT09dGhpc1t0K3ItMV0mJihzPTEpLHRoaXNbdCtyXT0oZS9pPj4wKS1zJjI1NTtyZXR1cm4gdCtufSxjLnByb3RvdHlwZS53cml0ZUludEJFPWZ1bmN0aW9uKGUsdCxuLGEpe2lmKGU9K2UsdHw9MCwhYSl7dmFyIG89TWF0aC5wb3coMiw4Km4tMSk7Tyh0aGlzLGUsdCxuLG8tMSwtbyl9dmFyIHI9bi0xLGk9MSxzPTA7Zm9yKHRoaXNbdCtyXT0yNTUmZTstLXI+PTAmJihpKj0yNTYpOyllPDAmJjA9PT1zJiYwIT09dGhpc1t0K3IrMV0mJihzPTEpLHRoaXNbdCtyXT0oZS9pPj4wKS1zJjI1NTtyZXR1cm4gdCtufSxjLnByb3RvdHlwZS53cml0ZUludDg9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBlPStlLHR8PTAsbnx8Tyh0aGlzLGUsdCwxLDEyNywtMTI4KSxjLlRZUEVEX0FSUkFZX1NVUFBPUlR8fChlPU1hdGguZmxvb3IoZSkpLGU8MCYmKGU9MjU1K2UrMSksdGhpc1t0XT0yNTUmZSx0KzF9LGMucHJvdG90eXBlLndyaXRlSW50MTZMRT1mdW5jdGlvbihlLHQsbil7cmV0dXJuIGU9K2UsdHw9MCxufHxPKHRoaXMsZSx0LDIsMzI3NjcsLTMyNzY4KSxjLlRZUEVEX0FSUkFZX1NVUFBPUlQ/KHRoaXNbdF09MjU1JmUsdGhpc1t0KzFdPWU+Pj44KTpFKHRoaXMsZSx0LCEwKSx0KzJ9LGMucHJvdG90eXBlLndyaXRlSW50MTZCRT1mdW5jdGlvbihlLHQsbil7cmV0dXJuIGU9K2UsdHw9MCxufHxPKHRoaXMsZSx0LDIsMzI3NjcsLTMyNzY4KSxjLlRZUEVEX0FSUkFZX1NVUFBPUlQ/KHRoaXNbdF09ZT4+PjgsdGhpc1t0KzFdPTI1NSZlKTpFKHRoaXMsZSx0LCExKSx0KzJ9LGMucHJvdG90eXBlLndyaXRlSW50MzJMRT1mdW5jdGlvbihlLHQsbil7cmV0dXJuIGU9K2UsdHw9MCxufHxPKHRoaXMsZSx0LDQsMjE0NzQ4MzY0NywtMjE0NzQ4MzY0OCksYy5UWVBFRF9BUlJBWV9TVVBQT1JUPyh0aGlzW3RdPTI1NSZlLHRoaXNbdCsxXT1lPj4+OCx0aGlzW3QrMl09ZT4+PjE2LHRoaXNbdCszXT1lPj4+MjQpOkwodGhpcyxlLHQsITApLHQrNH0sYy5wcm90b3R5cGUud3JpdGVJbnQzMkJFPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gZT0rZSx0fD0wLG58fE8odGhpcyxlLHQsNCwyMTQ3NDgzNjQ3LC0yMTQ3NDgzNjQ4KSxlPDAmJihlPTQyOTQ5NjcyOTUrZSsxKSxjLlRZUEVEX0FSUkFZX1NVUFBPUlQ/KHRoaXNbdF09ZT4+PjI0LHRoaXNbdCsxXT1lPj4+MTYsdGhpc1t0KzJdPWU+Pj44LHRoaXNbdCszXT0yNTUmZSk6TCh0aGlzLGUsdCwhMSksdCs0fSxjLnByb3RvdHlwZS53cml0ZUZsb2F0TEU9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBqKHRoaXMsZSx0LCEwLG4pfSxjLnByb3RvdHlwZS53cml0ZUZsb2F0QkU9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBqKHRoaXMsZSx0LCExLG4pfSxjLnByb3RvdHlwZS53cml0ZURvdWJsZUxFPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4geih0aGlzLGUsdCwhMCxuKX0sYy5wcm90b3R5cGUud3JpdGVEb3VibGVCRT1mdW5jdGlvbihlLHQsbil7cmV0dXJuIHoodGhpcyxlLHQsITEsbil9LGMucHJvdG90eXBlLmNvcHk9ZnVuY3Rpb24oZSx0LG4sYSl7aWYobnx8KG49MCksYXx8MD09PWF8fChhPXRoaXMubGVuZ3RoKSx0Pj1lLmxlbmd0aCYmKHQ9ZS5sZW5ndGgpLHR8fCh0PTApLGE+MCYmYTxuJiYoYT1uKSxhPT09bilyZXR1cm4gMDtpZigwPT09ZS5sZW5ndGh8fDA9PT10aGlzLmxlbmd0aClyZXR1cm4gMDtpZih0PDApdGhyb3cgbmV3IFJhbmdlRXJyb3IoInRhcmdldFN0YXJ0IG91dCBvZiBib3VuZHMiKTtpZihuPDB8fG4+PXRoaXMubGVuZ3RoKXRocm93IG5ldyBSYW5nZUVycm9yKCJzb3VyY2VTdGFydCBvdXQgb2YgYm91bmRzIik7aWYoYTwwKXRocm93IG5ldyBSYW5nZUVycm9yKCJzb3VyY2VFbmQgb3V0IG9mIGJvdW5kcyIpO2E+dGhpcy5sZW5ndGgmJihhPXRoaXMubGVuZ3RoKSxlLmxlbmd0aC10PGEtbiYmKGE9ZS5sZW5ndGgtdCtuKTt2YXIgbyxyPWEtbjtpZih0aGlzPT09ZSYmbjx0JiZ0PGEpZm9yKG89ci0xO28+PTA7LS1vKWVbbyt0XT10aGlzW28rbl07ZWxzZSBpZihyPDFlM3x8IWMuVFlQRURfQVJSQVlfU1VQUE9SVClmb3Iobz0wO288cjsrK28pZVtvK3RdPXRoaXNbbytuXTtlbHNlIFVpbnQ4QXJyYXkucHJvdG90eXBlLnNldC5jYWxsKGUsdGhpcy5zdWJhcnJheShuLG4rciksdCk7cmV0dXJuIHJ9LGMucHJvdG90eXBlLmZpbGw9ZnVuY3Rpb24oZSx0LG4sYSl7aWYoInN0cmluZyI9PXR5cGVvZiBlKXtpZigic3RyaW5nIj09dHlwZW9mIHQ/KGE9dCx0PTAsbj10aGlzLmxlbmd0aCk6InN0cmluZyI9PXR5cGVvZiBuJiYoYT1uLG49dGhpcy5sZW5ndGgpLDE9PT1lLmxlbmd0aCl7dmFyIG89ZS5jaGFyQ29kZUF0KDApO288MjU2JiYoZT1vKX1pZih2b2lkIDAhPT1hJiYic3RyaW5nIiE9dHlwZW9mIGEpdGhyb3cgbmV3IFR5cGVFcnJvcigiZW5jb2RpbmcgbXVzdCBiZSBhIHN0cmluZyIpO2lmKCJzdHJpbmciPT10eXBlb2YgYSYmIWMuaXNFbmNvZGluZyhhKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJVbmtub3duIGVuY29kaW5nOiAiK2EpfWVsc2UibnVtYmVyIj09dHlwZW9mIGUmJihlJj0yNTUpO2lmKHQ8MHx8dGhpcy5sZW5ndGg8dHx8dGhpcy5sZW5ndGg8bil0aHJvdyBuZXcgUmFuZ2VFcnJvcigiT3V0IG9mIHJhbmdlIGluZGV4Iik7aWYobjw9dClyZXR1cm4gdGhpczt2YXIgcjtpZih0Pj4+PTAsbj12b2lkIDA9PT1uP3RoaXMubGVuZ3RoOm4+Pj4wLGV8fChlPTApLCJudW1iZXIiPT10eXBlb2YgZSlmb3Iocj10O3I8bjsrK3IpdGhpc1tyXT1lO2Vsc2V7dmFyIGk9Yy5pc0J1ZmZlcihlKT9lOlkobmV3IGMoZSxhKS50b1N0cmluZygpKSxzPWkubGVuZ3RoO2ZvcihyPTA7cjxuLXQ7KytyKXRoaXNbcit0XT1pW3Ilc119cmV0dXJuIHRoaXN9O3ZhciBNPS9bXitcLzAtOUEtWmEtei1fXS9nO2Z1bmN0aW9uIEIoZSl7cmV0dXJuIGU8MTY/IjAiK2UudG9TdHJpbmcoMTYpOmUudG9TdHJpbmcoMTYpfWZ1bmN0aW9uIFkoZSx0KXt2YXIgbjt0PXR8fDEvMDtmb3IodmFyIGE9ZS5sZW5ndGgsbz1udWxsLHI9W10saT0wO2k8YTsrK2kpe2lmKChuPWUuY2hhckNvZGVBdChpKSk+NTUyOTUmJm48NTczNDQpe2lmKCFvKXtpZihuPjU2MzE5KXsodC09Myk+LTEmJnIucHVzaCgyMzksMTkxLDE4OSk7Y29udGludWV9aWYoaSsxPT09YSl7KHQtPTMpPi0xJiZyLnB1c2goMjM5LDE5MSwxODkpO2NvbnRpbnVlfW89bjtjb250aW51ZX1pZihuPDU2MzIwKXsodC09Myk+LTEmJnIucHVzaCgyMzksMTkxLDE4OSksbz1uO2NvbnRpbnVlfW49NjU1MzYrKG8tNTUyOTY8PDEwfG4tNTYzMjApfWVsc2UgbyYmKHQtPTMpPi0xJiZyLnB1c2goMjM5LDE5MSwxODkpO2lmKG89bnVsbCxuPDEyOCl7aWYoKHQtPTEpPDApYnJlYWs7ci5wdXNoKG4pfWVsc2UgaWYobjwyMDQ4KXtpZigodC09Mik8MClicmVhaztyLnB1c2gobj4+NnwxOTIsNjMmbnwxMjgpfWVsc2UgaWYobjw2NTUzNil7aWYoKHQtPTMpPDApYnJlYWs7ci5wdXNoKG4+PjEyfDIyNCxuPj42JjYzfDEyOCw2MyZufDEyOCl9ZWxzZXtpZighKG48MTExNDExMikpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIGNvZGUgcG9pbnQiKTtpZigodC09NCk8MClicmVhaztyLnB1c2gobj4+MTh8MjQwLG4+PjEyJjYzfDEyOCxuPj42JjYzfDEyOCw2MyZufDEyOCl9fXJldHVybiByfWZ1bmN0aW9uIFUoZSl7cmV0dXJuIGEudG9CeXRlQXJyYXkoZnVuY3Rpb24oZSl7aWYoKGU9ZnVuY3Rpb24oZSl7cmV0dXJuIGUudHJpbT9lLnRyaW0oKTplLnJlcGxhY2UoL15ccyt8XHMrJC9nLCIiKX0oZSkucmVwbGFjZShNLCIiKSkubGVuZ3RoPDIpcmV0dXJuIiI7Zm9yKDtlLmxlbmd0aCU0IT0wOyllKz0iPSI7cmV0dXJuIGV9KGUpKX1mdW5jdGlvbiBYKGUsdCxuLGEpe2Zvcih2YXIgbz0wO288YSYmIShvK24+PXQubGVuZ3RofHxvPj1lLmxlbmd0aCk7KytvKXRbbytuXT1lW29dO3JldHVybiBvfX0pLmNhbGwodGhpcyxuKDEyKSl9LGZ1bmN0aW9uKGUsdCxuKXt2YXIgYT1uKDMxKTtlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS54ZG9tYWluLG49ZS54c2NoZW1lLG89ZS5lbmFibGVzWERSO3RyeXtpZigidW5kZWZpbmVkIiE9dHlwZW9mIFhNTEh0dHBSZXF1ZXN0JiYoIXR8fGEpKXJldHVybiBuZXcgWE1MSHR0cFJlcXVlc3R9Y2F0Y2goZSl7fXRyeXtpZigidW5kZWZpbmVkIiE9dHlwZW9mIFhEb21haW5SZXF1ZXN0JiYhbiYmbylyZXR1cm4gbmV3IFhEb21haW5SZXF1ZXN0fWNhdGNoKGUpe31pZighdCl0cnl7cmV0dXJuIG5ldyhzZWxmW1siQWN0aXZlIl0uY29uY2F0KCJPYmplY3QiKS5qb2luKCJYIildKSgiTWljcm9zb2Z0LlhNTEhUVFAiKX1jYXRjaChlKXt9fX0sZnVuY3Rpb24oZSx0LG4pe3ZhciBhPW4oMiksbz1uKDEpO2Z1bmN0aW9uIHIoZSl7dGhpcy5wYXRoPWUucGF0aCx0aGlzLmhvc3RuYW1lPWUuaG9zdG5hbWUsdGhpcy5wb3J0PWUucG9ydCx0aGlzLnNlY3VyZT1lLnNlY3VyZSx0aGlzLnF1ZXJ5PWUucXVlcnksdGhpcy50aW1lc3RhbXBQYXJhbT1lLnRpbWVzdGFtcFBhcmFtLHRoaXMudGltZXN0YW1wUmVxdWVzdHM9ZS50aW1lc3RhbXBSZXF1ZXN0cyx0aGlzLnJlYWR5U3RhdGU9IiIsdGhpcy5hZ2VudD1lLmFnZW50fHwhMSx0aGlzLnNvY2tldD1lLnNvY2tldCx0aGlzLmVuYWJsZXNYRFI9ZS5lbmFibGVzWERSLHRoaXMud2l0aENyZWRlbnRpYWxzPWUud2l0aENyZWRlbnRpYWxzLHRoaXMucGZ4PWUucGZ4LHRoaXMua2V5PWUua2V5LHRoaXMucGFzc3BocmFzZT1lLnBhc3NwaHJhc2UsdGhpcy5jZXJ0PWUuY2VydCx0aGlzLmNhPWUuY2EsdGhpcy5jaXBoZXJzPWUuY2lwaGVycyx0aGlzLnJlamVjdFVuYXV0aG9yaXplZD1lLnJlamVjdFVuYXV0aG9yaXplZCx0aGlzLmZvcmNlTm9kZT1lLmZvcmNlTm9kZSx0aGlzLmlzUmVhY3ROYXRpdmU9ZS5pc1JlYWN0TmF0aXZlLHRoaXMuZXh0cmFIZWFkZXJzPWUuZXh0cmFIZWFkZXJzLHRoaXMubG9jYWxBZGRyZXNzPWUubG9jYWxBZGRyZXNzfWUuZXhwb3J0cz1yLG8oci5wcm90b3R5cGUpLHIucHJvdG90eXBlLm9uRXJyb3I9ZnVuY3Rpb24oZSx0KXt2YXIgbj1uZXcgRXJyb3IoZSk7cmV0dXJuIG4udHlwZT0iVHJhbnNwb3J0RXJyb3IiLG4uZGVzY3JpcHRpb249dCx0aGlzLmVtaXQoImVycm9yIixuKSx0aGlzfSxyLnByb3RvdHlwZS5vcGVuPWZ1bmN0aW9uKCl7cmV0dXJuImNsb3NlZCIhPT10aGlzLnJlYWR5U3RhdGUmJiIiIT09dGhpcy5yZWFkeVN0YXRlfHwodGhpcy5yZWFkeVN0YXRlPSJvcGVuaW5nIix0aGlzLmRvT3BlbigpKSx0aGlzfSxyLnByb3RvdHlwZS5jbG9zZT1mdW5jdGlvbigpe3JldHVybiJvcGVuaW5nIiE9PXRoaXMucmVhZHlTdGF0ZSYmIm9wZW4iIT09dGhpcy5yZWFkeVN0YXRlfHwodGhpcy5kb0Nsb3NlKCksdGhpcy5vbkNsb3NlKCkpLHRoaXN9LHIucHJvdG90eXBlLnNlbmQ9ZnVuY3Rpb24oZSl7aWYoIm9wZW4iIT09dGhpcy5yZWFkeVN0YXRlKXRocm93IG5ldyBFcnJvcigiVHJhbnNwb3J0IG5vdCBvcGVuIik7dGhpcy53cml0ZShlKX0sci5wcm90b3R5cGUub25PcGVuPWZ1bmN0aW9uKCl7dGhpcy5yZWFkeVN0YXRlPSJvcGVuIix0aGlzLndyaXRhYmxlPSEwLHRoaXMuZW1pdCgib3BlbiIpfSxyLnByb3RvdHlwZS5vbkRhdGE9ZnVuY3Rpb24oZSl7dmFyIHQ9YS5kZWNvZGVQYWNrZXQoZSx0aGlzLnNvY2tldC5iaW5hcnlUeXBlKTt0aGlzLm9uUGFja2V0KHQpfSxyLnByb3RvdHlwZS5vblBhY2tldD1mdW5jdGlvbihlKXt0aGlzLmVtaXQoInBhY2tldCIsZSl9LHIucHJvdG90eXBlLm9uQ2xvc2U9ZnVuY3Rpb24oKXt0aGlzLnJlYWR5U3RhdGU9ImNsb3NlZCIsdGhpcy5lbWl0KCJjbG9zZSIpfX0sZnVuY3Rpb24oZSx0KXt2YXIgbj0vXig/Oig/IVteOkBdKzpbXjpAXC9dKkApKGh0dHB8aHR0cHN8d3N8d3NzKTpcL1wvKT8oKD86KChbXjpAXSopKD86OihbXjpAXSopKT8pP0ApPygoPzpbYS1mMC05XXswLDR9Oil7Miw3fVthLWYwLTldezAsNH18W146XC8/I10qKSg/OjooXGQqKSk/KSgoKFwvKD86W14/I10oPyFbXj8jXC9dKlwuW14/I1wvLl0rKD86Wz8jXXwkKSkpKlwvPyk/KFtePyNcL10qKSkoPzpcPyhbXiNdKikpPyg/OiMoLiopKT8pLyxhPVsic291cmNlIiwicHJvdG9jb2wiLCJhdXRob3JpdHkiLCJ1c2VySW5mbyIsInVzZXIiLCJwYXNzd29yZCIsImhvc3QiLCJwb3J0IiwicmVsYXRpdmUiLCJwYXRoIiwiZGlyZWN0b3J5IiwiZmlsZSIsInF1ZXJ5IiwiYW5jaG9yIl07ZS5leHBvcnRzPWZ1bmN0aW9uKGUpe3ZhciB0PWUsbz1lLmluZGV4T2YoIlsiKSxyPWUuaW5kZXhPZigiXSIpOy0xIT1vJiYtMSE9ciYmKGU9ZS5zdWJzdHJpbmcoMCxvKStlLnN1YnN0cmluZyhvLHIpLnJlcGxhY2UoLzovZywiOyIpK2Uuc3Vic3RyaW5nKHIsZS5sZW5ndGgpKTtmb3IodmFyIGk9bi5leGVjKGV8fCIiKSxzPXt9LGM9MTQ7Yy0tOylzW2FbY11dPWlbY118fCIiO3JldHVybi0xIT1vJiYtMSE9ciYmKHMuc291cmNlPXQscy5ob3N0PXMuaG9zdC5zdWJzdHJpbmcoMSxzLmhvc3QubGVuZ3RoLTEpLnJlcGxhY2UoLzsvZywiOiIpLHMuYXV0aG9yaXR5PXMuYXV0aG9yaXR5LnJlcGxhY2UoIlsiLCIiKS5yZXBsYWNlKCJdIiwiIikucmVwbGFjZSgvOy9nLCI6Iikscy5pcHY2dXJpPSEwKSxzfX0sZnVuY3Rpb24oZSx0KXt2YXIgbj17fS50b1N0cmluZztlLmV4cG9ydHM9QXJyYXkuaXNBcnJheXx8ZnVuY3Rpb24oZSl7cmV0dXJuIltvYmplY3QgQXJyYXldIj09bi5jYWxsKGUpfX0sZnVuY3Rpb24oZSx0LG4peyhmdW5jdGlvbih0KXtlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7cmV0dXJuIG4mJnQuaXNCdWZmZXIoZSl8fGEmJihlIGluc3RhbmNlb2YgQXJyYXlCdWZmZXJ8fGZ1bmN0aW9uKGUpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBBcnJheUJ1ZmZlci5pc1ZpZXc/QXJyYXlCdWZmZXIuaXNWaWV3KGUpOmUuYnVmZmVyIGluc3RhbmNlb2YgQXJyYXlCdWZmZXJ9KGUpKX07dmFyIG49ImZ1bmN0aW9uIj09dHlwZW9mIHQmJiJmdW5jdGlvbiI9PXR5cGVvZiB0LmlzQnVmZmVyLGE9ImZ1bmN0aW9uIj09dHlwZW9mIEFycmF5QnVmZmVyfSkuY2FsbCh0aGlzLG4oNikuQnVmZmVyKX0sZnVuY3Rpb24oZSx0KXt2YXIgbjtuPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KCk7dHJ5e249bnx8bmV3IEZ1bmN0aW9uKCJyZXR1cm4gdGhpcyIpKCl9Y2F0Y2goZSl7Im9iamVjdCI9PSgidW5kZWZpbmVkIj09PXR5cGVvZiB3aW5kb3c/InVuZGVmaW5lZCI6cCh3aW5kb3cpKSYmKG49d2luZG93KX1lLmV4cG9ydHM9bn0sZnVuY3Rpb24oZSx0LG4pe3ZhciBhPW4oMjkpLG89bigxOSkscj1uKDEpLGk9big1KSxzPW4oMjApLGM9bigyMSksbD1uKDApKCJzb2NrZXQuaW8tY2xpZW50Om1hbmFnZXIiKSx1PW4oMTgpLGQ9big0NiksbT1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O2Z1bmN0aW9uIGYoZSx0KXtpZighKHRoaXMgaW5zdGFuY2VvZiBmKSlyZXR1cm4gbmV3IGYoZSx0KTtlJiYib2JqZWN0Ij09cChlKSYmKHQ9ZSxlPXZvaWQgMCksKHQ9dHx8e30pLnBhdGg9dC5wYXRofHwiL3NvY2tldC5pbyIsdGhpcy5uc3BzPXt9LHRoaXMuc3Vicz1bXSx0aGlzLm9wdHM9dCx0aGlzLnJlY29ubmVjdGlvbighMSE9PXQucmVjb25uZWN0aW9uKSx0aGlzLnJlY29ubmVjdGlvbkF0dGVtcHRzKHQucmVjb25uZWN0aW9uQXR0ZW1wdHN8fDEvMCksdGhpcy5yZWNvbm5lY3Rpb25EZWxheSh0LnJlY29ubmVjdGlvbkRlbGF5fHwxZTMpLHRoaXMucmVjb25uZWN0aW9uRGVsYXlNYXgodC5yZWNvbm5lY3Rpb25EZWxheU1heHx8NWUzKSx0aGlzLnJhbmRvbWl6YXRpb25GYWN0b3IodC5yYW5kb21pemF0aW9uRmFjdG9yfHwuNSksdGhpcy5iYWNrb2ZmPW5ldyBkKHttaW46dGhpcy5yZWNvbm5lY3Rpb25EZWxheSgpLG1heDp0aGlzLnJlY29ubmVjdGlvbkRlbGF5TWF4KCksaml0dGVyOnRoaXMucmFuZG9taXphdGlvbkZhY3RvcigpfSksdGhpcy50aW1lb3V0KG51bGw9PXQudGltZW91dD8yZTQ6dC50aW1lb3V0KSx0aGlzLnJlYWR5U3RhdGU9ImNsb3NlZCIsdGhpcy51cmk9ZSx0aGlzLmNvbm5lY3Rpbmc9W10sdGhpcy5sYXN0UGluZz1udWxsLHRoaXMuZW5jb2Rpbmc9ITEsdGhpcy5wYWNrZXRCdWZmZXI9W107dmFyIG49dC5wYXJzZXJ8fGk7dGhpcy5lbmNvZGVyPW5ldyBuLkVuY29kZXIsdGhpcy5kZWNvZGVyPW5ldyBuLkRlY29kZXIsdGhpcy5hdXRvQ29ubmVjdD0hMSE9PXQuYXV0b0Nvbm5lY3QsdGhpcy5hdXRvQ29ubmVjdCYmdGhpcy5vcGVuKCl9ZS5leHBvcnRzPWYsZi5wcm90b3R5cGUuZW1pdEFsbD1mdW5jdGlvbigpe2Zvcih2YXIgZSBpbiB0aGlzLmVtaXQuYXBwbHkodGhpcyxhcmd1bWVudHMpLHRoaXMubnNwcyltLmNhbGwodGhpcy5uc3BzLGUpJiZ0aGlzLm5zcHNbZV0uZW1pdC5hcHBseSh0aGlzLm5zcHNbZV0sYXJndW1lbnRzKX0sZi5wcm90b3R5cGUudXBkYXRlU29ja2V0SWRzPWZ1bmN0aW9uKCl7Zm9yKHZhciBlIGluIHRoaXMubnNwcyltLmNhbGwodGhpcy5uc3BzLGUpJiYodGhpcy5uc3BzW2VdLmlkPXRoaXMuZ2VuZXJhdGVJZChlKSl9LGYucHJvdG90eXBlLmdlbmVyYXRlSWQ9ZnVuY3Rpb24oZSl7cmV0dXJuKCIvIj09PWU/IiI6ZSsiIyIpK3RoaXMuZW5naW5lLmlkfSxyKGYucHJvdG90eXBlKSxmLnByb3RvdHlwZS5yZWNvbm5lY3Rpb249ZnVuY3Rpb24oZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHRoaXMuX3JlY29ubmVjdGlvbj0hIWUsdGhpcyk6dGhpcy5fcmVjb25uZWN0aW9ufSxmLnByb3RvdHlwZS5yZWNvbm5lY3Rpb25BdHRlbXB0cz1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odGhpcy5fcmVjb25uZWN0aW9uQXR0ZW1wdHM9ZSx0aGlzKTp0aGlzLl9yZWNvbm5lY3Rpb25BdHRlbXB0c30sZi5wcm90b3R5cGUucmVjb25uZWN0aW9uRGVsYXk9ZnVuY3Rpb24oZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHRoaXMuX3JlY29ubmVjdGlvbkRlbGF5PWUsdGhpcy5iYWNrb2ZmJiZ0aGlzLmJhY2tvZmYuc2V0TWluKGUpLHRoaXMpOnRoaXMuX3JlY29ubmVjdGlvbkRlbGF5fSxmLnByb3RvdHlwZS5yYW5kb21pemF0aW9uRmFjdG9yPWZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0aGlzLl9yYW5kb21pemF0aW9uRmFjdG9yPWUsdGhpcy5iYWNrb2ZmJiZ0aGlzLmJhY2tvZmYuc2V0Sml0dGVyKGUpLHRoaXMpOnRoaXMuX3JhbmRvbWl6YXRpb25GYWN0b3J9LGYucHJvdG90eXBlLnJlY29ubmVjdGlvbkRlbGF5TWF4PWZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0aGlzLl9yZWNvbm5lY3Rpb25EZWxheU1heD1lLHRoaXMuYmFja29mZiYmdGhpcy5iYWNrb2ZmLnNldE1heChlKSx0aGlzKTp0aGlzLl9yZWNvbm5lY3Rpb25EZWxheU1heH0sZi5wcm90b3R5cGUudGltZW91dD1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odGhpcy5fdGltZW91dD1lLHRoaXMpOnRoaXMuX3RpbWVvdXR9LGYucHJvdG90eXBlLm1heWJlUmVjb25uZWN0T25PcGVuPWZ1bmN0aW9uKCl7IXRoaXMucmVjb25uZWN0aW5nJiZ0aGlzLl9yZWNvbm5lY3Rpb24mJjA9PT10aGlzLmJhY2tvZmYuYXR0ZW1wdHMmJnRoaXMucmVjb25uZWN0KCl9LGYucHJvdG90eXBlLm9wZW49Zi5wcm90b3R5cGUuY29ubmVjdD1mdW5jdGlvbihlLHQpe2lmKGwoInJlYWR5U3RhdGUgJXMiLHRoaXMucmVhZHlTdGF0ZSksfnRoaXMucmVhZHlTdGF0ZS5pbmRleE9mKCJvcGVuIikpcmV0dXJuIHRoaXM7bCgib3BlbmluZyAlcyIsdGhpcy51cmkpLHRoaXMuZW5naW5lPWEodGhpcy51cmksdGhpcy5vcHRzKTt2YXIgbj10aGlzLmVuZ2luZSxvPXRoaXM7dGhpcy5yZWFkeVN0YXRlPSJvcGVuaW5nIix0aGlzLnNraXBSZWNvbm5lY3Q9ITE7dmFyIHI9cyhuLCJvcGVuIiwoZnVuY3Rpb24oKXtvLm9ub3BlbigpLGUmJmUoKX0pKSxpPXMobiwiZXJyb3IiLChmdW5jdGlvbih0KXtpZihsKCJjb25uZWN0X2Vycm9yIiksby5jbGVhbnVwKCksby5yZWFkeVN0YXRlPSJjbG9zZWQiLG8uZW1pdEFsbCgiY29ubmVjdF9lcnJvciIsdCksZSl7dmFyIG49bmV3IEVycm9yKCJDb25uZWN0aW9uIGVycm9yIik7bi5kYXRhPXQsZShuKX1lbHNlIG8ubWF5YmVSZWNvbm5lY3RPbk9wZW4oKX0pKTtpZighMSE9PXRoaXMuX3RpbWVvdXQpe3ZhciBjPXRoaXMuX3RpbWVvdXQ7bCgiY29ubmVjdCBhdHRlbXB0IHdpbGwgdGltZW91dCBhZnRlciAlZCIsYyk7dmFyIHU9c2V0VGltZW91dCgoZnVuY3Rpb24oKXtsKCJjb25uZWN0IGF0dGVtcHQgdGltZWQgb3V0IGFmdGVyICVkIixjKSxyLmRlc3Ryb3koKSxuLmNsb3NlKCksbi5lbWl0KCJlcnJvciIsInRpbWVvdXQiKSxvLmVtaXRBbGwoImNvbm5lY3RfdGltZW91dCIsYyl9KSxjKTt0aGlzLnN1YnMucHVzaCh7ZGVzdHJveTpmdW5jdGlvbigpe2NsZWFyVGltZW91dCh1KX19KX1yZXR1cm4gdGhpcy5zdWJzLnB1c2gociksdGhpcy5zdWJzLnB1c2goaSksdGhpc30sZi5wcm90b3R5cGUub25vcGVuPWZ1bmN0aW9uKCl7bCgib3BlbiIpLHRoaXMuY2xlYW51cCgpLHRoaXMucmVhZHlTdGF0ZT0ib3BlbiIsdGhpcy5lbWl0KCJvcGVuIik7dmFyIGU9dGhpcy5lbmdpbmU7dGhpcy5zdWJzLnB1c2gocyhlLCJkYXRhIixjKHRoaXMsIm9uZGF0YSIpKSksdGhpcy5zdWJzLnB1c2gocyhlLCJwaW5nIixjKHRoaXMsIm9ucGluZyIpKSksdGhpcy5zdWJzLnB1c2gocyhlLCJwb25nIixjKHRoaXMsIm9ucG9uZyIpKSksdGhpcy5zdWJzLnB1c2gocyhlLCJlcnJvciIsYyh0aGlzLCJvbmVycm9yIikpKSx0aGlzLnN1YnMucHVzaChzKGUsImNsb3NlIixjKHRoaXMsIm9uY2xvc2UiKSkpLHRoaXMuc3Vicy5wdXNoKHModGhpcy5kZWNvZGVyLCJkZWNvZGVkIixjKHRoaXMsIm9uZGVjb2RlZCIpKSl9LGYucHJvdG90eXBlLm9ucGluZz1mdW5jdGlvbigpe3RoaXMubGFzdFBpbmc9bmV3IERhdGUsdGhpcy5lbWl0QWxsKCJwaW5nIil9LGYucHJvdG90eXBlLm9ucG9uZz1mdW5jdGlvbigpe3RoaXMuZW1pdEFsbCgicG9uZyIsbmV3IERhdGUtdGhpcy5sYXN0UGluZyl9LGYucHJvdG90eXBlLm9uZGF0YT1mdW5jdGlvbihlKXt0aGlzLmRlY29kZXIuYWRkKGUpfSxmLnByb3RvdHlwZS5vbmRlY29kZWQ9ZnVuY3Rpb24oZSl7dGhpcy5lbWl0KCJwYWNrZXQiLGUpfSxmLnByb3RvdHlwZS5vbmVycm9yPWZ1bmN0aW9uKGUpe2woImVycm9yIixlKSx0aGlzLmVtaXRBbGwoImVycm9yIixlKX0sZi5wcm90b3R5cGUuc29ja2V0PWZ1bmN0aW9uKGUsdCl7dmFyIG49dGhpcy5uc3BzW2VdO2lmKCFuKXtuPW5ldyBvKHRoaXMsZSx0KSx0aGlzLm5zcHNbZV09bjt2YXIgYT10aGlzO24ub24oImNvbm5lY3RpbmciLHIpLG4ub24oImNvbm5lY3QiLChmdW5jdGlvbigpe24uaWQ9YS5nZW5lcmF0ZUlkKGUpfSkpLHRoaXMuYXV0b0Nvbm5lY3QmJnIoKX1mdW5jdGlvbiByKCl7fnUoYS5jb25uZWN0aW5nLG4pfHxhLmNvbm5lY3RpbmcucHVzaChuKX1yZXR1cm4gbn0sZi5wcm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbihlKXt2YXIgdD11KHRoaXMuY29ubmVjdGluZyxlKTt+dCYmdGhpcy5jb25uZWN0aW5nLnNwbGljZSh0LDEpLHRoaXMuY29ubmVjdGluZy5sZW5ndGh8fHRoaXMuY2xvc2UoKX0sZi5wcm90b3R5cGUucGFja2V0PWZ1bmN0aW9uKGUpe2woIndyaXRpbmcgcGFja2V0ICVqIixlKTt2YXIgdD10aGlzO2UucXVlcnkmJjA9PT1lLnR5cGUmJihlLm5zcCs9Ij8iK2UucXVlcnkpLHQuZW5jb2Rpbmc/dC5wYWNrZXRCdWZmZXIucHVzaChlKToodC5lbmNvZGluZz0hMCx0aGlzLmVuY29kZXIuZW5jb2RlKGUsKGZ1bmN0aW9uKG4pe2Zvcih2YXIgYT0wO2E8bi5sZW5ndGg7YSsrKXQuZW5naW5lLndyaXRlKG5bYV0sZS5vcHRpb25zKTt0LmVuY29kaW5nPSExLHQucHJvY2Vzc1BhY2tldFF1ZXVlKCl9KSkpfSxmLnByb3RvdHlwZS5wcm9jZXNzUGFja2V0UXVldWU9ZnVuY3Rpb24oKXtpZih0aGlzLnBhY2tldEJ1ZmZlci5sZW5ndGg+MCYmIXRoaXMuZW5jb2Rpbmcpe3ZhciBlPXRoaXMucGFja2V0QnVmZmVyLnNoaWZ0KCk7dGhpcy5wYWNrZXQoZSl9fSxmLnByb3RvdHlwZS5jbGVhbnVwPWZ1bmN0aW9uKCl7bCgiY2xlYW51cCIpO2Zvcih2YXIgZT10aGlzLnN1YnMubGVuZ3RoLHQ9MDt0PGU7dCsrKXRoaXMuc3Vicy5zaGlmdCgpLmRlc3Ryb3koKTt0aGlzLnBhY2tldEJ1ZmZlcj1bXSx0aGlzLmVuY29kaW5nPSExLHRoaXMubGFzdFBpbmc9bnVsbCx0aGlzLmRlY29kZXIuZGVzdHJveSgpfSxmLnByb3RvdHlwZS5jbG9zZT1mLnByb3RvdHlwZS5kaXNjb25uZWN0PWZ1bmN0aW9uKCl7bCgiZGlzY29ubmVjdCIpLHRoaXMuc2tpcFJlY29ubmVjdD0hMCx0aGlzLnJlY29ubmVjdGluZz0hMSwib3BlbmluZyI9PT10aGlzLnJlYWR5U3RhdGUmJnRoaXMuY2xlYW51cCgpLHRoaXMuYmFja29mZi5yZXNldCgpLHRoaXMucmVhZHlTdGF0ZT0iY2xvc2VkIix0aGlzLmVuZ2luZSYmdGhpcy5lbmdpbmUuY2xvc2UoKX0sZi5wcm90b3R5cGUub25jbG9zZT1mdW5jdGlvbihlKXtsKCJvbmNsb3NlIiksdGhpcy5jbGVhbnVwKCksdGhpcy5iYWNrb2ZmLnJlc2V0KCksdGhpcy5yZWFkeVN0YXRlPSJjbG9zZWQiLHRoaXMuZW1pdCgiY2xvc2UiLGUpLHRoaXMuX3JlY29ubmVjdGlvbiYmIXRoaXMuc2tpcFJlY29ubmVjdCYmdGhpcy5yZWNvbm5lY3QoKX0sZi5wcm90b3R5cGUucmVjb25uZWN0PWZ1bmN0aW9uKCl7aWYodGhpcy5yZWNvbm5lY3Rpbmd8fHRoaXMuc2tpcFJlY29ubmVjdClyZXR1cm4gdGhpczt2YXIgZT10aGlzO2lmKHRoaXMuYmFja29mZi5hdHRlbXB0cz49dGhpcy5fcmVjb25uZWN0aW9uQXR0ZW1wdHMpbCgicmVjb25uZWN0IGZhaWxlZCIpLHRoaXMuYmFja29mZi5yZXNldCgpLHRoaXMuZW1pdEFsbCgicmVjb25uZWN0X2ZhaWxlZCIpLHRoaXMucmVjb25uZWN0aW5nPSExO2Vsc2V7dmFyIHQ9dGhpcy5iYWNrb2ZmLmR1cmF0aW9uKCk7bCgid2lsbCB3YWl0ICVkbXMgYmVmb3JlIHJlY29ubmVjdCBhdHRlbXB0Iix0KSx0aGlzLnJlY29ubmVjdGluZz0hMDt2YXIgbj1zZXRUaW1lb3V0KChmdW5jdGlvbigpe2Uuc2tpcFJlY29ubmVjdHx8KGwoImF0dGVtcHRpbmcgcmVjb25uZWN0IiksZS5lbWl0QWxsKCJyZWNvbm5lY3RfYXR0ZW1wdCIsZS5iYWNrb2ZmLmF0dGVtcHRzKSxlLmVtaXRBbGwoInJlY29ubmVjdGluZyIsZS5iYWNrb2ZmLmF0dGVtcHRzKSxlLnNraXBSZWNvbm5lY3R8fGUub3BlbigoZnVuY3Rpb24odCl7dD8obCgicmVjb25uZWN0IGF0dGVtcHQgZXJyb3IiKSxlLnJlY29ubmVjdGluZz0hMSxlLnJlY29ubmVjdCgpLGUuZW1pdEFsbCgicmVjb25uZWN0X2Vycm9yIix0LmRhdGEpKToobCgicmVjb25uZWN0IHN1Y2Nlc3MiKSxlLm9ucmVjb25uZWN0KCkpfSkpKX0pLHQpO3RoaXMuc3Vicy5wdXNoKHtkZXN0cm95OmZ1bmN0aW9uKCl7Y2xlYXJUaW1lb3V0KG4pfX0pfX0sZi5wcm90b3R5cGUub25yZWNvbm5lY3Q9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLmJhY2tvZmYuYXR0ZW1wdHM7dGhpcy5yZWNvbm5lY3Rpbmc9ITEsdGhpcy5iYWNrb2ZmLnJlc2V0KCksdGhpcy51cGRhdGVTb2NrZXRJZHMoKSx0aGlzLmVtaXRBbGwoInJlY29ubmVjdCIsZSl9fSxmdW5jdGlvbihlLHQsbil7dmFyIGE9big3KSxvPW4oMzIpLHI9big0MCksaT1uKDQxKTt0LnBvbGxpbmc9ZnVuY3Rpb24oZSl7dmFyIHQ9ITEsbj0hMSxpPSExIT09ZS5qc29ucDtpZigidW5kZWZpbmVkIiE9dHlwZW9mIGxvY2F0aW9uKXt2YXIgcz0iaHR0cHM6Ij09PWxvY2F0aW9uLnByb3RvY29sLGM9bG9jYXRpb24ucG9ydDtjfHwoYz1zPzQ0Mzo4MCksdD1lLmhvc3RuYW1lIT09bG9jYXRpb24uaG9zdG5hbWV8fGMhPT1lLnBvcnQsbj1lLnNlY3VyZSE9PXN9aWYoZS54ZG9tYWluPXQsZS54c2NoZW1lPW4sIm9wZW4iaW4gbmV3IGEoZSkmJiFlLmZvcmNlSlNPTlApcmV0dXJuIG5ldyBvKGUpO2lmKCFpKXRocm93IG5ldyBFcnJvcigiSlNPTlAgZGlzYWJsZWQiKTtyZXR1cm4gbmV3IHIoZSl9LHQud2Vic29ja2V0PWl9LGZ1bmN0aW9uKGUsdCxuKXt2YXIgYT1uKDgpLG89bigzKSxyPW4oMiksaT1uKDQpLHM9bigxNyksYz1uKDApKCJlbmdpbmUuaW8tY2xpZW50OnBvbGxpbmciKTtlLmV4cG9ydHM9dTt2YXIgbD1udWxsIT1uZXcobig3KSkoe3hkb21haW46ITF9KS5yZXNwb25zZVR5cGU7ZnVuY3Rpb24gdShlKXt2YXIgdD1lJiZlLmZvcmNlQmFzZTY0O2wmJiF0fHwodGhpcy5zdXBwb3J0c0JpbmFyeT0hMSksYS5jYWxsKHRoaXMsZSl9aSh1LGEpLHUucHJvdG90eXBlLm5hbWU9InBvbGxpbmciLHUucHJvdG90eXBlLmRvT3Blbj1mdW5jdGlvbigpe3RoaXMucG9sbCgpfSx1LnByb3RvdHlwZS5wYXVzZT1mdW5jdGlvbihlKXt2YXIgdD10aGlzO2Z1bmN0aW9uIG4oKXtjKCJwYXVzZWQiKSx0LnJlYWR5U3RhdGU9InBhdXNlZCIsZSgpfWlmKHRoaXMucmVhZHlTdGF0ZT0icGF1c2luZyIsdGhpcy5wb2xsaW5nfHwhdGhpcy53cml0YWJsZSl7dmFyIGE9MDt0aGlzLnBvbGxpbmcmJihjKCJ3ZSBhcmUgY3VycmVudGx5IHBvbGxpbmcgLSB3YWl0aW5nIHRvIHBhdXNlIiksYSsrLHRoaXMub25jZSgicG9sbENvbXBsZXRlIiwoZnVuY3Rpb24oKXtjKCJwcmUtcGF1c2UgcG9sbGluZyBjb21wbGV0ZSIpLC0tYXx8bigpfSkpKSx0aGlzLndyaXRhYmxlfHwoYygid2UgYXJlIGN1cnJlbnRseSB3cml0aW5nIC0gd2FpdGluZyB0byBwYXVzZSIpLGErKyx0aGlzLm9uY2UoImRyYWluIiwoZnVuY3Rpb24oKXtjKCJwcmUtcGF1c2Ugd3JpdGluZyBjb21wbGV0ZSIpLC0tYXx8bigpfSkpKX1lbHNlIG4oKX0sdS5wcm90b3R5cGUucG9sbD1mdW5jdGlvbigpe2MoInBvbGxpbmciKSx0aGlzLnBvbGxpbmc9ITAsdGhpcy5kb1BvbGwoKSx0aGlzLmVtaXQoInBvbGwiKX0sdS5wcm90b3R5cGUub25EYXRhPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7YygicG9sbGluZyBnb3QgZGF0YSAlcyIsZSksci5kZWNvZGVQYXlsb2FkKGUsdGhpcy5zb2NrZXQuYmluYXJ5VHlwZSwoZnVuY3Rpb24oZSxuLGEpe2lmKCJvcGVuaW5nIj09PXQucmVhZHlTdGF0ZSYmdC5vbk9wZW4oKSwiY2xvc2UiPT09ZS50eXBlKXJldHVybiB0Lm9uQ2xvc2UoKSwhMTt0Lm9uUGFja2V0KGUpfSkpLCJjbG9zZWQiIT09dGhpcy5yZWFkeVN0YXRlJiYodGhpcy5wb2xsaW5nPSExLHRoaXMuZW1pdCgicG9sbENvbXBsZXRlIiksIm9wZW4iPT09dGhpcy5yZWFkeVN0YXRlP3RoaXMucG9sbCgpOmMoJ2lnbm9yaW5nIHBvbGwgLSB0cmFuc3BvcnQgc3RhdGUgIiVzIicsdGhpcy5yZWFkeVN0YXRlKSl9LHUucHJvdG90eXBlLmRvQ2xvc2U9ZnVuY3Rpb24oKXt2YXIgZT10aGlzO2Z1bmN0aW9uIHQoKXtjKCJ3cml0aW5nIGNsb3NlIHBhY2tldCIpLGUud3JpdGUoW3t0eXBlOiJjbG9zZSJ9XSl9Im9wZW4iPT09dGhpcy5yZWFkeVN0YXRlPyhjKCJ0cmFuc3BvcnQgb3BlbiAtIGNsb3NpbmciKSx0KCkpOihjKCJ0cmFuc3BvcnQgbm90IG9wZW4gLSBkZWZlcnJpbmcgY2xvc2UiKSx0aGlzLm9uY2UoIm9wZW4iLHQpKX0sdS5wcm90b3R5cGUud3JpdGU9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpczt0aGlzLndyaXRhYmxlPSExO3ZhciBuPWZ1bmN0aW9uKCl7dC53cml0YWJsZT0hMCx0LmVtaXQoImRyYWluIil9O3IuZW5jb2RlUGF5bG9hZChlLHRoaXMuc3VwcG9ydHNCaW5hcnksKGZ1bmN0aW9uKGUpe3QuZG9Xcml0ZShlLG4pfSkpfSx1LnByb3RvdHlwZS51cmk9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLnF1ZXJ5fHx7fSx0PXRoaXMuc2VjdXJlPyJodHRwcyI6Imh0dHAiLG49IiI7cmV0dXJuITEhPT10aGlzLnRpbWVzdGFtcFJlcXVlc3RzJiYoZVt0aGlzLnRpbWVzdGFtcFBhcmFtXT1zKCkpLHRoaXMuc3VwcG9ydHNCaW5hcnl8fGUuc2lkfHwoZS5iNjQ9MSksZT1vLmVuY29kZShlKSx0aGlzLnBvcnQmJigiaHR0cHMiPT09dCYmNDQzIT09TnVtYmVyKHRoaXMucG9ydCl8fCJodHRwIj09PXQmJjgwIT09TnVtYmVyKHRoaXMucG9ydCkpJiYobj0iOiIrdGhpcy5wb3J0KSxlLmxlbmd0aCYmKGU9Ij8iK2UpLHQrIjovLyIrKC0xIT09dGhpcy5ob3N0bmFtZS5pbmRleE9mKCI6Iik/IlsiK3RoaXMuaG9zdG5hbWUrIl0iOnRoaXMuaG9zdG5hbWUpK24rdGhpcy5wYXRoK2V9fSxmdW5jdGlvbihlLHQsbil7KGZ1bmN0aW9uKHQpe3ZhciBhPW4oMzQpLG89T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyxyPSJmdW5jdGlvbiI9PXR5cGVvZiBCbG9ifHwidW5kZWZpbmVkIiE9dHlwZW9mIEJsb2ImJiJbb2JqZWN0IEJsb2JDb25zdHJ1Y3Rvcl0iPT09by5jYWxsKEJsb2IpLGk9ImZ1bmN0aW9uIj09dHlwZW9mIEZpbGV8fCJ1bmRlZmluZWQiIT10eXBlb2YgRmlsZSYmIltvYmplY3QgRmlsZUNvbnN0cnVjdG9yXSI9PT1vLmNhbGwoRmlsZSk7ZS5leHBvcnRzPWZ1bmN0aW9uIGUobil7aWYoIW58fCJvYmplY3QiIT1wKG4pKXJldHVybiExO2lmKGEobikpe2Zvcih2YXIgbz0wLHM9bi5sZW5ndGg7bzxzO28rKylpZihlKG5bb10pKXJldHVybiEwO3JldHVybiExfWlmKCJmdW5jdGlvbiI9PXR5cGVvZiB0JiZ0LmlzQnVmZmVyJiZ0LmlzQnVmZmVyKG4pfHwiZnVuY3Rpb24iPT10eXBlb2YgQXJyYXlCdWZmZXImJm4gaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcnx8ciYmbiBpbnN0YW5jZW9mIEJsb2J8fGkmJm4gaW5zdGFuY2VvZiBGaWxlKXJldHVybiEwO2lmKG4udG9KU09OJiYiZnVuY3Rpb24iPT10eXBlb2Ygbi50b0pTT04mJjE9PT1hcmd1bWVudHMubGVuZ3RoKXJldHVybiBlKG4udG9KU09OKCksITApO2Zvcih2YXIgYyBpbiBuKWlmKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChuLGMpJiZlKG5bY10pKXJldHVybiEwO3JldHVybiExfX0pLmNhbGwodGhpcyxuKDYpLkJ1ZmZlcil9LGZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIGEsbz0iMDEyMzQ1Njc4OUFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXotXyIuc3BsaXQoIiIpLHI9e30saT0wLHM9MDtmdW5jdGlvbiBjKGUpe3ZhciB0PSIiO2Rve3Q9b1tlJTY0XSt0LGU9TWF0aC5mbG9vcihlLzY0KX13aGlsZShlPjApO3JldHVybiB0fWZ1bmN0aW9uIGwoKXt2YXIgZT1jKCtuZXcgRGF0ZSk7cmV0dXJuIGUhPT1hPyhpPTAsYT1lKTplKyIuIitjKGkrKyl9Zm9yKDtzPDY0O3MrKylyW29bc11dPXM7bC5lbmNvZGU9YyxsLmRlY29kZT1mdW5jdGlvbihlKXt2YXIgdD0wO2ZvcihzPTA7czxlLmxlbmd0aDtzKyspdD02NCp0K3JbZS5jaGFyQXQocyldO3JldHVybiB0fSxlLmV4cG9ydHM9bH0sZnVuY3Rpb24oZSx0KXt2YXIgbj1bXS5pbmRleE9mO2UuZXhwb3J0cz1mdW5jdGlvbihlLHQpe2lmKG4pcmV0dXJuIGUuaW5kZXhPZih0KTtmb3IodmFyIGE9MDthPGUubGVuZ3RoOysrYSlpZihlW2FdPT09dClyZXR1cm4gYTtyZXR1cm4tMX19LGZ1bmN0aW9uKGUsdCxuKXt2YXIgYT1uKDUpLG89bigxKSxyPW4oNDUpLGk9bigyMCkscz1uKDIxKSxjPW4oMCkoInNvY2tldC5pby1jbGllbnQ6c29ja2V0IiksbD1uKDMpLHU9bigxNik7ZS5leHBvcnRzPWY7dmFyIGQ9e2Nvbm5lY3Q6MSxjb25uZWN0X2Vycm9yOjEsY29ubmVjdF90aW1lb3V0OjEsY29ubmVjdGluZzoxLGRpc2Nvbm5lY3Q6MSxlcnJvcjoxLHJlY29ubmVjdDoxLHJlY29ubmVjdF9hdHRlbXB0OjEscmVjb25uZWN0X2ZhaWxlZDoxLHJlY29ubmVjdF9lcnJvcjoxLHJlY29ubmVjdGluZzoxLHBpbmc6MSxwb25nOjF9LG09by5wcm90b3R5cGUuZW1pdDtmdW5jdGlvbiBmKGUsdCxuKXt0aGlzLmlvPWUsdGhpcy5uc3A9dCx0aGlzLmpzb249dGhpcyx0aGlzLmlkcz0wLHRoaXMuYWNrcz17fSx0aGlzLnJlY2VpdmVCdWZmZXI9W10sdGhpcy5zZW5kQnVmZmVyPVtdLHRoaXMuY29ubmVjdGVkPSExLHRoaXMuZGlzY29ubmVjdGVkPSEwLHRoaXMuZmxhZ3M9e30sbiYmbi5xdWVyeSYmKHRoaXMucXVlcnk9bi5xdWVyeSksdGhpcy5pby5hdXRvQ29ubmVjdCYmdGhpcy5vcGVuKCl9byhmLnByb3RvdHlwZSksZi5wcm90b3R5cGUuc3ViRXZlbnRzPWZ1bmN0aW9uKCl7aWYoIXRoaXMuc3Vicyl7dmFyIGU9dGhpcy5pbzt0aGlzLnN1YnM9W2koZSwib3BlbiIscyh0aGlzLCJvbm9wZW4iKSksaShlLCJwYWNrZXQiLHModGhpcywib25wYWNrZXQiKSksaShlLCJjbG9zZSIscyh0aGlzLCJvbmNsb3NlIikpXX19LGYucHJvdG90eXBlLm9wZW49Zi5wcm90b3R5cGUuY29ubmVjdD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmNvbm5lY3RlZHx8KHRoaXMuc3ViRXZlbnRzKCksdGhpcy5pby5vcGVuKCksIm9wZW4iPT09dGhpcy5pby5yZWFkeVN0YXRlJiZ0aGlzLm9ub3BlbigpLHRoaXMuZW1pdCgiY29ubmVjdGluZyIpKSx0aGlzfSxmLnByb3RvdHlwZS5zZW5kPWZ1bmN0aW9uKCl7dmFyIGU9cihhcmd1bWVudHMpO3JldHVybiBlLnVuc2hpZnQoIm1lc3NhZ2UiKSx0aGlzLmVtaXQuYXBwbHkodGhpcyxlKSx0aGlzfSxmLnByb3RvdHlwZS5lbWl0PWZ1bmN0aW9uKGUpe2lmKGQuaGFzT3duUHJvcGVydHkoZSkpcmV0dXJuIG0uYXBwbHkodGhpcyxhcmd1bWVudHMpLHRoaXM7dmFyIHQ9cihhcmd1bWVudHMpLG49e3R5cGU6KHZvaWQgMCE9PXRoaXMuZmxhZ3MuYmluYXJ5P3RoaXMuZmxhZ3MuYmluYXJ5OnUodCkpP2EuQklOQVJZX0VWRU5UOmEuRVZFTlQsZGF0YTp0LG9wdGlvbnM6e319O3JldHVybiBuLm9wdGlvbnMuY29tcHJlc3M9IXRoaXMuZmxhZ3N8fCExIT09dGhpcy5mbGFncy5jb21wcmVzcywiZnVuY3Rpb24iPT10eXBlb2YgdFt0Lmxlbmd0aC0xXSYmKGMoImVtaXR0aW5nIHBhY2tldCB3aXRoIGFjayBpZCAlZCIsdGhpcy5pZHMpLHRoaXMuYWNrc1t0aGlzLmlkc109dC5wb3AoKSxuLmlkPXRoaXMuaWRzKyspLHRoaXMuY29ubmVjdGVkP3RoaXMucGFja2V0KG4pOnRoaXMuc2VuZEJ1ZmZlci5wdXNoKG4pLHRoaXMuZmxhZ3M9e30sdGhpc30sZi5wcm90b3R5cGUucGFja2V0PWZ1bmN0aW9uKGUpe2UubnNwPXRoaXMubnNwLHRoaXMuaW8ucGFja2V0KGUpfSxmLnByb3RvdHlwZS5vbm9wZW49ZnVuY3Rpb24oKXtpZihjKCJ0cmFuc3BvcnQgaXMgb3BlbiAtIGNvbm5lY3RpbmciKSwiLyIhPT10aGlzLm5zcClpZih0aGlzLnF1ZXJ5KXt2YXIgZT0ib2JqZWN0Ij09cCh0aGlzLnF1ZXJ5KT9sLmVuY29kZSh0aGlzLnF1ZXJ5KTp0aGlzLnF1ZXJ5O2MoInNlbmRpbmcgY29ubmVjdCBwYWNrZXQgd2l0aCBxdWVyeSAlcyIsZSksdGhpcy5wYWNrZXQoe3R5cGU6YS5DT05ORUNULHF1ZXJ5OmV9KX1lbHNlIHRoaXMucGFja2V0KHt0eXBlOmEuQ09OTkVDVH0pfSxmLnByb3RvdHlwZS5vbmNsb3NlPWZ1bmN0aW9uKGUpe2MoImNsb3NlICglcykiLGUpLHRoaXMuY29ubmVjdGVkPSExLHRoaXMuZGlzY29ubmVjdGVkPSEwLGRlbGV0ZSB0aGlzLmlkLHRoaXMuZW1pdCgiZGlzY29ubmVjdCIsZSl9LGYucHJvdG90eXBlLm9ucGFja2V0PWZ1bmN0aW9uKGUpe3ZhciB0PWUubnNwPT09dGhpcy5uc3Asbj1lLnR5cGU9PT1hLkVSUk9SJiYiLyI9PT1lLm5zcDtpZih0fHxuKXN3aXRjaChlLnR5cGUpe2Nhc2UgYS5DT05ORUNUOnRoaXMub25jb25uZWN0KCk7YnJlYWs7Y2FzZSBhLkVWRU5UOmNhc2UgYS5CSU5BUllfRVZFTlQ6dGhpcy5vbmV2ZW50KGUpO2JyZWFrO2Nhc2UgYS5BQ0s6Y2FzZSBhLkJJTkFSWV9BQ0s6dGhpcy5vbmFjayhlKTticmVhaztjYXNlIGEuRElTQ09OTkVDVDp0aGlzLm9uZGlzY29ubmVjdCgpO2JyZWFrO2Nhc2UgYS5FUlJPUjp0aGlzLmVtaXQoImVycm9yIixlLmRhdGEpfX0sZi5wcm90b3R5cGUub25ldmVudD1mdW5jdGlvbihlKXt2YXIgdD1lLmRhdGF8fFtdO2MoImVtaXR0aW5nIGV2ZW50ICVqIix0KSxudWxsIT1lLmlkJiYoYygiYXR0YWNoaW5nIGFjayBjYWxsYmFjayB0byBldmVudCIpLHQucHVzaCh0aGlzLmFjayhlLmlkKSkpLHRoaXMuY29ubmVjdGVkP20uYXBwbHkodGhpcyx0KTp0aGlzLnJlY2VpdmVCdWZmZXIucHVzaCh0KX0sZi5wcm90b3R5cGUuYWNrPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMsbj0hMTtyZXR1cm4gZnVuY3Rpb24oKXtpZighbil7bj0hMDt2YXIgbz1yKGFyZ3VtZW50cyk7Yygic2VuZGluZyBhY2sgJWoiLG8pLHQucGFja2V0KHt0eXBlOnUobyk/YS5CSU5BUllfQUNLOmEuQUNLLGlkOmUsZGF0YTpvfSl9fX0sZi5wcm90b3R5cGUub25hY2s9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5hY2tzW2UuaWRdOyJmdW5jdGlvbiI9PXR5cGVvZiB0PyhjKCJjYWxsaW5nIGFjayAlcyB3aXRoICVqIixlLmlkLGUuZGF0YSksdC5hcHBseSh0aGlzLGUuZGF0YSksZGVsZXRlIHRoaXMuYWNrc1tlLmlkXSk6YygiYmFkIGFjayAlcyIsZS5pZCl9LGYucHJvdG90eXBlLm9uY29ubmVjdD1mdW5jdGlvbigpe3RoaXMuY29ubmVjdGVkPSEwLHRoaXMuZGlzY29ubmVjdGVkPSExLHRoaXMuZW1pdCgiY29ubmVjdCIpLHRoaXMuZW1pdEJ1ZmZlcmVkKCl9LGYucHJvdG90eXBlLmVtaXRCdWZmZXJlZD1mdW5jdGlvbigpe3ZhciBlO2ZvcihlPTA7ZTx0aGlzLnJlY2VpdmVCdWZmZXIubGVuZ3RoO2UrKyltLmFwcGx5KHRoaXMsdGhpcy5yZWNlaXZlQnVmZmVyW2VdKTtmb3IodGhpcy5yZWNlaXZlQnVmZmVyPVtdLGU9MDtlPHRoaXMuc2VuZEJ1ZmZlci5sZW5ndGg7ZSsrKXRoaXMucGFja2V0KHRoaXMuc2VuZEJ1ZmZlcltlXSk7dGhpcy5zZW5kQnVmZmVyPVtdfSxmLnByb3RvdHlwZS5vbmRpc2Nvbm5lY3Q9ZnVuY3Rpb24oKXtjKCJzZXJ2ZXIgZGlzY29ubmVjdCAoJXMpIix0aGlzLm5zcCksdGhpcy5kZXN0cm95KCksdGhpcy5vbmNsb3NlKCJpbyBzZXJ2ZXIgZGlzY29ubmVjdCIpfSxmLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7aWYodGhpcy5zdWJzKXtmb3IodmFyIGU9MDtlPHRoaXMuc3Vicy5sZW5ndGg7ZSsrKXRoaXMuc3Vic1tlXS5kZXN0cm95KCk7dGhpcy5zdWJzPW51bGx9dGhpcy5pby5kZXN0cm95KHRoaXMpfSxmLnByb3RvdHlwZS5jbG9zZT1mLnByb3RvdHlwZS5kaXNjb25uZWN0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY29ubmVjdGVkJiYoYygicGVyZm9ybWluZyBkaXNjb25uZWN0ICglcykiLHRoaXMubnNwKSx0aGlzLnBhY2tldCh7dHlwZTphLkRJU0NPTk5FQ1R9KSksdGhpcy5kZXN0cm95KCksdGhpcy5jb25uZWN0ZWQmJnRoaXMub25jbG9zZSgiaW8gY2xpZW50IGRpc2Nvbm5lY3QiKSx0aGlzfSxmLnByb3RvdHlwZS5jb21wcmVzcz1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5mbGFncy5jb21wcmVzcz1lLHRoaXN9LGYucHJvdG90eXBlLmJpbmFyeT1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5mbGFncy5iaW5hcnk9ZSx0aGlzfX0sZnVuY3Rpb24oZSx0KXtlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBlLm9uKHQsbikse2Rlc3Ryb3k6ZnVuY3Rpb24oKXtlLnJlbW92ZUxpc3RlbmVyKHQsbil9fX19LGZ1bmN0aW9uKGUsdCl7dmFyIG49W10uc2xpY2U7ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCl7aWYoInN0cmluZyI9PXR5cGVvZiB0JiYodD1lW3RdKSwiZnVuY3Rpb24iIT10eXBlb2YgdCl0aHJvdyBuZXcgRXJyb3IoImJpbmQoKSByZXF1aXJlcyBhIGZ1bmN0aW9uIik7dmFyIGE9bi5jYWxsKGFyZ3VtZW50cywyKTtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdC5hcHBseShlLGEuY29uY2F0KG4uY2FsbChhcmd1bWVudHMpKSl9fX0sZnVuY3Rpb24oZSx0LG4pe2UuZXhwb3J0cz1uKDIzKX0sZnVuY3Rpb24oZSx0LG4pe3ZhciBhPW4oMjQpLG89big1KSxyPW4oMTMpLGk9bigwKSgic29ja2V0LmlvLWNsaWVudCIpO2UuZXhwb3J0cz10PWM7dmFyIHM9dC5tYW5hZ2Vycz17fTtmdW5jdGlvbiBjKGUsdCl7Im9iamVjdCI9PXAoZSkmJih0PWUsZT12b2lkIDApLHQ9dHx8e307dmFyIG4sbz1hKGUpLGM9by5zb3VyY2UsbD1vLmlkLHU9by5wYXRoLGQ9c1tsXSYmdSBpbiBzW2xdLm5zcHM7cmV0dXJuIHQuZm9yY2VOZXd8fHRbImZvcmNlIG5ldyBjb25uZWN0aW9uIl18fCExPT09dC5tdWx0aXBsZXh8fGQ/KGkoImlnbm9yaW5nIHNvY2tldCBjYWNoZSBmb3IgJXMiLGMpLG49cihjLHQpKTooc1tsXXx8KGkoIm5ldyBpbyBpbnN0YW5jZSBmb3IgJXMiLGMpLHNbbF09cihjLHQpKSxuPXNbbF0pLG8ucXVlcnkmJiF0LnF1ZXJ5JiYodC5xdWVyeT1vLnF1ZXJ5KSxuLnNvY2tldChvLnBhdGgsdCl9dC5wcm90b2NvbD1vLnByb3RvY29sLHQuY29ubmVjdD1jLHQuTWFuYWdlcj1uKDEzKSx0LlNvY2tldD1uKDE5KX0sZnVuY3Rpb24oZSx0LG4pe3ZhciBhPW4oOSksbz1uKDApKCJzb2NrZXQuaW8tY2xpZW50OnVybCIpO2UuZXhwb3J0cz1mdW5jdGlvbihlLHQpe3ZhciBuPWU7dD10fHwidW5kZWZpbmVkIiE9dHlwZW9mIGxvY2F0aW9uJiZsb2NhdGlvbixudWxsPT1lJiYoZT10LnByb3RvY29sKyIvLyIrdC5ob3N0KSwic3RyaW5nIj09dHlwZW9mIGUmJigiLyI9PT1lLmNoYXJBdCgwKSYmKGU9Ii8iPT09ZS5jaGFyQXQoMSk/dC5wcm90b2NvbCtlOnQuaG9zdCtlKSwvXihodHRwcz98d3NzPyk6XC9cLy8udGVzdChlKXx8KG8oInByb3RvY29sLWxlc3MgdXJsICVzIixlKSxlPXZvaWQgMCE9PXQ/dC5wcm90b2NvbCsiLy8iK2U6Imh0dHBzOi8vIitlKSxvKCJwYXJzZSAlcyIsZSksbj1hKGUpKSxuLnBvcnR8fCgvXihodHRwfHdzKSQvLnRlc3Qobi5wcm90b2NvbCk/bi5wb3J0PSI4MCI6L14oaHR0cHx3cylzJC8udGVzdChuLnByb3RvY29sKSYmKG4ucG9ydD0iNDQzIikpLG4ucGF0aD1uLnBhdGh8fCIvIjt2YXIgcj0tMSE9PW4uaG9zdC5pbmRleE9mKCI6Iik/IlsiK24uaG9zdCsiXSI6bi5ob3N0O3JldHVybiBuLmlkPW4ucHJvdG9jb2wrIjovLyIrcisiOiIrbi5wb3J0LG4uaHJlZj1uLnByb3RvY29sKyI6Ly8iK3IrKHQmJnQucG9ydD09PW4ucG9ydD8iIjoiOiIrbi5wb3J0KSxufX0sZnVuY3Rpb24oZSx0LG4pe3ZhciBhPW4oMTApLG89bigxMSkscj1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLGk9ImZ1bmN0aW9uIj09dHlwZW9mIEJsb2J8fCJ1bmRlZmluZWQiIT10eXBlb2YgQmxvYiYmIltvYmplY3QgQmxvYkNvbnN0cnVjdG9yXSI9PT1yLmNhbGwoQmxvYikscz0iZnVuY3Rpb24iPT10eXBlb2YgRmlsZXx8InVuZGVmaW5lZCIhPXR5cGVvZiBGaWxlJiYiW29iamVjdCBGaWxlQ29uc3RydWN0b3JdIj09PXIuY2FsbChGaWxlKTt0LmRlY29uc3RydWN0UGFja2V0PWZ1bmN0aW9uKGUpe3ZhciB0PVtdLG49ZS5kYXRhLHI9ZTtyZXR1cm4gci5kYXRhPWZ1bmN0aW9uIGUodCxuKXtpZighdClyZXR1cm4gdDtpZihvKHQpKXt2YXIgcj17X3BsYWNlaG9sZGVyOiEwLG51bTpuLmxlbmd0aH07cmV0dXJuIG4ucHVzaCh0KSxyfWlmKGEodCkpe2Zvcih2YXIgaT1uZXcgQXJyYXkodC5sZW5ndGgpLHM9MDtzPHQubGVuZ3RoO3MrKylpW3NdPWUodFtzXSxuKTtyZXR1cm4gaX1pZigib2JqZWN0Ij09cCh0KSYmISh0IGluc3RhbmNlb2YgRGF0ZSkpe2Zvcih2YXIgYyBpbiBpPXt9LHQpaVtjXT1lKHRbY10sbik7cmV0dXJuIGl9cmV0dXJuIHR9KG4sdCksci5hdHRhY2htZW50cz10Lmxlbmd0aCx7cGFja2V0OnIsYnVmZmVyczp0fX0sdC5yZWNvbnN0cnVjdFBhY2tldD1mdW5jdGlvbihlLHQpe3JldHVybiBlLmRhdGE9ZnVuY3Rpb24gZSh0LG4pe2lmKCF0KXJldHVybiB0O2lmKHQmJnQuX3BsYWNlaG9sZGVyKXJldHVybiBuW3QubnVtXTtpZihhKHQpKWZvcih2YXIgbz0wO288dC5sZW5ndGg7bysrKXRbb109ZSh0W29dLG4pO2Vsc2UgaWYoIm9iamVjdCI9PXAodCkpZm9yKHZhciByIGluIHQpdFtyXT1lKHRbcl0sbik7cmV0dXJuIHR9KGUuZGF0YSx0KSxlLmF0dGFjaG1lbnRzPXZvaWQgMCxlfSx0LnJlbW92ZUJsb2JzPWZ1bmN0aW9uKGUsdCl7dmFyIG49MCxyPWU7IWZ1bmN0aW9uIGUoYyxsLHUpe2lmKCFjKXJldHVybiBjO2lmKGkmJmMgaW5zdGFuY2VvZiBCbG9ifHxzJiZjIGluc3RhbmNlb2YgRmlsZSl7bisrO3ZhciBkPW5ldyBGaWxlUmVhZGVyO2Qub25sb2FkPWZ1bmN0aW9uKCl7dT91W2xdPXRoaXMucmVzdWx0OnI9dGhpcy5yZXN1bHQsLS1ufHx0KHIpfSxkLnJlYWRBc0FycmF5QnVmZmVyKGMpfWVsc2UgaWYoYShjKSlmb3IodmFyIG09MDttPGMubGVuZ3RoO20rKyllKGNbbV0sbSxjKTtlbHNlIGlmKCJvYmplY3QiPT1wKGMpJiYhbyhjKSlmb3IodmFyIGYgaW4gYyllKGNbZl0sZixjKX0ociksbnx8dChyKX19LGZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7dC5ieXRlTGVuZ3RoPWZ1bmN0aW9uKGUpe3ZhciB0PWwoZSksbj10WzBdLGE9dFsxXTtyZXR1cm4gMyoobithKS80LWF9LHQudG9CeXRlQXJyYXk9ZnVuY3Rpb24oZSl7dmFyIHQsbixhPWwoZSksaT1hWzBdLHM9YVsxXSxjPW5ldyByKGZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gMyoodCtuKS80LW59KDAsaSxzKSksdT0wLGQ9cz4wP2ktNDppO2ZvcihuPTA7bjxkO24rPTQpdD1vW2UuY2hhckNvZGVBdChuKV08PDE4fG9bZS5jaGFyQ29kZUF0KG4rMSldPDwxMnxvW2UuY2hhckNvZGVBdChuKzIpXTw8NnxvW2UuY2hhckNvZGVBdChuKzMpXSxjW3UrK109dD4+MTYmMjU1LGNbdSsrXT10Pj44JjI1NSxjW3UrK109MjU1JnQ7cmV0dXJuIDI9PT1zJiYodD1vW2UuY2hhckNvZGVBdChuKV08PDJ8b1tlLmNoYXJDb2RlQXQobisxKV0+PjQsY1t1KytdPTI1NSZ0KSwxPT09cyYmKHQ9b1tlLmNoYXJDb2RlQXQobildPDwxMHxvW2UuY2hhckNvZGVBdChuKzEpXTw8NHxvW2UuY2hhckNvZGVBdChuKzIpXT4+MixjW3UrK109dD4+OCYyNTUsY1t1KytdPTI1NSZ0KSxjfSx0LmZyb21CeXRlQXJyYXk9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0LG49ZS5sZW5ndGgsbz1uJTMscj1bXSxpPTAscz1uLW87aTxzO2krPTE2MzgzKXIucHVzaCh1KGUsaSxpKzE2MzgzPnM/czppKzE2MzgzKSk7cmV0dXJuIDE9PT1vPyh0PWVbbi0xXSxyLnB1c2goYVt0Pj4yXSthW3Q8PDQmNjNdKyI9PSIpKToyPT09byYmKHQ9KGVbbi0yXTw8OCkrZVtuLTFdLHIucHVzaChhW3Q+PjEwXSthW3Q+PjQmNjNdK2FbdDw8MiY2M10rIj0iKSksci5qb2luKCIiKX07Zm9yKHZhciBhPVtdLG89W10scj0idW5kZWZpbmVkIiE9dHlwZW9mIFVpbnQ4QXJyYXk/VWludDhBcnJheTpBcnJheSxpPSJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvIixzPTAsYz1pLmxlbmd0aDtzPGM7KytzKWFbc109aVtzXSxvW2kuY2hhckNvZGVBdChzKV09cztmdW5jdGlvbiBsKGUpe3ZhciB0PWUubGVuZ3RoO2lmKHQlND4wKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBzdHJpbmcuIExlbmd0aCBtdXN0IGJlIGEgbXVsdGlwbGUgb2YgNCIpO3ZhciBuPWUuaW5kZXhPZigiPSIpO3JldHVybi0xPT09biYmKG49dCksW24sbj09PXQ/MDo0LW4lNF19ZnVuY3Rpb24gdShlLHQsbil7Zm9yKHZhciBvLHIsaT1bXSxzPXQ7czxuO3MrPTMpbz0oZVtzXTw8MTYmMTY3MTE2ODApKyhlW3MrMV08PDgmNjUyODApKygyNTUmZVtzKzJdKSxpLnB1c2goYVsocj1vKT4+MTgmNjNdK2Fbcj4+MTImNjNdK2Fbcj4+NiY2M10rYVs2MyZyXSk7cmV0dXJuIGkuam9pbigiIil9b1siLSIuY2hhckNvZGVBdCgwKV09NjIsb1siXyIuY2hhckNvZGVBdCgwKV09NjN9LGZ1bmN0aW9uKGUsdCl7dC5yZWFkPWZ1bmN0aW9uKGUsdCxuLGEsbyl7dmFyIHIsaSxzPTgqby1hLTEsYz0oMTw8cyktMSxsPWM+PjEsdT0tNyxkPW4/by0xOjAscD1uPy0xOjEsbT1lW3QrZF07Zm9yKGQrPXAscj1tJigxPDwtdSktMSxtPj49LXUsdSs9czt1PjA7cj0yNTYqcitlW3QrZF0sZCs9cCx1LT04KTtmb3IoaT1yJigxPDwtdSktMSxyPj49LXUsdSs9YTt1PjA7aT0yNTYqaStlW3QrZF0sZCs9cCx1LT04KTtpZigwPT09cilyPTEtbDtlbHNle2lmKHI9PT1jKXJldHVybiBpP05hTjoxLzAqKG0/LTE6MSk7aSs9TWF0aC5wb3coMixhKSxyLT1sfXJldHVybihtPy0xOjEpKmkqTWF0aC5wb3coMixyLWEpfSx0LndyaXRlPWZ1bmN0aW9uKGUsdCxuLGEsbyxyKXt2YXIgaSxzLGMsbD04KnItby0xLHU9KDE8PGwpLTEsZD11Pj4xLHA9MjM9PT1vP01hdGgucG93KDIsLTI0KS1NYXRoLnBvdygyLC03Nyk6MCxtPWE/MDpyLTEsZj1hPzE6LTEsZz10PDB8fDA9PT10JiYxL3Q8MD8xOjA7Zm9yKHQ9TWF0aC5hYnModCksaXNOYU4odCl8fHQ9PT0xLzA/KHM9aXNOYU4odCk/MTowLGk9dSk6KGk9TWF0aC5mbG9vcihNYXRoLmxvZyh0KS9NYXRoLkxOMiksdCooYz1NYXRoLnBvdygyLC1pKSk8MSYmKGktLSxjKj0yKSwodCs9aStkPj0xP3AvYzpwKk1hdGgucG93KDIsMS1kKSkqYz49MiYmKGkrKyxjLz0yKSxpK2Q+PXU/KHM9MCxpPXUpOmkrZD49MT8ocz0odCpjLTEpKk1hdGgucG93KDIsbyksaSs9ZCk6KHM9dCpNYXRoLnBvdygyLGQtMSkqTWF0aC5wb3coMixvKSxpPTApKTtvPj04O2VbbittXT0yNTUmcyxtKz1mLHMvPTI1NixvLT04KTtmb3IoaT1pPDxvfHMsbCs9bztsPjA7ZVtuK21dPTI1NSZpLG0rPWYsaS89MjU2LGwtPTgpO2VbbittLWZdfD0xMjgqZ319LGZ1bmN0aW9uKGUsdCl7dmFyIG49e30udG9TdHJpbmc7ZS5leHBvcnRzPUFycmF5LmlzQXJyYXl8fGZ1bmN0aW9uKGUpe3JldHVybiJbb2JqZWN0IEFycmF5XSI9PW4uY2FsbChlKX19LGZ1bmN0aW9uKGUsdCxuKXtlLmV4cG9ydHM9bigzMCksZS5leHBvcnRzLnBhcnNlcj1uKDIpfSxmdW5jdGlvbihlLHQsbil7dmFyIGE9bigxNCksbz1uKDEpLHI9bigwKSgiZW5naW5lLmlvLWNsaWVudDpzb2NrZXQiKSxpPW4oMTgpLHM9bigyKSxjPW4oOSksbD1uKDMpO2Z1bmN0aW9uIHUoZSx0KXtpZighKHRoaXMgaW5zdGFuY2VvZiB1KSlyZXR1cm4gbmV3IHUoZSx0KTt0PXR8fHt9LGUmJiJvYmplY3QiPT1wKGUpJiYodD1lLGU9bnVsbCksZT8oZT1jKGUpLHQuaG9zdG5hbWU9ZS5ob3N0LHQuc2VjdXJlPSJodHRwcyI9PT1lLnByb3RvY29sfHwid3NzIj09PWUucHJvdG9jb2wsdC5wb3J0PWUucG9ydCxlLnF1ZXJ5JiYodC5xdWVyeT1lLnF1ZXJ5KSk6dC5ob3N0JiYodC5ob3N0bmFtZT1jKHQuaG9zdCkuaG9zdCksdGhpcy5zZWN1cmU9bnVsbCE9dC5zZWN1cmU/dC5zZWN1cmU6InVuZGVmaW5lZCIhPXR5cGVvZiBsb2NhdGlvbiYmImh0dHBzOiI9PT1sb2NhdGlvbi5wcm90b2NvbCx0Lmhvc3RuYW1lJiYhdC5wb3J0JiYodC5wb3J0PXRoaXMuc2VjdXJlPyI0NDMiOiI4MCIpLHRoaXMuYWdlbnQ9dC5hZ2VudHx8ITEsdGhpcy5ob3N0bmFtZT10Lmhvc3RuYW1lfHwoInVuZGVmaW5lZCIhPXR5cGVvZiBsb2NhdGlvbj9sb2NhdGlvbi5ob3N0bmFtZToibG9jYWxob3N0IiksdGhpcy5wb3J0PXQucG9ydHx8KCJ1bmRlZmluZWQiIT10eXBlb2YgbG9jYXRpb24mJmxvY2F0aW9uLnBvcnQ/bG9jYXRpb24ucG9ydDp0aGlzLnNlY3VyZT80NDM6ODApLHRoaXMucXVlcnk9dC5xdWVyeXx8e30sInN0cmluZyI9PXR5cGVvZiB0aGlzLnF1ZXJ5JiYodGhpcy5xdWVyeT1sLmRlY29kZSh0aGlzLnF1ZXJ5KSksdGhpcy51cGdyYWRlPSExIT09dC51cGdyYWRlLHRoaXMucGF0aD0odC5wYXRofHwiL2VuZ2luZS5pbyIpLnJlcGxhY2UoL1wvJC8sIiIpKyIvIix0aGlzLmZvcmNlSlNPTlA9ISF0LmZvcmNlSlNPTlAsdGhpcy5qc29ucD0hMSE9PXQuanNvbnAsdGhpcy5mb3JjZUJhc2U2ND0hIXQuZm9yY2VCYXNlNjQsdGhpcy5lbmFibGVzWERSPSEhdC5lbmFibGVzWERSLHRoaXMud2l0aENyZWRlbnRpYWxzPSExIT09dC53aXRoQ3JlZGVudGlhbHMsdGhpcy50aW1lc3RhbXBQYXJhbT10LnRpbWVzdGFtcFBhcmFtfHwidCIsdGhpcy50aW1lc3RhbXBSZXF1ZXN0cz10LnRpbWVzdGFtcFJlcXVlc3RzLHRoaXMudHJhbnNwb3J0cz10LnRyYW5zcG9ydHN8fFsicG9sbGluZyIsIndlYnNvY2tldCJdLHRoaXMudHJhbnNwb3J0T3B0aW9ucz10LnRyYW5zcG9ydE9wdGlvbnN8fHt9LHRoaXMucmVhZHlTdGF0ZT0iIix0aGlzLndyaXRlQnVmZmVyPVtdLHRoaXMucHJldkJ1ZmZlckxlbj0wLHRoaXMucG9saWN5UG9ydD10LnBvbGljeVBvcnR8fDg0Myx0aGlzLnJlbWVtYmVyVXBncmFkZT10LnJlbWVtYmVyVXBncmFkZXx8ITEsdGhpcy5iaW5hcnlUeXBlPW51bGwsdGhpcy5vbmx5QmluYXJ5VXBncmFkZXM9dC5vbmx5QmluYXJ5VXBncmFkZXMsdGhpcy5wZXJNZXNzYWdlRGVmbGF0ZT0hMSE9PXQucGVyTWVzc2FnZURlZmxhdGUmJih0LnBlck1lc3NhZ2VEZWZsYXRlfHx7fSksITA9PT10aGlzLnBlck1lc3NhZ2VEZWZsYXRlJiYodGhpcy5wZXJNZXNzYWdlRGVmbGF0ZT17fSksdGhpcy5wZXJNZXNzYWdlRGVmbGF0ZSYmbnVsbD09dGhpcy5wZXJNZXNzYWdlRGVmbGF0ZS50aHJlc2hvbGQmJih0aGlzLnBlck1lc3NhZ2VEZWZsYXRlLnRocmVzaG9sZD0xMDI0KSx0aGlzLnBmeD10LnBmeHx8bnVsbCx0aGlzLmtleT10LmtleXx8bnVsbCx0aGlzLnBhc3NwaHJhc2U9dC5wYXNzcGhyYXNlfHxudWxsLHRoaXMuY2VydD10LmNlcnR8fG51bGwsdGhpcy5jYT10LmNhfHxudWxsLHRoaXMuY2lwaGVycz10LmNpcGhlcnN8fG51bGwsdGhpcy5yZWplY3RVbmF1dGhvcml6ZWQ9dm9pZCAwPT09dC5yZWplY3RVbmF1dGhvcml6ZWR8fHQucmVqZWN0VW5hdXRob3JpemVkLHRoaXMuZm9yY2VOb2RlPSEhdC5mb3JjZU5vZGUsdGhpcy5pc1JlYWN0TmF0aXZlPSJ1bmRlZmluZWQiIT10eXBlb2YgbmF2aWdhdG9yJiYic3RyaW5nIj09dHlwZW9mIG5hdmlnYXRvci5wcm9kdWN0JiYicmVhY3RuYXRpdmUiPT09bmF2aWdhdG9yLnByb2R1Y3QudG9Mb3dlckNhc2UoKSwoInVuZGVmaW5lZCI9PXR5cGVvZiBzZWxmfHx0aGlzLmlzUmVhY3ROYXRpdmUpJiYodC5leHRyYUhlYWRlcnMmJk9iamVjdC5rZXlzKHQuZXh0cmFIZWFkZXJzKS5sZW5ndGg+MCYmKHRoaXMuZXh0cmFIZWFkZXJzPXQuZXh0cmFIZWFkZXJzKSx0LmxvY2FsQWRkcmVzcyYmKHRoaXMubG9jYWxBZGRyZXNzPXQubG9jYWxBZGRyZXNzKSksdGhpcy5pZD1udWxsLHRoaXMudXBncmFkZXM9bnVsbCx0aGlzLnBpbmdJbnRlcnZhbD1udWxsLHRoaXMucGluZ1RpbWVvdXQ9bnVsbCx0aGlzLnBpbmdJbnRlcnZhbFRpbWVyPW51bGwsdGhpcy5waW5nVGltZW91dFRpbWVyPW51bGwsdGhpcy5vcGVuKCl9ZS5leHBvcnRzPXUsdS5wcmlvcldlYnNvY2tldFN1Y2Nlc3M9ITEsbyh1LnByb3RvdHlwZSksdS5wcm90b2NvbD1zLnByb3RvY29sLHUuU29ja2V0PXUsdS5UcmFuc3BvcnQ9big4KSx1LnRyYW5zcG9ydHM9bigxNCksdS5wYXJzZXI9bigyKSx1LnByb3RvdHlwZS5jcmVhdGVUcmFuc3BvcnQ9ZnVuY3Rpb24oZSl7cignY3JlYXRpbmcgdHJhbnNwb3J0ICIlcyInLGUpO3ZhciB0PWZ1bmN0aW9uKGUpe3ZhciB0PXt9O2Zvcih2YXIgbiBpbiBlKWUuaGFzT3duUHJvcGVydHkobikmJih0W25dPWVbbl0pO3JldHVybiB0fSh0aGlzLnF1ZXJ5KTt0LkVJTz1zLnByb3RvY29sLHQudHJhbnNwb3J0PWU7dmFyIG49dGhpcy50cmFuc3BvcnRPcHRpb25zW2VdfHx7fTtyZXR1cm4gdGhpcy5pZCYmKHQuc2lkPXRoaXMuaWQpLG5ldyBhW2VdKHtxdWVyeTp0LHNvY2tldDp0aGlzLGFnZW50Om4uYWdlbnR8fHRoaXMuYWdlbnQsaG9zdG5hbWU6bi5ob3N0bmFtZXx8dGhpcy5ob3N0bmFtZSxwb3J0Om4ucG9ydHx8dGhpcy5wb3J0LHNlY3VyZTpuLnNlY3VyZXx8dGhpcy5zZWN1cmUscGF0aDpuLnBhdGh8fHRoaXMucGF0aCxmb3JjZUpTT05QOm4uZm9yY2VKU09OUHx8dGhpcy5mb3JjZUpTT05QLGpzb25wOm4uanNvbnB8fHRoaXMuanNvbnAsZm9yY2VCYXNlNjQ6bi5mb3JjZUJhc2U2NHx8dGhpcy5mb3JjZUJhc2U2NCxlbmFibGVzWERSOm4uZW5hYmxlc1hEUnx8dGhpcy5lbmFibGVzWERSLHdpdGhDcmVkZW50aWFsczpuLndpdGhDcmVkZW50aWFsc3x8dGhpcy53aXRoQ3JlZGVudGlhbHMsdGltZXN0YW1wUmVxdWVzdHM6bi50aW1lc3RhbXBSZXF1ZXN0c3x8dGhpcy50aW1lc3RhbXBSZXF1ZXN0cyx0aW1lc3RhbXBQYXJhbTpuLnRpbWVzdGFtcFBhcmFtfHx0aGlzLnRpbWVzdGFtcFBhcmFtLHBvbGljeVBvcnQ6bi5wb2xpY3lQb3J0fHx0aGlzLnBvbGljeVBvcnQscGZ4Om4ucGZ4fHx0aGlzLnBmeCxrZXk6bi5rZXl8fHRoaXMua2V5LHBhc3NwaHJhc2U6bi5wYXNzcGhyYXNlfHx0aGlzLnBhc3NwaHJhc2UsY2VydDpuLmNlcnR8fHRoaXMuY2VydCxjYTpuLmNhfHx0aGlzLmNhLGNpcGhlcnM6bi5jaXBoZXJzfHx0aGlzLmNpcGhlcnMscmVqZWN0VW5hdXRob3JpemVkOm4ucmVqZWN0VW5hdXRob3JpemVkfHx0aGlzLnJlamVjdFVuYXV0aG9yaXplZCxwZXJNZXNzYWdlRGVmbGF0ZTpuLnBlck1lc3NhZ2VEZWZsYXRlfHx0aGlzLnBlck1lc3NhZ2VEZWZsYXRlLGV4dHJhSGVhZGVyczpuLmV4dHJhSGVhZGVyc3x8dGhpcy5leHRyYUhlYWRlcnMsZm9yY2VOb2RlOm4uZm9yY2VOb2RlfHx0aGlzLmZvcmNlTm9kZSxsb2NhbEFkZHJlc3M6bi5sb2NhbEFkZHJlc3N8fHRoaXMubG9jYWxBZGRyZXNzLHJlcXVlc3RUaW1lb3V0Om4ucmVxdWVzdFRpbWVvdXR8fHRoaXMucmVxdWVzdFRpbWVvdXQscHJvdG9jb2xzOm4ucHJvdG9jb2xzfHx2b2lkIDAsaXNSZWFjdE5hdGl2ZTp0aGlzLmlzUmVhY3ROYXRpdmV9KX0sdS5wcm90b3R5cGUub3Blbj1mdW5jdGlvbigpe3ZhciBlO2lmKHRoaXMucmVtZW1iZXJVcGdyYWRlJiZ1LnByaW9yV2Vic29ja2V0U3VjY2VzcyYmLTEhPT10aGlzLnRyYW5zcG9ydHMuaW5kZXhPZigid2Vic29ja2V0IikpZT0id2Vic29ja2V0IjtlbHNle2lmKDA9PT10aGlzLnRyYW5zcG9ydHMubGVuZ3RoKXt2YXIgdD10aGlzO3JldHVybiB2b2lkIHNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7dC5lbWl0KCJlcnJvciIsIk5vIHRyYW5zcG9ydHMgYXZhaWxhYmxlIil9KSwwKX1lPXRoaXMudHJhbnNwb3J0c1swXX10aGlzLnJlYWR5U3RhdGU9Im9wZW5pbmciO3RyeXtlPXRoaXMuY3JlYXRlVHJhbnNwb3J0KGUpfWNhdGNoKGUpe3JldHVybiB0aGlzLnRyYW5zcG9ydHMuc2hpZnQoKSx2b2lkIHRoaXMub3BlbigpfWUub3BlbigpLHRoaXMuc2V0VHJhbnNwb3J0KGUpfSx1LnByb3RvdHlwZS5zZXRUcmFuc3BvcnQ9ZnVuY3Rpb24oZSl7cigic2V0dGluZyB0cmFuc3BvcnQgJXMiLGUubmFtZSk7dmFyIHQ9dGhpczt0aGlzLnRyYW5zcG9ydCYmKHIoImNsZWFyaW5nIGV4aXN0aW5nIHRyYW5zcG9ydCAlcyIsdGhpcy50cmFuc3BvcnQubmFtZSksdGhpcy50cmFuc3BvcnQucmVtb3ZlQWxsTGlzdGVuZXJzKCkpLHRoaXMudHJhbnNwb3J0PWUsZS5vbigiZHJhaW4iLChmdW5jdGlvbigpe3Qub25EcmFpbigpfSkpLm9uKCJwYWNrZXQiLChmdW5jdGlvbihlKXt0Lm9uUGFja2V0KGUpfSkpLm9uKCJlcnJvciIsKGZ1bmN0aW9uKGUpe3Qub25FcnJvcihlKX0pKS5vbigiY2xvc2UiLChmdW5jdGlvbigpe3Qub25DbG9zZSgidHJhbnNwb3J0IGNsb3NlIil9KSl9LHUucHJvdG90eXBlLnByb2JlPWZ1bmN0aW9uKGUpe3IoJ3Byb2JpbmcgdHJhbnNwb3J0ICIlcyInLGUpO3ZhciB0PXRoaXMuY3JlYXRlVHJhbnNwb3J0KGUse3Byb2JlOjF9KSxuPSExLGE9dGhpcztmdW5jdGlvbiBvKCl7aWYoYS5vbmx5QmluYXJ5VXBncmFkZXMpe3ZhciBvPSF0aGlzLnN1cHBvcnRzQmluYXJ5JiZhLnRyYW5zcG9ydC5zdXBwb3J0c0JpbmFyeTtuPW58fG99bnx8KHIoJ3Byb2JlIHRyYW5zcG9ydCAiJXMiIG9wZW5lZCcsZSksdC5zZW5kKFt7dHlwZToicGluZyIsZGF0YToicHJvYmUifV0pLHQub25jZSgicGFja2V0IiwoZnVuY3Rpb24obyl7aWYoIW4paWYoInBvbmciPT09by50eXBlJiYicHJvYmUiPT09by5kYXRhKXtpZihyKCdwcm9iZSB0cmFuc3BvcnQgIiVzIiBwb25nJyxlKSxhLnVwZ3JhZGluZz0hMCxhLmVtaXQoInVwZ3JhZGluZyIsdCksIXQpcmV0dXJuO3UucHJpb3JXZWJzb2NrZXRTdWNjZXNzPSJ3ZWJzb2NrZXQiPT09dC5uYW1lLHIoJ3BhdXNpbmcgY3VycmVudCB0cmFuc3BvcnQgIiVzIicsYS50cmFuc3BvcnQubmFtZSksYS50cmFuc3BvcnQucGF1c2UoKGZ1bmN0aW9uKCl7bnx8ImNsb3NlZCIhPT1hLnJlYWR5U3RhdGUmJihyKCJjaGFuZ2luZyB0cmFuc3BvcnQgYW5kIHNlbmRpbmcgdXBncmFkZSBwYWNrZXQiKSxwKCksYS5zZXRUcmFuc3BvcnQodCksdC5zZW5kKFt7dHlwZToidXBncmFkZSJ9XSksYS5lbWl0KCJ1cGdyYWRlIix0KSx0PW51bGwsYS51cGdyYWRpbmc9ITEsYS5mbHVzaCgpKX0pKX1lbHNle3IoJ3Byb2JlIHRyYW5zcG9ydCAiJXMiIGZhaWxlZCcsZSk7dmFyIGk9bmV3IEVycm9yKCJwcm9iZSBlcnJvciIpO2kudHJhbnNwb3J0PXQubmFtZSxhLmVtaXQoInVwZ3JhZGVFcnJvciIsaSl9fSkpKX1mdW5jdGlvbiBpKCl7bnx8KG49ITAscCgpLHQuY2xvc2UoKSx0PW51bGwpfWZ1bmN0aW9uIHMobil7dmFyIG89bmV3IEVycm9yKCJwcm9iZSBlcnJvcjogIituKTtvLnRyYW5zcG9ydD10Lm5hbWUsaSgpLHIoJ3Byb2JlIHRyYW5zcG9ydCAiJXMiIGZhaWxlZCBiZWNhdXNlIG9mIGVycm9yOiAlcycsZSxuKSxhLmVtaXQoInVwZ3JhZGVFcnJvciIsbyl9ZnVuY3Rpb24gYygpe3MoInRyYW5zcG9ydCBjbG9zZWQiKX1mdW5jdGlvbiBsKCl7cygic29ja2V0IGNsb3NlZCIpfWZ1bmN0aW9uIGQoZSl7dCYmZS5uYW1lIT09dC5uYW1lJiYocignIiVzIiB3b3JrcyAtIGFib3J0aW5nICIlcyInLGUubmFtZSx0Lm5hbWUpLGkoKSl9ZnVuY3Rpb24gcCgpe3QucmVtb3ZlTGlzdGVuZXIoIm9wZW4iLG8pLHQucmVtb3ZlTGlzdGVuZXIoImVycm9yIixzKSx0LnJlbW92ZUxpc3RlbmVyKCJjbG9zZSIsYyksYS5yZW1vdmVMaXN0ZW5lcigiY2xvc2UiLGwpLGEucmVtb3ZlTGlzdGVuZXIoInVwZ3JhZGluZyIsZCl9dS5wcmlvcldlYnNvY2tldFN1Y2Nlc3M9ITEsdC5vbmNlKCJvcGVuIixvKSx0Lm9uY2UoImVycm9yIixzKSx0Lm9uY2UoImNsb3NlIixjKSx0aGlzLm9uY2UoImNsb3NlIixsKSx0aGlzLm9uY2UoInVwZ3JhZGluZyIsZCksdC5vcGVuKCl9LHUucHJvdG90eXBlLm9uT3Blbj1mdW5jdGlvbigpe2lmKHIoInNvY2tldCBvcGVuIiksdGhpcy5yZWFkeVN0YXRlPSJvcGVuIix1LnByaW9yV2Vic29ja2V0U3VjY2Vzcz0id2Vic29ja2V0Ij09PXRoaXMudHJhbnNwb3J0Lm5hbWUsdGhpcy5lbWl0KCJvcGVuIiksdGhpcy5mbHVzaCgpLCJvcGVuIj09PXRoaXMucmVhZHlTdGF0ZSYmdGhpcy51cGdyYWRlJiZ0aGlzLnRyYW5zcG9ydC5wYXVzZSl7cigic3RhcnRpbmcgdXBncmFkZSBwcm9iZXMiKTtmb3IodmFyIGU9MCx0PXRoaXMudXBncmFkZXMubGVuZ3RoO2U8dDtlKyspdGhpcy5wcm9iZSh0aGlzLnVwZ3JhZGVzW2VdKX19LHUucHJvdG90eXBlLm9uUGFja2V0PWZ1bmN0aW9uKGUpe2lmKCJvcGVuaW5nIj09PXRoaXMucmVhZHlTdGF0ZXx8Im9wZW4iPT09dGhpcy5yZWFkeVN0YXRlfHwiY2xvc2luZyI9PT10aGlzLnJlYWR5U3RhdGUpc3dpdGNoKHIoJ3NvY2tldCByZWNlaXZlOiB0eXBlICIlcyIsIGRhdGEgIiVzIicsZS50eXBlLGUuZGF0YSksdGhpcy5lbWl0KCJwYWNrZXQiLGUpLHRoaXMuZW1pdCgiaGVhcnRiZWF0IiksZS50eXBlKXtjYXNlIm9wZW4iOnRoaXMub25IYW5kc2hha2UoSlNPTi5wYXJzZShlLmRhdGEpKTticmVhaztjYXNlInBvbmciOnRoaXMuc2V0UGluZygpLHRoaXMuZW1pdCgicG9uZyIpO2JyZWFrO2Nhc2UiZXJyb3IiOnZhciB0PW5ldyBFcnJvcigic2VydmVyIGVycm9yIik7dC5jb2RlPWUuZGF0YSx0aGlzLm9uRXJyb3IodCk7YnJlYWs7Y2FzZSJtZXNzYWdlIjp0aGlzLmVtaXQoImRhdGEiLGUuZGF0YSksdGhpcy5lbWl0KCJtZXNzYWdlIixlLmRhdGEpfWVsc2UgcigncGFja2V0IHJlY2VpdmVkIHdpdGggc29ja2V0IHJlYWR5U3RhdGUgIiVzIicsdGhpcy5yZWFkeVN0YXRlKX0sdS5wcm90b3R5cGUub25IYW5kc2hha2U9ZnVuY3Rpb24oZSl7dGhpcy5lbWl0KCJoYW5kc2hha2UiLGUpLHRoaXMuaWQ9ZS5zaWQsdGhpcy50cmFuc3BvcnQucXVlcnkuc2lkPWUuc2lkLHRoaXMudXBncmFkZXM9dGhpcy5maWx0ZXJVcGdyYWRlcyhlLnVwZ3JhZGVzKSx0aGlzLnBpbmdJbnRlcnZhbD1lLnBpbmdJbnRlcnZhbCx0aGlzLnBpbmdUaW1lb3V0PWUucGluZ1RpbWVvdXQsdGhpcy5vbk9wZW4oKSwiY2xvc2VkIiE9PXRoaXMucmVhZHlTdGF0ZSYmKHRoaXMuc2V0UGluZygpLHRoaXMucmVtb3ZlTGlzdGVuZXIoImhlYXJ0YmVhdCIsdGhpcy5vbkhlYXJ0YmVhdCksdGhpcy5vbigiaGVhcnRiZWF0Iix0aGlzLm9uSGVhcnRiZWF0KSl9LHUucHJvdG90eXBlLm9uSGVhcnRiZWF0PWZ1bmN0aW9uKGUpe2NsZWFyVGltZW91dCh0aGlzLnBpbmdUaW1lb3V0VGltZXIpO3ZhciB0PXRoaXM7dC5waW5nVGltZW91dFRpbWVyPXNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7ImNsb3NlZCIhPT10LnJlYWR5U3RhdGUmJnQub25DbG9zZSgicGluZyB0aW1lb3V0Iil9KSxlfHx0LnBpbmdJbnRlcnZhbCt0LnBpbmdUaW1lb3V0KX0sdS5wcm90b3R5cGUuc2V0UGluZz1mdW5jdGlvbigpe3ZhciBlPXRoaXM7Y2xlYXJUaW1lb3V0KGUucGluZ0ludGVydmFsVGltZXIpLGUucGluZ0ludGVydmFsVGltZXI9c2V0VGltZW91dCgoZnVuY3Rpb24oKXtyKCJ3cml0aW5nIHBpbmcgcGFja2V0IC0gZXhwZWN0aW5nIHBvbmcgd2l0aGluICVzbXMiLGUucGluZ1RpbWVvdXQpLGUucGluZygpLGUub25IZWFydGJlYXQoZS5waW5nVGltZW91dCl9KSxlLnBpbmdJbnRlcnZhbCl9LHUucHJvdG90eXBlLnBpbmc9ZnVuY3Rpb24oKXt2YXIgZT10aGlzO3RoaXMuc2VuZFBhY2tldCgicGluZyIsKGZ1bmN0aW9uKCl7ZS5lbWl0KCJwaW5nIil9KSl9LHUucHJvdG90eXBlLm9uRHJhaW49ZnVuY3Rpb24oKXt0aGlzLndyaXRlQnVmZmVyLnNwbGljZSgwLHRoaXMucHJldkJ1ZmZlckxlbiksdGhpcy5wcmV2QnVmZmVyTGVuPTAsMD09PXRoaXMud3JpdGVCdWZmZXIubGVuZ3RoP3RoaXMuZW1pdCgiZHJhaW4iKTp0aGlzLmZsdXNoKCl9LHUucHJvdG90eXBlLmZsdXNoPWZ1bmN0aW9uKCl7ImNsb3NlZCIhPT10aGlzLnJlYWR5U3RhdGUmJnRoaXMudHJhbnNwb3J0LndyaXRhYmxlJiYhdGhpcy51cGdyYWRpbmcmJnRoaXMud3JpdGVCdWZmZXIubGVuZ3RoJiYocigiZmx1c2hpbmcgJWQgcGFja2V0cyBpbiBzb2NrZXQiLHRoaXMud3JpdGVCdWZmZXIubGVuZ3RoKSx0aGlzLnRyYW5zcG9ydC5zZW5kKHRoaXMud3JpdGVCdWZmZXIpLHRoaXMucHJldkJ1ZmZlckxlbj10aGlzLndyaXRlQnVmZmVyLmxlbmd0aCx0aGlzLmVtaXQoImZsdXNoIikpfSx1LnByb3RvdHlwZS53cml0ZT11LnByb3RvdHlwZS5zZW5kPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gdGhpcy5zZW5kUGFja2V0KCJtZXNzYWdlIixlLHQsbiksdGhpc30sdS5wcm90b3R5cGUuc2VuZFBhY2tldD1mdW5jdGlvbihlLHQsbixhKXtpZigiZnVuY3Rpb24iPT10eXBlb2YgdCYmKGE9dCx0PXZvaWQgMCksImZ1bmN0aW9uIj09dHlwZW9mIG4mJihhPW4sbj1udWxsKSwiY2xvc2luZyIhPT10aGlzLnJlYWR5U3RhdGUmJiJjbG9zZWQiIT09dGhpcy5yZWFkeVN0YXRlKXsobj1ufHx7fSkuY29tcHJlc3M9ITEhPT1uLmNvbXByZXNzO3ZhciBvPXt0eXBlOmUsZGF0YTp0LG9wdGlvbnM6bn07dGhpcy5lbWl0KCJwYWNrZXRDcmVhdGUiLG8pLHRoaXMud3JpdGVCdWZmZXIucHVzaChvKSxhJiZ0aGlzLm9uY2UoImZsdXNoIixhKSx0aGlzLmZsdXNoKCl9fSx1LnByb3RvdHlwZS5jbG9zZT1mdW5jdGlvbigpe2lmKCJvcGVuaW5nIj09PXRoaXMucmVhZHlTdGF0ZXx8Im9wZW4iPT09dGhpcy5yZWFkeVN0YXRlKXt0aGlzLnJlYWR5U3RhdGU9ImNsb3NpbmciO3ZhciBlPXRoaXM7dGhpcy53cml0ZUJ1ZmZlci5sZW5ndGg/dGhpcy5vbmNlKCJkcmFpbiIsKGZ1bmN0aW9uKCl7dGhpcy51cGdyYWRpbmc/YSgpOnQoKX0pKTp0aGlzLnVwZ3JhZGluZz9hKCk6dCgpfWZ1bmN0aW9uIHQoKXtlLm9uQ2xvc2UoImZvcmNlZCBjbG9zZSIpLHIoInNvY2tldCBjbG9zaW5nIC0gdGVsbGluZyB0cmFuc3BvcnQgdG8gY2xvc2UiKSxlLnRyYW5zcG9ydC5jbG9zZSgpfWZ1bmN0aW9uIG4oKXtlLnJlbW92ZUxpc3RlbmVyKCJ1cGdyYWRlIixuKSxlLnJlbW92ZUxpc3RlbmVyKCJ1cGdyYWRlRXJyb3IiLG4pLHQoKX1mdW5jdGlvbiBhKCl7ZS5vbmNlKCJ1cGdyYWRlIixuKSxlLm9uY2UoInVwZ3JhZGVFcnJvciIsbil9cmV0dXJuIHRoaXN9LHUucHJvdG90eXBlLm9uRXJyb3I9ZnVuY3Rpb24oZSl7cigic29ja2V0IGVycm9yICVqIixlKSx1LnByaW9yV2Vic29ja2V0U3VjY2Vzcz0hMSx0aGlzLmVtaXQoImVycm9yIixlKSx0aGlzLm9uQ2xvc2UoInRyYW5zcG9ydCBlcnJvciIsZSl9LHUucHJvdG90eXBlLm9uQ2xvc2U9ZnVuY3Rpb24oZSx0KXsib3BlbmluZyIhPT10aGlzLnJlYWR5U3RhdGUmJiJvcGVuIiE9PXRoaXMucmVhZHlTdGF0ZSYmImNsb3NpbmciIT09dGhpcy5yZWFkeVN0YXRlfHwocignc29ja2V0IGNsb3NlIHdpdGggcmVhc29uOiAiJXMiJyxlKSxjbGVhclRpbWVvdXQodGhpcy5waW5nSW50ZXJ2YWxUaW1lciksY2xlYXJUaW1lb3V0KHRoaXMucGluZ1RpbWVvdXRUaW1lciksdGhpcy50cmFuc3BvcnQucmVtb3ZlQWxsTGlzdGVuZXJzKCJjbG9zZSIpLHRoaXMudHJhbnNwb3J0LmNsb3NlKCksdGhpcy50cmFuc3BvcnQucmVtb3ZlQWxsTGlzdGVuZXJzKCksdGhpcy5yZWFkeVN0YXRlPSJjbG9zZWQiLHRoaXMuaWQ9bnVsbCx0aGlzLmVtaXQoImNsb3NlIixlLHQpLHRoaXMud3JpdGVCdWZmZXI9W10sdGhpcy5wcmV2QnVmZmVyTGVuPTApfSx1LnByb3RvdHlwZS5maWx0ZXJVcGdyYWRlcz1mdW5jdGlvbihlKXtmb3IodmFyIHQ9W10sbj0wLGE9ZS5sZW5ndGg7bjxhO24rKyl+aSh0aGlzLnRyYW5zcG9ydHMsZVtuXSkmJnQucHVzaChlW25dKTtyZXR1cm4gdH19LGZ1bmN0aW9uKGUsdCl7dHJ5e2UuZXhwb3J0cz0idW5kZWZpbmVkIiE9dHlwZW9mIFhNTEh0dHBSZXF1ZXN0JiYid2l0aENyZWRlbnRpYWxzImluIG5ldyBYTUxIdHRwUmVxdWVzdH1jYXRjaCh0KXtlLmV4cG9ydHM9ITF9fSxmdW5jdGlvbihlLHQsbil7dmFyIGE9big3KSxvPW4oMTUpLHI9bigxKSxpPW4oNCkscz1uKDApKCJlbmdpbmUuaW8tY2xpZW50OnBvbGxpbmcteGhyIik7ZnVuY3Rpb24gYygpe31mdW5jdGlvbiBsKGUpe2lmKG8uY2FsbCh0aGlzLGUpLHRoaXMucmVxdWVzdFRpbWVvdXQ9ZS5yZXF1ZXN0VGltZW91dCx0aGlzLmV4dHJhSGVhZGVycz1lLmV4dHJhSGVhZGVycywidW5kZWZpbmVkIiE9dHlwZW9mIGxvY2F0aW9uKXt2YXIgdD0iaHR0cHM6Ij09PWxvY2F0aW9uLnByb3RvY29sLG49bG9jYXRpb24ucG9ydDtufHwobj10PzQ0Mzo4MCksdGhpcy54ZD0idW5kZWZpbmVkIiE9dHlwZW9mIGxvY2F0aW9uJiZlLmhvc3RuYW1lIT09bG9jYXRpb24uaG9zdG5hbWV8fG4hPT1lLnBvcnQsdGhpcy54cz1lLnNlY3VyZSE9PXR9fWZ1bmN0aW9uIHUoZSl7dGhpcy5tZXRob2Q9ZS5tZXRob2R8fCJHRVQiLHRoaXMudXJpPWUudXJpLHRoaXMueGQ9ISFlLnhkLHRoaXMueHM9ISFlLnhzLHRoaXMuYXN5bmM9ITEhPT1lLmFzeW5jLHRoaXMuZGF0YT12b2lkIDAhPT1lLmRhdGE/ZS5kYXRhOm51bGwsdGhpcy5hZ2VudD1lLmFnZW50LHRoaXMuaXNCaW5hcnk9ZS5pc0JpbmFyeSx0aGlzLnN1cHBvcnRzQmluYXJ5PWUuc3VwcG9ydHNCaW5hcnksdGhpcy5lbmFibGVzWERSPWUuZW5hYmxlc1hEUix0aGlzLndpdGhDcmVkZW50aWFscz1lLndpdGhDcmVkZW50aWFscyx0aGlzLnJlcXVlc3RUaW1lb3V0PWUucmVxdWVzdFRpbWVvdXQsdGhpcy5wZng9ZS5wZngsdGhpcy5rZXk9ZS5rZXksdGhpcy5wYXNzcGhyYXNlPWUucGFzc3BocmFzZSx0aGlzLmNlcnQ9ZS5jZXJ0LHRoaXMuY2E9ZS5jYSx0aGlzLmNpcGhlcnM9ZS5jaXBoZXJzLHRoaXMucmVqZWN0VW5hdXRob3JpemVkPWUucmVqZWN0VW5hdXRob3JpemVkLHRoaXMuZXh0cmFIZWFkZXJzPWUuZXh0cmFIZWFkZXJzLHRoaXMuY3JlYXRlKCl9aWYoZS5leHBvcnRzPWwsZS5leHBvcnRzLlJlcXVlc3Q9dSxpKGwsbyksbC5wcm90b3R5cGUuc3VwcG9ydHNCaW5hcnk9ITAsbC5wcm90b3R5cGUucmVxdWVzdD1mdW5jdGlvbihlKXtyZXR1cm4oZT1lfHx7fSkudXJpPXRoaXMudXJpKCksZS54ZD10aGlzLnhkLGUueHM9dGhpcy54cyxlLmFnZW50PXRoaXMuYWdlbnR8fCExLGUuc3VwcG9ydHNCaW5hcnk9dGhpcy5zdXBwb3J0c0JpbmFyeSxlLmVuYWJsZXNYRFI9dGhpcy5lbmFibGVzWERSLGUud2l0aENyZWRlbnRpYWxzPXRoaXMud2l0aENyZWRlbnRpYWxzLGUucGZ4PXRoaXMucGZ4LGUua2V5PXRoaXMua2V5LGUucGFzc3BocmFzZT10aGlzLnBhc3NwaHJhc2UsZS5jZXJ0PXRoaXMuY2VydCxlLmNhPXRoaXMuY2EsZS5jaXBoZXJzPXRoaXMuY2lwaGVycyxlLnJlamVjdFVuYXV0aG9yaXplZD10aGlzLnJlamVjdFVuYXV0aG9yaXplZCxlLnJlcXVlc3RUaW1lb3V0PXRoaXMucmVxdWVzdFRpbWVvdXQsZS5leHRyYUhlYWRlcnM9dGhpcy5leHRyYUhlYWRlcnMsbmV3IHUoZSl9LGwucHJvdG90eXBlLmRvV3JpdGU9ZnVuY3Rpb24oZSx0KXt2YXIgbj0ic3RyaW5nIiE9dHlwZW9mIGUmJnZvaWQgMCE9PWUsYT10aGlzLnJlcXVlc3Qoe21ldGhvZDoiUE9TVCIsZGF0YTplLGlzQmluYXJ5Om59KSxvPXRoaXM7YS5vbigic3VjY2VzcyIsdCksYS5vbigiZXJyb3IiLChmdW5jdGlvbihlKXtvLm9uRXJyb3IoInhociBwb3N0IGVycm9yIixlKX0pKSx0aGlzLnNlbmRYaHI9YX0sbC5wcm90b3R5cGUuZG9Qb2xsPWZ1bmN0aW9uKCl7cygieGhyIHBvbGwiKTt2YXIgZT10aGlzLnJlcXVlc3QoKSx0PXRoaXM7ZS5vbigiZGF0YSIsKGZ1bmN0aW9uKGUpe3Qub25EYXRhKGUpfSkpLGUub24oImVycm9yIiwoZnVuY3Rpb24oZSl7dC5vbkVycm9yKCJ4aHIgcG9sbCBlcnJvciIsZSl9KSksdGhpcy5wb2xsWGhyPWV9LHIodS5wcm90b3R5cGUpLHUucHJvdG90eXBlLmNyZWF0ZT1mdW5jdGlvbigpe3ZhciBlPXthZ2VudDp0aGlzLmFnZW50LHhkb21haW46dGhpcy54ZCx4c2NoZW1lOnRoaXMueHMsZW5hYmxlc1hEUjp0aGlzLmVuYWJsZXNYRFJ9O2UucGZ4PXRoaXMucGZ4LGUua2V5PXRoaXMua2V5LGUucGFzc3BocmFzZT10aGlzLnBhc3NwaHJhc2UsZS5jZXJ0PXRoaXMuY2VydCxlLmNhPXRoaXMuY2EsZS5jaXBoZXJzPXRoaXMuY2lwaGVycyxlLnJlamVjdFVuYXV0aG9yaXplZD10aGlzLnJlamVjdFVuYXV0aG9yaXplZDt2YXIgdD10aGlzLnhocj1uZXcgYShlKSxuPXRoaXM7dHJ5e3MoInhociBvcGVuICVzOiAlcyIsdGhpcy5tZXRob2QsdGhpcy51cmkpLHQub3Blbih0aGlzLm1ldGhvZCx0aGlzLnVyaSx0aGlzLmFzeW5jKTt0cnl7aWYodGhpcy5leHRyYUhlYWRlcnMpZm9yKHZhciBvIGluIHQuc2V0RGlzYWJsZUhlYWRlckNoZWNrJiZ0LnNldERpc2FibGVIZWFkZXJDaGVjayghMCksdGhpcy5leHRyYUhlYWRlcnMpdGhpcy5leHRyYUhlYWRlcnMuaGFzT3duUHJvcGVydHkobykmJnQuc2V0UmVxdWVzdEhlYWRlcihvLHRoaXMuZXh0cmFIZWFkZXJzW29dKX1jYXRjaChlKXt9aWYoIlBPU1QiPT09dGhpcy5tZXRob2QpdHJ5e3RoaXMuaXNCaW5hcnk/dC5zZXRSZXF1ZXN0SGVhZGVyKCJDb250ZW50LXR5cGUiLCJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0iKTp0LnNldFJlcXVlc3RIZWFkZXIoIkNvbnRlbnQtdHlwZSIsInRleHQvcGxhaW47Y2hhcnNldD1VVEYtOCIpfWNhdGNoKGUpe310cnl7dC5zZXRSZXF1ZXN0SGVhZGVyKCJBY2NlcHQiLCIqLyoiKX1jYXRjaChlKXt9IndpdGhDcmVkZW50aWFscyJpbiB0JiYodC53aXRoQ3JlZGVudGlhbHM9dGhpcy53aXRoQ3JlZGVudGlhbHMpLHRoaXMucmVxdWVzdFRpbWVvdXQmJih0LnRpbWVvdXQ9dGhpcy5yZXF1ZXN0VGltZW91dCksdGhpcy5oYXNYRFIoKT8odC5vbmxvYWQ9ZnVuY3Rpb24oKXtuLm9uTG9hZCgpfSx0Lm9uZXJyb3I9ZnVuY3Rpb24oKXtuLm9uRXJyb3IodC5yZXNwb25zZVRleHQpfSk6dC5vbnJlYWR5c3RhdGVjaGFuZ2U9ZnVuY3Rpb24oKXtpZigyPT09dC5yZWFkeVN0YXRlKXRyeXt2YXIgZT10LmdldFJlc3BvbnNlSGVhZGVyKCJDb250ZW50LVR5cGUiKTsobi5zdXBwb3J0c0JpbmFyeSYmImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSI9PT1lfHwiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtOyBjaGFyc2V0PVVURi04Ij09PWUpJiYodC5yZXNwb25zZVR5cGU9ImFycmF5YnVmZmVyIil9Y2F0Y2goZSl7fTQ9PT10LnJlYWR5U3RhdGUmJigyMDA9PT10LnN0YXR1c3x8MTIyMz09PXQuc3RhdHVzP24ub25Mb2FkKCk6c2V0VGltZW91dCgoZnVuY3Rpb24oKXtuLm9uRXJyb3IoIm51bWJlciI9PXR5cGVvZiB0LnN0YXR1cz90LnN0YXR1czowKX0pLDApKX0scygieGhyIGRhdGEgJXMiLHRoaXMuZGF0YSksdC5zZW5kKHRoaXMuZGF0YSl9Y2F0Y2goZSl7cmV0dXJuIHZvaWQgc2V0VGltZW91dCgoZnVuY3Rpb24oKXtuLm9uRXJyb3IoZSl9KSwwKX0idW5kZWZpbmVkIiE9dHlwZW9mIGRvY3VtZW50JiYodGhpcy5pbmRleD11LnJlcXVlc3RzQ291bnQrKyx1LnJlcXVlc3RzW3RoaXMuaW5kZXhdPXRoaXMpfSx1LnByb3RvdHlwZS5vblN1Y2Nlc3M9ZnVuY3Rpb24oKXt0aGlzLmVtaXQoInN1Y2Nlc3MiKSx0aGlzLmNsZWFudXAoKX0sdS5wcm90b3R5cGUub25EYXRhPWZ1bmN0aW9uKGUpe3RoaXMuZW1pdCgiZGF0YSIsZSksdGhpcy5vblN1Y2Nlc3MoKX0sdS5wcm90b3R5cGUub25FcnJvcj1mdW5jdGlvbihlKXt0aGlzLmVtaXQoImVycm9yIixlKSx0aGlzLmNsZWFudXAoITApfSx1LnByb3RvdHlwZS5jbGVhbnVwPWZ1bmN0aW9uKGUpe2lmKHZvaWQgMCE9PXRoaXMueGhyJiZudWxsIT09dGhpcy54aHIpe2lmKHRoaXMuaGFzWERSKCk/dGhpcy54aHIub25sb2FkPXRoaXMueGhyLm9uZXJyb3I9Yzp0aGlzLnhoci5vbnJlYWR5c3RhdGVjaGFuZ2U9YyxlKXRyeXt0aGlzLnhoci5hYm9ydCgpfWNhdGNoKGUpe30idW5kZWZpbmVkIiE9dHlwZW9mIGRvY3VtZW50JiZkZWxldGUgdS5yZXF1ZXN0c1t0aGlzLmluZGV4XSx0aGlzLnhocj1udWxsfX0sdS5wcm90b3R5cGUub25Mb2FkPWZ1bmN0aW9uKCl7dmFyIGU7dHJ5e3ZhciB0O3RyeXt0PXRoaXMueGhyLmdldFJlc3BvbnNlSGVhZGVyKCJDb250ZW50LVR5cGUiKX1jYXRjaChlKXt9ZT0oImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSI9PT10fHwiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtOyBjaGFyc2V0PVVURi04Ij09PXQpJiZ0aGlzLnhoci5yZXNwb25zZXx8dGhpcy54aHIucmVzcG9uc2VUZXh0fWNhdGNoKGUpe3RoaXMub25FcnJvcihlKX1udWxsIT1lJiZ0aGlzLm9uRGF0YShlKX0sdS5wcm90b3R5cGUuaGFzWERSPWZ1bmN0aW9uKCl7cmV0dXJuInVuZGVmaW5lZCIhPXR5cGVvZiBYRG9tYWluUmVxdWVzdCYmIXRoaXMueHMmJnRoaXMuZW5hYmxlc1hEUn0sdS5wcm90b3R5cGUuYWJvcnQ9ZnVuY3Rpb24oKXt0aGlzLmNsZWFudXAoKX0sdS5yZXF1ZXN0c0NvdW50PTAsdS5yZXF1ZXN0cz17fSwidW5kZWZpbmVkIiE9dHlwZW9mIGRvY3VtZW50KWlmKCJmdW5jdGlvbiI9PXR5cGVvZiBhdHRhY2hFdmVudClhdHRhY2hFdmVudCgib251bmxvYWQiLHApO2Vsc2UgaWYoImZ1bmN0aW9uIj09dHlwZW9mIGFkZEV2ZW50TGlzdGVuZXIpe3ZhciBkPSJvbnBhZ2VoaWRlImluIHNlbGY/InBhZ2VoaWRlIjoidW5sb2FkIjthZGRFdmVudExpc3RlbmVyKGQscCwhMSl9ZnVuY3Rpb24gcCgpe2Zvcih2YXIgZSBpbiB1LnJlcXVlc3RzKXUucmVxdWVzdHMuaGFzT3duUHJvcGVydHkoZSkmJnUucmVxdWVzdHNbZV0uYWJvcnQoKX19LGZ1bmN0aW9uKGUsdCl7ZS5leHBvcnRzPU9iamVjdC5rZXlzfHxmdW5jdGlvbihlKXt2YXIgdD1bXSxuPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7Zm9yKHZhciBhIGluIGUpbi5jYWxsKGUsYSkmJnQucHVzaChhKTtyZXR1cm4gdH19LGZ1bmN0aW9uKGUsdCl7dmFyIG49e30udG9TdHJpbmc7ZS5leHBvcnRzPUFycmF5LmlzQXJyYXl8fGZ1bmN0aW9uKGUpe3JldHVybiJbb2JqZWN0IEFycmF5XSI9PW4uY2FsbChlKX19LGZ1bmN0aW9uKGUsdCl7ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCxuKXt2YXIgYT1lLmJ5dGVMZW5ndGg7aWYodD10fHwwLG49bnx8YSxlLnNsaWNlKXJldHVybiBlLnNsaWNlKHQsbik7aWYodDwwJiYodCs9YSksbjwwJiYobis9YSksbj5hJiYobj1hKSx0Pj1hfHx0Pj1ufHwwPT09YSlyZXR1cm4gbmV3IEFycmF5QnVmZmVyKDApO2Zvcih2YXIgbz1uZXcgVWludDhBcnJheShlKSxyPW5ldyBVaW50OEFycmF5KG4tdCksaT10LHM9MDtpPG47aSsrLHMrKylyW3NdPW9baV07cmV0dXJuIHIuYnVmZmVyfX0sZnVuY3Rpb24oZSx0KXtmdW5jdGlvbiBuKCl7fWUuZXhwb3J0cz1mdW5jdGlvbihlLHQsYSl7dmFyIG89ITE7cmV0dXJuIGE9YXx8bixyLmNvdW50PWUsMD09PWU/dCgpOnI7ZnVuY3Rpb24gcihlLG4pe2lmKHIuY291bnQ8PTApdGhyb3cgbmV3IEVycm9yKCJhZnRlciBjYWxsZWQgdG9vIG1hbnkgdGltZXMiKTstLXIuY291bnQsZT8obz0hMCx0KGUpLHQ9YSk6MCE9PXIuY291bnR8fG98fHQobnVsbCxuKX19fSxmdW5jdGlvbihlLHQpew0KLyohIGh0dHBzOi8vbXRocy5iZS91dGY4anMgdjIuMS4yIGJ5IEBtYXRoaWFzICovDQp2YXIgbixhLG8scj1TdHJpbmcuZnJvbUNoYXJDb2RlO2Z1bmN0aW9uIGkoZSl7Zm9yKHZhciB0LG4sYT1bXSxvPTAscj1lLmxlbmd0aDtvPHI7KSh0PWUuY2hhckNvZGVBdChvKyspKT49NTUyOTYmJnQ8PTU2MzE5JiZvPHI/NTYzMjA9PSg2NDUxMiYobj1lLmNoYXJDb2RlQXQobysrKSkpP2EucHVzaCgoKDEwMjMmdCk8PDEwKSsoMTAyMyZuKSs2NTUzNik6KGEucHVzaCh0KSxvLS0pOmEucHVzaCh0KTtyZXR1cm4gYX1mdW5jdGlvbiBzKGUsdCl7aWYoZT49NTUyOTYmJmU8PTU3MzQzKXtpZih0KXRocm93IEVycm9yKCJMb25lIHN1cnJvZ2F0ZSBVKyIrZS50b1N0cmluZygxNikudG9VcHBlckNhc2UoKSsiIGlzIG5vdCBhIHNjYWxhciB2YWx1ZSIpO3JldHVybiExfXJldHVybiEwfWZ1bmN0aW9uIGMoZSx0KXtyZXR1cm4gcihlPj50JjYzfDEyOCl9ZnVuY3Rpb24gbChlLHQpe2lmKDA9PSg0Mjk0OTY3MTY4JmUpKXJldHVybiByKGUpO3ZhciBuPSIiO3JldHVybiAwPT0oNDI5NDk2NTI0OCZlKT9uPXIoZT4+NiYzMXwxOTIpOjA9PSg0Mjk0OTAxNzYwJmUpPyhzKGUsdCl8fChlPTY1NTMzKSxuPXIoZT4+MTImMTV8MjI0KSxuKz1jKGUsNikpOjA9PSg0MjkyODcwMTQ0JmUpJiYobj1yKGU+PjE4Jjd8MjQwKSxuKz1jKGUsMTIpLG4rPWMoZSw2KSksbityKDYzJmV8MTI4KX1mdW5jdGlvbiB1KCl7aWYobz49YSl0aHJvdyBFcnJvcigiSW52YWxpZCBieXRlIGluZGV4Iik7dmFyIGU9MjU1Jm5bb107aWYobysrLDEyOD09KDE5MiZlKSlyZXR1cm4gNjMmZTt0aHJvdyBFcnJvcigiSW52YWxpZCBjb250aW51YXRpb24gYnl0ZSIpfWZ1bmN0aW9uIGQoZSl7dmFyIHQscjtpZihvPmEpdGhyb3cgRXJyb3IoIkludmFsaWQgYnl0ZSBpbmRleCIpO2lmKG89PWEpcmV0dXJuITE7aWYodD0yNTUmbltvXSxvKyssMD09KDEyOCZ0KSlyZXR1cm4gdDtpZigxOTI9PSgyMjQmdCkpe2lmKChyPSgzMSZ0KTw8Nnx1KCkpPj0xMjgpcmV0dXJuIHI7dGhyb3cgRXJyb3IoIkludmFsaWQgY29udGludWF0aW9uIGJ5dGUiKX1pZigyMjQ9PSgyNDAmdCkpe2lmKChyPSgxNSZ0KTw8MTJ8dSgpPDw2fHUoKSk+PTIwNDgpcmV0dXJuIHMocixlKT9yOjY1NTMzO3Rocm93IEVycm9yKCJJbnZhbGlkIGNvbnRpbnVhdGlvbiBieXRlIil9aWYoMjQwPT0oMjQ4JnQpJiYocj0oNyZ0KTw8MTh8dSgpPDwxMnx1KCk8PDZ8dSgpKT49NjU1MzYmJnI8PTExMTQxMTEpcmV0dXJuIHI7dGhyb3cgRXJyb3IoIkludmFsaWQgVVRGLTggZGV0ZWN0ZWQiKX1lLmV4cG9ydHM9e3ZlcnNpb246IjIuMS4yIixlbmNvZGU6ZnVuY3Rpb24oZSx0KXtmb3IodmFyIG49ITEhPT0odD10fHx7fSkuc3RyaWN0LGE9aShlKSxvPWEubGVuZ3RoLHI9LTEscz0iIjsrK3I8bzspcys9bChhW3JdLG4pO3JldHVybiBzfSxkZWNvZGU6ZnVuY3Rpb24oZSx0KXt2YXIgcz0hMSE9PSh0PXR8fHt9KS5zdHJpY3Q7bj1pKGUpLGE9bi5sZW5ndGgsbz0wO2Zvcih2YXIgYyxsPVtdOyExIT09KGM9ZChzKSk7KWwucHVzaChjKTtyZXR1cm4gZnVuY3Rpb24oZSl7Zm9yKHZhciB0LG49ZS5sZW5ndGgsYT0tMSxvPSIiOysrYTxuOykodD1lW2FdKT42NTUzNSYmKG8rPXIoKHQtPTY1NTM2KT4+PjEwJjEwMjN8NTUyOTYpLHQ9NTYzMjB8MTAyMyZ0KSxvKz1yKHQpO3JldHVybiBvfShsKX19fSxmdW5jdGlvbihlLHQpeyFmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0Ijtmb3IodmFyIGU9IkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky8iLG49bmV3IFVpbnQ4QXJyYXkoMjU2KSxhPTA7YTxlLmxlbmd0aDthKyspbltlLmNoYXJDb2RlQXQoYSldPWE7dC5lbmNvZGU9ZnVuY3Rpb24odCl7dmFyIG4sYT1uZXcgVWludDhBcnJheSh0KSxvPWEubGVuZ3RoLHI9IiI7Zm9yKG49MDtuPG87bis9MylyKz1lW2Fbbl0+PjJdLHIrPWVbKDMmYVtuXSk8PDR8YVtuKzFdPj40XSxyKz1lWygxNSZhW24rMV0pPDwyfGFbbisyXT4+Nl0scis9ZVs2MyZhW24rMl1dO3JldHVybiBvJTM9PTI/cj1yLnN1YnN0cmluZygwLHIubGVuZ3RoLTEpKyI9IjpvJTM9PTEmJihyPXIuc3Vic3RyaW5nKDAsci5sZW5ndGgtMikrIj09Iikscn0sdC5kZWNvZGU9ZnVuY3Rpb24oZSl7dmFyIHQsYSxvLHIsaSxzPS43NSplLmxlbmd0aCxjPWUubGVuZ3RoLGw9MDsiPSI9PT1lW2UubGVuZ3RoLTFdJiYocy0tLCI9Ij09PWVbZS5sZW5ndGgtMl0mJnMtLSk7dmFyIHU9bmV3IEFycmF5QnVmZmVyKHMpLGQ9bmV3IFVpbnQ4QXJyYXkodSk7Zm9yKHQ9MDt0PGM7dCs9NClhPW5bZS5jaGFyQ29kZUF0KHQpXSxvPW5bZS5jaGFyQ29kZUF0KHQrMSldLHI9bltlLmNoYXJDb2RlQXQodCsyKV0saT1uW2UuY2hhckNvZGVBdCh0KzMpXSxkW2wrK109YTw8MnxvPj40LGRbbCsrXT0oMTUmbyk8PDR8cj4+MixkW2wrK109KDMmcik8PDZ8NjMmaTtyZXR1cm4gdX19KCl9LGZ1bmN0aW9uKGUsdCl7dmFyIG49dm9pZCAwIT09bj9uOiJ1bmRlZmluZWQiIT10eXBlb2YgV2ViS2l0QmxvYkJ1aWxkZXI/V2ViS2l0QmxvYkJ1aWxkZXI6InVuZGVmaW5lZCIhPXR5cGVvZiBNU0Jsb2JCdWlsZGVyP01TQmxvYkJ1aWxkZXI6InVuZGVmaW5lZCIhPXR5cGVvZiBNb3pCbG9iQnVpbGRlciYmTW96QmxvYkJ1aWxkZXIsYT1mdW5jdGlvbigpe3RyeXtyZXR1cm4gMj09PW5ldyBCbG9iKFsiaGkiXSkuc2l6ZX1jYXRjaChlKXtyZXR1cm4hMX19KCksbz1hJiZmdW5jdGlvbigpe3RyeXtyZXR1cm4gMj09PW5ldyBCbG9iKFtuZXcgVWludDhBcnJheShbMSwyXSldKS5zaXplfWNhdGNoKGUpe3JldHVybiExfX0oKSxyPW4mJm4ucHJvdG90eXBlLmFwcGVuZCYmbi5wcm90b3R5cGUuZ2V0QmxvYjtmdW5jdGlvbiBpKGUpe3JldHVybiBlLm1hcCgoZnVuY3Rpb24oZSl7aWYoZS5idWZmZXIgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcil7dmFyIHQ9ZS5idWZmZXI7aWYoZS5ieXRlTGVuZ3RoIT09dC5ieXRlTGVuZ3RoKXt2YXIgbj1uZXcgVWludDhBcnJheShlLmJ5dGVMZW5ndGgpO24uc2V0KG5ldyBVaW50OEFycmF5KHQsZS5ieXRlT2Zmc2V0LGUuYnl0ZUxlbmd0aCkpLHQ9bi5idWZmZXJ9cmV0dXJuIHR9cmV0dXJuIGV9KSl9ZnVuY3Rpb24gcyhlLHQpe3Q9dHx8e307dmFyIGE9bmV3IG47cmV0dXJuIGkoZSkuZm9yRWFjaCgoZnVuY3Rpb24oZSl7YS5hcHBlbmQoZSl9KSksdC50eXBlP2EuZ2V0QmxvYih0LnR5cGUpOmEuZ2V0QmxvYigpfWZ1bmN0aW9uIGMoZSx0KXtyZXR1cm4gbmV3IEJsb2IoaShlKSx0fHx7fSl9InVuZGVmaW5lZCIhPXR5cGVvZiBCbG9iJiYocy5wcm90b3R5cGU9QmxvYi5wcm90b3R5cGUsYy5wcm90b3R5cGU9QmxvYi5wcm90b3R5cGUpLGUuZXhwb3J0cz1hP28/QmxvYjpjOnI/czp2b2lkIDB9LGZ1bmN0aW9uKGUsdCxuKXsoZnVuY3Rpb24odCl7dmFyIGE9bigxNSksbz1uKDQpO2UuZXhwb3J0cz11O3ZhciByLGk9L1xuL2cscz0vXFxuL2c7ZnVuY3Rpb24gYygpe31mdW5jdGlvbiBsKCl7cmV0dXJuInVuZGVmaW5lZCIhPXR5cGVvZiBzZWxmP3NlbGY6InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3c/d2luZG93OnZvaWQgMCE9PXQ/dDp7fX1mdW5jdGlvbiB1KGUpe2lmKGEuY2FsbCh0aGlzLGUpLHRoaXMucXVlcnk9dGhpcy5xdWVyeXx8e30sIXIpe3ZhciB0PWwoKTtyPXQuX19fZWlvPXQuX19fZWlvfHxbXX10aGlzLmluZGV4PXIubGVuZ3RoO3ZhciBuPXRoaXM7ci5wdXNoKChmdW5jdGlvbihlKXtuLm9uRGF0YShlKX0pKSx0aGlzLnF1ZXJ5Lmo9dGhpcy5pbmRleCwiZnVuY3Rpb24iPT10eXBlb2YgYWRkRXZlbnRMaXN0ZW5lciYmYWRkRXZlbnRMaXN0ZW5lcigiYmVmb3JldW5sb2FkIiwoZnVuY3Rpb24oKXtuLnNjcmlwdCYmKG4uc2NyaXB0Lm9uZXJyb3I9Yyl9KSwhMSl9byh1LGEpLHUucHJvdG90eXBlLnN1cHBvcnRzQmluYXJ5PSExLHUucHJvdG90eXBlLmRvQ2xvc2U9ZnVuY3Rpb24oKXt0aGlzLnNjcmlwdCYmKHRoaXMuc2NyaXB0LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhpcy5zY3JpcHQpLHRoaXMuc2NyaXB0PW51bGwpLHRoaXMuZm9ybSYmKHRoaXMuZm9ybS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMuZm9ybSksdGhpcy5mb3JtPW51bGwsdGhpcy5pZnJhbWU9bnVsbCksYS5wcm90b3R5cGUuZG9DbG9zZS5jYWxsKHRoaXMpfSx1LnByb3RvdHlwZS5kb1BvbGw9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7dGhpcy5zY3JpcHQmJih0aGlzLnNjcmlwdC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMuc2NyaXB0KSx0aGlzLnNjcmlwdD1udWxsKSx0LmFzeW5jPSEwLHQuc3JjPXRoaXMudXJpKCksdC5vbmVycm9yPWZ1bmN0aW9uKHQpe2Uub25FcnJvcigianNvbnAgcG9sbCBlcnJvciIsdCl9O3ZhciBuPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKVswXTtuP24ucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUodCxuKTooZG9jdW1lbnQuaGVhZHx8ZG9jdW1lbnQuYm9keSkuYXBwZW5kQ2hpbGQodCksdGhpcy5zY3JpcHQ9dCwidW5kZWZpbmVkIiE9dHlwZW9mIG5hdmlnYXRvciYmL2dlY2tvL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSYmc2V0VGltZW91dCgoZnVuY3Rpb24oKXt2YXIgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTtkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGUpLGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZSl9KSwxMDApfSx1LnByb3RvdHlwZS5kb1dyaXRlPWZ1bmN0aW9uKGUsdCl7dmFyIG49dGhpcztpZighdGhpcy5mb3JtKXt2YXIgYSxvPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImZvcm0iKSxyPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRleHRhcmVhIiksYz10aGlzLmlmcmFtZUlkPSJlaW9faWZyYW1lXyIrdGhpcy5pbmRleDtvLmNsYXNzTmFtZT0ic29ja2V0aW8iLG8uc3R5bGUucG9zaXRpb249ImFic29sdXRlIixvLnN0eWxlLnRvcD0iLTEwMDBweCIsby5zdHlsZS5sZWZ0PSItMTAwMHB4IixvLnRhcmdldD1jLG8ubWV0aG9kPSJQT1NUIixvLnNldEF0dHJpYnV0ZSgiYWNjZXB0LWNoYXJzZXQiLCJ1dGYtOCIpLHIubmFtZT0iZCIsby5hcHBlbmRDaGlsZChyKSxkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKG8pLHRoaXMuZm9ybT1vLHRoaXMuYXJlYT1yfWZ1bmN0aW9uIGwoKXt1KCksdCgpfWZ1bmN0aW9uIHUoKXtpZihuLmlmcmFtZSl0cnl7bi5mb3JtLnJlbW92ZUNoaWxkKG4uaWZyYW1lKX1jYXRjaChlKXtuLm9uRXJyb3IoImpzb25wIHBvbGxpbmcgaWZyYW1lIHJlbW92YWwgZXJyb3IiLGUpfXRyeXt2YXIgZT0nPGlmcmFtZSBzcmM9ImphdmFzY3JpcHQ6MCIgbmFtZT0iJytuLmlmcmFtZUlkKyciPic7YT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KGUpfWNhdGNoKGUpeyhhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpKS5uYW1lPW4uaWZyYW1lSWQsYS5zcmM9ImphdmFzY3JpcHQ6MCJ9YS5pZD1uLmlmcmFtZUlkLG4uZm9ybS5hcHBlbmRDaGlsZChhKSxuLmlmcmFtZT1hfXRoaXMuZm9ybS5hY3Rpb249dGhpcy51cmkoKSx1KCksZT1lLnJlcGxhY2UocywiXFxcbiIpLHRoaXMuYXJlYS52YWx1ZT1lLnJlcGxhY2UoaSwiXFxuIik7dHJ5e3RoaXMuZm9ybS5zdWJtaXQoKX1jYXRjaChlKXt9dGhpcy5pZnJhbWUuYXR0YWNoRXZlbnQ/dGhpcy5pZnJhbWUub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7ImNvbXBsZXRlIj09PW4uaWZyYW1lLnJlYWR5U3RhdGUmJmwoKX06dGhpcy5pZnJhbWUub25sb2FkPWx9fSkuY2FsbCh0aGlzLG4oMTIpKX0sZnVuY3Rpb24oZSx0LG4peyhmdW5jdGlvbih0KXt2YXIgYSxvLHI9big4KSxpPW4oMikscz1uKDMpLGM9big0KSxsPW4oMTcpLHU9bigwKSgiZW5naW5lLmlvLWNsaWVudDp3ZWJzb2NrZXQiKTtpZigidW5kZWZpbmVkIiE9dHlwZW9mIFdlYlNvY2tldD9hPVdlYlNvY2tldDoidW5kZWZpbmVkIiE9dHlwZW9mIHNlbGYmJihhPXNlbGYuV2ViU29ja2V0fHxzZWxmLk1veldlYlNvY2tldCksInVuZGVmaW5lZCI9PXR5cGVvZiB3aW5kb3cpdHJ5e289big0Mil9Y2F0Y2goZSl7fXZhciBkPWF8fG87ZnVuY3Rpb24gcChlKXtlJiZlLmZvcmNlQmFzZTY0JiYodGhpcy5zdXBwb3J0c0JpbmFyeT0hMSksdGhpcy5wZXJNZXNzYWdlRGVmbGF0ZT1lLnBlck1lc3NhZ2VEZWZsYXRlLHRoaXMudXNpbmdCcm93c2VyV2ViU29ja2V0PWEmJiFlLmZvcmNlTm9kZSx0aGlzLnByb3RvY29scz1lLnByb3RvY29scyx0aGlzLnVzaW5nQnJvd3NlcldlYlNvY2tldHx8KGQ9byksci5jYWxsKHRoaXMsZSl9ZS5leHBvcnRzPXAsYyhwLHIpLHAucHJvdG90eXBlLm5hbWU9IndlYnNvY2tldCIscC5wcm90b3R5cGUuc3VwcG9ydHNCaW5hcnk9ITAscC5wcm90b3R5cGUuZG9PcGVuPWZ1bmN0aW9uKCl7aWYodGhpcy5jaGVjaygpKXt2YXIgZT10aGlzLnVyaSgpLHQ9dGhpcy5wcm90b2NvbHMsbj17YWdlbnQ6dGhpcy5hZ2VudCxwZXJNZXNzYWdlRGVmbGF0ZTp0aGlzLnBlck1lc3NhZ2VEZWZsYXRlfTtuLnBmeD10aGlzLnBmeCxuLmtleT10aGlzLmtleSxuLnBhc3NwaHJhc2U9dGhpcy5wYXNzcGhyYXNlLG4uY2VydD10aGlzLmNlcnQsbi5jYT10aGlzLmNhLG4uY2lwaGVycz10aGlzLmNpcGhlcnMsbi5yZWplY3RVbmF1dGhvcml6ZWQ9dGhpcy5yZWplY3RVbmF1dGhvcml6ZWQsdGhpcy5leHRyYUhlYWRlcnMmJihuLmhlYWRlcnM9dGhpcy5leHRyYUhlYWRlcnMpLHRoaXMubG9jYWxBZGRyZXNzJiYobi5sb2NhbEFkZHJlc3M9dGhpcy5sb2NhbEFkZHJlc3MpO3RyeXt0aGlzLndzPXRoaXMudXNpbmdCcm93c2VyV2ViU29ja2V0JiYhdGhpcy5pc1JlYWN0TmF0aXZlP3Q/bmV3IGQoZSx0KTpuZXcgZChlKTpuZXcgZChlLHQsbil9Y2F0Y2goZSl7cmV0dXJuIHRoaXMuZW1pdCgiZXJyb3IiLGUpfXZvaWQgMD09PXRoaXMud3MuYmluYXJ5VHlwZSYmKHRoaXMuc3VwcG9ydHNCaW5hcnk9ITEpLHRoaXMud3Muc3VwcG9ydHMmJnRoaXMud3Muc3VwcG9ydHMuYmluYXJ5Pyh0aGlzLnN1cHBvcnRzQmluYXJ5PSEwLHRoaXMud3MuYmluYXJ5VHlwZT0ibm9kZWJ1ZmZlciIpOnRoaXMud3MuYmluYXJ5VHlwZT0iYXJyYXlidWZmZXIiLHRoaXMuYWRkRXZlbnRMaXN0ZW5lcnMoKX19LHAucHJvdG90eXBlLmFkZEV2ZW50TGlzdGVuZXJzPWZ1bmN0aW9uKCl7dmFyIGU9dGhpczt0aGlzLndzLm9ub3Blbj1mdW5jdGlvbigpe2Uub25PcGVuKCl9LHRoaXMud3Mub25jbG9zZT1mdW5jdGlvbigpe2Uub25DbG9zZSgpfSx0aGlzLndzLm9ubWVzc2FnZT1mdW5jdGlvbih0KXtlLm9uRGF0YSh0LmRhdGEpfSx0aGlzLndzLm9uZXJyb3I9ZnVuY3Rpb24odCl7ZS5vbkVycm9yKCJ3ZWJzb2NrZXQgZXJyb3IiLHQpfX0scC5wcm90b3R5cGUud3JpdGU9ZnVuY3Rpb24oZSl7dmFyIG49dGhpczt0aGlzLndyaXRhYmxlPSExO2Zvcih2YXIgYT1lLmxlbmd0aCxvPTAscj1hO288cjtvKyspIWZ1bmN0aW9uKGUpe2kuZW5jb2RlUGFja2V0KGUsbi5zdXBwb3J0c0JpbmFyeSwoZnVuY3Rpb24obyl7aWYoIW4udXNpbmdCcm93c2VyV2ViU29ja2V0KXt2YXIgcj17fTtlLm9wdGlvbnMmJihyLmNvbXByZXNzPWUub3B0aW9ucy5jb21wcmVzcyksbi5wZXJNZXNzYWdlRGVmbGF0ZSYmKCJzdHJpbmciPT10eXBlb2Ygbz90LmJ5dGVMZW5ndGgobyk6by5sZW5ndGgpPG4ucGVyTWVzc2FnZURlZmxhdGUudGhyZXNob2xkJiYoci5jb21wcmVzcz0hMSl9dHJ5e24udXNpbmdCcm93c2VyV2ViU29ja2V0P24ud3Muc2VuZChvKTpuLndzLnNlbmQobyxyKX1jYXRjaChlKXt1KCJ3ZWJzb2NrZXQgY2xvc2VkIGJlZm9yZSBvbmNsb3NlIGV2ZW50Iil9LS1hfHxzKCl9KSl9KGVbb10pO2Z1bmN0aW9uIHMoKXtuLmVtaXQoImZsdXNoIiksc2V0VGltZW91dCgoZnVuY3Rpb24oKXtuLndyaXRhYmxlPSEwLG4uZW1pdCgiZHJhaW4iKX0pLDApfX0scC5wcm90b3R5cGUub25DbG9zZT1mdW5jdGlvbigpe3IucHJvdG90eXBlLm9uQ2xvc2UuY2FsbCh0aGlzKX0scC5wcm90b3R5cGUuZG9DbG9zZT1mdW5jdGlvbigpe3ZvaWQgMCE9PXRoaXMud3MmJnRoaXMud3MuY2xvc2UoKX0scC5wcm90b3R5cGUudXJpPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5xdWVyeXx8e30sdD10aGlzLnNlY3VyZT8id3NzIjoid3MiLG49IiI7cmV0dXJuIHRoaXMucG9ydCYmKCJ3c3MiPT09dCYmNDQzIT09TnVtYmVyKHRoaXMucG9ydCl8fCJ3cyI9PT10JiY4MCE9PU51bWJlcih0aGlzLnBvcnQpKSYmKG49IjoiK3RoaXMucG9ydCksdGhpcy50aW1lc3RhbXBSZXF1ZXN0cyYmKGVbdGhpcy50aW1lc3RhbXBQYXJhbV09bCgpKSx0aGlzLnN1cHBvcnRzQmluYXJ5fHwoZS5iNjQ9MSksKGU9cy5lbmNvZGUoZSkpLmxlbmd0aCYmKGU9Ij8iK2UpLHQrIjovLyIrKC0xIT09dGhpcy5ob3N0bmFtZS5pbmRleE9mKCI6Iik/IlsiK3RoaXMuaG9zdG5hbWUrIl0iOnRoaXMuaG9zdG5hbWUpK24rdGhpcy5wYXRoK2V9LHAucHJvdG90eXBlLmNoZWNrPWZ1bmN0aW9uKCl7cmV0dXJuISghZHx8Il9faW5pdGlhbGl6ZSJpbiBkJiZ0aGlzLm5hbWU9PT1wLnByb3RvdHlwZS5uYW1lKX19KS5jYWxsKHRoaXMsbig2KS5CdWZmZXIpfSxmdW5jdGlvbihlLHQsbil7dmFyIGE9big0Myksbz1uKDQ0KSxyPW4oMCkoIkBoeW9nYS91bmktc29ja2V0OiIpLG09WyJDT05ORUNUSU5HIiwiT1BFTiIsIkNMT1NJTkciLCJDTE9TRUQiXSxmPXVuaXx8d3gsZz1mdW5jdGlvbihlKXsidXNlIHN0cmljdCI7dShuLGUpO3ZhciB0PWQobik7ZnVuY3Rpb24gbihlLGEsbyl7dmFyIHI7cmV0dXJuIHModGhpcyxuKSxyPXQuY2FsbCh0aGlzKSxyLnJlYWR5U3RhdGU9bi5DT05ORUNUSU5HLHIucHJvdG9jb2w9IiIsci5fc29ja2V0PW51bGwsbnVsbCE9PWUmJihBcnJheS5pc0FycmF5KGEpP2E9YS5qb2luKCIsICIpOiJvYmplY3QiPT1wKGEpJiZudWxsIT09YSYmKG89YSxhPXZvaWQgMCksaC5jYWxsKGwociksZSxhLG8pKSxyfXJldHVybiBjKG4sW3trZXk6IkNPTk5FQ1RJTkciLGdldDpmdW5jdGlvbigpe3JldHVybiBuLkNPTk5FQ1RJTkd9fSx7a2V5OiJDTE9TSU5HIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbi5DTE9TSU5HfX0se2tleToiQ0xPU0VEIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbi5DTE9TRUR9fSx7a2V5OiJPUEVOIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbi5PUEVOfX0se2tleToiYWRkU29ja2V0RXZlbnRMaXN0ZW5lcnMiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIGU9dGhpczt0aGlzLl9zb2NrZXQub25PcGVuKChmdW5jdGlvbigpe2UucmVhZHlTdGF0ZT1uLk9QRU4sZS5vbm9wZW4oKX0pKSx0aGlzLl9zb2NrZXQub25DbG9zZSgoZnVuY3Rpb24odCl7cigib25jbG9zZTogIix0KSxlLnJlYWR5U3RhdGU9bi5DTE9TRUQsZS5vbmNsb3NlKHQuY29kZSx0LnJlYXNvbil9KSksdGhpcy5fc29ja2V0Lm9uRXJyb3IoKGZ1bmN0aW9uKHQpe3IoIm9uZXJyb3I6ICIsdCksZS5vbmVycm9yKHQpfSkpLHRoaXMuX3NvY2tldC5vbk1lc3NhZ2UoKGZ1bmN0aW9uKHQpe2Uub25tZXNzYWdlKHQpfSkpfX0se2tleToic2VuZCIsdmFsdWU6ZnVuY3Rpb24oZSl7cigic2VuZCBkYXRhOiAiLGUsdGhpcy5yZWFkeVN0YXRlKSx0aGlzLnJlYWR5U3RhdGU9PT1uLk9QRU4mJnRoaXMuX3NvY2tldC5zZW5kKHtkYXRhOmV9KX19LHtrZXk6ImNsb3NlIix2YWx1ZTpmdW5jdGlvbihlLHQpe3IoImNsb3NlIHNvY2tldDogIixlLHQpLHRoaXMucmVhZHlTdGF0ZT1uLkNMT1NJTkcsdGhpcy5fc29ja2V0LmNsb3NlKHtjb2RlOmUscmVhc29uOnR9KX19XSksbn0oYSk7ZnVuY3Rpb24gaChlLHQsbil7T2JqZWN0LmFzc2lnbihuLHt1cmw6ZSxoZWFkZXI6eyJjb250ZW50LXR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0scHJvdG9jb2xzOnQsbWV0aG9kOiJHRVQifSksdGhpcy5fc29ja2V0PWZ1bmN0aW9uKGUpe3ZhciB0PWYuY29ubmVjdFNvY2tldChpKHtjb21wbGV0ZTpmdW5jdGlvbigpe319LGUpKTtyZXR1cm4gdHx8e29uQ2xvc2U6Zi5vblNvY2tldENsb3NlLG9uT3BlbjpmLm9uU29ja2V0T3BlbixvbkVycm9yOmYub25Tb2NrZXRFcnJvcixvbk1lc3NhZ2U6Zi5vblNvY2tldE1lc3NhZ2Usc2VuZDpmLnNlbmRTb2NrZXRNZXNzYWdlLGNsb3NlOmYuY2xvc2VTb2NrZXR9fShuKSx0aGlzLmFkZFNvY2tldEV2ZW50TGlzdGVuZXJzKCl9bS5mb3JFYWNoKChmdW5jdGlvbihlLHQpe2dbbVt0XV09dH0pKSxbIm9wZW4iLCJlcnJvciIsImNsb3NlIiwibWVzc2FnZSJdLmZvckVhY2goKGZ1bmN0aW9uKGUpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShnLnByb3RvdHlwZSwib24iLmNvbmNhdChlKSx7Z2V0OmZ1bmN0aW9uKCl7Zm9yKHZhciB0PXRoaXMubGlzdGVuZXJzKGUpLG49MDtuPHQubGVuZ3RoO24rKylpZih0W25dLl9saXN0ZW5lcilyZXR1cm4gdFtuXS5fbGlzdGVuZXJ9LHNldDpmdW5jdGlvbih0KXtmb3IodmFyIG49dGhpcy5saXN0ZW5lcnMoZSksYT0wO2E8bi5sZW5ndGg7YSsrKW5bYV0uX2xpc3RlbmVyJiZ0aGlzLnJlbW92ZUxpc3RlbmVyKGUsblthXSk7dGhpcy5hZGRFdmVudExpc3RlbmVyKGUsdCl9fSl9KSksZy5wcm90b3R5cGUuYWRkRXZlbnRMaXN0ZW5lcj1vLmFkZEV2ZW50TGlzdGVuZXIsZy5wcm90b3R5cGUucmVtb3ZlRXZlbnRMaXN0ZW5lcj1vLnJlbW92ZUV2ZW50TGlzdGVuZXIsZS5leHBvcnRzPWd9LGZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIGEsbz0ib2JqZWN0Ij09KCJ1bmRlZmluZWQiPT09dHlwZW9mIFJlZmxlY3Q/InVuZGVmaW5lZCI6cChSZWZsZWN0KSk/UmVmbGVjdDpudWxsLHI9byYmImZ1bmN0aW9uIj09dHlwZW9mIG8uYXBwbHk/by5hcHBseTpmdW5jdGlvbihlLHQsbil7cmV0dXJuIEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5jYWxsKGUsdCxuKX07YT1vJiYiZnVuY3Rpb24iPT10eXBlb2Ygby5vd25LZXlzP28ub3duS2V5czpPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzP2Z1bmN0aW9uKGUpe3JldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhlKS5jb25jYXQoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhlKSl9OmZ1bmN0aW9uKGUpe3JldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhlKX07dmFyIGk9TnVtYmVyLmlzTmFOfHxmdW5jdGlvbihlKXtyZXR1cm4gZSE9ZX07ZnVuY3Rpb24gcygpe3MuaW5pdC5jYWxsKHRoaXMpfWUuZXhwb3J0cz1zLHMuRXZlbnRFbWl0dGVyPXMscy5wcm90b3R5cGUuX2V2ZW50cz12b2lkIDAscy5wcm90b3R5cGUuX2V2ZW50c0NvdW50PTAscy5wcm90b3R5cGUuX21heExpc3RlbmVycz12b2lkIDA7dmFyIGM9MTA7ZnVuY3Rpb24gbChlKXtpZigiZnVuY3Rpb24iIT10eXBlb2YgZSl0aHJvdyBuZXcgVHlwZUVycm9yKCdUaGUgImxpc3RlbmVyIiBhcmd1bWVudCBtdXN0IGJlIG9mIHR5cGUgRnVuY3Rpb24uIFJlY2VpdmVkIHR5cGUgJytwKGUpKX1mdW5jdGlvbiB1KGUpe3JldHVybiB2b2lkIDA9PT1lLl9tYXhMaXN0ZW5lcnM/cy5kZWZhdWx0TWF4TGlzdGVuZXJzOmUuX21heExpc3RlbmVyc31mdW5jdGlvbiBkKGUsdCxuLGEpe3ZhciBvLHIsaSxzO2lmKGwobiksdm9pZCAwPT09KHI9ZS5fZXZlbnRzKT8ocj1lLl9ldmVudHM9T2JqZWN0LmNyZWF0ZShudWxsKSxlLl9ldmVudHNDb3VudD0wKToodm9pZCAwIT09ci5uZXdMaXN0ZW5lciYmKGUuZW1pdCgibmV3TGlzdGVuZXIiLHQsbi5saXN0ZW5lcj9uLmxpc3RlbmVyOm4pLHI9ZS5fZXZlbnRzKSxpPXJbdF0pLHZvaWQgMD09PWkpaT1yW3RdPW4sKytlLl9ldmVudHNDb3VudDtlbHNlIGlmKCJmdW5jdGlvbiI9PXR5cGVvZiBpP2k9clt0XT1hP1tuLGldOltpLG5dOmE/aS51bnNoaWZ0KG4pOmkucHVzaChuKSwobz11KGUpKT4wJiZpLmxlbmd0aD5vJiYhaS53YXJuZWQpe2kud2FybmVkPSEwO3ZhciBjPW5ldyBFcnJvcigiUG9zc2libGUgRXZlbnRFbWl0dGVyIG1lbW9yeSBsZWFrIGRldGVjdGVkLiAiK2kubGVuZ3RoKyIgIitTdHJpbmcodCkrIiBsaXN0ZW5lcnMgYWRkZWQuIFVzZSBlbWl0dGVyLnNldE1heExpc3RlbmVycygpIHRvIGluY3JlYXNlIGxpbWl0Iik7Yy5uYW1lPSJNYXhMaXN0ZW5lcnNFeGNlZWRlZFdhcm5pbmciLGMuZW1pdHRlcj1lLGMudHlwZT10LGMuY291bnQ9aS5sZW5ndGgscz1jLGNvbnNvbGUmJmNvbnNvbGUud2FybiYmY29uc29sZS53YXJuKHMpfXJldHVybiBlfWZ1bmN0aW9uIG0oKXtpZighdGhpcy5maXJlZClyZXR1cm4gdGhpcy50YXJnZXQucmVtb3ZlTGlzdGVuZXIodGhpcy50eXBlLHRoaXMud3JhcEZuKSx0aGlzLmZpcmVkPSEwLDA9PT1hcmd1bWVudHMubGVuZ3RoP3RoaXMubGlzdGVuZXIuY2FsbCh0aGlzLnRhcmdldCk6dGhpcy5saXN0ZW5lci5hcHBseSh0aGlzLnRhcmdldCxhcmd1bWVudHMpfWZ1bmN0aW9uIGYoZSx0LG4pe3ZhciBhPXtmaXJlZDohMSx3cmFwRm46dm9pZCAwLHRhcmdldDplLHR5cGU6dCxsaXN0ZW5lcjpufSxvPW0uYmluZChhKTtyZXR1cm4gby5saXN0ZW5lcj1uLGEud3JhcEZuPW8sb31mdW5jdGlvbiBnKGUsdCxuKXt2YXIgYT1lLl9ldmVudHM7aWYodm9pZCAwPT09YSlyZXR1cm5bXTt2YXIgbz1hW3RdO3JldHVybiB2b2lkIDA9PT1vP1tdOiJmdW5jdGlvbiI9PXR5cGVvZiBvP24/W28ubGlzdGVuZXJ8fG9dOltvXTpuP2Z1bmN0aW9uKGUpe2Zvcih2YXIgdD1uZXcgQXJyYXkoZS5sZW5ndGgpLG49MDtuPHQubGVuZ3RoOysrbil0W25dPWVbbl0ubGlzdGVuZXJ8fGVbbl07cmV0dXJuIHR9KG8pOmIobyxvLmxlbmd0aCl9ZnVuY3Rpb24gaChlKXt2YXIgdD10aGlzLl9ldmVudHM7aWYodm9pZCAwIT09dCl7dmFyIG49dFtlXTtpZigiZnVuY3Rpb24iPT10eXBlb2YgbilyZXR1cm4gMTtpZih2b2lkIDAhPT1uKXJldHVybiBuLmxlbmd0aH1yZXR1cm4gMH1mdW5jdGlvbiBiKGUsdCl7Zm9yKHZhciBuPW5ldyBBcnJheSh0KSxhPTA7YTx0OysrYSluW2FdPWVbYV07cmV0dXJuIG59T2JqZWN0LmRlZmluZVByb3BlcnR5KHMsImRlZmF1bHRNYXhMaXN0ZW5lcnMiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBjfSxzZXQ6ZnVuY3Rpb24oZSl7aWYoIm51bWJlciIhPXR5cGVvZiBlfHxlPDB8fGkoZSkpdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ1RoZSB2YWx1ZSBvZiAiZGVmYXVsdE1heExpc3RlbmVycyIgaXMgb3V0IG9mIHJhbmdlLiBJdCBtdXN0IGJlIGEgbm9uLW5lZ2F0aXZlIG51bWJlci4gUmVjZWl2ZWQgJytlKyIuIik7Yz1lfX0pLHMuaW5pdD1mdW5jdGlvbigpe3ZvaWQgMCE9PXRoaXMuX2V2ZW50cyYmdGhpcy5fZXZlbnRzIT09T2JqZWN0LmdldFByb3RvdHlwZU9mKHRoaXMpLl9ldmVudHN8fCh0aGlzLl9ldmVudHM9T2JqZWN0LmNyZWF0ZShudWxsKSx0aGlzLl9ldmVudHNDb3VudD0wKSx0aGlzLl9tYXhMaXN0ZW5lcnM9dGhpcy5fbWF4TGlzdGVuZXJzfHx2b2lkIDB9LHMucHJvdG90eXBlLnNldE1heExpc3RlbmVycz1mdW5jdGlvbihlKXtpZigibnVtYmVyIiE9dHlwZW9mIGV8fGU8MHx8aShlKSl0aHJvdyBuZXcgUmFuZ2VFcnJvcignVGhlIHZhbHVlIG9mICJuIiBpcyBvdXQgb2YgcmFuZ2UuIEl0IG11c3QgYmUgYSBub24tbmVnYXRpdmUgbnVtYmVyLiBSZWNlaXZlZCAnK2UrIi4iKTtyZXR1cm4gdGhpcy5fbWF4TGlzdGVuZXJzPWUsdGhpc30scy5wcm90b3R5cGUuZ2V0TWF4TGlzdGVuZXJzPWZ1bmN0aW9uKCl7cmV0dXJuIHUodGhpcyl9LHMucHJvdG90eXBlLmVtaXQ9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PVtdLG49MTtuPGFyZ3VtZW50cy5sZW5ndGg7bisrKXQucHVzaChhcmd1bWVudHNbbl0pO3ZhciBhPSJlcnJvciI9PT1lLG89dGhpcy5fZXZlbnRzO2lmKHZvaWQgMCE9PW8pYT1hJiZ2b2lkIDA9PT1vLmVycm9yO2Vsc2UgaWYoIWEpcmV0dXJuITE7aWYoYSl7dmFyIGk7aWYodC5sZW5ndGg+MCYmKGk9dFswXSksaSBpbnN0YW5jZW9mIEVycm9yKXRocm93IGk7dmFyIHM9bmV3IEVycm9yKCJVbmhhbmRsZWQgZXJyb3IuIisoaT8iICgiK2kubWVzc2FnZSsiKSI6IiIpKTt0aHJvdyBzLmNvbnRleHQ9aSxzfXZhciBjPW9bZV07aWYodm9pZCAwPT09YylyZXR1cm4hMTtpZigiZnVuY3Rpb24iPT10eXBlb2YgYylyKGMsdGhpcyx0KTtlbHNle3ZhciBsPWMubGVuZ3RoLHU9YihjLGwpO2ZvcihuPTA7bjxsOysrbilyKHVbbl0sdGhpcyx0KX1yZXR1cm4hMH0scy5wcm90b3R5cGUuYWRkTGlzdGVuZXI9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZCh0aGlzLGUsdCwhMSl9LHMucHJvdG90eXBlLm9uPXMucHJvdG90eXBlLmFkZExpc3RlbmVyLHMucHJvdG90eXBlLnByZXBlbmRMaXN0ZW5lcj1mdW5jdGlvbihlLHQpe3JldHVybiBkKHRoaXMsZSx0LCEwKX0scy5wcm90b3R5cGUub25jZT1mdW5jdGlvbihlLHQpe3JldHVybiBsKHQpLHRoaXMub24oZSxmKHRoaXMsZSx0KSksdGhpc30scy5wcm90b3R5cGUucHJlcGVuZE9uY2VMaXN0ZW5lcj1mdW5jdGlvbihlLHQpe3JldHVybiBsKHQpLHRoaXMucHJlcGVuZExpc3RlbmVyKGUsZih0aGlzLGUsdCkpLHRoaXN9LHMucHJvdG90eXBlLnJlbW92ZUxpc3RlbmVyPWZ1bmN0aW9uKGUsdCl7dmFyIG4sYSxvLHIsaTtpZihsKHQpLHZvaWQgMD09PShhPXRoaXMuX2V2ZW50cykpcmV0dXJuIHRoaXM7aWYodm9pZCAwPT09KG49YVtlXSkpcmV0dXJuIHRoaXM7aWYobj09PXR8fG4ubGlzdGVuZXI9PT10KTA9PS0tdGhpcy5fZXZlbnRzQ291bnQ/dGhpcy5fZXZlbnRzPU9iamVjdC5jcmVhdGUobnVsbCk6KGRlbGV0ZSBhW2VdLGEucmVtb3ZlTGlzdGVuZXImJnRoaXMuZW1pdCgicmVtb3ZlTGlzdGVuZXIiLGUsbi5saXN0ZW5lcnx8dCkpO2Vsc2UgaWYoImZ1bmN0aW9uIiE9dHlwZW9mIG4pe2ZvcihvPS0xLHI9bi5sZW5ndGgtMTtyPj0wO3ItLSlpZihuW3JdPT09dHx8bltyXS5saXN0ZW5lcj09PXQpe2k9bltyXS5saXN0ZW5lcixvPXI7YnJlYWt9aWYobzwwKXJldHVybiB0aGlzOzA9PT1vP24uc2hpZnQoKTpmdW5jdGlvbihlLHQpe2Zvcig7dCsxPGUubGVuZ3RoO3QrKyllW3RdPWVbdCsxXTtlLnBvcCgpfShuLG8pLDE9PT1uLmxlbmd0aCYmKGFbZV09blswXSksdm9pZCAwIT09YS5yZW1vdmVMaXN0ZW5lciYmdGhpcy5lbWl0KCJyZW1vdmVMaXN0ZW5lciIsZSxpfHx0KX1yZXR1cm4gdGhpc30scy5wcm90b3R5cGUub2ZmPXMucHJvdG90eXBlLnJlbW92ZUxpc3RlbmVyLHMucHJvdG90eXBlLnJlbW92ZUFsbExpc3RlbmVycz1mdW5jdGlvbihlKXt2YXIgdCxuLGE7aWYodm9pZCAwPT09KG49dGhpcy5fZXZlbnRzKSlyZXR1cm4gdGhpcztpZih2b2lkIDA9PT1uLnJlbW92ZUxpc3RlbmVyKXJldHVybiAwPT09YXJndW1lbnRzLmxlbmd0aD8odGhpcy5fZXZlbnRzPU9iamVjdC5jcmVhdGUobnVsbCksdGhpcy5fZXZlbnRzQ291bnQ9MCk6dm9pZCAwIT09bltlXSYmKDA9PS0tdGhpcy5fZXZlbnRzQ291bnQ/dGhpcy5fZXZlbnRzPU9iamVjdC5jcmVhdGUobnVsbCk6ZGVsZXRlIG5bZV0pLHRoaXM7aWYoMD09PWFyZ3VtZW50cy5sZW5ndGgpe3ZhciBvLHI9T2JqZWN0LmtleXMobik7Zm9yKGE9MDthPHIubGVuZ3RoOysrYSkicmVtb3ZlTGlzdGVuZXIiIT09KG89clthXSkmJnRoaXMucmVtb3ZlQWxsTGlzdGVuZXJzKG8pO3JldHVybiB0aGlzLnJlbW92ZUFsbExpc3RlbmVycygicmVtb3ZlTGlzdGVuZXIiKSx0aGlzLl9ldmVudHM9T2JqZWN0LmNyZWF0ZShudWxsKSx0aGlzLl9ldmVudHNDb3VudD0wLHRoaXN9aWYoImZ1bmN0aW9uIj09dHlwZW9mKHQ9bltlXSkpdGhpcy5yZW1vdmVMaXN0ZW5lcihlLHQpO2Vsc2UgaWYodm9pZCAwIT09dClmb3IoYT10Lmxlbmd0aC0xO2E+PTA7YS0tKXRoaXMucmVtb3ZlTGlzdGVuZXIoZSx0W2FdKTtyZXR1cm4gdGhpc30scy5wcm90b3R5cGUubGlzdGVuZXJzPWZ1bmN0aW9uKGUpe3JldHVybiBnKHRoaXMsZSwhMCl9LHMucHJvdG90eXBlLnJhd0xpc3RlbmVycz1mdW5jdGlvbihlKXtyZXR1cm4gZyh0aGlzLGUsITEpfSxzLmxpc3RlbmVyQ291bnQ9ZnVuY3Rpb24oZSx0KXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgZS5saXN0ZW5lckNvdW50P2UubGlzdGVuZXJDb3VudCh0KTpoLmNhbGwoZSx0KX0scy5wcm90b3R5cGUubGlzdGVuZXJDb3VudD1oLHMucHJvdG90eXBlLmV2ZW50TmFtZXM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZXZlbnRzQ291bnQ+MD9hKHRoaXMuX2V2ZW50cyk6W119fSxmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO3ZhciBhPWMoKGZ1bmN0aW9uIGUodCxuKXtzKHRoaXMsZSksdGhpcy50YXJnZXQ9bix0aGlzLnR5cGU9dH0pKSxvPWZ1bmN0aW9uKGUpe3UobixlKTt2YXIgdD1kKG4pO2Z1bmN0aW9uIG4oZSxhKXt2YXIgbztyZXR1cm4gcyh0aGlzLG4pLG89dC5jYWxsKHRoaXMsIm1lc3NhZ2UiLGEpLG8uZGF0YT1lLG99cmV0dXJuIGMobil9KGEpLHI9ZnVuY3Rpb24oZSl7dShuLGUpO3ZhciB0PWQobik7ZnVuY3Rpb24gbihlLGEsbyl7dmFyIHI7cmV0dXJuIHModGhpcyxuKSxyPXQuY2FsbCh0aGlzLCJjbG9zZSIsbyksci53YXNDbGVhbj1vLl9jbG9zZUZyYW1lUmVjZWl2ZWQmJm8uX2Nsb3NlRnJhbWVTZW50LHIucmVhc29uPWEsci5jb2RlPWUscn1yZXR1cm4gYyhuKX0oYSksaT1mdW5jdGlvbihlKXt1KG4sZSk7dmFyIHQ9ZChuKTtmdW5jdGlvbiBuKGUpe3JldHVybiBzKHRoaXMsbiksdC5jYWxsKHRoaXMsIm9wZW4iLGUpfXJldHVybiBjKG4pfShhKSxsPWZ1bmN0aW9uKGUpe3UobixlKTt2YXIgdD1kKG4pO2Z1bmN0aW9uIG4oZSxhKXt2YXIgbztyZXR1cm4gcyh0aGlzLG4pLG89dC5jYWxsKHRoaXMsImVycm9yIixhKSxvLm1lc3NhZ2U9ZS5tZXNzYWdlLG8uZXJyb3I9ZSxvfXJldHVybiBjKG4pfShhKSxwPXthZGRFdmVudExpc3RlbmVyOmZ1bmN0aW9uKGUsdCl7ZnVuY3Rpb24gbihlKXt0LmNhbGwodGhpcyxuZXcgbyhlLHRoaXMpKX1mdW5jdGlvbiBhKGUsbil7dC5jYWxsKHRoaXMsbmV3IHIoZSxuLHRoaXMpKX1mdW5jdGlvbiBzKGUpe3QuY2FsbCh0aGlzLG5ldyBsKGUsdGhpcykpfWZ1bmN0aW9uIGMoKXt0LmNhbGwodGhpcyxuZXcgaSh0aGlzKSl9ImZ1bmN0aW9uIj09dHlwZW9mIHQmJigibWVzc2FnZSI9PT1lPyhuLl9saXN0ZW5lcj10LHRoaXMub24oZSxuKSk6ImNsb3NlIj09PWU/KGEuX2xpc3RlbmVyPXQsdGhpcy5vbihlLGEpKToiZXJyb3IiPT09ZT8ocy5fbGlzdGVuZXI9dCx0aGlzLm9uKGUscykpOiJvcGVuIj09PWU/KGMuX2xpc3RlbmVyPXQsdGhpcy5vbihlLGMpKTp0aGlzLm9uKGUsdCkpfSxyZW1vdmVFdmVudExpc3RlbmVyOmZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuPXRoaXMubGlzdGVuZXJzKGUpLGE9MDthPG4ubGVuZ3RoO2ErKyluW2FdIT09dCYmblthXS5fbGlzdGVuZXIhPT10fHx0aGlzLnJlbW92ZUxpc3RlbmVyKGUsblthXSl9fTtlLmV4cG9ydHM9cH0sZnVuY3Rpb24oZSx0KXtlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0KXtmb3IodmFyIG49W10sYT0odD10fHwwKXx8MDthPGUubGVuZ3RoO2ErKyluW2EtdF09ZVthXTtyZXR1cm4gbn19LGZ1bmN0aW9uKGUsdCl7ZnVuY3Rpb24gbihlKXtlPWV8fHt9LHRoaXMubXM9ZS5taW58fDEwMCx0aGlzLm1heD1lLm1heHx8MWU0LHRoaXMuZmFjdG9yPWUuZmFjdG9yfHwyLHRoaXMuaml0dGVyPWUuaml0dGVyPjAmJmUuaml0dGVyPD0xP2Uuaml0dGVyOjAsdGhpcy5hdHRlbXB0cz0wfWUuZXhwb3J0cz1uLG4ucHJvdG90eXBlLmR1cmF0aW9uPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5tcypNYXRoLnBvdyh0aGlzLmZhY3Rvcix0aGlzLmF0dGVtcHRzKyspO2lmKHRoaXMuaml0dGVyKXt2YXIgdD1NYXRoLnJhbmRvbSgpLG49TWF0aC5mbG9vcih0KnRoaXMuaml0dGVyKmUpO2U9MD09KDEmTWF0aC5mbG9vcigxMCp0KSk/ZS1uOmUrbn1yZXR1cm4gMHxNYXRoLm1pbihlLHRoaXMubWF4KX0sbi5wcm90b3R5cGUucmVzZXQ9ZnVuY3Rpb24oKXt0aGlzLmF0dGVtcHRzPTB9LG4ucHJvdG90eXBlLnNldE1pbj1mdW5jdGlvbihlKXt0aGlzLm1zPWV9LG4ucHJvdG90eXBlLnNldE1heD1mdW5jdGlvbihlKXt0aGlzLm1heD1lfSxuLnByb3RvdHlwZS5zZXRKaXR0ZXI9ZnVuY3Rpb24oZSl7dGhpcy5qaXR0ZXI9ZX19XSl9KSl9KS5jYWxsKHRoaXMsbigiZGM4NCIpKGUpKX0sIjBjMzgiOmZ1bmN0aW9uKGUsdCl7ZS5leHBvcnRzPSJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUVBQUFBQkFDQVlBQUFDcWFYSGVBQUFBQVhOU1IwSUFyczRjNlFBQUNCaEpSRUZVZUY3bG0zOXdWTlVWeDcvbkpZUU5QNUtRQnBMc0xwQUFMVGpVcE9xTVRyVFVGR1pzeFJFWmF4RTc3cTYwakk0eWFLVnEyYmUwRFZPeWk1UkIwSlp4dEZiMkxVTlIyOUtXSDUwcFdxYllDczZZanFDcFVHQUlKRy96aTBCQ0RERWgyZE41RDNZMVB6Yjc3dTViODlEM3o5dVpQZWQ3enZtOHUvZmVkKzlkd3Vkd0ZiMjZ1a1NTTXNvbGllY3dVQW9tQjVnTGlKRERRQ2FJZXNEY1NVQXJpT29CUGhtSlJHcXpJcmIzNnBaVnRhY3pSVXFIZVA3MmxUbmpPT2R1Wm53SDROc0JURXMyRGdQdkViQWZ6THRWVCtCUXNqcngvRXdGNEF5dC9pNno1QUd3MU94RWRUMmlEOEFjN0xuYzk5SzVIMjNvTkNPR0tRRHNJZDhEeFB4akFEZWJrWlFCalM2QW51dER6L3BtOThZdUEvWnhUVklDNEF5dHFZd2dzcFlZMzBvbGllUjlxUVhBTDFSMzlZdkphaVFOd0tGNG53TkllK3FqZnhIMlN2M1NFL1VQclRzbG1vd3dnT0p0cTIrU0pPa2xBRGVLQmt1blBZRXVSaGdQaHozVnI0bkVFUUpnVitTbEJJU2dEVjJXdmZobnFqdXd6bWg2aGdFNEZkL2pETjVpVkhnMDdSaDRJZXoyUDI0a0IwTUE3RUg1YVNKc01DSm9GUnNHdnh4MkJ4NU9sRTlDQU02Z3ZKSUp6eWNTc3VMM3hQenJCazlnNVVpNWpRakFIdlRkVDhRN3JWaWM0WndZUDFjOS9sL0dzNDhMb0RnazN5Z3hEZ01ZWXppWVJRMlphV204MFNFdUFJY2kxMWh0cUV1YUw2R2pqNlVibXQzclRnL1dHQmFBSXlodkJ1R0pwQU5hMDNHMzZ2WXZTZ2pBc1YxZWdBamV0R1lOcVdYRjRPVmhkK0NWejZvTWFRRU9SZjQzZ0Z0RlFyMXh4M0lSYzlOc3YvLzMzNHBxTmFoVHMwcng3YXErcU9NQUFJNmcxd09pYmNLcXJtcFJGMVBzblNHZnVBNlJUM1ZWKzRjSG9IamZCNmhjVkxYaFdnSUF0S3EyRThWWThrYS9WbWVzQmRoRDNzWEV0RXUwZU0zK0dnT2dsZjFvOUJVNkJzQ3B5THNZV1B5bEFNQTRySHI4RmJFV1VLaFVUY2xFYjNNeXhWK2JMUUNRZ092cjNmNFA5UmJnRE1yTG1mRHlsd2tBbUgycUorRFhBVGhDOG10Z0xFa1d3S3F5K1laZEs0cG1vS0t3ZEZqN1RVZmVNcXlqR1c0NitnOGgrMEhHLzFUZC9rb2RnRjN4TlJLNEtCVTFvNzdhbkdFa0FDa1daVFFOM1M3WGxqV1dwbTViTXpNaVJVNEtlYVpnYkNVQXpEU1A3RUhmUFVUODV4UnFFbksxRkFDSlZwQTk1SDJLbUg0bFZFVUt4cFlDQUx4QWRzVzdoVUNHMXM5RTZyNjFhQVp1TDU2RlN2dlhNRGUvV01RMVp2dkIrVEQybmFuRmdmRC9jS3k5R1gwUmZmSm0zc1c4aDV3aDN3NW1maUFWMWJLdk9IRFh0TGxZTnFjQ0p6cGFjTHk5WmNDOS91TUxNWG1SRnVBY240ZVp1WlB4MWR6SnlNM0tSZ1pKbUpJOUVkMTl2ZGpmY0F3SEcxUHN1b2hxeUtGNDl3SzBVQlRBUFNWbGVtOCthZXc0SEdsVEVUeCtHRjE5dlFsbFJBQ01KTGE0cEF6ekhiTWhTUkxlYWppR1hhZVBKSXc5akVFZE9VTHltMkFzRVBIV3h2MVY1UXV3Y045V0hHMVRSVnhoRm9Cb1VLMzE3VnY0R0Y0LzlSK3NldWVQUXJtQWNWNFlnUGJVbysvL1ZnS2dWYTZ0RHh4cUhyTHFGUi9LVlFCN3dMaExCTjNHaW51eGROWk51c3VlTXgraXB2VXMvdFYwQ2g5ZGFFb29ZMFlMbURZaEh3dWNzM0h6bE9tNGUvcjFlc3lkSjJ2dzFLRS9KWXcveUtDT25FSHZEaVlTN2dSdktTekJ3bWx6Y2VmVXViQ1B6OVYxR3k5MTRQMXpEVGpkMlliVEY5dFFwOTA3MjlCMDZXSXNicnhaWU5UZ3MwK3dNRHNISlJQek1YMWlQclNpdGMvWFRTckM3THhDM1R6YzFZRy8xZGRpMzlsYXZOdGNKMXE4ZHQ2Z1J2c0piQVludndBNlBqTUw4NHBuWWM2a1FseVhWNFJ2RkRqaEdKODNJSmtJTTdyN0wrT1R2c3REN3BxaExYTU1zalBHRExsTE5IREZUdTFxMXdGLzFONkVZeGVhOFhialNVTWQ3d2hrZHBORGtYOENZS000dnZnZTJsQ2xQYWtDMndSTXRrMUF2bTJjUGxya1pXVWpiK3k0dU84Q2J6ZWVRbnZ2SlhUMGRLTzl0eHZuZTdyUTJ2MHgyajdwMHVjQkxkMm1IQXFKSmM3ZzU3V1o0Q0ppK291WkFFYlNNcU1QTUN0WDVzZ0ttdmE3MVRQNk15WGhnd1hKSm1FcEFCSCs1cFgxQUVVT0EwaHV2aXBJd2tJQUltcjNPZHRWQU42ZEFOMHZXRXRTNWhZQ2NFQjErK2RmV1JBSnlqOGt3b0FkazZTcU0rQmtGUURFN0czd0JOWmZBYkNqcW9ENmVsc041Sit5aVZVQTlFZjZ2OTcwMExPMXNZSFdvY2phUlByZWxDdE1JR0FSQU8rb2J2OXRXcXFmYm94czh5NGlLZjNEb1NVQUVEMml1cXExazI2ZkFyZzZHcVQ5VElBRkFEU3JibjlzQVhqQVhOTVpsQjlrMG8vQnBlMGFiUURSemk5YTRKRHRjYWNpSDJSZ1hyb0lqQ29Bd2huMXdlcFNFSEY4QUtFMWxjeVJBMTlJQU1BeTFlMGZzUDAvL0JFWlJkWmVqclNYSk5PdjBXb0JUTmdWZHZtSGpISWpIWko2TngzSDMwY0p3SG5tL2h2Q25tZlBEbjZpOFFHRWZsb096dEQrb1pGdFpqTVlEUUJFZEYrRHEzcllCY01SRDBvNlE3N3ZNZk1mekFRd0NscXk2dllINHNWTmVGVFdFZkkrQ3FhdG81QzRDU0Y1cytvT1BEbVNVRUlBVnlkSW1zZ21Fekw2L0NRSVcxV1hmMFdpZ0lZQTZDOU1RZDlqUlB5YlJJS1crSjU0aytvS0dCckZEQVBRVzBMUWV4OGtVc0RtZG94bVFtUENNMkdYMy9CbXJ4QUFMVkZuVUM1amd2WWljWXVaaWFlcXhlQW1FQjRKdXdKL0ZkRVNCaEFWZHdibERVeDRXaVJZdW15SjZQZTlHZnhreXcvOHdnZTlrZ2FnOXd2YnZiZFJQNjBGaWUwdG1nV0NnUDh5WWEzcThyK2VyR1pLQUtKQjliNUIrd3NkUVY5a1NQdkZPTUdFTFdHM1ArVk8yUlFBTVJES212bEFKUHJYMmF3MGdOZ0xncExLRXgrY2s2a0FvdUlscjFiWkxsUHZJcGJvRGdKWEFwaVpKQXp0TjMyUXdQc3piV04zMXkycFNyejdLaGdvTFFBRzV6RDFsV2ZzbkpsWnpvUTVCSlF5NEdCR0FVbklRUVFTSkhScWUvWGEvaXFBT2dJZkIvSFJCdGY2RkkrQUpLYnhmOW9EU3NkZWxaTjZBQUFBQUVsRlRrU3VRbUNDIn0sIjBjYmEiOmZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7bigiNmE1NCIpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LmRlZmF1bHQ9ZnVuY3Rpb24oKXt2YXIgZT1hcmd1bWVudHMubGVuZ3RoPjAmJnZvaWQgMCE9PWFyZ3VtZW50c1swXT9hcmd1bWVudHNbMF06dm9pZCAwLHQ9dGhpcy4kcGFyZW50O3doaWxlKHQpe2lmKCF0LiRvcHRpb25zfHx0LiRvcHRpb25zLm5hbWU9PT1lKXJldHVybiB0O3Q9dC4kcGFyZW50fXJldHVybiExfX0sIjBmMzMiOmZ1bmN0aW9uKGUsdCl7ZS5leHBvcnRzPSJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNJQUFBQkFDQVlBQUFCL2U2V1RBQUFBQ1hCSVdYTUFBQXNUQUFBTEV3RUFtcHdZQUFBSFgybFVXSFJZVFV3NlkyOXRMbUZrYjJKbExuaHRjQUFBQUFBQVBEOTRjR0ZqYTJWMElHSmxaMmx1UFNMdnU3OGlJR2xrUFNKWE5VMHdUWEJEWldocFNIcHlaVk42VGxSamVtdGpPV1FpUHo0Z1BIZzZlRzF3YldWMFlTQjRiV3h1Y3pwNFBTSmhaRzlpWlRwdWN6cHRaWFJoTHlJZ2VEcDRiWEIwYXowaVFXUnZZbVVnV0UxUUlFTnZjbVVnTmk0d0xXTXdNRFlnTnprdVpHRmlZV05pWWl3Z01qQXlNUzh3TkM4eE5DMHdNRG96T1RvME5DQWdJQ0FnSUNBZ0lqNGdQSEprWmpwU1JFWWdlRzFzYm5NNmNtUm1QU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUx6QXlMekl5TFhKa1ppMXplVzUwWVhndGJuTWpJajRnUEhKa1pqcEVaWE5qY21sd2RHbHZiaUJ5WkdZNllXSnZkWFE5SWlJZ2VHMXNibk02ZUcxd1BTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM2hoY0M4eExqQXZJaUI0Yld4dWN6cGtZejBpYUhSMGNEb3ZMM0IxY213dWIzSm5MMlJqTDJWc1pXMWxiblJ6THpFdU1TOGlJSGh0Ykc1ek9uQm9iM1J2YzJodmNEMGlhSFIwY0RvdkwyNXpMbUZrYjJKbExtTnZiUzl3YUc5MGIzTm9iM0F2TVM0d0x5SWdlRzFzYm5NNmVHMXdUVTA5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmVHRndMekV1TUM5dGJTOGlJSGh0Ykc1ek9uTjBSWFowUFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwzaGhjQzh4TGpBdmMxUjVjR1V2VW1WemIzVnlZMlZGZG1WdWRDTWlJSGh0Y0RwRGNtVmhkRzl5Vkc5dmJEMGlRV1J2WW1VZ1VHaHZkRzl6YUc5d0lESXhMakFnS0ZkcGJtUnZkM01wSWlCNGJYQTZRM0psWVhSbFJHRjBaVDBpTWpBeU1TMHhNQzB4TlZReE56b3hPRG8wTVNzd09Eb3dNQ0lnZUcxd09rMXZaR2xtZVVSaGRHVTlJakl3TWpJdE1ESXRNVFJVTVRBNk1qTTZNallyTURnNk1EQWlJSGh0Y0RwTlpYUmhaR0YwWVVSaGRHVTlJakl3TWpJdE1ESXRNVFJVTVRBNk1qTTZNallyTURnNk1EQWlJR1JqT21admNtMWhkRDBpYVcxaFoyVXZjRzVuSWlCd2FHOTBiM05vYjNBNlEyOXNiM0pOYjJSbFBTSXpJaUJ3YUc5MGIzTm9iM0E2U1VORFVISnZabWxzWlQwaWMxSkhRaUJKUlVNMk1UazJOaTB5TGpFaUlIaHRjRTFOT2tsdWMzUmhibU5sU1VROUluaHRjQzVwYVdRNlpqQTJNV1poTTJNdFpXVTRNaTAwTXpabExXRmxPRFF0T0RBelptRXdORGN5TVdSa0lpQjRiWEJOVFRwRWIyTjFiV1Z1ZEVsRVBTSmhaRzlpWlRwa2IyTnBaRHB3YUc5MGIzTm9iM0E2WWpJMU1EUTJaR0V0WVRsaFppMWpNRFJqTFdJMllUa3RZVFpoWVdWbE5qa3dOek0xSWlCNGJYQk5UVHBQY21sbmFXNWhiRVJ2WTNWdFpXNTBTVVE5SW5odGNDNWthV1E2TkRBd01ESXdOR1F0WWpRMk9TMWlaVFJtTFdKbE1UQXRaV0l3TURsaE1XWmhNREF5SWo0Z1BIQm9iM1J2YzJodmNEcEViMk4xYldWdWRFRnVZMlZ6ZEc5eWN6NGdQSEprWmpwQ1lXYytJRHh5WkdZNmJHaytZV1J2WW1VNlpHOWphV1E2Y0dodmRHOXphRzl3T21JeU5UQTBObVJoTFdFNVlXWXRZekEwWXkxaU5tRTVMV0UyWVdGbFpUWTVNRGN6TlR3dmNtUm1PbXhwUGlBOEwzSmtaanBDWVdjK0lEd3ZjR2h2ZEc5emFHOXdPa1J2WTNWdFpXNTBRVzVqWlhOMGIzSnpQaUE4ZUcxd1RVMDZTR2x6ZEc5eWVUNGdQSEprWmpwVFpYRStJRHh5WkdZNmJHa2djM1JGZG5RNllXTjBhVzl1UFNKamNtVmhkR1ZrSWlCemRFVjJkRHBwYm5OMFlXNWpaVWxFUFNKNGJYQXVhV2xrT2pRd01EQXlNRFJrTFdJME5qa3RZbVUwWmkxaVpURXdMV1ZpTURBNVlURm1ZVEF3TWlJZ2MzUkZkblE2ZDJobGJqMGlNakF5TVMweE1DMHhOVlF4TnpveE9EbzBNU3N3T0Rvd01DSWdjM1JGZG5RNmMyOW1kSGRoY21WQloyVnVkRDBpUVdSdlltVWdVR2h2ZEc5emFHOXdJREl4TGpBZ0tGZHBibVJ2ZDNNcElpOCtJRHh5WkdZNmJHa2djM1JGZG5RNllXTjBhVzl1UFNKellYWmxaQ0lnYzNSRmRuUTZhVzV6ZEdGdVkyVkpSRDBpZUcxd0xtbHBaRG8zTnpsa05HUmlaUzA0T0daa0xXVXhOR0V0WVRnNU5pMWlPRE0wTjJJM1lqSXhaV1FpSUhOMFJYWjBPbmRvWlc0OUlqSXdNakV0TVRBdE1UVlVNVGM2TWpFNk1ERXJNRGc2TURBaUlITjBSWFowT25OdlpuUjNZWEpsUVdkbGJuUTlJa0ZrYjJKbElGQm9iM1J2YzJodmNDQXlNUzR3SUNoWGFXNWtiM2R6S1NJZ2MzUkZkblE2WTJoaGJtZGxaRDBpTHlJdlBpQThjbVJtT214cElITjBSWFowT21GamRHbHZiajBpYzJGMlpXUWlJSE4wUlhaME9tbHVjM1JoYm1ObFNVUTlJbmh0Y0M1cGFXUTZaakEyTVdaaE0yTXRaV1U0TWkwME16WmxMV0ZsT0RRdE9EQXpabUV3TkRjeU1XUmtJaUJ6ZEVWMmREcDNhR1Z1UFNJeU1ESXlMVEF5TFRFMFZERXdPakl6T2pJMkt6QTRPakF3SWlCemRFVjJkRHB6YjJaMGQyRnlaVUZuWlc1MFBTSkJaRzlpWlNCUWFHOTBiM05vYjNBZ01qSXVOQ0FvVFdGamFXNTBiM05vS1NJZ2MzUkZkblE2WTJoaGJtZGxaRDBpTHlJdlBpQThMM0prWmpwVFpYRStJRHd2ZUcxd1RVMDZTR2x6ZEc5eWVUNGdQQzl5WkdZNlJHVnpZM0pwY0hScGIyNCtJRHd2Y21SbU9sSkVSajRnUEM5NE9uaHRjRzFsZEdFK0lEdy9lSEJoWTJ0bGRDQmxibVE5SW5JaVB6NWRkWkRwQUFBQkowbEVRVlJvZ2UyWDBRNkRJQXhGTDJhZnhsL0x2N0VYV1J5S3RoVm9tM2hmbG1Cb2o2Y1NzckN1SzRUSmpmWEFLUkpqQkFBc25TSHVualVqQmVrZUNRamxqZGxXdUNDY0Jpd1lsNk9SZklUa1BlNk1pSTRrWnk4RjVBa0V1WWFiMGZTd1Fhcmx3a2hQRzdjMVd5QWpJQzVybXg3TlNCdk5IbWFOekxCeDJzdWtrWmsyRGoyWGVtRjJVa3A1RDZLZUJZbzJTbEpLMlpRUkUzbEI2cGdDWWYxcEhwRVlZd2c1cTU5ZUFNWkdZeUptUUQ3YnIvYUhFa3pjTlFEZXUrYVFGNlNPS1JEMXV3YmI4VFdSQXFKcEpleEJmZ3NhRURXSWFtcVFtVmIrZXBrMUFzeXhjdWhoMmdndzFzcHA3U3NqSTJDYU5jMlBwcVNubGN0YWJvd0FmYXpjMXFBYWVRSkQydXRxTkNVU0srUTlMbzBBUENzc2d4SWpsQWJzTWJvZFRjblZHNHVPK2hkZFpTdXZkZDVuK3dBQUFBQkpSVTVFcmtKZ2dnPT0ifSwiMTVkZSI6ZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLnIodCk7dmFyIGE9bigiYTk1ZCIpLG89bi5uKGEpO2Zvcih2YXIgciBpbiBhKVsiZGVmYXVsdCJdLmluZGV4T2Yocik8MCYmZnVuY3Rpb24oZSl7bi5kKHQsZSwoZnVuY3Rpb24oKXtyZXR1cm4gYVtlXX0pKX0ocik7dFsiZGVmYXVsdCJdPW8uYX0sIjE1ZTYiOmZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7bigiNmE1NCIpO3ZhciBhPW4oImY1YmQiKS5kZWZhdWx0O09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LmRlZmF1bHQ9dm9pZCAwO3ZhciBvLHIsaSxzLGMsbCx1PWEobigiMzlkOCIpKSxkPXtuYXY6WyLssqsg7Y6Y7J207KeAIiwi7Iuc7IS4Iiwi7Yq466CI7J2065OcIiwi7JW97IaNIiwi7J6Q7IKwIl0sY29tbW9uOihvPXtDYW5jZWxsZWQ6Iuy3qOyGjOuQnCIsc2VhcmNoOiLsiJjsg4ntlZjri6QiLGNvbmZpcm06Iu2Zleygle2VmOuLpCIsY2FuY2VsOiLst6jshowiLHN1Ym1pdDoi7Luk67CLIixsb2dvdXQ6Iu2HtOyepe2VmOuLpCIsYWxsOiLrqqjsobDrpqwiLGVkaXQ6Iu2OuOynkeyekCIsZGVsZXRlOiLsgq3soJwiLHJlc2V0OiLsnqzshKTsoJUiLGZpbHRlcjoi7ISg67OE7ZWY64ukIixsb2dpbjoi66Gc6re47J24IixyZWdpc3Rlcjoi65Ox66GdISIsZW1haWw6IuyasO2OuO2VqCIsbW9iaWxlOiLtnLTrjIDtj7Ag67KI7Zi4IixhY2NvdW50OiLsgqzsmqnsnpAg7J2066aEIixwYXNzd29yZDoi67mE67CAIOuyiO2YuCIscGFzc3dvcmRQbGFjZWhvbGRlcjoi7JWU7Zi466W8IOyeheugpe2VmOyLreyLnOyYpC4iLG5vYWNjb3VudDoi6rOE7KKM67KI7Zi4IOyXhuyWtOyalD8iLGdvOiLqsIDri6QiLGZvcmdldFBhc3N3b3JkOiLslZTtmLgg7J6K7J2MIixjb25maXJtUGFzc3dvcmQ6IuyVlO2YuCDtmZXsnbgiLGludml0ZWNvZGU6Iuy0iOuMgCDsvZTrk5wiLGhhc2FjY291bnQ6IuqzhOygleydtCDsnojsirXri4jquYw/Iixtb2JpbGVjb2RlUGxhY2Vob2xkZXI6IuyduOymnSDsvZTrk5zrpbwg7J6F66Cl7ZWY7IS47JqUIixlbWFpbGNvZGVQbGFjZWhvbGRlcjoi7J247KadIOy9lOuTnOulvCDsnoXroKXtlZjshLjsmpQiLHNlbmQ6IuyduOymnSDsvZTrk5wg67O064K06riwIixzZWxlY3RBcmVhOiLsp4Dsl60g7ISg7YOdIixhdWRpdDoi7Ius7IKsIix1bmRlckF1ZGl0OiLsi6zsgqwg7KSRIixhdWRpdEZhaWx1cmU6IuqwkOyCrCDsi6TtjKgiLHVudGllOiLrrLbsnYzsnYQg7ZKA64ukIixidXk6IuyCrOuLpCIsc2VsbDoi7YyU64ukIixwbHNMb2dpbjoi66i87KCAIOuhnOq3uOyduO2VmOyLreyLnOyYpC4iLHBsc0lucHV0VXNlcm5hbWU6IuqzhOyglSDsnoXroKUiLHBsc0lucHV0UmVQYXNzd29yZDoi7ZmV7J24IOyVlO2YuOulvCDsnoXroKXtlZjsi63si5zsmKQuIixwbHNJbnB1dEludml0ZUNvZGU6Iuy0iOuMgCDrsojtmLjrpbwg7J6F66Cl7ZWY7Iut7Iuc7JikLiIscGxzSW5wdXRDb2RlOiLsnbjspp3rsojtmLjrpbwg7J6F66Cl7ZWY7Iut7Iuc7JikLiIscGxzSW5wdXRNb2JpbGU6Iu2VuOuTnO2PsCDrsojtmLjrpbwg7J6F66Cl7ZWY7IS47JqULiIscGxzSW5wdXRFbWFpbDoi66mU7J2867CV7IqkIOyeheugpSIsbG9naW5fc3VjY2Vzczoi66Gc6re47J24IOyEseqztSIsbG9naW5fZmFpbDoi66Gc6re47J24IOyLpO2MqCIscmVnX3N1Y2Nlc3M6IuuTseuhnSDshLHqs7UiLHJlZ19mYWlsOiLroZzqt7jsnbgg7Iuk7YyoIixwd2RJbmNvbnNpc3RlbnQ6Iuu5hOuwgOuyiO2YuCDrtojsnbzsuZgiLGhpbnQ6Iu2UhOuhrO2UhO2KuCIsbG9hZGluZzoi66Gc65OcIOykkSIsc3VjY2Vzczoi7ISx7LeoIixwbHNJbnB1dDoi7J6F66Cl7ZWY7Iut7Iuc7JikLiIsY2xpY2s6Iu2BtOumrSIscXVvdGF0aW9uOiLsi5zshLgifSwoMCx1LmRlZmF1bHQpKG8sImVkaXQiLCLtjrjsp5HsnpAiKSwoMCx1LmRlZmF1bHQpKG8sInNlY29uZCIsIuy0iCDri6jsnIQiKSwoMCx1LmRlZmF1bHQpKG8sInNwZWNpYWxDaGFydCIsIu2KueyImCDrrLjsnpDripQg7ZeI7Jqp65CY7KeAIOyViuyKteuLiOuLpC4iKSwoMCx1LmRlZmF1bHQpKG8sIm9wZW4iLCLqsJzsnqUg6rCA6rKpIiksKDAsdS5kZWZhdWx0KShvLCJjbG9zZSIsIuuniOqwkOqwgCIpLCgwLHUuZGVmYXVsdCkobywiaGlnaCIsIuy1nOqzoOqwgCIpLCgwLHUuZGVmYXVsdCkobywibG93Iiwi7LWc7KCA6rCAIiksKDAsdS5kZWZhdWx0KShvLCJjdXN0b21lclNlcnZpY2UiLCLqs6DqsJ3shLzthLDsl5Ag7Jew65297ZWY64ukIiksKDAsdS5kZWZhdWx0KShvLCJyZW1lbWJlclBhc3N3b3JkIiwi7JWU7Zi4IOq4sOyWte2VmOq4sCIpLCgwLHUuZGVmYXVsdCkobywibmV3UGFzc3dvcmQiLCLsg4gg7JWU7Zi4IiksKDAsdS5kZWZhdWx0KShvLCJwd2RNb3JlVGhlbjYiLCLslZTtmLjsnZgg6ri47J2064qUIDbsnpDrpqwg7J207IOB7J207Ja07JW8IO2VnOuLpCIpLCgwLHUuZGVmYXVsdCkobywiY29kZUxlbmd0aDYiLCLsnbjspp0g7L2U65OcIOq4uOydtOuKlCA267mE7Yq47Jes7JW8IO2VqeuLiOuLpC4iKSwoMCx1LmRlZmF1bHQpKG8sInJlUHdkTW9yZVRoZW42Iiwi67mE67CA67KI7Zi4IO2ZleyduCDquLjsnbTripQgNuyekOumrCDsnbTsg4HsnbTslrTslbwg7ZWp64uI64ukIiksKDAsdS5kZWZhdWx0KShvLCJwbHMiLCLstIjrjIDtlZjri6QiKSwoMCx1LmRlZmF1bHQpKG8sInNhdmVTdWNjZXNzIiwi7Iuc7Iqk7YWcIO2PrO2GoCDslajrspTsl5Ag7KCA7J6l65CoIiksKDAsdS5kZWZhdWx0KShvLCJuZXh0U3RlcCIsIuuLpOydjCDri6jqs4QiKSwoMCx1LmRlZmF1bHQpKG8sImxvZyIsIuugiOy9lOuTnCIpLCgwLHUuZGVmYXVsdCkobywicGFyYW1zV3JvbmciLCLrp6TqsJzrs4DsiJgg7Jik66WYIiksKDAsdS5kZWZhdWx0KShvLCJmdW5jdGlvbkxvYWRpbmciLCLquLDriqUg6rCc67CcIOykkSIpLCgwLHUuZGVmYXVsdCkobywiRElHSUNDWSIsIuuUlOyngO2EuCDtmZTtj5AiKSwoMCx1LmRlZmF1bHQpKG8sInF1aWNrbHkiLCLsvozsho0iKSwoMCx1LmRlZmF1bHQpKG8sIm1vcmUiLCLrjZQuIiksKDAsdS5kZWZhdWx0KShvLCJoYXNOb0RhdGEiLCLrjZQg7J207IOBIOuNsOydtO2EsOqwgCDsl4bslrTsmpQuIiksKDAsdS5kZWZhdWx0KShvLCJhdWRpb0Vycm9yIiwi7Jik65SU7JikIO2MjOydvCDsmKTrpZgiKSwoMCx1LmRlZmF1bHQpKG8sInRvTG9uZyIsIuusuOyekOqwgCDrhIjrrLQg6rmB64uI64ukLiIpLCgwLHUuZGVmYXVsdCkobywic2VsZWN0TGFuZyIsIuyWuOyWtCDshKDtg50iKSwoMCx1LmRlZmF1bHQpKG8sInJuYW1lcGFzcyIsIuyLpOuqheyduOymnSDthrXqs7wiKSxvKSxob21lOihyPXtjb250YWN0VXM6IuyXsOudveyymCIsYm9ycm93aW5nOiLssKjsmqkiLGJvcnJvd2luZ19lbnRyeToi64yA7LacIO2VreuqqSIscmVwYXltZW50X2VudHJ5OiLrjIDstpwg7IOB7ZmYIOyeheugpSIsdGl0bGU6Ildvb0Nsb3VkIix0b3RhbEFzc2V0c0VxdWl2YWxlbmc6Iuy0neyekOyCsCDtmZjsgrAiLHJlY2hhcmdlOiLstqnsoITtlZjri6QiLHdpdGhkcmF3OiLtmITquIjsnYQg7J247Lac7ZWY64ukIixzdG9jazoi7KO87IudIixmdXR1cmVzOiLqs4Tslb0iLGNvcHl0cmFkZToi7Zmc7Jqp64uo7Ja07LC47KGwIixmaW5hbmNpYWw6Iuq4iOyctSDsnqztg5ztgawiLG1hcmdpbjoi7IqI7Y28IOugiOuyhCIsb3RjOiJPVEMiLGNvdXBvbjoi7Lm065OcIOyEvO2EsCIsYmlsbHM6IuqzhOyCsOyEnCIsZXhjaGFuZ2U6Iu2ZmOyWtOydjCIsbWluaW5nOiLssYTqtJEiLGdhbWU6IuyekeydgCDrhoDsnbQiLGNoYXRyb29tOiLssYTtjIXrsKkiLHF1aWNrbHlCdXlDb2luczoi64uo7LaVIOq1rOunpCDtmZTtj5AiLGRlZmlNaW5pbmc6IkRlRmkg7LGE6rW0IixjbG91ZE1pbmluZzoi7Jq06rSR6riwIn0sKDAsdS5kZWZhdWx0KShyLCJzdG9jayIsIuyjvOyLnSIpLCgwLHUuZGVmYXVsdCkociwic3RvY2tfaW5mbyIsIuywveqzoOulvCDqsJzshKTtlaAg7ZWE7JqUIOyXhuydtCDsponsi5wg7LC96rOg66W8IOq0gOumrO2VmOuLpC4iKSwoMCx1LmRlZmF1bHQpKHIsImxvY2ttaW5nIiwi7JW97IaNIiksKDAsdS5kZWZhdWx0KShyLCJ0cmFuc2ZlciIsIu2ZlO2PkCIpLCgwLHUuZGVmYXVsdCkociwiaWVvIiwiSUVPIiksKDAsdS5kZWZhdWx0KShyLCJzZWNvbmRzIiwi7Ji17IWYIiksKDAsdS5kZWZhdWx0KShyLCJkYXkiLCLsnbwiKSwoMCx1LmRlZmF1bHQpKHIsIm1pbmltdW0iLCLsi5zsnpHtlZjri6QiKSwoMCx1LmRlZmF1bHQpKHIsImRhaWx5UmV0dXJuUmF0ZSIsIuydvOyImOydteuloCIpLCgwLHUuZGVmYXVsdCkociwibW9yZSIsIuuNlC4iKSwoMCx1LmRlZmF1bHQpKHIsIm1hcmtldCIsIuyLnOyEuCIpLCgwLHUuZGVmYXVsdCkociwidHJhZGluZ1BhaXIiLCLqtZDsl60iKSwoMCx1LmRlZmF1bHQpKHIsImxhc3RQcmljZSIsIuy1nOyLoCDqsIDqsqkiKSwoMCx1LmRlZmF1bHQpKHIsInRvZGF5Q2hhbmdlIiwi7Jik64qYIOyDgeyKue2PreudvSIpLCgwLHUuZGVmYXVsdCkociwidHJhbnNhY3Rpb24iLCLtirjroIjsnbTrk5wiKSwoMCx1LmRlZmF1bHQpKHIsIm5mdCIsIk5GVCIpLCgwLHUuZGVmYXVsdCkociwiaW52ZXN0Iiwi7Yis7J6QIOyerO2FjO2BrCIpLCgwLHUuZGVmYXVsdCkociwiZG93bmxvYWQiLCLri6TsmrTroZzrk5wiKSwoMCx1LmRlZmF1bHQpKHIsImFwcF90ZXh0Iiwi7Ja47KCcIOyWtOuUlOyEnOuCmCDsmKjrnbzsnbgg6rGw656YIiksKDAsdS5kZWZhdWx0KShyLCJiel9Db250ZW4iLCLrj4Tsm4Drp5Ag7IS87YSwIiksciksc2V0dGluZzp7dGVhbToi7YyAIix0ZWFtMToi7YyAIOyImCIsdGVhbTI6IuyCrOuejCIsdGVhbTM6Iu2YhOyerCDthrXtmZQg7J6U7JWhIix0ZWFtNDoi64iE7KCBIOuztOyDgSjthrXsoJUpIix0ZWFtNToi64iE7KCBIOuztOyDgShVU0RUKSIsdGVhbTY6Iuq1kO2ZmO2VmOuLpCIsdGVhbTc6Iuq1kO2ZmO2VmOuLpCIsdGVhbTg6Iu2GteyglSDrs7Tsg4Eg6riw66GdIix0ZWFtOToiVVNEVCDrs7Tsg4Eg66CI7L2U65OcIix0ZWFtMTA6IuqzteycoCDrp4HtgawiLHRlYW0xMToi7ZWY6riJIOyduOybkCAoMeq4iSkiLHRlYW0xMjoi7ZWY6riJIOyduOybkCgy6riJKSIsdGVhbTEzOiLtlZjquIkg7J247JuQKDPquIkpIix0ZWFtMTQ6IuyCrOyaqeyekCDsnbTrpoQiLHRlYW0xNToi64u067O0IOyelOyVoSIsdGVhbTE2OiLstIjrjIAg7Iuc6rCEIix0ZWFtMTc6Iu2GteyglSDqtZDtmZgiLHRlYW0xODoi7Ya17KCVIOyImOufiSIsdGVhbTE5OiLqtZDtmZgg6rCA64ql7ZWcIFVTRFQg7IiYIix0ZWFtMjA6IuuqqOyhsOumrCIsdGVhbTIxOiLsgqzsmqkg6rCA64ql7ZWcIO2MqOyKpCIsdGVhbTIyOiLqtZDtmZgg67mE7JyoIix0ZWFtMjM6IuyImOyImOujjCIsdGVhbTI0OiLqtZDtmZgg7ZmV7J24Iix0ZWFtMjU6IuyhsO2ajCIsdGVhbTI2OiLthrXspp0g67O07IOBIOq4sOuhnSIsdGVhbTI3OiLqtZDtmZgg7IiY65+J7J2EIOyeheugpe2VmOyLreyLnOyYpCIsdGVhbTI4OiLsi6TrqoXsnbjspp0g67O07IOBIix0ZWFtMjk6IuqxsOuemCDsiJjsiJjro4wiLHRlYW0zMDoi5bel5L2c5a6k5aWW5YqxIix0ZWFtMzE6Iuq0keyCsOydhCDtjIzshJwg7J207Jyk7J2EIOuwmO2ZmO2VmOuLpC4iLHRlYW0zMjoi7Ya17KadIOuztOyDgSgtKSIsdGVhbTMzOiLrlJTsp4DthLgg7ZmU7Y+QIOuztOyDgSIsdGVhbTM0OiLst6jshowiLHRlYW0zNToi7ZmV7J24Iix5OiLsl7DspJEiLG06IuuLrC4iLGQ6Iu2VmOujqCIsaDoi65WMIixmOiLrgpjriITri6QiLHM6Iuy0iC4iLG15X3FyY29kZToi64K0IFFSIOy9lOuTnCIsbWluZToiTWluZSIsaW52aXRlRGVzYzoi7Lmc6rWsIOy0iOuMgCwg6rO164+ZIOydtOycpCDrsJjtmZgiLGludml0ZURlc2MyOiLsuZzqtazsmYAg7ZWo6ruYIOydtOycpCDrsJjtmZjsnYQg64iE66as64ukIixpbnZpdGVOdW1iZXI6Iuy0iOyyrSDsnbjsm5DsiJgiLGludml0ZVRyYW5zTnVtYmVyOiLqsbDrnpgg7J247JuQ7IiYIixteVJlYmF0ZToi64KY7J2YIOydtOycpCDrsJjtmZgiLGJpbGw6IuqzhOyCsOyEnCIsd2FsbGV0OiLsp4DqsJEg7KO87IaMIixiYW5rczoi7J2A7ZaJIOy5tOuTnCDrsJTsnbjrlKkiLGJhbmtzSW50ZXJuYXRpb25hbDoi7J2A7ZaJIOy5tOuTnCDrsJTsnbjrlKkgKOyduO2EsOuCtOyFlOuEkCkiLGFkZEJhbms6Iuy5tOuTnCDstpTqsIAiLHNlY3VyaXR5U2V0dGluZ3M6IuuztOyViCDshKTsoJUiLGNvdXBvbjoi7Lm065OcIOyEvO2EsCIsc3lzdGVtTm90aWZpY2F0aW9uOiLsi5zsiqTthZwg7JWM66a8IixkZWZhdWx0RmlhdEN1cnJlbmN5OiLquLDrs7gg67KV7KCVIO2ZlO2PkCIsbGFuZ3VhZ2U6IuyWuOyWtCIsZmFxOiJGQVEiLG9wZXJhdGlvbmFsQ29tcGxpYW5jZToi6rK97JiBIOq3nOuylCIsc2hhcmU6IuuCmOuIhOuLpCIsY29udGFjdFVzOiLsl7Drnb3sspgiLGFib3V0VXM6IuyasOumrCIsYXZhdGFyOiLrkZDsg4EiLG5pY2tuYW1lOiLslaDsua0iLHNpZ25hdHVyZToi6rCc7J24IOyEnOuqhSIsZ3J4eDoi6rCc7J24IOygleuztCIsZ3J4eE9wdGlvbnM6e25pY2tuYW1lOnt0aXRsZToi7JWg7LmtIixwbGFjZWhvbGRlcjoi64uJ64Sk7J6E7J2EIOyeheugpe2VmOyEuOyalC4iLGRlc2M6IjItMTDsnpAsIOykkeq1reyWtCwg7Iir7J6QIOyngOybkCJ9LHNpZ25hdHVyZTp7dGl0bGU6IuyVoOy5rSIscGxhY2Vob2xkZXI6IuuLieuEpOyehOydhCDsnoXroKXtlZjshLjsmpQuIixkZXNjOiIyLTEw7J6QLCDspJHqta3slrQsIOyIq+yekCDsp4Dsm5AifX0seHh0eDoi7J2066+47KeAIOyXheuhnOuTnCIscGhvdG9ncmFwaDoi7IKs7KeE7J2EIOywjeuLpCIsc2VsZWN0RnJvbUFsYnVtOiLslajrspQg7ISg7YOdIixhcXN6OiLrs7TslYgg7ISk7KCVIixlZGl0TG9naW5QYXNzd29yZDoi66Gc6re47J24IOyVlO2YuCDsiJjsoJUiLHNldFBheVBhc3N3b3JkOiLqsrDsoJwg7JWU7Zi4IOyEpOyglSIsZWRpdFBheVBhc3N3b3JkOiLqsrDsoJwg7JWU7Zi4IOyImOyglSIsYmluZFBob25lOiLtnLTrjIDtj7Ag67CU7J2465SpIixlbWFpbDoi7Jqw7Y647ZWoIixzdGF5TG9naW46IuuhnOq3uOyduCDsnKDsp4AiLHhnZGxtbToi66Gc6re47J24IOyVlO2YuCDsiJjsoJUiLGN1cnJlbnRQYXNzd29yZDoi7ZiE7J6sIOuhnOq3uOyduCDslZTtmLgiLGN1cnJlbnRQYXNzd29yZFBsYWNlaG9sZGVyOiLtmITsnqwg66Gc6re47J24IOyVlO2YuOulvCDsnoXroKXtlZjsi63si5zsmKQuIixuZXdQYXNzd29yZDoi7IOIIOuhnOq3uOyduCDslZTtmLgiLG5ld1Bhc3N3b3JkUGxhY2Vob2xkZXI6IuyDiCDroZzqt7jsnbgg7JWU7Zi466W8IOyeheugpe2VmOyLreyLnOyYpC4iLGNvbmZpcm1OZXdQYXNzd29yZDoi7IOIIOyVlO2YuCDtmZXsnbgiLGNvbmZpcm1OZXdQYXNzd29yZFBsYWNlaG9sZGVyOiLsg4gg7JWU7Zi4IO2ZleyduCDsnYQg7J6F66Cl7ZWY7Iut7Iuc7JikLiIsY3VycmVudFBheVBhc3N3b3JkOiLtmITsnqwg7KeA67aIIOyVlO2YuCIsY3VycmVudFBheVBhc3N3b3JkUGxhY2Vob2xkZXI6Iu2YhOyerCDqsrDsoJwg7JWU7Zi466W8IOyeheugpe2VmOyLreyLnOyYpC4iLG5ld1BheVBhc3N3b3JkOiLsg4gg6rKw7KCcIOyVlO2YuCIsbmV3UGF5UGFzc3dvcmRQbGFjZWhvbGRlcjoi7IOIIOqysOygnCDslZTtmLjrpbwg7J6F66Cl7ZWY7Iut7Iuc7JikLiIsY29uZmlybU5ld1BheVBhc3N3b3JkOiLsg4gg6rKw7KCcIOyVlO2YuCDtmZXsnbgiLGNvbmZpcm1OZXdQYXlQYXNzd29yZFBsYWNlaG9sZGVyOiLsg4gg6rKw7KCcIOyVlO2YuCDtmZXsnbgg7J2EIOyeheugpe2VmOyLreyLnOyYpC4iLHBob25lVmVyaWZpY2F0aW9uQ29kZToi7ZW465Oc7Y+wIOyduOymneuyiO2YuCIsZWRpdFBob25lVmVyaWZpY2F0aW9uQ29kZToi7Zy064yA7Y+wIOyduOymneuyiO2YuOulvCDsnoXroKXtlZjsi63si5zsmKQuIixnZXRWZXJpZmljYXRpb25Db2RlOiLsnbjspp0g7L2U65OcIOqwgOyguOyYpOq4sCIsbGN0eXE6IuyerO2FjO2BrCDssrTtl5jqtowiLGV4cGlyZWQ6IuustO2aqCIsZXhwaXJlZFRpbWU6IuyLpO2aqCDsnbzsnpAiLHVzZUltbWVkaWF0ZWx5OiLsponsi5wg7IKs7JqpIixhZGROZXdBY2NvdW50OiLsg4gg6rOE7KCVIOy2lOqwgCIsdG90YXlJbmNvbWU6Iuq4iOydvCDsiJjquIgiLHRvdGFsSW5jb21lOiLriITsoIEg7IiY6riIIixzZWxlY3RMYW5nOiLslrjslrQg7ISg7YOdIixzZWxlY3RDb2luVHlwZToi7ZmU7Y+Q7KKF66WY66W8IOyEoO2Dne2VmOyEuOyalCIsYXV0aGVudGljYXRpb246IuyduOymnSIsYXV0aGVudGljYXRpb24xOiLquLDrs7gg7J247KadIixhdXRoZW50aWNhdGlvbjI6IuqzoOq4iSDsnbjspp0iLGF1dGhlbnRpY2F0aW9uX3RleHRfMToi6rCc7J24IOyduOymnSIsYXV0aGVudGljYXRpb25fdGV4dF8yOiLsnbjspp0g7JmE66OMIO2bhCDtmo3rk53tlaAg7IiYIOyeiOuKlCDqtoztlZw6IixhdXRoZW50aWNhdGlvbl90ZXh0XzM6Ikx2MS7quLDrs7gg7J247KadIixhdXRoZW50aWNhdGlvbl90ZXh0XzQ6IjI07Iuc6rCEIO2VnOuPhCAyMDBCVEMg7J247KadIO2bhCDsoJzqs7UiLGF1dGhlbnRpY2F0aW9uX3RleHRfNToi7J247KadIO2bhCDrspXsoJUg7Ya17ZmUIOqxsOuemCDqsIDriqUsIDHtmowgMjAwMFVTRFQiLGF1dGhlbnRpY2F0aW9uX3RleHRfNjoiTHYyLuqzoOq4iSDsnbjspp0iLGF1dGhlbnRpY2F0aW9uX3RleHRfNzoi6rWs7ZiEIO2VnOuPhCDspp3qsIAsIDI07Iuc6rCEIO2VnOuPhCA1MDBCVEMiLGF1dGhlbnRpY2F0aW9uX3RleHRfODoi67KV7KCVIO2Gte2ZlCDqsbDrnpgg6riI7JWhIOymneqwgCwgMe2ajCDquIjslaEgMTAwMDAwMFVTRFQiLGF1dGhlbnRpY2F0aW9uX3RleHRfOToi7JWM66a8OiDsgqzsmqnsnpDsnZgg7J6Q6riIIOyViOyghOydhCDrs7TtmLjtlZjquLAg7JyE7ZW0IOuovOyggCDrqZTsnbzrsJXsiqTsmYAg7KCE7ZmU7J2YIOyXsOqysOydhCDsmYTro4ztlZjsi63si5zsmKQuIOq3uOugh+yngCDslYrsnLzrqbQg7J247Kad7J2EIO2GteqzvO2VoCDsiJgg7JeG7Iq164uI64ukLiIsZ29BdWRpdDoi7J247KadIixub2F1ZGl0OiLsnbjspp3rkJjsp4Ag7JWK7J2MIixhdWRpdGluZzoi7J247KadIOykkSIsaGFzYXVkaXQ6IuyduOymneuQqCIsZXJyb3JhdWRpdDoi7J247KadIOyLpO2MqCIsaWRUeXBlOiLspp3rqoXshJwg7Jyg7ZiVIixpZENhcmQ6IuyLoOu2hOymnSIscGFzc3BvcnQ6IuyXrOq2jC4iLGRyaXZlckxpY2Vuc2U6IuyatOyghOuptO2XiOymnSIsbmFtZToi7ISx7ZWoL+yEseuqhSIsaWRjYXJkOiLso7zrr7zrk7HroZ3rsojtmLgiLHBsc0lwdE5hbWU6IuydtOumhOydhCDsnoXroKXtlZjsi63si5zsmKQuIixwbHNJcHRDb3JyZWN0SWRjYXJkOiLsoJXtmZXtlZwg7KO866+865Ox66Gd67KI7Zi466W8IOyeheugpe2VmOyEuOyalC4iLHVwbG9hZElkY2FyZEZyb250OiLsi6DrtoTspp0g7KCV66m0IOyXheuhnOuTnCIsdXBsb2FkSWRjYXJkUmV2ZXJzZToi7Iug67aE7KadIOuSt+uptOydhCDsmKzrpqzri6QiLGVtYWlsVmVyaWZpY2F0aW9uQ29kZToi66mU7J2867CV7IqkIOyduOymneuyiO2YuCIscGxzaXB0RW1haWxDb2RlOiLrqZTsnbzrsJXsiqQg7J247Kad67KI7Zi466W8IOyeheugpe2VmOyLreyLnOyYpC4iLGFkZFdhbGxldDoi7KeA6rCRIOyjvOyGjCDstpTqsIAiLHNlbGVjdEN1cnJlbmN5OiLtmZTtj5DsnZgg7KKF66WY66W8IOyEoO2Dne2VmOuLpCIscGxzU2VsZWN0Q3VycmVuY3k6Iu2ZlO2PkOyiheulmOulvCDshKDtg53tlZjshLjsmpQiLHBsc0lwdEFkZHJlc3M6IuyngOqwkSDso7zshozrpbwg7J6F66Cl7ZWY7Iut7Iuc7JikLiIsd2FsbGV0QWRkcmVzczoi7KeA6rCRIOyjvOyGjCIsd2FsbGV0UXJjb2RlOiLsp4DqsJEgUVLsvZTrk5wiLHBsc0lwdFdhbGxldEFkZHJlc3M6IuyngOqwkSDso7zshozrpbwg7J6F66Cl7ZWY7Iut7Iuc7JikLiIscGxzVXBsb2FkV2FsbGV0UXJjb2RlOiLsp4DqsJEgUVLsvZTrk5wg7Jis66Ck7KO87IS47JqULiIsY29uZmlybUxvZ291dDoi66Gc6re47J247J2EIOyiheujjO2VmOyLnOqyoOyKteuLiOq5jD8iLG5vbmlja25hbWU6IuuLieuEpOyehOydhCDshKTsoJXtlZjshLjsmpQuIixwbHNJbnB1dE1vYmlsZToi7ZW465Oc7Y+wIOuyiO2YuOulvCDsnoXroKXtlZjshLjsmpQuIixhbGlwYXlfYWNjb3VudDoiQUJB7Zi4IixyZWFsX25hbWU6IuyLpOuqhSIsYmFua19hY2NvdW50OiLsnYDtlokg7Lm065OcIOuyiO2YuCIsYmFua19kaXpoaToi6rWs7KKM66W8IOqwnOyEpO2VmOuLpC4iLGJhbmtfbmFtZToi6rOE7KKMIOqwnOyEpCDsnYDtlokiLGJhbmtfbmV0d29yazoi6rOE7KKM66W8IOqwnOyEpO2VmOuLpC4iLHN3aWZ0X2NvZGU6IlNXSUZUIixwaG9uZToi7Jew65297LKYIix3ZWNoYXRfYWNjb3VudDoi7Lm065OcIOyGjOycoOyekCDso7zshowiLHdlY2hhdF9uaWNrbmFtZToiU1dJRlQg7L2U65OcIixhbGxOZWVkOiLrqqjrkZAg7ZWE7IiYIixwaG9uZU51bWJlcjoi7Zy064yA7Y+wIOuyiO2YuCIsY29kZToi7J247KadIOy9lOuTnCIsc2VuZENvZGU6IuyduOymnSDsvZTrk5wg67O064K06riwIixwbHNJcHRDb2RlOiLsnbjspp3rsojtmLjrpbwg7J6F66Cl7ZWY7Iut7Iuc7JikLiIsc2NvcmU6IlNjb3JlIn0sdHJhbnNhY3Rpb246KGk9e2FjdHVhbFBMOiJBY3R1YWwgUEwiLGZhdm9yaXRlczoi7Iqk7Iqk66GcIOyEoO2Dne2VmOuLpCIsZnV0dXJlczoi6rOE7JW9Iixjb2luczoi7ZmU7Y+QIixzdG9jazoi7KO87IudIix0cmFkaW5nUGFpcjoi6rWQ7JetIixsYXN0UHJpY2U6Iuy1nOyLoCDqsIDqsqkiLHRvZGF5Q2hhbmdlOiLsmKTripgg7IOB7Iq57Y+t6529IixzZWFyY2hQbGFjZWhvbGRlcjoi6rSA7IusIO2Gte2ZlC/so7zsi50g7J2066aEL+y9lOuTnCDqsoDsg4kiLGhvdFNlYXJjaDoi7J246riwIOqygOyDiSIscmVjZW50Vmlldzoi7LWc6re8IOuztOq4sCIsZGF5SGlnaDoi7Jik64qYIixkYXlMb3c6IuyYpOuKmCDrgq7ri6QiLG9wdGlvbmFsOiLsiqTsiqTroZwg7ISg7YOd7ZWY64ukIixidXk6IuunpOyehSIsc2VsbDoi7YyU64ukIixlbnRydXN0UGVuZGluZ09yZGVyOiLsnITtg4Eg65Ox6riwIixhZGRPcHRpb25hbFN1Y2Nlc3M6IuyCrOyaqeyekCDshKDtg50g7LaU6rCAIOyEseqztSIsZGVsT3B0aW9uYWxTdWNjZXNzOiLshKDtg53tlZwg7ZWt66qpIOyCreygnCDshLHqs7UiLHNlY29uZHM6IuyYteyFmCIsaG9tZToi7LKrIO2OmOydtOyngCIsb3JkZXJDb25maXJtOiLso7zrrLgg7ZmV7J24IixjdXJyZW50UHJpY2U6Iu2YhOyerCDqsIDqsqkiLGRpcmVjdGlvbjoi67Cp7ZalIixzZWxlY3RUaW1lOiLrp4zro4wg64Kg7KecIOyEoO2DnSIsbnVtYmVyOiLsiJjrn4kiLGJhbGFuY2U6IuqzhOyijCDsnpTslaEiLHBsc0lwdENydE51bWJlcjoi7KCV7ZmV7ZWcIOyImOufieydhCDsnoXroKXtlZjshLjsmpQiLGJ1eVByaWNlOiLqtazrp6Qg6rCA6rKpIixleHBlY3RlZFBMOiLshpDsnbXsnYQg7JiI7IOB7ZWY64ukIixjb250aW51ZVRyYWRlOiLqsbDrnpjrpbwg6rOE7IaN7ZWY64ukIixzZWNvbmRzUG9zaXRpb246Iuq4sOqwhOq2jOydhCDqsIDsp4Dqs6Ag7LC96rOg66W8IOq0gOumrO2VmOuLpC4iLHBvc2l0aW9uOiLso7zsnqztlZjri6QiLGhpc3Rvcnk6IuyXreyCrC4iLG9yZGVyVGltZXM6IuyjvOusuCDsi5zqsIQiLHBsOiLshpDsnbUiLHNlbGxUaW1lOiLtjJDrp6Qg7Iuc6rCEIixidXl0aW1lOiLsi5zqsITsnYQg7IKs7Iut7Iuc7JikIixlbmRQcmljZToi6rGw656YIOqwgOqyqSJ9LCgwLHUuZGVmYXVsdCkoaSwiYnV5Iiwi66ek7J6FIiksKDAsdS5kZWZhdWx0KShpLCJzZWxsIiwi7YyU64ukIiksKDAsdS5kZWZhdWx0KShpLCJwcmljZSIsIuqwgOqyqS4iKSwoMCx1LmRlZmF1bHQpKGksInRpbWUiLCLtg4DsnoQiKSwoMCx1LmRlZmF1bHQpKGksIm9wdGlvbmFsIiwi7Iqk7Iqk66GcIOyEoO2Dne2VmOuLpCIpLCgwLHUuZGVmYXVsdCkoaSwiYnV5Iiwi66ek7J6FIiksKDAsdS5kZWZhdWx0KShpLCJzZWxsIiwi7YyU64ukIiksKDAsdS5kZWZhdWx0KShpLCJsb25nIiwi66eO7J20IO2VmOuLpCIpLCgwLHUuZGVmYXVsdCkoaSwic2hvcnQiLCLtl5vsiJjqs6DtlZjri6QiKSwoMCx1LmRlZmF1bHQpKGksImVudHJ1c3RQZW5kaW5nT3JkZXIiLCLsnITtg4Eg65Ox6riwIiksKDAsdS5kZWZhdWx0KShpLCJhZGRPcHRpb25hbFN1Y2Nlc3MiLCLsgqzsmqnsnpAg7ISg7YOdIOy2lOqwgCDshLHqs7UiKSwoMCx1LmRlZmF1bHQpKGksImRlbE9wdGlvbmFsU3VjY2VzcyIsIuyEoO2Dne2VnCDtla3rqqkg7IKt7KCcIOyEseqztSIpLCgwLHUuZGVmYXVsdCkoaSwicHJpY2UiLCLqsIDqsqkuIiksKDAsdS5kZWZhdWx0KShpLCJhbW91bnQiLCLsiJjrn4kiKSwoMCx1LmRlZmF1bHQpKGksIm1hcmtldFByaWNlIiwi7Iuc6rCAIiksKDAsdS5kZWZhdWx0KShpLCJsaW1pdFByaWNlIiwi6rCA6rKp7J2EIOygnO2VnO2VmOuLpCIpLCgwLHUuZGVmYXVsdCkoaSwibnVtYmVyIiwi6rGw656Y7IiYIiksKDAsdS5kZWZhdWx0KShpLCJtYXJnaW4iLCLrs7Tspp3quIgiKSwoMCx1LmRlZmF1bHQpKGksImhhbmRsaW5nRmVlIiwi7IiY7IiY66OMIiksKDAsdS5kZWZhdWx0KShpLCJiYWxhbmNlIiwi7J6U7JWhIiksKDAsdS5kZWZhdWx0KShpLCJtdWx0aXBsZSIsIuuwsOyImCIpLCgwLHUuZGVmYXVsdCkoaSwicmVjaGFyZ2UiLCLstqnsoITtlZjri6QiKSwoMCx1LmRlZmF1bHQpKGksInBsc0lwdENvbW1pc3Npb25QcmljZSIsIuychO2DgSDqsIDqsqnsnYQg7J6F66Cl7ZWY7IS47JqUIiksKDAsdS5kZWZhdWx0KShpLCJ0cmFkaW5nUGFpciIsIuq1kOyXrSIpLCgwLHUuZGVmYXVsdCkoaSwiZGlyZWN0aW9uIiwi67Cp7ZalIiksKDAsdS5kZWZhdWx0KShpLCJwbHNJcHRDcnRQcmljZSIsIuygle2Zle2VnCDqsIDqsqnsnYQg7J6F66Cl7ZWY7Iut7Iuc7JikLiIpLCgwLHUuZGVmYXVsdCkoaSwicG9zaXRpb24iLCLssL3qs6Drpbwg6rSA66as7ZWY64ukIiksKDAsdS5kZWZhdWx0KShpLCJ0aW1lIiwi7YOA7J6EIiksKDAsdS5kZWZhdWx0KShpLCJ0dXJub3ZlciIsIuqxsOuemOyVoSIpLCgwLHUuZGVmYXVsdCkoaSwib3BlcmF0aW9uIiwi7KGw7J6R7ZWY64ukIiksKDAsdS5kZWZhdWx0KShpLCJ0eXBlIiwi7YOA7J6FIiksKDAsdS5kZWZhdWx0KShpLCJjb3ZlciIsIuywveqzoOulvCDsoJXrpqztlZjri6QiKSwoMCx1LmRlZmF1bHQpKGksImNvbmZpcm1Db3ZlciIsIuywveqzoOulvCDsoJXrpqztlZjsi5zqsqDsirXri4jquYw/IiksKDAsdS5kZWZhdWx0KShpLCJjb25maXJtU2VsZkhvbGQiLCLsnpDsoJwg7KCE7ZmY7J20IO2ZleyLpO2VqeuLiOq5jD8iKSwoMCx1LmRlZmF1bHQpKGksInNlbGZIb2xkaW5nIiwi7J6Q7KCc7ZWY64ukIiksKDAsdS5kZWZhdWx0KShpLCJ0cmFuc1NlbGZIb2xkIiwi7J6Q7KCc7ZWY64ukIiksKDAsdS5kZWZhdWx0KShpLCJkZWxlZ2F0ZUxpc3QiLCLsnITsnoQg66qp66GdIiksKDAsdS5kZWZhdWx0KShpLCJyaXNrUmF0ZSIsIuychO2XmOuloCIpLCgwLHUuZGVmYXVsdCkoaSwidG90YWxQYW5kTCIsIuywveqzoCDrs7TsnKAg7LSd7IiY7J21IiksKDAsdS5kZWZhdWx0KShpLCJvbmVDbGlja0NvdmVyIiwi7JuQ7YG066atIOywveqzoCDsoJXrpqwiKSwoMCx1LmRlZmF1bHQpKGksIm9wZW4iLCLssL3qs6Ag6rCc7ISkIOqwgOqyqSIpLCgwLHUuZGVmYXVsdCkoaSwidGFyZ2V0UHJvZml0UHJpY2UiLCLsnbTsnKQg7KCV7KeAIOqwgOqyqSIpLCgwLHUuZGVmYXVsdCkoaSwidXBkYXRlUHJpY2UiLCLtmITsnqwg6rCA6rKpIiksKDAsdS5kZWZhdWx0KShpLCJzdG9wTG9zc1ByaWNlIiwi7YyM7IaQIOygleyngCDqsIDqsqkiKSwoMCx1LmRlZmF1bHQpKGksIm92ZXJuaWdodE1vbmV5Iiwi7ZWY66O767CkIOusteuKlCDruYTsmqkiKSwoMCx1LmRlZmF1bHQpKGksIm9wZW5UaW1lIiwi7LC96rOgIOqwnOyEpCDsi5zqsIQiKSwoMCx1LmRlZmF1bHQpKGksImxvdHMiLCLshpAuIiksKDAsdS5kZWZhdWx0KShpLCJzZXRQcm9maXRMb3NzIiwi7IaQ7IukIOuwqeyngOulvCDshKTsoJXtlZjri6QuIiksKDAsdS5kZWZhdWx0KShpLCJleHBlY3RlZFByb2ZpdCIsIuyYiOyDgSDsnbTsnbUiKSwoMCx1LmRlZmF1bHQpKGksImV4cGVjdGVkTG9zcyIsIuyYiOyDgSDshpDsi6QiKSwoMCx1LmRlZmF1bHQpKGksImNvdmVyQWxsIiwi7KCE67aAIOywveqzoOulvCDsoJXrpqztlZjri6QuIiksKDAsdS5kZWZhdWx0KShpLCJvbmx5Q292ZXJNYW55Iiwi64uo7KeAIiksKDAsdS5kZWZhdWx0KShpLCJvbmx5Q292ZXJFbXB0eSIsIuu5hOuLpCIpLCgwLHUuZGVmYXVsdCkoaSwibnVtYmVycyIsIuyImOufiSIpLCgwLHUuZGVmYXVsdCkoaSwiY29pbkJ1eVByaWNlIiwi7ZiE7J6sIOy1nOyDgeydmCDqsIDqsqnsnLzroZwg6rGw656Y7ZWY64ukIiksKDAsdS5kZWZhdWx0KShpLCJqaW5lIiwi6riI7JWhIiksKDAsdS5kZWZhdWx0KShpLCJwX2ppbmUiLCLquIjslaHsnYQg7J6F66Cl7ZWY7IS47JqUIiksKDAsdS5kZWZhdWx0KShpLCJwX3ByaWNlIiwi6rCA6rKp7J2EIOyeheugpe2VmOyEuOyalC4iKSwoMCx1LmRlZmF1bHQpKGksInBfY29uZmlybV9zaiIsIuyLnOqwgOuhnCDtmZXsoJXtlZjri6QiKSwoMCx1LmRlZmF1bHQpKGksInBfY29uZmlybV94al8xIiwi7ZmV7KCVIiksKDAsdS5kZWZhdWx0KShpLCJwX2NvbmZpcm1fbWEiLCLsnbTqsoMg6rSc7LCu7JWE7JqUPyIpLCgwLHUuZGVmYXVsdCkoaSwic3RhdHVzIiwi7Luo65SU7IWYIiksKDAsdS5kZWZhdWx0KShpLCJjb21wbGV0ZSIsIuyZhOujjOuQqCIpLCgwLHUuZGVmYXVsdCkoaSwiZG9pbmciLCLsp4Ttlokg7KSRIiksKDAsdS5kZWZhdWx0KShpLCJjdXJyZW50RW50cnVzdCIsIuuLueuptCDsnZjrorAiKSwoMCx1LmRlZmF1bHQpKGksImFsbEVudHJ1c3QiLCLsoITtg4EiKSwoMCx1LmRlZmF1bHQpKGksImVudHJ1c3QiLCLsnITsnoQiKSwoMCx1LmRlZmF1bHQpKGksImVudHJ1c3RUaW1lIiwi7JyE7YOBIOyLnOqwhCIpLCgwLHUuZGVmYXVsdCkoaSwiYWxsIiwi66qo7KGw66asIiksKDAsdS5kZWZhdWx0KShpLCJidXlVcCIsIuunjuydtCDsgqzri6QiKSwoMCx1LmRlZmF1bHQpKGksImJ1eURvd24iLCLsoIHqsowg7IKs64ukIiksKDAsdS5kZWZhdWx0KShpLCJqeWUiLCLqsbDrnpgg6riI7JWhIiksaSksZnVuZDoocz17b3ZlcnZpZXc6Iuy0neuejO2VmOuLpCIsYmFsYW5jZToi7J6U7JWhIixmdXR1cmVzOiLqs4Tslb0iLGRlcG9zaXQ6IuyYiOq4iO2VmOuLpCIsbWluaW5nOiLssYTqtJEiLHN0b2NrOiLso7zsi50iLG1hcmdpbjoi7IqI7Y28IOugiOuyhCIseWVzdGVyZGF5RWFybmluZ3M6IuyWtOygnCDsiJjsnbUiLHlpZWxkQXRNYXR1cmlseToi66eM6riwIOyImOydtSIsdG90YWxrUmV2ZW51ZToi7LSd7IiY7J21IixjdXJyZW50UHJvZml0OiLri7nrqbTtlZwg7IaQ7J21Iixwcm9maXRSYXRpbzoi7IaQ7J2166WgIixyZWNlaXZlOiLstqnsoIQv7IiY6riIIix0cmFuc2Zlcjoi7ZiE6riIIOyduOy2nCAvIOydtOyytCIsZmluYW5jaWFsOiLquIjsnLUg7J6s7YOc7YGsIix2YWx1YXRpb246Iu2PieqwgCIsY3VycmVudEVhcm5pbmdzOiLtmITsnqwg7J207J21Iix5ZXN0ZXJkYXlJbmNvbWU6IuyWtOygnCDsiJjsnbUiLGNyeXB0bzoi65SU7KeA7YS4IO2ZlO2PkCIsZmlhdDoi67KV7KCVIO2ZlO2PkCIsaGlkZVNtYWxsQ3VycmVuY3k6IuyGjOyVoSDtmZTtj5DsnZgg7KKF66WY66W8IOyIqOq4sOuLpCIsYXZhaWxhYmxlOiLsgqzsmqkg6rCA64qlIixmcmVlemU6IuyWvOyWtOu2meuLpCIsZXF1aXZhbGVudDoi7ZmY7IKw7ZWY64ukIix1c2R0bToiVSDrs7jsnIQiLGNvaW5tOiLtmZTtj5Drs7jsnIQiLGV4Y2hhbmdlOiLtmZTtj5AiLGxldmVyYWdlOiLqs4Tslb0ifSwoMCx1LmRlZmF1bHQpKHMsImZpYXQiLCLrspXsoJUg7ZmU7Y+QIiksKDAsdS5kZWZhdWx0KShzLCJzZWNvbmQiLCLsmLXshZgiKSwoMCx1LmRlZmF1bHQpKHMsImNvbnZlcnQiLCLstJ3snpDsgrAg7ZmY7IKwIiksKDAsdS5kZWZhdWx0KShzLCJjb252ZXJ0MiIsIuyekOyCsCDtmZjsgrAiKSwoMCx1LmRlZmF1bHQpKHMsInJlY29yZCIsIuyepeu2gCDrs4Dqsr0g6riw66GdIiksKDAsdS5kZWZhdWx0KShzLCJhdmFpbGFibGVRdW90YSIsIuqwgOyaqSDtlZzrj4QiKSwoMCx1LmRlZmF1bHQpKHMsImxvY2tlZCIsIuyeoOq4sOuLpCIpLCgwLHUuZGVmYXVsdCkocywiY29udmVydGVkIiwi7ZmY7IKw7ZWY64ukIiksKDAsdS5kZWZhdWx0KShzLCJhY2NvdW50Iiwi6rOE7KCVIiksKDAsdS5kZWZhdWx0KShzLCJmaW5hbmNpYWxSZWNvcmRzIiwi7J6s66y0IOq4sOuhnSIpLCgwLHUuZGVmYXVsdCkocywibnVtYmVyIiwi7IiY65+JIiksKDAsdS5kZWZhdWx0KShzLCJyZWNvcmQyIiwi66CI7L2U65OcIiksKDAsdS5kZWZhdWx0KShzLCJ0aW1lIiwi7YOA7J6EIiksKDAsdS5kZWZhdWx0KShzLCJ0cmFuc2ZlciIsIu2ZlO2PkCIpLCgwLHUuZGVmYXVsdCkocywiZnJvbSIsIuyXkOyEnCIpLCgwLHUuZGVmYXVsdCkocywidG8iLCLrjIDsg4EiKSwoMCx1LmRlZmF1bHQpKHMsInRyYW5zZmVyTnVtYmVyIiwi7ZqM7KCEIOyImOufiSIpLCgwLHUuZGVmYXVsdCkocywieW91R2V0Iiwi64SI64qUIOqzpyDslrvqsowg65CgIOqyg+ydtOuLpCIpLCgwLHUuZGVmYXVsdCkocywiZXhjaGFuZ2VSYXRlIiwi7ZmY7JyoIiksKDAsdS5kZWZhdWx0KShzLCJoYW5kbGluZ0ZlZSIsIuyImOyImOujjCIpLCgwLHUuZGVmYXVsdCkocywiZnVuZFRyYW5zZmVyIiwi7J6Q6riIIOydtOyytCIpLCgwLHUuZGVmYXVsdCkocywiaW5zdWZmaWNpZW50QmFsYW5jZSIsIuyelOyVoeydtCDrtoDsobHtlZjri6QiKSwoMCx1LmRlZmF1bHQpKHMsIm5lZWRIYW5kbGluZ0ZlZSIsIuuzhOuPhOydmCDsiJjsiJjro4zqsIAg7ZWE7JqU7ZWY64ukIiksKDAsdS5kZWZhdWx0KShzLCJwbHNJcHRDcnROdW1iZXIiLCLsoJXtmZXtlZwg7IiY65+J7J2EIOyeheugpe2VmOyEuOyalCIpLCgwLHUuZGVmYXVsdCkocywiY190cmFuc2ZlciIsIuuPjOumrOyLnOqyoOyKteuLiOq5jD8iKSwoMCx1LmRlZmF1bHQpKHMsInNlbGVjdEN1cnJlbmN5Iiwi7ZmU7Y+Q7J2YIOyiheulmOulvCDshKDtg53tlZjri6QiKSwoMCx1LmRlZmF1bHQpKHMsIkRJR0lDQ1kiLCLrlJTsp4DthLgg7ZmU7Y+QIiksKDAsdS5kZWZhdWx0KShzLCJzYXZlUXJjb2RlIiwiUVLsvZTrk5wg7KCA7J6lIiksKDAsdS5kZWZhdWx0KShzLCJjb3B5QWRkcmVzcyIsIuunge2BrCDso7zshowg67O17IKsIiksKDAsdS5kZWZhdWx0KShzLCJwbHNUcmFucyIsIuydtCDso7zshozroZwg6re47Ja0IOyjvOyLreyLnOyYpCIpLCgwLHUuZGVmYXVsdCkocywicmVjaGFyZ2VOdW1lciIsIuy2qeyghCDsiJjrn4kiKSwoMCx1LmRlZmF1bHQpKHMsInBheW1lbnRWb3VjaGVyIiwi7KeA67aIIOymneuqheyEnCIpLCgwLHUuZGVmYXVsdCkocywicGxzSXB0UmVjaGFyZ2VOdW1lciIsIuy2qeyghCDsiJjrn4nsnYQg7J6F66Cl7ZWY7IS47JqUIiksKDAsdS5kZWZhdWx0KShzLCJwbHNVcGxvYWRQYXltZW50Vm91Y2hlciIsIuyngOu2iCDspp3rqoXshJzrpbwg7Jis66Ck7KO87IS47JqULiIpLCgwLHUuZGVmYXVsdCkocywicGxzSXB0Q3J0QW1vdW50Iiwi7KCV7ZmV7ZWcIOq4iOyVoeydhCDsnoXroKXtlZjshLjsmpQiKSwoMCx1LmRlZmF1bHQpKHMsIndpdGhkcmF3Iiwi7ZiE6riIIOyduOy2nCAvIOydtOyytCIpLCgwLHUuZGVmYXVsdCkocywiY3VycmVuY3lOYW1lIiwi7ZmU7Y+Q66qF7LmtIiksKDAsdS5kZWZhdWx0KShzLCJ0cmFuc2FjdGlvbkluZm8iLCLqsbDrnpgg6rOE7KKMIiksKDAsdS5kZWZhdWx0KShzLCJ3aXRoZHJhdzIiLCLtmITquIjsnYQg7J247Lac7ZWY64ukIiksKDAsdS5kZWZhdWx0KShzLCJjYW5Vc2UiLCLsgqzsmqkg6rCA64qlIiksKDAsdS5kZWZhdWx0KShzLCJhbGwiLCLrqqjsobDrpqwiKSwoMCx1LmRlZmF1bHQpKHMsInBsc0lwdFdpdGhkcmF3TnVtYmVyIiwi7ZiE6riI7J247LacIOyImOufieydhCDsnoXroKXtlZjshLjsmpQiKSwoMCx1LmRlZmF1bHQpKHMsIndpdGhkcmF3TnVtYmVyIiwi7ZiE6riIIOyduOy2nCDsiJjrn4kiKSwoMCx1LmRlZmF1bHQpKHMsInJlbWFyayIsIuu5hOqzoCIpLCgwLHUuZGVmYXVsdCkocywiaGFuZGxpbmdGZWUiLCLsiJjsiJjro4wiKSwoMCx1LmRlZmF1bHQpKHMsImNhbkdldE51bWJlciIsIuyeheq4iCDsiJjrn4kiKSwoMCx1LmRlZmF1bHQpKHMsImxlYXN0TnVtYmVyIiwi7LWc7KCAIO2YhOq4iCDsnbjstpwg7IiY65+JIiksKDAsdS5kZWZhdWx0KShzLCJjb2luVHlwZSIsIu2ZlO2PkOydmCDsooXrpZgiKSwoMCx1LmRlZmF1bHQpKHMsImFkZHJlc3MiLCLshozsnqzsp4AiKSwoMCx1LmRlZmF1bHQpKHMsImRhdGUiLCLsnbzsnpAiKSwoMCx1LmRlZmF1bHQpKHMsIndpdGhkcmF3QWRkcmVzcyIsIuyduOy2nCDso7zshowiKSwoMCx1LmRlZmF1bHQpKHMsInBsc1NlbGVjdFdpdGhkcmF3QWRkcmVzcyIsIuyduOy2nCDso7zshozrpbwg7ISg7YOd7ZWY7IS47JqULiIpLCgwLHUuZGVmYXVsdCkocywid2l0aGRyYXdUb0NhcmQiLCLsnYDtlokg7Lm065OcIOyWuOq4iSIpLCgwLHUuZGVmYXVsdCkocywid2l0aGRyYXdUb0NhcmRJbnRlcm5hdGlvbiIsIuyduO2EsOuCtOyFlOuEkCIpLCgwLHUuZGVmYXVsdCkocywid2l0aGRyYXdUb0FkZHJlc3MiLCLsp4DqsJEg7KO87IaMIOyWuOq4iSIpLCgwLHUuZGVmYXVsdCkocywiY2FyZCIsIuydgO2WiSDsubTrk5wiKSwoMCx1LmRlZmF1bHQpKHMsImFkZENhcmQiLCLsubTrk5wg7LaU6rCAIiksKDAsdS5kZWZhdWx0KShzLCJwbHNBZGRDYXJkIiwi7Lm065OcIOy2lOqwgCIpLCgwLHUuZGVmYXVsdCkocywiY3pTdGF0ZUxvYWRpbmciLCLqsoDthqAg7KSRIiksKDAsdS5kZWZhdWx0KShzLCJjelN0YXRlT2siLCLshLHqs7XsoIHsnbgg6rKA7YagIiksKDAsdS5kZWZhdWx0KShzLCJjelN0YXRlTm8iLCLqsJDsgqwg7Iuk7YyoIikscyksaWVvOntzdWJzY3JpYmU6IuyyreyVve2VmOuLpCIsaW5nOiLsp4Ttlokg7KSRIixkb25lOiLsooXro4zrkKgiLGFwcGx5U3Vic2NyaXB0aW9uOiLssq3slb3snYQg7Iug7LKt7ZWY64ukIixyZW1haW5pbmc6IuyeieyXrCIsbG9ja1BlcmlvZDoi7LC96rOgIOyeoOq4iCDso7zquLAiLGVuZFRpbWU6IuyiheujjCDsi5zqsIQiLHN1YnNjcmliZUN1cnJlbmN5OiLqtazrp6Trpbwg7Iq57J247ZWcIO2ZlO2PkOydmCDsooXrpZguIixpc3N1YW5jZVByaWNlOiLrsJztlokg6rCA6rKpIix0b3RhbElzc3VhbmNlOiLrsJztlokg7LSd65+JIix3aGl0ZVBhcGVyOiLrsLHshJwiLHN1YnNjcmlwdGlvbkN5Y2xlOiLsmpTssq0g7KO86riwIix3YXJtVXA6IuyYiOyXtCIsd2Vic2l0ZToi6rO17IudIO2ZiO2OmOydtOyngCIsZmluaXNoOiLrgZ3rp7rri6QiLHByb2plY3REZXRhaWxzOiLtlITroZzsoJ3tirgg7IOB7IS4IOygleuztCIsc3Vic2NyaXB0aW9uQ29uZmlybWF0aW9uOiLssq3slb0g7ZmV7J24IixwX2FwcGxpY2F0aW9uc051bWJlcjoi7LKt7JW9IOyImOufieydhCDsnoXroKXtlZjri6QiLG5lZWRUb1BheToi7KeA67aI7J20IO2VhOyalO2VmOuLpCIsY3VycmVudEJhbGFuY2U6Iu2YhOyerCDsnpTslaEiLHN1YnNjcmlwdGlvblRpbWU6IuyalOyyrSDsi5zqsIQiLGN1cnJlbmN5OiLtmZTtj5DsnZgg7KKF66WYIixhcHBsaWNhdGlvbnNOdW1iZXI6IuyLoOyyrSDsiJjrn4kiLHBhc3Nlc051bWJlcjoi7Ya16rO8IOyImOufiSIsdGltZVRvTWFya2V0OiLstpzsi5wg7J287J6QIixkYXk6IuydvCIsdG90YWw6Iuy0neufiSIsc3Vic2NyaWJlZDoi7J2066+4IOyyreyVve2WiOuLpCIsc2hlbmdvdToi6rWs7J6FIOyLoOyyreydhCDtlZjri6QiLGluc3VmZmljaWVudEJhbGFuY2U6IuyelOyVoeydtCDrtoDsobHtlZjri6QiLHBfbnVtYmVyOiLsiJjrn4nsnYQg7J6F66Cl7ZWY7IS47JqUIixteVN1YnNjcmliZToi64KY7J2YIOyyreyVvSJ9LGxvY2ttaW5nOntsb2NrbWluZzoi7JW97IaNIixmdW5kc1VuZGVyQ3VzdG9keToi7JyE7YOBIOq0gOumrCDspJHsnbgg7J6Q6riIIixlbnRydXN0ZWRPcmRlcnM6IuychO2DgSDso7zrrLgiLGVzdGltYXRlZFRvZGF5SW5jb21lOiLri7nsnbwg7JiI7IOBIOuwmO2SiCDquIjslaEiLGN1bXVsYXRpdmVJbmNvbWU6IuuIhOyggSDsnbTsnbUiLG9yZGVyc0luQ3VzdG9keToi7KO866y4IOq0gOumrCIsbG9ja2VkUG9zaXRpb25zVG9FYXJuQ29pbnM6IuyxhOq0kSIsbG9ja2VkUG9zaXRpb25zOiLssL3qs6Drpbwg7J6g6re464ukIixtaW5pbXVtU2luZ2xlVHJhbnNhY3Rpb246Iu2VnCDtmo3snbQg6rCA7J6lIOyggeuLpCIsZGFpbHlZaWVsZDoi7J287IiY7J2166WgIixsb2NrVXBQZXJpb2Q6IuywveqzoCDsnqDquIgg7KO86riwIixhY3F1aXNpdGlvbjoi7Ja764ukIixyZWNlbnREYXlzOiLqt7zsnbwiLGRpdmlkZW5kVGltZToi7J207J6QIO2VoOuLuSDsi5zqsIQiLGVzY3Jvd0Z1bmRzOiLsnpDquIjsnYQg7JyE7YOBIOq0gOumrO2VmOuLpC4iLHJlZGVtcHRpb25JbkFkdmFuY2U6IuyVnuuLueqyqCDrkJjssL7ri6QiLGVzdGltYXRlZEluY29tZToi7JiI7IOBIOyImOydtSIsYXZhaWxhYmxlQXNzZXRzOiLqsIDsmqkg7J6Q7IKwIixpbnZlc3RtZW50QW1vdW50T2J0YWluZWQ6Iu2IrOyekCDquIjslaEg7ZqN65OdIixhbGw6IuuqqOyhsOumrCIsbF9hbGVydF8xOiLqtJHsgrDsnYQg7YyM64qU642wIOyJtCDsg4gg7JeG7J20IOq1tOufrOqwhOuLpC4iLGxfYWxlcnRfMjoi7LC96rOg66W8IOyeoOq3uOqzoCDssYTqtbTtlZjripQg6rKD7J2AIHVzZHTrpbwg7ZSM656r7Y+87JeQIOychO2Dge2VmOyXrCDstIjsgrDroKUg6rSR6riw66W8IO2UjOueq+2PvCDqtJHsp4Dsl5DshJwg7LGE6rW0IOyImOydteydhCDslrvripQg6rKD7J2064ukIixmZWF0dXJlczoi7KCc7ZKIIO2KueynlSIsb25EZW1hbmQ6IuyggOyepSDrsI8g7J247LacIixkaXZpZGVuZFBlcmlvZDoi7J207J6QIO2VoOuLuSDso7zquLAiLGlzc3VlZERhaWx5OiLrp6Tsnbwg67Cc7Iah7ZWY64ukIixjdXJyZW50SW50ZXJlc3Q6IuuLueyijCDsnbTsnpAiLGZlYXR1cmVfMToiMTAwJSDsnpDquIgg7JWI7KCEPGJyPuuztOyepSIsZmVhdHVyZV8yOiLqs7XtnLTsnbwg7IiY7J21PGJyPuqwhOuLqOuqheujjO2VmOyngCDslYrsnYwiLGZlYXR1cmVfMzoi7ISx6rO1IOyYiOq4iCDtm4QgPGJyPuuLueydvOu2gO2EsCDsnbTsnpDrpbwg7KeA67aI7ZWp64uI64ukIixmb3JJbnN0YW5jZToi7JiI66W8IOuTpOuLpCIsaW5jb21lQ2FsY3VsYXRpb246IuyImOydtSDqs4TsgrAiLGZvckluc3RhbmNlRGVzYzoi7ZqM7JuQ7J20IO2UjOueq+2PvOyXkOyEnCAxMDAwMFXrpbwg7JW97KCV7ZWY6rOgIDfsnbwg7KO86riw7J2YIOq4iOyctSDsg4HtkojsnYQg7ISg7YOd7ZWY6rOgIOyVveyglSDquIjslaHsnZggMC4yNSUg7J287J28IOy2nOugpeydhCDshKDtg53tlZjrqbQg7J287J28IOy2nOugpeydgCDri6TsnYzqs7wg6rCZ7Iq164uI64ukLiA8YnIvPiAxMDAwMCAqIDAuMjUlID0gMjUgVVNEVCA8YnIvPiA37J28IO2bhCAyNSAqIDcgPSAxNzUgVVNEVOydmCDshozrk53snYQg7Ja77J2EIOyImCDsnojsirXri4jri6QuIOyGjOuTneydgCDrp6Tsnbwg67Cc7ZaJ65CY66mwIOuwnO2WieuQnCDshozrk53snYAg7Ja47KCc65Og7KeAIOyehey2nOq4iOydtCDqsIDriqXtlanri4jri6QuIOyVveyglSDsm5DquIjsnbQg66eM66OM65CY66m0IOyekOuPmeycvOuhnCDqt4DtlZjsnZgg6rOE7KKM66GcIOydtOyytOuQqeuLiOuLpC4g7J6Q67O4IOqzhOyglS4iLGFib3V0TGlxdWlkYXRlZERhbWFnZXM6IuychOyVveq4iOyXkCDrjIDtlZjsl6wiLGFib3V0TGlxdWlkYXRlZERhbWFnZXNDb250ZW50OiLrp4zro4zrkJjsp4Ag7JWK7J2AIOybkOq4iOydhCDshqHquIjtlZjroKTrqbQgMjUl7J2YIOuyjOq4iOydtCDrtoDqs7zrkKnri4jri6Qo7JiIOiA8YnIvPiAxMDAwMCoyNSU9MjUwMFUsIOyDge2ZmCDsnpDquIjsnYAgMTAwMDAtMjUwMD03NTAwVSkuIixqb2luTm93OiLrgpjripQg7LC46rCA7ZWgIOqyg+ydtOuLpCIsZGF5OiLsnbwiLGRhaWx5OiLrgqDrp4jri6QiLHJldHVybk9uRXhwaXJhdGlvbjoi66eM66OMIOyLnCDrsJjtmZgiLGdldDoi7Ja764ukIixudW1iZXJPZkNvaW5zRGVwb3NpdGVkOiLsmIjquIgg7IiY65+JIixzdWJzY3JpYmU6IuyyreyVve2VmOuLpCIsaW5zdWZmaWNpZW50QmFsYW5jZToi7J6U7JWh7J20IOu2gOyhse2VmOuLpCIscF9udW1iZXI6IuyImOufieydhCDsnoXroKXtlZjshLjsmpQiLGxlYXN0U2luZ2xlOiLtlZwg7ZqN7J20IOqwgOyepSDsoIHri6QiLGxvY2tlZFBvc2l0aW9uTGlzdDoi7J6s6rOgIOygleumrCDrqqnroZ0iLGluUHJvZ3Jlc3M6IuynhO2WiSDspJEiLHJlZGVlbWVkOiLsnbTrr7gg65CY7LC+7JWY64ukIixleHBpcnlUaW1lOiLrp4zro4wg7Iuc6rCEIixsb2NrVXBUaW1lOiLsnqzqs6Ag7KCV66asIOyLnOqwhCIsc3RhcnRUaW1lOiLsi5zsnpEg7Iuc6rCEIixlYXJseVJlZGVtcHRpb25QZW5hbHR5OiLsnITslb3quIjsnYQg7JWe64u56rKoIOyDge2ZmO2VmOuLpC4iLHJlZGVtcHRpb246IuuQmOywvuuLpCIsY19yZWRlbXB0aW9uOiLslZ7ri7nqsqgg7IOB7ZmY7ZWY7Iuc6rKg7Iq164uI6rmMPyJ9LGludmVzdDp7aW52ZXN0OiLsnqzsoJXqtIDrpqwiLHNlY3Rpb246Iu2KueuzhCDqtazsl60iLHBlclByaWNlOiIx7J2467aEIOqwgOqyqSIsYXByOiLsl7DqsITsiJjsnbXrpaAiLGxpbmtlZFJlZmVyZW5jZVByaWNlOiLsl7Dqs4Qg7LC47KGwIOqwgOqyqSIsaG9sZGluZ0RheXM6IuywveqzoCDrs7TsnKAg6riw7ZWcIixtYXR1cml0eURhdGU6IuunjOujjCDrgqDsp5wiLHJlbWFpbmluZ1NoYXJlczoi7J6J7JesIOuqqyIscHJvZ3Jlc3M6Iu2YhOyerCDsp4Ttlokg7IOB7YOcIixhY3Rpb246IuyhsOyeke2VmOuLpCIscHVyY2hhc2U6Iuq1rOyehSIsbXlQb3NpdGlvbjoi64KY7J2YIOyerO2FjO2BrCIsYnV5U2hhcmVzOiLrp6TsnoUg66qrIixlc3RpbWF0ZWRJbmNvbWU6IuyYiOyDgSDsiJjsnbUiLGRheToi7J28IixzaGFyZToi66qrIixmYWlsOiLtjKjtlZjri6QiLHB1cmNoYXNlZDoi66ek7J6FIixzZXR0bGVtZW50aW5nOiLqsrDsgrAg7KSRIixzdWNjZXNzOiLsmYTro4zrkKgiLGFsbDoi66qo7KGw66asIixuYW1lOiLsnbTrpoQ6IixyZW1haW46IuyeieyXrCIsaW5zdHJ1Y3Rpb246IuygnO2SiCDshKTrqoUiLGhlbHA6IuuPleuLpC4iLHNodW9taW5nXzE6IjEuIOuzuCDsoJztkojsnYAg67mE67O067O4IOyerO2DnO2BrCDsg4HtkojsnLzroZwg7Iuc7J6l7J2YIOuzgOuPmeydtCDsm5DquIgg7IaQ7Iuk7J2EIOy0iOuemO2VoCDsiJgg7J6I7Jy866+A66GcIOyLoOykke2VmOqyjCDtiKzsnpDtlZjsi63si5zsmKQuIixzaHVvbWluZ18yOiIyLiDtmZjrtogg6rKw7KCcIOq3nOy5mToiLHNodW9taW5nXzM6IuygleyCsOqwgDzsl7Dqs4TqsIDqsqk+7J2066m0IOunjOq4sOqwgCDrkJjrqbQgQlRD66W8IOygleyCsO2VqeuLiOuLpC7qsrDsoJzsiJjrn4k97Yis7J6Q6riI7JWhKigxK+ydvOyImCrsl7DqsITsiJjsnbXrpaAvMzY1KS4iLHNodW9taW5nXzQ6IuqysOygnOqwgCDiiaUg7Jew6rOE6rCA6rKp7J2066m0IOunjOq4sOqwgCDrkJjrqbQgVVNEVOulvCDqsrDsoJztlZzri6Qu6rKw7KCc7IiY65+JPe2IrOyekOq4iOyVoSrsl7Dqs4TqsIDqsqkqKDEr7J287IiYKuyXsOqwhOyImOydteuloC8zNjUpLiIsc2h1b21pbmdfNToiMy4g7Iuk7KCcIOyXsOqwhCDsiJjsnbXrpaDsnYAg7Iuc7J6l7J2YIOyLpOyLnOqwhCDrs4Drj5nsl5Ag65Sw6528IOyLpOygnCDrp6TsnoUg6rGw656Y66W8IOq4sOykgOycvOuhnCDtlZzri6QuIixzaHVvbWluZ182OiI0LiDtiKzsnpAg6riI7JWh7J2AIOyLnOyepeyXkCDrlLDrnbwg7Iuk7Iuc6rCE7Jy866GcIO2ZmOyCsO2VoCDsiJgg7J6I7Jy864uIIOyLpOygnCDrp6TsnoUg6rGw656Y66W8IOq4sOykgOycvOuhnCDtlZjsi63si5zsmKQuIixzaHVvbWluZ183OiI1LiDsoJztkojsnYQg6rWs66ek7ZWcIO2bhCDrgpjsnZgg7KeA7Y+QIO2OmOydtOyngOyXkOyEnCDtmZXsnbjtlaAg7IiYIOyeiOycvOupsCwg66eM6riw6rCAIOuBneuCnCDtm4Tsl5Ag7ZmY6riI7J2AIOyekOuPmeycvOuhnCDtmITrrLzqs4TsoozroZwg67Cc7Iah65Cp64uI64ukLiIsZXJyb3JfMToi6rWs66ekIOyImOufiSDsnoXroKUiLGVycm9yXzI6Iuq1rOunpCDsiJjrn4nsnYAg7KCV7IiY7Jes7JW8IO2VnOuLpCIsY29uZmlybVB1cmNoYXNlOiLsnbQg7J6s7YWM7YGsIOyDge2SiOydhCDqtazrp6TtlZjsi5zqsqDsirXri4jquYw/IixwdXJjaGFzZVN1Y2Nlc3M6Iuq1rOunpCDshLHqs7UhIn0sZm9sbG93OihjPXtmb2xsb3c6Iu2ZnOyaqeuLqOyWtOywuOyhsCIsdHJhZGVyTGlzdDoi6rGw656Y7JuQIOuqqeuhnSIsdG90YWxQcm9maXQ6Iuy0neyGkOydtSIsY29ycmVjdFJhdGU6Iuy0nSDsoJXtmZXrj4QiLHBvc2l0aW9uVmFsdWF0aW9uOiLssL3qs6Ag67O07JygIO2PieqwgCIsZXN0aW1hdGVkUHJvZml0VG9kYXk6IuyYpOuKmCDsmIjsg4Eg7IiY7J21IixyYXRlT2ZSZXR1cm46IuyImOydteuloCIsYmVjb21lQVRyYWRlcjoi6rGw656Y7JuQ7J20IOuQmOuLpCJ9LCgwLHUuZGVmYXVsdCkoYywidHJhZGVyTGlzdCIsIuqxsOuemOybkCDrqqnroZ0iKSwoMCx1LmRlZmF1bHQpKGMsIm9ubHlTaG93c1RoZVBvc2l0aW9uIiwi7JyE7LmY66eMIO2RnOyLnCIpLCgwLHUuZGVmYXVsdCkoYywidGhlRGF0YUlzVXBkYXRlZEV2ZXJ5SG91ciIsIuyLnOqwhOuLuSDrjbDsnbTthLAg7JeF642w7J207Yq4IiksKDAsdS5kZWZhdWx0KShjLCJmb2xsb3dpbmciLCLso7zrrLgg7KSRIiksKDAsdS5kZWZhdWx0KShjLCJmb2xsb3ciLCLtmZzsmqnri6jslrTssLjsobAiKSwoMCx1LmRlZmF1bHQpKGMsImNvbmZpcm1Gb2xsb3ciLCLrlLDrpbTsi5zqsqDsirXri4jquYw/IiksKDAsdS5kZWZhdWx0KShjLCJjb25maXJtQ2FuY2VsIiwi65Sw66W06riw66W8IOy3qOyGjO2VmOyLnOqyoOyKteuLiOq5jD8iKSwoMCx1LmRlZmF1bHQpKGMsImZvbGxvd1RyYWRlciIsIuq1kOyXreybkOydhCDrlLDrpbTri6QiKSwoMCx1LmRlZmF1bHQpKGMsImVkaXRDb3B5Iiwi7Y647KeRIOuUsOultOq4sCIpLCgwLHUuZGVmYXVsdCkoYywiYmVmb3JlQ29weSIsIuuUsOudvOqwgOq4sOulvCDshKDtg53tlZjquLAg7KCE7JeQIOyekOyEuO2eiCDsnb3slrTso7zshLjsmpQuIiksKDAsdS5kZWZhdWx0KShjLCJjb3B5QWdyZWVtZW50Iiwi6rOE7JW9IOuUsOultOq4sCIpLCgwLHUuZGVmYXVsdCkoYywiY29weVR5cGUiLCLsiJjtlokg67Cp7IudIiksKDAsdS5kZWZhdWx0KShjLCJjb3B5VHlwZTEiLCLqs6DsoJUg67Cw7IiYIOuUsOultOq4sCIpLCgwLHUuZGVmYXVsdCkoYywiY29weVR5cGUyIiwi67aZ64ukIiksKDAsdS5kZWZhdWx0KShjLCJjb3B5QWxlcnQxIiwi6rGw656Y7JuQ7J20IOyWvOuniOulvCDso7zrrLjtlZjrk6Dsp4Ag6rCE7JeQIOuLueyLoOydgCDshKDtg53tlZwg6rOg7KCVIOuwsOyImOyXkCDrlLDrnbwg65Sw65286rCA7IS47JqULiIpLCgwLHUuZGVmYXVsdCkoYywiY29weUFsZXJ0MiIsIijstpXsspkg7IiY6rCAID4x7J206rOgIOygleyImOqwgCDslYTri4wg6rK97JqwIOuwmOyYrOumvOydgCDrkZAg7IaM7IiY7KCQIOqwkuydhCDsnKDsp4Dtlanri4jri6QuKSIpLCgwLHUuZGVmYXVsdCkoYywiY29weU11bHRpcGxlIiwi67Cw7IiY66W8IOuUsOultOuLpCIpLCgwLHUuZGVmYXVsdCkoYywiY2FuY2VsQ29weSIsIuuUsOultOq4sCDst6jshowiKSwoMCx1LmRlZmF1bHQpKGMsImN1cnJlbnRGb2xsb3dlck51bWJlciIsIu2YhOyerCDsiJjtlokg7J247JuQ7IiYIiksKDAsdS5kZWZhdWx0KShjLCJ0b3RhbFByb2ZpdEFuZExvc3MiLCLstJ3shpDsnbUiKSwoMCx1LmRlZmF1bHQpKGMsInRvdGFsUmV0dXJuIiwi7LSd7IiY7J2166WgIiksKDAsdS5kZWZhdWx0KShjLCJhY2N1cmFjeSIsIuygle2ZleuPhCIpLCgwLHUuZGVmYXVsdCkoYywicHJvZml0YWJsZU9yZGVycyIsIuydtOydtSDso7zrrLgiKSwoMCx1LmRlZmF1bHQpKGMsInN1Y2Nlc3NmdWxTaG9ydFRyYWRlcyIsIuqzteunpOunpOyXkCDshLHqs7XtlZjri6QiKSwoMCx1LmRlZmF1bHQpKGMsInN1Y2Nlc3NmdWxMb25nVHJhZGVzIiwi64uk6rWQ7Jet7JeQIOyEseqzte2VmOuLpCIpLCgwLHUuZGVmYXVsdCkoYywieWVzdGVyZGF5c1RyYWRpbmdTdGF0dXMiLCLslrTsoJwg6rWQ7JetIOyDge2ZqSIpLCgwLHUuZGVmYXVsdCkoYywiY3VycmVudFBvc2l0aW9ucyIsIu2YhOyerCDrs7TsnKAiKSwoMCx1LmRlZmF1bHQpKGMsInRvdGFsT3JkZXJzIiwi7LSdIOyjvOusuCIpLCgwLHUuZGVmYXVsdCkoYywicmVtYWluIiwi7J6J7JesIiksKDAsdS5kZWZhdWx0KShjLCJkaXN0YW5jZUR1ZSIsIuqxsOumrCDrp4zro4wiKSwoMCx1LmRlZmF1bHQpKGMsImRheXMiLCLsnbwiKSwoMCx1LmRlZmF1bHQpKGMsImRlYWRsaW5lIiwi6riw7J28IiksKDAsdS5kZWZhdWx0KShjLCJzdWJzY3JpcHRpb24iLCLqtazsnoUg7Iug7LKt7J2EIO2VmOuLpCIpLCgwLHUuZGVmYXVsdCkoYywiZm9sbG93VXNlcnMiLCLsgqzsmqnsnpAg65Sw65286rCA6riwIiksKDAsdS5kZWZhdWx0KShjLCJmb2xsb3dBbW91bnQiLCLsiJjtlokg6riI7JWhIiksKDAsdS5kZWZhdWx0KShjLCJmb2xsb3dFYXJuaW5ncyIsIuyImOydteydhCDrlLDrpbTri6QiKSwoMCx1LmRlZmF1bHQpKGMsImNhbmNlbEZvbGxvdyIsIuuUsOultOq4sCDst6jshowiKSwoMCx1LmRlZmF1bHQpKGMsImN1cnJlbnRDb3B5Iiwi7ZiE7J6sIiksKDAsdS5kZWZhdWx0KShjLCJoaXN0b3JpY2FsQ29weSIsIuyXreyCrCDqtZDsl60iKSwoMCx1LmRlZmF1bHQpKGMsIm15VHJhZGVyIiwi64KY7J2YIOqxsOuemOybkCIpLCgwLHUuZGVmYXVsdCkoYywidHJhZGluZ1BhaXIiLCLqtZDsl60iKSwoMCx1LmRlZmF1bHQpKGMsIm9wZW4iLCLssL3qs6Ag6rCc7ISkIOqwgOqyqSIpLCgwLHUuZGVmYXVsdCkoYywiY2xvc2UiLCLsoIHsoJXqsIDqsqkiKSwoMCx1LmRlZmF1bHQpKGMsImVhcm5pbmdzIiwi7IiY7J21IiksKDAsdS5kZWZhdWx0KShjLCJsb3RzIiwi7IiY64uoIiksKDAsdS5kZWZhdWx0KShjLCJ0aW1lIiwi6rGw656YIOyLnOqwhCIpLCgwLHUuZGVmYXVsdCkoYywiYnV5SW4iLCLrp6TsnoUiKSwoMCx1LmRlZmF1bHQpKGMsImJ1eU91dCIsIu2MlOuLpCIpLCgwLHUuZGVmYXVsdCkoYywiZGlyZWN0aW9uIiwi67Cp7ZalIiksYyksZmluYW5jaWFsOntwcm9kdWN0OiLsg53sgrDtkogiLHBvc2l0aW9uOiLsp4Dri4jri6QiLGZpbmFuY2lhbDoi6riI7Jy1Iixsb2NrbWluZzoi7JW97IaNIixpZW86IklFTyIsaW52ZXN0OiLtiKzsnpAg7J6s7YWM7YGsIixzZWN0aW9uOiLtirnrs4Qg6rWs7JetIixhcHI6IuyXsOqwhOyImOydteuloCIsbGlua2VkUmVmZXJlbmNlUHJpY2U6IuyXsOqzhCDssLjsobAg6rCA6rKpIixob2xkaW5nRGF5czoi7LC96rOgIOuztOycoCDquLDtlZwiLGRheToi7J28Iixsb2NrUGVyaW9kOiLssL3qs6Ag7J6g6riIIOyjvOq4sCIsaW5nOiLsp4Ttlokg7KSRIixkb25lOiLsooXro4zrkKgiLGFwcGx5U3Vic2NyaXB0aW9uOiLssq3slb3snYQg7Iug7LKt7ZWY64ukIixyZW1haW5pbmc6IuyeieyXrCIsdG90YWw6Iuy0neufiSIsc3Vic2NyaWJlZDoi7J2066+4IOyyreyVve2WiOuLpCIsbWluaW5nOiLssYTqtJEiLG1pbmltdW06IuyLnOyeke2VmOuLpCIsZGFpbHlSZXR1cm5SYXRlOiLsnbzsiJjsnbXrpaAifSxuZnQ6KGw9e25mdDoiTkZUIixhcnR3b3JrOiLsmIjsiKDtkogiLGFydGlzdDoi7JWE7Yuw7Iqk7Yq4IixhcnR3b3JrTGlzdDoi66+47Iig7ZKIIOuqqeuhnSIsYXJ0aXN0TGlzdDoi7JWE7Yuw7Iqk7Yq4IOuqqeuhnSIsY29tcHJlaGVuc2l2ZVNvcnRpbmc6Iuyihe2VqSDsoJXroKwiLG5ld2VzdDoi7LWc7IugIixob3Rlc3Q6IuqwgOyepSDrjZTsm6DslrQiLG1vc3RXb3Jrczoi7J6R7ZKI7J20IOqwgOyepSDrp47ri6QiLG1vc3RQb3B1bGFyOiLqsIDsnqUg7J246riwIOyeiOuLpCIscmVjb3JkOiLqtazrp6Qg6riw66GdIixyZWNvbW1lbmRBcnRpc3Q6Iuy2lOyynO2VmOuKlCDslYTti7DsiqTtirgiLGJ1eToi6rWs7J6FIixhcnRpc3RIb21lcGFnZToi7JWE7Yuw7Iqk7Yq4IO2ZiCDtjpjsnbTsp4AiLHdvcmtzOiLsnpHtkoguIixzYWxlZDoi7J2066+4IO2MlOuLpCIsZmFuczoi67aE7ZmN7IOJIixhbGxXb3Jrczoi7KCE7J6RIixub3RTZWxsOiLrr7jtjJDrp6QiLG15Q29sbGVjdDoi64KY7J2YIOyGjOyepe2SiCIsY29sbGVjdDoi7IaM7J6l7ZaI7Ja0Iixvd246IuyngOuLiOuLpCIscGxhY2VBQmlkOiLqsJLsnYQg66ek6riw64ukIixwdXJjaGFzZToi6rWs7J6FIixvcGVuOiLtm4Qg6rCc67CpIixpbWFnZToi6re466a8IixnaWY6Iuq3uOumvCIsYXVkaW86IuyYpOuUlOyYpCIsdmlkZW86Iuu5hOuUlOyYpCIsY3JlYXRvcjoi7J6R7J6QIixjdXJyZW50QmlkOiLstZzsi6Ag6rCA6rKpIixwcmljZToi6rCA6rKpLiIsZDoi7J28IixoOiLsi5zqsIQiLG06Iuu2hCIsczoi7LSIIOuLqOychCJ9LCgwLHUuZGVmYXVsdCkobCwic2FsZWQiLCLsooXro4zrkKgiKSwoMCx1LmRlZmF1bHQpKGwsInBsYWNlX2FsZXJ0Iiwi7JWE7J207YWcIOuvuO2MkOunpCDtmLnsnYAg7KKF66OMIiksKDAsdS5kZWZhdWx0KShsLCJjcmVhdGVkQnkiLCLsnpHsnpAiKSwoMCx1LmRlZmF1bHQpKGwsInBsYWNlX2FsZXJ0MiIsIuuLueyLoOydmCDqsIDqsqnsnYAg67CY65Oc7IucIiksKDAsdS5kZWZhdWx0KShsLCJub3RlIiwi7KSR7JqUIiksKDAsdS5kZWZhdWx0KShsLCJDVVJSRU5UX0JJRCIsIuy1nOyLoCDqsIDqsqkiKSwoMCx1LmRlZmF1bHQpKGwsInBsYWNlX2FsZXJ0MyIsIuqyveunpOyXkCDssLjsl6ztlZjroKTrqbQg7KeA67aI7ZW07JW8IO2VqeuLiOuLpCIpLCgwLHUuZGVmYXVsdCkobCwicGxhY2VfYWxlcnQ0Iiwi7J2YIOuztOymneq4iCwg6rK966ek6rCAIOuBneuCoCDrlYwg67O07Kad6riI7J2AIOuLueyLoOydmCDqs4TsoozroZwg67CY7ZmY65Cp64uI64ukLiIpLCgwLHUuZGVmYXVsdCkobCwicGxhY2VfYWxlcnQ2Iiwi7KCc7IucIOyLnOqwhOydtCDrp4jqsJDrkJwg7ZuELCDrp4zslb0g64u57Iug7J20IOqyveunpOyXkCDshLHqs7XtlZzri6TrqbQsIOuLueyLoOydgCDslrTripAg64KgIOy1nOyihSDqsIDqsqnsnYQg7KeA67aI7ZWgIOqyg+yeheuLiOuLpC7rp4zslb0g7Iuc6rCE7J2EIOy0iOqzvO2VmOyXrCDsp4DrtojtlZzri6TrqbQg64u57Iug7J2YIOuztOymneq4iOydhCDqs7XsoJztlaAg6rKD7J6F64uI64ukLiIpLCgwLHUuZGVmYXVsdCkobCwiY29uZmlybUJpZCIsIu2ZleyduCDqsIDqsqkiKSwoMCx1LmRlZmF1bHQpKGwsIkRFU0NSSVBUSU9OIiwi66yY7IKsIiksKDAsdS5kZWZhdWx0KShsLCJBRERSRVNTIiwi7IaM7J6s7KeAIiksKDAsdS5kZWZhdWx0KShsLCJjb3B5Iiwi67O17KCc7ZWY64ukIiksKDAsdS5kZWZhdWx0KShsLCJwZXJfaW5jcmVhc2UiLCLrp6Trsogg6rCS7J2EIOyYrOumrOuLpCIpLCgwLHUuZGVmYXVsdCkobCwiY3VycmVuY3lfdHlwZSIsIu2Gte2ZlCDsnKDtmJUiKSwoMCx1LmRlZmF1bHQpKGwsInBheV90eXBlIiwi6rWs7J6FIOuwqeuylSIpLCgwLHUuZGVmYXVsdCkobCwicGF5X3R5cGVfMiIsIu2MkOunpCDrsKnsi50iKSwoMCx1LmRlZmF1bHQpKGwsIm5vcm1hbCIsIuyXrOqwhO2VmOuLpCIpLCgwLHUuZGVmYXVsdCkobCwiYXVjdGlvbiIsIuqyveunpCIpLCgwLHUuZGVmYXVsdCkobCwiY29uZmlybUF1Y3Rpb24iLCLsnbQg7IOB7ZKIIOqyveunpOyXkCDssLjsl6ztlZjsi5zqsqDsirXri4jquYw/IiksKDAsdS5kZWZhdWx0KShsLCJiaW5kQm94Iiwi67iU65287J2465OcIOuwleyKpCIpLCgwLHUuZGVmYXVsdCkobCwic2VsbF9zdGF0dXMiLCLtjJDrp6Qg7IOB7YOcIiksKDAsdS5kZWZhdWx0KShsLCJoYXNTdGFydCIsIuyLnOyekSIpLCgwLHUuZGVmYXVsdCkobCwid2lsbFN0YXJ0Iiwi7Iuc7J6R7ZWY7KeAIOyViuydjCIpLCgwLHUuZGVmYXVsdCkobCwiYXJ0d29ya190eXBlIiwi7ZKI66qpIOycoO2YlSIpLCgwLHUuZGVmYXVsdCkobCwicmVzZXQiLCLsnqzshKTsoJUiKSwoMCx1LmRlZmF1bHQpKGwsImNvbmZpcm0iLCLtmZXsoJXtlZjri6QiKSwoMCx1LmRlZmF1bHQpKGwsInBsYWNlX2FsZXJ0NSIsIu2CpOybjOuTnCDsnoXroKUiKSwoMCx1LmRlZmF1bHQpKGwsImNvbGxlY3Rpb24iLCLrqqjsnYwiKSwoMCx1LmRlZmF1bHQpKGwsImJ5Q29sbGVjdGlvbiIsIuyGjOyepeuQmOuLpCIpLCgwLHUuZGVmYXVsdCkobCwiYXJ0d29ya3MiLCLsnpHtkoguIiksKDAsdS5kZWZhdWx0KShsLCJnb0NvbGxlY3QiLCLsiJjsnqXtlZjri6QiKSwoMCx1LmRlZmF1bHQpKGwsInByaWNlIiwi6rCA6rKpLiIpLCgwLHUuZGVmYXVsdCkobCwibm9uaWNrbmFtZSIsIuuLieuEpOyehOydtCDshKTsoJXrkJjsp4Ag7JWK7JWY7Iq164uI64ukLiIpLCgwLHUuZGVmYXVsdCkobCwiY2pkanMiLCLqsIDqsqkg66eI6rCQIOyLnOqwhCIpLCgwLHUuZGVmYXVsdCkobCwiY2prc3NqIiwi7J6F7LCwIOyLnOyekSDsi5zqsIQiKSwoMCx1LmRlZmF1bHQpKGwsImNqanpzaiIsIuqwgOqyqSDrp4jqsJAg7Iuc6rCEIiksKDAsdS5kZWZhdWx0KShsLCJnb3Rvc2VlIiwi7Ja866W4IOyLnOyepeyXkCDqsIDrs7TshLjsmpQuIiksKDAsdS5kZWZhdWx0KShsLCJwb3NpdGlvbiIsIuyngOuLiOuLpCIpLCgwLHUuZGVmYXVsdCkobCwicmVzZWxsIiwi7KCE66ek7ZWY64ukIiksKDAsdS5kZWZhdWx0KShsLCJidXlQcmljZSIsIuunpOyehSDqsIDqsqkiKSwoMCx1LmRlZmF1bHQpKGwsImNvbmZpcm1SZXNlbGwiLCLsoITrp6Qg7ZmV7J24IiksKDAsdS5kZWZhdWx0KShsLCJ3cm9uZ1ByaWNlIiwi7KCV7ZmV7ZWcIOqwgOqyqeydhCDshKDtg53tlZjshLjsmpQuIiksKDAsdS5kZWZhdWx0KShsLCJiaWRQbGFjZWRCeSIsIuqwkuydhCDrtoDrpbTripQg7IKs656MIiksKDAsdS5kZWZhdWx0KShsLCJwbGFjZVJlY29yZCIsIuqwgOqyqSDquLDroZ0iKSwoMCx1LmRlZmF1bHQpKGwsImNvbmZpclB1cmNoYXNlIiwi6rWs66ekIO2ZleyduCIpLCgwLHUuZGVmYXVsdCkobCwiYXJ0aXN0TGlzdCIsIuyVhO2LsOyKpO2KuCDrqqnroZ0iKSwoMCx1LmRlZmF1bHQpKGwsImhhc09wZW4iLCLsvJzsp5AiKSwoMCx1LmRlZmF1bHQpKGwsIm5vT3BlbiIsIuyYpO2UiO2VmOyngCDslYrsnYwiKSwoMCx1LmRlZmF1bHQpKGwsImNsaWNrT3BlbiIsIuu4lOudvOyduOuTnCDrsJXsiqTrpbwg7Je064ukIiksKDAsdS5kZWZhdWx0KShsLCJjb25maXJtT3BlbiIsIuu4lOudvOyduOuTnCDrsJXsiqQg7Jik7ZSI7ZWY7Iuc6rKg7Iq164uI6rmMPyIpLCgwLHUuZGVmYXVsdCkobCwibWFyZ2luIiwi67O07Kad6riIIiksKDAsdS5kZWZhdWx0KShsLCJ3cm9uZ1ByaWNlIiwi7KCV7ZmV7ZWcIOqwgOqyqeydhCDsnoXroKXtlZjsi63si5zsmKQuIiksKDAsdS5kZWZhdWx0KShsLCJ3cm9uZ1BlckluY3JlYXNlIiwi7Jis67CU66W4IOqwgOqyqSDsnbjsg4HsnYQg7J6F66Cl7ZWY7Iut7Iuc7JikLiIpLCgwLHUuZGVmYXVsdCkobCwid3JvbmdUaW1lIiwi7KKF66OMIOyLnOqwhOydtCDsooXro4wg7Iuc6rCE67O064ukIOuKpuyWtOyVvCDtlanri4jri6QuIiksKDAsdS5kZWZhdWx0KShsLCJjb25maXJtUmVzZWxsMiIsIuyDge2SiOydtCDsnbzri6gg7KCE66ek65CY66m0IOyyoO2ajO2VoCDsiJgg7JeG7Jy864uIIOydtCDsg4HtkojsnYQg7KCE66ek7ZWY7Iuc6rKg7Iq164uI6rmMPyIpLCgwLHUuZGVmYXVsdCkobCwicmVzZWxsaW5nIiwi7KCE66ekIOykkSIpLCgwLHUuZGVmYXVsdCkobCwibWVzc2FnZSIsIuuplOyLnOyngCDslYzrprwiKSwoMCx1LmRlZmF1bHQpKGwsImNvbmZpcm1QYXkiLCLsnbQg7IOB7ZKIIOqysOygnO2VmOqzoCDqtazrp6TtlZjsi5zqsqDsirXri4jquYw/IiksKDAsdS5kZWZhdWx0KShsLCJ6ZmRqcyIsIuyngOu2iCDsubTsmrTtirjri6TsmrQiKSwoMCx1LmRlZmF1bHQpKGwsInBheVRpbWUiLCLsp4Drtogg7Iuc6rCEIiksKDAsdS5kZWZhdWx0KShsLCJoYXNSZWFkIiwi7J297J2MIiksKDAsdS5kZWZhdWx0KShsLCJsYXN0UHJpY2UiLCLstZzsooUg64KZ7LCw6rCAIiksKDAsdS5kZWZhdWx0KShsLCJpc1BheSIsIuyngOu2iOuQqCIpLCgwLHUuZGVmYXVsdCkobCwiaXNFeHBpcmVkIiwi66eM66OM65CoIiksKDAsdS5kZWZhdWx0KShsLCJyYXJpdHkiLCLtnazqt4Drj4QiKSxsKSxhcHByb3ZlOntBdXRoZW50aWNhdGlvblRpcHM6IuyerOyduOymneuQnCDso7zshozqsIAg67CU7J2465SpIOyjvOyGjOyZgCDri6TrpbjrjbAg7KO87IaM66W8IOyImOygle2VtOyVvCDtlZjrgpjsmpQ/Iixicm93c2VyVGlwczoi67iM65287Jqw7KCA7JeQ7IScIOyXtOyWtOyjvOyEuOyalCIsdHJjX2Jyb3dzZXJUaXBzOiLsp4Dsm5DrkJjripQgVFJDMjAg7LK07J247J2YIOyngOqwkeyXkOyEnCDsl7TslrTso7zshLjsmpQiLHJlY2VydGlmeToi7J6s7J247KadIix2ZXJpZmllZDoi7ZmV7J2465CoIixnb19hdXRoZW50aWNhdGU6IuyduOymneydhCDst6jshoztlZjri6QiLG5vdGNlcnRpZmllZDoi7J247Kad65CY7KeAIOyViuydjCJ9fTt0LmRlZmF1bHQ9ZH0sIjE2YzUiOmZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7bigiNmE1NCIpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LmRlZmF1bHQ9dm9pZCAwLG4oIjc5NWMiKSxuKCJiZjBmIiksbigiN2E3NiIpLG4oImM5YjUiKSxuKCJmN2E1IiksbigiNjRhYSIpLG4oImFiODAiKSxuKCI1YzQ3IiksbigiMjNmNCIpLG4oIjdkMmYiKSxuKCI5YzRlIiksbigiYTFjMSIpLFN0cmluZy5wcm90b3R5cGUucGFkU3RhcnR8fChTdHJpbmcucHJvdG90eXBlLnBhZFN0YXJ0PWZ1bmN0aW9uKGUpe3ZhciB0PWFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXToiICI7aWYoIltvYmplY3QgU3RyaW5nXSIhPT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodCkpdGhyb3cgbmV3IFR5cGVFcnJvcigiZmlsbFN0cmluZyBtdXN0IGJlIFN0cmluZyIpO3ZhciBuPXRoaXM7aWYobi5sZW5ndGg+PWUpcmV0dXJuIFN0cmluZyhuKTt2YXIgYT1lLW4ubGVuZ3RoLG89TWF0aC5jZWlsKGEvdC5sZW5ndGgpO3doaWxlKG8+Pj0xKXQrPXQsMT09PW8mJih0Kz10KTtyZXR1cm4gdC5zbGljZSgwLGEpK259KTt2YXIgYT1mdW5jdGlvbigpe3ZhciBlPWFyZ3VtZW50cy5sZW5ndGg+MCYmdm9pZCAwIT09YXJndW1lbnRzWzBdP2FyZ3VtZW50c1swXTpudWxsLHQ9YXJndW1lbnRzLmxlbmd0aD4xJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0/YXJndW1lbnRzWzFdOiJ5eXl5LW1tLWRkIjtlfHwoZT1OdW1iZXIobmV3IERhdGUpKSwxMD09ZS50b1N0cmluZygpLmxlbmd0aCYmKGUqPTFlMyk7dmFyIG4sYT1uZXcgRGF0ZShlKSxvPXsieSsiOmEuZ2V0RnVsbFllYXIoKS50b1N0cmluZygpLCJtKyI6KGEuZ2V0TW9udGgoKSsxKS50b1N0cmluZygpLCJkKyI6YS5nZXREYXRlKCkudG9TdHJpbmcoKSwiaCsiOmEuZ2V0SG91cnMoKS50b1N0cmluZygpLCJNKyI6YS5nZXRNaW51dGVzKCkudG9TdHJpbmcoKSwicysiOmEuZ2V0U2Vjb25kcygpLnRvU3RyaW5nKCl9O2Zvcih2YXIgciBpbiBvKW49bmV3IFJlZ0V4cCgiKCIrcisiKSIpLmV4ZWModCksbiYmKHQ9dC5yZXBsYWNlKG5bMV0sMT09blsxXS5sZW5ndGg/b1tyXTpvW3JdLnBhZFN0YXJ0KG5bMV0ubGVuZ3RoLCIwIikpKTtyZXR1cm4gdH07dC5kZWZhdWx0PWF9LDE3NDQ6ZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtuKCI2YTU0Iik7dmFyIGE9bigiZjViZCIpLmRlZmF1bHQ7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuZGVmYXVsdD12b2lkIDAsbigiNWVmMiIpLG4oImY3YTUiKSxuKCJiZjBmIiksbigiNWM0NyIpLG4oImExYzEiKSxuKCIwNTA2IiksbigiMjNmNCIpLG4oIjdkMmYiKSxuKCI5YzRlIiksbigiYWI4MCIpLG4oImFmOGYiKSxuKCIyYzEwIiksbigiNjRhYSIpLG4oImM5YjUiKSxuKCJlOTY2Iik7dmFyIG89YShuKCI1YzAwIikpLHI9YShuKCJiNmZjIikpLGk9YShuKCIyODcxIikpLHM9by5kZWZhdWx0Lm1lc3NhZ2VzW28uZGVmYXVsdC5sb2NhbGVdLGM9dW5pLmdldFN0b3JhZ2VTeW5jKCJsYW5nIil8fCJ6aCIsbD1mdW5jdGlvbihlKXt2YXIgdD1hcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXT9hcmd1bWVudHNbMV06Im5vbmUiO3VuaS5zaG93VG9hc3Qoe3RpdGxlOmUsaWNvbjp0fSl9LHU9ZnVuY3Rpb24oKXt2YXIgZT11bmkuZ2V0U3RvcmFnZVN5bmMoImxhbmciKXx8InpoIjtzd2l0Y2goZSl7Y2FzZSJ6aCI6cmV0dXJuInpoLWNuIjtjYXNlImVuIjpyZXR1cm4iZW4iO2Nhc2UiaGsiOnJldHVybiJ6aC10dyJ9fTtmdW5jdGlvbiBkKGUpe3JldHVybiBlPDEwJiYoZT0iMCIrZSksZX12YXIgcD17Z2V0Q29sb3I6ZnVuY3Rpb24oZSl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiBlJiYoZS5pbmRleE9mKCIlIik+LTEmJihlPWUuc2xpY2UoMCxlLmxlbmd0aC0xKSksZT0rZSksZT4wPyIjMjhiYTk4IjowPT1lPyIjYWFhYWFhIjoiI0YwNEE1QSJ9LHNob3dNb2RhbDpmdW5jdGlvbigpe3ZhciBlPWFyZ3VtZW50cy5sZW5ndGg+MCYmdm9pZCAwIT09YXJndW1lbnRzWzBdP2FyZ3VtZW50c1swXTpzLmNvbW1vbi5oaW50LHQ9YXJndW1lbnRzLmxlbmd0aD4xP2FyZ3VtZW50c1sxXTp2b2lkIDA7cmV0dXJuIHM9by5kZWZhdWx0Lm1lc3NhZ2VzW28uZGVmYXVsdC5sb2NhbGVdLG5ldyBQcm9taXNlKChmdW5jdGlvbihuLGEpe3VuaS5zaG93TW9kYWwoe3RpdGxlOmUsY29udGVudDp0LGNhbmNlbFRleHQ6cy5jb21tb24uY2FuY2VsLGNvbmZpcm1UZXh0OnMuY29tbW9uLmNvbmZpcm0sc3VjY2VzczpmdW5jdGlvbihlKXtlLmNvbmZpcm0/bighMCk6bighMSl9fSl9KSl9LHNob3dUb2FzdDpsLG5hdmlnYXRlVG86ZnVuY3Rpb24oZSl7dmFyIHQ9IShhcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXSl8fGFyZ3VtZW50c1sxXSxuPTA7aWYodCl7dmFyIGE9dW5pLmdldFN0b3JhZ2VTeW5jKCJ0b2tlbiIpfHwiIjthfHwobChzLmNvbW1vbi5wbHNMb2dpbiksZT0iL3BhZ2VzL2NvbW1vbi9sb2dpbiIsbj0xMjAwKX1zZXRUaW1lb3V0KChmdW5jdGlvbigpe3VuaS5uYXZpZ2F0ZVRvKHt1cmw6ZX0pfSksbil9LHVwbG9hZEltYWdlOmZ1bmN0aW9uKCl7dmFyIGU9WyJhbGJ1bSJdO3JldHVybiBuZXcgUHJvbWlzZSgoZnVuY3Rpb24odCxuKXt1bmkuY2hvb3NlSW1hZ2Uoe2NvdW50OjEsc2l6ZVR5cGU6WyJvcmlnaW5hbCIsImNvbXByZXNzZWQiXSxzb3VyY2VUeXBlOmUsc3VjY2VzczpmdW5jdGlvbihlKXt2YXIgYT1lLnRlbXBGaWxlUGF0aHNbMF07ZS50ZW1wRmlsZXNbMF07dW5pLnNob3dMb2FkaW5nKHt0aXRsZTpzLmNvbW1vbi5sb2FkaW5nfSksdW5pLnVwbG9hZEZpbGUoe3VybDpyLmRlZmF1bHQuc3RhdGUuYmFzZVVybCsiL3VwbG9hZCIsZmlsZVBhdGg6YSxuYW1lOiJmaWxlIixoZWFkZXI6eyJhY2NlcHQtbGFuZ3VhZ2UiOnUoKSxBdXRob3JpemF0aW9uOnIuZGVmYXVsdC5zdGF0ZS50b2tlbn0sc3VjY2VzczpmdW5jdGlvbihlKXt2YXIgYT1lLmRhdGEucmVwbGFjZSgvXG4vZywiIikucmVwbGFjZSgvXG4vZywiIikucmVwbGFjZSgvXG4vZywiIikucmVwbGFjZSgvXHMvZywiIik7ZT1KU09OLnBhcnNlKGRlY29kZVVSSUNvbXBvbmVudChhKSksImVycm9yIj09ZS50eXBlP24oZSk6KGwocy5jb21tb24uc3VjY2VzcyksdChlLm1lc3NhZ2UpKX0sZmFpbDpmdW5jdGlvbihlKXtuKGUpfSxjb21wbGV0ZTpmdW5jdGlvbigpe3VuaS5oaWRlTG9hZGluZygpfX0pfX0pfSkpfSxzZXRUYWJiYXI6ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PWUuJHQoIm5hdiIpLG49MDtuPHQubGVuZ3RoO24rKyl1bmkuc2V0VGFiQmFySXRlbSh7aW5kZXg6bix0ZXh0OnRbbl0sZmFpbDpmdW5jdGlvbihlKXtjb25zb2xlLmxvZyhlKX19KX0sanVtcDpmdW5jdGlvbihlKXt2YXIgdD1hcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXT9hcmd1bWVudHNbMV06Im5hdmlnYXRlVG8iO3N3aXRjaCh0KXtjYXNlIm5hdmlnYXRlVG8iOnJldHVybiB2b2lkIHVuaS5uYXZpZ2F0ZVRvKHt1cmw6ZX0pO2Nhc2UicmVkaXJlY3RUbyI6cmV0dXJuIHZvaWQgdW5pLnJlZGlyZWN0VG8oe3VybDplfSk7Y2FzZSJyZUxhdW5jaCI6cmV0dXJuIHZvaWQgdW5pLnJlTGF1bmNoKHt1cmw6ZX0pO2Nhc2Uic3dpdGNoVGFiIjpyZXR1cm4gdm9pZCB1bmkuc3dpdGNoVGFiKHt1cmw6ZX0pO2Nhc2UibmF2aWdhdGVCYWNrIjp1bmkubmF2aWdhdGVCYWNrKHtkZWx0YTplfSl9fSxjaGVja0lzTnVtQW5kV29yZHM6ZnVuY3Rpb24oZSl7cmV0dXJuISEvXlswLTlhLXpBLVpdKiQvLnRlc3QoZSl9LGJhY2tIb21lOmZ1bmN0aW9uKCl7dW5pLnN3aXRjaFRhYih7dXJsOiIvcGFnZXMvcXVvdGF0aW9uL2luZGV4LnZ1ZSJ9KX0sY2hhckZpbHRlcjpmdW5jdGlvbihlKXt2YXIgdD1uZXcgUmVnRXhwKCJbYH4hIyReJiooKT18e30nOjsnLFxcW1xcXTw+Lz9+77yBI++/peKApuKApiYq77yI77yJ4oCU4oCUfHt944CQ44CR4oCY77yb77ya4oCd4oCcJ+OAgu+8jOOAge+8n10iLCJnIik7cmV0dXJuIGUucmVwbGFjZSh0LCIiKX0scmV0QnV5QW5kU2VsbDpmdW5jdGlvbihlKXtlPSLkubAiPT1lPyJiIjoicyI7cmV0dXJue3poOntiOiLkubAiLHM6IuWNliJ9LGVuOntiOiJCdXkiLHM6IlNlbGwifSxoazp7Yjoi6LK3IixzOiLos6MifX1bY11bZV19LHJldE5hbWVCeUxhbmc6ZnVuY3Rpb24oZSl7c3dpdGNoKGMpe2Nhc2UiemgiOnJldHVybiBlLm9wdGlvbl9uYW1lO2Nhc2UiZW4iOnJldHVybiBlLmVuX25hbWU7Y2FzZSJoayI6cmV0dXJuIGUudHdfbmFtZX19LGNoYXJUZXN0OmZ1bmN0aW9uKGUpe3ZhciB0PW5ldyBSZWdFeHAoIltgfiEjJF4mKigpPXx7fSc6OycsXFxbXFxdPD4vP37vvIEj77+l4oCm4oCmJirvvIjvvInigJTigJR8e33jgJDjgJHigJjvvJvvvJrigJ3igJwn44CC77yM44CB77yfXSIsImciKTtyZXR1cm4hIXQudGVzdChlKX0scmVtb3ZlaHRtbHRhZzpmdW5jdGlvbihlKXtyZXR1cm4gZS5yZXBsYWNlKC88W14+XSs+L2csIiIpfSxnZXRRdWVyeVN0cmluZzpmdW5jdGlvbihlKXt2YXIgdD1uZXcgUmVnRXhwKCIoXnwmKSIrZSsiPShbXiZdKikoJnwkKSIsImkiKSxuPXdpbmRvdy5sb2NhdGlvbi5zZWFyY2guc3BsaXQoIj8iKVsxXXx8IiIsYT1uLm1hdGNoKHQpfHxbXTtyZXR1cm4gYVsyXX0sc3RhbXAyVGltZTpmdW5jdGlvbihlKXt2YXIgdD1hcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXT9hcmd1bWVudHNbMV06ImQiO2lmKCFlKXJldHVybiAwOyJzdHJpbmciPT10eXBlb2YgZSYmKGU9TnVtYmVyKGUpKSxlLnRvU3RyaW5nKCkubGVuZ3RoPjEwJiYoZS89MWUzKTt2YXIgbj1wYXJzZUludChlLzYwLzYwLzI0LDEwKSxhPXBhcnNlSW50KGUvNjAvNjAlMjQsMTApLG89cGFyc2VJbnQoZS82MCU2MCwxMCkscj1wYXJzZUludChlJTYwLDEwKTtzd2l0Y2godCl7Y2FzZSJkIjpyZXR1cm4gZChuKTtjYXNlImgiOnJldHVybiBkKGEpO2Nhc2UibSI6cmV0dXJuIGQobyk7Y2FzZSJzIjpyZXR1cm4gZChyKX19LG5mdEJ1eVN0YXR1czpmdW5jdGlvbihlLHQsbil7dmFyIGE9RGF0ZS5wYXJzZShuZXcgRGF0ZSk7cmV0dXJuIm51bWJlciIhPXR5cGVvZiB0JiYodD1EYXRlLnBhcnNlKHQpKSwibnVtYmVyIiE9dHlwZW9mIG4mJihuPURhdGUucGFyc2UobikpLGE8dD8yOmE+PXQmJmE8PW4/MD09ZT8wOjE6YT5uPzA6dm9pZCAwfSxtYXRoOmZ1bmN0aW9uKGUsdCxuKXtzd2l0Y2godCl7Y2FzZSIrIjpyZXR1cm4gbmV3IGkuZGVmYXVsdChlKS5hZGQobmV3IGkuZGVmYXVsdChuKSkudG9OdW1iZXIoKTtjYXNlIi0iOnJldHVybiBuZXcgaS5kZWZhdWx0KGUpLnN1YihuZXcgaS5kZWZhdWx0KG4pKS50b051bWJlcigpO2Nhc2UiKiI6cmV0dXJuIG5ldyBpLmRlZmF1bHQoZSkubXVsKG5ldyBpLmRlZmF1bHQobikpLnRvTnVtYmVyKCk7Y2FzZSIvIjpyZXR1cm4gbmV3IGkuZGVmYXVsdChlKS5kaXYobmV3IGkuZGVmYXVsdChuKSkudG9OdW1iZXIoKX19LGdldEN1cnJlbmN5Q29sb3I6ZnVuY3Rpb24oZSl7dmFyIHQ9e0JUQzoiI0YyOTk0QSIsVVNEVDoiIzI2QTE3QiIsTFRDOiIjOUVBM0NBIixFVEg6IiM4REEwRTAifTtyZXR1cm4gdFtlXT90W2VdOiIjOERBMEUwIn0sZ2V0UHJlY2lzaW9uTGVuZ3RoOmZ1bmN0aW9uKGUpe3ZhciB0O3JldHVybiJudW1iZXIiPT10eXBlb2YgZSYmKGU9U3RyaW5nKGUpKSx0PWUuaW5kZXhPZigiLiIpPi0xP2Uuc3BsaXQoIi4iKVsxXS5sZW5ndGg6MCx0fX07dC5kZWZhdWx0PXB9LDIxMzg6ZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtuKCI2YTU0Iik7dmFyIGE9bigiZjViZCIpLmRlZmF1bHQ7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuZGVmYXVsdD12b2lkIDAsbigiYmYwZiIpLG4oIjVlZjIiKTt2YXIgbz1hKG4oIjgwYjEiKSkscj1hKG4oImVmZTUiKSksaT1hKG4oImMxYjkiKSkscz1hKG4oIjViYjgiKSksYz1mdW5jdGlvbigpe2Z1bmN0aW9uIGUoKXt2YXIgdD10aGlzOygwLG8uZGVmYXVsdCkodGhpcyxlKSx0aGlzLmNvbmZpZz17YmFzZVVybDoiIixoZWFkZXI6e30sbWV0aG9kOiJQT1NUIixkYXRhVHlwZToianNvbiIscmVzcG9uc2VUeXBlOiJ0ZXh0IixzaG93TG9hZGluZzohMCxsb2FkaW5nVGV4dDoiIixsb2FkaW5nVGltZTo4MDAsdGltZXI6bnVsbCxvcmlnaW5hbERhdGE6ITEsbG9hZGluZ01hc2s6ITB9LHRoaXMuaW50ZXJjZXB0b3I9e3JlcXVlc3Q6bnVsbCxyZXNwb25zZTpudWxsfSx0aGlzLmdldD1mdW5jdGlvbihlKXt2YXIgbj1hcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXT9hcmd1bWVudHNbMV06e30sYT1hcmd1bWVudHMubGVuZ3RoPjImJnZvaWQgMCE9PWFyZ3VtZW50c1syXT9hcmd1bWVudHNbMl06e307cmV0dXJuIHQucmVxdWVzdCh7bWV0aG9kOiJHRVQiLHVybDplLGhlYWRlcjphLGRhdGE6bn0pfSx0aGlzLnBvc3Q9ZnVuY3Rpb24oZSl7dmFyIG49YXJndW1lbnRzLmxlbmd0aD4xJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0/YXJndW1lbnRzWzFdOnt9LGE9YXJndW1lbnRzLmxlbmd0aD4yJiZ2b2lkIDAhPT1hcmd1bWVudHNbMl0/YXJndW1lbnRzWzJdOnt9O3JldHVybiB0LnJlcXVlc3Qoe3VybDplLG1ldGhvZDoiUE9TVCIsaGVhZGVyOmEsZGF0YTpufSl9LHRoaXMucHV0PWZ1bmN0aW9uKGUpe3ZhciBuPWFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXTp7fSxhPWFyZ3VtZW50cy5sZW5ndGg+MiYmdm9pZCAwIT09YXJndW1lbnRzWzJdP2FyZ3VtZW50c1syXTp7fTtyZXR1cm4gdC5yZXF1ZXN0KHt1cmw6ZSxtZXRob2Q6IlBVVCIsaGVhZGVyOmEsZGF0YTpufSl9LHRoaXMuZGVsZXRlPWZ1bmN0aW9uKGUpe3ZhciBuPWFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXTp7fSxhPWFyZ3VtZW50cy5sZW5ndGg+MiYmdm9pZCAwIT09YXJndW1lbnRzWzJdP2FyZ3VtZW50c1syXTp7fTtyZXR1cm4gdC5yZXF1ZXN0KHt1cmw6ZSxtZXRob2Q6IkRFTEVURSIsaGVhZGVyOmEsZGF0YTpufSl9fXJldHVybigwLHIuZGVmYXVsdCkoZSxbe2tleToic2V0Q29uZmlnIix2YWx1ZTpmdW5jdGlvbihlKXt0aGlzLmNvbmZpZz0oMCxpLmRlZmF1bHQpKHRoaXMuY29uZmlnLGUpfX0se2tleToicmVxdWVzdCIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLHQ9YXJndW1lbnRzLmxlbmd0aD4wJiZ2b2lkIDAhPT1hcmd1bWVudHNbMF0/YXJndW1lbnRzWzBdOnt9O2lmKHRoaXMuaW50ZXJjZXB0b3IucmVxdWVzdCYmImZ1bmN0aW9uIj09PXR5cGVvZiB0aGlzLmludGVyY2VwdG9yLnJlcXVlc3Qpe3ZhciBuPXRoaXMuaW50ZXJjZXB0b3IucmVxdWVzdCh0KTtpZighMT09PW4pcmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbigpe30pKTt0aGlzLm9wdGlvbnM9bn1yZXR1cm4gdC5kYXRhVHlwZT10LmRhdGFUeXBlfHx0aGlzLmNvbmZpZy5kYXRhVHlwZSx0LnJlc3BvbnNlVHlwZT10LnJlc3BvbnNlVHlwZXx8dGhpcy5jb25maWcucmVzcG9uc2VUeXBlLHQudXJsPXQudXJsfHwiIix0LnBhcmFtcz10LnBhcmFtc3x8e30sdC5oZWFkZXI9T2JqZWN0LmFzc2lnbih7fSx0aGlzLmNvbmZpZy5oZWFkZXIsdC5oZWFkZXIpLHQubWV0aG9kPXQubWV0aG9kfHx0aGlzLmNvbmZpZy5tZXRob2QsbmV3IFByb21pc2UoKGZ1bmN0aW9uKG4sYSl7dC5jb21wbGV0ZT1mdW5jdGlvbih0KXtpZih1bmkuaGlkZUxvYWRpbmcoKSxjbGVhclRpbWVvdXQoZS5jb25maWcudGltZXIpLGUuY29uZmlnLnRpbWVyPW51bGwsZS5jb25maWcub3JpZ2luYWxEYXRhKWlmKGUuaW50ZXJjZXB0b3IucmVzcG9uc2UmJiJmdW5jdGlvbiI9PT10eXBlb2YgZS5pbnRlcmNlcHRvci5yZXNwb25zZSl7dmFyIG89ZS5pbnRlcmNlcHRvci5yZXNwb25zZSh0KTshMSE9PW8/bihvKTphKHQpfWVsc2Ugbih0KTtlbHNlIGlmKDIwMD09dC5zdGF0dXNDb2RlKWlmKGUuaW50ZXJjZXB0b3IucmVzcG9uc2UmJiJmdW5jdGlvbiI9PT10eXBlb2YgZS5pbnRlcmNlcHRvci5yZXNwb25zZSl7dmFyIHI9ZS5pbnRlcmNlcHRvci5yZXNwb25zZSh0LmRhdGEpOyExIT09cj9uKHIpOmEodC5kYXRhKX1lbHNlIG4odC5kYXRhKTtlbHNlIGEodCl9LHQudXJsPXMuZGVmYXVsdC51cmwodC51cmwpP3QudXJsOmUuY29uZmlnLmJhc2VVcmwrKDA9PXQudXJsLmluZGV4T2YoIi8iKT90LnVybDoiLyIrdC51cmwpLGUuY29uZmlnLnNob3dMb2FkaW5nJiYhZS5jb25maWcudGltZXImJihlLmNvbmZpZy50aW1lcj1zZXRUaW1lb3V0KChmdW5jdGlvbigpe3VuaS5zaG93TG9hZGluZyh7dGl0bGU6ZS5jb25maWcubG9hZGluZ1RleHQsbWFzazplLmNvbmZpZy5sb2FkaW5nTWFza30pLGUuY29uZmlnLnRpbWVyPW51bGx9KSxlLmNvbmZpZy5sb2FkaW5nVGltZSkpLHVuaS5yZXF1ZXN0KHQpfSkpfX1dKSxlfSgpLGw9bmV3IGM7dC5kZWZhdWx0PWx9LDIzNTI6ZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtuKCI2YTU0Iik7dmFyIGE9bigiZjViZCIpLmRlZmF1bHQ7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuZGVmYXVsdD12b2lkIDA7dmFyIG89YShuKCI1YzAwIikpLHI9KG8uZGVmYXVsdC5tZXNzYWdlc1tvLmRlZmF1bHQubG9jYWxlXS5jb21tb24se2luc3RhbGw6ZnVuY3Rpb24oZSx0KXtlLnByb3RvdHlwZS4kdS5odHRwLnNldENvbmZpZyh7YmFzZVVybDoiL2FwaSJ9KSxlLnByb3RvdHlwZS4kdS5odHRwLmludGVyY2VwdG9yLnJlcXVlc3Q9ZnVuY3Rpb24oZSl7dmFyIHQ9dW5pLmdldFN0b3JhZ2VTeW5jKCJsYW5nIil8fCJlbiI7cmV0dXJuIGUuZGF0YVsibGFuZyJdPXQsZS5oZWFkZXJbIkF1dGhvcml6YXRpb24iXT11bmkuZ2V0U3RvcmFnZVN5bmMoInRva2VuIiksZS5oZWFkZXJbIkNvbnRlbnQtVHlwZSJdPSJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiLGV9LGUucHJvdG90eXBlLiR1Lmh0dHAuaW50ZXJjZXB0b3IucmVzcG9uc2U9ZnVuY3Rpb24oZSl7cmV0dXJuIm9rIj09ZS50eXBlfHwxPT1lLmNvZGU/ZToiOTk5Ij09PWUudHlwZT8odC4kdXRpbHMuc2hvd1RvYXN0KGUubWVzc2FnZSksdC4kc3RvcmUuY29tbWl0KCJkZWxldGVVc2VyIiksc2V0VGltZW91dCgoZnVuY3Rpb24oKXt1bmkucmVkaXJlY3RUbyh7dXJsOiIvcGFnZXMvY29tbW9uL2xvZ2luIn0pfSksMTIwMCksITEpOiI5OTgiPT09ZS50eXBlPyhzZXRUaW1lb3V0KChmdW5jdGlvbigpe3VuaS5uYXZpZ2F0ZVRvKHt1cmw6Ii9wYWdlcy9zZXR0aW5nL3JlYWwifSl9KSwxMjAwKSwhMSk6KHQuJHV0aWxzLnNob3dUb2FzdChlLm1lc3NhZ2UpLCExKX19fSk7dC5kZWZhdWx0PXJ9LCIyN2M0IjpmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO24oIjZhNTQiKSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksdC5kZWZhdWx0PXZvaWQgMCxuKCI1YzQ3IiksbigiYTFjMSIpO3ZhciBhPWZ1bmN0aW9uKGUpe3ZhciB0PWFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXToiYm90aCI7cmV0dXJuImJvdGgiPT10P2UucmVwbGFjZSgvXlxzK3xccyskL2csIiIpOiJsZWZ0Ij09dD9lLnJlcGxhY2UoL15ccyovLCIiKToicmlnaHQiPT10P2UucmVwbGFjZSgvKFxzKiQpL2csIiIpOiJhbGwiPT10P2UucmVwbGFjZSgvXHMrL2csIiIpOmV9O3QuZGVmYXVsdD1hfSwiMjdkYiI6ZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtuKCI2YTU0Iik7dmFyIGE9bigiZjViZCIpLmRlZmF1bHQ7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuZGVmYXVsdD12b2lkIDAsbigiOGY3MSIpLG4oImJmMGYiKTt2YXIgbz1hKG4oImFkNzQiKSkscj1hKG4oIjIxMzgiKSksaT1hKG4oImMyMWMiKSkscz1hKG4oImZjYTUiKSksYz1hKG4oIjE2YzUiKSksbD1hKG4oImRlY2MiKSksdT1hKG4oImE1OWYiKSksZD1hKG4oImJmNDciKSkscD1hKG4oImFkYjMiKSksbT1hKG4oIjY2YzgiKSksZj1hKG4oImEyN2EiKSksZz1hKG4oIjgzYWYiKSksaD1hKG4oImMxYjkiKSksYj1hKG4oImIxZjYiKSkseT1hKG4oIjViYjgiKSksdz1hKG4oImZmM2MiKSksdj1hKG4oIjI3YzQiKSksXz1hKG4oIjlkZTgiKSksaz1hKG4oImFhOTIiKSkseD1hKG4oIjBjYmEiKSksQz1uKCI5ZmVlIiksUD1hKG4oImMzMDUiKSksQT1hKG4oImRlMGMiKSksVD1hKG4oIjhjY2YiKSksUz1hKG4oImFkMTEiKSk7dmFyIEk9e3F1ZXJ5UGFyYW1zOmkuZGVmYXVsdCxyb3V0ZTpzLmRlZmF1bHQsdGltZUZvcm1hdDpjLmRlZmF1bHQsZGF0ZTpjLmRlZmF1bHQsdGltZUZyb206bC5kZWZhdWx0LGNvbG9yR3JhZGllbnQ6dS5kZWZhdWx0LmNvbG9yR3JhZGllbnQsY29sb3JUb1JnYmE6dS5kZWZhdWx0LmNvbG9yVG9SZ2JhLGd1aWQ6ZC5kZWZhdWx0LGNvbG9yOnAuZGVmYXVsdCxzeXM6Qy5zeXMsb3M6Qy5vcyx0eXBlMmljb246bS5kZWZhdWx0LHJhbmRvbUFycmF5OmYuZGVmYXVsdCx3cmFubmluZzpmdW5jdGlvbihlKXswfSxnZXQ6ci5kZWZhdWx0LmdldCxwb3N0OnIuZGVmYXVsdC5wb3N0LHB1dDpyLmRlZmF1bHQucHV0LGRlbGV0ZTpyLmRlZmF1bHQuZGVsZXRlLGhleFRvUmdiOnUuZGVmYXVsdC5oZXhUb1JnYixyZ2JUb0hleDp1LmRlZmF1bHQucmdiVG9IZXgsdGVzdDp5LmRlZmF1bHQscmFuZG9tOncuZGVmYXVsdCxkZWVwQ2xvbmU6Zy5kZWZhdWx0LGRlZXBNZXJnZTpoLmRlZmF1bHQsZ2V0UGFyZW50OmsuZGVmYXVsdCwkcGFyZW50OnguZGVmYXVsdCxhZGRVbml0OmIuZGVmYXVsdCx0cmltOnYuZGVmYXVsdCx0eXBlOlsicHJpbWFyeSIsInN1Y2Nlc3MiLCJlcnJvciIsIndhcm5pbmciLCJpbmZvIl0saHR0cDpyLmRlZmF1bHQsdG9hc3Q6Xy5kZWZhdWx0LGNvbmZpZzpULmRlZmF1bHQsekluZGV4OlMuZGVmYXVsdCxkZWJvdW5jZTpQLmRlZmF1bHQsdGhyb3R0bGU6QS5kZWZhdWx0fTt1bmkuJHU9STt2YXIgUj17aW5zdGFsbDpmdW5jdGlvbihlKXtlLm1peGluKG8uZGVmYXVsdCksZS5wcm90b3R5cGUub3BlblNoYXJlJiZlLm1peGluKG1wU2hhcmUpLGUuZmlsdGVyKCJ0aW1lRm9ybWF0IiwoZnVuY3Rpb24oZSx0KXtyZXR1cm4oMCxjLmRlZmF1bHQpKGUsdCl9KSksZS5maWx0ZXIoImRhdGUiLChmdW5jdGlvbihlLHQpe3JldHVybigwLGMuZGVmYXVsdCkoZSx0KX0pKSxlLmZpbHRlcigidGltZUZyb20iLChmdW5jdGlvbihlLHQpe3JldHVybigwLGwuZGVmYXVsdCkoZSx0KX0pKSxlLnByb3RvdHlwZS4kdT1JfX07dC5kZWZhdWx0PVJ9LDI4NzE6ZnVuY3Rpb24oZSx0LG4pe3ZhciBhLG89bigiYmRiYiIpLmRlZmF1bHQ7bigiZjdhNSIpLG4oImRjNjkiKSxuKCJhYTljIiksbigiM2VmZCIpLG4oIjdhNzYiKSxuKCJjOWI1IiksbigiNWVmMiIpLG4oIjVjNDciKSxuKCJhMWMxIiksbigiYWY4ZiIpLG4oImJmMGYiKSxuKCJhYjgwIiksbigiMDUwNiIpLG4oImQ5MzciKSxmdW5jdGlvbihyKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShlLHQpe3ZhciBuLGEsbyxyLGkscyxjLGwsdT1lLmNvbnN0cnVjdG9yLGQ9dS5wcmVjaXNpb247aWYoIWUuc3x8IXQucylyZXR1cm4gdC5zfHwodD1uZXcgdShlKSkseD9nKHQsZCk6dDtpZihjPWUuZCxsPXQuZCxpPWUuZSxvPXQuZSxjPWMuc2xpY2UoKSxyPWktbyl7Zm9yKDA+cj8oYT1jLHI9LXIscz1sLmxlbmd0aCk6KGE9bCxvPWkscz1jLmxlbmd0aCksaT1NYXRoLmNlaWwoZC9EKSxzPWk+cz9pKzE6cysxLHI+cyYmKHI9cyxhLmxlbmd0aD0xKSxhLnJldmVyc2UoKTtyLS07KWEucHVzaCgwKTthLnJldmVyc2UoKX1mb3Iocz1jLmxlbmd0aCxyPWwubGVuZ3RoLDA+cy1yJiYocj1zLGE9bCxsPWMsYz1hKSxuPTA7cjspbj0oY1stLXJdPWNbcl0rbFtyXStuKS9SfDAsY1tyXSU9Ujtmb3IobiYmKGMudW5zaGlmdChuKSwrK28pLHM9Yy5sZW5ndGg7MD09Y1stLXNdOyljLnBvcCgpO3JldHVybiB0LmQ9Yyx0LmU9byx4P2codCxkKTp0fWZ1bmN0aW9uIHMoZSx0LG4pe2lmKGUhPT1+fmV8fHQ+ZXx8ZT5uKXRocm93IEVycm9yKFArZSl9ZnVuY3Rpb24gYyhlKXt2YXIgdCxuLGEsbz1lLmxlbmd0aC0xLHI9IiIsaT1lWzBdO2lmKG8+MCl7Zm9yKHIrPWksdD0xO28+dDt0KyspYT1lW3RdKyIiLG49RC1hLmxlbmd0aCxuJiYocis9cChuKSkscis9YTtpPWVbdF0sYT1pKyIiLG49RC1hLmxlbmd0aCxuJiYocis9cChuKSl9ZWxzZSBpZigwPT09aSlyZXR1cm4iMCI7Zm9yKDtpJTEwPT09MDspaS89MTA7cmV0dXJuIHIraX1mdW5jdGlvbiBsKGUsdCl7dmFyIG4sYSxvLHIsaSxzLGw9MCxkPTAscD1lLmNvbnN0cnVjdG9yLG09cC5wcmVjaXNpb247aWYodShlKT4xNil0aHJvdyBFcnJvcihBK3UoZSkpO2lmKCFlLnMpcmV0dXJuIG5ldyBwKHYpO2ZvcihudWxsPT10Pyh4PSExLHM9bSk6cz10LGk9bmV3IHAoLjAzMTI1KTtlLmFicygpLmd0ZSguMSk7KWU9ZS50aW1lcyhpKSxkKz01O2ZvcihhPU1hdGgubG9nKFMoMixkKSkvTWF0aC5MTjEwKjIrNXwwLHMrPWEsbj1vPXI9bmV3IHAodikscC5wcmVjaXNpb249czs7KXtpZihvPWcoby50aW1lcyhlKSxzKSxuPW4udGltZXMoKytsKSxpPXIucGx1cyhOKG8sbixzKSksYyhpLmQpLnNsaWNlKDAscyk9PT1jKHIuZCkuc2xpY2UoMCxzKSl7Zm9yKDtkLS07KXI9ZyhyLnRpbWVzKHIpLHMpO3JldHVybiBwLnByZWNpc2lvbj1tLG51bGw9PXQ/KHg9ITAsZyhyLG0pKTpyfXI9aX19ZnVuY3Rpb24gdShlKXtmb3IodmFyIHQ9ZS5lKkQsbj1lLmRbMF07bj49MTA7bi89MTApdCsrO3JldHVybiB0fWZ1bmN0aW9uIGQoZSx0LG4pe2lmKHQ+ZS5MTjEwLnNkKCkpdGhyb3cgeD0hMCxuJiYoZS5wcmVjaXNpb249biksRXJyb3IoQysiTE4xMCBwcmVjaXNpb24gbGltaXQgZXhjZWVkZWQiKTtyZXR1cm4gZyhuZXcgZShlLkxOMTApLHQpfWZ1bmN0aW9uIHAoZSl7Zm9yKHZhciB0PSIiO2UtLTspdCs9IjAiO3JldHVybiB0fWZ1bmN0aW9uIG0oZSx0KXt2YXIgbixhLG8scixpLHMsbCxwLGYsaD0xLGI9ZSx5PWIuZCx3PWIuY29uc3RydWN0b3IsXz13LnByZWNpc2lvbjtpZihiLnM8MSl0aHJvdyBFcnJvcihDKyhiLnM/Ik5hTiI6Ii1JbmZpbml0eSIpKTtpZihiLmVxKHYpKXJldHVybiBuZXcgdygwKTtpZihudWxsPT10Pyh4PSExLHA9Xyk6cD10LGIuZXEoMTApKXJldHVybiBudWxsPT10JiYoeD0hMCksZCh3LHApO2lmKHArPTEwLHcucHJlY2lzaW9uPXAsbj1jKHkpLGE9bi5jaGFyQXQoMCkscj11KGIpLCEoTWF0aC5hYnMocik8MTVlMTQpKXJldHVybiBsPWQodyxwKzIsXykudGltZXMocisiIiksYj1tKG5ldyB3KGErIi4iK24uc2xpY2UoMSkpLHAtMTApLnBsdXMobCksdy5wcmVjaXNpb249XyxudWxsPT10Pyh4PSEwLGcoYixfKSk6Yjtmb3IoOzc+YSYmMSE9YXx8MT09YSYmbi5jaGFyQXQoMSk+MzspYj1iLnRpbWVzKGUpLG49YyhiLmQpLGE9bi5jaGFyQXQoMCksaCsrO2ZvcihyPXUoYiksYT4xPyhiPW5ldyB3KCIwLiIrbikscisrKTpiPW5ldyB3KGErIi4iK24uc2xpY2UoMSkpLHM9aT1iPU4oYi5taW51cyh2KSxiLnBsdXModikscCksZj1nKGIudGltZXMoYikscCksbz0zOzspe2lmKGk9ZyhpLnRpbWVzKGYpLHApLGw9cy5wbHVzKE4oaSxuZXcgdyhvKSxwKSksYyhsLmQpLnNsaWNlKDAscCk9PT1jKHMuZCkuc2xpY2UoMCxwKSlyZXR1cm4gcz1zLnRpbWVzKDIpLDAhPT1yJiYocz1zLnBsdXMoZCh3LHArMixfKS50aW1lcyhyKyIiKSkpLHM9TihzLG5ldyB3KGgpLHApLHcucHJlY2lzaW9uPV8sbnVsbD09dD8oeD0hMCxnKHMsXykpOnM7cz1sLG8rPTJ9fWZ1bmN0aW9uIGYoZSx0KXt2YXIgbixhLG87Zm9yKChuPXQuaW5kZXhPZigiLiIpKT4tMSYmKHQ9dC5yZXBsYWNlKCIuIiwiIikpLChhPXQuc2VhcmNoKC9lL2kpKT4wPygwPm4mJihuPWEpLG4rPSt0LnNsaWNlKGErMSksdD10LnN1YnN0cmluZygwLGEpKTowPm4mJihuPXQubGVuZ3RoKSxhPTA7NDg9PT10LmNoYXJDb2RlQXQoYSk7KSsrYTtmb3Iobz10Lmxlbmd0aDs0OD09PXQuY2hhckNvZGVBdChvLTEpOyktLW87aWYodD10LnNsaWNlKGEsbykpe2lmKG8tPWEsbj1uLWEtMSxlLmU9VChuL0QpLGUuZD1bXSxhPShuKzEpJUQsMD5uJiYoYSs9RCksbz5hKXtmb3IoYSYmZS5kLnB1c2goK3Quc2xpY2UoMCxhKSksby09RDtvPmE7KWUuZC5wdXNoKCt0LnNsaWNlKGEsYSs9RCkpO3Q9dC5zbGljZShhKSxhPUQtdC5sZW5ndGh9ZWxzZSBhLT1vO2Zvcig7YS0tOyl0Kz0iMCI7aWYoZS5kLnB1c2goK3QpLHgmJihlLmU+RXx8ZS5lPC1FKSl0aHJvdyBFcnJvcihBK24pfWVsc2UgZS5zPTAsZS5lPTAsZS5kPVswXTtyZXR1cm4gZX1mdW5jdGlvbiBnKGUsdCxuKXt2YXIgYSxvLHIsaSxzLGMsbCxkLHA9ZS5kO2ZvcihpPTEscj1wWzBdO3I+PTEwO3IvPTEwKWkrKztpZihhPXQtaSwwPmEpYSs9RCxvPXQsbD1wW2Q9MF07ZWxzZXtpZihkPU1hdGguY2VpbCgoYSsxKS9EKSxyPXAubGVuZ3RoLGQ+PXIpcmV0dXJuIGU7Zm9yKGw9cj1wW2RdLGk9MTtyPj0xMDtyLz0xMClpKys7YSU9RCxvPWEtRCtpfWlmKHZvaWQgMCE9PW4mJihyPVMoMTAsaS1vLTEpLHM9bC9yJTEwfDAsYz0wPnR8fHZvaWQgMCE9PXBbZCsxXXx8bCVyLGM9ND5uPyhzfHxjKSYmKDA9PW58fG49PShlLnM8MD8zOjIpKTpzPjV8fDU9PXMmJig0PT1ufHxjfHw2PT1uJiYoYT4wP28+MD9sL1MoMTAsaS1vKTowOnBbZC0xXSklMTAmMXx8bj09KGUuczwwPzg6NykpKSwxPnR8fCFwWzBdKXJldHVybiBjPyhyPXUoZSkscC5sZW5ndGg9MSx0PXQtci0xLHBbMF09UygxMCwoRC10JUQpJUQpLGUuZT1UKC10L0QpfHwwKToocC5sZW5ndGg9MSxwWzBdPWUuZT1lLnM9MCksZTtpZigwPT1hPyhwLmxlbmd0aD1kLHI9MSxkLS0pOihwLmxlbmd0aD1kKzEscj1TKDEwLEQtYSkscFtkXT1vPjA/KGwvUygxMCxpLW8pJVMoMTAsbyl8MCkqcjowKSxjKWZvcig7Oyl7aWYoMD09ZCl7KHBbMF0rPXIpPT1SJiYocFswXT0xLCsrZS5lKTticmVha31pZihwW2RdKz1yLHBbZF0hPVIpYnJlYWs7cFtkLS1dPTAscj0xfWZvcihhPXAubGVuZ3RoOzA9PT1wWy0tYV07KXAucG9wKCk7aWYoeCYmKGUuZT5FfHxlLmU8LUUpKXRocm93IEVycm9yKEErdShlKSk7cmV0dXJuIGV9ZnVuY3Rpb24gaChlLHQpe3ZhciBuLGEsbyxyLGkscyxjLGwsdSxkLHA9ZS5jb25zdHJ1Y3RvcixtPXAucHJlY2lzaW9uO2lmKCFlLnN8fCF0LnMpcmV0dXJuIHQucz90LnM9LXQuczp0PW5ldyBwKGUpLHg/Zyh0LG0pOnQ7aWYoYz1lLmQsZD10LmQsYT10LmUsbD1lLmUsYz1jLnNsaWNlKCksaT1sLWEpe2Zvcih1PTA+aSx1PyhuPWMsaT0taSxzPWQubGVuZ3RoKToobj1kLGE9bCxzPWMubGVuZ3RoKSxvPU1hdGgubWF4KE1hdGguY2VpbChtL0QpLHMpKzIsaT5vJiYoaT1vLG4ubGVuZ3RoPTEpLG4ucmV2ZXJzZSgpLG89aTtvLS07KW4ucHVzaCgwKTtuLnJldmVyc2UoKX1lbHNle2ZvcihvPWMubGVuZ3RoLHM9ZC5sZW5ndGgsdT1zPm8sdSYmKHM9byksbz0wO3M+bztvKyspaWYoY1tvXSE9ZFtvXSl7dT1jW29dPGRbb107YnJlYWt9aT0wfWZvcih1JiYobj1jLGM9ZCxkPW4sdC5zPS10LnMpLHM9Yy5sZW5ndGgsbz1kLmxlbmd0aC1zO28+MDstLW8pY1tzKytdPTA7Zm9yKG89ZC5sZW5ndGg7bz5pOyl7aWYoY1stLW9dPGRbb10pe2ZvcihyPW87ciYmMD09PWNbLS1yXTspY1tyXT1SLTE7LS1jW3JdLGNbb10rPVJ9Y1tvXS09ZFtvXX1mb3IoOzA9PT1jWy0tc107KWMucG9wKCk7Zm9yKDswPT09Y1swXTtjLnNoaWZ0KCkpLS1hO3JldHVybiBjWzBdPyh0LmQ9Yyx0LmU9YSx4P2codCxtKTp0KTpuZXcgcCgwKX1mdW5jdGlvbiBiKGUsdCxuKXt2YXIgYSxvPXUoZSkscj1jKGUuZCksaT1yLmxlbmd0aDtyZXR1cm4gdD8obiYmKGE9bi1pKT4wP3I9ci5jaGFyQXQoMCkrIi4iK3Iuc2xpY2UoMSkrcChhKTppPjEmJihyPXIuY2hhckF0KDApKyIuIityLnNsaWNlKDEpKSxyPXIrKDA+bz8iZSI6ImUrIikrbyk6MD5vPyhyPSIwLiIrcCgtby0xKStyLG4mJihhPW4taSk+MCYmKHIrPXAoYSkpKTpvPj1pPyhyKz1wKG8rMS1pKSxuJiYoYT1uLW8tMSk+MCYmKHI9cisiLiIrcChhKSkpOigoYT1vKzEpPGkmJihyPXIuc2xpY2UoMCxhKSsiLiIrci5zbGljZShhKSksbiYmKGE9bi1pKT4wJiYobysxPT09aSYmKHIrPSIuIikscis9cChhKSkpLGUuczwwPyItIityOnJ9ZnVuY3Rpb24geShlLHQpe3JldHVybiBlLmxlbmd0aD50PyhlLmxlbmd0aD10LCEwKTp2b2lkIDB9ZnVuY3Rpb24gdyhlKXtpZighZXx8Im9iamVjdCIhPW8oZSkpdGhyb3cgRXJyb3IoQysiT2JqZWN0IGV4cGVjdGVkIik7dmFyIHQsbixhLHI9WyJwcmVjaXNpb24iLDEsXywicm91bmRpbmciLDAsOCwidG9FeHBOZWciLC0xLzAsMCwidG9FeHBQb3MiLDAsMS8wXTtmb3IodD0wO3Q8ci5sZW5ndGg7dCs9MylpZih2b2lkIDAhPT0oYT1lW249clt0XV0pKXtpZighKFQoYSk9PT1hJiZhPj1yW3QrMV0mJmE8PXJbdCsyXSkpdGhyb3cgRXJyb3IoUCtuKyI6ICIrYSk7dGhpc1tuXT1hfWlmKHZvaWQgMCE9PShhPWVbbj0iTE4xMCJdKSl7aWYoYSE9TWF0aC5MTjEwKXRocm93IEVycm9yKFArbisiOiAiK2EpO3RoaXNbbl09bmV3IHRoaXMoYSl9cmV0dXJuIHRoaXN9dmFyIHYsXz0xZTksaz17cHJlY2lzaW9uOjIwLHJvdW5kaW5nOjQsdG9FeHBOZWc6LTcsdG9FeHBQb3M6MjEsTE4xMDoiMi4zMDI1ODUwOTI5OTQwNDU2ODQwMTc5OTE0NTQ2ODQzNjQyMDc2MDExMDE0ODg2Mjg3NzI5NzYwMzMzMjc5MDA5Njc1NzI2MDk2NzczNTI0ODAyMzU5OTcyMDUwODk1OTgyOTgzNDE5Njc3ODQwNDIyODYifSx4PSEwLEM9IltEZWNpbWFsRXJyb3JdICIsUD1DKyJJbnZhbGlkIGFyZ3VtZW50OiAiLEE9QysiRXhwb25lbnQgb3V0IG9mIHJhbmdlOiAiLFQ9TWF0aC5mbG9vcixTPU1hdGgucG93LEk9L14oXGQrKFwuXGQqKT98XC5cZCspKGVbKy1dP1xkKyk/JC9pLFI9MWU3LEQ9NyxPPTkwMDcxOTkyNTQ3NDA5OTEsRT1UKE8vRCksTD17fTtMLmFic29sdXRlVmFsdWU9TC5hYnM9ZnVuY3Rpb24oKXt2YXIgZT1uZXcgdGhpcy5jb25zdHJ1Y3Rvcih0aGlzKTtyZXR1cm4gZS5zJiYoZS5zPTEpLGV9LEwuY29tcGFyZWRUbz1MLmNtcD1mdW5jdGlvbihlKXt2YXIgdCxuLGEsbyxyPXRoaXM7aWYoZT1uZXcgci5jb25zdHJ1Y3RvcihlKSxyLnMhPT1lLnMpcmV0dXJuIHIuc3x8LWUucztpZihyLmUhPT1lLmUpcmV0dXJuIHIuZT5lLmVeci5zPDA/MTotMTtmb3IoYT1yLmQubGVuZ3RoLG89ZS5kLmxlbmd0aCx0PTAsbj1vPmE/YTpvO24+dDsrK3QpaWYoci5kW3RdIT09ZS5kW3RdKXJldHVybiByLmRbdF0+ZS5kW3RdXnIuczwwPzE6LTE7cmV0dXJuIGE9PT1vPzA6YT5vXnIuczwwPzE6LTF9LEwuZGVjaW1hbFBsYWNlcz1MLmRwPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcyx0PWUuZC5sZW5ndGgtMSxuPSh0LWUuZSkqRDtpZih0PWUuZFt0XSlmb3IoO3QlMTA9PTA7dC89MTApbi0tO3JldHVybiAwPm4/MDpufSxMLmRpdmlkZWRCeT1MLmRpdj1mdW5jdGlvbihlKXtyZXR1cm4gTih0aGlzLG5ldyB0aGlzLmNvbnN0cnVjdG9yKGUpKX0sTC5kaXZpZGVkVG9JbnRlZ2VyQnk9TC5pZGl2PWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuY29uc3RydWN0b3I7cmV0dXJuIGcoTih0aGlzLG5ldyB0KGUpLDAsMSksdC5wcmVjaXNpb24pfSxMLmVxdWFscz1MLmVxPWZ1bmN0aW9uKGUpe3JldHVybiF0aGlzLmNtcChlKX0sTC5leHBvbmVudD1mdW5jdGlvbigpe3JldHVybiB1KHRoaXMpfSxMLmdyZWF0ZXJUaGFuPUwuZ3Q9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuY21wKGUpPjB9LEwuZ3JlYXRlclRoYW5PckVxdWFsVG89TC5ndGU9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuY21wKGUpPj0wfSxMLmlzSW50ZWdlcj1MLmlzaW50PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZT50aGlzLmQubGVuZ3RoLTJ9LEwuaXNOZWdhdGl2ZT1MLmlzbmVnPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuczwwfSxMLmlzUG9zaXRpdmU9TC5pc3Bvcz1mdW5jdGlvbigpe3JldHVybiB0aGlzLnM+MH0sTC5pc1plcm89ZnVuY3Rpb24oKXtyZXR1cm4gMD09PXRoaXMuc30sTC5sZXNzVGhhbj1MLmx0PWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmNtcChlKTwwfSxMLmxlc3NUaGFuT3JFcXVhbFRvPUwubHRlPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmNtcChlKTwxfSxMLmxvZ2FyaXRobT1MLmxvZz1mdW5jdGlvbihlKXt2YXIgdCxuPXRoaXMsYT1uLmNvbnN0cnVjdG9yLG89YS5wcmVjaXNpb24scj1vKzU7aWYodm9pZCAwPT09ZSllPW5ldyBhKDEwKTtlbHNlIGlmKGU9bmV3IGEoZSksZS5zPDF8fGUuZXEodikpdGhyb3cgRXJyb3IoQysiTmFOIik7aWYobi5zPDEpdGhyb3cgRXJyb3IoQysobi5zPyJOYU4iOiItSW5maW5pdHkiKSk7cmV0dXJuIG4uZXEodik/bmV3IGEoMCk6KHg9ITEsdD1OKG0obixyKSxtKGUscikscikseD0hMCxnKHQsbykpfSxMLm1pbnVzPUwuc3ViPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7cmV0dXJuIGU9bmV3IHQuY29uc3RydWN0b3IoZSksdC5zPT1lLnM/aCh0LGUpOmkodCwoZS5zPS1lLnMsZSkpfSxMLm1vZHVsbz1MLm1vZD1mdW5jdGlvbihlKXt2YXIgdCxuPXRoaXMsYT1uLmNvbnN0cnVjdG9yLG89YS5wcmVjaXNpb247aWYoZT1uZXcgYShlKSwhZS5zKXRocm93IEVycm9yKEMrIk5hTiIpO3JldHVybiBuLnM/KHg9ITEsdD1OKG4sZSwwLDEpLnRpbWVzKGUpLHg9ITAsbi5taW51cyh0KSk6ZyhuZXcgYShuKSxvKX0sTC5uYXR1cmFsRXhwb25lbnRpYWw9TC5leHA9ZnVuY3Rpb24oKXtyZXR1cm4gbCh0aGlzKX0sTC5uYXR1cmFsTG9nYXJpdGhtPUwubG49ZnVuY3Rpb24oKXtyZXR1cm4gbSh0aGlzKX0sTC5uZWdhdGVkPUwubmVnPWZ1bmN0aW9uKCl7dmFyIGU9bmV3IHRoaXMuY29uc3RydWN0b3IodGhpcyk7cmV0dXJuIGUucz0tZS5zfHwwLGV9LEwucGx1cz1MLmFkZD1mdW5jdGlvbihlKXt2YXIgdD10aGlzO3JldHVybiBlPW5ldyB0LmNvbnN0cnVjdG9yKGUpLHQucz09ZS5zP2kodCxlKTpoKHQsKGUucz0tZS5zLGUpKX0sTC5wcmVjaXNpb249TC5zZD1mdW5jdGlvbihlKXt2YXIgdCxuLGEsbz10aGlzO2lmKHZvaWQgMCE9PWUmJmUhPT0hIWUmJjEhPT1lJiYwIT09ZSl0aHJvdyBFcnJvcihQK2UpO2lmKHQ9dShvKSsxLGE9by5kLmxlbmd0aC0xLG49YSpEKzEsYT1vLmRbYV0pe2Zvcig7YSUxMD09MDthLz0xMCluLS07Zm9yKGE9by5kWzBdO2E+PTEwO2EvPTEwKW4rK31yZXR1cm4gZSYmdD5uP3Q6bn0sTC5zcXVhcmVSb290PUwuc3FydD1mdW5jdGlvbigpe3ZhciBlLHQsbixhLG8scixpLHM9dGhpcyxsPXMuY29uc3RydWN0b3I7aWYocy5zPDEpe2lmKCFzLnMpcmV0dXJuIG5ldyBsKDApO3Rocm93IEVycm9yKEMrIk5hTiIpfWZvcihlPXUocykseD0hMSxvPU1hdGguc3FydCgrcyksMD09b3x8bz09MS8wPyh0PWMocy5kKSwodC5sZW5ndGgrZSklMj09MCYmKHQrPSIwIiksbz1NYXRoLnNxcnQodCksZT1UKChlKzEpLzIpLSgwPmV8fGUlMiksbz09MS8wP3Q9IjVlIitlOih0PW8udG9FeHBvbmVudGlhbCgpLHQ9dC5zbGljZSgwLHQuaW5kZXhPZigiZSIpKzEpK2UpLGE9bmV3IGwodCkpOmE9bmV3IGwoby50b1N0cmluZygpKSxuPWwucHJlY2lzaW9uLG89aT1uKzM7OylpZihyPWEsYT1yLnBsdXMoTihzLHIsaSsyKSkudGltZXMoLjUpLGMoci5kKS5zbGljZSgwLGkpPT09KHQ9YyhhLmQpKS5zbGljZSgwLGkpKXtpZih0PXQuc2xpY2UoaS0zLGkrMSksbz09aSYmIjQ5OTkiPT10KXtpZihnKHIsbisxLDApLHIudGltZXMocikuZXEocykpe2E9cjticmVha319ZWxzZSBpZigiOTk5OSIhPXQpYnJlYWs7aSs9NH1yZXR1cm4geD0hMCxnKGEsbil9LEwudGltZXM9TC5tdWw9ZnVuY3Rpb24oZSl7dmFyIHQsbixhLG8scixpLHMsYyxsLHU9dGhpcyxkPXUuY29uc3RydWN0b3IscD11LmQsbT0oZT1uZXcgZChlKSkuZDtpZighdS5zfHwhZS5zKXJldHVybiBuZXcgZCgwKTtmb3IoZS5zKj11LnMsbj11LmUrZS5lLGM9cC5sZW5ndGgsbD1tLmxlbmd0aCxsPmMmJihyPXAscD1tLG09cixpPWMsYz1sLGw9aSkscj1bXSxpPWMrbCxhPWk7YS0tOylyLnB1c2goMCk7Zm9yKGE9bDstLWE+PTA7KXtmb3IodD0wLG89YythO28+YTspcz1yW29dK21bYV0qcFtvLWEtMV0rdCxyW28tLV09cyVSfDAsdD1zL1J8MDtyW29dPShyW29dK3QpJVJ8MH1mb3IoOyFyWy0taV07KXIucG9wKCk7cmV0dXJuIHQ/KytuOnIuc2hpZnQoKSxlLmQ9cixlLmU9bix4P2coZSxkLnByZWNpc2lvbik6ZX0sTC50b0RlY2ltYWxQbGFjZXM9TC50b2RwPWZ1bmN0aW9uKGUsdCl7dmFyIG49dGhpcyxhPW4uY29uc3RydWN0b3I7cmV0dXJuIG49bmV3IGEobiksdm9pZCAwPT09ZT9uOihzKGUsMCxfKSx2b2lkIDA9PT10P3Q9YS5yb3VuZGluZzpzKHQsMCw4KSxnKG4sZSt1KG4pKzEsdCkpfSxMLnRvRXhwb25lbnRpYWw9ZnVuY3Rpb24oZSx0KXt2YXIgbixhPXRoaXMsbz1hLmNvbnN0cnVjdG9yO3JldHVybiB2b2lkIDA9PT1lP249YihhLCEwKToocyhlLDAsXyksdm9pZCAwPT09dD90PW8ucm91bmRpbmc6cyh0LDAsOCksYT1nKG5ldyBvKGEpLGUrMSx0KSxuPWIoYSwhMCxlKzEpKSxufSxMLnRvRml4ZWQ9ZnVuY3Rpb24oZSx0KXt2YXIgbixhLG89dGhpcyxyPW8uY29uc3RydWN0b3I7cmV0dXJuIHZvaWQgMD09PWU/YihvKToocyhlLDAsXyksdm9pZCAwPT09dD90PXIucm91bmRpbmc6cyh0LDAsOCksYT1nKG5ldyByKG8pLGUrdShvKSsxLHQpLG49YihhLmFicygpLCExLGUrdShhKSsxKSxvLmlzbmVnKCkmJiFvLmlzWmVybygpPyItIituOm4pfSxMLnRvSW50ZWdlcj1MLnRvaW50PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcyx0PWUuY29uc3RydWN0b3I7cmV0dXJuIGcobmV3IHQoZSksdShlKSsxLHQucm91bmRpbmcpfSxMLnRvTnVtYmVyPWZ1bmN0aW9uKCl7cmV0dXJuK3RoaXN9LEwudG9Qb3dlcj1MLnBvdz1mdW5jdGlvbihlKXt2YXIgdCxuLGEsbyxyLGkscz10aGlzLGM9cy5jb25zdHJ1Y3Rvcix1PSsoZT1uZXcgYyhlKSk7aWYoIWUucylyZXR1cm4gbmV3IGModik7aWYocz1uZXcgYyhzKSwhcy5zKXtpZihlLnM8MSl0aHJvdyBFcnJvcihDKyJJbmZpbml0eSIpO3JldHVybiBzfWlmKHMuZXEodikpcmV0dXJuIHM7aWYoYT1jLnByZWNpc2lvbixlLmVxKHYpKXJldHVybiBnKHMsYSk7aWYodD1lLmUsbj1lLmQubGVuZ3RoLTEsaT10Pj1uLHI9cy5zLGkpe2lmKChuPTA+dT8tdTp1KTw9Tyl7Zm9yKG89bmV3IGModiksdD1NYXRoLmNlaWwoYS9EKzQpLHg9ITE7biUyJiYobz1vLnRpbWVzKHMpLHkoby5kLHQpKSxuPVQobi8yKSwwIT09bjspcz1zLnRpbWVzKHMpLHkocy5kLHQpO3JldHVybiB4PSEwLGUuczwwP25ldyBjKHYpLmRpdihvKTpnKG8sYSl9fWVsc2UgaWYoMD5yKXRocm93IEVycm9yKEMrIk5hTiIpO3JldHVybiByPTA+ciYmMSZlLmRbTWF0aC5tYXgodCxuKV0/LTE6MSxzLnM9MSx4PSExLG89ZS50aW1lcyhtKHMsYSsxMikpLHg9ITAsbz1sKG8pLG8ucz1yLG99LEwudG9QcmVjaXNpb249ZnVuY3Rpb24oZSx0KXt2YXIgbixhLG89dGhpcyxyPW8uY29uc3RydWN0b3I7cmV0dXJuIHZvaWQgMD09PWU/KG49dShvKSxhPWIobyxuPD1yLnRvRXhwTmVnfHxuPj1yLnRvRXhwUG9zKSk6KHMoZSwxLF8pLHZvaWQgMD09PXQ/dD1yLnJvdW5kaW5nOnModCwwLDgpLG89ZyhuZXcgcihvKSxlLHQpLG49dShvKSxhPWIobyxuPj1lfHxuPD1yLnRvRXhwTmVnLGUpKSxhfSxMLnRvU2lnbmlmaWNhbnREaWdpdHM9TC50b3NkPWZ1bmN0aW9uKGUsdCl7dmFyIG49dGhpcy5jb25zdHJ1Y3RvcjtyZXR1cm4gdm9pZCAwPT09ZT8oZT1uLnByZWNpc2lvbix0PW4ucm91bmRpbmcpOihzKGUsMSxfKSx2b2lkIDA9PT10P3Q9bi5yb3VuZGluZzpzKHQsMCw4KSksZyhuZXcgbih0aGlzKSxlLHQpfSxMLnRvU3RyaW5nPUwudmFsdWVPZj1MLnZhbD1MLnRvSlNPTj1mdW5jdGlvbigpe3ZhciBlPXRoaXMsdD11KGUpLG49ZS5jb25zdHJ1Y3RvcjtyZXR1cm4gYihlLHQ8PW4udG9FeHBOZWd8fHQ+PW4udG9FeHBQb3MpfTt2YXIgTj1mdW5jdGlvbigpe2Z1bmN0aW9uIGUoZSx0KXt2YXIgbixhPTAsbz1lLmxlbmd0aDtmb3IoZT1lLnNsaWNlKCk7by0tOyluPWVbb10qdCthLGVbb109biVSfDAsYT1uL1J8MDtyZXR1cm4gYSYmZS51bnNoaWZ0KGEpLGV9ZnVuY3Rpb24gdChlLHQsbixhKXt2YXIgbyxyO2lmKG4hPWEpcj1uPmE/MTotMTtlbHNlIGZvcihvPXI9MDtuPm87bysrKWlmKGVbb10hPXRbb10pe3I9ZVtvXT50W29dPzE6LTE7YnJlYWt9cmV0dXJuIHJ9ZnVuY3Rpb24gbihlLHQsbil7Zm9yKHZhciBhPTA7bi0tOyllW25dLT1hLGE9ZVtuXTx0W25dPzE6MCxlW25dPWEqUitlW25dLXRbbl07Zm9yKDshZVswXSYmZS5sZW5ndGg+MTspZS5zaGlmdCgpfXJldHVybiBmdW5jdGlvbihhLG8scixpKXt2YXIgcyxjLGwsZCxwLG0sZixoLGIseSx3LHYsXyxrLHgsUCxBLFQsUz1hLmNvbnN0cnVjdG9yLEk9YS5zPT1vLnM/MTotMSxPPWEuZCxFPW8uZDtpZighYS5zKXJldHVybiBuZXcgUyhhKTtpZighby5zKXRocm93IEVycm9yKEMrIkRpdmlzaW9uIGJ5IHplcm8iKTtmb3IoYz1hLmUtby5lLEE9RS5sZW5ndGgseD1PLmxlbmd0aCxmPW5ldyBTKEkpLGg9Zi5kPVtdLGw9MDtFW2xdPT0oT1tsXXx8MCk7KSsrbDtpZihFW2xdPihPW2xdfHwwKSYmLS1jLHY9bnVsbD09cj9yPVMucHJlY2lzaW9uOmk/cisodShhKS11KG8pKSsxOnIsMD52KXJldHVybiBuZXcgUygwKTtpZih2PXYvRCsyfDAsbD0wLDE9PUEpZm9yKGQ9MCxFPUVbMF0sdisrOyh4Pmx8fGQpJiZ2LS07bCsrKV89ZCpSKyhPW2xdfHwwKSxoW2xdPV8vRXwwLGQ9XyVFfDA7ZWxzZXtmb3IoZD1SLyhFWzBdKzEpfDAsZD4xJiYoRT1lKEUsZCksTz1lKE8sZCksQT1FLmxlbmd0aCx4PU8ubGVuZ3RoKSxrPUEsYj1PLnNsaWNlKDAsQSkseT1iLmxlbmd0aDtBPnk7KWJbeSsrXT0wO1Q9RS5zbGljZSgpLFQudW5zaGlmdCgwKSxQPUVbMF0sRVsxXT49Ui8yJiYrK1A7ZG97ZD0wLHM9dChFLGIsQSx5KSwwPnM/KHc9YlswXSxBIT15JiYodz13KlIrKGJbMV18fDApKSxkPXcvUHwwLGQ+MT8oZD49UiYmKGQ9Ui0xKSxwPWUoRSxkKSxtPXAubGVuZ3RoLHk9Yi5sZW5ndGgscz10KHAsYixtLHkpLDE9PXMmJihkLS0sbihwLG0+QT9UOkUsbSkpKTooMD09ZCYmKHM9ZD0xKSxwPUUuc2xpY2UoKSksbT1wLmxlbmd0aCx5Pm0mJnAudW5zaGlmdCgwKSxuKGIscCx5KSwtMT09cyYmKHk9Yi5sZW5ndGgscz10KEUsYixBLHkpLDE+cyYmKGQrKyxuKGIseT5BP1Q6RSx5KSkpLHk9Yi5sZW5ndGgpOjA9PT1zJiYoZCsrLGI9WzBdKSxoW2wrK109ZCxzJiZiWzBdP2JbeSsrXT1PW2tdfHwwOihiPVtPW2tdXSx5PTEpfXdoaWxlKChrKys8eHx8dm9pZCAwIT09YlswXSkmJnYtLSl9cmV0dXJuIGhbMF18fGguc2hpZnQoKSxmLmU9YyxnKGYsaT9yK3UoZikrMTpyKX19KCk7az1mdW5jdGlvbiBlKHQpe2Z1bmN0aW9uIG4oZSl7dmFyIHQ9dGhpcztpZighKHQgaW5zdGFuY2VvZiBuKSlyZXR1cm4gbmV3IG4oZSk7aWYodC5jb25zdHJ1Y3Rvcj1uLGUgaW5zdGFuY2VvZiBuKXJldHVybiB0LnM9ZS5zLHQuZT1lLmUsdm9pZCh0LmQ9KGU9ZS5kKT9lLnNsaWNlKCk6ZSk7aWYoIm51bWJlciI9PXR5cGVvZiBlKXtpZigwKmUhPT0wKXRocm93IEVycm9yKFArZSk7aWYoZT4wKXQucz0xO2Vsc2V7aWYoISgwPmUpKXJldHVybiB0LnM9MCx0LmU9MCx2b2lkKHQuZD1bMF0pO2U9LWUsdC5zPS0xfXJldHVybiBlPT09fn5lJiYxZTc+ZT8odC5lPTAsdm9pZCh0LmQ9W2VdKSk6Zih0LGUudG9TdHJpbmcoKSl9aWYoInN0cmluZyIhPXR5cGVvZiBlKXRocm93IEVycm9yKFArZSk7aWYoNDU9PT1lLmNoYXJDb2RlQXQoMCk/KGU9ZS5zbGljZSgxKSx0LnM9LTEpOnQucz0xLCFJLnRlc3QoZSkpdGhyb3cgRXJyb3IoUCtlKTtmKHQsZSl9dmFyIGEsbyxyO2lmKG4ucHJvdG90eXBlPUwsbi5ST1VORF9VUD0wLG4uUk9VTkRfRE9XTj0xLG4uUk9VTkRfQ0VJTD0yLG4uUk9VTkRfRkxPT1I9MyxuLlJPVU5EX0hBTEZfVVA9NCxuLlJPVU5EX0hBTEZfRE9XTj01LG4uUk9VTkRfSEFMRl9FVkVOPTYsbi5ST1VORF9IQUxGX0NFSUw9NyxuLlJPVU5EX0hBTEZfRkxPT1I9OCxuLmNsb25lPWUsbi5jb25maWc9bi5zZXQ9dyx2b2lkIDA9PT10JiYodD17fSksdClmb3Iocj1bInByZWNpc2lvbiIsInJvdW5kaW5nIiwidG9FeHBOZWciLCJ0b0V4cFBvcyIsIkxOMTAiXSxhPTA7YTxyLmxlbmd0aDspdC5oYXNPd25Qcm9wZXJ0eShvPXJbYSsrXSl8fCh0W29dPXRoaXNbb10pO3JldHVybiBuLmNvbmZpZyh0KSxufShrKSxrWyJkZWZhdWx0Il09ay5EZWNpbWFsPWssdj1uZXcgaygxKSxhPWZ1bmN0aW9uKCl7cmV0dXJuIGt9LmNhbGwodCxuLHQsZSksdm9pZCAwPT09YXx8KGUuZXhwb3J0cz1hKX0oKX0sIjJjMjIiOmZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQsImIiLChmdW5jdGlvbigpe3JldHVybiBhfSkpLG4uZCh0LCJjIiwoZnVuY3Rpb24oKXtyZXR1cm4gb30pKSxuLmQodCwiYSIsKGZ1bmN0aW9uKCl7fSkpO3ZhciBhPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy4kY3JlYXRlRWxlbWVudCx0PXRoaXMuX3NlbGYuX2N8fGU7cmV0dXJuIHQoIkFwcCIse2F0dHJzOntrZWVwQWxpdmVJbmNsdWRlOnRoaXMua2VlcEFsaXZlSW5jbHVkZX19KX0sbz1bXX0sIjJmODAiOmZ1bmN0aW9uKGUsdCxuKXtlLmV4cG9ydHM9bi5wKyJzdGF0aWMvaWNvbmZvbnQvaWNvbmZvbnQudHRmIn0sMzIyMDpmdW5jdGlvbihlLHQpe2UuZXhwb3J0cz0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDSUFBQUJBQ0FZQUFBQi9lNldUQUFBQUNYQklXWE1BQUFzVEFBQUxFd0VBbXB3WUFBQUdzMmxVV0hSWVRVdzZZMjl0TG1Ga2IySmxMbmh0Y0FBQUFBQUFQRDk0Y0dGamEyVjBJR0psWjJsdVBTTHZ1NzhpSUdsa1BTSlhOVTB3VFhCRFpXaHBTSHB5WlZONlRsUmplbXRqT1dRaVB6NGdQSGc2ZUcxd2JXVjBZU0I0Yld4dWN6cDRQU0poWkc5aVpUcHVjenB0WlhSaEx5SWdlRHA0YlhCMGF6MGlRV1J2WW1VZ1dFMVFJRU52Y21VZ05pNHdMV013TURZZ056a3VaR0ZpWVdOaVlpd2dNakF5TVM4d05DOHhOQzB3TURvek9UbzBOQ0FnSUNBZ0lDQWdJajRnUEhKa1pqcFNSRVlnZUcxc2JuTTZjbVJtUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMekF5THpJeUxYSmtaaTF6ZVc1MFlYZ3Ribk1qSWo0Z1BISmtaanBFWlhOamNtbHdkR2x2YmlCeVpHWTZZV0p2ZFhROUlpSWdlRzFzYm5NNmVHMXdQU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDNoaGNDOHhMakF2SWlCNGJXeHVjenBrWXowaWFIUjBjRG92TDNCMWNtd3ViM0puTDJSakwyVnNaVzFsYm5Sekx6RXVNUzhpSUhodGJHNXpPbkJvYjNSdmMyaHZjRDBpYUhSMGNEb3ZMMjV6TG1Ga2IySmxMbU52YlM5d2FHOTBiM05vYjNBdk1TNHdMeUlnZUcxc2JuTTZlRzF3VFUwOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOXRiUzhpSUhodGJHNXpPbk4wUlhaMFBTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM2hoY0M4eExqQXZjMVI1Y0dVdlVtVnpiM1Z5WTJWRmRtVnVkQ01pSUhodGNEcERjbVZoZEc5eVZHOXZiRDBpUVdSdlltVWdVR2h2ZEc5emFHOXdJREl4TGpBZ0tGZHBibVJ2ZDNNcElpQjRiWEE2UTNKbFlYUmxSR0YwWlQwaU1qQXlNUzB4TUMweE5WUXhOem94T0RvME1Tc3dPRG93TUNJZ2VHMXdPazF2WkdsbWVVUmhkR1U5SWpJd01qSXRNREl0TVRSVU1UQTZNalE2TXpFck1EZzZNREFpSUhodGNEcE5aWFJoWkdGMFlVUmhkR1U5SWpJd01qSXRNREl0TVRSVU1UQTZNalE2TXpFck1EZzZNREFpSUdSak9tWnZjbTFoZEQwaWFXMWhaMlV2Y0c1bklpQndhRzkwYjNOb2IzQTZRMjlzYjNKTmIyUmxQU0l6SWlCd2FHOTBiM05vYjNBNlNVTkRVSEp2Wm1sc1pUMGljMUpIUWlCSlJVTTJNVGsyTmkweUxqRWlJSGh0Y0UxTk9rbHVjM1JoYm1ObFNVUTlJbmh0Y0M1cGFXUTZNbU0zTVRZNVpqZ3RPRFJqT0MwME1XRTRMV0kyT1dVdE5qbGxZelF4TlRJeFlUZzFJaUI0YlhCTlRUcEViMk4xYldWdWRFbEVQU0o0YlhBdVpHbGtPalF3TURBeU1EUmtMV0kwTmprdFltVTBaaTFpWlRFd0xXVmlNREE1WVRGbVlUQXdNaUlnZUcxd1RVMDZUM0pwWjJsdVlXeEViMk4xYldWdWRFbEVQU0o0YlhBdVpHbGtPalF3TURBeU1EUmtMV0kwTmprdFltVTBaaTFpWlRFd0xXVmlNREE1WVRGbVlUQXdNaUkrSUR4NGJYQk5UVHBJYVhOMGIzSjVQaUE4Y21SbU9sTmxjVDRnUEhKa1pqcHNhU0J6ZEVWMmREcGhZM1JwYjI0OUltTnlaV0YwWldRaUlITjBSWFowT21sdWMzUmhibU5sU1VROUluaHRjQzVwYVdRNk5EQXdNREl3TkdRdFlqUTJPUzFpWlRSbUxXSmxNVEF0WldJd01EbGhNV1poTURBeUlpQnpkRVYyZERwM2FHVnVQU0l5TURJeExURXdMVEUxVkRFM09qRTRPalF4S3pBNE9qQXdJaUJ6ZEVWMmREcHpiMlowZDJGeVpVRm5aVzUwUFNKQlpHOWlaU0JRYUc5MGIzTm9iM0FnTWpFdU1DQW9WMmx1Wkc5M2N5a2lMejRnUEhKa1pqcHNhU0J6ZEVWMmREcGhZM1JwYjI0OUluTmhkbVZrSWlCemRFVjJkRHBwYm5OMFlXNWpaVWxFUFNKNGJYQXVhV2xrT2pOak1HVTJNek15TFdReE56Y3ROelUwTkMxaFl6Y3pMV1JpT1RjMlpHTTNOV1V3TWlJZ2MzUkZkblE2ZDJobGJqMGlNakF5TVMweE1DMHhOVlF4TnpveU1Eb3pNQ3N3T0Rvd01DSWdjM1JGZG5RNmMyOW1kSGRoY21WQloyVnVkRDBpUVdSdlltVWdVR2h2ZEc5emFHOXdJREl4TGpBZ0tGZHBibVJ2ZDNNcElpQnpkRVYyZERwamFHRnVaMlZrUFNJdklpOCtJRHh5WkdZNmJHa2djM1JGZG5RNllXTjBhVzl1UFNKellYWmxaQ0lnYzNSRmRuUTZhVzV6ZEdGdVkyVkpSRDBpZUcxd0xtbHBaRG95WXpjeE5qbG1PQzA0TkdNNExUUXhZVGd0WWpZNVpTMDJPV1ZqTkRFMU1qRmhPRFVpSUhOMFJYWjBPbmRvWlc0OUlqSXdNakl0TURJdE1UUlVNVEE2TWpRNk16RXJNRGc2TURBaUlITjBSWFowT25OdlpuUjNZWEpsUVdkbGJuUTlJa0ZrYjJKbElGQm9iM1J2YzJodmNDQXlNaTQwSUNoTllXTnBiblJ2YzJncElpQnpkRVYyZERwamFHRnVaMlZrUFNJdklpOCtJRHd2Y21SbU9sTmxjVDRnUEM5NGJYQk5UVHBJYVhOMGIzSjVQaUE4TDNKa1pqcEVaWE5qY21sd2RHbHZiajRnUEM5eVpHWTZVa1JHUGlBOEwzZzZlRzF3YldWMFlUNGdQRDk0Y0dGamEyVjBJR1Z1WkQwaWNpSS9QcWljQTQ0QUFBRVNTVVJCVkdpQjdaZGJEb1F3Q0VXcG1mMXZ5TVU1WDUwNGFDc2dMWmVrOTh2VUZJNEhIN0hzKzA3R0hJMzFZaW0yT1VNOG5YTUhjWThGUkhMRmFpdGFFRTBERlV6SzBWaHVRdkdlZEVaTWo2Um1yd1RrRFlTNFJwclJlTmdRMVVwaHhOUEdZODBXeUFpSWJtM28wWXkwMGV3QmEyU0dqZHRla0VabTJyajAzUGhDUUk0elNIZzJpclZSYzBBWmdjZ0M0WUVDTWYwME82ZDg2a0VvQm9HTkJpSXdJUFVlaVg3TmwvV3Q0VmtnUEF1RUIrWmJBMldFS05aS09ZUDhGaUlnT0Vob09NaE1LMys5WUkwUXpiRnk2UUZ0aEdpc2xkdmFQU01qWUpvMTRVZFQ0Mm1sV3l1TkVTSWZLNDgxcEViZXdJajJwaHBOamNXS2VFOUtJMFE2S3lxREZpT1NCdW94cGgxTlRlK0tUWS82RnhmaElyWWRzUVpiQUFBQUFFbEZUa1N1UW1DQyJ9LCIzMjhhIjpmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO24ucih0KTt2YXIgYT1uKCIzZjU2Iiksbz1uLm4oYSk7Zm9yKHZhciByIGluIGEpWyJkZWZhdWx0Il0uaW5kZXhPZihyKTwwJiZmdW5jdGlvbihlKXtuLmQodCxlLChmdW5jdGlvbigpe3JldHVybiBhW2VdfSkpfShyKTt0WyJkZWZhdWx0Il09by5hfSwzMzcwOmZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7bigiNmE1NCIpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LnNvcnQySWNvbj10LnNldFByZWNpc2lvbj10LnJldEltYWdlVXJsPXQucmVtb3ZlU3BhY2U9dC5udW1iZXJGb3JtYXQ9dm9pZCAwLG4oIjVjNDciKSxuKCJhMWMxIiksbigiMGMyNiIpLG4oIjY0YWEiKSxuKCJlOTY2Iik7dC5yZW1vdmVTcGFjZT1mdW5jdGlvbihlKXtyZXR1cm4gZS50cmltKCkucmVwbGFjZSgvXG4vZywiIikucmVwbGFjZSgvXG4vZywiIikucmVwbGFjZSgvXG4vZywiIikucmVwbGFjZSgvXHMvZywiIil9O3Quc29ydDJJY29uPWZ1bmN0aW9uKGUpe3N3aXRjaChlKXtjYXNlIm5vbmUiOnJldHVybiBuKCIzMjIwIik7Y2FzZSJ1cCI6cmV0dXJuIG4oIjdiMDkiKTtjYXNlImRvd24iOnJldHVybiBuKCIwZjMzIil9fTt0Lm51bWJlckZvcm1hdD1mdW5jdGlvbihlKXtyZXR1cm4gZT1OdW1iZXIoZSksZT4xZTY/TnVtYmVyKChlLzFlNikudG9GaXhlZCgxKSkrIk0iOmU+MWUzP051bWJlcigoZS8xZTMpLnRvRml4ZWQoMSkpKyJLIjpOdW1iZXIoZS50b0ZpeGVkKDQpKX07dC5yZXRJbWFnZVVybD1mdW5jdGlvbihlKXtMb2NhdGlvbi5ob3N0O3JldHVybiBlfTt0LnNldFByZWNpc2lvbj1mdW5jdGlvbihlKXt2YXIgdD1hcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXT9hcmd1bWVudHNbMV06MjtyZXR1cm4gZT1OdW1iZXIoZSksMD09PXQ/U3RyaW5nKHBhcnNlSW50KGUpKTplLnRvRml4ZWQodCl9fSwiM2FmNiI6ZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgYT1uKCI3MTBjIiksbz1uLm4oYSk7by5hfSwiM2Y1NiI6ZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtuKCI2YTU0IiksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuZGVmYXVsdD12b2lkIDA7dmFyIGE9e29uTGF1bmNoOmZ1bmN0aW9uKCl7dmFyIGU9dGhpczt0aGlzLnNob3coKSx0aGlzLiRyb3V0ZXIuYmVmb3JlRWFjaCgoZnVuY3Rpb24odCxuLGEpe2UuaGlkZShhKX0pKSx0aGlzLiRyb3V0ZXIuYWZ0ZXJFYWNoKChmdW5jdGlvbigpe3NldFRpbWVvdXQoZS5zaG93LDUwKX0pKX0sbWV0aG9kczp7aGlkZTpmdW5jdGlvbihlKXt2YXIgdD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJ1bmktcGFnZSIpLmNsYXNzTGlzdDt0LmFkZCgiYW5pbWF0aW9uLWJlZm9yZSIsImFuaW1hdGlvbi1sZWF2ZSIpLHQucmVtb3ZlKCJhbmltYXRpb24tc2hvdyIpLHNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7dC5yZW1vdmUoImFuaW1hdGlvbi1iZWZvcmUiLCJhbmltYXRpb24tbGVhdmUiKSxlJiZlKCl9KSwyMDApfSxzaG93OmZ1bmN0aW9uKCl7dmFyIGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigidW5pLXBhZ2UiKS5jbGFzc0xpc3Q7ZS5hZGQoImFuaW1hdGlvbi1iZWZvcmUiKSxzZXRUaW1lb3V0KChmdW5jdGlvbigpe2UuYWRkKCJhbmltYXRpb24tZW50ZXIiLCJhbmltYXRpb24tYWZ0ZXIiLCJhbmltYXRpb24tc2hvdyIpLHNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7ZS5yZW1vdmUoImFuaW1hdGlvbi1iZWZvcmUiLCJhbmltYXRpb24tYWZ0ZXIiLCJhbmltYXRpb24tZW50ZXIiKX0pLDIwMCl9KSwyMCl9fX07dC5kZWZhdWx0PWF9LDQ5ODU6ZnVuY3Rpb24oZSx0LG4pe3ZhciBhLG8scixpPW4oImJkYmIiKS5kZWZhdWx0O24oImJmMGYiKSxuKCJkNGI1IiksbigiNWVmMiIpLG4oImRjOGEiKSxuKCIyNzk3IiksbigiNDczZiIpLG4oIjhmNzEiKSxuKCIwYzI2IiksbigiNjRhYSIpLG4oImZkM2MiKSxuKCJjMjIzIiksbigiYWE5YyIpLG4oIjZhNTQiKSxuKCI1YzQ3IiksbigiMDUwNiIpLG4oImU5NjYiKSxuKCJmN2E1IiksbigiOTI2ZSIpLG4oImRkMmIiKSxuKCI0MTAwIiksbigiMjNmNCIpLG4oIjdkMmYiKSxuKCI5YzRlIiksbigiYWI4MCIpLG4oIjJjMTAiKSxuKCJhMWMxIiksbigiN2E3NiIpLG4oImM5YjUiKSxuKCJhMDNhIikscj1mdW5jdGlvbigpeyJ1c2Ugc3RyaWN0Ijt2YXIgZT1bInN0eWxlIiwiY3VycmVuY3kiLCJjdXJyZW5jeURpc3BsYXkiLCJ1c2VHcm91cGluZyIsIm1pbmltdW1JbnRlZ2VyRGlnaXRzIiwibWluaW11bUZyYWN0aW9uRGlnaXRzIiwibWF4aW11bUZyYWN0aW9uRGlnaXRzIiwibWluaW11bVNpZ25pZmljYW50RGlnaXRzIiwibWF4aW11bVNpZ25pZmljYW50RGlnaXRzIiwibG9jYWxlTWF0Y2hlciIsImZvcm1hdE1hdGNoZXIiLCJ1bml0Il07ZnVuY3Rpb24gdChlLHQpeyJ1bmRlZmluZWQiIT10eXBlb2YgY29uc29sZSYmKGNvbnNvbGUud2FybigiW3Z1ZS1pMThuXSAiK2UpLHQmJmNvbnNvbGUud2Fybih0LnN0YWNrKSl9dmFyIG49QXJyYXkuaXNBcnJheTtmdW5jdGlvbiBhKGUpe3JldHVybiBudWxsIT09ZSYmIm9iamVjdCI9PWkoZSl9ZnVuY3Rpb24gbyhlKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGV9dmFyIHI9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZztmdW5jdGlvbiBzKGUpe3JldHVybiJbb2JqZWN0IE9iamVjdF0iPT09ci5jYWxsKGUpfWZ1bmN0aW9uIGMoZSl7cmV0dXJuIG51bGw9PWV9ZnVuY3Rpb24gbCgpe2Zvcih2YXIgZT1bXSx0PWFyZ3VtZW50cy5sZW5ndGg7dC0tOyllW3RdPWFyZ3VtZW50c1t0XTt2YXIgbj1udWxsLG89bnVsbDtyZXR1cm4gMT09PWUubGVuZ3RoP2EoZVswXSl8fEFycmF5LmlzQXJyYXkoZVswXSk/bz1lWzBdOiJzdHJpbmciPT10eXBlb2YgZVswXSYmKG49ZVswXSk6Mj09PWUubGVuZ3RoJiYoInN0cmluZyI9PXR5cGVvZiBlWzBdJiYobj1lWzBdKSwoYShlWzFdKXx8QXJyYXkuaXNBcnJheShlWzFdKSkmJihvPWVbMV0pKSx7bG9jYWxlOm4scGFyYW1zOm99fWZ1bmN0aW9uIHUoZSl7cmV0dXJuIEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoZSkpfWZ1bmN0aW9uIGQoZSx0KXtyZXR1cm4hIX5lLmluZGV4T2YodCl9dmFyIHA9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtmdW5jdGlvbiBtKGUsdCl7cmV0dXJuIHAuY2FsbChlLHQpfWZ1bmN0aW9uIGYoZSl7Zm9yKHZhciB0PWFyZ3VtZW50cyxuPU9iamVjdChlKSxvPTE7bzxhcmd1bWVudHMubGVuZ3RoO28rKyl7dmFyIHI9dFtvXTtpZihudWxsIT1yKXt2YXIgaT12b2lkIDA7Zm9yKGkgaW4gciltKHIsaSkmJihhKHJbaV0pP25baV09ZihuW2ldLHJbaV0pOm5baV09cltpXSl9fXJldHVybiBufWZ1bmN0aW9uIGcoZSx0KXtpZihlPT09dClyZXR1cm4hMDt2YXIgbj1hKGUpLG89YSh0KTtpZighbnx8IW8pcmV0dXJuIW4mJiFvJiZTdHJpbmcoZSk9PT1TdHJpbmcodCk7dHJ5e3ZhciByPUFycmF5LmlzQXJyYXkoZSksaT1BcnJheS5pc0FycmF5KHQpO2lmKHImJmkpcmV0dXJuIGUubGVuZ3RoPT09dC5sZW5ndGgmJmUuZXZlcnkoKGZ1bmN0aW9uKGUsbil7cmV0dXJuIGcoZSx0W25dKX0pKTtpZihyfHxpKXJldHVybiExO3ZhciBzPU9iamVjdC5rZXlzKGUpLGM9T2JqZWN0LmtleXModCk7cmV0dXJuIHMubGVuZ3RoPT09Yy5sZW5ndGgmJnMuZXZlcnkoKGZ1bmN0aW9uKG4pe3JldHVybiBnKGVbbl0sdFtuXSl9KSl9Y2F0Y2goZSl7cmV0dXJuITF9fXZhciBoPXtiZWZvcmVDcmVhdGU6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLiRvcHRpb25zO2lmKGUuaTE4bj1lLmkxOG58fChlLl9faTE4bj97fTpudWxsKSxlLmkxOG4pe2lmKGUuaTE4biBpbnN0YW5jZW9mIFcpe2lmKGUuX19pMThuKXRyeXt2YXIgdD17fTtlLl9faTE4bi5mb3JFYWNoKChmdW5jdGlvbihlKXt0PWYodCxKU09OLnBhcnNlKGUpKX0pKSxPYmplY3Qua2V5cyh0KS5mb3JFYWNoKChmdW5jdGlvbihuKXtlLmkxOG4ubWVyZ2VMb2NhbGVNZXNzYWdlKG4sdFtuXSl9KSl9Y2F0Y2goZSl7fXRoaXMuX2kxOG49ZS5pMThuLHRoaXMuX2kxOG5XYXRjaGVyPXRoaXMuX2kxOG4ud2F0Y2hJMThuRGF0YSgpfWVsc2UgaWYocyhlLmkxOG4pKXt2YXIgbj10aGlzLiRyb290JiZ0aGlzLiRyb290LiRpMThuJiZ0aGlzLiRyb290LiRpMThuIGluc3RhbmNlb2YgVz90aGlzLiRyb290LiRpMThuOm51bGw7aWYobiYmKGUuaTE4bi5yb290PXRoaXMuJHJvb3QsZS5pMThuLmZvcm1hdHRlcj1uLmZvcm1hdHRlcixlLmkxOG4uZmFsbGJhY2tMb2NhbGU9bi5mYWxsYmFja0xvY2FsZSxlLmkxOG4uZm9ybWF0RmFsbGJhY2tNZXNzYWdlcz1uLmZvcm1hdEZhbGxiYWNrTWVzc2FnZXMsZS5pMThuLnNpbGVudFRyYW5zbGF0aW9uV2Fybj1uLnNpbGVudFRyYW5zbGF0aW9uV2FybixlLmkxOG4uc2lsZW50RmFsbGJhY2tXYXJuPW4uc2lsZW50RmFsbGJhY2tXYXJuLGUuaTE4bi5wbHVyYWxpemF0aW9uUnVsZXM9bi5wbHVyYWxpemF0aW9uUnVsZXMsZS5pMThuLnByZXNlcnZlRGlyZWN0aXZlQ29udGVudD1uLnByZXNlcnZlRGlyZWN0aXZlQ29udGVudCksZS5fX2kxOG4pdHJ5e3ZhciBhPXt9O2UuX19pMThuLmZvckVhY2goKGZ1bmN0aW9uKGUpe2E9ZihhLEpTT04ucGFyc2UoZSkpfSkpLGUuaTE4bi5tZXNzYWdlcz1hfWNhdGNoKGUpe312YXIgbz1lLmkxOG4uc2hhcmVkTWVzc2FnZXM7byYmcyhvKSYmKGUuaTE4bi5tZXNzYWdlcz1mKGUuaTE4bi5tZXNzYWdlcyxvKSksdGhpcy5faTE4bj1uZXcgVyhlLmkxOG4pLHRoaXMuX2kxOG5XYXRjaGVyPXRoaXMuX2kxOG4ud2F0Y2hJMThuRGF0YSgpLCh2b2lkIDA9PT1lLmkxOG4uc3luY3x8ZS5pMThuLnN5bmMpJiYodGhpcy5fbG9jYWxlV2F0Y2hlcj10aGlzLiRpMThuLndhdGNoTG9jYWxlKCkpLG4mJm4ub25Db21wb25lbnRJbnN0YW5jZUNyZWF0ZWQodGhpcy5faTE4bil9fWVsc2UgdGhpcy4kcm9vdCYmdGhpcy4kcm9vdC4kaTE4biYmdGhpcy4kcm9vdC4kaTE4biBpbnN0YW5jZW9mIFc/dGhpcy5faTE4bj10aGlzLiRyb290LiRpMThuOmUucGFyZW50JiZlLnBhcmVudC4kaTE4biYmZS5wYXJlbnQuJGkxOG4gaW5zdGFuY2VvZiBXJiYodGhpcy5faTE4bj1lLnBhcmVudC4kaTE4bil9LGJlZm9yZU1vdW50OmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy4kb3B0aW9ucztlLmkxOG49ZS5pMThufHwoZS5fX2kxOG4/e306bnVsbCksZS5pMThuPyhlLmkxOG4gaW5zdGFuY2VvZiBXfHxzKGUuaTE4bikpJiYodGhpcy5faTE4bi5zdWJzY3JpYmVEYXRhQ2hhbmdpbmcodGhpcyksdGhpcy5fc3Vic2NyaWJpbmc9ITApOih0aGlzLiRyb290JiZ0aGlzLiRyb290LiRpMThuJiZ0aGlzLiRyb290LiRpMThuIGluc3RhbmNlb2YgV3x8ZS5wYXJlbnQmJmUucGFyZW50LiRpMThuJiZlLnBhcmVudC4kaTE4biBpbnN0YW5jZW9mIFcpJiYodGhpcy5faTE4bi5zdWJzY3JpYmVEYXRhQ2hhbmdpbmcodGhpcyksdGhpcy5fc3Vic2NyaWJpbmc9ITApfSxiZWZvcmVEZXN0cm95OmZ1bmN0aW9uKCl7aWYodGhpcy5faTE4bil7dmFyIGU9dGhpczt0aGlzLiRuZXh0VGljaygoZnVuY3Rpb24oKXtlLl9zdWJzY3JpYmluZyYmKGUuX2kxOG4udW5zdWJzY3JpYmVEYXRhQ2hhbmdpbmcoZSksZGVsZXRlIGUuX3N1YnNjcmliaW5nKSxlLl9pMThuV2F0Y2hlciYmKGUuX2kxOG5XYXRjaGVyKCksZS5faTE4bi5kZXN0cm95Vk0oKSxkZWxldGUgZS5faTE4bldhdGNoZXIpLGUuX2xvY2FsZVdhdGNoZXImJihlLl9sb2NhbGVXYXRjaGVyKCksZGVsZXRlIGUuX2xvY2FsZVdhdGNoZXIpfSkpfX19LGI9e25hbWU6ImkxOG4iLGZ1bmN0aW9uYWw6ITAscHJvcHM6e3RhZzp7dHlwZTpbU3RyaW5nLEJvb2xlYW4sT2JqZWN0XSxkZWZhdWx0OiJzcGFuIn0scGF0aDp7dHlwZTpTdHJpbmcscmVxdWlyZWQ6ITB9LGxvY2FsZTp7dHlwZTpTdHJpbmd9LHBsYWNlczp7dHlwZTpbQXJyYXksT2JqZWN0XX19LHJlbmRlcjpmdW5jdGlvbihlLHQpe3ZhciBuPXQuZGF0YSxhPXQucGFyZW50LG89dC5wcm9wcyxyPXQuc2xvdHMsaT1hLiRpMThuO2lmKGkpe3ZhciBzPW8ucGF0aCxjPW8ubG9jYWxlLGw9by5wbGFjZXMsdT1yKCksZD1pLmkocyxjLGZ1bmN0aW9uKGUpe3ZhciB0O2Zvcih0IGluIGUpaWYoImRlZmF1bHQiIT09dClyZXR1cm4hMTtyZXR1cm4gQm9vbGVhbih0KX0odSl8fGw/ZnVuY3Rpb24oZSx0KXt2YXIgbj10P2Z1bmN0aW9uKGUpe3JldHVybiBBcnJheS5pc0FycmF5KGUpP2UucmVkdWNlKHcse30pOk9iamVjdC5hc3NpZ24oe30sZSl9KHQpOnt9O2lmKCFlKXJldHVybiBuO3ZhciBhPShlPWUuZmlsdGVyKChmdW5jdGlvbihlKXtyZXR1cm4gZS50YWd8fCIiIT09ZS50ZXh0LnRyaW0oKX0pKSkuZXZlcnkodik7cmV0dXJuIGUucmVkdWNlKGE/eTp3LG4pfSh1LmRlZmF1bHQsbCk6dSkscD1vLnRhZyYmITAhPT1vLnRhZ3x8ITE9PT1vLnRhZz9vLnRhZzoic3BhbiI7cmV0dXJuIHA/ZShwLG4sZCk6ZH19fTtmdW5jdGlvbiB5KGUsdCl7cmV0dXJuIHQuZGF0YSYmdC5kYXRhLmF0dHJzJiZ0LmRhdGEuYXR0cnMucGxhY2UmJihlW3QuZGF0YS5hdHRycy5wbGFjZV09dCksZX1mdW5jdGlvbiB3KGUsdCxuKXtyZXR1cm4gZVtuXT10LGV9ZnVuY3Rpb24gdihlKXtyZXR1cm4gQm9vbGVhbihlLmRhdGEmJmUuZGF0YS5hdHRycyYmZS5kYXRhLmF0dHJzLnBsYWNlKX12YXIgXyxrPXtuYW1lOiJpMThuLW4iLGZ1bmN0aW9uYWw6ITAscHJvcHM6e3RhZzp7dHlwZTpbU3RyaW5nLEJvb2xlYW4sT2JqZWN0XSxkZWZhdWx0OiJzcGFuIn0sdmFsdWU6e3R5cGU6TnVtYmVyLHJlcXVpcmVkOiEwfSxmb3JtYXQ6e3R5cGU6W1N0cmluZyxPYmplY3RdfSxsb2NhbGU6e3R5cGU6U3RyaW5nfX0scmVuZGVyOmZ1bmN0aW9uKHQsbil7dmFyIHI9bi5wcm9wcyxpPW4ucGFyZW50LHM9bi5kYXRhLGM9aS4kaTE4bjtpZighYylyZXR1cm4gbnVsbDt2YXIgbD1udWxsLHU9bnVsbDtvKHIuZm9ybWF0KT9sPXIuZm9ybWF0OmEoci5mb3JtYXQpJiYoci5mb3JtYXQua2V5JiYobD1yLmZvcm1hdC5rZXkpLHU9T2JqZWN0LmtleXMoci5mb3JtYXQpLnJlZHVjZSgoZnVuY3Rpb24odCxuKXt2YXIgYTtyZXR1cm4gZChlLG4pP09iamVjdC5hc3NpZ24oe30sdCwoKGE9e30pW25dPXIuZm9ybWF0W25dLGEpKTp0fSksbnVsbCkpO3ZhciBwPXIubG9jYWxlfHxjLmxvY2FsZSxtPWMuX250cChyLnZhbHVlLHAsbCx1KSxmPW0ubWFwKChmdW5jdGlvbihlLHQpe3ZhciBuLGE9cy5zY29wZWRTbG90cyYmcy5zY29wZWRTbG90c1tlLnR5cGVdO3JldHVybiBhP2EoKChuPXt9KVtlLnR5cGVdPWUudmFsdWUsbi5pbmRleD10LG4ucGFydHM9bSxuKSk6ZS52YWx1ZX0pKSxnPXIudGFnJiYhMCE9PXIudGFnfHwhMT09PXIudGFnP3IudGFnOiJzcGFuIjtyZXR1cm4gZz90KGcse2F0dHJzOnMuYXR0cnMsY2xhc3M6cy5jbGFzcyxzdGF0aWNDbGFzczpzLnN0YXRpY0NsYXNzfSxmKTpmfX07ZnVuY3Rpb24geChlLHQsbil7QShlLG4pJiZUKGUsdCxuKX1mdW5jdGlvbiBDKGUsdCxuLGEpe2lmKEEoZSxuKSl7dmFyIG89bi5jb250ZXh0LiRpMThuOyhmdW5jdGlvbihlLHQpe3ZhciBuPXQuY29udGV4dDtyZXR1cm4gZS5fbG9jYWxlPT09bi4kaTE4bi5sb2NhbGV9KShlLG4pJiZnKHQudmFsdWUsdC5vbGRWYWx1ZSkmJmcoZS5fbG9jYWxlTWVzc2FnZSxvLmdldExvY2FsZU1lc3NhZ2Uoby5sb2NhbGUpKXx8VChlLHQsbil9fWZ1bmN0aW9uIFAoZSxuLGEsbyl7aWYoYS5jb250ZXh0KXt2YXIgcj1hLmNvbnRleHQuJGkxOG58fHt9O24ubW9kaWZpZXJzLnByZXNlcnZlfHxyLnByZXNlcnZlRGlyZWN0aXZlQ29udGVudHx8KGUudGV4dENvbnRlbnQ9IiIpLGUuX3Z0PXZvaWQgMCxkZWxldGUgZS5fdnQsZS5fbG9jYWxlPXZvaWQgMCxkZWxldGUgZS5fbG9jYWxlLGUuX2xvY2FsZU1lc3NhZ2U9dm9pZCAwLGRlbGV0ZSBlLl9sb2NhbGVNZXNzYWdlfWVsc2UgdCgiVnVlIGluc3RhbmNlIGRvZXMgbm90IGV4aXN0cyBpbiBWTm9kZSBjb250ZXh0Iil9ZnVuY3Rpb24gQShlLG4pe3ZhciBhPW4uY29udGV4dDtyZXR1cm4gYT8hIWEuJGkxOG58fCh0KCJWdWVJMThuIGluc3RhbmNlIGRvZXMgbm90IGV4aXN0cyBpbiBWdWUgaW5zdGFuY2UiKSwhMSk6KHQoIlZ1ZSBpbnN0YW5jZSBkb2VzIG5vdCBleGlzdHMgaW4gVk5vZGUgY29udGV4dCIpLCExKX1mdW5jdGlvbiBUKGUsbixhKXt2YXIgcixpLGM9ZnVuY3Rpb24oZSl7dmFyIHQsbixhLHI7cmV0dXJuIG8oZSk/dD1lOnMoZSkmJih0PWUucGF0aCxuPWUubG9jYWxlLGE9ZS5hcmdzLHI9ZS5jaG9pY2UpLHtwYXRoOnQsbG9jYWxlOm4sYXJnczphLGNob2ljZTpyfX0obi52YWx1ZSksbD1jLnBhdGgsdT1jLmxvY2FsZSxkPWMuYXJncyxwPWMuY2hvaWNlO2lmKGx8fHV8fGQpaWYobCl7dmFyIG09YS5jb250ZXh0O2UuX3Z0PWUudGV4dENvbnRlbnQ9bnVsbCE9cD8ocj1tLiRpMThuKS50Yy5hcHBseShyLFtsLHBdLmNvbmNhdChTKHUsZCkpKTooaT1tLiRpMThuKS50LmFwcGx5KGksW2xdLmNvbmNhdChTKHUsZCkpKSxlLl9sb2NhbGU9bS4kaTE4bi5sb2NhbGUsZS5fbG9jYWxlTWVzc2FnZT1tLiRpMThuLmdldExvY2FsZU1lc3NhZ2UobS4kaTE4bi5sb2NhbGUpfWVsc2UgdCgiYHBhdGhgIGlzIHJlcXVpcmVkIGluIHYtdCBkaXJlY3RpdmUiKTtlbHNlIHQoInZhbHVlIHR5cGUgbm90IHN1cHBvcnRlZCIpfWZ1bmN0aW9uIFMoZSx0KXt2YXIgbj1bXTtyZXR1cm4gZSYmbi5wdXNoKGUpLHQmJihBcnJheS5pc0FycmF5KHQpfHxzKHQpKSYmbi5wdXNoKHQpLG59ZnVuY3Rpb24gSShlKXtJLmluc3RhbGxlZD0hMCwoXz1lKS52ZXJzaW9uJiZOdW1iZXIoXy52ZXJzaW9uLnNwbGl0KCIuIilbMF0pLGZ1bmN0aW9uKGUpe2UucHJvdG90eXBlLmhhc093blByb3BlcnR5KCIkaTE4biIpfHxPYmplY3QuZGVmaW5lUHJvcGVydHkoZS5wcm90b3R5cGUsIiRpMThuIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2kxOG59fSksZS5wcm90b3R5cGUuJHQ9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PVtdLG49YXJndW1lbnRzLmxlbmd0aC0xO24tLSA+MDspdFtuXT1hcmd1bWVudHNbbisxXTt2YXIgYT10aGlzLiRpMThuO3JldHVybiBhLl90LmFwcGx5KGEsW2UsYS5sb2NhbGUsYS5fZ2V0TWVzc2FnZXMoKSx0aGlzXS5jb25jYXQodCkpfSxlLnByb3RvdHlwZS4kdGM9ZnVuY3Rpb24oZSx0KXtmb3IodmFyIG49W10sYT1hcmd1bWVudHMubGVuZ3RoLTI7YS0tID4wOyluW2FdPWFyZ3VtZW50c1thKzJdO3ZhciBvPXRoaXMuJGkxOG47cmV0dXJuIG8uX3RjLmFwcGx5KG8sW2Usby5sb2NhbGUsby5fZ2V0TWVzc2FnZXMoKSx0aGlzLHRdLmNvbmNhdChuKSl9LGUucHJvdG90eXBlLiR0ZT1mdW5jdGlvbihlLHQpe3ZhciBuPXRoaXMuJGkxOG47cmV0dXJuIG4uX3RlKGUsbi5sb2NhbGUsbi5fZ2V0TWVzc2FnZXMoKSx0KX0sZS5wcm90b3R5cGUuJGQ9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0LG49W10sYT1hcmd1bWVudHMubGVuZ3RoLTE7YS0tID4wOyluW2FdPWFyZ3VtZW50c1thKzFdO3JldHVybih0PXRoaXMuJGkxOG4pLmQuYXBwbHkodCxbZV0uY29uY2F0KG4pKX0sZS5wcm90b3R5cGUuJG49ZnVuY3Rpb24oZSl7Zm9yKHZhciB0LG49W10sYT1hcmd1bWVudHMubGVuZ3RoLTE7YS0tID4wOyluW2FdPWFyZ3VtZW50c1thKzFdO3JldHVybih0PXRoaXMuJGkxOG4pLm4uYXBwbHkodCxbZV0uY29uY2F0KG4pKX19KF8pLF8ubWl4aW4oaCksXy5kaXJlY3RpdmUoInQiLHtiaW5kOngsdXBkYXRlOkMsdW5iaW5kOlB9KSxfLmNvbXBvbmVudChiLm5hbWUsYiksXy5jb21wb25lbnQoay5uYW1lLGspLF8uY29uZmlnLm9wdGlvbk1lcmdlU3RyYXRlZ2llcy5pMThuPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHZvaWQgMD09PXQ/ZTp0fX12YXIgUj1mdW5jdGlvbigpe3RoaXMuX2NhY2hlcz1PYmplY3QuY3JlYXRlKG51bGwpfTtSLnByb3RvdHlwZS5pbnRlcnBvbGF0ZT1mdW5jdGlvbihlLHQpe2lmKCF0KXJldHVybltlXTt2YXIgbj10aGlzLl9jYWNoZXNbZV07cmV0dXJuIG58fChuPWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1bXSxuPTAsYT0iIjtuPGUubGVuZ3RoOyl7dmFyIG89ZVtuKytdO2lmKCJ7Ij09PW8pe2EmJnQucHVzaCh7dHlwZToidGV4dCIsdmFsdWU6YX0pLGE9IiI7dmFyIHI9IiI7Zm9yKG89ZVtuKytdO3ZvaWQgMCE9PW8mJiJ9IiE9PW87KXIrPW8sbz1lW24rK107dmFyIGk9In0iPT09byxzPUQudGVzdChyKT8ibGlzdCI6aSYmTy50ZXN0KHIpPyJuYW1lZCI6InVua25vd24iO3QucHVzaCh7dmFsdWU6cix0eXBlOnN9KX1lbHNlIiUiPT09bz8ieyIhPT1lW25dJiYoYSs9byk6YSs9b31yZXR1cm4gYSYmdC5wdXNoKHt0eXBlOiJ0ZXh0Iix2YWx1ZTphfSksdH0oZSksdGhpcy5fY2FjaGVzW2VdPW4pLGZ1bmN0aW9uKGUsdCl7dmFyIG49W10sbz0wLHI9QXJyYXkuaXNBcnJheSh0KT8ibGlzdCI6YSh0KT8ibmFtZWQiOiJ1bmtub3duIjtpZigidW5rbm93biI9PT1yKXJldHVybiBuO2Zvcig7bzxlLmxlbmd0aDspe3ZhciBpPWVbb107c3dpdGNoKGkudHlwZSl7Y2FzZSJ0ZXh0IjpuLnB1c2goaS52YWx1ZSk7YnJlYWs7Y2FzZSJsaXN0IjpuLnB1c2godFtwYXJzZUludChpLnZhbHVlLDEwKV0pO2JyZWFrO2Nhc2UibmFtZWQiOiJuYW1lZCI9PT1yJiZuLnB1c2godFtpLnZhbHVlXSl9bysrfXJldHVybiBufShuLHQpfTt2YXIgRD0vXig/OlxkKSsvLE89L14oPzpcdykrLyxFPVtdO0VbMF09e3dzOlswXSxpZGVudDpbMywwXSwiWyI6WzRdLGVvZjpbN119LEVbMV09e3dzOlsxXSwiLiI6WzJdLCJbIjpbNF0sZW9mOls3XX0sRVsyXT17d3M6WzJdLGlkZW50OlszLDBdLDA6WzMsMF0sbnVtYmVyOlszLDBdfSxFWzNdPXtpZGVudDpbMywwXSwwOlszLDBdLG51bWJlcjpbMywwXSx3czpbMSwxXSwiLiI6WzIsMV0sIlsiOls0LDFdLGVvZjpbNywxXX0sRVs0XT17IiciOls1LDBdLCciJzpbNiwwXSwiWyI6WzQsMl0sIl0iOlsxLDNdLGVvZjo4LGVsc2U6WzQsMF19LEVbNV09eyInIjpbNCwwXSxlb2Y6OCxlbHNlOls1LDBdfSxFWzZdPXsnIic6WzQsMF0sZW9mOjgsZWxzZTpbNiwwXX07dmFyIEw9L15ccz8oPzp0cnVlfGZhbHNlfC0/W1xkLl0rfCdbXiddKid8IlteIl0qIilccz8kLztmdW5jdGlvbiBOKGUpe2lmKG51bGw9PWUpcmV0dXJuImVvZiI7c3dpdGNoKGUuY2hhckNvZGVBdCgwKSl7Y2FzZSA5MTpjYXNlIDkzOmNhc2UgNDY6Y2FzZSAzNDpjYXNlIDM5OnJldHVybiBlO2Nhc2UgOTU6Y2FzZSAzNjpjYXNlIDQ1OnJldHVybiJpZGVudCI7Y2FzZSA5OmNhc2UgMTA6Y2FzZSAxMzpjYXNlIDE2MDpjYXNlIDY1Mjc5OmNhc2UgODIzMjpjYXNlIDgyMzM6cmV0dXJuIndzIn1yZXR1cm4iaWRlbnQifXZhciBqPWZ1bmN0aW9uKCl7dGhpcy5fY2FjaGU9T2JqZWN0LmNyZWF0ZShudWxsKX07ai5wcm90b3R5cGUucGFyc2VQYXRoPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuX2NhY2hlW2VdO3JldHVybiB0fHwodD1mdW5jdGlvbihlKXt2YXIgdCxuLGEsbyxyLGkscyxjPVtdLGw9LTEsdT0wLGQ9MCxwPVtdO2Z1bmN0aW9uIG0oKXt2YXIgdD1lW2wrMV07aWYoNT09PXUmJiInIj09PXR8fDY9PT11JiYnIic9PT10KXJldHVybiBsKyssYT0iXFwiK3QscFswXSgpLCEwfWZvcihwWzFdPWZ1bmN0aW9uKCl7dm9pZCAwIT09biYmKGMucHVzaChuKSxuPXZvaWQgMCl9LHBbMF09ZnVuY3Rpb24oKXt2b2lkIDA9PT1uP249YTpuKz1hfSxwWzJdPWZ1bmN0aW9uKCl7cFswXSgpLGQrK30scFszXT1mdW5jdGlvbigpe2lmKGQ+MClkLS0sdT00LHBbMF0oKTtlbHNle2lmKGQ9MCx2b2lkIDA9PT1uKXJldHVybiExO2lmKCExPT09KG49ZnVuY3Rpb24oZSl7dmFyIHQsbixhLG89ZS50cmltKCk7cmV0dXJuKCIwIiE9PWUuY2hhckF0KDApfHwhaXNOYU4oZSkpJiYoYT1vLEwudGVzdChhKT8obj0odD1vKS5jaGFyQ29kZUF0KDApKSE9PXQuY2hhckNvZGVBdCh0Lmxlbmd0aC0xKXx8MzQhPT1uJiYzOSE9PW4/dDp0LnNsaWNlKDEsLTEpOiIqIitvKX0obikpKXJldHVybiExO3BbMV0oKX19O251bGwhPT11OylpZigiXFwiIT09KHQ9ZVsrK2xdKXx8IW0oKSl7aWYobz1OKHQpLDg9PT0ocj0ocz1FW3VdKVtvXXx8cy5lbHNlfHw4KSlyZXR1cm47aWYodT1yWzBdLChpPXBbclsxXV0pJiYoYT12b2lkIDA9PT0oYT1yWzJdKT90OmEsITE9PT1pKCkpKXJldHVybjtpZig3PT09dSlyZXR1cm4gY319KGUpKSYmKHRoaXMuX2NhY2hlW2VdPXQpLHR8fFtdfSxqLnByb3RvdHlwZS5nZXRQYXRoVmFsdWU9ZnVuY3Rpb24oZSx0KXtpZighYShlKSlyZXR1cm4gbnVsbDt2YXIgbj10aGlzLnBhcnNlUGF0aCh0KTtpZigwPT09bi5sZW5ndGgpcmV0dXJuIG51bGw7Zm9yKHZhciBvPW4ubGVuZ3RoLHI9ZSxpPTA7aTxvOyl7dmFyIHM9cltuW2ldXTtpZih2b2lkIDA9PT1zKXJldHVybiBudWxsO3I9cyxpKyt9cmV0dXJuIHJ9O3ZhciB6LE09LzxcLz9bXHdccz0iLy4nOjsjLVwvXSs+LyxCPS8oPzpAKD86XC5bYS16XSspPzooPzpbXHdcLV98Ll0rfFwoW1x3XC1ffC5dK1wpKSkvZyxZPS9eQCg/OlwuKFthLXpdKykpPzovLFU9L1soKV0vZyxYPXt1cHBlcjpmdW5jdGlvbihlKXtyZXR1cm4gZS50b0xvY2FsZVVwcGVyQ2FzZSgpfSxsb3dlcjpmdW5jdGlvbihlKXtyZXR1cm4gZS50b0xvY2FsZUxvd2VyQ2FzZSgpfSxjYXBpdGFsaXplOmZ1bmN0aW9uKGUpe3JldHVybiIiK2UuY2hhckF0KDApLnRvTG9jYWxlVXBwZXJDYXNlKCkrZS5zdWJzdHIoMSl9fSxGPW5ldyBSLFc9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpczt2b2lkIDA9PT1lJiYoZT17fSksIV8mJiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiZ3aW5kb3cuVnVlJiZJKHdpbmRvdy5WdWUpO3ZhciBuPWUubG9jYWxlfHwiZW4tVVMiLGE9ITEhPT1lLmZhbGxiYWNrTG9jYWxlJiYoZS5mYWxsYmFja0xvY2FsZXx8ImVuLVVTIiksbz1lLm1lc3NhZ2VzfHx7fSxyPWUuZGF0ZVRpbWVGb3JtYXRzfHx7fSxpPWUubnVtYmVyRm9ybWF0c3x8e307dGhpcy5fdm09bnVsbCx0aGlzLl9mb3JtYXR0ZXI9ZS5mb3JtYXR0ZXJ8fEYsdGhpcy5fbW9kaWZpZXJzPWUubW9kaWZpZXJzfHx7fSx0aGlzLl9taXNzaW5nPWUubWlzc2luZ3x8bnVsbCx0aGlzLl9yb290PWUucm9vdHx8bnVsbCx0aGlzLl9zeW5jPXZvaWQgMD09PWUuc3luY3x8ISFlLnN5bmMsdGhpcy5fZmFsbGJhY2tSb290PXZvaWQgMD09PWUuZmFsbGJhY2tSb290fHwhIWUuZmFsbGJhY2tSb290LHRoaXMuX2Zvcm1hdEZhbGxiYWNrTWVzc2FnZXM9dm9pZCAwIT09ZS5mb3JtYXRGYWxsYmFja01lc3NhZ2VzJiYhIWUuZm9ybWF0RmFsbGJhY2tNZXNzYWdlcyx0aGlzLl9zaWxlbnRUcmFuc2xhdGlvbldhcm49dm9pZCAwIT09ZS5zaWxlbnRUcmFuc2xhdGlvbldhcm4mJmUuc2lsZW50VHJhbnNsYXRpb25XYXJuLHRoaXMuX3NpbGVudEZhbGxiYWNrV2Fybj12b2lkIDAhPT1lLnNpbGVudEZhbGxiYWNrV2FybiYmISFlLnNpbGVudEZhbGxiYWNrV2Fybix0aGlzLl9kYXRlVGltZUZvcm1hdHRlcnM9e30sdGhpcy5fbnVtYmVyRm9ybWF0dGVycz17fSx0aGlzLl9wYXRoPW5ldyBqLHRoaXMuX2RhdGFMaXN0ZW5lcnM9W10sdGhpcy5fY29tcG9uZW50SW5zdGFuY2VDcmVhdGVkTGlzdGVuZXI9ZS5jb21wb25lbnRJbnN0YW5jZUNyZWF0ZWRMaXN0ZW5lcnx8bnVsbCx0aGlzLl9wcmVzZXJ2ZURpcmVjdGl2ZUNvbnRlbnQ9dm9pZCAwIT09ZS5wcmVzZXJ2ZURpcmVjdGl2ZUNvbnRlbnQmJiEhZS5wcmVzZXJ2ZURpcmVjdGl2ZUNvbnRlbnQsdGhpcy5wbHVyYWxpemF0aW9uUnVsZXM9ZS5wbHVyYWxpemF0aW9uUnVsZXN8fHt9LHRoaXMuX3dhcm5IdG1sSW5NZXNzYWdlPWUud2Fybkh0bWxJbk1lc3NhZ2V8fCJvZmYiLHRoaXMuX3Bvc3RUcmFuc2xhdGlvbj1lLnBvc3RUcmFuc2xhdGlvbnx8bnVsbCx0aGlzLmdldENob2ljZUluZGV4PWZ1bmN0aW9uKGUsbil7dmFyIGEsbyxyPU9iamVjdC5nZXRQcm90b3R5cGVPZih0KTtyZXR1cm4gciYmci5nZXRDaG9pY2VJbmRleD9yLmdldENob2ljZUluZGV4LmNhbGwodCxlLG4pOnQubG9jYWxlIGluIHQucGx1cmFsaXphdGlvblJ1bGVzP3QucGx1cmFsaXphdGlvblJ1bGVzW3QubG9jYWxlXS5hcHBseSh0LFtlLG5dKTooYT1lLG89bixhPU1hdGguYWJzKGEpLDI9PT1vP2E/YT4xPzE6MDoxOmE/TWF0aC5taW4oYSwyKTowKX0sdGhpcy5fZXhpc3Q9ZnVuY3Rpb24oZSxuKXtyZXR1cm4hKCFlfHwhbikmJighYyh0Ll9wYXRoLmdldFBhdGhWYWx1ZShlLG4pKXx8ISFlW25dKX0sIndhcm4iIT09dGhpcy5fd2Fybkh0bWxJbk1lc3NhZ2UmJiJlcnJvciIhPT10aGlzLl93YXJuSHRtbEluTWVzc2FnZXx8T2JqZWN0LmtleXMobykuZm9yRWFjaCgoZnVuY3Rpb24oZSl7dC5fY2hlY2tMb2NhbGVNZXNzYWdlKGUsdC5fd2Fybkh0bWxJbk1lc3NhZ2Usb1tlXSl9KSksdGhpcy5faW5pdFZNKHtsb2NhbGU6bixmYWxsYmFja0xvY2FsZTphLG1lc3NhZ2VzOm8sZGF0ZVRpbWVGb3JtYXRzOnIsbnVtYmVyRm9ybWF0czppfSl9LFY9e3ZtOntjb25maWd1cmFibGU6ITB9LG1lc3NhZ2VzOntjb25maWd1cmFibGU6ITB9LGRhdGVUaW1lRm9ybWF0czp7Y29uZmlndXJhYmxlOiEwfSxudW1iZXJGb3JtYXRzOntjb25maWd1cmFibGU6ITB9LGF2YWlsYWJsZUxvY2FsZXM6e2NvbmZpZ3VyYWJsZTohMH0sbG9jYWxlOntjb25maWd1cmFibGU6ITB9LGZhbGxiYWNrTG9jYWxlOntjb25maWd1cmFibGU6ITB9LGZvcm1hdEZhbGxiYWNrTWVzc2FnZXM6e2NvbmZpZ3VyYWJsZTohMH0sbWlzc2luZzp7Y29uZmlndXJhYmxlOiEwfSxmb3JtYXR0ZXI6e2NvbmZpZ3VyYWJsZTohMH0sc2lsZW50VHJhbnNsYXRpb25XYXJuOntjb25maWd1cmFibGU6ITB9LHNpbGVudEZhbGxiYWNrV2Fybjp7Y29uZmlndXJhYmxlOiEwfSxwcmVzZXJ2ZURpcmVjdGl2ZUNvbnRlbnQ6e2NvbmZpZ3VyYWJsZTohMH0sd2Fybkh0bWxJbk1lc3NhZ2U6e2NvbmZpZ3VyYWJsZTohMH0scG9zdFRyYW5zbGF0aW9uOntjb25maWd1cmFibGU6ITB9fTtyZXR1cm4gVy5wcm90b3R5cGUuX2NoZWNrTG9jYWxlTWVzc2FnZT1mdW5jdGlvbihlLG4sYSl7KGZ1bmN0aW9uIGUobixhLHIsaSl7aWYocyhyKSlPYmplY3Qua2V5cyhyKS5mb3JFYWNoKChmdW5jdGlvbih0KXt2YXIgbz1yW3RdO3Mobyk/KGkucHVzaCh0KSxpLnB1c2goIi4iKSxlKG4sYSxvLGkpLGkucG9wKCksaS5wb3AoKSk6KGkucHVzaCh0KSxlKG4sYSxvLGkpLGkucG9wKCkpfSkpO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShyKSlyLmZvckVhY2goKGZ1bmN0aW9uKHQsbyl7cyh0KT8oaS5wdXNoKCJbIitvKyJdIiksaS5wdXNoKCIuIiksZShuLGEsdCxpKSxpLnBvcCgpLGkucG9wKCkpOihpLnB1c2goIlsiK28rIl0iKSxlKG4sYSx0LGkpLGkucG9wKCkpfSkpO2Vsc2UgaWYobyhyKSYmTS50ZXN0KHIpKXt2YXIgYz0iRGV0ZWN0ZWQgSFRNTCBpbiBtZXNzYWdlICciK3IrIicgb2Yga2V5cGF0aCAnIitpLmpvaW4oIiIpKyInIGF0ICciK2ErIicuIENvbnNpZGVyIGNvbXBvbmVudCBpbnRlcnBvbGF0aW9uIHdpdGggJzxpMThuPicgdG8gYXZvaWQgWFNTLiBTZWUgaHR0cHM6Ly9iaXQubHkvMlpxSnprcCI7Indhcm4iPT09bj90KGMpOiJlcnJvciI9PT1uJiZmdW5jdGlvbihlLHQpeyJ1bmRlZmluZWQiIT10eXBlb2YgY29uc29sZSYmY29uc29sZS5lcnJvcigiW3Z1ZS1pMThuXSAiK2UpfShjKX19KShuLGUsYSxbXSl9LFcucHJvdG90eXBlLl9pbml0Vk09ZnVuY3Rpb24oZSl7dmFyIHQ9Xy5jb25maWcuc2lsZW50O18uY29uZmlnLnNpbGVudD0hMCx0aGlzLl92bT1uZXcgXyh7ZGF0YTplfSksXy5jb25maWcuc2lsZW50PXR9LFcucHJvdG90eXBlLmRlc3Ryb3lWTT1mdW5jdGlvbigpe3RoaXMuX3ZtLiRkZXN0cm95KCl9LFcucHJvdG90eXBlLnN1YnNjcmliZURhdGFDaGFuZ2luZz1mdW5jdGlvbihlKXt0aGlzLl9kYXRhTGlzdGVuZXJzLnB1c2goZSl9LFcucHJvdG90eXBlLnVuc3Vic2NyaWJlRGF0YUNoYW5naW5nPWZ1bmN0aW9uKGUpeyFmdW5jdGlvbihlLHQpe2lmKGUubGVuZ3RoKXt2YXIgbj1lLmluZGV4T2YodCk7bj4tMSYmZS5zcGxpY2UobiwxKX19KHRoaXMuX2RhdGFMaXN0ZW5lcnMsZSl9LFcucHJvdG90eXBlLndhdGNoSTE4bkRhdGE9ZnVuY3Rpb24oKXt2YXIgZT10aGlzO3JldHVybiB0aGlzLl92bS4kd2F0Y2goIiRkYXRhIiwoZnVuY3Rpb24oKXtmb3IodmFyIHQ9ZS5fZGF0YUxpc3RlbmVycy5sZW5ndGg7dC0tOylfLm5leHRUaWNrKChmdW5jdGlvbigpe2UuX2RhdGFMaXN0ZW5lcnNbdF0mJmUuX2RhdGFMaXN0ZW5lcnNbdF0uJGZvcmNlVXBkYXRlKCl9KSl9KSx7ZGVlcDohMH0pfSxXLnByb3RvdHlwZS53YXRjaExvY2FsZT1mdW5jdGlvbigpe2lmKCF0aGlzLl9zeW5jfHwhdGhpcy5fcm9vdClyZXR1cm4gbnVsbDt2YXIgZT10aGlzLl92bTtyZXR1cm4gdGhpcy5fcm9vdC4kaTE4bi52bS4kd2F0Y2goImxvY2FsZSIsKGZ1bmN0aW9uKHQpe2UuJHNldChlLCJsb2NhbGUiLHQpLGUuJGZvcmNlVXBkYXRlKCl9KSx7aW1tZWRpYXRlOiEwfSl9LFcucHJvdG90eXBlLm9uQ29tcG9uZW50SW5zdGFuY2VDcmVhdGVkPWZ1bmN0aW9uKGUpe3RoaXMuX2NvbXBvbmVudEluc3RhbmNlQ3JlYXRlZExpc3RlbmVyJiZ0aGlzLl9jb21wb25lbnRJbnN0YW5jZUNyZWF0ZWRMaXN0ZW5lcihlLHRoaXMpfSxWLnZtLmdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl92bX0sVi5tZXNzYWdlcy5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdSh0aGlzLl9nZXRNZXNzYWdlcygpKX0sVi5kYXRlVGltZUZvcm1hdHMuZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHUodGhpcy5fZ2V0RGF0ZVRpbWVGb3JtYXRzKCkpfSxWLm51bWJlckZvcm1hdHMuZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHUodGhpcy5fZ2V0TnVtYmVyRm9ybWF0cygpKX0sVi5hdmFpbGFibGVMb2NhbGVzLmdldD1mdW5jdGlvbigpe3JldHVybiBPYmplY3Qua2V5cyh0aGlzLm1lc3NhZ2VzKS5zb3J0KCl9LFYubG9jYWxlLmdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl92bS5sb2NhbGV9LFYubG9jYWxlLnNldD1mdW5jdGlvbihlKXt0aGlzLl92bS4kc2V0KHRoaXMuX3ZtLCJsb2NhbGUiLGUpfSxWLmZhbGxiYWNrTG9jYWxlLmdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl92bS5mYWxsYmFja0xvY2FsZX0sVi5mYWxsYmFja0xvY2FsZS5zZXQ9ZnVuY3Rpb24oZSl7dGhpcy5fbG9jYWxlQ2hhaW5DYWNoZT17fSx0aGlzLl92bS4kc2V0KHRoaXMuX3ZtLCJmYWxsYmFja0xvY2FsZSIsZSl9LFYuZm9ybWF0RmFsbGJhY2tNZXNzYWdlcy5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZm9ybWF0RmFsbGJhY2tNZXNzYWdlc30sVi5mb3JtYXRGYWxsYmFja01lc3NhZ2VzLnNldD1mdW5jdGlvbihlKXt0aGlzLl9mb3JtYXRGYWxsYmFja01lc3NhZ2VzPWV9LFYubWlzc2luZy5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fbWlzc2luZ30sVi5taXNzaW5nLnNldD1mdW5jdGlvbihlKXt0aGlzLl9taXNzaW5nPWV9LFYuZm9ybWF0dGVyLmdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9mb3JtYXR0ZXJ9LFYuZm9ybWF0dGVyLnNldD1mdW5jdGlvbihlKXt0aGlzLl9mb3JtYXR0ZXI9ZX0sVi5zaWxlbnRUcmFuc2xhdGlvbldhcm4uZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3NpbGVudFRyYW5zbGF0aW9uV2Fybn0sVi5zaWxlbnRUcmFuc2xhdGlvbldhcm4uc2V0PWZ1bmN0aW9uKGUpe3RoaXMuX3NpbGVudFRyYW5zbGF0aW9uV2Fybj1lfSxWLnNpbGVudEZhbGxiYWNrV2Fybi5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc2lsZW50RmFsbGJhY2tXYXJufSxWLnNpbGVudEZhbGxiYWNrV2Fybi5zZXQ9ZnVuY3Rpb24oZSl7dGhpcy5fc2lsZW50RmFsbGJhY2tXYXJuPWV9LFYucHJlc2VydmVEaXJlY3RpdmVDb250ZW50LmdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9wcmVzZXJ2ZURpcmVjdGl2ZUNvbnRlbnR9LFYucHJlc2VydmVEaXJlY3RpdmVDb250ZW50LnNldD1mdW5jdGlvbihlKXt0aGlzLl9wcmVzZXJ2ZURpcmVjdGl2ZUNvbnRlbnQ9ZX0sVi53YXJuSHRtbEluTWVzc2FnZS5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fd2Fybkh0bWxJbk1lc3NhZ2V9LFYud2Fybkh0bWxJbk1lc3NhZ2Uuc2V0PWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMsbj10aGlzLl93YXJuSHRtbEluTWVzc2FnZTtpZih0aGlzLl93YXJuSHRtbEluTWVzc2FnZT1lLG4hPT1lJiYoIndhcm4iPT09ZXx8ImVycm9yIj09PWUpKXt2YXIgYT10aGlzLl9nZXRNZXNzYWdlcygpO09iamVjdC5rZXlzKGEpLmZvckVhY2goKGZ1bmN0aW9uKGUpe3QuX2NoZWNrTG9jYWxlTWVzc2FnZShlLHQuX3dhcm5IdG1sSW5NZXNzYWdlLGFbZV0pfSkpfX0sVi5wb3N0VHJhbnNsYXRpb24uZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3Bvc3RUcmFuc2xhdGlvbn0sVi5wb3N0VHJhbnNsYXRpb24uc2V0PWZ1bmN0aW9uKGUpe3RoaXMuX3Bvc3RUcmFuc2xhdGlvbj1lfSxXLnByb3RvdHlwZS5fZ2V0TWVzc2FnZXM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fdm0ubWVzc2FnZXN9LFcucHJvdG90eXBlLl9nZXREYXRlVGltZUZvcm1hdHM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fdm0uZGF0ZVRpbWVGb3JtYXRzfSxXLnByb3RvdHlwZS5fZ2V0TnVtYmVyRm9ybWF0cz1mdW5jdGlvbigpe3JldHVybiB0aGlzLl92bS5udW1iZXJGb3JtYXRzfSxXLnByb3RvdHlwZS5fd2FybkRlZmF1bHQ9ZnVuY3Rpb24oZSx0LG4sYSxyLGkpe2lmKCFjKG4pKXJldHVybiBuO2lmKHRoaXMuX21pc3Npbmcpe3ZhciBzPXRoaXMuX21pc3NpbmcuYXBwbHkobnVsbCxbZSx0LGEscl0pO2lmKG8ocykpcmV0dXJuIHN9aWYodGhpcy5fZm9ybWF0RmFsbGJhY2tNZXNzYWdlcyl7dmFyIHU9bC5hcHBseSh2b2lkIDAscik7cmV0dXJuIHRoaXMuX3JlbmRlcih0LGksdS5wYXJhbXMsdCl9cmV0dXJuIHR9LFcucHJvdG90eXBlLl9pc0ZhbGxiYWNrUm9vdD1mdW5jdGlvbihlKXtyZXR1cm4hZSYmIWModGhpcy5fcm9vdCkmJnRoaXMuX2ZhbGxiYWNrUm9vdH0sVy5wcm90b3R5cGUuX2lzU2lsZW50RmFsbGJhY2tXYXJuPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLl9zaWxlbnRGYWxsYmFja1dhcm4gaW5zdGFuY2VvZiBSZWdFeHA/dGhpcy5fc2lsZW50RmFsbGJhY2tXYXJuLnRlc3QoZSk6dGhpcy5fc2lsZW50RmFsbGJhY2tXYXJufSxXLnByb3RvdHlwZS5faXNTaWxlbnRGYWxsYmFjaz1mdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLl9pc1NpbGVudEZhbGxiYWNrV2Fybih0KSYmKHRoaXMuX2lzRmFsbGJhY2tSb290KCl8fGUhPT10aGlzLmZhbGxiYWNrTG9jYWxlKX0sVy5wcm90b3R5cGUuX2lzU2lsZW50VHJhbnNsYXRpb25XYXJuPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLl9zaWxlbnRUcmFuc2xhdGlvbldhcm4gaW5zdGFuY2VvZiBSZWdFeHA/dGhpcy5fc2lsZW50VHJhbnNsYXRpb25XYXJuLnRlc3QoZSk6dGhpcy5fc2lsZW50VHJhbnNsYXRpb25XYXJufSxXLnByb3RvdHlwZS5faW50ZXJwb2xhdGU9ZnVuY3Rpb24oZSx0LG4sYSxyLGksbCl7aWYoIXQpcmV0dXJuIG51bGw7dmFyIHUsZD10aGlzLl9wYXRoLmdldFBhdGhWYWx1ZSh0LG4pO2lmKEFycmF5LmlzQXJyYXkoZCl8fHMoZCkpcmV0dXJuIGQ7aWYoYyhkKSl7aWYoIXModCkpcmV0dXJuIG51bGw7aWYoIW8odT10W25dKSlyZXR1cm4gbnVsbH1lbHNle2lmKCFvKGQpKXJldHVybiBudWxsO3U9ZH1yZXR1cm4odS5pbmRleE9mKCJAOiIpPj0wfHx1LmluZGV4T2YoIkAuIik+PTApJiYodT10aGlzLl9saW5rKGUsdCx1LGEsInJhdyIsaSxsKSksdGhpcy5fcmVuZGVyKHUscixpLG4pfSxXLnByb3RvdHlwZS5fbGluaz1mdW5jdGlvbihlLHQsbixhLG8scixpKXt2YXIgcz1uLGM9cy5tYXRjaChCKTtmb3IodmFyIGwgaW4gYylpZihjLmhhc093blByb3BlcnR5KGwpKXt2YXIgdT1jW2xdLHA9dS5tYXRjaChZKSxtPXBbMF0sZj1wWzFdLGc9dS5yZXBsYWNlKG0sIiIpLnJlcGxhY2UoVSwiIik7aWYoZChpLGcpKXJldHVybiBzO2kucHVzaChnKTt2YXIgaD10aGlzLl9pbnRlcnBvbGF0ZShlLHQsZyxhLCJyYXciPT09bz8ic3RyaW5nIjpvLCJyYXciPT09bz92b2lkIDA6cixpKTtpZih0aGlzLl9pc0ZhbGxiYWNrUm9vdChoKSl7aWYoIXRoaXMuX3Jvb3QpdGhyb3cgRXJyb3IoInVuZXhwZWN0ZWQgZXJyb3IiKTt2YXIgYj10aGlzLl9yb290LiRpMThuO2g9Yi5fdHJhbnNsYXRlKGIuX2dldE1lc3NhZ2VzKCksYi5sb2NhbGUsYi5mYWxsYmFja0xvY2FsZSxnLGEsbyxyKX1oPXRoaXMuX3dhcm5EZWZhdWx0KGUsZyxoLGEsQXJyYXkuaXNBcnJheShyKT9yOltyXSxvKSx0aGlzLl9tb2RpZmllcnMuaGFzT3duUHJvcGVydHkoZik/aD10aGlzLl9tb2RpZmllcnNbZl0oaCk6WC5oYXNPd25Qcm9wZXJ0eShmKSYmKGg9WFtmXShoKSksaS5wb3AoKSxzPWg/cy5yZXBsYWNlKHUsaCk6c31yZXR1cm4gc30sVy5wcm90b3R5cGUuX3JlbmRlcj1mdW5jdGlvbihlLHQsbixhKXt2YXIgcj10aGlzLl9mb3JtYXR0ZXIuaW50ZXJwb2xhdGUoZSxuLGEpO3JldHVybiByfHwocj1GLmludGVycG9sYXRlKGUsbixhKSksInN0cmluZyIhPT10fHxvKHIpP3I6ci5qb2luKCIiKX0sVy5wcm90b3R5cGUuX2FwcGVuZEl0ZW1Ub0NoYWluPWZ1bmN0aW9uKGUsdCxuKXt2YXIgYT0hMTtyZXR1cm4gZChlLHQpfHwoYT0hMCx0JiYoYT0iISIhPT10W3QubGVuZ3RoLTFdLHQ9dC5yZXBsYWNlKC8hL2csIiIpLGUucHVzaCh0KSxuJiZuW3RdJiYoYT1uW3RdKSkpLGF9LFcucHJvdG90eXBlLl9hcHBlbmRMb2NhbGVUb0NoYWluPWZ1bmN0aW9uKGUsdCxuKXt2YXIgYSxvPXQuc3BsaXQoIi0iKTtkb3t2YXIgcj1vLmpvaW4oIi0iKTthPXRoaXMuX2FwcGVuZEl0ZW1Ub0NoYWluKGUscixuKSxvLnNwbGljZSgtMSwxKX13aGlsZShvLmxlbmd0aCYmITA9PT1hKTtyZXR1cm4gYX0sVy5wcm90b3R5cGUuX2FwcGVuZEJsb2NrVG9DaGFpbj1mdW5jdGlvbihlLHQsbil7Zm9yKHZhciBhPSEwLHI9MDtyPHQubGVuZ3RoJiYiYm9vbGVhbiI9PXR5cGVvZiBhO3IrKyl7dmFyIGk9dFtyXTtvKGkpJiYoYT10aGlzLl9hcHBlbmRMb2NhbGVUb0NoYWluKGUsaSxuKSl9cmV0dXJuIGF9LFcucHJvdG90eXBlLl9nZXRMb2NhbGVDaGFpbj1mdW5jdGlvbihlLHQpe2lmKCIiPT09ZSlyZXR1cm5bXTt0aGlzLl9sb2NhbGVDaGFpbkNhY2hlfHwodGhpcy5fbG9jYWxlQ2hhaW5DYWNoZT17fSk7dmFyIHI9dGhpcy5fbG9jYWxlQ2hhaW5DYWNoZVtlXTtpZighcil7dHx8KHQ9dGhpcy5mYWxsYmFja0xvY2FsZSkscj1bXTtmb3IodmFyIGkscz1bZV07bihzKTspcz10aGlzLl9hcHBlbmRCbG9ja1RvQ2hhaW4ocixzLHQpOyhzPW8oaT1uKHQpP3Q6YSh0KT90LmRlZmF1bHQ/dC5kZWZhdWx0Om51bGw6dCk/W2ldOmkpJiZ0aGlzLl9hcHBlbmRCbG9ja1RvQ2hhaW4ocixzLG51bGwpLHRoaXMuX2xvY2FsZUNoYWluQ2FjaGVbZV09cn1yZXR1cm4gcn0sVy5wcm90b3R5cGUuX3RyYW5zbGF0ZT1mdW5jdGlvbihlLHQsbixhLG8scixpKXtmb3IodmFyIHMsbD10aGlzLl9nZXRMb2NhbGVDaGFpbih0LG4pLHU9MDt1PGwubGVuZ3RoO3UrKyl7dmFyIGQ9bFt1XTtpZighYyhzPXRoaXMuX2ludGVycG9sYXRlKGQsZVtkXSxhLG8scixpLFthXSkpKXJldHVybiBzfXJldHVybiBudWxsfSxXLnByb3RvdHlwZS5fdD1mdW5jdGlvbihlLHQsbixhKXtmb3IodmFyIG8scj1bXSxpPWFyZ3VtZW50cy5sZW5ndGgtNDtpLS0gPjA7KXJbaV09YXJndW1lbnRzW2krNF07aWYoIWUpcmV0dXJuIiI7dmFyIHM9bC5hcHBseSh2b2lkIDAsciksYz1zLmxvY2FsZXx8dCx1PXRoaXMuX3RyYW5zbGF0ZShuLGMsdGhpcy5mYWxsYmFja0xvY2FsZSxlLGEsInN0cmluZyIscy5wYXJhbXMpO2lmKHRoaXMuX2lzRmFsbGJhY2tSb290KHUpKXtpZighdGhpcy5fcm9vdCl0aHJvdyBFcnJvcigidW5leHBlY3RlZCBlcnJvciIpO3JldHVybihvPXRoaXMuX3Jvb3QpLiR0LmFwcGx5KG8sW2VdLmNvbmNhdChyKSl9cmV0dXJuIHU9dGhpcy5fd2FybkRlZmF1bHQoYyxlLHUsYSxyLCJzdHJpbmciKSx0aGlzLl9wb3N0VHJhbnNsYXRpb24mJm51bGwhPXUmJih1PXRoaXMuX3Bvc3RUcmFuc2xhdGlvbih1LGUpKSx1fSxXLnByb3RvdHlwZS50PWZ1bmN0aW9uKGUpe2Zvcih2YXIgdCxuPVtdLGE9YXJndW1lbnRzLmxlbmd0aC0xO2EtLSA+MDspblthXT1hcmd1bWVudHNbYSsxXTtyZXR1cm4odD10aGlzKS5fdC5hcHBseSh0LFtlLHRoaXMubG9jYWxlLHRoaXMuX2dldE1lc3NhZ2VzKCksbnVsbF0uY29uY2F0KG4pKX0sVy5wcm90b3R5cGUuX2k9ZnVuY3Rpb24oZSx0LG4sYSxvKXt2YXIgcj10aGlzLl90cmFuc2xhdGUobix0LHRoaXMuZmFsbGJhY2tMb2NhbGUsZSxhLCJyYXciLG8pO2lmKHRoaXMuX2lzRmFsbGJhY2tSb290KHIpKXtpZighdGhpcy5fcm9vdCl0aHJvdyBFcnJvcigidW5leHBlY3RlZCBlcnJvciIpO3JldHVybiB0aGlzLl9yb290LiRpMThuLmkoZSx0LG8pfXJldHVybiB0aGlzLl93YXJuRGVmYXVsdCh0LGUscixhLFtvXSwicmF3Iil9LFcucHJvdG90eXBlLmk9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBlPyhvKHQpfHwodD10aGlzLmxvY2FsZSksdGhpcy5faShlLHQsdGhpcy5fZ2V0TWVzc2FnZXMoKSxudWxsLG4pKToiIn0sVy5wcm90b3R5cGUuX3RjPWZ1bmN0aW9uKGUsdCxuLGEsbyl7Zm9yKHZhciByLGk9W10scz1hcmd1bWVudHMubGVuZ3RoLTU7cy0tID4wOylpW3NdPWFyZ3VtZW50c1tzKzVdO2lmKCFlKXJldHVybiIiO3ZvaWQgMD09PW8mJihvPTEpO3ZhciBjPXtjb3VudDpvLG46b30sdT1sLmFwcGx5KHZvaWQgMCxpKTtyZXR1cm4gdS5wYXJhbXM9T2JqZWN0LmFzc2lnbihjLHUucGFyYW1zKSxpPW51bGw9PT11LmxvY2FsZT9bdS5wYXJhbXNdOlt1LmxvY2FsZSx1LnBhcmFtc10sdGhpcy5mZXRjaENob2ljZSgocj10aGlzKS5fdC5hcHBseShyLFtlLHQsbixhXS5jb25jYXQoaSkpLG8pfSxXLnByb3RvdHlwZS5mZXRjaENob2ljZT1mdW5jdGlvbihlLHQpe2lmKCFlJiYhbyhlKSlyZXR1cm4gbnVsbDt2YXIgbj1lLnNwbGl0KCJ8Iik7cmV0dXJuIG5bdD10aGlzLmdldENob2ljZUluZGV4KHQsbi5sZW5ndGgpXT9uW3RdLnRyaW0oKTplfSxXLnByb3RvdHlwZS50Yz1mdW5jdGlvbihlLHQpe2Zvcih2YXIgbixhPVtdLG89YXJndW1lbnRzLmxlbmd0aC0yO28tLSA+MDspYVtvXT1hcmd1bWVudHNbbysyXTtyZXR1cm4obj10aGlzKS5fdGMuYXBwbHkobixbZSx0aGlzLmxvY2FsZSx0aGlzLl9nZXRNZXNzYWdlcygpLG51bGwsdF0uY29uY2F0KGEpKX0sVy5wcm90b3R5cGUuX3RlPWZ1bmN0aW9uKGUsdCxuKXtmb3IodmFyIGE9W10sbz1hcmd1bWVudHMubGVuZ3RoLTM7by0tID4wOylhW29dPWFyZ3VtZW50c1tvKzNdO3ZhciByPWwuYXBwbHkodm9pZCAwLGEpLmxvY2FsZXx8dDtyZXR1cm4gdGhpcy5fZXhpc3QobltyXSxlKX0sVy5wcm90b3R5cGUudGU9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5fdGUoZSx0aGlzLmxvY2FsZSx0aGlzLl9nZXRNZXNzYWdlcygpLHQpfSxXLnByb3RvdHlwZS5nZXRMb2NhbGVNZXNzYWdlPWZ1bmN0aW9uKGUpe3JldHVybiB1KHRoaXMuX3ZtLm1lc3NhZ2VzW2VdfHx7fSl9LFcucHJvdG90eXBlLnNldExvY2FsZU1lc3NhZ2U9ZnVuY3Rpb24oZSx0KXsid2FybiIhPT10aGlzLl93YXJuSHRtbEluTWVzc2FnZSYmImVycm9yIiE9PXRoaXMuX3dhcm5IdG1sSW5NZXNzYWdlfHx0aGlzLl9jaGVja0xvY2FsZU1lc3NhZ2UoZSx0aGlzLl93YXJuSHRtbEluTWVzc2FnZSx0KSx0aGlzLl92bS4kc2V0KHRoaXMuX3ZtLm1lc3NhZ2VzLGUsdCl9LFcucHJvdG90eXBlLm1lcmdlTG9jYWxlTWVzc2FnZT1mdW5jdGlvbihlLHQpeyJ3YXJuIiE9PXRoaXMuX3dhcm5IdG1sSW5NZXNzYWdlJiYiZXJyb3IiIT09dGhpcy5fd2Fybkh0bWxJbk1lc3NhZ2V8fHRoaXMuX2NoZWNrTG9jYWxlTWVzc2FnZShlLHRoaXMuX3dhcm5IdG1sSW5NZXNzYWdlLHQpLHRoaXMuX3ZtLiRzZXQodGhpcy5fdm0ubWVzc2FnZXMsZSxmKHt9LHRoaXMuX3ZtLm1lc3NhZ2VzW2VdfHx7fSx0KSl9LFcucHJvdG90eXBlLmdldERhdGVUaW1lRm9ybWF0PWZ1bmN0aW9uKGUpe3JldHVybiB1KHRoaXMuX3ZtLmRhdGVUaW1lRm9ybWF0c1tlXXx8e30pfSxXLnByb3RvdHlwZS5zZXREYXRlVGltZUZvcm1hdD1mdW5jdGlvbihlLHQpe3RoaXMuX3ZtLiRzZXQodGhpcy5fdm0uZGF0ZVRpbWVGb3JtYXRzLGUsdCksdGhpcy5fY2xlYXJEYXRlVGltZUZvcm1hdChlLHQpfSxXLnByb3RvdHlwZS5tZXJnZURhdGVUaW1lRm9ybWF0PWZ1bmN0aW9uKGUsdCl7dGhpcy5fdm0uJHNldCh0aGlzLl92bS5kYXRlVGltZUZvcm1hdHMsZSxmKHRoaXMuX3ZtLmRhdGVUaW1lRm9ybWF0c1tlXXx8e30sdCkpLHRoaXMuX2NsZWFyRGF0ZVRpbWVGb3JtYXQoZSx0KX0sVy5wcm90b3R5cGUuX2NsZWFyRGF0ZVRpbWVGb3JtYXQ9ZnVuY3Rpb24oZSx0KXtmb3IodmFyIG4gaW4gdCl7dmFyIGE9ZSsiX18iK247dGhpcy5fZGF0ZVRpbWVGb3JtYXR0ZXJzLmhhc093blByb3BlcnR5KGEpJiZkZWxldGUgdGhpcy5fZGF0ZVRpbWVGb3JtYXR0ZXJzW2FdfX0sVy5wcm90b3R5cGUuX2xvY2FsaXplRGF0ZVRpbWU9ZnVuY3Rpb24oZSx0LG4sYSxvKXtmb3IodmFyIHI9dCxpPWFbcl0scz10aGlzLl9nZXRMb2NhbGVDaGFpbih0LG4pLGw9MDtsPHMubGVuZ3RoO2wrKyl7dmFyIHU9c1tsXTtpZihyPXUsIWMoaT1hW3VdKSYmIWMoaVtvXSkpYnJlYWt9aWYoYyhpKXx8YyhpW29dKSlyZXR1cm4gbnVsbDt2YXIgZD1pW29dLHA9cisiX18iK28sbT10aGlzLl9kYXRlVGltZUZvcm1hdHRlcnNbcF07cmV0dXJuIG18fChtPXRoaXMuX2RhdGVUaW1lRm9ybWF0dGVyc1twXT1uZXcgSW50bC5EYXRlVGltZUZvcm1hdChyLGQpKSxtLmZvcm1hdChlKX0sVy5wcm90b3R5cGUuX2Q9ZnVuY3Rpb24oZSx0LG4pe2lmKCFuKXJldHVybiBuZXcgSW50bC5EYXRlVGltZUZvcm1hdCh0KS5mb3JtYXQoZSk7dmFyIGE9dGhpcy5fbG9jYWxpemVEYXRlVGltZShlLHQsdGhpcy5mYWxsYmFja0xvY2FsZSx0aGlzLl9nZXREYXRlVGltZUZvcm1hdHMoKSxuKTtpZih0aGlzLl9pc0ZhbGxiYWNrUm9vdChhKSl7aWYoIXRoaXMuX3Jvb3QpdGhyb3cgRXJyb3IoInVuZXhwZWN0ZWQgZXJyb3IiKTtyZXR1cm4gdGhpcy5fcm9vdC4kaTE4bi5kKGUsbix0KX1yZXR1cm4gYXx8IiJ9LFcucHJvdG90eXBlLmQ9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PVtdLG49YXJndW1lbnRzLmxlbmd0aC0xO24tLSA+MDspdFtuXT1hcmd1bWVudHNbbisxXTt2YXIgcj10aGlzLmxvY2FsZSxpPW51bGw7cmV0dXJuIDE9PT10Lmxlbmd0aD9vKHRbMF0pP2k9dFswXTphKHRbMF0pJiYodFswXS5sb2NhbGUmJihyPXRbMF0ubG9jYWxlKSx0WzBdLmtleSYmKGk9dFswXS5rZXkpKToyPT09dC5sZW5ndGgmJihvKHRbMF0pJiYoaT10WzBdKSxvKHRbMV0pJiYocj10WzFdKSksdGhpcy5fZChlLHIsaSl9LFcucHJvdG90eXBlLmdldE51bWJlckZvcm1hdD1mdW5jdGlvbihlKXtyZXR1cm4gdSh0aGlzLl92bS5udW1iZXJGb3JtYXRzW2VdfHx7fSl9LFcucHJvdG90eXBlLnNldE51bWJlckZvcm1hdD1mdW5jdGlvbihlLHQpe3RoaXMuX3ZtLiRzZXQodGhpcy5fdm0ubnVtYmVyRm9ybWF0cyxlLHQpLHRoaXMuX2NsZWFyTnVtYmVyRm9ybWF0KGUsdCl9LFcucHJvdG90eXBlLm1lcmdlTnVtYmVyRm9ybWF0PWZ1bmN0aW9uKGUsdCl7dGhpcy5fdm0uJHNldCh0aGlzLl92bS5udW1iZXJGb3JtYXRzLGUsZih0aGlzLl92bS5udW1iZXJGb3JtYXRzW2VdfHx7fSx0KSksdGhpcy5fY2xlYXJOdW1iZXJGb3JtYXQoZSx0KX0sVy5wcm90b3R5cGUuX2NsZWFyTnVtYmVyRm9ybWF0PWZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuIGluIHQpe3ZhciBhPWUrIl9fIituO3RoaXMuX251bWJlckZvcm1hdHRlcnMuaGFzT3duUHJvcGVydHkoYSkmJmRlbGV0ZSB0aGlzLl9udW1iZXJGb3JtYXR0ZXJzW2FdfX0sVy5wcm90b3R5cGUuX2dldE51bWJlckZvcm1hdHRlcj1mdW5jdGlvbihlLHQsbixhLG8scil7Zm9yKHZhciBpPXQscz1hW2ldLGw9dGhpcy5fZ2V0TG9jYWxlQ2hhaW4odCxuKSx1PTA7dTxsLmxlbmd0aDt1Kyspe3ZhciBkPWxbdV07aWYoaT1kLCFjKHM9YVtkXSkmJiFjKHNbb10pKWJyZWFrfWlmKGMocyl8fGMoc1tvXSkpcmV0dXJuIG51bGw7dmFyIHAsbT1zW29dO2lmKHIpcD1uZXcgSW50bC5OdW1iZXJGb3JtYXQoaSxPYmplY3QuYXNzaWduKHt9LG0scikpO2Vsc2V7dmFyIGY9aSsiX18iK287KHA9dGhpcy5fbnVtYmVyRm9ybWF0dGVyc1tmXSl8fChwPXRoaXMuX251bWJlckZvcm1hdHRlcnNbZl09bmV3IEludGwuTnVtYmVyRm9ybWF0KGksbSkpfXJldHVybiBwfSxXLnByb3RvdHlwZS5fbj1mdW5jdGlvbihlLHQsbixhKXtpZighVy5hdmFpbGFiaWxpdGllcy5udW1iZXJGb3JtYXQpcmV0dXJuIiI7aWYoIW4pcmV0dXJuKGE/bmV3IEludGwuTnVtYmVyRm9ybWF0KHQsYSk6bmV3IEludGwuTnVtYmVyRm9ybWF0KHQpKS5mb3JtYXQoZSk7dmFyIG89dGhpcy5fZ2V0TnVtYmVyRm9ybWF0dGVyKGUsdCx0aGlzLmZhbGxiYWNrTG9jYWxlLHRoaXMuX2dldE51bWJlckZvcm1hdHMoKSxuLGEpLHI9byYmby5mb3JtYXQoZSk7aWYodGhpcy5faXNGYWxsYmFja1Jvb3Qocikpe2lmKCF0aGlzLl9yb290KXRocm93IEVycm9yKCJ1bmV4cGVjdGVkIGVycm9yIik7cmV0dXJuIHRoaXMuX3Jvb3QuJGkxOG4ubihlLE9iamVjdC5hc3NpZ24oe30se2tleTpuLGxvY2FsZTp0fSxhKSl9cmV0dXJuIHJ8fCIifSxXLnByb3RvdHlwZS5uPWZ1bmN0aW9uKHQpe2Zvcih2YXIgbj1bXSxyPWFyZ3VtZW50cy5sZW5ndGgtMTtyLS0gPjA7KW5bcl09YXJndW1lbnRzW3IrMV07dmFyIGk9dGhpcy5sb2NhbGUscz1udWxsLGM9bnVsbDtyZXR1cm4gMT09PW4ubGVuZ3RoP28oblswXSk/cz1uWzBdOmEoblswXSkmJihuWzBdLmxvY2FsZSYmKGk9blswXS5sb2NhbGUpLG5bMF0ua2V5JiYocz1uWzBdLmtleSksYz1PYmplY3Qua2V5cyhuWzBdKS5yZWR1Y2UoKGZ1bmN0aW9uKHQsYSl7dmFyIG87cmV0dXJuIGQoZSxhKT9PYmplY3QuYXNzaWduKHt9LHQsKChvPXt9KVthXT1uWzBdW2FdLG8pKTp0fSksbnVsbCkpOjI9PT1uLmxlbmd0aCYmKG8oblswXSkmJihzPW5bMF0pLG8oblsxXSkmJihpPW5bMV0pKSx0aGlzLl9uKHQsaSxzLGMpfSxXLnByb3RvdHlwZS5fbnRwPWZ1bmN0aW9uKGUsdCxuLGEpe2lmKCFXLmF2YWlsYWJpbGl0aWVzLm51bWJlckZvcm1hdClyZXR1cm5bXTtpZighbilyZXR1cm4oYT9uZXcgSW50bC5OdW1iZXJGb3JtYXQodCxhKTpuZXcgSW50bC5OdW1iZXJGb3JtYXQodCkpLmZvcm1hdFRvUGFydHMoZSk7dmFyIG89dGhpcy5fZ2V0TnVtYmVyRm9ybWF0dGVyKGUsdCx0aGlzLmZhbGxiYWNrTG9jYWxlLHRoaXMuX2dldE51bWJlckZvcm1hdHMoKSxuLGEpLHI9byYmby5mb3JtYXRUb1BhcnRzKGUpO2lmKHRoaXMuX2lzRmFsbGJhY2tSb290KHIpKXtpZighdGhpcy5fcm9vdCl0aHJvdyBFcnJvcigidW5leHBlY3RlZCBlcnJvciIpO3JldHVybiB0aGlzLl9yb290LiRpMThuLl9udHAoZSx0LG4sYSl9cmV0dXJuIHJ8fFtdfSxPYmplY3QuZGVmaW5lUHJvcGVydGllcyhXLnByb3RvdHlwZSxWKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoVywiYXZhaWxhYmlsaXRpZXMiLHtnZXQ6ZnVuY3Rpb24oKXtpZigheil7dmFyIGU9InVuZGVmaW5lZCIhPXR5cGVvZiBJbnRsO3o9e2RhdGVUaW1lRm9ybWF0OmUmJnZvaWQgMCE9PUludGwuRGF0ZVRpbWVGb3JtYXQsbnVtYmVyRm9ybWF0OmUmJnZvaWQgMCE9PUludGwuTnVtYmVyRm9ybWF0fX1yZXR1cm4gen19KSxXLmluc3RhbGw9SSxXLnZlcnNpb249IjguMjAuMCIsV30sIm9iamVjdCI9PWkodCkmJiJ1bmRlZmluZWQiIT10eXBlb2YgZT9lLmV4cG9ydHM9cigpOihhPXIsbz0iZnVuY3Rpb24iPT09dHlwZW9mIGE/YS5jYWxsKHQsbix0LGUpOmEsdm9pZCAwPT09b3x8KGUuZXhwb3J0cz1vKSl9LCI0YTEwIjpmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO24ucih0KTt2YXIgYT1uKCIyYzIyIiksbz1uKCIxNWRlIik7Zm9yKHZhciByIGluIG8pWyJkZWZhdWx0Il0uaW5kZXhPZihyKTwwJiZmdW5jdGlvbihlKXtuLmQodCxlLChmdW5jdGlvbigpe3JldHVybiBvW2VdfSkpfShyKTtuKCIzYWY2IiksbigiODBjMCIpO3ZhciBpPW4oIjgyOGIiKSxzPU9iamVjdChpWyJhIl0pKG9bImRlZmF1bHQiXSxhWyJiIl0sYVsiYyJdLCExLG51bGwsbnVsbCxudWxsLCExLGFbImEiXSx2b2lkIDApO3RbImRlZmF1bHQiXT1zLmV4cG9ydHN9LCI0Yzg0IjpmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiOyhmdW5jdGlvbihlKXt2YXIgdD1uKCJmNWJkIikuZGVmYXVsdDtuKCI0NzNmIiksbigiYmYwZiIpLG4oImRlNmMiKSxuKCI1YzQ3IiksbigiYTFjMSIpO3ZhciBhPXQobigiOWI4ZSIpKSxvPXtrZXlzOmZ1bmN0aW9uKCl7cmV0dXJuW119fTtlWyJfX19fR0VCRUIwNDFfX19fIl09ITAsZGVsZXRlIGVbIl9fX19HRUJFQjA0MV9fX18iXSxlLl9fdW5pQ29uZmlnPXtlYXN5Y29tOnsiXnUtKC4qKSI6IkAvdXZpZXctdWkvY29tcG9uZW50cy91LSQxL3UtJDEudnVlIiwiXnVuaWNsb3VkLWRiJCI6IkBkY2xvdWRpby91bmktY2xpLXNoYXJlZC9jb21wb25lbnRzL3VuaWNsb3VkLWRiLnZ1ZSIsIl51bmlhZCQiOiJAZGNsb3VkaW8vdW5pLWNsaS1zaGFyZWQvY29tcG9uZW50cy91bmlhZC52dWUiLCJeYWQtcmV3YXJkZWQtdmlkZW8kIjoiQGRjbG91ZGlvL3VuaS1jbGktc2hhcmVkL2NvbXBvbmVudHMvYWQtcmV3YXJkZWQtdmlkZW8udnVlIiwiXmFkLWZ1bGxzY3JlZW4tdmlkZW8kIjoiQGRjbG91ZGlvL3VuaS1jbGktc2hhcmVkL2NvbXBvbmVudHMvYWQtZnVsbHNjcmVlbi12aWRlby52dWUiLCJeYWQtaW50ZXJzdGl0aWFsJCI6IkBkY2xvdWRpby91bmktY2xpLXNoYXJlZC9jb21wb25lbnRzL2FkLWludGVyc3RpdGlhbC52dWUiLCJeYWQtaW50ZXJhY3RpdmUkIjoiQGRjbG91ZGlvL3VuaS1jbGktc2hhcmVkL2NvbXBvbmVudHMvYWQtaW50ZXJhY3RpdmUudnVlIiwiXnBhZ2UtbWV0YSQiOiJAZGNsb3VkaW8vdW5pLWNsaS1zaGFyZWQvY29tcG9uZW50cy9wYWdlLW1ldGEudnVlIiwiXm5hdmlnYXRpb24tYmFyJCI6IkBkY2xvdWRpby91bmktY2xpLXNoYXJlZC9jb21wb25lbnRzL25hdmlnYXRpb24tYmFyLnZ1ZSIsIl51bmktbWF0Y2gtbWVkaWEkIjoiQGRjbG91ZGlvL3VuaS1jbGktc2hhcmVkL2NvbXBvbmVudHMvdW5pLW1hdGNoLW1lZGlhLnZ1ZSJ9LGdsb2JhbFN0eWxlOntuYXZpZ2F0aW9uU3R5bGU6ImN1c3RvbSIsbmF2aWdhdGlvbkJhclRleHRTdHlsZToiYmxhY2siLG5hdmlnYXRpb25CYXJCYWNrZ3JvdW5kQ29sb3I6IiNGRkZGRkYiLGJhY2tncm91bmRDb2xvcjoiIzMzMzMzMyIsYmFja2dyb3VuZENvbG9yVG9wOiIjMjIyMjIyIixiYWNrZ3JvdW5kQ29sb3JCb3R0b206IiMzMzMzMzMiLGJhY2tncm91bmQ6IiMzMzMzMzMifSx0YWJCYXI6e2NvbG9yOiIjYmJiYmJiIixzZWxlY3RlZENvbG9yOiIjZmZkN2E2IixiYWNrZ3JvdW5kQ29sb3I6IiMzMzMzMzMiLGJvcmRlclN0eWxlOiJibGFjayIsbGlzdDpbe3BhZ2VQYXRoOiJwYWdlcy9pbmRleC9pbmRleCIsaWNvblBhdGg6InN0YXRpYy9pbWFnZS9uYXYvbmF2LTEucG5nIixzZWxlY3RlZEljb25QYXRoOiJzdGF0aWMvaW1hZ2UvbmF2L25hdi0xLWFjdGl2ZS5wbmciLHRleHQ6IummlumhtSIscmVkRG90OiExLGJhZGdlOiIifSx7cGFnZVBhdGg6InBhZ2VzL21hcmtldC9tYXJrZXQiLGljb25QYXRoOiJzdGF0aWMvaW1hZ2UvbmF2L25hdi0yLnBuZyIsc2VsZWN0ZWRJY29uUGF0aDoic3RhdGljL2ltYWdlL25hdi9uYXYtMi1hY3RpdmUucG5nIix0ZXh0OiLooYzmg4UiLHJlZERvdDohMSxiYWRnZToiIn0se3BhZ2VQYXRoOiJwYWdlcy90cmFuc2FjdGlvbi9pbmRleCIsaWNvblBhdGg6InN0YXRpYy9pbWFnZS9uYXYvbmF2LTMucG5nIixzZWxlY3RlZEljb25QYXRoOiJzdGF0aWMvaW1hZ2UvbmF2L25hdi0zLWFjdGl2ZS5wbmciLHRleHQ6IuS6pOaYkyIscmVkRG90OiExLGJhZGdlOiIifSx7cGFnZVBhdGg6InBhZ2VzL2ZpbmFuY2lhbC9pbmRleCIsaWNvblBhdGg6InN0YXRpYy9pbWFnZS9uYXYvbmF2LTQucG5nIixzZWxlY3RlZEljb25QYXRoOiJzdGF0aWMvaW1hZ2UvbmF2L25hdi00LWFjdGl2ZS5wbmciLHRleHQ6IumHkeiejSIscmVkRG90OiExLGJhZGdlOiIifSx7cGFnZVBhdGg6InBhZ2VzL2Z1bmQvYXNzZXRzIixpY29uUGF0aDoic3RhdGljL2ltYWdlL25hdi9uYXYtNS5wbmciLHNlbGVjdGVkSWNvblBhdGg6InN0YXRpYy9pbWFnZS9uYXYvbmF2LTUtYWN0aXZlLnBuZyIsdGV4dDoi6LWE5LqnIixyZWREb3Q6ITEsYmFkZ2U6IiJ9XX19LGUuX191bmlDb25maWcuY29tcGlsZXJWZXJzaW9uPSI0LjY2IixlLl9fdW5pQ29uZmlnLmRhcmttb2RlPSExLGUuX191bmlDb25maWcudGhlbWVDb25maWc9e30sZS5fX3VuaUNvbmZpZy51bmlQbGF0Zm9ybT0iaDUiLGUuX191bmlDb25maWcuYXBwSWQ9Il9fVU5JX19HRUJFQjA0MSIsZS5fX3VuaUNvbmZpZy5hcHBOYW1lPSJGdXR1cmVzIixlLl9fdW5pQ29uZmlnLmFwcFZlcnNpb249IjAuOC4wIixlLl9fdW5pQ29uZmlnLmFwcFZlcnNpb25Db2RlPSI4MCIsZS5fX3VuaUNvbmZpZy5yb3V0ZXI9e21vZGU6Imhhc2giLGJhc2U6Ii8ifSxlLl9fdW5pQ29uZmlnLnB1YmxpY1BhdGg9Ii8iLGUuX191bmlDb25maWdbImFzeW5jIl09e2xvYWRpbmc6IkFzeW5jTG9hZGluZyIsZXJyb3I6IkFzeW5jRXJyb3IiLGRlbGF5OjIwMCx0aW1lb3V0OjZlNH0sZS5fX3VuaUNvbmZpZy5kZWJ1Zz0hMSxlLl9fdW5pQ29uZmlnLm5ldHdvcmtUaW1lb3V0PXtyZXF1ZXN0OjZlNCxjb25uZWN0U29ja2V0OjZlNCx1cGxvYWRGaWxlOjZlNCxkb3dubG9hZEZpbGU6NmU0fSxlLl9fdW5pQ29uZmlnLnNka0NvbmZpZ3M9e30sZS5fX3VuaUNvbmZpZy5xcU1hcEtleT12b2lkIDAsZS5fX3VuaUNvbmZpZy5nb29nbGVNYXBLZXk9dm9pZCAwLGUuX191bmlDb25maWcuYU1hcEtleT12b2lkIDAsZS5fX3VuaUNvbmZpZy5hTWFwU2VjdXJpdHlKc0NvZGU9dm9pZCAwLGUuX191bmlDb25maWcuYU1hcFNlcnZpY2VIb3N0PXZvaWQgMCxlLl9fdW5pQ29uZmlnLmxvY2FsZT0iIixlLl9fdW5pQ29uZmlnLmZhbGxiYWNrTG9jYWxlPXZvaWQgMCxlLl9fdW5pQ29uZmlnLmxvY2FsZXM9by5rZXlzKCkucmVkdWNlKChmdW5jdGlvbihlLHQpe3ZhciBuPXQucmVwbGFjZSgvXC5cLyh1bmktYXBwLik/KC4qKS5qc29uLywiJDIiKSxhPW8odCk7cmV0dXJuIE9iamVjdC5hc3NpZ24oZVtuXXx8KGVbbl09e30pLGEuY29tbW9ufHxhKSxlfSkse30pLGUuX191bmlDb25maWcubnZ1ZT17ImZsZXgtZGlyZWN0aW9uIjoiY29sdW1uIn0sZS5fX3VuaUNvbmZpZy5fX3dlYnBhY2tfY2h1bmtfbG9hZF9fPW4uZSxhLmRlZmF1bHQuY29tcG9uZW50KCJwYWdlcy1pbmRleC1pbmRleCIsKGZ1bmN0aW9uKGUpe3ZhciB0PXtjb21wb25lbnQ6UHJvbWlzZS5hbGwoW24uZSgicGFnZXMtY29tbW9uLWFib3V0dXN+cGFnZXMtY29tbW9uLWFyZWF+cGFnZXMtY29tbW9uLWFydGljbGV+cGFnZXMtY29tbW9uLWJvcnJvd2luZ35wYWdlcy1jb21tb24tY29udH5lMjZjNDNmNSIpLG4uZSgicGFnZXMtY29tbW9uLWxvZ2lufnBhZ2VzLWNvbW1vbi1yZWdpc3Rlcn5wYWdlcy1jb3B5dHJhZGUtY29weX5wYWdlcy1mb2xsb3ctaW5kZXh+cGFnZXMtZnVuZC1mdW5kVHJhbn5hZThkMmU2YyIpLG4uZSgicGFnZXMtaWVvLWllb35wYWdlcy1pbmRleC1pbmRleH5wYWdlcy1pbnZlc3QtaW52ZXN0Iiksbi5lKCJwYWdlcy1pbmRleC1pbmRleH5wYWdlcy10cmFuc2FjdGlvbi1pbmRleCIpLG4uZSgicGFnZXMtaW5kZXgtaW5kZXgiKV0pLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gZShuKCIwY2EyIikpfS5iaW5kKG51bGwsbikpLmNhdGNoKG4ub2UpLGRlbGF5Ol9fdW5pQ29uZmlnWyJhc3luYyJdLmRlbGF5LHRpbWVvdXQ6X191bmlDb25maWdbImFzeW5jIl0udGltZW91dH07cmV0dXJuIF9fdW5pQ29uZmlnWyJhc3luYyJdWyJsb2FkaW5nIl0mJih0LmxvYWRpbmc9e25hbWU6IlN5c3RlbUFzeW5jTG9hZGluZyIscmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKF9fdW5pQ29uZmlnWyJhc3luYyJdWyJsb2FkaW5nIl0pfX0pLF9fdW5pQ29uZmlnWyJhc3luYyJdWyJlcnJvciJdJiYodC5lcnJvcj17bmFtZToiU3lzdGVtQXN5bmNFcnJvciIscmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKF9fdW5pQ29uZmlnWyJhc3luYyJdWyJlcnJvciJdKX19KSx0fSkpLGEuZGVmYXVsdC5jb21wb25lbnQoInBhZ2VzLWNvbW1vbi1sb2dpbiIsKGZ1bmN0aW9uKGUpe3ZhciB0PXtjb21wb25lbnQ6UHJvbWlzZS5hbGwoW24uZSgicGFnZXMtY29tbW9uLWFib3V0dXN+cGFnZXMtY29tbW9uLWFyZWF+cGFnZXMtY29tbW9uLWFydGljbGV+cGFnZXMtY29tbW9uLWJvcnJvd2luZ35wYWdlcy1jb21tb24tY29udH5lMjZjNDNmNSIpLG4uZSgicGFnZXMtY29tbW9uLWxvZ2lufnBhZ2VzLWNvbW1vbi1yZWdpc3Rlcn5wYWdlcy1jb3B5dHJhZGUtY29weX5wYWdlcy1mb2xsb3ctaW5kZXh+cGFnZXMtZnVuZC1mdW5kVHJhbn5hZThkMmU2YyIpLG4uZSgicGFnZXMtY29tbW9uLWxvZ2lufnBhZ2VzLWNvbW1vbi1yZWdpc3Rlcn5wYWdlcy1mdW5kLWFzc2V0c35wYWdlcy1mdW5kLWFzc2V0c19yZWNvcmR+cGFnZXMtZnVuZC1mdW5kVH44NTI3NzY1NiIpLG4uZSgicGFnZXMtY29tbW9uLWxvZ2luIildKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIGUobigiZGIwYSIpKX0uYmluZChudWxsLG4pKS5jYXRjaChuLm9lKSxkZWxheTpfX3VuaUNvbmZpZ1siYXN5bmMiXS5kZWxheSx0aW1lb3V0Ol9fdW5pQ29uZmlnWyJhc3luYyJdLnRpbWVvdXR9O3JldHVybiBfX3VuaUNvbmZpZ1siYXN5bmMiXVsibG9hZGluZyJdJiYodC5sb2FkaW5nPXtuYW1lOiJTeXN0ZW1Bc3luY0xvYWRpbmciLHJlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZShfX3VuaUNvbmZpZ1siYXN5bmMiXVsibG9hZGluZyJdKX19KSxfX3VuaUNvbmZpZ1siYXN5bmMiXVsiZXJyb3IiXSYmKHQuZXJyb3I9e25hbWU6IlN5c3RlbUFzeW5jRXJyb3IiLHJlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZShfX3VuaUNvbmZpZ1siYXN5bmMiXVsiZXJyb3IiXSl9fSksdH0pKSxhLmRlZmF1bHQuY29tcG9uZW50KCJwYWdlcy1jb21tb24tcmVnaXN0ZXIiLChmdW5jdGlvbihlKXt2YXIgdD17Y29tcG9uZW50OlByb21pc2UuYWxsKFtuLmUoInBhZ2VzLWNvbW1vbi1hYm91dHVzfnBhZ2VzLWNvbW1vbi1hcmVhfnBhZ2VzLWNvbW1vbi1hcnRpY2xlfnBhZ2VzLWNvbW1vbi1ib3Jyb3dpbmd+cGFnZXMtY29tbW9uLWNvbnR+ZTI2YzQzZjUiKSxuLmUoInBhZ2VzLWNvbW1vbi1sb2dpbn5wYWdlcy1jb21tb24tcmVnaXN0ZXJ+cGFnZXMtY29weXRyYWRlLWNvcHl+cGFnZXMtZm9sbG93LWluZGV4fnBhZ2VzLWZ1bmQtZnVuZFRyYW5+YWU4ZDJlNmMiKSxuLmUoInBhZ2VzLWNvbW1vbi1sb2dpbn5wYWdlcy1jb21tb24tcmVnaXN0ZXJ+cGFnZXMtZnVuZC1hc3NldHN+cGFnZXMtZnVuZC1hc3NldHNfcmVjb3JkfnBhZ2VzLWZ1bmQtZnVuZFR+ODUyNzc2NTYiKSxuLmUoInBhZ2VzLWNvbW1vbi1yZWdpc3RlciIpXSkudGhlbihmdW5jdGlvbigpe3JldHVybiBlKG4oIjVmNmMiKSl9LmJpbmQobnVsbCxuKSkuY2F0Y2gobi5vZSksZGVsYXk6X191bmlDb25maWdbImFzeW5jIl0uZGVsYXksdGltZW91dDpfX3VuaUNvbmZpZ1siYXN5bmMiXS50aW1lb3V0fTtyZXR1cm4gX191bmlDb25maWdbImFzeW5jIl1bImxvYWRpbmciXSYmKHQubG9hZGluZz17bmFtZToiU3lzdGVtQXN5bmNMb2FkaW5nIixyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoX191bmlDb25maWdbImFzeW5jIl1bImxvYWRpbmciXSl9fSksX191bmlDb25maWdbImFzeW5jIl1bImVycm9yIl0mJih0LmVycm9yPXtuYW1lOiJTeXN0ZW1Bc3luY0Vycm9yIixyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoX191bmlDb25maWdbImFzeW5jIl1bImVycm9yIl0pfX0pLHR9KSksYS5kZWZhdWx0LmNvbXBvbmVudCgicGFnZXMtY29tbW9uLWFyZWEiLChmdW5jdGlvbihlKXt2YXIgdD17Y29tcG9uZW50OlByb21pc2UuYWxsKFtuLmUoInBhZ2VzLWNvbW1vbi1hYm91dHVzfnBhZ2VzLWNvbW1vbi1hcmVhfnBhZ2VzLWNvbW1vbi1hcnRpY2xlfnBhZ2VzLWNvbW1vbi1ib3Jyb3dpbmd+cGFnZXMtY29tbW9uLWNvbnR+ZTI2YzQzZjUiKSxuLmUoInBhZ2VzLWNvbW1vbi1hYm91dHVzfnBhZ2VzLWNvbW1vbi1hcmVhfnBhZ2VzLWNvbW1vbi1hcnRpY2xlfnBhZ2VzLWNvbW1vbi1ib3Jyb3dpbmd+cGFnZXMtY29tbW9uLWNvbnR+NDY2ZDEwMmUiKSxuLmUoInBhZ2VzLWNvbW1vbi1hcmVhfnBhZ2VzLWZ1bmQtc2VsZWN0fnBhZ2VzLW1hcmtldC1zZWFyY2giKSxuLmUoInBhZ2VzLWNvbW1vbi1hcmVhIildKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIGUobigiZWZmZCIpKX0uYmluZChudWxsLG4pKS5jYXRjaChuLm9lKSxkZWxheTpfX3VuaUNvbmZpZ1siYXN5bmMiXS5kZWxheSx0aW1lb3V0Ol9fdW5pQ29uZmlnWyJhc3luYyJdLnRpbWVvdXR9O3JldHVybiBfX3VuaUNvbmZpZ1siYXN5bmMiXVsibG9hZGluZyJdJiYodC5sb2FkaW5nPXtuYW1lOiJTeXN0ZW1Bc3luY0xvYWRpbmciLHJlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZShfX3VuaUNvbmZpZ1siYXN5bmMiXVsibG9hZGluZyJdKX19KSxfX3VuaUNvbmZpZ1siYXN5bmMiXVsiZXJyb3IiXSYmKHQuZXJyb3I9e25hbWU6IlN5c3RlbUFzeW5jRXJyb3IiLHJlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZShfX3VuaUNvbmZpZ1siYXN5bmMiXVsiZXJyb3IiXSl9fSksdH0pKSxhLmRlZmF1bHQuY29tcG9uZW50KCJwYWdlcy1zZXR0aW5nLXNldHRpbmciLChmdW5jdGlvbihlKXt2YXIgdD17Y29tcG9uZW50OlByb21pc2UuYWxsKFtuLmUoInBhZ2VzLWNvbW1vbi1hYm91dHVzfnBhZ2VzLWNvbW1vbi1hcmVhfnBhZ2VzLWNvbW1vbi1hcnRpY2xlfnBhZ2VzLWNvbW1vbi1ib3Jyb3dpbmd+cGFnZXMtY29tbW9uLWNvbnR+ZTI2YzQzZjUiKSxuLmUoInBhZ2VzLWNvbW1vbi1hYm91dHVzfnBhZ2VzLWNvbW1vbi1hcmVhfnBhZ2VzLWNvbW1vbi1hcnRpY2xlfnBhZ2VzLWNvbW1vbi1ib3Jyb3dpbmd+cGFnZXMtY29tbW9uLWNvbnR+NDY2ZDEwMmUiKSxuLmUoInBhZ2VzLWNvbW1vbi1sb2dpbn5wYWdlcy1jb21tb24tcmVnaXN0ZXJ+cGFnZXMtY29weXRyYWRlLWNvcHl+cGFnZXMtZm9sbG93LWluZGV4fnBhZ2VzLWZ1bmQtZnVuZFRyYW5+YWU4ZDJlNmMiKSxuLmUoInBhZ2VzLXNldHRpbmctcmVhbH5wYWdlcy1zZXR0aW5nLXNldHRpbmciKSxuLmUoInBhZ2VzLXNldHRpbmctc2V0dGluZyIpXSkudGhlbihmdW5jdGlvbigpe3JldHVybiBlKG4oIjc4MDQiKSl9LmJpbmQobnVsbCxuKSkuY2F0Y2gobi5vZSksZGVsYXk6X191bmlDb25maWdbImFzeW5jIl0uZGVsYXksdGltZW91dDpfX3VuaUNvbmZpZ1siYXN5bmMiXS50aW1lb3V0fTtyZXR1cm4gX191bmlDb25maWdbImFzeW5jIl1bImxvYWRpbmciXSYmKHQubG9hZGluZz17bmFtZToiU3lzdGVtQXN5bmNMb2FkaW5nIixyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoX191bmlDb25maWdbImFzeW5jIl1bImxvYWRpbmciXSl9fSksX191bmlDb25maWdbImFzeW5jIl1bImVycm9yIl0mJih0LmVycm9yPXtuYW1lOiJTeXN0ZW1Bc3luY0Vycm9yIixyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoX191bmlDb25maWdbImFzeW5jIl1bImVycm9yIl0pfX0pLHR9KSksYS5kZWZhdWx0LmNvbXBvbmVudCgicGFnZXMtc2V0dGluZy11c2VySW5mbyIsKGZ1bmN0aW9uKGUpe3ZhciB0PXtjb21wb25lbnQ6UHJvbWlzZS5hbGwoW24uZSgicGFnZXMtY29tbW9uLWFib3V0dXN+cGFnZXMtY29tbW9uLWFyZWF+cGFnZXMtY29tbW9uLWFydGljbGV+cGFnZXMtY29tbW9uLWJvcnJvd2luZ35wYWdlcy1jb21tb24tY29udH5lMjZjNDNmNSIpLG4uZSgicGFnZXMtY29tbW9uLWFib3V0dXN+cGFnZXMtY29tbW9uLWFyZWF+cGFnZXMtY29tbW9uLWFydGljbGV+cGFnZXMtY29tbW9uLWJvcnJvd2luZ35wYWdlcy1jb21tb24tY29udH40NjZkMTAyZSIpLG4uZSgicGFnZXMtY29tbW9uLWxvZ2lufnBhZ2VzLWNvbW1vbi1yZWdpc3Rlcn5wYWdlcy1jb3B5dHJhZGUtY29weX5wYWdlcy1mb2xsb3ctaW5kZXh+cGFnZXMtZnVuZC1mdW5kVHJhbn5hZThkMmU2YyIpLG4uZSgicGFnZXMtc2V0dGluZy11c2VySW5mbyIpXSkudGhlbihmdW5jdGlvbigpe3JldHVybiBlKG4oIjFlNjQiKSl9LmJpbmQobnVsbCxuKSkuY2F0Y2gobi5vZSksZGVsYXk6X191bmlDb25maWdbImFzeW5jIl0uZGVsYXksdGltZW91dDpfX3VuaUNvbmZpZ1siYXN5bmMiXS50aW1lb3V0fTtyZXR1cm4gX191bmlDb25maWdbImFzeW5jIl1bImxvYWRpbmciXSYmKHQubG9hZGluZz17bmFtZToiU3lzdGVtQXN5bmNMb2FkaW5nIixyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoX191bmlDb25maWdbImFzeW5jIl1bImxvYWRpbmciXSl9fSksX191bmlDb25maWdbImFzeW5jIl1bImVycm9yIl0mJih0LmVycm9yPXtuYW1lOiJTeXN0ZW1Bc3luY0Vycm9yIixyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoX191bmlDb25maWdbImFzeW5jIl1bImVycm9yIl0pfX0pLHR9KSksYS5kZWZhdWx0LmNvbXBvbmVudCgicGFnZXMtc2V0dGluZy1zZWN1cml0eSIsKGZ1bmN0aW9uKGUpe3ZhciB0PXtjb21wb25lbnQ6UHJvbWlzZS5hbGwoW24uZSgicGFnZXMtY29tbW9uLWFib3V0dXN+cGFnZXMtY29tbW9uLWFyZWF+cGFnZXMtY29tbW9uLWFydGljbGV+cGFnZXMtY29tbW9uLWJvcnJvd2luZ35wYWdlcy1jb21tb24tY29udH5lMjZjNDNmNSIpLG4uZSgicGFnZXMtY29tbW9uLWFib3V0dXN+cGFnZXMtY29tbW9uLWFyZWF+cGFnZXMtY29tbW9uLWFydGljbGV+cGFnZXMtY29tbW9uLWJvcnJvd2luZ35wYWdlcy1jb21tb24tY29udH40NjZkMTAyZSIpLG4uZSgicGFnZXMtY29tbW9uLWxvZ2lufnBhZ2VzLWNvbW1vbi1yZWdpc3Rlcn5wYWdlcy1jb3B5dHJhZGUtY29weX5wYWdlcy1mb2xsb3ctaW5kZXh+cGFnZXMtZnVuZC1mdW5kVHJhbn5hZThkMmU2YyIpLG4uZSgicGFnZXMtc2V0dGluZy1zZWN1cml0eSIpXSkudGhlbihmdW5jdGlvbigpe3JldHVybiBlKG4oIjNjN2IiKSl9LmJpbmQobnVsbCxuKSkuY2F0Y2gobi5vZSksZGVsYXk6X191bmlDb25maWdbImFzeW5jIl0uZGVsYXksdGltZW91dDpfX3VuaUNvbmZpZ1siYXN5bmMiXS50aW1lb3V0fTtyZXR1cm4gX191bmlDb25maWdbImFzeW5jIl1bImxvYWRpbmciXSYmKHQubG9hZGluZz17bmFtZToiU3lzdGVtQXN5bmNMb2FkaW5nIixyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoX191bmlDb25maWdbImFzeW5jIl1bImxvYWRpbmciXSl9fSksX191bmlDb25maWdbImFzeW5jIl1bImVycm9yIl0mJih0LmVycm9yPXtuYW1lOiJTeXN0ZW1Bc3luY0Vycm9yIixyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoX191bmlDb25maWdbImFzeW5jIl1bImVycm9yIl0pfX0pLHR9KSksYS5kZWZhdWx0LmNvbXBvbmVudCgicGFnZXMtc2V0dGluZy1wYXNzd29yZCIsKGZ1bmN0aW9uKGUpe3ZhciB0PXtjb21wb25lbnQ6UHJvbWlzZS5hbGwoW24uZSgicGFnZXMtY29tbW9uLWFib3V0dXN+cGFnZXMtY29tbW9uLWFyZWF+cGFnZXMtY29tbW9uLWFydGljbGV+cGFnZXMtY29tbW9uLWJvcnJvd2luZ35wYWdlcy1jb21tb24tY29udH5lMjZjNDNmNSIpLG4uZSgicGFnZXMtY29tbW9uLWFib3V0dXN+cGFnZXMtY29tbW9uLWFyZWF+cGFnZXMtY29tbW9uLWFydGljbGV+cGFnZXMtY29tbW9uLWJvcnJvd2luZ35wYWdlcy1jb21tb24tY29udH40NjZkMTAyZSIpLG4uZSgicGFnZXMtY29tbW9uLWxvZ2lufnBhZ2VzLWNvbW1vbi1yZWdpc3Rlcn5wYWdlcy1mdW5kLWFzc2V0c35wYWdlcy1mdW5kLWFzc2V0c19yZWNvcmR+cGFnZXMtZnVuZC1mdW5kVH44NTI3NzY1NiIpLG4uZSgicGFnZXMtc2V0dGluZy1wYXNzd29yZCIpXSkudGhlbihmdW5jdGlvbigpe3JldHVybiBlKG4oIjI0YWMiKSl9LmJpbmQobnVsbCxuKSkuY2F0Y2gobi5vZSksZGVsYXk6X191bmlDb25maWdbImFzeW5jIl0uZGVsYXksdGltZW91dDpfX3VuaUNvbmZpZ1siYXN5bmMiXS50aW1lb3V0fTtyZXR1cm4gX191bmlDb25maWdbImFzeW5jIl1bImxvYWRpbmciXSYmKHQubG9hZGluZz17bmFtZToiU3lzdGVtQXN5bmNMb2FkaW5nIixyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoX191bmlDb25maWdbImFzeW5jIl1bImxvYWRpbmciXSl9fSksX191bmlDb25maWdbImFzeW5jIl1bImVycm9yIl0mJih0LmVycm9yPXtuYW1lOiJTeXN0ZW1Bc3luY0Vycm9yIixyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoX191bmlDb25maWdbImFzeW5jIl1bImVycm9yIl0pfX0pLHR9KSksYS5kZWZhdWx0LmNvbXBvbmVudCgicGFnZXMtc2V0dGluZy1wYXlQYXNzd29yZCIsKGZ1bmN0aW9uKGUpe3ZhciB0PXtjb21wb25lbnQ6UHJvbWlzZS5hbGwoW24uZSgicGFnZXMtY29tbW9uLWFib3V0dXN+cGFnZXMtY29tbW9uLWFyZWF+cGFnZXMtY29tbW9uLWFydGljbGV+cGFnZXMtY29tbW9uLWJvcnJvd2luZ35wYWdlcy1jb21tb24tY29udH5lMjZjNDNmNSIpLG4uZSgicGFnZXMtY29tbW9uLWFib3V0dXN+cGFnZXMtY29tbW9uLWFyZWF+cGFnZXMtY29tbW9uLWFydGljbGV+cGFnZXMtY29tbW9uLWJvcnJvd2luZ35wYWdlcy1jb21tb24tY29udH40NjZkMTAyZSIpLG4uZSgicGFnZXMtc2V0dGluZy1wYXlQYXNzd29yZCIpXSkudGhlbihmdW5jdGlvbigpe3JldHVybiBlKG4oIjg0Y2QiKSl9LmJpbmQobnVsbCxuKSkuY2F0Y2gobi5vZSksZGVsYXk6X191bmlDb25maWdbImFzeW5jIl0uZGVsYXksdGltZW91dDpfX3VuaUNvbmZpZ1siYXN5bmMiXS50aW1lb3V0fTtyZXR1cm4gX191bmlDb25maWdbImFzeW5jIl1bImxvYWRpbmciXSYmKHQubG9hZGluZz17bmFtZToiU3lzdGVtQXN5bmNMb2FkaW5nIixyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoX191bmlDb25maWdbImFzeW5jIl1bImxvYWRpbmciXSl9fSksX191bmlDb25maWdbImFzeW5jIl1bImVycm9yIl0mJih0LmVycm9yPXtuYW1lOiJTeXN0ZW1Bc3luY0Vycm9yIixyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoX191bmlDb25maWdbImFzeW5jIl1bImVycm9yIl0pfX0pLHR9KSksYS5kZWZhdWx0LmNvbXBvbmVudCgicGFnZXMtc2V0dGluZy1jb3Vwb24iLChmdW5jdGlvbihlKXt2YXIgdD17Y29tcG9uZW50OlByb21pc2UuYWxsKFtuLmUoInBhZ2VzLWNvbW1vbi1hYm91dHVzfnBhZ2VzLWNvbW1vbi1hcmVhfnBhZ2VzLWNvbW1vbi1hcnRpY2xlfnBhZ2VzLWNvbW1vbi1ib3Jyb3dpbmd+cGFnZXMtY29tbW9uLWNvbnR+ZTI2YzQzZjUiKSxuLmUoInBhZ2VzLWNvbW1vbi1hYm91dHVzfnBhZ2VzLWNvbW1vbi1hcmVhfnBhZ2VzLWNvbW1vbi1hcnRpY2xlfnBhZ2VzLWNvbW1vbi1ib3Jyb3dpbmd+cGFnZXMtY29tbW9uLWNvbnR+NDY2ZDEwMmUiKSxuLmUoInBhZ2VzLXNldHRpbmctY291cG9uIildKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIGUobigiM2MxZiIpKX0uYmluZChudWxsLG4pKS5jYXRjaChuLm9lKSxkZWxheTpfX3VuaUNvbmZpZ1siYXN5bmMiXS5kZWxheSx0aW1lb3V0Ol9fdW5pQ29uZmlnWyJhc3luYyJdLnRpbWVvdXR9O3JldHVybiBfX3VuaUNvbmZpZ1siYXN5bmMiXVsibG9hZGluZyJdJiYodC5sb2FkaW5nPXtuYW1lOiJTeXN0ZW1Bc3luY0xvYWRpbmciLHJlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZShfX3VuaUNvbmZpZ1siYXN5bmMiXVsibG9hZGluZyJdKX19KSxfX3VuaUNvbmZpZ1siYXN5bmMiXVsiZXJyb3IiXSYmKHQuZXJyb3I9e25hbWU6IlN5c3RlbUFzeW5jRXJyb3IiLHJlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZShfX3VuaUNvbmZpZ1siYXN5bmMiXVsiZXJyb3IiXSl9fSksdH0pKSxhLmRlZmF1bHQuY29tcG9uZW50KCJwYWdlcy1zZXR0aW5nLXdhbGxldCIsKGZ1bmN0aW9uKGUpe3ZhciB0PXtjb21wb25lbnQ6UHJvbWlzZS5hbGwoW24uZSgicGFnZXMtY29tbW9uLWFib3V0dXN+cGFnZXMtY29tbW9uLWFyZWF+cGFnZXMtY29tbW9uLWFydGljbGV+cGFnZXMtY29tbW9uLWJvcnJvd2luZ35wYWdlcy1jb21tb24tY29udH5lMjZjNDNmNSIpLG4uZSgicGFnZXMtY29tbW9uLWFib3V0dXN+cGFnZXMtY29tbW9uLWFyZWF+cGFnZXMtY29tbW9uLWFydGljbGV+cGFnZXMtY29tbW9uLWJvcnJvd2luZ35wYWdlcy1jb21tb24tY29udH40NjZkMTAyZSIpLG4uZSgicGFnZXMtZm9sbG93LWZvbGxvd35wYWdlcy1sb2NrbWluZy1vcmRlcn5wYWdlcy1zZXR0aW5nLXdhbGxldCIpLG4uZSgicGFnZXMtc2V0dGluZy13YWxsZXQiKV0pLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gZShuKCJkZjZlIikpfS5iaW5kKG51bGwsbikpLmNhdGNoKG4ub2UpLGRlbGF5Ol9fdW5pQ29uZmlnWyJhc3luYyJdLmRlbGF5LHRpbWVvdXQ6X191bmlDb25maWdbImFzeW5jIl0udGltZW91dH07cmV0dXJuIF9fdW5pQ29uZmlnWyJhc3luYyJdWyJsb2FkaW5nIl0mJih0LmxvYWRpbmc9e25hbWU6IlN5c3RlbUFzeW5jTG9hZGluZyIscmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKF9fdW5pQ29uZmlnWyJhc3luYyJdWyJsb2FkaW5nIl0pfX0pLF9fdW5pQ29uZmlnWyJhc3luYyJdWyJlcnJvciJdJiYodC5lcnJvcj17bmFtZToiU3lzdGVtQXN5bmNFcnJvciIscmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKF9fdW5pQ29uZmlnWyJhc3luYyJdWyJlcnJvciJdKX19KSx0fSkpLGEuZGVmYXVsdC5jb21wb25lbnQoInBhZ2VzLXNldHRpbmctYmlsbCIsKGZ1bmN0aW9uKGUpe3ZhciB0PXtjb21wb25lbnQ6UHJvbWlzZS5hbGwoW24uZSgicGFnZXMtY29tbW9uLWFib3V0dXN+cGFnZXMtY29tbW9uLWFyZWF+cGFnZXMtY29tbW9uLWFydGljbGV+cGFnZXMtY29tbW9uLWJvcnJvd2luZ35wYWdlcy1jb21tb24tY29udH5lMjZjNDNmNSIpLG4uZSgicGFnZXMtY29tbW9uLWFib3V0dXN+cGFnZXMtY29tbW9uLWFyZWF+cGFnZXMtY29tbW9uLWFydGljbGV+cGFnZXMtY29tbW9uLWJvcnJvd2luZ35wYWdlcy1jb21tb24tY29udH40NjZkMTAyZSIpLG4uZSgicGFnZXMtc2V0dGluZy1iaWxsIildKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIGUobigiNDJkMCIpKX0uYmluZChudWxsLG4pKS5jYXRjaChuLm9lKSxkZWxheTpfX3VuaUNvbmZpZ1siYXN5bmMiXS5kZWxheSx0aW1lb3V0Ol9fdW5pQ29uZmlnWyJhc3luYyJdLnRpbWVvdXR9O3JldHVybiBfX3VuaUNvbmZpZ1siYXN5bmMiXVsibG9hZGluZyJdJiYodC5sb2FkaW5nPXtuYW1lOiJTeXN0ZW1Bc3luY0xvYWRpbmciLHJlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZShfX3VuaUNvbmZpZ1siYXN5bmMiXVsibG9hZGluZyJdKX19KSxfX3VuaUNvbmZpZ1siYXN5bmMiXVsiZXJyb3IiXSYmKHQuZXJyb3I9e25hbWU6IlN5c3RlbUFzeW5jRXJyb3IiLHJlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZShfX3VuaUNvbmZpZ1siYXN5bmMiXVsiZXJyb3IiXSl9fSksdH0pKSxhLmRlZmF1bHQuY29tcG9uZW50KCJwYWdlcy1zZXR0aW5nLWFyZWFzIiwoZnVuY3Rpb24oZSl7dmFyIHQ9e2NvbXBvbmVudDpuLmUoInBhZ2VzLXNldHRpbmctYXJlYXMiKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIGUobigiOWY4YyIpKX0uYmluZChudWxsLG4pKS5jYXRjaChuLm9lKSxkZWxheTpfX3VuaUNvbmZpZ1siYXN5bmMiXS5kZWxheSx0aW1lb3V0Ol9fdW5pQ29uZmlnWyJhc3luYyJdLnRpbWVvdXR9O3JldHVybiBfX3VuaUNvbmZpZ1siYXN5bmMiXVsibG9hZGluZyJdJiYodC5sb2FkaW5nPXtuYW1lOiJTeXN0ZW1Bc3luY0xvYWRpbmciLHJlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZShfX3VuaUNvbmZpZ1siYXN5bmMiXVsibG9hZGluZyJdKX19KSxfX3VuaUNvbmZpZ1siYXN5bmMiXVsiZXJyb3IiXSYmKHQuZXJyb3I9e25hbWU6IlN5c3RlbUFzeW5jRXJyb3IiLHJlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZShfX3VuaUNvbmZpZ1siYXN5bmMiXVsiZXJyb3IiXSl9fSksdH0pKSxhLmRlZmF1bHQuY29tcG9uZW50KCJwYWdlcy1mdW5kLXNlbGVjdCIsKGZ1bmN0aW9uKGUpe3ZhciB0PXtjb21wb25lbnQ6UHJvbWlzZS5hbGwoW24uZSgicGFnZXMtY29tbW9uLWFib3V0dXN+cGFnZXMtY29tbW9uLWFyZWF+cGFnZXMtY29tbW9uLWFydGljbGV+cGFnZXMtY29tbW9uLWJvcnJvd2luZ35wYWdlcy1jb21tb24tY29udH5lMjZjNDNmNSIpLG4uZSgicGFnZXMtY29tbW9uLWFib3V0dXN+cGFnZXMtY29tbW9uLWFyZWF+cGFnZXMtY29tbW9uLWFydGljbGV+cGFnZXMtY29tbW9uLWJvcnJvd2luZ35wYWdlcy1jb21tb24tY29udH40NjZkMTAyZSIpLG4uZSgicGFnZXMtY29tbW9uLWFyZWF+cGFnZXMtZnVuZC1zZWxlY3R+cGFnZXMtbWFya2V0LXNlYXJjaCIpLG4uZSgicGFnZXMtZnVuZC1zZWxlY3QiKV0pLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gZShuKCI5NDNkIikpfS5iaW5kKG51bGwsbikpLmNhdGNoKG4ub2UpLGRlbGF5Ol9fdW5pQ29uZmlnWyJhc3luYyJdLmRlbGF5LHRpbWVvdXQ6X191bmlDb25maWdbImFzeW5jIl0udGltZW91dH07cmV0dXJuIF9fdW5pQ29uZmlnWyJhc3luYyJdWyJsb2FkaW5nIl0mJih0LmxvYWRpbmc9e25hbWU6IlN5c3RlbUFzeW5jTG9hZGluZyIscmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKF9fdW5pQ29uZmlnWyJhc3luYyJdWyJsb2FkaW5nIl0pfX0pLF9fdW5pQ29uZmlnWyJhc3luYyJdWyJlcnJvciJdJiYodC5lcnJvcj17bmFtZToiU3lzdGVtQXN5bmNFcnJvciIscmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKF9fdW5pQ29uZmlnWyJhc3luYyJdWyJlcnJvciJdKX19KSx0fSkpLGEuZGVmYXVsdC5jb21wb25lbnQoInBhZ2VzLWZ1bmQtcmVjZWl2ZSIsKGZ1bmN0aW9uKGUpe3ZhciB0PXtjb21wb25lbnQ6UHJvbWlzZS5hbGwoW24uZSgicGFnZXMtY29tbW9uLWFib3V0dXN+cGFnZXMtY29tbW9uLWFyZWF+cGFnZXMtY29tbW9uLWFydGljbGV+cGFnZXMtY29tbW9uLWJvcnJvd2luZ35wYWdlcy1jb21tb24tY29udH5lMjZjNDNmNSIpLG4uZSgicGFnZXMtY29tbW9uLWFib3V0dXN+cGFnZXMtY29tbW9uLWFyZWF+cGFnZXMtY29tbW9uLWFydGljbGV+cGFnZXMtY29tbW9uLWJvcnJvd2luZ35wYWdlcy1jb21tb24tY29udH40NjZkMTAyZSIpLG4uZSgicGFnZXMtY29tbW9uLWxvZ2lufnBhZ2VzLWNvbW1vbi1yZWdpc3Rlcn5wYWdlcy1jb3B5dHJhZGUtY29weX5wYWdlcy1mb2xsb3ctaW5kZXh+cGFnZXMtZnVuZC1mdW5kVHJhbn5hZThkMmU2YyIpLG4uZSgicGFnZXMtZnVuZC1yZWNlaXZlfnBhZ2VzLXNldHRpbmctc2hhcmUiKSxuLmUoInBhZ2VzLWZ1bmQtcmVjZWl2ZSIpXSkudGhlbihmdW5jdGlvbigpe3JldHVybiBlKG4oImVjYTAiKSl9LmJpbmQobnVsbCxuKSkuY2F0Y2gobi5vZSksZGVsYXk6X191bmlDb25maWdbImFzeW5jIl0uZGVsYXksdGltZW91dDpfX3VuaUNvbmZpZ1siYXN5bmMiXS50aW1lb3V0fTtyZXR1cm4gX191bmlDb25maWdbImFzeW5jIl1bImxvYWRpbmciXSYmKHQubG9hZGluZz17bmFtZToiU3lzdGVtQXN5bmNMb2FkaW5nIixyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoX191bmlDb25maWdbImFzeW5jIl1bImxvYWRpbmciXSl9fSksX191bmlDb25maWdbImFzeW5jIl1bImVycm9yIl0mJih0LmVycm9yPXtuYW1lOiJTeXN0ZW1Bc3luY0Vycm9yIixyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoX191bmlDb25maWdbImFzeW5jIl1bImVycm9yIl0pfX0pLHR9KSksYS5kZWZhdWx0LmNvbXBvbmVudCgicGFnZXMtZnVuZC1yZWNlaXZlX3dpdGhkcmF3X3JlY29yZCIsKGZ1bmN0aW9uKGUpe3ZhciB0PXtjb21wb25lbnQ6UHJvbWlzZS5hbGwoW24uZSgicGFnZXMtY29tbW9uLWFib3V0dXN+cGFnZXMtY29tbW9uLWFyZWF+cGFnZXMtY29tbW9uLWFydGljbGV+cGFnZXMtY29tbW9uLWJvcnJvd2luZ35wYWdlcy1jb21tb24tY29udH5lMjZjNDNmNSIpLG4uZSgicGFnZXMtY29tbW9uLWFib3V0dXN+cGFnZXMtY29tbW9uLWFyZWF+cGFnZXMtY29tbW9uLWFydGljbGV+cGFnZXMtY29tbW9uLWJvcnJvd2luZ35wYWdlcy1jb21tb24tY29udH40NjZkMTAyZSIpLG4uZSgicGFnZXMtZnVuZC1yZWNlaXZlX3dpdGhkcmF3X3JlY29yZCIpXSkudGhlbihmdW5jdGlvbigpe3JldHVybiBlKG4oImQ0OTEiKSl9LmJpbmQobnVsbCxuKSkuY2F0Y2gobi5vZSksZGVsYXk6X191bmlDb25maWdbImFzeW5jIl0uZGVsYXksdGltZW91dDpfX3VuaUNvbmZpZ1siYXN5bmMiXS50aW1lb3V0fTtyZXR1cm4gX191bmlDb25maWdbImFzeW5jIl1bImxvYWRpbmciXSYmKHQubG9hZGluZz17bmFtZToiU3lzdGVtQXN5bmNMb2FkaW5nIixyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoX191bmlDb25maWdbImFzeW5jIl1bImxvYWRpbmciXSl9fSksX191bmlDb25maWdbImFzeW5jIl1bImVycm9yIl0mJih0LmVycm9yPXtuYW1lOiJTeXN0ZW1Bc3luY0Vycm9yIixyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoX191bmlDb25maWdbImFzeW5jIl1bImVycm9yIl0pfX0pLHR9KSksYS5kZWZhdWx0LmNvbXBvbmVudCgicGFnZXMtbWFya2V0LW1hcmtldCIsKGZ1bmN0aW9uKGUpe3ZhciB0PXtjb21wb25lbnQ6UHJvbWlzZS5hbGwoW24uZSgicGFnZXMtY29tbW9uLWFib3V0dXN+cGFnZXMtY29tbW9uLWFyZWF+cGFnZXMtY29tbW9uLWFydGljbGV+cGFnZXMtY29tbW9uLWJvcnJvd2luZ35wYWdlcy1jb21tb24tY29udH5lMjZjNDNmNSIpLG4uZSgicGFnZXMtY29tbW9uLWxvZ2lufnBhZ2VzLWNvbW1vbi1yZWdpc3Rlcn5wYWdlcy1mdW5kLWFzc2V0c35wYWdlcy1mdW5kLWFzc2V0c19yZWNvcmR+cGFnZXMtZnVuZC1mdW5kVH44NTI3NzY1NiIpLG4uZSgicGFnZXMtbWFya2V0LW1hcmtldCIpXSkudGhlbihmdW5jdGlvbigpe3JldHVybiBlKG4oIjFmYzAiKSl9LmJpbmQobnVsbCxuKSkuY2F0Y2gobi5vZSksZGVsYXk6X191bmlDb25maWdbImFzeW5jIl0uZGVsYXksdGltZW91dDpfX3VuaUNvbmZpZ1siYXN5bmMiXS50aW1lb3V0fTtyZXR1cm4gX191bmlDb25maWdbImFzeW5jIl1bImxvYWRpbmciXSYmKHQubG9hZGluZz17bmFtZToiU3lzdGVtQXN5bmNMb2FkaW5nIixyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoX191bmlDb25maWdbImFzeW5jIl1bImxvYWRpbmciXSl9fSksX191bmlDb25maWdbImFzeW5jIl1bImVycm9yIl0mJih0LmVycm9yPXtuYW1lOiJTeXN0ZW1Bc3luY0Vycm9yIixyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoX191bmlDb25maWdbImFzeW5jIl1bImVycm9yIl0pfX0pLHR9KSksYS5kZWZhdWx0LmNvbXBvbmVudCgicGFnZXMtZnVuZC1hc3NldHMiLChmdW5jdGlvbihlKXt2YXIgdD17Y29tcG9uZW50OlByb21pc2UuYWxsKFtuLmUoInBhZ2VzLWNvbW1vbi1hYm91dHVzfnBhZ2VzLWNvbW1vbi1hcmVhfnBhZ2VzLWNvbW1vbi1hcnRpY2xlfnBhZ2VzLWNvbW1vbi1ib3Jyb3dpbmd+cGFnZXMtY29tbW9uLWNvbnR+ZTI2YzQzZjUiKSxuLmUoInBhZ2VzLWNvbW1vbi1sb2dpbn5wYWdlcy1jb21tb24tcmVnaXN0ZXJ+cGFnZXMtZnVuZC1hc3NldHN+cGFnZXMtZnVuZC1hc3NldHNfcmVjb3JkfnBhZ2VzLWZ1bmQtZnVuZFR+ODUyNzc2NTYiKSxuLmUoInBhZ2VzLWZ1bmQtYXNzZXRzIildKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIGUobigiZWE3MiIpKX0uYmluZChudWxsLG4pKS5jYXRjaChuLm9lKSxkZWxheTpfX3VuaUNvbmZpZ1siYXN5bmMiXS5kZWxheSx0aW1lb3V0Ol9fdW5pQ29uZmlnWyJhc3luYyJdLnRpbWVvdXR9O3JldHVybiBfX3VuaUNvbmZpZ1siYXN5bmMiXVsibG9hZGluZyJdJiYodC5sb2FkaW5nPXtuYW1lOiJTeXN0ZW1Bc3luY0xvYWRpbmciLHJlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZShfX3VuaUNvbmZpZ1siYXN5bmMiXVsibG9hZGluZyJdKX19KSxfX3VuaUNvbmZpZ1siYXN5bmMiXVsiZXJyb3IiXSYmKHQuZXJyb3I9e25hbWU6IlN5c3RlbUFzeW5jRXJyb3IiLHJlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZShfX3VuaUNvbmZpZ1siYXN5bmMiXVsiZXJyb3IiXSl9fSksdH0pKSxhLmRlZmF1bHQuY29tcG9uZW50KCJwYWdlcy1jb3B5dHJhZGUtY29weSIsKGZ1bmN0aW9uKGUpe3ZhciB0PXtjb21wb25lbnQ6UHJvbWlzZS5hbGwoW24uZSgicGFnZXMtY29tbW9uLWFib3V0dXN+cGFnZXMtY29tbW9uLWFyZWF+cGFnZXMtY29tbW9uLWFydGljbGV+cGFnZXMtY29tbW9uLWJvcnJvd2luZ35wYWdlcy1jb21tb24tY29udH5lMjZjNDNmNSIpLG4uZSgicGFnZXMtY29tbW9uLWFib3V0dXN+cGFnZXMtY29tbW9uLWFyZWF+cGFnZXMtY29tbW9uLWFydGljbGV+cGFnZXMtY29tbW9uLWJvcnJvd2luZ35wYWdlcy1jb21tb24tY29udH40NjZkMTAyZSIpLG4uZSgicGFnZXMtY29tbW9uLWxvZ2lufnBhZ2VzLWNvbW1vbi1yZWdpc3Rlcn5wYWdlcy1jb3B5dHJhZGUtY29weX5wYWdlcy1mb2xsb3ctaW5kZXh+cGFnZXMtZnVuZC1mdW5kVHJhbn5hZThkMmU2YyIpLG4uZSgicGFnZXMtY29weXRyYWRlLWNvcHl+cGFnZXMtaW52ZXN0LXB1cmNoYXNlfnBhZ2VzLW90Yy1vdGN+cGFnZXMtdHJhbnNhY3Rpb24tY29udHJhY3R+cGFnZXMtdHJhbnNhY3Rpb35lNzdhNGVjNyIpLG4uZSgicGFnZXMtY29weXRyYWRlLWNvcHkiKV0pLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gZShuKCI4YzczIikpfS5iaW5kKG51bGwsbikpLmNhdGNoKG4ub2UpLGRlbGF5Ol9fdW5pQ29uZmlnWyJhc3luYyJdLmRlbGF5LHRpbWVvdXQ6X191bmlDb25maWdbImFzeW5jIl0udGltZW91dH07cmV0dXJuIF9fdW5pQ29uZmlnWyJhc3luYyJdWyJsb2FkaW5nIl0mJih0LmxvYWRpbmc9e25hbWU6IlN5c3RlbUFzeW5jTG9hZGluZyIscmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKF9fdW5pQ29uZmlnWyJhc3luYyJdWyJsb2FkaW5nIl0pfX0pLF9fdW5pQ29uZmlnWyJhc3luYyJdWyJlcnJvciJdJiYodC5lcnJvcj17bmFtZToiU3lzdGVtQXN5bmNFcnJvciIscmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKF9fdW5pQ29uZmlnWyJhc3luYyJdWyJlcnJvciJdKX19KSx0fSkpLGEuZGVmYXVsdC5jb21wb25lbnQoInBhZ2VzLWNvcHl0cmFkZS1teSIsKGZ1bmN0aW9uKGUpe3ZhciB0PXtjb21wb25lbnQ6UHJvbWlzZS5hbGwoW24uZSgicGFnZXMtY29tbW9uLWFib3V0dXN+cGFnZXMtY29tbW9uLWFyZWF+cGFnZXMtY29tbW9uLWFydGljbGV+cGFnZXMtY29tbW9uLWJvcnJvd2luZ35wYWdlcy1jb21tb24tY29udH5lMjZjNDNmNSIpLG4uZSgicGFnZXMtY29tbW9uLWFib3V0dXN+cGFnZXMtY29tbW9uLWFyZWF+cGFnZXMtY29tbW9uLWFydGljbGV+cGFnZXMtY29tbW9uLWJvcnJvd2luZ35wYWdlcy1jb21tb24tY29udH40NjZkMTAyZSIpLG4uZSgicGFnZXMtY29weXRyYWRlLW15IildKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIGUobigiNjVmYyIpKX0uYmluZChudWxsLG4pKS5jYXRjaChuLm9lKSxkZWxheTpfX3VuaUNvbmZpZ1siYXN5bmMiXS5kZWxheSx0aW1lb3V0Ol9fdW5pQ29uZmlnWyJhc3luYyJdLnRpbWVvdXR9O3JldHVybiBfX3VuaUNvbmZpZ1siYXN5bmMiXVsibG9hZGluZyJdJiYodC5sb2FkaW5nPXtuYW1lOiJTeXN0ZW1Bc3luY0xvYWRpbmciLHJlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZShfX3VuaUNvbmZpZ1siYXN5bmMiXVsibG9hZGluZyJdKX19KSxfX3VuaUNvbmZpZ1siYXN5bmMiXVsiZXJyb3IiXSYmKHQuZXJyb3I9e25hbWU6IlN5c3RlbUFzeW5jRXJyb3IiLHJlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZShfX3VuaUNvbmZpZ1siYXN5bmMiXVsiZXJyb3IiXSl9fSksdH0pKSxhLmRlZmF1bHQuY29tcG9uZW50KCJwYWdlcy1jb3B5dHJhZGUtdHJhZGVyIiwoZnVuY3Rpb24oZSl7dmFyIHQ9e2NvbXBvbmVudDpuLmUoInBhZ2VzLWNvcHl0cmFkZS10cmFkZXIiKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIGUobigiMjY2YWQiKSl9LmJpbmQobnVsbCxuKSkuY2F0Y2gobi5vZSksZGVsYXk6X191bmlDb25maWdbImFzeW5jIl0uZGVsYXksdGltZW91dDpfX3VuaUNvbmZpZ1siYXN5bmMiXS50aW1lb3V0fTtyZXR1cm4gX191bmlDb25maWdbImFzeW5jIl1bImxvYWRpbmciXSYmKHQubG9hZGluZz17bmFtZToiU3lzdGVtQXN5bmNMb2FkaW5nIixyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoX191bmlDb25maWdbImFzeW5jIl1bImxvYWRpbmciXSl9fSksX191bmlDb25maWdbImFzeW5jIl1bImVycm9yIl0mJih0LmVycm9yPXtuYW1lOiJTeXN0ZW1Bc3luY0Vycm9yIixyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoX191bmlDb25maWdbImFzeW5jIl1bImVycm9yIl0pfX0pLHR9KSksYS5kZWZhdWx0LmNvbXBvbmVudCgicGFnZXMtZnVuZC13aXRoZHJhdyIsKGZ1bmN0aW9uKGUpe3ZhciB0PXtjb21wb25lbnQ6UHJvbWlzZS5hbGwoW24uZSgicGFnZXMtY29tbW9uLWFib3V0dXN+cGFnZXMtY29tbW9uLWFyZWF+cGFnZXMtY29tbW9uLWFydGljbGV+cGFnZXMtY29tbW9uLWJvcnJvd2luZ35wYWdlcy1jb21tb24tY29udH5lMjZjNDNmNSIpLG4uZSgicGFnZXMtY29tbW9uLWFib3V0dXN+cGFnZXMtY29tbW9uLWFyZWF+cGFnZXMtY29tbW9uLWFydGljbGV+cGFnZXMtY29tbW9uLWJvcnJvd2luZ35wYWdlcy1jb21tb24tY29udH40NjZkMTAyZSIpLG4uZSgicGFnZXMtY29tbW9uLWxvZ2lufnBhZ2VzLWNvbW1vbi1yZWdpc3Rlcn5wYWdlcy1jb3B5dHJhZGUtY29weX5wYWdlcy1mb2xsb3ctaW5kZXh+cGFnZXMtZnVuZC1mdW5kVHJhbn5hZThkMmU2YyIpLG4uZSgicGFnZXMtZnVuZC13aXRoZHJhd35wYWdlcy1pZW8tc3Vic2NyaWJlfnBhZ2VzLWludmVzdC1taW5lfnBhZ2VzLXNldHRpbmctYWRkV2FsbGV0Iiksbi5lKCJwYWdlcy1mdW5kLXdpdGhkcmF3IildKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIGUobigiYjY4OCIpKX0uYmluZChudWxsLG4pKS5jYXRjaChuLm9lKSxkZWxheTpfX3VuaUNvbmZpZ1siYXN5bmMiXS5kZWxheSx0aW1lb3V0Ol9fdW5pQ29uZmlnWyJhc3luYyJdLnRpbWVvdXR9O3JldHVybiBfX3VuaUNvbmZpZ1siYXN5bmMiXVsibG9hZGluZyJdJiYodC5sb2FkaW5nPXtuYW1lOiJTeXN0ZW1Bc3luY0xvYWRpbmciLHJlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZShfX3VuaUNvbmZpZ1siYXN5bmMiXVsibG9hZGluZyJdKX19KSxfX3VuaUNvbmZpZ1siYXN5bmMiXVsiZXJyb3IiXSYmKHQuZXJyb3I9e25hbWU6IlN5c3RlbUFzeW5jRXJyb3IiLHJlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZShfX3VuaUNvbmZpZ1siYXN5bmMiXVsiZXJyb3IiXSl9fSksdH0pKSxhLmRlZmF1bHQuY29tcG9uZW50KCJwYWdlcy1vdGMtb3RjIiwoZnVuY3Rpb24oZSl7dmFyIHQ9e2NvbXBvbmVudDpQcm9taXNlLmFsbChbbi5lKCJwYWdlcy1jb21tb24tYWJvdXR1c35wYWdlcy1jb21tb24tYXJlYX5wYWdlcy1jb21tb24tYXJ0aWNsZX5wYWdlcy1jb21tb24tYm9ycm93aW5nfnBhZ2VzLWNvbW1vbi1jb250fmUyNmM0M2Y1Iiksbi5lKCJwYWdlcy1jb21tb24tbG9naW5+cGFnZXMtY29tbW9uLXJlZ2lzdGVyfnBhZ2VzLWNvcHl0cmFkZS1jb3B5fnBhZ2VzLWZvbGxvdy1pbmRleH5wYWdlcy1mdW5kLWZ1bmRUcmFufmFlOGQyZTZjIiksbi5lKCJwYWdlcy1jb3B5dHJhZGUtY29weX5wYWdlcy1pbnZlc3QtcHVyY2hhc2V+cGFnZXMtb3RjLW90Y35wYWdlcy10cmFuc2FjdGlvbi1jb250cmFjdH5wYWdlcy10cmFuc2FjdGlvfmU3N2E0ZWM3Iiksbi5lKCJwYWdlcy1vdGMtb3RjIildKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIGUobigiZjQwNCIpKX0uYmluZChudWxsLG4pKS5jYXRjaChuLm9lKSxkZWxheTpfX3VuaUNvbmZpZ1siYXN5bmMiXS5kZWxheSx0aW1lb3V0Ol9fdW5pQ29uZmlnWyJhc3luYyJdLnRpbWVvdXR9O3JldHVybiBfX3VuaUNvbmZpZ1siYXN5bmMiXVsibG9hZGluZyJdJiYodC5sb2FkaW5nPXtuYW1lOiJTeXN0ZW1Bc3luY0xvYWRpbmciLHJlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZShfX3VuaUNvbmZpZ1siYXN5bmMiXVsibG9hZGluZyJdKX19KSxfX3VuaUNvbmZpZ1siYXN5bmMiXVsiZXJyb3IiXSYmKHQuZXJyb3I9e25hbWU6IlN5c3RlbUFzeW5jRXJyb3IiLHJlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZShfX3VuaUNvbmZpZ1siYXN5bmMiXVsiZXJyb3IiXSl9fSksdH0pKSxhLmRlZmF1bHQuY29tcG9uZW50KCJwYWdlcy1zZXR0aW5nLXJlYWwiLChmdW5jdGlvbihlKXt2YXIgdD17Y29tcG9uZW50OlByb21pc2UuYWxsKFtuLmUoInBhZ2VzLWNvbW1vbi1hYm91dHVzfnBhZ2VzLWNvbW1vbi1hcmVhfnBhZ2VzLWNvbW1vbi1hcnRpY2xlfnBhZ2VzLWNvbW1vbi1ib3Jyb3dpbmd+cGFnZXMtY29tbW9uLWNvbnR+ZTI2YzQzZjUiKSxuLmUoInBhZ2VzLWNvbW1vbi1hYm91dHVzfnBhZ2VzLWNvbW1vbi1hcmVhfnBhZ2VzLWNvbW1vbi1hcnRpY2xlfnBhZ2VzLWNvbW1vbi1ib3Jyb3dpbmd+cGFnZXMtY29tbW9uLWNvbnR+NDY2ZDEwMmUiKSxuLmUoInBhZ2VzLXNldHRpbmctcmVhbH5wYWdlcy1zZXR0aW5nLXNldHRpbmciKSxuLmUoInBhZ2VzLXNldHRpbmctcmVhbCIpXSkudGhlbihmdW5jdGlvbigpe3JldHVybiBlKG4oIjI0MWYiKSl9LmJpbmQobnVsbCxuKSkuY2F0Y2gobi5vZSksZGVsYXk6X191bmlDb25maWdbImFzeW5jIl0uZGVsYXksdGltZW91dDpfX3VuaUNvbmZpZ1siYXN5bmMiXS50aW1lb3V0fTtyZXR1cm4gX191bmlDb25maWdbImFzeW5jIl1bImxvYWRpbmciXSYmKHQubG9hZGluZz17bmFtZToiU3lzdGVtQXN5bmNMb2FkaW5nIixyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoX191bmlDb25maWdbImFzeW5jIl1bImxvYWRpbmciXSl9fSksX191bmlDb25maWdbImFzeW5jIl1bImVycm9yIl0mJih0LmVycm9yPXtuYW1lOiJTeXN0ZW1Bc3luY0Vycm9yIixyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoX191bmlDb25maWdbImFzeW5jIl1bImVycm9yIl0pfX0pLHR9KSksYS5kZWZhdWx0LmNvbXBvbmVudCgicGFnZXMtc2V0dGluZy1hZGRXYWxsZXQiLChmdW5jdGlvbihlKXt2YXIgdD17Y29tcG9uZW50OlByb21pc2UuYWxsKFtuLmUoInBhZ2VzLWNvbW1vbi1hYm91dHVzfnBhZ2VzLWNvbW1vbi1hcmVhfnBhZ2VzLWNvbW1vbi1hcnRpY2xlfnBhZ2VzLWNvbW1vbi1ib3Jyb3dpbmd+cGFnZXMtY29tbW9uLWNvbnR+ZTI2YzQzZjUiKSxuLmUoInBhZ2VzLWNvbW1vbi1hYm91dHVzfnBhZ2VzLWNvbW1vbi1hcmVhfnBhZ2VzLWNvbW1vbi1hcnRpY2xlfnBhZ2VzLWNvbW1vbi1ib3Jyb3dpbmd+cGFnZXMtY29tbW9uLWNvbnR+NDY2ZDEwMmUiKSxuLmUoInBhZ2VzLWNvbW1vbi1sb2dpbn5wYWdlcy1jb21tb24tcmVnaXN0ZXJ+cGFnZXMtY29weXRyYWRlLWNvcHl+cGFnZXMtZm9sbG93LWluZGV4fnBhZ2VzLWZ1bmQtZnVuZFRyYW5+YWU4ZDJlNmMiKSxuLmUoInBhZ2VzLWZ1bmQtd2l0aGRyYXd+cGFnZXMtaWVvLXN1YnNjcmliZX5wYWdlcy1pbnZlc3QtbWluZX5wYWdlcy1zZXR0aW5nLWFkZFdhbGxldCIpLG4uZSgicGFnZXMtc2V0dGluZy1hZGRXYWxsZXQiKV0pLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gZShuKCJiM2U2IikpfS5iaW5kKG51bGwsbikpLmNhdGNoKG4ub2UpLGRlbGF5Ol9fdW5pQ29uZmlnWyJhc3luYyJdLmRlbGF5LHRpbWVvdXQ6X191bmlDb25maWdbImFzeW5jIl0udGltZW91dH07cmV0dXJuIF9fdW5pQ29uZmlnWyJhc3luYyJdWyJsb2FkaW5nIl0mJih0LmxvYWRpbmc9e25hbWU6IlN5c3RlbUFzeW5jTG9hZGluZyIscmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKF9fdW5pQ29uZmlnWyJhc3luYyJdWyJsb2FkaW5nIl0pfX0pLF9fdW5pQ29uZmlnWyJhc3luYyJdWyJlcnJvciJdJiYodC5lcnJvcj17bmFtZToiU3lzdGVtQXN5bmNFcnJvciIscmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKF9fdW5pQ29uZmlnWyJhc3luYyJdWyJlcnJvciJdKX19KSx0fSkpLGEuZGVmYXVsdC5jb21wb25lbnQoInBhZ2VzLW1hcmtldC1zZWFyY2giLChmdW5jdGlvbihlKXt2YXIgdD17Y29tcG9uZW50OlByb21pc2UuYWxsKFtuLmUoInBhZ2VzLWNvbW1vbi1hYm91dHVzfnBhZ2VzLWNvbW1vbi1hcmVhfnBhZ2VzLWNvbW1vbi1hcnRpY2xlfnBhZ2VzLWNvbW1vbi1ib3Jyb3dpbmd+cGFnZXMtY29tbW9uLWNvbnR+ZTI2YzQzZjUiKSxuLmUoInBhZ2VzLWNvbW1vbi1hcmVhfnBhZ2VzLWZ1bmQtc2VsZWN0fnBhZ2VzLW1hcmtldC1zZWFyY2giKSxuLmUoInBhZ2VzLW1hcmtldC1zZWFyY2giKV0pLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gZShuKCIyODY4IikpfS5iaW5kKG51bGwsbikpLmNhdGNoKG4ub2UpLGRlbGF5Ol9fdW5pQ29uZmlnWyJhc3luYyJdLmRlbGF5LHRpbWVvdXQ6X191bmlDb25maWdbImFzeW5jIl0udGltZW91dH07cmV0dXJuIF9fdW5pQ29uZmlnWyJhc3luYyJdWyJsb2FkaW5nIl0mJih0LmxvYWRpbmc9e25hbWU6IlN5c3RlbUFzeW5jTG9hZGluZyIscmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKF9fdW5pQ29uZmlnWyJhc3luYyJdWyJsb2FkaW5nIl0pfX0pLF9fdW5pQ29uZmlnWyJhc3luYyJdWyJlcnJvciJdJiYodC5lcnJvcj17bmFtZToiU3lzdGVtQXN5bmNFcnJvciIscmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKF9fdW5pQ29uZmlnWyJhc3luYyJdWyJlcnJvciJdKX19KSx0fSkpLGEuZGVmYXVsdC5jb21wb25lbnQoInBhZ2VzLWNvbW1vbi1hcnRpY2xlIiwoZnVuY3Rpb24oZSl7dmFyIHQ9e2NvbXBvbmVudDpQcm9taXNlLmFsbChbbi5lKCJwYWdlcy1jb21tb24tYWJvdXR1c35wYWdlcy1jb21tb24tYXJlYX5wYWdlcy1jb21tb24tYXJ0aWNsZX5wYWdlcy1jb21tb24tYm9ycm93aW5nfnBhZ2VzLWNvbW1vbi1jb250fmUyNmM0M2Y1Iiksbi5lKCJwYWdlcy1jb21tb24tYWJvdXR1c35wYWdlcy1jb21tb24tYXJlYX5wYWdlcy1jb21tb24tYXJ0aWNsZX5wYWdlcy1jb21tb24tYm9ycm93aW5nfnBhZ2VzLWNvbW1vbi1jb250fjQ2NmQxMDJlIiksbi5lKCJwYWdlcy1jb21tb24tYXJ0aWNsZSIpXSkudGhlbihmdW5jdGlvbigpe3JldHVybiBlKG4oImNmM2UiKSl9LmJpbmQobnVsbCxuKSkuY2F0Y2gobi5vZSksZGVsYXk6X191bmlDb25maWdbImFzeW5jIl0uZGVsYXksdGltZW91dDpfX3VuaUNvbmZpZ1siYXN5bmMiXS50aW1lb3V0fTtyZXR1cm4gX191bmlDb25maWdbImFzeW5jIl1bImxvYWRpbmciXSYmKHQubG9hZGluZz17bmFtZToiU3lzdGVtQXN5bmNMb2FkaW5nIixyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoX191bmlDb25maWdbImFzeW5jIl1bImxvYWRpbmciXSl9fSksX191bmlDb25maWdbImFzeW5jIl1bImVycm9yIl0mJih0LmVycm9yPXtuYW1lOiJTeXN0ZW1Bc3luY0Vycm9yIixyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoX191bmlDb25maWdbImFzeW5jIl1bImVycm9yIl0pfX0pLHR9KSksYS5kZWZhdWx0LmNvbXBvbmVudCgicGFnZXMtaWVvLWllbyIsKGZ1bmN0aW9uKGUpe3ZhciB0PXtjb21wb25lbnQ6UHJvbWlzZS5hbGwoW24uZSgicGFnZXMtY29tbW9uLWFib3V0dXN+cGFnZXMtY29tbW9uLWFyZWF+cGFnZXMtY29tbW9uLWFydGljbGV+cGFnZXMtY29tbW9uLWJvcnJvd2luZ35wYWdlcy1jb21tb24tY29udH5lMjZjNDNmNSIpLG4uZSgicGFnZXMtY29tbW9uLWFib3V0dXN+cGFnZXMtY29tbW9uLWFyZWF+cGFnZXMtY29tbW9uLWFydGljbGV+cGFnZXMtY29tbW9uLWJvcnJvd2luZ35wYWdlcy1jb21tb24tY29udH40NjZkMTAyZSIpLG4uZSgicGFnZXMtaWVvLWllb35wYWdlcy1pbmRleC1pbmRleH5wYWdlcy1pbnZlc3QtaW52ZXN0Iiksbi5lKCJwYWdlcy1pZW8taWVvIildKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIGUobigiZWE2YiIpKX0uYmluZChudWxsLG4pKS5jYXRjaChuLm9lKSxkZWxheTpfX3VuaUNvbmZpZ1siYXN5bmMiXS5kZWxheSx0aW1lb3V0Ol9fdW5pQ29uZmlnWyJhc3luYyJdLnRpbWVvdXR9O3JldHVybiBfX3VuaUNvbmZpZ1siYXN5bmMiXVsibG9hZGluZyJdJiYodC5sb2FkaW5nPXtuYW1lOiJTeXN0ZW1Bc3luY0xvYWRpbmciLHJlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZShfX3VuaUNvbmZpZ1siYXN5bmMiXVsibG9hZGluZyJdKX19KSxfX3VuaUNvbmZpZ1siYXN5bmMiXVsiZXJyb3IiXSYmKHQuZXJyb3I9e25hbWU6IlN5c3RlbUFzeW5jRXJyb3IiLHJlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZShfX3VuaUNvbmZpZ1siYXN5bmMiXVsiZXJyb3IiXSl9fSksdH0pKSxhLmRlZmF1bHQuY29tcG9uZW50KCJwYWdlcy1pZW8tc3Vic2NyaWJlIiwoZnVuY3Rpb24oZSl7dmFyIHQ9e2NvbXBvbmVudDpQcm9taXNlLmFsbChbbi5lKCJwYWdlcy1jb21tb24tYWJvdXR1c35wYWdlcy1jb21tb24tYXJlYX5wYWdlcy1jb21tb24tYXJ0aWNsZX5wYWdlcy1jb21tb24tYm9ycm93aW5nfnBhZ2VzLWNvbW1vbi1jb250fmUyNmM0M2Y1Iiksbi5lKCJwYWdlcy1jb21tb24tYWJvdXR1c35wYWdlcy1jb21tb24tYXJlYX5wYWdlcy1jb21tb24tYXJ0aWNsZX5wYWdlcy1jb21tb24tYm9ycm93aW5nfnBhZ2VzLWNvbW1vbi1jb250fjQ2NmQxMDJlIiksbi5lKCJwYWdlcy1jb21tb24tbG9naW5+cGFnZXMtY29tbW9uLXJlZ2lzdGVyfnBhZ2VzLWNvcHl0cmFkZS1jb3B5fnBhZ2VzLWZvbGxvdy1pbmRleH5wYWdlcy1mdW5kLWZ1bmRUcmFufmFlOGQyZTZjIiksbi5lKCJwYWdlcy1mdW5kLXdpdGhkcmF3fnBhZ2VzLWllby1zdWJzY3JpYmV+cGFnZXMtaW52ZXN0LW1pbmV+cGFnZXMtc2V0dGluZy1hZGRXYWxsZXQiKSxuLmUoInBhZ2VzLWllby1zdWJzY3JpYmUiKV0pLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gZShuKCI1NWIzIikpfS5iaW5kKG51bGwsbikpLmNhdGNoKG4ub2UpLGRlbGF5Ol9fdW5pQ29uZmlnWyJhc3luYyJdLmRlbGF5LHRpbWVvdXQ6X191bmlDb25maWdbImFzeW5jIl0udGltZW91dH07cmV0dXJuIF9fdW5pQ29uZmlnWyJhc3luYyJdWyJsb2FkaW5nIl0mJih0LmxvYWRpbmc9e25hbWU6IlN5c3RlbUFzeW5jTG9hZGluZyIscmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKF9fdW5pQ29uZmlnWyJhc3luYyJdWyJsb2FkaW5nIl0pfX0pLF9fdW5pQ29uZmlnWyJhc3luYyJdWyJlcnJvciJdJiYodC5lcnJvcj17bmFtZToiU3lzdGVtQXN5bmNFcnJvciIscmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKF9fdW5pQ29uZmlnWyJhc3luYyJdWyJlcnJvciJdKX19KSx0fSkpLGEuZGVmYXVsdC5jb21wb25lbnQoInBhZ2VzLWNvbW1vbi13ZWJWaWV3IiwoZnVuY3Rpb24oZSl7dmFyIHQ9e2NvbXBvbmVudDpuLmUoInBhZ2VzLWNvbW1vbi13ZWJWaWV3IikudGhlbihmdW5jdGlvbigpe3JldHVybiBlKG4oImZiZTUiKSl9LmJpbmQobnVsbCxuKSkuY2F0Y2gobi5vZSksZGVsYXk6X191bmlDb25maWdbImFzeW5jIl0uZGVsYXksdGltZW91dDpfX3VuaUNvbmZpZ1siYXN5bmMiXS50aW1lb3V0fTtyZXR1cm4gX191bmlDb25maWdbImFzeW5jIl1bImxvYWRpbmciXSYmKHQubG9hZGluZz17bmFtZToiU3lzdGVtQXN5bmNMb2FkaW5nIixyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoX191bmlDb25maWdbImFzeW5jIl1bImxvYWRpbmciXSl9fSksX191bmlDb25maWdbImFzeW5jIl1bImVycm9yIl0mJih0LmVycm9yPXtuYW1lOiJTeXN0ZW1Bc3luY0Vycm9yIixyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoX191bmlDb25maWdbImFzeW5jIl1bImVycm9yIl0pfX0pLHR9KSksYS5kZWZhdWx0LmNvbXBvbmVudCgicGFnZXMtaWVvLW9yZGVyIiwoZnVuY3Rpb24oZSl7dmFyIHQ9e2NvbXBvbmVudDpQcm9taXNlLmFsbChbbi5lKCJwYWdlcy1jb21tb24tYWJvdXR1c35wYWdlcy1jb21tb24tYXJlYX5wYWdlcy1jb21tb24tYXJ0aWNsZX5wYWdlcy1jb21tb24tYm9ycm93aW5nfnBhZ2VzLWNvbW1vbi1jb250fmUyNmM0M2Y1Iiksbi5lKCJwYWdlcy1jb21tb24tYWJvdXR1c35wYWdlcy1jb21tb24tYXJlYX5wYWdlcy1jb21tb24tYXJ0aWNsZX5wYWdlcy1jb21tb24tYm9ycm93aW5nfnBhZ2VzLWNvbW1vbi1jb250fjQ2NmQxMDJlIiksbi5lKCJwYWdlcy1pZW8tb3JkZXIiKV0pLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gZShuKCI3Yzk4IikpfS5iaW5kKG51bGwsbikpLmNhdGNoKG4ub2UpLGRlbGF5Ol9fdW5pQ29uZmlnWyJhc3luYyJdLmRlbGF5LHRpbWVvdXQ6X191bmlDb25maWdbImFzeW5jIl0udGltZW91dH07cmV0dXJuIF9fdW5pQ29uZmlnWyJhc3luYyJdWyJsb2FkaW5nIl0mJih0LmxvYWRpbmc9e25hbWU6IlN5c3RlbUFzeW5jTG9hZGluZyIscmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKF9fdW5pQ29uZmlnWyJhc3luYyJdWyJsb2FkaW5nIl0pfX0pLF9fdW5pQ29uZmlnWyJhc3luYyJdWyJlcnJvciJdJiYodC5lcnJvcj17bmFtZToiU3lzdGVtQXN5bmNFcnJvciIscmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKF9fdW5pQ29uZmlnWyJhc3luYyJdWyJlcnJvciJdKX19KSx0fSkpLGEuZGVmYXVsdC5jb21wb25lbnQoInBhZ2VzLWxvY2ttaW5nLWxvY2ttaW5nIiwoZnVuY3Rpb24oZSl7dmFyIHQ9e2NvbXBvbmVudDpQcm9taXNlLmFsbChbbi5lKCJwYWdlcy1jb21tb24tYWJvdXR1c35wYWdlcy1jb21tb24tYXJlYX5wYWdlcy1jb21tb24tYXJ0aWNsZX5wYWdlcy1jb21tb24tYm9ycm93aW5nfnBhZ2VzLWNvbW1vbi1jb250fmUyNmM0M2Y1Iiksbi5lKCJwYWdlcy1jb21tb24tYWJvdXR1c35wYWdlcy1jb21tb24tYXJlYX5wYWdlcy1jb21tb24tYXJ0aWNsZX5wYWdlcy1jb21tb24tYm9ycm93aW5nfnBhZ2VzLWNvbW1vbi1jb250fjQ2NmQxMDJlIiksbi5lKCJwYWdlcy1sb2NrbWluZy1sb2NrbWluZyIpXSkudGhlbihmdW5jdGlvbigpe3JldHVybiBlKG4oImNlYzYiKSl9LmJpbmQobnVsbCxuKSkuY2F0Y2gobi5vZSksZGVsYXk6X191bmlDb25maWdbImFzeW5jIl0uZGVsYXksdGltZW91dDpfX3VuaUNvbmZpZ1siYXN5bmMiXS50aW1lb3V0fTtyZXR1cm4gX191bmlDb25maWdbImFzeW5jIl1bImxvYWRpbmciXSYmKHQubG9hZGluZz17bmFtZToiU3lzdGVtQXN5bmNMb2FkaW5nIixyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoX191bmlDb25maWdbImFzeW5jIl1bImxvYWRpbmciXSl9fSksX191bmlDb25maWdbImFzeW5jIl1bImVycm9yIl0mJih0LmVycm9yPXtuYW1lOiJTeXN0ZW1Bc3luY0Vycm9yIixyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoX191bmlDb25maWdbImFzeW5jIl1bImVycm9yIl0pfX0pLHR9KSksYS5kZWZhdWx0LmNvbXBvbmVudCgicGFnZXMtbG9ja21pbmctYnV5IiwoZnVuY3Rpb24oZSl7dmFyIHQ9e2NvbXBvbmVudDpQcm9taXNlLmFsbChbbi5lKCJwYWdlcy1jb21tb24tYWJvdXR1c35wYWdlcy1jb21tb24tYXJlYX5wYWdlcy1jb21tb24tYXJ0aWNsZX5wYWdlcy1jb21tb24tYm9ycm93aW5nfnBhZ2VzLWNvbW1vbi1jb250fmUyNmM0M2Y1Iiksbi5lKCJwYWdlcy1jb21tb24tYWJvdXR1c35wYWdlcy1jb21tb24tYXJlYX5wYWdlcy1jb21tb24tYXJ0aWNsZX5wYWdlcy1jb21tb24tYm9ycm93aW5nfnBhZ2VzLWNvbW1vbi1jb250fjQ2NmQxMDJlIiksbi5lKCJwYWdlcy1sb2NrbWluZy1idXkiKV0pLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gZShuKCJhYWJkIikpfS5iaW5kKG51bGwsbikpLmNhdGNoKG4ub2UpLGRlbGF5Ol9fdW5pQ29uZmlnWyJhc3luYyJdLmRlbGF5LHRpbWVvdXQ6X191bmlDb25maWdbImFzeW5jIl0udGltZW91dH07cmV0dXJuIF9fdW5pQ29uZmlnWyJhc3luYyJdWyJsb2FkaW5nIl0mJih0LmxvYWRpbmc9e25hbWU6IlN5c3RlbUFzeW5jTG9hZGluZyIscmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKF9fdW5pQ29uZmlnWyJhc3luYyJdWyJsb2FkaW5nIl0pfX0pLF9fdW5pQ29uZmlnWyJhc3luYyJdWyJlcnJvciJdJiYodC5lcnJvcj17bmFtZToiU3lzdGVtQXN5bmNFcnJvciIscmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKF9fdW5pQ29uZmlnWyJhc3luYyJdWyJlcnJvciJdKX19KSx0fSkpLGEuZGVmYXVsdC5jb21wb25lbnQoInBhZ2VzLWxvY2ttaW5nLW9yZGVyIiwoZnVuY3Rpb24oZSl7dmFyIHQ9e2NvbXBvbmVudDpQcm9taXNlLmFsbChbbi5lKCJwYWdlcy1jb21tb24tYWJvdXR1c35wYWdlcy1jb21tb24tYXJlYX5wYWdlcy1jb21tb24tYXJ0aWNsZX5wYWdlcy1jb21tb24tYm9ycm93aW5nfnBhZ2VzLWNvbW1vbi1jb250fmUyNmM0M2Y1Iiksbi5lKCJwYWdlcy1jb21tb24tYWJvdXR1c35wYWdlcy1jb21tb24tYXJlYX5wYWdlcy1jb21tb24tYXJ0aWNsZX5wYWdlcy1jb21tb24tYm9ycm93aW5nfnBhZ2VzLWNvbW1vbi1jb250fjQ2NmQxMDJlIiksbi5lKCJwYWdlcy1mb2xsb3ctZm9sbG93fnBhZ2VzLWxvY2ttaW5nLW9yZGVyfnBhZ2VzLXNldHRpbmctd2FsbGV0Iiksbi5lKCJwYWdlcy1sb2NrbWluZy1vcmRlciIpXSkudGhlbihmdW5jdGlvbigpe3JldHVybiBlKG4oIjUyMzMiKSl9LmJpbmQobnVsbCxuKSkuY2F0Y2gobi5vZSksZGVsYXk6X191bmlDb25maWdbImFzeW5jIl0uZGVsYXksdGltZW91dDpfX3VuaUNvbmZpZ1siYXN5bmMiXS50aW1lb3V0fTtyZXR1cm4gX191bmlDb25maWdbImFzeW5jIl1bImxvYWRpbmciXSYmKHQubG9hZGluZz17bmFtZToiU3lzdGVtQXN5bmNMb2FkaW5nIixyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoX191bmlDb25maWdbImFzeW5jIl1bImxvYWRpbmciXSl9fSksX191bmlDb25maWdbImFzeW5jIl1bImVycm9yIl0mJih0LmVycm9yPXtuYW1lOiJTeXN0ZW1Bc3luY0Vycm9yIixyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoX191bmlDb25maWdbImFzeW5jIl1bImVycm9yIl0pfX0pLHR9KSksYS5kZWZhdWx0LmNvbXBvbmVudCgicGFnZXMtZnVuZC1hc3NldHNfcmVjb3JkIiwoZnVuY3Rpb24oZSl7dmFyIHQ9e2NvbXBvbmVudDpQcm9taXNlLmFsbChbbi5lKCJwYWdlcy1jb21tb24tYWJvdXR1c35wYWdlcy1jb21tb24tYXJlYX5wYWdlcy1jb21tb24tYXJ0aWNsZX5wYWdlcy1jb21tb24tYm9ycm93aW5nfnBhZ2VzLWNvbW1vbi1jb250fmUyNmM0M2Y1Iiksbi5lKCJwYWdlcy1jb21tb24tYWJvdXR1c35wYWdlcy1jb21tb24tYXJlYX5wYWdlcy1jb21tb24tYXJ0aWNsZX5wYWdlcy1jb21tb24tYm9ycm93aW5nfnBhZ2VzLWNvbW1vbi1jb250fjQ2NmQxMDJlIiksbi5lKCJwYWdlcy1jb21tb24tbG9naW5+cGFnZXMtY29tbW9uLXJlZ2lzdGVyfnBhZ2VzLWZ1bmQtYXNzZXRzfnBhZ2VzLWZ1bmQtYXNzZXRzX3JlY29yZH5wYWdlcy1mdW5kLWZ1bmRUfjg1Mjc3NjU2Iiksbi5lKCJwYWdlcy1mdW5kLWFzc2V0c19yZWNvcmQiKV0pLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gZShuKCJjMWJiIikpfS5iaW5kKG51bGwsbikpLmNhdGNoKG4ub2UpLGRlbGF5Ol9fdW5pQ29uZmlnWyJhc3luYyJdLmRlbGF5LHRpbWVvdXQ6X191bmlDb25maWdbImFzeW5jIl0udGltZW91dH07cmV0dXJuIF9fdW5pQ29uZmlnWyJhc3luYyJdWyJsb2FkaW5nIl0mJih0LmxvYWRpbmc9e25hbWU6IlN5c3RlbUFzeW5jTG9hZGluZyIscmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKF9fdW5pQ29uZmlnWyJhc3luYyJdWyJsb2FkaW5nIl0pfX0pLF9fdW5pQ29uZmlnWyJhc3luYyJdWyJlcnJvciJdJiYodC5lcnJvcj17bmFtZToiU3lzdGVtQXN5bmNFcnJvciIscmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKF9fdW5pQ29uZmlnWyJhc3luYyJdWyJlcnJvciJdKX19KSx0fSkpLGEuZGVmYXVsdC5jb21wb25lbnQoInBhZ2VzLWZ1bmQtdHJhbnNmZXIiLChmdW5jdGlvbihlKXt2YXIgdD17Y29tcG9uZW50OlByb21pc2UuYWxsKFtuLmUoInBhZ2VzLWNvbW1vbi1hYm91dHVzfnBhZ2VzLWNvbW1vbi1hcmVhfnBhZ2VzLWNvbW1vbi1hcnRpY2xlfnBhZ2VzLWNvbW1vbi1ib3Jyb3dpbmd+cGFnZXMtY29tbW9uLWNvbnR+ZTI2YzQzZjUiKSxuLmUoInBhZ2VzLWNvbW1vbi1hYm91dHVzfnBhZ2VzLWNvbW1vbi1hcmVhfnBhZ2VzLWNvbW1vbi1hcnRpY2xlfnBhZ2VzLWNvbW1vbi1ib3Jyb3dpbmd+cGFnZXMtY29tbW9uLWNvbnR+NDY2ZDEwMmUiKSxuLmUoInBhZ2VzLWNvbW1vbi1sb2dpbn5wYWdlcy1jb21tb24tcmVnaXN0ZXJ+cGFnZXMtZnVuZC1hc3NldHN+cGFnZXMtZnVuZC1hc3NldHNfcmVjb3JkfnBhZ2VzLWZ1bmQtZnVuZFR+ODUyNzc2NTYiKSxuLmUoInBhZ2VzLWZ1bmQtdHJhbnNmZXIiKV0pLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gZShuKCIzZTQ3IikpfS5iaW5kKG51bGwsbikpLmNhdGNoKG4ub2UpLGRlbGF5Ol9fdW5pQ29uZmlnWyJhc3luYyJdLmRlbGF5LHRpbWVvdXQ6X191bmlDb25maWdbImFzeW5jIl0udGltZW91dH07cmV0dXJuIF9fdW5pQ29uZmlnWyJhc3luYyJdWyJsb2FkaW5nIl0mJih0LmxvYWRpbmc9e25hbWU6IlN5c3RlbUFzeW5jTG9hZGluZyIscmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKF9fdW5pQ29uZmlnWyJhc3luYyJdWyJsb2FkaW5nIl0pfX0pLF9fdW5pQ29uZmlnWyJhc3luYyJdWyJlcnJvciJdJiYodC5lcnJvcj17bmFtZToiU3lzdGVtQXN5bmNFcnJvciIscmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKF9fdW5pQ29uZmlnWyJhc3luYyJdWyJlcnJvciJdKX19KSx0fSkpLGEuZGVmYXVsdC5jb21wb25lbnQoInBhZ2VzLWZ1bmQtZnVuZFRyYW5zZmVyIiwoZnVuY3Rpb24oZSl7dmFyIHQ9e2NvbXBvbmVudDpQcm9taXNlLmFsbChbbi5lKCJwYWdlcy1jb21tb24tYWJvdXR1c35wYWdlcy1jb21tb24tYXJlYX5wYWdlcy1jb21tb24tYXJ0aWNsZX5wYWdlcy1jb21tb24tYm9ycm93aW5nfnBhZ2VzLWNvbW1vbi1jb250fmUyNmM0M2Y1Iiksbi5lKCJwYWdlcy1jb21tb24tYWJvdXR1c35wYWdlcy1jb21tb24tYXJlYX5wYWdlcy1jb21tb24tYXJ0aWNsZX5wYWdlcy1jb21tb24tYm9ycm93aW5nfnBhZ2VzLWNvbW1vbi1jb250fjQ2NmQxMDJlIiksbi5lKCJwYWdlcy1jb21tb24tbG9naW5+cGFnZXMtY29tbW9uLXJlZ2lzdGVyfnBhZ2VzLWNvcHl0cmFkZS1jb3B5fnBhZ2VzLWZvbGxvdy1pbmRleH5wYWdlcy1mdW5kLWZ1bmRUcmFufmFlOGQyZTZjIiksbi5lKCJwYWdlcy1jb21tb24tbG9naW5+cGFnZXMtY29tbW9uLXJlZ2lzdGVyfnBhZ2VzLWZ1bmQtYXNzZXRzfnBhZ2VzLWZ1bmQtYXNzZXRzX3JlY29yZH5wYWdlcy1mdW5kLWZ1bmRUfjg1Mjc3NjU2Iiksbi5lKCJwYWdlcy1mdW5kLWZ1bmRUcmFuc2ZlciIpXSkudGhlbihmdW5jdGlvbigpe3JldHVybiBlKG4oImEzN2UiKSl9LmJpbmQobnVsbCxuKSkuY2F0Y2gobi5vZSksZGVsYXk6X191bmlDb25maWdbImFzeW5jIl0uZGVsYXksdGltZW91dDpfX3VuaUNvbmZpZ1siYXN5bmMiXS50aW1lb3V0fTtyZXR1cm4gX191bmlDb25maWdbImFzeW5jIl1bImxvYWRpbmciXSYmKHQubG9hZGluZz17bmFtZToiU3lzdGVtQXN5bmNMb2FkaW5nIixyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoX191bmlDb25maWdbImFzeW5jIl1bImxvYWRpbmciXSl9fSksX191bmlDb25maWdbImFzeW5jIl1bImVycm9yIl0mJih0LmVycm9yPXtuYW1lOiJTeXN0ZW1Bc3luY0Vycm9yIixyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoX191bmlDb25maWdbImFzeW5jIl1bImVycm9yIl0pfX0pLHR9KSksYS5kZWZhdWx0LmNvbXBvbmVudCgicGFnZXMtZnVuZC1hc3NldHNfYWxsX3JlY29yZCIsKGZ1bmN0aW9uKGUpe3ZhciB0PXtjb21wb25lbnQ6UHJvbWlzZS5hbGwoW24uZSgicGFnZXMtY29tbW9uLWFib3V0dXN+cGFnZXMtY29tbW9uLWFyZWF+cGFnZXMtY29tbW9uLWFydGljbGV+cGFnZXMtY29tbW9uLWJvcnJvd2luZ35wYWdlcy1jb21tb24tY29udH5lMjZjNDNmNSIpLG4uZSgicGFnZXMtY29tbW9uLWFib3V0dXN+cGFnZXMtY29tbW9uLWFyZWF+cGFnZXMtY29tbW9uLWFydGljbGV+cGFnZXMtY29tbW9uLWJvcnJvd2luZ35wYWdlcy1jb21tb24tY29udH40NjZkMTAyZSIpLG4uZSgicGFnZXMtZnVuZC1hc3NldHNfYWxsX3JlY29yZCIpXSkudGhlbihmdW5jdGlvbigpe3JldHVybiBlKG4oImFhZWYiKSl9LmJpbmQobnVsbCxuKSkuY2F0Y2gobi5vZSksZGVsYXk6X191bmlDb25maWdbImFzeW5jIl0uZGVsYXksdGltZW91dDpfX3VuaUNvbmZpZ1siYXN5bmMiXS50aW1lb3V0fTtyZXR1cm4gX191bmlDb25maWdbImFzeW5jIl1bImxvYWRpbmciXSYmKHQubG9hZGluZz17bmFtZToiU3lzdGVtQXN5bmNMb2FkaW5nIixyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoX191bmlDb25maWdbImFzeW5jIl1bImxvYWRpbmciXSl9fSksX191bmlDb25maWdbImFzeW5jIl1bImVycm9yIl0mJih0LmVycm9yPXtuYW1lOiJTeXN0ZW1Bc3luY0Vycm9yIixyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoX191bmlDb25maWdbImFzeW5jIl1bImVycm9yIl0pfX0pLHR9KSksYS5kZWZhdWx0LmNvbXBvbmVudCgicGFnZXMtZnVuZC10cmFuc2Zlcl9oaXN0b3J5IiwoZnVuY3Rpb24oZSl7dmFyIHQ9e2NvbXBvbmVudDpQcm9taXNlLmFsbChbbi5lKCJwYWdlcy1jb21tb24tYWJvdXR1c35wYWdlcy1jb21tb24tYXJlYX5wYWdlcy1jb21tb24tYXJ0aWNsZX5wYWdlcy1jb21tb24tYm9ycm93aW5nfnBhZ2VzLWNvbW1vbi1jb250fmUyNmM0M2Y1Iiksbi5lKCJwYWdlcy1jb21tb24tYWJvdXR1c35wYWdlcy1jb21tb24tYXJlYX5wYWdlcy1jb21tb24tYXJ0aWNsZX5wYWdlcy1jb21tb24tYm9ycm93aW5nfnBhZ2VzLWNvbW1vbi1jb250fjQ2NmQxMDJlIiksbi5lKCJwYWdlcy1mdW5kLXRyYW5zZmVyX2hpc3RvcnkiKV0pLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gZShuKCJhZjk3IikpfS5iaW5kKG51bGwsbikpLmNhdGNoKG4ub2UpLGRlbGF5Ol9fdW5pQ29uZmlnWyJhc3luYyJdLmRlbGF5LHRpbWVvdXQ6X191bmlDb25maWdbImFzeW5jIl0udGltZW91dH07cmV0dXJuIF9fdW5pQ29uZmlnWyJhc3luYyJdWyJsb2FkaW5nIl0mJih0LmxvYWRpbmc9e25hbWU6IlN5c3RlbUFzeW5jTG9hZGluZyIscmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKF9fdW5pQ29uZmlnWyJhc3luYyJdWyJsb2FkaW5nIl0pfX0pLF9fdW5pQ29uZmlnWyJhc3luYyJdWyJlcnJvciJdJiYodC5lcnJvcj17bmFtZToiU3lzdGVtQXN5bmNFcnJvciIscmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKF9fdW5pQ29uZmlnWyJhc3luYyJdWyJlcnJvciJdKX19KSx0fSkpLGEuZGVmYXVsdC5jb21wb25lbnQoInBhZ2VzLXRyYW5zYWN0aW9uLWluZGV4IiwoZnVuY3Rpb24oZSl7dmFyIHQ9e2NvbXBvbmVudDpQcm9taXNlLmFsbChbbi5lKCJwYWdlcy1jb21tb24tYWJvdXR1c35wYWdlcy1jb21tb24tYXJlYX5wYWdlcy1jb21tb24tYXJ0aWNsZX5wYWdlcy1jb21tb24tYm9ycm93aW5nfnBhZ2VzLWNvbW1vbi1jb250fmUyNmM0M2Y1Iiksbi5lKCJwYWdlcy1jb21tb24tbG9naW5+cGFnZXMtY29tbW9uLXJlZ2lzdGVyfnBhZ2VzLWNvcHl0cmFkZS1jb3B5fnBhZ2VzLWZvbGxvdy1pbmRleH5wYWdlcy1mdW5kLWZ1bmRUcmFufmFlOGQyZTZjIiksbi5lKCJwYWdlcy1jb21tb24tbG9naW5+cGFnZXMtY29tbW9uLXJlZ2lzdGVyfnBhZ2VzLWZ1bmQtYXNzZXRzfnBhZ2VzLWZ1bmQtYXNzZXRzX3JlY29yZH5wYWdlcy1mdW5kLWZ1bmRUfjg1Mjc3NjU2Iiksbi5lKCJwYWdlcy1pbmRleC1pbmRleH5wYWdlcy10cmFuc2FjdGlvbi1pbmRleCIpLG4uZSgicGFnZXMtdHJhbnNhY3Rpb24taW5kZXgiKV0pLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gZShuKCI4YWY0IikpfS5iaW5kKG51bGwsbikpLmNhdGNoKG4ub2UpLGRlbGF5Ol9fdW5pQ29uZmlnWyJhc3luYyJdLmRlbGF5LHRpbWVvdXQ6X191bmlDb25maWdbImFzeW5jIl0udGltZW91dH07cmV0dXJuIF9fdW5pQ29uZmlnWyJhc3luYyJdWyJsb2FkaW5nIl0mJih0LmxvYWRpbmc9e25hbWU6IlN5c3RlbUFzeW5jTG9hZGluZyIscmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKF9fdW5pQ29uZmlnWyJhc3luYyJdWyJsb2FkaW5nIl0pfX0pLF9fdW5pQ29uZmlnWyJhc3luYyJdWyJlcnJvciJdJiYodC5lcnJvcj17bmFtZToiU3lzdGVtQXN5bmNFcnJvciIscmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKF9fdW5pQ29uZmlnWyJhc3luYyJdWyJlcnJvciJdKX19KSx0fSkpLGEuZGVmYXVsdC5jb21wb25lbnQoInBhZ2VzLXRyYW5zYWN0aW9uLWN1cnJlbmN5IiwoZnVuY3Rpb24oZSl7dmFyIHQ9e2NvbXBvbmVudDpQcm9taXNlLmFsbChbbi5lKCJwYWdlcy1jb21tb24tYWJvdXR1c35wYWdlcy1jb21tb24tYXJlYX5wYWdlcy1jb21tb24tYXJ0aWNsZX5wYWdlcy1jb21tb24tYm9ycm93aW5nfnBhZ2VzLWNvbW1vbi1jb250fmUyNmM0M2Y1Iiksbi5lKCJwYWdlcy1jb21tb24tYWJvdXR1c35wYWdlcy1jb21tb24tYXJlYX5wYWdlcy1jb21tb24tYXJ0aWNsZX5wYWdlcy1jb21tb24tYm9ycm93aW5nfnBhZ2VzLWNvbW1vbi1jb250fjQ2NmQxMDJlIiksbi5lKCJwYWdlcy1jb21tb24tbG9naW5+cGFnZXMtY29tbW9uLXJlZ2lzdGVyfnBhZ2VzLWNvcHl0cmFkZS1jb3B5fnBhZ2VzLWZvbGxvdy1pbmRleH5wYWdlcy1mdW5kLWZ1bmRUcmFufmFlOGQyZTZjIiksbi5lKCJwYWdlcy1jb3B5dHJhZGUtY29weX5wYWdlcy1pbnZlc3QtcHVyY2hhc2V+cGFnZXMtb3RjLW90Y35wYWdlcy10cmFuc2FjdGlvbi1jb250cmFjdH5wYWdlcy10cmFuc2FjdGlvfmU3N2E0ZWM3Iiksbi5lKCJwYWdlcy10cmFuc2FjdGlvbi1jdXJyZW5jeSIpXSkudGhlbihmdW5jdGlvbigpe3JldHVybiBlKG4oIjE5NjQiKSl9LmJpbmQobnVsbCxuKSkuY2F0Y2gobi5vZSksZGVsYXk6X191bmlDb25maWdbImFzeW5jIl0uZGVsYXksdGltZW91dDpfX3VuaUNvbmZpZ1siYXN5bmMiXS50aW1lb3V0fTtyZXR1cm4gX191bmlDb25maWdbImFzeW5jIl1bImxvYWRpbmciXSYmKHQubG9hZGluZz17bmFtZToiU3lzdGVtQXN5bmNMb2FkaW5nIixyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoX191bmlDb25maWdbImFzeW5jIl1bImxvYWRpbmciXSl9fSksX191bmlDb25maWdbImFzeW5jIl1bImVycm9yIl0mJih0LmVycm9yPXtuYW1lOiJTeXN0ZW1Bc3luY0Vycm9yIixyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoX191bmlDb25maWdbImFzeW5jIl1bImVycm9yIl0pfX0pLHR9KSksYS5kZWZhdWx0LmNvbXBvbmVudCgicGFnZXMtdHJhbnNhY3Rpb24tY3VycmVuY3lfb3JkZXIiLChmdW5jdGlvbihlKXt2YXIgdD17Y29tcG9uZW50OlByb21pc2UuYWxsKFtuLmUoInBhZ2VzLWNvbW1vbi1hYm91dHVzfnBhZ2VzLWNvbW1vbi1hcmVhfnBhZ2VzLWNvbW1vbi1hcnRpY2xlfnBhZ2VzLWNvbW1vbi1ib3Jyb3dpbmd+cGFnZXMtY29tbW9uLWNvbnR+ZTI2YzQzZjUiKSxuLmUoInBhZ2VzLWNvbW1vbi1hYm91dHVzfnBhZ2VzLWNvbW1vbi1hcmVhfnBhZ2VzLWNvbW1vbi1hcnRpY2xlfnBhZ2VzLWNvbW1vbi1ib3Jyb3dpbmd+cGFnZXMtY29tbW9uLWNvbnR+NDY2ZDEwMmUiKSxuLmUoInBhZ2VzLWNvbW1vbi1sb2dpbn5wYWdlcy1jb21tb24tcmVnaXN0ZXJ+cGFnZXMtZnVuZC1hc3NldHN+cGFnZXMtZnVuZC1hc3NldHNfcmVjb3JkfnBhZ2VzLWZ1bmQtZnVuZFR+ODUyNzc2NTYiKSxuLmUoInBhZ2VzLXRyYW5zYWN0aW9uLWN1cnJlbmN5X29yZGVyIildKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIGUobigiMTg5ZiIpKX0uYmluZChudWxsLG4pKS5jYXRjaChuLm9lKSxkZWxheTpfX3VuaUNvbmZpZ1siYXN5bmMiXS5kZWxheSx0aW1lb3V0Ol9fdW5pQ29uZmlnWyJhc3luYyJdLnRpbWVvdXR9O3JldHVybiBfX3VuaUNvbmZpZ1siYXN5bmMiXVsibG9hZGluZyJdJiYodC5sb2FkaW5nPXtuYW1lOiJTeXN0ZW1Bc3luY0xvYWRpbmciLHJlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZShfX3VuaUNvbmZpZ1siYXN5bmMiXVsibG9hZGluZyJdKX19KSxfX3VuaUNvbmZpZ1siYXN5bmMiXVsiZXJyb3IiXSYmKHQuZXJyb3I9e25hbWU6IlN5c3RlbUFzeW5jRXJyb3IiLHJlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZShfX3VuaUNvbmZpZ1siYXN5bmMiXVsiZXJyb3IiXSl9fSksdH0pKSxhLmRlZmF1bHQuY29tcG9uZW50KCJwYWdlcy10cmFuc2FjdGlvbi1jb250cmFjdCIsKGZ1bmN0aW9uKGUpe3ZhciB0PXtjb21wb25lbnQ6UHJvbWlzZS5hbGwoW24uZSgicGFnZXMtY29tbW9uLWFib3V0dXN+cGFnZXMtY29tbW9uLWFyZWF+cGFnZXMtY29tbW9uLWFydGljbGV+cGFnZXMtY29tbW9uLWJvcnJvd2luZ35wYWdlcy1jb21tb24tY29udH5lMjZjNDNmNSIpLG4uZSgicGFnZXMtY29tbW9uLWFib3V0dXN+cGFnZXMtY29tbW9uLWFyZWF+cGFnZXMtY29tbW9uLWFydGljbGV+cGFnZXMtY29tbW9uLWJvcnJvd2luZ35wYWdlcy1jb21tb24tY29udH40NjZkMTAyZSIpLG4uZSgicGFnZXMtY29tbW9uLWxvZ2lufnBhZ2VzLWNvbW1vbi1yZWdpc3Rlcn5wYWdlcy1jb3B5dHJhZGUtY29weX5wYWdlcy1mb2xsb3ctaW5kZXh+cGFnZXMtZnVuZC1mdW5kVHJhbn5hZThkMmU2YyIpLG4uZSgicGFnZXMtY29weXRyYWRlLWNvcHl+cGFnZXMtaW52ZXN0LXB1cmNoYXNlfnBhZ2VzLW90Yy1vdGN+cGFnZXMtdHJhbnNhY3Rpb24tY29udHJhY3R+cGFnZXMtdHJhbnNhY3Rpb35lNzdhNGVjNyIpLG4uZSgicGFnZXMtdHJhbnNhY3Rpb24tY29udHJhY3QiKV0pLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gZShuKCJiYWFiIikpfS5iaW5kKG51bGwsbikpLmNhdGNoKG4ub2UpLGRlbGF5Ol9fdW5pQ29uZmlnWyJhc3luYyJdLmRlbGF5LHRpbWVvdXQ6X191bmlDb25maWdbImFzeW5jIl0udGltZW91dH07cmV0dXJuIF9fdW5pQ29uZmlnWyJhc3luYyJdWyJsb2FkaW5nIl0mJih0LmxvYWRpbmc9e25hbWU6IlN5c3RlbUFzeW5jTG9hZGluZyIscmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKF9fdW5pQ29uZmlnWyJhc3luYyJdWyJsb2FkaW5nIl0pfX0pLF9fdW5pQ29uZmlnWyJhc3luYyJdWyJlcnJvciJdJiYodC5lcnJvcj17bmFtZToiU3lzdGVtQXN5bmNFcnJvciIscmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKF9fdW5pQ29uZmlnWyJhc3luYyJdWyJlcnJvciJdKX19KSx0fSkpLGEuZGVmYXVsdC5jb21wb25lbnQoInBhZ2VzLXRyYW5zYWN0aW9uLWNvbnRyYWN0X29yZGVyIiwoZnVuY3Rpb24oZSl7dmFyIHQ9e2NvbXBvbmVudDpQcm9taXNlLmFsbChbbi5lKCJwYWdlcy1jb21tb24tYWJvdXR1c35wYWdlcy1jb21tb24tYXJlYX5wYWdlcy1jb21tb24tYXJ0aWNsZX5wYWdlcy1jb21tb24tYm9ycm93aW5nfnBhZ2VzLWNvbW1vbi1jb250fmUyNmM0M2Y1Iiksbi5lKCJwYWdlcy1jb21tb24tYWJvdXR1c35wYWdlcy1jb21tb24tYXJlYX5wYWdlcy1jb21tb24tYXJ0aWNsZX5wYWdlcy1jb21tb24tYm9ycm93aW5nfnBhZ2VzLWNvbW1vbi1jb250fjQ2NmQxMDJlIiksbi5lKCJwYWdlcy1jb21tb24tbG9naW5+cGFnZXMtY29tbW9uLXJlZ2lzdGVyfnBhZ2VzLWNvcHl0cmFkZS1jb3B5fnBhZ2VzLWZvbGxvdy1pbmRleH5wYWdlcy1mdW5kLWZ1bmRUcmFufmFlOGQyZTZjIiksbi5lKCJwYWdlcy1jb21tb24tbG9naW5+cGFnZXMtY29tbW9uLXJlZ2lzdGVyfnBhZ2VzLWZ1bmQtYXNzZXRzfnBhZ2VzLWZ1bmQtYXNzZXRzX3JlY29yZH5wYWdlcy1mdW5kLWZ1bmRUfjg1Mjc3NjU2Iiksbi5lKCJwYWdlcy10cmFuc2FjdGlvbi1jb250cmFjdF9vcmRlciIpXSkudGhlbihmdW5jdGlvbigpe3JldHVybiBlKG4oIjljNWMiKSl9LmJpbmQobnVsbCxuKSkuY2F0Y2gobi5vZSksZGVsYXk6X191bmlDb25maWdbImFzeW5jIl0uZGVsYXksdGltZW91dDpfX3VuaUNvbmZpZ1siYXN5bmMiXS50aW1lb3V0fTtyZXR1cm4gX191bmlDb25maWdbImFzeW5jIl1bImxvYWRpbmciXSYmKHQubG9hZGluZz17bmFtZToiU3lzdGVtQXN5bmNMb2FkaW5nIixyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoX191bmlDb25maWdbImFzeW5jIl1bImxvYWRpbmciXSl9fSksX191bmlDb25maWdbImFzeW5jIl1bImVycm9yIl0mJih0LmVycm9yPXtuYW1lOiJTeXN0ZW1Bc3luY0Vycm9yIixyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoX191bmlDb25maWdbImFzeW5jIl1bImVycm9yIl0pfX0pLHR9KSksYS5kZWZhdWx0LmNvbXBvbmVudCgicGFnZXMtdHJhbnNhY3Rpb24tc2Vjb25kc19vcmRlciIsKGZ1bmN0aW9uKGUpe3ZhciB0PXtjb21wb25lbnQ6UHJvbWlzZS5hbGwoW24uZSgicGFnZXMtY29tbW9uLWFib3V0dXN+cGFnZXMtY29tbW9uLWFyZWF+cGFnZXMtY29tbW9uLWFydGljbGV+cGFnZXMtY29tbW9uLWJvcnJvd2luZ35wYWdlcy1jb21tb24tY29udH5lMjZjNDNmNSIpLG4uZSgicGFnZXMtY29tbW9uLWFib3V0dXN+cGFnZXMtY29tbW9uLWFyZWF+cGFnZXMtY29tbW9uLWFydGljbGV+cGFnZXMtY29tbW9uLWJvcnJvd2luZ35wYWdlcy1jb21tb24tY29udH40NjZkMTAyZSIpLG4uZSgicGFnZXMtY29tbW9uLWxvZ2lufnBhZ2VzLWNvbW1vbi1yZWdpc3Rlcn5wYWdlcy1mdW5kLWFzc2V0c35wYWdlcy1mdW5kLWFzc2V0c19yZWNvcmR+cGFnZXMtZnVuZC1mdW5kVH44NTI3NzY1NiIpLG4uZSgicGFnZXMtdHJhbnNhY3Rpb24tc2Vjb25kc19vcmRlciIpXSkudGhlbihmdW5jdGlvbigpe3JldHVybiBlKG4oIjM5YTIiKSl9LmJpbmQobnVsbCxuKSkuY2F0Y2gobi5vZSksZGVsYXk6X191bmlDb25maWdbImFzeW5jIl0uZGVsYXksdGltZW91dDpfX3VuaUNvbmZpZ1siYXN5bmMiXS50aW1lb3V0fTtyZXR1cm4gX191bmlDb25maWdbImFzeW5jIl1bImxvYWRpbmciXSYmKHQubG9hZGluZz17bmFtZToiU3lzdGVtQXN5bmNMb2FkaW5nIixyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoX191bmlDb25maWdbImFzeW5jIl1bImxvYWRpbmciXSl9fSksX191bmlDb25maWdbImFzeW5jIl1bImVycm9yIl0mJih0LmVycm9yPXtuYW1lOiJTeXN0ZW1Bc3luY0Vycm9yIixyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoX191bmlDb25maWdbImFzeW5jIl1bImVycm9yIl0pfX0pLHR9KSksYS5kZWZhdWx0LmNvbXBvbmVudCgicGFnZXMtbmZ0LW5mdCIsKGZ1bmN0aW9uKGUpe3ZhciB0PXtjb21wb25lbnQ6UHJvbWlzZS5hbGwoW24uZSgicGFnZXMtY29tbW9uLWFib3V0dXN+cGFnZXMtY29tbW9uLWFyZWF+cGFnZXMtY29tbW9uLWFydGljbGV+cGFnZXMtY29tbW9uLWJvcnJvd2luZ35wYWdlcy1jb21tb24tY29udH5lMjZjNDNmNSIpLG4uZSgicGFnZXMtZm9sbG93LWluZGV4fnBhZ2VzLWZvbGxvdy10cmFkZXJ+cGFnZXMtbmZ0LWFydGlzdERldGFpbH5wYWdlcy1uZnQtYXJ0d29ya0RldGFpbH5wYWdlcy1uZnQtYXJ0d341OGY2MGJmOSIpLG4uZSgicGFnZXMtbmZ0LWNvbXBvbmVudHMtYXJ0d29ya35wYWdlcy1uZnQtY29tcG9uZW50cy1jb2xsZWN0aW9ufnBhZ2VzLW5mdC1jb21wb25lbnRzLXNlYXJjaH5wYWdlcy1uZnQtbmZ0Iiksbi5lKCJwYWdlcy1uZnQtY29tcG9uZW50cy1zZWFyY2giKSxuLmUoInBhZ2VzLW5mdC1uZnQiKV0pLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gZShuKCI4MjNjIikpfS5iaW5kKG51bGwsbikpLmNhdGNoKG4ub2UpLGRlbGF5Ol9fdW5pQ29uZmlnWyJhc3luYyJdLmRlbGF5LHRpbWVvdXQ6X191bmlDb25maWdbImFzeW5jIl0udGltZW91dH07cmV0dXJuIF9fdW5pQ29uZmlnWyJhc3luYyJdWyJsb2FkaW5nIl0mJih0LmxvYWRpbmc9e25hbWU6IlN5c3RlbUFzeW5jTG9hZGluZyIscmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKF9fdW5pQ29uZmlnWyJhc3luYyJdWyJsb2FkaW5nIl0pfX0pLF9fdW5pQ29uZmlnWyJhc3luYyJdWyJlcnJvciJdJiYodC5lcnJvcj17bmFtZToiU3lzdGVtQXN5bmNFcnJvciIscmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKF9fdW5pQ29uZmlnWyJhc3luYyJdWyJlcnJvciJdKX19KSx0fSkpLGEuZGVmYXVsdC5jb21wb25lbnQoInBhZ2VzLW5mdC1hcnRpc3REZXRhaWwiLChmdW5jdGlvbihlKXt2YXIgdD17Y29tcG9uZW50OlByb21pc2UuYWxsKFtuLmUoInBhZ2VzLWNvbW1vbi1hYm91dHVzfnBhZ2VzLWNvbW1vbi1hcmVhfnBhZ2VzLWNvbW1vbi1hcnRpY2xlfnBhZ2VzLWNvbW1vbi1ib3Jyb3dpbmd+cGFnZXMtY29tbW9uLWNvbnR+ZTI2YzQzZjUiKSxuLmUoInBhZ2VzLWZvbGxvdy1pbmRleH5wYWdlcy1mb2xsb3ctdHJhZGVyfnBhZ2VzLW5mdC1hcnRpc3REZXRhaWx+cGFnZXMtbmZ0LWFydHdvcmtEZXRhaWx+cGFnZXMtbmZ0LWFydHd+NThmNjBiZjkiKSxuLmUoInBhZ2VzLW5mdC1hcnRpc3REZXRhaWwiKV0pLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gZShuKCI4NWFlIikpfS5iaW5kKG51bGwsbikpLmNhdGNoKG4ub2UpLGRlbGF5Ol9fdW5pQ29uZmlnWyJhc3luYyJdLmRlbGF5LHRpbWVvdXQ6X191bmlDb25maWdbImFzeW5jIl0udGltZW91dH07cmV0dXJuIF9fdW5pQ29uZmlnWyJhc3luYyJdWyJsb2FkaW5nIl0mJih0LmxvYWRpbmc9e25hbWU6IlN5c3RlbUFzeW5jTG9hZGluZyIscmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKF9fdW5pQ29uZmlnWyJhc3luYyJdWyJsb2FkaW5nIl0pfX0pLF9fdW5pQ29uZmlnWyJhc3luYyJdWyJlcnJvciJdJiYodC5lcnJvcj17bmFtZToiU3lzdGVtQXN5bmNFcnJvciIscmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKF9fdW5pQ29uZmlnWyJhc3luYyJdWyJlcnJvciJdKX19KSx0fSkpLGEuZGVmYXVsdC5jb21wb25lbnQoInBhZ2VzLW5mdC1taW5lIiwoZnVuY3Rpb24oZSl7dmFyIHQ9e2NvbXBvbmVudDpQcm9taXNlLmFsbChbbi5lKCJwYWdlcy1jb21tb24tYWJvdXR1c35wYWdlcy1jb21tb24tYXJlYX5wYWdlcy1jb21tb24tYXJ0aWNsZX5wYWdlcy1jb21tb24tYm9ycm93aW5nfnBhZ2VzLWNvbW1vbi1jb250fmUyNmM0M2Y1Iiksbi5lKCJwYWdlcy1mb2xsb3ctaW5kZXh+cGFnZXMtZm9sbG93LXRyYWRlcn5wYWdlcy1uZnQtYXJ0aXN0RGV0YWlsfnBhZ2VzLW5mdC1hcnR3b3JrRGV0YWlsfnBhZ2VzLW5mdC1hcnR3fjU4ZjYwYmY5Iiksbi5lKCJwYWdlcy1uZnQtbWluZSIpXSkudGhlbihmdW5jdGlvbigpe3JldHVybiBlKG4oImQwMTYiKSl9LmJpbmQobnVsbCxuKSkuY2F0Y2gobi5vZSksZGVsYXk6X191bmlDb25maWdbImFzeW5jIl0uZGVsYXksdGltZW91dDpfX3VuaUNvbmZpZ1siYXN5bmMiXS50aW1lb3V0fTtyZXR1cm4gX191bmlDb25maWdbImFzeW5jIl1bImxvYWRpbmciXSYmKHQubG9hZGluZz17bmFtZToiU3lzdGVtQXN5bmNMb2FkaW5nIixyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoX191bmlDb25maWdbImFzeW5jIl1bImxvYWRpbmciXSl9fSksX191bmlDb25maWdbImFzeW5jIl1bImVycm9yIl0mJih0LmVycm9yPXtuYW1lOiJTeXN0ZW1Bc3luY0Vycm9yIixyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoX191bmlDb25maWdbImFzeW5jIl1bImVycm9yIl0pfX0pLHR9KSksYS5kZWZhdWx0LmNvbXBvbmVudCgicGFnZXMtaW52ZXN0LWludmVzdCIsKGZ1bmN0aW9uKGUpe3ZhciB0PXtjb21wb25lbnQ6UHJvbWlzZS5hbGwoW24uZSgicGFnZXMtY29tbW9uLWFib3V0dXN+cGFnZXMtY29tbW9uLWFyZWF+cGFnZXMtY29tbW9uLWFydGljbGV+cGFnZXMtY29tbW9uLWJvcnJvd2luZ35wYWdlcy1jb21tb24tY29udH5lMjZjNDNmNSIpLG4uZSgicGFnZXMtY29tbW9uLWFib3V0dXN+cGFnZXMtY29tbW9uLWFyZWF+cGFnZXMtY29tbW9uLWFydGljbGV+cGFnZXMtY29tbW9uLWJvcnJvd2luZ35wYWdlcy1jb21tb24tY29udH40NjZkMTAyZSIpLG4uZSgicGFnZXMtaWVvLWllb35wYWdlcy1pbmRleC1pbmRleH5wYWdlcy1pbnZlc3QtaW52ZXN0Iiksbi5lKCJwYWdlcy1pbnZlc3QtaW52ZXN0IildKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIGUobigiMDgyNSIpKX0uYmluZChudWxsLG4pKS5jYXRjaChuLm9lKSxkZWxheTpfX3VuaUNvbmZpZ1siYXN5bmMiXS5kZWxheSx0aW1lb3V0Ol9fdW5pQ29uZmlnWyJhc3luYyJdLnRpbWVvdXR9O3JldHVybiBfX3VuaUNvbmZpZ1siYXN5bmMiXVsibG9hZGluZyJdJiYodC5sb2FkaW5nPXtuYW1lOiJTeXN0ZW1Bc3luY0xvYWRpbmciLHJlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZShfX3VuaUNvbmZpZ1siYXN5bmMiXVsibG9hZGluZyJdKX19KSxfX3VuaUNvbmZpZ1siYXN5bmMiXVsiZXJyb3IiXSYmKHQuZXJyb3I9e25hbWU6IlN5c3RlbUFzeW5jRXJyb3IiLHJlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZShfX3VuaUNvbmZpZ1siYXN5bmMiXVsiZXJyb3IiXSl9fSksdH0pKSxhLmRlZmF1bHQuY29tcG9uZW50KCJwYWdlcy1pbnZlc3QtbWluZSIsKGZ1bmN0aW9uKGUpe3ZhciB0PXtjb21wb25lbnQ6UHJvbWlzZS5hbGwoW24uZSgicGFnZXMtY29tbW9uLWFib3V0dXN+cGFnZXMtY29tbW9uLWFyZWF+cGFnZXMtY29tbW9uLWFydGljbGV+cGFnZXMtY29tbW9uLWJvcnJvd2luZ35wYWdlcy1jb21tb24tY29udH5lMjZjNDNmNSIpLG4uZSgicGFnZXMtY29tbW9uLWFib3V0dXN+cGFnZXMtY29tbW9uLWFyZWF+cGFnZXMtY29tbW9uLWFydGljbGV+cGFnZXMtY29tbW9uLWJvcnJvd2luZ35wYWdlcy1jb21tb24tY29udH40NjZkMTAyZSIpLG4uZSgicGFnZXMtY29tbW9uLWxvZ2lufnBhZ2VzLWNvbW1vbi1yZWdpc3Rlcn5wYWdlcy1jb3B5dHJhZGUtY29weX5wYWdlcy1mb2xsb3ctaW5kZXh+cGFnZXMtZnVuZC1mdW5kVHJhbn5hZThkMmU2YyIpLG4uZSgicGFnZXMtZnVuZC13aXRoZHJhd35wYWdlcy1pZW8tc3Vic2NyaWJlfnBhZ2VzLWludmVzdC1taW5lfnBhZ2VzLXNldHRpbmctYWRkV2FsbGV0Iiksbi5lKCJwYWdlcy1pbnZlc3QtbWluZSIpXSkudGhlbihmdW5jdGlvbigpe3JldHVybiBlKG4oImViZDEiKSl9LmJpbmQobnVsbCxuKSkuY2F0Y2gobi5vZSksZGVsYXk6X191bmlDb25maWdbImFzeW5jIl0uZGVsYXksdGltZW91dDpfX3VuaUNvbmZpZ1siYXN5bmMiXS50aW1lb3V0fTtyZXR1cm4gX191bmlDb25maWdbImFzeW5jIl1bImxvYWRpbmciXSYmKHQubG9hZGluZz17bmFtZToiU3lzdGVtQXN5bmNMb2FkaW5nIixyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoX191bmlDb25maWdbImFzeW5jIl1bImxvYWRpbmciXSl9fSksX191bmlDb25maWdbImFzeW5jIl1bImVycm9yIl0mJih0LmVycm9yPXtuYW1lOiJTeXN0ZW1Bc3luY0Vycm9yIixyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoX191bmlDb25maWdbImFzeW5jIl1bImVycm9yIl0pfX0pLHR9KSksYS5kZWZhdWx0LmNvbXBvbmVudCgicGFnZXMtZm9sbG93LWluZGV4IiwoZnVuY3Rpb24oZSl7dmFyIHQ9e2NvbXBvbmVudDpQcm9taXNlLmFsbChbbi5lKCJwYWdlcy1jb21tb24tYWJvdXR1c35wYWdlcy1jb21tb24tYXJlYX5wYWdlcy1jb21tb24tYXJ0aWNsZX5wYWdlcy1jb21tb24tYm9ycm93aW5nfnBhZ2VzLWNvbW1vbi1jb250fmUyNmM0M2Y1Iiksbi5lKCJwYWdlcy1jb21tb24tYWJvdXR1c35wYWdlcy1jb21tb24tYXJlYX5wYWdlcy1jb21tb24tYXJ0aWNsZX5wYWdlcy1jb21tb24tYm9ycm93aW5nfnBhZ2VzLWNvbW1vbi1jb250fjQ2NmQxMDJlIiksbi5lKCJwYWdlcy1jb21tb24tbG9naW5+cGFnZXMtY29tbW9uLXJlZ2lzdGVyfnBhZ2VzLWNvcHl0cmFkZS1jb3B5fnBhZ2VzLWZvbGxvdy1pbmRleH5wYWdlcy1mdW5kLWZ1bmRUcmFufmFlOGQyZTZjIiksbi5lKCJwYWdlcy1mb2xsb3ctaW5kZXh+cGFnZXMtZm9sbG93LXRyYWRlcn5wYWdlcy1uZnQtYXJ0aXN0RGV0YWlsfnBhZ2VzLW5mdC1hcnR3b3JrRGV0YWlsfnBhZ2VzLW5mdC1hcnR3fjU4ZjYwYmY5Iiksbi5lKCJwYWdlcy1mb2xsb3ctaW5kZXgiKV0pLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gZShuKCI4YmFiIikpfS5iaW5kKG51bGwsbikpLmNhdGNoKG4ub2UpLGRlbGF5Ol9fdW5pQ29uZmlnWyJhc3luYyJdLmRlbGF5LHRpbWVvdXQ6X191bmlDb25maWdbImFzeW5jIl0udGltZW91dH07cmV0dXJuIF9fdW5pQ29uZmlnWyJhc3luYyJdWyJsb2FkaW5nIl0mJih0LmxvYWRpbmc9e25hbWU6IlN5c3RlbUFzeW5jTG9hZGluZyIscmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKF9fdW5pQ29uZmlnWyJhc3luYyJdWyJsb2FkaW5nIl0pfX0pLF9fdW5pQ29uZmlnWyJhc3luYyJdWyJlcnJvciJdJiYodC5lcnJvcj17bmFtZToiU3lzdGVtQXN5bmNFcnJvciIscmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKF9fdW5pQ29uZmlnWyJhc3luYyJdWyJlcnJvciJdKX19KSx0fSkpLGEuZGVmYXVsdC5jb21wb25lbnQoInBhZ2VzLWZvbGxvdy10cmFkZXIiLChmdW5jdGlvbihlKXt2YXIgdD17Y29tcG9uZW50OlByb21pc2UuYWxsKFtuLmUoInBhZ2VzLWNvbW1vbi1hYm91dHVzfnBhZ2VzLWNvbW1vbi1hcmVhfnBhZ2VzLWNvbW1vbi1hcnRpY2xlfnBhZ2VzLWNvbW1vbi1ib3Jyb3dpbmd+cGFnZXMtY29tbW9uLWNvbnR+ZTI2YzQzZjUiKSxuLmUoInBhZ2VzLWNvbW1vbi1hYm91dHVzfnBhZ2VzLWNvbW1vbi1hcmVhfnBhZ2VzLWNvbW1vbi1hcnRpY2xlfnBhZ2VzLWNvbW1vbi1ib3Jyb3dpbmd+cGFnZXMtY29tbW9uLWNvbnR+NDY2ZDEwMmUiKSxuLmUoInBhZ2VzLWZvbGxvdy1pbmRleH5wYWdlcy1mb2xsb3ctdHJhZGVyfnBhZ2VzLW5mdC1hcnRpc3REZXRhaWx+cGFnZXMtbmZ0LWFydHdvcmtEZXRhaWx+cGFnZXMtbmZ0LWFydHd+NThmNjBiZjkiKSxuLmUoInBhZ2VzLWZvbGxvdy10cmFkZXIiKV0pLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gZShuKCJiZTg4IikpfS5iaW5kKG51bGwsbikpLmNhdGNoKG4ub2UpLGRlbGF5Ol9fdW5pQ29uZmlnWyJhc3luYyJdLmRlbGF5LHRpbWVvdXQ6X191bmlDb25maWdbImFzeW5jIl0udGltZW91dH07cmV0dXJuIF9fdW5pQ29uZmlnWyJhc3luYyJdWyJsb2FkaW5nIl0mJih0LmxvYWRpbmc9e25hbWU6IlN5c3RlbUFzeW5jTG9hZGluZyIscmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKF9fdW5pQ29uZmlnWyJhc3luYyJdWyJsb2FkaW5nIl0pfX0pLF9fdW5pQ29uZmlnWyJhc3luYyJdWyJlcnJvciJdJiYodC5lcnJvcj17bmFtZToiU3lzdGVtQXN5bmNFcnJvciIscmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKF9fdW5pQ29uZmlnWyJhc3luYyJdWyJlcnJvciJdKX19KSx0fSkpLGEuZGVmYXVsdC5jb21wb25lbnQoInBhZ2VzLWludmVzdC1wdXJjaGFzZSIsKGZ1bmN0aW9uKGUpe3ZhciB0PXtjb21wb25lbnQ6UHJvbWlzZS5hbGwoW24uZSgicGFnZXMtY29tbW9uLWFib3V0dXN+cGFnZXMtY29tbW9uLWFyZWF+cGFnZXMtY29tbW9uLWFydGljbGV+cGFnZXMtY29tbW9uLWJvcnJvd2luZ35wYWdlcy1jb21tb24tY29udH5lMjZjNDNmNSIpLG4uZSgicGFnZXMtY29tbW9uLWFib3V0dXN+cGFnZXMtY29tbW9uLWFyZWF+cGFnZXMtY29tbW9uLWFydGljbGV+cGFnZXMtY29tbW9uLWJvcnJvd2luZ35wYWdlcy1jb21tb24tY29udH40NjZkMTAyZSIpLG4uZSgicGFnZXMtY29weXRyYWRlLWNvcHl+cGFnZXMtaW52ZXN0LXB1cmNoYXNlfnBhZ2VzLW90Yy1vdGN+cGFnZXMtdHJhbnNhY3Rpb24tY29udHJhY3R+cGFnZXMtdHJhbnNhY3Rpb35lNzdhNGVjNyIpLG4uZSgicGFnZXMtaW52ZXN0LXB1cmNoYXNlIildKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIGUobigiNjUwMiIpKX0uYmluZChudWxsLG4pKS5jYXRjaChuLm9lKSxkZWxheTpfX3VuaUNvbmZpZ1siYXN5bmMiXS5kZWxheSx0aW1lb3V0Ol9fdW5pQ29uZmlnWyJhc3luYyJdLnRpbWVvdXR9O3JldHVybiBfX3VuaUNvbmZpZ1siYXN5bmMiXVsibG9hZGluZyJdJiYodC5sb2FkaW5nPXtuYW1lOiJTeXN0ZW1Bc3luY0xvYWRpbmciLHJlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZShfX3VuaUNvbmZpZ1siYXN5bmMiXVsibG9hZGluZyJdKX19KSxfX3VuaUNvbmZpZ1siYXN5bmMiXVsiZXJyb3IiXSYmKHQuZXJyb3I9e25hbWU6IlN5c3RlbUFzeW5jRXJyb3IiLHJlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZShfX3VuaUNvbmZpZ1siYXN5bmMiXVsiZXJyb3IiXSl9fSksdH0pKSxhLmRlZmF1bHQuY29tcG9uZW50KCJwYWdlcy1mb2xsb3ctZm9sbG93IiwoZnVuY3Rpb24oZSl7dmFyIHQ9e2NvbXBvbmVudDpQcm9taXNlLmFsbChbbi5lKCJwYWdlcy1jb21tb24tYWJvdXR1c35wYWdlcy1jb21tb24tYXJlYX5wYWdlcy1jb21tb24tYXJ0aWNsZX5wYWdlcy1jb21tb24tYm9ycm93aW5nfnBhZ2VzLWNvbW1vbi1jb250fmUyNmM0M2Y1Iiksbi5lKCJwYWdlcy1jb21tb24tYWJvdXR1c35wYWdlcy1jb21tb24tYXJlYX5wYWdlcy1jb21tb24tYXJ0aWNsZX5wYWdlcy1jb21tb24tYm9ycm93aW5nfnBhZ2VzLWNvbW1vbi1jb250fjQ2NmQxMDJlIiksbi5lKCJwYWdlcy1mb2xsb3ctZm9sbG93fnBhZ2VzLWxvY2ttaW5nLW9yZGVyfnBhZ2VzLXNldHRpbmctd2FsbGV0Iiksbi5lKCJwYWdlcy1mb2xsb3ctZm9sbG93IildKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIGUobigiYmNkOCIpKX0uYmluZChudWxsLG4pKS5jYXRjaChuLm9lKSxkZWxheTpfX3VuaUNvbmZpZ1siYXN5bmMiXS5kZWxheSx0aW1lb3V0Ol9fdW5pQ29uZmlnWyJhc3luYyJdLnRpbWVvdXR9O3JldHVybiBfX3VuaUNvbmZpZ1siYXN5bmMiXVsibG9hZGluZyJdJiYodC5sb2FkaW5nPXtuYW1lOiJTeXN0ZW1Bc3luY0xvYWRpbmciLHJlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZShfX3VuaUNvbmZpZ1siYXN5bmMiXVsibG9hZGluZyJdKX19KSxfX3VuaUNvbmZpZ1siYXN5bmMiXVsiZXJyb3IiXSYmKHQuZXJyb3I9e25hbWU6IlN5c3RlbUFzeW5jRXJyb3IiLHJlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZShfX3VuaUNvbmZpZ1siYXN5bmMiXVsiZXJyb3IiXSl9fSksdH0pKSxhLmRlZmF1bHQuY29tcG9uZW50KCJwYWdlcy1mb2xsb3ctYWdyZWVtZW50X3poIiwoZnVuY3Rpb24oZSl7dmFyIHQ9e2NvbXBvbmVudDpQcm9taXNlLmFsbChbbi5lKCJwYWdlcy1jb21tb24tYWJvdXR1c35wYWdlcy1jb21tb24tYXJlYX5wYWdlcy1jb21tb24tYXJ0aWNsZX5wYWdlcy1jb21tb24tYm9ycm93aW5nfnBhZ2VzLWNvbW1vbi1jb250fmUyNmM0M2Y1Iiksbi5lKCJwYWdlcy1jb21tb24tYWJvdXR1c35wYWdlcy1jb21tb24tYXJlYX5wYWdlcy1jb21tb24tYXJ0aWNsZX5wYWdlcy1jb21tb24tYm9ycm93aW5nfnBhZ2VzLWNvbW1vbi1jb250fjQ2NmQxMDJlIiksbi5lKCJwYWdlcy1mb2xsb3ctYWdyZWVtZW50X3poIildKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIGUobigiYWZlOCIpKX0uYmluZChudWxsLG4pKS5jYXRjaChuLm9lKSxkZWxheTpfX3VuaUNvbmZpZ1siYXN5bmMiXS5kZWxheSx0aW1lb3V0Ol9fdW5pQ29uZmlnWyJhc3luYyJdLnRpbWVvdXR9O3JldHVybiBfX3VuaUNvbmZpZ1siYXN5bmMiXVsibG9hZGluZyJdJiYodC5sb2FkaW5nPXtuYW1lOiJTeXN0ZW1Bc3luY0xvYWRpbmciLHJlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZShfX3VuaUNvbmZpZ1siYXN5bmMiXVsibG9hZGluZyJdKX19KSxfX3VuaUNvbmZpZ1siYXN5bmMiXVsiZXJyb3IiXSYmKHQuZXJyb3I9e25hbWU6IlN5c3RlbUFzeW5jRXJyb3IiLHJlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZShfX3VuaUNvbmZpZ1siYXN5bmMiXVsiZXJyb3IiXSl9fSksdH0pKSxhLmRlZmF1bHQuY29tcG9uZW50KCJwYWdlcy1mb2xsb3ctYWdyZWVtZW50X2VuIiwoZnVuY3Rpb24oZSl7dmFyIHQ9e2NvbXBvbmVudDpQcm9taXNlLmFsbChbbi5lKCJwYWdlcy1jb21tb24tYWJvdXR1c35wYWdlcy1jb21tb24tYXJlYX5wYWdlcy1jb21tb24tYXJ0aWNsZX5wYWdlcy1jb21tb24tYm9ycm93aW5nfnBhZ2VzLWNvbW1vbi1jb250fmUyNmM0M2Y1Iiksbi5lKCJwYWdlcy1jb21tb24tYWJvdXR1c35wYWdlcy1jb21tb24tYXJlYX5wYWdlcy1jb21tb24tYXJ0aWNsZX5wYWdlcy1jb21tb24tYm9ycm93aW5nfnBhZ2VzLWNvbW1vbi1jb250fjQ2NmQxMDJlIiksbi5lKCJwYWdlcy1mb2xsb3ctYWdyZWVtZW50X2VuIildKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIGUobigiMDU1ZSIpKX0uYmluZChudWxsLG4pKS5jYXRjaChuLm9lKSxkZWxheTpfX3VuaUNvbmZpZ1siYXN5bmMiXS5kZWxheSx0aW1lb3V0Ol9fdW5pQ29uZmlnWyJhc3luYyJdLnRpbWVvdXR9O3JldHVybiBfX3VuaUNvbmZpZ1siYXN5bmMiXVsibG9hZGluZyJdJiYodC5sb2FkaW5nPXtuYW1lOiJTeXN0ZW1Bc3luY0xvYWRpbmciLHJlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZShfX3VuaUNvbmZpZ1siYXN5bmMiXVsibG9hZGluZyJdKX19KSxfX3VuaUNvbmZpZ1siYXN5bmMiXVsiZXJyb3IiXSYmKHQuZXJyb3I9e25hbWU6IlN5c3RlbUFzeW5jRXJyb3IiLHJlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZShfX3VuaUNvbmZpZ1siYXN5bmMiXVsiZXJyb3IiXSl9fSksdH0pKSxhLmRlZmF1bHQuY29tcG9uZW50KCJwYWdlcy1pbnZlc3QtaGVscCIsKGZ1bmN0aW9uKGUpe3ZhciB0PXtjb21wb25lbnQ6UHJvbWlzZS5hbGwoW24uZSgicGFnZXMtY29tbW9uLWFib3V0dXN+cGFnZXMtY29tbW9uLWFyZWF+cGFnZXMtY29tbW9uLWFydGljbGV+cGFnZXMtY29tbW9uLWJvcnJvd2luZ35wYWdlcy1jb21tb24tY29udH5lMjZjNDNmNSIpLG4uZSgicGFnZXMtY29tbW9uLWFib3V0dXN+cGFnZXMtY29tbW9uLWFyZWF+cGFnZXMtY29tbW9uLWFydGljbGV+cGFnZXMtY29tbW9uLWJvcnJvd2luZ35wYWdlcy1jb21tb24tY29udH40NjZkMTAyZSIpLG4uZSgicGFnZXMtaW52ZXN0LWhlbHAiKV0pLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gZShuKCJiNWZkIikpfS5iaW5kKG51bGwsbikpLmNhdGNoKG4ub2UpLGRlbGF5Ol9fdW5pQ29uZmlnWyJhc3luYyJdLmRlbGF5LHRpbWVvdXQ6X191bmlDb25maWdbImFzeW5jIl0udGltZW91dH07cmV0dXJuIF9fdW5pQ29uZmlnWyJhc3luYyJdWyJsb2FkaW5nIl0mJih0LmxvYWRpbmc9e25hbWU6IlN5c3RlbUFzeW5jTG9hZGluZyIscmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKF9fdW5pQ29uZmlnWyJhc3luYyJdWyJsb2FkaW5nIl0pfX0pLF9fdW5pQ29uZmlnWyJhc3luYyJdWyJlcnJvciJdJiYodC5lcnJvcj17bmFtZToiU3lzdGVtQXN5bmNFcnJvciIscmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKF9fdW5pQ29uZmlnWyJhc3luYyJdWyJlcnJvciJdKX19KSx0fSkpLGEuZGVmYXVsdC5jb21wb25lbnQoInBhZ2VzLW5mdC1jb21wb25lbnRzLWFydGlzdCIsKGZ1bmN0aW9uKGUpe3ZhciB0PXtjb21wb25lbnQ6UHJvbWlzZS5hbGwoW24uZSgicGFnZXMtY29tbW9uLWFib3V0dXN+cGFnZXMtY29tbW9uLWFyZWF+cGFnZXMtY29tbW9uLWFydGljbGV+cGFnZXMtY29tbW9uLWJvcnJvd2luZ35wYWdlcy1jb21tb24tY29udH5lMjZjNDNmNSIpLG4uZSgicGFnZXMtZm9sbG93LWluZGV4fnBhZ2VzLWZvbGxvdy10cmFkZXJ+cGFnZXMtbmZ0LWFydGlzdERldGFpbH5wYWdlcy1uZnQtYXJ0d29ya0RldGFpbH5wYWdlcy1uZnQtYXJ0d341OGY2MGJmOSIpLG4uZSgicGFnZXMtbmZ0LWNvbXBvbmVudHMtYXJ0aXN0IildKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIGUobigiYmI1ZCIpKX0uYmluZChudWxsLG4pKS5jYXRjaChuLm9lKSxkZWxheTpfX3VuaUNvbmZpZ1siYXN5bmMiXS5kZWxheSx0aW1lb3V0Ol9fdW5pQ29uZmlnWyJhc3luYyJdLnRpbWVvdXR9O3JldHVybiBfX3VuaUNvbmZpZ1siYXN5bmMiXVsibG9hZGluZyJdJiYodC5sb2FkaW5nPXtuYW1lOiJTeXN0ZW1Bc3luY0xvYWRpbmciLHJlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZShfX3VuaUNvbmZpZ1siYXN5bmMiXVsibG9hZGluZyJdKX19KSxfX3VuaUNvbmZpZ1siYXN5bmMiXVsiZXJyb3IiXSYmKHQuZXJyb3I9e25hbWU6IlN5c3RlbUFzeW5jRXJyb3IiLHJlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZShfX3VuaUNvbmZpZ1siYXN5bmMiXVsiZXJyb3IiXSl9fSksdH0pKSxhLmRlZmF1bHQuY29tcG9uZW50KCJwYWdlcy1uZnQtY29tcG9uZW50cy1hcnR3b3JrIiwoZnVuY3Rpb24oZSl7dmFyIHQ9e2NvbXBvbmVudDpQcm9taXNlLmFsbChbbi5lKCJwYWdlcy1jb21tb24tYWJvdXR1c35wYWdlcy1jb21tb24tYXJlYX5wYWdlcy1jb21tb24tYXJ0aWNsZX5wYWdlcy1jb21tb24tYm9ycm93aW5nfnBhZ2VzLWNvbW1vbi1jb250fmUyNmM0M2Y1Iiksbi5lKCJwYWdlcy1mb2xsb3ctaW5kZXh+cGFnZXMtZm9sbG93LXRyYWRlcn5wYWdlcy1uZnQtYXJ0aXN0RGV0YWlsfnBhZ2VzLW5mdC1hcnR3b3JrRGV0YWlsfnBhZ2VzLW5mdC1hcnR3fjU4ZjYwYmY5Iiksbi5lKCJwYWdlcy1uZnQtY29tcG9uZW50cy1hcnR3b3JrfnBhZ2VzLW5mdC1jb21wb25lbnRzLWNvbGxlY3Rpb25+cGFnZXMtbmZ0LWNvbXBvbmVudHMtc2VhcmNofnBhZ2VzLW5mdC1uZnQiKSxuLmUoInBhZ2VzLW5mdC1jb21wb25lbnRzLWFydHdvcmsiKV0pLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gZShuKCJmMjIyIikpfS5iaW5kKG51bGwsbikpLmNhdGNoKG4ub2UpLGRlbGF5Ol9fdW5pQ29uZmlnWyJhc3luYyJdLmRlbGF5LHRpbWVvdXQ6X191bmlDb25maWdbImFzeW5jIl0udGltZW91dH07cmV0dXJuIF9fdW5pQ29uZmlnWyJhc3luYyJdWyJsb2FkaW5nIl0mJih0LmxvYWRpbmc9e25hbWU6IlN5c3RlbUFzeW5jTG9hZGluZyIscmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKF9fdW5pQ29uZmlnWyJhc3luYyJdWyJsb2FkaW5nIl0pfX0pLF9fdW5pQ29uZmlnWyJhc3luYyJdWyJlcnJvciJdJiYodC5lcnJvcj17bmFtZToiU3lzdGVtQXN5bmNFcnJvciIscmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKF9fdW5pQ29uZmlnWyJhc3luYyJdWyJlcnJvciJdKX19KSx0fSkpLGEuZGVmYXVsdC5jb21wb25lbnQoInBhZ2VzLW5mdC1hcnR3b3JrRGV0YWlsIiwoZnVuY3Rpb24oZSl7dmFyIHQ9e2NvbXBvbmVudDpQcm9taXNlLmFsbChbbi5lKCJwYWdlcy1jb21tb24tYWJvdXR1c35wYWdlcy1jb21tb24tYXJlYX5wYWdlcy1jb21tb24tYXJ0aWNsZX5wYWdlcy1jb21tb24tYm9ycm93aW5nfnBhZ2VzLWNvbW1vbi1jb250fmUyNmM0M2Y1Iiksbi5lKCJwYWdlcy1mb2xsb3ctaW5kZXh+cGFnZXMtZm9sbG93LXRyYWRlcn5wYWdlcy1uZnQtYXJ0aXN0RGV0YWlsfnBhZ2VzLW5mdC1hcnR3b3JrRGV0YWlsfnBhZ2VzLW5mdC1hcnR3fjU4ZjYwYmY5Iiksbi5lKCJwYWdlcy1uZnQtYXJ0d29ya0RldGFpbCIpXSkudGhlbihmdW5jdGlvbigpe3JldHVybiBlKG4oIjA5NDUiKSl9LmJpbmQobnVsbCxuKSkuY2F0Y2gobi5vZSksZGVsYXk6X191bmlDb25maWdbImFzeW5jIl0uZGVsYXksdGltZW91dDpfX3VuaUNvbmZpZ1siYXN5bmMiXS50aW1lb3V0fTtyZXR1cm4gX191bmlDb25maWdbImFzeW5jIl1bImxvYWRpbmciXSYmKHQubG9hZGluZz17bmFtZToiU3lzdGVtQXN5bmNMb2FkaW5nIixyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoX191bmlDb25maWdbImFzeW5jIl1bImxvYWRpbmciXSl9fSksX191bmlDb25maWdbImFzeW5jIl1bImVycm9yIl0mJih0LmVycm9yPXtuYW1lOiJTeXN0ZW1Bc3luY0Vycm9yIixyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoX191bmlDb25maWdbImFzeW5jIl1bImVycm9yIl0pfX0pLHR9KSksYS5kZWZhdWx0LmNvbXBvbmVudCgicGFnZXMtbmZ0LXB1cmNoYXNlIiwoZnVuY3Rpb24oZSl7dmFyIHQ9e2NvbXBvbmVudDpQcm9taXNlLmFsbChbbi5lKCJwYWdlcy1jb21tb24tYWJvdXR1c35wYWdlcy1jb21tb24tYXJlYX5wYWdlcy1jb21tb24tYXJ0aWNsZX5wYWdlcy1jb21tb24tYm9ycm93aW5nfnBhZ2VzLWNvbW1vbi1jb250fmUyNmM0M2Y1Iiksbi5lKCJwYWdlcy1mb2xsb3ctaW5kZXh+cGFnZXMtZm9sbG93LXRyYWRlcn5wYWdlcy1uZnQtYXJ0aXN0RGV0YWlsfnBhZ2VzLW5mdC1hcnR3b3JrRGV0YWlsfnBhZ2VzLW5mdC1hcnR3fjU4ZjYwYmY5Iiksbi5lKCJwYWdlcy1uZnQtcHVyY2hhc2UiKV0pLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gZShuKCI3NWQ3IikpfS5iaW5kKG51bGwsbikpLmNhdGNoKG4ub2UpLGRlbGF5Ol9fdW5pQ29uZmlnWyJhc3luYyJdLmRlbGF5LHRpbWVvdXQ6X191bmlDb25maWdbImFzeW5jIl0udGltZW91dH07cmV0dXJuIF9fdW5pQ29uZmlnWyJhc3luYyJdWyJsb2FkaW5nIl0mJih0LmxvYWRpbmc9e25hbWU6IlN5c3RlbUFzeW5jTG9hZGluZyIscmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKF9fdW5pQ29uZmlnWyJhc3luYyJdWyJsb2FkaW5nIl0pfX0pLF9fdW5pQ29uZmlnWyJhc3luYyJdWyJlcnJvciJdJiYodC5lcnJvcj17bmFtZToiU3lzdGVtQXN5bmNFcnJvciIscmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKF9fdW5pQ29uZmlnWyJhc3luYyJdWyJlcnJvciJdKX19KSx0fSkpLGEuZGVmYXVsdC5jb21wb25lbnQoInBhZ2VzLW5mdC1jb21wb25lbnRzLXNlYXJjaCIsKGZ1bmN0aW9uKGUpe3ZhciB0PXtjb21wb25lbnQ6UHJvbWlzZS5hbGwoW24uZSgicGFnZXMtY29tbW9uLWFib3V0dXN+cGFnZXMtY29tbW9uLWFyZWF+cGFnZXMtY29tbW9uLWFydGljbGV+cGFnZXMtY29tbW9uLWJvcnJvd2luZ35wYWdlcy1jb21tb24tY29udH5lMjZjNDNmNSIpLG4uZSgicGFnZXMtZm9sbG93LWluZGV4fnBhZ2VzLWZvbGxvdy10cmFkZXJ+cGFnZXMtbmZ0LWFydGlzdERldGFpbH5wYWdlcy1uZnQtYXJ0d29ya0RldGFpbH5wYWdlcy1uZnQtYXJ0d341OGY2MGJmOSIpLG4uZSgicGFnZXMtbmZ0LWNvbXBvbmVudHMtYXJ0d29ya35wYWdlcy1uZnQtY29tcG9uZW50cy1jb2xsZWN0aW9ufnBhZ2VzLW5mdC1jb21wb25lbnRzLXNlYXJjaH5wYWdlcy1uZnQtbmZ0Iiksbi5lKCJwYWdlcy1uZnQtY29tcG9uZW50cy1zZWFyY2giKV0pLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gZShuKCJlNTVmIikpfS5iaW5kKG51bGwsbikpLmNhdGNoKG4ub2UpLGRlbGF5Ol9fdW5pQ29uZmlnWyJhc3luYyJdLmRlbGF5LHRpbWVvdXQ6X191bmlDb25maWdbImFzeW5jIl0udGltZW91dH07cmV0dXJuIF9fdW5pQ29uZmlnWyJhc3luYyJdWyJsb2FkaW5nIl0mJih0LmxvYWRpbmc9e25hbWU6IlN5c3RlbUFzeW5jTG9hZGluZyIscmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKF9fdW5pQ29uZmlnWyJhc3luYyJdWyJsb2FkaW5nIl0pfX0pLF9fdW5pQ29uZmlnWyJhc3luYyJdWyJlcnJvciJdJiYodC5lcnJvcj17bmFtZToiU3lzdGVtQXN5bmNFcnJvciIscmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKF9fdW5pQ29uZmlnWyJhc3luYyJdWyJlcnJvciJdKX19KSx0fSkpLGEuZGVmYXVsdC5jb21wb25lbnQoInBhZ2VzLW5mdC1jb21wb25lbnRzLWNvbGxlY3Rpb24iLChmdW5jdGlvbihlKXt2YXIgdD17Y29tcG9uZW50OlByb21pc2UuYWxsKFtuLmUoInBhZ2VzLWNvbW1vbi1hYm91dHVzfnBhZ2VzLWNvbW1vbi1hcmVhfnBhZ2VzLWNvbW1vbi1hcnRpY2xlfnBhZ2VzLWNvbW1vbi1ib3Jyb3dpbmd+cGFnZXMtY29tbW9uLWNvbnR+ZTI2YzQzZjUiKSxuLmUoInBhZ2VzLWZvbGxvdy1pbmRleH5wYWdlcy1mb2xsb3ctdHJhZGVyfnBhZ2VzLW5mdC1hcnRpc3REZXRhaWx+cGFnZXMtbmZ0LWFydHdvcmtEZXRhaWx+cGFnZXMtbmZ0LWFydHd+NThmNjBiZjkiKSxuLmUoInBhZ2VzLW5mdC1jb21wb25lbnRzLWFydHdvcmt+cGFnZXMtbmZ0LWNvbXBvbmVudHMtY29sbGVjdGlvbn5wYWdlcy1uZnQtY29tcG9uZW50cy1zZWFyY2h+cGFnZXMtbmZ0LW5mdCIpLG4uZSgicGFnZXMtbmZ0LWNvbXBvbmVudHMtY29sbGVjdGlvbiIpXSkudGhlbihmdW5jdGlvbigpe3JldHVybiBlKG4oIjFhZGMiKSl9LmJpbmQobnVsbCxuKSkuY2F0Y2gobi5vZSksZGVsYXk6X191bmlDb25maWdbImFzeW5jIl0uZGVsYXksdGltZW91dDpfX3VuaUNvbmZpZ1siYXN5bmMiXS50aW1lb3V0fTtyZXR1cm4gX191bmlDb25maWdbImFzeW5jIl1bImxvYWRpbmciXSYmKHQubG9hZGluZz17bmFtZToiU3lzdGVtQXN5bmNMb2FkaW5nIixyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoX191bmlDb25maWdbImFzeW5jIl1bImxvYWRpbmciXSl9fSksX191bmlDb25maWdbImFzeW5jIl1bImVycm9yIl0mJih0LmVycm9yPXtuYW1lOiJTeXN0ZW1Bc3luY0Vycm9yIixyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoX191bmlDb25maWdbImFzeW5jIl1bImVycm9yIl0pfX0pLHR9KSksYS5kZWZhdWx0LmNvbXBvbmVudCgicGFnZXMtbmZ0LXB1cmNoYXNlX29uZSIsKGZ1bmN0aW9uKGUpe3ZhciB0PXtjb21wb25lbnQ6UHJvbWlzZS5hbGwoW24uZSgicGFnZXMtY29tbW9uLWFib3V0dXN+cGFnZXMtY29tbW9uLWFyZWF+cGFnZXMtY29tbW9uLWFydGljbGV+cGFnZXMtY29tbW9uLWJvcnJvd2luZ35wYWdlcy1jb21tb24tY29udH5lMjZjNDNmNSIpLG4uZSgicGFnZXMtZm9sbG93LWluZGV4fnBhZ2VzLWZvbGxvdy10cmFkZXJ+cGFnZXMtbmZ0LWFydGlzdERldGFpbH5wYWdlcy1uZnQtYXJ0d29ya0RldGFpbH5wYWdlcy1uZnQtYXJ0d341OGY2MGJmOSIpLG4uZSgicGFnZXMtbmZ0LXB1cmNoYXNlX29uZSIpXSkudGhlbihmdW5jdGlvbigpe3JldHVybiBlKG4oImY5YTIiKSl9LmJpbmQobnVsbCxuKSkuY2F0Y2gobi5vZSksZGVsYXk6X191bmlDb25maWdbImFzeW5jIl0uZGVsYXksdGltZW91dDpfX3VuaUNvbmZpZ1siYXN5bmMiXS50aW1lb3V0fTtyZXR1cm4gX191bmlDb25maWdbImFzeW5jIl1bImxvYWRpbmciXSYmKHQubG9hZGluZz17bmFtZToiU3lzdGVtQXN5bmNMb2FkaW5nIixyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoX191bmlDb25maWdbImFzeW5jIl1bImxvYWRpbmciXSl9fSksX191bmlDb25maWdbImFzeW5jIl1bImVycm9yIl0mJih0LmVycm9yPXtuYW1lOiJTeXN0ZW1Bc3luY0Vycm9yIixyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoX191bmlDb25maWdbImFzeW5jIl1bImVycm9yIl0pfX0pLHR9KSksYS5kZWZhdWx0LmNvbXBvbmVudCgicGFnZXMtbmZ0LXJlc2VsbCIsKGZ1bmN0aW9uKGUpe3ZhciB0PXtjb21wb25lbnQ6UHJvbWlzZS5hbGwoW24uZSgicGFnZXMtY29tbW9uLWFib3V0dXN+cGFnZXMtY29tbW9uLWFyZWF+cGFnZXMtY29tbW9uLWFydGljbGV+cGFnZXMtY29tbW9uLWJvcnJvd2luZ35wYWdlcy1jb21tb24tY29udH5lMjZjNDNmNSIpLG4uZSgicGFnZXMtY29tbW9uLWxvZ2lufnBhZ2VzLWNvbW1vbi1yZWdpc3Rlcn5wYWdlcy1jb3B5dHJhZGUtY29weX5wYWdlcy1mb2xsb3ctaW5kZXh+cGFnZXMtZnVuZC1mdW5kVHJhbn5hZThkMmU2YyIpLG4uZSgicGFnZXMtbmZ0LXJlc2VsbH5wYWdlcy1zZXR0aW5nLXJld2FyZFJlY29yZCIpLG4uZSgicGFnZXMtbmZ0LXJlc2VsbCIpXSkudGhlbihmdW5jdGlvbigpe3JldHVybiBlKG4oIjRjM2MiKSl9LmJpbmQobnVsbCxuKSkuY2F0Y2gobi5vZSksZGVsYXk6X191bmlDb25maWdbImFzeW5jIl0uZGVsYXksdGltZW91dDpfX3VuaUNvbmZpZ1siYXN5bmMiXS50aW1lb3V0fTtyZXR1cm4gX191bmlDb25maWdbImFzeW5jIl1bImxvYWRpbmciXSYmKHQubG9hZGluZz17bmFtZToiU3lzdGVtQXN5bmNMb2FkaW5nIixyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoX191bmlDb25maWdbImFzeW5jIl1bImxvYWRpbmciXSl9fSksX191bmlDb25maWdbImFzeW5jIl1bImVycm9yIl0mJih0LmVycm9yPXtuYW1lOiJTeXN0ZW1Bc3luY0Vycm9yIixyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoX191bmlDb25maWdbImFzeW5jIl1bImVycm9yIl0pfX0pLHR9KSksYS5kZWZhdWx0LmNvbXBvbmVudCgicGFnZXMtbmZ0LW15TmZ0IiwoZnVuY3Rpb24oZSl7dmFyIHQ9e2NvbXBvbmVudDpQcm9taXNlLmFsbChbbi5lKCJwYWdlcy1jb21tb24tYWJvdXR1c35wYWdlcy1jb21tb24tYXJlYX5wYWdlcy1jb21tb24tYXJ0aWNsZX5wYWdlcy1jb21tb24tYm9ycm93aW5nfnBhZ2VzLWNvbW1vbi1jb250fmUyNmM0M2Y1Iiksbi5lKCJwYWdlcy1jb21tb24tbG9naW5+cGFnZXMtY29tbW9uLXJlZ2lzdGVyfnBhZ2VzLWNvcHl0cmFkZS1jb3B5fnBhZ2VzLWZvbGxvdy1pbmRleH5wYWdlcy1mdW5kLWZ1bmRUcmFufmFlOGQyZTZjIiksbi5lKCJwYWdlcy1mb2xsb3ctaW5kZXh+cGFnZXMtZm9sbG93LXRyYWRlcn5wYWdlcy1uZnQtYXJ0aXN0RGV0YWlsfnBhZ2VzLW5mdC1hcnR3b3JrRGV0YWlsfnBhZ2VzLW5mdC1hcnR3fjU4ZjYwYmY5Iiksbi5lKCJwYWdlcy1uZnQtbXlOZnQiKV0pLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gZShuKCI1Mzc5IikpfS5iaW5kKG51bGwsbikpLmNhdGNoKG4ub2UpLGRlbGF5Ol9fdW5pQ29uZmlnWyJhc3luYyJdLmRlbGF5LHRpbWVvdXQ6X191bmlDb25maWdbImFzeW5jIl0udGltZW91dH07cmV0dXJuIF9fdW5pQ29uZmlnWyJhc3luYyJdWyJsb2FkaW5nIl0mJih0LmxvYWRpbmc9e25hbWU6IlN5c3RlbUFzeW5jTG9hZGluZyIscmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKF9fdW5pQ29uZmlnWyJhc3luYyJdWyJsb2FkaW5nIl0pfX0pLF9fdW5pQ29uZmlnWyJhc3luYyJdWyJlcnJvciJdJiYodC5lcnJvcj17bmFtZToiU3lzdGVtQXN5bmNFcnJvciIscmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKF9fdW5pQ29uZmlnWyJhc3luYyJdWyJlcnJvciJdKX19KSx0fSkpLGEuZGVmYXVsdC5jb21wb25lbnQoInBhZ2VzLWdhbWUtZ2FtZSIsKGZ1bmN0aW9uKGUpe3ZhciB0PXtjb21wb25lbnQ6bi5lKCJwYWdlcy1nYW1lLWdhbWUiKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIGUobigiNDQzNSIpKX0uYmluZChudWxsLG4pKS5jYXRjaChuLm9lKSxkZWxheTpfX3VuaUNvbmZpZ1siYXN5bmMiXS5kZWxheSx0aW1lb3V0Ol9fdW5pQ29uZmlnWyJhc3luYyJdLnRpbWVvdXR9O3JldHVybiBfX3VuaUNvbmZpZ1siYXN5bmMiXVsibG9hZGluZyJdJiYodC5sb2FkaW5nPXtuYW1lOiJTeXN0ZW1Bc3luY0xvYWRpbmciLHJlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZShfX3VuaUNvbmZpZ1siYXN5bmMiXVsibG9hZGluZyJdKX19KSxfX3VuaUNvbmZpZ1siYXN5bmMiXVsiZXJyb3IiXSYmKHQuZXJyb3I9e25hbWU6IlN5c3RlbUFzeW5jRXJyb3IiLHJlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZShfX3VuaUNvbmZpZ1siYXN5bmMiXVsiZXJyb3IiXSl9fSksdH0pKSxhLmRlZmF1bHQuY29tcG9uZW50KCJwYWdlcy1uZnQtYXJ0d29ya0RldGFpbF92aWRlbyIsKGZ1bmN0aW9uKGUpe3ZhciB0PXtjb21wb25lbnQ6UHJvbWlzZS5hbGwoW24uZSgicGFnZXMtY29tbW9uLWFib3V0dXN+cGFnZXMtY29tbW9uLWFyZWF+cGFnZXMtY29tbW9uLWFydGljbGV+cGFnZXMtY29tbW9uLWJvcnJvd2luZ35wYWdlcy1jb21tb24tY29udH5lMjZjNDNmNSIpLG4uZSgicGFnZXMtZm9sbG93LWluZGV4fnBhZ2VzLWZvbGxvdy10cmFkZXJ+cGFnZXMtbmZ0LWFydGlzdERldGFpbH5wYWdlcy1uZnQtYXJ0d29ya0RldGFpbH5wYWdlcy1uZnQtYXJ0d341OGY2MGJmOSIpLG4uZSgicGFnZXMtbmZ0LWFydHdvcmtEZXRhaWxfdmlkZW8iKV0pLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gZShuKCIyYmFlIikpfS5iaW5kKG51bGwsbikpLmNhdGNoKG4ub2UpLGRlbGF5Ol9fdW5pQ29uZmlnWyJhc3luYyJdLmRlbGF5LHRpbWVvdXQ6X191bmlDb25maWdbImFzeW5jIl0udGltZW91dH07cmV0dXJuIF9fdW5pQ29uZmlnWyJhc3luYyJdWyJsb2FkaW5nIl0mJih0LmxvYWRpbmc9e25hbWU6IlN5c3RlbUFzeW5jTG9hZGluZyIscmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKF9fdW5pQ29uZmlnWyJhc3luYyJdWyJsb2FkaW5nIl0pfX0pLF9fdW5pQ29uZmlnWyJhc3luYyJdWyJlcnJvciJdJiYodC5lcnJvcj17bmFtZToiU3lzdGVtQXN5bmNFcnJvciIscmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKF9fdW5pQ29uZmlnWyJhc3luYyJdWyJlcnJvciJdKX19KSx0fSkpLGEuZGVmYXVsdC5jb21wb25lbnQoInBhZ2VzLWZpbmFuY2lhbC1pbmRleCIsKGZ1bmN0aW9uKGUpe3ZhciB0PXtjb21wb25lbnQ6UHJvbWlzZS5hbGwoW24uZSgicGFnZXMtY29tbW9uLWFib3V0dXN+cGFnZXMtY29tbW9uLWFyZWF+cGFnZXMtY29tbW9uLWFydGljbGV+cGFnZXMtY29tbW9uLWJvcnJvd2luZ35wYWdlcy1jb21tb24tY29udH5lMjZjNDNmNSIpLG4uZSgicGFnZXMtZmluYW5jaWFsLWluZGV4IildKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIGUobigiZjYyOSIpKX0uYmluZChudWxsLG4pKS5jYXRjaChuLm9lKSxkZWxheTpfX3VuaUNvbmZpZ1siYXN5bmMiXS5kZWxheSx0aW1lb3V0Ol9fdW5pQ29uZmlnWyJhc3luYyJdLnRpbWVvdXR9O3JldHVybiBfX3VuaUNvbmZpZ1siYXN5bmMiXVsibG9hZGluZyJdJiYodC5sb2FkaW5nPXtuYW1lOiJTeXN0ZW1Bc3luY0xvYWRpbmciLHJlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZShfX3VuaUNvbmZpZ1siYXN5bmMiXVsibG9hZGluZyJdKX19KSxfX3VuaUNvbmZpZ1siYXN5bmMiXVsiZXJyb3IiXSYmKHQuZXJyb3I9e25hbWU6IlN5c3RlbUFzeW5jRXJyb3IiLHJlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZShfX3VuaUNvbmZpZ1siYXN5bmMiXVsiZXJyb3IiXSl9fSksdH0pKSxhLmRlZmF1bHQuY29tcG9uZW50KCJwYWdlcy10cmFuc2FjdGlvbi1pbmRleDIiLChmdW5jdGlvbihlKXt2YXIgdD17Y29tcG9uZW50OlByb21pc2UuYWxsKFtuLmUoInBhZ2VzLWNvbW1vbi1hYm91dHVzfnBhZ2VzLWNvbW1vbi1hcmVhfnBhZ2VzLWNvbW1vbi1hcnRpY2xlfnBhZ2VzLWNvbW1vbi1ib3Jyb3dpbmd+cGFnZXMtY29tbW9uLWNvbnR+ZTI2YzQzZjUiKSxuLmUoInBhZ2VzLWNvbW1vbi1sb2dpbn5wYWdlcy1jb21tb24tcmVnaXN0ZXJ+cGFnZXMtY29weXRyYWRlLWNvcHl+cGFnZXMtZm9sbG93LWluZGV4fnBhZ2VzLWZ1bmQtZnVuZFRyYW5+YWU4ZDJlNmMiKSxuLmUoInBhZ2VzLWNvbW1vbi1sb2dpbn5wYWdlcy1jb21tb24tcmVnaXN0ZXJ+cGFnZXMtZnVuZC1hc3NldHN+cGFnZXMtZnVuZC1hc3NldHNfcmVjb3JkfnBhZ2VzLWZ1bmQtZnVuZFR+ODUyNzc2NTYiKSxuLmUoInBhZ2VzLWNvcHl0cmFkZS1jb3B5fnBhZ2VzLWludmVzdC1wdXJjaGFzZX5wYWdlcy1vdGMtb3RjfnBhZ2VzLXRyYW5zYWN0aW9uLWNvbnRyYWN0fnBhZ2VzLXRyYW5zYWN0aW9+ZTc3YTRlYzciKSxuLmUoInBhZ2VzLXRyYW5zYWN0aW9uLWluZGV4MiIpXSkudGhlbihmdW5jdGlvbigpe3JldHVybiBlKG4oImZlN2EiKSl9LmJpbmQobnVsbCxuKSkuY2F0Y2gobi5vZSksZGVsYXk6X191bmlDb25maWdbImFzeW5jIl0uZGVsYXksdGltZW91dDpfX3VuaUNvbmZpZ1siYXN5bmMiXS50aW1lb3V0fTtyZXR1cm4gX191bmlDb25maWdbImFzeW5jIl1bImxvYWRpbmciXSYmKHQubG9hZGluZz17bmFtZToiU3lzdGVtQXN5bmNMb2FkaW5nIixyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoX191bmlDb25maWdbImFzeW5jIl1bImxvYWRpbmciXSl9fSksX191bmlDb25maWdbImFzeW5jIl1bImVycm9yIl0mJih0LmVycm9yPXtuYW1lOiJTeXN0ZW1Bc3luY0Vycm9yIixyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoX191bmlDb25maWdbImFzeW5jIl1bImVycm9yIl0pfX0pLHR9KSksYS5kZWZhdWx0LmNvbXBvbmVudCgicGFnZXMtc2V0dGluZy1zZXR0aW5nIiwoZnVuY3Rpb24oZSl7dmFyIHQ9e2NvbXBvbmVudDpQcm9taXNlLmFsbChbbi5lKCJwYWdlcy1jb21tb24tYWJvdXR1c35wYWdlcy1jb21tb24tYXJlYX5wYWdlcy1jb21tb24tYXJ0aWNsZX5wYWdlcy1jb21tb24tYm9ycm93aW5nfnBhZ2VzLWNvbW1vbi1jb250fmUyNmM0M2Y1Iiksbi5lKCJwYWdlcy1jb21tb24tYWJvdXR1c35wYWdlcy1jb21tb24tYXJlYX5wYWdlcy1jb21tb24tYXJ0aWNsZX5wYWdlcy1jb21tb24tYm9ycm93aW5nfnBhZ2VzLWNvbW1vbi1jb250fjQ2NmQxMDJlIiksbi5lKCJwYWdlcy1jb21tb24tbG9naW5+cGFnZXMtY29tbW9uLXJlZ2lzdGVyfnBhZ2VzLWNvcHl0cmFkZS1jb3B5fnBhZ2VzLWZvbGxvdy1pbmRleH5wYWdlcy1mdW5kLWZ1bmRUcmFufmFlOGQyZTZjIiksbi5lKCJwYWdlcy1zZXR0aW5nLXJlYWx+cGFnZXMtc2V0dGluZy1zZXR0aW5nIiksbi5lKCJwYWdlcy1zZXR0aW5nLXNldHRpbmciKV0pLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gZShuKCI3ODA0IikpfS5iaW5kKG51bGwsbikpLmNhdGNoKG4ub2UpLGRlbGF5Ol9fdW5pQ29uZmlnWyJhc3luYyJdLmRlbGF5LHRpbWVvdXQ6X191bmlDb25maWdbImFzeW5jIl0udGltZW91dH07cmV0dXJuIF9fdW5pQ29uZmlnWyJhc3luYyJdWyJsb2FkaW5nIl0mJih0LmxvYWRpbmc9e25hbWU6IlN5c3RlbUFzeW5jTG9hZGluZyIscmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKF9fdW5pQ29uZmlnWyJhc3luYyJdWyJsb2FkaW5nIl0pfX0pLF9fdW5pQ29uZmlnWyJhc3luYyJdWyJlcnJvciJdJiYodC5lcnJvcj17bmFtZToiU3lzdGVtQXN5bmNFcnJvciIscmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKF9fdW5pQ29uZmlnWyJhc3luYyJdWyJlcnJvciJdKX19KSx0fSkpLGEuZGVmYXVsdC5jb21wb25lbnQoInBhZ2VzLXNldHRpbmctdXNlckluZm8iLChmdW5jdGlvbihlKXt2YXIgdD17Y29tcG9uZW50OlByb21pc2UuYWxsKFtuLmUoInBhZ2VzLWNvbW1vbi1hYm91dHVzfnBhZ2VzLWNvbW1vbi1hcmVhfnBhZ2VzLWNvbW1vbi1hcnRpY2xlfnBhZ2VzLWNvbW1vbi1ib3Jyb3dpbmd+cGFnZXMtY29tbW9uLWNvbnR+ZTI2YzQzZjUiKSxuLmUoInBhZ2VzLWNvbW1vbi1hYm91dHVzfnBhZ2VzLWNvbW1vbi1hcmVhfnBhZ2VzLWNvbW1vbi1hcnRpY2xlfnBhZ2VzLWNvbW1vbi1ib3Jyb3dpbmd+cGFnZXMtY29tbW9uLWNvbnR+NDY2ZDEwMmUiKSxuLmUoInBhZ2VzLWNvbW1vbi1sb2dpbn5wYWdlcy1jb21tb24tcmVnaXN0ZXJ+cGFnZXMtY29weXRyYWRlLWNvcHl+cGFnZXMtZm9sbG93LWluZGV4fnBhZ2VzLWZ1bmQtZnVuZFRyYW5+YWU4ZDJlNmMiKSxuLmUoInBhZ2VzLXNldHRpbmctdXNlckluZm8iKV0pLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gZShuKCIxZTY0IikpfS5iaW5kKG51bGwsbikpLmNhdGNoKG4ub2UpLGRlbGF5Ol9fdW5pQ29uZmlnWyJhc3luYyJdLmRlbGF5LHRpbWVvdXQ6X191bmlDb25maWdbImFzeW5jIl0udGltZW91dH07cmV0dXJuIF9fdW5pQ29uZmlnWyJhc3luYyJdWyJsb2FkaW5nIl0mJih0LmxvYWRpbmc9e25hbWU6IlN5c3RlbUFzeW5jTG9hZGluZyIscmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKF9fdW5pQ29uZmlnWyJhc3luYyJdWyJsb2FkaW5nIl0pfX0pLF9fdW5pQ29uZmlnWyJhc3luYyJdWyJlcnJvciJdJiYodC5lcnJvcj17bmFtZToiU3lzdGVtQXN5bmNFcnJvciIscmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKF9fdW5pQ29uZmlnWyJhc3luYyJdWyJlcnJvciJdKX19KSx0fSkpLGEuZGVmYXVsdC5jb21wb25lbnQoInBhZ2VzLXNldHRpbmctc2VjdXJpdHkiLChmdW5jdGlvbihlKXt2YXIgdD17Y29tcG9uZW50OlByb21pc2UuYWxsKFtuLmUoInBhZ2VzLWNvbW1vbi1hYm91dHVzfnBhZ2VzLWNvbW1vbi1hcmVhfnBhZ2VzLWNvbW1vbi1hcnRpY2xlfnBhZ2VzLWNvbW1vbi1ib3Jyb3dpbmd+cGFnZXMtY29tbW9uLWNvbnR+ZTI2YzQzZjUiKSxuLmUoInBhZ2VzLWNvbW1vbi1hYm91dHVzfnBhZ2VzLWNvbW1vbi1hcmVhfnBhZ2VzLWNvbW1vbi1hcnRpY2xlfnBhZ2VzLWNvbW1vbi1ib3Jyb3dpbmd+cGFnZXMtY29tbW9uLWNvbnR+NDY2ZDEwMmUiKSxuLmUoInBhZ2VzLWNvbW1vbi1sb2dpbn5wYWdlcy1jb21tb24tcmVnaXN0ZXJ+cGFnZXMtY29weXRyYWRlLWNvcHl+cGFnZXMtZm9sbG93LWluZGV4fnBhZ2VzLWZ1bmQtZnVuZFRyYW5+YWU4ZDJlNmMiKSxuLmUoInBhZ2VzLXNldHRpbmctc2VjdXJpdHkiKV0pLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gZShuKCIzYzdiIikpfS5iaW5kKG51bGwsbikpLmNhdGNoKG4ub2UpLGRlbGF5Ol9fdW5pQ29uZmlnWyJhc3luYyJdLmRlbGF5LHRpbWVvdXQ6X191bmlDb25maWdbImFzeW5jIl0udGltZW91dH07cmV0dXJuIF9fdW5pQ29uZmlnWyJhc3luYyJdWyJsb2FkaW5nIl0mJih0LmxvYWRpbmc9e25hbWU6IlN5c3RlbUFzeW5jTG9hZGluZyIscmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKF9fdW5pQ29uZmlnWyJhc3luYyJdWyJsb2FkaW5nIl0pfX0pLF9fdW5pQ29uZmlnWyJhc3luYyJdWyJlcnJvciJdJiYodC5lcnJvcj17bmFtZToiU3lzdGVtQXN5bmNFcnJvciIscmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKF9fdW5pQ29uZmlnWyJhc3luYyJdWyJlcnJvciJdKX19KSx0fSkpLGEuZGVmYXVsdC5jb21wb25lbnQoInBhZ2VzLXNldHRpbmctcGFzc3dvcmQiLChmdW5jdGlvbihlKXt2YXIgdD17Y29tcG9uZW50OlByb21pc2UuYWxsKFtuLmUoInBhZ2VzLWNvbW1vbi1hYm91dHVzfnBhZ2VzLWNvbW1vbi1hcmVhfnBhZ2VzLWNvbW1vbi1hcnRpY2xlfnBhZ2VzLWNvbW1vbi1ib3Jyb3dpbmd+cGFnZXMtY29tbW9uLWNvbnR+ZTI2YzQzZjUiKSxuLmUoInBhZ2VzLWNvbW1vbi1hYm91dHVzfnBhZ2VzLWNvbW1vbi1hcmVhfnBhZ2VzLWNvbW1vbi1hcnRpY2xlfnBhZ2VzLWNvbW1vbi1ib3Jyb3dpbmd+cGFnZXMtY29tbW9uLWNvbnR+NDY2ZDEwMmUiKSxuLmUoInBhZ2VzLWNvbW1vbi1sb2dpbn5wYWdlcy1jb21tb24tcmVnaXN0ZXJ+cGFnZXMtZnVuZC1hc3NldHN+cGFnZXMtZnVuZC1hc3NldHNfcmVjb3JkfnBhZ2VzLWZ1bmQtZnVuZFR+ODUyNzc2NTYiKSxuLmUoInBhZ2VzLXNldHRpbmctcGFzc3dvcmQiKV0pLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gZShuKCIyNGFjIikpfS5iaW5kKG51bGwsbikpLmNhdGNoKG4ub2UpLGRlbGF5Ol9fdW5pQ29uZmlnWyJhc3luYyJdLmRlbGF5LHRpbWVvdXQ6X191bmlDb25maWdbImFzeW5jIl0udGltZW91dH07cmV0dXJuIF9fdW5pQ29uZmlnWyJhc3luYyJdWyJsb2FkaW5nIl0mJih0LmxvYWRpbmc9e25hbWU6IlN5c3RlbUFzeW5jTG9hZGluZyIscmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKF9fdW5pQ29uZmlnWyJhc3luYyJdWyJsb2FkaW5nIl0pfX0pLF9fdW5pQ29uZmlnWyJhc3luYyJdWyJlcnJvciJdJiYodC5lcnJvcj17bmFtZToiU3lzdGVtQXN5bmNFcnJvciIscmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKF9fdW5pQ29uZmlnWyJhc3luYyJdWyJlcnJvciJdKX19KSx0fSkpLGEuZGVmYXVsdC5jb21wb25lbnQoInBhZ2VzLXNldHRpbmctcGF5UGFzc3dvcmQiLChmdW5jdGlvbihlKXt2YXIgdD17Y29tcG9uZW50OlByb21pc2UuYWxsKFtuLmUoInBhZ2VzLWNvbW1vbi1hYm91dHVzfnBhZ2VzLWNvbW1vbi1hcmVhfnBhZ2VzLWNvbW1vbi1hcnRpY2xlfnBhZ2VzLWNvbW1vbi1ib3Jyb3dpbmd+cGFnZXMtY29tbW9uLWNvbnR+ZTI2YzQzZjUiKSxuLmUoInBhZ2VzLWNvbW1vbi1hYm91dHVzfnBhZ2VzLWNvbW1vbi1hcmVhfnBhZ2VzLWNvbW1vbi1hcnRpY2xlfnBhZ2VzLWNvbW1vbi1ib3Jyb3dpbmd+cGFnZXMtY29tbW9uLWNvbnR+NDY2ZDEwMmUiKSxuLmUoInBhZ2VzLXNldHRpbmctcGF5UGFzc3dvcmQiKV0pLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gZShuKCI4NGNkIikpfS5iaW5kKG51bGwsbikpLmNhdGNoKG4ub2UpLGRlbGF5Ol9fdW5pQ29uZmlnWyJhc3luYyJdLmRlbGF5LHRpbWVvdXQ6X191bmlDb25maWdbImFzeW5jIl0udGltZW91dH07cmV0dXJuIF9fdW5pQ29uZmlnWyJhc3luYyJdWyJsb2FkaW5nIl0mJih0LmxvYWRpbmc9e25hbWU6IlN5c3RlbUFzeW5jTG9hZGluZyIscmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKF9fdW5pQ29uZmlnWyJhc3luYyJdWyJsb2FkaW5nIl0pfX0pLF9fdW5pQ29uZmlnWyJhc3luYyJdWyJlcnJvciJdJiYodC5lcnJvcj17bmFtZToiU3lzdGVtQXN5bmNFcnJvciIscmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKF9fdW5pQ29uZmlnWyJhc3luYyJdWyJlcnJvciJdKX19KSx0fSkpLGEuZGVmYXVsdC5jb21wb25lbnQoInBhZ2VzLXNldHRpbmctY291cG9uIiwoZnVuY3Rpb24oZSl7dmFyIHQ9e2NvbXBvbmVudDpQcm9taXNlLmFsbChbbi5lKCJwYWdlcy1jb21tb24tYWJvdXR1c35wYWdlcy1jb21tb24tYXJlYX5wYWdlcy1jb21tb24tYXJ0aWNsZX5wYWdlcy1jb21tb24tYm9ycm93aW5nfnBhZ2VzLWNvbW1vbi1jb250fmUyNmM0M2Y1Iiksbi5lKCJwYWdlcy1jb21tb24tYWJvdXR1c35wYWdlcy1jb21tb24tYXJlYX5wYWdlcy1jb21tb24tYXJ0aWNsZX5wYWdlcy1jb21tb24tYm9ycm93aW5nfnBhZ2VzLWNvbW1vbi1jb250fjQ2NmQxMDJlIiksbi5lKCJwYWdlcy1zZXR0aW5nLWNvdXBvbiIpXSkudGhlbihmdW5jdGlvbigpe3JldHVybiBlKG4oIjNjMWYiKSl9LmJpbmQobnVsbCxuKSkuY2F0Y2gobi5vZSksZGVsYXk6X191bmlDb25maWdbImFzeW5jIl0uZGVsYXksdGltZW91dDpfX3VuaUNvbmZpZ1siYXN5bmMiXS50aW1lb3V0fTtyZXR1cm4gX191bmlDb25maWdbImFzeW5jIl1bImxvYWRpbmciXSYmKHQubG9hZGluZz17bmFtZToiU3lzdGVtQXN5bmNMb2FkaW5nIixyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoX191bmlDb25maWdbImFzeW5jIl1bImxvYWRpbmciXSl9fSksX191bmlDb25maWdbImFzeW5jIl1bImVycm9yIl0mJih0LmVycm9yPXtuYW1lOiJTeXN0ZW1Bc3luY0Vycm9yIixyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoX191bmlDb25maWdbImFzeW5jIl1bImVycm9yIl0pfX0pLHR9KSksYS5kZWZhdWx0LmNvbXBvbmVudCgicGFnZXMtc2V0dGluZy13YWxsZXQiLChmdW5jdGlvbihlKXt2YXIgdD17Y29tcG9uZW50OlByb21pc2UuYWxsKFtuLmUoInBhZ2VzLWNvbW1vbi1hYm91dHVzfnBhZ2VzLWNvbW1vbi1hcmVhfnBhZ2VzLWNvbW1vbi1hcnRpY2xlfnBhZ2VzLWNvbW1vbi1ib3Jyb3dpbmd+cGFnZXMtY29tbW9uLWNvbnR+ZTI2YzQzZjUiKSxuLmUoInBhZ2VzLWNvbW1vbi1hYm91dHVzfnBhZ2VzLWNvbW1vbi1hcmVhfnBhZ2VzLWNvbW1vbi1hcnRpY2xlfnBhZ2VzLWNvbW1vbi1ib3Jyb3dpbmd+cGFnZXMtY29tbW9uLWNvbnR+NDY2ZDEwMmUiKSxuLmUoInBhZ2VzLWZvbGxvdy1mb2xsb3d+cGFnZXMtbG9ja21pbmctb3JkZXJ+cGFnZXMtc2V0dGluZy13YWxsZXQiKSxuLmUoInBhZ2VzLXNldHRpbmctd2FsbGV0IildKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIGUobigiZGY2ZSIpKX0uYmluZChudWxsLG4pKS5jYXRjaChuLm9lKSxkZWxheTpfX3VuaUNvbmZpZ1siYXN5bmMiXS5kZWxheSx0aW1lb3V0Ol9fdW5pQ29uZmlnWyJhc3luYyJdLnRpbWVvdXR9O3JldHVybiBfX3VuaUNvbmZpZ1siYXN5bmMiXVsibG9hZGluZyJdJiYodC5sb2FkaW5nPXtuYW1lOiJTeXN0ZW1Bc3luY0xvYWRpbmciLHJlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZShfX3VuaUNvbmZpZ1siYXN5bmMiXVsibG9hZGluZyJdKX19KSxfX3VuaUNvbmZpZ1siYXN5bmMiXVsiZXJyb3IiXSYmKHQuZXJyb3I9e25hbWU6IlN5c3RlbUFzeW5jRXJyb3IiLHJlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZShfX3VuaUNvbmZpZ1siYXN5bmMiXVsiZXJyb3IiXSl9fSksdH0pKSxhLmRlZmF1bHQuY29tcG9uZW50KCJwYWdlcy1zZXR0aW5nLWJpbGwiLChmdW5jdGlvbihlKXt2YXIgdD17Y29tcG9uZW50OlByb21pc2UuYWxsKFtuLmUoInBhZ2VzLWNvbW1vbi1hYm91dHVzfnBhZ2VzLWNvbW1vbi1hcmVhfnBhZ2VzLWNvbW1vbi1hcnRpY2xlfnBhZ2VzLWNvbW1vbi1ib3Jyb3dpbmd+cGFnZXMtY29tbW9uLWNvbnR+ZTI2YzQzZjUiKSxuLmUoInBhZ2VzLWNvbW1vbi1hYm91dHVzfnBhZ2VzLWNvbW1vbi1hcmVhfnBhZ2VzLWNvbW1vbi1hcnRpY2xlfnBhZ2VzLWNvbW1vbi1ib3Jyb3dpbmd+cGFnZXMtY29tbW9uLWNvbnR+NDY2ZDEwMmUiKSxuLmUoInBhZ2VzLXNldHRpbmctYmlsbCIpXSkudGhlbihmdW5jdGlvbigpe3JldHVybiBlKG4oIjQyZDAiKSl9LmJpbmQobnVsbCxuKSkuY2F0Y2gobi5vZSksZGVsYXk6X191bmlDb25maWdbImFzeW5jIl0uZGVsYXksdGltZW91dDpfX3VuaUNvbmZpZ1siYXN5bmMiXS50aW1lb3V0fTtyZXR1cm4gX191bmlDb25maWdbImFzeW5jIl1bImxvYWRpbmciXSYmKHQubG9hZGluZz17bmFtZToiU3lzdGVtQXN5bmNMb2FkaW5nIixyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoX191bmlDb25maWdbImFzeW5jIl1bImxvYWRpbmciXSl9fSksX191bmlDb25maWdbImFzeW5jIl1bImVycm9yIl0mJih0LmVycm9yPXtuYW1lOiJTeXN0ZW1Bc3luY0Vycm9yIixyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoX191bmlDb25maWdbImFzeW5jIl1bImVycm9yIl0pfX0pLHR9KSksYS5kZWZhdWx0LmNvbXBvbmVudCgicGFnZXMtc2V0dGluZy10ZWFtIiwoZnVuY3Rpb24oZSl7dmFyIHQ9e2NvbXBvbmVudDpQcm9taXNlLmFsbChbbi5lKCJwYWdlcy1jb21tb24tYWJvdXR1c35wYWdlcy1jb21tb24tYXJlYX5wYWdlcy1jb21tb24tYXJ0aWNsZX5wYWdlcy1jb21tb24tYm9ycm93aW5nfnBhZ2VzLWNvbW1vbi1jb250fmUyNmM0M2Y1Iiksbi5lKCJwYWdlcy1jb21tb24tYWJvdXR1c35wYWdlcy1jb21tb24tYXJlYX5wYWdlcy1jb21tb24tYXJ0aWNsZX5wYWdlcy1jb21tb24tYm9ycm93aW5nfnBhZ2VzLWNvbW1vbi1jb250fjQ2NmQxMDJlIiksbi5lKCJwYWdlcy1zZXR0aW5nLXRlYW0iKV0pLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gZShuKCJjYTU3IikpfS5iaW5kKG51bGwsbikpLmNhdGNoKG4ub2UpLGRlbGF5Ol9fdW5pQ29uZmlnWyJhc3luYyJdLmRlbGF5LHRpbWVvdXQ6X191bmlDb25maWdbImFzeW5jIl0udGltZW91dH07cmV0dXJuIF9fdW5pQ29uZmlnWyJhc3luYyJdWyJsb2FkaW5nIl0mJih0LmxvYWRpbmc9e25hbWU6IlN5c3RlbUFzeW5jTG9hZGluZyIscmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKF9fdW5pQ29uZmlnWyJhc3luYyJdWyJsb2FkaW5nIl0pfX0pLF9fdW5pQ29uZmlnWyJhc3luYyJdWyJlcnJvciJdJiYodC5lcnJvcj17bmFtZToiU3lzdGVtQXN5bmNFcnJvciIscmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKF9fdW5pQ29uZmlnWyJhc3luYyJdWyJlcnJvciJdKX19KSx0fSkpLGEuZGVmYXVsdC5jb21wb25lbnQoInBhZ2VzLXNldHRpbmctZXhjaGFuZ2UiLChmdW5jdGlvbihlKXt2YXIgdD17Y29tcG9uZW50OlByb21pc2UuYWxsKFtuLmUoInBhZ2VzLWNvbW1vbi1hYm91dHVzfnBhZ2VzLWNvbW1vbi1hcmVhfnBhZ2VzLWNvbW1vbi1hcnRpY2xlfnBhZ2VzLWNvbW1vbi1ib3Jyb3dpbmd+cGFnZXMtY29tbW9uLWNvbnR+ZTI2YzQzZjUiKSxuLmUoInBhZ2VzLWNvbW1vbi1hYm91dHVzfnBhZ2VzLWNvbW1vbi1hcmVhfnBhZ2VzLWNvbW1vbi1hcnRpY2xlfnBhZ2VzLWNvbW1vbi1ib3Jyb3dpbmd+cGFnZXMtY29tbW9uLWNvbnR+NDY2ZDEwMmUiKSxuLmUoInBhZ2VzLXNldHRpbmctZXhjaGFuZ2UiKV0pLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gZShuKCJjZGYxIikpfS5iaW5kKG51bGwsbikpLmNhdGNoKG4ub2UpLGRlbGF5Ol9fdW5pQ29uZmlnWyJhc3luYyJdLmRlbGF5LHRpbWVvdXQ6X191bmlDb25maWdbImFzeW5jIl0udGltZW91dH07cmV0dXJuIF9fdW5pQ29uZmlnWyJhc3luYyJdWyJsb2FkaW5nIl0mJih0LmxvYWRpbmc9e25hbWU6IlN5c3RlbUFzeW5jTG9hZGluZyIscmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKF9fdW5pQ29uZmlnWyJhc3luYyJdWyJsb2FkaW5nIl0pfX0pLF9fdW5pQ29uZmlnWyJhc3luYyJdWyJlcnJvciJdJiYodC5lcnJvcj17bmFtZToiU3lzdGVtQXN5bmNFcnJvciIscmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKF9fdW5pQ29uZmlnWyJhc3luYyJdWyJlcnJvciJdKX19KSx0fSkpLGEuZGVmYXVsdC5jb21wb25lbnQoInBhZ2VzLXNldHRpbmctcmV3YXJkUmVjb3JkIiwoZnVuY3Rpb24oZSl7dmFyIHQ9e2NvbXBvbmVudDpQcm9taXNlLmFsbChbbi5lKCJwYWdlcy1jb21tb24tYWJvdXR1c35wYWdlcy1jb21tb24tYXJlYX5wYWdlcy1jb21tb24tYXJ0aWNsZX5wYWdlcy1jb21tb24tYm9ycm93aW5nfnBhZ2VzLWNvbW1vbi1jb250fmUyNmM0M2Y1Iiksbi5lKCJwYWdlcy1jb21tb24tYWJvdXR1c35wYWdlcy1jb21tb24tYXJlYX5wYWdlcy1jb21tb24tYXJ0aWNsZX5wYWdlcy1jb21tb24tYm9ycm93aW5nfnBhZ2VzLWNvbW1vbi1jb250fjQ2NmQxMDJlIiksbi5lKCJwYWdlcy1jb21tb24tbG9naW5+cGFnZXMtY29tbW9uLXJlZ2lzdGVyfnBhZ2VzLWNvcHl0cmFkZS1jb3B5fnBhZ2VzLWZvbGxvdy1pbmRleH5wYWdlcy1mdW5kLWZ1bmRUcmFufmFlOGQyZTZjIiksbi5lKCJwYWdlcy1uZnQtcmVzZWxsfnBhZ2VzLXNldHRpbmctcmV3YXJkUmVjb3JkIiksbi5lKCJwYWdlcy1zZXR0aW5nLXJld2FyZFJlY29yZCIpXSkudGhlbihmdW5jdGlvbigpe3JldHVybiBlKG4oIjY0ZjAiKSl9LmJpbmQobnVsbCxuKSkuY2F0Y2gobi5vZSksZGVsYXk6X191bmlDb25maWdbImFzeW5jIl0uZGVsYXksdGltZW91dDpfX3VuaUNvbmZpZ1siYXN5bmMiXS50aW1lb3V0fTtyZXR1cm4gX191bmlDb25maWdbImFzeW5jIl1bImxvYWRpbmciXSYmKHQubG9hZGluZz17bmFtZToiU3lzdGVtQXN5bmNMb2FkaW5nIixyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoX191bmlDb25maWdbImFzeW5jIl1bImxvYWRpbmciXSl9fSksX191bmlDb25maWdbImFzeW5jIl1bImVycm9yIl0mJih0LmVycm9yPXtuYW1lOiJTeXN0ZW1Bc3luY0Vycm9yIixyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoX191bmlDb25maWdbImFzeW5jIl1bImVycm9yIl0pfX0pLHR9KSksYS5kZWZhdWx0LmNvbXBvbmVudCgicGFnZXMtc2V0dGluZy1hcmVhcyIsKGZ1bmN0aW9uKGUpe3ZhciB0PXtjb21wb25lbnQ6bi5lKCJwYWdlcy1zZXR0aW5nLWFyZWFzIikudGhlbihmdW5jdGlvbigpe3JldHVybiBlKG4oIjlmOGMiKSl9LmJpbmQobnVsbCxuKSkuY2F0Y2gobi5vZSksZGVsYXk6X191bmlDb25maWdbImFzeW5jIl0uZGVsYXksdGltZW91dDpfX3VuaUNvbmZpZ1siYXN5bmMiXS50aW1lb3V0fTtyZXR1cm4gX191bmlDb25maWdbImFzeW5jIl1bImxvYWRpbmciXSYmKHQubG9hZGluZz17bmFtZToiU3lzdGVtQXN5bmNMb2FkaW5nIixyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoX191bmlDb25maWdbImFzeW5jIl1bImxvYWRpbmciXSl9fSksX191bmlDb25maWdbImFzeW5jIl1bImVycm9yIl0mJih0LmVycm9yPXtuYW1lOiJTeXN0ZW1Bc3luY0Vycm9yIixyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoX191bmlDb25maWdbImFzeW5jIl1bImVycm9yIl0pfX0pLHR9KSksYS5kZWZhdWx0LmNvbXBvbmVudCgicGFnZXMtc2V0dGluZy1iYW5rIiwoZnVuY3Rpb24oZSl7dmFyIHQ9e2NvbXBvbmVudDpQcm9taXNlLmFsbChbbi5lKCJwYWdlcy1jb21tb24tYWJvdXR1c35wYWdlcy1jb21tb24tYXJlYX5wYWdlcy1jb21tb24tYXJ0aWNsZX5wYWdlcy1jb21tb24tYm9ycm93aW5nfnBhZ2VzLWNvbW1vbi1jb250fmUyNmM0M2Y1Iiksbi5lKCJwYWdlcy1jb21tb24tYWJvdXR1c35wYWdlcy1jb21tb24tYXJlYX5wYWdlcy1jb21tb24tYXJ0aWNsZX5wYWdlcy1jb21tb24tYm9ycm93aW5nfnBhZ2VzLWNvbW1vbi1jb250fjQ2NmQxMDJlIiksbi5lKCJwYWdlcy1zZXR0aW5nLWJhbmsiKV0pLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gZShuKCJmZDY1IikpfS5iaW5kKG51bGwsbikpLmNhdGNoKG4ub2UpLGRlbGF5Ol9fdW5pQ29uZmlnWyJhc3luYyJdLmRlbGF5LHRpbWVvdXQ6X191bmlDb25maWdbImFzeW5jIl0udGltZW91dH07cmV0dXJuIF9fdW5pQ29uZmlnWyJhc3luYyJdWyJsb2FkaW5nIl0mJih0LmxvYWRpbmc9e25hbWU6IlN5c3RlbUFzeW5jTG9hZGluZyIscmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKF9fdW5pQ29uZmlnWyJhc3luYyJdWyJsb2FkaW5nIl0pfX0pLF9fdW5pQ29uZmlnWyJhc3luYyJdWyJlcnJvciJdJiYodC5lcnJvcj17bmFtZToiU3lzdGVtQXN5bmNFcnJvciIscmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKF9fdW5pQ29uZmlnWyJhc3luYyJdWyJlcnJvciJdKX19KSx0fSkpLGEuZGVmYXVsdC5jb21wb25lbnQoInBhZ2VzLXNldHRpbmctb3BlcmF0aW9uYWxfY29tcGxpYW5jZSIsKGZ1bmN0aW9uKGUpe3ZhciB0PXtjb21wb25lbnQ6UHJvbWlzZS5hbGwoW24uZSgicGFnZXMtY29tbW9uLWFib3V0dXN+cGFnZXMtY29tbW9uLWFyZWF+cGFnZXMtY29tbW9uLWFydGljbGV+cGFnZXMtY29tbW9uLWJvcnJvd2luZ35wYWdlcy1jb21tb24tY29udH5lMjZjNDNmNSIpLG4uZSgicGFnZXMtY29tbW9uLWFib3V0dXN+cGFnZXMtY29tbW9uLWFyZWF+cGFnZXMtY29tbW9uLWFydGljbGV+cGFnZXMtY29tbW9uLWJvcnJvd2luZ35wYWdlcy1jb21tb24tY29udH40NjZkMTAyZSIpLG4uZSgicGFnZXMtc2V0dGluZy1vcGVyYXRpb25hbF9jb21wbGlhbmNlIildKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIGUobigiZmQ2NiIpKX0uYmluZChudWxsLG4pKS5jYXRjaChuLm9lKSxkZWxheTpfX3VuaUNvbmZpZ1siYXN5bmMiXS5kZWxheSx0aW1lb3V0Ol9fdW5pQ29uZmlnWyJhc3luYyJdLnRpbWVvdXR9O3JldHVybiBfX3VuaUNvbmZpZ1siYXN5bmMiXVsibG9hZGluZyJdJiYodC5sb2FkaW5nPXtuYW1lOiJTeXN0ZW1Bc3luY0xvYWRpbmciLHJlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZShfX3VuaUNvbmZpZ1siYXN5bmMiXVsibG9hZGluZyJdKX19KSxfX3VuaUNvbmZpZ1siYXN5bmMiXVsiZXJyb3IiXSYmKHQuZXJyb3I9e25hbWU6IlN5c3RlbUFzeW5jRXJyb3IiLHJlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZShfX3VuaUNvbmZpZ1siYXN5bmMiXVsiZXJyb3IiXSl9fSksdH0pKSxhLmRlZmF1bHQuY29tcG9uZW50KCJwYWdlcy1zZXR0aW5nLXNoYXJlIiwoZnVuY3Rpb24oZSl7dmFyIHQ9e2NvbXBvbmVudDpQcm9taXNlLmFsbChbbi5lKCJwYWdlcy1jb21tb24tYWJvdXR1c35wYWdlcy1jb21tb24tYXJlYX5wYWdlcy1jb21tb24tYXJ0aWNsZX5wYWdlcy1jb21tb24tYm9ycm93aW5nfnBhZ2VzLWNvbW1vbi1jb250fmUyNmM0M2Y1Iiksbi5lKCJwYWdlcy1jb21tb24tYWJvdXR1c35wYWdlcy1jb21tb24tYXJlYX5wYWdlcy1jb21tb24tYXJ0aWNsZX5wYWdlcy1jb21tb24tYm9ycm93aW5nfnBhZ2VzLWNvbW1vbi1jb250fjQ2NmQxMDJlIiksbi5lKCJwYWdlcy1mdW5kLXJlY2VpdmV+cGFnZXMtc2V0dGluZy1zaGFyZSIpLG4uZSgicGFnZXMtc2V0dGluZy1zaGFyZSIpXSkudGhlbihmdW5jdGlvbigpe3JldHVybiBlKG4oIjNjOGUiKSl9LmJpbmQobnVsbCxuKSkuY2F0Y2gobi5vZSksZGVsYXk6X191bmlDb25maWdbImFzeW5jIl0uZGVsYXksdGltZW91dDpfX3VuaUNvbmZpZ1siYXN5bmMiXS50aW1lb3V0fTtyZXR1cm4gX191bmlDb25maWdbImFzeW5jIl1bImxvYWRpbmciXSYmKHQubG9hZGluZz17bmFtZToiU3lzdGVtQXN5bmNMb2FkaW5nIixyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoX191bmlDb25maWdbImFzeW5jIl1bImxvYWRpbmciXSl9fSksX191bmlDb25maWdbImFzeW5jIl1bImVycm9yIl0mJih0LmVycm9yPXtuYW1lOiJTeXN0ZW1Bc3luY0Vycm9yIixyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoX191bmlDb25maWdbImFzeW5jIl1bImVycm9yIl0pfX0pLHR9KSksYS5kZWZhdWx0LmNvbXBvbmVudCgicGFnZXMtbG9ja21pbmctd2VsY29tZSIsKGZ1bmN0aW9uKGUpe3ZhciB0PXtjb21wb25lbnQ6UHJvbWlzZS5hbGwoW24uZSgicGFnZXMtY29tbW9uLWFib3V0dXN+cGFnZXMtY29tbW9uLWFyZWF+cGFnZXMtY29tbW9uLWFydGljbGV+cGFnZXMtY29tbW9uLWJvcnJvd2luZ35wYWdlcy1jb21tb24tY29udH5lMjZjNDNmNSIpLG4uZSgicGFnZXMtY29tbW9uLWFib3V0dXN+cGFnZXMtY29tbW9uLWFyZWF+cGFnZXMtY29tbW9uLWFydGljbGV+cGFnZXMtY29tbW9uLWJvcnJvd2luZ35wYWdlcy1jb21tb24tY29udH40NjZkMTAyZSIpLG4uZSgicGFnZXMtbG9ja21pbmctd2VsY29tZSIpXSkudGhlbihmdW5jdGlvbigpe3JldHVybiBlKG4oIjkwYjgiKSl9LmJpbmQobnVsbCxuKSkuY2F0Y2gobi5vZSksZGVsYXk6X191bmlDb25maWdbImFzeW5jIl0uZGVsYXksdGltZW91dDpfX3VuaUNvbmZpZ1siYXN5bmMiXS50aW1lb3V0fTtyZXR1cm4gX191bmlDb25maWdbImFzeW5jIl1bImxvYWRpbmciXSYmKHQubG9hZGluZz17bmFtZToiU3lzdGVtQXN5bmNMb2FkaW5nIixyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoX191bmlDb25maWdbImFzeW5jIl1bImxvYWRpbmciXSl9fSksX191bmlDb25maWdbImFzeW5jIl1bImVycm9yIl0mJih0LmVycm9yPXtuYW1lOiJTeXN0ZW1Bc3luY0Vycm9yIixyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoX191bmlDb25maWdbImFzeW5jIl1bImVycm9yIl0pfX0pLHR9KSksYS5kZWZhdWx0LmNvbXBvbmVudCgicGFnZXMta2VmdS1pbmRleCIsKGZ1bmN0aW9uKGUpe3ZhciB0PXtjb21wb25lbnQ6UHJvbWlzZS5hbGwoW24uZSgicGFnZXMtY29tbW9uLWFib3V0dXN+cGFnZXMtY29tbW9uLWFyZWF+cGFnZXMtY29tbW9uLWFydGljbGV+cGFnZXMtY29tbW9uLWJvcnJvd2luZ35wYWdlcy1jb21tb24tY29udH5lMjZjNDNmNSIpLG4uZSgicGFnZXMtY29tbW9uLWFib3V0dXN+cGFnZXMtY29tbW9uLWFyZWF+cGFnZXMtY29tbW9uLWFydGljbGV+cGFnZXMtY29tbW9uLWJvcnJvd2luZ35wYWdlcy1jb21tb24tY29udH40NjZkMTAyZSIpLG4uZSgicGFnZXMta2VmdS1pbmRleCIpXSkudGhlbihmdW5jdGlvbigpe3JldHVybiBlKG4oIjgxYzIiKSl9LmJpbmQobnVsbCxuKSkuY2F0Y2gobi5vZSksZGVsYXk6X191bmlDb25maWdbImFzeW5jIl0uZGVsYXksdGltZW91dDpfX3VuaUNvbmZpZ1siYXN5bmMiXS50aW1lb3V0fTtyZXR1cm4gX191bmlDb25maWdbImFzeW5jIl1bImxvYWRpbmciXSYmKHQubG9hZGluZz17bmFtZToiU3lzdGVtQXN5bmNMb2FkaW5nIixyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoX191bmlDb25maWdbImFzeW5jIl1bImxvYWRpbmciXSl9fSksX191bmlDb25maWdbImFzeW5jIl1bImVycm9yIl0mJih0LmVycm9yPXtuYW1lOiJTeXN0ZW1Bc3luY0Vycm9yIixyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoX191bmlDb25maWdbImFzeW5jIl1bImVycm9yIl0pfX0pLHR9KSksYS5kZWZhdWx0LmNvbXBvbmVudCgicGFnZXMtc2V0dGluZy1iYW5rX2ludGVybmF0aW9uYWwiLChmdW5jdGlvbihlKXt2YXIgdD17Y29tcG9uZW50OlByb21pc2UuYWxsKFtuLmUoInBhZ2VzLWNvbW1vbi1hYm91dHVzfnBhZ2VzLWNvbW1vbi1hcmVhfnBhZ2VzLWNvbW1vbi1hcnRpY2xlfnBhZ2VzLWNvbW1vbi1ib3Jyb3dpbmd+cGFnZXMtY29tbW9uLWNvbnR+ZTI2YzQzZjUiKSxuLmUoInBhZ2VzLWNvbW1vbi1hYm91dHVzfnBhZ2VzLWNvbW1vbi1hcmVhfnBhZ2VzLWNvbW1vbi1hcnRpY2xlfnBhZ2VzLWNvbW1vbi1ib3Jyb3dpbmd+cGFnZXMtY29tbW9uLWNvbnR+NDY2ZDEwMmUiKSxuLmUoInBhZ2VzLXNldHRpbmctYmFua19pbnRlcm5hdGlvbmFsIildKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIGUobigiMzUwYyIpKX0uYmluZChudWxsLG4pKS5jYXRjaChuLm9lKSxkZWxheTpfX3VuaUNvbmZpZ1siYXN5bmMiXS5kZWxheSx0aW1lb3V0Ol9fdW5pQ29uZmlnWyJhc3luYyJdLnRpbWVvdXR9O3JldHVybiBfX3VuaUNvbmZpZ1siYXN5bmMiXVsibG9hZGluZyJdJiYodC5sb2FkaW5nPXtuYW1lOiJTeXN0ZW1Bc3luY0xvYWRpbmciLHJlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZShfX3VuaUNvbmZpZ1siYXN5bmMiXVsibG9hZGluZyJdKX19KSxfX3VuaUNvbmZpZ1siYXN5bmMiXVsiZXJyb3IiXSYmKHQuZXJyb3I9e25hbWU6IlN5c3RlbUFzeW5jRXJyb3IiLHJlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZShfX3VuaUNvbmZpZ1siYXN5bmMiXVsiZXJyb3IiXSl9fSksdH0pKSxhLmRlZmF1bHQuY29tcG9uZW50KCJwYWdlcy1jb21tb24tZmFxIiwoZnVuY3Rpb24oZSl7dmFyIHQ9e2NvbXBvbmVudDpQcm9taXNlLmFsbChbbi5lKCJwYWdlcy1jb21tb24tYWJvdXR1c35wYWdlcy1jb21tb24tYXJlYX5wYWdlcy1jb21tb24tYXJ0aWNsZX5wYWdlcy1jb21tb24tYm9ycm93aW5nfnBhZ2VzLWNvbW1vbi1jb250fmUyNmM0M2Y1Iiksbi5lKCJwYWdlcy1jb21tb24tYWJvdXR1c35wYWdlcy1jb21tb24tYXJlYX5wYWdlcy1jb21tb24tYXJ0aWNsZX5wYWdlcy1jb21tb24tYm9ycm93aW5nfnBhZ2VzLWNvbW1vbi1jb250fjQ2NmQxMDJlIiksbi5lKCJwYWdlcy1jb21tb24tZmFxIildKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIGUobigiN2NiZiIpKX0uYmluZChudWxsLG4pKS5jYXRjaChuLm9lKSxkZWxheTpfX3VuaUNvbmZpZ1siYXN5bmMiXS5kZWxheSx0aW1lb3V0Ol9fdW5pQ29uZmlnWyJhc3luYyJdLnRpbWVvdXR9O3JldHVybiBfX3VuaUNvbmZpZ1siYXN5bmMiXVsibG9hZGluZyJdJiYodC5sb2FkaW5nPXtuYW1lOiJTeXN0ZW1Bc3luY0xvYWRpbmciLHJlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZShfX3VuaUNvbmZpZ1siYXN5bmMiXVsibG9hZGluZyJdKX19KSxfX3VuaUNvbmZpZ1siYXN5bmMiXVsiZXJyb3IiXSYmKHQuZXJyb3I9e25hbWU6IlN5c3RlbUFzeW5jRXJyb3IiLHJlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZShfX3VuaUNvbmZpZ1siYXN5bmMiXVsiZXJyb3IiXSl9fSksdH0pKSxhLmRlZmF1bHQuY29tcG9uZW50KCJwYWdlcy1jb21tb24tY29udGFjdHVzIiwoZnVuY3Rpb24oZSl7dmFyIHQ9e2NvbXBvbmVudDpQcm9taXNlLmFsbChbbi5lKCJwYWdlcy1jb21tb24tYWJvdXR1c35wYWdlcy1jb21tb24tYXJlYX5wYWdlcy1jb21tb24tYXJ0aWNsZX5wYWdlcy1jb21tb24tYm9ycm93aW5nfnBhZ2VzLWNvbW1vbi1jb250fmUyNmM0M2Y1Iiksbi5lKCJwYWdlcy1jb21tb24tYWJvdXR1c35wYWdlcy1jb21tb24tYXJlYX5wYWdlcy1jb21tb24tYXJ0aWNsZX5wYWdlcy1jb21tb24tYm9ycm93aW5nfnBhZ2VzLWNvbW1vbi1jb250fjQ2NmQxMDJlIiksbi5lKCJwYWdlcy1jb21tb24tY29udGFjdHVzIildKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIGUobigiZjcyMiIpKX0uYmluZChudWxsLG4pKS5jYXRjaChuLm9lKSxkZWxheTpfX3VuaUNvbmZpZ1siYXN5bmMiXS5kZWxheSx0aW1lb3V0Ol9fdW5pQ29uZmlnWyJhc3luYyJdLnRpbWVvdXR9O3JldHVybiBfX3VuaUNvbmZpZ1siYXN5bmMiXVsibG9hZGluZyJdJiYodC5sb2FkaW5nPXtuYW1lOiJTeXN0ZW1Bc3luY0xvYWRpbmciLHJlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZShfX3VuaUNvbmZpZ1siYXN5bmMiXVsibG9hZGluZyJdKX19KSxfX3VuaUNvbmZpZ1siYXN5bmMiXVsiZXJyb3IiXSYmKHQuZXJyb3I9e25hbWU6IlN5c3RlbUFzeW5jRXJyb3IiLHJlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZShfX3VuaUNvbmZpZ1siYXN5bmMiXVsiZXJyb3IiXSl9fSksdH0pKSxhLmRlZmF1bHQuY29tcG9uZW50KCJwYWdlcy1jb21tb24tYWJvdXR1cyIsKGZ1bmN0aW9uKGUpe3ZhciB0PXtjb21wb25lbnQ6UHJvbWlzZS5hbGwoW24uZSgicGFnZXMtY29tbW9uLWFib3V0dXN+cGFnZXMtY29tbW9uLWFyZWF+cGFnZXMtY29tbW9uLWFydGljbGV+cGFnZXMtY29tbW9uLWJvcnJvd2luZ35wYWdlcy1jb21tb24tY29udH5lMjZjNDNmNSIpLG4uZSgicGFnZXMtY29tbW9uLWFib3V0dXN+cGFnZXMtY29tbW9uLWFyZWF+cGFnZXMtY29tbW9uLWFydGljbGV+cGFnZXMtY29tbW9uLWJvcnJvd2luZ35wYWdlcy1jb21tb24tY29udH40NjZkMTAyZSIpLG4uZSgicGFnZXMtY29tbW9uLWFib3V0dXMiKV0pLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gZShuKCIyYjU0IikpfS5iaW5kKG51bGwsbikpLmNhdGNoKG4ub2UpLGRlbGF5Ol9fdW5pQ29uZmlnWyJhc3luYyJdLmRlbGF5LHRpbWVvdXQ6X191bmlDb25maWdbImFzeW5jIl0udGltZW91dH07cmV0dXJuIF9fdW5pQ29uZmlnWyJhc3luYyJdWyJsb2FkaW5nIl0mJih0LmxvYWRpbmc9e25hbWU6IlN5c3RlbUFzeW5jTG9hZGluZyIscmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKF9fdW5pQ29uZmlnWyJhc3luYyJdWyJsb2FkaW5nIl0pfX0pLF9fdW5pQ29uZmlnWyJhc3luYyJdWyJlcnJvciJdJiYodC5lcnJvcj17bmFtZToiU3lzdGVtQXN5bmNFcnJvciIscmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKF9fdW5pQ29uZmlnWyJhc3luYyJdWyJlcnJvciJdKX19KSx0fSkpLGEuZGVmYXVsdC5jb21wb25lbnQoInBhZ2VzLWNvbW1vbi1ib3Jyb3dpbmciLChmdW5jdGlvbihlKXt2YXIgdD17Y29tcG9uZW50OlByb21pc2UuYWxsKFtuLmUoInBhZ2VzLWNvbW1vbi1hYm91dHVzfnBhZ2VzLWNvbW1vbi1hcmVhfnBhZ2VzLWNvbW1vbi1hcnRpY2xlfnBhZ2VzLWNvbW1vbi1ib3Jyb3dpbmd+cGFnZXMtY29tbW9uLWNvbnR+ZTI2YzQzZjUiKSxuLmUoInBhZ2VzLWNvbW1vbi1hYm91dHVzfnBhZ2VzLWNvbW1vbi1hcmVhfnBhZ2VzLWNvbW1vbi1hcnRpY2xlfnBhZ2VzLWNvbW1vbi1ib3Jyb3dpbmd+cGFnZXMtY29tbW9uLWNvbnR+NDY2ZDEwMmUiKSxuLmUoInBhZ2VzLWNvbW1vbi1ib3Jyb3dpbmciKV0pLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gZShuKCIyZTFjIikpfS5iaW5kKG51bGwsbikpLmNhdGNoKG4ub2UpLGRlbGF5Ol9fdW5pQ29uZmlnWyJhc3luYyJdLmRlbGF5LHRpbWVvdXQ6X191bmlDb25maWdbImFzeW5jIl0udGltZW91dH07cmV0dXJuIF9fdW5pQ29uZmlnWyJhc3luYyJdWyJsb2FkaW5nIl0mJih0LmxvYWRpbmc9e25hbWU6IlN5c3RlbUFzeW5jTG9hZGluZyIscmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKF9fdW5pQ29uZmlnWyJhc3luYyJdWyJsb2FkaW5nIl0pfX0pLF9fdW5pQ29uZmlnWyJhc3luYyJdWyJlcnJvciJdJiYodC5lcnJvcj17bmFtZToiU3lzdGVtQXN5bmNFcnJvciIscmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKF9fdW5pQ29uZmlnWyJhc3luYyJdWyJlcnJvciJdKX19KSx0fSkpLGUuX191bmlSb3V0ZXM9W3twYXRoOiIvIixhbGlhczoiL3BhZ2VzL2luZGV4L2luZGV4Iixjb21wb25lbnQ6e3JlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZSgiUGFnZSIse3Byb3BzOk9iamVjdC5hc3NpZ24oe2lzUXVpdDohMCxpc0VudHJ5OiEwLGlzVGFiQmFyOiEwLHRhYkJhckluZGV4OjB9LF9fdW5pQ29uZmlnLmdsb2JhbFN0eWxlLHtuYXZpZ2F0aW9uQmFyVGl0bGVUZXh0OiIiLGVuYWJsZVB1bGxEb3duUmVmcmVzaDohMX0pfSxbZSgicGFnZXMtaW5kZXgtaW5kZXgiLHtzbG90OiJwYWdlIn0pXSl9fSxtZXRhOntpZDoxLG5hbWU6InBhZ2VzLWluZGV4LWluZGV4Iixpc05WdWU6ITEsbWF4V2lkdGg6MCxwYWdlUGF0aDoicGFnZXMvaW5kZXgvaW5kZXgiLGlzUXVpdDohMCxpc0VudHJ5OiEwLGlzVGFiQmFyOiEwLHRhYkJhckluZGV4OjAsd2luZG93VG9wOjB9fSx7cGF0aDoiL3BhZ2VzL2NvbW1vbi9sb2dpbiIsY29tcG9uZW50OntyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoIlBhZ2UiLHtwcm9wczpPYmplY3QuYXNzaWduKHt9LF9fdW5pQ29uZmlnLmdsb2JhbFN0eWxlLHtuYXZpZ2F0aW9uQmFyVGl0bGVUZXh0OiIiLGVuYWJsZVB1bGxEb3duUmVmcmVzaDohMX0pfSxbZSgicGFnZXMtY29tbW9uLWxvZ2luIix7c2xvdDoicGFnZSJ9KV0pfX0sbWV0YTp7bmFtZToicGFnZXMtY29tbW9uLWxvZ2luIixpc05WdWU6ITEsbWF4V2lkdGg6MCxwYWdlUGF0aDoicGFnZXMvY29tbW9uL2xvZ2luIix3aW5kb3dUb3A6MH19LHtwYXRoOiIvcGFnZXMvY29tbW9uL3JlZ2lzdGVyIixjb21wb25lbnQ6e3JlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZSgiUGFnZSIse3Byb3BzOk9iamVjdC5hc3NpZ24oe30sX191bmlDb25maWcuZ2xvYmFsU3R5bGUse25hdmlnYXRpb25CYXJUaXRsZVRleHQ6IiIsZW5hYmxlUHVsbERvd25SZWZyZXNoOiExfSl9LFtlKCJwYWdlcy1jb21tb24tcmVnaXN0ZXIiLHtzbG90OiJwYWdlIn0pXSl9fSxtZXRhOntuYW1lOiJwYWdlcy1jb21tb24tcmVnaXN0ZXIiLGlzTlZ1ZTohMSxtYXhXaWR0aDowLHBhZ2VQYXRoOiJwYWdlcy9jb21tb24vcmVnaXN0ZXIiLHdpbmRvd1RvcDowfX0se3BhdGg6Ii9wYWdlcy9jb21tb24vYXJlYSIsY29tcG9uZW50OntyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoIlBhZ2UiLHtwcm9wczpPYmplY3QuYXNzaWduKHt9LF9fdW5pQ29uZmlnLmdsb2JhbFN0eWxlLHtuYXZpZ2F0aW9uQmFyVGl0bGVUZXh0OiIiLGVuYWJsZVB1bGxEb3duUmVmcmVzaDohMX0pfSxbZSgicGFnZXMtY29tbW9uLWFyZWEiLHtzbG90OiJwYWdlIn0pXSl9fSxtZXRhOntuYW1lOiJwYWdlcy1jb21tb24tYXJlYSIsaXNOVnVlOiExLG1heFdpZHRoOjAscGFnZVBhdGg6InBhZ2VzL2NvbW1vbi9hcmVhIix3aW5kb3dUb3A6MH19LHtwYXRoOiIvcGFnZXMvc2V0dGluZy9zZXR0aW5nIixjb21wb25lbnQ6e3JlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZSgiUGFnZSIse3Byb3BzOk9iamVjdC5hc3NpZ24oe30sX191bmlDb25maWcuZ2xvYmFsU3R5bGUse25hdmlnYXRpb25CYXJUaXRsZVRleHQ6IiIsZW5hYmxlUHVsbERvd25SZWZyZXNoOiExfSl9LFtlKCJwYWdlcy1zZXR0aW5nLXNldHRpbmciLHtzbG90OiJwYWdlIn0pXSl9fSxtZXRhOntuYW1lOiJwYWdlcy1zZXR0aW5nLXNldHRpbmciLGlzTlZ1ZTohMSxtYXhXaWR0aDowLHBhZ2VQYXRoOiJwYWdlcy9zZXR0aW5nL3NldHRpbmciLHdpbmRvd1RvcDowfX0se3BhdGg6Ii9wYWdlcy9zZXR0aW5nL3VzZXJJbmZvIixjb21wb25lbnQ6e3JlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZSgiUGFnZSIse3Byb3BzOk9iamVjdC5hc3NpZ24oe30sX191bmlDb25maWcuZ2xvYmFsU3R5bGUse25hdmlnYXRpb25CYXJUaXRsZVRleHQ6IiIsZW5hYmxlUHVsbERvd25SZWZyZXNoOiExfSl9LFtlKCJwYWdlcy1zZXR0aW5nLXVzZXJJbmZvIix7c2xvdDoicGFnZSJ9KV0pfX0sbWV0YTp7bmFtZToicGFnZXMtc2V0dGluZy11c2VySW5mbyIsaXNOVnVlOiExLG1heFdpZHRoOjAscGFnZVBhdGg6InBhZ2VzL3NldHRpbmcvdXNlckluZm8iLHdpbmRvd1RvcDowfX0se3BhdGg6Ii9wYWdlcy9zZXR0aW5nL3NlY3VyaXR5Iixjb21wb25lbnQ6e3JlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZSgiUGFnZSIse3Byb3BzOk9iamVjdC5hc3NpZ24oe30sX191bmlDb25maWcuZ2xvYmFsU3R5bGUse25hdmlnYXRpb25CYXJUaXRsZVRleHQ6IiIsZW5hYmxlUHVsbERvd25SZWZyZXNoOiExfSl9LFtlKCJwYWdlcy1zZXR0aW5nLXNlY3VyaXR5Iix7c2xvdDoicGFnZSJ9KV0pfX0sbWV0YTp7bmFtZToicGFnZXMtc2V0dGluZy1zZWN1cml0eSIsaXNOVnVlOiExLG1heFdpZHRoOjAscGFnZVBhdGg6InBhZ2VzL3NldHRpbmcvc2VjdXJpdHkiLHdpbmRvd1RvcDowfX0se3BhdGg6Ii9wYWdlcy9zZXR0aW5nL3Bhc3N3b3JkIixjb21wb25lbnQ6e3JlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZSgiUGFnZSIse3Byb3BzOk9iamVjdC5hc3NpZ24oe30sX191bmlDb25maWcuZ2xvYmFsU3R5bGUse25hdmlnYXRpb25CYXJUaXRsZVRleHQ6IiIsZW5hYmxlUHVsbERvd25SZWZyZXNoOiExfSl9LFtlKCJwYWdlcy1zZXR0aW5nLXBhc3N3b3JkIix7c2xvdDoicGFnZSJ9KV0pfX0sbWV0YTp7bmFtZToicGFnZXMtc2V0dGluZy1wYXNzd29yZCIsaXNOVnVlOiExLG1heFdpZHRoOjAscGFnZVBhdGg6InBhZ2VzL3NldHRpbmcvcGFzc3dvcmQiLHdpbmRvd1RvcDowfX0se3BhdGg6Ii9wYWdlcy9zZXR0aW5nL3BheVBhc3N3b3JkIixjb21wb25lbnQ6e3JlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZSgiUGFnZSIse3Byb3BzOk9iamVjdC5hc3NpZ24oe30sX191bmlDb25maWcuZ2xvYmFsU3R5bGUse25hdmlnYXRpb25CYXJUaXRsZVRleHQ6IiIsZW5hYmxlUHVsbERvd25SZWZyZXNoOiExfSl9LFtlKCJwYWdlcy1zZXR0aW5nLXBheVBhc3N3b3JkIix7c2xvdDoicGFnZSJ9KV0pfX0sbWV0YTp7bmFtZToicGFnZXMtc2V0dGluZy1wYXlQYXNzd29yZCIsaXNOVnVlOiExLG1heFdpZHRoOjAscGFnZVBhdGg6InBhZ2VzL3NldHRpbmcvcGF5UGFzc3dvcmQiLHdpbmRvd1RvcDowfX0se3BhdGg6Ii9wYWdlcy9zZXR0aW5nL2NvdXBvbiIsY29tcG9uZW50OntyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoIlBhZ2UiLHtwcm9wczpPYmplY3QuYXNzaWduKHt9LF9fdW5pQ29uZmlnLmdsb2JhbFN0eWxlLHtuYXZpZ2F0aW9uQmFyVGl0bGVUZXh0OiIiLGVuYWJsZVB1bGxEb3duUmVmcmVzaDohMX0pfSxbZSgicGFnZXMtc2V0dGluZy1jb3Vwb24iLHtzbG90OiJwYWdlIn0pXSl9fSxtZXRhOntuYW1lOiJwYWdlcy1zZXR0aW5nLWNvdXBvbiIsaXNOVnVlOiExLG1heFdpZHRoOjAscGFnZVBhdGg6InBhZ2VzL3NldHRpbmcvY291cG9uIix3aW5kb3dUb3A6MH19LHtwYXRoOiIvcGFnZXMvc2V0dGluZy93YWxsZXQiLGNvbXBvbmVudDp7cmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKCJQYWdlIix7cHJvcHM6T2JqZWN0LmFzc2lnbih7fSxfX3VuaUNvbmZpZy5nbG9iYWxTdHlsZSx7bmF2aWdhdGlvbkJhclRpdGxlVGV4dDoiIixlbmFibGVQdWxsRG93blJlZnJlc2g6ITF9KX0sW2UoInBhZ2VzLXNldHRpbmctd2FsbGV0Iix7c2xvdDoicGFnZSJ9KV0pfX0sbWV0YTp7bmFtZToicGFnZXMtc2V0dGluZy13YWxsZXQiLGlzTlZ1ZTohMSxtYXhXaWR0aDowLHBhZ2VQYXRoOiJwYWdlcy9zZXR0aW5nL3dhbGxldCIsd2luZG93VG9wOjB9fSx7cGF0aDoiL3BhZ2VzL3NldHRpbmcvYmlsbCIsY29tcG9uZW50OntyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoIlBhZ2UiLHtwcm9wczpPYmplY3QuYXNzaWduKHt9LF9fdW5pQ29uZmlnLmdsb2JhbFN0eWxlLHtuYXZpZ2F0aW9uQmFyVGl0bGVUZXh0OiIiLGVuYWJsZVB1bGxEb3duUmVmcmVzaDohMX0pfSxbZSgicGFnZXMtc2V0dGluZy1iaWxsIix7c2xvdDoicGFnZSJ9KV0pfX0sbWV0YTp7bmFtZToicGFnZXMtc2V0dGluZy1iaWxsIixpc05WdWU6ITEsbWF4V2lkdGg6MCxwYWdlUGF0aDoicGFnZXMvc2V0dGluZy9iaWxsIix3aW5kb3dUb3A6MH19LHtwYXRoOiIvcGFnZXMvc2V0dGluZy9hcmVhcyIsY29tcG9uZW50OntyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoIlBhZ2UiLHtwcm9wczpPYmplY3QuYXNzaWduKHt9LF9fdW5pQ29uZmlnLmdsb2JhbFN0eWxlLHtuYXZpZ2F0aW9uQmFyVGl0bGVUZXh0OiIiLGVuYWJsZVB1bGxEb3duUmVmcmVzaDohMX0pfSxbZSgicGFnZXMtc2V0dGluZy1hcmVhcyIse3Nsb3Q6InBhZ2UifSldKX19LG1ldGE6e25hbWU6InBhZ2VzLXNldHRpbmctYXJlYXMiLGlzTlZ1ZTohMSxtYXhXaWR0aDowLHBhZ2VQYXRoOiJwYWdlcy9zZXR0aW5nL2FyZWFzIix3aW5kb3dUb3A6MH19LHtwYXRoOiIvcGFnZXMvZnVuZC9zZWxlY3QiLGNvbXBvbmVudDp7cmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKCJQYWdlIix7cHJvcHM6T2JqZWN0LmFzc2lnbih7fSxfX3VuaUNvbmZpZy5nbG9iYWxTdHlsZSx7bmF2aWdhdGlvbkJhclRpdGxlVGV4dDoiIixlbmFibGVQdWxsRG93blJlZnJlc2g6ITF9KX0sW2UoInBhZ2VzLWZ1bmQtc2VsZWN0Iix7c2xvdDoicGFnZSJ9KV0pfX0sbWV0YTp7bmFtZToicGFnZXMtZnVuZC1zZWxlY3QiLGlzTlZ1ZTohMSxtYXhXaWR0aDowLHBhZ2VQYXRoOiJwYWdlcy9mdW5kL3NlbGVjdCIsd2luZG93VG9wOjB9fSx7cGF0aDoiL3BhZ2VzL2Z1bmQvcmVjZWl2ZSIsY29tcG9uZW50OntyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoIlBhZ2UiLHtwcm9wczpPYmplY3QuYXNzaWduKHt9LF9fdW5pQ29uZmlnLmdsb2JhbFN0eWxlLHtuYXZpZ2F0aW9uQmFyVGl0bGVUZXh0OiIiLGVuYWJsZVB1bGxEb3duUmVmcmVzaDohMX0pfSxbZSgicGFnZXMtZnVuZC1yZWNlaXZlIix7c2xvdDoicGFnZSJ9KV0pfX0sbWV0YTp7bmFtZToicGFnZXMtZnVuZC1yZWNlaXZlIixpc05WdWU6ITEsbWF4V2lkdGg6MCxwYWdlUGF0aDoicGFnZXMvZnVuZC9yZWNlaXZlIix3aW5kb3dUb3A6MH19LHtwYXRoOiIvcGFnZXMvZnVuZC9yZWNlaXZlX3dpdGhkcmF3X3JlY29yZCIsY29tcG9uZW50OntyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoIlBhZ2UiLHtwcm9wczpPYmplY3QuYXNzaWduKHt9LF9fdW5pQ29uZmlnLmdsb2JhbFN0eWxlLHtuYXZpZ2F0aW9uQmFyVGl0bGVUZXh0OiIiLGVuYWJsZVB1bGxEb3duUmVmcmVzaDohMX0pfSxbZSgicGFnZXMtZnVuZC1yZWNlaXZlX3dpdGhkcmF3X3JlY29yZCIse3Nsb3Q6InBhZ2UifSldKX19LG1ldGE6e25hbWU6InBhZ2VzLWZ1bmQtcmVjZWl2ZV93aXRoZHJhd19yZWNvcmQiLGlzTlZ1ZTohMSxtYXhXaWR0aDowLHBhZ2VQYXRoOiJwYWdlcy9mdW5kL3JlY2VpdmVfd2l0aGRyYXdfcmVjb3JkIix3aW5kb3dUb3A6MH19LHtwYXRoOiIvcGFnZXMvbWFya2V0L21hcmtldCIsY29tcG9uZW50OntyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoIlBhZ2UiLHtwcm9wczpPYmplY3QuYXNzaWduKHtpc1F1aXQ6ITAsaXNUYWJCYXI6ITAsdGFiQmFySW5kZXg6MX0sX191bmlDb25maWcuZ2xvYmFsU3R5bGUse25hdmlnYXRpb25CYXJUaXRsZVRleHQ6IiIsZW5hYmxlUHVsbERvd25SZWZyZXNoOiExfSl9LFtlKCJwYWdlcy1tYXJrZXQtbWFya2V0Iix7c2xvdDoicGFnZSJ9KV0pfX0sbWV0YTp7aWQ6MixuYW1lOiJwYWdlcy1tYXJrZXQtbWFya2V0Iixpc05WdWU6ITEsbWF4V2lkdGg6MCxwYWdlUGF0aDoicGFnZXMvbWFya2V0L21hcmtldCIsaXNRdWl0OiEwLGlzVGFiQmFyOiEwLHRhYkJhckluZGV4OjEsd2luZG93VG9wOjB9fSx7cGF0aDoiL3BhZ2VzL2Z1bmQvYXNzZXRzIixjb21wb25lbnQ6e3JlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZSgiUGFnZSIse3Byb3BzOk9iamVjdC5hc3NpZ24oe2lzUXVpdDohMCxpc1RhYkJhcjohMCx0YWJCYXJJbmRleDo0fSxfX3VuaUNvbmZpZy5nbG9iYWxTdHlsZSx7bmF2aWdhdGlvbkJhclRpdGxlVGV4dDoiIixlbmFibGVQdWxsRG93blJlZnJlc2g6ITF9KX0sW2UoInBhZ2VzLWZ1bmQtYXNzZXRzIix7c2xvdDoicGFnZSJ9KV0pfX0sbWV0YTp7aWQ6MyxuYW1lOiJwYWdlcy1mdW5kLWFzc2V0cyIsaXNOVnVlOiExLG1heFdpZHRoOjAscGFnZVBhdGg6InBhZ2VzL2Z1bmQvYXNzZXRzIixpc1F1aXQ6ITAsaXNUYWJCYXI6ITAsdGFiQmFySW5kZXg6NCx3aW5kb3dUb3A6MH19LHtwYXRoOiIvcGFnZXMvY29weXRyYWRlL2NvcHkiLGNvbXBvbmVudDp7cmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKCJQYWdlIix7cHJvcHM6T2JqZWN0LmFzc2lnbih7fSxfX3VuaUNvbmZpZy5nbG9iYWxTdHlsZSx7bmF2aWdhdGlvbkJhclRpdGxlVGV4dDoiIixlbmFibGVQdWxsRG93blJlZnJlc2g6ITF9KX0sW2UoInBhZ2VzLWNvcHl0cmFkZS1jb3B5Iix7c2xvdDoicGFnZSJ9KV0pfX0sbWV0YTp7bmFtZToicGFnZXMtY29weXRyYWRlLWNvcHkiLGlzTlZ1ZTohMSxtYXhXaWR0aDowLHBhZ2VQYXRoOiJwYWdlcy9jb3B5dHJhZGUvY29weSIsd2luZG93VG9wOjB9fSx7cGF0aDoiL3BhZ2VzL2NvcHl0cmFkZS9teSIsY29tcG9uZW50OntyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoIlBhZ2UiLHtwcm9wczpPYmplY3QuYXNzaWduKHt9LF9fdW5pQ29uZmlnLmdsb2JhbFN0eWxlLHtuYXZpZ2F0aW9uQmFyVGl0bGVUZXh0OiIiLGVuYWJsZVB1bGxEb3duUmVmcmVzaDohMX0pfSxbZSgicGFnZXMtY29weXRyYWRlLW15Iix7c2xvdDoicGFnZSJ9KV0pfX0sbWV0YTp7bmFtZToicGFnZXMtY29weXRyYWRlLW15Iixpc05WdWU6ITEsbWF4V2lkdGg6MCxwYWdlUGF0aDoicGFnZXMvY29weXRyYWRlL215Iix3aW5kb3dUb3A6MH19LHtwYXRoOiIvcGFnZXMvY29weXRyYWRlL3RyYWRlciIsY29tcG9uZW50OntyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoIlBhZ2UiLHtwcm9wczpPYmplY3QuYXNzaWduKHt9LF9fdW5pQ29uZmlnLmdsb2JhbFN0eWxlLHtuYXZpZ2F0aW9uQmFyVGl0bGVUZXh0OiIiLGVuYWJsZVB1bGxEb3duUmVmcmVzaDohMX0pfSxbZSgicGFnZXMtY29weXRyYWRlLXRyYWRlciIse3Nsb3Q6InBhZ2UifSldKX19LG1ldGE6e25hbWU6InBhZ2VzLWNvcHl0cmFkZS10cmFkZXIiLGlzTlZ1ZTohMSxtYXhXaWR0aDowLHBhZ2VQYXRoOiJwYWdlcy9jb3B5dHJhZGUvdHJhZGVyIix3aW5kb3dUb3A6MH19LHtwYXRoOiIvcGFnZXMvZnVuZC93aXRoZHJhdyIsY29tcG9uZW50OntyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoIlBhZ2UiLHtwcm9wczpPYmplY3QuYXNzaWduKHt9LF9fdW5pQ29uZmlnLmdsb2JhbFN0eWxlLHtuYXZpZ2F0aW9uQmFyVGl0bGVUZXh0OiIiLGVuYWJsZVB1bGxEb3duUmVmcmVzaDohMX0pfSxbZSgicGFnZXMtZnVuZC13aXRoZHJhdyIse3Nsb3Q6InBhZ2UifSldKX19LG1ldGE6e25hbWU6InBhZ2VzLWZ1bmQtd2l0aGRyYXciLGlzTlZ1ZTohMSxtYXhXaWR0aDowLHBhZ2VQYXRoOiJwYWdlcy9mdW5kL3dpdGhkcmF3Iix3aW5kb3dUb3A6MH19LHtwYXRoOiIvcGFnZXMvb3RjL290YyIsY29tcG9uZW50OntyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoIlBhZ2UiLHtwcm9wczpPYmplY3QuYXNzaWduKHt9LF9fdW5pQ29uZmlnLmdsb2JhbFN0eWxlLHtuYXZpZ2F0aW9uQmFyVGl0bGVUZXh0OiIiLGVuYWJsZVB1bGxEb3duUmVmcmVzaDohMX0pfSxbZSgicGFnZXMtb3RjLW90YyIse3Nsb3Q6InBhZ2UifSldKX19LG1ldGE6e25hbWU6InBhZ2VzLW90Yy1vdGMiLGlzTlZ1ZTohMSxtYXhXaWR0aDowLHBhZ2VQYXRoOiJwYWdlcy9vdGMvb3RjIix3aW5kb3dUb3A6MH19LHtwYXRoOiIvcGFnZXMvc2V0dGluZy9yZWFsIixjb21wb25lbnQ6e3JlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZSgiUGFnZSIse3Byb3BzOk9iamVjdC5hc3NpZ24oe30sX191bmlDb25maWcuZ2xvYmFsU3R5bGUse25hdmlnYXRpb25CYXJUaXRsZVRleHQ6IiIsZW5hYmxlUHVsbERvd25SZWZyZXNoOiExfSl9LFtlKCJwYWdlcy1zZXR0aW5nLXJlYWwiLHtzbG90OiJwYWdlIn0pXSl9fSxtZXRhOntuYW1lOiJwYWdlcy1zZXR0aW5nLXJlYWwiLGlzTlZ1ZTohMSxtYXhXaWR0aDowLHBhZ2VQYXRoOiJwYWdlcy9zZXR0aW5nL3JlYWwiLHdpbmRvd1RvcDowfX0se3BhdGg6Ii9wYWdlcy9zZXR0aW5nL2FkZFdhbGxldCIsY29tcG9uZW50OntyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoIlBhZ2UiLHtwcm9wczpPYmplY3QuYXNzaWduKHt9LF9fdW5pQ29uZmlnLmdsb2JhbFN0eWxlLHtuYXZpZ2F0aW9uQmFyVGl0bGVUZXh0OiIiLGVuYWJsZVB1bGxEb3duUmVmcmVzaDohMX0pfSxbZSgicGFnZXMtc2V0dGluZy1hZGRXYWxsZXQiLHtzbG90OiJwYWdlIn0pXSl9fSxtZXRhOntuYW1lOiJwYWdlcy1zZXR0aW5nLWFkZFdhbGxldCIsaXNOVnVlOiExLG1heFdpZHRoOjAscGFnZVBhdGg6InBhZ2VzL3NldHRpbmcvYWRkV2FsbGV0Iix3aW5kb3dUb3A6MH19LHtwYXRoOiIvcGFnZXMvbWFya2V0L3NlYXJjaCIsY29tcG9uZW50OntyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoIlBhZ2UiLHtwcm9wczpPYmplY3QuYXNzaWduKHt9LF9fdW5pQ29uZmlnLmdsb2JhbFN0eWxlLHtuYXZpZ2F0aW9uQmFyVGl0bGVUZXh0OiIiLGVuYWJsZVB1bGxEb3duUmVmcmVzaDohMX0pfSxbZSgicGFnZXMtbWFya2V0LXNlYXJjaCIse3Nsb3Q6InBhZ2UifSldKX19LG1ldGE6e25hbWU6InBhZ2VzLW1hcmtldC1zZWFyY2giLGlzTlZ1ZTohMSxtYXhXaWR0aDowLHBhZ2VQYXRoOiJwYWdlcy9tYXJrZXQvc2VhcmNoIix3aW5kb3dUb3A6MH19LHtwYXRoOiIvcGFnZXMvY29tbW9uL2FydGljbGUiLGNvbXBvbmVudDp7cmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKCJQYWdlIix7cHJvcHM6T2JqZWN0LmFzc2lnbih7fSxfX3VuaUNvbmZpZy5nbG9iYWxTdHlsZSx7bmF2aWdhdGlvbkJhclRpdGxlVGV4dDoiIixlbmFibGVQdWxsRG93blJlZnJlc2g6ITF9KX0sW2UoInBhZ2VzLWNvbW1vbi1hcnRpY2xlIix7c2xvdDoicGFnZSJ9KV0pfX0sbWV0YTp7bmFtZToicGFnZXMtY29tbW9uLWFydGljbGUiLGlzTlZ1ZTohMSxtYXhXaWR0aDowLHBhZ2VQYXRoOiJwYWdlcy9jb21tb24vYXJ0aWNsZSIsd2luZG93VG9wOjB9fSx7cGF0aDoiL3BhZ2VzL2llby9pZW8iLGNvbXBvbmVudDp7cmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKCJQYWdlIix7cHJvcHM6T2JqZWN0LmFzc2lnbih7fSxfX3VuaUNvbmZpZy5nbG9iYWxTdHlsZSx7bmF2aWdhdGlvbkJhclRpdGxlVGV4dDoiIixlbmFibGVQdWxsRG93blJlZnJlc2g6ITF9KX0sW2UoInBhZ2VzLWllby1pZW8iLHtzbG90OiJwYWdlIn0pXSl9fSxtZXRhOntuYW1lOiJwYWdlcy1pZW8taWVvIixpc05WdWU6ITEsbWF4V2lkdGg6MCxwYWdlUGF0aDoicGFnZXMvaWVvL2llbyIsd2luZG93VG9wOjB9fSx7cGF0aDoiL3BhZ2VzL2llby9zdWJzY3JpYmUiLGNvbXBvbmVudDp7cmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKCJQYWdlIix7cHJvcHM6T2JqZWN0LmFzc2lnbih7fSxfX3VuaUNvbmZpZy5nbG9iYWxTdHlsZSx7bmF2aWdhdGlvbkJhclRpdGxlVGV4dDoiIixlbmFibGVQdWxsRG93blJlZnJlc2g6ITF9KX0sW2UoInBhZ2VzLWllby1zdWJzY3JpYmUiLHtzbG90OiJwYWdlIn0pXSl9fSxtZXRhOntuYW1lOiJwYWdlcy1pZW8tc3Vic2NyaWJlIixpc05WdWU6ITEsbWF4V2lkdGg6MCxwYWdlUGF0aDoicGFnZXMvaWVvL3N1YnNjcmliZSIsd2luZG93VG9wOjB9fSx7cGF0aDoiL3BhZ2VzL2NvbW1vbi93ZWJWaWV3Iixjb21wb25lbnQ6e3JlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZSgiUGFnZSIse3Byb3BzOk9iamVjdC5hc3NpZ24oe30sX191bmlDb25maWcuZ2xvYmFsU3R5bGUse25hdmlnYXRpb25TdHlsZToiZGVmYXVsdCIsbmF2aWdhdGlvbkJhclRpdGxlVGV4dDoiIixlbmFibGVQdWxsRG93blJlZnJlc2g6ITF9KX0sW2UoInBhZ2VzLWNvbW1vbi13ZWJWaWV3Iix7c2xvdDoicGFnZSJ9KV0pfX0sbWV0YTp7bmFtZToicGFnZXMtY29tbW9uLXdlYlZpZXciLGlzTlZ1ZTohMSxtYXhXaWR0aDowLHBhZ2VQYXRoOiJwYWdlcy9jb21tb24vd2ViVmlldyIsd2luZG93VG9wOjQ0fX0se3BhdGg6Ii9wYWdlcy9pZW8vb3JkZXIiLGNvbXBvbmVudDp7cmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKCJQYWdlIix7cHJvcHM6T2JqZWN0LmFzc2lnbih7fSxfX3VuaUNvbmZpZy5nbG9iYWxTdHlsZSx7bmF2aWdhdGlvbkJhclRpdGxlVGV4dDoiIixlbmFibGVQdWxsRG93blJlZnJlc2g6ITF9KX0sW2UoInBhZ2VzLWllby1vcmRlciIse3Nsb3Q6InBhZ2UifSldKX19LG1ldGE6e25hbWU6InBhZ2VzLWllby1vcmRlciIsaXNOVnVlOiExLG1heFdpZHRoOjAscGFnZVBhdGg6InBhZ2VzL2llby9vcmRlciIsd2luZG93VG9wOjB9fSx7cGF0aDoiL3BhZ2VzL2xvY2ttaW5nL2xvY2ttaW5nIixjb21wb25lbnQ6e3JlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZSgiUGFnZSIse3Byb3BzOk9iamVjdC5hc3NpZ24oe30sX191bmlDb25maWcuZ2xvYmFsU3R5bGUse25hdmlnYXRpb25CYXJUaXRsZVRleHQ6IiIsZW5hYmxlUHVsbERvd25SZWZyZXNoOiExfSl9LFtlKCJwYWdlcy1sb2NrbWluZy1sb2NrbWluZyIse3Nsb3Q6InBhZ2UifSldKX19LG1ldGE6e25hbWU6InBhZ2VzLWxvY2ttaW5nLWxvY2ttaW5nIixpc05WdWU6ITEsbWF4V2lkdGg6MCxwYWdlUGF0aDoicGFnZXMvbG9ja21pbmcvbG9ja21pbmciLHdpbmRvd1RvcDowfX0se3BhdGg6Ii9wYWdlcy9sb2NrbWluZy9idXkiLGNvbXBvbmVudDp7cmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKCJQYWdlIix7cHJvcHM6T2JqZWN0LmFzc2lnbih7fSxfX3VuaUNvbmZpZy5nbG9iYWxTdHlsZSx7bmF2aWdhdGlvbkJhclRpdGxlVGV4dDoiIixlbmFibGVQdWxsRG93blJlZnJlc2g6ITF9KX0sW2UoInBhZ2VzLWxvY2ttaW5nLWJ1eSIse3Nsb3Q6InBhZ2UifSldKX19LG1ldGE6e25hbWU6InBhZ2VzLWxvY2ttaW5nLWJ1eSIsaXNOVnVlOiExLG1heFdpZHRoOjAscGFnZVBhdGg6InBhZ2VzL2xvY2ttaW5nL2J1eSIsd2luZG93VG9wOjB9fSx7cGF0aDoiL3BhZ2VzL2xvY2ttaW5nL29yZGVyIixjb21wb25lbnQ6e3JlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZSgiUGFnZSIse3Byb3BzOk9iamVjdC5hc3NpZ24oe30sX191bmlDb25maWcuZ2xvYmFsU3R5bGUse25hdmlnYXRpb25CYXJUaXRsZVRleHQ6IiIsZW5hYmxlUHVsbERvd25SZWZyZXNoOiExfSl9LFtlKCJwYWdlcy1sb2NrbWluZy1vcmRlciIse3Nsb3Q6InBhZ2UifSldKX19LG1ldGE6e25hbWU6InBhZ2VzLWxvY2ttaW5nLW9yZGVyIixpc05WdWU6ITEsbWF4V2lkdGg6MCxwYWdlUGF0aDoicGFnZXMvbG9ja21pbmcvb3JkZXIiLHdpbmRvd1RvcDowfX0se3BhdGg6Ii9wYWdlcy9mdW5kL2Fzc2V0c19yZWNvcmQiLGNvbXBvbmVudDp7cmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKCJQYWdlIix7cHJvcHM6T2JqZWN0LmFzc2lnbih7fSxfX3VuaUNvbmZpZy5nbG9iYWxTdHlsZSx7bmF2aWdhdGlvbkJhclRpdGxlVGV4dDoiIixlbmFibGVQdWxsRG93blJlZnJlc2g6ITF9KX0sW2UoInBhZ2VzLWZ1bmQtYXNzZXRzX3JlY29yZCIse3Nsb3Q6InBhZ2UifSldKX19LG1ldGE6e25hbWU6InBhZ2VzLWZ1bmQtYXNzZXRzX3JlY29yZCIsaXNOVnVlOiExLG1heFdpZHRoOjAscGFnZVBhdGg6InBhZ2VzL2Z1bmQvYXNzZXRzX3JlY29yZCIsd2luZG93VG9wOjB9fSx7cGF0aDoiL3BhZ2VzL2Z1bmQvdHJhbnNmZXIiLGNvbXBvbmVudDp7cmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKCJQYWdlIix7cHJvcHM6T2JqZWN0LmFzc2lnbih7fSxfX3VuaUNvbmZpZy5nbG9iYWxTdHlsZSx7bmF2aWdhdGlvbkJhclRpdGxlVGV4dDoiIixlbmFibGVQdWxsRG93blJlZnJlc2g6ITF9KX0sW2UoInBhZ2VzLWZ1bmQtdHJhbnNmZXIiLHtzbG90OiJwYWdlIn0pXSl9fSxtZXRhOntuYW1lOiJwYWdlcy1mdW5kLXRyYW5zZmVyIixpc05WdWU6ITEsbWF4V2lkdGg6MCxwYWdlUGF0aDoicGFnZXMvZnVuZC90cmFuc2ZlciIsd2luZG93VG9wOjB9fSx7cGF0aDoiL3BhZ2VzL2Z1bmQvZnVuZFRyYW5zZmVyIixjb21wb25lbnQ6e3JlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZSgiUGFnZSIse3Byb3BzOk9iamVjdC5hc3NpZ24oe30sX191bmlDb25maWcuZ2xvYmFsU3R5bGUse25hdmlnYXRpb25CYXJUaXRsZVRleHQ6IiIsZW5hYmxlUHVsbERvd25SZWZyZXNoOiExfSl9LFtlKCJwYWdlcy1mdW5kLWZ1bmRUcmFuc2ZlciIse3Nsb3Q6InBhZ2UifSldKX19LG1ldGE6e25hbWU6InBhZ2VzLWZ1bmQtZnVuZFRyYW5zZmVyIixpc05WdWU6ITEsbWF4V2lkdGg6MCxwYWdlUGF0aDoicGFnZXMvZnVuZC9mdW5kVHJhbnNmZXIiLHdpbmRvd1RvcDowfX0se3BhdGg6Ii9wYWdlcy9mdW5kL2Fzc2V0c19hbGxfcmVjb3JkIixjb21wb25lbnQ6e3JlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZSgiUGFnZSIse3Byb3BzOk9iamVjdC5hc3NpZ24oe30sX191bmlDb25maWcuZ2xvYmFsU3R5bGUse25hdmlnYXRpb25CYXJUaXRsZVRleHQ6IiIsZW5hYmxlUHVsbERvd25SZWZyZXNoOiExfSl9LFtlKCJwYWdlcy1mdW5kLWFzc2V0c19hbGxfcmVjb3JkIix7c2xvdDoicGFnZSJ9KV0pfX0sbWV0YTp7bmFtZToicGFnZXMtZnVuZC1hc3NldHNfYWxsX3JlY29yZCIsaXNOVnVlOiExLG1heFdpZHRoOjAscGFnZVBhdGg6InBhZ2VzL2Z1bmQvYXNzZXRzX2FsbF9yZWNvcmQiLHdpbmRvd1RvcDowfX0se3BhdGg6Ii9wYWdlcy9mdW5kL3RyYW5zZmVyX2hpc3RvcnkiLGNvbXBvbmVudDp7cmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKCJQYWdlIix7cHJvcHM6T2JqZWN0LmFzc2lnbih7fSxfX3VuaUNvbmZpZy5nbG9iYWxTdHlsZSx7bmF2aWdhdGlvbkJhclRpdGxlVGV4dDoiIixlbmFibGVQdWxsRG93blJlZnJlc2g6ITF9KX0sW2UoInBhZ2VzLWZ1bmQtdHJhbnNmZXJfaGlzdG9yeSIse3Nsb3Q6InBhZ2UifSldKX19LG1ldGE6e25hbWU6InBhZ2VzLWZ1bmQtdHJhbnNmZXJfaGlzdG9yeSIsaXNOVnVlOiExLG1heFdpZHRoOjAscGFnZVBhdGg6InBhZ2VzL2Z1bmQvdHJhbnNmZXJfaGlzdG9yeSIsd2luZG93VG9wOjB9fSx7cGF0aDoiL3BhZ2VzL3RyYW5zYWN0aW9uL2luZGV4Iixjb21wb25lbnQ6e3JlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZSgiUGFnZSIse3Byb3BzOk9iamVjdC5hc3NpZ24oe2lzUXVpdDohMCxpc1RhYkJhcjohMCx0YWJCYXJJbmRleDoyfSxfX3VuaUNvbmZpZy5nbG9iYWxTdHlsZSx7bmF2aWdhdGlvbkJhclRpdGxlVGV4dDoiIixlbmFibGVQdWxsRG93blJlZnJlc2g6ITF9KX0sW2UoInBhZ2VzLXRyYW5zYWN0aW9uLWluZGV4Iix7c2xvdDoicGFnZSJ9KV0pfX0sbWV0YTp7aWQ6NCxuYW1lOiJwYWdlcy10cmFuc2FjdGlvbi1pbmRleCIsaXNOVnVlOiExLG1heFdpZHRoOjAscGFnZVBhdGg6InBhZ2VzL3RyYW5zYWN0aW9uL2luZGV4Iixpc1F1aXQ6ITAsaXNUYWJCYXI6ITAsdGFiQmFySW5kZXg6Mix3aW5kb3dUb3A6MH19LHtwYXRoOiIvcGFnZXMvdHJhbnNhY3Rpb24vY3VycmVuY3kiLGNvbXBvbmVudDp7cmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKCJQYWdlIix7cHJvcHM6T2JqZWN0LmFzc2lnbih7fSxfX3VuaUNvbmZpZy5nbG9iYWxTdHlsZSx7bmF2aWdhdGlvbkJhclRpdGxlVGV4dDoiIixlbmFibGVQdWxsRG93blJlZnJlc2g6ITF9KX0sW2UoInBhZ2VzLXRyYW5zYWN0aW9uLWN1cnJlbmN5Iix7c2xvdDoicGFnZSJ9KV0pfX0sbWV0YTp7bmFtZToicGFnZXMtdHJhbnNhY3Rpb24tY3VycmVuY3kiLGlzTlZ1ZTohMSxtYXhXaWR0aDowLHBhZ2VQYXRoOiJwYWdlcy90cmFuc2FjdGlvbi9jdXJyZW5jeSIsd2luZG93VG9wOjB9fSx7cGF0aDoiL3BhZ2VzL3RyYW5zYWN0aW9uL2N1cnJlbmN5X29yZGVyIixjb21wb25lbnQ6e3JlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZSgiUGFnZSIse3Byb3BzOk9iamVjdC5hc3NpZ24oe30sX191bmlDb25maWcuZ2xvYmFsU3R5bGUse25hdmlnYXRpb25CYXJUaXRsZVRleHQ6IiIsZW5hYmxlUHVsbERvd25SZWZyZXNoOiExfSl9LFtlKCJwYWdlcy10cmFuc2FjdGlvbi1jdXJyZW5jeV9vcmRlciIse3Nsb3Q6InBhZ2UifSldKX19LG1ldGE6e25hbWU6InBhZ2VzLXRyYW5zYWN0aW9uLWN1cnJlbmN5X29yZGVyIixpc05WdWU6ITEsbWF4V2lkdGg6MCxwYWdlUGF0aDoicGFnZXMvdHJhbnNhY3Rpb24vY3VycmVuY3lfb3JkZXIiLHdpbmRvd1RvcDowfX0se3BhdGg6Ii9wYWdlcy90cmFuc2FjdGlvbi9jb250cmFjdCIsY29tcG9uZW50OntyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoIlBhZ2UiLHtwcm9wczpPYmplY3QuYXNzaWduKHt9LF9fdW5pQ29uZmlnLmdsb2JhbFN0eWxlLHtuYXZpZ2F0aW9uQmFyVGl0bGVUZXh0OiIiLGVuYWJsZVB1bGxEb3duUmVmcmVzaDohMX0pfSxbZSgicGFnZXMtdHJhbnNhY3Rpb24tY29udHJhY3QiLHtzbG90OiJwYWdlIn0pXSl9fSxtZXRhOntuYW1lOiJwYWdlcy10cmFuc2FjdGlvbi1jb250cmFjdCIsaXNOVnVlOiExLG1heFdpZHRoOjAscGFnZVBhdGg6InBhZ2VzL3RyYW5zYWN0aW9uL2NvbnRyYWN0Iix3aW5kb3dUb3A6MH19LHtwYXRoOiIvcGFnZXMvdHJhbnNhY3Rpb24vY29udHJhY3Rfb3JkZXIiLGNvbXBvbmVudDp7cmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKCJQYWdlIix7cHJvcHM6T2JqZWN0LmFzc2lnbih7fSxfX3VuaUNvbmZpZy5nbG9iYWxTdHlsZSx7bmF2aWdhdGlvbkJhclRpdGxlVGV4dDoiIixlbmFibGVQdWxsRG93blJlZnJlc2g6ITF9KX0sW2UoInBhZ2VzLXRyYW5zYWN0aW9uLWNvbnRyYWN0X29yZGVyIix7c2xvdDoicGFnZSJ9KV0pfX0sbWV0YTp7bmFtZToicGFnZXMtdHJhbnNhY3Rpb24tY29udHJhY3Rfb3JkZXIiLGlzTlZ1ZTohMSxtYXhXaWR0aDowLHBhZ2VQYXRoOiJwYWdlcy90cmFuc2FjdGlvbi9jb250cmFjdF9vcmRlciIsd2luZG93VG9wOjB9fSx7cGF0aDoiL3BhZ2VzL3RyYW5zYWN0aW9uL3NlY29uZHNfb3JkZXIiLGNvbXBvbmVudDp7cmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKCJQYWdlIix7cHJvcHM6T2JqZWN0LmFzc2lnbih7fSxfX3VuaUNvbmZpZy5nbG9iYWxTdHlsZSx7bmF2aWdhdGlvbkJhclRpdGxlVGV4dDoiIixlbmFibGVQdWxsRG93blJlZnJlc2g6ITF9KX0sW2UoInBhZ2VzLXRyYW5zYWN0aW9uLXNlY29uZHNfb3JkZXIiLHtzbG90OiJwYWdlIn0pXSl9fSxtZXRhOntuYW1lOiJwYWdlcy10cmFuc2FjdGlvbi1zZWNvbmRzX29yZGVyIixpc05WdWU6ITEsbWF4V2lkdGg6MCxwYWdlUGF0aDoicGFnZXMvdHJhbnNhY3Rpb24vc2Vjb25kc19vcmRlciIsd2luZG93VG9wOjB9fSx7cGF0aDoiL3BhZ2VzL25mdC9uZnQiLGNvbXBvbmVudDp7cmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKCJQYWdlIix7cHJvcHM6T2JqZWN0LmFzc2lnbih7fSxfX3VuaUNvbmZpZy5nbG9iYWxTdHlsZSx7bmF2aWdhdGlvbkJhclRpdGxlVGV4dDoiIixlbmFibGVQdWxsRG93blJlZnJlc2g6ITF9KX0sW2UoInBhZ2VzLW5mdC1uZnQiLHtzbG90OiJwYWdlIn0pXSl9fSxtZXRhOntuYW1lOiJwYWdlcy1uZnQtbmZ0Iixpc05WdWU6ITEsbWF4V2lkdGg6MCxwYWdlUGF0aDoicGFnZXMvbmZ0L25mdCIsd2luZG93VG9wOjB9fSx7cGF0aDoiL3BhZ2VzL25mdC9hcnRpc3REZXRhaWwiLGNvbXBvbmVudDp7cmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKCJQYWdlIix7cHJvcHM6T2JqZWN0LmFzc2lnbih7fSxfX3VuaUNvbmZpZy5nbG9iYWxTdHlsZSx7bmF2aWdhdGlvbkJhclRpdGxlVGV4dDoiIixlbmFibGVQdWxsRG93blJlZnJlc2g6ITF9KX0sW2UoInBhZ2VzLW5mdC1hcnRpc3REZXRhaWwiLHtzbG90OiJwYWdlIn0pXSl9fSxtZXRhOntuYW1lOiJwYWdlcy1uZnQtYXJ0aXN0RGV0YWlsIixpc05WdWU6ITEsbWF4V2lkdGg6MCxwYWdlUGF0aDoicGFnZXMvbmZ0L2FydGlzdERldGFpbCIsd2luZG93VG9wOjB9fSx7cGF0aDoiL3BhZ2VzL25mdC9taW5lIixjb21wb25lbnQ6e3JlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZSgiUGFnZSIse3Byb3BzOk9iamVjdC5hc3NpZ24oe30sX191bmlDb25maWcuZ2xvYmFsU3R5bGUse25hdmlnYXRpb25CYXJUaXRsZVRleHQ6IiIsZW5hYmxlUHVsbERvd25SZWZyZXNoOiExfSl9LFtlKCJwYWdlcy1uZnQtbWluZSIse3Nsb3Q6InBhZ2UifSldKX19LG1ldGE6e25hbWU6InBhZ2VzLW5mdC1taW5lIixpc05WdWU6ITEsbWF4V2lkdGg6MCxwYWdlUGF0aDoicGFnZXMvbmZ0L21pbmUiLHdpbmRvd1RvcDowfX0se3BhdGg6Ii9wYWdlcy9pbnZlc3QvaW52ZXN0Iixjb21wb25lbnQ6e3JlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZSgiUGFnZSIse3Byb3BzOk9iamVjdC5hc3NpZ24oe30sX191bmlDb25maWcuZ2xvYmFsU3R5bGUse25hdmlnYXRpb25CYXJUaXRsZVRleHQ6IiIsZW5hYmxlUHVsbERvd25SZWZyZXNoOiExfSl9LFtlKCJwYWdlcy1pbnZlc3QtaW52ZXN0Iix7c2xvdDoicGFnZSJ9KV0pfX0sbWV0YTp7bmFtZToicGFnZXMtaW52ZXN0LWludmVzdCIsaXNOVnVlOiExLG1heFdpZHRoOjAscGFnZVBhdGg6InBhZ2VzL2ludmVzdC9pbnZlc3QiLHdpbmRvd1RvcDowfX0se3BhdGg6Ii9wYWdlcy9pbnZlc3QvbWluZSIsY29tcG9uZW50OntyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoIlBhZ2UiLHtwcm9wczpPYmplY3QuYXNzaWduKHt9LF9fdW5pQ29uZmlnLmdsb2JhbFN0eWxlLHtuYXZpZ2F0aW9uQmFyVGl0bGVUZXh0OiIiLGVuYWJsZVB1bGxEb3duUmVmcmVzaDohMX0pfSxbZSgicGFnZXMtaW52ZXN0LW1pbmUiLHtzbG90OiJwYWdlIn0pXSl9fSxtZXRhOntuYW1lOiJwYWdlcy1pbnZlc3QtbWluZSIsaXNOVnVlOiExLG1heFdpZHRoOjAscGFnZVBhdGg6InBhZ2VzL2ludmVzdC9taW5lIix3aW5kb3dUb3A6MH19LHtwYXRoOiIvcGFnZXMvZm9sbG93L2luZGV4Iixjb21wb25lbnQ6e3JlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZSgiUGFnZSIse3Byb3BzOk9iamVjdC5hc3NpZ24oe30sX191bmlDb25maWcuZ2xvYmFsU3R5bGUse25hdmlnYXRpb25CYXJUaXRsZVRleHQ6IiIsZW5hYmxlUHVsbERvd25SZWZyZXNoOiExfSl9LFtlKCJwYWdlcy1mb2xsb3ctaW5kZXgiLHtzbG90OiJwYWdlIn0pXSl9fSxtZXRhOntuYW1lOiJwYWdlcy1mb2xsb3ctaW5kZXgiLGlzTlZ1ZTohMSxtYXhXaWR0aDowLHBhZ2VQYXRoOiJwYWdlcy9mb2xsb3cvaW5kZXgiLHdpbmRvd1RvcDowfX0se3BhdGg6Ii9wYWdlcy9mb2xsb3cvdHJhZGVyIixjb21wb25lbnQ6e3JlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZSgiUGFnZSIse3Byb3BzOk9iamVjdC5hc3NpZ24oe30sX191bmlDb25maWcuZ2xvYmFsU3R5bGUse25hdmlnYXRpb25CYXJUaXRsZVRleHQ6IiIsZW5hYmxlUHVsbERvd25SZWZyZXNoOiExfSl9LFtlKCJwYWdlcy1mb2xsb3ctdHJhZGVyIix7c2xvdDoicGFnZSJ9KV0pfX0sbWV0YTp7bmFtZToicGFnZXMtZm9sbG93LXRyYWRlciIsaXNOVnVlOiExLG1heFdpZHRoOjAscGFnZVBhdGg6InBhZ2VzL2ZvbGxvdy90cmFkZXIiLHdpbmRvd1RvcDowfX0se3BhdGg6Ii9wYWdlcy9pbnZlc3QvcHVyY2hhc2UiLGNvbXBvbmVudDp7cmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKCJQYWdlIix7cHJvcHM6T2JqZWN0LmFzc2lnbih7fSxfX3VuaUNvbmZpZy5nbG9iYWxTdHlsZSx7bmF2aWdhdGlvbkJhclRpdGxlVGV4dDoiIixlbmFibGVQdWxsRG93blJlZnJlc2g6ITF9KX0sW2UoInBhZ2VzLWludmVzdC1wdXJjaGFzZSIse3Nsb3Q6InBhZ2UifSldKX19LG1ldGE6e25hbWU6InBhZ2VzLWludmVzdC1wdXJjaGFzZSIsaXNOVnVlOiExLG1heFdpZHRoOjAscGFnZVBhdGg6InBhZ2VzL2ludmVzdC9wdXJjaGFzZSIsd2luZG93VG9wOjB9fSx7cGF0aDoiL3BhZ2VzL2ZvbGxvdy9mb2xsb3ciLGNvbXBvbmVudDp7cmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKCJQYWdlIix7cHJvcHM6T2JqZWN0LmFzc2lnbih7fSxfX3VuaUNvbmZpZy5nbG9iYWxTdHlsZSx7bmF2aWdhdGlvbkJhclRpdGxlVGV4dDoiIixlbmFibGVQdWxsRG93blJlZnJlc2g6ITF9KX0sW2UoInBhZ2VzLWZvbGxvdy1mb2xsb3ciLHtzbG90OiJwYWdlIn0pXSl9fSxtZXRhOntuYW1lOiJwYWdlcy1mb2xsb3ctZm9sbG93Iixpc05WdWU6ITEsbWF4V2lkdGg6MCxwYWdlUGF0aDoicGFnZXMvZm9sbG93L2ZvbGxvdyIsd2luZG93VG9wOjB9fSx7cGF0aDoiL3BhZ2VzL2ZvbGxvdy9hZ3JlZW1lbnRfemgiLGNvbXBvbmVudDp7cmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKCJQYWdlIix7cHJvcHM6T2JqZWN0LmFzc2lnbih7fSxfX3VuaUNvbmZpZy5nbG9iYWxTdHlsZSx7bmF2aWdhdGlvbkJhclRpdGxlVGV4dDoiIixlbmFibGVQdWxsRG93blJlZnJlc2g6ITF9KX0sW2UoInBhZ2VzLWZvbGxvdy1hZ3JlZW1lbnRfemgiLHtzbG90OiJwYWdlIn0pXSl9fSxtZXRhOntuYW1lOiJwYWdlcy1mb2xsb3ctYWdyZWVtZW50X3poIixpc05WdWU6ITEsbWF4V2lkdGg6MCxwYWdlUGF0aDoicGFnZXMvZm9sbG93L2FncmVlbWVudF96aCIsd2luZG93VG9wOjB9fSx7cGF0aDoiL3BhZ2VzL2ZvbGxvdy9hZ3JlZW1lbnRfZW4iLGNvbXBvbmVudDp7cmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKCJQYWdlIix7cHJvcHM6T2JqZWN0LmFzc2lnbih7fSxfX3VuaUNvbmZpZy5nbG9iYWxTdHlsZSx7bmF2aWdhdGlvbkJhclRpdGxlVGV4dDoiIixlbmFibGVQdWxsRG93blJlZnJlc2g6ITF9KX0sW2UoInBhZ2VzLWZvbGxvdy1hZ3JlZW1lbnRfZW4iLHtzbG90OiJwYWdlIn0pXSl9fSxtZXRhOntuYW1lOiJwYWdlcy1mb2xsb3ctYWdyZWVtZW50X2VuIixpc05WdWU6ITEsbWF4V2lkdGg6MCxwYWdlUGF0aDoicGFnZXMvZm9sbG93L2FncmVlbWVudF9lbiIsd2luZG93VG9wOjB9fSx7cGF0aDoiL3BhZ2VzL2ludmVzdC9oZWxwIixjb21wb25lbnQ6e3JlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZSgiUGFnZSIse3Byb3BzOk9iamVjdC5hc3NpZ24oe30sX191bmlDb25maWcuZ2xvYmFsU3R5bGUse25hdmlnYXRpb25CYXJUaXRsZVRleHQ6IiIsZW5hYmxlUHVsbERvd25SZWZyZXNoOiExfSl9LFtlKCJwYWdlcy1pbnZlc3QtaGVscCIse3Nsb3Q6InBhZ2UifSldKX19LG1ldGE6e25hbWU6InBhZ2VzLWludmVzdC1oZWxwIixpc05WdWU6ITEsbWF4V2lkdGg6MCxwYWdlUGF0aDoicGFnZXMvaW52ZXN0L2hlbHAiLHdpbmRvd1RvcDowfX0se3BhdGg6Ii9wYWdlcy9uZnQvY29tcG9uZW50cy9hcnRpc3QiLGNvbXBvbmVudDp7cmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKCJQYWdlIix7cHJvcHM6T2JqZWN0LmFzc2lnbih7fSxfX3VuaUNvbmZpZy5nbG9iYWxTdHlsZSx7bmF2aWdhdGlvbkJhclRpdGxlVGV4dDoiIixlbmFibGVQdWxsRG93blJlZnJlc2g6ITF9KX0sW2UoInBhZ2VzLW5mdC1jb21wb25lbnRzLWFydGlzdCIse3Nsb3Q6InBhZ2UifSldKX19LG1ldGE6e25hbWU6InBhZ2VzLW5mdC1jb21wb25lbnRzLWFydGlzdCIsaXNOVnVlOiExLG1heFdpZHRoOjAscGFnZVBhdGg6InBhZ2VzL25mdC9jb21wb25lbnRzL2FydGlzdCIsd2luZG93VG9wOjB9fSx7cGF0aDoiL3BhZ2VzL25mdC9jb21wb25lbnRzL2FydHdvcmsiLGNvbXBvbmVudDp7cmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKCJQYWdlIix7cHJvcHM6T2JqZWN0LmFzc2lnbih7fSxfX3VuaUNvbmZpZy5nbG9iYWxTdHlsZSx7bmF2aWdhdGlvbkJhclRpdGxlVGV4dDoiIixlbmFibGVQdWxsRG93blJlZnJlc2g6ITF9KX0sW2UoInBhZ2VzLW5mdC1jb21wb25lbnRzLWFydHdvcmsiLHtzbG90OiJwYWdlIn0pXSl9fSxtZXRhOntuYW1lOiJwYWdlcy1uZnQtY29tcG9uZW50cy1hcnR3b3JrIixpc05WdWU6ITEsbWF4V2lkdGg6MCxwYWdlUGF0aDoicGFnZXMvbmZ0L2NvbXBvbmVudHMvYXJ0d29yayIsd2luZG93VG9wOjB9fSx7cGF0aDoiL3BhZ2VzL25mdC9hcnR3b3JrRGV0YWlsIixjb21wb25lbnQ6e3JlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZSgiUGFnZSIse3Byb3BzOk9iamVjdC5hc3NpZ24oe30sX191bmlDb25maWcuZ2xvYmFsU3R5bGUse25hdmlnYXRpb25CYXJUaXRsZVRleHQ6IiIsZW5hYmxlUHVsbERvd25SZWZyZXNoOiExfSl9LFtlKCJwYWdlcy1uZnQtYXJ0d29ya0RldGFpbCIse3Nsb3Q6InBhZ2UifSldKX19LG1ldGE6e25hbWU6InBhZ2VzLW5mdC1hcnR3b3JrRGV0YWlsIixpc05WdWU6ITEsbWF4V2lkdGg6MCxwYWdlUGF0aDoicGFnZXMvbmZ0L2FydHdvcmtEZXRhaWwiLHdpbmRvd1RvcDowfX0se3BhdGg6Ii9wYWdlcy9uZnQvcHVyY2hhc2UiLGNvbXBvbmVudDp7cmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKCJQYWdlIix7cHJvcHM6T2JqZWN0LmFzc2lnbih7fSxfX3VuaUNvbmZpZy5nbG9iYWxTdHlsZSx7bmF2aWdhdGlvbkJhclRpdGxlVGV4dDoiIixlbmFibGVQdWxsRG93blJlZnJlc2g6ITF9KX0sW2UoInBhZ2VzLW5mdC1wdXJjaGFzZSIse3Nsb3Q6InBhZ2UifSldKX19LG1ldGE6e25hbWU6InBhZ2VzLW5mdC1wdXJjaGFzZSIsaXNOVnVlOiExLG1heFdpZHRoOjAscGFnZVBhdGg6InBhZ2VzL25mdC9wdXJjaGFzZSIsd2luZG93VG9wOjB9fSx7cGF0aDoiL3BhZ2VzL25mdC9jb21wb25lbnRzL3NlYXJjaCIsY29tcG9uZW50OntyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoIlBhZ2UiLHtwcm9wczpPYmplY3QuYXNzaWduKHt9LF9fdW5pQ29uZmlnLmdsb2JhbFN0eWxlLHtuYXZpZ2F0aW9uQmFyVGl0bGVUZXh0OiIiLGVuYWJsZVB1bGxEb3duUmVmcmVzaDohMX0pfSxbZSgicGFnZXMtbmZ0LWNvbXBvbmVudHMtc2VhcmNoIix7c2xvdDoicGFnZSJ9KV0pfX0sbWV0YTp7bmFtZToicGFnZXMtbmZ0LWNvbXBvbmVudHMtc2VhcmNoIixpc05WdWU6ITEsbWF4V2lkdGg6MCxwYWdlUGF0aDoicGFnZXMvbmZ0L2NvbXBvbmVudHMvc2VhcmNoIix3aW5kb3dUb3A6MH19LHtwYXRoOiIvcGFnZXMvbmZ0L2NvbXBvbmVudHMvY29sbGVjdGlvbiIsY29tcG9uZW50OntyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoIlBhZ2UiLHtwcm9wczpPYmplY3QuYXNzaWduKHt9LF9fdW5pQ29uZmlnLmdsb2JhbFN0eWxlLHtuYXZpZ2F0aW9uQmFyVGl0bGVUZXh0OiIiLGVuYWJsZVB1bGxEb3duUmVmcmVzaDohMX0pfSxbZSgicGFnZXMtbmZ0LWNvbXBvbmVudHMtY29sbGVjdGlvbiIse3Nsb3Q6InBhZ2UifSldKX19LG1ldGE6e25hbWU6InBhZ2VzLW5mdC1jb21wb25lbnRzLWNvbGxlY3Rpb24iLGlzTlZ1ZTohMSxtYXhXaWR0aDowLHBhZ2VQYXRoOiJwYWdlcy9uZnQvY29tcG9uZW50cy9jb2xsZWN0aW9uIix3aW5kb3dUb3A6MH19LHtwYXRoOiIvcGFnZXMvbmZ0L3B1cmNoYXNlX29uZSIsY29tcG9uZW50OntyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoIlBhZ2UiLHtwcm9wczpPYmplY3QuYXNzaWduKHt9LF9fdW5pQ29uZmlnLmdsb2JhbFN0eWxlLHtuYXZpZ2F0aW9uQmFyVGl0bGVUZXh0OiIiLGVuYWJsZVB1bGxEb3duUmVmcmVzaDohMX0pfSxbZSgicGFnZXMtbmZ0LXB1cmNoYXNlX29uZSIse3Nsb3Q6InBhZ2UifSldKX19LG1ldGE6e25hbWU6InBhZ2VzLW5mdC1wdXJjaGFzZV9vbmUiLGlzTlZ1ZTohMSxtYXhXaWR0aDowLHBhZ2VQYXRoOiJwYWdlcy9uZnQvcHVyY2hhc2Vfb25lIix3aW5kb3dUb3A6MH19LHtwYXRoOiIvcGFnZXMvbmZ0L3Jlc2VsbCIsY29tcG9uZW50OntyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoIlBhZ2UiLHtwcm9wczpPYmplY3QuYXNzaWduKHt9LF9fdW5pQ29uZmlnLmdsb2JhbFN0eWxlLHtuYXZpZ2F0aW9uQmFyVGl0bGVUZXh0OiIiLGVuYWJsZVB1bGxEb3duUmVmcmVzaDohMX0pfSxbZSgicGFnZXMtbmZ0LXJlc2VsbCIse3Nsb3Q6InBhZ2UifSldKX19LG1ldGE6e25hbWU6InBhZ2VzLW5mdC1yZXNlbGwiLGlzTlZ1ZTohMSxtYXhXaWR0aDowLHBhZ2VQYXRoOiJwYWdlcy9uZnQvcmVzZWxsIix3aW5kb3dUb3A6MH19LHtwYXRoOiIvcGFnZXMvbmZ0L215TmZ0Iixjb21wb25lbnQ6e3JlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZSgiUGFnZSIse3Byb3BzOk9iamVjdC5hc3NpZ24oe30sX191bmlDb25maWcuZ2xvYmFsU3R5bGUse25hdmlnYXRpb25CYXJUaXRsZVRleHQ6IiIsZW5hYmxlUHVsbERvd25SZWZyZXNoOiExfSl9LFtlKCJwYWdlcy1uZnQtbXlOZnQiLHtzbG90OiJwYWdlIn0pXSl9fSxtZXRhOntuYW1lOiJwYWdlcy1uZnQtbXlOZnQiLGlzTlZ1ZTohMSxtYXhXaWR0aDowLHBhZ2VQYXRoOiJwYWdlcy9uZnQvbXlOZnQiLHdpbmRvd1RvcDowfX0se3BhdGg6Ii9wYWdlcy9nYW1lL2dhbWUiLGNvbXBvbmVudDp7cmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKCJQYWdlIix7cHJvcHM6T2JqZWN0LmFzc2lnbih7fSxfX3VuaUNvbmZpZy5nbG9iYWxTdHlsZSx7bmF2aWdhdGlvbkJhclRpdGxlVGV4dDoiIixlbmFibGVQdWxsRG93blJlZnJlc2g6ITF9KX0sW2UoInBhZ2VzLWdhbWUtZ2FtZSIse3Nsb3Q6InBhZ2UifSldKX19LG1ldGE6e25hbWU6InBhZ2VzLWdhbWUtZ2FtZSIsaXNOVnVlOiExLG1heFdpZHRoOjAscGFnZVBhdGg6InBhZ2VzL2dhbWUvZ2FtZSIsd2luZG93VG9wOjB9fSx7cGF0aDoiL3BhZ2VzL25mdC9hcnR3b3JrRGV0YWlsX3ZpZGVvIixjb21wb25lbnQ6e3JlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZSgiUGFnZSIse3Byb3BzOk9iamVjdC5hc3NpZ24oe30sX191bmlDb25maWcuZ2xvYmFsU3R5bGUse25hdmlnYXRpb25CYXJUaXRsZVRleHQ6IiIsZW5hYmxlUHVsbERvd25SZWZyZXNoOiExfSl9LFtlKCJwYWdlcy1uZnQtYXJ0d29ya0RldGFpbF92aWRlbyIse3Nsb3Q6InBhZ2UifSldKX19LG1ldGE6e25hbWU6InBhZ2VzLW5mdC1hcnR3b3JrRGV0YWlsX3ZpZGVvIixpc05WdWU6ITEsbWF4V2lkdGg6MCxwYWdlUGF0aDoicGFnZXMvbmZ0L2FydHdvcmtEZXRhaWxfdmlkZW8iLHdpbmRvd1RvcDowfX0se3BhdGg6Ii9wYWdlcy9maW5hbmNpYWwvaW5kZXgiLGNvbXBvbmVudDp7cmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKCJQYWdlIix7cHJvcHM6T2JqZWN0LmFzc2lnbih7aXNRdWl0OiEwLGlzVGFiQmFyOiEwLHRhYkJhckluZGV4OjN9LF9fdW5pQ29uZmlnLmdsb2JhbFN0eWxlLHtuYXZpZ2F0aW9uQmFyVGl0bGVUZXh0OiIiLGVuYWJsZVB1bGxEb3duUmVmcmVzaDohMX0pfSxbZSgicGFnZXMtZmluYW5jaWFsLWluZGV4Iix7c2xvdDoicGFnZSJ9KV0pfX0sbWV0YTp7aWQ6NSxuYW1lOiJwYWdlcy1maW5hbmNpYWwtaW5kZXgiLGlzTlZ1ZTohMSxtYXhXaWR0aDowLHBhZ2VQYXRoOiJwYWdlcy9maW5hbmNpYWwvaW5kZXgiLGlzUXVpdDohMCxpc1RhYkJhcjohMCx0YWJCYXJJbmRleDozLHdpbmRvd1RvcDowfX0se3BhdGg6Ii9wYWdlcy90cmFuc2FjdGlvbi9pbmRleDIiLGNvbXBvbmVudDp7cmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKCJQYWdlIix7cHJvcHM6T2JqZWN0LmFzc2lnbih7fSxfX3VuaUNvbmZpZy5nbG9iYWxTdHlsZSx7bmF2aWdhdGlvbkJhclRpdGxlVGV4dDoiIixlbmFibGVQdWxsRG93blJlZnJlc2g6ITF9KX0sW2UoInBhZ2VzLXRyYW5zYWN0aW9uLWluZGV4MiIse3Nsb3Q6InBhZ2UifSldKX19LG1ldGE6e25hbWU6InBhZ2VzLXRyYW5zYWN0aW9uLWluZGV4MiIsaXNOVnVlOiExLG1heFdpZHRoOjAscGFnZVBhdGg6InBhZ2VzL3RyYW5zYWN0aW9uL2luZGV4MiIsd2luZG93VG9wOjB9fSx7cGF0aDoiL3BhZ2VzL3NldHRpbmcvc2V0dGluZyIsY29tcG9uZW50OntyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoIlBhZ2UiLHtwcm9wczpPYmplY3QuYXNzaWduKHt9LF9fdW5pQ29uZmlnLmdsb2JhbFN0eWxlLHtuYXZpZ2F0aW9uQmFyVGl0bGVUZXh0OiIiLGVuYWJsZVB1bGxEb3duUmVmcmVzaDohMX0pfSxbZSgicGFnZXMtc2V0dGluZy1zZXR0aW5nIix7c2xvdDoicGFnZSJ9KV0pfX0sbWV0YTp7bmFtZToicGFnZXMtc2V0dGluZy1zZXR0aW5nIixpc05WdWU6ITEsbWF4V2lkdGg6MCxwYWdlUGF0aDoicGFnZXMvc2V0dGluZy9zZXR0aW5nIix3aW5kb3dUb3A6MH19LHtwYXRoOiIvcGFnZXMvc2V0dGluZy91c2VySW5mbyIsY29tcG9uZW50OntyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoIlBhZ2UiLHtwcm9wczpPYmplY3QuYXNzaWduKHt9LF9fdW5pQ29uZmlnLmdsb2JhbFN0eWxlLHtuYXZpZ2F0aW9uQmFyVGl0bGVUZXh0OiIiLGVuYWJsZVB1bGxEb3duUmVmcmVzaDohMX0pfSxbZSgicGFnZXMtc2V0dGluZy11c2VySW5mbyIse3Nsb3Q6InBhZ2UifSldKX19LG1ldGE6e25hbWU6InBhZ2VzLXNldHRpbmctdXNlckluZm8iLGlzTlZ1ZTohMSxtYXhXaWR0aDowLHBhZ2VQYXRoOiJwYWdlcy9zZXR0aW5nL3VzZXJJbmZvIix3aW5kb3dUb3A6MH19LHtwYXRoOiIvcGFnZXMvc2V0dGluZy9zZWN1cml0eSIsY29tcG9uZW50OntyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoIlBhZ2UiLHtwcm9wczpPYmplY3QuYXNzaWduKHt9LF9fdW5pQ29uZmlnLmdsb2JhbFN0eWxlLHtuYXZpZ2F0aW9uQmFyVGl0bGVUZXh0OiIiLGVuYWJsZVB1bGxEb3duUmVmcmVzaDohMX0pfSxbZSgicGFnZXMtc2V0dGluZy1zZWN1cml0eSIse3Nsb3Q6InBhZ2UifSldKX19LG1ldGE6e25hbWU6InBhZ2VzLXNldHRpbmctc2VjdXJpdHkiLGlzTlZ1ZTohMSxtYXhXaWR0aDowLHBhZ2VQYXRoOiJwYWdlcy9zZXR0aW5nL3NlY3VyaXR5Iix3aW5kb3dUb3A6MH19LHtwYXRoOiIvcGFnZXMvc2V0dGluZy9wYXNzd29yZCIsY29tcG9uZW50OntyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoIlBhZ2UiLHtwcm9wczpPYmplY3QuYXNzaWduKHt9LF9fdW5pQ29uZmlnLmdsb2JhbFN0eWxlLHtuYXZpZ2F0aW9uQmFyVGl0bGVUZXh0OiIiLGVuYWJsZVB1bGxEb3duUmVmcmVzaDohMX0pfSxbZSgicGFnZXMtc2V0dGluZy1wYXNzd29yZCIse3Nsb3Q6InBhZ2UifSldKX19LG1ldGE6e25hbWU6InBhZ2VzLXNldHRpbmctcGFzc3dvcmQiLGlzTlZ1ZTohMSxtYXhXaWR0aDowLHBhZ2VQYXRoOiJwYWdlcy9zZXR0aW5nL3Bhc3N3b3JkIix3aW5kb3dUb3A6MH19LHtwYXRoOiIvcGFnZXMvc2V0dGluZy9wYXlQYXNzd29yZCIsY29tcG9uZW50OntyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoIlBhZ2UiLHtwcm9wczpPYmplY3QuYXNzaWduKHt9LF9fdW5pQ29uZmlnLmdsb2JhbFN0eWxlLHtuYXZpZ2F0aW9uQmFyVGl0bGVUZXh0OiIiLGVuYWJsZVB1bGxEb3duUmVmcmVzaDohMX0pfSxbZSgicGFnZXMtc2V0dGluZy1wYXlQYXNzd29yZCIse3Nsb3Q6InBhZ2UifSldKX19LG1ldGE6e25hbWU6InBhZ2VzLXNldHRpbmctcGF5UGFzc3dvcmQiLGlzTlZ1ZTohMSxtYXhXaWR0aDowLHBhZ2VQYXRoOiJwYWdlcy9zZXR0aW5nL3BheVBhc3N3b3JkIix3aW5kb3dUb3A6MH19LHtwYXRoOiIvcGFnZXMvc2V0dGluZy9jb3Vwb24iLGNvbXBvbmVudDp7cmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKCJQYWdlIix7cHJvcHM6T2JqZWN0LmFzc2lnbih7fSxfX3VuaUNvbmZpZy5nbG9iYWxTdHlsZSx7bmF2aWdhdGlvbkJhclRpdGxlVGV4dDoiIixlbmFibGVQdWxsRG93blJlZnJlc2g6ITF9KX0sW2UoInBhZ2VzLXNldHRpbmctY291cG9uIix7c2xvdDoicGFnZSJ9KV0pfX0sbWV0YTp7bmFtZToicGFnZXMtc2V0dGluZy1jb3Vwb24iLGlzTlZ1ZTohMSxtYXhXaWR0aDowLHBhZ2VQYXRoOiJwYWdlcy9zZXR0aW5nL2NvdXBvbiIsd2luZG93VG9wOjB9fSx7cGF0aDoiL3BhZ2VzL3NldHRpbmcvd2FsbGV0Iixjb21wb25lbnQ6e3JlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZSgiUGFnZSIse3Byb3BzOk9iamVjdC5hc3NpZ24oe30sX191bmlDb25maWcuZ2xvYmFsU3R5bGUse25hdmlnYXRpb25CYXJUaXRsZVRleHQ6IiIsZW5hYmxlUHVsbERvd25SZWZyZXNoOiExfSl9LFtlKCJwYWdlcy1zZXR0aW5nLXdhbGxldCIse3Nsb3Q6InBhZ2UifSldKX19LG1ldGE6e25hbWU6InBhZ2VzLXNldHRpbmctd2FsbGV0Iixpc05WdWU6ITEsbWF4V2lkdGg6MCxwYWdlUGF0aDoicGFnZXMvc2V0dGluZy93YWxsZXQiLHdpbmRvd1RvcDowfX0se3BhdGg6Ii9wYWdlcy9zZXR0aW5nL2JpbGwiLGNvbXBvbmVudDp7cmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKCJQYWdlIix7cHJvcHM6T2JqZWN0LmFzc2lnbih7fSxfX3VuaUNvbmZpZy5nbG9iYWxTdHlsZSx7bmF2aWdhdGlvbkJhclRpdGxlVGV4dDoiIixlbmFibGVQdWxsRG93blJlZnJlc2g6ITF9KX0sW2UoInBhZ2VzLXNldHRpbmctYmlsbCIse3Nsb3Q6InBhZ2UifSldKX19LG1ldGE6e25hbWU6InBhZ2VzLXNldHRpbmctYmlsbCIsaXNOVnVlOiExLG1heFdpZHRoOjAscGFnZVBhdGg6InBhZ2VzL3NldHRpbmcvYmlsbCIsd2luZG93VG9wOjB9fSx7cGF0aDoiL3BhZ2VzL3NldHRpbmcvdGVhbSIsY29tcG9uZW50OntyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoIlBhZ2UiLHtwcm9wczpPYmplY3QuYXNzaWduKHt9LF9fdW5pQ29uZmlnLmdsb2JhbFN0eWxlLHtuYXZpZ2F0aW9uQmFyVGl0bGVUZXh0OiIiLGVuYWJsZVB1bGxEb3duUmVmcmVzaDohMX0pfSxbZSgicGFnZXMtc2V0dGluZy10ZWFtIix7c2xvdDoicGFnZSJ9KV0pfX0sbWV0YTp7bmFtZToicGFnZXMtc2V0dGluZy10ZWFtIixpc05WdWU6ITEsbWF4V2lkdGg6MCxwYWdlUGF0aDoicGFnZXMvc2V0dGluZy90ZWFtIix3aW5kb3dUb3A6MH19LHtwYXRoOiIvcGFnZXMvc2V0dGluZy9leGNoYW5nZSIsY29tcG9uZW50OntyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoIlBhZ2UiLHtwcm9wczpPYmplY3QuYXNzaWduKHt9LF9fdW5pQ29uZmlnLmdsb2JhbFN0eWxlLHtuYXZpZ2F0aW9uQmFyVGl0bGVUZXh0OiIiLGVuYWJsZVB1bGxEb3duUmVmcmVzaDohMX0pfSxbZSgicGFnZXMtc2V0dGluZy1leGNoYW5nZSIse3Nsb3Q6InBhZ2UifSldKX19LG1ldGE6e25hbWU6InBhZ2VzLXNldHRpbmctZXhjaGFuZ2UiLGlzTlZ1ZTohMSxtYXhXaWR0aDowLHBhZ2VQYXRoOiJwYWdlcy9zZXR0aW5nL2V4Y2hhbmdlIix3aW5kb3dUb3A6MH19LHtwYXRoOiIvcGFnZXMvc2V0dGluZy9yZXdhcmRSZWNvcmQiLGNvbXBvbmVudDp7cmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKCJQYWdlIix7cHJvcHM6T2JqZWN0LmFzc2lnbih7fSxfX3VuaUNvbmZpZy5nbG9iYWxTdHlsZSx7bmF2aWdhdGlvbkJhclRpdGxlVGV4dDoiIixlbmFibGVQdWxsRG93blJlZnJlc2g6ITF9KX0sW2UoInBhZ2VzLXNldHRpbmctcmV3YXJkUmVjb3JkIix7c2xvdDoicGFnZSJ9KV0pfX0sbWV0YTp7bmFtZToicGFnZXMtc2V0dGluZy1yZXdhcmRSZWNvcmQiLGlzTlZ1ZTohMSxtYXhXaWR0aDowLHBhZ2VQYXRoOiJwYWdlcy9zZXR0aW5nL3Jld2FyZFJlY29yZCIsd2luZG93VG9wOjB9fSx7cGF0aDoiL3BhZ2VzL3NldHRpbmcvYXJlYXMiLGNvbXBvbmVudDp7cmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKCJQYWdlIix7cHJvcHM6T2JqZWN0LmFzc2lnbih7fSxfX3VuaUNvbmZpZy5nbG9iYWxTdHlsZSx7bmF2aWdhdGlvbkJhclRpdGxlVGV4dDoiIixlbmFibGVQdWxsRG93blJlZnJlc2g6ITF9KX0sW2UoInBhZ2VzLXNldHRpbmctYXJlYXMiLHtzbG90OiJwYWdlIn0pXSl9fSxtZXRhOntuYW1lOiJwYWdlcy1zZXR0aW5nLWFyZWFzIixpc05WdWU6ITEsbWF4V2lkdGg6MCxwYWdlUGF0aDoicGFnZXMvc2V0dGluZy9hcmVhcyIsd2luZG93VG9wOjB9fSx7cGF0aDoiL3BhZ2VzL3NldHRpbmcvYmFuayIsY29tcG9uZW50OntyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoIlBhZ2UiLHtwcm9wczpPYmplY3QuYXNzaWduKHt9LF9fdW5pQ29uZmlnLmdsb2JhbFN0eWxlLHtuYXZpZ2F0aW9uQmFyVGl0bGVUZXh0OiIiLGVuYWJsZVB1bGxEb3duUmVmcmVzaDohMX0pfSxbZSgicGFnZXMtc2V0dGluZy1iYW5rIix7c2xvdDoicGFnZSJ9KV0pfX0sbWV0YTp7bmFtZToicGFnZXMtc2V0dGluZy1iYW5rIixpc05WdWU6ITEsbWF4V2lkdGg6MCxwYWdlUGF0aDoicGFnZXMvc2V0dGluZy9iYW5rIix3aW5kb3dUb3A6MH19LHtwYXRoOiIvcGFnZXMvc2V0dGluZy9vcGVyYXRpb25hbF9jb21wbGlhbmNlIixjb21wb25lbnQ6e3JlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZSgiUGFnZSIse3Byb3BzOk9iamVjdC5hc3NpZ24oe30sX191bmlDb25maWcuZ2xvYmFsU3R5bGUse25hdmlnYXRpb25CYXJUaXRsZVRleHQ6IiIsZW5hYmxlUHVsbERvd25SZWZyZXNoOiExfSl9LFtlKCJwYWdlcy1zZXR0aW5nLW9wZXJhdGlvbmFsX2NvbXBsaWFuY2UiLHtzbG90OiJwYWdlIn0pXSl9fSxtZXRhOntuYW1lOiJwYWdlcy1zZXR0aW5nLW9wZXJhdGlvbmFsX2NvbXBsaWFuY2UiLGlzTlZ1ZTohMSxtYXhXaWR0aDowLHBhZ2VQYXRoOiJwYWdlcy9zZXR0aW5nL29wZXJhdGlvbmFsX2NvbXBsaWFuY2UiLHdpbmRvd1RvcDowfX0se3BhdGg6Ii9wYWdlcy9zZXR0aW5nL3NoYXJlIixjb21wb25lbnQ6e3JlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZSgiUGFnZSIse3Byb3BzOk9iamVjdC5hc3NpZ24oe30sX191bmlDb25maWcuZ2xvYmFsU3R5bGUse25hdmlnYXRpb25CYXJUaXRsZVRleHQ6IiIsZW5hYmxlUHVsbERvd25SZWZyZXNoOiExfSl9LFtlKCJwYWdlcy1zZXR0aW5nLXNoYXJlIix7c2xvdDoicGFnZSJ9KV0pfX0sbWV0YTp7bmFtZToicGFnZXMtc2V0dGluZy1zaGFyZSIsaXNOVnVlOiExLG1heFdpZHRoOjAscGFnZVBhdGg6InBhZ2VzL3NldHRpbmcvc2hhcmUiLHdpbmRvd1RvcDowfX0se3BhdGg6Ii9wYWdlcy9sb2NrbWluZy93ZWxjb21lIixjb21wb25lbnQ6e3JlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZSgiUGFnZSIse3Byb3BzOk9iamVjdC5hc3NpZ24oe30sX191bmlDb25maWcuZ2xvYmFsU3R5bGUse25hdmlnYXRpb25CYXJUaXRsZVRleHQ6IiIsZW5hYmxlUHVsbERvd25SZWZyZXNoOiExfSl9LFtlKCJwYWdlcy1sb2NrbWluZy13ZWxjb21lIix7c2xvdDoicGFnZSJ9KV0pfX0sbWV0YTp7bmFtZToicGFnZXMtbG9ja21pbmctd2VsY29tZSIsaXNOVnVlOiExLG1heFdpZHRoOjAscGFnZVBhdGg6InBhZ2VzL2xvY2ttaW5nL3dlbGNvbWUiLHdpbmRvd1RvcDowfX0se3BhdGg6Ii9wYWdlcy9rZWZ1L2luZGV4Iixjb21wb25lbnQ6e3JlbmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gZSgiUGFnZSIse3Byb3BzOk9iamVjdC5hc3NpZ24oe30sX191bmlDb25maWcuZ2xvYmFsU3R5bGUse25hdmlnYXRpb25CYXJUaXRsZVRleHQ6IiIsZW5hYmxlUHVsbERvd25SZWZyZXNoOiExfSl9LFtlKCJwYWdlcy1rZWZ1LWluZGV4Iix7c2xvdDoicGFnZSJ9KV0pfX0sbWV0YTp7bmFtZToicGFnZXMta2VmdS1pbmRleCIsaXNOVnVlOiExLG1heFdpZHRoOjAscGFnZVBhdGg6InBhZ2VzL2tlZnUvaW5kZXgiLHdpbmRvd1RvcDowfX0se3BhdGg6Ii9wYWdlcy9zZXR0aW5nL2JhbmtfaW50ZXJuYXRpb25hbCIsY29tcG9uZW50OntyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoIlBhZ2UiLHtwcm9wczpPYmplY3QuYXNzaWduKHt9LF9fdW5pQ29uZmlnLmdsb2JhbFN0eWxlLHtuYXZpZ2F0aW9uQmFyVGl0bGVUZXh0OiIiLGVuYWJsZVB1bGxEb3duUmVmcmVzaDohMX0pfSxbZSgicGFnZXMtc2V0dGluZy1iYW5rX2ludGVybmF0aW9uYWwiLHtzbG90OiJwYWdlIn0pXSl9fSxtZXRhOntuYW1lOiJwYWdlcy1zZXR0aW5nLWJhbmtfaW50ZXJuYXRpb25hbCIsaXNOVnVlOiExLG1heFdpZHRoOjAscGFnZVBhdGg6InBhZ2VzL3NldHRpbmcvYmFua19pbnRlcm5hdGlvbmFsIix3aW5kb3dUb3A6MH19LHtwYXRoOiIvcGFnZXMvY29tbW9uL2ZhcSIsY29tcG9uZW50OntyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoIlBhZ2UiLHtwcm9wczpPYmplY3QuYXNzaWduKHt9LF9fdW5pQ29uZmlnLmdsb2JhbFN0eWxlLHtuYXZpZ2F0aW9uQmFyVGl0bGVUZXh0OiIiLGVuYWJsZVB1bGxEb3duUmVmcmVzaDohMX0pfSxbZSgicGFnZXMtY29tbW9uLWZhcSIse3Nsb3Q6InBhZ2UifSldKX19LG1ldGE6e25hbWU6InBhZ2VzLWNvbW1vbi1mYXEiLGlzTlZ1ZTohMSxtYXhXaWR0aDowLHBhZ2VQYXRoOiJwYWdlcy9jb21tb24vZmFxIix3aW5kb3dUb3A6MH19LHtwYXRoOiIvcGFnZXMvY29tbW9uL2NvbnRhY3R1cyIsY29tcG9uZW50OntyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoIlBhZ2UiLHtwcm9wczpPYmplY3QuYXNzaWduKHt9LF9fdW5pQ29uZmlnLmdsb2JhbFN0eWxlLHtuYXZpZ2F0aW9uQmFyVGl0bGVUZXh0OiIiLGVuYWJsZVB1bGxEb3duUmVmcmVzaDohMX0pfSxbZSgicGFnZXMtY29tbW9uLWNvbnRhY3R1cyIse3Nsb3Q6InBhZ2UifSldKX19LG1ldGE6e25hbWU6InBhZ2VzLWNvbW1vbi1jb250YWN0dXMiLGlzTlZ1ZTohMSxtYXhXaWR0aDowLHBhZ2VQYXRoOiJwYWdlcy9jb21tb24vY29udGFjdHVzIix3aW5kb3dUb3A6MH19LHtwYXRoOiIvcGFnZXMvY29tbW9uL2Fib3V0dXMiLGNvbXBvbmVudDp7cmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKCJQYWdlIix7cHJvcHM6T2JqZWN0LmFzc2lnbih7fSxfX3VuaUNvbmZpZy5nbG9iYWxTdHlsZSx7bmF2aWdhdGlvbkJhclRpdGxlVGV4dDoiIixlbmFibGVQdWxsRG93blJlZnJlc2g6ITF9KX0sW2UoInBhZ2VzLWNvbW1vbi1hYm91dHVzIix7c2xvdDoicGFnZSJ9KV0pfX0sbWV0YTp7bmFtZToicGFnZXMtY29tbW9uLWFib3V0dXMiLGlzTlZ1ZTohMSxtYXhXaWR0aDowLHBhZ2VQYXRoOiJwYWdlcy9jb21tb24vYWJvdXR1cyIsd2luZG93VG9wOjB9fSx7cGF0aDoiL3BhZ2VzL2NvbW1vbi9ib3Jyb3dpbmciLGNvbXBvbmVudDp7cmVuZGVyOmZ1bmN0aW9uKGUpe3JldHVybiBlKCJQYWdlIix7cHJvcHM6T2JqZWN0LmFzc2lnbih7fSxfX3VuaUNvbmZpZy5nbG9iYWxTdHlsZSx7bmF2aWdhdGlvbkJhclRpdGxlVGV4dDoiIixlbmFibGVQdWxsRG93blJlZnJlc2g6ITF9KX0sW2UoInBhZ2VzLWNvbW1vbi1ib3Jyb3dpbmciLHtzbG90OiJwYWdlIn0pXSl9fSxtZXRhOntuYW1lOiJwYWdlcy1jb21tb24tYm9ycm93aW5nIixpc05WdWU6ITEsbWF4V2lkdGg6MCxwYWdlUGF0aDoicGFnZXMvY29tbW9uL2JvcnJvd2luZyIsd2luZG93VG9wOjB9fSx7cGF0aDoiL2Nob29zZS1sb2NhdGlvbiIsY29tcG9uZW50OntyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoIlBhZ2UiLHtwcm9wczp7bmF2aWdhdGlvblN0eWxlOiJjdXN0b20ifX0sW2UoInN5c3RlbS1jaG9vc2UtbG9jYXRpb24iLHtzbG90OiJwYWdlIn0pXSl9fSxtZXRhOntuYW1lOiJjaG9vc2UtbG9jYXRpb24iLHBhZ2VQYXRoOiIvY2hvb3NlLWxvY2F0aW9uIn19LHtwYXRoOiIvb3Blbi1sb2NhdGlvbiIsY29tcG9uZW50OntyZW5kZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIGUoIlBhZ2UiLHtwcm9wczp7bmF2aWdhdGlvblN0eWxlOiJjdXN0b20ifX0sW2UoInN5c3RlbS1vcGVuLWxvY2F0aW9uIix7c2xvdDoicGFnZSJ9KV0pfX0sbWV0YTp7bmFtZToib3Blbi1sb2NhdGlvbiIscGFnZVBhdGg6Ii9vcGVuLWxvY2F0aW9uIn19XSxlLlVuaUFwcCYmbmV3IGUuVW5pQXBwfSkuY2FsbCh0aGlzLG4oIjBlZTQiKSl9LCI0ZmUzIjpmdW5jdGlvbihlLHQsbil7ZS5leHBvcnRzPW4ucCsic3RhdGljL2ltYWdlL2ljb24vbG9nby5wbmcifSwiNTEwZCI6ZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtuKCI2YTU0Iik7dmFyIGE9bigiZjViZCIpLmRlZmF1bHQ7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuZGVmYXVsdD12b2lkIDA7dmFyIG8scixpLHMsYyxsLHU9YShuKCIzOWQ4IikpLGQ9e25hdjpbIuODm+ODvOODoCIsIuW4guWgtCIsIuiyv+aYkyIsIuiqk+e0hCIsIuizh+eUoyJdLGNvbW1vbjoobz17Q2FuY2VsbGVkOiLjgq3jg6Pjg7Pjgrvjg6siLHNlYXJjaDoi5qSc57SiIixjb25maXJtOiLjgpLpgbjmip7jgZfjgb7jgZnjgIIiLGNhbmNlbDoi44Kt44Oj44Oz44K744OrIixzdWJtaXQ6IumAgeS/oSIsbG9nb3V0OiLntYLkuoYiLGFsbDoi44GZ44G544GmIixlZGl0OiLnt6jpm4YiLGRlbGV0ZToi5YmK6ZmkIixyZXNldDoi44Oq44K744OD44OIIixmaWx0ZXI6IuODleOCo+ODq+OCvyIsbG9naW46IuODreOCsOOCpOODsyIscmVnaXN0ZXI6IueZu+mMsiIsZW1haWw6IuODoeODvOODq+ODnOODg+OCr+OCuSIsbW9iaWxlOiLmkLrluK/nlarlj7ciLGFjY291bnQ6IuODpuODvOOCtuODvOWQjSIscGFzc3dvcmQ6IuODkeOCueODr+ODvOODiSIscGFzc3dvcmRQbGFjZWhvbGRlcjoi44OR44K544Ov44O844OJ44KS5YWl5Yqb44GX44Gm44GP44Gg44GV44GEIixub2FjY291bnQ6IuOCouOCq+OCpuODs+ODiOOBr+OBguOCiuOBvuOBm+OCk+OBiz8iLGdvOiLooYzjgY8iLGZvcmdldFBhc3N3b3JkOiLjg5Hjgrnjg6/jg7zjg4njgpLlv5jjgozjgosiLGNvbmZpcm1QYXNzd29yZDoi44OR44K544Ov44O844OJ44Gu56K66KqNIixpbnZpdGVjb2RlOiLmi5vlvoXjgrPjg7zjg4kiLGhhc2FjY291bnQ6IuOCouOCq+OCpuODs+ODiOOBr+OBguOCiuOBvuOBmeOBiz8iLG1vYmlsZWNvZGVQbGFjZWhvbGRlcjoi56K66KqN44Kz44O844OJ44KS5YWl5Yqb44GX44Gm44GP44Gg44GV44GEIixlbWFpbGNvZGVQbGFjZWhvbGRlcjoi56K66KqN44Kz44O844OJ44KS5YWl5Yqb44GX44Gm44GP44Gg44GV44GEIixzZW5kOiLoqo3oqLzjgrPjg7zjg4njga7pgIHkv6EiLHNlbGVjdEFyZWE6IuWcsOWfn+OBrumBuOaKniIsYXVkaXQ6IuODrOODk+ODpeODvCIsdW5kZXJBdWRpdDoi44Os44OT44Ol44O85LitIixhdWRpdEZhaWx1cmU6IuODrOODk+ODpeODvOOBq+WkseaVl+OBl+OBvuOBl+OBnyIsdW50aWU6Iue4m+OCiuOCkuino+OBjyIsYnV5OiLosrfjgYYiLHNlbGw6IuWjsuOCiyIscGxzTG9naW46IuWFiOOBq+ODreOCsOOCpOODs+OBl+OBpuOBj+OBoOOBleOBhCIscGxzSW5wdXRVc2VybmFtZToi5Y+j5bqn44KS5YWl5Yqb44GX44Gm44GP44Gg44GV44GEIixwbHNJbnB1dFJlUGFzc3dvcmQ6IueiuuiqjeODkeOCueODr+ODvOODieOCkuWFpeWKm+OBl+OBpuOBj+OBoOOBleOBhCIscGxzSW5wdXRJbnZpdGVDb2RlOiLmi5vlvoXjgrPjg7zjg4njgpLlhaXlipvjgZfjgabjgY/jgaDjgZXjgYQiLHBsc0lucHV0Q29kZToi6KqN6Ki844Kz44O844OJ44KS5YWl5Yqb44GX44Gm44GP44Gg44GV44GEIixwbHNJbnB1dE1vYmlsZToi5pC65biv55Wq5Y+344KS5YWl5Yqb44GX44Gm44GP44Gg44GV44GEIixwbHNJbnB1dEVtYWlsOiLjg6Hjg7zjg6vjg5zjg4Pjgq/jgrnjgpLlhaXlipvjgZfjgabjgY/jgaDjgZXjgYQiLGxvZ2luX3N1Y2Nlc3M6IuODreOCsOOCpOODs+aIkOWKnyIsbG9naW5fZmFpbDoi44Ot44Kw44Kk44Oz5aSx5pWXIixyZWdfc3VjY2Vzczoi55m76Yyy5oiQ5YqfIixyZWdfZmFpbDoi44Ot44Kw44Kk44Oz5aSx5pWXIixwd2RJbmNvbnNpc3RlbnQ6IjLlm57jga7jg5Hjgrnjg6/jg7zjg4njgYzkuIDoh7TjgZfjgb7jgZvjgpMiLGhpbnQ6IuODkuODs+ODiCIsbG9hZGluZzoi44Ot44O844OJ5LitIixzdWNjZXNzOiLmiJDlip8iLHBsc0lucHV0OiLlhaXlipvjgZfjgabjgY/jgaDjgZXjgYQiLGNsaWNrOiLjgq/jg6rjg4Pjgq8iLHF1b3RhdGlvbjoi55u45aC0In0sKDAsdS5kZWZhdWx0KShvLCJlZGl0Iiwi57eo6ZuGIiksKDAsdS5kZWZhdWx0KShvLCJzZWNvbmQiLCLnp5IiKSwoMCx1LmRlZmF1bHQpKG8sInNwZWNpYWxDaGFydCIsIueJueauiuaWh+Wtl+OCkuWQq+OCgeOCi+OBk+OBqOOBr+OBp+OBjeOBvuOBm+OCkyIpLCgwLHUuZGVmYXVsdCkobywib3BlbiIsIuWvhOOCiuS7mOOBjeebuOWgtCIpLCgwLHUuZGVmYXVsdCkobywiY2xvc2UiLCLntYLlgKQiKSwoMCx1LmRlZmF1bHQpKG8sImhpZ2giLCLmnIDpq5jlgKQiKSwoMCx1LmRlZmF1bHQpKG8sImxvdyIsIuacgOS9juS+oeagvCIpLCgwLHUuZGVmYXVsdCkobywiY3VzdG9tZXJTZXJ2aWNlIiwi44Kr44K544K/44Oe44O844K144O844OT44K544Gr6YCj57Wh44GZ44KLIiksKDAsdS5kZWZhdWx0KShvLCJyZW1lbWJlclBhc3N3b3JkIiwi44OR44K544Ov44O844OJ44KS6Kaa44GI44KLIiksKDAsdS5kZWZhdWx0KShvLCJuZXdQYXNzd29yZCIsIuaWsOOBl+OBhOODkeOCueODr+ODvOODiSIpLCgwLHUuZGVmYXVsdCkobywicHdkTW9yZVRoZW42Iiwi44OR44K544Ov44O844OJ44Gu6ZW344GV44GvNuODk+ODg+ODiOOCiOOCiuWkp+OBjeOBj+OBquOBkeOCjOOBsOOBquOCiuOBvuOBm+OCkyIpLCgwLHUuZGVmYXVsdCkobywiY29kZUxlbmd0aDYiLCLmpJzoqLzjgrPjg7zjg4njga7plbfjgZXjga8244OT44OD44OI44Gn44GC44KL44G544GN44Gn44GC44KLIiksKDAsdS5kZWZhdWx0KShvLCJyZVB3ZE1vcmVUaGVuNiIsIuODkeOCueODr+ODvOODieOBrumVt+OBleOBjDbmoYHku6XkuIrjgafjgYLjgovjgZPjgajjgpLnorroqo3jgZfjgb7jgZkiKSwoMCx1LmRlZmF1bHQpKG8sInBscyIsIuOBqeOBhuOBniIpLCgwLHUuZGVmYXVsdCkobywic2F2ZVN1Y2Nlc3MiLCLjgrfjgrnjg4bjg6DjgqLjg6vjg5Djg6Djgavkv53lrZgiKSwoMCx1LmRlZmF1bHQpKG8sIm5leHRTdGVwIiwi5qyh44Gu44K544OG44OD44OXIiksKDAsdS5kZWZhdWx0KShvLCJsb2ciLCLjgY3jgo3jgY8iKSwoMCx1LmRlZmF1bHQpKG8sInBhcmFtc1dyb25nIiwi44OR44Op44Oh44O844K/44Ko44Op44O8IiksKDAsdS5kZWZhdWx0KShvLCJmdW5jdGlvbkxvYWRpbmciLCLmqZ/og73plovnmbrkuK0iKSwoMCx1LmRlZmF1bHQpKG8sIkRJR0lDQ1kiLCLmlbDlgKTpgJrosqgiKSwoMCx1LmRlZmF1bHQpKG8sInF1aWNrbHkiLCLjgZnjgbDjgoTjgY8iKSwoMCx1LmRlZmF1bHQpKG8sIm1vcmUiLCLjgZ3jga7ku5YiKSwoMCx1LmRlZmF1bHQpKG8sImhhc05vRGF0YSIsIuOBk+OCjOS7peS4iuODh+ODvOOCv+OBr+OBguOCiuOBvuOBm+OCkyIpLCgwLHUuZGVmYXVsdCkobywiYXVkaW9FcnJvciIsIuOCquODvOODh+OCo+OCquODleOCoeOCpOODq+OCqOODqeODvCIpLCgwLHUuZGVmYXVsdCkobywidG9Mb25nIiwi5paH5a2X44GM6ZW344GZ44GO44KLIiksKDAsdS5kZWZhdWx0KShvLCJzZWxlY3RMYW5nIiwi6KiA6Kqe44Gu6YG45oqeIiksKDAsdS5kZWZhdWx0KShvLCJybmFtZXBhc3MiLCLlrp/lkI3oqo3oqLzjgavlkIjmoLzjgZfjgb7jgZfjgZ8iKSxvKSxob21lOihyPXtjb250YWN0VXM6IuOBiuWVj+OBhOWQiOOCj+OBmyIsYm9ycm93aW5nOiLlgJ/jgorjgosiLGJvcnJvd2luZ19lbnRyeToi44Ot44O844Oz44Ko44Oz44OI44Oq44O8IixyZXBheW1lbnRfZW50cnk6IuODreODvOODs+i/lOa4iOOCqOODs+ODiOODqiIsdGl0bGU6Ildvb0Nsb3VkIix0b3RhbEFzc2V0c0VxdWl2YWxlbmc6Iue3j+izh+eUo+aPm+eulyIscmVjaGFyZ2U6IuODgeODo+ODvOOCuCIsd2l0aGRyYXc6IuePvumHkeOCkuW8leOBjeWHuuOBmSIsc3RvY2s6IuagquW8jyIsZnV0dXJlczoi5aWR57SE5pu4Iixjb3B5dHJhZGU6IuOBq+OBpOOBhOOBpuihjOOBjyIsZmluYW5jaWFsOiLph5Hono3osqHjg4bjgq8iLG1hcmdpbjoi44K544O844OR44O844Os44OQ44O8IixvdGM6Ik9UQyIsY291cG9uOiLjgqvjg7zjg4njgrvjg7Pjgr/jg7wiLGJpbGxzOiLoq4vmsYLmm7giLGV4Y2hhbmdlOiLngrrmm7/jg6zjg7zjg4giLG1pbmluZzoi44Oe44Kk44OL44Oz44KwIixnYW1lOiLjg5/jg4vjgrLjg7zjg6AiLGNoYXRyb29tOiLjg4Hjg6Pjg4Pjg4jjg6vjg7zjg6AiLHF1aWNrbHlCdXlDb2luczoi44Kv44Kk44OD44Kv44Kz44Kk44OzIixkZWZpTWluaW5nOiJEZUZp5o6Y5YmKIixjbG91ZE1pbmluZzoi44GG44KT44GT44GG44GNIn0sKDAsdS5kZWZhdWx0KShyLCJzdG9jayIsIuagquW8jyIpLCgwLHUuZGVmYXVsdCkociwic3RvY2tfaW5mbyIsIuWAieW6q+OCkumWi+OBj+W/heimgeOBjOOBquOBjyznm7TjgaHjgavlgInluqvjgpLmjIHjgaQiKSwoMCx1LmRlZmF1bHQpKHIsImxvY2ttaW5nIiwi6KqT57SEIiksKDAsdS5kZWZhdWx0KShyLCJ0cmFuc2ZlciIsIuOCs+OCpOODs+aMr+OCiuabv+OBiCIpLCgwLHUuZGVmYXVsdCkociwiaWVvIiwiSUVPIiksKDAsdS5kZWZhdWx0KShyLCJzZWNvbmRzIiwi44Kq44OX44K344On44OzIiksKDAsdS5kZWZhdWx0KShyLCJkYXkiLCLjgYLjgYIiKSwoMCx1LmRlZmF1bHQpKHIsIm1pbmltdW0iLCLotbciKSwoMCx1LmRlZmF1bHQpKHIsImRhaWx5UmV0dXJuUmF0ZSIsIuaXpeWPjuebiueOhyIpLCgwLHUuZGVmYXVsdCkociwibW9yZSIsIuOBneOBruS7liIpLCgwLHUuZGVmYXVsdCkociwibWFya2V0Iiwi55u45aC0IiksKDAsdS5kZWZhdWx0KShyLCJ0cmFkaW5nUGFpciIsIuODiOODqeODs+OCtuOCr+OCt+ODp+ODs+ODmuOCoiIpLCgwLHUuZGVmYXVsdCkociwibGFzdFByaWNlIiwi5pyA5paw5L6h5qC8IiksKDAsdS5kZWZhdWx0KShyLCJ0b2RheUNoYW5nZSIsIuOBjeOCh+OBhuOBr+S4i+OBkuW5heOBjOS4iuOBjOOCiyIpLCgwLHUuZGVmYXVsdCkociwidHJhbnNhY3Rpb24iLCLlj5blvJUiKSwoMCx1LmRlZmF1bHQpKHIsIm5mdCIsIk5GVCIpLCgwLHUuZGVmYXVsdCkociwiaW52ZXN0Iiwi5oqV6LOH6LKh44OG44KvIiksKDAsdS5kZWZhdWx0KShyLCJkb3dubG9hZCIsIuODgOOCpuODs+ODreODvOODiSIpLCgwLHUuZGVmYXVsdCkociwiYXBwX3RleHQiLCLjgqrjg7Pjg6njgqTjg7Plj5blvJUiKSwoMCx1LmRlZmF1bHQpKHIsImJ6X0NvbnRlbiIsIuODmOODq+ODl+OCu+ODs+OCv+ODvCIpLHIpLHNldHRpbmc6e3RlYW06IuODgeODvOODoCIsdGVhbTE6IuODgeODvOODoOS6uuaVsCIsdGVhbTI6IuS6uiIsdGVhbTM6IuePvuWcqOOBrumAmuato+aui+mrmCIsdGVhbTQ6Iue0r+epjeWlqOWKse+8iOmAmuato++8iSIsdGVhbTU6Iue0r+epjeWlqOWKse+8iFVTRFTvvIkiLHRlYW02OiLmj5vnrpciLHRlYW03OiLkuKHmm7/pgJrmraMiLHRlYW04OiLmraPopo/lpajlirHoqJjpjLIiLHRlYW05OiJVU0RU5aWo5Yqx6KiY6YyyIix0ZWFtMTA6IuWFseacieODquODs+OCryIsdGVhbTExOiLkuIvkvY3jg6bjg7zjgrbvvIgx57Sa77yJIix0ZWFtMTI6IuS4i+S9jeiAhe+8iDLntJrvvIkiLHRlYW0xMzoi5LiL5L2N6ICF77yIM+e0mu+8iSIsdGVhbTE0OiLjg6bjg7zjgrbjg7zlkI0iLHRlYW0xNToi6LOq5qip5oq15b2T5q6L6auYIix0ZWFtMTY6IuaLm+W+heaXpeaZgiIsdGVhbTE3OiLmraPmnK3kuKHmm78iLHRlYW0xODoi6YCa5q2j5pWwIix0ZWFtMTk6IuS4oeabv+WPr+iDvVVTRFTmlbDph48iLHRlYW0yMDoi44GZ44G544GmIix0ZWFtMjE6IuWIqeeUqOWPr+iDveOBquiovOaYjuabuCIsdGVhbTIyOiLmj5vnrpfjgrnjgrHjg7zjg6siLHRlYW0yMzoi5omL5pWw5paZIix0ZWFtMjQ6IuaPm+eul+OBrueiuuiqjSIsdGVhbTI1OiLjgq/jgqjjg6rjg7zvvIPjgq/jgqjjg6rjg7zvvIMiLHRlYW0yNjoi6YCa6Ki85aWo5Yqx6KiY6YyyIix0ZWFtMjc6IuS4oeabv+aVsOmHj+OCkuWFpeWKm+OBl+OBpuOBj+OBoOOBleOBhCIsdGVhbTI4OiLlrp/lkI3oqo3oqLzlpajlirHph5EiLHRlYW0yOToi5Y+W5byV5omL5pWw5paZIix0ZWFtMzA6IuOCueOCv+OCuOOCquizniIsdGVhbTMxOiLmjqHmjpjjgZfjgabliKnnm4rjgpLlm57lvqnjgZnjgosiLHRlYW0zMjoi6YCa6Ki85aWo5YqxKC0pIix0ZWFtMzM6IuODh+OCuOOCv+ODq+mAmuiyqOOCpOODs+OCu+ODs+ODhuOCo+ODliIsdGVhbTM0OiLjgq3jg6Pjg7Pjgrvjg6siLHRlYW0zNToi56K66KqNIix5OiLlubQiLG06IuaciCIsZDoi5pelIixoOiLmmYIiLGY6IuWIhiIsczoi56eSIixteV9xcmNvZGU6IuengeOBrlFS44Kz44O844OJIixtaW5lOiJNaW5lIixpbnZpdGVEZXNjOiLlj4vkurrjgpLoqpjjgaPjgablhbHjgavliKnnm4rjgpLov5TjgZkiLGludml0ZURlc2MyOiLlj4vkurrjgajlhbHjgavov5TliKnjgpLkuqvlj5fjgZnjgosiLGludml0ZU51bWJlcjoi5oub5b6F5Lq65pWwIixpbnZpdGVUcmFuc051bWJlcjoi5Y+W5byV5riI5Lq65pWwIixteVJlYmF0ZToi56eB44Gu6L+U5YipIixiaWxsOiLoq4vmsYLmm7giLHdhbGxldDoi6LKh5biD44Gu5L2P5omAIixiYW5rczoi6YqA6KGM44Kr44O844OJ44OQ44Kk44Oz44OJIixiYW5rc0ludGVybmF0aW9uYWw6IumKgOihjOOCq+ODvOODieODkOOCpOODs+ODieOAkOWci+mam+OAkSIsYWRkQmFuazoi6YqA6KGM44Kr44O844OJ44Gu6L+95YqgIixzZWN1cml0eVNldHRpbmdzOiLjgrvjgq3jg6Xjg6rjg4bjgqPoqK3lrpoiLGNvdXBvbjoi44Kr44O844OJ44K744Oz44K/44O8IixzeXN0ZW1Ob3RpZmljYXRpb246IuOCt+OCueODhuODoOmAmuefpSIsZGVmYXVsdEZpYXRDdXJyZW5jeToi44OH44OV44Kp44Or44OI6YCa6LKoIixsYW5ndWFnZToi6KiA6KqeIixmYXE6IuOCiOOBj+OBguOCi+izquWVjyIsb3BlcmF0aW9uYWxDb21wbGlhbmNlOiLntYzllrbjgrPjg7Pjg5fjg6njgqTjgqLjg7PjgrkiLHNoYXJlOiLliIbjgYvjgaHlkIjjgYYiLGNvbnRhY3RVczoi44GK5ZWP44GE5ZCI44KP44GbIixhYm91dFVzOiLnp4HjgZ/jgaHjgavjgaTjgYTjgaYiLGF2YXRhcjoi44Ki44Kk44Kz44OzIixuaWNrbmFtZToi44OL44OD44Kv44ON44O844OgIixzaWduYXR1cmU6IuODkeODvOOCveODiuODq+e9suWQjSIsZ3J4eDoi5YCL5Lq65oOF5aCxIixncnh4T3B0aW9uczp7bmlja25hbWU6e3RpdGxlOiLjg4vjg4Pjgq/jg43jg7zjg6AiLHBsYWNlaG9sZGVyOiLjg4vjg4Pjgq/jg43jg7zjg6DjgpLlhaXlipvjgZfjgabjgY/jgaDjgZXjgYQiLGRlc2M6IjLvvZ4xMOaWh+Wtl+OAgeS4reWbveiqnuOAgeiLseiqnuOAgeaVsOWtl+OCkuOCteODneODvOODiCJ9LHNpZ25hdHVyZTp7dGl0bGU6IuODkeODvOOCveODiuODq+e9suWQjSIscGxhY2Vob2xkZXI6IuODkeODvOOCveODiuODq+e9suWQjeOCkuWFpeWKm+OBl+OBpuOBj+OBoOOBleOBhCIsZGVzYzoiMu+9njMw5paH5a2X44CB5Lit5Zu96Kqe44CB6Iux6Kqe44CB5pWw5a2X44KS44K144Od44O844OIIn19LHh4dHg6IuOCouOCpOOCs+ODs+OCkuOCouODg+ODl+ODreODvOODiSIscGhvdG9ncmFwaDoi5YaZ55yf44KS44Go44KLIixzZWxlY3RGcm9tQWxidW06IuOCouODq+ODkOODoOOBi+OCiemBuOaKniIsYXFzejoi44K744Kt44Ol44Oq44OG44Kj6Kit5a6aIixlZGl0TG9naW5QYXNzd29yZDoi44Ot44Kw44Kk44Oz44OR44K544Ov44O844OJ44Gu5aSJ5pu0IixzZXRQYXlQYXNzd29yZDoi5pSv5omV44OR44K544Ov44O844OJ44Gu6Kit5a6aIixlZGl0UGF5UGFzc3dvcmQ6IuaUr+aJleODkeOCueODr+ODvOODieOBruWkieabtCIsYmluZFBob25lOiLmkLrluK/jgpLnuJvjgosiLGVtYWlsOiLjg6Hjg7zjg6vjg5zjg4Pjgq/jgrkiLHN0YXlMb2dpbjoi44Ot44Kw44Kk44Oz44Gu5L+d5oyBIix4Z2RsbW06IuODreOCsOOCpOODs+ODkeOCueODr+ODvOODieOBruWkieabtCIsY3VycmVudFBhc3N3b3JkOiLnj77lnKjjga7jg63jgrDjgqTjg7Pjg5Hjgrnjg6/jg7zjg4kiLGN1cnJlbnRQYXNzd29yZFBsYWNlaG9sZGVyOiLnj77lnKjjga7jg63jgrDjgqTjg7Pjg5Hjgrnjg6/jg7zjg4njgpLlhaXlipvjgZfjgabjgY/jgaDjgZXjgYQiLG5ld1Bhc3N3b3JkOiLmlrDjgZfjgYTjg63jgrDjgqTjg7Pjg5Hjgrnjg6/jg7zjg4kiLG5ld1Bhc3N3b3JkUGxhY2Vob2xkZXI6IuaWsOOBl+OBhOODreOCsOOCpOODs+ODkeOCueODr+ODvOODieOCkuWFpeWKm+OBl+OBpuOBj+OBoOOBleOBhCIsY29uZmlybU5ld1Bhc3N3b3JkOiLmlrDjgZfjgYTjg5Hjgrnjg6/jg7zjg4njga7norroqo0iLGNvbmZpcm1OZXdQYXNzd29yZFBsYWNlaG9sZGVyOiLmlrDjgZfjgYTjg5Hjgrnjg6/jg7zjg4njga7norroqo3jgpLlhaXlipvjgZfjgabjgY/jgaDjgZXjgYQiLGN1cnJlbnRQYXlQYXNzd29yZDoi54++5Zyo44Gu5pSv5omV44GE44OR44K544Ov44O844OJIixjdXJyZW50UGF5UGFzc3dvcmRQbGFjZWhvbGRlcjoi54++5Zyo44Gu5pSv5omV44GE44OR44K544Ov44O844OJ44KS5YWl5Yqb44GX44Gm44GP44Gg44GV44GEIixuZXdQYXlQYXNzd29yZDoi5paw44GX44GE5pSv5omV44GE44OR44K544Ov44O844OJIixuZXdQYXlQYXNzd29yZFBsYWNlaG9sZGVyOiLmlrDjgZfjgYTmlK/miZXjgYTjg5Hjgrnjg6/jg7zjg4njgpLlhaXlipvjgZfjgabjgY/jgaDjgZXjgYQiLGNvbmZpcm1OZXdQYXlQYXNzd29yZDoi5paw44GX44GE5pSv5omV44GE44OR44K544Ov44O844OJ44Gu56K66KqNIixjb25maXJtTmV3UGF5UGFzc3dvcmRQbGFjZWhvbGRlcjoi5paw44GX44GE5pSv5omV44GE56K66KqN44OR44K544Ov44O844OJ44KS5YWl5Yqb44GX44Gm44GP44Gg44GV44GEIixwaG9uZVZlcmlmaWNhdGlvbkNvZGU6IuaQuuW4r+iqjeiovOOCs+ODvOODiSIsZWRpdFBob25lVmVyaWZpY2F0aW9uQ29kZToi5pC65biv6Zu76Kmx44Gu6KqN6Ki844Kz44O844OJ44KS5YWl5Yqb44GX44Gm44GP44Gg44GV44GEIixnZXRWZXJpZmljYXRpb25Db2RlOiLoqo3oqLzjgrPjg7zjg4njga7lj5blvpciLGxjdHlxOiLosqHjg4bjgq/kvZPpqJPliLgiLGV4cGlyZWQ6IueEoeWKuSIsZXhwaXJlZFRpbWU6IuWkseWKueaXpSIsdXNlSW1tZWRpYXRlbHk6IuS7iuOBmeOBkOS9v+eUqCIsYWRkTmV3QWNjb3VudDoi5paw44GX44GE44Ki44Kr44Km44Oz44OI44KS6L+95YqgIix0b3RheUluY29tZToi5pys5pel5YWl6YeRIix0b3RhbEluY29tZToi57Sv6KiI5YWl6YeRIixzZWxlY3RMYW5nOiLoqIDoqp7jgpLpgbjmip7jgZfjgabjgY/jgaDjgZXjgYQiLHNlbGVjdENvaW5UeXBlOiLpgJrosqjjgpLpgbjmip7jgZfjgabjgY/jgaDjgZXjgYQiLGF1dGhlbnRpY2F0aW9uOiLos4fmoLzoqo3lrpoiLGF1dGhlbnRpY2F0aW9uMToi5Z+656SO6KqN6Ki8IixhdXRoZW50aWNhdGlvbjI6IumrmOW6puOBquizh+agvOiqjeWumiIsYXV0aGVudGljYXRpb25fdGV4dF8xOiLlgIvkurroqo3oqLwiLGF1dGhlbnRpY2F0aW9uX3RleHRfMjoi6LOH5qC86KqN5a6a44Gu5a6M5LqG5b6M44Gr5Y+W5b6X44Gn44GN44KL5qip6ZmQOiIsYXV0aGVudGljYXRpb25fdGV4dF8zOiJMdjEu5Z+656SO6KqN6Ki8IixhdXRoZW50aWNhdGlvbl90ZXh0XzQ6IuiqjeiovOW+jOOAgTI05pmC6ZaT6ZmQ5a6aMjAwIEJUQyIsYXV0aGVudGljYXRpb25fdGV4dF81OiLoqo3oqLzlvozjga/jg5Xjg6njg7Pjgrnjg4njg6vlj5blvJXjgYzlj6/og73jgafjgIHljZjnrYbpmZDluqYyMDAwIFVTRFQiLGF1dGhlbnRpY2F0aW9uX3RleHRfNjoiTHYyLumrmOW6puOBquizh+agvOiqjeWumiIsYXV0aGVudGljYXRpb25fdGV4dF83OiLkvZPnj77poY3jgpLlopfjgoTjgZfjgIEyNOaZgumWk+mZkOW6pumhjTUwMCBCVEMiLGF1dGhlbnRpY2F0aW9uX3RleHRfODoi44OV44Op44Oz44K544OJ44Or44Gu5Y+W5byV6aGN44KS5aKX44KE44GX44CB5Y2Y5LiA6ZmQ5bqm6aGNMTAwMDAwIFVTRFQiLGF1dGhlbnRpY2F0aW9uX3RleHRfOToi44GK55+l44KJ44GbOuODpuODvOOCtuODvOOBruizh+mHkeOBruWuieWFqOOCkuWuiOOCi+OBn+OCgeOBq+OAgeODoeODvOODq+ODnOODg+OCr+OCueOBqOmbu+ipseOBruODkOOCpOODs+ODieOCkuWujOS6huOBl+OBpuOBj+OBoOOBleOBhOOAguOBneOBhuOBl+OBquOBhOOBqOOAgeiqjeiovOOBq+WQiOagvOOBp+OBjeOBvuOBm+OCk+OAgiIsZ29BdWRpdDoi6KqN6Ki844KS5Y+W44KLIixub2F1ZGl0OiLos4fmoLzoqo3lrprjgarjgZciLGF1ZGl0aW5nOiLoqo3oqLzkuK0iLGhhc2F1ZGl0OiLoqo3lrprmuIjjgb8iLGVycm9yYXVkaXQ6IuiqjeiovOOBq+WkseaVl+OBl+OBvuOBl+OBnyIsaWRUeXBlOiLoqLzmmI7mm7jjga7nqK7poZ4iLGlkQ2FyZDoi6Lqr5YiG6Ki85piO5pu4IixwYXNzcG9ydDoi44OR44K544Od44O844OIIixkcml2ZXJMaWNlbnNlOiLpgYvou6LlhY3oqLHoqLwiLG5hbWU6IuWQjeWJjSIsaWRjYXJkOiLouqvliIboqLzmmI7mm7jnlarlj7ciLHBsc0lwdE5hbWU6IuWQjeWJjeOCkuWFpeWKm+OBl+OBpuOBj+OBoOOBleOBhCIscGxzSXB0Q29ycmVjdElkY2FyZDoi5q2j44GX44GESUTnlarlj7fjgpLlhaXlipvjgZfjgabjgY/jgaDjgZXjgYQiLHVwbG9hZElkY2FyZEZyb250OiLouqvliIboqLzmmI7mm7jjga7jgqLjg4Pjg5fjg63jg7zjg4nmraPpnaIiLHVwbG9hZElkY2FyZFJldmVyc2U6Iui6q+WIhuiovOaYjuabuOOBruijj+mdouOCkuOCouODg+ODl+ODreODvOODiSIsZW1haWxWZXJpZmljYXRpb25Db2RlOiLjg6Hjg7zjg6vjg5zjg4Pjgq/jgrnoqo3oqLzjgrPjg7zjg4kiLHBsc2lwdEVtYWlsQ29kZToi44Oh44O844Or44Oc44OD44Kv44K544Gu6KqN6Ki844Kz44O844OJ44KS5YWl5Yqb44GX44Gm44GP44Gg44GV44GEIixhZGRXYWxsZXQ6IuOCpuOCqeODrOODg+ODiOOCouODieODrOOCueOBrui/veWKoCIsc2VsZWN0Q3VycmVuY3k6IumAmuiyqOOBrumBuOaKniIscGxzU2VsZWN0Q3VycmVuY3k6IumAmuiyqOOCkumBuOaKnuOBl+OBpuOBj+OBoOOBleOBhCIscGxzSXB0QWRkcmVzczoi6LKh5biD44Gu5L2P5omA44KS5YWl5Yqb44GX44Gm44GP44Gg44GV44GEIix3YWxsZXRBZGRyZXNzOiLosqHluIPjga7kvY/miYAiLHdhbGxldFFyY29kZToi6LKh5biD44GuUVLjgrPjg7zjg4kiLHBsc0lwdFdhbGxldEFkZHJlc3M6IuiyoeW4g+OBruS9j+aJgOOCkuWFpeWKm+OBl+OBpuOBj+OBoOOBleOBhCIscGxzVXBsb2FkV2FsbGV0UXJjb2RlOiLosqHluIPjga5RUuOCs+ODvOODieOCkuOCouODg+ODl+ODreODvOODieOBl+OBpuOBj+OBoOOBleOBhCIsY29uZmlybUxvZ291dDoi44Ot44Kw44Kk44Oz44KS57WC5LqG44GX44G+44GZ44GLPyIsbm9uaWNrbmFtZToi44OL44OD44Kv44ON44O844Og44KS6Kit5a6a44GX44Gm44GP44Gg44GV44GEIixwbHNJbnB1dE1vYmlsZToi5pC65biv55Wq5Y+344KS5YWl5Yqb44GX44Gm44GP44Gg44GV44GEIixhbGlwYXlfYWNjb3VudDoiQUJB5Y+3IixyZWFsX25hbWU6IuWun+WQjSIsYmFua19hY2NvdW50OiLpioDooYzjgqvjg7zjg4nnlarlj7ciLGJhbmtfZGl6aGk6IuecgeW4guOCkiIsYmFua19uYW1lOiLlj6PluqfplovoqK3pioDooYwiLGJhbmtfbmV0d29yazoi5Y+j5bqn6ZaL6Kit44K144Kk44OIIixzd2lmdF9jb2RlOiJTV0lGVCIscGhvbmU6IumAo+e1oeWFiOmbu+ipsSIsd2VjaGF0X2FjY291bnQ6IuOCq+ODvOODieaJgOaMgeiAheS9j+aJgCIsd2VjaGF0X25pY2tuYW1lOiJTV0lGVOOCs+ODvOODiSIsYWxsTmVlZDoi44GZ44G544Gm5b+F6aCIIixwaG9uZU51bWJlcjoi5pC65biv55Wq5Y+3Iixjb2RlOiLmpJzoqLzjgrPjg7zjg4kiLHNlbmRDb2RlOiLoqo3oqLzjgrPjg7zjg4njga7pgIHkv6EiLHBsc0lwdENvZGU6IuiqjeiovOOCs+ODvOODieOCkuWFpeWKm+OBl+OBpuOBj+OBoOOBleOBhCIsc2NvcmU6IlNjb3JlIn0sdHJhbnNhY3Rpb246KGk9e2FjdHVhbFBMOiJBY3R1YWwgUEwiLGZhdm9yaXRlczoi44GY44GT44Gb44KT44Gf44GPIixmdXR1cmVzOiLlpZHntITmm7giLGNvaW5zOiLosqjluaMiLHN0b2NrOiLmoKrlvI8iLHRyYWRpbmdQYWlyOiLjg4jjg6njg7Pjgrbjgq/jgrfjg6fjg7Pjg5rjgqIiLGxhc3RQcmljZToi5pyA5paw5L6h5qC8Iix0b2RheUNoYW5nZToi44GN44KH44GG44Gv5LiL44GS5bmF44GM5LiK44GM44KLIixzZWFyY2hQbGFjZWhvbGRlcjoi6Zai5b+D44Gu44GC44KL6YCa6LKoL+agquWQjS/jgrPjg7zjg4njga7mpJzntKIiLGhvdFNlYXJjaDoi5Lq65rCX5qSc57SiIixyZWNlbnRWaWV3OiLmnIDov5Hjga7ooajnpLoiLGRheUhpZ2g6IuS7iuaXpeOBr+mrmOOBhOOBp+OBmeOAgiIsZGF5TG93OiLku4rml6Xjga/kvY7jgYQiLG9wdGlvbmFsOiLjgZjjgZPjgZvjgpPjgZ/jgY8iLGJ1eToi6LK344GE5YWl44KM44KLIixzZWxsOiLlo7Ljgorjgavlh7rjgZkiLGVudHJ1c3RQZW5kaW5nT3JkZXI6IuWnlOiol+abuOeVmSIsYWRkT3B0aW9uYWxTdWNjZXNzOiLoh6rlt7Hpgbjmip7jga7ov73liqDjgavmiJDlip/jgZfjgb7jgZfjgZ8iLGRlbE9wdGlvbmFsU3VjY2Vzczoi6YG45oqe6aCF55uu44Gu5YmK6Zmk44Gr5oiQ5Yqf44GX44G+44GX44GfIixzZWNvbmRzOiLjgqrjg5fjgrfjg6fjg7MiLGhvbWU6IuODiOODg+ODl+ODmuODvOOCuCIsb3JkZXJDb25maXJtOiLjgqrjg7zjg4Djg7zjga7norroqo0iLGN1cnJlbnRQcmljZToi54++5Zyo44Gu5L6h5qC8IixkaXJlY3Rpb246IuaWueWQkSIsc2VsZWN0VGltZToi5pyJ5Yq55pyf6ZmQ44Gu6YG45oqeIixudW1iZXI6IuaVsOmHjyIsYmFsYW5jZToi5Y+j5bqn5q6L6auYIixwbHNJcHRDcnROdW1iZXI6Iuato+OBl+OBhOaVsOmHj+OCkuWFpeWKm+OBl+OBpuOBj+OBoOOBleOBhCIsYnV5UHJpY2U6IuizvOWFpeS+oeagvCIsZXhwZWN0ZWRQTDoi5pCN55uK5LqI5oOzIixjb250aW51ZVRyYWRlOiLlj5blvJXjgpLntprjgZHjgosiLHNlY29uZHNQb3NpdGlvbjoi44Kq44OX44K344On44Oz5YCJ5bqrIixwb3NpdGlvbjoi44KC44Gh44GT44Gf44GI44KLIixoaXN0b3J5OiLmrbTlj7IiLG9yZGVyVGltZXM6IuOCquODvOODgOODvOaZgumWkyIscGw6IuaQjeebiiIsc2VsbFRpbWU6IuWjsuOCiuaZgumWkyIsYnV5dGltZToi5pmC6ZaT44KS6LO85YWl44GX44G+44GZIixlbmRQcmljZToi5Y+W5byV5L6h5qC8In0sKDAsdS5kZWZhdWx0KShpLCJidXkiLCLosrfjgYTlhaXjgozjgosiKSwoMCx1LmRlZmF1bHQpKGksInNlbGwiLCLlo7Ljgorjgavlh7rjgZkiKSwoMCx1LmRlZmF1bHQpKGksInByaWNlIiwi5L6h5qC8IiksKDAsdS5kZWZhdWx0KShpLCJ0aW1lIiwi5pmC6ZaTIiksKDAsdS5kZWZhdWx0KShpLCJvcHRpb25hbCIsIuOBmOOBk+OBm+OCk+OBn+OBjyIpLCgwLHUuZGVmYXVsdCkoaSwiYnV5Iiwi6LK344GE5YWl44KM44KLIiksKDAsdS5kZWZhdWx0KShpLCJzZWxsIiwi5aOy44KK44Gr5Ye644GZIiksKDAsdS5kZWZhdWx0KShpLCJsb25nIiwi44Gf44GP44GV44KT5L2c44KLIiksKDAsdS5kZWZhdWx0KShpLCJzaG9ydCIsIuaah+OCkuS9nOOCiyIpLCgwLHUuZGVmYXVsdCkoaSwiZW50cnVzdFBlbmRpbmdPcmRlciIsIuWnlOiol+abuOeVmSIpLCgwLHUuZGVmYXVsdCkoaSwiYWRkT3B0aW9uYWxTdWNjZXNzIiwi6Ieq5bex6YG45oqe44Gu6L+95Yqg44Gr5oiQ5Yqf44GX44G+44GX44GfIiksKDAsdS5kZWZhdWx0KShpLCJkZWxPcHRpb25hbFN1Y2Nlc3MiLCLpgbjmip7poIXnm67jga7liYrpmaTjgavmiJDlip/jgZfjgb7jgZfjgZ8iKSwoMCx1LmRlZmF1bHQpKGksInByaWNlIiwi5L6h5qC8IiksKDAsdS5kZWZhdWx0KShpLCJhbW91bnQiLCLmlbDph48iKSwoMCx1LmRlZmF1bHQpKGksIm1hcmtldFByaWNlIiwi5biC5L6hIiksKDAsdS5kZWZhdWx0KShpLCJsaW1pdFByaWNlIiwi5YCk5q6144KS6ZmQ44KLIiksKDAsdS5kZWZhdWx0KShpLCJudW1iZXIiLCLjg4jjg6zjg7zjg4Djg7zmlbAiKSwoMCx1LmRlZmF1bHQpKGksIm1hcmdpbiIsIuS/neiovOmHkSIpLCgwLHUuZGVmYXVsdCkoaSwiaGFuZGxpbmdGZWUiLCLmiYvmlbDmlpkiKSwoMCx1LmRlZmF1bHQpKGksImJhbGFuY2UiLCLmrovpq5giKSwoMCx1LmRlZmF1bHQpKGksIm11bHRpcGxlIiwi44OE44O844Or44OQ44O844GuIiksKDAsdS5kZWZhdWx0KShpLCJyZWNoYXJnZSIsIuODgeODo+ODvOOCuCIpLCgwLHUuZGVmYXVsdCkoaSwicGxzSXB0Q29tbWlzc2lvblByaWNlIiwi5aeU6KiX5L6h5qC844KS5YWl5Yqb44GX44Gm44GP44Gg44GV44GEIiksKDAsdS5kZWZhdWx0KShpLCJ0cmFkaW5nUGFpciIsIuODiOODqeODs+OCtuOCr+OCt+ODp+ODs+ODmuOCoiIpLCgwLHUuZGVmYXVsdCkoaSwiZGlyZWN0aW9uIiwi5pa55ZCRIiksKDAsdS5kZWZhdWx0KShpLCJwbHNJcHRDcnRQcmljZSIsIuato+OBl+OBhOS+oeagvOOCkuWFpeWKm+OBl+OBpuOBj+OBoOOBleOBhCIpLCgwLHUuZGVmYXVsdCkoaSwicG9zaXRpb24iLCLlgInluqvjgpLmjIHjgaQiKSwoMCx1LmRlZmF1bHQpKGksInRpbWUiLCLmmYLplpMiKSwoMCx1LmRlZmF1bHQpKGksInR1cm5vdmVyIiwi5Y+W5byV6aGNIiksKDAsdS5kZWZhdWx0KShpLCJvcGVyYXRpb24iLCLmk43kvZwiKSwoMCx1LmRlZmF1bHQpKGksInR5cGUiLCLjgpLpgbjmip7jgZfjgb7jgZnjgIIiKSwoMCx1LmRlZmF1bHQpKGksImNvdmVyIiwi5bmz5YCJIiksKDAsdS5kZWZhdWx0KShpLCJjb25maXJtQ292ZXIiLCLlubPlgInjgpLnorroqo3jgZfjgb7jgZnjgYs/IiksKDAsdS5kZWZhdWx0KShpLCJjb25maXJtU2VsZkhvbGQiLCLmnKzlvZPjgavoh6rmjIHjgZfjgb7jgZnjgYs/IiksKDAsdS5kZWZhdWx0KShpLCJzZWxmSG9sZGluZyIsIuiHqualreiHquW+lyIpLCgwLHUuZGVmYXVsdCkoaSwidHJhbnNTZWxmSG9sZCIsIuOBmOOChuOBhuOCkuWbnuOBmSIpLCgwLHUuZGVmYXVsdCkoaSwiZGVsZWdhdGVMaXN0Iiwi5aeU5Lu744Oq44K544OIIiksKDAsdS5kZWZhdWx0KShpLCJyaXNrUmF0ZSIsIuODquOCueOCr+eOhyIpLCgwLHUuZGVmYXVsdCkoaSwidG90YWxQYW5kTCIsIuaMgeWAiee3j+WPjuebiiIpLCgwLHUuZGVmYXVsdCkoaSwib25lQ2xpY2tDb3ZlciIsIuODr+ODs+OCv+ODg+ODgeW5s+WAiSIpLCgwLHUuZGVmYXVsdCkoaSwib3BlbiIsIuWAieW6q+S+oeagvCIpLCgwLHUuZGVmYXVsdCkoaSwidGFyZ2V0UHJvZml0UHJpY2UiLCLjgZvjgYTjgZjjgofjgYbjgYsiKSwoMCx1LmRlZmF1bHQpKGksInVwZGF0ZVByaWNlIiwi54++5Zyo44Gu5L6h5qC8IiksKDAsdS5kZWZhdWx0KShpLCJzdG9wTG9zc1ByaWNlIiwi44Gm44GE44GX44Gd44KT44GLIiksKDAsdS5kZWZhdWx0KShpLCJvdmVybmlnaHRNb25leSIsIumalOWknOaWmSIpLCgwLHUuZGVmYXVsdCkoaSwib3BlblRpbWUiLCLplovlgInmmYLplpMiKSwoMCx1LmRlZmF1bHQpKGksImxvdHMiLCLmiYsiKSwoMCx1LmRlZmF1bHQpKGksInNldFByb2ZpdExvc3MiLCLjgrvjg4Pjg4jjgrnjg4jjg4Pjg5fjg63jgrkiKSwoMCx1LmRlZmF1bHQpKGksImV4cGVjdGVkUHJvZml0Iiwi5LqI5oOz5Y+O55uKIiksKDAsdS5kZWZhdWx0KShpLCJleHBlY3RlZExvc3MiLCLkuojmg7PmkI3lpLEiKSwoMCx1LmRlZmF1bHQpKGksImNvdmVyQWxsIiwi44GZ44G544Gm5bmz5YCJIiksKDAsdS5kZWZhdWx0KShpLCJvbmx5Q292ZXJNYW55Iiwi5bmz5aSa5Y2Y44Gu44G/IiksKDAsdS5kZWZhdWx0KShpLCJvbmx5Q292ZXJFbXB0eSIsIuW5s+epuuWNmOOBruOBvyIpLCgwLHUuZGVmYXVsdCkoaSwibnVtYmVycyIsIuaVsOmHjyIpLCgwLHUuZGVmYXVsdCkoaSwiY29pbkJ1eVByaWNlIiwi54++5Zyo44Gu5pyA6YGp5L6h5qC844Gn5Y+W5byV44GZ44KLIiksKDAsdS5kZWZhdWx0KShpLCJqaW5lIiwi6YeR6aGNIiksKDAsdS5kZWZhdWx0KShpLCJwX2ppbmUiLCLph5HpoY3jgpLlhaXlipvjgZfjgabjgY/jgaDjgZXjgYQiKSwoMCx1LmRlZmF1bHQpKGksInBfcHJpY2UiLCLkvqHmoLzjgpLlhaXlipvjgZfjgabjgY/jgaDjgZXjgYQiKSwoMCx1LmRlZmF1bHQpKGksInBfY29uZmlybV9zaiIsIuW4guS+oeOBp+eiuuWumuOBmeOCiyIpLCgwLHUuZGVmYXVsdCkoaSwicF9jb25maXJtX3hqXzEiLCLnj77kvqHjgafnorrlrprjgZnjgosiKSwoMCx1LmRlZmF1bHQpKGksInBfY29uZmlybV9tYSIsIuOBneOBhuOBp+OBmeOBi+OAgiIpLCgwLHUuZGVmYXVsdCkoaSwic3RhdHVzIiwi4omq44K544OG44O844K/44K5772cU3RhdHVz772cZW1kd+KJqyIpLCgwLHUuZGVmYXVsdCkoaSwiY29tcGxldGUiLCLlrozkuoYiKSwoMCx1LmRlZmF1bHQpKGksImRvaW5nIiwi6YCy6KGM5LitIiksKDAsdS5kZWZhdWx0KShpLCJjdXJyZW50RW50cnVzdCIsIuePvuWcqOOBruWnlOS7uyIpLCgwLHUuZGVmYXVsdCkoaSwiYWxsRW50cnVzdCIsIuOBmeOBueOBpuWnlOS7uyIpLCgwLHUuZGVmYXVsdCkoaSwiZW50cnVzdCIsIuS+nemgvCIpLCgwLHUuZGVmYXVsdCkoaSwiZW50cnVzdFRpbWUiLCLlp5Tku7vmmYLplpMiKSwoMCx1LmRlZmF1bHQpKGksImFsbCIsIuOBmeOBueOBpiIpLCgwLHUuZGVmYXVsdCkoaSwiYnV5VXAiLCLjgZ/jgY/jgZXjgpPosrfjgYYiKSwoMCx1LmRlZmF1bHQpKGksImJ1eURvd24iLCLosrfjgYTjgYzlsJHjgarjgYQiKSwoMCx1LmRlZmF1bHQpKGksImp5ZSIsIuWPluW8lemHkemhjSIpLGkpLGZ1bmQ6KHM9e292ZXJ2aWV3OiLnt4/opqciLGJhbGFuY2U6Iuaui+mrmCIsZnV0dXJlczoi5aWR57SE5pu4IixkZXBvc2l0OiLpoJDph5EiLG1pbmluZzoi44Oe44Kk44OL44Oz44KwIixzdG9jazoi5qCq5byPIixtYXJnaW46IuOCueODvOODkeODvOODrOODkOODvCIseWVzdGVyZGF5RWFybmluZ3M6IuaYqOaXpeOBruWPjuebiiIseWllbGRBdE1hdHVyaWx5OiLmuoDmnJ/lj47nm4oiLHRvdGFsa1JldmVudWU6Iue3j+WPjuebiiIsY3VycmVudFByb2ZpdDoi54++5Zyo44Gu5pCN55uKIixwcm9maXRSYXRpbzoi5pCN55uK546HIixyZWNlaXZlOiLjg4Hjg6Pjg7zjgrgv5YWl6YeRIix0cmFuc2Zlcjoi54++6YeR5byV44GN5Ye644GXL+aMr+i+vCIsZmluYW5jaWFsOiLph5Hono3osqHjg4bjgq8iLHZhbHVhdGlvbjoi6KmV5L6hIixjdXJyZW50RWFybmluZ3M6IuePvuWcqOOBruWPjuebiiIseWVzdGVyZGF5SW5jb21lOiLmmKjml6Xjga7lj47nm4oiLGNyeXB0bzoi5pWw5YCk6YCa6LKoIixmaWF0OiLjg5Xjg6njg7PjgrnpgJrosqgiLGhpZGVTbWFsbEN1cnJlbmN5OiLlsI/lj6PpgJrosqjjga7pnZ7ooajnpLoiLGF2YWlsYWJsZToi5L2/55So5Y+v6IO9IixmcmVlemU6IuODleODquODvOOCuiIsZXF1aXZhbGVudDoi5oqY44KK44Gf44Gf44G/Iix1c2R0bToiVeacrOS9jSIsY29pbm06IuiyqOW5o+acrOS9jSIsZXhjaGFuZ2U6IuiyqOW5oyIsbGV2ZXJhZ2U6IuWlkee0hOabuCJ9LCgwLHUuZGVmYXVsdCkocywiZmlhdCIsIuODleODqeODs+OCuemAmuiyqCIpLCgwLHUuZGVmYXVsdCkocywic2Vjb25kIiwi44Kq44OX44K344On44OzIiksKDAsdS5kZWZhdWx0KShzLCJjb252ZXJ0Iiwi57eP6LOH55Sj5o+b566XIiksKDAsdS5kZWZhdWx0KShzLCJjb252ZXJ0MiIsIuizh+eUo+aPm+eulyIpLCgwLHUuZGVmYXVsdCkocywicmVjb3JkIiwi44Gh44KH44GG44G444KT44GN44KN44GPIiksKDAsdS5kZWZhdWx0KShzLCJhdmFpbGFibGVRdW90YSIsIuS9v+eUqOWPr+iDvemhjSIpLCgwLHUuZGVmYXVsdCkocywibG9ja2VkIiwi44Ot44OD44KvIiksKDAsdS5kZWZhdWx0KShzLCJjb252ZXJ0ZWQiLCLmipjjgorjgZ/jgZ/jgb8iKSwoMCx1LmRlZmF1bHQpKHMsImFjY291bnQiLCLjgqLjgqvjgqbjg7Pjg4giKSwoMCx1LmRlZmF1bHQpKHMsImZpbmFuY2lhbFJlY29yZHMiLCLosqHli5noqJjpjLIiKSwoMCx1LmRlZmF1bHQpKHMsIm51bWJlciIsIuaVsOmHjyIpLCgwLHUuZGVmYXVsdCkocywicmVjb3JkMiIsIuOBjeOCjeOBjyIpLCgwLHUuZGVmYXVsdCkocywidGltZSIsIuaZgumWkyIpLCgwLHUuZGVmYXVsdCkocywidHJhbnNmZXIiLCLjgrPjgqTjg7PmjK/jgormm7/jgYgiKSwoMCx1LmRlZmF1bHQpKHMsImZyb20iLCLjgYvjgokiKSwoMCx1LmRlZmF1bHQpKHMsInRvIiwi5a++6LGhIiksKDAsdS5kZWZhdWx0KShzLCJ0cmFuc2Zlck51bWJlciIsIuWbnui7ouaVsCIpLCgwLHUuZGVmYXVsdCkocywieW91R2V0Iiwi5ZCb44Gv5omL44Gr5YWl44KM44KLIiksKDAsdS5kZWZhdWx0KShzLCJleGNoYW5nZVJhdGUiLCLngrrmm7/jg6zjg7zjg4giKSwoMCx1LmRlZmF1bHQpKHMsImhhbmRsaW5nRmVlIiwi5omL5pWw5paZIiksKDAsdS5kZWZhdWx0KShzLCJmdW5kVHJhbnNmZXIiLCLos4fph5Hjga7mjK/jgormm7/jgYgiKSwoMCx1LmRlZmF1bHQpKHMsImluc3VmZmljaWVudEJhbGFuY2UiLCLmrovpq5jkuI3otrMiKSwoMCx1LmRlZmF1bHQpKHMsIm5lZWRIYW5kbGluZ0ZlZSIsIuaJi+aVsOaWmeOBjOOBi+OBi+OCiyIpLCgwLHUuZGVmYXVsdCkocywicGxzSXB0Q3J0TnVtYmVyIiwi5q2j44GX44GE5pWw6YeP44KS5YWl5Yqb44GX44Gm44GP44Gg44GV44GEIiksKDAsdS5kZWZhdWx0KShzLCJjX3RyYW5zZmVyIiwi5pys5b2T44Gr5Zue6Lui44GX44G+44GZ44GLPyIpLCgwLHUuZGVmYXVsdCkocywic2VsZWN0Q3VycmVuY3kiLCLpgJrosqjjga7pgbjmip4iKSwoMCx1LmRlZmF1bHQpKHMsIkRJR0lDQ1kiLCLmlbDlgKTpgJrosqgiKSwoMCx1LmRlZmF1bHQpKHMsInNhdmVRcmNvZGUiLCJRUuOCs+ODvOODieOBruS/neWtmCIpLCgwLHUuZGVmYXVsdCkocywiY29weUFkZHJlc3MiLCLjg6rjg7Pjgq/jgqLjg4njg6zjgrnjga7jgrPjg5Tjg7wiKSwoMCx1LmRlZmF1bHQpKHMsInBsc1RyYW5zIiwi44GT44Gu5L2P5omA44Gr5oyv44KK5pu/44GI44Gm44GP44Gg44GV44GEIiksKDAsdS5kZWZhdWx0KShzLCJyZWNoYXJnZU51bWVyIiwi44OB44Oj44O844K45pWw6YePIiksKDAsdS5kZWZhdWx0KShzLCJwYXltZW50Vm91Y2hlciIsIuaUr+aJleiovOaGkSIpLCgwLHUuZGVmYXVsdCkocywicGxzSXB0UmVjaGFyZ2VOdW1lciIsIuODgeODo+ODvOOCuOaVsOmHj+OCkuWFpeWKm+OBl+OBpuOBj+OBoOOBleOBhCIpLCgwLHUuZGVmYXVsdCkocywicGxzVXBsb2FkUGF5bWVudFZvdWNoZXIiLCLmlK/miZXkvJ3npajjgpLjgqLjg4Pjg5fjg63jg7zjg4njgZfjgabjgY/jgaDjgZXjgYQiKSwoMCx1LmRlZmF1bHQpKHMsInBsc0lwdENydEFtb3VudCIsIuato+OBl+OBhOmHkemhjeOCkuWFpeWKm+OBl+OBpuOBj+OBoOOBleOBhCIpLCgwLHUuZGVmYXVsdCkocywid2l0aGRyYXciLCLnj77ph5HlvJXjgY3lh7rjgZcv5oyv6L68IiksKDAsdS5kZWZhdWx0KShzLCJjdXJyZW5jeU5hbWUiLCLpgJrosqjlkI0iKSwoMCx1LmRlZmF1bHQpKHMsInRyYW5zYWN0aW9uSW5mbyIsIuWPluW8leWPo+W6pyIpLCgwLHUuZGVmYXVsdCkocywid2l0aGRyYXcyIiwi54++6YeR44KS5byV44GN5Ye644GZIiksKDAsdS5kZWZhdWx0KShzLCJjYW5Vc2UiLCLkvb/nlKjlj6/og70iKSwoMCx1LmRlZmF1bHQpKHMsImFsbCIsIuOBmeOBueOBpiIpLCgwLHUuZGVmYXVsdCkocywicGxzSXB0V2l0aGRyYXdOdW1iZXIiLCLlvJXjgY3lh7rjgZfmlbDph4/jgpLlhaXlipvjgZfjgabjgY/jgaDjgZXjgYQiKSwoMCx1LmRlZmF1bHQpKHMsIndpdGhkcmF3TnVtYmVyIiwi54++6YeR5byV44GN5Ye644GX5pWw6YePIiksKDAsdS5kZWZhdWx0KShzLCJyZW1hcmsiLCLjgrPjg6Hjg7Pjg4giKSwoMCx1LmRlZmF1bHQpKHMsImhhbmRsaW5nRmVlIiwi5omL5pWw5paZIiksKDAsdS5kZWZhdWx0KShzLCJjYW5HZXROdW1iZXIiLCLlhaXph5HmlbDph48iKSwoMCx1LmRlZmF1bHQpKHMsImxlYXN0TnVtYmVyIiwi5pyA5L2O5byV5b2T5pWw6YePIiksKDAsdS5kZWZhdWx0KShzLCJjb2luVHlwZSIsIumAmuiyqCIpLCgwLHUuZGVmYXVsdCkocywiYWRkcmVzcyIsIuOCouODieODrOOCuSIpLCgwLHUuZGVmYXVsdCkocywiZGF0ZSIsIuaXpeS7mCIpLCgwLHUuZGVmYXVsdCkocywid2l0aGRyYXdBZGRyZXNzIiwi44Kz44Kk44Oz44O744Ki44OJ44Os44K5IiksKDAsdS5kZWZhdWx0KShzLCJwbHNTZWxlY3RXaXRoZHJhd0FkZHJlc3MiLCLjgrPjgqTjg7PjgqLjg4njg6zjgrnjgpLpgbjmip7jgZfjgabjgY/jgaDjgZXjgYQiKSwoMCx1LmRlZmF1bHQpKHMsIndpdGhkcmF3VG9DYXJkIiwi6YqA6KGM44Kr44O844OJ44Go44GE44GI44GwIiksKDAsdS5kZWZhdWx0KShzLCJ3aXRoZHJhd1RvQ2FyZEludGVybmF0aW9uYWwiLCJJbnRlcm5hdGlvbmFsIiksKDAsdS5kZWZhdWx0KShzLCJ3aXRoZHJhd1RvQWRkcmVzcyIsIuiyoeW4g+OBruS9j+aJgOOBq+iogOWPiuOBmeOCiyIpLCgwLHUuZGVmYXVsdCkocywiY2FyZCIsIumKgOihjOOCq+ODvOODiSIpLCgwLHUuZGVmYXVsdCkocywiYWRkQ2FyZCIsIumKgOihjOOCq+ODvOODieOBrui/veWKoCIpLCgwLHUuZGVmYXVsdCkocywicGxzQWRkQ2FyZCIsIumKgOihjOOCq+ODvOODieOCkui/veWKoOOBl+OBpuOBj+OBoOOBleOBhCIpLCgwLHUuZGVmYXVsdCkocywiY3pTdGF0ZUxvYWRpbmciLCLjg6zjg5Pjg6Xjg7zkuK0iKSwoMCx1LmRlZmF1bHQpKHMsImN6U3RhdGVPayIsIuaIkOWKn+OBl+OBn+ODrOODk+ODpeODvCIpLCgwLHUuZGVmYXVsdCkocywiY3pTdGF0ZU5vIiwi55uj5p+75aSx5pWXIikscyksaWVvOntzdWJzY3JpYmU6IuizvOWFpeOBmeOCiyIsaW5nOiLpgLLooYzkuK0iLGRvbmU6Iue1guS6hiIsYXBwbHlTdWJzY3JpcHRpb246IuWPl+azqOeUs+iriyIscmVtYWluaW5nOiLmrovjgooiLGxvY2tQZXJpb2Q6IuODreODg+OCr+OCteOCpOOCr+ODqyIsZW5kVGltZToi57WC5LqG5pmC6ZaTIixzdWJzY3JpYmVDdXJyZW5jeToi6LO85YWl6YCa6LKoIixpc3N1YW5jZVByaWNlOiLnmbrooYzkvqHmoLwiLHRvdGFsSXNzdWFuY2U6IueZuuihjOWQiOioiCIsd2hpdGVQYXBlcjoi55m95pu4IixzdWJzY3JpcHRpb25DeWNsZToi6LO86LK344K144Kk44Kv44OrIix3YXJtVXA6IuOCiOOBreOBpCIsd2Vic2l0ZToi5YWs5byP44K144Kk44OIIixmaW5pc2g6IuOBruacgOW+jOOBrumDqOWIhiIscHJvamVjdERldGFpbHM6IuODl+ODreOCuOOCp+OCr+ODiOOBruips+e0sCIsc3Vic2NyaXB0aW9uQ29uZmlybWF0aW9uOiLos7zlhaXnorroqo0iLHBfYXBwbGljYXRpb25zTnVtYmVyOiLlj5fms6jmlbDph4/jga7lhaXlipsiLG5lZWRUb1BheToi5pSv5omV44GE44GM5b+F6KaB44Gn44GZIixjdXJyZW50QmFsYW5jZToi54++5Zyo44Gu5q6L6auYIixzdWJzY3JpcHRpb25UaW1lOiLos7zosrfkvp3poLzmmYLplpMiLGN1cnJlbmN5OiLpgJrosqgiLGFwcGxpY2F0aW9uc051bWJlcjoi6LO86LK35L6d6aC85pWw6YePIixwYXNzZXNOdW1iZXI6IumAmumBjuaVsCIsdGltZVRvTWFya2V0OiLnmbrlo7LmmYLplpMiLGRheToi44GC44GCIix0b3RhbDoi5ZCI6KiIIixzdWJzY3JpYmVkOiLos7zlhaXmuIjjgb8iLHNoZW5nb3U6IueUs+OBl+i+vOOBvyIsaW5zdWZmaWNpZW50QmFsYW5jZToi5q6L6auY5LiN6LazIixwX251bWJlcjoi5pWw6YeP44KS5YWl5Yqb44GX44Gm44GP44Gg44GV44GEIixteVN1YnNjcmliZToi56eB44Gu5rOo5paHIn0sbG9ja21pbmc6e2xvY2ttaW5nOiLoqpPntIQiLGZ1bmRzVW5kZXJDdXN0b2R5OiLpoJDoqJfkuK3jga7os4fph5EiLGVudHJ1c3RlZE9yZGVyczoi5aeU6KiX44Kq44O844OA44O8Iixlc3RpbWF0ZWRUb2RheUluY29tZToi5b2T5pel44Gu6L+U5Y205LqI5a6a6aGNIixjdW11bGF0aXZlSW5jb21lOiLntK/oqIjlj47nm4oiLG9yZGVyc0luQ3VzdG9keToi566h55CG5Lit44Gu44Kq44O844OA44O8Iixsb2NrZWRQb3NpdGlvbnNUb0Vhcm5Db2luczoi44Oe44Kk44OL44Oz44KwIixsb2NrZWRQb3NpdGlvbnM6IuODreODg+OCr+ODnOODg+OCr+OCuSIsbWluaW11bVNpbmdsZVRyYW5zYWN0aW9uOiLjgrfjg7PjgrDjg6vjg5rjg7PjgYzmnIDlsI8iLGRhaWx5WWllbGQ6IuaXpeWPjuebiueOhyIsbG9ja1VwUGVyaW9kOiLjg63jg4Pjgq/jgrXjgqTjgq/jg6siLGFjcXVpc2l0aW9uOiLlj5blvpciLHJlY2VudERheXM6Iui/keaXpSIsZGl2aWRlbmRUaW1lOiLkvJHjgb/mmYLplpMiLGVzY3Jvd0Z1bmRzOiLnrqHnkIbos4fph5EiLHJlZGVtcHRpb25JbkFkdmFuY2U6Iue5sOOCiuS4iuOBkuOBpuiyt+OBhOaIu+OBmSIsZXN0aW1hdGVkSW5jb21lOiLkuojmg7Plj47nm4oiLGF2YWlsYWJsZUFzc2V0czoi5L2/55So5Y+v6IO944Gq6LOH55SjIixpbnZlc3RtZW50QW1vdW50T2J0YWluZWQ6IuaKleizh+mHkemhjeeNsuW+lyIsYWxsOiLjgZnjgbnjgaYiLGxfYWxlcnRfMToi6Ymx5qWt44GM44Gy44Gj44GN44KK44Gq44GX44Gr6YCy44KAIixsX2FsZXJ0XzI6IuODreODg+OCr+WAieW6q+aOmOWJiuOBr3VzZHTjgpLjg5fjg6njg4Pjg4jjg5Xjgqnjg7zjg6DotoXnrpflipvpibHmqZ/jgavoqJfnrqHjgZnjgovjgZPjgajjgavjgojjgaPjgabjg5fjg6njg4Pjg4jjg5Xjgqnjg7zjg6DpibHmsaDjgafmjpjliYrlj47nm4rjgpLooYzjgYbjgIIiLGZlYXR1cmVzOiLoo73lk4Hjga7jg4/jgqTjg6njgqTjg4giLG9uRGVtYW5kOiLpmo/lrZjpmo/lj5YiLGRpdmlkZW5kUGVyaW9kOiLphY3lvZPmnJ/plpMiLGlzc3VlZERhaWx5OiLmr47ml6UiLGN1cnJlbnRJbnRlcmVzdDoi5pmu6YCa5Yip5a2QIixmZWF0dXJlXzE6IjEwMCXos4fph5Hlronlhag8YnI+5L+d6ZqcIixmZWF0dXJlXzI6IuS8keaXpeWPjuebijxicj7jga/nsKHmvZTjgafjga/jgarjgYQiLGZlYXR1cmVfMzoi6aCQ44GR5YWl44KM44Gr5oiQ5Yqf44GX44Gf5b6MPGJyPuW9k+aXpeOBi+OCiemHkeWIqeOCkuS4iuOBkuOCiyIsZm9ySW5zdGFuY2U6IuS+i+OCkuaMmeOBkuOCiyIsaW5jb21lQ2FsY3VsYXRpb246IuWPjuebiuioiOeulyIsZm9ySW5zdGFuY2VEZXNjOiLjg6Hjg7Pjg5Djg7zjgYzjg5fjg6njg4Pjg4jjg5Xjgqnjg7zjg6DkuIrjgacgMTAwMDBVIOOCkuODl+ODrOODg+OCuOOBl+OAgTEg5pel44K144Kk44Kv44Or44GMIDcg5pel44Gn44CB44OX44Os44OD44K46aGN44GuIDAuMjUlIOOBruavjuaXpeOBruOCouOCpuODiOODl+ODg+ODiOOCkumBuOaKnuOBl+OBn+WgtOWQiOOAgTEg5pel44Gu44Ki44Km44OI44OX44OD44OI44Gv5qyh44Gu44KI44GG44Gr44Gq44KK44G+44GZ44CCPGJyLz4gMTAwMDAgKiAwLjI1JSA9IDI1IFVTRFQgPGJyLz4gNyDml6XlvowgMjUgKiA3ID0gMTc1IFVTRFQg44Gu5Y+O5YWl44KS5b6X44KL44GT44Go44GM44Gn44GN44G+44GZLuWPjuWFpeOBr+avjuaXpeeZuuihjOOBleOCjOOAgeeZuuihjOOBleOCjOOBn+WPjuWFpeOBr+OBhOOBpOOBp+OCguWFpemHkeOBiuOCiOOBs+W8leOBjeWHuuOBl+OBp+OBjeOBvuOBmS7os6rmqKnjga7lhYPmnKzjgYzmnJ/pmZDliIfjgozjgavjgarjgovjgajjgIHoh6rli5XnmoTjgavjgYLjgarjgZ/jga7lj6PluqfjgavpgIHph5HjgZXjgozjgb7jgZku6LOH5pys5YuY5a6a44CCIixhYm91dExpcXVpZGF0ZWREYW1hZ2VzOiLntITlrprmkI3lrrPph5HjgavjgaTjgYTjgaYiLGFib3V0TGlxdWlkYXRlZERhbWFnZXNDb250ZW50OiLmnJ/pmZDjgYzliIfjgozjgabjgYTjgarjgYTlhYPmnKzjgpLpgIHph5HjgZnjgovloLTlkIjjga/jgIEyNSUg44Gu44Oa44OK44Or44OG44Kj44GM6Kqy44Gb44KJ44KM44G+44GZICjkvos6IDxici8+IDEwMDAwKjI1JT0yNTAwVTsg5YSf6YKE6LOH6YeR44GvIDEwMDAwLTI1MDA9NzUwMFUg44Gr44Gq44KK44G+44GZKeOAgiIsam9pbk5vdzoi56eB44Gv5Y+C5Yqg44GX44G+44GZ44CCIixkYXk6IuOBguOBgiIsZGFpbHk6IuavjuaXpSIscmV0dXJuT25FeHBpcmF0aW9uOiLmnJ/pmZDliIfjgozjg6rjgr/jg7zjg7MiLGdldDoi5Y+W5b6XIixudW1iZXJPZkNvaW5zRGVwb3NpdGVkOiLjgrPjgqTjg7Pkv53nrqHmlbDph48iLHN1YnNjcmliZToi6LO85YWl44GZ44KLIixpbnN1ZmZpY2llbnRCYWxhbmNlOiLmrovpq5jkuI3otrMiLHBfbnVtYmVyOiLmlbDph4/jgpLlhaXlipvjgZfjgabjgY/jgaDjgZXjgYQiLGxlYXN0U2luZ2xlOiLjgrfjg7PjgrDjg6vjg5rjg7PjgYzmnIDlsI8iLGxvY2tlZFBvc2l0aW9uTGlzdDoi44Ot44OD44Kv44Oq44K544OIIixpblByb2dyZXNzOiLpgLLooYzkuK0iLHJlZGVlbWVkOiLlhJ/pgoTmuIjjgb8iLGV4cGlyeVRpbWU6IuacieWKueacn+mZkCIsbG9ja1VwVGltZToi44Ot44OD44Kv44K/44Kk44OgIixzdGFydFRpbWU6IumWi+Wni+aZgumWkyIsZWFybHlSZWRlbXB0aW9uUGVuYWx0eToi6YGV57SE6YeR44KS57mw44KK5LiK44GS44KLIixyZWRlbXB0aW9uOiLouqvku6Pph5HjgpLmiZXjgYYiLGNfcmVkZW1wdGlvbjoi5pys5b2T44Gr5LqL5YmN44Gr6Lqr5Luj6YeR44KS5omV44GG44Gu44Gn44GZ44GLPyJ9LGludmVzdDp7aW52ZXN0OiLosqHjg4bjgq8iLHNlY3Rpb246IuOCqOODquOCoiIscGVyUHJpY2U6IuWNmOWTgeS+oeagvCIsYXByOiLlubTljJblj47nm4rnjociLGxpbmtlZFJlZmVyZW5jZVByaWNlOiLjg5Xjg4Pjgq/ln7rmupbkvqHmoLwiLGhvbGRpbmdEYXlzOiLlgInluqvkv53mnInmnJ/plpMiLG1hdHVyaXR5RGF0ZToi5pyf5pelIixyZW1haW5pbmdTaGFyZXM6Iuaui+OCiuOBruOCt+OCp+OCoiIscHJvZ3Jlc3M6IuePvuWcqOOBrumAsuihjOeKtuazgSIsYWN0aW9uOiLmk43kvZwiLHB1cmNoYXNlOiLos7zlhaUiLG15UG9zaXRpb246IuengeOBruiyoeODhuOCryIsYnV5U2hhcmVzOiLos7zlhaXjgrfjgqfjgqIiLGVzdGltYXRlZEluY29tZToi5LqI5oOz5Y+O55uKIixkYXk6IuOBguOBgiIsc2hhcmU6IuWIhiIsZmFpbDoi5aSx5pWXIixwdXJjaGFzZWQ6IuizvOWFpea4iOOBvyIsc2V0dGxlbWVudGluZzoi5rG6566X5LitIixzdWNjZXNzOiLlrozkuoYiLGFsbDoi44GZ44G544GmIixuYW1lOiLlkI3liY0iLHJlbWFpbjoi5q6L44KKIixpbnN0cnVjdGlvbjoi6KO95ZOB44Gu6Kqs5piOIixoZWxwOiLjg5jjg6vjg5ciLHNodW9taW5nXzE6IjEu44GT44Gu5ZWG5ZOB44Gv44CB6Z2e5pys5Lq65L+d6Ki844Gu44Km44Kn44Or44K544Oe44ON44K444Oh44Oz44OI5ZWG5ZOB44Gn44GZ44CC5biC5aC044Gu5aSJ5YuV44Gr44KI44KK5YWD5pys44GM5aSx44KP44KM44KL5Y+v6IO95oCn44GM44GC44KK44G+44GZ44Gu44Gn44CB44GU5rOo5oSP44GP44Gg44GV44GE44CCIixzaHVvbWluZ18yOiIyLuaUr+aJleOBhOOBruWbnuWPjuOBqOaxuua4iOOBruODq+ODvOODq++8miIsc2h1b21pbmdfMzoi5rG65riI5L6h5qC8POODmuODg+OCsOS+oeagvOOBruWgtOWQiOOAgUJUQ+OBr+a6gOS6huW+jOOBq+axuua4iOOBleOCjOOBvuOBmTvmsbrmuIjph5HpoY095oqV6LOH6YeR6aGNKu+8iDEr5pelKuW5tOmWk+WPjuebiueOhy8zNjXvvInjgIIiLHNodW9taW5nXzQ6Iuaxuua4iOS+oeagvOOBjOWbuuWumuS+oeagvOS7peS4iuOBruWgtOWQiOOAgVVTRFTjga/muoDkuoblvozjgavmsbrmuIjjgZXjgozjgb7jgZnjgILmsbrmuIjph5HpoY095oqV6LOH6aGNKuWbuuWumuS+oeagvCrvvIgxK+aXpSrlubTplpPlj47nm4rnjocvMzY177yJ44CCIixzaHVvbWluZ181OiIzLuWun+mam+OBruW5tOmWk+WPjuebiueOh+OBr+OAgeW4guWgtOOBq+OCiOOBo+OBpuODquOCouODq+OCv+OCpOODoOOBp+WkieWMluOBl+OBvuOBmeOAguWun+mam+OBruizvOWFpeWPluW8leOCkuWPgueFp+OBl+OBpuOBj+OBoOOBleOBhOOAgiIsc2h1b21pbmdfNjoiNC7mipXos4fpoY3jga/luILloLTjgavlkIjjgo/jgZvjgabjg6rjgqLjg6vjgr/jgqTjg6DjgafoqIjnrpfjgZXjgozjgb7jgZnjga7jgafjgIHlrp/pmpvjga7os7zlhaXlj5blvJXjgpLjgZTlj4LnhafjgY/jgaDjgZXjgYTjgIIiLHNodW9taW5nXzc6IjUu6LO85YWl5b6M44CB44Oe44Kk44Kz44Kk44Oz44Ob44O844Or44OH44Kj44Oz44Kw44Oa44O844K444Gn56K66KqN44Gn44GN44G+44GZ44CC5pyJ5Yq55pyf6ZmQ44GM5YiH44KM44KL44Go44CB44K544Od44OD44OI44Ki44Kr44Km44Oz44OI44Gr6Ieq5YuV55qE44Gr5pSv5omV44GE44GM6KGM44KP44KM44G+44GZ44CCIixlcnJvcl8xOiLos7zlhaXmlbDph4/jgpLlhaXlipvjgZfjgabjgY/jgaDjgZXjgYQiLGVycm9yXzI6IuizvOWFpeaVsOmHj+OBr+aVtOaVsCIsY29uZmlybVB1cmNoYXNlOiLjgZPjga7osqHjg4bjgq/oo73lk4HjgpLos7zlhaXjgZfjgb7jgZnjgYs/IixwdXJjaGFzZVN1Y2Nlc3M6IuizvOWFpeaIkOWKn++8gSJ9LGZvbGxvdzooYz17Zm9sbG93OiLjgavjgaTjgYTjgabooYzjgY8iLHRyYWRlckxpc3Q6IuODiOODrOODvOODgOODvOODquOCueODiCIsdG90YWxQcm9maXQ6Iue3j+aQjeebiiIsY29ycmVjdFJhdGU6IuOBneOBhuOBlOOBhuOBm+OBhOOBqSIscG9zaXRpb25WYWx1YXRpb246IuWcqOW6q+ipleS+oSIsZXN0aW1hdGVkUHJvZml0VG9kYXk6IuS7iuaXpeOBruS6iOaDs+WPjuebiiIscmF0ZU9mUmV0dXJuOiLlj47nm4rnjociLGJlY29tZUFUcmFkZXI6IuODiOODrOODvOODgOODvOOBq+OBquOCiyJ9LCgwLHUuZGVmYXVsdCkoYywidHJhZGVyTGlzdCIsIuODiOODrOODvOODgOODvOODquOCueODiCIpLCgwLHUuZGVmYXVsdCkoYywib25seVNob3dzVGhlUG9zaXRpb24iLCLkvY3nva7jga7jgb/ooajnpLoiKSwoMCx1LmRlZmF1bHQpKGMsInRoZURhdGFJc1VwZGF0ZWRFdmVyeUhvdXIiLCLjg4fjg7zjgr/jga8x5pmC6ZaT44GU44Go44Gr5pu05paw44GV44KM44G+44GZIiksKDAsdS5kZWZhdWx0KShjLCJmb2xsb3dpbmciLCLjg5Xjgqnjg63jg7zkuK0iKSwoMCx1LmRlZmF1bHQpKGMsImZvbGxvdyIsIuOBq+OBpOOBhOOBpuihjOOBjyIpLCgwLHUuZGVmYXVsdCkoYywiY29uZmlybUZvbGxvdyIsIuacrOW9k+OBq+ODleOCqeODreODvOOBl+OBvuOBmeOBiz8iKSwoMCx1LmRlZmF1bHQpKGMsImNvbmZpcm1DYW5jZWwiLCLov73lvpPjgpLjgq3jg6Pjg7Pjgrvjg6vjgZfjgb7jgZnjgYs/IiksKDAsdS5kZWZhdWx0KShjLCJmb2xsb3dUcmFkZXIiLCLjg4jjg6zjg7zjg4Djg7zjgavlvpPjgYYiKSwoMCx1LmRlZmF1bHQpKGMsImVkaXRDb3B5Iiwi6L+95b6T44Gu57eo6ZuGIiksKDAsdS5kZWZhdWx0KShjLCJiZWZvcmVDb3B5Iiwi44OV44Kp44Ot44O844GZ44KL5YmN44Gr44KI44GP6Kqt44KT44Gn44GP44Gg44GV44GEIiksKDAsdS5kZWZhdWx0KShjLCJjb3B5QWdyZWVtZW50Iiwi44OX44Ot44OI44Kz44Or44Gr5b6T44GGIiksKDAsdS5kZWZhdWx0KShjLCJjb3B5VHlwZSIsIuODleOCqeODreODvOODouODvOODiSIpLCgwLHUuZGVmYXVsdCkoYywiY29weVR5cGUxIiwi5Zu65a6a5YCN5pWw6L+95b6TIiksKDAsdS5kZWZhdWx0KShjLCJjb3B5VHlwZTIiLCLlm7rlrprmiYvmlbDov73lvpMiKSwoMCx1LmRlZmF1bHQpKGMsImNvcHlBbGVydDEiLCLjg4jjg6zjg7zjg4Djg7zjgYzjgYTjgY/jgonms6jmlofjgZfjgabjgoLjgIHpgbjmip7jgZfjgZ/lm7rlrprlgI3mlbDjgafjg5Xjgqnjg63jg7zjgZfjgb7jgZnjgIIiKSwoMCx1LmRlZmF1bHQpKGMsImNvcHlBbGVydDIiLCIo5q+U5L6L5omL5pWwPjHjgafmlbTmlbDjgafjgarjgYTloLTlkIjjgIHlm5vmjajkupTlhaXjga8y5qGB44Gu5bCP5pWw5YCk44KS5L+d5oyB44GZ44KLKSIpLCgwLHUuZGVmYXVsdCkoYywiY29weU11bHRpcGxlIiwi6L+95b6T5YCN5pWwIiksKDAsdS5kZWZhdWx0KShjLCJjYW5jZWxDb3B5Iiwi44OV44Kp44Ot44O844KS6Kej6ZmkIiksKDAsdS5kZWZhdWx0KShjLCJjdXJyZW50Rm9sbG93ZXJOdW1iZXIiLCLnj77lnKjjga7jg5Xjgqnjg63jg7zmlbAiKSwoMCx1LmRlZmF1bHQpKGMsInRvdGFsUHJvZml0QW5kTG9zcyIsIue3j+aQjeebiiIpLCgwLHUuZGVmYXVsdCkoYywidG90YWxSZXR1cm4iLCLnt4/lj47nm4rnjociKSwoMCx1LmRlZmF1bHQpKGMsImFjY3VyYWN5Iiwi44Gb44GE44GpIiksKDAsdS5kZWZhdWx0KShjLCJwcm9maXRhYmxlT3JkZXJzIiwi5Y+O55uK5Y+X5rOoIiksKDAsdS5kZWZhdWx0KShjLCJzdWNjZXNzZnVsU2hvcnRUcmFkZXMiLCLnqbrjga7lj5blvJXjgavmiJDlip/jgZfjgZ8iKSwoMCx1LmRlZmF1bHQpKGMsInN1Y2Nlc3NmdWxMb25nVHJhZGVzIiwi44Oe44Or44OB44OI44Op44Oz44K244Kv44K344On44Oz44Gr5oiQ5YqfIiksKDAsdS5kZWZhdWx0KShjLCJ5ZXN0ZXJkYXlzVHJhZGluZ1N0YXR1cyIsIuaYqOaXpeOBruWPluW8leeKtuazgSIpLCgwLHUuZGVmYXVsdCkoYywiY3VycmVudFBvc2l0aW9ucyIsIuePvuWcqOOBruWAieW6qyIpLCgwLHUuZGVmYXVsdCkoYywidG90YWxPcmRlcnMiLCLnt4/ms6jmlociKSwoMCx1LmRlZmF1bHQpKGMsInJlbWFpbiIsIuaui+OCiiIpLCgwLHUuZGVmYXVsdCkoYywiZGlzdGFuY2VEdWUiLCLot53pm6Ljga7mnInlirnmnJ/pmZAiKSwoMCx1LmRlZmF1bHQpKGMsImRheXMiLCLjgYLjgYIiKSwoMCx1LmRlZmF1bHQpKGMsImRlYWRsaW5lIiwi5pyf6ZaTIiksKDAsdS5kZWZhdWx0KShjLCJzdWJzY3JpcHRpb24iLCLnlLPjgZfovrzjgb8iKSwoMCx1LmRlZmF1bHQpKGMsImZvbGxvd1VzZXJzIiwi44Om44O844K244O844Gr5b6T44GGIiksKDAsdS5kZWZhdWx0KShjLCJmb2xsb3dBbW91bnQiLCLov73lvpPph5HpoY0iKSwoMCx1LmRlZmF1bHQpKGMsImZvbGxvd0Vhcm5pbmdzIiwi5Y+O55uK44Gr5b6T44GGIiksKDAsdS5kZWZhdWx0KShjLCJjYW5jZWxGb2xsb3ciLCLjg5Xjgqnjg63jg7zjgpLop6PpmaQiKSwoMCx1LmRlZmF1bHQpKGMsImN1cnJlbnRDb3B5Iiwi54++5Zyo44Gu6KuL5rGC5pu4IiksKDAsdS5kZWZhdWx0KShjLCJoaXN0b3JpY2FsQ29weSIsIuWxpeattOWPluW8lSIpLCgwLHUuZGVmYXVsdCkoYywibXlUcmFkZXIiLCLnp4Hjga7jg4jjg6zjg7zjg4Djg7wiKSwoMCx1LmRlZmF1bHQpKGMsInRyYWRpbmdQYWlyIiwi44OI44Op44Oz44K244Kv44K344On44Oz44Oa44KiIiksKDAsdS5kZWZhdWx0KShjLCJvcGVuIiwi5YCJ5bqr5L6h5qC8IiksKDAsdS5kZWZhdWx0KShjLCJjbG9zZSIsIuW5s+WAieS+oSIpLCgwLHUuZGVmYXVsdCkoYywiZWFybmluZ3MiLCLlj47nm4oiKSwoMCx1LmRlZmF1bHQpKGMsImxvdHMiLCLmiYvjga7mlbAiKSwoMCx1LmRlZmF1bHQpKGMsInRpbWUiLCLlj5blvJXmmYLplpMiKSwoMCx1LmRlZmF1bHQpKGMsImJ1eUluIiwi6LK344GE5YWl44KM44KLIiksKDAsdS5kZWZhdWx0KShjLCJidXlPdXQiLCLlo7Ljgorjgavlh7rjgZkiKSwoMCx1LmRlZmF1bHQpKGMsImRpcmVjdGlvbiIsIuaWueWQkSIpLGMpLGZpbmFuY2lhbDp7cHJvZHVjdDoi6KO95ZOBIixwb3NpdGlvbjoi5omA5pyJ44GZ44KLIixmaW5hbmNpYWw6IumHkeiejSIsbG9ja21pbmc6Iuiqk+e0hCIsaWVvOiJJRU8iLGludmVzdDoi5oqV6LOH6LKh44OG44KvIixzZWN0aW9uOiLjgqjjg6rjgqIiLGFwcjoi5bm05YyW5Y+O55uK546HIixsaW5rZWRSZWZlcmVuY2VQcmljZToi44OV44OD44Kv5Z+65rqW5L6h5qC8Iixob2xkaW5nRGF5czoi5YCJ5bqr5L+d5pyJ5pyf6ZaTIixkYXk6IuOBguOBgiIsbG9ja1BlcmlvZDoi44Ot44OD44Kv44K144Kk44Kv44OrIixpbmc6IumAsuihjOS4rSIsZG9uZToi57WC5LqGIixhcHBseVN1YnNjcmlwdGlvbjoi5Y+X5rOo55Sz6KuLIixyZW1haW5pbmc6Iuaui+OCiiIsdG90YWw6IuWQiOioiCIsc3Vic2NyaWJlZDoi6LO85YWl5riI44G/IixtaW5pbmc6IuODnuOCpOODi+ODs+OCsCIsbWluaW11bToi6LW3IixkYWlseVJldHVyblJhdGU6IuaXpeWPjuebiueOhyJ9LG5mdDoobD17bmZ0OiJORlQiLGFydHdvcms6IuiKuOihk+WTgSIsYXJ0aXN0OiLoirjooZPlrrYiLGFydHdvcmtMaXN0OiLoirjooZPlk4Hjg6rjgrnjg4giLGFydGlzdExpc3Q6IuOCouODvOODhuOCo+OCueODiOODquOCueODiCIsY29tcHJlaGVuc2l2ZVNvcnRpbmc6Iue3j+WQiOOCveODvOODiCIsbmV3ZXN0OiLmnIDmlrDjga4iLGhvdGVzdDoi44GE44Gh44Gw44KT5pqR44GEIixtb3N0V29ya3M6IuS9nOWTgeOBjOOBhOOBoeOBsOOCk+WkmuOBhCIsbW9zdFBvcHVsYXI6IuOBhOOBoeOBsOOCk+S6uuawl+OBjOOBguOCiyIscmVjb3JkOiLos7zlhaXlsaXmrbQiLHJlY29tbWVuZEFydGlzdDoi44GK44GZ44GZ44KB44Ki44O844OG44Kj44K544OIIixidXk6IuizvOWFpSIsYXJ0aXN0SG9tZXBhZ2U6IuOCouODvOODhuOCo+OCueODiOOBruODm+ODvOODoOODmuODvOOCuCIsd29ya3M6IuS9nOWTgSIsc2FsZWQ6IuiyqeWjsua4iOOBvyIsZmFuczoi44OV44Kh44Oz5Lq6IixhbGxXb3Jrczoi5YWo5L2c5ZOBIixub3RTZWxsOiLmnKrosqnlo7IiLG15Q29sbGVjdDoi56eB44Gu44Kz44Os44Kv44K344On44OzIixjb2xsZWN0OiLjgrPjg6zjgq/jgrfjg6fjg7MiLG93bjoi5omA5pyJ44GZ44KLIixwbGFjZUFCaWQ6IuWApOauteOCkuOBpOOBkeOCiyIscHVyY2hhc2U6IuizvOWFpSIsb3Blbjoi44OQ44OD44Kv44Kq44O844OX44OzIixpbWFnZToi55S75YOPIixnaWY6IuWLleWbsyIsYXVkaW86IuOCquODvOODh+OCo+OCqiIsdmlkZW86IuODk+ODh+OCqiIsY3JlYXRvcjoi5L2c5oiQ6ICFIixjdXJyZW50QmlkOiLmnIDmlrDkvqHmoLwiLHByaWNlOiLkvqHmoLwiLGQ6IuOBguOBgiIsaDoi5pmCIixtOiLliIYiLHM6IuenkiJ9LCgwLHUuZGVmYXVsdCkobCwic2FsZWQiLCLntYLkuoYiKSwoMCx1LmRlZmF1bHQpKGwsInBsYWNlX2FsZXJ0Iiwi5ZOB54mp44GM6LKp5aOy5pmC6ZaT44Gr44Gq44Gj44Gm44GE44Gq44GE44GL44CB57WC5LqG44GX44Gm44GE44G+44GZ44CCIiksKDAsdS5kZWZhdWx0KShsLCJjcmVhdGVkQnkiLCLkvZzmiJDogIUiKSwoMCx1LmRlZmF1bHQpKGwsInBsYWNlX2FsZXJ0MiIsIuOBguOBquOBn+OBruS+oeagvOOBr+mrmOOBj+OBquOBkeOCjOOBsOOBquOCiuOBvuOBm+OCk+OAgiIpLCgwLHUuZGVmYXVsdCkobCwibm90ZSIsIumHjeimgSIpLCgwLHUuZGVmYXVsdCkobCwiQ1VSUkVOVF9CSUQiLCLmnIDmlrDkvqHmoLwiKSwoMCx1LmRlZmF1bHQpKGwsInBsYWNlX2FsZXJ0MyIsIuOCquODvOOCr+OCt+ODp+ODs+OBq+WPguWKoOOBmeOCi+OBq+OBr+OAgeOBiuaUr+aJleOBhOOBjOW/heimgeOBp+OBmSIpLCgwLHUuZGVmYXVsdCkobCwicGxhY2VfYWxlcnQ0Iiwi44Gu5L+d6Ki86YeR44Gv44CB56u25aOy57WC5LqG5pmC44Gr5L+d6Ki86YeR44GM5Y+j5bqn44Gr6L+U5Y2044GV44KM44G+44GZ44CCIiksKDAsdS5kZWZhdWx0KShsLCJwbGFjZV9hbGVydDYiLCLlhaXmnK3nt6DliIflvozjgIHokL3mnK3jgZXjgozjgZ/loLTlkIjjga8x5pel5Lul5YaF44Gr5pyA57WC5Luj6YeR44KS44GK5pSv5omV44GE44GE44Gf44Gg44GN44G+44GZ44CCIOaUr+aJleOBhOOBjOmBheOCjOOBn+WgtOWQiOOAgeS/neiovOmHkeOBjOW3ruOBl+W8leOBi+OCjOOBvuOBmeOAgiIpLCgwLHUuZGVmYXVsdCkobCwiY29uZmlybUJpZCIsIuS+oeagvOOBrueiuuiqjSIpLCgwLHUuZGVmYXVsdCkobCwiREVTQ1JJUFRJT04iLCLoqqzmmI4iKSwoMCx1LmRlZmF1bHQpKGwsIkFERFJFU1MiLCLjgqLjg4njg6zjgrkiKSwoMCx1LmRlZmF1bHQpKGwsImNvcHkiLCLjgrPjg5Tjg7wiKSwoMCx1LmRlZmF1bHQpKGwsInBlcl9pbmNyZWFzZSIsIjHlm57jgYLjgZ/jgorjga7lgKTkuIrjgZIiKSwoMCx1LmRlZmF1bHQpKGwsImN1cnJlbmN5X3R5cGUiLCLpgJrosqjjgr/jgqTjg5ciKSwoMCx1LmRlZmF1bHQpKGwsInBheV90eXBlIiwi6LO85YWl5pa55rOVIiksKDAsdS5kZWZhdWx0KShsLCJwYXlfdHlwZV8yIiwi6LKp5aOy5pa55rOVIiksKDAsdS5kZWZhdWx0KShsLCJub3JtYWwiLCLpgJrluLgiKSwoMCx1LmRlZmF1bHQpKGwsImF1Y3Rpb24iLCLnq7blo7LjgavjgYvjgZHjgosiKSwoMCx1LmRlZmF1bHQpKGwsImNvbmZpcm1BdWN0aW9uIiwi44GT44Gu5ZWG5ZOB44Gu56u25aOy44Gr5Y+C5Yqg44GX44G+44GZ44GLPyIpLCgwLHUuZGVmYXVsdCkobCwiYmluZEJveCIsIuODluODqeOCpOODs+ODieODnOODg+OCr+OCuSIpLCgwLHUuZGVmYXVsdCkobCwic2VsbF9zdGF0dXMiLCLosqnlo7Ljgrnjg4bjg7zjgr/jgrkiKSwoMCx1LmRlZmF1bHQpKGwsImhhc1N0YXJ0Iiwi6ZaL5aeL5riI44G/IiksKDAsdS5kZWZhdWx0KShsLCJ3aWxsU3RhcnQiLCLplovlp4vjgZfjgabjgYTjgb7jgZvjgpMiKSwoMCx1LmRlZmF1bHQpKGwsImFydHdvcmtfdHlwZSIsIuOCouOCpOODhuODoOOBrueorumhniIpLCgwLHUuZGVmYXVsdCkobCwicmVzZXQiLCLjg6rjgrvjg4Pjg4giKSwoMCx1LmRlZmF1bHQpKGwsImNvbmZpcm0iLCLjgpLpgbjmip7jgZfjgb7jgZnjgIIiKSwoMCx1LmRlZmF1bHQpKGwsInBsYWNlX2FsZXJ0NSIsIuOCreODvOODr+ODvOODieOCkuWFpeWKm+OBl+OBpuOBj+OBoOOBleOBhCIpLCgwLHUuZGVmYXVsdCkobCwiY29sbGVjdGlvbiIsIuOCs+ODrOOCr+OCt+ODp+ODs+a4iOOBvyIpLCgwLHUuZGVmYXVsdCkobCwiYnlDb2xsZWN0aW9uIiwi44Kz44Os44Kv44K344On44Oz44GV44KM44KLIiksKDAsdS5kZWZhdWx0KShsLCJhcnR3b3JrcyIsIuS9nOWTgSIpLCgwLHUuZGVmYXVsdCkobCwiZ29Db2xsZWN0Iiwi44Kz44Os44Kv44K344On44Oz44Gr6KGM44GPIiksKDAsdS5kZWZhdWx0KShsLCJwcmljZSIsIuS+oeagvCIpLCgwLHUuZGVmYXVsdCkobCwibm9uaWNrbmFtZSIsIuODi+ODg+OCr+ODjeODvOODoOOBjOioreWumuOBleOCjOOBpuOBhOOBvuOBm+OCkyIpLCgwLHUuZGVmYXVsdCkobCwiY2pkanMiLCLjgqrjg5XjgqHjg7znt6DliIfmmYLplpMiKSwoMCx1LmRlZmF1bHQpKGwsImNqa3NzaiIsIuS+oeagvOioreWumumWi+Wni+aZgumWkyIpLCgwLHUuZGVmYXVsdCkobCwiY2pqenNqIiwi44Kq44OV44Kh44O857eg5YiH5pmC6ZaTIiksKDAsdS5kZWZhdWx0KShsLCJnb3Rvc2VlIiwi5pep44GP5biC5aC044Gr6KGM44Gj44Gm44G/44KI44GGIiksKDAsdS5kZWZhdWx0KShsLCJwb3NpdGlvbiIsIuaJgOacieOBmeOCiyIpLCgwLHUuZGVmYXVsdCkobCwicmVzZWxsIiwi6Lui5aOy44GZ44KLIiksKDAsdS5kZWZhdWx0KShsLCJidXlQcmljZSIsIuiyt+OBhOWFpeOCjOS+oeagvCIpLCgwLHUuZGVmYXVsdCkobCwiY29uZmlybVJlc2VsbCIsIui7ouWjsueiuuiqjSIpLCgwLHUuZGVmYXVsdCkobCwid3JvbmdQcmljZSIsIuato+OBl+OBhOS+oeagvOOCkuOBiumBuOOBs+OBj+OBoOOBleOBhCIpLCgwLHUuZGVmYXVsdCkobCwiYmlkUGxhY2VkQnkiLCLlgKTliIfjgovkuroiKSwoMCx1LmRlZmF1bHQpKGwsInBsYWNlUmVjb3JkIiwi5L6h5qC86KiY6YyyIiksKDAsdS5kZWZhdWx0KShsLCJjb25maXJQdXJjaGFzZSIsIuizvOWFpeOBrueiuuiqjSIpLCgwLHUuZGVmYXVsdCkobCwiYXJ0aXN0TGlzdCIsIuOCouODvOODhuOCo+OCueODiOODquOCueODiCIpLCgwLHUuZGVmYXVsdCkobCwiaGFzT3BlbiIsIuOCquODsyIpLCgwLHUuZGVmYXVsdCkobCwibm9PcGVuIiwi44Kq44O844OX44Oz44GX44Gm44GE44G+44Gb44KTIiksKDAsdS5kZWZhdWx0KShsLCJjbGlja09wZW4iLCLjg5bjg6njgqTjg7Pjg4njg5zjg4Pjgq/jgrnjgpLplovjgY8iKSwoMCx1LmRlZmF1bHQpKGwsImNvbmZpcm1PcGVuIiwi44OW44Op44Kk44Oz44OJ44Oc44OD44Kv44K544GM6ZaL44GE44Gm44GE44KL44GT44Go44KS56K66KqN44GX44G+44GZ44GLPyIpLCgwLHUuZGVmYXVsdCkobCwibWFyZ2luIiwi5L+d6Ki86YeRIiksKDAsdS5kZWZhdWx0KShsLCJ3cm9uZ1ByaWNlIiwi5q2j44GX44GE5L6h5qC844KS5YWl5Yqb44GX44Gm44GP44Gg44GV44GEIiksKDAsdS5kZWZhdWx0KShsLCJ3cm9uZ1BlckluY3JlYXNlIiwi5q2j44GX44GE5YCk5LiK44GS44KS5YWl5Yqb44GX44Gm44GP44Gg44GV44GEIiksKDAsdS5kZWZhdWx0KShsLCJ3cm9uZ1RpbWUiLCLntYLkuobmmYLplpPjga/ntYLkuobmmYLplpPjgojjgorpgYXjgY/jgarjgZHjgozjgbDjgarjgorjgb7jgZvjgpMiKSwoMCx1LmRlZmF1bHQpKGwsImNvbmZpcm1SZXNlbGwyIiwi5ZWG5ZOB44GM6Lui5aOy44GV44KM44KL44Go5Y+W44KK5LiL44GS44KL44GT44Go44Gv44Gn44GN44G+44Gb44KT44GM44CB5pys5b2T44Gr6Lui5aOy44GX44G+44GZ44GLPyIpLCgwLHUuZGVmYXVsdCkobCwicmVzZWxsaW5nIiwi6Lui5aOy5LitIiksKDAsdS5kZWZhdWx0KShsLCJtZXNzYWdlIiwi44Oh44OD44K744O844K46YCa55+lIiksKDAsdS5kZWZhdWx0KShsLCJjb25maXJtUGF5Iiwi44GT44Gu5ZWG5ZOB44Gu6LO85YWl44Gv56K65a6f44Gr5pSv5omV44GE44G+44GZ44GLPyIpLCgwLHUuZGVmYXVsdCkobCwiemZkanMiLCLmlK/miZXjgYTjgqvjgqbjg7Pjg4jjg4Djgqbjg7MiKSwoMCx1LmRlZmF1bHQpKGwsInBheVRpbWUiLCLmlK/miZXjgYTmmYLplpMiKSwoMCx1LmRlZmF1bHQpKGwsImhhc1JlYWQiLCLml6Loqq0iKSwoMCx1LmRlZmF1bHQpKGwsImxhc3RQcmljZSIsIuacgOe1guaIkOe0hOS+oeagvCIpLCgwLHUuZGVmYXVsdCkobCwiaXNQYXkiLCLmlK/miZXmuIgiKSwoMCx1LmRlZmF1bHQpKGwsImlzRXhwaXJlZCIsIuacn+mZkOWIh+OCjCIpLCgwLHUuZGVmYXVsdCkobCwicmFyaXR5Iiwi5biM5bCR5bqmIiksbCksYXBwcm92ZTp7QXV0aGVudGljYXRpb25UaXBzOiLlho3oqo3oqLzjgZXjgozjgZ/jgqLjg4njg6zjgrnjgYzjg5DjgqTjg7Pjg4fjgqPjg7PjgrDjgqLjg4njg6zjgrnjgajnlbDjgarjgorjgb7jgZku44Ki44OJ44Os44K544KS5aSJ5pu044GZ44KL5b+F6KaB44GM44GC44KK44G+44GZ44GLPyIsYnJvd3NlclRpcHM6IuODluODqeOCpuOCtuOBp+mWi+OBhOOBpuOBj+OBoOOBleOBhCIsdHJjX2Jyb3dzZXJUaXBzOiLlr77lv5xUUkMyMOODgeOCp+ODvOODs+OBruOCpuOCqeODrOODg+ODiOOBp+mWi+OBhOOBpuOBj+OBoOOBleOBhCIscmVjZXJ0aWZ5OiLlho3oqo3oqLzjgZnjgosiLHZlcmlmaWVkOiLmpJzoqLzmuIjjgb8iLGdvX2F1dGhlbnRpY2F0ZToi6KqN6Ki86Kej6ZmkIixub3RjZXJ0aWZpZWQ6IuacquiupOivgSJ9fTt0LmRlZmF1bHQ9ZH0sIjViYjgiOmZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7bigiNmE1NCIpO3ZhciBhPW4oImY1YmQiKS5kZWZhdWx0O09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LmRlZmF1bHQ9dm9pZCAwO3ZhciBvPWEobigiZmNmMyIpKTtmdW5jdGlvbiByKGUpe3N3aXRjaCgoMCxvLmRlZmF1bHQpKGUpKXtjYXNlInVuZGVmaW5lZCI6cmV0dXJuITA7Y2FzZSJzdHJpbmciOmlmKDA9PWUucmVwbGFjZSgvKF5bIFx0XG5ccl0qKXwoWyBcdFxuXHJdKiQpL2csIiIpLmxlbmd0aClyZXR1cm4hMDticmVhaztjYXNlImJvb2xlYW4iOmlmKCFlKXJldHVybiEwO2JyZWFrO2Nhc2UibnVtYmVyIjppZigwPT09ZXx8aXNOYU4oZSkpcmV0dXJuITA7YnJlYWs7Y2FzZSJvYmplY3QiOmlmKG51bGw9PT1lfHwwPT09ZS5sZW5ndGgpcmV0dXJuITA7Zm9yKHZhciB0IGluIGUpcmV0dXJuITE7cmV0dXJuITB9cmV0dXJuITF9bigiNWM0NyIpLG4oIjA1MDYiKSxuKCJjOWI1IiksbigiYmYwZiIpLG4oImFiODAiKSxuKCI2NGFhIiksbigiNWVmMiIpLG4oImExYzEiKSxuKCIyM2Y0IiksbigiN2QyZiIpLG4oIjljNGUiKTt2YXIgaT17ZW1haWw6ZnVuY3Rpb24oZSl7cmV0dXJuL15cdysoKC1cdyspfChcLlx3KykpKlxAW0EtWmEtejAtOV0rKChcLnwtKVtBLVphLXowLTldKykqXC5bQS1aYS16MC05XSskLy50ZXN0KGUpfSxtb2JpbGU6ZnVuY3Rpb24oZSl7cmV0dXJuL14xWzMtOV1cZHs5fSQvLnRlc3QoZSl9LHVybDpmdW5jdGlvbihlKXtyZXR1cm4vaHR0cChzKT86XC9cLyhbXHctXStcLikrW1x3LV0rKFwvW1x3LS5cLz8lJj1dKik/Ly50ZXN0KGUpfSxkYXRlOmZ1bmN0aW9uKGUpe3JldHVybiEvSW52YWxpZHxOYU4vLnRlc3QobmV3IERhdGUoZSkudG9TdHJpbmcoKSl9LGRhdGVJU086ZnVuY3Rpb24oZSl7cmV0dXJuL15cZHs0fVtcL1wtXSgwP1sxLTldfDFbMDEyXSlbXC9cLV0oMD9bMS05XXxbMTJdWzAtOV18M1swMV0pJC8udGVzdChlKX0sbnVtYmVyOmZ1bmN0aW9uKGUpe3JldHVybi9eKD86LT9cZCt8LT9cZHsxLDN9KD86LFxkezN9KSspPyg/OlwuXGQrKT8kLy50ZXN0KGUpfSxkaWdpdHM6ZnVuY3Rpb24oZSl7cmV0dXJuL15cZCskLy50ZXN0KGUpfSxpZENhcmQ6ZnVuY3Rpb24oZSl7cmV0dXJuL15bMS05XVxkezV9WzEtOV1cZHszfSgoMFxkKXwoMVswLTJdKSkoKFswfDF8Ml1cZCl8M1swLTFdKVxkezN9KFswLTldfFgpJC8udGVzdChlKX0sY2FyTm86ZnVuY3Rpb24oZSl7cmV0dXJuIDc9PT1lLmxlbmd0aD8vXlvkuqzmtKXmsqrmuJ3lhoDosavkupHovr3pu5HmuZjnmpbpsoHmlrDoi4/mtZnotaPphILmoYLnlJjmmYvokpnpmZXlkInpl73otLXnsqTpnZLol4/lt53lroHnkLzkvb/pooZBLVpdezF9W0EtWl17MX1bQS1ISi1OUC1aMC05XXs0fVtBLUhKLU5QLVowLTnmjILlraborabmuK/mvrNdezF9JC8udGVzdChlKTo4PT09ZS5sZW5ndGgmJi9eW+S6rOa0peayqua4neWGgOixq+S6kei+vem7kea5mOealumygeaWsOiLj+a1mei1o+mEguahgueUmOaZi+iSmemZleWQiemXvei0teeypOmdkuiXj+W3neWugeeQvOS9v+mihkEtWl17MX1bQS1aXXsxfSgoWzAtOV17NX1bREZdJCl8KFtERl1bQS1ISi1OUC1aMC05XVswLTldezR9JCkpLy50ZXN0KGUpfSxhbW91bnQ6ZnVuY3Rpb24oZSl7cmV0dXJuL15bMC05XSsoWy5dezF9WzAtOV0rKXswLDF9JC8udGVzdChlKSYmTnVtYmVyKGUpPjB9LGNoaW5lc2U6ZnVuY3Rpb24oZSl7cmV0dXJuL15bXHU0ZTAwLVx1OWZhNV0rJC9naS50ZXN0KGUpfSxsZXR0ZXI6ZnVuY3Rpb24oZSl7cmV0dXJuL15bYS16QS1aXSokLy50ZXN0KGUpfSxlbk9yTnVtOmZ1bmN0aW9uKGUpe3JldHVybi9eWzAtOWEtekEtWl0qJC9nLnRlc3QoZSl9LGNvbnRhaW5zOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGUuaW5kZXhPZih0KT49MH0scmFuZ2U6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZT49dFswXSYmZTw9dFsxXX0scmFuZ2VMZW5ndGg6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS5sZW5ndGg+PXRbMF0mJmUubGVuZ3RoPD10WzFdfSxlbXB0eTpyLGlzRW1wdHk6cixqc29uU3RyaW5nOmZ1bmN0aW9uKGUpe2lmKCJzdHJpbmciPT10eXBlb2YgZSl0cnl7dmFyIHQ9SlNPTi5wYXJzZShlKTtyZXR1cm4hKCJvYmplY3QiIT0oMCxvLmRlZmF1bHQpKHQpfHwhdCl9Y2F0Y2gobil7cmV0dXJuITF9cmV0dXJuITF9LGxhbmRsaW5lOmZ1bmN0aW9uKGUpe3JldHVybi9eXGR7Myw0fS1cZHs3LDh9KC1cZHszLDR9KT8kLy50ZXN0KGUpfSxvYmplY3Q6ZnVuY3Rpb24oZSl7cmV0dXJuIltvYmplY3QgT2JqZWN0XSI9PT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSl9LGFycmF5OmZ1bmN0aW9uKGUpe3JldHVybiJmdW5jdGlvbiI9PT10eXBlb2YgQXJyYXkuaXNBcnJheT9BcnJheS5pc0FycmF5KGUpOiJbb2JqZWN0IEFycmF5XSI9PT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSl9LGNvZGU6ZnVuY3Rpb24oZSl7dmFyIHQ9YXJndW1lbnRzLmxlbmd0aD4xJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0/YXJndW1lbnRzWzFdOjY7cmV0dXJuIG5ldyBSZWdFeHAoIl5cXGR7Ii5jb25jYXQodCwifSQiKSkudGVzdChlKX19O3QuZGVmYXVsdD1pfSwiNWMwMCI6ZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtuKCI2YTU0Iik7dmFyIGE9bigiZjViZCIpLmRlZmF1bHQ7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuZGVmYXVsdD12b2lkIDA7dmFyIG89YShuKCI5YjhlIikpLHI9YShuKCI5YmIwIikpLGk9YShuKCI4ZGE3IikpLHM9YShuKCJiNmI2IikpLGM9YShuKCJjNzQzIikpLGw9YShuKCI1MTBkIikpLHU9YShuKCIxNWU2IikpLGQ9YShuKCJiOWJlIikpLHA9YShuKCJjODc4IikpLG09YShuKCI0OTg1IikpO28uZGVmYXVsdC51c2UobS5kZWZhdWx0KTt2YXIgZj1uZXcgbS5kZWZhdWx0KHtsb2NhbGU6dW5pLmdldFN0b3JhZ2VTeW5jKCJsYW5nIil8fCJlbiIsbWVzc2FnZXM6e3poOnIuZGVmYXVsdCxlbjppLmRlZmF1bHQsaGs6cy5kZWZhdWx0LHRoOmMuZGVmYXVsdCxqcDpsLmRlZmF1bHQsa29yOnUuZGVmYXVsdCxmcmE6ZC5kZWZhdWx0LHNwYTpwLmRlZmF1bHR9fSksZz1mO3QuZGVmYXVsdD1nfSwiNjZjOCI6ZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtuKCI2YTU0IiksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuZGVmYXVsdD12b2lkIDAsbigiNWVmMiIpO3ZhciBhPWZ1bmN0aW9uKCl7dmFyIGU9YXJndW1lbnRzLmxlbmd0aD4wJiZ2b2lkIDAhPT1hcmd1bWVudHNbMF0/YXJndW1lbnRzWzBdOiJzdWNjZXNzIix0PWFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdJiZhcmd1bWVudHNbMV07LTE9PVsicHJpbWFyeSIsImluZm8iLCJlcnJvciIsIndhcm5pbmciLCJzdWNjZXNzIl0uaW5kZXhPZihlKSYmKGU9InN1Y2Nlc3MiKTt2YXIgbj0iIjtzd2l0Y2goZSl7Y2FzZSJwcmltYXJ5IjpuPSJpbmZvLWNpcmNsZSI7YnJlYWs7Y2FzZSJpbmZvIjpuPSJpbmZvLWNpcmNsZSI7YnJlYWs7Y2FzZSJlcnJvciI6bj0iY2xvc2UtY2lyY2xlIjticmVhaztjYXNlIndhcm5pbmciOm49ImVycm9yLWNpcmNsZSI7YnJlYWs7Y2FzZSJzdWNjZXNzIjpuPSJjaGVja21hcmstY2lyY2xlIjticmVhaztkZWZhdWx0Om49ImNoZWNrbWFyay1jaXJjbGUifXJldHVybiB0JiYobis9Ii1maWxsIiksbn07dC5kZWZhdWx0PWF9LCI3MTBjIjpmdW5jdGlvbihlLHQsbil7dmFyIGE9bigiOTllNSIpO2EuX19lc01vZHVsZSYmKGE9YS5kZWZhdWx0KSwic3RyaW5nIj09PXR5cGVvZiBhJiYoYT1bW2UuaSxhLCIiXV0pLGEubG9jYWxzJiYoZS5leHBvcnRzPWEubG9jYWxzKTt2YXIgbz1uKCI5NjdkIikuZGVmYXVsdDtvKCI2YjRmY2JmMiIsYSwhMCx7c291cmNlTWFwOiExLHNoYWRvd01vZGU6ITF9KX0sNzg1MzpmdW5jdGlvbihlLHQsbil7ZS5leHBvcnRzPW4ucCsic3RhdGljL2ljb25mb250L2ljb25mb250LndvZmYifSwiN2IwOSI6ZnVuY3Rpb24oZSx0KXtlLmV4cG9ydHM9ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0lBQUFCQUNBWUFBQUIvZTZXVEFBQUFDWEJJV1hNQUFBc1RBQUFMRXdFQW1wd1lBQUFIWDJsVVdIUllUVXc2WTI5dExtRmtiMkpsTG5odGNBQUFBQUFBUEQ5NGNHRmphMlYwSUdKbFoybHVQU0x2dTc4aUlHbGtQU0pYTlUwd1RYQkRaV2hwU0hweVpWTjZUbFJqZW10ak9XUWlQejRnUEhnNmVHMXdiV1YwWVNCNGJXeHVjenA0UFNKaFpHOWlaVHB1Y3pwdFpYUmhMeUlnZURwNGJYQjBhejBpUVdSdlltVWdXRTFRSUVOdmNtVWdOaTR3TFdNd01EWWdOemt1WkdGaVlXTmlZaXdnTWpBeU1TOHdOQzh4TkMwd01Eb3pPVG8wTkNBZ0lDQWdJQ0FnSWo0Z1BISmtaanBTUkVZZ2VHMXNibk02Y21SbVBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1THpBeUx6SXlMWEprWmkxemVXNTBZWGd0Ym5NaklqNGdQSEprWmpwRVpYTmpjbWx3ZEdsdmJpQnlaR1k2WVdKdmRYUTlJaUlnZUcxc2JuTTZlRzF3UFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwzaGhjQzh4TGpBdklpQjRiV3h1Y3pwa1l6MGlhSFIwY0RvdkwzQjFjbXd1YjNKbkwyUmpMMlZzWlcxbGJuUnpMekV1TVM4aUlIaHRiRzV6T25Cb2IzUnZjMmh2Y0QwaWFIUjBjRG92TDI1ekxtRmtiMkpsTG1OdmJTOXdhRzkwYjNOb2IzQXZNUzR3THlJZ2VHMXNibk02ZUcxd1RVMDlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2ZUdGd0x6RXVNQzl0YlM4aUlIaHRiRzV6T25OMFJYWjBQU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDNoaGNDOHhMakF2YzFSNWNHVXZVbVZ6YjNWeVkyVkZkbVZ1ZENNaUlIaHRjRHBEY21WaGRHOXlWRzl2YkQwaVFXUnZZbVVnVUdodmRHOXphRzl3SURJeExqQWdLRmRwYm1SdmQzTXBJaUI0YlhBNlEzSmxZWFJsUkdGMFpUMGlNakF5TVMweE1DMHhOVlF4TnpveE9EbzBNU3N3T0Rvd01DSWdlRzF3T2sxdlpHbG1lVVJoZEdVOUlqSXdNakl0TURJdE1UUlVNVEE2TWpRNk1URXJNRGc2TURBaUlIaHRjRHBOWlhSaFpHRjBZVVJoZEdVOUlqSXdNakl0TURJdE1UUlVNVEE2TWpRNk1URXJNRGc2TURBaUlHUmpPbVp2Y20xaGREMGlhVzFoWjJVdmNHNW5JaUJ3YUc5MGIzTm9iM0E2UTI5c2IzSk5iMlJsUFNJeklpQndhRzkwYjNOb2IzQTZTVU5EVUhKdlptbHNaVDBpYzFKSFFpQkpSVU0yTVRrMk5pMHlMakVpSUhodGNFMU5Pa2x1YzNSaGJtTmxTVVE5SW5odGNDNXBhV1E2T0RVM1lUYzNNREV0TlRKallpMDBZVEV6TFRrM01XTXRZV0ZrWlRjME1qTXlNalpsSWlCNGJYQk5UVHBFYjJOMWJXVnVkRWxFUFNKaFpHOWlaVHBrYjJOcFpEcHdhRzkwYjNOb2IzQTZPV1U1WkdFeU5Ea3RNRFk1TnkwME9UUm1MV0V4TVRNdE1EUTVOV1kyWlRneVlqTm1JaUI0YlhCTlRUcFBjbWxuYVc1aGJFUnZZM1Z0Wlc1MFNVUTlJbmh0Y0M1a2FXUTZOREF3TURJd05HUXRZalEyT1MxaVpUUm1MV0psTVRBdFpXSXdNRGxoTVdaaE1EQXlJajRnUEhCb2IzUnZjMmh2Y0RwRWIyTjFiV1Z1ZEVGdVkyVnpkRzl5Y3o0Z1BISmtaanBDWVdjK0lEeHlaR1k2YkdrK1lXUnZZbVU2Wkc5amFXUTZjR2h2ZEc5emFHOXdPamxsT1dSaE1qUTVMVEEyT1RjdE5EazBaaTFoTVRFekxUQTBPVFZtTm1VNE1tSXpaand2Y21SbU9teHBQaUE4TDNKa1pqcENZV2MrSUR3dmNHaHZkRzl6YUc5d09rUnZZM1Z0Wlc1MFFXNWpaWE4wYjNKelBpQThlRzF3VFUwNlNHbHpkRzl5ZVQ0Z1BISmtaanBUWlhFK0lEeHlaR1k2YkdrZ2MzUkZkblE2WVdOMGFXOXVQU0pqY21WaGRHVmtJaUJ6ZEVWMmREcHBibk4wWVc1alpVbEVQU0o0YlhBdWFXbGtPalF3TURBeU1EUmtMV0kwTmprdFltVTBaaTFpWlRFd0xXVmlNREE1WVRGbVlUQXdNaUlnYzNSRmRuUTZkMmhsYmowaU1qQXlNUzB4TUMweE5WUXhOem94T0RvME1Tc3dPRG93TUNJZ2MzUkZkblE2YzI5bWRIZGhjbVZCWjJWdWREMGlRV1J2WW1VZ1VHaHZkRzl6YUc5d0lESXhMakFnS0ZkcGJtUnZkM01wSWk4K0lEeHlaR1k2YkdrZ2MzUkZkblE2WVdOMGFXOXVQU0p6WVhabFpDSWdjM1JGZG5RNmFXNXpkR0Z1WTJWSlJEMGllRzF3TG1scFpEb3pZekJsTmpNek1pMWtNVGMzTFRjMU5EUXRZV00zTXkxa1lqazNObVJqTnpWbE1ESWlJSE4wUlhaME9uZG9aVzQ5SWpJd01qRXRNVEF0TVRWVU1UYzZNakE2TXpBck1EZzZNREFpSUhOMFJYWjBPbk52Wm5SM1lYSmxRV2RsYm5ROUlrRmtiMkpsSUZCb2IzUnZjMmh2Y0NBeU1TNHdJQ2hYYVc1a2IzZHpLU0lnYzNSRmRuUTZZMmhoYm1kbFpEMGlMeUl2UGlBOGNtUm1PbXhwSUhOMFJYWjBPbUZqZEdsdmJqMGljMkYyWldRaUlITjBSWFowT21sdWMzUmhibU5sU1VROUluaHRjQzVwYVdRNk9EVTNZVGMzTURFdE5USmpZaTAwWVRFekxUazNNV010WVdGa1pUYzBNak15TWpabElpQnpkRVYyZERwM2FHVnVQU0l5TURJeUxUQXlMVEUwVkRFd09qSTBPakV4S3pBNE9qQXdJaUJ6ZEVWMmREcHpiMlowZDJGeVpVRm5aVzUwUFNKQlpHOWlaU0JRYUc5MGIzTm9iM0FnTWpJdU5DQW9UV0ZqYVc1MGIzTm9LU0lnYzNSRmRuUTZZMmhoYm1kbFpEMGlMeUl2UGlBOEwzSmtaanBUWlhFK0lEd3ZlRzF3VFUwNlNHbHpkRzl5ZVQ0Z1BDOXlaR1k2UkdWelkzSnBjSFJwYjI0K0lEd3ZjbVJtT2xKRVJqNGdQQzk0T25odGNHMWxkR0UrSUR3L2VIQmhZMnRsZENCbGJtUTlJbklpUHo0Z3Z0SVJBQUFCSmtsRVFWUm9nZTJYV3c2RUlBeEZMOFNsdVd6MmhqOHljVkN3clR6YWhQc3ppWk8yeDlQUkNTN0dDR0ZLaFk3VEpJUUFBUENOSWQ2K0swWUswandTRU1vZHM2MXdRVGdEV0RBbVZ5UDVFWkpyekJrUnYyeW90UlNRTHhEa0htWlcwOElHcVpjSkl5MXR2UFlzZ2ZTQXFQWld2WnFlTm9vejFCb1pZZU54bGtvakkyM2NadnI4d3Vqcyt4NnZJTlBqNG9melJNdW9NYkpBOGl5UVBCN01RM09QaEJEY2RwN0dwOE9vV28yS3FBSFp6cy9acjNubkZVQUFRRlN6bWdXU1o0SGtVZkZmZy9QeFZaRUVNdE9LdTRMOExzeUF5RUdtSmdjWmFlVnZsbG9qd0JncnR4bXFqUUI5clR6MnJobnBBVlBzcVg0MUtTMnRWSHVaTVFLMHNmTGFnMnJrQ3d5cDF0UnFVaVJXeURVbWpRQThLeXlERWlPVUFldzFtbDFOU3UyT1JZLzZBUVVvTE9jc3Y4RGVBQUFBQUVsRlRrU3VRbUNDIn0sIjdiNmYiOmZ1bmN0aW9uKGUsdCxuKXtlLmV4cG9ydHM9bi5wKyJzdGF0aWMvaWNvbmZvbnQvaWNvbmZvbnQud29mZjIifSwiODBjMCI6ZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgYT1uKCI5N2FjIiksbz1uLm4oYSk7by5hfSwiODNhZiI6ZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtuKCI2YTU0Iik7dmFyIGE9bigiZjViZCIpLmRlZmF1bHQ7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuZGVmYXVsdD12b2lkIDA7dmFyIG89YShuKCJmY2YzIikpO24oImJmMGYiKSxuKCI0NjI2Iik7dmFyIHI9ZnVuY3Rpb24gZSh0KXtpZihbbnVsbCx2b2lkIDAsTmFOLCExXS5pbmNsdWRlcyh0KSlyZXR1cm4gdDtpZigib2JqZWN0IiE9PSgwLG8uZGVmYXVsdCkodCkmJiJmdW5jdGlvbiIhPT10eXBlb2YgdClyZXR1cm4gdDt2YXIgbj1mdW5jdGlvbihlKXtyZXR1cm4iW29iamVjdCBBcnJheV0iPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpfSh0KT9bXTp7fTtmb3IodmFyIGEgaW4gdCl0Lmhhc093blByb3BlcnR5KGEpJiYoblthXT0ib2JqZWN0Ij09PSgwLG8uZGVmYXVsdCkodFthXSk/ZSh0W2FdKTp0W2FdKTtyZXR1cm4gbn07dC5kZWZhdWx0PXJ9LCI4ODVjIjpmdW5jdGlvbihlLHQsbil7ZS5leHBvcnRzPW4ucCsic3RhdGljL0RJTi1SZWd1bGFyLnR0ZiJ9LCI4YzhiIjpmdW5jdGlvbihlLHQsbil7dmFyIGE9bigiYzg2YyIpLG89bigiMmVjNSIpLHI9bigiN2I2ZiIpLGk9bigiNzg1MyIpLHM9bigiMmY4MCIpLGM9bigiOWY1ZiIpLGw9bigiODg1YyIpLHU9bigiOTczNCIpO3Q9YSghMSk7dmFyIGQ9byhyKSxwPW8oaSksbT1vKHMpLGY9byhjKSxnPW8obCksaD1vKHUpO3QucHVzaChbZS5pLCdAY2hhcnNldCAiVVRGLTgiO1xyXG4vKipcclxuICog5LiL5pa55byV5YWl55qE5Li6dVZpZXcgVUnnmoTpm4bmiJDmoLflvI/mlofku7bvvIzkuLpzY3Nz6aKE5aSE55CG5Zmo77yM5YW25Lit5YyF5ZCr5LqG5LiA5LqbInUtIuW8gOWktOeahOiHquWumuS5ieWPmOmHj1xyXG4gKiDkvb/nlKjnmoTml7blgJnvvIzor7flsIbkuIvpnaLnmoTkuIDooYzlpI3liLbliLDmgqjnmoR1bmlhcHDpobnnm67moLnnm67lvZXnmoR1bmkuc2Nzc+S4reWNs+WPr1xyXG4gKiB1Vmlld+iHquWumuS5ieeahGNzc+exu+WQjeWSjHNjc3Plj5jph4/vvIzlnYfku6UidS0i5byA5aS077yM5LiN5Lya6YCg5oiQ5Yay56qB77yM6K+35pS+5b+D5L2/55SoIFxyXG4gKi9cbnVuaS1wYWdle29wYWNpdHk6MH11bmktcGFnZS5hbmltYXRpb24tYmVmb3Jle1xyXG5cdC8qIOWcqOmhtemdouS4iuS9v+eUqCB0cmFuc2Zvcm0g5Lya5a+86Ie06aG16Z2i5YaF55qEIGZpeGVkIOWumuS9jea4suafk+S4uiBhYnNvbHV0Ze+8jOmcgOimgeWcqOWKqOeUu+WujOaIkOWQjuenu+mZpCAqLy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMjBweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMjBweCl9dW5pLXBhZ2UuYW5pbWF0aW9uLWxlYXZle3RyYW5zaXRpb246YWxsIC4ycyBlYXNlfXVuaS1wYWdlLmFuaW1hdGlvbi1lbnRlcnt0cmFuc2l0aW9uOmFsbCAuMnMgZWFzZX11bmktcGFnZS5hbmltYXRpb24tc2hvd3tvcGFjaXR5OjF9dW5pLXBhZ2UuYW5pbWF0aW9uLWFmdGVye1xyXG5cdC8qIOWcqOmhtemdouS4iuS9v+eUqCB0cmFuc2Zvcm0g5Lya5a+86Ie06aG16Z2i5YaF55qEIGZpeGVkIOWumuS9jea4suafk+S4uiBhYnNvbHV0Ze+8jOmcgOimgeWcqOWKqOeUu+WujOaIkOWQjuenu+mZpCAqLy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCl9XG5AZm9udC1mYWNle2ZvbnQtZmFtaWx5Omljb25mb250OyAvKiBQcm9qZWN0IGlkIDI5MzAxNDIgKi9zcmM6dXJsKCcrZCsnKSBmb3JtYXQoIndvZmYyIiksdXJsKCcrcCsnKSBmb3JtYXQoIndvZmYiKSx1cmwoJyttKycpIGZvcm1hdCgidHJ1ZXR5cGUiKX0uaWNvbmZvbnR7Zm9udC1mYW1pbHk6aWNvbmZvbnQhaW1wb3J0YW50O2ZvbnQtc2l6ZToxNnB4O2ZvbnQtc3R5bGU6bm9ybWFsOy13ZWJraXQtZm9udC1zbW9vdGhpbmc6YW50aWFsaWFzZWQ7LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlfS5pY29uLWNodWFuZ3p1bzpiZWZvcmV7Y29udGVudDoiXFxlOGFkIn0uaWNvbi1wYWloYW5nYmFuZzpiZWZvcmV7Y29udGVudDoiXFxlOGIzIn0uaWNvbi1zaGlqaWFuOmJlZm9yZXtjb250ZW50OiJcXGU4YjkifS5pY29uLXR1cGlhbjE6YmVmb3Jle2NvbnRlbnQ6IlxcZThiYSJ9Lmljb24tc2hlamlfaHVhdHU6YmVmb3Jle2NvbnRlbnQ6IlxcZTY5MCJ9Lmljb24tc2hhbmdwaW46YmVmb3Jle2NvbnRlbnQ6IlxcZTY3NCJ9Lmljb24tY2hhbnBpbjpiZWZvcmV7Y29udGVudDoiXFxlNjczIn0uaWNvbi1VU0RUOmJlZm9yZXtjb250ZW50OiJcXGU2NmIifS5pY29uLU1XRDpiZWZvcmV7Y29udGVudDoiXFxlNjZjIn0uaWNvbi1CQ0g6YmVmb3Jle2NvbnRlbnQ6IlxcZTY2ZCJ9Lmljb24tRVRIOmJlZm9yZXtjb250ZW50OiJcXGU2NzAifS5pY29uLUxUQzpiZWZvcmV7Y29udGVudDoiXFxlNjcxIn0uaWNvbi1CVEM6YmVmb3Jle2NvbnRlbnQ6IlxcZTY3MiJ9Lmljb24tc291c3VvMTpiZWZvcmV7Y29udGVudDoiXFxlNzUyIn0uaWNvbi1zaG91eWUtc2hvdXllOmJlZm9yZXtjb250ZW50OiJcXGU2NjkifS5pY29uLXdvZGUzOmJlZm9yZXtjb250ZW50OiJcXGU2NmEifS5pY29uLWFpeGluOmJlZm9yZXtjb250ZW50OiJcXGVjYTEifS5pY29uLXlvbmdodTpiZWZvcmV7Y29udGVudDoiXFxlNjYyIn0uaWNvbi16aHVhbmh1YW4xOmJlZm9yZXtjb250ZW50OiJcXGU2NjAifS5pY29uLXpodWFuaHVhbjpiZWZvcmV7Y29udGVudDoiXFxlNjVmIn0uaWNvbi0yNGdmLWNoYXJ0QmFyVXB3YXJkOmJlZm9yZXtjb250ZW50OiJcXGU4NDgifS5pY29uLXR1YmlhbzpiZWZvcmV7Y29udGVudDoiXFxlNjViIn0uaWNvbi1pbnNlcnQtYm90dG9tLWZ1bGw6YmVmb3Jle2NvbnRlbnQ6IlxcZWE1YiJ9Lmljb24taW5zZXJ0LXRvcC1mdWxsOmJlZm9yZXtjb250ZW50OiJcXGVhNWUifS5pY29uLWNoZWNrYm94LW9rLWZ1bGw6YmVmb3Jle2NvbnRlbnQ6IlxcZWE2OSJ9Lmljb24tY2hlY2tib3gtZnVsbDpiZWZvcmV7Y29udGVudDoiXFxlYTZmIn0uaWNvbi1tdWx0aXBseS1mdWxsOmJlZm9yZXtjb250ZW50OiJcXGVhNzEifS5pY29uLW9rLWZ1bGw6YmVmb3Jle2NvbnRlbnQ6IlxcZWE3MiJ9Lmljb24tc2hhbmc6YmVmb3Jle2NvbnRlbnQ6IlxcZTY1ZSJ9Lmljb24teGlhbGE6YmVmb3Jle2NvbnRlbnQ6IlxcZTY4MiJ9Lmljb24tZmFzb25nMzpiZWZvcmV7Y29udGVudDoiXFxlNjY4In0uaWNvbi10aWFuamlhZGluZ2RhbjE6YmVmb3Jle2NvbnRlbnQ6IlxcZTY1YSJ9Lmljb24tY2hpY2FuZ2d1cGlhbzpiZWZvcmV7Y29udGVudDoiXFxlNjAyIn0uaWNvbi1pY29uX2hvbWU6YmVmb3Jle2NvbnRlbnQ6IlxcZTYxMiJ9Lmljb24taWNvbl9ob21lMTpiZWZvcmV7Y29udGVudDoiXFxlNjE4In0uaWNvbi1pY29uX3Bhc3N3b3JkOmJlZm9yZXtjb250ZW50OiJcXGU2MTkifS5pY29uLWljb25fcGVyc29uYWw6YmVmb3Jle2NvbnRlbnQ6IlxcZTYxYSJ9Lmljb24taWNvbl9tYWxsLTpiZWZvcmV7Y29udGVudDoiXFxlNjFiIn0uaWNvbi1pY29uX3Bhc3N3b3JkMTpiZWZvcmV7Y29udGVudDoiXFxlNjFjIn0uaWNvbi1pY29uX3NoYXJlOmJlZm9yZXtjb250ZW50OiJcXGU2MWQifS5pY29uLWljb25fc2hvcHBpbmdjYXJ0OmJlZm9yZXtjb250ZW50OiJcXGU2MWUifS5pY29uLWljb25fcGVyc29uYWwxOmJlZm9yZXtjb250ZW50OiJcXGU2MWYifS5pY29uLWljb25fbGV2ZWw6YmVmb3Jle2NvbnRlbnQ6IlxcZTYyMCJ9Lmljb24taWNvbl9taW5lOmJlZm9yZXtjb250ZW50OiJcXGU2MjEifS5pY29uLWljb25fbWFsbDpiZWZvcmV7Y29udGVudDoiXFxlNjIyIn0uaWNvbi1pY29uX2VkaXQ6YmVmb3Jle2NvbnRlbnQ6IlxcZTYyMyJ9Lmljb24taWNvbl93YWxsZXQ6YmVmb3Jle2NvbnRlbnQ6IlxcZTYyNCJ9Lmljb24taWNvbl9hZGRyZXNzOmJlZm9yZXtjb250ZW50OiJcXGU2MjUifS5pY29uLWljb25fdGltZTpiZWZvcmV7Y29udGVudDoiXFxlNjI2In0uaWNvbi1pY29uX3ByaXZpbGVnZTpiZWZvcmV7Y29udGVudDoiXFxlNjI3In0uaWNvbi1zb3VzdW86YmVmb3Jle2NvbnRlbnQ6IlxcZTY4YiJ9Lmljb24tbm9uZ3lhbzpiZWZvcmV7Y29udGVudDoiXFxlODFiIn0uaWNvbi10YW9jYW50dWlqaWFuOmJlZm9yZXtjb250ZW50OiJcXGU2MTQifS5pY29uLXF1YW5idTpiZWZvcmV7Y29udGVudDoiXFxlNmI4In0uaWNvbi1zaGFuZ2h1Z3VhbmxpOmJlZm9yZXtjb250ZW50OiJcXGU2YjAifS5pY29uLWVkaXQ6YmVmb3Jle2NvbnRlbnQ6IlxcZWI1YyJ9Lmljb24tY2hlbmdnb25nOmJlZm9yZXtjb250ZW50OiJcXGU2MmYifS5pY29uLWN1b3d1OmJlZm9yZXtjb250ZW50OiJcXGU2MzAifS5pY29uLXR1cGlhbjpiZWZvcmV7Y29udGVudDoiXFxmMWNiIn0uaWNvbi1kYWlmYWh1bzpiZWZvcmV7Y29udGVudDoiXFxlNjI5In0uaWNvbi1kYWlmdWt1YW46YmVmb3Jle2NvbnRlbnQ6IlxcZTYyYSJ9Lmljb24tZGFpc2hvdWh1bzpiZWZvcmV7Y29udGVudDoiXFxlNjJjIn0uaWNvbi14aWU6YmVmb3Jle2NvbnRlbnQ6IlxcZTYyZCJ9Lmljb24teGlhemFpbGlhbmc6YmVmb3Jle2NvbnRlbnQ6IlxcZTYyZSJ9Lmljb24teWlnb3VzaHVsaWFuZzpiZWZvcmV7Y29udGVudDoiXFxlNjMxIn0uaWNvbi1zaGFuZ2ppYTpiZWZvcmV7Y29udGVudDoiXFxlNjM2In0uaWNvbi1qaWNodXNoZXpoaTpiZWZvcmV7Y29udGVudDoiXFxlNjNmIn0uaWNvbi1kaW5nd2VpOmJlZm9yZXtjb250ZW50OiJcXGU2MDUifS5pY29uLXNob3VqaWhhbzpiZWZvcmV7Y29udGVudDoiXFxlNjBhIn0uaWNvbi15dWU6YmVmb3Jle2NvbnRlbnQ6IlxcZTZiNyJ9Lmljb24tamlhbjpiZWZvcmV7Y29udGVudDoiXFxlNmQ0In0uaWNvbi1qaWE6YmVmb3Jle2NvbnRlbnQ6IlxcZTZkNSJ9Lmljb24tZ2VuZ2R1bzpiZWZvcmV7Y29udGVudDoiXFxlNjNjIn0uaWNvbi1qaWExOmJlZm9yZXtjb250ZW50OiJcXGU2MzIifS5pY29uLWdvdXd1Y2hlbWFuOmJlZm9yZXtjb250ZW50OiJcXGU2MDAifS5pY29uLWRpYW5odWE6YmVmb3Jle2NvbnRlbnQ6IlxcZTc3NiJ9Lmljb24tZmFuaHVpOmJlZm9yZXtjb250ZW50OiJcXGU2NzcifS5pY29uLXFyY29kZTpiZWZvcmV7Y29udGVudDoiXFxlOTUxIn0uaWNvbi1zZXQ6YmVmb3Jle2NvbnRlbnQ6IlxcZTk3OSJ9Lmljb24tZXhpdC1mdWxsOmJlZm9yZXtjb250ZW50OiJcXGU5N2YifS5pY29uLWhlYXItZnVsbDpiZWZvcmV7Y29udGVudDoiXFxlOTlmIn0uaWNvbi1saWtlOmJlZm9yZXtjb250ZW50OiJcXGU5YTIifS5pY29uLW5ld3MtZmFpbHVyZTpiZWZvcmV7Y29udGVudDoiXFxlOWI4In0uaWNvbi10cnVjazpiZWZvcmV7Y29udGVudDoiXFxlOWQ5In0uaWNvbi1jaGVja2JveC1vazpiZWZvcmV7Y29udGVudDoiXFxlYTY4In0uaWNvbi1pY29uX3Nob3BwaW5nY2FydC1jb3B5OmJlZm9yZXtjb250ZW50OiJcXGYxY2MifS5pY29uLWNoZWNrYm94OmJlZm9yZXtjb250ZW50OiJcXGVhNzAifS5pY29uLWNob25nemhpOmJlZm9yZXtjb250ZW50OiJcXGU2MDQifS5pY29uLWppZmVuOmJlZm9yZXtjb250ZW50OiJcXGU2MGIifS5pY29uLWppZmVuc2hhbmdjaGVuZzpiZWZvcmV7Y29udGVudDoiXFxlNjBjIn0uaWNvbi1sZWlqaXNob3V5aTpiZWZvcmV7Y29udGVudDoiXFxlNjBmIn0uaWNvbi10aXhpYW46YmVmb3Jle2NvbnRlbnQ6IlxcZTYzMyJ9Lmljb24tem9uZ3Nob3V5aTpiZWZvcmV7Y29udGVudDoiXFxlNjM0In0uaWNvbi13ZWJpY29uMzA5OmJlZm9yZXtjb250ZW50OiJcXGU2YTAifS5pY29uLXdlaXhpbnpoaWZ1OmJlZm9yZXtjb250ZW50OiJcXGU2ODkifS5pY29uLXpoaWZ1YmFvOmJlZm9yZXtjb250ZW50OiJcXGU2OGEifS5pY29uLXFpZWh1YW46YmVmb3Jle2NvbnRlbnQ6IlxcZTc4OSJ9Lmljb24tdGlhbmNob25neGluZy06YmVmb3Jle2NvbnRlbnQ6IlxcZTY0MCJ9Lmljb24tamluZ3NoaTpiZWZvcmV7Y29udGVudDoiXFxlNjM1In0uaWNvbi10aXNoaTpiZWZvcmV7Y29udGVudDoiXFxlNjM3In0uaWNvbi1qaW5oYW5nemhvbmc6YmVmb3Jle2NvbnRlbnQ6IlxcZTYxNSJ9Lmljb24tdHVpY2h1OmJlZm9yZXtjb250ZW50OiJcXGU2MTYifS5pY29uLXFpZWh1YW56dWh1OmJlZm9yZXtjb250ZW50OiJcXGU2NTIifS5pY29uLWZlbnhpYW86YmVmb3Jle2NvbnRlbnQ6IlxcZTYzOSJ9Lmljb24temhpZnU6YmVmb3Jle2NvbnRlbnQ6IlxcZThmOSJ9Lmljb24tc2FvbWE6YmVmb3Jle2NvbnRlbnQ6IlxcZTY5ZiJ9Lmljb24tZXJ3ZWltYTpiZWZvcmV7Y29udGVudDoiXFxlNjAxIn0uaWNvbi16aGlmdTE6YmVmb3Jle2NvbnRlbnQ6IlxcZTYzYSJ9Lmljb24tYmFuZ2Rpbmc6YmVmb3Jle2NvbnRlbnQ6IlxcZTYwNiJ9Lmljb24tYmFuZ2RpbmcxOmJlZm9yZXtjb250ZW50OiJcXGU2NDcifS5pY29uLXFpbmdjaHU6YmVmb3Jle2NvbnRlbnQ6IlxcZTY1YyJ9Lmljb24tcmVud3U6YmVmb3Jle2NvbnRlbnQ6IlxcZTY1MyJ9Lmljb24tdGFzazpiZWZvcmV7Y29udGVudDoiXFxlNjAzIn0uaWNvbi1mYXNvbmc6YmVmb3Jle2NvbnRlbnQ6IlxcZTcwYiJ9Lmljb24tZmVueGlhbmc6YmVmb3Jle2NvbnRlbnQ6IlxcZTYwNyJ9Lmljb24tZmFzb25nMTpiZWZvcmV7Y29udGVudDoiXFxlZDJlIn0uaWNvbi1mZW54aWFuZzE6YmVmb3Jle2NvbnRlbnQ6IlxcZTZjMSJ9Lmljb24tZmVueGlhbmcyOmJlZm9yZXtjb250ZW50OiJcXGU2NmUifS5pY29uLXVwZGF0ZTpiZWZvcmV7Y29udGVudDoiXFxlNjNiIn0uaWNvbi1nZW5neGluOmJlZm9yZXtjb250ZW50OiJcXGU2MGUifS5pY29uLXVwZGF0ZTE6YmVmb3Jle2NvbnRlbnQ6IlxcZTYxMCJ9Lmljb24tbGlhb3RpYW46YmVmb3Jle2NvbnRlbnQ6IlxcZTYxMSJ9Lmljb24tbGlhb3RpYW4xOmJlZm9yZXtjb250ZW50OiJcXGU2MTMifS5pY29uLWxpYW90aWFuMjpiZWZvcmV7Y29udGVudDoiXFxlNjE3In0uaWNvbi1zaGlsaWFuZ3poaW5lbmdkdWl4aWFuZzpiZWZvcmV7Y29udGVudDoiXFxlNjQ5In0uaWNvbi1zdWI6YmVmb3Jle2NvbnRlbnQ6IlxcZTY0MSJ9Lmljb24tamlhMjpiZWZvcmV7Y29udGVudDoiXFxlNjQyIn0uaWNvbi1qaWFuMTpiZWZvcmV7Y29udGVudDoiXFxlNjQzIn0uaWNvbi1xaWFuYmFvMTpiZWZvcmV7Y29udGVudDoiXFxlNjQ0In0uaWNvbi1kYXlpbmppX286YmVmb3Jle2NvbnRlbnQ6IlxcZWI0OCJ9Lmljb24tcGluZ2d1bzpiZWZvcmV7Y29udGVudDoiXFxlNjY0In0uaWNvbi1hbnpodW86YmVmb3Jle2NvbnRlbnQ6IlxcZTY2NyJ9Lmljb24teGlhemFpMTpiZWZvcmV7Y29udGVudDoiXFxlNjQ2In0uaWNvbi1kYXlpbmppOmJlZm9yZXtjb250ZW50OiJcXGU2NDgifS5pY29uLXpoYW94aWFuZ2ppOmJlZm9yZXtjb250ZW50OiJcXGU2NjMifS5pY29uLWh1YWJhbi06YmVmb3Jle2NvbnRlbnQ6IlxcZTY2NSJ9Lmljb24tY2FtZXJhOmJlZm9yZXtjb250ZW50OiJcXGU2NjYifS5pY29uLWZlbnhpYW5nMzpiZWZvcmV7Y29udGVudDoiXFxlNjhjIn0uaWNvbi16aHVhbmppYXhpYW5zaGFuZ2RheWk6YmVmb3Jle2NvbnRlbnQ6IlxcZTZlZiJ9Lmljb24teGlhb3hpOmJlZm9yZXtjb250ZW50OiJcXGU2OGUifS5pY29uLWppbmdqaXJlbjpiZWZvcmV7Y29udGVudDoiXFxlNjYxIn0uaWNvbi10dWJpYW96aGl6dW9tb2JhbjpiZWZvcmV7Y29udGVudDoiXFxlNjdiIn0uaWNvbi1xaWVodWFuMTpiZWZvcmV7Y29udGVudDoiXFxlNjRhIn0uaWNvbi1qaWFoYW86YmVmb3Jle2NvbnRlbnQ6IlxcZTcyNiJ9Lmljb24td29kZTpiZWZvcmV7Y29udGVudDoiXFxlNjc2In0uaWNvbi1saWdodG5pbmc6YmVmb3Jle2NvbnRlbnQ6IlxcZTY1NSJ9Lmljb24tdG9uZ3poaTE6YmVmb3Jle2NvbnRlbnQ6IlxcZTZhMSJ9Lmljb24temhlbmdjZTpiZWZvcmV7Y29udGVudDoiXFxlNjRjIn0uaWNvbi15YW5qaW5nOmJlZm9yZXtjb250ZW50OiJcXGU4YzcifS5pY29uLXpoYW5nZGFuOmJlZm9yZXtjb250ZW50OiJcXGU2NTEifS5pY29uLXpoZW5nY2UxOmJlZm9yZXtjb250ZW50OiJcXGU2NTQifS5pY29uLXpoZW5nY2VqaWVkdTpiZWZvcmV7Y29udGVudDoiXFxmNzY0In0uaWNvbi13b2RlMjpiZWZvcmV7Y29udGVudDoiXFxlN2QzIn0uaWNvbi15YW5qaW5nLWthaTpiZWZvcmV7Y29udGVudDoiXFxlNmNjIn0uaWNvbi15YW5qaW5nLWd1YW46YmVmb3Jle2NvbnRlbnQ6IlxcZTZjZCJ9Lmljb24teXV5YW46YmVmb3Jle2NvbnRlbnQ6IlxcZTY4NCJ9Lmljb24tc2h1b21pbmc6YmVmb3Jle2NvbnRlbnQ6IlxcZTY1NiJ9Lmljb24tc2hhbmNodTpiZWZvcmV7Y29udGVudDoiXFxlNzRiIn0uaWNvbi13b2Rla2VmdTpiZWZvcmV7Y29udGVudDoiXFxlNjhkIn0uaWNvbi15aW5saWFuOmJlZm9yZXtjb250ZW50OiJcXGU2MjgifS5pY29uLWljb25nZW5nZHVvOmJlZm9yZXtjb250ZW50OiJcXGU2MDgifS5pY29uLXlvdXNhbmppYW86YmVmb3Jle2NvbnRlbnQ6IlxcZTYyYiJ9Lmljb24tY2hha2FuOmJlZm9yZXtjb250ZW50OiJcXGU2M2UifS5pY29uLXppeXVhbjpiZWZvcmV7Y29udGVudDoiXFxlNjVkIn0uaWNvbi1zaGV6aGk6YmVmb3Jle2NvbnRlbnQ6IlxcZThiOCJ9Lmljb24teGlheWl5ZXFpYW5qaW5jaGFrYW5nZW5nZHVvLXl1YW5rdWFuZzpiZWZvcmV7Y29udGVudDoiXFxlOGYwIn0uaWNvbi13b2RlLXdvZGU6YmVmb3Jle2NvbnRlbnQ6IlxcZTYwZCJ9Lmljb24tcGFpeHU6YmVmb3Jle2NvbnRlbnQ6IlxcZTYwOSJ9Lmljb24ta2VmdTpiZWZvcmV7Y29udGVudDoiXFxlNjM4In0uaWNvbi1qaWFqaWFuenVqaWFuamlhaGFvOmJlZm9yZXtjb250ZW50OiJcXGU2NGQifS5pY29uLXZpc2E6YmVmb3Jle2NvbnRlbnQ6IlxcZTY2ZiJ9Lmljb24teWFuamluZ195aW5jYW5nOmJlZm9yZXtjb250ZW50OiJcXGViNDUifS5pY29uLXlhbmppbmdfeGlhbnNoaTpiZWZvcmV7Y29udGVudDoiXFxlYjQ2In0uaWNvbi13b2RlMTpiZWZvcmV7Y29udGVudDoiXFxlNjRiIn0uaWNvbi1zaGFpeHVhbjE6YmVmb3Jle2NvbnRlbnQ6IlxcZTY5MiJ9Lmljb24teWFuemhlbmdtYTpiZWZvcmV7Y29udGVudDoiXFxlNmUxIn0uaWNvbi1mYW5odWkxOmJlZm9yZXtjb250ZW50OiJcXGU3MTYifS5pY29uLXNoYWl4dWFuOmJlZm9yZXtjb250ZW50OiJcXGU3MTcifS5pY29uLXppamlubGl1c2h1aTpiZWZvcmV7Y29udGVudDoiXFxlNzIxIn0uaWNvbi1mYXNvbmcyOmJlZm9yZXtjb250ZW50OiJcXGU2M2QifS5pY29uLXlpbmxpYW4xOmJlZm9yZXtjb250ZW50OiJcXGU2OGYifS5pY29uLWdlbmdkdW8xOmJlZm9yZXtjb250ZW50OiJcXGU2NDUifS5pY29uLWR1aWhhbzpiZWZvcmV7Y29udGVudDoiXFxlNjRmIn0uaWNvbi1rb25neGlud3VqaWFveGluZzpiZWZvcmV7Y29udGVudDoiXFxlNjUwIn0uaWNvbi1zaGl4aW53dWppYW94aW5nOmJlZm9yZXtjb250ZW50OiJcXGU2NTcifS5pY29uLWZ1emhpOmJlZm9yZXtjb250ZW50OiJcXGU4YjAifS5pY29uLXhpYW5neW91Z2VuZ2R1bzpiZWZvcmV7Y29udGVudDoiXFxlNjRlIn0uaWNvbi1qaWViYW5nOmJlZm9yZXtjb250ZW50OiJcXGU2NTgifS5pY29uLWljb25fQTpiZWZvcmV7Y29udGVudDoiXFxlNmFkIn0uaWNvbi1rZWh1ZGFuZ2FuOmJlZm9yZXtjb250ZW50OiJcXGU2YWUifS5pY29uLWxpYW90aWFuMzpiZWZvcmV7Y29udGVudDoiXFxlNjU5In0uaWNvbi10b25nemhpOmJlZm9yZXtjb250ZW50OiJcXGVlZWQifS5pY29uLXN0YXItZnVsbDpiZWZvcmV7Y29udGVudDoiXFxlOWExIn0uaWNvbi1uZXdzLXN1Y2Nlc3MtZnVsbDpiZWZvcmV7Y29udGVudDoiXFxlOWIzIn0uaWNvbi1zb3J0LWZ1bGw6YmVmb3Jle2NvbnRlbnQ6IlxcZWE0YiJ9XHJcbi8qIVxyXG5BbmltYXRlLmNzcyAtIGh0dHA6Ly9kYW5lZGVuLm1lL2FuaW1hdGVcclxuTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlXHJcblxyXG5Db3B5cmlnaHQgKGMpIDIwMTMgRGFuaWVsIEVkZW5cclxuXHJcblBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxyXG5cclxuVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXHJcblxyXG5USEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuXHJcbiovLmFuaW1hdGVkey13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOi41czthbmltYXRpb24tZHVyYXRpb246LjVzOy13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTpib3RoO2FuaW1hdGlvbi1maWxsLW1vZGU6Ym90aH0uYW5pbWF0ZWQuaW5maW5pdGV7LXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmluZmluaXRlO2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6aW5maW5pdGV9LmFuaW1hdGVkLmhpbmdley13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOjJzO2FuaW1hdGlvbi1kdXJhdGlvbjoyc31ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlezAlLDEwMCUsMjAlLDUwJSw4MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX00MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMzBweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTMwcHgpfTYwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xNXB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTVweCl9fUBrZXlmcmFtZXMgYm91bmNlezAlLDEwMCUsMjAlLDUwJSw4MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9NDAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTMwcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMzBweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTMwcHgpfTYwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xNXB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTE1cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xNXB4KX19LmJvdW5jZXstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmJvdW5jZTthbmltYXRpb24tbmFtZTpib3VuY2V9QC13ZWJraXQta2V5ZnJhbWVzIGZsYXNoezAlLDEwMCUsNTAle29wYWNpdHk6MX0yNSUsNzUle29wYWNpdHk6MH19QGtleWZyYW1lcyBmbGFzaHswJSwxMDAlLDUwJXtvcGFjaXR5OjF9MjUlLDc1JXtvcGFjaXR5OjB9fS5mbGFzaHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmZsYXNoO2FuaW1hdGlvbi1uYW1lOmZsYXNofUAtd2Via2l0LWtleWZyYW1lcyBwdWxzZXswJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2Zvcm06c2NhbGUoMSl9NTAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEuMSk7dHJhbnNmb3JtOnNjYWxlKDEuMSl9MTAwJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2Zvcm06c2NhbGUoMSl9fUBrZXlmcmFtZXMgcHVsc2V7MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSk7LW1zLXRyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2Zvcm06c2NhbGUoMSl9NTAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEuMSk7LW1zLXRyYW5zZm9ybTpzY2FsZSgxLjEpO3RyYW5zZm9ybTpzY2FsZSgxLjEpfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSk7LW1zLXRyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2Zvcm06c2NhbGUoMSl9fS5wdWxzZXstd2Via2l0LWFuaW1hdGlvbi1uYW1lOnB1bHNlO2FuaW1hdGlvbi1uYW1lOnB1bHNlfUAtd2Via2l0LWtleWZyYW1lcyBydWJiZXJCYW5kezAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEpO3RyYW5zZm9ybTpzY2FsZSgxKX0zMCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVYKDEuMjUpIHNjYWxlWSguNzUpO3RyYW5zZm9ybTpzY2FsZVgoMS4yNSkgc2NhbGVZKC43NSl9NDAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWCguNzUpIHNjYWxlWSgxLjI1KTt0cmFuc2Zvcm06c2NhbGVYKC43NSkgc2NhbGVZKDEuMjUpfTYwJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVgoMS4xNSkgc2NhbGVZKC44NSk7dHJhbnNmb3JtOnNjYWxlWCgxLjE1KSBzY2FsZVkoLjg1KX0xMDAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEpO3RyYW5zZm9ybTpzY2FsZSgxKX19QGtleWZyYW1lcyBydWJiZXJCYW5kezAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEpOy1tcy10cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNmb3JtOnNjYWxlKDEpfTMwJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVgoMS4yNSkgc2NhbGVZKC43NSk7LW1zLXRyYW5zZm9ybTpzY2FsZVgoMS4yNSkgc2NhbGVZKC43NSk7dHJhbnNmb3JtOnNjYWxlWCgxLjI1KSBzY2FsZVkoLjc1KX00MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVYKC43NSkgc2NhbGVZKDEuMjUpOy1tcy10cmFuc2Zvcm06c2NhbGVYKC43NSkgc2NhbGVZKDEuMjUpO3RyYW5zZm9ybTpzY2FsZVgoLjc1KSBzY2FsZVkoMS4yNSl9NjAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWCgxLjE1KSBzY2FsZVkoLjg1KTstbXMtdHJhbnNmb3JtOnNjYWxlWCgxLjE1KSBzY2FsZVkoLjg1KTt0cmFuc2Zvcm06c2NhbGVYKDEuMTUpIHNjYWxlWSguODUpfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSk7LW1zLXRyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2Zvcm06c2NhbGUoMSl9fS5ydWJiZXJCYW5key13ZWJraXQtYW5pbWF0aW9uLW5hbWU6cnViYmVyQmFuZDthbmltYXRpb24tbmFtZTpydWJiZXJCYW5kfUAtd2Via2l0LWtleWZyYW1lcyBzaGFrZXswJSwxMDAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCl9MTAlLDMwJSw1MCUsNzAlLDkwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTBweCl9MjAlLDQwJSw2MCUsODAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTBweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTBweCl9fUBrZXlmcmFtZXMgc2hha2V7MCUsMTAwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgwKX0xMCUsMzAlLDUwJSw3MCUsOTAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTEwcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTBweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTEwcHgpfTIwJSw0MCUsNjAlLDgwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDEwcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgxMHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgxMHB4KX19LnNoYWtley13ZWJraXQtYW5pbWF0aW9uLW5hbWU6c2hha2U7YW5pbWF0aW9uLW5hbWU6c2hha2V9QC13ZWJraXQta2V5ZnJhbWVzIHN3aW5nezIwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMTVkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMTVkZWcpfTQwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoLTEwZGVnKTt0cmFuc2Zvcm06cm90YXRlKC0xMGRlZyl9NjAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg1ZGVnKTt0cmFuc2Zvcm06cm90YXRlKDVkZWcpfTgwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoLTVkZWcpO3RyYW5zZm9ybTpyb3RhdGUoLTVkZWcpfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMGRlZyl9fUBrZXlmcmFtZXMgc3dpbmd7MjAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxNWRlZyk7LW1zLXRyYW5zZm9ybTpyb3RhdGUoMTVkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMTVkZWcpfTQwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoLTEwZGVnKTstbXMtdHJhbnNmb3JtOnJvdGF0ZSgtMTBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoLTEwZGVnKX02MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDVkZWcpOy1tcy10cmFuc2Zvcm06cm90YXRlKDVkZWcpO3RyYW5zZm9ybTpyb3RhdGUoNWRlZyl9ODAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgtNWRlZyk7LW1zLXRyYW5zZm9ybTpyb3RhdGUoLTVkZWcpO3RyYW5zZm9ybTpyb3RhdGUoLTVkZWcpfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDBkZWcpOy1tcy10cmFuc2Zvcm06cm90YXRlKDBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMGRlZyl9fS5zd2luZ3std2Via2l0LXRyYW5zZm9ybS1vcmlnaW46dG9wIGNlbnRlcjstbXMtdHJhbnNmb3JtLW9yaWdpbjp0b3AgY2VudGVyO3RyYW5zZm9ybS1vcmlnaW46dG9wIGNlbnRlcjstd2Via2l0LWFuaW1hdGlvbi1uYW1lOnN3aW5nO2FuaW1hdGlvbi1uYW1lOnN3aW5nfUAtd2Via2l0LWtleWZyYW1lcyB0YWRhezAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEpO3RyYW5zZm9ybTpzY2FsZSgxKX0xMCUsMjAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKC45KSByb3RhdGUoLTNkZWcpO3RyYW5zZm9ybTpzY2FsZSguOSkgcm90YXRlKC0zZGVnKX0zMCUsNTAlLDcwJSw5MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMS4xKSByb3RhdGUoM2RlZyk7dHJhbnNmb3JtOnNjYWxlKDEuMSkgcm90YXRlKDNkZWcpfTQwJSw2MCUsODAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEuMSkgcm90YXRlKC0zZGVnKTt0cmFuc2Zvcm06c2NhbGUoMS4xKSByb3RhdGUoLTNkZWcpfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSkgcm90YXRlKDApO3RyYW5zZm9ybTpzY2FsZSgxKSByb3RhdGUoMCl9fUBrZXlmcmFtZXMgdGFkYXswJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxKTstbXMtdHJhbnNmb3JtOnNjYWxlKDEpO3RyYW5zZm9ybTpzY2FsZSgxKX0xMCUsMjAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKC45KSByb3RhdGUoLTNkZWcpOy1tcy10cmFuc2Zvcm06c2NhbGUoLjkpIHJvdGF0ZSgtM2RlZyk7dHJhbnNmb3JtOnNjYWxlKC45KSByb3RhdGUoLTNkZWcpfTMwJSw1MCUsNzAlLDkwJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxLjEpIHJvdGF0ZSgzZGVnKTstbXMtdHJhbnNmb3JtOnNjYWxlKDEuMSkgcm90YXRlKDNkZWcpO3RyYW5zZm9ybTpzY2FsZSgxLjEpIHJvdGF0ZSgzZGVnKX00MCUsNjAlLDgwJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxLjEpIHJvdGF0ZSgtM2RlZyk7LW1zLXRyYW5zZm9ybTpzY2FsZSgxLjEpIHJvdGF0ZSgtM2RlZyk7dHJhbnNmb3JtOnNjYWxlKDEuMSkgcm90YXRlKC0zZGVnKX0xMDAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEpIHJvdGF0ZSgwKTstbXMtdHJhbnNmb3JtOnNjYWxlKDEpIHJvdGF0ZSgwKTt0cmFuc2Zvcm06c2NhbGUoMSkgcm90YXRlKDApfX0udGFkYXstd2Via2l0LWFuaW1hdGlvbi1uYW1lOnRhZGE7YW5pbWF0aW9uLW5hbWU6dGFkYX1ALXdlYmtpdC1rZXlmcmFtZXMgd29iYmxlezAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCl9MTUley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTI1JSkgcm90YXRlKC01ZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMjUlKSByb3RhdGUoLTVkZWcpfTMwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDIwJSkgcm90YXRlKDNkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDIwJSkgcm90YXRlKDNkZWcpfTQ1JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xNSUpIHJvdGF0ZSgtM2RlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTE1JSkgcm90YXRlKC0zZGVnKX02MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgxMCUpIHJvdGF0ZSgyZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgxMCUpIHJvdGF0ZSgyZGVnKX03NSV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNSUpIHJvdGF0ZSgtMWRlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUlKSByb3RhdGUoLTFkZWcpfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgwKX19QGtleWZyYW1lcyB3b2JibGV7MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCl9MTUley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTI1JSkgcm90YXRlKC01ZGVnKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTI1JSkgcm90YXRlKC01ZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMjUlKSByb3RhdGUoLTVkZWcpfTMwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDIwJSkgcm90YXRlKDNkZWcpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgyMCUpIHJvdGF0ZSgzZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgyMCUpIHJvdGF0ZSgzZGVnKX00NSV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTUlKSByb3RhdGUoLTNkZWcpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTUlKSByb3RhdGUoLTNkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0xNSUpIHJvdGF0ZSgtM2RlZyl9NjAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAlKSByb3RhdGUoMmRlZyk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDEwJSkgcm90YXRlKDJkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDEwJSkgcm90YXRlKDJkZWcpfTc1JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01JSkgcm90YXRlKC0xZGVnKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUlKSByb3RhdGUoLTFkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC01JSkgcm90YXRlKC0xZGVnKX0xMDAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDApfX0ud29iYmxley13ZWJraXQtYW5pbWF0aW9uLW5hbWU6d29iYmxlO2FuaW1hdGlvbi1uYW1lOndvYmJsZX1ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW57MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKC4zKTt0cmFuc2Zvcm06c2NhbGUoLjMpfTUwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMS4wNSk7dHJhbnNmb3JtOnNjYWxlKDEuMDUpfTcwJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSguOSk7dHJhbnNmb3JtOnNjYWxlKC45KX0xMDAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2Zvcm06c2NhbGUoMSl9fUBrZXlmcmFtZXMgYm91bmNlSW57MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKC4zKTstbXMtdHJhbnNmb3JtOnNjYWxlKC4zKTt0cmFuc2Zvcm06c2NhbGUoLjMpfTUwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMS4wNSk7LW1zLXRyYW5zZm9ybTpzY2FsZSgxLjA1KTt0cmFuc2Zvcm06c2NhbGUoMS4wNSl9NzAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKC45KTstbXMtdHJhbnNmb3JtOnNjYWxlKC45KTt0cmFuc2Zvcm06c2NhbGUoLjkpfTEwMCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEpOy1tcy10cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNmb3JtOnNjYWxlKDEpfX0uYm91bmNlSW57LXdlYmtpdC1hbmltYXRpb24tbmFtZTpib3VuY2VJbjthbmltYXRpb24tbmFtZTpib3VuY2VJbn1ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5Eb3duezAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0yMDAwcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0yMDAwcHgpfTYwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgzMHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgzMHB4KX04MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTBweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwcHgpfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX19QGtleWZyYW1lcyBib3VuY2VJbkRvd257MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTIwMDBweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0yMDAwcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0yMDAwcHgpfTYwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgzMHB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMzBweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMzBweCl9ODAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTBweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwcHgpfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9fS5ib3VuY2VJbkRvd257LXdlYmtpdC1hbmltYXRpb24tbmFtZTpib3VuY2VJbkRvd247YW5pbWF0aW9uLW5hbWU6Ym91bmNlSW5Eb3dufUAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbkxlZnR7MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIwMDBweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIwMDBweCl9NjAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDMwcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDMwcHgpfTgwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTBweCl9MTAwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDApfX1Aa2V5ZnJhbWVzIGJvdW5jZUluTGVmdHswJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMjAwMHB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIwMDBweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIwMDBweCl9NjAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDMwcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgzMHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgzMHB4KX04MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTBweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTBweCl9MTAwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgwKX19LmJvdW5jZUluTGVmdHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmJvdW5jZUluTGVmdDthbmltYXRpb24tbmFtZTpib3VuY2VJbkxlZnR9QC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluUmlnaHR7MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMjAwMHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgyMDAwcHgpfTYwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMzBweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTMwcHgpfTgwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDEwcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDEwcHgpfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgwKX19QGtleWZyYW1lcyBib3VuY2VJblJpZ2h0ezAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDIwMDBweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDIwMDBweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMjAwMHB4KX02MCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTMwcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMzBweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTMwcHgpfTgwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDEwcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgxMHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgxMHB4KX0xMDAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDApfX0uYm91bmNlSW5SaWdodHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmJvdW5jZUluUmlnaHQ7YW5pbWF0aW9uLW5hbWU6Ym91bmNlSW5SaWdodH1ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5VcHswJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgyMDAwcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDIwMDBweCl9NjAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0zMHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMzBweCl9ODAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTBweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTBweCl9MTAwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfX1Aa2V5ZnJhbWVzIGJvdW5jZUluVXB7MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMjAwMHB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMjAwMHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgyMDAwcHgpfTYwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMzBweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0zMHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMzBweCl9ODAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTBweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDEwcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDEwcHgpfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9fS5ib3VuY2VJblVwey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6Ym91bmNlSW5VcDthbmltYXRpb24tbmFtZTpib3VuY2VJblVwfUAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXR7MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNmb3JtOnNjYWxlKDEpfTI1JXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSguOTUpO3RyYW5zZm9ybTpzY2FsZSguOTUpfTUwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMS4xKTt0cmFuc2Zvcm06c2NhbGUoMS4xKX0xMDAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSguMyk7dHJhbnNmb3JtOnNjYWxlKC4zKX19QGtleWZyYW1lcyBib3VuY2VPdXR7MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSk7LW1zLXRyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2Zvcm06c2NhbGUoMSl9MjUley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKC45NSk7LW1zLXRyYW5zZm9ybTpzY2FsZSguOTUpO3RyYW5zZm9ybTpzY2FsZSguOTUpfTUwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMS4xKTstbXMtdHJhbnNmb3JtOnNjYWxlKDEuMSk7dHJhbnNmb3JtOnNjYWxlKDEuMSl9MTAwJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoLjMpOy1tcy10cmFuc2Zvcm06c2NhbGUoLjMpO3RyYW5zZm9ybTpzY2FsZSguMyl9fS5ib3VuY2VPdXR7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpib3VuY2VPdXQ7YW5pbWF0aW9uLW5hbWU6Ym91bmNlT3V0fUAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXREb3duezAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9MjAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0yMHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMjBweCl9MTAwJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgyMDAwcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDIwMDBweCl9fUBrZXlmcmFtZXMgYm91bmNlT3V0RG93bnswJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0yMCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTIwcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMjBweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTIwcHgpfTEwMCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMjAwMHB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMjAwMHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgyMDAwcHgpfX0uYm91bmNlT3V0RG93bnstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmJvdW5jZU91dERvd247YW5pbWF0aW9uLW5hbWU6Ym91bmNlT3V0RG93bn1ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0TGVmdHswJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDApfTIwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgyMHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgyMHB4KX0xMDAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMDAwcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMDAwcHgpfX1Aa2V5ZnJhbWVzIGJvdW5jZU91dExlZnR7MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCl9MjAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDIwcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgyMHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgyMHB4KX0xMDAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMDAwcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMjAwMHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMjAwMHB4KX19LmJvdW5jZU91dExlZnR7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpib3VuY2VPdXRMZWZ0O2FuaW1hdGlvbi1uYW1lOmJvdW5jZU91dExlZnR9QC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dFJpZ2h0ezAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCl9MjAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMjBweCl9MTAwJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgyMDAwcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDIwMDBweCl9fUBrZXlmcmFtZXMgYm91bmNlT3V0UmlnaHR7MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCl9MjAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMHB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIwcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMHB4KX0xMDAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDIwMDBweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDIwMDBweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMjAwMHB4KX19LmJvdW5jZU91dFJpZ2h0ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6Ym91bmNlT3V0UmlnaHQ7YW5pbWF0aW9uLW5hbWU6Ym91bmNlT3V0UmlnaHR9QC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dFVwezAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9MjAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDIwcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDIwcHgpfTEwMCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTIwMDBweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTIwMDBweCl9fUBrZXlmcmFtZXMgYm91bmNlT3V0VXB7MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9MjAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDIwcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgyMHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgyMHB4KX0xMDAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0yMDAwcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMjAwMHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMjAwMHB4KX19LmJvdW5jZU91dFVwey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6Ym91bmNlT3V0VXA7YW5pbWF0aW9uLW5hbWU6Ym91bmNlT3V0VXB9QC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbnswJXtvcGFjaXR5OjB9MTAwJXtvcGFjaXR5OjF9fUBrZXlmcmFtZXMgZmFkZUluezAle29wYWNpdHk6MH0xMDAle29wYWNpdHk6MX19LmZhZGVJbnstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmZhZGVJbjthbmltYXRpb24tbmFtZTpmYWRlSW59QC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkRvd257MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTIwcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0yMHB4KX0xMDAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfX1Aa2V5ZnJhbWVzIGZhZGVJbkRvd257MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTIwcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMjBweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTIwcHgpfTEwMCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfX0uZmFkZUluRG93bnstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmZhZGVJbkRvd247YW5pbWF0aW9uLW5hbWU6ZmFkZUluRG93bn1ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluRG93bkJpZ3swJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMjAwMHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMjAwMHB4KX0xMDAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfX1Aa2V5ZnJhbWVzIGZhZGVJbkRvd25CaWd7MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTIwMDBweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0yMDAwcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0yMDAwcHgpfTEwMCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfX0uZmFkZUluRG93bkJpZ3std2Via2l0LWFuaW1hdGlvbi1uYW1lOmZhZGVJbkRvd25CaWc7YW5pbWF0aW9uLW5hbWU6ZmFkZUluRG93bkJpZ31ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluTGVmdHswJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMjBweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIwcHgpfTEwMCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCl9fUBrZXlmcmFtZXMgZmFkZUluTGVmdHswJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMjBweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMjBweCl9MTAwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCl9fS5mYWRlSW5MZWZ0ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6ZmFkZUluTGVmdDthbmltYXRpb24tbmFtZTpmYWRlSW5MZWZ0fUAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5MZWZ0QmlnezAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMDAwcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMDAwcHgpfTEwMCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCl9fUBrZXlmcmFtZXMgZmFkZUluTGVmdEJpZ3swJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMjAwMHB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIwMDBweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIwMDBweCl9MTAwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCl9fS5mYWRlSW5MZWZ0Qmlney13ZWJraXQtYW5pbWF0aW9uLW5hbWU6ZmFkZUluTGVmdEJpZzthbmltYXRpb24tbmFtZTpmYWRlSW5MZWZ0QmlnfUAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5SaWdodHswJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgyMHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgyMHB4KX0xMDAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDApfX1Aa2V5ZnJhbWVzIGZhZGVJblJpZ2h0ezAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDIwcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgyMHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgyMHB4KX0xMDAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgwKX19LmZhZGVJblJpZ2h0ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6ZmFkZUluUmlnaHQ7YW5pbWF0aW9uLW5hbWU6ZmFkZUluUmlnaHR9QC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblJpZ2h0QmlnezAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDIwMDBweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMjAwMHB4KX0xMDAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDApfX1Aa2V5ZnJhbWVzIGZhZGVJblJpZ2h0QmlnezAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDIwMDBweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDIwMDBweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMjAwMHB4KX0xMDAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgwKX19LmZhZGVJblJpZ2h0Qmlney13ZWJraXQtYW5pbWF0aW9uLW5hbWU6ZmFkZUluUmlnaHRCaWc7YW5pbWF0aW9uLW5hbWU6ZmFkZUluUmlnaHRCaWd9QC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblVwezAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDIwcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDIwcHgpfTEwMCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9fUBrZXlmcmFtZXMgZmFkZUluVXB7MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMjBweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDIwcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDIwcHgpfTEwMCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfX0uZmFkZUluVXB7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpmYWRlSW5VcDthbmltYXRpb24tbmFtZTpmYWRlSW5VcH1ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluVXBCaWd7MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMjAwMHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgyMDAwcHgpfTEwMCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9fUBrZXlmcmFtZXMgZmFkZUluVXBCaWd7MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMjAwMHB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMjAwMHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgyMDAwcHgpfTEwMCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfX0uZmFkZUluVXBCaWd7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpmYWRlSW5VcEJpZzthbmltYXRpb24tbmFtZTpmYWRlSW5VcEJpZ31ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dHswJXtvcGFjaXR5OjF9MTAwJXtvcGFjaXR5OjB9fUBrZXlmcmFtZXMgZmFkZU91dHswJXtvcGFjaXR5OjF9MTAwJXtvcGFjaXR5OjB9fS5mYWRlT3V0ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6ZmFkZU91dDthbmltYXRpb24tbmFtZTpmYWRlT3V0fUAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0RG93bnswJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0xMDAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDIwcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDIwcHgpfX1Aa2V5ZnJhbWVzIGZhZGVPdXREb3duezAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0xMDAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDIwcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgyMHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgyMHB4KX19LmZhZGVPdXREb3duey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6ZmFkZU91dERvd247YW5pbWF0aW9uLW5hbWU6ZmFkZU91dERvd259QC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXREb3duQmlnezAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfTEwMCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMjAwMHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgyMDAwcHgpfX1Aa2V5ZnJhbWVzIGZhZGVPdXREb3duQmlnezAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0xMDAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDIwMDBweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDIwMDBweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMjAwMHB4KX19LmZhZGVPdXREb3duQmlney13ZWJraXQtYW5pbWF0aW9uLW5hbWU6ZmFkZU91dERvd25CaWc7YW5pbWF0aW9uLW5hbWU6ZmFkZU91dERvd25CaWd9QC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRMZWZ0ezAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDApfTEwMCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIwcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMHB4KX19QGtleWZyYW1lcyBmYWRlT3V0TGVmdHswJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCl9MTAwJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMjBweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMjBweCl9fS5mYWRlT3V0TGVmdHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmZhZGVPdXRMZWZ0O2FuaW1hdGlvbi1uYW1lOmZhZGVPdXRMZWZ0fUAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0TGVmdEJpZ3swJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgwKX0xMDAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMDAwcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMDAwcHgpfX1Aa2V5ZnJhbWVzIGZhZGVPdXRMZWZ0QmlnezAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgwKX0xMDAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMDAwcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMjAwMHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMjAwMHB4KX19LmZhZGVPdXRMZWZ0Qmlney13ZWJraXQtYW5pbWF0aW9uLW5hbWU6ZmFkZU91dExlZnRCaWc7YW5pbWF0aW9uLW5hbWU6ZmFkZU91dExlZnRCaWd9QC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRSaWdodHswJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgwKX0xMDAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDIwcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDIwcHgpfX1Aa2V5ZnJhbWVzIGZhZGVPdXRSaWdodHswJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCl9MTAwJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgyMHB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMjBweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMjBweCl9fS5mYWRlT3V0UmlnaHR7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpmYWRlT3V0UmlnaHQ7YW5pbWF0aW9uLW5hbWU6ZmFkZU91dFJpZ2h0fUAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0UmlnaHRCaWd7MCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCl9MTAwJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgyMDAwcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDIwMDBweCl9fUBrZXlmcmFtZXMgZmFkZU91dFJpZ2h0QmlnezAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgwKX0xMDAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDIwMDBweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDIwMDBweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMjAwMHB4KX19LmZhZGVPdXRSaWdodEJpZ3std2Via2l0LWFuaW1hdGlvbi1uYW1lOmZhZGVPdXRSaWdodEJpZzthbmltYXRpb24tbmFtZTpmYWRlT3V0UmlnaHRCaWd9QC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRVcHswJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0xMDAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0yMHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMjBweCl9fUBrZXlmcmFtZXMgZmFkZU91dFVwezAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0xMDAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0yMHB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTIwcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0yMHB4KX19LmZhZGVPdXRVcHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmZhZGVPdXRVcDthbmltYXRpb24tbmFtZTpmYWRlT3V0VXB9QC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRVcEJpZ3swJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0xMDAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0yMDAwcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0yMDAwcHgpfX1Aa2V5ZnJhbWVzIGZhZGVPdXRVcEJpZ3swJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9MTAwJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMjAwMHB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTIwMDBweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTIwMDBweCl9fS5mYWRlT3V0VXBCaWd7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpmYWRlT3V0VXBCaWc7YW5pbWF0aW9uLW5hbWU6ZmFkZU91dFVwQmlnfUAtd2Via2l0LWtleWZyYW1lcyBmbGlwezAley13ZWJraXQtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDApIHJvdGF0ZVkoMCkgc2NhbGUoMSk7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDApIHJvdGF0ZVkoMCkgc2NhbGUoMSk7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0O2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXR9NDAley13ZWJraXQtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDE1MHB4KSByb3RhdGVZKDE3MGRlZykgc2NhbGUoMSk7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDE1MHB4KSByb3RhdGVZKDE3MGRlZykgc2NhbGUoMSk7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0O2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXR9NTAley13ZWJraXQtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDE1MHB4KSByb3RhdGVZKDE5MGRlZykgc2NhbGUoMSk7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDE1MHB4KSByb3RhdGVZKDE5MGRlZykgc2NhbGUoMSk7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW47YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWlufTgwJXstd2Via2l0LXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigwKSByb3RhdGVZKDF0dXJuKSBzY2FsZSguOTUpO3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigwKSByb3RhdGVZKDF0dXJuKSBzY2FsZSguOTUpOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbn0xMDAley13ZWJraXQtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDApIHJvdGF0ZVkoMXR1cm4pIHNjYWxlKDEpO3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigwKSByb3RhdGVZKDF0dXJuKSBzY2FsZSgxKTstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbjthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW59fUBrZXlmcmFtZXMgZmxpcHswJXstd2Via2l0LXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigwKSByb3RhdGVZKDApIHNjYWxlKDEpOy1tcy10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMCkgcm90YXRlWSgwKSBzY2FsZSgxKTt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMCkgcm90YXRlWSgwKSBzY2FsZSgxKTstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXQ7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dH00MCV7LXdlYmtpdC10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMTUwcHgpIHJvdGF0ZVkoMTcwZGVnKSBzY2FsZSgxKTstbXMtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDE1MHB4KSByb3RhdGVZKDE3MGRlZykgc2NhbGUoMSk7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDE1MHB4KSByb3RhdGVZKDE3MGRlZykgc2NhbGUoMSk7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0O2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXR9NTAley13ZWJraXQtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDE1MHB4KSByb3RhdGVZKDE5MGRlZykgc2NhbGUoMSk7LW1zLXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigxNTBweCkgcm90YXRlWSgxOTBkZWcpIHNjYWxlKDEpO3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigxNTBweCkgcm90YXRlWSgxOTBkZWcpIHNjYWxlKDEpOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbn04MCV7LXdlYmtpdC10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMCkgcm90YXRlWSgxdHVybikgc2NhbGUoLjk1KTstbXMtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDApIHJvdGF0ZVkoMXR1cm4pIHNjYWxlKC45NSk7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDApIHJvdGF0ZVkoMXR1cm4pIHNjYWxlKC45NSk7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW47YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWlufTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMCkgcm90YXRlWSgxdHVybikgc2NhbGUoMSk7LW1zLXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigwKSByb3RhdGVZKDF0dXJuKSBzY2FsZSgxKTt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMCkgcm90YXRlWSgxdHVybikgc2NhbGUoMSk7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW47YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWlufX0uYW5pbWF0ZWQuZmxpcHstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6dmlzaWJsZTstbXMtYmFja2ZhY2UtdmlzaWJpbGl0eTp2aXNpYmxlO2JhY2tmYWNlLXZpc2liaWxpdHk6dmlzaWJsZTstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmZsaXA7YW5pbWF0aW9uLW5hbWU6ZmxpcH1ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcEluWHswJXstd2Via2l0LXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCg5MGRlZyk7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKTtvcGFjaXR5OjB9NDAley13ZWJraXQtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKC0xMGRlZyk7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKC0xMGRlZyl9NzAley13ZWJraXQtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDEwZGVnKTt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMTBkZWcpfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMGRlZyk7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDBkZWcpO29wYWNpdHk6MX19QGtleWZyYW1lcyBmbGlwSW5YezAley13ZWJraXQtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKTstbXMtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKTt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoOTBkZWcpO29wYWNpdHk6MH00MCV7LXdlYmtpdC10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoLTEwZGVnKTstbXMtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKC0xMGRlZyk7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKC0xMGRlZyl9NzAley13ZWJraXQtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDEwZGVnKTstbXMtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDEwZGVnKTt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMTBkZWcpfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMGRlZyk7LW1zLXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKTt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMGRlZyk7b3BhY2l0eToxfX0uZmxpcEluWHstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6dmlzaWJsZSFpbXBvcnRhbnQ7LW1zLWJhY2tmYWNlLXZpc2liaWxpdHk6dmlzaWJsZSFpbXBvcnRhbnQ7YmFja2ZhY2UtdmlzaWJpbGl0eTp2aXNpYmxlIWltcG9ydGFudDstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmZsaXBJblg7YW5pbWF0aW9uLW5hbWU6ZmxpcEluWH1ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcEluWXswJXstd2Via2l0LXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSg5MGRlZyk7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDkwZGVnKTtvcGFjaXR5OjB9NDAley13ZWJraXQtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKC0xMGRlZyk7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKC0xMGRlZyl9NzAley13ZWJraXQtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDEwZGVnKTt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMTBkZWcpfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMGRlZyk7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDBkZWcpO29wYWNpdHk6MX19QGtleWZyYW1lcyBmbGlwSW5ZezAley13ZWJraXQtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDkwZGVnKTstbXMtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDkwZGVnKTt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoOTBkZWcpO29wYWNpdHk6MH00MCV7LXdlYmtpdC10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoLTEwZGVnKTstbXMtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKC0xMGRlZyk7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKC0xMGRlZyl9NzAley13ZWJraXQtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDEwZGVnKTstbXMtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDEwZGVnKTt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMTBkZWcpfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMGRlZyk7LW1zLXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgwZGVnKTt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMGRlZyk7b3BhY2l0eToxfX0uZmxpcEluWXstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6dmlzaWJsZSFpbXBvcnRhbnQ7LW1zLWJhY2tmYWNlLXZpc2liaWxpdHk6dmlzaWJsZSFpbXBvcnRhbnQ7YmFja2ZhY2UtdmlzaWJpbGl0eTp2aXNpYmxlIWltcG9ydGFudDstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmZsaXBJblk7YW5pbWF0aW9uLW5hbWU6ZmxpcEluWX1ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcE91dFh7MCV7LXdlYmtpdC10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMGRlZyk7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDBkZWcpO29wYWNpdHk6MX0xMDAley13ZWJraXQtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKTt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoOTBkZWcpO29wYWNpdHk6MH19QGtleWZyYW1lcyBmbGlwT3V0WHswJXstd2Via2l0LXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKTstbXMtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDBkZWcpO3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKTtvcGFjaXR5OjF9MTAwJXstd2Via2l0LXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCg5MGRlZyk7LW1zLXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCg5MGRlZyk7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKTtvcGFjaXR5OjB9fS5mbGlwT3V0WHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmZsaXBPdXRYO2FuaW1hdGlvbi1uYW1lOmZsaXBPdXRYOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTp2aXNpYmxlIWltcG9ydGFudDstbXMtYmFja2ZhY2UtdmlzaWJpbGl0eTp2aXNpYmxlIWltcG9ydGFudDtiYWNrZmFjZS12aXNpYmlsaXR5OnZpc2libGUhaW1wb3J0YW50fUAtd2Via2l0LWtleWZyYW1lcyBmbGlwT3V0WXswJXstd2Via2l0LXRyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgwZGVnKTt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMGRlZyk7b3BhY2l0eToxfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoOTBkZWcpO3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSg5MGRlZyk7b3BhY2l0eTowfX1Aa2V5ZnJhbWVzIGZsaXBPdXRZezAley13ZWJraXQtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDBkZWcpOy1tcy10cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMGRlZyk7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDBkZWcpO29wYWNpdHk6MX0xMDAley13ZWJraXQtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDkwZGVnKTstbXMtdHJhbnNmb3JtOnBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDkwZGVnKTt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoOTBkZWcpO29wYWNpdHk6MH19LmZsaXBPdXRZey13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTp2aXNpYmxlIWltcG9ydGFudDstbXMtYmFja2ZhY2UtdmlzaWJpbGl0eTp2aXNpYmxlIWltcG9ydGFudDtiYWNrZmFjZS12aXNpYmlsaXR5OnZpc2libGUhaW1wb3J0YW50Oy13ZWJraXQtYW5pbWF0aW9uLW5hbWU6ZmxpcE91dFk7YW5pbWF0aW9uLW5hbWU6ZmxpcE91dFl9QC13ZWJraXQta2V5ZnJhbWVzIGxpZ2h0U3BlZWRJbnswJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDEwMCUpIHNrZXdYKC0zMGRlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSkgc2tld1goLTMwZGVnKTtvcGFjaXR5OjB9NjAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIwJSkgc2tld1goMzBkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMCUpIHNrZXdYKDMwZGVnKTtvcGFjaXR5OjF9ODAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCkgc2tld1goLTE1ZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgwKSBza2V3WCgtMTVkZWcpO29wYWNpdHk6MX0xMDAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCkgc2tld1goMGRlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCkgc2tld1goMGRlZyk7b3BhY2l0eToxfX1Aa2V5ZnJhbWVzIGxpZ2h0U3BlZWRJbnswJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDEwMCUpIHNrZXdYKC0zMGRlZyk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDEwMCUpIHNrZXdYKC0zMGRlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSkgc2tld1goLTMwZGVnKTtvcGFjaXR5OjB9NjAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIwJSkgc2tld1goMzBkZWcpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMjAlKSBza2V3WCgzMGRlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIwJSkgc2tld1goMzBkZWcpO29wYWNpdHk6MX04MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKSBza2V3WCgtMTVkZWcpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKSBza2V3WCgtMTVkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDApIHNrZXdYKC0xNWRlZyk7b3BhY2l0eToxfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKSBza2V3WCgwZGVnKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCkgc2tld1goMGRlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCkgc2tld1goMGRlZyk7b3BhY2l0eToxfX0ubGlnaHRTcGVlZEluey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6bGlnaHRTcGVlZEluO2FuaW1hdGlvbi1uYW1lOmxpZ2h0U3BlZWRJbjstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXQ7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dH1ALXdlYmtpdC1rZXlmcmFtZXMgbGlnaHRTcGVlZE91dHswJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApIHNrZXdYKDBkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDApIHNrZXdYKDBkZWcpO29wYWNpdHk6MX0xMDAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSkgc2tld1goLTMwZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDAlKSBza2V3WCgtMzBkZWcpO29wYWNpdHk6MH19QGtleWZyYW1lcyBsaWdodFNwZWVkT3V0ezAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCkgc2tld1goMGRlZyk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApIHNrZXdYKDBkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDApIHNrZXdYKDBkZWcpO29wYWNpdHk6MX0xMDAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSkgc2tld1goLTMwZGVnKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSkgc2tld1goLTMwZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDAlKSBza2V3WCgtMzBkZWcpO29wYWNpdHk6MH19LmxpZ2h0U3BlZWRPdXR7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpsaWdodFNwZWVkT3V0O2FuaW1hdGlvbi1uYW1lOmxpZ2h0U3BlZWRPdXQ7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW47YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWlufUAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJbnswJXstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46Y2VudGVyIGNlbnRlcjt0cmFuc2Zvcm0tb3JpZ2luOmNlbnRlciBjZW50ZXI7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKC0yMDBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoLTIwMGRlZyk7b3BhY2l0eTowfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOmNlbnRlciBjZW50ZXI7dHJhbnNmb3JtLW9yaWdpbjpjZW50ZXIgY2VudGVyOy13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgwKTt0cmFuc2Zvcm06cm90YXRlKDApO29wYWNpdHk6MX19QGtleWZyYW1lcyByb3RhdGVJbnswJXstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46Y2VudGVyIGNlbnRlcjstbXMtdHJhbnNmb3JtLW9yaWdpbjpjZW50ZXIgY2VudGVyO3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyIGNlbnRlcjstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoLTIwMGRlZyk7LW1zLXRyYW5zZm9ybTpyb3RhdGUoLTIwMGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgtMjAwZGVnKTtvcGFjaXR5OjB9MTAwJXstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46Y2VudGVyIGNlbnRlcjstbXMtdHJhbnNmb3JtLW9yaWdpbjpjZW50ZXIgY2VudGVyO3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyIGNlbnRlcjstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMCk7LW1zLXRyYW5zZm9ybTpyb3RhdGUoMCk7dHJhbnNmb3JtOnJvdGF0ZSgwKTtvcGFjaXR5OjF9fS5yb3RhdGVJbnstd2Via2l0LWFuaW1hdGlvbi1uYW1lOnJvdGF0ZUluO2FuaW1hdGlvbi1uYW1lOnJvdGF0ZUlufUAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJbkRvd25MZWZ0ezAley13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjpsZWZ0IGJvdHRvbTt0cmFuc2Zvcm0tb3JpZ2luOmxlZnQgYm90dG9tOy13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgtOTBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoLTkwZGVnKTtvcGFjaXR5OjB9MTAwJXstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46bGVmdCBib3R0b207dHJhbnNmb3JtLW9yaWdpbjpsZWZ0IGJvdHRvbTstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMCk7dHJhbnNmb3JtOnJvdGF0ZSgwKTtvcGFjaXR5OjF9fUBrZXlmcmFtZXMgcm90YXRlSW5Eb3duTGVmdHswJXstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46bGVmdCBib3R0b207LW1zLXRyYW5zZm9ybS1vcmlnaW46bGVmdCBib3R0b207dHJhbnNmb3JtLW9yaWdpbjpsZWZ0IGJvdHRvbTstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoLTkwZGVnKTstbXMtdHJhbnNmb3JtOnJvdGF0ZSgtOTBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoLTkwZGVnKTtvcGFjaXR5OjB9MTAwJXstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46bGVmdCBib3R0b207LW1zLXRyYW5zZm9ybS1vcmlnaW46bGVmdCBib3R0b207dHJhbnNmb3JtLW9yaWdpbjpsZWZ0IGJvdHRvbTstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMCk7LW1zLXRyYW5zZm9ybTpyb3RhdGUoMCk7dHJhbnNmb3JtOnJvdGF0ZSgwKTtvcGFjaXR5OjF9fS5yb3RhdGVJbkRvd25MZWZ0ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6cm90YXRlSW5Eb3duTGVmdDthbmltYXRpb24tbmFtZTpyb3RhdGVJbkRvd25MZWZ0fUAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJbkRvd25SaWdodHswJXstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46cmlnaHQgYm90dG9tO3RyYW5zZm9ybS1vcmlnaW46cmlnaHQgYm90dG9tOy13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyk7b3BhY2l0eTowfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOnJpZ2h0IGJvdHRvbTt0cmFuc2Zvcm0tb3JpZ2luOnJpZ2h0IGJvdHRvbTstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMCk7dHJhbnNmb3JtOnJvdGF0ZSgwKTtvcGFjaXR5OjF9fUBrZXlmcmFtZXMgcm90YXRlSW5Eb3duUmlnaHR7MCV7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOnJpZ2h0IGJvdHRvbTstbXMtdHJhbnNmb3JtLW9yaWdpbjpyaWdodCBib3R0b207dHJhbnNmb3JtLW9yaWdpbjpyaWdodCBib3R0b207LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDkwZGVnKTstbXMtdHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyk7b3BhY2l0eTowfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOnJpZ2h0IGJvdHRvbTstbXMtdHJhbnNmb3JtLW9yaWdpbjpyaWdodCBib3R0b207dHJhbnNmb3JtLW9yaWdpbjpyaWdodCBib3R0b207LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDApOy1tcy10cmFuc2Zvcm06cm90YXRlKDApO3RyYW5zZm9ybTpyb3RhdGUoMCk7b3BhY2l0eToxfX0ucm90YXRlSW5Eb3duUmlnaHR7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpyb3RhdGVJbkRvd25SaWdodDthbmltYXRpb24tbmFtZTpyb3RhdGVJbkRvd25SaWdodH1ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5VcExlZnR7MCV7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOmxlZnQgYm90dG9tO3RyYW5zZm9ybS1vcmlnaW46bGVmdCBib3R0b207LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDkwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDkwZGVnKTtvcGFjaXR5OjB9MTAwJXstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46bGVmdCBib3R0b207dHJhbnNmb3JtLW9yaWdpbjpsZWZ0IGJvdHRvbTstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMCk7dHJhbnNmb3JtOnJvdGF0ZSgwKTtvcGFjaXR5OjF9fUBrZXlmcmFtZXMgcm90YXRlSW5VcExlZnR7MCV7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOmxlZnQgYm90dG9tOy1tcy10cmFuc2Zvcm0tb3JpZ2luOmxlZnQgYm90dG9tO3RyYW5zZm9ybS1vcmlnaW46bGVmdCBib3R0b207LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDkwZGVnKTstbXMtdHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyk7b3BhY2l0eTowfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOmxlZnQgYm90dG9tOy1tcy10cmFuc2Zvcm0tb3JpZ2luOmxlZnQgYm90dG9tO3RyYW5zZm9ybS1vcmlnaW46bGVmdCBib3R0b207LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDApOy1tcy10cmFuc2Zvcm06cm90YXRlKDApO3RyYW5zZm9ybTpyb3RhdGUoMCk7b3BhY2l0eToxfX0ucm90YXRlSW5VcExlZnR7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpyb3RhdGVJblVwTGVmdDthbmltYXRpb24tbmFtZTpyb3RhdGVJblVwTGVmdH1ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5VcFJpZ2h0ezAley13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjpyaWdodCBib3R0b207dHJhbnNmb3JtLW9yaWdpbjpyaWdodCBib3R0b207LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKC05MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgtOTBkZWcpO29wYWNpdHk6MH0xMDAley13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjpyaWdodCBib3R0b207dHJhbnNmb3JtLW9yaWdpbjpyaWdodCBib3R0b207LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDApO3RyYW5zZm9ybTpyb3RhdGUoMCk7b3BhY2l0eToxfX1Aa2V5ZnJhbWVzIHJvdGF0ZUluVXBSaWdodHswJXstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46cmlnaHQgYm90dG9tOy1tcy10cmFuc2Zvcm0tb3JpZ2luOnJpZ2h0IGJvdHRvbTt0cmFuc2Zvcm0tb3JpZ2luOnJpZ2h0IGJvdHRvbTstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoLTkwZGVnKTstbXMtdHJhbnNmb3JtOnJvdGF0ZSgtOTBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoLTkwZGVnKTtvcGFjaXR5OjB9MTAwJXstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46cmlnaHQgYm90dG9tOy1tcy10cmFuc2Zvcm0tb3JpZ2luOnJpZ2h0IGJvdHRvbTt0cmFuc2Zvcm0tb3JpZ2luOnJpZ2h0IGJvdHRvbTstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMCk7LW1zLXRyYW5zZm9ybTpyb3RhdGUoMCk7dHJhbnNmb3JtOnJvdGF0ZSgwKTtvcGFjaXR5OjF9fS5yb3RhdGVJblVwUmlnaHR7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpyb3RhdGVJblVwUmlnaHQ7YW5pbWF0aW9uLW5hbWU6cm90YXRlSW5VcFJpZ2h0fUAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXR7MCV7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOmNlbnRlciBjZW50ZXI7dHJhbnNmb3JtLW9yaWdpbjpjZW50ZXIgY2VudGVyOy13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgwKTt0cmFuc2Zvcm06cm90YXRlKDApO29wYWNpdHk6MX0xMDAley13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjpjZW50ZXIgY2VudGVyO3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyIGNlbnRlcjstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMjAwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDIwMGRlZyk7b3BhY2l0eTowfX1Aa2V5ZnJhbWVzIHJvdGF0ZU91dHswJXstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46Y2VudGVyIGNlbnRlcjstbXMtdHJhbnNmb3JtLW9yaWdpbjpjZW50ZXIgY2VudGVyO3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyIGNlbnRlcjstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMCk7LW1zLXRyYW5zZm9ybTpyb3RhdGUoMCk7dHJhbnNmb3JtOnJvdGF0ZSgwKTtvcGFjaXR5OjF9MTAwJXstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46Y2VudGVyIGNlbnRlcjstbXMtdHJhbnNmb3JtLW9yaWdpbjpjZW50ZXIgY2VudGVyO3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyIGNlbnRlcjstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMjAwZGVnKTstbXMtdHJhbnNmb3JtOnJvdGF0ZSgyMDBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMjAwZGVnKTtvcGFjaXR5OjB9fS5yb3RhdGVPdXR7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpyb3RhdGVPdXQ7YW5pbWF0aW9uLW5hbWU6cm90YXRlT3V0fUAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXREb3duTGVmdHswJXstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46bGVmdCBib3R0b207dHJhbnNmb3JtLW9yaWdpbjpsZWZ0IGJvdHRvbTstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMCk7dHJhbnNmb3JtOnJvdGF0ZSgwKTtvcGFjaXR5OjF9MTAwJXstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46bGVmdCBib3R0b207dHJhbnNmb3JtLW9yaWdpbjpsZWZ0IGJvdHRvbTstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoOTBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoOTBkZWcpO29wYWNpdHk6MH19QGtleWZyYW1lcyByb3RhdGVPdXREb3duTGVmdHswJXstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46bGVmdCBib3R0b207LW1zLXRyYW5zZm9ybS1vcmlnaW46bGVmdCBib3R0b207dHJhbnNmb3JtLW9yaWdpbjpsZWZ0IGJvdHRvbTstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMCk7LW1zLXRyYW5zZm9ybTpyb3RhdGUoMCk7dHJhbnNmb3JtOnJvdGF0ZSgwKTtvcGFjaXR5OjF9MTAwJXstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46bGVmdCBib3R0b207LW1zLXRyYW5zZm9ybS1vcmlnaW46bGVmdCBib3R0b207dHJhbnNmb3JtLW9yaWdpbjpsZWZ0IGJvdHRvbTstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoOTBkZWcpOy1tcy10cmFuc2Zvcm06cm90YXRlKDkwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDkwZGVnKTtvcGFjaXR5OjB9fS5yb3RhdGVPdXREb3duTGVmdHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOnJvdGF0ZU91dERvd25MZWZ0O2FuaW1hdGlvbi1uYW1lOnJvdGF0ZU91dERvd25MZWZ0fUAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXREb3duUmlnaHR7MCV7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOnJpZ2h0IGJvdHRvbTt0cmFuc2Zvcm0tb3JpZ2luOnJpZ2h0IGJvdHRvbTstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMCk7dHJhbnNmb3JtOnJvdGF0ZSgwKTtvcGFjaXR5OjF9MTAwJXstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46cmlnaHQgYm90dG9tO3RyYW5zZm9ybS1vcmlnaW46cmlnaHQgYm90dG9tOy13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgtOTBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoLTkwZGVnKTtvcGFjaXR5OjB9fUBrZXlmcmFtZXMgcm90YXRlT3V0RG93blJpZ2h0ezAley13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjpyaWdodCBib3R0b207LW1zLXRyYW5zZm9ybS1vcmlnaW46cmlnaHQgYm90dG9tO3RyYW5zZm9ybS1vcmlnaW46cmlnaHQgYm90dG9tOy13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgwKTstbXMtdHJhbnNmb3JtOnJvdGF0ZSgwKTt0cmFuc2Zvcm06cm90YXRlKDApO29wYWNpdHk6MX0xMDAley13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjpyaWdodCBib3R0b207LW1zLXRyYW5zZm9ybS1vcmlnaW46cmlnaHQgYm90dG9tO3RyYW5zZm9ybS1vcmlnaW46cmlnaHQgYm90dG9tOy13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgtOTBkZWcpOy1tcy10cmFuc2Zvcm06cm90YXRlKC05MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgtOTBkZWcpO29wYWNpdHk6MH19LnJvdGF0ZU91dERvd25SaWdodHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOnJvdGF0ZU91dERvd25SaWdodDthbmltYXRpb24tbmFtZTpyb3RhdGVPdXREb3duUmlnaHR9QC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dFVwTGVmdHswJXstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46bGVmdCBib3R0b207dHJhbnNmb3JtLW9yaWdpbjpsZWZ0IGJvdHRvbTstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMCk7dHJhbnNmb3JtOnJvdGF0ZSgwKTtvcGFjaXR5OjF9MTAwJXstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46bGVmdCBib3R0b207dHJhbnNmb3JtLW9yaWdpbjpsZWZ0IGJvdHRvbTstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoLTkwZGVnKTt0cmFuc2Zvcm06cm90YXRlKC05MGRlZyk7b3BhY2l0eTowfX1Aa2V5ZnJhbWVzIHJvdGF0ZU91dFVwTGVmdHswJXstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46bGVmdCBib3R0b207LW1zLXRyYW5zZm9ybS1vcmlnaW46bGVmdCBib3R0b207dHJhbnNmb3JtLW9yaWdpbjpsZWZ0IGJvdHRvbTstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMCk7LW1zLXRyYW5zZm9ybTpyb3RhdGUoMCk7dHJhbnNmb3JtOnJvdGF0ZSgwKTtvcGFjaXR5OjF9MTAwJXstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46bGVmdCBib3R0b207LW1zLXRyYW5zZm9ybS1vcmlnaW46bGVmdCBib3R0b207dHJhbnNmb3JtLW9yaWdpbjpsZWZ0IGJvdHRvbTstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoLTkwZGVnKTstbXMtdHJhbnNmb3JtOnJvdGF0ZSgtOTBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoLTkwZGVnKTtvcGFjaXR5OjB9fS5yb3RhdGVPdXRVcExlZnR7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpyb3RhdGVPdXRVcExlZnQ7YW5pbWF0aW9uLW5hbWU6cm90YXRlT3V0VXBMZWZ0fUAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXRVcFJpZ2h0ezAley13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjpyaWdodCBib3R0b207dHJhbnNmb3JtLW9yaWdpbjpyaWdodCBib3R0b207LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDApO3RyYW5zZm9ybTpyb3RhdGUoMCk7b3BhY2l0eToxfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOnJpZ2h0IGJvdHRvbTt0cmFuc2Zvcm0tb3JpZ2luOnJpZ2h0IGJvdHRvbTstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoOTBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoOTBkZWcpO29wYWNpdHk6MH19QGtleWZyYW1lcyByb3RhdGVPdXRVcFJpZ2h0ezAley13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjpyaWdodCBib3R0b207LW1zLXRyYW5zZm9ybS1vcmlnaW46cmlnaHQgYm90dG9tO3RyYW5zZm9ybS1vcmlnaW46cmlnaHQgYm90dG9tOy13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgwKTstbXMtdHJhbnNmb3JtOnJvdGF0ZSgwKTt0cmFuc2Zvcm06cm90YXRlKDApO29wYWNpdHk6MX0xMDAley13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjpyaWdodCBib3R0b207LW1zLXRyYW5zZm9ybS1vcmlnaW46cmlnaHQgYm90dG9tO3RyYW5zZm9ybS1vcmlnaW46cmlnaHQgYm90dG9tOy13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyk7LW1zLXRyYW5zZm9ybTpyb3RhdGUoOTBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoOTBkZWcpO29wYWNpdHk6MH19LnJvdGF0ZU91dFVwUmlnaHR7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpyb3RhdGVPdXRVcFJpZ2h0O2FuaW1hdGlvbi1uYW1lOnJvdGF0ZU91dFVwUmlnaHR9QC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlSW5Eb3duezAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0yMDAwcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0yMDAwcHgpfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX19QGtleWZyYW1lcyBzbGlkZUluRG93bnswJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMjAwMHB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTIwMDBweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTIwMDBweCl9MTAwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX19LnNsaWRlSW5Eb3duey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6c2xpZGVJbkRvd247YW5pbWF0aW9uLW5hbWU6c2xpZGVJbkRvd259QC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlSW5MZWZ0ezAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMDAwcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMDAwcHgpfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgwKX19QGtleWZyYW1lcyBzbGlkZUluTGVmdHswJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMjAwMHB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIwMDBweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIwMDBweCl9MTAwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgwKX19LnNsaWRlSW5MZWZ0ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6c2xpZGVJbkxlZnQ7YW5pbWF0aW9uLW5hbWU6c2xpZGVJbkxlZnR9QC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlSW5SaWdodHswJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgyMDAwcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDIwMDBweCl9MTAwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDApfX1Aa2V5ZnJhbWVzIHNsaWRlSW5SaWdodHswJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgyMDAwcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgyMDAwcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDIwMDBweCl9MTAwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgwKX19LnNsaWRlSW5SaWdodHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOnNsaWRlSW5SaWdodDthbmltYXRpb24tbmFtZTpzbGlkZUluUmlnaHR9QC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0TGVmdHswJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDApfTEwMCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIwMDBweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIwMDBweCl9fUBrZXlmcmFtZXMgc2xpZGVPdXRMZWZ0ezAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDApfTEwMCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIwMDBweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMDAwcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMDAwcHgpfX0uc2xpZGVPdXRMZWZ0ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6c2xpZGVPdXRMZWZ0O2FuaW1hdGlvbi1uYW1lOnNsaWRlT3V0TGVmdH1ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVPdXRSaWdodHswJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDApfTEwMCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMjAwMHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgyMDAwcHgpfX1Aa2V5ZnJhbWVzIHNsaWRlT3V0UmlnaHR7MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCl9MTAwJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgyMDAwcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgyMDAwcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDIwMDBweCl9fS5zbGlkZU91dFJpZ2h0ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6c2xpZGVPdXRSaWdodDthbmltYXRpb24tbmFtZTpzbGlkZU91dFJpZ2h0fUAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dFVwezAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9MTAwJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMjAwMHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMjAwMHB4KX19QGtleWZyYW1lcyBzbGlkZU91dFVwezAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfTEwMCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTIwMDBweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0yMDAwcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0yMDAwcHgpfX0uc2xpZGVPdXRVcHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOnNsaWRlT3V0VXA7YW5pbWF0aW9uLW5hbWU6c2xpZGVPdXRVcH1ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJblVwezAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDIwMDBweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMjAwMHB4KX0xMDAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfX1Aa2V5ZnJhbWVzIHNsaWRlSW5VcHswJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgyMDAwcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgyMDAwcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDIwMDBweCl9MTAwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9fS5zbGlkZUluVXB7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpzbGlkZUluVXA7YW5pbWF0aW9uLW5hbWU6c2xpZGVJblVwfUAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dERvd257MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0xMDAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDIwMDBweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMjAwMHB4KX19QGtleWZyYW1lcyBzbGlkZU91dERvd257MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9MTAwJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgyMDAwcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgyMDAwcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDIwMDBweCl9fS5zbGlkZU91dERvd257LXdlYmtpdC1hbmltYXRpb24tbmFtZTpzbGlkZU91dERvd247YW5pbWF0aW9uLW5hbWU6c2xpZGVPdXREb3dufUAtd2Via2l0LWtleWZyYW1lcyBoaW5nZXswJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMCk7dHJhbnNmb3JtOnJvdGF0ZSgwKTstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46dG9wIGxlZnQ7dHJhbnNmb3JtLW9yaWdpbjp0b3AgbGVmdDstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbi1vdXQ7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluLW91dH0yMCUsNjAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg4MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSg4MGRlZyk7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOnRvcCBsZWZ0O3RyYW5zZm9ybS1vcmlnaW46dG9wIGxlZnQ7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0O2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbi1vdXR9NDAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg2MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSg2MGRlZyk7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOnRvcCBsZWZ0O3RyYW5zZm9ybS1vcmlnaW46dG9wIGxlZnQ7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0O2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbi1vdXR9ODAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg2MGRlZykgdHJhbnNsYXRlWSgwKTt0cmFuc2Zvcm06cm90YXRlKDYwZGVnKSB0cmFuc2xhdGVZKDApOy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjp0b3AgbGVmdDt0cmFuc2Zvcm0tb3JpZ2luOnRvcCBsZWZ0Oy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluLW91dDthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0O29wYWNpdHk6MX0xMDAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoNzAwcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDcwMHB4KTtvcGFjaXR5OjB9fUBrZXlmcmFtZXMgaGluZ2V7MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDApOy1tcy10cmFuc2Zvcm06cm90YXRlKDApO3RyYW5zZm9ybTpyb3RhdGUoMCk7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOnRvcCBsZWZ0Oy1tcy10cmFuc2Zvcm0tb3JpZ2luOnRvcCBsZWZ0O3RyYW5zZm9ybS1vcmlnaW46dG9wIGxlZnQ7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0O2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbi1vdXR9MjAlLDYwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoODBkZWcpOy1tcy10cmFuc2Zvcm06cm90YXRlKDgwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDgwZGVnKTstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46dG9wIGxlZnQ7LW1zLXRyYW5zZm9ybS1vcmlnaW46dG9wIGxlZnQ7dHJhbnNmb3JtLW9yaWdpbjp0b3AgbGVmdDstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbi1vdXQ7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluLW91dH00MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDYwZGVnKTstbXMtdHJhbnNmb3JtOnJvdGF0ZSg2MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSg2MGRlZyk7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOnRvcCBsZWZ0Oy1tcy10cmFuc2Zvcm0tb3JpZ2luOnRvcCBsZWZ0O3RyYW5zZm9ybS1vcmlnaW46dG9wIGxlZnQ7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0O2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbi1vdXR9ODAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg2MGRlZykgdHJhbnNsYXRlWSgwKTstbXMtdHJhbnNmb3JtOnJvdGF0ZSg2MGRlZykgdHJhbnNsYXRlWSgwKTt0cmFuc2Zvcm06cm90YXRlKDYwZGVnKSB0cmFuc2xhdGVZKDApOy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjp0b3AgbGVmdDstbXMtdHJhbnNmb3JtLW9yaWdpbjp0b3AgbGVmdDt0cmFuc2Zvcm0tb3JpZ2luOnRvcCBsZWZ0Oy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluLW91dDthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0O29wYWNpdHk6MX0xMDAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoNzAwcHgpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSg3MDBweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoNzAwcHgpO29wYWNpdHk6MH19Lmhpbmdley13ZWJraXQtYW5pbWF0aW9uLW5hbWU6aGluZ2U7YW5pbWF0aW9uLW5hbWU6aGluZ2V9QC13ZWJraXQta2V5ZnJhbWVzIHJvbGxJbnswJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSkgcm90YXRlKC0xMjBkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKSByb3RhdGUoLTEyMGRlZyl9MTAwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKSByb3RhdGUoMGRlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCkgcm90YXRlKDBkZWcpfX1Aa2V5ZnJhbWVzIHJvbGxJbnswJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSkgcm90YXRlKC0xMjBkZWcpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSkgcm90YXRlKC0xMjBkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMDAlKSByb3RhdGUoLTEyMGRlZyl9MTAwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKSByb3RhdGUoMGRlZyk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApIHJvdGF0ZSgwZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgwKSByb3RhdGUoMGRlZyl9fS5yb2xsSW57LXdlYmtpdC1hbmltYXRpb24tbmFtZTpyb2xsSW47YW5pbWF0aW9uLW5hbWU6cm9sbElufUAtd2Via2l0LWtleWZyYW1lcyByb2xsT3V0ezAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApIHJvdGF0ZSgwZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgwKSByb3RhdGUoMGRlZyl9MTAwJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDAlKSByb3RhdGUoMTIwZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDAlKSByb3RhdGUoMTIwZGVnKX19QGtleWZyYW1lcyByb2xsT3V0ezAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApIHJvdGF0ZSgwZGVnKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCkgcm90YXRlKDBkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDApIHJvdGF0ZSgwZGVnKX0xMDAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDEwMCUpIHJvdGF0ZSgxMjBkZWcpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDAlKSByb3RhdGUoMTIwZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgxMDAlKSByb3RhdGUoMTIwZGVnKX19LnJvbGxPdXR7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpyb2xsT3V0O2FuaW1hdGlvbi1uYW1lOnJvbGxPdXR9QC13ZWJraXQta2V5ZnJhbWVzIHpvb21JbnswJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoLjMpO3RyYW5zZm9ybTpzY2FsZSguMyl9NTAle29wYWNpdHk6MX19QGtleWZyYW1lcyB6b29tSW57MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKC4zKTstbXMtdHJhbnNmb3JtOnNjYWxlKC4zKTt0cmFuc2Zvcm06c2NhbGUoLjMpfTUwJXtvcGFjaXR5OjF9fS56b29tSW57LXdlYmtpdC1hbmltYXRpb24tbmFtZTp6b29tSW47YW5pbWF0aW9uLW5hbWU6em9vbUlufUAtd2Via2l0LWtleWZyYW1lcyB6b29tSW5Eb3duezAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSguMSkgdHJhbnNsYXRlWSgtMjAwMHB4KTt0cmFuc2Zvcm06c2NhbGUoLjEpIHRyYW5zbGF0ZVkoLTIwMDBweCk7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0O2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbi1vdXR9NjAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSguNDc1KSB0cmFuc2xhdGVZKDYwcHgpO3RyYW5zZm9ybTpzY2FsZSguNDc1KSB0cmFuc2xhdGVZKDYwcHgpOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dDthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0fX1Aa2V5ZnJhbWVzIHpvb21JbkRvd257MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKC4xKSB0cmFuc2xhdGVZKC0yMDAwcHgpOy1tcy10cmFuc2Zvcm06c2NhbGUoLjEpIHRyYW5zbGF0ZVkoLTIwMDBweCk7dHJhbnNmb3JtOnNjYWxlKC4xKSB0cmFuc2xhdGVZKC0yMDAwcHgpOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluLW91dDthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0fTYwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoLjQ3NSkgdHJhbnNsYXRlWSg2MHB4KTstbXMtdHJhbnNmb3JtOnNjYWxlKC40NzUpIHRyYW5zbGF0ZVkoNjBweCk7dHJhbnNmb3JtOnNjYWxlKC40NzUpIHRyYW5zbGF0ZVkoNjBweCk7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0O2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXR9fS56b29tSW5Eb3duey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6em9vbUluRG93bjthbmltYXRpb24tbmFtZTp6b29tSW5Eb3dufUAtd2Via2l0LWtleWZyYW1lcyB6b29tSW5MZWZ0ezAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSguMSkgdHJhbnNsYXRlWCgtMjAwMHB4KTt0cmFuc2Zvcm06c2NhbGUoLjEpIHRyYW5zbGF0ZVgoLTIwMDBweCk7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0O2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbi1vdXR9NjAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSguNDc1KSB0cmFuc2xhdGVYKDQ4cHgpO3RyYW5zZm9ybTpzY2FsZSguNDc1KSB0cmFuc2xhdGVYKDQ4cHgpOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dDthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0fX1Aa2V5ZnJhbWVzIHpvb21JbkxlZnR7MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKC4xKSB0cmFuc2xhdGVYKC0yMDAwcHgpOy1tcy10cmFuc2Zvcm06c2NhbGUoLjEpIHRyYW5zbGF0ZVgoLTIwMDBweCk7dHJhbnNmb3JtOnNjYWxlKC4xKSB0cmFuc2xhdGVYKC0yMDAwcHgpOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluLW91dDthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0fTYwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoLjQ3NSkgdHJhbnNsYXRlWCg0OHB4KTstbXMtdHJhbnNmb3JtOnNjYWxlKC40NzUpIHRyYW5zbGF0ZVgoNDhweCk7dHJhbnNmb3JtOnNjYWxlKC40NzUpIHRyYW5zbGF0ZVgoNDhweCk7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0O2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXR9fS56b29tSW5MZWZ0ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6em9vbUluTGVmdDthbmltYXRpb24tbmFtZTp6b29tSW5MZWZ0fUAtd2Via2l0LWtleWZyYW1lcyB6b29tSW5SaWdodHswJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoLjEpIHRyYW5zbGF0ZVgoMjAwMHB4KTt0cmFuc2Zvcm06c2NhbGUoLjEpIHRyYW5zbGF0ZVgoMjAwMHB4KTstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbi1vdXQ7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluLW91dH02MCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKC40NzUpIHRyYW5zbGF0ZVgoLTQ4cHgpO3RyYW5zZm9ybTpzY2FsZSguNDc1KSB0cmFuc2xhdGVYKC00OHB4KTstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXQ7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dH19QGtleWZyYW1lcyB6b29tSW5SaWdodHswJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoLjEpIHRyYW5zbGF0ZVgoMjAwMHB4KTstbXMtdHJhbnNmb3JtOnNjYWxlKC4xKSB0cmFuc2xhdGVYKDIwMDBweCk7dHJhbnNmb3JtOnNjYWxlKC4xKSB0cmFuc2xhdGVYKDIwMDBweCk7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0O2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbi1vdXR9NjAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSguNDc1KSB0cmFuc2xhdGVYKC00OHB4KTstbXMtdHJhbnNmb3JtOnNjYWxlKC40NzUpIHRyYW5zbGF0ZVgoLTQ4cHgpO3RyYW5zZm9ybTpzY2FsZSguNDc1KSB0cmFuc2xhdGVYKC00OHB4KTstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXQ7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dH19Lnpvb21JblJpZ2h0ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6em9vbUluUmlnaHQ7YW5pbWF0aW9uLW5hbWU6em9vbUluUmlnaHR9QC13ZWJraXQta2V5ZnJhbWVzIHpvb21JblVwezAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSguMSkgdHJhbnNsYXRlWSgyMDAwcHgpO3RyYW5zZm9ybTpzY2FsZSguMSkgdHJhbnNsYXRlWSgyMDAwcHgpOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluLW91dDthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0fTYwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoLjQ3NSkgdHJhbnNsYXRlWSgtNjBweCk7dHJhbnNmb3JtOnNjYWxlKC40NzUpIHRyYW5zbGF0ZVkoLTYwcHgpOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dDthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0fX1Aa2V5ZnJhbWVzIHpvb21JblVwezAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSguMSkgdHJhbnNsYXRlWSgyMDAwcHgpOy1tcy10cmFuc2Zvcm06c2NhbGUoLjEpIHRyYW5zbGF0ZVkoMjAwMHB4KTt0cmFuc2Zvcm06c2NhbGUoLjEpIHRyYW5zbGF0ZVkoMjAwMHB4KTstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbi1vdXQ7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluLW91dH02MCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKC40NzUpIHRyYW5zbGF0ZVkoLTYwcHgpOy1tcy10cmFuc2Zvcm06c2NhbGUoLjQ3NSkgdHJhbnNsYXRlWSgtNjBweCk7dHJhbnNmb3JtOnNjYWxlKC40NzUpIHRyYW5zbGF0ZVkoLTYwcHgpOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dDthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0fX0uem9vbUluVXB7LXdlYmtpdC1hbmltYXRpb24tbmFtZTp6b29tSW5VcDthbmltYXRpb24tbmFtZTp6b29tSW5VcH1ALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dHswJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNmb3JtOnNjYWxlKDEpfTUwJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoLjMpO3RyYW5zZm9ybTpzY2FsZSguMyl9MTAwJXtvcGFjaXR5OjB9fUBrZXlmcmFtZXMgem9vbU91dHswJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSk7LW1zLXRyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2Zvcm06c2NhbGUoMSl9NTAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSguMyk7LW1zLXRyYW5zZm9ybTpzY2FsZSguMyk7dHJhbnNmb3JtOnNjYWxlKC4zKX0xMDAle29wYWNpdHk6MH19Lnpvb21PdXR7LXdlYmtpdC1hbmltYXRpb24tbmFtZTp6b29tT3V0O2FuaW1hdGlvbi1uYW1lOnpvb21PdXR9QC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXREb3duezQwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoLjQ3NSkgdHJhbnNsYXRlWSgtNjBweCk7dHJhbnNmb3JtOnNjYWxlKC40NzUpIHRyYW5zbGF0ZVkoLTYwcHgpOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpsaW5lYXI7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpsaW5lYXJ9MTAwJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoLjEpIHRyYW5zbGF0ZVkoMjAwMHB4KTt0cmFuc2Zvcm06c2NhbGUoLjEpIHRyYW5zbGF0ZVkoMjAwMHB4KTstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46Y2VudGVyIGJvdHRvbTt0cmFuc2Zvcm0tb3JpZ2luOmNlbnRlciBib3R0b219fUBrZXlmcmFtZXMgem9vbU91dERvd257NDAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSguNDc1KSB0cmFuc2xhdGVZKC02MHB4KTstbXMtdHJhbnNmb3JtOnNjYWxlKC40NzUpIHRyYW5zbGF0ZVkoLTYwcHgpO3RyYW5zZm9ybTpzY2FsZSguNDc1KSB0cmFuc2xhdGVZKC02MHB4KTstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246bGluZWFyO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246bGluZWFyfTEwMCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKC4xKSB0cmFuc2xhdGVZKDIwMDBweCk7LW1zLXRyYW5zZm9ybTpzY2FsZSguMSkgdHJhbnNsYXRlWSgyMDAwcHgpO3RyYW5zZm9ybTpzY2FsZSguMSkgdHJhbnNsYXRlWSgyMDAwcHgpOy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjpjZW50ZXIgYm90dG9tOy1tcy10cmFuc2Zvcm0tb3JpZ2luOmNlbnRlciBib3R0b207dHJhbnNmb3JtLW9yaWdpbjpjZW50ZXIgYm90dG9tfX0uem9vbU91dERvd257LXdlYmtpdC1hbmltYXRpb24tbmFtZTp6b29tT3V0RG93bjthbmltYXRpb24tbmFtZTp6b29tT3V0RG93bn1ALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dExlZnR7NDAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSguNDc1KSB0cmFuc2xhdGVYKDQycHgpO3RyYW5zZm9ybTpzY2FsZSguNDc1KSB0cmFuc2xhdGVYKDQycHgpOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpsaW5lYXI7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpsaW5lYXJ9MTAwJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoLjEpIHRyYW5zbGF0ZVgoLTIwMDBweCk7dHJhbnNmb3JtOnNjYWxlKC4xKSB0cmFuc2xhdGVYKC0yMDAwcHgpOy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjpsZWZ0IGNlbnRlcjt0cmFuc2Zvcm0tb3JpZ2luOmxlZnQgY2VudGVyfX1Aa2V5ZnJhbWVzIHpvb21PdXRMZWZ0ezQwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoLjQ3NSkgdHJhbnNsYXRlWCg0MnB4KTstbXMtdHJhbnNmb3JtOnNjYWxlKC40NzUpIHRyYW5zbGF0ZVgoNDJweCk7dHJhbnNmb3JtOnNjYWxlKC40NzUpIHRyYW5zbGF0ZVgoNDJweCk7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmxpbmVhcjthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmxpbmVhcn0xMDAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSguMSkgdHJhbnNsYXRlWCgtMjAwMHB4KTstbXMtdHJhbnNmb3JtOnNjYWxlKC4xKSB0cmFuc2xhdGVYKC0yMDAwcHgpO3RyYW5zZm9ybTpzY2FsZSguMSkgdHJhbnNsYXRlWCgtMjAwMHB4KTstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46bGVmdCBjZW50ZXI7LW1zLXRyYW5zZm9ybS1vcmlnaW46bGVmdCBjZW50ZXI7dHJhbnNmb3JtLW9yaWdpbjpsZWZ0IGNlbnRlcn19Lnpvb21PdXRMZWZ0ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6em9vbU91dExlZnQ7YW5pbWF0aW9uLW5hbWU6em9vbU91dExlZnR9QC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXRSaWdodHs0MCV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKC40NzUpIHRyYW5zbGF0ZVgoLTQycHgpO3RyYW5zZm9ybTpzY2FsZSguNDc1KSB0cmFuc2xhdGVYKC00MnB4KTstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246bGluZWFyO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246bGluZWFyfTEwMCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKC4xKSB0cmFuc2xhdGVYKDIwMDBweCk7dHJhbnNmb3JtOnNjYWxlKC4xKSB0cmFuc2xhdGVYKDIwMDBweCk7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOnJpZ2h0IGNlbnRlcjt0cmFuc2Zvcm0tb3JpZ2luOnJpZ2h0IGNlbnRlcn19QGtleWZyYW1lcyB6b29tT3V0UmlnaHR7NDAle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSguNDc1KSB0cmFuc2xhdGVYKC00MnB4KTstbXMtdHJhbnNmb3JtOnNjYWxlKC40NzUpIHRyYW5zbGF0ZVgoLTQycHgpO3RyYW5zZm9ybTpzY2FsZSguNDc1KSB0cmFuc2xhdGVYKC00MnB4KTstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246bGluZWFyO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246bGluZWFyfTEwMCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKC4xKSB0cmFuc2xhdGVYKDIwMDBweCk7LW1zLXRyYW5zZm9ybTpzY2FsZSguMSkgdHJhbnNsYXRlWCgyMDAwcHgpO3RyYW5zZm9ybTpzY2FsZSguMSkgdHJhbnNsYXRlWCgyMDAwcHgpOy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjpyaWdodCBjZW50ZXI7LW1zLXRyYW5zZm9ybS1vcmlnaW46cmlnaHQgY2VudGVyO3RyYW5zZm9ybS1vcmlnaW46cmlnaHQgY2VudGVyfX0uem9vbU91dFJpZ2h0ey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6em9vbU91dFJpZ2h0O2FuaW1hdGlvbi1uYW1lOnpvb21PdXRSaWdodH1ALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dFVwezQwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoLjQ3NSkgdHJhbnNsYXRlWSg2MHB4KTt0cmFuc2Zvcm06c2NhbGUoLjQ3NSkgdHJhbnNsYXRlWSg2MHB4KTstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246bGluZWFyO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246bGluZWFyfTEwMCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKC4xKSB0cmFuc2xhdGVZKC0yMDAwcHgpO3RyYW5zZm9ybTpzY2FsZSguMSkgdHJhbnNsYXRlWSgtMjAwMHB4KTstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46Y2VudGVyIHRvcDt0cmFuc2Zvcm0tb3JpZ2luOmNlbnRlciB0b3B9fUBrZXlmcmFtZXMgem9vbU91dFVwezQwJXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoLjQ3NSkgdHJhbnNsYXRlWSg2MHB4KTstbXMtdHJhbnNmb3JtOnNjYWxlKC40NzUpIHRyYW5zbGF0ZVkoNjBweCk7dHJhbnNmb3JtOnNjYWxlKC40NzUpIHRyYW5zbGF0ZVkoNjBweCk7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmxpbmVhcjthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmxpbmVhcn0xMDAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSguMSkgdHJhbnNsYXRlWSgtMjAwMHB4KTstbXMtdHJhbnNmb3JtOnNjYWxlKC4xKSB0cmFuc2xhdGVZKC0yMDAwcHgpO3RyYW5zZm9ybTpzY2FsZSguMSkgdHJhbnNsYXRlWSgtMjAwMHB4KTstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46Y2VudGVyIHRvcDstbXMtdHJhbnNmb3JtLW9yaWdpbjpjZW50ZXIgdG9wO3RyYW5zZm9ybS1vcmlnaW46Y2VudGVyIHRvcH19Lnpvb21PdXRVcHstd2Via2l0LWFuaW1hdGlvbi1uYW1lOnpvb21PdXRVcDthbmltYXRpb24tbmFtZTp6b29tT3V0VXB9LnRleHQtc3VjY2Vzc3tjb2xvcjojMjhiYTk4fS50ZXh0LXdhcm5pbmd7Y29sb3I6I2Q0YmE4M30udGV4dC1wcmltYXJ5e2NvbG9yOiMyMjc3ZmN9LnRleHQtZXJyb3J7Y29sb3I6I2YwNGE1YX0udGV4dC1zZWNvbmRhcnl7Y29sb3I6Izk5OX0udGV4dC1kZWVwYmx1ZXtjb2xvcjojMGQyNzU4fS50ZXh0LTMzM3tjb2xvcjojMzMzfS5wcmltYXJ5LWJ1dHRvbntiYWNrZ3JvdW5kLWNvbG9yOiMyMjc3ZmM7Y29sb3I6I2ZmZjtib3JkZXItcmFkaXVzOiU/MTA/JTtmb250LXNpemU6JT8zMj8lO3BhZGRpbmc6JT80PyUgMDtib3JkZXI6bm9uZTtjb2xvcjojZmZmO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDE4MGRlZywjMDBjNmZiIDAsIzAwNWJlYSl9LnByaW1hcnktYnV0dG9uOmFmdGVye2Rpc3BsYXk6bm9uZX0uZXJyb3ItYnV0dG9ue2JhY2tncm91bmQtY29sb3I6I2YwNGE1YTtjb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6JT8xMD8lO2ZvbnQtc2l6ZTolPzMyPyU7cGFkZGluZzolPzQ/JSAwO2JvcmRlcjpub25lO2NvbG9yOiNmZmY7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCNmNzcwNjIgMCwjZmU1MTk2KX0uZXJyb3ItYnV0dG9uOmFmdGVye2Rpc3BsYXk6bm9uZX0ud2FybmluZy1idXR0b257YmFja2dyb3VuZC1jb2xvcjojZDRiYTgzO2NvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czolPzEwPyU7Zm9udC1zaXplOiU/MzI/JTtwYWRkaW5nOiU/ND8lIDA7Ym9yZGVyOm5vbmU7Y29sb3I6IzRkNGQ0ZDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxZGVnLCNmZmNjOGYsI2ZmZWRkOCl9Lndhcm5pbmctYnV0dG9uOmFmdGVye2Rpc3BsYXk6bm9uZX0uc3VjY2Vzcy1idXR0b257YmFja2dyb3VuZC1jb2xvcjojMjhiYTk4O2NvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czolPzEwPyU7Zm9udC1zaXplOiU/MzI/JTtwYWRkaW5nOiU/ND8lIDA7Ym9yZGVyOm5vbmU7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgwZGVnLCMwYmEzNjAgMCwjM2NiYTkyKX0uc3VjY2Vzcy1idXR0b246YWZ0ZXJ7ZGlzcGxheTpub25lfS5zZWNvbmRhcnktYnV0dG9ue2JhY2tncm91bmQtY29sb3I6cmdiYSg1MSw1MSw1MSwuMDYpO2NvbG9yOiNhZmFmYWY7Ym9yZGVyLXJhZGl1czolPzEwPyU7Zm9udC1zaXplOiU/MzI/JTtwYWRkaW5nOiU/ND8lIDA7Ym9yZGVyOm5vbmU7Y29sb3I6I2IxYjBiMDtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgwZGVnLCNjNGM1YzcgMCwjZGNkZGRmIDUyJSwjZWJlYmViKX0uc2Vjb25kYXJ5LWJ1dHRvbjphZnRlcntkaXNwbGF5Om5vbmV9LnRleHQtd2hpdGV7Y29sb3I6I2ZmZiFpbXBvcnRhbnR9LnRleHQtYmxhY2t7Y29sb3I6IzRkNGQ0ZCFpbXBvcnRhbnR9LmJnLXdoaXRle2JhY2tncm91bmQtY29sb3I6I2ZmZiFpbXBvcnRhbnR9LmJnLXByaW1hcnl7YmFja2dyb3VuZC1jb2xvcjojMjI3N2ZjIWltcG9ydGFudH0uYmctc2Vjb25kYXJ5e2JhY2tncm91bmQtY29sb3I6cmdiYSg1MSw1MSw1MSwuMDYpIWltcG9ydGFudH0uYmctYmxhY2t7YmFja2dyb3VuZC1jb2xvcjojNGQ0ZDRkIWltcG9ydGFudH0uYmctMzMze2JhY2tncm91bmQtY29sb3I6IzMzMyFpbXBvcnRhbnR9Lm0tMHttYXJnaW46JT8wPyUhaW1wb3J0YW50fS5teC0we21hcmdpbi1sZWZ0OiU/MD8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT8wPyUhaW1wb3J0YW50fS5tbC0we21hcmdpbi1sZWZ0OiU/MD8lIWltcG9ydGFudH0ubXItMHttYXJnaW4tcmlnaHQ6JT8wPyUhaW1wb3J0YW50fS5teS0we21hcmdpbi10b3A6JT8wPyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT8wPyUhaW1wb3J0YW50fS5tdC0we21hcmdpbi10b3A6JT8wPyUhaW1wb3J0YW50fS5tYi0we21hcmdpbi1ib3R0b206JT8wPyUhaW1wb3J0YW50fS5wLTB7cGFkZGluZzolPzA/JSFpbXBvcnRhbnR9LnB4LTB7cGFkZGluZy1sZWZ0OiU/MD8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/MD8lIWltcG9ydGFudH0ucGwtMHtwYWRkaW5nLWxlZnQ6JT8wPyUhaW1wb3J0YW50fS5wci0we3BhZGRpbmctcmlnaHQ6JT8wPyUhaW1wb3J0YW50fS5weS0we3BhZGRpbmctdG9wOiU/MD8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzA/JSFpbXBvcnRhbnR9LnB0LTB7cGFkZGluZy10b3A6JT8wPyUhaW1wb3J0YW50fS5wYi0we3BhZGRpbmctYm90dG9tOiU/MD8lIWltcG9ydGFudH0uZ3JpZC1nYXAtMHtncmlkLWdhcDolPzA/JSFpbXBvcnRhbnR9LnotaW5kZXgtMHt6LWluZGV4OjAhaW1wb3J0YW50fS5tLTJ7bWFyZ2luOiU/Mj8lIWltcG9ydGFudH0ubXgtMnttYXJnaW4tbGVmdDolPzI/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/Mj8lIWltcG9ydGFudH0ubWwtMnttYXJnaW4tbGVmdDolPzI/JSFpbXBvcnRhbnR9Lm1yLTJ7bWFyZ2luLXJpZ2h0OiU/Mj8lIWltcG9ydGFudH0ubXktMnttYXJnaW4tdG9wOiU/Mj8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/Mj8lIWltcG9ydGFudH0ubXQtMnttYXJnaW4tdG9wOiU/Mj8lIWltcG9ydGFudH0ubWItMnttYXJnaW4tYm90dG9tOiU/Mj8lIWltcG9ydGFudH0ucC0ye3BhZGRpbmc6JT8yPyUhaW1wb3J0YW50fS5weC0ye3BhZGRpbmctbGVmdDolPzI/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzI/JSFpbXBvcnRhbnR9LnBsLTJ7cGFkZGluZy1sZWZ0OiU/Mj8lIWltcG9ydGFudH0ucHItMntwYWRkaW5nLXJpZ2h0OiU/Mj8lIWltcG9ydGFudH0ucHktMntwYWRkaW5nLXRvcDolPzI/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT8yPyUhaW1wb3J0YW50fS5wdC0ye3BhZGRpbmctdG9wOiU/Mj8lIWltcG9ydGFudH0ucGItMntwYWRkaW5nLWJvdHRvbTolPzI/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTJ7Z3JpZC1nYXA6JT8yPyUhaW1wb3J0YW50fS56LWluZGV4LTJ7ei1pbmRleDoyIWltcG9ydGFudH0ubS00e21hcmdpbjolPzQ/JSFpbXBvcnRhbnR9Lm14LTR7bWFyZ2luLWxlZnQ6JT80PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzQ/JSFpbXBvcnRhbnR9Lm1sLTR7bWFyZ2luLWxlZnQ6JT80PyUhaW1wb3J0YW50fS5tci00e21hcmdpbi1yaWdodDolPzQ/JSFpbXBvcnRhbnR9Lm15LTR7bWFyZ2luLXRvcDolPzQ/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzQ/JSFpbXBvcnRhbnR9Lm10LTR7bWFyZ2luLXRvcDolPzQ/JSFpbXBvcnRhbnR9Lm1iLTR7bWFyZ2luLWJvdHRvbTolPzQ/JSFpbXBvcnRhbnR9LnAtNHtwYWRkaW5nOiU/ND8lIWltcG9ydGFudH0ucHgtNHtwYWRkaW5nLWxlZnQ6JT80PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT80PyUhaW1wb3J0YW50fS5wbC00e3BhZGRpbmctbGVmdDolPzQ/JSFpbXBvcnRhbnR9LnByLTR7cGFkZGluZy1yaWdodDolPzQ/JSFpbXBvcnRhbnR9LnB5LTR7cGFkZGluZy10b3A6JT80PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/ND8lIWltcG9ydGFudH0ucHQtNHtwYWRkaW5nLXRvcDolPzQ/JSFpbXBvcnRhbnR9LnBiLTR7cGFkZGluZy1ib3R0b206JT80PyUhaW1wb3J0YW50fS5ncmlkLWdhcC00e2dyaWQtZ2FwOiU/ND8lIWltcG9ydGFudH0uei1pbmRleC00e3otaW5kZXg6NCFpbXBvcnRhbnR9Lm0tNnttYXJnaW46JT82PyUhaW1wb3J0YW50fS5teC02e21hcmdpbi1sZWZ0OiU/Nj8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT82PyUhaW1wb3J0YW50fS5tbC02e21hcmdpbi1sZWZ0OiU/Nj8lIWltcG9ydGFudH0ubXItNnttYXJnaW4tcmlnaHQ6JT82PyUhaW1wb3J0YW50fS5teS02e21hcmdpbi10b3A6JT82PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT82PyUhaW1wb3J0YW50fS5tdC02e21hcmdpbi10b3A6JT82PyUhaW1wb3J0YW50fS5tYi02e21hcmdpbi1ib3R0b206JT82PyUhaW1wb3J0YW50fS5wLTZ7cGFkZGluZzolPzY/JSFpbXBvcnRhbnR9LnB4LTZ7cGFkZGluZy1sZWZ0OiU/Nj8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/Nj8lIWltcG9ydGFudH0ucGwtNntwYWRkaW5nLWxlZnQ6JT82PyUhaW1wb3J0YW50fS5wci02e3BhZGRpbmctcmlnaHQ6JT82PyUhaW1wb3J0YW50fS5weS02e3BhZGRpbmctdG9wOiU/Nj8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzY/JSFpbXBvcnRhbnR9LnB0LTZ7cGFkZGluZy10b3A6JT82PyUhaW1wb3J0YW50fS5wYi02e3BhZGRpbmctYm90dG9tOiU/Nj8lIWltcG9ydGFudH0uZ3JpZC1nYXAtNntncmlkLWdhcDolPzY/JSFpbXBvcnRhbnR9LnotaW5kZXgtNnt6LWluZGV4OjYhaW1wb3J0YW50fS5tLTh7bWFyZ2luOiU/OD8lIWltcG9ydGFudH0ubXgtOHttYXJnaW4tbGVmdDolPzg/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/OD8lIWltcG9ydGFudH0ubWwtOHttYXJnaW4tbGVmdDolPzg/JSFpbXBvcnRhbnR9Lm1yLTh7bWFyZ2luLXJpZ2h0OiU/OD8lIWltcG9ydGFudH0ubXktOHttYXJnaW4tdG9wOiU/OD8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/OD8lIWltcG9ydGFudH0ubXQtOHttYXJnaW4tdG9wOiU/OD8lIWltcG9ydGFudH0ubWItOHttYXJnaW4tYm90dG9tOiU/OD8lIWltcG9ydGFudH0ucC04e3BhZGRpbmc6JT84PyUhaW1wb3J0YW50fS5weC04e3BhZGRpbmctbGVmdDolPzg/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzg/JSFpbXBvcnRhbnR9LnBsLTh7cGFkZGluZy1sZWZ0OiU/OD8lIWltcG9ydGFudH0ucHItOHtwYWRkaW5nLXJpZ2h0OiU/OD8lIWltcG9ydGFudH0ucHktOHtwYWRkaW5nLXRvcDolPzg/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT84PyUhaW1wb3J0YW50fS5wdC04e3BhZGRpbmctdG9wOiU/OD8lIWltcG9ydGFudH0ucGItOHtwYWRkaW5nLWJvdHRvbTolPzg/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTh7Z3JpZC1nYXA6JT84PyUhaW1wb3J0YW50fS56LWluZGV4LTh7ei1pbmRleDo4IWltcG9ydGFudH0ubS0xMHttYXJnaW46JT8xMD8lIWltcG9ydGFudH0ubXgtMTB7bWFyZ2luLWxlZnQ6JT8xMD8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT8xMD8lIWltcG9ydGFudH0ubWwtMTB7bWFyZ2luLWxlZnQ6JT8xMD8lIWltcG9ydGFudH0ubXItMTB7bWFyZ2luLXJpZ2h0OiU/MTA/JSFpbXBvcnRhbnR9Lm15LTEwe21hcmdpbi10b3A6JT8xMD8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/MTA/JSFpbXBvcnRhbnR9Lm10LTEwe21hcmdpbi10b3A6JT8xMD8lIWltcG9ydGFudH0ubWItMTB7bWFyZ2luLWJvdHRvbTolPzEwPyUhaW1wb3J0YW50fS5wLTEwe3BhZGRpbmc6JT8xMD8lIWltcG9ydGFudH0ucHgtMTB7cGFkZGluZy1sZWZ0OiU/MTA/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzEwPyUhaW1wb3J0YW50fS5wbC0xMHtwYWRkaW5nLWxlZnQ6JT8xMD8lIWltcG9ydGFudH0ucHItMTB7cGFkZGluZy1yaWdodDolPzEwPyUhaW1wb3J0YW50fS5weS0xMHtwYWRkaW5nLXRvcDolPzEwPyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/MTA/JSFpbXBvcnRhbnR9LnB0LTEwe3BhZGRpbmctdG9wOiU/MTA/JSFpbXBvcnRhbnR9LnBiLTEwe3BhZGRpbmctYm90dG9tOiU/MTA/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTEwe2dyaWQtZ2FwOiU/MTA/JSFpbXBvcnRhbnR9LnotaW5kZXgtMTB7ei1pbmRleDoxMCFpbXBvcnRhbnR9Lm0tMTJ7bWFyZ2luOiU/MTI/JSFpbXBvcnRhbnR9Lm14LTEye21hcmdpbi1sZWZ0OiU/MTI/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/MTI/JSFpbXBvcnRhbnR9Lm1sLTEye21hcmdpbi1sZWZ0OiU/MTI/JSFpbXBvcnRhbnR9Lm1yLTEye21hcmdpbi1yaWdodDolPzEyPyUhaW1wb3J0YW50fS5teS0xMnttYXJnaW4tdG9wOiU/MTI/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzEyPyUhaW1wb3J0YW50fS5tdC0xMnttYXJnaW4tdG9wOiU/MTI/JSFpbXBvcnRhbnR9Lm1iLTEye21hcmdpbi1ib3R0b206JT8xMj8lIWltcG9ydGFudH0ucC0xMntwYWRkaW5nOiU/MTI/JSFpbXBvcnRhbnR9LnB4LTEye3BhZGRpbmctbGVmdDolPzEyPyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT8xMj8lIWltcG9ydGFudH0ucGwtMTJ7cGFkZGluZy1sZWZ0OiU/MTI/JSFpbXBvcnRhbnR9LnByLTEye3BhZGRpbmctcmlnaHQ6JT8xMj8lIWltcG9ydGFudH0ucHktMTJ7cGFkZGluZy10b3A6JT8xMj8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzEyPyUhaW1wb3J0YW50fS5wdC0xMntwYWRkaW5nLXRvcDolPzEyPyUhaW1wb3J0YW50fS5wYi0xMntwYWRkaW5nLWJvdHRvbTolPzEyPyUhaW1wb3J0YW50fS5ncmlkLWdhcC0xMntncmlkLWdhcDolPzEyPyUhaW1wb3J0YW50fS56LWluZGV4LTEye3otaW5kZXg6MTIhaW1wb3J0YW50fS5tLTE0e21hcmdpbjolPzE0PyUhaW1wb3J0YW50fS5teC0xNHttYXJnaW4tbGVmdDolPzE0PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzE0PyUhaW1wb3J0YW50fS5tbC0xNHttYXJnaW4tbGVmdDolPzE0PyUhaW1wb3J0YW50fS5tci0xNHttYXJnaW4tcmlnaHQ6JT8xND8lIWltcG9ydGFudH0ubXktMTR7bWFyZ2luLXRvcDolPzE0PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT8xND8lIWltcG9ydGFudH0ubXQtMTR7bWFyZ2luLXRvcDolPzE0PyUhaW1wb3J0YW50fS5tYi0xNHttYXJnaW4tYm90dG9tOiU/MTQ/JSFpbXBvcnRhbnR9LnAtMTR7cGFkZGluZzolPzE0PyUhaW1wb3J0YW50fS5weC0xNHtwYWRkaW5nLWxlZnQ6JT8xND8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/MTQ/JSFpbXBvcnRhbnR9LnBsLTE0e3BhZGRpbmctbGVmdDolPzE0PyUhaW1wb3J0YW50fS5wci0xNHtwYWRkaW5nLXJpZ2h0OiU/MTQ/JSFpbXBvcnRhbnR9LnB5LTE0e3BhZGRpbmctdG9wOiU/MTQ/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT8xND8lIWltcG9ydGFudH0ucHQtMTR7cGFkZGluZy10b3A6JT8xND8lIWltcG9ydGFudH0ucGItMTR7cGFkZGluZy1ib3R0b206JT8xND8lIWltcG9ydGFudH0uZ3JpZC1nYXAtMTR7Z3JpZC1nYXA6JT8xND8lIWltcG9ydGFudH0uei1pbmRleC0xNHt6LWluZGV4OjE0IWltcG9ydGFudH0ubS0xNnttYXJnaW46JT8xNj8lIWltcG9ydGFudH0ubXgtMTZ7bWFyZ2luLWxlZnQ6JT8xNj8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT8xNj8lIWltcG9ydGFudH0ubWwtMTZ7bWFyZ2luLWxlZnQ6JT8xNj8lIWltcG9ydGFudH0ubXItMTZ7bWFyZ2luLXJpZ2h0OiU/MTY/JSFpbXBvcnRhbnR9Lm15LTE2e21hcmdpbi10b3A6JT8xNj8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/MTY/JSFpbXBvcnRhbnR9Lm10LTE2e21hcmdpbi10b3A6JT8xNj8lIWltcG9ydGFudH0ubWItMTZ7bWFyZ2luLWJvdHRvbTolPzE2PyUhaW1wb3J0YW50fS5wLTE2e3BhZGRpbmc6JT8xNj8lIWltcG9ydGFudH0ucHgtMTZ7cGFkZGluZy1sZWZ0OiU/MTY/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzE2PyUhaW1wb3J0YW50fS5wbC0xNntwYWRkaW5nLWxlZnQ6JT8xNj8lIWltcG9ydGFudH0ucHItMTZ7cGFkZGluZy1yaWdodDolPzE2PyUhaW1wb3J0YW50fS5weS0xNntwYWRkaW5nLXRvcDolPzE2PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/MTY/JSFpbXBvcnRhbnR9LnB0LTE2e3BhZGRpbmctdG9wOiU/MTY/JSFpbXBvcnRhbnR9LnBiLTE2e3BhZGRpbmctYm90dG9tOiU/MTY/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTE2e2dyaWQtZ2FwOiU/MTY/JSFpbXBvcnRhbnR9LnotaW5kZXgtMTZ7ei1pbmRleDoxNiFpbXBvcnRhbnR9Lm0tMTh7bWFyZ2luOiU/MTg/JSFpbXBvcnRhbnR9Lm14LTE4e21hcmdpbi1sZWZ0OiU/MTg/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/MTg/JSFpbXBvcnRhbnR9Lm1sLTE4e21hcmdpbi1sZWZ0OiU/MTg/JSFpbXBvcnRhbnR9Lm1yLTE4e21hcmdpbi1yaWdodDolPzE4PyUhaW1wb3J0YW50fS5teS0xOHttYXJnaW4tdG9wOiU/MTg/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzE4PyUhaW1wb3J0YW50fS5tdC0xOHttYXJnaW4tdG9wOiU/MTg/JSFpbXBvcnRhbnR9Lm1iLTE4e21hcmdpbi1ib3R0b206JT8xOD8lIWltcG9ydGFudH0ucC0xOHtwYWRkaW5nOiU/MTg/JSFpbXBvcnRhbnR9LnB4LTE4e3BhZGRpbmctbGVmdDolPzE4PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT8xOD8lIWltcG9ydGFudH0ucGwtMTh7cGFkZGluZy1sZWZ0OiU/MTg/JSFpbXBvcnRhbnR9LnByLTE4e3BhZGRpbmctcmlnaHQ6JT8xOD8lIWltcG9ydGFudH0ucHktMTh7cGFkZGluZy10b3A6JT8xOD8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzE4PyUhaW1wb3J0YW50fS5wdC0xOHtwYWRkaW5nLXRvcDolPzE4PyUhaW1wb3J0YW50fS5wYi0xOHtwYWRkaW5nLWJvdHRvbTolPzE4PyUhaW1wb3J0YW50fS5ncmlkLWdhcC0xOHtncmlkLWdhcDolPzE4PyUhaW1wb3J0YW50fS56LWluZGV4LTE4e3otaW5kZXg6MTghaW1wb3J0YW50fS5mb250LXNpemUtMTh7Zm9udC1zaXplOiU/MTg/JSFpbXBvcnRhbnR9Lm0tMjB7bWFyZ2luOiU/MjA/JSFpbXBvcnRhbnR9Lm14LTIwe21hcmdpbi1sZWZ0OiU/MjA/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/MjA/JSFpbXBvcnRhbnR9Lm1sLTIwe21hcmdpbi1sZWZ0OiU/MjA/JSFpbXBvcnRhbnR9Lm1yLTIwe21hcmdpbi1yaWdodDolPzIwPyUhaW1wb3J0YW50fS5teS0yMHttYXJnaW4tdG9wOiU/MjA/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzIwPyUhaW1wb3J0YW50fS5tdC0yMHttYXJnaW4tdG9wOiU/MjA/JSFpbXBvcnRhbnR9Lm1iLTIwe21hcmdpbi1ib3R0b206JT8yMD8lIWltcG9ydGFudH0ucC0yMHtwYWRkaW5nOiU/MjA/JSFpbXBvcnRhbnR9LnB4LTIwe3BhZGRpbmctbGVmdDolPzIwPyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT8yMD8lIWltcG9ydGFudH0ucGwtMjB7cGFkZGluZy1sZWZ0OiU/MjA/JSFpbXBvcnRhbnR9LnByLTIwe3BhZGRpbmctcmlnaHQ6JT8yMD8lIWltcG9ydGFudH0ucHktMjB7cGFkZGluZy10b3A6JT8yMD8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzIwPyUhaW1wb3J0YW50fS5wdC0yMHtwYWRkaW5nLXRvcDolPzIwPyUhaW1wb3J0YW50fS5wYi0yMHtwYWRkaW5nLWJvdHRvbTolPzIwPyUhaW1wb3J0YW50fS5ncmlkLWdhcC0yMHtncmlkLWdhcDolPzIwPyUhaW1wb3J0YW50fS56LWluZGV4LTIwe3otaW5kZXg6MjAhaW1wb3J0YW50fS5mb250LXNpemUtMjB7Zm9udC1zaXplOiU/MjA/JSFpbXBvcnRhbnR9Lm0tMjJ7bWFyZ2luOiU/MjI/JSFpbXBvcnRhbnR9Lm14LTIye21hcmdpbi1sZWZ0OiU/MjI/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/MjI/JSFpbXBvcnRhbnR9Lm1sLTIye21hcmdpbi1sZWZ0OiU/MjI/JSFpbXBvcnRhbnR9Lm1yLTIye21hcmdpbi1yaWdodDolPzIyPyUhaW1wb3J0YW50fS5teS0yMnttYXJnaW4tdG9wOiU/MjI/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzIyPyUhaW1wb3J0YW50fS5tdC0yMnttYXJnaW4tdG9wOiU/MjI/JSFpbXBvcnRhbnR9Lm1iLTIye21hcmdpbi1ib3R0b206JT8yMj8lIWltcG9ydGFudH0ucC0yMntwYWRkaW5nOiU/MjI/JSFpbXBvcnRhbnR9LnB4LTIye3BhZGRpbmctbGVmdDolPzIyPyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT8yMj8lIWltcG9ydGFudH0ucGwtMjJ7cGFkZGluZy1sZWZ0OiU/MjI/JSFpbXBvcnRhbnR9LnByLTIye3BhZGRpbmctcmlnaHQ6JT8yMj8lIWltcG9ydGFudH0ucHktMjJ7cGFkZGluZy10b3A6JT8yMj8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzIyPyUhaW1wb3J0YW50fS5wdC0yMntwYWRkaW5nLXRvcDolPzIyPyUhaW1wb3J0YW50fS5wYi0yMntwYWRkaW5nLWJvdHRvbTolPzIyPyUhaW1wb3J0YW50fS5ncmlkLWdhcC0yMntncmlkLWdhcDolPzIyPyUhaW1wb3J0YW50fS56LWluZGV4LTIye3otaW5kZXg6MjIhaW1wb3J0YW50fS5mb250LXNpemUtMjIsIC5pbnB1dC1pdGVtIC5nZXQtY29kZXtmb250LXNpemU6JT8yMj8lIWltcG9ydGFudH0ubS0yNHttYXJnaW46JT8yND8lIWltcG9ydGFudH0ubXgtMjR7bWFyZ2luLWxlZnQ6JT8yND8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT8yND8lIWltcG9ydGFudH0ubWwtMjR7bWFyZ2luLWxlZnQ6JT8yND8lIWltcG9ydGFudH0ubXItMjR7bWFyZ2luLXJpZ2h0OiU/MjQ/JSFpbXBvcnRhbnR9Lm15LTI0e21hcmdpbi10b3A6JT8yND8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/MjQ/JSFpbXBvcnRhbnR9Lm10LTI0e21hcmdpbi10b3A6JT8yND8lIWltcG9ydGFudH0ubWItMjR7bWFyZ2luLWJvdHRvbTolPzI0PyUhaW1wb3J0YW50fS5wLTI0e3BhZGRpbmc6JT8yND8lIWltcG9ydGFudH0ucHgtMjR7cGFkZGluZy1sZWZ0OiU/MjQ/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzI0PyUhaW1wb3J0YW50fS5wbC0yNHtwYWRkaW5nLWxlZnQ6JT8yND8lIWltcG9ydGFudH0ucHItMjR7cGFkZGluZy1yaWdodDolPzI0PyUhaW1wb3J0YW50fS5weS0yNHtwYWRkaW5nLXRvcDolPzI0PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/MjQ/JSFpbXBvcnRhbnR9LnB0LTI0e3BhZGRpbmctdG9wOiU/MjQ/JSFpbXBvcnRhbnR9LnBiLTI0e3BhZGRpbmctYm90dG9tOiU/MjQ/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTI0e2dyaWQtZ2FwOiU/MjQ/JSFpbXBvcnRhbnR9LnotaW5kZXgtMjR7ei1pbmRleDoyNCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS0yNCwgLmxvZ2luLWlucHV0LWdyb3VwIC5sYWJlbHtmb250LXNpemU6JT8yND8lIWltcG9ydGFudH0ubS0yNnttYXJnaW46JT8yNj8lIWltcG9ydGFudH0ubXgtMjZ7bWFyZ2luLWxlZnQ6JT8yNj8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT8yNj8lIWltcG9ydGFudH0ubWwtMjZ7bWFyZ2luLWxlZnQ6JT8yNj8lIWltcG9ydGFudH0ubXItMjZ7bWFyZ2luLXJpZ2h0OiU/MjY/JSFpbXBvcnRhbnR9Lm15LTI2e21hcmdpbi10b3A6JT8yNj8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/MjY/JSFpbXBvcnRhbnR9Lm10LTI2e21hcmdpbi10b3A6JT8yNj8lIWltcG9ydGFudH0ubWItMjZ7bWFyZ2luLWJvdHRvbTolPzI2PyUhaW1wb3J0YW50fS5wLTI2e3BhZGRpbmc6JT8yNj8lIWltcG9ydGFudH0ucHgtMjZ7cGFkZGluZy1sZWZ0OiU/MjY/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzI2PyUhaW1wb3J0YW50fS5wbC0yNntwYWRkaW5nLWxlZnQ6JT8yNj8lIWltcG9ydGFudH0ucHItMjZ7cGFkZGluZy1yaWdodDolPzI2PyUhaW1wb3J0YW50fS5weS0yNntwYWRkaW5nLXRvcDolPzI2PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/MjY/JSFpbXBvcnRhbnR9LnB0LTI2e3BhZGRpbmctdG9wOiU/MjY/JSFpbXBvcnRhbnR9LnBiLTI2e3BhZGRpbmctYm90dG9tOiU/MjY/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTI2e2dyaWQtZ2FwOiU/MjY/JSFpbXBvcnRhbnR9LnotaW5kZXgtMjZ7ei1pbmRleDoyNiFpbXBvcnRhbnR9LmZvbnQtc2l6ZS0yNntmb250LXNpemU6JT8yNj8lIWltcG9ydGFudH0ubS0yOHttYXJnaW46JT8yOD8lIWltcG9ydGFudH0ubXgtMjh7bWFyZ2luLWxlZnQ6JT8yOD8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT8yOD8lIWltcG9ydGFudH0ubWwtMjh7bWFyZ2luLWxlZnQ6JT8yOD8lIWltcG9ydGFudH0ubXItMjh7bWFyZ2luLXJpZ2h0OiU/Mjg/JSFpbXBvcnRhbnR9Lm15LTI4e21hcmdpbi10b3A6JT8yOD8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/Mjg/JSFpbXBvcnRhbnR9Lm10LTI4e21hcmdpbi10b3A6JT8yOD8lIWltcG9ydGFudH0ubWItMjh7bWFyZ2luLWJvdHRvbTolPzI4PyUhaW1wb3J0YW50fS5wLTI4e3BhZGRpbmc6JT8yOD8lIWltcG9ydGFudH0ucHgtMjh7cGFkZGluZy1sZWZ0OiU/Mjg/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzI4PyUhaW1wb3J0YW50fS5wbC0yOHtwYWRkaW5nLWxlZnQ6JT8yOD8lIWltcG9ydGFudH0ucHItMjh7cGFkZGluZy1yaWdodDolPzI4PyUhaW1wb3J0YW50fS5weS0yOHtwYWRkaW5nLXRvcDolPzI4PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/Mjg/JSFpbXBvcnRhbnR9LnB0LTI4e3BhZGRpbmctdG9wOiU/Mjg/JSFpbXBvcnRhbnR9LnBiLTI4e3BhZGRpbmctYm90dG9tOiU/Mjg/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTI4e2dyaWQtZ2FwOiU/Mjg/JSFpbXBvcnRhbnR9LnotaW5kZXgtMjh7ei1pbmRleDoyOCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS0yOHtmb250LXNpemU6JT8yOD8lIWltcG9ydGFudH0ubS0zMHttYXJnaW46JT8zMD8lIWltcG9ydGFudH0ubXgtMzB7bWFyZ2luLWxlZnQ6JT8zMD8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT8zMD8lIWltcG9ydGFudH0ubWwtMzB7bWFyZ2luLWxlZnQ6JT8zMD8lIWltcG9ydGFudH0ubXItMzB7bWFyZ2luLXJpZ2h0OiU/MzA/JSFpbXBvcnRhbnR9Lm15LTMwe21hcmdpbi10b3A6JT8zMD8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/MzA/JSFpbXBvcnRhbnR9Lm10LTMwe21hcmdpbi10b3A6JT8zMD8lIWltcG9ydGFudH0ubWItMzB7bWFyZ2luLWJvdHRvbTolPzMwPyUhaW1wb3J0YW50fS5wLTMwe3BhZGRpbmc6JT8zMD8lIWltcG9ydGFudH0ucHgtMzB7cGFkZGluZy1sZWZ0OiU/MzA/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzMwPyUhaW1wb3J0YW50fS5wbC0zMHtwYWRkaW5nLWxlZnQ6JT8zMD8lIWltcG9ydGFudH0ucHItMzB7cGFkZGluZy1yaWdodDolPzMwPyUhaW1wb3J0YW50fS5weS0zMHtwYWRkaW5nLXRvcDolPzMwPyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/MzA/JSFpbXBvcnRhbnR9LnB0LTMwe3BhZGRpbmctdG9wOiU/MzA/JSFpbXBvcnRhbnR9LnBiLTMwe3BhZGRpbmctYm90dG9tOiU/MzA/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTMwe2dyaWQtZ2FwOiU/MzA/JSFpbXBvcnRhbnR9LnotaW5kZXgtMzB7ei1pbmRleDozMCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS0zMHtmb250LXNpemU6JT8zMD8lIWltcG9ydGFudH0ubS0zMnttYXJnaW46JT8zMj8lIWltcG9ydGFudH0ubXgtMzJ7bWFyZ2luLWxlZnQ6JT8zMj8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT8zMj8lIWltcG9ydGFudH0ubWwtMzJ7bWFyZ2luLWxlZnQ6JT8zMj8lIWltcG9ydGFudH0ubXItMzJ7bWFyZ2luLXJpZ2h0OiU/MzI/JSFpbXBvcnRhbnR9Lm15LTMye21hcmdpbi10b3A6JT8zMj8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/MzI/JSFpbXBvcnRhbnR9Lm10LTMye21hcmdpbi10b3A6JT8zMj8lIWltcG9ydGFudH0ubWItMzJ7bWFyZ2luLWJvdHRvbTolPzMyPyUhaW1wb3J0YW50fS5wLTMye3BhZGRpbmc6JT8zMj8lIWltcG9ydGFudH0ucHgtMzJ7cGFkZGluZy1sZWZ0OiU/MzI/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzMyPyUhaW1wb3J0YW50fS5wbC0zMntwYWRkaW5nLWxlZnQ6JT8zMj8lIWltcG9ydGFudH0ucHItMzJ7cGFkZGluZy1yaWdodDolPzMyPyUhaW1wb3J0YW50fS5weS0zMntwYWRkaW5nLXRvcDolPzMyPyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/MzI/JSFpbXBvcnRhbnR9LnB0LTMye3BhZGRpbmctdG9wOiU/MzI/JSFpbXBvcnRhbnR9LnBiLTMye3BhZGRpbmctYm90dG9tOiU/MzI/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTMye2dyaWQtZ2FwOiU/MzI/JSFpbXBvcnRhbnR9LnotaW5kZXgtMzJ7ei1pbmRleDozMiFpbXBvcnRhbnR9LmZvbnQtc2l6ZS0zMiwgLmlucHV0LCAubG9naW4taW5wdXQtZ3JvdXAgLmxvZ2luLWlucHV0LCAuYXJ0aWNsZSB1bmktdGV4dHtmb250LXNpemU6JT8zMj8lIWltcG9ydGFudH0ubS0zNHttYXJnaW46JT8zND8lIWltcG9ydGFudH0ubXgtMzR7bWFyZ2luLWxlZnQ6JT8zND8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT8zND8lIWltcG9ydGFudH0ubWwtMzR7bWFyZ2luLWxlZnQ6JT8zND8lIWltcG9ydGFudH0ubXItMzR7bWFyZ2luLXJpZ2h0OiU/MzQ/JSFpbXBvcnRhbnR9Lm15LTM0e21hcmdpbi10b3A6JT8zND8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/MzQ/JSFpbXBvcnRhbnR9Lm10LTM0e21hcmdpbi10b3A6JT8zND8lIWltcG9ydGFudH0ubWItMzR7bWFyZ2luLWJvdHRvbTolPzM0PyUhaW1wb3J0YW50fS5wLTM0e3BhZGRpbmc6JT8zND8lIWltcG9ydGFudH0ucHgtMzR7cGFkZGluZy1sZWZ0OiU/MzQ/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzM0PyUhaW1wb3J0YW50fS5wbC0zNHtwYWRkaW5nLWxlZnQ6JT8zND8lIWltcG9ydGFudH0ucHItMzR7cGFkZGluZy1yaWdodDolPzM0PyUhaW1wb3J0YW50fS5weS0zNHtwYWRkaW5nLXRvcDolPzM0PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/MzQ/JSFpbXBvcnRhbnR9LnB0LTM0e3BhZGRpbmctdG9wOiU/MzQ/JSFpbXBvcnRhbnR9LnBiLTM0e3BhZGRpbmctYm90dG9tOiU/MzQ/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTM0e2dyaWQtZ2FwOiU/MzQ/JSFpbXBvcnRhbnR9LnotaW5kZXgtMzR7ei1pbmRleDozNCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS0zNHtmb250LXNpemU6JT8zND8lIWltcG9ydGFudH0ubS0zNnttYXJnaW46JT8zNj8lIWltcG9ydGFudH0ubXgtMzZ7bWFyZ2luLWxlZnQ6JT8zNj8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT8zNj8lIWltcG9ydGFudH0ubWwtMzZ7bWFyZ2luLWxlZnQ6JT8zNj8lIWltcG9ydGFudH0ubXItMzZ7bWFyZ2luLXJpZ2h0OiU/MzY/JSFpbXBvcnRhbnR9Lm15LTM2e21hcmdpbi10b3A6JT8zNj8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/MzY/JSFpbXBvcnRhbnR9Lm10LTM2e21hcmdpbi10b3A6JT8zNj8lIWltcG9ydGFudH0ubWItMzZ7bWFyZ2luLWJvdHRvbTolPzM2PyUhaW1wb3J0YW50fS5wLTM2e3BhZGRpbmc6JT8zNj8lIWltcG9ydGFudH0ucHgtMzZ7cGFkZGluZy1sZWZ0OiU/MzY/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzM2PyUhaW1wb3J0YW50fS5wbC0zNntwYWRkaW5nLWxlZnQ6JT8zNj8lIWltcG9ydGFudH0ucHItMzZ7cGFkZGluZy1yaWdodDolPzM2PyUhaW1wb3J0YW50fS5weS0zNntwYWRkaW5nLXRvcDolPzM2PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/MzY/JSFpbXBvcnRhbnR9LnB0LTM2e3BhZGRpbmctdG9wOiU/MzY/JSFpbXBvcnRhbnR9LnBiLTM2e3BhZGRpbmctYm90dG9tOiU/MzY/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTM2e2dyaWQtZ2FwOiU/MzY/JSFpbXBvcnRhbnR9LnotaW5kZXgtMzZ7ei1pbmRleDozNiFpbXBvcnRhbnR9LmZvbnQtc2l6ZS0zNntmb250LXNpemU6JT8zNj8lIWltcG9ydGFudH0ubS0zOHttYXJnaW46JT8zOD8lIWltcG9ydGFudH0ubXgtMzh7bWFyZ2luLWxlZnQ6JT8zOD8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT8zOD8lIWltcG9ydGFudH0ubWwtMzh7bWFyZ2luLWxlZnQ6JT8zOD8lIWltcG9ydGFudH0ubXItMzh7bWFyZ2luLXJpZ2h0OiU/Mzg/JSFpbXBvcnRhbnR9Lm15LTM4e21hcmdpbi10b3A6JT8zOD8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/Mzg/JSFpbXBvcnRhbnR9Lm10LTM4e21hcmdpbi10b3A6JT8zOD8lIWltcG9ydGFudH0ubWItMzh7bWFyZ2luLWJvdHRvbTolPzM4PyUhaW1wb3J0YW50fS5wLTM4e3BhZGRpbmc6JT8zOD8lIWltcG9ydGFudH0ucHgtMzh7cGFkZGluZy1sZWZ0OiU/Mzg/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzM4PyUhaW1wb3J0YW50fS5wbC0zOHtwYWRkaW5nLWxlZnQ6JT8zOD8lIWltcG9ydGFudH0ucHItMzh7cGFkZGluZy1yaWdodDolPzM4PyUhaW1wb3J0YW50fS5weS0zOHtwYWRkaW5nLXRvcDolPzM4PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/Mzg/JSFpbXBvcnRhbnR9LnB0LTM4e3BhZGRpbmctdG9wOiU/Mzg/JSFpbXBvcnRhbnR9LnBiLTM4e3BhZGRpbmctYm90dG9tOiU/Mzg/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTM4e2dyaWQtZ2FwOiU/Mzg/JSFpbXBvcnRhbnR9LnotaW5kZXgtMzh7ei1pbmRleDozOCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS0zOHtmb250LXNpemU6JT8zOD8lIWltcG9ydGFudH0ubS00MHttYXJnaW46JT80MD8lIWltcG9ydGFudH0ubXgtNDB7bWFyZ2luLWxlZnQ6JT80MD8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT80MD8lIWltcG9ydGFudH0ubWwtNDB7bWFyZ2luLWxlZnQ6JT80MD8lIWltcG9ydGFudH0ubXItNDB7bWFyZ2luLXJpZ2h0OiU/NDA/JSFpbXBvcnRhbnR9Lm15LTQwe21hcmdpbi10b3A6JT80MD8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/NDA/JSFpbXBvcnRhbnR9Lm10LTQwe21hcmdpbi10b3A6JT80MD8lIWltcG9ydGFudH0ubWItNDB7bWFyZ2luLWJvdHRvbTolPzQwPyUhaW1wb3J0YW50fS5wLTQwe3BhZGRpbmc6JT80MD8lIWltcG9ydGFudH0ucHgtNDB7cGFkZGluZy1sZWZ0OiU/NDA/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzQwPyUhaW1wb3J0YW50fS5wbC00MHtwYWRkaW5nLWxlZnQ6JT80MD8lIWltcG9ydGFudH0ucHItNDB7cGFkZGluZy1yaWdodDolPzQwPyUhaW1wb3J0YW50fS5weS00MHtwYWRkaW5nLXRvcDolPzQwPyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NDA/JSFpbXBvcnRhbnR9LnB0LTQwe3BhZGRpbmctdG9wOiU/NDA/JSFpbXBvcnRhbnR9LnBiLTQwe3BhZGRpbmctYm90dG9tOiU/NDA/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTQwe2dyaWQtZ2FwOiU/NDA/JSFpbXBvcnRhbnR9LnotaW5kZXgtNDB7ei1pbmRleDo0MCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS00MHtmb250LXNpemU6JT80MD8lIWltcG9ydGFudH0ubS00MnttYXJnaW46JT80Mj8lIWltcG9ydGFudH0ubXgtNDJ7bWFyZ2luLWxlZnQ6JT80Mj8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT80Mj8lIWltcG9ydGFudH0ubWwtNDJ7bWFyZ2luLWxlZnQ6JT80Mj8lIWltcG9ydGFudH0ubXItNDJ7bWFyZ2luLXJpZ2h0OiU/NDI/JSFpbXBvcnRhbnR9Lm15LTQye21hcmdpbi10b3A6JT80Mj8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/NDI/JSFpbXBvcnRhbnR9Lm10LTQye21hcmdpbi10b3A6JT80Mj8lIWltcG9ydGFudH0ubWItNDJ7bWFyZ2luLWJvdHRvbTolPzQyPyUhaW1wb3J0YW50fS5wLTQye3BhZGRpbmc6JT80Mj8lIWltcG9ydGFudH0ucHgtNDJ7cGFkZGluZy1sZWZ0OiU/NDI/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzQyPyUhaW1wb3J0YW50fS5wbC00MntwYWRkaW5nLWxlZnQ6JT80Mj8lIWltcG9ydGFudH0ucHItNDJ7cGFkZGluZy1yaWdodDolPzQyPyUhaW1wb3J0YW50fS5weS00MntwYWRkaW5nLXRvcDolPzQyPyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NDI/JSFpbXBvcnRhbnR9LnB0LTQye3BhZGRpbmctdG9wOiU/NDI/JSFpbXBvcnRhbnR9LnBiLTQye3BhZGRpbmctYm90dG9tOiU/NDI/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTQye2dyaWQtZ2FwOiU/NDI/JSFpbXBvcnRhbnR9LnotaW5kZXgtNDJ7ei1pbmRleDo0MiFpbXBvcnRhbnR9LmZvbnQtc2l6ZS00Mntmb250LXNpemU6JT80Mj8lIWltcG9ydGFudH0ubS00NHttYXJnaW46JT80ND8lIWltcG9ydGFudH0ubXgtNDR7bWFyZ2luLWxlZnQ6JT80ND8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT80ND8lIWltcG9ydGFudH0ubWwtNDR7bWFyZ2luLWxlZnQ6JT80ND8lIWltcG9ydGFudH0ubXItNDR7bWFyZ2luLXJpZ2h0OiU/NDQ/JSFpbXBvcnRhbnR9Lm15LTQ0e21hcmdpbi10b3A6JT80ND8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/NDQ/JSFpbXBvcnRhbnR9Lm10LTQ0e21hcmdpbi10b3A6JT80ND8lIWltcG9ydGFudH0ubWItNDR7bWFyZ2luLWJvdHRvbTolPzQ0PyUhaW1wb3J0YW50fS5wLTQ0e3BhZGRpbmc6JT80ND8lIWltcG9ydGFudH0ucHgtNDR7cGFkZGluZy1sZWZ0OiU/NDQ/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzQ0PyUhaW1wb3J0YW50fS5wbC00NHtwYWRkaW5nLWxlZnQ6JT80ND8lIWltcG9ydGFudH0ucHItNDR7cGFkZGluZy1yaWdodDolPzQ0PyUhaW1wb3J0YW50fS5weS00NHtwYWRkaW5nLXRvcDolPzQ0PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NDQ/JSFpbXBvcnRhbnR9LnB0LTQ0e3BhZGRpbmctdG9wOiU/NDQ/JSFpbXBvcnRhbnR9LnBiLTQ0e3BhZGRpbmctYm90dG9tOiU/NDQ/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTQ0e2dyaWQtZ2FwOiU/NDQ/JSFpbXBvcnRhbnR9LnotaW5kZXgtNDR7ei1pbmRleDo0NCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS00NHtmb250LXNpemU6JT80ND8lIWltcG9ydGFudH0ubS00NnttYXJnaW46JT80Nj8lIWltcG9ydGFudH0ubXgtNDZ7bWFyZ2luLWxlZnQ6JT80Nj8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT80Nj8lIWltcG9ydGFudH0ubWwtNDZ7bWFyZ2luLWxlZnQ6JT80Nj8lIWltcG9ydGFudH0ubXItNDZ7bWFyZ2luLXJpZ2h0OiU/NDY/JSFpbXBvcnRhbnR9Lm15LTQ2e21hcmdpbi10b3A6JT80Nj8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/NDY/JSFpbXBvcnRhbnR9Lm10LTQ2e21hcmdpbi10b3A6JT80Nj8lIWltcG9ydGFudH0ubWItNDZ7bWFyZ2luLWJvdHRvbTolPzQ2PyUhaW1wb3J0YW50fS5wLTQ2e3BhZGRpbmc6JT80Nj8lIWltcG9ydGFudH0ucHgtNDZ7cGFkZGluZy1sZWZ0OiU/NDY/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzQ2PyUhaW1wb3J0YW50fS5wbC00NntwYWRkaW5nLWxlZnQ6JT80Nj8lIWltcG9ydGFudH0ucHItNDZ7cGFkZGluZy1yaWdodDolPzQ2PyUhaW1wb3J0YW50fS5weS00NntwYWRkaW5nLXRvcDolPzQ2PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NDY/JSFpbXBvcnRhbnR9LnB0LTQ2e3BhZGRpbmctdG9wOiU/NDY/JSFpbXBvcnRhbnR9LnBiLTQ2e3BhZGRpbmctYm90dG9tOiU/NDY/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTQ2e2dyaWQtZ2FwOiU/NDY/JSFpbXBvcnRhbnR9LnotaW5kZXgtNDZ7ei1pbmRleDo0NiFpbXBvcnRhbnR9LmZvbnQtc2l6ZS00Nntmb250LXNpemU6JT80Nj8lIWltcG9ydGFudH0ubS00OHttYXJnaW46JT80OD8lIWltcG9ydGFudH0ubXgtNDh7bWFyZ2luLWxlZnQ6JT80OD8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT80OD8lIWltcG9ydGFudH0ubWwtNDh7bWFyZ2luLWxlZnQ6JT80OD8lIWltcG9ydGFudH0ubXItNDh7bWFyZ2luLXJpZ2h0OiU/NDg/JSFpbXBvcnRhbnR9Lm15LTQ4e21hcmdpbi10b3A6JT80OD8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/NDg/JSFpbXBvcnRhbnR9Lm10LTQ4e21hcmdpbi10b3A6JT80OD8lIWltcG9ydGFudH0ubWItNDh7bWFyZ2luLWJvdHRvbTolPzQ4PyUhaW1wb3J0YW50fS5wLTQ4e3BhZGRpbmc6JT80OD8lIWltcG9ydGFudH0ucHgtNDh7cGFkZGluZy1sZWZ0OiU/NDg/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzQ4PyUhaW1wb3J0YW50fS5wbC00OHtwYWRkaW5nLWxlZnQ6JT80OD8lIWltcG9ydGFudH0ucHItNDh7cGFkZGluZy1yaWdodDolPzQ4PyUhaW1wb3J0YW50fS5weS00OHtwYWRkaW5nLXRvcDolPzQ4PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NDg/JSFpbXBvcnRhbnR9LnB0LTQ4e3BhZGRpbmctdG9wOiU/NDg/JSFpbXBvcnRhbnR9LnBiLTQ4e3BhZGRpbmctYm90dG9tOiU/NDg/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTQ4e2dyaWQtZ2FwOiU/NDg/JSFpbXBvcnRhbnR9LnotaW5kZXgtNDh7ei1pbmRleDo0OCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS00OHtmb250LXNpemU6JT80OD8lIWltcG9ydGFudH0ubS01MHttYXJnaW46JT81MD8lIWltcG9ydGFudH0ubXgtNTB7bWFyZ2luLWxlZnQ6JT81MD8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT81MD8lIWltcG9ydGFudH0ubWwtNTB7bWFyZ2luLWxlZnQ6JT81MD8lIWltcG9ydGFudH0ubXItNTB7bWFyZ2luLXJpZ2h0OiU/NTA/JSFpbXBvcnRhbnR9Lm15LTUwe21hcmdpbi10b3A6JT81MD8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/NTA/JSFpbXBvcnRhbnR9Lm10LTUwe21hcmdpbi10b3A6JT81MD8lIWltcG9ydGFudH0ubWItNTB7bWFyZ2luLWJvdHRvbTolPzUwPyUhaW1wb3J0YW50fS5wLTUwe3BhZGRpbmc6JT81MD8lIWltcG9ydGFudH0ucHgtNTB7cGFkZGluZy1sZWZ0OiU/NTA/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzUwPyUhaW1wb3J0YW50fS5wbC01MHtwYWRkaW5nLWxlZnQ6JT81MD8lIWltcG9ydGFudH0ucHItNTB7cGFkZGluZy1yaWdodDolPzUwPyUhaW1wb3J0YW50fS5weS01MHtwYWRkaW5nLXRvcDolPzUwPyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NTA/JSFpbXBvcnRhbnR9LnB0LTUwe3BhZGRpbmctdG9wOiU/NTA/JSFpbXBvcnRhbnR9LnBiLTUwe3BhZGRpbmctYm90dG9tOiU/NTA/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTUwe2dyaWQtZ2FwOiU/NTA/JSFpbXBvcnRhbnR9LnotaW5kZXgtNTB7ei1pbmRleDo1MCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS01MHtmb250LXNpemU6JT81MD8lIWltcG9ydGFudH0ubS01MnttYXJnaW46JT81Mj8lIWltcG9ydGFudH0ubXgtNTJ7bWFyZ2luLWxlZnQ6JT81Mj8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT81Mj8lIWltcG9ydGFudH0ubWwtNTJ7bWFyZ2luLWxlZnQ6JT81Mj8lIWltcG9ydGFudH0ubXItNTJ7bWFyZ2luLXJpZ2h0OiU/NTI/JSFpbXBvcnRhbnR9Lm15LTUye21hcmdpbi10b3A6JT81Mj8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/NTI/JSFpbXBvcnRhbnR9Lm10LTUye21hcmdpbi10b3A6JT81Mj8lIWltcG9ydGFudH0ubWItNTJ7bWFyZ2luLWJvdHRvbTolPzUyPyUhaW1wb3J0YW50fS5wLTUye3BhZGRpbmc6JT81Mj8lIWltcG9ydGFudH0ucHgtNTJ7cGFkZGluZy1sZWZ0OiU/NTI/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzUyPyUhaW1wb3J0YW50fS5wbC01MntwYWRkaW5nLWxlZnQ6JT81Mj8lIWltcG9ydGFudH0ucHItNTJ7cGFkZGluZy1yaWdodDolPzUyPyUhaW1wb3J0YW50fS5weS01MntwYWRkaW5nLXRvcDolPzUyPyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NTI/JSFpbXBvcnRhbnR9LnB0LTUye3BhZGRpbmctdG9wOiU/NTI/JSFpbXBvcnRhbnR9LnBiLTUye3BhZGRpbmctYm90dG9tOiU/NTI/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTUye2dyaWQtZ2FwOiU/NTI/JSFpbXBvcnRhbnR9LnotaW5kZXgtNTJ7ei1pbmRleDo1MiFpbXBvcnRhbnR9LmZvbnQtc2l6ZS01Mntmb250LXNpemU6JT81Mj8lIWltcG9ydGFudH0ubS01NHttYXJnaW46JT81ND8lIWltcG9ydGFudH0ubXgtNTR7bWFyZ2luLWxlZnQ6JT81ND8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT81ND8lIWltcG9ydGFudH0ubWwtNTR7bWFyZ2luLWxlZnQ6JT81ND8lIWltcG9ydGFudH0ubXItNTR7bWFyZ2luLXJpZ2h0OiU/NTQ/JSFpbXBvcnRhbnR9Lm15LTU0e21hcmdpbi10b3A6JT81ND8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/NTQ/JSFpbXBvcnRhbnR9Lm10LTU0e21hcmdpbi10b3A6JT81ND8lIWltcG9ydGFudH0ubWItNTR7bWFyZ2luLWJvdHRvbTolPzU0PyUhaW1wb3J0YW50fS5wLTU0e3BhZGRpbmc6JT81ND8lIWltcG9ydGFudH0ucHgtNTR7cGFkZGluZy1sZWZ0OiU/NTQ/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzU0PyUhaW1wb3J0YW50fS5wbC01NHtwYWRkaW5nLWxlZnQ6JT81ND8lIWltcG9ydGFudH0ucHItNTR7cGFkZGluZy1yaWdodDolPzU0PyUhaW1wb3J0YW50fS5weS01NHtwYWRkaW5nLXRvcDolPzU0PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NTQ/JSFpbXBvcnRhbnR9LnB0LTU0e3BhZGRpbmctdG9wOiU/NTQ/JSFpbXBvcnRhbnR9LnBiLTU0e3BhZGRpbmctYm90dG9tOiU/NTQ/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTU0e2dyaWQtZ2FwOiU/NTQ/JSFpbXBvcnRhbnR9LnotaW5kZXgtNTR7ei1pbmRleDo1NCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS01NHtmb250LXNpemU6JT81ND8lIWltcG9ydGFudH0ubS01NnttYXJnaW46JT81Nj8lIWltcG9ydGFudH0ubXgtNTZ7bWFyZ2luLWxlZnQ6JT81Nj8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT81Nj8lIWltcG9ydGFudH0ubWwtNTZ7bWFyZ2luLWxlZnQ6JT81Nj8lIWltcG9ydGFudH0ubXItNTZ7bWFyZ2luLXJpZ2h0OiU/NTY/JSFpbXBvcnRhbnR9Lm15LTU2e21hcmdpbi10b3A6JT81Nj8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/NTY/JSFpbXBvcnRhbnR9Lm10LTU2e21hcmdpbi10b3A6JT81Nj8lIWltcG9ydGFudH0ubWItNTZ7bWFyZ2luLWJvdHRvbTolPzU2PyUhaW1wb3J0YW50fS5wLTU2e3BhZGRpbmc6JT81Nj8lIWltcG9ydGFudH0ucHgtNTZ7cGFkZGluZy1sZWZ0OiU/NTY/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzU2PyUhaW1wb3J0YW50fS5wbC01NntwYWRkaW5nLWxlZnQ6JT81Nj8lIWltcG9ydGFudH0ucHItNTZ7cGFkZGluZy1yaWdodDolPzU2PyUhaW1wb3J0YW50fS5weS01NntwYWRkaW5nLXRvcDolPzU2PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NTY/JSFpbXBvcnRhbnR9LnB0LTU2e3BhZGRpbmctdG9wOiU/NTY/JSFpbXBvcnRhbnR9LnBiLTU2e3BhZGRpbmctYm90dG9tOiU/NTY/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTU2e2dyaWQtZ2FwOiU/NTY/JSFpbXBvcnRhbnR9LnotaW5kZXgtNTZ7ei1pbmRleDo1NiFpbXBvcnRhbnR9LmZvbnQtc2l6ZS01Nntmb250LXNpemU6JT81Nj8lIWltcG9ydGFudH0ubS01OHttYXJnaW46JT81OD8lIWltcG9ydGFudH0ubXgtNTh7bWFyZ2luLWxlZnQ6JT81OD8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT81OD8lIWltcG9ydGFudH0ubWwtNTh7bWFyZ2luLWxlZnQ6JT81OD8lIWltcG9ydGFudH0ubXItNTh7bWFyZ2luLXJpZ2h0OiU/NTg/JSFpbXBvcnRhbnR9Lm15LTU4e21hcmdpbi10b3A6JT81OD8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/NTg/JSFpbXBvcnRhbnR9Lm10LTU4e21hcmdpbi10b3A6JT81OD8lIWltcG9ydGFudH0ubWItNTh7bWFyZ2luLWJvdHRvbTolPzU4PyUhaW1wb3J0YW50fS5wLTU4e3BhZGRpbmc6JT81OD8lIWltcG9ydGFudH0ucHgtNTh7cGFkZGluZy1sZWZ0OiU/NTg/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzU4PyUhaW1wb3J0YW50fS5wbC01OHtwYWRkaW5nLWxlZnQ6JT81OD8lIWltcG9ydGFudH0ucHItNTh7cGFkZGluZy1yaWdodDolPzU4PyUhaW1wb3J0YW50fS5weS01OHtwYWRkaW5nLXRvcDolPzU4PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NTg/JSFpbXBvcnRhbnR9LnB0LTU4e3BhZGRpbmctdG9wOiU/NTg/JSFpbXBvcnRhbnR9LnBiLTU4e3BhZGRpbmctYm90dG9tOiU/NTg/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTU4e2dyaWQtZ2FwOiU/NTg/JSFpbXBvcnRhbnR9LnotaW5kZXgtNTh7ei1pbmRleDo1OCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS01OHtmb250LXNpemU6JT81OD8lIWltcG9ydGFudH0ubS02MHttYXJnaW46JT82MD8lIWltcG9ydGFudH0ubXgtNjB7bWFyZ2luLWxlZnQ6JT82MD8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT82MD8lIWltcG9ydGFudH0ubWwtNjB7bWFyZ2luLWxlZnQ6JT82MD8lIWltcG9ydGFudH0ubXItNjB7bWFyZ2luLXJpZ2h0OiU/NjA/JSFpbXBvcnRhbnR9Lm15LTYwe21hcmdpbi10b3A6JT82MD8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/NjA/JSFpbXBvcnRhbnR9Lm10LTYwe21hcmdpbi10b3A6JT82MD8lIWltcG9ydGFudH0ubWItNjB7bWFyZ2luLWJvdHRvbTolPzYwPyUhaW1wb3J0YW50fS5wLTYwe3BhZGRpbmc6JT82MD8lIWltcG9ydGFudH0ucHgtNjB7cGFkZGluZy1sZWZ0OiU/NjA/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzYwPyUhaW1wb3J0YW50fS5wbC02MHtwYWRkaW5nLWxlZnQ6JT82MD8lIWltcG9ydGFudH0ucHItNjB7cGFkZGluZy1yaWdodDolPzYwPyUhaW1wb3J0YW50fS5weS02MHtwYWRkaW5nLXRvcDolPzYwPyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NjA/JSFpbXBvcnRhbnR9LnB0LTYwe3BhZGRpbmctdG9wOiU/NjA/JSFpbXBvcnRhbnR9LnBiLTYwe3BhZGRpbmctYm90dG9tOiU/NjA/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTYwe2dyaWQtZ2FwOiU/NjA/JSFpbXBvcnRhbnR9LnotaW5kZXgtNjB7ei1pbmRleDo2MCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS02MHtmb250LXNpemU6JT82MD8lIWltcG9ydGFudH0ubS02MnttYXJnaW46JT82Mj8lIWltcG9ydGFudH0ubXgtNjJ7bWFyZ2luLWxlZnQ6JT82Mj8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT82Mj8lIWltcG9ydGFudH0ubWwtNjJ7bWFyZ2luLWxlZnQ6JT82Mj8lIWltcG9ydGFudH0ubXItNjJ7bWFyZ2luLXJpZ2h0OiU/NjI/JSFpbXBvcnRhbnR9Lm15LTYye21hcmdpbi10b3A6JT82Mj8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/NjI/JSFpbXBvcnRhbnR9Lm10LTYye21hcmdpbi10b3A6JT82Mj8lIWltcG9ydGFudH0ubWItNjJ7bWFyZ2luLWJvdHRvbTolPzYyPyUhaW1wb3J0YW50fS5wLTYye3BhZGRpbmc6JT82Mj8lIWltcG9ydGFudH0ucHgtNjJ7cGFkZGluZy1sZWZ0OiU/NjI/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzYyPyUhaW1wb3J0YW50fS5wbC02MntwYWRkaW5nLWxlZnQ6JT82Mj8lIWltcG9ydGFudH0ucHItNjJ7cGFkZGluZy1yaWdodDolPzYyPyUhaW1wb3J0YW50fS5weS02MntwYWRkaW5nLXRvcDolPzYyPyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NjI/JSFpbXBvcnRhbnR9LnB0LTYye3BhZGRpbmctdG9wOiU/NjI/JSFpbXBvcnRhbnR9LnBiLTYye3BhZGRpbmctYm90dG9tOiU/NjI/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTYye2dyaWQtZ2FwOiU/NjI/JSFpbXBvcnRhbnR9LnotaW5kZXgtNjJ7ei1pbmRleDo2MiFpbXBvcnRhbnR9LmZvbnQtc2l6ZS02Mntmb250LXNpemU6JT82Mj8lIWltcG9ydGFudH0ubS02NHttYXJnaW46JT82ND8lIWltcG9ydGFudH0ubXgtNjR7bWFyZ2luLWxlZnQ6JT82ND8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT82ND8lIWltcG9ydGFudH0ubWwtNjR7bWFyZ2luLWxlZnQ6JT82ND8lIWltcG9ydGFudH0ubXItNjR7bWFyZ2luLXJpZ2h0OiU/NjQ/JSFpbXBvcnRhbnR9Lm15LTY0e21hcmdpbi10b3A6JT82ND8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/NjQ/JSFpbXBvcnRhbnR9Lm10LTY0e21hcmdpbi10b3A6JT82ND8lIWltcG9ydGFudH0ubWItNjR7bWFyZ2luLWJvdHRvbTolPzY0PyUhaW1wb3J0YW50fS5wLTY0e3BhZGRpbmc6JT82ND8lIWltcG9ydGFudH0ucHgtNjR7cGFkZGluZy1sZWZ0OiU/NjQ/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzY0PyUhaW1wb3J0YW50fS5wbC02NHtwYWRkaW5nLWxlZnQ6JT82ND8lIWltcG9ydGFudH0ucHItNjR7cGFkZGluZy1yaWdodDolPzY0PyUhaW1wb3J0YW50fS5weS02NHtwYWRkaW5nLXRvcDolPzY0PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NjQ/JSFpbXBvcnRhbnR9LnB0LTY0e3BhZGRpbmctdG9wOiU/NjQ/JSFpbXBvcnRhbnR9LnBiLTY0e3BhZGRpbmctYm90dG9tOiU/NjQ/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTY0e2dyaWQtZ2FwOiU/NjQ/JSFpbXBvcnRhbnR9LnotaW5kZXgtNjR7ei1pbmRleDo2NCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS02NHtmb250LXNpemU6JT82ND8lIWltcG9ydGFudH0ubS02NnttYXJnaW46JT82Nj8lIWltcG9ydGFudH0ubXgtNjZ7bWFyZ2luLWxlZnQ6JT82Nj8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT82Nj8lIWltcG9ydGFudH0ubWwtNjZ7bWFyZ2luLWxlZnQ6JT82Nj8lIWltcG9ydGFudH0ubXItNjZ7bWFyZ2luLXJpZ2h0OiU/NjY/JSFpbXBvcnRhbnR9Lm15LTY2e21hcmdpbi10b3A6JT82Nj8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/NjY/JSFpbXBvcnRhbnR9Lm10LTY2e21hcmdpbi10b3A6JT82Nj8lIWltcG9ydGFudH0ubWItNjZ7bWFyZ2luLWJvdHRvbTolPzY2PyUhaW1wb3J0YW50fS5wLTY2e3BhZGRpbmc6JT82Nj8lIWltcG9ydGFudH0ucHgtNjZ7cGFkZGluZy1sZWZ0OiU/NjY/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzY2PyUhaW1wb3J0YW50fS5wbC02NntwYWRkaW5nLWxlZnQ6JT82Nj8lIWltcG9ydGFudH0ucHItNjZ7cGFkZGluZy1yaWdodDolPzY2PyUhaW1wb3J0YW50fS5weS02NntwYWRkaW5nLXRvcDolPzY2PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NjY/JSFpbXBvcnRhbnR9LnB0LTY2e3BhZGRpbmctdG9wOiU/NjY/JSFpbXBvcnRhbnR9LnBiLTY2e3BhZGRpbmctYm90dG9tOiU/NjY/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTY2e2dyaWQtZ2FwOiU/NjY/JSFpbXBvcnRhbnR9LnotaW5kZXgtNjZ7ei1pbmRleDo2NiFpbXBvcnRhbnR9LmZvbnQtc2l6ZS02Nntmb250LXNpemU6JT82Nj8lIWltcG9ydGFudH0ubS02OHttYXJnaW46JT82OD8lIWltcG9ydGFudH0ubXgtNjh7bWFyZ2luLWxlZnQ6JT82OD8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT82OD8lIWltcG9ydGFudH0ubWwtNjh7bWFyZ2luLWxlZnQ6JT82OD8lIWltcG9ydGFudH0ubXItNjh7bWFyZ2luLXJpZ2h0OiU/Njg/JSFpbXBvcnRhbnR9Lm15LTY4e21hcmdpbi10b3A6JT82OD8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/Njg/JSFpbXBvcnRhbnR9Lm10LTY4e21hcmdpbi10b3A6JT82OD8lIWltcG9ydGFudH0ubWItNjh7bWFyZ2luLWJvdHRvbTolPzY4PyUhaW1wb3J0YW50fS5wLTY4e3BhZGRpbmc6JT82OD8lIWltcG9ydGFudH0ucHgtNjh7cGFkZGluZy1sZWZ0OiU/Njg/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzY4PyUhaW1wb3J0YW50fS5wbC02OHtwYWRkaW5nLWxlZnQ6JT82OD8lIWltcG9ydGFudH0ucHItNjh7cGFkZGluZy1yaWdodDolPzY4PyUhaW1wb3J0YW50fS5weS02OHtwYWRkaW5nLXRvcDolPzY4PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/Njg/JSFpbXBvcnRhbnR9LnB0LTY4e3BhZGRpbmctdG9wOiU/Njg/JSFpbXBvcnRhbnR9LnBiLTY4e3BhZGRpbmctYm90dG9tOiU/Njg/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTY4e2dyaWQtZ2FwOiU/Njg/JSFpbXBvcnRhbnR9LnotaW5kZXgtNjh7ei1pbmRleDo2OCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS02OHtmb250LXNpemU6JT82OD8lIWltcG9ydGFudH0ubS03MHttYXJnaW46JT83MD8lIWltcG9ydGFudH0ubXgtNzB7bWFyZ2luLWxlZnQ6JT83MD8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT83MD8lIWltcG9ydGFudH0ubWwtNzB7bWFyZ2luLWxlZnQ6JT83MD8lIWltcG9ydGFudH0ubXItNzB7bWFyZ2luLXJpZ2h0OiU/NzA/JSFpbXBvcnRhbnR9Lm15LTcwe21hcmdpbi10b3A6JT83MD8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/NzA/JSFpbXBvcnRhbnR9Lm10LTcwe21hcmdpbi10b3A6JT83MD8lIWltcG9ydGFudH0ubWItNzB7bWFyZ2luLWJvdHRvbTolPzcwPyUhaW1wb3J0YW50fS5wLTcwe3BhZGRpbmc6JT83MD8lIWltcG9ydGFudH0ucHgtNzB7cGFkZGluZy1sZWZ0OiU/NzA/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzcwPyUhaW1wb3J0YW50fS5wbC03MHtwYWRkaW5nLWxlZnQ6JT83MD8lIWltcG9ydGFudH0ucHItNzB7cGFkZGluZy1yaWdodDolPzcwPyUhaW1wb3J0YW50fS5weS03MHtwYWRkaW5nLXRvcDolPzcwPyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NzA/JSFpbXBvcnRhbnR9LnB0LTcwe3BhZGRpbmctdG9wOiU/NzA/JSFpbXBvcnRhbnR9LnBiLTcwe3BhZGRpbmctYm90dG9tOiU/NzA/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTcwe2dyaWQtZ2FwOiU/NzA/JSFpbXBvcnRhbnR9LnotaW5kZXgtNzB7ei1pbmRleDo3MCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS03MHtmb250LXNpemU6JT83MD8lIWltcG9ydGFudH0ubS03MnttYXJnaW46JT83Mj8lIWltcG9ydGFudH0ubXgtNzJ7bWFyZ2luLWxlZnQ6JT83Mj8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT83Mj8lIWltcG9ydGFudH0ubWwtNzJ7bWFyZ2luLWxlZnQ6JT83Mj8lIWltcG9ydGFudH0ubXItNzJ7bWFyZ2luLXJpZ2h0OiU/NzI/JSFpbXBvcnRhbnR9Lm15LTcye21hcmdpbi10b3A6JT83Mj8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/NzI/JSFpbXBvcnRhbnR9Lm10LTcye21hcmdpbi10b3A6JT83Mj8lIWltcG9ydGFudH0ubWItNzJ7bWFyZ2luLWJvdHRvbTolPzcyPyUhaW1wb3J0YW50fS5wLTcye3BhZGRpbmc6JT83Mj8lIWltcG9ydGFudH0ucHgtNzJ7cGFkZGluZy1sZWZ0OiU/NzI/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzcyPyUhaW1wb3J0YW50fS5wbC03MntwYWRkaW5nLWxlZnQ6JT83Mj8lIWltcG9ydGFudH0ucHItNzJ7cGFkZGluZy1yaWdodDolPzcyPyUhaW1wb3J0YW50fS5weS03MntwYWRkaW5nLXRvcDolPzcyPyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NzI/JSFpbXBvcnRhbnR9LnB0LTcye3BhZGRpbmctdG9wOiU/NzI/JSFpbXBvcnRhbnR9LnBiLTcye3BhZGRpbmctYm90dG9tOiU/NzI/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTcye2dyaWQtZ2FwOiU/NzI/JSFpbXBvcnRhbnR9LnotaW5kZXgtNzJ7ei1pbmRleDo3MiFpbXBvcnRhbnR9LmZvbnQtc2l6ZS03Mntmb250LXNpemU6JT83Mj8lIWltcG9ydGFudH0ubS03NHttYXJnaW46JT83ND8lIWltcG9ydGFudH0ubXgtNzR7bWFyZ2luLWxlZnQ6JT83ND8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT83ND8lIWltcG9ydGFudH0ubWwtNzR7bWFyZ2luLWxlZnQ6JT83ND8lIWltcG9ydGFudH0ubXItNzR7bWFyZ2luLXJpZ2h0OiU/NzQ/JSFpbXBvcnRhbnR9Lm15LTc0e21hcmdpbi10b3A6JT83ND8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/NzQ/JSFpbXBvcnRhbnR9Lm10LTc0e21hcmdpbi10b3A6JT83ND8lIWltcG9ydGFudH0ubWItNzR7bWFyZ2luLWJvdHRvbTolPzc0PyUhaW1wb3J0YW50fS5wLTc0e3BhZGRpbmc6JT83ND8lIWltcG9ydGFudH0ucHgtNzR7cGFkZGluZy1sZWZ0OiU/NzQ/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzc0PyUhaW1wb3J0YW50fS5wbC03NHtwYWRkaW5nLWxlZnQ6JT83ND8lIWltcG9ydGFudH0ucHItNzR7cGFkZGluZy1yaWdodDolPzc0PyUhaW1wb3J0YW50fS5weS03NHtwYWRkaW5nLXRvcDolPzc0PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NzQ/JSFpbXBvcnRhbnR9LnB0LTc0e3BhZGRpbmctdG9wOiU/NzQ/JSFpbXBvcnRhbnR9LnBiLTc0e3BhZGRpbmctYm90dG9tOiU/NzQ/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTc0e2dyaWQtZ2FwOiU/NzQ/JSFpbXBvcnRhbnR9LnotaW5kZXgtNzR7ei1pbmRleDo3NCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS03NHtmb250LXNpemU6JT83ND8lIWltcG9ydGFudH0ubS03NnttYXJnaW46JT83Nj8lIWltcG9ydGFudH0ubXgtNzZ7bWFyZ2luLWxlZnQ6JT83Nj8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT83Nj8lIWltcG9ydGFudH0ubWwtNzZ7bWFyZ2luLWxlZnQ6JT83Nj8lIWltcG9ydGFudH0ubXItNzZ7bWFyZ2luLXJpZ2h0OiU/NzY/JSFpbXBvcnRhbnR9Lm15LTc2e21hcmdpbi10b3A6JT83Nj8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/NzY/JSFpbXBvcnRhbnR9Lm10LTc2e21hcmdpbi10b3A6JT83Nj8lIWltcG9ydGFudH0ubWItNzZ7bWFyZ2luLWJvdHRvbTolPzc2PyUhaW1wb3J0YW50fS5wLTc2e3BhZGRpbmc6JT83Nj8lIWltcG9ydGFudH0ucHgtNzZ7cGFkZGluZy1sZWZ0OiU/NzY/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzc2PyUhaW1wb3J0YW50fS5wbC03NntwYWRkaW5nLWxlZnQ6JT83Nj8lIWltcG9ydGFudH0ucHItNzZ7cGFkZGluZy1yaWdodDolPzc2PyUhaW1wb3J0YW50fS5weS03NntwYWRkaW5nLXRvcDolPzc2PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NzY/JSFpbXBvcnRhbnR9LnB0LTc2e3BhZGRpbmctdG9wOiU/NzY/JSFpbXBvcnRhbnR9LnBiLTc2e3BhZGRpbmctYm90dG9tOiU/NzY/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTc2e2dyaWQtZ2FwOiU/NzY/JSFpbXBvcnRhbnR9LnotaW5kZXgtNzZ7ei1pbmRleDo3NiFpbXBvcnRhbnR9LmZvbnQtc2l6ZS03Nntmb250LXNpemU6JT83Nj8lIWltcG9ydGFudH0ubS03OHttYXJnaW46JT83OD8lIWltcG9ydGFudH0ubXgtNzh7bWFyZ2luLWxlZnQ6JT83OD8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT83OD8lIWltcG9ydGFudH0ubWwtNzh7bWFyZ2luLWxlZnQ6JT83OD8lIWltcG9ydGFudH0ubXItNzh7bWFyZ2luLXJpZ2h0OiU/Nzg/JSFpbXBvcnRhbnR9Lm15LTc4e21hcmdpbi10b3A6JT83OD8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/Nzg/JSFpbXBvcnRhbnR9Lm10LTc4e21hcmdpbi10b3A6JT83OD8lIWltcG9ydGFudH0ubWItNzh7bWFyZ2luLWJvdHRvbTolPzc4PyUhaW1wb3J0YW50fS5wLTc4e3BhZGRpbmc6JT83OD8lIWltcG9ydGFudH0ucHgtNzh7cGFkZGluZy1sZWZ0OiU/Nzg/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzc4PyUhaW1wb3J0YW50fS5wbC03OHtwYWRkaW5nLWxlZnQ6JT83OD8lIWltcG9ydGFudH0ucHItNzh7cGFkZGluZy1yaWdodDolPzc4PyUhaW1wb3J0YW50fS5weS03OHtwYWRkaW5nLXRvcDolPzc4PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/Nzg/JSFpbXBvcnRhbnR9LnB0LTc4e3BhZGRpbmctdG9wOiU/Nzg/JSFpbXBvcnRhbnR9LnBiLTc4e3BhZGRpbmctYm90dG9tOiU/Nzg/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTc4e2dyaWQtZ2FwOiU/Nzg/JSFpbXBvcnRhbnR9LnotaW5kZXgtNzh7ei1pbmRleDo3OCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS03OHtmb250LXNpemU6JT83OD8lIWltcG9ydGFudH0uZmlsdGVyLWdyYXl7LXdlYmtpdC1maWx0ZXI6Z3JheXNjYWxlKDEpO2ZpbHRlcjpncmF5c2NhbGUoMSl9Lm14LWF1dG97bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0b30uZC1ibG9ja3tkaXNwbGF5OmJsb2NrfS5kLWlubGluZS1ibG9ja3tkaXNwbGF5OmlubGluZS1ibG9ja30udGV4dC1jZW50ZXJ7dGV4dC1hbGlnbjpjZW50ZXJ9LnRleHQtbGVmdHt0ZXh0LWFsaWduOmxlZnR9LnRleHQtcmlnaHR7dGV4dC1hbGlnbjpyaWdodH0uZC1mbGV4e2Rpc3BsYXk6ZmxleH0uZC1mbGV4LWJldHdlZW4tY2VudGVye2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjthbGlnbi1pdGVtczpjZW50ZXJ9LmZsZXgtd3JhcHtmbGV4LXdyYXA6d3JhcH0uanVzdGlmeS1jb250ZW50LWJldHdlZW57anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59Lmp1c3RpZnktY29udGVudC1hcm91bmR7anVzdGlmeS1jb250ZW50OnNwYWNlLWFyb3VuZH0uanVzdGlmeS1jb250ZW50LWNlbnRlcntqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5qdXN0aWZ5LWNvbnRlbnQtZW5ke2p1c3RpZnktY29udGVudDpmbGV4LWVuZH0uYWxpZ24taXRlbXMtY2VudGVye2FsaWduLWl0ZW1zOmNlbnRlcn0uYWxpZ24taXRlbXMtYmFzZWxpbmV7YWxpZ24taXRlbXM6YmFzZWxpbmV9LmZsZXgtZGlyZWN0aW9uLWNvbHVtbntmbGV4LWRpcmVjdGlvbjpjb2x1bW59LmZvbnQtd2VpZ2h0LWJvbGR7Zm9udC13ZWlnaHQ6NzAwfS5wb3NpdGlvbi1maXhlZHtwb3NpdGlvbjpmaXhlZH0ucG9zaXRpb24tcmVsYXRpdmV7cG9zaXRpb246cmVsYXRpdmV9LnBvc2l0aW9uLWFic29sdXRle3Bvc2l0aW9uOmFic29sdXRlfS5vdmVyZmxvdy1oaWRkZW57b3ZlcmZsb3c6aGlkZGVufS5saW5lLTF7b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS5saW5lLTJ7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtbGluZS1jbGFtcDoyO2xpbmUtY2xhbXA6Mjstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7Ym94LW9yaWVudDp2ZXJ0aWNhbDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6Ym94fS5saW5lLTN7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtbGluZS1jbGFtcDozO2xpbmUtY2xhbXA6Mzstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7Ym94LW9yaWVudDp2ZXJ0aWNhbDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6Ym94fS5saW5lLTR7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtbGluZS1jbGFtcDo0O2xpbmUtY2xhbXA6NDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7Ym94LW9yaWVudDp2ZXJ0aWNhbDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6Ym94fS5saW5lLTV7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtbGluZS1jbGFtcDo1O2xpbmUtY2xhbXA6NTstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7Ym94LW9yaWVudDp2ZXJ0aWNhbDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6Ym94fS53LTEwe3dpZHRoOjEwJX0uaC0xMHtoZWlnaHQ6MTAlfS5vcGFjaXR5LTEwe29wYWNpdHk6LjF9LnctMTd7d2lkdGg6MTclfS5oLTE3e2hlaWdodDoxNyV9Lm9wYWNpdHktMTd7b3BhY2l0eTouMTd9LnctMTh7d2lkdGg6MTglfS5oLTE4e2hlaWdodDoxOCV9Lm9wYWNpdHktMTh7b3BhY2l0eTouMTh9LnctMTl7d2lkdGg6MTklfS5oLTE5e2hlaWdodDoxOSV9Lm9wYWNpdHktMTl7b3BhY2l0eTouMTl9LnctMjB7d2lkdGg6MjAlfS5oLTIwe2hlaWdodDoyMCV9Lm9wYWNpdHktMjB7b3BhY2l0eTouMn0udy0yNXt3aWR0aDoyNSV9LmgtMjV7aGVpZ2h0OjI1JX0ub3BhY2l0eS0yNXtvcGFjaXR5Oi4yNX0udy0zMHt3aWR0aDozMCV9LmgtMzB7aGVpZ2h0OjMwJX0ub3BhY2l0eS0zMHtvcGFjaXR5Oi4zfS53LTMze3dpZHRoOjMzJX0uaC0zM3toZWlnaHQ6MzMlfS5vcGFjaXR5LTMze29wYWNpdHk6LjMzfS53LTQwe3dpZHRoOjQwJX0uaC00MHtoZWlnaHQ6NDAlfS5vcGFjaXR5LTQwe29wYWNpdHk6LjR9LnctNDR7d2lkdGg6NDQlfS5oLTQ0e2hlaWdodDo0NCV9Lm9wYWNpdHktNDR7b3BhY2l0eTouNDR9LnctNDh7d2lkdGg6NDglfS5oLTQ4e2hlaWdodDo0OCV9Lm9wYWNpdHktNDh7b3BhY2l0eTouNDh9LnctNDl7d2lkdGg6NDklfS5oLTQ5e2hlaWdodDo0OSV9Lm9wYWNpdHktNDl7b3BhY2l0eTouNDl9LnctNTB7d2lkdGg6NTAlfS5oLTUwe2hlaWdodDo1MCV9Lm9wYWNpdHktNTB7b3BhY2l0eTouNX0udy02MHt3aWR0aDo2MCV9LmgtNjB7aGVpZ2h0OjYwJX0ub3BhY2l0eS02MHtvcGFjaXR5Oi42fS53LTcwe3dpZHRoOjcwJX0uaC03MHtoZWlnaHQ6NzAlfS5vcGFjaXR5LTcwe29wYWNpdHk6Ljd9LnctNzV7d2lkdGg6NzUlfS5oLTc1e2hlaWdodDo3NSV9Lm9wYWNpdHktNzV7b3BhY2l0eTouNzV9LnctODB7d2lkdGg6ODAlfS5oLTgwe2hlaWdodDo4MCV9Lm9wYWNpdHktODB7b3BhY2l0eTouOH0udy05MHt3aWR0aDo5MCV9LmgtOTB7aGVpZ2h0OjkwJX0ub3BhY2l0eS05MHtvcGFjaXR5Oi45fS53LTEwMHt3aWR0aDoxMDAlfS5oLTEwMHtoZWlnaHQ6MTAwJX0ub3BhY2l0eS0xMDB7b3BhY2l0eTouMX0ucGItNTB7cGFkZGluZy1ib3R0b206JT81MD8lfS5tdC01MHttYXJnaW4tdG9wOiU/NTA/JX0ucGItNjB7cGFkZGluZy1ib3R0b206JT82MD8lfS5tdC02MHttYXJnaW4tdG9wOiU/NjA/JX0ucGItNzB7cGFkZGluZy1ib3R0b206JT83MD8lfS5tdC03MHttYXJnaW4tdG9wOiU/NzA/JX0ucGItODB7cGFkZGluZy1ib3R0b206JT84MD8lfS5tdC04MHttYXJnaW4tdG9wOiU/ODA/JX0ucGItOTB7cGFkZGluZy1ib3R0b206JT85MD8lfS5tdC05MHttYXJnaW4tdG9wOiU/OTA/JX0ucGItMTAwe3BhZGRpbmctYm90dG9tOiU/MTAwPyV9Lm10LTEwMHttYXJnaW4tdG9wOiU/MTAwPyV9LnBiLTExMHtwYWRkaW5nLWJvdHRvbTolPzExMD8lfS5tdC0xMTB7bWFyZ2luLXRvcDolPzExMD8lfS5wYi0xMjB7cGFkZGluZy1ib3R0b206JT8xMjA/JX0ubXQtMTIwe21hcmdpbi10b3A6JT8xMjA/JX0ucGItMTMwe3BhZGRpbmctYm90dG9tOiU/MTMwPyV9Lm10LTEzMHttYXJnaW4tdG9wOiU/MTMwPyV9LnBiLTE0MHtwYWRkaW5nLWJvdHRvbTolPzE0MD8lfS5tdC0xNDB7bWFyZ2luLXRvcDolPzE0MD8lfS5wYi0xNTB7cGFkZGluZy1ib3R0b206JT8xNTA/JX0ubXQtMTUwe21hcmdpbi10b3A6JT8xNTA/JX0ucGItMTYwe3BhZGRpbmctYm90dG9tOiU/MTYwPyV9Lm10LTE2MHttYXJnaW4tdG9wOiU/MTYwPyV9LnBiLTE3MHtwYWRkaW5nLWJvdHRvbTolPzE3MD8lfS5tdC0xNzB7bWFyZ2luLXRvcDolPzE3MD8lfS5wYi0xODB7cGFkZGluZy1ib3R0b206JT8xODA/JX0ubXQtMTgwe21hcmdpbi10b3A6JT8xODA/JX0ucGItMTkwe3BhZGRpbmctYm90dG9tOiU/MTkwPyV9Lm10LTE5MHttYXJnaW4tdG9wOiU/MTkwPyV9LnBiLTIwMHtwYWRkaW5nLWJvdHRvbTolPzIwMD8lfS5tdC0yMDB7bWFyZ2luLXRvcDolPzIwMD8lfS5pbnB1dHtwYWRkaW5nOjAgJT8zMD8lO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMDUpO2JvcmRlci1yYWRpdXM6JT8xMj8lO2hlaWdodDolPzg4PyU7bGluZS1oZWlnaHQ6JT84OD8lO3Bvc2l0aW9uOnJlbGF0aXZlfS5pbnB1dCAuaW5wdXQtcGxhY2Vob2xkZXJ7b3BhY2l0eTouNDtmb250LXdlaWdodDo0MDAhaW1wb3J0YW50fS5ib3gtc2hhZG93e2JveC1zaGFkb3c6MCAwIDEwcHggMCByZ2JhKDAsMCwwLC4wNil9LmJvcmRlcntib3JkZXI6JT8yPyUgc29saWQgIzRkNGQ0ZH0uYm9yZGVyLXRvcHtib3JkZXItdG9wOiU/Mj8lIHNvbGlkICM0ZDRkNGR9LmJvcmRlci1ib3R0b217Ym9yZGVyLWJvdHRvbTolPzI/JSBzb2xpZCAjNGQ0ZDRkfS5ib3JkZXItYm90dG9tLXdoaXRle2JvcmRlci1ib3R0b206JT8yPyUgc29saWQgI2YzZjNmM30uYm9yZGVyLXJhZGl1cy0xMHtib3JkZXItcmFkaXVzOiU/MTA/JSFpbXBvcnRhbnR9LmJvcmRlci1yYWRpdXMtMjAsIC5kZXBvc2l0e2JvcmRlci1yYWRpdXM6JT8yMD8lIWltcG9ydGFudH0uYm9yZGVyLXJhZGl1cy01MHBlcntib3JkZXItcmFkaXVzOjUwJSFpbXBvcnRhbnR9LnVuaS1pbnB1dC1wbGFjZWhvbGRlcntjb2xvcjpoc2xhKDAsMCUsOTkuNiUsLjUpfS5rZWZ1e3Bvc2l0aW9uOmZpeGVkO3JpZ2h0OiU/NTA/JTtib3R0b206MTYuNXZoO3otaW5kZXg6MTA7Ym9yZGVyLXJhZGl1czo1MCU7Ym94LXNoYWRvdzowIDAgMTVweCAwIHJnYmEoMCwwLDAsLjEpO2JhY2tncm91bmQtY29sb3I6IzMzMzt3aWR0aDolPzcwPyU7aGVpZ2h0OiU/NzA/JTtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9LmxvZ2luLWlucHV0LWdyb3Vwe2JvcmRlci1ib3R0b206JT8yPyUgc29saWQgaHNsYSgwLDAlLDEwMCUsLjIpO21hcmdpbi10b3A6JT81MD8lO3Bvc2l0aW9uOnJlbGF0aXZlfS5sb2dpbi1pbnB1dC1ncm91cCAubG9naW4taW5wdXR7aGVpZ2h0OiU/NzA/JTtsaW5lLWhlaWdodDolPzcwPyU7d2lkdGg6MTAwJX0ubG9naW4taW5wdXQtZ3JvdXAgLmxhYmVse29wYWNpdHk6Ljd9LmJveC1zaGFkb3d7Ym94LXNoYWRvdzowIDAgMTBweCAwIHJnYmEoMCwwLDAsLjEpfS5zdWJzZWN0aW9uIC5pdGVte3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmctYm90dG9tOiU/MTA/JX0uc3Vic2VjdGlvbiAuaXRlbTo6YWZ0ZXJ7ZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZTtjb250ZW50OiIiO2JvdHRvbTowO2xlZnQ6NTAlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7d2lkdGg6JT8zMD8lO2hlaWdodDolPzQ/JTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9LnN1YnNlY3Rpb24gLml0ZW0uYWN0aXZle2NvbG9yOiMyMjc3ZmN9LnN1YnNlY3Rpb24gLml0ZW0uYWN0aXZlOjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOiMyMjc3ZmN9LmQtZ3JpZHtkaXNwbGF5OmdyaWR9LmQtZ3JpZC1jb2x1bW5zLTJ7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMiwxZnIpfS5kLWdyaWQtY29sdW1ucy0ze2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDMsMWZyKX0uZC1ncmlkLWNvbHVtbnMtNHtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCg0LDFmcil9LmQtZ3JpZC1jb2x1bW5zLTV7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoNSwxZnIpfS5hcnRpY2xle3BhZGRpbmc6JT8zMD8lfS5hcnRpY2xlIHVuaS10ZXh0e2Rpc3BsYXk6YmxvY2s7bWFyZ2luLWJvdHRvbTolPzIwPyV9aWZyYW1le2xlZnQ6MCFpbXBvcnRhbnQ7cmlnaHQ6MCFpbXBvcnRhbnQ7bWFyZ2luOjAgYXV0bzt0b3A6MCFpbXBvcnRhbnR9LnBvc2l0aW9uLXJlbGF0aXZlLXppbmRleC05OXtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4Ojk5fS5zdGF0dXNfYmFye2hlaWdodDowO3dpZHRoOjEwMCV9LmFmdGVyLWJvcmRlcntwb3NpdGlvbjpyZWxhdGl2ZX0uYWZ0ZXItYm9yZGVyOmFmdGVye3Bvc2l0aW9uOmFic29sdXRlO2NvbnRlbnQ6IiI7dG9wOjA7cmlnaHQ6MDtib3R0b206MDt3aWR0aDolPzI/JTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoNTEsNTEsNTEsLjEpfS5sb2dpbi1sb2dve3RleHQtYWxpZ246Y2VudGVyO3BhZGRpbmctdG9wOjQuNXZofS5sb2dpbi1sb2dvIHVuaS1pbWFnZXt3aWR0aDoxN3ZoO2hlaWdodDoxN3ZoO2Rpc3BsYXk6YmxvY2s7Ym9yZGVyLXJhZGl1czolPzI0PyU7Ym94LXNoYWRvdzowIDAgJT8xMD8lIDAgcmdiYSgwLDAsMCwuMDUpO21hcmdpbjowIGF1dG99LnRhZy1wcmltYXJ5e2JhY2tncm91bmQtY29sb3I6IzIyNzdmYztjb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6JT82PyU7Zm9udC1zaXplOiU/MjA/JTtwYWRkaW5nOiU/ND8lICU/MTA/JTtib3JkZXI6JT8yPyUgc29saWQgIzIyNzdmYztib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyOm5vbmU7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoLTIyNWRlZywjMmNkOGQ1LCM2YjhkZDYgNDglLCM4ZTM3ZDcpfS50YWctZXJyb3IsIC50YWctcGxhaW4tZXJyb3J7YmFja2dyb3VuZC1jb2xvcjojZjA0YTVhO2NvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czolPzY/JTtmb250LXNpemU6JT8yMD8lO3BhZGRpbmc6JT80PyUgJT8xMD8lO2JvcmRlcjolPzI/JSBzb2xpZCAjZjA0YTVhO2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXI6bm9uZTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgyNzBkZWcsI2ZmMDg0NCAwLCNmZmIxOTkpfS50YWctc2Vjb25kYXJ5e2JhY2tncm91bmQtY29sb3I6cmdiYSg1MSw1MSw1MSwuMDYpO2NvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czolPzY/JTtmb250LXNpemU6JT8yMD8lO3BhZGRpbmc6JT80PyUgJT8xMD8lO2JvcmRlcjolPzI/JSBzb2xpZCByZ2JhKDUxLDUxLDUxLC4wNik7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlcjpub25lO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDQ1ZGVnLCM5M2E1Y2YsI2U0ZWZlOSl9LnRhZy13YXJuaW5ne2JhY2tncm91bmQtY29sb3I6I2Q0YmE4Mztjb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6JT82PyU7Zm9udC1zaXplOiU/MjA/JTtwYWRkaW5nOiU/ND8lICU/MTA/JTtib3JkZXI6JT8yPyUgc29saWQgI2Q0YmE4Mztib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyOm5vbmU7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoMWRlZywjZmZjYzhmLCNmZmVkZDgpfS50YWctc3VjY2VzcywgLnRhZy1wbGFpbi1zdWNjZXNze2JhY2tncm91bmQtY29sb3I6IzI4YmE5ODtjb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6JT82PyU7Zm9udC1zaXplOiU/MjA/JTtwYWRkaW5nOiU/ND8lICU/MTA/JTtib3JkZXI6JT8yPyUgc29saWQgIzI4YmE5ODtib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyOm5vbmU7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoMTIwZGVnLCM4NGZhYjAsIzhmZDNmNCl9LnRhZy1wbGFpbi1zdWNjZXNze2JhY2tncm91bmQ6bm9uZTtjb2xvcjojMjhiYTk4O2JvcmRlcjolPzI/JSBzb2xpZCAjMjhiYTk4fS50YWctcGxhaW4tZXJyb3J7YmFja2dyb3VuZDpub25lO2NvbG9yOiNmMDRhNWE7Ym9yZGVyOiU/Mj8lIHNvbGlkICNmMDRhNWF9LmFsZXJ0e2ZvbnQtc2l6ZTolPzI0PyU7Ym9yZGVyLXJhZGl1czolPzIwPyU7cGFkZGluZzolPzIwPyU7Ym9yZGVyLXJhZGl1czo1cHh9LmlucHV0LWl0ZW17cG9zaXRpb246cmVsYXRpdmV9LmlucHV0LWl0ZW0gLmlucHV0e21hcmdpbi10b3A6JT8yMD8lfS5pbnB1dC1pdGVtIC5leWV7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6JT8zMD8lO3RvcDo1NiV9LmlucHV0LWl0ZW0gLmdldC1jb2Rle3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OiU/MzA/JTt0b3A6JT83OD8lO2hlaWdodDolPzUwPyU7bGluZS1oZWlnaHQ6JT81MD8lO3BhZGRpbmc6MCAlPzIwPyU7YmFja2dyb3VuZC1jb2xvcjojZjA0YTVhO2JvcmRlci1yYWRpdXM6JT8xMD8lO2NvbG9yOiNmZmZ9LmlucHV0LWl0ZW0gLmdldC1jb2RlLnNlbmR7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDUxLDUxLDUxLC4wNil9LnVwbG9hZC13cmFwe2JhY2tncm91bmQ6IzRkNGQ0ZDt3aWR0aDolPzI0MD8lO2hlaWdodDolPzI0MD8lO2JvcmRlci1yYWRpdXM6JT8xMD8lO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjt0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW46MCBhdXRvO2JvcmRlcjolPzI/JSBzb2xpZCByZ2JhKDUxLDUxLDUxLC4wNik7b3ZlcmZsb3c6aGlkZGVufS5yaWdodC1lbnRlcnstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgxMDAlLDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwMCUsMCwwKX0ucmlnaHQtbGVhdmUtdG8sIC5yaWdodC1sZWF2ZXtkaXNwbGF5Om5vbmV9LnJpZ2h0LWVudGVyLXRvey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9LnJpZ2h0LWVudGVyLWFjdGl2ZSxcclxuLnJpZ2h0LWxlYXZlLWFjdGl2ZXt0cmFuc2l0aW9uOmFsbCAuM3N9LmRlcG9zaXR7Y29sb3I6IzMzMztwYWRkaW5nOjAgJT8yOD8lO3BhZGRpbmctdG9wOiU/Mzg/JTtwb3NpdGlvbjpyZWxhdGl2ZX0uZGVwb3NpdCAuZWFybmluZ3Mtd3JhcHttYXJnaW46MCAlPy0yOD8lO21hcmdpbi10b3A6JT8zMD8lfS5kZXBvc2l0IC5lYXJuaW5ncy13cmFwIC5lYXJuaW5nc3twYWRkaW5nOiU/MzA/JSAlPzI4PyUgJT8yOD8lICU/Mjg/JTtiYWNrZ3JvdW5kLWNvbG9yOmhzbGEoMCwwJSwxMDAlLC4xKX0udHJhbnNpdGlvbnt0cmFuc2l0aW9uOmFsbCAuM3MgZWFzZSAwc30ud2hpdGUtY2lyY2xle3dpZHRoOiU/ODA/JTtoZWlnaHQ6JT84MD8lO2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQtY29sb3I6I2ZmZjtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9LmZsZXgtMXtmbGV4OjF9LmxvZ2luLWhlYWQtYmd7cG9zaXRpb246Zml4ZWQ7d2lkdGg6MTAwdnc7aGVpZ2h0OjU0LjR2dzt0b3A6MDtsZWZ0OjA7cmlnaHQ6MH0ubGluZWFyLWdyYWRpZW50LXRleHR7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoM2RlZywjZmZjYzhmLCNmZmVkZDgpOy13ZWJraXQtYmFja2dyb3VuZC1jbGlwOnRleHQ7Y29sb3I6dHJhbnNwYXJlbnR9LmxpbmVhci1ncmFkaWVudC1idXR0b24sIC5kZXBvc2l0e2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDFkZWcsI2ZmY2M4ZiwjZmZlZGQ4KX0ud3JhcHBlci1iZ3twb3NpdGlvbjpyZWxhdGl2ZX0ud3JhcHBlci1iZzo6YWZ0ZXJ7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7cmlnaHQ6MDt0b3A6MDtib3R0b206MDtiYWNrZ3JvdW5kLWltYWdlOnVybCgnK2YrJyk7YmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1wb3NpdGlvbjoxMDAlIHRvcDtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXR9LnUtcmVsYXRpdmUsXHJcbi51LXJlbGF7cG9zaXRpb246cmVsYXRpdmV9LnUtYWJzb2x1dGUsXHJcbi51LWFic297cG9zaXRpb246YWJzb2x1dGV9dW5pLWltYWdle2Rpc3BsYXk6aW5saW5lLWJsb2NrfXVuaS12aWV3LFxyXG51bmktdGV4dHtib3gtc2l6aW5nOmJvcmRlci1ib3h9LnUtZm9udC14c3tmb250LXNpemU6JT8yMj8lfS51LWZvbnQtc217Zm9udC1zaXplOiU/MjY/JX0udS1mb250LW1ke2ZvbnQtc2l6ZTolPzI4PyV9LnUtZm9udC1sZ3tmb250LXNpemU6JT8zMD8lfS51LWZvbnQteGx7Zm9udC1zaXplOiU/MzQ/JX0udS1mbGV4e2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpyb3c7YWxpZ24taXRlbXM6Y2VudGVyfS51LWZsZXgtd3JhcHtmbGV4LXdyYXA6d3JhcH0udS1mbGV4LW5vd3JhcHtmbGV4LXdyYXA6bm93cmFwfS51LWNvbC1jZW50ZXJ7YWxpZ24taXRlbXM6Y2VudGVyfS51LWNvbC10b3B7YWxpZ24taXRlbXM6ZmxleC1zdGFydH0udS1jb2wtYm90dG9te2FsaWduLWl0ZW1zOmZsZXgtZW5kfS51LXJvdy1jZW50ZXJ7anVzdGlmeS1jb250ZW50OmNlbnRlcn0udS1yb3ctbGVmdHtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydH0udS1yb3ctcmlnaHR7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kfS51LXJvdy1iZXR3ZWVue2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS51LXJvdy1hcm91bmR7anVzdGlmeS1jb250ZW50OnNwYWNlLWFyb3VuZH0udS10ZXh0LWxlZnR7dGV4dC1hbGlnbjpsZWZ0fS51LXRleHQtY2VudGVye3RleHQtYWxpZ246Y2VudGVyfS51LXRleHQtcmlnaHR7dGV4dC1hbGlnbjpyaWdodH0udS1mbGV4LWNvbHtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS51LWZsZXgtMHtmbGV4OjB9LnUtZmxleC0xe2ZsZXg6MX0udS1mbGV4LTJ7ZmxleDoyfS51LWZsZXgtM3tmbGV4OjN9LnUtZmxleC00e2ZsZXg6NH0udS1mbGV4LTV7ZmxleDo1fS51LWZsZXgtNntmbGV4OjZ9LnUtZmxleC03e2ZsZXg6N30udS1mbGV4LTh7ZmxleDo4fS51LWZsZXgtOXtmbGV4Ojl9LnUtZmxleC0xMHtmbGV4OjEwfS51LWZsZXgtMTF7ZmxleDoxMX0udS1mbGV4LTEye2ZsZXg6MTJ9LnUtZm9udC05e2ZvbnQtc2l6ZTo5cHh9LnUtZm9udC0xMHtmb250LXNpemU6MTBweH0udS1mb250LTExe2ZvbnQtc2l6ZToxMXB4fS51LWZvbnQtMTJ7Zm9udC1zaXplOjEycHh9LnUtZm9udC0xM3tmb250LXNpemU6MTNweH0udS1mb250LTE0e2ZvbnQtc2l6ZToxNHB4fS51LWZvbnQtMTV7Zm9udC1zaXplOjE1cHh9LnUtZm9udC0xNntmb250LXNpemU6MTZweH0udS1mb250LTE3e2ZvbnQtc2l6ZToxN3B4fS51LWZvbnQtMTh7Zm9udC1zaXplOjE4cHh9LnUtZm9udC0xOXtmb250LXNpemU6MTlweH0udS1mb250LTIwe2ZvbnQtc2l6ZTolPzIwPyV9LnUtZm9udC0yMXtmb250LXNpemU6JT8yMT8lfS51LWZvbnQtMjJ7Zm9udC1zaXplOiU/MjI/JX0udS1mb250LTIze2ZvbnQtc2l6ZTolPzIzPyV9LnUtZm9udC0yNHtmb250LXNpemU6JT8yND8lfS51LWZvbnQtMjV7Zm9udC1zaXplOiU/MjU/JX0udS1mb250LTI2e2ZvbnQtc2l6ZTolPzI2PyV9LnUtZm9udC0yN3tmb250LXNpemU6JT8yNz8lfS51LWZvbnQtMjh7Zm9udC1zaXplOiU/Mjg/JX0udS1mb250LTI5e2ZvbnQtc2l6ZTolPzI5PyV9LnUtZm9udC0zMHtmb250LXNpemU6JT8zMD8lfS51LWZvbnQtMzF7Zm9udC1zaXplOiU/MzE/JX0udS1mb250LTMye2ZvbnQtc2l6ZTolPzMyPyV9LnUtZm9udC0zM3tmb250LXNpemU6JT8zMz8lfS51LWZvbnQtMzR7Zm9udC1zaXplOiU/MzQ/JX0udS1mb250LTM1e2ZvbnQtc2l6ZTolPzM1PyV9LnUtZm9udC0zNntmb250LXNpemU6JT8zNj8lfS51LWZvbnQtMzd7Zm9udC1zaXplOiU/Mzc/JX0udS1mb250LTM4e2ZvbnQtc2l6ZTolPzM4PyV9LnUtZm9udC0zOXtmb250LXNpemU6JT8zOT8lfS51LWZvbnQtNDB7Zm9udC1zaXplOiU/NDA/JX0udS1tYXJnaW4tMCwgLnUtbS0we21hcmdpbjolPzA/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy0wLCAudS1wLTB7cGFkZGluZzolPzA/JSFpbXBvcnRhbnR9LnUtbS1sLTB7bWFyZ2luLWxlZnQ6JT8wPyUhaW1wb3J0YW50fS51LXAtbC0we3BhZGRpbmctbGVmdDolPzA/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLWxlZnQtMHttYXJnaW4tbGVmdDolPzA/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy1sZWZ0LTB7cGFkZGluZy1sZWZ0OiU/MD8lIWltcG9ydGFudH0udS1tLXQtMHttYXJnaW4tdG9wOiU/MD8lIWltcG9ydGFudH0udS1wLXQtMHtwYWRkaW5nLXRvcDolPzA/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLXRvcC0we21hcmdpbi10b3A6JT8wPyUhaW1wb3J0YW50fS51LXBhZGRpbmctdG9wLTB7cGFkZGluZy10b3A6JT8wPyUhaW1wb3J0YW50fS51LW0tci0we21hcmdpbi1yaWdodDolPzA/JSFpbXBvcnRhbnR9LnUtcC1yLTB7cGFkZGluZy1yaWdodDolPzA/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLXJpZ2h0LTB7bWFyZ2luLXJpZ2h0OiU/MD8lIWltcG9ydGFudH0udS1wYWRkaW5nLXJpZ2h0LTB7cGFkZGluZy1yaWdodDolPzA/JSFpbXBvcnRhbnR9LnUtbS1iLTB7bWFyZ2luLWJvdHRvbTolPzA/JSFpbXBvcnRhbnR9LnUtcC1iLTB7cGFkZGluZy1ib3R0b206JT8wPyUhaW1wb3J0YW50fS51LW1hcmdpbi1ib3R0b20tMHttYXJnaW4tYm90dG9tOiU/MD8lIWltcG9ydGFudH0udS1wYWRkaW5nLWJvdHRvbS0we3BhZGRpbmctYm90dG9tOiU/MD8lIWltcG9ydGFudH0udS1tYXJnaW4tMiwgLnUtbS0ye21hcmdpbjolPzI/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy0yLCAudS1wLTJ7cGFkZGluZzolPzI/JSFpbXBvcnRhbnR9LnUtbS1sLTJ7bWFyZ2luLWxlZnQ6JT8yPyUhaW1wb3J0YW50fS51LXAtbC0ye3BhZGRpbmctbGVmdDolPzI/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLWxlZnQtMnttYXJnaW4tbGVmdDolPzI/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy1sZWZ0LTJ7cGFkZGluZy1sZWZ0OiU/Mj8lIWltcG9ydGFudH0udS1tLXQtMnttYXJnaW4tdG9wOiU/Mj8lIWltcG9ydGFudH0udS1wLXQtMntwYWRkaW5nLXRvcDolPzI/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLXRvcC0ye21hcmdpbi10b3A6JT8yPyUhaW1wb3J0YW50fS51LXBhZGRpbmctdG9wLTJ7cGFkZGluZy10b3A6JT8yPyUhaW1wb3J0YW50fS51LW0tci0ye21hcmdpbi1yaWdodDolPzI/JSFpbXBvcnRhbnR9LnUtcC1yLTJ7cGFkZGluZy1yaWdodDolPzI/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLXJpZ2h0LTJ7bWFyZ2luLXJpZ2h0OiU/Mj8lIWltcG9ydGFudH0udS1wYWRkaW5nLXJpZ2h0LTJ7cGFkZGluZy1yaWdodDolPzI/JSFpbXBvcnRhbnR9LnUtbS1iLTJ7bWFyZ2luLWJvdHRvbTolPzI/JSFpbXBvcnRhbnR9LnUtcC1iLTJ7cGFkZGluZy1ib3R0b206JT8yPyUhaW1wb3J0YW50fS51LW1hcmdpbi1ib3R0b20tMnttYXJnaW4tYm90dG9tOiU/Mj8lIWltcG9ydGFudH0udS1wYWRkaW5nLWJvdHRvbS0ye3BhZGRpbmctYm90dG9tOiU/Mj8lIWltcG9ydGFudH0udS1tYXJnaW4tNCwgLnUtbS00e21hcmdpbjolPzQ/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy00LCAudS1wLTR7cGFkZGluZzolPzQ/JSFpbXBvcnRhbnR9LnUtbS1sLTR7bWFyZ2luLWxlZnQ6JT80PyUhaW1wb3J0YW50fS51LXAtbC00e3BhZGRpbmctbGVmdDolPzQ/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLWxlZnQtNHttYXJnaW4tbGVmdDolPzQ/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy1sZWZ0LTR7cGFkZGluZy1sZWZ0OiU/ND8lIWltcG9ydGFudH0udS1tLXQtNHttYXJnaW4tdG9wOiU/ND8lIWltcG9ydGFudH0udS1wLXQtNHtwYWRkaW5nLXRvcDolPzQ/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLXRvcC00e21hcmdpbi10b3A6JT80PyUhaW1wb3J0YW50fS51LXBhZGRpbmctdG9wLTR7cGFkZGluZy10b3A6JT80PyUhaW1wb3J0YW50fS51LW0tci00e21hcmdpbi1yaWdodDolPzQ/JSFpbXBvcnRhbnR9LnUtcC1yLTR7cGFkZGluZy1yaWdodDolPzQ/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLXJpZ2h0LTR7bWFyZ2luLXJpZ2h0OiU/ND8lIWltcG9ydGFudH0udS1wYWRkaW5nLXJpZ2h0LTR7cGFkZGluZy1yaWdodDolPzQ/JSFpbXBvcnRhbnR9LnUtbS1iLTR7bWFyZ2luLWJvdHRvbTolPzQ/JSFpbXBvcnRhbnR9LnUtcC1iLTR7cGFkZGluZy1ib3R0b206JT80PyUhaW1wb3J0YW50fS51LW1hcmdpbi1ib3R0b20tNHttYXJnaW4tYm90dG9tOiU/ND8lIWltcG9ydGFudH0udS1wYWRkaW5nLWJvdHRvbS00e3BhZGRpbmctYm90dG9tOiU/ND8lIWltcG9ydGFudH0udS1tYXJnaW4tNSwgLnUtbS01e21hcmdpbjolPzU/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy01LCAudS1wLTV7cGFkZGluZzolPzU/JSFpbXBvcnRhbnR9LnUtbS1sLTV7bWFyZ2luLWxlZnQ6JT81PyUhaW1wb3J0YW50fS51LXAtbC01e3BhZGRpbmctbGVmdDolPzU/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLWxlZnQtNXttYXJnaW4tbGVmdDolPzU/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy1sZWZ0LTV7cGFkZGluZy1sZWZ0OiU/NT8lIWltcG9ydGFudH0udS1tLXQtNXttYXJnaW4tdG9wOiU/NT8lIWltcG9ydGFudH0udS1wLXQtNXtwYWRkaW5nLXRvcDolPzU/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLXRvcC01e21hcmdpbi10b3A6JT81PyUhaW1wb3J0YW50fS51LXBhZGRpbmctdG9wLTV7cGFkZGluZy10b3A6JT81PyUhaW1wb3J0YW50fS51LW0tci01e21hcmdpbi1yaWdodDolPzU/JSFpbXBvcnRhbnR9LnUtcC1yLTV7cGFkZGluZy1yaWdodDolPzU/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLXJpZ2h0LTV7bWFyZ2luLXJpZ2h0OiU/NT8lIWltcG9ydGFudH0udS1wYWRkaW5nLXJpZ2h0LTV7cGFkZGluZy1yaWdodDolPzU/JSFpbXBvcnRhbnR9LnUtbS1iLTV7bWFyZ2luLWJvdHRvbTolPzU/JSFpbXBvcnRhbnR9LnUtcC1iLTV7cGFkZGluZy1ib3R0b206JT81PyUhaW1wb3J0YW50fS51LW1hcmdpbi1ib3R0b20tNXttYXJnaW4tYm90dG9tOiU/NT8lIWltcG9ydGFudH0udS1wYWRkaW5nLWJvdHRvbS01e3BhZGRpbmctYm90dG9tOiU/NT8lIWltcG9ydGFudH0udS1tYXJnaW4tNiwgLnUtbS02e21hcmdpbjolPzY/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy02LCAudS1wLTZ7cGFkZGluZzolPzY/JSFpbXBvcnRhbnR9LnUtbS1sLTZ7bWFyZ2luLWxlZnQ6JT82PyUhaW1wb3J0YW50fS51LXAtbC02e3BhZGRpbmctbGVmdDolPzY/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLWxlZnQtNnttYXJnaW4tbGVmdDolPzY/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy1sZWZ0LTZ7cGFkZGluZy1sZWZ0OiU/Nj8lIWltcG9ydGFudH0udS1tLXQtNnttYXJnaW4tdG9wOiU/Nj8lIWltcG9ydGFudH0udS1wLXQtNntwYWRkaW5nLXRvcDolPzY/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLXRvcC02e21hcmdpbi10b3A6JT82PyUhaW1wb3J0YW50fS51LXBhZGRpbmctdG9wLTZ7cGFkZGluZy10b3A6JT82PyUhaW1wb3J0YW50fS51LW0tci02e21hcmdpbi1yaWdodDolPzY/JSFpbXBvcnRhbnR9LnUtcC1yLTZ7cGFkZGluZy1yaWdodDolPzY/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLXJpZ2h0LTZ7bWFyZ2luLXJpZ2h0OiU/Nj8lIWltcG9ydGFudH0udS1wYWRkaW5nLXJpZ2h0LTZ7cGFkZGluZy1yaWdodDolPzY/JSFpbXBvcnRhbnR9LnUtbS1iLTZ7bWFyZ2luLWJvdHRvbTolPzY/JSFpbXBvcnRhbnR9LnUtcC1iLTZ7cGFkZGluZy1ib3R0b206JT82PyUhaW1wb3J0YW50fS51LW1hcmdpbi1ib3R0b20tNnttYXJnaW4tYm90dG9tOiU/Nj8lIWltcG9ydGFudH0udS1wYWRkaW5nLWJvdHRvbS02e3BhZGRpbmctYm90dG9tOiU/Nj8lIWltcG9ydGFudH0udS1tYXJnaW4tOCwgLnUtbS04e21hcmdpbjolPzg/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy04LCAudS1wLTh7cGFkZGluZzolPzg/JSFpbXBvcnRhbnR9LnUtbS1sLTh7bWFyZ2luLWxlZnQ6JT84PyUhaW1wb3J0YW50fS51LXAtbC04e3BhZGRpbmctbGVmdDolPzg/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLWxlZnQtOHttYXJnaW4tbGVmdDolPzg/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy1sZWZ0LTh7cGFkZGluZy1sZWZ0OiU/OD8lIWltcG9ydGFudH0udS1tLXQtOHttYXJnaW4tdG9wOiU/OD8lIWltcG9ydGFudH0udS1wLXQtOHtwYWRkaW5nLXRvcDolPzg/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLXRvcC04e21hcmdpbi10b3A6JT84PyUhaW1wb3J0YW50fS51LXBhZGRpbmctdG9wLTh7cGFkZGluZy10b3A6JT84PyUhaW1wb3J0YW50fS51LW0tci04e21hcmdpbi1yaWdodDolPzg/JSFpbXBvcnRhbnR9LnUtcC1yLTh7cGFkZGluZy1yaWdodDolPzg/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLXJpZ2h0LTh7bWFyZ2luLXJpZ2h0OiU/OD8lIWltcG9ydGFudH0udS1wYWRkaW5nLXJpZ2h0LTh7cGFkZGluZy1yaWdodDolPzg/JSFpbXBvcnRhbnR9LnUtbS1iLTh7bWFyZ2luLWJvdHRvbTolPzg/JSFpbXBvcnRhbnR9LnUtcC1iLTh7cGFkZGluZy1ib3R0b206JT84PyUhaW1wb3J0YW50fS51LW1hcmdpbi1ib3R0b20tOHttYXJnaW4tYm90dG9tOiU/OD8lIWltcG9ydGFudH0udS1wYWRkaW5nLWJvdHRvbS04e3BhZGRpbmctYm90dG9tOiU/OD8lIWltcG9ydGFudH0udS1tYXJnaW4tMTAsIC51LW0tMTB7bWFyZ2luOiU/MTA/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy0xMCwgLnUtcC0xMHtwYWRkaW5nOiU/MTA/JSFpbXBvcnRhbnR9LnUtbS1sLTEwe21hcmdpbi1sZWZ0OiU/MTA/JSFpbXBvcnRhbnR9LnUtcC1sLTEwe3BhZGRpbmctbGVmdDolPzEwPyUhaW1wb3J0YW50fS51LW1hcmdpbi1sZWZ0LTEwe21hcmdpbi1sZWZ0OiU/MTA/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy1sZWZ0LTEwe3BhZGRpbmctbGVmdDolPzEwPyUhaW1wb3J0YW50fS51LW0tdC0xMHttYXJnaW4tdG9wOiU/MTA/JSFpbXBvcnRhbnR9LnUtcC10LTEwe3BhZGRpbmctdG9wOiU/MTA/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLXRvcC0xMHttYXJnaW4tdG9wOiU/MTA/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy10b3AtMTB7cGFkZGluZy10b3A6JT8xMD8lIWltcG9ydGFudH0udS1tLXItMTB7bWFyZ2luLXJpZ2h0OiU/MTA/JSFpbXBvcnRhbnR9LnUtcC1yLTEwe3BhZGRpbmctcmlnaHQ6JT8xMD8lIWltcG9ydGFudH0udS1tYXJnaW4tcmlnaHQtMTB7bWFyZ2luLXJpZ2h0OiU/MTA/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy1yaWdodC0xMHtwYWRkaW5nLXJpZ2h0OiU/MTA/JSFpbXBvcnRhbnR9LnUtbS1iLTEwe21hcmdpbi1ib3R0b206JT8xMD8lIWltcG9ydGFudH0udS1wLWItMTB7cGFkZGluZy1ib3R0b206JT8xMD8lIWltcG9ydGFudH0udS1tYXJnaW4tYm90dG9tLTEwe21hcmdpbi1ib3R0b206JT8xMD8lIWltcG9ydGFudH0udS1wYWRkaW5nLWJvdHRvbS0xMHtwYWRkaW5nLWJvdHRvbTolPzEwPyUhaW1wb3J0YW50fS51LW1hcmdpbi0xMiwgLnUtbS0xMnttYXJnaW46JT8xMj8lIWltcG9ydGFudH0udS1wYWRkaW5nLTEyLCAudS1wLTEye3BhZGRpbmc6JT8xMj8lIWltcG9ydGFudH0udS1tLWwtMTJ7bWFyZ2luLWxlZnQ6JT8xMj8lIWltcG9ydGFudH0udS1wLWwtMTJ7cGFkZGluZy1sZWZ0OiU/MTI/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLWxlZnQtMTJ7bWFyZ2luLWxlZnQ6JT8xMj8lIWltcG9ydGFudH0udS1wYWRkaW5nLWxlZnQtMTJ7cGFkZGluZy1sZWZ0OiU/MTI/JSFpbXBvcnRhbnR9LnUtbS10LTEye21hcmdpbi10b3A6JT8xMj8lIWltcG9ydGFudH0udS1wLXQtMTJ7cGFkZGluZy10b3A6JT8xMj8lIWltcG9ydGFudH0udS1tYXJnaW4tdG9wLTEye21hcmdpbi10b3A6JT8xMj8lIWltcG9ydGFudH0udS1wYWRkaW5nLXRvcC0xMntwYWRkaW5nLXRvcDolPzEyPyUhaW1wb3J0YW50fS51LW0tci0xMnttYXJnaW4tcmlnaHQ6JT8xMj8lIWltcG9ydGFudH0udS1wLXItMTJ7cGFkZGluZy1yaWdodDolPzEyPyUhaW1wb3J0YW50fS51LW1hcmdpbi1yaWdodC0xMnttYXJnaW4tcmlnaHQ6JT8xMj8lIWltcG9ydGFudH0udS1wYWRkaW5nLXJpZ2h0LTEye3BhZGRpbmctcmlnaHQ6JT8xMj8lIWltcG9ydGFudH0udS1tLWItMTJ7bWFyZ2luLWJvdHRvbTolPzEyPyUhaW1wb3J0YW50fS51LXAtYi0xMntwYWRkaW5nLWJvdHRvbTolPzEyPyUhaW1wb3J0YW50fS51LW1hcmdpbi1ib3R0b20tMTJ7bWFyZ2luLWJvdHRvbTolPzEyPyUhaW1wb3J0YW50fS51LXBhZGRpbmctYm90dG9tLTEye3BhZGRpbmctYm90dG9tOiU/MTI/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLTE0LCAudS1tLTE0e21hcmdpbjolPzE0PyUhaW1wb3J0YW50fS51LXBhZGRpbmctMTQsIC51LXAtMTR7cGFkZGluZzolPzE0PyUhaW1wb3J0YW50fS51LW0tbC0xNHttYXJnaW4tbGVmdDolPzE0PyUhaW1wb3J0YW50fS51LXAtbC0xNHtwYWRkaW5nLWxlZnQ6JT8xND8lIWltcG9ydGFudH0udS1tYXJnaW4tbGVmdC0xNHttYXJnaW4tbGVmdDolPzE0PyUhaW1wb3J0YW50fS51LXBhZGRpbmctbGVmdC0xNHtwYWRkaW5nLWxlZnQ6JT8xND8lIWltcG9ydGFudH0udS1tLXQtMTR7bWFyZ2luLXRvcDolPzE0PyUhaW1wb3J0YW50fS51LXAtdC0xNHtwYWRkaW5nLXRvcDolPzE0PyUhaW1wb3J0YW50fS51LW1hcmdpbi10b3AtMTR7bWFyZ2luLXRvcDolPzE0PyUhaW1wb3J0YW50fS51LXBhZGRpbmctdG9wLTE0e3BhZGRpbmctdG9wOiU/MTQ/JSFpbXBvcnRhbnR9LnUtbS1yLTE0e21hcmdpbi1yaWdodDolPzE0PyUhaW1wb3J0YW50fS51LXAtci0xNHtwYWRkaW5nLXJpZ2h0OiU/MTQ/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLXJpZ2h0LTE0e21hcmdpbi1yaWdodDolPzE0PyUhaW1wb3J0YW50fS51LXBhZGRpbmctcmlnaHQtMTR7cGFkZGluZy1yaWdodDolPzE0PyUhaW1wb3J0YW50fS51LW0tYi0xNHttYXJnaW4tYm90dG9tOiU/MTQ/JSFpbXBvcnRhbnR9LnUtcC1iLTE0e3BhZGRpbmctYm90dG9tOiU/MTQ/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLWJvdHRvbS0xNHttYXJnaW4tYm90dG9tOiU/MTQ/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy1ib3R0b20tMTR7cGFkZGluZy1ib3R0b206JT8xND8lIWltcG9ydGFudH0udS1tYXJnaW4tMTUsIC51LW0tMTV7bWFyZ2luOiU/MTU/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy0xNSwgLnUtcC0xNXtwYWRkaW5nOiU/MTU/JSFpbXBvcnRhbnR9LnUtbS1sLTE1e21hcmdpbi1sZWZ0OiU/MTU/JSFpbXBvcnRhbnR9LnUtcC1sLTE1e3BhZGRpbmctbGVmdDolPzE1PyUhaW1wb3J0YW50fS51LW1hcmdpbi1sZWZ0LTE1e21hcmdpbi1sZWZ0OiU/MTU/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy1sZWZ0LTE1e3BhZGRpbmctbGVmdDolPzE1PyUhaW1wb3J0YW50fS51LW0tdC0xNXttYXJnaW4tdG9wOiU/MTU/JSFpbXBvcnRhbnR9LnUtcC10LTE1e3BhZGRpbmctdG9wOiU/MTU/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLXRvcC0xNXttYXJnaW4tdG9wOiU/MTU/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy10b3AtMTV7cGFkZGluZy10b3A6JT8xNT8lIWltcG9ydGFudH0udS1tLXItMTV7bWFyZ2luLXJpZ2h0OiU/MTU/JSFpbXBvcnRhbnR9LnUtcC1yLTE1e3BhZGRpbmctcmlnaHQ6JT8xNT8lIWltcG9ydGFudH0udS1tYXJnaW4tcmlnaHQtMTV7bWFyZ2luLXJpZ2h0OiU/MTU/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy1yaWdodC0xNXtwYWRkaW5nLXJpZ2h0OiU/MTU/JSFpbXBvcnRhbnR9LnUtbS1iLTE1e21hcmdpbi1ib3R0b206JT8xNT8lIWltcG9ydGFudH0udS1wLWItMTV7cGFkZGluZy1ib3R0b206JT8xNT8lIWltcG9ydGFudH0udS1tYXJnaW4tYm90dG9tLTE1e21hcmdpbi1ib3R0b206JT8xNT8lIWltcG9ydGFudH0udS1wYWRkaW5nLWJvdHRvbS0xNXtwYWRkaW5nLWJvdHRvbTolPzE1PyUhaW1wb3J0YW50fS51LW1hcmdpbi0xNiwgLnUtbS0xNnttYXJnaW46JT8xNj8lIWltcG9ydGFudH0udS1wYWRkaW5nLTE2LCAudS1wLTE2e3BhZGRpbmc6JT8xNj8lIWltcG9ydGFudH0udS1tLWwtMTZ7bWFyZ2luLWxlZnQ6JT8xNj8lIWltcG9ydGFudH0udS1wLWwtMTZ7cGFkZGluZy1sZWZ0OiU/MTY/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLWxlZnQtMTZ7bWFyZ2luLWxlZnQ6JT8xNj8lIWltcG9ydGFudH0udS1wYWRkaW5nLWxlZnQtMTZ7cGFkZGluZy1sZWZ0OiU/MTY/JSFpbXBvcnRhbnR9LnUtbS10LTE2e21hcmdpbi10b3A6JT8xNj8lIWltcG9ydGFudH0udS1wLXQtMTZ7cGFkZGluZy10b3A6JT8xNj8lIWltcG9ydGFudH0udS1tYXJnaW4tdG9wLTE2e21hcmdpbi10b3A6JT8xNj8lIWltcG9ydGFudH0udS1wYWRkaW5nLXRvcC0xNntwYWRkaW5nLXRvcDolPzE2PyUhaW1wb3J0YW50fS51LW0tci0xNnttYXJnaW4tcmlnaHQ6JT8xNj8lIWltcG9ydGFudH0udS1wLXItMTZ7cGFkZGluZy1yaWdodDolPzE2PyUhaW1wb3J0YW50fS51LW1hcmdpbi1yaWdodC0xNnttYXJnaW4tcmlnaHQ6JT8xNj8lIWltcG9ydGFudH0udS1wYWRkaW5nLXJpZ2h0LTE2e3BhZGRpbmctcmlnaHQ6JT8xNj8lIWltcG9ydGFudH0udS1tLWItMTZ7bWFyZ2luLWJvdHRvbTolPzE2PyUhaW1wb3J0YW50fS51LXAtYi0xNntwYWRkaW5nLWJvdHRvbTolPzE2PyUhaW1wb3J0YW50fS51LW1hcmdpbi1ib3R0b20tMTZ7bWFyZ2luLWJvdHRvbTolPzE2PyUhaW1wb3J0YW50fS51LXBhZGRpbmctYm90dG9tLTE2e3BhZGRpbmctYm90dG9tOiU/MTY/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLTE4LCAudS1tLTE4e21hcmdpbjolPzE4PyUhaW1wb3J0YW50fS51LXBhZGRpbmctMTgsIC51LXAtMTh7cGFkZGluZzolPzE4PyUhaW1wb3J0YW50fS51LW0tbC0xOHttYXJnaW4tbGVmdDolPzE4PyUhaW1wb3J0YW50fS51LXAtbC0xOHtwYWRkaW5nLWxlZnQ6JT8xOD8lIWltcG9ydGFudH0udS1tYXJnaW4tbGVmdC0xOHttYXJnaW4tbGVmdDolPzE4PyUhaW1wb3J0YW50fS51LXBhZGRpbmctbGVmdC0xOHtwYWRkaW5nLWxlZnQ6JT8xOD8lIWltcG9ydGFudH0udS1tLXQtMTh7bWFyZ2luLXRvcDolPzE4PyUhaW1wb3J0YW50fS51LXAtdC0xOHtwYWRkaW5nLXRvcDolPzE4PyUhaW1wb3J0YW50fS51LW1hcmdpbi10b3AtMTh7bWFyZ2luLXRvcDolPzE4PyUhaW1wb3J0YW50fS51LXBhZGRpbmctdG9wLTE4e3BhZGRpbmctdG9wOiU/MTg/JSFpbXBvcnRhbnR9LnUtbS1yLTE4e21hcmdpbi1yaWdodDolPzE4PyUhaW1wb3J0YW50fS51LXAtci0xOHtwYWRkaW5nLXJpZ2h0OiU/MTg/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLXJpZ2h0LTE4e21hcmdpbi1yaWdodDolPzE4PyUhaW1wb3J0YW50fS51LXBhZGRpbmctcmlnaHQtMTh7cGFkZGluZy1yaWdodDolPzE4PyUhaW1wb3J0YW50fS51LW0tYi0xOHttYXJnaW4tYm90dG9tOiU/MTg/JSFpbXBvcnRhbnR9LnUtcC1iLTE4e3BhZGRpbmctYm90dG9tOiU/MTg/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLWJvdHRvbS0xOHttYXJnaW4tYm90dG9tOiU/MTg/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy1ib3R0b20tMTh7cGFkZGluZy1ib3R0b206JT8xOD8lIWltcG9ydGFudH0udS1tYXJnaW4tMjAsIC51LW0tMjB7bWFyZ2luOiU/MjA/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy0yMCwgLnUtcC0yMHtwYWRkaW5nOiU/MjA/JSFpbXBvcnRhbnR9LnUtbS1sLTIwe21hcmdpbi1sZWZ0OiU/MjA/JSFpbXBvcnRhbnR9LnUtcC1sLTIwe3BhZGRpbmctbGVmdDolPzIwPyUhaW1wb3J0YW50fS51LW1hcmdpbi1sZWZ0LTIwe21hcmdpbi1sZWZ0OiU/MjA/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy1sZWZ0LTIwe3BhZGRpbmctbGVmdDolPzIwPyUhaW1wb3J0YW50fS51LW0tdC0yMHttYXJnaW4tdG9wOiU/MjA/JSFpbXBvcnRhbnR9LnUtcC10LTIwe3BhZGRpbmctdG9wOiU/MjA/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLXRvcC0yMHttYXJnaW4tdG9wOiU/MjA/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy10b3AtMjB7cGFkZGluZy10b3A6JT8yMD8lIWltcG9ydGFudH0udS1tLXItMjB7bWFyZ2luLXJpZ2h0OiU/MjA/JSFpbXBvcnRhbnR9LnUtcC1yLTIwe3BhZGRpbmctcmlnaHQ6JT8yMD8lIWltcG9ydGFudH0udS1tYXJnaW4tcmlnaHQtMjB7bWFyZ2luLXJpZ2h0OiU/MjA/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy1yaWdodC0yMHtwYWRkaW5nLXJpZ2h0OiU/MjA/JSFpbXBvcnRhbnR9LnUtbS1iLTIwe21hcmdpbi1ib3R0b206JT8yMD8lIWltcG9ydGFudH0udS1wLWItMjB7cGFkZGluZy1ib3R0b206JT8yMD8lIWltcG9ydGFudH0udS1tYXJnaW4tYm90dG9tLTIwe21hcmdpbi1ib3R0b206JT8yMD8lIWltcG9ydGFudH0udS1wYWRkaW5nLWJvdHRvbS0yMHtwYWRkaW5nLWJvdHRvbTolPzIwPyUhaW1wb3J0YW50fS51LW1hcmdpbi0yMiwgLnUtbS0yMnttYXJnaW46JT8yMj8lIWltcG9ydGFudH0udS1wYWRkaW5nLTIyLCAudS1wLTIye3BhZGRpbmc6JT8yMj8lIWltcG9ydGFudH0udS1tLWwtMjJ7bWFyZ2luLWxlZnQ6JT8yMj8lIWltcG9ydGFudH0udS1wLWwtMjJ7cGFkZGluZy1sZWZ0OiU/MjI/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLWxlZnQtMjJ7bWFyZ2luLWxlZnQ6JT8yMj8lIWltcG9ydGFudH0udS1wYWRkaW5nLWxlZnQtMjJ7cGFkZGluZy1sZWZ0OiU/MjI/JSFpbXBvcnRhbnR9LnUtbS10LTIye21hcmdpbi10b3A6JT8yMj8lIWltcG9ydGFudH0udS1wLXQtMjJ7cGFkZGluZy10b3A6JT8yMj8lIWltcG9ydGFudH0udS1tYXJnaW4tdG9wLTIye21hcmdpbi10b3A6JT8yMj8lIWltcG9ydGFudH0udS1wYWRkaW5nLXRvcC0yMntwYWRkaW5nLXRvcDolPzIyPyUhaW1wb3J0YW50fS51LW0tci0yMnttYXJnaW4tcmlnaHQ6JT8yMj8lIWltcG9ydGFudH0udS1wLXItMjJ7cGFkZGluZy1yaWdodDolPzIyPyUhaW1wb3J0YW50fS51LW1hcmdpbi1yaWdodC0yMnttYXJnaW4tcmlnaHQ6JT8yMj8lIWltcG9ydGFudH0udS1wYWRkaW5nLXJpZ2h0LTIye3BhZGRpbmctcmlnaHQ6JT8yMj8lIWltcG9ydGFudH0udS1tLWItMjJ7bWFyZ2luLWJvdHRvbTolPzIyPyUhaW1wb3J0YW50fS51LXAtYi0yMntwYWRkaW5nLWJvdHRvbTolPzIyPyUhaW1wb3J0YW50fS51LW1hcmdpbi1ib3R0b20tMjJ7bWFyZ2luLWJvdHRvbTolPzIyPyUhaW1wb3J0YW50fS51LXBhZGRpbmctYm90dG9tLTIye3BhZGRpbmctYm90dG9tOiU/MjI/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLTI0LCAudS1tLTI0e21hcmdpbjolPzI0PyUhaW1wb3J0YW50fS51LXBhZGRpbmctMjQsIC51LXAtMjR7cGFkZGluZzolPzI0PyUhaW1wb3J0YW50fS51LW0tbC0yNHttYXJnaW4tbGVmdDolPzI0PyUhaW1wb3J0YW50fS51LXAtbC0yNHtwYWRkaW5nLWxlZnQ6JT8yND8lIWltcG9ydGFudH0udS1tYXJnaW4tbGVmdC0yNHttYXJnaW4tbGVmdDolPzI0PyUhaW1wb3J0YW50fS51LXBhZGRpbmctbGVmdC0yNHtwYWRkaW5nLWxlZnQ6JT8yND8lIWltcG9ydGFudH0udS1tLXQtMjR7bWFyZ2luLXRvcDolPzI0PyUhaW1wb3J0YW50fS51LXAtdC0yNHtwYWRkaW5nLXRvcDolPzI0PyUhaW1wb3J0YW50fS51LW1hcmdpbi10b3AtMjR7bWFyZ2luLXRvcDolPzI0PyUhaW1wb3J0YW50fS51LXBhZGRpbmctdG9wLTI0e3BhZGRpbmctdG9wOiU/MjQ/JSFpbXBvcnRhbnR9LnUtbS1yLTI0e21hcmdpbi1yaWdodDolPzI0PyUhaW1wb3J0YW50fS51LXAtci0yNHtwYWRkaW5nLXJpZ2h0OiU/MjQ/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLXJpZ2h0LTI0e21hcmdpbi1yaWdodDolPzI0PyUhaW1wb3J0YW50fS51LXBhZGRpbmctcmlnaHQtMjR7cGFkZGluZy1yaWdodDolPzI0PyUhaW1wb3J0YW50fS51LW0tYi0yNHttYXJnaW4tYm90dG9tOiU/MjQ/JSFpbXBvcnRhbnR9LnUtcC1iLTI0e3BhZGRpbmctYm90dG9tOiU/MjQ/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLWJvdHRvbS0yNHttYXJnaW4tYm90dG9tOiU/MjQ/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy1ib3R0b20tMjR7cGFkZGluZy1ib3R0b206JT8yND8lIWltcG9ydGFudH0udS1tYXJnaW4tMjUsIC51LW0tMjV7bWFyZ2luOiU/MjU/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy0yNSwgLnUtcC0yNXtwYWRkaW5nOiU/MjU/JSFpbXBvcnRhbnR9LnUtbS1sLTI1e21hcmdpbi1sZWZ0OiU/MjU/JSFpbXBvcnRhbnR9LnUtcC1sLTI1e3BhZGRpbmctbGVmdDolPzI1PyUhaW1wb3J0YW50fS51LW1hcmdpbi1sZWZ0LTI1e21hcmdpbi1sZWZ0OiU/MjU/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy1sZWZ0LTI1e3BhZGRpbmctbGVmdDolPzI1PyUhaW1wb3J0YW50fS51LW0tdC0yNXttYXJnaW4tdG9wOiU/MjU/JSFpbXBvcnRhbnR9LnUtcC10LTI1e3BhZGRpbmctdG9wOiU/MjU/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLXRvcC0yNXttYXJnaW4tdG9wOiU/MjU/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy10b3AtMjV7cGFkZGluZy10b3A6JT8yNT8lIWltcG9ydGFudH0udS1tLXItMjV7bWFyZ2luLXJpZ2h0OiU/MjU/JSFpbXBvcnRhbnR9LnUtcC1yLTI1e3BhZGRpbmctcmlnaHQ6JT8yNT8lIWltcG9ydGFudH0udS1tYXJnaW4tcmlnaHQtMjV7bWFyZ2luLXJpZ2h0OiU/MjU/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy1yaWdodC0yNXtwYWRkaW5nLXJpZ2h0OiU/MjU/JSFpbXBvcnRhbnR9LnUtbS1iLTI1e21hcmdpbi1ib3R0b206JT8yNT8lIWltcG9ydGFudH0udS1wLWItMjV7cGFkZGluZy1ib3R0b206JT8yNT8lIWltcG9ydGFudH0udS1tYXJnaW4tYm90dG9tLTI1e21hcmdpbi1ib3R0b206JT8yNT8lIWltcG9ydGFudH0udS1wYWRkaW5nLWJvdHRvbS0yNXtwYWRkaW5nLWJvdHRvbTolPzI1PyUhaW1wb3J0YW50fS51LW1hcmdpbi0yNiwgLnUtbS0yNnttYXJnaW46JT8yNj8lIWltcG9ydGFudH0udS1wYWRkaW5nLTI2LCAudS1wLTI2e3BhZGRpbmc6JT8yNj8lIWltcG9ydGFudH0udS1tLWwtMjZ7bWFyZ2luLWxlZnQ6JT8yNj8lIWltcG9ydGFudH0udS1wLWwtMjZ7cGFkZGluZy1sZWZ0OiU/MjY/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLWxlZnQtMjZ7bWFyZ2luLWxlZnQ6JT8yNj8lIWltcG9ydGFudH0udS1wYWRkaW5nLWxlZnQtMjZ7cGFkZGluZy1sZWZ0OiU/MjY/JSFpbXBvcnRhbnR9LnUtbS10LTI2e21hcmdpbi10b3A6JT8yNj8lIWltcG9ydGFudH0udS1wLXQtMjZ7cGFkZGluZy10b3A6JT8yNj8lIWltcG9ydGFudH0udS1tYXJnaW4tdG9wLTI2e21hcmdpbi10b3A6JT8yNj8lIWltcG9ydGFudH0udS1wYWRkaW5nLXRvcC0yNntwYWRkaW5nLXRvcDolPzI2PyUhaW1wb3J0YW50fS51LW0tci0yNnttYXJnaW4tcmlnaHQ6JT8yNj8lIWltcG9ydGFudH0udS1wLXItMjZ7cGFkZGluZy1yaWdodDolPzI2PyUhaW1wb3J0YW50fS51LW1hcmdpbi1yaWdodC0yNnttYXJnaW4tcmlnaHQ6JT8yNj8lIWltcG9ydGFudH0udS1wYWRkaW5nLXJpZ2h0LTI2e3BhZGRpbmctcmlnaHQ6JT8yNj8lIWltcG9ydGFudH0udS1tLWItMjZ7bWFyZ2luLWJvdHRvbTolPzI2PyUhaW1wb3J0YW50fS51LXAtYi0yNntwYWRkaW5nLWJvdHRvbTolPzI2PyUhaW1wb3J0YW50fS51LW1hcmdpbi1ib3R0b20tMjZ7bWFyZ2luLWJvdHRvbTolPzI2PyUhaW1wb3J0YW50fS51LXBhZGRpbmctYm90dG9tLTI2e3BhZGRpbmctYm90dG9tOiU/MjY/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLTI4LCAudS1tLTI4e21hcmdpbjolPzI4PyUhaW1wb3J0YW50fS51LXBhZGRpbmctMjgsIC51LXAtMjh7cGFkZGluZzolPzI4PyUhaW1wb3J0YW50fS51LW0tbC0yOHttYXJnaW4tbGVmdDolPzI4PyUhaW1wb3J0YW50fS51LXAtbC0yOHtwYWRkaW5nLWxlZnQ6JT8yOD8lIWltcG9ydGFudH0udS1tYXJnaW4tbGVmdC0yOHttYXJnaW4tbGVmdDolPzI4PyUhaW1wb3J0YW50fS51LXBhZGRpbmctbGVmdC0yOHtwYWRkaW5nLWxlZnQ6JT8yOD8lIWltcG9ydGFudH0udS1tLXQtMjh7bWFyZ2luLXRvcDolPzI4PyUhaW1wb3J0YW50fS51LXAtdC0yOHtwYWRkaW5nLXRvcDolPzI4PyUhaW1wb3J0YW50fS51LW1hcmdpbi10b3AtMjh7bWFyZ2luLXRvcDolPzI4PyUhaW1wb3J0YW50fS51LXBhZGRpbmctdG9wLTI4e3BhZGRpbmctdG9wOiU/Mjg/JSFpbXBvcnRhbnR9LnUtbS1yLTI4e21hcmdpbi1yaWdodDolPzI4PyUhaW1wb3J0YW50fS51LXAtci0yOHtwYWRkaW5nLXJpZ2h0OiU/Mjg/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLXJpZ2h0LTI4e21hcmdpbi1yaWdodDolPzI4PyUhaW1wb3J0YW50fS51LXBhZGRpbmctcmlnaHQtMjh7cGFkZGluZy1yaWdodDolPzI4PyUhaW1wb3J0YW50fS51LW0tYi0yOHttYXJnaW4tYm90dG9tOiU/Mjg/JSFpbXBvcnRhbnR9LnUtcC1iLTI4e3BhZGRpbmctYm90dG9tOiU/Mjg/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLWJvdHRvbS0yOHttYXJnaW4tYm90dG9tOiU/Mjg/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy1ib3R0b20tMjh7cGFkZGluZy1ib3R0b206JT8yOD8lIWltcG9ydGFudH0udS1tYXJnaW4tMzAsIC51LW0tMzB7bWFyZ2luOiU/MzA/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy0zMCwgLnUtcC0zMHtwYWRkaW5nOiU/MzA/JSFpbXBvcnRhbnR9LnUtbS1sLTMwe21hcmdpbi1sZWZ0OiU/MzA/JSFpbXBvcnRhbnR9LnUtcC1sLTMwe3BhZGRpbmctbGVmdDolPzMwPyUhaW1wb3J0YW50fS51LW1hcmdpbi1sZWZ0LTMwe21hcmdpbi1sZWZ0OiU/MzA/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy1sZWZ0LTMwe3BhZGRpbmctbGVmdDolPzMwPyUhaW1wb3J0YW50fS51LW0tdC0zMHttYXJnaW4tdG9wOiU/MzA/JSFpbXBvcnRhbnR9LnUtcC10LTMwe3BhZGRpbmctdG9wOiU/MzA/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLXRvcC0zMHttYXJnaW4tdG9wOiU/MzA/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy10b3AtMzB7cGFkZGluZy10b3A6JT8zMD8lIWltcG9ydGFudH0udS1tLXItMzB7bWFyZ2luLXJpZ2h0OiU/MzA/JSFpbXBvcnRhbnR9LnUtcC1yLTMwe3BhZGRpbmctcmlnaHQ6JT8zMD8lIWltcG9ydGFudH0udS1tYXJnaW4tcmlnaHQtMzB7bWFyZ2luLXJpZ2h0OiU/MzA/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy1yaWdodC0zMHtwYWRkaW5nLXJpZ2h0OiU/MzA/JSFpbXBvcnRhbnR9LnUtbS1iLTMwe21hcmdpbi1ib3R0b206JT8zMD8lIWltcG9ydGFudH0udS1wLWItMzB7cGFkZGluZy1ib3R0b206JT8zMD8lIWltcG9ydGFudH0udS1tYXJnaW4tYm90dG9tLTMwe21hcmdpbi1ib3R0b206JT8zMD8lIWltcG9ydGFudH0udS1wYWRkaW5nLWJvdHRvbS0zMHtwYWRkaW5nLWJvdHRvbTolPzMwPyUhaW1wb3J0YW50fS51LW1hcmdpbi0zMiwgLnUtbS0zMnttYXJnaW46JT8zMj8lIWltcG9ydGFudH0udS1wYWRkaW5nLTMyLCAudS1wLTMye3BhZGRpbmc6JT8zMj8lIWltcG9ydGFudH0udS1tLWwtMzJ7bWFyZ2luLWxlZnQ6JT8zMj8lIWltcG9ydGFudH0udS1wLWwtMzJ7cGFkZGluZy1sZWZ0OiU/MzI/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLWxlZnQtMzJ7bWFyZ2luLWxlZnQ6JT8zMj8lIWltcG9ydGFudH0udS1wYWRkaW5nLWxlZnQtMzJ7cGFkZGluZy1sZWZ0OiU/MzI/JSFpbXBvcnRhbnR9LnUtbS10LTMye21hcmdpbi10b3A6JT8zMj8lIWltcG9ydGFudH0udS1wLXQtMzJ7cGFkZGluZy10b3A6JT8zMj8lIWltcG9ydGFudH0udS1tYXJnaW4tdG9wLTMye21hcmdpbi10b3A6JT8zMj8lIWltcG9ydGFudH0udS1wYWRkaW5nLXRvcC0zMntwYWRkaW5nLXRvcDolPzMyPyUhaW1wb3J0YW50fS51LW0tci0zMnttYXJnaW4tcmlnaHQ6JT8zMj8lIWltcG9ydGFudH0udS1wLXItMzJ7cGFkZGluZy1yaWdodDolPzMyPyUhaW1wb3J0YW50fS51LW1hcmdpbi1yaWdodC0zMnttYXJnaW4tcmlnaHQ6JT8zMj8lIWltcG9ydGFudH0udS1wYWRkaW5nLXJpZ2h0LTMye3BhZGRpbmctcmlnaHQ6JT8zMj8lIWltcG9ydGFudH0udS1tLWItMzJ7bWFyZ2luLWJvdHRvbTolPzMyPyUhaW1wb3J0YW50fS51LXAtYi0zMntwYWRkaW5nLWJvdHRvbTolPzMyPyUhaW1wb3J0YW50fS51LW1hcmdpbi1ib3R0b20tMzJ7bWFyZ2luLWJvdHRvbTolPzMyPyUhaW1wb3J0YW50fS51LXBhZGRpbmctYm90dG9tLTMye3BhZGRpbmctYm90dG9tOiU/MzI/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLTM0LCAudS1tLTM0e21hcmdpbjolPzM0PyUhaW1wb3J0YW50fS51LXBhZGRpbmctMzQsIC51LXAtMzR7cGFkZGluZzolPzM0PyUhaW1wb3J0YW50fS51LW0tbC0zNHttYXJnaW4tbGVmdDolPzM0PyUhaW1wb3J0YW50fS51LXAtbC0zNHtwYWRkaW5nLWxlZnQ6JT8zND8lIWltcG9ydGFudH0udS1tYXJnaW4tbGVmdC0zNHttYXJnaW4tbGVmdDolPzM0PyUhaW1wb3J0YW50fS51LXBhZGRpbmctbGVmdC0zNHtwYWRkaW5nLWxlZnQ6JT8zND8lIWltcG9ydGFudH0udS1tLXQtMzR7bWFyZ2luLXRvcDolPzM0PyUhaW1wb3J0YW50fS51LXAtdC0zNHtwYWRkaW5nLXRvcDolPzM0PyUhaW1wb3J0YW50fS51LW1hcmdpbi10b3AtMzR7bWFyZ2luLXRvcDolPzM0PyUhaW1wb3J0YW50fS51LXBhZGRpbmctdG9wLTM0e3BhZGRpbmctdG9wOiU/MzQ/JSFpbXBvcnRhbnR9LnUtbS1yLTM0e21hcmdpbi1yaWdodDolPzM0PyUhaW1wb3J0YW50fS51LXAtci0zNHtwYWRkaW5nLXJpZ2h0OiU/MzQ/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLXJpZ2h0LTM0e21hcmdpbi1yaWdodDolPzM0PyUhaW1wb3J0YW50fS51LXBhZGRpbmctcmlnaHQtMzR7cGFkZGluZy1yaWdodDolPzM0PyUhaW1wb3J0YW50fS51LW0tYi0zNHttYXJnaW4tYm90dG9tOiU/MzQ/JSFpbXBvcnRhbnR9LnUtcC1iLTM0e3BhZGRpbmctYm90dG9tOiU/MzQ/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLWJvdHRvbS0zNHttYXJnaW4tYm90dG9tOiU/MzQ/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy1ib3R0b20tMzR7cGFkZGluZy1ib3R0b206JT8zND8lIWltcG9ydGFudH0udS1tYXJnaW4tMzUsIC51LW0tMzV7bWFyZ2luOiU/MzU/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy0zNSwgLnUtcC0zNXtwYWRkaW5nOiU/MzU/JSFpbXBvcnRhbnR9LnUtbS1sLTM1e21hcmdpbi1sZWZ0OiU/MzU/JSFpbXBvcnRhbnR9LnUtcC1sLTM1e3BhZGRpbmctbGVmdDolPzM1PyUhaW1wb3J0YW50fS51LW1hcmdpbi1sZWZ0LTM1e21hcmdpbi1sZWZ0OiU/MzU/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy1sZWZ0LTM1e3BhZGRpbmctbGVmdDolPzM1PyUhaW1wb3J0YW50fS51LW0tdC0zNXttYXJnaW4tdG9wOiU/MzU/JSFpbXBvcnRhbnR9LnUtcC10LTM1e3BhZGRpbmctdG9wOiU/MzU/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLXRvcC0zNXttYXJnaW4tdG9wOiU/MzU/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy10b3AtMzV7cGFkZGluZy10b3A6JT8zNT8lIWltcG9ydGFudH0udS1tLXItMzV7bWFyZ2luLXJpZ2h0OiU/MzU/JSFpbXBvcnRhbnR9LnUtcC1yLTM1e3BhZGRpbmctcmlnaHQ6JT8zNT8lIWltcG9ydGFudH0udS1tYXJnaW4tcmlnaHQtMzV7bWFyZ2luLXJpZ2h0OiU/MzU/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy1yaWdodC0zNXtwYWRkaW5nLXJpZ2h0OiU/MzU/JSFpbXBvcnRhbnR9LnUtbS1iLTM1e21hcmdpbi1ib3R0b206JT8zNT8lIWltcG9ydGFudH0udS1wLWItMzV7cGFkZGluZy1ib3R0b206JT8zNT8lIWltcG9ydGFudH0udS1tYXJnaW4tYm90dG9tLTM1e21hcmdpbi1ib3R0b206JT8zNT8lIWltcG9ydGFudH0udS1wYWRkaW5nLWJvdHRvbS0zNXtwYWRkaW5nLWJvdHRvbTolPzM1PyUhaW1wb3J0YW50fS51LW1hcmdpbi0zNiwgLnUtbS0zNnttYXJnaW46JT8zNj8lIWltcG9ydGFudH0udS1wYWRkaW5nLTM2LCAudS1wLTM2e3BhZGRpbmc6JT8zNj8lIWltcG9ydGFudH0udS1tLWwtMzZ7bWFyZ2luLWxlZnQ6JT8zNj8lIWltcG9ydGFudH0udS1wLWwtMzZ7cGFkZGluZy1sZWZ0OiU/MzY/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLWxlZnQtMzZ7bWFyZ2luLWxlZnQ6JT8zNj8lIWltcG9ydGFudH0udS1wYWRkaW5nLWxlZnQtMzZ7cGFkZGluZy1sZWZ0OiU/MzY/JSFpbXBvcnRhbnR9LnUtbS10LTM2e21hcmdpbi10b3A6JT8zNj8lIWltcG9ydGFudH0udS1wLXQtMzZ7cGFkZGluZy10b3A6JT8zNj8lIWltcG9ydGFudH0udS1tYXJnaW4tdG9wLTM2e21hcmdpbi10b3A6JT8zNj8lIWltcG9ydGFudH0udS1wYWRkaW5nLXRvcC0zNntwYWRkaW5nLXRvcDolPzM2PyUhaW1wb3J0YW50fS51LW0tci0zNnttYXJnaW4tcmlnaHQ6JT8zNj8lIWltcG9ydGFudH0udS1wLXItMzZ7cGFkZGluZy1yaWdodDolPzM2PyUhaW1wb3J0YW50fS51LW1hcmdpbi1yaWdodC0zNnttYXJnaW4tcmlnaHQ6JT8zNj8lIWltcG9ydGFudH0udS1wYWRkaW5nLXJpZ2h0LTM2e3BhZGRpbmctcmlnaHQ6JT8zNj8lIWltcG9ydGFudH0udS1tLWItMzZ7bWFyZ2luLWJvdHRvbTolPzM2PyUhaW1wb3J0YW50fS51LXAtYi0zNntwYWRkaW5nLWJvdHRvbTolPzM2PyUhaW1wb3J0YW50fS51LW1hcmdpbi1ib3R0b20tMzZ7bWFyZ2luLWJvdHRvbTolPzM2PyUhaW1wb3J0YW50fS51LXBhZGRpbmctYm90dG9tLTM2e3BhZGRpbmctYm90dG9tOiU/MzY/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLTM4LCAudS1tLTM4e21hcmdpbjolPzM4PyUhaW1wb3J0YW50fS51LXBhZGRpbmctMzgsIC51LXAtMzh7cGFkZGluZzolPzM4PyUhaW1wb3J0YW50fS51LW0tbC0zOHttYXJnaW4tbGVmdDolPzM4PyUhaW1wb3J0YW50fS51LXAtbC0zOHtwYWRkaW5nLWxlZnQ6JT8zOD8lIWltcG9ydGFudH0udS1tYXJnaW4tbGVmdC0zOHttYXJnaW4tbGVmdDolPzM4PyUhaW1wb3J0YW50fS51LXBhZGRpbmctbGVmdC0zOHtwYWRkaW5nLWxlZnQ6JT8zOD8lIWltcG9ydGFudH0udS1tLXQtMzh7bWFyZ2luLXRvcDolPzM4PyUhaW1wb3J0YW50fS51LXAtdC0zOHtwYWRkaW5nLXRvcDolPzM4PyUhaW1wb3J0YW50fS51LW1hcmdpbi10b3AtMzh7bWFyZ2luLXRvcDolPzM4PyUhaW1wb3J0YW50fS51LXBhZGRpbmctdG9wLTM4e3BhZGRpbmctdG9wOiU/Mzg/JSFpbXBvcnRhbnR9LnUtbS1yLTM4e21hcmdpbi1yaWdodDolPzM4PyUhaW1wb3J0YW50fS51LXAtci0zOHtwYWRkaW5nLXJpZ2h0OiU/Mzg/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLXJpZ2h0LTM4e21hcmdpbi1yaWdodDolPzM4PyUhaW1wb3J0YW50fS51LXBhZGRpbmctcmlnaHQtMzh7cGFkZGluZy1yaWdodDolPzM4PyUhaW1wb3J0YW50fS51LW0tYi0zOHttYXJnaW4tYm90dG9tOiU/Mzg/JSFpbXBvcnRhbnR9LnUtcC1iLTM4e3BhZGRpbmctYm90dG9tOiU/Mzg/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLWJvdHRvbS0zOHttYXJnaW4tYm90dG9tOiU/Mzg/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy1ib3R0b20tMzh7cGFkZGluZy1ib3R0b206JT8zOD8lIWltcG9ydGFudH0udS1tYXJnaW4tNDAsIC51LW0tNDB7bWFyZ2luOiU/NDA/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy00MCwgLnUtcC00MHtwYWRkaW5nOiU/NDA/JSFpbXBvcnRhbnR9LnUtbS1sLTQwe21hcmdpbi1sZWZ0OiU/NDA/JSFpbXBvcnRhbnR9LnUtcC1sLTQwe3BhZGRpbmctbGVmdDolPzQwPyUhaW1wb3J0YW50fS51LW1hcmdpbi1sZWZ0LTQwe21hcmdpbi1sZWZ0OiU/NDA/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy1sZWZ0LTQwe3BhZGRpbmctbGVmdDolPzQwPyUhaW1wb3J0YW50fS51LW0tdC00MHttYXJnaW4tdG9wOiU/NDA/JSFpbXBvcnRhbnR9LnUtcC10LTQwe3BhZGRpbmctdG9wOiU/NDA/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLXRvcC00MHttYXJnaW4tdG9wOiU/NDA/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy10b3AtNDB7cGFkZGluZy10b3A6JT80MD8lIWltcG9ydGFudH0udS1tLXItNDB7bWFyZ2luLXJpZ2h0OiU/NDA/JSFpbXBvcnRhbnR9LnUtcC1yLTQwe3BhZGRpbmctcmlnaHQ6JT80MD8lIWltcG9ydGFudH0udS1tYXJnaW4tcmlnaHQtNDB7bWFyZ2luLXJpZ2h0OiU/NDA/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy1yaWdodC00MHtwYWRkaW5nLXJpZ2h0OiU/NDA/JSFpbXBvcnRhbnR9LnUtbS1iLTQwe21hcmdpbi1ib3R0b206JT80MD8lIWltcG9ydGFudH0udS1wLWItNDB7cGFkZGluZy1ib3R0b206JT80MD8lIWltcG9ydGFudH0udS1tYXJnaW4tYm90dG9tLTQwe21hcmdpbi1ib3R0b206JT80MD8lIWltcG9ydGFudH0udS1wYWRkaW5nLWJvdHRvbS00MHtwYWRkaW5nLWJvdHRvbTolPzQwPyUhaW1wb3J0YW50fS51LW1hcmdpbi00MiwgLnUtbS00MnttYXJnaW46JT80Mj8lIWltcG9ydGFudH0udS1wYWRkaW5nLTQyLCAudS1wLTQye3BhZGRpbmc6JT80Mj8lIWltcG9ydGFudH0udS1tLWwtNDJ7bWFyZ2luLWxlZnQ6JT80Mj8lIWltcG9ydGFudH0udS1wLWwtNDJ7cGFkZGluZy1sZWZ0OiU/NDI/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLWxlZnQtNDJ7bWFyZ2luLWxlZnQ6JT80Mj8lIWltcG9ydGFudH0udS1wYWRkaW5nLWxlZnQtNDJ7cGFkZGluZy1sZWZ0OiU/NDI/JSFpbXBvcnRhbnR9LnUtbS10LTQye21hcmdpbi10b3A6JT80Mj8lIWltcG9ydGFudH0udS1wLXQtNDJ7cGFkZGluZy10b3A6JT80Mj8lIWltcG9ydGFudH0udS1tYXJnaW4tdG9wLTQye21hcmdpbi10b3A6JT80Mj8lIWltcG9ydGFudH0udS1wYWRkaW5nLXRvcC00MntwYWRkaW5nLXRvcDolPzQyPyUhaW1wb3J0YW50fS51LW0tci00MnttYXJnaW4tcmlnaHQ6JT80Mj8lIWltcG9ydGFudH0udS1wLXItNDJ7cGFkZGluZy1yaWdodDolPzQyPyUhaW1wb3J0YW50fS51LW1hcmdpbi1yaWdodC00MnttYXJnaW4tcmlnaHQ6JT80Mj8lIWltcG9ydGFudH0udS1wYWRkaW5nLXJpZ2h0LTQye3BhZGRpbmctcmlnaHQ6JT80Mj8lIWltcG9ydGFudH0udS1tLWItNDJ7bWFyZ2luLWJvdHRvbTolPzQyPyUhaW1wb3J0YW50fS51LXAtYi00MntwYWRkaW5nLWJvdHRvbTolPzQyPyUhaW1wb3J0YW50fS51LW1hcmdpbi1ib3R0b20tNDJ7bWFyZ2luLWJvdHRvbTolPzQyPyUhaW1wb3J0YW50fS51LXBhZGRpbmctYm90dG9tLTQye3BhZGRpbmctYm90dG9tOiU/NDI/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLTQ0LCAudS1tLTQ0e21hcmdpbjolPzQ0PyUhaW1wb3J0YW50fS51LXBhZGRpbmctNDQsIC51LXAtNDR7cGFkZGluZzolPzQ0PyUhaW1wb3J0YW50fS51LW0tbC00NHttYXJnaW4tbGVmdDolPzQ0PyUhaW1wb3J0YW50fS51LXAtbC00NHtwYWRkaW5nLWxlZnQ6JT80ND8lIWltcG9ydGFudH0udS1tYXJnaW4tbGVmdC00NHttYXJnaW4tbGVmdDolPzQ0PyUhaW1wb3J0YW50fS51LXBhZGRpbmctbGVmdC00NHtwYWRkaW5nLWxlZnQ6JT80ND8lIWltcG9ydGFudH0udS1tLXQtNDR7bWFyZ2luLXRvcDolPzQ0PyUhaW1wb3J0YW50fS51LXAtdC00NHtwYWRkaW5nLXRvcDolPzQ0PyUhaW1wb3J0YW50fS51LW1hcmdpbi10b3AtNDR7bWFyZ2luLXRvcDolPzQ0PyUhaW1wb3J0YW50fS51LXBhZGRpbmctdG9wLTQ0e3BhZGRpbmctdG9wOiU/NDQ/JSFpbXBvcnRhbnR9LnUtbS1yLTQ0e21hcmdpbi1yaWdodDolPzQ0PyUhaW1wb3J0YW50fS51LXAtci00NHtwYWRkaW5nLXJpZ2h0OiU/NDQ/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLXJpZ2h0LTQ0e21hcmdpbi1yaWdodDolPzQ0PyUhaW1wb3J0YW50fS51LXBhZGRpbmctcmlnaHQtNDR7cGFkZGluZy1yaWdodDolPzQ0PyUhaW1wb3J0YW50fS51LW0tYi00NHttYXJnaW4tYm90dG9tOiU/NDQ/JSFpbXBvcnRhbnR9LnUtcC1iLTQ0e3BhZGRpbmctYm90dG9tOiU/NDQ/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLWJvdHRvbS00NHttYXJnaW4tYm90dG9tOiU/NDQ/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy1ib3R0b20tNDR7cGFkZGluZy1ib3R0b206JT80ND8lIWltcG9ydGFudH0udS1tYXJnaW4tNDUsIC51LW0tNDV7bWFyZ2luOiU/NDU/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy00NSwgLnUtcC00NXtwYWRkaW5nOiU/NDU/JSFpbXBvcnRhbnR9LnUtbS1sLTQ1e21hcmdpbi1sZWZ0OiU/NDU/JSFpbXBvcnRhbnR9LnUtcC1sLTQ1e3BhZGRpbmctbGVmdDolPzQ1PyUhaW1wb3J0YW50fS51LW1hcmdpbi1sZWZ0LTQ1e21hcmdpbi1sZWZ0OiU/NDU/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy1sZWZ0LTQ1e3BhZGRpbmctbGVmdDolPzQ1PyUhaW1wb3J0YW50fS51LW0tdC00NXttYXJnaW4tdG9wOiU/NDU/JSFpbXBvcnRhbnR9LnUtcC10LTQ1e3BhZGRpbmctdG9wOiU/NDU/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLXRvcC00NXttYXJnaW4tdG9wOiU/NDU/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy10b3AtNDV7cGFkZGluZy10b3A6JT80NT8lIWltcG9ydGFudH0udS1tLXItNDV7bWFyZ2luLXJpZ2h0OiU/NDU/JSFpbXBvcnRhbnR9LnUtcC1yLTQ1e3BhZGRpbmctcmlnaHQ6JT80NT8lIWltcG9ydGFudH0udS1tYXJnaW4tcmlnaHQtNDV7bWFyZ2luLXJpZ2h0OiU/NDU/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy1yaWdodC00NXtwYWRkaW5nLXJpZ2h0OiU/NDU/JSFpbXBvcnRhbnR9LnUtbS1iLTQ1e21hcmdpbi1ib3R0b206JT80NT8lIWltcG9ydGFudH0udS1wLWItNDV7cGFkZGluZy1ib3R0b206JT80NT8lIWltcG9ydGFudH0udS1tYXJnaW4tYm90dG9tLTQ1e21hcmdpbi1ib3R0b206JT80NT8lIWltcG9ydGFudH0udS1wYWRkaW5nLWJvdHRvbS00NXtwYWRkaW5nLWJvdHRvbTolPzQ1PyUhaW1wb3J0YW50fS51LW1hcmdpbi00NiwgLnUtbS00NnttYXJnaW46JT80Nj8lIWltcG9ydGFudH0udS1wYWRkaW5nLTQ2LCAudS1wLTQ2e3BhZGRpbmc6JT80Nj8lIWltcG9ydGFudH0udS1tLWwtNDZ7bWFyZ2luLWxlZnQ6JT80Nj8lIWltcG9ydGFudH0udS1wLWwtNDZ7cGFkZGluZy1sZWZ0OiU/NDY/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLWxlZnQtNDZ7bWFyZ2luLWxlZnQ6JT80Nj8lIWltcG9ydGFudH0udS1wYWRkaW5nLWxlZnQtNDZ7cGFkZGluZy1sZWZ0OiU/NDY/JSFpbXBvcnRhbnR9LnUtbS10LTQ2e21hcmdpbi10b3A6JT80Nj8lIWltcG9ydGFudH0udS1wLXQtNDZ7cGFkZGluZy10b3A6JT80Nj8lIWltcG9ydGFudH0udS1tYXJnaW4tdG9wLTQ2e21hcmdpbi10b3A6JT80Nj8lIWltcG9ydGFudH0udS1wYWRkaW5nLXRvcC00NntwYWRkaW5nLXRvcDolPzQ2PyUhaW1wb3J0YW50fS51LW0tci00NnttYXJnaW4tcmlnaHQ6JT80Nj8lIWltcG9ydGFudH0udS1wLXItNDZ7cGFkZGluZy1yaWdodDolPzQ2PyUhaW1wb3J0YW50fS51LW1hcmdpbi1yaWdodC00NnttYXJnaW4tcmlnaHQ6JT80Nj8lIWltcG9ydGFudH0udS1wYWRkaW5nLXJpZ2h0LTQ2e3BhZGRpbmctcmlnaHQ6JT80Nj8lIWltcG9ydGFudH0udS1tLWItNDZ7bWFyZ2luLWJvdHRvbTolPzQ2PyUhaW1wb3J0YW50fS51LXAtYi00NntwYWRkaW5nLWJvdHRvbTolPzQ2PyUhaW1wb3J0YW50fS51LW1hcmdpbi1ib3R0b20tNDZ7bWFyZ2luLWJvdHRvbTolPzQ2PyUhaW1wb3J0YW50fS51LXBhZGRpbmctYm90dG9tLTQ2e3BhZGRpbmctYm90dG9tOiU/NDY/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLTQ4LCAudS1tLTQ4e21hcmdpbjolPzQ4PyUhaW1wb3J0YW50fS51LXBhZGRpbmctNDgsIC51LXAtNDh7cGFkZGluZzolPzQ4PyUhaW1wb3J0YW50fS51LW0tbC00OHttYXJnaW4tbGVmdDolPzQ4PyUhaW1wb3J0YW50fS51LXAtbC00OHtwYWRkaW5nLWxlZnQ6JT80OD8lIWltcG9ydGFudH0udS1tYXJnaW4tbGVmdC00OHttYXJnaW4tbGVmdDolPzQ4PyUhaW1wb3J0YW50fS51LXBhZGRpbmctbGVmdC00OHtwYWRkaW5nLWxlZnQ6JT80OD8lIWltcG9ydGFudH0udS1tLXQtNDh7bWFyZ2luLXRvcDolPzQ4PyUhaW1wb3J0YW50fS51LXAtdC00OHtwYWRkaW5nLXRvcDolPzQ4PyUhaW1wb3J0YW50fS51LW1hcmdpbi10b3AtNDh7bWFyZ2luLXRvcDolPzQ4PyUhaW1wb3J0YW50fS51LXBhZGRpbmctdG9wLTQ4e3BhZGRpbmctdG9wOiU/NDg/JSFpbXBvcnRhbnR9LnUtbS1yLTQ4e21hcmdpbi1yaWdodDolPzQ4PyUhaW1wb3J0YW50fS51LXAtci00OHtwYWRkaW5nLXJpZ2h0OiU/NDg/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLXJpZ2h0LTQ4e21hcmdpbi1yaWdodDolPzQ4PyUhaW1wb3J0YW50fS51LXBhZGRpbmctcmlnaHQtNDh7cGFkZGluZy1yaWdodDolPzQ4PyUhaW1wb3J0YW50fS51LW0tYi00OHttYXJnaW4tYm90dG9tOiU/NDg/JSFpbXBvcnRhbnR9LnUtcC1iLTQ4e3BhZGRpbmctYm90dG9tOiU/NDg/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLWJvdHRvbS00OHttYXJnaW4tYm90dG9tOiU/NDg/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy1ib3R0b20tNDh7cGFkZGluZy1ib3R0b206JT80OD8lIWltcG9ydGFudH0udS1tYXJnaW4tNTAsIC51LW0tNTB7bWFyZ2luOiU/NTA/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy01MCwgLnUtcC01MHtwYWRkaW5nOiU/NTA/JSFpbXBvcnRhbnR9LnUtbS1sLTUwe21hcmdpbi1sZWZ0OiU/NTA/JSFpbXBvcnRhbnR9LnUtcC1sLTUwe3BhZGRpbmctbGVmdDolPzUwPyUhaW1wb3J0YW50fS51LW1hcmdpbi1sZWZ0LTUwe21hcmdpbi1sZWZ0OiU/NTA/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy1sZWZ0LTUwe3BhZGRpbmctbGVmdDolPzUwPyUhaW1wb3J0YW50fS51LW0tdC01MHttYXJnaW4tdG9wOiU/NTA/JSFpbXBvcnRhbnR9LnUtcC10LTUwe3BhZGRpbmctdG9wOiU/NTA/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLXRvcC01MHttYXJnaW4tdG9wOiU/NTA/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy10b3AtNTB7cGFkZGluZy10b3A6JT81MD8lIWltcG9ydGFudH0udS1tLXItNTB7bWFyZ2luLXJpZ2h0OiU/NTA/JSFpbXBvcnRhbnR9LnUtcC1yLTUwe3BhZGRpbmctcmlnaHQ6JT81MD8lIWltcG9ydGFudH0udS1tYXJnaW4tcmlnaHQtNTB7bWFyZ2luLXJpZ2h0OiU/NTA/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy1yaWdodC01MHtwYWRkaW5nLXJpZ2h0OiU/NTA/JSFpbXBvcnRhbnR9LnUtbS1iLTUwe21hcmdpbi1ib3R0b206JT81MD8lIWltcG9ydGFudH0udS1wLWItNTB7cGFkZGluZy1ib3R0b206JT81MD8lIWltcG9ydGFudH0udS1tYXJnaW4tYm90dG9tLTUwe21hcmdpbi1ib3R0b206JT81MD8lIWltcG9ydGFudH0udS1wYWRkaW5nLWJvdHRvbS01MHtwYWRkaW5nLWJvdHRvbTolPzUwPyUhaW1wb3J0YW50fS51LW1hcmdpbi01MiwgLnUtbS01MnttYXJnaW46JT81Mj8lIWltcG9ydGFudH0udS1wYWRkaW5nLTUyLCAudS1wLTUye3BhZGRpbmc6JT81Mj8lIWltcG9ydGFudH0udS1tLWwtNTJ7bWFyZ2luLWxlZnQ6JT81Mj8lIWltcG9ydGFudH0udS1wLWwtNTJ7cGFkZGluZy1sZWZ0OiU/NTI/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLWxlZnQtNTJ7bWFyZ2luLWxlZnQ6JT81Mj8lIWltcG9ydGFudH0udS1wYWRkaW5nLWxlZnQtNTJ7cGFkZGluZy1sZWZ0OiU/NTI/JSFpbXBvcnRhbnR9LnUtbS10LTUye21hcmdpbi10b3A6JT81Mj8lIWltcG9ydGFudH0udS1wLXQtNTJ7cGFkZGluZy10b3A6JT81Mj8lIWltcG9ydGFudH0udS1tYXJnaW4tdG9wLTUye21hcmdpbi10b3A6JT81Mj8lIWltcG9ydGFudH0udS1wYWRkaW5nLXRvcC01MntwYWRkaW5nLXRvcDolPzUyPyUhaW1wb3J0YW50fS51LW0tci01MnttYXJnaW4tcmlnaHQ6JT81Mj8lIWltcG9ydGFudH0udS1wLXItNTJ7cGFkZGluZy1yaWdodDolPzUyPyUhaW1wb3J0YW50fS51LW1hcmdpbi1yaWdodC01MnttYXJnaW4tcmlnaHQ6JT81Mj8lIWltcG9ydGFudH0udS1wYWRkaW5nLXJpZ2h0LTUye3BhZGRpbmctcmlnaHQ6JT81Mj8lIWltcG9ydGFudH0udS1tLWItNTJ7bWFyZ2luLWJvdHRvbTolPzUyPyUhaW1wb3J0YW50fS51LXAtYi01MntwYWRkaW5nLWJvdHRvbTolPzUyPyUhaW1wb3J0YW50fS51LW1hcmdpbi1ib3R0b20tNTJ7bWFyZ2luLWJvdHRvbTolPzUyPyUhaW1wb3J0YW50fS51LXBhZGRpbmctYm90dG9tLTUye3BhZGRpbmctYm90dG9tOiU/NTI/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLTU0LCAudS1tLTU0e21hcmdpbjolPzU0PyUhaW1wb3J0YW50fS51LXBhZGRpbmctNTQsIC51LXAtNTR7cGFkZGluZzolPzU0PyUhaW1wb3J0YW50fS51LW0tbC01NHttYXJnaW4tbGVmdDolPzU0PyUhaW1wb3J0YW50fS51LXAtbC01NHtwYWRkaW5nLWxlZnQ6JT81ND8lIWltcG9ydGFudH0udS1tYXJnaW4tbGVmdC01NHttYXJnaW4tbGVmdDolPzU0PyUhaW1wb3J0YW50fS51LXBhZGRpbmctbGVmdC01NHtwYWRkaW5nLWxlZnQ6JT81ND8lIWltcG9ydGFudH0udS1tLXQtNTR7bWFyZ2luLXRvcDolPzU0PyUhaW1wb3J0YW50fS51LXAtdC01NHtwYWRkaW5nLXRvcDolPzU0PyUhaW1wb3J0YW50fS51LW1hcmdpbi10b3AtNTR7bWFyZ2luLXRvcDolPzU0PyUhaW1wb3J0YW50fS51LXBhZGRpbmctdG9wLTU0e3BhZGRpbmctdG9wOiU/NTQ/JSFpbXBvcnRhbnR9LnUtbS1yLTU0e21hcmdpbi1yaWdodDolPzU0PyUhaW1wb3J0YW50fS51LXAtci01NHtwYWRkaW5nLXJpZ2h0OiU/NTQ/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLXJpZ2h0LTU0e21hcmdpbi1yaWdodDolPzU0PyUhaW1wb3J0YW50fS51LXBhZGRpbmctcmlnaHQtNTR7cGFkZGluZy1yaWdodDolPzU0PyUhaW1wb3J0YW50fS51LW0tYi01NHttYXJnaW4tYm90dG9tOiU/NTQ/JSFpbXBvcnRhbnR9LnUtcC1iLTU0e3BhZGRpbmctYm90dG9tOiU/NTQ/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLWJvdHRvbS01NHttYXJnaW4tYm90dG9tOiU/NTQ/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy1ib3R0b20tNTR7cGFkZGluZy1ib3R0b206JT81ND8lIWltcG9ydGFudH0udS1tYXJnaW4tNTUsIC51LW0tNTV7bWFyZ2luOiU/NTU/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy01NSwgLnUtcC01NXtwYWRkaW5nOiU/NTU/JSFpbXBvcnRhbnR9LnUtbS1sLTU1e21hcmdpbi1sZWZ0OiU/NTU/JSFpbXBvcnRhbnR9LnUtcC1sLTU1e3BhZGRpbmctbGVmdDolPzU1PyUhaW1wb3J0YW50fS51LW1hcmdpbi1sZWZ0LTU1e21hcmdpbi1sZWZ0OiU/NTU/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy1sZWZ0LTU1e3BhZGRpbmctbGVmdDolPzU1PyUhaW1wb3J0YW50fS51LW0tdC01NXttYXJnaW4tdG9wOiU/NTU/JSFpbXBvcnRhbnR9LnUtcC10LTU1e3BhZGRpbmctdG9wOiU/NTU/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLXRvcC01NXttYXJnaW4tdG9wOiU/NTU/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy10b3AtNTV7cGFkZGluZy10b3A6JT81NT8lIWltcG9ydGFudH0udS1tLXItNTV7bWFyZ2luLXJpZ2h0OiU/NTU/JSFpbXBvcnRhbnR9LnUtcC1yLTU1e3BhZGRpbmctcmlnaHQ6JT81NT8lIWltcG9ydGFudH0udS1tYXJnaW4tcmlnaHQtNTV7bWFyZ2luLXJpZ2h0OiU/NTU/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy1yaWdodC01NXtwYWRkaW5nLXJpZ2h0OiU/NTU/JSFpbXBvcnRhbnR9LnUtbS1iLTU1e21hcmdpbi1ib3R0b206JT81NT8lIWltcG9ydGFudH0udS1wLWItNTV7cGFkZGluZy1ib3R0b206JT81NT8lIWltcG9ydGFudH0udS1tYXJnaW4tYm90dG9tLTU1e21hcmdpbi1ib3R0b206JT81NT8lIWltcG9ydGFudH0udS1wYWRkaW5nLWJvdHRvbS01NXtwYWRkaW5nLWJvdHRvbTolPzU1PyUhaW1wb3J0YW50fS51LW1hcmdpbi01NiwgLnUtbS01NnttYXJnaW46JT81Nj8lIWltcG9ydGFudH0udS1wYWRkaW5nLTU2LCAudS1wLTU2e3BhZGRpbmc6JT81Nj8lIWltcG9ydGFudH0udS1tLWwtNTZ7bWFyZ2luLWxlZnQ6JT81Nj8lIWltcG9ydGFudH0udS1wLWwtNTZ7cGFkZGluZy1sZWZ0OiU/NTY/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLWxlZnQtNTZ7bWFyZ2luLWxlZnQ6JT81Nj8lIWltcG9ydGFudH0udS1wYWRkaW5nLWxlZnQtNTZ7cGFkZGluZy1sZWZ0OiU/NTY/JSFpbXBvcnRhbnR9LnUtbS10LTU2e21hcmdpbi10b3A6JT81Nj8lIWltcG9ydGFudH0udS1wLXQtNTZ7cGFkZGluZy10b3A6JT81Nj8lIWltcG9ydGFudH0udS1tYXJnaW4tdG9wLTU2e21hcmdpbi10b3A6JT81Nj8lIWltcG9ydGFudH0udS1wYWRkaW5nLXRvcC01NntwYWRkaW5nLXRvcDolPzU2PyUhaW1wb3J0YW50fS51LW0tci01NnttYXJnaW4tcmlnaHQ6JT81Nj8lIWltcG9ydGFudH0udS1wLXItNTZ7cGFkZGluZy1yaWdodDolPzU2PyUhaW1wb3J0YW50fS51LW1hcmdpbi1yaWdodC01NnttYXJnaW4tcmlnaHQ6JT81Nj8lIWltcG9ydGFudH0udS1wYWRkaW5nLXJpZ2h0LTU2e3BhZGRpbmctcmlnaHQ6JT81Nj8lIWltcG9ydGFudH0udS1tLWItNTZ7bWFyZ2luLWJvdHRvbTolPzU2PyUhaW1wb3J0YW50fS51LXAtYi01NntwYWRkaW5nLWJvdHRvbTolPzU2PyUhaW1wb3J0YW50fS51LW1hcmdpbi1ib3R0b20tNTZ7bWFyZ2luLWJvdHRvbTolPzU2PyUhaW1wb3J0YW50fS51LXBhZGRpbmctYm90dG9tLTU2e3BhZGRpbmctYm90dG9tOiU/NTY/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLTU4LCAudS1tLTU4e21hcmdpbjolPzU4PyUhaW1wb3J0YW50fS51LXBhZGRpbmctNTgsIC51LXAtNTh7cGFkZGluZzolPzU4PyUhaW1wb3J0YW50fS51LW0tbC01OHttYXJnaW4tbGVmdDolPzU4PyUhaW1wb3J0YW50fS51LXAtbC01OHtwYWRkaW5nLWxlZnQ6JT81OD8lIWltcG9ydGFudH0udS1tYXJnaW4tbGVmdC01OHttYXJnaW4tbGVmdDolPzU4PyUhaW1wb3J0YW50fS51LXBhZGRpbmctbGVmdC01OHtwYWRkaW5nLWxlZnQ6JT81OD8lIWltcG9ydGFudH0udS1tLXQtNTh7bWFyZ2luLXRvcDolPzU4PyUhaW1wb3J0YW50fS51LXAtdC01OHtwYWRkaW5nLXRvcDolPzU4PyUhaW1wb3J0YW50fS51LW1hcmdpbi10b3AtNTh7bWFyZ2luLXRvcDolPzU4PyUhaW1wb3J0YW50fS51LXBhZGRpbmctdG9wLTU4e3BhZGRpbmctdG9wOiU/NTg/JSFpbXBvcnRhbnR9LnUtbS1yLTU4e21hcmdpbi1yaWdodDolPzU4PyUhaW1wb3J0YW50fS51LXAtci01OHtwYWRkaW5nLXJpZ2h0OiU/NTg/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLXJpZ2h0LTU4e21hcmdpbi1yaWdodDolPzU4PyUhaW1wb3J0YW50fS51LXBhZGRpbmctcmlnaHQtNTh7cGFkZGluZy1yaWdodDolPzU4PyUhaW1wb3J0YW50fS51LW0tYi01OHttYXJnaW4tYm90dG9tOiU/NTg/JSFpbXBvcnRhbnR9LnUtcC1iLTU4e3BhZGRpbmctYm90dG9tOiU/NTg/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLWJvdHRvbS01OHttYXJnaW4tYm90dG9tOiU/NTg/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy1ib3R0b20tNTh7cGFkZGluZy1ib3R0b206JT81OD8lIWltcG9ydGFudH0udS1tYXJnaW4tNjAsIC51LW0tNjB7bWFyZ2luOiU/NjA/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy02MCwgLnUtcC02MHtwYWRkaW5nOiU/NjA/JSFpbXBvcnRhbnR9LnUtbS1sLTYwe21hcmdpbi1sZWZ0OiU/NjA/JSFpbXBvcnRhbnR9LnUtcC1sLTYwe3BhZGRpbmctbGVmdDolPzYwPyUhaW1wb3J0YW50fS51LW1hcmdpbi1sZWZ0LTYwe21hcmdpbi1sZWZ0OiU/NjA/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy1sZWZ0LTYwe3BhZGRpbmctbGVmdDolPzYwPyUhaW1wb3J0YW50fS51LW0tdC02MHttYXJnaW4tdG9wOiU/NjA/JSFpbXBvcnRhbnR9LnUtcC10LTYwe3BhZGRpbmctdG9wOiU/NjA/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLXRvcC02MHttYXJnaW4tdG9wOiU/NjA/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy10b3AtNjB7cGFkZGluZy10b3A6JT82MD8lIWltcG9ydGFudH0udS1tLXItNjB7bWFyZ2luLXJpZ2h0OiU/NjA/JSFpbXBvcnRhbnR9LnUtcC1yLTYwe3BhZGRpbmctcmlnaHQ6JT82MD8lIWltcG9ydGFudH0udS1tYXJnaW4tcmlnaHQtNjB7bWFyZ2luLXJpZ2h0OiU/NjA/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy1yaWdodC02MHtwYWRkaW5nLXJpZ2h0OiU/NjA/JSFpbXBvcnRhbnR9LnUtbS1iLTYwe21hcmdpbi1ib3R0b206JT82MD8lIWltcG9ydGFudH0udS1wLWItNjB7cGFkZGluZy1ib3R0b206JT82MD8lIWltcG9ydGFudH0udS1tYXJnaW4tYm90dG9tLTYwe21hcmdpbi1ib3R0b206JT82MD8lIWltcG9ydGFudH0udS1wYWRkaW5nLWJvdHRvbS02MHtwYWRkaW5nLWJvdHRvbTolPzYwPyUhaW1wb3J0YW50fS51LW1hcmdpbi02MiwgLnUtbS02MnttYXJnaW46JT82Mj8lIWltcG9ydGFudH0udS1wYWRkaW5nLTYyLCAudS1wLTYye3BhZGRpbmc6JT82Mj8lIWltcG9ydGFudH0udS1tLWwtNjJ7bWFyZ2luLWxlZnQ6JT82Mj8lIWltcG9ydGFudH0udS1wLWwtNjJ7cGFkZGluZy1sZWZ0OiU/NjI/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLWxlZnQtNjJ7bWFyZ2luLWxlZnQ6JT82Mj8lIWltcG9ydGFudH0udS1wYWRkaW5nLWxlZnQtNjJ7cGFkZGluZy1sZWZ0OiU/NjI/JSFpbXBvcnRhbnR9LnUtbS10LTYye21hcmdpbi10b3A6JT82Mj8lIWltcG9ydGFudH0udS1wLXQtNjJ7cGFkZGluZy10b3A6JT82Mj8lIWltcG9ydGFudH0udS1tYXJnaW4tdG9wLTYye21hcmdpbi10b3A6JT82Mj8lIWltcG9ydGFudH0udS1wYWRkaW5nLXRvcC02MntwYWRkaW5nLXRvcDolPzYyPyUhaW1wb3J0YW50fS51LW0tci02MnttYXJnaW4tcmlnaHQ6JT82Mj8lIWltcG9ydGFudH0udS1wLXItNjJ7cGFkZGluZy1yaWdodDolPzYyPyUhaW1wb3J0YW50fS51LW1hcmdpbi1yaWdodC02MnttYXJnaW4tcmlnaHQ6JT82Mj8lIWltcG9ydGFudH0udS1wYWRkaW5nLXJpZ2h0LTYye3BhZGRpbmctcmlnaHQ6JT82Mj8lIWltcG9ydGFudH0udS1tLWItNjJ7bWFyZ2luLWJvdHRvbTolPzYyPyUhaW1wb3J0YW50fS51LXAtYi02MntwYWRkaW5nLWJvdHRvbTolPzYyPyUhaW1wb3J0YW50fS51LW1hcmdpbi1ib3R0b20tNjJ7bWFyZ2luLWJvdHRvbTolPzYyPyUhaW1wb3J0YW50fS51LXBhZGRpbmctYm90dG9tLTYye3BhZGRpbmctYm90dG9tOiU/NjI/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLTY0LCAudS1tLTY0e21hcmdpbjolPzY0PyUhaW1wb3J0YW50fS51LXBhZGRpbmctNjQsIC51LXAtNjR7cGFkZGluZzolPzY0PyUhaW1wb3J0YW50fS51LW0tbC02NHttYXJnaW4tbGVmdDolPzY0PyUhaW1wb3J0YW50fS51LXAtbC02NHtwYWRkaW5nLWxlZnQ6JT82ND8lIWltcG9ydGFudH0udS1tYXJnaW4tbGVmdC02NHttYXJnaW4tbGVmdDolPzY0PyUhaW1wb3J0YW50fS51LXBhZGRpbmctbGVmdC02NHtwYWRkaW5nLWxlZnQ6JT82ND8lIWltcG9ydGFudH0udS1tLXQtNjR7bWFyZ2luLXRvcDolPzY0PyUhaW1wb3J0YW50fS51LXAtdC02NHtwYWRkaW5nLXRvcDolPzY0PyUhaW1wb3J0YW50fS51LW1hcmdpbi10b3AtNjR7bWFyZ2luLXRvcDolPzY0PyUhaW1wb3J0YW50fS51LXBhZGRpbmctdG9wLTY0e3BhZGRpbmctdG9wOiU/NjQ/JSFpbXBvcnRhbnR9LnUtbS1yLTY0e21hcmdpbi1yaWdodDolPzY0PyUhaW1wb3J0YW50fS51LXAtci02NHtwYWRkaW5nLXJpZ2h0OiU/NjQ/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLXJpZ2h0LTY0e21hcmdpbi1yaWdodDolPzY0PyUhaW1wb3J0YW50fS51LXBhZGRpbmctcmlnaHQtNjR7cGFkZGluZy1yaWdodDolPzY0PyUhaW1wb3J0YW50fS51LW0tYi02NHttYXJnaW4tYm90dG9tOiU/NjQ/JSFpbXBvcnRhbnR9LnUtcC1iLTY0e3BhZGRpbmctYm90dG9tOiU/NjQ/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLWJvdHRvbS02NHttYXJnaW4tYm90dG9tOiU/NjQ/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy1ib3R0b20tNjR7cGFkZGluZy1ib3R0b206JT82ND8lIWltcG9ydGFudH0udS1tYXJnaW4tNjUsIC51LW0tNjV7bWFyZ2luOiU/NjU/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy02NSwgLnUtcC02NXtwYWRkaW5nOiU/NjU/JSFpbXBvcnRhbnR9LnUtbS1sLTY1e21hcmdpbi1sZWZ0OiU/NjU/JSFpbXBvcnRhbnR9LnUtcC1sLTY1e3BhZGRpbmctbGVmdDolPzY1PyUhaW1wb3J0YW50fS51LW1hcmdpbi1sZWZ0LTY1e21hcmdpbi1sZWZ0OiU/NjU/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy1sZWZ0LTY1e3BhZGRpbmctbGVmdDolPzY1PyUhaW1wb3J0YW50fS51LW0tdC02NXttYXJnaW4tdG9wOiU/NjU/JSFpbXBvcnRhbnR9LnUtcC10LTY1e3BhZGRpbmctdG9wOiU/NjU/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLXRvcC02NXttYXJnaW4tdG9wOiU/NjU/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy10b3AtNjV7cGFkZGluZy10b3A6JT82NT8lIWltcG9ydGFudH0udS1tLXItNjV7bWFyZ2luLXJpZ2h0OiU/NjU/JSFpbXBvcnRhbnR9LnUtcC1yLTY1e3BhZGRpbmctcmlnaHQ6JT82NT8lIWltcG9ydGFudH0udS1tYXJnaW4tcmlnaHQtNjV7bWFyZ2luLXJpZ2h0OiU/NjU/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy1yaWdodC02NXtwYWRkaW5nLXJpZ2h0OiU/NjU/JSFpbXBvcnRhbnR9LnUtbS1iLTY1e21hcmdpbi1ib3R0b206JT82NT8lIWltcG9ydGFudH0udS1wLWItNjV7cGFkZGluZy1ib3R0b206JT82NT8lIWltcG9ydGFudH0udS1tYXJnaW4tYm90dG9tLTY1e21hcmdpbi1ib3R0b206JT82NT8lIWltcG9ydGFudH0udS1wYWRkaW5nLWJvdHRvbS02NXtwYWRkaW5nLWJvdHRvbTolPzY1PyUhaW1wb3J0YW50fS51LW1hcmdpbi02NiwgLnUtbS02NnttYXJnaW46JT82Nj8lIWltcG9ydGFudH0udS1wYWRkaW5nLTY2LCAudS1wLTY2e3BhZGRpbmc6JT82Nj8lIWltcG9ydGFudH0udS1tLWwtNjZ7bWFyZ2luLWxlZnQ6JT82Nj8lIWltcG9ydGFudH0udS1wLWwtNjZ7cGFkZGluZy1sZWZ0OiU/NjY/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLWxlZnQtNjZ7bWFyZ2luLWxlZnQ6JT82Nj8lIWltcG9ydGFudH0udS1wYWRkaW5nLWxlZnQtNjZ7cGFkZGluZy1sZWZ0OiU/NjY/JSFpbXBvcnRhbnR9LnUtbS10LTY2e21hcmdpbi10b3A6JT82Nj8lIWltcG9ydGFudH0udS1wLXQtNjZ7cGFkZGluZy10b3A6JT82Nj8lIWltcG9ydGFudH0udS1tYXJnaW4tdG9wLTY2e21hcmdpbi10b3A6JT82Nj8lIWltcG9ydGFudH0udS1wYWRkaW5nLXRvcC02NntwYWRkaW5nLXRvcDolPzY2PyUhaW1wb3J0YW50fS51LW0tci02NnttYXJnaW4tcmlnaHQ6JT82Nj8lIWltcG9ydGFudH0udS1wLXItNjZ7cGFkZGluZy1yaWdodDolPzY2PyUhaW1wb3J0YW50fS51LW1hcmdpbi1yaWdodC02NnttYXJnaW4tcmlnaHQ6JT82Nj8lIWltcG9ydGFudH0udS1wYWRkaW5nLXJpZ2h0LTY2e3BhZGRpbmctcmlnaHQ6JT82Nj8lIWltcG9ydGFudH0udS1tLWItNjZ7bWFyZ2luLWJvdHRvbTolPzY2PyUhaW1wb3J0YW50fS51LXAtYi02NntwYWRkaW5nLWJvdHRvbTolPzY2PyUhaW1wb3J0YW50fS51LW1hcmdpbi1ib3R0b20tNjZ7bWFyZ2luLWJvdHRvbTolPzY2PyUhaW1wb3J0YW50fS51LXBhZGRpbmctYm90dG9tLTY2e3BhZGRpbmctYm90dG9tOiU/NjY/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLTY4LCAudS1tLTY4e21hcmdpbjolPzY4PyUhaW1wb3J0YW50fS51LXBhZGRpbmctNjgsIC51LXAtNjh7cGFkZGluZzolPzY4PyUhaW1wb3J0YW50fS51LW0tbC02OHttYXJnaW4tbGVmdDolPzY4PyUhaW1wb3J0YW50fS51LXAtbC02OHtwYWRkaW5nLWxlZnQ6JT82OD8lIWltcG9ydGFudH0udS1tYXJnaW4tbGVmdC02OHttYXJnaW4tbGVmdDolPzY4PyUhaW1wb3J0YW50fS51LXBhZGRpbmctbGVmdC02OHtwYWRkaW5nLWxlZnQ6JT82OD8lIWltcG9ydGFudH0udS1tLXQtNjh7bWFyZ2luLXRvcDolPzY4PyUhaW1wb3J0YW50fS51LXAtdC02OHtwYWRkaW5nLXRvcDolPzY4PyUhaW1wb3J0YW50fS51LW1hcmdpbi10b3AtNjh7bWFyZ2luLXRvcDolPzY4PyUhaW1wb3J0YW50fS51LXBhZGRpbmctdG9wLTY4e3BhZGRpbmctdG9wOiU/Njg/JSFpbXBvcnRhbnR9LnUtbS1yLTY4e21hcmdpbi1yaWdodDolPzY4PyUhaW1wb3J0YW50fS51LXAtci02OHtwYWRkaW5nLXJpZ2h0OiU/Njg/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLXJpZ2h0LTY4e21hcmdpbi1yaWdodDolPzY4PyUhaW1wb3J0YW50fS51LXBhZGRpbmctcmlnaHQtNjh7cGFkZGluZy1yaWdodDolPzY4PyUhaW1wb3J0YW50fS51LW0tYi02OHttYXJnaW4tYm90dG9tOiU/Njg/JSFpbXBvcnRhbnR9LnUtcC1iLTY4e3BhZGRpbmctYm90dG9tOiU/Njg/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLWJvdHRvbS02OHttYXJnaW4tYm90dG9tOiU/Njg/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy1ib3R0b20tNjh7cGFkZGluZy1ib3R0b206JT82OD8lIWltcG9ydGFudH0udS1tYXJnaW4tNzAsIC51LW0tNzB7bWFyZ2luOiU/NzA/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy03MCwgLnUtcC03MHtwYWRkaW5nOiU/NzA/JSFpbXBvcnRhbnR9LnUtbS1sLTcwe21hcmdpbi1sZWZ0OiU/NzA/JSFpbXBvcnRhbnR9LnUtcC1sLTcwe3BhZGRpbmctbGVmdDolPzcwPyUhaW1wb3J0YW50fS51LW1hcmdpbi1sZWZ0LTcwe21hcmdpbi1sZWZ0OiU/NzA/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy1sZWZ0LTcwe3BhZGRpbmctbGVmdDolPzcwPyUhaW1wb3J0YW50fS51LW0tdC03MHttYXJnaW4tdG9wOiU/NzA/JSFpbXBvcnRhbnR9LnUtcC10LTcwe3BhZGRpbmctdG9wOiU/NzA/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLXRvcC03MHttYXJnaW4tdG9wOiU/NzA/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy10b3AtNzB7cGFkZGluZy10b3A6JT83MD8lIWltcG9ydGFudH0udS1tLXItNzB7bWFyZ2luLXJpZ2h0OiU/NzA/JSFpbXBvcnRhbnR9LnUtcC1yLTcwe3BhZGRpbmctcmlnaHQ6JT83MD8lIWltcG9ydGFudH0udS1tYXJnaW4tcmlnaHQtNzB7bWFyZ2luLXJpZ2h0OiU/NzA/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy1yaWdodC03MHtwYWRkaW5nLXJpZ2h0OiU/NzA/JSFpbXBvcnRhbnR9LnUtbS1iLTcwe21hcmdpbi1ib3R0b206JT83MD8lIWltcG9ydGFudH0udS1wLWItNzB7cGFkZGluZy1ib3R0b206JT83MD8lIWltcG9ydGFudH0udS1tYXJnaW4tYm90dG9tLTcwe21hcmdpbi1ib3R0b206JT83MD8lIWltcG9ydGFudH0udS1wYWRkaW5nLWJvdHRvbS03MHtwYWRkaW5nLWJvdHRvbTolPzcwPyUhaW1wb3J0YW50fS51LW1hcmdpbi03MiwgLnUtbS03MnttYXJnaW46JT83Mj8lIWltcG9ydGFudH0udS1wYWRkaW5nLTcyLCAudS1wLTcye3BhZGRpbmc6JT83Mj8lIWltcG9ydGFudH0udS1tLWwtNzJ7bWFyZ2luLWxlZnQ6JT83Mj8lIWltcG9ydGFudH0udS1wLWwtNzJ7cGFkZGluZy1sZWZ0OiU/NzI/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLWxlZnQtNzJ7bWFyZ2luLWxlZnQ6JT83Mj8lIWltcG9ydGFudH0udS1wYWRkaW5nLWxlZnQtNzJ7cGFkZGluZy1sZWZ0OiU/NzI/JSFpbXBvcnRhbnR9LnUtbS10LTcye21hcmdpbi10b3A6JT83Mj8lIWltcG9ydGFudH0udS1wLXQtNzJ7cGFkZGluZy10b3A6JT83Mj8lIWltcG9ydGFudH0udS1tYXJnaW4tdG9wLTcye21hcmdpbi10b3A6JT83Mj8lIWltcG9ydGFudH0udS1wYWRkaW5nLXRvcC03MntwYWRkaW5nLXRvcDolPzcyPyUhaW1wb3J0YW50fS51LW0tci03MnttYXJnaW4tcmlnaHQ6JT83Mj8lIWltcG9ydGFudH0udS1wLXItNzJ7cGFkZGluZy1yaWdodDolPzcyPyUhaW1wb3J0YW50fS51LW1hcmdpbi1yaWdodC03MnttYXJnaW4tcmlnaHQ6JT83Mj8lIWltcG9ydGFudH0udS1wYWRkaW5nLXJpZ2h0LTcye3BhZGRpbmctcmlnaHQ6JT83Mj8lIWltcG9ydGFudH0udS1tLWItNzJ7bWFyZ2luLWJvdHRvbTolPzcyPyUhaW1wb3J0YW50fS51LXAtYi03MntwYWRkaW5nLWJvdHRvbTolPzcyPyUhaW1wb3J0YW50fS51LW1hcmdpbi1ib3R0b20tNzJ7bWFyZ2luLWJvdHRvbTolPzcyPyUhaW1wb3J0YW50fS51LXBhZGRpbmctYm90dG9tLTcye3BhZGRpbmctYm90dG9tOiU/NzI/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLTc0LCAudS1tLTc0e21hcmdpbjolPzc0PyUhaW1wb3J0YW50fS51LXBhZGRpbmctNzQsIC51LXAtNzR7cGFkZGluZzolPzc0PyUhaW1wb3J0YW50fS51LW0tbC03NHttYXJnaW4tbGVmdDolPzc0PyUhaW1wb3J0YW50fS51LXAtbC03NHtwYWRkaW5nLWxlZnQ6JT83ND8lIWltcG9ydGFudH0udS1tYXJnaW4tbGVmdC03NHttYXJnaW4tbGVmdDolPzc0PyUhaW1wb3J0YW50fS51LXBhZGRpbmctbGVmdC03NHtwYWRkaW5nLWxlZnQ6JT83ND8lIWltcG9ydGFudH0udS1tLXQtNzR7bWFyZ2luLXRvcDolPzc0PyUhaW1wb3J0YW50fS51LXAtdC03NHtwYWRkaW5nLXRvcDolPzc0PyUhaW1wb3J0YW50fS51LW1hcmdpbi10b3AtNzR7bWFyZ2luLXRvcDolPzc0PyUhaW1wb3J0YW50fS51LXBhZGRpbmctdG9wLTc0e3BhZGRpbmctdG9wOiU/NzQ/JSFpbXBvcnRhbnR9LnUtbS1yLTc0e21hcmdpbi1yaWdodDolPzc0PyUhaW1wb3J0YW50fS51LXAtci03NHtwYWRkaW5nLXJpZ2h0OiU/NzQ/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLXJpZ2h0LTc0e21hcmdpbi1yaWdodDolPzc0PyUhaW1wb3J0YW50fS51LXBhZGRpbmctcmlnaHQtNzR7cGFkZGluZy1yaWdodDolPzc0PyUhaW1wb3J0YW50fS51LW0tYi03NHttYXJnaW4tYm90dG9tOiU/NzQ/JSFpbXBvcnRhbnR9LnUtcC1iLTc0e3BhZGRpbmctYm90dG9tOiU/NzQ/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLWJvdHRvbS03NHttYXJnaW4tYm90dG9tOiU/NzQ/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy1ib3R0b20tNzR7cGFkZGluZy1ib3R0b206JT83ND8lIWltcG9ydGFudH0udS1tYXJnaW4tNzUsIC51LW0tNzV7bWFyZ2luOiU/NzU/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy03NSwgLnUtcC03NXtwYWRkaW5nOiU/NzU/JSFpbXBvcnRhbnR9LnUtbS1sLTc1e21hcmdpbi1sZWZ0OiU/NzU/JSFpbXBvcnRhbnR9LnUtcC1sLTc1e3BhZGRpbmctbGVmdDolPzc1PyUhaW1wb3J0YW50fS51LW1hcmdpbi1sZWZ0LTc1e21hcmdpbi1sZWZ0OiU/NzU/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy1sZWZ0LTc1e3BhZGRpbmctbGVmdDolPzc1PyUhaW1wb3J0YW50fS51LW0tdC03NXttYXJnaW4tdG9wOiU/NzU/JSFpbXBvcnRhbnR9LnUtcC10LTc1e3BhZGRpbmctdG9wOiU/NzU/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLXRvcC03NXttYXJnaW4tdG9wOiU/NzU/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy10b3AtNzV7cGFkZGluZy10b3A6JT83NT8lIWltcG9ydGFudH0udS1tLXItNzV7bWFyZ2luLXJpZ2h0OiU/NzU/JSFpbXBvcnRhbnR9LnUtcC1yLTc1e3BhZGRpbmctcmlnaHQ6JT83NT8lIWltcG9ydGFudH0udS1tYXJnaW4tcmlnaHQtNzV7bWFyZ2luLXJpZ2h0OiU/NzU/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy1yaWdodC03NXtwYWRkaW5nLXJpZ2h0OiU/NzU/JSFpbXBvcnRhbnR9LnUtbS1iLTc1e21hcmdpbi1ib3R0b206JT83NT8lIWltcG9ydGFudH0udS1wLWItNzV7cGFkZGluZy1ib3R0b206JT83NT8lIWltcG9ydGFudH0udS1tYXJnaW4tYm90dG9tLTc1e21hcmdpbi1ib3R0b206JT83NT8lIWltcG9ydGFudH0udS1wYWRkaW5nLWJvdHRvbS03NXtwYWRkaW5nLWJvdHRvbTolPzc1PyUhaW1wb3J0YW50fS51LW1hcmdpbi03NiwgLnUtbS03NnttYXJnaW46JT83Nj8lIWltcG9ydGFudH0udS1wYWRkaW5nLTc2LCAudS1wLTc2e3BhZGRpbmc6JT83Nj8lIWltcG9ydGFudH0udS1tLWwtNzZ7bWFyZ2luLWxlZnQ6JT83Nj8lIWltcG9ydGFudH0udS1wLWwtNzZ7cGFkZGluZy1sZWZ0OiU/NzY/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLWxlZnQtNzZ7bWFyZ2luLWxlZnQ6JT83Nj8lIWltcG9ydGFudH0udS1wYWRkaW5nLWxlZnQtNzZ7cGFkZGluZy1sZWZ0OiU/NzY/JSFpbXBvcnRhbnR9LnUtbS10LTc2e21hcmdpbi10b3A6JT83Nj8lIWltcG9ydGFudH0udS1wLXQtNzZ7cGFkZGluZy10b3A6JT83Nj8lIWltcG9ydGFudH0udS1tYXJnaW4tdG9wLTc2e21hcmdpbi10b3A6JT83Nj8lIWltcG9ydGFudH0udS1wYWRkaW5nLXRvcC03NntwYWRkaW5nLXRvcDolPzc2PyUhaW1wb3J0YW50fS51LW0tci03NnttYXJnaW4tcmlnaHQ6JT83Nj8lIWltcG9ydGFudH0udS1wLXItNzZ7cGFkZGluZy1yaWdodDolPzc2PyUhaW1wb3J0YW50fS51LW1hcmdpbi1yaWdodC03NnttYXJnaW4tcmlnaHQ6JT83Nj8lIWltcG9ydGFudH0udS1wYWRkaW5nLXJpZ2h0LTc2e3BhZGRpbmctcmlnaHQ6JT83Nj8lIWltcG9ydGFudH0udS1tLWItNzZ7bWFyZ2luLWJvdHRvbTolPzc2PyUhaW1wb3J0YW50fS51LXAtYi03NntwYWRkaW5nLWJvdHRvbTolPzc2PyUhaW1wb3J0YW50fS51LW1hcmdpbi1ib3R0b20tNzZ7bWFyZ2luLWJvdHRvbTolPzc2PyUhaW1wb3J0YW50fS51LXBhZGRpbmctYm90dG9tLTc2e3BhZGRpbmctYm90dG9tOiU/NzY/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLTc4LCAudS1tLTc4e21hcmdpbjolPzc4PyUhaW1wb3J0YW50fS51LXBhZGRpbmctNzgsIC51LXAtNzh7cGFkZGluZzolPzc4PyUhaW1wb3J0YW50fS51LW0tbC03OHttYXJnaW4tbGVmdDolPzc4PyUhaW1wb3J0YW50fS51LXAtbC03OHtwYWRkaW5nLWxlZnQ6JT83OD8lIWltcG9ydGFudH0udS1tYXJnaW4tbGVmdC03OHttYXJnaW4tbGVmdDolPzc4PyUhaW1wb3J0YW50fS51LXBhZGRpbmctbGVmdC03OHtwYWRkaW5nLWxlZnQ6JT83OD8lIWltcG9ydGFudH0udS1tLXQtNzh7bWFyZ2luLXRvcDolPzc4PyUhaW1wb3J0YW50fS51LXAtdC03OHtwYWRkaW5nLXRvcDolPzc4PyUhaW1wb3J0YW50fS51LW1hcmdpbi10b3AtNzh7bWFyZ2luLXRvcDolPzc4PyUhaW1wb3J0YW50fS51LXBhZGRpbmctdG9wLTc4e3BhZGRpbmctdG9wOiU/Nzg/JSFpbXBvcnRhbnR9LnUtbS1yLTc4e21hcmdpbi1yaWdodDolPzc4PyUhaW1wb3J0YW50fS51LXAtci03OHtwYWRkaW5nLXJpZ2h0OiU/Nzg/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLXJpZ2h0LTc4e21hcmdpbi1yaWdodDolPzc4PyUhaW1wb3J0YW50fS51LXBhZGRpbmctcmlnaHQtNzh7cGFkZGluZy1yaWdodDolPzc4PyUhaW1wb3J0YW50fS51LW0tYi03OHttYXJnaW4tYm90dG9tOiU/Nzg/JSFpbXBvcnRhbnR9LnUtcC1iLTc4e3BhZGRpbmctYm90dG9tOiU/Nzg/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLWJvdHRvbS03OHttYXJnaW4tYm90dG9tOiU/Nzg/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy1ib3R0b20tNzh7cGFkZGluZy1ib3R0b206JT83OD8lIWltcG9ydGFudH0udS1tYXJnaW4tODAsIC51LW0tODB7bWFyZ2luOiU/ODA/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy04MCwgLnUtcC04MHtwYWRkaW5nOiU/ODA/JSFpbXBvcnRhbnR9LnUtbS1sLTgwe21hcmdpbi1sZWZ0OiU/ODA/JSFpbXBvcnRhbnR9LnUtcC1sLTgwe3BhZGRpbmctbGVmdDolPzgwPyUhaW1wb3J0YW50fS51LW1hcmdpbi1sZWZ0LTgwe21hcmdpbi1sZWZ0OiU/ODA/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy1sZWZ0LTgwe3BhZGRpbmctbGVmdDolPzgwPyUhaW1wb3J0YW50fS51LW0tdC04MHttYXJnaW4tdG9wOiU/ODA/JSFpbXBvcnRhbnR9LnUtcC10LTgwe3BhZGRpbmctdG9wOiU/ODA/JSFpbXBvcnRhbnR9LnUtbWFyZ2luLXRvcC04MHttYXJnaW4tdG9wOiU/ODA/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy10b3AtODB7cGFkZGluZy10b3A6JT84MD8lIWltcG9ydGFudH0udS1tLXItODB7bWFyZ2luLXJpZ2h0OiU/ODA/JSFpbXBvcnRhbnR9LnUtcC1yLTgwe3BhZGRpbmctcmlnaHQ6JT84MD8lIWltcG9ydGFudH0udS1tYXJnaW4tcmlnaHQtODB7bWFyZ2luLXJpZ2h0OiU/ODA/JSFpbXBvcnRhbnR9LnUtcGFkZGluZy1yaWdodC04MHtwYWRkaW5nLXJpZ2h0OiU/ODA/JSFpbXBvcnRhbnR9LnUtbS1iLTgwe21hcmdpbi1ib3R0b206JT84MD8lIWltcG9ydGFudH0udS1wLWItODB7cGFkZGluZy1ib3R0b206JT84MD8lIWltcG9ydGFudH0udS1tYXJnaW4tYm90dG9tLTgwe21hcmdpbi1ib3R0b206JT84MD8lIWltcG9ydGFudH0udS1wYWRkaW5nLWJvdHRvbS04MHtwYWRkaW5nLWJvdHRvbTolPzgwPyUhaW1wb3J0YW50fS51LXJlc2V0LW52dWV7ZmxleC1kaXJlY3Rpb246cm93O2FsaWduLWl0ZW1zOmNlbnRlcn0udS10eXBlLXByaW1hcnktbGlnaHR7Y29sb3I6I2VjZjVmZn0udS10eXBlLXdhcm5pbmctbGlnaHR7Y29sb3I6I2ZkZjZlY30udS10eXBlLXN1Y2Nlc3MtbGlnaHR7Y29sb3I6I2RiZjFlMX0udS10eXBlLWVycm9yLWxpZ2h0e2NvbG9yOiNmZWYwZjB9LnUtdHlwZS1pbmZvLWxpZ2h0e2NvbG9yOiNmNGY0ZjV9LnUtdHlwZS1wcmltYXJ5LWxpZ2h0LWJne2JhY2tncm91bmQtY29sb3I6I2VjZjVmZn0udS10eXBlLXdhcm5pbmctbGlnaHQtYmd7YmFja2dyb3VuZC1jb2xvcjojZmRmNmVjfS51LXR5cGUtc3VjY2Vzcy1saWdodC1iZ3tiYWNrZ3JvdW5kLWNvbG9yOiNkYmYxZTF9LnUtdHlwZS1lcnJvci1saWdodC1iZ3tiYWNrZ3JvdW5kLWNvbG9yOiNmZWYwZjB9LnUtdHlwZS1pbmZvLWxpZ2h0LWJne2JhY2tncm91bmQtY29sb3I6I2Y0ZjRmNX0udS10eXBlLXByaW1hcnktZGFya3tjb2xvcjojMmI4NWU0fS51LXR5cGUtd2FybmluZy1kYXJre2NvbG9yOiNmMjkxMDB9LnUtdHlwZS1zdWNjZXNzLWRhcmt7Y29sb3I6IzE4YjU2Nn0udS10eXBlLWVycm9yLWRhcmt7Y29sb3I6I2RkNjE2MX0udS10eXBlLWluZm8tZGFya3tjb2xvcjojODI4NDhhfS51LXR5cGUtcHJpbWFyeS1kYXJrLWJne2JhY2tncm91bmQtY29sb3I6IzJiODVlNH0udS10eXBlLXdhcm5pbmctZGFyay1iZ3tiYWNrZ3JvdW5kLWNvbG9yOiNmMjkxMDB9LnUtdHlwZS1zdWNjZXNzLWRhcmstYmd7YmFja2dyb3VuZC1jb2xvcjojMThiNTY2fS51LXR5cGUtZXJyb3ItZGFyay1iZ3tiYWNrZ3JvdW5kLWNvbG9yOiNkZDYxNjF9LnUtdHlwZS1pbmZvLWRhcmstYmd7YmFja2dyb3VuZC1jb2xvcjojODI4NDhhfS51LXR5cGUtcHJpbWFyeS1kaXNhYmxlZHtjb2xvcjojYTBjZmZmfS51LXR5cGUtd2FybmluZy1kaXNhYmxlZHtjb2xvcjojZmNiZDcxfS51LXR5cGUtc3VjY2Vzcy1kaXNhYmxlZHtjb2xvcjojNzFkNWExfS51LXR5cGUtZXJyb3ItZGlzYWJsZWR7Y29sb3I6I2ZhYjZiNn0udS10eXBlLWluZm8tZGlzYWJsZWR7Y29sb3I6I2M4YzljY30udS10eXBlLXByaW1hcnl7Y29sb3I6IzI5NzlmZn0udS10eXBlLXdhcm5pbmd7Y29sb3I6I2ZmY2M4Zn0udS10eXBlLXN1Y2Nlc3N7Y29sb3I6IzE5YmU2Yn0udS10eXBlLWVycm9ye2NvbG9yOiNmYTM1MzR9LnUtdHlwZS1pbmZve2NvbG9yOiM5MDkzOTl9LnUtdHlwZS1wcmltYXJ5LWJne2JhY2tncm91bmQtY29sb3I6IzI5NzlmZn0udS10eXBlLXdhcm5pbmctYmd7YmFja2dyb3VuZC1jb2xvcjojZmZjYzhmfS51LXR5cGUtc3VjY2Vzcy1iZ3tiYWNrZ3JvdW5kLWNvbG9yOiMxOWJlNmJ9LnUtdHlwZS1lcnJvci1iZ3tiYWNrZ3JvdW5kLWNvbG9yOiNmYTM1MzR9LnUtdHlwZS1pbmZvLWJne2JhY2tncm91bmQtY29sb3I6IzkwOTM5OX0udS1tYWluLWNvbG9ye2NvbG9yOiMzMDMxMzN9LnUtY29udGVudC1jb2xvcntjb2xvcjojNjA2MjY2fS51LXRpcHMtY29sb3J7Y29sb3I6IzkwOTM5OX0udS1saWdodC1jb2xvcntjb2xvcjojYzBjNGNjfXVuaS1wYWdlLWJvZHl7Y29sb3I6IzMwMzEzMztmb250LXNpemU6JT8yOD8lfVxyXG4vKiBzdGFydC0t5Y676Zmkd2Via2l055qE6buY6K6k5qC35byPLS1zdGFydCAqLy51LWZpeC1pb3MtYXBwZWFyYW5jZXstd2Via2l0LWFwcGVhcmFuY2U6bm9uZX1cclxuLyogZW5kLS3ljrvpmaR3ZWJraXTnmoTpu5jorqTmoLflvI8tLWVuZCAqL1xyXG4vKiBzdGFydC0taWNvbuWbvuagh+WkluWxguWll+S4gOS4qnZpZXfvvIzorqnlhbbovr7liLDmm7Tlpb3nmoTlnoLnm7TlsYXkuK3nmoTmlYjmnpwtLXN0YXJ0ICovLnUtaWNvbi13cmFwe2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXJ9XHJcbi8qIGVuZC1pY29u5Zu+5qCH5aSW5bGC5aWX5LiA5Liqdmlld++8jOiuqeWFtui+vuWIsOabtOWlveeahOWeguebtOWxheS4reeahOaViOaenC0tZW5kICovXHJcbi8qIHN0YXJ0LS1pUGhvbmVY5bqV6YOo5a6J5YWo5Yy65a6a5LmJLS1zdGFydCAqLy5zYWZlLWFyZWEtaW5zZXQtYm90dG9te3BhZGRpbmctYm90dG9tOjA7cGFkZGluZy1ib3R0b206Y29uc3RhbnQoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSk7cGFkZGluZy1ib3R0b206ZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pfVxyXG4vKiBlbmQtaVBob25lWOW6lemDqOWuieWFqOWMuuWumuS5iS0tZW5kICovXHJcbi8qIHN0YXJ0LS3lkITnp41ob3ZlcueCueWHu+WPjemmiOebuOWFs+eahOexu+WQjS1zdGFydCAqLy51LWhvdmVyLWNsYXNze29wYWNpdHk6LjZ9LnUtY2VsbC1ob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNmN2Y4ZjkhaW1wb3J0YW50fVxyXG4vKiBlbmQtLeWQhOenjWhvdmVy54K55Ye75Y+N6aaI55u45YWz55qE57G75ZCNLS1lbmQgKi9cclxuLyogc3RhcnQtLeaWh+acrOihjOaVsOmZkOWIti0tc3RhcnQgKi8udS1saW5lLTF7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS51LWxpbmUtMnstd2Via2l0LWxpbmUtY2xhbXA6Mn0udS1saW5lLTN7LXdlYmtpdC1saW5lLWNsYW1wOjN9LnUtbGluZS00ey13ZWJraXQtbGluZS1jbGFtcDo0fS51LWxpbmUtNXstd2Via2l0LWxpbmUtY2xhbXA6NX0udS1saW5lLTIsIC51LWxpbmUtMywgLnUtbGluZS00LCAudS1saW5lLTV7b3ZlcmZsb3c6aGlkZGVuO3dvcmQtYnJlYWs6YnJlYWstYWxsO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7ZGlzcGxheTotd2Via2l0LWJveDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWx9XHJcbi8qIGVuZC0t5paH5pys6KGM5pWw6ZmQ5Yi2LS1lbmQgKi9cclxuLyogc3RhcnQtLVJldGluYSDlsY/luZXkuIvnmoQgMXB4IOi+ueahhi0tc3RhcnQgKi8udS1ib3JkZXIsXHJcbi51LWJvcmRlci1ib3R0b20sXHJcbi51LWJvcmRlci1sZWZ0LFxyXG4udS1ib3JkZXItcmlnaHQsXHJcbi51LWJvcmRlci10b3AsXHJcbi51LWJvcmRlci10b3AtYm90dG9te3Bvc2l0aW9uOnJlbGF0aXZlfS51LWJvcmRlci1ib3R0b206YWZ0ZXIsXHJcbi51LWJvcmRlci1sZWZ0OmFmdGVyLFxyXG4udS1ib3JkZXItcmlnaHQ6YWZ0ZXIsXHJcbi51LWJvcmRlci10b3AtYm90dG9tOmFmdGVyLFxyXG4udS1ib3JkZXItdG9wOmFmdGVyLFxyXG4udS1ib3JkZXI6YWZ0ZXJ7Y29udGVudDoiICI7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO3BvaW50ZXItZXZlbnRzOm5vbmU7Ym94LXNpemluZzpib3JkZXItYm94Oy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjowIDA7dHJhbnNmb3JtLW9yaWdpbjowIDA7d2lkdGg6MTk5LjglO2hlaWdodDoxOTkuNyU7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoLjUpO3RyYW5zZm9ybTpzY2FsZSguNSk7Ym9yZGVyOjAgc29saWQgIzU2NTY1Njt6LWluZGV4OjJ9LnUtYm9yZGVyLXRvcDphZnRlcntib3JkZXItdG9wLXdpZHRoOjFweH0udS1ib3JkZXItbGVmdDphZnRlcntib3JkZXItbGVmdC13aWR0aDoxcHh9LnUtYm9yZGVyLXJpZ2h0OmFmdGVye2JvcmRlci1yaWdodC13aWR0aDoxcHh9LnUtYm9yZGVyLWJvdHRvbTphZnRlcntib3JkZXItYm90dG9tLXdpZHRoOjFweH0udS1ib3JkZXItdG9wLWJvdHRvbTphZnRlcntib3JkZXItd2lkdGg6MXB4IDB9LnUtYm9yZGVyOmFmdGVye2JvcmRlci13aWR0aDoxcHh9XHJcbi8qIGVuZC0tUmV0aW5hIOWxj+W5leS4i+eahCAxcHgg6L655qGGLS1lbmQgKi9cclxuLyogc3RhcnQtLWNsZWFyZml4LS1zdGFydCAqLy51LWNsZWFyZml4OmFmdGVyLFxyXG4uY2xlYXJmaXg6YWZ0ZXJ7Y29udGVudDoiIjtkaXNwbGF5OnRhYmxlO2NsZWFyOmJvdGh9XHJcbi8qIGVuZC0tY2xlYXJmaXgtLWVuZCAqL1xyXG4vKiBzdGFydC0t6auY5pav5qih57OKdGFiYmFy5bqV6YOo5aSE55CGLS1zdGFydCAqLy51LWJsdXItZWZmZWN0LWluc2V0e3dpZHRoOiU/NzUwPyU7aGVpZ2h0OnZhcigtLXdpbmRvdy1ib3R0b20pO2JhY2tncm91bmQtY29sb3I6I2ZmZn1cclxuLyogZW5kLS3pq5jmlq/mqKHns4p0YWJiYXLlupXpg6jlpITnkIYtLWVuZCAqL1xyXG4vKiBzdGFydC0t5o+Q5Y2HSDXnq691bmkudG9hc3QoKeeahOWxgue6p++8jOmBv+WFjeiiq3VWaWV355qEbW9kYWznrYnpga7nm5YtLXN0YXJ0ICovdW5pLXRvYXN0e3otaW5kZXg6MTAwOTB9dW5pLXRvYXN0IC51bmktdG9hc3R7ei1pbmRleDoxMDA5MH1cclxuLyogZW5kLS3mj5DljYdINeerr3VuaS50b2FzdCgp55qE5bGC57qn77yM6YG/5YWN6KKrdVZpZXfnmoRtb2RhbOetiemBruebli0tZW5kICovXHJcbi8qIHN0YXJ0LS3ljrvpmaRidXR0b27nmoTmiYDmnInpu5jorqTmoLflvI8tLXN0YXJ0ICovLnUtcmVzZXQtYnV0dG9ue3BhZGRpbmc6MDtmb250LXNpemU6aW5oZXJpdDtsaW5lLWhlaWdodDppbmhlcml0O2JhY2tncm91bmQtY29sb3I6aW5pdGlhbDtjb2xvcjppbmhlcml0fS51LXJlc2V0LWJ1dHRvbjo6YWZ0ZXJ7Ym9yZGVyOm5vbmV9XHJcbi8qIGVuZC0t5Y676ZmkYnV0dG9u55qE5omA5pyJ6buY6K6k5qC35byPLS1lbmQgKi9cclxuLyogSDXnmoTml7blgJnvvIzpmpDol4/mu5rliqjmnaEgKi86Oi13ZWJraXQtc2Nyb2xsYmFye2Rpc3BsYXk6bm9uZTt3aWR0aDowIWltcG9ydGFudDtoZWlnaHQ6MCFpbXBvcnRhbnQ7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7YmFja2dyb3VuZDp0cmFuc3BhcmVudH11bmktdmlldyxcclxudW5pLXRleHR7Ym94LXNpemluZzpib3JkZXItYm94fVxyXG4vKiBzdGFydC0t5ryU56S66aG16Z2i5L2/55So55qE57uf5LiA5qC35byPLS1zdGFydCAqLy51LWRlbW97cGFkZGluZzoyNXB4IDIwcHh9LnUtZGVtby13cmFwe2JvcmRlci13aWR0aDoxcHg7Ym9yZGVyLWNvbG9yOiNkZGQ7Ym9yZGVyLXN0eWxlOmRhc2hlZDtiYWNrZ3JvdW5kLWNvbG9yOiNmYWZhZmE7cGFkZGluZzoyMHB4IDEwcHg7Ym9yZGVyLXJhZGl1czozcHh9LnUtZGVtby1hcmVhe3RleHQtYWxpZ246Y2VudGVyfS51LW5vLWRlbW8taGVyZXtjb2xvcjojOTA5Mzk5O2ZvbnQtc2l6ZToxM3B4fS51LWRlbW8tcmVzdWx0LWxpbmV7Ym9yZGVyLXdpZHRoOjFweDtib3JkZXItY29sb3I6I2RkZDtib3JkZXItc3R5bGU6ZGFzaGVkO3BhZGRpbmc6NXB4IDIwcHg7bWFyZ2luLXRvcDozMHB4O2JvcmRlci1yYWRpdXM6NXB4O2JhY2tncm91bmQtY29sb3I6I2YwZjBmMDtjb2xvcjojNjA2MjY2O2ZvbnQtc2l6ZToxNnB4O3dvcmQtYnJlYWs6YnJlYWstd29yZDtkaXNwbGF5OmlubGluZS1ibG9jazt0ZXh0LWFsaWduOmxlZnR9LnUtZGVtby10aXRsZSxcclxuLnUtY29uZmlnLXRpdGxle3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtc2l6ZToxNnB4O2ZvbnQtd2VpZ2h0OjcwMDttYXJnaW4tYm90dG9tOjIwcHh9LnUtY29uZmlnLWl0ZW17bWFyZ2luLXRvcDoyNXB4fS51LWNvbmZpZy10aXRsZXttYXJnaW4tdG9wOjIwcHg7cGFkZGluZy1ib3R0b206NXB4fS51LWl0ZW0tdGl0bGV7cG9zaXRpb246cmVsYXRpdmU7Zm9udC1zaXplOjE1cHg7cGFkZGluZy1sZWZ0OjhweDtsaW5lLWhlaWdodDoxO21hcmdpbi1ib3R0b206MTFweH0udS1pdGVtLXRpdGxlOmFmdGVye3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjRweDt0b3A6LTFweDtoZWlnaHQ6MTZweDtjb250ZW50OiIiO2xlZnQ6MDtib3JkZXItcmFkaXVzOjEwcHg7YmFja2dyb3VuZC1jb2xvcjojNjA2MjY2fVxyXG4vKiBlbmQtLea8lOekuumhtemdouS9v+eUqOeahOe7n+S4gOagt+W8jy0tZW5kICovLmljb257d2lkdGg6MWVtO2hlaWdodDoxZW07dmVydGljYWwtYWxpZ246LS4xNWVtO2ZpbGw6Y3VycmVudENvbG9yO292ZXJmbG93OmhpZGRlbn11bmktaW1hZ2V7d2lsbC1jaGFuZ2U6dHJhbnNmb3JtfUBmb250LWZhY2V7Zm9udC1mYW1pbHk6RGluO3NyYzp1cmwoJytnKyIpfUBmb250LWZhY2V7Zm9udC1mYW1pbHk6cHVodWk7c3JjOnVybCgiK2grIil9dW5pLXBhZ2UtYm9keSxcclxuYm9keSxcclxuaHRtbHtmb250LWZhbWlseTpEaW4scHVodWl9IiwiIl0pLGUuZXhwb3J0cz10fSwiOGNjZiI6ZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtuKCI2YTU0IiksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuZGVmYXVsdD12b2lkIDA7dmFyIGE9e3Y6IjEuOC40Iix2ZXJzaW9uOiIxLjguNCIsdHlwZTpbInByaW1hcnkiLCJzdWNjZXNzIiwiaW5mbyIsImVycm9yIiwid2FybmluZyJdfTt0LmRlZmF1bHQ9YX0sIjhkYTciOmZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7bigiNmE1NCIpO3ZhciBhPW4oImY1YmQiKS5kZWZhdWx0O09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LmRlZmF1bHQ9dm9pZCAwO3ZhciBvLHIsaSxzLGMsbCx1PWEobigiMzlkOCIpKSxkPXtuYXY6WyJIb21lIiwiTWFya2V0cyIsIlRyYWRlIiwiUGxlZGdlIiwiQXNzZXRzIl0sY29tbW9uOihvPXtDYW5jZWxsZWQ6IkNhbmNlbGxlZCIsc2VhcmNoOiJTZWFyY2giLGNvbmZpcm06Ik9LIixjYW5jZWw6IkNhbmNlbCIsc3VibWl0OiJTdWJtaXQiLGxvZ291dDoiRXhpdCIsYWxsOiJBbGwiLGVkaXQ6IkVkaXQiLGRlbGV0ZToiRGVsZXRlIixyZXNldDoiUmVzZXQiLGZpbHRlcjoiRmlsdGVyIixsb2dpbjoibG9naW4iLHJlZ2lzdGVyOiJSZWdpc3RlciIsZW1haWw6IkVtYWlsIixtb2JpbGU6Ik1vYmlsZSBwaG9uZSBudW1iZXIiLGFjY291bnQ6IlVzZXJuYW1lIixwYXNzd29yZDoiUGFzc3dvcmQiLHBhc3N3b3JkUGxhY2Vob2xkZXI6IlBsZWFzZSBlbnRlciB5b3VyIHBhc3N3b3JkIixub2FjY291bnQ6Ik5vIGFjY291bnQ/IixnbzoiZ28iLGZvcmdldFBhc3N3b3JkOiJGb3Jnb3QgUGFzc3dvcmQiLGNvbmZpcm1QYXNzd29yZDoiQ29uZmlybSBQYXNzd29yZCIsaW52aXRlY29kZToiSW52aXRhdGlvbiBDb2RlIixoYXNhY2NvdW50OiJBbHJlYWR5IGhhdmUgYW4gYWNjb3VudD8iLG1vYmlsZWNvZGVQbGFjZWhvbGRlcjoicGxlYXNlIGVudGVyIHZlcmlmaWNhdGlvbiBjb2RlIixlbWFpbGNvZGVQbGFjZWhvbGRlcjoicGxlYXNlIGVudGVyIHZlcmlmaWNhdGlvbiBjb2RlIixzZW5kOiJTZW5kIixzZWxlY3RBcmVhOiJBcmVhIHNlbGVjdGlvbiIsYXVkaXQ6IkF1ZGl0Iix1bmRlckF1ZGl0OiJVbmRlciByZXZpZXciLGF1ZGl0RmFpbHVyZToiQXVkaXQgZmFpbGVkIix1bnRpZToidW50aWUiLGJ1eToiYnV5IixzZWxsOiJzZWxsIixwbHNMb2dpbjoiUGxlYXNlIGxvZ2luIGZpcnN0IixwbHNJbnB1dFVzZXJuYW1lOiJQbGVhc2UgZW50ZXIgYW4gYWNjb3VudCIscGxzSW5wdXRSZVBhc3N3b3JkOiJQbGVhc2UgZW50ZXIgdGhlIGNvbmZpcm1hdGlvbiBwYXNzd29yZCIscGxzSW5wdXRJbnZpdGVDb2RlOiJQbGVhc2UgZW50ZXIgdGhlIGludml0YXRpb24gY29kZSIscGxzSW5wdXRDb2RlOiJQbGVhc2UgZW50ZXIgdGhlIHZlcmlmaWNhdGlvbiBjb2RlIixwbHNJbnB1dE1vYmlsZToiUGxlYXNlIGVudGVyIHRoZSBtb2JpbGUgcGhvbmUgbnVtYmVyIixwbHNJbnB1dEVtYWlsOiJQbGVhc2UgZW50ZXIgeW91ciBlbWFpbCIsbG9naW5fc3VjY2VzczoiTG9naW4gc3VjY2Vzc2Z1bCIsbG9naW5fZmFpbDoiTG9naW4gZmFpbGVkIixyZWdfc3VjY2VzczoiUmVnaXN0cmF0aW9uIHN1Y2NlZWRlZCIscmVnX2ZhaWw6IkxvZ2luIGZhaWxlZCIscHdkSW5jb25zaXN0ZW50OiJUaGUgdHdvIHBhc3N3b3JkcyBhcmUgaW5jb25zaXN0ZW50IixoaW50OiJoaW50Iixsb2FkaW5nOiJMb2FkaW5nIixzdWNjZXNzOiJTdWNjZXNzIixwbHNJbnB1dDoiUGxlYXNlIGlucHV0IixjbGljazoiY2xpY2siLHF1b3RhdGlvbjoiUXVvdGUifSwoMCx1LmRlZmF1bHQpKG8sImVkaXQiLCJFZGl0IiksKDAsdS5kZWZhdWx0KShvLCJzZWNvbmQiLCJzZWNvbmQiKSwoMCx1LmRlZmF1bHQpKG8sInNwZWNpYWxDaGFydCIsIk5vIHNwZWNpYWwgY2hhcmFjdGVycyBhbGxvd2VkIiksKDAsdS5kZWZhdWx0KShvLCJvcGVuIiwiT3BlbiBwcmljZSIpLCgwLHUuZGVmYXVsdCkobywiY2xvc2UiLCJDbG9zZSBwcmljZSIpLCgwLHUuZGVmYXVsdCkobywiaGlnaCIsIkhpZ2hlc3QgcHJpY2UiKSwoMCx1LmRlZmF1bHQpKG8sImxvdyIsImxvd2VzdCBwcmljZSIpLCgwLHUuZGVmYXVsdCkobywiY3VzdG9tZXJTZXJ2aWNlIiwiQ29udGFjdCBjdXN0b21lciBzZXJ2aWNlIiksKDAsdS5kZWZhdWx0KShvLCJyZW1lbWJlclBhc3N3b3JkIiwiUmVtZW1iZXIgcGFzc3dvcmQiKSwoMCx1LmRlZmF1bHQpKG8sIm5ld1Bhc3N3b3JkIiwiTmV3IHBhc3N3b3JkIiksKDAsdS5kZWZhdWx0KShvLCJwd2RNb3JlVGhlbjYiLCJUaGUgbGVuZ3RoIG9mIHRoZSBwYXNzd29yZCBzaG91bGQgYmUgZ3JlYXRlciB0aGFuIHNpeCBkaWdpdHMiKSwoMCx1LmRlZmF1bHQpKG8sImNvZGVMZW5ndGg2IiwiVGhlIGxlbmd0aCBvZiB0aGUgdmVyaWZpY2F0aW9uIGNvZGUgc2hvdWxkIGJlIHNpeCBkaWdpdHMiKSwoMCx1LmRlZmF1bHQpKG8sInJlUHdkTW9yZVRoZW42IiwiVGhlIGxlbmd0aCBvZiB0aGUgY29uZmlybWF0aW9uIHBhc3N3b3JkIHNob3VsZCBiZSBncmVhdGVyIHRoYW4gc2l4IGRpZ2l0cyIpLCgwLHUuZGVmYXVsdCkobywicGxzIiwicGxlYXNlIiksKDAsdS5kZWZhdWx0KShvLCJzYXZlU3VjY2VzcyIsIlNhdmVkIHRvIHN5c3RlbSBhbGJ1bSIpLCgwLHUuZGVmYXVsdCkobywibmV4dFN0ZXAiLCJOZXh0IiksKDAsdS5kZWZhdWx0KShvLCJsb2ciLCJSZWNvcmQiKSwoMCx1LmRlZmF1bHQpKG8sInBhcmFtc1dyb25nIiwiUGFyYW1ldGVyIGVycm9yIiksKDAsdS5kZWZhdWx0KShvLCJmdW5jdGlvbkxvYWRpbmciLCJGdW5jdGlvbiBpbiBkZXZlbG9wbWVudCIpLCgwLHUuZGVmYXVsdCkobywiRElHSUNDWSIsIkRpZ2l0YWwgQ3VycmVuY3kiKSwoMCx1LmRlZmF1bHQpKG8sInF1aWNrbHkiLCJxdWljayIpLCgwLHUuZGVmYXVsdCkobywibW9yZSIsIm1vcmUiKSwoMCx1LmRlZmF1bHQpKG8sImhhc05vRGF0YSIsIk5vIG1vcmUgZGF0YSIpLCgwLHUuZGVmYXVsdCkobywiYXVkaW9FcnJvciIsIkF1ZGlvIGZpbGUgZXJyb3IiKSwoMCx1LmRlZmF1bHQpKG8sInRvTG9uZyIsIkNoYXJhY3RlciB0b28gbG9uZyIpLCgwLHUuZGVmYXVsdCkobywic2VsZWN0TGFuZyIsIlNlbGVjdCBsYW5ndWFnZSIpLCgwLHUuZGVmYXVsdCkobywicm5hbWVwYXNzIiwiUmVhbC1uYW1lIGF1dGhlbnRpY2F0aW9uIGhhcyBwYXNzZWQiKSxvKSxob21lOihyPXtjb250YWN0VXM6IkNvbnRhY3QgVXMiLGJvcnJvd2luZzoiQm9ycm93aW5nIixib3Jyb3dpbmdfZW50cnk6ImxvYW4gZW50cnkiLHJlcGF5bWVudF9lbnRyeToibG9hbiByZXBheW1lbnQgZW50cnkiLHRpdGxlOiJXb29DbG91ZCIsdG90YWxBc3NldHNFcXVpdmFsZW5nOiJUb3RhbCBhc3NldHMgZXF1aXZhbGVudCIscmVjaGFyZ2U6IkRlcG9zaXQiLHdpdGhkcmF3OiJXaXRoZHJhdyIsc3RvY2s6InN0b2NrIixmdXR1cmVzOiJDb250cmFjdCIsY29weXRyYWRlOiJDb3B5IixmaW5hbmNpYWw6ImZpbmFuY2lhbCBtYW5hZ2VtZW50IixtYXJnaW46IlN1cGVyIExldmVyYWdlIixvdGM6Ik9UQyIsY291cG9uOiJDb3Vwb24gQ2VudGVyIixiaWxsczoiQmlsbHMiLGV4Y2hhbmdlOiJFeGNoYW5nZSIsbWluaW5nOiJsb2NrIHVwIHRvIGVhcm4gY29pbnMiLGdhbWU6Im1pbmkgZ2FtZSIsY2hhdHJvb206ImNoYXQgcm9vbSIscXVpY2tseUJ1eUNvaW5zOiJRdWljayBEZXBvc2l0IixkZWZpTWluaW5nOiJEZUZpIE1pbmluZyIsY2xvdWRNaW5pbmc6IkNsb3VkIE1pbmVyIn0sKDAsdS5kZWZhdWx0KShyLCJzdG9jayIsInN0b2NrIiksKDAsdS5kZWZhdWx0KShyLCJzdG9ja19pbmZvIiwiTm8gbmVlZCB0byBvcGVuIGEgcG9zaXRpb24sIGhvbGQgYSBwb3NpdGlvbiBpbW1lZGlhdGVseSIpLCgwLHUuZGVmYXVsdCkociwibG9ja21pbmciLCJQbGVkZ2UiKSwoMCx1LmRlZmF1bHQpKHIsInRyYW5zZmVyIiwiVHJhbnNmZXIiKSwoMCx1LmRlZmF1bHQpKHIsImllbyIsIklFTyIpLCgwLHUuZGVmYXVsdCkociwic2Vjb25kcyIsIk9wdGlvbnMiKSwoMCx1LmRlZmF1bHQpKHIsImRheSIsImRheSIpLCgwLHUuZGVmYXVsdCkociwibWluaW11bSIsInN0YXJ0IiksKDAsdS5kZWZhdWx0KShyLCJkYWlseVJldHVyblJhdGUiLCJEYWlseSByYXRlIG9mIHJldHVybiIpLCgwLHUuZGVmYXVsdCkociwibW9yZSIsIm1vcmUiKSwoMCx1LmRlZmF1bHQpKHIsIm1hcmtldCIsIlF1b3RlIiksKDAsdS5kZWZhdWx0KShyLCJ0cmFkaW5nUGFpciIsIlRyYWRpbmcgcGFpciIpLCgwLHUuZGVmYXVsdCkociwibGFzdFByaWNlIiwiTGF0ZXN0IHByaWNlIiksKDAsdS5kZWZhdWx0KShyLCJ0b2RheUNoYW5nZSIsIlRvZGF5IGNoYW5nZSIpLCgwLHUuZGVmYXVsdCkociwidHJhbnNhY3Rpb24iLCJUcmFuc2FjdGlvbiIpLCgwLHUuZGVmYXVsdCkociwibmZ0IiwiTkZUIiksKDAsdS5kZWZhdWx0KShyLCJpbnZlc3QiLCJJbnZlc3RtZW50IiksKDAsdS5kZWZhdWx0KShyLCJkb3dubG9hZCIsIkRvd25sb2FkIiksKDAsdS5kZWZhdWx0KShyLCJhcHBfdGV4dCIsIkFueXRpbWUsIGFueXdoZXJlLCBvbmxpbmUgdHJhbnNhY3Rpb24iKSwoMCx1LmRlZmF1bHQpKHIsImpfanJoZ3pzIiwiRmluYW5jaWFsIENvbXBsaWFuY2UgQ2VydGlmaWNhdGUiKSwoMCx1LmRlZmF1bHQpKHIsImJ6X0NvbnRlbiIsIkhlbHAgQ2VudGVyIiksciksc2V0dGluZzp7dGVhbToiVGVhbSIsdGVhbTE6IlRlYW0gc2l6ZSIsdGVhbTI6IlBlb3BsZSIsdGVhbTM6IkN1cnJlbnQgcG9zaXRpdmUgYmFsYW5jZSIsdGVhbTQ6IkN1bXVsYXRpdmUgcmV3YXJkIChwb3NpdGl2ZSkiLHRlYW01OiJDdW11bGF0aXZlIHJld2FyZCAodXNkdCkiLHRlYW02OiJleGNoYW5nZSIsdGVhbTc6IkV4Y2hhbmdlIHBhc3MiLHRlYW04OiJUb25nemhlbmcgcmV3YXJkIHJlY29yZCIsdGVhbTk6IlVzZHQgcmV3YXJkIHJlY29yZCIsdGVhbTEwOiJTaGFyZSBsaW5rIix0ZWFtMTE6IlN1Ym9yZGluYXRlIHBlcnNvbm5lbCAoTGV2ZWwgMSkiLHRlYW0xMjoiU3Vib3JkaW5hdGUgcGVyc29ubmVsIChMZXZlbCAyKSIsdGVhbTEzOiJTdWJvcmRpbmF0ZSBwZXJzb25uZWwgKExldmVsIDMpIix0ZWFtMTQ6IlVzZXIgbmFtZSIsdGVhbTE1OiJQbGVkZ2UgYmFsYW5jZSIsdGVhbTE2OiJJbnZpdGF0aW9uIHRpbWUiLHRlYW0xNzoiVG9uZ3poZW5nIGV4Y2hhbmdlIix0ZWFtMTg6IlBvc2l0aXZlIHF1YW50aXR5Iix0ZWFtMTk6IkNvbnZlcnRpYmxlIHVzZHQgcXVhbnRpdHkiLHRlYW0yMDoiV2hvbGUiLHRlYW0yMToiQXZhaWxhYmxlIHRva2VucyIsdGVhbTIyOiJTdWJzY3JpcHRpb24gcmF0aW8iLHRlYW0yMzoiU2VydmljZSBDaGFyZ2UiLHRlYW0yNDoiQ29uZmlybSBleGNoYW5nZSIsdGVhbTI1OiJRdWVyeSIsdGVhbTI2OiJUb2tlbiByZXdhcmQgcmVjb3JkIix0ZWFtMjc6IlBsZWFzZSBlbnRlciB0aGUgZXhjaGFuZ2UgcXVhbnRpdHkiLHRlYW0yODoiUmVhbCBuYW1lIGNlcnRpZmljYXRpb24gQXdhcmQiLHRlYW0yOToiVHJhbnNhY3Rpb24gZmVlIix0ZWFtMzA6IlN0dWRpbyBBd2FyZHMiLHRlYW0zMToiTWluaW5nIHJlYmF0ZSIsdGVhbTMyOiJUb2tlbiByZXdhcmQoLSkiLHRlYW0zMzoiRGlnaXRhbCBjdXJyZW5jeSByZXdhcmRzIix0ZWFtMzQ6IkNhbmNlbCIsdGVhbTM1OiJDb25maXJtIix5OiJZZWFyIixtOiJNb250aCIsZDoiRGF5IixoOiJXaGVuIixmOiJQb2ludHMiLHM6IlNlY29uZHMiLG15X3FyY29kZToiTXkgUVIgY29kZSIsbWluZToiTWluZSIsaW52aXRlRGVzYzoiSW52aXRlIGZyaWVuZHMsIHJlYmF0ZSB0b2dldGhlciIsaW52aXRlRGVzYzI6IkVuam95IHJlYmF0ZXMgd2l0aCBmcmllbmRzIixpbnZpdGVOdW1iZXI6Ik51bWJlciBvZiBpbnZpdGVzIixpbnZpdGVUcmFuc051bWJlcjoiTnVtYmVyIG9mIHBlb3BsZSB3aG8gaGF2ZSB0cmFkZWQiLG15UmViYXRlOiJNeSByZWJhdGUiLGJpbGw6IkJpbGwiLHdhbGxldDoiV2FsbGV0IGFkZHJlc3MiLGJhbmtzOiJCYW5rIENhcmQgQmluZGluZyIsYmFua3NJbnRlcm5hdGlvbmFsOiJCYW5rIENhcmQgQmluZGluZyAtIEludGVybmF0aW9uYWwiLGFkZEJhbms6IkFkZCBiYW5rIGNhcmQiLHNlY3VyaXR5U2V0dGluZ3M6IlNlY3VyaXR5IFNldHRpbmdzIixjb3Vwb246IkNvdXBvbiBDZW50ZXIiLHN5c3RlbU5vdGlmaWNhdGlvbjoiU3lzdGVtIE5vdGlmaWNhdGlvbiIsZGVmYXVsdEZpYXRDdXJyZW5jeToiRGVmYXVsdCBGaWF0IEN1cnJlbmN5IixsYW5ndWFnZToibGFuZ3VhZ2UiLGZhcToiRnJlcXVlbnRseSBBc2tlZCBRdWVzdGlvbnMiLG9wZXJhdGlvbmFsQ29tcGxpYW5jZToiT3BlcmF0aW9uYWwgQ29tcGxpYW5jZSIsc2hhcmU6IlNoYXJlIixjb250YWN0VXM6IkNvbnRhY3QgVXMiLGFib3V0VXM6IkFib3V0IFVzIixhdmF0YXI6IkF2YXRhciIsbmlja25hbWU6Ik5pY2tuYW1lIixzaWduYXR1cmU6InBlcnNvbmFsIHNpZ25hdHVyZSIsZ3J4eDoiUGVyc29uYWwgaW5mb3JtYXRpb24iLGdyeHhPcHRpb25zOntuaWNrbmFtZTp7dGl0bGU6Ik5pY2tuYW1lIixwbGFjZWhvbGRlcjoiUGxlYXNlIGVudGVyIGEgbmlja25hbWUiLGRlc2M6IjItMTAgY2hhcmFjdGVycywgc3VwcG9ydCBDaGluZXNlIGFuZCBFbmdsaXNoLCBudW1iZXJzIn0sc2lnbmF0dXJlOnt0aXRsZToicGVyc29uYWwgc2lnbmF0dXJlIixwbGFjZWhvbGRlcjoiUGxlYXNlIGVudGVyIGEgcGVyc29uYWxpemVkIHNpZ25hdHVyZSIsZGVzYzoiMi0zMCBjaGFyYWN0ZXJzLCBzdXBwb3J0IENoaW5lc2UgYW5kIEVuZ2xpc2gsIG51bWJlcnMifX0seHh0eDoiVXBsb2FkIEF2YXRhciIscGhvdG9ncmFwaDoidGFrZSBhIHBpY3R1cmUiLHNlbGVjdEZyb21BbGJ1bToiU2VsZWN0IGZyb20gYWxidW0iLGFxc3o6IlNlY3VyaXR5IFNldHRpbmdzIixlZGl0TG9naW5QYXNzd29yZDoiTW9kaWZ5IGxvZ2luIHBhc3N3b3JkIixzZXRQYXlQYXNzd29yZDoiU2V0IHBheW1lbnQgcGFzc3dvcmQiLGVkaXRQYXlQYXNzd29yZDoiTW9kaWZ5IHBheW1lbnQgcGFzc3dvcmQiLGJpbmRQaG9uZToiQmluZCBwaG9uZSIsZW1haWw6IkVtYWlsIixzdGF5TG9naW46InN0YXkgbG9nZ2VkIGluIix4Z2RsbW06Ik1vZGlmeSBsb2dpbiBwYXNzd29yZCIsY3VycmVudFBhc3N3b3JkOiJjdXJyZW50IGxvZ2luIHBhc3N3b3JkIixjdXJyZW50UGFzc3dvcmRQbGFjZWhvbGRlcjoiUGxlYXNlIGVudGVyIHRoZSBjdXJyZW50IGxvZ2luIHBhc3N3b3JkIixuZXdQYXNzd29yZDoiTmV3IGxvZ2luIHBhc3N3b3JkIixuZXdQYXNzd29yZFBsYWNlaG9sZGVyOiJQbGVhc2UgZW50ZXIgYSBuZXcgbG9naW4gcGFzc3dvcmQiLGNvbmZpcm1OZXdQYXNzd29yZDoiQ29uZmlybSBuZXcgcGFzc3dvcmQiLGNvbmZpcm1OZXdQYXNzd29yZFBsYWNlaG9sZGVyOiJQbGVhc2UgZW50ZXIgYSBuZXcgcGFzc3dvcmQgdG8gY29uZmlybSIsY3VycmVudFBheVBhc3N3b3JkOiJDdXJyZW50IFBheW1lbnQgUGFzc3dvcmQiLGN1cnJlbnRQYXlQYXNzd29yZFBsYWNlaG9sZGVyOiJQbGVhc2UgZW50ZXIgdGhlIGN1cnJlbnQgcGF5bWVudCBwYXNzd29yZCIsbmV3UGF5UGFzc3dvcmQ6Ik5ldyBQYXltZW50IFBhc3N3b3JkIixuZXdQYXlQYXNzd29yZFBsYWNlaG9sZGVyOiJQbGVhc2UgZW50ZXIgYSBuZXcgcGF5bWVudCBwYXNzd29yZCIsY29uZmlybU5ld1BheVBhc3N3b3JkOiJDb25maXJtIG5ldyBwYXltZW50IHBhc3N3b3JkIixjb25maXJtTmV3UGF5UGFzc3dvcmRQbGFjZWhvbGRlcjoiUGxlYXNlIGVudGVyIHRoZSBjb25maXJtYXRpb24gbmV3IHBheW1lbnQgcGFzc3dvcmQiLHBob25lVmVyaWZpY2F0aW9uQ29kZToiUGhvbmUgdmVyaWZpY2F0aW9uIGNvZGUiLGVkaXRQaG9uZVZlcmlmaWNhdGlvbkNvZGU6IlBsZWFzZSBlbnRlciB0aGUgcGhvbmUgdmVyaWZpY2F0aW9uIGNvZGUiLGdldFZlcmlmaWNhdGlvbkNvZGU6IlNlbmQiLGxjdHlxOiJGaW5hbmNpYWwgTWFuYWdlbWVudCBFeHBlcmllbmNlIFZvdWNoZXIiLGV4cGlyZWQ6IkV4cGlyZWQiLGV4cGlyZWRUaW1lOiJFeHBpcmF0aW9uIERhdGUiLHVzZUltbWVkaWF0ZWx5OiJVc2UgSW1tZWRpYXRlbHkiLGFkZE5ld0FjY291bnQ6IkFkZCBhIG5ldyBhY2NvdW50Iix0b3RheUluY29tZToiQ29sbGVjdGlvbiB0b2RheSIsdG90YWxJbmNvbWU6IkFjY3VtdWxhdGVkIHJlY2VpcHRzIixzZWxlY3RMYW5nOiJQbGVhc2Ugc2VsZWN0IGxhbmd1YWdlIixzZWxlY3RDb2luVHlwZToiUGxlYXNlIHNlbGVjdCBhIGN1cnJlbmN5IixhdXRoZW50aWNhdGlvbjoiQXV0aGVudGljYXRpb24iLGF1dGhlbnRpY2F0aW9uMToiQmFzaWMgYXV0aGVudGljYXRpb24iLGF1dGhlbnRpY2F0aW9uMjoiQWR2YW5jZWQgQXV0aGVudGljYXRpb24iLGF1dGhlbnRpY2F0aW9uX3RleHRfMToiUGVyc29uYWwgaWRlbnRpdHkgYXV0aGVudGljYXRpb24iLGF1dGhlbnRpY2F0aW9uX3RleHRfMjoiUGVybWlzc2lvbnMgYXZhaWxhYmxlIGFmdGVyIGF1dGhlbnRpY2F0aW9uOiIsYXV0aGVudGljYXRpb25fdGV4dF8zOiJMdjEuQmFzaWMgQXV0aGVudGljYXRpb24iLGF1dGhlbnRpY2F0aW9uX3RleHRfNDoiSXQgY2FuIGJlIHJlZmxlY3RlZCBhZnRlciBhdXRoZW50aWNhdGlvbiwgdGhlIDI0LWhvdXIgbGltaXQgaXMgMjAwQlRDIixhdXRoZW50aWNhdGlvbl90ZXh0XzU6IkFmdGVyIGF1dGhlbnRpY2F0aW9uLCBmaWF0IGN1cnJlbmN5IHRyYW5zYWN0aW9ucyBjYW4gYmUgcGVyZm9ybWVkLCB3aXRoIGEgc2luZ2xlIGxpbWl0IG9mIDIwMDBVU0RUIixhdXRoZW50aWNhdGlvbl90ZXh0XzY6Ikx2Mi4gQWR2YW5jZWQgQXV0aGVudGljYXRpb24iLGF1dGhlbnRpY2F0aW9uX3RleHRfNzoiSW5jcmVhc2UgdGhlIGNyZWRpdCBsaW1pdCwgdGhlIDI0LWhvdXIgbGltaXQgaXMgNTAwQlRDIixhdXRoZW50aWNhdGlvbl90ZXh0Xzg6IkluY3JlYXNlIHRoZSBmaWF0IGN1cnJlbmN5IHRyYW5zYWN0aW9uIGxpbWl0LCBhIHNpbmdsZSBsaW1pdCBvZiAxMDAwMDAwVVNEVCIsYXV0aGVudGljYXRpb25fdGV4dF85OiJSZW1pbmRlcjogSW4gb3JkZXIgdG8gcHJvdGVjdCB0aGUgc2VjdXJpdHkgb2YgdXNlciBmdW5kcywgcGxlYXNlIGNvbXBsZXRlIHRoZSBiaW5kaW5nIG9mIGVtYWlsIGFuZCBwaG9uZSBmaXJzdCwgb3RoZXJ3aXNlIHlvdXIgYXV0aGVudGljYXRpb24gd2lsbCBmYWlsLiAiLGdvQXVkaXQ6IkdvIHRvIGF1dGhlbnRpY2F0aW9uIixub2F1ZGl0OiJOb3QgYXV0aGVudGljYXRlZCIsYXVkaXRpbmc6IkF1dGhlbnRpY2F0aW5nIixoYXNhdWRpdDoiQXV0aGVudGljYXRlZCIsZXJyb3JhdWRpdDoiQXV0aGVudGljYXRpb24gZmFpbGVkIixpZFR5cGU6IklEIFR5cGUiLGlkQ2FyZDoiSUQgQ2FyZCIscGFzc3BvcnQ6IlBhc3Nwb3J0Iixkcml2ZXJMaWNlbnNlOiJEcml2ZXIgTGljZW5zZSIsbmFtZToibmFtZSIsaWRjYXJkOiJJRCBudW1iZXIiLHBsc0lwdE5hbWU6IlBsZWFzZSBlbnRlciBhIG5hbWUiLHBsc0lwdENvcnJlY3RJZGNhcmQ6IlBsZWFzZSBlbnRlciB0aGUgY29ycmVjdCBJRCBudW1iZXIiLHVwbG9hZElkY2FyZEZyb250OiJVcGxvYWQgSUQgY2FyZCBmcm9udCIsdXBsb2FkSWRjYXJkUmV2ZXJzZToiVXBsb2FkIHRoZSBiYWNrIG9mIHRoZSBJRCBjYXJkIixlbWFpbFZlcmlmaWNhdGlvbkNvZGU6IkVtYWlsIFZlcmlmaWNhdGlvbiBDb2RlIixwbHNpcHRFbWFpbENvZGU6IlBsZWFzZSBlbnRlciB0aGUgZW1haWwgdmVyaWZpY2F0aW9uIGNvZGUiLGFkZFdhbGxldDoiQWRkIHdhbGxldCBhZGRyZXNzIixzZWxlY3RDdXJyZW5jeToiU2VsZWN0IGN1cnJlbmN5IixVU0RUX1hJRVlJOiJDaGFpbiBUeXBlIixQTFNfVVNEVF9YSUVZSToiUGxlYXNlIHNlbGVjdCBjaGFpbiB0eXBlIixwbHNTZWxlY3RDdXJyZW5jeToiUGxlYXNlIHNlbGVjdCBhIGN1cnJlbmN5IixwbHNJcHRBZGRyZXNzOiJQbGVhc2UgZW50ZXIgdGhlIHdhbGxldCBhZGRyZXNzIix3YWxsZXRBZGRyZXNzOiJ3YWxsZXQgYWRkcmVzcyIsd2FsbGV0UXJjb2RlOiJXYWxsZXQgUVIgY29kZSIscGxzSXB0V2FsbGV0QWRkcmVzczoiUGxlYXNlIGVudGVyIHRoZSB3YWxsZXQgYWRkcmVzcyIscGxzVXBsb2FkV2FsbGV0UXJjb2RlOiJQbGVhc2UgdXBsb2FkIHRoZSB3YWxsZXQgUVIgY29kZSIsY29uZmlybUxvZ291dDoiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGxvZyBvdXQ/ICIsbm9uaWNrbmFtZToiUGxlYXNlIHNldCBhIG5pY2tuYW1lIixwbHNJbnB1dE1vYmlsZToiUGxlYXNlIGVudGVyIHRoZSBtb2JpbGUgcGhvbmUgbnVtYmVyIixhbGlwYXlfYWNjb3VudDoiQUJBIG51bWJlciIscmVhbF9uYW1lOiJyZWFsIG5hbWUiLGJhbmtfYWNjb3VudDoiYmFuayBjYXJkIG51bWJlciIsYmFua19kaXpoaToiYmFuayBhZGRyZXNzIixiYW5rX25hbWU6ImFjY291bnQgb3BlbmluZyBiYW5rIixiYW5rX25ldHdvcms6ImJhbmsgbmV0d29yayIsc3dpZnRfY29kZToiU3dpZnQiLHBob25lOiJQaG9uZSIsd2VjaGF0X2FjY291bnQ6ImNhcmRob2xkZXIgYWRkcmVzcyIsd2VjaGF0X25pY2tuYW1lOiJTV0lGVCBjb2RlIixhbGxOZWVkOiJBbGwgYXJlIHJlcXVpcmVkIixwaG9uZU51bWJlcjoiY2VsbC1waG9uZSBudW1iZXIiLGNvZGU6IlZlcmlmaWNhdGlvbiBDb2RlIixzZW5kQ29kZToiU2VuZCB2ZXJpZmljYXRpb24gY29kZSIscGxzSXB0Q29kZToiUGxlYXNlIGVudGVyIHRoZSB2ZXJpZmljYXRpb24gY29kZSIsc2NvcmU6IlNjb3JlIn0sdHJhbnNhY3Rpb246KGk9e2FjdHVhbFBMOiJBY3R1YWwgUEwiLGZhdm9yaXRlczoiT3B0aW9uYWwiLGZ1dHVyZXM6IkNvbnRyYWN0Iixjb2luczoiU3BvdCIsc3RvY2s6InN0b2NrIix0cmFkaW5nUGFpcjoiVHJhZGluZyBwYWlyIixsYXN0UHJpY2U6IkxhdGVzdCBwcmljZSIsdG9kYXlDaGFuZ2U6IlRvZGF5IGNoYW5nZSIsc2VhcmNoUGxhY2Vob2xkZXI6IlNlYXJjaCBmb3IgdGhlIGN1cnJlbmN5L3N0b2NrIG5hbWUvc3ltYm9sIHlvdSBjYXJlIGFib3V0Iixob3RTZWFyY2g6IkhvdCBTZWFyY2giLHJlY2VudFZpZXc6IlJlY2VudGx5IHZpZXdlZCIsZGF5SGlnaDoiVG9kYXkncyBIaWdoIixkYXlMb3c6IlRvZGF5J3MgbG93IixvcHRpb25hbDoib3B0aW9uYWwiLGJ1eToiQnV5IixzZWxsOiJTZWxsIixlbnRydXN0UGVuZGluZ09yZGVyOiJFbnRydXN0IHBlbmRpbmcgb3JkZXIiLGFkZE9wdGlvbmFsU3VjY2VzczoiQWRkIG9wdGlvbmFsIHN1Y2Nlc3MiLGRlbE9wdGlvbmFsU3VjY2VzczoiRGVsZXRlIG9wdGlvbmFsIHN1Y2Nlc3MiLHNlY29uZHM6Ik9wdGlvbnMiLGhvbWU6IkhvbWUiLG9yZGVyQ29uZmlybToiT3JkZXIgQ29uZmlybWF0aW9uIixjdXJyZW50UHJpY2U6IkN1cnJlbnQgcHJpY2UiLGRpcmVjdGlvbjoiRGlyZWN0aW9uIixzZWxlY3RUaW1lOiJTZWxlY3QgZXhwaXJhdGlvbiB0aW1lIixudW1iZXI6Ik51bWJlciIsYmFsYW5jZToiYWNjb3VudCBiYWxhbmNlIixwbHNJcHRDcnROdW1iZXI6IlBsZWFzZSBlbnRlciB0aGUgY29ycmVjdCBudW1iZXIiLGJ1eVByaWNlOiJidXkgcHJpY2UiLGV4cGVjdGVkUEw6IkV4cGVjdGVkIHByb2ZpdCBhbmQgbG9zcyIsY29udGludWVUcmFkZToiQ29udGludWUgdG8gdHJhZGUiLHNlY29uZHNQb3NpdGlvbjoiT3B0aW9uIHBvc2l0aW9uIixwb3NpdGlvbjoiaG9sZGluZyIsaGlzdG9yeToiSGlzdG9yeSIsb3JkZXJUaW1lczoiT3JkZXIgZHVyYXRpb24iLHBsOiJwcm9maXQgYW5kIGxvc3MiLHNlbGxUaW1lOiJTZWxsIFRpbWUiLGJ1eXRpbWU6IkVudGVyaW5nIFRpbWUiLGVuZFByaWNlOiJDb25ncmF0dWxhdGlvbnMifSwoMCx1LmRlZmF1bHQpKGksImJ1eSIsIkJ1eSIpLCgwLHUuZGVmYXVsdCkoaSwic2VsbCIsIlNlbGwiKSwoMCx1LmRlZmF1bHQpKGksInByaWNlIiwicHJpY2UiKSwoMCx1LmRlZmF1bHQpKGksInRpbWUiLCJ0aW1lIiksKDAsdS5kZWZhdWx0KShpLCJvcHRpb25hbCIsIm9wdGlvbmFsIiksKDAsdS5kZWZhdWx0KShpLCJidXkiLCJCdXkiKSwoMCx1LmRlZmF1bHQpKGksInNlbGwiLCJTZWxsIiksKDAsdS5kZWZhdWx0KShpLCJsb25nIiwibG9uZyIpLCgwLHUuZGVmYXVsdCkoaSwibWFya2V0IiwiTWFya2V0IiksKDAsdS5kZWZhdWx0KShpLCJzaG9ydCIsInNob3J0IiksKDAsdS5kZWZhdWx0KShpLCJlbnRydXN0UGVuZGluZ09yZGVyIiwiRW50cnVzdCBwZW5kaW5nIG9yZGVyIiksKDAsdS5kZWZhdWx0KShpLCJhZGRPcHRpb25hbFN1Y2Nlc3MiLCJBZGQgb3B0aW9uYWwgc3VjY2VzcyIpLCgwLHUuZGVmYXVsdCkoaSwiZGVsT3B0aW9uYWxTdWNjZXNzIiwiRGVsZXRlIG9wdGlvbmFsIHN1Y2Nlc3MiKSwoMCx1LmRlZmF1bHQpKGksInByaWNlIiwicHJpY2UiKSwoMCx1LmRlZmF1bHQpKGksImFtb3VudCIsIkFtb3VudCIpLCgwLHUuZGVmYXVsdCkoaSwibWFya2V0UHJpY2UiLCJNYXJrZXQgUHJpY2UiKSwoMCx1LmRlZmF1bHQpKGksImxpbWl0UHJpY2UiLCJMaW1pdCBQcmljZSIpLCgwLHUuZGVmYXVsdCkoaSwibnVtYmVyIiwiQW1vdW50IiksKDAsdS5kZWZhdWx0KShpLCJtYXJnaW4iLCJNYXJnaW4iKSwoMCx1LmRlZmF1bHQpKGksImhhbmRsaW5nRmVlIiwiaGFuZGxpbmcgZmVlIiksKDAsdS5kZWZhdWx0KShpLCJiYWxhbmNlIiwiQmFsYW5jZSIpLCgwLHUuZGVmYXVsdCkoaSwibXVsdGlwbGUiLCJNdWx0aXBsZSIpLCgwLHUuZGVmYXVsdCkoaSwicmVjaGFyZ2UiLCJyZWNoYXJnZSIpLCgwLHUuZGVmYXVsdCkoaSwicGxzSXB0Q29tbWlzc2lvblByaWNlIiwiUGxlYXNlIGVudGVyIHRoZSBjb21taXNzaW9uIHByaWNlIiksKDAsdS5kZWZhdWx0KShpLCJ0cmFkaW5nUGFpciIsIlRyYWRpbmcgUGFpciIpLCgwLHUuZGVmYXVsdCkoaSwiZGlyZWN0aW9uIiwiRGlyZWN0aW9uIiksKDAsdS5kZWZhdWx0KShpLCJwbHNJcHRDcnRQcmljZSIsIlBsZWFzZSBlbnRlciB0aGUgY29ycmVjdCBwcmljZSIpLCgwLHUuZGVmYXVsdCkoaSwicG9zaXRpb24iLCJQb3NpdGlvbiIpLCgwLHUuZGVmYXVsdCkoaSwidGltZSIsInRpbWUiKSwoMCx1LmRlZmF1bHQpKGksInR1cm5vdmVyIiwidHJhbnNhY3Rpb24gdm9sdW1lIiksKDAsdS5kZWZhdWx0KShpLCJvcGVyYXRpb24iLCJPcGVyYXRpb24iKSwoMCx1LmRlZmF1bHQpKGksInR5cGUiLCJUeXBlIiksKDAsdS5kZWZhdWx0KShpLCJjb3ZlciIsIkNsb3NlIHBvc2l0aW9uIiksKDAsdS5kZWZhdWx0KShpLCJjb25maXJtQ292ZXIiLCJDb25maXJtIHRvIGNsb3NlIHRoZSBwb3NpdGlvbj8gIiksKDAsdS5kZWZhdWx0KShpLCJjb25maXJtU2VsZkhvbGQiLCJBcmUgeW91IHN1cmUgdG8gc3dpdGNoIHRvIHNlbGYtc3VzdGFpbmluZz8gIiksKDAsdS5kZWZhdWx0KShpLCJzZWxmSG9sZGluZyIsInNlbGYtaG9sZGluZyIpLCgwLHUuZGVmYXVsdCkoaSwidHJhbnNTZWxmSG9sZCIsIlR1cm4gc2VsZi1zdXN0YWluaW5nIiksKDAsdS5kZWZhdWx0KShpLCJkZWxlZ2F0ZUxpc3QiLCJEZWxlZ2F0ZSBMaXN0IiksKDAsdS5kZWZhdWx0KShpLCJyaXNrUmF0ZSIsIlJpc2sgUmF0ZSIpLCgwLHUuZGVmYXVsdCkoaSwidG90YWxQYW5kTCIsIlRvdGFsIHByb2ZpdCBvZiB0aGUgcG9zaXRpb24iKSwoMCx1LmRlZmF1bHQpKGksIm9uZUNsaWNrQ292ZXIiLCJPbmUtY2xpY2sgY2xvc2UgcG9zaXRpb24iKSwoMCx1LmRlZmF1bHQpKGksIm9wZW4iLCJPcGVuIHBvc2l0aW9uIHByaWNlIiksKDAsdS5kZWZhdWx0KShpLCJ0YXJnZXRQcm9maXRQcmljZSIsIlRha2UgUHJvZml0IFByaWNlIiksKDAsdS5kZWZhdWx0KShpLCJ1cGRhdGVQcmljZSIsIkN1cnJlbnQgUHJpY2UiKSwoMCx1LmRlZmF1bHQpKGksInN0b3BMb3NzUHJpY2UiLCJTdG9wIExvc3MgUHJpY2UiKSwoMCx1LmRlZmF1bHQpKGksIm92ZXJuaWdodE1vbmV5IiwiT3Zlcm5pZ2h0IEZlZSIpLCgwLHUuZGVmYXVsdCkoaSwib3BlblRpbWUiLCJPcGVuIHRpbWUiKSwoMCx1LmRlZmF1bHQpKGksImxvdHMiLCJoYW5kIiksKDAsdS5kZWZhdWx0KShpLCJzZXRQcm9maXRMb3NzIiwiU2V0IFRha2UgUHJvZml0IGFuZCBTdG9wIExvc3MiKSwoMCx1LmRlZmF1bHQpKGksImV4cGVjdGVkUHJvZml0IiwiRXhwZWN0ZWQgUHJvZml0IiksKDAsdS5kZWZhdWx0KShpLCJleHBlY3RlZExvc3MiLCJFeHBlY3RlZCBsb3NzIiksKDAsdS5kZWZhdWx0KShpLCJjb3ZlckFsbCIsIkNsb3NlIGFsbCBwb3NpdGlvbnMiKSwoMCx1LmRlZmF1bHQpKGksIm9ubHlDb3Zlck1hbnkiLCJPbmx5IGNvdmVyIGxvbmcgb3JkZXJzIiksKDAsdS5kZWZhdWx0KShpLCJvbmx5Q292ZXJFbXB0eSIsIk9ubHkgY292ZXIgZW1wdHkgb3JkZXJzIiksKDAsdS5kZWZhdWx0KShpLCJudW1iZXJzIiwiQW1vdW50IiksKDAsdS5kZWZhdWx0KShpLCJjb2luQnV5UHJpY2UiLCJUcmFkZSBhdCB0aGUgY3VycmVudCBiZXN0IHByaWNlIiksKDAsdS5kZWZhdWx0KShpLCJqaW5lIiwiYW1vdW50IiksKDAsdS5kZWZhdWx0KShpLCJwX2ppbmUiLCJQbGVhc2UgZW50ZXIgdGhlIGFtb3VudCIpLCgwLHUuZGVmYXVsdCkoaSwicF9wcmljZSIsIlBsZWFzZSBlbnRlciB0aGUgcHJpY2UiKSwoMCx1LmRlZmF1bHQpKGksInBfY29uZmlybV9zaiIsIkNvbmZpcm0gYXQgbWFya2V0IHByaWNlIiksKDAsdS5kZWZhdWx0KShpLCJwX2NvbmZpcm1feGpfMSIsIkNvbmZpcm0gYXQgdGhlIGN1cnJlbnQgcHJpY2UiKSwoMCx1LmRlZmF1bHQpKGksInBfY29uZmlybV9tYSIsIj8gIiksKDAsdS5kZWZhdWx0KShpLCJzdGF0dXMiLCJTdGF0dXMiKSwoMCx1LmRlZmF1bHQpKGksImNvbXBsZXRlIiwiQ29tcGxldGVkIiksKDAsdS5kZWZhdWx0KShpLCJkb2luZyIsImluIHByb2dyZXNzIiksKDAsdS5kZWZhdWx0KShpLCJjdXJyZW50RW50cnVzdCIsIkN1cnJlbnQgRW50cnVzdCIpLCgwLHUuZGVmYXVsdCkoaSwiYWxsRW50cnVzdCIsIkFsbCBFbnRydXN0IiksKDAsdS5kZWZhdWx0KShpLCJlbnRydXN0IiwiRW50cnVzdCIpLCgwLHUuZGVmYXVsdCkoaSwiZW50cnVzdFRpbWUiLCJFbnRydXN0IFRpbWUiKSwoMCx1LmRlZmF1bHQpKGksImFsbCIsIkFsbCIpLCgwLHUuZGVmYXVsdCkoaSwiYnV5VXAiLCJCdXkgdXAiKSwoMCx1LmRlZmF1bHQpKGksImJ1eURvd24iLCJCdXkgZmFsbCIpLCgwLHUuZGVmYXVsdCkoaSwianllIiwiVHJhbnNhY3Rpb24gQW1vdW50IiksaSksZnVuZDoocz17b3ZlcnZpZXc6Ik92ZXJ2aWV3IixiYWxhbmNlOiJiYWxhbmNlIixmdXR1cmVzOiJDb250cmFjdCIsZGVwb3NpdDoiRGVwb3NpdCIsbWluaW5nOiJMb2NrIHVwIHRvIGVhcm4gY29pbnMiLHN0b2NrOiJzdG9jayIsbWFyZ2luOiJTdXBlciBMZXZlcmFnZSIseWVzdGVyZGF5RWFybmluZ3M6Illlc3RlcmRheSdzIGVhcm5pbmdzIix5aWVsZEF0TWF0dXJpbHk6IllpZWxkIGF0IG1hdHVyaXR5Iix0b3RhbGtSZXZlbnVlOiJUb3RhbCByZXZlbnVlIixjdXJyZW50UHJvZml0OiJDdXJyZW50IHByb2ZpdCBhbmQgbG9zcyIscHJvZml0UmF0aW86IlByb2ZpdCByYXRpbyIscmVjZWl2ZToiRGVwb3NpdCBNb25leSIsdHJhbnNmZXI6IldpdGhkcmF3IixmaW5hbmNpYWw6ImZpbmFuY2lhbCBmaW5hbmNpYWwgbWFuYWdlbWVudCIsdmFsdWF0aW9uOiJ2YWx1YXRpb24iLGN1cnJlbnRFYXJuaW5nczoiQ3VycmVudCBlYXJuaW5ncyIseWVzdGVyZGF5SW5jb21lOiJZZXN0ZXJkYXkncyBpbmNvbWUiLGNyeXB0bzoiZGlnaXRhbCBjdXJyZW5jeSIsZmlhdDoiRmlhdCBjdXJyZW5jeSIsaGlkZVNtYWxsQ3VycmVuY3k6IkhpZGUgU21hbGwgQ3VycmVuY3kiLGF2YWlsYWJsZToiYXZhaWxhYmxlIixmcmVlemU6ImZyZWV6ZSIsZXF1aXZhbGVudDoiZXF1aXZhbGVudCIsdXNkdG06IlUgc3RhbmRhcmQiLGNvaW5tOiJTcG90IHN0YW5kYXJkIixleGNoYW5nZToiU3BvdCIsbGV2ZXJhZ2U6IkNvbnRyYWN0In0sKDAsdS5kZWZhdWx0KShzLCJmaWF0IiwiRmlhdCBjdXJyZW5jeSIpLCgwLHUuZGVmYXVsdCkocywic2Vjb25kIiwiT3B0aW9uIiksKDAsdS5kZWZhdWx0KShzLCJjb252ZXJ0IiwiQ29udmVydCB0b3RhbCBhc3NldHMiKSwoMCx1LmRlZmF1bHQpKHMsImNvbnZlcnQyIiwiQXNzZXQgQ29udmVyc2lvbiIpLCgwLHUuZGVmYXVsdCkocywicmVjb3JkIiwiQWNjb3VudCBjaGFuZ2UgcmVjb3JkIiksKDAsdS5kZWZhdWx0KShzLCJhdmFpbGFibGVRdW90YSIsIkF2YWlsYWJsZSBRdW90YSIpLCgwLHUuZGVmYXVsdCkocywibG9ja2VkIiwiUGxlZGdlIiksKDAsdS5kZWZhdWx0KShzLCJjb252ZXJ0ZWQiLCJjb252ZXJ0ZWQiKSwoMCx1LmRlZmF1bHQpKHMsImFjY291bnQiLCJBY2NvdW50IiksKDAsdS5kZWZhdWx0KShzLCJmaW5hbmNpYWxSZWNvcmRzIiwiRmluYW5jaWFsIFJlY29yZHMiKSwoMCx1LmRlZmF1bHQpKHMsIm51bWJlciIsIkFtb3VudCIpLCgwLHUuZGVmYXVsdCkocywicmVjb3JkMiIsInJlY29yZCIpLCgwLHUuZGVmYXVsdCkocywidGltZSIsIlRpbWUiKSwoMCx1LmRlZmF1bHQpKHMsInRyYW5zZmVyIiwiVHJhbnNmZXIiKSwoMCx1LmRlZmF1bHQpKHMsImZyb20iLCJmcm9tIiksKDAsdS5kZWZhdWx0KShzLCJ0byIsInRvIiksKDAsdS5kZWZhdWx0KShzLCJ0cmFuc2Zlck51bWJlciIsIlRyYW5zZmVyIE51bWJlciIpLCgwLHUuZGVmYXVsdCkocywieW91R2V0IiwieW91IHdpbGwgZ2V0IiksKDAsdS5kZWZhdWx0KShzLCJleGNoYW5nZVJhdGUiLCJFeGNoYW5nZSBSYXRlIiksKDAsdS5kZWZhdWx0KShzLCJoYW5kbGluZ0ZlZSIsImhhbmRsaW5nIGZlZSIpLCgwLHUuZGVmYXVsdCkocywiZnVuZFRyYW5zZmVyIiwiQ29udmVydCIpLCgwLHUuZGVmYXVsdCkocywiaW5zdWZmaWNpZW50QmFsYW5jZSIsIkluc3VmZmljaWVudCBiYWxhbmNlIiksKDAsdS5kZWZhdWx0KShzLCJuZWVkSGFuZGxpbmdGZWUiLCJBZGRpdGlvbmFsIGhhbmRsaW5nIGZlZSIpLCgwLHUuZGVmYXVsdCkocywicGxzSXB0Q3J0TnVtYmVyIiwiUGxlYXNlIGVudGVyIHRoZSBjb3JyZWN0IG51bWJlciIpLCgwLHUuZGVmYXVsdCkocywiY190cmFuc2ZlciIsIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byB0cmFuc2Zlcj8iKSwoMCx1LmRlZmF1bHQpKHMsInNlbGVjdEN1cnJlbmN5IiwiU2VsZWN0IEN1cnJlbmN5IiksKDAsdS5kZWZhdWx0KShzLCJESUdJQ0NZIiwiRGlnaXRhbCBDdXJyZW5jeSIpLCgwLHUuZGVmYXVsdCkocywic2F2ZVFyY29kZSIsIlNhdmUgUVIgY29kZSIpLCgwLHUuZGVmYXVsdCkocywiY29weUFkZHJlc3MiLCJDb3B5IGxpbmsgYWRkcmVzcyIpLCgwLHUuZGVmYXVsdCkocywicGxzVHJhbnMiLCJQbGVhc2UgdHJhbnNmZXIgdG8gdGhpcyBhZGRyZXNzIiksKDAsdS5kZWZhdWx0KShzLCJyZWNoYXJnZU51bWVyIiwiRGVwb3NpdCBhbW91bnQiKSwoMCx1LmRlZmF1bHQpKHMsInBheW1lbnRWb3VjaGVyIiwiUGF5bWVudCBWb3VjaGVyIiksKDAsdS5kZWZhdWx0KShzLCJwbHNJcHRSZWNoYXJnZU51bWVyIiwiUGxlYXNlIGVudGVyIHRoZSBkZXBvc2l0IGFtb3VudCIpLCgwLHUuZGVmYXVsdCkocywicGxzVXBsb2FkUGF5bWVudFZvdWNoZXIiLCJQbGVhc2UgdXBsb2FkIHBheW1lbnQgdm91Y2hlciIpLCgwLHUuZGVmYXVsdCkocywicGxzSXB0Q3J0QW1vdW50IiwiUGxlYXNlIGVudGVyIHRoZSBjb3JyZWN0IGFtb3VudCIpLCgwLHUuZGVmYXVsdCkocywid2l0aGRyYXciLCJXaXRoZHJhdyIpLCgwLHUuZGVmYXVsdCkocywiY3VycmVuY3lOYW1lIiwiQ3VycmVuY3kgbmFtZSIpLCgwLHUuZGVmYXVsdCkocywidHJhbnNhY3Rpb25JbmZvIiwiVHJhbnNhY3Rpb24gQWNjb3VudCIpLCgwLHUuZGVmYXVsdCkocywid2l0aGRyYXcyIiwiV2l0aGRyYXdhbCIpLCgwLHUuZGVmYXVsdCkocywiY2FuVXNlIiwiYXZhaWxhYmxlIiksKDAsdS5kZWZhdWx0KShzLCJhbGwiLCJBbGwiKSwoMCx1LmRlZmF1bHQpKHMsInBsc0lwdFdpdGhkcmF3TnVtYmVyIiwiUGxlYXNlIGVudGVyIHRoZSB3aXRoZHJhd2FsIGFtb3VudCIpLCgwLHUuZGVmYXVsdCkocywid2l0aGRyYXdOdW1iZXIiLCJ3aXRoZHJhd2FsIGFtb3VudCIpLCgwLHUuZGVmYXVsdCkocywicmVtYXJrIiwiUmVtYXJrIiksKDAsdS5kZWZhdWx0KShzLCJoYW5kbGluZ0ZlZSIsImhhbmRsaW5nIiksKDAsdS5kZWZhdWx0KShzLCJjYW5HZXROdW1iZXIiLCJOdW1iZXIgb2YgYWNjb3VudHMgcmVjZWl2ZWQiKSwoMCx1LmRlZmF1bHQpKHMsImxlYXN0TnVtYmVyIiwiTWluaW11bSB3aXRoZHJhd2FsIGFtb3VudCIpLCgwLHUuZGVmYXVsdCkocywiY29pblR5cGUiLCJjdXJyZW5jeSIpLCgwLHUuZGVmYXVsdCkocywiYWRkcmVzcyIsIkFkZHJlc3MiKSwoMCx1LmRlZmF1bHQpKHMsImRhdGUiLCJkYXRlIiksKDAsdS5kZWZhdWx0KShzLCJ3aXRoZHJhd0FkZHJlc3MiLCJXaXRoZHJhd2FsIGFkZHJlc3MiKSwoMCx1LmRlZmF1bHQpKHMsInBsc1NlbGVjdFdpdGhkcmF3QWRkcmVzcyIsIlBsZWFzZSBzZWxlY3QgdGhlIHdpdGhkcmF3YWwgYWRkcmVzcyIpLCgwLHUuZGVmYXVsdCkocywid2l0aGRyYXdUb0NhcmQiLCJtZW50aW9uZWQgYmFuayBjYXJkIiksKDAsdS5kZWZhdWx0KShzLCJ3aXRoZHJhd1RvQ2FyZEludGVybmF0aW9uYWwiLCJpbnRlcm5hdGlvbmFsIiksKDAsdS5kZWZhdWx0KShzLCJ3aXRoZHJhd1RvQWRkcmVzcyIsIm1lbnRpb25lZCB3YWxsZXQgYWRkcmVzcyIpLCgwLHUuZGVmYXVsdCkocywiY2FyZCIsImJhbmsgY2FyZCIpLCgwLHUuZGVmYXVsdCkocywiYWRkQ2FyZCIsIkFkZCBiYW5rIGNhcmQiKSwoMCx1LmRlZmF1bHQpKHMsInBsc0FkZENhcmQiLCJQbGVhc2UgYWRkIGEgYmFuayBjYXJkIiksKDAsdS5kZWZhdWx0KShzLCJjelN0YXRlTG9hZGluZyIsInVuZGVyIHJldmlldyIpLCgwLHUuZGVmYXVsdCkocywiY3pTdGF0ZU9rIiwiU3VjY2Vzc2Z1bCByZXZpZXciKSwoMCx1LmRlZmF1bHQpKHMsImN6U3RhdGVObyIsIkF1ZGl0IGZhaWx1cmUiKSxzKSxpZW86e3N1YnNjcmliZToiU3Vic2NyaWJlIixpbmc6ImluIHByb2dyZXNzIixkb25lOiJEb25lIixhcHBseVN1YnNjcmlwdGlvbjoiQXBwbHkgU3Vic2NyaXB0aW9uIixyZW1haW5pbmc6IlJlbWFpbmluZyIsbG9ja1BlcmlvZDoiTG9jayBQZXJpb2QiLGVuZFRpbWU6IkVuZCBUaW1lIixzdWJzY3JpYmVDdXJyZW5jeToiU3Vic2NyaXB0aW9uIGN1cnJlbmN5Iixpc3N1YW5jZVByaWNlOiJJc3N1ZSBQcmljZSIsdG90YWxJc3N1YW5jZToiVG90YWwgSXNzdWFuY2UiLHdoaXRlUGFwZXI6IldoaXRlIFBhcGVyIixzdWJzY3JpcHRpb25DeWNsZToiU3Vic2NyaXB0aW9uIEN5Y2xlIix3YXJtVXA6Ildhcm0gVXAiLHdlYnNpdGU6Im9mZmljaWFsIHdlYnNpdGUiLGZpbmlzaDoiZmluaXNoIixwcm9qZWN0RGV0YWlsczoiUHJvamVjdCBEZXRhaWxzIixzdWJzY3JpcHRpb25Db25maXJtYXRpb246IlN1YnNjcmlwdGlvbiBDb25maXJtYXRpb24iLHBfYXBwbGljYXRpb25zTnVtYmVyOiJFbnRlciB0aGUgbnVtYmVyIG9mIHN1YnNjcmlwdGlvbnMiLG5lZWRUb1BheToiTmVlZCB0byBQYXkiLGN1cnJlbnRCYWxhbmNlOiJDdXJyZW50IEJhbGFuY2UiLHN1YnNjcmlwdGlvblRpbWU6IlN1YnNjcmlwdGlvbiBUaW1lIixjdXJyZW5jeToiQ3VycmVuY3kiLGFwcGxpY2F0aW9uc051bWJlcjoiTnVtYmVyIG9mIGFwcGxpY2F0aW9ucyIscGFzc2VzTnVtYmVyOiJOdW1iZXIgb2YgcGFzc2VzIix0aW1lVG9NYXJrZXQ6IlRpbWUgdG8gTWFya2V0IixkYXk6ImRheSIsdG90YWw6IlRvdGFsIixzdWJzY3JpYmVkOiJTdWJzY3JpYmVkIixzaGVuZ291OiJTdWJzY3JpcHRpb24iLGluc3VmZmljaWVudEJhbGFuY2U6Ikluc3VmZmljaWVudCBiYWxhbmNlIixwX251bWJlcjoiUGxlYXNlIGVudGVyIHRoZSBudW1iZXIiLG15U3Vic2NyaWJlOiJNeSBTdWJzY3JpcHRpb24ifSxsb2NrbWluZzp7bG9ja21pbmc6IlBsZWRnZSIsZnVuZHNVbmRlckN1c3RvZHk6IkZ1bmRzIGluIGN1c3RvZHkiLGVudHJ1c3RlZE9yZGVyczoiRW50cnVzdGVkIE9yZGVycyIsZXN0aW1hdGVkVG9kYXlJbmNvbWU6IkVzdGltYXRlZCByZXR1cm4gYW1vdW50IGZvciB0aGUgZGF5IixjdW11bGF0aXZlSW5jb21lOiJDdW11bGF0aXZlIEluY29tZSIsb3JkZXJzSW5DdXN0b2R5OiJPcmRlcnMgaW4gQ3VzdG9keSIsbG9ja2VkUG9zaXRpb25zVG9FYXJuQ29pbnM6IlBsZWRnZSB0byBlYXJuIGNvaW5zIixsb2NrZWRQb3NpdGlvbnM6IiBQbGVkZ2UiLG1pbmltdW1TaW5nbGVUcmFuc2FjdGlvbjoiTWluaW11bSBzaW5nbGUgdHJhbnNhY3Rpb24iLGRhaWx5WWllbGQ6IkRhaWx5IFlpZWxkIixsb2NrVXBQZXJpb2Q6IlBsZWRnZSBQZXJpb2QiLGFjcXVpc2l0aW9uOiJBY3F1aXNpdGlvbiIscmVjZW50RGF5czoiUmVjZW50IERheXMiLGRpdmlkZW5kVGltZToiRGl2aWRlbmQgdGltZSIsZXNjcm93RnVuZHM6IkVzY3JvdyBGdW5kcyIscmVkZW1wdGlvbkluQWR2YW5jZToiRWFybHkgUmVkZW1wdGlvbiIsZXN0aW1hdGVkSW5jb21lOiJFc3RpbWF0ZWQgSW5jb21lIixhdmFpbGFibGVBc3NldHM6IkF2YWlsYWJsZSBBc3NldHMiLGludmVzdG1lbnRBbW91bnRPYnRhaW5lZDoiSW52ZXN0ZWQgQW1vdW50IE9idGFpbmVkIixhbGw6IkFsbCIsbF9hbGVydF8xOiJNaW5pbmcga2VlcHMgZ29pbmciLGxfYWxlcnRfMjoiTG9jay11cCBtaW5pbmcgaXMgdG8gbWFrZSBtaW5pbmcgaW5jb21lIGluIHRoZSBwbGF0Zm9ybSdzIG1pbmluZyBwb29sIGJ5IGhvc3RpbmcgdXNkdCB0byB0aGUgcGxhdGZvcm0ncyBzdXBlci1jb21wdXRpbmcgbWluaW5nIG1hY2hpbmUiLGZlYXR1cmVzOiJGZWF0dXJlcyIsb25EZW1hbmQ6Ik9uIGRlbWFuZCIsZGl2aWRlbmRQZXJpb2Q6IkRpdmlkZW5kIHBlcmlvZCIsaXNzdWVkRGFpbHk6Iklzc3VlZCBkYWlseSIsY3VycmVudEludGVyZXN0OiJjdXJyZW50IGludGVyZXN0IixmZWF0dXJlXzE6IjEwMCUgY2FwaXRhbCBzZWN1cml0eTxiciAvPkd1YXJhbnRlZSIsZmVhdHVyZV8yOiJIb2xpZGF5IHJldmVudWU8YnIgLz5VbmludGVycnVwdGVkIixmZWF0dXJlXzM6IlZhbHVlIG9mIHRoZSBkYXk8YnIgLz5BZnRlciBzdWNjZXNzZnVsIGRlcG9zaXQiLGZvckluc3RhbmNlOiJGb3IgSW5zdGFuY2UiLGluY29tZUNhbGN1bGF0aW9uOiJJbmNvbWUgQ2FsY3VsYXRpb24iLGZvckluc3RhbmNlRGVzYzoiQSBtZW1iZXIgcGxlZGdlcyAxMDAwMFUgb24gdGhlIHBsYXRmb3JtLiBJZiBoZSBjaG9vc2VzIGEgZmluYW5jaWFsIHByb2R1Y3Qgd2l0aCBhIGN5Y2xlIG9mIDcgZGF5cyBhbmQgYSBkYWlseSBvdXRwdXQgb2YgMC4yNSUgb2YgdGhlIHBsZWRnZWQgYW1vdW50LCB0aGUgZGFpbHkgb3V0cHV0IGlzIGFzIGZvbGxvd3M6IDxici8+IDEwMDAwICogMC4yNSUgPSAyNSBVU0RUIDxici8+IEFmdGVyIDcgZGF5cyBZb3UgY2FuIGdldCAyNSAqIDcgPSAxNzUgVVNEVCBvZiBpbmNvbWUuIFRoZSBpbmNvbWUgaXMgaXNzdWVkIGV2ZXJ5IGRheSwgYW5kIHRoZSBpc3N1ZWQgaW5jb21lIGNhbiBiZSBkZXBvc2l0ZWQgYW5kIHdpdGhkcmF3biBhdCBhbnkgdGltZS4gQWZ0ZXIgdGhlIHBsZWRnZSBwcmluY2lwYWwgZXhwaXJlcywgaXQgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IHRyYW5zZmVycmVkIHRvIHlvdXIgY2FwaXRhbCBhY2NvdW50LiIsYWJvdXRMaXF1aWRhdGVkRGFtYWdlczoiQWJvdXQgbGlxdWlkYXRlZCBkYW1hZ2VzIixhYm91dExpcXVpZGF0ZWREYW1hZ2VzQ29udGVudDoiSWYgeW91IHdpc2ggdG8gdHJhbnNmZXIgb3V0IHRoZSB1bmV4cGlyZWQgcHJpbmNpcGFsLCB0aGVyZSB3aWxsIGJlIGEgcGVuYWx0eSBvZiAyNSUsIGZvciBleGFtcGxlOiA8YnIvPiAxMDAwMCoyNSU9MjUwMFU7IHRoZSByZWRlbXB0aW9uIGZ1bmRzIHdpbGwgYmUgMTAwMDAtMjUwMD03NTAwVS4iLGRheToiZGF5IixkYWlseToiRGFpbHkiLHJldHVybk9uRXhwaXJhdGlvbjoiRXhwaXJhdGlvbiByZXR1cm4iLGdldDoiZ2V0IixudW1iZXJPZkNvaW5zRGVwb3NpdGVkOiJOdW1iZXIgb2YgY29pbnMgZGVwb3NpdGVkIixzdWJzY3JpYmU6IlN1YnNjcmliZSIsaW5zdWZmaWNpZW50QmFsYW5jZToiSW5zdWZmaWNpZW50IGJhbGFuY2UiLHBfbnVtYmVyOiJQbGVhc2UgZW50ZXIgdGhlIG51bWJlciIsbGVhc3RTaW5nbGU6IlNpbmdsZSBhdCBsZWFzdCIsbG9ja2VkUG9zaXRpb25MaXN0OiJQbGVkZ2UgUG9zaXRpb24gTGlzdCIsaW5Qcm9ncmVzczoiSW4gUHJvZ3Jlc3MiLHJlZGVlbWVkOiJyZWRlZW1lZCIsZXhwaXJ5VGltZToiRXhwaXJhdGlvbiBUaW1lIixsb2NrVXBUaW1lOiJMb2NrIFVwIFRpbWUiLHN0YXJ0VGltZToiU3RhcnRpbmcgVGltZSIsZWFybHlSZWRlbXB0aW9uUGVuYWx0eToiRWFybHkgUmVkZW1wdGlvbiBQZW5hbHR5IixyZWRlbXB0aW9uOiJyZWRlbXB0aW9uIixjX3JlZGVtcHRpb246IkFyZSB5b3Ugc3VyZSBhYm91dCBlYXJseSByZWRlbXB0aW9uPyIsam9pbk5vdzoiSm9pbiBOb3cifSxpbnZlc3Q6e2ludmVzdDoiZmluYW5jaWFsIG1hbmFnZW1lbnQiLHNlY3Rpb246IlNlY3Rpb24iLHBlclByaWNlOiJTaW5nbGUgcHJpY2UiLGFwcjoiQW5udWFsaXplZCByYXRlIG9mIHJldHVybiIsbGlua2VkUmVmZXJlbmNlUHJpY2U6IkxpbmtlZCBSZWZlcmVuY2UgUHJpY2UiLGhvbGRpbmdEYXlzOiJIb2xkaW5nIFBlcmlvZCIsbWF0dXJpdHlEYXRlOiJNYXR1cml0eSBEYXRlIixyZW1haW5pbmdTaGFyZXM6IlJlbWFpbmluZyBTaGFyZXMiLHByb2dyZXNzOiJDdXJyZW50IHByb2dyZXNzIixhY3Rpb246ImFjdGlvbiIscHVyY2hhc2U6InB1cmNoYXNlIixteVBvc2l0aW9uOiJNeSBmaW5hbmNlcyIsYnV5U2hhcmVzOiJCdXkgU2hhcmVzIixlc3RpbWF0ZWRJbmNvbWU6IkVzdGltYXRlZCBJbmNvbWUiLGRheToiZGF5IixzaGFyZToiU2hhcmVzIixmYWlsOiJmYWlsZWQiLHB1cmNoYXNlZDoicHVyY2hhc2VkIixzZXR0bGVtZW50OiJTZXR0bGluZyIsc3VjY2VzczoiY29tcGxldGVkIixhbGw6IkFsbCIsbmFtZToibmFtZSIscmVtYWluOiJyZW1haW5pbmciLGluc3RydWN0aW9uOiJQcm9kdWN0IERlc2NyaXB0aW9uIixoZWxwOiJoZWxwIixzaHVvbWluZ18xOiIxLiBUaGlzIHByb2R1Y3QgaXMgYSBub24tZ3VhcmFudGVlZCB3ZWFsdGggbWFuYWdlbWVudCBwcm9kdWN0LiBNYXJrZXQgZmx1Y3R1YXRpb25zIG1heSBsZWFkIHRvIGxvc3Mgb2YgcHJpbmNpcGFsLiBQbGVhc2UgaW52ZXN0IHdpdGggY2F1dGlvbi4iLHNodW9taW5nXzI6IjIuIFBheW1lbnQgY29sbGVjdGlvbiBhbmQgc2V0dGxlbWVudCBydWxlczoiLHNodW9taW5nXzM6IklmIHNldHRsZW1lbnQgcHJpY2XvvJxwZWdnZWQgcHJpY2UsIEJUQyB3aWxsIGJlIHNldHRsZWQgYWZ0ZXIgZXhwaXJhdGlvbjsgc2V0dGxlbWVudCBhbW91bnQ9aW52ZXN0bWVudCBhbW91bnQqKDErZGF5cyphbm51YWxpemVkIHJhdGUgb2YgcmV0dXJuLzM2NSkuIixzaHVvbWluZ180OiJJZiB0aGUgc2V0dGxlbWVudCBwcmljZSDiiaUgdGhlIHBlZ2dlZCBwcmljZSwgVVNEVCB3aWxsIGJlIHNldHRsZWQgYWZ0ZXIgZXhwaXJhdGlvbjsgc2V0dGxlbWVudCBhbW91bnQgPSBpbnZlc3RtZW50IGFtb3VudCAqIHBlZ2dlZCBwcmljZSAqICgxICsgZGF5cyAqIGFubnVhbGl6ZWQgcmF0ZSBvZiByZXR1cm4gLyAzNjUpLiIsc2h1b21pbmdfNToiMy4gVGhlIGFjdHVhbCBhbm51YWxpemVkIHJhdGUgb2YgcmV0dXJuIGNoYW5nZXMgd2l0aCB0aGUgbWFya2V0IGluIHJlYWwgdGltZSwgcGxlYXNlIHJlZmVyIHRvIHRoZSBhY3R1YWwgcHVyY2hhc2UgdHJhbnNhY3Rpb24uIixzaHVvbWluZ182OiI0LiBUaGUgaW52ZXN0bWVudCBhbW91bnQgaXMgY2FsY3VsYXRlZCBpbiByZWFsIHRpbWUgd2l0aCB0aGUgbWFya2V0LCBwbGVhc2UgcmVmZXIgdG8gdGhlIGFjdHVhbCBwdXJjaGFzZSB0cmFuc2FjdGlvbi4iLHNodW9taW5nXzc6IjUuIEFmdGVyIHRoZSBwcm9kdWN0IGlzIHB1cmNoYXNlZCwgaXQgY2FuIGJlIHZpZXdlZCBvbiB0aGUgTXkgQ29pbiBIb2xkaW5nIHBhZ2UuIEFmdGVyIHRoZSBleHBpcmF0aW9uLCB0aGUgcGF5bWVudCB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgaXNzdWVkIHRvIHRoZSBzcG90IGFjY291bnQuIixlcnJvcl8xOiJQbGVhc2UgZW50ZXIgdGhlIHB1cmNoYXNlIHF1YW50aXR5IixlcnJvcl8yOiJUaGUgcHVyY2hhc2UgcXVhbnRpdHkgc2hvdWxkIGJlIGFuIGludGVnZXIiLGNvbmZpcm1QdXJjaGFzZToiQXJlIHlvdSBzdXJlIHRvIHB1cmNoYXNlIHRoaXMgZmluYW5jaWFsIHByb2R1Y3Q/ICIscHVyY2hhc2VTdWNjZXNzOiJQdXJjaGFzZSBzdWNjZXNzZnVsISJ9LGZvbGxvdzooYz17Zm9sbG93OiJDb3B5Iix0cmFkZXJMaXN0OiJUcmFkZXIgTGlzdCIsdG90YWxQcm9maXQ6IlRvdGFsIHByb2ZpdCBhbmQgbG9zcyIsY29ycmVjdFJhdGU6IlRvdGFsIGFjY3VyYWN5Iixwb3NpdGlvblZhbHVhdGlvbjoiUG9zaXRpb24gVmFsdWF0aW9uIixlc3RpbWF0ZWRQcm9maXRUb2RheToiRXN0aW1hdGVkIFByb2ZpdCBUb2RheSIscmF0ZU9mUmV0dXJuOiJZaWVsZCIsYmVjb21lQVRyYWRlcjoiQmVjb21lIGEgdHJhZGVyIn0sKDAsdS5kZWZhdWx0KShjLCJ0cmFkZXJMaXN0IiwiVHJhZGVyIExpc3QiKSwoMCx1LmRlZmF1bHQpKGMsIm9ubHlTaG93c1RoZVBvc2l0aW9uIiwiT25seSBTaG93c1RoZVBvc2l0aW9uIiksKDAsdS5kZWZhdWx0KShjLCJ0aGVEYXRhSXNVcGRhdGVkRXZlcnlIb3VyIiwiRGF0YSBpcyB1cGRhdGVkIGV2ZXJ5IGhvdXIiKSwoMCx1LmRlZmF1bHQpKGMsImZvbGxvd2luZyIsIkRvY3VtZW50aW5nIiksKDAsdS5kZWZhdWx0KShjLCJmb2xsb3ciLCJEb2N1bWVudGFyeSIpLCgwLHUuZGVmYXVsdCkoYywiY29uZmlybUZvbGxvdyIsIkFyZSB5b3Ugc3VyZSB0byBmb2xsb3c/ICIpLCgwLHUuZGVmYXVsdCkoYywiY29uZmlybUNhbmNlbCIsIkFyZSB5b3Ugc3VyZSB0byBjYW5jZWwgZm9sbG93aW5nPyAiKSwoMCx1LmRlZmF1bHQpKGMsImZvbGxvd1RyYWRlciIsIkZvbGxvdyB0aGUgdHJhZGVyIiksKDAsdS5kZWZhdWx0KShjLCJlZGl0Q29weSIsIkVkaXQgRm9sbG93IiksKDAsdS5kZWZhdWx0KShjLCJiZWZvcmVDb3B5IiwiUGxlYXNlIHJlYWQgY2FyZWZ1bGx5IGJlZm9yZSBjaG9vc2luZyB0byBmb2xsb3ciKSwoMCx1LmRlZmF1bHQpKGMsImNvcHlBZ3JlZW1lbnQiLCJGb2xsb3cgdGhlIGFncmVlbWVudCIpLCgwLHUuZGVmYXVsdCkoYywiY29weVR5cGUiLCJGb2xsb3cgbW9kZSIpLCgwLHUuZGVmYXVsdCkoYywiY29weVR5cGUxIiwiRml4ZWQgTXVsdGlwbGUgRm9sbG93IiksKDAsdS5kZWZhdWx0KShjLCJjb3B5VHlwZTIiLCJGaXhlZCBMb3QgRm9sbG93IiksKDAsdS5kZWZhdWx0KShjLCJjb3B5QWxlcnQxIiwiTm8gbWF0dGVyIGhvdyBtYW55IG9yZGVycyB0aGUgdHJhZGVyIHBsYWNlcywgeW91IHdpbGwgZm9sbG93IGJ5IHRoZSBzZWxlY3RlZCBmaXhlZCBtdWx0aXBsZS4iKSwoMCx1LmRlZmF1bHQpKGMsImNvcHlBbGVydDIiLCIoV2hlbiB0aGUgcHJvcG9ydGlvbmFsIGxvdCBpcyA+IDEgYW5kIG5vdCBhbiBpbnRlZ2VyLCByb3VuZCB1cCB0byB0d28gZGVjaW1hbCBwbGFjZXMpIiksKDAsdS5kZWZhdWx0KShjLCJjb3B5TXVsdGlwbGUiLCJGb2xsb3cgdGhlIG11bHRpcGxlIiksKDAsdS5kZWZhdWx0KShjLCJjYW5jZWxDb3B5IiwiQ2FuY2VsIEZvbGxvdyIpLCgwLHUuZGVmYXVsdCkoYywiY3VycmVudEZvbGxvd2VyTnVtYmVyIiwiQ3VycmVudCBGb2xsb3dlciBOdW1iZXIiKSwoMCx1LmRlZmF1bHQpKGMsInRvdGFsUHJvZml0QW5kTG9zcyIsIlRvdGFsIFByb2ZpdCBhbmQgTG9zcyIpLCgwLHUuZGVmYXVsdCkoYywidG90YWxSZXR1cm4iLCJUb3RhbCBSZXR1cm4iKSwoMCx1LmRlZmF1bHQpKGMsImFjY3VyYWN5IiwiQWNjdXJhY3kiKSwoMCx1LmRlZmF1bHQpKGMsInByb2ZpdGFibGVPcmRlcnMiLCJwcm9maXRhYmxlIG9yZGVycyIpLCgwLHUuZGVmYXVsdCkoYywic3VjY2Vzc2Z1bFNob3J0VHJhZGVzIiwiU3VjY2Vzc2Z1bCBzaG9ydCB0cmFkZSIpLCgwLHUuZGVmYXVsdCkoYywic3VjY2Vzc2Z1bExvbmdUcmFkZXMiLCJTdWNjZXNzZnVsbHkgbG9uZyB0cmFkZSIpLCgwLHUuZGVmYXVsdCkoYywieWVzdGVyZGF5c1RyYWRpbmdTdGF0dXMiLCJZZXN0ZXJkYXkncyB0cmFkaW5nIHN0YXR1cyIpLCgwLHUuZGVmYXVsdCkoYywiY3VycmVudFBvc2l0aW9ucyIsIkN1cnJlbnQgUG9zaXRpb25zIiksKDAsdS5kZWZhdWx0KShjLCJ0b3RhbE9yZGVycyIsIlRvdGFsIE9yZGVycyIpLCgwLHUuZGVmYXVsdCkoYywicmVtYWluIiwicmVtYWluaW5nIiksKDAsdS5kZWZhdWx0KShjLCJkaXN0YW5jZUR1ZSIsImRpc3RhbmNlIGR1ZSIpLCgwLHUuZGVmYXVsdCkoYywiZGF5cyIsImRheXMiKSwoMCx1LmRlZmF1bHQpKGMsImRlYWRsaW5lIiwiRGVhZGxpbmUiKSwoMCx1LmRlZmF1bHQpKGMsInN1YnNjcmlwdGlvbiIsIlN1YnNjcmlwdGlvbiIpLCgwLHUuZGVmYXVsdCkoYywiZm9sbG93VXNlcnMiLCJGb2xsb3cgdXNlcnMiKSwoMCx1LmRlZmF1bHQpKGMsImZvbGxvd0Ftb3VudCIsIkZvbGxvdyBBbW91bnQiKSwoMCx1LmRlZmF1bHQpKGMsImZvbGxvd0Vhcm5pbmdzIiwiRm9sbG93IEVhcm5pbmdzIiksKDAsdS5kZWZhdWx0KShjLCJjYW5jZWxGb2xsb3ciLCJDYW5jZWwgRm9sbG93IiksKDAsdS5kZWZhdWx0KShjLCJjdXJyZW50Q29weSIsIkN1cnJlbnQgQ29weSIpLCgwLHUuZGVmYXVsdCkoYywiaGlzdG9yaWNhbENvcHkiLCJIaXN0b3JpY2FsIFRyYW5zYWN0aW9ucyIpLCgwLHUuZGVmYXVsdCkoYywibXlUcmFkZXIiLCJNeSBUcmFkZXIiKSwoMCx1LmRlZmF1bHQpKGMsInRyYWRpbmdQYWlyIiwiVHJhZGluZyBwYWlyIiksKDAsdS5kZWZhdWx0KShjLCJvcGVuIiwiT3BlbmluZyBwcmljZSIpLCgwLHUuZGVmYXVsdCkoYywiY2xvc2UiLCJDbG9zZSBwcmljZSIpLCgwLHUuZGVmYXVsdCkoYywiZWFybmluZ3MiLCJlYXJuaW5ncyIpLCgwLHUuZGVmYXVsdCkoYywibG90cyIsImxvdHMiKSwoMCx1LmRlZmF1bHQpKGMsInRpbWUiLCJUcmFuc2FjdGlvbiB0aW1lIiksKDAsdS5kZWZhdWx0KShjLCJidXlJbiIsImJ1eSIpLCgwLHUuZGVmYXVsdCkoYywiYnV5T3V0Iiwic2VsbCIpLCgwLHUuZGVmYXVsdCkoYywiZGlyZWN0aW9uIiwiRGlyZWN0aW9uIiksYyksZmluYW5jaWFsOntwcm9kdWN0OiJQcm9kdWN0Iixwb3NpdGlvbjoiaG9sZCIsZmluYW5jaWFsOiJmaW5hbmNpYWwiLGxvY2ttaW5nOiJQbGVkZ2UiLGllbzoiSUVPIixpbnZlc3Q6IkludmVzdG1lbnQgYW5kIGZpbmFuY2lhbCBtYW5hZ2VtZW50IixzZWN0aW9uOiJTZWN0aW9uIixhcHI6IkFubnVhbGl6ZWQgcmF0ZSBvZiByZXR1cm4iLGxpbmtlZFJlZmVyZW5jZVByaWNlOiJMaW5rZWQgUmVmZXJlbmNlIFByaWNlIixob2xkaW5nRGF5czoiSG9sZGluZyBQZXJpb2QiLGRheToiZGF5Iixsb2NrUGVyaW9kOiJMb2NrIFBlcmlvZCIsaW5nOiJpbiBwcm9ncmVzcyIsZG9uZToiRG9uZSIsYXBwbHlTdWJzY3JpcHRpb246IkFwcGx5IFN1YnNjcmlwdGlvbiIscmVtYWluaW5nOiJSZW1haW5pbmciLHRvdGFsOiJUb3RhbCIsc3Vic2NyaWJlZDoiU3Vic2NyaWJlZCIsbWluaW5nOiJMb2NrIHVwIHRvIGVhcm4gY29pbnMiLG1pbmltdW06InN0YXJ0IixkYWlseVJldHVyblJhdGU6IkRhaWx5IFJldHVybiBSYXRlIn0sbmZ0OihsPXtuZnQ6Ik5GVCIsYXJ0d29yazoiYXJ0d29yayIsYXJ0aXN0OiJhcnRpc3QiLGFydHdvcmtMaXN0OiJBcnR3b3JrIExpc3QiLGFydGlzdExpc3Q6IkFydGlzdCBMaXN0Iixjb21wcmVoZW5zaXZlU29ydGluZzoiQ29tcHJlaGVuc2l2ZSBzb3J0aW5nIixuZXdlc3Q6ImxhdGVzdCIsaG90dGVzdDoiaG90dGVzdCIsbW9zdFdvcmtzOiJUaGUgbW9zdCB3b3JrcyIsbW9zdFBvcHVsYXI6Ik1vc3QgUG9wdWxhciIscmVjb3JkOiJQdXJjaGFzZSByZWNvcmQiLHJlY29tbWVuZEFydGlzdDoiUmVjb21tZW5kZWQgYXJ0aXN0IixidXk6ImJ1eSIsYXJ0aXN0SG9tZXBhZ2U6IkFydGlzdCBIb21lcGFnZSIsd29ya3M6IndvcmtzIixzb2xkOiJzb2xkIixmYW5zOiJmYW5zIixhbGxXb3JrczoiQWxsIFdvcmtzIixub3RTZWxsOiJOb3Qgc29sZCIsbXlDb2xsZWN0OiJNeSBDb2xsZWN0aW9uIixjb2xsZWN0OiJjb2xsZWN0ZWQiLG93bjoiaG9sZCIscGxhY2VBQmlkOiJiaWQiLHB1cmNoYXNlOiJwdXJjaGFzZSIsb3BlbjoiQWZ0ZXIgb3BlbmluZyIsaW1hZ2U6ImltYWdlIixnaWY6ImFuaW1hdGlvbiIsYXVkaW86ImF1ZGlvIix2aWRlbzoidmlkZW8iLGNyZWF0b3I6ImF1dGhvciIsY3VycmVudEJpZDoiTGF0ZXN0IGJpZCIscHJpY2U6InByaWNlIixkOiJkYXkiLGg6ImhvdXIiLG06Im1pbnV0ZXMiLHM6InNlY29uZHMifSwoMCx1LmRlZmF1bHQpKGwsInNvbGQiLCJjbG9zZWQiKSwoMCx1LmRlZmF1bHQpKGwsInBsYWNlX2FsZXJ0IiwiVGhlIGl0ZW0gaGFzIG5vdCByZWFjaGVkIHRoZSBzZWxsaW5nIHRpbWUgb3IgaGFzIGVuZGVkIiksKDAsdS5kZWZhdWx0KShsLCJjcmVhdGVkQnkiLCJhdXRob3IiKSwoMCx1LmRlZmF1bHQpKGwsInBsYWNlX2FsZXJ0MiIsIllvdXIgYmlkIG11c3QgYmUgaGlnaGVyIHRoYW4iKSwoMCx1LmRlZmF1bHQpKGwsIm5vdGUiLCJJbXBvcnRhbnQiKSwoMCx1LmRlZmF1bHQpKGwsIkNVUlJFTlRfQklEIiwiTGF0ZXN0IGJpZCIpLCgwLHUuZGVmYXVsdCkobCwicGxhY2VfYWxlcnQzIiwiUGFydGljaXBhdGUgaW4gdGhlIGF1Y3Rpb24sIHlvdSBuZWVkIHRvIHBheSIpLCgwLHUuZGVmYXVsdCkobCwicGxhY2VfYWxlcnQ0IiwiVGhlIGRlcG9zaXQsIHdoZW4gdGhlIGF1Y3Rpb24gZW5kcywgdGhlIGRlcG9zaXQgd2lsbCBiZSByZXR1cm5lZCB0byB5b3VyIGFjY291bnQuICIpLCgwLHUuZGVmYXVsdCkobCwicGxhY2VfYWxlcnQ2IiwiQWZ0ZXIgdGhlIGJpZCBkZWFkbGluZSwgaWYgeW91ciBiaWQgaXMgc3VjY2Vzc2Z1bCwgeW91IHdpbGwgaGF2ZSBvbmUgZGF5IHRvIHBheSB0aGUgZmluYWwgcHJpY2UuIElmIHBheW1lbnQgaXMgb3ZlcmR1ZSwgeW91ciBzZWN1cml0eSBkZXBvc2l0IHdpbGwgYmUgZGVkdWN0ZWQuICIpLCgwLHUuZGVmYXVsdCkobCwiY29uZmlybUJpZCIsIkNvbmZpcm0gYmlkIiksKDAsdS5kZWZhdWx0KShsLCJERVNDUklQVElPTiIsIkRlc2NyaXB0aW9uIiksKDAsdS5kZWZhdWx0KShsLCJBRERSRVNTIiwiQWRkcmVzcyIpLCgwLHUuZGVmYXVsdCkobCwiY29weSIsImNvcHkiKSwoMCx1LmRlZmF1bHQpKGwsInBlcl9pbmNyZWFzZSIsIkV2ZXJ5IGluY3JlYXNlIGluIHByaWNlIiksKDAsdS5kZWZhdWx0KShsLCJjdXJyZW5jeV90eXBlIiwiQ3VycmVuY3kgdHlwZSIpLCgwLHUuZGVmYXVsdCkobCwicGF5X3R5cGUiLCJQdXJjaGFzZSBtZXRob2QiKSwoMCx1LmRlZmF1bHQpKGwsInBheV90eXBlXzIiLCJTYWxlcyBtZXRob2QiKSwoMCx1LmRlZmF1bHQpKGwsIm5vcm1hbCIsIm5vcm1hbCIpLCgwLHUuZGVmYXVsdCkobCwiYXVjdGlvbiIsIkF1Y3Rpb24iKSwoMCx1LmRlZmF1bHQpKGwsImNvbmZpcm1BdWN0aW9uIiwiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHBhcnRpY2lwYXRlIGluIHRoZSBhdWN0aW9uIGZvciB0aGlzIGl0ZW0/IiksKDAsdS5kZWZhdWx0KShsLCJiaW5kQm94IiwiYmxpbmQgYm94IiksKDAsdS5kZWZhdWx0KShsLCJzZWxsX3N0YXR1cyIsIlNlbGwgc3RhdHVzIiksKDAsdS5kZWZhdWx0KShsLCJoYXNTdGFydCIsImhhcyBzdGFydGVkIiksKDAsdS5kZWZhdWx0KShsLCJ3aWxsU3RhcnQiLCJOb3Qgc3RhcnRlZCIpLCgwLHUuZGVmYXVsdCkobCwiYXJ0d29ya190eXBlIiwiSXRlbSB0eXBlIiksKDAsdS5kZWZhdWx0KShsLCJyZXNldCIsInJlc2V0IiksKDAsdS5kZWZhdWx0KShsLCJjb25maXJtIiwiT0siKSwoMCx1LmRlZmF1bHQpKGwsInBsYWNlX2FsZXJ0NSIsIlBsZWFzZSBlbnRlciBhIGtleXdvcmQiKSwoMCx1LmRlZmF1bHQpKGwsImNvbGxlY3Rpb24iLCJjb2xsZWN0ZWQiKSwoMCx1LmRlZmF1bHQpKGwsImJ5Q29sbGVjdGlvbiIsIkNvbGxlY3RlZCIpLCgwLHUuZGVmYXVsdCkobCwiYXJ0d29ya3MiLCJ3b3JrcyIpLCgwLHUuZGVmYXVsdCkobCwiZ29Db2xsZWN0IiwiR28gdG8gY29sbGVjdGlvbiIpLCgwLHUuZGVmYXVsdCkobCwicHJpY2UiLCJwcmljZSIpLCgwLHUuZGVmYXVsdCkobCwibm9uaWNrbmFtZSIsIk5vIG5pY2tuYW1lIGlzIHNldCIpLCgwLHUuZGVmYXVsdCkobCwiY2pkanMiLCJCaWQgRGVhZGxpbmUiKSwoMCx1LmRlZmF1bHQpKGwsImNqa3NzaiIsIkJpZCBzdGFydCB0aW1lIiksKDAsdS5kZWZhdWx0KShsLCJjamp6c2oiLCJCaWQgRGVhZGxpbmUiKSwoMCx1LmRlZmF1bHQpKGwsImdvdG9zZWUiLCJHbyB0byB0aGUgbWFya2V0IGFuZCBzZWUiKSwoMCx1LmRlZmF1bHQpKGwsInBvc2l0aW9uIiwiaG9sZCIpLCgwLHUuZGVmYXVsdCkobCwicmVzZWxsIiwicmVzZWxsIiksKDAsdS5kZWZhdWx0KShsLCJidXlQcmljZSIsImJ1eSBwcmljZSIpLCgwLHUuZGVmYXVsdCkobCwiY29uZmlybVJlc2VsbCIsIkNvbmZpcm0gcmVzZWxsIiksKDAsdS5kZWZhdWx0KShsLCJ3cm9uZ1ByaWNlIiwiUGxlYXNlIGNob29zZSB0aGUgY29ycmVjdCBwcmljZSIpLCgwLHUuZGVmYXVsdCkobCwiYmlkUGxhY2VkQnkiLCJCaWRkZXIiKSwoMCx1LmRlZmF1bHQpKGwsInBsYWNlUmVjb3JkIiwiQmlkIFJlY29yZCIpLCgwLHUuZGVmYXVsdCkobCwiY29uZmlybVB1cmNoYXNlIiwiQ29uZmlybSBwdXJjaGFzZSIpLCgwLHUuZGVmYXVsdCkobCwiYXJ0aXN0TGlzdCIsIkFydGlzdCBMaXN0IiksKDAsdS5kZWZhdWx0KShsLCJoYXNPcGVuIiwiT3BlbiIpLCgwLHUuZGVmYXVsdCkobCwibm9PcGVuIiwiTm90IG9wZW4iKSwoMCx1LmRlZmF1bHQpKGwsImNsaWNrT3BlbiIsIk9wZW4gYmxpbmQgYm94IiksKDAsdS5kZWZhdWx0KShsLCJjb25maXJtT3BlbiIsIkNvbmZpcm0gdG8gb3BlbiB0aGUgYmxpbmQgYm94PyAiKSwoMCx1LmRlZmF1bHQpKGwsIm1hcmdpbiIsIk1hcmdpbiIpLCgwLHUuZGVmYXVsdCkobCwid3JvbmdQcmljZSIsIlBsZWFzZSBlbnRlciB0aGUgY29ycmVjdCBwcmljZSIpLCgwLHUuZGVmYXVsdCkobCwid3JvbmdQZXJJbmNyZWFzZSIsIlBsZWFzZSBlbnRlciB0aGUgY29ycmVjdCBpbmNyZWFzZSBwcmljZSIpLCgwLHUuZGVmYXVsdCkobCwid3JvbmdUaW1lIiwiRW5kIHRpbWUgc2hvdWxkIGJlIGxhdGVyIHRoYW4gZW5kIHRpbWUiKSwoMCx1LmRlZmF1bHQpKGwsImNvbmZpcm1SZXNlbGwyIiwiT25jZSB0aGUgcHJvZHVjdCBpcyByZXNvbGQsIGl0IGNhbm5vdCBiZSB3aXRoZHJhd24uIEFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byByZXNlbGwgdGhlIHByb2R1Y3Q/ICIpLCgwLHUuZGVmYXVsdCkobCwicmVzZWxsaW5nIiwiUmVzZWxsaW5nIiksKDAsdS5kZWZhdWx0KShsLCJtZXNzYWdlIiwiTWVzc2FnZSBub3RpZmljYXRpb24iKSwoMCx1LmRlZmF1bHQpKGwsImNvbmZpcm1QYXkiLCJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gcGF5IGZvciB0aGlzIGl0ZW0/ICIpLCgwLHUuZGVmYXVsdCkobCwiemZkanMiLCJQYXltZW50IGNvdW50ZG93biIpLCgwLHUuZGVmYXVsdCkobCwicGF5VGltZSIsIlBheW1lbnQgdGltZSIpLCgwLHUuZGVmYXVsdCkobCwiaGFzUmVhZCIsInJlYWQiKSwoMCx1LmRlZmF1bHQpKGwsImxhc3RQcmljZSIsIkxhc3QgdHJhbnNhY3Rpb24gcHJpY2UiKSwoMCx1LmRlZmF1bHQpKGwsImlzUGF5IiwicGFpZCIpLCgwLHUuZGVmYXVsdCkobCwiaXNFeHBpcmVkIiwiRXhwaXJlZCIpLCgwLHUuZGVmYXVsdCkobCwicmFyaXR5IiwicmFyaXR5IiksbCksY29udGFjdDp7Y29udGFjdFVzOiJDb250YWN0IFVzIn0sYXBwcm92ZTp7QXV0aGVudGljYXRpb25UaXBzOiJUaGUgcmUtYXV0aGVudGljYXRlZCBhZGRyZXNzIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBiaW5kaW5nIGFkZHJlc3MuIERvIHlvdSBuZWVkIHRvIG1vZGlmeSB0aGUgYWRkcmVzcz8iLGJyb3dzZXJUaXBzOiJQbGVhc2Ugb3BlbiBpbiBicm93c2VyIix0cmNfYnJvd3NlclRpcHM6IlBsZWFzZSBvcGVuIGl0IGluIHRoZSB3YWxsZXQgb2YgdGhlIHN1cHBvcnRlZCBUUkMyMCBjaGFpbiIscmVjZXJ0aWZ5OiJyZWNlcnRpZnkiLHZlcmlmaWVkOiJ2ZXJpZmllZCIsZ29fYXV0aGVudGljYXRlOiJnbyBhdXRoZW50aWNhdGUiLG5vdGNlcnRpZmllZDoibm90IGNlcnRpZmllZCJ9fTt0LmRlZmF1bHQ9ZH0sOTczNDpmdW5jdGlvbihlLHQsbil7ZS5leHBvcnRzPW4ucCsic3RhdGljL3B1aHVpLnR0ZiJ9LCI5N2FjIjpmdW5jdGlvbihlLHQsbil7dmFyIGE9bigiOGM4YiIpO2EuX19lc01vZHVsZSYmKGE9YS5kZWZhdWx0KSwic3RyaW5nIj09PXR5cGVvZiBhJiYoYT1bW2UuaSxhLCIiXV0pLGEubG9jYWxzJiYoZS5leHBvcnRzPWEubG9jYWxzKTt2YXIgbz1uKCI5NjdkIikuZGVmYXVsdDtvKCI2MDA3NDdhMCIsYSwhMCx7c291cmNlTWFwOiExLHNoYWRvd01vZGU6ITF9KX0sIjk5ZTUiOmZ1bmN0aW9uKGUsdCxuKXt2YXIgYT1uKCJjODZjIik7dD1hKCExKSx0LnB1c2goW2UuaSwidW5pLXBhZ2UtYm9keSxodG1sLGJvZHl7YmFja2dyb3VuZC1jb2xvcjojMjIxZjFmfWJvZHkuPyVQQUdFPyV7YmFja2dyb3VuZC1jb2xvcjojMjIxZjFmfS5ub3RpY2UtcG9wdXAsLm5vdGljZS1wb3B1cCAudS1tb2RlLWNlbnRlci1ib3gsLm5vdGljZS1wb3B1cCAudS1tb2RlLWNlbnRlci1ib3g+dW5pLXNjcm9sbC12aWV3Pi51bmktc2Nyb2xsLXZpZXcsLm5vdGljZS1wb3B1cCAudS1tb2RlLWNlbnRlci1ib3g+dW5pLXNjcm9sbC12aWV3Pi51bmktc2Nyb2xsLXZpZXc+LnVuaS1zY3JvbGwtdmlld3tvdmVyZmxvdzp1bnNldCFpbXBvcnRhbnR9IiwiIl0pLGUuZXhwb3J0cz10fSwiOWJiMCI6ZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtuKCI2YTU0Iik7dmFyIGE9bigiZjViZCIpLmRlZmF1bHQ7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuZGVmYXVsdD12b2lkIDA7dmFyIG8scixpLHMsYyxsLHU9YShuKCIzOWQ4IikpLGQ9e25hdjpbIummlumhtSIsIuihjOaDhSIsIuS6pOaYkyIsIui0qOaKvCIsIui1hOS6pyJdLGNvbW1vbjoobz17Q2FuY2VsbGVkOiLlt7Llj5bmtogiLHNlYXJjaDoi5pCc57SiIixjb25maXJtOiLnoa7lrpoiLGNhbmNlbDoi5Y+WIOa2iCIsc3VibWl0OiLmj5Ag5LqkIixsb2dvdXQ6IumAgCDlh7oiLGFsbDoi5YWoIOmDqCIsZWRpdDoi57yWIOi+kSIsZGVsZXRlOiLliKAg6ZmkIixyZXNldDoi6YeNIOe9riIsZmlsdGVyOiLnrZsg6YCJIixsb2dpbjoi55m7IOW9lSIscmVnaXN0ZXI6IuazqCDlhowiLGVtYWlsOiLpgq7nrrEiLG1vYmlsZToi5omL5py65Y+3IixhY2NvdW50OiLnlKjmiLflkI0iLHBhc3N3b3JkOiLlr4bnoIEiLHBhc3N3b3JkUGxhY2Vob2xkZXI6Iuivt+i+k+WFpeWvhueggSIsbm9hY2NvdW50OiLmsqHmnInotKblj7fvvJ8iLGdvOiLljrsiLGZvcmdldFBhc3N3b3JkOiLlv5jorrDlr4bnoIEiLGNvbmZpcm1QYXNzd29yZDoi56Gu6K6k5a+G56CBIixpbnZpdGVjb2RlOiLpgoDor7fnoIEiLGhhc2FjY291bnQ6IuW3suaciei0puWPt++8nyIsbW9iaWxlY29kZVBsYWNlaG9sZGVyOiLor7fovpPlhaXmiYvmnLrpqozor4HnoIEiLGVtYWlsY29kZVBsYWNlaG9sZGVyOiLor7fovpPlhaXpgq7nrrHpqozor4HnoIEiLHNlbmQ6IuWPkemAgemqjOivgeeggSIsc2VsZWN0QXJlYToi5Zyw5Yy66YCJ5oupIixhdWRpdDoi5a6h5qC4Iix1bmRlckF1ZGl0OiLlrqHmoLjkuK0iLGF1ZGl0RmFpbHVyZToi5a6h5qC45aSx6LSlIix1bnRpZToi6Kej57uRIixidXk6IuS5sCIsc2VsbDoi5Y2WIixwbHNMb2dpbjoi6K+35YWI55m75b2VIixwbHNJbnB1dFVzZXJuYW1lOiLor7fovpPlhaXotKbmiLciLHBsc0lucHV0UmVQYXNzd29yZDoi6K+36L6T5YWl56Gu6K6k5a+G56CBIixwbHNJbnB1dEludml0ZUNvZGU6Iuivt+i+k+WFpemCgOivt+eggSIscGxzSW5wdXRDb2RlOiLor7fovpPlhaXpqozor4HnoIEiLHBsc0lucHV0TW9iaWxlOiLor7fovpPlhaXmiYvmnLrlj7ciLHBsc0lucHV0RW1haWw6Iuivt+i+k+WFpemCrueusSIsbG9naW5fc3VjY2Vzczoi55m75b2V5oiQ5YqfIixsb2dpbl9mYWlsOiLnmbvlvZXlpLHotKUiLHJlZ19zdWNjZXNzOiLms6jlhozmiJDlip8iLHJlZ19mYWlsOiLnmbvlvZXlpLHotKUiLHB3ZEluY29uc2lzdGVudDoi5Lik5qyh5a+G56CB5LiN5LiA6Ie0IixoaW50OiLmj5DnpLoiLGxvYWRpbmc6IuWKoOi9veS4rSIsc3VjY2Vzczoi5oiQ5YqfIixwbHNJbnB1dDoi6K+36L6T5YWlIixjbGljazoi54K55Ye7IixxdW90YXRpb246IuihjOaDhSJ9LCgwLHUuZGVmYXVsdCkobywiZWRpdCIsIue8lui+kSIpLCgwLHUuZGVmYXVsdCkobywic2Vjb25kIiwi56eSIiksKDAsdS5kZWZhdWx0KShvLCJzcGVjaWFsQ2hhcnQiLCLkuI3lhYHorrjljIXlkKvnibnmrorlrZfnrKYiKSwoMCx1LmRlZmF1bHQpKG8sIm9wZW4iLCLlvIDnm5jku7ciKSwoMCx1LmRlZmF1bHQpKG8sImNsb3NlIiwi5pS255uY5Lu3IiksKDAsdS5kZWZhdWx0KShvLCJoaWdoIiwi5pyA6auY5Lu3IiksKDAsdS5kZWZhdWx0KShvLCJsb3ciLCLmnIDkvY7ku7ciKSwoMCx1LmRlZmF1bHQpKG8sImN1c3RvbWVyU2VydmljZSIsIuiBlOezu+WuouacjSIpLCgwLHUuZGVmYXVsdCkobywicmVtZW1iZXJQYXNzd29yZCIsIuiusOS9j+WvhueggSIpLCgwLHUuZGVmYXVsdCkobywibmV3UGFzc3dvcmQiLCLmlrDlr4bnoIEiKSwoMCx1LmRlZmF1bHQpKG8sInB3ZE1vcmVUaGVuNiIsIuWvhueggeeahOmVv+W6puW6lOWkp+S6juWFreS9jSIpLCgwLHUuZGVmYXVsdCkobywiY29kZUxlbmd0aDYiLCLpqozor4HnoIHplb/luqblupTkuLrlha3kvY0iKSwoMCx1LmRlZmF1bHQpKG8sInJlUHdkTW9yZVRoZW42Iiwi56Gu6K6k5a+G56CB55qE6ZW/5bqm5bqU5aSn5LqO5YWt5L2NIiksKDAsdS5kZWZhdWx0KShvLCJwbHMiLCLor7ciKSwoMCx1LmRlZmF1bHQpKG8sInNhdmVTdWNjZXNzIiwi5bey5L+d5a2Y6Iez57O757uf55u45YaMIiksKDAsdS5kZWZhdWx0KShvLCJuZXh0U3RlcCIsIuS4i+S4gOatpSIpLCgwLHUuZGVmYXVsdCkobywibG9nIiwi6K6w5b2VIiksKDAsdS5kZWZhdWx0KShvLCJwYXJhbXNXcm9uZyIsIuWPguaVsOmUmeivryIpLCgwLHUuZGVmYXVsdCkobywiZnVuY3Rpb25Mb2FkaW5nIiwi5Yqf6IO95byA5Y+R5LitIiksKDAsdS5kZWZhdWx0KShvLCJESUdJQ0NZIiwi5pWw5a2X6LSn5biBIiksKDAsdS5kZWZhdWx0KShvLCJxdWlja2x5Iiwi5b+r6YCfIiksKDAsdS5kZWZhdWx0KShvLCJtb3JlIiwi5pu05aSaIiksKDAsdS5kZWZhdWx0KShvLCJoYXNOb0RhdGEiLCLmsqHmnInmm7TlpJrmlbDmja7kuoYiKSwoMCx1LmRlZmF1bHQpKG8sImF1ZGlvRXJyb3IiLCLpn7PpopHmlofku7blh7rplJkiKSwoMCx1LmRlZmF1bHQpKG8sInRvTG9uZyIsIuWtl+espui/h+mVvyIpLCgwLHUuZGVmYXVsdCkobywic2VsZWN0TGFuZyIsIumAieaLqeivreiogCIpLCgwLHUuZGVmYXVsdCkobywicm5hbWVwYXNzIiwi5a6e5ZCN6K6k6K+B5bey6YCa6L+HIiksbyksaG9tZToocj17Y29udGFjdFVzOiLlnKjnur/lrqLmnI0iLGJvcnJvd2luZzoi5YCf6LS3Iixib3Jyb3dpbmdfZW50cnk6IuWAn+i0t+WFpeWPoyIscmVwYXltZW50X2VudHJ5OiLov5jotLflhaXlj6MiLHRpdGxlOiJXb29DbG91ZCIsdG90YWxBc3NldHNFcXVpdmFsZW5nOiLmgLvotYTkuqfmipjlkIgiLHJlY2hhcmdlOiLlhYXlgLwiLHdpdGhkcmF3OiLmj5DnjrAiLHN0b2NrOiLogqHnpagiLGZ1dHVyZXM6IuWQiOe6piIsY29weXRyYWRlOiLot5/ljZUiLGZpbmFuY2lhbDoi6YeR6J6N55CG6LSiIixtYXJnaW46Iui2hee6p+adoOadhiIsb3RjOiJPVEMiLGNvdXBvbjoi5Y2h5Yi45Lit5b+DIixiaWxsczoi6LSm5Y2VIixleGNoYW5nZToi5rGH5YWRIixtaW5pbmc6Iui0qOaKvOi1muW4gSIsZ2FtZToi5bCP5ri45oiPIixjaGF0cm9vbToi6IGK5aSp5a6kIixxdWlja2x5QnV5Q29pbnM6IuW/q+aNt+S5sOW4gSIsZGVmaU1pbmluZzoiRGVGaeaMluefvyIsY2xvdWRNaW5pbmc6IuS6keefv+acuiJ9LCgwLHUuZGVmYXVsdCkociwic3RvY2siLCLogqHnpagiKSwoMCx1LmRlZmF1bHQpKHIsInN0b2NrX2luZm8iLCLml6DpnIDlvIDku5PvvIznq4vljbPmjIHku5MiKSwoMCx1LmRlZmF1bHQpKHIsImxvY2ttaW5nIiwi6LSo5oq8IiksKDAsdS5kZWZhdWx0KShyLCJ0cmFuc2ZlciIsIuW4geW4geWIkui9rCIpLCgwLHUuZGVmYXVsdCkociwiaWVvIiwiSUVPIiksKDAsdS5kZWZhdWx0KShyLCJzZWNvbmRzIiwi5pyf5p2DIiksKDAsdS5kZWZhdWx0KShyLCJkYXkiLCLlpKkiKSwoMCx1LmRlZmF1bHQpKHIsIm1pbmltdW0iLCLotbciKSwoMCx1LmRlZmF1bHQpKHIsImRhaWx5UmV0dXJuUmF0ZSIsIuaXpeaUtuebiueOhyIpLCgwLHUuZGVmYXVsdCkociwibW9yZSIsIuabtOWkmiIpLCgwLHUuZGVmYXVsdCkociwibWFya2V0Iiwi6KGM5oOFIiksKDAsdS5kZWZhdWx0KShyLCJ0cmFkaW5nUGFpciIsIuS6pOaYk+WvuSIpLCgwLHUuZGVmYXVsdCkociwibGFzdFByaWNlIiwi5pyA5paw5Lu3IiksKDAsdS5kZWZhdWx0KShyLCJ0b2RheUNoYW5nZSIsIuS7iuaXpea2qOi3jOW5hSIpLCgwLHUuZGVmYXVsdCkociwidHJhbnNhY3Rpb24iLCLkuqTmmJMiKSwoMCx1LmRlZmF1bHQpKHIsIm5mdCIsIk5GVCIpLCgwLHUuZGVmYXVsdCkociwiaW52ZXN0Iiwi5oqV6LWE55CG6LSiIiksKDAsdS5kZWZhdWx0KShyLCJkb3dubG9hZCIsIuS4i+i9vSIpLCgwLHUuZGVmYXVsdCkociwiYXBwX3RleHQiLCLpmo/ml7bpmo/lnLDvvIzlnKjnur/kuqTmmJMiKSwoMCx1LmRlZmF1bHQpKHIsImJ6X0NvbnRlbiIsIuW4ruWKqeS4reW/gyIpLHIpLHNldHRpbmc6e3RlYW06IuWboumYnyIsdGVhbTE6IuWboumYn+S6uuaVsCIsdGVhbTI6IuS6uiIsdGVhbTM6IuW9k+WJjemAmuato+S9meminSIsdGVhbTQ6Iue0r+iuoeWlluWKse+8iOmAmuato++8iSIsdGVhbTU6Iue0r+iuoeWlluWKse+8iFVTRFTvvIkiLHRlYW02OiLlhZHmjaIiLHRlYW03OiLlhZHmjaLpgJrmraMiLHRlYW04OiLpgJrmraPlpZblirHorrDlvZUiLHRlYW05OiJVU0RU5aWW5Yqx6K6w5b2VIix0ZWFtMTA6IuWIhuS6q+mTvuaOpSIsdGVhbTExOiLkuIvnuqfkurrlkZjvvIjkuIDnuqfvvIkiLHRlYW0xMjoi5LiL57qn5Lq65ZGY77yI5LqM57qn77yJIix0ZWFtMTM6IuS4i+e6p+S6uuWRmO+8iOS4iee6p++8iSIsdGVhbTE0OiLnlKjmiLflkI0iLHRlYW0xNToi6LSo5oq85L2Z6aKdIix0ZWFtMTY6IumCgOivt+aXtumXtCIsdGVhbTE3OiLpgJrmraPlhZHmjaIiLHRlYW0xODoi6YCa5q2j5pWw6YePIix0ZWFtMTk6IuWPr+WFkeaNoiBVU0RUIOaVsOmHjyIsdGVhbTIwOiLlhajpg6giLHRlYW0yMToi5Y+v55So6YCa6K+BIix0ZWFtMjI6IuWFkeaNouavlOS+iyIsdGVhbTIzOiLmiYvnu63otLkiLHRlYW0yNDoi56Gu6K6k5YWR5o2iIix0ZWFtMjU6IuafpeivoiIsdGVhbTI2OiLpgJror4HlpZblirHorrDlvZUiLHRlYW0yNzoi6K+36L6T5YWl5YWR5o2i5pWw6YePIix0ZWFtMjg6IuWunuWQjeiupOivgeWlluWKsSIsdGVhbTI5OiLkuqTmmJPmiYvnu63otLkiLHRlYW0zMDoi5bel5L2c5a6k5aWW5YqxIix0ZWFtMzE6IuaMluefv+i/lOWIqSIsdGVhbTMyOiLpgJror4HlpZblirEoLSkiLHRlYW0zMzoi5pWw5a2X6LSn5biB5aWW5YqxIix0ZWFtMzQ6IuWPlua2iCIsdGVhbTM1OiLnoa7orqQiLHk6IuW5tCIsbToi5pyIIixkOiLml6UiLGg6IuaXtiIsZjoi5YiGIixzOiLnp5IiLG15X3FyY29kZToi5oiR55qE5LqM57u056CBIixtaW5lOiLmiJHnmoQiLGludml0ZURlc2M6IumCgOivt+WlveWPi++8jOWFseWQjOi/lOWIqSIsaW52aXRlRGVzYzI6IuS4juWlveWPi+WFseWQjOS6q+WPl+i/lOWIqSIsaW52aXRlTnVtYmVyOiLpgoDor7fkurrmlbAiLGludml0ZVRyYW5zTnVtYmVyOiLlt7LkuqTmmJPkurrmlbAiLG15UmViYXRlOiLmiJHnmoTov5TliKkiLGJpbGw6Iui0puWNlSIsd2FsbGV0OiLpkrHljIXlnLDlnYAiLGJhbmtzOiLpk7booYzljaHnu5HlrpoiLGJhbmtzSW50ZXJuYXRpb25hbDoi6ZO26KGM5Y2h57uR5a6a44CQ5Zu96ZmF44CRIixhZGRCYW5rOiLmt7vliqDpk7booYzljaEiLHNlY3VyaXR5U2V0dGluZ3M6IuWuieWFqOiuvue9riIsY291cG9uOiLljaHliLjkuK3lv4MiLHN5c3RlbU5vdGlmaWNhdGlvbjoi57O757uf6YCa55+lIixkZWZhdWx0RmlhdEN1cnJlbmN5OiLpu5jorqTms5XluIEiLGxhbmd1YWdlOiLor63oqIAiLGZhcToi5bi46KeB6Zeu6aKYIixvcGVyYXRpb25hbENvbXBsaWFuY2U6Iue7j+iQpeWQiOinhCIsc2hhcmU6IuWIhuS6qyIsY29udGFjdFVzOiLogZTns7vmiJHku6wiLGFib3V0VXM6IuWFs+S6juaIkeS7rCIsYXZhdGFyOiLlpLTlg48iLG5pY2tuYW1lOiLmmLXnp7AiLHNpZ25hdHVyZToi5Liq5oCn562+5ZCNIixncnh4OiLkuKrkurrkv6Hmga8iLGdyeHhPcHRpb25zOntuaWNrbmFtZTp7dGl0bGU6IuaYteensCIscGxhY2Vob2xkZXI6Iuivt+i+k+WFpeaYteensCIsZGVzYzoiMi0xMOS4quWtl+espu+8jOaUr+aMgeS4reiLseaWh+OAgeaVsOWtlyJ9LHNpZ25hdHVyZTp7dGl0bGU6IuS4quaAp+etvuWQjSIscGxhY2Vob2xkZXI6Iuivt+i+k+WFpeS4quaAp+etvuWQjSIsZGVzYzoiMi0zMOS4quWtl+espu+8jOaUr+aMgeS4reiLseaWh+OAgeaVsOWtlyJ9fSx4eHR4OiLkuIrkvKDlpLTlg48iLHBob3RvZ3JhcGg6IuaLjeeFpyIsc2VsZWN0RnJvbUFsYnVtOiLku47nm7jlhozpgInmi6kiLGFxc3o6IuWuieWFqOiuvue9riIsZWRpdExvZ2luUGFzc3dvcmQ6IuS/ruaUueeZu+W9leWvhueggSIsc2V0UGF5UGFzc3dvcmQ6Iuiuvue9ruaUr+S7mOWvhueggSIsZWRpdFBheVBhc3N3b3JkOiLkv67mlLnmlK/ku5jlr4bnoIEiLGJpbmRQaG9uZToi57uR5a6a5omL5py6IixlbWFpbDoi6YKu566xIixzdGF5TG9naW46IuS/neaMgeeZu+W9lSIseGdkbG1tOiLkv67mlLnnmbvlvZXlr4bnoIEiLGN1cnJlbnRQYXNzd29yZDoi5b2T5YmN55m75b2V5a+G56CBIixjdXJyZW50UGFzc3dvcmRQbGFjZWhvbGRlcjoi6K+36L6T5YWl5b2T5YmN55m75b2V5a+G56CBIixuZXdQYXNzd29yZDoi5paw55m75b2V5a+G56CBIixuZXdQYXNzd29yZFBsYWNlaG9sZGVyOiLor7fovpPlhaXmlrDnmbvlvZXlr4bnoIEiLGNvbmZpcm1OZXdQYXNzd29yZDoi56Gu6K6k5paw5a+G56CBIixjb25maXJtTmV3UGFzc3dvcmRQbGFjZWhvbGRlcjoi6K+36L6T5YWl56Gu6K6k5paw5a+G56CBIixjdXJyZW50UGF5UGFzc3dvcmQ6IuW9k+WJjeaUr+S7mOWvhueggSIsY3VycmVudFBheVBhc3N3b3JkUGxhY2Vob2xkZXI6Iuivt+i+k+WFpeW9k+WJjeaUr+S7mOWvhueggSIsbmV3UGF5UGFzc3dvcmQ6IuaWsOaUr+S7mOWvhueggSIsbmV3UGF5UGFzc3dvcmRQbGFjZWhvbGRlcjoi6K+36L6T5YWl5paw5pSv5LuY5a+G56CBIixjb25maXJtTmV3UGF5UGFzc3dvcmQ6IuehruiupOaWsOaUr+S7mOWvhueggSIsY29uZmlybU5ld1BheVBhc3N3b3JkUGxhY2Vob2xkZXI6Iuivt+i+k+WFpeehruiupOaWsOaUr+S7mOWvhueggSIscGhvbmVWZXJpZmljYXRpb25Db2RlOiLmiYvmnLrpqozor4HnoIEiLGVkaXRQaG9uZVZlcmlmaWNhdGlvbkNvZGU6Iuivt+i+k+WFpeaJi+acuumqjOivgeeggSIsZ2V0VmVyaWZpY2F0aW9uQ29kZToi6I635Y+W6aqM6K+B56CBIixsY3R5cToi55CG6LSi5L2T6aqM5Yi4IixleHBpcmVkOiLlt7LlpLHmlYgiLGV4cGlyZWRUaW1lOiLlpLHmlYjml6XmnJ8iLHVzZUltbWVkaWF0ZWx5OiLnq4vljbPkvb/nlKgiLGFkZE5ld0FjY291bnQ6Iua3u+WKoOaWsOi0puWPtyIsdG90YXlJbmNvbWU6IuS7iuaXpeaUtuasviIsdG90YWxJbmNvbWU6Iue0r+iuoeaUtuasviIsc2VsZWN0TGFuZzoi6K+36YCJ5oup6K+t6KiAIixzZWxlY3RDb2luVHlwZToi6K+36YCJ5oup5biB56eNIixhdXRoZW50aWNhdGlvbjoi6Lqr5Lu96K6k6K+BIixhdXRoZW50aWNhdGlvbjE6IuWfuuehgOiupOivgSIsYXV0aGVudGljYXRpb24yOiLpq5jnuqforqTor4EiLGF1dGhlbnRpY2F0aW9uX3RleHRfMToi5Liq5Lq66Lqr5Lu96K6k6K+BIixhdXRoZW50aWNhdGlvbl90ZXh0XzI6IuWujOaIkOiupOivgeWQjuWPr+iOt+W+l+eahOadg+mZkO+8miIsYXV0aGVudGljYXRpb25fdGV4dF8zOiJMdjEu5Z+656GA6K6k6K+BIixhdXRoZW50aWNhdGlvbl90ZXh0XzQ6IuiupOivgeWQjuWPr+S7peS9k+eOsO+8jDI05bCP5pe26ZmQ6aKdMjAwQlRDIixhdXRoZW50aWNhdGlvbl90ZXh0XzU6IuiupOivgeWQjuWPr+S7pei/m+ihjOazleW4geS6pOaYk++8jOWNleeslOmZkOminTIwMDBVU0RUIixhdXRoZW50aWNhdGlvbl90ZXh0XzY6Ikx2Mi7pq5jnuqforqTor4EiLGF1dGhlbnRpY2F0aW9uX3RleHRfNzoi5aKe5Yqg5L2T546w6aKd5bqm77yMMjTlsI/ml7bpmZDpop01MDBCVEMiLGF1dGhlbnRpY2F0aW9uX3RleHRfODoi5aKe5Yqg5rOV5biB5Lqk5piT6aKd5bqm77yM5Y2V56yU6ZmQ6aKdMTAwMDAwMFVTRFQiLGF1dGhlbnRpY2F0aW9uX3RleHRfOToi5rip6aao5o+Q56S677ya5Li65L+d5oqk55So5oi36LWE6YeR5a6J5YWo77yM6K+35YWI5a6M5oiQ6YKu566x5ZKM55S16K+d55qE57uR5a6a77yM5ZCm5YiZ5oKo55qE6K6k6K+B5bCG5peg5rOV6YCa6L+H44CCIixnb0F1ZGl0OiLljrvorqTor4EiLG5vYXVkaXQ6IuacquiupOivgSIsYXVkaXRpbmc6IuiupOivgeS4rSIsaGFzYXVkaXQ6IuW3suiupOivgSIsZXJyb3JhdWRpdDoi6K6k6K+B5aSx6LSlIixpZFR5cGU6IuivgeS7tuexu+WeiyIsaWRDYXJkOiLouqvku73or4EiLHBhc3Nwb3J0OiLmiqTnhaciLGRyaXZlckxpY2Vuc2U6IumpvumptuivgSIsbmFtZToi5aeT5ZCNIixpZGNhcmQ6IuivgeS7tuWPt+eggSIscGxzSXB0TmFtZToi6K+36L6T5YWl5aeT5ZCNIixwbHNJcHRDb3JyZWN0SWRjYXJkOiLor7fovpPlhaXmraPnoa7nmoTouqvku73or4Hlj7ciLHVwbG9hZElkY2FyZEZyb250OiLkuIrkvKDor4Hku7bmraPpnaIiLHVwbG9hZElkY2FyZFJldmVyc2U6IuS4iuS8oOivgeS7tuiDjOmdoiIsZW1haWxWZXJpZmljYXRpb25Db2RlOiLpgq7nrrHpqozor4HnoIEiLHBsc2lwdEVtYWlsQ29kZToi6K+36L6T5YWl6YKu566x6aqM6K+B56CBIixhZGRXYWxsZXQ6Iua3u+WKoOmSseWMheWcsOWdgCIsc2VsZWN0Q3VycmVuY3k6IumAieaLqeW4geenjSIsVVNEVF9YSUVZSToiQ2hhaW4gVHlwZSIsUExTX1VTRFRfWElFWUk6IlBsZWFzZSBzZWxlY3QgY2hhaW4gdHlwZSIscGxzU2VsZWN0Q3VycmVuY3k6Iuivt+mAieaLqeW4geenjSIscGxzSXB0QWRkcmVzczoi6K+36L6T5YWl6ZKx5YyF5Zyw5Z2AIix3YWxsZXRBZGRyZXNzOiLpkrHljIXlnLDlnYAiLHdhbGxldFFyY29kZToi6ZKx5YyF5LqM57u056CBIixwbHNJcHRXYWxsZXRBZGRyZXNzOiLor7fovpPlhaXpkrHljIXlnLDlnYAiLHBsc1VwbG9hZFdhbGxldFFyY29kZToi6K+35LiK5Lyg6ZKx5YyF5LqM57u056CBIixjb25maXJtTG9nb3V0OiLnoa7lrprpgIDlh7rnmbvlvZXlkJfvvJ8iLG5vbmlja25hbWU6Iuivt+iuvue9ruaYteensCIscGxzSW5wdXRNb2JpbGU6Iuivt+i+k+WFpeaJi+acuuWPtyIsYWxpcGF5X2FjY291bnQ6IkFCQeWPtyIscmVhbF9uYW1lOiLnnJ/lrp7lp5PlkI0iLGJhbmtfYWNjb3VudDoi6ZO26KGM5Y2h5Y+3IixiYW5rX2RpemhpOiLlvIDmiLfnnIHluIIiLGJhbmtfbmFtZToi5byA5oi36KGMIixiYW5rX25ldHdvcms6IuW8gOaIt+e9keeCuSIsc3dpZnRfY29kZToi5Zu96ZmF5pSv5LuY5Luj56CBIixwaG9uZToi6IGU57O755S16K+dIix3ZWNoYXRfYWNjb3VudDoi5oyB5Y2h5Lq65Zyw5Z2AIix3ZWNoYXRfbmlja25hbWU6IlNXSUZU5Luj56CBIixhbGxOZWVkOiLmiYDmnInlnYfkuLrlv4XloavpobkiLHBob25lTnVtYmVyOiLmiYvmnLrlj7ciLGNvZGU6IumqjOivgeeggSIsc2VuZENvZGU6IuWPkemAgemqjOivgeeggSIscGxzSXB0Q29kZToi6K+36L6T5YWl6aqM6K+B56CBIixzY29yZToi5L+h55So5YiGIn0sdHJhbnNhY3Rpb246KGk9e2FjdHVhbFBMOiLlrp7pmYXnm4jkuo8iLGZhdm9yaXRlczoi6Ieq6YCJIixmdXR1cmVzOiLlkIjnuqYiLGNvaW5zOiLluIHluIEiLHN0b2NrOiLogqHnpagiLHRyYWRpbmdQYWlyOiLkuqTmmJPlr7kiLGxhc3RQcmljZToi5pyA5paw5Lu3Iix0b2RheUNoYW5nZToi5LuK5pel5rao6LeM5bmFIixzZWFyY2hQbGFjZWhvbGRlcjoi5pCc57Si5oKo5YWz5b+D55qE5biB56eNL+iCoeelqOWQjeensC/ku6PnoIEiLGhvdFNlYXJjaDoi54Ot6Zeo5pCc57SiIixyZWNlbnRWaWV3OiLmnIDov5Hmn6XnnIsiLGRheUhpZ2g6IuS7iuaXpemrmCIsZGF5TG93OiLku4rml6XkvY4iLG9wdGlvbmFsOiLoh6rpgIkiLGJ1eToi5Lmw5YWlIixzZWxsOiLljZblh7oiLGVudHJ1c3RQZW5kaW5nT3JkZXI6IuWnlOaJmOaMguWNlSIsYWRkT3B0aW9uYWxTdWNjZXNzOiLmt7vliqDoh6rpgInmiJDlip8iLGRlbE9wdGlvbmFsU3VjY2Vzczoi5Yig6Zmk6Ieq6YCJ5oiQ5YqfIixzZWNvbmRzOiLmnJ/mnYMiLGhvbWU6IummlumhtSIsb3JkZXJDb25maXJtOiLorqLljZXnoa7orqQiLGN1cnJlbnRQcmljZToi5b2T5YmN5Lu3IixkaXJlY3Rpb246IuaWueWQkSIsc2VsZWN0VGltZToi6YCJ5oup5Yiw5pyf5pe26Ze0IixudW1iZXI6IuaVsOmHjyIsYmFsYW5jZToi6LSm5oi35L2Z6aKdIixwbHNJcHRDcnROdW1iZXI6Iuivt+i+k+WFpeato+ehrueahOaVsOmHjyIsYnV5UHJpY2U6Iui0reS5sOS7tyIsZXhwZWN0ZWRQTDoi6aKE6K6h55uI5LqPIixjb250aW51ZVRyYWRlOiLnu6fnu63kuqTmmJMiLHNlY29uZHNQb3NpdGlvbjoi5pyf5p2D5oyB5LuTIixwb3NpdGlvbjoi5Zyo5oyBIixoaXN0b3J5OiLljoblj7IiLG9yZGVyVGltZXM6IuiuouWNleaXtumVvyIscGw6IuebiOS6jyIsc2VsbFRpbWU6IuWNluWHuuaXtumXtCIsYnV5dGltZToi5Lmw5YWl5pe26Ze0IixlbmRQcmljZToi5oiQ5Lqk5Lu35qC8In0sKDAsdS5kZWZhdWx0KShpLCJidXkiLCLkubDlhaUiKSwoMCx1LmRlZmF1bHQpKGksInNlbGwiLCLljZblh7oiKSwoMCx1LmRlZmF1bHQpKGksInByaWNlIiwi5Lu35qC8IiksKDAsdS5kZWZhdWx0KShpLCJ0aW1lIiwi5pe26Ze0IiksKDAsdS5kZWZhdWx0KShpLCJvcHRpb25hbCIsIuiHqumAiSIpLCgwLHUuZGVmYXVsdCkoaSwiYnV5Iiwi5Lmw5YWlIiksKDAsdS5kZWZhdWx0KShpLCJzZWxsIiwi5Y2W5Ye6IiksKDAsdS5kZWZhdWx0KShpLCJsb25nIiwi5YGa5aSaIiksKDAsdS5kZWZhdWx0KShpLCJzaG9ydCIsIuWBmuepuiIpLCgwLHUuZGVmYXVsdCkoaSwiZW50cnVzdFBlbmRpbmdPcmRlciIsIuWnlOaJmOaMguWNlSIpLCgwLHUuZGVmYXVsdCkoaSwiYWRkT3B0aW9uYWxTdWNjZXNzIiwi5re75Yqg6Ieq6YCJ5oiQ5YqfIiksKDAsdS5kZWZhdWx0KShpLCJkZWxPcHRpb25hbFN1Y2Nlc3MiLCLliKDpmaToh6rpgInmiJDlip8iKSwoMCx1LmRlZmF1bHQpKGksInByaWNlIiwi5Lu35qC8IiksKDAsdS5kZWZhdWx0KShpLCJhbW91bnQiLCLmlbDph48iKSwoMCx1LmRlZmF1bHQpKGksIm1hcmtldFByaWNlIiwi5biC5Lu3IiksKDAsdS5kZWZhdWx0KShpLCJsaW1pdFByaWNlIiwi6ZmQ5Lu3IiksKDAsdS5kZWZhdWx0KShpLCJudW1iZXIiLCLkuqTmmJPmiYvmlbAiKSwoMCx1LmRlZmF1bHQpKGksIm1hcmdpbiIsIuS/neivgemHkSIpLCgwLHUuZGVmYXVsdCkoaSwiaGFuZGxpbmdGZWUiLCLmiYvnu63otLkiKSwoMCx1LmRlZmF1bHQpKGksImJhbGFuY2UiLCLkvZnpop0iKSwoMCx1LmRlZmF1bHQpKGksIm11bHRpcGxlIiwi5YCN5pWwIiksKDAsdS5kZWZhdWx0KShpLCJyZWNoYXJnZSIsIuWFheWAvCIpLCgwLHUuZGVmYXVsdCkoaSwicGxzSXB0Q29tbWlzc2lvblByaWNlIiwi6K+36L6T5YWl5aeU5omY5Lu35qC8IiksKDAsdS5kZWZhdWx0KShpLCJ0cmFkaW5nUGFpciIsIuS6pOaYk+WvuSIpLCgwLHUuZGVmYXVsdCkoaSwiZGlyZWN0aW9uIiwi5pa55ZCRIiksKDAsdS5kZWZhdWx0KShpLCJwbHNJcHRDcnRQcmljZSIsIuivt+i+k+WFpeato+ehrueahOS7t+agvCIpLCgwLHUuZGVmYXVsdCkoaSwicG9zaXRpb24iLCLmjIHku5MiKSwoMCx1LmRlZmF1bHQpKGksInRpbWUiLCLml7bpl7QiKSwoMCx1LmRlZmF1bHQpKGksInR1cm5vdmVyIiwi5Lqk5piT6aKdIiksKDAsdS5kZWZhdWx0KShpLCJvcGVyYXRpb24iLCLmk43kvZwiKSwoMCx1LmRlZmF1bHQpKGksInR5cGUiLCLnsbvlnosiKSwoMCx1LmRlZmF1bHQpKGksImNvdmVyIiwi5bmz5LuTIiksKDAsdS5kZWZhdWx0KShpLCJjb25maXJtQ292ZXIiLCLnoa7orqTlubPku5PlkJfvvJ8iKSwoMCx1LmRlZmF1bHQpKGksImNvbmZpcm1TZWxmSG9sZCIsIuehruWumui9rOiHquaMgeWQl++8nyIpLCgwLHUuZGVmYXVsdCkoaSwic2VsZkhvbGRpbmciLCLoh6rmjIEiKSwoMCx1LmRlZmF1bHQpKGksInRyYW5zU2VsZkhvbGQiLCLovazoh6rmjIEiKSwoMCx1LmRlZmF1bHQpKGksImRlbGVnYXRlTGlzdCIsIuWnlOaJmOWIl+ihqCIpLCgwLHUuZGVmYXVsdCkoaSwicmlza1JhdGUiLCLpo47pmannjociKSwoMCx1LmRlZmF1bHQpKGksInRvdGFsUGFuZEwiLCLmjIHku5PmgLvmlLbnm4oiKSwoMCx1LmRlZmF1bHQpKGksIm9uZUNsaWNrQ292ZXIiLCLkuIDplK7lubPku5MiKSwoMCx1LmRlZmF1bHQpKGksIm9wZW4iLCLlvIDku5Pku7ciKSwoMCx1LmRlZmF1bHQpKGksInRhcmdldFByb2ZpdFByaWNlIiwi5q2i55uI5Lu3IiksKDAsdS5kZWZhdWx0KShpLCJ1cGRhdGVQcmljZSIsIuW9k+WJjeS7tyIpLCgwLHUuZGVmYXVsdCkoaSwic3RvcExvc3NQcmljZSIsIuatouaNn+S7tyIpLCgwLHUuZGVmYXVsdCkoaSwib3Zlcm5pZ2h0TW9uZXkiLCLpmpTlpJzotLkiKSwoMCx1LmRlZmF1bHQpKGksIm9wZW5UaW1lIiwi5byA5LuT5pe26Ze0IiksKDAsdS5kZWZhdWx0KShpLCJsb3RzIiwi5omLIiksKDAsdS5kZWZhdWx0KShpLCJzZXRQcm9maXRMb3NzIiwi6K6+572u5q2i55uI5q2i5o2fIiksKDAsdS5kZWZhdWx0KShpLCJleHBlY3RlZFByb2ZpdCIsIumihOacn+ebiOWIqSIpLCgwLHUuZGVmYXVsdCkoaSwiZXhwZWN0ZWRMb3NzIiwi6aKE5pyf5LqP5o2fIiksKDAsdS5kZWZhdWx0KShpLCJjb3ZlckFsbCIsIuWFqOmDqOW5s+S7kyIpLCgwLHUuZGVmYXVsdCkoaSwib25seUNvdmVyTWFueSIsIuWPquW5s+WkmuWNlSIpLCgwLHUuZGVmYXVsdCkoaSwib25seUNvdmVyRW1wdHkiLCLlj6rlubPnqbrljZUiKSwoMCx1LmRlZmF1bHQpKGksIm51bWJlcnMiLCLmlbDph48iKSwoMCx1LmRlZmF1bHQpKGksImNvaW5CdXlQcmljZSIsIuS7peW9k+WJjeacgOS8mOS7t+agvOS6pOaYkyIpLCgwLHUuZGVmYXVsdCkoaSwiamluZSIsIumHkeminSIpLCgwLHUuZGVmYXVsdCkoaSwicF9qaW5lIiwi6K+36L6T5YWl6YeR6aKdIiksKDAsdS5kZWZhdWx0KShpLCJwX3ByaWNlIiwi6K+36L6T5YWl5Lu35qC8IiksKDAsdS5kZWZhdWx0KShpLCJwX2NvbmZpcm1fc2oiLCLnoa7lrprku6XluILku7ciKSwoMCx1LmRlZmF1bHQpKGksInBfY29uZmlybV94al8xIiwi56Gu5a6a5Lul546w5Lu3IiksKDAsdS5kZWZhdWx0KShpLCJwX2NvbmZpcm1fbWEiLCLlkJfvvJ8iKSwoMCx1LmRlZmF1bHQpKGksInN0YXR1cyIsIueKtuaAgSIpLCgwLHUuZGVmYXVsdCkoaSwiY29tcGxldGUiLCLlt7LlrozmiJAiKSwoMCx1LmRlZmF1bHQpKGksImRvaW5nIiwi6L+b6KGM5LitIiksKDAsdS5kZWZhdWx0KShpLCJjdXJyZW50RW50cnVzdCIsIuW9k+WJjeWnlOaJmCIpLCgwLHUuZGVmYXVsdCkoaSwiYWxsRW50cnVzdCIsIuWFqOmDqOWnlOaJmCIpLCgwLHUuZGVmYXVsdCkoaSwiZW50cnVzdCIsIuWnlOaJmCIpLCgwLHUuZGVmYXVsdCkoaSwiZW50cnVzdFRpbWUiLCLlp5TmiZjml7bpl7QiKSwoMCx1LmRlZmF1bHQpKGksImFsbCIsIuWFqOmDqCIpLCgwLHUuZGVmYXVsdCkoaSwiYnV5VXAiLCLkubDlpJoiKSwoMCx1LmRlZmF1bHQpKGksImJ1eURvd24iLCLkubDlsJEiKSwoMCx1LmRlZmF1bHQpKGksImp5ZSIsIuS6pOaYk+minSIpLGkpLGZ1bmQ6KHM9e292ZXJ2aWV3OiLmgLvop4giLGJhbGFuY2U6IuS9meminSIsZnV0dXJlczoi5ZCI57qmIixkZXBvc2l0OiLlrZjmrL4iLG1pbmluZzoi6LSo5oq86LWa5biBIixzdG9jazoi6IKh56WoIixtYXJnaW46Iui2hee6p+adoOadhiIseWVzdGVyZGF5RWFybmluZ3M6IuaYqOaXpeaUtuebiiIseWllbGRBdE1hdHVyaWx5OiLliLDmnJ/mlLbnm4oiLHRvdGFsa1JldmVudWU6IuaAu+aUtuebiiIsY3VycmVudFByb2ZpdDoi5b2T5YmN55uI5LqPIixwcm9maXRSYXRpbzoi55uI5LqP546HIixyZWNlaXZlOiLlhYXlgLwv5pS25qy+Iix0cmFuc2Zlcjoi5o+Q546wL+i9rOi0piIsZmluYW5jaWFsOiLph5Hono3nkIbotKIiLHZhbHVhdGlvbjoi5Lyw5YC8IixjdXJyZW50RWFybmluZ3M6IuW9k+WJjeaUtuebiiIseWVzdGVyZGF5SW5jb21lOiLmmKjml6XmlLbnm4oiLGNyeXB0bzoi5pWw5a2X6LSn5biBIixmaWF0OiLms5XluIEiLGhpZGVTbWFsbEN1cnJlbmN5OiLpmpDol4/lsI/pop3luIHnp40iLGF2YWlsYWJsZToi5Y+v55SoIixmcmVlemU6IuWGu+e7kyIsZXF1aXZhbGVudDoi5oqY5ZCIIix1c2R0bToiVeacrOS9jSIsY29pbm06IuW4geacrOS9jSIsZXhjaGFuZ2U6IuW4geW4gSIsbGV2ZXJhZ2U6IuWQiOe6piJ9LCgwLHUuZGVmYXVsdCkocywiZmlhdCIsIuazleW4gSIpLCgwLHUuZGVmYXVsdCkocywic2Vjb25kIiwi5pyf5p2DIiksKDAsdS5kZWZhdWx0KShzLCJjb252ZXJ0Iiwi5oC76LWE5Lqn5oqY5ZCIIiksKDAsdS5kZWZhdWx0KShzLCJjb252ZXJ0MiIsIui1hOS6p+aKmOWQiCIpLCgwLHUuZGVmYXVsdCkocywicmVjb3JkIiwi5biQ5Y+Y6K6w5b2VIiksKDAsdS5kZWZhdWx0KShzLCJhdmFpbGFibGVRdW90YSIsIuWPr+eUqOmineW6piIpLCgwLHUuZGVmYXVsdCkocywibG9ja2VkIiwi6ZSB5a6aIiksKDAsdS5kZWZhdWx0KShzLCJjb252ZXJ0ZWQiLCLmipjlkIgiKSwoMCx1LmRlZmF1bHQpKHMsImFjY291bnQiLCLotKbmiLciKSwoMCx1LmRlZmF1bHQpKHMsImZpbmFuY2lhbFJlY29yZHMiLCLotKLliqHorrDlvZUiKSwoMCx1LmRlZmF1bHQpKHMsIm51bWJlciIsIuaVsOmHjyIpLCgwLHUuZGVmYXVsdCkocywicmVjb3JkMiIsIuiusOW9lSIpLCgwLHUuZGVmYXVsdCkocywidGltZSIsIuaXtumXtCIpLCgwLHUuZGVmYXVsdCkocywidHJhbnNmZXIiLCLluIHluIHliJLovawiKSwoMCx1LmRlZmF1bHQpKHMsImZyb20iLCLku44iKSwoMCx1LmRlZmF1bHQpKHMsInRvIiwi6IezIiksKDAsdS5kZWZhdWx0KShzLCJ0cmFuc2Zlck51bWJlciIsIuWIkui9rOaVsOmHjyIpLCgwLHUuZGVmYXVsdCkocywieW91R2V0Iiwi5L2g5bCG5b6X5YiwIiksKDAsdS5kZWZhdWx0KShzLCJleGNoYW5nZVJhdGUiLCLlhZHmjaLmsYfnjociKSwoMCx1LmRlZmF1bHQpKHMsImhhbmRsaW5nRmVlIiwi5omL57ut6LS5IiksKDAsdS5kZWZhdWx0KShzLCJmdW5kVHJhbnNmZXIiLCLotYTph5HliJLovawiKSwoMCx1LmRlZmF1bHQpKHMsImluc3VmZmljaWVudEJhbGFuY2UiLCLkvZnpop3kuI3otrMiKSwoMCx1LmRlZmF1bHQpKHMsIm5lZWRIYW5kbGluZ0ZlZSIsIuWPpumcgOaJi+e7rei0uSIpLCgwLHUuZGVmYXVsdCkocywicGxzSXB0Q3J0TnVtYmVyIiwi6K+36L6T5YWl5q2j56Gu55qE5pWw6YePIiksKDAsdS5kZWZhdWx0KShzLCJjX3RyYW5zZmVyIiwi56Gu5a6a5YiS6L2s5ZCX77yfIiksKDAsdS5kZWZhdWx0KShzLCJzZWxlY3RDdXJyZW5jeSIsIumAieaLqeW4geenjSIpLCgwLHUuZGVmYXVsdCkocywiRElHSUNDWSIsIuaVsOWtl+i0p+W4gSIpLCgwLHUuZGVmYXVsdCkocywic2F2ZVFyY29kZSIsIuS/neWtmOS6jOe7tOeggSIpLCgwLHUuZGVmYXVsdCkocywiY29weUFkZHJlc3MiLCLlpI3liLbpk77mjqXlnLDlnYAiKSwoMCx1LmRlZmF1bHQpKHMsInBsc1RyYW5zIiwi6K+35b6A5q2k5Zyw5Z2A5YiS6L2sIiksKDAsdS5kZWZhdWx0KShzLCJyZWNoYXJnZU51bWVyIiwi5YWF5YC85pWw6YePIiksKDAsdS5kZWZhdWx0KShzLCJwYXltZW50Vm91Y2hlciIsIuaUr+S7mOWHreivgSIpLCgwLHUuZGVmYXVsdCkocywicGxzSXB0UmVjaGFyZ2VOdW1lciIsIuivt+i+k+WFpeWFheWAvOaVsOmHjyIpLCgwLHUuZGVmYXVsdCkocywicGxzVXBsb2FkUGF5bWVudFZvdWNoZXIiLCLor7fkuIrkvKDmlK/ku5jlh63or4EiKSwoMCx1LmRlZmF1bHQpKHMsInBsc0lwdENydEFtb3VudCIsIuivt+i+k+WFpeato+ehrueahOmHkeminSIpLCgwLHUuZGVmYXVsdCkocywid2l0aGRyYXciLCLmj5DnjrAv6L2s6LSmIiksKDAsdS5kZWZhdWx0KShzLCJjdXJyZW5jeU5hbWUiLCLluIHnp43lkI3np7AiKSwoMCx1LmRlZmF1bHQpKHMsInRyYW5zYWN0aW9uSW5mbyIsIuS6pOaYk+i0puaItyIpLCgwLHUuZGVmYXVsdCkocywid2l0aGRyYXcyIiwi5o+Q546wIiksKDAsdS5kZWZhdWx0KShzLCJjYW5Vc2UiLCLlj6/nlKgiKSwoMCx1LmRlZmF1bHQpKHMsImFsbCIsIuWFqOmDqCIpLCgwLHUuZGVmYXVsdCkocywicGxzSXB0V2l0aGRyYXdOdW1iZXIiLCLor7fovpPlhaXmj5DnjrDmlbDph48iKSwoMCx1LmRlZmF1bHQpKHMsIndpdGhkcmF3TnVtYmVyIiwi5o+Q546w5pWw6YePIiksKDAsdS5kZWZhdWx0KShzLCJyZW1hcmsiLCLlpIfms6giKSwoMCx1LmRlZmF1bHQpKHMsImhhbmRsaW5nRmVlIiwi5omL57ut6LS5IiksKDAsdS5kZWZhdWx0KShzLCJjYW5HZXROdW1iZXIiLCLliLDotKbmlbDph48iKSwoMCx1LmRlZmF1bHQpKHMsImxlYXN0TnVtYmVyIiwi5pyA5L2O5o+Q546w5pWw6YePIiksKDAsdS5kZWZhdWx0KShzLCJjb2luVHlwZSIsIuW4geenjSIpLCgwLHUuZGVmYXVsdCkocywiYWRkcmVzcyIsIuWcsOWdgCIpLCgwLHUuZGVmYXVsdCkocywiZGF0ZSIsIuaXpeacnyIpLCgwLHUuZGVmYXVsdCkocywid2l0aGRyYXdBZGRyZXNzIiwi5o+Q5biB5Zyw5Z2AIiksKDAsdS5kZWZhdWx0KShzLCJwbHNTZWxlY3RXaXRoZHJhd0FkZHJlc3MiLCLor7fpgInmi6nmj5DluIHlnLDlnYAiKSwoMCx1LmRlZmF1bHQpKHMsIndpdGhkcmF3VG9DYXJkIiwi5o+Q5Yiw6ZO26KGM5Y2hIiksKDAsdS5kZWZhdWx0KShzLCJ3aXRoZHJhd1RvQ2FyZEludGVybmF0aW9uYWwiLCLmj5DliLDlm73pmYXpk7booYzljaEiKSwoMCx1LmRlZmF1bHQpKHMsIndpdGhkcmF3VG9BZGRyZXNzIiwi5o+Q5Yiw6ZKx5YyF5Zyw5Z2AIiksKDAsdS5kZWZhdWx0KShzLCJjYXJkIiwi6ZO26KGM5Y2hIiksKDAsdS5kZWZhdWx0KShzLCJhZGRDYXJkIiwi5re75Yqg6ZO26KGM5Y2hIiksKDAsdS5kZWZhdWx0KShzLCJwbHNBZGRDYXJkIiwi6K+35re75Yqg6ZO26KGM5Y2hIiksKDAsdS5kZWZhdWx0KShzLCJjelN0YXRlTG9hZGluZyIsIuWuoeaguOS4rSIpLCgwLHUuZGVmYXVsdCkocywiY3pTdGF0ZU9rIiwi5a6h5qC45oiQ5YqfIiksKDAsdS5kZWZhdWx0KShzLCJjelN0YXRlTm8iLCLlrqHmoLjlpLHotKUiKSxzKSxpZW86e3N1YnNjcmliZToi6K6k6LStIixpbmc6Iui/m+ihjOS4rSIsZG9uZToi5bey57uT5p2fIixhcHBseVN1YnNjcmlwdGlvbjoi55Sz6K+36K6k6LStIixyZW1haW5pbmc6IuWJqeS9mSIsbG9ja1BlcmlvZDoi6LSo5oq85ZGo5pyfIixlbmRUaW1lOiLnu5PmnZ/ml7bpl7QiLHN1YnNjcmliZUN1cnJlbmN5OiLorqTotK3luIHnp40iLGlzc3VhbmNlUHJpY2U6IuWPkeihjOS7t+agvCIsdG90YWxJc3N1YW5jZToi5Y+R6KGM5oC76YePIix3aGl0ZVBhcGVyOiLnmb3nmq7kuaYiLHN1YnNjcmlwdGlvbkN5Y2xlOiLnlLPotK3lkajmnJ8iLHdhcm1VcDoi6aKE54OtIix3ZWJzaXRlOiLlrpjnvZEiLGZpbmlzaDoi57uT5p2fIixwcm9qZWN0RGV0YWlsczoi6aG555uu6K+m5oOFIixzdWJzY3JpcHRpb25Db25maXJtYXRpb246IuiupOi0reehruiupCIscF9hcHBsaWNhdGlvbnNOdW1iZXI6Iui+k+WFpeiupOi0reaVsOmHjyIsbmVlZFRvUGF5OiLpnIDopoHmlK/ku5giLGN1cnJlbnRCYWxhbmNlOiLlvZPliY3kvZnpop0iLHN1YnNjcmlwdGlvblRpbWU6IueUs+i0reaXtumXtCIsY3VycmVuY3k6IuW4geenjSIsYXBwbGljYXRpb25zTnVtYmVyOiLnlLPor7fmlbDph48iLHBhc3Nlc051bWJlcjoi6YCa6L+H5pWw6YePIix0aW1lVG9NYXJrZXQ6IuS4iuW4guaXtumXtCIsZGF5OiLlpKkiLHRvdGFsOiLmgLvph48iLHN1YnNjcmliZWQ6IuW3suiupOi0rSIsc2hlbmdvdToi55Sz6LStIixpbnN1ZmZpY2llbnRCYWxhbmNlOiLkvZnpop3kuI3otrMiLHBfbnVtYmVyOiLor7fovpPlhaXmlbDph48iLG15U3Vic2NyaWJlOiLmiJHnmoTorqTotK0ifSxsb2NrbWluZzp7bG9ja21pbmc6Iui0qOaKvCIsZnVuZHNVbmRlckN1c3RvZHk6Iuato+WcqOaJmOeuoeeahOi1hOmHkSIsZW50cnVzdGVkT3JkZXJzOiLlp5TmiZjorqLljZUiLGVzdGltYXRlZFRvZGF5SW5jb21lOiLpooTorqHlvZPml6Xlm57miqXph5Hpop0iLGN1bXVsYXRpdmVJbmNvbWU6Iue0r+iuoeaUtuebiiIsb3JkZXJzSW5DdXN0b2R5OiLmiZjnrqHkuK3nmoTorqLljZUiLGxvY2tlZFBvc2l0aW9uc1RvRWFybkNvaW5zOiLotKjmirzotZrluIEiLGxvY2tlZFBvc2l0aW9uczoi6LSo5oq8IixtaW5pbXVtU2luZ2xlVHJhbnNhY3Rpb246IuWNleeslOacgOWwkSIsZGFpbHlZaWVsZDoi5pel5pS255uK546HIixsb2NrVXBQZXJpb2Q6Iui0qOaKvOWRqOacnyIsYWNxdWlzaXRpb246IuiOt+W+lyIscmVjZW50RGF5czoi6L+R5pelIixkaXZpZGVuZFRpbWU6Iua0vuaBr+aXtumXtCIsZXNjcm93RnVuZHM6IuaJmOeuoei1hOmHkSIscmVkZW1wdGlvbkluQWR2YW5jZToi5o+Q5YmN6LWO5ZueIixlc3RpbWF0ZWRJbmNvbWU6IumihOiuoeaUtuebiiIsYXZhaWxhYmxlQXNzZXRzOiLlj6/nlKjotYTkuqciLGludmVzdG1lbnRBbW91bnRPYnRhaW5lZDoi5oqV6LWE6YeR6aKd6I635b6XIixhbGw6IuWFqOmDqCIsbF9hbGVydF8xOiLmjJbnn7/otZrkuI3lgZwiLGxfYWxlcnRfMjoi6LSo5oq85oyW55+/5piv6YCa6L+H5bCGVVNEVOaJmOeuoee7meW5s+WPsOi2heeul+WKm+efv+acuuWcqOW5s+WPsOefv+axoOS4rei/m+ihjOaMluefv+aUtuebiiIsZmVhdHVyZXM6IuS6p+WTgeS6rueCuSIsb25EZW1hbmQ6Iumaj+WtmOmaj+WPliIsZGl2aWRlbmRQZXJpb2Q6Iua0vuaBr+WRqOacnyIsaXNzdWVkRGFpbHk6Iuavj+aXpeS4i+WPkSIsY3VycmVudEludGVyZXN0OiLmtLvmnJ/liKnmga8iLGZlYXR1cmVfMToiMTAwJei1hOmHkeWuieWFqDxicj7kv53pmpwiLGZlYXR1cmVfMjoi6IqC5YGH5pel5pS255uKPGJyPuS4jeeugOaWrSIsZmVhdHVyZV8zOiLmiJDlip/lrZjlhaXlkI48YnI+5b2T5aSp6LW35oGvIixmb3JJbnN0YW5jZToi5Li+5Liq5L6L5a2QIixpbmNvbWVDYWxjdWxhdGlvbjoi5pS255uK6K6h566XIixmb3JJbnN0YW5jZURlc2M6IuS8muWRmOWcqOW5s+WPsOi0qOaKvDEwMDAwVe+8jOWmgumAieaLqeS6huWRqOacn+S4ujflpKnvvIzml6Xkuqflh7rkuLrotKjmirzph5Hpop3nmoQwLjI1JeeahOeQhui0ouS6p+WTge+8jOWImeavj+WkqeS6p+WHuuWmguS4i++8mjxiciAvPjEwMDAwICogMC4yNSUgPSAyNSBVU0RUPGJyIC8+5Y2zN+WkqeWQjuWPr+S7peiOt+W+lzI1ICogNyA9IDE3NSBVU0RU55qE5pS255uK77yM5pS255uK5q+P5pel5LiL5Y+R77yM5LiL5Y+R55qE5pS255uK5Y+v6ZqP5pe25a2Y5Y+W77yM6LSo5oq85pys6YeR5Yiw5pyf5ZCO77yM6Ieq5Yqo6L2s5YWl5oKo55qE6LWE6YeR6LSm5oi344CCIixhYm91dExpcXVpZGF0ZWREYW1hZ2VzOiLlhbPkuo7ov53nuqbph5EiLGFib3V0TGlxdWlkYXRlZERhbWFnZXNDb250ZW50OiLoi6XmgqjluIzmnJvovazlh7rmnKrliLDmnJ/nmoTmnKzph5HvvIzliJnkvJrkuqfnlJ/ov53nuqbph5HvvIzov53nuqbph5EyNSUs5L6L5aaC77yaPGJyIC8+MTAwMDAqMjUlPTI1MDBVO+WImei1juWbnui1hOmHkeS4ujEwMDAwLTI1MDA9NzUwMFXjgIIiLGpvaW5Ob3c6IuaIkeimgeWPguWKoCIsZGF5OiLlpKkiLGRhaWx5OiLmr4/ml6UiLHJldHVybk9uRXhwaXJhdGlvbjoi5Yiw5pyf6L+U5ZueIixnZXQ6IuiOt+W+lyIsbnVtYmVyT2ZDb2luc0RlcG9zaXRlZDoi5a2Y5biB5pWw6YePIixzdWJzY3JpYmU6IuiupOi0rSIsaW5zdWZmaWNpZW50QmFsYW5jZToi5L2Z6aKd5LiN6LazIixwX251bWJlcjoi6K+36L6T5YWl5pWw6YePIixsZWFzdFNpbmdsZToi5Y2V56yU5pyA5bCRIixsb2NrZWRQb3NpdGlvbkxpc3Q6Iui0qOaKvOWIl+ihqCIsaW5Qcm9ncmVzczoi6L+b6KGM5LitIixyZWRlZW1lZDoi5bey6LWO5ZueIixleHBpcnlUaW1lOiLliLDmnJ/ml7bpl7QiLGxvY2tVcFRpbWU6Iui0qOaKvOaXtumXtCIsc3RhcnRUaW1lOiLlvIDlp4vml7bpl7QiLGVhcmx5UmVkZW1wdGlvblBlbmFsdHk6IuaPkOWJjei1juWbnui/nee6pumHkSIscmVkZW1wdGlvbjoi6LWO5ZueIixjX3JlZGVtcHRpb246IuehruWumuaPkOWJjei1juWbnuWQl++8nyJ9LGludmVzdDp7aW52ZXN0OiLnkIbotKIiLHNlY3Rpb246IuS4k+WMuiIscGVyUHJpY2U6IuWNleS7veS7t+agvCIsYXByOiLlubTljJbmlLbnm4rnjociLGxpbmtlZFJlZmVyZW5jZVByaWNlOiLmjILpkqnlj4LogIPku7ciLGhvbGRpbmdEYXlzOiLmjIHku5PmnJ/pmZAiLG1hdHVyaXR5RGF0ZToi5Yiw5pyf5pelIixyZW1haW5pbmdTaGFyZXM6IuWJqeS9meS7veminSIscHJvZ3Jlc3M6IuW9k+WJjei/m+W6piIsYWN0aW9uOiLmk43kvZwiLHB1cmNoYXNlOiLotK3kubAiLG15UG9zaXRpb246IuaIkeeahOeQhui0oiIsYnV5U2hhcmVzOiLkubDlhaXku73pop0iLGVzdGltYXRlZEluY29tZToi6aKE6K6h5pS255uKIixkYXk6IuWkqSIsc2hhcmU6IuS7vSIsZmFpbDoi5aSx6LSlIixwdXJjaGFzZWQ6IuW3suS5sOWFpSIsc2V0dGxlbWVudGluZzoi57uT566X5LitIixzdWNjZXNzOiLlt7LlrozmiJAiLGFsbDoi5YWo6YOoIixuYW1lOiLlkI3np7AiLHJlbWFpbjoi5Ymp5L2ZIixpbnN0cnVjdGlvbjoi5Lqn5ZOB6K+05piOIixoZWxwOiLluK7liqkiLHNodW9taW5nXzE6IjEu5pys5Lqn5ZOB5Li66Z2e5L+d5pys55CG6LSi5Lqn5ZOB77yM5biC5Zy65rOi5Yqo5Y+v6IO95a+86Ie05pys6YeR5o2f5aSx77yM6K+36LCo5oWO5oqV6LWELiIsc2h1b21pbmdfMjoiMi7lm57mrL7nu5Pnrpfop4TliJnvvJoiLHNodW9taW5nXzM6IuWmguaenOe7k+eul+S7t++8nOaMgumSqeS7t++8jOWIsOacn+WQjue7k+eul0JUQ++8m+e7k+eul+aVsOmHjz3mipXotYTph5Hpop0qKDEr5aSp5pWwKuW5tOWMluaUtuebiueOhy8zNjUpLiIsc2h1b21pbmdfNDoi5aaC5p6c57uT566X5Lu34oml5oyC6ZKp5Lu377yM5Yiw5pyf5ZCO57uT566XVVNEVO+8m+e7k+eul+aVsOmHjz3mipXotYTph5Hpop0q5oyC6ZKp5Lu3KigxK+WkqeaVsCrlubTljJbmlLbnm4rnjocvMzY177yJLiIsc2h1b21pbmdfNToiMy7lrp7pmYXlubTljJbmlLbnm4rnjofpmo/luILlnLrlrp7ml7blj5jliqjvvIzor7fku6Xlrp7pmYXkubDlhaXmiJDkuqTkuLrlh4YuIixzaHVvbWluZ182OiI0LuaKlei1hOmHkeminemaj+W4guWcuuWunuaXtuaKmOeul+W+l+WHuu+8jOivt+S7peWunumZheS5sOWFpeaIkOS6pOS4uuWHhi4iLHNodW9taW5nXzc6IjUu5Lqn5ZOB6LSt5Lmw5ZCO5Y+v5Zyo5oiR55qE5oyB5biB6aG16Z2i6L+b6KGM5p+l55yL77yM5Yiw5pyf57uT5p2f5ZCO5Zue5qy+5Lya6Ieq5Yqo5Y+R5pS+6Iez546w6LSn6LSm5oi3LiIsZXJyb3JfMToi6K+36L6T5YWl6LSt5Lmw5pWw6YePIixlcnJvcl8yOiLotK3kubDmlbDph4/lupTkuLrmlbTmlbAiLGNvbmZpcm1QdXJjaGFzZToi56Gu5a6a6LSt5Lmw6K+l55CG6LSi5Lqn5ZOB5ZCX77yfIixwdXJjaGFzZVN1Y2Nlc3M6Iui0reS5sOaIkOWKnyEifSxmb2xsb3c6KGM9e2ZvbGxvdzoi6Lef5Y2VIix0cmFkZXJMaXN0OiLkuqTmmJPlkZjliJfooagiLHRvdGFsUHJvZml0OiLmgLvnm4jkuo8iLGNvcnJlY3RSYXRlOiLmgLvlh4bnoa7njociLHBvc2l0aW9uVmFsdWF0aW9uOiLmjIHku5PkvLDlgLwiLGVzdGltYXRlZFByb2ZpdFRvZGF5OiLku4rml6XpooTorqHmlLbnm4oiLHJhdGVPZlJldHVybjoi5pS255uK546HIixiZWNvbWVBVHJhZGVyOiLmiJDkuLrkuqTmmJPlkZgifSwoMCx1LmRlZmF1bHQpKGMsInRyYWRlckxpc3QiLCLkuqTmmJPlkZjliJfooagiKSwoMCx1LmRlZmF1bHQpKGMsIm9ubHlTaG93c1RoZVBvc2l0aW9uIiwi5LuF5pi+56S65pyJ5L2N572uIiksKDAsdS5kZWZhdWx0KShjLCJ0aGVEYXRhSXNVcGRhdGVkRXZlcnlIb3VyIiwi5pWw5o2u5q+P5bCP5pe25pu05paw5LiA5qyhIiksKDAsdS5kZWZhdWx0KShjLCJmb2xsb3dpbmciLCLot5/ljZXkuK0iKSwoMCx1LmRlZmF1bHQpKGMsImZvbGxvdyIsIui3n+WNlSIpLCgwLHUuZGVmYXVsdCkoYywiY29uZmlybUZvbGxvdyIsIuehruWumui3n+maj+WQl++8nyIpLCgwLHUuZGVmYXVsdCkoYywiY29uZmlybUNhbmNlbCIsIuehruWumuWPlua2iOi3n+maj++8nyIpLCgwLHUuZGVmYXVsdCkoYywiZm9sbG93VHJhZGVyIiwi6Lef6ZqP5Lqk5piT5ZGYIiksKDAsdS5kZWZhdWx0KShjLCJlZGl0Q29weSIsIue8lui+kei3n+majyIpLCgwLHUuZGVmYXVsdCkoYywiYmVmb3JlQ29weSIsIumAieaLqei3n+maj+S5i+WJjeivt+S7lOe7humYheivuyIpLCgwLHUuZGVmYXVsdCkoYywiY29weUFncmVlbWVudCIsIui3n+maj+WNj+iuriIpLCgwLHUuZGVmYXVsdCkoYywiY29weVR5cGUiLCLot5/pmo/mlrnlvI8iKSwoMCx1LmRlZmF1bHQpKGMsImNvcHlUeXBlMSIsIuWbuuWumuWAjeaVsOi3n+majyIpLCgwLHUuZGVmYXVsdCkoYywiY29weVR5cGUyIiwi5Zu65a6a5omL5pWw6Lef6ZqPIiksKDAsdS5kZWZhdWx0KShjLCJjb3B5QWxlcnQxIiwi5peg6K665Lqk5piT5ZGY5LiL5Y2V5aSa5bCR77yM5oKo6YO95oyJ6YCJ5oup55qE5Zu65a6a5YCN5pWw6Lef6ZqP44CCIiksKDAsdS5kZWZhdWx0KShjLCJjb3B5QWxlcnQyIiwiKOW9k+avlOS+i+aJi+aVsD4x5LiU5LiN5Li65pW05pWw5pe277yM5Zub6IiN5LqU5YWl5L+d55WZ5Lik5L2N5bCP5pWw5Y+W5YC877yJIiksKDAsdS5kZWZhdWx0KShjLCJjb3B5TXVsdGlwbGUiLCLot5/pmo/lgI3mlbAiKSwoMCx1LmRlZmF1bHQpKGMsImNhbmNlbENvcHkiLCLlj5bmtojot5/pmo8iKSwoMCx1LmRlZmF1bHQpKGMsImN1cnJlbnRGb2xsb3dlck51bWJlciIsIuW9k+WJjei3n+maj+S6uuaVsCIpLCgwLHUuZGVmYXVsdCkoYywidG90YWxQcm9maXRBbmRMb3NzIiwi5oC755uI5LqPIiksKDAsdS5kZWZhdWx0KShjLCJ0b3RhbFJldHVybiIsIuaAu+aUtuebiueOhyIpLCgwLHUuZGVmYXVsdCkoYywiYWNjdXJhY3kiLCLlh4bnoa7njociKSwoMCx1LmRlZmF1bHQpKGMsInByb2ZpdGFibGVPcmRlcnMiLCLnm4jliKnorqLljZUiKSwoMCx1LmRlZmF1bHQpKGMsInN1Y2Nlc3NmdWxTaG9ydFRyYWRlcyIsIuaIkOWKn+WBmuepuuS6pOaYkyIpLCgwLHUuZGVmYXVsdCkoYywic3VjY2Vzc2Z1bExvbmdUcmFkZXMiLCLmiJDlip/lgZrlpJrkuqTmmJMiKSwoMCx1LmRlZmF1bHQpKGMsInllc3RlcmRheXNUcmFkaW5nU3RhdHVzIiwi5pio5pel5Lqk5piT54q25Ya1IiksKDAsdS5kZWZhdWx0KShjLCJjdXJyZW50UG9zaXRpb25zIiwi5b2T5YmN5oyB5LuTIiksKDAsdS5kZWZhdWx0KShjLCJ0b3RhbE9yZGVycyIsIuaAu+iuouWNlSIpLCgwLHUuZGVmYXVsdCkoYywicmVtYWluIiwi5Ymp5L2ZIiksKDAsdS5kZWZhdWx0KShjLCJkaXN0YW5jZUR1ZSIsIui3neemu+WIsOacnyIpLCgwLHUuZGVmYXVsdCkoYywiZGF5cyIsIuWkqSIpLCgwLHUuZGVmYXVsdCkoYywiZGVhZGxpbmUiLCLmnJ/pmZAiKSwoMCx1LmRlZmF1bHQpKGMsInN1YnNjcmlwdGlvbiIsIueUs+i0rSIpLCgwLHUuZGVmYXVsdCkoYywiZm9sbG93VXNlcnMiLCLot5/pmo/nlKjmiLciKSwoMCx1LmRlZmF1bHQpKGMsImZvbGxvd0Ftb3VudCIsIui3n+maj+mHkeminSIpLCgwLHUuZGVmYXVsdCkoYywiZm9sbG93RWFybmluZ3MiLCLot5/pmo/mlLbnm4oiKSwoMCx1LmRlZmF1bHQpKGMsImNhbmNlbEZvbGxvdyIsIuWPlua2iOi3n+majyIpLCgwLHUuZGVmYXVsdCkoYywiY3VycmVudENvcHkiLCLlvZPliY3ot5/ljZUiKSwoMCx1LmRlZmF1bHQpKGMsImhpc3RvcmljYWxDb3B5Iiwi5Y6G5Y+y5Lqk5piTIiksKDAsdS5kZWZhdWx0KShjLCJteVRyYWRlciIsIuaIkeeahOS6pOaYk+WRmCIpLCgwLHUuZGVmYXVsdCkoYywidHJhZGluZ1BhaXIiLCLkuqTmmJPlr7kiKSwoMCx1LmRlZmF1bHQpKGMsIm9wZW4iLCLlvIDku5Pku7ciKSwoMCx1LmRlZmF1bHQpKGMsImNsb3NlIiwi5bmz5LuT5Lu3IiksKDAsdS5kZWZhdWx0KShjLCJlYXJuaW5ncyIsIuaUtuebiiIpLCgwLHUuZGVmYXVsdCkoYywibG90cyIsIuaJi+aVsCIpLCgwLHUuZGVmYXVsdCkoYywidGltZSIsIuS6pOaYk+aXtumXtCIpLCgwLHUuZGVmYXVsdCkoYywiYnV5SW4iLCLkubDlhaUiKSwoMCx1LmRlZmF1bHQpKGMsImJ1eU91dCIsIuWNluWHuiIpLCgwLHUuZGVmYXVsdCkoYywiZGlyZWN0aW9uIiwi5pa55ZCRIiksYyksZmluYW5jaWFsOntwcm9kdWN0OiLkuqflk4EiLHBvc2l0aW9uOiLmjIHmnIkiLGZpbmFuY2lhbDoi6YeR6J6NIixsb2NrbWluZzoi6LSo5oq8IixpZW86IklFTyIsaW52ZXN0OiLmipXotYTnkIbotKIiLHNlY3Rpb246IuS4k+WMuiIsYXByOiLlubTljJbmlLbnm4rnjociLGxpbmtlZFJlZmVyZW5jZVByaWNlOiLmjILpkqnlj4LogIPku7ciLGhvbGRpbmdEYXlzOiLmjIHku5PmnJ/pmZAiLGRheToi5aSpIixsb2NrUGVyaW9kOiLotKjmirzlkajmnJ8iLGluZzoi6L+b6KGM5LitIixkb25lOiLlt7Lnu5PmnZ8iLGFwcGx5U3Vic2NyaXB0aW9uOiLnlLPor7forqTotK0iLHJlbWFpbmluZzoi5Ymp5L2ZIix0b3RhbDoi5oC76YePIixzdWJzY3JpYmVkOiLlt7LorqTotK0iLG1pbmluZzoi6LSo5oq86LWa5biBIixtaW5pbXVtOiLotbciLGRhaWx5UmV0dXJuUmF0ZToi5pel5pS255uK546HIn0sbmZ0OihsPXtuZnQ6Ik5GVCIsYXJ0d29yazoi6Im65pyv5ZOBIixhcnRpc3Q6IuiJuuacr+WutiIsYXJ0d29ya0xpc3Q6IuiJuuacr+WTgeWIl+ihqCIsYXJ0aXN0TGlzdDoi6Im65pyv5a625YiX6KGoIixjb21wcmVoZW5zaXZlU29ydGluZzoi57u85ZCI5o6S5bqPIixuZXdlc3Q6IuacgOaWsOeahCIsaG90ZXN0OiLmnIDng63nmoQiLG1vc3RXb3Jrczoi5L2c5ZOB5pyA5aSaIixtb3N0UG9wdWxhcjoi5pyA5Y+X5qyi6L+OIixyZWNvcmQ6Iui0reS5sOiusOW9lSIscmVjb21tZW5kQXJ0aXN0OiLmjqjojZDnmoToibrmnK/lrrYiLGJ1eToi6LSt5LmwIixhcnRpc3RIb21lcGFnZToi6Im65pyv5a625Li76aG1Iix3b3Jrczoi5L2c5ZOBIixzYWxlZDoi5bey5ZSuIixmYW5zOiLnsonkuJ0iLGFsbFdvcmtzOiLlhajpg6jkvZzlk4EiLG5vdFNlbGw6IuacquWUruWHuiIsbXlDb2xsZWN0OiLmiJHnmoTmlLbol48iLGNvbGxlY3Q6IuaUtuiXj+eahCIsb3duOiLmjIHmnIkiLHBsYWNlQUJpZDoi5Ye65Lu3IixwdXJjaGFzZToi6LSt5LmwIixvcGVuOiLlkI7lvIDmlL4iLGltYWdlOiLlm77niYciLGdpZjoi5Yqo5Zu+IixhdWRpbzoi6Z+z6aKRIix2aWRlbzoi6KeG6aKRIixjcmVhdG9yOiLkvZzogIUiLGN1cnJlbnRCaWQ6IuacgOaWsOWHuuS7tyIscHJpY2U6IuS7t+agvCIsZDoi5aSpIixoOiLml7YiLG06IuWIhiIsczoi56eSIn0sKDAsdS5kZWZhdWx0KShsLCJzYWxlZCIsIuW3sue7k+adnyIpLCgwLHUuZGVmYXVsdCkobCwicGxhY2VfYWxlcnQiLCLnianlk4HmnKrliLDllK7ljZbml7bpl7TmiJblt7Lnu5PmnZ8iKSwoMCx1LmRlZmF1bHQpKGwsImNyZWF0ZWRCeSIsIuS9nOiAhSIpLCgwLHUuZGVmYXVsdCkobCwicGxhY2VfYWxlcnQyIiwi5oKo55qE5Ye65Lu35b+F6aG76auY5LqOIiksKDAsdS5kZWZhdWx0KShsLCJub3RlIiwi6YeN6KaBIiksKDAsdS5kZWZhdWx0KShsLCJDVVJSRU5UX0JJRCIsIuacgOaWsOWHuuS7tyIpLCgwLHUuZGVmYXVsdCkobCwicGxhY2VfYWxlcnQzIiwi5Y+C5LiO56ue5ouN77yM5oKo6ZyA6KaB5pSv5LuYIiksKDAsdS5kZWZhdWx0KShsLCJwbGFjZV9hbGVydDQiLCLnmoTkv53or4Hph5HvvIznq57mi43nu5PmnZ/ml7bvvIzkv53or4Hph5HlsIbov5Tov5joh7PmgqjnmoTotKbmiLfjgIIiKSwoMCx1LmRlZmF1bHQpKGwsInBsYWNlX2FsZXJ0NiIsIuWHuuS7t+aXtumXtOaIquatouWQjizoi6Xmgqjnq57mi43miJDlip/vvIzmgqjlsIbmnInkuIDlpKnnmoTml7bpl7TmlK/ku5jmnIDnu4jku7fmoLzjgILoi6XmlK/ku5jotoXml7bvvIzliJnkvJrmiaPpmaTmgqjnmoTkv53or4Hph5HjgIIiKSwoMCx1LmRlZmF1bHQpKGwsImNvbmZpcm1CaWQiLCLnoa7orqTlh7rku7ciKSwoMCx1LmRlZmF1bHQpKGwsIkRFU0NSSVBUSU9OIiwi5o+P6L+wIiksKDAsdS5kZWZhdWx0KShsLCJBRERSRVNTIiwi5Zyw5Z2AIiksKDAsdS5kZWZhdWx0KShsLCJjb3B5Iiwi5aSN5Yi2IiksKDAsdS5kZWZhdWx0KShsLCJwZXJfaW5jcmVhc2UiLCLmr4/mrKHliqDku7ciKSwoMCx1LmRlZmF1bHQpKGwsImN1cnJlbmN5X3R5cGUiLCLotKfluIHnsbvlnosiKSwoMCx1LmRlZmF1bHQpKGwsInBheV90eXBlIiwi6LSt5Lmw5pa55byPIiksKDAsdS5kZWZhdWx0KShsLCJwYXlfdHlwZV8yIiwi5ZSu5Y2W5pa55byPIiksKDAsdS5kZWZhdWx0KShsLCJub3JtYWwiLCLmma7pgJoiKSwoMCx1LmRlZmF1bHQpKGwsImF1Y3Rpb24iLCLnq57mi40iKSwoMCx1LmRlZmF1bHQpKGwsImNvbmZpcm1BdWN0aW9uIiwi56Gu5a6a5Y+C5LiO56ue5ouN6K+l5ZWG5ZOB5ZCXPyIpLCgwLHUuZGVmYXVsdCkobCwiYmluZEJveCIsIuebsuebkiIpLCgwLHUuZGVmYXVsdCkobCwic2VsbF9zdGF0dXMiLCLllK7ljZbnirbmgIEiKSwoMCx1LmRlZmF1bHQpKGwsImhhc1N0YXJ0Iiwi5bey5byA5aeLIiksKDAsdS5kZWZhdWx0KShsLCJ3aWxsU3RhcnQiLCLmnKrlvIDlp4siKSwoMCx1LmRlZmF1bHQpKGwsImFydHdvcmtfdHlwZSIsIueJqeWTgeexu+WeiyIpLCgwLHUuZGVmYXVsdCkobCwicmVzZXQiLCLph43nva4iKSwoMCx1LmRlZmF1bHQpKGwsImNvbmZpcm0iLCLnoa7lrpoiKSwoMCx1LmRlZmF1bHQpKGwsInBsYWNlX2FsZXJ0NSIsIuivt+i+k+WFpeWFs+mUruivjSIpLCgwLHUuZGVmYXVsdCkobCwiY29sbGVjdGlvbiIsIuW3suaUtuiXjyIpLCgwLHUuZGVmYXVsdCkobCwiYnlDb2xsZWN0aW9uIiwi6KKr5pS26JePIiksKDAsdS5kZWZhdWx0KShsLCJhcnR3b3JrcyIsIuS9nOWTgSIpLCgwLHUuZGVmYXVsdCkobCwiZ29Db2xsZWN0Iiwi5Y675pS26JePIiksKDAsdS5kZWZhdWx0KShsLCJwcmljZSIsIuS7t+agvCIpLCgwLHUuZGVmYXVsdCkobCwibm9uaWNrbmFtZSIsIuacquiuvue9ruaYteensCIpLCgwLHUuZGVmYXVsdCkobCwiY2pkanMiLCLlh7rku7fmiKrmraLml7bpl7QiKSwoMCx1LmRlZmF1bHQpKGwsImNqa3NzaiIsIuWHuuS7t+W8gOWni+aXtumXtCIpLCgwLHUuZGVmYXVsdCkobCwiY2pqenNqIiwi5Ye65Lu35oiq5q2i5pe26Ze0IiksKDAsdS5kZWZhdWx0KShsLCJnb3Rvc2VlIiwi5b+r5Y675biC5Zy655yL55yL5ZCnIiksKDAsdS5kZWZhdWx0KShsLCJwb3NpdGlvbiIsIuaMgeaciSIpLCgwLHUuZGVmYXVsdCkobCwicmVzZWxsIiwi6L2s5Y2WIiksKDAsdS5kZWZhdWx0KShsLCJidXlQcmljZSIsIuS5sOWFpeS7tyIpLCgwLHUuZGVmYXVsdCkobCwiY29uZmlybVJlc2VsbCIsIuehruiupOi9rOWNliIpLCgwLHUuZGVmYXVsdCkobCwid3JvbmdQcmljZSIsIuivt+mAieaLqeato+ehrueahOS7t+agvCIpLCgwLHUuZGVmYXVsdCkobCwiYmlkUGxhY2VkQnkiLCLlh7rku7fkuroiKSwoMCx1LmRlZmF1bHQpKGwsInBsYWNlUmVjb3JkIiwi5Ye65Lu36K6w5b2VIiksKDAsdS5kZWZhdWx0KShsLCJjb25maXJQdXJjaGFzZSIsIuehruiupOi0reS5sCIpLCgwLHUuZGVmYXVsdCkobCwiYXJ0aXN0TGlzdCIsIuiJuuacr+WutuWIl+ihqCIpLCgwLHUuZGVmYXVsdCkobCwiaGFzT3BlbiIsIuW3suW8gOWQryIpLCgwLHUuZGVmYXVsdCkobCwibm9PcGVuIiwi5pyq5byA5ZCvIiksKDAsdS5kZWZhdWx0KShsLCJjbGlja09wZW4iLCLlvIDlkK/nm7Lnm5IiKSwoMCx1LmRlZmF1bHQpKGwsImNvbmZpcm1PcGVuIiwi56Gu6K6k5byA5ZCv55uy55uS5ZCX77yfIiksKDAsdS5kZWZhdWx0KShsLCJtYXJnaW4iLCLkv53or4Hph5EiKSwoMCx1LmRlZmF1bHQpKGwsIndyb25nUHJpY2UiLCLor7fovpPlhaXmraPnoa7nmoTku7fmoLwiKSwoMCx1LmRlZmF1bHQpKGwsIndyb25nUGVySW5jcmVhc2UiLCLor7fovpPlhaXmraPnoa7nmoTliqDku7ciKSwoMCx1LmRlZmF1bHQpKGwsIndyb25nVGltZSIsIue7k+adn+aXtumXtOW6lOaZmuS6jue7k+adn+aXtumXtCIpLCgwLHUuZGVmYXVsdCkobCwiY29uZmlybVJlc2VsbDIiLCLllYblk4HkuIDml6bovazljZbvvIzkuI3lj6/mkqTlm57vvIznoa7lrpropoHovazljZbor6XllYblk4HlkJfvvJ8iKSwoMCx1LmRlZmF1bHQpKGwsInJlc2VsbGluZyIsIui9rOWNluS4rSIpLCgwLHUuZGVmYXVsdCkobCwibWVzc2FnZSIsIua2iOaBr+mAmuefpSIpLCgwLHUuZGVmYXVsdCkobCwiY29uZmlybVBheSIsIuehruWumuaUr+S7mOi0reS5sOivpeWVhuWTgeWQl++8nyIpLCgwLHUuZGVmYXVsdCkobCwiemZkanMiLCLmlK/ku5jlgJLorqHml7YiKSwoMCx1LmRlZmF1bHQpKGwsInBheVRpbWUiLCLmlK/ku5jml7bpl7QiKSwoMCx1LmRlZmF1bHQpKGwsImhhc1JlYWQiLCLlt7Lor7siKSwoMCx1LmRlZmF1bHQpKGwsImxhc3RQcmljZSIsIuacgOe7iOaIkOS6pOS7tyIpLCgwLHUuZGVmYXVsdCkobCwiaXNQYXkiLCLlt7LmlK/ku5giKSwoMCx1LmRlZmF1bHQpKGwsImlzRXhwaXJlZCIsIuW3sui/h+acnyIpLCgwLHUuZGVmYXVsdCkobCwicmFyaXR5Iiwi56iA5pyJ5bqmIiksbCksY29udGFjdDp7Y29udGFjdFVzOiLlnKjnur/lrqLmnI0ifSxhcHByb3ZlOntBdXRoZW50aWNhdGlvblRpcHM6IumHjeaWsOiupOivgeeahOWcsOWdgOS4jue7keWumuWcsOWdgOS4jeWQjCzmmK/lkKbpnIDopoHkv67mlLnlnLDlnYAiLGJyb3dzZXJUaXBzOiLor7flnKjmtY/op4jlmajkuK3miZPlvIAiLHRyY19icm93c2VyVGlwczoi6K+35Zyo5pSv5oyB55qEVFJDMjDpk77nmoTpkrHljIXkuK3miZPlvIAiLHJlY2VydGlmeToi6YeN5paw6K6k6K+BIix2ZXJpZmllZDoi5bey6K6k6K+BIixnb19hdXRoZW50aWNhdGU6IuWOu+iupOivgSIsbm90Y2VydGlmaWVkOiLmnKrorqTor4EifX07dC5kZWZhdWx0PWR9LCI5ZGU4IjpmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO24oIjZhNTQiKSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksdC5kZWZhdWx0PXZvaWQgMDt2YXIgYT1mdW5jdGlvbihlKXt2YXIgdD1hcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXT9hcmd1bWVudHNbMV06MTUwMDt1bmkuc2hvd1RvYXN0KHt0aXRsZTplLGljb246Im5vbmUiLGR1cmF0aW9uOnR9KX07dC5kZWZhdWx0PWF9LCI5ZjVmIjpmdW5jdGlvbihlLHQsbil7ZS5leHBvcnRzPW4ucCsic3RhdGljL2ltYWdlL2ljb24vbG9naW4tYmcucG5nIn0sIjlmZWUiOmZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7bigiNmE1NCIpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0Lm9zPWZ1bmN0aW9uKCl7cmV0dXJuIHVuaS5nZXRTeXN0ZW1JbmZvU3luYygpLnBsYXRmb3JtfSx0LnN5cz1mdW5jdGlvbigpe3JldHVybiB1bmkuZ2V0U3lzdGVtSW5mb1N5bmMoKX19LGEyN2E6ZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtuKCI2YTU0IiksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuZGVmYXVsdD12b2lkIDAsbigiNDEwMCIpO3ZhciBhPWZ1bmN0aW9uKCl7dmFyIGU9YXJndW1lbnRzLmxlbmd0aD4wJiZ2b2lkIDAhPT1hcmd1bWVudHNbMF0/YXJndW1lbnRzWzBdOltdO3JldHVybiBlLnNvcnQoKGZ1bmN0aW9uKCl7cmV0dXJuIE1hdGgucmFuZG9tKCktLjV9KSl9O3QuZGVmYXVsdD1hfSxhNDA2OmZ1bmN0aW9uKGUsdCl7ZS5leHBvcnRzPXtvbkxvYWQ6ZnVuY3Rpb24oKXt0aGlzLiR1Lm1wU2hhcmU9e3RpdGxlOiIiLHBhdGg6IiIsaW1hZ2VVcmw6IiJ9fSxvblNoYXJlQXBwTWVzc2FnZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLiR1Lm1wU2hhcmV9fX0sYTU5ZjpmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGEoZSl7dmFyIHQ9IShhcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXSl8fGFyZ3VtZW50c1sxXSxuPS9eIyhbMC05YS1mQS1mXXszfXxbMC05YS1mQS1mXXs2fSkkLztpZihlPWUudG9Mb3dlckNhc2UoKSxlJiZuLnRlc3QoZSkpe2lmKDQ9PT1lLmxlbmd0aCl7Zm9yKHZhciBhPSIjIixvPTE7bzw0O28rPTEpYSs9ZS5zbGljZShvLG8rMSkuY29uY2F0KGUuc2xpY2UobyxvKzEpKTtlPWF9Zm9yKHZhciByPVtdLGk9MTtpPDc7aSs9MilyLnB1c2gocGFyc2VJbnQoIjB4IitlLnNsaWNlKGksaSsyKSkpO3JldHVybiB0PyJyZ2IoIi5jb25jYXQoclswXSwiLCIpLmNvbmNhdChyWzFdLCIsIikuY29uY2F0KHJbMl0sIikiKTpyfWlmKC9eKHJnYnxSR0IpLy50ZXN0KGUpKXt2YXIgcz1lLnJlcGxhY2UoLyg/OlwofFwpfHJnYnxSR0IpKi9nLCIiKS5zcGxpdCgiLCIpO3JldHVybiBzLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIE51bWJlcihlKX0pKX1yZXR1cm4gZX1mdW5jdGlvbiBvKGUpe3ZhciB0PWU7aWYoL14ocmdifFJHQikvLnRlc3QodCkpe2Zvcih2YXIgbj10LnJlcGxhY2UoLyg/OlwofFwpfHJnYnxSR0IpKi9nLCIiKS5zcGxpdCgiLCIpLGE9IiMiLG89MDtvPG4ubGVuZ3RoO28rKyl7dmFyIHI9TnVtYmVyKG5bb10pLnRvU3RyaW5nKDE2KTtyPTE9PVN0cmluZyhyKS5sZW5ndGg/IjAiK3I6ciwiMCI9PT1yJiYocis9ciksYSs9cn1yZXR1cm4gNyE9PWEubGVuZ3RoJiYoYT10KSxhfWlmKCEvXiMoWzAtOWEtZkEtZl17M318WzAtOWEtZkEtZl17Nn0pJC8udGVzdCh0KSlyZXR1cm4gdDt2YXIgaT10LnJlcGxhY2UoLyMvLCIiKS5zcGxpdCgiIik7aWYoNj09PWkubGVuZ3RoKXJldHVybiB0O2lmKDM9PT1pLmxlbmd0aCl7Zm9yKHZhciBzPSIjIixjPTA7YzxpLmxlbmd0aDtjKz0xKXMrPWlbY10raVtjXTtyZXR1cm4gc319bigiNmE1NCIpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LmRlZmF1bHQ9dm9pZCAwLG4oImFhOWMiKSxuKCI1YzQ3IiksbigiMDUwNiIpLG4oImMyMjMiKSxuKCJmN2E1IiksbigiZTk2NiIpLG4oImExYzEiKSxuKCJmZDNjIiksbigiNjRhYSIpLG4oImM5YjUiKSxuKCJiZjBmIiksbigiYWI4MCIpO3ZhciByPXtjb2xvckdyYWRpZW50OmZ1bmN0aW9uKCl7Zm9yKHZhciBlPWFyZ3VtZW50cy5sZW5ndGg+MCYmdm9pZCAwIT09YXJndW1lbnRzWzBdP2FyZ3VtZW50c1swXToicmdiKDAsIDAsIDApIix0PWFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXToicmdiKDI1NSwgMjU1LCAyNTUpIixuPWFyZ3VtZW50cy5sZW5ndGg+MiYmdm9pZCAwIT09YXJndW1lbnRzWzJdP2FyZ3VtZW50c1syXToxMCxyPWEoZSwhMSksaT1yWzBdLHM9clsxXSxjPXJbMl0sbD1hKHQsITEpLHU9bFswXSxkPWxbMV0scD1sWzJdLG09KHUtaSkvbixmPShkLXMpL24sZz0ocC1jKS9uLGg9W10sYj0wO2I8bjtiKyspe3ZhciB5PW8oInJnYigiK01hdGgucm91bmQobSpiK2kpKyIsIitNYXRoLnJvdW5kKGYqYitzKSsiLCIrTWF0aC5yb3VuZChnKmIrYykrIikiKTtoLnB1c2goeSl9cmV0dXJuIGh9LGhleFRvUmdiOmEscmdiVG9IZXg6byxjb2xvclRvUmdiYTpmdW5jdGlvbihlKXt2YXIgdD1hcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXT9hcmd1bWVudHNbMV06LjM7ZT1vKGUpO3ZhciBuPS9eIyhbMC05YS1mQS1mXXszfXxbMC05YS1mQS1mXXs2fSkkLyxhPWUudG9Mb3dlckNhc2UoKTtpZihhJiZuLnRlc3QoYSkpe2lmKDQ9PT1hLmxlbmd0aCl7Zm9yKHZhciByPSIjIixpPTE7aTw0O2krPTEpcis9YS5zbGljZShpLGkrMSkuY29uY2F0KGEuc2xpY2UoaSxpKzEpKTthPXJ9Zm9yKHZhciBzPVtdLGM9MTtjPDc7Yys9MilzLnB1c2gocGFyc2VJbnQoIjB4IithLnNsaWNlKGMsYysyKSkpO3JldHVybiJyZ2JhKCIrcy5qb2luKCIsIikrIiwiK3QrIikifXJldHVybiBhfX07dC5kZWZhdWx0PXJ9LGE5NWQ6ZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtuKCI2YTU0Iik7dmFyIGE9bigiZjViZCIpLmRlZmF1bHQ7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuZGVmYXVsdD12b2lkIDAsbigiYmYwZiIpLG4oImFhNzciKSxuKCJhYTljIiksbigiZmQzYyIpO3ZhciBvPWEobigiYzRmNCIpKSxyPXttaXhpbnM6W28uZGVmYXVsdF0sZ2xvYmFsRGF0YTp7fSxvbkxhdW5jaDpmdW5jdGlvbigpe3RoaXMuJHV0aWxzLnNldFRhYmJhcih0aGlzKSx0aGlzLmNsZWFyU3RvcmFnZSgpLHRoaXMuJHN0b3JlLmRpc3BhdGNoKCJzdGFydFNvY2tldCIpLHRoaXMuZ2V0RmlhdEV4Y2hhZ2VSYXRlKCl9LG1ldGhvZHM6e2NsZWFyU3RvcmFnZTpmdW5jdGlvbigpe3ZhciBlPXVuaS5nZXRTdG9yYWdlU3luYygiaDVWZXJzaW9uIil8fDA7MT5lJiYodW5pLmNsZWFyU3RvcmFnZVN5bmMoKSx1bmkuc2V0U3RvcmFnZVN5bmMoImg1VmVyc2lvbiIsMSkpfSxjaGVja0lzTG9naW46ZnVuY3Rpb24oKXt2YXIgZT11bmkuZ2V0U3RvcmFnZVN5bmMoInRva2VuIil8fCIiO2V8fCh0aGlzLiR1dGlscy5zaG93VG9hc3QodGhpcy4kdCgiY29tbW9uLnBsc0xvZ2luIikpLHNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7dW5pLnJlZGlyZWN0VG8oe3VybDoiL3BhZ2VzL2NvbW1vbi9sb2dpbiJ9KX0pLDEyMDApKX0sZ2V0RmlhdEV4Y2hhZ2VSYXRlMTpmdW5jdGlvbigpe3ZhciBlPXRoaXMsdD0obmV3IERhdGUpLnZhbHVlT2YoKSxuPXVuaS5nZXRTdG9yYWdlU3luYygic2F2ZUZpYXRzVGltZSIpOyghbnx8dC1uPjg2NGU1KSYmdW5pLnJlcXVlc3Qoe3VybDoiaHR0cHM6Ly93d3cubXljdXJyZW5jeS5uZXQvVVMuanNvbiIsc3VjY2VzczpmdW5jdGlvbihuKXt2YXIgYT1uLmRhdGEsbz1hLnJhdGVzLHI9W107WyJVU0QiLCJDTlkiLCJHQlAiLCJIS0QiLCJKUFkiLCJFVVIiLCJBRUQiLCJUSEIiLCJQSFAiLCJTR0QiLCJWTkQiXS5mb3JFYWNoKChmdW5jdGlvbihlKXt2YXIgdD1vLmZpbmQoKGZ1bmN0aW9uKHQpe3JldHVybiB0LmN1cnJlbmN5X2NvZGU9PWV9KSk7dCYmci5wdXNoKHQpfSkpLHVuaS5zZXRTdG9yYWdlU3luYygic2F2ZUZpYXRzVGltZSIsdCksZS4kc3RvcmUuY29tbWl0KCJzZXRGaWF0cyIscil9fSl9LGdldEZpYXRFeGNoYWdlUmF0ZTpmdW5jdGlvbigpe3ZhciBlPXRoaXMsdD0obmV3IERhdGUpLnZhbHVlT2YoKSxuPXVuaS5nZXRTdG9yYWdlU3luYygic2F2ZUZpYXRzVGltZSIpOyghbnx8dC1uPjg2NGU1KSYmdW5pLnJlcXVlc3Qoe3VybDoiaHR0cHM6Ly9sYXRlc3QuY3VycmVuY3ktYXBpLnBhZ2VzLmRldi92MS9jdXJyZW5jaWVzL3VzZC5qc29uIixzdWNjZXNzOmZ1bmN0aW9uKG4pe3ZhciBhPW4uZGF0YSxvPVt7Y3VycmVuY3lfY29kZToiVVNEIixzeW1ib2w6IiQiLHJhdGU6MX0se2N1cnJlbmN5X2NvZGU6IkNOWSIsc3ltYm9sOiLCpSIscmF0ZToxfSx7Y3VycmVuY3lfY29kZToiSlBZIixzeW1ib2w6IsKlIixyYXRlOjF9LHtjdXJyZW5jeV9jb2RlOiJHQlAiLHN5bWJvbDoiwqMiLHJhdGU6MX0se2N1cnJlbmN5X2NvZGU6IkVVUiIsc3ltYm9sOiLigqwiLHJhdGU6MX0se2N1cnJlbmN5X2NvZGU6IkNBRCIsc3ltYm9sOiJDJCIscmF0ZToxfSx7Y3VycmVuY3lfY29kZToiQVVEIixzeW1ib2w6IkEkIixyYXRlOjF9LHtjdXJyZW5jeV9jb2RlOiJTR0QiLHN5bWJvbDoiUyQiLHJhdGU6MX0se2N1cnJlbmN5X2NvZGU6IktSVyIsc3ltYm9sOiLigqkiLHJhdGU6MX0se2N1cnJlbmN5X2NvZGU6IklOUiIsc3ltYm9sOiLigrkiLHJhdGU6MX0se2N1cnJlbmN5X2NvZGU6IlBIUCIsc3ltYm9sOiLigrEiLHJhdGU6MX0se2N1cnJlbmN5X2NvZGU6IlZORCIsc3ltYm9sOiLigqvigIzigIwiLHJhdGU6MX0se2N1cnJlbmN5X2NvZGU6IlRIQiIsc3ltYm9sOiLguL8iLHJhdGU6MX0se2N1cnJlbmN5X2NvZGU6IkFFRCIsc3ltYm9sOiLYry7YpSIscmF0ZToxfV0ubWFwKChmdW5jdGlvbihlKXtyZXR1cm57Y3VycmVuY3lfY29kZTplLmN1cnJlbmN5X2NvZGUscmF0ZTphWyJ1c2QiXVtlLmN1cnJlbmN5X2NvZGUudG9Mb3dlckNhc2UoKV0sc3ltYm9sOmUuc3ltYm9sfX0pKTtjb25zb2xlLmxvZyhvKTthLnJhdGVzO3VuaS5zZXRTdG9yYWdlU3luYygic2F2ZUZpYXRzVGltZSIsdCksZS4kc3RvcmUuY29tbWl0KCJzZXRGaWF0cyIsbyl9fSl9fX07dC5kZWZhdWx0PXJ9LGFhOTI6ZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtuKCI2YTU0Iik7dmFyIGE9bigiZjViZCIpLmRlZmF1bHQ7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuZGVmYXVsdD1mdW5jdGlvbihlLHQpe3ZhciBuPXRoaXMuJHBhcmVudDt3aGlsZShuKWlmKG4uJG9wdGlvbnMubmFtZSE9PWUpbj1uLiRwYXJlbnQ7ZWxzZXt2YXIgYT1mdW5jdGlvbigpe3ZhciBlPXt9O2lmKEFycmF5LmlzQXJyYXkodCkpdC5tYXAoKGZ1bmN0aW9uKHQpe2VbdF09blt0XT9uW3RdOiIifSkpO2Vsc2UgZm9yKHZhciBhIGluIHQpQXJyYXkuaXNBcnJheSh0W2FdKT90W2FdLmxlbmd0aD9lW2FdPXRbYV06ZVthXT1uW2FdOnRbYV0uY29uc3RydWN0b3I9PT1PYmplY3Q/T2JqZWN0LmtleXModFthXSkubGVuZ3RoP2VbYV09dFthXTplW2FdPW5bYV06ZVthXT10W2FdfHwhMT09PXRbYV0/dFthXTpuW2FdO3JldHVybnt2OmV9fSgpO2lmKCJvYmplY3QiPT09KDAsby5kZWZhdWx0KShhKSlyZXR1cm4gYS52fXJldHVybnt9fTt2YXIgbz1hKG4oImZjZjMiKSk7bigiZmQzYyIpLG4oImRjOGEiKX0sYWQxMTpmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO24oIjZhNTQiKSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksdC5kZWZhdWx0PXZvaWQgMDt0LmRlZmF1bHQ9e3RvYXN0OjEwMDkwLG5vTmV0d29yazoxMDA4MCxwb3B1cDoxMDA3NSxtYXNrOjEwMDcwLG5hdmJhcjo5ODAsdG9wVGlwczo5NzUsc3RpY2t5Ojk3MCxpbmRleExpc3RTdGlja3k6OTY1fX0sYWQ3NDpmdW5jdGlvbihlLHQsbil7bigiYmYwZiIpLG4oIjVjNDciKSxuKCJmZDNjIiksbigiZGM4YSIpLG4oIjA1MDYiKSxuKCJkZDJiIiksZS5leHBvcnRzPXtkYXRhOmZ1bmN0aW9uKCl7cmV0dXJue319LG9uTG9hZDpmdW5jdGlvbigpe3RoaXMuJHUuZ2V0UmVjdD10aGlzLiR1R2V0UmVjdH0sbWV0aG9kczp7JHVHZXRSZWN0OmZ1bmN0aW9uKGUsdCl7dmFyIG49dGhpcztyZXR1cm4gbmV3IFByb21pc2UoKGZ1bmN0aW9uKGEpe3VuaS5jcmVhdGVTZWxlY3RvclF1ZXJ5KCkuaW4obilbdD8ic2VsZWN0QWxsIjoic2VsZWN0Il0oZSkuYm91bmRpbmdDbGllbnRSZWN0KChmdW5jdGlvbihlKXt0JiZBcnJheS5pc0FycmF5KGUpJiZlLmxlbmd0aCYmYShlKSwhdCYmZSYmYShlKX0pKS5leGVjKCl9KSl9LGdldFBhcmVudERhdGE6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLHQ9YXJndW1lbnRzLmxlbmd0aD4wJiZ2b2lkIDAhPT1hcmd1bWVudHNbMF0/YXJndW1lbnRzWzBdOiIiO3RoaXMucGFyZW50fHwodGhpcy5wYXJlbnQ9ITEpLHRoaXMucGFyZW50PXRoaXMuJHUuJHBhcmVudC5jYWxsKHRoaXMsdCksdGhpcy5wYXJlbnQmJk9iamVjdC5rZXlzKHRoaXMucGFyZW50RGF0YSkubWFwKChmdW5jdGlvbih0KXtlLnBhcmVudERhdGFbdF09ZS5wYXJlbnRbdF19KSl9LHByZXZlbnRFdmVudDpmdW5jdGlvbihlKXtlJiZlLnN0b3BQcm9wYWdhdGlvbiYmZS5zdG9wUHJvcGFnYXRpb24oKX19LG9uUmVhY2hCb3R0b206ZnVuY3Rpb24oKXt1bmkuJGVtaXQoInVPblJlYWNoQm90dG9tIil9LGJlZm9yZURlc3Ryb3k6ZnVuY3Rpb24oKXt2YXIgZT10aGlzO2lmKHRoaXMucGFyZW50JiZ1bmkuJHUudGVzdC5hcnJheSh0aGlzLnBhcmVudC5jaGlsZHJlbikpe3ZhciB0PXRoaXMucGFyZW50LmNoaWxkcmVuO3QubWFwKChmdW5jdGlvbihuLGEpe249PT1lJiZ0LnNwbGljZShhLDEpfSkpfX19fSxhZGIzOmZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7bigiNmE1NCIpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LmRlZmF1bHQ9dm9pZCAwO3ZhciBhPXtwcmltYXJ5OiIjMjk3OWZmIixwcmltYXJ5RGFyazoiIzJiODVlNCIscHJpbWFyeURpc2FibGVkOiIjYTBjZmZmIixwcmltYXJ5TGlnaHQ6IiNlY2Y1ZmYiLGJnQ29sb3I6IiNmM2Y0ZjYiLGluZm86IiM5MDkzOTkiLGluZm9EYXJrOiIjODI4NDhhIixpbmZvRGlzYWJsZWQ6IiNjOGM5Y2MiLGluZm9MaWdodDoiI2Y0ZjRmNSIsd2FybmluZzoiI2ZmOTkwMCIsd2FybmluZ0Rhcms6IiNmMjkxMDAiLHdhcm5pbmdEaXNhYmxlZDoiI2ZjYmQ3MSIsd2FybmluZ0xpZ2h0OiIjZmRmNmVjIixlcnJvcjoiI2ZhMzUzNCIsZXJyb3JEYXJrOiIjZGQ2MTYxIixlcnJvckRpc2FibGVkOiIjZmFiNmI2IixlcnJvckxpZ2h0OiIjZmVmMGYwIixzdWNjZXNzOiIjMTliZTZiIixzdWNjZXNzRGFyazoiIzE4YjU2NiIsc3VjY2Vzc0Rpc2FibGVkOiIjNzFkNWExIixzdWNjZXNzTGlnaHQ6IiNkYmYxZTEiLG1haW5Db2xvcjoiIzMwMzEzMyIsY29udGVudENvbG9yOiIjNjA2MjY2Iix0aXBzQ29sb3I6IiM5MDkzOTkiLGxpZ2h0Q29sb3I6IiNjMGM0Y2MiLGJvcmRlckNvbG9yOiIjZTRlN2VkIn07dC5kZWZhdWx0PWF9LGIwYzM6ZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgYT1uKCIzNjM5IikuZGVmYXVsdCxvPW4oImY1YmQiKS5kZWZhdWx0O24oImJmMGYiKSxuKCIyNzk3IiksbigiZGM4YSIpLG4oIjhmNzEiKTt2YXIgcj1vKG4oIjliMWIiKSk7bigiM2RkZSIpLG4oImE4YjIiKSxuKCIxNDgwIiksbigiNmU0YSIpLG4oIjRjODQiKSxuKCI5MzM3Iik7dmFyIGk9byhuKCI5YjhlIikpLHM9byhuKCI0YTEwIikpLGM9byhuKCIyN2RiIikpLGw9byhuKCJiNmZjIikpLHU9byhuKCI1YzAwIikpLGQ9byhuKCIyMzUyIikpLHA9byhuKCJkYzE5IikpLG09byhuKCIxNzQ0IikpLGY9YShuKCIzMzcwIikpO2kuZGVmYXVsdC5jb25maWcucHJvZHVjdGlvblRpcD0hMSxzLmRlZmF1bHQubXBUeXBlPSJhcHAiLGkuZGVmYXVsdC5wcm90b3R5cGUudnVlUHJvdG90eXBlPSLmnqPnuqIiLGkuZGVmYXVsdC51c2UoYy5kZWZhdWx0KTt2YXIgZz1uKCJhNDA2Iik7aS5kZWZhdWx0Lm1peGluKGcpLGkuZGVmYXVsdC5wcm90b3R5cGUuX2kxOG49dS5kZWZhdWx0O3ZhciBoPW5ldyBpLmRlZmF1bHQoKDAsci5kZWZhdWx0KSh7aTE4bjp1LmRlZmF1bHQsc3RvcmU6bC5kZWZhdWx0fSxzLmRlZmF1bHQpKTtpLmRlZmF1bHQudXNlKGQuZGVmYXVsdCxoKSxpLmRlZmF1bHQudXNlKHAuZGVmYXVsdCxoKSxpLmRlZmF1bHQucHJvdG90eXBlLiR1dGlscz1tLmRlZmF1bHQsT2JqZWN0LmtleXMoZikuZm9yRWFjaCgoZnVuY3Rpb24oZSl7aS5kZWZhdWx0LmZpbHRlcihlLGZbZV0pfSkpLGkuZGVmYXVsdC5wcm90b3R5cGUuJGtlZnU9Imh0dHBzOi8vdC5tZS95b3VndW9wYXkiLGkuZGVmYXVsdC5wcm90b3R5cGUuJHVwQ29sb3I9IiMyOGJhOTgiLGkuZGVmYXVsdC5wcm90b3R5cGUuJGRvd25Db2xvcj0iI0YwNEE1QSIsaS5kZWZhdWx0LnByb3RvdHlwZS4kYmxhY2s9IiM0ZDRkNGQiLGkuZGVmYXVsdC5wcm90b3R5cGUuJGJhc2VDb2xvcj0iI2Q0YmE4MyIsaC4kbW91bnQoKX0sYjFmNjpmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO24oIjZhNTQiKTt2YXIgYT1uKCJmNWJkIikuZGVmYXVsdDtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksdC5kZWZhdWx0PWZ1bmN0aW9uKCl7dmFyIGU9YXJndW1lbnRzLmxlbmd0aD4wJiZ2b2lkIDAhPT1hcmd1bWVudHNbMF0/YXJndW1lbnRzWzBdOiJhdXRvIix0PWFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXToicnB4IjtyZXR1cm4gZT1TdHJpbmcoZSksby5kZWZhdWx0Lm51bWJlcihlKT8iIi5jb25jYXQoZSkuY29uY2F0KHQpOmV9LG4oImMyMjMiKTt2YXIgbz1hKG4oIjViYjgiKSl9LGI2YjY6ZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtuKCI2YTU0Iik7dmFyIGE9bigiZjViZCIpLmRlZmF1bHQ7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuZGVmYXVsdD12b2lkIDA7dmFyIG8scixpLHMsYyxsLHU9YShuKCIzOWQ4IikpLGQ9e25hdjpbIummlumggSIsIuihjOaDhSIsIuS6pOaYkyIsIuizquaKvCIsIuizh+eUoiJdLGNvbW1vbjoobz17Q2FuY2VsbGVkOiLlt7Llj5bmtogiLHNlYXJjaDoi5pCc57SiIixjb25maXJtOiLnorrlrpoiLGNhbmNlbDoi5Y+WIOa2iCIsc3VibWl0OiLmj5Ag5LqkIixsb2dvdXQ6IumAgCDlh7oiLGFsbDoi5YWoIOmDqCIsZWRpdDoi57eoIOi8ryIsZGVsZXRlOiLliKog6ZmkIixyZXNldDoi6YeNIOe9riIsZmlsdGVyOiLnr6kg6YG4Iixsb2dpbjoi55m7IOmMhCIscmVnaXN0ZXI6IuazqCDlhooiLGVtYWlsOiLpg7XnrrEiLG1vYmlsZToi5omL5qmf6JmfIixhY2NvdW50OiLnlKjmiLblkI0iLHBhc3N3b3JkOiLlr4bnorwiLHBhc3N3b3JkUGxhY2Vob2xkZXI6Iuiri+i8uOWFpeWvhueivCIsbm9hY2NvdW50OiLmspLmnInos6zomZ/vvJ8iLGdvOiLljrsiLGZvcmdldFBhc3N3b3JkOiLlv5joqJjlr4bnorwiLGNvbmZpcm1QYXNzd29yZDoi56K66KqN5a+G56K8IixpbnZpdGVjb2RlOiLpgoDoq4vnorwiLGhhc2FjY291bnQ6IuW3suacieizrOiZn++8nyIsbW9iaWxlY29kZVBsYWNlaG9sZGVyOiLoq4vovLjlhaXmiYvmqZ/pqZforYnnorwiLGVtYWlsY29kZVBsYWNlaG9sZGVyOiLoq4vovLjlhaXpg7XnrrHpqZforYnnorwiLHNlbmQ6IueZvOmAgempl+itieeivCIsc2VsZWN0QXJlYToi5Zyw5Y2A6YG45pOHIixhdWRpdDoi5a+p5qC4Iix1bmRlckF1ZGl0OiLlr6nmoLjkuK0iLGF1ZGl0RmFpbHVyZToi5a+p5qC45aSx5pWXIix1bnRpZToi6Kej57aBIixidXk6IuiytyIsc2VsbDoi6LOjIixwbHNMb2dpbjoi6KuL5YWI55m76YyEIixwbHNJbnB1dFVzZXJuYW1lOiLoq4vovLjlhaXos6zmiLYiLHBsc0lucHV0UmVQYXNzd29yZDoi6KuL6Ly45YWl56K66KqN5a+G56K8IixwbHNJbnB1dEludml0ZUNvZGU6Iuiri+i8uOWFpemCgOiri+eivCIscGxzSW5wdXRDb2RlOiLoq4vovLjlhaXpqZforYnnorwiLHBsc0lucHV0TW9iaWxlOiLoq4vovLjlhaXmiYvmqZ/omZ8iLHBsc0lucHV0RW1haWw6Iuiri+i8uOWFpemDteeusSIsbG9naW5fc3VjY2Vzczoi55m76YyE5oiQ5YqfIixsb2dpbl9mYWlsOiLnmbvpjITlpLHmlZciLHJlZ19zdWNjZXNzOiLoqLvlhormiJDlip8iLHJlZ19mYWlsOiLnmbvpjITlpLHmlZciLHB3ZEluY29uc2lzdGVudDoi5YWp5qyh5a+G56K85LiN5LiA6Ie0IixoaW50OiLmj5DnpLoiLGxvYWRpbmc6IuWKoOi8ieS4rSIsc3VjY2Vzczoi5oiQ5YqfIixwbHNJbnB1dDoi6KuL6Ly45YWlIixjbGljazoi6bue5pOKIixxdW90YXRpb246IuihjOaDhSJ9LCgwLHUuZGVmYXVsdCkobywiZWRpdCIsIue3qOi8ryIpLCgwLHUuZGVmYXVsdCkobywic2Vjb25kIiwi56eSIiksKDAsdS5kZWZhdWx0KShvLCJzcGVjaWFsQ2hhcnQiLCLkuI3lhYHoqLHljIXlkKvnibnmrorlrZfnrKYiKSwoMCx1LmRlZmF1bHQpKG8sIm9wZW4iLCLplovnm6Tlg7kiKSwoMCx1LmRlZmF1bHQpKG8sImNsb3NlIiwi5pS255uk5YO5IiksKDAsdS5kZWZhdWx0KShvLCJoaWdoIiwi5pyA6auY5YO5IiksKDAsdS5kZWZhdWx0KShvLCJsb3ciLCLmnIDkvY7lg7kiKSwoMCx1LmRlZmF1bHQpKG8sImN1c3RvbWVyU2VydmljZSIsIuiBr+e5q+WuouacjSIpLCgwLHUuZGVmYXVsdCkobywicmVtZW1iZXJQYXNzd29yZCIsIuiomOS9j+WvhueivCIpLCgwLHUuZGVmYXVsdCkobywibmV3UGFzc3dvcmQiLCLmlrDlr4bnorwiKSwoMCx1LmRlZmF1bHQpKG8sInB3ZE1vcmVUaGVuNiIsIuWvhueivOeahOmVt+W6puaHieWkp+aWvOWFreS9jSIpLCgwLHUuZGVmYXVsdCkobywiY29kZUxlbmd0aDYiLCLpqZforYnnorzplbfluqbmh4nngrrlha3kvY0iKSwoMCx1LmRlZmF1bHQpKG8sInJlUHdkTW9yZVRoZW42Iiwi56K66KqN5a+G56K855qE6ZW35bqm5oeJ5aSn5pa85YWt5L2NIiksKDAsdS5kZWZhdWx0KShvLCJwbHMiLCLoq4siKSwoMCx1LmRlZmF1bHQpKG8sInNhdmVTdWNjZXNzIiwi5bey5L+d5a2Y6Iez57O757Wx55u45YaKIiksKDAsdS5kZWZhdWx0KShvLCJuZXh0U3RlcCIsIuS4i+S4gOatpSIpLCgwLHUuZGVmYXVsdCkobywibG9nIiwi6KiY6YyEIiksKDAsdS5kZWZhdWx0KShvLCJwYXJhbXNXcm9uZyIsIuWPg+aVuOmMr+iqpCIpLCgwLHUuZGVmYXVsdCkobywiZnVuY3Rpb25Mb2FkaW5nIiwi5Yqf6IO96ZaL55m85LitIiksKDAsdS5kZWZhdWx0KShvLCJESUdJQ0NZIiwi5pW45a2X6LKo5bmjIiksKDAsdS5kZWZhdWx0KShvLCJxdWlja2x5Iiwi5b+r6YCfIiksKDAsdS5kZWZhdWx0KShvLCJtb3JlIiwi5pu05aSaIiksKDAsdS5kZWZhdWx0KShvLCJoYXNOb0RhdGEiLCLmspLmnInmm7TlpJrmlbjmk5rkuoYiKSwoMCx1LmRlZmF1bHQpKG8sImF1ZGlvRXJyb3IiLCLpn7PpoLvmlofku7blh7rpjK8iKSwoMCx1LmRlZmF1bHQpKG8sInRvTG9uZyIsIuWtl+espumBjumVtyIpLCgwLHUuZGVmYXVsdCkobywic2VsZWN0TGFuZyIsIumBuOaTh+iqnuiogCIpLCgwLHUuZGVmYXVsdCkobywicm5hbWVwYXNzIiwi5a6e5ZCN6K6k6K+B5bey6YCa6L+HIiksbyksaG9tZToocj17Y29udGFjdFVzOiLlnKjnt5rlrqLmnI0iLGJvcnJvd2luZzoi5YCf6LK4Iixib3Jyb3dpbmdfZW50cnk6IuWAn+iyuOWFpeWPoyIscmVwYXltZW50X2VudHJ5OiLpgoTosrjlhaXlj6MiLHRpdGxlOiJXb29DbG91ZCIsdG90YWxBc3NldHNFcXVpdmFsZW5nOiLnuL3os4fnlKLmipjlkIgiLHJlY2hhcmdlOiLlhYXlgLwiLHdpdGhkcmF3OiLmj5Dnj74iLHN0b2NrOiLogqHnpagiLGZ1dHVyZXM6IuWQiOe0hCIsY29weXRyYWRlOiLot5/llq4iLGZpbmFuY2lhbDoi6YeR6J6N55CG6LKhIixtYXJnaW46Iui2hee0muank+ahvyIsb3RjOiJPVEMiLGNvdXBvbjoi5Y2h5Yi45Lit5b+DIixiaWxsczoi6LOs5ZauIixleGNoYW5nZToi5Yyv5YWMIixtaW5pbmc6IuizquaKvOizuuW5oyIsZ2FtZToi5bCP6YGK5oiyIixjaGF0cm9vbToi6IGK5aSp5a6kIixxdWlja2x5QnV5Q29pbnM6IuW/q+aNt+iyt+W5oyIsZGVmaU1pbmluZzoiRGVGaeaMluekpiIsY2xvdWRNaW5pbmc6IumbsuekpuapnyJ9LCgwLHUuZGVmYXVsdCkociwic3RvY2siLCLogqHnpagiKSwoMCx1LmRlZmF1bHQpKHIsInN0b2NrX2luZm8iLCLnhKHpnIDplovlgInvvIznq4vljbPmjIHlgIkiKSwoMCx1LmRlZmF1bHQpKHIsImxvY2ttaW5nIiwi6LOq5oq8IiksKDAsdS5kZWZhdWx0KShyLCJ0cmFuc2ZlciIsIuW5o+W5o+WKg+i9iSIpLCgwLHUuZGVmYXVsdCkociwiaWVvIiwiSUVPIiksKDAsdS5kZWZhdWx0KShyLCJzZWNvbmRzIiwi5pyf5qyKIiksKDAsdS5kZWZhdWx0KShyLCJkYXkiLCLlpKkiKSwoMCx1LmRlZmF1bHQpKHIsIm1pbmltdW0iLCLotbciKSwoMCx1LmRlZmF1bHQpKHIsImRhaWx5UmV0dXJuUmF0ZSIsIuaXpeaUtuebiueOhyIpLCgwLHUuZGVmYXVsdCkociwibW9yZSIsIuabtOWkmiIpLCgwLHUuZGVmYXVsdCkociwibWFya2V0Iiwi6KGM5oOFIiksKDAsdS5kZWZhdWx0KShyLCJ0cmFkaW5nUGFpciIsIuS6pOaYk+WwjSIpLCgwLHUuZGVmYXVsdCkociwibGFzdFByaWNlIiwi5pyA5paw5YO5IiksKDAsdS5kZWZhdWx0KShyLCJ0b2RheUNoYW5nZSIsIuS7iuaXpea8sui3jOW5hSIpLCgwLHUuZGVmYXVsdCkociwidHJhbnNhY3Rpb24iLCLkuqTmmJMiKSwoMCx1LmRlZmF1bHQpKHIsIm5mdCIsIk5GVCIpLCgwLHUuZGVmYXVsdCkociwiaW52ZXN0Iiwi5oqV6LOH55CG6LKhIiksKDAsdS5kZWZhdWx0KShyLCJkb3dubG9hZCIsIuS4i+i8iSIpLCgwLHUuZGVmYXVsdCkociwiYXBwX3RleHQiLCLpmqjmmYLpmqjlnLDvvIzlnKjnt5rkuqTmmJMiKSwoMCx1LmRlZmF1bHQpKHIsImJ6X0NvbnRlbiIsIuW5q+WKqeS4reW/gyIpLHIpLHNldHRpbmc6e3RlYW06IuWcmOmaiiIsdGVhbTE6IuWcmOmaiuS6uuaVuCIsdGVhbTI6IuS6uiIsdGVhbTM6IueVtuWJjemAmuato+mkmOmhjSIsdGVhbTQ6Iue0r+ioiOeNjuWLte+8iOmAmuato++8iSIsdGVhbTU6Iue0r+ioiOeNjuWLte+8iFVTRFTvvIkiLHRlYW02OiLlhYzmj5siLHRlYW03OiLlhYzmj5vpgJrmraMiLHRlYW04OiLpgJrmraPnjY7li7XoqJjpjIQiLHRlYW05OiJVU0RU542O5Yu16KiY6YyEIix0ZWFtMTA6IuWIhuS6q+mAo+e1kCIsdGVhbTExOiLkuIvntJrkurrlk6HvvIjkuIDntJrvvIkiLHRlYW0xMjoi5LiL57Sa5Lq65ZOh77yI5LqM57Sa77yJIix0ZWFtMTM6IuS4i+e0muS6uuWToe+8iOS4iee0mu+8iSIsdGVhbTE0OiLnlKjmiLblkI0iLHRlYW0xNToi6LOq5oq86aSY6aGNIix0ZWFtMTY6IumCgOiri+aZgumWkyIsdGVhbTE3OiLpgJrmraPlhYzmj5siLHRlYW0xODoi6YCa5q2j5pW46YePIix0ZWFtMTk6IuWPr+WFjOaPm1VTRFTmlbjph48iLHRlYW0yMDoi5YWo6YOoIix0ZWFtMjE6IuWPr+eUqOmAmuitiSIsdGVhbTIyOiLlhYzmj5vmr5TkvosiLHRlYW0yMzoi5omL57qM6LK7Iix0ZWFtMjQ6IueiuuiqjeWFjOaPmyIsdGVhbTI1OiLmn7voqaIiLHRlYW0yNjoi6YCa6K2J542O5Yu16KiY6YyEIix0ZWFtMjc6Iuiri+i8uOWFpeWFjOaPm+aVuOmHjyIsdGVhbTI4OiLlr6blkI3oqo3orYnnjY7li7UiLHRlYW0yOToi5Lqk5piT5omL57qM6LK7Iix0ZWFtMzA6IuW3peS9nOWupOeNjuWLtSIsdGVhbTMxOiLmjJbnpKbov5TliKkiLHRlYW0zMjoi6YCa6K2J542O5Yu1KC0pIix0ZWFtMzM6IuaVuOS9jeiyqOW5o+eNjuWLtSIsdGVhbTM0OiLlj5bmtogiLHRlYW0zNToi56K66KqNIix5OiLlubQiLG06IuaciCIsZDoi5pelIixoOiLmmYIiLGY6IuWIhiIsczoi56eSIixteV9xcmNvZGU6IuaIkeeahOS6jOe2reeivCIsbWluZToi5oiR55qEIixpbnZpdGVEZXNjOiLpgoDoq4vlpb3lj4vvvIzlhbHlkIzov5TliKkiLGludml0ZURlc2MyOiLoiIflpb3lj4vlhbHlkIzkuqvlj5fov5TliKkiLGludml0ZU51bWJlcjoi6YKA6KuL5Lq65pW4IixpbnZpdGVUcmFuc051bWJlcjoi5bey5Lqk5piT5Lq65pW4IixteVJlYmF0ZToi5oiR55qE6L+U5YipIixiaWxsOiLos6zllq4iLHdhbGxldDoi6Yyi5YyF5Zyw5Z2AIixiYW5rczoi6YqA6KGM5Y2h57aB5a6aIixiYW5rc0ludGVybmF0aW9uYWw6IumKgOihjOWNoee2geWumuOAjuWci+mam+OAjyIsYWRkQmFuazoi5re75Yqg6YqA6KGM5Y2hIixzZWN1cml0eVNldHRpbmdzOiLlronlhajoqK3nva4iLGNvdXBvbjoi5Y2h5Yi45Lit5b+DIixzeXN0ZW1Ob3RpZmljYXRpb246Iuezu+e1semAmuefpSIsZGVmYXVsdEZpYXRDdXJyZW5jeToi6buY6KqN5rOV5bmjIixsYW5ndWFnZToi6Kqe6KiAIixmYXE6IuW4uOimi+WVj+mhjCIsb3BlcmF0aW9uYWxDb21wbGlhbmNlOiLntpPnh5/lkIjopo8iLHNoYXJlOiLliIbkuqsiLGNvbnRhY3RVczoi6IGv57mr5oiR5YCRIixhYm91dFVzOiLpl5zmlrzmiJHlgJEiLGF2YXRhcjoi6aCt5YOPIixuaWNrbmFtZToi5pqx56ixIixzaWduYXR1cmU6IuWAi+aAp+ewveWQjSIsZ3J4eDoi5YCL5Lq65L+h5oGvIixncnh4T3B0aW9uczp7bmlja25hbWU6e3RpdGxlOiLmmrHnqLEiLHBsYWNlaG9sZGVyOiLoq4vovLjlhaXmmrHnqLEiLGRlc2M6IjItMTDlgIvlrZfnrKbvvIzmlK/mjIHkuK3oi7HmlofjgIHmlbjlrZcifSxzaWduYXR1cmU6e3RpdGxlOiLlgIvmgKfnsL3lkI0iLHBsYWNlaG9sZGVyOiLoq4vovLjlhaXlgIvmgKfnsL3lkI0iLGRlc2M6IjItMzDlgIvlrZfnrKbvvIzmlK/mjIHkuK3oi7HmlofjgIHmlbjlrZcifX0seHh0eDoi5LiK5YKz6aCt5YOPIixwaG90b2dyYXBoOiLmi43nhaciLHNlbGVjdEZyb21BbGJ1bToi5b6e55u45YaK6YG45pOHIixhcXN6OiLlronlhajoqK3nva4iLGVkaXRMb2dpblBhc3N3b3JkOiLkv67mlLnnmbvpjITlr4bnorwiLHNldFBheVBhc3N3b3JkOiLoqK3nva7mlK/ku5jlr4bnorwiLGVkaXRQYXlQYXNzd29yZDoi5L+u5pS55pSv5LuY5a+G56K8IixiaW5kUGhvbmU6Iue2geWumuaJi+apnyIsZW1haWw6IumDteeusSIsc3RheUxvZ2luOiLkv53mjIHnmbvpjIQiLHhnZGxtbToi5L+u5pS555m76YyE5a+G56K8IixjdXJyZW50UGFzc3dvcmQ6IueVtuWJjeeZu+mMhOWvhueivCIsY3VycmVudFBhc3N3b3JkUGxhY2Vob2xkZXI6Iuiri+i8uOWFpeeVtuWJjeeZu+mMhOWvhueivCIsbmV3UGFzc3dvcmQ6IuaWsOeZu+mMhOWvhueivCIsbmV3UGFzc3dvcmRQbGFjZWhvbGRlcjoi6KuL6Ly45YWl5paw55m76YyE5a+G56K8Iixjb25maXJtTmV3UGFzc3dvcmQ6IueiuuiqjeaWsOWvhueivCIsY29uZmlybU5ld1Bhc3N3b3JkUGxhY2Vob2xkZXI6Iuiri+i8uOWFpeeiuuiqjeaWsOWvhueivCIsY3VycmVudFBheVBhc3N3b3JkOiLnlbbliY3mlK/ku5jlr4bnorwiLGN1cnJlbnRQYXlQYXNzd29yZFBsYWNlaG9sZGVyOiLoq4vovLjlhaXnlbbliY3mlK/ku5jlr4bnorwiLG5ld1BheVBhc3N3b3JkOiLmlrDmlK/ku5jlr4bnorwiLG5ld1BheVBhc3N3b3JkUGxhY2Vob2xkZXI6Iuiri+i8uOWFpeaWsOaUr+S7mOWvhueivCIsY29uZmlybU5ld1BheVBhc3N3b3JkOiLnorroqo3mlrDmlK/ku5jlr4bnorwiLGNvbmZpcm1OZXdQYXlQYXNzd29yZFBsYWNlaG9sZGVyOiLoq4vovLjlhaXnorroqo3mlrDmlK/ku5jlr4bnorwiLHBob25lVmVyaWZpY2F0aW9uQ29kZToi5omL5qmf6amX6K2J56K8IixlZGl0UGhvbmVWZXJpZmljYXRpb25Db2RlOiLoq4vovLjlhaXmiYvmqZ/pqZforYnnorwiLGdldFZlcmlmaWNhdGlvbkNvZGU6IueNsuWPlumpl+itieeivCIsbGN0eXE6IueQhuiyoemrlOmpl+WIuCIsZXhwaXJlZDoi5bey5aSx5pWIIixleHBpcmVkVGltZToi5aSx5pWI5pel5pyfIix1c2VJbW1lZGlhdGVseToi56uL5Y2z5L2/55SoIixhZGROZXdBY2NvdW50OiLmt7vliqDmlrDos6zomZ8iLHRvdGF5SW5jb21lOiLku4rml6XmlLbmrL4iLHRvdGFsSW5jb21lOiLntK/oqIjmlLbmrL4iLHNlbGVjdExhbmc6Iuiri+mBuOaTh+iqnuiogCIsc2VsZWN0Q29pblR5cGU6Iuiri+mBuOaTh+W5o+eoriIsYXV0aGVudGljYXRpb246Iui6q+S7veiqjeitiSIsYXV0aGVudGljYXRpb24xOiLln7rnpI7oqo3orYkiLGF1dGhlbnRpY2F0aW9uMjoi6auY57Sa6KqN6K2JIixhdXRoZW50aWNhdGlvbl90ZXh0XzE6IuWAi+S6uui6q+S7veiqjeitiSIsYXV0aGVudGljYXRpb25fdGV4dF8yOiLlrozmiJDoqo3orYnlvozlj6/njbLlvpfnmoTmrIrpmZDvvJoiLGF1dGhlbnRpY2F0aW9uX3RleHRfMzoiTHYxLuWfuuekjuiqjeitiSIsYXV0aGVudGljYXRpb25fdGV4dF80OiLoqo3orYnlvozlj6/ku6Xpq5Tnj77vvIwyNOWwj+aZgumZkOmhjTIwMEJUQyIsYXV0aGVudGljYXRpb25fdGV4dF81OiLoqo3orYnlvozlj6/ku6XpgLLooYzms5XluaPkuqTmmJPvvIzllq7nrYbpmZDpoY0yMDAwVVNEVCIsYXV0aGVudGljYXRpb25fdGV4dF82OiJMdjIu6auY57Sa6KqN6K2JIixhdXRoZW50aWNhdGlvbl90ZXh0Xzc6IuWinuWKoOmrlOePvumhjeW6pu+8jDI05bCP5pmC6ZmQ6aGNNTAwQlRDIixhdXRoZW50aWNhdGlvbl90ZXh0Xzg6IuWinuWKoOazleW5o+S6pOaYk+mhjeW6pu+8jOWWruethumZkOmhjTEwMDAwMDBVU0RUIixhdXRoZW50aWNhdGlvbl90ZXh0Xzk6Iua6q+mmqOaPkOekuu+8mueCuuS/neitt+eUqOaItuizh+mHkeWuieWFqO+8jOiri+WFiOWujOaIkOmDteeuseWSjOmbu+ipseeahOe2geWumu+8jOWQpuWJh+aCqOeahOiqjeitieWwh+eEoeazlemAmumBjuOAgiAiLGdvQXVkaXQ6IuWOu+iqjeitiSIsbm9hdWRpdDoi5pyq6KqN6K2JIixhdWRpdGluZzoi6KqN6K2J5LitIixoYXNhdWRpdDoi5bey6KqN6K2JIixlcnJvcmF1ZGl0OiLoqo3orYnlpLHmlZciLGlkVHlwZToi6K2J5Lu26aGe5Z6LIixpZENhcmQ6Iui6q+S7veitiSIscGFzc3BvcnQ6Iuitt+eFpyIsZHJpdmVyTGljZW5zZToi6aeV6aeb6K2JIixuYW1lOiLlp5PlkI0iLGlkY2FyZDoi6K2J5Lu26Jmf56K8IixwbHNJcHROYW1lOiLoq4vovLjlhaXlp5PlkI0iLHBsc0lwdENvcnJlY3RJZGNhcmQ6Iuiri+i8uOWFpeato+eiuueahOi6q+S7veitieiZnyIsdXBsb2FkSWRjYXJkRnJvbnQ6IuS4iuWCs+itieS7tuato+mdoiIsdXBsb2FkSWRjYXJkUmV2ZXJzZToi5LiK5YKz6K2J5Lu26IOM6Z2iIixlbWFpbFZlcmlmaWNhdGlvbkNvZGU6IumDteeusempl+itieeivCIscGxzaXB0RW1haWxDb2RlOiLoq4vovLjlhaXpg7XnrrHpqZforYnnorwiLGFkZFdhbGxldDoi5re75Yqg6Yyi5YyF5Zyw5Z2AIixzZWxlY3RDdXJyZW5jeToi6YG45pOH5bmj56iuIixVU0RUX1hJRVlJOiJDaGFpbiBUeXBlIixQTFNfVVNEVF9YSUVZSToiUGxlYXNlIHNlbGVjdCBjaGFpbiB0eXBlIixwbHNTZWxlY3RDdXJyZW5jeToi6KuL6YG45pOH5bmj56iuIixwbHNJcHRBZGRyZXNzOiLoq4vovLjlhaXpjKLljIXlnLDlnYAiLHdhbGxldEFkZHJlc3M6IumMouWMheWcsOWdgCIsd2FsbGV0UXJjb2RlOiLpjKLljIXkuozntq3norwiLHBsc0lwdFdhbGxldEFkZHJlc3M6Iuiri+i8uOWFpemMouWMheWcsOWdgCIscGxzVXBsb2FkV2FsbGV0UXJjb2RlOiLoq4vkuIrlgrPpjKLljIXkuozntq3norwiLGNvbmZpcm1Mb2dvdXQ6IueiuuWumumAgOWHuueZu+mMhOWXju+8nyAiLG5vbmlja25hbWU6Iuiri+ioree9ruaaseeosSIscGxzSW5wdXRNb2JpbGU6Iuiri+i8uOWFpeaJi+apn+iZnyIsYWxpcGF5X2FjY291bnQ6IkFCQeiZnyIscmVhbF9uYW1lOiLnnJ/lr6blp5PlkI0iLGJhbmtfYWNjb3VudDoi6YqA6KGM5Y2h6JmfIixiYW5rX2RpemhpOiLplovmiLbnnIHluIIiLGJhbmtfbmFtZToi6ZaL5oi26KGMIixiYW5rX25ldHdvcms6IumWi+aItue2sum7niIsc3dpZnRfY29kZToi5ZyL6Zqb5pSv5LuY5Luj56K8IixwaG9uZToi6IGv57Wh6Zu76KmxIix3ZWNoYXRfYWNjb3VudDoi5oyB5Y2h5Lq65Zyw5Z2AIix3ZWNoYXRfbmlja25hbWU6IlNXSUZU5Luj56K8IixhbGxOZWVkOiLmiYDmnInlnYfngrrlv4XloavpoIUiLHBob25lTnVtYmVyOiLmiYvmqZ/omZ8iLGNvZGU6Iumpl+itieeivCIsc2VuZENvZGU6IueZvOmAgempl+itieeivCIscGxzSXB0Q29kZToi6KuL6Ly45YWl6amX6K2J56K8IixzY29yZToi5L+h55So5YiGIn0sdHJhbnNhY3Rpb246KGk9e2FjdHVhbFBMOiLlr6bpmpvnm4jomaciLGZhdm9yaXRlczoi6Ieq6YG4IixmdXR1cmVzOiLlkIjntIQiLGNvaW5zOiLluaPluaMiLHN0b2NrOiLogqHnpagiLHRyYWRpbmdQYWlyOiLkuqTmmJPlsI0iLGxhc3RQcmljZToi5pyA5paw5YO5Iix0b2RheUNoYW5nZToi5LuK5pel5ryy6LeM5bmFIixzZWFyY2hQbGFjZWhvbGRlcjoi5pCc57Si5oKo6Zec5b+D55qE5bmj56iuL+iCoeelqOWQjeeosS/ku6PnorwiLGhvdFNlYXJjaDoi54ax6ZaA5pCc57SiIixyZWNlbnRWaWV3OiLmnIDov5Hmn6XnnIsiLGRheUhpZ2g6IuS7iuaXpemrmCIsZGF5TG93OiLku4rml6XkvY4iLG9wdGlvbmFsOiLoh6rpgbgiLGJ1eToi6LK35YWlIixzZWxsOiLos6Plh7oiLGVudHJ1c3RQZW5kaW5nT3JkZXI6IuWnlOiol+aOm+WWriIsYWRkT3B0aW9uYWxTdWNjZXNzOiLmt7vliqDoh6rpgbjmiJDlip8iLGRlbE9wdGlvbmFsU3VjY2Vzczoi5Yiq6Zmk6Ieq6YG45oiQ5YqfIixzZWNvbmRzOiLmnJ/mrIoiLGhvbWU6IummlumggSIsb3JkZXJDb25maXJtOiLoqILllq7norroqo0iLGN1cnJlbnRQcmljZToi55W25YmN5YO5IixkaXJlY3Rpb246IuaWueWQkSIsc2VsZWN0VGltZToi6YG45pOH5Yiw5pyf5pmC6ZaTIixudW1iZXI6IuaVuOmHjyIsYmFsYW5jZToi6LOs5oi26aSY6aGNIixwbHNJcHRDcnROdW1iZXI6Iuiri+i8uOWFpeato+eiuueahOaVuOmHjyIsYnV5UHJpY2U6IuizvOiyt+WDuSIsZXhwZWN0ZWRQTDoi6aCQ6KiI55uI6JmnIixjb250aW51ZVRyYWRlOiLnubznuozkuqTmmJMiLHNlY29uZHNQb3NpdGlvbjoi5pyf5qyK5oyB5YCJIixwb3NpdGlvbjoi5Zyo5oyBIixoaXN0b3J5OiLmrbflj7IiLG9yZGVyVGltZXM6IuioguWWruaZgumVtyIscGw6IuebiOiZpyIsc2VsbFRpbWU6Iuizo+WHuuaZgumWkyIsYnV5dGltZToi6LK36YCy5YWl5pmC6ZaTIixlbmRQcmljZToi5oiQ5Lqk5YO55qC8In0sKDAsdS5kZWZhdWx0KShpLCJidXkiLCLosrflhaUiKSwoMCx1LmRlZmF1bHQpKGksInNlbGwiLCLos6Plh7oiKSwoMCx1LmRlZmF1bHQpKGksInByaWNlIiwi5YO55qC8IiksKDAsdS5kZWZhdWx0KShpLCJ0aW1lIiwi5pmC6ZaTIiksKDAsdS5kZWZhdWx0KShpLCJvcHRpb25hbCIsIuiHqumBuCIpLCgwLHUuZGVmYXVsdCkoaSwiYnV5Iiwi6LK35YWlIiksKDAsdS5kZWZhdWx0KShpLCJzZWxsIiwi6LOj5Ye6IiksKDAsdS5kZWZhdWx0KShpLCJsb25nIiwi5YGa5aSaIiksKDAsdS5kZWZhdWx0KShpLCJzaG9ydCIsIuWBmuepuiIpLCgwLHUuZGVmYXVsdCkoaSwiZW50cnVzdFBlbmRpbmdPcmRlciIsIuWnlOiol+aOm+WWriIpLCgwLHUuZGVmYXVsdCkoaSwiYWRkT3B0aW9uYWxTdWNjZXNzIiwi5re75Yqg6Ieq6YG45oiQ5YqfIiksKDAsdS5kZWZhdWx0KShpLCJkZWxPcHRpb25hbFN1Y2Nlc3MiLCLliKrpmaToh6rpgbjmiJDlip8iKSwoMCx1LmRlZmF1bHQpKGksInByaWNlIiwi5YO55qC8IiksKDAsdS5kZWZhdWx0KShpLCJhbW91bnQiLCLmlbjph48iKSwoMCx1LmRlZmF1bHQpKGksIm1hcmtldFByaWNlIiwi5biC5YO5IiksKDAsdS5kZWZhdWx0KShpLCJsaW1pdFByaWNlIiwi6ZmQ5YO5IiksKDAsdS5kZWZhdWx0KShpLCJudW1iZXIiLCLkuqTmmJPmiYvmlbgiKSwoMCx1LmRlZmF1bHQpKGksIm1hcmdpbiIsIuS/neitiemHkSIpLCgwLHUuZGVmYXVsdCkoaSwiaGFuZGxpbmdGZWUiLCLmiYvnuozosrsiKSwoMCx1LmRlZmF1bHQpKGksImJhbGFuY2UiLCLppJjpoY0iKSwoMCx1LmRlZmF1bHQpKGksIm11bHRpcGxlIiwi5YCN5pW4IiksKDAsdS5kZWZhdWx0KShpLCJyZWNoYXJnZSIsIuWFheWAvCIpLCgwLHUuZGVmYXVsdCkoaSwicGxzSXB0Q29tbWlzc2lvblByaWNlIiwi6KuL6Ly45YWl5aeU6KiX5YO55qC8IiksKDAsdS5kZWZhdWx0KShpLCJ0cmFkaW5nUGFpciIsIuS6pOaYk+WwjSIpLCgwLHUuZGVmYXVsdCkoaSwiZGlyZWN0aW9uIiwi5pa55ZCRIiksKDAsdS5kZWZhdWx0KShpLCJwbHNJcHRDcnRQcmljZSIsIuiri+i8uOWFpeato+eiuueahOWDueagvCIpLCgwLHUuZGVmYXVsdCkoaSwicG9zaXRpb24iLCLmjIHlgIkiKSwoMCx1LmRlZmF1bHQpKGksInRpbWUiLCLmmYLplpMiKSwoMCx1LmRlZmF1bHQpKGksInR1cm5vdmVyIiwi5Lqk5piT6aGNIiksKDAsdS5kZWZhdWx0KShpLCJvcGVyYXRpb24iLCLmk43kvZwiKSwoMCx1LmRlZmF1bHQpKGksInR5cGUiLCLpoZ7lnosiKSwoMCx1LmRlZmF1bHQpKGksImNvdmVyIiwi5bmz5YCJIiksKDAsdS5kZWZhdWx0KShpLCJjb25maXJtQ292ZXIiLCLnorroqo3lubPlgInll47vvJ8gIiksKDAsdS5kZWZhdWx0KShpLCJjb25maXJtU2VsZkhvbGQiLCLnorrlrprovYnoh6rmjIHll47vvJ8gIiksKDAsdS5kZWZhdWx0KShpLCJzZWxmSG9sZGluZyIsIuiHquaMgSIpLCgwLHUuZGVmYXVsdCkoaSwidHJhbnNTZWxmSG9sZCIsIui9ieiHquaMgSIpLCgwLHUuZGVmYXVsdCkoaSwiZGVsZWdhdGVMaXN0Iiwi5aeU6KiX5YiX6KGoIiksKDAsdS5kZWZhdWx0KShpLCJyaXNrUmF0ZSIsIumiqOmaqueOhyIpLCgwLHUuZGVmYXVsdCkoaSwidG90YWxQYW5kTCIsIuaMgeWAiee4veaUtuebiiIpLCgwLHUuZGVmYXVsdCkoaSwib25lQ2xpY2tDb3ZlciIsIuS4gOmNteW5s+WAiSIpLCgwLHUuZGVmYXVsdCkoaSwib3BlbiIsIumWi+WAieWDuSIpLCgwLHUuZGVmYXVsdCkoaSwidGFyZ2V0UHJvZml0UHJpY2UiLCLmraLnm4jlg7kiKSwoMCx1LmRlZmF1bHQpKGksInVwZGF0ZVByaWNlIiwi55W25YmN5YO5IiksKDAsdS5kZWZhdWx0KShpLCJzdG9wTG9zc1ByaWNlIiwi5q2i5pCN5YO5IiksKDAsdS5kZWZhdWx0KShpLCJvdmVybmlnaHRNb25leSIsIumalOWknOiyuyIpLCgwLHUuZGVmYXVsdCkoaSwib3BlblRpbWUiLCLplovlgInmmYLplpMiKSwoMCx1LmRlZmF1bHQpKGksImxvdHMiLCLmiYsiKSwoMCx1LmRlZmF1bHQpKGksInNldFByb2ZpdExvc3MiLCLoqK3nva7mraLnm4jmraLmkI0iKSwoMCx1LmRlZmF1bHQpKGksImV4cGVjdGVkUHJvZml0Iiwi6aCQ5pyf55uI5YipIiksKDAsdS5kZWZhdWx0KShpLCJleHBlY3RlZExvc3MiLCLpoJDmnJ/omafmkI0iKSwoMCx1LmRlZmF1bHQpKGksImNvdmVyQWxsIiwi5YWo6YOo5bmz5YCJIiksKDAsdS5kZWZhdWx0KShpLCJvbmx5Q292ZXJNYW55Iiwi5Y+q5bmz5aSa5ZauIiksKDAsdS5kZWZhdWx0KShpLCJvbmx5Q292ZXJFbXB0eSIsIuWPquW5s+epuuWWriIpLCgwLHUuZGVmYXVsdCkoaSwibnVtYmVycyIsIuaVuOmHjyIpLCgwLHUuZGVmYXVsdCkoaSwiY29pbkJ1eVByaWNlIiwi5Lul55W25YmN5pyA5YSq5YO55qC85Lqk5piTIiksKDAsdS5kZWZhdWx0KShpLCJqaW5lIiwi6YeR6aGNIiksKDAsdS5kZWZhdWx0KShpLCJwX2ppbmUiLCLoq4vovLjlhaXph5HpoY0iKSwoMCx1LmRlZmF1bHQpKGksInBfcHJpY2UiLCLoq4vovLjlhaXlg7nmoLwiKSwoMCx1LmRlZmF1bHQpKGksInBfY29uZmlybV9zaiIsIueiuuWumuS7peW4guWDuSIpLCgwLHUuZGVmYXVsdCkoaSwicF9jb25maXJtX3hqXzEiLCLnorrlrprku6Xnj77lg7kiKSwoMCx1LmRlZmF1bHQpKGksInBfY29uZmlybV9tYSIsIuWXju+8nyAiKSwoMCx1LmRlZmF1bHQpKGksInN0YXR1cyIsIueLgOaFiyIpLCgwLHUuZGVmYXVsdCkoaSwiY29tcGxldGUiLCLlt7LlrozmiJAiKSwoMCx1LmRlZmF1bHQpKGksImRvaW5nIiwi6YCy6KGM5LitIiksKDAsdS5kZWZhdWx0KShpLCJjdXJyZW50RW50cnVzdCIsIueVtuWJjeWnlOiolyIpLCgwLHUuZGVmYXVsdCkoaSwiYWxsRW50cnVzdCIsIuWFqOmDqOWnlOiolyIpLCgwLHUuZGVmYXVsdCkoaSwiZW50cnVzdCIsIuWnlOiolyIpLCgwLHUuZGVmYXVsdCkoaSwiZW50cnVzdFRpbWUiLCLlp5ToqJfmmYLplpMiKSwoMCx1LmRlZmF1bHQpKGksImFsbCIsIuWFqOmDqCIpLCgwLHUuZGVmYXVsdCkoaSwiYnV5VXAiLCLosrflpJoiKSwoMCx1LmRlZmF1bHQpKGksImJ1eURvd24iLCLosrflsJEiKSwoMCx1LmRlZmF1bHQpKGksImp5ZSIsIuS6pOaYk+mhjSIpLGkpLGZ1bmQ6KHM9e292ZXJ2aWV3OiLnuL3opr0iLGJhbGFuY2U6IumkmOmhjSIsZnV0dXJlczoi5ZCI57SEIixkZXBvc2l0OiLlrZjmrL4iLG1pbmluZzoi6LOq5oq86LO65bmjIixzdG9jazoi6IKh56WoIixtYXJnaW46Iui2hee0muank+ahvyIseWVzdGVyZGF5RWFybmluZ3M6IuaYqOaXpeaUtuebiiIseWllbGRBdE1hdHVyaWx5OiLliLDmnJ/mlLbnm4oiLHRvdGFsa1JldmVudWU6Iue4veaUtuebiiIsY3VycmVudFByb2ZpdDoi55W25YmN55uI6JmnIixwcm9maXRSYXRpbzoi55uI6Jmn546HIixyZWNlaXZlOiLlhYXlgLwv5pS25qy+Iix0cmFuc2Zlcjoi5o+Q54++L+i9ieizrCIsZmluYW5jaWFsOiLph5Hono3nkIbosqEiLHZhbHVhdGlvbjoi5Lyw5YC8IixjdXJyZW50RWFybmluZ3M6IueVtuWJjeaUtuebiiIseWVzdGVyZGF5SW5jb21lOiLmmKjml6XmlLbnm4oiLGNyeXB0bzoi5pW45a2X6LKo5bmjIixmaWF0OiLms5XluaMiLGhpZGVTbWFsbEN1cnJlbmN5OiLpmrHol4/lsI/poY3luaPnqK4iLGF2YWlsYWJsZToi5Y+v55SoIixmcmVlemU6IuWHjee1kCIsZXF1aXZhbGVudDoi5oqY5ZCIIix1c2R0bToiVeacrOS9jSIsY29pbm06IuW5o+acrOS9jSIsZXhjaGFuZ2U6IuW5o+W5oyIsbGV2ZXJhZ2U6IuWQiOe0hCJ9LCgwLHUuZGVmYXVsdCkocywiZmlhdCIsIuazleW5oyIpLCgwLHUuZGVmYXVsdCkocywic2Vjb25kIiwi5pyf5qyKIiksKDAsdS5kZWZhdWx0KShzLCJjb252ZXJ0Iiwi57i96LOH55Si5oqY5ZCIIiksKDAsdS5kZWZhdWx0KShzLCJjb252ZXJ0MiIsIuizh+eUouaKmOWQiCIpLCgwLHUuZGVmYXVsdCkocywicmVjb3JkIiwi5biz6K6K6KiY6YyEIiksKDAsdS5kZWZhdWx0KShzLCJhdmFpbGFibGVRdW90YSIsIuWPr+eUqOmhjeW6piIpLCgwLHUuZGVmYXVsdCkocywibG9ja2VkIiwi6Y6W5a6aIiksKDAsdS5kZWZhdWx0KShzLCJjb252ZXJ0ZWQiLCLmipjlkIgiKSwoMCx1LmRlZmF1bHQpKHMsImFjY291bnQiLCLos6zmiLYiKSwoMCx1LmRlZmF1bHQpKHMsImZpbmFuY2lhbFJlY29yZHMiLCLosqHli5noqJjpjIQiKSwoMCx1LmRlZmF1bHQpKHMsIm51bWJlciIsIuaVuOmHjyIpLCgwLHUuZGVmYXVsdCkocywicmVjb3JkMiIsIuiomOmMhCIpLCgwLHUuZGVmYXVsdCkocywidGltZSIsIuaZgumWkyIpLCgwLHUuZGVmYXVsdCkocywidHJhbnNmZXIiLCLluaPluaPlioPovYkiKSwoMCx1LmRlZmF1bHQpKHMsImZyb20iLCLlvp4iKSwoMCx1LmRlZmF1bHQpKHMsInRvIiwi6IezIiksKDAsdS5kZWZhdWx0KShzLCJ0cmFuc2Zlck51bWJlciIsIuWKg+i9ieaVuOmHjyIpLCgwLHUuZGVmYXVsdCkocywieW91R2V0Iiwi5L2g5bCH5b6X5YiwIiksKDAsdS5kZWZhdWx0KShzLCJleGNoYW5nZVJhdGUiLCLlhYzmj5vljK/njociKSwoMCx1LmRlZmF1bHQpKHMsImhhbmRsaW5nRmVlIiwi5omL57qM6LK7IiksKDAsdS5kZWZhdWx0KShzLCJmdW5kVHJhbnNmZXIiLCLos4fph5HlioPovYkiKSwoMCx1LmRlZmF1bHQpKHMsImluc3VmZmljaWVudEJhbGFuY2UiLCLppJjpoY3kuI3otrMiKSwoMCx1LmRlZmF1bHQpKHMsIm5lZWRIYW5kbGluZ0ZlZSIsIuWPpumcgOaJi+e6jOiyuyIpLCgwLHUuZGVmYXVsdCkocywicGxzSXB0Q3J0TnVtYmVyIiwi6KuL6Ly45YWl5q2j56K655qE5pW46YePIiksKDAsdS5kZWZhdWx0KShzLCJjX3RyYW5zZmVyIiwi56K65a6a5YqD6L2J5ZeO77yfIiksKDAsdS5kZWZhdWx0KShzLCJzZWxlY3RDdXJyZW5jeSIsIumBuOaTh+W5o+eoriIpLCgwLHUuZGVmYXVsdCkocywiRElHSUNDWSIsIuaVuOWtl+iyqOW5oyIpLCgwLHUuZGVmYXVsdCkocywic2F2ZVFyY29kZSIsIuS/neWtmOS6jOe2reeivCIpLCgwLHUuZGVmYXVsdCkocywiY29weUFkZHJlc3MiLCLopIfoo73pj4jmjqXlnLDlnYAiKSwoMCx1LmRlZmF1bHQpKHMsInBsc1RyYW5zIiwi6KuL5b6A5q2k5Zyw5Z2A5YqD6L2JIiksKDAsdS5kZWZhdWx0KShzLCJyZWNoYXJnZU51bWVyIiwi5YWF5YC85pW46YePIiksKDAsdS5kZWZhdWx0KShzLCJwYXltZW50Vm91Y2hlciIsIuaUr+S7mOaGkeitiSIpLCgwLHUuZGVmYXVsdCkocywicGxzSXB0UmVjaGFyZ2VOdW1lciIsIuiri+i8uOWFpeWFheWAvOaVuOmHjyIpLCgwLHUuZGVmYXVsdCkocywicGxzVXBsb2FkUGF5bWVudFZvdWNoZXIiLCLoq4vkuIrlgrPmlK/ku5jmhpHorYkiKSwoMCx1LmRlZmF1bHQpKHMsInBsc0lwdENydEFtb3VudCIsIuiri+i8uOWFpeato+eiuueahOmHkemhjSIpLCgwLHUuZGVmYXVsdCkocywid2l0aGRyYXciLCLmj5Dnj74v6L2J6LOsIiksKDAsdS5kZWZhdWx0KShzLCJjdXJyZW5jeU5hbWUiLCLluaPnqK7lkI3nqLEiKSwoMCx1LmRlZmF1bHQpKHMsInRyYW5zYWN0aW9uSW5mbyIsIuS6pOaYk+izrOaItiIpLCgwLHUuZGVmYXVsdCkocywid2l0aGRyYXcyIiwi5o+Q54++IiksKDAsdS5kZWZhdWx0KShzLCJjYW5Vc2UiLCLlj6/nlKgiKSwoMCx1LmRlZmF1bHQpKHMsImFsbCIsIuWFqOmDqCIpLCgwLHUuZGVmYXVsdCkocywicGxzSXB0V2l0aGRyYXdOdW1iZXIiLCLoq4vovLjlhaXmj5Dnj77mlbjph48iKSwoMCx1LmRlZmF1bHQpKHMsIndpdGhkcmF3TnVtYmVyIiwi5o+Q54++5pW46YePIiksKDAsdS5kZWZhdWx0KShzLCJyZW1hcmsiLCLlgpnoqLsiKSwoMCx1LmRlZmF1bHQpKHMsImhhbmRsaW5nRmVlIiwi5omL57qM6LK7IiksKDAsdS5kZWZhdWx0KShzLCJjYW5HZXROdW1iZXIiLCLliLDos6zmlbjph48iKSwoMCx1LmRlZmF1bHQpKHMsImxlYXN0TnVtYmVyIiwi5pyA5L2O5o+Q54++5pW46YePIiksKDAsdS5kZWZhdWx0KShzLCJjb2luVHlwZSIsIuW5o+eoriIpLCgwLHUuZGVmYXVsdCkocywiYWRkcmVzcyIsIuWcsOWdgCIpLCgwLHUuZGVmYXVsdCkocywiZGF0ZSIsIuaXpeacnyIpLCgwLHUuZGVmYXVsdCkocywid2l0aGRyYXdBZGRyZXNzIiwi5o+Q5bmj5Zyw5Z2AIiksKDAsdS5kZWZhdWx0KShzLCJwbHNTZWxlY3RXaXRoZHJhd0FkZHJlc3MiLCLoq4vpgbjmk4fmj5DluaPlnLDlnYAiKSwoMCx1LmRlZmF1bHQpKHMsIndpdGhkcmF3VG9DYXJkIiwi5o+Q5Yiw6YqA6KGM5Y2hIiksKDAsdS5kZWZhdWx0KShzLCJ3aXRoZHJhd1RvQ2FyZEludGVybmF0aW9uYWwiLCLmj5DliLDlnIvpmpvpioDooYzljaEiKSwoMCx1LmRlZmF1bHQpKHMsIndpdGhkcmF3VG9BZGRyZXNzIiwi5o+Q5Yiw6Yyi5YyF5Zyw5Z2AIiksKDAsdS5kZWZhdWx0KShzLCJjYXJkIiwi6YqA6KGM5Y2hIiksKDAsdS5kZWZhdWx0KShzLCJhZGRDYXJkIiwi5re75Yqg6YqA6KGM5Y2hIiksKDAsdS5kZWZhdWx0KShzLCJwbHNBZGRDYXJkIiwi6KuL5re75Yqg6YqA6KGM5Y2hIiksKDAsdS5kZWZhdWx0KShzLCJjelN0YXRlTG9hZGluZyIsIuWvqeaguOS4rSIpLCgwLHUuZGVmYXVsdCkocywiY3pTdGF0ZU9rIiwi5a+p5qC45oiQ5YqfIiksKDAsdS5kZWZhdWx0KShzLCJjelN0YXRlTm8iLCLlr6nmoLjlpLHmlZciKSxzKSxpZW86e3N1YnNjcmliZToi6KqN6LO8Iixpbmc6IumAsuihjOS4rSIsZG9uZToi5bey57WQ5p2fIixhcHBseVN1YnNjcmlwdGlvbjoi55Sz6KuL6KqN6LO8IixyZW1haW5pbmc6IuWJqemkmCIsbG9ja1BlcmlvZDoi6LOq5oq86YCx5pyfIixlbmRUaW1lOiLntZDmnZ/mmYLplpMiLHN1YnNjcmliZUN1cnJlbmN5OiLoqo3os7zluaPnqK4iLGlzc3VhbmNlUHJpY2U6IueZvOihjOWDueagvCIsdG90YWxJc3N1YW5jZToi55m86KGM57i96YePIix3aGl0ZVBhcGVyOiLnmb3nmq7mm7giLHN1YnNjcmlwdGlvbkN5Y2xlOiLnlLPos7zpgLHmnJ8iLHdhcm1VcDoi6aCQ54axIix3ZWJzaXRlOiLlrpjntrIiLGZpbmlzaDoi57WQ5p2fIixwcm9qZWN0RGV0YWlsczoi6aCF55uu6Kmz5oOFIixzdWJzY3JpcHRpb25Db25maXJtYXRpb246IuiqjeizvOeiuuiqjSIscF9hcHBsaWNhdGlvbnNOdW1iZXI6Iui8uOWFpeiqjeizvOaVuOmHjyIsbmVlZFRvUGF5OiLpnIDopoHmlK/ku5giLGN1cnJlbnRCYWxhbmNlOiLnlbbliY3ppJjpoY0iLHN1YnNjcmlwdGlvblRpbWU6IueUs+izvOaZgumWkyIsY3VycmVuY3k6IuW5o+eoriIsYXBwbGljYXRpb25zTnVtYmVyOiLnlLPoq4vmlbjph48iLHBhc3Nlc051bWJlcjoi6YCa6YGO5pW46YePIix0aW1lVG9NYXJrZXQ6IuS4iuW4guaZgumWkyIsZGF5OiLlpKkiLHRvdGFsOiLnuL3ph48iLHN1YnNjcmliZWQ6IuW3suiqjeizvCIsc2hlbmdvdToi55Sz6LO8IixpbnN1ZmZpY2llbnRCYWxhbmNlOiLppJjpoY3kuI3otrMiLHBfbnVtYmVyOiLoq4vovLjlhaXmlbjph48iLG15U3Vic2NyaWJlOiLmiJHnmoToqo3os7wifSxsb2NrbWluZzp7bG9ja21pbmc6IuizquaKvCIsZnVuZHNVbmRlckN1c3RvZHk6Iuato+WcqOiol+euoeeahOizh+mHkSIsZW50cnVzdGVkT3JkZXJzOiLlp5ToqJfoqILllq4iLGVzdGltYXRlZFRvZGF5SW5jb21lOiLpoJDoqIjnlbbml6Xlm57loLHph5HpoY0iLGN1bXVsYXRpdmVJbmNvbWU6Iue0r+ioiOaUtuebiiIsb3JkZXJzSW5DdXN0b2R5OiLoqJfnrqHkuK3nmoToqILllq4iLGxvY2tlZFBvc2l0aW9uc1RvRWFybkNvaW5zOiLos6rmirzos7rluaMiLGxvY2tlZFBvc2l0aW9uczoi6LOq5oq8IixtaW5pbXVtU2luZ2xlVHJhbnNhY3Rpb246IuWWruethuacgOWwkSIsZGFpbHlZaWVsZDoi5pel5pS255uK546HIixsb2NrVXBQZXJpb2Q6IuizquaKvOmAseacnyIsYWNxdWlzaXRpb246IueNsuW+lyIscmVjZW50RGF5czoi6L+R5pelIixkaXZpZGVuZFRpbWU6Iua0vuaBr+aZgumWkyIsZXNjcm93RnVuZHM6Iuiol+euoeizh+mHkSIscmVkZW1wdGlvbkluQWR2YW5jZToi5o+Q5YmN6LSW5ZueIixlc3RpbWF0ZWRJbmNvbWU6IumgkOioiOaUtuebiiIsYXZhaWxhYmxlQXNzZXRzOiLlj6/nlKjos4fnlKIiLGludmVzdG1lbnRBbW91bnRPYnRhaW5lZDoi5oqV6LOH6YeR6aGN542y5b6XIixhbGw6IuWFqOmDqCIsbF9hbGVydF8xOiLmjJbnpKbovYnkuI3lgZwiLGxfYWxlcnRfMjoi6LOq5oq85oyW56Sm5piv6YCa6YGO5bCHdXNkdOiol+euoee1puW5s+WPsOi2heeul+WKm+ekpuapn+WcqOW5s+WPsOekpuaxoOS4remAsuihjOaMluekpuaUtuebiiIsZmVhdHVyZXM6IueUouWTgeS6rum7niIsb25EZW1hbmQ6IumaqOWtmOmaqOWPliIsZGl2aWRlbmRQZXJpb2Q6Iua0vuaBr+mAseacnyIsaXNzdWVkRGFpbHk6Iuavj+aXpeS4i+eZvCIsY3VycmVudEludGVyZXN0OiLmtLvmnJ/liKnmga8iLGZlYXR1cmVfMToiMTAwJeizh+mHkeWuieWFqDxicj7kv53pmpwiLGZlYXR1cmVfMjoi56+A5YGH5pel5pS255uKPGJyPuS4jeewoeaWtyIsZmVhdHVyZV8zOiLmiJDlip/lrZjlhaXlvow8YnI+55W25aSp6LW35oGvIixmb3JJbnN0YW5jZToi6IiJ5YCL5L6L5a2QIixpbmNvbWVDYWxjdWxhdGlvbjoi5pS255uK6KiI566XIixmb3JJbnN0YW5jZURlc2M6Iuacg+WToeWcqOW5s+WPsOizquaKvDEwMDAwVe+8jOWmgumBuOaTh+S6huWRqOacn+eCujflpKnvvIzml6XnlKLlh7rngrros6rmirzph5HpoY3nmoQwLjI1JeeahOeQhuiyoeeUouWTge+8jOWJh+avj+WkqeeUouWHuuWmguS4i++8mjxici8+IDEwMDAwICogMC4yNSUgPSAyNSBVU0RUIDxici8+IOWNszflpKnlkI7lj6/ku6XnjbLlvpcyNSAqIDcgPSAxNzUgVVNEVOeahOaUtuebiu+8jOaUtuebiuavj+aXpeS4i+eZvO+8jOS4i+eZvOeahOaUtuebiuWPr+maqOaZguWtmOWPlu+8jOizquaKvOacrOmHkeWIsOacn+W+jO+8jOiHquWLlei9ieWFpeaCqOeahOizh+mHkeizrOaItuOAgiIsYWJvdXRMaXF1aWRhdGVkRGFtYWdlczoi6Zec5pa86YGV57SE6YeRIixhYm91dExpcXVpZGF0ZWREYW1hZ2VzQ29udGVudDoi6Iul5oKo5biM5pyb6L2J5Ye65pyq5Yiw5pyf55qE5pys6YeR77yM5YmH5pyD55Si55Sf6YGV57SE6YeR77yM6YGV57SE6YeRMjUlLOS+i+Wmgu+8mjxici8+IDEwMDAwKjI1JT0yNTAwVTvliYfotJblm57os4fph5HngroxMDAwMC0yNTAwPTc1MDBV44CCIixqb2luTm93OiLmiJHopoHlj4PliqAiLGRheToi5aSpIixkYWlseToi5q+P5pelIixyZXR1cm5PbkV4cGlyYXRpb246IuWIsOacn+i/lOWbniIsZ2V0OiLnjbLlvpciLG51bWJlck9mQ29pbnNEZXBvc2l0ZWQ6IuWtmOW5o+aVuOmHjyIsc3Vic2NyaWJlOiLoqo3os7wiLGluc3VmZmljaWVudEJhbGFuY2U6IumkmOmhjeS4jei2syIscF9udW1iZXI6Iuiri+i8uOWFpeaVuOmHjyIsbGVhc3RTaW5nbGU6IuWWruethuacgOWwkSIsbG9ja2VkUG9zaXRpb25MaXN0OiLos6rmirzliJfooagiLGluUHJvZ3Jlc3M6IumAsuihjOS4rSIscmVkZWVtZWQ6IuW3sui0luWbniIsZXhwaXJ5VGltZToi5Yiw5pyf5pmC6ZaTIixsb2NrVXBUaW1lOiLos6rmirzmmYLplpMiLHN0YXJ0VGltZToi6ZaL5aeL5pmC6ZaTIixlYXJseVJlZGVtcHRpb25QZW5hbHR5OiLmj5DliY3otJblm57pgZXntITph5EiLHJlZGVtcHRpb246Iui0luWbniIsY19yZWRlbXB0aW9uOiLnorrlrprmj5DliY3otJblm57ll47vvJ8ifSxpbnZlc3Q6e2ludmVzdDoi55CG6LKhIixzZWN0aW9uOiLlsIjljYAiLHBlclByaWNlOiLllq7ku73lg7nmoLwiLGFwcjoi5bm05YyW5pS255uK546HIixsaW5rZWRSZWZlcmVuY2VQcmljZToi5o6b6Ymk5Y+D6ICD5YO5Iixob2xkaW5nRGF5czoi5oyB5YCJ5pyf6ZmQIixtYXR1cml0eURhdGU6IuWIsOacn+aXpSIscmVtYWluaW5nU2hhcmVzOiLlianppJjku73poY0iLHByb2dyZXNzOiLnlbbliY3pgLLluqYiLGFjdGlvbjoi5pON5L2cIixwdXJjaGFzZToi6LO86LK3IixteVBvc2l0aW9uOiLmiJHnmoTnkIbosqEiLGJ1eVNoYXJlczoi6LK35YWl5Lu96aGNIixlc3RpbWF0ZWRJbmNvbWU6IumgkOioiOaUtuebiiIsZGF5OiLlpKkiLHNoYXJlOiLku70iLGZhaWw6IuWkseaVlyIscHVyY2hhc2VkOiLlt7LosrflhaUiLHNldHRsZW1lbnRpbmc6Iue1kOeul+S4rSIsc3VjY2Vzczoi5bey5a6M5oiQIixhbGw6IuWFqOmDqCIsbmFtZToi5ZCN56ixIixyZW1haW46IuWJqemkmCIsaW5zdHJ1Y3Rpb246IueUouWTgeiqquaYjiIsaGVscDoi5bmr5YqpIixzaHVvbWluZ18xOiIxLuacrOeUouWTgeeCuumdnuS/neacrOeQhuiyoeeUouWTge+8jOW4guWgtOazouWLleWPr+iDveWwjuiHtOacrOmHkeaQjeWkse+8jOiri+isueaFjuaKleizhy4iLHNodW9taW5nXzI6IjIu5Zue5qy+57WQ566X6KaP5YmH77yaIixzaHVvbWluZ18zOiLlpoLmnpzntZDnrpflg7nvvJzmjpvpiaTlg7nvvIzliLDmnJ/lvozntZDnrpdCVEPvvJvntZDnrpfmlbjph4895oqV6LOH6YeR6aGNKigxK+WkqeaVuCrlubTljJbmlLbnm4rnjocvMzY1KS4iLHNodW9taW5nXzQ6IuWmguaenOe1kOeul+WDueKJpeaOm+mJpOWDue+8jOWIsOacn+W+jOe1kOeul1VTRFTvvJvntZDnrpfmlbjph4895oqV6LOH6YeR6aGNKuaOm+mJpOWDuSooMSvlpKnmlbgq5bm05YyW5pS255uK546HLzM2Ne+8iS4iLHNodW9taW5nXzU6IjMu5a+m6Zqb5bm05YyW5pS255uK546H6Zqo5biC5aC05a+m5pmC6K6K5YuV77yM6KuL5Lul5a+m6Zqb6LK35YWl5oiQ5Lqk54K65rqWLiIsc2h1b21pbmdfNjoiNC7mipXos4fph5HpoY3pmqjluILloLTlr6bmmYLmipjnrpflvpflh7rvvIzoq4vku6Xlr6bpmpvosrflhaXmiJDkuqTngrrmupYuIixzaHVvbWluZ183OiI1LueUouWTgeizvOiyt+W+jOWPr+WcqOaIkeeahOaMgeW5o+mggemdoumAsuihjOafpeeci++8jOWIsOacn+e1kOadn+W+jOWbnuasvuacg+iHquWLleeZvOaUvuiHs+ePvuiyqOizrOaIti4iLGVycm9yXzE6Iuiri+i8uOWFpeizvOiyt+aVuOmHjyIsZXJyb3JfMjoi6LO86LK35pW46YeP5oeJ54K65pW05pW4Iixjb25maXJtUHVyY2hhc2U6IueiuuWumuizvOiyt+ipsueQhuiyoeeUouWTgeWXju+8nyAiLHB1cmNoYXNlU3VjY2Vzczoi6LO86LK35oiQ5YqfISJ9LGZvbGxvdzooYz17Zm9sbG93OiLot5/llq4iLHRyYWRlckxpc3Q6IuS6pOaYk+WToeWIl+ihqCIsdG90YWxQcm9maXQ6Iue4veebiOiZpyIsY29ycmVjdFJhdGU6Iue4vea6lueiuueOhyIscG9zaXRpb25WYWx1YXRpb246IuaMgeWAieS8sOWAvCIsZXN0aW1hdGVkUHJvZml0VG9kYXk6IuS7iuaXpemgkOioiOaUtuebiiIscmF0ZU9mUmV0dXJuOiLmlLbnm4rnjociLGJlY29tZUFUcmFkZXI6IuaIkOeCuuS6pOaYk+WToSJ9LCgwLHUuZGVmYXVsdCkoYywidHJhZGVyTGlzdCIsIuS6pOaYk+WToeWIl+ihqCIpLCgwLHUuZGVmYXVsdCkoYywib25seVNob3dzVGhlUG9zaXRpb24iLCLlg4Xpoa/npLrmnInkvY3nva4iKSwoMCx1LmRlZmF1bHQpKGMsInRoZURhdGFJc1VwZGF0ZWRFdmVyeUhvdXIiLCLmlbjmk5rmr4/lsI/mmYLmm7TmlrDkuIDmrKEiKSwoMCx1LmRlZmF1bHQpKGMsImZvbGxvd2luZyIsIui3n+WWruS4rSIpLCgwLHUuZGVmYXVsdCkoYywiZm9sbG93Iiwi6Lef5ZauIiksKDAsdS5kZWZhdWx0KShjLCJjb25maXJtRm9sbG93Iiwi56K65a6a6Lef6Zqo5ZeO77yfICIpLCgwLHUuZGVmYXVsdCkoYywiY29uZmlybUNhbmNlbCIsIueiuuWumuWPlua2iOi3n+maqO+8nyAiKSwoMCx1LmRlZmF1bHQpKGMsImZvbGxvd1RyYWRlciIsIui3n+maqOS6pOaYk+WToSIpLCgwLHUuZGVmYXVsdCkoYywiZWRpdENvcHkiLCLnt6jovK/ot5/pmqgiKSwoMCx1LmRlZmF1bHQpKGMsImJlZm9yZUNvcHkiLCLpgbjmk4fot5/pmqjkuYvliY3oq4vku5TntLDplrHoroAiKSwoMCx1LmRlZmF1bHQpKGMsImNvcHlBZ3JlZW1lbnQiLCLot5/pmqjljZTorbAiKSwoMCx1LmRlZmF1bHQpKGMsImNvcHlUeXBlIiwi6Lef6Zqo5pa55byPIiksKDAsdS5kZWZhdWx0KShjLCJjb3B5VHlwZTEiLCLlm7rlrprlgI3mlbjot5/pmqgiKSwoMCx1LmRlZmF1bHQpKGMsImNvcHlUeXBlMiIsIuWbuuWumuaJi+aVuOi3n+maqCIpLCgwLHUuZGVmYXVsdCkoYywiY29weUFsZXJ0MSIsIueEoeirluS6pOaYk+WToeS4i+WWruWkmuWwke+8jOaCqOmDveaMiemBuOaTh+eahOWbuuWumuWAjeaVuOi3n+maqOOAgiIpLCgwLHUuZGVmYXVsdCkoYywiY29weUFsZXJ0MiIsIijnlbbmr5TkvovmiYvmlbg+MeS4lOS4jeeCuuaVtOaVuOaZgu+8jOWbm+aNqOS6lOWFpeS/neeVmeWFqeS9jeWwj+aVuOWPluWAvO+8iSIpLCgwLHUuZGVmYXVsdCkoYywiY29weU11bHRpcGxlIiwi6Lef6Zqo5YCN5pW4IiksKDAsdS5kZWZhdWx0KShjLCJjYW5jZWxDb3B5Iiwi5Y+W5raI6Lef6ZqoIiksKDAsdS5kZWZhdWx0KShjLCJjdXJyZW50Rm9sbG93ZXJOdW1iZXIiLCLnlbbliY3ot5/pmqjkurrmlbgiKSwoMCx1LmRlZmF1bHQpKGMsInRvdGFsUHJvZml0QW5kTG9zcyIsIue4veebiOiZpyIpLCgwLHUuZGVmYXVsdCkoYywidG90YWxSZXR1cm4iLCLnuL3mlLbnm4rnjociKSwoMCx1LmRlZmF1bHQpKGMsImFjY3VyYWN5Iiwi5rqW56K6546HIiksKDAsdS5kZWZhdWx0KShjLCJwcm9maXRhYmxlT3JkZXJzIiwi55uI5Yip6KiC5ZauIiksKDAsdS5kZWZhdWx0KShjLCJzdWNjZXNzZnVsU2hvcnRUcmFkZXMiLCLmiJDlip/lgZrnqbrkuqTmmJMiKSwoMCx1LmRlZmF1bHQpKGMsInN1Y2Nlc3NmdWxMb25nVHJhZGVzIiwi5oiQ5Yqf5YGa5aSa5Lqk5piTIiksKDAsdS5kZWZhdWx0KShjLCJ5ZXN0ZXJkYXlzVHJhZGluZ1N0YXR1cyIsIuaYqOaXpeS6pOaYk+eLgOazgSIpLCgwLHUuZGVmYXVsdCkoYywiY3VycmVudFBvc2l0aW9ucyIsIueVtuWJjeaMgeWAiSIpLCgwLHUuZGVmYXVsdCkoYywidG90YWxPcmRlcnMiLCLnuL3oqILllq4iKSwoMCx1LmRlZmF1bHQpKGMsInJlbWFpbiIsIuWJqemkmCIpLCgwLHUuZGVmYXVsdCkoYywiZGlzdGFuY2VEdWUiLCLot53pm6LliLDmnJ8iKSwoMCx1LmRlZmF1bHQpKGMsImRheXMiLCLlpKkiKSwoMCx1LmRlZmF1bHQpKGMsImRlYWRsaW5lIiwi5pyf6ZmQIiksKDAsdS5kZWZhdWx0KShjLCJzdWJzY3JpcHRpb24iLCLnlLPos7wiKSwoMCx1LmRlZmF1bHQpKGMsImZvbGxvd1VzZXJzIiwi6Lef6Zqo55So5oi2IiksKDAsdS5kZWZhdWx0KShjLCJmb2xsb3dBbW91bnQiLCLot5/pmqjph5HpoY0iKSwoMCx1LmRlZmF1bHQpKGMsImZvbGxvd0Vhcm5pbmdzIiwi6Lef6Zqo5pS255uKIiksKDAsdS5kZWZhdWx0KShjLCJjYW5jZWxGb2xsb3ciLCLlj5bmtojot5/pmqgiKSwoMCx1LmRlZmF1bHQpKGMsImN1cnJlbnRDb3B5Iiwi55W25YmN6Lef5ZauIiksKDAsdS5kZWZhdWx0KShjLCJoaXN0b3JpY2FsQ29weSIsIuatt+WPsuS6pOaYkyIpLCgwLHUuZGVmYXVsdCkoYywibXlUcmFkZXIiLCLmiJHnmoTkuqTmmJPlk6EiKSwoMCx1LmRlZmF1bHQpKGMsInRyYWRpbmdQYWlyIiwi5Lqk5piT5bCNIiksKDAsdS5kZWZhdWx0KShjLCJvcGVuIiwi6ZaL5YCJ5YO5IiksKDAsdS5kZWZhdWx0KShjLCJjbG9zZSIsIuW5s+WAieWDuSIpLCgwLHUuZGVmYXVsdCkoYywiZWFybmluZ3MiLCLmlLbnm4oiKSwoMCx1LmRlZmF1bHQpKGMsImxvdHMiLCLmiYvmlbgiKSwoMCx1LmRlZmF1bHQpKGMsInRpbWUiLCLkuqTmmJPmmYLplpMiKSwoMCx1LmRlZmF1bHQpKGMsImJ1eUluIiwi6LK35YWlIiksKDAsdS5kZWZhdWx0KShjLCJidXlPdXQiLCLos6Plh7oiKSwoMCx1LmRlZmF1bHQpKGMsImRpcmVjdGlvbiIsIuaWueWQkSIpLGMpLGZpbmFuY2lhbDp7cHJvZHVjdDoi55Si5ZOBIixwb3NpdGlvbjoi5oyB5pyJIixmaW5hbmNpYWw6IumHkeiejSIsbG9ja21pbmc6IuizquaKvCIsaWVvOiJJRU8iLGludmVzdDoi5oqV6LOH55CG6LKhIixzZWN0aW9uOiLlsIjljYAiLGFwcjoi5bm05YyW5pS255uK546HIixsaW5rZWRSZWZlcmVuY2VQcmljZToi5o6b6Ymk5Y+D6ICD5YO5Iixob2xkaW5nRGF5czoi5oyB5YCJ5pyf6ZmQIixkYXk6IuWkqSIsbG9ja1BlcmlvZDoi6LOq5oq86YCx5pyfIixpbmc6IumAsuihjOS4rSIsZG9uZToi5bey57WQ5p2fIixhcHBseVN1YnNjcmlwdGlvbjoi55Sz6KuL6KqN6LO8IixyZW1haW5pbmc6IuWJqemkmCIsdG90YWw6Iue4vemHjyIsc3Vic2NyaWJlZDoi5bey6KqN6LO8IixtaW5pbmc6IuizquaKvOizuuW5oyIsbWluaW11bToi6LW3IixkYWlseVJldHVyblJhdGU6IuaXpeaUtuebiueOhyJ9LG5mdDoobD17bmZ0OiJORlQiLGFydHdvcms6IuiXneihk+WTgSIsYXJ0aXN0OiLol53ooZPlrrYiLGFydHdvcmtMaXN0OiLol53ooZPlk4HliJfooagiLGFydGlzdExpc3Q6IuiXneihk+WutuWIl+ihqCIsY29tcHJlaGVuc2l2ZVNvcnRpbmc6Iue2nOWQiOaOkuW6jyIsbmV3ZXN0OiLmnIDmlrDnmoQiLGhvdGVzdDoi5pyA54ax55qEIixtb3N0V29ya3M6IuS9nOWTgeacgOWkmiIsbW9zdFBvcHVsYXI6IuacgOWPl+atoei/jiIscmVjb3JkOiLos7zosrfoqJjpjIQiLHJlY29tbWVuZEFydGlzdDoi5o6o6Jam55qE6Jed6KGT5a62IixidXk6IuizvOiytyIsYXJ0aXN0SG9tZXBhZ2U6IuiXneihk+WutuS4u+mggSIsd29ya3M6IuS9nOWTgSIsc2FsZWQ6IuW3suWUriIsZmFuczoi57KJ57WyIixhbGxXb3Jrczoi5YWo6YOo5L2c5ZOBIixub3RTZWxsOiLmnKrllK7lh7oiLG15Q29sbGVjdDoi5oiR55qE5pS26JePIixjb2xsZWN0OiLmlLbol4/nmoQiLG93bjoi5oyB5pyJIixwbGFjZUFCaWQ6IuWHuuWDuSIscHVyY2hhc2U6IuizvOiytyIsb3Blbjoi5b6M6ZaL5pS+IixpbWFnZToi5ZyW54mHIixnaWY6IuWLleWcliIsYXVkaW86Iumfs+mguyIsdmlkZW86IuimlumguyIsY3JlYXRvcjoi5L2c6ICFIixjdXJyZW50QmlkOiLmnIDmlrDlh7rlg7kiLHByaWNlOiLlg7nmoLwiLGQ6IuWkqSIsaDoi5pmCIixtOiLliIYiLHM6IuenkiJ9LCgwLHUuZGVmYXVsdCkobCwic2FsZWQiLCLlt7LntZDmnZ8iKSwoMCx1LmRlZmF1bHQpKGwsInBsYWNlX2FsZXJ0Iiwi54mp5ZOB5pyq5Yiw5ZSu6LOj5pmC6ZaT5oiW5bey57WQ5p2fIiksKDAsdS5kZWZhdWx0KShsLCJjcmVhdGVkQnkiLCLkvZzogIUiKSwoMCx1LmRlZmF1bHQpKGwsInBsYWNlX2FsZXJ0MiIsIuaCqOeahOWHuuWDueW/hemgiOmrmOaWvCIpLCgwLHUuZGVmYXVsdCkobCwibm90ZSIsIumHjeimgSIpLCgwLHUuZGVmYXVsdCkobCwiQ1VSUkVOVF9CSUQiLCLmnIDmlrDlh7rlg7kiKSwoMCx1LmRlZmF1bHQpKGwsInBsYWNlX2FsZXJ0MyIsIuWPg+iIh+ertuaLje+8jOaCqOmcgOimgeaUr+S7mCIpLCgwLHUuZGVmYXVsdCkobCwicGxhY2VfYWxlcnQ0Iiwi55qE5L+d6K2J6YeR77yM56u25ouN57WQ5p2f5pmC77yM5L+d6K2J6YeR5bCH6L+U6YKE6Iez5oKo55qE6LOs5oi244CCICIpLCgwLHUuZGVmYXVsdCkobCwicGxhY2VfYWxlcnQ2Iiwi5Ye65YO55pmC6ZaT5oiq5q2i5b6MLOiLpeaCqOertuaLjeaIkOWKn++8jOaCqOWwh+acieS4gOWkqeeahOaZgumWk+aUr+S7mOacgOe1guWDueagvOOAguiLpeaUr+S7mOi2heaZgu+8jOWJh+acg+aJo+mZpOaCqOeahOS/neitiemHkeOAgiAiKSwoMCx1LmRlZmF1bHQpKGwsImNvbmZpcm1CaWQiLCLnorroqo3lh7rlg7kiKSwoMCx1LmRlZmF1bHQpKGwsIkRFU0NSSVBUSU9OIiwi5o+P6L+wIiksKDAsdS5kZWZhdWx0KShsLCJBRERSRVNTIiwi5Zyw5Z2AIiksKDAsdS5kZWZhdWx0KShsLCJjb3B5Iiwi6KSH6KO9IiksKDAsdS5kZWZhdWx0KShsLCJwZXJfaW5jcmVhc2UiLCLmr4/mrKHliqDlg7kiKSwoMCx1LmRlZmF1bHQpKGwsImN1cnJlbmN5X3R5cGUiLCLosqjluaPpoZ7lnosiKSwoMCx1LmRlZmF1bHQpKGwsInBheV90eXBlIiwi6LO86LK35pa55byPIiksKDAsdS5kZWZhdWx0KShsLCJwYXlfdHlwZV8yIiwi5ZSu6LOj5pa55byPIiksKDAsdS5kZWZhdWx0KShsLCJub3JtYWwiLCLmma7pgJoiKSwoMCx1LmRlZmF1bHQpKGwsImF1Y3Rpb24iLCLnq7bmi40iKSwoMCx1LmRlZmF1bHQpKGwsImNvbmZpcm1BdWN0aW9uIiwi56K65a6a5Y+D6IiH56u25ouN6Kmy5ZWG5ZOB5ZeOPyIpLCgwLHUuZGVmYXVsdCkobCwiYmluZEJveCIsIuebsuebkiIpLCgwLHUuZGVmYXVsdCkobCwic2VsbF9zdGF0dXMiLCLllK7os6Pni4DmhYsiKSwoMCx1LmRlZmF1bHQpKGwsImhhc1N0YXJ0Iiwi5bey6ZaL5aeLIiksKDAsdS5kZWZhdWx0KShsLCJ3aWxsU3RhcnQiLCLmnKrplovlp4siKSwoMCx1LmRlZmF1bHQpKGwsImFydHdvcmtfdHlwZSIsIueJqeWTgemhnuWeiyIpLCgwLHUuZGVmYXVsdCkobCwicmVzZXQiLCLph43nva4iKSwoMCx1LmRlZmF1bHQpKGwsImNvbmZpcm0iLCLnorrlrpoiKSwoMCx1LmRlZmF1bHQpKGwsInBsYWNlX2FsZXJ0NSIsIuiri+i8uOWFpemXnOmNteipniIpLCgwLHUuZGVmYXVsdCkobCwiY29sbGVjdGlvbiIsIuW3suaUtuiXjyIpLCgwLHUuZGVmYXVsdCkobCwiYnlDb2xsZWN0aW9uIiwi6KKr5pS26JePIiksKDAsdS5kZWZhdWx0KShsLCJhcnR3b3JrcyIsIuS9nOWTgSIpLCgwLHUuZGVmYXVsdCkobCwiZ29Db2xsZWN0Iiwi5Y675pS26JePIiksKDAsdS5kZWZhdWx0KShsLCJwcmljZSIsIuWDueagvCIpLCgwLHUuZGVmYXVsdCkobCwibm9uaWNrbmFtZSIsIuacquioree9ruaaseeosSIpLCgwLHUuZGVmYXVsdCkobCwiY2pkanMiLCLlh7rlg7nmiKrmraLmmYLplpMiKSwoMCx1LmRlZmF1bHQpKGwsImNqa3NzaiIsIuWHuuWDuemWi+Wni+aZgumWkyIpLCgwLHUuZGVmYXVsdCkobCwiY2pqenNqIiwi5Ye65YO55oiq5q2i5pmC6ZaTIiksKDAsdS5kZWZhdWx0KShsLCJnb3Rvc2VlIiwi5b+r5Y675biC5aC055yL55yL5ZCnIiksKDAsdS5kZWZhdWx0KShsLCJwb3NpdGlvbiIsIuaMgeaciSIpLCgwLHUuZGVmYXVsdCkobCwicmVzZWxsIiwi6L2J6LOjIiksKDAsdS5kZWZhdWx0KShsLCJidXlQcmljZSIsIuiyt+WFpeWDuSIpLCgwLHUuZGVmYXVsdCkobCwiY29uZmlybVJlc2VsbCIsIueiuuiqjei9ieizoyIpLCgwLHUuZGVmYXVsdCkobCwid3JvbmdQcmljZSIsIuiri+mBuOaTh+ato+eiuueahOWDueagvCIpLCgwLHUuZGVmYXVsdCkobCwiYmlkUGxhY2VkQnkiLCLlh7rlg7nkuroiKSwoMCx1LmRlZmF1bHQpKGwsInBsYWNlUmVjb3JkIiwi5Ye65YO56KiY6YyEIiksKDAsdS5kZWZhdWx0KShsLCJjb25maXJQdXJjaGFzZSIsIueiuuiqjeizvOiytyIpLCgwLHUuZGVmYXVsdCkobCwiYXJ0aXN0TGlzdCIsIuiXneihk+WutuWIl+ihqCIpLCgwLHUuZGVmYXVsdCkobCwiaGFzT3BlbiIsIuW3sumWi+WVnyIpLCgwLHUuZGVmYXVsdCkobCwibm9PcGVuIiwi5pyq6ZaL5ZWfIiksKDAsdS5kZWZhdWx0KShsLCJjbGlja09wZW4iLCLplovllZ/nm7Lnm5IiKSwoMCx1LmRlZmF1bHQpKGwsImNvbmZpcm1PcGVuIiwi56K66KqN6ZaL5ZWf55uy55uS5ZeO77yfICIpLCgwLHUuZGVmYXVsdCkobCwibWFyZ2luIiwi5L+d6K2J6YeRIiksKDAsdS5kZWZhdWx0KShsLCJ3cm9uZ1ByaWNlIiwi6KuL6Ly45YWl5q2j56K655qE5YO55qC8IiksKDAsdS5kZWZhdWx0KShsLCJ3cm9uZ1BlckluY3JlYXNlIiwi6KuL6Ly45YWl5q2j56K655qE5Yqg5YO5IiksKDAsdS5kZWZhdWx0KShsLCJ3cm9uZ1RpbWUiLCLntZDmnZ/mmYLplpPmh4nmmZrmlrzntZDmnZ/mmYLplpMiKSwoMCx1LmRlZmF1bHQpKGwsImNvbmZpcm1SZXNlbGwyIiwi5ZWG5ZOB5LiA5pem6L2J6LOj77yM5LiN5Y+v5pKk5Zue77yM56K65a6a6KaB6L2J6LOj6Kmy5ZWG5ZOB5ZeO77yfICIpLCgwLHUuZGVmYXVsdCkobCwicmVzZWxsaW5nIiwi6L2J6LOj5LitIiksKDAsdS5kZWZhdWx0KShsLCJtZXNzYWdlIiwi5raI5oGv6YCa55+lIiksKDAsdS5kZWZhdWx0KShsLCJjb25maXJtUGF5Iiwi56K65a6a5pSv5LuY6LO86LK36Kmy5ZWG5ZOB5ZeO77yfICIpLCgwLHUuZGVmYXVsdCkobCwiemZkanMiLCLmlK/ku5jlgJLoqIjmmYIiKSwoMCx1LmRlZmF1bHQpKGwsInBheVRpbWUiLCLmlK/ku5jmmYLplpMiKSwoMCx1LmRlZmF1bHQpKGwsImhhc1JlYWQiLCLlt7LoroAiKSwoMCx1LmRlZmF1bHQpKGwsImxhc3RQcmljZSIsIuacgOe1guaIkOS6pOWDuSIpLCgwLHUuZGVmYXVsdCkobCwiaXNQYXkiLCLlt7LmlK/ku5giKSwoMCx1LmRlZmF1bHQpKGwsImlzRXhwaXJlZCIsIuW3sumBjuacnyIpLCgwLHUuZGVmYXVsdCkobCwicmFyaXR5Iiwi56iA5pyJ5bqmIiksbCksY29udGFjdDp7Y29udGFjdFVzOiLlnKjnt5rlrqLmnI0ifSxhcHByb3ZlOntBdXRoZW50aWNhdGlvblRpcHM6IumHjeaWsOiupOivgeeahOWcsOWdgOS4jue7keWumuWcsOWdgOS4jeWQjCzmmK/lkKbpnIDopoHkv67mlLnlnLDlnYAiLGJyb3dzZXJUaXBzOiLor7flnKjmtY/op4jlmajkuK3miZPlvIAiLHRyY19icm93c2VyVGlwczoi6K+35Zyo5pSv5oyB55qEVFJDMjDpk77nmoTpkrHljIXkuK3miZPlvIAiLHJlY2VydGlmeToi6YeN5paw6K6k6K+BIix2ZXJpZmllZDoi5bey6K6k6K+BIixnb19hdXRoZW50aWNhdGU6IuWOu+iupOivgSIsbm90Y2VydGlmaWVkOiLmnKrorqTor4EifX07dC5kZWZhdWx0PWR9LGI2ZmM6ZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtuKCI2YTU0Iik7dmFyIGE9bigiZjViZCIpLmRlZmF1bHQ7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuZGVmYXVsdD12b2lkIDA7dmFyIG89YShuKCIzOWQ4IikpO24oImJmMGYiKSxuKCJhYTc3Iik7dmFyIHIsaT1hKG4oIjliOGUiKSkscz1hKG4oIjhmNTkiKSksYz0oYShuKCJkYzE5IikpLGEobigiNWMwMCIpKSksbD1hKG4oIjA4MjIiKSksdT1jLmRlZmF1bHQubWVzc2FnZXNbYy5kZWZhdWx0LmxvY2FsZV07aS5kZWZhdWx0LnVzZShzLmRlZmF1bHQpO3ZhciBkPW5ldyBzLmRlZmF1bHQuU3RvcmUoe3N0YXRlOntzaXRlX25hbWU6IkZ1dHVyZXMiLGNvaW5zOlt7bmFtZToiVVNEVCIsc3ViTmFtZToiRVJDMjAiLHR5cGU6dS5jb21tb24uRElHSUNDWSxzdGF0dXM6MSxpZDozLGltYWdlOm4oIjBjMzgiKX0se25hbWU6IlVTRFQiLHN1Yk5hbWU6IlRSQzIwIix0eXBlOnUuY29tbW9uLkRJR0lDQ1ksc3RhdHVzOjEsaWQ6MyxpbWFnZTpuKCIwYzM4Iil9LHtuYW1lOiJFVEgiLHR5cGU6dS5jb21tb24uRElHSUNDWSxzdGF0dXM6MSxpZDoyLGltYWdlOm4oIjA3MzUiKX0se25hbWU6IkJUQyIsdHlwZTp1LmNvbW1vbi5ESUdJQ0NZLHN0YXR1czoxLGlkOjEsaW1hZ2U6bigiZDU4YyIpfSx7bmFtZToiWFJQIix0eXBlOnUuY29tbW9uLkRJR0lDQ1ksc3RhdHVzOjEsaWQ6NSxpbWFnZTpuKCJmYzBjIil9LHtuYW1lOiJVU0RDIix0eXBlOnUuY29tbW9uLkRJR0lDQ1ksc3RhdHVzOjEsaWQ6NCxpbWFnZTpuKCJiYjlhIil9XSxhc3NldHNUeXBlOlt7aWQ6MSxuYW1lOiJsZWdhbCIsdHlwZTp1LmZ1bmQuZmlhdCt1LmZ1bmQuYWNjb3VudH0se2lkOjIsbmFtZToiY2hhbmdlIix0eXBlOnUuZnVuZC5leGNoYW5nZSt1LmZ1bmQuYWNjb3VudH0se2lkOjMsbmFtZToibGV2ZXIiLHR5cGU6dS5mdW5kLmxldmVyYWdlK3UuZnVuZC5hY2NvdW50fSx7aWQ6NCxuYW1lOiJtaWNybyIsdHlwZTp1LmZ1bmQuc2Vjb25kK3UuZnVuZC5hY2NvdW50fV0sdHJhbnNhY3Rpb25OYXZzOlt7bmFtZTp1LnRyYW5zYWN0aW9uLnNlY29uZHN9LHtuYW1lOnUudHJhbnNhY3Rpb24uZnV0dXJlc30se25hbWU6dS50cmFuc2FjdGlvbi5jb2luc31dLGJhc2VVcmw6Ii9hcGkiLGJhc2VEb21haW46TG9jYXRpb24uaG9zdCxsb2dvOm4oIjRmZTMiKSxsb2dvUmVkOm4oIjRmZTMiKSxsYW5nOnVuaS5nZXRTdG9yYWdlU3luYygibGFuZyIpfHwiZW4iLHRva2VuOnVuaS5nZXRTdG9yYWdlU3luYygidG9rZW4iKXx8IiIsdXNlcjp1bmkuZ2V0U3RvcmFnZVN5bmMoInVzZXIiKXx8e30sc29ja2V0Om51bGwsZmlhdDp1bmkuZ2V0U3RvcmFnZVN5bmMoImZpYXQiKXx8e2N1cnJlbmN5X2NvZGU6IlVTRCIscmF0ZToxLHNhdmVUaW1lOjB9LGZpYXRzOnVuaS5nZXRTdG9yYWdlU3luYygiZmlhdHMiKXx8W119LGFjdGlvbnM6e2xvZ2luOmZ1bmN0aW9uKGUsdCl7dmFyIG49ZS5jb21taXQ7ZS5zdGF0ZTtyZXR1cm4gbmV3IFByb21pc2UoKGZ1bmN0aW9uKGUsYSl7dmFyIG89dC5fdGhpcztvLiR1LmFwaS51c2VyLmxvZ2luKHQuZGF0YSkudGhlbigoZnVuY3Rpb24odCl7bigic2F2ZVVzZXIiLHQpLGUoITApfSkpLmNhdGNoKChmdW5jdGlvbihlKXthKGUpfSkpfSkpfSxzdGFydFNvY2tldDpmdW5jdGlvbihlKXtlLmNvbW1pdDt2YXIgdD1lLnN0YXRlO3JldHVybiBuZXcgUHJvbWlzZSgoZnVuY3Rpb24oZSxuKXt0LnNvY2tldD0oMCxsLmRlZmF1bHQpKCIvIix7dHJhbnNwb3J0czpbIndlYnNvY2tldCIsInBvbGxpbmciXSxyZWNvbm5lY3Rpb246ITB9KSx0LnNvY2tldC5vbigiY29ubmVjdCIsKGZ1bmN0aW9uKHQpe2UoITApfSkpfSkpfX0sbXV0YXRpb25zOihyPXtzZXRMYW5nOmZ1bmN0aW9uKGUsdCl7ZS5sYW5nPXR9LHNldFNpdGVOYW1lOmZ1bmN0aW9uKGUsdCl7ZS5zaXRlX25hbWU9dH0sc2V0TG9nbzpmdW5jdGlvbihlLHQpe2UubG9nbz10fSxzZXRMb2dvUmVkOmZ1bmN0aW9uKGUsdCl7ZS5sb2dvUmVkPXR9LHNhdmVVc2VyOmZ1bmN0aW9uKGUsdCl7ZS50b2tlbj10Lm1lc3NhZ2UsdW5pLnNldFN0b3JhZ2VTeW5jKCJ0b2tlbiIsdC5tZXNzYWdlKX0scmVmcmVzaFVzZXI6ZnVuY3Rpb24oZSx0KXtlLnVzZXI9dCx1bmkuc2V0U3RvcmFnZVN5bmMoInVzZXIiLHQpfSxkZWxldGVVc2VyOmZ1bmN0aW9uKGUpe2UudG9rZW49IiIsZS51c2VyPXt9LHVuaS5yZW1vdmVTdG9yYWdlU3luYygidG9rZW4iKSx1bmkucmVtb3ZlU3RvcmFnZVN5bmMoInVzZXIiKX19LCgwLG8uZGVmYXVsdCkociwic2V0TGFuZyIsKGZ1bmN0aW9uKGUsdCl7ZS5sYW5nPXQ7dmFyIG49ImVuIjsiemgiPT10P249InpoLUhhbnMiOiJoayI9PXQ/bj0iemgtSGFudCI6ImZyYSI9PXQ/bj0iZnIiOiJzcGEiPT10JiYobj0iZXMiKTt2YXIgYT1jLmRlZmF1bHQubWVzc2FnZXNbdF07Zm9yKHZhciBvIGluIGUuY29pbnMpZS5jb2luc1tvXVsidHlwZSJdPWEuY29tbW9uLkRJR0lDQ1k7ZS5hc3NldHNUeXBlPVt7aWQ6MSxuYW1lOiJsZWdhbCIsdHlwZTphLmZ1bmQuZmlhdCthLmZ1bmQuYWNjb3VudH0se2lkOjIsbmFtZToiY2hhbmdlIix0eXBlOmEuZnVuZC5leGNoYW5nZSthLmZ1bmQuYWNjb3VudH0se2lkOjMsbmFtZToibGV2ZXIiLHR5cGU6YS5mdW5kLmxldmVyYWdlK2EuZnVuZC5hY2NvdW50fSx7aWQ6NCxuYW1lOiJtaWNybyIsdHlwZTphLmZ1bmQuc2Vjb25kK2EuZnVuZC5hY2NvdW50fV0sdW5pLnNldExvY2FsZShuKX0pKSwoMCxvLmRlZmF1bHQpKHIsInNldEZpYXRzIiwoZnVuY3Rpb24oZSx0KXt2YXIgbj10LmZpbmQoKGZ1bmN0aW9uKHQpe3JldHVybiB0LmN1cnJlbmN5X2NvZGU9PWUuZmlhdC5jdXJyZW5jeV9jb2RlfSkpO24mJihlLmZpYXQ9biksZS5maWF0cz10LHVuaS5zZXRTdG9yYWdlU3luYygiZmlhdCIsZS5maWF0KSx1bmkuc2V0U3RvcmFnZVN5bmMoImZpYXRzIixlLmZpYXRzKX0pKSwoMCxvLmRlZmF1bHQpKHIsInNhdmVGaWF0IiwoZnVuY3Rpb24oZSx0KXtlLmZpYXQ9dCx1bmkuc2V0U3RvcmFnZVN5bmMoImZpYXQiLGUuZmlhdCl9KSkscil9KSxwPWQ7dC5kZWZhdWx0PXB9LGI5YmU6ZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtuKCI2YTU0Iik7dmFyIGE9bigiZjViZCIpLmRlZmF1bHQ7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuZGVmYXVsdD12b2lkIDA7dmFyIG8scixpLHMsYyxsLHU9YShuKCIzOWQ4IikpLGQ9e25hdjpbIkFjY3VlaWwiLCJNYXJjaMOpcyIsIkNvbW1lcmNlIiwiR2FnZSIsIkFjdGlmcyJdLGNvbW1vbjoobz17Q2FuY2VsbGVkOiJBbm51bMOpIixzZWFyY2g6IlJlY2hlcmNoZSIsY29uZmlybToiQydlc3Qgc8O7ci4iLGNhbmNlbDoiQW5udWxhdGlvbiIsc3VibWl0OiJQcsOpc2VudGF0aW9uIixsb2dvdXQ6IlNvcnRpZSIsYWxsOiJUb3VzIixlZGl0OiLDiWRpdGlvbiIsZGVsZXRlOiJTdXBwcmltZXIiLHJlc2V0OiJSw6lpbml0aWFsaXNlciIsZmlsdGVyOiJGaWx0cmFnZSIsbG9naW46IkNvbm5leGlvbiIscmVnaXN0ZXI6Ikluc2NyaXB0aW9uIixlbWFpbDoiRSAtIG1haWwiLG1vYmlsZToiTnVtw6lybyBkZSB0w6lsw6lwaG9uZSBwb3J0YWJsZSIsYWNjb3VudDoiTm9tIGQndXRpbGlzYXRldXIiLHBhc3N3b3JkOiJNb3QgZGUgcGFzc2UiLHBhc3N3b3JkUGxhY2Vob2xkZXI6IlZldWlsbGV6IHNhaXNpciBsZSBtb3QgZGUgcGFzc2UiLG5vYWNjb3VudDoiUGFzIGRlIGNvbXB0ZT8iLGdvOiJWYXMgLSB5LiIsZm9yZ2V0UGFzc3dvcmQ6Ik1vdCBkZSBwYXNzZSBvdWJsacOpIixjb25maXJtUGFzc3dvcmQ6IkNvbmZpcm1lciBsZSBtb3QgZGUgcGFzc2UiLGludml0ZWNvZGU6IkNvZGUgZCdpbnZpdGF0aW9uIixoYXNhY2NvdW50OiJWb3VzIGF2ZXogZMOpasOgIHVuIGNvbXB0ZT8iLG1vYmlsZWNvZGVQbGFjZWhvbGRlcjoiVmV1aWxsZXogc2Fpc2lyIGxlIENvZGUgZGUgdsOpcmlmaWNhdGlvbiIsZW1haWxjb2RlUGxhY2Vob2xkZXI6IlZldWlsbGV6IHNhaXNpciBsZSBDb2RlIGRlIHbDqXJpZmljYXRpb24iLHNlbmQ6IkVudm95ZXIgdW4gY29kZSBkZSB2w6lyaWZpY2F0aW9uIixzZWxlY3RBcmVhOiJTw6lsZWN0aW9uIGRlcyByw6lnaW9ucyIsYXVkaXQ6IkF1ZGl0Iix1bmRlckF1ZGl0OiJFbiBjb3VycyBkZSB2w6lyaWZpY2F0aW9uIixhdWRpdEZhaWx1cmU6IsOJY2hlYyBkZSBsYSB2w6lyaWZpY2F0aW9uIix1bnRpZToiRMOpZ3JvdXBhZ2UiLGJ1eToiQWNoZXRlciIsc2VsbDoiVmVuZHJlIixwbHNMb2dpbjoiVmV1aWxsZXogdm91cyBjb25uZWN0ZXIuIixwbHNJbnB1dFVzZXJuYW1lOiJWZXVpbGxleiBzYWlzaXIgdW4gY29tcHRlIixwbHNJbnB1dFJlUGFzc3dvcmQ6IlZldWlsbGV6IHNhaXNpciBsZSBtb3QgZGUgcGFzc2UgZGUgY29uZmlybWF0aW9uIixwbHNJbnB1dEludml0ZUNvZGU6IlZldWlsbGV6IHNhaXNpciBsZSBDb2RlIGQnaW52aXRhdGlvbiIscGxzSW5wdXRDb2RlOiJWZXVpbGxleiBzYWlzaXIgbGUgQ29kZSBkZSB2w6lyaWZpY2F0aW9uIixwbHNJbnB1dE1vYmlsZToiVmV1aWxsZXogc2Fpc2lyIGxlIG51bcOpcm8gZGUgdMOpbMOpcGhvbmUiLHBsc0lucHV0RW1haWw6IlZldWlsbGV6IHNhaXNpciB1bmUgYm/DrnRlIGF1eCBsZXR0cmVzIixsb2dpbl9zdWNjZXNzOiJDb25uZXhpb24gcsOpdXNzaWUiLGxvZ2luX2ZhaWw6IsOJY2hlYyBkZSBsYSBjb25uZXhpb24iLHJlZ19zdWNjZXNzOiJJbnNjcmlwdGlvbiByw6l1c3NpZSIscmVnX2ZhaWw6IsOJY2hlYyBkZSBsYSBjb25uZXhpb24iLHB3ZEluY29uc2lzdGVudDoiTGVzIG1vdHMgZGUgcGFzc2Ugc29udCBpbmNvaMOpcmVudHMgZGV1eCBmb2lzIixoaW50OiJDb25zZWlscyIsbG9hZGluZzoiQ2hhcmdlbWVudCBlbiBjb3VycyIsc3VjY2VzczoiU3VjY8OocyIscGxzSW5wdXQ6IlZldWlsbGV6IGVudHJlciIsY2xpY2s6IkNsaXF1ZXogc3VyIixxdW90YXRpb246Ik1hcmNow6kifSwoMCx1LmRlZmF1bHQpKG8sImVkaXQiLCLDiWRpdGlvbiIpLCgwLHUuZGVmYXVsdCkobywic2Vjb25kIiwiU2Vjb25kZXMiKSwoMCx1LmRlZmF1bHQpKG8sInNwZWNpYWxDaGFydCIsIkxlcyBjYXJhY3TDqHJlcyBzcMOpY2lhdXggbmUgc29udCBwYXMgYXV0b3Jpc8OpcyIpLCgwLHUuZGVmYXVsdCkobywib3BlbiIsIlByaXggZCdvdXZlcnR1cmUiKSwoMCx1LmRlZmF1bHQpKG8sImNsb3NlIiwiUHJpeCBkZSBjbMO0dHVyZSIpLCgwLHUuZGVmYXVsdCkobywiaGlnaCIsIlByaXggbWF4aW11bSIpLCgwLHUuZGVmYXVsdCkobywibG93IiwiUHJpeCBsZSBwbHVzIGJhcyIpLCgwLHUuZGVmYXVsdCkobywiY3VzdG9tZXJTZXJ2aWNlIiwiQ29udGFjdGV6IGxlIHNlcnZpY2Ugw6AgbGEgY2xpZW50w6hsZSIpLCgwLHUuZGVmYXVsdCkobywicmVtZW1iZXJQYXNzd29yZCIsIlJhcHBlbGV6IC0gdm91cyBsZSBtb3QgZGUgcGFzc2UuIiksKDAsdS5kZWZhdWx0KShvLCJuZXdQYXNzd29yZCIsIk5vdXZlYXUgbW90IGRlIHBhc3NlIiksKDAsdS5kZWZhdWx0KShvLCJwd2RNb3JlVGhlbjYiLCJMYSBsb25ndWV1ciBkdSBtb3QgZGUgcGFzc2UgZG9pdCDDqnRyZSBzdXDDqXJpZXVyZSDDoCBzaXggY2hpZmZyZXMiKSwoMCx1LmRlZmF1bHQpKG8sImNvZGVMZW5ndGg2IiwiTGEgbG9uZ3VldXIgZHUgQ29kZSBkZSB2w6lyaWZpY2F0aW9uIGRvaXQgw6p0cmUgZGUgc2l4IGNoaWZmcmVzIiksKDAsdS5kZWZhdWx0KShvLCJyZVB3ZE1vcmVUaGVuNiIsIkxhIGxvbmd1ZXVyIGR1IG1vdCBkZSBwYXNzZSBkZSBjb25maXJtYXRpb24gZG9pdCDDqnRyZSBzdXDDqXJpZXVyZSDDoCBzaXggY2hpZmZyZXMiKSwoMCx1LmRlZmF1bHQpKG8sInBscyIsIlMnaWwgdm91cyBwbGHDrnQuIiksKDAsdS5kZWZhdWx0KShvLCJzYXZlU3VjY2VzcyIsIlNhdXZlZ2FyZMOpIGRhbnMgbCdhbGJ1bSBzeXN0w6htZSIpLCgwLHUuZGVmYXVsdCkobywibmV4dFN0ZXAiLCJQcm9jaGFpbmVzIMOpdGFwZXMiKSwoMCx1LmRlZmF1bHQpKG8sImxvZyIsIkVucmVnaXN0cmVtZW50IiksKDAsdS5kZWZhdWx0KShvLCJwYXJhbXNXcm9uZyIsIkVycmV1ciBkZSBwYXJhbcOodHJlIiksKDAsdS5kZWZhdWx0KShvLCJmdW5jdGlvbkxvYWRpbmciLCJEw6l2ZWxvcHBlbWVudCBmb25jdGlvbm5lbCBlbiBjb3VycyIpLCgwLHUuZGVmYXVsdCkobywiRElHSUNDWSIsIk1vbm5haWUgbnVtw6lyaXF1ZSIpLCgwLHUuZGVmYXVsdCkobywicXVpY2tseSIsIlJhcGlkZSIpLCgwLHUuZGVmYXVsdCkobywibW9yZSIsIlBsdXMiKSwoMCx1LmRlZmF1bHQpKG8sImhhc05vRGF0YSIsIlBsdXMgZGUgZG9ubsOpZXMuIiksKDAsdS5kZWZhdWx0KShvLCJhdWRpb0Vycm9yIiwiRXJyZXVyIGRhbnMgbGUgZmljaGllciBhdWRpbyIpLCgwLHUuZGVmYXVsdCkobywidG9Mb25nIiwiQ2FyYWN0w6hyZSB0cm9wIGxvbmciKSwoMCx1LmRlZmF1bHQpKG8sInNlbGVjdExhbmciLCJTw6lsZWN0aW9ubmVyIGxhIGxhbmd1ZSIpLCgwLHUuZGVmYXVsdCkobywicm5hbWVwYXNzIiwiTCdhdXRoZW50aWZpY2F0aW9uIHBhciBub20gcsOpZWwgYSByw6l1c3NpIiksbyksaG9tZToocj17Y29udGFjdFVzOiJDb250YWN0ZXoiLGJvcnJvd2luZzoiRW1wcnVudCIsYm9ycm93aW5nX2VudHJ5OiJlbnRyw6llIGRlIHByw6p0IixyZXBheW1lbnRfZW50cnk6IsOpY3JpdHVyZSBkZSByZW1ib3Vyc2VtZW50IGRlIHByw6p0Iix0aXRsZToiV29vQ2xvdWQiLHRvdGFsQXNzZXRzRXF1aXZhbGVuZzoiVG90YWwgZGVzIGFjdGlmcyBjb252ZXJ0aXMiLHJlY2hhcmdlOiJSZWNoYXJnZSIsd2l0aGRyYXc6IlJldHJhaXQiLHN0b2NrOiJTdG9jayIsZnV0dXJlczoiQ29udHJhdHMiLGNvcHl0cmFkZToiU3VpdmkiLGZpbmFuY2lhbDoiR2VzdGlvbiBmaW5hbmNpw6hyZSIsbWFyZ2luOiJTdXBlciBsZXZpZXIiLG90YzoiT1RDIixjb3Vwb246IkNlbnRyZSBkZSBjYXJ0ZXMiLGJpbGxzOiJGYWN0dXJhdGlvbiIsZXhjaGFuZ2U6IsOJY2hhbmdlcyIsbWluaW5nOiJleHBsb2l0YXRpb24gbWluacOocmUiLGdhbWU6IlBldGl0cyBqZXV4IixjaGF0cm9vbToiQ2hhdCBSb29tIixxdWlja2x5QnV5Q29pbnM6IkFjaGV0ZXIgZGUgbCdhcmdlbnQgcmFwaWRlbWVudCIsZGVmaU1pbmluZzoiRGVmaSBNaW5pbmciLGNsb3VkTWluaW5nOiJNYWNoaW5lIMOgIG1pbmUgZGUgbnVhZ2VzIn0sKDAsdS5kZWZhdWx0KShyLCJzdG9jayIsIlN0b2NrIiksKDAsdS5kZWZhdWx0KShyLCJzdG9ja19pbmZvIiwiUG9zaXRpb24gaW1tw6lkaWF0ZSBzYW5zIG91dmVydHVyZSIpLCgwLHUuZGVmYXVsdCkociwibG9ja21pbmciLCJHYWdlIiksKDAsdS5kZWZhdWx0KShyLCJ0cmFuc2ZlciIsIlRyYW5zZmVydCBkZSBwacOoY2VzIiksKDAsdS5kZWZhdWx0KShyLCJpZW8iLCJJZW8iKSwoMCx1LmRlZmF1bHQpKHIsInNlY29uZHMiLCJPcHRpb25zIiksKDAsdS5kZWZhdWx0KShyLCJkYXkiLCJPaCwgbW9uIERpZXUuIiksKDAsdS5kZWZhdWx0KShyLCJtaW5pbXVtIiwiTMOodmUgLSB0b2kuIiksKDAsdS5kZWZhdWx0KShyLCJkYWlseVJldHVyblJhdGUiLCJSZW5kZW1lbnQgcXVvdGlkaWVuIiksKDAsdS5kZWZhdWx0KShyLCJtb3JlIiwiUGx1cyIpLCgwLHUuZGVmYXVsdCkociwibWFya2V0IiwiTWFyY2jDqSIpLCgwLHUuZGVmYXVsdCkociwidHJhZGluZ1BhaXIiLCItIE91aS4iKSwoMCx1LmRlZmF1bHQpKHIsImxhc3RQcmljZSIsIkRlcm5pZXIgcHJpeCIpLCgwLHUuZGVmYXVsdCkociwidG9kYXlDaGFuZ2UiLCJMZXMgZ2FpbnMgZXQgbGVzIHBlcnRlcyBkJ2F1am91cmQnaHVpIiksKDAsdS5kZWZhdWx0KShyLCJ0cmFuc2FjdGlvbiIsIkNvbW1lcmNlIiksKDAsdS5kZWZhdWx0KShyLCJuZnQiLCJORlQiKSwoMCx1LmRlZmF1bHQpKHIsImludmVzdCIsIkludmVzdGlyIiksKDAsdS5kZWZhdWx0KShyLCJkb3dubG9hZCIsIlTDqWzDqWNoYXJnZXIiKSwoMCx1LmRlZmF1bHQpKHIsImFwcF90ZXh0IiwiQ29tbWVyY2UgZW4gbGlnbmUgbidpbXBvcnRlIHF1YW5kLCBuJ2ltcG9ydGUgb8O5IiksKDAsdS5kZWZhdWx0KShyLCJiel9Db250ZW4iLCJDZW50cmUgZCdhaWRlIiksciksc2V0dGluZzp7dGVhbToiVGVhbSIsdGVhbTE6IlRlYW0gbnVtYmVyIix0ZWFtMjoiUGVvcGxlIix0ZWFtMzoiYmFsYW5jZSBwb3NpdGl2ZSBhY3R1ZWxsZSIsdGVhbTQ6InLDqWNvbXBlbnNlcyBjdW11bGF0aXZlcyAocG9zaXRpdmVzKSIsdGVhbTU6ImN1bXVsYXRpdmUgUmV3YXJkcyAodXNkdCkiLHRlYW02OiJFeGNoYW5nZSIsdGVhbTc6ImV4Y2hhbmdlIFRydWUiLHRlYW04OiJ0b25nemhlbmcgUmV3YXJkcyByZWNvcmQiLHRlYW05OiJ1c2R0IFJld2FyZHMgcmVjb3JkIix0ZWFtMTA6InNoYXJlIExpbmtzIix0ZWFtMTE6InBlcnNvbm5lbCBzdWJhbHRlcm5lIChuaXZlYXUgMSkiLHRlYW0xMjoicGVyc29ubmVsIHN1YmFsdGVybmUgKG5pdmVhdSAyKSIsdGVhbTEzOiJwZXJzb25uZWwgc3ViYWx0ZXJuZSAobml2ZWF1IDMpIix0ZWFtMTQ6InVzZXIgbmFtZSIsdGVhbTE1OiJwbGVkZ2UgYmFsYW5jZSIsdGVhbTE2OiJpbnZpdGF0aW9uIHRpbWUiLHRlYW0xNzoidG9uZ3poZW5nIEV4Y2hhbmdlIix0ZWFtMTg6InF1YW50aXTDqSBwb3NpdGl2ZSIsdGVhbTE5OiJjb252ZXJ0aWJsZSB1c2R0IFF1YW50aXR5Iix0ZWFtMjA6ImFsbCIsdGVhbTIxOiJQYXNzIGF2YWlsYWJsZSIsdGVhbTIyOiJFeGNoYW5nZSBSYXRpbyIsdGVhbTIzOiJjb21taXNzaW9ucyIsdGVhbTI0OiJjb25maXJtZXIgbCfDqWNoYW5nZSIsdGVhbTI1OiJRdWVyeSIsdGVhbTI2OiJQYXNzIEF3YXJkIHJlY29yZCIsdGVhbTI3OiJQbGVhc2UgZW50ZXIgRXhjaGFuZ2UgUXVhbnRpdHkiLHRlYW0yODoiUsOpY29tcGVuc2VzIHBvdXIgbGEgY2VydGlmaWNhdGlvbiBkZXMgbm9tcyByw6llbHMiLHRlYW0yOToiRnJhaXMgZGUgdHJhbnNhY3Rpb24iLHRlYW0zMDoiUHJpeCBkdSBzdHVkaW8iLHRlYW0zMToiUmVtaXNlIG1pbmnDqHJlIix0ZWFtMzI6IlByaXggZGUgcGFzc2FnZSgtKSIsdGVhbTMzOiJSw6ljb21wZW5zZXMgZW4gbW9ubmFpZSBudW3DqXJpcXVlIix0ZWFtMzQ6IkFubnVsYXRpb24iLHRlYW0zNToiQ29uZmlybWF0aW9uIix5OiJBbm7DqWUiLG06Ik1vaXMiLGQ6IkpvdXIiLGg6IkhldXJlIixmOiJQb2ludHMiLHM6IlNlY29uZGVzIixteV9xcmNvZGU6Ik1vbiBjb2RlIFFSIixtaW5lOiJNaW5lIixpbnZpdGVEZXNjOiJJbnZpdGV6IHZvcyBhbWlzIMOgIGZhaXJlIGRlcyByYWJhaXMiLGludml0ZURlc2MyOiJQcm9maXRleiBkdSByYWJhaXMgYXZlYyB2b3MgYW1pcyIsaW52aXRlTnVtYmVyOiJOb21icmUgZCAmIGFwb3M7IGludml0YXRpb25zIixpbnZpdGVUcmFuc051bWJlcjoiTm9tYnJlIGRlIHBlcnNvbm5lcyDDqWNoYW5nw6llcyIsbXlSZWJhdGU6Ik1vbiByZW1ib3Vyc2VtZW50IixiaWxsOiJGYWN0dXJhdGlvbiIsd2FsbGV0OiJBZHJlc3NlIGR1IHBvcnRlZmV1aWxsZSIsYmFua3M6IkxpYWlzb24gcGFyIGNhcnRlIGJhbmNhaXJlIixiYW5rc0ludGVybmF0aW9uYWw6IkxpYWlzb24gcGFyIGNhcnRlIGJhbmNhaXJlIC0gSW50ZXJuYXRpb25hbCIsYWRkQmFuazoiQWpvdXRlciB1bmUgY2FydGUgYmFuY2FpcmUiLHNlY3VyaXR5U2V0dGluZ3M6IlBhcmFtw6h0cmVzIGRlIHPDqWN1cml0w6kiLGNvdXBvbjoiQ2VudHJlIGRlIGNhcnRlcyIsc3lzdGVtTm90aWZpY2F0aW9uOiJOb3RpZmljYXRpb24gZHUgc3lzdMOobWUiLGRlZmF1bHRGaWF0Q3VycmVuY3k6Ik1vbm5haWUgbMOpZ2FsZSBwYXIgZMOpZmF1dCIsbGFuZ3VhZ2U6Ikxhbmd1ZXMiLGZhcToiUXVlc3Rpb25zIGZyw6lxdWVtbWVudCBwb3PDqWVzIixvcGVyYXRpb25hbENvbXBsaWFuY2U6IkNvbmZvcm1pdMOpIG9ww6lyYXRpb25uZWxsZSIsc2hhcmU6IlBhcnRhZ2VyIixjb250YWN0VXM6IkNvbnRhY3RleiAtIG5vdXMiLGFib3V0VXM6IsOAIHByb3BvcyBkZSBub3VzIixhdmF0YXI6IlBvcnRyYWl0IixuaWNrbmFtZToiVW4gc3Vybm9tLiIsc2lnbmF0dXJlOiJTaWduYXR1cmUgcGVyc29ubmVsbGUiLGdyeHg6IlJlbnNlaWduZW1lbnRzIHBlcnNvbm5lbHMiLGdyeHhPcHRpb25zOntuaWNrbmFtZTp7dGl0bGU6IlVuIHN1cm5vbS4iLHBsYWNlaG9sZGVyOiJWZXVpbGxleiBzYWlzaXIgdW4gc3Vybm9tIixkZXNjOiIyIC0gMTAgY2FyYWN0w6hyZXMsIHN1cHBvcnQgY2hpbm9pcyBldCBhbmdsYWlzLCBjaGlmZnJlcyJ9LHNpZ25hdHVyZTp7dGl0bGU6IlNpZ25hdHVyZSBwZXJzb25uZWxsZSIscGxhY2Vob2xkZXI6IlZldWlsbGV6IHNhaXNpciB2b3RyZSBzaWduYXR1cmUgcGVyc29ubmVsbGUiLGRlc2M6IjIgLSAzMCBjYXJhY3TDqHJlcywgc3VwcG9ydCBjaGlub2lzLCBhbmdsYWlzIGV0IG51bcOpcmlxdWUifX0seHh0eDoiVMOpbMOpY2hhcmdlciBsJ2ltYWdlIGRlIHTDqnRlIixwaG90b2dyYXBoOiJQcmVuZHJlIGRlcyBwaG90b3MiLHNlbGVjdEZyb21BbGJ1bToiU8OpbGVjdGlvbm5lciBkYW5zIGwnYWxidW0iLGFxc3o6IlBhcmFtw6h0cmVzIGRlIHPDqWN1cml0w6kiLGVkaXRMb2dpblBhc3N3b3JkOiJNb2RpZmllciBsZSBtb3QgZGUgcGFzc2UgZGUgY29ubmV4aW9uIixzZXRQYXlQYXNzd29yZDoiRMOpZmluaXIgbGUgbW90IGRlIHBhc3NlIGRlIHBhaWVtZW50IixlZGl0UGF5UGFzc3dvcmQ6Ik1vZGlmaWVyIGxlIG1vdCBkZSBwYXNzZSBkZSBwYWllbWVudCIsYmluZFBob25lOiJMaWVyIGxlIHTDqWzDqXBob25lIixlbWFpbDoiRSAtIG1haWwiLHN0YXlMb2dpbjoiUmVzdGVyIGNvbm5lY3TDqSIseGdkbG1tOiJNb2RpZmllciBsZSBtb3QgZGUgcGFzc2UgZGUgY29ubmV4aW9uIixjdXJyZW50UGFzc3dvcmQ6Ik1vdCBkZSBwYXNzZSBkZSBjb25uZXhpb24gYWN0dWVsIixjdXJyZW50UGFzc3dvcmRQbGFjZWhvbGRlcjoiVmV1aWxsZXogc2Fpc2lyIGxlIG1vdCBkZSBwYXNzZSBkZSBjb25uZXhpb24gYWN0dWVsIixuZXdQYXNzd29yZDoiTm91dmVhdSBtb3QgZGUgcGFzc2UgZGUgY29ubmV4aW9uIixuZXdQYXNzd29yZFBsYWNlaG9sZGVyOiJWZXVpbGxleiBzYWlzaXIgdW4gbm91dmVhdSBtb3QgZGUgcGFzc2UgZGUgY29ubmV4aW9uIixjb25maXJtTmV3UGFzc3dvcmQ6IkNvbmZpcm1lciBsZSBub3V2ZWF1IG1vdCBkZSBwYXNzZSIsY29uZmlybU5ld1Bhc3N3b3JkUGxhY2Vob2xkZXI6IlZldWlsbGV6IGVudHJlciBwb3VyIGNvbmZpcm1lciBsZSBub3V2ZWF1IG1vdCBkZSBwYXNzZSIsY3VycmVudFBheVBhc3N3b3JkOiJNb3QgZGUgcGFzc2UgZGUgcGFpZW1lbnQgYWN0dWVsIixjdXJyZW50UGF5UGFzc3dvcmRQbGFjZWhvbGRlcjoiVmV1aWxsZXogc2Fpc2lyIGxlIG1vdCBkZSBwYXNzZSBkZSBwYWllbWVudCBhY3R1ZWwiLG5ld1BheVBhc3N3b3JkOiJOb3V2ZWF1IG1vdCBkZSBwYXNzZSBkZSBwYWllbWVudCIsbmV3UGF5UGFzc3dvcmRQbGFjZWhvbGRlcjoiVmV1aWxsZXogc2Fpc2lyIHVuIG5vdXZlYXUgbW90IGRlIHBhc3NlIGRlIHBhaWVtZW50Iixjb25maXJtTmV3UGF5UGFzc3dvcmQ6IkNvbmZpcm1lciBsZSBub3V2ZWF1IG1vdCBkZSBwYXNzZSBkZSBwYWllbWVudCIsY29uZmlybU5ld1BheVBhc3N3b3JkUGxhY2Vob2xkZXI6IlZldWlsbGV6IHNhaXNpciBsZSBub3V2ZWF1IG1vdCBkZSBwYXNzZSBkZSBwYWllbWVudCBwb3VyIGNvbmZpcm1lciIscGhvbmVWZXJpZmljYXRpb25Db2RlOiJDb2RlIGRlIHbDqXJpZmljYXRpb24gZHUgdMOpbMOpcGhvbmUgbW9iaWxlIixlZGl0UGhvbmVWZXJpZmljYXRpb25Db2RlOiJWZXVpbGxleiBzYWlzaXIgbGUgQ29kZSBkZSB2w6lyaWZpY2F0aW9uIGR1IHTDqWzDqXBob25lIixnZXRWZXJpZmljYXRpb25Db2RlOiJPYnRlbmlyIGxlIENvZGUgZGUgdsOpcmlmaWNhdGlvbiIsbGN0eXE6IkNlcnRpZmljYXQgZCdleHDDqXJpZW5jZSBmaW5hbmNpw6hyZSIsZXhwaXJlZDoiw4ljaGVjIixleHBpcmVkVGltZToiRGF0ZSBkJ2V4cGlyYXRpb24iLHVzZUltbWVkaWF0ZWx5OiLDgCB1dGlsaXNlciBpbW3DqWRpYXRlbWVudCIsYWRkTmV3QWNjb3VudDoiQWpvdXRlciB1biBub3V2ZWF1IGNvbXB0ZSIsdG90YXlJbmNvbWU6IkNvbGxlY3Rpb24gZCdhdWpvdXJkJ2h1aSIsdG90YWxJbmNvbWU6IlJlY291dnJlbWVudCBjdW11bMOpIixzZWxlY3RMYW5nOiJWZXVpbGxleiBzw6lsZWN0aW9ubmVyIHVuZSBsYW5ndWUiLHNlbGVjdENvaW5UeXBlOiJWZXVpbGxleiBzw6lsZWN0aW9ubmVyIGxhIGRldmlzZSIsYXV0aGVudGljYXRpb246IkF1dGhlbnRpZmljYXRpb24gZGUgbCdpZGVudGl0w6kiLGF1dGhlbnRpY2F0aW9uMToiQ2VydGlmaWNhdGlvbiBkZSBiYXNlIixhdXRoZW50aWNhdGlvbjI6IkNlcnRpZmljYXRpb24gYXZhbmPDqWUiLGF1dGhlbnRpY2F0aW9uX3RleHRfMToiQXV0aGVudGlmaWNhdGlvbiBkZSBsJ2lkZW50aXTDqSBwZXJzb25uZWxsZSIsYXV0aGVudGljYXRpb25fdGV4dF8yOiJQZXJtaXNzaW9ucyBkaXNwb25pYmxlcyBhcHLDqHMgbGEgY2VydGlmaWNhdGlvbjoiLGF1dGhlbnRpY2F0aW9uX3RleHRfMzoiTFYxLiBDZXJ0aWZpY2F0aW9uIGRlIGJhc2UiLGF1dGhlbnRpY2F0aW9uX3RleHRfNDoiQXByw6hzIGNlcnRpZmljYXRpb24sIGxhIGxpbWl0ZSBkZSAyNCBoZXVyZXMgZXN0IGRlIDIwMCBCVEMiLGF1dGhlbnRpY2F0aW9uX3RleHRfNToiTGVzIG9ww6lyYXRpb25zIGVuIG1vbm5haWUgZnJhbsOnYWlzZSBwZXV2ZW50IMOqdHJlIGVmZmVjdHXDqWVzIGFwcsOocyBsJ2F1dGhlbnRpZmljYXRpb24sIGF2ZWMgdW5lIGxpbWl0ZSB1bmlxdWUgZGUgMiAwMDAgVVNEIixhdXRoZW50aWNhdGlvbl90ZXh0XzY6IkxWMi4gQ2VydGlmaWNhdGlvbiBhdmFuY8OpZSIsYXV0aGVudGljYXRpb25fdGV4dF83OiJBdWdtZW50YXRpb24gZGUgbGEgbGltaXRlIGRlIHByw6lzZW50YXRpb24sIGxpbWl0ZSBkZSAyNCBoZXVyZXMgNTAwYnRjIixhdXRoZW50aWNhdGlvbl90ZXh0Xzg6IkF1Z21lbnRhdGlvbiBkZSBsYSBsaW1pdGUgZGUgdHJhbnNhY3Rpb24gZW4gbW9ubmFpZSBmcmFuw6dhaXNlLCBsaW1pdGUgdW5pcXVlIGRlIDEwMDAwMDAwIFVTRCIsYXV0aGVudGljYXRpb25fdGV4dF85OiJDb25zZWlsIGNoYWxldXJldXg6IHBvdXIgcHJvdMOpZ2VyIGxhIHPDqWN1cml0w6kgZGVzIGZvbmRzIGRlcyB1dGlsaXNhdGV1cnMsIHZldWlsbGV6IGQnYWJvcmQgY29tcGzDqXRlciBsYSBsaWFpc29uIGRlIGxhIGJvw650ZSBhdXggbGV0dHJlcyBldCBkdSB0w6lsw6lwaG9uZSwgc2lub24gdm90cmUgYXV0aGVudGlmaWNhdGlvbiBuZSBwYXNzZXJhIHBhcy4iLGdvQXVkaXQ6IlBvdXIgY2VydGlmaWVyIixub2F1ZGl0OiJOb24gY2VydGlmacOpIixhdWRpdGluZzoiQ2VydGlmaWNhdGlvbiBlbiBjb3VycyIsaGFzYXVkaXQ6IkNlcnRpZmnDqSIsZXJyb3JhdWRpdDoiQXV0aGVudGlmaWNhdGlvbiDDqWNob3XDqWUiLGlkVHlwZToiVHlwZSBkZSBjZXJ0aWZpY2F0IixpZENhcmQ6IkNhcnRlIGQnaWRlbnRpdMOpIixwYXNzcG9ydDoiUGFzc2Vwb3J0Iixkcml2ZXJMaWNlbnNlOiJQZXJtaXMgZGUgY29uZHVpcmUiLG5hbWU6Ik5vbSAocykiLGlkY2FyZDoiTnVtw6lybyBkJ2lkZW50aWZpY2F0aW9uIixwbHNJcHROYW1lOiJWZXVpbGxleiBzYWlzaXIgdW4gbm9tIixwbHNJcHRDb3JyZWN0SWRjYXJkOiJWZXVpbGxleiBzYWlzaXIgbGUgYm9uIG51bcOpcm8gZCdpZGVudGlmaWNhdGlvbiIsdXBsb2FkSWRjYXJkRnJvbnQ6IlTDqWzDqWNoYXJnZXIgbCdhdmFudCBkZSBsYSBjYXJ0ZSBkJ2lkZW50aXTDqSIsdXBsb2FkSWRjYXJkUmV2ZXJzZToiVMOpbMOpY2hhcmdlciBsYSBjYXJ0ZSBkJ2lkZW50aXTDqSBhdSB2ZXJzbyIsZW1haWxWZXJpZmljYXRpb25Db2RlOiJDb2RlIGRlIHbDqXJpZmljYXRpb24gZGUgbGEgYm/DrnRlIGF1eCBsZXR0cmVzIixwbHNpcHRFbWFpbENvZGU6IlZldWlsbGV6IHNhaXNpciBsZSBDb2RlIGRlIHbDqXJpZmljYXRpb24gZGUgbGEgYm/DrnRlIGF1eCBsZXR0cmVzIixhZGRXYWxsZXQ6IkFqb3V0ZXIgdW5lIGFkcmVzc2UgZGUgcG9ydGVmZXVpbGxlIixzZWxlY3RDdXJyZW5jeToiU8OpbGVjdGlvbm5lciBsYSBkZXZpc2UiLHBsc1NlbGVjdEN1cnJlbmN5OiJWZXVpbGxleiBzw6lsZWN0aW9ubmVyIGxhIGRldmlzZSIscGxzSXB0QWRkcmVzczoiVmV1aWxsZXogc2Fpc2lyIGwnYWRyZXNzZSBkdSBwb3J0ZWZldWlsbGUiLHdhbGxldEFkZHJlc3M6IkFkcmVzc2UgZHUgcG9ydGVmZXVpbGxlIix3YWxsZXRRcmNvZGU6IkNvZGUgUVIgZHUgcG9ydGVmZXVpbGxlIixwbHNJcHRXYWxsZXRBZGRyZXNzOiJWZXVpbGxleiBzYWlzaXIgbCdhZHJlc3NlIGR1IHBvcnRlZmV1aWxsZSIscGxzVXBsb2FkV2FsbGV0UXJjb2RlOiJWZXVpbGxleiB0w6lsw6ljaGFyZ2VyIGxlIENvZGUgUVIgZHUgcG9ydGVmZXVpbGxlIixjb25maXJtTG9nb3V0OiJUdSBlcyBzw7tyIGRlIHZvdWxvaXIgcXVpdHRlciBsYSBjb25uZXhpb24/Iixub25pY2tuYW1lOiJWZXVpbGxleiBkw6lmaW5pciB1biBzdXJub20iLHBsc0lucHV0TW9iaWxlOiJWZXVpbGxleiBzYWlzaXIgbGUgbnVtw6lybyBkZSB0w6lsw6lwaG9uZSIsYWxpcGF5X2FjY291bnQ6Ik5vIEFiYSIscmVhbF9uYW1lOiJOb20gcsOpZWwiLGJhbmtfYWNjb3VudDoiTnVtw6lybyBkZSBjYXJ0ZSBiYW5jYWlyZSIsYmFua19kaXpoaToiQWRyZXNzZSBkZSBsYSBCYW5xdWUiLGJhbmtfbmFtZToiQmFucXVlIGRlIGTDqXDDtHQiLGJhbmtfbmV0d29yazoiT3V2ZXJ0dXJlIGR1IGNvbXB0ZSIsc3dpZnRfY29kZToiU1dJRlQiLHBob25lOiJOdW3DqXJvIGRlIHTDqWzDqXBob25lIix3ZWNoYXRfYWNjb3VudDoiQWRyZXNzZSBkdSB0aXR1bGFpcmUgZGUgbGEgY2FydGUiLHdlY2hhdF9uaWNrbmFtZToiQ29kZSBTd2lmdCIsYWxsTmVlZDoiVG91cyByZXF1aXMiLHBob25lTnVtYmVyOiJOdW3DqXJvIGRlIHTDqWzDqXBob25lIHBvcnRhYmxlIixjb2RlOiJDb2RlIGRlIHbDqXJpZmljYXRpb24iLHNlbmRDb2RlOiJFbnZveWVyIHVuIGNvZGUgZGUgdsOpcmlmaWNhdGlvbiIscGxzSXB0Q29kZToiVmV1aWxsZXogc2Fpc2lyIGxlIENvZGUgZGUgdsOpcmlmaWNhdGlvbiIsc2NvcmU6IlNjb3JlIn0sdHJhbnNhY3Rpb246KGk9e2FjdHVhbFBMOiJBY3R1YWwgUEwiLGZhdm9yaXRlczoiQXV0byAtIFPDqWxlY3Rpb24iLGZ1dHVyZXM6IkNvbnRyYXRzIixjb2luczoiTW9ubmFpZSIsc3RvY2s6IlN0b2NrIix0cmFkaW5nUGFpcjoiLSBPdWkuIixsYXN0UHJpY2U6IkRlcm5pZXIgcHJpeCIsdG9kYXlDaGFuZ2U6IkxlcyBnYWlucyBldCBsZXMgcGVydGVzIGQnYXVqb3VyZCdodWkiLHNlYXJjaFBsYWNlaG9sZGVyOiJSZWNoZXJjaGVyIGxhIGRldmlzZSAvIGxlIG5vbSAvIGxlIENvZGUgZGUgbCdhY3Rpb24gcXVpIHZvdXMgaW50w6lyZXNzZSIsaG90U2VhcmNoOiJSZWNoZXJjaGUgcG9wdWxhaXJlIixyZWNlbnRWaWV3OiJWdWUgcsOpY2VudGUiLGRheUhpZ2g6IkF1am91cmQnaHVpIixkYXlMb3c6IkZhaWJsZSBhdWpvdXJkJ2h1aSIsb3B0aW9uYWw6IkF1dG8gLSBTw6lsZWN0aW9uIixidXk6IkFjaGV0ZXIiLHNlbGw6IlZlbmRyZSIsZW50cnVzdFBlbmRpbmdPcmRlcjoiTGlzdGUgZGVzIGTDqWzDqWd1w6lzIixhZGRPcHRpb25hbFN1Y2Nlc3M6IkFqb3V0IGRlIGwnYXV0byAtIHPDqWxlY3Rpb24gcsOpdXNzaSIsZGVsT3B0aW9uYWxTdWNjZXNzOiJTdXBwcmVzc2lvbiBkZSBsJ2F1dG8gLSBzw6lsZWN0aW9uIHLDqXVzc2llIixzZWNvbmRzOiJPcHRpb25zIixob21lOiJQYWdlIGQnYWNjdWVpbCIsb3JkZXJDb25maXJtOiJDb25maXJtYXRpb24gZGUgY29tbWFuZGUiLGN1cnJlbnRQcmljZToiUHJpeCBjb3VyYW50cyIsZGlyZWN0aW9uOiJPcmllbnRhdGlvbiIsc2VsZWN0VGltZToiU8OpbGVjdGlvbm5lciBsYSBkYXRlIGQnZXhwaXJhdGlvbiIsbnVtYmVyOiJOb21icmUiLGJhbGFuY2U6IlNvbGRlIGR1IGNvbXB0ZSIscGxzSXB0Q3J0TnVtYmVyOiJWZXVpbGxleiBzYWlzaXIgbGEgcXVhbnRpdMOpIGNvcnJlY3RlIixidXlQcmljZToiUHJpeCBkJ2FjaGF0IixleHBlY3RlZFBMOiJSw6lzdWx0YXQgZXNjb21wdMOpIixjb250aW51ZVRyYWRlOiJDb250aW51ZXouIixzZWNvbmRzUG9zaXRpb246IlBvc2l0aW9uIGQnb3B0aW9uIixwb3NpdGlvbjoiT3VpLiIsaGlzdG9yeToiSGlzdG9yaXF1ZSIsb3JkZXJUaW1lczoiRHVyw6llIGRlIGxhIGNvbW1hbmRlIixwbDoiUHJvZml0cyBldCBwZXJ0ZXMiLHNlbGxUaW1lOiJUZW1wcyBkZSB2ZW50ZSIsYnV5dGltZToiRW50cmVyIGxlIHRlbXBzIixlbmRQcmljZToiVG91dGVzIG5vcyBmw6lsaWNpdGF0aW9ucyJ9LCgwLHUuZGVmYXVsdCkoaSwiYnV5IiwiQWNoZXRlciIpLCgwLHUuZGVmYXVsdCkoaSwic2VsbCIsIlZlbmRyZSIpLCgwLHUuZGVmYXVsdCkoaSwicHJpY2UiLCJQcml4IiksKDAsdS5kZWZhdWx0KShpLCJ0aW1lIiwiVGVtcHMiKSwoMCx1LmRlZmF1bHQpKGksIm9wdGlvbmFsIiwiQXV0byAtIFPDqWxlY3Rpb24iKSwoMCx1LmRlZmF1bHQpKGksImJ1eSIsIkFjaGV0ZXIiKSwoMCx1LmRlZmF1bHQpKGksInNlbGwiLCJWZW5kcmUiKSwoMCx1LmRlZmF1bHQpKGksImxvbmciLCJQbHVzIGZvcnQuIiksKDAsdS5kZWZhdWx0KShpLCJzaG9ydCIsIkNvdXJ0IC0gY2lyY3VpdGVyIiksKDAsdS5kZWZhdWx0KShpLCJlbnRydXN0UGVuZGluZ09yZGVyIiwiTGlzdGUgZGVzIGTDqWzDqWd1w6lzIiksKDAsdS5kZWZhdWx0KShpLCJhZGRPcHRpb25hbFN1Y2Nlc3MiLCJBam91dCBkZSBsJ2F1dG8gLSBzw6lsZWN0aW9uIHLDqXVzc2kiKSwoMCx1LmRlZmF1bHQpKGksImRlbE9wdGlvbmFsU3VjY2VzcyIsIlN1cHByZXNzaW9uIGRlIGwnYXV0byAtIHPDqWxlY3Rpb24gcsOpdXNzaWUiKSwoMCx1LmRlZmF1bHQpKGksInByaWNlIiwiUHJpeCIpLCgwLHUuZGVmYXVsdCkoaSwiYW1vdW50IiwiTm9tYnJlIiksKDAsdS5kZWZhdWx0KShpLCJtYXJrZXRQcmljZSIsIlByaXggZHUgbWFyY2jDqSIpLCgwLHUuZGVmYXVsdCkoaSwibGltaXRQcmljZSIsIkxpbWl0ZSBkZSBwcml4IiksKDAsdS5kZWZhdWx0KShpLCJudW1iZXIiLCJOb21icmUgZGUgY29tbWVyw6dhbnRzIiksKDAsdS5kZWZhdWx0KShpLCJtYXJnaW4iLCJEw6lww7R0IGRlIGdhcmFudGllIiksKDAsdS5kZWZhdWx0KShpLCJoYW5kbGluZ0ZlZSIsIkZyYWlzIGRlIG1hbnV0ZW50aW9uIiksKDAsdS5kZWZhdWx0KShpLCJiYWxhbmNlIiwiU29sZGUiKSwoMCx1LmRlZmF1bHQpKGksIm11bHRpcGxlIiwiTXVsdGlwbGUiKSwoMCx1LmRlZmF1bHQpKGksInJlY2hhcmdlIiwiUmVjaGFyZ2UiKSwoMCx1LmRlZmF1bHQpKGksInBsc0lwdENvbW1pc3Npb25QcmljZSIsIlZldWlsbGV6IHNhaXNpciBsZSBwcml4IGTDqWzDqWd1w6kiKSwoMCx1LmRlZmF1bHQpKGksInRyYWRpbmdQYWlyIiwiLSBPdWkuIiksKDAsdS5kZWZhdWx0KShpLCJkaXJlY3Rpb24iLCJPcmllbnRhdGlvbiIpLCgwLHUuZGVmYXVsdCkoaSwicGxzSXB0Q3J0UHJpY2UiLCJWZXVpbGxleiBzYWlzaXIgbGUgcHJpeCBjb3JyZWN0IiksKDAsdS5kZWZhdWx0KShpLCJwb3NpdGlvbiIsIlBvc2l0aW9uIiksKDAsdS5kZWZhdWx0KShpLCJ0aW1lIiwiVGVtcHMiKSwoMCx1LmRlZmF1bHQpKGksInR1cm5vdmVyIiwiTW9udGFudCBkZSBsYSB0cmFuc2FjdGlvbiIpLCgwLHUuZGVmYXVsdCkoaSwib3BlcmF0aW9uIiwiRm9uY3Rpb25uZW1lbnQiKSwoMCx1LmRlZmF1bHQpKGksInR5cGUiLCJUeXBlIiksKDAsdS5kZWZhdWx0KShpLCJjb3ZlciIsIkZlcm1ldHVyZSBkZSBsYSBwb3NpdGlvbiIpLCgwLHUuZGVmYXVsdCkoaSwiY29uZmlybUNvdmVyIiwiQ29uZmlybWVyIGxhIGZlcm1ldHVyZT8iKSwoMCx1LmRlZmF1bHQpKGksImNvbmZpcm1TZWxmSG9sZCIsIlR1IGVzIHPDu3IgZGUgdm91bG9pciB0ZSBjaGFuZ2VyPyIpLCgwLHUuZGVmYXVsdCkoaSwic2VsZkhvbGRpbmciLCJBdXRvIC0gcHLDqXNlcnZhdGlvbiIpLCgwLHUuZGVmYXVsdCkoaSwidHJhbnNTZWxmSG9sZCIsIlByaXNlIGVuIGNoYXJnZSIpLCgwLHUuZGVmYXVsdCkoaSwiZGVsZWdhdGVMaXN0IiwiTGlzdGUgZGVzIGTDqWzDqWd1w6lzIiksKDAsdS5kZWZhdWx0KShpLCJyaXNrUmF0ZSIsIlRhdXggZGUgcmlzcXVlIiksKDAsdS5kZWZhdWx0KShpLCJ0b3RhbFBhbmRMIiwiVG90YWwgZGVzIGdhaW5zIGRlIHBvc2l0aW9uIiksKDAsdS5kZWZhdWx0KShpLCJvbmVDbGlja0NvdmVyIiwiRmVybWV0dXJlIMOpY2xhaXIiKSwoMCx1LmRlZmF1bHQpKGksIm9wZW4iLCJQcml4IGQnb3V2ZXJ0dXJlIiksKDAsdS5kZWZhdWx0KShpLCJ0YXJnZXRQcm9maXRQcmljZSIsIlByaXggZGUgY2zDtHR1cmUiKSwoMCx1LmRlZmF1bHQpKGksInVwZGF0ZVByaWNlIiwiUHJpeCBjb3VyYW50cyIpLCgwLHUuZGVmYXVsdCkoaSwic3RvcExvc3NQcmljZSIsIlByaXggc3RvcCBsb3NzIiksKDAsdS5kZWZhdWx0KShpLCJvdmVybmlnaHRNb25leSIsIkZyYWlzIGRlIG51aXQiKSwoMCx1LmRlZmF1bHQpKGksIm9wZW5UaW1lIiwiSGV1cmUgZCdvdXZlcnR1cmUiKSwoMCx1LmRlZmF1bHQpKGksImxvdHMiLCJMZXMgbWFpbnMuIiksKDAsdS5kZWZhdWx0KShpLCJzZXRQcm9maXRMb3NzIiwiUsOpZ2xhZ2UgZGUgbCdhcnLDqnQgZHUgZ2FpbiBldCBkZSBsYSBwZXJ0ZSIpLCgwLHUuZGVmYXVsdCkoaSwiZXhwZWN0ZWRQcm9maXQiLCJCw6luw6lmaWNlIGVzY29tcHTDqSIpLCgwLHUuZGVmYXVsdCkoaSwiZXhwZWN0ZWRMb3NzIiwiUGVydGVzIHByw6l2dWVzIiksKDAsdS5kZWZhdWx0KShpLCJjb3ZlckFsbCIsIkNsw7R0dXJlIGNvbXBsw6h0ZSIpLCgwLHUuZGVmYXVsdCkoaSwib25seUNvdmVyTWFueSIsIkp1c3RlIHVuIHBsYXQuIiksKDAsdS5kZWZhdWx0KShpLCJvbmx5Q292ZXJFbXB0eSIsIkZldWlsbGUgcGxhdGUgc2V1bGVtZW50IiksKDAsdS5kZWZhdWx0KShpLCJudW1iZXJzIiwiTm9tYnJlIiksKDAsdS5kZWZhdWx0KShpLCJjb2luQnV5UHJpY2UiLCJUcmFkaW5nIGF0IGN1cnJlbnQgYmVzdCBwcmljZSIpLCgwLHUuZGVmYXVsdCkoaSwiamluZSIsIk1vbnRhbnQiKSwoMCx1LmRlZmF1bHQpKGksInBfamluZSIsIlZldWlsbGV6IGVudHJlciBsZSBtb250YW50IiksKDAsdS5kZWZhdWx0KShpLCJwX3ByaWNlIiwiVmV1aWxsZXogZW50cmVyIGxlIHByaXgiKSwoMCx1LmRlZmF1bHQpKGksInBfY29uZmlybV9zaiIsIkTDqXRlcm1pbmVyIGF1IHByaXggZHUgbWFyY2jDqSIpLCgwLHUuZGVmYXVsdCkoaSwicF9jb25maXJtX3hqXzEiLCJEw6l0ZXJtaW5lciBhdSBwcml4IGNvdXJhbnQiKSwoMCx1LmRlZmF1bHQpKGksInBfY29uZmlybV9tYSIsIkMnZXN0IMOnYT8iKSwoMCx1LmRlZmF1bHQpKGksInN0YXR1cyIsIlN0YXR1dCIpLCgwLHUuZGVmYXVsdCkoaSwiY29tcGxldGUiLCJUZXJtaW7DqSIpLCgwLHUuZGVmYXVsdCkoaSwiZG9pbmciLCJFbiBjb3VycyIpLCgwLHUuZGVmYXVsdCkoaSwiY3VycmVudEVudHJ1c3QiLCJNYW5kYXQgYWN0dWVsIiksKDAsdS5kZWZhdWx0KShpLCJhbGxFbnRydXN0IiwiVG91dGVzIGxlcyBkw6lsw6lnYXRpb25zIiksKDAsdS5kZWZhdWx0KShpLCJlbnRydXN0IiwiTWFuZGF0IiksKDAsdS5kZWZhdWx0KShpLCJlbnRydXN0VGltZSIsIlRlbXBzIGRlIGTDqWzDqWdhdGlvbiIpLCgwLHUuZGVmYXVsdCkoaSwiYWxsIiwiVG91cyIpLCgwLHUuZGVmYXVsdCkoaSwiYnV5VXAiLCJBY2hldGVyIHBsdXMiKSwoMCx1LmRlZmF1bHQpKGksImJ1eURvd24iLCJBY2hldGVyIG1vaW5zIiksKDAsdS5kZWZhdWx0KShpLCJqeWUiLCJNb250YW50IGRlIGxhIHRyYW5zYWN0aW9uIiksaSksZnVuZDoocz17b3ZlcnZpZXc6IkFwZXLDp3UgZ8OpbsOpcmFsIixiYWxhbmNlOiJTb2xkZSIsZnV0dXJlczoiQ29udHJhdHMiLGRlcG9zaXQ6IkTDqXDDtHRzIixtaW5pbmc6ImV4cGxvaXRhdGlvbiBtaW5pw6hyZSIsc3RvY2s6IlN0b2NrIixtYXJnaW46IlN1cGVyIGxldmllciIseWVzdGVyZGF5RWFybmluZ3M6IkdhaW5zIGQnaGllciIseWllbGRBdE1hdHVyaWx5OiJQcm9kdWl0IMOgIGwnw6ljaMOpYW5jZSIsdG90YWxrUmV2ZW51ZToiVG90YWwgZGVzIHJlY2V0dGVzIixjdXJyZW50UHJvZml0OiJHYWlucyBldCBwZXJ0ZXMgY291cmFudHMiLHByb2ZpdFJhdGlvOiJUYXV4IGRlIHJlbnRhYmlsaXTDqSIscmVjZWl2ZToiUmVjaGFyZ2UgLyBjb2xsZWN0ZSIsdHJhbnNmZXI6IlJldHJhaXQgLyB0cmFuc2ZlcnQiLGZpbmFuY2lhbDoiR2VzdGlvbiBmaW5hbmNpw6hyZSIsdmFsdWF0aW9uOiLDiXZhbHVhdGlvbiIsY3VycmVudEVhcm5pbmdzOiJSZWNldHRlcyBjb3VyYW50ZXMiLHllc3RlcmRheUluY29tZToiR2FpbnMgZCdoaWVyIixjcnlwdG86Ik1vbm5haWUgbnVtw6lyaXF1ZSIsZmlhdDoiTW9ubmFpZSBmcmFuw6dhaXNlIixoaWRlU21hbGxDdXJyZW5jeToiQ2FjaGVyIGxhIHBldGl0ZSBtb25uYWllIixhdmFpbGFibGU6IkRpc3BvbmlibGUiLGZyZWV6ZToiR2VsIixlcXVpdmFsZW50OiJSw6lkdWN0aW9uIix1c2R0bToiVSAtIHN0YW5kYXJkIixjb2lubToiTW9ubmFpZSBzdGFuZGFyZCIsZXhjaGFuZ2U6Ik1vbm5haWUiLGxldmVyYWdlOiJDb250cmF0cyJ9LCgwLHUuZGVmYXVsdCkocywiZmlhdCIsIk1vbm5haWUgZnJhbsOnYWlzZSIpLCgwLHUuZGVmYXVsdCkocywic2Vjb25kIiwiT3B0aW9ucyIpLCgwLHUuZGVmYXVsdCkocywiY29udmVydCIsIlRvdGFsIGRlcyBhY3RpZnMgY29udmVydGlzIiksKDAsdS5kZWZhdWx0KShzLCJjb252ZXJ0MiIsIkNvbnZlcnNpb24gZGVzIGFjdGlmcyIpLCgwLHUuZGVmYXVsdCkocywicmVjb3JkIiwiRW5yZWdpc3RyZW1lbnQgZHUgY2hhbmdlbWVudCBkZSBjb21wdGUiKSwoMCx1LmRlZmF1bHQpKHMsImF2YWlsYWJsZVF1b3RhIiwiTW9udGFudCBkaXNwb25pYmxlIiksKDAsdS5kZWZhdWx0KShzLCJsb2NrZWQiLCJWZXJyb3VpbGzDqS4iKSwoMCx1LmRlZmF1bHQpKHMsImNvbnZlcnRlZCIsIlLDqWR1Y3Rpb24iKSwoMCx1LmRlZmF1bHQpKHMsImFjY291bnQiLCJDb21wdGVzIiksKDAsdS5kZWZhdWx0KShzLCJmaW5hbmNpYWxSZWNvcmRzIiwiQ29tcHRlcyBmaW5hbmNpZXJzIiksKDAsdS5kZWZhdWx0KShzLCJudW1iZXIiLCJOb21icmUiKSwoMCx1LmRlZmF1bHQpKHMsInJlY29yZDIiLCJFbnJlZ2lzdHJlbWVudCIpLCgwLHUuZGVmYXVsdCkocywidGltZSIsIlRlbXBzIiksKDAsdS5kZWZhdWx0KShzLCJ0cmFuc2ZlciIsIlRyYW5zZmVydCBkZSBwacOoY2VzIiksKDAsdS5kZWZhdWx0KShzLCJmcm9tIiwiRGUiKSwoMCx1LmRlZmF1bHQpKHMsInRvIiwiw6AiKSwoMCx1LmRlZmF1bHQpKHMsInRyYW5zZmVyTnVtYmVyIiwiTm9tYnJlIGRlIHRyYW5zZmVydHMiKSwoMCx1LmRlZmF1bHQpKHMsInlvdUdldCIsIlZvdXMgYXVyZXoiKSwoMCx1LmRlZmF1bHQpKHMsImV4Y2hhbmdlUmF0ZSIsIlRhdXggZGUgY2hhbmdlIiksKDAsdS5kZWZhdWx0KShzLCJoYW5kbGluZ0ZlZSIsIkZyYWlzIGRlIG1hbnV0ZW50aW9uIiksKDAsdS5kZWZhdWx0KShzLCJmdW5kVHJhbnNmZXIiLCJUcmFuc2ZlcnQgZGUgZm9uZHMiKSwoMCx1LmRlZmF1bHQpKHMsImluc3VmZmljaWVudEJhbGFuY2UiLCJTb2xkZSBpbnN1ZmZpc2FudCIpLCgwLHUuZGVmYXVsdCkocywibmVlZEhhbmRsaW5nRmVlIiwiRnJhaXMgZGUgbWFudXRlbnRpb24gc3VwcGzDqW1lbnRhaXJlcyIpLCgwLHUuZGVmYXVsdCkocywicGxzSXB0Q3J0TnVtYmVyIiwiVmV1aWxsZXogc2Fpc2lyIGxhIHF1YW50aXTDqSBjb3JyZWN0ZSIpLCgwLHUuZGVmYXVsdCkocywiY190cmFuc2ZlciIsIlR1IGVzIHPDu3IgZGUgdG91cm5lcj8iKSwoMCx1LmRlZmF1bHQpKHMsInNlbGVjdEN1cnJlbmN5IiwiU8OpbGVjdGlvbm5lciBsYSBkZXZpc2UiKSwoMCx1LmRlZmF1bHQpKHMsIkRJR0lDQ1kiLCJNb25uYWllIG51bcOpcmlxdWUiKSwoMCx1LmRlZmF1bHQpKHMsInNhdmVRcmNvZGUiLCJFbnJlZ2lzdHJlciBsZSBDb2RlIFFSIiksKDAsdS5kZWZhdWx0KShzLCJjb3B5QWRkcmVzcyIsIkNvcGllciBsJ2FkcmVzc2UgZHUgbGllbiIpLCgwLHUuZGVmYXVsdCkocywicGxzVHJhbnMiLCJWZXVpbGxleiByZXRvdXJuZXIgw6AgY2V0dGUgYWRyZXNzZSIpLCgwLHUuZGVmYXVsdCkocywicmVjaGFyZ2VOdW1lciIsIk5vbWJyZSBkZSByZWNoYXJnZXMiKSwoMCx1LmRlZmF1bHQpKHMsInBheW1lbnRWb3VjaGVyIiwiQ2VydGlmaWNhdCBkZSBwYWllbWVudCIpLCgwLHUuZGVmYXVsdCkocywicGxzSXB0UmVjaGFyZ2VOdW1lciIsIlZldWlsbGV6IHNhaXNpciBsYSBxdWFudGl0w6kgZGUgcmVjaGFyZ2UiKSwoMCx1LmRlZmF1bHQpKHMsInBsc1VwbG9hZFBheW1lbnRWb3VjaGVyIiwiVmV1aWxsZXogdMOpbMOpY2hhcmdlciBsZSBib24gZGUgcGFpZW1lbnQiKSwoMCx1LmRlZmF1bHQpKHMsInBsc0lwdENydEFtb3VudCIsIlZldWlsbGV6IHNhaXNpciBsZSBtb250YW50IGNvcnJlY3QiKSwoMCx1LmRlZmF1bHQpKHMsIndpdGhkcmF3IiwiUmV0cmFpdCAvIHRyYW5zZmVydCIpLCgwLHUuZGVmYXVsdCkocywiY3VycmVuY3lOYW1lIiwiTm9tIGRlIGxhIG1vbm5haWUiKSwoMCx1LmRlZmF1bHQpKHMsInRyYW5zYWN0aW9uSW5mbyIsIkNvbXB0ZSBkZSB0cmFuc2FjdGlvbiIpLCgwLHUuZGVmYXVsdCkocywid2l0aGRyYXcyIiwiUmV0cmFpdCIpLCgwLHUuZGVmYXVsdCkocywiY2FuVXNlIiwiRGlzcG9uaWJsZSIpLCgwLHUuZGVmYXVsdCkocywiYWxsIiwiVG91cyIpLCgwLHUuZGVmYXVsdCkocywicGxzSXB0V2l0aGRyYXdOdW1iZXIiLCJWZXVpbGxleiBlbnRyZXIgbGEgcXVhbnRpdMOpIGRlIHJldHJhaXQiKSwoMCx1LmRlZmF1bHQpKHMsIndpdGhkcmF3TnVtYmVyIiwiTW9udGFudCByZXRpcsOpIiksKDAsdS5kZWZhdWx0KShzLCJyZW1hcmsiLCJSZW1hcnF1ZXMiKSwoMCx1LmRlZmF1bHQpKHMsImhhbmRsaW5nRmVlIiwiRnJhaXMgZGUgbWFudXRlbnRpb24iKSwoMCx1LmRlZmF1bHQpKHMsImNhbkdldE51bWJlciIsIlF1YW50aXTDqSByZcOndWUiKSwoMCx1LmRlZmF1bHQpKHMsImxlYXN0TnVtYmVyIiwiUXVhbnRpdMOpIG1pbmltYWxlIGRlIHJldHJhaXQiKSwoMCx1LmRlZmF1bHQpKHMsImNvaW5UeXBlIiwiTW9ubmFpZSIpLCgwLHUuZGVmYXVsdCkocywiYWRkcmVzcyIsIkFkcmVzc2UiKSwoMCx1LmRlZmF1bHQpKHMsImRhdGUiLCJEYXRlIiksKDAsdS5kZWZhdWx0KShzLCJ3aXRoZHJhd0FkZHJlc3MiLCJBZHJlc3NlIGRlIHJldHJhaXQiKSwoMCx1LmRlZmF1bHQpKHMsInBsc1NlbGVjdFdpdGhkcmF3QWRkcmVzcyIsIlZldWlsbGV6IHPDqWxlY3Rpb25uZXIgbCdhZHJlc3NlIGRlIHJldHJhaXQgZGUgbW9ubmFpZSIpLCgwLHUuZGVmYXVsdCkocywid2l0aGRyYXdUb0NhcmQiLCJSw6lmw6lyZW5jZSDDoCBsYSBjYXJ0ZSBiYW5jYWlyZSIpLCgwLHUuZGVmYXVsdCkocywid2l0aGRyYXdUb0NhcmRJbnRlcm5hdGlvbmFsIiwiSW50ZXJuYXRpb25hbCIpLCgwLHUuZGVmYXVsdCkocywid2l0aGRyYXdUb0FkZHJlc3MiLCJNZW50aW9ubmVyIGwnYWRyZXNzZSBkdSBwb3J0ZWZldWlsbGUiKSwoMCx1LmRlZmF1bHQpKHMsImNhcmQiLCJDYXJ0ZSBiYW5jYWlyZSIpLCgwLHUuZGVmYXVsdCkocywiYWRkQ2FyZCIsIkFqb3V0ZXIgdW5lIGNhcnRlIGJhbmNhaXJlIiksKDAsdS5kZWZhdWx0KShzLCJwbHNBZGRDYXJkIiwiVmV1aWxsZXogYWpvdXRlciB1bmUgY2FydGUgYmFuY2FpcmUiKSwoMCx1LmRlZmF1bHQpKHMsImN6U3RhdGVMb2FkaW5nIiwiw6AgbCfDqXR1ZGUiKSwoMCx1LmRlZmF1bHQpKHMsImN6U3RhdGVPayIsIlJldnVlIHLDqXVzc2llIiksKDAsdS5kZWZhdWx0KShzLCJjelN0YXRlTm8iLCLDiWNoZWMgZGUgbCdhdWRpdCIpLHMpLGllbzp7c3Vic2NyaWJlOiJBYm9ubmVtZW50Iixpbmc6IkVuIGNvdXJzIixkb25lOiJUZXJtaW7DqS4iLGFwcGx5U3Vic2NyaXB0aW9uOiJEZW1hbmRlIGQnYWJvbm5lbWVudCIscmVtYWluaW5nOiJSZXN0ZSIsbG9ja1BlcmlvZDoiQ3ljbGUgZGUgdmVycm91aWxsYWdlIixlbmRUaW1lOiJGaW4iLHN1YnNjcmliZUN1cnJlbmN5OiJNb25uYWllIGQnYWJvbm5lbWVudCIsaXNzdWFuY2VQcmljZToiUHJpeCBkJ8OpbWlzc2lvbiIsdG90YWxJc3N1YW5jZToiVG90YWwgZGVzIMOpbWlzc2lvbnMiLHdoaXRlUGFwZXI6IkxpdnJlIGJsYW5jIixzdWJzY3JpcHRpb25DeWNsZToiQ3ljbGUgZGUgc291c2NyaXB0aW9uIix3YXJtVXA6IlByw6ljaGF1ZmZhZ2UiLHdlYnNpdGU6IlNpdGUgb2ZmaWNpZWwiLGZpbmlzaDoiRmluIixwcm9qZWN0RGV0YWlsczoiRMOpdGFpbHMgZHUgcHJvamV0IixzdWJzY3JpcHRpb25Db25maXJtYXRpb246IkNvbmZpcm1hdGlvbiBkZSBsJ2Fib25uZW1lbnQiLHBfYXBwbGljYXRpb25zTnVtYmVyOiJTYWlzaXNzZXogbGUgbm9tYnJlIGQnYWJvbm5lbWVudHMiLG5lZWRUb1BheToiw4AgcGF5ZXIiLGN1cnJlbnRCYWxhbmNlOiJTb2xkZSBhY3R1ZWwiLHN1YnNjcmlwdGlvblRpbWU6IkRhdGUgZCdhYm9ubmVtZW50IixjdXJyZW5jeToiTW9ubmFpZSIsYXBwbGljYXRpb25zTnVtYmVyOiJOb21icmUgZGUgZGVtYW5kZXMiLHBhc3Nlc051bWJlcjoiTm9tYnJlIGRlIHBhc3NhZ2VzIix0aW1lVG9NYXJrZXQ6IkRhdGUgZGUgbWlzZSBzdXIgbGUgbWFyY2jDqSIsZGF5OiJPaCwgbW9uIERpZXUuIix0b3RhbDoiVG90YWwiLHN1YnNjcmliZWQ6IlNvdXNjcml0ZSIsc2hlbmdvdToiQWJvbm5lbWVudCIsaW5zdWZmaWNpZW50QmFsYW5jZToiU29sZGUgaW5zdWZmaXNhbnQiLHBfbnVtYmVyOiJWZXVpbGxleiBlbnRyZXIgbGEgcXVhbnRpdMOpIixteVN1YnNjcmliZToiTWVzIGFib25uZW1lbnRzIn0sbG9ja21pbmc6e2xvY2ttaW5nOiJHYWdlIixmdW5kc1VuZGVyQ3VzdG9keToiRm9uZHMgZ8OpcsOpcyIsZW50cnVzdGVkT3JkZXJzOiJPcmRyZSBkZSBkw6lsw6lnYXRpb24iLGVzdGltYXRlZFRvZGF5SW5jb21lOiJNb250YW50IGVzdGltw6kgZHUgcmV0b3VyIHBvdXIgbGEgam91cm7DqWUiLGN1bXVsYXRpdmVJbmNvbWU6IlJlY2V0dGVzIGN1bXVsw6llcyIsb3JkZXJzSW5DdXN0b2R5OiJDb21tYW5kZXMgZW4gZ2FyZGUiLGxvY2tlZFBvc2l0aW9uc1RvRWFybkNvaW5zOiJleHBsb2l0YXRpb24gbWluacOocmUiLGxvY2tlZFBvc2l0aW9uczoiVmVycm91aWxsYWdlIixtaW5pbXVtU2luZ2xlVHJhbnNhY3Rpb246Ik1pbmltdW0gcGFyIHN0eWxvIixkYWlseVlpZWxkOiJSZW5kZW1lbnQgcXVvdGlkaWVuIixsb2NrVXBQZXJpb2Q6IkN5Y2xlIGRlIHZlcnJvdWlsbGFnZSIsYWNxdWlzaXRpb246IkFjY8OocyIscmVjZW50RGF5czoiTGVzIGRlcm5pZXJzIGpvdXJzIixkaXZpZGVuZFRpbWU6IkRhdGUgZGUgdmVyc2VtZW50IGRlcyBkaXZpZGVuZGVzIixlc2Nyb3dGdW5kczoiRm9uZHMgZMOpdGVudXMgZW4gZmlkdWNpZSIscmVkZW1wdGlvbkluQWR2YW5jZToiUmVtYm91cnNlbWVudCBhbnRpY2lww6kiLGVzdGltYXRlZEluY29tZToiUmVjZXR0ZXMgcHLDqXZ1ZXMiLGF2YWlsYWJsZUFzc2V0czoiQWN0aWZzIGRpc3BvbmlibGVzIixpbnZlc3RtZW50QW1vdW50T2J0YWluZWQ6Ik1vbnRhbnQgZGUgbCdpbnZlc3Rpc3NlbWVudCBvYnRlbnUiLGFsbDoiVG91cyIsbF9hbGVydF8xOiJMJ2V4cGxvaXRhdGlvbiBtaW5pw6hyZSBjb250aW51ZSIsbF9hbGVydF8yOiJMJ2V4cGxvaXRhdGlvbiBkZSBsYSBtaW5lIGxvY2sgLSBvdXQgZXN0IGxlIHJldmVudSBkZSBsJ2V4cGxvaXRhdGlvbiBtaW5pw6hyZSBkYW5zIGxlIGJhc3NpbiBkZSBsYSBwbGF0ZSAtIGZvcm1lIGVuIGNvbmZpYW50IGwndXNkdCDDoCBsYSBwbGF0ZSAtIGZvcm1lIHN1cGVyY2FsY3VsYXRvciIsZmVhdHVyZXM6IkZhaXRzIHNhaWxsYW50cyBkdSBwcm9kdWl0IixvbkRlbWFuZDoiU3VyIGRlbWFuZGUiLGRpdmlkZW5kUGVyaW9kOiJQw6lyaW9kZSBkZSB2ZXJzZW1lbnQgZGVzIGRpdmlkZW5kZXMiLGlzc3VlZERhaWx5OiJEaXN0cmlidXRpb24gcXVvdGlkaWVubmUiLGN1cnJlbnRJbnRlcmVzdDoiSW50w6lyw6p0cyBjb3VyYW50cyIsZmVhdHVyZV8xOiIxMDAlIHPDqWN1cml0w6kgZGVzIGZvbmRzPGJyPkdhcmFudGllIixmZWF0dXJlXzI6IkdhaW5zIGRlIHZhY2FuY2VzPGJyPk5vbi1SdXB0dXJlIixmZWF0dXJlXzM6IsOAIGNvbXB0ZXIgZGUgbGEgZGF0ZSBkdSBkw6lww7R0IHLDqXVzc2kiLGZvckluc3RhbmNlOiJQYXIgZXhlbXBsZSwiLGluY29tZUNhbGN1bGF0aW9uOiJDYWxjdWwgZGVzIHJlY2V0dGVzIixmb3JJbnN0YW5jZURlc2M6IlVuIG1lbWJyZSBwcm9tZXQgMTAwMDBVIHN1ciBsYSBwbGF0ZWZvcm1lLiBTJ2lsIGNob2lzaXQgdW4gcHJvZHVpdCBmaW5hbmNpZXIgYXZlYyB1biBjeWNsZSBkZSA3IGpvdXJzIGV0IHVuIHJlbmRlbWVudCBxdW90aWRpZW4gZGUgMCwzNsKgJSBkdSBtb250YW50IHByb21pcywgbGUgcmVuZGVtZW50IHF1b3RpZGllbiBlc3QgbGUgc3VpdmFudMKgOiA8YnIvPiAxMDAwMCAqIDAuMjUlID0gMjUgVVNEVCA8YnIvPiBBcHLDqHMgNyBqb3Vycywgdm91cyBwb3V2ZXogb2J0ZW5pciAyNSAqIDcgPSAxNzUgVVNEVCBkZSByZXZlbnUuIExlIHJldmVudSBlc3Qgw6ltaXMgdG91cyBsZXMgam91cnMgZXQgbGUgcmV2ZW51IMOpbWlzIHBldXQgw6p0cmUgZMOpcG9zw6kgZXQgcmV0aXLDqSDDoCB0b3V0IG1vbWVudC4gQXByw6hzIGwnZXhwaXJhdGlvbiBkdSBwcmluY2lwYWwgZGUgZ2FnZSwgaWwgc2VyYSBhdXRvbWF0aXF1ZW1lbnQgdHJhbnNmw6lyw6kgc3VyIHZvdHJlIGNvbXB0ZSBjYXBpdGFsLiIsYWJvdXRMaXF1aWRhdGVkRGFtYWdlczoiw4AgcHJvcG9zIGRlcyBkb21tYWdlcy1pbnTDqXLDqnRzIixhYm91dExpcXVpZGF0ZWREYW1hZ2VzQ29udGVudDoiU2kgdm91cyBzb3VoYWl0ZXogdHJhbnNmw6lyZXIgbGUgY2FwaXRhbCBub24gZXhwaXLDqSwgaWwgeSBhdXJhIHVuZSBww6luYWxpdMOpIGRlIDI1wqAlLCBwYXIgZXhlbXBsZcKgOiA8YnIvPiAxMDAwMCoyNSU9MjUwMFXCoDsgbGVzIGZvbmRzIGRlIHJlbWJvdXJzZW1lbnQgc2Vyb250IGRlIDEwMDAwLTI1MDA9NzUwMFUuIixqb2luTm93OiJKJ3kgdmFpcy4iLGRheToiT2gsIG1vbiBEaWV1LiIsZGFpbHk6IlRvdXMgbGVzIGpvdXJzIixyZXR1cm5PbkV4cGlyYXRpb246IlJldG91ciBkw7siLGdldDoiQWNjw6hzIixudW1iZXJPZkNvaW5zRGVwb3NpdGVkOiJOb21icmUgZGUgcGnDqGNlcyBlbiBzdG9jayIsc3Vic2NyaWJlOiJBYm9ubmVtZW50IixpbnN1ZmZpY2llbnRCYWxhbmNlOiJTb2xkZSBpbnN1ZmZpc2FudCIscF9udW1iZXI6IlZldWlsbGV6IGVudHJlciBsYSBxdWFudGl0w6kiLGxlYXN0U2luZ2xlOiJNaW5pbXVtIHBhciBzdHlsbyIsbG9ja2VkUG9zaXRpb25MaXN0OiJMaXN0ZSBkZXMgc2VycnVyZXMiLGluUHJvZ3Jlc3M6IkVuIGNvdXJzIixyZWRlZW1lZDoiUmFjaGV0w6kiLGV4cGlyeVRpbWU6IsOJY2jDqWFuY2UiLGxvY2tVcFRpbWU6IlRlbXBzIGRlIHZlcnJvdWlsbGFnZSIsc3RhcnRUaW1lOiJIZXVyZSBkZSBkw6lwYXJ0IixlYXJseVJlZGVtcHRpb25QZW5hbHR5OiJQw6luYWxpdMOpIHBvdXIgcmVtYm91cnNlbWVudCBhbnRpY2lww6kiLHJlZGVtcHRpb246IlJlbWJvdXJzZW1lbnQiLGNfcmVkZW1wdGlvbjoiw4p0ZXMgLSB2b3VzIHPDu3IgZCd1biByZW1ib3Vyc2VtZW50IGFudGljaXDDqT8ifSxpbnZlc3Q6e2ludmVzdDoiR2VzdGlvbiBmaW5hbmNpw6hyZSIsc2VjdGlvbjoiU2VjdGlvbiBzcMOpY2lhbGlzw6llIixwZXJQcmljZToiUHJpeCB1bml0YWlyZSIsYXByOiJSZW5kZW1lbnQgYW5udWFsaXPDqSIsbGlua2VkUmVmZXJlbmNlUHJpY2U6IlByaXggZGUgcsOpZsOpcmVuY2UgaW5kZXjDqSIsaG9sZGluZ0RheXM6IlDDqXJpb2RlIGRlIGTDqXRlbnRpb24iLG1hdHVyaXR5RGF0ZToiRGF0ZSBkJ8OpY2jDqWFuY2UiLHJlbWFpbmluZ1NoYXJlczoiUGFydCByZXN0YW50ZSIscHJvZ3Jlc3M6IlByb2dyw6hzIGFjdHVlbHMiLGFjdGlvbjoiRm9uY3Rpb25uZW1lbnQiLHB1cmNoYXNlOiJBY2hhdHMiLG15UG9zaXRpb246Ik1hIGdlc3Rpb24gZmluYW5jacOocmUiLGJ1eVNoYXJlczoiUGFydCBkZXMgYWNoYXRzIixlc3RpbWF0ZWRJbmNvbWU6IlJlY2V0dGVzIHByw6l2dWVzIixkYXk6Ik9oLCBtb24gRGlldS4iLHNoYXJlOiJQYXJ0IixmYWlsOiLDiWNoZWMiLHB1cmNoYXNlZDoiQWNoZXTDqSIsc2V0dGxlbWVudGluZzoiRW4gY291cnMgZGUgcsOoZ2xlbWVudCIsc3VjY2VzczoiVGVybWluw6kiLGFsbDoiVG91cyIsbmFtZToiTm9tIixyZW1haW46IlJlc3RlIixpbnN0cnVjdGlvbjoiRGVzY3JpcHRpb24gZHUgcHJvZHVpdCIsaGVscDoiQWlkZSIsc2h1b21pbmdfMToiMS4gQ2UgcHJvZHVpdCBlc3QgdW4gcHJvZHVpdCBkZSBnZXN0aW9uIGRlIHBhdHJpbW9pbmUgc2FucyBjYXBpdGFsIGdhcmFudGkuIExlcyBmbHVjdHVhdGlvbnMgZHUgbWFyY2jDqSBwZXV2ZW50IGVudHJhw65uZXIgdW5lIHBlcnRlIGRlIGNhcGl0YWwuIFZldWlsbGV6IGludmVzdGlyIGF2ZWMgcHJ1ZGVuY2UuIixzaHVvbWluZ18yOiIyLiBSw6hnbGVzIGQnZW5jYWlzc2VtZW50IGV0IGRlIHLDqGdsZW1lbnQgZGVzIHBhaWVtZW50cyA6IixzaHVvbWluZ18zOiJTaSBwcml4IGRlIHLDqGdsZW1lbnTvvJxwcml4IGluZGV4w6ksIGxlIEJUQyBzZXJhIHLDqWdsw6kgYXByw6hzIGwnZXhwaXJhdGlvbsKgOyBtb250YW50IGR1IHLDqGdsZW1lbnQ9bW9udGFudCBkZSBsJ2ludmVzdGlzc2VtZW50KigxK2pvdXJzKnRhdXggZGUgcmVuZGVtZW50IGFubnVhbGlzw6kvMzY1KS4iLHNodW9taW5nXzQ6IlNpIGxlIHByaXggZGUgcsOoZ2xlbWVudCBlc3Qgc3Vww6lyaWV1ciBvdSDDqWdhbCBhdSBwcml4IGluZGV4w6ksIGwnVVNEVCBzZXJhIHLDqWdsw6kgYXByw6hzIGwnZXhwaXJhdGlvbiA7IG1vbnRhbnQgZHUgcsOoZ2xlbWVudCA9IG1vbnRhbnQgZGUgbCdpbnZlc3Rpc3NlbWVudCAqIHByaXggaW5kZXjDqSAqICgxKyBqb3VycyAqIHRhdXggZGUgcmVuZGVtZW50IGFubnVhbGlzw6kvMzY1KS4iLHNodW9taW5nXzU6IjMuIExlIHRhdXggZGUgcmVuZGVtZW50IGFubnVhbGlzw6kgcsOpZWwgY2hhbmdlIGF2ZWMgbGUgbWFyY2jDqSBlbiB0ZW1wcyByw6llbCwgdmV1aWxsZXogdm91cyByw6lmw6lyZXIgw6AgbGEgdHJhbnNhY3Rpb24gZCdhY2hhdCByw6llbGxlLiIsc2h1b21pbmdfNjoiNC4gTGUgbW9udGFudCBkZSBsJ2ludmVzdGlzc2VtZW50IGVzdCBjYWxjdWzDqSBlbiB0ZW1wcyByw6llbCBhdmVjIGxlIG1hcmNow6ksIHZldWlsbGV6IHZvdXMgcsOpZsOpcmVyIMOgIGxhIHRyYW5zYWN0aW9uIGQnYWNoYXQgcsOpZWxsZS4iLHNodW9taW5nXzc6IjUuIFVuZSBmb2lzIGxlIHByb2R1aXQgYWNoZXTDqSwgaWwgcGV1dCDDqnRyZSBjb25zdWx0w6kgc3VyIGxhIHBhZ2UgTXkgQ29pbiBIb2xkaW5nLkFwcsOocyBsJ2V4cGlyYXRpb24sIGxlIHBhaWVtZW50IHNlcmEgYXV0b21hdGlxdWVtZW50IMOpbWlzIHN1ciBsZSBjb21wdGUgc3BvdC4iLGVycm9yXzE6IlZldWlsbGV6IGVudHJlciBsYSBxdWFudGl0w6kgYWNoZXTDqWUiLGVycm9yXzI6IkxhIHF1YW50aXTDqSBhY2hldMOpZSBkb2l0IMOqdHJlIHVuIGVudGllciIsY29uZmlybVB1cmNoYXNlOiLDinRlcyAtIHZvdXMgc8O7ciBkJ2FjaGV0ZXIgY2UgcHJvZHVpdCBmaW5hbmNpZXI/IixwdXJjaGFzZVN1Y2Nlc3M6IkFjaGF0IHLDqXVzc2khIn0sZm9sbG93OihjPXtmb2xsb3c6IlN1aXZpIix0cmFkZXJMaXN0OiJMaXN0ZSBkZXMgY29tbWVyw6dhbnRzIix0b3RhbFByb2ZpdDoiVG90YWwgZGVzIHByb2ZpdHMgZXQgcGVydGVzIixjb3JyZWN0UmF0ZToiUHLDqWNpc2lvbiB0b3RhbGUiLHBvc2l0aW9uVmFsdWF0aW9uOiLDiXZhbHVhdGlvbiBkZXMgcG9zaXRpb25zIixlc3RpbWF0ZWRQcm9maXRUb2RheToiUHLDqXZpc2lvbnMgZGUgcmVjZXR0ZXMgcG91ciBhdWpvdXJkJ2h1aSIscmF0ZU9mUmV0dXJuOiJUYXV4IGRlIHJlbmRlbWVudCIsYmVjb21lQVRyYWRlcjoiRGV2ZW5pciB1biBjb21tZXLDp2FudCJ9LCgwLHUuZGVmYXVsdCkoYywidHJhZGVyTGlzdCIsIkxpc3RlIGRlcyBjb21tZXLDp2FudHMiKSwoMCx1LmRlZmF1bHQpKGMsIm9ubHlTaG93c1RoZVBvc2l0aW9uIiwiQWZmaWNoZXIgdW5pcXVlbWVudCBsZXMgZW1wbGFjZW1lbnRzIiksKDAsdS5kZWZhdWx0KShjLCJ0aGVEYXRhSXNVcGRhdGVkRXZlcnlIb3VyIiwiTGVzIGRvbm7DqWVzIHNvbnQgbWlzZXMgw6Agam91ciB0b3V0ZXMgbGVzIGhldXJlcyIpLCgwLHUuZGVmYXVsdCkoYywiZm9sbG93aW5nIiwiU3VpdmkiKSwoMCx1LmRlZmF1bHQpKGMsImZvbGxvdyIsIlN1aXZpIiksKDAsdS5kZWZhdWx0KShjLCJjb25maXJtRm9sbG93IiwiVHUgZXMgc8O7ciBkZSBzdWl2cmU/IiksKDAsdS5kZWZhdWx0KShjLCJjb25maXJtQ2FuY2VsIiwiVHUgZXMgc8O7ciBkJ2FubnVsZXIgbGUgc3Vpdmk/IiksKDAsdS5kZWZhdWx0KShjLCJmb2xsb3dUcmFkZXIiLCJTdWl2cmUgbGVzIGNvbW1lcsOnYW50cyIpLCgwLHUuZGVmYXVsdCkoYywiZWRpdENvcHkiLCJNb2RpZmllciBsYSBzdWl0ZSIpLCgwLHUuZGVmYXVsdCkoYywiYmVmb3JlQ29weSIsIkxpc2V6IGF0dGVudGl2ZW1lbnQgYXZhbnQgZGUgY2hvaXNpciBkZSBzdWl2cmUiKSwoMCx1LmRlZmF1bHQpKGMsImNvcHlBZ3JlZW1lbnQiLCJTdWl2cmUgbCdBY2NvcmQiKSwoMCx1LmRlZmF1bHQpKGMsImNvcHlUeXBlIiwiTW9kZSBkZSBzdWl2aSIpLCgwLHUuZGVmYXVsdCkoYywiY29weVR5cGUxIiwiTXVsdGlwbGUgZml4ZSBzdWl2YW50IiksKDAsdS5kZWZhdWx0KShjLCJjb3B5VHlwZTIiLCJOb21icmUgZml4ZSBkZSBtYWlucyBzdWl2YW50IiksKDAsdS5kZWZhdWx0KShjLCJjb3B5QWxlcnQxIiwiUXVlbCBxdWUgc29pdCBsZSBub21icmUgZGUgY29tbWFuZGVzIHBhc3PDqWVzIHBhciBsZSBjb21tZXLDp2FudCwgdm91cyBzdWl2ZXogdW4gbXVsdGlwbGUgZml4ZSBkZSB2b3RyZSBjaG9peC4iKSwoMCx1LmRlZmF1bHQpKGMsImNvcHlBbGVydDIiLCIobG9yc3F1ZSBsZSBub21icmUgcHJvcG9ydGlvbm5lbCBkZSBtYWlucyBlc3Qgc3Vww6lyaWV1ciDDoCAxIGV0IHF1J2lsIG4nZXN0IHBhcyB1biBlbnRpZXIsIGwnYXJyb25kaSBjb25zZXJ2ZSBsYSB2YWxldXIgw6AgZGV1eCBkw6ljaW1hbGVzIHByw6hzKSIpLCgwLHUuZGVmYXVsdCkoYywiY29weU11bHRpcGxlIiwiU3VpdnJlIGxlcyBtdWx0aXBsZXMiKSwoMCx1LmRlZmF1bHQpKGMsImNhbmNlbENvcHkiLCJBbm51bGVyIGxlIHN1aXZpIiksKDAsdS5kZWZhdWx0KShjLCJjdXJyZW50Rm9sbG93ZXJOdW1iZXIiLCJOb21icmUgYWN0dWVsIGRlIHN1aXZldXJzIiksKDAsdS5kZWZhdWx0KShjLCJ0b3RhbFByb2ZpdEFuZExvc3MiLCJUb3RhbCBkZXMgcHJvZml0cyBldCBwZXJ0ZXMiKSwoMCx1LmRlZmF1bHQpKGMsInRvdGFsUmV0dXJuIiwiUmVuZGVtZW50IHRvdGFsIiksKDAsdS5kZWZhdWx0KShjLCJhY2N1cmFjeSIsIlByw6ljaXNpb24iKSwoMCx1LmRlZmF1bHQpKGMsInByb2ZpdGFibGVPcmRlcnMiLCJDb21tYW5kZXMgcmVudGFibGVzIiksKDAsdS5kZWZhdWx0KShjLCJzdWNjZXNzZnVsU2hvcnRUcmFkZXMiLCJOw6lnb2NpYXRpb24gw6AgZMOpY291dmVydCByw6l1c3NpZSIpLCgwLHUuZGVmYXVsdCkoYywic3VjY2Vzc2Z1bExvbmdUcmFkZXMiLCJGYWlyZSBwbHVzaWV1cnMgdHJhbnNhY3Rpb25zIGF2ZWMgc3VjY8OocyIpLCgwLHUuZGVmYXVsdCkoYywieWVzdGVyZGF5c1RyYWRpbmdTdGF0dXMiLCJDb25kaXRpb25zIGNvbW1lcmNpYWxlcyBkJ2hpZXIiKSwoMCx1LmRlZmF1bHQpKGMsImN1cnJlbnRQb3NpdGlvbnMiLCJQb3NpdGlvbiBhY3R1ZWxsZSIpLCgwLHUuZGVmYXVsdCkoYywidG90YWxPcmRlcnMiLCJUb3RhbCBkZXMgY29tbWFuZGVzIiksKDAsdS5kZWZhdWx0KShjLCJyZW1haW4iLCJSZXN0ZSIpLCgwLHUuZGVmYXVsdCkoYywiZGlzdGFuY2VEdWUiLCLDiWNow6lhbmNlIGRlIGxhIGRpc3RhbmNlIiksKDAsdS5kZWZhdWx0KShjLCJkYXlzIiwiT2gsIG1vbiBEaWV1LiIpLCgwLHUuZGVmYXVsdCkoYywiZGVhZGxpbmUiLCJEdXLDqWUiKSwoMCx1LmRlZmF1bHQpKGMsInN1YnNjcmlwdGlvbiIsIkFib25uZW1lbnQiKSwoMCx1LmRlZmF1bHQpKGMsImZvbGxvd1VzZXJzIiwiU3VpdnJlIGxlcyB1dGlsaXNhdGV1cnMiKSwoMCx1LmRlZmF1bHQpKGMsImZvbGxvd0Ftb3VudCIsIk1vbnRhbnQgc3VpdmFudCIpLCgwLHUuZGVmYXVsdCkoYywiZm9sbG93RWFybmluZ3MiLCJTdWl2cmUgbGVzIGdhaW5zIiksKDAsdS5kZWZhdWx0KShjLCJjYW5jZWxGb2xsb3ciLCJBbm51bGVyIGxlIHN1aXZpIiksKDAsdS5kZWZhdWx0KShjLCJjdXJyZW50Q29weSIsIlN1aXZpIGFjdHVlbCIpLCgwLHUuZGVmYXVsdCkoYywiaGlzdG9yaWNhbENvcHkiLCJUcmFuc2FjdGlvbnMgaGlzdG9yaXF1ZXMiKSwoMCx1LmRlZmF1bHQpKGMsIm15VHJhZGVyIiwiTW9uIHRyYWRlciIpLCgwLHUuZGVmYXVsdCkoYywidHJhZGluZ1BhaXIiLCItIE91aS4iKSwoMCx1LmRlZmF1bHQpKGMsIm9wZW4iLCJQcml4IGQnb3V2ZXJ0dXJlIiksKDAsdS5kZWZhdWx0KShjLCJjbG9zZSIsIlByaXggZGUgY2zDtHR1cmUiKSwoMCx1LmRlZmF1bHQpKGMsImVhcm5pbmdzIiwiUmVjZXR0ZXMiKSwoMCx1LmRlZmF1bHQpKGMsImxvdHMiLCJOb21icmUgZGUgbWFpbnMiKSwoMCx1LmRlZmF1bHQpKGMsInRpbWUiLCJIZXVyZSBkZSBsYSB0cmFuc2FjdGlvbiIpLCgwLHUuZGVmYXVsdCkoYywiYnV5SW4iLCJBY2hldGVyIiksKDAsdS5kZWZhdWx0KShjLCJidXlPdXQiLCJWZW5kcmUiKSwoMCx1LmRlZmF1bHQpKGMsImRpcmVjdGlvbiIsIk9yaWVudGF0aW9uIiksYyksZmluYW5jaWFsOntwcm9kdWN0OiJQcm9kdWl0cyIscG9zaXRpb246IkTDqXRlbnRpb24iLGZpbmFuY2lhbDoiRmluYW5jZXMiLGxvY2ttaW5nOiJHYWdlIixpZW86IkllbyIsaW52ZXN0OiJJbnZlc3RpciIsc2VjdGlvbjoiU2VjdGlvbiBzcMOpY2lhbGlzw6llIixhcHI6IlJlbmRlbWVudCBhbm51YWxpc8OpIixsaW5rZWRSZWZlcmVuY2VQcmljZToiUHJpeCBkZSByw6lmw6lyZW5jZSBpbmRleMOpIixob2xkaW5nRGF5czoiUMOpcmlvZGUgZGUgZMOpdGVudGlvbiIsZGF5OiJPaCwgbW9uIERpZXUuIixsb2NrUGVyaW9kOiJDeWNsZSBkZSB2ZXJyb3VpbGxhZ2UiLGluZzoiRW4gY291cnMiLGRvbmU6IlRlcm1pbsOpLiIsYXBwbHlTdWJzY3JpcHRpb246IkRlbWFuZGUgZCdhYm9ubmVtZW50IixyZW1haW5pbmc6IlJlc3RlIix0b3RhbDoiVG90YWwiLHN1YnNjcmliZWQ6IlNvdXNjcml0ZSIsbWluaW5nOiJleHBsb2l0YXRpb24gbWluacOocmUiLG1pbmltdW06IkzDqHZlIC0gdG9pLiIsZGFpbHlSZXR1cm5SYXRlOiJSZW5kZW1lbnQgcXVvdGlkaWVuIn0sbmZ0OihsPXtuZnQ6Ik5GVCIsYXJ0d29yazoiQXJ0LiIsYXJ0aXN0OiJBcnRpc3RlcyIsYXJ0d29ya0xpc3Q6Ikxpc3RlIGRlcyBvZXV2cmVzIGQnYXJ0IixhcnRpc3RMaXN0OiJMaXN0ZSBkZXMgYXJ0aXN0ZXMiLGNvbXByZWhlbnNpdmVTb3J0aW5nOiJDbGFzc2VtZW50IGfDqW7DqXJhbCIsbmV3ZXN0OiJEZXJuacOocmUgbWlzZSDDoCBqb3VyIixob3Rlc3Q6IkxlIHBsdXMgY2hhdWQiLG1vc3RXb3JrczoiTGUgcGx1cyBncmFuZCBub21icmUgZCdvZXV2cmVzIixtb3N0UG9wdWxhcjoiTGVzIHBsdXMgcG9wdWxhaXJlcyIscmVjb3JkOiJIaXN0b3JpcXVlIGRlcyBhY2hhdHMiLHJlY29tbWVuZEFydGlzdDoiQXJ0aXN0ZXMgcmVjb21tYW5kw6lzIixidXk6IkFjaGF0cyIsYXJ0aXN0SG9tZXBhZ2U6IlBhZ2UgZCdhY2N1ZWlsIGRlIGwnYXJ0aXN0ZSIsd29ya3M6IlRyYXZhdXgiLHNhbGVkOiJWZW5kdSIsZmFuczoiRmFucyIsYWxsV29ya3M6IlRvdXMgbGVzIHRyYXZhdXgiLG5vdFNlbGw6Ik5vbiB2ZW5kdSIsbXlDb2xsZWN0OiJNYSBjb2xsZWN0aW9uIixjb2xsZWN0OiJDb2xsZWN0aW9uIixvd246IkTDqXRlbnRpb24iLHBsYWNlQUJpZDoiT2ZmcmVzIixwdXJjaGFzZToiQWNoYXRzIixvcGVuOiJPdXZlcnR1cmUgcG9zdMOpcmlldXJlIixpbWFnZToiUGhvdG9zIixnaWY6IkZpZ3VyZSBtb2JpbGUiLGF1ZGlvOiJBdWRpbyIsdmlkZW86IlZpZMOpbyIsY3JlYXRvcjoiQXV0ZXVyIixjdXJyZW50QmlkOiJEZXJuacOocmUgb2ZmcmUiLHByaWNlOiJQcml4IixkOiJPaCwgbW9uIERpZXUuIixoOiJIZXVyZSIsbToiUG9pbnRzIixzOiJTZWNvbmRlcyJ9LCgwLHUuZGVmYXVsdCkobCwic2FsZWQiLCJUZXJtaW7DqS4iKSwoMCx1LmRlZmF1bHQpKGwsInBsYWNlX2FsZXJ0IiwiQXJ0aWNsZSBub24gdmVuZHUgb3UgdGVybWluw6kiKSwoMCx1LmRlZmF1bHQpKGwsImNyZWF0ZWRCeSIsIkF1dGV1ciIpLCgwLHUuZGVmYXVsdCkobCwicGxhY2VfYWxlcnQyIiwiVm90cmUgb2ZmcmUgZG9pdCDDqnRyZSBzdXDDqXJpZXVyZSDDoCIpLCgwLHUuZGVmYXVsdCkobCwibm90ZSIsIkltcG9ydGFudCIpLCgwLHUuZGVmYXVsdCkobCwiQ1VSUkVOVF9CSUQiLCJEZXJuacOocmUgb2ZmcmUiKSwoMCx1LmRlZmF1bHQpKGwsInBsYWNlX2FsZXJ0MyIsIlBhcnRpY2lwZXIgw6AgbCdhcHBlbCBkJ29mZnJlcywgdm91cyBkZXZleiBwYXllciIpLCgwLHUuZGVmYXVsdCkobCwicGxhY2VfYWxlcnQ0Iiwiw4AgbGEgZmluIGRlIGwnYXBwZWwgZCdvZmZyZXMsIGxlIGTDqXDDtHQgc2VyYSByZXRvdXJuw6kgw6Agdm90cmUgY29tcHRlLiIpLCgwLHUuZGVmYXVsdCkobCwicGxhY2VfYWxlcnQ2IiwiQ2zDtHR1cmUgZGVzIHNvdW1pc3Npb25zIiksKDAsdS5kZWZhdWx0KShsLCJjb25maXJtQmlkIiwiQ29uZmlybWVyIGwnb2ZmcmUiKSwoMCx1LmRlZmF1bHQpKGwsIkRFU0NSSVBUSU9OIiwiRGVzY3JpcHRpb24iKSwoMCx1LmRlZmF1bHQpKGwsIkFERFJFU1MiLCJBZHJlc3NlIiksKDAsdS5kZWZhdWx0KShsLCJjb3B5IiwiQ29waWVyIiksKDAsdS5kZWZhdWx0KShsLCJwZXJfaW5jcmVhc2UiLCJDaGFxdWUgYXVnbWVudGF0aW9uIiksKDAsdS5kZWZhdWx0KShsLCJjdXJyZW5jeV90eXBlIiwiVHlwZSBkZSBtb25uYWllIiksKDAsdS5kZWZhdWx0KShsLCJwYXlfdHlwZSIsIk1vZGUgZCdhY2hhdCIpLCgwLHUuZGVmYXVsdCkobCwicGF5X3R5cGVfMiIsIk1vZGUgZGUgdmVudGUiKSwoMCx1LmRlZmF1bHQpKGwsIm5vcm1hbCIsIkZyw6lxdWVudCIpLCgwLHUuZGVmYXVsdCkobCwiYXVjdGlvbiIsIkFwcGVsIGQnb2ZmcmVzIiksKDAsdS5kZWZhdWx0KShsLCJjb25maXJtQXVjdGlvbiIsIsOKdGVzIC0gdm91cyBzw7tyIGRlIHBhcnRpY2lwZXIgw6AgbCdhcHBlbCBkJ29mZnJlcyBwb3VyIGNldCBhcnRpY2xlPyIpLCgwLHUuZGVmYXVsdCkobCwiYmluZEJveCIsIkJvw650ZSBhdmV1Z2xlIiksKDAsdS5kZWZhdWx0KShsLCJzZWxsX3N0YXR1cyIsIsOJdGF0IGRlcyB2ZW50ZXMiKSwoMCx1LmRlZmF1bHQpKGwsImhhc1N0YXJ0IiwiQSBjb21tZW5jw6kiKSwoMCx1LmRlZmF1bHQpKGwsIndpbGxTdGFydCIsIk5vbiBjb21tZW5jw6kiKSwoMCx1LmRlZmF1bHQpKGwsImFydHdvcmtfdHlwZSIsIlR5cGUgZCdhcnRpY2xlIiksKDAsdS5kZWZhdWx0KShsLCJyZXNldCIsIlLDqWluaXRpYWxpc2VyIiksKDAsdS5kZWZhdWx0KShsLCJjb25maXJtIiwiQydlc3Qgc8O7ci4iKSwoMCx1LmRlZmF1bHQpKGwsInBsYWNlX2FsZXJ0NSIsIlZldWlsbGV6IHNhaXNpciB1biBtb3QgY2zDqSIpLCgwLHUuZGVmYXVsdCkobCwiY29sbGVjdGlvbiIsIkNvbGxlY3TDqSIpLCgwLHUuZGVmYXVsdCkobCwiYnlDb2xsZWN0aW9uIiwiQ29sbGVjdMOpIiksKDAsdS5kZWZhdWx0KShsLCJhcnR3b3JrcyIsIlRyYXZhdXgiKSwoMCx1LmRlZmF1bHQpKGwsImdvQ29sbGVjdCIsIkFsbGVyIMOgIGxhIGNvbGxlY3Rpb24iKSwoMCx1LmRlZmF1bHQpKGwsInByaWNlIiwiUHJpeCIpLCgwLHUuZGVmYXVsdCkobCwibm9uaWNrbmFtZSIsIkF1Y3VuIHN1cm5vbSBkw6lmaW5pIiksKDAsdS5kZWZhdWx0KShsLCJjamRqcyIsIkRhdGUgbGltaXRlIGRlIHNvdW1pc3Npb24gZGVzIG9mZnJlcyIpLCgwLHUuZGVmYXVsdCkobCwiY2prc3NqIiwiSGV1cmUgZGUgZMOpYnV0IGRlIGwnb2ZmcmUiKSwoMCx1LmRlZmF1bHQpKGwsImNqanpzaiIsIkRhdGUgbGltaXRlIGRlIHNvdW1pc3Npb24gZGVzIG9mZnJlcyIpLCgwLHUuZGVmYXVsdCkobCwiZ290b3NlZSIsIkFsbGV6IGF1IG1hcmNow6kuIiksKDAsdS5kZWZhdWx0KShsLCJwb3NpdGlvbiIsIkTDqXRlbnRpb24iKSwoMCx1LmRlZmF1bHQpKGwsInJlc2VsbCIsIlJldmVudGUiKSwoMCx1LmRlZmF1bHQpKGwsImJ1eVByaWNlIiwiUHJpeCBkJ2FjaGF0IiksKDAsdS5kZWZhdWx0KShsLCJjb25maXJtUmVzZWxsIiwiQ29uZmlybWF0aW9uIGRlIGxhIHJldmVudGUiKSwoMCx1LmRlZmF1bHQpKGwsIndyb25nUHJpY2UiLCJWZXVpbGxleiBzw6lsZWN0aW9ubmVyIGxlIGJvbiBwcml4IiksKDAsdS5kZWZhdWx0KShsLCJiaWRQbGFjZWRCeSIsIlNvdW1pc3Npb25uYWlyZSIpLCgwLHUuZGVmYXVsdCkobCwicGxhY2VSZWNvcmQiLCJIaXN0b3JpcXVlIGRlcyBvZmZyZXMiKSwoMCx1LmRlZmF1bHQpKGwsImNvbmZpclB1cmNoYXNlIiwiQ29uZmlybWVyIGwnYWNoYXQiKSwoMCx1LmRlZmF1bHQpKGwsImFydGlzdExpc3QiLCJMaXN0ZSBkZXMgYXJ0aXN0ZXMiKSwoMCx1LmRlZmF1bHQpKGwsImhhc09wZW4iLCJPdXZlcnQiKSwoMCx1LmRlZmF1bHQpKGwsIm5vT3BlbiIsIk5vbiBvdXZlcnQiKSwoMCx1LmRlZmF1bHQpKGwsImNsaWNrT3BlbiIsIk91dnJpciBsYSBib8OudGUgYXZldWdsZSIpLCgwLHUuZGVmYXVsdCkobCwiY29uZmlybU9wZW4iLCJUdSBlcyBzw7tyIGQnb3V2cmlyIGxhIGJvw650ZSBhdmV1Z2xlPyIpLCgwLHUuZGVmYXVsdCkobCwibWFyZ2luIiwiRMOpcMO0dCBkZSBnYXJhbnRpZSIpLCgwLHUuZGVmYXVsdCkobCwid3JvbmdQcmljZSIsIlZldWlsbGV6IHNhaXNpciBsZSBwcml4IGNvcnJlY3QiKSwoMCx1LmRlZmF1bHQpKGwsIndyb25nUGVySW5jcmVhc2UiLCJWZXVpbGxleiBzYWlzaXIgbGUgU3VwcGzDqW1lbnQgY29ycmVjdCIpLCgwLHUuZGVmYXVsdCkobCwid3JvbmdUaW1lIiwiTCdoZXVyZSBkZSBmaW4gZG9pdCDDqnRyZSBwb3N0w6lyaWV1cmUgw6AgbCdoZXVyZSBkZSBmaW4iKSwoMCx1LmRlZmF1bHQpKGwsImNvbmZpcm1SZXNlbGwyIiwiVW5lIGZvaXMgbGEgbWFyY2hhbmRpc2UgcmV2ZW5kdWUsIGlycsOpdm9jYWJsZSwgw6p0ZXMgLSB2b3VzIHPDu3IgZGUgdm91bG9pciBsYSByZXZlbmRyZT8iKSwoMCx1LmRlZmF1bHQpKGwsInJlc2VsbGluZyIsIkVuIGNvdXJzIGRlIHJldmVudGUiKSwoMCx1LmRlZmF1bHQpKGwsIm1lc3NhZ2UiLCJOb3RpZmljYXRpb24gZGVzIG1lc3NhZ2VzIiksKDAsdS5kZWZhdWx0KShsLCJjb25maXJtUGF5Iiwiw4p0ZXMgLSB2b3VzIHPDu3IgZGUgdm91bG9pciBwYXllciBwb3VyIGNldCBhcnRpY2xlPyIpLCgwLHUuZGVmYXVsdCkobCwiemZkanMiLCJDb21wdGUgw6AgcmVib3VycyBkZXMgcGFpZW1lbnRzIiksKDAsdS5kZWZhdWx0KShsLCJwYXlUaW1lIiwiRMOpbGFpIGRlIHBhaWVtZW50IiksKDAsdS5kZWZhdWx0KShsLCJoYXNSZWFkIiwiTGlyZSIpLCgwLHUuZGVmYXVsdCkobCwibGFzdFByaWNlIiwiUHJpeCBkZSB0cmFuc2FjdGlvbiBmaW5hbCIpLCgwLHUuZGVmYXVsdCkobCwiaXNQYXkiLCJQYXnDqSIpLCgwLHUuZGVmYXVsdCkobCwiaXNFeHBpcmVkIiwiRXhwaXLDqSIpLCgwLHUuZGVmYXVsdCkobCwicmFyaXR5IiwiUmFyZXTDqSIpLCgwLHUuZGVmYXVsdCkobCwicGxhY2VfYWxlcnQ2IiwiQXByw6hzIGxhIGRhdGUgbGltaXRlIGQnZW5jaMOocmUsIHNpIHZvdHJlIGVuY2jDqHJlIGVzdCByZXRlbnVlLCB2b3VzIGF1cmV6IHVuIGpvdXIgcG91ciBwYXllciBsZSBwcml4IGZpbmFsLiBTaSBsZSBwYWllbWVudCBlc3QgZW4gcmV0YXJkLCB2b3RyZSBkw6lww7R0IGRlIGdhcmFudGllIHNlcmEgZMOpZHVpdC4iKSxsKSxhcHByb3ZlOntBdXRoZW50aWNhdGlvblRpcHM6IkwnYWRyZXNzZSBkZSByw6ktYXV0aGVudGlmaWNhdGlvbiBlc3QgZGlmZsOpcmVudGUgZGUgbCdhZHJlc3NlIGRlIGxpYWlzb24sIGRldmV6LXZvdXMgbW9kaWZpZXIgbCdhZHJlc3NlwqAiLGJyb3dzZXJUaXBzOiJWZXVpbGxleiBvdXZyaXIgZGFucyB2b3RyZSBuYXZpZ2F0ZXVyIix0cmNfYnJvd3NlclRpcHM6IlZldWlsbGV6IGwnb3V2cmlyIGRhbnMgdW4gcG9ydGVmZXVpbGxlIHF1aSBwcmVuZCBlbiBjaGFyZ2UgbGEgY2hhw65uZSBUUkMyMCIscmVjZXJ0aWZ5OiJSZWNlcnRpZmllciIsdmVyaWZpZWQ6ImNlcnRpZmnDqSIsZ29fYXV0aGVudGljYXRlOiJBY2PDqWRlciDDoCBsJ2F1dGhlbnRpZmljYXRpb24iLG5vdGNlcnRpZmllZDoiTm9uIGNlcnRpZmnDqSJ9fTt0LmRlZmF1bHQ9ZH0sYmI5YTpmdW5jdGlvbihlLHQpe2UuZXhwb3J0cz0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFFQUFBQUJBQ0FZQUFBQ3FhWEhlQUFBRFEwbEVRVlI0WHRYWk1XNFVRUkNGWVk3QUVaeVpDM0FCVHNBRk9BRUppU1ZIaEtRRUpJU2tYQUdSSTVBUVFyTGtBQW1SbUJDY0VCQVpqWVZYOHJkVjNiVXpzN1BqWC9xVGZhOTd1bnFOMkxYdjNWdUk0NU9QUDQ1UFBsMFZ2WFQ5blNNWWFwTHV2MW84K056NnZGV3c0NC8zWEs3am4wbHdzRVgxUEl2aFFRNnQ1OXNyUG53dGVzN1o4WUZyMVhQUGdnOVp1NTUvRW02K3E2ZHZ2Mis5MXZQeHk3T3JoODgvYjcyK2k4NHhDamV0S3VZOXhieXE4K3lFbTFYTXNOY3p3MTVGNXlyalJpM2ZuLzMyckxldzM3UEYrYzgvVy8yV3psWENUVnIyc0YrMWgvMld6dGZFeFMxYjJCMXJDN3N0blRQRmhaa1o5dVl5dzE2bWM0YTRLRFBEWHFhWVoyYll5M1RlVzFTLzFXWFlheW5tTFRQc1pUcjNCb3VSR2ZaNmlublBESHVSenIzQlltU0VuWXBpWGpIQ1R1VFJzeS8zblgzUjRhTzl6S3RHMklsMC9sRVhZTjZ6aXV0Nmlubms1T0VIN0dTT3dUMWFSdGlKbkhRQjVpM0g0ajR0eFR5eWZBRVJkaklqN0dUZEo2L1B0enFaRVhaMDlBV1l0eFJ6RmZPV1lxNy9oKzkvK0JIenpPRWRGRHNxNWkzRlBMTDc3ajk5ODgxOXR6cVpyOTVkdUhTck02Y3lmRVczbzkwTEVQT2VZajYzWXE2TFg4QU45dVpTelBWZ0Z4RGgyakdLdWU3OUFxSTlLcmhIVlRIWFJTNGcyNnVINnl1S3VTNTZBVGNPdi9PdjR0cWVZcTRIdVlESWkxOS9mZFExOW5xS3VhN21BbTZNc05OU3pIVjFGeEQ5ZmNGT1N6SFg0UUl1ZlZIRlBGUE1NOFU4VTh3ajkvcGxTTXdqSSt4a2lybnUvZHRnaEIwVjg1WmlycU12WU1CT1pvU2RNVjJOc0tQbEN4Z1U4OHhkL3M4WDkyb3A1cEdiQzZoY1FvU2RscnZpK3BZUmR2VFc4SlVMR0JUem5oVmNVMUhNSTUzL0drc2FZYWVxbUZlTnNLTVBUajhjT2ZzMUZpTWo3RlFVODRvUmRpS2RlOE54NFVQUllJU2RubUxlTThKT3BuUGZ3bkpraHIyV1l0NHl3MTZrODRhNEtETEQzdHhtMklzTS95Z2E0Y0xNRm5hbjJzSnVwbk0yY1hGbUQvdTcyc04rcHZPVmNKT1dQZXozN1BIb3hkZXROWm5PVmNhTmVyYXcyN09GM1o3T3RSTnVWakhDVHM4SU94V2RaeFJ1V25YSzRhZXN2ZEU1SnVIbWE5Znp6NElQV2F1ZWUzWjg0RnIwbkh2Rmh4OWF6N2NZSG1ScHl4OXY5NG1IV2tyUGNYQ0dkOE5Eem0zNnk0eTE0Y0duNnY1M0RnZnE2ZnA5OFEvdHdwbWF1NkhVNFFBQUFBQkpSVTVFcmtKZ2dnPT0ifSxiZjQ3OmZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7bigiNmE1NCIpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LmRlZmF1bHQ9dm9pZCAwO3ZhciBhPWZ1bmN0aW9uKCl7dmFyIGU9YXJndW1lbnRzLmxlbmd0aD4wJiZ2b2lkIDAhPT1hcmd1bWVudHNbMF0/YXJndW1lbnRzWzBdOjMyLHQ9IShhcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXSl8fGFyZ3VtZW50c1sxXSxuPWFyZ3VtZW50cy5sZW5ndGg+MiYmdm9pZCAwIT09YXJndW1lbnRzWzJdP2FyZ3VtZW50c1syXTpudWxsLGE9IjAxMjM0NTY3ODlBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6Ii5zcGxpdCgiIiksbz1bXTtpZihuPW58fGEubGVuZ3RoLGUpZm9yKHZhciByPTA7cjxlO3IrKylvW3JdPWFbMHxNYXRoLnJhbmRvbSgpKm5dO2Vsc2V7dmFyIGk7b1s4XT1vWzEzXT1vWzE4XT1vWzIzXT0iLSIsb1sxNF09IjQiO2Zvcih2YXIgcz0wO3M8MzY7cysrKW9bc118fChpPTB8MTYqTWF0aC5yYW5kb20oKSxvW3NdPWFbMTk9PXM/MyZpfDg6aV0pfXJldHVybiB0PyhvLnNoaWZ0KCksInUiK28uam9pbigiIikpOm8uam9pbigiIil9O3QuZGVmYXVsdD1hfSxjMWI5OmZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7bigiNmE1NCIpO3ZhciBhPW4oImY1YmQiKS5kZWZhdWx0O09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LmRlZmF1bHQ9dm9pZCAwLG4oImMyMjMiKTt2YXIgbz1hKG4oImZjZjMiKSkscj1hKG4oIjgzYWYiKSk7dmFyIGk9ZnVuY3Rpb24gZSgpe3ZhciB0PWFyZ3VtZW50cy5sZW5ndGg+MCYmdm9pZCAwIT09YXJndW1lbnRzWzBdP2FyZ3VtZW50c1swXTp7fSxuPWFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXTp7fTtpZih0PSgwLHIuZGVmYXVsdCkodCksIm9iamVjdCIhPT0oMCxvLmRlZmF1bHQpKHQpfHwib2JqZWN0IiE9PSgwLG8uZGVmYXVsdCkobikpcmV0dXJuITE7Zm9yKHZhciBhIGluIG4pbi5oYXNPd25Qcm9wZXJ0eShhKSYmKGEgaW4gdD8ib2JqZWN0IiE9PSgwLG8uZGVmYXVsdCkodFthXSl8fCJvYmplY3QiIT09KDAsby5kZWZhdWx0KShuW2FdKT90W2FdPW5bYV06dFthXS5jb25jYXQmJm5bYV0uY29uY2F0P3RbYV09dFthXS5jb25jYXQoblthXSk6dFthXT1lKHRbYV0sblthXSk6dFthXT1uW2FdKTtyZXR1cm4gdH07dC5kZWZhdWx0PWl9LGMyMWM6ZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtuKCI2YTU0IiksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuZGVmYXVsdD12b2lkIDAsbigiNWVmMiIpLG4oImFhOWMiKSxuKCJiZjBmIiksbigiMjc5NyIpO3ZhciBhPWZ1bmN0aW9uKCl7dmFyIGU9YXJndW1lbnRzLmxlbmd0aD4wJiZ2b2lkIDAhPT1hcmd1bWVudHNbMF0/YXJndW1lbnRzWzBdOnt9LHQ9IShhcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXSl8fGFyZ3VtZW50c1sxXSxuPWFyZ3VtZW50cy5sZW5ndGg+MiYmdm9pZCAwIT09YXJndW1lbnRzWzJdP2FyZ3VtZW50c1syXToiYnJhY2tldHMiLGE9dD8iPyI6IiIsbz1bXTstMT09WyJpbmRpY2VzIiwiYnJhY2tldHMiLCJyZXBlYXQiLCJjb21tYSJdLmluZGV4T2YobikmJihuPSJicmFja2V0cyIpO3ZhciByPWZ1bmN0aW9uKHQpe3ZhciBhPWVbdF07aWYoWyIiLHZvaWQgMCxudWxsXS5pbmRleE9mKGEpPj0wKXJldHVybiJjb250aW51ZSI7aWYoYS5jb25zdHJ1Y3Rvcj09PUFycmF5KXN3aXRjaChuKXtjYXNlImluZGljZXMiOmZvcih2YXIgcj0wO3I8YS5sZW5ndGg7cisrKW8ucHVzaCh0KyJbIityKyJdPSIrYVtyXSk7YnJlYWs7Y2FzZSJicmFja2V0cyI6YS5mb3JFYWNoKChmdW5jdGlvbihlKXtvLnB1c2godCsiW109IitlKX0pKTticmVhaztjYXNlInJlcGVhdCI6YS5mb3JFYWNoKChmdW5jdGlvbihlKXtvLnB1c2godCsiPSIrZSl9KSk7YnJlYWs7Y2FzZSJjb21tYSI6dmFyIGk9IiI7YS5mb3JFYWNoKChmdW5jdGlvbihlKXtpKz0oaT8iLCI6IiIpK2V9KSksby5wdXNoKHQrIj0iK2kpO2JyZWFrO2RlZmF1bHQ6YS5mb3JFYWNoKChmdW5jdGlvbihlKXtvLnB1c2godCsiW109IitlKX0pKX1lbHNlIG8ucHVzaCh0KyI9IithKX07Zm9yKHZhciBpIGluIGUpcihpKTtyZXR1cm4gby5sZW5ndGg/YStvLmpvaW4oIiYiKToiIn07dC5kZWZhdWx0PWF9LGMzMDU6ZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtuKCI2YTU0IiksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuZGVmYXVsdD12b2lkIDA7dmFyIGE9bnVsbDt2YXIgbz1mdW5jdGlvbihlKXt2YXIgdD1hcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXT9hcmd1bWVudHNbMV06NTAwLG49YXJndW1lbnRzLmxlbmd0aD4yJiZ2b2lkIDAhPT1hcmd1bWVudHNbMl0mJmFyZ3VtZW50c1syXTtpZihudWxsIT09YSYmY2xlYXJUaW1lb3V0KGEpLG4pe3ZhciBvPSFhO2E9c2V0VGltZW91dCgoZnVuY3Rpb24oKXthPW51bGx9KSx0KSxvJiYiZnVuY3Rpb24iPT09dHlwZW9mIGUmJmUoKX1lbHNlIGE9c2V0VGltZW91dCgoZnVuY3Rpb24oKXsiZnVuY3Rpb24iPT09dHlwZW9mIGUmJmUoKX0pLHQpfTt0LmRlZmF1bHQ9b30sYzRmNDpmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO24ucih0KTt2YXIgYT1uKCIzMjhhIik7Zm9yKHZhciBvIGluIGEpWyJkZWZhdWx0Il0uaW5kZXhPZihvKTwwJiZmdW5jdGlvbihlKXtuLmQodCxlLChmdW5jdGlvbigpe3JldHVybiBhW2VdfSkpfShvKTt2YXIgcj1uKCI4MjhiIiksaT1PYmplY3QoclsiYSJdKShhWyJkZWZhdWx0Il0sdm9pZCAwLHZvaWQgMCwhMSxudWxsLG51bGwsbnVsbCwhMSx2b2lkIDAsdm9pZCAwKTt0WyJkZWZhdWx0Il09aS5leHBvcnRzfSxjNzQzOmZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7bigiNmE1NCIpO3ZhciBhPW4oImY1YmQiKS5kZWZhdWx0O09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LmRlZmF1bHQ9dm9pZCAwO3ZhciBvLHIsaSxzLGMsbCx1PWEobigiMzlkOCIpKSxkPXtuYXY6WyLguJrguYnguLLguJkiLCLguJXguKXguLLguJQiLCLguIHguLLguKPguITguYnguLIiLCLguIHguLLguKPguYDguIfguLTguJkiLCLguKrguLTguJnguJfguKPguLHguJ7guKLguYwiXSxjb21tb246KG89e0NhbmNlbGxlZDoi4Lii4LiB4LmA4Lil4Li04LiBIixzZWFyY2g6IuC4hOC5ieC4meC4q+C4siIsY29uZmlybToi4Lii4Li34LiZ4Lii4Lix4LiZIixjYW5jZWw6IuC4ouC4geC5gOC4peC4tOC4gSIsc3VibWl0OiLguJfguLnguKXguYDguIHguKXguYnguLLguK/guJbguKfguLLguKIiLGxvZ291dDoi4LiW4Lit4LiZ4LiV4Lix4LinIixhbGw6IuC4iOC4s+C4meC4p+C4meC4l+C4seC5ieC4h+C4q+C4oeC4lCIsZWRpdDoi4LiV4Lix4LiU4LiV4LmI4LitIixkZWxldGU6IuC4peC4muC4l+C4tOC5ieC4hyIscmVzZXQ6IuC4leC4seC5ieC4h+C4hOC5iOC4suC5g+C4q+C4oeC5iCIsZmlsdGVyOiLguIHguLLguKPguIHguLPguJrguLHguIciLGxvZ2luOiLguKXguYfguK3guIHguK3guLTguJkiLHJlZ2lzdGVyOiLguKXguIfguJfguLDguYDguJrguLXguKLguJkiLGVtYWlsOiLguYTguJvguKPguKnguJPguLXguKLguKDguLHguJPguJHguYwiLG1vYmlsZToi4Lir4Lih4Liy4Lii4LmA4Lil4LiC4LmC4LiX4Lij4Lio4Lix4Lie4LiX4LmM4Lih4Li34Lit4LiW4Li34LitIixhY2NvdW50OiLguKrguKfguLHguKrguJTguLXguYDguKPguLLguIrguLfguYjguK0iLHBhc3N3b3JkOiLguKPguKvguLHguKrguJzguYjguLLguJkiLHBhc3N3b3JkUGxhY2Vob2xkZXI6IuC4geC4o+C4uOC4k+C4suC5g+C4quC5iOC4o+C4q+C4seC4quC4nOC5iOC4suC4mSIsbm9hY2NvdW50OiLguYTguKHguYjguKHguLXguJrguLHguI3guIrguLUiLGdvOiLguYTguJsiLGZvcmdldFBhc3N3b3JkOiLguKXguLfguKHguKPguKvguLHguKrguJzguYjguLLguJkiLGNvbmZpcm1QYXNzd29yZDoi4Lii4Li34LiZ4Lii4Lix4LiZ4Lij4Lir4Lix4Liq4Lic4LmI4Liy4LiZIixpbnZpdGVjb2RlOiLguKPguKvguLHguKrguYDguIrguLTguI0iLGhhc2FjY291bnQ6IuC4oeC4teC4muC4seC4jeC4iuC4tSIsbW9iaWxlY29kZVBsYWNlaG9sZGVyOiLguYPguKrguYjguKPguKvguLHguKrguKLguLfguJnguKLguLHguJnguYLguJfguKPguKjguLHguJ7guJfguYzguKHguLfguK3guJbguLfguK0iLGVtYWlsY29kZVBsYWNlaG9sZGVyOiLguYPguKrguYjguKPguKvguLHguKrguKLguLfguJnguKLguLHguJnguYLguJfguKPguKjguLHguJ7guJfguYzguKHguLfguK3guJbguLfguK0iLHNlbmQ6IuC4quC5iOC4h+C4o+C4q+C4seC4quC4geC4suC4o+C4leC4o+C4p+C4iOC4quC4reC4miIsc2VsZWN0QXJlYToi4LiB4Liy4Lij4LmA4Lil4Li34Lit4LiB4Lig4Li54Lih4Li04Lig4Liy4LiEIixhdWRpdDoi4Lia4LiX4Lin4Li04LiI4Liy4Lij4LiT4LmMIix1bmRlckF1ZGl0OiLguJXguKPguKfguIjguKrguK3guJoiLGF1ZGl0RmFpbHVyZToi4LiB4Liy4Lij4LiV4Lij4Lin4LiI4Liq4Lit4Lia4Lil4LmJ4Lih4LmA4Lir4Lil4LinIix1bnRpZToi4LiE4Lil4Liy4Lii4LmA4LiB4Lil4Li14Lii4LinIixidXk6IuC4i+C4t+C5ieC4rSIsc2VsbDoi4LiC4Liy4LiiIixwbHNMb2dpbjoi4LiB4Lij4Li44LiT4Liy4LmA4LiC4LmJ4Liy4Liq4Li54LmI4Lij4Liw4Lia4Lia4LiB4LmI4Lit4LiZIixwbHNJbnB1dFVzZXJuYW1lOiLguIHguKPguLjguJPguLLguKPguLDguJrguLjguJrguLHguI3guIrguLUiLHBsc0lucHV0UmVQYXNzd29yZDoi4LiB4Lij4Li44LiT4Liy4LmD4Liq4LmI4Lij4Lir4Lix4Liq4Lic4LmI4Liy4LiZ4LmA4Lie4Li34LmI4Lit4Lii4Li34LiZ4Lii4Lix4LiZIixwbHNJbnB1dEludml0ZUNvZGU6IuC4geC4o+C4uOC4k+C4suC5g+C4quC5iOC4o+C4q+C4seC4quC5gOC4iuC4tOC4jSIscGxzSW5wdXRDb2RlOiLguIHguKPguLjguJPguLLguYPguKrguYjguKPguKvguLHguKrguIHguLLguKPguJXguKPguKfguIjguKrguK3guJoiLHBsc0lucHV0TW9iaWxlOiLguIHguKPguLjguJPguLLguYPguKrguYjguKvguKHguLLguKLguYDguKXguILguYLguJfguKPguKjguLHguJ7guJfguYzguKHguLfguK3guJbguLfguK3guILguK3guIfguITguLjguJMiLHBsc0lucHV0RW1haWw6IuC5guC4m+C4o+C4lOC4o+C4sOC4muC4uOC4geC4peC5iOC4reC4h+C4iOC4lOC4q+C4oeC4suC4oiIsbG9naW5fc3VjY2Vzczoi4LmA4LiC4LmJ4Liy4Liq4Li54LmI4Lij4Liw4Lia4Lia4LmA4Lij4Li14Lii4Lia4Lij4LmJ4Lit4Lii4LmB4Lil4LmJ4LinIixsb2dpbl9mYWlsOiLguKXguYfguK3guIHguK3guLTguJnguKXguYnguKHguYDguKvguKXguKciLHJlZ19zdWNjZXNzOiLguKXguIfguJfguLDguYDguJrguLXguKLguJnguYDguKPguLXguKLguJrguKPguYnguK3guKLguYHguKXguYnguKciLHJlZ19mYWlsOiLguKXguYfguK3guIHguK3guLTguJnguKXguYnguKHguYDguKvguKXguKciLHB3ZEluY29uc2lzdGVudDoi4Liq4Lit4LiH4Lij4Lir4Lix4Liq4Lic4LmI4Liy4LiZ4LmE4Lih4LmI4LiV4Lij4LiH4LiB4Lix4LiZIixoaW50OiLguJfguLnguKXguYDguIHguKXguYnguLLguK/guJbguKfguLLguKIiLGxvYWRpbmc6IuC5guC4q+C4peC4lCIsc3VjY2Vzczoi4Lib4Lij4Liw4Liq4Lia4LiE4Lin4Liy4Lih4Liq4Liz4LmA4Lij4LmH4LiIIixwbHNJbnB1dDoi4LmC4Lib4Lij4LiU4LmA4LiC4LmJ4Liy4Lih4LiyIixjbGljazoi4LiE4Lil4Li04LiBIixxdW90YXRpb246IuC4reC4seC4leC4o+C4suC5geC4peC4geC5gOC4m+C4peC4teC5iOC4ouC4mSJ9LCgwLHUuZGVmYXVsdCkobywiZWRpdCIsIuC4leC4seC4lOC4leC5iOC4rSIpLCgwLHUuZGVmYXVsdCkobywic2Vjb25kIiwi4Lin4Li04LiZ4Liy4LiX4Li1IiksKDAsdS5kZWZhdWx0KShvLCJzcGVjaWFsQ2hhcnQiLCLguYTguKHguYjguK3guJnguLjguI3guLLguJXguYPguKvguYnguKHguLXguK3guLHguIHguILguKPguLDguJ7guLTguYDguKjguKkiKSwoMCx1LmRlZmF1bHQpKG8sIm9wZW4iLCLguKPguLLguITguLLguYDguJvguLTguJQiKSwoMCx1LmRlZmF1bHQpKG8sImNsb3NlIiwi4Lij4Liy4LiE4Liy4Lib4Li04LiUIiksKDAsdS5kZWZhdWx0KShvLCJoaWdoIiwi4Lij4Liy4LiE4Liy4Liq4Li54LiH4Liq4Li44LiUIiksKDAsdS5kZWZhdWx0KShvLCJsb3ciLCLguJXguYjguLPguKrguLjguJQiKSwoMCx1LmRlZmF1bHQpKG8sImN1c3RvbWVyU2VydmljZSIsIuC4leC4tOC4lOC4leC5iOC4reC4neC5iOC4suC4ouC4muC4o+C4tOC4geC4suC4o+C4peC4ueC4geC4hOC5ieC4siIpLCgwLHUuZGVmYXVsdCkobywicmVtZW1iZXJQYXNzd29yZCIsIuC4iOC4s+C4o+C4q+C4seC4quC4nOC5iOC4suC4mSIpLCgwLHUuZGVmYXVsdCkobywibmV3UGFzc3dvcmQiLCLguKPguKvguLHguKrguJzguYjguLLguJnguYPguKvguKHguYgiKSwoMCx1LmRlZmF1bHQpKG8sInB3ZE1vcmVUaGVuNiIsIuC4o+C4q+C4seC4quC4nOC5iOC4suC4meC4hOC4p+C4o+C4oeC4teC4hOC4p+C4suC4oeC4ouC4suC4p+C4oeC4suC4geC4geC4p+C5iOC4suC4q+C4geC4muC4tOC4lSIpLCgwLHUuZGVmYXVsdCkobywiY29kZUxlbmd0aDYiLCLguITguKfguLLguKHguKLguLLguKfguILguK3guIfguKPguKvguLHguKrguIHguLLguKPguJXguKPguKfguIjguKrguK3guJrguIjguLDguKvguIHguKvguKXguLHguIEiKSwoMCx1LmRlZmF1bHQpKG8sInJlUHdkTW9yZVRoZW42Iiwi4Lii4Li34LiZ4Lii4Lix4LiZ4Lij4Lir4Lix4Liq4Lic4LmI4Liy4LiZ4LiE4Lin4Lij4Lih4Li14LiE4Lin4Liy4Lih4Lii4Liy4Lin4Lih4Liy4LiB4LiB4Lin4LmI4Liy4Lir4LiB4Lia4Li04LiVIiksKDAsdS5kZWZhdWx0KShvLCJwbHMiLCLguILguK3guKPguYnguK3guIciKSwoMCx1LmRlZmF1bHQpKG8sInNhdmVTdWNjZXNzIiwi4Lia4Lix4LiZ4LiX4Li24LiB4LmE4Lib4Lii4Lix4LiH4Lit4Lix4Lil4Lia4Lix4LmJ4Lih4Lij4Liw4Lia4LiaIiksKDAsdS5kZWZhdWx0KShvLCJuZXh0U3RlcCIsIuC4guC4seC5ieC4meC4leC4reC4meC4leC5iOC4reC5hOC4myIpLCgwLHUuZGVmYXVsdCkobywibG9nIiwi4Lit4Lix4LiU4LmB4Lic4LmI4LiZ4LmA4Liq4Li14Lii4LiHIiksKDAsdS5kZWZhdWx0KShvLCJwYXJhbXNXcm9uZyIsIuC4nuC4suC4o+C4suC4oeC4tOC5gOC4leC4reC4o+C5jOC4guC5ieC4reC4nOC4tOC4lOC4nuC4peC4suC4lCIpLCgwLHUuZGVmYXVsdCkobywiZnVuY3Rpb25Mb2FkaW5nIiwi4LiB4Liy4Lij4Lie4Lix4LiS4LiZ4Liy4LiB4Liy4Lij4LiX4Liz4LiH4Liy4LiZIiksKDAsdS5kZWZhdWx0KShvLCJESUdJQ0NZIiwi4Liq4LiB4Li44Lil4LmA4LiH4Li04LiZ4LiU4Li04LiI4Li04LiV4Lit4LilIiksKDAsdS5kZWZhdWx0KShvLCJxdWlja2x5Iiwi4Lij4Lin4LiU4LmA4Lij4LmH4Lin4LiX4Lix4LiZ4LmD4LiIIiksKDAsdS5kZWZhdWx0KShvLCJtb3JlIiwi4Lii4Li04LmI4LiH4LiC4Li24LmJ4LiZIiksKDAsdS5kZWZhdWx0KShvLCJoYXNOb0RhdGEiLCLguYTguKHguYjguKHguLXguILguYnguK3guKHguLnguKXguYDguJ7guLTguYjguKHguYDguJXguLTguKEiKSwoMCx1LmRlZmF1bHQpKG8sImF1ZGlvRXJyb3IiLCLguYDguIHguLTguJTguILguYnguK3guJzguLTguJTguJ7guKXguLLguJTguYPguJnguYTguJ/guKXguYzguYDguKrguLXguKLguIciKSwoMCx1LmRlZmF1bHQpKG8sInRvTG9uZyIsIuC4leC4seC4p+C4peC4sOC4hOC4o+C4ouC4suC4p+C5gOC4geC4tOC4meC5hOC4myIpLCgwLHUuZGVmYXVsdCkobywic2VsZWN0TGFuZyIsIuC5gOC4peC4t+C4reC4geC4oOC4suC4qeC4siIpLCgwLHUuZGVmYXVsdCkobywicm5hbWVwYXNzIiwi4Lic4LmI4Liy4LiZ4LiB4Liy4Lij4LiV4Lij4Lin4LiI4Liq4Lit4Lia4LiK4Li34LmI4Lit4LiI4Lij4Li04LiH4LmB4Lil4LmJ4LinIiksbyksaG9tZToocj17Y29udGFjdFVzOiLguJXguLTguJTguJXguYjguK3guYDguKPguLIiLGJvcnJvd2luZzoi4LiB4Liy4Lij4Lii4Li34LihIixib3Jyb3dpbmdfZW50cnk6IuC4o+C4suC4ouC4geC4suC4o+C5gOC4h+C4tOC4meC4geC4ueC5iSIscmVwYXltZW50X2VudHJ5OiLguKPguLLguKLguIHguLLguKPguIrguLPguKPguLDguITguLfguJnguYDguIfguLTguJnguIHguLnguYkiLHRpdGxlOiJXb29DbG91ZCIsdG90YWxBc3NldHNFcXVpdmFsZW5nOiLguKrguLTguJnguJfguKPguLHguJ7guKLguYzguKPguKfguKEiLHJlY2hhcmdlOiLguYDguJXguLTguKEiLHdpdGhkcmF3OiLguJbguK3guJnguYDguIfguLTguJkiLHN0b2NrOiLguKrguYjguKfguJnguYHguJrguYjguIciLGZ1dHVyZXM6IuC4quC4meC4mOC4tOC4quC4seC4jeC4jeC4siIsY29weXRyYWRlOiLguYPguJrguJvguKXguLTguKfguYLguIbguKnguJPguLIiLGZpbmFuY2lhbDoi4LiB4Liy4Lij4LmA4LiH4Li04LiZ4LiB4Liy4Lij4LiE4Lil4Lix4LiHIixtYXJnaW46IuC4hOC4seC4meC5guC4ouC4geC4quC4uOC4lCIsb3RjOiJPVEMiLGNvdXBvbjoi4Lio4Li54LiZ4Lii4LmM4Lia4Lix4LiV4LijIixiaWxsczoi4LiX4Liz4LmA4LiE4Lij4Li34LmI4Lit4LiH4Lir4Lih4Liy4LiiIixleGNoYW5nZToi4LmB4Lil4LiB4LmA4Lib4Lil4Li14LmI4Lii4LiZIixtaW5pbmc6IuC4geC4suC4o+C4guC4uOC4lCIsZ2FtZToi4LmA4LiB4Lih4LmA4Lil4LmH4LiB4LmGIixjaGF0cm9vbToi4Lir4LmJ4Lit4LiH4Liq4LiZ4LiX4LiZ4LiyIixxdWlja2x5QnV5Q29pbnM6IuC4o+C4p+C4lOC5gOC4o+C5h+C4p+C4i+C4t+C5ieC4reC5gOC4q+C4o+C4teC4ouC4jSIsZGVmaU1pbmluZzoi4LmA4Lir4Lih4Li34Lit4LiH4LmB4Lij4LmIIixjbG91ZE1pbmluZzoi4LmA4Lih4LiGIn0sKDAsdS5kZWZhdWx0KShyLCJzdG9jayIsIuC4quC5iOC4p+C4meC5geC4muC5iOC4hyIpLCgwLHUuZGVmYXVsdCkociwic3RvY2tfaW5mbyIsIuC5hOC4oeC5iOC4leC5ieC4reC4h+C5gOC4m+C4tOC4lOC4leC4s+C5geC4q+C4meC5iOC4h+C4l+C4seC4meC4l+C4tSIpLCgwLHUuZGVmYXVsdCkociwibG9ja21pbmciLCLguIHguLLguKPguYDguIfguLTguJkiKSwoMCx1LmRlZmF1bHQpKHIsInRyYW5zZmVyIiwi4LiB4Liy4Lij4LmC4Lit4LiZ4LmA4LiH4Li04LiZIiksKDAsdS5kZWZhdWx0KShyLCJpZW8iLCJJRU8iKSwoMCx1LmRlZmF1bHQpKHIsInNlY29uZHMiLCLguJfguLLguIfguYDguKXguLfguK3guIEiKSwoMCx1LmRlZmF1bHQpKHIsImRheSIsIuC4l+C5ieC4reC4h+C4n+C5ieC4siIpLCgwLHUuZGVmYXVsdCkociwibWluaW11bSIsIuC4geC4suC4o+C5gOC4o+C4tOC5iOC4oeC4leC5ieC4mSIpLCgwLHUuZGVmYXVsdCkociwiZGFpbHlSZXR1cm5SYXRlIiwi4Lit4Lix4LiV4Lij4Liy4Lic4Lil4LiV4Lit4Lia4LmB4LiX4LiZ4LiV4LmI4Lit4Lin4Lix4LiZIiksKDAsdS5kZWZhdWx0KShyLCJtb3JlIiwi4Lii4Li04LmI4LiH4LiC4Li24LmJ4LiZIiksKDAsdS5kZWZhdWx0KShyLCJtYXJrZXQiLCLguK3guLHguJXguKPguLLguYHguKXguIHguYDguJvguKXguLXguYjguKLguJkiKSwoMCx1LmRlZmF1bHQpKHIsInRyYWRpbmdQYWlyIiwi4LiE4Li54LmI4LiE4LmJ4LiyIiksKDAsdS5kZWZhdWx0KShyLCJsYXN0UHJpY2UiLCLguKPguLLguITguLLguKXguYjguLLguKrguLjguJQiKSwoMCx1LmRlZmF1bHQpKHIsInRvZGF5Q2hhbmdlIiwi4LiC4Li24LmJ4LiZ4LmB4Lil4Liw4LiV4LiB4Lin4Lix4LiZ4LiZ4Li14LmJIiksKDAsdS5kZWZhdWx0KShyLCJ0cmFuc2FjdGlvbiIsIuC5geC4peC4geC5gOC4m+C4peC4teC5iOC4ouC4mSIpLCgwLHUuZGVmYXVsdCkociwibmZ0IiwiTkZUIiksKDAsdS5kZWZhdWx0KShyLCJpbnZlc3QiLCLguKXguIfguJfguLjguJkiKSwoMCx1LmRlZmF1bHQpKHIsImRvd25sb2FkIiwi4LiU4Liy4Lin4LiZ4LmM4LmC4Lir4Lil4LiUIiksKDAsdS5kZWZhdWx0KShyLCJhcHBfdGV4dCIsIuC4i+C4t+C5ieC4reC4guC4suC4ouC4reC4reC4meC5hOC4peC4meC5jOC5hOC4lOC5ieC4l+C4uOC4geC4l+C4teC5iOC4l+C4uOC4geC5gOC4p+C4peC4siIpLCgwLHUuZGVmYXVsdCkociwiYnpfQ29udGVuIiwi4Lio4Li54LiZ4Lii4LmM4LiK4LmI4Lin4Lii4LmA4Lir4Lil4Li34LitIiksciksc2V0dGluZzp7dGVhbToi4LiX4Li14LihIix0ZWFtMToi4LiI4Liz4LiZ4Lin4LiZ4LiX4Li14LihIix0ZWFtMjoi4Lih4LiZ4Li44Lip4Lii4LmMIix0ZWFtMzoi4LiU4Li44Lil4Lia4Lin4LiB4LmD4LiZ4Lib4Lix4LiI4LiI4Li44Lia4Lix4LiZIix0ZWFtNDoi4LmC4Lia4LiZ4Lix4Liq4Liq4Liw4Liq4LihIix0ZWFtNToi4Lij4Liy4LiH4Lin4Lix4Lil4Liq4Liw4Liq4LihIix0ZWFtNjoi4LiE4Lij4Liy4LinIix0ZWFtNzoi4LmA4Lib4Lil4Li14LmI4Lii4LiZ4LmA4Lib4LmH4LiZ4Lia4Lin4LiBIix0ZWFtODoi4LiX4Li44LmI4LiH4Lia4Lin4LiB4Lib4Lij4Liw4Lin4Lix4LiV4Li04Lij4Liy4LiH4Lin4Lix4LilIix0ZWFtOToi4Lib4Lij4Liw4Lin4Lix4LiV4Li04Lij4Liy4LiH4Lin4Lix4LilIFVTRFQiLHRlYW0xMDoi4LmB4Lia4LmI4LiH4Lib4Lix4LiZ4LiB4Liy4Lij4LmA4LiK4Li34LmI4Lit4Lih4LmC4Lii4LiHIix0ZWFtMTE6IuC5gOC4iOC5ieC4suC4q+C4meC5ieC4suC4l+C4teC5iOC4o+C4sOC4lOC4seC4muC4peC5iOC4suC4hyIsdGVhbTEyOiLguYDguIjguYnguLLguKvguJnguYnguLLguJfguLXguYjguKPguLDguJTguLHguJrguKXguYjguLLguIciLHRlYW0xMzoi4LmA4LiI4LmJ4Liy4Lir4LiZ4LmJ4Liy4LiX4Li14LmI4Lij4Liw4LiU4Lix4Lia4Lil4LmI4Liy4LiHIix0ZWFtMTQ6IuC4quC4p+C4seC4quC4lOC4teC5gOC4o+C4suC4iuC4t+C5iOC4rSIsdGVhbTE1OiLguITguKfguLLguKHguKrguKHguJTguLjguKXguILguK3guIfguKrguLHguI3guI3guLIiLHRlYW0xNjoi4LmA4Lin4Lil4Liy4LmA4LiK4Li04LiNIix0ZWFtMTc6IuC5geC4m+C4peC4h+C4muC4p+C4gSIsdGVhbTE4OiLguJvguKPguLTguKHguLLguJPguJrguKfguIEiLHRlYW0xOToi4LmB4Lib4Lil4LiH4LiI4Liz4LiZ4Lin4LiZIHVzZHQiLHRlYW0yMDoi4LiI4Liz4LiZ4Lin4LiZ4LiX4Lix4LmJ4LiH4Lir4Lih4LiUIix0ZWFtMjE6IuC5g+C4muC4o+C4seC4muC4o+C4reC4h+C4l+C4seC5iOC4p+C5hOC4myIsdGVhbTIyOiLguK3guLHguJXguKPguLLguKrguYjguKfguJnguIHguLLguKPguYHguKXguIHguYDguJvguKXguLXguYjguKLguJkiLHRlYW0yMzoi4LiE4LmI4Liy4LiY4Lij4Lij4Lih4LmA4LiZ4Li14Lii4LihIix0ZWFtMjQ6IuC4ouC4t+C4meC4ouC4seC4meC4geC4suC4o+C5geC4peC4geC5gOC4m+C4peC4teC5iOC4ouC4mSIsdGVhbTI1OiLguKrguK3guJrguJbguLLguKEiLHRlYW0yNjoi4Lia4Lix4LiZ4LiX4Li24LiB4Lij4Liy4LiH4Lin4Lix4Lil4LiX4Lix4LmI4Lin4LmE4LibIix0ZWFtMjc6IuC4geC4o+C4uOC4k+C4suC4o+C4sOC4muC4uOC4iOC4s+C4meC4p+C4meC4geC4suC4o+C5geC4peC4geC5gOC4m+C4peC4teC5iOC4ouC4mSIsdGVhbTI4OiLguIrguLfguYjguK3guIjguKPguLTguIfguKPguLHguJrguKPguK3guIfguKPguLLguIfguKfguLHguKUiLHRlYW0yOToi4LiE4LmI4Liy4LiY4Lij4Lij4Lih4LmA4LiZ4Li14Lii4Lih4LiY4Li44Lij4LiB4Lij4Lij4LihIix0ZWFtMzA6IuC4o+C4suC4h+C4p+C4seC4peC4quC4leC4ueC4lOC4tOC5guC4rSIsdGVhbTMxOiLguIHguLLguKPguJXguLHguJQiLHRlYW0zMjoi4Lij4Liy4LiH4Lin4Lix4Lil4LiX4Lix4LmI4Lin4LmE4LibKC0pIix0ZWFtMzM6IuC4o+C4suC4h+C4p+C4seC4peC5gOC4h+C4tOC4meC4lOC4tOC4iOC4tOC4leC4reC4pSIsdGVhbTM0OiLguKLguIHguYDguKXguLTguIEiLHRlYW0zNToi4Lii4Li34LiZ4Lii4Lix4LiZIix5OiLguJvguLUiLG06IuC4lOC4p+C4h+C4iOC4seC4meC4l+C4o+C5jCIsZDoi4Lin4Lix4LiZ4Lit4Liy4LiX4Li04LiV4Lii4LmMIixoOiLguIHguLLguKXguLAiLGY6IuC4muC4l+C4muC4suC4lyIsczoi4Lin4Li04LiZ4Liy4LiX4Li1IixteV9xcmNvZGU6IuC4o+C4q+C4seC4qiBRUiDguILguK3guIfguInguLHguJkiLG1pbmU6Ik1pbmUiLGludml0ZURlc2M6IuC5gOC4iuC4tOC4jeC5gOC4nuC4t+C5iOC4reC4meC4geC4peC4seC4muC4oeC4suC4lOC5ieC4p+C4ouC4geC4seC4mSIsaW52aXRlRGVzYzI6IuC5geC4muC5iOC4h+C4m+C4seC4meC4nOC4peC4geC4s+C5hOC4o+C4geC4seC4muC5gOC4nuC4t+C5iOC4reC4mSIsaW52aXRlTnVtYmVyOiLguYDguIrguLTguI0iLGludml0ZVRyYW5zTnVtYmVyOiLguIjguLPguJnguKfguJnguIHguLLguKPguIvguLfguYnguK3guILguLLguKIiLG15UmViYXRlOiLguJzguKXguJXguK3guJrguYHguJfguJnguILguK3guIfguInguLHguJkiLGJpbGw6IuC4l+C4s+C5gOC4hOC4o+C4t+C5iOC4reC4h+C4q+C4oeC4suC4oiIsd2FsbGV0OiLguJfguLXguYjguK3guKLguLnguYjguIHguKPguLDguYDguJvguYvguLLguKrguJXguLLguIfguITguYwiLGJhbmtzOiLguJrguLHguJXguKPguJjguJnguLLguITguLLguKMiLGJhbmtzSW50ZXJuYXRpb25hbDoi4Lia4Lix4LiV4Lij4LiY4LiZ4Liy4LiE4Liy4LijIC0g4LiZ4Liy4LiZ4Liy4LiK4Liy4LiV4Li0IixhZGRCYW5rOiLguYDguJ7guLTguYjguKHguJrguLHguJXguKPguJjguJnguLLguITguLLguKMiLHNlY3VyaXR5U2V0dGluZ3M6IuC4geC4suC4o+C4leC4seC5ieC4h+C4hOC5iOC4suC4hOC4p+C4suC4oeC4m+C4peC4reC4lOC4oOC4seC4oiIsY291cG9uOiLguKjguLnguJnguKLguYzguJrguLHguJXguKMiLHN5c3RlbU5vdGlmaWNhdGlvbjoi4Lij4Liw4Lia4Lia4LmB4LiI4LmJ4LiH4LmA4LiV4Li34Lit4LiZIixkZWZhdWx0RmlhdEN1cnJlbmN5OiLguKrguIHguLjguKXguYDguIfguLTguJnguJ3guKPguLHguYjguIfguYDguKjguKrguJvguKPguLTguKLguLLguKIiLGxhbmd1YWdlOiLguKDguLLguKnguLIiLGZhcToi4LiE4Liz4LiW4Liy4Lih4LiX4Li14LmI4Lie4Lia4Lia4LmI4Lit4LiiIixvcGVyYXRpb25hbENvbXBsaWFuY2U6IuC4geC4suC4o+C4m+C4j+C4tOC4muC4seC4leC4tOC4leC4suC4oeC4geC4juC4o+C4sOC5gOC4muC4teC4ouC4muC4l+C4suC4h+C4mOC4uOC4o+C4geC4tOC4iCIsc2hhcmU6IuC5geC4muC5iOC4h+C4m+C4seC4mSIsY29udGFjdFVzOiLguJXguLTguJTguJXguYjguK3guYDguKPguLIiLGFib3V0VXM6IuC5gOC4geC4teC5iOC4ouC4p+C4geC4seC4muC5gOC4o+C4siIsYXZhdGFyOiLguJ7guKPguLDguJ7guLHguIHguJXguKPguYwiLG5pY2tuYW1lOiLguIrguLfguYjguK3guYDguKXguYjguJkiLHNpZ25hdHVyZToi4Lil4Liy4Lii4LmA4LiL4LmH4LiZ4Lia4Li44LiE4Lil4Li04LiB4Lig4Liy4LieIixncnh4OiLguILguYnguK3guKHguLnguKXguKrguYjguKfguJnguJXguLHguKciLGdyeHhPcHRpb25zOntuaWNrbmFtZTp7dGl0bGU6IuC4iuC4t+C5iOC4reC5gOC4peC5iOC4mSIscGxhY2Vob2xkZXI6IuC4geC4o+C4uOC4k+C4suC5g+C4quC5iOC4iuC4t+C5iOC4reC5gOC4peC5iOC4mSIsZGVzYzoiMi0xMCDguK3guLHguIHguILguKPguLDguJfguLXguYjguKrguJnguLHguJrguKrguJnguLjguJnguJfguLHguYnguIfguKDguLLguKnguLLguIjguLXguJnguYHguKXguLDguKDguLLguKnguLLguK3guLHguIfguIHguKTguKnguYHguKXguLDguJXguLHguKfguYDguKXguIIifSxzaWduYXR1cmU6e3RpdGxlOiLguKXguLLguKLguYDguIvguYfguJnguJrguLjguITguKXguLTguIHguKDguLLguJ4iLHBsYWNlaG9sZGVyOiLguIHguKPguLjguJPguLLguYPguKrguYjguKXguLLguKLguYDguIvguYfguJnguKrguYjguKfguJnguJXguLHguKciLGRlc2M6IjItMzAg4Lit4Lix4LiB4LiC4Lij4Liw4LiX4Li14LmI4Liq4LiZ4Lix4Lia4Liq4LiZ4Li44LiZ4LiX4Lix4LmJ4LiH4Lig4Liy4Lip4Liy4LiI4Li14LiZ4LmB4Lil4Liw4Lig4Liy4Lip4Liy4Lit4Lix4LiH4LiB4Lik4Lip4LmB4Lil4Liw4LiV4Lix4Lin4LmA4Lil4LiCIn19LHh4dHg6IuC4reC4seC4nuC5guC4q+C4peC4lOC4oOC4suC4niIscGhvdG9ncmFwaDoi4LiW4LmI4Liy4Lii4Lij4Li54LibIixzZWxlY3RGcm9tQWxidW06IuC5gOC4peC4t+C4reC4geC4iOC4suC4geC4reC4seC4peC4muC4seC5ieC4oSIsYXFzejoi4LiB4Liy4Lij4LiV4Lix4LmJ4LiH4LiE4LmI4Liy4LiE4Lin4Liy4Lih4Lib4Lil4Lit4LiU4Lig4Lix4LiiIixlZGl0TG9naW5QYXNzd29yZDoi4LmA4Lib4Lil4Li14LmI4Lii4LiZ4Lij4Lir4Lix4Liq4Lic4LmI4Liy4LiZ4LmA4LiC4LmJ4Liy4Liq4Li54LmI4Lij4Liw4Lia4LiaIixzZXRQYXlQYXNzd29yZDoi4LiV4Lix4LmJ4LiH4LiE4LmI4Liy4Lij4Lir4Lix4Liq4Lic4LmI4Liy4LiZ4LiB4Liy4Lij4LiK4Liz4Lij4Liw4LmA4LiH4Li04LiZIixlZGl0UGF5UGFzc3dvcmQ6IuC5geC4geC5ieC5hOC4guC4o+C4q+C4seC4quC4nOC5iOC4suC4meC4geC4suC4o+C4iuC4s+C4o+C4sOC5gOC4h+C4tOC4mSIsYmluZFBob25lOiLguJzguLnguIHguYLguJfguKPguKjguLHguJ7guJfguYzguKHguLfguK3guJbguLfguK0iLGVtYWlsOiLguYTguJvguKPguKnguJPguLXguKLguKDguLHguJPguJHguYwiLHN0YXlMb2dpbjoi4LmA4LiC4LmJ4Liy4Liq4Li54LmI4Lij4Liw4Lia4LiaIix4Z2RsbW06IuC5gOC4m+C4peC4teC5iOC4ouC4meC4o+C4q+C4seC4quC4nOC5iOC4suC4meC5gOC4guC5ieC4suC4quC4ueC5iOC4o+C4sOC4muC4miIsY3VycmVudFBhc3N3b3JkOiLguKPguKvguLHguKrguJzguYjguLLguJnguYDguILguYnguLLguKrguLnguYjguKPguLDguJrguJrguJvguLHguIjguIjguLjguJrguLHguJkiLGN1cnJlbnRQYXNzd29yZFBsYWNlaG9sZGVyOiLguJvguYnguK3guJnguKPguKvguLHguKrguJzguYjguLLguJnguYDguILguYnguLLguKrguLnguYjguKPguLDguJrguJrguJvguLHguIjguIjguLjguJrguLHguJkiLG5ld1Bhc3N3b3JkOiLguKPguKvguLHguKrguJzguYjguLLguJnguYDguILguYnguLLguKrguLnguYjguKPguLDguJrguJrguYPguKvguKHguYgiLG5ld1Bhc3N3b3JkUGxhY2Vob2xkZXI6IuC4geC4o+C4uOC4k+C4suC5g+C4quC5iOC4o+C4q+C4seC4quC4nOC5iOC4suC4meC5gOC4guC5ieC4suC4quC4ueC5iOC4o+C4sOC4muC4muC5g+C4q+C4oeC5iCIsY29uZmlybU5ld1Bhc3N3b3JkOiLguKLguLfguJnguKLguLHguJnguKPguKvguLHguKrguJzguYjguLLguJnguYPguKvguKHguYgiLGNvbmZpcm1OZXdQYXNzd29yZFBsYWNlaG9sZGVyOiLguIHguKPguLjguJPguLLguJvguYnguK3guJnguKPguKvguLHguKrguJzguYjguLLguJnguYPguKvguKHguYjguYDguJ7guLfguYjguK3guKLguLfguJnguKLguLHguJkiLGN1cnJlbnRQYXlQYXNzd29yZDoi4Lij4Lir4Lix4Liq4Lic4LmI4Liy4LiZ4LiB4Liy4Lij4LiK4Liz4Lij4Liw4LmA4LiH4Li04LiZ4LmD4LiZ4Lib4Lix4LiI4LiI4Li44Lia4Lix4LiZIixjdXJyZW50UGF5UGFzc3dvcmRQbGFjZWhvbGRlcjoi4LiB4Lij4Li44LiT4Liy4LmD4Liq4LmI4Lij4Lir4Lix4Liq4Lic4LmI4Liy4LiZ4LiB4Liy4Lij4LiK4Liz4Lij4Liw4LmA4LiH4Li04LiZ4Lib4Lix4LiI4LiI4Li44Lia4Lix4LiZIixuZXdQYXlQYXNzd29yZDoi4LiI4LmI4Liy4Lii4Lij4Lir4Lix4Liq4Lic4LmI4Liy4LiZ4LmD4Lir4Lih4LmIIixuZXdQYXlQYXNzd29yZFBsYWNlaG9sZGVyOiLguIHguKPguLjguJPguLLguYPguKrguYjguKPguKvguLHguKrguJzguYjguLLguJnguIHguLLguKPguIrguLPguKPguLDguYDguIfguLTguJnguYPguKvguKHguYgiLGNvbmZpcm1OZXdQYXlQYXNzd29yZDoi4Lii4Li34LiZ4Lii4Lix4LiZ4Lij4Lir4Lix4Liq4Lic4LmI4Liy4LiZ4LiB4Liy4Lij4LiK4Liz4Lij4Liw4LmA4LiH4Li04LiZ4LmD4Lir4Lih4LmIIixjb25maXJtTmV3UGF5UGFzc3dvcmRQbGFjZWhvbGRlcjoi4LiB4Lij4Li44LiT4Liy4Lib4LmJ4Lit4LiZ4Lij4Lir4Lix4Liq4Lic4LmI4Liy4LiZ4LmA4Lie4Li34LmI4Lit4Lii4Li34LiZ4Lii4Lix4LiZ4LiB4Liy4Lij4LiK4Liz4Lij4Liw4LmA4LiH4Li04LiZ4LmD4Lir4Lih4LmIIixwaG9uZVZlcmlmaWNhdGlvbkNvZGU6IuC4o+C4q+C4seC4quC4leC4o+C4p+C4iOC4quC4reC4muC5guC4l+C4o+C4qOC4seC4nuC4l+C5jOC4oeC4t+C4reC4luC4t+C4rSIsZWRpdFBob25lVmVyaWZpY2F0aW9uQ29kZToi4LiB4Lij4Li44LiT4Liy4LmD4Liq4LmI4Lij4Lir4Lix4Liq4LiB4Liy4Lij4LiV4Lij4Lin4LiI4Liq4Lit4Lia4LmC4LiX4Lij4Lio4Lix4Lie4LiX4LmM4Lih4Li34Lit4LiW4Li34LitIixnZXRWZXJpZmljYXRpb25Db2RlOiLguYTguJTguYnguKPguLHguJrguKPguKvguLHguKrguIHguLLguKPguJXguKPguKfguIjguKrguK3guJoiLGxjdHlxOiLguITguLnguJvguK3guIfguJvguKPguLDguKrguJrguIHguLLguKPguJPguYzguJfguLLguIfguIHguLLguKPguYDguIfguLTguJkiLGV4cGlyZWQ6IuC4quC4ueC4jeC4nuC4seC4meC4mOC4uOC5jCIsZXhwaXJlZFRpbWU6IuC4p+C4seC4meC4q+C4oeC4lOC4reC4suC4ouC4uCIsdXNlSW1tZWRpYXRlbHk6IuC5g+C4iuC5ieC4l+C4seC4meC4l+C4tSIsYWRkTmV3QWNjb3VudDoi4LmA4Lie4Li04LmI4Lih4Lia4Lix4LiN4LiK4Li14LmD4Lir4Lih4LmIIix0b3RheUluY29tZToi4LiE4Lit4Lil4LmA4Lil4LiB4LiK4Lix4LiZ4Lin4Lix4LiZ4LiZ4Li14LmJIix0b3RhbEluY29tZToi4Liq4Liw4Liq4LihIixzZWxlY3RMYW5nOiLguIHguKPguLjguJPguLLguYDguKXguLfguK3guIHguKDguLLguKnguLIiLHNlbGVjdENvaW5UeXBlOiLguIHguKPguLjguJPguLLguYDguKXguLfguK3guIHguKrguIHguLjguKXguYDguIfguLTguJkiLGF1dGhlbnRpY2F0aW9uOiLguJrguLHguJXguKPguJvguKPguLDguIjguLPguJXguLHguKfguJvguKPguLDguIrguLLguIrguJkiLGF1dGhlbnRpY2F0aW9uMToi4LiB4Liy4Lij4Lij4Lix4Lia4Lij4Lit4LiH4Lie4Li34LmJ4LiZ4LiQ4Liy4LiZIixhdXRoZW50aWNhdGlvbjI6IuC4geC4suC4o+C4o+C4seC4muC4o+C4reC4h+C4guC4seC5ieC4meC4quC4ueC4hyIsYXV0aGVudGljYXRpb25fdGV4dF8xOiLguIHguLLguKPguKPguLHguJrguKPguK3guIfguJrguLjguITguITguKUiLGF1dGhlbnRpY2F0aW9uX3RleHRfMjoi4Liq4Li04LiX4LiY4Li04LmM4LiX4Li14LmI4LiI4Liw4LmE4LiU4LmJ4Lij4Lix4Lia4Lir4Lil4Lix4LiH4LiI4Liy4LiB4LmA4Liq4Lij4LmH4LiI4Liq4Li04LmJ4LiZ4LiB4Liy4Lij4LiV4Lij4Lin4LiI4Liq4Lit4LiaIixhdXRoZW50aWNhdGlvbl90ZXh0XzM6Imx2MS4xIOC4geC4suC4o+C4o+C4seC4muC4o+C4reC4h+C4nuC4t+C5ieC4meC4kOC4suC4mSIsYXV0aGVudGljYXRpb25fdGV4dF80OiLguKvguKXguLHguIfguIjguLLguIHguIHguLLguKPguKPguLHguJrguKPguK3guIfguKrguLLguKHguLLguKPguJbguKrguLDguJfguYnguK3guJnguYPguKvguYnguYDguKvguYfguJnguJbguLbguIfguILguLXguJTguIjguLPguIHguLHguJTguILguK3guIcgMjAwQlRDIDI0aG91ciIsYXV0aGVudGljYXRpb25fdGV4dF81OiLguKvguKXguLHguIfguIjguLLguIHguYTguJTguYnguKPguLHguJrguIHguLLguKPguKPguLHguJrguKPguK3guIfguKrguLLguKHguLLguKPguJbguJTguLPguYDguJnguLTguJnguIHguLLguKPguYHguKXguIHguYDguJvguKXguLXguYjguKLguJnguYDguIfguLTguJnguJXguKPguLLguJXguYjguLLguIfguJvguKPguLDguYDguJfguKgiLGF1dGhlbnRpY2F0aW9uX3RleHRfNjoiTFYyLkNvbW1lbnQg4LiB4Liy4Lij4Lij4Lix4Lia4Lij4Lit4LiH4LiC4Lix4LmJ4LiZ4Liq4Li54LiHIixhdXRoZW50aWNhdGlvbl90ZXh0Xzc6IuC5gOC4nuC4tOC5iOC4oeC4muC4o+C4o+C4l+C4seC4lOC4l+C4teC5iOC4quC4sOC4l+C5ieC4reC4meC5g+C4q+C5ieC5gOC4q+C5h+C4meC4luC4tuC4hyAyNGhvdXIgNTAwYlRDIOC4iOC4s+C4geC4seC4lCIsYXV0aGVudGljYXRpb25fdGV4dF84OiLguYDguJ7guLTguYjguKHguYLguITguKfguJXguYnguLLguIHguLLguKPguIvguLfguYnguK3guILguLLguKLguYDguIfguLTguJnguJXguKPguLLguJXguYjguLLguIfguJvguKPguLDguYDguJfguKgiLGF1dGhlbnRpY2F0aW9uX3RleHRfOToi4LmA4Lie4Li34LmI4Lit4Lib4LiB4Lib4LmJ4Lit4LiH4LiE4Lin4Liy4Lih4Lib4Lil4Lit4LiU4Lig4Lix4Lii4LiC4Lit4LiH4LmA4LiH4Li04LiZ4LiX4Li44LiZ4LiC4Lit4LiH4Lic4Li54LmJ4LmD4LiK4LmJ4LiB4Lij4Li44LiT4Liy4LiB4Lij4Lit4LiB4LiC4LmJ4Lit4Lih4Li54Lil4LmD4LiZ4LiB4Lil4LmI4Lit4LiH4LiI4LiU4Lir4Lih4Liy4Lii4LmB4Lil4Liw4LmC4LiX4Lij4Lio4Lix4Lie4LiX4LmM4Lih4Li04LiJ4Liw4LiZ4Lix4LmJ4LiZ4LiB4Liy4Lij4LiV4Lij4Lin4LiI4Liq4Lit4Lia4LiC4Lit4LiH4LiE4Li44LiT4LiI4Liw4LmE4Lih4LmI4Lic4LmI4Liy4LiZIixnb0F1ZGl0OiLguYTguJvguKPguLHguJrguKPguK3guIciLG5vYXVkaXQ6IuC4i+C4tuC5iOC4h+C5hOC4oeC5iOC5hOC4lOC5ieC4o+C4seC4muC4geC4suC4o+C4o+C4seC4muC4o+C4reC4hyIsYXVkaXRpbmc6IuC4geC4suC4o+C4o+C4seC4muC4o+C4reC4hyIsaGFzYXVkaXQ6IuC5g+C4muC4o+C4seC4muC4o+C4reC4hyIsZXJyb3JhdWRpdDoi4Lij4Lix4Lia4Lij4Lit4LiH4LiE4Lin4Liy4Lih4LiW4Li54LiB4LiV4LmJ4Lit4LiH4Lil4LmJ4Lih4LmA4Lir4Lil4LinIixpZFR5cGU6IuC4m+C4o+C4sOC5gOC4oOC4l+C4guC4reC4h+C5gOC4reC4geC4quC4suC4oyIsaWRDYXJkOiLguJrguLHguJXguKPguJvguKPguLDguIjguLPguJXguLHguKfguJvguKPguLDguIrguLLguIrguJkiLHBhc3Nwb3J0OiLguYPguJrguYDguJrguLTguIHguJfguLLguIciLGRyaXZlckxpY2Vuc2U6IuC5g+C4muC4guC4seC4muC4guC4teC5iCIsbmFtZToi4LmA4LiZ4LihIixpZGNhcmQ6IuC4q+C4oeC4suC4ouC5gOC4peC4guC4muC4seC4leC4o+C4m+C4o+C4sOC4iuC4suC4iuC4mSIscGxzSXB0TmFtZToi4LiB4Lij4Li44LiT4Liy4LmD4Liq4LmI4LiK4Li34LmI4LitIixwbHNJcHRDb3JyZWN0SWRjYXJkOiLguIHguKPguLjguJPguLLguYPguKrguYjguKvguKHguLLguKLguYDguKXguILguJrguLHguJXguKPguJvguKPguLDguIrguLLguIrguJnguJfguLXguYjguJbguLnguIHguJXguYnguK3guIciLHVwbG9hZElkY2FyZEZyb250OiLguK3guLHguJ7guYLguKvguKXguJTguJrguLHguJXguKPguJvguKPguLDguIrguLLguIrguJnguJTguYnguLLguJnguKvguJnguYnguLIiLHVwbG9hZElkY2FyZFJldmVyc2U6IuC4reC4seC4nuC5guC4q+C4peC4lOC4q+C4peC4seC4h+C4muC4seC4leC4o+C4m+C4o+C4sOC4iuC4suC4iuC4mSIsZW1haWxWZXJpZmljYXRpb25Db2RlOiLguKPguKvguLHguKrguIHguLLguKPguJXguKPguKfguIjguKrguK3guJrguIHguKXguYjguK3guIfguIjguJTguKvguKHguLLguKIiLHBsc2lwdEVtYWlsQ29kZToi4LiB4Lij4Li44LiT4Liy4LmD4Liq4LmI4Lij4Lir4Lix4Liq4LiB4Liy4Lij4LiV4Lij4Lin4LiI4Liq4Lit4Lia4LiB4Lil4LmI4Lit4LiH4LiI4LiU4Lir4Lih4Liy4LiiIixhZGRXYWxsZXQ6IuC5gOC4nuC4tOC5iOC4oeC4l+C4teC5iOC4reC4ouC4ueC5iOC4geC4o+C4sOC5gOC4m+C5i+C4suC4quC4leC4suC4h+C4hOC5jCIsc2VsZWN0Q3VycmVuY3k6IuC5gOC4peC4t+C4reC4geC4quC4geC4uOC4peC5gOC4h+C4tOC4mSIscGxzU2VsZWN0Q3VycmVuY3k6IuC4geC4o+C4uOC4k+C4suC5gOC4peC4t+C4reC4geC4quC4geC4uOC4peC5gOC4h+C4tOC4mSIscGxzSXB0QWRkcmVzczoi4LiB4Lij4Li44LiT4Liy4LmD4Liq4LmI4LiX4Li14LmI4Lit4Lii4Li54LmI4LiB4Lij4Liw4LmA4Lib4LmL4Liy4Liq4LiV4Liy4LiH4LiE4LmMIix3YWxsZXRBZGRyZXNzOiLguJfguLXguYjguK3guKLguLnguYjguIHguKPguLDguYDguJvguYvguLLguKrguJXguLLguIfguITguYwiLHdhbGxldFFyY29kZToi4Lij4Lir4Lix4Liq4LiB4Lij4Liw4LmA4Lib4LmL4Liy4Liq4LiV4Liy4LiH4LiE4LmMIixwbHNJcHRXYWxsZXRBZGRyZXNzOiLguIHguKPguLjguJPguLLguYPguKrguYjguJfguLXguYjguK3guKLguLnguYjguIHguKPguLDguYDguJvguYvguLLguKrguJXguLLguIfguITguYwiLHBsc1VwbG9hZFdhbGxldFFyY29kZToi4LiB4Lij4Li44LiT4Liy4Lit4Lix4Lie4LmC4Lir4Lil4LiU4Lij4Lir4Lix4LiqIDJEIOC4quC4s+C4q+C4o+C4seC4muC4geC4o+C4sOC5gOC4m+C5i+C4suC4quC4leC4suC4h+C4hOC5jCIsY29uZmlybUxvZ291dDoi4LiE4Li44LiT4LmB4LiZ4LmI4LmD4LiI4Lin4LmI4Liy4LiE4Li44LiT4LiV4LmJ4Lit4LiH4LiB4Liy4Lij4LiX4Li14LmI4LiI4Liw4Lit4Lit4LiB4LiI4Liy4LiB4Lij4Liw4Lia4LiaIixub25pY2tuYW1lOiLguIHguKPguLjguJPguLLguJXguLHguYnguIfguIrguLfguYjguK3guYDguKXguYjguJkiLHBsc0lucHV0TW9iaWxlOiLguIHguKPguLjguJPguLLguYPguKrguYjguKvguKHguLLguKLguYDguKXguILguYLguJfguKPguKjguLHguJ7guJfguYzguKHguLfguK3guJbguLfguK3guILguK3guIfguITguLjguJMiLGFsaXBheV9hY2NvdW50OiLguKvguKHguLLguKLguYDguKXguIIgQUJBIixyZWFsX25hbWU6IuC4iuC4t+C5iOC4reC4iOC4o+C4tOC4hyIsYmFua19hY2NvdW50OiLguKvguKHguLLguKLguYDguKXguILguJrguLHguJXguKMiLGJhbmtfZGl6aGk6IuC5gOC4oeC4t+C4reC4h+C5gOC4m+C4tOC4lOC4muC4seC4jeC4iuC4tSIsYmFua19uYW1lOiLguJjguJnguLLguITguLLguKPguYDguJvguLTguJTguJrguLHguI3guIrguLUiLGJhbmtfbmV0d29yazoi4Liq4Liy4LiC4Liy4Lia4Lix4LiN4LiK4Li1Iixzd2lmdF9jb2RlOiJTV0lGVCIscGhvbmU6IuC5gOC4muC4reC4o+C5jOC4leC4tOC4lOC4leC5iOC4rSIsd2VjaGF0X2FjY291bnQ6IuC4l+C4teC5iOC4reC4ouC4ueC5iOC4guC4reC4h+C4nOC4ueC5ieC4luC4t+C4reC4muC4seC4leC4oyIsd2VjaGF0X25pY2tuYW1lOiLguKPguKvguLHguKogU1dJRlQiLGFsbE5lZWQ6IuC4l+C4seC5ieC4h+C4q+C4oeC4lOC5gOC4m+C5h+C4meC4quC4tOC5iOC4h+C4iOC4s+C5gOC4m+C5h+C4mSIscGhvbmVOdW1iZXI6IuC4q+C4oeC4suC4ouC5gOC4peC4guC5guC4l+C4o+C4qOC4seC4nuC4l+C5jOC4oeC4t+C4reC4luC4t+C4rSIsY29kZToi4Lij4Lir4Lix4Liq4LiB4Liy4Lij4LiV4Lij4Lin4LiI4Liq4Lit4LiaIixzZW5kQ29kZToi4Liq4LmI4LiH4Lij4Lir4Lix4Liq4LiB4Liy4Lij4LiV4Lij4Lin4LiI4Liq4Lit4LiaIixwbHNJcHRDb2RlOiLguIHguKPguLjguJPguLLguYPguKrguYjguKPguKvguLHguKrguIHguLLguKPguJXguKPguKfguIjguKrguK3guJoiLHNjb3JlOiJTY29yZSJ9LHRyYW5zYWN0aW9uOihpPXthY3R1YWxQTDoiQWN0dWFsIFBMIixmYXZvcml0ZXM6IuC4reC4tOC4quC4o+C4sCIsZnV0dXJlczoi4Liq4LiZ4LiY4Li04Liq4Lix4LiN4LiN4LiyIixjb2luczoi4LmA4Lir4Lij4Li14Lii4LiN4LiB4Lij4Liw4Lip4Liy4Lib4LiT4LmMIixzdG9jazoi4Liq4LmI4Lin4LiZ4LmB4Lia4LmI4LiHIix0cmFkaW5nUGFpcjoi4LiE4Li54LmI4LiE4LmJ4LiyIixsYXN0UHJpY2U6IuC4o+C4suC4hOC4suC4peC5iOC4suC4quC4uOC4lCIsdG9kYXlDaGFuZ2U6IuC4guC4tuC5ieC4meC5geC4peC4sOC4leC4geC4p+C4seC4meC4meC4teC5iSIsc2VhcmNoUGxhY2Vob2xkZXI6IuC4hOC5ieC4meC4q+C4suC4o+C4q+C4seC4quC4quC4s+C4q+C4o+C4seC4muC4quC4geC4uOC4peC5gOC4h+C4tOC4meC4l+C4teC5iOC4hOC4uOC4k+C4quC4meC5g+C4iCIsaG90U2VhcmNoOiLguITguYnguJnguKvguLIiLHJlY2VudFZpZXc6IuC4lOC4ueC4peC5iOC4suC4quC4uOC4lCIsZGF5SGlnaDoi4Liq4Li54LiH4Lin4Lix4LiZ4LiZ4Li14LmJIixkYXlMb3c6IuC4leC5iOC4s+C4p+C4seC4meC4meC4teC5iSIsb3B0aW9uYWw6IuC4reC4tOC4quC4o+C4sCIsYnV5OiLguIvguLfguYnguK0iLHNlbGw6IuC4guC4suC4oiIsZW50cnVzdFBlbmRpbmdPcmRlcjoi4LmA4LiK4Li34LmI4Lit4LiW4Li34Lit4LmE4LiU4LmJIixhZGRPcHRpb25hbFN1Y2Nlc3M6IuC5gOC4nuC4tOC5iOC4oeC4hOC4p+C4suC4oeC4quC4s+C5gOC4o+C5h+C4iOC4lOC5ieC4p+C4ouC4leC4meC5gOC4reC4hyIsZGVsT3B0aW9uYWxTdWNjZXNzOiLguKXguJrguJXguLHguKfguYDguKXguLfguK3guIHguJfguLXguYjguJvguKPguLDguKrguJrguITguKfguLLguKHguKrguLPguYDguKPguYfguIgiLHNlY29uZHM6IuC4l+C4suC4h+C5gOC4peC4t+C4reC4gSIsaG9tZToi4Lir4LiZ4LmJ4Liy4LmB4Lij4LiBIixvcmRlckNvbmZpcm06IuC4ouC4t+C4meC4ouC4seC4meC4geC4suC4o+C4quC4seC5iOC4h+C4i+C4t+C5ieC4rSIsY3VycmVudFByaWNlOiLguKPguLLguITguLLguJvguLHguIjguIjguLjguJrguLHguJkiLGRpcmVjdGlvbjoi4Lih4Li44LmI4LiH4Lir4LiZ4LmJ4Liy4LmE4LibIixzZWxlY3RUaW1lOiLguYDguKXguLfguK3guIHguKfguLHguJnguKvguKHguJTguK3guLLguKLguLgiLG51bWJlcjoi4LiI4Liz4LiZ4Lin4LiZ4Lij4Lin4LihIixiYWxhbmNlOiLguJTguLjguKXguJrguLHguI3guIrguLUiLHBsc0lwdENydE51bWJlcjoi4LmC4Lib4Lij4LiU4Lij4Liw4Lia4Li44Lir4Lih4Liy4Lii4LmA4Lil4LiC4LiX4Li14LmI4LiW4Li54LiB4LiV4LmJ4Lit4LiHIixidXlQcmljZToi4Lij4Liy4LiE4Liy4LiL4Li34LmJ4LitIixleHBlY3RlZFBMOiLguITguLLguJTguIHguLLguKPguJPguYzguIHguLPguYTguKPguYHguKXguLDguILguLLguJTguJfguLjguJkiLGNvbnRpbnVlVHJhZGU6IuC4geC4suC4o+C4i+C4t+C5ieC4reC4guC4suC4ouC4leC5iOC4reC5hOC4myIsc2Vjb25kc1Bvc2l0aW9uOiLguJXguLPguYHguKvguJnguYjguIfguJXguLHguKfguYDguKXguLfguK3guIEiLHBvc2l0aW9uOiLguKrguJnguLHguJrguKrguJnguLjguJkiLGhpc3Rvcnk6IuC4m+C4o+C4sOC4p+C4seC4leC4tOC4qOC4suC4quC4leC4o+C5jCIsb3JkZXJUaW1lczoi4Lij4Liw4Lii4Liw4LmA4Lin4Lil4Liy4LiB4Liy4Lij4Liq4Lix4LmI4LiH4LiL4Li34LmJ4LitIixwbDoi4LiC4Liy4LiU4LiX4Li44LiZIixzZWxsVGltZToi4LmA4Lin4Lil4Liy4LiC4Liy4LiiIixidXl0aW1lOiLguIvguLfguYnguK3guYDguKfguKXguLIiLGVuZFByaWNlOiLguKPguLLguITguLLguIjguLHguJTguIHguLLguKMifSwoMCx1LmRlZmF1bHQpKGksImJ1eSIsIuC4i+C4t+C5ieC4rSIpLCgwLHUuZGVmYXVsdCkoaSwic2VsbCIsIuC4guC4suC4oiIpLCgwLHUuZGVmYXVsdCkoaSwicHJpY2UiLCLguKPguLLguITguLIiKSwoMCx1LmRlZmF1bHQpKGksInRpbWUiLCLguIHguLLguKXguLAiKSwoMCx1LmRlZmF1bHQpKGksIm9wdGlvbmFsIiwi4Lit4Li04Liq4Lij4LiwIiksKDAsdS5kZWZhdWx0KShpLCJidXkiLCLguIvguLfguYnguK0iKSwoMCx1LmRlZmF1bHQpKGksInNlbGwiLCLguILguLLguKIiKSwoMCx1LmRlZmF1bHQpKGksImxvbmciLCLguJfguLPguKHguLLguIHguYDguIHguLTguJnguYTguJsiKSwoMCx1LmRlZmF1bHQpKGksInNob3J0Iiwi4Liq4Lix4LmJ4LiZIiksKDAsdS5kZWZhdWx0KShpLCJlbnRydXN0UGVuZGluZ09yZGVyIiwi4LmA4LiK4Li34LmI4Lit4LiW4Li34Lit4LmE4LiU4LmJIiksKDAsdS5kZWZhdWx0KShpLCJhZGRPcHRpb25hbFN1Y2Nlc3MiLCLguYDguJ7guLTguYjguKHguITguKfguLLguKHguKrguLPguYDguKPguYfguIjguJTguYnguKfguKLguJXguJnguYDguK3guIciKSwoMCx1LmRlZmF1bHQpKGksImRlbE9wdGlvbmFsU3VjY2VzcyIsIuC4peC4muC4leC4seC4p+C5gOC4peC4t+C4reC4geC4l+C4teC5iOC4m+C4o+C4sOC4quC4muC4hOC4p+C4suC4oeC4quC4s+C5gOC4o+C5h+C4iCIpLCgwLHUuZGVmYXVsdCkoaSwicHJpY2UiLCLguKPguLLguITguLIiKSwoMCx1LmRlZmF1bHQpKGksImFtb3VudCIsIuC4iOC4s+C4meC4p+C4meC4o+C4p+C4oSIpLCgwLHUuZGVmYXVsdCkoaSwibWFya2V0UHJpY2UiLCLguJXguKXguLLguJTguJnguLHguJTguIHguKXguLLguIfguYHguIjguYnguIciKSwoMCx1LmRlZmF1bHQpKGksImxpbWl0UHJpY2UiLCLguILguLXguJTguITguLHguYjguJkiKSwoMCx1LmRlZmF1bHQpKGksIm51bWJlciIsIuC4iOC4s+C4meC4p+C4meC4nOC4ueC5ieC4hOC5ieC4siIpLCgwLHUuZGVmYXVsdCkoaSwibWFyZ2luIiwi4LmA4LiH4Li04LiZ4Lih4Lix4LiU4LiI4LizIiksKDAsdS5kZWZhdWx0KShpLCJoYW5kbGluZ0ZlZSIsIuC4hOC5iOC4suC4mOC4o+C4o+C4oeC5gOC4meC4teC4ouC4oSIpLCgwLHUuZGVmYXVsdCkoaSwiYmFsYW5jZSIsIuC4ouC4reC4lOC4hOC4h+C5gOC4q+C4peC4t+C4rSIpLCgwLHUuZGVmYXVsdCkoaSwibXVsdGlwbGUiLCLguIHguLLguKXguLAiKSwoMCx1LmRlZmF1bHQpKGksInJlY2hhcmdlIiwi4LmA4LiV4Li04LihIiksKDAsdS5kZWZhdWx0KShpLCJwbHNJcHRDb21taXNzaW9uUHJpY2UiLCLguIHguKPguLjguJPguLLguJvguYnguK3guJnguKPguLLguITguLLguJXguLHguKfguYHguJfguJkiKSwoMCx1LmRlZmF1bHQpKGksInRyYWRpbmdQYWlyIiwi4LiE4Li54LmI4LiE4LmJ4LiyIiksKDAsdS5kZWZhdWx0KShpLCJkaXJlY3Rpb24iLCLguKHguLjguYjguIfguKvguJnguYnguLLguYTguJsiKSwoMCx1LmRlZmF1bHQpKGksInBsc0lwdENydFByaWNlIiwi4LiB4Lij4Li44LiT4Liy4Lij4Liw4Lia4Li44Lij4Liy4LiE4Liy4LiX4Li14LmI4LiW4Li54LiB4LiV4LmJ4Lit4LiHIiksKDAsdS5kZWZhdWx0KShpLCJwb3NpdGlvbiIsIuC4leC4s+C5geC4q+C4meC5iOC4h+C5g+C4meC4l+C4teC4oSIpLCgwLHUuZGVmYXVsdCkoaSwidGltZSIsIuC4geC4suC4peC4sCIpLCgwLHUuZGVmYXVsdCkoaSwidHVybm92ZXIiLCLguYHguKXguIHguYDguJvguKXguLXguYjguKLguJkiKSwoMCx1LmRlZmF1bHQpKGksIm9wZXJhdGlvbiIsIuC4geC4suC4o+C4lOC4s+C5gOC4meC4tOC4meC4geC4suC4oyIpLCgwLHUuZGVmYXVsdCkoaSwidHlwZSIsIuC4o+C4ueC4m+C4o+C5iOC4suC4h+C4peC4seC4geC4qeC4k+C4sCIpLCgwLHUuZGVmYXVsdCkoaSwiY292ZXIiLCLguJvguLTguJTguJXguLPguYHguKvguJnguYjguIciKSwoMCx1LmRlZmF1bHQpKGksImNvbmZpcm1Db3ZlciIsIuC4ouC4t+C4meC4ouC4seC4meC4geC4suC4o+C4m+C4tOC4lOC4leC4s+C5geC4q+C4meC5iOC4hyIpLCgwLHUuZGVmYXVsdCkoaSwiY29uZmlybVNlbGZIb2xkIiwi4LiE4Li44LiT4LmB4LiZ4LmI4LmD4LiI4LiZ4Liw4Lin4LmI4Liy4LiE4Li44LiT4LiV4LmJ4Lit4LiH4LiB4Liy4Lij4LiX4Li14LmI4LiI4Liw4LmA4Lib4Lil4Li14LmI4Lii4LiZ4LmB4Lib4Lil4LiH4LiV4Lix4Lin4LmA4Lit4LiHIiksKDAsdS5kZWZhdWx0KShpLCJzZWxmSG9sZGluZyIsIuC4geC4suC4o+C4hOC4p+C4muC4hOC4uOC4oeC4leC4seC4pyIpLCgwLHUuZGVmYXVsdCkoaSwidHJhbnNTZWxmSG9sZCIsIuC4geC4suC4o+C4q+C4oeC4uOC4mSIpLCgwLHUuZGVmYXVsdCkoaSwiZGVsZWdhdGVMaXN0Iiwi4Lij4Liy4Lii4LiK4Li34LmI4Lit4Lic4Li54LmJ4LmB4LiX4LiZIiksKDAsdS5kZWZhdWx0KShpLCJyaXNrUmF0ZSIsIuC4hOC4p+C4suC4oeC5gOC4quC4teC5iOC4ouC4hyIpLCgwLHUuZGVmYXVsdCkoaSwidG90YWxQYW5kTCIsIuC4geC4s+C5hOC4o+C4o+C4p+C4oeC4iOC4suC4geC4leC4s+C5geC4q+C4meC5iOC4hyIpLCgwLHUuZGVmYXVsdCkoaSwib25lQ2xpY2tDb3ZlciIsIuC4m+C4tOC4lOC4leC4s+C5geC4q+C4meC5iOC4hyIpLCgwLHUuZGVmYXVsdCkoaSwib3BlbiIsIuC4o+C4suC4hOC4suC5gOC4m+C4tOC4lCIpLCgwLHUuZGVmYXVsdCkoaSwidGFyZ2V0UHJvZml0UHJpY2UiLCLguKPguLLguITguLLguIHguLPguYTguKMiKSwoMCx1LmRlZmF1bHQpKGksInVwZGF0ZVByaWNlIiwi4Lij4Liy4LiE4Liy4Lib4Lix4LiI4LiI4Li44Lia4Lix4LiZIiksKDAsdS5kZWZhdWx0KShpLCJzdG9wTG9zc1ByaWNlIiwi4Lij4Liy4LiE4Liy4Lir4Lii4Li44LiU4LiC4Liy4LiU4LiX4Li44LiZIiksKDAsdS5kZWZhdWx0KShpLCJvdmVybmlnaHRNb25leSIsIuC4hOC5iOC4suC4mOC4o+C4o+C4oeC5gOC4meC4teC4ouC4oeC4guC5ieC4suC4oeC4hOC4t+C4mSIpLCgwLHUuZGVmYXVsdCkoaSwib3BlblRpbWUiLCLguYDguKfguKXguLLguYDguJvguLTguJQiKSwoMCx1LmRlZmF1bHQpKGksImxvdHMiLCLguIHguLLguKPguJvguKPguJrguKHguLfguK0iKSwoMCx1LmRlZmF1bHQpKGksInNldFByb2ZpdExvc3MiLCLguJXguLHguYnguIfguITguYjguLLguKvguKLguLjguJTguILguLLguJTguJfguLjguJkiKSwoMCx1LmRlZmF1bHQpKGksImV4cGVjdGVkUHJvZml0Iiwi4LiE4Liy4LiU4Lin4LmI4Liy4LiB4Liz4LmE4LijIiksKDAsdS5kZWZhdWx0KShpLCJleHBlY3RlZExvc3MiLCLguITguLLguJTguKfguYjguLLguILguLLguJTguJfguLjguJkiKSwoMCx1LmRlZmF1bHQpKGksImNvdmVyQWxsIiwi4Lib4Li04LiU4LiV4Liz4LmB4Lir4LiZ4LmI4LiH4LiX4Lix4LmJ4LiH4Lir4Lih4LiUIiksKDAsdS5kZWZhdWx0KShpLCJvbmx5Q292ZXJNYW55Iiwi4Lih4Lix4LiZ4LmA4Lib4LmH4LiZ4Lih4Liy4LiB4LiB4Lin4LmI4Liy4Lir4LiZ4Li24LmI4LiHIiksKDAsdS5kZWZhdWx0KShpLCJvbmx5Q292ZXJFbXB0eSIsIuC5geC4nOC5iOC4meC5geC4muC4mSIpLCgwLHUuZGVmYXVsdCkoaSwibnVtYmVycyIsIuC4iOC4s+C4meC4p+C4meC4o+C4p+C4oSIpLCgwLHUuZGVmYXVsdCkoaSwiY29pbkJ1eVByaWNlIiwi4LiL4Li34LmJ4Lit4LiC4Liy4Lii4LmD4LiZ4Lij4Liy4LiE4Liy4LiX4Li14LmI4LiU4Li14LiX4Li14LmI4Liq4Li44LiU4LmD4LiZ4Lib4Lix4LiI4LiI4Li44Lia4Lix4LiZIiksKDAsdS5kZWZhdWx0KShpLCJqaW5lIiwi4Lic4Lil4Lij4Lin4LihIiksKDAsdS5kZWZhdWx0KShpLCJwX2ppbmUiLCLguYLguJvguKPguJTguKPguLDguJrguLjguIjguLPguJnguKfguJnguYDguIfguLTguJkiKSwoMCx1LmRlZmF1bHQpKGksInBfcHJpY2UiLCLguIHguKPguLjguJPguLLguKPguLDguJrguLjguKPguLLguITguLIiKSwoMCx1LmRlZmF1bHQpKGksInBfY29uZmlybV9zaiIsIuC4geC4s+C4q+C4meC4lOC4o+C4suC4hOC4suC5g+C4meC4leC4peC4suC4lCIpLCgwLHUuZGVmYXVsdCkoaSwicF9jb25maXJtX3hqXzEiLCLguIHguLPguKvguJnguJTguKPguLLguITguLLguJvguLHguIjguIjguLjguJrguLHguJkiKSwoMCx1LmRlZmF1bHQpKGksInBfY29uZmlybV9tYSIsIuC4h+C4seC5ieC4meC5gOC4q+C4o+C4rSIpLCgwLHUuZGVmYXVsdCkoaSwic3RhdHVzIiwi4Liq4Lig4Liy4LieIiksKDAsdS5kZWZhdWx0KShpLCJjb21wbGV0ZSIsIuC5gOC4quC4o+C5h+C4iOC4quC4tOC5ieC4mSIpLCgwLHUuZGVmYXVsdCkoaSwiZG9pbmciLCLguYDguIjguKPguLTguI3guIHguYnguLLguKfguKvguJnguYnguLIiKSwoMCx1LmRlZmF1bHQpKGksImN1cnJlbnRFbnRydXN0Iiwi4LiV4Lix4Lin4LmB4LiX4LiZ4LmD4LiZ4Lib4Lix4LiI4LiI4Li44Lia4Lix4LiZIiksKDAsdS5kZWZhdWx0KShpLCJhbGxFbnRydXN0Iiwi4Lih4Lit4Lia4Lir4Lih4Liy4Lii4LmD4Lir4LmJIiksKDAsdS5kZWZhdWx0KShpLCJlbnRydXN0Iiwi4Lih4Lit4Lia4Lir4Lih4Liy4Lii4LmD4Lir4LmJIiksKDAsdS5kZWZhdWx0KShpLCJlbnRydXN0VGltZSIsIuC5gOC4p+C4peC4suC4oeC4reC4muC4q+C4oeC4suC4oiIpLCgwLHUuZGVmYXVsdCkoaSwiYWxsIiwi4LiI4Liz4LiZ4Lin4LiZ4LiX4Lix4LmJ4LiH4Lir4Lih4LiUIiksKDAsdS5kZWZhdWx0KShpLCJidXlVcCIsIuC4i+C4t+C5ieC4reC5gOC4nuC4tOC5iOC4oeC5gOC4leC4tOC4oSIpLCgwLHUuZGVmYXVsdCkoaSwiYnV5RG93biIsIuC4i+C4t+C5ieC4reC4meC5ieC4reC4ouC4peC4hyIpLCgwLHUuZGVmYXVsdCkoaSwianllIiwi4LiI4Liz4LiZ4Lin4LiZ4LmA4LiH4Li04LiZ4LiX4Li14LmI4LiX4Liz4Lij4Liy4Lii4LiB4Liy4LijIiksaSksZnVuZDoocz17b3ZlcnZpZXc6IuC4muC4l+C4quC4o+C4uOC4myIsYmFsYW5jZToi4Lii4Lit4LiU4LiE4LiH4LmA4Lir4Lil4Li34LitIixmdXR1cmVzOiLguKrguJnguJjguLTguKrguLHguI3guI3guLIiLGRlcG9zaXQ6IuC5gOC4guC5ieC4suC4muC4seC4jeC4iuC4tSIsbWluaW5nOiLguIHguLLguKPguILguLjguJQiLHN0b2NrOiLguKrguYjguKfguJnguYHguJrguYjguIciLG1hcmdpbjoi4LiE4Lix4LiZ4LmC4Lii4LiB4Liq4Li44LiUIix5ZXN0ZXJkYXlFYXJuaW5nczoi4LiB4Liz4LmE4Lij4LmA4Lih4Li34LmI4Lit4Lin4Liy4LiZ4LiZ4Li14LmJIix5aWVsZEF0TWF0dXJpbHk6IuC4o+C4suC4ouC5hOC4lOC5ieC5gOC4meC4t+C5iOC4reC4h+C4iOC4suC4gSIsdG90YWxrUmV2ZW51ZToi4Lij4Liy4Lii4LmE4LiU4LmJ4Lij4Lin4LihIixjdXJyZW50UHJvZml0OiLguIHguLPguYTguKPguYHguKXguLDguILguLLguJTguJfguLjguJnguYPguJnguJvguLHguIjguIjguLjguJrguLHguJkiLHByb2ZpdFJhdGlvOiLguIHguLPguYTguKPguYHguKXguLDguILguLLguJTguJfguLjguJkiLHJlY2VpdmU6IuC5gOC4nuC4tOC5iOC4oeC4oeC4ueC4peC4hOC5iOC4siIsdHJhbnNmZXI6IuC4geC4suC4o+C5guC4reC4meC5gOC4h+C4tOC4meC4nOC5iOC4suC4meC4muC4seC4jeC4iuC4teC5geC4ouC4geC4m+C4o+C4sOC5gOC4oOC4lyIsZmluYW5jaWFsOiLguIHguLLguKPguYDguIfguLTguJnguIHguLLguKPguITguKXguLHguIciLHZhbHVhdGlvbjoi4Lib4Lij4Liw4LmA4Lih4Li04LiZ4LiE4LmI4LiyIixjdXJyZW50RWFybmluZ3M6IuC4o+C4suC4ouC5hOC4lOC5ieC5g+C4meC4m+C4seC4iOC4iOC4uOC4muC4seC4mSIseWVzdGVyZGF5SW5jb21lOiLguIHguLPguYTguKPguYDguKHguLfguYjguK3guKfguLLguJnguJnguLXguYkiLGNyeXB0bzoi4Liq4LiB4Li44Lil4LmA4LiH4Li04LiZ4LiU4Li04LiI4Li04LiV4Lit4LilIixmaWF0OiLguYDguKvguKPguLXguKLguI3guJ3guKPguLHguYjguIfguYDguKjguKoiLGhpZGVTbWFsbEN1cnJlbmN5OiLguIvguYjguK3guJnguKrguIHguLjguKXguYDguIfguLTguJnguILguJnguLLguJTguYDguKXguYfguIEiLGF2YWlsYWJsZToi4LmD4LiK4LmJIixmcmVlemU6IuC4l+C4s+C5g+C4q+C5ieC4iuC4sOC4h+C4seC4gSIsZXF1aXZhbGVudDoi4LiX4LiaIix1c2R0bToi4Lih4Liy4LiV4Lij4LiQ4Liy4LiZ4LiB4Liy4Lij4LiX4LiU4Liq4Lit4LiaIixjb2lubToi4Lih4Liy4LiV4Lij4LiQ4Liy4LiZ4LmA4Lir4Lij4Li14Lii4LiNIixleGNoYW5nZToi4LmA4Lir4Lij4Li14Lii4LiN4LiB4Lij4Liw4Lip4Liy4Lib4LiT4LmMIixsZXZlcmFnZToi4Liq4LiZ4LiY4Li04Liq4Lix4LiN4LiN4LiyIn0sKDAsdS5kZWZhdWx0KShzLCJmaWF0Iiwi4LmA4Lir4Lij4Li14Lii4LiN4Lid4Lij4Lix4LmI4LiH4LmA4Lio4LiqIiksKDAsdS5kZWZhdWx0KShzLCJzZWNvbmQiLCLguJfguLLguIfguYDguKXguLfguK3guIEiKSwoMCx1LmRlZmF1bHQpKHMsImNvbnZlcnQiLCLguKrguLTguJnguJfguKPguLHguJ7guKLguYzguKPguKfguKEiKSwoMCx1LmRlZmF1bHQpKHMsImNvbnZlcnQyIiwi4LiB4Liy4Lij4LmB4Lib4Lil4LiH4Liq4Li04LiZ4LiX4Lij4Lix4Lie4Lii4LmMIiksKDAsdS5kZWZhdWx0KShzLCJyZWNvcmQiLCLguJrguLHguJnguJfguLbguIHguIHguLLguKPguYDguJvguKXguLXguYjguKLguJnguYHguJvguKXguIfguJrguLHguI3guIrguLUiKSwoMCx1LmRlZmF1bHQpKHMsImF2YWlsYWJsZVF1b3RhIiwi4LiI4Liz4LiZ4Lin4LiZ4LmA4LiH4Li04LiZ4LiX4Li14LmI4LmD4LiK4LmJ4LmE4LiU4LmJIiksKDAsdS5kZWZhdWx0KShzLCJsb2NrZWQiLCLguKXguYfguK3guIQiKSwoMCx1LmRlZmF1bHQpKHMsImNvbnZlcnRlZCIsIuC4l+C4miIpLCgwLHUuZGVmYXVsdCkocywiYWNjb3VudCIsIuC4muC4seC4jeC4iuC4teC5gOC4h+C4tOC4meC4neC4suC4gSIpLCgwLHUuZGVmYXVsdCkocywiZmluYW5jaWFsUmVjb3JkcyIsIuC4muC4seC4meC4l+C4tuC4geC4l+C4suC4h+C4geC4suC4o+C5gOC4h+C4tOC4mSIpLCgwLHUuZGVmYXVsdCkocywibnVtYmVyIiwi4LiI4Liz4LiZ4Lin4LiZ4Lij4Lin4LihIiksKDAsdS5kZWZhdWx0KShzLCJyZWNvcmQyIiwi4Lit4Lix4LiU4LmB4Lic4LmI4LiZ4LmA4Liq4Li14Lii4LiHIiksKDAsdS5kZWZhdWx0KShzLCJ0aW1lIiwi4LiB4Liy4Lil4LiwIiksKDAsdS5kZWZhdWx0KShzLCJ0cmFuc2ZlciIsIuC4geC4suC4o+C5geC4peC4geC5gOC4m+C4peC4teC5iOC4ouC4meC4quC4geC4uOC4peC5gOC4h+C4tOC4mSIpLCgwLHUuZGVmYXVsdCkocywiZnJvbSIsIuC5gOC4guC5ieC4suC5g+C4iCIpLCgwLHUuZGVmYXVsdCkocywidG8iLCLguIjguJnguIHguKPguLDguJfguLHguYjguIciKSwoMCx1LmRlZmF1bHQpKHMsInRyYW5zZmVyTnVtYmVyIiwi4Lib4Lij4Li04Lih4Liy4LiT4LiB4Liy4Lij4Lir4Lih4Li44LiZIiksKDAsdS5kZWZhdWx0KShzLCJ5b3VHZXQiLCLguITguLjguJPguIjguLDguYTguJTguYnguKPguLHguJoiKSwoMCx1LmRlZmF1bHQpKHMsImV4Y2hhbmdlUmF0ZSIsIuC4reC4seC4leC4o+C4suC5geC4peC4geC5gOC4m+C4peC4teC5iOC4ouC4mSIpLCgwLHUuZGVmYXVsdCkocywiaGFuZGxpbmdGZWUiLCLguITguYjguLLguJjguKPguKPguKHguYDguJnguLXguKLguKEiKSwoMCx1LmRlZmF1bHQpKHMsImZ1bmRUcmFuc2ZlciIsIuC5guC4reC4meC5gOC4h+C4tOC4mSIpLCgwLHUuZGVmYXVsdCkocywiaW5zdWZmaWNpZW50QmFsYW5jZSIsIuC4guC4suC4lOC4quC4oeC4lOC4uOC4pSIpLCgwLHUuZGVmYXVsdCkocywibmVlZEhhbmRsaW5nRmVlIiwi4LiE4LmI4Liy4LiY4Lij4Lij4Lih4LmA4LiZ4Li14Lii4Lih4LmA4Lie4Li04LmI4Lih4LmA4LiV4Li04LihIiksKDAsdS5kZWZhdWx0KShzLCJwbHNJcHRDcnROdW1iZXIiLCLguYLguJvguKPguJTguKPguLDguJrguLjguKvguKHguLLguKLguYDguKXguILguJfguLXguYjguJbguLnguIHguJXguYnguK3guIciKSwoMCx1LmRlZmF1bHQpKHMsImNfdHJhbnNmZXIiLCLguITguLjguJPguYHguJnguYjguYPguIjguJnguLDguKfguYjguLLguITguLjguJPguKHguLXguIHguLLguKPguYDguJvguKXguLXguYjguKLguJnguYHguJvguKXguIciKSwoMCx1LmRlZmF1bHQpKHMsInNlbGVjdEN1cnJlbmN5Iiwi4LmA4Lil4Li34Lit4LiB4Liq4LiB4Li44Lil4LmA4LiH4Li04LiZIiksKDAsdS5kZWZhdWx0KShzLCJESUdJQ0NZIiwi4Liq4LiB4Li44Lil4LmA4LiH4Li04LiZ4LiU4Li04LiI4Li04LiV4Lit4LilIiksKDAsdS5kZWZhdWx0KShzLCJzYXZlUXJjb2RlIiwi4Lia4Lix4LiZ4LiX4Li24LiB4Lij4Lir4Lix4LiqIDJEIiksKDAsdS5kZWZhdWx0KShzLCJjb3B5QWRkcmVzcyIsIuC4hOC4seC4lOC4peC4reC4geC4l+C4teC5iOC4reC4ouC4ueC5iOC5gOC4iuC4t+C5iOC4reC4oeC5guC4ouC4hyIpLCgwLHUuZGVmYXVsdCkocywicGxzVHJhbnMiLCLguIHguKPguLjguJPguLLguILguYnguLLguKHguYTguJvguKLguLHguIfguJfguLXguYjguK3guKLguLnguYjguJnguLXguYkiKSwoMCx1LmRlZmF1bHQpKHMsInJlY2hhcmdlTnVtZXIiLCLguYDguJXguLTguKEiKSwoMCx1LmRlZmF1bHQpKHMsInBheW1lbnRWb3VjaGVyIiwi4LmD4Lia4Lij4Lix4Lia4Lij4Lit4LiH4LiB4Liy4Lij4LiK4Liz4Lij4Liw4LmA4LiH4Li04LiZIiksKDAsdS5kZWZhdWx0KShzLCJwbHNJcHRSZWNoYXJnZU51bWVyIiwi4LiB4Lij4Li44LiT4Liy4Lib4LmJ4Lit4LiZ4Lir4Lih4Liy4Lii4LmA4Lil4LiC4LmA4LiV4Li04LihIiksKDAsdS5kZWZhdWx0KShzLCJwbHNVcGxvYWRQYXltZW50Vm91Y2hlciIsIuC4geC4o+C4uOC4k+C4suC4reC4seC4nuC5guC4q+C4peC4lOC4muC4seC4leC4o+C4iuC4s+C4o+C4sOC5gOC4h+C4tOC4mSIpLCgwLHUuZGVmYXVsdCkocywicGxzSXB0Q3J0QW1vdW50Iiwi4LmC4Lib4Lij4LiU4Lij4Liw4Lia4Li44LiI4Liz4LiZ4Lin4LiZ4LmA4LiH4Li04LiZ4LiX4Li14LmI4LiW4Li54LiB4LiV4LmJ4Lit4LiHIiksKDAsdS5kZWZhdWx0KShzLCJ3aXRoZHJhdyIsIuC4geC4suC4o+C5guC4reC4meC5gOC4h+C4tOC4meC4nOC5iOC4suC4meC4muC4seC4jeC4iuC4teC5geC4ouC4geC4m+C4o+C4sOC5gOC4oOC4lyIpLCgwLHUuZGVmYXVsdCkocywiY3VycmVuY3lOYW1lIiwi4LiK4Li34LmI4Lit4Liq4LiB4Li44Lil4LmA4LiH4Li04LiZIiksKDAsdS5kZWZhdWx0KShzLCJ0cmFuc2FjdGlvbkluZm8iLCLguJrguLHguI3guIrguLXguIvguLfguYnguK3guILguLLguKIiKSwoMCx1LmRlZmF1bHQpKHMsIndpdGhkcmF3MiIsIuC4luC4reC4meC5gOC4h+C4tOC4mSIpLCgwLHUuZGVmYXVsdCkocywiY2FuVXNlIiwi4LmD4LiK4LmJIiksKDAsdS5kZWZhdWx0KShzLCJhbGwiLCLguIjguLPguJnguKfguJnguJfguLHguYnguIfguKvguKHguJQiKSwoMCx1LmRlZmF1bHQpKHMsInBsc0lwdFdpdGhkcmF3TnVtYmVyIiwi4LiB4Lij4Li44LiT4Liy4Lij4Liw4Lia4Li44LiI4Liz4LiZ4Lin4LiZ4LmA4LiH4Li04LiZ4LiX4Li14LmI4LmA4Liq4LiZ4LitIiksKDAsdS5kZWZhdWx0KShzLCJ3aXRoZHJhd051bWJlciIsIuC4luC4reC4meC5gOC4h+C4tOC4mSIpLCgwLHUuZGVmYXVsdCkocywicmVtYXJrIiwi4LiC4LmJ4Lit4LiE4Li04LiU4LmA4Lir4LmH4LiZIiksKDAsdS5kZWZhdWx0KShzLCJoYW5kbGluZ0ZlZSIsIuC4hOC5iOC4suC4mOC4o+C4o+C4oeC5gOC4meC4teC4ouC4oSIpLCgwLHUuZGVmYXVsdCkocywiY2FuR2V0TnVtYmVyIiwi4LiI4Liz4LiZ4Lin4LiZ4LmA4LiH4Li04LiZ4LmD4LiZ4Lia4Lix4LiN4LiK4Li1IiksKDAsdS5kZWZhdWx0KShzLCJsZWFzdE51bWJlciIsIuC4m+C4o+C4tOC4oeC4suC4k+C4guC4seC5ieC4meC4leC5iOC4syIpLCgwLHUuZGVmYXVsdCkocywiY29pblR5cGUiLCLguKrguIHguLjguKXguYDguIfguLTguJkiKSwoMCx1LmRlZmF1bHQpKHMsImFkZHJlc3MiLCLguIjguYjguLLguKvguJnguYnguLLguIvguK3guIciKSwoMCx1LmRlZmF1bHQpKHMsImRhdGUiLCLguYDguJTguJciKSwoMCx1LmRlZmF1bHQpKHMsIndpdGhkcmF3QWRkcmVzcyIsIuC4l+C4teC5iOC4reC4ouC4ueC5iOC4quC4geC4uOC4peC5gOC4h+C4tOC4mSIpLCgwLHUuZGVmYXVsdCkocywicGxzU2VsZWN0V2l0aGRyYXdBZGRyZXNzIiwi4LiB4Lij4Li44LiT4Liy4LmA4Lil4Li34Lit4LiB4LiX4Li14LmI4Lit4Lii4Li54LmI4LiC4Lit4LiH4Liq4LiB4Li44Lil4LmA4LiH4Li04LiZIiksKDAsdS5kZWZhdWx0KShzLCJ3aXRoZHJhd1RvQ2FyZCIsIuC4nuC4ueC4lOC4luC4tuC4h+C4muC4seC4leC4o+C4mOC4meC4suC4hOC4suC4oyIpLCgwLHUuZGVmYXVsdCkocywid2l0aGRyYXdUb0NhcmRJbnRlcm5hdGlvbiIsIuC4o+C4sOC4q+C4p+C5iOC4suC4h+C4m+C4o+C4sOC5gOC4l+C4qCIpLCgwLHUuZGVmYXVsdCkocywid2l0aGRyYXdUb0FkZHJlc3MiLCLguK3guYnguLLguIfguK3guLTguIfguJbguLbguIfguJfguLXguYjguK3guKLguLnguYjguIHguKPguLDguYDguJvguYvguLLguKrguJXguLLguIfguITguYwiKSwoMCx1LmRlZmF1bHQpKHMsImNhcmQiLCLguJrguLHguJXguKPguJjguJnguLLguITguLLguKMiKSwoMCx1LmRlZmF1bHQpKHMsImFkZENhcmQiLCLguYDguJ7guLTguYjguKHguJrguLHguJXguKPguJjguJnguLLguITguLLguKMiKSwoMCx1LmRlZmF1bHQpKHMsInBsc0FkZENhcmQiLCLguIHguKPguLjguJPguLLguYDguJ7guLTguYjguKHguJrguLHguJXguKPguJjguJnguLLguITguLLguKMiKSwoMCx1LmRlZmF1bHQpKHMsImN6U3RhdGVMb2FkaW5nIiwi4Lig4Liy4Lii4LmD4LiV4LmJ4LiB4Liy4Lij4LiX4Lia4LiX4Lin4LiZIiksKDAsdS5kZWZhdWx0KShzLCJjelN0YXRlT2siLCLguKPguLXguKfguLTguKfguJfguLXguYjguJvguKPguLDguKrguJrguITguKfguLLguKHguKrguLPguYDguKPguYfguIgiKSwoMCx1LmRlZmF1bHQpKHMsImN6U3RhdGVObyIsIuC4hOC4p+C4suC4oeC4peC5ieC4oeC5gOC4q+C4peC4p+C5g+C4meC4geC4suC4o+C4leC4o+C4p+C4iOC4quC4reC4miIpLHMpLGllbzp7c3Vic2NyaWJlOiLguKrguKHguLHguITguKPguKrguKHguLLguIrguLTguIEiLGluZzoi4LmA4LiI4Lij4Li04LiN4LiB4LmJ4Liy4Lin4Lir4LiZ4LmJ4LiyIixkb25lOiLguIjguJoiLGFwcGx5U3Vic2NyaXB0aW9uOiLguKrguKHguLHguITguKPguKrguKHguLLguIrguLTguIEiLHJlbWFpbmluZzoi4LmA4Lir4Lil4Li34Lit4Lit4Lii4Li54LmIIixsb2NrUGVyaW9kOiLguKfguIfguIjguKPguKXguYfguK3guIQiLGVuZFRpbWU6IuC5gOC4p+C4peC4suC4quC4tOC5ieC4meC4quC4uOC4lCIsc3Vic2NyaWJlQ3VycmVuY3k6IuC4quC4oeC4seC4hOC4o+C4quC4oeC4suC4iuC4tOC4geC4quC4geC4uOC4peC5gOC4h+C4tOC4mSIsaXNzdWFuY2VQcmljZToi4Lij4Liy4LiE4Liy4Lib4Lix4LiN4Lir4LiyIix0b3RhbElzc3VhbmNlOiLguJvguLHguI3guKvguLLguJfguLHguYnguIfguKvguKHguJQiLHdoaXRlUGFwZXI6IuC4geC4o+C4sOC4lOC4suC4qeC4quC4teC4guC4suC4pyIsc3Vic2NyaXB0aW9uQ3ljbGU6IuC4p+C4h+C4iOC4o+C4geC4suC4o+C4i+C4t+C5ieC4rSIsd2FybVVwOiLguK3guLjguYjguJnguYDguITguKPguLfguYjguK3guIciLHdlYnNpdGU6IuC5gOC4hOC4o+C4t+C4reC4guC5iOC4suC4ouC4reC4ouC5iOC4suC4h+C5gOC4m+C5h+C4meC4l+C4suC4h+C4geC4suC4oyIsZmluaXNoOiLguIjguJoiLHByb2plY3REZXRhaWxzOiLguKPguLLguKLguKXguLDguYDguK3guLXguKLguJTguYLguITguKPguIfguIHguLLguKMiLHN1YnNjcmlwdGlvbkNvbmZpcm1hdGlvbjoi4Lii4Li34LiZ4Lii4Lix4LiZ4LiB4Liy4Lij4Liq4Lih4Lix4LiE4Lij4Liq4Lih4Liy4LiK4Li04LiBIixwX2FwcGxpY2F0aW9uc051bWJlcjoi4Lij4Liw4Lia4Li44LiI4Liz4LiZ4Lin4LiZ4Liq4Lih4Liy4LiK4Li04LiBIixuZWVkVG9QYXk6IuC4leC5ieC4reC4h+C4iOC5iOC4suC4oiIsY3VycmVudEJhbGFuY2U6IuC4lOC4uOC4peC4m+C4seC4iOC4iOC4uOC4muC4seC4mSIsc3Vic2NyaXB0aW9uVGltZToi4LmA4Lin4Lil4Liy4LiL4Li34LmJ4LitIixjdXJyZW5jeToi4Liq4LiB4Li44Lil4LmA4LiH4Li04LiZIixhcHBsaWNhdGlvbnNOdW1iZXI6IuC4iOC4s+C4meC4p+C4meC5g+C4muC4quC4oeC4seC4hOC4oyIscGFzc2VzTnVtYmVyOiLguYLguJTguKLguIjguLPguJnguKfguJkiLHRpbWVUb01hcmtldDoi4LmA4Lin4Lil4Liy4Lij4Liy4Lii4LiB4Liy4LijIixkYXk6IuC4l+C5ieC4reC4h+C4n+C5ieC4siIsdG90YWw6IuC4iOC4s+C4meC4p+C4meC4o+C4p+C4oSIsc3Vic2NyaWJlZDoi4Liq4Lih4Lix4LiE4Lij4Liq4Lih4Liy4LiK4Li04LiBIixzaGVuZ291OiLguKrguKHguLHguITguKMiLGluc3VmZmljaWVudEJhbGFuY2U6IuC4guC4suC4lOC4quC4oeC4lOC4uOC4pSIscF9udW1iZXI6IuC5guC4m+C4o+C4lOC4o+C4sOC4muC4uOC4q+C4oeC4suC4ouC5gOC4peC4giIsbXlTdWJzY3JpYmU6IuC4quC4oeC4seC4hOC4o+C4quC4oeC4suC4iuC4tOC4geC4guC4reC4h+C4ieC4seC4mSJ9LGxvY2ttaW5nOntsb2NrbWluZzoi4LiB4Liy4Lij4LmA4LiH4Li04LiZIixmdW5kc1VuZGVyQ3VzdG9keToi4LiB4Lit4LiH4LiX4Li44LiZ4Lig4Liy4Lii4LmD4LiV4LmJ4LiB4Liy4Lij4LiU4Li54LmB4LilIixlbnRydXN0ZWRPcmRlcnM6IuC4hOC4s+C4quC4seC5iOC4h+C4oeC4reC4muC4q+C4oeC4suC4oiIsZXN0aW1hdGVkVG9kYXlJbmNvbWU6IuC4iOC4s+C4meC4p+C4meC4nOC4peC4leC4reC4muC5geC4l+C4meC5guC4lOC4ouC4m+C4o+C4sOC4oeC4suC4k+C4quC4s+C4q+C4o+C4seC4muC4p+C4seC4meC4meC4seC5ieC4mSIsY3VtdWxhdGl2ZUluY29tZToi4LiB4Liz4LmE4Lij4Liq4Liw4Liq4LihIixvcmRlcnNJbkN1c3RvZHk6IuC4hOC4s+C4quC4seC5iOC4h+C5g+C4meC4geC4suC4o+C4iOC4seC4lOC4geC4suC4oyIsbG9ja2VkUG9zaXRpb25zVG9FYXJuQ29pbnM6IuC4geC4suC4o+C4guC4uOC4lCIsbG9ja2VkUG9zaXRpb25zOiLguIHguKXguK3guJnguJvguKPguLDguJXguLkiLG1pbmltdW1TaW5nbGVUcmFuc2FjdGlvbjoi4Lib4Liy4LiB4LiB4Liy4LmA4LiU4Li14LmI4Lii4Lin4LiZ4LmJ4Lit4Lii4LiX4Li14LmI4Liq4Li44LiUIixkYWlseVlpZWxkOiLguK3guLHguJXguKPguLLguJzguKXguJXguK3guJrguYHguJfguJnguJXguYjguK3guKfguLHguJkiLGxvY2tVcFBlcmlvZDoi4Lin4LiH4LiI4Lij4Lil4LmH4Lit4LiEIixhY3F1aXNpdGlvbjoi4LmE4LiU4LmJ4Lij4Lix4LiaIixyZWNlbnREYXlzOiLguYDguKHguLfguYjguK3guYDguKPguYfguKfguYbguJnguLXguYkiLGRpdmlkZW5kVGltZToi4LmA4Lin4Lil4Liy4Lib4Lix4LiZ4Lic4LilIixlc2Nyb3dGdW5kczoi4LmA4LiH4Li04LiZ4LiB4Lit4LiH4LiX4Li44LiZIixyZWRlbXB0aW9uSW5BZHZhbmNlOiLguIHguLLguKPguYTguJbguYjguJbguK3guJnguKXguYjguKfguIfguKvguJnguYnguLIiLGVzdGltYXRlZEluY29tZToi4Lij4Liy4Lii4LmE4LiU4LmJ4LiX4Li14LmI4LiE4Liy4LiU4Lin4LmI4Liy4LiI4Liw4LmE4LiU4LmJ4Lij4Lix4LiaIixhdmFpbGFibGVBc3NldHM6IuC4quC4tOC4meC4l+C4o+C4seC4nuC4ouC5jOC4l+C4teC5iOC4oeC4teC4reC4ouC4ueC5iCIsaW52ZXN0bWVudEFtb3VudE9idGFpbmVkOiLguYTguJTguYnguKPguLHguJrguYDguIfguLTguJnguKXguIfguJfguLjguJkiLGFsbDoi4LiI4Liz4LiZ4Lin4LiZ4LiX4Lix4LmJ4LiH4Lir4Lih4LiUIixsX2FsZXJ0XzE6IuC4guC4uOC4lOC5hOC4oeC5iOC4q+C4ouC4uOC4lOC4q+C4oeC4uOC4mSIsbF9hbGVydF8yOiLguIHguLLguKPguILguLjguJTguYDguKvguKHguLfguK3guIfguJbguLHguIfguKXguYfguK3guITguITguLfguK3guKPguLLguKLguYTguJTguYnguIjguLLguIHguIHguLLguKPguILguLjguJTguYDguKvguKHguLfguK3guIfguYPguJnguYHguJ7guKXguJXguJ/guK3guKPguYzguKHguYLguJTguKLguYDguIrguLfguYjguK3guJbguLfguK0gVVNEVCDguYHguJ7guKXguJXguJ/guK3guKPguYzguKHguIvguLnguYDguJvguK3guKPguYzguITguK3guKHguJ7guLTguKfguYDguJXguK3guKPguYzguYDguITguKPguLfguYjguK3guIfguIjguLHguIHguKMiLGZlYXR1cmVzOiLguIjguLjguJTguYDguJTguYjguJnguILguK3guIfguJzguKXguLTguJXguKDguLHguJPguJHguYwiLG9uRGVtYW5kOiLguKrguLTguYjguIfguJfguLXguYjguYHguJnguJrguKHguLIiLGRpdmlkZW5kUGVyaW9kOiLguKfguIfguIjguKPguIHguLLguKPguIjguYjguLLguKLguYDguIfguLTguJnguJvguLHguJnguJzguKUiLGlzc3VlZERhaWx5OiLguKrguYjguIfguJfguLjguIHguKfguLHguJkiLGN1cnJlbnRJbnRlcmVzdDoi4LiU4Lit4LiB4LmA4Lia4Li14LmJ4Lii4Lib4Lix4LiI4LiI4Li44Lia4Lix4LiZIixmZWF0dXJlXzE6IuC4geC4suC4o+C4o+C4seC4geC4qeC4suC4hOC4p+C4suC4oeC4m+C4peC4reC4lOC4oOC4seC4ouC4guC4reC4h+C5gOC4h+C4tOC4meC4l+C4uOC4mSIsZmVhdHVyZV8yOiLguIHguLPguYTguKPguIjguLLguIHguKfguLHguJnguKvguKLguLjguJQiLGZlYXR1cmVfMzoi4Lir4Lil4Lix4LiH4LiI4Liy4LiB4Lid4Liy4LiB4LmA4LiH4Li04LiZ4LmA4Lij4Li14Lii4Lia4Lij4LmJ4Lit4Lii4LmB4Lil4LmJ4Lin4LmD4LiZ4Lin4Lix4LiZ4LiZ4Lix4LmJ4LiZIixmb3JJbnN0YW5jZToi4Lii4LiB4LiV4Lix4Lin4Lit4Lii4LmI4Liy4LiH4LmA4LiK4LmI4LiZIixpbmNvbWVDYWxjdWxhdGlvbjoi4LiB4Liy4Lij4LiE4Liz4LiZ4Lin4LiT4Lij4Liy4Lii4LmE4LiU4LmJIixmb3JJbnN0YW5jZURlc2M6IuC4quC4oeC4suC4iuC4tOC4geC5g+C4q+C5ieC4hOC4s+C4oeC4seC5iOC4meC4quC4seC4jeC4jeC4siAxMCwwMDBVIOC4muC4meC5geC4nuC4peC4leC4n+C4reC4o+C5jOC4oSDguJbguYnguLLguYDguILguLLguYDguKXguLfguK3guIHguJzguKXguLTguJXguKDguLHguJPguJHguYzguJfguLLguIfguIHguLLguKPguYDguIfguLTguJnguJfguLXguYjguKHguLXguKPguK3guJogNyDguKfguLHguJnguYHguKXguLDguJzguKXguJzguKXguLTguJXguKPguLLguKLguKfguLHguJkgMC4yNSUg4LiC4Lit4LiH4LiI4Liz4LiZ4Lin4LiZ4LmA4LiH4Li04LiZ4LiX4Li14LmI4LiI4Liz4LiZ4LizIOC4nOC4peC4nOC4peC4tOC4leC4o+C4suC4ouC4p+C4seC4meC4iOC4sOC5gOC4m+C5h+C4meC4lOC4seC4h+C4meC4teC5iTogPGJyLz4gMTAwMDAgKiAwLjI1JSA9IDI1IFVTRFQgPGJyLz7guKvguKXguLHguIfguIjguLLguIEgNyDguKfguLHguJkg4LiE4Li44LiT4LiI4Liw4LmE4LiU4LmJ4Lij4Lix4LiaIDI1ICogNyA9IDE3NSBVU0RUIOC4guC4reC4h+C4o+C4suC4ouC5hOC4lOC5iSDguKPguLLguKLguYTguJTguYnguK3guK3guIHguJfguLjguIHguKfguLHguJkg4LmB4Lil4Liw4Lij4Liy4Lii4LmE4LiU4LmJ4LiX4Li14LmI4Lit4Lit4LiB4Liq4Liy4Lih4Liy4Lij4LiW4Lid4Liy4LiB4LmB4Lil4Liw4LiW4Lit4LiZ4LmE4LiU4LmJ4LiV4Lil4Lit4LiU4LmA4Lin4Lil4LiyIOC4q+C4peC4seC4h+C4iOC4suC4geC4q+C4peC4seC4geC4m+C4o+C4sOC4geC4seC4meC4q+C4oeC4lOC4reC4suC4ouC4uCDguIjguLDguJbguLnguIHguYLguK3guJnguYLguJTguKLguK3guLHguJXguYLguJnguKHguLHguJXguLTguYTguJvguKLguLHguIfguILguK3guIfguITguLjguJMg4Lia4Lix4LiN4LiK4Li14LiX4Li44LiZLiIsYWJvdXRMaXF1aWRhdGVkRGFtYWdlczoi4LmA4LiB4Li14LmI4Lii4Lin4LiB4Lix4Lia4LiB4Liy4Lij4LiK4Liz4Lij4Liw4Lia4Lix4LiN4LiK4Li14LiE4Lin4Liy4Lih4LmA4Liq4Li14Lii4Lir4Liy4LiiIixhYm91dExpcXVpZGF0ZWREYW1hZ2VzQ29udGVudDoi4Lir4Liy4LiB4LiE4Li44LiT4LiV4LmJ4Lit4LiH4LiB4Liy4Lij4LmC4Lit4LiZ4LmA4LiH4Li04LiZ4LiV4LmJ4LiZ4LiX4Li14LmI4Lii4Lix4LiH4LmE4Lih4LmI4Lir4Lih4LiU4Lit4Liy4Lii4Li44Lit4Lit4LiBIOC4iOC4sOC4oeC4teC4hOC5iOC4suC4m+C4o+C4seC4miAyNSUg4LmA4LiK4LmI4LiZIDxici8+MTAwMDAqMjUlPTI1MDBVOyDguYDguIfguLTguJnguJfguLXguYjguYPguIrguYnguYTguJbguYjguJbguK3guJnguIjguLDguYDguJvguYfguJkgMTAwMDAtMjUwMD03NTAwVSIsam9pbk5vdzoi4LiJ4Lix4LiZ4LiI4Liw4LmA4LiC4LmJ4Liy4Lij4LmI4Lin4LihIixkYXk6IuC4l+C5ieC4reC4h+C4n+C5ieC4siIsZGFpbHk6IuC4l+C4uOC4geC4p+C4seC4mSIscmV0dXJuT25FeHBpcmF0aW9uOiLguIHguKXguLHguJrguYDguJnguLfguYjguK3guIfguIjguLLguIEiLGdldDoi4LmE4LiU4LmJ4Lij4Lix4LiaIixudW1iZXJPZkNvaW5zRGVwb3NpdGVkOiLguYDguIfguLTguJnguJ3guLLguIEiLHN1YnNjcmliZToi4Liq4Lih4Lix4LiE4Lij4Liq4Lih4Liy4LiK4Li04LiBIixpbnN1ZmZpY2llbnRCYWxhbmNlOiLguILguLLguJTguKrguKHguJTguLjguKUiLHBfbnVtYmVyOiLguYLguJvguKPguJTguKPguLDguJrguLjguKvguKHguLLguKLguYDguKXguIIiLGxlYXN0U2luZ2xlOiLguJvguLLguIHguIHguLLguYDguJTguLXguYjguKLguKfguJnguYnguK3guKLguJfguLXguYjguKrguLjguJQiLGxvY2tlZFBvc2l0aW9uTGlzdDoi4Lij4Liy4Lii4LiK4Li34LmI4Lit4LiE4Lil4Lix4LiH4Liq4Li04LiZ4LiE4LmJ4Liy4Lil4LmH4Lit4LiEIixpblByb2dyZXNzOiLguYDguIjguKPguLTguI3guIHguYnguLLguKfguKvguJnguYnguLIiLHJlZGVlbWVkOiLguYTguJbguYjguJbguK3guJkiLGV4cGlyeVRpbWU6IuC5gOC4p+C4peC4suC4q+C4oeC4lOC4reC4suC4ouC4uCIsbG9ja1VwVGltZToi4LmA4Lin4Lil4Liy4Lil4LmH4Lit4LiEIixzdGFydFRpbWU6IuC5gOC4p+C4peC4suC5gOC4o+C4tOC5iOC4oeC4leC5ieC4mSIsZWFybHlSZWRlbXB0aW9uUGVuYWx0eToi4LiB4Liy4Lij4LmE4LiW4LmI4LiW4Lit4LiZ4Lil4LmI4Lin4LiH4Lir4LiZ4LmJ4LiyIixyZWRlbXB0aW9uOiLguYTguJbguYjguJbguK3guJkiLGNfcmVkZW1wdGlvbjoi4LiE4Li44LiT4LmB4LiZ4LmI4LmD4LiI4Lir4Lij4Li34Lit4Lin4LmI4Liy4LiE4Li44LiT4LiI4Liw4LmE4LiU4LmJ4Lij4Lix4Lia4LiB4Liy4Lij4LmE4LiW4LmI4LiW4Lit4LiZ4Lil4LmI4Lin4LiH4Lir4LiZ4LmJ4LiyIn0saW52ZXN0OntpbnZlc3Q6IuC4hOC4p+C4suC4oeC4oeC4seC5iOC4h+C4hOC4seC5iOC4hyIsc2VjdGlvbjoi4LmA4LiC4LiVIixwZXJQcmljZToi4Lij4Liy4LiE4Liy4LmA4LiU4Li14Lii4LinIixhcHI6IuC4reC4seC4leC4o+C4suC4nOC4peC4leC4reC4muC5geC4l+C4meC4o+C4suC4ouC4m+C4tSIsbGlua2VkUmVmZXJlbmNlUHJpY2U6IuC4o+C4suC4hOC4suC4reC5ieC4suC4h+C4reC4tOC4hyIsaG9sZGluZ0RheXM6IuC4o+C4sOC4ouC4sOC5gOC4p+C4peC4suC4guC4reC4h+C4leC4s+C5geC4q+C4meC5iOC4hyIsbWF0dXJpdHlEYXRlOiLguKfguLHguJnguKvguKHguJTguK3guLLguKLguLgiLHJlbWFpbmluZ1NoYXJlczoi4Liq4LmI4Lin4LiZ4LmA4LiB4Li04LiZIixwcm9ncmVzczoi4LiE4Lin4Liy4Lih4LiE4Li34Lia4Lir4LiZ4LmJ4Liy4LmD4LiZ4Lib4Lix4LiI4LiI4Li44Lia4Lix4LiZIixhY3Rpb246IuC4geC4suC4o+C4lOC4s+C5gOC4meC4tOC4meC4geC4suC4oyIscHVyY2hhc2U6IuC4i+C4t+C5ieC4rSIsbXlQb3NpdGlvbjoi4LiB4Liy4Lij4LmA4LiH4Li04LiZ4LiC4Lit4LiH4LiJ4Lix4LiZIixidXlTaGFyZXM6IuC4i+C4t+C5ieC4reC4q+C4uOC5ieC4mSIsZXN0aW1hdGVkSW5jb21lOiLguKPguLLguKLguYTguJTguYnguJfguLXguYjguITguLLguJTguKfguYjguLLguIjguLDguYTguJTguYnguKPguLHguJoiLGRheToi4LiX4LmJ4Lit4LiH4Lif4LmJ4LiyIixzaGFyZToi4Liq4LmI4Lin4LiZ4LmB4Lia4LmI4LiHIixmYWlsOiLguYDguKrguLXguKLguYDguKvguKXguLXguYjguKLguKEiLHB1cmNoYXNlZDoi4LiL4Li34LmJ4LitIixzZXR0bGVtZW50aW5nOiLguYHguIjguYnguIfguIrguLHguJQiLHN1Y2Nlc3M6IuC5gOC4quC4o+C5h+C4iOC4quC4tOC5ieC4mSIsYWxsOiLguIjguLPguJnguKfguJnguJfguLHguYnguIfguKvguKHguJQiLG5hbWU6IuC4meC4suC4oSIscmVtYWluOiLguYDguKvguKXguLfguK3guK3guKLguLnguYgiLGluc3RydWN0aW9uOiLguKPguLLguKLguKXguLDguYDguK3guLXguKLguJTguJzguKXguLTguJXguKDguLHguJPguJHguYwiLGhlbHA6IuC4iuC5iOC4p+C4ouC5gOC4q+C4peC4t+C4reC5gOC4iOC4t+C4reC4iOC4suC4mSIsc2h1b21pbmdfMToi4Lic4Lil4Li04LiV4Lig4Lix4LiT4LiR4LmM4LiZ4Li14LmJ4LmA4Lib4LmH4LiZ4Lic4Lil4Li04LiV4Lig4Lix4LiT4LiR4LmM4LiX4Liy4LiH4LiB4Liy4Lij4LmA4LiH4Li04LiZ4LiX4Li14LmI4LmE4Lih4LmI4Lij4Lix4Lia4Lib4Lij4Liw4LiB4Lix4LiZ4LiE4Lin4Liy4Lih4Lic4Lix4LiZ4Lic4Lin4LiZ4LiC4Lit4LiH4LiV4Lil4Liy4LiU4Lit4Liy4LiI4Liq4LmI4LiH4Lic4Lil4LmD4LiZ4LiB4Liy4Lij4Liq4Li54LiN4LmA4Liq4Li14Lii4LmA4LiH4Li04LiZ4LiV4LmJ4LiZ4LmC4Lib4Lij4LiU4Lil4LiH4LiX4Li44LiZ4Lit4Lii4LmI4Liy4LiH4Lij4Liw4Lih4Lix4LiU4Lij4Liw4Lin4Lix4LiHIixzaHVvbWluZ18yOiLguIHguI7guKrguLPguKvguKPguLHguJrguIHguLLguKPguIrguLPguKPguLDguYDguIfguLTguJnguKrguLPguKPguK3guIciLHNodW9taW5nXzU6IuC4reC4seC4leC4o+C4suC4nOC4peC4leC4reC4muC5geC4l+C4meC4l+C4teC5iOC5gOC4geC4tOC4lOC4guC4tuC5ieC4meC4iOC4o+C4tOC4h+C4iOC4sOC5geC4leC4geC4leC5iOC4suC4h+C4geC4seC4meC4geC4seC4muC5gOC4p+C4peC4suC4iOC4o+C4tOC4h+C4guC4reC4h+C4leC4peC4suC4lCIsc2h1b21pbmdfNjoi4LmA4LiH4Li04LiZ4Liq4Liz4Lij4Lit4LiH4LiB4Liy4Lij4Lil4LiH4LiX4Li44LiZ4LiI4Liw4LiW4Li54LiB4LiE4Liz4LiZ4Lin4LiT4LmD4LiZ4LmA4Lin4Lil4Liy4LiI4Lij4Li04LiH4LiB4Lix4Lia4LiV4Lil4Liy4LiU4LiB4Lij4Li44LiT4Liy4LiL4Li34LmJ4Lit4LiY4Li44Lij4LiB4Lij4Lij4Lih4LiX4Li14LmI4LmA4LiB4Li04LiU4LiC4Li24LmJ4LiZ4LiI4Lij4Li04LiH4LiI4Liw4LmA4Lir4LiZ4Li34Lit4LiB4Lin4LmI4LiyIixzaHVvbWluZ183OiLguKvguYnguLLguJzguKXguLTguJXguKDguLHguJPguJHguYzguYDguIfguLTguJnguJ3guLLguIHguK3guK3guKHguJfguKPguLHguJ7guKLguYzguKrguLLguKHguLLguKPguJbguJTguLnguYTguJTguYnguYPguJnguKvguJnguYnguLLguYDguIfguLTguJnguKrguJTguILguK3guIfguInguLHguJnguKvguKXguLHguIfguIjguLLguIHguIvguLfguYnguK3guKrguLTguJnguITguYnguLLguYDguIfguLTguJnguIjguLDguJbguLnguIHguKrguYjguIfguIHguKXguLHguJrguYTguJvguKLguLHguIfguJrguLHguI3guIrguLXguIjguLjguJTguYDguKHguLfguYjguK3guITguKPguJrguIHguLPguKvguJnguJQiLGVycm9yXzE6IuC4geC4o+C4uOC4k+C4suC4o+C4sOC4muC4uOC4m+C4o+C4tOC4oeC4suC4k+C4geC4suC4o+C4i+C4t+C5ieC4rSIsZXJyb3JfMjoi4LiI4Liz4LiZ4Lin4LiZ4LiB4Liy4Lij4LiL4Li34LmJ4Lit4LiE4Lin4Lij4LmA4Lib4LmH4LiZ4LiI4Liz4LiZ4Lin4LiZ4LmA4LiV4LmH4LihIixjb25maXJtUHVyY2hhc2U6IuC4hOC4uOC4k+C5geC4meC5iOC5g+C4iOC4q+C4o+C4t+C4reC4p+C5iOC4suC4leC5ieC4reC4h+C4geC4suC4o+C4i+C4t+C5ieC4reC4nOC4peC4tOC4leC4oOC4seC4k+C4keC5jOC4l+C4suC4h+C4geC4suC4o+C5gOC4h+C4tOC4meC4meC4teC5iSIscHVyY2hhc2VTdWNjZXNzOiLguIvguLfguYnguK3guKrguLPguYDguKPguYfguIgifSxmb2xsb3c6KGM9e2ZvbGxvdzoi4LmD4Lia4Lib4Lil4Li04Lin4LmC4LiG4Lip4LiT4LiyIix0cmFkZXJMaXN0OiLguKPguLLguKLguIrguLfguYjguK3guJzguLnguYnguITguYnguLIiLHRvdGFsUHJvZml0OiLguIHguLPguYTguKPguYHguKXguLDguILguLLguJTguJfguLjguJkiLGNvcnJlY3RSYXRlOiLguITguKfguLLguKHguJbguLnguIHguJXguYnguK3guIfguJfguLHguYnguIfguKvguKHguJQiLHBvc2l0aW9uVmFsdWF0aW9uOiLguKHguLnguKXguITguYjguLLguJXguLPguYHguKvguJnguYjguIciLGVzdGltYXRlZFByb2ZpdFRvZGF5OiLguKfguLHguJnguJnguLXguYnguITguLLguJTguKfguYjguLLguKPguLLguKLguYTguJTguYkiLHJhdGVPZlJldHVybjoi4Lic4Lil4Lic4Lil4Li04LiVIixiZWNvbWVBVHJhZGVyOiLguKfguLLguJPguLTguIrguKLguYwifSwoMCx1LmRlZmF1bHQpKGMsInRyYWRlckxpc3QiLCLguKPguLLguKLguIrguLfguYjguK3guJzguLnguYnguITguYnguLIiKSwoMCx1LmRlZmF1bHQpKGMsIm9ubHlTaG93c1RoZVBvc2l0aW9uIiwi4LmB4Liq4LiU4LiH4LmA4LiJ4Lie4Liy4Liw4LiV4Liz4LmB4Lir4LiZ4LmI4LiHIiksKDAsdS5kZWZhdWx0KShjLCJ0aGVEYXRhSXNVcGRhdGVkRXZlcnlIb3VyIiwi4LiC4LmJ4Lit4Lih4Li54Lil4LiB4Liy4Lij4Lib4Lij4Lix4Lia4Lib4Lij4Li44LiH4LiX4Li44LiB4LiK4Lix4LmI4Lin4LmC4Lih4LiHIiksKDAsdS5kZWZhdWx0KShjLCJmb2xsb3dpbmciLCLguKPguLLguKLguIHguLLguKPguKrguLTguJnguITguYnguLIiKSwoMCx1LmRlZmF1bHQpKGMsImZvbGxvdyIsIuC5g+C4muC4m+C4peC4tOC4p+C5guC4huC4qeC4k+C4siIpLCgwLHUuZGVmYXVsdCkoYywiY29uZmlybUZvbGxvdyIsIuC4hOC4uOC4k+C5geC4meC5iOC5g+C4iOC4meC4sOC4p+C5iOC4suC4leC4tOC4lOC4leC4suC4oSIpLCgwLHUuZGVmYXVsdCkoYywiY29uZmlybUNhbmNlbCIsIuC5geC4meC5iOC5g+C4iOC4meC4sOC4p+C5iOC4suC4iOC4sOC4ouC4geC5gOC4peC4tOC4geC4geC4suC4o+C4leC4tOC4lOC4leC4suC4oSIpLCgwLHUuZGVmYXVsdCkoYywiZm9sbG93VHJhZGVyIiwi4LiV4Li04LiU4LiV4Liy4Lih4Lic4Li54LmJ4LiE4LmJ4LiyIiksKDAsdS5kZWZhdWx0KShjLCJlZGl0Q29weSIsIuC5geC4geC5ieC5hOC4guC4leC4suC4oSIpLCgwLHUuZGVmYXVsdCkoYywiYmVmb3JlQ29weSIsIuC5guC4m+C4o+C4lOC4reC5iOC4suC4meC4reC4ouC5iOC4suC4h+C4o+C4sOC4oeC4seC4lOC4o+C4sOC4p+C4seC4h+C4geC5iOC4reC4meC4l+C4teC5iOC4iOC4sOC5gOC4peC4t+C4reC4geC4l+C4teC5iOC4iOC4sOC4m+C4j+C4tOC4muC4seC4leC4tOC4leC4suC4oSIpLCgwLHUuZGVmYXVsdCkoYywiY29weUFncmVlbWVudCIsIuC4leC4suC4oeC4guC5ieC4reC4leC4geC4peC4hyIpLCgwLHUuZGVmYXVsdCkoYywiY29weVR5cGUiLCLguJXguLTguJTguJXguLLguKEiKSwoMCx1LmRlZmF1bHQpKGMsImNvcHlUeXBlMSIsIuC4leC5iOC4reC5hOC4m+C4meC4teC5ieC4hOC4h+C4l+C4teC5iCIpLCgwLHUuZGVmYXVsdCkoYywiY29weVR5cGUyIiwi4LmB4LiB4LmJ4LmE4LiC4Lir4Lih4Liy4Lii4LmA4Lil4LiC4Lih4Li34Lit4LiV4Liy4LihIiksKDAsdS5kZWZhdWx0KShjLCJjb3B5QWxlcnQxIiwi4LmE4Lih4LmI4Lin4LmI4Liy4LmA4LiX4LmI4Liy4LmD4LiU4Lic4Li54LmJ4LiE4LmJ4Liy4Liq4Lix4LmI4LiH4LiL4Li34LmJ4Lit4LiE4Li44LiT4LiI4Liw4Lib4LiP4Li04Lia4Lix4LiV4Li04LiV4Liy4Lih4LmD4LiZ4LiB4Liy4Lij4LmB4LiB4LmJ4LmE4LiC4Lir4Lil4Liy4Lii4LmG4LiE4Lij4Lix4LmJ4LiH4LiX4Li14LmI4LiE4Li44LiT4LmA4Lil4Li34Lit4LiBIiksKDAsdS5kZWZhdWx0KShjLCJjb3B5QWxlcnQyIiwi4LmA4Lih4Li34LmI4Lit4Lih4Li34Lit4LmA4Lib4LmH4LiZ4Liq4Lix4LiU4Liq4LmI4Lin4LiZ4LmB4Lil4Liw4LmE4Lih4LmI4LmE4LiU4LmJ4LmA4Lib4LmH4LiZ4LiI4Liz4LiZ4Lin4LiZ4LmA4LiV4LmH4Lih4Liq4Lit4LiH4LiX4Lio4LiZ4Li04Lii4Lih4LiI4Liw4LiW4Li54LiB4LmA4LiB4LmH4Lia4LmE4Lin4LmJIiksKDAsdS5kZWZhdWx0KShjLCJjb3B5TXVsdGlwbGUiLCLguJXguLTguJTguJXguLLguKHguKvguKXguLLguKIiKSwoMCx1LmRlZmF1bHQpKGMsImNhbmNlbENvcHkiLCLguKLguIHguYDguKXguLTguIHguIHguLLguKPguJXguLTguJTguJXguLLguKEiKSwoMCx1LmRlZmF1bHQpKGMsImN1cnJlbnRGb2xsb3dlck51bWJlciIsIuC4iOC4s+C4meC4p+C4meC4nOC4ueC5ieC4leC4tOC4lOC4leC4suC4oeC5g+C4meC4m+C4seC4iOC4iOC4uOC4muC4seC4mSIpLCgwLHUuZGVmYXVsdCkoYywidG90YWxQcm9maXRBbmRMb3NzIiwi4LiB4Liz4LmE4Lij4LmB4Lil4Liw4LiC4Liy4LiU4LiX4Li44LiZIiksKDAsdS5kZWZhdWx0KShjLCJ0b3RhbFJldHVybiIsIuC4reC4seC4leC4o+C4suC4nOC4peC4leC4reC4muC5geC4l+C4meC4l+C4seC5ieC4h+C4q+C4oeC4lCIpLCgwLHUuZGVmYXVsdCkoYywiYWNjdXJhY3kiLCLguITguKfguLLguKHguJbguLnguIHguJXguYnguK3guIciKSwoMCx1LmRlZmF1bHQpKGMsInByb2ZpdGFibGVPcmRlcnMiLCLguITguLPguKrguLHguYjguIfguIHguLPguYTguKMiKSwoMCx1LmRlZmF1bHQpKGMsInN1Y2Nlc3NmdWxTaG9ydFRyYWRlcyIsIuC4guC4suC4ouC4quC4seC5ieC4meC5gOC4o+C4teC4ouC4muC4o+C5ieC4reC4ouC5geC4peC5ieC4pyIpLCgwLHUuZGVmYXVsdCkoYywic3VjY2Vzc2Z1bExvbmdUcmFkZXMiLCLguJvguKPguLDguKrguJrguITguKfguLLguKHguKrguLPguYDguKPguYfguIjguYPguJnguIHguLLguKPguITguYnguLLguKvguKXguLLguKIiKSwoMCx1LmRlZmF1bHQpKGMsInllc3RlcmRheXNUcmFkaW5nU3RhdHVzIiwi4Liq4LiW4Liy4LiZ4LiB4Liy4Lij4LiT4LmM4LiB4Liy4Lij4LiL4Li34LmJ4Lit4LiC4Liy4Lii4LmA4Lih4Li34LmI4Lit4Lin4Liy4LiZ4LiZ4Li14LmJIiksKDAsdS5kZWZhdWx0KShjLCJjdXJyZW50UG9zaXRpb25zIiwi4LiV4Liz4LmB4Lir4LiZ4LmI4LiH4Lib4Lix4LiI4LiI4Li44Lia4Lix4LiZIiksKDAsdS5kZWZhdWx0KShjLCJ0b3RhbE9yZGVycyIsIuC4quC4seC5iOC4h+C4i+C4t+C5ieC4reC4l+C4seC5ieC4h+C4q+C4oeC4lCIpLCgwLHUuZGVmYXVsdCkoYywicmVtYWluIiwi4LmA4Lir4Lil4Li34Lit4Lit4Lii4Li54LmIIiksKDAsdS5kZWZhdWx0KShjLCJkaXN0YW5jZUR1ZSIsIuC4o+C4sOC4ouC4sOC4l+C4suC4h+C4q+C4oeC4lOC4reC4suC4ouC4uCIpLCgwLHUuZGVmYXVsdCkoYywiZGF5cyIsIuC4l+C5ieC4reC4h+C4n+C5ieC4siIpLCgwLHUuZGVmYXVsdCkoYywiZGVhZGxpbmUiLCLguIHguLPguKvguJnguJTguYDguKfguKXguLIiKSwoMCx1LmRlZmF1bHQpKGMsInN1YnNjcmlwdGlvbiIsIuC4quC4oeC4seC4hOC4oyIpLCgwLHUuZGVmYXVsdCkoYywiZm9sbG93VXNlcnMiLCLguJXguLTguJTguJXguLLguKHguJzguLnguYnguYPguIrguYkiKSwoMCx1LmRlZmF1bHQpKGMsImZvbGxvd0Ftb3VudCIsIuC4leC4suC4oeC4iOC4s+C4meC4p+C4mSIpLCgwLHUuZGVmYXVsdCkoYywiZm9sbG93RWFybmluZ3MiLCLguJXguLLguKHguKPguLLguKLguYTguJTguYkiKSwoMCx1LmRlZmF1bHQpKGMsImNhbmNlbEZvbGxvdyIsIuC4ouC4geC5gOC4peC4tOC4geC4geC4suC4o+C4leC4tOC4lOC4leC4suC4oSIpLCgwLHUuZGVmYXVsdCkoYywiY3VycmVudENvcHkiLCLguYDguK3guIHguKrguLLguKPguJvguLHguIjguIjguLjguJrguLHguJkiKSwoMCx1LmRlZmF1bHQpKGMsImhpc3RvcmljYWxDb3B5Iiwi4Lib4Lij4Liw4Lin4Lix4LiV4Li04LiY4Li44Lij4LiB4Lij4Lij4LihIiksKDAsdS5kZWZhdWx0KShjLCJteVRyYWRlciIsIuC4nOC4ueC5ieC4hOC5ieC4suC4guC4reC4h+C4ieC4seC4mSIpLCgwLHUuZGVmYXVsdCkoYywidHJhZGluZ1BhaXIiLCLguITguLnguYjguITguYnguLIiKSwoMCx1LmRlZmF1bHQpKGMsIm9wZW4iLCLguKPguLLguITguLLguYDguJvguLTguJQiKSwoMCx1LmRlZmF1bHQpKGMsImNsb3NlIiwi4Lij4Liy4LiE4Liy4Lib4Li04LiUIiksKDAsdS5kZWZhdWx0KShjLCJlYXJuaW5ncyIsIuC4nOC4peC4m+C4o+C4sOC5guC4ouC4iuC4meC5jCIpLCgwLHUuZGVmYXVsdCkoYywibG90cyIsIuC4iOC4s+C4meC4p+C4meC4oeC4t+C4rSIpLCgwLHUuZGVmYXVsdCkoYywidGltZSIsIuC5gOC4p+C4peC4suC4i+C4t+C5ieC4reC4guC4suC4oiIpLCgwLHUuZGVmYXVsdCkoYywiYnV5SW4iLCLguIvguLfguYnguK0iKSwoMCx1LmRlZmF1bHQpKGMsImJ1eU91dCIsIuC4guC4suC4oiIpLCgwLHUuZGVmYXVsdCkoYywiZGlyZWN0aW9uIiwi4Lih4Li44LmI4LiH4Lir4LiZ4LmJ4Liy4LmE4LibIiksYyksZmluYW5jaWFsOntwcm9kdWN0OiLguJzguKXguLTguJXguKDguLHguJPguJHguYwiLHBvc2l0aW9uOiLguIHguLLguKPguITguKfguJrguITguLjguKHguJXguLHguKciLGZpbmFuY2lhbDoi4Lid4Lix4LmI4LiH4LiZ4LmJ4LizIixsb2NrbWluZzoi4LiB4Liy4Lij4LmA4LiH4Li04LiZIixpZW86IklFTyIsaW52ZXN0OiLguIHguLLguKPguYDguIfguLTguJnguIHguLLguKPguKXguIfguJfguLjguJkiLHNlY3Rpb246IuC5gOC4guC4lSIsYXByOiLguK3guLHguJXguKPguLLguJzguKXguJXguK3guJrguYHguJfguJnguKPguLLguKLguJvguLUiLGxpbmtlZFJlZmVyZW5jZVByaWNlOiLguKPguLLguITguLLguK3guYnguLLguIfguK3guLTguIciLGhvbGRpbmdEYXlzOiLguKPguLDguKLguLDguYDguKfguKXguLLguILguK3guIfguJXguLPguYHguKvguJnguYjguIciLGRheToi4LiX4LmJ4Lit4LiH4Lif4LmJ4LiyIixsb2NrUGVyaW9kOiLguKfguIfguIjguKPguKXguYfguK3guIQiLGluZzoi4LmA4LiI4Lij4Li04LiN4LiB4LmJ4Liy4Lin4Lir4LiZ4LmJ4LiyIixkb25lOiLguIjguJoiLGFwcGx5U3Vic2NyaXB0aW9uOiLguKrguKHguLHguITguKPguKrguKHguLLguIrguLTguIEiLHJlbWFpbmluZzoi4LmA4Lir4Lil4Li34Lit4Lit4Lii4Li54LmIIix0b3RhbDoi4LiI4Liz4LiZ4Lin4LiZ4Lij4Lin4LihIixzdWJzY3JpYmVkOiLguKrguKHguLHguITguKPguKrguKHguLLguIrguLTguIEiLG1pbmluZzoi4LiB4Liy4Lij4LiC4Li44LiUIixtaW5pbXVtOiLguIHguLLguKPguYDguKPguLTguYjguKHguJXguYnguJkiLGRhaWx5UmV0dXJuUmF0ZToi4Lit4Lix4LiV4Lij4Liy4Lic4Lil4LiV4Lit4Lia4LmB4LiX4LiZ4LiV4LmI4Lit4Lin4Lix4LiZIn0sbmZ0OihsPXtuZnQ6Ik5GVCIsYXJ0d29yazoi4LiH4Liy4LiZ4Lio4Li04Lil4Lib4LiwIixhcnRpc3Q6IuC4qOC4tOC4peC4m+C4tOC4mSIsYXJ0d29ya0xpc3Q6IuC4o+C4suC4ouC4iuC4t+C5iOC4reC4qOC4tOC4peC4m+C4sCIsYXJ0aXN0TGlzdDoi4Lij4Liy4Lii4LiK4Li34LmI4Lit4Lio4Li04Lil4Lib4Li04LiZIixjb21wcmVoZW5zaXZlU29ydGluZzoi4LiB4Liy4Lij4Liq4Lix4LiH4LmA4LiE4Lij4Liy4Liw4Lir4LmM4LiB4Liy4Lij4LmA4Lij4Li14Lii4LiH4Lil4Liz4LiU4Lix4LiaIixuZXdlc3Q6IuC5g+C4q+C4oeC5iOC4peC5iOC4suC4quC4uOC4lCIsaG90ZXN0OiLguKPguYnguK3guJnguYHguKPguIfguJfguLXguYjguKrguLjguJQiLG1vc3RXb3Jrczoi4LiX4Liz4LiH4Liy4LiZ4Lih4Liy4LiB4LiX4Li14LmI4Liq4Li44LiUIixtb3N0UG9wdWxhcjoi4Liq4LmI4Lin4LiZ4LmD4Lir4LiN4LmIIixyZWNvcmQ6IuC4muC4seC4meC4l+C4tuC4geC4geC4suC4o+C4i+C4t+C5ieC4rSIscmVjb21tZW5kQXJ0aXN0OiLguYHguJnguLDguJnguLPguKjguLTguKXguJvguLTguJkiLGJ1eToi4LiL4Li34LmJ4LitIixhcnRpc3RIb21lcGFnZToi4Lir4LiZ4LmJ4Liy4Lir4Lil4Lix4LiB4Lio4Li04Lil4Lib4Li04LiZIix3b3Jrczoi4LmA4Lin4Li04Lij4LmM4LiEIixzYWxlZDoi4LiC4Liy4LiiIixmYW5zOiLguYHguJ/guJkiLGFsbFdvcmtzOiLguJzguKXguIfguLLguJnguJfguLHguYnguIfguKvguKHguJQiLG5vdFNlbGw6IuC5gOC4m+C5h+C4meC4q+C4oeC4seC4mSIsbXlDb2xsZWN0OiLguILguK3guIfguKrguLDguKrguKHguILguK3guIfguInguLHguJkiLGNvbGxlY3Q6IuC4guC4reC4h+C4quC4sOC4quC4oSIsb3duOiLguIHguLLguKPguITguKfguJrguITguLjguKHguJXguLHguKciLHBsYWNlQUJpZDoi4LiB4Liy4Lij4Lib4Lij4Liw4Lih4Li54LilIixwdXJjaGFzZToi4LiL4Li34LmJ4LitIixvcGVuOiLguYLguJ7guKrguJXguYzguYDguJvguLTguJQiLGltYWdlOiLguKPguLnguJvguKDguLLguJ4iLGdpZjoi4LiB4Lij4Liy4Lif4LiB4Liy4Lij4LmA4LiE4Lil4Li34LmI4Lit4LiZ4LmE4Lir4LinIixhdWRpbzoi4Lit4Lit4LiU4Li04LmC4LitIix2aWRlbzoi4Lin4Li14LiU4Li14LmC4LitIixjcmVhdG9yOiLguJvguKPguLDguJ7guLHguJnguJjguYwiLGN1cnJlbnRCaWQ6IuC4guC5ieC4reC5gOC4quC4meC4reC4peC5iOC4suC4quC4uOC4lCIscHJpY2U6IuC4o+C4suC4hOC4siIsZDoi4LiX4LmJ4Lit4LiH4Lif4LmJ4LiyIixoOiLguIHguLLguKXguLAiLG06IuC4muC4l+C4muC4suC4lyIsczoi4Lin4Li04LiZ4Liy4LiX4Li1In0sKDAsdS5kZWZhdWx0KShsLCJzYWxlZCIsIuC4iOC4miIpLCgwLHUuZGVmYXVsdCkobCwicGxhY2VfYWxlcnQiLCLguKrguLTguJnguITguYnguLLguJfguLXguYjguKLguLHguIfguYTguKHguYjguYTguJTguYnguILguLLguKLguKvguKPguLfguK3guKrguLTguYnguJnguKrguLjguJQiKSwoMCx1LmRlZmF1bHQpKGwsImNyZWF0ZWRCeSIsIuC4m+C4o+C4sOC4nuC4seC4meC4mOC5jCIpLCgwLHUuZGVmYXVsdCkobCwicGxhY2VfYWxlcnQyIiwi4LiB4Liy4Lij4LmA4Liq4LiZ4Lit4Lij4Liy4LiE4Liy4LiC4Lit4LiH4LiE4Li44LiT4LiI4Liw4LiV4LmJ4Lit4LiH4Liq4Li54LiH4LiB4Lin4LmI4LiyIiksKDAsdS5kZWZhdWx0KShsLCJub3RlIiwi4Liq4Liz4LiE4Lix4LiN4Lih4Liy4LiBIiksKDAsdS5kZWZhdWx0KShsLCJDVVJSRU5UX0JJRCIsIuC4guC5ieC4reC5gOC4quC4meC4reC4peC5iOC4suC4quC4uOC4lCIpLCgwLHUuZGVmYXVsdCkobCwicGxhY2VfYWxlcnQzIiwi4LmA4LiC4LmJ4Liy4Lij4LmI4Lin4Lih4LiB4Liy4Lij4Lib4Lij4Liw4Lih4Li54Lil4LiX4Li14LmI4LiE4Li44LiT4LiV4LmJ4Lit4LiH4LiI4LmI4Liy4LiiIiksKDAsdS5kZWZhdWx0KShsLCJwbGFjZV9hbGVydDQiLCLguYDguIfguLTguJnguJ3guLLguIHguYHguKXguLDguYDguIfguLTguJnguJ3guLLguIHguIjguLDguJbguLnguIHguKrguYjguIfguIHguKXguLHguJrguYTguJvguKLguLHguIfguJrguLHguI3guIrguLXguILguK3guIfguITguLjguJPguYPguJnguJXguK3guJnguJfguYnguLLguKLguILguK3guIfguIHguLLguKPguJvguKPguLDguKHguLnguKUiKSwoMCx1LmRlZmF1bHQpKGwsInBsYWNlX2FsZXJ0NiIsIuC4q+C4peC4seC4h+C4iOC4suC4geC5gOC4quC5ieC4meC4leC4suC4ouC4geC4suC4o+C4m+C4o+C4sOC4oeC4ueC4pSDguKvguLLguIHguIHguLLguKPguJvguKPguLDguKHguLnguKXguILguK3guIfguITguLjguJPguKrguLPguYDguKPguYfguIgg4LiE4Li44LiT4LiI4Liw4Lih4Li14LmA4Lin4Lil4Liy4Lir4LiZ4Li24LmI4LiH4Lin4Lix4LiZ4LmD4LiZ4LiB4Liy4Lij4LiK4Liz4Lij4Liw4Lij4Liy4LiE4Liy4Liq4Li44LiU4LiX4LmJ4Liy4LiiIOC4q+C4suC4geC4geC4suC4o+C4iuC4s+C4o+C4sOC5gOC4h+C4tOC4meC5gOC4geC4tOC4meC4geC4s+C4q+C4meC4lCDguYDguIfguLTguJnguJvguKPguLDguIHguLHguJnguILguK3guIfguITguLjguJPguIjguLDguJbguLnguIHguKvguLHguIHguK3guK3guIEiKSwoMCx1LmRlZmF1bHQpKGwsImNvbmZpcm1CaWQiLCLguKLguLfguJnguKLguLHguJnguIHguLLguKPguYDguKrguJnguK3guKPguLLguITguLIiKSwoMCx1LmRlZmF1bHQpKGwsIkRFU0NSSVBUSU9OIiwi4Lit4LiY4Li04Lia4Liy4LiiIiksKDAsdS5kZWZhdWx0KShsLCJBRERSRVNTIiwi4LiI4LmI4Liy4Lir4LiZ4LmJ4Liy4LiL4Lit4LiHIiksKDAsdS5kZWZhdWx0KShsLCJjb3B5Iiwi4LiX4Liz4Liq4Liz4LmA4LiZ4LiyIiksKDAsdS5kZWZhdWx0KShsLCJwZXJfaW5jcmVhc2UiLCLguKPguLLguITguLLguJXguYjguK3guITguKPguLHguYnguIciKSwoMCx1LmRlZmF1bHQpKGwsImN1cnJlbmN5X3R5cGUiLCLguJvguKPguLDguYDguKDguJfguILguK3guIfguYDguIfguLTguJkiKSwoMCx1LmRlZmF1bHQpKGwsInBheV90eXBlIiwi4LmC4Lir4Lih4LiU4LiB4Liy4Lij4LiL4Li34LmJ4LitIiksKDAsdS5kZWZhdWx0KShsLCJwYXlfdHlwZV8yIiwi4Lin4Li04LiY4Li14LiB4Liy4Lij4LiC4Liy4LiiIiksKDAsdS5kZWZhdWx0KShsLCJub3JtYWwiLCLguKrguLLguJjguLLguKPguJPguYwiKSwoMCx1LmRlZmF1bHQpKGwsImF1Y3Rpb24iLCLguIHguLLguKPguJvguKPguLDguKHguLnguKUiKSwoMCx1LmRlZmF1bHQpKGwsImNvbmZpcm1BdWN0aW9uIiwi4LiE4Li44LiT4LmB4LiZ4LmI4LmD4LiI4Lir4Lij4Li34Lit4Lin4LmI4Liy4LiI4Liw4LmA4LiC4LmJ4Liy4Lij4LmI4Lin4Lih4Lib4Lij4Liw4Lih4Li54Lil4Liq4Li04LiZ4LiE4LmJ4LiyIiksKDAsdS5kZWZhdWx0KShsLCJiaW5kQm94Iiwi4LiB4Lil4LmI4Lit4LiH4LiV4Liy4Lia4Lit4LiUIiksKDAsdS5kZWZhdWx0KShsLCJzZWxsX3N0YXR1cyIsIuC4quC4luC4suC4meC4sOC4geC4suC4o+C4guC4suC4oiIpLCgwLHUuZGVmYXVsdCkobCwiaGFzU3RhcnQiLCLguJXguLHguYnguIfguJXguYnguJkiKSwoMCx1LmRlZmF1bHQpKGwsIndpbGxTdGFydCIsIuC5geC4hOC4peC5ieC4p+C4hOC4peC4suC4lCIpLCgwLHUuZGVmYXVsdCkobCwiYXJ0d29ya190eXBlIiwi4Lib4Lij4Liw4LmA4Lig4LiX4Lia4LiX4LiE4Lin4Liy4LihIiksKDAsdS5kZWZhdWx0KShsLCJyZXNldCIsIuC4leC4seC5ieC4h+C4hOC5iOC4suC5g+C4q+C4oeC5iCIpLCgwLHUuZGVmYXVsdCkobCwiY29uZmlybSIsIuC4ouC4t+C4meC4ouC4seC4mSIpLCgwLHUuZGVmYXVsdCkobCwicGxhY2VfYWxlcnQ1Iiwi4LiB4Lij4Li44LiT4Liy4LmD4Liq4LmI4LiE4Liz4Lir4Lil4Lix4LiBIiksKDAsdS5kZWZhdWx0KShsLCJjb2xsZWN0aW9uIiwi4LmA4LiB4LmH4Lia4LmA4LiH4Li04LiZIiksKDAsdS5kZWZhdWx0KShsLCJieUNvbGxlY3Rpb24iLCLguITguLPguK3guJjguLTguKnguJDguLLguJnguKrguLHguYnguJkiKSwoMCx1LmRlZmF1bHQpKGwsImFydHdvcmtzIiwi4LmA4Lin4Li04Lij4LmM4LiEIiksKDAsdS5kZWZhdWx0KShsLCJnb0NvbGxlY3QiLCLguYTguJvguYDguIHguYfguJoiKSwoMCx1LmRlZmF1bHQpKGwsInByaWNlIiwi4Lij4Liy4LiE4LiyIiksKDAsdS5kZWZhdWx0KShsLCJub25pY2tuYW1lIiwi4LiK4Li34LmI4Lit4LmA4Lil4LmI4LiZ4LmE4Lih4LmI4LmE4LiU4LmJ4LiV4Lix4LmJ4LiH4LiE4LmI4LiyIiksKDAsdS5kZWZhdWx0KShsLCJjamRqcyIsIuC5gOC4p+C4peC4suC4m+C4tOC4lOC4m+C4o+C4sOC4oeC4ueC4pSIpLCgwLHUuZGVmYXVsdCkobCwiY2prc3NqIiwi4LmA4Lin4Lil4Liy4LmA4Lij4Li04LmI4Lih4Lib4Lij4Liw4Lih4Li54LilIiksKDAsdS5kZWZhdWx0KShsLCJjamp6c2oiLCLguYDguKfguKXguLLguJvguLTguJTguJvguKPguLDguKHguLnguKUiKSwoMCx1LmRlZmF1bHQpKGwsImdvdG9zZWUiLCLguYTguJvguJfguLXguYjguJXguKXguLLguJQiKSwoMCx1LmRlZmF1bHQpKGwsInBvc2l0aW9uIiwi4LiB4Liy4Lij4LiE4Lin4Lia4LiE4Li44Lih4LiV4Lix4LinIiksKDAsdS5kZWZhdWx0KShsLCJyZXNlbGwiLCLguILguLLguKIiKSwoMCx1LmRlZmF1bHQpKGwsImJ1eVByaWNlIiwi4Lij4Liy4LiE4Liy4LiL4Li34LmJ4LitIiksKDAsdS5kZWZhdWx0KShsLCJjb25maXJtUmVzZWxsIiwi4Lii4Li34LiZ4Lii4Lix4LiZ4LiB4Liy4Lij4LiC4Liy4LiiIiksKDAsdS5kZWZhdWx0KShsLCJ3cm9uZ1ByaWNlIiwi4LiB4Lij4Li44LiT4Liy4LmA4Lil4Li34Lit4LiB4Lij4Liy4LiE4Liy4LiX4Li14LmI4LiW4Li54LiB4LiV4LmJ4Lit4LiHIiksKDAsdS5kZWZhdWx0KShsLCJiaWRQbGFjZWRCeSIsIuC4geC4suC4o+C4m+C4o+C4sOC4oeC4ueC4pSIpLCgwLHUuZGVmYXVsdCkobCwicGxhY2VSZWNvcmQiLCLguJrguLHguJnguJfguLbguIHguIHguLLguKPguYDguKrguJnguK3guKPguLLguITguLIiKSwoMCx1LmRlZmF1bHQpKGwsImNvbmZpclB1cmNoYXNlIiwi4Lii4Li34LiZ4Lii4Lix4LiZ4LiB4Liy4Lij4LiL4Li34LmJ4LitIiksKDAsdS5kZWZhdWx0KShsLCJhcnRpc3RMaXN0Iiwi4Lij4Liy4Lii4LiK4Li34LmI4Lit4Lio4Li04Lil4Lib4Li04LiZIiksKDAsdS5kZWZhdWx0KShsLCJoYXNPcGVuIiwi4LmA4Lib4Li04LiU4Lic4LiZ4Li24LiBIiksKDAsdS5kZWZhdWx0KShsLCJub09wZW4iLCLguYHguITguKXguYnguKfguITguKXguLLguJQiKSwoMCx1LmRlZmF1bHQpKGwsImNsaWNrT3BlbiIsIuC5gOC4m+C4tOC4lOC4geC4peC5iOC4reC4h+C4leC4suC4muC4reC4lCIpLCgwLHUuZGVmYXVsdCkobCwiY29uZmlybU9wZW4iLCLguKLguLfguJnguKLguLHguJnguIHguLLguKPguYDguJvguLTguJTguIHguKXguYjguK3guIfguJXguLLguJrguK3guJQiKSwoMCx1LmRlZmF1bHQpKGwsIm1hcmdpbiIsIuC5gOC4h+C4tOC4meC4oeC4seC4lOC4iOC4syIpLCgwLHUuZGVmYXVsdCkobCwid3JvbmdQcmljZSIsIuC4geC4o+C4uOC4k+C4suC4o+C4sOC4muC4uOC4o+C4suC4hOC4suC4l+C4teC5iOC4luC4ueC4geC4leC5ieC4reC4hyIpLCgwLHUuZGVmYXVsdCkobCwid3JvbmdQZXJJbmNyZWFzZSIsIuC4geC4o+C4uOC4k+C4suC4o+C4sOC4muC4uOC4o+C4suC4hOC4suC4l+C4teC5iOC4luC4ueC4geC4leC5ieC4reC4hyIpLCgwLHUuZGVmYXVsdCkobCwid3JvbmdUaW1lIiwi4LmA4Lin4Lil4Liy4Liq4Li04LmJ4LiZ4Liq4Li44LiU4LiE4Lin4Lij4LiI4Liw4LiK4LmJ4Liy4LiB4Lin4LmI4Liy4LmA4Lin4Lil4Liy4Liq4Li04LmJ4LiZ4Liq4Li44LiUIiksKDAsdS5kZWZhdWx0KShsLCJjb25maXJtUmVzZWxsMiIsIuC5gOC4oeC4t+C5iOC4reC4quC4tOC4meC4hOC5ieC4suC4luC4ueC4geC4guC4suC4ouC4hOC4uOC4k+C5geC4meC5iOC5g+C4iOC4q+C4o+C4t+C4reC4p+C5iOC4suC4leC5ieC4reC4h+C4geC4suC4o+C4l+C4teC5iOC4iOC4sOC4guC4suC4ouC4oeC4seC4mSIpLCgwLHUuZGVmYXVsdCkobCwicmVzZWxsaW5nIiwi4LiB4Liy4Lij4LmC4Lit4LiZIiksKDAsdS5kZWZhdWx0KShsLCJtZXNzYWdlIiwi4LiC4LmJ4Lit4LiE4Lin4Liy4Lih4LmB4LiI4LmJ4LiH4LmA4LiV4Li34Lit4LiZIiksKDAsdS5kZWZhdWx0KShsLCJjb25maXJtUGF5Iiwi4LiE4Li44LiT4LmB4LiZ4LmI4LmD4LiI4Lin4LmI4Liy4LiE4Li44LiT4LiI4Liw4LiI4LmI4Liy4Lii4Liq4Liz4Lir4Lij4Lix4Lia4Liq4Li04LiZ4LiE4LmJ4LiyIiksKDAsdS5kZWZhdWx0KShsLCJ6ZmRqcyIsIuC4iOC5iOC4suC4ouC4meC4seC4muC4luC4reC4ouC4q+C4peC4seC4hyIpLCgwLHUuZGVmYXVsdCkobCwicGF5VGltZSIsIuC5gOC4p+C4peC4suC4iOC5iOC4suC4ouC5gOC4h+C4tOC4mSIpLCgwLHUuZGVmYXVsdCkobCwiaGFzUmVhZCIsIuC5geC4m+C4pSIpLCgwLHUuZGVmYXVsdCkobCwibGFzdFByaWNlIiwi4Lij4Liy4LiE4Liy4Liq4Li44LiU4LiX4LmJ4Liy4LiiIiksKDAsdS5kZWZhdWx0KShsLCJpc1BheSIsIuC4iOC5iOC4suC4ouC5gOC4h+C4tOC4mSIpLCgwLHUuZGVmYXVsdCkobCwiaXNFeHBpcmVkIiwi4Lir4Lih4LiU4Lit4Liy4Lii4Li4IiksKDAsdS5kZWZhdWx0KShsLCJyYXJpdHkiLCLguYDguJrguLLguJrguLLguIciKSxsKSxhcHByb3ZlOntBdXRoZW50aWNhdGlvblRpcHM6IuC4l+C4teC5iOC4reC4ouC4ueC5iOC4geC4suC4o+C4leC4o+C4p+C4iOC4quC4reC4muC4quC4tOC4l+C4mOC4tOC5jOC4reC4teC4geC4hOC4o+C4seC5ieC4h+C5geC4leC4geC4leC5iOC4suC4h+C4iOC4suC4geC4l+C4teC5iOC4reC4ouC4ueC5iOC4geC4suC4o+C4nOC4ueC4geC4oeC4seC4lCDguITguLjguJPguIjguLPguYDguJvguYfguJnguJXguYnguK3guIfguJvguKPguLHguJrguYDguJvguKXguLXguYjguKLguJnguJfguLXguYjguK3guKLguLnguYjguKvguKPguLfguK3guYTguKHguYgiLGJyb3dzZXJUaXBzOiLguIHguKPguLjguJPguLLguYDguJvguLTguJTguYPguJnguYDguJrguKPguLLguKfguYzguYDguIvguK3guKPguYzguILguK3guIfguITguLjguJMiLHRyY19icm93c2VyVGlwczoi4LmC4Lib4Lij4LiU4LmA4Lib4Li04LiU4LmD4LiZ4LiB4Lij4Liw4LmA4Lib4LmL4Liy4LmA4LiH4Li04LiZ4LiX4Li14LmI4Lij4Lit4LiH4Lij4Lix4Lia4LmC4LiL4LmIIFRSQzIwIixyZWNlcnRpZnk6IuC4o+C4seC4muC4o+C4reC4h+C4reC4teC4geC4hOC4o+C4seC5ieC4hyIsdmVyaWZpZWQ6IuC5hOC4lOC5ieC4o+C4seC4muC4geC4suC4o+C4o+C4seC4muC4o+C4reC4hyIsZ29fYXV0aGVudGljYXRlOiLguJvguJfguLXguYjguIHguLLguKPguJXguKPguKfguIjguKrguK3guJrguKrguLTguJfguJjguLTguYwiLG5vdGNlcnRpZmllZDoi4LmE4Lih4LmI4LmE4LiU4LmJ4Lij4Lix4Lia4LiB4Liy4Lij4Lij4Lix4Lia4Lij4Lit4LiHIn19O3QuZGVmYXVsdD1kfSxjODc4OmZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7bigiNmE1NCIpO3ZhciBhPW4oImY1YmQiKS5kZWZhdWx0O09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LmRlZmF1bHQ9dm9pZCAwO3ZhciBvLHIsaSxzLGMsbCx1PWEobigiMzlkOCIpKSxkPXtuYXY6WyJQw6FnaW5hIHByaW5jaXBhbCIsIkNvdGl6YWNpw7NuIiwiQ29tZXJjaW8iLCJQcm9tZXNhIiwiQWN0aXZvcyJdLGNvbW1vbjoobz17Q2FuY2VsbGVkOiJDYW5jZWxhZG8iLHNlYXJjaDoiQnVzY2FyIixjb25maXJtOiJEZXRlcm1pbmFyIixjYW5jZWw6IkNhbmNlbGFyIixzdWJtaXQ6IlN1Ym1pc3Npb24iLGxvZ291dDoiU2FsaWRhIixhbGw6IlRvZG9zIixlZGl0OiJFZGl0YXIiLGRlbGV0ZToiQm9ycmFyIixyZXNldDoiUmVzZXQiLGZpbHRlcjoiU2NyZWVuaW5nIixsb2dpbjoiSW5pY2lhciBzZXNpw7NuIixyZWdpc3RlcjoiUmVnaXN0cm8iLGVtYWlsOiJCdXrDs24gZGUgY29ycmVvIixtb2JpbGU6Ik7Dum1lcm8gZGUgdGVsw6lmb25vIG3Ds3ZpbCIsYWNjb3VudDoiTm9tYnJlIGRlIHVzdWFyaW8iLHBhc3N3b3JkOiJDb250cmFzZcOxYSIscGFzc3dvcmRQbGFjZWhvbGRlcjoiSW50cm9kdXpjYSBsYSBjb250cmFzZcOxYSIsbm9hY2NvdW50OiLCv1NpbiBuw7ptZXJvIGRlIGN1ZW50YT8iLGdvOiJJciIsZm9yZ2V0UGFzc3dvcmQ6Ik9sdmlkYSBsYSBjb250cmFzZcOxYS4iLGNvbmZpcm1QYXNzd29yZDoiQ29uZmlybWFyIGNvbnRyYXNlw7FhIixpbnZpdGVjb2RlOiJDw7NkaWdvIGRlIGludml0YWNpw7NuIixoYXNhY2NvdW50OiLCv0N1ZW50YSBleGlzdGVudGU/Iixtb2JpbGVjb2RlUGxhY2Vob2xkZXI6IkludHJvZHV6Y2EgZWwgQ8OzZGlnbyBkZSB2ZXJpZmljYWNpw7NuIixlbWFpbGNvZGVQbGFjZWhvbGRlcjoiSW50cm9kdXpjYSBlbCBDw7NkaWdvIGRlIHZlcmlmaWNhY2nDs24iLHNlbmQ6IkVudmlhciBDw7NkaWdvIGRlIHZlcmlmaWNhY2nDs24iLHNlbGVjdEFyZWE6IlNlbGVjY2nDs24gcmVnaW9uYWwiLGF1ZGl0OiJBdWRpdG9yw61hIix1bmRlckF1ZGl0OiJBdWRpdG9yw61hIGVuIGN1cnNvIixhdWRpdEZhaWx1cmU6IkZhbGxvIGRlIGF1ZGl0b3LDrWEiLHVudGllOiJEZXNlbmdhbmNoZSIsYnV5OiJDb21wcmFyIixzZWxsOiJWZW5kZXIiLHBsc0xvZ2luOiJQb3IgZmF2b3IsIGluaWNpZSBzZXNpw7NuIHByaW1lcm8iLHBsc0lucHV0VXNlcm5hbWU6IlBvciBmYXZvciwgaW50cm9kdXpjYSB1bmEgY3VlbnRhIixwbHNJbnB1dFJlUGFzc3dvcmQ6IkludHJvZHV6Y2EgbGEgY29udHJhc2XDsWEgZGUgY29uZmlybWFjacOzbiIscGxzSW5wdXRJbnZpdGVDb2RlOiJJbnRyb2R1emNhIGVsIEPDs2RpZ28gZGUgaW52aXRhY2nDs24iLHBsc0lucHV0Q29kZToiSW50cm9kdXpjYSBlbCBDw7NkaWdvIGRlIHZlcmlmaWNhY2nDs24iLHBsc0lucHV0TW9iaWxlOiJQb3IgZmF2b3IsIGludHJvZHV6Y2EgZWwgbsO6bWVybyBkZSB0ZWzDqWZvbm8iLHBsc0lucHV0RW1haWw6IlBvciBmYXZvciwgaW50cm9kdXpjYSBlbCBidXrDs24gZGUgY29ycmVvIixsb2dpbl9zdWNjZXNzOiJJbmljaW8gZGUgc2VzacOzbiBleGl0b3NvIixsb2dpbl9mYWlsOiJGYWxsw7MgZWwgaW5pY2lvIGRlIHNlc2nDs24iLHJlZ19zdWNjZXNzOiJSZWdpc3RybyBleGl0b3NvIixyZWdfZmFpbDoiRmFsbMOzIGVsIGluaWNpbyBkZSBzZXNpw7NuIixwd2RJbmNvbnNpc3RlbnQ6IkRvcyBjb250cmFzZcOxYXMgaW5jb25zaXN0ZW50ZXMiLGhpbnQ6IlByb21wdCIsbG9hZGluZzoiQ2FyZ2FkbyIsc3VjY2Vzczoiw6l4aXRvIixwbHNJbnB1dDoiUG9yIGZhdm9yLCBpbnRyb2R1emNhIixjbGljazoiQ2xpY2siLHF1b3RhdGlvbjoiQ290aXphY2nDs24ifSwoMCx1LmRlZmF1bHQpKG8sImVkaXQiLCJFZGl0YXIiKSwoMCx1LmRlZmF1bHQpKG8sInNlY29uZCIsIlNlZ3VuZG9zIiksKDAsdS5kZWZhdWx0KShvLCJzcGVjaWFsQ2hhcnQiLCJObyBzZSBwZXJtaXRlbiBjYXJhY3RlcmVzIGVzcGVjaWFsZXMiKSwoMCx1LmRlZmF1bHQpKG8sIm9wZW4iLCJQcmVjaW8gZGUgYXBlcnR1cmEiKSwoMCx1LmRlZmF1bHQpKG8sImNsb3NlIiwiUHJlY2lvIGRlIGNpZXJyZSIpLCgwLHUuZGVmYXVsdCkobywiaGlnaCIsIlByZWNpbyBtw6F4aW1vIiksKDAsdS5kZWZhdWx0KShvLCJsb3ciLCJQcmVjaW8gbcOhcyBiYWpvIiksKDAsdS5kZWZhdWx0KShvLCJjdXN0b21lclNlcnZpY2UiLCJDb250YWN0byBjb24gZWwgc2VydmljaW8gYWwgY2xpZW50ZSIpLCgwLHUuZGVmYXVsdCkobywicmVtZW1iZXJQYXNzd29yZCIsIlJlY3VlcmRlIGxhIGNvbnRyYXNlw7FhIiksKDAsdS5kZWZhdWx0KShvLCJuZXdQYXNzd29yZCIsIk51ZXZhIGNvbnRyYXNlw7FhIiksKDAsdS5kZWZhdWx0KShvLCJwd2RNb3JlVGhlbjYiLCJMYSBsb25naXR1ZCBkZSBsYSBjb250cmFzZcOxYSBkZWJlIHNlciBtYXlvciBkZSBzZWlzIGTDrWdpdG9zIiksKDAsdS5kZWZhdWx0KShvLCJjb2RlTGVuZ3RoNiIsIkxhIGxvbmdpdHVkIGRlbCBDw7NkaWdvIGRlIHZlcmlmaWNhY2nDs24gZGViZSBzZXIgZGUgc2VpcyBkw61naXRvcyIpLCgwLHUuZGVmYXVsdCkobywicmVQd2RNb3JlVGhlbjYiLCJMYSBsb25naXR1ZCBkZSBsYSBjb250cmFzZcOxYSBkZSBjb25maXJtYWNpw7NuIGRlYmUgc2VyIG1heW9yIGRlIHNlaXMgZMOtZ2l0b3MiKSwoMCx1LmRlZmF1bHQpKG8sInBscyIsIlBvciBmYXZvci4iKSwoMCx1LmRlZmF1bHQpKG8sInNhdmVTdWNjZXNzIiwiR3VhcmRhZG8gZW4gZWwgw6FsYnVtIGRlbCBzaXN0ZW1hIiksKDAsdS5kZWZhdWx0KShvLCJuZXh0U3RlcCIsIlNpZ3VpZW50ZSBwYXNvIiksKDAsdS5kZWZhdWx0KShvLCJsb2ciLCJSZWdpc3RybyIpLCgwLHUuZGVmYXVsdCkobywicGFyYW1zV3JvbmciLCJFcnJvciBkZSBwYXLDoW1ldHJvIiksKDAsdS5kZWZhdWx0KShvLCJmdW5jdGlvbkxvYWRpbmciLCJEZXNhcnJvbGxvIGZ1bmNpb25hbCIpLCgwLHUuZGVmYXVsdCkobywiRElHSUNDWSIsIk1vbmVkYSBkaWdpdGFsIiksKDAsdS5kZWZhdWx0KShvLCJxdWlja2x5IiwiUsOhcGlkbyIpLCgwLHUuZGVmYXVsdCkobywibW9yZSIsIk3DoXMiKSwoMCx1LmRlZmF1bHQpKG8sImhhc05vRGF0YSIsIk5vIGhheSBtw6FzIGRhdG9zLiIpLCgwLHUuZGVmYXVsdCkobywiYXVkaW9FcnJvciIsIkVycm9yIGVuIGVsIGFyY2hpdm8gZGUgYXVkaW8iKSwoMCx1LmRlZmF1bHQpKG8sInRvTG9uZyIsIkNhcsOhY3RlciBkZW1hc2lhZG8gbGFyZ28iKSwoMCx1LmRlZmF1bHQpKG8sInNlbGVjdExhbmciLCJTZWxlY2Npb25hciBpZGlvbWEiKSwoMCx1LmRlZmF1bHQpKG8sInJuYW1lcGFzcyIsIkhhIHBhc2FkbyBsYSBhdXRlbnRpY2FjacOzbiBkZSBub21icmUgcmVhbCIpLG8pLGhvbWU6KHI9e2NvbnRhY3RVczoiQ29udMOhY3Rlbm9zLiIsYm9ycm93aW5nOiJQcsOpc3RhbW8iLGJvcnJvd2luZ19lbnRyeToiZW50cmFkYSBkZSBwcsOpc3RhbW8iLHJlcGF5bWVudF9lbnRyeToiZW50cmFkYSBkZSByZWVtYm9sc28gZGUgcHLDqXN0YW1vIix0aXRsZToiV29vQ2xvdWQiLHRvdGFsQXNzZXRzRXF1aXZhbGVuZzoiQ29udmVyc2nDs24gdG90YWwgZGUgYWN0aXZvcyIscmVjaGFyZ2U6IlJlY2FyZ2FyIix3aXRoZHJhdzoiUHJlc2VudGFjacOzbiIsc3RvY2s6IkFjY2lvbmVzIixmdXR1cmVzOiJDb250cmF0byIsY29weXRyYWRlOiJNZXJjaGFuZGlzZXIiLGZpbmFuY2lhbDoiRmluYW5jaWFjacOzbiBmaW5hbmNpZXJhIixtYXJnaW46IlN1cGVyIHBhbGFuY2EiLG90YzoiT1RDIixjb3Vwb246IkNlbnRybyBkZSB2YWxlcyIsYmlsbHM6IkJpbGwiLGV4Y2hhbmdlOiJDYW1iaW8gZGUgZGl2aXNhcyIsbWluaW5nOiJtaW5lcsOtYSIsZ2FtZToiSnVlZ29zIixjaGF0cm9vbToiU2FsYSBkZSBjaGF0IixxdWlja2x5QnV5Q29pbnM6IkNvbXByYSByw6FwaWRhIGRlIG1vbmVkYXMiLGRlZmlNaW5pbmc6Ik1pbmVyw61hIGRlZmkiLGNsb3VkTWluaW5nOiJNw6FxdWluYSBkZSBleHRyYWNjacOzbiBkZSBudWJlcyJ9LCgwLHUuZGVmYXVsdCkociwic3RvY2siLCJBY2Npb25lcyIpLCgwLHUuZGVmYXVsdCkociwic3RvY2tfaW5mbyIsIk5vIGhheSBuZWNlc2lkYWQgZGUgYWJyaXIgdW5hIHBvc2ljacOzbi4iKSwoMCx1LmRlZmF1bHQpKHIsImxvY2ttaW5nIiwiUHJvbWVzYSIpLCgwLHUuZGVmYXVsdCkociwidHJhbnNmZXIiLCJUcmFuc2ZlcmVuY2lhIGRlIG1vbmVkYSIpLCgwLHUuZGVmYXVsdCkociwiaWVvIiwiSUVPIiksKDAsdS5kZWZhdWx0KShyLCJzZWNvbmRzIiwiT3BjaW9uZXMiKSwoMCx1LmRlZmF1bHQpKHIsImRheSIsIkTDrWFzIiksKDAsdS5kZWZhdWx0KShyLCJtaW5pbXVtIiwiTGV2w6FudGF0ZS4iKSwoMCx1LmRlZmF1bHQpKHIsImRhaWx5UmV0dXJuUmF0ZSIsIlJlbmRpbWllbnRvIGRpYXJpbyIpLCgwLHUuZGVmYXVsdCkociwibW9yZSIsIk3DoXMiKSwoMCx1LmRlZmF1bHQpKHIsIm1hcmtldCIsIkNvdGl6YWNpw7NuIiksKDAsdS5kZWZhdWx0KShyLCJ0cmFkaW5nUGFpciIsIlBhciBkZSB0cmFuc2FjY2lvbmVzIiksKDAsdS5kZWZhdWx0KShyLCJsYXN0UHJpY2UiLCJFbCDDumx0aW1vIHByZWNpbyIpLCgwLHUuZGVmYXVsdCkociwidG9kYXlDaGFuZ2UiLCJBdW1lbnRvIG8gZGlzbWludWNpw7NuIGhveSIpLCgwLHUuZGVmYXVsdCkociwidHJhbnNhY3Rpb24iLCJDb21lcmNpbyIpLCgwLHUuZGVmYXVsdCkociwibmZ0IiwiTmZ0IiksKDAsdS5kZWZhdWx0KShyLCJpbnZlc3QiLCJJbnZlcnRpciIpLCgwLHUuZGVmYXVsdCkociwiZG93bmxvYWQiLCJEZXNjYXJnYXIiKSwoMCx1LmRlZmF1bHQpKHIsImFwcF90ZXh0IiwiVHJhbnNhY2Npb25lcyBlbiBsw61uZWEgZW4gY3VhbHF1aWVyIG1vbWVudG8geSBlbiBjdWFscXVpZXIgbHVnYXIiKSwoMCx1LmRlZmF1bHQpKHIsImJ6X0NvbnRlbiIsIkNlbnRybyBkZSBheXVkYSIpLHIpLHNldHRpbmc6e3RlYW06IkVxdWlwbyIsdGVhbTE6Ik7Dum1lcm8gZGUgZXF1aXBvcyIsdGVhbTI6IlBlcnNvbmEiLHRlYW0zOiJTYWxkbyBwb3NpdGl2byBhY3R1YWwiLHRlYW00OiJSZWNvbXBlbnNhIGFjdW11bGFkYSIsdGVhbTU6IlByZW1pbyBhY3VtdWxhdGl2byAodXNkdCkiLHRlYW02OiJDYW5qZSIsdGVhbTc6IkNhbWJpbyBwb3NpdGl2byIsdGVhbTg6IlJlZ2lzdHJvIGRlIHJlY29tcGVuc2FzIHBvc2l0aXZhcyIsdGVhbTk6IlJlZ2lzdHJvIGRlIHByZW1pb3MgdXNkdCIsdGVhbTEwOiJDb21wYXJ0aXIgZW5sYWNlcyIsdGVhbTExOiJQZXJzb25hbCBzdWJhbHRlcm5vIChuaXZlbCAxKSIsdGVhbTEyOiJQZXJzb25hbCBzdWJhbHRlcm5vIChuaXZlbCAyKSIsdGVhbTEzOiJQZXJzb25hbCBzdWJhbHRlcm5vIChuaXZlbCAzKSIsdGVhbTE0OiJOb21icmUgZGUgdXN1YXJpbyIsdGVhbTE1OiJTYWxkbyBkZSBsYSBwcm9tZXNhIix0ZWFtMTY6IkhvcmEgZGUgbGEgaW52aXRhY2nDs24iLHRlYW0xNzoiQ2FtYmlvIHBvc2l0aXZvIix0ZWFtMTg6IkNhbnRpZGFkIHBvc2l0aXZhIix0ZWFtMTk6IkNhbnRpZGFkIGRlIHVzZHQgY29udmVydGlibGUiLHRlYW0yMDoiVG9kb3MiLHRlYW0yMToiVGFyamV0YSBkZSBwYXNlIGRpc3BvbmlibGUiLHRlYW0yMjoiUmVsYWNpw7NuIGRlIGNvbnZlcnNpw7NuIix0ZWFtMjM6Ikdhc3RvcyBkZSB0cmFtaXRhY2nDs24iLHRlYW0yNDoiQ29uZmlybWFjacOzbiBkZWwgY2FtYmlvIix0ZWFtMjU6IkNvbnN1bHRhIix0ZWFtMjY6IlJlZ2lzdHJvIGRlIHJlY29tcGVuc2FzIix0ZWFtMjc6IkludHJvZHV6Y2EgbGEgY2FudGlkYWQgZGUgY2FtYmlvIix0ZWFtMjg6IlByZW1pbyBkZSBhdXRlbnRpY2FjacOzbiBkZSBub21icmUgcmVhbCIsdGVhbTI5OiJUYXNhIGRlIHRyYW5zYWNjacOzbiIsdGVhbTMwOiJQcmVtaW9zIGRlIGVzdHVkaW8iLHRlYW0zMToiQm9uaWZpY2FjacOzbiBtaW5lcmEiLHRlYW0zMjoiQm9uaWZpY2FjacOzbiBkZSBwYXNlKC0pIix0ZWFtMzM6IkJvbmlmaWNhY2nDs24gbW9uZXRhcmlhIGRpZ2l0YWwiLHRlYW0zNDoiQ2FuY2VsYXIiLHRlYW0zNToiQ29uZmlybWFyIix5OiJBw7FvIixtOiJNZXMiLGQ6IkTDrWEiLGg6IlRpZW1wbyIsZjoiUHVudG9zIixzOiJTZWd1bmRvcyIsbXlfcXJjb2RlOiJNaSBjw7NkaWdvIFFSIixtaW5lOiJNaW5lIixpbnZpdGVEZXNjOiJJbnZpdGUgYSBzdXMgYW1pZ29zIGEgdW4gZGVzY3VlbnRvIixpbnZpdGVEZXNjMjoiRGlzZnJ1dGUgZGVsIGRlc2N1ZW50byBjb24gc3VzIGFtaWdvcyIsaW52aXRlTnVtYmVyOiJOw7ptZXJvIGRlIGludml0YWRvcyIsaW52aXRlVHJhbnNOdW1iZXI6Ik7Dum1lcm8gZGUgcGVyc29uYXMgbmVnb2NpYWRhcyIsbXlSZWJhdGU6Ik1pIGRlc2N1ZW50byIsYmlsbDoiQmlsbCIsd2FsbGV0OiJEaXJlY2Npw7NuIGRlIGxhIGNhcnRlcmEiLGJhbmtzOiJVbmnDs24gZGUgdGFyamV0YXMgYmFuY2FyaWFzIixiYW5rc0ludGVybmF0aW9uYWw6IlVuacOzbiBkZSB0YXJqZXRhcyBiYW5jYXJpYXMgLSBJbnRlcm5hdGlvbmFsIixhZGRCYW5rOiJBw7FhZGlyIHRhcmpldGEgYmFuY2FyaWEiLHNlY3VyaXR5U2V0dGluZ3M6IkNvbmZpZ3VyYWNpw7NuIGRlIFNlZ3VyaWRhZCIsY291cG9uOiJDZW50cm8gZGUgdmFsZXMiLHN5c3RlbU5vdGlmaWNhdGlvbjoiTm90aWZpY2FjacOzbiBkZWwgc2lzdGVtYSIsZGVmYXVsdEZpYXRDdXJyZW5jeToiTW9uZWRhIGZyYW5jZXNhIHByZWRldGVybWluYWRhIixsYW5ndWFnZToiSWRpb21hIixmYXE6IlByZWd1bnRhcyBmcmVjdWVudGVzIixvcGVyYXRpb25hbENvbXBsaWFuY2U6IkN1bXBsaW1pZW50byBvcGVyYWNpb25hbCIsc2hhcmU6IkNvbXBhcnRpciIsY29udGFjdFVzOiJDb250w6FjdGVub3MuIixhYm91dFVzOiJTb2JyZSBub3NvdHJvcyIsYXZhdGFyOiJBdmF0YXIiLG5pY2tuYW1lOiJBcG9kbyIsc2lnbmF0dXJlOiJGaXJtYSBwZXJzb25hbCIsZ3J4eDoiSW5mb3JtYWNpw7NuIHBlcnNvbmFsIixncnh4T3B0aW9uczp7bmlja25hbWU6e3RpdGxlOiJBcG9kbyIscGxhY2Vob2xkZXI6IlBvciBmYXZvciwgaW50cm9kdXpjYSB1biBhcG9kbyIsZGVzYzoiMiAtIDEwIGNhcmFjdGVyZXMsIHNvcG9ydGUgY2hpbm8gLSBpbmdsw6lzLCBuw7ptZXJvIn0sc2lnbmF0dXJlOnt0aXRsZToiQXBvZG8iLHBsYWNlaG9sZGVyOiJQb3IgZmF2b3IsIGludHJvZHV6Y2EgdW4gYXBvZG8iLGRlc2M6IjIgLSAxMCBjYXJhY3RlcmVzLCBzb3BvcnRlIGNoaW5vIC0gaW5nbMOpcywgbsO6bWVybyJ9fSx4eHR4OiJTdWJpciBhdmF0YXIiLHBob3RvZ3JhcGg6IlRvbWFyIGZvdG9zIixzZWxlY3RGcm9tQWxidW06IlNlbGVjY2lvbmFyIGRlbCDDoWxidW0iLGFxc3o6IkNvbmZpZ3VyYWNpw7NuIGRlIFNlZ3VyaWRhZCIsZWRpdExvZ2luUGFzc3dvcmQ6Ik1vZGlmaWNhciBjb250cmFzZcOxYSBkZSBpbmljaW8gZGUgc2VzacOzbiIsc2V0UGF5UGFzc3dvcmQ6IkVzdGFibGVjZXIgY29udHJhc2XDsWEgZGUgcGFnbyIsZWRpdFBheVBhc3N3b3JkOiJNb2RpZmljYXIgbGEgY29udHJhc2XDsWEgZGUgcGFnbyIsYmluZFBob25lOiJUZWzDqWZvbm8gbcOzdmlsIHZpbmN1bGFudGUiLGVtYWlsOiJCdXrDs24gZGUgY29ycmVvIixzdGF5TG9naW46IlBlcm1hbmVjZXIgY29uZWN0YWRvIix4Z2RsbW06Ik1vZGlmaWNhciBjb250cmFzZcOxYSBkZSBpbmljaW8gZGUgc2VzacOzbiIsY3VycmVudFBhc3N3b3JkOiJDb250cmFzZcOxYSBkZSBpbmljaW8gZGUgc2VzacOzbiBhY3R1YWwiLGN1cnJlbnRQYXNzd29yZFBsYWNlaG9sZGVyOiJJbnRyb2R1emNhIGxhIGNvbnRyYXNlw7FhIGRlIGluaWNpbyBkZSBzZXNpw7NuIGFjdHVhbCIsbmV3UGFzc3dvcmQ6Ik51ZXZhIGNvbnRyYXNlw7FhIGRlIGluaWNpbyBkZSBzZXNpw7NuIixuZXdQYXNzd29yZFBsYWNlaG9sZGVyOiJJbnRyb2R1emNhIHVuYSBudWV2YSBjb250cmFzZcOxYSBkZSBpbmljaW8gZGUgc2VzacOzbiIsY29uZmlybU5ld1Bhc3N3b3JkOiJDb25maXJtYXIgbnVldmEgY29udHJhc2XDsWEiLGNvbmZpcm1OZXdQYXNzd29yZFBsYWNlaG9sZGVyOiJJbnRyb2R1emNhIHVuYSBudWV2YSBjb250cmFzZcOxYSBwYXJhIGNvbmZpcm1hciIsY3VycmVudFBheVBhc3N3b3JkOiJDb250cmFzZcOxYSBkZSBwYWdvIGFjdHVhbCIsY3VycmVudFBheVBhc3N3b3JkUGxhY2Vob2xkZXI6IkludHJvZHV6Y2EgbGEgY29udHJhc2XDsWEgZGUgcGFnbyBhY3R1YWwiLG5ld1BheVBhc3N3b3JkOiJOdWV2YSBjb250cmFzZcOxYSBkZSBwYWdvIixuZXdQYXlQYXNzd29yZFBsYWNlaG9sZGVyOiJJbnRyb2R1emNhIHVuYSBudWV2YSBjb250cmFzZcOxYSBkZSBwYWdvIixjb25maXJtTmV3UGF5UGFzc3dvcmQ6IkNvbmZpcm1hciBudWV2YSBjb250cmFzZcOxYSBkZSBwYWdvIixjb25maXJtTmV3UGF5UGFzc3dvcmRQbGFjZWhvbGRlcjoiSW50cm9kdXpjYSBsYSBjb250cmFzZcOxYSBwYXJhIGNvbmZpcm1hciBlbCBudWV2byBwYWdvIixwaG9uZVZlcmlmaWNhdGlvbkNvZGU6IkPDs2RpZ28gZGUgdmVyaWZpY2FjacOzbiBkZWwgdGVsw6lmb25vIG3Ds3ZpbCIsZWRpdFBob25lVmVyaWZpY2F0aW9uQ29kZToiSW50cm9kdXpjYSBlbCBDw7NkaWdvIGRlIHZlcmlmaWNhY2nDs24gZGVsIHRlbMOpZm9ubyBtw7N2aWwiLGdldFZlcmlmaWNhdGlvbkNvZGU6Ik9idGVuZXIgQ8OzZGlnbyBkZSB2ZXJpZmljYWNpw7NuIixsY3R5cToiQ2VydGlmaWNhZG8gZGUgZXhwZXJpZW5jaWEgZmluYW5jaWVyYSIsZXhwaXJlZDoiQ2FkdWNhZG8iLGV4cGlyZWRUaW1lOiJGZWNoYSBkZSBjYWR1Y2lkYWQiLHVzZUltbWVkaWF0ZWx5OiJVc28gaW5tZWRpYXRvIixhZGROZXdBY2NvdW50OiJBw7FhZGlyIHVuYSBudWV2YSBjdWVudGEiLHRvdGF5SW5jb21lOiJSZWNvZ2VyIGhveSIsdG90YWxJbmNvbWU6IlJlY2F1ZGFjacOzbiBhY3VtdWxhZGEiLHNlbGVjdExhbmc6IlBvciBmYXZvciwgc2VsZWNjaW9uZSBlbCBpZGlvbWEiLHNlbGVjdENvaW5UeXBlOiJTZWxlY2Npb25lIGxhIG1vbmVkYSIsYXV0aGVudGljYXRpb246IkF1dGVudGljYWNpw7NuIGRlIGxhIGlkZW50aWRhZCIsYXV0aGVudGljYXRpb24xOiJBdXRlbnRpY2FjacOzbiBiw6FzaWNhIixhdXRoZW50aWNhdGlvbjI6IkNlcnRpZmljYWNpw7NuIGF2YW56YWRhIixhdXRoZW50aWNhdGlvbl90ZXh0XzE6IkF1dGVudGljYWNpw7NuIGRlIGxhIGlkZW50aWRhZCBwZXJzb25hbCIsYXV0aGVudGljYXRpb25fdGV4dF8yOiJQZXJtaXNvcyBkaXNwb25pYmxlcyBkZXNwdcOpcyBkZSBjb21wbGV0YXIgbGEgYXV0ZW50aWNhY2nDs246IixhdXRoZW50aWNhdGlvbl90ZXh0XzM6IkxWMS4gQXV0ZW50aWNhY2nDs24gYsOhc2ljYSIsYXV0aGVudGljYXRpb25fdGV4dF80OiJEZXNwdcOpcyBkZSBsYSBjZXJ0aWZpY2FjacOzbiBwdWVkZSByZWZsZWphciwgbMOtbWl0ZSBkZSAyNCBob3JhcyAyMDBidGMiLGF1dGhlbnRpY2F0aW9uX3RleHRfNToiUHVlZGUgcmVhbGl6YXIgdHJhbnNhY2Npb25lcyBlbiBtb25lZGEgZnJhbmNlc2EgZGVzcHXDqXMgZGUgbGEgYXV0ZW50aWNhY2nDs24sIGNvbiB1biBsw61taXRlIMO6bmljbyBkZSAyLjAwMCBkw7NsYXJlcyBkZSBsb3MgRUUuVVUuIixhdXRoZW50aWNhdGlvbl90ZXh0XzY6Ikx2Mi4gQ2VydGlmaWNhY2nDs24gYXZhbnphZGEiLGF1dGhlbnRpY2F0aW9uX3RleHRfNzoiQXVtZW50byBkZWwgbMOtbWl0ZSBkZSBwcmVzZW50YWNpw7NuLCBsw61taXRlIGRlIDI0IGhvcmFzIDUwMGJ0YyIsYXV0aGVudGljYXRpb25fdGV4dF84OiJBdW1lbnRvIGRlbCBsw61taXRlIGRlIG5lZ29jaWFjacOzbiBlbiBtb25lZGEgZnJhbmNlc2EsIGzDrW1pdGUgw7puaWNvIGRlIDEuMDAwLjAwMCBkZSBkw7NsYXJlcyBkZSBsb3MgRUUuVVUuIixhdXRoZW50aWNhdGlvbl90ZXh0Xzk6IkNvbnNlam8gY8OhbGlkbzogcGFyYSBwcm90ZWdlciBsYSBzZWd1cmlkYWQgZGUgbG9zIGZvbmRvcyBkZSBsb3MgdXN1YXJpb3MsIHBvciBmYXZvciBjb21wbGV0ZSBlbCBjb3JyZW8gZWxlY3Ryw7NuaWNvIHkgbGEgVW5pw7NuIHRlbGVmw7NuaWNhLCBkZSBsbyBjb250cmFyaW8gc3UgYXV0ZW50aWNhY2nDs24gbm8gcGFzYXLDoS4iLGdvQXVkaXQ6IkRlc2NlcnRpZmljYWNpw7NuIixub2F1ZGl0OiJObyBhdXRlbnRpY2FkbyIsYXVkaXRpbmc6IkVuIGF1dGVudGljYWNpw7NuIixoYXNhdWRpdDoiQ2VydGlmaWNhZG8iLGVycm9yYXVkaXQ6IkZhbGhhIG5hIGF1dGVudGljYcOnw6NvIixpZFR5cGU6IlRpcG8gZGUgZG9jdW1lbnRvIixpZENhcmQ6IkRvY3VtZW50byBkZSBpZGVudGlkYWQiLHBhc3Nwb3J0OiJQYXNhcG9ydGUiLGRyaXZlckxpY2Vuc2U6IkxpY2VuY2lhIGRlIGNvbmR1Y2lyIixuYW1lOiJOb21icmUiLGlkY2FyZDoiTsO6bWVybyBkZSBpZGVudGlmaWNhY2nDs24iLHBsc0lwdE5hbWU6IlBvciBmYXZvciwgaW50cm9kdXpjYSB1biBub21icmUiLHBsc0lwdENvcnJlY3RJZGNhcmQ6IkludHJvZHV6Y2EgZWwgbsO6bWVybyBkZSBpZGVudGlmaWNhY2nDs24gY29ycmVjdG8iLHVwbG9hZElkY2FyZEZyb250OiJVcGxvYWQgSUQgUG9zaXRpdmUiLHVwbG9hZElkY2FyZFJldmVyc2U6IlN1YmlyIGxhIHBhcnRlIHBvc3RlcmlvciBkZSBsYSB0YXJqZXRhIGRlIGlkZW50aWRhZCIsZW1haWxWZXJpZmljYXRpb25Db2RlOiJDw7NkaWdvIGRlIHZlcmlmaWNhY2nDs24gZGVsIGJ1esOzbiBkZSBjb3JyZW8iLHBsc2lwdEVtYWlsQ29kZToiSW50cm9kdXpjYSBlbCBDw7NkaWdvIGRlIHZlcmlmaWNhY2nDs24gZGVsIGJ1esOzbiBkZSBjb3JyZW8iLGFkZFdhbGxldDoiQcOxYWRpciBkaXJlY2Npw7NuIGRlIGNhcnRlcmEiLHNlbGVjdEN1cnJlbmN5OiJTZWxlY2Npb25hciBtb25lZGEiLHBsc1NlbGVjdEN1cnJlbmN5OiJTZWxlY2Npb25lIGxhIG1vbmVkYSIscGxzSXB0QWRkcmVzczoiSW50cm9kdXpjYSBsYSBkaXJlY2Npw7NuIGRlIHN1IGNhcnRlcmEiLHdhbGxldEFkZHJlc3M6IkRpcmVjY2nDs24gZGUgbGEgY2FydGVyYSIsd2FsbGV0UXJjb2RlOiJDw7NkaWdvIFFSIGRlIGNhcnRlcmEiLHBsc0lwdFdhbGxldEFkZHJlc3M6IkludHJvZHV6Y2EgbGEgZGlyZWNjacOzbiBkZSBzdSBjYXJ0ZXJhIixwbHNVcGxvYWRXYWxsZXRRcmNvZGU6IlBvciBmYXZvciwgc3ViYSBlbCBDw7NkaWdvIFFSIGRlIHN1IGNhcnRlcmEiLGNvbmZpcm1Mb2dvdXQ6IsK/RXN0w6FzIHNlZ3VybyBkZSBkZWphciBkZSBpbmljaWFyIHNlc2nDs24/Iixub25pY2tuYW1lOiJQb3IgZmF2b3IsIGVzdGFibGV6Y2EgdW4gYXBvZG8iLHBsc0lucHV0TW9iaWxlOiJQb3IgZmF2b3IsIGludHJvZHV6Y2EgZWwgbsO6bWVybyBkZSB0ZWzDqWZvbm8iLGFsaXBheV9hY2NvdW50OiJOw7ptZXJvIEFCQSIscmVhbF9uYW1lOiJOb21icmUgcmVhbCIsYmFua19hY2NvdW50OiJOw7ptZXJvIGRlIHRhcmpldGEgYmFuY2FyaWEiLGJhbmtfZGl6aGk6IlByb3ZpbmNpYXMgeSBjaXVkYWRlcyBjb24gY3VlbnRhcyBhYmllcnRhcyIsYmFua19uYW1lOiJCYW5jbyBkZSBhcGVydHVyYSBkZSBjdWVudGFzIixiYW5rX25ldHdvcms6IlJlZCBkZSBhcGVydHVyYSBkZSBjdWVudGFzIixzd2lmdF9jb2RlOiJTV0lGVCIscGhvbmU6IlRlbMOpZm9ubyBkZSBjb250YWN0byIsd2VjaGF0X2FjY291bnQ6IkRpcmVjY2nDs24gZGVsIHRpdHVsYXIgZGUgbGEgdGFyamV0YSIsd2VjaGF0X25pY2tuYW1lOiJDw7NkaWdvIFN3aWZ0IixhbGxOZWVkOiJUb2RvcyBzb24gb2JsaWdhdG9yaW9zIixwaG9uZU51bWJlcjoiTsO6bWVybyBkZSB0ZWzDqWZvbm8gbcOzdmlsIixjb2RlOiJDw7NkaWdvIGRlIHZlcmlmaWNhY2nDs24iLHNlbmRDb2RlOiJFbnZpYXIgQ8OzZGlnbyBkZSB2ZXJpZmljYWNpw7NuIixwbHNJcHRDb2RlOiJJbnRyb2R1emNhIGVsIEPDs2RpZ28gZGUgdmVyaWZpY2FjacOzbiIsc2NvcmU6IlNjb3JlIn0sdHJhbnNhY3Rpb246KGk9e2FjdHVhbFBMOiJBY3R1YWwgUEwiLGZhdm9yaXRlczoiQXV0byAtIEVsZWNjacOzbiIsZnV0dXJlczoiQ29udHJhdG8iLGNvaW5zOiJNb25lZGEiLHN0b2NrOiJBY2Npb25lcyIsdHJhZGluZ1BhaXI6IlBhciBkZSB0cmFuc2FjY2lvbmVzIixsYXN0UHJpY2U6IkVsIMO6bHRpbW8gcHJlY2lvIix0b2RheUNoYW5nZToiQXVtZW50byBvIGRpc21pbnVjacOzbiBob3kiLHNlYXJjaFBsYWNlaG9sZGVyOiJCdXNxdWUgbW9uZWRhcyAvIG5vbWJyZXMgLyBjw7NkaWdvcyBkZSBhY2Npb25lcyBxdWUgbGUgaW50ZXJlc2VuIixob3RTZWFyY2g6IkLDunNxdWVkYSBjYWxpZW50ZSIscmVjZW50VmlldzoiVmlzdGEgcmVjaWVudGUiLGRheUhpZ2g6IkFsdG8gaG95IixkYXlMb3c6IkhveSBiYWpvIixvcHRpb25hbDoiQXV0byAtIEVsZWNjacOzbiIsYnV5OiJDb21wcmFyIixzZWxsOiJWZW5kZXIiLGVudHJ1c3RQZW5kaW5nT3JkZXI6IkNlcnRpZmljYWRvIGRlIGF1dG9yaXphY2nDs24iLGFkZE9wdGlvbmFsU3VjY2VzczoiQcOxYWRpciBhdXRvIC0gc2VsZWNjacOzbiBjb24gw6l4aXRvIixkZWxPcHRpb25hbFN1Y2Nlc3M6IkJvcnJhciBhdXRvIC0gc2VsZWNjaW9uYWRvIGNvbiDDqXhpdG8iLHNlY29uZHM6Ik9wY2lvbmVzIixob21lOiJQw6FnaW5hIHByaW5jaXBhbCIsb3JkZXJDb25maXJtOiJDb25maXJtYWNpw7NuIGRlbCBwZWRpZG8iLGN1cnJlbnRQcmljZToiUHJlY2lvIGFjdHVhbCIsZGlyZWN0aW9uOiJEaXJlY2Npw7NuIixzZWxlY3RUaW1lOiJTZWxlY2Npb25lIGxhIGZlY2hhIGRlIGNhZHVjaWRhZCIsbnVtYmVyOiJDYW50aWRhZCIsYmFsYW5jZToiU2FsZG8gZGUgbGEgY3VlbnRhIixwbHNJcHRDcnROdW1iZXI6IkludHJvZHV6Y2EgbGEgY2FudGlkYWQgY29ycmVjdGEiLGJ1eVByaWNlOiJQcmVjaW8gZGUgY29tcHJhIixleHBlY3RlZFBMOiJHYW5hbmNpYXMgeSBww6lyZGlkYXMgcHJldmlzdGFzIixjb250aW51ZVRyYWRlOiJDb250aW51YXIgZWwgY29tZXJjaW8iLHNlY29uZHNQb3NpdGlvbjoiUG9zaWNpw7NuIGRlIG9wY2nDs24iLHBvc2l0aW9uOiJFbiBlc3BlcmEiLGhpc3Rvcnk6Ikhpc3RvcmlhIixvcmRlclRpbWVzOiJEdXJhY2nDs24gZGVsIHBlZGlkbyIscGw6IkdhbmFuY2lhcyB5IHDDqXJkaWRhcyIsc2VsbFRpbWU6IlRpZW1wbyBkZSB2ZW50YSIsYnV5dGltZToiR2FuYXIgdGllbXBvIixlbmRQcmljZToicHJlY2lvIGRlIG9mZXJ0YSJ9LCgwLHUuZGVmYXVsdCkoaSwiYnV5IiwiQ29tcHJhciIpLCgwLHUuZGVmYXVsdCkoaSwic2VsbCIsIlZlbmRlciIpLCgwLHUuZGVmYXVsdCkoaSwicHJpY2UiLCJQcmVjaW8iKSwoMCx1LmRlZmF1bHQpKGksInRpbWUiLCJUaWVtcG8iKSwoMCx1LmRlZmF1bHQpKGksIm9wdGlvbmFsIiwiQXV0byAtIEVsZWNjacOzbiIpLCgwLHUuZGVmYXVsdCkoaSwiYnV5IiwiQ29tcHJhciIpLCgwLHUuZGVmYXVsdCkoaSwic2VsbCIsIlZlbmRlciIpLCgwLHUuZGVmYXVsdCkoaSwibG9uZyIsIkhhY2VyIG3DoXMiKSwoMCx1LmRlZmF1bHQpKGksInNob3J0IiwiU2hvcnQiKSwoMCx1LmRlZmF1bHQpKGksImVudHJ1c3RQZW5kaW5nT3JkZXIiLCJDZXJ0aWZpY2FkbyBkZSBhdXRvcml6YWNpw7NuIiksKDAsdS5kZWZhdWx0KShpLCJhZGRPcHRpb25hbFN1Y2Nlc3MiLCJBw7FhZGlyIGF1dG8gLSBzZWxlY2Npw7NuIGNvbiDDqXhpdG8iKSwoMCx1LmRlZmF1bHQpKGksImRlbE9wdGlvbmFsU3VjY2VzcyIsIkJvcnJhciBhdXRvIC0gc2VsZWNjaW9uYWRvIGNvbiDDqXhpdG8iKSwoMCx1LmRlZmF1bHQpKGksInByaWNlIiwiUHJlY2lvIiksKDAsdS5kZWZhdWx0KShpLCJhbW91bnQiLCJDYW50aWRhZCIpLCgwLHUuZGVmYXVsdCkoaSwibWFya2V0UHJpY2UiLCJQcmVjaW8gZGUgbWVyY2FkbyIpLCgwLHUuZGVmYXVsdCkoaSwibGltaXRQcmljZSIsIkzDrW1pdGUgZGUgcHJlY2lvcyIpLCgwLHUuZGVmYXVsdCkoaSwibnVtYmVyIiwiTsO6bWVybyBkZSBjb21lcmNpYW50ZXMiKSwoMCx1LmRlZmF1bHQpKGksIm1hcmdpbiIsIk1hcmdlbiIpLCgwLHUuZGVmYXVsdCkoaSwiaGFuZGxpbmdGZWUiLCJHYXN0b3MgZGUgdHJhbWl0YWNpw7NuIiksKDAsdS5kZWZhdWx0KShpLCJiYWxhbmNlIiwiU2FsZG8iKSwoMCx1LmRlZmF1bHQpKGksIm11bHRpcGxlIiwiTcO6bHRpcGxvIiksKDAsdS5kZWZhdWx0KShpLCJyZWNoYXJnZSIsIlJlY2FyZ2FyIiksKDAsdS5kZWZhdWx0KShpLCJwbHNJcHRDb21taXNzaW9uUHJpY2UiLCJQb3IgZmF2b3IsIGludHJvZHV6Y2EgZWwgcHJlY2lvIGRlIGVudsOtbyIpLCgwLHUuZGVmYXVsdCkoaSwidHJhZGluZ1BhaXIiLCJQYXIgZGUgdHJhbnNhY2Npb25lcyIpLCgwLHUuZGVmYXVsdCkoaSwiZGlyZWN0aW9uIiwiRGlyZWNjacOzbiIpLCgwLHUuZGVmYXVsdCkoaSwicGxzSXB0Q3J0UHJpY2UiLCJJbnRyb2R1emNhIGVsIHByZWNpbyBjb3JyZWN0byIpLCgwLHUuZGVmYXVsdCkoaSwicG9zaXRpb24iLCJQb3NpY2nDs24iKSwoMCx1LmRlZmF1bHQpKGksInRpbWUiLCJUaWVtcG8iKSwoMCx1LmRlZmF1bHQpKGksInR1cm5vdmVyIiwiVm9sdW1lbiBkZSBsYXMgdHJhbnNhY2Npb25lcyIpLCgwLHUuZGVmYXVsdCkoaSwib3BlcmF0aW9uIiwiT3BlcmFjaW9uZXMiKSwoMCx1LmRlZmF1bHQpKGksInR5cGUiLCJUaXBvIiksKDAsdS5kZWZhdWx0KShpLCJjb3ZlciIsIkNpZXJyZSIpLCgwLHUuZGVmYXVsdCkoaSwiY29uZmlybUNvdmVyIiwiwr9Fc3TDoXMgc2VndXJvIGRlIGNlcnJhcj8iKSwoMCx1LmRlZmF1bHQpKGksImNvbmZpcm1TZWxmSG9sZCIsIsK/RXN0w6FzIHNlZ3VybyBkZSBxdWUgdGUgY29udmllcnRlcz8iKSwoMCx1LmRlZmF1bHQpKGksInNlbGZIb2xkaW5nIiwiQXV0b3N1ZmljaWVuY2lhIiksKDAsdS5kZWZhdWx0KShpLCJ0cmFuc1NlbGZIb2xkIiwiQXV0b3N1ZmljaWVuY2lhIiksKDAsdS5kZWZhdWx0KShpLCJkZWxlZ2F0ZUxpc3QiLCJMaXN0YSBkZSBkZWxlZ2Fkb3MiKSwoMCx1LmRlZmF1bHQpKGksInJpc2tSYXRlIiwiVGFzYSBkZSByaWVzZ28iKSwoMCx1LmRlZmF1bHQpKGksInRvdGFsUGFuZEwiLCJJbmdyZXNvcyBicnV0b3MgcG9yIHBvc2ljacOzbiIpLCgwLHUuZGVmYXVsdCkoaSwib25lQ2xpY2tDb3ZlciIsIkNpZXJyZSBkZSB1biBib3TDs24iKSwoMCx1LmRlZmF1bHQpKGksIm9wZW4iLCJQcmVjaW8gZGUgYXBlcnR1cmEiKSwoMCx1LmRlZmF1bHQpKGksInRhcmdldFByb2ZpdFByaWNlIiwiUHJlY2lvIGRlIHBhcmFkYSIpLCgwLHUuZGVmYXVsdCkoaSwidXBkYXRlUHJpY2UiLCJQcmVjaW8gYWN0dWFsIiksKDAsdS5kZWZhdWx0KShpLCJzdG9wTG9zc1ByaWNlIiwiUHJlY2lvIGRlIHBhcmFkYSIpLCgwLHUuZGVmYXVsdCkoaSwib3Zlcm5pZ2h0TW9uZXkiLCJUYXJpZmEgbm9jdHVybmEiKSwoMCx1LmRlZmF1bHQpKGksIm9wZW5UaW1lIiwiVGllbXBvIGRlIGFwZXJ0dXJhIiksKDAsdS5kZWZhdWx0KShpLCJsb3RzIiwiTWFubyIpLCgwLHUuZGVmYXVsdCkoaSwic2V0UHJvZml0TG9zcyIsIkVzdGFibGVjZXIgcGFyYWRhIGRlIGludGVyZmVyZW5jaWEiKSwoMCx1LmRlZmF1bHQpKGksImV4cGVjdGVkUHJvZml0IiwiQmVuZWZpY2lvcyBwcmV2aXN0b3MiKSwoMCx1LmRlZmF1bHQpKGksImV4cGVjdGVkTG9zcyIsIlDDqXJkaWRhcyBwcmV2aXN0YXMiKSwoMCx1LmRlZmF1bHQpKGksImNvdmVyQWxsIiwiQ2llcnJlIHRvdGFsIiksKDAsdS5kZWZhdWx0KShpLCJvbmx5Q292ZXJNYW55IiwiU8OzbG8gcGluZ2R1b3NoYW4iKSwoMCx1LmRlZmF1bHQpKGksIm9ubHlDb3ZlckVtcHR5IiwiU29sbyBwbGFubyIpLCgwLHUuZGVmYXVsdCkoaSwibnVtYmVycyIsIkNhbnRpZGFkIiksKDAsdS5kZWZhdWx0KShpLCJjb2luQnV5UHJpY2UiLCJDb21lcmNpbyBhIHByZWNpb3Mgw7NwdGltb3MgYWN0dWFsZXMiKSwoMCx1LmRlZmF1bHQpKGksImppbmUiLCJJbXBvcnRlIiksKDAsdS5kZWZhdWx0KShpLCJwX2ppbmUiLCJJbnRyb2R1emNhIGxhIGNhbnRpZGFkIiksKDAsdS5kZWZhdWx0KShpLCJwX3ByaWNlIiwiUG9yIGZhdm9yLCBpbnRyb2R1emNhIGVsIHByZWNpbyIpLCgwLHUuZGVmYXVsdCkoaSwicF9jb25maXJtX3NqIiwiRGV0ZXJtaW5hciBlbCBwcmVjaW8gZGUgbWVyY2FkbyIpLCgwLHUuZGVmYXVsdCkoaSwicF9jb25maXJtX3hqXzEiLCJEZXRlcm1pbmFyIGFsIHByZWNpbyBhY3R1YWwiKSwoMCx1LmRlZmF1bHQpKGksInBfY29uZmlybV9tYSIsIsK/UXXDqT8iKSwoMCx1LmRlZmF1bHQpKGksInN0YXR1cyIsIkVzdGFkbyIpLCgwLHUuZGVmYXVsdCkoaSwiY29tcGxldGUiLCJDb21wbGV0YWRvIiksKDAsdS5kZWZhdWx0KShpLCJkb2luZyIsIkVuIGN1cnNvIiksKDAsdS5kZWZhdWx0KShpLCJjdXJyZW50RW50cnVzdCIsIkRlbGVnYWNpw7NuIGFjdHVhbCIpLCgwLHUuZGVmYXVsdCkoaSwiYWxsRW50cnVzdCIsIlRvZG9zIGxvcyBkZWxlZ2Fkb3MiKSwoMCx1LmRlZmF1bHQpKGksImVudHJ1c3QiLCJEZWxlZ2FjacOzbiIpLCgwLHUuZGVmYXVsdCkoaSwiZW50cnVzdFRpbWUiLCJUaWVtcG8gZGUgZGVsZWdhY2nDs24iKSwoMCx1LmRlZmF1bHQpKGksImFsbCIsIlRvZG9zIiksKDAsdS5kZWZhdWx0KShpLCJidXlVcCIsIkNvbXByYXIgbcOhcyIpLCgwLHUuZGVmYXVsdCkoaSwiYnV5RG93biIsIkNvbXByYXIgbWVub3MiKSwoMCx1LmRlZmF1bHQpKGksImp5ZSIsImNhbnRpZGFkIGRlIHRyYW5zYWNjacOzbiIpLGkpLGZ1bmQ6KHM9e292ZXJ2aWV3OiJQYW5vcmFtYSBnZW5lcmFsIixiYWxhbmNlOiJTYWxkbyIsZnV0dXJlczoiQ29udHJhdG8iLGRlcG9zaXQ6IkRlcMOzc2l0byIsbWluaW5nOiJtaW5lcsOtYSIsc3RvY2s6IkFjY2lvbmVzIixtYXJnaW46IlN1cGVyIHBhbGFuY2EiLHllc3RlcmRheUVhcm5pbmdzOiJHYW5hbmNpYXMgZGUgYXllciIseWllbGRBdE1hdHVyaWx5OiJJbmdyZXNvcyBkZWJpZG9zIix0b3RhbGtSZXZlbnVlOiJJbmdyZXNvcyB0b3RhbGVzIixjdXJyZW50UHJvZml0OiJHYW5hbmNpYXMgeSBww6lyZGlkYXMgY29ycmllbnRlcyIscHJvZml0UmF0aW86IlJlbnRhYmlsaWRhZCIscmVjZWl2ZToiUmVjYXJnYXIgLyBjb2JyYXIiLHRyYW5zZmVyOiJSZXRpcm8gLyB0cmFuc2ZlcmVuY2lhIixmaW5hbmNpYWw6IkZpbmFuY2lhY2nDs24gZmluYW5jaWVyYSIsdmFsdWF0aW9uOiJWYWxvcmFjacOzbiIsY3VycmVudEVhcm5pbmdzOiJJbmdyZXNvcyBDb3JyaWVudGVzIix5ZXN0ZXJkYXlJbmNvbWU6IkdhbmFuY2lhcyBkZSBheWVyIixjcnlwdG86Ik1vbmVkYSBkaWdpdGFsIixmaWF0OiJNb25lZGEgZnJhbmNlc2EiLGhpZGVTbWFsbEN1cnJlbmN5OiJPY3VsdGFyIG1vbmVkYXMgcGVxdWXDsWFzIixhdmFpbGFibGU6IkRpc3BvbmlibGUiLGZyZWV6ZToiQ29uZ2VsYWNpw7NuIixlcXVpdmFsZW50OiJDb252ZXJzacOzbiIsdXNkdG06IkVzdMOhbmRhciB1Iixjb2lubToiTm9ybWEgbW9uZXRhcmlhIixleGNoYW5nZToiTW9uZWRhIixsZXZlcmFnZToiQ29udHJhdG8ifSwoMCx1LmRlZmF1bHQpKHMsImZpYXQiLCJNb25lZGEgZnJhbmNlc2EiKSwoMCx1LmRlZmF1bHQpKHMsInNlY29uZCIsIk9wY2lvbmVzIiksKDAsdS5kZWZhdWx0KShzLCJjb252ZXJ0IiwiQ29udmVyc2nDs24gdG90YWwgZGUgYWN0aXZvcyIpLCgwLHUuZGVmYXVsdCkocywiY29udmVydDIiLCJDb252ZXJzacOzbiBkZSBhY3Rpdm9zIiksKDAsdS5kZWZhdWx0KShzLCJyZWNvcmQiLCJSZWdpc3RybyBkZSBjYW1iaW9zIGNvbnRhYmxlcyIpLCgwLHUuZGVmYXVsdCkocywiYXZhaWxhYmxlUXVvdGEiLCJDYW50aWRhZCBkaXNwb25pYmxlIiksKDAsdS5kZWZhdWx0KShzLCJsb2NrZWQiLCJCbG9xdWVvIiksKDAsdS5kZWZhdWx0KShzLCJjb252ZXJ0ZWQiLCJDb252ZXJzacOzbiIpLCgwLHUuZGVmYXVsdCkocywiYWNjb3VudCIsIkN1ZW50YSIpLCgwLHUuZGVmYXVsdCkocywiZmluYW5jaWFsUmVjb3JkcyIsIlJlZ2lzdHJvcyBmaW5hbmNpZXJvcyIpLCgwLHUuZGVmYXVsdCkocywibnVtYmVyIiwiQ2FudGlkYWQiKSwoMCx1LmRlZmF1bHQpKHMsInJlY29yZDIiLCJSZWdpc3RybyIpLCgwLHUuZGVmYXVsdCkocywidGltZSIsIlRpZW1wbyIpLCgwLHUuZGVmYXVsdCkocywidHJhbnNmZXIiLCJUcmFuc2ZlcmVuY2lhIGRlIG1vbmVkYSIpLCgwLHUuZGVmYXVsdCkocywiZnJvbSIsIkRlIiksKDAsdS5kZWZhdWx0KShzLCJ0byIsIkEiKSwoMCx1LmRlZmF1bHQpKHMsInRyYW5zZmVyTnVtYmVyIiwiTsO6bWVybyBkZSB0cmFuc2ZlcmVuY2lhcyIpLCgwLHUuZGVmYXVsdCkocywieW91R2V0IiwiVGVuZHLDoXMiKSwoMCx1LmRlZmF1bHQpKHMsImV4Y2hhbmdlUmF0ZSIsIlRpcG8gZGUgY2FtYmlvIiksKDAsdS5kZWZhdWx0KShzLCJoYW5kbGluZ0ZlZSIsIkdhc3RvcyBkZSB0cmFtaXRhY2nDs24iKSwoMCx1LmRlZmF1bHQpKHMsImZ1bmRUcmFuc2ZlciIsIlRyYW5zZmVyZW5jaWEgZGUgZm9uZG9zIiksKDAsdS5kZWZhdWx0KShzLCJpbnN1ZmZpY2llbnRCYWxhbmNlIiwiU2FsZG8gaW5zdWZpY2llbnRlIiksKDAsdS5kZWZhdWx0KShzLCJuZWVkSGFuZGxpbmdGZWUiLCJDYXJnbyBhZGljaW9uYWwiKSwoMCx1LmRlZmF1bHQpKHMsInBsc0lwdENydE51bWJlciIsIkludHJvZHV6Y2EgbGEgY2FudGlkYWQgY29ycmVjdGEiKSwoMCx1LmRlZmF1bHQpKHMsImNfdHJhbnNmZXIiLCLCv0VzdMOhcyBzZWd1cm8gZGUgcmVtYXI/IiksKDAsdS5kZWZhdWx0KShzLCJzZWxlY3RDdXJyZW5jeSIsIlNlbGVjY2lvbmFyIG1vbmVkYSIpLCgwLHUuZGVmYXVsdCkocywiRElHSUNDWSIsIk1vbmVkYSBkaWdpdGFsIiksKDAsdS5kZWZhdWx0KShzLCJzYXZlUXJjb2RlIiwiR3VhcmRhciBDw7NkaWdvIFFSIiksKDAsdS5kZWZhdWx0KShzLCJjb3B5QWRkcmVzcyIsIkNvcGlhciBkaXJlY2Npw7NuIGRlIGVubGFjZSIpLCgwLHUuZGVmYXVsdCkocywicGxzVHJhbnMiLCJQb3IgZmF2b3IsIHRyYW5zZmllcmEgYSBlc3RhIGRpcmVjY2nDs24iKSwoMCx1LmRlZmF1bHQpKHMsInJlY2hhcmdlTnVtZXIiLCJDYW50aWRhZCBkZSByZWNhcmdhIiksKDAsdS5kZWZhdWx0KShzLCJwYXltZW50Vm91Y2hlciIsIkNvbXByb2JhbnRlIGRlIHBhZ28iKSwoMCx1LmRlZmF1bHQpKHMsInBsc0lwdFJlY2hhcmdlTnVtZXIiLCJJbnRyb2R1emNhIGVsIG7Dum1lcm8gZGUgcmVjYXJnYXMiKSwoMCx1LmRlZmF1bHQpKHMsInBsc1VwbG9hZFBheW1lbnRWb3VjaGVyIiwiUG9yIGZhdm9yLCBzdWJhIGVsIGNlcnRpZmljYWRvIGRlIHBhZ28iKSwoMCx1LmRlZmF1bHQpKHMsInBsc0lwdENydEFtb3VudCIsIkludHJvZHV6Y2EgbGEgY2FudGlkYWQgY29ycmVjdGEiKSwoMCx1LmRlZmF1bHQpKHMsIndpdGhkcmF3IiwiUmV0aXJvIC8gdHJhbnNmZXJlbmNpYSIpLCgwLHUuZGVmYXVsdCkocywiY3VycmVuY3lOYW1lIiwiTm9tYnJlIGRlIGxhIG1vbmVkYSIpLCgwLHUuZGVmYXVsdCkocywidHJhbnNhY3Rpb25JbmZvIiwiQ3VlbnRhIGRlIG5lZ29jaWFjacOzbiIpLCgwLHUuZGVmYXVsdCkocywid2l0aGRyYXcyIiwiUHJlc2VudGFjacOzbiIpLCgwLHUuZGVmYXVsdCkocywiY2FuVXNlIiwiRGlzcG9uaWJsZSIpLCgwLHUuZGVmYXVsdCkocywiYWxsIiwiVG9kb3MiKSwoMCx1LmRlZmF1bHQpKHMsInBsc0lwdFdpdGhkcmF3TnVtYmVyIiwiUG9yIGZhdm9yLCBpbnRyb2R1emNhIGxhIGNhbnRpZGFkIHJldGlyYWRhIiksKDAsdS5kZWZhdWx0KShzLCJ3aXRoZHJhd051bWJlciIsIkNhbnRpZGFkIHJldGlyYWRhIiksKDAsdS5kZWZhdWx0KShzLCJyZW1hcmsiLCJPYnNlcnZhY2lvbmVzIiksKDAsdS5kZWZhdWx0KShzLCJoYW5kbGluZ0ZlZSIsIkdhc3RvcyBkZSB0cmFtaXRhY2nDs24iKSwoMCx1LmRlZmF1bHQpKHMsImNhbkdldE51bWJlciIsIkNhbnRpZGFkIHJlY2liaWRhIiksKDAsdS5kZWZhdWx0KShzLCJsZWFzdE51bWJlciIsIkNhbnRpZGFkIG3DrW5pbWEgZGUgcmV0aXJhZGEiKSwoMCx1LmRlZmF1bHQpKHMsImNvaW5UeXBlIiwiTW9uZWRhIiksKDAsdS5kZWZhdWx0KShzLCJhZGRyZXNzIiwiRGlyZWNjacOzbiIpLCgwLHUuZGVmYXVsdCkocywiZGF0ZSIsIkZlY2hhIiksKDAsdS5kZWZhdWx0KShzLCJ3aXRoZHJhd0FkZHJlc3MiLCJEaXJlY2Npw7NuIGRlIGxhIG1vbmVkYSIpLCgwLHUuZGVmYXVsdCkocywicGxzU2VsZWN0V2l0aGRyYXdBZGRyZXNzIiwiUG9yIGZhdm9yLCBzZWxlY2Npb25lIGxhIGRpcmVjY2nDs24gZGUgbGEgbW9uZWRhIiksKDAsdS5kZWZhdWx0KShzLCJ3aXRoZHJhd1RvQ2FyZCIsIlJlZmVyZW5jaWEgYSBsYSB0YXJqZXRhIGJhbmNhcmlhIiksKDAsdS5kZWZhdWx0KShzLCJ3aXRoZHJhd1RvQ2FyZEludGVybmF0aW9uIiwiSW50ZXJuYXRpb25hbCIpLCgwLHUuZGVmYXVsdCkocywid2l0aGRyYXdUb0FkZHJlc3MiLCJNZW5jaW9uYXIgbGEgZGlyZWNjacOzbiBkZSBsYSBjYXJ0ZXJhIiksKDAsdS5kZWZhdWx0KShzLCJjYXJkIiwiVGFyamV0YSBiYW5jYXJpYSIpLCgwLHUuZGVmYXVsdCkocywiYWRkQ2FyZCIsIkHDsWFkaXIgdGFyamV0YSBiYW5jYXJpYSIpLCgwLHUuZGVmYXVsdCkocywicGxzQWRkQ2FyZCIsIlBvciBmYXZvciwgYWdyZWd1ZSB1bmEgdGFyamV0YSBiYW5jYXJpYSIpLCgwLHUuZGVmYXVsdCkocywiY3pTdGF0ZUxvYWRpbmciLCJiYWpvIHJldmlzacOzbiIpLCgwLHUuZGVmYXVsdCkocywiY3pTdGF0ZU9rIiwiUmV2aXNpw7NuIGV4aXRvc2EiKSwoMCx1LmRlZmF1bHQpKHMsImN6U3RhdGVObyIsIkZhbGxhIGRlIGF1ZGl0b3LDrWEiKSxzKSxpZW86e3N1YnNjcmliZToiU3VzY3JpcGNpw7NuIixpbmc6IkVuIGN1cnNvIixkb25lOiJUZXJtaW5hZG8iLGFwcGx5U3Vic2NyaXB0aW9uOiJTb2xpY2l0dWQgZGUgc3VzY3JpcGNpw7NuIixyZW1haW5pbmc6IlJlbWFuZW50ZSIsbG9ja1BlcmlvZDoiUGVyw61vZG8gZGUgYmxvcXVlbyIsZW5kVGltZToiSG9yYSBmaW5hbCIsc3Vic2NyaWJlQ3VycmVuY3k6Ik1vbmVkYSBkZSBzdXNjcmlwY2nDs24iLGlzc3VhbmNlUHJpY2U6IlByZWNpbyBkZSBlbWlzacOzbiIsdG90YWxJc3N1YW5jZToiVG90YWwgZGUgZW1pc2lvbmVzIix3aGl0ZVBhcGVyOiJMaWJybyBCbGFuY28iLHN1YnNjcmlwdGlvbkN5Y2xlOiJDaWNsbyBkZSBzdXNjcmlwY2nDs24iLHdhcm1VcDoiUHJlY2FsZW50YW1pZW50byIsd2Vic2l0ZToiU2l0aW8gd2ViIG9maWNpYWwiLGZpbmlzaDoiRmluIixwcm9qZWN0RGV0YWlsczoiRGV0YWxsZXMgZGVsIHByb3llY3RvIixzdWJzY3JpcHRpb25Db25maXJtYXRpb246IkNvbmZpcm1hY2nDs24gZGUgc3VzY3JpcGNpw7NuIixwX2FwcGxpY2F0aW9uc051bWJlcjoiSW50cm9kdXpjYSBlbCBuw7ptZXJvIGRlIHN1c2NyaXBjaW9uZXMiLG5lZWRUb1BheToiTmVjZXNpZGFkIGRlIHBhZ2FyIixjdXJyZW50QmFsYW5jZToiU2FsZG8gYWN0dWFsIixzdWJzY3JpcHRpb25UaW1lOiJUaWVtcG8gZGUgc3VzY3JpcGNpw7NuIixjdXJyZW5jeToiTW9uZWRhIixhcHBsaWNhdGlvbnNOdW1iZXI6Ik7Dum1lcm8gZGUgc29saWNpdHVkZXMiLHBhc3Nlc051bWJlcjoiTsO6bWVybyBkZSBwYXNlcyIsdGltZVRvTWFya2V0OiJUaWVtcG8gZGUgY290aXphY2nDs24iLGRheToiRMOtYXMiLHRvdGFsOiJUb3RhbCIsc3Vic2NyaWJlZDoiU3VzY3JpcGNpw7NuIixzaGVuZ291OiJTdXNjcmlwY2nDs24iLGluc3VmZmljaWVudEJhbGFuY2U6IlNhbGRvIGluc3VmaWNpZW50ZSIscF9udW1iZXI6IlBvciBmYXZvciwgaW50cm9kdXpjYSBsYSBjYW50aWRhZCIsbXlTdWJzY3JpYmU6Ik1pIHN1c2NyaXBjacOzbiJ9LGxvY2ttaW5nOntsb2NrbWluZzoiUHJvbWVzYSIsZnVuZHNVbmRlckN1c3RvZHk6IkZvbmRvcyBlbiBmaWRlaWNvbWlzbyIsZW50cnVzdGVkT3JkZXJzOiJPcmRlbiBkZWxlZ2FkYSIsZXN0aW1hdGVkVG9kYXlJbmNvbWU6IkltcG9ydGUgZXN0aW1hZG8gZGUgZGV2b2x1Y2nDs24gcGFyYSBlbCBkw61hIixjdW11bGF0aXZlSW5jb21lOiJJbmdyZXNvcyBhY3VtdWxhZG9zIixvcmRlcnNJbkN1c3RvZHk6Ik9yZGVuIGVuIGN1c3RvZGlhIixsb2NrZWRQb3NpdGlvbnNUb0Vhcm5Db2luczoibWluZXLDrWEiLGxvY2tlZFBvc2l0aW9uczoiU2lsbyBjZXJyYWRvIixtaW5pbXVtU2luZ2xlVHJhbnNhY3Rpb246Ik3DrW5pbW8gZGUgdW5hIHBsdW1hIixkYWlseVlpZWxkOiJSZW5kaW1pZW50byBkaWFyaW8iLGxvY2tVcFBlcmlvZDoiUGVyw61vZG8gZGUgYmxvcXVlbyIsYWNxdWlzaXRpb246Ik9idGVuZXIiLHJlY2VudERheXM6IlJlY2llbnRlbWVudGUiLGRpdmlkZW5kVGltZToiVGllbXBvIGRlIHBhZ28iLGVzY3Jvd0Z1bmRzOiJGb25kb3MgZW4gZmlkZWljb21pc28iLHJlZGVtcHRpb25JbkFkdmFuY2U6IkFtb3J0aXphY2nDs24gYW50aWNpcGFkYSIsZXN0aW1hdGVkSW5jb21lOiJJbmdyZXNvcyBwcmV2aXN0b3MiLGF2YWlsYWJsZUFzc2V0czoiQWN0aXZvcyBkaXNwb25pYmxlcyIsaW52ZXN0bWVudEFtb3VudE9idGFpbmVkOiJPYnRlbmNpw7NuIGRlbCBpbXBvcnRlIGRlIGxhIGludmVyc2nDs24iLGFsbDoiVG9kb3MiLGxfYWxlcnRfMToiTGEgbWluZXLDrWEgc2lndWUgZ2lyYW5kbyIsbF9hbGVydF8yOiJFbCBibG9xdWVvIGRlIGxhIG1pbmEgc2UgcmVhbGl6YSBtZWRpYW50ZSBlbCBkZXDDs3NpdG8gZGUgdXNkdCBhIGxhIG3DoXF1aW5hIGRlIHNvYnJlYWxpbWVudGFjacOzbiBkZSBsYSBwbGF0YWZvcm1hIHBhcmEgb2J0ZW5lciBpbmdyZXNvcyBkZSBsYSBtaW5hIGVuIGxhIHBpc2NpbmEgZGUgbGEgUGxhdGFmb3JtYS4iLGZlYXR1cmVzOiJQcm9kdWN0b3MgZGVzdGFjYWRvcyIsb25EZW1hbmQ6Ikp1bnRvIGNvbiBsYSBleGlzdGVuY2lhIixkaXZpZGVuZFBlcmlvZDoiQ2ljbG8gZGUgZGl2aWRlbmRvcyIsaXNzdWVkRGFpbHk6IkRpc3RyaWJ1Y2nDs24gZGlhcmlhIixjdXJyZW50SW50ZXJlc3Q6IkludGVyZXNlcyBjb3JyaWVudGVzIixmZWF0dXJlXzE6IlNlZ3VyaWRhZCBkZWwgMTAwJSBkZSBsb3MgZm9uZG9zIixmZWF0dXJlXzI6IkluZ3Jlc29zIGRlIHZhY2FjaW9uZXMiLGZlYXR1cmVfMzoiRGVzcHXDqXMgZGVsIGRlcMOzc2l0byBleGl0b3NvPGJyPmEgcGFydGlyIGRlbCBtaXNtbyBkw61hIixmb3JJbnN0YW5jZToiUG9yIGVqZW1wbG8sIixpbmNvbWVDYWxjdWxhdGlvbjoiQ8OhbGN1bG8gZGUgbG9zIGluZ3Jlc29zIixmb3JJbnN0YW5jZURlc2M6IlVtIG1lbWJybyBkb2EgMTAwMDBVIG5hIHBsYXRhZm9ybWEuIFNlIGVsZSBlc2NvbGhlciB1bSBwcm9kdXRvIGZpbmFuY2Vpcm8gY29tIHVtIGNpY2xvIGRlIDcgZGlhcyBlIHVtYSBzYcOtZGEgZGnDoXJpYSBkZSAwLDI1JSBkbyB2YWxvciBwcm9tZXRpZG8sIGEgc2HDrWRhIGRpw6FyaWEgw6kgYSBzZWd1aW50ZTogPGJyLz4gMTAwMDAgKiAwLjI1JSA9IDI1IFVTRFQgPGJyLz4gQXDDs3MgNyBkaWFzIFZvY8OqIHBvZGUgb2J0ZXIgMjUgKiA3ID0gMTc1IFVTRFQgZGUgcmVuZGEuIEEgcmVuZGEgw6kgZW1pdGlkYSB0b2RvcyBvcyBkaWFzLCBlIGEgcmVuZGEgZW1pdGlkYSBwb2RlIHNlciBkZXBvc2l0YWRhIGUgcmV0aXJhZGEgYSBxdWFscXVlciBtb21lbnRvLiBEZXBvaXMgcXVlIG8gcHJpbmNpcGFsIGRvIHBlbmhvciBleHBpcmFyLCBlbGUgc2Vyw6EgYXV0b21hdGljYW1lbnRlIHRyYW5zZmVyaWRvIHBhcmEgbyBzZXUgY29udGEgZGUgY2FwaXRhbC4iLGFib3V0TGlxdWlkYXRlZERhbWFnZXM6IlNvYnJlIGRhbm9zIGxpcXVpZGFkb3MiLGFib3V0TGlxdWlkYXRlZERhbWFnZXNDb250ZW50OiJTZSB2b2PDqiBkZXNlamEgdHJhbnNmZXJpciBvIHByaW5jaXBhbCBuw6NvIGV4cGlyYWRvLCBoYXZlcsOhIHVtYSBtdWx0YSBkZSAyNSUsIHBvciBleGVtcGxvOiA8YnIvPjEwMDAwKjI1JT0yNTAwVTsgb3MgZnVuZG9zIGRlIHJlc2dhdGUgc2Vyw6NvIDEwMDAwLTI1MDA9NzUwMFUuIixqb2luTm93OiJWb3kgYSBhc2lzdGlyLiIsZGF5OiJEw61hcyIsZGFpbHk6IlRvZG9zIGxvcyBkw61hcyIscmV0dXJuT25FeHBpcmF0aW9uOiJSZXRvcm5vIGRlYmlkbyIsZ2V0OiJPYnRlbmVyIixudW1iZXJPZkNvaW5zRGVwb3NpdGVkOiJOw7ptZXJvIGRlIG1vbmVkYXMgZGVwb3NpdGFkYXMiLHN1YnNjcmliZToiU3VzY3JpcGNpw7NuIixpbnN1ZmZpY2llbnRCYWxhbmNlOiJTYWxkbyBpbnN1ZmljaWVudGUiLHBfbnVtYmVyOiJQb3IgZmF2b3IsIGludHJvZHV6Y2EgbGEgY2FudGlkYWQiLGxlYXN0U2luZ2xlOiJNw61uaW1vIGRlIHVuYSBwbHVtYSIsbG9ja2VkUG9zaXRpb25MaXN0OiJMaXN0YSBkZSBTaWxvcyIsaW5Qcm9ncmVzczoiRW4gY3Vyc28iLHJlZGVlbWVkOiJSZWRpbWlkbyIsZXhwaXJ5VGltZToiRmVjaGEgZGUgdmVuY2ltaWVudG8iLGxvY2tVcFRpbWU6IlRpZW1wbyBkZSBjaWVycmUiLHN0YXJ0VGltZToiVGllbXBvIGRlIGVtcGV6YXIiLGVhcmx5UmVkZW1wdGlvblBlbmFsdHk6IlJlZW1ib2xzbyBhbnRpY2lwYWRvIGRlIGRhw7FvcyB5IHBlcmp1aWNpb3MiLHJlZGVtcHRpb246IlJlZGVuY2nDs24iLGNfcmVkZW1wdGlvbjoiwr9TZWd1cm8gZGUgYW1vcnRpemFjacOzbiBhbnRpY2lwYWRhPyJ9LGludmVzdDp7aW52ZXN0OiJHZXN0acOzbiBmaW5hbmNpZXJhIixzZWN0aW9uOiJab25hIixwZXJQcmljZToiUHJlY2lvIHVuaXRhcmlvIixhcHI6IlJlbmRpbWllbnRvIGFudWFsaXphZG8iLGxpbmtlZFJlZmVyZW5jZVByaWNlOiJQcmVjaW8gZGUgcmVmZXJlbmNpYSBkZWwgZ2FuY2hvIixob2xkaW5nRGF5czoiRHVyYWNpw7NuIGRlIGxhIHBvc2ljacOzbiIsbWF0dXJpdHlEYXRlOiJGZWNoYSBkZSB2ZW5jaW1pZW50byIscmVtYWluaW5nU2hhcmVzOiJQYXJ0aWNpcGFjacOzbiByZXNpZHVhbCIscHJvZ3Jlc3M6IlByb2dyZXNvIGFjdHVhbCIsYWN0aW9uOiJPcGVyYWNpb25lcyIscHVyY2hhc2U6IkNvbXByYXIiLG15UG9zaXRpb246Ik1pcyBGaW5hbnphcyIsYnV5U2hhcmVzOiJDb21wcmFyIGFjY2lvbmVzIixlc3RpbWF0ZWRJbmNvbWU6IkluZ3Jlc29zIHByZXZpc3RvcyIsZGF5OiJEw61hcyIsc2hhcmU6IkNvcHkiLGZhaWw6IkZyYWNhc28iLHB1cmNoYXNlZDoiQ29tcHJhZG8iLHNldHRsZW1lbnRpbmc6IkxpcXVpZGFjacOzbiIsc3VjY2VzczoiQ29tcGxldGFkbyIsYWxsOiJUb2RvcyIsbmFtZToiTm9tYnJlIixyZW1haW46IlJlbWFuZW50ZSIsaW5zdHJ1Y3Rpb246IkRlc2NyaXBjacOzbiBkZWwgcHJvZHVjdG8iLGhlbHA6IkF5dWRhIixzaHVvbWluZ18xOiIxLiBFc3RlIHByb2R1Y3RvIGVzIHVuIHByb2R1Y3RvIGZpbmFuY2llcm8gbm8gZ2FyYW50aXphZG8uIExhcyBmbHVjdHVhY2lvbmVzIGRlbCBtZXJjYWRvIHB1ZWRlbiBjYXVzYXIgcMOpcmRpZGFzIGRlIGNhcGl0YWwuIFBvciBmYXZvciwgdGVuZ2EgY3VpZGFkbyBjb24gbGEgaW52ZXJzacOzbi4iLHNodW9taW5nXzI6IjIuIE5vcm1hcyBwYXJhIGxhIGxpcXVpZGFjacOzbiBkZSBsYSByZWNhdWRhY2nDs24gZGUgZm9uZG9zOiIsc2h1b21pbmdfMzoiU2kgZWwgcHJlY2lvIGRlIGxpcXVpZGFjacOzbiBlcyBpbmZlcmlvciBhbCBwcmVjaW8gdmluY3VsYWRvLCBlbCBCVEMgc2UgbGlxdWlkYXLDoSBhbCB2ZW5jaW1pZW50bzsgQ2FudGlkYWQgZGUgbGlxdWlkYWNpw7NuID0gY2FudGlkYWQgZGUgaW52ZXJzacOzbiAqICgxICsgZMOtYXMgKiByZW5kaW1pZW50byBhbnVhbGl6YWRvIC8gMzY1KS4iLHNodW9taW5nXzQ6IlNpIGVsIHByZWNpbyBkZSBsaXF1aWRhY2nDs24gZXMg4omlIHByZWNpbyB2aW5jdWxhZG8sIGVsIHVzZHQgc2UgbGlxdWlkYXLDoSBkZXNwdcOpcyBkZSBzdSB2ZW5jaW1pZW50bzsgQ2FudGlkYWQgbGlxdWlkYWRhID0gY2FudGlkYWQgZGUgaW52ZXJzacOzbiAqIHByZWNpbyB2aW5jdWxhZG8gKiAoMSArIGTDrWFzICogcmVuZGltaWVudG8gYW51YWxpemFkbyAvIDM2NSkuIixzaHVvbWluZ181OiIzLiBMYSB0YXNhIGRlIHJlbmRpbWllbnRvIGFudWFsaXphZGEgcmVhbCB2YXLDrWEgY29uIGVsIG1lcmNhZG8gZW4gdGllbXBvIHJlYWwuIFBvciBmYXZvciwgdGVuZ2EgZW4gY3VlbnRhIGxhIGNvbXByYSByZWFsIHkgbGEgdHJhbnNhY2Npw7NuLiIsc2h1b21pbmdfNjoiNC4gRWwgaW1wb3J0ZSBkZSBsYSBpbnZlcnNpw7NuIHNlIGNvbnZlcnRpcsOhIGNvbiBlbCBtZXJjYWRvIGVuIHRpZW1wbyByZWFsLiBQb3IgZmF2b3IsIHRlbmdhIGVuIGN1ZW50YSBsYSBjb21wcmEgcmVhbCB5IGxhIHRyYW5zYWNjacOzbi4iLHNodW9taW5nXzc6IjUuIERlc3B1w6lzIGRlIGxhIGNvbXByYSBkZSBsb3MgcHJvZHVjdG9zIHNlIHB1ZWRlIHZlciBlbiBtaSBww6FnaW5hIGRlIHRlbmVuY2lhIGRlIG1vbmVkYSwgZGVzcHXDqXMgZGUgbGEgZmVjaGEgZGUgdmVuY2ltaWVudG8sIGVsIHBhZ28gc2UgZW50cmVnYXLDoSBhdXRvbcOhdGljYW1lbnRlIGEgbGEgY3VlbnRhIGFsIGNvbnRhZG8uIixlcnJvcl8xOiJQb3IgZmF2b3IsIGludHJvZHV6Y2EgbGEgY2FudGlkYWQgZGUgY29tcHJhIixlcnJvcl8yOiJMYSBjYW50aWRhZCBkZSBjb21wcmEgZGViZSBzZXIgdW4gbsO6bWVybyBlbnRlcm8iLGNvbmZpcm1QdXJjaGFzZToiwr9Fc3TDoXMgc2VndXJvIGRlIGNvbXByYXIgZXN0ZSBwcm9kdWN0byBmaW5hbmNpZXJvPyIscHVyY2hhc2VTdWNjZXNzOiLCoUNvbXByYSBleGl0b3NhISJ9LGZvbGxvdzooYz17Zm9sbG93OiJNZXJjaGFuZGlzZXIiLHRyYWRlckxpc3Q6Ikxpc3RhIGRlIGNvbWVyY2lhbnRlcyIsdG90YWxQcm9maXQ6IkdhbmFuY2lhcyB5IHDDqXJkaWRhcyB0b3RhbGVzIixjb3JyZWN0UmF0ZToiUHJlY2lzacOzbiB0b3RhbCIscG9zaXRpb25WYWx1YXRpb246IlZhbG9yYWNpw7NuIGRlIGxhcyBwb3NpY2lvbmVzIixlc3RpbWF0ZWRQcm9maXRUb2RheToiSW5ncmVzb3MgcHJldmlzdG9zIGhveSIscmF0ZU9mUmV0dXJuOiJUYXNhIGRlIHJlbmRpbWllbnRvIixiZWNvbWVBVHJhZGVyOiJDb252ZXJ0aXJzZSBlbiBjb21lcmNpYW50ZSJ9LCgwLHUuZGVmYXVsdCkoYywidHJhZGVyTGlzdCIsIkxpc3RhIGRlIGNvbWVyY2lhbnRlcyIpLCgwLHUuZGVmYXVsdCkoYywib25seVNob3dzVGhlUG9zaXRpb24iLCJNb3N0cmFyIHPDs2xvIHBvc2ljacOzbiIpLCgwLHUuZGVmYXVsdCkoYywidGhlRGF0YUlzVXBkYXRlZEV2ZXJ5SG91ciIsIkxvcyBkYXRvcyBzZSBhY3R1YWxpemFuIGNhZGEgaG9yYSIpLCgwLHUuZGVmYXVsdCkoYywiZm9sbG93aW5nIiwiTWVyY2hhbmRpc2VyIiksKDAsdS5kZWZhdWx0KShjLCJmb2xsb3ciLCJNZXJjaGFuZGlzZXIiKSwoMCx1LmRlZmF1bHQpKGMsImNvbmZpcm1Gb2xsb3ciLCLCv0VzdMOhcyBzZWd1cm8gZGUgc2VndWlyPyIpLCgwLHUuZGVmYXVsdCkoYywiY29uZmlybUNhbmNlbCIsIsK/RXN0w6FzIHNlZ3VybyBkZSBjYW5jZWxhciBlbCBzZWd1aW1pZW50bz8iKSwoMCx1LmRlZmF1bHQpKGMsImZvbGxvd1RyYWRlciIsIlNlZ3VpciBhIGxvcyBjb21lcmNpYW50ZXMiKSwoMCx1LmRlZmF1bHQpKGMsImVkaXRDb3B5IiwiRWRpdGFyIHNpZ3VpZW50ZSIpLCgwLHUuZGVmYXVsdCkoYywiYmVmb3JlQ29weSIsIkxlYSBjdWlkYWRvc2FtZW50ZSBhbnRlcyBkZSBlbGVnaXIgc2VndWlyIiksKDAsdS5kZWZhdWx0KShjLCJjb3B5QWdyZWVtZW50IiwiUHJvdG9jb2xvIGRlIHNlZ3VpbWllbnRvIiksKDAsdS5kZWZhdWx0KShjLCJjb3B5VHlwZSIsIk1vZG8gZGUgc2VndWltaWVudG8iKSwoMCx1LmRlZmF1bHQpKGMsImNvcHlUeXBlMSIsIlNlZ3VpbWllbnRvIGRlIG3Dumx0aXBsb3MgZmlqb3MiKSwoMCx1LmRlZmF1bHQpKGMsImNvcHlUeXBlMiIsIk7Dum1lcm8gZmlqbyBkZSBtYW5vcyBzZWd1aWRvIiksKDAsdS5kZWZhdWx0KShjLCJjb3B5QWxlcnQxIiwiTm8gaW1wb3J0YSBjdcOhbnRhcyDDs3JkZW5lcyBoYWdhIGVsIGNvbWVyY2lhbnRlLCB1c3RlZCBzaWd1ZSB1biBtw7psdGlwbG8gZmlqbyBkZSBzdSBlbGVjY2nDs24uIiksKDAsdS5kZWZhdWx0KShjLCJjb3B5QWxlcnQyIiwiKGN1YW5kbyBlbCBuw7ptZXJvIGRlIG1hbm9zIHByb3BvcmNpb25hbGVzIHNlYSA+IDEgeSBubyBzZWEgdW4gZW50ZXJvLCBzZSByZWRvbmRlYXLDoSBwYXJhIG1hbnRlbmVyIGVsIHZhbG9yIGRlIGRvcyBkZWNpbWFsZXMpIiksKDAsdS5kZWZhdWx0KShjLCJjb3B5TXVsdGlwbGUiLCJGb2xsb3cgbXVsdGlwbGUiKSwoMCx1LmRlZmF1bHQpKGMsImNhbmNlbENvcHkiLCJDYW5jZWxhciBzZWd1aW1pZW50byIpLCgwLHUuZGVmYXVsdCkoYywiY3VycmVudEZvbGxvd2VyTnVtYmVyIiwiTsO6bWVybyBhY3R1YWwgZGUgc2VndWlkb3JlcyIpLCgwLHUuZGVmYXVsdCkoYywidG90YWxQcm9maXRBbmRMb3NzIiwiR2FuYW5jaWFzIHkgcMOpcmRpZGFzIHRvdGFsZXMiKSwoMCx1LmRlZmF1bHQpKGMsInRvdGFsUmV0dXJuIiwiUmVuZGltaWVudG8gdG90YWwiKSwoMCx1LmRlZmF1bHQpKGMsImFjY3VyYWN5IiwiVGFzYSBkZSBwcmVjaXNpw7NuIiksKDAsdS5kZWZhdWx0KShjLCJwcm9maXRhYmxlT3JkZXJzIiwiT3JkZW4gZGUgYmVuZWZpY2lvcyIpLCgwLHUuZGVmYXVsdCkoYywic3VjY2Vzc2Z1bFNob3J0VHJhZGVzIiwiVmVudGEgZW4gY29ydG8gZXhpdG9zYSIpLCgwLHUuZGVmYXVsdCkoYywic3VjY2Vzc2Z1bExvbmdUcmFkZXMiLCJIYWNlciB0cmF0b3MgbGFyZ29zIGNvbiDDqXhpdG8iKSwoMCx1LmRlZmF1bHQpKGMsInllc3RlcmRheXNUcmFkaW5nU3RhdHVzIiwiU2l0dWFjacOzbiBjb21lcmNpYWwgZGUgYXllciIpLCgwLHUuZGVmYXVsdCkoYywiY3VycmVudFBvc2l0aW9ucyIsIlBvc2ljacOzbiBhY3R1YWwiKSwoMCx1LmRlZmF1bHQpKGMsInRvdGFsT3JkZXJzIiwiT3JkZW4gdG90YWwiKSwoMCx1LmRlZmF1bHQpKGMsInJlbWFpbiIsIlJlbWFuZW50ZSIpLCgwLHUuZGVmYXVsdCkoYywiZGlzdGFuY2VEdWUiLCJWZW5jaW1pZW50byBkZSBsYSBkaXN0YW5jaWEiKSwoMCx1LmRlZmF1bHQpKGMsImRheXMiLCJEw61hcyIpLCgwLHUuZGVmYXVsdCkoYywiZGVhZGxpbmUiLCJEdXJhY2nDs24iKSwoMCx1LmRlZmF1bHQpKGMsInN1YnNjcmlwdGlvbiIsIlN1c2NyaXBjacOzbiIpLCgwLHUuZGVmYXVsdCkoYywiZm9sbG93VXNlcnMiLCJTZWd1aXIgYWwgdXN1YXJpbyIpLCgwLHUuZGVmYXVsdCkoYywiZm9sbG93QW1vdW50IiwiU2lndWllbnRlIGltcG9ydGUiKSwoMCx1LmRlZmF1bHQpKGMsImZvbGxvd0Vhcm5pbmdzIiwiSW5ncmVzb3Mgc2lndWllbnRlcyIpLCgwLHUuZGVmYXVsdCkoYywiY2FuY2VsRm9sbG93IiwiQ2FuY2VsYXIgc2VndWltaWVudG8iKSwoMCx1LmRlZmF1bHQpKGMsImN1cnJlbnRDb3B5IiwiTWVyY2hhbmRpc2VyIGFjdHVhbCIpLCgwLHUuZGVmYXVsdCkoYywiaGlzdG9yaWNhbENvcHkiLCJUcmFuc2FjY2lvbmVzIGhpc3TDs3JpY2FzIiksKDAsdS5kZWZhdWx0KShjLCJteVRyYWRlciIsIk1pIGNvbWVyY2lhbnRlIiksKDAsdS5kZWZhdWx0KShjLCJ0cmFkaW5nUGFpciIsIlBhciBkZSB0cmFuc2FjY2lvbmVzIiksKDAsdS5kZWZhdWx0KShjLCJvcGVuIiwiUHJlY2lvIGRlIGFwZXJ0dXJhIiksKDAsdS5kZWZhdWx0KShjLCJjbG9zZSIsIlByZWNpbyBkZSBjaWVycmUiKSwoMCx1LmRlZmF1bHQpKGMsImVhcm5pbmdzIiwiSW5ncmVzb3MiKSwoMCx1LmRlZmF1bHQpKGMsImxvdHMiLCJOw7ptZXJvIGRlIG1hbm9zIiksKDAsdS5kZWZhdWx0KShjLCJ0aW1lIiwiVGllbXBvIGRlIG5lZ29jaWFjacOzbiIpLCgwLHUuZGVmYXVsdCkoYywiYnV5SW4iLCJDb21wcmFyIiksKDAsdS5kZWZhdWx0KShjLCJidXlPdXQiLCJWZW5kZXIiKSwoMCx1LmRlZmF1bHQpKGMsImRpcmVjdGlvbiIsIkRpcmVjY2nDs24iKSxjKSxmaW5hbmNpYWw6e3Byb2R1Y3Q6IlByb2R1Y3RvcyIscG9zaXRpb246IkhvbGQiLGZpbmFuY2lhbDoiRmluYW56YXMiLGxvY2ttaW5nOiJQcm9tZXNhIixpZW86IklFTyIsaW52ZXN0OiJJbnZlcnRpciIsc2VjdGlvbjoiWm9uYSIsYXByOiJSZW5kaW1pZW50byBhbnVhbGl6YWRvIixsaW5rZWRSZWZlcmVuY2VQcmljZToiUHJlY2lvIGRlIHJlZmVyZW5jaWEgZGVsIGdhbmNobyIsaG9sZGluZ0RheXM6IkR1cmFjacOzbiBkZSBsYSBwb3NpY2nDs24iLGRheToiRMOtYXMiLGxvY2tQZXJpb2Q6IlBlcsOtb2RvIGRlIGJsb3F1ZW8iLGluZzoiRW4gY3Vyc28iLGRvbmU6IlRlcm1pbmFkbyIsYXBwbHlTdWJzY3JpcHRpb246IlNvbGljaXR1ZCBkZSBzdXNjcmlwY2nDs24iLHJlbWFpbmluZzoiUmVtYW5lbnRlIix0b3RhbDoiVG90YWwiLHN1YnNjcmliZWQ6IlN1c2NyaXBjacOzbiIsbWluaW5nOiJtaW5lcsOtYSIsbWluaW11bToiTGV2w6FudGF0ZS4iLGRhaWx5UmV0dXJuUmF0ZToiUmVuZGltaWVudG8gZGlhcmlvIn0sbmZ0OihsPXtuZnQ6Ik5GVCIsYXJ0d29yazoiQXJ0ZSIsYXJ0aXN0OiJBcnRpc3RhIixhcnR3b3JrTGlzdDoiTGlzdGEgZGUgb2JyYXMgZGUgYXJ0ZSIsYXJ0aXN0TGlzdDoiTGlzdGEgZGUgYXJ0aXN0YXMiLGNvbXByZWhlbnNpdmVTb3J0aW5nOiJPcmRlbmFjacOzbiBpbnRlZ3JhZGEiLG5ld2VzdDoiw5psdGltbyIsaG90ZXN0OiJNw6FzIGNhbGllbnRlIixtb3N0V29ya3M6IkxhIG1heW9yw61hIGRlIGxhcyBvYnJhcyIsbW9zdFBvcHVsYXI6Ik3DoXMgcG9wdWxhciIscmVjb3JkOiJSZWdpc3RybyBkZSBjb21wcmFzIixyZWNvbW1lbmRBcnRpc3Q6IkFydGlzdGFzIHJlY29tZW5kYWRvcyIsYnV5OiJDb21wcmFyIixhcnRpc3RIb21lcGFnZToiUMOhZ2luYSBwcmluY2lwYWwgZGVsIGFydGlzdGEiLHdvcmtzOiJPYnJhcyIsc2FsZWQ6IlZlbmRpZG8iLGZhbnM6IkZhbiIsYWxsV29ya3M6IlRvZGFzIGxhcyBvYnJhcyIsbm90U2VsbDoiU2luIHZlbmRlciIsbXlDb2xsZWN0OiJNaSBjb2xlY2Npw7NuIixjb2xsZWN0OiJDb2xlY2Npb25hYmxlIixvd246IkhvbGQiLHBsYWNlQUJpZDoiT2ZlcnRhIixwdXJjaGFzZToiQ29tcHJhciIsb3BlbjoiQXBlcnR1cmEgcG9zdGVyaW9yIixpbWFnZToiSW1hZ2VuIixnaWY6Ikdyw6FmaWNvIGRpbsOhbWljbyIsYXVkaW86IkF1ZGlvIix2aWRlbzoiVmlkZW8iLGNyZWF0b3I6IkF1dG9yIixjdXJyZW50QmlkOiJMYSDDumx0aW1hIG9mZXJ0YSIscHJpY2U6IlByZWNpbyIsZDoiRMOtYXMiLGg6IlRpZW1wbyIsbToiUHVudG9zIixzOiJTZWd1bmRvcyJ9LCgwLHUuZGVmYXVsdCkobCwic2FsZWQiLCJUZXJtaW5hZG8iKSwoMCx1LmRlZmF1bHQpKGwsInBsYWNlX2FsZXJ0IiwiQXJ0w61jdWxvIG5vIHZlbmRpZG8gbyB0ZXJtaW5hZG8iKSwoMCx1LmRlZmF1bHQpKGwsImNyZWF0ZWRCeSIsIkF1dG9yIiksKDAsdS5kZWZhdWx0KShsLCJwbGFjZV9hbGVydDIiLCJTdSBvZmVydGEgZGViZSBzZXIgbWF5b3IgcXVlIiksKDAsdS5kZWZhdWx0KShsLCJub3RlIiwiSW1wb3J0YW50ZSIpLCgwLHUuZGVmYXVsdCkobCwiQ1VSUkVOVF9CSUQiLCJMYSDDumx0aW1hIG9mZXJ0YSIpLCgwLHUuZGVmYXVsdCkobCwicGxhY2VfYWxlcnQzIiwiUGFyYSBwYXJ0aWNpcGFyIGVuIHVuYSBzdWJhc3RhLCB1c3RlZCB0aWVuZSBxdWUgcGFnYXIiKSwoMCx1LmRlZmF1bHQpKGwsInBsYWNlX2FsZXJ0NCIsIkVsIGRlcMOzc2l0byBzZSBkZXZvbHZlcsOhIGEgc3UgY3VlbnRhIGFsIGZpbmFsIGRlIGxhIHN1YmFzdGEuIiksKDAsdS5kZWZhdWx0KShsLCJwbGFjZV9hbGVydDYiLCJEZXNwdcOpcyBkZSBsYSBmZWNoYSBsw61taXRlIGRlIGxhIG9mZXJ0YSwgc2kgc3Ugb2ZlcnRhIGVzIGV4aXRvc2EsIHRlbmRyw6EgdW4gZMOtYSBwYXJhIHBhZ2FyIGVsIHByZWNpbyBmaW5hbC4gU2kgZWwgcGFnbyBzZSByZXRyYXNhLCBzZSBkZWR1Y2lyw6Egc3UgbWFyZ2VuLiIpLCgwLHUuZGVmYXVsdCkobCwiY29uZmlybUJpZCIsIkNvbmZpcm1hY2nDs24gZGUgbGEgb2ZlcnRhIiksKDAsdS5kZWZhdWx0KShsLCJERVNDUklQVElPTiIsIkRlc2NyaXBjacOzbiIpLCgwLHUuZGVmYXVsdCkobCwiQUREUkVTUyIsIkRpcmVjY2nDs24iKSwoMCx1LmRlZmF1bHQpKGwsImNvcHkiLCJDb3BpYXIiKSwoMCx1LmRlZmF1bHQpKGwsInBlcl9pbmNyZWFzZSIsIkNhZGEgYXVtZW50byBkZSBwcmVjaW8iKSwoMCx1LmRlZmF1bHQpKGwsImN1cnJlbmN5X3R5cGUiLCJUaXBvIGRlIG1vbmVkYSIpLCgwLHUuZGVmYXVsdCkobCwicGF5X3R5cGUiLCJNw6l0b2RvIGRlIGNvbXByYSIpLCgwLHUuZGVmYXVsdCkobCwicGF5X3R5cGVfMiIsIk1vZG8gZGUgdmVudGEiKSwoMCx1LmRlZmF1bHQpKGwsIm5vcm1hbCIsIkdlbmVyYWwiKSwoMCx1LmRlZmF1bHQpKGwsImF1Y3Rpb24iLCJMaWNpdGFjacOzbiIpLCgwLHUuZGVmYXVsdCkobCwiY29uZmlybUF1Y3Rpb24iLCLCv0VzdMOhcyBzZWd1cm8gZGUgcGFydGljaXBhciBlbiBsYSBzdWJhc3RhIGRlIGVzdGUgcHJvZHVjdG8/IiksKDAsdS5kZWZhdWx0KShsLCJiaW5kQm94IiwiQ2FqYSBjaWVnYSIpLCgwLHUuZGVmYXVsdCkobCwic2VsbF9zdGF0dXMiLCJFc3RhZG8gZGUgdmVudGEiKSwoMCx1LmRlZmF1bHQpKGwsImhhc1N0YXJ0IiwiSGEgY29tZW56YWRvIiksKDAsdS5kZWZhdWx0KShsLCJ3aWxsU3RhcnQiLCJObyBlbXBlemFyIiksKDAsdS5kZWZhdWx0KShsLCJhcnR3b3JrX3R5cGUiLCJUaXBvIGRlIGFydMOtY3VsbyIpLCgwLHUuZGVmYXVsdCkobCwicmVzZXQiLCJSZXNldCIpLCgwLHUuZGVmYXVsdCkobCwiY29uZmlybSIsIkRldGVybWluYXIiKSwoMCx1LmRlZmF1bHQpKGwsInBsYWNlX2FsZXJ0NSIsIlBvciBmYXZvciwgaW50cm9kdXpjYSBsYSBwYWxhYnJhIGNsYXZlIiksKDAsdS5kZWZhdWx0KShsLCJjb2xsZWN0aW9uIiwiQ29sZWNjacOzbiIpLCgwLHUuZGVmYXVsdCkobCwiYnlDb2xsZWN0aW9uIiwiU2VyIHJlY29naWRvIiksKDAsdS5kZWZhdWx0KShsLCJhcnR3b3JrcyIsIk9icmFzIiksKDAsdS5kZWZhdWx0KShsLCJnb0NvbGxlY3QiLCJJciBhIGxhIGNvbGVjY2nDs24iKSwoMCx1LmRlZmF1bHQpKGwsInByaWNlIiwiUHJlY2lvIiksKDAsdS5kZWZhdWx0KShsLCJub25pY2tuYW1lIiwiQXBvZG8gbm8gZXN0YWJsZWNpZG8iKSwoMCx1LmRlZmF1bHQpKGwsImNqZGpzIiwiUGxhem8gZGUgcHJlc2VudGFjacOzbiBkZSBvZmVydGFzIiksKDAsdS5kZWZhdWx0KShsLCJjamtzc2oiLCJIb3JhIGRlIGluaWNpbyBkZSBsYSBvZmVydGEiKSwoMCx1LmRlZmF1bHQpKGwsImNqanpzaiIsIlBsYXpvIGRlIHByZXNlbnRhY2nDs24gZGUgb2ZlcnRhcyIpLCgwLHUuZGVmYXVsdCkobCwiZ290b3NlZSIsIlZlIGFsIG1lcmNhZG8uIiksKDAsdS5kZWZhdWx0KShsLCJwb3NpdGlvbiIsIkhvbGQiKSwoMCx1LmRlZmF1bHQpKGwsInJlc2VsbCIsIlJldmVuZGVyIiksKDAsdS5kZWZhdWx0KShsLCJidXlQcmljZSIsIlByZWNpbyBkZSBjb21wcmEiKSwoMCx1LmRlZmF1bHQpKGwsImNvbmZpcm1SZXNlbGwiLCJDb25maXJtYWNpw7NuIGRlIGxhIHJldmVudGEiKSwoMCx1LmRlZmF1bHQpKGwsIndyb25nUHJpY2UiLCJQb3IgZmF2b3IsIGVsaWphIGVsIHByZWNpbyBjb3JyZWN0byIpLCgwLHUuZGVmYXVsdCkobCwiYmlkUGxhY2VkQnkiLCJPZmVydGFudGUiKSwoMCx1LmRlZmF1bHQpKGwsInBsYWNlUmVjb3JkIiwiUmVnaXN0cm8gZGUgb2ZlcnRhcyIpLCgwLHUuZGVmYXVsdCkobCwiY29uZmlyUHVyY2hhc2UiLCJDb25maXJtYXIgbGEgY29tcHJhIiksKDAsdS5kZWZhdWx0KShsLCJhcnRpc3RMaXN0IiwiTGlzdGEgZGUgYXJ0aXN0YXMiKSwoMCx1LmRlZmF1bHQpKGwsImhhc09wZW4iLCJBYmllcnRvIiksKDAsdS5kZWZhdWx0KShsLCJub09wZW4iLCJObyBhYmllcnRvIiksKDAsdS5kZWZhdWx0KShsLCJjbGlja09wZW4iLCJBYnJpciBjYWphIGNpZWdhIiksKDAsdS5kZWZhdWx0KShsLCJjb25maXJtT3BlbiIsIsK/RXN0w6Egc2VndXJvIGRlIGFicmlyIGxhIENhamEgY2llZ2E/IiksKDAsdS5kZWZhdWx0KShsLCJtYXJnaW4iLCJNYXJnZW4iKSwoMCx1LmRlZmF1bHQpKGwsIndyb25nUHJpY2UiLCJJbnRyb2R1emNhIGVsIHByZWNpbyBjb3JyZWN0byIpLCgwLHUuZGVmYXVsdCkobCwid3JvbmdQZXJJbmNyZWFzZSIsIkludHJvZHV6Y2EgbGEgdGFyaWZhIGNvcnJlY3RhIiksKDAsdS5kZWZhdWx0KShsLCJ3cm9uZ1RpbWUiLCJMYSBob3JhIGZpbmFsIGRlYmUgc2VyIHBvc3RlcmlvciBhIGxhIGhvcmEgZmluYWwiKSwoMCx1LmRlZmF1bHQpKGwsImNvbmZpcm1SZXNlbGwyIiwiwr9VbmEgdmV6IHF1ZSBsYSBtZXJjYW5jw61hIHNlIHJldmVuZGUsIG5vIHNlIHB1ZWRlIHJldGlyYXIuIEVzdMOhIHNlZ3VybyBkZSBxdWUgZGVzZWEgcmV2ZW5kZXIgbGEgbWVyY2FuY8OtYT8iKSwoMCx1LmRlZmF1bHQpKGwsInJlc2VsbGluZyIsIkVuIHJldmVudGEiKSwoMCx1LmRlZmF1bHQpKGwsIm1lc3NhZ2UiLCJOb3RpZmljYWNpw7NuIGRlIG1lbnNhamVzIiksKDAsdS5kZWZhdWx0KShsLCJjb25maXJtUGF5Iiwiwr9Fc3TDoSBzZWd1cm8gZGUgcGFnYXIgcG9yIGVzdGUgYXJ0w61jdWxvPyIpLCgwLHUuZGVmYXVsdCkobCwiemZkanMiLCJDdWVudGEgYXRyw6FzIGRlIHBhZ29zIiksKDAsdS5kZWZhdWx0KShsLCJwYXlUaW1lIiwiVGllbXBvIGRlIHBhZ28iKSwoMCx1LmRlZmF1bHQpKGwsImhhc1JlYWQiLCJMZcOtZG8iKSwoMCx1LmRlZmF1bHQpKGwsImxhc3RQcmljZSIsIlByZWNpbyBmaW5hbCBkZSB0cmFuc2FjY2nDs24iKSwoMCx1LmRlZmF1bHQpKGwsImlzUGF5IiwiUGFnYWRvIiksKDAsdS5kZWZhdWx0KShsLCJpc0V4cGlyZWQiLCJDYWR1Y2FkbyIpLCgwLHUuZGVmYXVsdCkobCwicmFyaXR5IiwiUmFyZXphIiksbCksYXBwcm92ZTp7QXV0aGVudGljYXRpb25UaXBzOiJMYSBkaXJlY2Npw7NuIGRlIHJlYXV0ZW50aWNhY2nDs24gZXMgZGlmZXJlbnRlIGRlIGxhIGRpcmVjY2nDs24gZGUgZW5sYWNlLCDCv25lY2VzaXRhIG1vZGlmaWNhciBsYSBkaXJlY2Npw7NuPyIsYnJvd3NlclRpcHM6IkFicmUgZW4gdHUgbmF2ZWdhZG9yIix0cmNfYnJvd3NlclRpcHM6IsOBYnJhbG8gZW4gdW5hIGJpbGxldGVyYSBxdWUgYWRtaXRhIGxhIGNhZGVuYSBUUkMyMCIscmVjZXJ0aWZ5OiJSZWNlcnRpZmljYXIiLHZlcmlmaWVkOiJjZXJ0aWZpY2FkbyIsZ29fYXV0aGVudGljYXRlOiJJciBhIGF1dGVudGljYWNpw7NuIixub3RjZXJ0aWZpZWQ6Ik5vIGNlcnRpZmljYWRvIn19O3QuZGVmYXVsdD1kfSxkNThjOmZ1bmN0aW9uKGUsdCl7ZS5leHBvcnRzPSJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUVBQUFBQkFDQVlBQUFDcWFYSGVBQUFBQVhOU1IwSUFyczRjNlFBQUNvdEpSRUZVZUY3Vld3bVFGT1VWL2w3UHRUTUxjbmpBOWl6SUlrRk5ORUdRSXlpUUJORU5TQkk4UzQwbEppb0dkbFlTS2lSbFZFalFvR1ZwZEdkQjF3TWlYaWxRSVlJSEdpVkFFaTNrVUJRQ2d0dzdBeWlnd082YzNTLzE5ekt6Mnp0SGQwLzNhbmhWVTFNei9kNzNYbi85ZC8vdmYrOXZRZ2NMUDFYWlBaRlFocWhNM3lQZ0hEQlZBU3d6Y0pvRWRHYkFEU0RCd0ZFSk9NakFQZ0syZ2ZrVGhiRzIvSTdvdW80TWtUb0N2TGt1T0l3a2pHZVZMeVBDSURzK0dEaEN3RnNBWGkzelJoYlJKS1RzNExXM2RZeUFRM1hkVHltSC8xWW05U2FBem5jeXlBd1dBY2RWeGpNdWtocDhvWDBmTytIRE5nSGMwSzFMUEJXWUR1YXBBQUpPQkdVR2cwSFB1VmlaN2F2ZHY5bU1maUVkV3dRMDExWFVTa1F6R2VobUp3aGJ0a1N6L1RXTmQ1YUtVUklCaWNkNm5LZW1YWThDK0ZHcGpoMjFZLzRFTHFuV1A2VnhoVlZjeXdURTZ1VmZnUEVFQUpkVlp4MnR6NHpwZ2RySWcxYjhXQ0lnWGlmZno0VGZXWEh3OWV2U0UvNVE0eVN6ZmswVEVBdkw4d0RjYkJiNG05UWp3dUt5bXNnVlptSXdSVUFzTEQ4UDRIb3pnUDgvT3Z5R1B4UWRheFNQSVFFbjA1VnZmN0lNTEFtRUloT0trVkNVZ09hd1BKdUEzeHV4YVBXNGU4aHZvQjc0RU9ydWQ2MmFXdGNuYXZEWE5ONXVPUStJMVFVbmduaStkWS9HRnI3cjN3VjFQeHY4eFdhb2tmZWg3RjdSb1dRUTBiU3ltc2FIODBXV2R3UWNxK3Y1YlRla0RTQjRqVS9IbWdaMXFvQnY0dG9jbzlSYlU2Qjh1c1FhbUJWdDVwSCsydWpxOWlaNUNZaUY1ZVVBTHJXQ2IxYlhQZmdPdUlkT3oxR1BQM0Uya0R5ZS9kODcvbGtvMjVkQytlOUNzOUJGOVJoWUh3aEZjaFptT1FRMGhlWEpFakRIcmxmcTNoL2s2d28xdWtZSGxSbitiZi9rcGdOSXpCK1kvWXZLdXNKM3k2YnNiejY2RjhxV2hVaXZ5VHVLellmS21PR3ZqZnlwcllHT0FHNlFBN0VrZGhGd3VublUvSnJpUWVjZU1rMDdxTzU2Qjhxbmk3VlBXVTFqam9HeTZUbWtWclRtVis2QnY0SjcrRjA2dmNUZnhtalBESnZDSUs3eTEwUjNaM0IwQk1UQzhrd0FNMnc2MGN6elhlbEN1TWxsTjBIZDlZL3NZZDhOcTBEZHp0S3B4K3VEVG9RRkJ1WUdRcEVwT1FUc25ObW5yT0xVWkpTQnJuWTlTV2NNZ1BlYTEwekQ2RTZPWENpYnNrZG5LNmJMNU5JYlRlTVpLYktFM29FcGtiMUNMenNDbXNOeWlJQTZJMk16eDkwWDFzSTl6TnFTZ1k5SG9XeDlDWHhzSHp3L2VFRG5KclZpT3BSTklobDFSbFRtZTh0cm8zZnJDSWlGNVE4QVhPaUVDMWZmYWtoOWZ3enhEVzhuMjVDSnA4NEh4dy9ieG1rRHNNY2ZpcHlaSlNBNUp6aEFVWG1Ea3g2eTkxam5JRno5SjJnZk92V2NrbHdvTzk2QXN1a0ZSNU1sQWxlWGhhTEx0VnNnRmc3ZURiQnVlaWdwMGlKRzNpc1hRNm9ZWWd0VzJmb0tsSTN6b0I2d2Y2MllNU2RRRzZscElhQmVYZzNHeGJhaU16RE9OLzJwZTBRS3ZCSlMxUmhJbFJlWmRwOTZjeEtVN2N0TTZ4ZFEzT1lQUmZvVFAxenBqM3ZVWnJ0b3hleWxQcGZBZS9rek9TcXA1Wk9oYlB0NzluOUpIZ2FwY2ppa3Frc2huVjY4c093RUNXVnV0WXBpZFQxSGdhUi9kaVFCbnN2bXd2V3RuK2E0S0RhM1U1YysycWdRbjN5MkFpd3hmeEM0YVgvSm9UUFJ0UlFQeXlGMmFQb3JGRW0rNGM5SHRpUHgvQ2hUd1V1OVJzSXoraUZRSjFtbm4zcmpWaWlmdlc0S0k2OFMwWitwT1N6UElXQnk2U2pGTGNXVDMzZmRPemxLNmZmdVIzcGQyTFJiTWFWNnhqNnQwMCt2bjR2MGYrNHpqZEZla1VBdlU3eSs0alZtTWl3ZGxlcEY1UFFpdDI4dmlRWER3VWV6S2JrcGVOK04vNGE0TlRLaU5yNkg1T0tyVE5ubVV5Smd2YmdGTmpBd29HUVVBMFBmemV0QTVUMzFXa29DOGNmNlduYnBuZkFTcE9EM3MzYkt0bGVSV3A1THJnWGcvUlFMeXlMeDdtWEJ5THlxcHh4bGt6N05xODlmN1lLeVpaRzI1dWNqbnhsanV2M3dYcmtFMHVubnRSS3djUjVTcTdTTXRsUkpDUUsrQk5DbFZJUmlkcTd6SjhJenl0dzlLcTZtV0JHcWUxZURtdy9td0xaZFhtY09wdGM4Wkx0R0lBZzRCc0Ird3A2SENlOVZTeUgxYkMxMG1DV1pEMi9WaUZDL2FDbUt1UHFOaDNTbXZnc25paWpKaGRYZ3BseXl6UG9SZWhTcmx6OEg0elFyUm1aMTgwMS9abTJOOUp5NCtnREVMUkQ4REdEclR5U0RDTVVWRTNXOTlwSmFkUmVvY3k5SThoQklQUzR3T3MrOHg5WFBQMEZxMlkyMnJ6NEE3U0g0SG9CaEpVVlN4TWhUL2JnMmROdEw0cStEd2NjakFMbGFNajE1cUxaSUVvUkFFcnRsaW90SW5WUHZUQVBTTVNOVncrT1phWEFoQTFjYmFsdFV5SnY5SGQyRHhJTFdhYXd0cENpaWFvUUVoME9xdkJqa095WEhvMFBEUG91ckpVS3grdUI5WUM1NWd3RThBU0NsWDB0UnQzN3czYkF5OXdRK2VoTHAxYUxzV0Z4RXl1c2VPQm11NytwN3NmelZiaVNlSFc1a2J2cTR5aUlWcnBPdkk4SUxwcTNhS0lvRVJ5UTZXdGw2K3pLbzRuUHdRN2lIM3duM3dHemRNV3VSZkdrODFQM3JUYnZ5alA0TFhPZGVvOU1YQkFnaW5KQ1d4ZENjeW42c3F0dEtBU3cwejR0NW5BSm41RUJhcmV5S3JFOWtmMjNGMGR0QUxJY0ZlS3hPM2dsQ2E1SnRrbzMycVdreE03RnFFNnMzSzVLdmpaWmFlU2VVajNOckMxWndUK2kyRkVRMEFzTEJCb0J2c3dwaWRaNVg5NnlFc3ZsRmlCb2YxTFNoT3pIOHhXM1FWdG9YVVF4QkNpam9TbUx4dXVBNEpyWlVZNUo2RElCN3hLeVNNajBSazNoV0tGdGUxcnBHZVZlRm5uSjRxeC9QeVFDVHIxNFBRYVJkVWNEVm5USkYwWlpSSU84RFVGTDdSZXI5UTdqT3ZicGc1Y1lvV1A1eUo1U2R5N1BkSVZGRGNQVy9Jb2RjTmZvQmtpLy96QWpPekhGOVdieUZnSXA3QWZxREdldENPcTV6cm9ibmtrZnNRQlMxVGIxNXU3WjZkRUJtK1VPUmV3Uk9hMmRvanR5TFZPaDdVaFk5ZWNmTjF3cWE3VVgwL1YxVll3QlB1VVhFVm5XQklmWVFPQ0Y1VzJNQ09CNlc2eGdJbGVva2IrbDc1OXRJdmpaUmc2UlRla0ZVaUQwajc3WGtJdjMrQTBpdmRhUnJWN2c1S2lKcUN2ZVNKU2c3UkhQWFVvVGk1QXJVL2xLdi94TEtqamV6Y082TDdvSDdBdjAyUHBIWVVCZXRVNlVUc2JkQStYaUIxbFozU0JnSyt2aW5ScklqUFdlRFJITlluazZBdmp0cHdyc29XTGkrODNOUWVRK2R0aTc1RVZXZENZdDBxMEErdEFXSkYwY0QzczZRZWc3U0hueWlVU3FhcEtJbTRLelFQZjVRNDZ5Mm1JVzJ5S3dDTU1LcWM3R0FFWXNaQ2c3VHZoRS9ndVNTYTdNd1V1OVI4UDVFbjNXblZzK0E4dEZUVmwxWjFpZkN1ckthU0U3ek55OEJUalJMTTJUb2h2L1EzOEk5V095cWI1VjRRMzhnMVdUNWhDd2JTQmpobnhMNVYzdTdndnNFWS9VVnQ0RHBTY3VPaWhpNHpob0xxVzgxeERmY2ZxMHVJT29ESFMxTU5DMWdaWnRjSnFDTzNCd3Qxdit1ZnBmYkxtb2Frc2ZjNEsrTld0OG9tUUUreWJmS0xnNkVpbSthTnR3ckxJZzRTVGRMdis0UFJjY1pqUkJUQkp3ZzRlVFpMZzk2cFN6VWVLWFJ5WXZqcGdrNFFjSnNkTURtYVRPQm10WWhQT2F2aVpodTlsb2k0QVFKb2xBblhwa3hMdUdhanRvWlJXYitkYUEyYW1rMVpwa0FFV3JpMFI3bnFlUjZCSVRSem9SdUY0WFhNRWxUQXpXTm9zUnZTVW9pSUR0Tmh1V1FDdnlSdnFuWDVoaEpTRHpUWHhNVnQyWkpZb3NBNGZIdy9kMjYrRHQ5L1M5T0V0RWpDa3NQbG9mMlJrbzY4eE5HdGduSU9PZW5UK3NjYS9MZFJoMzQ2aXkwbDZwcGdhS21udXcwOWVBQk95ZWVzWFdNZ0xiQlpGNmVCck9vanRqYWZVcUVqU3J3TnFucVVuL3RmdnZGd0hhc2RRZ0JiWDN3dzVYZEU3NzhyODhUMEZsTXhRd2NJL0FoZ0NKZzNnV1N0cXJNR3dOcWVnMDVkS1VMalpiL0FlSk0wMnBPK2kySkFBQUFBRWxGVGtTdVFtQ0MifSxkYzE5OmZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7bigiNmE1NCIpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LmRlZmF1bHQ9dm9pZCAwO3ZhciBhPXtpbnN0YWxsOmZ1bmN0aW9uKGUsdCl7dmFyIG49e2dldFNldHRpbmc6ZnVuY3Rpb24oZSl7cmV0dXJuIHQuJHUuZ2V0KCIvZ2V0U2V0dGluZyIse2tleXdvcmQ6ZX0pfSxnZXRTaXRlQ29uZmlnOmZ1bmN0aW9uKCl7cmV0dXJuIHQuJHUuZ2V0KCIvZ2V0U2l0ZUNvbmZpZyIpfX0sYT17c2VuZE1haWxDb2RlOmZ1bmN0aW9uKGUsbil7cmV0dXJuIHQuJHUucG9zdCgiL3Ntc19tYWlsIix7dXNlcl9zdHJpbmc6ZSxzY2VuZToicmVnaXN0ZXIiLGFyZWFfY29kZV9pZDoxLGFyZWFfY29kZTo4NixsYW5nOiJ6aCIsZW1haWxfY29kZToiIix0eXBlOm59KX0sc2VuZENvZGU6ZnVuY3Rpb24oZSxuLGEsbyl7cmV0dXJuIHQuJHUucG9zdCgiL3Ntc19zZW5kIix7dXNlcl9zdHJpbmc6ZSxzY2VuZToicmVnaXN0ZXIiLGFyZWFfY29kZV9pZDpuLGFyZWFfY29kZTphLHR5cGU6b30pfSx2ZXJpZnlNYWlsQ29kZTpmdW5jdGlvbihlLG4pe3JldHVybiB0LiR1LnBvc3QoIi91c2VyL2NoZWNrX2VtYWlsIix7dXNlcl9zdHJpbmc6ZSxzY2VuZToicmVnaXN0ZXIiLGVtYWlsX2NvZGU6bixjb3VudHJ5X2NvZGU6Iis4NiIsbGFuZzoiemgifSl9LHJlZ2lzdGVyOmZ1bmN0aW9uKGUsbixhLG8scil7dmFyIGk9YXJndW1lbnRzLmxlbmd0aD41JiZ2b2lkIDAhPT1hcmd1bWVudHNbNV0/YXJndW1lbnRzWzVdOiJlbWFpbCIscz1hcmd1bWVudHMubGVuZ3RoPjY/YXJndW1lbnRzWzZdOnZvaWQgMDtyZXR1cm4gdC4kdS5wb3N0KCIvdXNlci9yZWdpc3RlciIse3VzZXJfc3RyaW5nOmUsY29kZTpuLHBhc3N3b3JkOmEscmVfcGFzc3dvcmQ6byxleHRlbnNpb25fY29kZTpyLHR5cGU6aSxhcmVhX2NvZGU6c30pfSxsb2dpbjpmdW5jdGlvbigpe3ZhciBlPWFyZ3VtZW50cy5sZW5ndGg+MCYmdm9pZCAwIT09YXJndW1lbnRzWzBdP2FyZ3VtZW50c1swXTp7fTtyZXR1cm4gdC4kdS5wb3N0KCIvdXNlci9sb2dpbiIsZSl9LGxvZ291dDpmdW5jdGlvbigpe3JldHVybiB0LiR1LmdldCgiL3VzZXIvbG9nb3V0Iil9fSxvPXtnZXRVc2VySW5mbzpmdW5jdGlvbigpe3JldHVybiB0LiR1LmdldCgiL3VzZXIvaW5mbyIpfSxnZXRVc2VyUmVhbFN0YXRlOmZ1bmN0aW9uKCl7cmV0dXJuIHQuJHUuZ2V0KCIvcmVhbC9zdGF0ZSIpfSxwb3N0UmVhbFN0YXRlMTpmdW5jdGlvbihlLG4sYSxvLHIpe3JldHVybiB0LiR1LnBvc3QoIi91c2VyL3JlYWwiLHtpZF90eXBlOmUsbmFtZTpuLGNhcmRfaWQ6YSxyZWFsX3R5cGU6MSxmcm9udF9waWM6byxyZXZlcnNlX3BpYzpyfSl9LHBvc3RSZWFsU3RhdGUyOmZ1bmN0aW9uKGUsbil7cmV0dXJuIHQuJHUucG9zdCgiL3VzZXIvcmVhbCIse2Zyb250X3BpYzplLHJldmVyc2VfcGljOm4scmVhbF90eXBlOjJ9KX0sc2VuZEVtYWlsQ29kZTpmdW5jdGlvbihlKXtyZXR1cm4gdC4kdS5wb3N0KCIvc21zX21haWwiLHt1c2VyX3N0cmluZzplLHR5cGU6ImZvcmdldCJ9KX0sdmVyaWZ5TWFpbENvZGU6ZnVuY3Rpb24oZSxuKXtyZXR1cm4gdC4kdS5wb3N0KCIvdXNlci9jaGVja19lbWFpbCIse3VzZXJfc3RyaW5nOmUsZW1haWxfY29kZTpufSl9LGVkaXRMb2dpblBhc3N3b3JkOmZ1bmN0aW9uKGUsbixhLG8pe3JldHVybiB0LiR1LnBvc3QoIi91c2VyL2ZvcmdldCIse2FjY291bnQ6ZSxwYXNzd29yZDpuLHJlcGFzc3dvcmQ6YSxjb2RlOm99KX0sZWRpdFBheVBhc3N3b3JkOmZ1bmN0aW9uKGUsbixhKXtyZXR1cm4gdC4kdS5wb3N0KCIvc2FmZS91cGRhdGVfcGFzc3dvcmQiLHtwYXNzd29yZDplLHJlX3Bhc3N3b3JkOm4sY29kZTphfSl9LGdldEN1cnJlbmN5TGlzdDpmdW5jdGlvbigpe3JldHVybiB0LiR1LmdldCgiL2N1cnJlbmN5L2xpc3QiKX0sZ2V0V2FsbGV0QXV0aG9yaXplSW5mbzpmdW5jdGlvbigpe3JldHVybiB0LiR1LmdldCgiL3dhbGxldC9nZXRXYWxsZXRBdXRob3JpemVJbmZvIil9LHNhdmVXYWxsZXRBZGRyZXNzOmZ1bmN0aW9uKGUsbixhLG8scil7cmV0dXJuIHQuJHUucG9zdCgiL3VzZXIvd2FsbGV0L3NhdmUiLHtjdXJyZW5jeTplLG5hbWU6bixhZGRyZXNzOmEsdHlwZTpvLGFwcHJvdmVfc3RhdHVzOnJ9KX0sZ2V0V2FsbGV0QWRkcmVzc0xpc3Q6ZnVuY3Rpb24oKXt2YXIgZT1hcmd1bWVudHMubGVuZ3RoPjAmJnZvaWQgMCE9PWFyZ3VtZW50c1swXT9hcmd1bWVudHNbMF06MSxuPWFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXToxMDtyZXR1cm4gdC4kdS5nZXQoIi91c2VyL3dhbGxldC9saXN0Iix7cGFnZTplLGxpbWl0Om59KX0sdXBsb2FkQXZhdGFyOmZ1bmN0aW9uKGUpe3JldHVybiB0LiR1LnBvc3QoIi91c2VyL3VwbG9hZEhlYWRQb3J0cmFpdCIse2hlYWRfcG9ydHJhaXQ6ZX0pfSxlZGl0Tmlja25hbWU6ZnVuY3Rpb24oZSl7cmV0dXJuIHQuJHUucG9zdCgiL3VzZXIvZWRpdE5pY2tuYW1lIix7bmlja25hbWU6ZX0pfSxzYXZlQ2FyZDpmdW5jdGlvbihlKXtyZXR1cm4gdC4kdS5wb3N0KCIvdXNlci9jYXNoX3NhdmUiLGUpfSxzYXZlQ2FyZEludGVybmF0aW9uYWw6ZnVuY3Rpb24oZSl7cmV0dXJuIHQuJHUucG9zdCgiL3VzZXIvY2FzaF9zYXZlX2ludGVybmF0aW9uYWwiLGUpfSxnZXRDYXJkOmZ1bmN0aW9uKCl7cmV0dXJuIHQuJHUucG9zdCgiL3VzZXIvY2FzaF9pbmZvIil9LGdldENhcmRJbnRlcm5hdGlvbmFsOmZ1bmN0aW9uKCl7cmV0dXJuIHQuJHUucG9zdCgiL3VzZXIvY2FzaF9pbmZvX2ludGVybmF0aW9uYWwiKX0sc2VuZFNtc0NvZGU6ZnVuY3Rpb24oZSxuKXtyZXR1cm4gdC4kdS5wb3N0KCIvc21zX3NlbmQiLHthcmVhX2NvZGU6ZSxtb2JpbGU6bn0pfSxiaW5kTW9iaWxlOmZ1bmN0aW9uKGUsbil7cmV0dXJuIHQuJHUucG9zdCgiL3NhZmUvbW9iaWxlIix7bW9iaWxlOmUsY29kZTpufSl9LGJpbmRFbWFpbDpmdW5jdGlvbihlLG4sYSl7cmV0dXJuIHQuJHUucG9zdCgic2FmZS9lbWFpbCIse2VtYWlsOmUsY29kZTpuLHBhc3N3bzpwYXNzd299KX0sdGVhbTpmdW5jdGlvbigpe3JldHVybiB0LiR1LmdldCgiL21pbmluZyIse30pfSxpbnZpdGVMaXN0OmZ1bmN0aW9uKCl7cmV0dXJuIHQuJHUucG9zdCgiL3VzZXIvaW52aXRlX2xpc3QiLHt9KX0sY2FuZHlUb3VzZHQ6ZnVuY3Rpb24oZSl7cmV0dXJuIHQuJHUuZ2V0KCIvY2FuZHkvY2FuZHlfdG91c2R0Iix7Y2FuZHlfbnVtYmVyOmV9KX0scHJpemVMaXN0OmZ1bmN0aW9uKCl7dmFyIGU9YXJndW1lbnRzLmxlbmd0aD4wJiZ2b2lkIDAhPT1hcmd1bWVudHNbMF0/YXJndW1lbnRzWzBdOjEsbj1hcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXT9hcmd1bWVudHNbMV06MTAsYT1hcmd1bWVudHMubGVuZ3RoPjI/YXJndW1lbnRzWzJdOnZvaWQgMCxvPWFyZ3VtZW50cy5sZW5ndGg+Mz9hcmd1bWVudHNbM106dm9pZCAwLHI9YXJndW1lbnRzLmxlbmd0aD40P2FyZ3VtZW50c1s0XTp2b2lkIDA7cmV0dXJuIHQuJHUuZ2V0KCIvdXNlci9wcml6ZV9saXN0Iix7cGFnZTplLGxpbWl0Om4sc3RhcnRfdGltZTphLGVuZF90aW1lOm8scmV3YXJkX3R5cGU6cn0pfX0scj17Z2V0UG9wdXBBZDpmdW5jdGlvbigpe3JldHVybiB0LiR1LmdldCgiL25ld3MvaW5kZXhfcG9wIil9LGdldE5ld3M6ZnVuY3Rpb24oKXtyZXR1cm4gdC4kdS5wb3N0KCIvbmV3cy9saXN0Iix7Y19pZDo0fSl9LGdldE5ld3NEZXRhaWw6ZnVuY3Rpb24oZSl7cmV0dXJuIHQuJHUucG9zdCgiL25ld3MvZGV0YWlsIix7aWQ6ZX0pfSxnZXRCYW5uZXI6ZnVuY3Rpb24oKXtyZXR1cm4gdC4kdS5wb3N0KCIvbmV3cy9saXN0Iix7Y19pZDo1fSl9LGdldFF1b3RhdGlvbjpmdW5jdGlvbigpe3JldHVybiB0LiR1LmdldCgiL2N1cnJlbmN5L3F1b3RhdGlvbl9uZXciKX0sZ2V0TWVudTpmdW5jdGlvbigpe3JldHVybiB0LiR1LmdldCgiL21lbnUiKX0sZ2V0RkFROmZ1bmN0aW9uKCl7cmV0dXJuIHQuJHUucG9zdCgiL25ld3MvbGlzdCIse2NfaWQ6MzN9KX0sZ2V0Q29udGFjdFVzOmZ1bmN0aW9uKCl7cmV0dXJuIHQuJHUucG9zdCgiL25ld3MvbGlzdCIse2NfaWQ6MzV9KX0sZ2V0QWJvdXRVczpmdW5jdGlvbigpe3JldHVybiB0LiR1LnBvc3QoIi9uZXdzL2xpc3QiLHtjX2lkOjE5fSl9LGdldHNoYXJlOmZ1bmN0aW9uKCl7cmV0dXJuIHQuJHUucG9zdCgiL25ld3MvbGlzdCIse2NfaWQ6MzZ9KX0sZ2V0T3BlcmF0aW9uYWxDb21wbGlhbmNlOmZ1bmN0aW9uKCl7cmV0dXJuIHQuJHUucG9zdCgiL25ld3MvbGlzdCIse2NfaWQ6MzR9KX19LGk9e2dldFJhdGVDdXJyZW5jeTpmdW5jdGlvbihlKXtyZXR1cm4gdC4kdS5nZXQoIi93YWxsZXQvZ2V0UmF0ZUN1cnJlbmN5Iix7aWQ6ZX0pfSxnZXRXYWxsZXRJbmZvOmZ1bmN0aW9uKGUpe3JldHVybiB0LiR1LnBvc3QoIi93YWxsZXQvZ2V0X2luZm8iLHtjdXJyZW5jeTplfSl9LGdldEluQWRkcmVzczpmdW5jdGlvbihlLG4pe3JldHVybiB0LiR1LnBvc3QoIi93YWxsZXQvZ2V0X2luX2FkZHJlc3MiLHtjdXJyZW5jeTplLHVzZXJfaWQ6bn0pfSxyZWNoYXJnZTpmdW5jdGlvbihlLG4sYSl7dmFyIG89YXJndW1lbnRzLmxlbmd0aD4zJiZ2b2lkIDAhPT1hcmd1bWVudHNbM10/YXJndW1lbnRzWzNdOjA7cmV0dXJuIHQuJHUucG9zdCgiL3dhbGxldC9jaGFyZ2VfcmVxIix7YWNjb3VudDplLGFtb3VudDpuLGN1cnJlbmN5OmEsdHlwZTpvfSl9LGdldFJlY2hhcmdlTG9nOmZ1bmN0aW9uKCl7dmFyIGU9YXJndW1lbnRzLmxlbmd0aD4wJiZ2b2lkIDAhPT1hcmd1bWVudHNbMF0/YXJndW1lbnRzWzBdOjEsbj1hcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXT9hcmd1bWVudHNbMV06MTA7cmV0dXJuIHQuJHUuZ2V0KCIvcmVjaGFyZ2UvbG9nIix7cGFnZTplLGxpbWl0Om59KX0sZ2V0V2FsbGV0TGlzdDpmdW5jdGlvbigpe3JldHVybiB0LiR1LnBvc3QoIi93YWxsZXQvbGlzdCIpfSxnZXREZXRhaWw6ZnVuY3Rpb24oZSxuKXtyZXR1cm4gdC4kdS5wb3N0KCIvd2FsbGV0L2RldGFpbCIse2N1cnJlbmN5OmUsdHlwZTpufSl9LGdldExlZ2FsTG9nOmZ1bmN0aW9uKGUsbixhKXtyZXR1cm4gdC4kdS5wb3N0KCIvd2FsbGV0L2xlZ2FsX2xvZyIse2N1cnJlbmN5OmUsdHlwZTpuLHBhZ2U6YX0pfSxnZXRUcmFuc2Zlckxpc3Q6ZnVuY3Rpb24oKXtyZXR1cm4gdC4kdS5wb3N0KCIvdXNlci9nZXRUcmFuc2Zlckxpc3QiKX0sZ2V0VHJhbnNmZXJGZWU6ZnVuY3Rpb24oZSxuKXtyZXR1cm4gdC4kdS5wb3N0KCIvdXNlci9nZXRUcmFuc2ZlckZlZSIse2Zyb21fY3VycmVuY3lfaWQ6ZSx0b19jdXJyZW5jeV9pZDpufSl9LHRyYW5zZmVyOmZ1bmN0aW9uKGUsbixhKXtyZXR1cm4gdC4kdS5wb3N0KCIvdXNlci9UcmFuc2ZlciIse251bWJlcjplLGZyb21fY3VycmVuY3lfaWQ6bix0b19jdXJyZW5jeV9pZDphfSl9LGdldFVzZXJDdXJyZW5jeUxpc3Q6ZnVuY3Rpb24oKXtyZXR1cm4gdC4kdS5nZXQoIi9jdXJyZW5jeS91c2VyX2N1cnJlbmN5X2xpc3QiKX0sZnVuZFRyYW5zZmVyOmZ1bmN0aW9uKGUsbixhLG8pe3JldHVybiB0LiR1LnBvc3QoIi93YWxsZXQvY2hhbmdlIix7Y3VycmVuY3lfaWQ6ZSxudW1iZXI6bixmcm9tX2ZpZWxkOmEsdG9fZmllbGQ6b30pfSxnZXRUcmFuc2Zlckhpc3Rvcnk6ZnVuY3Rpb24oZSl7cmV0dXJuIHQuJHUuZ2V0KCIvd2FsbGV0L2h6aGlzdG9yeT9wYWdlPSIse3BhZ2U6ZX0pfSx3aXRoZHJhdzpmdW5jdGlvbihlKXtyZXR1cm4gdC4kdS5wb3N0KCIvd2FsbGV0L291dCIsZSl9LGdldFdpdGhkcmF3TGlzdDpmdW5jdGlvbigpe3ZhciBlPWFyZ3VtZW50cy5sZW5ndGg+MCYmdm9pZCAwIT09YXJndW1lbnRzWzBdP2FyZ3VtZW50c1swXToxLG49YXJndW1lbnRzLmxlbmd0aD4xJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0/YXJndW1lbnRzWzFdOjEwO3JldHVybiB0LiR1LmdldCgiL3VzZXIvd2l0aGRyYXcvbGlzdCIse3BhZ2U6ZSxsaW1pdDpufSl9fSxzPXtnZXRIaXN0b3J5RGF0YTpmdW5jdGlvbihlLG4sYSxvKXtyZXR1cm4gdC4kdS5nZXQoIi9jdXJyZW5jeS9uZXdfdGltZXNoYXIiLHtmcm9tOmUsdG86bixzeW1ib2w6YSxwZXJpb2Q6b30pfSxhZGRPcHRpb25hbDpmdW5jdGlvbihlKXtyZXR1cm4gdC4kdS5wb3N0KCIvb3B0aW9uYWwvYWRkIix7Y3VycmVuY3lfaWQ6ZX0pfSxkZWxPcHRpb25hbDpmdW5jdGlvbihlKXtyZXR1cm4gdC4kdS5wb3N0KCIvb3B0aW9uYWwvZGVsIix7aWQ6ZX0pfSxnZXRPcHRpb25hbExpc3Q6ZnVuY3Rpb24oKXtyZXR1cm4gdC4kdS5nZXQoIi9vcHRpb25hbC9saXN0Iil9LGdldExldmVyRGVhbDpmdW5jdGlvbihlLG4pe3JldHVybiB0LiR1LnBvc3QoIi9sZXZlci9kZWFsIix7Y3VycmVuY3lfaWQ6ZSxsZWdhbF9pZDpufSl9LHN1Ym1pdExldmVyOmZ1bmN0aW9uKGUpe3JldHVybiB0LiR1LnBvc3QoImxldmVyL3N1Ym1pdCIsZSl9LGdldExldmVyRGVhbEJ5UGFnZTpmdW5jdGlvbihlLG4sYSl7cmV0dXJuIHQuJHUucG9zdCgiL2xldmVyL2RlYWxhbGwiLHtjdXJyZW5jeV9pZDplLGxlZ2FsX2lkOm4scGFnZTphfSl9LGNvdmVyOmZ1bmN0aW9uKGUpe3JldHVybiB0LiR1LnBvc3QoIi9sZXZlci9jbG9zZSIse2lkOmV9KX0sc2V0U3RvcDpmdW5jdGlvbihlLG4sYSl7cmV0dXJuIHQuJHUucG9zdCgiL2xldmVyL3NldHN0b3AiLHtpZDplLHRhcmdldF9wcm9maXRfcHJpY2U6bixzdG9wX2xvc3NfcHJpY2U6YX0pfSxjb3ZlckFsbDpmdW5jdGlvbihlKXtyZXR1cm4gdC4kdS5wb3N0KCIvbGV2ZXIvYmF0Y2hfY2xvc2UiLHt0eXBlOmV9KX0sZ2V0UGF5YWJsZTpmdW5jdGlvbigpe3JldHVybiB0LiR1LmdldCgiL21pY3JvdHJhZGUvcGF5YWJsZV9jdXJyZW5jaWVzIil9LGdldFNlY29uZHNMaXN0OmZ1bmN0aW9uKGUsbil7dmFyIGE9YXJndW1lbnRzLmxlbmd0aD4yJiZ2b2lkIDAhPT1hcmd1bWVudHNbMl0/YXJndW1lbnRzWzJdOjEsbz1hcmd1bWVudHMubGVuZ3RoPjMmJnZvaWQgMCE9PWFyZ3VtZW50c1szXT9hcmd1bWVudHNbM106NTtyZXR1cm4gdC4kdS5nZXQoIi9taWNyb3RyYWRlL2xpc3RzIix7bWF0Y2hfaWQ6ZSxzdGF0dXM6bixwYWdlOmEsbGltaXQ6b30pfSxnZXRTZWNvbmRzU2Vjb25kczpmdW5jdGlvbigpe3JldHVybiB0LiR1LmdldCgiL21pY3JvdHJhZGUvc2Vjb25kcyIpfSxidXlTZWNvbmRzOmZ1bmN0aW9uKGUsbixhLG8scil7cmV0dXJuIHQuJHUucG9zdCgiL21pY3JvdHJhZGUvc3VibWl0Iix7bWF0Y2hfaWQ6ZSxjdXJyZW5jeV9pZDpuLHR5cGU6YSxzZWNvbmRzOm8sbnVtYmVyOnJ9KX0sZ2V0UmVzdWx0OmZ1bmN0aW9uKGUpe3JldHVybiB0LiR1LmdldCgiL21pY3JvdHJhZGUvZ2V0X3Jlc3VsdCIse2lkOmV9KX0sZ2V0V2FsbGV0RGV0YWlsOmZ1bmN0aW9uKGUpe3ZhciBuPWFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXToiY2hhbmdlIjtyZXR1cm4gdC4kdS5wb3N0KCIvd2FsbGV0L2RldGFpbCIse2N1cnJlbmN5OmUsdHlwZTpufSl9LGNvaW5UcmFkZTpmdW5jdGlvbihlLG4sYSxvLHIpe3JldHVybiB0LiR1LnBvc3QoIi9jb2luL3RyYWRlIix7YW1vdW50OmUsdGFyZ2V0X3ByaWNlOm4sY3VycmVuY3lfaWQ6YSxsZWdhbF9pZDpvLHR5cGU6cn0pfSxnZXRDb2luVHJhZGVMaXN0OmZ1bmN0aW9uKGUpe3JldHVybiB0LiR1LmdldCgiL2NvaW4vbGlzdCIsZSl9LGNhbmVsVHJhZGU6ZnVuY3Rpb24oZSl7cmV0dXJuIHQuJHUucG9zdCgiL2NvaW4vY2FuY2VsVHJhZGUiLHtpZDplfSl9LGdldGxldmVyVHJhZGU6ZnVuY3Rpb24oZSxuLGEsbyl7cmV0dXJuIHQuJHUucG9zdCgiL2xldmVyL215X3RyYWRlIix7Y3VycmVuY3lfaWQ6ZSxsZWdhbF9pZDpuLHBhZ2U6YSxzdGF0dXM6b30pfX0sYz17Z2V0SUVPUHJvamVjdDpmdW5jdGlvbihlLG4pe3JldHVybiB0LiR1LmdldCgiL3Byb2plY3QiLHtwYWdlOmUsbGltaXQ6bn0pfSxnZXRJRU9Qcm9qZWN0RGV0YWlsOmZ1bmN0aW9uKGUpe3JldHVybiB0LiR1LmdldCgiL3Byb2plY3QvZGV0YWlsIix7cHJvamVjdF9pZDplfSl9LHN1YnNjcmliZUlFTzpmdW5jdGlvbihlLG4sYSxvKXtyZXR1cm4gdC4kdS5wb3N0KCIvcHJvamVjdC9vcmRlciIse3Byb2plY3RfaWQ6ZSxhbW91bnQ6bixwYXlfY3VycmVuY3k6YSxwcmljZTpvfSl9LGdldElFT09yZGVyOmZ1bmN0aW9uKGUsbil7cmV0dXJuIHQuJHUuZ2V0KCIvdXNlci9wcm9qZWN0L29yZGVyIix7cGFnZTplLGxpbWl0Om59KX19LGw9e2dldExvY2ttaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIHQuJHUuZ2V0KCIvbGgvZGVwb3NpdC9jb25maWciKX0sZ2V0TG9ja21pbmdPcmRlcjpmdW5jdGlvbihlLG4pe3JldHVybiB0LiR1LmdldCgiL2xoL2RlcG9zaXQvb3JkZXIiLHtwYWdlOmUsbGltaXQ6bn0pfSxsb2NrbWluZzpmdW5jdGlvbihlLG4pe3JldHVybiB0LiR1LnBvc3QoIi9saC9kZXBvc2l0Iix7Y29uZmlnX2lkOmUsYW1vdW50Om59KX0scmVkZW1wdGlvbjpmdW5jdGlvbihlKXtyZXR1cm4gdC4kdS5wb3N0KCIvbGgvZGVwb3NpdC9vcmRlci9jYW5jZWwiLHtpZDplfSl9fSx1PXtnZXRUcmFkZXJMaXN0OmZ1bmN0aW9uKGUpe3JldHVybiB0LiR1LmdldCgiL2ZvbGxvdy9pbmRleD9wYWdlPSIrZSl9LGZvbGxvdzpmdW5jdGlvbihlLG4sYSl7cmV0dXJuIHQuJHUucG9zdCgiL2ZvbGxvdy9mb2xsb3ciLHt0cmFkZXJfdXNlcl9pZDplLG51bWJlcjpuLHR5cGU6YX0pfSxjYW5jZWxGb2xsb3c6ZnVuY3Rpb24oZSl7cmV0dXJuIHQuJHUucG9zdCgiL2ZvbGxvdy9jYW5jZWwiLHtmb2xsb3dfdXNlcl9pZDplfSl9LGdldFRyYWRlckluZm86ZnVuY3Rpb24oZSl7cmV0dXJuIHQuJHUuZ2V0KCIvZm9sbG93L3RyYWRlckRldGFpbCIse3RyYWRlcl91c2VyX2lkOmV9KX0sc2VsZkhvbGQ6ZnVuY3Rpb24oZSl7cmV0dXJuIHQuJHUucG9zdCgiL2ZvbGxvdy9zZWxmSG9sZGluZyIse3RyYW5zYWN0aW9uX2lkOmV9KX0sZ2V0SGlzdG9yeVRyYWRlOmZ1bmN0aW9uKGUpe3JldHVybiB0LiR1LmdldCgiL2ZvbGxvdy9oaXN0b3J5VHJhZGUiLHt0cmFkZXJfdXNlcl9pZDplfSl9fSxkPXtnZXRMaXN0OmZ1bmN0aW9uKCl7dmFyIGU9YXJndW1lbnRzLmxlbmd0aD4wJiZ2b2lkIDAhPT1hcmd1bWVudHNbMF0/YXJndW1lbnRzWzBdOjEsbj1hcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXT9hcmd1bWVudHNbMV06ImNhbGwiO3JldHVybiB0LiR1LmdldCgiL2R1YWwvaW5kZXgiLHtjdXJyZW5jeV9pZDplLHR5cGU6bn0pfSxnZXREZXRhaWw6ZnVuY3Rpb24oZSl7cmV0dXJuIHQuJHUuZ2V0KCIvZHVhbC9kZXRhaWwiLHtpZDplfSl9LHB1cmNoYXNlOmZ1bmN0aW9uKGUsbil7cmV0dXJuIHQuJHUucG9zdCgiL2R1YWwvYnV5RHVhbCIse2lkOmUsbnVtOm59KX0sb3JkZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIHQuJHUucG9zdCgiL2R1YWwvZHVhbF9saXN0IixlKX19LHA9e2dldEFydHdvcms6ZnVuY3Rpb24oZSl7cmV0dXJuIHQuJHUuZ2V0KCIvYmluZF9ib3gvZ2V0Qm94TGlzdCIsZSl9LGdldEFydHdvcmtEZXRhaWw6ZnVuY3Rpb24oZSl7cmV0dXJuIHQuJHUuZ2V0KCIvYmluZF9ib3gvZ2V0Qm94RGV0YWlsIix7aWQ6ZX0pfSxnZXRBcnRpc3Q6ZnVuY3Rpb24oZSl7cmV0dXJuIHQuJHUuZ2V0KCIvYmluZF9ib3gvZ2V0QXJ0aXN0IixlKX0sZ2V0QXJ0aXN0RGV0YWlsOmZ1bmN0aW9uKGUpe3JldHVybiB0LiR1LmdldCgiL2JpbmRfYm94L2dldEFydGlzdERldGFpbCIse3VpZDplfSl9LGNvbGxlY3Q6ZnVuY3Rpb24oZSl7cmV0dXJuIHQuJHUucG9zdCgiL2JpbmRfYm94L2NvbGxlY3QiLHtjb2RlOmV9KX0sZ2V0TmZ0Q3VycmVuY3k6ZnVuY3Rpb24oKXtyZXR1cm4gdC4kdS5nZXQoIi9iaW5kX2JveC9nZXROZnRDdXJyZW5jeSIpfSxnZXRDb2xsZWN0aW9uOmZ1bmN0aW9uKCl7cmV0dXJuIHQuJHUuZ2V0KCIvYmluZF9ib3gvZ2V0Q29sbGVjdGlvbiIpfSxwdXJjaGFzZTpmdW5jdGlvbihlKXtyZXR1cm4gdC4kdS5wb3N0KCIvYmluZF9ib3gvYnV5TkZUIix7Y29kZTplfSl9LGRlZHVjdE1hcmdpbjpmdW5jdGlvbihlKXtyZXR1cm4gdC4kdS5wb3N0KCIvYmluZF9ib3gvbWFyZ2luTkZUIix7Y29kZTplfSl9LHBsYWNlQUJpZDpmdW5jdGlvbihlLG4pe3JldHVybiB0LiR1LnBvc3QoIi9iaW5kX2JveC9hdWN0aW9uTkZUIix7Y29kZTplLHByaWNlOm59KX0sZ2V0UHVyY2hhc2VPcmRlcjpmdW5jdGlvbihlKXtyZXR1cm4gdC4kdS5wb3N0KCIvYmluZF9ib3gvZ2V0QmluZEJveFF1b3RhdGlvbkxvZyIse2NvZGU6ZX0pfSxnZXRNeU5GVHM6ZnVuY3Rpb24oKXtyZXR1cm4gdC4kdS5wb3N0KCIvYmluZF9ib3gvZ2V0TXlORlRzIil9LGdldE15T3JkZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIHQuJHUucG9zdCgiL2JpbmRfYm94L2dldE15QmluZEJveFF1b3RhdGlvbkxvZyIse3BhZ2U6ZX0pfSxvcGVuQmluZEJveDpmdW5jdGlvbihlKXtyZXR1cm4gdC4kdS5wb3N0KCIvYmluZF9ib3gvb3BlbkJsaW5kQm94Iix7Y29kZTplfSl9LHJlc2VsbDpmdW5jdGlvbihlKXtyZXR1cm4gdC4kdS5wb3N0KCIvYmluZF9ib3gvcmVzZWxsTkZUIixlKX0sZ2V0TmVlZFBheU5GVE9yZGVyOmZ1bmN0aW9uKCl7cmV0dXJuIHQuJHUucG9zdCgiL2JpbmRfYm94L2dldE5lZWRQYXlORlRPcmRlciIpfSxyZWFkTWVzc2FnZTpmdW5jdGlvbihlKXtyZXR1cm4gdC4kdS5wb3N0KCIvYmluZF9ib3gvcmVhZE5GVE9yZGVyTWVzc2FnZSIse2lkOmV9KX0scGF5T3JkZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIHQuJHUucG9zdCgiL2JpbmRfYm94L3BheU5GVE9yZGVyIix7aWQ6ZX0pfX07dC4kdS5hcGk9e2NvbW1vbjpuLHVzZXI6YSxzZXR0aW5nOm8saW5kZXg6cix3YWxsZXQ6aSxtYXJrZXQ6cyxpZW86Yyxsb2NrbWluZzpsLGZvbGxvdzp1LGludmVzdDpkLG5mdDpwfX19O3QuZGVmYXVsdD1hfSxkZTBjOmZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIGE7bigiNmE1NCIpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LmRlZmF1bHQ9dm9pZCAwO3ZhciBvPWZ1bmN0aW9uKGUpe3ZhciB0PWFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXTo1MDAsbj0hKGFyZ3VtZW50cy5sZW5ndGg+MiYmdm9pZCAwIT09YXJndW1lbnRzWzJdKXx8YXJndW1lbnRzWzJdO24/YXx8KGE9ITAsImZ1bmN0aW9uIj09PXR5cGVvZiBlJiZlKCksc2V0VGltZW91dCgoZnVuY3Rpb24oKXthPSExfSksdCkpOmF8fChhPSEwLHNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7YT0hMSwiZnVuY3Rpb24iPT09dHlwZW9mIGUmJmUoKX0pLHQpKX07dC5kZWZhdWx0PW99LGRlY2M6ZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtuKCI2YTU0Iik7dmFyIGE9bigiZjViZCIpLmRlZmF1bHQ7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuZGVmYXVsdD12b2lkIDAsbigiNjRhYSIpLG4oImM5YjUiKSxuKCJiZjBmIiksbigiYWI4MCIpLG4oImU5NjYiKTt2YXIgbz1hKG4oIjE2YzUiKSk7dmFyIHI9ZnVuY3Rpb24oKXt2YXIgZT1hcmd1bWVudHMubGVuZ3RoPjAmJnZvaWQgMCE9PWFyZ3VtZW50c1swXT9hcmd1bWVudHNbMF06bnVsbCx0PWFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXToieXl5eS1tbS1kZCI7ZXx8KGU9TnVtYmVyKG5ldyBEYXRlKSksMTA9PWUudG9TdHJpbmcoKS5sZW5ndGgmJihlKj0xZTMpO3ZhciBuPStuZXcgRGF0ZShOdW1iZXIoZSkpLGE9KE51bWJlcihuZXcgRGF0ZSktbikvMWUzLHI9IiI7c3dpdGNoKCEwKXtjYXNlIGE8MzAwOnI9IuWImuWImiI7YnJlYWs7Y2FzZSBhPj0zMDAmJmE8MzYwMDpyPXBhcnNlSW50KGEvNjApKyLliIbpkp/liY0iO2JyZWFrO2Nhc2UgYT49MzYwMCYmYTw4NjQwMDpyPXBhcnNlSW50KGEvMzYwMCkrIuWwj+aXtuWJjSI7YnJlYWs7Y2FzZSBhPj04NjQwMCYmYTwyNTkyZTM6cj1wYXJzZUludChhLzg2NDAwKSsi5aSp5YmNIjticmVhaztkZWZhdWx0OnI9ITE9PT10P2E+PTI1OTJlMyYmYTwzMTUzNmUzP3BhcnNlSW50KGEvMjU5MmUzKSsi5Liq5pyI5YmNIjpwYXJzZUludChhLzMxNTM2ZTMpKyLlubTliY0iOigwLG8uZGVmYXVsdCkobix0KX1yZXR1cm4gcn07dC5kZWZhdWx0PXJ9LGZjMGM6ZnVuY3Rpb24oZSx0KXtlLmV4cG9ydHM9ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBRUFBQUFCQUNBTUFBQUNkdDRIc0FBQUNpRkJNVkVWSGNFd0FBQUEvUHo4aktTNGlLQzRBVlZVUkNRa0FBQUFqS1M4aktTOGlLUzRpS0M0aktTNGlLQzRpS0M0QUFGVWpLUzh0QUQ4aUtDNGpKeXdrS2k0aktUQWpLQzRqS2k4aktTNGlLQzRoS1M0aktTOGlLVEFqS0M0aktDNGpLQzRBVlFBQVB6OGpLVEFpSnkwaUtTOGtLakFrSkRBaExDd2VLQ3dqS1M4aktTOGtLekVpS0M0aUtDNGpLQzRpS1M0aktTNGpLUzhqSnk4aktTNGtLQzRpS1M4aktDNHpNek1qS1M4aktTOGpLVEFqS0M4aUtTOGhKakVqS1M4aktTNGpLakFrS1RBaktDNGlLQzRpS1M4aUtpOGpLQzhqS1M0aUtDNGtKQzBrS0M4aUtDOGtLakFrS2k4aktDNGpLUzhpS0M0aktTLy8vLzhrS2pEOS92MGxLekgvL3Y4bUxESW5MVE1sTERJa0t6SDgvUHdUR2lBbUxETVRHUjhUR1NCdmMzZURoNG9VR2lENit2dUtqWkVVR2lFbUt6RVNHQjhuTFRJY0lpaDFlWDBuTERJZkppd2RKQ29lSlNzVUd5SDgvZjBTR1NBYklTZ2JJU2NpS0M1RFNFMUZTay83Ky9zVkd5RWtLUzhsTERQOC9QMTJlbjFvYkhBaktqQW1MREYyZVgxQVJVb1JHQjU5Z1lRbEtqRDkvdjR3Tmp6dzhQQXhOendWR3lKN2Y0UDE5ZlVaSHlZdk5EcUtqWkJ1YzNlRGhvci8vditLanBFVkhDS0FoSWY2Ky9zZkpTdzZQMFVYSFNNYUlDZloydHY0K1BqcjdPd2xLekp1Y25ZY0l5bUVoNHRHUzFENCtQa2JJaWp4OHZKMmVuNGhKeTF3ZEhoeWRub3FNRGJ2Ny9EdzhQRlpYbVA3Ky96Ny9QeWRvS01jSWlrMlBFRTRQVU9qcGFnWkh5VklUVklwTHpWS1QxU3ZzYk5CUmt3eU9EM3M3ZTJWbUp1SmpJOTBlSHgrZ29acWIzTnBibkpsYVczUzA5UzR1cnhrYUd4emRudVBrNWFXbVp5NnU3MlNscG4zOS9qVTFkWThRVVpTVmx0eGRYbmo0K1RqNU9SVldWN2EyOXpxNit0NmZZSE56OUhQMGRLbWhuOXNBQUFBVVhSU1RsTUFBd1Q4K3dNQ0FmNzlqdnIzNnFrRC9BU1FLQ24wKyt1UC9HS3RiZnhyK2dNRTUySHMvUlVYR0k1NC90WFcyTG02OTBGZFAvaGVCZldIL29iT0xxZjd3ci9FTE1lRjdlOFdISGQzMHRQUjBNL1FsNE1MQUFBRjhFbEVRVlJZdzZWWDkxOFRTUlFmSUdRM2dTQk5SY1Z5Q0lvSWdtRHZYZXkzczQ1YjBqUUJKQkJDSUNpb1NEbFpSQkQxYktobnIyZlhzNWZyZDE3eGV2MTNibVlUSU1udUJqamZEL3NKN0h6ZnZqZnozbmUrRHdDRjZhUEpJNlhJbUo5bmlxZVplRk51Z2JFb2xjTC9qS2JBd0ViRkFoQlZtTFpwdW9oRXRvbkJ4cklpUXRNWEdBdVRBSWdkMEFXR3IxbTdYdVJFeGhCak1OREVBVzNBUHhuUmlqYmtaTXNMSXBpZUF0bnpSMXBGV3VmSDlodHQwTkVpWjFvNUdWRDZTSituMGpNNFZtZGdWTTJnWTRXTWREMkkxczUrK1ZLQjFkR01wdEhZeFpLRkdqdEJVV0QwY0RRaUFseDJNUUlOSDAzV3F1Q3BOSUVkeFF4b28zWUpVeWlsQnoyVmxHQ05vWmxCR0wzWXVpZ3BmQ3NwL1lReHUrT1lRVnJjN2pGUm9URlFVVlNDVmNjTTJuVFdCQXdKY3ZBZU1GcmptQ0ZZbkRVWmcvcHNHSmdvakdlR1pPT0ZpUmdXc0NpUU9pZVJscXVlV0NSYzN3bzZjVTRLQ0d3a05XekNDalNXdks3eW5EenBjU050UEhKN1RybzlIdkp6N0xsbCtzQTJ4SUp4Z244RFAybHY3K2pvcnRXTWdhM3Q3dWhvYjM5WUoyK2tNTTdmV1JRMUtUT0xWRC9yYXVuYWYzdi9yWDAyVGgzUDJmYmQybi83VnRjTkh3bVN6c29zbHM4eUZzd1hSdmdEUEhZY0V0UHdnUEh5NitQSC9FbnFoTGtrQkFvVXI1b1hxTUN5N1ozUWJQYkN6eTBxSHJqUzQ5QnJOc1BPN1dXQmlweTNPaHVRM3N3UitrcUlzM2RDeWV1RjI1UWVPTXMyNlBWSzhGci9LNTJ3anJUMjdHbFQrL3UvdktZRmJsYno0TWR2aGkyMjhyNy9KVTZkTmh0dndnd1V6QitWdGdxOFVPSEJqL2ZDQ2x0bE1NT0lNL0FtR29XUUp1RHRGVGlMUGZDSWhlczdUcGF6SElGN2NQd1ZkajZrSllRMFhJYnZpNkVNeHZmSHdQYmhlNy9QaDNLY3VERWFwTTVrd2xpQXR6WGk1V1o0NUFPR0o0WExNOXUzUVRQR040YmhNWEJtQ3BnbEtpaTAwdDRvbjhXUG5vYXE2OWVyR3R6ZnkvdmZZcTlVMEt3NEN5U2pHTVdSa3l5SWg2OC8vdm5telo1ZmY4Si9TTkpuZGw2eE1BWWxnd0trUXVLOC9UeUU5N3dRZnZUYjcyOGhOTitGOEx5TlZ5RjZsQTl5V1RVaXJLeis5aXIwT2srUTBqM2hsT0RWcjZyTDFlaVJ6UU9tSmxVbUxUL1YrZ05CU3hKNWZ0TjZxbEtWWDFrVGlOZG9YYzdsKytQUm1TNEl1LzU4OU12QkJ4b055c1FEYmZKQWp4dlluaWRQZXRnREI1RW15ZEFnd2xYQVAyVk9WemVjWnA3eUVVaE9Nd1dtcmRsWDdYbjU0c1ZMZDRNUHRUR2FLWmhZOVJpNHFsUFBYdi96NnUzYlYvKytmdmE0U24wUDZDWVR5R00xVHFIbnVSa0dUSHIrVU9zVWNrRytXaUV4L0lFN1p5RjBPZ21jUFArNmMwQ3REZ3lvUUxXVWNTWHVyWWQzY1FUbXMyZnI4Zk1lck4rclZvbWtsRldhQ2ZmQ1hpL3VIM2ptNzUzZDNUczZ6K0RmVzd4cUhrZ3pwU2phbVNtM2ZHa212WFNmcVhhNTNRK3FtKzZUYmpSL1lRblBBcmR6S29qZUdCNENYN05WSXZqdkhIVThZbG5FMTFtT0VnL1MxdkIrTklnTG9nQklDNlUwblA5aDNMNW1lTlRTM01kSWpxT1lVU1FZN2tISEdURW56Z2lOQU9NbHdva2xwV1g5bkZoV1drSTRVZG9hdWc4eXFWS1kxaE9WOFplVU5nZGRrV3d6OWlCblVSUGt3WUJwSGV0ZnNDNG9COTUyZUF1Si81QURoVnl4TEhJY0lsbDhHQnlEVHNqQmNEM0lYdDE3dFdGODcvZkx3cTVvT1F0dlNCYjB2RlhGK0diRTkrUGMzaEE0R1crR0pRNU9jY1hqblN3aE1VZzNhamdtK0hMRjEzdHhacFljQW5JMDRycUg4RlBGOS8weDRDekk2MnNPbVIwTVdabVQvRkt0VjJBZzN4dko2YXkvZk5IQ3FVb01mTDljdkZ6dmRIcmZ5UHBBeHdVRUJ0WjQrbVhuaU1TcHU3Unp4NDZkclM0dG1jU3lybGF5NGhKUktHUFJpdGhoQWFXbkJ5bCtrVlhyYzEycHZSQkpJMTI0NG5MNWFtV1JOVHdWcTdNd21jY2liRzJSVkZvYldjR0d5endpTkpQNUlRcE5ZN0RRZkhlcGk4OXlpR0o3Z3A1U3lQMUYxc1dEay9zeDFvUWs1ZVNFWjRncHdxNy9QM0M4KzhnakQxMExsd3c4ZEMxZHJqMSs0dDVNenhBaWpYMWNSanFsT2ZiNUI4L0pLMDJjMXVCcEhUay9PK0xnNlI5OXMzTTJJS3R5OU9YRTlXdlhERFQ2Qm9idnBFTGpBbm40Wm51SGIzSDZwclRDcU1FTTM4UUZ5WkZLTFpwU2tHdUtaK2g0VTE2K3NTaUZCQjZ0RXYxL0Y4Z3kwZks0dEZZQUFBQUFTVVZPUks1Q1lJST0ifSxmY2E1OmZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7bigiNmE1NCIpO3ZhciBhPW4oImY1YmQiKS5kZWZhdWx0O09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LmRlZmF1bHQ9dm9pZCAwLG4oIjVjNDciKSxuKCIwNTA2IiksbigiYmYwZiIpO3ZhciBvPWEobigiMjYzNCIpKSxyPWEobigiMmZkYyIpKSxpPWEobigiODBiMSIpKSxzPWEobigiZWZlNSIpKSxjPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZSgpeygwLGkuZGVmYXVsdCkodGhpcyxlKSx0aGlzLmNvbmZpZz17dHlwZToibmF2aWdhdGVUbyIsdXJsOiIiLGRlbHRhOjEscGFyYW1zOnt9LGFuaW1hdGlvblR5cGU6InBvcC1pbiIsYW5pbWF0aW9uRHVyYXRpb246MzAwLGludGVyY2VwdDohMX0sdGhpcy5yb3V0ZT10aGlzLnJvdXRlLmJpbmQodGhpcyl9cmV0dXJuKDAscy5kZWZhdWx0KShlLFt7a2V5OiJhZGRSb290UGF0aCIsdmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuIi8iPT09ZVswXT9lOiIvIi5jb25jYXQoZSl9fSx7a2V5OiJtaXhpblBhcmFtIix2YWx1ZTpmdW5jdGlvbihlLHQpe2U9ZSYmdGhpcy5hZGRSb290UGF0aChlKTt2YXIgbj0iIjtyZXR1cm4vLipcLy4qXD8uKj0uKi8udGVzdChlKT8obj11bmkuJHUucXVlcnlQYXJhbXModCwhMSksZSsiJiIrbik6KG49dW5pLiR1LnF1ZXJ5UGFyYW1zKHQpLGUrbil9fSx7a2V5OiJyb3V0ZSIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgZT0oMCxyLmRlZmF1bHQpKCgwLG8uZGVmYXVsdCkoKS5tYXJrKChmdW5jdGlvbiBlKCl7dmFyIHQsbixhLHIsaT1hcmd1bWVudHM7cmV0dXJuKDAsby5kZWZhdWx0KSgpLndyYXAoKGZ1bmN0aW9uKGUpe3doaWxlKDEpc3dpdGNoKGUucHJldj1lLm5leHQpe2Nhc2UgMDppZih0PWkubGVuZ3RoPjAmJnZvaWQgMCE9PWlbMF0/aVswXTp7fSxuPWkubGVuZ3RoPjEmJnZvaWQgMCE9PWlbMV0/aVsxXTp7fSxhPXt9LCJzdHJpbmciPT09dHlwZW9mIHQ/KGEudXJsPXRoaXMubWl4aW5QYXJhbSh0LG4pLGEudHlwZT0ibmF2aWdhdGVUbyIpOihhPXVuaS4kdS5kZWVwQ2xvbmUodCx0aGlzLmNvbmZpZyksYS51cmw9dGhpcy5taXhpblBhcmFtKHQudXJsLHQucGFyYW1zKSksbi5pbnRlcmNlcHQmJih0aGlzLmNvbmZpZy5pbnRlcmNlcHQ9bi5pbnRlcmNlcHQpLGEucGFyYW1zPW4sYT11bmkuJHUuZGVlcE1lcmdlKHRoaXMuY29uZmlnLGEpLCJmdW5jdGlvbiIhPT10eXBlb2YgdW5pLiR1LnJvdXRlSW50ZXJjZXB0KXtlLm5leHQ9MTQ7YnJlYWt9cmV0dXJuIGUubmV4dD0xMCxuZXcgUHJvbWlzZSgoZnVuY3Rpb24oZSx0KXt1bmkuJHUucm91dGVJbnRlcmNlcHQoYSxlKX0pKTtjYXNlIDEwOnI9ZS5zZW50LHImJnRoaXMub3BlblBhZ2UoYSksZS5uZXh0PTE1O2JyZWFrO2Nhc2UgMTQ6dGhpcy5vcGVuUGFnZShhKTtjYXNlIDE1OmNhc2UiZW5kIjpyZXR1cm4gZS5zdG9wKCl9fSksZSx0aGlzKX0pKSk7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0oKX0se2tleToib3BlblBhZ2UiLHZhbHVlOmZ1bmN0aW9uKGUpe3ZhciB0PWUudXJsLG49KGUudHlwZSxlLmRlbHRhKSxhPWUuYW5pbWF0aW9uVHlwZSxvPWUuYW5pbWF0aW9uRHVyYXRpb247Im5hdmlnYXRlVG8iIT1lLnR5cGUmJiJ0byIhPWUudHlwZXx8dW5pLm5hdmlnYXRlVG8oe3VybDp0LGFuaW1hdGlvblR5cGU6YSxhbmltYXRpb25EdXJhdGlvbjpvfSksInJlZGlyZWN0VG8iIT1lLnR5cGUmJiJyZWRpcmVjdCIhPWUudHlwZXx8dW5pLnJlZGlyZWN0VG8oe3VybDp0fSksInN3aXRjaFRhYiIhPWUudHlwZSYmInRhYiIhPWUudHlwZXx8dW5pLnN3aXRjaFRhYih7dXJsOnR9KSwicmVMYXVuY2giIT1lLnR5cGUmJiJsYXVuY2giIT1lLnR5cGV8fHVuaS5yZUxhdW5jaCh7dXJsOnR9KSwibmF2aWdhdGVCYWNrIiE9ZS50eXBlJiYiYmFjayIhPWUudHlwZXx8dW5pLm5hdmlnYXRlQmFjayh7ZGVsdGE6bn0pfX1dKSxlfSgpLGw9KG5ldyBjKS5yb3V0ZTt0LmRlZmF1bHQ9bH0sZmYzYzpmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO24oIjZhNTQiKSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksdC5kZWZhdWx0PXZvaWQgMDt2YXIgYT1mdW5jdGlvbihlLHQpe2lmKGU+PTAmJnQ+MCYmdD49ZSl7dmFyIG49dC1lKzE7cmV0dXJuIE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSpuK2UpfXJldHVybiAwfTt0LmRlZmF1bHQ9YX19KTs="}},"time_used":208,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":203,"receive":5,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null},{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"unpkg.com/evm-chains@0.2.0/lib/index.js","fqdn":"unpkg.com","domain":"unpkg.com","tld":"com"},"ip":{"addr":"104.18.1.22","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://futurbcvndf.com/","date":"2026-07-27T06:23:00.527Z","timestamp":1785133380527,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"unpkg.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sat, 11 Jul 2026 17:56:32 GMT","end":"Fri, 09 Oct 2026 18:56:21 GMT"},"fingerprint":{"sha1":"81:08:7C:A2:AA:81:B4:77:02:EE:53:FB:23:6F:1D:97:C3:92:2E:A0","sha256":"13:42:07:B0:BF:53:83:27:C3:6E:69:00:B5:F0:1C:58:6C:AD:B4:DD:93:08:84:F0:97:51:3B:60:91:10:85:76"}}},"request":{"raw":"GET /evm-chains@0.2.0/lib/index.js HTTP/1.1\r\nHost: unpkg.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://futurbcvndf.com/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 404 \r\ndate: Mon, 27 Jul 2026 06:23:00 GMT\r\ncontent-type: text/plain;charset=UTF-8\r\ncontent-length: 41\r\nstrict-transport-security: max-age=31536000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\npriority: u=3,i=?0\r\nserver: cloudflare\r\ncf-ray: a2198d8c496e8deb-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"404","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":0,"mime_type":"text/plain; charset=UTF-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-04T14:30:18.251771Z","times_seen":17709334,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"futurbcvndf.com/static/image/icon/favicon.ico","fqdn":"futurbcvndf.com","domain":"futurbcvndf.com","tld":"com"},"ip":{"addr":"172.67.130.50","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://futurbcvndf.com/","date":"2026-07-27T06:23:01.343Z","timestamp":1785133381343,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"futurbcvndf.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 16 Jul 2026 16:36:02 GMT","end":"Wed, 14 Oct 2026 16:36:01 GMT"},"fingerprint":{"sha1":"46:2D:5F:F0:3D:BD:73:19:93:72:79:62:4A:45:03:09:5D:FB:1E:A5","sha256":"35:31:C4:67:1D:DB:68:C3:FB:49:03:14:DD:4E:76:FE:13:53:8D:98:98:2E:BE:EA:B8:CA:4F:B6:5B:7E:5C:1D"}}},"request":{"raw":"GET /static/image/icon/favicon.ico HTTP/1.1\r\nHost: futurbcvndf.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://futurbcvndf.com/\r\nCookie: angela_session=eyJpdiI6IlhnUEZEQ1hLNngxS0t2ZGN3TnJjV1E9PSIsInZhbHVlIjoiVGlYZUpmMXVPdEhuTGtoQzhTS3VXM3BIN3J4ZDZnU2dNTWxTc0NRcHNMTXFyNm1wQTZEQ0RKTWJ0UjRERWZ5aDBaQWxVaVdmN0VVQkNna0M2ZTJ2dTdFZkx3amdIYjZlQzEzMHozajVqTzMybnhMOHo1bEpuaXdQM1R3UVN4QmQiLCJtYWMiOiJiZWIyMTJlYzc4OWUzODk0ODBiOTI5NmU0MjA2MDBmZjJmYzA2MTI3ZjViNmY4NWYxNzIyNDI4MDhhYWMzZmI4In0%3D\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=6\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\nserver: cloudflare\r\ndate: Mon, 27 Jul 2026 06:23:01 GMT\r\ncontent-type: image/x-icon\r\netag: W/\"68558319-5bc\"\r\npriority: u=6,i=?0\r\nlast-modified: Fri, 20 Jun 2025 15:49:45 GMT\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nstrict-transport-security: max-age=31536000\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=sZx0c%2BJuGBy6XtBhU00F9f7T9gGqAOe4I2gc%2FbGeTQw4O%2BEJw5OXYJghmx6L0iQyzRXeYwnW72DLHAfncq19X16VEJYrFwZxXJRcrrMGtKp%2FBYtWtDon5FbmZzYjQlUrdgI%3D\"}]}\r\ncache-control: max-age=14400\r\ncf-cache-status: REVALIDATED\r\ncontent-encoding: zstd\r\ncf-ray: a2198d9169910daa-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":1468,"size_decoded":2206,"mime_type":"image/x-icon","magic":"MS Windows icon resource - 1 icon, 64x64 with PNG image data, 64 x 64, 8-bit/color RGBA, non-interlaced, 24 bits/pixel","md5":"47074a7f6be35c50d633488952230b59","sha1":"45ab9182de01430346d07555a923e4d632c59e3f","sha256":"4358055c04a2e9edf75d00ec1c6815a2c99ba74dbaf0dbb9b2c5c3f716df1dbb","sha512":"2749e122f2f75aac7636a5d4fdde798342140e4a1f09b3d35e82810691a4fe8492dc5bd418c36486b458b89a340b93203f3608ec5310938f97d83d6f9f354948","ssdeep":"","tlshash":"9831e6a76b1648eac2382418c4325906ca8f7cdb4b5d24c23de63f208c6b7c0275df36","first_seen":"2023-05-13T12:43:41Z","last_seen":"2026-08-02T21:17:18.928692Z","times_seen":427,"resource_available":false,"data":"AAABAAEAQEAAAAEAGACmBQAAFgAAAIlQTkcNChoKAAAADUlIRFIAAABAAAAAQAgGAAAAqmlx3gAAAAFzUkdCAK7OHOkAAAAEZ0FNQQAAsY8L/GEFAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAFO0lEQVR4Xu2ZaVNTVxjH/TTigrgEY6gopVYBCUgYYySxYqnrQIXRcZlxpo6jb3zhYGdaxBVUQGxpTWkV0CqgdYGCBdxwLW6f4/H8z8m5hiTquZl7MzE5L+5kJjn33vP/Pc95tkzJmDqV0vmaks7ioV0D0B6gY4AOgjoLpHMc0Fkgna2v6wBdCOlKUJfCOgvoLKB7Ad0L6F4gUXFgz+Z8Gg9W0pPOb+npX+vp2aUN9KJ7M030VNPLK1vp9dVaetu7jXKyZyXMKAnJAif2FdL9Dh89+M1Pjy6sofE/1tGTPwWE55c20v+AcLmaXv0NCHV0u7WSXjMQC51ZtoOwHcDIuTIabV9JY7+sYhBW08PfAWEtPeYQqujZxfU03rmB+n7Oof4juXS9cTH9cyyPbh3Pp9snv6Y7p5bZCsFWAENn3XS3dQVxCOdX0r1fV9GDjgoBIcggdK7jwvsaFoaJ/3KS+MHmQho6U2QbBNsAiI0X03BLCf3XBggeGjvvZRDEUXh4IUCFeZlc2N6N8+nGUVg+THzTMgp/BkDaEatsAQDXHWAC/j1dRPCC4ZZSDmG0vTx0FHxRYnzL5zDLLxFuH0M8vGiotdxyCJYDaDvkp1snmJBTS2mgucCAcLe1VBwFFg8+ZMnVxXM5uMHT771n0hFiccRqL7AcwHjXVrp5/CsGQQSwQQYBZ1jGg08JqHDPizo6PH6EBdFPPcPM75YC2FfrprFgTVQUl2dZdWP+EocRN0Z53AgLniyDqD5HZZ2lAN72bqc31+pCqQwBTZxpuLXKZsLXBEqzWeaIEI/MwdJnd2N0DDH7fLneUgAQj2Lm+pFFPKrfPIajsMQQ75o3nYIHXSL1sevKjzn8N0fWNOM7+Ru+X7PCOTlthmqHp6x2iFdw5H2WAoD4ics11N/wRQhCXtRGAae/IZeaf1hAu6sc9H3FHPIWZEUBAIiewy76pmyBUTOgcIJ4VI9JCQDiUdZigxDpmD0taqMHqp3cO1DxtR8Q1d/M6RmUOSMjJgSAWOtxGVXj8y5ROiclACkeVgrWu+PeJDxIHgV89rKr47CXpHiATkoAsDzEw1URrOp3LI57o/KocBisVIZg0TTV8DiTlADCxaPrQ82PQBbPZmsDDuOocBjsqHgKnUbHGM8zY91jaRCUlpfi0f2hCwyUzjcNYVeVkxdUyCToDm8cFQEVmQbpNikBwO0jxaP+H2krI39JtqlNo4pEDYGKEqkU7TFEQ/zBndY1RpZ6gMsxk7u9tLwUjz4ApTDKXBXL3Wkq4p0gegkUUQLGUuEBfTuUnqHyHqyxFAAe+CHx6AwHmgoIDc/HNjd4xs1h8Yu107gPzRF6is8CQK4zk7e9cHtpeSkeVoQ7o/WNBWG4xcPvQ+uMLhCzBFwShqpVzayz3APw8o+Jx9ADhZCvaPYkCCPnvDxgovPjANkABe2zhOErVjs+ZsTbcgTkBmC1SMtL8UhryO3d9TnkL85iwv1sSlTBjw8mRuj+BAwvnx+MtnssPffhkGzxAPkCnHnp9pHiZaWHMTnmgyJ7BHgQxcgMs0NMkgHDrFXNrLcVADbS35jPZ328/g9ZHuIv/lTOxuLf8aoR/xNgQIpxuQGDzQwBw4yYeNbaDkBuCnP/iZ4tvJx90bWF1fWbeNOEsTgqyFgw4hFk9p6EAZAbu9pUyf8EMWBwICEY7J+i/XUi3SXqSjiARAlTfY8GoEoqVddpD0hVy6rq0h6gSipV12kPSFXLqurSHqBKKlXXaQ9IVcuq6tIeoEoqVddpD0hVy6rqSnsPeAclBU/nH8/OxQAAAABJRU5ErkJggg=="}},"time_used":255,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":255,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null},{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"futurbcvndf.com/api/currency/new_timeshar?from=1785129781\u0026to=1785133381\u0026symbol=ETC%2FUSDT\u0026period=1min\u0026lang=en","fqdn":"futurbcvndf.com","domain":"futurbcvndf.com","tld":"com"},"ip":{"addr":"172.67.130.50","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://futurbcvndf.com/","date":"2026-07-27T06:23:03.833Z","timestamp":1785133383833,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"futurbcvndf.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 16 Jul 2026 16:36:02 GMT","end":"Wed, 14 Oct 2026 16:36:01 GMT"},"fingerprint":{"sha1":"46:2D:5F:F0:3D:BD:73:19:93:72:79:62:4A:45:03:09:5D:FB:1E:A5","sha256":"35:31:C4:67:1D:DB:68:C3:FB:49:03:14:DD:4E:76:FE:13:53:8D:98:98:2E:BE:EA:B8:CA:4F:B6:5B:7E:5C:1D"}}},"request":{"raw":"GET /api/currency/new_timeshar?from=1785129781\u0026to=1785133381\u0026symbol=ETC%2FUSDT\u0026period=1min\u0026lang=en HTTP/1.1\r\nHost: futurbcvndf.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nAuthorization: \r\nContent-Type: application/x-www-form-urlencoded\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://futurbcvndf.com/\r\nCookie: angela_session=eyJpdiI6ImV6cUpPMWpvYWxjOE9kYVg0YkR3WUE9PSIsInZhbHVlIjoiZ1p5MUUwcjlRdXJad2FyK2ZzTW1MbTBIS3FHTUNCdlhPcXE2dWZUd05BYkZWXC83RzNiY0dNS2VxQzdnd2hrNFRZdHc5RFF3YStnS2V5eUxsR1ZTZGwyblFnN25XNXlQTTVFNVB0TU9DN2JHdmZuZERBSkFNYlNlTzhxZlV1NVBEIiwibWFjIjoiNWMwNjQ1MjBlNWIyZjBjNzhmNzFjZTExMTFlYjA5NmI5OTA1ZWQzYWYyZjEwNDQ2NzExOWY3Y2IxOTBhZGIxNiJ9\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\nserver: cloudflare\r\ndate: Mon, 27 Jul 2026 06:23:04 GMT\r\ncontent-type: application/json\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=5XD7FFjtOR2Hclx1BssxjUKDljq3yRFLGGaKHbV%2BaCV1Fz%2BRKMlc%2BOPT87isSo5UdHFqV%2FM4qM0yae%2BJO1bvtqHhDbabukNwt%2FmMxsbZzBtU%2Ffw0CmbuPMZ%2FCUUYnZ8cSOs%3D\"}]}\r\npriority: u=3,i=?0\r\ncache-control: no-cache, private, no-cache\r\naccess-control-allow-origin: *\r\naccess-control-allow-headers: Origin, Content-Type, Cookie, X-CSRF-TOKEN, Accept, Authorization, X-XSRF-TOKEN\r\naccess-control-expose-headers: Authorization, authenticated\r\naccess-control-allow-methods: GET, POST, PATCH, PUT, OPTIONS\r\naccess-control-allow-credentials: false\r\nset-cookie: angela_session=eyJpdiI6IkdSY1wvMjBFcWkxQUQ1eGxYbm5HaVBnPT0iLCJ2YWx1ZSI6IkdsbGhtY09CQzlJRW01VFJJbkh3ZnNPOVhlXC9qXC96cjlDT1dXemU5d2RlcWxxMnlpUXMzRlhKR2Nsd0xHYll1aWR0cVllQ2t6V1hYYk11TEsyeFJkTzFLdkgweUlpMmdNT3R3ZSs0UzVnV1dpU2RwUDZHbTdBeUpoVVlicjBIUlYiLCJtYWMiOiI2YmFkMmZjM2I4M2ZlNTZhZjZiZmE5MWIyYTEzZTA4MmVlMGM2ZmE4MjgzMjNmNmVmMDUzNDQyN2NkMzVhODMzIn0%3D; expires=Mon, 27-Jul-2026 08:23:04 GMT; Max-Age=7200; path=/; httponly\r\nstrict-transport-security: max-age=31536000\r\ncf-cache-status: DYNAMIC\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\ncontent-encoding: zstd\r\ncf-ray: a2198da0fbbd0daa-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":12022,"size_decoded":3014,"mime_type":"application/json","magic":"JSON text data","md5":"33925c248ba71c6d2092c292a6fc1bd4","sha1":"ff7cbaec8ec702223cd1a62da3ee2a586a60d338","sha256":"be39c16855840cd654b0ce475bd4d2464c19b9d8d9fa0c3e3830677a13b9bf21","sha512":"70066944c9653d83af7c2cc5825a01f019781f9d06f0a931cb73d408030a434c1443319acafe72870439c55c7716d1da8bccdb335897be66936f22e6e2a2a5dc","ssdeep":"96:Swl5w2miwUewbswpHfdwlXw3QwHlkwfV8wB25twQNcwDcNwDFwD+wDrwDpwxYwlP:nV/3DE3Q2EDPf","tlshash":"00425d41e57941b0d0ba70d9bda3cca8936b20e764c2cf58c3bf15c155e1afab106a3b","first_seen":"2026-07-27T06:23:39.715881Z","last_seen":"2026-07-27T06:23:39.715881Z","times_seen":1,"resource_available":false,"data":"eyJjb2RlIjoxLCJtc2ciOiJzdWNjZXNzIiwiZGF0YSI6W3siaWQiOjE3ODUxMjk4NDAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiRVRDIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6Ny4wMjQsImNsb3NlIjo3LjAyNCwiaGlnaCI6Ny4wMjQsImxvdyI6Ny4wMjQsInZvbCI6MCwiYW1vdW50IjowLCJ0aW1lIjoxNzg1MTI5ODQwMDAwLCJ2b2x1bWUiOjB9LHsiaWQiOjE3ODUxMjk5MDAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiRVRDIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6Ny4wMDkyLCJjbG9zZSI6Ny4wMDkyLCJoaWdoIjo3LjAwOTIsImxvdyI6Ny4wMDkyLCJ2b2wiOjg2LjU3MjAzMTA0LCJhbW91bnQiOjEyLjM1MTIsInRpbWUiOjE3ODUxMjk5MDAwMDAsInZvbHVtZSI6MTIuMzUxMn0seyJpZCI6MTc4NTEyOTk2MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJFVEMiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjo3LjAxNjYsImNsb3NlIjo3LjAxMzYsImhpZ2giOjcuMDE2NywibG93Ijo3LjAxMzMsInZvbCI6Mjc3Ni4yNzc3ODg0MywiYW1vdW50IjozOTUuNzE3OSwidGltZSI6MTc4NTEyOTk2MDAwMCwidm9sdW1lIjozOTUuNzE3OX0seyJpZCI6MTc4NTEzMDAyMCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJFVEMiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjo3LjAxMjksImNsb3NlIjo3LjAxMjksImhpZ2giOjcuMDEzMSwibG93Ijo3LjAxMjksInZvbCI6NTE2LjU2NjkxMzk2LCJhbW91bnQiOjczLjY1ODgsInRpbWUiOjE3ODUxMzAwMjAwMDAsInZvbHVtZSI6NzMuNjU4OH0seyJpZCI6MTc4NTEzMDA4MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJFVEMiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjo3LjAwOTgsImNsb3NlIjo3LjAxMjgsImhpZ2giOjcuMDEyOCwibG93Ijo3LjAwOTgsInZvbCI6Mjg1LjM4NTMwNTE4LCJhbW91bnQiOjQwLjcwNDEsInRpbWUiOjE3ODUxMzAwODAwMDAsInZvbHVtZSI6NDAuNzA0MX0seyJpZCI6MTc4NTEzMDE0MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJFVEMiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjo3LjAxMjgsImNsb3NlIjo3LjAxMjgsImhpZ2giOjcuMDEyOCwibG93Ijo3LjAxMjgsInZvbCI6MCwiYW1vdW50IjowLCJ0aW1lIjoxNzg1MTMwMTQwMDAwLCJ2b2x1bWUiOjB9LHsiaWQiOjE3ODUxMzAyMDAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiRVRDIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6Ny4wMTQzLCJjbG9zZSI6Ny4wMTQzLCJoaWdoIjo3LjAxNDMsImxvdyI6Ny4wMTQzLCJ2b2wiOjExOS43NTc5NDk2MiwiYW1vdW50IjoxNy4wNzM0LCJ0aW1lIjoxNzg1MTMwMjAwMDAwLCJ2b2x1bWUiOjE3LjA3MzR9LHsiaWQiOjE3ODUxMzAyNjAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiRVRDIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6Ny4wMTU1LCJjbG9zZSI6Ny4wMTMxLCJoaWdoIjo3LjAxNywibG93Ijo3LjAxMjksInZvbCI6OTk2LjczMTg0MzkyLCJhbW91bnQiOjE0Mi4wODIyLCJ0aW1lIjoxNzg1MTMwMjYwMDAwLCJ2b2x1bWUiOjE0Mi4wODIyfSx7ImlkIjoxNzg1MTMwMzIwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkVUQyIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjcuMDE0NSwiY2xvc2UiOjcuMDE2OSwiaGlnaCI6Ny4wMTY5LCJsb3ciOjcuMDE0MSwidm9sIjozNDUuMDg2NDI3NjEsImFtb3VudCI6NDkuMTkyNSwidGltZSI6MTc4NTEzMDMyMDAwMCwidm9sdW1lIjo0OS4xOTI1fSx7ImlkIjoxNzg1MTMwMzgwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkVUQyIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjcuMDIyMywiY2xvc2UiOjcuMDIxNiwiaGlnaCI6Ny4wMjIzLCJsb3ciOjcuMDIxNSwidm9sIjo0MTQuMzg4NzQ3NTEsImFtb3VudCI6NTkuMDE1NiwidGltZSI6MTc4NTEzMDM4MDAwMCwidm9sdW1lIjo1OS4wMTU2fSx7ImlkIjoxNzg1MTMwNDQwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkVUQyIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjcuMDIzMSwiY2xvc2UiOjcuMDE5OSwiaGlnaCI6Ny4wMjMxLCJsb3ciOjcuMDE5OSwidm9sIjoyNDQuNzU5Njk1MzgsImFtb3VudCI6MzQuODU1OCwidGltZSI6MTc4NTEzMDQ0MDAwMCwidm9sdW1lIjozNC44NTU4fSx7ImlkIjoxNzg1MTMwNTAwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkVUQyIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjcuMDIyNiwiY2xvc2UiOjcuMDIyNiwiaGlnaCI6Ny4wMjI2LCJsb3ciOjcuMDIyNiwidm9sIjoxMDkuNTQ0ODM1MTQsImFtb3VudCI6MTUuNTk4OSwidGltZSI6MTc4NTEzMDUwMDAwMCwidm9sdW1lIjoxNS41OTg5fSx7ImlkIjoxNzg1MTMwNTYwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkVUQyIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjcuMDIyNiwiY2xvc2UiOjcuMDIyNiwiaGlnaCI6Ny4wMjI2LCJsb3ciOjcuMDIyNiwidm9sIjowLCJhbW91bnQiOjAsInRpbWUiOjE3ODUxMzA1NjAwMDAsInZvbHVtZSI6MH0seyJpZCI6MTc4NTEzMDYyMCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJFVEMiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjo3LjAyMjYsImNsb3NlIjo3LjAyMjYsImhpZ2giOjcuMDIyNiwibG93Ijo3LjAyMjYsInZvbCI6MCwiYW1vdW50IjowLCJ0aW1lIjoxNzg1MTMwNjIwMDAwLCJ2b2x1bWUiOjB9LHsiaWQiOjE3ODUxMzA2ODAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiRVRDIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6Ny4wMjI2LCJjbG9zZSI6Ny4wMjI2LCJoaWdoIjo3LjAyMjYsImxvdyI6Ny4wMjI2LCJ2b2wiOjAsImFtb3VudCI6MCwidGltZSI6MTc4NTEzMDY4MDAwMCwidm9sdW1lIjowfSx7ImlkIjoxNzg1MTMwNzQwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkVUQyIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjcuMDIyNiwiY2xvc2UiOjcuMDIyNiwiaGlnaCI6Ny4wMjI2LCJsb3ciOjcuMDIyNiwidm9sIjowLCJhbW91bnQiOjAsInRpbWUiOjE3ODUxMzA3NDAwMDAsInZvbHVtZSI6MH0seyJpZCI6MTc4NTEzMDgwMCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJFVEMiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjo3LjAyMjMsImNsb3NlIjo3LjAyMDEsImhpZ2giOjcuMDIyMywibG93Ijo3LjAxOTcsInZvbCI6NTUxLjc2NzYyNjc0LCJhbW91bnQiOjc4LjU5NDcsInRpbWUiOjE3ODUxMzA4MDAwMDAsInZvbHVtZSI6NzguNTk0N30seyJpZCI6MTc4NTEzMDg2MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJFVEMiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjo3LjAyMDEsImNsb3NlIjo3LjAyMDEsImhpZ2giOjcuMDIwMSwibG93Ijo3LjAyMDEsInZvbCI6MCwiYW1vdW50IjowLCJ0aW1lIjoxNzg1MTMwODYwMDAwLCJ2b2x1bWUiOjB9LHsiaWQiOjE3ODUxMzA5MjAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiRVRDIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6Ny4wMjAxLCJjbG9zZSI6Ny4wMjAxLCJoaWdoIjo3LjAyMDEsImxvdyI6Ny4wMjAxLCJ2b2wiOjAsImFtb3VudCI6MCwidGltZSI6MTc4NTEzMDkyMDAwMCwidm9sdW1lIjowfSx7ImlkIjoxNzg1MTMwOTgwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkVUQyIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjcuMDIxLCJjbG9zZSI6Ny4wMjEsImhpZ2giOjcuMDIxLCJsb3ciOjcuMDIxLCJ2b2wiOjc0LjI1NDc5ODEsImFtb3VudCI6MTAuNTc2MSwidGltZSI6MTc4NTEzMDk4MDAwMCwidm9sdW1lIjoxMC41NzYxfSx7ImlkIjoxNzg1MTMxMDQwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkVUQyIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjcuMDIxLCJjbG9zZSI6Ny4wMjEsImhpZ2giOjcuMDIxLCJsb3ciOjcuMDIxLCJ2b2wiOjAsImFtb3VudCI6MCwidGltZSI6MTc4NTEzMTA0MDAwMCwidm9sdW1lIjowfSx7ImlkIjoxNzg1MTMxMTAwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkVUQyIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjcuMDIxLCJjbG9zZSI6Ny4wMjEsImhpZ2giOjcuMDIxLCJsb3ciOjcuMDIxLCJ2b2wiOjAsImFtb3VudCI6MCwidGltZSI6MTc4NTEzMTEwMDAwMCwidm9sdW1lIjowfSx7ImlkIjoxNzg1MTMxMTYwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkVUQyIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjcuMDIxLCJjbG9zZSI6Ny4wMjEsImhpZ2giOjcuMDIxLCJsb3ciOjcuMDIxLCJ2b2wiOjAsImFtb3VudCI6MCwidGltZSI6MTc4NTEzMTE2MDAwMCwidm9sdW1lIjowfSx7ImlkIjoxNzg1MTMxMjIwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkVUQyIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjcuMDIxLCJjbG9zZSI6Ny4wMjEsImhpZ2giOjcuMDIxLCJsb3ciOjcuMDIxLCJ2b2wiOjAsImFtb3VudCI6MCwidGltZSI6MTc4NTEzMTIyMDAwMCwidm9sdW1lIjowfSx7ImlkIjoxNzg1MTMxMjgwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkVUQyIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjcuMDIxLCJjbG9zZSI6Ny4wMjEsImhpZ2giOjcuMDIxLCJsb3ciOjcuMDIxLCJ2b2wiOjAsImFtb3VudCI6MCwidGltZSI6MTc4NTEzMTI4MDAwMCwidm9sdW1lIjowfSx7ImlkIjoxNzg1MTMxMzQwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkVUQyIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjcuMDIxLCJjbG9zZSI6Ny4wMjEsImhpZ2giOjcuMDIxLCJsb3ciOjcuMDIxLCJ2b2wiOjAsImFtb3VudCI6MCwidGltZSI6MTc4NTEzMTM0MDAwMCwidm9sdW1lIjowfSx7ImlkIjoxNzg1MTMxNDAwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkVUQyIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjcuMDE4OSwiY2xvc2UiOjcuMDE5LCJoaWdoIjo3LjAxOSwibG93Ijo3LjAxODksInZvbCI6MTU3LjE1NDI1OTUsImFtb3VudCI6MjIuMzksInRpbWUiOjE3ODUxMzE0MDAwMDAsInZvbHVtZSI6MjIuMzl9LHsiaWQiOjE3ODUxMzE0NjAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiRVRDIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6Ny4wMTksImNsb3NlIjo3LjAxOSwiaGlnaCI6Ny4wMTksImxvdyI6Ny4wMTksInZvbCI6MCwiYW1vdW50IjowLCJ0aW1lIjoxNzg1MTMxNDYwMDAwLCJ2b2x1bWUiOjB9LHsiaWQiOjE3ODUxMzE1MjAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiRVRDIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6Ny4wMTksImNsb3NlIjo3LjAxOSwiaGlnaCI6Ny4wMTksImxvdyI6Ny4wMTksInZvbCI6MCwiYW1vdW50IjowLCJ0aW1lIjoxNzg1MTMxNTIwMDAwLCJ2b2x1bWUiOjB9LHsiaWQiOjE3ODUxMzE1ODAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiRVRDIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6Ny4wMTksImNsb3NlIjo3LjAxOSwiaGlnaCI6Ny4wMTksImxvdyI6Ny4wMTksInZvbCI6MCwiYW1vdW50IjowLCJ0aW1lIjoxNzg1MTMxNTgwMDAwLCJ2b2x1bWUiOjB9LHsiaWQiOjE3ODUxMzE2NDAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiRVRDIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6Ny4wMTksImNsb3NlIjo3LjAxOSwiaGlnaCI6Ny4wMTksImxvdyI6Ny4wMTksInZvbCI6MCwiYW1vdW50IjowLCJ0aW1lIjoxNzg1MTMxNjQwMDAwLCJ2b2x1bWUiOjB9LHsiaWQiOjE3ODUxMzE3MDAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiRVRDIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6Ny4wMTksImNsb3NlIjo3LjAxOSwiaGlnaCI6Ny4wMTksImxvdyI6Ny4wMTksInZvbCI6MCwiYW1vdW50IjowLCJ0aW1lIjoxNzg1MTMxNzAwMDAwLCJ2b2x1bWUiOjB9LHsiaWQiOjE3ODUxMzE3NjAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiRVRDIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6Ny4wMjIzLCJjbG9zZSI6Ny4wMjIzLCJoaWdoIjo3LjAyMjMsImxvdyI6Ny4wMjIzLCJ2b2wiOjEwNi43MTcxOTA4NywiYW1vdW50IjoxNS4xOTY5LCJ0aW1lIjoxNzg1MTMxNzYwMDAwLCJ2b2x1bWUiOjE1LjE5Njl9LHsiaWQiOjE3ODUxMzE4MjAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiRVRDIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6Ny4wMjMxLCJjbG9zZSI6Ny4wMjMxLCJoaWdoIjo3LjAyMzEsImxvdyI6Ny4wMjMxLCJ2b2wiOjE0OS42ODE5MjU2OCwiYW1vdW50IjoyMS4zMTI4LCJ0aW1lIjoxNzg1MTMxODIwMDAwLCJ2b2x1bWUiOjIxLjMxMjh9LHsiaWQiOjE3ODUxMzE4ODAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiRVRDIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6Ny4wMjMxLCJjbG9zZSI6Ny4wMjMxLCJoaWdoIjo3LjAyMzEsImxvdyI6Ny4wMjMxLCJ2b2wiOjAsImFtb3VudCI6MCwidGltZSI6MTc4NTEzMTg4MDAwMCwidm9sdW1lIjowfSx7ImlkIjoxNzg1MTMxOTQwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkVUQyIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjcuMDM4OSwiY2xvc2UiOjcuMDMxMywiaGlnaCI6Ny4wMzg5LCJsb3ciOjYuOTk0LCJ2b2wiOjU2OTMuMDg5Mzc1MzIsImFtb3VudCI6ODA5LjgzOCwidGltZSI6MTc4NTEzMTk0MDAwMCwidm9sdW1lIjo4MDkuODM4fSx7ImlkIjoxNzg1MTMyMDAwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkVUQyIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjcuMDMxMywiY2xvc2UiOjcuMDMxMywiaGlnaCI6Ny4wMzEzLCJsb3ciOjcuMDMxMywidm9sIjoxMTIuMTcxMDMyMDMsImFtb3VudCI6MTUuOTUzMSwidGltZSI6MTc4NTEzMjAwMDAwMCwidm9sdW1lIjoxNS45NTMxfSx7ImlkIjoxNzg1MTMyMDYwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkVUQyIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjcuMDIxNSwiY2xvc2UiOjcuMDIxNSwiaGlnaCI6Ny4wMjE1LCJsb3ciOjcuMDIxNSwidm9sIjo2MC42Mjk5NTAzNSwiYW1vdW50Ijo4LjYzNDksInRpbWUiOjE3ODUxMzIwNjAwMDAsInZvbHVtZSI6OC42MzQ5fSx7ImlkIjoxNzg1MTMyMTIwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkVUQyIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjcuMDI0NiwiY2xvc2UiOjcuMDI3OSwiaGlnaCI6Ny4wMjk2LCJsb3ciOjcuMDI0NSwidm9sIjoyNDEwLjAyOTg5ODc0LCJhbW91bnQiOjM0My4wMDMxLCJ0aW1lIjoxNzg1MTMyMTIwMDAwLCJ2b2x1bWUiOjM0My4wMDMxfSx7ImlkIjoxNzg1MTMyMTgwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkVUQyIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjcuMDI3OSwiY2xvc2UiOjcuMDMzMywiaGlnaCI6Ny4wMzMzLCJsb3ciOjcuMDI3OSwidm9sIjoxMTM0LjA3OTg3NjQxLCJhbW91bnQiOjE2MS4zMDIzLCJ0aW1lIjoxNzg1MTMyMTgwMDAwLCJ2b2x1bWUiOjE2MS4zMDIzfSx7ImlkIjoxNzg1MTMyMjQwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkVUQyIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjcuMDM2MywiY2xvc2UiOjcuMDM2NCwiaGlnaCI6Ny4wMzczLCJsb3ciOjcuMDMwNiwidm9sIjoxNTUxLjQ1MjA4MjAzLCJhbW91bnQiOjIyMC41NDk0LCJ0aW1lIjoxNzg1MTMyMjQwMDAwLCJ2b2x1bWUiOjIyMC41NDk0fSx7ImlkIjoxNzg1MTMyMzAwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkVUQyIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjcuMDM2NSwiY2xvc2UiOjcuMDMxNSwiaGlnaCI6Ny4wMzY1LCJsb3ciOjcuMDMxLCJ2b2wiOjE0OTkuNTEyNzEwMTQsImFtb3VudCI6MjEzLjE2OTIsInRpbWUiOjE3ODUxMzIzMDAwMDAsInZvbHVtZSI6MjEzLjE2OTJ9LHsiaWQiOjE3ODUxMzIzNjAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiRVRDIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6Ny4wMzQ2LCJjbG9zZSI6Ny4wNDQxLCJoaWdoIjo3LjA0OSwibG93Ijo3LjAyNTksInZvbCI6NTQyLjkzNzY0OTc4LCJhbW91bnQiOjc3LjEyNzQsInRpbWUiOjE3ODUxMzIzNjAwMDAsInZvbHVtZSI6NzcuMTI3NH0seyJpZCI6MTc4NTEzMjQyMCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJFVEMiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjo3LjAwMjgsImNsb3NlIjo3LjA0NSwiaGlnaCI6Ny4wNTI1LCJsb3ciOjcuMDAyOCwidm9sIjo2MTM2LjY3MjI2Njg1LCJhbW91bnQiOjg3MS4xODUsInRpbWUiOjE3ODUxMzI0MjAwMDAsInZvbHVtZSI6ODcxLjE4NX0seyJpZCI6MTc4NTEzMjQ4MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJFVEMiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjo3LjA0NSwiY2xvc2UiOjcuMDMyNSwiaGlnaCI6Ny4wNDUsImxvdyI6Ni45ODMxLCJ2b2wiOjQ4NTUuNjg3OTMyMDQsImFtb3VudCI6NjkwLjMxNTgsInRpbWUiOjE3ODUxMzI0ODAwMDAsInZvbHVtZSI6NjkwLjMxNTh9LHsiaWQiOjE3ODUxMzI1NDAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiRVRDIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6Ny4wMzI1LCJjbG9zZSI6Ny4wMzE2LCJoaWdoIjo3LjAzMjUsImxvdyI6Ny4wMjk1LCJ2b2wiOjk0MS44OTEyODA0LCJhbW91bnQiOjEzMy45NTgyLCJ0aW1lIjoxNzg1MTMyNTQwMDAwLCJ2b2x1bWUiOjEzMy45NTgyfSx7ImlkIjoxNzg1MTMyNjAwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkVUQyIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjcuMDMxNiwiY2xvc2UiOjcuMDMwOSwiaGlnaCI6Ny4wMzIxLCJsb3ciOjcuMDMwOSwidm9sIjoyODYuMzY2OTU3MDYsImFtb3VudCI6NDAuNzI3MiwidGltZSI6MTc4NTEzMjYwMDAwMCwidm9sdW1lIjo0MC43MjcyfSx7ImlkIjoxNzg1MTMyNjYwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkVUQyIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjcuMDMwOSwiY2xvc2UiOjcuMDMwOSwiaGlnaCI6Ny4wMzA5LCJsb3ciOjcuMDMwOSwidm9sIjowLCJhbW91bnQiOjAsInRpbWUiOjE3ODUxMzI2NjAwMDAsInZvbHVtZSI6MH0seyJpZCI6MTc4NTEzMjcyMCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJFVEMiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjo3LjAzMDksImNsb3NlIjo3LjAzMDksImhpZ2giOjcuMDMwOSwibG93Ijo3LjAzMDksInZvbCI6MCwiYW1vdW50IjowLCJ0aW1lIjoxNzg1MTMyNzIwMDAwLCJ2b2x1bWUiOjB9LHsiaWQiOjE3ODUxMzI3ODAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiRVRDIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6Ny4wMzA5LCJjbG9zZSI6Ny4wMzA5LCJoaWdoIjo3LjAzMDksImxvdyI6Ny4wMzA5LCJ2b2wiOjAsImFtb3VudCI6MCwidGltZSI6MTc4NTEzMjc4MDAwMCwidm9sdW1lIjowfSx7ImlkIjoxNzg1MTMyODQwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkVUQyIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjcuMDMxOSwiY2xvc2UiOjcuMDMxOSwiaGlnaCI6Ny4wMzE5LCJsb3ciOjcuMDMxOSwidm9sIjoxNjcuMjY5OTE0ODcsImFtb3VudCI6MjMuNzg3MywidGltZSI6MTc4NTEzMjg0MDAwMCwidm9sdW1lIjoyMy43ODczfSx7ImlkIjoxNzg1MTMyOTAwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkVUQyIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjcuMDQ4NiwiY2xvc2UiOjcuMDQ3NCwiaGlnaCI6Ny4wNDg2LCJsb3ciOjcuMDQ1LCJ2b2wiOjUwNy42NTg5ODk2NCwiYW1vdW50Ijo3Mi4wMzczLCJ0aW1lIjoxNzg1MTMyOTAwMDAwLCJ2b2x1bWUiOjcyLjAzNzN9LHsiaWQiOjE3ODUxMzI5NjAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiRVRDIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6Ny4wNDIzLCJjbG9zZSI6Ny4wNDQzLCJoaWdoIjo3LjA0NiwibG93Ijo3LjA0MjMsInZvbCI6MTA3Mi41Mjg3MjU0LCJhbW91bnQiOjE1Mi4yNTI1LCJ0aW1lIjoxNzg1MTMyOTYwMDAwLCJ2b2x1bWUiOjE1Mi4yNTI1fSx7ImlkIjoxNzg1MTMzMDIwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkVUQyIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjcuMDQ2OSwiY2xvc2UiOjcuMDI5NSwiaGlnaCI6Ny4wNDY5LCJsb3ciOjcuMDI5NSwidm9sIjozMDcuNzkwNjUzNTIsImFtb3VudCI6NDMuNzA2NiwidGltZSI6MTc4NTEzMzAyMDAwMCwidm9sdW1lIjo0My43MDY2fSx7ImlkIjoxNzg1MTMzMDgwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkVUQyIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjYuOTk0MywiY2xvc2UiOjcuMDMxNCwiaGlnaCI6Ny4wMzcsImxvdyI6Ni45OTQzLCJ2b2wiOjU3Ny40MTY5MjExOSwiYW1vdW50Ijo4Mi4xNTAxLCJ0aW1lIjoxNzg1MTMzMDgwMDAwLCJ2b2x1bWUiOjgyLjE1MDF9LHsiaWQiOjE3ODUxMzMxNDAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiRVRDIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6Ny4wMzgyLCJjbG9zZSI6Ny4wMjk1LCJoaWdoIjo3LjAzODIsImxvdyI6Ny4wMjc3LCJ2b2wiOjQ2MS4xMDE2MjExNSwiYW1vdW50Ijo2NS41ODAyLCJ0aW1lIjoxNzg1MTMzMTQwMDAwLCJ2b2x1bWUiOjY1LjU4MDJ9LHsiaWQiOjE3ODUxMzMyMDAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiRVRDIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6Ny4wNCwiY2xvc2UiOjcuMDMzMywiaGlnaCI6Ny4wNDMxLCJsb3ciOjcuMDMzMywidm9sIjoyNjA5LjI5NzQzMTgsImFtb3VudCI6MzcwLjY0MTQsInRpbWUiOjE3ODUxMzMyMDAwMDAsInZvbHVtZSI6MzcwLjY0MTR9LHsiaWQiOjE3ODUxMzMyNjAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiRVRDIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6Ny4wMzMzLCJjbG9zZSI6Ny4wMzMzLCJoaWdoIjo3LjAzMzMsImxvdyI6Ny4wMzMzLCJ2b2wiOjAsImFtb3VudCI6MCwidGltZSI6MTc4NTEzMzI2MDAwMCwidm9sdW1lIjowfSx7ImlkIjoxNzg1MTMzMzIwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkVUQyIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjcuMDMxNiwiY2xvc2UiOjcuMDMyLCJoaWdoIjo3LjAzMiwibG93Ijo3LjAzMTYsInZvbCI6MTMwLjYyMzQxMiwiYW1vdW50IjoxOC41NzYsInRpbWUiOjE3ODUxMzMzMjAwMDAsInZvbHVtZSI6MTguNTc2fSx7ImlkIjoxNzg1MTMzMzgwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkVUQyIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjcuMDMyLCJjbG9zZSI6Ny4wMzIsImhpZ2giOjcuMDMyLCJsb3ciOjcuMDMyLCJ2b2wiOjIzNy44MzkxMTY4LCJhbW91bnQiOjMzLjgyMjQsInRpbWUiOjE3ODUxMzMzODAwMDAsInZvbHVtZSI6MzMuODIyNH1dfQ=="}},"time_used":371,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":257,"receive":114,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null},{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"futurbcvndf.com/static/iconfont/iconfont.woff2","fqdn":"futurbcvndf.com","domain":"futurbcvndf.com","tld":"com"},"ip":{"addr":"172.67.130.50","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://futurbcvndf.com/","date":"2026-07-27T06:23:01.519Z","timestamp":1785133381519,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"futurbcvndf.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 16 Jul 2026 16:36:02 GMT","end":"Wed, 14 Oct 2026 16:36:01 GMT"},"fingerprint":{"sha1":"46:2D:5F:F0:3D:BD:73:19:93:72:79:62:4A:45:03:09:5D:FB:1E:A5","sha256":"35:31:C4:67:1D:DB:68:C3:FB:49:03:14:DD:4E:76:FE:13:53:8D:98:98:2E:BE:EA:B8:CA:4F:B6:5B:7E:5C:1D"}}},"request":{"raw":"GET /static/iconfont/iconfont.woff2 HTTP/1.1\r\nHost: futurbcvndf.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: identity\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://futurbcvndf.com/\r\nCookie: angela_session=eyJpdiI6IlhnUEZEQ1hLNngxS0t2ZGN3TnJjV1E9PSIsInZhbHVlIjoiVGlYZUpmMXVPdEhuTGtoQzhTS3VXM3BIN3J4ZDZnU2dNTWxTc0NRcHNMTXFyNm1wQTZEQ0RKTWJ0UjRERWZ5aDBaQWxVaVdmN0VVQkNna0M2ZTJ2dTdFZkx3amdIYjZlQzEzMHozajVqTzMybnhMOHo1bEpuaXdQM1R3UVN4QmQiLCJtYWMiOiJiZWIyMTJlYzc4OWUzODk0ODBiOTI5NmU0MjA2MDBmZjJmYzA2MTI3ZjViNmY4NWYxNzIyNDI4MDhhYWMzZmI4In0%3D\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\nserver: cloudflare\r\ndate: Mon, 27 Jul 2026 06:23:01 GMT\r\ncontent-type: font/woff2\r\nserver-timing: cfExtPri\r\npriority: u=3,i=?0\r\nlast-modified: Fri, 20 Jun 2025 15:49:45 GMT\r\netag: \"68558319-7fe8\"\r\nstrict-transport-security: max-age=31536000\r\naccept-ranges: bytes\r\ncache-control: max-age=14400\r\ncf-cache-status: REVALIDATED\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=RSo8mN60HzrB1xgtGkWRm%2BYQqq6UhJw0BBQ%2FptX9kZDleOdkBqz1NACqfOqeVPYqTHbp%2BlES2G2gpYzgoMbX4fgzZYPgCJ%2BXO3w9Tgo5iJKrB8YDHlrbd74KSO%2FWUrkOGDw%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\ncf-ray: a2198d9289be0daa-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\ncontent-length: 32744\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":32744,"size_decoded":33493,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 32744, version 1.0","md5":"5b8f35b173333c5161098c675e902401","sha1":"c33837d28eff55458d49ef00e68ae9a04da46f05","sha256":"912327f77b1b2d3092e0cda25efdd0c5045ef17d018864d1cefba33db7727fce","sha512":"38a8b9a82c69376f1664e4e76f31605a6ad31e611e2f282c46a40044624072a48ed8f9fd49735136afbd21ba61cc9ac9795828e6fcb33ad4b662bd41cf6b4084","ssdeep":"768:9P1NcXcebJOUlU8WQKAfiDvCcj+IWL3OJ:9dNcXceNOUSD3AfmCcfJ","tlshash":"cee2f1303175ab40c3e6ef396e7b1c46d8724a3892785ee1e3d16e4d142bccd19d5a2b","first_seen":"2023-05-20T12:09:29Z","last_seen":"2026-08-02T21:17:18.935015Z","times_seen":448,"resource_available":false,"data":"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"}},"time_used":95,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":95,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null},{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"futurbcvndf.com/static/index.css","fqdn":"futurbcvndf.com","domain":"futurbcvndf.com","tld":"com"},"ip":{"addr":"172.67.130.50","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://futurbcvndf.com/","date":"2026-07-27T06:22:59.903Z","timestamp":1785133379903,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"futurbcvndf.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 16 Jul 2026 16:36:02 GMT","end":"Wed, 14 Oct 2026 16:36:01 GMT"},"fingerprint":{"sha1":"46:2D:5F:F0:3D:BD:73:19:93:72:79:62:4A:45:03:09:5D:FB:1E:A5","sha256":"35:31:C4:67:1D:DB:68:C3:FB:49:03:14:DD:4E:76:FE:13:53:8D:98:98:2E:BE:EA:B8:CA:4F:B6:5B:7E:5C:1D"}}},"request":{"raw":"GET /static/index.css HTTP/1.1\r\nHost: futurbcvndf.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/css,*/*;q=0.1\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://futurbcvndf.com/\r\nCookie: angela_session=eyJpdiI6IlhnUEZEQ1hLNngxS0t2ZGN3TnJjV1E9PSIsInZhbHVlIjoiVGlYZUpmMXVPdEhuTGtoQzhTS3VXM3BIN3J4ZDZnU2dNTWxTc0NRcHNMTXFyNm1wQTZEQ0RKTWJ0UjRERWZ5aDBaQWxVaVdmN0VVQkNna0M2ZTJ2dTdFZkx3amdIYjZlQzEzMHozajVqTzMybnhMOHo1bEpuaXdQM1R3UVN4QmQiLCJtYWMiOiJiZWIyMTJlYzc4OWUzODk0ODBiOTI5NmU0MjA2MDBmZjJmYzA2MTI3ZjViNmY4NWYxNzIyNDI4MDhhYWMzZmI4In0%3D\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\nserver: cloudflare\r\ndate: Mon, 27 Jul 2026 06:23:00 GMT\r\ncontent-type: text/css\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=2,i=?0\r\nlast-modified: Fri, 20 Jun 2025 15:49:45 GMT\r\nvary: Accept-Encoding\r\netag: \"68558319-178f9\"\r\nstrict-transport-security: max-age=31536000\r\ncontent-encoding: gzip\r\ncache-control: max-age=14400\r\ncf-cache-status: REVALIDATED\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=YBTJ0O%2FeI9jnbhw8%2BlUdbq193WxEnyZCUnSGMO6kZlFZMOtCnnDa6NuZq9Fhhkt7HLPLmRUEBqNbgbP37BfHwmDvzMWXle57LLO6rmXLnzNzUC%2FqxWU48YJPvdE4Sr2XX6o%3D\"}]}\r\ncf-ray: a2198d8868680daa-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":96505,"size_decoded":30479,"mime_type":"text/css","magic":"ASCII text, with very long lines (65536), with no line terminators","md5":"73ae6c583d02d78f81e3f18860a2899a","sha1":"07df9233fc11dddc34fbf519b891d40b2ac29c0f","sha256":"e97de9a247807f12d74101e9f736250b2410be4e1ed3d17ed875e4b08cf66c83","sha512":"da54ba9dbe06d8d763f3cfd64cf5babb54e761e3208c7a2f23e845290c48db8c115bb86c24262cd6c9a96ff2e51674c6d86439e1814baf2de7980f5c06349921","ssdeep":"1536:OlIApuK7hmVmb2RS1Wu3xdynGJ7eh/nKhlvbc:VApuK7hmVrS1Wu3iG41nKPI","tlshash":"1893f73719012e39e52bcd26b6c1ab5a1e61c033e15307adfba47628cbcf9c9167b345","first_seen":"2024-01-02T00:07:11Z","last_seen":"2026-08-04T03:25:52.97476Z","times_seen":6411,"resource_available":false,"data":"dW5pLXRhYmJhcntkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveDt3aWR0aDoxMDAlO3otaW5kZXg6OTk4fXVuaS10YWJiYXIgLnVuaS10YWJiYXJ7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7ei1pbmRleDo5OTg7Ym94LXNpemluZzpib3JkZXItYm94fXVuaS10YWJiYXIudW5pLXRhYmJhci1ib3R0b20sdW5pLXRhYmJhci51bmktdGFiYmFyLWJvdHRvbSAudW5pLXRhYmJhcix1bmktdGFiYmFyLnVuaS10YWJiYXItdG9wLHVuaS10YWJiYXIudW5pLXRhYmJhci10b3AgLnVuaS10YWJiYXJ7cG9zaXRpb246Zml4ZWQ7bGVmdDp2YXIoLS13aW5kb3ctbGVmdCk7cmlnaHQ6dmFyKC0td2luZG93LXJpZ2h0KX0udW5pLWFwcC0tc2hvd2xheW91dCt1bmktdGFiYmFyLnVuaS10YWJiYXItYm90dG9tLC51bmktYXBwLS1zaG93bGF5b3V0K3VuaS10YWJiYXIudW5pLXRhYmJhci1ib3R0b20gLnVuaS10YWJiYXIsLnVuaS1hcHAtLXNob3dsYXlvdXQrdW5pLXRhYmJhci51bmktdGFiYmFyLXRvcCwudW5pLWFwcC0tc2hvd2xheW91dCt1bmktdGFiYmFyLnVuaS10YWJiYXItdG9wIC51bmktdGFiYmFye2xlZnQ6dmFyKC0td2luZG93LW1hcmdpbik7cmlnaHQ6dmFyKC0td2luZG93LW1hcmdpbil9dW5pLXRhYmJhci51bmktdGFiYmFyLWJvdHRvbSAudW5pLXRhYmJhcntib3R0b206MDtwYWRkaW5nLWJvdHRvbTowO3BhZGRpbmctYm90dG9tOmNvbnN0YW50KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pO3BhZGRpbmctYm90dG9tOmVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKX11bmktdGFiYmFyIC51bmktdGFiYmFyfi51bmktcGxhY2Vob2xkZXJ7d2lkdGg6MTAwJTttYXJnaW4tYm90dG9tOjA7bWFyZ2luLWJvdHRvbTpjb25zdGFudChzYWZlLWFyZWEtaW5zZXQtYm90dG9tKTttYXJnaW4tYm90dG9tOmVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKX11bmktdGFiYmFyIC51bmktdGFiYmFyICp7Ym94LXNpemluZzpib3JkZXItYm94fXVuaS10YWJiYXIgLnVuaS10YWJiYXJfX2l0ZW17LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1kaXJlY3Rpb246Y29sdW1uOy13ZWJraXQtYm94LWZsZXg6MTstd2Via2l0LWZsZXg6MTtmbGV4OjE7Zm9udC1zaXplOjA7dGV4dC1hbGlnbjpjZW50ZXI7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnJnYmEoMCwwLDAsMCl9dW5pLXRhYmJhciAudW5pLXRhYmJhcl9fYmQsdW5pLXRhYmJhciAudW5pLXRhYmJhcl9faXRlbXtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsfXVuaS10YWJiYXIgLnVuaS10YWJiYXJfX2Jke3Bvc2l0aW9uOnJlbGF0aXZlOy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtjdXJzb3I6cG9pbnRlcn11bmktdGFiYmFyIC51bmktdGFiYmFyX19pY29ue3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbi10b3A6NXB4fXVuaS10YWJiYXIgLnVuaS10YWJiYXJfX2ljb24udW5pLXRhYmJhcl9faWNvbl9fZGlmZnttYXJnaW4tdG9wOjA7d2lkdGg6MzRweDtoZWlnaHQ6MzRweH11bmktdGFiYmFyIC51bmktdGFiYmFyX19pY29uIGltZ3t3aWR0aDoxMDAlO2hlaWdodDoxMDAlfXVuaS10YWJiYXIgLnVuaS10YWJiYXJfX2ljb25mb250e2ZvbnQtZmFtaWx5OlVuaVRhYmJhckljb25Gb250fXVuaS10YWJiYXIgLnVuaS10YWJiYXJfX2xhYmVse3Bvc2l0aW9uOnJlbGF0aXZlO3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtc2l6ZToxMHB4fXVuaS10YWJiYXIgLnVuaS10YWJiYXItYm9yZGVye3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MDt3aWR0aDoxMDAlO2hlaWdodDoxcHg7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVZKC41KTt0cmFuc2Zvcm06c2NhbGVZKC41KX11bmktdGFiYmFyIC51bmktdGFiYmFyX19yZWRkb3R7cG9zaXRpb246YWJzb2x1dGU7dG9wOjJweDtyaWdodDowO3dpZHRoOjEycHg7aGVpZ2h0OjEycHg7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZC1jb2xvcjojZjQzNTMwO2NvbG9yOiNmZmY7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDQwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZSg0MCUpfXVuaS10YWJiYXIgLnVuaS10YWJiYXJfX2JhZGdle3dpZHRoOmF1dG87aGVpZ2h0OjE2cHg7bGluZS1oZWlnaHQ6MTZweDtib3JkZXItcmFkaXVzOjE2cHg7bWluLXdpZHRoOjE2cHg7cGFkZGluZzowIDJweDtmb250LXNpemU6MTJweDt0ZXh0LWFsaWduOmNlbnRlcjt3aGl0ZS1zcGFjZTpub3dyYXB9dW5pLXRhYmJhciAudW5pLXRhYmJhcl9fbWlkey13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowO2JhY2tncm91bmQtc2l6ZToxMDAlIDEwMCV9dW5pLWNvbnRlbnQsdW5pLXRhYmJhciAudW5pLXRhYmJhcl9fbWlke2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4fXVuaS1jb250ZW50ey13ZWJraXQtYm94LWZsZXg6MTstd2Via2l0LWZsZXg6MSAwIGF1dG87ZmxleDoxIDAgYXV0bztoZWlnaHQ6MTAwJX11bmktbWFpbnstd2Via2l0LWJveC1mbGV4OjE7LXdlYmtpdC1mbGV4OjE7ZmxleDoxO3dpZHRoOjEwMCV9dW5pLXRvcC13aW5kb3crdW5pLWNvbnRlbnR7aGVpZ2h0OmNhbGMoMTAwdmggLSB2YXIoLS10b3Atd2luZG93LWhlaWdodCkpfXVuaS1sZWZ0LXdpbmRvd3t3aWR0aDp2YXIoLS13aW5kb3ctbGVmdCk7LXdlYmtpdC1ib3gtb3JkaW5hbC1ncm91cDowOy13ZWJraXQtb3JkZXI6LTE7b3JkZXI6LTF9dW5pLWxlZnQtd2luZG93LHVuaS1yaWdodC13aW5kb3d7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3cteDpoaWRkZW59dW5pLXJpZ2h0LXdpbmRvd3t3aWR0aDp2YXIoLS13aW5kb3ctcmlnaHQpfXVuaS1sZWZ0LXdpbmRvd1tkYXRhLXNob3ddLHVuaS1yaWdodC13aW5kb3dbZGF0YS1zaG93XXtwb3NpdGlvbjphYnNvbHV0ZX11bmktcmlnaHQtd2luZG93W2RhdGEtc2hvd117cmlnaHQ6MH0udW5pLWxlZnQtd2luZG93LC51bmktcmlnaHQtd2luZG93LHVuaS1jb250ZW50IC51bmktbWFza3t6LWluZGV4Ojk5N30udW5pLW1hc2srLnVuaS1sZWZ0LXdpbmRvdywudW5pLW1hc2srLnVuaS1yaWdodC13aW5kb3d7cG9zaXRpb246Zml4ZWR9LnVuaS10b3Atd2luZG93e3Bvc2l0aW9uOmZpeGVkO2xlZnQ6dmFyKC0td2luZG93LW1hcmdpbik7cmlnaHQ6dmFyKC0td2luZG93LW1hcmdpbik7dG9wOjA7ei1pbmRleDo5OTg7b3ZlcmZsb3c6aGlkZGVufXVuaS10b2FzdHtwb3NpdGlvbjpmaXhlZDt0b3A6MDtyaWdodDowO2JvdHRvbTowO2xlZnQ6MDt6LWluZGV4Ojk5OTtkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveDtwb2ludGVyLWV2ZW50czpub25lO2ZvbnQtc2l6ZToxNnB4fXVuaS10b2FzdCAudW5pLXNhbXBsZS10b2FzdHtwb3NpdGlvbjpmaXhlZDt6LWluZGV4Ojk5OTt0b3A6NTAlO2xlZnQ6NTAlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTt0ZXh0LWFsaWduOmNlbnRlcjttYXgtd2lkdGg6ODAlfXVuaS10b2FzdCAudW5pLXNpbXBsZS10b2FzdF9fdGV4dHtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMTcsMTcsMTcsLjcpO3BhZGRpbmc6MTBweCAyMHB4O2JvcmRlci1yYWRpdXM6NXB4O2ZvbnQtc2l6ZToxM3B4O3RleHQtYWxpZ246Y2VudGVyO21heC13aWR0aDoxMDAlO3dvcmQtYnJlYWs6YnJlYWstd29yZDt3aGl0ZS1zcGFjZTpub3JtYWx9dW5pLXRvYXN0IC51bmktbWFza3twb2ludGVyLWV2ZW50czphdXRvfXVuaS10b2FzdCAudW5pLXRvYXN0e3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6OTk5O3dpZHRoOjhlbTt0b3A6NTAlO2xlZnQ6NTAlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTtiYWNrZ3JvdW5kOnJnYmEoMTcsMTcsMTcsLjcpO3RleHQtYWxpZ246Y2VudGVyO2JvcmRlci1yYWRpdXM6NXB4O2NvbG9yOiNmZmZ9dW5pLXRvYXN0IC51bmktdG9hc3QgKntib3gtc2l6aW5nOmJvcmRlci1ib3h9dW5pLXRvYXN0IC51bmktdG9hc3RfX2ljb257bWFyZ2luOjIwcHggMCAwO3dpZHRoOjM4cHg7aGVpZ2h0OjM4cHg7dmVydGljYWwtYWxpZ246YmFzZWxpbmV9dW5pLXRvYXN0IC51bmktaWNvbl90b2FzdHttYXJnaW46MTVweCAwIDB9dW5pLXRvYXN0IC51bmktaWNvbl90b2FzdC51bmktaWNvbi1zdWNjZXNzLW5vLWNpcmNsZTpiZWZvcmV7Y29sb3I6I2ZmZjtmb250LXNpemU6NTVweH11bmktdG9hc3QgLnVuaS1pY29uX3RvYXN0LnVuaS1pY29uLWVycm9yOmJlZm9yZXtjb2xvcjojZmZmO2ZvbnQtc2l6ZTo1MHB4fXVuaS10b2FzdCAudW5pLWljb25fdG9hc3QudW5pLWxvYWRpbmd7bWFyZ2luOjIwcHggMCAwO3dpZHRoOjM4cHg7aGVpZ2h0OjM4cHg7dmVydGljYWwtYWxpZ246YmFzZWxpbmV9dW5pLXRvYXN0IC51bmktdG9hc3RfX2NvbnRlbnR7bWFyZ2luOjAgMCAxNXB4fXVuaS1tb2RhbHtwb3NpdGlvbjpmaXhlZDt0b3A6MDtyaWdodDowO2JvdHRvbTowO2xlZnQ6MDt6LWluZGV4Ojk5OTtkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH11bmktbW9kYWwgLnVuaS1tb2RhbHtwb3NpdGlvbjpmaXhlZDt6LWluZGV4Ojk5OTt3aWR0aDo4MCU7bWF4LXdpZHRoOjMwMHB4O3RvcDo1MCU7bGVmdDo1MCU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpO2JhY2tncm91bmQtY29sb3I6I2ZmZjt0ZXh0LWFsaWduOmNlbnRlcjtib3JkZXItcmFkaXVzOjNweDtvdmVyZmxvdzpoaWRkZW59dW5pLW1vZGFsIC51bmktbW9kYWwgKntib3gtc2l6aW5nOmJvcmRlci1ib3h9dW5pLW1vZGFsIC51bmktbW9kYWxfX2hke3BhZGRpbmc6MWVtIDEuNmVtIC4zZW19dW5pLW1vZGFsIC51bmktbW9kYWxfX3RpdGxle2ZvbnQtd2VpZ2h0OjQwMDtmb250LXNpemU6MThweDtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpcztkaXNwbGF5Oi13ZWJraXQtYm94Oy13ZWJraXQtbGluZS1jbGFtcDoyOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbH11bmktbW9kYWwgLnVuaS1tb2RhbF9fYmQsdW5pLW1vZGFsIC51bmktbW9kYWxfX3RpdGxle3dvcmQtd3JhcDpicmVhay13b3JkO3dvcmQtYnJlYWs6YnJlYWstYWxsO3doaXRlLXNwYWNlOnByZS13cmFwfXVuaS1tb2RhbCAudW5pLW1vZGFsX19iZHtwYWRkaW5nOjEuM2VtIDEuNmVtIDEuM2VtO21pbi1oZWlnaHQ6NDBweDtmb250LXNpemU6MTVweDtsaW5lLWhlaWdodDoxLjQ7Y29sb3I6Izk5OTttYXgtaGVpZ2h0OjQwMHB4O292ZXJmbG93LXg6aGlkZGVuO292ZXJmbG93LXk6YXV0b311bmktbW9kYWwgLnVuaS1tb2RhbF9fdGV4dGFyZWF7cmVzaXplOm5vbmU7Ym9yZGVyOjA7bWFyZ2luOjA7d2lkdGg6OTAlO3BhZGRpbmc6MTBweDtmb250LXNpemU6MjBweDtvdXRsaW5lOm5vbmU7Ym9yZGVyOm5vbmU7YmFja2dyb3VuZC1jb2xvcjojZWVlO3RleHQtZGVjb3JhdGlvbjppbmhlcml0fXVuaS1tb2RhbCAudW5pLW1vZGFsX19mdHtwb3NpdGlvbjpyZWxhdGl2ZTtsaW5lLWhlaWdodDo0OHB4O2ZvbnQtc2l6ZToxOHB4O2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4fXVuaS1tb2RhbCAudW5pLW1vZGFsX19mdDphZnRlcntjb250ZW50OiIgIjtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7dG9wOjA7cmlnaHQ6MDtoZWlnaHQ6MXB4O2JvcmRlci10b3A6MXB4IHNvbGlkICNkNWQ1ZDY7Y29sb3I6I2Q1ZDVkNjstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46MCAwO3RyYW5zZm9ybS1vcmlnaW46MCAwOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWSguNSk7dHJhbnNmb3JtOnNjYWxlWSguNSl9dW5pLW1vZGFsIC51bmktbW9kYWxfX2J0bntkaXNwbGF5OmJsb2NrOy13ZWJraXQtYm94LWZsZXg6MTstd2Via2l0LWZsZXg6MTtmbGV4OjE7Y29sb3I6IzNjYzUxZjt0ZXh0LWRlY29yYXRpb246bm9uZTstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6cmdiYSgwLDAsMCwwKTtwb3NpdGlvbjpyZWxhdGl2ZTtjdXJzb3I6cG9pbnRlcn11bmktbW9kYWwgLnVuaS1tb2RhbF9fYnRuOmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOiNlZWV9dW5pLW1vZGFsIC51bmktbW9kYWxfX2J0bjphZnRlcntjb250ZW50OiIgIjtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7dG9wOjA7d2lkdGg6MXB4O2JvdHRvbTowO2JvcmRlci1sZWZ0OjFweCBzb2xpZCAjZDVkNWQ2O2NvbG9yOiNkNWQ1ZDY7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOjAgMDt0cmFuc2Zvcm0tb3JpZ2luOjAgMDstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVgoLjUpO3RyYW5zZm9ybTpzY2FsZVgoLjUpfXVuaS1tb2RhbCAudW5pLW1vZGFsX19idG46Zmlyc3QtY2hpbGQ6YWZ0ZXJ7ZGlzcGxheTpub25lfXVuaS1tb2RhbCAudW5pLW1vZGFsX19idG5fZGVmYXVsdHtjb2xvcjojMzUzNTM1fXVuaS1tb2RhbCAudW5pLW1vZGFsX19idG5fcHJpbWFyeXtjb2xvcjojMDA3YWZmfXVuaS1hY3Rpb25zaGVldHtkaXNwbGF5OmJsb2NrO2JveC1zaXppbmc6Ym9yZGVyLWJveH11bmktYWN0aW9uc2hlZXQgLnVuaS1hY3Rpb25zaGVldHtwb3NpdGlvbjpmaXhlZDtsZWZ0OjZweDtyaWdodDo2cHg7Ym90dG9tOjZweDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDEwMCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDEwMCUpOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47ei1pbmRleDo5OTk7dmlzaWJpbGl0eTpoaWRkZW47LXdlYmtpdC10cmFuc2l0aW9uOnZpc2liaWxpdHkgLjNzLC13ZWJraXQtdHJhbnNmb3JtIC4zczt0cmFuc2l0aW9uOnZpc2liaWxpdHkgLjNzLC13ZWJraXQtdHJhbnNmb3JtIC4zczt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuM3MsdmlzaWJpbGl0eSAuM3M7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjNzLHZpc2liaWxpdHkgLjNzLC13ZWJraXQtdHJhbnNmb3JtIC4zc311bmktYWN0aW9uc2hlZXQgLnVuaS1hY3Rpb25zaGVldC51bmktYWN0aW9uc2hlZXRfdG9nZ2xle3Zpc2liaWxpdHk6dmlzaWJsZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgwKX11bmktYWN0aW9uc2hlZXQgLnVuaS1hY3Rpb25zaGVldCAqe2JveC1zaXppbmc6Ym9yZGVyLWJveH11bmktYWN0aW9uc2hlZXQgLnVuaS1hY3Rpb25zaGVldF9fYWN0aW9uLHVuaS1hY3Rpb25zaGVldCAudW5pLWFjdGlvbnNoZWV0X19tZW51e2JvcmRlci1yYWRpdXM6NXB4O2JhY2tncm91bmQtY29sb3I6I2ZjZmNmZH11bmktYWN0aW9uc2hlZXQgLnVuaS1hY3Rpb25zaGVldF9fYWN0aW9ue21hcmdpbi10b3A6NnB4fXVuaS1hY3Rpb25zaGVldCAudW5pLWFjdGlvbnNoZWV0X19jZWxsLHVuaS1hY3Rpb25zaGVldCAudW5pLWFjdGlvbnNoZWV0X190aXRsZXtwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nOjEwcHggNnB4O3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtc2l6ZToxOHB4O3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7b3ZlcmZsb3c6aGlkZGVuO2N1cnNvcjpwb2ludGVyfXVuaS1hY3Rpb25zaGVldCAudW5pLWFjdGlvbnNoZWV0X190aXRsZXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdodDowO2xlZnQ6MDt6LWluZGV4OjE7Y29sb3I6dmFyKC0tVUktRkcpO2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXItcmFkaXVzOjVweCA1cHggMCAwO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNlNWU1ZTV9dW5pLWFjdGlvbnNoZWV0IC51bmktYWN0aW9uc2hlZXRfX2NlbGw6YmVmb3Jle2NvbnRlbnQ6IiAiO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MDtyaWdodDowO2hlaWdodDoxcHg7Ym9yZGVyLXRvcDoxcHggc29saWQgI2U1ZTVlNTtjb2xvcjojZTVlNWU1Oy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjowIDA7dHJhbnNmb3JtLW9yaWdpbjowIDA7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVZKC41KTt0cmFuc2Zvcm06c2NhbGVZKC41KX11bmktYWN0aW9uc2hlZXQgLnVuaS1hY3Rpb25zaGVldF9fY2VsbDphY3RpdmV7YmFja2dyb3VuZC1jb2xvcjojZWNlY2VjfXVuaS1hY3Rpb25zaGVldCAudW5pLWFjdGlvbnNoZWV0X19jZWxsOmZpcnN0LWNoaWxkOmJlZm9yZXtkaXNwbGF5Om5vbmV9QG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDo1MDBweCkgYW5kIChtaW4taGVpZ2h0OjUwMHB4KXsudW5pLW1hc2sudW5pLWFjdGlvbnNoZWV0X19tYXNre2JhY2tncm91bmQ6bm9uZX11bmktYWN0aW9uc2hlZXQgLnVuaS1hY3Rpb25zaGVldHt3aWR0aDozMDBweDtsZWZ0OjUwJTtyaWdodDphdXRvO3RvcDo1MCU7Ym90dG9tOmF1dG87LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpO29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuM3MsdmlzaWJpbGl0eSAuM3M7dHJhbnNpdGlvbjpvcGFjaXR5IC4zcyx2aXNpYmlsaXR5IC4zc311bmktYWN0aW9uc2hlZXQgLnVuaS1hY3Rpb25zaGVldC51bmktYWN0aW9uc2hlZXRfdG9nZ2xle29wYWNpdHk6MTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSl9dW5pLWFjdGlvbnNoZWV0IC51bmktYWN0aW9uc2hlZXRfX21lbnV7Ym94LXNoYWRvdzowIDAgMjBweCA1cHggcmdiYSgwLDAsMCwuMyl9dW5pLWFjdGlvbnNoZWV0IC51bmktYWN0aW9uc2hlZXRfX2FjdGlvbntkaXNwbGF5Om5vbmV9fS5pbWFnZS12aWV3LWFyZWEsLmltYWdlLXZpZXctdmlld3twb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7dG9wOjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0uaW1hZ2Utdmlldy1pbWd7cG9zaXRpb246YWJzb2x1dGU7bGVmdDo1MCU7dG9wOjUwJTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7bWF4LWhlaWdodDoxMDAlO21heC13aWR0aDoxMDAlfS51bmktc3lzdGVtLXByZXZpZXctaW1hZ2V7ZGlzcGxheTpibG9jaztwb3NpdGlvbjpmaXhlZDtsZWZ0OjA7dG9wOjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt6LWluZGV4Ojk5OTtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjgpfS51bmktc3lzdGVtLXByZXZpZXctaW1hZ2Utc3dpcGVye3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlfS51bmktc3lzdGVtLXByZXZpZXctaW1hZ2UgLm5hdi1idG4tYmFja3twb3NpdGlvbjphYnNvbHV0ZTtib3gtc2l6aW5nOmJvcmRlci1ib3g7dG9wOjA7cmlnaHQ6MDt3aWR0aDo0NHB4O2hlaWdodDo0NHB4O3BhZGRpbmc6NnB4O2xpbmUtaGVpZ2h0OjMycHg7Zm9udC1zaXplOjI2cHg7Y29sb3I6I2ZmZjt0ZXh0LWFsaWduOmNlbnRlcjtjdXJzb3I6cG9pbnRlcn0qe21hcmdpbjowOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudH1AZm9udC1mYWNle2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0eWxlOm5vcm1hbDtmb250LWZhbWlseTp1bmk7c3JjOnVybCgiZGF0YTphcHBsaWNhdGlvbi9vY3RldC1zdHJlYW07YmFzZTY0LEFBRUFBQUFMQUlBQUF3QXdSMU5WUXJEK3MrMEFBQUU0QUFBQVFrOVRMekpBS0V4K0FBQUJmQUFBQUZaamJXRnc2NWNGSFFBQUFod0FBQUpRWjJ4NVp2Q1JSL0VBQUFTVUFBQUt0R2hsWVdRTEtJTjlBQUFBNEFBQUFEWm9hR1ZoQ0N3RCtnQUFBTHdBQUFBa2FHMTBlRUpvLy84QUFBSFVBQUFBU0d4dlkyRVlxaFc2QUFBRWJBQUFBQ1p0WVhod0FTRUFWUUFBQVJnQUFBQWdibUZ0WmVOY0h0Z0FBQTlJQUFBQjVuQnZjM1Q2YkxoTEFBQVJNQUFBQU9ZQUFRQUFBK2dBQUFCYUErai8vLy8vQStrQUFRQUFBQUFBQUFBQUFBQUFBQUFBQUJJQUFRQUFBQUVBQUNrQ2ozZGZEenoxQUFzRDZBQUFBQURVRVI5WEFBQUFBTlFSSDFmLy93QUFBK2tENmdBQUFBZ0FBZ0FBQUFBQUFBQUJBQUFBRWdCSkFBVUFBQUFBQUFJQUFBQUtBQW9BQUFEL0FBQUFBQUFBQUFFQUFBQUtBQjRBTEFBQlJFWk1WQUFJQUFRQUFBQUFBQUFBQVFBQUFBRnNhV2RoQUFnQUFBQUJBQUFBQVFBRUFBUUFBQUFCQUFnQUFRQUdBQUFBQVFBQUFBQUFBUU93QVpBQUJRQUlBbm9DdkFBQUFJd0NlZ0s4QUFBQjRBQXhBUUlBQUFJQUJRTUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBVUdaRlpBQkE2Z0hxRVFQb0FBQUFXZ1BxQUFBQUFBQUJBQUFBQUFBQUFBQUFBQVBvQUFBRDZBQUFBK2dBQUFQb0FBQUQ2QUFBQStnQUFBUG9BQUFENkFBQUErZ0FBQVBvQUFBRDZBQUFBK2dBQUFQb0FBQUQ2QUFBQStqLy93UG9BQUFENkFBQUFBQUFCUUFBQUFNQUFBQXNBQUFBQkFBQUFYUUFBUUFBQUFBQWJnQURBQUVBQUFBc0FBTUFDZ0FBQVhRQUJBQkNBQUFBQkFBRUFBRUFBT29SLy84QUFPb0IvLzhBQUFBQkFBUUFBQUFCQUFJQUF3QUVBQVVBQmdBSEFBZ0FDUUFLQUFzQURBQU5BQTRBRHdBUUFCRUFBQUVHQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQXdBQUFBQUFOd0FBQUFBQUFBQUVRQUE2Z0VBQU9vQkFBQUFBUUFBNmdJQUFPb0NBQUFBQWdBQTZnTUFBT29EQUFBQUF3QUE2Z1FBQU9vRUFBQUFCQUFBNmdVQUFPb0ZBQUFBQlFBQTZnWUFBT29HQUFBQUJnQUE2Z2NBQU9vSEFBQUFCd0FBNmdnQUFPb0lBQUFBQ0FBQTZna0FBT29KQUFBQUNRQUE2Z29BQU9vS0FBQUFDZ0FBNmdzQUFPb0xBQUFBQ3dBQTZnd0FBT29NQUFBQURBQUE2ZzBBQU9vTkFBQUFEUUFBNmc0QUFPb09BQUFBRGdBQTZnOEFBT29QQUFBQUR3QUE2aEFBQU9vUUFBQUFFQUFBNmhFQUFPb1JBQUFBRVFBQUFBQUFSZ0NNQU5JQkpnRjRBY1FDTWdKZ0FxZ0MvQU5JQTZZRC9nUk9CS0FFOUFWYUFBQUFBZ0FBQUFBRHJ3T3RBQlFBS1FBQUFTSUhCZ2NHRkJjV0Z4WXlOelkzTmpRbkppY21BeUluSmljbU5EYzJOell5RnhZWEZoUUhCZ2NHQWZWNFoyUTdQRHc3Wkdmd1ptUTdQRHc3WkdaNGJsNWJOamMzTmx0ZTIxNWJOamMzTmx0ZUE2MDhPMlJuOEdkak96dzhPMk5uOEdka096ejhyemMxVzE3YlhsdzFOemMxWEY3YlhsczFOd0FBQUFBQ0FBQUFBQU96QTdNQUZ3QXRBQUFCSWdjR0J3WVZGQmNXRnhZek1qYzJOelkxTkNjbUp5WVRCd1lpTHdFbU5qc0JFVFEyT3dFeUZoVVJNeklXQWU1MloyUTdQVDA3WkdkMmZHcG1PejQrTzJacElYWU9LQTUyRGcwWFhRc0hKZ2NMWFJjTkE3TStPMlpxZkhablpEczlQVHRrWjNaOWFXWTdQdjN3bWhJU21oSWFBUmNJQ3dzSS91a2FBQU1BQUFBQUErVUQ1UUFYQUNNQUxBQUFBU0lIQmdjR0ZSUVhGaGNXTXpJM05qYzJOVFFuSmljbUF4UXJBU0kxQXpRN0FUSUhKeUltTkRZeUZoUUdBZTZFY205QlJFUkJiM0tFaVhaeFFrUkVRbkYxYVFJeEF3Z0NRZ01CSXhJWkdTUVpHUVBrUkVKeGRvbUVjbTlCUkVSQmIzS0VpblZ4UWtUOUhRSUNBV0lDQWpFWkl4a1pJeGtBQUFBQUF3QUFBQUFEc1FQa0FCc0FLZ0F6QUFBQkJnY0dCd1lIQmpjUkZCY1dGeFlYTmpjMk56WTFFU1FYSmljbUJ6TXlGaFVERkFZckFTSW5BelEyRXlJbU5EWXlGaFFHQWZWQlFUZzdMRHQvSUVjK2JGNXNiRjF0UFVqKzJLaFFRVlZ2TkFRR0RBTUNKZ1VCQ3dZZUR4WVdIaFVWQStRUEVnNFNEaElwQ3Y2dGozVmtTVDRkSFQ1SlpIV1BBVk5lTlJrU0dQd0dCUDdHQWdNRkFUb0VCdjVBRlI4VkZSOFZBQUFBQWdBQUFBQURzUVBrQUJrQUxnQUFBUVlIQmdjMkJSRVVGeFlYRmhjMk56WTNOalVSSkJjbUp5WVRBUVl2QVNZL0FUWXlId0VXTmpjbE5qSWZBUllCOVZWVlFrK3YvdEZIUG14ZWJHeGRiVDFJL3RHdlQwSlZvLzdWQkFTS0F3TVNBUVVCY1FFRkFnRVNBZ1VCRVFRRDR4TVlFaGszWVA2c2puVmxTRDhjSEQ5SVpYV09BVlJnTnhrU0dQNjIvdGtEQTQ4RUJCa0NBVllDQVFIbEFRSVFCQUFBQUFBQ0FBQUFBQVBrQStRQUZ3QXRBQUFCSWdjR0J3WVZGQmNXRnhZek1qYzJOelkxTkNjbUp5WVRBUVlpTHdFbVB3RTJNaDhCRmpJM0FUWXlId0VXQWU2RWNtOUJRME5DYm5PRGlYVnhRa1JFUW5GMWtmNmdBUVVCb3dNREZnRUZBWVVDQlFFQlF3SUZBUlVFQStORVFuRjFpWU56YmtKRFEwRnZjb1NKZFhGQ1JQNmovcVVCQWFnRUJSNENBV1lCQVFFTkFnSVZCQUFBQUFRQUFBQUFBNjhEclFBVUFDa0FQd0JEQUFBQklnY0dCd1lVRnhZWEZqSTNOamMyTkNjbUp5WURJaWNtSnlZME56WTNOaklYRmhjV0ZBY0dCd1lUQlE0Qkx3RW1CZzhCQmhZZkFSWXlOd0UrQVNZaUZ6QWZBUUgxZUdka096dzhPMlJuOEdaa096dzhPMlJtZUc1ZVd6WTNOelpiWHR0ZVd6WTNOelpiWG1uKzlnWVNCbUFHRHdVREJRRUdmUVVRQmdFbEJRRUxFQlVCQVFPdFBEdGtaL0JuWXpzOFBEdGpaL0JuWkRzOC9LODNOVnRlMjE1Y05UYzNOVnhlMjE1Yk5UY0NKdDBGQVFWSkJRSUdCQWNSQm9BR0JRRWhCUThMQkFFQkFBQUJBQUFBQUFPN0F6b0FGd0FBRXk0QlB3RStBUjhCRmpZM0FUWVdGeWNXRkFjQkJpSW5QUW9HQndVSEdnekxEQ0VMQWgwTEh3c05DZ3I5dVFvZUNnR3pDeUVPQ3cwSENaTUpBUW9CdmdrQ0NnMExIUXY5c1FzS0FBQUFBQUlBQUFBQUErVUQ1Z0FYQUN3QUFBRWlCd1lIQmhVVUZ4WVhGak15TnpZM05qVTBKeVluSmhNSEJpOEJKaWNtTlJNME5qc0JNaFlWRXhjZUFRSHZoSEp2UVVORFFtNXpnNGwxY1VKRVJFSnhkVmNRQXdUNkF3SUVFQU1DS3dJRERzVUNBUVBsUkVKeGRZbURjMjVDUTBOQmIzS0VpWFZ4UWtUOVZod0VBbmNDQWdNR0FYb0NBd01DL3EyRkFnUUFBQVFBQUFBQUE2OERyUUFEQUJnQUxRQXpBQUFCTUI4QkF5SUhCZ2NHRkJjV0Z4WXlOelkzTmpRbkppY21BeUluSmljbU5EYzJOell5RnhZWEZoUUhCZ2NHQXlNVk16VWpBdVVCQWZKNFoyUTdQRHc3Wkdmd1ptUTdQRHc3WkdaNGJsNWJOamMzTmx0ZTIxNWJOamMzTmx0ZW15VDkyUUtEQVFFQkxEdzdaR2Z3WjJNN1BEdzdZMmZ3WjJRN1BQeXZOelZiWHR0ZVhEVTNOelZjWHR0ZVd6VTNBakg5SkFBQUFBTUFBQUFBQStRRDVBQVhBQ2NBTUFBQUFTSUhCZ2NHRlJRWEZoY1dNekkzTmpjMk5UUW5KaWNtQXpNeUZoVURGQVlyQVNJbU5RTTBOaE1pSmpRMk1oWVVCZ0h1aEhKdlFVTkRRbTV6ZzRsMWNVSkVSRUp4ZFo0MkJBWU1Bd0luQXdNTUJoOFBGaFllRmhZRDQwUkNjWFdKZzNOdVFrTkRRVzl5aElsMWNVSkUvdllHQmY3QUFnTURBZ0ZBQlFiK05oWWZGaFlmRmdBQUJBQUFBQUFEd0FQQUFBZ0FFZ0FvQUQwQUFBRXlOalFtSWdZVUZoY2pGVE1SSXhVek5TTURJZ2NHQndZVkZCWVhGak15TnpZM05qVTBKeTRCQXlJbkppY21ORGMyTnpZeUZ4WVhGaFFIQmdjR0FmUVlJU0V3SVNGUmp6azV5VG9yaEc1clBUOTlhbStEZG1obFBENCtQTXlGYlY1Yk5UYzNOVnRlMmw1Yk5UYzNOVnRlQXFBaUx5SWlMeUk1SGY3RUhCd0NzVDg5YTI2RWQ4dzhQajQ4WldoMmcyOXFmZnlqTnpWYlh0cGVXelUzTnpWYlh0cGVXelUzQUFBREFBQUFBQU9vQTZnQUN3QWdBRFVBQUFFSEp3Y1hCeGMzRnpjbk53TWlCd1lIQmhRWEZoY1dNamMyTnpZMEp5WW5KZ01pSnlZbkpqUTNOamMyTWhjV0Z4WVVCd1lIQmdLT21wb2NtcG9jbXBvY21wcTJkbVppT2pzN09tSm03R1ppT2pzN09tSm1kbXRkV1RRMk5qUlpYZFpkV1RRMk5qUlpYUUtxbXBvY21wb2NtcG9jbXBvQkdUczZZbWJzWm1JNk96czZZbWJzWm1JNk8vekNOalJaWGRaZFdUUTJOalJaWGRaZFdUUTJBQU1BQUFBQUEra0Q2Z0FhQUM4QU1BQUFBUVlIQmlNaUp5WW5KalEzTmpjMk1oY1dGeFlWRkFjR0J3RUhBVEkzTmpjMk5DY21KeVlpQndZSEJoUVhGaGNXTXdLT05VQkNSMjFkV2pVM056VmFYZHBkV3pVMkdCY3JBU001L2VCWFMwZ3JLeXNyU0V1dVNra3FMQ3dxU1VwWEFTTXJGeGcyTlZ0ZDJsMWFOVGMzTlZwZGJVZENRRFgrM2prQkdTc3JTRXV1U2trcUxDd3FTVXF1UzBnckt3QUMvLzhBQUFQb0ErZ0FGQUF3QUFBQklnY0dCd1lRRnhZWEZpQTNOamMyRUNjbUp5WVRGZzRCSWk4QkJ3WXVBVFEvQVNjbVBnRVdId0UzTmg0QkJnOEJBZlNJZEhGRFJFUkRjWFFCRUhSeFEwUkVRM0YwU1FvQkZCc0tvcWdLR3hNS3FLSUtBUlFiQ3FLb0Noc1VBUXFvQStoRVEzRjAvdkIwY1VORVJFTnhkQUVRZEhGRFJQMWpDaHNUQ3FpaUNnRVVHd3FpcUFvYkZBRUtxS0lLQVJRYkNxSUFBQUlBQUFBQUErUUQ1QUFYQURRQUFBRWlCd1lIQmhVVUZ4WVhGak15TnpZM05qVTBKeVluSmhNVUJpTUZGeFlVRHdFR0x3RXVBVDhCTmg4QkZoUVBBUVV5RmgwQkFlNkVjbTlCUTBOQ2JuT0RpWFZ4UWtSRVFuRjFmd1FDL3BHREFRRVZBd1RzQWdFQzdBUUVGQUlCaEFGd0FnTUQ0MFJDY1hXSmczTnVRa05EUVc5eWhJbDFjVUpFL2ZZQ0F3dVZBZ1FDRkFRRTBBSUZBdEVFQkJRQ0JRR1ZDd01ESndBQUFBVUFBQUFBQTlRRDB3QWpBQ2NBTndCSEFFZ0FBQUVSRkFZaklTSW1OUkVqSWlZOUFUUTJNeUUxTkRZeklUSVdIUUVoTWhZZEFSUUdJeUVSSVJFSElnWVZFUlFXT3dFeU5qVVJOQ1lqSVNJR0ZSRVVGanNCTWpZMUVUUW1Ld0VEZXlZYi9YWWJKa01KRFEwSkFRWVpFZ0V2RXhrQkJna05EUW45Q1FKYzBRa05EUWt0Q1EwTkNmN3NDUTBOQ1MwSkRRMEpMUU1pL1RRYkppWWJBc3dNQ2l3SkRTNFNHUmtTTGcwSkxBb00vVXdDdEdzTkNmNU5DUTBOQ1FHekNRME5DZjVOQ1EwTkNRR3pDUTBBQUFBQUVBREdBQUVBQUFBQUFBRUFCQUFBQUFFQUFBQUFBQUlBQndBRUFBRUFBQUFBQUFNQUJBQUxBQUVBQUFBQUFBUUFCQUFQQUFFQUFBQUFBQVVBQ3dBVEFBRUFBQUFBQUFZQUJBQWVBQUVBQUFBQUFBb0FLd0FpQUFFQUFBQUFBQXNBRXdCTkFBTUFBUVFKQUFFQUNBQmdBQU1BQVFRSkFBSUFEZ0JvQUFNQUFRUUpBQU1BQ0FCMkFBTUFBUVFKQUFRQUNBQitBQU1BQVFRSkFBVUFGZ0NHQUFNQUFRUUpBQVlBQ0FDY0FBTUFBUVFKQUFvQVZnQ2tBQU1BQVFRSkFBc0FKZ0Q2ZDJWMWFWSmxaM1ZzWVhKM1pYVnBkMlYxYVZabGNuTnBiMjRnTVM0d2QyVjFhVWRsYm1WeVlYUmxaQ0JpZVNCemRtY3lkSFJtSUdaeWIyMGdSbTl1ZEdWc2JHOGdjSEp2YW1WamRDNW9kSFJ3T2k4dlptOXVkR1ZzYkc4dVkyOXRBSGNBWlFCMUFHa0FVZ0JsQUdjQWRRQnNBR0VBY2dCM0FHVUFkUUJwQUhjQVpRQjFBR2tBVmdCbEFISUFjd0JwQUc4QWJnQWdBREVBTGdBd0FIY0FaUUIxQUdrQVJ3QmxBRzRBWlFCeUFHRUFkQUJsQUdRQUlBQmlBSGtBSUFCekFIWUFad0F5QUhRQWRBQm1BQ0FBWmdCeUFHOEFiUUFnQUVZQWJ3QnVBSFFBWlFCc0FHd0Fid0FnQUhBQWNnQnZBR29BWlFCakFIUUFMZ0JvQUhRQWRBQndBRG9BTHdBdkFHWUFid0J1QUhRQVpRQnNBR3dBYndBdUFHTUFid0J0QUFBQUFnQUFBQUFBQUFBS0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFTQVFJQkF3RUVBUVVCQmdFSEFRZ0JDUUVLQVFzQkRBRU5BUTRCRHdFUUFSRUJFZ0VUQUFaamFYSmpiR1VJWkc5M2JteHZZV1FFYVc1bWJ3eHpZV1psWDNOMVkyTmxjM01KYzJGbVpWOTNZWEp1QjNOMVkyTmxjM01PYzNWalkyVnpjeTFqYVhKamJHVVJjM1ZqWTJWemN5MXVieTFqYVhKamJHVUhkMkZwZEdsdVp3NTNZV2wwYVc1bkxXTnBjbU5zWlFSM1lYSnVDMmx1Wm04dFkybHlZMnhsQm1OaGJtTmxiQVp6WldGeVkyZ0ZZMnhsWVhJRVltRmphd1prWld4bGRHVUFBQUFBIikgZm9ybWF0KCJ0cnVldHlwZSIpfUBmb250LWZhY2V7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtZmFtaWx5OnVuaWJ0bjtzcmM6dXJsKCJkYXRhOmFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbTtiYXNlNjQsQUFFQUFBQUtBSUFBQXdBZ1QxTXZNdlVUSFN3QUFBQ3NBQUFBWUdOdFlYRC8xTFNCQUFBQkRBQUFBVnBuYkhsbXowNkw5Z0FBQW1nQUFBUTBhR1ZoWkE1MDFjd0FBQWFjQUFBQU5taG9aV0VIN3dRNkFBQUcxQUFBQUNSb2JYUjRKQ29IQXdBQUJ2Z0FBQUFrYkc5allRUWVCU2dBQUFjY0FBQUFGRzFoZUhBQURRQkxBQUFITUFBQUFDQnVZVzFsNWhFUGtnQUFCMUFBQUFIYWNHOXpkQVFmQkNFQUFBa3NBQUFBUEFBRUJBVUJrQUFGQUFBQ21RTE1BQUFBandLWkFzd0FBQUhyQURNQkNRQUFBQUFBQUFBQUFBQUFBQUFBQUFFUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUVEbUFQLzlBOEQvd0FCQUE4QUFRQUFBQUFFQUFBQUFBQUFBQUFBQUFDQUFBQUFBQUFNQUFBQURBQUFBSEFBQkFBQUFBQUJVQUFNQUFRQUFBQndBQkFBNEFBQUFDZ0FJQUFJQUF1WUM1Z2JtVWYvOS8vOEFBT1lBNWdUbVVQLzkvLzhhQVJvQUdiY0FBd0FCQUFBQUFBQUFBQUFBQUFBQUFRWUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJBV0FBZVFMQkF1b0FGUUFBQVNZME56WXlGd0VlQVJVVUJnY0JCaUluSmpRM0FRRmdDQWdIRmdjQk5RUUVCQVQreXdjV0J3Z0lBU0lDeFFjWEJ3Z0kvdHdFQ3dVR0N3VCszQWdJQnhjSUFSTUFBQUFCQVZnQWVRSzVBdW9BRlFBQUNRSVdGQWNHSWljQkxnRTFORFkzQVRZeUZ4WVVBcm4rM2dFaUNBZ0lGUWorekFVREF3VUJOQWdWQ0FnQ3hmN3QvdTBJRndjSUNBRWtCQXNHQlFzRUFTUUlDQWNYQUFBQ0FOQUFhUU82QXcwQUd3QTBBQUFsRkFZaklTSW1OUkUwTmpzQk5TTWlCaFVSRkJZeklUSTJQUUVqRXljSEZ3Y09BdzhCTXpVK0FUYytBVDhDQnhjM0p3TlNCd1Q5d2dRR0JnU3d3QkVZR0JFQ1h4RVhMbWlrSVc1M1NvSmpQUVVCTHdVMkxTMTFRQVpxYmlHa0FhVUVCd2NFQWFnRkJqRVpFZjQwRVJrWkVxVUJLS3dqY3dFR1BGOStSd2dIUEc0ckt6SUVBUUYwSXF3Q0FBQUNBSmNBWGdOekF4c0FMd0JJQUFBQkxnRXZBaTRCSXlJR0R3SU9BUWNHRmg4QkJ3WVdGeDRCTXpJMlB3RVhIZ0V6TWpZM1BnRW5ORFVuTno0QkJUWW1Md0UzUGdFL0FSY2VBUjhCQnc0Qkh3RW5KZ1lQQVFOekFnb0c0MmNEQ2djR0NnTms0d1lLQWdFREJLVWxBUVVGQXdZRUFnVUR5c3dDQlFNR0NnTUNBUUVvb3dVRC9mb0JBd1NOd2dVSkFsWllBZ2tGdzR3RUF3RWlyZ1VMQks0Q0ZBWUlBUi9OQmdZR0JzNGpBUWdHQmd3RW4rSUdEQVFDQWdJQmJHb0JBUVlHQXdrREFRSGVvUVVNc0FZS0JJZ2RBUVlGc2JBRkJnRWJpUVFMQmNGYUF3RUNYQUFDQUw4QWRRTlFBeEVBSUFBOEFBQUJJZ1lkQVJRR0l5RWlKajBCTkNZaklnWWRBUjRCTXlFeU5qMEJOQ1luTGdFM0FTNEJJeUlHQndFR0ZCY2VBVE15TmpjQk5qSVhBUll5Tno0QkF2Y0tEZ3NIL25VSUN3NEtDUThCSmhzQmpCc25CQU1EQ1ZUKzVnb1lEUTBZQ2Y3bUJnY0RDUVVFQ0FRQkdRVVFCUUVhQnhNSEJnRUJzQTRKNGdjTEN3ZmlDUTRPQ2VJYkp5Y2I0Z1FKQXdRRE5BRWFDZ2tKQ2Y3bEJ4TUdCQU1EQXdFWkJRWCs1d1lIQmhNQUF3RGNBWFlETVFINkFBc0FGd0FqQUFBQk1qWTFOQ1lqSWdZVkZCWWhNalkxTkNZaklnWVZGQlloTWpZMU5DWWpJZ1lWRkJZQkhod25KeHdiSnljQkF4d25KeHdiSnljQkJCc25KeHNjSnljQmRpY2JHeWNuR3hzbkp4c2JKeWNiR3ljbkd4c25KeHNiSndBQUFRRHNBSjBERkFMT0FDVUFBQUUzTmpRbkppSVBBU2NtSWdjR0ZCOEJCd1lVRng0Qk16STJQd0VYSGdFek1qWTNOalFuQWlqc0NRa0lHQWpzNmdnWUNBa0o2dXdKQ1FRS0JnVUxCT3pzQkFzRkJnb0VDUWtCdStvSkZ3a0lDT3ZyQ0FnSUdBanI2d2dZQ0FRRUJBVHI3UVVFQlFRSUZ3a0FBUUJkQUl3RDBBTDRBQjRBQUFFV0ZSWUhBUVlIQmdjR0l5SXZBU1l2QVFFbUp6UTNQZ0VYQ1FFMk16WUR3d3dCRFAzL0JBVUNBZ2NHQ0FjRUF3TUQvdG9KQVFvTUhRd0JEQUhvQ3c4UEF1NExEUkFML2RzRUFnRUNBUUVDQWdNQ0FTRUxEZzhOQ1FJTC92a0NDQW9CQUFFQUFBQUJBQURMV2IyQlh3ODg5UUFMQkFBQUFBQUExWlRJcXdBQUFBRFZsTWlyQUYwQVhnUFFBeHNBQUFBSUFBSUFBQUFBQUFBQUFRQUFBOEQvd0FBQUJDb0FYUUJHQTlBQUFRQUFBQUFBQUFBQUFBQUFBQUFBQUFrRUFBQUFCQUFCWUFRQUFWZ0VBQURRQkFBQWx3UUFBTDhFQUFEY0JBQUE3QVFxQUYwQUFBQUFBQ29BVkFDaUFSUUJjQUdtQWVJQ0dnQUJBQUFBQ1FCSkFBTUFBQUFBQUFJQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQURnQ3VBQUVBQUFBQUFBRUFEZ0FBQUFFQUFBQUFBQUlBQndBT0FBRUFBQUFBQUFNQURnQVZBQUVBQUFBQUFBUUFEZ0FqQUFFQUFBQUFBQVVBQ3dBeEFBRUFBQUFBQUFZQURnQThBQUVBQUFBQUFBb0FHZ0JLQUFNQUFRUUpBQUVBSEFCa0FBTUFBUVFKQUFJQURnQ0FBQU1BQVFRSkFBTUFIQUNPQUFNQUFRUUpBQVFBSEFDcUFBTUFBUVFKQUFVQUZnREdBQU1BQVFRSkFBWUFIQURjQUFNQUFRUUpBQW9BTkFENGMzUnlaV0Z0YVdOdmJtWnZiblJTWldkMWJHRnljM1J5WldGdGFXTnZibVp2Ym5SemRISmxZVzFwWTI5dVptOXVkRlpsY25OcGIyNGdNUzR3YzNSeVpXRnRhV052Ym1admJuUkdiMjUwSUdkbGJtVnlZWFJsWkNCaWVTQkpZMjlOYjI5dUxnQnpBSFFBY2dCbEFHRUFiUUJwQUdNQWJ3QnVBR1lBYndCdUFIUUFVZ0JsQUdjQWRRQnNBR0VBY2dCekFIUUFjZ0JsQUdFQWJRQnBBR01BYndCdUFHWUFid0J1QUhRQWN3QjBBSElBWlFCaEFHMEFhUUJqQUc4QWJnQm1BRzhBYmdCMEFGWUFaUUJ5QUhNQWFRQnZBRzRBSUFBeEFDNEFNQUJ6QUhRQWNnQmxBR0VBYlFCcEFHTUFid0J1QUdZQWJ3QnVBSFFBUmdCdkFHNEFkQUFnQUdjQVpRQnVBR1VBY2dCaEFIUUFaUUJrQUNBQVlnQjVBQ0FBU1FCakFHOEFUUUJ2QUc4QWJnQXVBQUFBQWdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUNRQUpBQUFCQWdFREFRUUJCUUVHQVFjQkNBRUpBQUFBQUFBQUFBQT0iKSBmb3JtYXQoInRydWV0eXBlIil9Ym9keSxodG1sey13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9Ym9keXtvdmVyZmxvdy14OmhpZGRlbn1ib2R5LHVuaS1wYWdlLWJvZHl7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1VSS1CRy0wKTtjb2xvcjp2YXIoLS1VSS1GRy0wKX1bY2xhc3MqPSIgdW5pLWljb24tIl0sW2NsYXNzXj11bmktaWNvbi1de2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtmb250Om5vcm1hbCBub3JtYWwgbm9ybWFsIDE0cHgvMSB1bmk7Zm9udC1zaXplOmluaGVyaXQ7dGV4dC1yZW5kZXJpbmc6YXV0bzstd2Via2l0LWZvbnQtc21vb3RoaW5nOmFudGlhbGlhc2VkfVtjbGFzcyo9IiB1bmktYnRuLWljb24iXSxbY2xhc3NePXVuaS1idG4taWNvbl17ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udDpub3JtYWwgbm9ybWFsIG5vcm1hbCAxNHB4LzEgdW5pYnRuO2ZvbnQtc2l6ZTppbmhlcml0O3RleHQtcmVuZGVyaW5nOmF1dG87LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZH1bY2xhc3MqPSIgdW5pLWJ0bi1pY29uIl06YmVmb3JlLFtjbGFzc149dW5pLWJ0bi1pY29uXTpiZWZvcmV7bWFyZ2luOjA7Ym94LXNpemluZzpib3JkZXItYm94fS51bmktaWNvbi1zdWNjZXNzLW5vLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXEVBMDgifS51bmktaWNvbi1lcnJvcjpiZWZvcmV7Y29udGVudDoiXEVBMEIifS51bmktbG9hZGluZyx1bmktYnV0dG9uW2xvYWRpbmddOmJlZm9yZXtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMCkgdXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSXhNakFpSUdobGFXZG9kRDBpTVRJd0lpQjJhV1YzUW05NFBTSXdJREFnTVRBd0lERXdNQ0krUEhCaGRHZ2dabWxzYkQwaWJtOXVaU0lnWkQwaVRUQWdNR2d4TURCMk1UQXdTREI2SWk4K1BISmxZM1FnZDJsa2RHZzlJamNpSUdobGFXZG9kRDBpTWpBaUlIZzlJalEyTGpVaUlIazlJalF3SWlCbWFXeHNQU0lqUlRsRk9VVTVJaUJ5ZUQwaU5TSWdjbms5SWpVaUlIUnlZVzV6Wm05eWJUMGlkSEpoYm5Oc1lYUmxLREFnTFRNd0tTSXZQanh5WldOMElIZHBaSFJvUFNJM0lpQm9aV2xuYUhROUlqSXdJaUI0UFNJME5pNDFJaUI1UFNJME1DSWdabWxzYkQwaUl6azRPVFk1TnlJZ2NuZzlJalVpSUhKNVBTSTFJaUIwY21GdWMyWnZjbTA5SW5KdmRHRjBaU2d6TUNBeE1EVXVPVGdnTmpVcElpOCtQSEpsWTNRZ2QybGtkR2c5SWpjaUlHaGxhV2RvZEQwaU1qQWlJSGc5SWpRMkxqVWlJSGs5SWpRd0lpQm1hV3hzUFNJak9VSTVPVGxCSWlCeWVEMGlOU0lnY25rOUlqVWlJSFJ5WVc1elptOXliVDBpY205MFlYUmxLRFl3SURjMUxqazRJRFkxS1NJdlBqeHlaV04wSUhkcFpIUm9QU0kzSWlCb1pXbG5hSFE5SWpJd0lpQjRQU0kwTmk0MUlpQjVQU0kwTUNJZ1ptbHNiRDBpSTBFelFURkJNaUlnY25nOUlqVWlJSEo1UFNJMUlpQjBjbUZ1YzJadmNtMDlJbkp2ZEdGMFpTZzVNQ0EyTlNBMk5Ta2lMejQ4Y21WamRDQjNhV1IwYUQwaU55SWdhR1ZwWjJoMFBTSXlNQ0lnZUQwaU5EWXVOU0lnZVQwaU5EQWlJR1pwYkd3OUlpTkJRa0U1UVVFaUlISjRQU0kxSWlCeWVUMGlOU0lnZEhKaGJuTm1iM0p0UFNKeWIzUmhkR1VvTVRJd0lEVTRMalkySURZMUtTSXZQanh5WldOMElIZHBaSFJvUFNJM0lpQm9aV2xuYUhROUlqSXdJaUI0UFNJME5pNDFJaUI1UFNJME1DSWdabWxzYkQwaUkwSXlRakpDTWlJZ2NuZzlJalVpSUhKNVBTSTFJaUIwY21GdWMyWnZjbTA5SW5KdmRHRjBaU2d4TlRBZ05UUXVNRElnTmpVcElpOCtQSEpsWTNRZ2QybGtkR2c5SWpjaUlHaGxhV2RvZEQwaU1qQWlJSGc5SWpRMkxqVWlJSGs5SWpRd0lpQm1hV3hzUFNJalFrRkNPRUk1SWlCeWVEMGlOU0lnY25rOUlqVWlJSFJ5WVc1elptOXliVDBpY205MFlYUmxLREU0TUNBMU1DQTJOU2tpTHo0OGNtVmpkQ0IzYVdSMGFEMGlOeUlnYUdWcFoyaDBQU0l5TUNJZ2VEMGlORFl1TlNJZ2VUMGlOREFpSUdacGJHdzlJaU5ETWtNd1F6RWlJSEo0UFNJMUlpQnllVDBpTlNJZ2RISmhibk5tYjNKdFBTSnliM1JoZEdVb0xURTFNQ0EwTlM0NU9DQTJOU2tpTHo0OGNtVmpkQ0IzYVdSMGFEMGlOeUlnYUdWcFoyaDBQU0l5TUNJZ2VEMGlORFl1TlNJZ2VUMGlOREFpSUdacGJHdzlJaU5EUWtOQ1EwSWlJSEo0UFNJMUlpQnllVDBpTlNJZ2RISmhibk5tYjNKdFBTSnliM1JoZEdVb0xURXlNQ0EwTVM0ek5DQTJOU2tpTHo0OGNtVmpkQ0IzYVdSMGFEMGlOeUlnYUdWcFoyaDBQU0l5TUNJZ2VEMGlORFl1TlNJZ2VUMGlOREFpSUdacGJHdzlJaU5FTWtReVJESWlJSEo0UFNJMUlpQnllVDBpTlNJZ2RISmhibk5tYjNKdFBTSnliM1JoZEdVb0xUa3dJRE0xSURZMUtTSXZQanh5WldOMElIZHBaSFJvUFNJM0lpQm9aV2xuYUhROUlqSXdJaUI0UFNJME5pNDFJaUI1UFNJME1DSWdabWxzYkQwaUkwUkJSRUZFUVNJZ2NuZzlJalVpSUhKNVBTSTFJaUIwY21GdWMyWnZjbTA5SW5KdmRHRjBaU2d0TmpBZ01qUXVNRElnTmpVcElpOCtQSEpsWTNRZ2QybGtkR2c5SWpjaUlHaGxhV2RvZEQwaU1qQWlJSGc5SWpRMkxqVWlJSGs5SWpRd0lpQm1hV3hzUFNJalJUSkZNa1V5SWlCeWVEMGlOU0lnY25rOUlqVWlJSFJ5WVc1elptOXliVDBpY205MFlYUmxLQzB6TUNBdE5TNDVPQ0EyTlNraUx6NDhMM04yWno0PSIpIG5vLXJlcGVhdH0udW5pLWxvYWRpbmd7d2lkdGg6MjBweDtoZWlnaHQ6MjBweDtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC1hbmltYXRpb246dW5pLWxvYWRpbmcgMXMgc3RlcHMoMTIpIGluZmluaXRlO2FuaW1hdGlvbjp1bmktbG9hZGluZyAxcyBzdGVwcygxMikgaW5maW5pdGU7YmFja2dyb3VuZC1zaXplOjEwMCV9QC13ZWJraXQta2V5ZnJhbWVzIHVuaS1sb2FkaW5nezAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDBkZWcpfXRvey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxdHVybik7dHJhbnNmb3JtOnJvdGF0ZSgxdHVybil9fUBrZXlmcmFtZXMgdW5pLWxvYWRpbmd7MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMGRlZyl9dG97LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDF0dXJuKTt0cmFuc2Zvcm06cm90YXRlKDF0dXJuKX19LnVuaS1tYXNre3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6OTk5O3RvcDowO3JpZ2h0OjA7bGVmdDowO2JvdHRvbTowO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNSl9LnVuaS1mYWRlLWVudGVyLWFjdGl2ZSwudW5pLWZhZGUtbGVhdmUtYWN0aXZley13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouMjVzO3RyYW5zaXRpb24tZHVyYXRpb246LjI1czstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6b3BhY2l0eTt0cmFuc2l0aW9uLXByb3BlcnR5Om9wYWNpdHk7LXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2V9LnVuaS1mYWRlLWVudGVyLC51bmktZmFkZS1sZWF2ZS1hY3RpdmV7b3BhY2l0eTowfVtudnVlXSB1bmktbGFiZWwsW252dWVdIHVuaS1zY3JvbGwtdmlldyxbbnZ1ZV0gdW5pLXN3aXBlci1pdGVtLFtudnVlXSB1bmktdmlld3tkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWZsZXgtc2hyaW5rOjA7ZmxleC1zaHJpbms6MDstd2Via2l0LWJveC1mbGV4OjA7LXdlYmtpdC1mbGV4LWdyb3c6MDtmbGV4LWdyb3c6MDstd2Via2l0LWZsZXgtYmFzaXM6YXV0bztmbGV4LWJhc2lzOmF1dG87LXdlYmtpdC1ib3gtYWxpZ246c3RyZXRjaDstd2Via2l0LWFsaWduLWl0ZW1zOnN0cmV0Y2g7YWxpZ24taXRlbXM6c3RyZXRjaDstd2Via2l0LWFsaWduLWNvbnRlbnQ6ZmxleC1zdGFydDthbGlnbi1jb250ZW50OmZsZXgtc3RhcnR9W252dWVdIHVuaS1idXR0b257bWFyZ2luOjB9W252dWUtZGlyLXJvd10gdW5pLWxhYmVsLFtudnVlLWRpci1yb3ddIHVuaS1zd2lwZXItaXRlbSxbbnZ1ZS1kaXItcm93XSB1bmktdmlld3std2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93O2ZsZXgtZGlyZWN0aW9uOnJvd31bbnZ1ZS1kaXItY29sdW1uXSB1bmktbGFiZWwsW252dWUtZGlyLWNvbHVtbl0gdW5pLXN3aXBlci1pdGVtLFtudnVlLWRpci1jb2x1bW5dIHVuaS12aWV3ey13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn1bbnZ1ZS1kaXItcm93LXJldmVyc2VdIHVuaS1sYWJlbCxbbnZ1ZS1kaXItcm93LXJldmVyc2VdIHVuaS1zd2lwZXItaXRlbSxbbnZ1ZS1kaXItcm93LXJldmVyc2VdIHVuaS12aWV3ey13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpyZXZlcnNlOy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93LXJldmVyc2U7ZmxleC1kaXJlY3Rpb246cm93LXJldmVyc2V9W252dWUtZGlyLWNvbHVtbi1yZXZlcnNlXSB1bmktbGFiZWwsW252dWUtZGlyLWNvbHVtbi1yZXZlcnNlXSB1bmktc3dpcGVyLWl0ZW0sW252dWUtZGlyLWNvbHVtbi1yZXZlcnNlXSB1bmktdmlld3std2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOnJldmVyc2U7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW4tcmV2ZXJzZTtmbGV4LWRpcmVjdGlvbjpjb2x1bW4tcmV2ZXJzZX1bbnZ1ZV0gdW5pLWltYWdlLFtudnVlXSB1bmktaW5wdXQsW252dWVdIHVuaS1zY3JvbGwtdmlldyxbbnZ1ZV0gdW5pLXN3aXBlcixbbnZ1ZV0gdW5pLXN3aXBlci1pdGVtLFtudnVlXSB1bmktdGV4dCxbbnZ1ZV0gdW5pLXRleHRhcmVhLFtudnVlXSB1bmktdmlkZW8sW252dWVdIHVuaS12aWV3e3Bvc2l0aW9uOnJlbGF0aXZlO2JvcmRlcjowIHNvbGlkICMwMDA7Ym94LXNpemluZzpib3JkZXItYm94fVtudnVlXSB1bmktc3dpcGVyLWl0ZW17cG9zaXRpb246YWJzb2x1dGV9aHRtbHstLVVJLUJHOiNmZmY7LS1VSS1CRy0xOiNmN2Y3Zjc7LS1VSS1CRy0yOiNmZmY7LS1VSS1CRy0zOiNmN2Y3Zjc7LS1VSS1CRy00OiM0YzRjNGM7LS1VSS1CRy01OiNmZmY7LS1VSS1GRzojMDAwOy0tVUktRkctMDpyZ2JhKDAsMCwwLDAuOSk7LS1VSS1GRy1IQUxGOnJnYmEoMCwwLDAsMC45KTstLVVJLUZHLTE6cmdiYSgwLDAsMCwwLjUpOy0tVUktRkctMjpyZ2JhKDAsMCwwLDAuMyk7LS1VSS1GRy0zOnJnYmEoMCwwLDAsMC4xKX11bmktYXBwe3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9dW5pLWFwcCx1bmktcGFnZS1oZWFke2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94fXVuaS1wYWdlLWhlYWQgLnVuaS1wYWdlLWhlYWR7cG9zaXRpb246Zml4ZWQ7bGVmdDp2YXIoLS13aW5kb3ctbGVmdCk7cmlnaHQ6dmFyKC0td2luZG93LXJpZ2h0KTtoZWlnaHQ6NDRweDtoZWlnaHQ6Y2FsYyg0NHB4ICsgY29uc3RhbnQoc2FmZS1hcmVhLWluc2V0LXRvcCkpO2hlaWdodDpjYWxjKDQ0cHggKyBlbnYoc2FmZS1hcmVhLWluc2V0LXRvcCkpO3BhZGRpbmc6N3B4IDNweDtwYWRkaW5nLXRvcDpjYWxjKDdweCArIGNvbnN0YW50KHNhZmUtYXJlYS1pbnNldC10b3ApKTtwYWRkaW5nLXRvcDpjYWxjKDdweCArIGVudihzYWZlLWFyZWEtaW5zZXQtdG9wKSk7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtYm94LXBhY2s6anVzdGlmeTstd2Via2l0LWp1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2JveC1zaXppbmc6Ym9yZGVyLWJveDt6LWluZGV4Ojk5ODtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzAwMDstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6YWxsO3RyYW5zaXRpb24tcHJvcGVydHk6YWxsfXVuaS1wYWdlLWhlYWQgLnVuaS1wYWdlLWhlYWQtdGl0bGVQZW5ldHJhdGUsdW5pLXBhZ2UtaGVhZCAudW5pLXBhZ2UtaGVhZC10aXRsZVBlbmV0cmF0ZSAudW5pLXBhZ2UtaGVhZC1iZCx1bmktcGFnZS1oZWFkIC51bmktcGFnZS1oZWFkLXRpdGxlUGVuZXRyYXRlIC51bmktcGFnZS1oZWFkLWJkICp7cG9pbnRlci1ldmVudHM6bm9uZX11bmktcGFnZS1oZWFkIC51bmktcGFnZS1oZWFkLXRpdGxlUGVuZXRyYXRlICp7cG9pbnRlci1ldmVudHM6YXV0b311bmktcGFnZS1oZWFkIC51bmktcGFnZS1oZWFkLnVuaS1wYWdlLWhlYWQtdHJhbnNwYXJlbnQgLnVuaS1wYWdlLWhlYWQtZnQ+ZGl2ey13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfXVuaS1wYWdlLWhlYWQgLnVuaS1wYWdlLWhlYWR+LnVuaS1wbGFjZWhvbGRlcnt3aWR0aDoxMDAlO2hlaWdodDo0NHB4O2hlaWdodDpjYWxjKDQ0cHggKyBjb25zdGFudChzYWZlLWFyZWEtaW5zZXQtdG9wKSk7aGVpZ2h0OmNhbGMoNDRweCArIGVudihzYWZlLWFyZWEtaW5zZXQtdG9wKSl9dW5pLXBhZ2UtaGVhZCAudW5pLXBsYWNlaG9sZGVyLXRpdGxlUGVuZXRyYXRle3BvaW50ZXItZXZlbnRzOm5vbmV9dW5pLXBhZ2UtaGVhZCAudW5pLXBhZ2UtaGVhZCAqe2JveC1zaXppbmc6Ym9yZGVyLWJveH11bmktcGFnZS1oZWFkIC51bmktcGFnZS1oZWFkLWhke2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7Zm9udC1zaXplOjE2cHh9dW5pLXBhZ2UtaGVhZCAudW5pLXBhZ2UtaGVhZC1iZHtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjcwcHg7cmlnaHQ6NzBweDttaW4td2lkdGg6MH0udW5pLXBhZ2UtaGVhZC1idG57cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6YXV0bzttYXJnaW46MCAycHg7d29yZC1icmVhazprZWVwLWFsbDt3aGl0ZS1zcGFjZTpwcmU7Y3Vyc29yOnBvaW50ZXJ9LnVuaS1wYWdlLWhlYWQtdHJhbnNwYXJlbnQgLnVuaS1wYWdlLWhlYWQtYnRue2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7d2lkdGg6MzJweDtoZWlnaHQ6MzJweDtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjUpfXVuaS1wYWdlLWhlYWQgLnVuaS1idG4taWNvbntvdmVyZmxvdzpoaWRkZW47bWluLXdpZHRoOjFlbX0udW5pLXBhZ2UtaGVhZC1idG4tcmVkLWRvdDphZnRlcntjb250ZW50OmF0dHIoYmFkZ2UtdGV4dCk7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MDtiYWNrZ3JvdW5kLWNvbG9yOnJlZDtjb2xvcjojZmZmO3dpZHRoOjE4cHg7aGVpZ2h0OjE4cHg7bGluZS1oZWlnaHQ6MThweDtib3JkZXItcmFkaXVzOjE4cHg7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKC41KSB0cmFuc2xhdGUoNDAlLC00MCUpO3RyYW5zZm9ybTpzY2FsZSguNSkgdHJhbnNsYXRlKDQwJSwtNDAlKTstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46MTAwJSAwO3RyYW5zZm9ybS1vcmlnaW46MTAwJSAwfS51bmktcGFnZS1oZWFkLWJ0bi1yZWQtZG90W2JhZGdlLXRleHRdOmFmdGVye2ZvbnQtc2l6ZToxMnB4O3dpZHRoOmF1dG87bWluLXdpZHRoOjE4cHg7bWF4LXdpZHRoOjQycHg7dGV4dC1hbGlnbjpjZW50ZXI7cGFkZGluZzowIDNweDstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSguNykgdHJhbnNsYXRlKDQwJSwtNDAlKTt0cmFuc2Zvcm06c2NhbGUoLjcpIHRyYW5zbGF0ZSg0MCUsLTQwJSl9LnVuaS1wYWdlLWhlYWQtYnRuLXNlbGVjdD4udW5pLWJ0bi1pY29uOmFmdGVye2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtZmFtaWx5OnVuaWJ0bjtjb250ZW50OiJcZTYwMSI7bWFyZ2luLWxlZnQ6MnB4Oy13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgtOTBkZWcpIHNjYWxlKC44KTt0cmFuc2Zvcm06cm90YXRlKC05MGRlZykgc2NhbGUoLjgpfS51bmktcGFnZS1oZWFkLXNlYXJjaHtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1mbGV4OjE7LXdlYmtpdC1mbGV4OjE7ZmxleDoxO21hcmdpbjowIDJweDtsaW5lLWhlaWdodDozMHB4O2ZvbnQtc2l6ZToxNXB4fS51bmktcGFnZS1oZWFkLXNlYXJjaC1pbnB1dHt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3BhZGRpbmctbGVmdDozNHB4O3RleHQtYWxpZ246bGVmdH0udW5pLXBhZ2UtaGVhZC1zZWFyY2gtcGxhY2Vob2xkZXJ7cG9zaXRpb246YWJzb2x1dGU7bWF4LXdpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7cGFkZGluZy1sZWZ0OjM0cHg7b3ZlcmZsb3c6aGlkZGVuO3dvcmQtYnJlYWs6a2VlcC1hbGw7d2hpdGUtc3BhY2U6cHJlfS51bmktcGFnZS1oZWFkLXNlYXJjaC1wbGFjZWhvbGRlci1yaWdodHtyaWdodDowfS51bmktcGFnZS1oZWFkLXNlYXJjaC1wbGFjZWhvbGRlci1jZW50ZXJ7bGVmdDo1MCU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKX0udW5pLXBhZ2UtaGVhZC1zZWFyY2gtcGxhY2Vob2xkZXI6YmVmb3Jle3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MnB4O3dpZHRoOjMwcHg7Y29udGVudDoiXGVhMGUiO2Rpc3BsYXk6YmxvY2s7Zm9udC1zaXplOjIwcHg7Zm9udC1mYW1pbHk6dW5pO3RleHQtYWxpZ246Y2VudGVyfXVuaS1wYWdlLWhlYWQgLnVuaS1wYWdlLWhlYWQtZnR7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246cmV2ZXJzZTstd2Via2l0LWZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlO2ZsZXgtZGlyZWN0aW9uOnJvdy1yZXZlcnNlO2ZvbnQtc2l6ZToxM3B4fXVuaS1wYWdlLWhlYWQgLnVuaS1wYWdlLWhlYWRfX3RpdGxle2ZvbnQtd2VpZ2h0OjcwMDtmb250LXNpemU6MTZweDtsaW5lLWhlaWdodDozMHB4O3RleHQtYWxpZ246Y2VudGVyO292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7dGV4dC1vdmVyZmxvdzplbGxpcHNpc311bmktcGFnZS1oZWFkIC51bmktcGFnZS1oZWFkX190aXRsZSAudW5pLWxvYWRpbmd7d2lkdGg6MTZweDtoZWlnaHQ6MTZweDttYXJnaW4tdG9wOi0zcHh9dW5pLXBhZ2UtaGVhZCAudW5pLXBhZ2UtaGVhZF9fdGl0bGUgLnVuaS1wYWdlLWhlYWRfX3RpdGxlX2ltYWdle3dpZHRoOmF1dG87aGVpZ2h0OjI2cHg7dmVydGljYWwtYWxpZ246bWlkZGxlfXVuaS1wYWdlLWhlYWQgLnVuaS1wYWdlLWhlYWQtc2hhZG93e292ZXJmbG93OnZpc2libGV9dW5pLXBhZ2UtaGVhZCAudW5pLXBhZ2UtaGVhZC1zaGFkb3c6YWZ0ZXJ7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7cmlnaHQ6MDt0b3A6MTAwJTtoZWlnaHQ6NXB4O2JhY2tncm91bmQtc2l6ZToxMDAlIDEwMCV9dW5pLXBhZ2UtaGVhZCAudW5pLXBhZ2UtaGVhZC1zaGFkb3ctZ3JleTphZnRlcntiYWNrZ3JvdW5kLWltYWdlOnVybChodHRwczovL2Nkbi5kY2xvdWQubmV0LmNuL2ltZy9zaGFkb3ctZ3JleS5wbmcpfXVuaS1wYWdlLWhlYWQgLnVuaS1wYWdlLWhlYWQtc2hhZG93LWJsdWU6YWZ0ZXJ7YmFja2dyb3VuZC1pbWFnZTp1cmwoaHR0cHM6Ly9jZG4uZGNsb3VkLm5ldC5jbi9pbWcvc2hhZG93LWJsdWUucG5nKX11bmktcGFnZS1oZWFkIC51bmktcGFnZS1oZWFkLXNoYWRvdy1ncmVlbjphZnRlcntiYWNrZ3JvdW5kLWltYWdlOnVybChodHRwczovL2Nkbi5kY2xvdWQubmV0LmNuL2ltZy9zaGFkb3ctZ3JlZW4ucG5nKX11bmktcGFnZS1oZWFkIC51bmktcGFnZS1oZWFkLXNoYWRvdy1vcmFuZ2U6YWZ0ZXJ7YmFja2dyb3VuZC1pbWFnZTp1cmwoaHR0cHM6Ly9jZG4uZGNsb3VkLm5ldC5jbi9pbWcvc2hhZG93LW9yYW5nZS5wbmcpfXVuaS1wYWdlLWhlYWQgLnVuaS1wYWdlLWhlYWQtc2hhZG93LXJlZDphZnRlcntiYWNrZ3JvdW5kLWltYWdlOnVybChodHRwczovL2Nkbi5kY2xvdWQubmV0LmNuL2ltZy9zaGFkb3ctcmVkLnBuZyl9dW5pLXBhZ2UtaGVhZCAudW5pLXBhZ2UtaGVhZC1zaGFkb3cteWVsbG93OmFmdGVye2JhY2tncm91bmQtaW1hZ2U6dXJsKGh0dHBzOi8vY2RuLmRjbG91ZC5uZXQuY24vaW1nL3NoYWRvdy15ZWxsb3cucG5nKX11bmktcGFnZS1oZWFkIC51bmktaWNvbi1jbGVhcnstd2Via2l0LWFsaWduLXNlbGY6Y2VudGVyO2FsaWduLXNlbGY6Y2VudGVyO3BhZGRpbmctcmlnaHQ6NXB4fXVuaS1wYWdlLXdyYXBwZXJ7ZGlzcGxheTpibG9jaztoZWlnaHQ6MTAwJTtwb3NpdGlvbjpyZWxhdGl2ZX11bmktcGFnZS1oZWFkW3VuaS1wYWdlLWhlYWQtdHlwZT1kZWZhdWx0XX51bmktcGFnZS13cmFwcGVye2hlaWdodDpjYWxjKDEwMCUgLSA0NHB4KTtoZWlnaHQ6Y2FsYygxMDAlIC0gNDRweCAtIGNvbnN0YW50KHNhZmUtYXJlYS1pbnNldC10b3ApKTtoZWlnaHQ6Y2FsYygxMDAlIC0gNDRweCAtIGVudihzYWZlLWFyZWEtaW5zZXQtdG9wKSl9dW5pLXBhZ2UtYm9keSx1bmktcGFnZS1yZWZyZXNoe2Rpc3BsYXk6YmxvY2s7Ym94LXNpemluZzpib3JkZXItYm94O3dpZHRoOjEwMCV9dW5pLXBhZ2UtcmVmcmVzaHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtoZWlnaHQ6NDBweH11bmktcGFnZS1yZWZyZXNoIC51bmktcGFnZS1yZWZyZXNoe3Bvc2l0aW9uOmFic29sdXRlO3RvcDotNDVweDtsZWZ0OjUwJTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtNTAlLDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC01MCUsMCwwKTtiYWNrZ3JvdW5kOiNmZmY7Ym94LXNoYWRvdzowIDFweCA2cHggcmdiYSgwLDAsMCwuMTE3NjQ3KSwwIDFweCA0cHggcmdiYSgwLDAsMCwuMTE3NjQ3KTtkaXNwbGF5Om5vbmU7ei1pbmRleDo5OTd9dW5pLXBhZ2UtcmVmcmVzaCAudW5pLXBhZ2UtcmVmcmVzaCx1bmktcGFnZS1yZWZyZXNoIC51bmktcGFnZS1yZWZyZXNoLWlubmVye3dpZHRoOjQwcHg7aGVpZ2h0OjQwcHg7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtib3JkZXItcmFkaXVzOjUwJX11bmktcGFnZS1yZWZyZXNoIC51bmktcGFnZS1yZWZyZXNoLWlubmVye2xpbmUtaGVpZ2h0OjB9dW5pLXBhZ2UtcmVmcmVzaC51bmktcGFnZS1yZWZyZXNoLS1hYm9ydGluZyAudW5pLXBhZ2UtcmVmcmVzaCx1bmktcGFnZS1yZWZyZXNoLnVuaS1wYWdlLXJlZnJlc2gtLXB1bGxpbmcgLnVuaS1wYWdlLXJlZnJlc2gsdW5pLXBhZ2UtcmVmcmVzaC51bmktcGFnZS1yZWZyZXNoLS1yZWFjaGVkIC51bmktcGFnZS1yZWZyZXNoLHVuaS1wYWdlLXJlZnJlc2gudW5pLXBhZ2UtcmVmcmVzaC0tcmVmcmVzaGluZyAudW5pLXBhZ2UtcmVmcmVzaCx1bmktcGFnZS1yZWZyZXNoLnVuaS1wYWdlLXJlZnJlc2gtLXJlc3RvcmluZyAudW5pLXBhZ2UtcmVmcmVzaCx1bmktcGFnZS1yZWZyZXNoIC51bmktcGFnZS1yZWZyZXNoLWlubmVye2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4fXVuaS1wYWdlLXJlZnJlc2gudW5pLXBhZ2UtcmVmcmVzaC0tYWJvcnRpbmcgLnVuaS1wYWdlLXJlZnJlc2hfX3NwaW5uZXIsdW5pLXBhZ2UtcmVmcmVzaC51bmktcGFnZS1yZWZyZXNoLS1wdWxsaW5nIC51bmktcGFnZS1yZWZyZXNoX19zcGlubmVyLHVuaS1wYWdlLXJlZnJlc2gudW5pLXBhZ2UtcmVmcmVzaC0tcmVhY2hlZCAudW5pLXBhZ2UtcmVmcmVzaF9fc3Bpbm5lcix1bmktcGFnZS1yZWZyZXNoLnVuaS1wYWdlLXJlZnJlc2gtLXJlZnJlc2hpbmcgLnVuaS1wYWdlLXJlZnJlc2hfX2ljb24sdW5pLXBhZ2UtcmVmcmVzaC51bmktcGFnZS1yZWZyZXNoLS1yZXN0b3JpbmcgLnVuaS1wYWdlLXJlZnJlc2hfX2ljb257ZGlzcGxheTpub25lfXVuaS1wYWdlLXJlZnJlc2gudW5pLXBhZ2UtcmVmcmVzaC0tcmVmcmVzaGluZyAudW5pLXBhZ2UtcmVmcmVzaF9fc3Bpbm5lcnstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46Y2VudGVyIGNlbnRlcjt0cmFuc2Zvcm0tb3JpZ2luOmNlbnRlciBjZW50ZXI7LXdlYmtpdC1hbmltYXRpb246dW5pLXBhZ2UtcmVmcmVzaC1yb3RhdGUgMnMgbGluZWFyIGluZmluaXRlO2FuaW1hdGlvbjp1bmktcGFnZS1yZWZyZXNoLXJvdGF0ZSAycyBsaW5lYXIgaW5maW5pdGV9dW5pLXBhZ2UtcmVmcmVzaC51bmktcGFnZS1yZWZyZXNoLS1yZWZyZXNoaW5nIC51bmktcGFnZS1yZWZyZXNoX19wYXRoe3N0cm9rZS1kYXNoYXJyYXk6MSwyMDA7c3Ryb2tlLWRhc2hvZmZzZXQ6MDtzdHJva2UtbGluZWNhcDpyb3VuZDstd2Via2l0LWFuaW1hdGlvbjp1bmktcGFnZS1yZWZyZXNoLWRhc2ggMS41cyBlYXNlLWluLW91dCBpbmZpbml0ZSx1bmktcGFnZS1yZWZyZXNoLWNvbG9yZnVsIDZzIGVhc2UtaW4tb3V0IGluZmluaXRlO2FuaW1hdGlvbjp1bmktcGFnZS1yZWZyZXNoLWRhc2ggMS41cyBlYXNlLWluLW91dCBpbmZpbml0ZSx1bmktcGFnZS1yZWZyZXNoLWNvbG9yZnVsIDZzIGVhc2UtaW4tb3V0IGluZmluaXRlfUAtd2Via2l0LWtleWZyYW1lcyB1bmktcGFnZS1yZWZyZXNoLXJvdGF0ZXt0b3std2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMXR1cm4pO3RyYW5zZm9ybTpyb3RhdGUoMXR1cm4pfX1Aa2V5ZnJhbWVzIHVuaS1wYWdlLXJlZnJlc2gtcm90YXRle3Rvey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxdHVybik7dHJhbnNmb3JtOnJvdGF0ZSgxdHVybil9fUAtd2Via2l0LWtleWZyYW1lcyB1bmktcGFnZS1yZWZyZXNoLWRhc2h7MCV7c3Ryb2tlLWRhc2hhcnJheToxLDIwMDtzdHJva2UtZGFzaG9mZnNldDowfTUwJXtzdHJva2UtZGFzaGFycmF5Ojg5LDIwMDtzdHJva2UtZGFzaG9mZnNldDotMzVweH10b3tzdHJva2UtZGFzaGFycmF5Ojg5LDIwMDtzdHJva2UtZGFzaG9mZnNldDotMTI0cHh9fUBrZXlmcmFtZXMgdW5pLXBhZ2UtcmVmcmVzaC1kYXNoezAle3N0cm9rZS1kYXNoYXJyYXk6MSwyMDA7c3Ryb2tlLWRhc2hvZmZzZXQ6MH01MCV7c3Ryb2tlLWRhc2hhcnJheTo4OSwyMDA7c3Ryb2tlLWRhc2hvZmZzZXQ6LTM1cHh9dG97c3Ryb2tlLWRhc2hhcnJheTo4OSwyMDA7c3Ryb2tlLWRhc2hvZmZzZXQ6LTEyNHB4fX11bmktcGFnZXtkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9LnVuaS1hc3luYy1lcnJvcntwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7cmlnaHQ6MDt0b3A6MDtib3R0b206MDtjb2xvcjojOTk5O3BhZGRpbmc6MTAwcHggMTBweDt0ZXh0LWFsaWduOmNlbnRlcn0udW5pLWFzeW5jLWxvYWRpbmd7Ym94LXNpemluZzpib3JkZXItYm94O3dpZHRoOjEwMCU7cGFkZGluZzo1MHB4O3RleHQtYWxpZ246Y2VudGVyfS51bmktYXN5bmMtbG9hZGluZyAudW5pLWxvYWRpbmd7d2lkdGg6MzBweDtoZWlnaHQ6MzBweH1AZm9udC1mYWNle2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0eWxlOm5vcm1hbDtmb250LWZhbWlseTp1bmltYXBidG47c3JjOnVybCgiZGF0YTphcHBsaWNhdGlvbi9vY3RldC1zdHJlYW07YmFzZTY0LEFBRUFBQUFLQUlBQUF3QWdUMU12TWtMTFhpUUFBQUNzQUFBQVlHTnRZWEFBRGUzWUFBQUJEQUFBQVVKbmJIbG16Q2VPRWdBQUFsQUFBQUQ0YUdWaFpCY0gvTmtBQUFOSUFBQUFObWhvWldFSHZnT2lBQUFEZ0FBQUFDUm9iWFI0QkFBQUFBQUFBNlFBQUFBR2JHOWpZUUI4QUFBQUFBT3NBQUFBQm0xaGVIQUJEd0JsQUFBRHRBQUFBQ0J1WVcxbGF6NXgwQUFBQTlRQUFBTFpjRzl6ZEFFUUFBSUFBQWF3QUFBQUp3QUVCQUFCa0FBRkFBZ0NpUUxNQUFBQWp3S0pBc3dBQUFIckFESUJDQUFBQWdBRkF3QUFBQUFBQUFBQUFBQVFBQUFBQUFBQUFBQUFBQUJRWmtWa0FFRHNNdXd5QTREL2dBQmNBNEFBZ0FBQUFBRUFBQUFBQUFBQUFBQUFBQ0FBQUFBQUFBTUFBQUFEQUFBQUhBQUJBQUFBQUFBOEFBTUFBUUFBQUJ3QUJBQWdBQUFBQkFBRUFBRUFBT3d5Ly84QUFPd3kvLzhUendBQkFBQUFBQUFBQVFZQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBREFBRC9vQVBnQTJBQUNBQXdBRmdBQUFFZUFUSTJOQ1lpQmdVakxnRW5OVFFtSWdZZEFRNEJCeU1pQmhRV093RWVBUmNWRkJZeU5qMEJQZ0UzTXpJMk5DWUJOVFFtSWdZZEFTNEJKek15TmpRbUt3RStBVGNWRkJZeU5qMEJIZ0VYSXlJR0ZCWTdBUTRCQWJBQkxVUXRMVVF0QWc4aUQ5T2NFaHdTbk5NUElnNFNFZzRpRDlPY0Vod1NuTk1QSWc0U0V2NVNFaHdTZ2E4T1BnNFNFZzQrRHErQkVod1NnYThPUGc0U0VnNCtEcThCZ0NJdExVUXRMUUtjMHc4aURoSVNEaUlQMDV3U0hCS2MwdzhpRGhJU0RpSVAwNXdTSEJMK2dqNE9FaElPUGc2dmdSSWNFb0d2RGo0T0VoSU9QZzZ2Z1JJY0VvR3ZBQUVBQUFBQkFBQm1WKzB6WHc4ODlRQUxCQUFBQUFBQTJnUmNiZ0FBQUFEYUJGeHVBQUQvb0FQZ0EyQUFBQUFJQUFJQUFBQUFBQUFBQVFBQUE0RC9nQUJjQkFBQUFBQWdBK0FBQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUVFQUFBQUFBQUFBQUFBQUFBQWZBQUFBQUVBQUFBQ0FGa0FBd0FBQUFBQUFnQUFBQW9BQ2dBQUFQOEFBQUFBQUFBQUFBQVNBTjRBQVFBQUFBQUFBQUFWQUFBQUFRQUFBQUFBQVFBUkFCVUFBUUFBQUFBQUFnQUhBQ1lBQVFBQUFBQUFBd0FSQUMwQUFRQUFBQUFBQkFBUkFENEFBUUFBQUFBQUJRQUxBRThBQVFBQUFBQUFCZ0FSQUZvQUFRQUFBQUFBQ2dBckFHc0FBUUFBQUFBQUN3QVRBSllBQXdBQkJBa0FBQUFxQUtrQUF3QUJCQWtBQVFBaUFOTUFBd0FCQkFrQUFnQU9BUFVBQXdBQkJBa0FBd0FpQVFNQUF3QUJCQWtBQkFBaUFTVUFBd0FCQkFrQUJRQVdBVWNBQXdBQkJBa0FCZ0FpQVYwQUF3QUJCQWtBQ2dCV0FYOEFBd0FCQkFrQUN3QW1BZFVLUTNKbFlYUmxaQ0JpZVNCcFkyOXVabTl1ZEFwMWJtbGphRzl2YzJWc2IyTmhkR2x2YmxKbFozVnNZWEoxYm1samFHOXZjMlZzYjJOaGRHbHZiblZ1YVdOb2IyOXpaV3h2WTJGMGFXOXVWbVZ5YzJsdmJpQXhMakIxYm1samFHOXZjMlZzYjJOaGRHbHZia2RsYm1WeVlYUmxaQ0JpZVNCemRtY3lkSFJtSUdaeWIyMGdSbTl1ZEdWc2JHOGdjSEp2YW1WamRDNW9kSFJ3T2k4dlptOXVkR1ZzYkc4dVkyOXRBQW9BUXdCeUFHVUFZUUIwQUdVQVpBQWdBR0lBZVFBZ0FHa0FZd0J2QUc0QVpnQnZBRzRBZEFBS0FIVUFiZ0JwQUdNQWFBQnZBRzhBY3dCbEFHd0Fid0JqQUdFQWRBQnBBRzhBYmdCU0FHVUFad0IxQUd3QVlRQnlBSFVBYmdCcEFHTUFhQUJ2QUc4QWN3QmxBR3dBYndCakFHRUFkQUJwQUc4QWJnQjFBRzRBYVFCakFHZ0Fid0J2QUhNQVpRQnNBRzhBWXdCaEFIUUFhUUJ2QUc0QVZnQmxBSElBY3dCcEFHOEFiZ0FnQURFQUxnQXdBSFVBYmdCcEFHTUFhQUJ2QUc4QWN3QmxBR3dBYndCakFHRUFkQUJwQUc4QWJnQkhBR1VBYmdCbEFISUFZUUIwQUdVQVpBQWdBR0lBZVFBZ0FITUFkZ0JuQURJQWRBQjBBR1lBSUFCbUFISUFid0J0QUNBQVJnQnZBRzRBZEFCbEFHd0FiQUJ2QUNBQWNBQnlBRzhBYWdCbEFHTUFkQUF1QUdnQWRBQjBBSEFBT2dBdkFDOEFaZ0J2QUc0QWRBQmxBR3dBYkFCdkFDNEFZd0J2QUcwQUFBQUFBZ0FBQUFBQUFBQUtBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQWdBQ0FBQUJBZ0FBIikgZm9ybWF0KCJ0cnVldHlwZSIpfS51bmktc3lzdGVtLWNob29zZS1sb2NhdGlvbntkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmZpeGVkO2xlZnQ6MDt0b3A6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JhY2tncm91bmQ6I2Y4ZjhmOH0udW5pLXN5c3RlbS1jaG9vc2UtbG9jYXRpb24gLm1hcHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MzAwcHh9LnVuaS1zeXN0ZW0tY2hvb3NlLWxvY2F0aW9uIC5tYXAtbG9jYXRpb257cG9zaXRpb246YWJzb2x1dGU7bGVmdDo1MCU7Ym90dG9tOjUwJTt3aWR0aDozMnB4O2hlaWdodDo1MnB4O21hcmdpbi1sZWZ0Oi0xNnB4O2N1cnNvcjpwb2ludGVyO2JhY2tncm91bmQtc2l6ZToxMDAlfS51bmktc3lzdGVtLWNob29zZS1sb2NhdGlvbiAubWFwLW1vdmV7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjUwcHg7cmlnaHQ6MTBweDt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtsaW5lLWhlaWdodDo0MHB4O2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXItcmFkaXVzOjUwJTtwb2ludGVyLWV2ZW50czphdXRvO2N1cnNvcjpwb2ludGVyO2JveC1zaGFkb3c6MCAwIDVweCAxcHggcmdiYSgwLDAsMCwuMyl9LnVuaS1zeXN0ZW0tY2hvb3NlLWxvY2F0aW9uIC5tYXAtbW92ZT5pe2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtmb250Om5vcm1hbCBub3JtYWwgbm9ybWFsIDE0cHgvMSB1bmltYXBidG47bGluZS1oZWlnaHQ6aW5oZXJpdDt0ZXh0LWFsaWduOmNlbnRlcjtmb250LXNpemU6MjRweDt0ZXh0LXJlbmRlcmluZzphdXRvOy13ZWJraXQtZm9udC1zbW9vdGhpbmc6YW50aWFsaWFzZWR9LnVuaS1zeXN0ZW0tY2hvb3NlLWxvY2F0aW9uIC5uYXZ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3dpZHRoOjEwMCU7aGVpZ2h0OjQ0cHg7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDApO2JhY2tncm91bmQtaW1hZ2U6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLHJnYmEoMCwwLDAsLjMpLHJnYmEoMCwwLDAsMCkpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDE4MGRlZyxyZ2JhKDAsMCwwLC4zKSxyZ2JhKDAsMCwwLDApKX0udW5pLXN5c3RlbS1jaG9vc2UtbG9jYXRpb24gLm5hdi1idG57cG9zaXRpb246YWJzb2x1dGU7Ym94LXNpemluZzpib3JkZXItYm94O3RvcDowO2xlZnQ6MDt3aWR0aDo2MHB4O2hlaWdodDo0NHB4O3BhZGRpbmc6NnB4O2xpbmUtaGVpZ2h0OjMycHg7Zm9udC1zaXplOjI2cHg7Y29sb3I6I2ZmZjt0ZXh0LWFsaWduOmNlbnRlcjtjdXJzb3I6cG9pbnRlcn0udW5pLXN5c3RlbS1jaG9vc2UtbG9jYXRpb24gLm5hdi1idG4uY29uZmlybXtsZWZ0OmF1dG87cmlnaHQ6MH0udW5pLXN5c3RlbS1jaG9vc2UtbG9jYXRpb24gLm5hdi1idG4uZGlzYWJsZXtvcGFjaXR5Oi40fS51bmktc3lzdGVtLWNob29zZS1sb2NhdGlvbiAubmF2LWJ0bj4udW5pLWJ0bi1pY29ue2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtsaW5lLWhlaWdodDppbmhlcml0O2JvcmRlci1yYWRpdXM6MnB4fS51bmktc3lzdGVtLWNob29zZS1sb2NhdGlvbiAubmF2LWJ0bi5jb25maXJtPi51bmktYnRuLWljb257YmFja2dyb3VuZC1jb2xvcjojMDA3YWZmfS51bmktc3lzdGVtLWNob29zZS1sb2NhdGlvbiAubWVudXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MzAwcHg7bGVmdDowO3dpZHRoOjEwMCU7Ym90dG9tOjA7YmFja2dyb3VuZC1jb2xvcjojZmZmfS51bmktc3lzdGVtLWNob29zZS1sb2NhdGlvbiAuc2VhcmNoe2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LW9yaWVudDpob3Jpem9udGFsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpyb3c7ZmxleC1kaXJlY3Rpb246cm93O2hlaWdodDo1MHB4O3BhZGRpbmc6OHB4O2xpbmUtaGVpZ2h0OjM0cHg7Ym94LXNpemluZzpib3JkZXItYm94O2JhY2tncm91bmQtY29sb3I6I2ZmZn0udW5pLXN5c3RlbS1jaG9vc2UtbG9jYXRpb24gLnNlYXJjaC1pbnB1dHstd2Via2l0LWJveC1mbGV4OjE7LXdlYmtpdC1mbGV4OjE7ZmxleDoxO2hlaWdodDoxMDAlO2JvcmRlci1yYWRpdXM6NXB4O3BhZGRpbmc6MCA1cHg7YmFja2dyb3VuZDojZWJlYmVifS51bmktc3lzdGVtLWNob29zZS1sb2NhdGlvbiAuc2VhcmNoLWJ0bnttYXJnaW4tbGVmdDo1cHg7Y29sb3I6IzAwN2FmZjtmb250LXNpemU6MTdweDt0ZXh0LWFsaWduOmNlbnRlcn0udW5pLXN5c3RlbS1jaG9vc2UtbG9jYXRpb24gLmxpc3R7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwcHg7bGVmdDowO3dpZHRoOjEwMCU7Ym90dG9tOjA7cGFkZGluZy1ib3R0b206MTBweH0udW5pLXN5c3RlbS1jaG9vc2UtbG9jYXRpb24gLmxpc3QtbG9hZGluZ3tkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDtoZWlnaHQ6NTBweDstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS51bmktc3lzdGVtLWNob29zZS1sb2NhdGlvbiAubGlzdC1pdGVte3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmc6MTBweDtwYWRkaW5nLXJpZ2h0OjQwcHg7Y3Vyc29yOnBvaW50ZXJ9LnVuaS1zeXN0ZW0tY2hvb3NlLWxvY2F0aW9uIC5saXN0LWl0ZW0uc2VsZWN0ZWQ6YmVmb3Jle3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7cmlnaHQ6MTBweDt3aWR0aDozMHB4O2hlaWdodDozMHB4O21hcmdpbi10b3A6LTE1cHg7dGV4dC1hbGlnbjpjZW50ZXI7Y29udGVudDoiXGU2NTEiO2ZvbnQ6bm9ybWFsIG5vcm1hbCBub3JtYWwgMTRweC8xIHVuaWJ0bjtmb250LXNpemU6MjRweDtsaW5lLWhlaWdodDozMHB4O2NvbG9yOiMwMDdhZmY7dGV4dC1yZW5kZXJpbmc6YXV0bzstd2Via2l0LWZvbnQtc21vb3RoaW5nOmFudGlhbGlhc2VkfS51bmktc3lzdGVtLWNob29zZS1sb2NhdGlvbiAubGlzdC1pdGVtOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXJ7cG9zaXRpb246YWJzb2x1dGU7Y29udGVudDoiIjtoZWlnaHQ6MXB4O2xlZnQ6MTBweDtib3R0b206MDt3aWR0aDoxMDAlO2JhY2tncm91bmQtY29sb3I6I2QzZDNkM30udW5pLXN5c3RlbS1jaG9vc2UtbG9jYXRpb24gLmxpc3QtaXRlbS10aXRsZXtmb250LXNpemU6MTRweDtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXN9LnVuaS1zeXN0ZW0tY2hvb3NlLWxvY2F0aW9uIC5saXN0LWl0ZW0tZGV0YWlse2ZvbnQtc2l6ZToxMnB4O2NvbG9yOmdyZXk7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfUBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ODAwcHgpey51bmktc3lzdGVtLWNob29zZS1sb2NhdGlvbiAubWFwe3RvcDowO2hlaWdodDoxMDAlfS51bmktc3lzdGVtLWNob29zZS1sb2NhdGlvbiAubWFwLW1vdmV7Ym90dG9tOjEwcHg7cmlnaHQ6MzIwcHh9LnVuaS1zeXN0ZW0tY2hvb3NlLWxvY2F0aW9uIC5tZW51e3RvcDo1NHB4O2xlZnQ6YXV0bztyaWdodDoxMHB4O3dpZHRoOjMwMHB4O2JvdHRvbToxMHB4O21heC1oZWlnaHQ6NjAwcHg7Ym94LXNoYWRvdzowIDAgMjBweCA1cHggcmdiYSgwLDAsMCwuMyl9fS51bmktc3lzdGVtLW9wZW4tbG9jYXRpb257ZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7dG9wOjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtiYWNrZ3JvdW5kOiNmOGY4Zjg7ei1pbmRleDo5OTl9LnVuaS1zeXN0ZW0tb3Blbi1sb2NhdGlvbiAubWFwe3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt3aWR0aDoxMDAlO2JvdHRvbTo4MHB4O2hlaWdodDphdXRvfS51bmktc3lzdGVtLW9wZW4tbG9jYXRpb24gLmluZm97cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjA7bGVmdDowO3dpZHRoOjEwMCU7aGVpZ2h0OjgwcHg7YmFja2dyb3VuZC1jb2xvcjojZmZmO3BhZGRpbmc6MTVweDtib3gtc2l6aW5nOmJvcmRlci1ib3g7bGluZS1oZWlnaHQ6MS41fS51bmktc3lzdGVtLW9wZW4tbG9jYXRpb24gLmluZm8+Lm5hbWV7Zm9udC1zaXplOjE3cHg7Y29sb3I6IzExMX0udW5pLXN5c3RlbS1vcGVuLWxvY2F0aW9uIC5pbmZvPi5hZGRyZXNze2ZvbnQtc2l6ZToxNHB4O2NvbG9yOiM2NjZ9LnVuaS1zeXN0ZW0tb3Blbi1sb2NhdGlvbiAuaW5mbz4ubmF2e3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7cmlnaHQ6MTVweDt3aWR0aDo1MHB4O2hlaWdodDo1MHB4O2JvcmRlci1yYWRpdXM6NTAlO21hcmdpbi10b3A6LTI1cHg7YmFja2dyb3VuZC1jb2xvcjojMDA3YWZmfS51bmktc3lzdGVtLW9wZW4tbG9jYXRpb24gLmluZm8+Lm5hdj5zdmd7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3BhZGRpbmc6MTBweDtib3gtc2l6aW5nOmJvcmRlci1ib3h9LnVuaS1zeXN0ZW0tb3Blbi1sb2NhdGlvbiAubWFwLW1vdmV7cG9zaXRpb246YWJzb2x1dGU7Ym90dG9tOjUwcHg7cmlnaHQ6MTBweDt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtsaW5lLWhlaWdodDo0MHB4O2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXItcmFkaXVzOjUwJTtwb2ludGVyLWV2ZW50czphdXRvO2N1cnNvcjpwb2ludGVyO2JveC1zaGFkb3c6MCAwIDVweCAxcHggcmdiYSgwLDAsMCwuMyl9LnVuaS1zeXN0ZW0tb3Blbi1sb2NhdGlvbiAubWFwLW1vdmU+aXtkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7Zm9udDpub3JtYWwgbm9ybWFsIG5vcm1hbCAxNHB4LzEgdW5pbWFwYnRuO2xpbmUtaGVpZ2h0OmluaGVyaXQ7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC1zaXplOjI0cHg7dGV4dC1yZW5kZXJpbmc6YXV0bzstd2Via2l0LWZvbnQtc21vb3RoaW5nOmFudGlhbGlhc2VkfS51bmktc3lzdGVtLW9wZW4tbG9jYXRpb24gLm5hdi1idG4tYmFja3twb3NpdGlvbjphYnNvbHV0ZTtib3gtc2l6aW5nOmJvcmRlci1ib3g7dG9wOjA7bGVmdDowO3dpZHRoOjQ0cHg7aGVpZ2h0OjQ0cHg7cGFkZGluZzo2cHg7bGluZS1oZWlnaHQ6MzJweDtmb250LXNpemU6MjZweDtjb2xvcjojZmZmO3RleHQtYWxpZ246Y2VudGVyO2N1cnNvcjpwb2ludGVyfS51bmktc3lzdGVtLW9wZW4tbG9jYXRpb24gLm5hdi1idG4tYmFjaz4udW5pLWJ0bi1pY29ue2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtsaW5lLWhlaWdodDppbmhlcml0O2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNSl9LnVuaS1zeXN0ZW0tb3Blbi1sb2NhdGlvbiAubWFwLWNvbnRlbnR7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO3dpZHRoOjEwMCU7Ym90dG9tOjA7b3ZlcmZsb3c6aGlkZGVufS51bmktc3lzdGVtLW9wZW4tbG9jYXRpb24gLm1hcC1jb250ZW50LmZpeC1wb3NpdGlvbnt0b3A6LTc0cHg7Ym90dG9tOi00NHB4fS51bmktc3lzdGVtLW9wZW4tbG9jYXRpb24gLm1hcC1jb250ZW50PmlmcmFtZXt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JvcmRlcjpub25lfS51bmktc3lzdGVtLW9wZW4tbG9jYXRpb24gLmFjdFRvbmF2e3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjE2cHg7Ym90dG9tOjU2cHg7d2lkdGg6NjBweDtoZWlnaHQ6NjBweDtib3JkZXItcmFkaXVzOjYwcHh9dW5pLWF1ZGlve2Rpc3BsYXk6bm9uZX11bmktYXVkaW9bY29udHJvbHNde2Rpc3BsYXk6aW5saW5lLWJsb2NrfXVuaS1hdWRpb1toaWRkZW5de2Rpc3BsYXk6bm9uZX0udW5pLWF1ZGlvLWRlZmF1bHR7bWF4LXdpZHRoOjEwMCU7bWluLXdpZHRoOjMwMnB4O2hlaWdodDo2NXB4O2JhY2tncm91bmQ6I2ZjZmNmYztib3JkZXI6MXB4IHNvbGlkICNlMGUwZTA7Ym9yZGVyLXJhZGl1czoyLjVweDtkaXNwbGF5OmlubGluZS1ibG9jaztvdmVyZmxvdzpoaWRkZW59LnVuaS1hdWRpby1sZWZ0e3dpZHRoOjY1cHg7aGVpZ2h0OjY1cHg7ZmxvYXQ6bGVmdDtiYWNrZ3JvdW5kLWNvbG9yOiNlNmU2ZTY7YmFja2dyb3VuZC1zaXplOjEwMCUgMTAwJTtiYWNrZ3JvdW5kLXBvc2l0aW9uOjUwJSA1MCV9LnVuaS1hdWRpby1idXR0b257d2lkdGg6MjRweDtoZWlnaHQ6MjRweDttYXJnaW46MjAuNXB4O2JhY2tncm91bmQtc2l6ZTpjb3Zlcn0udW5pLWF1ZGlvLWJ1dHRvbi5wbGF5e2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBREFBQUFBd0NBWUFBQUJYQXZtSEFBQUFBWE5TUjBJQXJzNGM2UUFBQjRkSlJFRlVhQVhOV2cxTWxWVVl2cGNmSVJDSitNbkNhT0JsOGRPY09DRVFaOWttSTVjUUc1WWI2TWlmS2JNYUdWb2JPdGxpYlRXSERwZ3B4QlV3RjA3ODI2aUZzTWtZSmhnNTU5SmRHaVFTa1V6U0JBMFFrWjduNC91K25Yc3Z3ZjNqd3J1OTkveS8zL04rM3pudmVjOTdybGJqQUJvZkgzOEdZdGFBVjRNandEcXdIOWdIVEJvRTN3ZDNnQTNnaStCNnJWWTdoSFIyQ0tEOXdGbmdzK0JIWUd1Sll6aVdNcWlzY3dnUDh3THZCUStBSFVXVVJabGUxbXFodFhRQWhMdWk3eFp3UHZnRnNCRU5EZzcrRHJwMDY5YXQyejA5UGYwM2I5Nzh1Nm1wcVorZFZxMWFGUkFWRmVXL2FOR2lnTkRRMEpmRHdzSVNmWHg4d293RVRCVCtRcElQTHNmMEdwdW9tdnJYSWdVQVBoaGl6b0dYaStJSSt0cTFhei9vOWZwTEZSVVZkOFMyNmZKWldWa0xOMi9lbkJnVEUvUFcvUG56RjV2MGIwUDVIU2p4cDBtOVdYRmFCUUQrTll3NkMxYmYrdkR3Y0Y5RFE0TisvZnIxOWNpUG0wbTFvc0xUMDFONzZ0U3BOYUQzUFR3OEZncEQrVFhTb0VTclVHZVduVklCZ00vRWlES3dKMGVpUE5yUzBuSnN3NFlOTmQzZDNhT3NjeFNGaElTNFYxZFhweWNrSkdSQjVqeFo3akRTYlZEaVc3bHNscmlZMWNnVk12ampLRXJnUjBkSC96bDA2TkN1RlN0V2ZPZG84SHdrWlZMMndZTUhQM255NUFsTkxvblBQaTVqa1NwTWZ5YjlBaGpBYWRNSWxzQmpybmRtWjJmbm5UaHhvczlVd0V5VU16SXluajl5NUVnQjFnYjNFeEsveEJ1VFRTY3pCUUNlQy9abnNEVG5DUjZmOVlNYk4yNVFpTk1vT2pyYXM3VzF0Y2piMnp0Y2ZpalhSS3pwd2phYVFnQlBVMGxySTRIbnRPR2Jkelo0QXVZenQyL2Z2bTlzYk93ZXl5QmlPaWRqbENyNFk2UUF5clR6a3FsRXg5R1NrcEo5enBvMkJHTktmSFpSVWRGKzFEK1cyNGlOR0ZWU3B4QUFjeGVrcnlLOS9jdVhMeC9Gb3FwV2U4NWlCbFBwdmJpNHVCMHlCRTRsSGFiU3Z5eUxYMkFYeWhKNDJubVl5dFBzTUJjSSs4MFpXS1plR1FzeEVxdEVrZ0o0KzNTbTlzaDFHbTVTTTJFcUZmbldwc1JTVjFkWElZemJJMk5XdjBBcUdpWFhsKzRCZDFpaHMwWFp1M2Z2SGhnWUdOQlhWVlVsV0RUQXlrN3A2ZWtOSXlNajdmSXdZaVZtSXdXa052bzJ0cmdIQVFFQnkrQ2doVzdjdVBHTHZyNitMM2Z1M1BtU0pOQkJQOFIwOWVyVkh3VnhFd3JnVS9Bd2txUTAwREZUOGxhbXFrRUlDZ3FLS3k0dTFzTVU3bGk2ZEtuVkx2TC9QYmUwdExSRmFFc2lkaTErVWxCNW5nM2N0QllzV0xCVjZHUnhGbko0eWpJajdDWDM2dXZyUzFOVFUrdXdFTTNhcmEzQWwvZ2FUbCtFUEM2VmkvaE5SVWhIUjhkUFN0NVJxYnU3KzNOcjE2NzlyTCsvLzNCQlFZSHlZSnZGZDNWMWlUTmtOUlY0UlpGMkc2VGtIWjM2K3ZwRzV1WGxIY2FoNTlQazVHU2JqNUFZM3kxZ2k2QUNpc09rNFVsS2FKeUpyQlluc3VUYTJ0cmp6YzNONy9yNys5TjFzWW82T3pzZkNBTjBWRUI5R3p3R0NvMHpsblYxZGZWT1RFek1objNYbDVlWHgxcnpJQk9NZmxSQXN2OFVvcHhoclJGb1QxOHZMNjhRSEN1L2FtOXZ6N0ZVamdsR0h5b3c2eFFjSEJ4akt3Z3F3S0NUUkl3ZUtIbG5wWmhHRGZDN0xQNENKaGdIM1FDVXh6ZC9BbWJvQTBrUDh6Tk5jRHQrdzhaVXZIdjM3bCt0ZWRhU0pVdWVGZnJmcHdKMG9TVkx4TGlOMERnaldXeHNEeG9iRzc5SlNVbjUzaGFYUmFmVCtRckFPamlGREVvRmcwNUszdEVwZHVveGc4RndldVhLbFJsSlNVbTF0b0FucHZEd2NCNTVGVEpRQWRVRllNUk1hWEZraWwzNGw5emMzSzJSa1pFbFY2NWNlV1NQYkN6NDE0WHhGNmtBWFdmcGRNTndIeU5tUWdlN3NrTkRRM2RPbmp5NVB6QXdNTGV3c0xETExtRVlESk1iNU9ibUZpWExJZVo2Rnh6TkdPSytJRmV5azkxZjRlblRweU50YlczSElpSWlOc0hDTkNteTdVMXpjbktXQ1RJdUVEdS9BT244UktMUk1GYkpjSjlTdGpSbEJJTjk0WTQwWm1abWJvcU5qYTNpU2NyUzhkUDFJeWFFV3Q0VytrbVlhWVZJTEhBLzhHR2dsYkhLZGV2V3FWK0ZIYVlqT0dvZnc4MTFoY2ZaT1YxZlc5cHh6RTF3Y1hHSmxzY1NxNlNBK3FaaEpmYWk4bk4yd05IdERoYjBwdDdlWG9lOVFjcTFsUmczaFJ2TmtMdHl5dHVIZkFIbEtWT0krVUl3UXhZYVJvbHJhbXJTbVo4TGhMZWZKSUFuUm1LVlNGVUFIYmlxOHllcU5ScEdpV0U1WGxYS3M1V1dsWlV0aHUzL1NIaCt2b3hWcWxLbkVFdVlSdlRQZWU1Y3pqS2p4RENyMmJNVm5ZTkY5SU83ZlJSUUFva0h4SXVQZUNpZzN0NFlLY0FlVUNJWWlScmNmZmp3WVVkOGZQeUh6bzZQd3VKNFhMOSsvUUFXcmpJTE9IV21EdTVTQVdqSGE1MDBzQlNOWm9pYlVXS0d2Tm51RE9LYk53RlBMTHl0SVRZalV0ZUFXSXVPdk5iWnB0UXh4RjFaV1huWUdXdUNjNTdUUm5qemhNRmJHbUl5STdNcEpQYkFkTXBFdVF6c0tkYy9oaStqVDB0TE8rTm9FMHRUU1dzakw5aDU4dlA0NXFlOFlwcFNBUXFCRW1hWGZBeTBNbGJKY0ordFhxVU1VTU1kbHBzVUl1RTc4SllWTzg5bXpubjdMdm1VaDhnTCt4ektrblZTNmhtclpMaVBFVE5ycjFucG1ORzNvWHNnN0xDS2FGb2J4MXl6S2hLaEJFM3NGbkErbUNGdUk0SXlCdXlXellqYi9NSFFoK2xGTjA5U1BJeGdpcnhJbHhoZXBlSVdpSEw0MXZQQkZsOTBpNE10eWtPUk9mVlhBNHRBVDlZSmlzeUpQM3RNdTRnbkEyOWFCMlVZNFY0RFhnMW0vRk1IOWdNck1TZDZqd3dlOFB4dEFQTVU2SkMvMi93SHV5STJjTXNOQlJJQUFBQUFTVVZPUks1Q1lJST0pfS51bmktYXVkaW8tYnV0dG9uLnBhdXNle2JhY2tncm91bmQtaW1hZ2U6dXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBREFBQUFBd0NBWUFBQUJYQXZtSEFBQUFBWE5TUjBJQXJzNGM2UUFBQmF0SlJFRlVhQVhWV2wxSXBGVVlubGxaR1VmM3dsejZNWEVSMUVTN3M4M1ZVREp3NktwZGFTVER3TW5ZRlNLNktOaXJvb0h1bGxLUUNOelFSalovd29tMXU5QUxRMG1UMWt0RmRFQldYTGRpYmFIMWp3bXg1em1lODNXK3oySG0rN2JabWM4WDNqbC83M3ZPODM3bi96M2o5YVNCam82TzhsQk5DN2daWEFVdUJ4ZUN6NEZKajhBUHdUSHdDbmdhUE9YMWV2Y1Jab2NBdWhBY0F0OEc3NEtkRW5Xb3l6cG9iR1lJamZuQm40RC9CcWVMV0JmcjlEdTF3bXRYQVpYblFQWTljQmo4SE5oRWUzdDdzYlcxdGZuMTlmVzdtNXViRDVhWGw3ZG5abVllVUtpcHFlbDhkWFYxVVVsSnlmbXlzcklMRlJVVjlYNi9uOFBNU3ZlUkVRWVBZSGdkV2dzVHBXMFpBUERQUTNrQy9KSmVDVUV2TGk3K05EZzQrRXNrRXZsZEwwc1ZENFZDejNaMWRiMVNXMXY3ZWdKajdrRC9Db3k0bDZxZWxBWUFmQjBxdVEwMnZubzhIcjgvT1RrWmFXdHJtem80T0RoSzFVaXljcC9QNXgwZkgyOEpCQUtoM054Y293M29zRGRhWWNSQ012MmtCZ0Q4TzFEK0J1eVRsY1RuNStjajdlM3QwWTJOalgrU1ZleTByTFMwOU96WTJGaXd2cjQrQk4xY3FYK0E4Q3FNK0U2bVR3Um5UdVRJREFuK0ZwSUMvT0hoNFYrOXZiMGZOelEwaktZYlBKdGtuYXliYmJBdENZTnQzNUpZWkpZNVNOZ0RjdGo4REZFQmZuZDNkNjI3dS92VDRlSGhQOHpxVHliVjBkSHhUSDkvLytmNStma1ZzZ1gyeEt1Smh0TUpBd0NlRS9ZM3NCaVBCRjlYVi9maDB0SVNLOGtZMWRUVStCWVdGdm8wSXpnbkxsb250bWtJQVR5WFNxNDJBank3a2w4KzArRDVsZGdtMjlhR0V6Rk5TSXdVRVdReUFEbGM1OVZTR2UvcjYvc3NVOFBtR0k3NWwyMFRBM0xqc29UWWlORWdZd2pCTXU2Q1BLdUlyNC9WcGgrVGFzeVF6R0prYm03dWJheE8xeVFFRHFWeURLVTlwdlVlK0FocEFaN3JQSmJLSHlqZ0J1S3lUVXdTQ3pFU3F5QmhBTDQrRDFQWFpaNkhtOVNUV0NwVi9VNURZaUVtVGUrNnhPd1JRd2lKRUFxL3BRQ1BCMFZGUmRmKzd3N0x1dEpKM0xHM3Q3ZHZhc2VPZHpHTUltb0lYVmFOOFd6ak52REVSa3pFcG5BaUZKalA0T3Z6TWhKUUJUeVlxYmpkRURvdjcrL3ZmNCs2cHUwd1pRY0dCaTdhclYvSldiQUZpTjJMbnpjZzhDT0Z1R2tWRkJTbzJhNzBVb1lFaEM1K09xV2dKb0F2K21kZVh0NWJXcGF0Nk03T3prMXRjN3ZNSWZTYTBseGRYZjFWeFoyRVRzR3o3c2ZSb1Y0c0Z0TXhOdE9BRjFoQXVnczZqcm4zbHhjbURWMFZEVEJ1UnJ4SmFZV3VqRm93bHRNQTQwTE5hNkFyVVd1Z0xCZ0xhWUJ5ZlhqVUhWYVRkMTNVZ3ZFY0RUalZSQVBvZEJKRTc0R0t1elcwWUh4RUErZ3hFMFRYaDRxN05iUmdmRWdEZUlRV1JMK05pcnMxdEdDTTBZQVZCWlpPSnhWM2EyakJ1RUlEcGhWWWVzeFUzRW5JWTRFVGVjbytqZzcxTEJpbmFjQVVXTnh1ZUZTbHg0eUNUbWgwZFBSTEo0QW9Pekl5OG9XVE5paExiTnB4bXBpbjFIMkFucmNyRkpxZG5mMEtNOTAxdHpGaVVvUTk0TTNHeHNZUFpIb0M5NEZXOWdCSm5FWVpvYThTQnkxaEdOTnVJV0lpTmcyUHdLd2JJUFlEZGhGOWxacWdLNkxFcEEwZll2M1BBSFFGOTRJYkNpa2RyY1hGeFdkVk90c2gvYWJFcE9HNElUR2J2Qkk5RUJBM2YzcUpvOUZvVUZQSWFwUk9YODF6VFl6RUtrZ05JUThzNHF3T0gyZDdQUFFTOS9UMHZLalMyUXFKUVhxc0ZZU3d4Q3JTcHNtSzZ5VmRpN3p4MEFQbW9WdXZzN1B6L1d4NTUramtIUm9hK2pvbkorY3A0Z0hkQVYrQ0FjYnJqY2tBU3NDSTArdmNwUUd3N2g2Q1ZyRHdSdk1DVFM4eHZ3YkxNMEZzeStLWkpoYSsxaENiaVl3NW9PZENrTTg2VjFVZWpXQlhabUpPc0EyMnBYa2VDSU92TkFtZm1rNE1JUVdhSVlaVHdpZW1ZREFZM2RyYWNzVVRVMUlEcEJHbjk1RlA5WWFjMktmem1WVXpna3NzSHhmQ1lPR0dSMmdRdlhwMGpORzNsT3loK3dLb3NyTHlrbVdNcTNxNFNZWEJ0aCs2bGFMdEVMM2hxcjhhMkFadUZZUWhydml6UjhwSmJBV2VLQTFqNk9GdUFUZURxOEQwOWhXQ2xjK0pwMGNlR0huLzVoV1d0OEMwL04zbVgxNUM0YkRuQ0l1QUFBQUFBRWxGVGtTdVFtQ0MpfS51bmktYXVkaW8tcmlnaHR7Ym94LXNpemluZzpib3JkZXItYm94O2hlaWdodDo2NXB4O21hcmdpbi1sZWZ0OjY1cHg7cGFkZGluZzoxMXB4IDE2LjVweCAxMy41cHggMTVweDtvdmVyZmxvdzpoaWRkZW59LnVuaS1hdWRpby10aW1le21hcmdpbi10b3A6My41cHg7aGVpZ2h0OjE2LjVweDtmb250LXNpemU6MTJweDtjb2xvcjojODg4O2Zsb2F0OnJpZ2h0fS51bmktYXVkaW8taW5mb3ttYXJnaW4tcmlnaHQ6NzBweDtvdmVyZmxvdzpoaWRkZW59LnVuaS1hdWRpby1uYW1le2hlaWdodDoyMi41cHg7bGluZS1oZWlnaHQ6MjIuNXB4O21hcmdpbi1ib3R0b206My41cHg7Zm9udC1zaXplOjE0cHg7Y29sb3I6IzM1MzUzNX0udW5pLWF1ZGlvLWF1dGhvciwudW5pLWF1ZGlvLW5hbWV7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS51bmktYXVkaW8tYXV0aG9ye2hlaWdodDoxNC41cHg7bGluZS1oZWlnaHQ6MTQuNXB4O2ZvbnQtc2l6ZToxMnB4O2NvbG9yOiM4ODh9dW5pLWJ1dHRvbntwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmJsb2NrO21hcmdpbi1sZWZ0OmF1dG87bWFyZ2luLXJpZ2h0OmF1dG87cGFkZGluZy1sZWZ0OjE0cHg7cGFkZGluZy1yaWdodDoxNHB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtmb250LXNpemU6MThweDt0ZXh0LWFsaWduOmNlbnRlcjt0ZXh0LWRlY29yYXRpb246bm9uZTtsaW5lLWhlaWdodDoyLjU1NTU1NTU2O2JvcmRlci1yYWRpdXM6NXB4Oy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDtvdmVyZmxvdzpoaWRkZW47Y29sb3I6IzAwMDtiYWNrZ3JvdW5kLWNvbG9yOiNmOGY4Zjg7Y3Vyc29yOnBvaW50ZXJ9dW5pLWJ1dHRvbltoaWRkZW5de2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9dW5pLWJ1dHRvbjphZnRlcntjb250ZW50OiIgIjt3aWR0aDoyMDAlO2hlaWdodDoyMDAlO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjIpOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKC41KTt0cmFuc2Zvcm06c2NhbGUoLjUpOy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjowIDA7dHJhbnNmb3JtLW9yaWdpbjowIDA7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlci1yYWRpdXM6MTBweH11bmktYnV0dG9uW25hdGl2ZV17cGFkZGluZy1sZWZ0OjA7cGFkZGluZy1yaWdodDowfXVuaS1idXR0b25bbmF0aXZlXSAudW5pLWJ1dHRvbi1jb3Zlci12aWV3LXdyYXBwZXJ7Ym9yZGVyOmluaGVyaXQ7Ym9yZGVyLWNvbG9yOmluaGVyaXQ7Ym9yZGVyLXJhZGl1czppbmhlcml0O2JhY2tncm91bmQtY29sb3I6aW5oZXJpdH11bmktYnV0dG9uW25hdGl2ZV0gLnVuaS1idXR0b24tY292ZXItdmlldy1pbm5lcntwYWRkaW5nLWxlZnQ6MTRweDtwYWRkaW5nLXJpZ2h0OjE0cHh9dW5pLWJ1dHRvbiB1bmktY292ZXItdmlld3tsaW5lLWhlaWdodDppbmhlcml0O3doaXRlLXNwYWNlOmluaGVyaXR9dW5pLWJ1dHRvblt0eXBlPWRlZmF1bHRde2NvbG9yOiMwMDA7YmFja2dyb3VuZC1jb2xvcjojZjhmOGY4fXVuaS1idXR0b25bdHlwZT1wcmltYXJ5XXtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzAwN2FmZn11bmktYnV0dG9uW3R5cGU9d2Fybl17Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiNlNjQzNDB9dW5pLWJ1dHRvbltkaXNhYmxlZF17Y29sb3I6aHNsYSgwLDAlLDEwMCUsLjYpO2N1cnNvcjpub3QtYWxsb3dlZH11bmktYnV0dG9uW2Rpc2FibGVkXTpub3QoW3R5cGVdKSx1bmktYnV0dG9uW2Rpc2FibGVkXVt0eXBlPWRlZmF1bHRde2NvbG9yOnJnYmEoMCwwLDAsLjMpO2JhY2tncm91bmQtY29sb3I6I2Y3ZjdmN311bmktYnV0dG9uW2Rpc2FibGVkXVt0eXBlPXByaW1hcnlde2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDEyMiwyNTUsLjYpfXVuaS1idXR0b25bZGlzYWJsZWRdW3R5cGU9d2Fybl17YmFja2dyb3VuZC1jb2xvcjojZWM4Yjg5fXVuaS1idXR0b25bdHlwZT1wcmltYXJ5XVtwbGFpbl17Y29sb3I6IzAwN2FmZjtib3JkZXI6MXB4IHNvbGlkICMwMDdhZmY7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDApfXVuaS1idXR0b25bdHlwZT1wcmltYXJ5XVtwbGFpbl1bZGlzYWJsZWRde2NvbG9yOnJnYmEoMCwwLDAsLjIpO2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLC4yKX11bmktYnV0dG9uW3R5cGU9cHJpbWFyeV1bcGxhaW5dOmFmdGVye2JvcmRlci13aWR0aDowfXVuaS1idXR0b25bdHlwZT1kZWZhdWx0XVtwbGFpbl17Y29sb3I6IzM1MzUzNTtib3JkZXI6MXB4IHNvbGlkICMzNTM1MzU7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDApfXVuaS1idXR0b25bdHlwZT1kZWZhdWx0XVtwbGFpbl1bZGlzYWJsZWRde2NvbG9yOnJnYmEoMCwwLDAsLjIpO2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLC4yKX11bmktYnV0dG9uW3R5cGU9ZGVmYXVsdF1bcGxhaW5dOmFmdGVye2JvcmRlci13aWR0aDowfXVuaS1idXR0b25bcGxhaW5de2NvbG9yOiMzNTM1MzU7Ym9yZGVyOjFweCBzb2xpZCAjMzUzNTM1O2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwKX11bmktYnV0dG9uW3BsYWluXVtkaXNhYmxlZF17Y29sb3I6cmdiYSgwLDAsMCwuMik7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsLjIpfXVuaS1idXR0b25bcGxhaW5dOmFmdGVye2JvcmRlci13aWR0aDowfXVuaS1idXR0b25bcGxhaW5dW25hdGl2ZV0gLnVuaS1idXR0b24tY292ZXItdmlldy1pbm5lcntwYWRkaW5nOjB9dW5pLWJ1dHRvblt0eXBlPXdhcm5dW3BsYWluXXtjb2xvcjojZTY0MzQwO2JvcmRlcjoxcHggc29saWQgI2U2NDM0MDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMCl9dW5pLWJ1dHRvblt0eXBlPXdhcm5dW3BsYWluXVtkaXNhYmxlZF17Y29sb3I6cmdiYSgwLDAsMCwuMik7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsLjIpfXVuaS1idXR0b25bdHlwZT13YXJuXVtwbGFpbl06YWZ0ZXJ7Ym9yZGVyLXdpZHRoOjB9dW5pLWJ1dHRvbltzaXplPW1pbmlde2Rpc3BsYXk6aW5saW5lLWJsb2NrO2xpbmUtaGVpZ2h0OjIuMztmb250LXNpemU6MTNweDtwYWRkaW5nOjAgMS4zNGVtfXVuaS1idXR0b25bc2l6ZT1taW5pXVtuYXRpdmVde3BhZGRpbmc6MH11bmktYnV0dG9uW3NpemU9bWluaV1bbmF0aXZlXSAudW5pLWJ1dHRvbi1jb3Zlci12aWV3LWlubmVye3BhZGRpbmc6MCAxLjM0ZW19dW5pLWJ1dHRvbltsb2FkaW5nXTpub3QoW2Rpc2FibGVkXSl7Y3Vyc29yOnByb2dyZXNzfXVuaS1idXR0b25bbG9hZGluZ106YmVmb3Jle2NvbnRlbnQ6IiAiO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjE4cHg7aGVpZ2h0OjE4cHg7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtYW5pbWF0aW9uOnVuaS1sb2FkaW5nIDFzIHN0ZXBzKDEyKSBpbmZpbml0ZTthbmltYXRpb246dW5pLWxvYWRpbmcgMXMgc3RlcHMoMTIpIGluZmluaXRlO2JhY2tncm91bmQtc2l6ZToxMDAlfXVuaS1idXR0b25bbG9hZGluZ11bdHlwZT1wcmltYXJ5XXtjb2xvcjpoc2xhKDAsMCUsMTAwJSwuNik7YmFja2dyb3VuZC1jb2xvcjojMDA2MmNjfXVuaS1idXR0b25bbG9hZGluZ11bdHlwZT1wcmltYXJ5XVtwbGFpbl17Y29sb3I6IzAwN2FmZjtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMCl9dW5pLWJ1dHRvbltsb2FkaW5nXVt0eXBlPWRlZmF1bHRde2NvbG9yOnJnYmEoMCwwLDAsLjYpO2JhY2tncm91bmQtY29sb3I6I2RlZGVkZX11bmktYnV0dG9uW2xvYWRpbmddW3R5cGU9ZGVmYXVsdF1bcGxhaW5de2NvbG9yOiMzNTM1MzU7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDApfXVuaS1idXR0b25bbG9hZGluZ11bdHlwZT13YXJuXXtjb2xvcjpoc2xhKDAsMCUsMTAwJSwuNik7YmFja2dyb3VuZC1jb2xvcjojY2UzYzM5fXVuaS1idXR0b25bbG9hZGluZ11bdHlwZT13YXJuXVtwbGFpbl17Y29sb3I6I2U2NDM0MDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMCl9dW5pLWJ1dHRvbltsb2FkaW5nXVtuYXRpdmVdOmJlZm9yZXtjb250ZW50Om5vbmV9LmJ1dHRvbi1ob3Zlcntjb2xvcjpyZ2JhKDAsMCwwLC42KTtiYWNrZ3JvdW5kLWNvbG9yOiNkZWRlZGV9LmJ1dHRvbi1ob3ZlcltwbGFpbl17Y29sb3I6cmdiYSg1Myw1Myw1MywuNik7Ym9yZGVyLWNvbG9yOnJnYmEoNTMsNTMsNTMsLjYpO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwKX0uYnV0dG9uLWhvdmVyW3R5cGU9cHJpbWFyeV17Y29sb3I6aHNsYSgwLDAlLDEwMCUsLjYpO2JhY2tncm91bmQtY29sb3I6IzAwNjJjY30uYnV0dG9uLWhvdmVyW3R5cGU9cHJpbWFyeV1bcGxhaW5de2NvbG9yOnJnYmEoMCwxMjIsMjU1LC42KTtib3JkZXItY29sb3I6cmdiYSgwLDEyMiwyNTUsLjYpO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwKX0uYnV0dG9uLWhvdmVyW3R5cGU9ZGVmYXVsdF17Y29sb3I6cmdiYSgwLDAsMCwuNik7YmFja2dyb3VuZC1jb2xvcjojZGVkZWRlfS5idXR0b24taG92ZXJbdHlwZT1kZWZhdWx0XVtwbGFpbl17Y29sb3I6cmdiYSg1Myw1Myw1MywuNik7Ym9yZGVyLWNvbG9yOnJnYmEoNTMsNTMsNTMsLjYpO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwKX0uYnV0dG9uLWhvdmVyW3R5cGU9d2Fybl17Y29sb3I6aHNsYSgwLDAlLDEwMCUsLjYpO2JhY2tncm91bmQtY29sb3I6I2NlM2MzOX0uYnV0dG9uLWhvdmVyW3R5cGU9d2Fybl1bcGxhaW5de2NvbG9yOnJnYmEoMjMwLDY3LDY0LC42KTtib3JkZXItY29sb3I6cmdiYSgyMzAsNjcsNjQsLjYpO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwKX11bmktY2FudmFze3dpZHRoOjMwMHB4O2hlaWdodDoxNTBweDtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlfXVuaS1jYW52YXM+Y2FudmFze3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlfXVuaS1jaGVja2JveC1ncm91cFtoaWRkZW5de2Rpc3BsYXk6bm9uZX11bmktY2hlY2tib3h7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O2Rpc3BsYXk6aW5saW5lLWJsb2NrO2N1cnNvcjpwb2ludGVyfXVuaS1jaGVja2JveFtoaWRkZW5de2Rpc3BsYXk6bm9uZX11bmktY2hlY2tib3hbZGlzYWJsZWRde2N1cnNvcjpub3QtYWxsb3dlZH11bmktY2hlY2tib3ggLnVuaS1jaGVja2JveC13cmFwcGVye2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtZmxleDtkaXNwbGF5Oi13ZWJraXQtaW5saW5lLWJveDtkaXNwbGF5OmlubGluZS1mbGV4Oy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7dmVydGljYWwtYWxpZ246bWlkZGxlfXVuaS1jaGVja2JveCAudW5pLWNoZWNrYm94LWlucHV0e21hcmdpbi1yaWdodDo1cHg7LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmU7YXBwZWFyYW5jZTpub25lO291dGxpbmU6MDtib3JkZXI6MXB4IHNvbGlkICNkMWQxZDE7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6M3B4O3dpZHRoOjIycHg7aGVpZ2h0OjIycHg7cG9zaXRpb246cmVsYXRpdmV9QG1lZGlhIChob3Zlcjpob3Zlcil7dW5pLWNoZWNrYm94Om5vdChbZGlzYWJsZWRdKSAudW5pLWNoZWNrYm94LWlucHV0OmhvdmVye2JvcmRlci1jb2xvcjp2YXIoLS1IT1ZFUi1CRC1DT0xPUiwjMDA3YWZmKSFpbXBvcnRhbnR9fXVuaS1jaGVja2JveCAudW5pLWNoZWNrYm94LWlucHV0LnVuaS1jaGVja2JveC1pbnB1dC1jaGVja2Vke2NvbG9yOiMwMDdhZmZ9dW5pLWNoZWNrYm94IC51bmktY2hlY2tib3gtaW5wdXQudW5pLWNoZWNrYm94LWlucHV0LWNoZWNrZWQ6YmVmb3Jle2ZvbnQ6bm9ybWFsIG5vcm1hbCBub3JtYWwgMTRweC8xIHVuaTtjb250ZW50OiJcRUEwOCI7Zm9udC1zaXplOjIycHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTtsZWZ0OjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTQ4JSkgc2NhbGUoLjczKTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNDglKSBzY2FsZSguNzMpfXVuaS1jaGVja2JveCAudW5pLWNoZWNrYm94LWlucHV0LnVuaS1jaGVja2JveC1pbnB1dC1kaXNhYmxlZHtiYWNrZ3JvdW5kLWNvbG9yOiNlMWUxZTF9dW5pLWNoZWNrYm94IC51bmktY2hlY2tib3gtaW5wdXQudW5pLWNoZWNrYm94LWlucHV0LWRpc2FibGVkOmJlZm9yZXtjb2xvcjojYWRhZGFkfXVuaS1jaGVja2JveC1ncm91cHtkaXNwbGF5OmJsb2NrfS5xbC1jb250YWluZXJ7ZGlzcGxheTpibG9jaztwb3NpdGlvbjpyZWxhdGl2ZTtib3gtc2l6aW5nOmJvcmRlci1ib3g7LXdlYmtpdC11c2VyLXNlbGVjdDp0ZXh0O3VzZXItc2VsZWN0OnRleHQ7b3V0bGluZTpub25lO292ZXJmbG93OmhpZGRlbjt3aWR0aDoxMDAlO2hlaWdodDoyMDBweDttaW4taGVpZ2h0OjIwMHB4fS5xbC1jb250YWluZXJbaGlkZGVuXXtkaXNwbGF5Om5vbmV9LnFsLWNvbnRhaW5lciAucWwtZWRpdG9ye3Bvc2l0aW9uOnJlbGF0aXZlO2ZvbnQtc2l6ZTppbmhlcml0O2xpbmUtaGVpZ2h0OmluaGVyaXQ7Zm9udC1mYW1pbHk6aW5oZXJpdDttaW4taGVpZ2h0OmluaGVyaXQ7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtwYWRkaW5nOjA7b3ZlcmZsb3cteDpoaWRkZW47b3ZlcmZsb3cteTphdXRvOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDstd2Via2l0LXRvdWNoLWNhbGxvdXQ6bm9uZTstd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzp0b3VjaH0ucWwtY29udGFpbmVyIC5xbC1lZGl0b3I6Oi13ZWJraXQtc2Nyb2xsYmFye3dpZHRoOjAhaW1wb3J0YW50fS5xbC1jb250YWluZXIgLnFsLWVkaXRvci5zY3JvbGwtZGlzYWJsZWR7b3ZlcmZsb3c6aGlkZGVufS5xbC1jb250YWluZXIgLnFsLWltYWdlLW92ZXJsYXl7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7cG9zaXRpb246YWJzb2x1dGU7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlcjoxcHggZGFzaGVkICNjY2M7LXdlYmtpdC1ib3gtcGFjazpjZW50ZXI7LXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0ucWwtY29udGFpbmVyIC5xbC1pbWFnZS1vdmVybGF5IC5xbC1pbWFnZS1zaXple3Bvc2l0aW9uOmFic29sdXRlO3BhZGRpbmc6NHB4IDhweDt0ZXh0LWFsaWduOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Y29sb3I6Izg4ODtib3JkZXI6MXB4IHNvbGlkICNjY2M7Ym94LXNpemluZzpib3JkZXItYm94O29wYWNpdHk6Ljg7cmlnaHQ6NHB4O3RvcDo0cHg7Zm9udC1zaXplOjEycHg7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6YXV0b30ucWwtY29udGFpbmVyIC5xbC1pbWFnZS1vdmVybGF5IC5xbC1pbWFnZS10b29sYmFye3Bvc2l0aW9uOnJlbGF0aXZlO3RleHQtYWxpZ246Y2VudGVyO2JveC1zaXppbmc6Ym9yZGVyLWJveDtiYWNrZ3JvdW5kOiMwMDA7Ym9yZGVyLXJhZGl1czo1cHg7Y29sb3I6I2ZmZjtmb250LXNpemU6MDttaW4taGVpZ2h0OjI0cHg7ei1pbmRleDoxMDB9LnFsLWNvbnRhaW5lciAucWwtaW1hZ2Utb3ZlcmxheSAucWwtaW1hZ2UtdG9vbGJhciBzcGFue2Rpc3BsYXk6aW5saW5lLWJsb2NrO2N1cnNvcjpwb2ludGVyO3BhZGRpbmc6NXB4O2ZvbnQtc2l6ZToxMnB4O2JvcmRlci1yaWdodDoxcHggc29saWQgI2ZmZn0ucWwtY29udGFpbmVyIC5xbC1pbWFnZS1vdmVybGF5IC5xbC1pbWFnZS10b29sYmFyIHNwYW46bGFzdC1jaGlsZHtib3JkZXItcmlnaHQ6MH0ucWwtY29udGFpbmVyIC5xbC1pbWFnZS1vdmVybGF5IC5xbC1pbWFnZS10b29sYmFyIHNwYW4udHJpYW5nbGUtdXB7cGFkZGluZzowO3Bvc2l0aW9uOmFic29sdXRlO3RvcDotMTJweDtsZWZ0OjUwJTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGV4KC01MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGV4KC01MCUpO3dpZHRoOjA7aGVpZ2h0OjA7Ym9yZGVyLXdpZHRoOjZweDtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsMCkgcmdiYSgwLDAsMCwwKSAjMDAwIHJnYmEoMCwwLDAsMCl9LnFsLWNvbnRhaW5lciAucWwtaW1hZ2Utb3ZlcmxheSAucWwtaW1hZ2UtaGFuZGxle3Bvc2l0aW9uOmFic29sdXRlO2hlaWdodDoxMnB4O3dpZHRoOjEycHg7Ym9yZGVyLXJhZGl1czo1MCU7Ym9yZGVyOjFweCBzb2xpZCAjY2NjO2JveC1zaXppbmc6Ym9yZGVyLWJveDtiYWNrZ3JvdW5kOiNmZmZ9LnFsLWNvbnRhaW5lciBpbWd7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWF4LXdpZHRoOjEwMCV9LnFsLWNsaXBib2FyZCBwe21hcmdpbjowO3BhZGRpbmc6MH0ucWwtZWRpdG9ye2JveC1zaXppbmc6Ym9yZGVyLWJveDtoZWlnaHQ6MTAwJTtvdXRsaW5lOm5vbmU7b3ZlcmZsb3cteTphdXRvO3RhYi1zaXplOjQ7LW1vei10YWItc2l6ZTo0O3RleHQtYWxpZ246bGVmdDt3aGl0ZS1zcGFjZTpwcmUtd3JhcDt3b3JkLXdyYXA6YnJlYWstd29yZH0ucWwtZWRpdG9yPip7Y3Vyc29yOnRleHR9LnFsLWVkaXRvciBibG9ja3F1b3RlLC5xbC1lZGl0b3IgaDEsLnFsLWVkaXRvciBoMiwucWwtZWRpdG9yIGgzLC5xbC1lZGl0b3IgaDQsLnFsLWVkaXRvciBoNSwucWwtZWRpdG9yIGg2LC5xbC1lZGl0b3Igb2wsLnFsLWVkaXRvciBwLC5xbC1lZGl0b3IgcHJlLC5xbC1lZGl0b3IgdWx7bWFyZ2luOjA7cGFkZGluZzowO2NvdW50ZXItcmVzZXQ6bGlzdC0xIGxpc3QtMiBsaXN0LTMgbGlzdC00IGxpc3QtNSBsaXN0LTYgbGlzdC03IGxpc3QtOCBsaXN0LTl9LnFsLWVkaXRvciBvbD5saSwucWwtZWRpdG9yIHVsPmxpe2xpc3Qtc3R5bGUtdHlwZTpub25lfS5xbC1lZGl0b3IgdWw+bGk6YmVmb3Jle2NvbnRlbnQ6IlwyMDIyIn0ucWwtZWRpdG9yIHVsW2RhdGEtY2hlY2tlZD1mYWxzZV0sLnFsLWVkaXRvciB1bFtkYXRhLWNoZWNrZWQ9dHJ1ZV17cG9pbnRlci1ldmVudHM6bm9uZX0ucWwtZWRpdG9yIHVsW2RhdGEtY2hlY2tlZD1mYWxzZV0+bGkgKiwucWwtZWRpdG9yIHVsW2RhdGEtY2hlY2tlZD10cnVlXT5saSAqe3BvaW50ZXItZXZlbnRzOmFsbH0ucWwtZWRpdG9yIHVsW2RhdGEtY2hlY2tlZD1mYWxzZV0+bGk6YmVmb3JlLC5xbC1lZGl0b3IgdWxbZGF0YS1jaGVja2VkPXRydWVdPmxpOmJlZm9yZXtjb2xvcjojNzc3O2N1cnNvcjpwb2ludGVyO3BvaW50ZXItZXZlbnRzOmFsbH0ucWwtZWRpdG9yIHVsW2RhdGEtY2hlY2tlZD10cnVlXT5saTpiZWZvcmV7Y29udGVudDoiXDI2MTEifS5xbC1lZGl0b3IgdWxbZGF0YS1jaGVja2VkPWZhbHNlXT5saTpiZWZvcmV7Y29udGVudDoiXDI2MTAifS5xbC1lZGl0b3IgbGk6YmVmb3Jle2Rpc3BsYXk6aW5saW5lLWJsb2NrO3doaXRlLXNwYWNlOm5vd3JhcDt3aWR0aDoyZW19LnFsLWVkaXRvciBvbCBsaXtjb3VudGVyLXJlc2V0Omxpc3QtMSBsaXN0LTIgbGlzdC0zIGxpc3QtNCBsaXN0LTUgbGlzdC02IGxpc3QtNyBsaXN0LTggbGlzdC05O2NvdW50ZXItaW5jcmVtZW50Omxpc3QtMH0ucWwtZWRpdG9yIG9sIGxpOmJlZm9yZXtjb250ZW50OmNvdW50ZXIobGlzdC0wLGRlY2ltYWwpICIuICJ9LnFsLWVkaXRvciBvbCBsaS5xbC1pbmRlbnQtMXtjb3VudGVyLWluY3JlbWVudDpsaXN0LTF9LnFsLWVkaXRvciBvbCBsaS5xbC1pbmRlbnQtMTpiZWZvcmV7Y29udGVudDpjb3VudGVyKGxpc3QtMSxsb3dlci1hbHBoYSkgIi4gIn0ucWwtZWRpdG9yIG9sIGxpLnFsLWluZGVudC0xe2NvdW50ZXItcmVzZXQ6bGlzdC0yIGxpc3QtMyBsaXN0LTQgbGlzdC01IGxpc3QtNiBsaXN0LTcgbGlzdC04IGxpc3QtOX0ucWwtZWRpdG9yIG9sIGxpLnFsLWluZGVudC0ye2NvdW50ZXItaW5jcmVtZW50Omxpc3QtMn0ucWwtZWRpdG9yIG9sIGxpLnFsLWluZGVudC0yOmJlZm9yZXtjb250ZW50OmNvdW50ZXIobGlzdC0yLGxvd2VyLXJvbWFuKSAiLiAifS5xbC1lZGl0b3Igb2wgbGkucWwtaW5kZW50LTJ7Y291bnRlci1yZXNldDpsaXN0LTMgbGlzdC00IGxpc3QtNSBsaXN0LTYgbGlzdC03IGxpc3QtOCBsaXN0LTl9LnFsLWVkaXRvciBvbCBsaS5xbC1pbmRlbnQtM3tjb3VudGVyLWluY3JlbWVudDpsaXN0LTN9LnFsLWVkaXRvciBvbCBsaS5xbC1pbmRlbnQtMzpiZWZvcmV7Y29udGVudDpjb3VudGVyKGxpc3QtMyxkZWNpbWFsKSAiLiAifS5xbC1lZGl0b3Igb2wgbGkucWwtaW5kZW50LTN7Y291bnRlci1yZXNldDpsaXN0LTQgbGlzdC01IGxpc3QtNiBsaXN0LTcgbGlzdC04IGxpc3QtOX0ucWwtZWRpdG9yIG9sIGxpLnFsLWluZGVudC00e2NvdW50ZXItaW5jcmVtZW50Omxpc3QtNH0ucWwtZWRpdG9yIG9sIGxpLnFsLWluZGVudC00OmJlZm9yZXtjb250ZW50OmNvdW50ZXIobGlzdC00LGxvd2VyLWFscGhhKSAiLiAifS5xbC1lZGl0b3Igb2wgbGkucWwtaW5kZW50LTR7Y291bnRlci1yZXNldDpsaXN0LTUgbGlzdC02IGxpc3QtNyBsaXN0LTggbGlzdC05fS5xbC1lZGl0b3Igb2wgbGkucWwtaW5kZW50LTV7Y291bnRlci1pbmNyZW1lbnQ6bGlzdC01fS5xbC1lZGl0b3Igb2wgbGkucWwtaW5kZW50LTU6YmVmb3Jle2NvbnRlbnQ6Y291bnRlcihsaXN0LTUsbG93ZXItcm9tYW4pICIuICJ9LnFsLWVkaXRvciBvbCBsaS5xbC1pbmRlbnQtNXtjb3VudGVyLXJlc2V0Omxpc3QtNiBsaXN0LTcgbGlzdC04IGxpc3QtOX0ucWwtZWRpdG9yIG9sIGxpLnFsLWluZGVudC02e2NvdW50ZXItaW5jcmVtZW50Omxpc3QtNn0ucWwtZWRpdG9yIG9sIGxpLnFsLWluZGVudC02OmJlZm9yZXtjb250ZW50OmNvdW50ZXIobGlzdC02LGRlY2ltYWwpICIuICJ9LnFsLWVkaXRvciBvbCBsaS5xbC1pbmRlbnQtNntjb3VudGVyLXJlc2V0Omxpc3QtNyBsaXN0LTggbGlzdC05fS5xbC1lZGl0b3Igb2wgbGkucWwtaW5kZW50LTd7Y291bnRlci1pbmNyZW1lbnQ6bGlzdC03fS5xbC1lZGl0b3Igb2wgbGkucWwtaW5kZW50LTc6YmVmb3Jle2NvbnRlbnQ6Y291bnRlcihsaXN0LTcsbG93ZXItYWxwaGEpICIuICJ9LnFsLWVkaXRvciBvbCBsaS5xbC1pbmRlbnQtN3tjb3VudGVyLXJlc2V0Omxpc3QtOCBsaXN0LTl9LnFsLWVkaXRvciBvbCBsaS5xbC1pbmRlbnQtOHtjb3VudGVyLWluY3JlbWVudDpsaXN0LTh9LnFsLWVkaXRvciBvbCBsaS5xbC1pbmRlbnQtODpiZWZvcmV7Y29udGVudDpjb3VudGVyKGxpc3QtOCxsb3dlci1yb21hbikgIi4gIn0ucWwtZWRpdG9yIG9sIGxpLnFsLWluZGVudC04e2NvdW50ZXItcmVzZXQ6bGlzdC05fS5xbC1lZGl0b3Igb2wgbGkucWwtaW5kZW50LTl7Y291bnRlci1pbmNyZW1lbnQ6bGlzdC05fS5xbC1lZGl0b3Igb2wgbGkucWwtaW5kZW50LTk6YmVmb3Jle2NvbnRlbnQ6Y291bnRlcihsaXN0LTksZGVjaW1hbCkgIi4gIn0ucWwtZWRpdG9yIC5xbC1pbmRlbnQtMTpub3QoLnFsLWRpcmVjdGlvbi1ydGwpLC5xbC1lZGl0b3IgbGkucWwtaW5kZW50LTE6bm90KC5xbC1kaXJlY3Rpb24tcnRsKXtwYWRkaW5nLWxlZnQ6MmVtfS5xbC1lZGl0b3IgLnFsLWluZGVudC0xLnFsLWRpcmVjdGlvbi1ydGwucWwtYWxpZ24tcmlnaHQsLnFsLWVkaXRvciBsaS5xbC1pbmRlbnQtMS5xbC1kaXJlY3Rpb24tcnRsLnFsLWFsaWduLXJpZ2h0e3BhZGRpbmctcmlnaHQ6MmVtfS5xbC1lZGl0b3IgLnFsLWluZGVudC0yOm5vdCgucWwtZGlyZWN0aW9uLXJ0bCksLnFsLWVkaXRvciBsaS5xbC1pbmRlbnQtMjpub3QoLnFsLWRpcmVjdGlvbi1ydGwpe3BhZGRpbmctbGVmdDo0ZW19LnFsLWVkaXRvciAucWwtaW5kZW50LTIucWwtZGlyZWN0aW9uLXJ0bC5xbC1hbGlnbi1yaWdodCwucWwtZWRpdG9yIGxpLnFsLWluZGVudC0yLnFsLWRpcmVjdGlvbi1ydGwucWwtYWxpZ24tcmlnaHR7cGFkZGluZy1yaWdodDo0ZW19LnFsLWVkaXRvciAucWwtaW5kZW50LTM6bm90KC5xbC1kaXJlY3Rpb24tcnRsKSwucWwtZWRpdG9yIGxpLnFsLWluZGVudC0zOm5vdCgucWwtZGlyZWN0aW9uLXJ0bCl7cGFkZGluZy1sZWZ0OjZlbX0ucWwtZWRpdG9yIC5xbC1pbmRlbnQtMy5xbC1kaXJlY3Rpb24tcnRsLnFsLWFsaWduLXJpZ2h0LC5xbC1lZGl0b3IgbGkucWwtaW5kZW50LTMucWwtZGlyZWN0aW9uLXJ0bC5xbC1hbGlnbi1yaWdodHtwYWRkaW5nLXJpZ2h0OjZlbX0ucWwtZWRpdG9yIC5xbC1pbmRlbnQtNDpub3QoLnFsLWRpcmVjdGlvbi1ydGwpLC5xbC1lZGl0b3IgbGkucWwtaW5kZW50LTQ6bm90KC5xbC1kaXJlY3Rpb24tcnRsKXtwYWRkaW5nLWxlZnQ6OGVtfS5xbC1lZGl0b3IgLnFsLWluZGVudC00LnFsLWRpcmVjdGlvbi1ydGwucWwtYWxpZ24tcmlnaHQsLnFsLWVkaXRvciBsaS5xbC1pbmRlbnQtNC5xbC1kaXJlY3Rpb24tcnRsLnFsLWFsaWduLXJpZ2h0e3BhZGRpbmctcmlnaHQ6OGVtfS5xbC1lZGl0b3IgLnFsLWluZGVudC01Om5vdCgucWwtZGlyZWN0aW9uLXJ0bCksLnFsLWVkaXRvciBsaS5xbC1pbmRlbnQtNTpub3QoLnFsLWRpcmVjdGlvbi1ydGwpe3BhZGRpbmctbGVmdDoxMGVtfS5xbC1lZGl0b3IgLnFsLWluZGVudC01LnFsLWRpcmVjdGlvbi1ydGwucWwtYWxpZ24tcmlnaHQsLnFsLWVkaXRvciBsaS5xbC1pbmRlbnQtNS5xbC1kaXJlY3Rpb24tcnRsLnFsLWFsaWduLXJpZ2h0e3BhZGRpbmctcmlnaHQ6MTBlbX0ucWwtZWRpdG9yIC5xbC1pbmRlbnQtNjpub3QoLnFsLWRpcmVjdGlvbi1ydGwpLC5xbC1lZGl0b3IgbGkucWwtaW5kZW50LTY6bm90KC5xbC1kaXJlY3Rpb24tcnRsKXtwYWRkaW5nLWxlZnQ6MTJlbX0ucWwtZWRpdG9yIC5xbC1pbmRlbnQtNi5xbC1kaXJlY3Rpb24tcnRsLnFsLWFsaWduLXJpZ2h0LC5xbC1lZGl0b3IgbGkucWwtaW5kZW50LTYucWwtZGlyZWN0aW9uLXJ0bC5xbC1hbGlnbi1yaWdodHtwYWRkaW5nLXJpZ2h0OjEyZW19LnFsLWVkaXRvciAucWwtaW5kZW50LTc6bm90KC5xbC1kaXJlY3Rpb24tcnRsKSwucWwtZWRpdG9yIGxpLnFsLWluZGVudC03Om5vdCgucWwtZGlyZWN0aW9uLXJ0bCl7cGFkZGluZy1sZWZ0OjE0ZW19LnFsLWVkaXRvciAucWwtaW5kZW50LTcucWwtZGlyZWN0aW9uLXJ0bC5xbC1hbGlnbi1yaWdodCwucWwtZWRpdG9yIGxpLnFsLWluZGVudC03LnFsLWRpcmVjdGlvbi1ydGwucWwtYWxpZ24tcmlnaHR7cGFkZGluZy1yaWdodDoxNGVtfS5xbC1lZGl0b3IgLnFsLWluZGVudC04Om5vdCgucWwtZGlyZWN0aW9uLXJ0bCksLnFsLWVkaXRvciBsaS5xbC1pbmRlbnQtODpub3QoLnFsLWRpcmVjdGlvbi1ydGwpe3BhZGRpbmctbGVmdDoxNmVtfS5xbC1lZGl0b3IgLnFsLWluZGVudC04LnFsLWRpcmVjdGlvbi1ydGwucWwtYWxpZ24tcmlnaHQsLnFsLWVkaXRvciBsaS5xbC1pbmRlbnQtOC5xbC1kaXJlY3Rpb24tcnRsLnFsLWFsaWduLXJpZ2h0e3BhZGRpbmctcmlnaHQ6MTZlbX0ucWwtZWRpdG9yIC5xbC1pbmRlbnQtOTpub3QoLnFsLWRpcmVjdGlvbi1ydGwpLC5xbC1lZGl0b3IgbGkucWwtaW5kZW50LTk6bm90KC5xbC1kaXJlY3Rpb24tcnRsKXtwYWRkaW5nLWxlZnQ6MThlbX0ucWwtZWRpdG9yIC5xbC1pbmRlbnQtOS5xbC1kaXJlY3Rpb24tcnRsLnFsLWFsaWduLXJpZ2h0LC5xbC1lZGl0b3IgbGkucWwtaW5kZW50LTkucWwtZGlyZWN0aW9uLXJ0bC5xbC1hbGlnbi1yaWdodHtwYWRkaW5nLXJpZ2h0OjE4ZW19LnFsLWVkaXRvciAucWwtZGlyZWN0aW9uLXJ0bHtkaXJlY3Rpb246cnRsO3RleHQtYWxpZ246aW5oZXJpdH0ucWwtZWRpdG9yIC5xbC1hbGlnbi1jZW50ZXJ7dGV4dC1hbGlnbjpjZW50ZXJ9LnFsLWVkaXRvciAucWwtYWxpZ24tanVzdGlmeXt0ZXh0LWFsaWduOmp1c3RpZnl9LnFsLWVkaXRvciAucWwtYWxpZ24tcmlnaHR7dGV4dC1hbGlnbjpyaWdodH0ucWwtZWRpdG9yLnFsLWJsYW5rOmJlZm9yZXtjb2xvcjpyZ2JhKDAsMCwwLC42KTtjb250ZW50OmF0dHIoZGF0YS1wbGFjZWhvbGRlcik7Zm9udC1zdHlsZTppdGFsaWM7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZX0ucWwtY29udGFpbmVyLnFsLWRpc2FibGVkIC5xbC1lZGl0b3IgdWxbZGF0YS1jaGVja2VkXT5saTpiZWZvcmV7cG9pbnRlci1ldmVudHM6bm9uZX0ucWwtY2xpcGJvYXJke2xlZnQ6LTEwMDAwMHB4O2hlaWdodDoxcHg7b3ZlcmZsb3cteTpoaWRkZW47cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJX11bmktaWNvbntkaXNwbGF5OmlubGluZS1ibG9jaztmb250LXNpemU6MDtib3gtc2l6aW5nOmJvcmRlci1ib3h9dW5pLWljb25baGlkZGVuXXtkaXNwbGF5Om5vbmV9dW5pLWljb24+aXtmb250Om5vcm1hbCBub3JtYWwgbm9ybWFsIDE0cHgvMSB3ZXVpfXVuaS1pY29uPmk6YmVmb3Jle21hcmdpbjowO2JveC1zaXppbmc6Ym9yZGVyLWJveH1AZm9udC1mYWNle2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0eWxlOm5vcm1hbDtmb250LWZhbWlseTp3ZXVpO3NyYzp1cmwoImRhdGE6YXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtO2Jhc2U2NCxBQUVBQUFBTEFJQUFBd0F3UjFOVlFyRCtzKzBBQUFFNEFBQUFRazlUTHpKQUtFeDhBQUFCZkFBQUFGWmpiV0Z3NjVjRkhRQUFBaHdBQUFKUVoyeDVacCtVRUVjQUFBU1VBQUFJdkdobFlXUVVxYzd4QUFBQTRBQUFBRFpvYUdWaEIvWUQrd0FBQUx3QUFBQWthRzEwZUVKb0FBQUFBQUhVQUFBQVNHeHZZMkVVeGhKZUFBQUViQUFBQUNadFlYaHdBU0VBUXdBQUFSZ0FBQUFnYm1GdFplTmNIdGdBQUExUUFBQUI1bkJ2YzNUNk9vWkxBQUFQT0FBQUFPWUFBUUFBQStnQUFBQmFBK2dBQUFBQUE3TUFBUUFBQUFBQUFBQUFBQUFBQUFBQUFCSUFBUUFBQUFFQUFNQ1UyS2RmRHp6MUFBc0Q2QUFBQUFEWTdFVVVBQUFBQU5qc1JSUUFBQUFBQTdNRDVBQUFBQWdBQWdBQUFBQUFBQUFCQUFBQUVnQTNBQVVBQUFBQUFBSUFBQUFLQUFvQUFBRC9BQUFBQUFBQUFBRUFBQUFLQUI0QUxBQUJSRVpNVkFBSUFBUUFBQUFBQUFBQUFRQUFBQUZzYVdkaEFBZ0FBQUFCQUFBQUFRQUVBQVFBQUFBQkFBZ0FBUUFHQUFBQUFRQUFBQUFBQVFPd0FaQUFCUUFJQW5vQ3ZBQUFBSXdDZWdLOEFBQUI0QUF4QVFJQUFBSUFCUU1BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQVVHWkZaQUJBNmdIcUVRUG9BQUFBV2dQb0FBQUFBQUFCQUFBQUFBQUFBQUFBQUFQb0FBQUQ2QUFBQStnQUFBUG9BQUFENkFBQUErZ0FBQVBvQUFBRDZBQUFBK2dBQUFQb0FBQUQ2QUFBQStnQUFBUG9BQUFENkFBQUErZ0FBQVBvQUFBRDZBQUFBQUFBQlFBQUFBTUFBQUFzQUFBQUJBQUFBWFFBQVFBQUFBQUFiZ0FEQUFFQUFBQXNBQU1BQ2dBQUFYUUFCQUJDQUFBQUJBQUVBQUVBQU9vUi8vOEFBT29CLy84QUFBQUJBQVFBQUFBQkFBSUFBd0FFQUFVQUJnQUhBQWdBQ1FBS0FBc0FEQUFOQUE0QUR3QVFBQkVBQUFFR0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUF3QUFBQUFBTndBQUFBQUFBQUFFUUFBNmdFQUFPb0JBQUFBQVFBQTZnSUFBT29DQUFBQUFnQUE2Z01BQU9vREFBQUFBd0FBNmdRQUFPb0VBQUFBQkFBQTZnVUFBT29GQUFBQUJRQUE2Z1lBQU9vR0FBQUFCZ0FBNmdjQUFPb0hBQUFBQndBQTZnZ0FBT29JQUFBQUNBQUE2Z2tBQU9vSkFBQUFDUUFBNmdvQUFPb0tBQUFBQ2dBQTZnc0FBT29MQUFBQUN3QUE2Z3dBQU9vTUFBQUFEQUFBNmcwQUFPb05BQUFBRFFBQTZnNEFBT29PQUFBQURnQUE2ZzhBQU9vUEFBQUFEd0FBNmhBQUFPb1FBQUFBRUFBQTZoRUFBT29SQUFBQUVRQUFBQUFBUkFDS0FNUUJFZ0ZnQVpJQjRnSDZBaW9DZUFLMEF3d0RaQU9pQTl3RUVBUmVBQUFBQWdBQUFBQURsUU9WQUJRQUtRQUFKU0luSmljbU5EYzJOell5RnhZWEZoUUhCZ2NHSnpJM05qYzJOQ2NtSnlZaUJ3WUhCaFFYRmhjV0FmUnhZVjgzT1RrM1gySGlZVjgzT1RrM1gyRnhaRlZUTVRJeU1WTlZ5RlZUTVRJeU1WTlZVemszWDJIaVlWODNPVGszWDJIaVlWODNPVEl5TVZOVnlGVlRNVEl5TVZOVnlGVlRNVElBQUFJQUFBQUFBN01Ec3dBWEFDMEFBQUVpQndZSEJoVVVGeFlYRmpNeU56WTNOalUwSnlZbkpoTUhCaUl2QVNZMk93RVJORFk3QVRJV0ZSRXpNaFlCN25ablpEczlQVHRrWjNaOGFtWTdQajQ3Wm1raGRnNG9EbllPRFJkZEN3Y21Cd3RkRncwRHN6NDdabXA4ZG1ka096MDlPMlJuZG4xcFpqcysvZkNhRWhLYUVob0JGd2dMQ3dqKzZSb0FBd0FBQUFBRGxRT1ZBQlFBR0FBaEFBQWxJaWNtSnlZME56WTNOaklYRmhjV0ZBY0dCd1lERVRNUkp6STJOQ1lpQmhRV0FmUnhZVjgzT1RrM1gySGlZVjgzT1RrM1gyR1FQaDhSR1JraUdSbFRPVGRmWWVKaFh6YzVPVGRmWWVKaFh6YzVBZlQrM1FFaktoZ2pHQmdqR0FBQUFBQUNBQUFBQUFPeEErUUFGd0FzQUFBQkJnY0dEd0VSRkJjV0Z4WVhOamMyTnpZMUVTY21KeVlUQVFZdkFTWS9BVFl5SHdFV05qY2xOaklmQVJZQjlXbHNQM0EzUno1c1hteHNYVzA5U0Rkd1FHdVAvdFVFQklvREF4SUJCUUZ4QVFVQ0FSSUNCUUVSQkFQakZ5QVNKQkwrckk1MVpVZy9IQncvU0dWMWpnRlVFaVFTSVA2Ni90a0RBNDhFQkJrQ0FWWUNBUUhsQVFJUUJBQUFBQUFEQUFBQUFBT3hBK1FBRndBbUFDOEFBQUVHQndZUEFSRVVGeFlYRmhjMk56WTNOalVSSnlZbkpnY3pNaFlWQXhRR0t3RWlKd00wTmhNaUpqUTJNaFlVQmdIMWFXdEFjRGRIUG14ZWJHeGRiVDFJTjNCQWE0TTBCQVlNQXdJbUJRRUxCaDRQRmhZZUZSVUQ1QmdnRWlRUy9xMlBkV1JKUGgwZFBrbGtkWThCVXhJa0VpRDRCZ1QreGdJREJRRTZCQWIrUUJVZkZSVWZGUUFBQUFBQ0FBQUFBQU9WQTVVQUZBQWFBQUFsSWljbUp5WTBOelkzTmpJWEZoY1dGQWNHQndZREp3Y1hBU2NCOUhGaFh6YzVPVGRmWWVKaFh6YzVPVGRmWWFKekxKOEJGaTFUT1RkZlllSmhYemM1T1RkZlllSmhYemM1QVVoekxKOEJGU3dBQUFBQUF3QUFBQUFEbFFPVkFCUUFLUUF2QUFBbElpY21KeVkwTnpZM05qSVhGaGNXRkFjR0J3WW5NamMyTnpZMEp5WW5KaUlIQmdjR0ZCY1dGeFlUTnhjQkp6Y0I5SEZoWHpjNU9UZGZZZUpoWHpjNU9UZGZZWEZrVlZNeE1qSXhVMVhJVlZNeE1qSXhVMVV6OGlUKzZwOGpVemszWDJIaVlWODNPVGszWDJIaVlWODNPVEl5TVZOVnlGVlRNVEl5TVZOVnlGVlRNVElCQlBJai91dWZKQUFBQUFFQUFBQUFBNWtER0FBSEFBQWxBVGNYQVJjQkJnR0Yvdmc3emdIWU92M3ZBY3NCQ1R2UEFkZzcvZTRCQUFBQUFBSUFBQUFBQTVVRGxRQUZBQm9BQUFFMUl4VVhOd01pSnlZbkpqUTNOamMyTWhjV0Z4WVVCd1lIQmdJVFByRXN2bkZoWHpjNU9UZGZZZUpoWHpjNU9UZGZZUUlPNFBxeExQN2tPVGRmWWVKaFh6YzVPVGRmWWVKaFh6YzVBQUFBQUFNQUFBQUFBNVVEbFFBRkFCb0FMd0FBQVJjSEp6VXpBeUluSmljbU5EYzJOell5RnhZWEZoUUhCZ2NHSnpJM05qYzJOQ2NtSnlZaUJ3WUhCaFFYRmhjV0FnMmlJN0V5R1hGaFh6YzVPVGRmWWVKaFh6YzVPVGRmWVhGa1ZWTXhNakl4VTFYSVZWTXhNakl4VTFVQ0NhSWtzZnI5WlRrM1gySGlZVjgzT1RrM1gySGlZVjgzT1RJeU1WTlZ5RlZUTVRJeU1WTlZ5RlZUTVRJQUFBTUFBQUFBQTVVRGxRQVVBQmdBSVFBQUpTSW5KaWNtTkRjMk56WXlGeFlYRmhRSEJnY0dBeE16RXdNeU5qUW1JZzRCRmdIMGNXRmZOems1TjE5aDRtRmZOems1TjE5aGtRVTJCU0FRRlJVZ0ZRRVdVemszWDJIaVlWODNPVGszWDJIaVlWODNPUUtWL3NRQlBQNDNGaDhWRlI4V0FBQUFBQVFBQUFBQUE1VURsUUFVQUNrQUxRQTJBQUFsSWljbUp5WTBOelkzTmpJWEZoY1dGQWNHQndZbk1qYzJOelkwSnlZbkppSUhCZ2NHRkJjV0Z4WVRNeEVqRXlJbU5EWXlGaFFHQWZSeFlWODNPVGszWDJIaVlWODNPVGszWDJGeFpGVlRNVEl5TVZOVnlGVlRNVEl5TVZOVlN6SXlHUkVaR1NJWkdWTTVOMTloNG1GZk56azVOMTloNG1GZk56a3lNakZUVmNoVlV6RXlNakZUVmNoVlV6RXlBY0wrM1FGTkdDTVlHQ01ZQUFBQUF3QUFBQUFEbFFPVkFCUUFLUUExQUFBbElpY21KeVkwTnpZM05qSVhGaGNXRkFjR0J3WW5NamMyTnpZMEp5WW5KaUlIQmdjR0ZCY1dGeFlURndjbkJ5YzNKemNYTnhjQjlIRmhYemM1T1RkZlllSmhYemM1T1RkZllYRmtWVk14TWpJeFUxWElWVk14TWpJeFUxV0hnaU9DZ2lPQ2dpT0NnaU5UT1RkZlllSmhYemM1T1RkZlllSmhYemM1TWpJeFUxWElWVk14TWpJeFUxWElWVk14TWdGdmdpT0NnaU9DZ2lPQ2dpTUFBQUFDQUFBQUFBTlVBMElBR0FBbEFBQUJGd2NuRGdFaklpY21KeVkwTnpZM05qSVhGaGNXRlJRR0p6UXVBU0lPQVJRZUFUSStBUUtvcXlPc0oxODBUMFJDSnljbkowSkVuMFJDSmlnbERVRnZnMjlCUVcrRGIwRUJZS3dqckNBaktDWkNSSjlFUWljbkp5ZENSRTgyWVpkQmIwRkJiNE52UVVGdkFBQUFBZ0FBQUFBRGxRT1ZBQXNBSUFBQUFUY25CeWNIRndjWE54YzNBeUluSmljbU5EYzJOell5RnhZWEZoUUhCZ2NHQWlCOUxIMTlMSDE5TEgxOUxLbHhZVjgzT1RrM1gySGlZVjgzT1RrM1gyRUI5SDBzZlgwc2ZYMHNmWDBzL3R3NU4xOWg0bUZmTnprNU4xOWg0bUZmTnprQUFBQUNBQUFBQUFPVkE1VUFGQUFjQUFBbElpY21KeVkwTnpZM05qSVhGaGNXRkFjR0J3WURKemNuQndZZkFRSDBjV0ZmTnprNU4xOWg0bUZmTnprNU4xOWhIb3FLSzdVQkFiVlRPVGRmWWVKaFh6YzVPVGRmWWVKaFh6YzVBUktQankyN0FRRzZBQUFBQUFVQUFBQUFBMWNEYkFBSkFCMEFKd0FyQUM4QUFBRVRIZ0V6SVRJMk54TXpBdzRCSXlFaUppY0RJelUwTmpNaE1oWWRBU1V5RmgwQkl6VTBOak1ITXhNakV6TURJd0VhSWdFVERRRXVEUk1CSWpJaUFqQWgvdEloTUFJaVZnd0pBcG9KRFA3eENRelFEQWtWTWhVeWlUSVZNZ0xkL2NnT0VoSU9Bamo5eFNFdUxpRUNPeDRJREF3SUhvNE1DUjBkQ1F6Ni9va0JkLzZKQUFBQUFBQUFFQURHQUFFQUFBQUFBQUVBQkFBQUFBRUFBQUFBQUFJQUJ3QUVBQUVBQUFBQUFBTUFCQUFMQUFFQUFBQUFBQVFBQkFBUEFBRUFBQUFBQUFVQUN3QVRBQUVBQUFBQUFBWUFCQUFlQUFFQUFBQUFBQW9BS3dBaUFBRUFBQUFBQUFzQUV3Qk5BQU1BQVFRSkFBRUFDQUJnQUFNQUFRUUpBQUlBRGdCb0FBTUFBUVFKQUFNQUNBQjJBQU1BQVFRSkFBUUFDQUIrQUFNQUFRUUpBQVVBRmdDR0FBTUFBUVFKQUFZQUNBQ2NBQU1BQVFRSkFBb0FWZ0NrQUFNQUFRUUpBQXNBSmdENmQyVjFhVkpsWjNWc1lYSjNaWFZwZDJWMWFWWmxjbk5wYjI0Z01TNHdkMlYxYVVkbGJtVnlZWFJsWkNCaWVTQnpkbWN5ZEhSbUlHWnliMjBnUm05dWRHVnNiRzhnY0hKdmFtVmpkQzVvZEhSd09pOHZabTl1ZEdWc2JHOHVZMjl0QUhjQVpRQjFBR2tBVWdCbEFHY0FkUUJzQUdFQWNnQjNBR1VBZFFCcEFIY0FaUUIxQUdrQVZnQmxBSElBY3dCcEFHOEFiZ0FnQURFQUxnQXdBSGNBWlFCMUFHa0FSd0JsQUc0QVpRQnlBR0VBZEFCbEFHUUFJQUJpQUhrQUlBQnpBSFlBWndBeUFIUUFkQUJtQUNBQVpnQnlBRzhBYlFBZ0FFWUFid0J1QUhRQVpRQnNBR3dBYndBZ0FIQUFjZ0J2QUdvQVpRQmpBSFFBTGdCb0FIUUFkQUJ3QURvQUx3QXZBR1lBYndCdUFIUUFaUUJzQUd3QWJ3QXVBR01BYndCdEFBQUFBZ0FBQUFBQUFBQUtBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBU0FRSUJBd0VFQVFVQkJnRUhBUWdCQ1FFS0FRc0JEQUVOQVE0QkR3RVFBUkVCRWdFVEFBWmphWEpqYkdVSVpHOTNibXh2WVdRRWFXNW1id3h6WVdabExYTjFZMk5sYzNNSmMyRm1aUzEzWVhKdUIzTjFZMk5sYzNNT2MzVmpZMlZ6Y3kxamFYSmpiR1VSYzNWalkyVnpjeTF1YnkxamFYSmpiR1VIZDJGcGRHbHVadzUzWVdsMGFXNW5MV05wY21Oc1pRUjNZWEp1QzJsdVptOHRZMmx5WTJ4bEJtTmhibU5sYkFaelpXRnlZMmdGWTJ4bFlYSUVZbUZqYXdaa1pXeGxkR1VBQUFBQSIpIGZvcm1hdCgidHJ1ZXR5cGUiKX0udW5pLWljb24tc3VjY2VzczpiZWZvcmV7Y29udGVudDoiXEVBMDYifS51bmktaWNvbi1zdWNjZXNzX2NpcmNsZTpiZWZvcmV7Y29udGVudDoiXEVBMDcifS51bmktaWNvbi1zdWNjZXNzX25vX2NpcmNsZTpiZWZvcmV7Y29udGVudDoiXEVBMDgifS51bmktaWNvbi1zYWZlX3N1Y2Nlc3M6YmVmb3Jle2NvbnRlbnQ6IlxFQTA0In0udW5pLWljb24tc2FmZV93YXJuOmJlZm9yZXtjb250ZW50OiJcRUEwNSJ9LnVuaS1pY29uLWluZm86YmVmb3Jle2NvbnRlbnQ6IlxFQTAzIn0udW5pLWljb24taW5mb19jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxFQTBDIn0udW5pLWljb24td2FybjpiZWZvcmV7Y29udGVudDoiXEVBMEIifS51bmktaWNvbi13YWl0aW5nOmJlZm9yZXtjb250ZW50OiJcRUEwOSJ9LnVuaS1pY29uLXdhaXRpbmdfY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcRUEwQSJ9LnVuaS1pY29uLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXEVBMDEifS51bmktaWNvbi1jYW5jZWw6YmVmb3Jle2NvbnRlbnQ6IlxFQTBEIn0udW5pLWljb24tZG93bmxvYWQ6YmVmb3Jle2NvbnRlbnQ6IlxFQTAyIn0udW5pLWljb24tc2VhcmNoOmJlZm9yZXtjb250ZW50OiJcRUEwRSJ9LnVuaS1pY29uLWNsZWFyOmJlZm9yZXtjb250ZW50OiJcRUEwRiJ9LnVuaS1pY29uLXNhZmVfc3VjY2VzcywudW5pLWljb24tc3VjY2VzcywudW5pLWljb24tc3VjY2Vzc19jaXJjbGUsLnVuaS1pY29uLXN1Y2Nlc3Nfbm9fY2lyY2xle2NvbG9yOiMwMDdhZmZ9LnVuaS1pY29uLXNhZmVfd2Fybntjb2xvcjojZmZiZTAwfS51bmktaWNvbi1pbmZve2NvbG9yOiMxMGFlZmZ9LnVuaS1pY29uLWluZm9fY2lyY2xle2NvbG9yOiMwMDdhZmZ9LnVuaS1pY29uLXdhcm57Y29sb3I6I2Y3NjI2MH0udW5pLWljb24td2FpdGluZywudW5pLWljb24td2FpdGluZ19jaXJjbGV7Y29sb3I6IzEwYWVmZn0udW5pLWljb24tY2lyY2xle2NvbG9yOiNjOWM5Yzl9LnVuaS1pY29uLWNhbmNlbHtjb2xvcjojZjQzNTMwfS51bmktaWNvbi1kb3dubG9hZHtjb2xvcjojMDA3YWZmfS51bmktaWNvbi1jbGVhciwudW5pLWljb24tc2VhcmNoe2NvbG9yOiNiMmIyYjJ9dW5pLWltYWdle3dpZHRoOjMyMHB4O2hlaWdodDoyNDBweDtkaXNwbGF5OmlubGluZS1ibG9jaztvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmV9dW5pLWltYWdlW2hpZGRlbl17ZGlzcGxheTpub25lfXVuaS1pbWFnZT5kaXYsdW5pLWltYWdlPmltZ3t3aWR0aDoxMDAlO2hlaWdodDoxMDAlfXVuaS1pbWFnZT5pbWd7LXdlYmtpdC10b3VjaC1jYWxsb3V0Om5vbmU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtvcGFjaXR5OjB9dW5pLWltYWdlPi51bmktaW1hZ2Utd2lsbC1jaGFuZ2V7d2lsbC1jaGFuZ2U6dHJhbnNmb3JtfXVuaS1pbnB1dHtkaXNwbGF5OmJsb2NrO2ZvbnQtc2l6ZToxNnB4O2xpbmUtaGVpZ2h0OjEuNGVtO2hlaWdodDoxLjRlbTttaW4taGVpZ2h0OjEuNGVtO292ZXJmbG93OmhpZGRlbn11bmktaW5wdXRbaGlkZGVuXXtkaXNwbGF5Om5vbmV9LnVuaS1pbnB1dC1mb3JtLC51bmktaW5wdXQtaW5wdXQsLnVuaS1pbnB1dC1wbGFjZWhvbGRlciwudW5pLWlucHV0LXdyYXBwZXJ7b3V0bGluZTpub25lO2JvcmRlcjpub25lO3BhZGRpbmc6MDttYXJnaW46MDt0ZXh0LWRlY29yYXRpb246aW5oZXJpdH0udW5pLWlucHV0LWZvcm0sLnVuaS1pbnB1dC13cmFwcGVye2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4O3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsOy13ZWJraXQtYm94LWRpcmVjdGlvbjpub3JtYWw7LXdlYmtpdC1mbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleC1kaXJlY3Rpb246Y29sdW1uOy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS51bmktaW5wdXQtaW5wdXQsLnVuaS1pbnB1dC1wbGFjZWhvbGRlcnt3aWR0aDoxMDAlfS51bmktaW5wdXQtcGxhY2Vob2xkZXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOmF1dG8haW1wb3J0YW50O2xlZnQ6MDtjb2xvcjpncmV5O292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmNsaXA7d2hpdGUtc3BhY2U6cHJlO3dvcmQtYnJlYWs6a2VlcC1hbGw7cG9pbnRlci1ldmVudHM6bm9uZTtsaW5lLWhlaWdodDppbmhlcml0fS51bmktaW5wdXQtaW5wdXR7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpibG9jaztoZWlnaHQ6MTAwJTtiYWNrZ3JvdW5kOm5vbmU7Y29sb3I6aW5oZXJpdDtvcGFjaXR5OjE7Zm9udDppbmhlcml0O2xpbmUtaGVpZ2h0OmluaGVyaXQ7bGV0dGVyLXNwYWNpbmc6aW5oZXJpdDt0ZXh0LWFsaWduOmluaGVyaXQ7dGV4dC1pbmRlbnQ6aW5oZXJpdDt0ZXh0LXRyYW5zZm9ybTppbmhlcml0O3RleHQtc2hhZG93OmluaGVyaXR9LnVuaS1pbnB1dC1pbnB1dFt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sLnVuaS1pbnB1dC1pbnB1dFt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb257ZGlzcGxheTpub25lfS51bmktaW5wdXQtaW5wdXQ6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sLnVuaS1pbnB1dC1pbnB1dDo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbnstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTttYXJnaW46MH0udW5pLWlucHV0LWlucHV0W3R5cGU9bnVtYmVyXXstbW96LWFwcGVhcmFuY2U6dGV4dGZpZWxkfS51bmktaW5wdXQtaW5wdXQ6ZGlzYWJsZWR7LXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6Y3VycmVudGNvbG9yfS51bmktbGFiZWwtcG9pbnRlcntjdXJzb3I6cG9pbnRlcn11bmktbW92YWJsZS1hcmVhe2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTBweDtoZWlnaHQ6MTBweH11bmktbW92YWJsZS1hcmVhW2hpZGRlbl17ZGlzcGxheTpub25lfXVuaS1tb3ZhYmxlLXZpZXd7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MTBweDtoZWlnaHQ6MTBweDt0b3A6MDtsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGU7Y3Vyc29yOmdyYWJ9dW5pLW1vdmFibGUtdmlld1toaWRkZW5de2Rpc3BsYXk6bm9uZX11bmktbmF2aWdhdG9ye2hlaWdodDphdXRvO3dpZHRoOmF1dG87ZGlzcGxheTpibG9jaztjdXJzb3I6cG9pbnRlcn11bmktbmF2aWdhdG9yW2hpZGRlbl17ZGlzcGxheTpub25lfS5uYXZpZ2F0b3ItaG92ZXJ7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4xKTtvcGFjaXR5Oi43fXVuaS1waWNrZXItdmlldy1jb2x1bW57LXdlYmtpdC1mbGV4OjE7LXdlYmtpdC1ib3gtZmxleDoxO2ZsZXg6MTtwb3NpdGlvbjpyZWxhdGl2ZTtoZWlnaHQ6MTAwJTtvdmVyZmxvdzpoaWRkZW59dW5pLXBpY2tlci12aWV3LWNvbHVtbltoaWRkZW5de2Rpc3BsYXk6bm9uZX0udW5pLXBpY2tlci12aWV3LWdyb3Vwe2hlaWdodDoxMDAlO292ZXJmbG93OmhpZGRlbn0udW5pLXBpY2tlci12aWV3LW1hc2t7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0udW5pLXBpY2tlci12aWV3LWluZGljYXRvciwudW5pLXBpY2tlci12aWV3LW1hc2t7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3dpZHRoOjEwMCU7ei1pbmRleDozO3BvaW50ZXItZXZlbnRzOm5vbmV9LnVuaS1waWNrZXItdmlldy1tYXNre3RvcDowO2hlaWdodDoxMDAlO21hcmdpbjowIGF1dG87YmFja2dyb3VuZDotd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsaHNsYSgwLDAlLDEwMCUsLjk1KSxoc2xhKDAsMCUsMTAwJSwuNikpLC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGJvdHRvbSxoc2xhKDAsMCUsMTAwJSwuOTUpLGhzbGEoMCwwJSwxMDAlLC42KSk7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLGhzbGEoMCwwJSwxMDAlLC45NSksaHNsYSgwLDAlLDEwMCUsLjYpKSxsaW5lYXItZ3JhZGllbnQoMGRlZyxoc2xhKDAsMCUsMTAwJSwuOTUpLGhzbGEoMCwwJSwxMDAlLC42KSk7YmFja2dyb3VuZC1wb3NpdGlvbjp0b3AsYm90dG9tO2JhY2tncm91bmQtc2l6ZToxMDAlIDEwMnB4O2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdH0udW5pLXBpY2tlci12aWV3LWluZGljYXRvcntoZWlnaHQ6MzRweDt0b3A6NTAlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSl9LnVuaS1waWNrZXItdmlldy1jb250ZW50e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt3aWR0aDoxMDAlO3dpbGwtY2hhbmdlOnRyYW5zZm9ybTtwYWRkaW5nOjEwMnB4IDA7Y3Vyc29yOnBvaW50ZXJ9LnVuaS1waWNrZXItdmlldy1jb250ZW50Pip7aGVpZ2h0OjM0cHg7b3ZlcmZsb3c6aGlkZGVufS51bmktcGlja2VyLXZpZXctaW5kaWNhdG9yOmJlZm9yZXt0b3A6MDtib3JkZXItdG9wOjFweCBzb2xpZCAjZTVlNWU1Oy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjowIDA7dHJhbnNmb3JtLW9yaWdpbjowIDA7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVZKC41KTt0cmFuc2Zvcm06c2NhbGVZKC41KX0udW5pLXBpY2tlci12aWV3LWluZGljYXRvcjphZnRlcntib3R0b206MDtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZTVlNWU1Oy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjowIDEwMCU7dHJhbnNmb3JtLW9yaWdpbjowIDEwMCU7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVZKC41KTt0cmFuc2Zvcm06c2NhbGVZKC41KX0udW5pLXBpY2tlci12aWV3LWluZGljYXRvcjphZnRlciwudW5pLXBpY2tlci12aWV3LWluZGljYXRvcjpiZWZvcmV7Y29udGVudDoiICI7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3JpZ2h0OjA7aGVpZ2h0OjFweDtjb2xvcjojZTVlNWU1fXVuaS1waWNrZXItdmlld3tkaXNwbGF5OmJsb2NrfXVuaS1waWNrZXItdmlldyAudW5pLXBpY2tlci12aWV3LXdyYXBwZXJ7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVuO2hlaWdodDoxMDAlfXVuaS1waWNrZXItdmlld1toaWRkZW5de2Rpc3BsYXk6bm9uZX11bmktcHJvZ3Jlc3N7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcn11bmktcHJvZ3Jlc3NbaGlkZGVuXXtkaXNwbGF5Om5vbmV9LnVuaS1wcm9ncmVzcy1iYXJ7LXdlYmtpdC1mbGV4OjE7LXdlYmtpdC1ib3gtZmxleDoxO2ZsZXg6MX0udW5pLXByb2dyZXNzLWlubmVyLWJhcnt3aWR0aDowO2hlaWdodDoxMDAlfS51bmktcHJvZ3Jlc3MtaW5mb3ttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTowO21pbi13aWR0aDoyZW07bWFyZ2luLWxlZnQ6MTVweDtmb250LXNpemU6MTZweH11bmktcmFkaW8tZ3JvdXBbaGlkZGVuXXtkaXNwbGF5Om5vbmV9dW5pLXJhZGlvey13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDtkaXNwbGF5OmlubGluZS1ibG9jaztjdXJzb3I6cG9pbnRlcn11bmktcmFkaW9baGlkZGVuXXtkaXNwbGF5Om5vbmV9dW5pLXJhZGlvW2Rpc2FibGVkXXtjdXJzb3I6bm90LWFsbG93ZWR9dW5pLXJhZGlvIC51bmktcmFkaW8td3JhcHBlcntkaXNwbGF5Oi13ZWJraXQtaW5saW5lLWZsZXg7ZGlzcGxheTotd2Via2l0LWlubGluZS1ib3g7ZGlzcGxheTppbmxpbmUtZmxleDstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX11bmktcmFkaW8gLnVuaS1yYWRpby1pbnB1dHstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTthcHBlYXJhbmNlOm5vbmU7bWFyZ2luLXJpZ2h0OjVweDtvdXRsaW5lOjA7Ym9yZGVyOjFweCBzb2xpZCAjZDFkMWQxO2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXItcmFkaXVzOjUwJTt3aWR0aDoyMnB4O2hlaWdodDoyMnB4O3Bvc2l0aW9uOnJlbGF0aXZlfUBtZWRpYSAoYW55LWhvdmVyOmhvdmVyKXt1bmktcmFkaW86bm90KFtkaXNhYmxlZF0pIC51bmktcmFkaW8taW5wdXQ6aG92ZXJ7Ym9yZGVyLWNvbG9yOnZhcigtLUhPVkVSLUJELUNPTE9SLCMwMDdhZmYpIWltcG9ydGFudH19dW5pLXJhZGlvIC51bmktcmFkaW8taW5wdXQudW5pLXJhZGlvLWlucHV0LWNoZWNrZWQ6YmVmb3Jle2ZvbnQ6bm9ybWFsIG5vcm1hbCBub3JtYWwgMTRweC8xIHVuaTtjb250ZW50OiJcRUEwOCI7Zm9udC1zaXplOjE4cHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTtsZWZ0OjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTQ4JSkgc2NhbGUoLjczKTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNDglKSBzY2FsZSguNzMpfXVuaS1yYWRpbyAudW5pLXJhZGlvLWlucHV0LnVuaS1yYWRpby1pbnB1dC1kaXNhYmxlZHtiYWNrZ3JvdW5kLWNvbG9yOiNlMWUxZTE7Ym9yZGVyLWNvbG9yOiNkMWQxZDF9dW5pLXJhZGlvIC51bmktcmFkaW8taW5wdXQudW5pLXJhZGlvLWlucHV0LWRpc2FibGVkOmJlZm9yZXtjb2xvcjojYWRhZGFkfXVuaS1yYWRpby1ncm91cHtkaXNwbGF5OmJsb2NrfUAtd2Via2l0LWtleWZyYW1lcyBvbmNlLXNob3d7MCV7dG9wOjB9fUBrZXlmcmFtZXMgb25jZS1zaG93ezAle3RvcDowfX11bmktcmVzaXplLXNlbnNvcix1bmktcmVzaXplLXNlbnNvcj5kaXZ7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO3JpZ2h0OjA7Ym90dG9tOjA7b3ZlcmZsb3c6aGlkZGVufXVuaS1yZXNpemUtc2Vuc29ye2Rpc3BsYXk6YmxvY2s7ei1pbmRleDotMTt2aXNpYmlsaXR5OmhpZGRlbjstd2Via2l0LWFuaW1hdGlvbjpvbmNlLXNob3cgMW1zO2FuaW1hdGlvbjpvbmNlLXNob3cgMW1zfXVuaS1yZXNpemUtc2Vuc29yPmRpdj5kaXZ7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowfXVuaS1yZXNpemUtc2Vuc29yPmRpdjpmaXJzdC1jaGlsZD5kaXZ7d2lkdGg6MTAwMDAwcHg7aGVpZ2h0OjEwMDAwMHB4fXVuaS1yZXNpemUtc2Vuc29yPmRpdjpsYXN0LWNoaWxkPmRpdnt3aWR0aDoyMDAlO2hlaWdodDoyMDAlfXVuaS1zY3JvbGwtdmlld3tkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCV9dW5pLXNjcm9sbC12aWV3W2hpZGRlbl17ZGlzcGxheTpub25lfS51bmktc2Nyb2xsLXZpZXd7cG9zaXRpb246cmVsYXRpdmU7LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2g7bWF4LWhlaWdodDppbmhlcml0fS51bmktc2Nyb2xsLXZpZXcsLnVuaS1zY3JvbGwtdmlldy1jb250ZW50e3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9LnVuaS1zY3JvbGwtdmlldy1yZWZyZXNoZXJ7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVufS51bmktc2Nyb2xsLXZpZXctcmVmcmVzaHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDstd2Via2l0LWJveC1vcmllbnQ6aG9yaXpvbnRhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246cm93O2ZsZXgtZGlyZWN0aW9uOnJvd30udW5pLXNjcm9sbC12aWV3LXJlZnJlc2gsLnVuaS1zY3JvbGwtdmlldy1yZWZyZXNoLWlubmVye2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LXBhY2s6Y2VudGVyOy13ZWJraXQtanVzdGlmeS1jb250ZW50OmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyOy13ZWJraXQtYm94LWFsaWduOmNlbnRlcjstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9LnVuaS1zY3JvbGwtdmlldy1yZWZyZXNoLWlubmVye2xpbmUtaGVpZ2h0OjA7d2lkdGg6NDBweDtoZWlnaHQ6NDBweDtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym94LXNoYWRvdzowIDFweCA2cHggcmdiYSgwLDAsMCwuMTE3NjQ3KSwwIDFweCA0cHggcmdiYSgwLDAsMCwuMTE3NjQ3KX0udW5pLXNjcm9sbC12aWV3LXJlZnJlc2hfX3NwaW5uZXJ7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOmNlbnRlciBjZW50ZXI7dHJhbnNmb3JtLW9yaWdpbjpjZW50ZXIgY2VudGVyOy13ZWJraXQtYW5pbWF0aW9uOnVuaS1zY3JvbGwtdmlldy1yZWZyZXNoLXJvdGF0ZSAycyBsaW5lYXIgaW5maW5pdGU7YW5pbWF0aW9uOnVuaS1zY3JvbGwtdmlldy1yZWZyZXNoLXJvdGF0ZSAycyBsaW5lYXIgaW5maW5pdGV9LnVuaS1zY3JvbGwtdmlldy1yZWZyZXNoX19zcGlubmVyPmNpcmNsZXtzdHJva2U6Y3VycmVudENvbG9yO3N0cm9rZS1saW5lY2FwOnJvdW5kOy13ZWJraXQtYW5pbWF0aW9uOnVuaS1zY3JvbGwtdmlldy1yZWZyZXNoLWRhc2ggMnMgbGluZWFyIGluZmluaXRlO2FuaW1hdGlvbjp1bmktc2Nyb2xsLXZpZXctcmVmcmVzaC1kYXNoIDJzIGxpbmVhciBpbmZpbml0ZX1ALXdlYmtpdC1rZXlmcmFtZXMgdW5pLXNjcm9sbC12aWV3LXJlZnJlc2gtcm90YXRlezAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDBkZWcpfXRvey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxdHVybik7dHJhbnNmb3JtOnJvdGF0ZSgxdHVybil9fUBrZXlmcmFtZXMgdW5pLXNjcm9sbC12aWV3LXJlZnJlc2gtcm90YXRlezAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDBkZWcpfXRvey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxdHVybik7dHJhbnNmb3JtOnJvdGF0ZSgxdHVybil9fUAtd2Via2l0LWtleWZyYW1lcyB1bmktc2Nyb2xsLXZpZXctcmVmcmVzaC1kYXNoezAle3N0cm9rZS1kYXNoYXJyYXk6MSwyMDA7c3Ryb2tlLWRhc2hvZmZzZXQ6MH01MCV7c3Ryb2tlLWRhc2hhcnJheTo4OSwyMDA7c3Ryb2tlLWRhc2hvZmZzZXQ6LTM1cHh9dG97c3Ryb2tlLWRhc2hhcnJheTo4OSwyMDA7c3Ryb2tlLWRhc2hvZmZzZXQ6LTEyNHB4fX1Aa2V5ZnJhbWVzIHVuaS1zY3JvbGwtdmlldy1yZWZyZXNoLWRhc2h7MCV7c3Ryb2tlLWRhc2hhcnJheToxLDIwMDtzdHJva2UtZGFzaG9mZnNldDowfTUwJXtzdHJva2UtZGFzaGFycmF5Ojg5LDIwMDtzdHJva2UtZGFzaG9mZnNldDotMzVweH10b3tzdHJva2UtZGFzaGFycmF5Ojg5LDIwMDtzdHJva2UtZGFzaG9mZnNldDotMTI0cHh9fXVuaS1zbGlkZXJ7bWFyZ2luOjEwcHggMThweDtwYWRkaW5nOjA7ZGlzcGxheTpibG9ja311bmktc2xpZGVyW2hpZGRlbl17ZGlzcGxheTpub25lfXVuaS1zbGlkZXIgLnVuaS1zbGlkZXItd3JhcHBlcntkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6ZmxleDstd2Via2l0LWFsaWduLWl0ZW1zOmNlbnRlcjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO21pbi1oZWlnaHQ6MTZweH11bmktc2xpZGVyIC51bmktc2xpZGVyLXRhcC1hcmVhey13ZWJraXQtZmxleDoxOy13ZWJraXQtYm94LWZsZXg6MTtmbGV4OjE7cGFkZGluZzo4cHggMH11bmktc2xpZGVyIC51bmktc2xpZGVyLWhhbmRsZS13cmFwcGVye3Bvc2l0aW9uOnJlbGF0aXZlO2hlaWdodDoycHg7Ym9yZGVyLXJhZGl1czo1cHg7YmFja2dyb3VuZC1jb2xvcjojZTllOWU5O2N1cnNvcjpwb2ludGVyOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudH11bmktc2xpZGVyIC51bmktc2xpZGVyLWhhbmRsZS13cmFwcGVyLHVuaS1zbGlkZXIgLnVuaS1zbGlkZXItdHJhY2t7LXdlYmtpdC10cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjNzIGVhc2U7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4zcyBlYXNlfXVuaS1zbGlkZXIgLnVuaS1zbGlkZXItdHJhY2t7aGVpZ2h0OjEwMCU7Ym9yZGVyLXJhZGl1czo2cHg7YmFja2dyb3VuZC1jb2xvcjojMDA3YWZmfXVuaS1zbGlkZXIgLnVuaS1zbGlkZXItaGFuZGxlLHVuaS1zbGlkZXIgLnVuaS1zbGlkZXItdGh1bWJ7cG9zaXRpb246YWJzb2x1dGU7bGVmdDo1MCU7dG9wOjUwJTtjdXJzb3I6cG9pbnRlcjtib3JkZXItcmFkaXVzOjUwJTstd2Via2l0LXRyYW5zaXRpb246Ym9yZGVyLWNvbG9yIC4zcyBlYXNlO3RyYW5zaXRpb246Ym9yZGVyLWNvbG9yIC4zcyBlYXNlfXVuaS1zbGlkZXIgLnVuaS1zbGlkZXItaGFuZGxle3dpZHRoOjI4cHg7aGVpZ2h0OjI4cHg7bWFyZ2luLXRvcDotMTRweDttYXJnaW4tbGVmdDotMTRweDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMCk7ei1pbmRleDozO2N1cnNvcjpncmFifXVuaS1zbGlkZXIgLnVuaS1zbGlkZXItdGh1bWJ7ei1pbmRleDoyO2JveC1zaGFkb3c6MCAwIDRweCByZ2JhKDAsMCwwLC4yKX11bmktc2xpZGVyIC51bmktc2xpZGVyLXN0ZXB7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTAwJTtoZWlnaHQ6MnB4O2JhY2tncm91bmQ6cmdiYSgwLDAsMCwwKTt6LWluZGV4OjF9dW5pLXNsaWRlciAudW5pLXNsaWRlci12YWx1ZXt3aWR0aDozY2g7Y29sb3I6Izg4ODtmb250LXNpemU6MTRweDttYXJnaW4tbGVmdDoxZW19dW5pLXNsaWRlciAudW5pLXNsaWRlci1kaXNhYmxlZCAudW5pLXNsaWRlci10cmFja3tiYWNrZ3JvdW5kLWNvbG9yOiNjY2N9dW5pLXNsaWRlciAudW5pLXNsaWRlci1kaXNhYmxlZCAudW5pLXNsaWRlci10aHVtYntiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyLWNvbG9yOiNjY2N9dW5pLXN3aXBlci1pdGVte2Rpc3BsYXk6YmxvY2s7b3ZlcmZsb3c6aGlkZGVuO3dpbGwtY2hhbmdlOnRyYW5zZm9ybTtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2N1cnNvcjpncmFifXVuaS1zd2lwZXItaXRlbVtoaWRkZW5de2Rpc3BsYXk6bm9uZX11bmktc3dpcGVye2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjE1MHB4fXVuaS1zd2lwZXJbaGlkZGVuXXtkaXNwbGF5Om5vbmV9dW5pLXN3aXBlciAudW5pLXN3aXBlci13cmFwcGVye292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9dW5pLXN3aXBlciAudW5pLXN3aXBlci1zbGlkZXN7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO3JpZ2h0OjA7Ym90dG9tOjB9dW5pLXN3aXBlciAudW5pLXN3aXBlci1zbGlkZS1mcmFtZXtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7dG9wOjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt3aWxsLWNoYW5nZTp0cmFuc2Zvcm19dW5pLXN3aXBlciAudW5pLXN3aXBlci1kb3Rze3Bvc2l0aW9uOmFic29sdXRlO2ZvbnQtc2l6ZTowfXVuaS1zd2lwZXIgLnVuaS1zd2lwZXItZG90cy1ob3Jpem9udGFse2xlZnQ6NTAlO2JvdHRvbToxMHB4O3RleHQtYWxpZ246Y2VudGVyO3doaXRlLXNwYWNlOm5vd3JhcDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlKX11bmktc3dpcGVyIC51bmktc3dpcGVyLWRvdHMtaG9yaXpvbnRhbCAudW5pLXN3aXBlci1kb3R7bWFyZ2luLXJpZ2h0OjhweH11bmktc3dpcGVyIC51bmktc3dpcGVyLWRvdHMtaG9yaXpvbnRhbCAudW5pLXN3aXBlci1kb3Q6bGFzdC1jaGlsZHttYXJnaW4tcmlnaHQ6MH11bmktc3dpcGVyIC51bmktc3dpcGVyLWRvdHMtdmVydGljYWx7cmlnaHQ6MTBweDt0b3A6NTAlO3RleHQtYWxpZ246cmlnaHQ7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKX11bmktc3dpcGVyIC51bmktc3dpcGVyLWRvdHMtdmVydGljYWwgLnVuaS1zd2lwZXItZG90e2Rpc3BsYXk6YmxvY2s7bWFyZ2luLWJvdHRvbTo5cHh9dW5pLXN3aXBlciAudW5pLXN3aXBlci1kb3RzLXZlcnRpY2FsIC51bmktc3dpcGVyLWRvdDpsYXN0LWNoaWxke21hcmdpbi1ib3R0b206MH11bmktc3dpcGVyIC51bmktc3dpcGVyLWRvdHtkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDo4cHg7aGVpZ2h0OjhweDtjdXJzb3I6cG9pbnRlcjstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6YmFja2dyb3VuZC1jb2xvcjt0cmFuc2l0aW9uLXByb3BlcnR5OmJhY2tncm91bmQtY29sb3I7LXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2U7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4zKTtib3JkZXItcmFkaXVzOjUwJX11bmktc3dpcGVyIC51bmktc3dpcGVyLWRvdC1hY3RpdmV7YmFja2dyb3VuZC1jb2xvcjojMDAwfXVuaS1zd2lwZXIgLnVuaS1zd2lwZXItbmF2aWdhdGlvbnt3aWR0aDoyNnB4O2hlaWdodDoyNnB4O2N1cnNvcjpwb2ludGVyO3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7bWFyZ2luLXRvcDotMTNweDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6LXdlYmtpdC1mbGV4O2Rpc3BsYXk6ZmxleDstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyOy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjJzO3RyYW5zaXRpb246YWxsIC4ycztib3JkZXItcmFkaXVzOjUwJTtvcGFjaXR5OjF9dW5pLXN3aXBlciAudW5pLXN3aXBlci1uYXZpZ2F0aW9uLWRpc2FibGVke29wYWNpdHk6LjM1O2N1cnNvcjpub3QtYWxsb3dlZH11bmktc3dpcGVyIC51bmktc3dpcGVyLW5hdmlnYXRpb24taGlkZXtvcGFjaXR5OjA7Y3Vyc29yOmF1dG87cG9pbnRlci1ldmVudHM6bm9uZX11bmktc3dpcGVyIC51bmktc3dpcGVyLW5hdmlnYXRpb24tcHJldntsZWZ0OjEwcHh9dW5pLXN3aXBlciAudW5pLXN3aXBlci1uYXZpZ2F0aW9uLXByZXYgaXttYXJnaW4tbGVmdDotMXB4O2xlZnQ6MTBweH11bmktc3dpcGVyIC51bmktc3dpcGVyLW5hdmlnYXRpb24tcHJldi51bmktc3dpcGVyLW5hdmlnYXRpb24tdmVydGljYWx7dG9wOjE4cHg7bGVmdDo1MCU7bWFyZ2luLWxlZnQ6LTEzcHh9dW5pLXN3aXBlciAudW5pLXN3aXBlci1uYXZpZ2F0aW9uLXByZXYudW5pLXN3aXBlci1uYXZpZ2F0aW9uLXZlcnRpY2FsIGl7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDkwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDkwZGVnKTttYXJnaW4tbGVmdDphdXRvO21hcmdpbi10b3A6LTJweH11bmktc3dpcGVyIC51bmktc3dpcGVyLW5hdmlnYXRpb24tbmV4dHtyaWdodDoxMHB4fXVuaS1zd2lwZXIgLnVuaS1zd2lwZXItbmF2aWdhdGlvbi1uZXh0IGl7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDE4MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpfXVuaS1zd2lwZXIgLnVuaS1zd2lwZXItbmF2aWdhdGlvbi1uZXh0LnVuaS1zd2lwZXItbmF2aWdhdGlvbi12ZXJ0aWNhbHt0b3A6YXV0bztib3R0b206NXB4O2xlZnQ6NTAlO21hcmdpbi1sZWZ0Oi0xM3B4fXVuaS1zd2lwZXIgLnVuaS1zd2lwZXItbmF2aWdhdGlvbi1uZXh0LnVuaS1zd2lwZXItbmF2aWdhdGlvbi12ZXJ0aWNhbCBpe21hcmdpbi10b3A6MnB4Oy13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgyNzBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMjcwZGVnKX11bmktc3dpdGNoey13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDtkaXNwbGF5OmlubGluZS1ibG9jaztjdXJzb3I6cG9pbnRlcn11bmktc3dpdGNoW2hpZGRlbl17ZGlzcGxheTpub25lfXVuaS1zd2l0Y2hbZGlzYWJsZWRde2N1cnNvcjpub3QtYWxsb3dlZH11bmktc3dpdGNoIC51bmktc3dpdGNoLXdyYXBwZXJ7ZGlzcGxheTotd2Via2l0LWlubGluZS1mbGV4O2Rpc3BsYXk6LXdlYmtpdC1pbmxpbmUtYm94O2Rpc3BsYXk6aW5saW5lLWZsZXg7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9dW5pLXN3aXRjaCAudW5pLXN3aXRjaC1pbnB1dHstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTthcHBlYXJhbmNlOm5vbmU7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6NTJweDtoZWlnaHQ6MzJweDttYXJnaW4tcmlnaHQ6NXB4O2JvcmRlcjoxcHggc29saWQgI2RmZGZkZjtvdXRsaW5lOjA7Ym9yZGVyLXJhZGl1czoxNnB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtiYWNrZ3JvdW5kLWNvbG9yOiNkZmRmZGY7LXdlYmtpdC10cmFuc2l0aW9uOmJhY2tncm91bmQtY29sb3IgLjFzLGJvcmRlciAuMXM7dHJhbnNpdGlvbjpiYWNrZ3JvdW5kLWNvbG9yIC4xcyxib3JkZXIgLjFzfXVuaS1zd2l0Y2hbZGlzYWJsZWRdIC51bmktc3dpdGNoLWlucHV0e29wYWNpdHk6Ljd9dW5pLXN3aXRjaCAudW5pLXN3aXRjaC1pbnB1dDpiZWZvcmV7d2lkdGg6NTBweDtiYWNrZ3JvdW5kLWNvbG9yOiNmZGZkZmR9dW5pLXN3aXRjaCAudW5pLXN3aXRjaC1pbnB1dDphZnRlcix1bmktc3dpdGNoIC51bmktc3dpdGNoLWlucHV0OmJlZm9yZXtjb250ZW50OiIgIjtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7aGVpZ2h0OjMwcHg7Ym9yZGVyLXJhZGl1czoxNXB4O3RyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjNzOy13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuM3M7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjNzO3RyYW5zaXRpb246dHJhbnNmb3JtIC4zcywtd2Via2l0LXRyYW5zZm9ybSAuM3N9dW5pLXN3aXRjaCAudW5pLXN3aXRjaC1pbnB1dDphZnRlcnt3aWR0aDozMHB4O2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3gtc2hhZG93OjAgMXB4IDNweCByZ2JhKDAsMCwwLC40KX11bmktc3dpdGNoIC51bmktc3dpdGNoLWlucHV0LnVuaS1zd2l0Y2gtaW5wdXQtY2hlY2tlZHtib3JkZXItY29sb3I6IzAwN2FmZjtiYWNrZ3JvdW5kLWNvbG9yOiMwMDdhZmZ9dW5pLXN3aXRjaCAudW5pLXN3aXRjaC1pbnB1dC51bmktc3dpdGNoLWlucHV0LWNoZWNrZWQ6YmVmb3Jley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDApO3RyYW5zZm9ybTpzY2FsZSgwKX11bmktc3dpdGNoIC51bmktc3dpdGNoLWlucHV0LnVuaS1zd2l0Y2gtaW5wdXQtY2hlY2tlZDphZnRlcnstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDIwcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDIwcHgpfXVuaS1zd2l0Y2ggLnVuaS1jaGVja2JveC1pbnB1dHttYXJnaW4tcmlnaHQ6NXB4Oy13ZWJraXQtYXBwZWFyYW5jZTpub25lO2FwcGVhcmFuY2U6bm9uZTtvdXRsaW5lOjA7Ym9yZGVyOjFweCBzb2xpZCAjZDFkMWQxO2JhY2tncm91bmQtY29sb3I6I2ZmZjtib3JkZXItcmFkaXVzOjNweDt3aWR0aDoyMnB4O2hlaWdodDoyMnB4O3Bvc2l0aW9uOnJlbGF0aXZlO2NvbG9yOiMwMDdhZmZ9dW5pLXN3aXRjaDpub3QoW2Rpc2FibGVkXSkgLnVuaS1jaGVja2JveC1pbnB1dDpob3Zlcntib3JkZXItY29sb3I6IzAwN2FmZn11bmktc3dpdGNoIC51bmktY2hlY2tib3gtaW5wdXQudW5pLWNoZWNrYm94LWlucHV0LWNoZWNrZWQ6YmVmb3Jle2ZvbnQ6bm9ybWFsIG5vcm1hbCBub3JtYWwgMTRweC8xIHVuaTtjb250ZW50OiJcRUEwOCI7Y29sb3I6aW5oZXJpdDtmb250LXNpemU6MjJweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO2xlZnQ6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNDglKSBzY2FsZSguNzMpOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC00OCUpIHNjYWxlKC43Myl9dW5pLXN3aXRjaCAudW5pLWNoZWNrYm94LWlucHV0LnVuaS1jaGVja2JveC1pbnB1dC1kaXNhYmxlZHtiYWNrZ3JvdW5kLWNvbG9yOiNlMWUxZTF9dW5pLXN3aXRjaCAudW5pLWNoZWNrYm94LWlucHV0LnVuaS1jaGVja2JveC1pbnB1dC1kaXNhYmxlZDpiZWZvcmV7Y29sb3I6I2FkYWRhZH11bmktdGV4dFtzZWxlY3RhYmxlXXtjdXJzb3I6YXV0bzt1c2VyLXNlbGVjdDp0ZXh0Oy13ZWJraXQtdXNlci1zZWxlY3Q6dGV4dH11bmktdGV4dGFyZWF7d2lkdGg6MzAwcHg7aGVpZ2h0OjE1MHB4O2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246cmVsYXRpdmU7Zm9udC1zaXplOjE2cHg7bGluZS1oZWlnaHQ6bm9ybWFsO3doaXRlLXNwYWNlOnByZS13cmFwO3dvcmQtYnJlYWs6YnJlYWstYWxsfXVuaS10ZXh0YXJlYVtoaWRkZW5de2Rpc3BsYXk6bm9uZX0udW5pLXRleHRhcmVhLWNvbXB1dGUsLnVuaS10ZXh0YXJlYS1saW5lLC51bmktdGV4dGFyZWEtcGxhY2Vob2xkZXIsLnVuaS10ZXh0YXJlYS10ZXh0YXJlYSwudW5pLXRleHRhcmVhLXdyYXBwZXJ7b3V0bGluZTpub25lO2JvcmRlcjpub25lO3BhZGRpbmc6MDttYXJnaW46MDt0ZXh0LWRlY29yYXRpb246aW5oZXJpdH0udW5pLXRleHRhcmVhLXdyYXBwZXJ7ZGlzcGxheTpibG9jaztwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO21pbi1oZWlnaHQ6aW5oZXJpdDtvdmVyZmxvdy15OmhpZGRlbn0udW5pLXRleHRhcmVhLWNvbXB1dGUsLnVuaS10ZXh0YXJlYS1saW5lLC51bmktdGV4dGFyZWEtcGxhY2Vob2xkZXIsLnVuaS10ZXh0YXJlYS10ZXh0YXJlYXtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2xlZnQ6MDt0b3A6MDt3aGl0ZS1zcGFjZTppbmhlcml0O3dvcmQtYnJlYWs6aW5oZXJpdH0udW5pLXRleHRhcmVhLXBsYWNlaG9sZGVye2NvbG9yOmdyZXk7b3ZlcmZsb3c6aGlkZGVufS51bmktdGV4dGFyZWEtY29tcHV0ZSwudW5pLXRleHRhcmVhLWxpbmV7dmlzaWJpbGl0eTpoaWRkZW47aGVpZ2h0OmF1dG99LnVuaS10ZXh0YXJlYS1saW5le3dpZHRoOjFlbX0udW5pLXRleHRhcmVhLXRleHRhcmVhe3Jlc2l6ZTpub25lO2JhY2tncm91bmQ6bm9uZTtjb2xvcjppbmhlcml0O29wYWNpdHk6MTtmb250OmluaGVyaXQ7bGluZS1oZWlnaHQ6aW5oZXJpdDtsZXR0ZXItc3BhY2luZzppbmhlcml0O3RleHQtYWxpZ246aW5oZXJpdDt0ZXh0LWluZGVudDppbmhlcml0O3RleHQtdHJhbnNmb3JtOmluaGVyaXQ7dGV4dC1zaGFkb3c6aW5oZXJpdH0udW5pLXRleHRhcmVhLXRleHRhcmVhLWZpeC1tYXJnaW57d2lkdGg6YXV0bztyaWdodDowO21hcmdpbjowIC0zcHh9LnVuaS10ZXh0YXJlYS10ZXh0YXJlYTpkaXNhYmxlZHstd2Via2l0LXRleHQtZmlsbC1jb2xvcjpjdXJyZW50Y29sb3J9dW5pLWFke2Rpc3BsYXk6YmxvY2s7b3ZlcmZsb3c6aGlkZGVufXVuaS1hZFtoaWRkZW5de2Rpc3BsYXk6bm9uZX11bmktY292ZXItaW1hZ2V7ZGlzcGxheTpibG9jaztsaW5lLWhlaWdodDoxLjI7b3ZlcmZsb3c6aGlkZGVuO3BvaW50ZXItZXZlbnRzOmF1dG99dW5pLWNvdmVyLWltYWdlLHVuaS1jb3Zlci1pbWFnZSBpbWd7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJX11bmktY292ZXItaW1hZ2VbaGlkZGVuXXtkaXNwbGF5Om5vbmV9dW5pLWNvdmVyLWltYWdlIC51bmktY292ZXItaW1hZ2V7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt0ZXh0LW92ZXJmbG93OmluaGVyaXQ7b3ZlcmZsb3c6aW5oZXJpdDt3aGl0ZS1zcGFjZTpub3dyYXA7LXdlYmtpdC1hbGlnbi1pdGVtczppbmhlcml0Oy13ZWJraXQtYm94LWFsaWduOmluaGVyaXQ7YWxpZ24taXRlbXM6aW5oZXJpdDstd2Via2l0LWp1c3RpZnktY29udGVudDppbmhlcml0Oy13ZWJraXQtYm94LXBhY2s6aW5oZXJpdDtqdXN0aWZ5LWNvbnRlbnQ6aW5oZXJpdDstd2Via2l0LWZsZXgtZGlyZWN0aW9uOmluaGVyaXQ7LXdlYmtpdC1ib3gtb3JpZW50OmluaGVyaXQ7LXdlYmtpdC1ib3gtZGlyZWN0aW9uOmluaGVyaXQ7ZmxleC1kaXJlY3Rpb246aW5oZXJpdDtmb250LXNpemU6MDtkaXNwbGF5OmluaGVyaXR9dW5pLWNvdmVyLXZpZXd7ZGlzcGxheTpibG9jaztsaW5lLWhlaWdodDoxLjI7b3ZlcmZsb3c6aGlkZGVuO3doaXRlLXNwYWNlOm5vd3JhcDtwb2ludGVyLWV2ZW50czphdXRvfXVuaS1jb3Zlci12aWV3W2hpZGRlbl17ZGlzcGxheTpub25lfXVuaS1jb3Zlci12aWV3IC51bmktY292ZXItdmlld3t3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3RleHQtb3ZlcmZsb3c6aW5oZXJpdDtvdmVyZmxvdzpoaWRkZW47d2hpdGUtc3BhY2U6aW5oZXJpdDstd2Via2l0LWFsaWduLWl0ZW1zOmluaGVyaXQ7LXdlYmtpdC1ib3gtYWxpZ246aW5oZXJpdDthbGlnbi1pdGVtczppbmhlcml0Oy13ZWJraXQtanVzdGlmeS1jb250ZW50OmluaGVyaXQ7LXdlYmtpdC1ib3gtcGFjazppbmhlcml0O2p1c3RpZnktY29udGVudDppbmhlcml0Oy13ZWJraXQtZmxleC1kaXJlY3Rpb246aW5oZXJpdDstd2Via2l0LWJveC1vcmllbnQ6aW5oZXJpdDstd2Via2l0LWJveC1kaXJlY3Rpb246aW5oZXJpdDtmbGV4LWRpcmVjdGlvbjppbmhlcml0Oy13ZWJraXQtZmxleC13cmFwOmluaGVyaXQ7ZmxleC13cmFwOmluaGVyaXQ7ZGlzcGxheTppbmhlcml0O292ZXJmbG93OmluaGVyaXR9LnVuaS1tYXAtY29udHJvbHtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDowO2hlaWdodDowO3RvcDowO2xlZnQ6MDt6LWluZGV4Ojk5OX0udW5pLW1hcC1jb250cm9sLWljb257cG9zaXRpb246YWJzb2x1dGU7bWF4LXdpZHRoOm5vbmV9dW5pLW1hcHtwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDozMDBweDtoZWlnaHQ6MTUwcHg7ZGlzcGxheTpibG9ja311bmktbWFwW2hpZGRlbl17ZGlzcGxheTpub25lfS5hbWFwLW1hcmtlci1sYWJlbHtwYWRkaW5nOjA7Ym9yZGVyOm5vbmU7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDApfS5hbWFwLW1hcmtlcj4uYW1hcC1pY29uPmltZ3tsZWZ0OjAhaW1wb3J0YW50O3RvcDowIWltcG9ydGFudH11bmktcGlja2Vye3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6YmxvY2s7Y3Vyc29yOnBvaW50ZXJ9dW5pLXBpY2tlcltoaWRkZW5de2Rpc3BsYXk6bm9uZX11bmktcGlja2VyW2Rpc2FibGVkXXtjdXJzb3I6bm90LWFsbG93ZWR9LnVuaS1waWNrZXItY29udGFpbmVye2Rpc3BsYXk6bm9uZTtwb3NpdGlvbjpmaXhlZDtsZWZ0OjA7cmlnaHQ6MDt0b3A6MDtib3R0b206MDtib3gtc2l6aW5nOmJvcmRlci1ib3g7ei1pbmRleDo5OTk7Zm9udC1zaXplOjE2cHh9LnVuaS1waWNrZXItY29udGFpbmVyIC51bmktcGlja2VyLWN1c3RvbSAqe2JveC1zaXppbmc6Ym9yZGVyLWJveH0udW5pLXBpY2tlci1jb250YWluZXIgLnVuaS1waWNrZXItY3VzdG9te3Bvc2l0aW9uOmZpeGVkO2xlZnQ6MDtib3R0b206MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDEwMCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDEwMCUpOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47ei1pbmRleDo5OTk7d2lkdGg6MTAwJTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7dmlzaWJpbGl0eTpoaWRkZW47LXdlYmtpdC10cmFuc2l0aW9uOnZpc2liaWxpdHkgLjNzLC13ZWJraXQtdHJhbnNmb3JtIC4zczt0cmFuc2l0aW9uOnZpc2liaWxpdHkgLjNzLC13ZWJraXQtdHJhbnNmb3JtIC4zczt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuM3MsdmlzaWJpbGl0eSAuM3M7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjNzLHZpc2liaWxpdHkgLjNzLC13ZWJraXQtdHJhbnNmb3JtIC4zc30udW5pLXBpY2tlci1jb250YWluZXIgLnVuaS1waWNrZXItY3VzdG9tLnVuaS1waWNrZXItdG9nZ2xle3Zpc2liaWxpdHk6dmlzaWJsZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgwKX0udW5pLXBpY2tlci1jb250YWluZXIgLnVuaS1waWNrZXItY29udGVudHtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCU7aGVpZ2h0OjIzOHB4O2JhY2tncm91bmQtY29sb3I6I2ZmZn0udW5pLXBpY2tlci1jb250YWluZXIgLnVuaS1waWNrZXItaXRlbXtwYWRkaW5nOjA7aGVpZ2h0OjM0cHg7bGluZS1oZWlnaHQ6MzRweDt0ZXh0LWFsaWduOmNlbnRlcjtjb2xvcjojMDAwO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbjtjdXJzb3I6cG9pbnRlcn0udW5pLXBpY2tlci1jb250YWluZXIgLnVuaS1waWNrZXItaGVhZGVye2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246cmVsYXRpdmU7dGV4dC1hbGlnbjpjZW50ZXI7d2lkdGg6MTAwJTtoZWlnaHQ6NDVweH0udW5pLXBpY2tlci1jb250YWluZXIgLnVuaS1waWNrZXItaGVhZGVyOmFmdGVye2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO2JvdHRvbTowO3JpZ2h0OjA7aGVpZ2h0OjFweDtjbGVhcjpib3RoO2JvcmRlci1ib3R0b206MXB4IHNvbGlkICNlNWU1ZTU7Y29sb3I6I2U1ZTVlNTstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46MCAxMDAlO3RyYW5zZm9ybS1vcmlnaW46MCAxMDAlOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWSguNSk7dHJhbnNmb3JtOnNjYWxlWSguNSl9LnVuaS1waWNrZXItY29udGFpbmVyIC51bmktcGlja2VyLWFjdGlvbntkaXNwbGF5OmJsb2NrO21heC13aWR0aDo1MCU7dG9wOjA7aGVpZ2h0OjEwMCU7Ym94LXNpemluZzpib3JkZXItYm94O3BhZGRpbmc6MCAxNHB4O2ZvbnQtc2l6ZToxN3B4O2xpbmUtaGVpZ2h0OjQ1cHg7b3ZlcmZsb3c6aGlkZGVuO2N1cnNvcjpwb2ludGVyfS51bmktcGlja2VyLWNvbnRhaW5lciAudW5pLXBpY2tlci1hY3Rpb24udW5pLXBpY2tlci1hY3Rpb24tY2FuY2Vse2Zsb2F0OmxlZnQ7Y29sb3I6Izg4OH0udW5pLXBpY2tlci1jb250YWluZXIgLnVuaS1waWNrZXItYWN0aW9uLnVuaS1waWNrZXItYWN0aW9uLWNvbmZpcm17ZmxvYXQ6cmlnaHQ7Y29sb3I6IzAwN2FmZn0udW5pLXBpY2tlci1jb250YWluZXIgLnVuaS1waWNrZXItc2VsZWN0e2Rpc3BsYXk6bm9uZX0udW5pLXBpY2tlci1zeXN0ZW17cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTpub25lO2Rpc3BsYXk6YmxvY2s7dG9wOjA7bGVmdDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7b3ZlcmZsb3c6aGlkZGVufS51bmktcGlja2VyLXN5c3RlbT5pbnB1dHtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXI6bm9uZTtoZWlnaHQ6MTAwJTtvcGFjaXR5OjA7Y3Vyc29yOnBvaW50ZXJ9LnVuaS1waWNrZXItc3lzdGVtPmlucHV0LmZpcmVmb3h7dG9wOjA7bGVmdDowO3dpZHRoOjEwMCV9LnVuaS1waWNrZXItc3lzdGVtPmlucHV0LmNocm9tZXt0b3A6MDtsZWZ0OjA7d2lkdGg6MmVtO2ZvbnQtc2l6ZTozMnB4O2hlaWdodDozMnB4fUBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NTAwcHgpIGFuZCAobWluLWhlaWdodDo1MDBweCl7LnVuaS1tYXNrLnVuaS1waWNrZXItbWFza3tiYWNrZ3JvdW5kOm5vbmV9LnVuaS1waWNrZXItY29udGFpbmVyIC51bmktcGlja2VyLWN1c3RvbXt3aWR0aDozMDBweDtsZWZ0OjUwJTtyaWdodDphdXRvO3RvcDo1MCU7Ym90dG9tOmF1dG87LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpO29wYWNpdHk6MDtib3JkZXItcmFkaXVzOjVweDstd2Via2l0LXRyYW5zaXRpb246b3BhY2l0eSAuM3MsdmlzaWJpbGl0eSAuM3M7dHJhbnNpdGlvbjpvcGFjaXR5IC4zcyx2aXNpYmlsaXR5IC4zcztib3gtc2hhZG93OjAgMCAyMHB4IDVweCByZ2JhKDAsMCwwLC4zKX0udW5pLXBpY2tlci1jb250YWluZXIgLnVuaS1waWNrZXItaGVhZGVye2JvcmRlci1yYWRpdXM6NXB4IDVweCAwIDB9LnVuaS1waWNrZXItY29udGFpbmVyIC51bmktcGlja2VyLWNvbnRlbnR7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDApO3RyYW5zZm9ybTp0cmFuc2xhdGUoMCk7b3ZlcmZsb3c6aGlkZGVuO2JvcmRlci1yYWRpdXM6MCAwIDVweCA1cHh9LnVuaS1waWNrZXItY29udGFpbmVyIC51bmktcGlja2VyLWN1c3RvbS51bmktcGlja2VyLXRvZ2dsZXtvcGFjaXR5OjE7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKC01MCUsLTUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpfS51bmktc2VsZWN0b3Itc2VsZWN0IC51bmktcGlja2VyLWNvbnRlbnQsLnVuaS1zZWxlY3Rvci1zZWxlY3QgLnVuaS1waWNrZXItaGVhZGVye2Rpc3BsYXk6bm9uZX0udW5pLXNlbGVjdG9yLXNlbGVjdCAudW5pLXBpY2tlci1zZWxlY3R7ZGlzcGxheTpibG9jazttYXgtaGVpZ2h0OjMwMHB4O292ZXJmbG93OmF1dG87YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6NXB4O3BhZGRpbmc6NnB4IDB9LnVuaS1zZWxlY3Rvci1zZWxlY3QgLnVuaS1waWNrZXItaXRlbXtwYWRkaW5nOjAgMTBweDtjb2xvcjojNTU1fS51bmktc2VsZWN0b3Itc2VsZWN0IC51bmktcGlja2VyLWl0ZW06aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZjZmNmY2fS51bmktc2VsZWN0b3Itc2VsZWN0IC51bmktcGlja2VyLWl0ZW0uc2VsZWN0ZWR7Y29sb3I6IzAwN2FmZn19dW5pLXZpZGVve3dpZHRoOjMwMHB4O2hlaWdodDoyMjVweDtkaXNwbGF5OmlubGluZS1ibG9jaztsaW5lLWhlaWdodDowO292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZX11bmktdmlkZW9baGlkZGVuXXtkaXNwbGF5Om5vbmV9LnVuaS12aWRlby1jb250YWluZXJ7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7ZGlzcGxheTppbmxpbmUtYmxvY2s7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO292ZXJmbG93OmhpZGRlbjtvYmplY3QtcG9zaXRpb246aW5oZXJpdH0udW5pLXZpZGVvLWNvbnRhaW5lci51bmktdmlkZW8tdHlwZS1mdWxsc2NyZWVue3Bvc2l0aW9uOmZpeGVkO3otaW5kZXg6OTk5fS51bmktdmlkZW8tdmlkZW97d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtvYmplY3QtcG9zaXRpb246aW5oZXJpdH0udW5pLXZpZGVvLWNvdmVye2JvdHRvbTowO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTotd2Via2l0LWZsZXg7ZGlzcGxheTpmbGV4Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDstd2Via2l0LWJveC1kaXJlY3Rpb246bm9ybWFsOy13ZWJraXQtZmxleC1kaXJlY3Rpb246Y29sdW1uO2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjstd2Via2l0LWJveC1wYWNrOmNlbnRlcjstd2Via2l0LWp1c3RpZnktY29udGVudDpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjstd2Via2l0LWJveC1hbGlnbjpjZW50ZXI7LXdlYmtpdC1hbGlnbi1pdGVtczpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2JhY2tncm91bmQtY29sb3I6cmdiYSgxLDEsMSwuNSk7ei1pbmRleDoxfS51bmktdmlkZW8tY292ZXIsLnVuaS12aWRlby1zbG90c3twb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJX0udW5pLXZpZGVvLXNsb3Rze2hlaWdodDoxMDAlO292ZXJmbG93OmhpZGRlbjtwb2ludGVyLWV2ZW50czpub25lfS51bmktdmlkZW8tY292ZXItcGxheS1idXR0b257d2lkdGg6NDBweDtoZWlnaHQ6NDBweDtiYWNrZ3JvdW5kLXNpemU6NTAlO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtiYWNrZ3JvdW5kLXBvc2l0aW9uOjUwJSA1MCU7Y3Vyc29yOnBvaW50ZXJ9LnVuaS12aWRlby1jb3Zlci1kdXJhdGlvbntjb2xvcjojZmZmO2ZvbnQtc2l6ZToxNnB4O2xpbmUtaGVpZ2h0OjE7bWFyZ2luLXRvcDoxMHB4fS51bmktdmlkZW8tYmFye2hlaWdodDo0NHB4O2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNSk7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowO3JpZ2h0OjA7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtYWxpZ246Y2VudGVyOy13ZWJraXQtYWxpZ24taXRlbXM6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjtwYWRkaW5nOjAgMTBweDt6LWluZGV4OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0udW5pLXZpZGVvLWJhci51bmktdmlkZW8tYmFyLWZ1bGx7bGVmdDowfS51bmktdmlkZW8tY29udHJvbHN7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXg7LXdlYmtpdC1ib3gtZmxleDoxOy13ZWJraXQtZmxleC1ncm93OjE7ZmxleC1ncm93OjE7bWFyZ2luOjAgOC41cHh9LnVuaS12aWRlby1jb250cm9sLWJ1dHRvbnt3aWR0aDoxM3B4O2hlaWdodDoxNXB4O3BhZGRpbmc6MTQuNXB4IDEyLjVweCAxNC41cHggMTIuNXB4O21hcmdpbi1sZWZ0Oi04LjVweDtib3gtc2l6aW5nOmNvbnRlbnQtYm94O2N1cnNvcjpwb2ludGVyfS51bmktdmlkZW8tY29udHJvbC1idXR0b246YWZ0ZXJ7Y29udGVudDoiIjtkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZC1zaXplOjEwMCU7YmFja2dyb3VuZC1wb3NpdGlvbjo1MCUgNTAlO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdH0udW5pLXZpZGVvLWNvbnRyb2wtYnV0dG9uLnVuaS12aWRlby1jb250cm9sLWJ1dHRvbi1wbGF5OmFmdGVyLC51bmktdmlkZW8tY292ZXItcGxheS1idXR0b257YmFja2dyb3VuZC1pbWFnZTp1cmwoImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQm9BQUFBZUNBWUFBQUF5Mnc3WUFBQUFBWE5TUjBJQXJzNGM2UUFBQVdoSlJFRlVTQTFqK1AvLy8wY2dCb0hqUUd6Q1FDc0F0Z0pCL0FNeTV3Q3hHTlh0UTlpQnd2b0E1QlVDTVF2VkxFUXhIcE56RFNqa1JoWExNTTNHS3JJZUtLcEVrWVZZamNVdStBTW8zQUxFM0dSWmlOMU12S0tQZ2JJUkpGdUcxMGo4a29lQTBnWkVXNGpmTElLeWY0RXFwZ094TUVFTENScEZuSUozUUdVNVFNeU0wMExpekNGYTFTV2dTa2VzbGhGdEJHa0tWd0dWeTZGWVNKcCtrbFIvQTZxdUIySk9rSVdNSUswb05sT2Y4eEJvWkRFOUxBSTduWW42SHNCcTRsOTZXSFFFYUxVcEF5aU9hQVNlQU0yTmd2dVBCcGFBQ3Q4MklFWXRmS2xzMFVhZ2VjcHdYeUF6cUdUUmRhQTU3c2ptWXJBcHRBalVzQ2tHWWxZTWc5RUZ5TFFJMUlpWkI4VGk2T2JoNUpOaDBRbWdIbE9jQnVLU0lNR2k1MEMxOFVETWlNc3N2T0pFV1BRTHFLWWJpSG54R2tSSWtvQkYyNER5YW9UTUlFb2VoMFczZ2VJK1JCbEFyQ0kwaXo0RCtSVkF6RWFzZnFMVkFRMTlBY1NnNUxvWWlLV0kxa2lpUWdDTUJMbkVFY2ZEU2dBQUFBQkpSVTVFcmtKZ2dnPT0iKX0udW5pLXZpZGVvLWNvbnRyb2wtYnV0dG9uLnVuaS12aWRlby1jb250cm9sLWJ1dHRvbi1wYXVzZTphZnRlcntiYWNrZ3JvdW5kLWltYWdlOnVybCgiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFCSUFBQUFnQ0FZQUFBQWZmQ2p4QUFBQUFYTlNSMElBcnM0YzZRQUFBRmxKUkVGVVNBM3Rrc0VLQUNBSVE3WC8vNXpxOTh3T2dRYXl1bThRYUd3ZUhoTXpHLzZPdWp6S0F5bW4rMExNcWl2dTFYem5XbVg4L2VjaFRJeU15QWdUd0E3MmlJd3dBZXhnajhnSUU4Q08zYU1SYkRQTWFFeTVCUkdhS2NadjhZeFJBQUFBQUVsRlRrU3VRbUNDIil9LnVuaS12aWRlby1jdXJyZW50LXRpbWUsLnVuaS12aWRlby1kdXJhdGlvbntoZWlnaHQ6MTQuNXB4O2xpbmUtaGVpZ2h0OjE0LjVweDttYXJnaW4tdG9wOjE1cHg7bWFyZ2luLWJvdHRvbToxNC41cHg7Zm9udC1zaXplOjEycHg7Y29sb3I6I2NiY2JjYn0udW5pLXZpZGVvLXByb2dyZXNzLWNvbnRhaW5lcnstd2Via2l0LWJveC1mbGV4OjI7LXdlYmtpdC1mbGV4LWdyb3c6MjtmbGV4LWdyb3c6Mjtwb3NpdGlvbjpyZWxhdGl2ZX0udW5pLXZpZGVvLXByb2dyZXNze2hlaWdodDoycHg7bWFyZ2luOjIxcHggMTJweDtiYWNrZ3JvdW5kLWNvbG9yOmhzbGEoMCwwJSwxMDAlLC40KTtwb3NpdGlvbjpyZWxhdGl2ZTtjdXJzb3I6cG9pbnRlcn0udW5pLXZpZGVvLXByb2dyZXNzLWJ1ZmZlcmVke3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MDt3aWR0aDowO2hlaWdodDoxMDAlOy13ZWJraXQtdHJhbnNpdGlvbjp3aWR0aCAuMXM7dHJhbnNpdGlvbjp3aWR0aCAuMXM7YmFja2dyb3VuZC1jb2xvcjpoc2xhKDAsMCUsMTAwJSwuOCl9LnVuaS12aWRlby1iYWxse3dpZHRoOjE2cHg7aGVpZ2h0OjE2cHg7cGFkZGluZzoxNHB4O3Bvc2l0aW9uOmFic29sdXRlO3RvcDotMjFweDtib3gtc2l6aW5nOmNvbnRlbnQtYm94O2xlZnQ6MDttYXJnaW4tbGVmdDotMjJweH0udW5pLXZpZGVvLWlubmVye3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6NTAlfS51bmktdmlkZW8tZGFubXUtYnV0dG9ue3doaXRlLXNwYWNlOm5vd3JhcDtsaW5lLWhlaWdodDoxO3BhZGRpbmc6MnB4IDEwcHg7Ym9yZGVyOjFweCBzb2xpZCAjZmZmO2JvcmRlci1yYWRpdXM6NXB4O2ZvbnQtc2l6ZToxM3B4O2NvbG9yOiNmZmY7bWFyZ2luOjAgOC41cHg7Y3Vyc29yOnBvaW50ZXJ9LnVuaS12aWRlby1kYW5tdS1idXR0b24udW5pLXZpZGVvLWRhbm11LWJ1dHRvbi1hY3RpdmV7Ym9yZGVyLWNvbG9yOiM0OGMyM2Q7Y29sb3I6IzQ4YzIzZH0udW5pLXZpZGVvLWZ1bGxzY3JlZW57d2lkdGg6MTdweDtoZWlnaHQ6MTdweDtwYWRkaW5nOjguNXB4O2JveC1zaXppbmc6Y29udGVudC1ib3g7YmFja2dyb3VuZC1pbWFnZTp1cmwoImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0lBQUFBaUNBWUFBQUE2Und2Q0FBQUFBWE5TUjBJQXJzNGM2UUFBQVFSSlJFRlVXQW50MWQwTndpQVFCL0NtUzdoSFg1ekZ4TEYwQWgyaEUvbGc3QlQ0UHlNSlVqNk95dDI5OUJJaW9aVDdBUllHNTl3THBUWG1vWE9NR08vUWVjeHR3eVdXNG80MkF1cEdBTGtGZFgxTWtIeEUzUTdqSWJRUHFOdGhRb2dwSm9aa01MUmxzbi9nRk1RRWs0T29ZMG9RVlV3Tm9vYmhRRlF3Z014VUtGa3QwQzgrWnk2MWQ4U2VSNWlIV0NMT3dGL01DYjhUcC8vZXgzUUZzRTFIbENmS0ZVWDJPaWpORk1uUEtEN2s3NlljQm9MNDAyWmg4Qjc3K01qbFhyVnZ3ZmdsWEEzMmIwTXJSZ3hDRTJuQmlFSmFNT0lRTGtZRndzR29RV29ZVlVnSm93NHBZRDRXZXE0YXlCcWZ3RFlRbW5VSzAzMDFrSVR1anVhd3U2NS9sMkI1QTR6M1FlK1V0N0VCQUFBQUFFbEZUa1N1UW1DQyIpO2JhY2tncm91bmQtc2l6ZTo1MCU7YmFja2dyb3VuZC1wb3NpdGlvbjo1MCUgNTAlO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtjdXJzb3I6cG9pbnRlcn0udW5pLXZpZGVvLWZ1bGxzY3JlZW4udW5pLXZpZGVvLXR5cGUtZnVsbHNjcmVlbntiYWNrZ3JvdW5kLWltYWdlOnVybCgiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDSUFBQUFpQ0FZQUFBQTZSd3ZDQUFBQkJFbEVRVlJZaGNYV3dRM0NNQXdGME8rcU96QUtRekFBbDBwTXhRUXdRaG1HS3djRVJ4YmdjNGxFVmRIVWJtM3pKUjhxSmVtVG82WUJ5UzNKTzhranlRYkdrSFFwa096NHpjbUs4WVEwQldEQ2tPeEwrVURLb21iTVlLd2ZaQWttREdMRmhFSXNtSENJRnBNQzBXRFNJSE9ZVkVnTmt3NnBZUEloRTVqL1FDb1lGMGc3ZUVrUFlHZWorY1g4MngvbDZhSUFJT2I5Q2NyYWpyakZFL0lBUUdQMUlnSVJjWVZzVnMzMit2eCtuQzluV3E2ZEFaRGhPYVBIQkVER2g1NE80dzBwYTlveEVaQkZtQ2pJQkdiNlFoNEpNV0dpSVdwTUJrU0Z5WUxNWWpJaE5VdzdOOUdRaTJhUWlMeEpIc3BqVitybDFoRnJScDI1dVYyTVJHUVJCc0Fld1BVRC9IaEpWT091Q3p3QUFBQUFTVVZPUks1Q1lJST0iKX0udW5pLXZpZGVvLWRhbm11e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtib3R0b206MDt3aWR0aDoxMDAlO21hcmdpbi10b3A6MTRweDttYXJnaW4tYm90dG9tOjQ0cHg7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MTRweDtvdmVyZmxvdzp2aXNpYmxlfS51bmktdmlkZW8tZGFubXUtaXRlbXtsaW5lLWhlaWdodDoxO3Bvc2l0aW9uOmFic29sdXRlO2NvbG9yOiNmZmY7d2hpdGUtc3BhY2U6bm93cmFwO2xlZnQ6MTAwJTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGV4KDApO3RyYW5zZm9ybTp0cmFuc2xhdGV4KDApOy13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTpsZWZ0LC13ZWJraXQtdHJhbnNmb3JtO3RyYW5zaXRpb24tcHJvcGVydHk6bGVmdCwtd2Via2l0LXRyYW5zZm9ybTt0cmFuc2l0aW9uLXByb3BlcnR5OmxlZnQsdHJhbnNmb3JtO3RyYW5zaXRpb24tcHJvcGVydHk6bGVmdCx0cmFuc2Zvcm0sLXdlYmtpdC10cmFuc2Zvcm07LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOjNzO3RyYW5zaXRpb24tZHVyYXRpb246M3M7LXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpsaW5lYXI7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246bGluZWFyfS51bmktdmlkZW8tdG9hc3R7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjUwJTt0b3A6NTAlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKTtib3JkZXItcmFkaXVzOjVweDtiYWNrZ3JvdW5kLWNvbG9yOmhzbGEoMCwwJSwxMDAlLC44KTtjb2xvcjojMDAwO2Rpc3BsYXk6bm9uZX0udW5pLXZpZGVvLXRvYXN0LnVuaS12aWRlby10b2FzdC12b2x1bWV7d2lkdGg6MTAwcHg7aGVpZ2h0OjEwMHB4O2Rpc3BsYXk6YmxvY2t9LnVuaS12aWRlby10b2FzdC12b2x1bWUgLnVuaS12aWRlby10b2FzdC10aXRsZXt3aWR0aDoxMDAlO2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjE2cHg7dGV4dC1hbGlnbjpjZW50ZXI7bWFyZ2luLXRvcDoxMHB4O2Rpc3BsYXk6YmxvY2t9LnVuaS12aWRlby10b2FzdC12b2x1bWUgLnVuaS12aWRlby10b2FzdC1pY29ue2ZpbGw6IzAwMDt3aWR0aDo1MCU7aGVpZ2h0OjUwJTttYXJnaW4tbGVmdDoyNSU7ZGlzcGxheTpibG9ja30udW5pLXZpZGVvLXRvYXN0LXZvbHVtZSAudW5pLXZpZGVvLXRvYXN0LXZhbHVle3dpZHRoOjgwcHg7aGVpZ2h0OjVweDttYXJnaW4tdG9wOjVweDttYXJnaW4tbGVmdDoxMHB4fS51bmktdmlkZW8tdG9hc3Qtdm9sdW1lIC51bmktdmlkZW8tdG9hc3QtdmFsdWU+LnVuaS12aWRlby10b2FzdC12YWx1ZS1jb250ZW50e292ZXJmbG93OmhpZGRlbn0udW5pLXZpZGVvLXRvYXN0LXZvbHVtZS1ncmlkc3t3aWR0aDo4MHB4O2hlaWdodDo1cHh9LnVuaS12aWRlby10b2FzdC12b2x1bWUtZ3JpZHMtaXRlbXtmbG9hdDpsZWZ0O3dpZHRoOjcuMXB4O2hlaWdodDo1cHg7YmFja2dyb3VuZC1jb2xvcjojMDAwfS51bmktdmlkZW8tdG9hc3Qtdm9sdW1lLWdyaWRzLWl0ZW06bm90KDpmaXJzdC1jaGlsZCl7bWFyZ2luLWxlZnQ6MXB4fS51bmktdmlkZW8tdG9hc3QudW5pLXZpZGVvLXRvYXN0LXByb2dyZXNze2Rpc3BsYXk6YmxvY2s7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC44KTtjb2xvcjojZmZmO2ZvbnQtc2l6ZToxNHB4O2xpbmUtaGVpZ2h0OjE4cHg7cGFkZGluZzo2cHh9dW5pLXZpZXd7ZGlzcGxheTpibG9ja311bmktdmlld1toaWRkZW5de2Rpc3BsYXk6bm9uZX11bmktd2ViLXZpZXd7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5Oi13ZWJraXQtZmxleDtkaXNwbGF5OmZsZXh9dW5pLXdlYi12aWV3LnVuaS13ZWJ2aWV3LS1mdWxsc2NyZWVue3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtyaWdodDowO3RvcDowO2JvdHRvbTowfWJvZHk6OmFmdGVye3Bvc2l0aW9uOmZpeGVkO2NvbnRlbnQ6Jyc7bGVmdDotMTAwMHB4O3RvcDotMTAwMHB4Oy13ZWJraXQtYW5pbWF0aW9uOnNoYWRvdy1wcmVsb2FkIC4xczstd2Via2l0LWFuaW1hdGlvbi1kZWxheTozczthbmltYXRpb246c2hhZG93LXByZWxvYWQgLjFzO2FuaW1hdGlvbi1kZWxheTozc31ALXdlYmtpdC1rZXlmcmFtZXMgc2hhZG93LXByZWxvYWR7MCV7YmFja2dyb3VuZC1pbWFnZTp1cmwoaHR0cHM6Ly9jZG4uZGNsb3VkLm5ldC5jbi9pbWcvc2hhZG93LWdyZXkucG5nKX0xMDAle2JhY2tncm91bmQtaW1hZ2U6dXJsKGh0dHBzOi8vY2RuLmRjbG91ZC5uZXQuY24vaW1nL3NoYWRvdy1ncmV5LnBuZyl9fUBrZXlmcmFtZXMgc2hhZG93LXByZWxvYWR7MCV7YmFja2dyb3VuZC1pbWFnZTp1cmwoaHR0cHM6Ly9jZG4uZGNsb3VkLm5ldC5jbi9pbWcvc2hhZG93LWdyZXkucG5nKX0xMDAle2JhY2tncm91bmQtaW1hZ2U6dXJsKGh0dHBzOi8vY2RuLmRjbG91ZC5uZXQuY24vaW1nL3NoYWRvdy1ncmV5LnBuZyl9fQ=="}},"time_used":259,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":256,"receive":3,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null},{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"unpkg.com/@walletconnect/web3-provider@1.8.0/dist/umd/index.min.js","fqdn":"unpkg.com","domain":"unpkg.com","tld":"com"},"ip":{"addr":"104.18.1.22","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://futurbcvndf.com/","date":"2026-07-27T06:23:00.658Z","timestamp":1785133380658,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"unpkg.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sat, 11 Jul 2026 17:56:32 GMT","end":"Fri, 09 Oct 2026 18:56:21 GMT"},"fingerprint":{"sha1":"81:08:7C:A2:AA:81:B4:77:02:EE:53:FB:23:6F:1D:97:C3:92:2E:A0","sha256":"13:42:07:B0:BF:53:83:27:C3:6E:69:00:B5:F0:1C:58:6C:AD:B4:DD:93:08:84:F0:97:51:3B:60:91:10:85:76"}}},"request":{"raw":"GET /@walletconnect/web3-provider@1.8.0/dist/umd/index.min.js HTTP/1.1\r\nHost: unpkg.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://futurbcvndf.com/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ndate: Mon, 27 Jul 2026 06:23:00 GMT\r\ncontent-type: text/javascript; charset=utf-8\r\ncf-ray: a2198d8d1bbb8deb-OSL\r\ncf-cache-status: HIT\r\npriority: u=3,i=?0\r\naccess-control-allow-origin: *\r\nage: 7202\r\ncache-control: public, max-age=31536000\r\nexpires: Tue, 27 Jul 2027 06:23:00 GMT\r\nlast-modified: Mon, 27 Jul 2026 04:22:58 GMT\r\nserver: cloudflare\r\nstrict-transport-security: max-age=31536000; includeSubDomains; preload\r\nvary: accept-encoding\r\nvia: 1.1 fly.io, 1.1 fly.io\r\naccess-control-allow-headers: *\r\naccess-control-allow-methods: GET, HEAD, OPTIONS\r\naccess-control-expose-headers: *\r\ncross-origin-resource-policy: cross-origin\r\nx-content-type-options: nosniff\r\ncontent-digest: sha256=:OfIB2zuUgSYcwWYMPC+YgPsJ70TB5f5dni/Z3rgYvRA=:\r\nfly-request-id: 01KCHQKFAK511TN66QA9WARA0J-fra\r\ncontent-encoding: gzip\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Fly.io","description":"Fly is a platform for running full stack apps and databases.","website":"https://fly.io","common_platform_enumeration":"","icon":"Fly.io.png","categories":["PaaS"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":747370,"size_decoded":224513,"mime_type":"text/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (50824)","md5":"47f795b848c217887b6b777101941080","sha1":"e35aedb35e68be3a777324fd92adf7396132b7b2","sha256":"39f201db3b9481261cc1660c3c2f9880fb09ef44c1e5fe5d9e2fd9deb818bd10","sha512":"ec7124aea23a2262ca514584d77395d39f27134ed5938b4dee942ef87170067e4195b2e9feb595b68deb412cd1916d539c658f06a36543fe54708ef7869ff93c","ssdeep":"6144:Nyk4F3cPmw7kM9YTIPAIhKVlbolFdQMPjqUY2OoGHFiRlQIiH+O3+2zrbwRbCNvr:0SY0zGliQIipDwRbamsjEmLR","tlshash":"e7f4f984b6a4b061439765a4003f540ff27aba2d780a44bcf654d8f6bcbc98d653bf39","first_seen":"2023-03-07T14:37:40Z","last_seen":"2026-08-03T12:41:36.35389Z","times_seen":649,"resource_available":true,"data":"IWZ1bmN0aW9uKHQsZSl7Im9iamVjdCI9PXR5cGVvZiBleHBvcnRzJiYib2JqZWN0Ij09dHlwZW9mIG1vZHVsZT9tb2R1bGUuZXhwb3J0cz1lKCk6ImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoIldhbGxldENvbm5lY3RQcm92aWRlciIsW10sZSk6Im9iamVjdCI9PXR5cGVvZiBleHBvcnRzP2V4cG9ydHMuV2FsbGV0Q29ubmVjdFByb3ZpZGVyPWUoKTp0LldhbGxldENvbm5lY3RQcm92aWRlcj1lKCl9KHRoaXMsKGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKHQpe3ZhciBlPXt9O2Z1bmN0aW9uIHIobil7aWYoZVtuXSlyZXR1cm4gZVtuXS5leHBvcnRzO3ZhciBpPWVbbl09e2k6bixsOiExLGV4cG9ydHM6e319O3JldHVybiB0W25dLmNhbGwoaS5leHBvcnRzLGksaS5leHBvcnRzLHIpLGkubD0hMCxpLmV4cG9ydHN9cmV0dXJuIHIubT10LHIuYz1lLHIuZD1mdW5jdGlvbih0LGUsbil7ci5vKHQsZSl8fE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGUse2VudW1lcmFibGU6ITAsZ2V0Om59KX0sci5yPWZ1bmN0aW9uKHQpeyJ1bmRlZmluZWQiIT10eXBlb2YgU3ltYm9sJiZTeW1ib2wudG9TdHJpbmdUYWcmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFN5bWJvbC50b1N0cmluZ1RhZyx7dmFsdWU6Ik1vZHVsZSJ9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSl9LHIudD1mdW5jdGlvbih0LGUpe2lmKDEmZSYmKHQ9cih0KSksOCZlKXJldHVybiB0O2lmKDQmZSYmIm9iamVjdCI9PXR5cGVvZiB0JiZ0JiZ0Ll9fZXNNb2R1bGUpcmV0dXJuIHQ7dmFyIG49T2JqZWN0LmNyZWF0ZShudWxsKTtpZihyLnIobiksT2JqZWN0LmRlZmluZVByb3BlcnR5KG4sImRlZmF1bHQiLHtlbnVtZXJhYmxlOiEwLHZhbHVlOnR9KSwyJmUmJiJzdHJpbmciIT10eXBlb2YgdClmb3IodmFyIGkgaW4gdClyLmQobixpLGZ1bmN0aW9uKGUpe3JldHVybiB0W2VdfS5iaW5kKG51bGwsaSkpO3JldHVybiBufSxyLm49ZnVuY3Rpb24odCl7dmFyIGU9dCYmdC5fX2VzTW9kdWxlP2Z1bmN0aW9uKCl7cmV0dXJuIHQuZGVmYXVsdH06ZnVuY3Rpb24oKXtyZXR1cm4gdH07cmV0dXJuIHIuZChlLCJhIixlKSxlfSxyLm89ZnVuY3Rpb24odCxlKXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsZSl9LHIucD0iIixyKHIucz0xNjYpfShbZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjsoZnVuY3Rpb24odCl7ci5kKGUsImYiLChmdW5jdGlvbigpe3JldHVybiBhfSkpLHIuZChlLCJnIiwoZnVuY3Rpb24oKXtyZXR1cm4gdX0pKSxyLmQoZSwiaSIsKGZ1bmN0aW9uKCl7cmV0dXJuIGN9KSksci5kKGUsImgiLChmdW5jdGlvbigpe3JldHVybiBmfSkpLHIuZChlLCJiIiwoZnVuY3Rpb24oKXtyZXR1cm4gaH0pKSxyLmQoZSwiYyIsKGZ1bmN0aW9uKCl7cmV0dXJuIGx9KSksci5kKGUsImUiLChmdW5jdGlvbigpe3JldHVybiBkfSkpLHIuZChlLCJkIiwoZnVuY3Rpb24oKXtyZXR1cm4gcH0pKSxyLmQoZSwibyIsKGZ1bmN0aW9uKCl7cmV0dXJuIG19KSksci5kKGUsIm4iLChmdW5jdGlvbigpe3JldHVybiBnfSkpLHIuZChlLCJwIiwoZnVuY3Rpb24oKXtyZXR1cm4gYn0pKSxyLmQoZSwiQSIsKGZ1bmN0aW9uKCl7cmV0dXJuIHl9KSksci5kKGUsInoiLChmdW5jdGlvbigpe3JldHVybiB2fSkpLHIuZChlLCJCIiwoZnVuY3Rpb24oKXtyZXR1cm4gX30pKSxyLmQoZSwidiIsKGZ1bmN0aW9uKCl7cmV0dXJuIHd9KSksci5kKGUsInUiLChmdW5jdGlvbigpe3JldHVybiBNfSkpLHIuZChlLCJzIiwoZnVuY3Rpb24oKXtyZXR1cm4geH0pKSxyLmQoZSwiciIsKGZ1bmN0aW9uKCl7cmV0dXJuIGt9KSksci5kKGUsInQiLChmdW5jdGlvbigpe3JldHVybiBBfSkpLHIuZChlLCJxIiwoZnVuY3Rpb24oKXtyZXR1cm4gUn0pKSxyLmQoZSwibSIsKGZ1bmN0aW9uKCl7cmV0dXJuIFR9KSksci5kKGUsImwiLChmdW5jdGlvbigpe3JldHVybiBPfSkpLHIuZChlLCJrIiwoZnVuY3Rpb24oKXtyZXR1cm4gQ30pKSxyLmQoZSwiaiIsKGZ1bmN0aW9uKCl7cmV0dXJuIFB9KSksci5kKGUsIngiLChmdW5jdGlvbigpe3JldHVybiBMfSkpLHIuZChlLCJhIiwoZnVuY3Rpb24oKXtyZXR1cm4gan0pKSxyLmQoZSwieSIsKGZ1bmN0aW9uKCl7cmV0dXJuIE59KSksci5kKGUsInciLChmdW5jdGlvbigpe3JldHVybiBxfSkpO3ZhciBuPXIoNzcpLGk9ci5uKG4pLG89cigxNTkpLHM9ci5uKG8pO2Z1bmN0aW9uIGEodCl7cmV0dXJuIG5ldyBVaW50OEFycmF5KHQpfWZ1bmN0aW9uIHUodCxlPSExKXtjb25zdCByPXQudG9TdHJpbmcoImhleCIpO3JldHVybiBlP2oocik6cn1mdW5jdGlvbiBjKHQpe3JldHVybiB0LnRvU3RyaW5nKCJ1dGY4Iil9ZnVuY3Rpb24gZih0KXtyZXR1cm4gdC5yZWFkVUludEJFKDAsdC5sZW5ndGgpfWZ1bmN0aW9uIGgodCl7cmV0dXJuIHMoKSh0KX1mdW5jdGlvbiBsKHQsZT0hMSl7cmV0dXJuIHUoaCh0KSxlKX1mdW5jdGlvbiBkKHQpe3JldHVybiBjKGgodCkpfWZ1bmN0aW9uIHAodCl7cmV0dXJuIGYoaCh0KSl9ZnVuY3Rpb24gbShlKXtyZXR1cm4gdC5mcm9tKEwoZSksImhleCIpfWZ1bmN0aW9uIGcodCl7cmV0dXJuIGEobSh0KSl9ZnVuY3Rpb24gYih0KXtyZXR1cm4gYyhtKHQpKX1mdW5jdGlvbiB5KGUpe3JldHVybiB0LmZyb20oZSwidXRmOCIpfWZ1bmN0aW9uIHYodCl7cmV0dXJuIGEoeSh0KSl9ZnVuY3Rpb24gXyh0LGU9ITEpe3JldHVybiB1KHkodCksZSl9ZnVuY3Rpb24gdyh0KXtyZXR1cm4gaChFKFModCkpKX1mdW5jdGlvbiBNKHQpe3JldHVybiBFKFModCkpfWZ1bmN0aW9uIFModCl7cmV0dXJuIEIoKHQ+Pj4wKS50b1N0cmluZygyKSl9ZnVuY3Rpb24gRSh0KXtyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoSSh0KS5tYXAodD0+cGFyc2VJbnQodCwyKSkpfWZ1bmN0aW9uIHgodCxlKXtyZXR1cm4hKCJzdHJpbmciIT10eXBlb2YgdHx8IXQubWF0Y2goL14weFswLTlBLUZhLWZdKiQvKSkmJighZXx8dC5sZW5ndGg9PT0yKzIqZSl9ZnVuY3Rpb24gayhlKXtyZXR1cm4gdC5pc0J1ZmZlcihlKX1mdW5jdGlvbiBBKHQpe3JldHVybiBpLmEuc3RyaWN0KHQpJiYhayh0KX1mdW5jdGlvbiBSKHQpe3JldHVybiFBKHQpJiYhayh0KSYmdm9pZCAwIT09dC5ieXRlTGVuZ3RofWZ1bmN0aW9uIFQodCl7cmV0dXJuIGsodCk/ImJ1ZmZlciI6QSh0KT8idHlwZWQtYXJyYXkiOlIodCk/ImFycmF5LWJ1ZmZlciI6QXJyYXkuaXNBcnJheSh0KT8iYXJyYXkiOnR5cGVvZiB0fWZ1bmN0aW9uIE8odCl7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiEoInN0cmluZyIhPXR5cGVvZiB0fHwhbmV3IFJlZ0V4cCgvXlswMV0rJC8pLnRlc3QodCkpJiZ0Lmxlbmd0aCU4PT0wfSh0KT8iYmluYXJ5Ijp4KHQpPyJoZXgiOiJ1dGY4In1mdW5jdGlvbiBDKC4uLmUpe3JldHVybiB0LmNvbmNhdChlKX1mdW5jdGlvbiBQKC4uLnQpe2xldCBlPVtdO3JldHVybiB0LmZvckVhY2godD0+ZT1lLmNvbmNhdChBcnJheS5mcm9tKHQpKSksbmV3IFVpbnQ4QXJyYXkoWy4uLmVdKX1mdW5jdGlvbiBJKHQsZT04KXtjb25zdCByPUIodCkubWF0Y2gobmV3IFJlZ0V4cChgLnske2V9fWAsImdpIikpO3JldHVybiBBcnJheS5mcm9tKHJ8fFtdKX1mdW5jdGlvbiBCKHQsZT04LHI9IjAiKXtyZXR1cm4gZnVuY3Rpb24odCxlLHI9IjAiKXtyZXR1cm4gVSh0LGUsITAscil9KHQsZnVuY3Rpb24odCxlPTgpe2NvbnN0IHI9dCVlO3JldHVybiByPyh0LXIpL2UqZStlOnR9KHQubGVuZ3RoLGUpLHIpfWZ1bmN0aW9uIEwodCl7cmV0dXJuIHQucmVwbGFjZSgvXjB4LywiIil9ZnVuY3Rpb24gaih0KXtyZXR1cm4gdC5zdGFydHNXaXRoKCIweCIpP3Q6IjB4Iit0fWZ1bmN0aW9uIE4odCl7cmV0dXJuKHQ9Qih0PUwodCksMikpJiYodD1qKHQpKSx0fWZ1bmN0aW9uIHEodCl7Y29uc3QgZT10LnN0YXJ0c1dpdGgoIjB4Iik7cmV0dXJuIHQ9KHQ9TCh0KSkuc3RhcnRzV2l0aCgiMCIpP3Quc3Vic3RyaW5nKDEpOnQsZT9qKHQpOnR9ZnVuY3Rpb24gVSh0LGUscixuPSIwIil7Y29uc3QgaT1lLXQubGVuZ3RoO2xldCBvPXQ7aWYoaT4wKXtjb25zdCBlPW4ucmVwZWF0KGkpO289cj9lK3Q6dCtlfXJldHVybiBvfX0pLmNhbGwodGhpcyxyKDIpLkJ1ZmZlcil9LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ci5yKGUpO3ZhciBuPXIoNzYpO2NvbnN0IGk9WyJzZXNzaW9uX3JlcXVlc3QiLCJzZXNzaW9uX3VwZGF0ZSIsImV4Y2hhbmdlX2tleSIsImNvbm5lY3QiLCJkaXNjb25uZWN0IiwiZGlzcGxheV91cmkiLCJtb2RhbF9jbG9zZWQiLCJ0cmFuc3BvcnRfb3BlbiIsInRyYW5zcG9ydF9jbG9zZSIsInRyYW5zcG9ydF9lcnJvciJdLG89WyJldGhfc2VuZFRyYW5zYWN0aW9uIiwiZXRoX3NpZ25UcmFuc2FjdGlvbiIsImV0aF9zaWduIiwiZXRoX3NpZ25UeXBlZERhdGEiLCJldGhfc2lnblR5cGVkRGF0YV92MSIsImV0aF9zaWduVHlwZWREYXRhX3YyIiwiZXRoX3NpZ25UeXBlZERhdGFfdjMiLCJldGhfc2lnblR5cGVkRGF0YV92NCIsInBlcnNvbmFsX3NpZ24iLCJ3YWxsZXRfYWRkRXRoZXJldW1DaGFpbiIsIndhbGxldF9zd2l0Y2hFdGhlcmV1bUNoYWluIiwid2FsbGV0X2dldFBlcm1pc3Npb25zIiwid2FsbGV0X3JlcXVlc3RQZXJtaXNzaW9ucyIsIndhbGxldF9yZWdpc3Rlck9uYm9hcmRpbmciLCJ3YWxsZXRfd2F0Y2hBc3NldCIsIndhbGxldF9zY2FuUVJDb2RlIl0scz1bImV0aF9hY2NvdW50cyIsImV0aF9jaGFpbklkIiwibmV0X3ZlcnNpb24iXSxhPXsxOiJtYWlubmV0IiwzOiJyb3BzdGVuIiw0OiJyaW5rZWJ5Iiw1OiJnb2VybGkiLDQyOiJrb3ZhbiJ9O3ZhciB1PXIoOSksYz1yLm4odSksZj1yKDApO2Z1bmN0aW9uIGgodCl7cmV0dXJuIGYuYihuZXcgVWludDhBcnJheSh0KSl9ZnVuY3Rpb24gbCh0KXtyZXR1cm4gZi5lKG5ldyBVaW50OEFycmF5KHQpKX1mdW5jdGlvbiBkKHQsZSl7cmV0dXJuIGYuYyhuZXcgVWludDhBcnJheSh0KSwhZSl9ZnVuY3Rpb24gcCh0KXtyZXR1cm4gZi5kKG5ldyBVaW50OEFycmF5KHQpKX1mdW5jdGlvbiBtKC4uLnQpe3JldHVybiBmLm4odC5tYXAodD0+Zi5jKG5ldyBVaW50OEFycmF5KHQpKSkuam9pbigiIikpLmJ1ZmZlcn1mdW5jdGlvbiBnKHQpe3JldHVybiBmLmYodCkuYnVmZmVyfWZ1bmN0aW9uIGIodCl7cmV0dXJuIGYuaSh0KX1mdW5jdGlvbiB5KHQsZSl7cmV0dXJuIGYuZyh0LCFlKX1mdW5jdGlvbiB2KHQpe3JldHVybiBmLmgodCl9ZnVuY3Rpb24gXyguLi50KXtyZXR1cm4gZi5rKC4uLnQpfWZ1bmN0aW9uIHcodCl7cmV0dXJuIGYueih0KS5idWZmZXJ9ZnVuY3Rpb24gTSh0KXtyZXR1cm4gZi5BKHQpfWZ1bmN0aW9uIFModCxlKXtyZXR1cm4gZi5CKHQsIWUpfWZ1bmN0aW9uIEUodCl7cmV0dXJuIG5ldyBjLmEodCwxMCkudG9OdW1iZXIoKX1mdW5jdGlvbiB4KHQpe3JldHVybiBmLm8odCl9ZnVuY3Rpb24gayh0KXtyZXR1cm4gZi5uKHQpLmJ1ZmZlcn1mdW5jdGlvbiBBKHQpe3JldHVybiBmLnAodCl9ZnVuY3Rpb24gUih0KXtyZXR1cm4gbmV3IGMuYShmLngodCksImhleCIpLnRvTnVtYmVyKCl9ZnVuY3Rpb24gVCh0KXtyZXR1cm4gZi52KHQpfWZ1bmN0aW9uIE8odCl7cmV0dXJuIGYudSh0KS5idWZmZXJ9ZnVuY3Rpb24gQyh0KXtyZXR1cm4gbmV3IGMuYSh0KS50b1N0cmluZygpfWZ1bmN0aW9uIFAodCxlKXtjb25zdCByPWYueChmLnkobmV3IGMuYSh0KS50b1N0cmluZygxNikpKTtyZXR1cm4gZT9yOmYuYShyKX12YXIgST1yKDE2MCk7ZnVuY3Rpb24gQih0KXtyZXR1cm4gZi55KHQpfWZ1bmN0aW9uIEwodCl7cmV0dXJuIGYuYSh0KX1mdW5jdGlvbiBqKHQpe3JldHVybiBmLngodCl9ZnVuY3Rpb24gTih0KXtyZXR1cm4gZi53KGYuYSh0KSl9Y29uc3QgcT1yKDE2MSkucGF5bG9hZElkO2Z1bmN0aW9uIFUoKXtyZXR1cm4oKHQsZSk9Pntmb3IoZT10PSIiO3QrKzwzNjtlKz01MSp0JjUyPygxNV50PzheTWF0aC5yYW5kb20oKSooMjBedD8xNjo0KTo0KS50b1N0cmluZygxNik6Ii0iKTtyZXR1cm4gZX0pKCl9ZnVuY3Rpb24gRCgpe2NvbnNvbGUud2FybigiREVQUkVDQVRJT04gV0FSTklORzogVGhpcyBXYWxsZXRDb25uZWN0IGNsaWVudCBsaWJyYXJ5IHdpbGwgYmUgZGVwcmVjYXRlZCBpbiBmYXZvciBvZiBAd2FsbGV0Y29ubmVjdC9jbGllbnQuIFBsZWFzZSBjaGVjayBkb2NzLndhbGxldGNvbm5lY3Qub3JnIHRvIGxlYXJuIG1vcmUgYWJvdXQgdGhpcyBtaWdyYXRpb24hIil9ZnVuY3Rpb24geih0LGUpe2xldCByO2NvbnN0IG49YVt0XTtyZXR1cm4gbiYmKHI9YGh0dHBzOi8vJHtufS5pbmZ1cmEuaW8vdjMvJHtlfWApLHJ9ZnVuY3Rpb24gSCh0LGUpe2xldCByO2NvbnN0IG49eih0LGUuaW5mdXJhSWQpO3JldHVybiBlLmN1c3RvbSYmZS5jdXN0b21bdF0/cj1lLmN1c3RvbVt0XTpuJiYocj1uKSxyfWZ1bmN0aW9uIEYodCl7cmV0dXJuIiI9PT10fHwic3RyaW5nIj09dHlwZW9mIHQmJiIiPT09dC50cmltKCl9ZnVuY3Rpb24gVyh0KXtyZXR1cm4hKHQmJnQubGVuZ3RoKX1mdW5jdGlvbiBLKHQpe3JldHVybiBmLnIodCl9ZnVuY3Rpb24gVih0KXtyZXR1cm4gZi50KHQpfWZ1bmN0aW9uIEoodCl7cmV0dXJuIGYucSh0KX1mdW5jdGlvbiBZKHQpe3JldHVybiBmLm0odCl9ZnVuY3Rpb24gRyh0KXtyZXR1cm4gZi5sKHQpfWZ1bmN0aW9uIFoodCxlKXtyZXR1cm4gZi5zKHQsZSl9ZnVuY3Rpb24gJCh0KXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIHQucGFyYW1zfWZ1bmN0aW9uIFgodCl7cmV0dXJuIHZvaWQgMCE9PXQubWV0aG9kfWZ1bmN0aW9uIFEodCl7cmV0dXJuIHZvaWQgMCE9PXQucmVzdWx0fWZ1bmN0aW9uIHR0KHQpe3JldHVybiB2b2lkIDAhPT10LmVycm9yfWZ1bmN0aW9uIGV0KHQpe3JldHVybiB2b2lkIDAhPT10LmV2ZW50fWZ1bmN0aW9uIHJ0KHQpe3JldHVybiBpLmluY2x1ZGVzKHQpfHx0LnN0YXJ0c1dpdGgoIndjXyIpfWZ1bmN0aW9uIG50KHQpe3JldHVybiEhdC5tZXRob2Quc3RhcnRzV2l0aCgid2NfIil8fCFvLmluY2x1ZGVzKHQubWV0aG9kKX1mdW5jdGlvbiBpdCh0KXt0PU9iamVjdChmLngpKHQudG9Mb3dlckNhc2UoKSk7Y29uc3QgZT1PYmplY3QoZi54KShPYmplY3QoSS5rZWNjYWtfMjU2KShNKHQpKSk7bGV0IHI9IiI7Zm9yKGxldCBuPTA7bjx0Lmxlbmd0aDtuKyspcGFyc2VJbnQoZVtuXSwxNik+Nz9yKz10W25dLnRvVXBwZXJDYXNlKCk6cis9dFtuXTtyZXR1cm4gT2JqZWN0KGYuYSkocil9Y29uc3Qgb3Q9dD0+ISF0JiYoIjB4Ij09PXQudG9Mb3dlckNhc2UoKS5zdWJzdHJpbmcoMCwyKSYmKCEhL14oMHgpP1swLTlhLWZdezQwfSQvaS50ZXN0KHQpJiYoISghL14oMHgpP1swLTlhLWZdezQwfSQvLnRlc3QodCkmJiEvXigweCk/WzAtOUEtRl17NDB9JC8udGVzdCh0KSl8fHQ9PT1pdCh0KSkpKTtmdW5jdGlvbiBzdCh0KXtyZXR1cm4gVyh0KXx8Wih0WzBdKXx8KHRbMF09Uyh0WzBdKSksdH1mdW5jdGlvbiBhdCh0KXtpZih2b2lkIDAhPT10LnR5cGUmJiIwIiE9PXQudHlwZSlyZXR1cm4gdDtpZih2b2lkIDA9PT10LmZyb218fCFvdCh0LmZyb20pKXRocm93IG5ldyBFcnJvcigiVHJhbnNhY3Rpb24gb2JqZWN0IG11c3QgaW5jbHVkZSBhIHZhbGlkICdmcm9tJyB2YWx1ZS4iKTtmdW5jdGlvbiBlKHQpe2xldCBlPXQ7cmV0dXJuKCJudW1iZXIiPT10eXBlb2YgdHx8InN0cmluZyI9PXR5cGVvZiB0JiYhRih0KSkmJihaKHQpPyJzdHJpbmciPT10eXBlb2YgdCYmKGU9Qih0KSk6ZT1QKHQpKSwic3RyaW5nIj09dHlwZW9mIGUmJihlPU4oZSkpLGV9Y29uc3Qgcj17ZnJvbTpCKHQuZnJvbSksdG86dm9pZCAwPT09dC50bz92b2lkIDA6Qih0LnRvKSxnYXNQcmljZTp2b2lkIDA9PT10Lmdhc1ByaWNlPyIiOmUodC5nYXNQcmljZSksZ2FzOnZvaWQgMD09PXQuZ2FzP3ZvaWQgMD09PXQuZ2FzTGltaXQ/IiI6ZSh0Lmdhc0xpbWl0KTplKHQuZ2FzKSx2YWx1ZTp2b2lkIDA9PT10LnZhbHVlPyIiOmUodC52YWx1ZSksbm9uY2U6dm9pZCAwPT09dC5ub25jZT8iIjplKHQubm9uY2UpLGRhdGE6dm9pZCAwPT09dC5kYXRhPyIiOkIodC5kYXRhKXx8IjB4In0sbj1bImdhc1ByaWNlIiwiZ2FzIiwidmFsdWUiLCJub25jZSJdO3JldHVybiBPYmplY3Qua2V5cyhyKS5mb3JFYWNoKHQ9Pnsodm9pZCAwPT09clt0XXx8InN0cmluZyI9PXR5cGVvZiByW3RdJiYhclt0XS50cmltKCkubGVuZ3RoKSYmbi5pbmNsdWRlcyh0KSYmZGVsZXRlIHJbdF19KSxyfWZ1bmN0aW9uIHV0KHQsZSl7cmV0dXJuIGFzeW5jKC4uLnIpPT5uZXcgUHJvbWlzZSgobixpKT0+e3QuYXBwbHkoZSxbLi4uciwodCxlKT0+e251bGw9PXQmJmkodCksbihlKX1dKX0pfWZ1bmN0aW9uIGN0KHQpe2NvbnN0IGU9dC5tZXNzYWdlfHwiRmFpbGVkIG9yIFJlamVjdGVkIFJlcXVlc3QiO2xldCByPS0zMmUzO2lmKHQmJiF0LmNvZGUpc3dpdGNoKGUpe2Nhc2UiUGFyc2UgZXJyb3IiOnI9LTMyNzAwO2JyZWFrO2Nhc2UiSW52YWxpZCByZXF1ZXN0IjpyPS0zMjYwMDticmVhaztjYXNlIk1ldGhvZCBub3QgZm91bmQiOnI9LTMyNjAxO2JyZWFrO2Nhc2UiSW52YWxpZCBwYXJhbXMiOnI9LTMyNjAyO2JyZWFrO2Nhc2UiSW50ZXJuYWwgZXJyb3IiOnI9LTMyNjAzO2JyZWFrO2RlZmF1bHQ6cj0tMzJlM31jb25zdCBuPXtjb2RlOnIsbWVzc2FnZTplfTtyZXR1cm4gdC5kYXRhJiYobi5kYXRhPXQuZGF0YSksbn12YXIgZnQ9cig3OCk7ZnVuY3Rpb24gaHQodCl7Y29uc3QgZT0tMSE9PXQuaW5kZXhPZigiPyIpP3QuaW5kZXhPZigiPyIpOnZvaWQgMDtyZXR1cm4gdm9pZCAwIT09ZT90LnN1YnN0cihlKToiIn1mdW5jdGlvbiBsdCh0LGUpe2xldCByPWR0KHQpO3JldHVybiByPU9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxyKSxlKSx0PXB0KHIpfWZ1bmN0aW9uIGR0KHQpe3JldHVybiBmdC5wYXJzZSh0KX1mdW5jdGlvbiBwdCh0KXtyZXR1cm4gZnQuc3RyaW5naWZ5KHQpfWZ1bmN0aW9uIG10KHQpe3JldHVybiB2b2lkIDAhPT10LmJyaWRnZX1mdW5jdGlvbiBndCh0KXtjb25zdCBlPXQuaW5kZXhPZigiOiIpLHI9LTEhPT10LmluZGV4T2YoIj8iKT90LmluZGV4T2YoIj8iKTp2b2lkIDAsbj10LnN1YnN0cmluZygwLGUpO2NvbnN0IGk9ZnVuY3Rpb24odCl7Y29uc3QgZT10LnNwbGl0KCJAIik7cmV0dXJue2hhbmRzaGFrZVRvcGljOmVbMF0sdmVyc2lvbjpwYXJzZUludChlWzFdLDEwKX19KHQuc3Vic3RyaW5nKGUrMSxyKSk7Y29uc3Qgbz1mdW5jdGlvbih0KXtjb25zdCBlPWR0KHQpO3JldHVybntrZXk6ZS5rZXl8fCIiLGJyaWRnZTplLmJyaWRnZXx8IiJ9fSh2b2lkIDAhPT1yP3Quc3Vic3RyKHIpOiIiKTtyZXR1cm4gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHtwcm90b2NvbDpufSxpKSxvKX1yLmQoZSwiZGV0ZWN0RW52IiwoZnVuY3Rpb24oKXtyZXR1cm4gbi5kZXRlY3RFbnZ9KSksci5kKGUsImRldGVjdE9TIiwoZnVuY3Rpb24oKXtyZXR1cm4gbi5kZXRlY3RPU30pKSxyLmQoZSwiaXNBbmRyb2lkIiwoZnVuY3Rpb24oKXtyZXR1cm4gbi5pc0FuZHJvaWR9KSksci5kKGUsImlzSU9TIiwoZnVuY3Rpb24oKXtyZXR1cm4gbi5pc0lPU30pKSxyLmQoZSwiaXNNb2JpbGUiLChmdW5jdGlvbigpe3JldHVybiBuLmlzTW9iaWxlfSkpLHIuZChlLCJpc05vZGUiLChmdW5jdGlvbigpe3JldHVybiBuLmlzTm9kZX0pKSxyLmQoZSwiaXNCcm93c2VyIiwoZnVuY3Rpb24oKXtyZXR1cm4gbi5pc0Jyb3dzZXJ9KSksci5kKGUsImdldEZyb21XaW5kb3ciLChmdW5jdGlvbigpe3JldHVybiBuLmdldEZyb21XaW5kb3d9KSksci5kKGUsImdldEZyb21XaW5kb3dPclRocm93IiwoZnVuY3Rpb24oKXtyZXR1cm4gbi5nZXRGcm9tV2luZG93T3JUaHJvd30pKSxyLmQoZSwiZ2V0RG9jdW1lbnRPclRocm93IiwoZnVuY3Rpb24oKXtyZXR1cm4gbi5nZXREb2N1bWVudE9yVGhyb3d9KSksci5kKGUsImdldERvY3VtZW50IiwoZnVuY3Rpb24oKXtyZXR1cm4gbi5nZXREb2N1bWVudH0pKSxyLmQoZSwiZ2V0TmF2aWdhdG9yT3JUaHJvdyIsKGZ1bmN0aW9uKCl7cmV0dXJuIG4uZ2V0TmF2aWdhdG9yT3JUaHJvd30pKSxyLmQoZSwiZ2V0TmF2aWdhdG9yIiwoZnVuY3Rpb24oKXtyZXR1cm4gbi5nZXROYXZpZ2F0b3J9KSksci5kKGUsImdldExvY2F0aW9uT3JUaHJvdyIsKGZ1bmN0aW9uKCl7cmV0dXJuIG4uZ2V0TG9jYXRpb25PclRocm93fSkpLHIuZChlLCJnZXRMb2NhdGlvbiIsKGZ1bmN0aW9uKCl7cmV0dXJuIG4uZ2V0TG9jYXRpb259KSksci5kKGUsImdldENyeXB0b09yVGhyb3ciLChmdW5jdGlvbigpe3JldHVybiBuLmdldENyeXB0b09yVGhyb3d9KSksci5kKGUsImdldENyeXB0byIsKGZ1bmN0aW9uKCl7cmV0dXJuIG4uZ2V0Q3J5cHRvfSkpLHIuZChlLCJnZXRMb2NhbFN0b3JhZ2VPclRocm93IiwoZnVuY3Rpb24oKXtyZXR1cm4gbi5nZXRMb2NhbFN0b3JhZ2VPclRocm93fSkpLHIuZChlLCJnZXRMb2NhbFN0b3JhZ2UiLChmdW5jdGlvbigpe3JldHVybiBuLmdldExvY2FsU3RvcmFnZX0pKSxyLmQoZSwiZ2V0Q2xpZW50TWV0YSIsKGZ1bmN0aW9uKCl7cmV0dXJuIG4uZ2V0Q2xpZW50TWV0YX0pKSxyLmQoZSwic2FmZUpzb25QYXJzZSIsKGZ1bmN0aW9uKCl7cmV0dXJuIG4uc2FmZUpzb25QYXJzZX0pKSxyLmQoZSwic2FmZUpzb25TdHJpbmdpZnkiLChmdW5jdGlvbigpe3JldHVybiBuLnNhZmVKc29uU3RyaW5naWZ5fSkpLHIuZChlLCJzZXRMb2NhbCIsKGZ1bmN0aW9uKCl7cmV0dXJuIG4uc2V0TG9jYWx9KSksci5kKGUsImdldExvY2FsIiwoZnVuY3Rpb24oKXtyZXR1cm4gbi5nZXRMb2NhbH0pKSxyLmQoZSwicmVtb3ZlTG9jYWwiLChmdW5jdGlvbigpe3JldHVybiBuLnJlbW92ZUxvY2FsfSkpLHIuZChlLCJtb2JpbGVMaW5rQ2hvaWNlS2V5IiwoZnVuY3Rpb24oKXtyZXR1cm4gbi5tb2JpbGVMaW5rQ2hvaWNlS2V5fSkpLHIuZChlLCJmb3JtYXRJT1NNb2JpbGUiLChmdW5jdGlvbigpe3JldHVybiBuLmZvcm1hdElPU01vYmlsZX0pKSxyLmQoZSwic2F2ZU1vYmlsZUxpbmtJbmZvIiwoZnVuY3Rpb24oKXtyZXR1cm4gbi5zYXZlTW9iaWxlTGlua0luZm99KSksci5kKGUsImdldE1vYmlsZVJlZ2lzdHJ5RW50cnkiLChmdW5jdGlvbigpe3JldHVybiBuLmdldE1vYmlsZVJlZ2lzdHJ5RW50cnl9KSksci5kKGUsImdldE1vYmlsZUxpbmtSZWdpc3RyeSIsKGZ1bmN0aW9uKCl7cmV0dXJuIG4uZ2V0TW9iaWxlTGlua1JlZ2lzdHJ5fSkpLHIuZChlLCJnZXRXYWxsZXRSZWdpc3RyeVVybCIsKGZ1bmN0aW9uKCl7cmV0dXJuIG4uZ2V0V2FsbGV0UmVnaXN0cnlVcmx9KSksci5kKGUsImdldERhcHBSZWdpc3RyeVVybCIsKGZ1bmN0aW9uKCl7cmV0dXJuIG4uZ2V0RGFwcFJlZ2lzdHJ5VXJsfSkpLHIuZChlLCJmb3JtYXRNb2JpbGVSZWdpc3RyeUVudHJ5IiwoZnVuY3Rpb24oKXtyZXR1cm4gbi5mb3JtYXRNb2JpbGVSZWdpc3RyeUVudHJ5fSkpLHIuZChlLCJmb3JtYXRNb2JpbGVSZWdpc3RyeSIsKGZ1bmN0aW9uKCl7cmV0dXJuIG4uZm9ybWF0TW9iaWxlUmVnaXN0cnl9KSksci5kKGUsInJlc2VydmVkRXZlbnRzIiwoZnVuY3Rpb24oKXtyZXR1cm4gaX0pKSxyLmQoZSwic2lnbmluZ01ldGhvZHMiLChmdW5jdGlvbigpe3JldHVybiBvfSkpLHIuZChlLCJzdGF0ZU1ldGhvZHMiLChmdW5jdGlvbigpe3JldHVybiBzfSkpLHIuZChlLCJpbmZ1cmFOZXR3b3JrcyIsKGZ1bmN0aW9uKCl7cmV0dXJuIGF9KSksci5kKGUsImNvbnZlcnRBcnJheUJ1ZmZlclRvQnVmZmVyIiwoZnVuY3Rpb24oKXtyZXR1cm4gaH0pKSxyLmQoZSwiY29udmVydEFycmF5QnVmZmVyVG9VdGY4IiwoZnVuY3Rpb24oKXtyZXR1cm4gbH0pKSxyLmQoZSwiY29udmVydEFycmF5QnVmZmVyVG9IZXgiLChmdW5jdGlvbigpe3JldHVybiBkfSkpLHIuZChlLCJjb252ZXJ0QXJyYXlCdWZmZXJUb051bWJlciIsKGZ1bmN0aW9uKCl7cmV0dXJuIHB9KSksci5kKGUsImNvbmNhdEFycmF5QnVmZmVycyIsKGZ1bmN0aW9uKCl7cmV0dXJuIG19KSksci5kKGUsImNvbnZlcnRCdWZmZXJUb0FycmF5QnVmZmVyIiwoZnVuY3Rpb24oKXtyZXR1cm4gZ30pKSxyLmQoZSwiY29udmVydEJ1ZmZlclRvVXRmOCIsKGZ1bmN0aW9uKCl7cmV0dXJuIGJ9KSksci5kKGUsImNvbnZlcnRCdWZmZXJUb0hleCIsKGZ1bmN0aW9uKCl7cmV0dXJuIHl9KSksci5kKGUsImNvbnZlcnRCdWZmZXJUb051bWJlciIsKGZ1bmN0aW9uKCl7cmV0dXJuIHZ9KSksci5kKGUsImNvbmNhdEJ1ZmZlcnMiLChmdW5jdGlvbigpe3JldHVybiBffSkpLHIuZChlLCJjb252ZXJ0VXRmOFRvQXJyYXlCdWZmZXIiLChmdW5jdGlvbigpe3JldHVybiB3fSkpLHIuZChlLCJjb252ZXJ0VXRmOFRvQnVmZmVyIiwoZnVuY3Rpb24oKXtyZXR1cm4gTX0pKSxyLmQoZSwiY29udmVydFV0ZjhUb0hleCIsKGZ1bmN0aW9uKCl7cmV0dXJuIFN9KSksci5kKGUsImNvbnZlcnRVdGY4VG9OdW1iZXIiLChmdW5jdGlvbigpe3JldHVybiBFfSkpLHIuZChlLCJjb252ZXJ0SGV4VG9CdWZmZXIiLChmdW5jdGlvbigpe3JldHVybiB4fSkpLHIuZChlLCJjb252ZXJ0SGV4VG9BcnJheUJ1ZmZlciIsKGZ1bmN0aW9uKCl7cmV0dXJuIGt9KSksci5kKGUsImNvbnZlcnRIZXhUb1V0ZjgiLChmdW5jdGlvbigpe3JldHVybiBBfSkpLHIuZChlLCJjb252ZXJ0SGV4VG9OdW1iZXIiLChmdW5jdGlvbigpe3JldHVybiBSfSkpLHIuZChlLCJjb252ZXJ0TnVtYmVyVG9CdWZmZXIiLChmdW5jdGlvbigpe3JldHVybiBUfSkpLHIuZChlLCJjb252ZXJ0TnVtYmVyVG9BcnJheUJ1ZmZlciIsKGZ1bmN0aW9uKCl7cmV0dXJuIE99KSksci5kKGUsImNvbnZlcnROdW1iZXJUb1V0ZjgiLChmdW5jdGlvbigpe3JldHVybiBDfSkpLHIuZChlLCJjb252ZXJ0TnVtYmVyVG9IZXgiLChmdW5jdGlvbigpe3JldHVybiBQfSkpLHIuZChlLCJ0b0NoZWNrc3VtQWRkcmVzcyIsKGZ1bmN0aW9uKCl7cmV0dXJuIGl0fSkpLHIuZChlLCJpc1ZhbGlkQWRkcmVzcyIsKGZ1bmN0aW9uKCl7cmV0dXJuIG90fSkpLHIuZChlLCJwYXJzZVBlcnNvbmFsU2lnbiIsKGZ1bmN0aW9uKCl7cmV0dXJuIHN0fSkpLHIuZChlLCJwYXJzZVRyYW5zYWN0aW9uRGF0YSIsKGZ1bmN0aW9uKCl7cmV0dXJuIGF0fSkpLHIuZChlLCJzYW5pdGl6ZUhleCIsKGZ1bmN0aW9uKCl7cmV0dXJuIEJ9KSksci5kKGUsImFkZEhleFByZWZpeCIsKGZ1bmN0aW9uKCl7cmV0dXJuIEx9KSksci5kKGUsInJlbW92ZUhleFByZWZpeCIsKGZ1bmN0aW9uKCl7cmV0dXJuIGp9KSksci5kKGUsInJlbW92ZUhleExlYWRpbmdaZXJvcyIsKGZ1bmN0aW9uKCl7cmV0dXJuIE59KSksci5kKGUsInBheWxvYWRJZCIsKGZ1bmN0aW9uKCl7cmV0dXJuIHF9KSksci5kKGUsInV1aWQiLChmdW5jdGlvbigpe3JldHVybiBVfSkpLHIuZChlLCJsb2dEZXByZWNhdGlvbldhcm5pbmciLChmdW5jdGlvbigpe3JldHVybiBEfSkpLHIuZChlLCJnZXRJbmZ1cmFScGNVcmwiLChmdW5jdGlvbigpe3JldHVybiB6fSkpLHIuZChlLCJnZXRScGNVcmwiLChmdW5jdGlvbigpe3JldHVybiBIfSkpLHIuZChlLCJwcm9taXNpZnkiLChmdW5jdGlvbigpe3JldHVybiB1dH0pKSxyLmQoZSwiZm9ybWF0UnBjRXJyb3IiLChmdW5jdGlvbigpe3JldHVybiBjdH0pKSxyLmQoZSwiaXNXYWxsZXRDb25uZWN0U2Vzc2lvbiIsKGZ1bmN0aW9uKCl7cmV0dXJuIG10fSkpLHIuZChlLCJwYXJzZVdhbGxldENvbm5lY3RVcmkiLChmdW5jdGlvbigpe3JldHVybiBndH0pKSxyLmQoZSwiZ2V0UXVlcnlTdHJpbmciLChmdW5jdGlvbigpe3JldHVybiBodH0pKSxyLmQoZSwiYXBwZW5kVG9RdWVyeVN0cmluZyIsKGZ1bmN0aW9uKCl7cmV0dXJuIGx0fSkpLHIuZChlLCJwYXJzZVF1ZXJ5U3RyaW5nIiwoZnVuY3Rpb24oKXtyZXR1cm4gZHR9KSksci5kKGUsImZvcm1hdFF1ZXJ5U3RyaW5nIiwoZnVuY3Rpb24oKXtyZXR1cm4gcHR9KSksci5kKGUsImlzRW1wdHlTdHJpbmciLChmdW5jdGlvbigpe3JldHVybiBGfSkpLHIuZChlLCJpc0VtcHR5QXJyYXkiLChmdW5jdGlvbigpe3JldHVybiBXfSkpLHIuZChlLCJpc0J1ZmZlciIsKGZ1bmN0aW9uKCl7cmV0dXJuIEt9KSksci5kKGUsImlzVHlwZWRBcnJheSIsKGZ1bmN0aW9uKCl7cmV0dXJuIFZ9KSksci5kKGUsImlzQXJyYXlCdWZmZXIiLChmdW5jdGlvbigpe3JldHVybiBKfSkpLHIuZChlLCJnZXRUeXBlIiwoZnVuY3Rpb24oKXtyZXR1cm4gWX0pKSxyLmQoZSwiZ2V0RW5jb2RpbmciLChmdW5jdGlvbigpe3JldHVybiBHfSkpLHIuZChlLCJpc0hleFN0cmluZyIsKGZ1bmN0aW9uKCl7cmV0dXJuIFp9KSksci5kKGUsImlzSnNvblJwY1N1YnNjcmlwdGlvbiIsKGZ1bmN0aW9uKCl7cmV0dXJuICR9KSksci5kKGUsImlzSnNvblJwY1JlcXVlc3QiLChmdW5jdGlvbigpe3JldHVybiBYfSkpLHIuZChlLCJpc0pzb25ScGNSZXNwb25zZVN1Y2Nlc3MiLChmdW5jdGlvbigpe3JldHVybiBRfSkpLHIuZChlLCJpc0pzb25ScGNSZXNwb25zZUVycm9yIiwoZnVuY3Rpb24oKXtyZXR1cm4gdHR9KSksci5kKGUsImlzSW50ZXJuYWxFdmVudCIsKGZ1bmN0aW9uKCl7cmV0dXJuIGV0fSkpLHIuZChlLCJpc1Jlc2VydmVkRXZlbnQiLChmdW5jdGlvbigpe3JldHVybiBydH0pKSxyLmQoZSwiaXNTaWxlbnRQYXlsb2FkIiwoZnVuY3Rpb24oKXtyZXR1cm4gbnR9KSl9LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7KGZ1bmN0aW9uKHQpewovKiEKICogVGhlIGJ1ZmZlciBtb2R1bGUgZnJvbSBub2RlLmpzLCBmb3IgdGhlIGJyb3dzZXIuCiAqCiAqIEBhdXRob3IgICBGZXJvc3MgQWJvdWtoYWRpamVoIDxodHRwOi8vZmVyb3NzLm9yZz4KICogQGxpY2Vuc2UgIE1JVAogKi8KdmFyIG49cigxNjkpLGk9cigxNzApLG89cig3OSk7ZnVuY3Rpb24gcygpe3JldHVybiB1LlRZUEVEX0FSUkFZX1NVUFBPUlQ/MjE0NzQ4MzY0NzoxMDczNzQxODIzfWZ1bmN0aW9uIGEodCxlKXtpZihzKCk8ZSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW52YWxpZCB0eXBlZCBhcnJheSBsZW5ndGgiKTtyZXR1cm4gdS5UWVBFRF9BUlJBWV9TVVBQT1JUPyh0PW5ldyBVaW50OEFycmF5KGUpKS5fX3Byb3RvX189dS5wcm90b3R5cGU6KG51bGw9PT10JiYodD1uZXcgdShlKSksdC5sZW5ndGg9ZSksdH1mdW5jdGlvbiB1KHQsZSxyKXtpZighKHUuVFlQRURfQVJSQVlfU1VQUE9SVHx8dGhpcyBpbnN0YW5jZW9mIHUpKXJldHVybiBuZXcgdSh0LGUscik7aWYoIm51bWJlciI9PXR5cGVvZiB0KXtpZigic3RyaW5nIj09dHlwZW9mIGUpdGhyb3cgbmV3IEVycm9yKCJJZiBlbmNvZGluZyBpcyBzcGVjaWZpZWQgdGhlbiB0aGUgZmlyc3QgYXJndW1lbnQgbXVzdCBiZSBhIHN0cmluZyIpO3JldHVybiBoKHRoaXMsdCl9cmV0dXJuIGModGhpcyx0LGUscil9ZnVuY3Rpb24gYyh0LGUscixuKXtpZigibnVtYmVyIj09dHlwZW9mIGUpdGhyb3cgbmV3IFR5cGVFcnJvcignInZhbHVlIiBhcmd1bWVudCBtdXN0IG5vdCBiZSBhIG51bWJlcicpO3JldHVybiJ1bmRlZmluZWQiIT10eXBlb2YgQXJyYXlCdWZmZXImJmUgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcj9mdW5jdGlvbih0LGUscixuKXtpZihlLmJ5dGVMZW5ndGgscjwwfHxlLmJ5dGVMZW5ndGg8cil0aHJvdyBuZXcgUmFuZ2VFcnJvcigiJ29mZnNldCcgaXMgb3V0IG9mIGJvdW5kcyIpO2lmKGUuYnl0ZUxlbmd0aDxyKyhufHwwKSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiJ2xlbmd0aCcgaXMgb3V0IG9mIGJvdW5kcyIpO2U9dm9pZCAwPT09ciYmdm9pZCAwPT09bj9uZXcgVWludDhBcnJheShlKTp2b2lkIDA9PT1uP25ldyBVaW50OEFycmF5KGUscik6bmV3IFVpbnQ4QXJyYXkoZSxyLG4pO3UuVFlQRURfQVJSQVlfU1VQUE9SVD8odD1lKS5fX3Byb3RvX189dS5wcm90b3R5cGU6dD1sKHQsZSk7cmV0dXJuIHR9KHQsZSxyLG4pOiJzdHJpbmciPT10eXBlb2YgZT9mdW5jdGlvbih0LGUscil7InN0cmluZyI9PXR5cGVvZiByJiYiIiE9PXJ8fChyPSJ1dGY4Iik7aWYoIXUuaXNFbmNvZGluZyhyKSl0aHJvdyBuZXcgVHlwZUVycm9yKCciZW5jb2RpbmciIG11c3QgYmUgYSB2YWxpZCBzdHJpbmcgZW5jb2RpbmcnKTt2YXIgbj0wfHAoZSxyKSxpPSh0PWEodCxuKSkud3JpdGUoZSxyKTtpIT09biYmKHQ9dC5zbGljZSgwLGkpKTtyZXR1cm4gdH0odCxlLHIpOmZ1bmN0aW9uKHQsZSl7aWYodS5pc0J1ZmZlcihlKSl7dmFyIHI9MHxkKGUubGVuZ3RoKTtyZXR1cm4gMD09PSh0PWEodCxyKSkubGVuZ3RofHxlLmNvcHkodCwwLDAsciksdH1pZihlKXtpZigidW5kZWZpbmVkIiE9dHlwZW9mIEFycmF5QnVmZmVyJiZlLmJ1ZmZlciBpbnN0YW5jZW9mIEFycmF5QnVmZmVyfHwibGVuZ3RoImluIGUpcmV0dXJuIm51bWJlciIhPXR5cGVvZiBlLmxlbmd0aHx8KG49ZS5sZW5ndGgpIT1uP2EodCwwKTpsKHQsZSk7aWYoIkJ1ZmZlciI9PT1lLnR5cGUmJm8oZS5kYXRhKSlyZXR1cm4gbCh0LGUuZGF0YSl9dmFyIG47dGhyb3cgbmV3IFR5cGVFcnJvcigiRmlyc3QgYXJndW1lbnQgbXVzdCBiZSBhIHN0cmluZywgQnVmZmVyLCBBcnJheUJ1ZmZlciwgQXJyYXksIG9yIGFycmF5LWxpa2Ugb2JqZWN0LiIpfSh0LGUpfWZ1bmN0aW9uIGYodCl7aWYoIm51bWJlciIhPXR5cGVvZiB0KXRocm93IG5ldyBUeXBlRXJyb3IoJyJzaXplIiBhcmd1bWVudCBtdXN0IGJlIGEgbnVtYmVyJyk7aWYodDwwKXRocm93IG5ldyBSYW5nZUVycm9yKCcic2l6ZSIgYXJndW1lbnQgbXVzdCBub3QgYmUgbmVnYXRpdmUnKX1mdW5jdGlvbiBoKHQsZSl7aWYoZihlKSx0PWEodCxlPDA/MDowfGQoZSkpLCF1LlRZUEVEX0FSUkFZX1NVUFBPUlQpZm9yKHZhciByPTA7cjxlOysrcil0W3JdPTA7cmV0dXJuIHR9ZnVuY3Rpb24gbCh0LGUpe3ZhciByPWUubGVuZ3RoPDA/MDowfGQoZS5sZW5ndGgpO3Q9YSh0LHIpO2Zvcih2YXIgbj0wO248cjtuKz0xKXRbbl09MjU1JmVbbl07cmV0dXJuIHR9ZnVuY3Rpb24gZCh0KXtpZih0Pj1zKCkpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkF0dGVtcHQgdG8gYWxsb2NhdGUgQnVmZmVyIGxhcmdlciB0aGFuIG1heGltdW0gc2l6ZTogMHgiK3MoKS50b1N0cmluZygxNikrIiBieXRlcyIpO3JldHVybiAwfHR9ZnVuY3Rpb24gcCh0LGUpe2lmKHUuaXNCdWZmZXIodCkpcmV0dXJuIHQubGVuZ3RoO2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgQXJyYXlCdWZmZXImJiJmdW5jdGlvbiI9PXR5cGVvZiBBcnJheUJ1ZmZlci5pc1ZpZXcmJihBcnJheUJ1ZmZlci5pc1ZpZXcodCl8fHQgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcikpcmV0dXJuIHQuYnl0ZUxlbmd0aDsic3RyaW5nIiE9dHlwZW9mIHQmJih0PSIiK3QpO3ZhciByPXQubGVuZ3RoO2lmKDA9PT1yKXJldHVybiAwO2Zvcih2YXIgbj0hMTs7KXN3aXRjaChlKXtjYXNlImFzY2lpIjpjYXNlImxhdGluMSI6Y2FzZSJiaW5hcnkiOnJldHVybiByO2Nhc2UidXRmOCI6Y2FzZSJ1dGYtOCI6Y2FzZSB2b2lkIDA6cmV0dXJuIEQodCkubGVuZ3RoO2Nhc2UidWNzMiI6Y2FzZSJ1Y3MtMiI6Y2FzZSJ1dGYxNmxlIjpjYXNlInV0Zi0xNmxlIjpyZXR1cm4gMipyO2Nhc2UiaGV4IjpyZXR1cm4gcj4+PjE7Y2FzZSJiYXNlNjQiOnJldHVybiB6KHQpLmxlbmd0aDtkZWZhdWx0OmlmKG4pcmV0dXJuIEQodCkubGVuZ3RoO2U9KCIiK2UpLnRvTG93ZXJDYXNlKCksbj0hMH19ZnVuY3Rpb24gbSh0LGUscil7dmFyIG49ITE7aWYoKHZvaWQgMD09PWV8fGU8MCkmJihlPTApLGU+dGhpcy5sZW5ndGgpcmV0dXJuIiI7aWYoKHZvaWQgMD09PXJ8fHI+dGhpcy5sZW5ndGgpJiYocj10aGlzLmxlbmd0aCkscjw9MClyZXR1cm4iIjtpZigocj4+Pj0wKTw9KGU+Pj49MCkpcmV0dXJuIiI7Zm9yKHR8fCh0PSJ1dGY4Iik7Oylzd2l0Y2godCl7Y2FzZSJoZXgiOnJldHVybiBUKHRoaXMsZSxyKTtjYXNlInV0ZjgiOmNhc2UidXRmLTgiOnJldHVybiBrKHRoaXMsZSxyKTtjYXNlImFzY2lpIjpyZXR1cm4gQSh0aGlzLGUscik7Y2FzZSJsYXRpbjEiOmNhc2UiYmluYXJ5IjpyZXR1cm4gUih0aGlzLGUscik7Y2FzZSJiYXNlNjQiOnJldHVybiB4KHRoaXMsZSxyKTtjYXNlInVjczIiOmNhc2UidWNzLTIiOmNhc2UidXRmMTZsZSI6Y2FzZSJ1dGYtMTZsZSI6cmV0dXJuIE8odGhpcyxlLHIpO2RlZmF1bHQ6aWYobil0aHJvdyBuZXcgVHlwZUVycm9yKCJVbmtub3duIGVuY29kaW5nOiAiK3QpO3Q9KHQrIiIpLnRvTG93ZXJDYXNlKCksbj0hMH19ZnVuY3Rpb24gZyh0LGUscil7dmFyIG49dFtlXTt0W2VdPXRbcl0sdFtyXT1ufWZ1bmN0aW9uIGIodCxlLHIsbixpKXtpZigwPT09dC5sZW5ndGgpcmV0dXJuLTE7aWYoInN0cmluZyI9PXR5cGVvZiByPyhuPXIscj0wKTpyPjIxNDc0ODM2NDc/cj0yMTQ3NDgzNjQ3OnI8LTIxNDc0ODM2NDgmJihyPS0yMTQ3NDgzNjQ4KSxyPStyLGlzTmFOKHIpJiYocj1pPzA6dC5sZW5ndGgtMSkscjwwJiYocj10Lmxlbmd0aCtyKSxyPj10Lmxlbmd0aCl7aWYoaSlyZXR1cm4tMTtyPXQubGVuZ3RoLTF9ZWxzZSBpZihyPDApe2lmKCFpKXJldHVybi0xO3I9MH1pZigic3RyaW5nIj09dHlwZW9mIGUmJihlPXUuZnJvbShlLG4pKSx1LmlzQnVmZmVyKGUpKXJldHVybiAwPT09ZS5sZW5ndGg/LTE6eSh0LGUscixuLGkpO2lmKCJudW1iZXIiPT10eXBlb2YgZSlyZXR1cm4gZSY9MjU1LHUuVFlQRURfQVJSQVlfU1VQUE9SVCYmImZ1bmN0aW9uIj09dHlwZW9mIFVpbnQ4QXJyYXkucHJvdG90eXBlLmluZGV4T2Y/aT9VaW50OEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwodCxlLHIpOlVpbnQ4QXJyYXkucHJvdG90eXBlLmxhc3RJbmRleE9mLmNhbGwodCxlLHIpOnkodCxbZV0scixuLGkpO3Rocm93IG5ldyBUeXBlRXJyb3IoInZhbCBtdXN0IGJlIHN0cmluZywgbnVtYmVyIG9yIEJ1ZmZlciIpfWZ1bmN0aW9uIHkodCxlLHIsbixpKXt2YXIgbyxzPTEsYT10Lmxlbmd0aCx1PWUubGVuZ3RoO2lmKHZvaWQgMCE9PW4mJigidWNzMiI9PT0obj1TdHJpbmcobikudG9Mb3dlckNhc2UoKSl8fCJ1Y3MtMiI9PT1ufHwidXRmMTZsZSI9PT1ufHwidXRmLTE2bGUiPT09bikpe2lmKHQubGVuZ3RoPDJ8fGUubGVuZ3RoPDIpcmV0dXJuLTE7cz0yLGEvPTIsdS89MixyLz0yfWZ1bmN0aW9uIGModCxlKXtyZXR1cm4gMT09PXM/dFtlXTp0LnJlYWRVSW50MTZCRShlKnMpfWlmKGkpe3ZhciBmPS0xO2ZvcihvPXI7bzxhO28rKylpZihjKHQsbyk9PT1jKGUsLTE9PT1mPzA6by1mKSl7aWYoLTE9PT1mJiYoZj1vKSxvLWYrMT09PXUpcmV0dXJuIGYqc31lbHNlLTEhPT1mJiYoby09by1mKSxmPS0xfWVsc2UgZm9yKHIrdT5hJiYocj1hLXUpLG89cjtvPj0wO28tLSl7Zm9yKHZhciBoPSEwLGw9MDtsPHU7bCsrKWlmKGModCxvK2wpIT09YyhlLGwpKXtoPSExO2JyZWFrfWlmKGgpcmV0dXJuIG99cmV0dXJuLTF9ZnVuY3Rpb24gdih0LGUscixuKXtyPU51bWJlcihyKXx8MDt2YXIgaT10Lmxlbmd0aC1yO24/KG49TnVtYmVyKG4pKT5pJiYobj1pKTpuPWk7dmFyIG89ZS5sZW5ndGg7aWYobyUyIT0wKXRocm93IG5ldyBUeXBlRXJyb3IoIkludmFsaWQgaGV4IHN0cmluZyIpO24+by8yJiYobj1vLzIpO2Zvcih2YXIgcz0wO3M8bjsrK3Mpe3ZhciBhPXBhcnNlSW50KGUuc3Vic3RyKDIqcywyKSwxNik7aWYoaXNOYU4oYSkpcmV0dXJuIHM7dFtyK3NdPWF9cmV0dXJuIHN9ZnVuY3Rpb24gXyh0LGUscixuKXtyZXR1cm4gSChEKGUsdC5sZW5ndGgtciksdCxyLG4pfWZ1bmN0aW9uIHcodCxlLHIsbil7cmV0dXJuIEgoZnVuY3Rpb24odCl7Zm9yKHZhciBlPVtdLHI9MDtyPHQubGVuZ3RoOysrcillLnB1c2goMjU1JnQuY2hhckNvZGVBdChyKSk7cmV0dXJuIGV9KGUpLHQscixuKX1mdW5jdGlvbiBNKHQsZSxyLG4pe3JldHVybiB3KHQsZSxyLG4pfWZ1bmN0aW9uIFModCxlLHIsbil7cmV0dXJuIEgoeihlKSx0LHIsbil9ZnVuY3Rpb24gRSh0LGUscixuKXtyZXR1cm4gSChmdW5jdGlvbih0LGUpe2Zvcih2YXIgcixuLGksbz1bXSxzPTA7czx0Lmxlbmd0aCYmISgoZS09Mik8MCk7KytzKXI9dC5jaGFyQ29kZUF0KHMpLG49cj4+OCxpPXIlMjU2LG8ucHVzaChpKSxvLnB1c2gobik7cmV0dXJuIG99KGUsdC5sZW5ndGgtciksdCxyLG4pfWZ1bmN0aW9uIHgodCxlLHIpe3JldHVybiAwPT09ZSYmcj09PXQubGVuZ3RoP24uZnJvbUJ5dGVBcnJheSh0KTpuLmZyb21CeXRlQXJyYXkodC5zbGljZShlLHIpKX1mdW5jdGlvbiBrKHQsZSxyKXtyPU1hdGgubWluKHQubGVuZ3RoLHIpO2Zvcih2YXIgbj1bXSxpPWU7aTxyOyl7dmFyIG8scyxhLHUsYz10W2ldLGY9bnVsbCxoPWM+MjM5PzQ6Yz4yMjM/MzpjPjE5MT8yOjE7aWYoaStoPD1yKXN3aXRjaChoKXtjYXNlIDE6YzwxMjgmJihmPWMpO2JyZWFrO2Nhc2UgMjoxMjg9PSgxOTImKG89dFtpKzFdKSkmJih1PSgzMSZjKTw8Nnw2MyZvKT4xMjcmJihmPXUpO2JyZWFrO2Nhc2UgMzpvPXRbaSsxXSxzPXRbaSsyXSwxMjg9PSgxOTImbykmJjEyOD09KDE5MiZzKSYmKHU9KDE1JmMpPDwxMnwoNjMmbyk8PDZ8NjMmcyk+MjA0NyYmKHU8NTUyOTZ8fHU+NTczNDMpJiYoZj11KTticmVhaztjYXNlIDQ6bz10W2krMV0scz10W2krMl0sYT10W2krM10sMTI4PT0oMTkyJm8pJiYxMjg9PSgxOTImcykmJjEyOD09KDE5MiZhKSYmKHU9KDE1JmMpPDwxOHwoNjMmbyk8PDEyfCg2MyZzKTw8Nnw2MyZhKT42NTUzNSYmdTwxMTE0MTEyJiYoZj11KX1udWxsPT09Zj8oZj02NTUzMyxoPTEpOmY+NjU1MzUmJihmLT02NTUzNixuLnB1c2goZj4+PjEwJjEwMjN8NTUyOTYpLGY9NTYzMjB8MTAyMyZmKSxuLnB1c2goZiksaSs9aH1yZXR1cm4gZnVuY3Rpb24odCl7dmFyIGU9dC5sZW5ndGg7aWYoZTw9NDA5NilyZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShTdHJpbmcsdCk7dmFyIHI9IiIsbj0wO2Zvcig7bjxlOylyKz1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KFN0cmluZyx0LnNsaWNlKG4sbis9NDA5NikpO3JldHVybiByfShuKX1lLkJ1ZmZlcj11LGUuU2xvd0J1ZmZlcj1mdW5jdGlvbih0KXsrdCE9dCYmKHQ9MCk7cmV0dXJuIHUuYWxsb2MoK3QpfSxlLklOU1BFQ1RfTUFYX0JZVEVTPTUwLHUuVFlQRURfQVJSQVlfU1VQUE9SVD12b2lkIDAhPT10LlRZUEVEX0FSUkFZX1NVUFBPUlQ/dC5UWVBFRF9BUlJBWV9TVVBQT1JUOmZ1bmN0aW9uKCl7dHJ5e3ZhciB0PW5ldyBVaW50OEFycmF5KDEpO3JldHVybiB0Ll9fcHJvdG9fXz17X19wcm90b19fOlVpbnQ4QXJyYXkucHJvdG90eXBlLGZvbzpmdW5jdGlvbigpe3JldHVybiA0Mn19LDQyPT09dC5mb28oKSYmImZ1bmN0aW9uIj09dHlwZW9mIHQuc3ViYXJyYXkmJjA9PT10LnN1YmFycmF5KDEsMSkuYnl0ZUxlbmd0aH1jYXRjaCh0KXtyZXR1cm4hMX19KCksZS5rTWF4TGVuZ3RoPXMoKSx1LnBvb2xTaXplPTgxOTIsdS5fYXVnbWVudD1mdW5jdGlvbih0KXtyZXR1cm4gdC5fX3Byb3RvX189dS5wcm90b3R5cGUsdH0sdS5mcm9tPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gYyhudWxsLHQsZSxyKX0sdS5UWVBFRF9BUlJBWV9TVVBQT1JUJiYodS5wcm90b3R5cGUuX19wcm90b19fPVVpbnQ4QXJyYXkucHJvdG90eXBlLHUuX19wcm90b19fPVVpbnQ4QXJyYXksInVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wmJlN5bWJvbC5zcGVjaWVzJiZ1W1N5bWJvbC5zcGVjaWVzXT09PXUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LFN5bWJvbC5zcGVjaWVzLHt2YWx1ZTpudWxsLGNvbmZpZ3VyYWJsZTohMH0pKSx1LmFsbG9jPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gZnVuY3Rpb24odCxlLHIsbil7cmV0dXJuIGYoZSksZTw9MD9hKHQsZSk6dm9pZCAwIT09cj8ic3RyaW5nIj09dHlwZW9mIG4/YSh0LGUpLmZpbGwocixuKTphKHQsZSkuZmlsbChyKTphKHQsZSl9KG51bGwsdCxlLHIpfSx1LmFsbG9jVW5zYWZlPWZ1bmN0aW9uKHQpe3JldHVybiBoKG51bGwsdCl9LHUuYWxsb2NVbnNhZmVTbG93PWZ1bmN0aW9uKHQpe3JldHVybiBoKG51bGwsdCl9LHUuaXNCdWZmZXI9ZnVuY3Rpb24odCl7cmV0dXJuIShudWxsPT10fHwhdC5faXNCdWZmZXIpfSx1LmNvbXBhcmU9ZnVuY3Rpb24odCxlKXtpZighdS5pc0J1ZmZlcih0KXx8IXUuaXNCdWZmZXIoZSkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQXJndW1lbnRzIG11c3QgYmUgQnVmZmVycyIpO2lmKHQ9PT1lKXJldHVybiAwO2Zvcih2YXIgcj10Lmxlbmd0aCxuPWUubGVuZ3RoLGk9MCxvPU1hdGgubWluKHIsbik7aTxvOysraSlpZih0W2ldIT09ZVtpXSl7cj10W2ldLG49ZVtpXTticmVha31yZXR1cm4gcjxuPy0xOm48cj8xOjB9LHUuaXNFbmNvZGluZz1mdW5jdGlvbih0KXtzd2l0Y2goU3RyaW5nKHQpLnRvTG93ZXJDYXNlKCkpe2Nhc2UiaGV4IjpjYXNlInV0ZjgiOmNhc2UidXRmLTgiOmNhc2UiYXNjaWkiOmNhc2UibGF0aW4xIjpjYXNlImJpbmFyeSI6Y2FzZSJiYXNlNjQiOmNhc2UidWNzMiI6Y2FzZSJ1Y3MtMiI6Y2FzZSJ1dGYxNmxlIjpjYXNlInV0Zi0xNmxlIjpyZXR1cm4hMDtkZWZhdWx0OnJldHVybiExfX0sdS5jb25jYXQ9ZnVuY3Rpb24odCxlKXtpZighbyh0KSl0aHJvdyBuZXcgVHlwZUVycm9yKCcibGlzdCIgYXJndW1lbnQgbXVzdCBiZSBhbiBBcnJheSBvZiBCdWZmZXJzJyk7aWYoMD09PXQubGVuZ3RoKXJldHVybiB1LmFsbG9jKDApO3ZhciByO2lmKHZvaWQgMD09PWUpZm9yKGU9MCxyPTA7cjx0Lmxlbmd0aDsrK3IpZSs9dFtyXS5sZW5ndGg7dmFyIG49dS5hbGxvY1Vuc2FmZShlKSxpPTA7Zm9yKHI9MDtyPHQubGVuZ3RoOysrcil7dmFyIHM9dFtyXTtpZighdS5pc0J1ZmZlcihzKSl0aHJvdyBuZXcgVHlwZUVycm9yKCcibGlzdCIgYXJndW1lbnQgbXVzdCBiZSBhbiBBcnJheSBvZiBCdWZmZXJzJyk7cy5jb3B5KG4saSksaSs9cy5sZW5ndGh9cmV0dXJuIG59LHUuYnl0ZUxlbmd0aD1wLHUucHJvdG90eXBlLl9pc0J1ZmZlcj0hMCx1LnByb3RvdHlwZS5zd2FwMTY9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmxlbmd0aDtpZih0JTIhPTApdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkJ1ZmZlciBzaXplIG11c3QgYmUgYSBtdWx0aXBsZSBvZiAxNi1iaXRzIik7Zm9yKHZhciBlPTA7ZTx0O2UrPTIpZyh0aGlzLGUsZSsxKTtyZXR1cm4gdGhpc30sdS5wcm90b3R5cGUuc3dhcDMyPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5sZW5ndGg7aWYodCU0IT0wKXRocm93IG5ldyBSYW5nZUVycm9yKCJCdWZmZXIgc2l6ZSBtdXN0IGJlIGEgbXVsdGlwbGUgb2YgMzItYml0cyIpO2Zvcih2YXIgZT0wO2U8dDtlKz00KWcodGhpcyxlLGUrMyksZyh0aGlzLGUrMSxlKzIpO3JldHVybiB0aGlzfSx1LnByb3RvdHlwZS5zd2FwNjQ9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmxlbmd0aDtpZih0JTghPTApdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkJ1ZmZlciBzaXplIG11c3QgYmUgYSBtdWx0aXBsZSBvZiA2NC1iaXRzIik7Zm9yKHZhciBlPTA7ZTx0O2UrPTgpZyh0aGlzLGUsZSs3KSxnKHRoaXMsZSsxLGUrNiksZyh0aGlzLGUrMixlKzUpLGcodGhpcyxlKzMsZSs0KTtyZXR1cm4gdGhpc30sdS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXt2YXIgdD0wfHRoaXMubGVuZ3RoO3JldHVybiAwPT09dD8iIjowPT09YXJndW1lbnRzLmxlbmd0aD9rKHRoaXMsMCx0KTptLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sdS5wcm90b3R5cGUuZXF1YWxzPWZ1bmN0aW9uKHQpe2lmKCF1LmlzQnVmZmVyKHQpKXRocm93IG5ldyBUeXBlRXJyb3IoIkFyZ3VtZW50IG11c3QgYmUgYSBCdWZmZXIiKTtyZXR1cm4gdGhpcz09PXR8fDA9PT11LmNvbXBhcmUodGhpcyx0KX0sdS5wcm90b3R5cGUuaW5zcGVjdD1mdW5jdGlvbigpe3ZhciB0PSIiLHI9ZS5JTlNQRUNUX01BWF9CWVRFUztyZXR1cm4gdGhpcy5sZW5ndGg+MCYmKHQ9dGhpcy50b1N0cmluZygiaGV4IiwwLHIpLm1hdGNoKC8uezJ9L2cpLmpvaW4oIiAiKSx0aGlzLmxlbmd0aD5yJiYodCs9IiAuLi4gIikpLCI8QnVmZmVyICIrdCsiPiJ9LHUucHJvdG90eXBlLmNvbXBhcmU9ZnVuY3Rpb24odCxlLHIsbixpKXtpZighdS5pc0J1ZmZlcih0KSl0aHJvdyBuZXcgVHlwZUVycm9yKCJBcmd1bWVudCBtdXN0IGJlIGEgQnVmZmVyIik7aWYodm9pZCAwPT09ZSYmKGU9MCksdm9pZCAwPT09ciYmKHI9dD90Lmxlbmd0aDowKSx2b2lkIDA9PT1uJiYobj0wKSx2b2lkIDA9PT1pJiYoaT10aGlzLmxlbmd0aCksZTwwfHxyPnQubGVuZ3RofHxuPDB8fGk+dGhpcy5sZW5ndGgpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIm91dCBvZiByYW5nZSBpbmRleCIpO2lmKG4+PWkmJmU+PXIpcmV0dXJuIDA7aWYobj49aSlyZXR1cm4tMTtpZihlPj1yKXJldHVybiAxO2lmKHRoaXM9PT10KXJldHVybiAwO2Zvcih2YXIgbz0oaT4+Pj0wKS0obj4+Pj0wKSxzPShyPj4+PTApLShlPj4+PTApLGE9TWF0aC5taW4obyxzKSxjPXRoaXMuc2xpY2UobixpKSxmPXQuc2xpY2UoZSxyKSxoPTA7aDxhOysraClpZihjW2hdIT09ZltoXSl7bz1jW2hdLHM9ZltoXTticmVha31yZXR1cm4gbzxzPy0xOnM8bz8xOjB9LHUucHJvdG90eXBlLmluY2x1ZGVzPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4tMSE9PXRoaXMuaW5kZXhPZih0LGUscil9LHUucHJvdG90eXBlLmluZGV4T2Y9ZnVuY3Rpb24odCxlLHIpe3JldHVybiBiKHRoaXMsdCxlLHIsITApfSx1LnByb3RvdHlwZS5sYXN0SW5kZXhPZj1mdW5jdGlvbih0LGUscil7cmV0dXJuIGIodGhpcyx0LGUsciwhMSl9LHUucHJvdG90eXBlLndyaXRlPWZ1bmN0aW9uKHQsZSxyLG4pe2lmKHZvaWQgMD09PWUpbj0idXRmOCIscj10aGlzLmxlbmd0aCxlPTA7ZWxzZSBpZih2b2lkIDA9PT1yJiYic3RyaW5nIj09dHlwZW9mIGUpbj1lLHI9dGhpcy5sZW5ndGgsZT0wO2Vsc2V7aWYoIWlzRmluaXRlKGUpKXRocm93IG5ldyBFcnJvcigiQnVmZmVyLndyaXRlKHN0cmluZywgZW5jb2RpbmcsIG9mZnNldFssIGxlbmd0aF0pIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQiKTtlfD0wLGlzRmluaXRlKHIpPyhyfD0wLHZvaWQgMD09PW4mJihuPSJ1dGY4IikpOihuPXIscj12b2lkIDApfXZhciBpPXRoaXMubGVuZ3RoLWU7aWYoKHZvaWQgMD09PXJ8fHI+aSkmJihyPWkpLHQubGVuZ3RoPjAmJihyPDB8fGU8MCl8fGU+dGhpcy5sZW5ndGgpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkF0dGVtcHQgdG8gd3JpdGUgb3V0c2lkZSBidWZmZXIgYm91bmRzIik7bnx8KG49InV0ZjgiKTtmb3IodmFyIG89ITE7Oylzd2l0Y2gobil7Y2FzZSJoZXgiOnJldHVybiB2KHRoaXMsdCxlLHIpO2Nhc2UidXRmOCI6Y2FzZSJ1dGYtOCI6cmV0dXJuIF8odGhpcyx0LGUscik7Y2FzZSJhc2NpaSI6cmV0dXJuIHcodGhpcyx0LGUscik7Y2FzZSJsYXRpbjEiOmNhc2UiYmluYXJ5IjpyZXR1cm4gTSh0aGlzLHQsZSxyKTtjYXNlImJhc2U2NCI6cmV0dXJuIFModGhpcyx0LGUscik7Y2FzZSJ1Y3MyIjpjYXNlInVjcy0yIjpjYXNlInV0ZjE2bGUiOmNhc2UidXRmLTE2bGUiOnJldHVybiBFKHRoaXMsdCxlLHIpO2RlZmF1bHQ6aWYobyl0aHJvdyBuZXcgVHlwZUVycm9yKCJVbmtub3duIGVuY29kaW5nOiAiK24pO249KCIiK24pLnRvTG93ZXJDYXNlKCksbz0hMH19LHUucHJvdG90eXBlLnRvSlNPTj1mdW5jdGlvbigpe3JldHVybnt0eXBlOiJCdWZmZXIiLGRhdGE6QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwodGhpcy5fYXJyfHx0aGlzLDApfX07ZnVuY3Rpb24gQSh0LGUscil7dmFyIG49IiI7cj1NYXRoLm1pbih0Lmxlbmd0aCxyKTtmb3IodmFyIGk9ZTtpPHI7KytpKW4rPVN0cmluZy5mcm9tQ2hhckNvZGUoMTI3JnRbaV0pO3JldHVybiBufWZ1bmN0aW9uIFIodCxlLHIpe3ZhciBuPSIiO3I9TWF0aC5taW4odC5sZW5ndGgscik7Zm9yKHZhciBpPWU7aTxyOysraSluKz1TdHJpbmcuZnJvbUNoYXJDb2RlKHRbaV0pO3JldHVybiBufWZ1bmN0aW9uIFQodCxlLHIpe3ZhciBuPXQubGVuZ3RoOyghZXx8ZTwwKSYmKGU9MCksKCFyfHxyPDB8fHI+bikmJihyPW4pO2Zvcih2YXIgaT0iIixvPWU7bzxyOysrbylpKz1VKHRbb10pO3JldHVybiBpfWZ1bmN0aW9uIE8odCxlLHIpe2Zvcih2YXIgbj10LnNsaWNlKGUsciksaT0iIixvPTA7bzxuLmxlbmd0aDtvKz0yKWkrPVN0cmluZy5mcm9tQ2hhckNvZGUobltvXSsyNTYqbltvKzFdKTtyZXR1cm4gaX1mdW5jdGlvbiBDKHQsZSxyKXtpZih0JTEhPTB8fHQ8MCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigib2Zmc2V0IGlzIG5vdCB1aW50Iik7aWYodCtlPnIpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIlRyeWluZyB0byBhY2Nlc3MgYmV5b25kIGJ1ZmZlciBsZW5ndGgiKX1mdW5jdGlvbiBQKHQsZSxyLG4saSxvKXtpZighdS5pc0J1ZmZlcih0KSl0aHJvdyBuZXcgVHlwZUVycm9yKCciYnVmZmVyIiBhcmd1bWVudCBtdXN0IGJlIGEgQnVmZmVyIGluc3RhbmNlJyk7aWYoZT5pfHxlPG8pdGhyb3cgbmV3IFJhbmdlRXJyb3IoJyJ2YWx1ZSIgYXJndW1lbnQgaXMgb3V0IG9mIGJvdW5kcycpO2lmKHIrbj50Lmxlbmd0aCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW5kZXggb3V0IG9mIHJhbmdlIil9ZnVuY3Rpb24gSSh0LGUscixuKXtlPDAmJihlPTY1NTM1K2UrMSk7Zm9yKHZhciBpPTAsbz1NYXRoLm1pbih0Lmxlbmd0aC1yLDIpO2k8bzsrK2kpdFtyK2ldPShlJjI1NTw8OCoobj9pOjEtaSkpPj4+OCoobj9pOjEtaSl9ZnVuY3Rpb24gQih0LGUscixuKXtlPDAmJihlPTQyOTQ5NjcyOTUrZSsxKTtmb3IodmFyIGk9MCxvPU1hdGgubWluKHQubGVuZ3RoLXIsNCk7aTxvOysraSl0W3IraV09ZT4+PjgqKG4/aTozLWkpJjI1NX1mdW5jdGlvbiBMKHQsZSxyLG4saSxvKXtpZihyK24+dC5sZW5ndGgpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkluZGV4IG91dCBvZiByYW5nZSIpO2lmKHI8MCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW5kZXggb3V0IG9mIHJhbmdlIil9ZnVuY3Rpb24gaih0LGUscixuLG8pe3JldHVybiBvfHxMKHQsMCxyLDQpLGkud3JpdGUodCxlLHIsbiwyMyw0KSxyKzR9ZnVuY3Rpb24gTih0LGUscixuLG8pe3JldHVybiBvfHxMKHQsMCxyLDgpLGkud3JpdGUodCxlLHIsbiw1Miw4KSxyKzh9dS5wcm90b3R5cGUuc2xpY2U9ZnVuY3Rpb24odCxlKXt2YXIgcixuPXRoaXMubGVuZ3RoO2lmKCh0PX5+dCk8MD8odCs9bik8MCYmKHQ9MCk6dD5uJiYodD1uKSwoZT12b2lkIDA9PT1lP246fn5lKTwwPyhlKz1uKTwwJiYoZT0wKTplPm4mJihlPW4pLGU8dCYmKGU9dCksdS5UWVBFRF9BUlJBWV9TVVBQT1JUKShyPXRoaXMuc3ViYXJyYXkodCxlKSkuX19wcm90b19fPXUucHJvdG90eXBlO2Vsc2V7dmFyIGk9ZS10O3I9bmV3IHUoaSx2b2lkIDApO2Zvcih2YXIgbz0wO288aTsrK28pcltvXT10aGlzW28rdF19cmV0dXJuIHJ9LHUucHJvdG90eXBlLnJlYWRVSW50TEU9ZnVuY3Rpb24odCxlLHIpe3R8PTAsZXw9MCxyfHxDKHQsZSx0aGlzLmxlbmd0aCk7Zm9yKHZhciBuPXRoaXNbdF0saT0xLG89MDsrK288ZSYmKGkqPTI1Nik7KW4rPXRoaXNbdCtvXSppO3JldHVybiBufSx1LnByb3RvdHlwZS5yZWFkVUludEJFPWZ1bmN0aW9uKHQsZSxyKXt0fD0wLGV8PTAscnx8Qyh0LGUsdGhpcy5sZW5ndGgpO2Zvcih2YXIgbj10aGlzW3QrLS1lXSxpPTE7ZT4wJiYoaSo9MjU2KTspbis9dGhpc1t0Ky0tZV0qaTtyZXR1cm4gbn0sdS5wcm90b3R5cGUucmVhZFVJbnQ4PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGV8fEModCwxLHRoaXMubGVuZ3RoKSx0aGlzW3RdfSx1LnByb3RvdHlwZS5yZWFkVUludDE2TEU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gZXx8Qyh0LDIsdGhpcy5sZW5ndGgpLHRoaXNbdF18dGhpc1t0KzFdPDw4fSx1LnByb3RvdHlwZS5yZWFkVUludDE2QkU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gZXx8Qyh0LDIsdGhpcy5sZW5ndGgpLHRoaXNbdF08PDh8dGhpc1t0KzFdfSx1LnByb3RvdHlwZS5yZWFkVUludDMyTEU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gZXx8Qyh0LDQsdGhpcy5sZW5ndGgpLCh0aGlzW3RdfHRoaXNbdCsxXTw8OHx0aGlzW3QrMl08PDE2KSsxNjc3NzIxNip0aGlzW3QrM119LHUucHJvdG90eXBlLnJlYWRVSW50MzJCRT1mdW5jdGlvbih0LGUpe3JldHVybiBlfHxDKHQsNCx0aGlzLmxlbmd0aCksMTY3NzcyMTYqdGhpc1t0XSsodGhpc1t0KzFdPDwxNnx0aGlzW3QrMl08PDh8dGhpc1t0KzNdKX0sdS5wcm90b3R5cGUucmVhZEludExFPWZ1bmN0aW9uKHQsZSxyKXt0fD0wLGV8PTAscnx8Qyh0LGUsdGhpcy5sZW5ndGgpO2Zvcih2YXIgbj10aGlzW3RdLGk9MSxvPTA7KytvPGUmJihpKj0yNTYpOyluKz10aGlzW3Qrb10qaTtyZXR1cm4gbj49KGkqPTEyOCkmJihuLT1NYXRoLnBvdygyLDgqZSkpLG59LHUucHJvdG90eXBlLnJlYWRJbnRCRT1mdW5jdGlvbih0LGUscil7dHw9MCxlfD0wLHJ8fEModCxlLHRoaXMubGVuZ3RoKTtmb3IodmFyIG49ZSxpPTEsbz10aGlzW3QrLS1uXTtuPjAmJihpKj0yNTYpOylvKz10aGlzW3QrLS1uXSppO3JldHVybiBvPj0oaSo9MTI4KSYmKG8tPU1hdGgucG93KDIsOCplKSksb30sdS5wcm90b3R5cGUucmVhZEludDg9ZnVuY3Rpb24odCxlKXtyZXR1cm4gZXx8Qyh0LDEsdGhpcy5sZW5ndGgpLDEyOCZ0aGlzW3RdPy0xKigyNTUtdGhpc1t0XSsxKTp0aGlzW3RdfSx1LnByb3RvdHlwZS5yZWFkSW50MTZMRT1mdW5jdGlvbih0LGUpe2V8fEModCwyLHRoaXMubGVuZ3RoKTt2YXIgcj10aGlzW3RdfHRoaXNbdCsxXTw8ODtyZXR1cm4gMzI3Njgmcj80Mjk0OTAxNzYwfHI6cn0sdS5wcm90b3R5cGUucmVhZEludDE2QkU9ZnVuY3Rpb24odCxlKXtlfHxDKHQsMix0aGlzLmxlbmd0aCk7dmFyIHI9dGhpc1t0KzFdfHRoaXNbdF08PDg7cmV0dXJuIDMyNzY4JnI/NDI5NDkwMTc2MHxyOnJ9LHUucHJvdG90eXBlLnJlYWRJbnQzMkxFPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGV8fEModCw0LHRoaXMubGVuZ3RoKSx0aGlzW3RdfHRoaXNbdCsxXTw8OHx0aGlzW3QrMl08PDE2fHRoaXNbdCszXTw8MjR9LHUucHJvdG90eXBlLnJlYWRJbnQzMkJFPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGV8fEModCw0LHRoaXMubGVuZ3RoKSx0aGlzW3RdPDwyNHx0aGlzW3QrMV08PDE2fHRoaXNbdCsyXTw8OHx0aGlzW3QrM119LHUucHJvdG90eXBlLnJlYWRGbG9hdExFPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGV8fEModCw0LHRoaXMubGVuZ3RoKSxpLnJlYWQodGhpcyx0LCEwLDIzLDQpfSx1LnByb3RvdHlwZS5yZWFkRmxvYXRCRT1mdW5jdGlvbih0LGUpe3JldHVybiBlfHxDKHQsNCx0aGlzLmxlbmd0aCksaS5yZWFkKHRoaXMsdCwhMSwyMyw0KX0sdS5wcm90b3R5cGUucmVhZERvdWJsZUxFPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGV8fEModCw4LHRoaXMubGVuZ3RoKSxpLnJlYWQodGhpcyx0LCEwLDUyLDgpfSx1LnByb3RvdHlwZS5yZWFkRG91YmxlQkU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gZXx8Qyh0LDgsdGhpcy5sZW5ndGgpLGkucmVhZCh0aGlzLHQsITEsNTIsOCl9LHUucHJvdG90eXBlLndyaXRlVUludExFPWZ1bmN0aW9uKHQsZSxyLG4peyh0PSt0LGV8PTAscnw9MCxuKXx8UCh0aGlzLHQsZSxyLE1hdGgucG93KDIsOCpyKS0xLDApO3ZhciBpPTEsbz0wO2Zvcih0aGlzW2VdPTI1NSZ0OysrbzxyJiYoaSo9MjU2KTspdGhpc1tlK29dPXQvaSYyNTU7cmV0dXJuIGUrcn0sdS5wcm90b3R5cGUud3JpdGVVSW50QkU9ZnVuY3Rpb24odCxlLHIsbil7KHQ9K3QsZXw9MCxyfD0wLG4pfHxQKHRoaXMsdCxlLHIsTWF0aC5wb3coMiw4KnIpLTEsMCk7dmFyIGk9ci0xLG89MTtmb3IodGhpc1tlK2ldPTI1NSZ0Oy0taT49MCYmKG8qPTI1Nik7KXRoaXNbZStpXT10L28mMjU1O3JldHVybiBlK3J9LHUucHJvdG90eXBlLndyaXRlVUludDg9ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0PSt0LGV8PTAscnx8UCh0aGlzLHQsZSwxLDI1NSwwKSx1LlRZUEVEX0FSUkFZX1NVUFBPUlR8fCh0PU1hdGguZmxvb3IodCkpLHRoaXNbZV09MjU1JnQsZSsxfSx1LnByb3RvdHlwZS53cml0ZVVJbnQxNkxFPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gdD0rdCxlfD0wLHJ8fFAodGhpcyx0LGUsMiw2NTUzNSwwKSx1LlRZUEVEX0FSUkFZX1NVUFBPUlQ/KHRoaXNbZV09MjU1JnQsdGhpc1tlKzFdPXQ+Pj44KTpJKHRoaXMsdCxlLCEwKSxlKzJ9LHUucHJvdG90eXBlLndyaXRlVUludDE2QkU9ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0PSt0LGV8PTAscnx8UCh0aGlzLHQsZSwyLDY1NTM1LDApLHUuVFlQRURfQVJSQVlfU1VQUE9SVD8odGhpc1tlXT10Pj4+OCx0aGlzW2UrMV09MjU1JnQpOkkodGhpcyx0LGUsITEpLGUrMn0sdS5wcm90b3R5cGUud3JpdGVVSW50MzJMRT1mdW5jdGlvbih0LGUscil7cmV0dXJuIHQ9K3QsZXw9MCxyfHxQKHRoaXMsdCxlLDQsNDI5NDk2NzI5NSwwKSx1LlRZUEVEX0FSUkFZX1NVUFBPUlQ/KHRoaXNbZSszXT10Pj4+MjQsdGhpc1tlKzJdPXQ+Pj4xNix0aGlzW2UrMV09dD4+PjgsdGhpc1tlXT0yNTUmdCk6Qih0aGlzLHQsZSwhMCksZSs0fSx1LnByb3RvdHlwZS53cml0ZVVJbnQzMkJFPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gdD0rdCxlfD0wLHJ8fFAodGhpcyx0LGUsNCw0Mjk0OTY3Mjk1LDApLHUuVFlQRURfQVJSQVlfU1VQUE9SVD8odGhpc1tlXT10Pj4+MjQsdGhpc1tlKzFdPXQ+Pj4xNix0aGlzW2UrMl09dD4+PjgsdGhpc1tlKzNdPTI1NSZ0KTpCKHRoaXMsdCxlLCExKSxlKzR9LHUucHJvdG90eXBlLndyaXRlSW50TEU9ZnVuY3Rpb24odCxlLHIsbil7aWYodD0rdCxlfD0wLCFuKXt2YXIgaT1NYXRoLnBvdygyLDgqci0xKTtQKHRoaXMsdCxlLHIsaS0xLC1pKX12YXIgbz0wLHM9MSxhPTA7Zm9yKHRoaXNbZV09MjU1JnQ7KytvPHImJihzKj0yNTYpOyl0PDAmJjA9PT1hJiYwIT09dGhpc1tlK28tMV0mJihhPTEpLHRoaXNbZStvXT0odC9zPj4wKS1hJjI1NTtyZXR1cm4gZStyfSx1LnByb3RvdHlwZS53cml0ZUludEJFPWZ1bmN0aW9uKHQsZSxyLG4pe2lmKHQ9K3QsZXw9MCwhbil7dmFyIGk9TWF0aC5wb3coMiw4KnItMSk7UCh0aGlzLHQsZSxyLGktMSwtaSl9dmFyIG89ci0xLHM9MSxhPTA7Zm9yKHRoaXNbZStvXT0yNTUmdDstLW8+PTAmJihzKj0yNTYpOyl0PDAmJjA9PT1hJiYwIT09dGhpc1tlK28rMV0mJihhPTEpLHRoaXNbZStvXT0odC9zPj4wKS1hJjI1NTtyZXR1cm4gZStyfSx1LnByb3RvdHlwZS53cml0ZUludDg9ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0PSt0LGV8PTAscnx8UCh0aGlzLHQsZSwxLDEyNywtMTI4KSx1LlRZUEVEX0FSUkFZX1NVUFBPUlR8fCh0PU1hdGguZmxvb3IodCkpLHQ8MCYmKHQ9MjU1K3QrMSksdGhpc1tlXT0yNTUmdCxlKzF9LHUucHJvdG90eXBlLndyaXRlSW50MTZMRT1mdW5jdGlvbih0LGUscil7cmV0dXJuIHQ9K3QsZXw9MCxyfHxQKHRoaXMsdCxlLDIsMzI3NjcsLTMyNzY4KSx1LlRZUEVEX0FSUkFZX1NVUFBPUlQ/KHRoaXNbZV09MjU1JnQsdGhpc1tlKzFdPXQ+Pj44KTpJKHRoaXMsdCxlLCEwKSxlKzJ9LHUucHJvdG90eXBlLndyaXRlSW50MTZCRT1mdW5jdGlvbih0LGUscil7cmV0dXJuIHQ9K3QsZXw9MCxyfHxQKHRoaXMsdCxlLDIsMzI3NjcsLTMyNzY4KSx1LlRZUEVEX0FSUkFZX1NVUFBPUlQ/KHRoaXNbZV09dD4+PjgsdGhpc1tlKzFdPTI1NSZ0KTpJKHRoaXMsdCxlLCExKSxlKzJ9LHUucHJvdG90eXBlLndyaXRlSW50MzJMRT1mdW5jdGlvbih0LGUscil7cmV0dXJuIHQ9K3QsZXw9MCxyfHxQKHRoaXMsdCxlLDQsMjE0NzQ4MzY0NywtMjE0NzQ4MzY0OCksdS5UWVBFRF9BUlJBWV9TVVBQT1JUPyh0aGlzW2VdPTI1NSZ0LHRoaXNbZSsxXT10Pj4+OCx0aGlzW2UrMl09dD4+PjE2LHRoaXNbZSszXT10Pj4+MjQpOkIodGhpcyx0LGUsITApLGUrNH0sdS5wcm90b3R5cGUud3JpdGVJbnQzMkJFPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gdD0rdCxlfD0wLHJ8fFAodGhpcyx0LGUsNCwyMTQ3NDgzNjQ3LC0yMTQ3NDgzNjQ4KSx0PDAmJih0PTQyOTQ5NjcyOTUrdCsxKSx1LlRZUEVEX0FSUkFZX1NVUFBPUlQ/KHRoaXNbZV09dD4+PjI0LHRoaXNbZSsxXT10Pj4+MTYsdGhpc1tlKzJdPXQ+Pj44LHRoaXNbZSszXT0yNTUmdCk6Qih0aGlzLHQsZSwhMSksZSs0fSx1LnByb3RvdHlwZS53cml0ZUZsb2F0TEU9ZnVuY3Rpb24odCxlLHIpe3JldHVybiBqKHRoaXMsdCxlLCEwLHIpfSx1LnByb3RvdHlwZS53cml0ZUZsb2F0QkU9ZnVuY3Rpb24odCxlLHIpe3JldHVybiBqKHRoaXMsdCxlLCExLHIpfSx1LnByb3RvdHlwZS53cml0ZURvdWJsZUxFPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gTih0aGlzLHQsZSwhMCxyKX0sdS5wcm90b3R5cGUud3JpdGVEb3VibGVCRT1mdW5jdGlvbih0LGUscil7cmV0dXJuIE4odGhpcyx0LGUsITEscil9LHUucHJvdG90eXBlLmNvcHk9ZnVuY3Rpb24odCxlLHIsbil7aWYocnx8KHI9MCksbnx8MD09PW58fChuPXRoaXMubGVuZ3RoKSxlPj10Lmxlbmd0aCYmKGU9dC5sZW5ndGgpLGV8fChlPTApLG4+MCYmbjxyJiYobj1yKSxuPT09cilyZXR1cm4gMDtpZigwPT09dC5sZW5ndGh8fDA9PT10aGlzLmxlbmd0aClyZXR1cm4gMDtpZihlPDApdGhyb3cgbmV3IFJhbmdlRXJyb3IoInRhcmdldFN0YXJ0IG91dCBvZiBib3VuZHMiKTtpZihyPDB8fHI+PXRoaXMubGVuZ3RoKXRocm93IG5ldyBSYW5nZUVycm9yKCJzb3VyY2VTdGFydCBvdXQgb2YgYm91bmRzIik7aWYobjwwKXRocm93IG5ldyBSYW5nZUVycm9yKCJzb3VyY2VFbmQgb3V0IG9mIGJvdW5kcyIpO24+dGhpcy5sZW5ndGgmJihuPXRoaXMubGVuZ3RoKSx0Lmxlbmd0aC1lPG4tciYmKG49dC5sZW5ndGgtZStyKTt2YXIgaSxvPW4tcjtpZih0aGlzPT09dCYmcjxlJiZlPG4pZm9yKGk9by0xO2k+PTA7LS1pKXRbaStlXT10aGlzW2krcl07ZWxzZSBpZihvPDFlM3x8IXUuVFlQRURfQVJSQVlfU1VQUE9SVClmb3IoaT0wO2k8bzsrK2kpdFtpK2VdPXRoaXNbaStyXTtlbHNlIFVpbnQ4QXJyYXkucHJvdG90eXBlLnNldC5jYWxsKHQsdGhpcy5zdWJhcnJheShyLHIrbyksZSk7cmV0dXJuIG99LHUucHJvdG90eXBlLmZpbGw9ZnVuY3Rpb24odCxlLHIsbil7aWYoInN0cmluZyI9PXR5cGVvZiB0KXtpZigic3RyaW5nIj09dHlwZW9mIGU/KG49ZSxlPTAscj10aGlzLmxlbmd0aCk6InN0cmluZyI9PXR5cGVvZiByJiYobj1yLHI9dGhpcy5sZW5ndGgpLDE9PT10Lmxlbmd0aCl7dmFyIGk9dC5jaGFyQ29kZUF0KDApO2k8MjU2JiYodD1pKX1pZih2b2lkIDAhPT1uJiYic3RyaW5nIiE9dHlwZW9mIG4pdGhyb3cgbmV3IFR5cGVFcnJvcigiZW5jb2RpbmcgbXVzdCBiZSBhIHN0cmluZyIpO2lmKCJzdHJpbmciPT10eXBlb2YgbiYmIXUuaXNFbmNvZGluZyhuKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJVbmtub3duIGVuY29kaW5nOiAiK24pfWVsc2UibnVtYmVyIj09dHlwZW9mIHQmJih0Jj0yNTUpO2lmKGU8MHx8dGhpcy5sZW5ndGg8ZXx8dGhpcy5sZW5ndGg8cil0aHJvdyBuZXcgUmFuZ2VFcnJvcigiT3V0IG9mIHJhbmdlIGluZGV4Iik7aWYocjw9ZSlyZXR1cm4gdGhpczt2YXIgbztpZihlPj4+PTAscj12b2lkIDA9PT1yP3RoaXMubGVuZ3RoOnI+Pj4wLHR8fCh0PTApLCJudW1iZXIiPT10eXBlb2YgdClmb3Iobz1lO288cjsrK28pdGhpc1tvXT10O2Vsc2V7dmFyIHM9dS5pc0J1ZmZlcih0KT90OkQobmV3IHUodCxuKS50b1N0cmluZygpKSxhPXMubGVuZ3RoO2ZvcihvPTA7bzxyLWU7KytvKXRoaXNbbytlXT1zW28lYV19cmV0dXJuIHRoaXN9O3ZhciBxPS9bXitcLzAtOUEtWmEtei1fXS9nO2Z1bmN0aW9uIFUodCl7cmV0dXJuIHQ8MTY/IjAiK3QudG9TdHJpbmcoMTYpOnQudG9TdHJpbmcoMTYpfWZ1bmN0aW9uIEQodCxlKXt2YXIgcjtlPWV8fDEvMDtmb3IodmFyIG49dC5sZW5ndGgsaT1udWxsLG89W10scz0wO3M8bjsrK3Mpe2lmKChyPXQuY2hhckNvZGVBdChzKSk+NTUyOTUmJnI8NTczNDQpe2lmKCFpKXtpZihyPjU2MzE5KXsoZS09Myk+LTEmJm8ucHVzaCgyMzksMTkxLDE4OSk7Y29udGludWV9aWYocysxPT09bil7KGUtPTMpPi0xJiZvLnB1c2goMjM5LDE5MSwxODkpO2NvbnRpbnVlfWk9cjtjb250aW51ZX1pZihyPDU2MzIwKXsoZS09Myk+LTEmJm8ucHVzaCgyMzksMTkxLDE4OSksaT1yO2NvbnRpbnVlfXI9NjU1MzYrKGktNTUyOTY8PDEwfHItNTYzMjApfWVsc2UgaSYmKGUtPTMpPi0xJiZvLnB1c2goMjM5LDE5MSwxODkpO2lmKGk9bnVsbCxyPDEyOCl7aWYoKGUtPTEpPDApYnJlYWs7by5wdXNoKHIpfWVsc2UgaWYocjwyMDQ4KXtpZigoZS09Mik8MClicmVhaztvLnB1c2gocj4+NnwxOTIsNjMmcnwxMjgpfWVsc2UgaWYocjw2NTUzNil7aWYoKGUtPTMpPDApYnJlYWs7by5wdXNoKHI+PjEyfDIyNCxyPj42JjYzfDEyOCw2MyZyfDEyOCl9ZWxzZXtpZighKHI8MTExNDExMikpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIGNvZGUgcG9pbnQiKTtpZigoZS09NCk8MClicmVhaztvLnB1c2gocj4+MTh8MjQwLHI+PjEyJjYzfDEyOCxyPj42JjYzfDEyOCw2MyZyfDEyOCl9fXJldHVybiBvfWZ1bmN0aW9uIHoodCl7cmV0dXJuIG4udG9CeXRlQXJyYXkoZnVuY3Rpb24odCl7aWYoKHQ9ZnVuY3Rpb24odCl7cmV0dXJuIHQudHJpbT90LnRyaW0oKTp0LnJlcGxhY2UoL15ccyt8XHMrJC9nLCIiKX0odCkucmVwbGFjZShxLCIiKSkubGVuZ3RoPDIpcmV0dXJuIiI7Zm9yKDt0Lmxlbmd0aCU0IT0wOyl0Kz0iPSI7cmV0dXJuIHR9KHQpKX1mdW5jdGlvbiBIKHQsZSxyLG4pe2Zvcih2YXIgaT0wO2k8biYmIShpK3I+PWUubGVuZ3RofHxpPj10Lmxlbmd0aCk7KytpKWVbaStyXT10W2ldO3JldHVybiBpfX0pLmNhbGwodGhpcyxyKDYpKX0sZnVuY3Rpb24odCxlKXsiZnVuY3Rpb24iPT10eXBlb2YgT2JqZWN0LmNyZWF0ZT90LmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtlJiYodC5zdXBlcl89ZSx0LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGUucHJvdG90eXBlLHtjb25zdHJ1Y3Rvcjp7dmFsdWU6dCxlbnVtZXJhYmxlOiExLHdyaXRhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH19KSl9OnQuZXhwb3J0cz1mdW5jdGlvbih0LGUpe2lmKGUpe3Quc3VwZXJfPWU7dmFyIHI9ZnVuY3Rpb24oKXt9O3IucHJvdG90eXBlPWUucHJvdG90eXBlLHQucHJvdG90eXBlPW5ldyByLHQucHJvdG90eXBlLmNvbnN0cnVjdG9yPXR9fX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSwiYiIsKGZ1bmN0aW9uKCl7cmV0dXJuIDI1Nn0pKSxyLmQoZSwiZyIsKGZ1bmN0aW9uKCl7cmV0dXJuIDI1Nn0pKSxyLmQoZSwiYSIsKGZ1bmN0aW9uKCl7cmV0dXJuIkFFUy1DQkMifSkpLHIuZChlLCJmIiwoZnVuY3Rpb24oKXtyZXR1cm4iU0hBLTI1NiJ9KSksci5kKGUsImUiLChmdW5jdGlvbigpe3JldHVybiJITUFDIn0pKSxyLmQoZSwiaSIsKGZ1bmN0aW9uKCl7cmV0dXJuIlNIQS0yNTYifSkpLHIuZChlLCJqIiwoZnVuY3Rpb24oKXtyZXR1cm4iU0hBLTUxMiJ9KSksci5kKGUsImgiLChmdW5jdGlvbigpe3JldHVybiA1MTJ9KSksci5kKGUsImQiLChmdW5jdGlvbigpe3JldHVybiJlbmNyeXB0In0pKSxyLmQoZSwiYyIsKGZ1bmN0aW9uKCl7cmV0dXJuImRlY3J5cHQifSkpLHIuZChlLCJrIiwoZnVuY3Rpb24oKXtyZXR1cm4ic2lnbiJ9KSksci5kKGUsImwiLChmdW5jdGlvbigpe3JldHVybiJ2ZXJpZnkifSkpfSxmdW5jdGlvbih0LGUpe3ZhciByLG4saT10LmV4cG9ydHM9e307ZnVuY3Rpb24gbygpe3Rocm93IG5ldyBFcnJvcigic2V0VGltZW91dCBoYXMgbm90IGJlZW4gZGVmaW5lZCIpfWZ1bmN0aW9uIHMoKXt0aHJvdyBuZXcgRXJyb3IoImNsZWFyVGltZW91dCBoYXMgbm90IGJlZW4gZGVmaW5lZCIpfWZ1bmN0aW9uIGEodCl7aWYocj09PXNldFRpbWVvdXQpcmV0dXJuIHNldFRpbWVvdXQodCwwKTtpZigocj09PW98fCFyKSYmc2V0VGltZW91dClyZXR1cm4gcj1zZXRUaW1lb3V0LHNldFRpbWVvdXQodCwwKTt0cnl7cmV0dXJuIHIodCwwKX1jYXRjaChlKXt0cnl7cmV0dXJuIHIuY2FsbChudWxsLHQsMCl9Y2F0Y2goZSl7cmV0dXJuIHIuY2FsbCh0aGlzLHQsMCl9fX0hZnVuY3Rpb24oKXt0cnl7cj0iZnVuY3Rpb24iPT10eXBlb2Ygc2V0VGltZW91dD9zZXRUaW1lb3V0Om99Y2F0Y2godCl7cj1vfXRyeXtuPSJmdW5jdGlvbiI9PXR5cGVvZiBjbGVhclRpbWVvdXQ/Y2xlYXJUaW1lb3V0OnN9Y2F0Y2godCl7bj1zfX0oKTt2YXIgdSxjPVtdLGY9ITEsaD0tMTtmdW5jdGlvbiBsKCl7ZiYmdSYmKGY9ITEsdS5sZW5ndGg/Yz11LmNvbmNhdChjKTpoPS0xLGMubGVuZ3RoJiZkKCkpfWZ1bmN0aW9uIGQoKXtpZighZil7dmFyIHQ9YShsKTtmPSEwO2Zvcih2YXIgZT1jLmxlbmd0aDtlOyl7Zm9yKHU9YyxjPVtdOysraDxlOyl1JiZ1W2hdLnJ1bigpO2g9LTEsZT1jLmxlbmd0aH11PW51bGwsZj0hMSxmdW5jdGlvbih0KXtpZihuPT09Y2xlYXJUaW1lb3V0KXJldHVybiBjbGVhclRpbWVvdXQodCk7aWYoKG49PT1zfHwhbikmJmNsZWFyVGltZW91dClyZXR1cm4gbj1jbGVhclRpbWVvdXQsY2xlYXJUaW1lb3V0KHQpO3RyeXtuKHQpfWNhdGNoKGUpe3RyeXtyZXR1cm4gbi5jYWxsKG51bGwsdCl9Y2F0Y2goZSl7cmV0dXJuIG4uY2FsbCh0aGlzLHQpfX19KHQpfX1mdW5jdGlvbiBwKHQsZSl7dGhpcy5mdW49dCx0aGlzLmFycmF5PWV9ZnVuY3Rpb24gbSgpe31pLm5leHRUaWNrPWZ1bmN0aW9uKHQpe3ZhciBlPW5ldyBBcnJheShhcmd1bWVudHMubGVuZ3RoLTEpO2lmKGFyZ3VtZW50cy5sZW5ndGg+MSlmb3IodmFyIHI9MTtyPGFyZ3VtZW50cy5sZW5ndGg7cisrKWVbci0xXT1hcmd1bWVudHNbcl07Yy5wdXNoKG5ldyBwKHQsZSkpLDEhPT1jLmxlbmd0aHx8Znx8YShkKX0scC5wcm90b3R5cGUucnVuPWZ1bmN0aW9uKCl7dGhpcy5mdW4uYXBwbHkobnVsbCx0aGlzLmFycmF5KX0saS50aXRsZT0iYnJvd3NlciIsaS5icm93c2VyPSEwLGkuZW52PXt9LGkuYXJndj1bXSxpLnZlcnNpb249IiIsaS52ZXJzaW9ucz17fSxpLm9uPW0saS5hZGRMaXN0ZW5lcj1tLGkub25jZT1tLGkub2ZmPW0saS5yZW1vdmVMaXN0ZW5lcj1tLGkucmVtb3ZlQWxsTGlzdGVuZXJzPW0saS5lbWl0PW0saS5wcmVwZW5kTGlzdGVuZXI9bSxpLnByZXBlbmRPbmNlTGlzdGVuZXI9bSxpLmxpc3RlbmVycz1mdW5jdGlvbih0KXtyZXR1cm5bXX0saS5iaW5kaW5nPWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcigicHJvY2Vzcy5iaW5kaW5nIGlzIG5vdCBzdXBwb3J0ZWQiKX0saS5jd2Q9ZnVuY3Rpb24oKXtyZXR1cm4iLyJ9LGkuY2hkaXI9ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKCJwcm9jZXNzLmNoZGlyIGlzIG5vdCBzdXBwb3J0ZWQiKX0saS51bWFzaz1mdW5jdGlvbigpe3JldHVybiAwfX0sZnVuY3Rpb24odCxlKXt2YXIgcjtyPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KCk7dHJ5e3I9cnx8bmV3IEZ1bmN0aW9uKCJyZXR1cm4gdGhpcyIpKCl9Y2F0Y2godCl7Im9iamVjdCI9PXR5cGVvZiB3aW5kb3cmJihyPXdpbmRvdyl9dC5leHBvcnRzPXJ9LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUsImIiLChmdW5jdGlvbigpe3JldHVybiBufSkpLHIuZChlLCJkIiwoZnVuY3Rpb24oKXtyZXR1cm4gaX0pKSxyLmQoZSwiYyIsKGZ1bmN0aW9uKCl7cmV0dXJuIG99KSksci5kKGUsImUiLChmdW5jdGlvbigpe3JldHVybiBzfSkpLHIuZChlLCJmIiwoZnVuY3Rpb24oKXtyZXR1cm4gYX0pKSxyLmQoZSwiYSIsKGZ1bmN0aW9uKCl7cmV0dXJuIHV9KSk7Y29uc3Qgbj0iSU5URVJOQUxfRVJST1IiLGk9IlNFUlZFUl9FUlJPUiIsbz1bLTMyNzAwLC0zMjYwMCwtMzI2MDEsLTMyNjAyLC0zMjYwM10scz1bLTMyZTMsLTMyMDk5XSxhPXtQQVJTRV9FUlJPUjp7Y29kZTotMzI3MDAsbWVzc2FnZToiUGFyc2UgZXJyb3IifSxJTlZBTElEX1JFUVVFU1Q6e2NvZGU6LTMyNjAwLG1lc3NhZ2U6IkludmFsaWQgUmVxdWVzdCJ9LE1FVEhPRF9OT1RfRk9VTkQ6e2NvZGU6LTMyNjAxLG1lc3NhZ2U6Ik1ldGhvZCBub3QgZm91bmQifSxJTlZBTElEX1BBUkFNUzp7Y29kZTotMzI2MDIsbWVzc2FnZToiSW52YWxpZCBwYXJhbXMifSxbbl06e2NvZGU6LTMyNjAzLG1lc3NhZ2U6IkludGVybmFsIGVycm9yIn0sW2ldOntjb2RlOi0zMmUzLG1lc3NhZ2U6IlNlcnZlciBlcnJvciJ9fSx1PWl9LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dGhpcyYmdGhpcy5fX2NyZWF0ZUJpbmRpbmd8fChPYmplY3QuY3JlYXRlP2Z1bmN0aW9uKHQsZSxyLG4pe3ZvaWQgMD09PW4mJihuPXIpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LG4se2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGVbcl19fSl9OmZ1bmN0aW9uKHQsZSxyLG4pe3ZvaWQgMD09PW4mJihuPXIpLHRbbl09ZVtyXX0pLGk9dGhpcyYmdGhpcy5fX2V4cG9ydFN0YXJ8fGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByIGluIHQpImRlZmF1bHQiPT09cnx8ZS5oYXNPd25Qcm9wZXJ0eShyKXx8bihlLHQscil9O09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxpKHIoMTcyKSxlKSxpKHIoMTczKSxlKX0sZnVuY3Rpb24odCxlLHIpeyhmdW5jdGlvbih0KXshZnVuY3Rpb24odCxlKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbih0LGUpe2lmKCF0KXRocm93IG5ldyBFcnJvcihlfHwiQXNzZXJ0aW9uIGZhaWxlZCIpfWZ1bmN0aW9uIGkodCxlKXt0LnN1cGVyXz1lO3ZhciByPWZ1bmN0aW9uKCl7fTtyLnByb3RvdHlwZT1lLnByb3RvdHlwZSx0LnByb3RvdHlwZT1uZXcgcix0LnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj10fWZ1bmN0aW9uIG8odCxlLHIpe2lmKG8uaXNCTih0KSlyZXR1cm4gdDt0aGlzLm5lZ2F0aXZlPTAsdGhpcy53b3Jkcz1udWxsLHRoaXMubGVuZ3RoPTAsdGhpcy5yZWQ9bnVsbCxudWxsIT09dCYmKCJsZSIhPT1lJiYiYmUiIT09ZXx8KHI9ZSxlPTEwKSx0aGlzLl9pbml0KHR8fDAsZXx8MTAscnx8ImJlIikpfXZhciBzOyJvYmplY3QiPT10eXBlb2YgdD90LmV4cG9ydHM9bzplLkJOPW8sby5CTj1vLG8ud29yZFNpemU9MjY7dHJ5e3M9cigxNjgpLkJ1ZmZlcn1jYXRjaCh0KXt9ZnVuY3Rpb24gYSh0LGUscil7Zm9yKHZhciBuPTAsaT1NYXRoLm1pbih0Lmxlbmd0aCxyKSxvPWU7bzxpO28rKyl7dmFyIHM9dC5jaGFyQ29kZUF0KG8pLTQ4O248PD00LG58PXM+PTQ5JiZzPD01ND9zLTQ5KzEwOnM+PTE3JiZzPD0yMj9zLTE3KzEwOjE1JnN9cmV0dXJuIG59ZnVuY3Rpb24gdSh0LGUscixuKXtmb3IodmFyIGk9MCxvPU1hdGgubWluKHQubGVuZ3RoLHIpLHM9ZTtzPG87cysrKXt2YXIgYT10LmNoYXJDb2RlQXQocyktNDg7aSo9bixpKz1hPj00OT9hLTQ5KzEwOmE+PTE3P2EtMTcrMTA6YX1yZXR1cm4gaX1vLmlzQk49ZnVuY3Rpb24odCl7cmV0dXJuIHQgaW5zdGFuY2VvZiBvfHxudWxsIT09dCYmIm9iamVjdCI9PXR5cGVvZiB0JiZ0LmNvbnN0cnVjdG9yLndvcmRTaXplPT09by53b3JkU2l6ZSYmQXJyYXkuaXNBcnJheSh0LndvcmRzKX0sby5tYXg9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdC5jbXAoZSk+MD90OmV9LG8ubWluPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQuY21wKGUpPDA/dDplfSxvLnByb3RvdHlwZS5faW5pdD1mdW5jdGlvbih0LGUscil7aWYoIm51bWJlciI9PXR5cGVvZiB0KXJldHVybiB0aGlzLl9pbml0TnVtYmVyKHQsZSxyKTtpZigib2JqZWN0Ij09dHlwZW9mIHQpcmV0dXJuIHRoaXMuX2luaXRBcnJheSh0LGUscik7ImhleCI9PT1lJiYoZT0xNiksbihlPT09KDB8ZSkmJmU+PTImJmU8PTM2KTt2YXIgaT0wOyItIj09PSh0PXQudG9TdHJpbmcoKS5yZXBsYWNlKC9ccysvZywiIikpWzBdJiZpKyssMTY9PT1lP3RoaXMuX3BhcnNlSGV4KHQsaSk6dGhpcy5fcGFyc2VCYXNlKHQsZSxpKSwiLSI9PT10WzBdJiYodGhpcy5uZWdhdGl2ZT0xKSx0aGlzLnN0cmlwKCksImxlIj09PXImJnRoaXMuX2luaXRBcnJheSh0aGlzLnRvQXJyYXkoKSxlLHIpfSxvLnByb3RvdHlwZS5faW5pdE51bWJlcj1mdW5jdGlvbih0LGUscil7dDwwJiYodGhpcy5uZWdhdGl2ZT0xLHQ9LXQpLHQ8NjcxMDg4NjQ/KHRoaXMud29yZHM9WzY3MTA4ODYzJnRdLHRoaXMubGVuZ3RoPTEpOnQ8NDUwMzU5OTYyNzM3MDQ5Nj8odGhpcy53b3Jkcz1bNjcxMDg4NjMmdCx0LzY3MTA4ODY0JjY3MTA4ODYzXSx0aGlzLmxlbmd0aD0yKToobih0PDkwMDcxOTkyNTQ3NDA5OTIpLHRoaXMud29yZHM9WzY3MTA4ODYzJnQsdC82NzEwODg2NCY2NzEwODg2MywxXSx0aGlzLmxlbmd0aD0zKSwibGUiPT09ciYmdGhpcy5faW5pdEFycmF5KHRoaXMudG9BcnJheSgpLGUscil9LG8ucHJvdG90eXBlLl9pbml0QXJyYXk9ZnVuY3Rpb24odCxlLHIpe2lmKG4oIm51bWJlciI9PXR5cGVvZiB0Lmxlbmd0aCksdC5sZW5ndGg8PTApcmV0dXJuIHRoaXMud29yZHM9WzBdLHRoaXMubGVuZ3RoPTEsdGhpczt0aGlzLmxlbmd0aD1NYXRoLmNlaWwodC5sZW5ndGgvMyksdGhpcy53b3Jkcz1uZXcgQXJyYXkodGhpcy5sZW5ndGgpO2Zvcih2YXIgaT0wO2k8dGhpcy5sZW5ndGg7aSsrKXRoaXMud29yZHNbaV09MDt2YXIgbyxzLGE9MDtpZigiYmUiPT09cilmb3IoaT10Lmxlbmd0aC0xLG89MDtpPj0wO2ktPTMpcz10W2ldfHRbaS0xXTw8OHx0W2ktMl08PDE2LHRoaXMud29yZHNbb118PXM8PGEmNjcxMDg4NjMsdGhpcy53b3Jkc1tvKzFdPXM+Pj4yNi1hJjY3MTA4ODYzLChhKz0yNCk+PTI2JiYoYS09MjYsbysrKTtlbHNlIGlmKCJsZSI9PT1yKWZvcihpPTAsbz0wO2k8dC5sZW5ndGg7aSs9MylzPXRbaV18dFtpKzFdPDw4fHRbaSsyXTw8MTYsdGhpcy53b3Jkc1tvXXw9czw8YSY2NzEwODg2Myx0aGlzLndvcmRzW28rMV09cz4+PjI2LWEmNjcxMDg4NjMsKGErPTI0KT49MjYmJihhLT0yNixvKyspO3JldHVybiB0aGlzLnN0cmlwKCl9LG8ucHJvdG90eXBlLl9wYXJzZUhleD1mdW5jdGlvbih0LGUpe3RoaXMubGVuZ3RoPU1hdGguY2VpbCgodC5sZW5ndGgtZSkvNiksdGhpcy53b3Jkcz1uZXcgQXJyYXkodGhpcy5sZW5ndGgpO2Zvcih2YXIgcj0wO3I8dGhpcy5sZW5ndGg7cisrKXRoaXMud29yZHNbcl09MDt2YXIgbixpLG89MDtmb3Iocj10Lmxlbmd0aC02LG49MDtyPj1lO3ItPTYpaT1hKHQscixyKzYpLHRoaXMud29yZHNbbl18PWk8PG8mNjcxMDg4NjMsdGhpcy53b3Jkc1tuKzFdfD1pPj4+MjYtbyY0MTk0MzAzLChvKz0yNCk+PTI2JiYoby09MjYsbisrKTtyKzYhPT1lJiYoaT1hKHQsZSxyKzYpLHRoaXMud29yZHNbbl18PWk8PG8mNjcxMDg4NjMsdGhpcy53b3Jkc1tuKzFdfD1pPj4+MjYtbyY0MTk0MzAzKSx0aGlzLnN0cmlwKCl9LG8ucHJvdG90eXBlLl9wYXJzZUJhc2U9ZnVuY3Rpb24odCxlLHIpe3RoaXMud29yZHM9WzBdLHRoaXMubGVuZ3RoPTE7Zm9yKHZhciBuPTAsaT0xO2k8PTY3MTA4ODYzO2kqPWUpbisrO24tLSxpPWkvZXwwO2Zvcih2YXIgbz10Lmxlbmd0aC1yLHM9byVuLGE9TWF0aC5taW4obyxvLXMpK3IsYz0wLGY9cjtmPGE7Zis9biljPXUodCxmLGYrbixlKSx0aGlzLmltdWxuKGkpLHRoaXMud29yZHNbMF0rYzw2NzEwODg2ND90aGlzLndvcmRzWzBdKz1jOnRoaXMuX2lhZGRuKGMpO2lmKDAhPT1zKXt2YXIgaD0xO2ZvcihjPXUodCxmLHQubGVuZ3RoLGUpLGY9MDtmPHM7ZisrKWgqPWU7dGhpcy5pbXVsbihoKSx0aGlzLndvcmRzWzBdK2M8NjcxMDg4NjQ/dGhpcy53b3Jkc1swXSs9Yzp0aGlzLl9pYWRkbihjKX19LG8ucHJvdG90eXBlLmNvcHk9ZnVuY3Rpb24odCl7dC53b3Jkcz1uZXcgQXJyYXkodGhpcy5sZW5ndGgpO2Zvcih2YXIgZT0wO2U8dGhpcy5sZW5ndGg7ZSsrKXQud29yZHNbZV09dGhpcy53b3Jkc1tlXTt0Lmxlbmd0aD10aGlzLmxlbmd0aCx0Lm5lZ2F0aXZlPXRoaXMubmVnYXRpdmUsdC5yZWQ9dGhpcy5yZWR9LG8ucHJvdG90eXBlLmNsb25lPWZ1bmN0aW9uKCl7dmFyIHQ9bmV3IG8obnVsbCk7cmV0dXJuIHRoaXMuY29weSh0KSx0fSxvLnByb3RvdHlwZS5fZXhwYW5kPWZ1bmN0aW9uKHQpe2Zvcig7dGhpcy5sZW5ndGg8dDspdGhpcy53b3Jkc1t0aGlzLmxlbmd0aCsrXT0wO3JldHVybiB0aGlzfSxvLnByb3RvdHlwZS5zdHJpcD1mdW5jdGlvbigpe2Zvcig7dGhpcy5sZW5ndGg+MSYmMD09PXRoaXMud29yZHNbdGhpcy5sZW5ndGgtMV07KXRoaXMubGVuZ3RoLS07cmV0dXJuIHRoaXMuX25vcm1TaWduKCl9LG8ucHJvdG90eXBlLl9ub3JtU2lnbj1mdW5jdGlvbigpe3JldHVybiAxPT09dGhpcy5sZW5ndGgmJjA9PT10aGlzLndvcmRzWzBdJiYodGhpcy5uZWdhdGl2ZT0wKSx0aGlzfSxvLnByb3RvdHlwZS5pbnNwZWN0PWZ1bmN0aW9uKCl7cmV0dXJuKHRoaXMucmVkPyI8Qk4tUjogIjoiPEJOOiAiKSt0aGlzLnRvU3RyaW5nKDE2KSsiPiJ9O3ZhciBjPVsiIiwiMCIsIjAwIiwiMDAwIiwiMDAwMCIsIjAwMDAwIiwiMDAwMDAwIiwiMDAwMDAwMCIsIjAwMDAwMDAwIiwiMDAwMDAwMDAwIiwiMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCJdLGY9WzAsMCwyNSwxNiwxMiwxMSwxMCw5LDgsOCw3LDcsNyw3LDYsNiw2LDYsNiw2LDYsNSw1LDUsNSw1LDUsNSw1LDUsNSw1LDUsNSw1LDUsNV0saD1bMCwwLDMzNTU0NDMyLDQzMDQ2NzIxLDE2Nzc3MjE2LDQ4ODI4MTI1LDYwNDY2MTc2LDQwMzUzNjA3LDE2Nzc3MjE2LDQzMDQ2NzIxLDFlNywxOTQ4NzE3MSwzNTgzMTgwOCw2Mjc0ODUxNyw3NTI5NTM2LDExMzkwNjI1LDE2Nzc3MjE2LDI0MTM3NTY5LDM0MDEyMjI0LDQ3MDQ1ODgxLDY0ZTYsNDA4NDEwMSw1MTUzNjMyLDY0MzYzNDMsNzk2MjYyNCw5NzY1NjI1LDExODgxMzc2LDE0MzQ4OTA3LDE3MjEwMzY4LDIwNTExMTQ5LDI0M2U1LDI4NjI5MTUxLDMzNTU0NDMyLDM5MTM1MzkzLDQ1NDM1NDI0LDUyNTIxODc1LDYwNDY2MTc2XTtmdW5jdGlvbiBsKHQsZSxyKXtyLm5lZ2F0aXZlPWUubmVnYXRpdmVedC5uZWdhdGl2ZTt2YXIgbj10Lmxlbmd0aCtlLmxlbmd0aHwwO3IubGVuZ3RoPW4sbj1uLTF8MDt2YXIgaT0wfHQud29yZHNbMF0sbz0wfGUud29yZHNbMF0scz1pKm8sYT02NzEwODg2MyZzLHU9cy82NzEwODg2NHwwO3Iud29yZHNbMF09YTtmb3IodmFyIGM9MTtjPG47YysrKXtmb3IodmFyIGY9dT4+PjI2LGg9NjcxMDg4NjMmdSxsPU1hdGgubWluKGMsZS5sZW5ndGgtMSksZD1NYXRoLm1heCgwLGMtdC5sZW5ndGgrMSk7ZDw9bDtkKyspe3ZhciBwPWMtZHwwO2YrPShzPShpPTB8dC53b3Jkc1twXSkqKG89MHxlLndvcmRzW2RdKStoKS82NzEwODg2NHwwLGg9NjcxMDg4NjMmc31yLndvcmRzW2NdPTB8aCx1PTB8Zn1yZXR1cm4gMCE9PXU/ci53b3Jkc1tjXT0wfHU6ci5sZW5ndGgtLSxyLnN0cmlwKCl9by5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24odCxlKXt2YXIgcjtpZihlPTB8ZXx8MSwxNj09PSh0PXR8fDEwKXx8ImhleCI9PT10KXtyPSIiO2Zvcih2YXIgaT0wLG89MCxzPTA7czx0aGlzLmxlbmd0aDtzKyspe3ZhciBhPXRoaXMud29yZHNbc10sdT0oMTY3NzcyMTUmKGE8PGl8bykpLnRvU3RyaW5nKDE2KTtyPTAhPT0obz1hPj4+MjQtaSYxNjc3NzIxNSl8fHMhPT10aGlzLmxlbmd0aC0xP2NbNi11Lmxlbmd0aF0rdStyOnUrciwoaSs9Mik+PTI2JiYoaS09MjYscy0tKX1mb3IoMCE9PW8mJihyPW8udG9TdHJpbmcoMTYpK3IpO3IubGVuZ3RoJWUhPTA7KXI9IjAiK3I7cmV0dXJuIDAhPT10aGlzLm5lZ2F0aXZlJiYocj0iLSIrcikscn1pZih0PT09KDB8dCkmJnQ+PTImJnQ8PTM2KXt2YXIgbD1mW3RdLGQ9aFt0XTtyPSIiO3ZhciBwPXRoaXMuY2xvbmUoKTtmb3IocC5uZWdhdGl2ZT0wOyFwLmlzWmVybygpOyl7dmFyIG09cC5tb2RuKGQpLnRvU3RyaW5nKHQpO3I9KHA9cC5pZGl2bihkKSkuaXNaZXJvKCk/bStyOmNbbC1tLmxlbmd0aF0rbStyfWZvcih0aGlzLmlzWmVybygpJiYocj0iMCIrcik7ci5sZW5ndGglZSE9MDspcj0iMCIrcjtyZXR1cm4gMCE9PXRoaXMubmVnYXRpdmUmJihyPSItIityKSxyfW4oITEsIkJhc2Ugc2hvdWxkIGJlIGJldHdlZW4gMiBhbmQgMzYiKX0sby5wcm90b3R5cGUudG9OdW1iZXI9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLndvcmRzWzBdO3JldHVybiAyPT09dGhpcy5sZW5ndGg/dCs9NjcxMDg4NjQqdGhpcy53b3Jkc1sxXTozPT09dGhpcy5sZW5ndGgmJjE9PT10aGlzLndvcmRzWzJdP3QrPTQ1MDM1OTk2MjczNzA0OTYrNjcxMDg4NjQqdGhpcy53b3Jkc1sxXTp0aGlzLmxlbmd0aD4yJiZuKCExLCJOdW1iZXIgY2FuIG9ubHkgc2FmZWx5IHN0b3JlIHVwIHRvIDUzIGJpdHMiKSwwIT09dGhpcy5uZWdhdGl2ZT8tdDp0fSxvLnByb3RvdHlwZS50b0pTT049ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50b1N0cmluZygxNil9LG8ucHJvdG90eXBlLnRvQnVmZmVyPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIG4odm9pZCAwIT09cyksdGhpcy50b0FycmF5TGlrZShzLHQsZSl9LG8ucHJvdG90eXBlLnRvQXJyYXk9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy50b0FycmF5TGlrZShBcnJheSx0LGUpfSxvLnByb3RvdHlwZS50b0FycmF5TGlrZT1mdW5jdGlvbih0LGUscil7dmFyIGk9dGhpcy5ieXRlTGVuZ3RoKCksbz1yfHxNYXRoLm1heCgxLGkpO24oaTw9bywiYnl0ZSBhcnJheSBsb25nZXIgdGhhbiBkZXNpcmVkIGxlbmd0aCIpLG4obz4wLCJSZXF1ZXN0ZWQgYXJyYXkgbGVuZ3RoIDw9IDAiKSx0aGlzLnN0cmlwKCk7dmFyIHMsYSx1PSJsZSI9PT1lLGM9bmV3IHQobyksZj10aGlzLmNsb25lKCk7aWYodSl7Zm9yKGE9MDshZi5pc1plcm8oKTthKyspcz1mLmFuZGxuKDI1NSksZi5pdXNocm4oOCksY1thXT1zO2Zvcig7YTxvO2ErKyljW2FdPTB9ZWxzZXtmb3IoYT0wO2E8by1pO2ErKyljW2FdPTA7Zm9yKGE9MDshZi5pc1plcm8oKTthKyspcz1mLmFuZGxuKDI1NSksZi5pdXNocm4oOCksY1tvLWEtMV09c31yZXR1cm4gY30sTWF0aC5jbHozMj9vLnByb3RvdHlwZS5fY291bnRCaXRzPWZ1bmN0aW9uKHQpe3JldHVybiAzMi1NYXRoLmNsejMyKHQpfTpvLnByb3RvdHlwZS5fY291bnRCaXRzPWZ1bmN0aW9uKHQpe3ZhciBlPXQscj0wO3JldHVybiBlPj00MDk2JiYocis9MTMsZT4+Pj0xMyksZT49NjQmJihyKz03LGU+Pj49NyksZT49OCYmKHIrPTQsZT4+Pj00KSxlPj0yJiYocis9MixlPj4+PTIpLHIrZX0sby5wcm90b3R5cGUuX3plcm9CaXRzPWZ1bmN0aW9uKHQpe2lmKDA9PT10KXJldHVybiAyNjt2YXIgZT10LHI9MDtyZXR1cm4gMD09KDgxOTEmZSkmJihyKz0xMyxlPj4+PTEzKSwwPT0oMTI3JmUpJiYocis9NyxlPj4+PTcpLDA9PSgxNSZlKSYmKHIrPTQsZT4+Pj00KSwwPT0oMyZlKSYmKHIrPTIsZT4+Pj0yKSwwPT0oMSZlKSYmcisrLHJ9LG8ucHJvdG90eXBlLmJpdExlbmd0aD1mdW5jdGlvbigpe3ZhciB0PXRoaXMud29yZHNbdGhpcy5sZW5ndGgtMV0sZT10aGlzLl9jb3VudEJpdHModCk7cmV0dXJuIDI2Kih0aGlzLmxlbmd0aC0xKStlfSxvLnByb3RvdHlwZS56ZXJvQml0cz1mdW5jdGlvbigpe2lmKHRoaXMuaXNaZXJvKCkpcmV0dXJuIDA7Zm9yKHZhciB0PTAsZT0wO2U8dGhpcy5sZW5ndGg7ZSsrKXt2YXIgcj10aGlzLl96ZXJvQml0cyh0aGlzLndvcmRzW2VdKTtpZih0Kz1yLDI2IT09cilicmVha31yZXR1cm4gdH0sby5wcm90b3R5cGUuYnl0ZUxlbmd0aD1mdW5jdGlvbigpe3JldHVybiBNYXRoLmNlaWwodGhpcy5iaXRMZW5ndGgoKS84KX0sby5wcm90b3R5cGUudG9Ud29zPWZ1bmN0aW9uKHQpe3JldHVybiAwIT09dGhpcy5uZWdhdGl2ZT90aGlzLmFicygpLmlub3RuKHQpLmlhZGRuKDEpOnRoaXMuY2xvbmUoKX0sby5wcm90b3R5cGUuZnJvbVR3b3M9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMudGVzdG4odC0xKT90aGlzLm5vdG4odCkuaWFkZG4oMSkuaW5lZygpOnRoaXMuY2xvbmUoKX0sby5wcm90b3R5cGUuaXNOZWc9ZnVuY3Rpb24oKXtyZXR1cm4gMCE9PXRoaXMubmVnYXRpdmV9LG8ucHJvdG90eXBlLm5lZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmNsb25lKCkuaW5lZygpfSxvLnByb3RvdHlwZS5pbmVnPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaXNaZXJvKCl8fCh0aGlzLm5lZ2F0aXZlXj0xKSx0aGlzfSxvLnByb3RvdHlwZS5pdW9yPWZ1bmN0aW9uKHQpe2Zvcig7dGhpcy5sZW5ndGg8dC5sZW5ndGg7KXRoaXMud29yZHNbdGhpcy5sZW5ndGgrK109MDtmb3IodmFyIGU9MDtlPHQubGVuZ3RoO2UrKyl0aGlzLndvcmRzW2VdPXRoaXMud29yZHNbZV18dC53b3Jkc1tlXTtyZXR1cm4gdGhpcy5zdHJpcCgpfSxvLnByb3RvdHlwZS5pb3I9ZnVuY3Rpb24odCl7cmV0dXJuIG4oMD09KHRoaXMubmVnYXRpdmV8dC5uZWdhdGl2ZSkpLHRoaXMuaXVvcih0KX0sby5wcm90b3R5cGUub3I9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMubGVuZ3RoPnQubGVuZ3RoP3RoaXMuY2xvbmUoKS5pb3IodCk6dC5jbG9uZSgpLmlvcih0aGlzKX0sby5wcm90b3R5cGUudW9yPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmxlbmd0aD50Lmxlbmd0aD90aGlzLmNsb25lKCkuaXVvcih0KTp0LmNsb25lKCkuaXVvcih0aGlzKX0sby5wcm90b3R5cGUuaXVhbmQ9ZnVuY3Rpb24odCl7dmFyIGU7ZT10aGlzLmxlbmd0aD50Lmxlbmd0aD90OnRoaXM7Zm9yKHZhciByPTA7cjxlLmxlbmd0aDtyKyspdGhpcy53b3Jkc1tyXT10aGlzLndvcmRzW3JdJnQud29yZHNbcl07cmV0dXJuIHRoaXMubGVuZ3RoPWUubGVuZ3RoLHRoaXMuc3RyaXAoKX0sby5wcm90b3R5cGUuaWFuZD1mdW5jdGlvbih0KXtyZXR1cm4gbigwPT0odGhpcy5uZWdhdGl2ZXx0Lm5lZ2F0aXZlKSksdGhpcy5pdWFuZCh0KX0sby5wcm90b3R5cGUuYW5kPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmxlbmd0aD50Lmxlbmd0aD90aGlzLmNsb25lKCkuaWFuZCh0KTp0LmNsb25lKCkuaWFuZCh0aGlzKX0sby5wcm90b3R5cGUudWFuZD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5sZW5ndGg+dC5sZW5ndGg/dGhpcy5jbG9uZSgpLml1YW5kKHQpOnQuY2xvbmUoKS5pdWFuZCh0aGlzKX0sby5wcm90b3R5cGUuaXV4b3I9ZnVuY3Rpb24odCl7dmFyIGUscjt0aGlzLmxlbmd0aD50Lmxlbmd0aD8oZT10aGlzLHI9dCk6KGU9dCxyPXRoaXMpO2Zvcih2YXIgbj0wO248ci5sZW5ndGg7bisrKXRoaXMud29yZHNbbl09ZS53b3Jkc1tuXV5yLndvcmRzW25dO2lmKHRoaXMhPT1lKWZvcig7bjxlLmxlbmd0aDtuKyspdGhpcy53b3Jkc1tuXT1lLndvcmRzW25dO3JldHVybiB0aGlzLmxlbmd0aD1lLmxlbmd0aCx0aGlzLnN0cmlwKCl9LG8ucHJvdG90eXBlLml4b3I9ZnVuY3Rpb24odCl7cmV0dXJuIG4oMD09KHRoaXMubmVnYXRpdmV8dC5uZWdhdGl2ZSkpLHRoaXMuaXV4b3IodCl9LG8ucHJvdG90eXBlLnhvcj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5sZW5ndGg+dC5sZW5ndGg/dGhpcy5jbG9uZSgpLml4b3IodCk6dC5jbG9uZSgpLml4b3IodGhpcyl9LG8ucHJvdG90eXBlLnV4b3I9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMubGVuZ3RoPnQubGVuZ3RoP3RoaXMuY2xvbmUoKS5pdXhvcih0KTp0LmNsb25lKCkuaXV4b3IodGhpcyl9LG8ucHJvdG90eXBlLmlub3RuPWZ1bmN0aW9uKHQpe24oIm51bWJlciI9PXR5cGVvZiB0JiZ0Pj0wKTt2YXIgZT0wfE1hdGguY2VpbCh0LzI2KSxyPXQlMjY7dGhpcy5fZXhwYW5kKGUpLHI+MCYmZS0tO2Zvcih2YXIgaT0wO2k8ZTtpKyspdGhpcy53b3Jkc1tpXT02NzEwODg2MyZ+dGhpcy53b3Jkc1tpXTtyZXR1cm4gcj4wJiYodGhpcy53b3Jkc1tpXT1+dGhpcy53b3Jkc1tpXSY2NzEwODg2Mz4+MjYtciksdGhpcy5zdHJpcCgpfSxvLnByb3RvdHlwZS5ub3RuPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNsb25lKCkuaW5vdG4odCl9LG8ucHJvdG90eXBlLnNldG49ZnVuY3Rpb24odCxlKXtuKCJudW1iZXIiPT10eXBlb2YgdCYmdD49MCk7dmFyIHI9dC8yNnwwLGk9dCUyNjtyZXR1cm4gdGhpcy5fZXhwYW5kKHIrMSksdGhpcy53b3Jkc1tyXT1lP3RoaXMud29yZHNbcl18MTw8aTp0aGlzLndvcmRzW3JdJn4oMTw8aSksdGhpcy5zdHJpcCgpfSxvLnByb3RvdHlwZS5pYWRkPWZ1bmN0aW9uKHQpe3ZhciBlLHIsbjtpZigwIT09dGhpcy5uZWdhdGl2ZSYmMD09PXQubmVnYXRpdmUpcmV0dXJuIHRoaXMubmVnYXRpdmU9MCxlPXRoaXMuaXN1Yih0KSx0aGlzLm5lZ2F0aXZlXj0xLHRoaXMuX25vcm1TaWduKCk7aWYoMD09PXRoaXMubmVnYXRpdmUmJjAhPT10Lm5lZ2F0aXZlKXJldHVybiB0Lm5lZ2F0aXZlPTAsZT10aGlzLmlzdWIodCksdC5uZWdhdGl2ZT0xLGUuX25vcm1TaWduKCk7dGhpcy5sZW5ndGg+dC5sZW5ndGg/KHI9dGhpcyxuPXQpOihyPXQsbj10aGlzKTtmb3IodmFyIGk9MCxvPTA7bzxuLmxlbmd0aDtvKyspZT0oMHxyLndvcmRzW29dKSsoMHxuLndvcmRzW29dKStpLHRoaXMud29yZHNbb109NjcxMDg4NjMmZSxpPWU+Pj4yNjtmb3IoOzAhPT1pJiZvPHIubGVuZ3RoO28rKyllPSgwfHIud29yZHNbb10pK2ksdGhpcy53b3Jkc1tvXT02NzEwODg2MyZlLGk9ZT4+PjI2O2lmKHRoaXMubGVuZ3RoPXIubGVuZ3RoLDAhPT1pKXRoaXMud29yZHNbdGhpcy5sZW5ndGhdPWksdGhpcy5sZW5ndGgrKztlbHNlIGlmKHIhPT10aGlzKWZvcig7bzxyLmxlbmd0aDtvKyspdGhpcy53b3Jkc1tvXT1yLndvcmRzW29dO3JldHVybiB0aGlzfSxvLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24odCl7dmFyIGU7cmV0dXJuIDAhPT10Lm5lZ2F0aXZlJiYwPT09dGhpcy5uZWdhdGl2ZT8odC5uZWdhdGl2ZT0wLGU9dGhpcy5zdWIodCksdC5uZWdhdGl2ZV49MSxlKTowPT09dC5uZWdhdGl2ZSYmMCE9PXRoaXMubmVnYXRpdmU/KHRoaXMubmVnYXRpdmU9MCxlPXQuc3ViKHRoaXMpLHRoaXMubmVnYXRpdmU9MSxlKTp0aGlzLmxlbmd0aD50Lmxlbmd0aD90aGlzLmNsb25lKCkuaWFkZCh0KTp0LmNsb25lKCkuaWFkZCh0aGlzKX0sby5wcm90b3R5cGUuaXN1Yj1mdW5jdGlvbih0KXtpZigwIT09dC5uZWdhdGl2ZSl7dC5uZWdhdGl2ZT0wO3ZhciBlPXRoaXMuaWFkZCh0KTtyZXR1cm4gdC5uZWdhdGl2ZT0xLGUuX25vcm1TaWduKCl9aWYoMCE9PXRoaXMubmVnYXRpdmUpcmV0dXJuIHRoaXMubmVnYXRpdmU9MCx0aGlzLmlhZGQodCksdGhpcy5uZWdhdGl2ZT0xLHRoaXMuX25vcm1TaWduKCk7dmFyIHIsbixpPXRoaXMuY21wKHQpO2lmKDA9PT1pKXJldHVybiB0aGlzLm5lZ2F0aXZlPTAsdGhpcy5sZW5ndGg9MSx0aGlzLndvcmRzWzBdPTAsdGhpcztpPjA/KHI9dGhpcyxuPXQpOihyPXQsbj10aGlzKTtmb3IodmFyIG89MCxzPTA7czxuLmxlbmd0aDtzKyspbz0oZT0oMHxyLndvcmRzW3NdKS0oMHxuLndvcmRzW3NdKStvKT4+MjYsdGhpcy53b3Jkc1tzXT02NzEwODg2MyZlO2Zvcig7MCE9PW8mJnM8ci5sZW5ndGg7cysrKW89KGU9KDB8ci53b3Jkc1tzXSkrbyk+PjI2LHRoaXMud29yZHNbc109NjcxMDg4NjMmZTtpZigwPT09byYmczxyLmxlbmd0aCYmciE9PXRoaXMpZm9yKDtzPHIubGVuZ3RoO3MrKyl0aGlzLndvcmRzW3NdPXIud29yZHNbc107cmV0dXJuIHRoaXMubGVuZ3RoPU1hdGgubWF4KHRoaXMubGVuZ3RoLHMpLHIhPT10aGlzJiYodGhpcy5uZWdhdGl2ZT0xKSx0aGlzLnN0cmlwKCl9LG8ucHJvdG90eXBlLnN1Yj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jbG9uZSgpLmlzdWIodCl9O3ZhciBkPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbixpLG8scz10LndvcmRzLGE9ZS53b3Jkcyx1PXIud29yZHMsYz0wLGY9MHxzWzBdLGg9ODE5MSZmLGw9Zj4+PjEzLGQ9MHxzWzFdLHA9ODE5MSZkLG09ZD4+PjEzLGc9MHxzWzJdLGI9ODE5MSZnLHk9Zz4+PjEzLHY9MHxzWzNdLF89ODE5MSZ2LHc9dj4+PjEzLE09MHxzWzRdLFM9ODE5MSZNLEU9TT4+PjEzLHg9MHxzWzVdLGs9ODE5MSZ4LEE9eD4+PjEzLFI9MHxzWzZdLFQ9ODE5MSZSLE89Uj4+PjEzLEM9MHxzWzddLFA9ODE5MSZDLEk9Qz4+PjEzLEI9MHxzWzhdLEw9ODE5MSZCLGo9Qj4+PjEzLE49MHxzWzldLHE9ODE5MSZOLFU9Tj4+PjEzLEQ9MHxhWzBdLHo9ODE5MSZELEg9RD4+PjEzLEY9MHxhWzFdLFc9ODE5MSZGLEs9Rj4+PjEzLFY9MHxhWzJdLEo9ODE5MSZWLFk9Vj4+PjEzLEc9MHxhWzNdLFo9ODE5MSZHLCQ9Rz4+PjEzLFg9MHxhWzRdLFE9ODE5MSZYLHR0PVg+Pj4xMyxldD0wfGFbNV0scnQ9ODE5MSZldCxudD1ldD4+PjEzLGl0PTB8YVs2XSxvdD04MTkxJml0LHN0PWl0Pj4+MTMsYXQ9MHxhWzddLHV0PTgxOTEmYXQsY3Q9YXQ+Pj4xMyxmdD0wfGFbOF0saHQ9ODE5MSZmdCxsdD1mdD4+PjEzLGR0PTB8YVs5XSxwdD04MTkxJmR0LG10PWR0Pj4+MTM7ci5uZWdhdGl2ZT10Lm5lZ2F0aXZlXmUubmVnYXRpdmUsci5sZW5ndGg9MTk7dmFyIGd0PShjKyhuPU1hdGguaW11bChoLHopKXwwKSsoKDgxOTEmKGk9KGk9TWF0aC5pbXVsKGgsSCkpK01hdGguaW11bChsLHopfDApKTw8MTMpfDA7Yz0oKG89TWF0aC5pbXVsKGwsSCkpKyhpPj4+MTMpfDApKyhndD4+PjI2KXwwLGd0Jj02NzEwODg2MyxuPU1hdGguaW11bChwLHopLGk9KGk9TWF0aC5pbXVsKHAsSCkpK01hdGguaW11bChtLHopfDAsbz1NYXRoLmltdWwobSxIKTt2YXIgYnQ9KGMrKG49bitNYXRoLmltdWwoaCxXKXwwKXwwKSsoKDgxOTEmKGk9KGk9aStNYXRoLmltdWwoaCxLKXwwKStNYXRoLmltdWwobCxXKXwwKSk8PDEzKXwwO2M9KChvPW8rTWF0aC5pbXVsKGwsSyl8MCkrKGk+Pj4xMyl8MCkrKGJ0Pj4+MjYpfDAsYnQmPTY3MTA4ODYzLG49TWF0aC5pbXVsKGIseiksaT0oaT1NYXRoLmltdWwoYixIKSkrTWF0aC5pbXVsKHkseil8MCxvPU1hdGguaW11bCh5LEgpLG49bitNYXRoLmltdWwocCxXKXwwLGk9KGk9aStNYXRoLmltdWwocCxLKXwwKStNYXRoLmltdWwobSxXKXwwLG89bytNYXRoLmltdWwobSxLKXwwO3ZhciB5dD0oYysobj1uK01hdGguaW11bChoLEopfDApfDApKygoODE5MSYoaT0oaT1pK01hdGguaW11bChoLFkpfDApK01hdGguaW11bChsLEopfDApKTw8MTMpfDA7Yz0oKG89bytNYXRoLmltdWwobCxZKXwwKSsoaT4+PjEzKXwwKSsoeXQ+Pj4yNil8MCx5dCY9NjcxMDg4NjMsbj1NYXRoLmltdWwoXyx6KSxpPShpPU1hdGguaW11bChfLEgpKStNYXRoLmltdWwodyx6KXwwLG89TWF0aC5pbXVsKHcsSCksbj1uK01hdGguaW11bChiLFcpfDAsaT0oaT1pK01hdGguaW11bChiLEspfDApK01hdGguaW11bCh5LFcpfDAsbz1vK01hdGguaW11bCh5LEspfDAsbj1uK01hdGguaW11bChwLEopfDAsaT0oaT1pK01hdGguaW11bChwLFkpfDApK01hdGguaW11bChtLEopfDAsbz1vK01hdGguaW11bChtLFkpfDA7dmFyIHZ0PShjKyhuPW4rTWF0aC5pbXVsKGgsWil8MCl8MCkrKCg4MTkxJihpPShpPWkrTWF0aC5pbXVsKGgsJCl8MCkrTWF0aC5pbXVsKGwsWil8MCkpPDwxMyl8MDtjPSgobz1vK01hdGguaW11bChsLCQpfDApKyhpPj4+MTMpfDApKyh2dD4+PjI2KXwwLHZ0Jj02NzEwODg2MyxuPU1hdGguaW11bChTLHopLGk9KGk9TWF0aC5pbXVsKFMsSCkpK01hdGguaW11bChFLHopfDAsbz1NYXRoLmltdWwoRSxIKSxuPW4rTWF0aC5pbXVsKF8sVyl8MCxpPShpPWkrTWF0aC5pbXVsKF8sSyl8MCkrTWF0aC5pbXVsKHcsVyl8MCxvPW8rTWF0aC5pbXVsKHcsSyl8MCxuPW4rTWF0aC5pbXVsKGIsSil8MCxpPShpPWkrTWF0aC5pbXVsKGIsWSl8MCkrTWF0aC5pbXVsKHksSil8MCxvPW8rTWF0aC5pbXVsKHksWSl8MCxuPW4rTWF0aC5pbXVsKHAsWil8MCxpPShpPWkrTWF0aC5pbXVsKHAsJCl8MCkrTWF0aC5pbXVsKG0sWil8MCxvPW8rTWF0aC5pbXVsKG0sJCl8MDt2YXIgX3Q9KGMrKG49bitNYXRoLmltdWwoaCxRKXwwKXwwKSsoKDgxOTEmKGk9KGk9aStNYXRoLmltdWwoaCx0dCl8MCkrTWF0aC5pbXVsKGwsUSl8MCkpPDwxMyl8MDtjPSgobz1vK01hdGguaW11bChsLHR0KXwwKSsoaT4+PjEzKXwwKSsoX3Q+Pj4yNil8MCxfdCY9NjcxMDg4NjMsbj1NYXRoLmltdWwoayx6KSxpPShpPU1hdGguaW11bChrLEgpKStNYXRoLmltdWwoQSx6KXwwLG89TWF0aC5pbXVsKEEsSCksbj1uK01hdGguaW11bChTLFcpfDAsaT0oaT1pK01hdGguaW11bChTLEspfDApK01hdGguaW11bChFLFcpfDAsbz1vK01hdGguaW11bChFLEspfDAsbj1uK01hdGguaW11bChfLEopfDAsaT0oaT1pK01hdGguaW11bChfLFkpfDApK01hdGguaW11bCh3LEopfDAsbz1vK01hdGguaW11bCh3LFkpfDAsbj1uK01hdGguaW11bChiLFopfDAsaT0oaT1pK01hdGguaW11bChiLCQpfDApK01hdGguaW11bCh5LFopfDAsbz1vK01hdGguaW11bCh5LCQpfDAsbj1uK01hdGguaW11bChwLFEpfDAsaT0oaT1pK01hdGguaW11bChwLHR0KXwwKStNYXRoLmltdWwobSxRKXwwLG89bytNYXRoLmltdWwobSx0dCl8MDt2YXIgd3Q9KGMrKG49bitNYXRoLmltdWwoaCxydCl8MCl8MCkrKCg4MTkxJihpPShpPWkrTWF0aC5pbXVsKGgsbnQpfDApK01hdGguaW11bChsLHJ0KXwwKSk8PDEzKXwwO2M9KChvPW8rTWF0aC5pbXVsKGwsbnQpfDApKyhpPj4+MTMpfDApKyh3dD4+PjI2KXwwLHd0Jj02NzEwODg2MyxuPU1hdGguaW11bChULHopLGk9KGk9TWF0aC5pbXVsKFQsSCkpK01hdGguaW11bChPLHopfDAsbz1NYXRoLmltdWwoTyxIKSxuPW4rTWF0aC5pbXVsKGssVyl8MCxpPShpPWkrTWF0aC5pbXVsKGssSyl8MCkrTWF0aC5pbXVsKEEsVyl8MCxvPW8rTWF0aC5pbXVsKEEsSyl8MCxuPW4rTWF0aC5pbXVsKFMsSil8MCxpPShpPWkrTWF0aC5pbXVsKFMsWSl8MCkrTWF0aC5pbXVsKEUsSil8MCxvPW8rTWF0aC5pbXVsKEUsWSl8MCxuPW4rTWF0aC5pbXVsKF8sWil8MCxpPShpPWkrTWF0aC5pbXVsKF8sJCl8MCkrTWF0aC5pbXVsKHcsWil8MCxvPW8rTWF0aC5pbXVsKHcsJCl8MCxuPW4rTWF0aC5pbXVsKGIsUSl8MCxpPShpPWkrTWF0aC5pbXVsKGIsdHQpfDApK01hdGguaW11bCh5LFEpfDAsbz1vK01hdGguaW11bCh5LHR0KXwwLG49bitNYXRoLmltdWwocCxydCl8MCxpPShpPWkrTWF0aC5pbXVsKHAsbnQpfDApK01hdGguaW11bChtLHJ0KXwwLG89bytNYXRoLmltdWwobSxudCl8MDt2YXIgTXQ9KGMrKG49bitNYXRoLmltdWwoaCxvdCl8MCl8MCkrKCg4MTkxJihpPShpPWkrTWF0aC5pbXVsKGgsc3QpfDApK01hdGguaW11bChsLG90KXwwKSk8PDEzKXwwO2M9KChvPW8rTWF0aC5pbXVsKGwsc3QpfDApKyhpPj4+MTMpfDApKyhNdD4+PjI2KXwwLE10Jj02NzEwODg2MyxuPU1hdGguaW11bChQLHopLGk9KGk9TWF0aC5pbXVsKFAsSCkpK01hdGguaW11bChJLHopfDAsbz1NYXRoLmltdWwoSSxIKSxuPW4rTWF0aC5pbXVsKFQsVyl8MCxpPShpPWkrTWF0aC5pbXVsKFQsSyl8MCkrTWF0aC5pbXVsKE8sVyl8MCxvPW8rTWF0aC5pbXVsKE8sSyl8MCxuPW4rTWF0aC5pbXVsKGssSil8MCxpPShpPWkrTWF0aC5pbXVsKGssWSl8MCkrTWF0aC5pbXVsKEEsSil8MCxvPW8rTWF0aC5pbXVsKEEsWSl8MCxuPW4rTWF0aC5pbXVsKFMsWil8MCxpPShpPWkrTWF0aC5pbXVsKFMsJCl8MCkrTWF0aC5pbXVsKEUsWil8MCxvPW8rTWF0aC5pbXVsKEUsJCl8MCxuPW4rTWF0aC5pbXVsKF8sUSl8MCxpPShpPWkrTWF0aC5pbXVsKF8sdHQpfDApK01hdGguaW11bCh3LFEpfDAsbz1vK01hdGguaW11bCh3LHR0KXwwLG49bitNYXRoLmltdWwoYixydCl8MCxpPShpPWkrTWF0aC5pbXVsKGIsbnQpfDApK01hdGguaW11bCh5LHJ0KXwwLG89bytNYXRoLmltdWwoeSxudCl8MCxuPW4rTWF0aC5pbXVsKHAsb3QpfDAsaT0oaT1pK01hdGguaW11bChwLHN0KXwwKStNYXRoLmltdWwobSxvdCl8MCxvPW8rTWF0aC5pbXVsKG0sc3QpfDA7dmFyIFN0PShjKyhuPW4rTWF0aC5pbXVsKGgsdXQpfDApfDApKygoODE5MSYoaT0oaT1pK01hdGguaW11bChoLGN0KXwwKStNYXRoLmltdWwobCx1dCl8MCkpPDwxMyl8MDtjPSgobz1vK01hdGguaW11bChsLGN0KXwwKSsoaT4+PjEzKXwwKSsoU3Q+Pj4yNil8MCxTdCY9NjcxMDg4NjMsbj1NYXRoLmltdWwoTCx6KSxpPShpPU1hdGguaW11bChMLEgpKStNYXRoLmltdWwoaix6KXwwLG89TWF0aC5pbXVsKGosSCksbj1uK01hdGguaW11bChQLFcpfDAsaT0oaT1pK01hdGguaW11bChQLEspfDApK01hdGguaW11bChJLFcpfDAsbz1vK01hdGguaW11bChJLEspfDAsbj1uK01hdGguaW11bChULEopfDAsaT0oaT1pK01hdGguaW11bChULFkpfDApK01hdGguaW11bChPLEopfDAsbz1vK01hdGguaW11bChPLFkpfDAsbj1uK01hdGguaW11bChrLFopfDAsaT0oaT1pK01hdGguaW11bChrLCQpfDApK01hdGguaW11bChBLFopfDAsbz1vK01hdGguaW11bChBLCQpfDAsbj1uK01hdGguaW11bChTLFEpfDAsaT0oaT1pK01hdGguaW11bChTLHR0KXwwKStNYXRoLmltdWwoRSxRKXwwLG89bytNYXRoLmltdWwoRSx0dCl8MCxuPW4rTWF0aC5pbXVsKF8scnQpfDAsaT0oaT1pK01hdGguaW11bChfLG50KXwwKStNYXRoLmltdWwodyxydCl8MCxvPW8rTWF0aC5pbXVsKHcsbnQpfDAsbj1uK01hdGguaW11bChiLG90KXwwLGk9KGk9aStNYXRoLmltdWwoYixzdCl8MCkrTWF0aC5pbXVsKHksb3QpfDAsbz1vK01hdGguaW11bCh5LHN0KXwwLG49bitNYXRoLmltdWwocCx1dCl8MCxpPShpPWkrTWF0aC5pbXVsKHAsY3QpfDApK01hdGguaW11bChtLHV0KXwwLG89bytNYXRoLmltdWwobSxjdCl8MDt2YXIgRXQ9KGMrKG49bitNYXRoLmltdWwoaCxodCl8MCl8MCkrKCg4MTkxJihpPShpPWkrTWF0aC5pbXVsKGgsbHQpfDApK01hdGguaW11bChsLGh0KXwwKSk8PDEzKXwwO2M9KChvPW8rTWF0aC5pbXVsKGwsbHQpfDApKyhpPj4+MTMpfDApKyhFdD4+PjI2KXwwLEV0Jj02NzEwODg2MyxuPU1hdGguaW11bChxLHopLGk9KGk9TWF0aC5pbXVsKHEsSCkpK01hdGguaW11bChVLHopfDAsbz1NYXRoLmltdWwoVSxIKSxuPW4rTWF0aC5pbXVsKEwsVyl8MCxpPShpPWkrTWF0aC5pbXVsKEwsSyl8MCkrTWF0aC5pbXVsKGosVyl8MCxvPW8rTWF0aC5pbXVsKGosSyl8MCxuPW4rTWF0aC5pbXVsKFAsSil8MCxpPShpPWkrTWF0aC5pbXVsKFAsWSl8MCkrTWF0aC5pbXVsKEksSil8MCxvPW8rTWF0aC5pbXVsKEksWSl8MCxuPW4rTWF0aC5pbXVsKFQsWil8MCxpPShpPWkrTWF0aC5pbXVsKFQsJCl8MCkrTWF0aC5pbXVsKE8sWil8MCxvPW8rTWF0aC5pbXVsKE8sJCl8MCxuPW4rTWF0aC5pbXVsKGssUSl8MCxpPShpPWkrTWF0aC5pbXVsKGssdHQpfDApK01hdGguaW11bChBLFEpfDAsbz1vK01hdGguaW11bChBLHR0KXwwLG49bitNYXRoLmltdWwoUyxydCl8MCxpPShpPWkrTWF0aC5pbXVsKFMsbnQpfDApK01hdGguaW11bChFLHJ0KXwwLG89bytNYXRoLmltdWwoRSxudCl8MCxuPW4rTWF0aC5pbXVsKF8sb3QpfDAsaT0oaT1pK01hdGguaW11bChfLHN0KXwwKStNYXRoLmltdWwodyxvdCl8MCxvPW8rTWF0aC5pbXVsKHcsc3QpfDAsbj1uK01hdGguaW11bChiLHV0KXwwLGk9KGk9aStNYXRoLmltdWwoYixjdCl8MCkrTWF0aC5pbXVsKHksdXQpfDAsbz1vK01hdGguaW11bCh5LGN0KXwwLG49bitNYXRoLmltdWwocCxodCl8MCxpPShpPWkrTWF0aC5pbXVsKHAsbHQpfDApK01hdGguaW11bChtLGh0KXwwLG89bytNYXRoLmltdWwobSxsdCl8MDt2YXIgeHQ9KGMrKG49bitNYXRoLmltdWwoaCxwdCl8MCl8MCkrKCg4MTkxJihpPShpPWkrTWF0aC5pbXVsKGgsbXQpfDApK01hdGguaW11bChsLHB0KXwwKSk8PDEzKXwwO2M9KChvPW8rTWF0aC5pbXVsKGwsbXQpfDApKyhpPj4+MTMpfDApKyh4dD4+PjI2KXwwLHh0Jj02NzEwODg2MyxuPU1hdGguaW11bChxLFcpLGk9KGk9TWF0aC5pbXVsKHEsSykpK01hdGguaW11bChVLFcpfDAsbz1NYXRoLmltdWwoVSxLKSxuPW4rTWF0aC5pbXVsKEwsSil8MCxpPShpPWkrTWF0aC5pbXVsKEwsWSl8MCkrTWF0aC5pbXVsKGosSil8MCxvPW8rTWF0aC5pbXVsKGosWSl8MCxuPW4rTWF0aC5pbXVsKFAsWil8MCxpPShpPWkrTWF0aC5pbXVsKFAsJCl8MCkrTWF0aC5pbXVsKEksWil8MCxvPW8rTWF0aC5pbXVsKEksJCl8MCxuPW4rTWF0aC5pbXVsKFQsUSl8MCxpPShpPWkrTWF0aC5pbXVsKFQsdHQpfDApK01hdGguaW11bChPLFEpfDAsbz1vK01hdGguaW11bChPLHR0KXwwLG49bitNYXRoLmltdWwoayxydCl8MCxpPShpPWkrTWF0aC5pbXVsKGssbnQpfDApK01hdGguaW11bChBLHJ0KXwwLG89bytNYXRoLmltdWwoQSxudCl8MCxuPW4rTWF0aC5pbXVsKFMsb3QpfDAsaT0oaT1pK01hdGguaW11bChTLHN0KXwwKStNYXRoLmltdWwoRSxvdCl8MCxvPW8rTWF0aC5pbXVsKEUsc3QpfDAsbj1uK01hdGguaW11bChfLHV0KXwwLGk9KGk9aStNYXRoLmltdWwoXyxjdCl8MCkrTWF0aC5pbXVsKHcsdXQpfDAsbz1vK01hdGguaW11bCh3LGN0KXwwLG49bitNYXRoLmltdWwoYixodCl8MCxpPShpPWkrTWF0aC5pbXVsKGIsbHQpfDApK01hdGguaW11bCh5LGh0KXwwLG89bytNYXRoLmltdWwoeSxsdCl8MDt2YXIga3Q9KGMrKG49bitNYXRoLmltdWwocCxwdCl8MCl8MCkrKCg4MTkxJihpPShpPWkrTWF0aC5pbXVsKHAsbXQpfDApK01hdGguaW11bChtLHB0KXwwKSk8PDEzKXwwO2M9KChvPW8rTWF0aC5pbXVsKG0sbXQpfDApKyhpPj4+MTMpfDApKyhrdD4+PjI2KXwwLGt0Jj02NzEwODg2MyxuPU1hdGguaW11bChxLEopLGk9KGk9TWF0aC5pbXVsKHEsWSkpK01hdGguaW11bChVLEopfDAsbz1NYXRoLmltdWwoVSxZKSxuPW4rTWF0aC5pbXVsKEwsWil8MCxpPShpPWkrTWF0aC5pbXVsKEwsJCl8MCkrTWF0aC5pbXVsKGosWil8MCxvPW8rTWF0aC5pbXVsKGosJCl8MCxuPW4rTWF0aC5pbXVsKFAsUSl8MCxpPShpPWkrTWF0aC5pbXVsKFAsdHQpfDApK01hdGguaW11bChJLFEpfDAsbz1vK01hdGguaW11bChJLHR0KXwwLG49bitNYXRoLmltdWwoVCxydCl8MCxpPShpPWkrTWF0aC5pbXVsKFQsbnQpfDApK01hdGguaW11bChPLHJ0KXwwLG89bytNYXRoLmltdWwoTyxudCl8MCxuPW4rTWF0aC5pbXVsKGssb3QpfDAsaT0oaT1pK01hdGguaW11bChrLHN0KXwwKStNYXRoLmltdWwoQSxvdCl8MCxvPW8rTWF0aC5pbXVsKEEsc3QpfDAsbj1uK01hdGguaW11bChTLHV0KXwwLGk9KGk9aStNYXRoLmltdWwoUyxjdCl8MCkrTWF0aC5pbXVsKEUsdXQpfDAsbz1vK01hdGguaW11bChFLGN0KXwwLG49bitNYXRoLmltdWwoXyxodCl8MCxpPShpPWkrTWF0aC5pbXVsKF8sbHQpfDApK01hdGguaW11bCh3LGh0KXwwLG89bytNYXRoLmltdWwodyxsdCl8MDt2YXIgQXQ9KGMrKG49bitNYXRoLmltdWwoYixwdCl8MCl8MCkrKCg4MTkxJihpPShpPWkrTWF0aC5pbXVsKGIsbXQpfDApK01hdGguaW11bCh5LHB0KXwwKSk8PDEzKXwwO2M9KChvPW8rTWF0aC5pbXVsKHksbXQpfDApKyhpPj4+MTMpfDApKyhBdD4+PjI2KXwwLEF0Jj02NzEwODg2MyxuPU1hdGguaW11bChxLFopLGk9KGk9TWF0aC5pbXVsKHEsJCkpK01hdGguaW11bChVLFopfDAsbz1NYXRoLmltdWwoVSwkKSxuPW4rTWF0aC5pbXVsKEwsUSl8MCxpPShpPWkrTWF0aC5pbXVsKEwsdHQpfDApK01hdGguaW11bChqLFEpfDAsbz1vK01hdGguaW11bChqLHR0KXwwLG49bitNYXRoLmltdWwoUCxydCl8MCxpPShpPWkrTWF0aC5pbXVsKFAsbnQpfDApK01hdGguaW11bChJLHJ0KXwwLG89bytNYXRoLmltdWwoSSxudCl8MCxuPW4rTWF0aC5pbXVsKFQsb3QpfDAsaT0oaT1pK01hdGguaW11bChULHN0KXwwKStNYXRoLmltdWwoTyxvdCl8MCxvPW8rTWF0aC5pbXVsKE8sc3QpfDAsbj1uK01hdGguaW11bChrLHV0KXwwLGk9KGk9aStNYXRoLmltdWwoayxjdCl8MCkrTWF0aC5pbXVsKEEsdXQpfDAsbz1vK01hdGguaW11bChBLGN0KXwwLG49bitNYXRoLmltdWwoUyxodCl8MCxpPShpPWkrTWF0aC5pbXVsKFMsbHQpfDApK01hdGguaW11bChFLGh0KXwwLG89bytNYXRoLmltdWwoRSxsdCl8MDt2YXIgUnQ9KGMrKG49bitNYXRoLmltdWwoXyxwdCl8MCl8MCkrKCg4MTkxJihpPShpPWkrTWF0aC5pbXVsKF8sbXQpfDApK01hdGguaW11bCh3LHB0KXwwKSk8PDEzKXwwO2M9KChvPW8rTWF0aC5pbXVsKHcsbXQpfDApKyhpPj4+MTMpfDApKyhSdD4+PjI2KXwwLFJ0Jj02NzEwODg2MyxuPU1hdGguaW11bChxLFEpLGk9KGk9TWF0aC5pbXVsKHEsdHQpKStNYXRoLmltdWwoVSxRKXwwLG89TWF0aC5pbXVsKFUsdHQpLG49bitNYXRoLmltdWwoTCxydCl8MCxpPShpPWkrTWF0aC5pbXVsKEwsbnQpfDApK01hdGguaW11bChqLHJ0KXwwLG89bytNYXRoLmltdWwoaixudCl8MCxuPW4rTWF0aC5pbXVsKFAsb3QpfDAsaT0oaT1pK01hdGguaW11bChQLHN0KXwwKStNYXRoLmltdWwoSSxvdCl8MCxvPW8rTWF0aC5pbXVsKEksc3QpfDAsbj1uK01hdGguaW11bChULHV0KXwwLGk9KGk9aStNYXRoLmltdWwoVCxjdCl8MCkrTWF0aC5pbXVsKE8sdXQpfDAsbz1vK01hdGguaW11bChPLGN0KXwwLG49bitNYXRoLmltdWwoayxodCl8MCxpPShpPWkrTWF0aC5pbXVsKGssbHQpfDApK01hdGguaW11bChBLGh0KXwwLG89bytNYXRoLmltdWwoQSxsdCl8MDt2YXIgVHQ9KGMrKG49bitNYXRoLmltdWwoUyxwdCl8MCl8MCkrKCg4MTkxJihpPShpPWkrTWF0aC5pbXVsKFMsbXQpfDApK01hdGguaW11bChFLHB0KXwwKSk8PDEzKXwwO2M9KChvPW8rTWF0aC5pbXVsKEUsbXQpfDApKyhpPj4+MTMpfDApKyhUdD4+PjI2KXwwLFR0Jj02NzEwODg2MyxuPU1hdGguaW11bChxLHJ0KSxpPShpPU1hdGguaW11bChxLG50KSkrTWF0aC5pbXVsKFUscnQpfDAsbz1NYXRoLmltdWwoVSxudCksbj1uK01hdGguaW11bChMLG90KXwwLGk9KGk9aStNYXRoLmltdWwoTCxzdCl8MCkrTWF0aC5pbXVsKGosb3QpfDAsbz1vK01hdGguaW11bChqLHN0KXwwLG49bitNYXRoLmltdWwoUCx1dCl8MCxpPShpPWkrTWF0aC5pbXVsKFAsY3QpfDApK01hdGguaW11bChJLHV0KXwwLG89bytNYXRoLmltdWwoSSxjdCl8MCxuPW4rTWF0aC5pbXVsKFQsaHQpfDAsaT0oaT1pK01hdGguaW11bChULGx0KXwwKStNYXRoLmltdWwoTyxodCl8MCxvPW8rTWF0aC5pbXVsKE8sbHQpfDA7dmFyIE90PShjKyhuPW4rTWF0aC5pbXVsKGsscHQpfDApfDApKygoODE5MSYoaT0oaT1pK01hdGguaW11bChrLG10KXwwKStNYXRoLmltdWwoQSxwdCl8MCkpPDwxMyl8MDtjPSgobz1vK01hdGguaW11bChBLG10KXwwKSsoaT4+PjEzKXwwKSsoT3Q+Pj4yNil8MCxPdCY9NjcxMDg4NjMsbj1NYXRoLmltdWwocSxvdCksaT0oaT1NYXRoLmltdWwocSxzdCkpK01hdGguaW11bChVLG90KXwwLG89TWF0aC5pbXVsKFUsc3QpLG49bitNYXRoLmltdWwoTCx1dCl8MCxpPShpPWkrTWF0aC5pbXVsKEwsY3QpfDApK01hdGguaW11bChqLHV0KXwwLG89bytNYXRoLmltdWwoaixjdCl8MCxuPW4rTWF0aC5pbXVsKFAsaHQpfDAsaT0oaT1pK01hdGguaW11bChQLGx0KXwwKStNYXRoLmltdWwoSSxodCl8MCxvPW8rTWF0aC5pbXVsKEksbHQpfDA7dmFyIEN0PShjKyhuPW4rTWF0aC5pbXVsKFQscHQpfDApfDApKygoODE5MSYoaT0oaT1pK01hdGguaW11bChULG10KXwwKStNYXRoLmltdWwoTyxwdCl8MCkpPDwxMyl8MDtjPSgobz1vK01hdGguaW11bChPLG10KXwwKSsoaT4+PjEzKXwwKSsoQ3Q+Pj4yNil8MCxDdCY9NjcxMDg4NjMsbj1NYXRoLmltdWwocSx1dCksaT0oaT1NYXRoLmltdWwocSxjdCkpK01hdGguaW11bChVLHV0KXwwLG89TWF0aC5pbXVsKFUsY3QpLG49bitNYXRoLmltdWwoTCxodCl8MCxpPShpPWkrTWF0aC5pbXVsKEwsbHQpfDApK01hdGguaW11bChqLGh0KXwwLG89bytNYXRoLmltdWwoaixsdCl8MDt2YXIgUHQ9KGMrKG49bitNYXRoLmltdWwoUCxwdCl8MCl8MCkrKCg4MTkxJihpPShpPWkrTWF0aC5pbXVsKFAsbXQpfDApK01hdGguaW11bChJLHB0KXwwKSk8PDEzKXwwO2M9KChvPW8rTWF0aC5pbXVsKEksbXQpfDApKyhpPj4+MTMpfDApKyhQdD4+PjI2KXwwLFB0Jj02NzEwODg2MyxuPU1hdGguaW11bChxLGh0KSxpPShpPU1hdGguaW11bChxLGx0KSkrTWF0aC5pbXVsKFUsaHQpfDAsbz1NYXRoLmltdWwoVSxsdCk7dmFyIEl0PShjKyhuPW4rTWF0aC5pbXVsKEwscHQpfDApfDApKygoODE5MSYoaT0oaT1pK01hdGguaW11bChMLG10KXwwKStNYXRoLmltdWwoaixwdCl8MCkpPDwxMyl8MDtjPSgobz1vK01hdGguaW11bChqLG10KXwwKSsoaT4+PjEzKXwwKSsoSXQ+Pj4yNil8MCxJdCY9NjcxMDg4NjM7dmFyIEJ0PShjKyhuPU1hdGguaW11bChxLHB0KSl8MCkrKCg4MTkxJihpPShpPU1hdGguaW11bChxLG10KSkrTWF0aC5pbXVsKFUscHQpfDApKTw8MTMpfDA7cmV0dXJuIGM9KChvPU1hdGguaW11bChVLG10KSkrKGk+Pj4xMyl8MCkrKEJ0Pj4+MjYpfDAsQnQmPTY3MTA4ODYzLHVbMF09Z3QsdVsxXT1idCx1WzJdPXl0LHVbM109dnQsdVs0XT1fdCx1WzVdPXd0LHVbNl09TXQsdVs3XT1TdCx1WzhdPUV0LHVbOV09eHQsdVsxMF09a3QsdVsxMV09QXQsdVsxMl09UnQsdVsxM109VHQsdVsxNF09T3QsdVsxNV09Q3QsdVsxNl09UHQsdVsxN109SXQsdVsxOF09QnQsMCE9PWMmJih1WzE5XT1jLHIubGVuZ3RoKyspLHJ9O2Z1bmN0aW9uIHAodCxlLHIpe3JldHVybihuZXcgbSkubXVscCh0LGUscil9ZnVuY3Rpb24gbSh0LGUpe3RoaXMueD10LHRoaXMueT1lfU1hdGguaW11bHx8KGQ9bCksby5wcm90b3R5cGUubXVsVG89ZnVuY3Rpb24odCxlKXt2YXIgcj10aGlzLmxlbmd0aCt0Lmxlbmd0aDtyZXR1cm4gMTA9PT10aGlzLmxlbmd0aCYmMTA9PT10Lmxlbmd0aD9kKHRoaXMsdCxlKTpyPDYzP2wodGhpcyx0LGUpOnI8MTAyND9mdW5jdGlvbih0LGUscil7ci5uZWdhdGl2ZT1lLm5lZ2F0aXZlXnQubmVnYXRpdmUsci5sZW5ndGg9dC5sZW5ndGgrZS5sZW5ndGg7Zm9yKHZhciBuPTAsaT0wLG89MDtvPHIubGVuZ3RoLTE7bysrKXt2YXIgcz1pO2k9MDtmb3IodmFyIGE9NjcxMDg4NjMmbix1PU1hdGgubWluKG8sZS5sZW5ndGgtMSksYz1NYXRoLm1heCgwLG8tdC5sZW5ndGgrMSk7Yzw9dTtjKyspe3ZhciBmPW8tYyxoPSgwfHQud29yZHNbZl0pKigwfGUud29yZHNbY10pLGw9NjcxMDg4NjMmaDthPTY3MTA4ODYzJihsPWwrYXwwKSxpKz0ocz0ocz1zKyhoLzY3MTA4ODY0fDApfDApKyhsPj4+MjYpfDApPj4+MjYscyY9NjcxMDg4NjN9ci53b3Jkc1tvXT1hLG49cyxzPWl9cmV0dXJuIDAhPT1uP3Iud29yZHNbb109bjpyLmxlbmd0aC0tLHIuc3RyaXAoKX0odGhpcyx0LGUpOnAodGhpcyx0LGUpfSxtLnByb3RvdHlwZS5tYWtlUkJUPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1uZXcgQXJyYXkodCkscj1vLnByb3RvdHlwZS5fY291bnRCaXRzKHQpLTEsbj0wO248dDtuKyspZVtuXT10aGlzLnJldkJpbihuLHIsdCk7cmV0dXJuIGV9LG0ucHJvdG90eXBlLnJldkJpbj1mdW5jdGlvbih0LGUscil7aWYoMD09PXR8fHQ9PT1yLTEpcmV0dXJuIHQ7Zm9yKHZhciBuPTAsaT0wO2k8ZTtpKyspbnw9KDEmdCk8PGUtaS0xLHQ+Pj0xO3JldHVybiBufSxtLnByb3RvdHlwZS5wZXJtdXRlPWZ1bmN0aW9uKHQsZSxyLG4saSxvKXtmb3IodmFyIHM9MDtzPG87cysrKW5bc109ZVt0W3NdXSxpW3NdPXJbdFtzXV19LG0ucHJvdG90eXBlLnRyYW5zZm9ybT1mdW5jdGlvbih0LGUscixuLGksbyl7dGhpcy5wZXJtdXRlKG8sdCxlLHIsbixpKTtmb3IodmFyIHM9MTtzPGk7czw8PTEpZm9yKHZhciBhPXM8PDEsdT1NYXRoLmNvcygyKk1hdGguUEkvYSksYz1NYXRoLnNpbigyKk1hdGguUEkvYSksZj0wO2Y8aTtmKz1hKWZvcih2YXIgaD11LGw9YyxkPTA7ZDxzO2QrKyl7dmFyIHA9cltmK2RdLG09bltmK2RdLGc9cltmK2Qrc10sYj1uW2YrZCtzXSx5PWgqZy1sKmI7Yj1oKmIrbCpnLGc9eSxyW2YrZF09cCtnLG5bZitkXT1tK2IscltmK2Qrc109cC1nLG5bZitkK3NdPW0tYixkIT09YSYmKHk9dSpoLWMqbCxsPXUqbCtjKmgsaD15KX19LG0ucHJvdG90eXBlLmd1ZXNzTGVuMTNiPWZ1bmN0aW9uKHQsZSl7dmFyIHI9MXxNYXRoLm1heChlLHQpLG49MSZyLGk9MDtmb3Iocj1yLzJ8MDtyO3I+Pj49MSlpKys7cmV0dXJuIDE8PGkrMStufSxtLnByb3RvdHlwZS5jb25qdWdhdGU9ZnVuY3Rpb24odCxlLHIpe2lmKCEocjw9MSkpZm9yKHZhciBuPTA7bjxyLzI7bisrKXt2YXIgaT10W25dO3Rbbl09dFtyLW4tMV0sdFtyLW4tMV09aSxpPWVbbl0sZVtuXT0tZVtyLW4tMV0sZVtyLW4tMV09LWl9fSxtLnByb3RvdHlwZS5ub3JtYWxpemUxM2I9ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9MCxuPTA7bjxlLzI7bisrKXt2YXIgaT04MTkyKk1hdGgucm91bmQodFsyKm4rMV0vZSkrTWF0aC5yb3VuZCh0WzIqbl0vZSkrcjt0W25dPTY3MTA4ODYzJmkscj1pPDY3MTA4ODY0PzA6aS82NzEwODg2NHwwfXJldHVybiB0fSxtLnByb3RvdHlwZS5jb252ZXJ0MTNiPWZ1bmN0aW9uKHQsZSxyLGkpe2Zvcih2YXIgbz0wLHM9MDtzPGU7cysrKW8rPTB8dFtzXSxyWzIqc109ODE5MSZvLG8+Pj49MTMsclsyKnMrMV09ODE5MSZvLG8+Pj49MTM7Zm9yKHM9MiplO3M8aTsrK3MpcltzXT0wO24oMD09PW8pLG4oMD09KC04MTkyJm8pKX0sbS5wcm90b3R5cGUuc3R1Yj1mdW5jdGlvbih0KXtmb3IodmFyIGU9bmV3IEFycmF5KHQpLHI9MDtyPHQ7cisrKWVbcl09MDtyZXR1cm4gZX0sbS5wcm90b3R5cGUubXVscD1mdW5jdGlvbih0LGUscil7dmFyIG49Mip0aGlzLmd1ZXNzTGVuMTNiKHQubGVuZ3RoLGUubGVuZ3RoKSxpPXRoaXMubWFrZVJCVChuKSxvPXRoaXMuc3R1YihuKSxzPW5ldyBBcnJheShuKSxhPW5ldyBBcnJheShuKSx1PW5ldyBBcnJheShuKSxjPW5ldyBBcnJheShuKSxmPW5ldyBBcnJheShuKSxoPW5ldyBBcnJheShuKSxsPXIud29yZHM7bC5sZW5ndGg9bix0aGlzLmNvbnZlcnQxM2IodC53b3Jkcyx0Lmxlbmd0aCxzLG4pLHRoaXMuY29udmVydDEzYihlLndvcmRzLGUubGVuZ3RoLGMsbiksdGhpcy50cmFuc2Zvcm0ocyxvLGEsdSxuLGkpLHRoaXMudHJhbnNmb3JtKGMsbyxmLGgsbixpKTtmb3IodmFyIGQ9MDtkPG47ZCsrKXt2YXIgcD1hW2RdKmZbZF0tdVtkXSpoW2RdO3VbZF09YVtkXSpoW2RdK3VbZF0qZltkXSxhW2RdPXB9cmV0dXJuIHRoaXMuY29uanVnYXRlKGEsdSxuKSx0aGlzLnRyYW5zZm9ybShhLHUsbCxvLG4saSksdGhpcy5jb25qdWdhdGUobCxvLG4pLHRoaXMubm9ybWFsaXplMTNiKGwsbiksci5uZWdhdGl2ZT10Lm5lZ2F0aXZlXmUubmVnYXRpdmUsci5sZW5ndGg9dC5sZW5ndGgrZS5sZW5ndGgsci5zdHJpcCgpfSxvLnByb3RvdHlwZS5tdWw9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IG8obnVsbCk7cmV0dXJuIGUud29yZHM9bmV3IEFycmF5KHRoaXMubGVuZ3RoK3QubGVuZ3RoKSx0aGlzLm11bFRvKHQsZSl9LG8ucHJvdG90eXBlLm11bGY9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IG8obnVsbCk7cmV0dXJuIGUud29yZHM9bmV3IEFycmF5KHRoaXMubGVuZ3RoK3QubGVuZ3RoKSxwKHRoaXMsdCxlKX0sby5wcm90b3R5cGUuaW11bD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jbG9uZSgpLm11bFRvKHQsdGhpcyl9LG8ucHJvdG90eXBlLmltdWxuPWZ1bmN0aW9uKHQpe24oIm51bWJlciI9PXR5cGVvZiB0KSxuKHQ8NjcxMDg4NjQpO2Zvcih2YXIgZT0wLHI9MDtyPHRoaXMubGVuZ3RoO3IrKyl7dmFyIGk9KDB8dGhpcy53b3Jkc1tyXSkqdCxvPSg2NzEwODg2MyZpKSsoNjcxMDg4NjMmZSk7ZT4+PTI2LGUrPWkvNjcxMDg4NjR8MCxlKz1vPj4+MjYsdGhpcy53b3Jkc1tyXT02NzEwODg2MyZvfXJldHVybiAwIT09ZSYmKHRoaXMud29yZHNbcl09ZSx0aGlzLmxlbmd0aCsrKSx0aGlzfSxvLnByb3RvdHlwZS5tdWxuPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNsb25lKCkuaW11bG4odCl9LG8ucHJvdG90eXBlLnNxcj1mdW5jdGlvbigpe3JldHVybiB0aGlzLm11bCh0aGlzKX0sby5wcm90b3R5cGUuaXNxcj1mdW5jdGlvbigpe3JldHVybiB0aGlzLmltdWwodGhpcy5jbG9uZSgpKX0sby5wcm90b3R5cGUucG93PWZ1bmN0aW9uKHQpe3ZhciBlPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1uZXcgQXJyYXkodC5iaXRMZW5ndGgoKSkscj0wO3I8ZS5sZW5ndGg7cisrKXt2YXIgbj1yLzI2fDAsaT1yJTI2O2Vbcl09KHQud29yZHNbbl0mMTw8aSk+Pj5pfXJldHVybiBlfSh0KTtpZigwPT09ZS5sZW5ndGgpcmV0dXJuIG5ldyBvKDEpO2Zvcih2YXIgcj10aGlzLG49MDtuPGUubGVuZ3RoJiYwPT09ZVtuXTtuKysscj1yLnNxcigpKTtpZigrK248ZS5sZW5ndGgpZm9yKHZhciBpPXIuc3FyKCk7bjxlLmxlbmd0aDtuKyssaT1pLnNxcigpKTAhPT1lW25dJiYocj1yLm11bChpKSk7cmV0dXJuIHJ9LG8ucHJvdG90eXBlLml1c2hsbj1mdW5jdGlvbih0KXtuKCJudW1iZXIiPT10eXBlb2YgdCYmdD49MCk7dmFyIGUscj10JTI2LGk9KHQtcikvMjYsbz02NzEwODg2Mz4+PjI2LXI8PDI2LXI7aWYoMCE9PXIpe3ZhciBzPTA7Zm9yKGU9MDtlPHRoaXMubGVuZ3RoO2UrKyl7dmFyIGE9dGhpcy53b3Jkc1tlXSZvLHU9KDB8dGhpcy53b3Jkc1tlXSktYTw8cjt0aGlzLndvcmRzW2VdPXV8cyxzPWE+Pj4yNi1yfXMmJih0aGlzLndvcmRzW2VdPXMsdGhpcy5sZW5ndGgrKyl9aWYoMCE9PWkpe2ZvcihlPXRoaXMubGVuZ3RoLTE7ZT49MDtlLS0pdGhpcy53b3Jkc1tlK2ldPXRoaXMud29yZHNbZV07Zm9yKGU9MDtlPGk7ZSsrKXRoaXMud29yZHNbZV09MDt0aGlzLmxlbmd0aCs9aX1yZXR1cm4gdGhpcy5zdHJpcCgpfSxvLnByb3RvdHlwZS5pc2hsbj1mdW5jdGlvbih0KXtyZXR1cm4gbigwPT09dGhpcy5uZWdhdGl2ZSksdGhpcy5pdXNobG4odCl9LG8ucHJvdG90eXBlLml1c2hybj1mdW5jdGlvbih0LGUscil7dmFyIGk7bigibnVtYmVyIj09dHlwZW9mIHQmJnQ+PTApLGk9ZT8oZS1lJTI2KS8yNjowO3ZhciBvPXQlMjYscz1NYXRoLm1pbigodC1vKS8yNix0aGlzLmxlbmd0aCksYT02NzEwODg2M142NzEwODg2Mz4+Pm88PG8sdT1yO2lmKGktPXMsaT1NYXRoLm1heCgwLGkpLHUpe2Zvcih2YXIgYz0wO2M8cztjKyspdS53b3Jkc1tjXT10aGlzLndvcmRzW2NdO3UubGVuZ3RoPXN9aWYoMD09PXMpO2Vsc2UgaWYodGhpcy5sZW5ndGg+cylmb3IodGhpcy5sZW5ndGgtPXMsYz0wO2M8dGhpcy5sZW5ndGg7YysrKXRoaXMud29yZHNbY109dGhpcy53b3Jkc1tjK3NdO2Vsc2UgdGhpcy53b3Jkc1swXT0wLHRoaXMubGVuZ3RoPTE7dmFyIGY9MDtmb3IoYz10aGlzLmxlbmd0aC0xO2M+PTAmJigwIT09Znx8Yz49aSk7Yy0tKXt2YXIgaD0wfHRoaXMud29yZHNbY107dGhpcy53b3Jkc1tjXT1mPDwyNi1vfGg+Pj5vLGY9aCZhfXJldHVybiB1JiYwIT09ZiYmKHUud29yZHNbdS5sZW5ndGgrK109ZiksMD09PXRoaXMubGVuZ3RoJiYodGhpcy53b3Jkc1swXT0wLHRoaXMubGVuZ3RoPTEpLHRoaXMuc3RyaXAoKX0sby5wcm90b3R5cGUuaXNocm49ZnVuY3Rpb24odCxlLHIpe3JldHVybiBuKDA9PT10aGlzLm5lZ2F0aXZlKSx0aGlzLml1c2hybih0LGUscil9LG8ucHJvdG90eXBlLnNobG49ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pc2hsbih0KX0sby5wcm90b3R5cGUudXNobG49ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pdXNobG4odCl9LG8ucHJvdG90eXBlLnNocm49ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pc2hybih0KX0sby5wcm90b3R5cGUudXNocm49ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pdXNocm4odCl9LG8ucHJvdG90eXBlLnRlc3RuPWZ1bmN0aW9uKHQpe24oIm51bWJlciI9PXR5cGVvZiB0JiZ0Pj0wKTt2YXIgZT10JTI2LHI9KHQtZSkvMjYsaT0xPDxlO3JldHVybiEodGhpcy5sZW5ndGg8PXIpJiYhISh0aGlzLndvcmRzW3JdJmkpfSxvLnByb3RvdHlwZS5pbWFza249ZnVuY3Rpb24odCl7bigibnVtYmVyIj09dHlwZW9mIHQmJnQ+PTApO3ZhciBlPXQlMjYscj0odC1lKS8yNjtpZihuKDA9PT10aGlzLm5lZ2F0aXZlLCJpbWFza24gd29ya3Mgb25seSB3aXRoIHBvc2l0aXZlIG51bWJlcnMiKSx0aGlzLmxlbmd0aDw9cilyZXR1cm4gdGhpcztpZigwIT09ZSYmcisrLHRoaXMubGVuZ3RoPU1hdGgubWluKHIsdGhpcy5sZW5ndGgpLDAhPT1lKXt2YXIgaT02NzEwODg2M142NzEwODg2Mz4+PmU8PGU7dGhpcy53b3Jkc1t0aGlzLmxlbmd0aC0xXSY9aX1yZXR1cm4gdGhpcy5zdHJpcCgpfSxvLnByb3RvdHlwZS5tYXNrbj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jbG9uZSgpLmltYXNrbih0KX0sby5wcm90b3R5cGUuaWFkZG49ZnVuY3Rpb24odCl7cmV0dXJuIG4oIm51bWJlciI9PXR5cGVvZiB0KSxuKHQ8NjcxMDg4NjQpLHQ8MD90aGlzLmlzdWJuKC10KTowIT09dGhpcy5uZWdhdGl2ZT8xPT09dGhpcy5sZW5ndGgmJigwfHRoaXMud29yZHNbMF0pPHQ/KHRoaXMud29yZHNbMF09dC0oMHx0aGlzLndvcmRzWzBdKSx0aGlzLm5lZ2F0aXZlPTAsdGhpcyk6KHRoaXMubmVnYXRpdmU9MCx0aGlzLmlzdWJuKHQpLHRoaXMubmVnYXRpdmU9MSx0aGlzKTp0aGlzLl9pYWRkbih0KX0sby5wcm90b3R5cGUuX2lhZGRuPWZ1bmN0aW9uKHQpe3RoaXMud29yZHNbMF0rPXQ7Zm9yKHZhciBlPTA7ZTx0aGlzLmxlbmd0aCYmdGhpcy53b3Jkc1tlXT49NjcxMDg4NjQ7ZSsrKXRoaXMud29yZHNbZV0tPTY3MTA4ODY0LGU9PT10aGlzLmxlbmd0aC0xP3RoaXMud29yZHNbZSsxXT0xOnRoaXMud29yZHNbZSsxXSsrO3JldHVybiB0aGlzLmxlbmd0aD1NYXRoLm1heCh0aGlzLmxlbmd0aCxlKzEpLHRoaXN9LG8ucHJvdG90eXBlLmlzdWJuPWZ1bmN0aW9uKHQpe2lmKG4oIm51bWJlciI9PXR5cGVvZiB0KSxuKHQ8NjcxMDg4NjQpLHQ8MClyZXR1cm4gdGhpcy5pYWRkbigtdCk7aWYoMCE9PXRoaXMubmVnYXRpdmUpcmV0dXJuIHRoaXMubmVnYXRpdmU9MCx0aGlzLmlhZGRuKHQpLHRoaXMubmVnYXRpdmU9MSx0aGlzO2lmKHRoaXMud29yZHNbMF0tPXQsMT09PXRoaXMubGVuZ3RoJiZ0aGlzLndvcmRzWzBdPDApdGhpcy53b3Jkc1swXT0tdGhpcy53b3Jkc1swXSx0aGlzLm5lZ2F0aXZlPTE7ZWxzZSBmb3IodmFyIGU9MDtlPHRoaXMubGVuZ3RoJiZ0aGlzLndvcmRzW2VdPDA7ZSsrKXRoaXMud29yZHNbZV0rPTY3MTA4ODY0LHRoaXMud29yZHNbZSsxXS09MTtyZXR1cm4gdGhpcy5zdHJpcCgpfSxvLnByb3RvdHlwZS5hZGRuPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNsb25lKCkuaWFkZG4odCl9LG8ucHJvdG90eXBlLnN1Ym49ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pc3Vibih0KX0sby5wcm90b3R5cGUuaWFicz1mdW5jdGlvbigpe3JldHVybiB0aGlzLm5lZ2F0aXZlPTAsdGhpc30sby5wcm90b3R5cGUuYWJzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pYWJzKCl9LG8ucHJvdG90eXBlLl9pc2hsbnN1Ym11bD1mdW5jdGlvbih0LGUscil7dmFyIGksbyxzPXQubGVuZ3RoK3I7dGhpcy5fZXhwYW5kKHMpO3ZhciBhPTA7Zm9yKGk9MDtpPHQubGVuZ3RoO2krKyl7bz0oMHx0aGlzLndvcmRzW2krcl0pK2E7dmFyIHU9KDB8dC53b3Jkc1tpXSkqZTthPSgoby09NjcxMDg4NjMmdSk+PjI2KS0odS82NzEwODg2NHwwKSx0aGlzLndvcmRzW2krcl09NjcxMDg4NjMmb31mb3IoO2k8dGhpcy5sZW5ndGgtcjtpKyspYT0obz0oMHx0aGlzLndvcmRzW2krcl0pK2EpPj4yNix0aGlzLndvcmRzW2krcl09NjcxMDg4NjMmbztpZigwPT09YSlyZXR1cm4gdGhpcy5zdHJpcCgpO2ZvcihuKC0xPT09YSksYT0wLGk9MDtpPHRoaXMubGVuZ3RoO2krKylhPShvPS0oMHx0aGlzLndvcmRzW2ldKSthKT4+MjYsdGhpcy53b3Jkc1tpXT02NzEwODg2MyZvO3JldHVybiB0aGlzLm5lZ2F0aXZlPTEsdGhpcy5zdHJpcCgpfSxvLnByb3RvdHlwZS5fd29yZERpdj1mdW5jdGlvbih0LGUpe3ZhciByPSh0aGlzLmxlbmd0aCx0Lmxlbmd0aCksbj10aGlzLmNsb25lKCksaT10LHM9MHxpLndvcmRzW2kubGVuZ3RoLTFdOzAhPT0ocj0yNi10aGlzLl9jb3VudEJpdHMocykpJiYoaT1pLnVzaGxuKHIpLG4uaXVzaGxuKHIpLHM9MHxpLndvcmRzW2kubGVuZ3RoLTFdKTt2YXIgYSx1PW4ubGVuZ3RoLWkubGVuZ3RoO2lmKCJtb2QiIT09ZSl7KGE9bmV3IG8obnVsbCkpLmxlbmd0aD11KzEsYS53b3Jkcz1uZXcgQXJyYXkoYS5sZW5ndGgpO2Zvcih2YXIgYz0wO2M8YS5sZW5ndGg7YysrKWEud29yZHNbY109MH12YXIgZj1uLmNsb25lKCkuX2lzaGxuc3VibXVsKGksMSx1KTswPT09Zi5uZWdhdGl2ZSYmKG49ZixhJiYoYS53b3Jkc1t1XT0xKSk7Zm9yKHZhciBoPXUtMTtoPj0wO2gtLSl7dmFyIGw9NjcxMDg4NjQqKDB8bi53b3Jkc1tpLmxlbmd0aCtoXSkrKDB8bi53b3Jkc1tpLmxlbmd0aCtoLTFdKTtmb3IobD1NYXRoLm1pbihsL3N8MCw2NzEwODg2Myksbi5faXNobG5zdWJtdWwoaSxsLGgpOzAhPT1uLm5lZ2F0aXZlOylsLS0sbi5uZWdhdGl2ZT0wLG4uX2lzaGxuc3VibXVsKGksMSxoKSxuLmlzWmVybygpfHwobi5uZWdhdGl2ZV49MSk7YSYmKGEud29yZHNbaF09bCl9cmV0dXJuIGEmJmEuc3RyaXAoKSxuLnN0cmlwKCksImRpdiIhPT1lJiYwIT09ciYmbi5pdXNocm4ocikse2RpdjphfHxudWxsLG1vZDpufX0sby5wcm90b3R5cGUuZGl2bW9kPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gbighdC5pc1plcm8oKSksdGhpcy5pc1plcm8oKT97ZGl2Om5ldyBvKDApLG1vZDpuZXcgbygwKX06MCE9PXRoaXMubmVnYXRpdmUmJjA9PT10Lm5lZ2F0aXZlPyhhPXRoaXMubmVnKCkuZGl2bW9kKHQsZSksIm1vZCIhPT1lJiYoaT1hLmRpdi5uZWcoKSksImRpdiIhPT1lJiYocz1hLm1vZC5uZWcoKSxyJiYwIT09cy5uZWdhdGl2ZSYmcy5pYWRkKHQpKSx7ZGl2OmksbW9kOnN9KTowPT09dGhpcy5uZWdhdGl2ZSYmMCE9PXQubmVnYXRpdmU/KGE9dGhpcy5kaXZtb2QodC5uZWcoKSxlKSwibW9kIiE9PWUmJihpPWEuZGl2Lm5lZygpKSx7ZGl2OmksbW9kOmEubW9kfSk6MCE9KHRoaXMubmVnYXRpdmUmdC5uZWdhdGl2ZSk/KGE9dGhpcy5uZWcoKS5kaXZtb2QodC5uZWcoKSxlKSwiZGl2IiE9PWUmJihzPWEubW9kLm5lZygpLHImJjAhPT1zLm5lZ2F0aXZlJiZzLmlzdWIodCkpLHtkaXY6YS5kaXYsbW9kOnN9KTp0Lmxlbmd0aD50aGlzLmxlbmd0aHx8dGhpcy5jbXAodCk8MD97ZGl2Om5ldyBvKDApLG1vZDp0aGlzfToxPT09dC5sZW5ndGg/ImRpdiI9PT1lP3tkaXY6dGhpcy5kaXZuKHQud29yZHNbMF0pLG1vZDpudWxsfToibW9kIj09PWU/e2RpdjpudWxsLG1vZDpuZXcgbyh0aGlzLm1vZG4odC53b3Jkc1swXSkpfTp7ZGl2OnRoaXMuZGl2bih0LndvcmRzWzBdKSxtb2Q6bmV3IG8odGhpcy5tb2RuKHQud29yZHNbMF0pKX06dGhpcy5fd29yZERpdih0LGUpO3ZhciBpLHMsYX0sby5wcm90b3R5cGUuZGl2PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmRpdm1vZCh0LCJkaXYiLCExKS5kaXZ9LG8ucHJvdG90eXBlLm1vZD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5kaXZtb2QodCwibW9kIiwhMSkubW9kfSxvLnByb3RvdHlwZS51bW9kPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmRpdm1vZCh0LCJtb2QiLCEwKS5tb2R9LG8ucHJvdG90eXBlLmRpdlJvdW5kPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuZGl2bW9kKHQpO2lmKGUubW9kLmlzWmVybygpKXJldHVybiBlLmRpdjt2YXIgcj0wIT09ZS5kaXYubmVnYXRpdmU/ZS5tb2QuaXN1Yih0KTplLm1vZCxuPXQudXNocm4oMSksaT10LmFuZGxuKDEpLG89ci5jbXAobik7cmV0dXJuIG88MHx8MT09PWkmJjA9PT1vP2UuZGl2OjAhPT1lLmRpdi5uZWdhdGl2ZT9lLmRpdi5pc3VibigxKTplLmRpdi5pYWRkbigxKX0sby5wcm90b3R5cGUubW9kbj1mdW5jdGlvbih0KXtuKHQ8PTY3MTA4ODYzKTtmb3IodmFyIGU9KDE8PDI2KSV0LHI9MCxpPXRoaXMubGVuZ3RoLTE7aT49MDtpLS0pcj0oZSpyKygwfHRoaXMud29yZHNbaV0pKSV0O3JldHVybiByfSxvLnByb3RvdHlwZS5pZGl2bj1mdW5jdGlvbih0KXtuKHQ8PTY3MTA4ODYzKTtmb3IodmFyIGU9MCxyPXRoaXMubGVuZ3RoLTE7cj49MDtyLS0pe3ZhciBpPSgwfHRoaXMud29yZHNbcl0pKzY3MTA4ODY0KmU7dGhpcy53b3Jkc1tyXT1pL3R8MCxlPWkldH1yZXR1cm4gdGhpcy5zdHJpcCgpfSxvLnByb3RvdHlwZS5kaXZuPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNsb25lKCkuaWRpdm4odCl9LG8ucHJvdG90eXBlLmVnY2Q9ZnVuY3Rpb24odCl7bigwPT09dC5uZWdhdGl2ZSksbighdC5pc1plcm8oKSk7dmFyIGU9dGhpcyxyPXQuY2xvbmUoKTtlPTAhPT1lLm5lZ2F0aXZlP2UudW1vZCh0KTplLmNsb25lKCk7Zm9yKHZhciBpPW5ldyBvKDEpLHM9bmV3IG8oMCksYT1uZXcgbygwKSx1PW5ldyBvKDEpLGM9MDtlLmlzRXZlbigpJiZyLmlzRXZlbigpOyllLml1c2hybigxKSxyLml1c2hybigxKSwrK2M7Zm9yKHZhciBmPXIuY2xvbmUoKSxoPWUuY2xvbmUoKTshZS5pc1plcm8oKTspe2Zvcih2YXIgbD0wLGQ9MTswPT0oZS53b3Jkc1swXSZkKSYmbDwyNjsrK2wsZDw8PTEpO2lmKGw+MClmb3IoZS5pdXNocm4obCk7bC0tID4wOykoaS5pc09kZCgpfHxzLmlzT2RkKCkpJiYoaS5pYWRkKGYpLHMuaXN1YihoKSksaS5pdXNocm4oMSkscy5pdXNocm4oMSk7Zm9yKHZhciBwPTAsbT0xOzA9PShyLndvcmRzWzBdJm0pJiZwPDI2OysrcCxtPDw9MSk7aWYocD4wKWZvcihyLml1c2hybihwKTtwLS0gPjA7KShhLmlzT2RkKCl8fHUuaXNPZGQoKSkmJihhLmlhZGQoZiksdS5pc3ViKGgpKSxhLml1c2hybigxKSx1Lml1c2hybigxKTtlLmNtcChyKT49MD8oZS5pc3ViKHIpLGkuaXN1YihhKSxzLmlzdWIodSkpOihyLmlzdWIoZSksYS5pc3ViKGkpLHUuaXN1YihzKSl9cmV0dXJue2E6YSxiOnUsZ2NkOnIuaXVzaGxuKGMpfX0sby5wcm90b3R5cGUuX2ludm1wPWZ1bmN0aW9uKHQpe24oMD09PXQubmVnYXRpdmUpLG4oIXQuaXNaZXJvKCkpO3ZhciBlPXRoaXMscj10LmNsb25lKCk7ZT0wIT09ZS5uZWdhdGl2ZT9lLnVtb2QodCk6ZS5jbG9uZSgpO2Zvcih2YXIgaSxzPW5ldyBvKDEpLGE9bmV3IG8oMCksdT1yLmNsb25lKCk7ZS5jbXBuKDEpPjAmJnIuY21wbigxKT4wOyl7Zm9yKHZhciBjPTAsZj0xOzA9PShlLndvcmRzWzBdJmYpJiZjPDI2OysrYyxmPDw9MSk7aWYoYz4wKWZvcihlLml1c2hybihjKTtjLS0gPjA7KXMuaXNPZGQoKSYmcy5pYWRkKHUpLHMuaXVzaHJuKDEpO2Zvcih2YXIgaD0wLGw9MTswPT0oci53b3Jkc1swXSZsKSYmaDwyNjsrK2gsbDw8PTEpO2lmKGg+MClmb3Ioci5pdXNocm4oaCk7aC0tID4wOylhLmlzT2RkKCkmJmEuaWFkZCh1KSxhLml1c2hybigxKTtlLmNtcChyKT49MD8oZS5pc3ViKHIpLHMuaXN1YihhKSk6KHIuaXN1YihlKSxhLmlzdWIocykpfXJldHVybihpPTA9PT1lLmNtcG4oMSk/czphKS5jbXBuKDApPDAmJmkuaWFkZCh0KSxpfSxvLnByb3RvdHlwZS5nY2Q9ZnVuY3Rpb24odCl7aWYodGhpcy5pc1plcm8oKSlyZXR1cm4gdC5hYnMoKTtpZih0LmlzWmVybygpKXJldHVybiB0aGlzLmFicygpO3ZhciBlPXRoaXMuY2xvbmUoKSxyPXQuY2xvbmUoKTtlLm5lZ2F0aXZlPTAsci5uZWdhdGl2ZT0wO2Zvcih2YXIgbj0wO2UuaXNFdmVuKCkmJnIuaXNFdmVuKCk7bisrKWUuaXVzaHJuKDEpLHIuaXVzaHJuKDEpO2Zvcig7Oyl7Zm9yKDtlLmlzRXZlbigpOyllLml1c2hybigxKTtmb3IoO3IuaXNFdmVuKCk7KXIuaXVzaHJuKDEpO3ZhciBpPWUuY21wKHIpO2lmKGk8MCl7dmFyIG89ZTtlPXIscj1vfWVsc2UgaWYoMD09PWl8fDA9PT1yLmNtcG4oMSkpYnJlYWs7ZS5pc3ViKHIpfXJldHVybiByLml1c2hsbihuKX0sby5wcm90b3R5cGUuaW52bT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5lZ2NkKHQpLmEudW1vZCh0KX0sby5wcm90b3R5cGUuaXNFdmVuPWZ1bmN0aW9uKCl7cmV0dXJuIDA9PSgxJnRoaXMud29yZHNbMF0pfSxvLnByb3RvdHlwZS5pc09kZD1mdW5jdGlvbigpe3JldHVybiAxPT0oMSZ0aGlzLndvcmRzWzBdKX0sby5wcm90b3R5cGUuYW5kbG49ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMud29yZHNbMF0mdH0sby5wcm90b3R5cGUuYmluY249ZnVuY3Rpb24odCl7bigibnVtYmVyIj09dHlwZW9mIHQpO3ZhciBlPXQlMjYscj0odC1lKS8yNixpPTE8PGU7aWYodGhpcy5sZW5ndGg8PXIpcmV0dXJuIHRoaXMuX2V4cGFuZChyKzEpLHRoaXMud29yZHNbcl18PWksdGhpcztmb3IodmFyIG89aSxzPXI7MCE9PW8mJnM8dGhpcy5sZW5ndGg7cysrKXt2YXIgYT0wfHRoaXMud29yZHNbc107bz0oYSs9byk+Pj4yNixhJj02NzEwODg2Myx0aGlzLndvcmRzW3NdPWF9cmV0dXJuIDAhPT1vJiYodGhpcy53b3Jkc1tzXT1vLHRoaXMubGVuZ3RoKyspLHRoaXN9LG8ucHJvdG90eXBlLmlzWmVybz1mdW5jdGlvbigpe3JldHVybiAxPT09dGhpcy5sZW5ndGgmJjA9PT10aGlzLndvcmRzWzBdfSxvLnByb3RvdHlwZS5jbXBuPWZ1bmN0aW9uKHQpe3ZhciBlLHI9dDwwO2lmKDAhPT10aGlzLm5lZ2F0aXZlJiYhcilyZXR1cm4tMTtpZigwPT09dGhpcy5uZWdhdGl2ZSYmcilyZXR1cm4gMTtpZih0aGlzLnN0cmlwKCksdGhpcy5sZW5ndGg+MSllPTE7ZWxzZXtyJiYodD0tdCksbih0PD02NzEwODg2MywiTnVtYmVyIGlzIHRvbyBiaWciKTt2YXIgaT0wfHRoaXMud29yZHNbMF07ZT1pPT09dD8wOmk8dD8tMToxfXJldHVybiAwIT09dGhpcy5uZWdhdGl2ZT8wfC1lOmV9LG8ucHJvdG90eXBlLmNtcD1mdW5jdGlvbih0KXtpZigwIT09dGhpcy5uZWdhdGl2ZSYmMD09PXQubmVnYXRpdmUpcmV0dXJuLTE7aWYoMD09PXRoaXMubmVnYXRpdmUmJjAhPT10Lm5lZ2F0aXZlKXJldHVybiAxO3ZhciBlPXRoaXMudWNtcCh0KTtyZXR1cm4gMCE9PXRoaXMubmVnYXRpdmU/MHwtZTplfSxvLnByb3RvdHlwZS51Y21wPWZ1bmN0aW9uKHQpe2lmKHRoaXMubGVuZ3RoPnQubGVuZ3RoKXJldHVybiAxO2lmKHRoaXMubGVuZ3RoPHQubGVuZ3RoKXJldHVybi0xO2Zvcih2YXIgZT0wLHI9dGhpcy5sZW5ndGgtMTtyPj0wO3ItLSl7dmFyIG49MHx0aGlzLndvcmRzW3JdLGk9MHx0LndvcmRzW3JdO2lmKG4hPT1pKXtuPGk/ZT0tMTpuPmkmJihlPTEpO2JyZWFrfX1yZXR1cm4gZX0sby5wcm90b3R5cGUuZ3RuPWZ1bmN0aW9uKHQpe3JldHVybiAxPT09dGhpcy5jbXBuKHQpfSxvLnByb3RvdHlwZS5ndD1mdW5jdGlvbih0KXtyZXR1cm4gMT09PXRoaXMuY21wKHQpfSxvLnByb3RvdHlwZS5ndGVuPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNtcG4odCk+PTB9LG8ucHJvdG90eXBlLmd0ZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jbXAodCk+PTB9LG8ucHJvdG90eXBlLmx0bj1mdW5jdGlvbih0KXtyZXR1cm4tMT09PXRoaXMuY21wbih0KX0sby5wcm90b3R5cGUubHQ9ZnVuY3Rpb24odCl7cmV0dXJuLTE9PT10aGlzLmNtcCh0KX0sby5wcm90b3R5cGUubHRlbj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jbXBuKHQpPD0wfSxvLnByb3RvdHlwZS5sdGU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY21wKHQpPD0wfSxvLnByb3RvdHlwZS5lcW49ZnVuY3Rpb24odCl7cmV0dXJuIDA9PT10aGlzLmNtcG4odCl9LG8ucHJvdG90eXBlLmVxPWZ1bmN0aW9uKHQpe3JldHVybiAwPT09dGhpcy5jbXAodCl9LG8ucmVkPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgTSh0KX0sby5wcm90b3R5cGUudG9SZWQ9ZnVuY3Rpb24odCl7cmV0dXJuIG4oIXRoaXMucmVkLCJBbHJlYWR5IGEgbnVtYmVyIGluIHJlZHVjdGlvbiBjb250ZXh0IiksbigwPT09dGhpcy5uZWdhdGl2ZSwicmVkIHdvcmtzIG9ubHkgd2l0aCBwb3NpdGl2ZXMiKSx0LmNvbnZlcnRUbyh0aGlzKS5fZm9yY2VSZWQodCl9LG8ucHJvdG90eXBlLmZyb21SZWQ9ZnVuY3Rpb24oKXtyZXR1cm4gbih0aGlzLnJlZCwiZnJvbVJlZCB3b3JrcyBvbmx5IHdpdGggbnVtYmVycyBpbiByZWR1Y3Rpb24gY29udGV4dCIpLHRoaXMucmVkLmNvbnZlcnRGcm9tKHRoaXMpfSxvLnByb3RvdHlwZS5fZm9yY2VSZWQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMucmVkPXQsdGhpc30sby5wcm90b3R5cGUuZm9yY2VSZWQ9ZnVuY3Rpb24odCl7cmV0dXJuIG4oIXRoaXMucmVkLCJBbHJlYWR5IGEgbnVtYmVyIGluIHJlZHVjdGlvbiBjb250ZXh0IiksdGhpcy5fZm9yY2VSZWQodCl9LG8ucHJvdG90eXBlLnJlZEFkZD1mdW5jdGlvbih0KXtyZXR1cm4gbih0aGlzLnJlZCwicmVkQWRkIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMucmVkLmFkZCh0aGlzLHQpfSxvLnByb3RvdHlwZS5yZWRJQWRkPWZ1bmN0aW9uKHQpe3JldHVybiBuKHRoaXMucmVkLCJyZWRJQWRkIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMucmVkLmlhZGQodGhpcyx0KX0sby5wcm90b3R5cGUucmVkU3ViPWZ1bmN0aW9uKHQpe3JldHVybiBuKHRoaXMucmVkLCJyZWRTdWIgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiksdGhpcy5yZWQuc3ViKHRoaXMsdCl9LG8ucHJvdG90eXBlLnJlZElTdWI9ZnVuY3Rpb24odCl7cmV0dXJuIG4odGhpcy5yZWQsInJlZElTdWIgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiksdGhpcy5yZWQuaXN1Yih0aGlzLHQpfSxvLnByb3RvdHlwZS5yZWRTaGw9ZnVuY3Rpb24odCl7cmV0dXJuIG4odGhpcy5yZWQsInJlZFNobCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5zaGwodGhpcyx0KX0sby5wcm90b3R5cGUucmVkTXVsPWZ1bmN0aW9uKHQpe3JldHVybiBuKHRoaXMucmVkLCJyZWRNdWwgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiksdGhpcy5yZWQuX3ZlcmlmeTIodGhpcyx0KSx0aGlzLnJlZC5tdWwodGhpcyx0KX0sby5wcm90b3R5cGUucmVkSU11bD1mdW5jdGlvbih0KXtyZXR1cm4gbih0aGlzLnJlZCwicmVkTXVsIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMucmVkLl92ZXJpZnkyKHRoaXMsdCksdGhpcy5yZWQuaW11bCh0aGlzLHQpfSxvLnByb3RvdHlwZS5yZWRTcXI9ZnVuY3Rpb24oKXtyZXR1cm4gbih0aGlzLnJlZCwicmVkU3FyIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpLHRoaXMucmVkLnNxcih0aGlzKX0sby5wcm90b3R5cGUucmVkSVNxcj1mdW5jdGlvbigpe3JldHVybiBuKHRoaXMucmVkLCJyZWRJU3FyIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpLHRoaXMucmVkLmlzcXIodGhpcyl9LG8ucHJvdG90eXBlLnJlZFNxcnQ9ZnVuY3Rpb24oKXtyZXR1cm4gbih0aGlzLnJlZCwicmVkU3FydCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKSx0aGlzLnJlZC5zcXJ0KHRoaXMpfSxvLnByb3RvdHlwZS5yZWRJbnZtPWZ1bmN0aW9uKCl7cmV0dXJuIG4odGhpcy5yZWQsInJlZEludm0gd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiksdGhpcy5yZWQuX3ZlcmlmeTEodGhpcyksdGhpcy5yZWQuaW52bSh0aGlzKX0sby5wcm90b3R5cGUucmVkTmVnPWZ1bmN0aW9uKCl7cmV0dXJuIG4odGhpcy5yZWQsInJlZE5lZyB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKSx0aGlzLnJlZC5uZWcodGhpcyl9LG8ucHJvdG90eXBlLnJlZFBvdz1mdW5jdGlvbih0KXtyZXR1cm4gbih0aGlzLnJlZCYmIXQucmVkLCJyZWRQb3cobm9ybWFsTnVtKSIpLHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpLHRoaXMucmVkLnBvdyh0aGlzLHQpfTt2YXIgZz17azI1NjpudWxsLHAyMjQ6bnVsbCxwMTkyOm51bGwscDI1NTE5Om51bGx9O2Z1bmN0aW9uIGIodCxlKXt0aGlzLm5hbWU9dCx0aGlzLnA9bmV3IG8oZSwxNiksdGhpcy5uPXRoaXMucC5iaXRMZW5ndGgoKSx0aGlzLms9bmV3IG8oMSkuaXVzaGxuKHRoaXMubikuaXN1Yih0aGlzLnApLHRoaXMudG1wPXRoaXMuX3RtcCgpfWZ1bmN0aW9uIHkoKXtiLmNhbGwodGhpcywiazI1NiIsImZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZlIGZmZmZmYzJmIil9ZnVuY3Rpb24gdigpe2IuY2FsbCh0aGlzLCJwMjI0IiwiZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDEiKX1mdW5jdGlvbiBfKCl7Yi5jYWxsKHRoaXMsInAxOTIiLCJmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZSBmZmZmZmZmZiBmZmZmZmZmZiIpfWZ1bmN0aW9uIHcoKXtiLmNhbGwodGhpcywiMjU1MTkiLCI3ZmZmZmZmZmZmZmZmZmZmIGZmZmZmZmZmZmZmZmZmZmYgZmZmZmZmZmZmZmZmZmZmZiBmZmZmZmZmZmZmZmZmZmVkIil9ZnVuY3Rpb24gTSh0KXtpZigic3RyaW5nIj09dHlwZW9mIHQpe3ZhciBlPW8uX3ByaW1lKHQpO3RoaXMubT1lLnAsdGhpcy5wcmltZT1lfWVsc2Ugbih0Lmd0bigxKSwibW9kdWx1cyBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAxIiksdGhpcy5tPXQsdGhpcy5wcmltZT1udWxsfWZ1bmN0aW9uIFModCl7TS5jYWxsKHRoaXMsdCksdGhpcy5zaGlmdD10aGlzLm0uYml0TGVuZ3RoKCksdGhpcy5zaGlmdCUyNiE9MCYmKHRoaXMuc2hpZnQrPTI2LXRoaXMuc2hpZnQlMjYpLHRoaXMucj1uZXcgbygxKS5pdXNobG4odGhpcy5zaGlmdCksdGhpcy5yMj10aGlzLmltb2QodGhpcy5yLnNxcigpKSx0aGlzLnJpbnY9dGhpcy5yLl9pbnZtcCh0aGlzLm0pLHRoaXMubWludj10aGlzLnJpbnYubXVsKHRoaXMucikuaXN1Ym4oMSkuZGl2KHRoaXMubSksdGhpcy5taW52PXRoaXMubWludi51bW9kKHRoaXMuciksdGhpcy5taW52PXRoaXMuci5zdWIodGhpcy5taW52KX1iLnByb3RvdHlwZS5fdG1wPWZ1bmN0aW9uKCl7dmFyIHQ9bmV3IG8obnVsbCk7cmV0dXJuIHQud29yZHM9bmV3IEFycmF5KE1hdGguY2VpbCh0aGlzLm4vMTMpKSx0fSxiLnByb3RvdHlwZS5pcmVkdWNlPWZ1bmN0aW9uKHQpe3ZhciBlLHI9dDtkb3t0aGlzLnNwbGl0KHIsdGhpcy50bXApLGU9KHI9KHI9dGhpcy5pbXVsSyhyKSkuaWFkZCh0aGlzLnRtcCkpLmJpdExlbmd0aCgpfXdoaWxlKGU+dGhpcy5uKTt2YXIgbj1lPHRoaXMubj8tMTpyLnVjbXAodGhpcy5wKTtyZXR1cm4gMD09PW4/KHIud29yZHNbMF09MCxyLmxlbmd0aD0xKTpuPjA/ci5pc3ViKHRoaXMucCk6ci5zdHJpcCgpLHJ9LGIucHJvdG90eXBlLnNwbGl0PWZ1bmN0aW9uKHQsZSl7dC5pdXNocm4odGhpcy5uLDAsZSl9LGIucHJvdG90eXBlLmltdWxLPWZ1bmN0aW9uKHQpe3JldHVybiB0LmltdWwodGhpcy5rKX0saSh5LGIpLHkucHJvdG90eXBlLnNwbGl0PWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPU1hdGgubWluKHQubGVuZ3RoLDkpLG49MDtuPHI7bisrKWUud29yZHNbbl09dC53b3Jkc1tuXTtpZihlLmxlbmd0aD1yLHQubGVuZ3RoPD05KXJldHVybiB0LndvcmRzWzBdPTAsdm9pZCh0Lmxlbmd0aD0xKTt2YXIgaT10LndvcmRzWzldO2ZvcihlLndvcmRzW2UubGVuZ3RoKytdPTQxOTQzMDMmaSxuPTEwO248dC5sZW5ndGg7bisrKXt2YXIgbz0wfHQud29yZHNbbl07dC53b3Jkc1tuLTEwXT0oNDE5NDMwMyZvKTw8NHxpPj4+MjIsaT1vfWk+Pj49MjIsdC53b3Jkc1tuLTEwXT1pLDA9PT1pJiZ0Lmxlbmd0aD4xMD90Lmxlbmd0aC09MTA6dC5sZW5ndGgtPTl9LHkucHJvdG90eXBlLmltdWxLPWZ1bmN0aW9uKHQpe3Qud29yZHNbdC5sZW5ndGhdPTAsdC53b3Jkc1t0Lmxlbmd0aCsxXT0wLHQubGVuZ3RoKz0yO2Zvcih2YXIgZT0wLHI9MDtyPHQubGVuZ3RoO3IrKyl7dmFyIG49MHx0LndvcmRzW3JdO2UrPTk3NypuLHQud29yZHNbcl09NjcxMDg4NjMmZSxlPTY0Km4rKGUvNjcxMDg4NjR8MCl9cmV0dXJuIDA9PT10LndvcmRzW3QubGVuZ3RoLTFdJiYodC5sZW5ndGgtLSwwPT09dC53b3Jkc1t0Lmxlbmd0aC0xXSYmdC5sZW5ndGgtLSksdH0saSh2LGIpLGkoXyxiKSxpKHcsYiksdy5wcm90b3R5cGUuaW11bEs9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPTAscj0wO3I8dC5sZW5ndGg7cisrKXt2YXIgbj0xOSooMHx0LndvcmRzW3JdKStlLGk9NjcxMDg4NjMmbjtuPj4+PTI2LHQud29yZHNbcl09aSxlPW59cmV0dXJuIDAhPT1lJiYodC53b3Jkc1t0Lmxlbmd0aCsrXT1lKSx0fSxvLl9wcmltZT1mdW5jdGlvbih0KXtpZihnW3RdKXJldHVybiBnW3RdO3ZhciBlO2lmKCJrMjU2Ij09PXQpZT1uZXcgeTtlbHNlIGlmKCJwMjI0Ij09PXQpZT1uZXcgdjtlbHNlIGlmKCJwMTkyIj09PXQpZT1uZXcgXztlbHNle2lmKCJwMjU1MTkiIT09dCl0aHJvdyBuZXcgRXJyb3IoIlVua25vd24gcHJpbWUgIit0KTtlPW5ldyB3fXJldHVybiBnW3RdPWUsZX0sTS5wcm90b3R5cGUuX3ZlcmlmeTE9ZnVuY3Rpb24odCl7bigwPT09dC5uZWdhdGl2ZSwicmVkIHdvcmtzIG9ubHkgd2l0aCBwb3NpdGl2ZXMiKSxuKHQucmVkLCJyZWQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIil9LE0ucHJvdG90eXBlLl92ZXJpZnkyPWZ1bmN0aW9uKHQsZSl7bigwPT0odC5uZWdhdGl2ZXxlLm5lZ2F0aXZlKSwicmVkIHdvcmtzIG9ubHkgd2l0aCBwb3NpdGl2ZXMiKSxuKHQucmVkJiZ0LnJlZD09PWUucmVkLCJyZWQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIil9LE0ucHJvdG90eXBlLmltb2Q9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMucHJpbWU/dGhpcy5wcmltZS5pcmVkdWNlKHQpLl9mb3JjZVJlZCh0aGlzKTp0LnVtb2QodGhpcy5tKS5fZm9yY2VSZWQodGhpcyl9LE0ucHJvdG90eXBlLm5lZz1mdW5jdGlvbih0KXtyZXR1cm4gdC5pc1plcm8oKT90LmNsb25lKCk6dGhpcy5tLnN1Yih0KS5fZm9yY2VSZWQodGhpcyl9LE0ucHJvdG90eXBlLmFkZD1mdW5jdGlvbih0LGUpe3RoaXMuX3ZlcmlmeTIodCxlKTt2YXIgcj10LmFkZChlKTtyZXR1cm4gci5jbXAodGhpcy5tKT49MCYmci5pc3ViKHRoaXMubSksci5fZm9yY2VSZWQodGhpcyl9LE0ucHJvdG90eXBlLmlhZGQ9ZnVuY3Rpb24odCxlKXt0aGlzLl92ZXJpZnkyKHQsZSk7dmFyIHI9dC5pYWRkKGUpO3JldHVybiByLmNtcCh0aGlzLm0pPj0wJiZyLmlzdWIodGhpcy5tKSxyfSxNLnByb3RvdHlwZS5zdWI9ZnVuY3Rpb24odCxlKXt0aGlzLl92ZXJpZnkyKHQsZSk7dmFyIHI9dC5zdWIoZSk7cmV0dXJuIHIuY21wbigwKTwwJiZyLmlhZGQodGhpcy5tKSxyLl9mb3JjZVJlZCh0aGlzKX0sTS5wcm90b3R5cGUuaXN1Yj1mdW5jdGlvbih0LGUpe3RoaXMuX3ZlcmlmeTIodCxlKTt2YXIgcj10LmlzdWIoZSk7cmV0dXJuIHIuY21wbigwKTwwJiZyLmlhZGQodGhpcy5tKSxyfSxNLnByb3RvdHlwZS5zaGw9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5fdmVyaWZ5MSh0KSx0aGlzLmltb2QodC51c2hsbihlKSl9LE0ucHJvdG90eXBlLmltdWw9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5fdmVyaWZ5Mih0LGUpLHRoaXMuaW1vZCh0LmltdWwoZSkpfSxNLnByb3RvdHlwZS5tdWw9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5fdmVyaWZ5Mih0LGUpLHRoaXMuaW1vZCh0Lm11bChlKSl9LE0ucHJvdG90eXBlLmlzcXI9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuaW11bCh0LHQuY2xvbmUoKSl9LE0ucHJvdG90eXBlLnNxcj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5tdWwodCx0KX0sTS5wcm90b3R5cGUuc3FydD1mdW5jdGlvbih0KXtpZih0LmlzWmVybygpKXJldHVybiB0LmNsb25lKCk7dmFyIGU9dGhpcy5tLmFuZGxuKDMpO2lmKG4oZSUyPT0xKSwzPT09ZSl7dmFyIHI9dGhpcy5tLmFkZChuZXcgbygxKSkuaXVzaHJuKDIpO3JldHVybiB0aGlzLnBvdyh0LHIpfWZvcih2YXIgaT10aGlzLm0uc3VibigxKSxzPTA7IWkuaXNaZXJvKCkmJjA9PT1pLmFuZGxuKDEpOylzKyssaS5pdXNocm4oMSk7bighaS5pc1plcm8oKSk7dmFyIGE9bmV3IG8oMSkudG9SZWQodGhpcyksdT1hLnJlZE5lZygpLGM9dGhpcy5tLnN1Ym4oMSkuaXVzaHJuKDEpLGY9dGhpcy5tLmJpdExlbmd0aCgpO2ZvcihmPW5ldyBvKDIqZipmKS50b1JlZCh0aGlzKTswIT09dGhpcy5wb3coZixjKS5jbXAodSk7KWYucmVkSUFkZCh1KTtmb3IodmFyIGg9dGhpcy5wb3coZixpKSxsPXRoaXMucG93KHQsaS5hZGRuKDEpLml1c2hybigxKSksZD10aGlzLnBvdyh0LGkpLHA9czswIT09ZC5jbXAoYSk7KXtmb3IodmFyIG09ZCxnPTA7MCE9PW0uY21wKGEpO2crKyltPW0ucmVkU3FyKCk7bihnPHApO3ZhciBiPXRoaXMucG93KGgsbmV3IG8oMSkuaXVzaGxuKHAtZy0xKSk7bD1sLnJlZE11bChiKSxoPWIucmVkU3FyKCksZD1kLnJlZE11bChoKSxwPWd9cmV0dXJuIGx9LE0ucHJvdG90eXBlLmludm09ZnVuY3Rpb24odCl7dmFyIGU9dC5faW52bXAodGhpcy5tKTtyZXR1cm4gMCE9PWUubmVnYXRpdmU/KGUubmVnYXRpdmU9MCx0aGlzLmltb2QoZSkucmVkTmVnKCkpOnRoaXMuaW1vZChlKX0sTS5wcm90b3R5cGUucG93PWZ1bmN0aW9uKHQsZSl7aWYoZS5pc1plcm8oKSlyZXR1cm4gbmV3IG8oMSkudG9SZWQodGhpcyk7aWYoMD09PWUuY21wbigxKSlyZXR1cm4gdC5jbG9uZSgpO3ZhciByPW5ldyBBcnJheSgxNik7clswXT1uZXcgbygxKS50b1JlZCh0aGlzKSxyWzFdPXQ7Zm9yKHZhciBuPTI7bjxyLmxlbmd0aDtuKyspcltuXT10aGlzLm11bChyW24tMV0sdCk7dmFyIGk9clswXSxzPTAsYT0wLHU9ZS5iaXRMZW5ndGgoKSUyNjtmb3IoMD09PXUmJih1PTI2KSxuPWUubGVuZ3RoLTE7bj49MDtuLS0pe2Zvcih2YXIgYz1lLndvcmRzW25dLGY9dS0xO2Y+PTA7Zi0tKXt2YXIgaD1jPj5mJjE7aSE9PXJbMF0mJihpPXRoaXMuc3FyKGkpKSwwIT09aHx8MCE9PXM/KHM8PD0xLHN8PWgsKDQ9PT0rK2F8fDA9PT1uJiYwPT09ZikmJihpPXRoaXMubXVsKGkscltzXSksYT0wLHM9MCkpOmE9MH11PTI2fXJldHVybiBpfSxNLnByb3RvdHlwZS5jb252ZXJ0VG89ZnVuY3Rpb24odCl7dmFyIGU9dC51bW9kKHRoaXMubSk7cmV0dXJuIGU9PT10P2UuY2xvbmUoKTplfSxNLnByb3RvdHlwZS5jb252ZXJ0RnJvbT1mdW5jdGlvbih0KXt2YXIgZT10LmNsb25lKCk7cmV0dXJuIGUucmVkPW51bGwsZX0sby5tb250PWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgUyh0KX0saShTLE0pLFMucHJvdG90eXBlLmNvbnZlcnRUbz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5pbW9kKHQudXNobG4odGhpcy5zaGlmdCkpfSxTLnByb3RvdHlwZS5jb252ZXJ0RnJvbT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmltb2QodC5tdWwodGhpcy5yaW52KSk7cmV0dXJuIGUucmVkPW51bGwsZX0sUy5wcm90b3R5cGUuaW11bD1mdW5jdGlvbih0LGUpe2lmKHQuaXNaZXJvKCl8fGUuaXNaZXJvKCkpcmV0dXJuIHQud29yZHNbMF09MCx0Lmxlbmd0aD0xLHQ7dmFyIHI9dC5pbXVsKGUpLG49ci5tYXNrbih0aGlzLnNoaWZ0KS5tdWwodGhpcy5taW52KS5pbWFza24odGhpcy5zaGlmdCkubXVsKHRoaXMubSksaT1yLmlzdWIobikuaXVzaHJuKHRoaXMuc2hpZnQpLG89aTtyZXR1cm4gaS5jbXAodGhpcy5tKT49MD9vPWkuaXN1Yih0aGlzLm0pOmkuY21wbigwKTwwJiYobz1pLmlhZGQodGhpcy5tKSksby5fZm9yY2VSZWQodGhpcyl9LFMucHJvdG90eXBlLm11bD1mdW5jdGlvbih0LGUpe2lmKHQuaXNaZXJvKCl8fGUuaXNaZXJvKCkpcmV0dXJuIG5ldyBvKDApLl9mb3JjZVJlZCh0aGlzKTt2YXIgcj10Lm11bChlKSxuPXIubWFza24odGhpcy5zaGlmdCkubXVsKHRoaXMubWludikuaW1hc2tuKHRoaXMuc2hpZnQpLm11bCh0aGlzLm0pLGk9ci5pc3ViKG4pLml1c2hybih0aGlzLnNoaWZ0KSxzPWk7cmV0dXJuIGkuY21wKHRoaXMubSk+PTA/cz1pLmlzdWIodGhpcy5tKTppLmNtcG4oMCk8MCYmKHM9aS5pYWRkKHRoaXMubSkpLHMuX2ZvcmNlUmVkKHRoaXMpfSxTLnByb3RvdHlwZS5pbnZtPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmltb2QodC5faW52bXAodGhpcy5tKS5tdWwodGhpcy5yMikpLl9mb3JjZVJlZCh0aGlzKX19KHQsdGhpcyl9KS5jYWxsKHRoaXMscigyNSkodCkpfSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4odCl7bGV0IGU9dm9pZCAwO3JldHVybiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiZ2b2lkIDAhPT13aW5kb3dbdF0mJihlPXdpbmRvd1t0XSksZX1mdW5jdGlvbiBpKHQpe2NvbnN0IGU9bih0KTtpZighZSl0aHJvdyBuZXcgRXJyb3IodCsiIGlzIG5vdCBkZWZpbmVkIGluIFdpbmRvdyIpO3JldHVybiBlfU9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxlLmdldExvY2FsU3RvcmFnZT1lLmdldExvY2FsU3RvcmFnZU9yVGhyb3c9ZS5nZXRDcnlwdG89ZS5nZXRDcnlwdG9PclRocm93PWUuZ2V0TG9jYXRpb249ZS5nZXRMb2NhdGlvbk9yVGhyb3c9ZS5nZXROYXZpZ2F0b3I9ZS5nZXROYXZpZ2F0b3JPclRocm93PWUuZ2V0RG9jdW1lbnQ9ZS5nZXREb2N1bWVudE9yVGhyb3c9ZS5nZXRGcm9tV2luZG93T3JUaHJvdz1lLmdldEZyb21XaW5kb3c9dm9pZCAwLGUuZ2V0RnJvbVdpbmRvdz1uLGUuZ2V0RnJvbVdpbmRvd09yVGhyb3c9aSxlLmdldERvY3VtZW50T3JUaHJvdz1mdW5jdGlvbigpe3JldHVybiBpKCJkb2N1bWVudCIpfSxlLmdldERvY3VtZW50PWZ1bmN0aW9uKCl7cmV0dXJuIG4oImRvY3VtZW50Iil9LGUuZ2V0TmF2aWdhdG9yT3JUaHJvdz1mdW5jdGlvbigpe3JldHVybiBpKCJuYXZpZ2F0b3IiKX0sZS5nZXROYXZpZ2F0b3I9ZnVuY3Rpb24oKXtyZXR1cm4gbigibmF2aWdhdG9yIil9LGUuZ2V0TG9jYXRpb25PclRocm93PWZ1bmN0aW9uKCl7cmV0dXJuIGkoImxvY2F0aW9uIil9LGUuZ2V0TG9jYXRpb249ZnVuY3Rpb24oKXtyZXR1cm4gbigibG9jYXRpb24iKX0sZS5nZXRDcnlwdG9PclRocm93PWZ1bmN0aW9uKCl7cmV0dXJuIGkoImNyeXB0byIpfSxlLmdldENyeXB0bz1mdW5jdGlvbigpe3JldHVybiBuKCJjcnlwdG8iKX0sZS5nZXRMb2NhbFN0b3JhZ2VPclRocm93PWZ1bmN0aW9uKCl7cmV0dXJuIGkoImxvY2FsU3RvcmFnZSIpfSxlLmdldExvY2FsU3RvcmFnZT1mdW5jdGlvbigpe3JldHVybiBuKCJsb2NhbFN0b3JhZ2UiKX19LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49ZSxpPXIoMTYpLG89cigyMikscz1yKDEyMCk7bi5hc3NlcnQ9byxuLnRvQXJyYXk9cy50b0FycmF5LG4uemVybzI9cy56ZXJvMixuLnRvSGV4PXMudG9IZXgsbi5lbmNvZGU9cy5lbmNvZGUsbi5nZXROQUY9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPW5ldyBBcnJheShNYXRoLm1heCh0LmJpdExlbmd0aCgpLHIpKzEpO24uZmlsbCgwKTtmb3IodmFyIGk9MTw8ZSsxLG89dC5jbG9uZSgpLHM9MDtzPG4ubGVuZ3RoO3MrKyl7dmFyIGEsdT1vLmFuZGxuKGktMSk7by5pc09kZCgpPyhhPXU+KGk+PjEpLTE/KGk+PjEpLXU6dSxvLmlzdWJuKGEpKTphPTAsbltzXT1hLG8uaXVzaHJuKDEpfXJldHVybiBufSxuLmdldEpTRj1mdW5jdGlvbih0LGUpe3ZhciByPVtbXSxbXV07dD10LmNsb25lKCksZT1lLmNsb25lKCk7Zm9yKHZhciBuLGk9MCxvPTA7dC5jbXBuKC1pKT4wfHxlLmNtcG4oLW8pPjA7KXt2YXIgcyxhLHU9dC5hbmRsbigzKStpJjMsYz1lLmFuZGxuKDMpK28mMzszPT09dSYmKHU9LTEpLDM9PT1jJiYoYz0tMSkscz0wPT0oMSZ1KT8wOjMhPT0obj10LmFuZGxuKDcpK2kmNykmJjUhPT1ufHwyIT09Yz91Oi11LHJbMF0ucHVzaChzKSxhPTA9PSgxJmMpPzA6MyE9PShuPWUuYW5kbG4oNykrbyY3KSYmNSE9PW58fDIhPT11P2M6LWMsclsxXS5wdXNoKGEpLDIqaT09PXMrMSYmKGk9MS1pKSwyKm89PT1hKzEmJihvPTEtbyksdC5pdXNocm4oMSksZS5pdXNocm4oMSl9cmV0dXJuIHJ9LG4uY2FjaGVkUHJvcGVydHk9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPSJfIitlO3QucHJvdG90eXBlW2VdPWZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgMCE9PXRoaXNbbl0/dGhpc1tuXTp0aGlzW25dPXIuY2FsbCh0aGlzKX19LG4ucGFyc2VCeXRlcz1mdW5jdGlvbih0KXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIHQ/bi50b0FycmF5KHQsImhleCIpOnR9LG4uaW50RnJvbUxFPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgaSh0LCJoZXgiLCJsZSIpfX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbixpPSJvYmplY3QiPT10eXBlb2YgUmVmbGVjdD9SZWZsZWN0Om51bGwsbz1pJiYiZnVuY3Rpb24iPT10eXBlb2YgaS5hcHBseT9pLmFwcGx5OmZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5LmNhbGwodCxlLHIpfTtuPWkmJiJmdW5jdGlvbiI9PXR5cGVvZiBpLm93bktleXM/aS5vd25LZXlzOk9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHM/ZnVuY3Rpb24odCl7cmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHQpLmNvbmNhdChPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHQpKX06ZnVuY3Rpb24odCl7cmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHQpfTt2YXIgcz1OdW1iZXIuaXNOYU58fGZ1bmN0aW9uKHQpe3JldHVybiB0IT10fTtmdW5jdGlvbiBhKCl7YS5pbml0LmNhbGwodGhpcyl9dC5leHBvcnRzPWEsdC5leHBvcnRzLm9uY2U9ZnVuY3Rpb24odCxlKXtyZXR1cm4gbmV3IFByb21pc2UoKGZ1bmN0aW9uKHIsbil7ZnVuY3Rpb24gaShyKXt0LnJlbW92ZUxpc3RlbmVyKGUsbyksbihyKX1mdW5jdGlvbiBvKCl7ImZ1bmN0aW9uIj09dHlwZW9mIHQucmVtb3ZlTGlzdGVuZXImJnQucmVtb3ZlTGlzdGVuZXIoImVycm9yIixpKSxyKFtdLnNsaWNlLmNhbGwoYXJndW1lbnRzKSl9Yih0LGUsbyx7b25jZTohMH0pLCJlcnJvciIhPT1lJiZmdW5jdGlvbih0LGUscil7ImZ1bmN0aW9uIj09dHlwZW9mIHQub24mJmIodCwiZXJyb3IiLGUscil9KHQsaSx7b25jZTohMH0pfSkpfSxhLkV2ZW50RW1pdHRlcj1hLGEucHJvdG90eXBlLl9ldmVudHM9dm9pZCAwLGEucHJvdG90eXBlLl9ldmVudHNDb3VudD0wLGEucHJvdG90eXBlLl9tYXhMaXN0ZW5lcnM9dm9pZCAwO3ZhciB1PTEwO2Z1bmN0aW9uIGModCl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHQpdGhyb3cgbmV3IFR5cGVFcnJvcignVGhlICJsaXN0ZW5lciIgYXJndW1lbnQgbXVzdCBiZSBvZiB0eXBlIEZ1bmN0aW9uLiBSZWNlaXZlZCB0eXBlICcrdHlwZW9mIHQpfWZ1bmN0aW9uIGYodCl7cmV0dXJuIHZvaWQgMD09PXQuX21heExpc3RlbmVycz9hLmRlZmF1bHRNYXhMaXN0ZW5lcnM6dC5fbWF4TGlzdGVuZXJzfWZ1bmN0aW9uIGgodCxlLHIsbil7dmFyIGksbyxzLGE7aWYoYyhyKSx2b2lkIDA9PT0obz10Ll9ldmVudHMpPyhvPXQuX2V2ZW50cz1PYmplY3QuY3JlYXRlKG51bGwpLHQuX2V2ZW50c0NvdW50PTApOih2b2lkIDAhPT1vLm5ld0xpc3RlbmVyJiYodC5lbWl0KCJuZXdMaXN0ZW5lciIsZSxyLmxpc3RlbmVyP3IubGlzdGVuZXI6ciksbz10Ll9ldmVudHMpLHM9b1tlXSksdm9pZCAwPT09cylzPW9bZV09ciwrK3QuX2V2ZW50c0NvdW50O2Vsc2UgaWYoImZ1bmN0aW9uIj09dHlwZW9mIHM/cz1vW2VdPW4/W3Isc106W3Mscl06bj9zLnVuc2hpZnQocik6cy5wdXNoKHIpLChpPWYodCkpPjAmJnMubGVuZ3RoPmkmJiFzLndhcm5lZCl7cy53YXJuZWQ9ITA7dmFyIHU9bmV3IEVycm9yKCJQb3NzaWJsZSBFdmVudEVtaXR0ZXIgbWVtb3J5IGxlYWsgZGV0ZWN0ZWQuICIrcy5sZW5ndGgrIiAiK1N0cmluZyhlKSsiIGxpc3RlbmVycyBhZGRlZC4gVXNlIGVtaXR0ZXIuc2V0TWF4TGlzdGVuZXJzKCkgdG8gaW5jcmVhc2UgbGltaXQiKTt1Lm5hbWU9Ik1heExpc3RlbmVyc0V4Y2VlZGVkV2FybmluZyIsdS5lbWl0dGVyPXQsdS50eXBlPWUsdS5jb3VudD1zLmxlbmd0aCxhPXUsY29uc29sZSYmY29uc29sZS53YXJuJiZjb25zb2xlLndhcm4oYSl9cmV0dXJuIHR9ZnVuY3Rpb24gbCgpe2lmKCF0aGlzLmZpcmVkKXJldHVybiB0aGlzLnRhcmdldC5yZW1vdmVMaXN0ZW5lcih0aGlzLnR5cGUsdGhpcy53cmFwRm4pLHRoaXMuZmlyZWQ9ITAsMD09PWFyZ3VtZW50cy5sZW5ndGg/dGhpcy5saXN0ZW5lci5jYWxsKHRoaXMudGFyZ2V0KTp0aGlzLmxpc3RlbmVyLmFwcGx5KHRoaXMudGFyZ2V0LGFyZ3VtZW50cyl9ZnVuY3Rpb24gZCh0LGUscil7dmFyIG49e2ZpcmVkOiExLHdyYXBGbjp2b2lkIDAsdGFyZ2V0OnQsdHlwZTplLGxpc3RlbmVyOnJ9LGk9bC5iaW5kKG4pO3JldHVybiBpLmxpc3RlbmVyPXIsbi53cmFwRm49aSxpfWZ1bmN0aW9uIHAodCxlLHIpe3ZhciBuPXQuX2V2ZW50cztpZih2b2lkIDA9PT1uKXJldHVybltdO3ZhciBpPW5bZV07cmV0dXJuIHZvaWQgMD09PWk/W106ImZ1bmN0aW9uIj09dHlwZW9mIGk/cj9baS5saXN0ZW5lcnx8aV06W2ldOnI/ZnVuY3Rpb24odCl7Zm9yKHZhciBlPW5ldyBBcnJheSh0Lmxlbmd0aCkscj0wO3I8ZS5sZW5ndGg7KytyKWVbcl09dFtyXS5saXN0ZW5lcnx8dFtyXTtyZXR1cm4gZX0oaSk6ZyhpLGkubGVuZ3RoKX1mdW5jdGlvbiBtKHQpe3ZhciBlPXRoaXMuX2V2ZW50cztpZih2b2lkIDAhPT1lKXt2YXIgcj1lW3RdO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiByKXJldHVybiAxO2lmKHZvaWQgMCE9PXIpcmV0dXJuIHIubGVuZ3RofXJldHVybiAwfWZ1bmN0aW9uIGcodCxlKXtmb3IodmFyIHI9bmV3IEFycmF5KGUpLG49MDtuPGU7KytuKXJbbl09dFtuXTtyZXR1cm4gcn1mdW5jdGlvbiBiKHQsZSxyLG4pe2lmKCJmdW5jdGlvbiI9PXR5cGVvZiB0Lm9uKW4ub25jZT90Lm9uY2UoZSxyKTp0Lm9uKGUscik7ZWxzZXtpZigiZnVuY3Rpb24iIT10eXBlb2YgdC5hZGRFdmVudExpc3RlbmVyKXRocm93IG5ldyBUeXBlRXJyb3IoJ1RoZSAiZW1pdHRlciIgYXJndW1lbnQgbXVzdCBiZSBvZiB0eXBlIEV2ZW50RW1pdHRlci4gUmVjZWl2ZWQgdHlwZSAnK3R5cGVvZiB0KTt0LmFkZEV2ZW50TGlzdGVuZXIoZSwoZnVuY3Rpb24gaShvKXtuLm9uY2UmJnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihlLGkpLHIobyl9KSl9fU9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLCJkZWZhdWx0TWF4TGlzdGVuZXJzIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdX0sc2V0OmZ1bmN0aW9uKHQpe2lmKCJudW1iZXIiIT10eXBlb2YgdHx8dDwwfHxzKHQpKXRocm93IG5ldyBSYW5nZUVycm9yKCdUaGUgdmFsdWUgb2YgImRlZmF1bHRNYXhMaXN0ZW5lcnMiIGlzIG91dCBvZiByYW5nZS4gSXQgbXVzdCBiZSBhIG5vbi1uZWdhdGl2ZSBudW1iZXIuIFJlY2VpdmVkICcrdCsiLiIpO3U9dH19KSxhLmluaXQ9ZnVuY3Rpb24oKXt2b2lkIDAhPT10aGlzLl9ldmVudHMmJnRoaXMuX2V2ZW50cyE9PU9iamVjdC5nZXRQcm90b3R5cGVPZih0aGlzKS5fZXZlbnRzfHwodGhpcy5fZXZlbnRzPU9iamVjdC5jcmVhdGUobnVsbCksdGhpcy5fZXZlbnRzQ291bnQ9MCksdGhpcy5fbWF4TGlzdGVuZXJzPXRoaXMuX21heExpc3RlbmVyc3x8dm9pZCAwfSxhLnByb3RvdHlwZS5zZXRNYXhMaXN0ZW5lcnM9ZnVuY3Rpb24odCl7aWYoIm51bWJlciIhPXR5cGVvZiB0fHx0PDB8fHModCkpdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ1RoZSB2YWx1ZSBvZiAibiIgaXMgb3V0IG9mIHJhbmdlLiBJdCBtdXN0IGJlIGEgbm9uLW5lZ2F0aXZlIG51bWJlci4gUmVjZWl2ZWQgJyt0KyIuIik7cmV0dXJuIHRoaXMuX21heExpc3RlbmVycz10LHRoaXN9LGEucHJvdG90eXBlLmdldE1heExpc3RlbmVycz1mdW5jdGlvbigpe3JldHVybiBmKHRoaXMpfSxhLnByb3RvdHlwZS5lbWl0PWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1bXSxyPTE7cjxhcmd1bWVudHMubGVuZ3RoO3IrKyllLnB1c2goYXJndW1lbnRzW3JdKTt2YXIgbj0iZXJyb3IiPT09dCxpPXRoaXMuX2V2ZW50cztpZih2b2lkIDAhPT1pKW49biYmdm9pZCAwPT09aS5lcnJvcjtlbHNlIGlmKCFuKXJldHVybiExO2lmKG4pe3ZhciBzO2lmKGUubGVuZ3RoPjAmJihzPWVbMF0pLHMgaW5zdGFuY2VvZiBFcnJvcil0aHJvdyBzO3ZhciBhPW5ldyBFcnJvcigiVW5oYW5kbGVkIGVycm9yLiIrKHM/IiAoIitzLm1lc3NhZ2UrIikiOiIiKSk7dGhyb3cgYS5jb250ZXh0PXMsYX12YXIgdT1pW3RdO2lmKHZvaWQgMD09PXUpcmV0dXJuITE7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHUpbyh1LHRoaXMsZSk7ZWxzZXt2YXIgYz11Lmxlbmd0aCxmPWcodSxjKTtmb3Iocj0wO3I8YzsrK3IpbyhmW3JdLHRoaXMsZSl9cmV0dXJuITB9LGEucHJvdG90eXBlLmFkZExpc3RlbmVyPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGgodGhpcyx0LGUsITEpfSxhLnByb3RvdHlwZS5vbj1hLnByb3RvdHlwZS5hZGRMaXN0ZW5lcixhLnByb3RvdHlwZS5wcmVwZW5kTGlzdGVuZXI9ZnVuY3Rpb24odCxlKXtyZXR1cm4gaCh0aGlzLHQsZSwhMCl9LGEucHJvdG90eXBlLm9uY2U9ZnVuY3Rpb24odCxlKXtyZXR1cm4gYyhlKSx0aGlzLm9uKHQsZCh0aGlzLHQsZSkpLHRoaXN9LGEucHJvdG90eXBlLnByZXBlbmRPbmNlTGlzdGVuZXI9ZnVuY3Rpb24odCxlKXtyZXR1cm4gYyhlKSx0aGlzLnByZXBlbmRMaXN0ZW5lcih0LGQodGhpcyx0LGUpKSx0aGlzfSxhLnByb3RvdHlwZS5yZW1vdmVMaXN0ZW5lcj1mdW5jdGlvbih0LGUpe3ZhciByLG4saSxvLHM7aWYoYyhlKSx2b2lkIDA9PT0obj10aGlzLl9ldmVudHMpKXJldHVybiB0aGlzO2lmKHZvaWQgMD09PShyPW5bdF0pKXJldHVybiB0aGlzO2lmKHI9PT1lfHxyLmxpc3RlbmVyPT09ZSkwPT0tLXRoaXMuX2V2ZW50c0NvdW50P3RoaXMuX2V2ZW50cz1PYmplY3QuY3JlYXRlKG51bGwpOihkZWxldGUgblt0XSxuLnJlbW92ZUxpc3RlbmVyJiZ0aGlzLmVtaXQoInJlbW92ZUxpc3RlbmVyIix0LHIubGlzdGVuZXJ8fGUpKTtlbHNlIGlmKCJmdW5jdGlvbiIhPXR5cGVvZiByKXtmb3IoaT0tMSxvPXIubGVuZ3RoLTE7bz49MDtvLS0paWYocltvXT09PWV8fHJbb10ubGlzdGVuZXI9PT1lKXtzPXJbb10ubGlzdGVuZXIsaT1vO2JyZWFrfWlmKGk8MClyZXR1cm4gdGhpczswPT09aT9yLnNoaWZ0KCk6ZnVuY3Rpb24odCxlKXtmb3IoO2UrMTx0Lmxlbmd0aDtlKyspdFtlXT10W2UrMV07dC5wb3AoKX0ocixpKSwxPT09ci5sZW5ndGgmJihuW3RdPXJbMF0pLHZvaWQgMCE9PW4ucmVtb3ZlTGlzdGVuZXImJnRoaXMuZW1pdCgicmVtb3ZlTGlzdGVuZXIiLHQsc3x8ZSl9cmV0dXJuIHRoaXN9LGEucHJvdG90eXBlLm9mZj1hLnByb3RvdHlwZS5yZW1vdmVMaXN0ZW5lcixhLnByb3RvdHlwZS5yZW1vdmVBbGxMaXN0ZW5lcnM9ZnVuY3Rpb24odCl7dmFyIGUscixuO2lmKHZvaWQgMD09PShyPXRoaXMuX2V2ZW50cykpcmV0dXJuIHRoaXM7aWYodm9pZCAwPT09ci5yZW1vdmVMaXN0ZW5lcilyZXR1cm4gMD09PWFyZ3VtZW50cy5sZW5ndGg/KHRoaXMuX2V2ZW50cz1PYmplY3QuY3JlYXRlKG51bGwpLHRoaXMuX2V2ZW50c0NvdW50PTApOnZvaWQgMCE9PXJbdF0mJigwPT0tLXRoaXMuX2V2ZW50c0NvdW50P3RoaXMuX2V2ZW50cz1PYmplY3QuY3JlYXRlKG51bGwpOmRlbGV0ZSByW3RdKSx0aGlzO2lmKDA9PT1hcmd1bWVudHMubGVuZ3RoKXt2YXIgaSxvPU9iamVjdC5rZXlzKHIpO2ZvcihuPTA7bjxvLmxlbmd0aDsrK24pInJlbW92ZUxpc3RlbmVyIiE9PShpPW9bbl0pJiZ0aGlzLnJlbW92ZUFsbExpc3RlbmVycyhpKTtyZXR1cm4gdGhpcy5yZW1vdmVBbGxMaXN0ZW5lcnMoInJlbW92ZUxpc3RlbmVyIiksdGhpcy5fZXZlbnRzPU9iamVjdC5jcmVhdGUobnVsbCksdGhpcy5fZXZlbnRzQ291bnQ9MCx0aGlzfWlmKCJmdW5jdGlvbiI9PXR5cGVvZihlPXJbdF0pKXRoaXMucmVtb3ZlTGlzdGVuZXIodCxlKTtlbHNlIGlmKHZvaWQgMCE9PWUpZm9yKG49ZS5sZW5ndGgtMTtuPj0wO24tLSl0aGlzLnJlbW92ZUxpc3RlbmVyKHQsZVtuXSk7cmV0dXJuIHRoaXN9LGEucHJvdG90eXBlLmxpc3RlbmVycz1mdW5jdGlvbih0KXtyZXR1cm4gcCh0aGlzLHQsITApfSxhLnByb3RvdHlwZS5yYXdMaXN0ZW5lcnM9ZnVuY3Rpb24odCl7cmV0dXJuIHAodGhpcyx0LCExKX0sYS5saXN0ZW5lckNvdW50PWZ1bmN0aW9uKHQsZSl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHQubGlzdGVuZXJDb3VudD90Lmxpc3RlbmVyQ291bnQoZSk6bS5jYWxsKHQsZSl9LGEucHJvdG90eXBlLmxpc3RlbmVyQ291bnQ9bSxhLnByb3RvdHlwZS5ldmVudE5hbWVzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2V2ZW50c0NvdW50PjA/bih0aGlzLl9ldmVudHMpOltdfX0sZnVuY3Rpb24odCxlLHIpe3ZhciBuPXIoMiksaT1uLkJ1ZmZlcjtmdW5jdGlvbiBvKHQsZSl7Zm9yKHZhciByIGluIHQpZVtyXT10W3JdfWZ1bmN0aW9uIHModCxlLHIpe3JldHVybiBpKHQsZSxyKX1pLmZyb20mJmkuYWxsb2MmJmkuYWxsb2NVbnNhZmUmJmkuYWxsb2NVbnNhZmVTbG93P3QuZXhwb3J0cz1uOihvKG4sZSksZS5CdWZmZXI9cykscy5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShpLnByb3RvdHlwZSksbyhpLHMpLHMuZnJvbT1mdW5jdGlvbih0LGUscil7aWYoIm51bWJlciI9PXR5cGVvZiB0KXRocm93IG5ldyBUeXBlRXJyb3IoIkFyZ3VtZW50IG11c3Qgbm90IGJlIGEgbnVtYmVyIik7cmV0dXJuIGkodCxlLHIpfSxzLmFsbG9jPWZ1bmN0aW9uKHQsZSxyKXtpZigibnVtYmVyIiE9dHlwZW9mIHQpdGhyb3cgbmV3IFR5cGVFcnJvcigiQXJndW1lbnQgbXVzdCBiZSBhIG51bWJlciIpO3ZhciBuPWkodCk7cmV0dXJuIHZvaWQgMCE9PWU/InN0cmluZyI9PXR5cGVvZiByP24uZmlsbChlLHIpOm4uZmlsbChlKTpuLmZpbGwoMCksbn0scy5hbGxvY1Vuc2FmZT1mdW5jdGlvbih0KXtpZigibnVtYmVyIiE9dHlwZW9mIHQpdGhyb3cgbmV3IFR5cGVFcnJvcigiQXJndW1lbnQgbXVzdCBiZSBhIG51bWJlciIpO3JldHVybiBpKHQpfSxzLmFsbG9jVW5zYWZlU2xvdz1mdW5jdGlvbih0KXtpZigibnVtYmVyIiE9dHlwZW9mIHQpdGhyb3cgbmV3IFR5cGVFcnJvcigiQXJndW1lbnQgbXVzdCBiZSBhIG51bWJlciIpO3JldHVybiBuLlNsb3dCdWZmZXIodCl9fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLCJiIiwoZnVuY3Rpb24oKXtyZXR1cm4gc30pKSxyLmQoZSwiYSIsKGZ1bmN0aW9uKCl7cmV0dXJuIGF9KSksci5kKGUsImMiLChmdW5jdGlvbigpe3JldHVybiB1fSkpLHIuZChlLCJkIiwoZnVuY3Rpb24oKXtyZXR1cm4gY30pKSxyLmQoZSwiZSIsKGZ1bmN0aW9uKCl7cmV0dXJuIGZ9KSksci5kKGUsImYiLChmdW5jdGlvbigpe3JldHVybiBofSkpO3ZhciBuPXIoOCksaT1yKDQpO2FzeW5jIGZ1bmN0aW9uIG8odCxlPWkuYSl7cmV0dXJuIG4uZ2V0U3VidGxlQ3J5cHRvKCkuaW1wb3J0S2V5KCJyYXciLHQsZnVuY3Rpb24odCl7cmV0dXJuIHQ9PT1pLmE/e2xlbmd0aDppLmIsbmFtZTppLmF9OntoYXNoOntuYW1lOmkuZn0sbmFtZTppLmV9fShlKSwhMCxmdW5jdGlvbih0KXtyZXR1cm4gdD09PWkuYT9baS5kLGkuY106W2kuayxpLmxdfShlKSl9YXN5bmMgZnVuY3Rpb24gcyh0LGUscil7Y29uc3Qgcz1uLmdldFN1YnRsZUNyeXB0bygpLGE9YXdhaXQgbyhlLGkuYSksdT1hd2FpdCBzLmVuY3J5cHQoe2l2OnQsbmFtZTppLmF9LGEscik7cmV0dXJuIG5ldyBVaW50OEFycmF5KHUpfWFzeW5jIGZ1bmN0aW9uIGEodCxlLHIpe2NvbnN0IHM9bi5nZXRTdWJ0bGVDcnlwdG8oKSxhPWF3YWl0IG8oZSxpLmEpLHU9YXdhaXQgcy5kZWNyeXB0KHtpdjp0LG5hbWU6aS5hfSxhLHIpO3JldHVybiBuZXcgVWludDhBcnJheSh1KX1hc3luYyBmdW5jdGlvbiB1KHQsZSl7Y29uc3Qgcj1uLmdldFN1YnRsZUNyeXB0bygpLHM9YXdhaXQgbyh0LGkuZSksYT1hd2FpdCByLnNpZ24oe2xlbmd0aDppLmcsbmFtZTppLmV9LHMsZSk7cmV0dXJuIG5ldyBVaW50OEFycmF5KGEpfWFzeW5jIGZ1bmN0aW9uIGModCxlKXtjb25zdCByPW4uZ2V0U3VidGxlQ3J5cHRvKCkscz1hd2FpdCBvKHQsaS5lKSxhPWF3YWl0IHIuc2lnbih7bGVuZ3RoOmkuaCxuYW1lOmkuZX0scyxlKTtyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoYSl9YXN5bmMgZnVuY3Rpb24gZih0KXtjb25zdCBlPW4uZ2V0U3VidGxlQ3J5cHRvKCkscj1hd2FpdCBlLmRpZ2VzdCh7bmFtZTppLml9LHQpO3JldHVybiBuZXcgVWludDhBcnJheShyKX1hc3luYyBmdW5jdGlvbiBoKHQpe2NvbnN0IGU9bi5nZXRTdWJ0bGVDcnlwdG8oKSxyPWF3YWl0IGUuZGlnZXN0KHtuYW1lOmkuan0sdCk7cmV0dXJuIG5ldyBVaW50OEFycmF5KHIpfX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDIyKSxpPXIoMyk7ZnVuY3Rpb24gbyh0LGUpe3JldHVybiA1NTI5Nj09KDY0NTEyJnQuY2hhckNvZGVBdChlKSkmJighKGU8MHx8ZSsxPj10Lmxlbmd0aCkmJjU2MzIwPT0oNjQ1MTImdC5jaGFyQ29kZUF0KGUrMSkpKX1mdW5jdGlvbiBzKHQpe3JldHVybih0Pj4+MjR8dD4+PjgmNjUyODB8dDw8OCYxNjcxMTY4MHwoMjU1JnQpPDwyNCk+Pj4wfWZ1bmN0aW9uIGEodCl7cmV0dXJuIDE9PT10Lmxlbmd0aD8iMCIrdDp0fWZ1bmN0aW9uIHUodCl7cmV0dXJuIDc9PT10Lmxlbmd0aD8iMCIrdDo2PT09dC5sZW5ndGg/IjAwIit0OjU9PT10Lmxlbmd0aD8iMDAwIit0OjQ9PT10Lmxlbmd0aD8iMDAwMCIrdDozPT09dC5sZW5ndGg/IjAwMDAwIit0OjI9PT10Lmxlbmd0aD8iMDAwMDAwIit0OjE9PT10Lmxlbmd0aD8iMDAwMDAwMCIrdDp0fWUuaW5oZXJpdHM9aSxlLnRvQXJyYXk9ZnVuY3Rpb24odCxlKXtpZihBcnJheS5pc0FycmF5KHQpKXJldHVybiB0LnNsaWNlKCk7aWYoIXQpcmV0dXJuW107dmFyIHI9W107aWYoInN0cmluZyI9PXR5cGVvZiB0KWlmKGUpe2lmKCJoZXgiPT09ZSlmb3IoKHQ9dC5yZXBsYWNlKC9bXmEtejAtOV0rL2dpLCIiKSkubGVuZ3RoJTIhPTAmJih0PSIwIit0KSxpPTA7aTx0Lmxlbmd0aDtpKz0yKXIucHVzaChwYXJzZUludCh0W2ldK3RbaSsxXSwxNikpfWVsc2UgZm9yKHZhciBuPTAsaT0wO2k8dC5sZW5ndGg7aSsrKXt2YXIgcz10LmNoYXJDb2RlQXQoaSk7czwxMjg/cltuKytdPXM6czwyMDQ4PyhyW24rK109cz4+NnwxOTIscltuKytdPTYzJnN8MTI4KTpvKHQsaSk/KHM9NjU1MzYrKCgxMDIzJnMpPDwxMCkrKDEwMjMmdC5jaGFyQ29kZUF0KCsraSkpLHJbbisrXT1zPj4xOHwyNDAscltuKytdPXM+PjEyJjYzfDEyOCxyW24rK109cz4+NiY2M3wxMjgscltuKytdPTYzJnN8MTI4KToocltuKytdPXM+PjEyfDIyNCxyW24rK109cz4+NiY2M3wxMjgscltuKytdPTYzJnN8MTI4KX1lbHNlIGZvcihpPTA7aTx0Lmxlbmd0aDtpKyspcltpXT0wfHRbaV07cmV0dXJuIHJ9LGUudG9IZXg9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPSIiLHI9MDtyPHQubGVuZ3RoO3IrKyllKz1hKHRbcl0udG9TdHJpbmcoMTYpKTtyZXR1cm4gZX0sZS5odG9ubD1zLGUudG9IZXgzMj1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj0iIixuPTA7bjx0Lmxlbmd0aDtuKyspe3ZhciBpPXRbbl07ImxpdHRsZSI9PT1lJiYoaT1zKGkpKSxyKz11KGkudG9TdHJpbmcoMTYpKX1yZXR1cm4gcn0sZS56ZXJvMj1hLGUuemVybzg9dSxlLmpvaW4zMj1mdW5jdGlvbih0LGUscixpKXt2YXIgbz1yLWU7bihvJTQ9PTApO2Zvcih2YXIgcz1uZXcgQXJyYXkoby80KSxhPTAsdT1lO2E8cy5sZW5ndGg7YSsrLHUrPTQpe3ZhciBjO2M9ImJpZyI9PT1pP3RbdV08PDI0fHRbdSsxXTw8MTZ8dFt1KzJdPDw4fHRbdSszXTp0W3UrM108PDI0fHRbdSsyXTw8MTZ8dFt1KzFdPDw4fHRbdV0sc1thXT1jPj4+MH1yZXR1cm4gc30sZS5zcGxpdDMyPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPW5ldyBBcnJheSg0KnQubGVuZ3RoKSxuPTAsaT0wO248dC5sZW5ndGg7bisrLGkrPTQpe3ZhciBvPXRbbl07ImJpZyI9PT1lPyhyW2ldPW8+Pj4yNCxyW2krMV09bz4+PjE2JjI1NSxyW2krMl09bz4+PjgmMjU1LHJbaSszXT0yNTUmbyk6KHJbaSszXT1vPj4+MjQscltpKzJdPW8+Pj4xNiYyNTUscltpKzFdPW8+Pj44JjI1NSxyW2ldPTI1NSZvKX1yZXR1cm4gcn0sZS5yb3RyMzI9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdD4+PmV8dDw8MzItZX0sZS5yb3RsMzI9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdDw8ZXx0Pj4+MzItZX0sZS5zdW0zMj1mdW5jdGlvbih0LGUpe3JldHVybiB0K2U+Pj4wfSxlLnN1bTMyXzM9ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0K2Urcj4+PjB9LGUuc3VtMzJfND1mdW5jdGlvbih0LGUscixuKXtyZXR1cm4gdCtlK3Irbj4+PjB9LGUuc3VtMzJfNT1mdW5jdGlvbih0LGUscixuLGkpe3JldHVybiB0K2UrcituK2k+Pj4wfSxlLnN1bTY0PWZ1bmN0aW9uKHQsZSxyLG4pe3ZhciBpPXRbZV0sbz1uK3RbZSsxXT4+PjAscz0obzxuPzE6MCkrcitpO3RbZV09cz4+PjAsdFtlKzFdPW99LGUuc3VtNjRfaGk9ZnVuY3Rpb24odCxlLHIsbil7cmV0dXJuKGUrbj4+PjA8ZT8xOjApK3Qrcj4+PjB9LGUuc3VtNjRfbG89ZnVuY3Rpb24odCxlLHIsbil7cmV0dXJuIGUrbj4+PjB9LGUuc3VtNjRfNF9oaT1mdW5jdGlvbih0LGUscixuLGksbyxzLGEpe3ZhciB1PTAsYz1lO3JldHVybiB1Kz0oYz1jK24+Pj4wKTxlPzE6MCx1Kz0oYz1jK28+Pj4wKTxvPzE6MCx0K3IraStzKyh1Kz0oYz1jK2E+Pj4wKTxhPzE6MCk+Pj4wfSxlLnN1bTY0XzRfbG89ZnVuY3Rpb24odCxlLHIsbixpLG8scyxhKXtyZXR1cm4gZStuK28rYT4+PjB9LGUuc3VtNjRfNV9oaT1mdW5jdGlvbih0LGUscixuLGksbyxzLGEsdSxjKXt2YXIgZj0wLGg9ZTtyZXR1cm4gZis9KGg9aCtuPj4+MCk8ZT8xOjAsZis9KGg9aCtvPj4+MCk8bz8xOjAsZis9KGg9aCthPj4+MCk8YT8xOjAsdCtyK2krcyt1KyhmKz0oaD1oK2M+Pj4wKTxjPzE6MCk+Pj4wfSxlLnN1bTY0XzVfbG89ZnVuY3Rpb24odCxlLHIsbixpLG8scyxhLHUsYyl7cmV0dXJuIGUrbitvK2ErYz4+PjB9LGUucm90cjY0X2hpPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4oZTw8MzItcnx0Pj4+cik+Pj4wfSxlLnJvdHI2NF9sbz1mdW5jdGlvbih0LGUscil7cmV0dXJuKHQ8PDMyLXJ8ZT4+PnIpPj4+MH0sZS5zaHI2NF9oaT1mdW5jdGlvbih0LGUscil7cmV0dXJuIHQ+Pj5yfSxlLnNocjY0X2xvPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4odDw8MzItcnxlPj4+cik+Pj4wfX0sZnVuY3Rpb24odCxlLHIpeyhmdW5jdGlvbih0KXshZnVuY3Rpb24odCxlKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbih0LGUpe2lmKCF0KXRocm93IG5ldyBFcnJvcihlfHwiQXNzZXJ0aW9uIGZhaWxlZCIpfWZ1bmN0aW9uIGkodCxlKXt0LnN1cGVyXz1lO3ZhciByPWZ1bmN0aW9uKCl7fTtyLnByb3RvdHlwZT1lLnByb3RvdHlwZSx0LnByb3RvdHlwZT1uZXcgcix0LnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj10fWZ1bmN0aW9uIG8odCxlLHIpe2lmKG8uaXNCTih0KSlyZXR1cm4gdDt0aGlzLm5lZ2F0aXZlPTAsdGhpcy53b3Jkcz1udWxsLHRoaXMubGVuZ3RoPTAsdGhpcy5yZWQ9bnVsbCxudWxsIT09dCYmKCJsZSIhPT1lJiYiYmUiIT09ZXx8KHI9ZSxlPTEwKSx0aGlzLl9pbml0KHR8fDAsZXx8MTAscnx8ImJlIikpfXZhciBzOyJvYmplY3QiPT10eXBlb2YgdD90LmV4cG9ydHM9bzplLkJOPW8sby5CTj1vLG8ud29yZFNpemU9MjY7dHJ5e3M9InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cmJnZvaWQgMCE9PXdpbmRvdy5CdWZmZXI/d2luZG93LkJ1ZmZlcjpyKDI0NSkuQnVmZmVyfWNhdGNoKHQpe31mdW5jdGlvbiBhKHQsZSl7dmFyIHI9dC5jaGFyQ29kZUF0KGUpO3JldHVybiByPj02NSYmcjw9NzA/ci01NTpyPj05NyYmcjw9MTAyP3ItODc6ci00OCYxNX1mdW5jdGlvbiB1KHQsZSxyKXt2YXIgbj1hKHQscik7cmV0dXJuIHItMT49ZSYmKG58PWEodCxyLTEpPDw0KSxufWZ1bmN0aW9uIGModCxlLHIsbil7Zm9yKHZhciBpPTAsbz1NYXRoLm1pbih0Lmxlbmd0aCxyKSxzPWU7czxvO3MrKyl7dmFyIGE9dC5jaGFyQ29kZUF0KHMpLTQ4O2kqPW4saSs9YT49NDk/YS00OSsxMDphPj0xNz9hLTE3KzEwOmF9cmV0dXJuIGl9by5pc0JOPWZ1bmN0aW9uKHQpe3JldHVybiB0IGluc3RhbmNlb2Ygb3x8bnVsbCE9PXQmJiJvYmplY3QiPT10eXBlb2YgdCYmdC5jb25zdHJ1Y3Rvci53b3JkU2l6ZT09PW8ud29yZFNpemUmJkFycmF5LmlzQXJyYXkodC53b3Jkcyl9LG8ubWF4PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQuY21wKGUpPjA/dDplfSxvLm1pbj1mdW5jdGlvbih0LGUpe3JldHVybiB0LmNtcChlKTwwP3Q6ZX0sby5wcm90b3R5cGUuX2luaXQ9ZnVuY3Rpb24odCxlLHIpe2lmKCJudW1iZXIiPT10eXBlb2YgdClyZXR1cm4gdGhpcy5faW5pdE51bWJlcih0LGUscik7aWYoIm9iamVjdCI9PXR5cGVvZiB0KXJldHVybiB0aGlzLl9pbml0QXJyYXkodCxlLHIpOyJoZXgiPT09ZSYmKGU9MTYpLG4oZT09PSgwfGUpJiZlPj0yJiZlPD0zNik7dmFyIGk9MDsiLSI9PT0odD10LnRvU3RyaW5nKCkucmVwbGFjZSgvXHMrL2csIiIpKVswXSYmKGkrKyx0aGlzLm5lZ2F0aXZlPTEpLGk8dC5sZW5ndGgmJigxNj09PWU/dGhpcy5fcGFyc2VIZXgodCxpLHIpOih0aGlzLl9wYXJzZUJhc2UodCxlLGkpLCJsZSI9PT1yJiZ0aGlzLl9pbml0QXJyYXkodGhpcy50b0FycmF5KCksZSxyKSkpfSxvLnByb3RvdHlwZS5faW5pdE51bWJlcj1mdW5jdGlvbih0LGUscil7dDwwJiYodGhpcy5uZWdhdGl2ZT0xLHQ9LXQpLHQ8NjcxMDg4NjQ/KHRoaXMud29yZHM9WzY3MTA4ODYzJnRdLHRoaXMubGVuZ3RoPTEpOnQ8NDUwMzU5OTYyNzM3MDQ5Nj8odGhpcy53b3Jkcz1bNjcxMDg4NjMmdCx0LzY3MTA4ODY0JjY3MTA4ODYzXSx0aGlzLmxlbmd0aD0yKToobih0PDkwMDcxOTkyNTQ3NDA5OTIpLHRoaXMud29yZHM9WzY3MTA4ODYzJnQsdC82NzEwODg2NCY2NzEwODg2MywxXSx0aGlzLmxlbmd0aD0zKSwibGUiPT09ciYmdGhpcy5faW5pdEFycmF5KHRoaXMudG9BcnJheSgpLGUscil9LG8ucHJvdG90eXBlLl9pbml0QXJyYXk9ZnVuY3Rpb24odCxlLHIpe2lmKG4oIm51bWJlciI9PXR5cGVvZiB0Lmxlbmd0aCksdC5sZW5ndGg8PTApcmV0dXJuIHRoaXMud29yZHM9WzBdLHRoaXMubGVuZ3RoPTEsdGhpczt0aGlzLmxlbmd0aD1NYXRoLmNlaWwodC5sZW5ndGgvMyksdGhpcy53b3Jkcz1uZXcgQXJyYXkodGhpcy5sZW5ndGgpO2Zvcih2YXIgaT0wO2k8dGhpcy5sZW5ndGg7aSsrKXRoaXMud29yZHNbaV09MDt2YXIgbyxzLGE9MDtpZigiYmUiPT09cilmb3IoaT10Lmxlbmd0aC0xLG89MDtpPj0wO2ktPTMpcz10W2ldfHRbaS0xXTw8OHx0W2ktMl08PDE2LHRoaXMud29yZHNbb118PXM8PGEmNjcxMDg4NjMsdGhpcy53b3Jkc1tvKzFdPXM+Pj4yNi1hJjY3MTA4ODYzLChhKz0yNCk+PTI2JiYoYS09MjYsbysrKTtlbHNlIGlmKCJsZSI9PT1yKWZvcihpPTAsbz0wO2k8dC5sZW5ndGg7aSs9MylzPXRbaV18dFtpKzFdPDw4fHRbaSsyXTw8MTYsdGhpcy53b3Jkc1tvXXw9czw8YSY2NzEwODg2Myx0aGlzLndvcmRzW28rMV09cz4+PjI2LWEmNjcxMDg4NjMsKGErPTI0KT49MjYmJihhLT0yNixvKyspO3JldHVybiB0aGlzLnN0cmlwKCl9LG8ucHJvdG90eXBlLl9wYXJzZUhleD1mdW5jdGlvbih0LGUscil7dGhpcy5sZW5ndGg9TWF0aC5jZWlsKCh0Lmxlbmd0aC1lKS82KSx0aGlzLndvcmRzPW5ldyBBcnJheSh0aGlzLmxlbmd0aCk7Zm9yKHZhciBuPTA7bjx0aGlzLmxlbmd0aDtuKyspdGhpcy53b3Jkc1tuXT0wO3ZhciBpLG89MCxzPTA7aWYoImJlIj09PXIpZm9yKG49dC5sZW5ndGgtMTtuPj1lO24tPTIpaT11KHQsZSxuKTw8byx0aGlzLndvcmRzW3NdfD02NzEwODg2MyZpLG8+PTE4PyhvLT0xOCxzKz0xLHRoaXMud29yZHNbc118PWk+Pj4yNik6bys9ODtlbHNlIGZvcihuPSh0Lmxlbmd0aC1lKSUyPT0wP2UrMTplO248dC5sZW5ndGg7bis9MilpPXUodCxlLG4pPDxvLHRoaXMud29yZHNbc118PTY3MTA4ODYzJmksbz49MTg/KG8tPTE4LHMrPTEsdGhpcy53b3Jkc1tzXXw9aT4+PjI2KTpvKz04O3RoaXMuc3RyaXAoKX0sby5wcm90b3R5cGUuX3BhcnNlQmFzZT1mdW5jdGlvbih0LGUscil7dGhpcy53b3Jkcz1bMF0sdGhpcy5sZW5ndGg9MTtmb3IodmFyIG49MCxpPTE7aTw9NjcxMDg4NjM7aSo9ZSluKys7bi0tLGk9aS9lfDA7Zm9yKHZhciBvPXQubGVuZ3RoLXIscz1vJW4sYT1NYXRoLm1pbihvLG8tcykrcix1PTAsZj1yO2Y8YTtmKz1uKXU9Yyh0LGYsZituLGUpLHRoaXMuaW11bG4oaSksdGhpcy53b3Jkc1swXSt1PDY3MTA4ODY0P3RoaXMud29yZHNbMF0rPXU6dGhpcy5faWFkZG4odSk7aWYoMCE9PXMpe3ZhciBoPTE7Zm9yKHU9Yyh0LGYsdC5sZW5ndGgsZSksZj0wO2Y8cztmKyspaCo9ZTt0aGlzLmltdWxuKGgpLHRoaXMud29yZHNbMF0rdTw2NzEwODg2ND90aGlzLndvcmRzWzBdKz11OnRoaXMuX2lhZGRuKHUpfXRoaXMuc3RyaXAoKX0sby5wcm90b3R5cGUuY29weT1mdW5jdGlvbih0KXt0LndvcmRzPW5ldyBBcnJheSh0aGlzLmxlbmd0aCk7Zm9yKHZhciBlPTA7ZTx0aGlzLmxlbmd0aDtlKyspdC53b3Jkc1tlXT10aGlzLndvcmRzW2VdO3QubGVuZ3RoPXRoaXMubGVuZ3RoLHQubmVnYXRpdmU9dGhpcy5uZWdhdGl2ZSx0LnJlZD10aGlzLnJlZH0sby5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXt2YXIgdD1uZXcgbyhudWxsKTtyZXR1cm4gdGhpcy5jb3B5KHQpLHR9LG8ucHJvdG90eXBlLl9leHBhbmQ9ZnVuY3Rpb24odCl7Zm9yKDt0aGlzLmxlbmd0aDx0Oyl0aGlzLndvcmRzW3RoaXMubGVuZ3RoKytdPTA7cmV0dXJuIHRoaXN9LG8ucHJvdG90eXBlLnN0cmlwPWZ1bmN0aW9uKCl7Zm9yKDt0aGlzLmxlbmd0aD4xJiYwPT09dGhpcy53b3Jkc1t0aGlzLmxlbmd0aC0xXTspdGhpcy5sZW5ndGgtLTtyZXR1cm4gdGhpcy5fbm9ybVNpZ24oKX0sby5wcm90b3R5cGUuX25vcm1TaWduPWZ1bmN0aW9uKCl7cmV0dXJuIDE9PT10aGlzLmxlbmd0aCYmMD09PXRoaXMud29yZHNbMF0mJih0aGlzLm5lZ2F0aXZlPTApLHRoaXN9LG8ucHJvdG90eXBlLmluc3BlY3Q9ZnVuY3Rpb24oKXtyZXR1cm4odGhpcy5yZWQ/IjxCTi1SOiAiOiI8Qk46ICIpK3RoaXMudG9TdHJpbmcoMTYpKyI+In07dmFyIGY9WyIiLCIwIiwiMDAiLCIwMDAiLCIwMDAwIiwiMDAwMDAiLCIwMDAwMDAiLCIwMDAwMDAwIiwiMDAwMDAwMDAiLCIwMDAwMDAwMDAiLCIwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIl0saD1bMCwwLDI1LDE2LDEyLDExLDEwLDksOCw4LDcsNyw3LDcsNiw2LDYsNiw2LDYsNiw1LDUsNSw1LDUsNSw1LDUsNSw1LDUsNSw1LDUsNSw1XSxsPVswLDAsMzM1NTQ0MzIsNDMwNDY3MjEsMTY3NzcyMTYsNDg4MjgxMjUsNjA0NjYxNzYsNDAzNTM2MDcsMTY3NzcyMTYsNDMwNDY3MjEsMWU3LDE5NDg3MTcxLDM1ODMxODA4LDYyNzQ4NTE3LDc1Mjk1MzYsMTEzOTA2MjUsMTY3NzcyMTYsMjQxMzc1NjksMzQwMTIyMjQsNDcwNDU4ODEsNjRlNiw0MDg0MTAxLDUxNTM2MzIsNjQzNjM0Myw3OTYyNjI0LDk3NjU2MjUsMTE4ODEzNzYsMTQzNDg5MDcsMTcyMTAzNjgsMjA1MTExNDksMjQzZTUsMjg2MjkxNTEsMzM1NTQ0MzIsMzkxMzUzOTMsNDU0MzU0MjQsNTI1MjE4NzUsNjA0NjYxNzZdO2Z1bmN0aW9uIGQodCxlLHIpe3IubmVnYXRpdmU9ZS5uZWdhdGl2ZV50Lm5lZ2F0aXZlO3ZhciBuPXQubGVuZ3RoK2UubGVuZ3RofDA7ci5sZW5ndGg9bixuPW4tMXwwO3ZhciBpPTB8dC53b3Jkc1swXSxvPTB8ZS53b3Jkc1swXSxzPWkqbyxhPTY3MTA4ODYzJnMsdT1zLzY3MTA4ODY0fDA7ci53b3Jkc1swXT1hO2Zvcih2YXIgYz0xO2M8bjtjKyspe2Zvcih2YXIgZj11Pj4+MjYsaD02NzEwODg2MyZ1LGw9TWF0aC5taW4oYyxlLmxlbmd0aC0xKSxkPU1hdGgubWF4KDAsYy10Lmxlbmd0aCsxKTtkPD1sO2QrKyl7dmFyIHA9Yy1kfDA7Zis9KHM9KGk9MHx0LndvcmRzW3BdKSoobz0wfGUud29yZHNbZF0pK2gpLzY3MTA4ODY0fDAsaD02NzEwODg2MyZzfXIud29yZHNbY109MHxoLHU9MHxmfXJldHVybiAwIT09dT9yLndvcmRzW2NdPTB8dTpyLmxlbmd0aC0tLHIuc3RyaXAoKX1vLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbih0LGUpe3ZhciByO2lmKGU9MHxlfHwxLDE2PT09KHQ9dHx8MTApfHwiaGV4Ij09PXQpe3I9IiI7Zm9yKHZhciBpPTAsbz0wLHM9MDtzPHRoaXMubGVuZ3RoO3MrKyl7dmFyIGE9dGhpcy53b3Jkc1tzXSx1PSgxNjc3NzIxNSYoYTw8aXxvKSkudG9TdHJpbmcoMTYpO3I9MCE9PShvPWE+Pj4yNC1pJjE2Nzc3MjE1KXx8cyE9PXRoaXMubGVuZ3RoLTE/Zls2LXUubGVuZ3RoXSt1K3I6dStyLChpKz0yKT49MjYmJihpLT0yNixzLS0pfWZvcigwIT09byYmKHI9by50b1N0cmluZygxNikrcik7ci5sZW5ndGglZSE9MDspcj0iMCIrcjtyZXR1cm4gMCE9PXRoaXMubmVnYXRpdmUmJihyPSItIityKSxyfWlmKHQ9PT0oMHx0KSYmdD49MiYmdDw9MzYpe3ZhciBjPWhbdF0sZD1sW3RdO3I9IiI7dmFyIHA9dGhpcy5jbG9uZSgpO2ZvcihwLm5lZ2F0aXZlPTA7IXAuaXNaZXJvKCk7KXt2YXIgbT1wLm1vZG4oZCkudG9TdHJpbmcodCk7cj0ocD1wLmlkaXZuKGQpKS5pc1plcm8oKT9tK3I6ZltjLW0ubGVuZ3RoXSttK3J9Zm9yKHRoaXMuaXNaZXJvKCkmJihyPSIwIityKTtyLmxlbmd0aCVlIT0wOylyPSIwIityO3JldHVybiAwIT09dGhpcy5uZWdhdGl2ZSYmKHI9Ii0iK3IpLHJ9bighMSwiQmFzZSBzaG91bGQgYmUgYmV0d2VlbiAyIGFuZCAzNiIpfSxvLnByb3RvdHlwZS50b051bWJlcj1mdW5jdGlvbigpe3ZhciB0PXRoaXMud29yZHNbMF07cmV0dXJuIDI9PT10aGlzLmxlbmd0aD90Kz02NzEwODg2NCp0aGlzLndvcmRzWzFdOjM9PT10aGlzLmxlbmd0aCYmMT09PXRoaXMud29yZHNbMl0/dCs9NDUwMzU5OTYyNzM3MDQ5Nis2NzEwODg2NCp0aGlzLndvcmRzWzFdOnRoaXMubGVuZ3RoPjImJm4oITEsIk51bWJlciBjYW4gb25seSBzYWZlbHkgc3RvcmUgdXAgdG8gNTMgYml0cyIpLDAhPT10aGlzLm5lZ2F0aXZlPy10OnR9LG8ucHJvdG90eXBlLnRvSlNPTj1mdW5jdGlvbigpe3JldHVybiB0aGlzLnRvU3RyaW5nKDE2KX0sby5wcm90b3R5cGUudG9CdWZmZXI9ZnVuY3Rpb24odCxlKXtyZXR1cm4gbih2b2lkIDAhPT1zKSx0aGlzLnRvQXJyYXlMaWtlKHMsdCxlKX0sby5wcm90b3R5cGUudG9BcnJheT1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLnRvQXJyYXlMaWtlKEFycmF5LHQsZSl9LG8ucHJvdG90eXBlLnRvQXJyYXlMaWtlPWZ1bmN0aW9uKHQsZSxyKXt2YXIgaT10aGlzLmJ5dGVMZW5ndGgoKSxvPXJ8fE1hdGgubWF4KDEsaSk7bihpPD1vLCJieXRlIGFycmF5IGxvbmdlciB0aGFuIGRlc2lyZWQgbGVuZ3RoIiksbihvPjAsIlJlcXVlc3RlZCBhcnJheSBsZW5ndGggPD0gMCIpLHRoaXMuc3RyaXAoKTt2YXIgcyxhLHU9ImxlIj09PWUsYz1uZXcgdChvKSxmPXRoaXMuY2xvbmUoKTtpZih1KXtmb3IoYT0wOyFmLmlzWmVybygpO2ErKylzPWYuYW5kbG4oMjU1KSxmLml1c2hybig4KSxjW2FdPXM7Zm9yKDthPG87YSsrKWNbYV09MH1lbHNle2ZvcihhPTA7YTxvLWk7YSsrKWNbYV09MDtmb3IoYT0wOyFmLmlzWmVybygpO2ErKylzPWYuYW5kbG4oMjU1KSxmLml1c2hybig4KSxjW28tYS0xXT1zfXJldHVybiBjfSxNYXRoLmNsejMyP28ucHJvdG90eXBlLl9jb3VudEJpdHM9ZnVuY3Rpb24odCl7cmV0dXJuIDMyLU1hdGguY2x6MzIodCl9Om8ucHJvdG90eXBlLl9jb3VudEJpdHM9ZnVuY3Rpb24odCl7dmFyIGU9dCxyPTA7cmV0dXJuIGU+PTQwOTYmJihyKz0xMyxlPj4+PTEzKSxlPj02NCYmKHIrPTcsZT4+Pj03KSxlPj04JiYocis9NCxlPj4+PTQpLGU+PTImJihyKz0yLGU+Pj49MikscitlfSxvLnByb3RvdHlwZS5femVyb0JpdHM9ZnVuY3Rpb24odCl7aWYoMD09PXQpcmV0dXJuIDI2O3ZhciBlPXQscj0wO3JldHVybiAwPT0oODE5MSZlKSYmKHIrPTEzLGU+Pj49MTMpLDA9PSgxMjcmZSkmJihyKz03LGU+Pj49NyksMD09KDE1JmUpJiYocis9NCxlPj4+PTQpLDA9PSgzJmUpJiYocis9MixlPj4+PTIpLDA9PSgxJmUpJiZyKysscn0sby5wcm90b3R5cGUuYml0TGVuZ3RoPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy53b3Jkc1t0aGlzLmxlbmd0aC0xXSxlPXRoaXMuX2NvdW50Qml0cyh0KTtyZXR1cm4gMjYqKHRoaXMubGVuZ3RoLTEpK2V9LG8ucHJvdG90eXBlLnplcm9CaXRzPWZ1bmN0aW9uKCl7aWYodGhpcy5pc1plcm8oKSlyZXR1cm4gMDtmb3IodmFyIHQ9MCxlPTA7ZTx0aGlzLmxlbmd0aDtlKyspe3ZhciByPXRoaXMuX3plcm9CaXRzKHRoaXMud29yZHNbZV0pO2lmKHQrPXIsMjYhPT1yKWJyZWFrfXJldHVybiB0fSxvLnByb3RvdHlwZS5ieXRlTGVuZ3RoPWZ1bmN0aW9uKCl7cmV0dXJuIE1hdGguY2VpbCh0aGlzLmJpdExlbmd0aCgpLzgpfSxvLnByb3RvdHlwZS50b1R3b3M9ZnVuY3Rpb24odCl7cmV0dXJuIDAhPT10aGlzLm5lZ2F0aXZlP3RoaXMuYWJzKCkuaW5vdG4odCkuaWFkZG4oMSk6dGhpcy5jbG9uZSgpfSxvLnByb3RvdHlwZS5mcm9tVHdvcz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy50ZXN0bih0LTEpP3RoaXMubm90bih0KS5pYWRkbigxKS5pbmVnKCk6dGhpcy5jbG9uZSgpfSxvLnByb3RvdHlwZS5pc05lZz1mdW5jdGlvbigpe3JldHVybiAwIT09dGhpcy5uZWdhdGl2ZX0sby5wcm90b3R5cGUubmVnPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pbmVnKCl9LG8ucHJvdG90eXBlLmluZWc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pc1plcm8oKXx8KHRoaXMubmVnYXRpdmVePTEpLHRoaXN9LG8ucHJvdG90eXBlLml1b3I9ZnVuY3Rpb24odCl7Zm9yKDt0aGlzLmxlbmd0aDx0Lmxlbmd0aDspdGhpcy53b3Jkc1t0aGlzLmxlbmd0aCsrXT0wO2Zvcih2YXIgZT0wO2U8dC5sZW5ndGg7ZSsrKXRoaXMud29yZHNbZV09dGhpcy53b3Jkc1tlXXx0LndvcmRzW2VdO3JldHVybiB0aGlzLnN0cmlwKCl9LG8ucHJvdG90eXBlLmlvcj1mdW5jdGlvbih0KXtyZXR1cm4gbigwPT0odGhpcy5uZWdhdGl2ZXx0Lm5lZ2F0aXZlKSksdGhpcy5pdW9yKHQpfSxvLnByb3RvdHlwZS5vcj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5sZW5ndGg+dC5sZW5ndGg/dGhpcy5jbG9uZSgpLmlvcih0KTp0LmNsb25lKCkuaW9yKHRoaXMpfSxvLnByb3RvdHlwZS51b3I9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMubGVuZ3RoPnQubGVuZ3RoP3RoaXMuY2xvbmUoKS5pdW9yKHQpOnQuY2xvbmUoKS5pdW9yKHRoaXMpfSxvLnByb3RvdHlwZS5pdWFuZD1mdW5jdGlvbih0KXt2YXIgZTtlPXRoaXMubGVuZ3RoPnQubGVuZ3RoP3Q6dGhpcztmb3IodmFyIHI9MDtyPGUubGVuZ3RoO3IrKyl0aGlzLndvcmRzW3JdPXRoaXMud29yZHNbcl0mdC53b3Jkc1tyXTtyZXR1cm4gdGhpcy5sZW5ndGg9ZS5sZW5ndGgsdGhpcy5zdHJpcCgpfSxvLnByb3RvdHlwZS5pYW5kPWZ1bmN0aW9uKHQpe3JldHVybiBuKDA9PSh0aGlzLm5lZ2F0aXZlfHQubmVnYXRpdmUpKSx0aGlzLml1YW5kKHQpfSxvLnByb3RvdHlwZS5hbmQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMubGVuZ3RoPnQubGVuZ3RoP3RoaXMuY2xvbmUoKS5pYW5kKHQpOnQuY2xvbmUoKS5pYW5kKHRoaXMpfSxvLnByb3RvdHlwZS51YW5kPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmxlbmd0aD50Lmxlbmd0aD90aGlzLmNsb25lKCkuaXVhbmQodCk6dC5jbG9uZSgpLml1YW5kKHRoaXMpfSxvLnByb3RvdHlwZS5pdXhvcj1mdW5jdGlvbih0KXt2YXIgZSxyO3RoaXMubGVuZ3RoPnQubGVuZ3RoPyhlPXRoaXMscj10KTooZT10LHI9dGhpcyk7Zm9yKHZhciBuPTA7bjxyLmxlbmd0aDtuKyspdGhpcy53b3Jkc1tuXT1lLndvcmRzW25dXnIud29yZHNbbl07aWYodGhpcyE9PWUpZm9yKDtuPGUubGVuZ3RoO24rKyl0aGlzLndvcmRzW25dPWUud29yZHNbbl07cmV0dXJuIHRoaXMubGVuZ3RoPWUubGVuZ3RoLHRoaXMuc3RyaXAoKX0sby5wcm90b3R5cGUuaXhvcj1mdW5jdGlvbih0KXtyZXR1cm4gbigwPT0odGhpcy5uZWdhdGl2ZXx0Lm5lZ2F0aXZlKSksdGhpcy5pdXhvcih0KX0sby5wcm90b3R5cGUueG9yPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmxlbmd0aD50Lmxlbmd0aD90aGlzLmNsb25lKCkuaXhvcih0KTp0LmNsb25lKCkuaXhvcih0aGlzKX0sby5wcm90b3R5cGUudXhvcj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5sZW5ndGg+dC5sZW5ndGg/dGhpcy5jbG9uZSgpLml1eG9yKHQpOnQuY2xvbmUoKS5pdXhvcih0aGlzKX0sby5wcm90b3R5cGUuaW5vdG49ZnVuY3Rpb24odCl7bigibnVtYmVyIj09dHlwZW9mIHQmJnQ+PTApO3ZhciBlPTB8TWF0aC5jZWlsKHQvMjYpLHI9dCUyNjt0aGlzLl9leHBhbmQoZSkscj4wJiZlLS07Zm9yKHZhciBpPTA7aTxlO2krKyl0aGlzLndvcmRzW2ldPTY3MTA4ODYzJn50aGlzLndvcmRzW2ldO3JldHVybiByPjAmJih0aGlzLndvcmRzW2ldPX50aGlzLndvcmRzW2ldJjY3MTA4ODYzPj4yNi1yKSx0aGlzLnN0cmlwKCl9LG8ucHJvdG90eXBlLm5vdG49ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pbm90bih0KX0sby5wcm90b3R5cGUuc2V0bj1mdW5jdGlvbih0LGUpe24oIm51bWJlciI9PXR5cGVvZiB0JiZ0Pj0wKTt2YXIgcj10LzI2fDAsaT10JTI2O3JldHVybiB0aGlzLl9leHBhbmQocisxKSx0aGlzLndvcmRzW3JdPWU/dGhpcy53b3Jkc1tyXXwxPDxpOnRoaXMud29yZHNbcl0mfigxPDxpKSx0aGlzLnN0cmlwKCl9LG8ucHJvdG90eXBlLmlhZGQ9ZnVuY3Rpb24odCl7dmFyIGUscixuO2lmKDAhPT10aGlzLm5lZ2F0aXZlJiYwPT09dC5uZWdhdGl2ZSlyZXR1cm4gdGhpcy5uZWdhdGl2ZT0wLGU9dGhpcy5pc3ViKHQpLHRoaXMubmVnYXRpdmVePTEsdGhpcy5fbm9ybVNpZ24oKTtpZigwPT09dGhpcy5uZWdhdGl2ZSYmMCE9PXQubmVnYXRpdmUpcmV0dXJuIHQubmVnYXRpdmU9MCxlPXRoaXMuaXN1Yih0KSx0Lm5lZ2F0aXZlPTEsZS5fbm9ybVNpZ24oKTt0aGlzLmxlbmd0aD50Lmxlbmd0aD8ocj10aGlzLG49dCk6KHI9dCxuPXRoaXMpO2Zvcih2YXIgaT0wLG89MDtvPG4ubGVuZ3RoO28rKyllPSgwfHIud29yZHNbb10pKygwfG4ud29yZHNbb10pK2ksdGhpcy53b3Jkc1tvXT02NzEwODg2MyZlLGk9ZT4+PjI2O2Zvcig7MCE9PWkmJm88ci5sZW5ndGg7bysrKWU9KDB8ci53b3Jkc1tvXSkraSx0aGlzLndvcmRzW29dPTY3MTA4ODYzJmUsaT1lPj4+MjY7aWYodGhpcy5sZW5ndGg9ci5sZW5ndGgsMCE9PWkpdGhpcy53b3Jkc1t0aGlzLmxlbmd0aF09aSx0aGlzLmxlbmd0aCsrO2Vsc2UgaWYociE9PXRoaXMpZm9yKDtvPHIubGVuZ3RoO28rKyl0aGlzLndvcmRzW29dPXIud29yZHNbb107cmV0dXJuIHRoaXN9LG8ucHJvdG90eXBlLmFkZD1mdW5jdGlvbih0KXt2YXIgZTtyZXR1cm4gMCE9PXQubmVnYXRpdmUmJjA9PT10aGlzLm5lZ2F0aXZlPyh0Lm5lZ2F0aXZlPTAsZT10aGlzLnN1Yih0KSx0Lm5lZ2F0aXZlXj0xLGUpOjA9PT10Lm5lZ2F0aXZlJiYwIT09dGhpcy5uZWdhdGl2ZT8odGhpcy5uZWdhdGl2ZT0wLGU9dC5zdWIodGhpcyksdGhpcy5uZWdhdGl2ZT0xLGUpOnRoaXMubGVuZ3RoPnQubGVuZ3RoP3RoaXMuY2xvbmUoKS5pYWRkKHQpOnQuY2xvbmUoKS5pYWRkKHRoaXMpfSxvLnByb3RvdHlwZS5pc3ViPWZ1bmN0aW9uKHQpe2lmKDAhPT10Lm5lZ2F0aXZlKXt0Lm5lZ2F0aXZlPTA7dmFyIGU9dGhpcy5pYWRkKHQpO3JldHVybiB0Lm5lZ2F0aXZlPTEsZS5fbm9ybVNpZ24oKX1pZigwIT09dGhpcy5uZWdhdGl2ZSlyZXR1cm4gdGhpcy5uZWdhdGl2ZT0wLHRoaXMuaWFkZCh0KSx0aGlzLm5lZ2F0aXZlPTEsdGhpcy5fbm9ybVNpZ24oKTt2YXIgcixuLGk9dGhpcy5jbXAodCk7aWYoMD09PWkpcmV0dXJuIHRoaXMubmVnYXRpdmU9MCx0aGlzLmxlbmd0aD0xLHRoaXMud29yZHNbMF09MCx0aGlzO2k+MD8ocj10aGlzLG49dCk6KHI9dCxuPXRoaXMpO2Zvcih2YXIgbz0wLHM9MDtzPG4ubGVuZ3RoO3MrKylvPShlPSgwfHIud29yZHNbc10pLSgwfG4ud29yZHNbc10pK28pPj4yNix0aGlzLndvcmRzW3NdPTY3MTA4ODYzJmU7Zm9yKDswIT09byYmczxyLmxlbmd0aDtzKyspbz0oZT0oMHxyLndvcmRzW3NdKStvKT4+MjYsdGhpcy53b3Jkc1tzXT02NzEwODg2MyZlO2lmKDA9PT1vJiZzPHIubGVuZ3RoJiZyIT09dGhpcylmb3IoO3M8ci5sZW5ndGg7cysrKXRoaXMud29yZHNbc109ci53b3Jkc1tzXTtyZXR1cm4gdGhpcy5sZW5ndGg9TWF0aC5tYXgodGhpcy5sZW5ndGgscyksciE9PXRoaXMmJih0aGlzLm5lZ2F0aXZlPTEpLHRoaXMuc3RyaXAoKX0sby5wcm90b3R5cGUuc3ViPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNsb25lKCkuaXN1Yih0KX07dmFyIHA9ZnVuY3Rpb24odCxlLHIpe3ZhciBuLGksbyxzPXQud29yZHMsYT1lLndvcmRzLHU9ci53b3JkcyxjPTAsZj0wfHNbMF0saD04MTkxJmYsbD1mPj4+MTMsZD0wfHNbMV0scD04MTkxJmQsbT1kPj4+MTMsZz0wfHNbMl0sYj04MTkxJmcseT1nPj4+MTMsdj0wfHNbM10sXz04MTkxJnYsdz12Pj4+MTMsTT0wfHNbNF0sUz04MTkxJk0sRT1NPj4+MTMseD0wfHNbNV0saz04MTkxJngsQT14Pj4+MTMsUj0wfHNbNl0sVD04MTkxJlIsTz1SPj4+MTMsQz0wfHNbN10sUD04MTkxJkMsST1DPj4+MTMsQj0wfHNbOF0sTD04MTkxJkIsaj1CPj4+MTMsTj0wfHNbOV0scT04MTkxJk4sVT1OPj4+MTMsRD0wfGFbMF0sej04MTkxJkQsSD1EPj4+MTMsRj0wfGFbMV0sVz04MTkxJkYsSz1GPj4+MTMsVj0wfGFbMl0sSj04MTkxJlYsWT1WPj4+MTMsRz0wfGFbM10sWj04MTkxJkcsJD1HPj4+MTMsWD0wfGFbNF0sUT04MTkxJlgsdHQ9WD4+PjEzLGV0PTB8YVs1XSxydD04MTkxJmV0LG50PWV0Pj4+MTMsaXQ9MHxhWzZdLG90PTgxOTEmaXQsc3Q9aXQ+Pj4xMyxhdD0wfGFbN10sdXQ9ODE5MSZhdCxjdD1hdD4+PjEzLGZ0PTB8YVs4XSxodD04MTkxJmZ0LGx0PWZ0Pj4+MTMsZHQ9MHxhWzldLHB0PTgxOTEmZHQsbXQ9ZHQ+Pj4xMztyLm5lZ2F0aXZlPXQubmVnYXRpdmVeZS5uZWdhdGl2ZSxyLmxlbmd0aD0xOTt2YXIgZ3Q9KGMrKG49TWF0aC5pbXVsKGgseikpfDApKygoODE5MSYoaT0oaT1NYXRoLmltdWwoaCxIKSkrTWF0aC5pbXVsKGwseil8MCkpPDwxMyl8MDtjPSgobz1NYXRoLmltdWwobCxIKSkrKGk+Pj4xMyl8MCkrKGd0Pj4+MjYpfDAsZ3QmPTY3MTA4ODYzLG49TWF0aC5pbXVsKHAseiksaT0oaT1NYXRoLmltdWwocCxIKSkrTWF0aC5pbXVsKG0seil8MCxvPU1hdGguaW11bChtLEgpO3ZhciBidD0oYysobj1uK01hdGguaW11bChoLFcpfDApfDApKygoODE5MSYoaT0oaT1pK01hdGguaW11bChoLEspfDApK01hdGguaW11bChsLFcpfDApKTw8MTMpfDA7Yz0oKG89bytNYXRoLmltdWwobCxLKXwwKSsoaT4+PjEzKXwwKSsoYnQ+Pj4yNil8MCxidCY9NjcxMDg4NjMsbj1NYXRoLmltdWwoYix6KSxpPShpPU1hdGguaW11bChiLEgpKStNYXRoLmltdWwoeSx6KXwwLG89TWF0aC5pbXVsKHksSCksbj1uK01hdGguaW11bChwLFcpfDAsaT0oaT1pK01hdGguaW11bChwLEspfDApK01hdGguaW11bChtLFcpfDAsbz1vK01hdGguaW11bChtLEspfDA7dmFyIHl0PShjKyhuPW4rTWF0aC5pbXVsKGgsSil8MCl8MCkrKCg4MTkxJihpPShpPWkrTWF0aC5pbXVsKGgsWSl8MCkrTWF0aC5pbXVsKGwsSil8MCkpPDwxMyl8MDtjPSgobz1vK01hdGguaW11bChsLFkpfDApKyhpPj4+MTMpfDApKyh5dD4+PjI2KXwwLHl0Jj02NzEwODg2MyxuPU1hdGguaW11bChfLHopLGk9KGk9TWF0aC5pbXVsKF8sSCkpK01hdGguaW11bCh3LHopfDAsbz1NYXRoLmltdWwodyxIKSxuPW4rTWF0aC5pbXVsKGIsVyl8MCxpPShpPWkrTWF0aC5pbXVsKGIsSyl8MCkrTWF0aC5pbXVsKHksVyl8MCxvPW8rTWF0aC5pbXVsKHksSyl8MCxuPW4rTWF0aC5pbXVsKHAsSil8MCxpPShpPWkrTWF0aC5pbXVsKHAsWSl8MCkrTWF0aC5pbXVsKG0sSil8MCxvPW8rTWF0aC5pbXVsKG0sWSl8MDt2YXIgdnQ9KGMrKG49bitNYXRoLmltdWwoaCxaKXwwKXwwKSsoKDgxOTEmKGk9KGk9aStNYXRoLmltdWwoaCwkKXwwKStNYXRoLmltdWwobCxaKXwwKSk8PDEzKXwwO2M9KChvPW8rTWF0aC5pbXVsKGwsJCl8MCkrKGk+Pj4xMyl8MCkrKHZ0Pj4+MjYpfDAsdnQmPTY3MTA4ODYzLG49TWF0aC5pbXVsKFMseiksaT0oaT1NYXRoLmltdWwoUyxIKSkrTWF0aC5pbXVsKEUseil8MCxvPU1hdGguaW11bChFLEgpLG49bitNYXRoLmltdWwoXyxXKXwwLGk9KGk9aStNYXRoLmltdWwoXyxLKXwwKStNYXRoLmltdWwodyxXKXwwLG89bytNYXRoLmltdWwodyxLKXwwLG49bitNYXRoLmltdWwoYixKKXwwLGk9KGk9aStNYXRoLmltdWwoYixZKXwwKStNYXRoLmltdWwoeSxKKXwwLG89bytNYXRoLmltdWwoeSxZKXwwLG49bitNYXRoLmltdWwocCxaKXwwLGk9KGk9aStNYXRoLmltdWwocCwkKXwwKStNYXRoLmltdWwobSxaKXwwLG89bytNYXRoLmltdWwobSwkKXwwO3ZhciBfdD0oYysobj1uK01hdGguaW11bChoLFEpfDApfDApKygoODE5MSYoaT0oaT1pK01hdGguaW11bChoLHR0KXwwKStNYXRoLmltdWwobCxRKXwwKSk8PDEzKXwwO2M9KChvPW8rTWF0aC5pbXVsKGwsdHQpfDApKyhpPj4+MTMpfDApKyhfdD4+PjI2KXwwLF90Jj02NzEwODg2MyxuPU1hdGguaW11bChrLHopLGk9KGk9TWF0aC5pbXVsKGssSCkpK01hdGguaW11bChBLHopfDAsbz1NYXRoLmltdWwoQSxIKSxuPW4rTWF0aC5pbXVsKFMsVyl8MCxpPShpPWkrTWF0aC5pbXVsKFMsSyl8MCkrTWF0aC5pbXVsKEUsVyl8MCxvPW8rTWF0aC5pbXVsKEUsSyl8MCxuPW4rTWF0aC5pbXVsKF8sSil8MCxpPShpPWkrTWF0aC5pbXVsKF8sWSl8MCkrTWF0aC5pbXVsKHcsSil8MCxvPW8rTWF0aC5pbXVsKHcsWSl8MCxuPW4rTWF0aC5pbXVsKGIsWil8MCxpPShpPWkrTWF0aC5pbXVsKGIsJCl8MCkrTWF0aC5pbXVsKHksWil8MCxvPW8rTWF0aC5pbXVsKHksJCl8MCxuPW4rTWF0aC5pbXVsKHAsUSl8MCxpPShpPWkrTWF0aC5pbXVsKHAsdHQpfDApK01hdGguaW11bChtLFEpfDAsbz1vK01hdGguaW11bChtLHR0KXwwO3ZhciB3dD0oYysobj1uK01hdGguaW11bChoLHJ0KXwwKXwwKSsoKDgxOTEmKGk9KGk9aStNYXRoLmltdWwoaCxudCl8MCkrTWF0aC5pbXVsKGwscnQpfDApKTw8MTMpfDA7Yz0oKG89bytNYXRoLmltdWwobCxudCl8MCkrKGk+Pj4xMyl8MCkrKHd0Pj4+MjYpfDAsd3QmPTY3MTA4ODYzLG49TWF0aC5pbXVsKFQseiksaT0oaT1NYXRoLmltdWwoVCxIKSkrTWF0aC5pbXVsKE8seil8MCxvPU1hdGguaW11bChPLEgpLG49bitNYXRoLmltdWwoayxXKXwwLGk9KGk9aStNYXRoLmltdWwoayxLKXwwKStNYXRoLmltdWwoQSxXKXwwLG89bytNYXRoLmltdWwoQSxLKXwwLG49bitNYXRoLmltdWwoUyxKKXwwLGk9KGk9aStNYXRoLmltdWwoUyxZKXwwKStNYXRoLmltdWwoRSxKKXwwLG89bytNYXRoLmltdWwoRSxZKXwwLG49bitNYXRoLmltdWwoXyxaKXwwLGk9KGk9aStNYXRoLmltdWwoXywkKXwwKStNYXRoLmltdWwodyxaKXwwLG89bytNYXRoLmltdWwodywkKXwwLG49bitNYXRoLmltdWwoYixRKXwwLGk9KGk9aStNYXRoLmltdWwoYix0dCl8MCkrTWF0aC5pbXVsKHksUSl8MCxvPW8rTWF0aC5pbXVsKHksdHQpfDAsbj1uK01hdGguaW11bChwLHJ0KXwwLGk9KGk9aStNYXRoLmltdWwocCxudCl8MCkrTWF0aC5pbXVsKG0scnQpfDAsbz1vK01hdGguaW11bChtLG50KXwwO3ZhciBNdD0oYysobj1uK01hdGguaW11bChoLG90KXwwKXwwKSsoKDgxOTEmKGk9KGk9aStNYXRoLmltdWwoaCxzdCl8MCkrTWF0aC5pbXVsKGwsb3QpfDApKTw8MTMpfDA7Yz0oKG89bytNYXRoLmltdWwobCxzdCl8MCkrKGk+Pj4xMyl8MCkrKE10Pj4+MjYpfDAsTXQmPTY3MTA4ODYzLG49TWF0aC5pbXVsKFAseiksaT0oaT1NYXRoLmltdWwoUCxIKSkrTWF0aC5pbXVsKEkseil8MCxvPU1hdGguaW11bChJLEgpLG49bitNYXRoLmltdWwoVCxXKXwwLGk9KGk9aStNYXRoLmltdWwoVCxLKXwwKStNYXRoLmltdWwoTyxXKXwwLG89bytNYXRoLmltdWwoTyxLKXwwLG49bitNYXRoLmltdWwoayxKKXwwLGk9KGk9aStNYXRoLmltdWwoayxZKXwwKStNYXRoLmltdWwoQSxKKXwwLG89bytNYXRoLmltdWwoQSxZKXwwLG49bitNYXRoLmltdWwoUyxaKXwwLGk9KGk9aStNYXRoLmltdWwoUywkKXwwKStNYXRoLmltdWwoRSxaKXwwLG89bytNYXRoLmltdWwoRSwkKXwwLG49bitNYXRoLmltdWwoXyxRKXwwLGk9KGk9aStNYXRoLmltdWwoXyx0dCl8MCkrTWF0aC5pbXVsKHcsUSl8MCxvPW8rTWF0aC5pbXVsKHcsdHQpfDAsbj1uK01hdGguaW11bChiLHJ0KXwwLGk9KGk9aStNYXRoLmltdWwoYixudCl8MCkrTWF0aC5pbXVsKHkscnQpfDAsbz1vK01hdGguaW11bCh5LG50KXwwLG49bitNYXRoLmltdWwocCxvdCl8MCxpPShpPWkrTWF0aC5pbXVsKHAsc3QpfDApK01hdGguaW11bChtLG90KXwwLG89bytNYXRoLmltdWwobSxzdCl8MDt2YXIgU3Q9KGMrKG49bitNYXRoLmltdWwoaCx1dCl8MCl8MCkrKCg4MTkxJihpPShpPWkrTWF0aC5pbXVsKGgsY3QpfDApK01hdGguaW11bChsLHV0KXwwKSk8PDEzKXwwO2M9KChvPW8rTWF0aC5pbXVsKGwsY3QpfDApKyhpPj4+MTMpfDApKyhTdD4+PjI2KXwwLFN0Jj02NzEwODg2MyxuPU1hdGguaW11bChMLHopLGk9KGk9TWF0aC5pbXVsKEwsSCkpK01hdGguaW11bChqLHopfDAsbz1NYXRoLmltdWwoaixIKSxuPW4rTWF0aC5pbXVsKFAsVyl8MCxpPShpPWkrTWF0aC5pbXVsKFAsSyl8MCkrTWF0aC5pbXVsKEksVyl8MCxvPW8rTWF0aC5pbXVsKEksSyl8MCxuPW4rTWF0aC5pbXVsKFQsSil8MCxpPShpPWkrTWF0aC5pbXVsKFQsWSl8MCkrTWF0aC5pbXVsKE8sSil8MCxvPW8rTWF0aC5pbXVsKE8sWSl8MCxuPW4rTWF0aC5pbXVsKGssWil8MCxpPShpPWkrTWF0aC5pbXVsKGssJCl8MCkrTWF0aC5pbXVsKEEsWil8MCxvPW8rTWF0aC5pbXVsKEEsJCl8MCxuPW4rTWF0aC5pbXVsKFMsUSl8MCxpPShpPWkrTWF0aC5pbXVsKFMsdHQpfDApK01hdGguaW11bChFLFEpfDAsbz1vK01hdGguaW11bChFLHR0KXwwLG49bitNYXRoLmltdWwoXyxydCl8MCxpPShpPWkrTWF0aC5pbXVsKF8sbnQpfDApK01hdGguaW11bCh3LHJ0KXwwLG89bytNYXRoLmltdWwodyxudCl8MCxuPW4rTWF0aC5pbXVsKGIsb3QpfDAsaT0oaT1pK01hdGguaW11bChiLHN0KXwwKStNYXRoLmltdWwoeSxvdCl8MCxvPW8rTWF0aC5pbXVsKHksc3QpfDAsbj1uK01hdGguaW11bChwLHV0KXwwLGk9KGk9aStNYXRoLmltdWwocCxjdCl8MCkrTWF0aC5pbXVsKG0sdXQpfDAsbz1vK01hdGguaW11bChtLGN0KXwwO3ZhciBFdD0oYysobj1uK01hdGguaW11bChoLGh0KXwwKXwwKSsoKDgxOTEmKGk9KGk9aStNYXRoLmltdWwoaCxsdCl8MCkrTWF0aC5pbXVsKGwsaHQpfDApKTw8MTMpfDA7Yz0oKG89bytNYXRoLmltdWwobCxsdCl8MCkrKGk+Pj4xMyl8MCkrKEV0Pj4+MjYpfDAsRXQmPTY3MTA4ODYzLG49TWF0aC5pbXVsKHEseiksaT0oaT1NYXRoLmltdWwocSxIKSkrTWF0aC5pbXVsKFUseil8MCxvPU1hdGguaW11bChVLEgpLG49bitNYXRoLmltdWwoTCxXKXwwLGk9KGk9aStNYXRoLmltdWwoTCxLKXwwKStNYXRoLmltdWwoaixXKXwwLG89bytNYXRoLmltdWwoaixLKXwwLG49bitNYXRoLmltdWwoUCxKKXwwLGk9KGk9aStNYXRoLmltdWwoUCxZKXwwKStNYXRoLmltdWwoSSxKKXwwLG89bytNYXRoLmltdWwoSSxZKXwwLG49bitNYXRoLmltdWwoVCxaKXwwLGk9KGk9aStNYXRoLmltdWwoVCwkKXwwKStNYXRoLmltdWwoTyxaKXwwLG89bytNYXRoLmltdWwoTywkKXwwLG49bitNYXRoLmltdWwoayxRKXwwLGk9KGk9aStNYXRoLmltdWwoayx0dCl8MCkrTWF0aC5pbXVsKEEsUSl8MCxvPW8rTWF0aC5pbXVsKEEsdHQpfDAsbj1uK01hdGguaW11bChTLHJ0KXwwLGk9KGk9aStNYXRoLmltdWwoUyxudCl8MCkrTWF0aC5pbXVsKEUscnQpfDAsbz1vK01hdGguaW11bChFLG50KXwwLG49bitNYXRoLmltdWwoXyxvdCl8MCxpPShpPWkrTWF0aC5pbXVsKF8sc3QpfDApK01hdGguaW11bCh3LG90KXwwLG89bytNYXRoLmltdWwodyxzdCl8MCxuPW4rTWF0aC5pbXVsKGIsdXQpfDAsaT0oaT1pK01hdGguaW11bChiLGN0KXwwKStNYXRoLmltdWwoeSx1dCl8MCxvPW8rTWF0aC5pbXVsKHksY3QpfDAsbj1uK01hdGguaW11bChwLGh0KXwwLGk9KGk9aStNYXRoLmltdWwocCxsdCl8MCkrTWF0aC5pbXVsKG0saHQpfDAsbz1vK01hdGguaW11bChtLGx0KXwwO3ZhciB4dD0oYysobj1uK01hdGguaW11bChoLHB0KXwwKXwwKSsoKDgxOTEmKGk9KGk9aStNYXRoLmltdWwoaCxtdCl8MCkrTWF0aC5pbXVsKGwscHQpfDApKTw8MTMpfDA7Yz0oKG89bytNYXRoLmltdWwobCxtdCl8MCkrKGk+Pj4xMyl8MCkrKHh0Pj4+MjYpfDAseHQmPTY3MTA4ODYzLG49TWF0aC5pbXVsKHEsVyksaT0oaT1NYXRoLmltdWwocSxLKSkrTWF0aC5pbXVsKFUsVyl8MCxvPU1hdGguaW11bChVLEspLG49bitNYXRoLmltdWwoTCxKKXwwLGk9KGk9aStNYXRoLmltdWwoTCxZKXwwKStNYXRoLmltdWwoaixKKXwwLG89bytNYXRoLmltdWwoaixZKXwwLG49bitNYXRoLmltdWwoUCxaKXwwLGk9KGk9aStNYXRoLmltdWwoUCwkKXwwKStNYXRoLmltdWwoSSxaKXwwLG89bytNYXRoLmltdWwoSSwkKXwwLG49bitNYXRoLmltdWwoVCxRKXwwLGk9KGk9aStNYXRoLmltdWwoVCx0dCl8MCkrTWF0aC5pbXVsKE8sUSl8MCxvPW8rTWF0aC5pbXVsKE8sdHQpfDAsbj1uK01hdGguaW11bChrLHJ0KXwwLGk9KGk9aStNYXRoLmltdWwoayxudCl8MCkrTWF0aC5pbXVsKEEscnQpfDAsbz1vK01hdGguaW11bChBLG50KXwwLG49bitNYXRoLmltdWwoUyxvdCl8MCxpPShpPWkrTWF0aC5pbXVsKFMsc3QpfDApK01hdGguaW11bChFLG90KXwwLG89bytNYXRoLmltdWwoRSxzdCl8MCxuPW4rTWF0aC5pbXVsKF8sdXQpfDAsaT0oaT1pK01hdGguaW11bChfLGN0KXwwKStNYXRoLmltdWwodyx1dCl8MCxvPW8rTWF0aC5pbXVsKHcsY3QpfDAsbj1uK01hdGguaW11bChiLGh0KXwwLGk9KGk9aStNYXRoLmltdWwoYixsdCl8MCkrTWF0aC5pbXVsKHksaHQpfDAsbz1vK01hdGguaW11bCh5LGx0KXwwO3ZhciBrdD0oYysobj1uK01hdGguaW11bChwLHB0KXwwKXwwKSsoKDgxOTEmKGk9KGk9aStNYXRoLmltdWwocCxtdCl8MCkrTWF0aC5pbXVsKG0scHQpfDApKTw8MTMpfDA7Yz0oKG89bytNYXRoLmltdWwobSxtdCl8MCkrKGk+Pj4xMyl8MCkrKGt0Pj4+MjYpfDAsa3QmPTY3MTA4ODYzLG49TWF0aC5pbXVsKHEsSiksaT0oaT1NYXRoLmltdWwocSxZKSkrTWF0aC5pbXVsKFUsSil8MCxvPU1hdGguaW11bChVLFkpLG49bitNYXRoLmltdWwoTCxaKXwwLGk9KGk9aStNYXRoLmltdWwoTCwkKXwwKStNYXRoLmltdWwoaixaKXwwLG89bytNYXRoLmltdWwoaiwkKXwwLG49bitNYXRoLmltdWwoUCxRKXwwLGk9KGk9aStNYXRoLmltdWwoUCx0dCl8MCkrTWF0aC5pbXVsKEksUSl8MCxvPW8rTWF0aC5pbXVsKEksdHQpfDAsbj1uK01hdGguaW11bChULHJ0KXwwLGk9KGk9aStNYXRoLmltdWwoVCxudCl8MCkrTWF0aC5pbXVsKE8scnQpfDAsbz1vK01hdGguaW11bChPLG50KXwwLG49bitNYXRoLmltdWwoayxvdCl8MCxpPShpPWkrTWF0aC5pbXVsKGssc3QpfDApK01hdGguaW11bChBLG90KXwwLG89bytNYXRoLmltdWwoQSxzdCl8MCxuPW4rTWF0aC5pbXVsKFMsdXQpfDAsaT0oaT1pK01hdGguaW11bChTLGN0KXwwKStNYXRoLmltdWwoRSx1dCl8MCxvPW8rTWF0aC5pbXVsKEUsY3QpfDAsbj1uK01hdGguaW11bChfLGh0KXwwLGk9KGk9aStNYXRoLmltdWwoXyxsdCl8MCkrTWF0aC5pbXVsKHcsaHQpfDAsbz1vK01hdGguaW11bCh3LGx0KXwwO3ZhciBBdD0oYysobj1uK01hdGguaW11bChiLHB0KXwwKXwwKSsoKDgxOTEmKGk9KGk9aStNYXRoLmltdWwoYixtdCl8MCkrTWF0aC5pbXVsKHkscHQpfDApKTw8MTMpfDA7Yz0oKG89bytNYXRoLmltdWwoeSxtdCl8MCkrKGk+Pj4xMyl8MCkrKEF0Pj4+MjYpfDAsQXQmPTY3MTA4ODYzLG49TWF0aC5pbXVsKHEsWiksaT0oaT1NYXRoLmltdWwocSwkKSkrTWF0aC5pbXVsKFUsWil8MCxvPU1hdGguaW11bChVLCQpLG49bitNYXRoLmltdWwoTCxRKXwwLGk9KGk9aStNYXRoLmltdWwoTCx0dCl8MCkrTWF0aC5pbXVsKGosUSl8MCxvPW8rTWF0aC5pbXVsKGosdHQpfDAsbj1uK01hdGguaW11bChQLHJ0KXwwLGk9KGk9aStNYXRoLmltdWwoUCxudCl8MCkrTWF0aC5pbXVsKEkscnQpfDAsbz1vK01hdGguaW11bChJLG50KXwwLG49bitNYXRoLmltdWwoVCxvdCl8MCxpPShpPWkrTWF0aC5pbXVsKFQsc3QpfDApK01hdGguaW11bChPLG90KXwwLG89bytNYXRoLmltdWwoTyxzdCl8MCxuPW4rTWF0aC5pbXVsKGssdXQpfDAsaT0oaT1pK01hdGguaW11bChrLGN0KXwwKStNYXRoLmltdWwoQSx1dCl8MCxvPW8rTWF0aC5pbXVsKEEsY3QpfDAsbj1uK01hdGguaW11bChTLGh0KXwwLGk9KGk9aStNYXRoLmltdWwoUyxsdCl8MCkrTWF0aC5pbXVsKEUsaHQpfDAsbz1vK01hdGguaW11bChFLGx0KXwwO3ZhciBSdD0oYysobj1uK01hdGguaW11bChfLHB0KXwwKXwwKSsoKDgxOTEmKGk9KGk9aStNYXRoLmltdWwoXyxtdCl8MCkrTWF0aC5pbXVsKHcscHQpfDApKTw8MTMpfDA7Yz0oKG89bytNYXRoLmltdWwodyxtdCl8MCkrKGk+Pj4xMyl8MCkrKFJ0Pj4+MjYpfDAsUnQmPTY3MTA4ODYzLG49TWF0aC5pbXVsKHEsUSksaT0oaT1NYXRoLmltdWwocSx0dCkpK01hdGguaW11bChVLFEpfDAsbz1NYXRoLmltdWwoVSx0dCksbj1uK01hdGguaW11bChMLHJ0KXwwLGk9KGk9aStNYXRoLmltdWwoTCxudCl8MCkrTWF0aC5pbXVsKGoscnQpfDAsbz1vK01hdGguaW11bChqLG50KXwwLG49bitNYXRoLmltdWwoUCxvdCl8MCxpPShpPWkrTWF0aC5pbXVsKFAsc3QpfDApK01hdGguaW11bChJLG90KXwwLG89bytNYXRoLmltdWwoSSxzdCl8MCxuPW4rTWF0aC5pbXVsKFQsdXQpfDAsaT0oaT1pK01hdGguaW11bChULGN0KXwwKStNYXRoLmltdWwoTyx1dCl8MCxvPW8rTWF0aC5pbXVsKE8sY3QpfDAsbj1uK01hdGguaW11bChrLGh0KXwwLGk9KGk9aStNYXRoLmltdWwoayxsdCl8MCkrTWF0aC5pbXVsKEEsaHQpfDAsbz1vK01hdGguaW11bChBLGx0KXwwO3ZhciBUdD0oYysobj1uK01hdGguaW11bChTLHB0KXwwKXwwKSsoKDgxOTEmKGk9KGk9aStNYXRoLmltdWwoUyxtdCl8MCkrTWF0aC5pbXVsKEUscHQpfDApKTw8MTMpfDA7Yz0oKG89bytNYXRoLmltdWwoRSxtdCl8MCkrKGk+Pj4xMyl8MCkrKFR0Pj4+MjYpfDAsVHQmPTY3MTA4ODYzLG49TWF0aC5pbXVsKHEscnQpLGk9KGk9TWF0aC5pbXVsKHEsbnQpKStNYXRoLmltdWwoVSxydCl8MCxvPU1hdGguaW11bChVLG50KSxuPW4rTWF0aC5pbXVsKEwsb3QpfDAsaT0oaT1pK01hdGguaW11bChMLHN0KXwwKStNYXRoLmltdWwoaixvdCl8MCxvPW8rTWF0aC5pbXVsKGosc3QpfDAsbj1uK01hdGguaW11bChQLHV0KXwwLGk9KGk9aStNYXRoLmltdWwoUCxjdCl8MCkrTWF0aC5pbXVsKEksdXQpfDAsbz1vK01hdGguaW11bChJLGN0KXwwLG49bitNYXRoLmltdWwoVCxodCl8MCxpPShpPWkrTWF0aC5pbXVsKFQsbHQpfDApK01hdGguaW11bChPLGh0KXwwLG89bytNYXRoLmltdWwoTyxsdCl8MDt2YXIgT3Q9KGMrKG49bitNYXRoLmltdWwoayxwdCl8MCl8MCkrKCg4MTkxJihpPShpPWkrTWF0aC5pbXVsKGssbXQpfDApK01hdGguaW11bChBLHB0KXwwKSk8PDEzKXwwO2M9KChvPW8rTWF0aC5pbXVsKEEsbXQpfDApKyhpPj4+MTMpfDApKyhPdD4+PjI2KXwwLE90Jj02NzEwODg2MyxuPU1hdGguaW11bChxLG90KSxpPShpPU1hdGguaW11bChxLHN0KSkrTWF0aC5pbXVsKFUsb3QpfDAsbz1NYXRoLmltdWwoVSxzdCksbj1uK01hdGguaW11bChMLHV0KXwwLGk9KGk9aStNYXRoLmltdWwoTCxjdCl8MCkrTWF0aC5pbXVsKGosdXQpfDAsbz1vK01hdGguaW11bChqLGN0KXwwLG49bitNYXRoLmltdWwoUCxodCl8MCxpPShpPWkrTWF0aC5pbXVsKFAsbHQpfDApK01hdGguaW11bChJLGh0KXwwLG89bytNYXRoLmltdWwoSSxsdCl8MDt2YXIgQ3Q9KGMrKG49bitNYXRoLmltdWwoVCxwdCl8MCl8MCkrKCg4MTkxJihpPShpPWkrTWF0aC5pbXVsKFQsbXQpfDApK01hdGguaW11bChPLHB0KXwwKSk8PDEzKXwwO2M9KChvPW8rTWF0aC5pbXVsKE8sbXQpfDApKyhpPj4+MTMpfDApKyhDdD4+PjI2KXwwLEN0Jj02NzEwODg2MyxuPU1hdGguaW11bChxLHV0KSxpPShpPU1hdGguaW11bChxLGN0KSkrTWF0aC5pbXVsKFUsdXQpfDAsbz1NYXRoLmltdWwoVSxjdCksbj1uK01hdGguaW11bChMLGh0KXwwLGk9KGk9aStNYXRoLmltdWwoTCxsdCl8MCkrTWF0aC5pbXVsKGosaHQpfDAsbz1vK01hdGguaW11bChqLGx0KXwwO3ZhciBQdD0oYysobj1uK01hdGguaW11bChQLHB0KXwwKXwwKSsoKDgxOTEmKGk9KGk9aStNYXRoLmltdWwoUCxtdCl8MCkrTWF0aC5pbXVsKEkscHQpfDApKTw8MTMpfDA7Yz0oKG89bytNYXRoLmltdWwoSSxtdCl8MCkrKGk+Pj4xMyl8MCkrKFB0Pj4+MjYpfDAsUHQmPTY3MTA4ODYzLG49TWF0aC5pbXVsKHEsaHQpLGk9KGk9TWF0aC5pbXVsKHEsbHQpKStNYXRoLmltdWwoVSxodCl8MCxvPU1hdGguaW11bChVLGx0KTt2YXIgSXQ9KGMrKG49bitNYXRoLmltdWwoTCxwdCl8MCl8MCkrKCg4MTkxJihpPShpPWkrTWF0aC5pbXVsKEwsbXQpfDApK01hdGguaW11bChqLHB0KXwwKSk8PDEzKXwwO2M9KChvPW8rTWF0aC5pbXVsKGosbXQpfDApKyhpPj4+MTMpfDApKyhJdD4+PjI2KXwwLEl0Jj02NzEwODg2Mzt2YXIgQnQ9KGMrKG49TWF0aC5pbXVsKHEscHQpKXwwKSsoKDgxOTEmKGk9KGk9TWF0aC5pbXVsKHEsbXQpKStNYXRoLmltdWwoVSxwdCl8MCkpPDwxMyl8MDtyZXR1cm4gYz0oKG89TWF0aC5pbXVsKFUsbXQpKSsoaT4+PjEzKXwwKSsoQnQ+Pj4yNil8MCxCdCY9NjcxMDg4NjMsdVswXT1ndCx1WzFdPWJ0LHVbMl09eXQsdVszXT12dCx1WzRdPV90LHVbNV09d3QsdVs2XT1NdCx1WzddPVN0LHVbOF09RXQsdVs5XT14dCx1WzEwXT1rdCx1WzExXT1BdCx1WzEyXT1SdCx1WzEzXT1UdCx1WzE0XT1PdCx1WzE1XT1DdCx1WzE2XT1QdCx1WzE3XT1JdCx1WzE4XT1CdCwwIT09YyYmKHVbMTldPWMsci5sZW5ndGgrKykscn07ZnVuY3Rpb24gbSh0LGUscil7cmV0dXJuKG5ldyBnKS5tdWxwKHQsZSxyKX1mdW5jdGlvbiBnKHQsZSl7dGhpcy54PXQsdGhpcy55PWV9TWF0aC5pbXVsfHwocD1kKSxvLnByb3RvdHlwZS5tdWxUbz1mdW5jdGlvbih0LGUpe3ZhciByPXRoaXMubGVuZ3RoK3QubGVuZ3RoO3JldHVybiAxMD09PXRoaXMubGVuZ3RoJiYxMD09PXQubGVuZ3RoP3AodGhpcyx0LGUpOnI8NjM/ZCh0aGlzLHQsZSk6cjwxMDI0P2Z1bmN0aW9uKHQsZSxyKXtyLm5lZ2F0aXZlPWUubmVnYXRpdmVedC5uZWdhdGl2ZSxyLmxlbmd0aD10Lmxlbmd0aCtlLmxlbmd0aDtmb3IodmFyIG49MCxpPTAsbz0wO288ci5sZW5ndGgtMTtvKyspe3ZhciBzPWk7aT0wO2Zvcih2YXIgYT02NzEwODg2MyZuLHU9TWF0aC5taW4obyxlLmxlbmd0aC0xKSxjPU1hdGgubWF4KDAsby10Lmxlbmd0aCsxKTtjPD11O2MrKyl7dmFyIGY9by1jLGg9KDB8dC53b3Jkc1tmXSkqKDB8ZS53b3Jkc1tjXSksbD02NzEwODg2MyZoO2E9NjcxMDg4NjMmKGw9bCthfDApLGkrPShzPShzPXMrKGgvNjcxMDg4NjR8MCl8MCkrKGw+Pj4yNil8MCk+Pj4yNixzJj02NzEwODg2M31yLndvcmRzW29dPWEsbj1zLHM9aX1yZXR1cm4gMCE9PW4/ci53b3Jkc1tvXT1uOnIubGVuZ3RoLS0sci5zdHJpcCgpfSh0aGlzLHQsZSk6bSh0aGlzLHQsZSl9LGcucHJvdG90eXBlLm1ha2VSQlQ9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPW5ldyBBcnJheSh0KSxyPW8ucHJvdG90eXBlLl9jb3VudEJpdHModCktMSxuPTA7bjx0O24rKyllW25dPXRoaXMucmV2QmluKG4scix0KTtyZXR1cm4gZX0sZy5wcm90b3R5cGUucmV2QmluPWZ1bmN0aW9uKHQsZSxyKXtpZigwPT09dHx8dD09PXItMSlyZXR1cm4gdDtmb3IodmFyIG49MCxpPTA7aTxlO2krKylufD0oMSZ0KTw8ZS1pLTEsdD4+PTE7cmV0dXJuIG59LGcucHJvdG90eXBlLnBlcm11dGU9ZnVuY3Rpb24odCxlLHIsbixpLG8pe2Zvcih2YXIgcz0wO3M8bztzKyspbltzXT1lW3Rbc11dLGlbc109clt0W3NdXX0sZy5wcm90b3R5cGUudHJhbnNmb3JtPWZ1bmN0aW9uKHQsZSxyLG4saSxvKXt0aGlzLnBlcm11dGUobyx0LGUscixuLGkpO2Zvcih2YXIgcz0xO3M8aTtzPDw9MSlmb3IodmFyIGE9czw8MSx1PU1hdGguY29zKDIqTWF0aC5QSS9hKSxjPU1hdGguc2luKDIqTWF0aC5QSS9hKSxmPTA7ZjxpO2YrPWEpZm9yKHZhciBoPXUsbD1jLGQ9MDtkPHM7ZCsrKXt2YXIgcD1yW2YrZF0sbT1uW2YrZF0sZz1yW2YrZCtzXSxiPW5bZitkK3NdLHk9aCpnLWwqYjtiPWgqYitsKmcsZz15LHJbZitkXT1wK2csbltmK2RdPW0rYixyW2YrZCtzXT1wLWcsbltmK2Qrc109bS1iLGQhPT1hJiYoeT11KmgtYypsLGw9dSpsK2MqaCxoPXkpfX0sZy5wcm90b3R5cGUuZ3Vlc3NMZW4xM2I9ZnVuY3Rpb24odCxlKXt2YXIgcj0xfE1hdGgubWF4KGUsdCksbj0xJnIsaT0wO2ZvcihyPXIvMnwwO3I7cj4+Pj0xKWkrKztyZXR1cm4gMTw8aSsxK259LGcucHJvdG90eXBlLmNvbmp1Z2F0ZT1mdW5jdGlvbih0LGUscil7aWYoIShyPD0xKSlmb3IodmFyIG49MDtuPHIvMjtuKyspe3ZhciBpPXRbbl07dFtuXT10W3Itbi0xXSx0W3Itbi0xXT1pLGk9ZVtuXSxlW25dPS1lW3Itbi0xXSxlW3Itbi0xXT0taX19LGcucHJvdG90eXBlLm5vcm1hbGl6ZTEzYj1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj0wLG49MDtuPGUvMjtuKyspe3ZhciBpPTgxOTIqTWF0aC5yb3VuZCh0WzIqbisxXS9lKStNYXRoLnJvdW5kKHRbMipuXS9lKStyO3Rbbl09NjcxMDg4NjMmaSxyPWk8NjcxMDg4NjQ/MDppLzY3MTA4ODY0fDB9cmV0dXJuIHR9LGcucHJvdG90eXBlLmNvbnZlcnQxM2I9ZnVuY3Rpb24odCxlLHIsaSl7Zm9yKHZhciBvPTAscz0wO3M8ZTtzKyspbys9MHx0W3NdLHJbMipzXT04MTkxJm8sbz4+Pj0xMyxyWzIqcysxXT04MTkxJm8sbz4+Pj0xMztmb3Iocz0yKmU7czxpOysrcylyW3NdPTA7bigwPT09byksbigwPT0oLTgxOTImbykpfSxnLnByb3RvdHlwZS5zdHViPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1uZXcgQXJyYXkodCkscj0wO3I8dDtyKyspZVtyXT0wO3JldHVybiBlfSxnLnByb3RvdHlwZS5tdWxwPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj0yKnRoaXMuZ3Vlc3NMZW4xM2IodC5sZW5ndGgsZS5sZW5ndGgpLGk9dGhpcy5tYWtlUkJUKG4pLG89dGhpcy5zdHViKG4pLHM9bmV3IEFycmF5KG4pLGE9bmV3IEFycmF5KG4pLHU9bmV3IEFycmF5KG4pLGM9bmV3IEFycmF5KG4pLGY9bmV3IEFycmF5KG4pLGg9bmV3IEFycmF5KG4pLGw9ci53b3JkcztsLmxlbmd0aD1uLHRoaXMuY29udmVydDEzYih0LndvcmRzLHQubGVuZ3RoLHMsbiksdGhpcy5jb252ZXJ0MTNiKGUud29yZHMsZS5sZW5ndGgsYyxuKSx0aGlzLnRyYW5zZm9ybShzLG8sYSx1LG4saSksdGhpcy50cmFuc2Zvcm0oYyxvLGYsaCxuLGkpO2Zvcih2YXIgZD0wO2Q8bjtkKyspe3ZhciBwPWFbZF0qZltkXS11W2RdKmhbZF07dVtkXT1hW2RdKmhbZF0rdVtkXSpmW2RdLGFbZF09cH1yZXR1cm4gdGhpcy5jb25qdWdhdGUoYSx1LG4pLHRoaXMudHJhbnNmb3JtKGEsdSxsLG8sbixpKSx0aGlzLmNvbmp1Z2F0ZShsLG8sbiksdGhpcy5ub3JtYWxpemUxM2IobCxuKSxyLm5lZ2F0aXZlPXQubmVnYXRpdmVeZS5uZWdhdGl2ZSxyLmxlbmd0aD10Lmxlbmd0aCtlLmxlbmd0aCxyLnN0cmlwKCl9LG8ucHJvdG90eXBlLm11bD1mdW5jdGlvbih0KXt2YXIgZT1uZXcgbyhudWxsKTtyZXR1cm4gZS53b3Jkcz1uZXcgQXJyYXkodGhpcy5sZW5ndGgrdC5sZW5ndGgpLHRoaXMubXVsVG8odCxlKX0sby5wcm90b3R5cGUubXVsZj1mdW5jdGlvbih0KXt2YXIgZT1uZXcgbyhudWxsKTtyZXR1cm4gZS53b3Jkcz1uZXcgQXJyYXkodGhpcy5sZW5ndGgrdC5sZW5ndGgpLG0odGhpcyx0LGUpfSxvLnByb3RvdHlwZS5pbXVsPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNsb25lKCkubXVsVG8odCx0aGlzKX0sby5wcm90b3R5cGUuaW11bG49ZnVuY3Rpb24odCl7bigibnVtYmVyIj09dHlwZW9mIHQpLG4odDw2NzEwODg2NCk7Zm9yKHZhciBlPTAscj0wO3I8dGhpcy5sZW5ndGg7cisrKXt2YXIgaT0oMHx0aGlzLndvcmRzW3JdKSp0LG89KDY3MTA4ODYzJmkpKyg2NzEwODg2MyZlKTtlPj49MjYsZSs9aS82NzEwODg2NHwwLGUrPW8+Pj4yNix0aGlzLndvcmRzW3JdPTY3MTA4ODYzJm99cmV0dXJuIDAhPT1lJiYodGhpcy53b3Jkc1tyXT1lLHRoaXMubGVuZ3RoKyspLHRoaXN9LG8ucHJvdG90eXBlLm11bG49ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pbXVsbih0KX0sby5wcm90b3R5cGUuc3FyPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubXVsKHRoaXMpfSxvLnByb3RvdHlwZS5pc3FyPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaW11bCh0aGlzLmNsb25lKCkpfSxvLnByb3RvdHlwZS5wb3c9ZnVuY3Rpb24odCl7dmFyIGU9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPW5ldyBBcnJheSh0LmJpdExlbmd0aCgpKSxyPTA7cjxlLmxlbmd0aDtyKyspe3ZhciBuPXIvMjZ8MCxpPXIlMjY7ZVtyXT0odC53b3Jkc1tuXSYxPDxpKT4+Pml9cmV0dXJuIGV9KHQpO2lmKDA9PT1lLmxlbmd0aClyZXR1cm4gbmV3IG8oMSk7Zm9yKHZhciByPXRoaXMsbj0wO248ZS5sZW5ndGgmJjA9PT1lW25dO24rKyxyPXIuc3FyKCkpO2lmKCsrbjxlLmxlbmd0aClmb3IodmFyIGk9ci5zcXIoKTtuPGUubGVuZ3RoO24rKyxpPWkuc3FyKCkpMCE9PWVbbl0mJihyPXIubXVsKGkpKTtyZXR1cm4gcn0sby5wcm90b3R5cGUuaXVzaGxuPWZ1bmN0aW9uKHQpe24oIm51bWJlciI9PXR5cGVvZiB0JiZ0Pj0wKTt2YXIgZSxyPXQlMjYsaT0odC1yKS8yNixvPTY3MTA4ODYzPj4+MjYtcjw8MjYtcjtpZigwIT09cil7dmFyIHM9MDtmb3IoZT0wO2U8dGhpcy5sZW5ndGg7ZSsrKXt2YXIgYT10aGlzLndvcmRzW2VdJm8sdT0oMHx0aGlzLndvcmRzW2VdKS1hPDxyO3RoaXMud29yZHNbZV09dXxzLHM9YT4+PjI2LXJ9cyYmKHRoaXMud29yZHNbZV09cyx0aGlzLmxlbmd0aCsrKX1pZigwIT09aSl7Zm9yKGU9dGhpcy5sZW5ndGgtMTtlPj0wO2UtLSl0aGlzLndvcmRzW2UraV09dGhpcy53b3Jkc1tlXTtmb3IoZT0wO2U8aTtlKyspdGhpcy53b3Jkc1tlXT0wO3RoaXMubGVuZ3RoKz1pfXJldHVybiB0aGlzLnN0cmlwKCl9LG8ucHJvdG90eXBlLmlzaGxuPWZ1bmN0aW9uKHQpe3JldHVybiBuKDA9PT10aGlzLm5lZ2F0aXZlKSx0aGlzLml1c2hsbih0KX0sby5wcm90b3R5cGUuaXVzaHJuPWZ1bmN0aW9uKHQsZSxyKXt2YXIgaTtuKCJudW1iZXIiPT10eXBlb2YgdCYmdD49MCksaT1lPyhlLWUlMjYpLzI2OjA7dmFyIG89dCUyNixzPU1hdGgubWluKCh0LW8pLzI2LHRoaXMubGVuZ3RoKSxhPTY3MTA4ODYzXjY3MTA4ODYzPj4+bzw8byx1PXI7aWYoaS09cyxpPU1hdGgubWF4KDAsaSksdSl7Zm9yKHZhciBjPTA7YzxzO2MrKyl1LndvcmRzW2NdPXRoaXMud29yZHNbY107dS5sZW5ndGg9c31pZigwPT09cyk7ZWxzZSBpZih0aGlzLmxlbmd0aD5zKWZvcih0aGlzLmxlbmd0aC09cyxjPTA7Yzx0aGlzLmxlbmd0aDtjKyspdGhpcy53b3Jkc1tjXT10aGlzLndvcmRzW2Mrc107ZWxzZSB0aGlzLndvcmRzWzBdPTAsdGhpcy5sZW5ndGg9MTt2YXIgZj0wO2ZvcihjPXRoaXMubGVuZ3RoLTE7Yz49MCYmKDAhPT1mfHxjPj1pKTtjLS0pe3ZhciBoPTB8dGhpcy53b3Jkc1tjXTt0aGlzLndvcmRzW2NdPWY8PDI2LW98aD4+Pm8sZj1oJmF9cmV0dXJuIHUmJjAhPT1mJiYodS53b3Jkc1t1Lmxlbmd0aCsrXT1mKSwwPT09dGhpcy5sZW5ndGgmJih0aGlzLndvcmRzWzBdPTAsdGhpcy5sZW5ndGg9MSksdGhpcy5zdHJpcCgpfSxvLnByb3RvdHlwZS5pc2hybj1mdW5jdGlvbih0LGUscil7cmV0dXJuIG4oMD09PXRoaXMubmVnYXRpdmUpLHRoaXMuaXVzaHJuKHQsZSxyKX0sby5wcm90b3R5cGUuc2hsbj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jbG9uZSgpLmlzaGxuKHQpfSxvLnByb3RvdHlwZS51c2hsbj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jbG9uZSgpLml1c2hsbih0KX0sby5wcm90b3R5cGUuc2hybj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jbG9uZSgpLmlzaHJuKHQpfSxvLnByb3RvdHlwZS51c2hybj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jbG9uZSgpLml1c2hybih0KX0sby5wcm90b3R5cGUudGVzdG49ZnVuY3Rpb24odCl7bigibnVtYmVyIj09dHlwZW9mIHQmJnQ+PTApO3ZhciBlPXQlMjYscj0odC1lKS8yNixpPTE8PGU7cmV0dXJuISh0aGlzLmxlbmd0aDw9cikmJiEhKHRoaXMud29yZHNbcl0maSl9LG8ucHJvdG90eXBlLmltYXNrbj1mdW5jdGlvbih0KXtuKCJudW1iZXIiPT10eXBlb2YgdCYmdD49MCk7dmFyIGU9dCUyNixyPSh0LWUpLzI2O2lmKG4oMD09PXRoaXMubmVnYXRpdmUsImltYXNrbiB3b3JrcyBvbmx5IHdpdGggcG9zaXRpdmUgbnVtYmVycyIpLHRoaXMubGVuZ3RoPD1yKXJldHVybiB0aGlzO2lmKDAhPT1lJiZyKyssdGhpcy5sZW5ndGg9TWF0aC5taW4ocix0aGlzLmxlbmd0aCksMCE9PWUpe3ZhciBpPTY3MTA4ODYzXjY3MTA4ODYzPj4+ZTw8ZTt0aGlzLndvcmRzW3RoaXMubGVuZ3RoLTFdJj1pfXJldHVybiB0aGlzLnN0cmlwKCl9LG8ucHJvdG90eXBlLm1hc2tuPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNsb25lKCkuaW1hc2tuKHQpfSxvLnByb3RvdHlwZS5pYWRkbj1mdW5jdGlvbih0KXtyZXR1cm4gbigibnVtYmVyIj09dHlwZW9mIHQpLG4odDw2NzEwODg2NCksdDwwP3RoaXMuaXN1Ym4oLXQpOjAhPT10aGlzLm5lZ2F0aXZlPzE9PT10aGlzLmxlbmd0aCYmKDB8dGhpcy53b3Jkc1swXSk8dD8odGhpcy53b3Jkc1swXT10LSgwfHRoaXMud29yZHNbMF0pLHRoaXMubmVnYXRpdmU9MCx0aGlzKToodGhpcy5uZWdhdGl2ZT0wLHRoaXMuaXN1Ym4odCksdGhpcy5uZWdhdGl2ZT0xLHRoaXMpOnRoaXMuX2lhZGRuKHQpfSxvLnByb3RvdHlwZS5faWFkZG49ZnVuY3Rpb24odCl7dGhpcy53b3Jkc1swXSs9dDtmb3IodmFyIGU9MDtlPHRoaXMubGVuZ3RoJiZ0aGlzLndvcmRzW2VdPj02NzEwODg2NDtlKyspdGhpcy53b3Jkc1tlXS09NjcxMDg4NjQsZT09PXRoaXMubGVuZ3RoLTE/dGhpcy53b3Jkc1tlKzFdPTE6dGhpcy53b3Jkc1tlKzFdKys7cmV0dXJuIHRoaXMubGVuZ3RoPU1hdGgubWF4KHRoaXMubGVuZ3RoLGUrMSksdGhpc30sby5wcm90b3R5cGUuaXN1Ym49ZnVuY3Rpb24odCl7aWYobigibnVtYmVyIj09dHlwZW9mIHQpLG4odDw2NzEwODg2NCksdDwwKXJldHVybiB0aGlzLmlhZGRuKC10KTtpZigwIT09dGhpcy5uZWdhdGl2ZSlyZXR1cm4gdGhpcy5uZWdhdGl2ZT0wLHRoaXMuaWFkZG4odCksdGhpcy5uZWdhdGl2ZT0xLHRoaXM7aWYodGhpcy53b3Jkc1swXS09dCwxPT09dGhpcy5sZW5ndGgmJnRoaXMud29yZHNbMF08MCl0aGlzLndvcmRzWzBdPS10aGlzLndvcmRzWzBdLHRoaXMubmVnYXRpdmU9MTtlbHNlIGZvcih2YXIgZT0wO2U8dGhpcy5sZW5ndGgmJnRoaXMud29yZHNbZV08MDtlKyspdGhpcy53b3Jkc1tlXSs9NjcxMDg4NjQsdGhpcy53b3Jkc1tlKzFdLT0xO3JldHVybiB0aGlzLnN0cmlwKCl9LG8ucHJvdG90eXBlLmFkZG49ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pYWRkbih0KX0sby5wcm90b3R5cGUuc3Vibj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jbG9uZSgpLmlzdWJuKHQpfSxvLnByb3RvdHlwZS5pYWJzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubmVnYXRpdmU9MCx0aGlzfSxvLnByb3RvdHlwZS5hYnM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jbG9uZSgpLmlhYnMoKX0sby5wcm90b3R5cGUuX2lzaGxuc3VibXVsPWZ1bmN0aW9uKHQsZSxyKXt2YXIgaSxvLHM9dC5sZW5ndGgrcjt0aGlzLl9leHBhbmQocyk7dmFyIGE9MDtmb3IoaT0wO2k8dC5sZW5ndGg7aSsrKXtvPSgwfHRoaXMud29yZHNbaStyXSkrYTt2YXIgdT0oMHx0LndvcmRzW2ldKSplO2E9KChvLT02NzEwODg2MyZ1KT4+MjYpLSh1LzY3MTA4ODY0fDApLHRoaXMud29yZHNbaStyXT02NzEwODg2MyZvfWZvcig7aTx0aGlzLmxlbmd0aC1yO2krKylhPShvPSgwfHRoaXMud29yZHNbaStyXSkrYSk+PjI2LHRoaXMud29yZHNbaStyXT02NzEwODg2MyZvO2lmKDA9PT1hKXJldHVybiB0aGlzLnN0cmlwKCk7Zm9yKG4oLTE9PT1hKSxhPTAsaT0wO2k8dGhpcy5sZW5ndGg7aSsrKWE9KG89LSgwfHRoaXMud29yZHNbaV0pK2EpPj4yNix0aGlzLndvcmRzW2ldPTY3MTA4ODYzJm87cmV0dXJuIHRoaXMubmVnYXRpdmU9MSx0aGlzLnN0cmlwKCl9LG8ucHJvdG90eXBlLl93b3JkRGl2PWZ1bmN0aW9uKHQsZSl7dmFyIHI9KHRoaXMubGVuZ3RoLHQubGVuZ3RoKSxuPXRoaXMuY2xvbmUoKSxpPXQscz0wfGkud29yZHNbaS5sZW5ndGgtMV07MCE9PShyPTI2LXRoaXMuX2NvdW50Qml0cyhzKSkmJihpPWkudXNobG4ociksbi5pdXNobG4ocikscz0wfGkud29yZHNbaS5sZW5ndGgtMV0pO3ZhciBhLHU9bi5sZW5ndGgtaS5sZW5ndGg7aWYoIm1vZCIhPT1lKXsoYT1uZXcgbyhudWxsKSkubGVuZ3RoPXUrMSxhLndvcmRzPW5ldyBBcnJheShhLmxlbmd0aCk7Zm9yKHZhciBjPTA7YzxhLmxlbmd0aDtjKyspYS53b3Jkc1tjXT0wfXZhciBmPW4uY2xvbmUoKS5faXNobG5zdWJtdWwoaSwxLHUpOzA9PT1mLm5lZ2F0aXZlJiYobj1mLGEmJihhLndvcmRzW3VdPTEpKTtmb3IodmFyIGg9dS0xO2g+PTA7aC0tKXt2YXIgbD02NzEwODg2NCooMHxuLndvcmRzW2kubGVuZ3RoK2hdKSsoMHxuLndvcmRzW2kubGVuZ3RoK2gtMV0pO2ZvcihsPU1hdGgubWluKGwvc3wwLDY3MTA4ODYzKSxuLl9pc2hsbnN1Ym11bChpLGwsaCk7MCE9PW4ubmVnYXRpdmU7KWwtLSxuLm5lZ2F0aXZlPTAsbi5faXNobG5zdWJtdWwoaSwxLGgpLG4uaXNaZXJvKCl8fChuLm5lZ2F0aXZlXj0xKTthJiYoYS53b3Jkc1toXT1sKX1yZXR1cm4gYSYmYS5zdHJpcCgpLG4uc3RyaXAoKSwiZGl2IiE9PWUmJjAhPT1yJiZuLml1c2hybihyKSx7ZGl2OmF8fG51bGwsbW9kOm59fSxvLnByb3RvdHlwZS5kaXZtb2Q9ZnVuY3Rpb24odCxlLHIpe3JldHVybiBuKCF0LmlzWmVybygpKSx0aGlzLmlzWmVybygpP3tkaXY6bmV3IG8oMCksbW9kOm5ldyBvKDApfTowIT09dGhpcy5uZWdhdGl2ZSYmMD09PXQubmVnYXRpdmU/KGE9dGhpcy5uZWcoKS5kaXZtb2QodCxlKSwibW9kIiE9PWUmJihpPWEuZGl2Lm5lZygpKSwiZGl2IiE9PWUmJihzPWEubW9kLm5lZygpLHImJjAhPT1zLm5lZ2F0aXZlJiZzLmlhZGQodCkpLHtkaXY6aSxtb2Q6c30pOjA9PT10aGlzLm5lZ2F0aXZlJiYwIT09dC5uZWdhdGl2ZT8oYT10aGlzLmRpdm1vZCh0Lm5lZygpLGUpLCJtb2QiIT09ZSYmKGk9YS5kaXYubmVnKCkpLHtkaXY6aSxtb2Q6YS5tb2R9KTowIT0odGhpcy5uZWdhdGl2ZSZ0Lm5lZ2F0aXZlKT8oYT10aGlzLm5lZygpLmRpdm1vZCh0Lm5lZygpLGUpLCJkaXYiIT09ZSYmKHM9YS5tb2QubmVnKCksciYmMCE9PXMubmVnYXRpdmUmJnMuaXN1Yih0KSkse2RpdjphLmRpdixtb2Q6c30pOnQubGVuZ3RoPnRoaXMubGVuZ3RofHx0aGlzLmNtcCh0KTwwP3tkaXY6bmV3IG8oMCksbW9kOnRoaXN9OjE9PT10Lmxlbmd0aD8iZGl2Ij09PWU/e2Rpdjp0aGlzLmRpdm4odC53b3Jkc1swXSksbW9kOm51bGx9OiJtb2QiPT09ZT97ZGl2Om51bGwsbW9kOm5ldyBvKHRoaXMubW9kbih0LndvcmRzWzBdKSl9OntkaXY6dGhpcy5kaXZuKHQud29yZHNbMF0pLG1vZDpuZXcgbyh0aGlzLm1vZG4odC53b3Jkc1swXSkpfTp0aGlzLl93b3JkRGl2KHQsZSk7dmFyIGkscyxhfSxvLnByb3RvdHlwZS5kaXY9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuZGl2bW9kKHQsImRpdiIsITEpLmRpdn0sby5wcm90b3R5cGUubW9kPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmRpdm1vZCh0LCJtb2QiLCExKS5tb2R9LG8ucHJvdG90eXBlLnVtb2Q9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuZGl2bW9kKHQsIm1vZCIsITApLm1vZH0sby5wcm90b3R5cGUuZGl2Um91bmQ9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5kaXZtb2QodCk7aWYoZS5tb2QuaXNaZXJvKCkpcmV0dXJuIGUuZGl2O3ZhciByPTAhPT1lLmRpdi5uZWdhdGl2ZT9lLm1vZC5pc3ViKHQpOmUubW9kLG49dC51c2hybigxKSxpPXQuYW5kbG4oMSksbz1yLmNtcChuKTtyZXR1cm4gbzwwfHwxPT09aSYmMD09PW8/ZS5kaXY6MCE9PWUuZGl2Lm5lZ2F0aXZlP2UuZGl2LmlzdWJuKDEpOmUuZGl2LmlhZGRuKDEpfSxvLnByb3RvdHlwZS5tb2RuPWZ1bmN0aW9uKHQpe24odDw9NjcxMDg4NjMpO2Zvcih2YXIgZT0oMTw8MjYpJXQscj0wLGk9dGhpcy5sZW5ndGgtMTtpPj0wO2ktLSlyPShlKnIrKDB8dGhpcy53b3Jkc1tpXSkpJXQ7cmV0dXJuIHJ9LG8ucHJvdG90eXBlLmlkaXZuPWZ1bmN0aW9uKHQpe24odDw9NjcxMDg4NjMpO2Zvcih2YXIgZT0wLHI9dGhpcy5sZW5ndGgtMTtyPj0wO3ItLSl7dmFyIGk9KDB8dGhpcy53b3Jkc1tyXSkrNjcxMDg4NjQqZTt0aGlzLndvcmRzW3JdPWkvdHwwLGU9aSV0fXJldHVybiB0aGlzLnN0cmlwKCl9LG8ucHJvdG90eXBlLmRpdm49ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pZGl2bih0KX0sby5wcm90b3R5cGUuZWdjZD1mdW5jdGlvbih0KXtuKDA9PT10Lm5lZ2F0aXZlKSxuKCF0LmlzWmVybygpKTt2YXIgZT10aGlzLHI9dC5jbG9uZSgpO2U9MCE9PWUubmVnYXRpdmU/ZS51bW9kKHQpOmUuY2xvbmUoKTtmb3IodmFyIGk9bmV3IG8oMSkscz1uZXcgbygwKSxhPW5ldyBvKDApLHU9bmV3IG8oMSksYz0wO2UuaXNFdmVuKCkmJnIuaXNFdmVuKCk7KWUuaXVzaHJuKDEpLHIuaXVzaHJuKDEpLCsrYztmb3IodmFyIGY9ci5jbG9uZSgpLGg9ZS5jbG9uZSgpOyFlLmlzWmVybygpOyl7Zm9yKHZhciBsPTAsZD0xOzA9PShlLndvcmRzWzBdJmQpJiZsPDI2OysrbCxkPDw9MSk7aWYobD4wKWZvcihlLml1c2hybihsKTtsLS0gPjA7KShpLmlzT2RkKCl8fHMuaXNPZGQoKSkmJihpLmlhZGQoZikscy5pc3ViKGgpKSxpLml1c2hybigxKSxzLml1c2hybigxKTtmb3IodmFyIHA9MCxtPTE7MD09KHIud29yZHNbMF0mbSkmJnA8MjY7KytwLG08PD0xKTtpZihwPjApZm9yKHIuaXVzaHJuKHApO3AtLSA+MDspKGEuaXNPZGQoKXx8dS5pc09kZCgpKSYmKGEuaWFkZChmKSx1LmlzdWIoaCkpLGEuaXVzaHJuKDEpLHUuaXVzaHJuKDEpO2UuY21wKHIpPj0wPyhlLmlzdWIociksaS5pc3ViKGEpLHMuaXN1Yih1KSk6KHIuaXN1YihlKSxhLmlzdWIoaSksdS5pc3ViKHMpKX1yZXR1cm57YTphLGI6dSxnY2Q6ci5pdXNobG4oYyl9fSxvLnByb3RvdHlwZS5faW52bXA9ZnVuY3Rpb24odCl7bigwPT09dC5uZWdhdGl2ZSksbighdC5pc1plcm8oKSk7dmFyIGU9dGhpcyxyPXQuY2xvbmUoKTtlPTAhPT1lLm5lZ2F0aXZlP2UudW1vZCh0KTplLmNsb25lKCk7Zm9yKHZhciBpLHM9bmV3IG8oMSksYT1uZXcgbygwKSx1PXIuY2xvbmUoKTtlLmNtcG4oMSk+MCYmci5jbXBuKDEpPjA7KXtmb3IodmFyIGM9MCxmPTE7MD09KGUud29yZHNbMF0mZikmJmM8MjY7KytjLGY8PD0xKTtpZihjPjApZm9yKGUuaXVzaHJuKGMpO2MtLSA+MDspcy5pc09kZCgpJiZzLmlhZGQodSkscy5pdXNocm4oMSk7Zm9yKHZhciBoPTAsbD0xOzA9PShyLndvcmRzWzBdJmwpJiZoPDI2OysraCxsPDw9MSk7aWYoaD4wKWZvcihyLml1c2hybihoKTtoLS0gPjA7KWEuaXNPZGQoKSYmYS5pYWRkKHUpLGEuaXVzaHJuKDEpO2UuY21wKHIpPj0wPyhlLmlzdWIocikscy5pc3ViKGEpKTooci5pc3ViKGUpLGEuaXN1YihzKSl9cmV0dXJuKGk9MD09PWUuY21wbigxKT9zOmEpLmNtcG4oMCk8MCYmaS5pYWRkKHQpLGl9LG8ucHJvdG90eXBlLmdjZD1mdW5jdGlvbih0KXtpZih0aGlzLmlzWmVybygpKXJldHVybiB0LmFicygpO2lmKHQuaXNaZXJvKCkpcmV0dXJuIHRoaXMuYWJzKCk7dmFyIGU9dGhpcy5jbG9uZSgpLHI9dC5jbG9uZSgpO2UubmVnYXRpdmU9MCxyLm5lZ2F0aXZlPTA7Zm9yKHZhciBuPTA7ZS5pc0V2ZW4oKSYmci5pc0V2ZW4oKTtuKyspZS5pdXNocm4oMSksci5pdXNocm4oMSk7Zm9yKDs7KXtmb3IoO2UuaXNFdmVuKCk7KWUuaXVzaHJuKDEpO2Zvcig7ci5pc0V2ZW4oKTspci5pdXNocm4oMSk7dmFyIGk9ZS5jbXAocik7aWYoaTwwKXt2YXIgbz1lO2U9cixyPW99ZWxzZSBpZigwPT09aXx8MD09PXIuY21wbigxKSlicmVhaztlLmlzdWIocil9cmV0dXJuIHIuaXVzaGxuKG4pfSxvLnByb3RvdHlwZS5pbnZtPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmVnY2QodCkuYS51bW9kKHQpfSxvLnByb3RvdHlwZS5pc0V2ZW49ZnVuY3Rpb24oKXtyZXR1cm4gMD09KDEmdGhpcy53b3Jkc1swXSl9LG8ucHJvdG90eXBlLmlzT2RkPWZ1bmN0aW9uKCl7cmV0dXJuIDE9PSgxJnRoaXMud29yZHNbMF0pfSxvLnByb3RvdHlwZS5hbmRsbj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy53b3Jkc1swXSZ0fSxvLnByb3RvdHlwZS5iaW5jbj1mdW5jdGlvbih0KXtuKCJudW1iZXIiPT10eXBlb2YgdCk7dmFyIGU9dCUyNixyPSh0LWUpLzI2LGk9MTw8ZTtpZih0aGlzLmxlbmd0aDw9cilyZXR1cm4gdGhpcy5fZXhwYW5kKHIrMSksdGhpcy53b3Jkc1tyXXw9aSx0aGlzO2Zvcih2YXIgbz1pLHM9cjswIT09byYmczx0aGlzLmxlbmd0aDtzKyspe3ZhciBhPTB8dGhpcy53b3Jkc1tzXTtvPShhKz1vKT4+PjI2LGEmPTY3MTA4ODYzLHRoaXMud29yZHNbc109YX1yZXR1cm4gMCE9PW8mJih0aGlzLndvcmRzW3NdPW8sdGhpcy5sZW5ndGgrKyksdGhpc30sby5wcm90b3R5cGUuaXNaZXJvPWZ1bmN0aW9uKCl7cmV0dXJuIDE9PT10aGlzLmxlbmd0aCYmMD09PXRoaXMud29yZHNbMF19LG8ucHJvdG90eXBlLmNtcG49ZnVuY3Rpb24odCl7dmFyIGUscj10PDA7aWYoMCE9PXRoaXMubmVnYXRpdmUmJiFyKXJldHVybi0xO2lmKDA9PT10aGlzLm5lZ2F0aXZlJiZyKXJldHVybiAxO2lmKHRoaXMuc3RyaXAoKSx0aGlzLmxlbmd0aD4xKWU9MTtlbHNle3ImJih0PS10KSxuKHQ8PTY3MTA4ODYzLCJOdW1iZXIgaXMgdG9vIGJpZyIpO3ZhciBpPTB8dGhpcy53b3Jkc1swXTtlPWk9PT10PzA6aTx0Py0xOjF9cmV0dXJuIDAhPT10aGlzLm5lZ2F0aXZlPzB8LWU6ZX0sby5wcm90b3R5cGUuY21wPWZ1bmN0aW9uKHQpe2lmKDAhPT10aGlzLm5lZ2F0aXZlJiYwPT09dC5uZWdhdGl2ZSlyZXR1cm4tMTtpZigwPT09dGhpcy5uZWdhdGl2ZSYmMCE9PXQubmVnYXRpdmUpcmV0dXJuIDE7dmFyIGU9dGhpcy51Y21wKHQpO3JldHVybiAwIT09dGhpcy5uZWdhdGl2ZT8wfC1lOmV9LG8ucHJvdG90eXBlLnVjbXA9ZnVuY3Rpb24odCl7aWYodGhpcy5sZW5ndGg+dC5sZW5ndGgpcmV0dXJuIDE7aWYodGhpcy5sZW5ndGg8dC5sZW5ndGgpcmV0dXJuLTE7Zm9yKHZhciBlPTAscj10aGlzLmxlbmd0aC0xO3I+PTA7ci0tKXt2YXIgbj0wfHRoaXMud29yZHNbcl0saT0wfHQud29yZHNbcl07aWYobiE9PWkpe248aT9lPS0xOm4+aSYmKGU9MSk7YnJlYWt9fXJldHVybiBlfSxvLnByb3RvdHlwZS5ndG49ZnVuY3Rpb24odCl7cmV0dXJuIDE9PT10aGlzLmNtcG4odCl9LG8ucHJvdG90eXBlLmd0PWZ1bmN0aW9uKHQpe3JldHVybiAxPT09dGhpcy5jbXAodCl9LG8ucHJvdG90eXBlLmd0ZW49ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY21wbih0KT49MH0sby5wcm90b3R5cGUuZ3RlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNtcCh0KT49MH0sby5wcm90b3R5cGUubHRuPWZ1bmN0aW9uKHQpe3JldHVybi0xPT09dGhpcy5jbXBuKHQpfSxvLnByb3RvdHlwZS5sdD1mdW5jdGlvbih0KXtyZXR1cm4tMT09PXRoaXMuY21wKHQpfSxvLnByb3RvdHlwZS5sdGVuPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNtcG4odCk8PTB9LG8ucHJvdG90eXBlLmx0ZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jbXAodCk8PTB9LG8ucHJvdG90eXBlLmVxbj1mdW5jdGlvbih0KXtyZXR1cm4gMD09PXRoaXMuY21wbih0KX0sby5wcm90b3R5cGUuZXE9ZnVuY3Rpb24odCl7cmV0dXJuIDA9PT10aGlzLmNtcCh0KX0sby5yZWQ9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBTKHQpfSxvLnByb3RvdHlwZS50b1JlZD1mdW5jdGlvbih0KXtyZXR1cm4gbighdGhpcy5yZWQsIkFscmVhZHkgYSBudW1iZXIgaW4gcmVkdWN0aW9uIGNvbnRleHQiKSxuKDA9PT10aGlzLm5lZ2F0aXZlLCJyZWQgd29ya3Mgb25seSB3aXRoIHBvc2l0aXZlcyIpLHQuY29udmVydFRvKHRoaXMpLl9mb3JjZVJlZCh0KX0sby5wcm90b3R5cGUuZnJvbVJlZD1mdW5jdGlvbigpe3JldHVybiBuKHRoaXMucmVkLCJmcm9tUmVkIHdvcmtzIG9ubHkgd2l0aCBudW1iZXJzIGluIHJlZHVjdGlvbiBjb250ZXh0IiksdGhpcy5yZWQuY29udmVydEZyb20odGhpcyl9LG8ucHJvdG90eXBlLl9mb3JjZVJlZD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5yZWQ9dCx0aGlzfSxvLnByb3RvdHlwZS5mb3JjZVJlZD1mdW5jdGlvbih0KXtyZXR1cm4gbighdGhpcy5yZWQsIkFscmVhZHkgYSBudW1iZXIgaW4gcmVkdWN0aW9uIGNvbnRleHQiKSx0aGlzLl9mb3JjZVJlZCh0KX0sby5wcm90b3R5cGUucmVkQWRkPWZ1bmN0aW9uKHQpe3JldHVybiBuKHRoaXMucmVkLCJyZWRBZGQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiksdGhpcy5yZWQuYWRkKHRoaXMsdCl9LG8ucHJvdG90eXBlLnJlZElBZGQ9ZnVuY3Rpb24odCl7cmV0dXJuIG4odGhpcy5yZWQsInJlZElBZGQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiksdGhpcy5yZWQuaWFkZCh0aGlzLHQpfSxvLnByb3RvdHlwZS5yZWRTdWI9ZnVuY3Rpb24odCl7cmV0dXJuIG4odGhpcy5yZWQsInJlZFN1YiB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5zdWIodGhpcyx0KX0sby5wcm90b3R5cGUucmVkSVN1Yj1mdW5jdGlvbih0KXtyZXR1cm4gbih0aGlzLnJlZCwicmVkSVN1YiB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5pc3ViKHRoaXMsdCl9LG8ucHJvdG90eXBlLnJlZFNobD1mdW5jdGlvbih0KXtyZXR1cm4gbih0aGlzLnJlZCwicmVkU2hsIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMucmVkLnNobCh0aGlzLHQpfSxvLnByb3RvdHlwZS5yZWRNdWw9ZnVuY3Rpb24odCl7cmV0dXJuIG4odGhpcy5yZWQsInJlZE11bCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5fdmVyaWZ5Mih0aGlzLHQpLHRoaXMucmVkLm11bCh0aGlzLHQpfSxvLnByb3RvdHlwZS5yZWRJTXVsPWZ1bmN0aW9uKHQpe3JldHVybiBuKHRoaXMucmVkLCJyZWRNdWwgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiksdGhpcy5yZWQuX3ZlcmlmeTIodGhpcyx0KSx0aGlzLnJlZC5pbXVsKHRoaXMsdCl9LG8ucHJvdG90eXBlLnJlZFNxcj1mdW5jdGlvbigpe3JldHVybiBuKHRoaXMucmVkLCJyZWRTcXIgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiksdGhpcy5yZWQuX3ZlcmlmeTEodGhpcyksdGhpcy5yZWQuc3FyKHRoaXMpfSxvLnByb3RvdHlwZS5yZWRJU3FyPWZ1bmN0aW9uKCl7cmV0dXJuIG4odGhpcy5yZWQsInJlZElTcXIgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiksdGhpcy5yZWQuX3ZlcmlmeTEodGhpcyksdGhpcy5yZWQuaXNxcih0aGlzKX0sby5wcm90b3R5cGUucmVkU3FydD1mdW5jdGlvbigpe3JldHVybiBuKHRoaXMucmVkLCJyZWRTcXJ0IHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpLHRoaXMucmVkLnNxcnQodGhpcyl9LG8ucHJvdG90eXBlLnJlZEludm09ZnVuY3Rpb24oKXtyZXR1cm4gbih0aGlzLnJlZCwicmVkSW52bSB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKSx0aGlzLnJlZC5pbnZtKHRoaXMpfSxvLnByb3RvdHlwZS5yZWROZWc9ZnVuY3Rpb24oKXtyZXR1cm4gbih0aGlzLnJlZCwicmVkTmVnIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpLHRoaXMucmVkLm5lZyh0aGlzKX0sby5wcm90b3R5cGUucmVkUG93PWZ1bmN0aW9uKHQpe3JldHVybiBuKHRoaXMucmVkJiYhdC5yZWQsInJlZFBvdyhub3JtYWxOdW0pIiksdGhpcy5yZWQuX3ZlcmlmeTEodGhpcyksdGhpcy5yZWQucG93KHRoaXMsdCl9O3ZhciBiPXtrMjU2Om51bGwscDIyNDpudWxsLHAxOTI6bnVsbCxwMjU1MTk6bnVsbH07ZnVuY3Rpb24geSh0LGUpe3RoaXMubmFtZT10LHRoaXMucD1uZXcgbyhlLDE2KSx0aGlzLm49dGhpcy5wLmJpdExlbmd0aCgpLHRoaXMuaz1uZXcgbygxKS5pdXNobG4odGhpcy5uKS5pc3ViKHRoaXMucCksdGhpcy50bXA9dGhpcy5fdG1wKCl9ZnVuY3Rpb24gdigpe3kuY2FsbCh0aGlzLCJrMjU2IiwiZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmUgZmZmZmZjMmYiKX1mdW5jdGlvbiBfKCl7eS5jYWxsKHRoaXMsInAyMjQiLCJmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMSIpfWZ1bmN0aW9uIHcoKXt5LmNhbGwodGhpcywicDE5MiIsImZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZlIGZmZmZmZmZmIGZmZmZmZmZmIil9ZnVuY3Rpb24gTSgpe3kuY2FsbCh0aGlzLCIyNTUxOSIsIjdmZmZmZmZmZmZmZmZmZmYgZmZmZmZmZmZmZmZmZmZmZiBmZmZmZmZmZmZmZmZmZmZmIGZmZmZmZmZmZmZmZmZmZWQiKX1mdW5jdGlvbiBTKHQpe2lmKCJzdHJpbmciPT10eXBlb2YgdCl7dmFyIGU9by5fcHJpbWUodCk7dGhpcy5tPWUucCx0aGlzLnByaW1lPWV9ZWxzZSBuKHQuZ3RuKDEpLCJtb2R1bHVzIG11c3QgYmUgZ3JlYXRlciB0aGFuIDEiKSx0aGlzLm09dCx0aGlzLnByaW1lPW51bGx9ZnVuY3Rpb24gRSh0KXtTLmNhbGwodGhpcyx0KSx0aGlzLnNoaWZ0PXRoaXMubS5iaXRMZW5ndGgoKSx0aGlzLnNoaWZ0JTI2IT0wJiYodGhpcy5zaGlmdCs9MjYtdGhpcy5zaGlmdCUyNiksdGhpcy5yPW5ldyBvKDEpLml1c2hsbih0aGlzLnNoaWZ0KSx0aGlzLnIyPXRoaXMuaW1vZCh0aGlzLnIuc3FyKCkpLHRoaXMucmludj10aGlzLnIuX2ludm1wKHRoaXMubSksdGhpcy5taW52PXRoaXMucmludi5tdWwodGhpcy5yKS5pc3VibigxKS5kaXYodGhpcy5tKSx0aGlzLm1pbnY9dGhpcy5taW52LnVtb2QodGhpcy5yKSx0aGlzLm1pbnY9dGhpcy5yLnN1Yih0aGlzLm1pbnYpfXkucHJvdG90eXBlLl90bXA9ZnVuY3Rpb24oKXt2YXIgdD1uZXcgbyhudWxsKTtyZXR1cm4gdC53b3Jkcz1uZXcgQXJyYXkoTWF0aC5jZWlsKHRoaXMubi8xMykpLHR9LHkucHJvdG90eXBlLmlyZWR1Y2U9ZnVuY3Rpb24odCl7dmFyIGUscj10O2Rve3RoaXMuc3BsaXQocix0aGlzLnRtcCksZT0ocj0ocj10aGlzLmltdWxLKHIpKS5pYWRkKHRoaXMudG1wKSkuYml0TGVuZ3RoKCl9d2hpbGUoZT50aGlzLm4pO3ZhciBuPWU8dGhpcy5uPy0xOnIudWNtcCh0aGlzLnApO3JldHVybiAwPT09bj8oci53b3Jkc1swXT0wLHIubGVuZ3RoPTEpOm4+MD9yLmlzdWIodGhpcy5wKTp2b2lkIDAhPT1yLnN0cmlwP3Iuc3RyaXAoKTpyLl9zdHJpcCgpLHJ9LHkucHJvdG90eXBlLnNwbGl0PWZ1bmN0aW9uKHQsZSl7dC5pdXNocm4odGhpcy5uLDAsZSl9LHkucHJvdG90eXBlLmltdWxLPWZ1bmN0aW9uKHQpe3JldHVybiB0LmltdWwodGhpcy5rKX0saSh2LHkpLHYucHJvdG90eXBlLnNwbGl0PWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPU1hdGgubWluKHQubGVuZ3RoLDkpLG49MDtuPHI7bisrKWUud29yZHNbbl09dC53b3Jkc1tuXTtpZihlLmxlbmd0aD1yLHQubGVuZ3RoPD05KXJldHVybiB0LndvcmRzWzBdPTAsdm9pZCh0Lmxlbmd0aD0xKTt2YXIgaT10LndvcmRzWzldO2ZvcihlLndvcmRzW2UubGVuZ3RoKytdPTQxOTQzMDMmaSxuPTEwO248dC5sZW5ndGg7bisrKXt2YXIgbz0wfHQud29yZHNbbl07dC53b3Jkc1tuLTEwXT0oNDE5NDMwMyZvKTw8NHxpPj4+MjIsaT1vfWk+Pj49MjIsdC53b3Jkc1tuLTEwXT1pLDA9PT1pJiZ0Lmxlbmd0aD4xMD90Lmxlbmd0aC09MTA6dC5sZW5ndGgtPTl9LHYucHJvdG90eXBlLmltdWxLPWZ1bmN0aW9uKHQpe3Qud29yZHNbdC5sZW5ndGhdPTAsdC53b3Jkc1t0Lmxlbmd0aCsxXT0wLHQubGVuZ3RoKz0yO2Zvcih2YXIgZT0wLHI9MDtyPHQubGVuZ3RoO3IrKyl7dmFyIG49MHx0LndvcmRzW3JdO2UrPTk3NypuLHQud29yZHNbcl09NjcxMDg4NjMmZSxlPTY0Km4rKGUvNjcxMDg4NjR8MCl9cmV0dXJuIDA9PT10LndvcmRzW3QubGVuZ3RoLTFdJiYodC5sZW5ndGgtLSwwPT09dC53b3Jkc1t0Lmxlbmd0aC0xXSYmdC5sZW5ndGgtLSksdH0saShfLHkpLGkodyx5KSxpKE0seSksTS5wcm90b3R5cGUuaW11bEs9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPTAscj0wO3I8dC5sZW5ndGg7cisrKXt2YXIgbj0xOSooMHx0LndvcmRzW3JdKStlLGk9NjcxMDg4NjMmbjtuPj4+PTI2LHQud29yZHNbcl09aSxlPW59cmV0dXJuIDAhPT1lJiYodC53b3Jkc1t0Lmxlbmd0aCsrXT1lKSx0fSxvLl9wcmltZT1mdW5jdGlvbih0KXtpZihiW3RdKXJldHVybiBiW3RdO3ZhciBlO2lmKCJrMjU2Ij09PXQpZT1uZXcgdjtlbHNlIGlmKCJwMjI0Ij09PXQpZT1uZXcgXztlbHNlIGlmKCJwMTkyIj09PXQpZT1uZXcgdztlbHNle2lmKCJwMjU1MTkiIT09dCl0aHJvdyBuZXcgRXJyb3IoIlVua25vd24gcHJpbWUgIit0KTtlPW5ldyBNfXJldHVybiBiW3RdPWUsZX0sUy5wcm90b3R5cGUuX3ZlcmlmeTE9ZnVuY3Rpb24odCl7bigwPT09dC5uZWdhdGl2ZSwicmVkIHdvcmtzIG9ubHkgd2l0aCBwb3NpdGl2ZXMiKSxuKHQucmVkLCJyZWQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIil9LFMucHJvdG90eXBlLl92ZXJpZnkyPWZ1bmN0aW9uKHQsZSl7bigwPT0odC5uZWdhdGl2ZXxlLm5lZ2F0aXZlKSwicmVkIHdvcmtzIG9ubHkgd2l0aCBwb3NpdGl2ZXMiKSxuKHQucmVkJiZ0LnJlZD09PWUucmVkLCJyZWQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIil9LFMucHJvdG90eXBlLmltb2Q9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMucHJpbWU/dGhpcy5wcmltZS5pcmVkdWNlKHQpLl9mb3JjZVJlZCh0aGlzKTp0LnVtb2QodGhpcy5tKS5fZm9yY2VSZWQodGhpcyl9LFMucHJvdG90eXBlLm5lZz1mdW5jdGlvbih0KXtyZXR1cm4gdC5pc1plcm8oKT90LmNsb25lKCk6dGhpcy5tLnN1Yih0KS5fZm9yY2VSZWQodGhpcyl9LFMucHJvdG90eXBlLmFkZD1mdW5jdGlvbih0LGUpe3RoaXMuX3ZlcmlmeTIodCxlKTt2YXIgcj10LmFkZChlKTtyZXR1cm4gci5jbXAodGhpcy5tKT49MCYmci5pc3ViKHRoaXMubSksci5fZm9yY2VSZWQodGhpcyl9LFMucHJvdG90eXBlLmlhZGQ9ZnVuY3Rpb24odCxlKXt0aGlzLl92ZXJpZnkyKHQsZSk7dmFyIHI9dC5pYWRkKGUpO3JldHVybiByLmNtcCh0aGlzLm0pPj0wJiZyLmlzdWIodGhpcy5tKSxyfSxTLnByb3RvdHlwZS5zdWI9ZnVuY3Rpb24odCxlKXt0aGlzLl92ZXJpZnkyKHQsZSk7dmFyIHI9dC5zdWIoZSk7cmV0dXJuIHIuY21wbigwKTwwJiZyLmlhZGQodGhpcy5tKSxyLl9mb3JjZVJlZCh0aGlzKX0sUy5wcm90b3R5cGUuaXN1Yj1mdW5jdGlvbih0LGUpe3RoaXMuX3ZlcmlmeTIodCxlKTt2YXIgcj10LmlzdWIoZSk7cmV0dXJuIHIuY21wbigwKTwwJiZyLmlhZGQodGhpcy5tKSxyfSxTLnByb3RvdHlwZS5zaGw9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5fdmVyaWZ5MSh0KSx0aGlzLmltb2QodC51c2hsbihlKSl9LFMucHJvdG90eXBlLmltdWw9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5fdmVyaWZ5Mih0LGUpLHRoaXMuaW1vZCh0LmltdWwoZSkpfSxTLnByb3RvdHlwZS5tdWw9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5fdmVyaWZ5Mih0LGUpLHRoaXMuaW1vZCh0Lm11bChlKSl9LFMucHJvdG90eXBlLmlzcXI9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuaW11bCh0LHQuY2xvbmUoKSl9LFMucHJvdG90eXBlLnNxcj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5tdWwodCx0KX0sUy5wcm90b3R5cGUuc3FydD1mdW5jdGlvbih0KXtpZih0LmlzWmVybygpKXJldHVybiB0LmNsb25lKCk7dmFyIGU9dGhpcy5tLmFuZGxuKDMpO2lmKG4oZSUyPT0xKSwzPT09ZSl7dmFyIHI9dGhpcy5tLmFkZChuZXcgbygxKSkuaXVzaHJuKDIpO3JldHVybiB0aGlzLnBvdyh0LHIpfWZvcih2YXIgaT10aGlzLm0uc3VibigxKSxzPTA7IWkuaXNaZXJvKCkmJjA9PT1pLmFuZGxuKDEpOylzKyssaS5pdXNocm4oMSk7bighaS5pc1plcm8oKSk7dmFyIGE9bmV3IG8oMSkudG9SZWQodGhpcyksdT1hLnJlZE5lZygpLGM9dGhpcy5tLnN1Ym4oMSkuaXVzaHJuKDEpLGY9dGhpcy5tLmJpdExlbmd0aCgpO2ZvcihmPW5ldyBvKDIqZipmKS50b1JlZCh0aGlzKTswIT09dGhpcy5wb3coZixjKS5jbXAodSk7KWYucmVkSUFkZCh1KTtmb3IodmFyIGg9dGhpcy5wb3coZixpKSxsPXRoaXMucG93KHQsaS5hZGRuKDEpLml1c2hybigxKSksZD10aGlzLnBvdyh0LGkpLHA9czswIT09ZC5jbXAoYSk7KXtmb3IodmFyIG09ZCxnPTA7MCE9PW0uY21wKGEpO2crKyltPW0ucmVkU3FyKCk7bihnPHApO3ZhciBiPXRoaXMucG93KGgsbmV3IG8oMSkuaXVzaGxuKHAtZy0xKSk7bD1sLnJlZE11bChiKSxoPWIucmVkU3FyKCksZD1kLnJlZE11bChoKSxwPWd9cmV0dXJuIGx9LFMucHJvdG90eXBlLmludm09ZnVuY3Rpb24odCl7dmFyIGU9dC5faW52bXAodGhpcy5tKTtyZXR1cm4gMCE9PWUubmVnYXRpdmU/KGUubmVnYXRpdmU9MCx0aGlzLmltb2QoZSkucmVkTmVnKCkpOnRoaXMuaW1vZChlKX0sUy5wcm90b3R5cGUucG93PWZ1bmN0aW9uKHQsZSl7aWYoZS5pc1plcm8oKSlyZXR1cm4gbmV3IG8oMSkudG9SZWQodGhpcyk7aWYoMD09PWUuY21wbigxKSlyZXR1cm4gdC5jbG9uZSgpO3ZhciByPW5ldyBBcnJheSgxNik7clswXT1uZXcgbygxKS50b1JlZCh0aGlzKSxyWzFdPXQ7Zm9yKHZhciBuPTI7bjxyLmxlbmd0aDtuKyspcltuXT10aGlzLm11bChyW24tMV0sdCk7dmFyIGk9clswXSxzPTAsYT0wLHU9ZS5iaXRMZW5ndGgoKSUyNjtmb3IoMD09PXUmJih1PTI2KSxuPWUubGVuZ3RoLTE7bj49MDtuLS0pe2Zvcih2YXIgYz1lLndvcmRzW25dLGY9dS0xO2Y+PTA7Zi0tKXt2YXIgaD1jPj5mJjE7aSE9PXJbMF0mJihpPXRoaXMuc3FyKGkpKSwwIT09aHx8MCE9PXM/KHM8PD0xLHN8PWgsKDQ9PT0rK2F8fDA9PT1uJiYwPT09ZikmJihpPXRoaXMubXVsKGkscltzXSksYT0wLHM9MCkpOmE9MH11PTI2fXJldHVybiBpfSxTLnByb3RvdHlwZS5jb252ZXJ0VG89ZnVuY3Rpb24odCl7dmFyIGU9dC51bW9kKHRoaXMubSk7cmV0dXJuIGU9PT10P2UuY2xvbmUoKTplfSxTLnByb3RvdHlwZS5jb252ZXJ0RnJvbT1mdW5jdGlvbih0KXt2YXIgZT10LmNsb25lKCk7cmV0dXJuIGUucmVkPW51bGwsZX0sby5tb250PWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgRSh0KX0saShFLFMpLEUucHJvdG90eXBlLmNvbnZlcnRUbz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5pbW9kKHQudXNobG4odGhpcy5zaGlmdCkpfSxFLnByb3RvdHlwZS5jb252ZXJ0RnJvbT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmltb2QodC5tdWwodGhpcy5yaW52KSk7cmV0dXJuIGUucmVkPW51bGwsZX0sRS5wcm90b3R5cGUuaW11bD1mdW5jdGlvbih0LGUpe2lmKHQuaXNaZXJvKCl8fGUuaXNaZXJvKCkpcmV0dXJuIHQud29yZHNbMF09MCx0Lmxlbmd0aD0xLHQ7dmFyIHI9dC5pbXVsKGUpLG49ci5tYXNrbih0aGlzLnNoaWZ0KS5tdWwodGhpcy5taW52KS5pbWFza24odGhpcy5zaGlmdCkubXVsKHRoaXMubSksaT1yLmlzdWIobikuaXVzaHJuKHRoaXMuc2hpZnQpLG89aTtyZXR1cm4gaS5jbXAodGhpcy5tKT49MD9vPWkuaXN1Yih0aGlzLm0pOmkuY21wbigwKTwwJiYobz1pLmlhZGQodGhpcy5tKSksby5fZm9yY2VSZWQodGhpcyl9LEUucHJvdG90eXBlLm11bD1mdW5jdGlvbih0LGUpe2lmKHQuaXNaZXJvKCl8fGUuaXNaZXJvKCkpcmV0dXJuIG5ldyBvKDApLl9mb3JjZVJlZCh0aGlzKTt2YXIgcj10Lm11bChlKSxuPXIubWFza24odGhpcy5zaGlmdCkubXVsKHRoaXMubWludikuaW1hc2tuKHRoaXMuc2hpZnQpLm11bCh0aGlzLm0pLGk9ci5pc3ViKG4pLml1c2hybih0aGlzLnNoaWZ0KSxzPWk7cmV0dXJuIGkuY21wKHRoaXMubSk+PTA/cz1pLmlzdWIodGhpcy5tKTppLmNtcG4oMCk8MCYmKHM9aS5pYWRkKHRoaXMubSkpLHMuX2ZvcmNlUmVkKHRoaXMpfSxFLnByb3RvdHlwZS5pbnZtPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmltb2QodC5faW52bXAodGhpcy5tKS5tdWwodGhpcy5yMikpLl9mb3JjZVJlZCh0aGlzKX19KHQsdGhpcyl9KS5jYWxsKHRoaXMscigyNSkodCkpfSxmdW5jdGlvbih0LGUpe3ZhciByLG49WzAsMjYsNDQsNzAsMTAwLDEzNCwxNzIsMTk2LDI0MiwyOTIsMzQ2LDQwNCw0NjYsNTMyLDU4MSw2NTUsNzMzLDgxNSw5MDEsOTkxLDEwODUsMTE1NiwxMjU4LDEzNjQsMTQ3NCwxNTg4LDE3MDYsMTgyOCwxOTIxLDIwNTEsMjE4NSwyMzIzLDI0NjUsMjYxMSwyNzYxLDI4NzYsMzAzNCwzMTk2LDMzNjIsMzUzMiwzNzA2XTtlLmdldFN5bWJvbFNpemU9ZnVuY3Rpb24odCl7aWYoIXQpdGhyb3cgbmV3IEVycm9yKCcidmVyc2lvbiIgY2Fubm90IGJlIG51bGwgb3IgdW5kZWZpbmVkJyk7aWYodDwxfHx0PjQwKXRocm93IG5ldyBFcnJvcignInZlcnNpb24iIHNob3VsZCBiZSBpbiByYW5nZSBmcm9tIDEgdG8gNDAnKTtyZXR1cm4gNCp0KzE3fSxlLmdldFN5bWJvbFRvdGFsQ29kZXdvcmRzPWZ1bmN0aW9uKHQpe3JldHVybiBuW3RdfSxlLmdldEJDSERpZ2l0PWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT0wOzAhPT10OyllKyssdD4+Pj0xO3JldHVybiBlfSxlLnNldFRvU0pJU0Z1bmN0aW9uPWZ1bmN0aW9uKHQpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiB0KXRocm93IG5ldyBFcnJvcignInRvU0pJU0Z1bmMiIGlzIG5vdCBhIHZhbGlkIGZ1bmN0aW9uLicpO3I9dH0sZS5pc0thbmppTW9kZUVuYWJsZWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdm9pZCAwIT09cn0sZS50b1NKSVM9ZnVuY3Rpb24odCl7cmV0dXJuIHIodCl9fSxmdW5jdGlvbih0LGUscil7dmFyIG49cig5OSksaT1yKDEwMCk7ZS5OVU1FUklDPXtpZDoiTnVtZXJpYyIsYml0OjEsY2NCaXRzOlsxMCwxMiwxNF19LGUuQUxQSEFOVU1FUklDPXtpZDoiQWxwaGFudW1lcmljIixiaXQ6MixjY0JpdHM6WzksMTEsMTNdfSxlLkJZVEU9e2lkOiJCeXRlIixiaXQ6NCxjY0JpdHM6WzgsMTYsMTZdfSxlLktBTkpJPXtpZDoiS2FuamkiLGJpdDo4LGNjQml0czpbOCwxMCwxMl19LGUuTUlYRUQ9e2JpdDotMX0sZS5nZXRDaGFyQ291bnRJbmRpY2F0b3I9ZnVuY3Rpb24odCxlKXtpZighdC5jY0JpdHMpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIG1vZGU6ICIrdCk7aWYoIW4uaXNWYWxpZChlKSl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgdmVyc2lvbjogIitlKTtyZXR1cm4gZT49MSYmZTwxMD90LmNjQml0c1swXTplPDI3P3QuY2NCaXRzWzFdOnQuY2NCaXRzWzJdfSxlLmdldEJlc3RNb2RlRm9yRGF0YT1mdW5jdGlvbih0KXtyZXR1cm4gaS50ZXN0TnVtZXJpYyh0KT9lLk5VTUVSSUM6aS50ZXN0QWxwaGFudW1lcmljKHQpP2UuQUxQSEFOVU1FUklDOmkudGVzdEthbmppKHQpP2UuS0FOSkk6ZS5CWVRFfSxlLnRvU3RyaW5nPWZ1bmN0aW9uKHQpe2lmKHQmJnQuaWQpcmV0dXJuIHQuaWQ7dGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIG1vZGUiKX0sZS5pc1ZhbGlkPWZ1bmN0aW9uKHQpe3JldHVybiB0JiZ0LmJpdCYmdC5jY0JpdHN9LGUuZnJvbT1mdW5jdGlvbih0LHIpe2lmKGUuaXNWYWxpZCh0KSlyZXR1cm4gdDt0cnl7cmV0dXJuIGZ1bmN0aW9uKHQpe2lmKCJzdHJpbmciIT10eXBlb2YgdCl0aHJvdyBuZXcgRXJyb3IoIlBhcmFtIGlzIG5vdCBhIHN0cmluZyIpO3N3aXRjaCh0LnRvTG93ZXJDYXNlKCkpe2Nhc2UibnVtZXJpYyI6cmV0dXJuIGUuTlVNRVJJQztjYXNlImFscGhhbnVtZXJpYyI6cmV0dXJuIGUuQUxQSEFOVU1FUklDO2Nhc2Uia2FuamkiOnJldHVybiBlLktBTkpJO2Nhc2UiYnl0ZSI6cmV0dXJuIGUuQllURTtkZWZhdWx0OnRocm93IG5ldyBFcnJvcigiVW5rbm93biBtb2RlOiAiK3QpfX0odCl9Y2F0Y2godCl7cmV0dXJuIHJ9fX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDQzKSxpPU9iamVjdC5rZXlzfHxmdW5jdGlvbih0KXt2YXIgZT1bXTtmb3IodmFyIHIgaW4gdCllLnB1c2gocik7cmV0dXJuIGV9O3QuZXhwb3J0cz1oO3ZhciBvPU9iamVjdC5jcmVhdGUocigzNSkpO28uaW5oZXJpdHM9cigzKTt2YXIgcz1yKDEwNSksYT1yKDUzKTtvLmluaGVyaXRzKGgscyk7Zm9yKHZhciB1PWkoYS5wcm90b3R5cGUpLGM9MDtjPHUubGVuZ3RoO2MrKyl7dmFyIGY9dVtjXTtoLnByb3RvdHlwZVtmXXx8KGgucHJvdG90eXBlW2ZdPWEucHJvdG90eXBlW2ZdKX1mdW5jdGlvbiBoKHQpe2lmKCEodGhpcyBpbnN0YW5jZW9mIGgpKXJldHVybiBuZXcgaCh0KTtzLmNhbGwodGhpcyx0KSxhLmNhbGwodGhpcyx0KSx0JiYhMT09PXQucmVhZGFibGUmJih0aGlzLnJlYWRhYmxlPSExKSx0JiYhMT09PXQud3JpdGFibGUmJih0aGlzLndyaXRhYmxlPSExKSx0aGlzLmFsbG93SGFsZk9wZW49ITAsdCYmITE9PT10LmFsbG93SGFsZk9wZW4mJih0aGlzLmFsbG93SGFsZk9wZW49ITEpLHRoaXMub25jZSgiZW5kIixsKX1mdW5jdGlvbiBsKCl7dGhpcy5hbGxvd0hhbGZPcGVufHx0aGlzLl93cml0YWJsZVN0YXRlLmVuZGVkfHxuLm5leHRUaWNrKGQsdGhpcyl9ZnVuY3Rpb24gZCh0KXt0LmVuZCgpfU9iamVjdC5kZWZpbmVQcm9wZXJ0eShoLnByb3RvdHlwZSwid3JpdGFibGVIaWdoV2F0ZXJNYXJrIix7ZW51bWVyYWJsZTohMSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fd3JpdGFibGVTdGF0ZS5oaWdoV2F0ZXJNYXJrfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShoLnByb3RvdHlwZSwiZGVzdHJveWVkIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgMCE9PXRoaXMuX3JlYWRhYmxlU3RhdGUmJnZvaWQgMCE9PXRoaXMuX3dyaXRhYmxlU3RhdGUmJih0aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZCYmdGhpcy5fd3JpdGFibGVTdGF0ZS5kZXN0cm95ZWQpfSxzZXQ6ZnVuY3Rpb24odCl7dm9pZCAwIT09dGhpcy5fcmVhZGFibGVTdGF0ZSYmdm9pZCAwIT09dGhpcy5fd3JpdGFibGVTdGF0ZSYmKHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkPXQsdGhpcy5fd3JpdGFibGVTdGF0ZS5kZXN0cm95ZWQ9dCl9fSksaC5wcm90b3R5cGUuX2Rlc3Ryb3k9ZnVuY3Rpb24odCxlKXt0aGlzLnB1c2gobnVsbCksdGhpcy5lbmQoKSxuLm5leHRUaWNrKGUsdCl9fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXIoMjA5KS5CdWZmZXIsaT1uLmlzRW5jb2Rpbmd8fGZ1bmN0aW9uKHQpe3N3aXRjaCgodD0iIit0KSYmdC50b0xvd2VyQ2FzZSgpKXtjYXNlImhleCI6Y2FzZSJ1dGY4IjpjYXNlInV0Zi04IjpjYXNlImFzY2lpIjpjYXNlImJpbmFyeSI6Y2FzZSJiYXNlNjQiOmNhc2UidWNzMiI6Y2FzZSJ1Y3MtMiI6Y2FzZSJ1dGYxNmxlIjpjYXNlInV0Zi0xNmxlIjpjYXNlInJhdyI6cmV0dXJuITA7ZGVmYXVsdDpyZXR1cm4hMX19O2Z1bmN0aW9uIG8odCl7dmFyIGU7c3dpdGNoKHRoaXMuZW5jb2Rpbmc9ZnVuY3Rpb24odCl7dmFyIGU9ZnVuY3Rpb24odCl7aWYoIXQpcmV0dXJuInV0ZjgiO2Zvcih2YXIgZTs7KXN3aXRjaCh0KXtjYXNlInV0ZjgiOmNhc2UidXRmLTgiOnJldHVybiJ1dGY4IjtjYXNlInVjczIiOmNhc2UidWNzLTIiOmNhc2UidXRmMTZsZSI6Y2FzZSJ1dGYtMTZsZSI6cmV0dXJuInV0ZjE2bGUiO2Nhc2UibGF0aW4xIjpjYXNlImJpbmFyeSI6cmV0dXJuImxhdGluMSI7Y2FzZSJiYXNlNjQiOmNhc2UiYXNjaWkiOmNhc2UiaGV4IjpyZXR1cm4gdDtkZWZhdWx0OmlmKGUpcmV0dXJuO3Q9KCIiK3QpLnRvTG93ZXJDYXNlKCksZT0hMH19KHQpO2lmKCJzdHJpbmciIT10eXBlb2YgZSYmKG4uaXNFbmNvZGluZz09PWl8fCFpKHQpKSl0aHJvdyBuZXcgRXJyb3IoIlVua25vd24gZW5jb2Rpbmc6ICIrdCk7cmV0dXJuIGV8fHR9KHQpLHRoaXMuZW5jb2Rpbmcpe2Nhc2UidXRmMTZsZSI6dGhpcy50ZXh0PXUsdGhpcy5lbmQ9YyxlPTQ7YnJlYWs7Y2FzZSJ1dGY4Ijp0aGlzLmZpbGxMYXN0PWEsZT00O2JyZWFrO2Nhc2UiYmFzZTY0Ijp0aGlzLnRleHQ9Zix0aGlzLmVuZD1oLGU9MzticmVhaztkZWZhdWx0OnJldHVybiB0aGlzLndyaXRlPWwsdm9pZCh0aGlzLmVuZD1kKX10aGlzLmxhc3ROZWVkPTAsdGhpcy5sYXN0VG90YWw9MCx0aGlzLmxhc3RDaGFyPW4uYWxsb2NVbnNhZmUoZSl9ZnVuY3Rpb24gcyh0KXtyZXR1cm4gdDw9MTI3PzA6dD4+NT09Nj8yOnQ+PjQ9PTE0PzM6dD4+Mz09MzA/NDp0Pj42PT0yPy0xOi0yfWZ1bmN0aW9uIGEodCl7dmFyIGU9dGhpcy5sYXN0VG90YWwtdGhpcy5sYXN0TmVlZCxyPWZ1bmN0aW9uKHQsZSxyKXtpZigxMjghPSgxOTImZVswXSkpcmV0dXJuIHQubGFzdE5lZWQ9MCwi77+9IjtpZih0Lmxhc3ROZWVkPjEmJmUubGVuZ3RoPjEpe2lmKDEyOCE9KDE5MiZlWzFdKSlyZXR1cm4gdC5sYXN0TmVlZD0xLCLvv70iO2lmKHQubGFzdE5lZWQ+MiYmZS5sZW5ndGg+MiYmMTI4IT0oMTkyJmVbMl0pKXJldHVybiB0Lmxhc3ROZWVkPTIsIu+/vSJ9fSh0aGlzLHQpO3JldHVybiB2b2lkIDAhPT1yP3I6dGhpcy5sYXN0TmVlZDw9dC5sZW5ndGg/KHQuY29weSh0aGlzLmxhc3RDaGFyLGUsMCx0aGlzLmxhc3ROZWVkKSx0aGlzLmxhc3RDaGFyLnRvU3RyaW5nKHRoaXMuZW5jb2RpbmcsMCx0aGlzLmxhc3RUb3RhbCkpOih0LmNvcHkodGhpcy5sYXN0Q2hhcixlLDAsdC5sZW5ndGgpLHZvaWQodGhpcy5sYXN0TmVlZC09dC5sZW5ndGgpKX1mdW5jdGlvbiB1KHQsZSl7aWYoKHQubGVuZ3RoLWUpJTI9PTApe3ZhciByPXQudG9TdHJpbmcoInV0ZjE2bGUiLGUpO2lmKHIpe3ZhciBuPXIuY2hhckNvZGVBdChyLmxlbmd0aC0xKTtpZihuPj01NTI5NiYmbjw9NTYzMTkpcmV0dXJuIHRoaXMubGFzdE5lZWQ9Mix0aGlzLmxhc3RUb3RhbD00LHRoaXMubGFzdENoYXJbMF09dFt0Lmxlbmd0aC0yXSx0aGlzLmxhc3RDaGFyWzFdPXRbdC5sZW5ndGgtMV0sci5zbGljZSgwLC0xKX1yZXR1cm4gcn1yZXR1cm4gdGhpcy5sYXN0TmVlZD0xLHRoaXMubGFzdFRvdGFsPTIsdGhpcy5sYXN0Q2hhclswXT10W3QubGVuZ3RoLTFdLHQudG9TdHJpbmcoInV0ZjE2bGUiLGUsdC5sZW5ndGgtMSl9ZnVuY3Rpb24gYyh0KXt2YXIgZT10JiZ0Lmxlbmd0aD90aGlzLndyaXRlKHQpOiIiO2lmKHRoaXMubGFzdE5lZWQpe3ZhciByPXRoaXMubGFzdFRvdGFsLXRoaXMubGFzdE5lZWQ7cmV0dXJuIGUrdGhpcy5sYXN0Q2hhci50b1N0cmluZygidXRmMTZsZSIsMCxyKX1yZXR1cm4gZX1mdW5jdGlvbiBmKHQsZSl7dmFyIHI9KHQubGVuZ3RoLWUpJTM7cmV0dXJuIDA9PT1yP3QudG9TdHJpbmcoImJhc2U2NCIsZSk6KHRoaXMubGFzdE5lZWQ9My1yLHRoaXMubGFzdFRvdGFsPTMsMT09PXI/dGhpcy5sYXN0Q2hhclswXT10W3QubGVuZ3RoLTFdOih0aGlzLmxhc3RDaGFyWzBdPXRbdC5sZW5ndGgtMl0sdGhpcy5sYXN0Q2hhclsxXT10W3QubGVuZ3RoLTFdKSx0LnRvU3RyaW5nKCJiYXNlNjQiLGUsdC5sZW5ndGgtcikpfWZ1bmN0aW9uIGgodCl7dmFyIGU9dCYmdC5sZW5ndGg/dGhpcy53cml0ZSh0KToiIjtyZXR1cm4gdGhpcy5sYXN0TmVlZD9lK3RoaXMubGFzdENoYXIudG9TdHJpbmcoImJhc2U2NCIsMCwzLXRoaXMubGFzdE5lZWQpOmV9ZnVuY3Rpb24gbCh0KXtyZXR1cm4gdC50b1N0cmluZyh0aGlzLmVuY29kaW5nKX1mdW5jdGlvbiBkKHQpe3JldHVybiB0JiZ0Lmxlbmd0aD90aGlzLndyaXRlKHQpOiIifWUuU3RyaW5nRGVjb2Rlcj1vLG8ucHJvdG90eXBlLndyaXRlPWZ1bmN0aW9uKHQpe2lmKDA9PT10Lmxlbmd0aClyZXR1cm4iIjt2YXIgZSxyO2lmKHRoaXMubGFzdE5lZWQpe2lmKHZvaWQgMD09PShlPXRoaXMuZmlsbExhc3QodCkpKXJldHVybiIiO3I9dGhpcy5sYXN0TmVlZCx0aGlzLmxhc3ROZWVkPTB9ZWxzZSByPTA7cmV0dXJuIHI8dC5sZW5ndGg/ZT9lK3RoaXMudGV4dCh0LHIpOnRoaXMudGV4dCh0LHIpOmV8fCIifSxvLnByb3RvdHlwZS5lbmQ9ZnVuY3Rpb24odCl7dmFyIGU9dCYmdC5sZW5ndGg/dGhpcy53cml0ZSh0KToiIjtyZXR1cm4gdGhpcy5sYXN0TmVlZD9lKyLvv70iOmV9LG8ucHJvdG90eXBlLnRleHQ9ZnVuY3Rpb24odCxlKXt2YXIgcj1mdW5jdGlvbih0LGUscil7dmFyIG49ZS5sZW5ndGgtMTtpZihuPHIpcmV0dXJuIDA7dmFyIGk9cyhlW25dKTtpZihpPj0wKXJldHVybiBpPjAmJih0Lmxhc3ROZWVkPWktMSksaTtpZigtLW48cnx8LTI9PT1pKXJldHVybiAwO2lmKChpPXMoZVtuXSkpPj0wKXJldHVybiBpPjAmJih0Lmxhc3ROZWVkPWktMiksaTtpZigtLW48cnx8LTI9PT1pKXJldHVybiAwO2lmKChpPXMoZVtuXSkpPj0wKXJldHVybiBpPjAmJigyPT09aT9pPTA6dC5sYXN0TmVlZD1pLTMpLGk7cmV0dXJuIDB9KHRoaXMsdCxlKTtpZighdGhpcy5sYXN0TmVlZClyZXR1cm4gdC50b1N0cmluZygidXRmOCIsZSk7dGhpcy5sYXN0VG90YWw9cjt2YXIgbj10Lmxlbmd0aC0oci10aGlzLmxhc3ROZWVkKTtyZXR1cm4gdC5jb3B5KHRoaXMubGFzdENoYXIsMCxuKSx0LnRvU3RyaW5nKCJ1dGY4IixlLG4pfSxvLnByb3RvdHlwZS5maWxsTGFzdD1mdW5jdGlvbih0KXtpZih0aGlzLmxhc3ROZWVkPD10Lmxlbmd0aClyZXR1cm4gdC5jb3B5KHRoaXMubGFzdENoYXIsdGhpcy5sYXN0VG90YWwtdGhpcy5sYXN0TmVlZCwwLHRoaXMubGFzdE5lZWQpLHRoaXMubGFzdENoYXIudG9TdHJpbmcodGhpcy5lbmNvZGluZywwLHRoaXMubGFzdFRvdGFsKTt0LmNvcHkodGhpcy5sYXN0Q2hhcix0aGlzLmxhc3RUb3RhbC10aGlzLmxhc3ROZWVkLDAsdC5sZW5ndGgpLHRoaXMubGFzdE5lZWQtPXQubGVuZ3RofX0sZnVuY3Rpb24odCxlLHIpeyhmdW5jdGlvbih0KXt2YXIgbj1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yc3x8ZnVuY3Rpb24odCl7Zm9yKHZhciBlPU9iamVjdC5rZXlzKHQpLHI9e30sbj0wO248ZS5sZW5ndGg7bisrKXJbZVtuXV09T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0LGVbbl0pO3JldHVybiByfSxpPS8lW3NkaiVdL2c7ZS5mb3JtYXQ9ZnVuY3Rpb24odCl7aWYoIWIodCkpe2Zvcih2YXIgZT1bXSxyPTA7cjxhcmd1bWVudHMubGVuZ3RoO3IrKyllLnB1c2goYShhcmd1bWVudHNbcl0pKTtyZXR1cm4gZS5qb2luKCIgIil9cj0xO2Zvcih2YXIgbj1hcmd1bWVudHMsbz1uLmxlbmd0aCxzPVN0cmluZyh0KS5yZXBsYWNlKGksKGZ1bmN0aW9uKHQpe2lmKCIlJSI9PT10KXJldHVybiIlIjtpZihyPj1vKXJldHVybiB0O3N3aXRjaCh0KXtjYXNlIiVzIjpyZXR1cm4gU3RyaW5nKG5bcisrXSk7Y2FzZSIlZCI6cmV0dXJuIE51bWJlcihuW3IrK10pO2Nhc2UiJWoiOnRyeXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkobltyKytdKX1jYXRjaCh0KXtyZXR1cm4iW0NpcmN1bGFyXSJ9ZGVmYXVsdDpyZXR1cm4gdH19KSksdT1uW3JdO3I8bzt1PW5bKytyXSltKHUpfHwhXyh1KT9zKz0iICIrdTpzKz0iICIrYSh1KTtyZXR1cm4gc30sZS5kZXByZWNhdGU9ZnVuY3Rpb24ocixuKXtpZih2b2lkIDAhPT10JiYhMD09PXQubm9EZXByZWNhdGlvbilyZXR1cm4gcjtpZih2b2lkIDA9PT10KXJldHVybiBmdW5jdGlvbigpe3JldHVybiBlLmRlcHJlY2F0ZShyLG4pLmFwcGx5KHRoaXMsYXJndW1lbnRzKX07dmFyIGk9ITE7cmV0dXJuIGZ1bmN0aW9uKCl7aWYoIWkpe2lmKHQudGhyb3dEZXByZWNhdGlvbil0aHJvdyBuZXcgRXJyb3Iobik7dC50cmFjZURlcHJlY2F0aW9uP2NvbnNvbGUudHJhY2Uobik6Y29uc29sZS5lcnJvcihuKSxpPSEwfXJldHVybiByLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19O3ZhciBvLHM9e307ZnVuY3Rpb24gYSh0LHIpe3ZhciBuPXtzZWVuOltdLHN0eWxpemU6Y307cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg+PTMmJihuLmRlcHRoPWFyZ3VtZW50c1syXSksYXJndW1lbnRzLmxlbmd0aD49NCYmKG4uY29sb3JzPWFyZ3VtZW50c1szXSkscChyKT9uLnNob3dIaWRkZW49cjpyJiZlLl9leHRlbmQobixyKSx5KG4uc2hvd0hpZGRlbikmJihuLnNob3dIaWRkZW49ITEpLHkobi5kZXB0aCkmJihuLmRlcHRoPTIpLHkobi5jb2xvcnMpJiYobi5jb2xvcnM9ITEpLHkobi5jdXN0b21JbnNwZWN0KSYmKG4uY3VzdG9tSW5zcGVjdD0hMCksbi5jb2xvcnMmJihuLnN0eWxpemU9dSksZihuLHQsbi5kZXB0aCl9ZnVuY3Rpb24gdSh0LGUpe3ZhciByPWEuc3R5bGVzW2VdO3JldHVybiByPyIbWyIrYS5jb2xvcnNbcl1bMF0rIm0iK3QrIhtbIithLmNvbG9yc1tyXVsxXSsibSI6dH1mdW5jdGlvbiBjKHQsZSl7cmV0dXJuIHR9ZnVuY3Rpb24gZih0LHIsbil7aWYodC5jdXN0b21JbnNwZWN0JiZyJiZTKHIuaW5zcGVjdCkmJnIuaW5zcGVjdCE9PWUuaW5zcGVjdCYmKCFyLmNvbnN0cnVjdG9yfHxyLmNvbnN0cnVjdG9yLnByb3RvdHlwZSE9PXIpKXt2YXIgaT1yLmluc3BlY3Qobix0KTtyZXR1cm4gYihpKXx8KGk9Zih0LGksbikpLGl9dmFyIG89ZnVuY3Rpb24odCxlKXtpZih5KGUpKXJldHVybiB0LnN0eWxpemUoInVuZGVmaW5lZCIsInVuZGVmaW5lZCIpO2lmKGIoZSkpe3ZhciByPSInIitKU09OLnN0cmluZ2lmeShlKS5yZXBsYWNlKC9eInwiJC9nLCIiKS5yZXBsYWNlKC8nL2csIlxcJyIpLnJlcGxhY2UoL1xcIi9nLCciJykrIiciO3JldHVybiB0LnN0eWxpemUociwic3RyaW5nIil9aWYoZyhlKSlyZXR1cm4gdC5zdHlsaXplKCIiK2UsIm51bWJlciIpO2lmKHAoZSkpcmV0dXJuIHQuc3R5bGl6ZSgiIitlLCJib29sZWFuIik7aWYobShlKSlyZXR1cm4gdC5zdHlsaXplKCJudWxsIiwibnVsbCIpfSh0LHIpO2lmKG8pcmV0dXJuIG87dmFyIHM9T2JqZWN0LmtleXMociksYT1mdW5jdGlvbih0KXt2YXIgZT17fTtyZXR1cm4gdC5mb3JFYWNoKChmdW5jdGlvbih0LHIpe2VbdF09ITB9KSksZX0ocyk7aWYodC5zaG93SGlkZGVuJiYocz1PYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhyKSksTShyKSYmKHMuaW5kZXhPZigibWVzc2FnZSIpPj0wfHxzLmluZGV4T2YoImRlc2NyaXB0aW9uIik+PTApKXJldHVybiBoKHIpO2lmKDA9PT1zLmxlbmd0aCl7aWYoUyhyKSl7dmFyIHU9ci5uYW1lPyI6ICIrci5uYW1lOiIiO3JldHVybiB0LnN0eWxpemUoIltGdW5jdGlvbiIrdSsiXSIsInNwZWNpYWwiKX1pZih2KHIpKXJldHVybiB0LnN0eWxpemUoUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHIpLCJyZWdleHAiKTtpZih3KHIpKXJldHVybiB0LnN0eWxpemUoRGF0ZS5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChyKSwiZGF0ZSIpO2lmKE0ocikpcmV0dXJuIGgocil9dmFyIGMsXz0iIixFPSExLHg9WyJ7IiwifSJdOyhkKHIpJiYoRT0hMCx4PVsiWyIsIl0iXSksUyhyKSkmJihfPSIgW0Z1bmN0aW9uIisoci5uYW1lPyI6ICIrci5uYW1lOiIiKSsiXSIpO3JldHVybiB2KHIpJiYoXz0iICIrUmVnRXhwLnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHIpKSx3KHIpJiYoXz0iICIrRGF0ZS5wcm90b3R5cGUudG9VVENTdHJpbmcuY2FsbChyKSksTShyKSYmKF89IiAiK2gocikpLDAhPT1zLmxlbmd0aHx8RSYmMCE9ci5sZW5ndGg/bjwwP3Yocik/dC5zdHlsaXplKFJlZ0V4cC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChyKSwicmVnZXhwIik6dC5zdHlsaXplKCJbT2JqZWN0XSIsInNwZWNpYWwiKToodC5zZWVuLnB1c2gociksYz1FP2Z1bmN0aW9uKHQsZSxyLG4saSl7Zm9yKHZhciBvPVtdLHM9MCxhPWUubGVuZ3RoO3M8YTsrK3MpUihlLFN0cmluZyhzKSk/by5wdXNoKGwodCxlLHIsbixTdHJpbmcocyksITApKTpvLnB1c2goIiIpO3JldHVybiBpLmZvckVhY2goKGZ1bmN0aW9uKGkpe2kubWF0Y2goL15cZCskLyl8fG8ucHVzaChsKHQsZSxyLG4saSwhMCkpfSkpLG99KHQscixuLGEscyk6cy5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiBsKHQscixuLGEsZSxFKX0pKSx0LnNlZW4ucG9wKCksZnVuY3Rpb24odCxlLHIpe2lmKHQucmVkdWNlKChmdW5jdGlvbih0LGUpe3JldHVybiBlLmluZGV4T2YoIlxuIik+PTAmJjAsdCtlLnJlcGxhY2UoL1x1MDAxYlxbXGRcZD9tL2csIiIpLmxlbmd0aCsxfSksMCk+NjApcmV0dXJuIHJbMF0rKCIiPT09ZT8iIjplKyJcbiAiKSsiICIrdC5qb2luKCIsXG4gICIpKyIgIityWzFdO3JldHVybiByWzBdK2UrIiAiK3Quam9pbigiLCAiKSsiICIrclsxXX0oYyxfLHgpKTp4WzBdK18reFsxXX1mdW5jdGlvbiBoKHQpe3JldHVybiJbIitFcnJvci5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KSsiXSJ9ZnVuY3Rpb24gbCh0LGUscixuLGksbyl7dmFyIHMsYSx1O2lmKCh1PU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZSxpKXx8e3ZhbHVlOmVbaV19KS5nZXQ/YT11LnNldD90LnN0eWxpemUoIltHZXR0ZXIvU2V0dGVyXSIsInNwZWNpYWwiKTp0LnN0eWxpemUoIltHZXR0ZXJdIiwic3BlY2lhbCIpOnUuc2V0JiYoYT10LnN0eWxpemUoIltTZXR0ZXJdIiwic3BlY2lhbCIpKSxSKG4saSl8fChzPSJbIitpKyJdIiksYXx8KHQuc2Vlbi5pbmRleE9mKHUudmFsdWUpPDA/KGE9bShyKT9mKHQsdS52YWx1ZSxudWxsKTpmKHQsdS52YWx1ZSxyLTEpKS5pbmRleE9mKCJcbiIpPi0xJiYoYT1vP2Euc3BsaXQoIlxuIikubWFwKChmdW5jdGlvbih0KXtyZXR1cm4iICAiK3R9KSkuam9pbigiXG4iKS5zdWJzdHIoMik6IlxuIithLnNwbGl0KCJcbiIpLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIiAgICIrdH0pKS5qb2luKCJcbiIpKTphPXQuc3R5bGl6ZSgiW0NpcmN1bGFyXSIsInNwZWNpYWwiKSkseShzKSl7aWYobyYmaS5tYXRjaCgvXlxkKyQvKSlyZXR1cm4gYTsocz1KU09OLnN0cmluZ2lmeSgiIitpKSkubWF0Y2goL14iKFthLXpBLVpfXVthLXpBLVpfMC05XSopIiQvKT8ocz1zLnN1YnN0cigxLHMubGVuZ3RoLTIpLHM9dC5zdHlsaXplKHMsIm5hbWUiKSk6KHM9cy5yZXBsYWNlKC8nL2csIlxcJyIpLnJlcGxhY2UoL1xcIi9nLCciJykucmVwbGFjZSgvKF4ifCIkKS9nLCInIikscz10LnN0eWxpemUocywic3RyaW5nIikpfXJldHVybiBzKyI6ICIrYX1mdW5jdGlvbiBkKHQpe3JldHVybiBBcnJheS5pc0FycmF5KHQpfWZ1bmN0aW9uIHAodCl7cmV0dXJuImJvb2xlYW4iPT10eXBlb2YgdH1mdW5jdGlvbiBtKHQpe3JldHVybiBudWxsPT09dH1mdW5jdGlvbiBnKHQpe3JldHVybiJudW1iZXIiPT10eXBlb2YgdH1mdW5jdGlvbiBiKHQpe3JldHVybiJzdHJpbmciPT10eXBlb2YgdH1mdW5jdGlvbiB5KHQpe3JldHVybiB2b2lkIDA9PT10fWZ1bmN0aW9uIHYodCl7cmV0dXJuIF8odCkmJiJbb2JqZWN0IFJlZ0V4cF0iPT09RSh0KX1mdW5jdGlvbiBfKHQpe3JldHVybiJvYmplY3QiPT10eXBlb2YgdCYmbnVsbCE9PXR9ZnVuY3Rpb24gdyh0KXtyZXR1cm4gXyh0KSYmIltvYmplY3QgRGF0ZV0iPT09RSh0KX1mdW5jdGlvbiBNKHQpe3JldHVybiBfKHQpJiYoIltvYmplY3QgRXJyb3JdIj09PUUodCl8fHQgaW5zdGFuY2VvZiBFcnJvcil9ZnVuY3Rpb24gUyh0KXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgdH1mdW5jdGlvbiBFKHQpe3JldHVybiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodCl9ZnVuY3Rpb24geCh0KXtyZXR1cm4gdDwxMD8iMCIrdC50b1N0cmluZygxMCk6dC50b1N0cmluZygxMCl9ZS5kZWJ1Z2xvZz1mdW5jdGlvbihyKXtpZih5KG8pJiYobz10LmVudi5OT0RFX0RFQlVHfHwiIikscj1yLnRvVXBwZXJDYXNlKCksIXNbcl0paWYobmV3IFJlZ0V4cCgiXFxiIityKyJcXGIiLCJpIikudGVzdChvKSl7dmFyIG49dC5waWQ7c1tyXT1mdW5jdGlvbigpe3ZhciB0PWUuZm9ybWF0LmFwcGx5KGUsYXJndW1lbnRzKTtjb25zb2xlLmVycm9yKCIlcyAlZDogJXMiLHIsbix0KX19ZWxzZSBzW3JdPWZ1bmN0aW9uKCl7fTtyZXR1cm4gc1tyXX0sZS5pbnNwZWN0PWEsYS5jb2xvcnM9e2JvbGQ6WzEsMjJdLGl0YWxpYzpbMywyM10sdW5kZXJsaW5lOls0LDI0XSxpbnZlcnNlOls3LDI3XSx3aGl0ZTpbMzcsMzldLGdyZXk6WzkwLDM5XSxibGFjazpbMzAsMzldLGJsdWU6WzM0LDM5XSxjeWFuOlszNiwzOV0sZ3JlZW46WzMyLDM5XSxtYWdlbnRhOlszNSwzOV0scmVkOlszMSwzOV0seWVsbG93OlszMywzOV19LGEuc3R5bGVzPXtzcGVjaWFsOiJjeWFuIixudW1iZXI6InllbGxvdyIsYm9vbGVhbjoieWVsbG93Iix1bmRlZmluZWQ6ImdyZXkiLG51bGw6ImJvbGQiLHN0cmluZzoiZ3JlZW4iLGRhdGU6Im1hZ2VudGEiLHJlZ2V4cDoicmVkIn0sZS5pc0FycmF5PWQsZS5pc0Jvb2xlYW49cCxlLmlzTnVsbD1tLGUuaXNOdWxsT3JVbmRlZmluZWQ9ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXR9LGUuaXNOdW1iZXI9ZyxlLmlzU3RyaW5nPWIsZS5pc1N5bWJvbD1mdW5jdGlvbih0KXtyZXR1cm4ic3ltYm9sIj09dHlwZW9mIHR9LGUuaXNVbmRlZmluZWQ9eSxlLmlzUmVnRXhwPXYsZS5pc09iamVjdD1fLGUuaXNEYXRlPXcsZS5pc0Vycm9yPU0sZS5pc0Z1bmN0aW9uPVMsZS5pc1ByaW1pdGl2ZT1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09PXR8fCJib29sZWFuIj09dHlwZW9mIHR8fCJudW1iZXIiPT10eXBlb2YgdHx8InN0cmluZyI9PXR5cGVvZiB0fHwic3ltYm9sIj09dHlwZW9mIHR8fHZvaWQgMD09PXR9LGUuaXNCdWZmZXI9cigyMjUpO3ZhciBrPVsiSmFuIiwiRmViIiwiTWFyIiwiQXByIiwiTWF5IiwiSnVuIiwiSnVsIiwiQXVnIiwiU2VwIiwiT2N0IiwiTm92IiwiRGVjIl07ZnVuY3Rpb24gQSgpe3ZhciB0PW5ldyBEYXRlLGU9W3godC5nZXRIb3VycygpKSx4KHQuZ2V0TWludXRlcygpKSx4KHQuZ2V0U2Vjb25kcygpKV0uam9pbigiOiIpO3JldHVyblt0LmdldERhdGUoKSxrW3QuZ2V0TW9udGgoKV0sZV0uam9pbigiICIpfWZ1bmN0aW9uIFIodCxlKXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsZSl9ZS5sb2c9ZnVuY3Rpb24oKXtjb25zb2xlLmxvZygiJXMgLSAlcyIsQSgpLGUuZm9ybWF0LmFwcGx5KGUsYXJndW1lbnRzKSl9LGUuaW5oZXJpdHM9cigyMjYpLGUuX2V4dGVuZD1mdW5jdGlvbih0LGUpe2lmKCFlfHwhXyhlKSlyZXR1cm4gdDtmb3IodmFyIHI9T2JqZWN0LmtleXMoZSksbj1yLmxlbmd0aDtuLS07KXRbcltuXV09ZVtyW25dXTtyZXR1cm4gdH07dmFyIFQ9InVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2w/U3ltYm9sKCJ1dGlsLnByb21pc2lmeS5jdXN0b20iKTp2b2lkIDA7ZnVuY3Rpb24gTyh0LGUpe2lmKCF0KXt2YXIgcj1uZXcgRXJyb3IoIlByb21pc2Ugd2FzIHJlamVjdGVkIHdpdGggYSBmYWxzeSB2YWx1ZSIpO3IucmVhc29uPXQsdD1yfXJldHVybiBlKHQpfWUucHJvbWlzaWZ5PWZ1bmN0aW9uKHQpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiB0KXRocm93IG5ldyBUeXBlRXJyb3IoJ1RoZSAib3JpZ2luYWwiIGFyZ3VtZW50IG11c3QgYmUgb2YgdHlwZSBGdW5jdGlvbicpO2lmKFQmJnRbVF0pe3ZhciBlO2lmKCJmdW5jdGlvbiIhPXR5cGVvZihlPXRbVF0pKXRocm93IG5ldyBUeXBlRXJyb3IoJ1RoZSAidXRpbC5wcm9taXNpZnkuY3VzdG9tIiBhcmd1bWVudCBtdXN0IGJlIG9mIHR5cGUgRnVuY3Rpb24nKTtyZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsVCx7dmFsdWU6ZSxlbnVtZXJhYmxlOiExLHdyaXRhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLGV9ZnVuY3Rpb24gZSgpe2Zvcih2YXIgZSxyLG49bmV3IFByb21pc2UoKGZ1bmN0aW9uKHQsbil7ZT10LHI9bn0pKSxpPVtdLG89MDtvPGFyZ3VtZW50cy5sZW5ndGg7bysrKWkucHVzaChhcmd1bWVudHNbb10pO2kucHVzaCgoZnVuY3Rpb24odCxuKXt0P3IodCk6ZShuKX0pKTt0cnl7dC5hcHBseSh0aGlzLGkpfWNhdGNoKHQpe3IodCl9cmV0dXJuIG59cmV0dXJuIE9iamVjdC5zZXRQcm90b3R5cGVPZihlLE9iamVjdC5nZXRQcm90b3R5cGVPZih0KSksVCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsVCx7dmFsdWU6ZSxlbnVtZXJhYmxlOiExLHdyaXRhYmxlOiExLGNvbmZpZ3VyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGUsbih0KSl9LGUucHJvbWlzaWZ5LmN1c3RvbT1ULGUuY2FsbGJhY2tpZnk9ZnVuY3Rpb24oZSl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIGUpdGhyb3cgbmV3IFR5cGVFcnJvcignVGhlICJvcmlnaW5hbCIgYXJndW1lbnQgbXVzdCBiZSBvZiB0eXBlIEZ1bmN0aW9uJyk7ZnVuY3Rpb24gcigpe2Zvcih2YXIgcj1bXSxuPTA7bjxhcmd1bWVudHMubGVuZ3RoO24rKylyLnB1c2goYXJndW1lbnRzW25dKTt2YXIgaT1yLnBvcCgpO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBpKXRocm93IG5ldyBUeXBlRXJyb3IoIlRoZSBsYXN0IGFyZ3VtZW50IG11c3QgYmUgb2YgdHlwZSBGdW5jdGlvbiIpO3ZhciBvPXRoaXMscz1mdW5jdGlvbigpe3JldHVybiBpLmFwcGx5KG8sYXJndW1lbnRzKX07ZS5hcHBseSh0aGlzLHIpLnRoZW4oKGZ1bmN0aW9uKGUpe3QubmV4dFRpY2socyxudWxsLGUpfSksKGZ1bmN0aW9uKGUpe3QubmV4dFRpY2soTyxlLHMpfSkpfXJldHVybiBPYmplY3Quc2V0UHJvdG90eXBlT2YocixPYmplY3QuZ2V0UHJvdG90eXBlT2YoZSkpLE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHIsbihlKSkscn19KS5jYWxsKHRoaXMscig1KSl9LGZ1bmN0aW9uKHQsZSl7ZnVuY3Rpb24gcih0LGUpe2lmKCF0KXRocm93IG5ldyBFcnJvcihlfHwiQXNzZXJ0aW9uIGZhaWxlZCIpfXQuZXhwb3J0cz1yLHIuZXF1YWw9ZnVuY3Rpb24odCxlLHIpe2lmKHQhPWUpdGhyb3cgbmV3IEVycm9yKHJ8fCJBc3NlcnRpb24gZmFpbGVkOiAiK3QrIiAhPSAiK2UpfX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksZS5pc0FzeW5jPXZvaWQgMDt2YXIgbixpPXIoMzIyKSxvPShuPWkpJiZuLl9fZXNNb2R1bGU/bjp7ZGVmYXVsdDpufTt2YXIgcz0iZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sO2Z1bmN0aW9uIGEodCl7cmV0dXJuIHMmJiJBc3luY0Z1bmN0aW9uIj09PXRbU3ltYm9sLnRvU3RyaW5nVGFnXX1lLmRlZmF1bHQ9ZnVuY3Rpb24odCl7cmV0dXJuIGEodCk/KDAsby5kZWZhdWx0KSh0KTp0fSxlLmlzQXN5bmM9YX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSwiYyIsKGZ1bmN0aW9uKCl7cmV0dXJuIGl9KSksci5kKGUsImEiLChmdW5jdGlvbigpe3JldHVybiBvfSkpLHIuZChlLCJiIiwoZnVuY3Rpb24oKXtyZXR1cm4gc30pKTt2YXIgbj1yKDcpO2Z1bmN0aW9uIGkodCl7cmV0dXJuIG4uYy5pbmNsdWRlcyh0KX1mdW5jdGlvbiBvKHQpe3JldHVybiBPYmplY3Qua2V5cyhuLmYpLmluY2x1ZGVzKHQpP24uZlt0XTpuLmZbbi5hXX1mdW5jdGlvbiBzKHQpe2NvbnN0IGU9T2JqZWN0LnZhbHVlcyhuLmYpLmZpbmQoZT0+ZS5jb2RlPT09dCk7cmV0dXJuIGV8fG4uZltuLmFdfX0sZnVuY3Rpb24odCxlKXt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIHQud2VicGFja1BvbHlmaWxsfHwodC5kZXByZWNhdGU9ZnVuY3Rpb24oKXt9LHQucGF0aHM9W10sdC5jaGlsZHJlbnx8KHQuY2hpbGRyZW49W10pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJsb2FkZWQiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0Lmx9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsImlkIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdC5pfX0pLHQud2VicGFja1BvbHlmaWxsPTEpLHR9fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXIoNTApO28uVFlQRURfQVJSQVlfU1VQUE9SVD1mdW5jdGlvbigpe3RyeXt2YXIgdD1uZXcgVWludDhBcnJheSgxKTtyZXR1cm4gdC5fX3Byb3RvX189e19fcHJvdG9fXzpVaW50OEFycmF5LnByb3RvdHlwZSxmb286ZnVuY3Rpb24oKXtyZXR1cm4gNDJ9fSw0Mj09PXQuZm9vKCl9Y2F0Y2godCl7cmV0dXJuITF9fSgpO3ZhciBpPW8uVFlQRURfQVJSQVlfU1VQUE9SVD8yMTQ3NDgzNjQ3OjEwNzM3NDE4MjM7ZnVuY3Rpb24gbyh0LGUscil7cmV0dXJuIG8uVFlQRURfQVJSQVlfU1VQUE9SVHx8dGhpcyBpbnN0YW5jZW9mIG8/Im51bWJlciI9PXR5cGVvZiB0P3UodGhpcyx0KTpmdW5jdGlvbih0LGUscixuKXtpZigibnVtYmVyIj09dHlwZW9mIGUpdGhyb3cgbmV3IFR5cGVFcnJvcignInZhbHVlIiBhcmd1bWVudCBtdXN0IG5vdCBiZSBhIG51bWJlcicpO2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgQXJyYXlCdWZmZXImJmUgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcilyZXR1cm4gZnVuY3Rpb24odCxlLHIsbil7aWYocjwwfHxlLmJ5dGVMZW5ndGg8cil0aHJvdyBuZXcgUmFuZ2VFcnJvcigiJ29mZnNldCcgaXMgb3V0IG9mIGJvdW5kcyIpO2lmKGUuYnl0ZUxlbmd0aDxyKyhufHwwKSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiJ2xlbmd0aCcgaXMgb3V0IG9mIGJvdW5kcyIpO3ZhciBpO2k9dm9pZCAwPT09ciYmdm9pZCAwPT09bj9uZXcgVWludDhBcnJheShlKTp2b2lkIDA9PT1uP25ldyBVaW50OEFycmF5KGUscik6bmV3IFVpbnQ4QXJyYXkoZSxyLG4pO28uVFlQRURfQVJSQVlfU1VQUE9SVD9pLl9fcHJvdG9fXz1vLnByb3RvdHlwZTppPWModCxpKTtyZXR1cm4gaX0odCxlLHIsbik7aWYoInN0cmluZyI9PXR5cGVvZiBlKXJldHVybiBmdW5jdGlvbih0LGUpe3ZhciByPTB8aChlKSxuPWEodCxyKSxpPW4ud3JpdGUoZSk7aSE9PXImJihuPW4uc2xpY2UoMCxpKSk7cmV0dXJuIG59KHQsZSk7cmV0dXJuIGZ1bmN0aW9uKHQsZSl7aWYoby5pc0J1ZmZlcihlKSl7dmFyIHI9MHxzKGUubGVuZ3RoKSxuPWEodCxyKTtyZXR1cm4gMD09PW4ubGVuZ3RofHxlLmNvcHkobiwwLDAsciksbn1pZihlKXtpZigidW5kZWZpbmVkIiE9dHlwZW9mIEFycmF5QnVmZmVyJiZlLmJ1ZmZlciBpbnN0YW5jZW9mIEFycmF5QnVmZmVyfHwibGVuZ3RoImluIGUpcmV0dXJuIm51bWJlciIhPXR5cGVvZiBlLmxlbmd0aHx8KGk9ZS5sZW5ndGgpIT1pP2EodCwwKTpjKHQsZSk7aWYoIkJ1ZmZlciI9PT1lLnR5cGUmJkFycmF5LmlzQXJyYXkoZS5kYXRhKSlyZXR1cm4gYyh0LGUuZGF0YSl9dmFyIGk7dGhyb3cgbmV3IFR5cGVFcnJvcigiRmlyc3QgYXJndW1lbnQgbXVzdCBiZSBhIHN0cmluZywgQnVmZmVyLCBBcnJheUJ1ZmZlciwgQXJyYXksIG9yIGFycmF5LWxpa2Ugb2JqZWN0LiIpfSh0LGUpfSh0aGlzLHQsZSxyKTpuZXcgbyh0LGUscil9ZnVuY3Rpb24gcyh0KXtpZih0Pj1pKXRocm93IG5ldyBSYW5nZUVycm9yKCJBdHRlbXB0IHRvIGFsbG9jYXRlIEJ1ZmZlciBsYXJnZXIgdGhhbiBtYXhpbXVtIHNpemU6IDB4IitpLnRvU3RyaW5nKDE2KSsiIGJ5dGVzIik7cmV0dXJuIDB8dH1mdW5jdGlvbiBhKHQsZSl7dmFyIHI7cmV0dXJuIG8uVFlQRURfQVJSQVlfU1VQUE9SVD8ocj1uZXcgVWludDhBcnJheShlKSkuX19wcm90b19fPW8ucHJvdG90eXBlOihudWxsPT09KHI9dCkmJihyPW5ldyBvKGUpKSxyLmxlbmd0aD1lKSxyfWZ1bmN0aW9uIHUodCxlKXt2YXIgcj1hKHQsZTwwPzA6MHxzKGUpKTtpZighby5UWVBFRF9BUlJBWV9TVVBQT1JUKWZvcih2YXIgbj0wO248ZTsrK24pcltuXT0wO3JldHVybiByfWZ1bmN0aW9uIGModCxlKXtmb3IodmFyIHI9ZS5sZW5ndGg8MD8wOjB8cyhlLmxlbmd0aCksbj1hKHQsciksaT0wO2k8cjtpKz0xKW5baV09MjU1JmVbaV07cmV0dXJuIG59ZnVuY3Rpb24gZih0LGUpe3ZhciByO2U9ZXx8MS8wO2Zvcih2YXIgbj10Lmxlbmd0aCxpPW51bGwsbz1bXSxzPTA7czxuOysrcyl7aWYoKHI9dC5jaGFyQ29kZUF0KHMpKT41NTI5NSYmcjw1NzM0NCl7aWYoIWkpe2lmKHI+NTYzMTkpeyhlLT0zKT4tMSYmby5wdXNoKDIzOSwxOTEsMTg5KTtjb250aW51ZX1pZihzKzE9PT1uKXsoZS09Myk+LTEmJm8ucHVzaCgyMzksMTkxLDE4OSk7Y29udGludWV9aT1yO2NvbnRpbnVlfWlmKHI8NTYzMjApeyhlLT0zKT4tMSYmby5wdXNoKDIzOSwxOTEsMTg5KSxpPXI7Y29udGludWV9cj02NTUzNisoaS01NTI5Njw8MTB8ci01NjMyMCl9ZWxzZSBpJiYoZS09Myk+LTEmJm8ucHVzaCgyMzksMTkxLDE4OSk7aWYoaT1udWxsLHI8MTI4KXtpZigoZS09MSk8MClicmVhaztvLnB1c2gocil9ZWxzZSBpZihyPDIwNDgpe2lmKChlLT0yKTwwKWJyZWFrO28ucHVzaChyPj42fDE5Miw2MyZyfDEyOCl9ZWxzZSBpZihyPDY1NTM2KXtpZigoZS09Myk8MClicmVhaztvLnB1c2gocj4+MTJ8MjI0LHI+PjYmNjN8MTI4LDYzJnJ8MTI4KX1lbHNle2lmKCEocjwxMTE0MTEyKSl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgY29kZSBwb2ludCIpO2lmKChlLT00KTwwKWJyZWFrO28ucHVzaChyPj4xOHwyNDAscj4+MTImNjN8MTI4LHI+PjYmNjN8MTI4LDYzJnJ8MTI4KX19cmV0dXJuIG99ZnVuY3Rpb24gaCh0KXtyZXR1cm4gby5pc0J1ZmZlcih0KT90Lmxlbmd0aDoidW5kZWZpbmVkIiE9dHlwZW9mIEFycmF5QnVmZmVyJiYiZnVuY3Rpb24iPT10eXBlb2YgQXJyYXlCdWZmZXIuaXNWaWV3JiYoQXJyYXlCdWZmZXIuaXNWaWV3KHQpfHx0IGluc3RhbmNlb2YgQXJyYXlCdWZmZXIpP3QuYnl0ZUxlbmd0aDooInN0cmluZyIhPXR5cGVvZiB0JiYodD0iIit0KSwwPT09dC5sZW5ndGg/MDpmKHQpLmxlbmd0aCl9by5UWVBFRF9BUlJBWV9TVVBQT1JUJiYoby5wcm90b3R5cGUuX19wcm90b19fPVVpbnQ4QXJyYXkucHJvdG90eXBlLG8uX19wcm90b19fPVVpbnQ4QXJyYXksInVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wmJlN5bWJvbC5zcGVjaWVzJiZvW1N5bWJvbC5zcGVjaWVzXT09PW8mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLFN5bWJvbC5zcGVjaWVzLHt2YWx1ZTpudWxsLGNvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiExLHdyaXRhYmxlOiExfSkpLG8ucHJvdG90eXBlLndyaXRlPWZ1bmN0aW9uKHQsZSxyKXt2b2lkIDA9PT1lfHx2b2lkIDA9PT1yJiYic3RyaW5nIj09dHlwZW9mIGU/KHI9dGhpcy5sZW5ndGgsZT0wKTppc0Zpbml0ZShlKSYmKGV8PTAsaXNGaW5pdGUocik/cnw9MDpyPXZvaWQgMCk7dmFyIG49dGhpcy5sZW5ndGgtZTtpZigodm9pZCAwPT09cnx8cj5uKSYmKHI9biksdC5sZW5ndGg+MCYmKHI8MHx8ZTwwKXx8ZT50aGlzLmxlbmd0aCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiQXR0ZW1wdCB0byB3cml0ZSBvdXRzaWRlIGJ1ZmZlciBib3VuZHMiKTtyZXR1cm4gZnVuY3Rpb24odCxlLHIsbil7cmV0dXJuIGZ1bmN0aW9uKHQsZSxyLG4pe2Zvcih2YXIgaT0wO2k8biYmIShpK3I+PWUubGVuZ3RofHxpPj10Lmxlbmd0aCk7KytpKWVbaStyXT10W2ldO3JldHVybiBpfShmKGUsdC5sZW5ndGgtciksdCxyLG4pfSh0aGlzLHQsZSxyKX0sby5wcm90b3R5cGUuc2xpY2U9ZnVuY3Rpb24odCxlKXt2YXIgcixuPXRoaXMubGVuZ3RoO2lmKCh0PX5+dCk8MD8odCs9bik8MCYmKHQ9MCk6dD5uJiYodD1uKSwoZT12b2lkIDA9PT1lP246fn5lKTwwPyhlKz1uKTwwJiYoZT0wKTplPm4mJihlPW4pLGU8dCYmKGU9dCksby5UWVBFRF9BUlJBWV9TVVBQT1JUKShyPXRoaXMuc3ViYXJyYXkodCxlKSkuX19wcm90b19fPW8ucHJvdG90eXBlO2Vsc2V7dmFyIGk9ZS10O3I9bmV3IG8oaSx2b2lkIDApO2Zvcih2YXIgcz0wO3M8aTsrK3MpcltzXT10aGlzW3MrdF19cmV0dXJuIHJ9LG8ucHJvdG90eXBlLmNvcHk9ZnVuY3Rpb24odCxlLHIsbil7aWYocnx8KHI9MCksbnx8MD09PW58fChuPXRoaXMubGVuZ3RoKSxlPj10Lmxlbmd0aCYmKGU9dC5sZW5ndGgpLGV8fChlPTApLG4+MCYmbjxyJiYobj1yKSxuPT09cilyZXR1cm4gMDtpZigwPT09dC5sZW5ndGh8fDA9PT10aGlzLmxlbmd0aClyZXR1cm4gMDtpZihlPDApdGhyb3cgbmV3IFJhbmdlRXJyb3IoInRhcmdldFN0YXJ0IG91dCBvZiBib3VuZHMiKTtpZihyPDB8fHI+PXRoaXMubGVuZ3RoKXRocm93IG5ldyBSYW5nZUVycm9yKCJzb3VyY2VTdGFydCBvdXQgb2YgYm91bmRzIik7aWYobjwwKXRocm93IG5ldyBSYW5nZUVycm9yKCJzb3VyY2VFbmQgb3V0IG9mIGJvdW5kcyIpO24+dGhpcy5sZW5ndGgmJihuPXRoaXMubGVuZ3RoKSx0Lmxlbmd0aC1lPG4tciYmKG49dC5sZW5ndGgtZStyKTt2YXIgaSxzPW4tcjtpZih0aGlzPT09dCYmcjxlJiZlPG4pZm9yKGk9cy0xO2k+PTA7LS1pKXRbaStlXT10aGlzW2krcl07ZWxzZSBpZihzPDFlM3x8IW8uVFlQRURfQVJSQVlfU1VQUE9SVClmb3IoaT0wO2k8czsrK2kpdFtpK2VdPXRoaXNbaStyXTtlbHNlIFVpbnQ4QXJyYXkucHJvdG90eXBlLnNldC5jYWxsKHQsdGhpcy5zdWJhcnJheShyLHIrcyksZSk7cmV0dXJuIHN9LG8ucHJvdG90eXBlLmZpbGw9ZnVuY3Rpb24odCxlLHIpe2lmKCJzdHJpbmciPT10eXBlb2YgdCl7aWYoInN0cmluZyI9PXR5cGVvZiBlPyhlPTAscj10aGlzLmxlbmd0aCk6InN0cmluZyI9PXR5cGVvZiByJiYocj10aGlzLmxlbmd0aCksMT09PXQubGVuZ3RoKXt2YXIgbj10LmNoYXJDb2RlQXQoMCk7bjwyNTYmJih0PW4pfX1lbHNlIm51bWJlciI9PXR5cGVvZiB0JiYodCY9MjU1KTtpZihlPDB8fHRoaXMubGVuZ3RoPGV8fHRoaXMubGVuZ3RoPHIpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIk91dCBvZiByYW5nZSBpbmRleCIpO2lmKHI8PWUpcmV0dXJuIHRoaXM7dmFyIGk7aWYoZT4+Pj0wLHI9dm9pZCAwPT09cj90aGlzLmxlbmd0aDpyPj4+MCx0fHwodD0wKSwibnVtYmVyIj09dHlwZW9mIHQpZm9yKGk9ZTtpPHI7KytpKXRoaXNbaV09dDtlbHNle3ZhciBzPW8uaXNCdWZmZXIodCk/dDpuZXcgbyh0KSxhPXMubGVuZ3RoO2ZvcihpPTA7aTxyLWU7KytpKXRoaXNbaStlXT1zW2klYV19cmV0dXJuIHRoaXN9LG8uY29uY2F0PWZ1bmN0aW9uKHQsZSl7aWYoIW4odCkpdGhyb3cgbmV3IFR5cGVFcnJvcignImxpc3QiIGFyZ3VtZW50IG11c3QgYmUgYW4gQXJyYXkgb2YgQnVmZmVycycpO2lmKDA9PT10Lmxlbmd0aClyZXR1cm4gYShudWxsLDApO3ZhciByO2lmKHZvaWQgMD09PWUpZm9yKGU9MCxyPTA7cjx0Lmxlbmd0aDsrK3IpZSs9dFtyXS5sZW5ndGg7dmFyIGk9dShudWxsLGUpLHM9MDtmb3Iocj0wO3I8dC5sZW5ndGg7KytyKXt2YXIgYz10W3JdO2lmKCFvLmlzQnVmZmVyKGMpKXRocm93IG5ldyBUeXBlRXJyb3IoJyJsaXN0IiBhcmd1bWVudCBtdXN0IGJlIGFuIEFycmF5IG9mIEJ1ZmZlcnMnKTtjLmNvcHkoaSxzKSxzKz1jLmxlbmd0aH1yZXR1cm4gaX0sby5ieXRlTGVuZ3RoPWgsby5wcm90b3R5cGUuX2lzQnVmZmVyPSEwLG8uaXNCdWZmZXI9ZnVuY3Rpb24odCl7cmV0dXJuIShudWxsPT10fHwhdC5faXNCdWZmZXIpfSx0LmV4cG9ydHMuYWxsb2M9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IG8odCk7cmV0dXJuIGUuZmlsbCgwKSxlfSx0LmV4cG9ydHMuZnJvbT1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IG8odCl9fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXt9O2Z1bmN0aW9uIGkodCxlLHIpe3J8fChyPUVycm9yKTt2YXIgaT1mdW5jdGlvbih0KXt2YXIgcixuO2Z1bmN0aW9uIGkocixuLGkpe3JldHVybiB0LmNhbGwodGhpcyxmdW5jdGlvbih0LHIsbil7cmV0dXJuInN0cmluZyI9PXR5cGVvZiBlP2U6ZSh0LHIsbil9KHIsbixpKSl8fHRoaXN9cmV0dXJuIG49dCwocj1pKS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShuLnByb3RvdHlwZSksci5wcm90b3R5cGUuY29uc3RydWN0b3I9cixyLl9fcHJvdG9fXz1uLGl9KHIpO2kucHJvdG90eXBlLm5hbWU9ci5uYW1lLGkucHJvdG90eXBlLmNvZGU9dCxuW3RdPWl9ZnVuY3Rpb24gbyh0LGUpe2lmKEFycmF5LmlzQXJyYXkodCkpe3ZhciByPXQubGVuZ3RoO3JldHVybiB0PXQubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gU3RyaW5nKHQpfSkpLHI+Mj8ib25lIG9mICIuY29uY2F0KGUsIiAiKS5jb25jYXQodC5zbGljZSgwLHItMSkuam9pbigiLCAiKSwiLCBvciAiKSt0W3ItMV06Mj09PXI/Im9uZSBvZiAiLmNvbmNhdChlLCIgIikuY29uY2F0KHRbMF0sIiBvciAiKS5jb25jYXQodFsxXSk6Im9mICIuY29uY2F0KGUsIiAiKS5jb25jYXQodFswXSl9cmV0dXJuIm9mICIuY29uY2F0KGUsIiAiKS5jb25jYXQoU3RyaW5nKHQpKX1pKCJFUlJfSU5WQUxJRF9PUFRfVkFMVUUiLChmdW5jdGlvbih0LGUpe3JldHVybidUaGUgdmFsdWUgIicrZSsnIiBpcyBpbnZhbGlkIGZvciBvcHRpb24gIicrdCsnIid9KSxUeXBlRXJyb3IpLGkoIkVSUl9JTlZBTElEX0FSR19UWVBFIiwoZnVuY3Rpb24odCxlLHIpe3ZhciBuLGkscyxhO2lmKCJzdHJpbmciPT10eXBlb2YgZSYmKGk9Im5vdCAiLGUuc3Vic3RyKCFzfHxzPDA/MDorcyxpLmxlbmd0aCk9PT1pKT8obj0ibXVzdCBub3QgYmUiLGU9ZS5yZXBsYWNlKC9ebm90IC8sIiIpKTpuPSJtdXN0IGJlIixmdW5jdGlvbih0LGUscil7cmV0dXJuKHZvaWQgMD09PXJ8fHI+dC5sZW5ndGgpJiYocj10Lmxlbmd0aCksdC5zdWJzdHJpbmcoci1lLmxlbmd0aCxyKT09PWV9KHQsIiBhcmd1bWVudCIpKWE9IlRoZSAiLmNvbmNhdCh0LCIgIikuY29uY2F0KG4sIiAiKS5jb25jYXQobyhlLCJ0eXBlIikpO2Vsc2V7dmFyIHU9ZnVuY3Rpb24odCxlLHIpe3JldHVybiJudW1iZXIiIT10eXBlb2YgciYmKHI9MCksIShyK2UubGVuZ3RoPnQubGVuZ3RoKSYmLTEhPT10LmluZGV4T2YoZSxyKX0odCwiLiIpPyJwcm9wZXJ0eSI6ImFyZ3VtZW50IjthPSdUaGUgIicuY29uY2F0KHQsJyIgJykuY29uY2F0KHUsIiAiKS5jb25jYXQobiwiICIpLmNvbmNhdChvKGUsInR5cGUiKSl9cmV0dXJuIGErPSIuIFJlY2VpdmVkIHR5cGUgIi5jb25jYXQodHlwZW9mIHIpfSksVHlwZUVycm9yKSxpKCJFUlJfU1RSRUFNX1BVU0hfQUZURVJfRU9GIiwic3RyZWFtLnB1c2goKSBhZnRlciBFT0YiKSxpKCJFUlJfTUVUSE9EX05PVF9JTVBMRU1FTlRFRCIsKGZ1bmN0aW9uKHQpe3JldHVybiJUaGUgIit0KyIgbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZCJ9KSksaSgiRVJSX1NUUkVBTV9QUkVNQVRVUkVfQ0xPU0UiLCJQcmVtYXR1cmUgY2xvc2UiKSxpKCJFUlJfU1RSRUFNX0RFU1RST1lFRCIsKGZ1bmN0aW9uKHQpe3JldHVybiJDYW5ub3QgY2FsbCAiK3QrIiBhZnRlciBhIHN0cmVhbSB3YXMgZGVzdHJveWVkIn0pKSxpKCJFUlJfTVVMVElQTEVfQ0FMTEJBQ0siLCJDYWxsYmFjayBjYWxsZWQgbXVsdGlwbGUgdGltZXMiKSxpKCJFUlJfU1RSRUFNX0NBTk5PVF9QSVBFIiwiQ2Fubm90IHBpcGUsIG5vdCByZWFkYWJsZSIpLGkoIkVSUl9TVFJFQU1fV1JJVEVfQUZURVJfRU5EIiwid3JpdGUgYWZ0ZXIgZW5kIiksaSgiRVJSX1NUUkVBTV9OVUxMX1ZBTFVFUyIsIk1heSBub3Qgd3JpdGUgbnVsbCB2YWx1ZXMgdG8gc3RyZWFtIixUeXBlRXJyb3IpLGkoIkVSUl9VTktOT1dOX0VOQ09ESU5HIiwoZnVuY3Rpb24odCl7cmV0dXJuIlVua25vd24gZW5jb2Rpbmc6ICIrdH0pLFR5cGVFcnJvciksaSgiRVJSX1NUUkVBTV9VTlNISUZUX0FGVEVSX0VORF9FVkVOVCIsInN0cmVhbS51bnNoaWZ0KCkgYWZ0ZXIgZW5kIGV2ZW50IiksdC5leHBvcnRzLmNvZGVzPW59LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7KGZ1bmN0aW9uKGUpe3ZhciBuPU9iamVjdC5rZXlzfHxmdW5jdGlvbih0KXt2YXIgZT1bXTtmb3IodmFyIHIgaW4gdCllLnB1c2gocik7cmV0dXJuIGV9O3QuZXhwb3J0cz1jO3ZhciBpPXIoMTEyKSxvPXIoMTE2KTtyKDMpKGMsaSk7Zm9yKHZhciBzPW4oby5wcm90b3R5cGUpLGE9MDthPHMubGVuZ3RoO2ErKyl7dmFyIHU9c1thXTtjLnByb3RvdHlwZVt1XXx8KGMucHJvdG90eXBlW3VdPW8ucHJvdG90eXBlW3VdKX1mdW5jdGlvbiBjKHQpe2lmKCEodGhpcyBpbnN0YW5jZW9mIGMpKXJldHVybiBuZXcgYyh0KTtpLmNhbGwodGhpcyx0KSxvLmNhbGwodGhpcyx0KSx0aGlzLmFsbG93SGFsZk9wZW49ITAsdCYmKCExPT09dC5yZWFkYWJsZSYmKHRoaXMucmVhZGFibGU9ITEpLCExPT09dC53cml0YWJsZSYmKHRoaXMud3JpdGFibGU9ITEpLCExPT09dC5hbGxvd0hhbGZPcGVuJiYodGhpcy5hbGxvd0hhbGZPcGVuPSExLHRoaXMub25jZSgiZW5kIixmKSkpfWZ1bmN0aW9uIGYoKXt0aGlzLl93cml0YWJsZVN0YXRlLmVuZGVkfHxlLm5leHRUaWNrKGgsdGhpcyl9ZnVuY3Rpb24gaCh0KXt0LmVuZCgpfU9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLnByb3RvdHlwZSwid3JpdGFibGVIaWdoV2F0ZXJNYXJrIix7ZW51bWVyYWJsZTohMSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fd3JpdGFibGVTdGF0ZS5oaWdoV2F0ZXJNYXJrfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLnByb3RvdHlwZSwid3JpdGFibGVCdWZmZXIiLHtlbnVtZXJhYmxlOiExLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl93cml0YWJsZVN0YXRlJiZ0aGlzLl93cml0YWJsZVN0YXRlLmdldEJ1ZmZlcigpfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLnByb3RvdHlwZSwid3JpdGFibGVMZW5ndGgiLHtlbnVtZXJhYmxlOiExLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl93cml0YWJsZVN0YXRlLmxlbmd0aH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoYy5wcm90b3R5cGUsImRlc3Ryb3llZCIse2VudW1lcmFibGU6ITEsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgMCE9PXRoaXMuX3JlYWRhYmxlU3RhdGUmJnZvaWQgMCE9PXRoaXMuX3dyaXRhYmxlU3RhdGUmJih0aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZCYmdGhpcy5fd3JpdGFibGVTdGF0ZS5kZXN0cm95ZWQpfSxzZXQ6ZnVuY3Rpb24odCl7dm9pZCAwIT09dGhpcy5fcmVhZGFibGVTdGF0ZSYmdm9pZCAwIT09dGhpcy5fd3JpdGFibGVTdGF0ZSYmKHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkPXQsdGhpcy5fd3JpdGFibGVTdGF0ZS5kZXN0cm95ZWQ9dCl9fSl9KS5jYWxsKHRoaXMscig1KSl9LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49e307ZnVuY3Rpb24gaSh0LGUscil7cnx8KHI9RXJyb3IpO3ZhciBpPWZ1bmN0aW9uKHQpe3ZhciByLG47ZnVuY3Rpb24gaShyLG4saSl7cmV0dXJuIHQuY2FsbCh0aGlzLGZ1bmN0aW9uKHQscixuKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGU/ZTplKHQscixuKX0ocixuLGkpKXx8dGhpc31yZXR1cm4gbj10LChyPWkpLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKG4ucHJvdG90eXBlKSxyLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1yLHIuX19wcm90b19fPW4saX0ocik7aS5wcm90b3R5cGUubmFtZT1yLm5hbWUsaS5wcm90b3R5cGUuY29kZT10LG5bdF09aX1mdW5jdGlvbiBvKHQsZSl7aWYoQXJyYXkuaXNBcnJheSh0KSl7dmFyIHI9dC5sZW5ndGg7cmV0dXJuIHQ9dC5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiBTdHJpbmcodCl9KSkscj4yPyJvbmUgb2YgIi5jb25jYXQoZSwiICIpLmNvbmNhdCh0LnNsaWNlKDAsci0xKS5qb2luKCIsICIpLCIsIG9yICIpK3Rbci0xXToyPT09cj8ib25lIG9mICIuY29uY2F0KGUsIiAiKS5jb25jYXQodFswXSwiIG9yICIpLmNvbmNhdCh0WzFdKToib2YgIi5jb25jYXQoZSwiICIpLmNvbmNhdCh0WzBdKX1yZXR1cm4ib2YgIi5jb25jYXQoZSwiICIpLmNvbmNhdChTdHJpbmcodCkpfWkoIkVSUl9JTlZBTElEX09QVF9WQUxVRSIsKGZ1bmN0aW9uKHQsZSl7cmV0dXJuJ1RoZSB2YWx1ZSAiJytlKyciIGlzIGludmFsaWQgZm9yIG9wdGlvbiAiJyt0KyciJ30pLFR5cGVFcnJvciksaSgiRVJSX0lOVkFMSURfQVJHX1RZUEUiLChmdW5jdGlvbih0LGUscil7dmFyIG4saSxzLGE7aWYoInN0cmluZyI9PXR5cGVvZiBlJiYoaT0ibm90ICIsZS5zdWJzdHIoIXN8fHM8MD8wOitzLGkubGVuZ3RoKT09PWkpPyhuPSJtdXN0IG5vdCBiZSIsZT1lLnJlcGxhY2UoL15ub3QgLywiIikpOm49Im11c3QgYmUiLGZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4odm9pZCAwPT09cnx8cj50Lmxlbmd0aCkmJihyPXQubGVuZ3RoKSx0LnN1YnN0cmluZyhyLWUubGVuZ3RoLHIpPT09ZX0odCwiIGFyZ3VtZW50IikpYT0iVGhlICIuY29uY2F0KHQsIiAiKS5jb25jYXQobiwiICIpLmNvbmNhdChvKGUsInR5cGUiKSk7ZWxzZXt2YXIgdT1mdW5jdGlvbih0LGUscil7cmV0dXJuIm51bWJlciIhPXR5cGVvZiByJiYocj0wKSwhKHIrZS5sZW5ndGg+dC5sZW5ndGgpJiYtMSE9PXQuaW5kZXhPZihlLHIpfSh0LCIuIik/InByb3BlcnR5IjoiYXJndW1lbnQiO2E9J1RoZSAiJy5jb25jYXQodCwnIiAnKS5jb25jYXQodSwiICIpLmNvbmNhdChuLCIgIikuY29uY2F0KG8oZSwidHlwZSIpKX1yZXR1cm4gYSs9Ii4gUmVjZWl2ZWQgdHlwZSAiLmNvbmNhdCh0eXBlb2Ygcil9KSxUeXBlRXJyb3IpLGkoIkVSUl9TVFJFQU1fUFVTSF9BRlRFUl9FT0YiLCJzdHJlYW0ucHVzaCgpIGFmdGVyIEVPRiIpLGkoIkVSUl9NRVRIT0RfTk9UX0lNUExFTUVOVEVEIiwoZnVuY3Rpb24odCl7cmV0dXJuIlRoZSAiK3QrIiBtZXRob2QgaXMgbm90IGltcGxlbWVudGVkIn0pKSxpKCJFUlJfU1RSRUFNX1BSRU1BVFVSRV9DTE9TRSIsIlByZW1hdHVyZSBjbG9zZSIpLGkoIkVSUl9TVFJFQU1fREVTVFJPWUVEIiwoZnVuY3Rpb24odCl7cmV0dXJuIkNhbm5vdCBjYWxsICIrdCsiIGFmdGVyIGEgc3RyZWFtIHdhcyBkZXN0cm95ZWQifSkpLGkoIkVSUl9NVUxUSVBMRV9DQUxMQkFDSyIsIkNhbGxiYWNrIGNhbGxlZCBtdWx0aXBsZSB0aW1lcyIpLGkoIkVSUl9TVFJFQU1fQ0FOTk9UX1BJUEUiLCJDYW5ub3QgcGlwZSwgbm90IHJlYWRhYmxlIiksaSgiRVJSX1NUUkVBTV9XUklURV9BRlRFUl9FTkQiLCJ3cml0ZSBhZnRlciBlbmQiKSxpKCJFUlJfU1RSRUFNX05VTExfVkFMVUVTIiwiTWF5IG5vdCB3cml0ZSBudWxsIHZhbHVlcyB0byBzdHJlYW0iLFR5cGVFcnJvciksaSgiRVJSX1VOS05PV05fRU5DT0RJTkciLChmdW5jdGlvbih0KXtyZXR1cm4iVW5rbm93biBlbmNvZGluZzogIit0fSksVHlwZUVycm9yKSxpKCJFUlJfU1RSRUFNX1VOU0hJRlRfQUZURVJfRU5EX0VWRU5UIiwic3RyZWFtLnVuc2hpZnQoKSBhZnRlciBlbmQgZXZlbnQiKSx0LmV4cG9ydHMuY29kZXM9bn0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjsoZnVuY3Rpb24oZSl7dmFyIG49T2JqZWN0LmtleXN8fGZ1bmN0aW9uKHQpe3ZhciBlPVtdO2Zvcih2YXIgciBpbiB0KWUucHVzaChyKTtyZXR1cm4gZX07dC5leHBvcnRzPWM7dmFyIGk9cigxMjgpLG89cigxMzIpO3IoMykoYyxpKTtmb3IodmFyIHM9bihvLnByb3RvdHlwZSksYT0wO2E8cy5sZW5ndGg7YSsrKXt2YXIgdT1zW2FdO2MucHJvdG90eXBlW3VdfHwoYy5wcm90b3R5cGVbdV09by5wcm90b3R5cGVbdV0pfWZ1bmN0aW9uIGModCl7aWYoISh0aGlzIGluc3RhbmNlb2YgYykpcmV0dXJuIG5ldyBjKHQpO2kuY2FsbCh0aGlzLHQpLG8uY2FsbCh0aGlzLHQpLHRoaXMuYWxsb3dIYWxmT3Blbj0hMCx0JiYoITE9PT10LnJlYWRhYmxlJiYodGhpcy5yZWFkYWJsZT0hMSksITE9PT10LndyaXRhYmxlJiYodGhpcy53cml0YWJsZT0hMSksITE9PT10LmFsbG93SGFsZk9wZW4mJih0aGlzLmFsbG93SGFsZk9wZW49ITEsdGhpcy5vbmNlKCJlbmQiLGYpKSl9ZnVuY3Rpb24gZigpe3RoaXMuX3dyaXRhYmxlU3RhdGUuZW5kZWR8fGUubmV4dFRpY2soaCx0aGlzKX1mdW5jdGlvbiBoKHQpe3QuZW5kKCl9T2JqZWN0LmRlZmluZVByb3BlcnR5KGMucHJvdG90eXBlLCJ3cml0YWJsZUhpZ2hXYXRlck1hcmsiLHtlbnVtZXJhYmxlOiExLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl93cml0YWJsZVN0YXRlLmhpZ2hXYXRlck1hcmt9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGMucHJvdG90eXBlLCJ3cml0YWJsZUJ1ZmZlciIse2VudW1lcmFibGU6ITEsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3dyaXRhYmxlU3RhdGUmJnRoaXMuX3dyaXRhYmxlU3RhdGUuZ2V0QnVmZmVyKCl9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGMucHJvdG90eXBlLCJ3cml0YWJsZUxlbmd0aCIse2VudW1lcmFibGU6ITEsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3dyaXRhYmxlU3RhdGUubGVuZ3RofX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLnByb3RvdHlwZSwiZGVzdHJveWVkIix7ZW51bWVyYWJsZTohMSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdm9pZCAwIT09dGhpcy5fcmVhZGFibGVTdGF0ZSYmdm9pZCAwIT09dGhpcy5fd3JpdGFibGVTdGF0ZSYmKHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkJiZ0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZCl9LHNldDpmdW5jdGlvbih0KXt2b2lkIDAhPT10aGlzLl9yZWFkYWJsZVN0YXRlJiZ2b2lkIDAhPT10aGlzLl93cml0YWJsZVN0YXRlJiYodGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWQ9dCx0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZD10KX19KX0pLmNhbGwodGhpcyxyKDUpKX0sZnVuY3Rpb24odCxlLHIpe3ZhciBuPXIoMTMpLkJ1ZmZlcjtmdW5jdGlvbiBpKHQsZSl7dGhpcy5fYmxvY2s9bi5hbGxvYyh0KSx0aGlzLl9maW5hbFNpemU9ZSx0aGlzLl9ibG9ja1NpemU9dCx0aGlzLl9sZW49MH1pLnByb3RvdHlwZS51cGRhdGU9ZnVuY3Rpb24odCxlKXsic3RyaW5nIj09dHlwZW9mIHQmJihlPWV8fCJ1dGY4Iix0PW4uZnJvbSh0LGUpKTtmb3IodmFyIHI9dGhpcy5fYmxvY2ssaT10aGlzLl9ibG9ja1NpemUsbz10Lmxlbmd0aCxzPXRoaXMuX2xlbixhPTA7YTxvOyl7Zm9yKHZhciB1PXMlaSxjPU1hdGgubWluKG8tYSxpLXUpLGY9MDtmPGM7ZisrKXJbdStmXT10W2ErZl07YSs9Yywocys9YyklaT09MCYmdGhpcy5fdXBkYXRlKHIpfXJldHVybiB0aGlzLl9sZW4rPW8sdGhpc30saS5wcm90b3R5cGUuZGlnZXN0PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX2xlbiV0aGlzLl9ibG9ja1NpemU7dGhpcy5fYmxvY2tbZV09MTI4LHRoaXMuX2Jsb2NrLmZpbGwoMCxlKzEpLGU+PXRoaXMuX2ZpbmFsU2l6ZSYmKHRoaXMuX3VwZGF0ZSh0aGlzLl9ibG9jayksdGhpcy5fYmxvY2suZmlsbCgwKSk7dmFyIHI9OCp0aGlzLl9sZW47aWYocjw9NDI5NDk2NzI5NSl0aGlzLl9ibG9jay53cml0ZVVJbnQzMkJFKHIsdGhpcy5fYmxvY2tTaXplLTQpO2Vsc2V7dmFyIG49KDQyOTQ5NjcyOTUmcik+Pj4wLGk9KHItbikvNDI5NDk2NzI5Njt0aGlzLl9ibG9jay53cml0ZVVJbnQzMkJFKGksdGhpcy5fYmxvY2tTaXplLTgpLHRoaXMuX2Jsb2NrLndyaXRlVUludDMyQkUobix0aGlzLl9ibG9ja1NpemUtNCl9dGhpcy5fdXBkYXRlKHRoaXMuX2Jsb2NrKTt2YXIgbz10aGlzLl9oYXNoKCk7cmV0dXJuIHQ/by50b1N0cmluZyh0KTpvfSxpLnByb3RvdHlwZS5fdXBkYXRlPWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKCJfdXBkYXRlIG11c3QgYmUgaW1wbGVtZW50ZWQgYnkgc3ViY2xhc3MiKX0sdC5leHBvcnRzPWl9LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7KGZ1bmN0aW9uKGUpe3ZhciBuPXIoMTM2KSxpPXIoMjkzKTtmdW5jdGlvbiBvKHQpe3ZhciBlPXQ7aWYoInN0cmluZyIhPXR5cGVvZiBlKXRocm93IG5ldyBFcnJvcigiW2V0aGpzLXV0aWxdIHdoaWxlIHBhZGRpbmcgdG8gZXZlbiwgdmFsdWUgbXVzdCBiZSBzdHJpbmcsIGlzIGN1cnJlbnRseSAiK3R5cGVvZiBlKyIsIHdoaWxlIHBhZFRvRXZlbi4iKTtyZXR1cm4gZS5sZW5ndGglMiYmKGU9IjAiK2UpLGV9ZnVuY3Rpb24gcyh0KXtyZXR1cm4iMHgiK3QudG9TdHJpbmcoMTYpfXQuZXhwb3J0cz17YXJyYXlDb250YWluc0FycmF5OmZ1bmN0aW9uKHQsZSxyKXtpZighMCE9PUFycmF5LmlzQXJyYXkodCkpdGhyb3cgbmV3IEVycm9yKCJbZXRoanMtdXRpbF0gbWV0aG9kIGFycmF5Q29udGFpbnNBcnJheSByZXF1aXJlcyBpbnB1dCAnc3VwZXJzZXQnIHRvIGJlIGFuIGFycmF5IGdvdCB0eXBlICciK3R5cGVvZiB0KyInIik7aWYoITAhPT1BcnJheS5pc0FycmF5KGUpKXRocm93IG5ldyBFcnJvcigiW2V0aGpzLXV0aWxdIG1ldGhvZCBhcnJheUNvbnRhaW5zQXJyYXkgcmVxdWlyZXMgaW5wdXQgJ3N1YnNldCcgdG8gYmUgYW4gYXJyYXkgZ290IHR5cGUgJyIrdHlwZW9mIGUrIiciKTtyZXR1cm4gZVtCb29sZWFuKHIpPyJzb21lIjoiZXZlcnkiXSgoZnVuY3Rpb24oZSl7cmV0dXJuIHQuaW5kZXhPZihlKT49MH0pKX0saW50VG9CdWZmZXI6ZnVuY3Rpb24odCl7dmFyIHI9cyh0KTtyZXR1cm4gbmV3IGUobyhyLnNsaWNlKDIpKSwiaGV4Iil9LGdldEJpbmFyeVNpemU6ZnVuY3Rpb24odCl7aWYoInN0cmluZyIhPXR5cGVvZiB0KXRocm93IG5ldyBFcnJvcigiW2V0aGpzLXV0aWxdIHdoaWxlIGdldHRpbmcgYmluYXJ5IHNpemUsIG1ldGhvZCBnZXRCaW5hcnlTaXplIHJlcXVpcmVzIGlucHV0ICdzdHInIHRvIGJlIHR5cGUgU3RyaW5nLCBnb3QgJyIrdHlwZW9mIHQrIicuIik7cmV0dXJuIGUuYnl0ZUxlbmd0aCh0LCJ1dGY4Iil9LGlzSGV4UHJlZml4ZWQ6bixzdHJpcEhleFByZWZpeDppLHBhZFRvRXZlbjpvLGludFRvSGV4OnMsZnJvbUFzY2lpOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT0iIixyPTA7cjx0Lmxlbmd0aDtyKyspe3ZhciBuPXQuY2hhckNvZGVBdChyKS50b1N0cmluZygxNik7ZSs9bi5sZW5ndGg8Mj8iMCIrbjpufXJldHVybiIweCIrZX0sZnJvbVV0Zjg6ZnVuY3Rpb24odCl7cmV0dXJuIjB4IitvKG5ldyBlKHQsInV0ZjgiKS50b1N0cmluZygiaGV4IikpLnJlcGxhY2UoL14wK3wwKyQvZywiIil9LHRvQXNjaWk6ZnVuY3Rpb24odCl7dmFyIGU9IiIscj0wLG49dC5sZW5ndGg7Zm9yKCIweCI9PT10LnN1YnN0cmluZygwLDIpJiYocj0yKTtyPG47cis9Mil7dmFyIGk9cGFyc2VJbnQodC5zdWJzdHIociwyKSwxNik7ZSs9U3RyaW5nLmZyb21DaGFyQ29kZShpKX1yZXR1cm4gZX0sdG9VdGY4OmZ1bmN0aW9uKHQpe3JldHVybiBuZXcgZShvKGkodCkucmVwbGFjZSgvXjArfDArJC9nLCIiKSksImhleCIpLnRvU3RyaW5nKCJ1dGY4Iil9LGdldEtleXM6ZnVuY3Rpb24odCxlLHIpe2lmKCFBcnJheS5pc0FycmF5KHQpKXRocm93IG5ldyBFcnJvcigiW2V0aGpzLXV0aWxdIG1ldGhvZCBnZXRLZXlzIGV4cGVjdGluZyB0eXBlIEFycmF5IGFzICdwYXJhbXMnIGlucHV0LCBnb3QgJyIrdHlwZW9mIHQrIiciKTtpZigic3RyaW5nIiE9dHlwZW9mIGUpdGhyb3cgbmV3IEVycm9yKCJbZXRoanMtdXRpbF0gbWV0aG9kIGdldEtleXMgZXhwZWN0aW5nIHR5cGUgU3RyaW5nIGZvciBpbnB1dCAna2V5JyBnb3QgJyIrdHlwZW9mIGUrIicuIik7Zm9yKHZhciBuPVtdLGk9MDtpPHQubGVuZ3RoO2krKyl7dmFyIG89dFtpXVtlXTtpZihyJiYhbylvPSIiO2Vsc2UgaWYoInN0cmluZyIhPXR5cGVvZiBvKXRocm93IG5ldyBFcnJvcigiaW52YWxpZCBhYmkiKTtuLnB1c2gobyl9cmV0dXJuIG59LGlzSGV4U3RyaW5nOmZ1bmN0aW9uKHQsZSl7cmV0dXJuISgic3RyaW5nIiE9dHlwZW9mIHR8fCF0Lm1hdGNoKC9eMHhbMC05QS1GYS1mXSokLykpJiYoIWV8fHQubGVuZ3RoPT09MisyKmUpfX19KS5jYWxsKHRoaXMscigyKS5CdWZmZXIpfSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXIoOTApO3IuZChlLCJyYW5kb21CeXRlcyIsKGZ1bmN0aW9uKCl7cmV0dXJuIG4uYX0pKTt2YXIgaT1yKDkxKTtyLmQoZSwiYWVzQ2JjRGVjcnlwdCIsKGZ1bmN0aW9uKCl7cmV0dXJuIGkuYX0pKSxyLmQoZSwiYWVzQ2JjRW5jcnlwdCIsKGZ1bmN0aW9uKCl7cmV0dXJuIGkuYn0pKTt2YXIgbz1yKDkyKTtyLmQoZSwiaG1hY1NoYTI1NlNpZ24iLChmdW5jdGlvbigpe3JldHVybiBvLmF9KSk7cig5Nykscig0Mikscig0KX0sZnVuY3Rpb24odCxlLHIpeyhlPXQuZXhwb3J0cz1yKDEwNSkpLlN0cmVhbT1lLGUuUmVhZGFibGU9ZSxlLldyaXRhYmxlPXIoNTMpLGUuRHVwbGV4PXIoMTkpLGUuVHJhbnNmb3JtPXIoMTA5KSxlLlBhc3NUaHJvdWdoPXIoMjEwKX0sZnVuY3Rpb24odCxlLHIpeyhmdW5jdGlvbih0KXtmdW5jdGlvbiByKHQpe3JldHVybiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodCl9ZS5pc0FycmF5PWZ1bmN0aW9uKHQpe3JldHVybiBBcnJheS5pc0FycmF5P0FycmF5LmlzQXJyYXkodCk6IltvYmplY3QgQXJyYXldIj09PXIodCl9LGUuaXNCb29sZWFuPWZ1bmN0aW9uKHQpe3JldHVybiJib29sZWFuIj09dHlwZW9mIHR9LGUuaXNOdWxsPWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT09dH0sZS5pc051bGxPclVuZGVmaW5lZD1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dH0sZS5pc051bWJlcj1mdW5jdGlvbih0KXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIHR9LGUuaXNTdHJpbmc9ZnVuY3Rpb24odCl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0fSxlLmlzU3ltYm9sPWZ1bmN0aW9uKHQpe3JldHVybiJzeW1ib2wiPT10eXBlb2YgdH0sZS5pc1VuZGVmaW5lZD1mdW5jdGlvbih0KXtyZXR1cm4gdm9pZCAwPT09dH0sZS5pc1JlZ0V4cD1mdW5jdGlvbih0KXtyZXR1cm4iW29iamVjdCBSZWdFeHBdIj09PXIodCl9LGUuaXNPYmplY3Q9ZnVuY3Rpb24odCl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiB0JiZudWxsIT09dH0sZS5pc0RhdGU9ZnVuY3Rpb24odCl7cmV0dXJuIltvYmplY3QgRGF0ZV0iPT09cih0KX0sZS5pc0Vycm9yPWZ1bmN0aW9uKHQpe3JldHVybiJbb2JqZWN0IEVycm9yXSI9PT1yKHQpfHx0IGluc3RhbmNlb2YgRXJyb3J9LGUuaXNGdW5jdGlvbj1mdW5jdGlvbih0KXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgdH0sZS5pc1ByaW1pdGl2ZT1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09PXR8fCJib29sZWFuIj09dHlwZW9mIHR8fCJudW1iZXIiPT10eXBlb2YgdHx8InN0cmluZyI9PXR5cGVvZiB0fHwic3ltYm9sIj09dHlwZW9mIHR8fHZvaWQgMD09PXR9LGUuaXNCdWZmZXI9dC5pc0J1ZmZlcn0pLmNhbGwodGhpcyxyKDIpLkJ1ZmZlcil9LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49ImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmInN5bWJvbCI9PXR5cGVvZiBTeW1ib2wuaXRlcmF0b3I/ZnVuY3Rpb24odCl7cmV0dXJuIHR5cGVvZiB0fTpmdW5jdGlvbih0KXtyZXR1cm4gdCYmImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmdC5jb25zdHJ1Y3Rvcj09PVN5bWJvbCYmdCE9PVN5bWJvbC5wcm90b3R5cGU/InN5bWJvbCI6dHlwZW9mIHR9LGk9cigxMTApLG89aS5rZWNjYWsyMjQscz1pLmtlY2NhazM4NCxhPWkua2VjY2FrMjU2LHU9aS5rZWNjYWs1MTIsYz1yKDI0MSksZj1yKDYxKSxoPXIoNDYpLGw9cig5KSxkPXIoMTI2KSxwPXIoMjkyKS5CdWZmZXI7T2JqZWN0LmFzc2lnbihlLHIoMzIpKSxlLk1BWF9JTlRFR0VSPW5ldyBsKCJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmIiwxNiksZS5UV09fUE9XMjU2PW5ldyBsKCIxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCIsMTYpLGUuS0VDQ0FLMjU2X05VTExfUz0iYzVkMjQ2MDE4NmY3MjMzYzkyN2U3ZGIyZGNjNzAzYzBlNTAwYjY1M2NhODIyNzNiN2JmYWQ4MDQ1ZDg1YTQ3MCIsZS5TSEEzX05VTExfUz1lLktFQ0NBSzI1Nl9OVUxMX1MsZS5LRUNDQUsyNTZfTlVMTD1wLmZyb20oZS5LRUNDQUsyNTZfTlVMTF9TLCJoZXgiKSxlLlNIQTNfTlVMTD1lLktFQ0NBSzI1Nl9OVUxMLGUuS0VDQ0FLMjU2X1JMUF9BUlJBWV9TPSIxZGNjNGRlOGRlYzc1ZDdhYWI4NWI1NjdiNmNjZDQxYWQzMTI0NTFiOTQ4YTc0MTNmMGExNDJmZDQwZDQ5MzQ3IixlLlNIQTNfUkxQX0FSUkFZX1M9ZS5LRUNDQUsyNTZfUkxQX0FSUkFZX1MsZS5LRUNDQUsyNTZfUkxQX0FSUkFZPXAuZnJvbShlLktFQ0NBSzI1Nl9STFBfQVJSQVlfUywiaGV4IiksZS5TSEEzX1JMUF9BUlJBWT1lLktFQ0NBSzI1Nl9STFBfQVJSQVksZS5LRUNDQUsyNTZfUkxQX1M9IjU2ZTgxZjE3MWJjYzU1YTZmZjgzNDVlNjkyYzBmODZlNWI0OGUwMWI5OTZjYWRjMDAxNjIyZmI1ZTM2M2I0MjEiLGUuU0hBM19STFBfUz1lLktFQ0NBSzI1Nl9STFBfUyxlLktFQ0NBSzI1Nl9STFA9cC5mcm9tKGUuS0VDQ0FLMjU2X1JMUF9TLCJoZXgiKSxlLlNIQTNfUkxQPWUuS0VDQ0FLMjU2X1JMUCxlLkJOPWwsZS5ybHA9aCxlLnNlY3AyNTZrMT1jLGUuemVyb3M9ZnVuY3Rpb24odCl7cmV0dXJuIHAuYWxsb2NVbnNhZmUodCkuZmlsbCgwKX0sZS56ZXJvQWRkcmVzcz1mdW5jdGlvbigpe3ZhciB0PWUuemVyb3MoMjApO3JldHVybiBlLmJ1ZmZlclRvSGV4KHQpfSxlLnNldExlbmd0aExlZnQ9ZS5zZXRMZW5ndGg9ZnVuY3Rpb24odCxyLG4pe3ZhciBpPWUuemVyb3Mocik7cmV0dXJuIHQ9ZS50b0J1ZmZlcih0KSxuP3QubGVuZ3RoPHI/KHQuY29weShpKSxpKTp0LnNsaWNlKDAscik6dC5sZW5ndGg8cj8odC5jb3B5KGksci10Lmxlbmd0aCksaSk6dC5zbGljZSgtcil9LGUuc2V0TGVuZ3RoUmlnaHQ9ZnVuY3Rpb24odCxyKXtyZXR1cm4gZS5zZXRMZW5ndGgodCxyLCEwKX0sZS51bnBhZD1lLnN0cmlwWmVyb3M9ZnVuY3Rpb24odCl7Zm9yKHZhciByPSh0PWUuc3RyaXBIZXhQcmVmaXgodCkpWzBdO3QubGVuZ3RoPjAmJiIwIj09PXIudG9TdHJpbmcoKTspcj0odD10LnNsaWNlKDEpKVswXTtyZXR1cm4gdH0sZS50b0J1ZmZlcj1mdW5jdGlvbih0KXtpZighcC5pc0J1ZmZlcih0KSlpZihBcnJheS5pc0FycmF5KHQpKXQ9cC5mcm9tKHQpO2Vsc2UgaWYoInN0cmluZyI9PXR5cGVvZiB0KXQ9ZS5pc0hleFN0cmluZyh0KT9wLmZyb20oZS5wYWRUb0V2ZW4oZS5zdHJpcEhleFByZWZpeCh0KSksImhleCIpOnAuZnJvbSh0KTtlbHNlIGlmKCJudW1iZXIiPT10eXBlb2YgdCl0PWUuaW50VG9CdWZmZXIodCk7ZWxzZSBpZihudWxsPT10KXQ9cC5hbGxvY1Vuc2FmZSgwKTtlbHNlIGlmKGwuaXNCTih0KSl0PXQudG9BcnJheUxpa2UocCk7ZWxzZXtpZighdC50b0FycmF5KXRocm93IG5ldyBFcnJvcigiaW52YWxpZCB0eXBlIik7dD1wLmZyb20odC50b0FycmF5KCkpfXJldHVybiB0fSxlLmJ1ZmZlclRvSW50PWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgbChlLnRvQnVmZmVyKHQpKS50b051bWJlcigpfSxlLmJ1ZmZlclRvSGV4PWZ1bmN0aW9uKHQpe3JldHVybiIweCIrKHQ9ZS50b0J1ZmZlcih0KSkudG9TdHJpbmcoImhleCIpfSxlLmZyb21TaWduZWQ9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBsKHQpLmZyb21Ud29zKDI1Nil9LGUudG9VbnNpZ25lZD1mdW5jdGlvbih0KXtyZXR1cm4gcC5mcm9tKHQudG9Ud29zKDI1NikudG9BcnJheSgpKX0sZS5rZWNjYWs9ZnVuY3Rpb24odCxyKXtzd2l0Y2godD1lLnRvQnVmZmVyKHQpLHJ8fChyPTI1Nikscil7Y2FzZSAyMjQ6cmV0dXJuIG8odCk7Y2FzZSAyNTY6cmV0dXJuIGEodCk7Y2FzZSAzODQ6cmV0dXJuIHModCk7Y2FzZSA1MTI6cmV0dXJuIHUodCk7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoIkludmFsZCBhbGdvcml0aG06IGtlY2NhayIrcil9fSxlLmtlY2NhazI1Nj1mdW5jdGlvbih0KXtyZXR1cm4gZS5rZWNjYWsodCl9LGUuc2hhMz1lLmtlY2NhayxlLnNoYTI1Nj1mdW5jdGlvbih0KXtyZXR1cm4gdD1lLnRvQnVmZmVyKHQpLGQoInNoYTI1NiIpLnVwZGF0ZSh0KS5kaWdlc3QoKX0sZS5yaXBlbWQxNjA9ZnVuY3Rpb24odCxyKXt0PWUudG9CdWZmZXIodCk7dmFyIG49ZCgicm1kMTYwIikudXBkYXRlKHQpLmRpZ2VzdCgpO3JldHVybiEwPT09cj9lLnNldExlbmd0aChuLDMyKTpufSxlLnJscGhhc2g9ZnVuY3Rpb24odCl7cmV0dXJuIGUua2VjY2FrKGguZW5jb2RlKHQpKX0sZS5pc1ZhbGlkUHJpdmF0ZT1mdW5jdGlvbih0KXtyZXR1cm4gYy5wcml2YXRlS2V5VmVyaWZ5KHQpfSxlLmlzVmFsaWRQdWJsaWM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gNjQ9PT10Lmxlbmd0aD9jLnB1YmxpY0tleVZlcmlmeShwLmNvbmNhdChbcC5mcm9tKFs0XSksdF0pKTohIWUmJmMucHVibGljS2V5VmVyaWZ5KHQpfSxlLnB1YlRvQWRkcmVzcz1lLnB1YmxpY1RvQWRkcmVzcz1mdW5jdGlvbih0LHIpe3JldHVybiB0PWUudG9CdWZmZXIodCksciYmNjQhPT10Lmxlbmd0aCYmKHQ9Yy5wdWJsaWNLZXlDb252ZXJ0KHQsITEpLnNsaWNlKDEpKSxmKDY0PT09dC5sZW5ndGgpLGUua2VjY2FrKHQpLnNsaWNlKC0yMCl9O3ZhciBtPWUucHJpdmF0ZVRvUHVibGljPWZ1bmN0aW9uKHQpe3JldHVybiB0PWUudG9CdWZmZXIodCksYy5wdWJsaWNLZXlDcmVhdGUodCwhMSkuc2xpY2UoMSl9O2UuaW1wb3J0UHVibGljPWZ1bmN0aW9uKHQpe3JldHVybiA2NCE9PSh0PWUudG9CdWZmZXIodCkpLmxlbmd0aCYmKHQ9Yy5wdWJsaWNLZXlDb252ZXJ0KHQsITEpLnNsaWNlKDEpKSx0fSxlLmVjc2lnbj1mdW5jdGlvbih0LGUpe3ZhciByPWMuc2lnbih0LGUpLG49e307cmV0dXJuIG4ucj1yLnNpZ25hdHVyZS5zbGljZSgwLDMyKSxuLnM9ci5zaWduYXR1cmUuc2xpY2UoMzIsNjQpLG4udj1yLnJlY292ZXJ5KzI3LG59LGUuaGFzaFBlcnNvbmFsTWVzc2FnZT1mdW5jdGlvbih0KXt2YXIgcj1lLnRvQnVmZmVyKCIZRXRoZXJldW0gU2lnbmVkIE1lc3NhZ2U6XG4iK3QubGVuZ3RoLnRvU3RyaW5nKCkpO3JldHVybiBlLmtlY2NhayhwLmNvbmNhdChbcix0XSkpfSxlLmVjcmVjb3Zlcj1mdW5jdGlvbih0LHIsbixpKXt2YXIgbz1wLmNvbmNhdChbZS5zZXRMZW5ndGgobiwzMiksZS5zZXRMZW5ndGgoaSwzMildLDY0KSxzPXItMjc7aWYoMCE9PXMmJjEhPT1zKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBzaWduYXR1cmUgdiB2YWx1ZSIpO3ZhciBhPWMucmVjb3Zlcih0LG8scyk7cmV0dXJuIGMucHVibGljS2V5Q29udmVydChhLCExKS5zbGljZSgxKX0sZS50b1JwY1NpZz1mdW5jdGlvbih0LHIsbil7aWYoMjchPT10JiYyOCE9PXQpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIHJlY292ZXJ5IGlkIik7cmV0dXJuIGUuYnVmZmVyVG9IZXgocC5jb25jYXQoW2Uuc2V0TGVuZ3RoTGVmdChyLDMyKSxlLnNldExlbmd0aExlZnQobiwzMiksZS50b0J1ZmZlcih0LTI3KV0pKX0sZS5mcm9tUnBjU2lnPWZ1bmN0aW9uKHQpe2lmKDY1IT09KHQ9ZS50b0J1ZmZlcih0KSkubGVuZ3RoKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBzaWduYXR1cmUgbGVuZ3RoIik7dmFyIHI9dFs2NF07cmV0dXJuIHI8MjcmJihyKz0yNykse3Y6cixyOnQuc2xpY2UoMCwzMiksczp0LnNsaWNlKDMyLDY0KX19LGUucHJpdmF0ZVRvQWRkcmVzcz1mdW5jdGlvbih0KXtyZXR1cm4gZS5wdWJsaWNUb0FkZHJlc3MobSh0KSl9LGUuaXNWYWxpZEFkZHJlc3M9ZnVuY3Rpb24odCl7cmV0dXJuL14weFswLTlhLWZBLUZdezQwfSQvLnRlc3QodCl9LGUuaXNaZXJvQWRkcmVzcz1mdW5jdGlvbih0KXtyZXR1cm4gZS56ZXJvQWRkcmVzcygpPT09ZS5hZGRIZXhQcmVmaXgodCl9LGUudG9DaGVja3N1bUFkZHJlc3M9ZnVuY3Rpb24odCl7dD1lLnN0cmlwSGV4UHJlZml4KHQpLnRvTG93ZXJDYXNlKCk7Zm9yKHZhciByPWUua2VjY2FrKHQpLnRvU3RyaW5nKCJoZXgiKSxuPSIweCIsaT0wO2k8dC5sZW5ndGg7aSsrKXBhcnNlSW50KHJbaV0sMTYpPj04P24rPXRbaV0udG9VcHBlckNhc2UoKTpuKz10W2ldO3JldHVybiBufSxlLmlzVmFsaWRDaGVja3N1bUFkZHJlc3M9ZnVuY3Rpb24odCl7cmV0dXJuIGUuaXNWYWxpZEFkZHJlc3ModCkmJmUudG9DaGVja3N1bUFkZHJlc3ModCk9PT10fSxlLmdlbmVyYXRlQWRkcmVzcz1mdW5jdGlvbih0LHIpe3JldHVybiB0PWUudG9CdWZmZXIodCkscj0ocj1uZXcgbChyKSkuaXNaZXJvKCk/bnVsbDpwLmZyb20oci50b0FycmF5KCkpLGUucmxwaGFzaChbdCxyXSkuc2xpY2UoLTIwKX0sZS5pc1ByZWNvbXBpbGVkPWZ1bmN0aW9uKHQpe3ZhciByPWUudW5wYWQodCk7cmV0dXJuIDE9PT1yLmxlbmd0aCYmclswXT49MSYmclswXTw9OH0sZS5hZGRIZXhQcmVmaXg9ZnVuY3Rpb24odCl7cmV0dXJuInN0cmluZyIhPXR5cGVvZiB0fHxlLmlzSGV4UHJlZml4ZWQodCk/dDoiMHgiK3R9LGUuaXNWYWxpZFNpZ25hdHVyZT1mdW5jdGlvbih0LGUscixuKXt2YXIgaT1uZXcgbCgiN2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmY1ZDU3NmU3MzU3YTQ1MDFkZGZlOTJmNDY2ODFiMjBhMCIsMTYpLG89bmV3IGwoImZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlYmFhZWRjZTZhZjQ4YTAzYmJmZDI1ZThjZDAzNjQxNDEiLDE2KTtyZXR1cm4gMzI9PT1lLmxlbmd0aCYmMzI9PT1yLmxlbmd0aCYmKCgyNz09PXR8fDI4PT09dCkmJihlPW5ldyBsKGUpLHI9bmV3IGwociksIShlLmlzWmVybygpfHxlLmd0KG8pfHxyLmlzWmVybygpfHxyLmd0KG8pKSYmKCExIT09bnx8MSE9PW5ldyBsKHIpLmNtcChpKSkpKX0sZS5iYVRvSlNPTj1mdW5jdGlvbih0KXtpZihwLmlzQnVmZmVyKHQpKXJldHVybiIweCIrdC50b1N0cmluZygiaGV4Iik7aWYodCBpbnN0YW5jZW9mIEFycmF5KXtmb3IodmFyIHI9W10sbj0wO248dC5sZW5ndGg7bisrKXIucHVzaChlLmJhVG9KU09OKHRbbl0pKTtyZXR1cm4gcn19LGUuZGVmaW5lUHJvcGVydGllcz1mdW5jdGlvbih0LHIsaSl7aWYodC5yYXc9W10sdC5fZmllbGRzPVtdLHQudG9KU09OPWZ1bmN0aW9uKHIpe2lmKHIpe3ZhciBuPXt9O3JldHVybiB0Ll9maWVsZHMuZm9yRWFjaCgoZnVuY3Rpb24oZSl7bltlXT0iMHgiK3RbZV0udG9TdHJpbmcoImhleCIpfSkpLG59cmV0dXJuIGUuYmFUb0pTT04odGhpcy5yYXcpfSx0LnNlcmlhbGl6ZT1mdW5jdGlvbigpe3JldHVybiBoLmVuY29kZSh0LnJhdyl9LHIuZm9yRWFjaCgoZnVuY3Rpb24ocixuKXtmdW5jdGlvbiBpKCl7cmV0dXJuIHQucmF3W25dfWZ1bmN0aW9uIG8oaSl7IjAwIiE9PShpPWUudG9CdWZmZXIoaSkpLnRvU3RyaW5nKCJoZXgiKXx8ci5hbGxvd1plcm98fChpPXAuYWxsb2NVbnNhZmUoMCkpLHIuYWxsb3dMZXNzJiZyLmxlbmd0aD8oaT1lLnN0cmlwWmVyb3MoaSksZihyLmxlbmd0aD49aS5sZW5ndGgsIlRoZSBmaWVsZCAiK3IubmFtZSsiIG11c3Qgbm90IGhhdmUgbW9yZSAiK3IubGVuZ3RoKyIgYnl0ZXMiKSk6ci5hbGxvd1plcm8mJjA9PT1pLmxlbmd0aHx8IXIubGVuZ3RofHxmKHIubGVuZ3RoPT09aS5sZW5ndGgsIlRoZSBmaWVsZCAiK3IubmFtZSsiIG11c3QgaGF2ZSBieXRlIGxlbmd0aCBvZiAiK3IubGVuZ3RoKSx0LnJhd1tuXT1pfXQuX2ZpZWxkcy5wdXNoKHIubmFtZSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsci5uYW1lLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCxnZXQ6aSxzZXQ6b30pLHIuZGVmYXVsdCYmKHRbci5uYW1lXT1yLmRlZmF1bHQpLHIuYWxpYXMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LHIuYWxpYXMse2VudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwLHNldDpvLGdldDppfSl9KSksaSlpZigic3RyaW5nIj09dHlwZW9mIGkmJihpPXAuZnJvbShlLnN0cmlwSGV4UHJlZml4KGkpLCJoZXgiKSkscC5pc0J1ZmZlcihpKSYmKGk9aC5kZWNvZGUoaSkpLEFycmF5LmlzQXJyYXkoaSkpe2lmKGkubGVuZ3RoPnQuX2ZpZWxkcy5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJ3cm9uZyBudW1iZXIgb2YgZmllbGRzIGluIGRhdGEiKTtpLmZvckVhY2goKGZ1bmN0aW9uKHIsbil7dFt0Ll9maWVsZHNbbl1dPWUudG9CdWZmZXIocil9KSl9ZWxzZXtpZigib2JqZWN0IiE9PSh2b2lkIDA9PT1pPyJ1bmRlZmluZWQiOm4oaSkpKXRocm93IG5ldyBFcnJvcigiaW52YWxpZCBkYXRhIik7dmFyIG89T2JqZWN0LmtleXMoaSk7ci5mb3JFYWNoKChmdW5jdGlvbihlKXstMSE9PW8uaW5kZXhPZihlLm5hbWUpJiYodFtlLm5hbWVdPWlbZS5uYW1lXSksLTEhPT1vLmluZGV4T2YoZS5hbGlhcykmJih0W2UuYWxpYXNdPWlbZS5hbGlhc10pfSkpfX19LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49cigxNSksaT1yKDIyKTtmdW5jdGlvbiBvKCl7dGhpcy5wZW5kaW5nPW51bGwsdGhpcy5wZW5kaW5nVG90YWw9MCx0aGlzLmJsb2NrU2l6ZT10aGlzLmNvbnN0cnVjdG9yLmJsb2NrU2l6ZSx0aGlzLm91dFNpemU9dGhpcy5jb25zdHJ1Y3Rvci5vdXRTaXplLHRoaXMuaG1hY1N0cmVuZ3RoPXRoaXMuY29uc3RydWN0b3IuaG1hY1N0cmVuZ3RoLHRoaXMucGFkTGVuZ3RoPXRoaXMuY29uc3RydWN0b3IucGFkTGVuZ3RoLzgsdGhpcy5lbmRpYW49ImJpZyIsdGhpcy5fZGVsdGE4PXRoaXMuYmxvY2tTaXplLzgsdGhpcy5fZGVsdGEzMj10aGlzLmJsb2NrU2l6ZS8zMn1lLkJsb2NrSGFzaD1vLG8ucHJvdG90eXBlLnVwZGF0ZT1mdW5jdGlvbih0LGUpe2lmKHQ9bi50b0FycmF5KHQsZSksdGhpcy5wZW5kaW5nP3RoaXMucGVuZGluZz10aGlzLnBlbmRpbmcuY29uY2F0KHQpOnRoaXMucGVuZGluZz10LHRoaXMucGVuZGluZ1RvdGFsKz10Lmxlbmd0aCx0aGlzLnBlbmRpbmcubGVuZ3RoPj10aGlzLl9kZWx0YTgpe3ZhciByPSh0PXRoaXMucGVuZGluZykubGVuZ3RoJXRoaXMuX2RlbHRhODt0aGlzLnBlbmRpbmc9dC5zbGljZSh0Lmxlbmd0aC1yLHQubGVuZ3RoKSwwPT09dGhpcy5wZW5kaW5nLmxlbmd0aCYmKHRoaXMucGVuZGluZz1udWxsKSx0PW4uam9pbjMyKHQsMCx0Lmxlbmd0aC1yLHRoaXMuZW5kaWFuKTtmb3IodmFyIGk9MDtpPHQubGVuZ3RoO2krPXRoaXMuX2RlbHRhMzIpdGhpcy5fdXBkYXRlKHQsaSxpK3RoaXMuX2RlbHRhMzIpfXJldHVybiB0aGlzfSxvLnByb3RvdHlwZS5kaWdlc3Q9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMudXBkYXRlKHRoaXMuX3BhZCgpKSxpKG51bGw9PT10aGlzLnBlbmRpbmcpLHRoaXMuX2RpZ2VzdCh0KX0sby5wcm90b3R5cGUuX3BhZD1mdW5jdGlvbigpe3ZhciB0PXRoaXMucGVuZGluZ1RvdGFsLGU9dGhpcy5fZGVsdGE4LHI9ZS0odCt0aGlzLnBhZExlbmd0aCklZSxuPW5ldyBBcnJheShyK3RoaXMucGFkTGVuZ3RoKTtuWzBdPTEyODtmb3IodmFyIGk9MTtpPHI7aSsrKW5baV09MDtpZih0PDw9MywiYmlnIj09PXRoaXMuZW5kaWFuKXtmb3IodmFyIG89ODtvPHRoaXMucGFkTGVuZ3RoO28rKyluW2krK109MDtuW2krK109MCxuW2krK109MCxuW2krK109MCxuW2krK109MCxuW2krK109dD4+PjI0JjI1NSxuW2krK109dD4+PjE2JjI1NSxuW2krK109dD4+PjgmMjU1LG5baSsrXT0yNTUmdH1lbHNlIGZvcihuW2krK109MjU1JnQsbltpKytdPXQ+Pj44JjI1NSxuW2krK109dD4+PjE2JjI1NSxuW2krK109dD4+PjI0JjI1NSxuW2krK109MCxuW2krK109MCxuW2krK109MCxuW2krK109MCxvPTg7bzx0aGlzLnBhZExlbmd0aDtvKyspbltpKytdPTA7cmV0dXJuIG59fSxmdW5jdGlvbih0LGUpe3QuZXhwb3J0cz1mdW5jdGlvbigpe319LGZ1bmN0aW9uKHQsZSl7ZnVuY3Rpb24gcih0KXtyZXR1cm4gdC5zb3J0KCh0LGUpPT4ibGF0ZXN0Ij09PXR8fCJlYXJsaWVzdCI9PT1lPzE6ImxhdGVzdCI9PT1lfHwiZWFybGllc3QiPT09dD8tMTpuKHQpLW4oZSkpfWZ1bmN0aW9uIG4odCl7cmV0dXJuIG51bGw9PXQ/dDpOdW1iZXIucGFyc2VJbnQodCwxNil9ZnVuY3Rpb24gaSh0KXtpZihudWxsPT10KXJldHVybiB0O2xldCBlPXQudG9TdHJpbmcoMTYpO3JldHVybiBlLmxlbmd0aCUyJiYoZT0iMCIrZSksIjB4IitlfWZ1bmN0aW9uIG8oKXtyZXR1cm4gTWF0aC5mbG9vcigxNipNYXRoLnJhbmRvbSgpKS50b1N0cmluZygxNil9dC5leHBvcnRzPXttaW5CbG9ja1JlZjpmdW5jdGlvbiguLi50KXtyZXR1cm4gcih0KVswXX0sbWF4QmxvY2tSZWY6ZnVuY3Rpb24oLi4udCl7Y29uc3QgZT1yKHQpO3JldHVybiBlW2UubGVuZ3RoLTFdfSxzb3J0QmxvY2tSZWZzOnIsYm5Ub0hleDpmdW5jdGlvbih0KXtyZXR1cm4iMHgiK3QudG9TdHJpbmcoMTYpfSxibG9ja1JlZklzTnVtYmVyOmZ1bmN0aW9uKHQpe3JldHVybiB0JiYhWyJlYXJsaWVzdCIsImxhdGVzdCIsInBlbmRpbmciXS5pbmNsdWRlcyh0KX0saGV4VG9JbnQ6bixpbmNyZW1lbnRIZXhJbnQ6ZnVuY3Rpb24odCl7aWYobnVsbD09dClyZXR1cm4gdDtyZXR1cm4gaShuKHQpKzEpfSxpbnRUb0hleDppLHVuc2FmZVJhbmRvbUJ5dGVzOmZ1bmN0aW9uKHQpe2xldCBlPSIweCI7Zm9yKGxldCByPTA7cjx0O3IrKyllKz1vKCksZSs9bygpO3JldHVybiBlfX19LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7KGZ1bmN0aW9uKHQpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxlLmJhVG9KU09OPWUuYWRkSGV4UHJlZml4PWUudG9VbnNpZ25lZD1lLmZyb21TaWduZWQ9ZS5idWZmZXJUb0hleD1lLmJ1ZmZlclRvSW50PWUudG9CdWZmZXI9ZS5zdHJpcFplcm9zPWUudW5wYWQ9ZS5zZXRMZW5ndGhSaWdodD1lLnNldExlbmd0aD1lLnNldExlbmd0aExlZnQ9ZS56ZXJvcz12b2lkIDA7dmFyIG49cigzMiksaT1yKDkpO2UuemVyb3M9ZnVuY3Rpb24oZSl7cmV0dXJuIHQuYWxsb2NVbnNhZmUoZSkuZmlsbCgwKX0sZS5zZXRMZW5ndGhMZWZ0PWZ1bmN0aW9uKHQscixuKXt2b2lkIDA9PT1uJiYobj0hMSk7dmFyIGk9ZS56ZXJvcyhyKTtyZXR1cm4gdD1lLnRvQnVmZmVyKHQpLG4/dC5sZW5ndGg8cj8odC5jb3B5KGkpLGkpOnQuc2xpY2UoMCxyKTp0Lmxlbmd0aDxyPyh0LmNvcHkoaSxyLXQubGVuZ3RoKSxpKTp0LnNsaWNlKC1yKX0sZS5zZXRMZW5ndGg9ZS5zZXRMZW5ndGhMZWZ0LGUuc2V0TGVuZ3RoUmlnaHQ9ZnVuY3Rpb24odCxyKXtyZXR1cm4gZS5zZXRMZW5ndGgodCxyLCEwKX0sZS51bnBhZD1mdW5jdGlvbih0KXtmb3IodmFyIGU9KHQ9bi5zdHJpcEhleFByZWZpeCh0KSlbMF07dC5sZW5ndGg+MCYmIjAiPT09ZS50b1N0cmluZygpOyllPSh0PXQuc2xpY2UoMSkpWzBdO3JldHVybiB0fSxlLnN0cmlwWmVyb3M9ZS51bnBhZCxlLnRvQnVmZmVyPWZ1bmN0aW9uKGUpe2lmKCF0LmlzQnVmZmVyKGUpKWlmKEFycmF5LmlzQXJyYXkoZSkpZT10LmZyb20oZSk7ZWxzZSBpZigic3RyaW5nIj09dHlwZW9mIGUpe2lmKCFuLmlzSGV4U3RyaW5nKGUpKXRocm93IG5ldyBFcnJvcigiQ2Fubm90IGNvbnZlcnQgc3RyaW5nIHRvIGJ1ZmZlci4gdG9CdWZmZXIgb25seSBzdXBwb3J0cyAweC1wcmVmaXhlZCBoZXggc3RyaW5ncyBhbmQgdGhpcyBzdHJpbmcgd2FzIGdpdmVuOiAiK2UpO2U9dC5mcm9tKG4ucGFkVG9FdmVuKG4uc3RyaXBIZXhQcmVmaXgoZSkpLCJoZXgiKX1lbHNlIGlmKCJudW1iZXIiPT10eXBlb2YgZSllPW4uaW50VG9CdWZmZXIoZSk7ZWxzZSBpZihudWxsPT1lKWU9dC5hbGxvY1Vuc2FmZSgwKTtlbHNlIGlmKGkuaXNCTihlKSllPWUudG9BcnJheUxpa2UodCk7ZWxzZXtpZighZS50b0FycmF5KXRocm93IG5ldyBFcnJvcigiaW52YWxpZCB0eXBlIik7ZT10LmZyb20oZS50b0FycmF5KCkpfXJldHVybiBlfSxlLmJ1ZmZlclRvSW50PWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgaShlLnRvQnVmZmVyKHQpKS50b051bWJlcigpfSxlLmJ1ZmZlclRvSGV4PWZ1bmN0aW9uKHQpe3JldHVybiIweCIrKHQ9ZS50b0J1ZmZlcih0KSkudG9TdHJpbmcoImhleCIpfSxlLmZyb21TaWduZWQ9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBpKHQpLmZyb21Ud29zKDI1Nil9LGUudG9VbnNpZ25lZD1mdW5jdGlvbihlKXtyZXR1cm4gdC5mcm9tKGUudG9Ud29zKDI1NikudG9BcnJheSgpKX0sZS5hZGRIZXhQcmVmaXg9ZnVuY3Rpb24odCl7cmV0dXJuInN0cmluZyIhPXR5cGVvZiB0fHxuLmlzSGV4UHJlZml4ZWQodCk/dDoiMHgiK3R9LGUuYmFUb0pTT049ZnVuY3Rpb24ocil7aWYodC5pc0J1ZmZlcihyKSlyZXR1cm4iMHgiK3IudG9TdHJpbmcoImhleCIpO2lmKHIgaW5zdGFuY2VvZiBBcnJheSl7Zm9yKHZhciBuPVtdLGk9MDtpPHIubGVuZ3RoO2krKyluLnB1c2goZS5iYVRvSlNPTihyW2ldKSk7cmV0dXJuIG59fX0pLmNhbGwodGhpcyxyKDIpLkJ1ZmZlcil9LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUsImEiLChmdW5jdGlvbigpe3JldHVybiBufSkpO2NsYXNzIG57fX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDkzKTtyLm8obiwiaXNDb25zdGFudFRpbWUiKSYmci5kKGUsImlzQ29uc3RhbnRUaW1lIiwoZnVuY3Rpb24oKXtyZXR1cm4gbi5pc0NvbnN0YW50VGltZX0pKTtyKDk0KTt2YXIgaT1yKDk1KTtyLm8oaSwiaXNDb25zdGFudFRpbWUiKSYmci5kKGUsImlzQ29uc3RhbnRUaW1lIiwoZnVuY3Rpb24oKXtyZXR1cm4gaS5pc0NvbnN0YW50VGltZX0pKTt2YXIgbz1yKDk2KTtyLmQoZSwiaXNDb25zdGFudFRpbWUiLChmdW5jdGlvbigpe3JldHVybiBvLmF9KSl9LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7KGZ1bmN0aW9uKGUpe3ZvaWQgMD09PWV8fCFlLnZlcnNpb258fDA9PT1lLnZlcnNpb24uaW5kZXhPZigidjAuIil8fDA9PT1lLnZlcnNpb24uaW5kZXhPZigidjEuIikmJjAhPT1lLnZlcnNpb24uaW5kZXhPZigidjEuOC4iKT90LmV4cG9ydHM9e25leHRUaWNrOmZ1bmN0aW9uKHQscixuLGkpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiB0KXRocm93IG5ldyBUeXBlRXJyb3IoJyJjYWxsYmFjayIgYXJndW1lbnQgbXVzdCBiZSBhIGZ1bmN0aW9uJyk7dmFyIG8scyxhPWFyZ3VtZW50cy5sZW5ndGg7c3dpdGNoKGEpe2Nhc2UgMDpjYXNlIDE6cmV0dXJuIGUubmV4dFRpY2sodCk7Y2FzZSAyOnJldHVybiBlLm5leHRUaWNrKChmdW5jdGlvbigpe3QuY2FsbChudWxsLHIpfSkpO2Nhc2UgMzpyZXR1cm4gZS5uZXh0VGljaygoZnVuY3Rpb24oKXt0LmNhbGwobnVsbCxyLG4pfSkpO2Nhc2UgNDpyZXR1cm4gZS5uZXh0VGljaygoZnVuY3Rpb24oKXt0LmNhbGwobnVsbCxyLG4saSl9KSk7ZGVmYXVsdDpmb3Iobz1uZXcgQXJyYXkoYS0xKSxzPTA7czxvLmxlbmd0aDspb1tzKytdPWFyZ3VtZW50c1tzXTtyZXR1cm4gZS5uZXh0VGljaygoZnVuY3Rpb24oKXt0LmFwcGx5KG51bGwsbyl9KSl9fX06dC5leHBvcnRzPWV9KS5jYWxsKHRoaXMscig1KSl9LGZ1bmN0aW9uKHQsZSl7dC5leHBvcnRzPWZ1bmN0aW9uKCl7Zm9yKHZhciB0PXt9LGU9MDtlPGFyZ3VtZW50cy5sZW5ndGg7ZSsrKXt2YXIgbj1hcmd1bWVudHNbZV07Zm9yKHZhciBpIGluIG4pci5jYWxsKG4saSkmJih0W2ldPW5baV0pfXJldHVybiB0fTt2YXIgcj1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXIoMTYpLGk9cigxMSksbz1pLmdldE5BRixzPWkuZ2V0SlNGLGE9aS5hc3NlcnQ7ZnVuY3Rpb24gdSh0LGUpe3RoaXMudHlwZT10LHRoaXMucD1uZXcgbihlLnAsMTYpLHRoaXMucmVkPWUucHJpbWU/bi5yZWQoZS5wcmltZSk6bi5tb250KHRoaXMucCksdGhpcy56ZXJvPW5ldyBuKDApLnRvUmVkKHRoaXMucmVkKSx0aGlzLm9uZT1uZXcgbigxKS50b1JlZCh0aGlzLnJlZCksdGhpcy50d289bmV3IG4oMikudG9SZWQodGhpcy5yZWQpLHRoaXMubj1lLm4mJm5ldyBuKGUubiwxNiksdGhpcy5nPWUuZyYmdGhpcy5wb2ludEZyb21KU09OKGUuZyxlLmdSZWQpLHRoaXMuX3duYWZUMT1uZXcgQXJyYXkoNCksdGhpcy5fd25hZlQyPW5ldyBBcnJheSg0KSx0aGlzLl93bmFmVDM9bmV3IEFycmF5KDQpLHRoaXMuX3duYWZUND1uZXcgQXJyYXkoNCksdGhpcy5fYml0TGVuZ3RoPXRoaXMubj90aGlzLm4uYml0TGVuZ3RoKCk6MDt2YXIgcj10aGlzLm4mJnRoaXMucC5kaXYodGhpcy5uKTshcnx8ci5jbXBuKDEwMCk+MD90aGlzLnJlZE49bnVsbDoodGhpcy5fbWF4d2VsbFRyaWNrPSEwLHRoaXMucmVkTj10aGlzLm4udG9SZWQodGhpcy5yZWQpKX1mdW5jdGlvbiBjKHQsZSl7dGhpcy5jdXJ2ZT10LHRoaXMudHlwZT1lLHRoaXMucHJlY29tcHV0ZWQ9bnVsbH10LmV4cG9ydHM9dSx1LnByb3RvdHlwZS5wb2ludD1mdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcigiTm90IGltcGxlbWVudGVkIil9LHUucHJvdG90eXBlLnZhbGlkYXRlPWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKCJOb3QgaW1wbGVtZW50ZWQiKX0sdS5wcm90b3R5cGUuX2ZpeGVkTmFmTXVsPWZ1bmN0aW9uKHQsZSl7YSh0LnByZWNvbXB1dGVkKTt2YXIgcj10Ll9nZXREb3VibGVzKCksbj1vKGUsMSx0aGlzLl9iaXRMZW5ndGgpLGk9KDE8PHIuc3RlcCsxKS0oci5zdGVwJTI9PTA/MjoxKTtpLz0zO3ZhciBzLHUsYz1bXTtmb3Iocz0wO3M8bi5sZW5ndGg7cys9ci5zdGVwKXt1PTA7Zm9yKHZhciBmPXMrci5zdGVwLTE7Zj49cztmLS0pdT0odTw8MSkrbltmXTtjLnB1c2godSl9Zm9yKHZhciBoPXRoaXMuanBvaW50KG51bGwsbnVsbCxudWxsKSxsPXRoaXMuanBvaW50KG51bGwsbnVsbCxudWxsKSxkPWk7ZD4wO2QtLSl7Zm9yKHM9MDtzPGMubGVuZ3RoO3MrKykodT1jW3NdKT09PWQ/bD1sLm1peGVkQWRkKHIucG9pbnRzW3NdKTp1PT09LWQmJihsPWwubWl4ZWRBZGQoci5wb2ludHNbc10ubmVnKCkpKTtoPWguYWRkKGwpfXJldHVybiBoLnRvUCgpfSx1LnByb3RvdHlwZS5fd25hZk11bD1mdW5jdGlvbih0LGUpe3ZhciByPTQsbj10Ll9nZXROQUZQb2ludHMocik7cj1uLnduZDtmb3IodmFyIGk9bi5wb2ludHMscz1vKGUscix0aGlzLl9iaXRMZW5ndGgpLHU9dGhpcy5qcG9pbnQobnVsbCxudWxsLG51bGwpLGM9cy5sZW5ndGgtMTtjPj0wO2MtLSl7Zm9yKHZhciBmPTA7Yz49MCYmMD09PXNbY107Yy0tKWYrKztpZihjPj0wJiZmKyssdT11LmRibHAoZiksYzwwKWJyZWFrO3ZhciBoPXNbY107YSgwIT09aCksdT0iYWZmaW5lIj09PXQudHlwZT9oPjA/dS5taXhlZEFkZChpW2gtMT4+MV0pOnUubWl4ZWRBZGQoaVstaC0xPj4xXS5uZWcoKSk6aD4wP3UuYWRkKGlbaC0xPj4xXSk6dS5hZGQoaVstaC0xPj4xXS5uZWcoKSl9cmV0dXJuImFmZmluZSI9PT10LnR5cGU/dS50b1AoKTp1fSx1LnByb3RvdHlwZS5fd25hZk11bEFkZD1mdW5jdGlvbih0LGUscixuLGkpe3ZhciBhLHUsYyxmPXRoaXMuX3duYWZUMSxoPXRoaXMuX3duYWZUMixsPXRoaXMuX3duYWZUMyxkPTA7Zm9yKGE9MDthPG47YSsrKXt2YXIgcD0oYz1lW2FdKS5fZ2V0TkFGUG9pbnRzKHQpO2ZbYV09cC53bmQsaFthXT1wLnBvaW50c31mb3IoYT1uLTE7YT49MTthLT0yKXt2YXIgbT1hLTEsZz1hO2lmKDE9PT1mW21dJiYxPT09ZltnXSl7dmFyIGI9W2VbbV0sbnVsbCxudWxsLGVbZ11dOzA9PT1lW21dLnkuY21wKGVbZ10ueSk/KGJbMV09ZVttXS5hZGQoZVtnXSksYlsyXT1lW21dLnRvSigpLm1peGVkQWRkKGVbZ10ubmVnKCkpKTowPT09ZVttXS55LmNtcChlW2ddLnkucmVkTmVnKCkpPyhiWzFdPWVbbV0udG9KKCkubWl4ZWRBZGQoZVtnXSksYlsyXT1lW21dLmFkZChlW2ddLm5lZygpKSk6KGJbMV09ZVttXS50b0ooKS5taXhlZEFkZChlW2ddKSxiWzJdPWVbbV0udG9KKCkubWl4ZWRBZGQoZVtnXS5uZWcoKSkpO3ZhciB5PVstMywtMSwtNSwtNywwLDcsNSwxLDNdLHY9cyhyW21dLHJbZ10pO2ZvcihkPU1hdGgubWF4KHZbMF0ubGVuZ3RoLGQpLGxbbV09bmV3IEFycmF5KGQpLGxbZ109bmV3IEFycmF5KGQpLHU9MDt1PGQ7dSsrKXt2YXIgXz0wfHZbMF1bdV0sdz0wfHZbMV1bdV07bFttXVt1XT15WzMqKF8rMSkrKHcrMSldLGxbZ11bdV09MCxoW21dPWJ9fWVsc2UgbFttXT1vKHJbbV0sZlttXSx0aGlzLl9iaXRMZW5ndGgpLGxbZ109byhyW2ddLGZbZ10sdGhpcy5fYml0TGVuZ3RoKSxkPU1hdGgubWF4KGxbbV0ubGVuZ3RoLGQpLGQ9TWF0aC5tYXgobFtnXS5sZW5ndGgsZCl9dmFyIE09dGhpcy5qcG9pbnQobnVsbCxudWxsLG51bGwpLFM9dGhpcy5fd25hZlQ0O2ZvcihhPWQ7YT49MDthLS0pe2Zvcih2YXIgRT0wO2E+PTA7KXt2YXIgeD0hMDtmb3IodT0wO3U8bjt1KyspU1t1XT0wfGxbdV1bYV0sMCE9PVNbdV0mJih4PSExKTtpZigheClicmVhaztFKyssYS0tfWlmKGE+PTAmJkUrKyxNPU0uZGJscChFKSxhPDApYnJlYWs7Zm9yKHU9MDt1PG47dSsrKXt2YXIgaz1TW3VdOzAhPT1rJiYoaz4wP2M9aFt1XVtrLTE+PjFdOms8MCYmKGM9aFt1XVstay0xPj4xXS5uZWcoKSksTT0iYWZmaW5lIj09PWMudHlwZT9NLm1peGVkQWRkKGMpOk0uYWRkKGMpKX19Zm9yKGE9MDthPG47YSsrKWhbYV09bnVsbDtyZXR1cm4gaT9NOk0udG9QKCl9LHUuQmFzZVBvaW50PWMsYy5wcm90b3R5cGUuZXE9ZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoIk5vdCBpbXBsZW1lbnRlZCIpfSxjLnByb3RvdHlwZS52YWxpZGF0ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmN1cnZlLnZhbGlkYXRlKHRoaXMpfSx1LnByb3RvdHlwZS5kZWNvZGVQb2ludD1mdW5jdGlvbih0LGUpe3Q9aS50b0FycmF5KHQsZSk7dmFyIHI9dGhpcy5wLmJ5dGVMZW5ndGgoKTtpZigoND09PXRbMF18fDY9PT10WzBdfHw3PT09dFswXSkmJnQubGVuZ3RoLTE9PTIqcilyZXR1cm4gNj09PXRbMF0/YSh0W3QubGVuZ3RoLTFdJTI9PTApOjc9PT10WzBdJiZhKHRbdC5sZW5ndGgtMV0lMj09MSksdGhpcy5wb2ludCh0LnNsaWNlKDEsMStyKSx0LnNsaWNlKDErciwxKzIqcikpO2lmKCgyPT09dFswXXx8Mz09PXRbMF0pJiZ0Lmxlbmd0aC0xPT09cilyZXR1cm4gdGhpcy5wb2ludEZyb21YKHQuc2xpY2UoMSwxK3IpLDM9PT10WzBdKTt0aHJvdyBuZXcgRXJyb3IoIlVua25vd24gcG9pbnQgZm9ybWF0Iil9LGMucHJvdG90eXBlLmVuY29kZUNvbXByZXNzZWQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuZW5jb2RlKHQsITApfSxjLnByb3RvdHlwZS5fZW5jb2RlPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuY3VydmUucC5ieXRlTGVuZ3RoKCkscj10aGlzLmdldFgoKS50b0FycmF5KCJiZSIsZSk7cmV0dXJuIHQ/W3RoaXMuZ2V0WSgpLmlzRXZlbigpPzI6M10uY29uY2F0KHIpOls0XS5jb25jYXQocix0aGlzLmdldFkoKS50b0FycmF5KCJiZSIsZSkpfSxjLnByb3RvdHlwZS5lbmNvZGU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gaS5lbmNvZGUodGhpcy5fZW5jb2RlKGUpLHQpfSxjLnByb3RvdHlwZS5wcmVjb21wdXRlPWZ1bmN0aW9uKHQpe2lmKHRoaXMucHJlY29tcHV0ZWQpcmV0dXJuIHRoaXM7dmFyIGU9e2RvdWJsZXM6bnVsbCxuYWY6bnVsbCxiZXRhOm51bGx9O3JldHVybiBlLm5hZj10aGlzLl9nZXROQUZQb2ludHMoOCksZS5kb3VibGVzPXRoaXMuX2dldERvdWJsZXMoNCx0KSxlLmJldGE9dGhpcy5fZ2V0QmV0YSgpLHRoaXMucHJlY29tcHV0ZWQ9ZSx0aGlzfSxjLnByb3RvdHlwZS5faGFzRG91Ymxlcz1mdW5jdGlvbih0KXtpZighdGhpcy5wcmVjb21wdXRlZClyZXR1cm4hMTt2YXIgZT10aGlzLnByZWNvbXB1dGVkLmRvdWJsZXM7cmV0dXJuISFlJiZlLnBvaW50cy5sZW5ndGg+PU1hdGguY2VpbCgodC5iaXRMZW5ndGgoKSsxKS9lLnN0ZXApfSxjLnByb3RvdHlwZS5fZ2V0RG91Ymxlcz1mdW5jdGlvbih0LGUpe2lmKHRoaXMucHJlY29tcHV0ZWQmJnRoaXMucHJlY29tcHV0ZWQuZG91YmxlcylyZXR1cm4gdGhpcy5wcmVjb21wdXRlZC5kb3VibGVzO2Zvcih2YXIgcj1bdGhpc10sbj10aGlzLGk9MDtpPGU7aSs9dCl7Zm9yKHZhciBvPTA7bzx0O28rKyluPW4uZGJsKCk7ci5wdXNoKG4pfXJldHVybntzdGVwOnQscG9pbnRzOnJ9fSxjLnByb3RvdHlwZS5fZ2V0TkFGUG9pbnRzPWZ1bmN0aW9uKHQpe2lmKHRoaXMucHJlY29tcHV0ZWQmJnRoaXMucHJlY29tcHV0ZWQubmFmKXJldHVybiB0aGlzLnByZWNvbXB1dGVkLm5hZjtmb3IodmFyIGU9W3RoaXNdLHI9KDE8PHQpLTEsbj0xPT09cj9udWxsOnRoaXMuZGJsKCksaT0xO2k8cjtpKyspZVtpXT1lW2ktMV0uYWRkKG4pO3JldHVybnt3bmQ6dCxwb2ludHM6ZX19LGMucHJvdG90eXBlLl9nZXRCZXRhPWZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9LGMucHJvdG90eXBlLmRibHA9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPXRoaXMscj0wO3I8dDtyKyspZT1lLmRibCgpO3JldHVybiBlfX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjsoZnVuY3Rpb24odCl7dmFyIG49dGhpcyYmdGhpcy5fX2ltcG9ydERlZmF1bHR8fGZ1bmN0aW9uKHQpe3JldHVybiB0JiZ0Ll9fZXNNb2R1bGU/dDp7ZGVmYXVsdDp0fX07T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGUuZ2V0TGVuZ3RoPWUuZGVjb2RlPWUuZW5jb2RlPXZvaWQgMDt2YXIgaT1uKHIoMjY5KSk7ZnVuY3Rpb24gbyh0LGUpe2lmKCIwIj09PXRbMF0mJiIwIj09PXRbMV0pdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIFJMUDogZXh0cmEgemVyb3MiKTtyZXR1cm4gcGFyc2VJbnQodCxlKX1mdW5jdGlvbiBzKGUscil7aWYoZTw1NilyZXR1cm4gdC5mcm9tKFtlK3JdKTt2YXIgbj11KGUpLGk9dShyKzU1K24ubGVuZ3RoLzIpO3JldHVybiB0LmZyb20oaStuLCJoZXgiKX1mdW5jdGlvbiBhKHQpe3JldHVybiIweCI9PT10LnNsaWNlKDAsMil9ZnVuY3Rpb24gdSh0KXtpZih0PDApdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIGludGVnZXIgYXMgYXJndW1lbnQsIG11c3QgYmUgdW5zaWduZWQhIik7dmFyIGU9dC50b1N0cmluZygxNik7cmV0dXJuIGUubGVuZ3RoJTI/IjAiK2U6ZX1mdW5jdGlvbiBjKGUpe2lmKCF0LmlzQnVmZmVyKGUpKXtpZigic3RyaW5nIj09dHlwZW9mIGUpcmV0dXJuIGEoZSk/dC5mcm9tKChuPSJzdHJpbmciIT10eXBlb2Yobz1lKT9vOmEobyk/by5zbGljZSgyKTpvKS5sZW5ndGglMj8iMCIrbjpuLCJoZXgiKTp0LmZyb20oZSk7aWYoIm51bWJlciI9PXR5cGVvZiBlfHwiYmlnaW50Ij09dHlwZW9mIGUpcmV0dXJuIGU/KHI9dShlKSx0LmZyb20ociwiaGV4IikpOnQuZnJvbShbXSk7aWYobnVsbD09ZSlyZXR1cm4gdC5mcm9tKFtdKTtpZihlIGluc3RhbmNlb2YgVWludDhBcnJheSlyZXR1cm4gdC5mcm9tKGUpO2lmKGkuZGVmYXVsdC5pc0JOKGUpKXJldHVybiB0LmZyb20oZS50b0FycmF5KCkpO3Rocm93IG5ldyBFcnJvcigiaW52YWxpZCB0eXBlIil9dmFyIHIsbixvO3JldHVybiBlfWUuZW5jb2RlPWZ1bmN0aW9uIGUocil7aWYoQXJyYXkuaXNBcnJheShyKSl7Zm9yKHZhciBuPVtdLGk9MDtpPHIubGVuZ3RoO2krKyluLnB1c2goZShyW2ldKSk7dmFyIG89dC5jb25jYXQobik7cmV0dXJuIHQuY29uY2F0KFtzKG8ubGVuZ3RoLDE5Miksb10pfXZhciBhPWMocik7cmV0dXJuIDE9PT1hLmxlbmd0aCYmYVswXTwxMjg/YTp0LmNvbmNhdChbcyhhLmxlbmd0aCwxMjgpLGFdKX0sZS5kZWNvZGU9ZnVuY3Rpb24oZSxyKXtpZih2b2lkIDA9PT1yJiYocj0hMSksIWV8fDA9PT1lLmxlbmd0aClyZXR1cm4gdC5mcm9tKFtdKTt2YXIgbj1mdW5jdGlvbiBlKHIpe3ZhciBuLGkscyxhLHUsYz1bXSxmPXJbMF07aWYoZjw9MTI3KXJldHVybntkYXRhOnIuc2xpY2UoMCwxKSxyZW1haW5kZXI6ci5zbGljZSgxKX07aWYoZjw9MTgzKXtpZihuPWYtMTI3LHM9MTI4PT09Zj90LmZyb20oW10pOnIuc2xpY2UoMSxuKSwyPT09biYmc1swXTwxMjgpdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIHJscCBlbmNvZGluZzogYnl0ZSBtdXN0IGJlIGxlc3MgMHg4MCIpO3JldHVybntkYXRhOnMscmVtYWluZGVyOnIuc2xpY2Uobil9fWlmKGY8PTE5MSl7aWYoaT1mLTE4MixyLmxlbmd0aC0xPGkpdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIFJMUDogbm90IGVub3VnaCBieXRlcyBmb3Igc3RyaW5nIGxlbmd0aCIpO2lmKChuPW8oci5zbGljZSgxLGkpLnRvU3RyaW5nKCJoZXgiKSwxNikpPD01NSl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgUkxQOiBleHBlY3RlZCBzdHJpbmcgbGVuZ3RoIHRvIGJlIGdyZWF0ZXIgdGhhbiA1NSIpO2lmKChzPXIuc2xpY2UoaSxuK2kpKS5sZW5ndGg8bil0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgUkxQOiBub3QgZW5vdWdoIGJ5dGVzIGZvciBzdHJpbmciKTtyZXR1cm57ZGF0YTpzLHJlbWFpbmRlcjpyLnNsaWNlKG4raSl9fWlmKGY8PTI0Nyl7Zm9yKG49Zi0xOTEsYT1yLnNsaWNlKDEsbik7YS5sZW5ndGg7KXU9ZShhKSxjLnB1c2godS5kYXRhKSxhPXUucmVtYWluZGVyO3JldHVybntkYXRhOmMscmVtYWluZGVyOnIuc2xpY2Uobil9fWk9Zi0yNDYsbj1vKHIuc2xpY2UoMSxpKS50b1N0cmluZygiaGV4IiksMTYpO3ZhciBoPWkrbjtpZihoPnIubGVuZ3RoKXRocm93IG5ldyBFcnJvcigiaW52YWxpZCBybHA6IHRvdGFsIGxlbmd0aCBpcyBsYXJnZXIgdGhhbiB0aGUgZGF0YSIpO2lmKDA9PT0oYT1yLnNsaWNlKGksaCkpLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgcmxwLCBMaXN0IGhhcyBhIGludmFsaWQgbGVuZ3RoIik7Zm9yKDthLmxlbmd0aDspdT1lKGEpLGMucHVzaCh1LmRhdGEpLGE9dS5yZW1haW5kZXI7cmV0dXJue2RhdGE6YyxyZW1haW5kZXI6ci5zbGljZShoKX19KGMoZSkpO2lmKHIpcmV0dXJuIG47aWYoMCE9PW4ucmVtYWluZGVyLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgcmVtYWluZGVyIik7cmV0dXJuIG4uZGF0YX0sZS5nZXRMZW5ndGg9ZnVuY3Rpb24oZSl7aWYoIWV8fDA9PT1lLmxlbmd0aClyZXR1cm4gdC5mcm9tKFtdKTt2YXIgcj1jKGUpLG49clswXTtpZihuPD0xMjcpcmV0dXJuIHIubGVuZ3RoO2lmKG48PTE4MylyZXR1cm4gbi0xMjc7aWYobjw9MTkxKXJldHVybiBuLTE4MjtpZihuPD0yNDcpcmV0dXJuIG4tMTkxO3ZhciBpPW4tMjQ2O3JldHVybiBpK28oci5zbGljZSgxLGkpLnRvU3RyaW5nKCJoZXgiKSwxNil9fSkuY2FsbCh0aGlzLHIoMikuQnVmZmVyKX0sZnVuY3Rpb24odCxlLHIpe3ZhciBuPXIoMzAwKSxpPXIoMTQ0KTt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIG51bGwhPXQmJmkodC5sZW5ndGgpJiYhbih0KX19LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGUuZGVmYXVsdD1mdW5jdGlvbih0LGUpe2V8PTA7Zm9yKHZhciByPU1hdGgubWF4KHQubGVuZ3RoLWUsMCksbj1BcnJheShyKSxpPTA7aTxyO2krKyluW2ldPXRbZStpXTtyZXR1cm4gbn0sdC5leHBvcnRzPWUuZGVmYXVsdH0sZnVuY3Rpb24odCxlLHIpe2NvbnN0IG49cig2Nyk7ZnVuY3Rpb24gaSgpe310LmV4cG9ydHM9aSxpLnByb3RvdHlwZS5zZXRFbmdpbmU9ZnVuY3Rpb24odCl7Y29uc3QgZT10aGlzO2UuZW5naW5lfHwoZS5lbmdpbmU9dCx0Lm9uKCJibG9jayIsKGZ1bmN0aW9uKHQpe2UuY3VycmVudEJsb2NrPXR9KSksdC5vbigic3RhcnQiLChmdW5jdGlvbigpe2Uuc3RhcnQoKX0pKSx0Lm9uKCJzdG9wIiwoZnVuY3Rpb24oKXtlLnN0b3AoKX0pKSl9LGkucHJvdG90eXBlLmhhbmRsZVJlcXVlc3Q9ZnVuY3Rpb24odCxlLHIpe3Rocm93IG5ldyBFcnJvcigiU3VicHJvdmlkZXJzIHNob3VsZCBvdmVycmlkZSBgaGFuZGxlUmVxdWVzdGAuIil9LGkucHJvdG90eXBlLmVtaXRQYXlsb2FkPWZ1bmN0aW9uKHQsZSl7dGhpcy5lbmdpbmUuc2VuZEFzeW5jKG4odCksZSl9LGkucHJvdG90eXBlLnN0b3A9ZnVuY3Rpb24oKXt9LGkucHJvdG90eXBlLnN0YXJ0PWZ1bmN0aW9uKCl7fX0sZnVuY3Rpb24odCxlKXt2YXIgcj17fS50b1N0cmluZzt0LmV4cG9ydHM9QXJyYXkuaXNBcnJheXx8ZnVuY3Rpb24odCl7cmV0dXJuIltvYmplY3QgQXJyYXldIj09ci5jYWxsKHQpfX0sZnVuY3Rpb24odCxlKXtlLkw9e2JpdDoxfSxlLk09e2JpdDowfSxlLlE9e2JpdDozfSxlLkg9e2JpdDoyfSxlLmlzVmFsaWQ9ZnVuY3Rpb24odCl7cmV0dXJuIHQmJnZvaWQgMCE9PXQuYml0JiZ0LmJpdD49MCYmdC5iaXQ8NH0sZS5mcm9tPWZ1bmN0aW9uKHQscil7aWYoZS5pc1ZhbGlkKHQpKXJldHVybiB0O3RyeXtyZXR1cm4gZnVuY3Rpb24odCl7aWYoInN0cmluZyIhPXR5cGVvZiB0KXRocm93IG5ldyBFcnJvcigiUGFyYW0gaXMgbm90IGEgc3RyaW5nIik7c3dpdGNoKHQudG9Mb3dlckNhc2UoKSl7Y2FzZSJsIjpjYXNlImxvdyI6cmV0dXJuIGUuTDtjYXNlIm0iOmNhc2UibWVkaXVtIjpyZXR1cm4gZS5NO2Nhc2UicSI6Y2FzZSJxdWFydGlsZSI6cmV0dXJuIGUuUTtjYXNlImgiOmNhc2UiaGlnaCI6cmV0dXJuIGUuSDtkZWZhdWx0OnRocm93IG5ldyBFcnJvcigiVW5rbm93biBFQyBMZXZlbDogIit0KX19KHQpfWNhdGNoKHQpe3JldHVybiByfX19LGZ1bmN0aW9uKHQsZSxyKXt2YXIgbj1yKDIpLGk9bi5CdWZmZXI7ZnVuY3Rpb24gbyh0LGUpe2Zvcih2YXIgciBpbiB0KWVbcl09dFtyXX1mdW5jdGlvbiBzKHQsZSxyKXtyZXR1cm4gaSh0LGUscil9aS5mcm9tJiZpLmFsbG9jJiZpLmFsbG9jVW5zYWZlJiZpLmFsbG9jVW5zYWZlU2xvdz90LmV4cG9ydHM9bjoobyhuLGUpLGUuQnVmZmVyPXMpLG8oaSxzKSxzLmZyb209ZnVuY3Rpb24odCxlLHIpe2lmKCJudW1iZXIiPT10eXBlb2YgdCl0aHJvdyBuZXcgVHlwZUVycm9yKCJBcmd1bWVudCBtdXN0IG5vdCBiZSBhIG51bWJlciIpO3JldHVybiBpKHQsZSxyKX0scy5hbGxvYz1mdW5jdGlvbih0LGUscil7aWYoIm51bWJlciIhPXR5cGVvZiB0KXRocm93IG5ldyBUeXBlRXJyb3IoIkFyZ3VtZW50IG11c3QgYmUgYSBudW1iZXIiKTt2YXIgbj1pKHQpO3JldHVybiB2b2lkIDAhPT1lPyJzdHJpbmciPT10eXBlb2Ygcj9uLmZpbGwoZSxyKTpuLmZpbGwoZSk6bi5maWxsKDApLG59LHMuYWxsb2NVbnNhZmU9ZnVuY3Rpb24odCl7aWYoIm51bWJlciIhPXR5cGVvZiB0KXRocm93IG5ldyBUeXBlRXJyb3IoIkFyZ3VtZW50IG11c3QgYmUgYSBudW1iZXIiKTtyZXR1cm4gaSh0KX0scy5hbGxvY1Vuc2FmZVNsb3c9ZnVuY3Rpb24odCl7aWYoIm51bWJlciIhPXR5cGVvZiB0KXRocm93IG5ldyBUeXBlRXJyb3IoIkFyZ3VtZW50IG11c3QgYmUgYSBudW1iZXIiKTtyZXR1cm4gbi5TbG93QnVmZmVyKHQpfX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjsoZnVuY3Rpb24oZSxuLGkpe3ZhciBvPXIoNDMpO2Z1bmN0aW9uIHModCl7dmFyIGU9dGhpczt0aGlzLm5leHQ9bnVsbCx0aGlzLmVudHJ5PW51bGwsdGhpcy5maW5pc2g9ZnVuY3Rpb24oKXshZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQuZW50cnk7dC5lbnRyeT1udWxsO2Zvcig7bjspe3ZhciBpPW4uY2FsbGJhY2s7ZS5wZW5kaW5nY2ItLSxpKHIpLG49bi5uZXh0fWUuY29ya2VkUmVxdWVzdHNGcmVlP2UuY29ya2VkUmVxdWVzdHNGcmVlLm5leHQ9dDplLmNvcmtlZFJlcXVlc3RzRnJlZT10fShlLHQpfX10LmV4cG9ydHM9eTt2YXIgYSx1PSFlLmJyb3dzZXImJlsidjAuMTAiLCJ2MC45LiJdLmluZGV4T2YoZS52ZXJzaW9uLnNsaWNlKDAsNSkpPi0xP246by5uZXh0VGljazt5LldyaXRhYmxlU3RhdGU9Yjt2YXIgYz1PYmplY3QuY3JlYXRlKHIoMzUpKTtjLmluaGVyaXRzPXIoMyk7dmFyIGY9e2RlcHJlY2F0ZTpyKDU0KX0saD1yKDEwNiksbD1yKDUyKS5CdWZmZXIsZD1pLlVpbnQ4QXJyYXl8fGZ1bmN0aW9uKCl7fTt2YXIgcCxtPXIoMTA3KTtmdW5jdGlvbiBnKCl7fWZ1bmN0aW9uIGIodCxlKXthPWF8fHIoMTkpLHQ9dHx8e307dmFyIG49ZSBpbnN0YW5jZW9mIGE7dGhpcy5vYmplY3RNb2RlPSEhdC5vYmplY3RNb2RlLG4mJih0aGlzLm9iamVjdE1vZGU9dGhpcy5vYmplY3RNb2RlfHwhIXQud3JpdGFibGVPYmplY3RNb2RlKTt2YXIgaT10LmhpZ2hXYXRlck1hcmssYz10LndyaXRhYmxlSGlnaFdhdGVyTWFyayxmPXRoaXMub2JqZWN0TW9kZT8xNjoxNjM4NDt0aGlzLmhpZ2hXYXRlck1hcms9aXx8MD09PWk/aTpuJiYoY3x8MD09PWMpP2M6Zix0aGlzLmhpZ2hXYXRlck1hcms9TWF0aC5mbG9vcih0aGlzLmhpZ2hXYXRlck1hcmspLHRoaXMuZmluYWxDYWxsZWQ9ITEsdGhpcy5uZWVkRHJhaW49ITEsdGhpcy5lbmRpbmc9ITEsdGhpcy5lbmRlZD0hMSx0aGlzLmZpbmlzaGVkPSExLHRoaXMuZGVzdHJveWVkPSExO3ZhciBoPSExPT09dC5kZWNvZGVTdHJpbmdzO3RoaXMuZGVjb2RlU3RyaW5ncz0haCx0aGlzLmRlZmF1bHRFbmNvZGluZz10LmRlZmF1bHRFbmNvZGluZ3x8InV0ZjgiLHRoaXMubGVuZ3RoPTAsdGhpcy53cml0aW5nPSExLHRoaXMuY29ya2VkPTAsdGhpcy5zeW5jPSEwLHRoaXMuYnVmZmVyUHJvY2Vzc2luZz0hMSx0aGlzLm9ud3JpdGU9ZnVuY3Rpb24odCl7IWZ1bmN0aW9uKHQsZSl7dmFyIHI9dC5fd3JpdGFibGVTdGF0ZSxuPXIuc3luYyxpPXIud3JpdGVjYjtpZihmdW5jdGlvbih0KXt0LndyaXRpbmc9ITEsdC53cml0ZWNiPW51bGwsdC5sZW5ndGgtPXQud3JpdGVsZW4sdC53cml0ZWxlbj0wfShyKSxlKSFmdW5jdGlvbih0LGUscixuLGkpey0tZS5wZW5kaW5nY2Iscj8oby5uZXh0VGljayhpLG4pLG8ubmV4dFRpY2soRSx0LGUpLHQuX3dyaXRhYmxlU3RhdGUuZXJyb3JFbWl0dGVkPSEwLHQuZW1pdCgiZXJyb3IiLG4pKTooaShuKSx0Ll93cml0YWJsZVN0YXRlLmVycm9yRW1pdHRlZD0hMCx0LmVtaXQoImVycm9yIixuKSxFKHQsZSkpfSh0LHIsbixlLGkpO2Vsc2V7dmFyIHM9TShyKTtzfHxyLmNvcmtlZHx8ci5idWZmZXJQcm9jZXNzaW5nfHwhci5idWZmZXJlZFJlcXVlc3R8fHcodCxyKSxuP3UoXyx0LHIscyxpKTpfKHQscixzLGkpfX0oZSx0KX0sdGhpcy53cml0ZWNiPW51bGwsdGhpcy53cml0ZWxlbj0wLHRoaXMuYnVmZmVyZWRSZXF1ZXN0PW51bGwsdGhpcy5sYXN0QnVmZmVyZWRSZXF1ZXN0PW51bGwsdGhpcy5wZW5kaW5nY2I9MCx0aGlzLnByZWZpbmlzaGVkPSExLHRoaXMuZXJyb3JFbWl0dGVkPSExLHRoaXMuYnVmZmVyZWRSZXF1ZXN0Q291bnQ9MCx0aGlzLmNvcmtlZFJlcXVlc3RzRnJlZT1uZXcgcyh0aGlzKX1mdW5jdGlvbiB5KHQpe2lmKGE9YXx8cigxOSksIShwLmNhbGwoeSx0aGlzKXx8dGhpcyBpbnN0YW5jZW9mIGEpKXJldHVybiBuZXcgeSh0KTt0aGlzLl93cml0YWJsZVN0YXRlPW5ldyBiKHQsdGhpcyksdGhpcy53cml0YWJsZT0hMCx0JiYoImZ1bmN0aW9uIj09dHlwZW9mIHQud3JpdGUmJih0aGlzLl93cml0ZT10LndyaXRlKSwiZnVuY3Rpb24iPT10eXBlb2YgdC53cml0ZXYmJih0aGlzLl93cml0ZXY9dC53cml0ZXYpLCJmdW5jdGlvbiI9PXR5cGVvZiB0LmRlc3Ryb3kmJih0aGlzLl9kZXN0cm95PXQuZGVzdHJveSksImZ1bmN0aW9uIj09dHlwZW9mIHQuZmluYWwmJih0aGlzLl9maW5hbD10LmZpbmFsKSksaC5jYWxsKHRoaXMpfWZ1bmN0aW9uIHYodCxlLHIsbixpLG8scyl7ZS53cml0ZWxlbj1uLGUud3JpdGVjYj1zLGUud3JpdGluZz0hMCxlLnN5bmM9ITAscj90Ll93cml0ZXYoaSxlLm9ud3JpdGUpOnQuX3dyaXRlKGksbyxlLm9ud3JpdGUpLGUuc3luYz0hMX1mdW5jdGlvbiBfKHQsZSxyLG4pe3J8fGZ1bmN0aW9uKHQsZSl7MD09PWUubGVuZ3RoJiZlLm5lZWREcmFpbiYmKGUubmVlZERyYWluPSExLHQuZW1pdCgiZHJhaW4iKSl9KHQsZSksZS5wZW5kaW5nY2ItLSxuKCksRSh0LGUpfWZ1bmN0aW9uIHcodCxlKXtlLmJ1ZmZlclByb2Nlc3Npbmc9ITA7dmFyIHI9ZS5idWZmZXJlZFJlcXVlc3Q7aWYodC5fd3JpdGV2JiZyJiZyLm5leHQpe3ZhciBuPWUuYnVmZmVyZWRSZXF1ZXN0Q291bnQsaT1uZXcgQXJyYXkobiksbz1lLmNvcmtlZFJlcXVlc3RzRnJlZTtvLmVudHJ5PXI7Zm9yKHZhciBhPTAsdT0hMDtyOylpW2FdPXIsci5pc0J1Znx8KHU9ITEpLHI9ci5uZXh0LGErPTE7aS5hbGxCdWZmZXJzPXUsdih0LGUsITAsZS5sZW5ndGgsaSwiIixvLmZpbmlzaCksZS5wZW5kaW5nY2IrKyxlLmxhc3RCdWZmZXJlZFJlcXVlc3Q9bnVsbCxvLm5leHQ/KGUuY29ya2VkUmVxdWVzdHNGcmVlPW8ubmV4dCxvLm5leHQ9bnVsbCk6ZS5jb3JrZWRSZXF1ZXN0c0ZyZWU9bmV3IHMoZSksZS5idWZmZXJlZFJlcXVlc3RDb3VudD0wfWVsc2V7Zm9yKDtyOyl7dmFyIGM9ci5jaHVuayxmPXIuZW5jb2RpbmcsaD1yLmNhbGxiYWNrO2lmKHYodCxlLCExLGUub2JqZWN0TW9kZT8xOmMubGVuZ3RoLGMsZixoKSxyPXIubmV4dCxlLmJ1ZmZlcmVkUmVxdWVzdENvdW50LS0sZS53cml0aW5nKWJyZWFrfW51bGw9PT1yJiYoZS5sYXN0QnVmZmVyZWRSZXF1ZXN0PW51bGwpfWUuYnVmZmVyZWRSZXF1ZXN0PXIsZS5idWZmZXJQcm9jZXNzaW5nPSExfWZ1bmN0aW9uIE0odCl7cmV0dXJuIHQuZW5kaW5nJiYwPT09dC5sZW5ndGgmJm51bGw9PT10LmJ1ZmZlcmVkUmVxdWVzdCYmIXQuZmluaXNoZWQmJiF0LndyaXRpbmd9ZnVuY3Rpb24gUyh0LGUpe3QuX2ZpbmFsKChmdW5jdGlvbihyKXtlLnBlbmRpbmdjYi0tLHImJnQuZW1pdCgiZXJyb3IiLHIpLGUucHJlZmluaXNoZWQ9ITAsdC5lbWl0KCJwcmVmaW5pc2giKSxFKHQsZSl9KSl9ZnVuY3Rpb24gRSh0LGUpe3ZhciByPU0oZSk7cmV0dXJuIHImJighZnVuY3Rpb24odCxlKXtlLnByZWZpbmlzaGVkfHxlLmZpbmFsQ2FsbGVkfHwoImZ1bmN0aW9uIj09dHlwZW9mIHQuX2ZpbmFsPyhlLnBlbmRpbmdjYisrLGUuZmluYWxDYWxsZWQ9ITAsby5uZXh0VGljayhTLHQsZSkpOihlLnByZWZpbmlzaGVkPSEwLHQuZW1pdCgicHJlZmluaXNoIikpKX0odCxlKSwwPT09ZS5wZW5kaW5nY2ImJihlLmZpbmlzaGVkPSEwLHQuZW1pdCgiZmluaXNoIikpKSxyfWMuaW5oZXJpdHMoeSxoKSxiLnByb3RvdHlwZS5nZXRCdWZmZXI9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9dGhpcy5idWZmZXJlZFJlcXVlc3QsZT1bXTt0OyllLnB1c2godCksdD10Lm5leHQ7cmV0dXJuIGV9LGZ1bmN0aW9uKCl7dHJ5e09iamVjdC5kZWZpbmVQcm9wZXJ0eShiLnByb3RvdHlwZSwiYnVmZmVyIix7Z2V0OmYuZGVwcmVjYXRlKChmdW5jdGlvbigpe3JldHVybiB0aGlzLmdldEJ1ZmZlcigpfSksIl93cml0YWJsZVN0YXRlLmJ1ZmZlciBpcyBkZXByZWNhdGVkLiBVc2UgX3dyaXRhYmxlU3RhdGUuZ2V0QnVmZmVyIGluc3RlYWQuIiwiREVQMDAwMyIpfSl9Y2F0Y2godCl7fX0oKSwiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiZTeW1ib2wuaGFzSW5zdGFuY2UmJiJmdW5jdGlvbiI9PXR5cGVvZiBGdW5jdGlvbi5wcm90b3R5cGVbU3ltYm9sLmhhc0luc3RhbmNlXT8ocD1GdW5jdGlvbi5wcm90b3R5cGVbU3ltYm9sLmhhc0luc3RhbmNlXSxPYmplY3QuZGVmaW5lUHJvcGVydHkoeSxTeW1ib2wuaGFzSW5zdGFuY2Use3ZhbHVlOmZ1bmN0aW9uKHQpe3JldHVybiEhcC5jYWxsKHRoaXMsdCl8fHRoaXM9PT15JiYodCYmdC5fd3JpdGFibGVTdGF0ZSBpbnN0YW5jZW9mIGIpfX0pKTpwPWZ1bmN0aW9uKHQpe3JldHVybiB0IGluc3RhbmNlb2YgdGhpc30seS5wcm90b3R5cGUucGlwZT1mdW5jdGlvbigpe3RoaXMuZW1pdCgiZXJyb3IiLG5ldyBFcnJvcigiQ2Fubm90IHBpcGUsIG5vdCByZWFkYWJsZSIpKX0seS5wcm90b3R5cGUud3JpdGU9ZnVuY3Rpb24odCxlLHIpe3ZhciBuLGk9dGhpcy5fd3JpdGFibGVTdGF0ZSxzPSExLGE9IWkub2JqZWN0TW9kZSYmKG49dCxsLmlzQnVmZmVyKG4pfHxuIGluc3RhbmNlb2YgZCk7cmV0dXJuIGEmJiFsLmlzQnVmZmVyKHQpJiYodD1mdW5jdGlvbih0KXtyZXR1cm4gbC5mcm9tKHQpfSh0KSksImZ1bmN0aW9uIj09dHlwZW9mIGUmJihyPWUsZT1udWxsKSxhP2U9ImJ1ZmZlciI6ZXx8KGU9aS5kZWZhdWx0RW5jb2RpbmcpLCJmdW5jdGlvbiIhPXR5cGVvZiByJiYocj1nKSxpLmVuZGVkP2Z1bmN0aW9uKHQsZSl7dmFyIHI9bmV3IEVycm9yKCJ3cml0ZSBhZnRlciBlbmQiKTt0LmVtaXQoImVycm9yIixyKSxvLm5leHRUaWNrKGUscil9KHRoaXMscik6KGF8fGZ1bmN0aW9uKHQsZSxyLG4pe3ZhciBpPSEwLHM9ITE7cmV0dXJuIG51bGw9PT1yP3M9bmV3IFR5cGVFcnJvcigiTWF5IG5vdCB3cml0ZSBudWxsIHZhbHVlcyB0byBzdHJlYW0iKToic3RyaW5nIj09dHlwZW9mIHJ8fHZvaWQgMD09PXJ8fGUub2JqZWN0TW9kZXx8KHM9bmV3IFR5cGVFcnJvcigiSW52YWxpZCBub24tc3RyaW5nL2J1ZmZlciBjaHVuayIpKSxzJiYodC5lbWl0KCJlcnJvciIscyksby5uZXh0VGljayhuLHMpLGk9ITEpLGl9KHRoaXMsaSx0LHIpKSYmKGkucGVuZGluZ2NiKysscz1mdW5jdGlvbih0LGUscixuLGksbyl7aWYoIXIpe3ZhciBzPWZ1bmN0aW9uKHQsZSxyKXt0Lm9iamVjdE1vZGV8fCExPT09dC5kZWNvZGVTdHJpbmdzfHwic3RyaW5nIiE9dHlwZW9mIGV8fChlPWwuZnJvbShlLHIpKTtyZXR1cm4gZX0oZSxuLGkpO24hPT1zJiYocj0hMCxpPSJidWZmZXIiLG49cyl9dmFyIGE9ZS5vYmplY3RNb2RlPzE6bi5sZW5ndGg7ZS5sZW5ndGgrPWE7dmFyIHU9ZS5sZW5ndGg8ZS5oaWdoV2F0ZXJNYXJrO3V8fChlLm5lZWREcmFpbj0hMCk7aWYoZS53cml0aW5nfHxlLmNvcmtlZCl7dmFyIGM9ZS5sYXN0QnVmZmVyZWRSZXF1ZXN0O2UubGFzdEJ1ZmZlcmVkUmVxdWVzdD17Y2h1bms6bixlbmNvZGluZzppLGlzQnVmOnIsY2FsbGJhY2s6byxuZXh0Om51bGx9LGM/Yy5uZXh0PWUubGFzdEJ1ZmZlcmVkUmVxdWVzdDplLmJ1ZmZlcmVkUmVxdWVzdD1lLmxhc3RCdWZmZXJlZFJlcXVlc3QsZS5idWZmZXJlZFJlcXVlc3RDb3VudCs9MX1lbHNlIHYodCxlLCExLGEsbixpLG8pO3JldHVybiB1fSh0aGlzLGksYSx0LGUscikpLHN9LHkucHJvdG90eXBlLmNvcms9ZnVuY3Rpb24oKXt0aGlzLl93cml0YWJsZVN0YXRlLmNvcmtlZCsrfSx5LnByb3RvdHlwZS51bmNvcms9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl93cml0YWJsZVN0YXRlO3QuY29ya2VkJiYodC5jb3JrZWQtLSx0LndyaXRpbmd8fHQuY29ya2VkfHx0LmZpbmlzaGVkfHx0LmJ1ZmZlclByb2Nlc3Npbmd8fCF0LmJ1ZmZlcmVkUmVxdWVzdHx8dyh0aGlzLHQpKX0seS5wcm90b3R5cGUuc2V0RGVmYXVsdEVuY29kaW5nPWZ1bmN0aW9uKHQpe2lmKCJzdHJpbmciPT10eXBlb2YgdCYmKHQ9dC50b0xvd2VyQ2FzZSgpKSwhKFsiaGV4IiwidXRmOCIsInV0Zi04IiwiYXNjaWkiLCJiaW5hcnkiLCJiYXNlNjQiLCJ1Y3MyIiwidWNzLTIiLCJ1dGYxNmxlIiwidXRmLTE2bGUiLCJyYXciXS5pbmRleE9mKCh0KyIiKS50b0xvd2VyQ2FzZSgpKT4tMSkpdGhyb3cgbmV3IFR5cGVFcnJvcigiVW5rbm93biBlbmNvZGluZzogIit0KTtyZXR1cm4gdGhpcy5fd3JpdGFibGVTdGF0ZS5kZWZhdWx0RW5jb2Rpbmc9dCx0aGlzfSxPYmplY3QuZGVmaW5lUHJvcGVydHkoeS5wcm90b3R5cGUsIndyaXRhYmxlSGlnaFdhdGVyTWFyayIse2VudW1lcmFibGU6ITEsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3dyaXRhYmxlU3RhdGUuaGlnaFdhdGVyTWFya319KSx5LnByb3RvdHlwZS5fd3JpdGU9ZnVuY3Rpb24odCxlLHIpe3IobmV3IEVycm9yKCJfd3JpdGUoKSBpcyBub3QgaW1wbGVtZW50ZWQiKSl9LHkucHJvdG90eXBlLl93cml0ZXY9bnVsbCx5LnByb3RvdHlwZS5lbmQ9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPXRoaXMuX3dyaXRhYmxlU3RhdGU7ImZ1bmN0aW9uIj09dHlwZW9mIHQ/KHI9dCx0PW51bGwsZT1udWxsKToiZnVuY3Rpb24iPT10eXBlb2YgZSYmKHI9ZSxlPW51bGwpLG51bGwhPXQmJnRoaXMud3JpdGUodCxlKSxuLmNvcmtlZCYmKG4uY29ya2VkPTEsdGhpcy51bmNvcmsoKSksbi5lbmRpbmd8fG4uZmluaXNoZWR8fGZ1bmN0aW9uKHQsZSxyKXtlLmVuZGluZz0hMCxFKHQsZSksciYmKGUuZmluaXNoZWQ/by5uZXh0VGljayhyKTp0Lm9uY2UoImZpbmlzaCIscikpO2UuZW5kZWQ9ITAsdC53cml0YWJsZT0hMX0odGhpcyxuLHIpfSxPYmplY3QuZGVmaW5lUHJvcGVydHkoeS5wcm90b3R5cGUsImRlc3Ryb3llZCIse2dldDpmdW5jdGlvbigpe3JldHVybiB2b2lkIDAhPT10aGlzLl93cml0YWJsZVN0YXRlJiZ0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZH0sc2V0OmZ1bmN0aW9uKHQpe3RoaXMuX3dyaXRhYmxlU3RhdGUmJih0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZD10KX19KSx5LnByb3RvdHlwZS5kZXN0cm95PW0uZGVzdHJveSx5LnByb3RvdHlwZS5fdW5kZXN0cm95PW0udW5kZXN0cm95LHkucHJvdG90eXBlLl9kZXN0cm95PWZ1bmN0aW9uKHQsZSl7dGhpcy5lbmQoKSxlKHQpfX0pLmNhbGwodGhpcyxyKDUpLHIoMTA4KS5zZXRJbW1lZGlhdGUscig2KSl9LGZ1bmN0aW9uKHQsZSxyKXsoZnVuY3Rpb24oZSl7ZnVuY3Rpb24gcih0KXt0cnl7aWYoIWUubG9jYWxTdG9yYWdlKXJldHVybiExfWNhdGNoKHQpe3JldHVybiExfXZhciByPWUubG9jYWxTdG9yYWdlW3RdO3JldHVybiBudWxsIT1yJiYidHJ1ZSI9PT1TdHJpbmcocikudG9Mb3dlckNhc2UoKX10LmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtpZihyKCJub0RlcHJlY2F0aW9uIikpcmV0dXJuIHQ7dmFyIG49ITE7cmV0dXJuIGZ1bmN0aW9uKCl7aWYoIW4pe2lmKHIoInRocm93RGVwcmVjYXRpb24iKSl0aHJvdyBuZXcgRXJyb3IoZSk7cigidHJhY2VEZXByZWNhdGlvbiIpP2NvbnNvbGUudHJhY2UoZSk6Y29uc29sZS53YXJuKGUpLG49ITB9cmV0dXJuIHQuYXBwbHkodGhpcyxhcmd1bWVudHMpfX19KS5jYWxsKHRoaXMscig2KSl9LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49cigyMTMpLGk9cigyMTQpO2Z1bmN0aW9uIG8oKXt0aGlzLnByb3RvY29sPW51bGwsdGhpcy5zbGFzaGVzPW51bGwsdGhpcy5hdXRoPW51bGwsdGhpcy5ob3N0PW51bGwsdGhpcy5wb3J0PW51bGwsdGhpcy5ob3N0bmFtZT1udWxsLHRoaXMuaGFzaD1udWxsLHRoaXMuc2VhcmNoPW51bGwsdGhpcy5xdWVyeT1udWxsLHRoaXMucGF0aG5hbWU9bnVsbCx0aGlzLnBhdGg9bnVsbCx0aGlzLmhyZWY9bnVsbH1lLnBhcnNlPXYsZS5yZXNvbHZlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHYodCwhMSwhMCkucmVzb2x2ZShlKX0sZS5yZXNvbHZlT2JqZWN0PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQ/dih0LCExLCEwKS5yZXNvbHZlT2JqZWN0KGUpOmV9LGUuZm9ybWF0PWZ1bmN0aW9uKHQpe2kuaXNTdHJpbmcodCkmJih0PXYodCkpO3JldHVybiB0IGluc3RhbmNlb2Ygbz90LmZvcm1hdCgpOm8ucHJvdG90eXBlLmZvcm1hdC5jYWxsKHQpfSxlLlVybD1vO3ZhciBzPS9eKFthLXowLTkuKy1dKzopL2ksYT0vOlswLTldKiQvLHU9L14oXC9cLz8oPyFcLylbXlw/XHNdKikoXD9bXlxzXSopPyQvLGM9WyJ7IiwifSIsInwiLCJcXCIsIl4iLCJgIl0uY29uY2F0KFsiPCIsIj4iLCciJywiYCIsIiAiLCJcciIsIlxuIiwiXHQiXSksZj1bIiciXS5jb25jYXQoYyksaD1bIiUiLCIvIiwiPyIsIjsiLCIjIl0uY29uY2F0KGYpLGw9WyIvIiwiPyIsIiMiXSxkPS9eWythLXowLTlBLVpfLV17MCw2M30kLyxwPS9eKFsrYS16MC05QS1aXy1dezAsNjN9KSguKikkLyxtPXtqYXZhc2NyaXB0OiEwLCJqYXZhc2NyaXB0OiI6ITB9LGc9e2phdmFzY3JpcHQ6ITAsImphdmFzY3JpcHQ6IjohMH0sYj17aHR0cDohMCxodHRwczohMCxmdHA6ITAsZ29waGVyOiEwLGZpbGU6ITAsImh0dHA6IjohMCwiaHR0cHM6IjohMCwiZnRwOiI6ITAsImdvcGhlcjoiOiEwLCJmaWxlOiI6ITB9LHk9cigyMTUpO2Z1bmN0aW9uIHYodCxlLHIpe2lmKHQmJmkuaXNPYmplY3QodCkmJnQgaW5zdGFuY2VvZiBvKXJldHVybiB0O3ZhciBuPW5ldyBvO3JldHVybiBuLnBhcnNlKHQsZSxyKSxufW8ucHJvdG90eXBlLnBhcnNlPWZ1bmN0aW9uKHQsZSxyKXtpZighaS5pc1N0cmluZyh0KSl0aHJvdyBuZXcgVHlwZUVycm9yKCJQYXJhbWV0ZXIgJ3VybCcgbXVzdCBiZSBhIHN0cmluZywgbm90ICIrdHlwZW9mIHQpO3ZhciBvPXQuaW5kZXhPZigiPyIpLGE9LTEhPT1vJiZvPHQuaW5kZXhPZigiIyIpPyI/IjoiIyIsYz10LnNwbGl0KGEpO2NbMF09Y1swXS5yZXBsYWNlKC9cXC9nLCIvIik7dmFyIHY9dD1jLmpvaW4oYSk7aWYodj12LnRyaW0oKSwhciYmMT09PXQuc3BsaXQoIiMiKS5sZW5ndGgpe3ZhciBfPXUuZXhlYyh2KTtpZihfKXJldHVybiB0aGlzLnBhdGg9dix0aGlzLmhyZWY9dix0aGlzLnBhdGhuYW1lPV9bMV0sX1syXT8odGhpcy5zZWFyY2g9X1syXSx0aGlzLnF1ZXJ5PWU/eS5wYXJzZSh0aGlzLnNlYXJjaC5zdWJzdHIoMSkpOnRoaXMuc2VhcmNoLnN1YnN0cigxKSk6ZSYmKHRoaXMuc2VhcmNoPSIiLHRoaXMucXVlcnk9e30pLHRoaXN9dmFyIHc9cy5leGVjKHYpO2lmKHcpe3ZhciBNPSh3PXdbMF0pLnRvTG93ZXJDYXNlKCk7dGhpcy5wcm90b2NvbD1NLHY9di5zdWJzdHIody5sZW5ndGgpfWlmKHJ8fHd8fHYubWF0Y2goL15cL1wvW15AXC9dK0BbXkBcL10rLykpe3ZhciBTPSIvLyI9PT12LnN1YnN0cigwLDIpOyFTfHx3JiZnW3ddfHwodj12LnN1YnN0cigyKSx0aGlzLnNsYXNoZXM9ITApfWlmKCFnW3ddJiYoU3x8dyYmIWJbd10pKXtmb3IodmFyIEUseCxrPS0xLEE9MDtBPGwubGVuZ3RoO0ErKyl7LTEhPT0oUj12LmluZGV4T2YobFtBXSkpJiYoLTE9PT1rfHxSPGspJiYoaz1SKX0tMSE9PSh4PS0xPT09az92Lmxhc3RJbmRleE9mKCJAIik6di5sYXN0SW5kZXhPZigiQCIsaykpJiYoRT12LnNsaWNlKDAseCksdj12LnNsaWNlKHgrMSksdGhpcy5hdXRoPWRlY29kZVVSSUNvbXBvbmVudChFKSksaz0tMTtmb3IoQT0wO0E8aC5sZW5ndGg7QSsrKXt2YXIgUjstMSE9PShSPXYuaW5kZXhPZihoW0FdKSkmJigtMT09PWt8fFI8aykmJihrPVIpfS0xPT09ayYmKGs9di5sZW5ndGgpLHRoaXMuaG9zdD12LnNsaWNlKDAsayksdj12LnNsaWNlKGspLHRoaXMucGFyc2VIb3N0KCksdGhpcy5ob3N0bmFtZT10aGlzLmhvc3RuYW1lfHwiIjt2YXIgVD0iWyI9PT10aGlzLmhvc3RuYW1lWzBdJiYiXSI9PT10aGlzLmhvc3RuYW1lW3RoaXMuaG9zdG5hbWUubGVuZ3RoLTFdO2lmKCFUKWZvcih2YXIgTz10aGlzLmhvc3RuYW1lLnNwbGl0KC9cLi8pLEM9KEE9MCxPLmxlbmd0aCk7QTxDO0ErKyl7dmFyIFA9T1tBXTtpZihQJiYhUC5tYXRjaChkKSl7Zm9yKHZhciBJPSIiLEI9MCxMPVAubGVuZ3RoO0I8TDtCKyspUC5jaGFyQ29kZUF0KEIpPjEyNz9JKz0ieCI6SSs9UFtCXTtpZighSS5tYXRjaChkKSl7dmFyIGo9Ty5zbGljZSgwLEEpLE49Ty5zbGljZShBKzEpLHE9UC5tYXRjaChwKTtxJiYoai5wdXNoKHFbMV0pLE4udW5zaGlmdChxWzJdKSksTi5sZW5ndGgmJih2PSIvIitOLmpvaW4oIi4iKSt2KSx0aGlzLmhvc3RuYW1lPWouam9pbigiLiIpO2JyZWFrfX19dGhpcy5ob3N0bmFtZS5sZW5ndGg+MjU1P3RoaXMuaG9zdG5hbWU9IiI6dGhpcy5ob3N0bmFtZT10aGlzLmhvc3RuYW1lLnRvTG93ZXJDYXNlKCksVHx8KHRoaXMuaG9zdG5hbWU9bi50b0FTQ0lJKHRoaXMuaG9zdG5hbWUpKTt2YXIgVT10aGlzLnBvcnQ/IjoiK3RoaXMucG9ydDoiIixEPXRoaXMuaG9zdG5hbWV8fCIiO3RoaXMuaG9zdD1EK1UsdGhpcy5ocmVmKz10aGlzLmhvc3QsVCYmKHRoaXMuaG9zdG5hbWU9dGhpcy5ob3N0bmFtZS5zdWJzdHIoMSx0aGlzLmhvc3RuYW1lLmxlbmd0aC0yKSwiLyIhPT12WzBdJiYodj0iLyIrdikpfWlmKCFtW01dKWZvcihBPTAsQz1mLmxlbmd0aDtBPEM7QSsrKXt2YXIgej1mW0FdO2lmKC0xIT09di5pbmRleE9mKHopKXt2YXIgSD1lbmNvZGVVUklDb21wb25lbnQoeik7SD09PXomJihIPWVzY2FwZSh6KSksdj12LnNwbGl0KHopLmpvaW4oSCl9fXZhciBGPXYuaW5kZXhPZigiIyIpOy0xIT09RiYmKHRoaXMuaGFzaD12LnN1YnN0cihGKSx2PXYuc2xpY2UoMCxGKSk7dmFyIFc9di5pbmRleE9mKCI/Iik7aWYoLTEhPT1XPyh0aGlzLnNlYXJjaD12LnN1YnN0cihXKSx0aGlzLnF1ZXJ5PXYuc3Vic3RyKFcrMSksZSYmKHRoaXMucXVlcnk9eS5wYXJzZSh0aGlzLnF1ZXJ5KSksdj12LnNsaWNlKDAsVykpOmUmJih0aGlzLnNlYXJjaD0iIix0aGlzLnF1ZXJ5PXt9KSx2JiYodGhpcy5wYXRobmFtZT12KSxiW01dJiZ0aGlzLmhvc3RuYW1lJiYhdGhpcy5wYXRobmFtZSYmKHRoaXMucGF0aG5hbWU9Ii8iKSx0aGlzLnBhdGhuYW1lfHx0aGlzLnNlYXJjaCl7VT10aGlzLnBhdGhuYW1lfHwiIjt2YXIgSz10aGlzLnNlYXJjaHx8IiI7dGhpcy5wYXRoPVUrS31yZXR1cm4gdGhpcy5ocmVmPXRoaXMuZm9ybWF0KCksdGhpc30sby5wcm90b3R5cGUuZm9ybWF0PWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5hdXRofHwiIjt0JiYodD0odD1lbmNvZGVVUklDb21wb25lbnQodCkpLnJlcGxhY2UoLyUzQS9pLCI6IiksdCs9IkAiKTt2YXIgZT10aGlzLnByb3RvY29sfHwiIixyPXRoaXMucGF0aG5hbWV8fCIiLG49dGhpcy5oYXNofHwiIixvPSExLHM9IiI7dGhpcy5ob3N0P289dCt0aGlzLmhvc3Q6dGhpcy5ob3N0bmFtZSYmKG89dCsoLTE9PT10aGlzLmhvc3RuYW1lLmluZGV4T2YoIjoiKT90aGlzLmhvc3RuYW1lOiJbIit0aGlzLmhvc3RuYW1lKyJdIiksdGhpcy5wb3J0JiYobys9IjoiK3RoaXMucG9ydCkpLHRoaXMucXVlcnkmJmkuaXNPYmplY3QodGhpcy5xdWVyeSkmJk9iamVjdC5rZXlzKHRoaXMucXVlcnkpLmxlbmd0aCYmKHM9eS5zdHJpbmdpZnkodGhpcy5xdWVyeSkpO3ZhciBhPXRoaXMuc2VhcmNofHxzJiYiPyIrc3x8IiI7cmV0dXJuIGUmJiI6IiE9PWUuc3Vic3RyKC0xKSYmKGUrPSI6IiksdGhpcy5zbGFzaGVzfHwoIWV8fGJbZV0pJiYhMSE9PW8/KG89Ii8vIisob3x8IiIpLHImJiIvIiE9PXIuY2hhckF0KDApJiYocj0iLyIrcikpOm98fChvPSIiKSxuJiYiIyIhPT1uLmNoYXJBdCgwKSYmKG49IiMiK24pLGEmJiI/IiE9PWEuY2hhckF0KDApJiYoYT0iPyIrYSksZStvKyhyPXIucmVwbGFjZSgvWz8jXS9nLChmdW5jdGlvbih0KXtyZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KHQpfSkpKSsoYT1hLnJlcGxhY2UoIiMiLCIlMjMiKSkrbn0sby5wcm90b3R5cGUucmVzb2x2ZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5yZXNvbHZlT2JqZWN0KHYodCwhMSwhMCkpLmZvcm1hdCgpfSxvLnByb3RvdHlwZS5yZXNvbHZlT2JqZWN0PWZ1bmN0aW9uKHQpe2lmKGkuaXNTdHJpbmcodCkpe3ZhciBlPW5ldyBvO2UucGFyc2UodCwhMSwhMCksdD1lfWZvcih2YXIgcj1uZXcgbyxuPU9iamVjdC5rZXlzKHRoaXMpLHM9MDtzPG4ubGVuZ3RoO3MrKyl7dmFyIGE9bltzXTtyW2FdPXRoaXNbYV19aWYoci5oYXNoPXQuaGFzaCwiIj09PXQuaHJlZilyZXR1cm4gci5ocmVmPXIuZm9ybWF0KCkscjtpZih0LnNsYXNoZXMmJiF0LnByb3RvY29sKXtmb3IodmFyIHU9T2JqZWN0LmtleXModCksYz0wO2M8dS5sZW5ndGg7YysrKXt2YXIgZj11W2NdOyJwcm90b2NvbCIhPT1mJiYocltmXT10W2ZdKX1yZXR1cm4gYltyLnByb3RvY29sXSYmci5ob3N0bmFtZSYmIXIucGF0aG5hbWUmJihyLnBhdGg9ci5wYXRobmFtZT0iLyIpLHIuaHJlZj1yLmZvcm1hdCgpLHJ9aWYodC5wcm90b2NvbCYmdC5wcm90b2NvbCE9PXIucHJvdG9jb2wpe2lmKCFiW3QucHJvdG9jb2xdKXtmb3IodmFyIGg9T2JqZWN0LmtleXModCksbD0wO2w8aC5sZW5ndGg7bCsrKXt2YXIgZD1oW2xdO3JbZF09dFtkXX1yZXR1cm4gci5ocmVmPXIuZm9ybWF0KCkscn1pZihyLnByb3RvY29sPXQucHJvdG9jb2wsdC5ob3N0fHxnW3QucHJvdG9jb2xdKXIucGF0aG5hbWU9dC5wYXRobmFtZTtlbHNle2Zvcih2YXIgcD0odC5wYXRobmFtZXx8IiIpLnNwbGl0KCIvIik7cC5sZW5ndGgmJiEodC5ob3N0PXAuc2hpZnQoKSk7KTt0Lmhvc3R8fCh0Lmhvc3Q9IiIpLHQuaG9zdG5hbWV8fCh0Lmhvc3RuYW1lPSIiKSwiIiE9PXBbMF0mJnAudW5zaGlmdCgiIikscC5sZW5ndGg8MiYmcC51bnNoaWZ0KCIiKSxyLnBhdGhuYW1lPXAuam9pbigiLyIpfWlmKHIuc2VhcmNoPXQuc2VhcmNoLHIucXVlcnk9dC5xdWVyeSxyLmhvc3Q9dC5ob3N0fHwiIixyLmF1dGg9dC5hdXRoLHIuaG9zdG5hbWU9dC5ob3N0bmFtZXx8dC5ob3N0LHIucG9ydD10LnBvcnQsci5wYXRobmFtZXx8ci5zZWFyY2gpe3ZhciBtPXIucGF0aG5hbWV8fCIiLHk9ci5zZWFyY2h8fCIiO3IucGF0aD1tK3l9cmV0dXJuIHIuc2xhc2hlcz1yLnNsYXNoZXN8fHQuc2xhc2hlcyxyLmhyZWY9ci5mb3JtYXQoKSxyfXZhciB2PXIucGF0aG5hbWUmJiIvIj09PXIucGF0aG5hbWUuY2hhckF0KDApLF89dC5ob3N0fHx0LnBhdGhuYW1lJiYiLyI9PT10LnBhdGhuYW1lLmNoYXJBdCgwKSx3PV98fHZ8fHIuaG9zdCYmdC5wYXRobmFtZSxNPXcsUz1yLnBhdGhuYW1lJiZyLnBhdGhuYW1lLnNwbGl0KCIvIil8fFtdLEU9KHA9dC5wYXRobmFtZSYmdC5wYXRobmFtZS5zcGxpdCgiLyIpfHxbXSxyLnByb3RvY29sJiYhYltyLnByb3RvY29sXSk7aWYoRSYmKHIuaG9zdG5hbWU9IiIsci5wb3J0PW51bGwsci5ob3N0JiYoIiI9PT1TWzBdP1NbMF09ci5ob3N0OlMudW5zaGlmdChyLmhvc3QpKSxyLmhvc3Q9IiIsdC5wcm90b2NvbCYmKHQuaG9zdG5hbWU9bnVsbCx0LnBvcnQ9bnVsbCx0Lmhvc3QmJigiIj09PXBbMF0/cFswXT10Lmhvc3Q6cC51bnNoaWZ0KHQuaG9zdCkpLHQuaG9zdD1udWxsKSx3PXcmJigiIj09PXBbMF18fCIiPT09U1swXSkpLF8pci5ob3N0PXQuaG9zdHx8IiI9PT10Lmhvc3Q/dC5ob3N0OnIuaG9zdCxyLmhvc3RuYW1lPXQuaG9zdG5hbWV8fCIiPT09dC5ob3N0bmFtZT90Lmhvc3RuYW1lOnIuaG9zdG5hbWUsci5zZWFyY2g9dC5zZWFyY2gsci5xdWVyeT10LnF1ZXJ5LFM9cDtlbHNlIGlmKHAubGVuZ3RoKVN8fChTPVtdKSxTLnBvcCgpLFM9Uy5jb25jYXQocCksci5zZWFyY2g9dC5zZWFyY2gsci5xdWVyeT10LnF1ZXJ5O2Vsc2UgaWYoIWkuaXNOdWxsT3JVbmRlZmluZWQodC5zZWFyY2gpKXtpZihFKXIuaG9zdG5hbWU9ci5ob3N0PVMuc2hpZnQoKSwoVD0hIShyLmhvc3QmJnIuaG9zdC5pbmRleE9mKCJAIik+MCkmJnIuaG9zdC5zcGxpdCgiQCIpKSYmKHIuYXV0aD1ULnNoaWZ0KCksci5ob3N0PXIuaG9zdG5hbWU9VC5zaGlmdCgpKTtyZXR1cm4gci5zZWFyY2g9dC5zZWFyY2gsci5xdWVyeT10LnF1ZXJ5LGkuaXNOdWxsKHIucGF0aG5hbWUpJiZpLmlzTnVsbChyLnNlYXJjaCl8fChyLnBhdGg9KHIucGF0aG5hbWU/ci5wYXRobmFtZToiIikrKHIuc2VhcmNoP3Iuc2VhcmNoOiIiKSksci5ocmVmPXIuZm9ybWF0KCkscn1pZighUy5sZW5ndGgpcmV0dXJuIHIucGF0aG5hbWU9bnVsbCxyLnNlYXJjaD9yLnBhdGg9Ii8iK3Iuc2VhcmNoOnIucGF0aD1udWxsLHIuaHJlZj1yLmZvcm1hdCgpLHI7Zm9yKHZhciB4PVMuc2xpY2UoLTEpWzBdLGs9KHIuaG9zdHx8dC5ob3N0fHxTLmxlbmd0aD4xKSYmKCIuIj09PXh8fCIuLiI9PT14KXx8IiI9PT14LEE9MCxSPVMubGVuZ3RoO1I+PTA7Ui0tKSIuIj09PSh4PVNbUl0pP1Muc3BsaWNlKFIsMSk6Ii4uIj09PXg/KFMuc3BsaWNlKFIsMSksQSsrKTpBJiYoUy5zcGxpY2UoUiwxKSxBLS0pO2lmKCF3JiYhTSlmb3IoO0EtLTtBKVMudW5zaGlmdCgiLi4iKTshd3x8IiI9PT1TWzBdfHxTWzBdJiYiLyI9PT1TWzBdLmNoYXJBdCgwKXx8Uy51bnNoaWZ0KCIiKSxrJiYiLyIhPT1TLmpvaW4oIi8iKS5zdWJzdHIoLTEpJiZTLnB1c2goIiIpO3ZhciBULE89IiI9PT1TWzBdfHxTWzBdJiYiLyI9PT1TWzBdLmNoYXJBdCgwKTtFJiYoci5ob3N0bmFtZT1yLmhvc3Q9Tz8iIjpTLmxlbmd0aD9TLnNoaWZ0KCk6IiIsKFQ9ISEoci5ob3N0JiZyLmhvc3QuaW5kZXhPZigiQCIpPjApJiZyLmhvc3Quc3BsaXQoIkAiKSkmJihyLmF1dGg9VC5zaGlmdCgpLHIuaG9zdD1yLmhvc3RuYW1lPVQuc2hpZnQoKSkpO3JldHVybih3PXd8fHIuaG9zdCYmUy5sZW5ndGgpJiYhTyYmUy51bnNoaWZ0KCIiKSxTLmxlbmd0aD9yLnBhdGhuYW1lPVMuam9pbigiLyIpOihyLnBhdGhuYW1lPW51bGwsci5wYXRoPW51bGwpLGkuaXNOdWxsKHIucGF0aG5hbWUpJiZpLmlzTnVsbChyLnNlYXJjaCl8fChyLnBhdGg9KHIucGF0aG5hbWU/ci5wYXRobmFtZToiIikrKHIuc2VhcmNoP3Iuc2VhcmNoOiIiKSksci5hdXRoPXQuYXV0aHx8ci5hdXRoLHIuc2xhc2hlcz1yLnNsYXNoZXN8fHQuc2xhc2hlcyxyLmhyZWY9ci5mb3JtYXQoKSxyfSxvLnByb3RvdHlwZS5wYXJzZUhvc3Q9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmhvc3QsZT1hLmV4ZWModCk7ZSYmKCI6IiE9PShlPWVbMF0pJiYodGhpcy5wb3J0PWUuc3Vic3RyKDEpKSx0PXQuc3Vic3RyKDAsdC5sZW5ndGgtZS5sZW5ndGgpKSx0JiYodGhpcy5ob3N0bmFtZT10KX19LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe3RoaXMubGlzdGVuZXJzPXt9fXJldHVybiB0LnByb3RvdHlwZS5hZGRFdmVudExpc3RlbmVyPWZ1bmN0aW9uKHQsZSl7dD10LnRvTG93ZXJDYXNlKCksdGhpcy5saXN0ZW5lcnNbdF09dGhpcy5saXN0ZW5lcnNbdF18fFtdLHRoaXMubGlzdGVuZXJzW3RdLnB1c2goZS5oYW5kbGVFdmVudHx8ZSl9LHQucHJvdG90eXBlLnJlbW92ZUV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24odCxlKXtpZih0PXQudG9Mb3dlckNhc2UoKSx0aGlzLmxpc3RlbmVyc1t0XSl7dmFyIHI9dGhpcy5saXN0ZW5lcnNbdF0uaW5kZXhPZihlLmhhbmRsZUV2ZW50fHxlKTtyPDB8fHRoaXMubGlzdGVuZXJzW3RdLnNwbGljZShyLDEpfX0sdC5wcm90b3R5cGUuZGlzcGF0Y2hFdmVudD1mdW5jdGlvbih0KXt2YXIgZT10LnR5cGUudG9Mb3dlckNhc2UoKTtpZih0LnRhcmdldD10aGlzLHRoaXMubGlzdGVuZXJzW2VdKWZvcih2YXIgcj0wLG49dGhpcy5saXN0ZW5lcnNbZV07cjxuLmxlbmd0aDtyKyspe25bcl0uY2FsbCh0aGlzLHQpfXZhciBpPXRoaXNbIm9uIitlXTtyZXR1cm4gaSYmaS5jYWxsKHRoaXMsdCksITB9LHR9KCk7ZS5YTUxIdHRwUmVxdWVzdEV2ZW50VGFyZ2V0PW59LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49cigyNykuY29kZXMuRVJSX1NUUkVBTV9QUkVNQVRVUkVfQ0xPU0U7ZnVuY3Rpb24gaSgpe310LmV4cG9ydHM9ZnVuY3Rpb24gdChlLHIsbyl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHIpcmV0dXJuIHQoZSxudWxsLHIpO3J8fChyPXt9KSxvPWZ1bmN0aW9uKHQpe3ZhciBlPSExO3JldHVybiBmdW5jdGlvbigpe2lmKCFlKXtlPSEwO2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoLG49bmV3IEFycmF5KHIpLGk9MDtpPHI7aSsrKW5baV09YXJndW1lbnRzW2ldO3QuYXBwbHkodGhpcyxuKX19fShvfHxpKTt2YXIgcz1yLnJlYWRhYmxlfHwhMSE9PXIucmVhZGFibGUmJmUucmVhZGFibGUsYT1yLndyaXRhYmxlfHwhMSE9PXIud3JpdGFibGUmJmUud3JpdGFibGUsdT1mdW5jdGlvbigpe2Uud3JpdGFibGV8fGYoKX0sYz1lLl93cml0YWJsZVN0YXRlJiZlLl93cml0YWJsZVN0YXRlLmZpbmlzaGVkLGY9ZnVuY3Rpb24oKXthPSExLGM9ITAsc3x8by5jYWxsKGUpfSxoPWUuX3JlYWRhYmxlU3RhdGUmJmUuX3JlYWRhYmxlU3RhdGUuZW5kRW1pdHRlZCxsPWZ1bmN0aW9uKCl7cz0hMSxoPSEwLGF8fG8uY2FsbChlKX0sZD1mdW5jdGlvbih0KXtvLmNhbGwoZSx0KX0scD1mdW5jdGlvbigpe3ZhciB0O3JldHVybiBzJiYhaD8oZS5fcmVhZGFibGVTdGF0ZSYmZS5fcmVhZGFibGVTdGF0ZS5lbmRlZHx8KHQ9bmV3IG4pLG8uY2FsbChlLHQpKTphJiYhYz8oZS5fd3JpdGFibGVTdGF0ZSYmZS5fd3JpdGFibGVTdGF0ZS5lbmRlZHx8KHQ9bmV3IG4pLG8uY2FsbChlLHQpKTp2b2lkIDB9LG09ZnVuY3Rpb24oKXtlLnJlcS5vbigiZmluaXNoIixmKX07cmV0dXJuIWZ1bmN0aW9uKHQpe3JldHVybiB0LnNldEhlYWRlciYmImZ1bmN0aW9uIj09dHlwZW9mIHQuYWJvcnR9KGUpP2EmJiFlLl93cml0YWJsZVN0YXRlJiYoZS5vbigiZW5kIix1KSxlLm9uKCJjbG9zZSIsdSkpOihlLm9uKCJjb21wbGV0ZSIsZiksZS5vbigiYWJvcnQiLHApLGUucmVxP20oKTplLm9uKCJyZXF1ZXN0IixtKSksZS5vbigiZW5kIixsKSxlLm9uKCJmaW5pc2giLGYpLCExIT09ci5lcnJvciYmZS5vbigiZXJyb3IiLGQpLGUub24oImNsb3NlIixwKSxmdW5jdGlvbigpe2UucmVtb3ZlTGlzdGVuZXIoImNvbXBsZXRlIixmKSxlLnJlbW92ZUxpc3RlbmVyKCJhYm9ydCIscCksZS5yZW1vdmVMaXN0ZW5lcigicmVxdWVzdCIsbSksZS5yZXEmJmUucmVxLnJlbW92ZUxpc3RlbmVyKCJmaW5pc2giLGYpLGUucmVtb3ZlTGlzdGVuZXIoImVuZCIsdSksZS5yZW1vdmVMaXN0ZW5lcigiY2xvc2UiLHUpLGUucmVtb3ZlTGlzdGVuZXIoImZpbmlzaCIsZiksZS5yZW1vdmVMaXN0ZW5lcigiZW5kIixsKSxlLnJlbW92ZUxpc3RlbmVyKCJlcnJvciIsZCksZS5yZW1vdmVMaXN0ZW5lcigiY2xvc2UiLHApfX19LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49ZTtuLnZlcnNpb249cigyNDQpLnZlcnNpb24sbi51dGlscz1yKDExKSxuLnJhbmQ9cigxMjEpLG4uY3VydmU9cigxMjIpLG4uY3VydmVzPXIoNTkpLG4uZWM9cigyNTcpLG4uZWRkc2E9cigyNjEpfSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuLGk9ZSxvPXIoNjApLHM9cigxMjIpLGE9cigxMSkuYXNzZXJ0O2Z1bmN0aW9uIHUodCl7InNob3J0Ij09PXQudHlwZT90aGlzLmN1cnZlPW5ldyBzLnNob3J0KHQpOiJlZHdhcmRzIj09PXQudHlwZT90aGlzLmN1cnZlPW5ldyBzLmVkd2FyZHModCk6dGhpcy5jdXJ2ZT1uZXcgcy5tb250KHQpLHRoaXMuZz10aGlzLmN1cnZlLmcsdGhpcy5uPXRoaXMuY3VydmUubix0aGlzLmhhc2g9dC5oYXNoLGEodGhpcy5nLnZhbGlkYXRlKCksIkludmFsaWQgY3VydmUiKSxhKHRoaXMuZy5tdWwodGhpcy5uKS5pc0luZmluaXR5KCksIkludmFsaWQgY3VydmUsIEcqTiAhPSBPIil9ZnVuY3Rpb24gYyh0LGUpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShpLHQse2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3ZhciByPW5ldyB1KGUpO3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkoaSx0LHtjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCx2YWx1ZTpyfSkscn19KX1pLlByZXNldEN1cnZlPXUsYygicDE5MiIse3R5cGU6InNob3J0IixwcmltZToicDE5MiIscDoiZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmUgZmZmZmZmZmYgZmZmZmZmZmYiLGE6ImZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZlIGZmZmZmZmZmIGZmZmZmZmZjIixiOiI2NDIxMDUxOSBlNTljODBlNyAwZmE3ZTlhYiA3MjI0MzA0OSBmZWI4ZGVlYyBjMTQ2YjliMSIsbjoiZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgOTlkZWY4MzYgMTQ2YmM5YjEgYjRkMjI4MzEiLGhhc2g6by5zaGEyNTYsZ1JlZDohMSxnOlsiMTg4ZGE4MGUgYjAzMDkwZjYgN2NiZjIwZWIgNDNhMTg4MDAgZjRmZjBhZmQgODJmZjEwMTIiLCIwNzE5MmI5NSBmZmM4ZGE3OCA2MzEwMTFlZCA2YjI0Y2RkNSA3M2Y5NzdhMSAxZTc5NDgxMSJdfSksYygicDIyNCIse3R5cGU6InNob3J0IixwcmltZToicDIyNCIscDoiZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDEiLGE6ImZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZlIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZlIixiOiJiNDA1MGE4NSAwYzA0YjNhYiBmNTQxMzI1NiA1MDQ0YjBiNyBkN2JmZDhiYSAyNzBiMzk0MyAyMzU1ZmZiNCIsbjoiZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZjE2YTIgZTBiOGYwM2UgMTNkZDI5NDUgNWM1YzJhM2QiLGhhc2g6by5zaGEyNTYsZ1JlZDohMSxnOlsiYjcwZTBjYmQgNmJiNGJmN2YgMzIxMzkwYjkgNGEwM2MxZDMgNTZjMjExMjIgMzQzMjgwZDYgMTE1YzFkMjEiLCJiZDM3NjM4OCBiNWY3MjNmYiA0YzIyZGZlNiBjZDQzNzVhMCA1YTA3NDc2NCA0NGQ1ODE5OSA4NTAwN2UzNCJdfSksYygicDI1NiIse3R5cGU6InNob3J0IixwcmltZTpudWxsLHA6ImZmZmZmZmZmIDAwMDAwMDAxIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIixhOiJmZmZmZmZmZiAwMDAwMDAwMSAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmYyIsYjoiNWFjNjM1ZDggYWEzYTkzZTcgYjNlYmJkNTUgNzY5ODg2YmMgNjUxZDA2YjAgY2M1M2IwZjYgM2JjZTNjM2UgMjdkMjYwNGIiLG46ImZmZmZmZmZmIDAwMDAwMDAwIGZmZmZmZmZmIGZmZmZmZmZmIGJjZTZmYWFkIGE3MTc5ZTg0IGYzYjljYWMyIGZjNjMyNTUxIixoYXNoOm8uc2hhMjU2LGdSZWQ6ITEsZzpbIjZiMTdkMWYyIGUxMmM0MjQ3IGY4YmNlNmU1IDYzYTQ0MGYyIDc3MDM3ZDgxIDJkZWIzM2EwIGY0YTEzOTQ1IGQ4OThjMjk2IiwiNGZlMzQyZTIgZmUxYTdmOWIgOGVlN2ViNGEgN2MwZjllMTYgMmJjZTMzNTcgNmIzMTVlY2UgY2JiNjQwNjggMzdiZjUxZjUiXX0pLGMoInAzODQiLHt0eXBlOiJzaG9ydCIscHJpbWU6bnVsbCxwOiJmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZSBmZmZmZmZmZiAwMDAwMDAwMCAwMDAwMDAwMCBmZmZmZmZmZiIsYToiZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmUgZmZmZmZmZmYgMDAwMDAwMDAgMDAwMDAwMDAgZmZmZmZmZmMiLGI6ImIzMzEyZmE3IGUyM2VlN2U0IDk4OGUwNTZiIGUzZjgyZDE5IDE4MWQ5YzZlIGZlODE0MTEyIDAzMTQwODhmIDUwMTM4NzVhIGM2NTYzOThkIDhhMmVkMTlkIDJhODVjOGVkIGQzZWMyYWVmIixuOiJmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBjNzYzNGQ4MSBmNDM3MmRkZiA1ODFhMGRiMiA0OGIwYTc3YSBlY2VjMTk2YSBjY2M1Mjk3MyIsaGFzaDpvLnNoYTM4NCxnUmVkOiExLGc6WyJhYTg3Y2EyMiBiZThiMDUzNyA4ZWIxYzcxZSBmMzIwYWQ3NCA2ZTFkM2I2MiA4YmE3OWI5OCA1OWY3NDFlMCA4MjU0MmEzOCA1NTAyZjI1ZCBiZjU1Mjk2YyAzYTU0NWUzOCA3Mjc2MGFiNyIsIjM2MTdkZTRhIDk2MjYyYzZmIDVkOWU5OGJmIDkyOTJkYzI5IGY4ZjQxZGJkIDI4OWExNDdjIGU5ZGEzMTEzIGI1ZjBiOGMwIDBhNjBiMWNlIDFkN2U4MTlkIDdhNDMxZDdjIDkwZWEwZTVmIl19KSxjKCJwNTIxIix7dHlwZToic2hvcnQiLHByaW1lOm51bGwscDoiMDAwMDAxZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYiLGE6IjAwMDAwMWZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZjIixiOiIwMDAwMDA1MSA5NTNlYjk2MSA4ZTFjOWExZiA5MjlhMjFhMCBiNjg1NDBlZSBhMmRhNzI1YiA5OWIzMTVmMyBiOGI0ODk5MSA4ZWYxMDllMSA1NjE5Mzk1MSBlYzdlOTM3YiAxNjUyYzBiZCAzYmIxYmYwNyAzNTczZGY4OCAzZDJjMzRmMSBlZjQ1MWZkNCA2YjUwM2YwMCIsbjoiMDAwMDAxZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmEgNTE4Njg3ODMgYmYyZjk2NmIgN2ZjYzAxNDggZjcwOWE1ZDAgM2JiNWM5YjggODk5YzQ3YWUgYmI2ZmI3MWUgOTEzODY0MDkiLGhhc2g6by5zaGE1MTIsZ1JlZDohMSxnOlsiMDAwMDAwYzYgODU4ZTA2YjcgMDQwNGU5Y2QgOWUzZWNiNjYgMjM5NWI0NDIgOWM2NDgxMzkgMDUzZmI1MjEgZjgyOGFmNjAgNmI0ZDNkYmEgYTE0YjVlNzcgZWZlNzU5MjggZmUxZGMxMjcgYTJmZmE4ZGUgMzM0OGIzYzEgODU2YTQyOWIgZjk3ZTdlMzEgYzJlNWJkNjYiLCIwMDAwMDExOCAzOTI5NmE3OCA5YTNiYzAwNCA1YzhhNWZiNCAyYzdkMWJkOSA5OGY1NDQ0OSA1NzliNDQ2OCAxN2FmYmQxNyAyNzNlNjYyYyA5N2VlNzI5OSA1ZWY0MjY0MCBjNTUwYjkwMSAzZmFkMDc2MSAzNTNjNzA4NiBhMjcyYzI0MCA4OGJlOTQ3NiA5ZmQxNjY1MCJdfSksYygiY3VydmUyNTUxOSIse3R5cGU6Im1vbnQiLHByaW1lOiJwMjU1MTkiLHA6IjdmZmZmZmZmZmZmZmZmZmYgZmZmZmZmZmZmZmZmZmZmZiBmZmZmZmZmZmZmZmZmZmZmIGZmZmZmZmZmZmZmZmZmZWQiLGE6Ijc2ZDA2IixiOiIxIixuOiIxMDAwMDAwMDAwMDAwMDAwIDAwMDAwMDAwMDAwMDAwMDAgMTRkZWY5ZGVhMmY3OWNkNiA1ODEyNjMxYTVjZjVkM2VkIixoYXNoOm8uc2hhMjU2LGdSZWQ6ITEsZzpbIjkiXX0pLGMoImVkMjU1MTkiLHt0eXBlOiJlZHdhcmRzIixwcmltZToicDI1NTE5IixwOiI3ZmZmZmZmZmZmZmZmZmZmIGZmZmZmZmZmZmZmZmZmZmYgZmZmZmZmZmZmZmZmZmZmZiBmZmZmZmZmZmZmZmZmZmVkIixhOiItMSIsYzoiMSIsZDoiNTIwMzZjZWUyYjZmZmU3MyA4Y2M3NDA3OTc3NzllODk4IDAwNzAwYTRkNDE0MWQ4YWIgNzVlYjRkY2ExMzU5NzhhMyIsbjoiMTAwMDAwMDAwMDAwMDAwMCAwMDAwMDAwMDAwMDAwMDAwIDE0ZGVmOWRlYTJmNzljZDYgNTgxMjYzMWE1Y2Y1ZDNlZCIsaGFzaDpvLnNoYTI1NixnUmVkOiExLGc6WyIyMTY5MzZkM2NkNmU1M2ZlYzBhNGUyMzFmZGQ2ZGM1YzY5MmNjNzYwOTUyNWE3YjJjOTU2MmQ2MDhmMjVkNTFhIiwiNjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY1OCJdfSk7dHJ5e249cigyNTYpfWNhdGNoKHQpe249dm9pZCAwfWMoInNlY3AyNTZrMSIse3R5cGU6InNob3J0IixwcmltZToiazI1NiIscDoiZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmUgZmZmZmZjMmYiLGE6IjAiLGI6IjciLG46ImZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZlIGJhYWVkY2U2IGFmNDhhMDNiIGJmZDI1ZThjIGQwMzY0MTQxIixoOiIxIixoYXNoOm8uc2hhMjU2LGJldGE6IjdhZTk2YTJiNjU3YzA3MTA2ZTY0NDc5ZWFjMzQzNGU5OWNmMDQ5NzUxMmY1ODk5NWMxMzk2YzI4NzE5NTAxZWUiLGxhbWJkYToiNTM2M2FkNGNjMDVjMzBlMGE1MjYxYzAyODgxMjY0NWExMjJlMjJlYTIwODE2Njc4ZGYwMjk2N2MxYjIzYmQ3MiIsYmFzaXM6W3thOiIzMDg2ZDIyMWE3ZDQ2YmNkZTg2YzkwZTQ5Mjg0ZWIxNSIsYjoiLWU0NDM3ZWQ2MDEwZTg4Mjg2ZjU0N2ZhOTBhYmZlNGMzIn0se2E6IjExNGNhNTBmN2E4ZTJmM2Y2NTdjMTEwOGQ5ZDQ0Y2ZkOCIsYjoiMzA4NmQyMjFhN2Q0NmJjZGU4NmM5MGU0OTI4NGViMTUifV0sZ1JlZDohMSxnOlsiNzliZTY2N2VmOWRjYmJhYzU1YTA2Mjk1Y2U4NzBiMDcwMjliZmNkYjJkY2UyOGQ5NTlmMjgxNWIxNmY4MTc5OCIsIjQ4M2FkYTc3MjZhM2M0NjU1ZGE0ZmJmYzBlMTEwOGE4ZmQxN2I0NDhhNjg1NTQxOTljNDdkMDhmZmIxMGQ0YjgiLG5dfSl9LGZ1bmN0aW9uKHQsZSxyKXt2YXIgbj1lO24udXRpbHM9cigxNSksbi5jb21tb249cigzNyksbi5zaGE9cigyNTApLG4ucmlwZW1kPXIoMjU0KSxuLmhtYWM9cigyNTUpLG4uc2hhMT1uLnNoYS5zaGExLG4uc2hhMjU2PW4uc2hhLnNoYTI1NixuLnNoYTIyND1uLnNoYS5zaGEyMjQsbi5zaGEzODQ9bi5zaGEuc2hhMzg0LG4uc2hhNTEyPW4uc2hhLnNoYTUxMixuLnJpcGVtZDE2MD1uLnJpcGVtZC5yaXBlbWQxNjB9LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7KGZ1bmN0aW9uKGUpe3ZhciBuPXIoMjY4KTsKLyohCiAqIFRoZSBidWZmZXIgbW9kdWxlIGZyb20gbm9kZS5qcywgZm9yIHRoZSBicm93c2VyLgogKgogKiBAYXV0aG9yICAgRmVyb3NzIEFib3VraGFkaWplaCA8ZmVyb3NzQGZlcm9zcy5vcmc+IDxodHRwOi8vZmVyb3NzLm9yZz4KICogQGxpY2Vuc2UgIE1JVAogKi9mdW5jdGlvbiBpKHQsZSl7aWYodD09PWUpcmV0dXJuIDA7Zm9yKHZhciByPXQubGVuZ3RoLG49ZS5sZW5ndGgsaT0wLG89TWF0aC5taW4ocixuKTtpPG87KytpKWlmKHRbaV0hPT1lW2ldKXtyPXRbaV0sbj1lW2ldO2JyZWFrfXJldHVybiByPG4/LTE6bjxyPzE6MH1mdW5jdGlvbiBvKHQpe3JldHVybiBlLkJ1ZmZlciYmImZ1bmN0aW9uIj09dHlwZW9mIGUuQnVmZmVyLmlzQnVmZmVyP2UuQnVmZmVyLmlzQnVmZmVyKHQpOiEobnVsbD09dHx8IXQuX2lzQnVmZmVyKX12YXIgcz1yKDIxKSxhPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksdT1BcnJheS5wcm90b3R5cGUuc2xpY2UsYz0iZm9vIj09PWZ1bmN0aW9uKCl7fS5uYW1lO2Z1bmN0aW9uIGYodCl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KX1mdW5jdGlvbiBoKHQpe3JldHVybiFvKHQpJiYoImZ1bmN0aW9uIj09dHlwZW9mIGUuQXJyYXlCdWZmZXImJigiZnVuY3Rpb24iPT10eXBlb2YgQXJyYXlCdWZmZXIuaXNWaWV3P0FycmF5QnVmZmVyLmlzVmlldyh0KTohIXQmJih0IGluc3RhbmNlb2YgRGF0YVZpZXd8fCEhKHQuYnVmZmVyJiZ0LmJ1ZmZlciBpbnN0YW5jZW9mIEFycmF5QnVmZmVyKSkpKX12YXIgbD10LmV4cG9ydHM9eSxkPS9ccypmdW5jdGlvblxzKyhbXlwoXHNdKilccyovO2Z1bmN0aW9uIHAodCl7aWYocy5pc0Z1bmN0aW9uKHQpKXtpZihjKXJldHVybiB0Lm5hbWU7dmFyIGU9dC50b1N0cmluZygpLm1hdGNoKGQpO3JldHVybiBlJiZlWzFdfX1mdW5jdGlvbiBtKHQsZSl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0P3QubGVuZ3RoPGU/dDp0LnNsaWNlKDAsZSk6dH1mdW5jdGlvbiBnKHQpe2lmKGN8fCFzLmlzRnVuY3Rpb24odCkpcmV0dXJuIHMuaW5zcGVjdCh0KTt2YXIgZT1wKHQpO3JldHVybiJbRnVuY3Rpb24iKyhlPyI6ICIrZToiIikrIl0ifWZ1bmN0aW9uIGIodCxlLHIsbixpKXt0aHJvdyBuZXcgbC5Bc3NlcnRpb25FcnJvcih7bWVzc2FnZTpyLGFjdHVhbDp0LGV4cGVjdGVkOmUsb3BlcmF0b3I6bixzdGFja1N0YXJ0RnVuY3Rpb246aX0pfWZ1bmN0aW9uIHkodCxlKXt0fHxiKHQsITAsZSwiPT0iLGwub2spfWZ1bmN0aW9uIHYodCxlLHIsbil7aWYodD09PWUpcmV0dXJuITA7aWYobyh0KSYmbyhlKSlyZXR1cm4gMD09PWkodCxlKTtpZihzLmlzRGF0ZSh0KSYmcy5pc0RhdGUoZSkpcmV0dXJuIHQuZ2V0VGltZSgpPT09ZS5nZXRUaW1lKCk7aWYocy5pc1JlZ0V4cCh0KSYmcy5pc1JlZ0V4cChlKSlyZXR1cm4gdC5zb3VyY2U9PT1lLnNvdXJjZSYmdC5nbG9iYWw9PT1lLmdsb2JhbCYmdC5tdWx0aWxpbmU9PT1lLm11bHRpbGluZSYmdC5sYXN0SW5kZXg9PT1lLmxhc3RJbmRleCYmdC5pZ25vcmVDYXNlPT09ZS5pZ25vcmVDYXNlO2lmKG51bGwhPT10JiYib2JqZWN0Ij09dHlwZW9mIHR8fG51bGwhPT1lJiYib2JqZWN0Ij09dHlwZW9mIGUpe2lmKGgodCkmJmgoZSkmJmYodCk9PT1mKGUpJiYhKHQgaW5zdGFuY2VvZiBGbG9hdDMyQXJyYXl8fHQgaW5zdGFuY2VvZiBGbG9hdDY0QXJyYXkpKXJldHVybiAwPT09aShuZXcgVWludDhBcnJheSh0LmJ1ZmZlciksbmV3IFVpbnQ4QXJyYXkoZS5idWZmZXIpKTtpZihvKHQpIT09byhlKSlyZXR1cm4hMTt2YXIgYT0obj1ufHx7YWN0dWFsOltdLGV4cGVjdGVkOltdfSkuYWN0dWFsLmluZGV4T2YodCk7cmV0dXJuLTEhPT1hJiZhPT09bi5leHBlY3RlZC5pbmRleE9mKGUpfHwobi5hY3R1YWwucHVzaCh0KSxuLmV4cGVjdGVkLnB1c2goZSksZnVuY3Rpb24odCxlLHIsbil7aWYobnVsbD09dHx8bnVsbD09ZSlyZXR1cm4hMTtpZihzLmlzUHJpbWl0aXZlKHQpfHxzLmlzUHJpbWl0aXZlKGUpKXJldHVybiB0PT09ZTtpZihyJiZPYmplY3QuZ2V0UHJvdG90eXBlT2YodCkhPT1PYmplY3QuZ2V0UHJvdG90eXBlT2YoZSkpcmV0dXJuITE7dmFyIGk9Xyh0KSxvPV8oZSk7aWYoaSYmIW98fCFpJiZvKXJldHVybiExO2lmKGkpcmV0dXJuIHQ9dS5jYWxsKHQpLGU9dS5jYWxsKGUpLHYodCxlLHIpO3ZhciBhLGMsZj1TKHQpLGg9UyhlKTtpZihmLmxlbmd0aCE9PWgubGVuZ3RoKXJldHVybiExO2ZvcihmLnNvcnQoKSxoLnNvcnQoKSxjPWYubGVuZ3RoLTE7Yz49MDtjLS0paWYoZltjXSE9PWhbY10pcmV0dXJuITE7Zm9yKGM9Zi5sZW5ndGgtMTtjPj0wO2MtLSlpZihhPWZbY10sIXYodFthXSxlW2FdLHIsbikpcmV0dXJuITE7cmV0dXJuITB9KHQsZSxyLG4pKX1yZXR1cm4gcj90PT09ZTp0PT1lfWZ1bmN0aW9uIF8odCl7cmV0dXJuIltvYmplY3QgQXJndW1lbnRzXSI9PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KX1mdW5jdGlvbiB3KHQsZSl7aWYoIXR8fCFlKXJldHVybiExO2lmKCJbb2JqZWN0IFJlZ0V4cF0iPT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSkpcmV0dXJuIGUudGVzdCh0KTt0cnl7aWYodCBpbnN0YW5jZW9mIGUpcmV0dXJuITB9Y2F0Y2godCl7fXJldHVybiFFcnJvci5pc1Byb3RvdHlwZU9mKGUpJiYhMD09PWUuY2FsbCh7fSx0KX1mdW5jdGlvbiBNKHQsZSxyLG4pe3ZhciBpO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBlKXRocm93IG5ldyBUeXBlRXJyb3IoJyJibG9jayIgYXJndW1lbnQgbXVzdCBiZSBhIGZ1bmN0aW9uJyk7InN0cmluZyI9PXR5cGVvZiByJiYobj1yLHI9bnVsbCksaT1mdW5jdGlvbih0KXt2YXIgZTt0cnl7dCgpfWNhdGNoKHQpe2U9dH1yZXR1cm4gZX0oZSksbj0ociYmci5uYW1lPyIgKCIrci5uYW1lKyIpLiI6Ii4iKSsobj8iICIrbjoiLiIpLHQmJiFpJiZiKGksciwiTWlzc2luZyBleHBlY3RlZCBleGNlcHRpb24iK24pO3ZhciBvPSJzdHJpbmciPT10eXBlb2YgbixhPSF0JiZpJiYhcjtpZigoIXQmJnMuaXNFcnJvcihpKSYmbyYmdyhpLHIpfHxhKSYmYihpLHIsIkdvdCB1bndhbnRlZCBleGNlcHRpb24iK24pLHQmJmkmJnImJiF3KGkscil8fCF0JiZpKXRocm93IGl9bC5Bc3NlcnRpb25FcnJvcj1mdW5jdGlvbih0KXt0aGlzLm5hbWU9IkFzc2VydGlvbkVycm9yIix0aGlzLmFjdHVhbD10LmFjdHVhbCx0aGlzLmV4cGVjdGVkPXQuZXhwZWN0ZWQsdGhpcy5vcGVyYXRvcj10Lm9wZXJhdG9yLHQubWVzc2FnZT8odGhpcy5tZXNzYWdlPXQubWVzc2FnZSx0aGlzLmdlbmVyYXRlZE1lc3NhZ2U9ITEpOih0aGlzLm1lc3NhZ2U9ZnVuY3Rpb24odCl7cmV0dXJuIG0oZyh0LmFjdHVhbCksMTI4KSsiICIrdC5vcGVyYXRvcisiICIrbShnKHQuZXhwZWN0ZWQpLDEyOCl9KHRoaXMpLHRoaXMuZ2VuZXJhdGVkTWVzc2FnZT0hMCk7dmFyIGU9dC5zdGFja1N0YXJ0RnVuY3Rpb258fGI7aWYoRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UpRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UodGhpcyxlKTtlbHNle3ZhciByPW5ldyBFcnJvcjtpZihyLnN0YWNrKXt2YXIgbj1yLnN0YWNrLGk9cChlKSxvPW4uaW5kZXhPZigiXG4iK2kpO2lmKG8+PTApe3ZhciBzPW4uaW5kZXhPZigiXG4iLG8rMSk7bj1uLnN1YnN0cmluZyhzKzEpfXRoaXMuc3RhY2s9bn19fSxzLmluaGVyaXRzKGwuQXNzZXJ0aW9uRXJyb3IsRXJyb3IpLGwuZmFpbD1iLGwub2s9eSxsLmVxdWFsPWZ1bmN0aW9uKHQsZSxyKXt0IT1lJiZiKHQsZSxyLCI9PSIsbC5lcXVhbCl9LGwubm90RXF1YWw9ZnVuY3Rpb24odCxlLHIpe3Q9PWUmJmIodCxlLHIsIiE9IixsLm5vdEVxdWFsKX0sbC5kZWVwRXF1YWw9ZnVuY3Rpb24odCxlLHIpe3YodCxlLCExKXx8Yih0LGUsciwiZGVlcEVxdWFsIixsLmRlZXBFcXVhbCl9LGwuZGVlcFN0cmljdEVxdWFsPWZ1bmN0aW9uKHQsZSxyKXt2KHQsZSwhMCl8fGIodCxlLHIsImRlZXBTdHJpY3RFcXVhbCIsbC5kZWVwU3RyaWN0RXF1YWwpfSxsLm5vdERlZXBFcXVhbD1mdW5jdGlvbih0LGUscil7dih0LGUsITEpJiZiKHQsZSxyLCJub3REZWVwRXF1YWwiLGwubm90RGVlcEVxdWFsKX0sbC5ub3REZWVwU3RyaWN0RXF1YWw9ZnVuY3Rpb24gdChlLHIsbil7dihlLHIsITApJiZiKGUscixuLCJub3REZWVwU3RyaWN0RXF1YWwiLHQpfSxsLnN0cmljdEVxdWFsPWZ1bmN0aW9uKHQsZSxyKXt0IT09ZSYmYih0LGUsciwiPT09IixsLnN0cmljdEVxdWFsKX0sbC5ub3RTdHJpY3RFcXVhbD1mdW5jdGlvbih0LGUscil7dD09PWUmJmIodCxlLHIsIiE9PSIsbC5ub3RTdHJpY3RFcXVhbCl9LGwudGhyb3dzPWZ1bmN0aW9uKHQsZSxyKXtNKCEwLHQsZSxyKX0sbC5kb2VzTm90VGhyb3c9ZnVuY3Rpb24odCxlLHIpe00oITEsdCxlLHIpfSxsLmlmRXJyb3I9ZnVuY3Rpb24odCl7aWYodCl0aHJvdyB0fSxsLnN0cmljdD1uKChmdW5jdGlvbiB0KGUscil7ZXx8YihlLCEwLHIsIj09Iix0KX0pLGwse2VxdWFsOmwuc3RyaWN0RXF1YWwsZGVlcEVxdWFsOmwuZGVlcFN0cmljdEVxdWFsLG5vdEVxdWFsOmwubm90U3RyaWN0RXF1YWwsbm90RGVlcEVxdWFsOmwubm90RGVlcFN0cmljdEVxdWFsfSksbC5zdHJpY3Quc3RyaWN0PWwuc3RyaWN0O3ZhciBTPU9iamVjdC5rZXlzfHxmdW5jdGlvbih0KXt2YXIgZT1bXTtmb3IodmFyIHIgaW4gdClhLmNhbGwodCxyKSYmZS5wdXNoKHIpO3JldHVybiBlfX0pLmNhbGwodGhpcyxyKDYpKX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDI5KS5jb2Rlcy5FUlJfU1RSRUFNX1BSRU1BVFVSRV9DTE9TRTtmdW5jdGlvbiBpKCl7fXQuZXhwb3J0cz1mdW5jdGlvbiB0KGUscixvKXtpZigiZnVuY3Rpb24iPT10eXBlb2YgcilyZXR1cm4gdChlLG51bGwscik7cnx8KHI9e30pLG89ZnVuY3Rpb24odCl7dmFyIGU9ITE7cmV0dXJuIGZ1bmN0aW9uKCl7aWYoIWUpe2U9ITA7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGgsbj1uZXcgQXJyYXkociksaT0wO2k8cjtpKyspbltpXT1hcmd1bWVudHNbaV07dC5hcHBseSh0aGlzLG4pfX19KG98fGkpO3ZhciBzPXIucmVhZGFibGV8fCExIT09ci5yZWFkYWJsZSYmZS5yZWFkYWJsZSxhPXIud3JpdGFibGV8fCExIT09ci53cml0YWJsZSYmZS53cml0YWJsZSx1PWZ1bmN0aW9uKCl7ZS53cml0YWJsZXx8ZigpfSxjPWUuX3dyaXRhYmxlU3RhdGUmJmUuX3dyaXRhYmxlU3RhdGUuZmluaXNoZWQsZj1mdW5jdGlvbigpe2E9ITEsYz0hMCxzfHxvLmNhbGwoZSl9LGg9ZS5fcmVhZGFibGVTdGF0ZSYmZS5fcmVhZGFibGVTdGF0ZS5lbmRFbWl0dGVkLGw9ZnVuY3Rpb24oKXtzPSExLGg9ITAsYXx8by5jYWxsKGUpfSxkPWZ1bmN0aW9uKHQpe28uY2FsbChlLHQpfSxwPWZ1bmN0aW9uKCl7dmFyIHQ7cmV0dXJuIHMmJiFoPyhlLl9yZWFkYWJsZVN0YXRlJiZlLl9yZWFkYWJsZVN0YXRlLmVuZGVkfHwodD1uZXcgbiksby5jYWxsKGUsdCkpOmEmJiFjPyhlLl93cml0YWJsZVN0YXRlJiZlLl93cml0YWJsZVN0YXRlLmVuZGVkfHwodD1uZXcgbiksby5jYWxsKGUsdCkpOnZvaWQgMH0sbT1mdW5jdGlvbigpe2UucmVxLm9uKCJmaW5pc2giLGYpfTtyZXR1cm4hZnVuY3Rpb24odCl7cmV0dXJuIHQuc2V0SGVhZGVyJiYiZnVuY3Rpb24iPT10eXBlb2YgdC5hYm9ydH0oZSk/YSYmIWUuX3dyaXRhYmxlU3RhdGUmJihlLm9uKCJlbmQiLHUpLGUub24oImNsb3NlIix1KSk6KGUub24oImNvbXBsZXRlIixmKSxlLm9uKCJhYm9ydCIscCksZS5yZXE/bSgpOmUub24oInJlcXVlc3QiLG0pKSxlLm9uKCJlbmQiLGwpLGUub24oImZpbmlzaCIsZiksITEhPT1yLmVycm9yJiZlLm9uKCJlcnJvciIsZCksZS5vbigiY2xvc2UiLHApLGZ1bmN0aW9uKCl7ZS5yZW1vdmVMaXN0ZW5lcigiY29tcGxldGUiLGYpLGUucmVtb3ZlTGlzdGVuZXIoImFib3J0IixwKSxlLnJlbW92ZUxpc3RlbmVyKCJyZXF1ZXN0IixtKSxlLnJlcSYmZS5yZXEucmVtb3ZlTGlzdGVuZXIoImZpbmlzaCIsZiksZS5yZW1vdmVMaXN0ZW5lcigiZW5kIix1KSxlLnJlbW92ZUxpc3RlbmVyKCJjbG9zZSIsdSksZS5yZW1vdmVMaXN0ZW5lcigiZmluaXNoIixmKSxlLnJlbW92ZUxpc3RlbmVyKCJlbmQiLGwpLGUucmVtb3ZlTGlzdGVuZXIoImVycm9yIixkKSxlLnJlbW92ZUxpc3RlbmVyKCJjbG9zZSIscCl9fX0sZnVuY3Rpb24odCxlLHIpe3ZhciBuPXIoMTQwKSxpPXIoMzAxKSxvPXIoMzAyKSxzPW4/bi50b1N0cmluZ1RhZzp2b2lkIDA7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT10P3ZvaWQgMD09PXQ/IltvYmplY3QgVW5kZWZpbmVkXSI6IltvYmplY3QgTnVsbF0iOnMmJnMgaW4gT2JqZWN0KHQpP2kodCk6byh0KX19LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGUuZGVmYXVsdD1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oKXtpZihudWxsIT09dCl7dmFyIGU9dDt0PW51bGwsZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fX0sdC5leHBvcnRzPWUuZGVmYXVsdH0sZnVuY3Rpb24odCxlKXt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIG51bGwhPXQmJiJvYmplY3QiPT10eXBlb2YgdH19LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGUuZGVmYXVsdD1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oKXtpZihudWxsPT09dCl0aHJvdyBuZXcgRXJyb3IoIkNhbGxiYWNrIHdhcyBhbHJlYWR5IGNhbGxlZC4iKTt2YXIgZT10O3Q9bnVsbCxlLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19LHQuZXhwb3J0cz1lLmRlZmF1bHR9LGZ1bmN0aW9uKHQsZSxyKXtjb25zdCBuPXIoMzMzKSxpPXIoNDQpO3QuZXhwb3J0cz1mdW5jdGlvbih0KXtyZXR1cm4gaSh7aWQ6bigpLGpzb25ycGM6IjIuMCIscGFyYW1zOltdfSx0KX19LGZ1bmN0aW9uKHQsZSxyKXtjb25zdCBuPXIoNDkpO3QuZXhwb3J0cz1jbGFzcyBleHRlbmRzIG57Y29uc3RydWN0b3IodCl7aWYoc3VwZXIoKSwhdCl0aHJvdyBuZXcgRXJyb3IoIkpzb25ScGNFbmdpbmVNaWRkbGV3YXJlU3VicHJvdmlkZXIgLSBubyBjb25zdHJ1Y3RvckZuIHNwZWNpZmllZCIpO3RoaXMuX2NvbnN0cnVjdG9yRm49dH1zZXRFbmdpbmUodCl7aWYodGhpcy5taWRkbGV3YXJlKXRocm93IG5ldyBFcnJvcigiSnNvblJwY0VuZ2luZU1pZGRsZXdhcmVTdWJwcm92aWRlciAtIHN1YnByb3ZpZGVyIGFkZGVkIHRvIGVuZ2luZSB0d2ljZSIpO2NvbnN0IGU9dC5fYmxvY2tUcmFja2VyLHI9dGhpcy5fY29uc3RydWN0b3JGbih7ZW5naW5lOnQscHJvdmlkZXI6dCxibG9ja1RyYWNrZXI6ZX0pO2lmKCFyKXRocm93IG5ldyBFcnJvcigiSnNvblJwY0VuZ2luZU1pZGRsZXdhcmVTdWJwcm92aWRlciAtIF9jb25zdHJ1Y3RvckZuIGRpZCBub3QgcmV0dXJuIG1pZGRsZXdhcmUiKTtpZigiZnVuY3Rpb24iIT10eXBlb2Ygcil0aHJvdyBuZXcgRXJyb3IoIkpzb25ScGNFbmdpbmVNaWRkbGV3YXJlU3VicHJvdmlkZXIgLSBzcGVjaWZpZWQgbWlkZGxld2FyZSBpcyBub3QgYSBmdW5jdGlvbiIpO3RoaXMubWlkZGxld2FyZT1yfWhhbmRsZVJlcXVlc3QodCxlLHIpe2NvbnN0IG49e2lkOnQuaWR9O3RoaXMubWlkZGxld2FyZSh0LG4sKGZ1bmN0aW9uKHQpe2UoKGUscixpKT0+e2U/KGRlbGV0ZSBuLnJlc3VsdCxuLmVycm9yPXttZXNzYWdlOmUubWVzc2FnZXx8ZX0pOm4ucmVzdWx0PXIsdD90KGkpOmkoKX0pfSksKGZ1bmN0aW9uKHQpe2lmKHQpcmV0dXJuIHIodCk7cihudWxsLG4ucmVzdWx0KX0pKX19fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTtjb25zdCBuPXIoMTIpO2Z1bmN0aW9uIGkodCxlLHIpe3RyeXtSZWZsZWN0LmFwcGx5KHQsZSxyKX1jYXRjaCh0KXtzZXRUaW1lb3V0KCgpPT57dGhyb3cgdH0pfX1jbGFzcyBvIGV4dGVuZHMgbi5FdmVudEVtaXR0ZXJ7ZW1pdCh0LC4uLmUpe2xldCByPSJlcnJvciI9PT10O2NvbnN0IG49dGhpcy5fZXZlbnRzO2lmKHZvaWQgMCE9PW4pcj1yJiZ2b2lkIDA9PT1uLmVycm9yO2Vsc2UgaWYoIXIpcmV0dXJuITE7aWYocil7bGV0IHQ7aWYoZS5sZW5ndGg+MCYmKFt0XT1lKSx0IGluc3RhbmNlb2YgRXJyb3IpdGhyb3cgdDtjb25zdCByPW5ldyBFcnJvcigiVW5oYW5kbGVkIGVycm9yLiIrKHQ/YCAoJHt0Lm1lc3NhZ2V9KWA6IiIpKTt0aHJvdyByLmNvbnRleHQ9dCxyfWNvbnN0IG89blt0XTtpZih2b2lkIDA9PT1vKXJldHVybiExO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBvKWkobyx0aGlzLGUpO2Vsc2V7Y29uc3QgdD1vLmxlbmd0aCxyPWZ1bmN0aW9uKHQpe2NvbnN0IGU9dC5sZW5ndGgscj1uZXcgQXJyYXkoZSk7Zm9yKGxldCBuPTA7bjxlO24rPTEpcltuXT10W25dO3JldHVybiByfShvKTtmb3IobGV0IG49MDtuPHQ7bis9MSlpKHJbbl0sdGhpcyxlKX1yZXR1cm4hMH19ZS5kZWZhdWx0PW99LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGUuRXRoZXJldW1Qcm92aWRlckVycm9yPWUuRXRoZXJldW1ScGNFcnJvcj12b2lkIDA7Y29uc3Qgbj1yKDM0NCk7Y2xhc3MgaSBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKHQsZSxyKXtpZighTnVtYmVyLmlzSW50ZWdlcih0KSl0aHJvdyBuZXcgRXJyb3IoJyJjb2RlIiBtdXN0IGJlIGFuIGludGVnZXIuJyk7aWYoIWV8fCJzdHJpbmciIT10eXBlb2YgZSl0aHJvdyBuZXcgRXJyb3IoJyJtZXNzYWdlIiBtdXN0IGJlIGEgbm9uZW1wdHkgc3RyaW5nLicpO3N1cGVyKGUpLHRoaXMuY29kZT10LHZvaWQgMCE9PXImJih0aGlzLmRhdGE9cil9c2VyaWFsaXplKCl7Y29uc3QgdD17Y29kZTp0aGlzLmNvZGUsbWVzc2FnZTp0aGlzLm1lc3NhZ2V9O3JldHVybiB2b2lkIDAhPT10aGlzLmRhdGEmJih0LmRhdGE9dGhpcy5kYXRhKSx0aGlzLnN0YWNrJiYodC5zdGFjaz10aGlzLnN0YWNrKSx0fXRvU3RyaW5nKCl7cmV0dXJuIG4uZGVmYXVsdCh0aGlzLnNlcmlhbGl6ZSgpLG8sMil9fWUuRXRoZXJldW1ScGNFcnJvcj1pO2Z1bmN0aW9uIG8odCxlKXtpZigiW0NpcmN1bGFyXSIhPT1lKXJldHVybiBlfWUuRXRoZXJldW1Qcm92aWRlckVycm9yPWNsYXNzIGV4dGVuZHMgaXtjb25zdHJ1Y3Rvcih0LGUscil7aWYoIWZ1bmN0aW9uKHQpe3JldHVybiBOdW1iZXIuaXNJbnRlZ2VyKHQpJiZ0Pj0xZTMmJnQ8PTQ5OTl9KHQpKXRocm93IG5ldyBFcnJvcignImNvZGUiIG11c3QgYmUgYW4gaW50ZWdlciBzdWNoIHRoYXQ6IDEwMDAgPD0gY29kZSA8PSA0OTk5Jyk7c3VwZXIodCxlLHIpfX19LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGUuZXJyb3JWYWx1ZXM9ZS5lcnJvckNvZGVzPXZvaWQgMCxlLmVycm9yQ29kZXM9e3JwYzp7aW52YWxpZElucHV0Oi0zMmUzLHJlc291cmNlTm90Rm91bmQ6LTMyMDAxLHJlc291cmNlVW5hdmFpbGFibGU6LTMyMDAyLHRyYW5zYWN0aW9uUmVqZWN0ZWQ6LTMyMDAzLG1ldGhvZE5vdFN1cHBvcnRlZDotMzIwMDQsbGltaXRFeGNlZWRlZDotMzIwMDUscGFyc2U6LTMyNzAwLGludmFsaWRSZXF1ZXN0Oi0zMjYwMCxtZXRob2ROb3RGb3VuZDotMzI2MDEsaW52YWxpZFBhcmFtczotMzI2MDIsaW50ZXJuYWw6LTMyNjAzfSxwcm92aWRlcjp7dXNlclJlamVjdGVkUmVxdWVzdDo0MDAxLHVuYXV0aG9yaXplZDo0MTAwLHVuc3VwcG9ydGVkTWV0aG9kOjQyMDAsZGlzY29ubmVjdGVkOjQ5MDAsY2hhaW5EaXNjb25uZWN0ZWQ6NDkwMX19LGUuZXJyb3JWYWx1ZXM9eyItMzI3MDAiOntzdGFuZGFyZDoiSlNPTiBSUEMgMi4wIixtZXNzYWdlOiJJbnZhbGlkIEpTT04gd2FzIHJlY2VpdmVkIGJ5IHRoZSBzZXJ2ZXIuIEFuIGVycm9yIG9jY3VycmVkIG9uIHRoZSBzZXJ2ZXIgd2hpbGUgcGFyc2luZyB0aGUgSlNPTiB0ZXh0LiJ9LCItMzI2MDAiOntzdGFuZGFyZDoiSlNPTiBSUEMgMi4wIixtZXNzYWdlOiJUaGUgSlNPTiBzZW50IGlzIG5vdCBhIHZhbGlkIFJlcXVlc3Qgb2JqZWN0LiJ9LCItMzI2MDEiOntzdGFuZGFyZDoiSlNPTiBSUEMgMi4wIixtZXNzYWdlOiJUaGUgbWV0aG9kIGRvZXMgbm90IGV4aXN0IC8gaXMgbm90IGF2YWlsYWJsZS4ifSwiLTMyNjAyIjp7c3RhbmRhcmQ6IkpTT04gUlBDIDIuMCIsbWVzc2FnZToiSW52YWxpZCBtZXRob2QgcGFyYW1ldGVyKHMpLiJ9LCItMzI2MDMiOntzdGFuZGFyZDoiSlNPTiBSUEMgMi4wIixtZXNzYWdlOiJJbnRlcm5hbCBKU09OLVJQQyBlcnJvci4ifSwiLTMyMDAwIjp7c3RhbmRhcmQ6IkVJUC0xNDc0IixtZXNzYWdlOiJJbnZhbGlkIGlucHV0LiJ9LCItMzIwMDEiOntzdGFuZGFyZDoiRUlQLTE0NzQiLG1lc3NhZ2U6IlJlc291cmNlIG5vdCBmb3VuZC4ifSwiLTMyMDAyIjp7c3RhbmRhcmQ6IkVJUC0xNDc0IixtZXNzYWdlOiJSZXNvdXJjZSB1bmF2YWlsYWJsZS4ifSwiLTMyMDAzIjp7c3RhbmRhcmQ6IkVJUC0xNDc0IixtZXNzYWdlOiJUcmFuc2FjdGlvbiByZWplY3RlZC4ifSwiLTMyMDA0Ijp7c3RhbmRhcmQ6IkVJUC0xNDc0IixtZXNzYWdlOiJNZXRob2Qgbm90IHN1cHBvcnRlZC4ifSwiLTMyMDA1Ijp7c3RhbmRhcmQ6IkVJUC0xNDc0IixtZXNzYWdlOiJSZXF1ZXN0IGxpbWl0IGV4Y2VlZGVkLiJ9LDQwMDE6e3N0YW5kYXJkOiJFSVAtMTE5MyIsbWVzc2FnZToiVXNlciByZWplY3RlZCB0aGUgcmVxdWVzdC4ifSw0MTAwOntzdGFuZGFyZDoiRUlQLTExOTMiLG1lc3NhZ2U6IlRoZSByZXF1ZXN0ZWQgYWNjb3VudCBhbmQvb3IgbWV0aG9kIGhhcyBub3QgYmVlbiBhdXRob3JpemVkIGJ5IHRoZSB1c2VyLiJ9LDQyMDA6e3N0YW5kYXJkOiJFSVAtMTE5MyIsbWVzc2FnZToiVGhlIHJlcXVlc3RlZCBtZXRob2QgaXMgbm90IHN1cHBvcnRlZCBieSB0aGlzIEV0aGVyZXVtIHByb3ZpZGVyLiJ9LDQ5MDA6e3N0YW5kYXJkOiJFSVAtMTE5MyIsbWVzc2FnZToiVGhlIHByb3ZpZGVyIGlzIGRpc2Nvbm5lY3RlZCBmcm9tIGFsbCBjaGFpbnMuIn0sNDkwMTp7c3RhbmRhcmQ6IkVJUC0xMTkzIixtZXNzYWdlOiJUaGUgcHJvdmlkZXIgaXMgZGlzY29ubmVjdGVkIGZyb20gdGhlIHNwZWNpZmllZCBjaGFpbi4ifX19LGZ1bmN0aW9uKHQsZSxyKXtjb25zdCBuPXIoNjkpLmRlZmF1bHQ7dC5leHBvcnRzPWNsYXNzIGV4dGVuZHMgbntjb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy51cGRhdGVzPVtdfWFzeW5jIGluaXRpYWxpemUoKXt9YXN5bmMgdXBkYXRlKCl7dGhyb3cgbmV3IEVycm9yKCJCYXNlRmlsdGVyIC0gbm8gdXBkYXRlIG1ldGhvZCBzcGVjaWZpZWQiKX1hZGRSZXN1bHRzKHQpe3RoaXMudXBkYXRlcz10aGlzLnVwZGF0ZXMuY29uY2F0KHQpLHQuZm9yRWFjaCh0PT50aGlzLmVtaXQoInVwZGF0ZSIsdCkpfWFkZEluaXRpYWxSZXN1bHRzKHQpe31nZXRDaGFuZ2VzQW5kQ2xlYXIoKXtjb25zdCB0PXRoaXMudXBkYXRlcztyZXR1cm4gdGhpcy51cGRhdGVzPVtdLHR9fX0sZnVuY3Rpb24odCxlKXtmdW5jdGlvbiByKHQpe3JldHVybiBudWxsPT10P3Q6TnVtYmVyLnBhcnNlSW50KHQsMTYpfWZ1bmN0aW9uIG4odCl7aWYobnVsbD09dClyZXR1cm4gdDtyZXR1cm4iMHgiK3QudG9TdHJpbmcoMTYpfXQuZXhwb3J0cz1hc3luYyBmdW5jdGlvbih7cHJvdmlkZXI6dCxmcm9tQmxvY2s6ZSx0b0Jsb2NrOml9KXtlfHwoZT1pKTtjb25zdCBvPXIoZSkscz1yKGkpLGE9QXJyYXkocy1vKzEpLmZpbGwoKS5tYXAoKHQsZSk9Pm8rZSkubWFwKG4pO3JldHVybiBhd2FpdCBQcm9taXNlLmFsbChhLm1hcChlPT5mdW5jdGlvbih0LGUscil7cmV0dXJuIG5ldyBQcm9taXNlKChuLGkpPT57dC5zZW5kQXN5bmMoe2lkOjEsanNvbnJwYzoiMi4wIixtZXRob2Q6ZSxwYXJhbXM6cn0sKHQsZSk9PntpZih0KXJldHVybiBpKHQpO24oZS5yZXN1bHQpfSl9KX0odCwiZXRoX2dldEJsb2NrQnlOdW1iZXIiLFtlLCExXSkpKX19LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7KGZ1bmN0aW9uKHQpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxlLmVjZGhVbnNhZmU9ZS5lY2RoPWUucmVjb3Zlcj1lLnZlcmlmeT1lLnNpZ249ZS5zaWduYXR1cmVJbXBvcnRMYXg9ZS5zaWduYXR1cmVJbXBvcnQ9ZS5zaWduYXR1cmVFeHBvcnQ9ZS5zaWduYXR1cmVOb3JtYWxpemU9ZS5wdWJsaWNLZXlDb21iaW5lPWUucHVibGljS2V5VHdlYWtNdWw9ZS5wdWJsaWNLZXlUd2Vha0FkZD1lLnB1YmxpY0tleVZlcmlmeT1lLnB1YmxpY0tleUNvbnZlcnQ9ZS5wdWJsaWNLZXlDcmVhdGU9ZS5wcml2YXRlS2V5VHdlYWtNdWw9ZS5wcml2YXRlS2V5VHdlYWtBZGQ9ZS5wcml2YXRlS2V5TW9kSW52ZXJzZT1lLnByaXZhdGVLZXlOZWdhdGU9ZS5wcml2YXRlS2V5SW1wb3J0PWUucHJpdmF0ZUtleUV4cG9ydD1lLnByaXZhdGVLZXlWZXJpZnk9dm9pZCAwO3ZhciBuPXIoMTE4KSxpPXIoMzYxKSxvPXIoMzYyKTtlLnByaXZhdGVLZXlWZXJpZnk9ZnVuY3Rpb24odCl7cmV0dXJuIDMyPT09dC5sZW5ndGgmJm4ucHJpdmF0ZUtleVZlcmlmeShVaW50OEFycmF5LmZyb20odCkpfSxlLnByaXZhdGVLZXlFeHBvcnQ9ZnVuY3Rpb24odCxlKXtpZigzMiE9PXQubGVuZ3RoKXRocm93IG5ldyBSYW5nZUVycm9yKCJwcml2YXRlIGtleSBsZW5ndGggaXMgaW52YWxpZCIpO3ZhciByPWkucHJpdmF0ZUtleUV4cG9ydCh0LGUpO3JldHVybiBvLnByaXZhdGVLZXlFeHBvcnQodCxyLGUpfSxlLnByaXZhdGVLZXlJbXBvcnQ9ZnVuY3Rpb24odCl7aWYobnVsbCE9PSh0PW8ucHJpdmF0ZUtleUltcG9ydCh0KSkmJjMyPT09dC5sZW5ndGgmJmUucHJpdmF0ZUtleVZlcmlmeSh0KSlyZXR1cm4gdDt0aHJvdyBuZXcgRXJyb3IoImNvdWxkbid0IGltcG9ydCBmcm9tIERFUiBmb3JtYXQiKX0sZS5wcml2YXRlS2V5TmVnYXRlPWZ1bmN0aW9uKGUpe3JldHVybiB0LmZyb20obi5wcml2YXRlS2V5TmVnYXRlKFVpbnQ4QXJyYXkuZnJvbShlKSkpfSxlLnByaXZhdGVLZXlNb2RJbnZlcnNlPWZ1bmN0aW9uKGUpe2lmKDMyIT09ZS5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJwcml2YXRlIGtleSBsZW5ndGggaXMgaW52YWxpZCIpO3JldHVybiB0LmZyb20oaS5wcml2YXRlS2V5TW9kSW52ZXJzZShVaW50OEFycmF5LmZyb20oZSkpKX0sZS5wcml2YXRlS2V5VHdlYWtBZGQ9ZnVuY3Rpb24oZSxyKXtyZXR1cm4gdC5mcm9tKG4ucHJpdmF0ZUtleVR3ZWFrQWRkKFVpbnQ4QXJyYXkuZnJvbShlKSxyKSl9LGUucHJpdmF0ZUtleVR3ZWFrTXVsPWZ1bmN0aW9uKGUscil7cmV0dXJuIHQuZnJvbShuLnByaXZhdGVLZXlUd2Vha011bChVaW50OEFycmF5LmZyb20oZSksVWludDhBcnJheS5mcm9tKHIpKSl9LGUucHVibGljS2V5Q3JlYXRlPWZ1bmN0aW9uKGUscil7cmV0dXJuIHQuZnJvbShuLnB1YmxpY0tleUNyZWF0ZShVaW50OEFycmF5LmZyb20oZSkscikpfSxlLnB1YmxpY0tleUNvbnZlcnQ9ZnVuY3Rpb24oZSxyKXtyZXR1cm4gdC5mcm9tKG4ucHVibGljS2V5Q29udmVydChVaW50OEFycmF5LmZyb20oZSkscikpfSxlLnB1YmxpY0tleVZlcmlmeT1mdW5jdGlvbih0KXtyZXR1cm4oMzM9PT10Lmxlbmd0aHx8NjU9PT10Lmxlbmd0aCkmJm4ucHVibGljS2V5VmVyaWZ5KFVpbnQ4QXJyYXkuZnJvbSh0KSl9LGUucHVibGljS2V5VHdlYWtBZGQ9ZnVuY3Rpb24oZSxyLGkpe3JldHVybiB0LmZyb20obi5wdWJsaWNLZXlUd2Vha0FkZChVaW50OEFycmF5LmZyb20oZSksVWludDhBcnJheS5mcm9tKHIpLGkpKX0sZS5wdWJsaWNLZXlUd2Vha011bD1mdW5jdGlvbihlLHIsaSl7cmV0dXJuIHQuZnJvbShuLnB1YmxpY0tleVR3ZWFrTXVsKFVpbnQ4QXJyYXkuZnJvbShlKSxVaW50OEFycmF5LmZyb20ociksaSkpfSxlLnB1YmxpY0tleUNvbWJpbmU9ZnVuY3Rpb24oZSxyKXt2YXIgaT1bXTtyZXR1cm4gZS5mb3JFYWNoKChmdW5jdGlvbih0KXtpLnB1c2goVWludDhBcnJheS5mcm9tKHQpKX0pKSx0LmZyb20obi5wdWJsaWNLZXlDb21iaW5lKGkscikpfSxlLnNpZ25hdHVyZU5vcm1hbGl6ZT1mdW5jdGlvbihlKXtyZXR1cm4gdC5mcm9tKG4uc2lnbmF0dXJlTm9ybWFsaXplKFVpbnQ4QXJyYXkuZnJvbShlKSkpfSxlLnNpZ25hdHVyZUV4cG9ydD1mdW5jdGlvbihlKXtyZXR1cm4gdC5mcm9tKG4uc2lnbmF0dXJlRXhwb3J0KFVpbnQ4QXJyYXkuZnJvbShlKSkpfSxlLnNpZ25hdHVyZUltcG9ydD1mdW5jdGlvbihlKXtyZXR1cm4gdC5mcm9tKG4uc2lnbmF0dXJlSW1wb3J0KFVpbnQ4QXJyYXkuZnJvbShlKSkpfSxlLnNpZ25hdHVyZUltcG9ydExheD1mdW5jdGlvbih0KXtpZigwPT09dC5sZW5ndGgpdGhyb3cgbmV3IFJhbmdlRXJyb3IoInNpZ25hdHVyZSBsZW5ndGggaXMgaW52YWxpZCIpO3ZhciBlPW8uc2lnbmF0dXJlSW1wb3J0TGF4KHQpO2lmKG51bGw9PT1lKXRocm93IG5ldyBFcnJvcigiY291bGRuJ3QgcGFyc2UgREVSIHNpZ25hdHVyZSIpO3JldHVybiBpLnNpZ25hdHVyZUltcG9ydChlKX0sZS5zaWduPWZ1bmN0aW9uKGUscixpKXtpZihudWxsPT09aSl0aHJvdyBuZXcgVHlwZUVycm9yKCJvcHRpb25zIHNob3VsZCBiZSBhbiBPYmplY3QiKTt2YXIgbz12b2lkIDA7aWYoaSl7aWYobz17fSxudWxsPT09aS5kYXRhKXRocm93IG5ldyBUeXBlRXJyb3IoIm9wdGlvbnMuZGF0YSBzaG91bGQgYmUgYSBCdWZmZXIiKTtpZihpLmRhdGEpe2lmKDMyIT1pLmRhdGEubGVuZ3RoKXRocm93IG5ldyBSYW5nZUVycm9yKCJvcHRpb25zLmRhdGEgbGVuZ3RoIGlzIGludmFsaWQiKTtvLmRhdGE9bmV3IFVpbnQ4QXJyYXkoaS5kYXRhKX1pZihudWxsPT09aS5ub25jZWZuKXRocm93IG5ldyBUeXBlRXJyb3IoIm9wdGlvbnMubm9uY2VmbiBzaG91bGQgYmUgYSBGdW5jdGlvbiIpO2kubm9uY2VmbiYmKG8ubm9uY2Vmbj1mdW5jdGlvbihlLHIsbixvLHMpe3ZhciBhPW51bGwhPW4/dC5mcm9tKG4pOm51bGwsdT1udWxsIT1vP3QuZnJvbShvKTpudWxsLGM9dC5mcm9tKCIiKTtyZXR1cm4gaS5ub25jZWZuJiYoYz1pLm5vbmNlZm4odC5mcm9tKGUpLHQuZnJvbShyKSxhLHUscykpLG5ldyBVaW50OEFycmF5KGMpfSl9dmFyIHM9bi5lY2RzYVNpZ24oVWludDhBcnJheS5mcm9tKGUpLFVpbnQ4QXJyYXkuZnJvbShyKSxvKTtyZXR1cm57c2lnbmF0dXJlOnQuZnJvbShzLnNpZ25hdHVyZSkscmVjb3Zlcnk6cy5yZWNpZH19LGUudmVyaWZ5PWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gbi5lY2RzYVZlcmlmeShVaW50OEFycmF5LmZyb20oZSksVWludDhBcnJheS5mcm9tKHQpLHIpfSxlLnJlY292ZXI9ZnVuY3Rpb24oZSxyLGksbyl7cmV0dXJuIHQuZnJvbShuLmVjZHNhUmVjb3ZlcihVaW50OEFycmF5LmZyb20ociksaSxVaW50OEFycmF5LmZyb20oZSksbykpfSxlLmVjZGg9ZnVuY3Rpb24oZSxyKXtyZXR1cm4gdC5mcm9tKG4uZWNkaChVaW50OEFycmF5LmZyb20oZSksVWludDhBcnJheS5mcm9tKHIpLHt9KSl9LGUuZWNkaFVuc2FmZT1mdW5jdGlvbihlLHIsbil7aWYoMzMhPT1lLmxlbmd0aCYmNjUhPT1lLmxlbmd0aCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigicHVibGljIGtleSBsZW5ndGggaXMgaW52YWxpZCIpO2lmKDMyIT09ci5sZW5ndGgpdGhyb3cgbmV3IFJhbmdlRXJyb3IoInByaXZhdGUga2V5IGxlbmd0aCBpcyBpbnZhbGlkIik7cmV0dXJuIHQuZnJvbShpLmVjZGhVbnNhZmUoVWludDhBcnJheS5mcm9tKGUpLFVpbnQ4QXJyYXkuZnJvbShyKSxuKSl9fSkuY2FsbCh0aGlzLHIoMikuQnVmZmVyKX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjsoZnVuY3Rpb24odCl7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGUucmxwaGFzaD1lLnJpcGVtZDE2MD1lLnNoYTI1Nj1lLmtlY2NhazI1Nj1lLmtlY2Nhaz12b2lkIDA7dmFyIG49cigxMTApLGk9bi5rZWNjYWsyMjQsbz1uLmtlY2NhazM4NCxzPW4ua2VjY2FrMjU2LGE9bi5rZWNjYWs1MTIsdT1yKDEyNiksYz1yKDMyKSxmPXIoNDYpLGg9cig0MCk7ZS5rZWNjYWs9ZnVuY3Rpb24oZSxyKXtzd2l0Y2godm9pZCAwPT09ciYmKHI9MjU2KSxlPSJzdHJpbmciIT10eXBlb2YgZXx8Yy5pc0hleFN0cmluZyhlKT9oLnRvQnVmZmVyKGUpOnQuZnJvbShlLCJ1dGY4Iikscnx8KHI9MjU2KSxyKXtjYXNlIDIyNDpyZXR1cm4gaShlKTtjYXNlIDI1NjpyZXR1cm4gcyhlKTtjYXNlIDM4NDpyZXR1cm4gbyhlKTtjYXNlIDUxMjpyZXR1cm4gYShlKTtkZWZhdWx0OnRocm93IG5ldyBFcnJvcigiSW52YWxkIGFsZ29yaXRobToga2VjY2FrIityKX19LGUua2VjY2FrMjU2PWZ1bmN0aW9uKHQpe3JldHVybiBlLmtlY2Nhayh0KX0sZS5zaGEyNTY9ZnVuY3Rpb24odCl7cmV0dXJuIHQ9aC50b0J1ZmZlcih0KSx1KCJzaGEyNTYiKS51cGRhdGUodCkuZGlnZXN0KCl9LGUucmlwZW1kMTYwPWZ1bmN0aW9uKHQsZSl7dD1oLnRvQnVmZmVyKHQpO3ZhciByPXUoInJtZDE2MCIpLnVwZGF0ZSh0KS5kaWdlc3QoKTtyZXR1cm4hMD09PWU/aC5zZXRMZW5ndGgociwzMik6cn0sZS5ybHBoYXNoPWZ1bmN0aW9uKHQpe3JldHVybiBlLmtlY2NhayhmLmVuY29kZSh0KSl9fSkuY2FsbCh0aGlzLHIoMikuQnVmZmVyKX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLnIoZSk7dmFyIG49cigxNTcpLGk9cigxMCksbz1yKDE1OCk7ZnVuY3Rpb24gcyh0KXtyZXR1cm4gT2JqZWN0KG8uYSkodCl9ZnVuY3Rpb24gYSgpe2NvbnN0IHQ9cygpO3JldHVybiB0JiZ0Lm9zP3Qub3M6dm9pZCAwfWZ1bmN0aW9uIHUoKXtjb25zdCB0PWEoKTtyZXR1cm4hIXQmJnQudG9Mb3dlckNhc2UoKS5pbmNsdWRlcygiYW5kcm9pZCIpfWZ1bmN0aW9uIGMoKXtjb25zdCB0PWEoKTtyZXR1cm4hIXQmJih0LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoImlvcyIpfHx0LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoIm1hYyIpJiZuYXZpZ2F0b3IubWF4VG91Y2hQb2ludHM+MSl9ZnVuY3Rpb24gZigpe3JldHVybiEhYSgpJiYodSgpfHxjKCkpfWZ1bmN0aW9uIGgoKXtjb25zdCB0PXMoKTtyZXR1cm4hKCF0fHwhdC5uYW1lKSYmIm5vZGUiPT09dC5uYW1lLnRvTG93ZXJDYXNlKCl9ZnVuY3Rpb24gbCgpe3JldHVybiFoKCkmJiEheSgpfWNvbnN0IGQ9aS5nZXRGcm9tV2luZG93LHA9aS5nZXRGcm9tV2luZG93T3JUaHJvdyxtPWkuZ2V0RG9jdW1lbnRPclRocm93LGc9aS5nZXREb2N1bWVudCxiPWkuZ2V0TmF2aWdhdG9yT3JUaHJvdyx5PWkuZ2V0TmF2aWdhdG9yLHY9aS5nZXRMb2NhdGlvbk9yVGhyb3csXz1pLmdldExvY2F0aW9uLHc9aS5nZXRDcnlwdG9PclRocm93LE09aS5nZXRDcnlwdG8sUz1pLmdldExvY2FsU3RvcmFnZU9yVGhyb3csRT1pLmdldExvY2FsU3RvcmFnZTtmdW5jdGlvbiB4KCl7cmV0dXJuIG4uZ2V0V2luZG93TWV0YWRhdGEoKX1jb25zdCBrPWZ1bmN0aW9uKHQpe2lmKCJzdHJpbmciIT10eXBlb2YgdCl0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBzYWZlIGpzb24gcGFyc2UgdmFsdWUgb2YgdHlwZSAiK3R5cGVvZiB0KTt0cnl7cmV0dXJuIEpTT04ucGFyc2UodCl9Y2F0Y2goZSl7cmV0dXJuIHR9fSxBPWZ1bmN0aW9uKHQpe3JldHVybiJzdHJpbmciPT10eXBlb2YgdD90OkpTT04uc3RyaW5naWZ5KHQpfTtmdW5jdGlvbiBSKHQsZSl7Y29uc3Qgcj1BKGUpLG49RSgpO24mJm4uc2V0SXRlbSh0LHIpfWZ1bmN0aW9uIFQodCl7bGV0IGU9bnVsbCxyPW51bGw7Y29uc3Qgbj1FKCk7cmV0dXJuIG4mJihyPW4uZ2V0SXRlbSh0KSksZT1yP2socik6cixlfWZ1bmN0aW9uIE8odCl7Y29uc3QgZT1FKCk7ZSYmZS5yZW1vdmVJdGVtKHQpfWZ1bmN0aW9uIEModCxlKXtjb25zdCByPWVuY29kZVVSSUNvbXBvbmVudCh0KTtyZXR1cm4gZS51bml2ZXJzYWxMaW5rP2Ake2UudW5pdmVyc2FsTGlua30vd2M/dXJpPSR7cn1gOmUuZGVlcExpbms/YCR7ZS5kZWVwTGlua30ke2UuZGVlcExpbmsuZW5kc1dpdGgoIjoiKT8iLy8iOiIvIn13Yz91cmk9JHtyfWA6IiJ9ZnVuY3Rpb24gUCh0KXtjb25zdCBlPXQuaHJlZi5zcGxpdCgiPyIpWzBdO1IoIldBTExFVENPTk5FQ1RfREVFUExJTktfQ0hPSUNFIixPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sdCkse2hyZWY6ZX0pKX1mdW5jdGlvbiBJKHQsZSl7cmV0dXJuIHQuZmlsdGVyKHQ9PnQubmFtZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGUudG9Mb3dlckNhc2UoKSkpWzBdfWZ1bmN0aW9uIEIodCxlKXtsZXQgcj10O3JldHVybiBlJiYocj1lLm1hcChlPT5JKHQsZSkpLmZpbHRlcihCb29sZWFuKSkscn1jb25zdCBMPSJodHRwczovL3JlZ2lzdHJ5LndhbGxldGNvbm5lY3QuY29tIjtmdW5jdGlvbiBqKCl7cmV0dXJuIEwrIi9hcGkvdjIvd2FsbGV0cyJ9ZnVuY3Rpb24gTigpe3JldHVybiBMKyIvYXBpL3YyL2RhcHBzIn1mdW5jdGlvbiBxKHQsZT0ibW9iaWxlIil7dmFyIHI7cmV0dXJue25hbWU6dC5uYW1lfHwiIixzaG9ydE5hbWU6dC5tZXRhZGF0YS5zaG9ydE5hbWV8fCIiLGNvbG9yOnQubWV0YWRhdGEuY29sb3JzLnByaW1hcnl8fCIiLGxvZ286bnVsbCE9PShyPXQuaW1hZ2VfdXJsLnNtKSYmdm9pZCAwIT09cj9yOiIiLHVuaXZlcnNhbExpbms6dFtlXS51bml2ZXJzYWx8fCIiLGRlZXBMaW5rOnRbZV0ubmF0aXZlfHwiIn19ZnVuY3Rpb24gVSh0LGU9Im1vYmlsZSIpe3JldHVybiBPYmplY3QudmFsdWVzKHQpLmZpbHRlcih0PT4hIXRbZV0udW5pdmVyc2FsfHwhIXRbZV0ubmF0aXZlKS5tYXAodD0+cSh0LGUpKX1yLmQoZSwiZGV0ZWN0RW52IiwoZnVuY3Rpb24oKXtyZXR1cm4gc30pKSxyLmQoZSwiZGV0ZWN0T1MiLChmdW5jdGlvbigpe3JldHVybiBhfSkpLHIuZChlLCJpc0FuZHJvaWQiLChmdW5jdGlvbigpe3JldHVybiB1fSkpLHIuZChlLCJpc0lPUyIsKGZ1bmN0aW9uKCl7cmV0dXJuIGN9KSksci5kKGUsImlzTW9iaWxlIiwoZnVuY3Rpb24oKXtyZXR1cm4gZn0pKSxyLmQoZSwiaXNOb2RlIiwoZnVuY3Rpb24oKXtyZXR1cm4gaH0pKSxyLmQoZSwiaXNCcm93c2VyIiwoZnVuY3Rpb24oKXtyZXR1cm4gbH0pKSxyLmQoZSwiZ2V0RnJvbVdpbmRvdyIsKGZ1bmN0aW9uKCl7cmV0dXJuIGR9KSksci5kKGUsImdldEZyb21XaW5kb3dPclRocm93IiwoZnVuY3Rpb24oKXtyZXR1cm4gcH0pKSxyLmQoZSwiZ2V0RG9jdW1lbnRPclRocm93IiwoZnVuY3Rpb24oKXtyZXR1cm4gbX0pKSxyLmQoZSwiZ2V0RG9jdW1lbnQiLChmdW5jdGlvbigpe3JldHVybiBnfSkpLHIuZChlLCJnZXROYXZpZ2F0b3JPclRocm93IiwoZnVuY3Rpb24oKXtyZXR1cm4gYn0pKSxyLmQoZSwiZ2V0TmF2aWdhdG9yIiwoZnVuY3Rpb24oKXtyZXR1cm4geX0pKSxyLmQoZSwiZ2V0TG9jYXRpb25PclRocm93IiwoZnVuY3Rpb24oKXtyZXR1cm4gdn0pKSxyLmQoZSwiZ2V0TG9jYXRpb24iLChmdW5jdGlvbigpe3JldHVybiBffSkpLHIuZChlLCJnZXRDcnlwdG9PclRocm93IiwoZnVuY3Rpb24oKXtyZXR1cm4gd30pKSxyLmQoZSwiZ2V0Q3J5cHRvIiwoZnVuY3Rpb24oKXtyZXR1cm4gTX0pKSxyLmQoZSwiZ2V0TG9jYWxTdG9yYWdlT3JUaHJvdyIsKGZ1bmN0aW9uKCl7cmV0dXJuIFN9KSksci5kKGUsImdldExvY2FsU3RvcmFnZSIsKGZ1bmN0aW9uKCl7cmV0dXJuIEV9KSksci5kKGUsImdldENsaWVudE1ldGEiLChmdW5jdGlvbigpe3JldHVybiB4fSkpLHIuZChlLCJzYWZlSnNvblBhcnNlIiwoZnVuY3Rpb24oKXtyZXR1cm4ga30pKSxyLmQoZSwic2FmZUpzb25TdHJpbmdpZnkiLChmdW5jdGlvbigpe3JldHVybiBBfSkpLHIuZChlLCJzZXRMb2NhbCIsKGZ1bmN0aW9uKCl7cmV0dXJuIFJ9KSksci5kKGUsImdldExvY2FsIiwoZnVuY3Rpb24oKXtyZXR1cm4gVH0pKSxyLmQoZSwicmVtb3ZlTG9jYWwiLChmdW5jdGlvbigpe3JldHVybiBPfSkpLHIuZChlLCJtb2JpbGVMaW5rQ2hvaWNlS2V5IiwoZnVuY3Rpb24oKXtyZXR1cm4iV0FMTEVUQ09OTkVDVF9ERUVQTElOS19DSE9JQ0UifSkpLHIuZChlLCJmb3JtYXRJT1NNb2JpbGUiLChmdW5jdGlvbigpe3JldHVybiBDfSkpLHIuZChlLCJzYXZlTW9iaWxlTGlua0luZm8iLChmdW5jdGlvbigpe3JldHVybiBQfSkpLHIuZChlLCJnZXRNb2JpbGVSZWdpc3RyeUVudHJ5IiwoZnVuY3Rpb24oKXtyZXR1cm4gSX0pKSxyLmQoZSwiZ2V0TW9iaWxlTGlua1JlZ2lzdHJ5IiwoZnVuY3Rpb24oKXtyZXR1cm4gQn0pKSxyLmQoZSwiZ2V0V2FsbGV0UmVnaXN0cnlVcmwiLChmdW5jdGlvbigpe3JldHVybiBqfSkpLHIuZChlLCJnZXREYXBwUmVnaXN0cnlVcmwiLChmdW5jdGlvbigpe3JldHVybiBOfSkpLHIuZChlLCJmb3JtYXRNb2JpbGVSZWdpc3RyeUVudHJ5IiwoZnVuY3Rpb24oKXtyZXR1cm4gcX0pKSxyLmQoZSwiZm9ybWF0TW9iaWxlUmVnaXN0cnkiLChmdW5jdGlvbigpe3JldHVybiBVfSkpfSxmdW5jdGlvbih0LGUpe3QuZXhwb3J0cz1pLGkuc3RyaWN0PW8saS5sb29zZT1zO3ZhciByPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcsbj17IltvYmplY3QgSW50OEFycmF5XSI6ITAsIltvYmplY3QgSW50MTZBcnJheV0iOiEwLCJbb2JqZWN0IEludDMyQXJyYXldIjohMCwiW29iamVjdCBVaW50OEFycmF5XSI6ITAsIltvYmplY3QgVWludDhDbGFtcGVkQXJyYXldIjohMCwiW29iamVjdCBVaW50MTZBcnJheV0iOiEwLCJbb2JqZWN0IFVpbnQzMkFycmF5XSI6ITAsIltvYmplY3QgRmxvYXQzMkFycmF5XSI6ITAsIltvYmplY3QgRmxvYXQ2NEFycmF5XSI6ITB9O2Z1bmN0aW9uIGkodCl7cmV0dXJuIG8odCl8fHModCl9ZnVuY3Rpb24gbyh0KXtyZXR1cm4gdCBpbnN0YW5jZW9mIEludDhBcnJheXx8dCBpbnN0YW5jZW9mIEludDE2QXJyYXl8fHQgaW5zdGFuY2VvZiBJbnQzMkFycmF5fHx0IGluc3RhbmNlb2YgVWludDhBcnJheXx8dCBpbnN0YW5jZW9mIFVpbnQ4Q2xhbXBlZEFycmF5fHx0IGluc3RhbmNlb2YgVWludDE2QXJyYXl8fHQgaW5zdGFuY2VvZiBVaW50MzJBcnJheXx8dCBpbnN0YW5jZW9mIEZsb2F0MzJBcnJheXx8dCBpbnN0YW5jZW9mIEZsb2F0NjRBcnJheX1mdW5jdGlvbiBzKHQpe3JldHVybiBuW3IuY2FsbCh0KV19fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2NvbnN0IG49cigxNzQpLGk9cigxNzUpLG89cigxNzYpO2Z1bmN0aW9uIHModCl7aWYoInN0cmluZyIhPXR5cGVvZiB0fHwxIT09dC5sZW5ndGgpdGhyb3cgbmV3IFR5cGVFcnJvcigiYXJyYXlGb3JtYXRTZXBhcmF0b3IgbXVzdCBiZSBzaW5nbGUgY2hhcmFjdGVyIHN0cmluZyIpfWZ1bmN0aW9uIGEodCxlKXtyZXR1cm4gZS5lbmNvZGU/ZS5zdHJpY3Q/bih0KTplbmNvZGVVUklDb21wb25lbnQodCk6dH1mdW5jdGlvbiB1KHQsZSl7cmV0dXJuIGUuZGVjb2RlP2kodCk6dH1mdW5jdGlvbiBjKHQpe2NvbnN0IGU9dC5pbmRleE9mKCIjIik7cmV0dXJuLTEhPT1lJiYodD10LnNsaWNlKDAsZSkpLHR9ZnVuY3Rpb24gZih0KXtjb25zdCBlPSh0PWModCkpLmluZGV4T2YoIj8iKTtyZXR1cm4tMT09PWU/IiI6dC5zbGljZShlKzEpfWZ1bmN0aW9uIGgodCxlKXtyZXR1cm4gZS5wYXJzZU51bWJlcnMmJiFOdW1iZXIuaXNOYU4oTnVtYmVyKHQpKSYmInN0cmluZyI9PXR5cGVvZiB0JiYiIiE9PXQudHJpbSgpP3Q9TnVtYmVyKHQpOiFlLnBhcnNlQm9vbGVhbnN8fG51bGw9PT10fHwidHJ1ZSIhPT10LnRvTG93ZXJDYXNlKCkmJiJmYWxzZSIhPT10LnRvTG93ZXJDYXNlKCl8fCh0PSJ0cnVlIj09PXQudG9Mb3dlckNhc2UoKSksdH1mdW5jdGlvbiBsKHQsZSl7cygoZT1PYmplY3QuYXNzaWduKHtkZWNvZGU6ITAsc29ydDohMCxhcnJheUZvcm1hdDoibm9uZSIsYXJyYXlGb3JtYXRTZXBhcmF0b3I6IiwiLHBhcnNlTnVtYmVyczohMSxwYXJzZUJvb2xlYW5zOiExfSxlKSkuYXJyYXlGb3JtYXRTZXBhcmF0b3IpO2NvbnN0IHI9ZnVuY3Rpb24odCl7bGV0IGU7c3dpdGNoKHQuYXJyYXlGb3JtYXQpe2Nhc2UiaW5kZXgiOnJldHVybih0LHIsbik9PntlPS9cWyhcZCopXF0kLy5leGVjKHQpLHQ9dC5yZXBsYWNlKC9cW1xkKlxdJC8sIiIpLGU/KHZvaWQgMD09PW5bdF0mJihuW3RdPXt9KSxuW3RdW2VbMV1dPXIpOm5bdF09cn07Y2FzZSJicmFja2V0IjpyZXR1cm4odCxyLG4pPT57ZT0vKFxbXF0pJC8uZXhlYyh0KSx0PXQucmVwbGFjZSgvXFtcXSQvLCIiKSxlP3ZvaWQgMCE9PW5bdF0/blt0XT1bXS5jb25jYXQoblt0XSxyKTpuW3RdPVtyXTpuW3RdPXJ9O2Nhc2UiY29tbWEiOmNhc2Uic2VwYXJhdG9yIjpyZXR1cm4oZSxyLG4pPT57Y29uc3QgaT0ic3RyaW5nIj09dHlwZW9mIHImJnIuc3BsaXQoIiIpLmluZGV4T2YodC5hcnJheUZvcm1hdFNlcGFyYXRvcik+LTE/ci5zcGxpdCh0LmFycmF5Rm9ybWF0U2VwYXJhdG9yKS5tYXAoZT0+dShlLHQpKTpudWxsPT09cj9yOnUocix0KTtuW2VdPWl9O2RlZmF1bHQ6cmV0dXJuKHQsZSxyKT0+e3ZvaWQgMCE9PXJbdF0/clt0XT1bXS5jb25jYXQoclt0XSxlKTpyW3RdPWV9fX0oZSksbj1PYmplY3QuY3JlYXRlKG51bGwpO2lmKCJzdHJpbmciIT10eXBlb2YgdClyZXR1cm4gbjtpZighKHQ9dC50cmltKCkucmVwbGFjZSgvXls/IyZdLywiIikpKXJldHVybiBuO2Zvcihjb25zdCBpIG9mIHQuc3BsaXQoIiYiKSl7bGV0W3Qsc109byhlLmRlY29kZT9pLnJlcGxhY2UoL1wrL2csIiAiKTppLCI9Iik7cz12b2lkIDA9PT1zP251bGw6WyJjb21tYSIsInNlcGFyYXRvciJdLmluY2x1ZGVzKGUuYXJyYXlGb3JtYXQpP3M6dShzLGUpLHIodSh0LGUpLHMsbil9Zm9yKGNvbnN0IHQgb2YgT2JqZWN0LmtleXMobikpe2NvbnN0IHI9blt0XTtpZigib2JqZWN0Ij09dHlwZW9mIHImJm51bGwhPT1yKWZvcihjb25zdCB0IG9mIE9iamVjdC5rZXlzKHIpKXJbdF09aChyW3RdLGUpO2Vsc2Ugblt0XT1oKHIsZSl9cmV0dXJuITE9PT1lLnNvcnQ/bjooITA9PT1lLnNvcnQ/T2JqZWN0LmtleXMobikuc29ydCgpOk9iamVjdC5rZXlzKG4pLnNvcnQoZS5zb3J0KSkucmVkdWNlKCh0LGUpPT57Y29uc3Qgcj1uW2VdO3JldHVybiBCb29sZWFuKHIpJiYib2JqZWN0Ij09dHlwZW9mIHImJiFBcnJheS5pc0FycmF5KHIpP3RbZV09ZnVuY3Rpb24gdChlKXtyZXR1cm4gQXJyYXkuaXNBcnJheShlKT9lLnNvcnQoKToib2JqZWN0Ij09dHlwZW9mIGU/dChPYmplY3Qua2V5cyhlKSkuc29ydCgodCxlKT0+TnVtYmVyKHQpLU51bWJlcihlKSkubWFwKHQ9PmVbdF0pOmV9KHIpOnRbZV09cix0fSxPYmplY3QuY3JlYXRlKG51bGwpKX1lLmV4dHJhY3Q9ZixlLnBhcnNlPWwsZS5zdHJpbmdpZnk9KHQsZSk9PntpZighdClyZXR1cm4iIjtzKChlPU9iamVjdC5hc3NpZ24oe2VuY29kZTohMCxzdHJpY3Q6ITAsYXJyYXlGb3JtYXQ6Im5vbmUiLGFycmF5Rm9ybWF0U2VwYXJhdG9yOiIsIn0sZSkpLmFycmF5Rm9ybWF0U2VwYXJhdG9yKTtjb25zdCByPXI9PmUuc2tpcE51bGwmJm51bGw9PXRbcl18fGUuc2tpcEVtcHR5U3RyaW5nJiYiIj09PXRbcl0sbj1mdW5jdGlvbih0KXtzd2l0Y2godC5hcnJheUZvcm1hdCl7Y2FzZSJpbmRleCI6cmV0dXJuIGU9PihyLG4pPT57Y29uc3QgaT1yLmxlbmd0aDtyZXR1cm4gdm9pZCAwPT09bnx8dC5za2lwTnVsbCYmbnVsbD09PW58fHQuc2tpcEVtcHR5U3RyaW5nJiYiIj09PW4/cjpudWxsPT09bj9bLi4ucixbYShlLHQpLCJbIixpLCJdIl0uam9pbigiIildOlsuLi5yLFthKGUsdCksIlsiLGEoaSx0KSwiXT0iLGEobix0KV0uam9pbigiIildfTtjYXNlImJyYWNrZXQiOnJldHVybiBlPT4ocixuKT0+dm9pZCAwPT09bnx8dC5za2lwTnVsbCYmbnVsbD09PW58fHQuc2tpcEVtcHR5U3RyaW5nJiYiIj09PW4/cjpudWxsPT09bj9bLi4ucixbYShlLHQpLCJbXSJdLmpvaW4oIiIpXTpbLi4ucixbYShlLHQpLCJbXT0iLGEobix0KV0uam9pbigiIildO2Nhc2UiY29tbWEiOmNhc2Uic2VwYXJhdG9yIjpyZXR1cm4gZT0+KHIsbik9Pm51bGw9PW58fDA9PT1uLmxlbmd0aD9yOjA9PT1yLmxlbmd0aD9bW2EoZSx0KSwiPSIsYShuLHQpXS5qb2luKCIiKV06W1tyLGEobix0KV0uam9pbih0LmFycmF5Rm9ybWF0U2VwYXJhdG9yKV07ZGVmYXVsdDpyZXR1cm4gZT0+KHIsbik9PnZvaWQgMD09PW58fHQuc2tpcE51bGwmJm51bGw9PT1ufHx0LnNraXBFbXB0eVN0cmluZyYmIiI9PT1uP3I6bnVsbD09PW4/Wy4uLnIsYShlLHQpXTpbLi4ucixbYShlLHQpLCI9IixhKG4sdCldLmpvaW4oIiIpXX19KGUpLGk9e307Zm9yKGNvbnN0IGUgb2YgT2JqZWN0LmtleXModCkpcihlKXx8KGlbZV09dFtlXSk7Y29uc3Qgbz1PYmplY3Qua2V5cyhpKTtyZXR1cm4hMSE9PWUuc29ydCYmby5zb3J0KGUuc29ydCksby5tYXAocj0+e2NvbnN0IGk9dFtyXTtyZXR1cm4gdm9pZCAwPT09aT8iIjpudWxsPT09aT9hKHIsZSk6QXJyYXkuaXNBcnJheShpKT9pLnJlZHVjZShuKHIpLFtdKS5qb2luKCImIik6YShyLGUpKyI9IithKGksZSl9KS5maWx0ZXIodD0+dC5sZW5ndGg+MCkuam9pbigiJiIpfSxlLnBhcnNlVXJsPSh0LGUpPT57ZT1PYmplY3QuYXNzaWduKHtkZWNvZGU6ITB9LGUpO2NvbnN0W3Isbl09byh0LCIjIik7cmV0dXJuIE9iamVjdC5hc3NpZ24oe3VybDpyLnNwbGl0KCI/IilbMF18fCIiLHF1ZXJ5OmwoZih0KSxlKX0sZSYmZS5wYXJzZUZyYWdtZW50SWRlbnRpZmllciYmbj97ZnJhZ21lbnRJZGVudGlmaWVyOnUobixlKX06e30pfSxlLnN0cmluZ2lmeVVybD0odCxyKT0+e3I9T2JqZWN0LmFzc2lnbih7ZW5jb2RlOiEwLHN0cmljdDohMH0scik7Y29uc3Qgbj1jKHQudXJsKS5zcGxpdCgiPyIpWzBdfHwiIixpPWUuZXh0cmFjdCh0LnVybCksbz1lLnBhcnNlKGkse3NvcnQ6ITF9KSxzPU9iamVjdC5hc3NpZ24obyx0LnF1ZXJ5KTtsZXQgdT1lLnN0cmluZ2lmeShzLHIpO3UmJih1PSI/Iit1KTtsZXQgZj1mdW5jdGlvbih0KXtsZXQgZT0iIjtjb25zdCByPXQuaW5kZXhPZigiIyIpO3JldHVybi0xIT09ciYmKGU9dC5zbGljZShyKSksZX0odC51cmwpO3JldHVybiB0LmZyYWdtZW50SWRlbnRpZmllciYmKGY9IiMiK2EodC5mcmFnbWVudElkZW50aWZpZXIscikpLGAke259JHt1fSR7Zn1gfX0sZnVuY3Rpb24odCxlKXt2YXIgcj17fS50b1N0cmluZzt0LmV4cG9ydHM9QXJyYXkuaXNBcnJheXx8ZnVuY3Rpb24odCl7cmV0dXJuIltvYmplY3QgQXJyYXldIj09ci5jYWxsKHQpfX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDgpO3IubyhuLCJwYXlsb2FkSWQiKSYmci5kKGUsInBheWxvYWRJZCIsKGZ1bmN0aW9uKCl7cmV0dXJuIG4ucGF5bG9hZElkfSkpO24uaXNOb2RlfSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3IuZChlLCJhIiwoZnVuY3Rpb24oKXtyZXR1cm4gbn0pKTtyKDI0KSxyKDcpO2Z1bmN0aW9uIG4oKXtyZXR1cm4gRGF0ZS5ub3coKSpNYXRoLnBvdygxMCwzKStNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqTWF0aC5wb3coMTAsMykpfX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0In0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtyKDg0KX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtyKDg1KSxyKDQxKSxyKDg2KSxyKDg3KX0sZnVuY3Rpb24odCxlKXt9LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49cig0MSk7bi5hO24uYX0sZnVuY3Rpb24odCxlKXt9LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCJ9LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCJ9LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUsImEiLChmdW5jdGlvbigpe3JldHVybiBpfSkpO3ZhciBuPXIoOCk7ZnVuY3Rpb24gaSh0KXtyZXR1cm4gbi5nZXRCcm93ZXJDcnlwdG8oKS5nZXRSYW5kb21WYWx1ZXMobmV3IFVpbnQ4QXJyYXkodCkpfX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLmQoZSwiYiIsKGZ1bmN0aW9uKCl7cmV0dXJuIGl9KSksci5kKGUsImEiLChmdW5jdGlvbigpe3JldHVybiBvfSkpO3ZhciBuPXIoMTQpO2Z1bmN0aW9uIGkodCxlLHIpe3JldHVybiBPYmplY3Qobi5iKSh0LGUscil9ZnVuY3Rpb24gbyh0LGUscil7cmV0dXJuIE9iamVjdChuLmEpKHQsZSxyKX19LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ci5kKGUsImEiLChmdW5jdGlvbigpe3JldHVybiBpfSkpO3ZhciBuPXIoMTQpO3IoNDIpO2FzeW5jIGZ1bmN0aW9uIGkodCxlKXtyZXR1cm4gYXdhaXQgT2JqZWN0KG4uYykodCxlKX19LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49cig4KTtyLm8obiwiaXNDb25zdGFudFRpbWUiKSYmci5kKGUsImlzQ29uc3RhbnRUaW1lIiwoZnVuY3Rpb24oKXtyZXR1cm4gbi5pc0NvbnN0YW50VGltZX0pKX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0In0sZnVuY3Rpb24odCxlKXt9LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbih0LGUpe2lmKHQubGVuZ3RoIT09ZS5sZW5ndGgpcmV0dXJuITE7bGV0IHI9MDtmb3IobGV0IG49MDtuPHQubGVuZ3RoO24rKylyfD10W25dXmVbbl07cmV0dXJuIDA9PT1yfXIuZChlLCJhIiwoZnVuY3Rpb24oKXtyZXR1cm4gbn0pKX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtyKDE0KX0sZnVuY3Rpb24odCxlLHIpe3ZhciBuPXIoNTEpLGk9WzEsMSwxLDEsMSwxLDEsMSwxLDEsMiwyLDEsMiwyLDQsMSwyLDQsNCwyLDQsNCw0LDIsNCw2LDUsMiw0LDYsNiwyLDUsOCw4LDQsNSw4LDgsNCw1LDgsMTEsNCw4LDEwLDExLDQsOSwxMiwxNiw0LDksMTYsMTYsNiwxMCwxMiwxOCw2LDEwLDE3LDE2LDYsMTEsMTYsMTksNiwxMywxOCwyMSw3LDE0LDIxLDI1LDgsMTYsMjAsMjUsOCwxNywyMywyNSw5LDE3LDIzLDM0LDksMTgsMjUsMzAsMTAsMjAsMjcsMzIsMTIsMjEsMjksMzUsMTIsMjMsMzQsMzcsMTIsMjUsMzQsNDAsMTMsMjYsMzUsNDIsMTQsMjgsMzgsNDUsMTUsMjksNDAsNDgsMTYsMzEsNDMsNTEsMTcsMzMsNDUsNTQsMTgsMzUsNDgsNTcsMTksMzcsNTEsNjAsMTksMzgsNTMsNjMsMjAsNDAsNTYsNjYsMjEsNDMsNTksNzAsMjIsNDUsNjIsNzQsMjQsNDcsNjUsNzcsMjUsNDksNjgsODFdLG89WzcsMTAsMTMsMTcsMTAsMTYsMjIsMjgsMTUsMjYsMzYsNDQsMjAsMzYsNTIsNjQsMjYsNDgsNzIsODgsMzYsNjQsOTYsMTEyLDQwLDcyLDEwOCwxMzAsNDgsODgsMTMyLDE1Niw2MCwxMTAsMTYwLDE5Miw3MiwxMzAsMTkyLDIyNCw4MCwxNTAsMjI0LDI2NCw5NiwxNzYsMjYwLDMwOCwxMDQsMTk4LDI4OCwzNTIsMTIwLDIxNiwzMjAsMzg0LDEzMiwyNDAsMzYwLDQzMiwxNDQsMjgwLDQwOCw0ODAsMTY4LDMwOCw0NDgsNTMyLDE4MCwzMzgsNTA0LDU4OCwxOTYsMzY0LDU0Niw2NTAsMjI0LDQxNiw2MDAsNzAwLDIyNCw0NDIsNjQ0LDc1MCwyNTIsNDc2LDY5MCw4MTYsMjcwLDUwNCw3NTAsOTAwLDMwMCw1NjAsODEwLDk2MCwzMTIsNTg4LDg3MCwxMDUwLDMzNiw2NDQsOTUyLDExMTAsMzYwLDcwMCwxMDIwLDEyMDAsMzkwLDcyOCwxMDUwLDEyNjAsNDIwLDc4NCwxMTQwLDEzNTAsNDUwLDgxMiwxMjAwLDE0NDAsNDgwLDg2OCwxMjkwLDE1MzAsNTEwLDkyNCwxMzUwLDE2MjAsNTQwLDk4MCwxNDQwLDE3MTAsNTcwLDEwMzYsMTUzMCwxODAwLDU3MCwxMDY0LDE1OTAsMTg5MCw2MDAsMTEyMCwxNjgwLDE5ODAsNjMwLDEyMDQsMTc3MCwyMTAwLDY2MCwxMjYwLDE4NjAsMjIyMCw3MjAsMTMxNiwxOTUwLDIzMTAsNzUwLDEzNzIsMjA0MCwyNDMwXTtlLmdldEJsb2Nrc0NvdW50PWZ1bmN0aW9uKHQsZSl7c3dpdGNoKGUpe2Nhc2Ugbi5MOnJldHVybiBpWzQqKHQtMSkrMF07Y2FzZSBuLk06cmV0dXJuIGlbNCoodC0xKSsxXTtjYXNlIG4uUTpyZXR1cm4gaVs0Kih0LTEpKzJdO2Nhc2Ugbi5IOnJldHVybiBpWzQqKHQtMSkrM107ZGVmYXVsdDpyZXR1cm59fSxlLmdldFRvdGFsQ29kZXdvcmRzQ291bnQ9ZnVuY3Rpb24odCxlKXtzd2l0Y2goZSl7Y2FzZSBuLkw6cmV0dXJuIG9bNCoodC0xKSswXTtjYXNlIG4uTTpyZXR1cm4gb1s0Kih0LTEpKzFdO2Nhc2Ugbi5ROnJldHVybiBvWzQqKHQtMSkrMl07Y2FzZSBuLkg6cmV0dXJuIG9bNCoodC0xKSszXTtkZWZhdWx0OnJldHVybn19fSxmdW5jdGlvbih0LGUpe2UuaXNWYWxpZD1mdW5jdGlvbih0KXtyZXR1cm4haXNOYU4odCkmJnQ+PTEmJnQ8PTQwfX0sZnVuY3Rpb24odCxlKXt2YXIgcj0iKD86W3UzMDAwLXUzMDNGXXxbdTMwNDAtdTMwOUZdfFt1MzBBMC11MzBGRl18W3VGRjAwLXVGRkVGXXxbdTRFMDAtdTlGQUZdfFt1MjYwNS11MjYwNl18W3UyMTkwLXUyMTk1XXx1MjAzQnxbdTIwMTB1MjAxNXUyMDE4dTIwMTl1MjAyNXUyMDI2dTIwMUN1MjAxRHUyMjI1dTIyNjBdfFt1MDM5MS11MDQ1MV18W3UwMEE3dTAwQTh1MDBCMXUwMEI0dTAwRDd1MDBGN10pKyIsbj0iKD86KD8hW0EtWjAtOSAkJSorXFwtLi86XXwiKyhyPXIucmVwbGFjZSgvdS9nLCJcXHUiKSkrIikoPzoufFtcclxuXSkpKyI7ZS5LQU5KST1uZXcgUmVnRXhwKHIsImciKSxlLkJZVEVfS0FOSkk9bmV3IFJlZ0V4cCgiW15BLVowLTkgJCUqK1xcLS4vOl0rIiwiZyIpLGUuQllURT1uZXcgUmVnRXhwKG4sImciKSxlLk5VTUVSSUM9bmV3IFJlZ0V4cCgiWzAtOV0rIiwiZyIpLGUuQUxQSEFOVU1FUklDPW5ldyBSZWdFeHAoIltBLVogJCUqK1xcLS4vOl0rIiwiZyIpO3ZhciBpPW5ldyBSZWdFeHAoIl4iK3IrIiQiKSxvPW5ldyBSZWdFeHAoIl5bMC05XSskIikscz1uZXcgUmVnRXhwKCJeW0EtWjAtOSAkJSorXFwtLi86XSskIik7ZS50ZXN0S2Fuamk9ZnVuY3Rpb24odCl7cmV0dXJuIGkudGVzdCh0KX0sZS50ZXN0TnVtZXJpYz1mdW5jdGlvbih0KXtyZXR1cm4gby50ZXN0KHQpfSxlLnRlc3RBbHBoYW51bWVyaWM9ZnVuY3Rpb24odCl7cmV0dXJuIHMudGVzdCh0KX19LGZ1bmN0aW9uKHQsZSl7ZnVuY3Rpb24gcih0KXtpZigibnVtYmVyIj09dHlwZW9mIHQmJih0PXQudG9TdHJpbmcoKSksInN0cmluZyIhPXR5cGVvZiB0KXRocm93IG5ldyBFcnJvcigiQ29sb3Igc2hvdWxkIGJlIGRlZmluZWQgYXMgaGV4IHN0cmluZyIpO3ZhciBlPXQuc2xpY2UoKS5yZXBsYWNlKCIjIiwiIikuc3BsaXQoIiIpO2lmKGUubGVuZ3RoPDN8fDU9PT1lLmxlbmd0aHx8ZS5sZW5ndGg+OCl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgaGV4IGNvbG9yOiAiK3QpOzMhPT1lLmxlbmd0aCYmNCE9PWUubGVuZ3RofHwoZT1BcnJheS5wcm90b3R5cGUuY29uY2F0LmFwcGx5KFtdLGUubWFwKChmdW5jdGlvbih0KXtyZXR1cm5bdCx0XX0pKSkpLDY9PT1lLmxlbmd0aCYmZS5wdXNoKCJGIiwiRiIpO3ZhciByPXBhcnNlSW50KGUuam9pbigiIiksMTYpO3JldHVybntyOnI+PjI0JjI1NSxnOnI+PjE2JjI1NSxiOnI+PjgmMjU1LGE6MjU1JnIsaGV4OiIjIitlLnNsaWNlKDAsNikuam9pbigiIil9fWUuZ2V0T3B0aW9ucz1mdW5jdGlvbih0KXt0fHwodD17fSksdC5jb2xvcnx8KHQuY29sb3I9e30pO3ZhciBlPXZvaWQgMD09PXQubWFyZ2lufHxudWxsPT09dC5tYXJnaW58fHQubWFyZ2luPDA/NDp0Lm1hcmdpbixuPXQud2lkdGgmJnQud2lkdGg+PTIxP3Qud2lkdGg6dm9pZCAwLGk9dC5zY2FsZXx8NDtyZXR1cm57d2lkdGg6bixzY2FsZTpuPzQ6aSxtYXJnaW46ZSxjb2xvcjp7ZGFyazpyKHQuY29sb3IuZGFya3x8IiMwMDAwMDBmZiIpLGxpZ2h0OnIodC5jb2xvci5saWdodHx8IiNmZmZmZmZmZiIpfSx0eXBlOnQudHlwZSxyZW5kZXJlck9wdHM6dC5yZW5kZXJlck9wdHN8fHt9fX0sZS5nZXRTY2FsZT1mdW5jdGlvbih0LGUpe3JldHVybiBlLndpZHRoJiZlLndpZHRoPj10KzIqZS5tYXJnaW4/ZS53aWR0aC8odCsyKmUubWFyZ2luKTplLnNjYWxlfSxlLmdldEltYWdlV2lkdGg9ZnVuY3Rpb24odCxyKXt2YXIgbj1lLmdldFNjYWxlKHQscik7cmV0dXJuIE1hdGguZmxvb3IoKHQrMipyLm1hcmdpbikqbil9LGUucXJUb0ltYWdlRGF0YT1mdW5jdGlvbih0LHIsbil7Zm9yKHZhciBpPXIubW9kdWxlcy5zaXplLG89ci5tb2R1bGVzLmRhdGEscz1lLmdldFNjYWxlKGksbiksYT1NYXRoLmZsb29yKChpKzIqbi5tYXJnaW4pKnMpLHU9bi5tYXJnaW4qcyxjPVtuLmNvbG9yLmxpZ2h0LG4uY29sb3IuZGFya10sZj0wO2Y8YTtmKyspZm9yKHZhciBoPTA7aDxhO2grKyl7dmFyIGw9NCooZiphK2gpLGQ9bi5jb2xvci5saWdodDtpZihmPj11JiZoPj11JiZmPGEtdSYmaDxhLXUpZD1jW29bTWF0aC5mbG9vcigoZi11KS9zKSppK01hdGguZmxvb3IoKGgtdSkvcyldPzE6MF07dFtsKytdPWQucix0W2wrK109ZC5nLHRbbCsrXT1kLmIsdFtsXT1kLmF9fX0sZnVuY3Rpb24odCxlLHIpeyhmdW5jdGlvbih0KXt2YXIgbj1yKDIwNCksaT1yKDEwNCksbz1yKDQ0KSxzPXIoMjEyKSxhPXIoNTUpLHU9ZTt1LnJlcXVlc3Q9ZnVuY3Rpb24oZSxyKXtlPSJzdHJpbmciPT10eXBlb2YgZT9hLnBhcnNlKGUpOm8oZSk7dmFyIGk9LTE9PT10LmxvY2F0aW9uLnByb3RvY29sLnNlYXJjaCgvXmh0dHBzPzokLyk/Imh0dHA6IjoiIixzPWUucHJvdG9jb2x8fGksdT1lLmhvc3RuYW1lfHxlLmhvc3QsYz1lLnBvcnQsZj1lLnBhdGh8fCIvIjt1JiYtMSE9PXUuaW5kZXhPZigiOiIpJiYodT0iWyIrdSsiXSIpLGUudXJsPSh1P3MrIi8vIit1OiIiKSsoYz8iOiIrYzoiIikrZixlLm1ldGhvZD0oZS5tZXRob2R8fCJHRVQiKS50b1VwcGVyQ2FzZSgpLGUuaGVhZGVycz1lLmhlYWRlcnN8fHt9O3ZhciBoPW5ldyBuKGUpO3JldHVybiByJiZoLm9uKCJyZXNwb25zZSIsciksaH0sdS5nZXQ9ZnVuY3Rpb24odCxlKXt2YXIgcj11LnJlcXVlc3QodCxlKTtyZXR1cm4gci5lbmQoKSxyfSx1LkNsaWVudFJlcXVlc3Q9bix1LkluY29taW5nTWVzc2FnZT1pLkluY29taW5nTWVzc2FnZSx1LkFnZW50PWZ1bmN0aW9uKCl7fSx1LkFnZW50LmRlZmF1bHRNYXhTb2NrZXRzPTQsdS5nbG9iYWxBZ2VudD1uZXcgdS5BZ2VudCx1LlNUQVRVU19DT0RFUz1zLHUuTUVUSE9EUz1bIkNIRUNLT1VUIiwiQ09OTkVDVCIsIkNPUFkiLCJERUxFVEUiLCJHRVQiLCJIRUFEIiwiTE9DSyIsIk0tU0VBUkNIIiwiTUVSR0UiLCJNS0FDVElWSVRZIiwiTUtDT0wiLCJNT1ZFIiwiTk9USUZZIiwiT1BUSU9OUyIsIlBBVENIIiwiUE9TVCIsIlBST1BGSU5EIiwiUFJPUFBBVENIIiwiUFVSR0UiLCJQVVQiLCJSRVBPUlQiLCJTRUFSQ0giLCJTVUJTQ1JJQkUiLCJUUkFDRSIsIlVOTE9DSyIsIlVOU1VCU0NSSUJFIl19KS5jYWxsKHRoaXMscig2KSl9LGZ1bmN0aW9uKHQsZSxyKXsoZnVuY3Rpb24odCl7ZS5mZXRjaD1hKHQuZmV0Y2gpJiZhKHQuUmVhZGFibGVTdHJlYW0pLGUud3JpdGFibGVTdHJlYW09YSh0LldyaXRhYmxlU3RyZWFtKSxlLmFib3J0Q29udHJvbGxlcj1hKHQuQWJvcnRDb250cm9sbGVyKSxlLmJsb2JDb25zdHJ1Y3Rvcj0hMTt0cnl7bmV3IEJsb2IoW25ldyBBcnJheUJ1ZmZlcigxKV0pLGUuYmxvYkNvbnN0cnVjdG9yPSEwfWNhdGNoKHQpe312YXIgcjtmdW5jdGlvbiBuKCl7aWYodm9pZCAwIT09cilyZXR1cm4gcjtpZih0LlhNTEh0dHBSZXF1ZXN0KXtyPW5ldyB0LlhNTEh0dHBSZXF1ZXN0O3RyeXtyLm9wZW4oIkdFVCIsdC5YRG9tYWluUmVxdWVzdD8iLyI6Imh0dHBzOi8vZXhhbXBsZS5jb20iKX1jYXRjaCh0KXtyPW51bGx9fWVsc2Ugcj1udWxsO3JldHVybiByfWZ1bmN0aW9uIGkodCl7dmFyIGU9bigpO2lmKCFlKXJldHVybiExO3RyeXtyZXR1cm4gZS5yZXNwb25zZVR5cGU9dCxlLnJlc3BvbnNlVHlwZT09PXR9Y2F0Y2godCl7fXJldHVybiExfXZhciBvPXZvaWQgMCE9PXQuQXJyYXlCdWZmZXIscz1vJiZhKHQuQXJyYXlCdWZmZXIucHJvdG90eXBlLnNsaWNlKTtmdW5jdGlvbiBhKHQpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiB0fWUuYXJyYXlidWZmZXI9ZS5mZXRjaHx8byYmaSgiYXJyYXlidWZmZXIiKSxlLm1zc3RyZWFtPSFlLmZldGNoJiZzJiZpKCJtcy1zdHJlYW0iKSxlLm1vemNodW5rZWRhcnJheWJ1ZmZlcj0hZS5mZXRjaCYmbyYmaSgibW96LWNodW5rZWQtYXJyYXlidWZmZXIiKSxlLm92ZXJyaWRlTWltZVR5cGU9ZS5mZXRjaHx8ISFuKCkmJmEobigpLm92ZXJyaWRlTWltZVR5cGUpLGUudmJBcnJheT1hKHQuVkJBcnJheSkscj1udWxsfSkuY2FsbCh0aGlzLHIoNikpfSxmdW5jdGlvbih0LGUscil7KGZ1bmN0aW9uKHQsbixpKXt2YXIgbz1yKDEwMykscz1yKDMpLGE9cigzNCksdT1lLnJlYWR5U3RhdGVzPXtVTlNFTlQ6MCxPUEVORUQ6MSxIRUFERVJTX1JFQ0VJVkVEOjIsTE9BRElORzozLERPTkU6NH0sYz1lLkluY29taW5nTWVzc2FnZT1mdW5jdGlvbihlLHIscyx1KXt2YXIgYz10aGlzO2lmKGEuUmVhZGFibGUuY2FsbChjKSxjLl9tb2RlPXMsYy5oZWFkZXJzPXt9LGMucmF3SGVhZGVycz1bXSxjLnRyYWlsZXJzPXt9LGMucmF3VHJhaWxlcnM9W10sYy5vbigiZW5kIiwoZnVuY3Rpb24oKXt0Lm5leHRUaWNrKChmdW5jdGlvbigpe2MuZW1pdCgiY2xvc2UiKX0pKX0pKSwiZmV0Y2giPT09cyl7aWYoYy5fZmV0Y2hSZXNwb25zZT1yLGMudXJsPXIudXJsLGMuc3RhdHVzQ29kZT1yLnN0YXR1cyxjLnN0YXR1c01lc3NhZ2U9ci5zdGF0dXNUZXh0LHIuaGVhZGVycy5mb3JFYWNoKChmdW5jdGlvbih0LGUpe2MuaGVhZGVyc1tlLnRvTG93ZXJDYXNlKCldPXQsYy5yYXdIZWFkZXJzLnB1c2goZSx0KX0pKSxvLndyaXRhYmxlU3RyZWFtKXt2YXIgZj1uZXcgV3JpdGFibGVTdHJlYW0oe3dyaXRlOmZ1bmN0aW9uKHQpe3JldHVybiBuZXcgUHJvbWlzZSgoZnVuY3Rpb24oZSxyKXtjLl9kZXN0cm95ZWQ/cigpOmMucHVzaChuZXcgbih0KSk/ZSgpOmMuX3Jlc3VtZUZldGNoPWV9KSl9LGNsb3NlOmZ1bmN0aW9uKCl7aS5jbGVhclRpbWVvdXQodSksYy5fZGVzdHJveWVkfHxjLnB1c2gobnVsbCl9LGFib3J0OmZ1bmN0aW9uKHQpe2MuX2Rlc3Ryb3llZHx8Yy5lbWl0KCJlcnJvciIsdCl9fSk7dHJ5e3JldHVybiB2b2lkIHIuYm9keS5waXBlVG8oZikuY2F0Y2goKGZ1bmN0aW9uKHQpe2kuY2xlYXJUaW1lb3V0KHUpLGMuX2Rlc3Ryb3llZHx8Yy5lbWl0KCJlcnJvciIsdCl9KSl9Y2F0Y2godCl7fX12YXIgaD1yLmJvZHkuZ2V0UmVhZGVyKCk7IWZ1bmN0aW9uIHQoKXtoLnJlYWQoKS50aGVuKChmdW5jdGlvbihlKXtpZighYy5fZGVzdHJveWVkKXtpZihlLmRvbmUpcmV0dXJuIGkuY2xlYXJUaW1lb3V0KHUpLHZvaWQgYy5wdXNoKG51bGwpO2MucHVzaChuZXcgbihlLnZhbHVlKSksdCgpfX0pKS5jYXRjaCgoZnVuY3Rpb24odCl7aS5jbGVhclRpbWVvdXQodSksYy5fZGVzdHJveWVkfHxjLmVtaXQoImVycm9yIix0KX0pKX0oKX1lbHNle2lmKGMuX3hocj1lLGMuX3Bvcz0wLGMudXJsPWUucmVzcG9uc2VVUkwsYy5zdGF0dXNDb2RlPWUuc3RhdHVzLGMuc3RhdHVzTWVzc2FnZT1lLnN0YXR1c1RleHQsZS5nZXRBbGxSZXNwb25zZUhlYWRlcnMoKS5zcGxpdCgvXHI/XG4vKS5mb3JFYWNoKChmdW5jdGlvbih0KXt2YXIgZT10Lm1hdGNoKC9eKFteOl0rKTpccyooLiopLyk7aWYoZSl7dmFyIHI9ZVsxXS50b0xvd2VyQ2FzZSgpOyJzZXQtY29va2llIj09PXI/KHZvaWQgMD09PWMuaGVhZGVyc1tyXSYmKGMuaGVhZGVyc1tyXT1bXSksYy5oZWFkZXJzW3JdLnB1c2goZVsyXSkpOnZvaWQgMCE9PWMuaGVhZGVyc1tyXT9jLmhlYWRlcnNbcl0rPSIsICIrZVsyXTpjLmhlYWRlcnNbcl09ZVsyXSxjLnJhd0hlYWRlcnMucHVzaChlWzFdLGVbMl0pfX0pKSxjLl9jaGFyc2V0PSJ4LXVzZXItZGVmaW5lZCIsIW8ub3ZlcnJpZGVNaW1lVHlwZSl7dmFyIGw9Yy5yYXdIZWFkZXJzWyJtaW1lLXR5cGUiXTtpZihsKXt2YXIgZD1sLm1hdGNoKC87XHMqY2hhcnNldD0oW147XSkoO3wkKS8pO2QmJihjLl9jaGFyc2V0PWRbMV0udG9Mb3dlckNhc2UoKSl9Yy5fY2hhcnNldHx8KGMuX2NoYXJzZXQ9InV0Zi04Iil9fX07cyhjLGEuUmVhZGFibGUpLGMucHJvdG90eXBlLl9yZWFkPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fcmVzdW1lRmV0Y2g7dCYmKHRoaXMuX3Jlc3VtZUZldGNoPW51bGwsdCgpKX0sYy5wcm90b3R5cGUuX29uWEhSUHJvZ3Jlc3M9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLGU9dC5feGhyLHI9bnVsbDtzd2l0Y2godC5fbW9kZSl7Y2FzZSJ0ZXh0OnZiYXJyYXkiOmlmKGUucmVhZHlTdGF0ZSE9PXUuRE9ORSlicmVhazt0cnl7cj1uZXcgaS5WQkFycmF5KGUucmVzcG9uc2VCb2R5KS50b0FycmF5KCl9Y2F0Y2godCl7fWlmKG51bGwhPT1yKXt0LnB1c2gobmV3IG4ocikpO2JyZWFrfWNhc2UidGV4dCI6dHJ5e3I9ZS5yZXNwb25zZVRleHR9Y2F0Y2goZSl7dC5fbW9kZT0idGV4dDp2YmFycmF5IjticmVha31pZihyLmxlbmd0aD50Ll9wb3Mpe3ZhciBvPXIuc3Vic3RyKHQuX3Bvcyk7aWYoIngtdXNlci1kZWZpbmVkIj09PXQuX2NoYXJzZXQpe2Zvcih2YXIgcz1uZXcgbihvLmxlbmd0aCksYT0wO2E8by5sZW5ndGg7YSsrKXNbYV09MjU1Jm8uY2hhckNvZGVBdChhKTt0LnB1c2gocyl9ZWxzZSB0LnB1c2gobyx0Ll9jaGFyc2V0KTt0Ll9wb3M9ci5sZW5ndGh9YnJlYWs7Y2FzZSJhcnJheWJ1ZmZlciI6aWYoZS5yZWFkeVN0YXRlIT09dS5ET05FfHwhZS5yZXNwb25zZSlicmVhaztyPWUucmVzcG9uc2UsdC5wdXNoKG5ldyBuKG5ldyBVaW50OEFycmF5KHIpKSk7YnJlYWs7Y2FzZSJtb3otY2h1bmtlZC1hcnJheWJ1ZmZlciI6aWYocj1lLnJlc3BvbnNlLGUucmVhZHlTdGF0ZSE9PXUuTE9BRElOR3x8IXIpYnJlYWs7dC5wdXNoKG5ldyBuKG5ldyBVaW50OEFycmF5KHIpKSk7YnJlYWs7Y2FzZSJtcy1zdHJlYW0iOmlmKHI9ZS5yZXNwb25zZSxlLnJlYWR5U3RhdGUhPT11LkxPQURJTkcpYnJlYWs7dmFyIGM9bmV3IGkuTVNTdHJlYW1SZWFkZXI7Yy5vbnByb2dyZXNzPWZ1bmN0aW9uKCl7Yy5yZXN1bHQuYnl0ZUxlbmd0aD50Ll9wb3MmJih0LnB1c2gobmV3IG4obmV3IFVpbnQ4QXJyYXkoYy5yZXN1bHQuc2xpY2UodC5fcG9zKSkpKSx0Ll9wb3M9Yy5yZXN1bHQuYnl0ZUxlbmd0aCl9LGMub25sb2FkPWZ1bmN0aW9uKCl7dC5wdXNoKG51bGwpfSxjLnJlYWRBc0FycmF5QnVmZmVyKHIpfXQuX3hoci5yZWFkeVN0YXRlPT09dS5ET05FJiYibXMtc3RyZWFtIiE9PXQuX21vZGUmJnQucHVzaChudWxsKX19KS5jYWxsKHRoaXMscig1KSxyKDIpLkJ1ZmZlcixyKDYpKX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjsoZnVuY3Rpb24oZSxuKXt2YXIgaT1yKDQzKTt0LmV4cG9ydHM9djt2YXIgbyxzPXIoNzkpO3YuUmVhZGFibGVTdGF0ZT15O3IoMTIpLkV2ZW50RW1pdHRlcjt2YXIgYT1mdW5jdGlvbih0LGUpe3JldHVybiB0Lmxpc3RlbmVycyhlKS5sZW5ndGh9LHU9cigxMDYpLGM9cig1MikuQnVmZmVyLGY9ZS5VaW50OEFycmF5fHxmdW5jdGlvbigpe307dmFyIGg9T2JqZWN0LmNyZWF0ZShyKDM1KSk7aC5pbmhlcml0cz1yKDMpO3ZhciBsPXIoMjA1KSxkPXZvaWQgMDtkPWwmJmwuZGVidWdsb2c/bC5kZWJ1Z2xvZygic3RyZWFtIik6ZnVuY3Rpb24oKXt9O3ZhciBwLG09cigyMDYpLGc9cigxMDcpO2guaW5oZXJpdHModix1KTt2YXIgYj1bImVycm9yIiwiY2xvc2UiLCJkZXN0cm95IiwicGF1c2UiLCJyZXN1bWUiXTtmdW5jdGlvbiB5KHQsZSl7dD10fHx7fTt2YXIgbj1lIGluc3RhbmNlb2Yobz1vfHxyKDE5KSk7dGhpcy5vYmplY3RNb2RlPSEhdC5vYmplY3RNb2RlLG4mJih0aGlzLm9iamVjdE1vZGU9dGhpcy5vYmplY3RNb2RlfHwhIXQucmVhZGFibGVPYmplY3RNb2RlKTt2YXIgaT10LmhpZ2hXYXRlck1hcmsscz10LnJlYWRhYmxlSGlnaFdhdGVyTWFyayxhPXRoaXMub2JqZWN0TW9kZT8xNjoxNjM4NDt0aGlzLmhpZ2hXYXRlck1hcms9aXx8MD09PWk/aTpuJiYoc3x8MD09PXMpP3M6YSx0aGlzLmhpZ2hXYXRlck1hcms9TWF0aC5mbG9vcih0aGlzLmhpZ2hXYXRlck1hcmspLHRoaXMuYnVmZmVyPW5ldyBtLHRoaXMubGVuZ3RoPTAsdGhpcy5waXBlcz1udWxsLHRoaXMucGlwZXNDb3VudD0wLHRoaXMuZmxvd2luZz1udWxsLHRoaXMuZW5kZWQ9ITEsdGhpcy5lbmRFbWl0dGVkPSExLHRoaXMucmVhZGluZz0hMSx0aGlzLnN5bmM9ITAsdGhpcy5uZWVkUmVhZGFibGU9ITEsdGhpcy5lbWl0dGVkUmVhZGFibGU9ITEsdGhpcy5yZWFkYWJsZUxpc3RlbmluZz0hMSx0aGlzLnJlc3VtZVNjaGVkdWxlZD0hMSx0aGlzLmRlc3Ryb3llZD0hMSx0aGlzLmRlZmF1bHRFbmNvZGluZz10LmRlZmF1bHRFbmNvZGluZ3x8InV0ZjgiLHRoaXMuYXdhaXREcmFpbj0wLHRoaXMucmVhZGluZ01vcmU9ITEsdGhpcy5kZWNvZGVyPW51bGwsdGhpcy5lbmNvZGluZz1udWxsLHQuZW5jb2RpbmcmJihwfHwocD1yKDIwKS5TdHJpbmdEZWNvZGVyKSx0aGlzLmRlY29kZXI9bmV3IHAodC5lbmNvZGluZyksdGhpcy5lbmNvZGluZz10LmVuY29kaW5nKX1mdW5jdGlvbiB2KHQpe2lmKG89b3x8cigxOSksISh0aGlzIGluc3RhbmNlb2YgdikpcmV0dXJuIG5ldyB2KHQpO3RoaXMuX3JlYWRhYmxlU3RhdGU9bmV3IHkodCx0aGlzKSx0aGlzLnJlYWRhYmxlPSEwLHQmJigiZnVuY3Rpb24iPT10eXBlb2YgdC5yZWFkJiYodGhpcy5fcmVhZD10LnJlYWQpLCJmdW5jdGlvbiI9PXR5cGVvZiB0LmRlc3Ryb3kmJih0aGlzLl9kZXN0cm95PXQuZGVzdHJveSkpLHUuY2FsbCh0aGlzKX1mdW5jdGlvbiBfKHQsZSxyLG4saSl7dmFyIG8scz10Ll9yZWFkYWJsZVN0YXRlO251bGw9PT1lPyhzLnJlYWRpbmc9ITEsZnVuY3Rpb24odCxlKXtpZihlLmVuZGVkKXJldHVybjtpZihlLmRlY29kZXIpe3ZhciByPWUuZGVjb2Rlci5lbmQoKTtyJiZyLmxlbmd0aCYmKGUuYnVmZmVyLnB1c2gociksZS5sZW5ndGgrPWUub2JqZWN0TW9kZT8xOnIubGVuZ3RoKX1lLmVuZGVkPSEwLFModCl9KHQscykpOihpfHwobz1mdW5jdGlvbih0LGUpe3ZhciByO249ZSxjLmlzQnVmZmVyKG4pfHxuIGluc3RhbmNlb2YgZnx8InN0cmluZyI9PXR5cGVvZiBlfHx2b2lkIDA9PT1lfHx0Lm9iamVjdE1vZGV8fChyPW5ldyBUeXBlRXJyb3IoIkludmFsaWQgbm9uLXN0cmluZy9idWZmZXIgY2h1bmsiKSk7dmFyIG47cmV0dXJuIHJ9KHMsZSkpLG8/dC5lbWl0KCJlcnJvciIsbyk6cy5vYmplY3RNb2RlfHxlJiZlLmxlbmd0aD4wPygic3RyaW5nIj09dHlwZW9mIGV8fHMub2JqZWN0TW9kZXx8T2JqZWN0LmdldFByb3RvdHlwZU9mKGUpPT09Yy5wcm90b3R5cGV8fChlPWZ1bmN0aW9uKHQpe3JldHVybiBjLmZyb20odCl9KGUpKSxuP3MuZW5kRW1pdHRlZD90LmVtaXQoImVycm9yIixuZXcgRXJyb3IoInN0cmVhbS51bnNoaWZ0KCkgYWZ0ZXIgZW5kIGV2ZW50IikpOncodCxzLGUsITApOnMuZW5kZWQ/dC5lbWl0KCJlcnJvciIsbmV3IEVycm9yKCJzdHJlYW0ucHVzaCgpIGFmdGVyIEVPRiIpKToocy5yZWFkaW5nPSExLHMuZGVjb2RlciYmIXI/KGU9cy5kZWNvZGVyLndyaXRlKGUpLHMub2JqZWN0TW9kZXx8MCE9PWUubGVuZ3RoP3codCxzLGUsITEpOngodCxzKSk6dyh0LHMsZSwhMSkpKTpufHwocy5yZWFkaW5nPSExKSk7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiF0LmVuZGVkJiYodC5uZWVkUmVhZGFibGV8fHQubGVuZ3RoPHQuaGlnaFdhdGVyTWFya3x8MD09PXQubGVuZ3RoKX0ocyl9ZnVuY3Rpb24gdyh0LGUscixuKXtlLmZsb3dpbmcmJjA9PT1lLmxlbmd0aCYmIWUuc3luYz8odC5lbWl0KCJkYXRhIixyKSx0LnJlYWQoMCkpOihlLmxlbmd0aCs9ZS5vYmplY3RNb2RlPzE6ci5sZW5ndGgsbj9lLmJ1ZmZlci51bnNoaWZ0KHIpOmUuYnVmZmVyLnB1c2gociksZS5uZWVkUmVhZGFibGUmJlModCkpLHgodCxlKX1PYmplY3QuZGVmaW5lUHJvcGVydHkodi5wcm90b3R5cGUsImRlc3Ryb3llZCIse2dldDpmdW5jdGlvbigpe3JldHVybiB2b2lkIDAhPT10aGlzLl9yZWFkYWJsZVN0YXRlJiZ0aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZH0sc2V0OmZ1bmN0aW9uKHQpe3RoaXMuX3JlYWRhYmxlU3RhdGUmJih0aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZD10KX19KSx2LnByb3RvdHlwZS5kZXN0cm95PWcuZGVzdHJveSx2LnByb3RvdHlwZS5fdW5kZXN0cm95PWcudW5kZXN0cm95LHYucHJvdG90eXBlLl9kZXN0cm95PWZ1bmN0aW9uKHQsZSl7dGhpcy5wdXNoKG51bGwpLGUodCl9LHYucHJvdG90eXBlLnB1c2g9ZnVuY3Rpb24odCxlKXt2YXIgcixuPXRoaXMuX3JlYWRhYmxlU3RhdGU7cmV0dXJuIG4ub2JqZWN0TW9kZT9yPSEwOiJzdHJpbmciPT10eXBlb2YgdCYmKChlPWV8fG4uZGVmYXVsdEVuY29kaW5nKSE9PW4uZW5jb2RpbmcmJih0PWMuZnJvbSh0LGUpLGU9IiIpLHI9ITApLF8odGhpcyx0LGUsITEscil9LHYucHJvdG90eXBlLnVuc2hpZnQ9ZnVuY3Rpb24odCl7cmV0dXJuIF8odGhpcyx0LG51bGwsITAsITEpfSx2LnByb3RvdHlwZS5pc1BhdXNlZD1mdW5jdGlvbigpe3JldHVybiExPT09dGhpcy5fcmVhZGFibGVTdGF0ZS5mbG93aW5nfSx2LnByb3RvdHlwZS5zZXRFbmNvZGluZz1mdW5jdGlvbih0KXtyZXR1cm4gcHx8KHA9cigyMCkuU3RyaW5nRGVjb2RlciksdGhpcy5fcmVhZGFibGVTdGF0ZS5kZWNvZGVyPW5ldyBwKHQpLHRoaXMuX3JlYWRhYmxlU3RhdGUuZW5jb2Rpbmc9dCx0aGlzfTtmdW5jdGlvbiBNKHQsZSl7cmV0dXJuIHQ8PTB8fDA9PT1lLmxlbmd0aCYmZS5lbmRlZD8wOmUub2JqZWN0TW9kZT8xOnQhPXQ/ZS5mbG93aW5nJiZlLmxlbmd0aD9lLmJ1ZmZlci5oZWFkLmRhdGEubGVuZ3RoOmUubGVuZ3RoOih0PmUuaGlnaFdhdGVyTWFyayYmKGUuaGlnaFdhdGVyTWFyaz1mdW5jdGlvbih0KXtyZXR1cm4gdD49ODM4ODYwOD90PTgzODg2MDg6KHQtLSx0fD10Pj4+MSx0fD10Pj4+Mix0fD10Pj4+NCx0fD10Pj4+OCx0fD10Pj4+MTYsdCsrKSx0fSh0KSksdDw9ZS5sZW5ndGg/dDplLmVuZGVkP2UubGVuZ3RoOihlLm5lZWRSZWFkYWJsZT0hMCwwKSl9ZnVuY3Rpb24gUyh0KXt2YXIgZT10Ll9yZWFkYWJsZVN0YXRlO2UubmVlZFJlYWRhYmxlPSExLGUuZW1pdHRlZFJlYWRhYmxlfHwoZCgiZW1pdFJlYWRhYmxlIixlLmZsb3dpbmcpLGUuZW1pdHRlZFJlYWRhYmxlPSEwLGUuc3luYz9pLm5leHRUaWNrKEUsdCk6RSh0KSl9ZnVuY3Rpb24gRSh0KXtkKCJlbWl0IHJlYWRhYmxlIiksdC5lbWl0KCJyZWFkYWJsZSIpLFQodCl9ZnVuY3Rpb24geCh0LGUpe2UucmVhZGluZ01vcmV8fChlLnJlYWRpbmdNb3JlPSEwLGkubmV4dFRpY2soayx0LGUpKX1mdW5jdGlvbiBrKHQsZSl7Zm9yKHZhciByPWUubGVuZ3RoOyFlLnJlYWRpbmcmJiFlLmZsb3dpbmcmJiFlLmVuZGVkJiZlLmxlbmd0aDxlLmhpZ2hXYXRlck1hcmsmJihkKCJtYXliZVJlYWRNb3JlIHJlYWQgMCIpLHQucmVhZCgwKSxyIT09ZS5sZW5ndGgpOylyPWUubGVuZ3RoO2UucmVhZGluZ01vcmU9ITF9ZnVuY3Rpb24gQSh0KXtkKCJyZWFkYWJsZSBuZXh0dGljayByZWFkIDAiKSx0LnJlYWQoMCl9ZnVuY3Rpb24gUih0LGUpe2UucmVhZGluZ3x8KGQoInJlc3VtZSByZWFkIDAiKSx0LnJlYWQoMCkpLGUucmVzdW1lU2NoZWR1bGVkPSExLGUuYXdhaXREcmFpbj0wLHQuZW1pdCgicmVzdW1lIiksVCh0KSxlLmZsb3dpbmcmJiFlLnJlYWRpbmcmJnQucmVhZCgwKX1mdW5jdGlvbiBUKHQpe3ZhciBlPXQuX3JlYWRhYmxlU3RhdGU7Zm9yKGQoImZsb3ciLGUuZmxvd2luZyk7ZS5mbG93aW5nJiZudWxsIT09dC5yZWFkKCk7KTt9ZnVuY3Rpb24gTyh0LGUpe3JldHVybiAwPT09ZS5sZW5ndGg/bnVsbDooZS5vYmplY3RNb2RlP3I9ZS5idWZmZXIuc2hpZnQoKTohdHx8dD49ZS5sZW5ndGg/KHI9ZS5kZWNvZGVyP2UuYnVmZmVyLmpvaW4oIiIpOjE9PT1lLmJ1ZmZlci5sZW5ndGg/ZS5idWZmZXIuaGVhZC5kYXRhOmUuYnVmZmVyLmNvbmNhdChlLmxlbmd0aCksZS5idWZmZXIuY2xlYXIoKSk6cj1mdW5jdGlvbih0LGUscil7dmFyIG47dDxlLmhlYWQuZGF0YS5sZW5ndGg/KG49ZS5oZWFkLmRhdGEuc2xpY2UoMCx0KSxlLmhlYWQuZGF0YT1lLmhlYWQuZGF0YS5zbGljZSh0KSk6bj10PT09ZS5oZWFkLmRhdGEubGVuZ3RoP2Uuc2hpZnQoKTpyP2Z1bmN0aW9uKHQsZSl7dmFyIHI9ZS5oZWFkLG49MSxpPXIuZGF0YTt0LT1pLmxlbmd0aDtmb3IoO3I9ci5uZXh0Oyl7dmFyIG89ci5kYXRhLHM9dD5vLmxlbmd0aD9vLmxlbmd0aDp0O2lmKHM9PT1vLmxlbmd0aD9pKz1vOmkrPW8uc2xpY2UoMCx0KSwwPT09KHQtPXMpKXtzPT09by5sZW5ndGg/KCsrbixyLm5leHQ/ZS5oZWFkPXIubmV4dDplLmhlYWQ9ZS50YWlsPW51bGwpOihlLmhlYWQ9cixyLmRhdGE9by5zbGljZShzKSk7YnJlYWt9KytufXJldHVybiBlLmxlbmd0aC09bixpfSh0LGUpOmZ1bmN0aW9uKHQsZSl7dmFyIHI9Yy5hbGxvY1Vuc2FmZSh0KSxuPWUuaGVhZCxpPTE7bi5kYXRhLmNvcHkociksdC09bi5kYXRhLmxlbmd0aDtmb3IoO249bi5uZXh0Oyl7dmFyIG89bi5kYXRhLHM9dD5vLmxlbmd0aD9vLmxlbmd0aDp0O2lmKG8uY29weShyLHIubGVuZ3RoLXQsMCxzKSwwPT09KHQtPXMpKXtzPT09by5sZW5ndGg/KCsraSxuLm5leHQ/ZS5oZWFkPW4ubmV4dDplLmhlYWQ9ZS50YWlsPW51bGwpOihlLmhlYWQ9bixuLmRhdGE9by5zbGljZShzKSk7YnJlYWt9KytpfXJldHVybiBlLmxlbmd0aC09aSxyfSh0LGUpO3JldHVybiBufSh0LGUuYnVmZmVyLGUuZGVjb2Rlcikscik7dmFyIHJ9ZnVuY3Rpb24gQyh0KXt2YXIgZT10Ll9yZWFkYWJsZVN0YXRlO2lmKGUubGVuZ3RoPjApdGhyb3cgbmV3IEVycm9yKCciZW5kUmVhZGFibGUoKSIgY2FsbGVkIG9uIG5vbi1lbXB0eSBzdHJlYW0nKTtlLmVuZEVtaXR0ZWR8fChlLmVuZGVkPSEwLGkubmV4dFRpY2soUCxlLHQpKX1mdW5jdGlvbiBQKHQsZSl7dC5lbmRFbWl0dGVkfHwwIT09dC5sZW5ndGh8fCh0LmVuZEVtaXR0ZWQ9ITAsZS5yZWFkYWJsZT0hMSxlLmVtaXQoImVuZCIpKX1mdW5jdGlvbiBJKHQsZSl7Zm9yKHZhciByPTAsbj10Lmxlbmd0aDtyPG47cisrKWlmKHRbcl09PT1lKXJldHVybiByO3JldHVybi0xfXYucHJvdG90eXBlLnJlYWQ9ZnVuY3Rpb24odCl7ZCgicmVhZCIsdCksdD1wYXJzZUludCh0LDEwKTt2YXIgZT10aGlzLl9yZWFkYWJsZVN0YXRlLHI9dDtpZigwIT09dCYmKGUuZW1pdHRlZFJlYWRhYmxlPSExKSwwPT09dCYmZS5uZWVkUmVhZGFibGUmJihlLmxlbmd0aD49ZS5oaWdoV2F0ZXJNYXJrfHxlLmVuZGVkKSlyZXR1cm4gZCgicmVhZDogZW1pdFJlYWRhYmxlIixlLmxlbmd0aCxlLmVuZGVkKSwwPT09ZS5sZW5ndGgmJmUuZW5kZWQ/Qyh0aGlzKTpTKHRoaXMpLG51bGw7aWYoMD09PSh0PU0odCxlKSkmJmUuZW5kZWQpcmV0dXJuIDA9PT1lLmxlbmd0aCYmQyh0aGlzKSxudWxsO3ZhciBuLGk9ZS5uZWVkUmVhZGFibGU7cmV0dXJuIGQoIm5lZWQgcmVhZGFibGUiLGkpLCgwPT09ZS5sZW5ndGh8fGUubGVuZ3RoLXQ8ZS5oaWdoV2F0ZXJNYXJrKSYmZCgibGVuZ3RoIGxlc3MgdGhhbiB3YXRlcm1hcmsiLGk9ITApLGUuZW5kZWR8fGUucmVhZGluZz9kKCJyZWFkaW5nIG9yIGVuZGVkIixpPSExKTppJiYoZCgiZG8gcmVhZCIpLGUucmVhZGluZz0hMCxlLnN5bmM9ITAsMD09PWUubGVuZ3RoJiYoZS5uZWVkUmVhZGFibGU9ITApLHRoaXMuX3JlYWQoZS5oaWdoV2F0ZXJNYXJrKSxlLnN5bmM9ITEsZS5yZWFkaW5nfHwodD1NKHIsZSkpKSxudWxsPT09KG49dD4wP08odCxlKTpudWxsKT8oZS5uZWVkUmVhZGFibGU9ITAsdD0wKTplLmxlbmd0aC09dCwwPT09ZS5sZW5ndGgmJihlLmVuZGVkfHwoZS5uZWVkUmVhZGFibGU9ITApLHIhPT10JiZlLmVuZGVkJiZDKHRoaXMpKSxudWxsIT09biYmdGhpcy5lbWl0KCJkYXRhIixuKSxufSx2LnByb3RvdHlwZS5fcmVhZD1mdW5jdGlvbih0KXt0aGlzLmVtaXQoImVycm9yIixuZXcgRXJyb3IoIl9yZWFkKCkgaXMgbm90IGltcGxlbWVudGVkIikpfSx2LnByb3RvdHlwZS5waXBlPWZ1bmN0aW9uKHQsZSl7dmFyIHI9dGhpcyxvPXRoaXMuX3JlYWRhYmxlU3RhdGU7c3dpdGNoKG8ucGlwZXNDb3VudCl7Y2FzZSAwOm8ucGlwZXM9dDticmVhaztjYXNlIDE6by5waXBlcz1bby5waXBlcyx0XTticmVhaztkZWZhdWx0Om8ucGlwZXMucHVzaCh0KX1vLnBpcGVzQ291bnQrPTEsZCgicGlwZSBjb3VudD0lZCBvcHRzPSVqIixvLnBpcGVzQ291bnQsZSk7dmFyIHU9KCFlfHwhMSE9PWUuZW5kKSYmdCE9PW4uc3Rkb3V0JiZ0IT09bi5zdGRlcnI/Zjp2O2Z1bmN0aW9uIGMoZSxuKXtkKCJvbnVucGlwZSIpLGU9PT1yJiZuJiYhMT09PW4uaGFzVW5waXBlZCYmKG4uaGFzVW5waXBlZD0hMCxkKCJjbGVhbnVwIiksdC5yZW1vdmVMaXN0ZW5lcigiY2xvc2UiLGIpLHQucmVtb3ZlTGlzdGVuZXIoImZpbmlzaCIseSksdC5yZW1vdmVMaXN0ZW5lcigiZHJhaW4iLGgpLHQucmVtb3ZlTGlzdGVuZXIoImVycm9yIixnKSx0LnJlbW92ZUxpc3RlbmVyKCJ1bnBpcGUiLGMpLHIucmVtb3ZlTGlzdGVuZXIoImVuZCIsZiksci5yZW1vdmVMaXN0ZW5lcigiZW5kIix2KSxyLnJlbW92ZUxpc3RlbmVyKCJkYXRhIixtKSxsPSEwLCFvLmF3YWl0RHJhaW58fHQuX3dyaXRhYmxlU3RhdGUmJiF0Ll93cml0YWJsZVN0YXRlLm5lZWREcmFpbnx8aCgpKX1mdW5jdGlvbiBmKCl7ZCgib25lbmQiKSx0LmVuZCgpfW8uZW5kRW1pdHRlZD9pLm5leHRUaWNrKHUpOnIub25jZSgiZW5kIix1KSx0Lm9uKCJ1bnBpcGUiLGMpO3ZhciBoPWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbigpe3ZhciBlPXQuX3JlYWRhYmxlU3RhdGU7ZCgicGlwZU9uRHJhaW4iLGUuYXdhaXREcmFpbiksZS5hd2FpdERyYWluJiZlLmF3YWl0RHJhaW4tLSwwPT09ZS5hd2FpdERyYWluJiZhKHQsImRhdGEiKSYmKGUuZmxvd2luZz0hMCxUKHQpKX19KHIpO3Qub24oImRyYWluIixoKTt2YXIgbD0hMTt2YXIgcD0hMTtmdW5jdGlvbiBtKGUpe2QoIm9uZGF0YSIpLHA9ITEsITEhPT10LndyaXRlKGUpfHxwfHwoKDE9PT1vLnBpcGVzQ291bnQmJm8ucGlwZXM9PT10fHxvLnBpcGVzQ291bnQ+MSYmLTEhPT1JKG8ucGlwZXMsdCkpJiYhbCYmKGQoImZhbHNlIHdyaXRlIHJlc3BvbnNlLCBwYXVzZSIsci5fcmVhZGFibGVTdGF0ZS5hd2FpdERyYWluKSxyLl9yZWFkYWJsZVN0YXRlLmF3YWl0RHJhaW4rKyxwPSEwKSxyLnBhdXNlKCkpfWZ1bmN0aW9uIGcoZSl7ZCgib25lcnJvciIsZSksdigpLHQucmVtb3ZlTGlzdGVuZXIoImVycm9yIixnKSwwPT09YSh0LCJlcnJvciIpJiZ0LmVtaXQoImVycm9yIixlKX1mdW5jdGlvbiBiKCl7dC5yZW1vdmVMaXN0ZW5lcigiZmluaXNoIix5KSx2KCl9ZnVuY3Rpb24geSgpe2QoIm9uZmluaXNoIiksdC5yZW1vdmVMaXN0ZW5lcigiY2xvc2UiLGIpLHYoKX1mdW5jdGlvbiB2KCl7ZCgidW5waXBlIiksci51bnBpcGUodCl9cmV0dXJuIHIub24oImRhdGEiLG0pLGZ1bmN0aW9uKHQsZSxyKXtpZigiZnVuY3Rpb24iPT10eXBlb2YgdC5wcmVwZW5kTGlzdGVuZXIpcmV0dXJuIHQucHJlcGVuZExpc3RlbmVyKGUscik7dC5fZXZlbnRzJiZ0Ll9ldmVudHNbZV0/cyh0Ll9ldmVudHNbZV0pP3QuX2V2ZW50c1tlXS51bnNoaWZ0KHIpOnQuX2V2ZW50c1tlXT1bcix0Ll9ldmVudHNbZV1dOnQub24oZSxyKX0odCwiZXJyb3IiLGcpLHQub25jZSgiY2xvc2UiLGIpLHQub25jZSgiZmluaXNoIix5KSx0LmVtaXQoInBpcGUiLHIpLG8uZmxvd2luZ3x8KGQoInBpcGUgcmVzdW1lIiksci5yZXN1bWUoKSksdH0sdi5wcm90b3R5cGUudW5waXBlPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX3JlYWRhYmxlU3RhdGUscj17aGFzVW5waXBlZDohMX07aWYoMD09PWUucGlwZXNDb3VudClyZXR1cm4gdGhpcztpZigxPT09ZS5waXBlc0NvdW50KXJldHVybiB0JiZ0IT09ZS5waXBlc3x8KHR8fCh0PWUucGlwZXMpLGUucGlwZXM9bnVsbCxlLnBpcGVzQ291bnQ9MCxlLmZsb3dpbmc9ITEsdCYmdC5lbWl0KCJ1bnBpcGUiLHRoaXMscikpLHRoaXM7aWYoIXQpe3ZhciBuPWUucGlwZXMsaT1lLnBpcGVzQ291bnQ7ZS5waXBlcz1udWxsLGUucGlwZXNDb3VudD0wLGUuZmxvd2luZz0hMTtmb3IodmFyIG89MDtvPGk7bysrKW5bb10uZW1pdCgidW5waXBlIix0aGlzLHIpO3JldHVybiB0aGlzfXZhciBzPUkoZS5waXBlcyx0KTtyZXR1cm4tMT09PXN8fChlLnBpcGVzLnNwbGljZShzLDEpLGUucGlwZXNDb3VudC09MSwxPT09ZS5waXBlc0NvdW50JiYoZS5waXBlcz1lLnBpcGVzWzBdKSx0LmVtaXQoInVucGlwZSIsdGhpcyxyKSksdGhpc30sdi5wcm90b3R5cGUub249ZnVuY3Rpb24odCxlKXt2YXIgcj11LnByb3RvdHlwZS5vbi5jYWxsKHRoaXMsdCxlKTtpZigiZGF0YSI9PT10KSExIT09dGhpcy5fcmVhZGFibGVTdGF0ZS5mbG93aW5nJiZ0aGlzLnJlc3VtZSgpO2Vsc2UgaWYoInJlYWRhYmxlIj09PXQpe3ZhciBuPXRoaXMuX3JlYWRhYmxlU3RhdGU7bi5lbmRFbWl0dGVkfHxuLnJlYWRhYmxlTGlzdGVuaW5nfHwobi5yZWFkYWJsZUxpc3RlbmluZz1uLm5lZWRSZWFkYWJsZT0hMCxuLmVtaXR0ZWRSZWFkYWJsZT0hMSxuLnJlYWRpbmc/bi5sZW5ndGgmJlModGhpcyk6aS5uZXh0VGljayhBLHRoaXMpKX1yZXR1cm4gcn0sdi5wcm90b3R5cGUuYWRkTGlzdGVuZXI9di5wcm90b3R5cGUub24sdi5wcm90b3R5cGUucmVzdW1lPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fcmVhZGFibGVTdGF0ZTtyZXR1cm4gdC5mbG93aW5nfHwoZCgicmVzdW1lIiksdC5mbG93aW5nPSEwLGZ1bmN0aW9uKHQsZSl7ZS5yZXN1bWVTY2hlZHVsZWR8fChlLnJlc3VtZVNjaGVkdWxlZD0hMCxpLm5leHRUaWNrKFIsdCxlKSl9KHRoaXMsdCkpLHRoaXN9LHYucHJvdG90eXBlLnBhdXNlPWZ1bmN0aW9uKCl7cmV0dXJuIGQoImNhbGwgcGF1c2UgZmxvd2luZz0laiIsdGhpcy5fcmVhZGFibGVTdGF0ZS5mbG93aW5nKSwhMSE9PXRoaXMuX3JlYWRhYmxlU3RhdGUuZmxvd2luZyYmKGQoInBhdXNlIiksdGhpcy5fcmVhZGFibGVTdGF0ZS5mbG93aW5nPSExLHRoaXMuZW1pdCgicGF1c2UiKSksdGhpc30sdi5wcm90b3R5cGUud3JhcD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLHI9dGhpcy5fcmVhZGFibGVTdGF0ZSxuPSExO2Zvcih2YXIgaSBpbiB0Lm9uKCJlbmQiLChmdW5jdGlvbigpe2lmKGQoIndyYXBwZWQgZW5kIiksci5kZWNvZGVyJiYhci5lbmRlZCl7dmFyIHQ9ci5kZWNvZGVyLmVuZCgpO3QmJnQubGVuZ3RoJiZlLnB1c2godCl9ZS5wdXNoKG51bGwpfSkpLHQub24oImRhdGEiLChmdW5jdGlvbihpKXsoZCgid3JhcHBlZCBkYXRhIiksci5kZWNvZGVyJiYoaT1yLmRlY29kZXIud3JpdGUoaSkpLHIub2JqZWN0TW9kZSYmbnVsbD09aSl8fChyLm9iamVjdE1vZGV8fGkmJmkubGVuZ3RoKSYmKGUucHVzaChpKXx8KG49ITAsdC5wYXVzZSgpKSl9KSksdCl2b2lkIDA9PT10aGlzW2ldJiYiZnVuY3Rpb24iPT10eXBlb2YgdFtpXSYmKHRoaXNbaV09ZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHRbZV0uYXBwbHkodCxhcmd1bWVudHMpfX0oaSkpO2Zvcih2YXIgbz0wO288Yi5sZW5ndGg7bysrKXQub24oYltvXSx0aGlzLmVtaXQuYmluZCh0aGlzLGJbb10pKTtyZXR1cm4gdGhpcy5fcmVhZD1mdW5jdGlvbihlKXtkKCJ3cmFwcGVkIF9yZWFkIixlKSxuJiYobj0hMSx0LnJlc3VtZSgpKX0sdGhpc30sT2JqZWN0LmRlZmluZVByb3BlcnR5KHYucHJvdG90eXBlLCJyZWFkYWJsZUhpZ2hXYXRlck1hcmsiLHtlbnVtZXJhYmxlOiExLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9yZWFkYWJsZVN0YXRlLmhpZ2hXYXRlck1hcmt9fSksdi5fZnJvbUxpc3Q9T30pLmNhbGwodGhpcyxyKDYpLHIoNSkpfSxmdW5jdGlvbih0LGUscil7dC5leHBvcnRzPXIoMTIpLkV2ZW50RW1pdHRlcn0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDQzKTtmdW5jdGlvbiBpKHQsZSl7dC5lbWl0KCJlcnJvciIsZSl9dC5leHBvcnRzPXtkZXN0cm95OmZ1bmN0aW9uKHQsZSl7dmFyIHI9dGhpcyxvPXRoaXMuX3JlYWRhYmxlU3RhdGUmJnRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkLHM9dGhpcy5fd3JpdGFibGVTdGF0ZSYmdGhpcy5fd3JpdGFibGVTdGF0ZS5kZXN0cm95ZWQ7cmV0dXJuIG98fHM/KGU/ZSh0KTohdHx8dGhpcy5fd3JpdGFibGVTdGF0ZSYmdGhpcy5fd3JpdGFibGVTdGF0ZS5lcnJvckVtaXR0ZWR8fG4ubmV4dFRpY2soaSx0aGlzLHQpLHRoaXMpOih0aGlzLl9yZWFkYWJsZVN0YXRlJiYodGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWQ9ITApLHRoaXMuX3dyaXRhYmxlU3RhdGUmJih0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZD0hMCksdGhpcy5fZGVzdHJveSh0fHxudWxsLChmdW5jdGlvbih0KXshZSYmdD8obi5uZXh0VGljayhpLHIsdCksci5fd3JpdGFibGVTdGF0ZSYmKHIuX3dyaXRhYmxlU3RhdGUuZXJyb3JFbWl0dGVkPSEwKSk6ZSYmZSh0KX0pKSx0aGlzKX0sdW5kZXN0cm95OmZ1bmN0aW9uKCl7dGhpcy5fcmVhZGFibGVTdGF0ZSYmKHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkPSExLHRoaXMuX3JlYWRhYmxlU3RhdGUucmVhZGluZz0hMSx0aGlzLl9yZWFkYWJsZVN0YXRlLmVuZGVkPSExLHRoaXMuX3JlYWRhYmxlU3RhdGUuZW5kRW1pdHRlZD0hMSksdGhpcy5fd3JpdGFibGVTdGF0ZSYmKHRoaXMuX3dyaXRhYmxlU3RhdGUuZGVzdHJveWVkPSExLHRoaXMuX3dyaXRhYmxlU3RhdGUuZW5kZWQ9ITEsdGhpcy5fd3JpdGFibGVTdGF0ZS5lbmRpbmc9ITEsdGhpcy5fd3JpdGFibGVTdGF0ZS5maW5pc2hlZD0hMSx0aGlzLl93cml0YWJsZVN0YXRlLmVycm9yRW1pdHRlZD0hMSl9fX0sZnVuY3Rpb24odCxlLHIpeyhmdW5jdGlvbih0KXt2YXIgbj12b2lkIDAhPT10JiZ0fHwidW5kZWZpbmVkIiE9dHlwZW9mIHNlbGYmJnNlbGZ8fHdpbmRvdyxpPUZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseTtmdW5jdGlvbiBvKHQsZSl7dGhpcy5faWQ9dCx0aGlzLl9jbGVhckZuPWV9ZS5zZXRUaW1lb3V0PWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBvKGkuY2FsbChzZXRUaW1lb3V0LG4sYXJndW1lbnRzKSxjbGVhclRpbWVvdXQpfSxlLnNldEludGVydmFsPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBvKGkuY2FsbChzZXRJbnRlcnZhbCxuLGFyZ3VtZW50cyksY2xlYXJJbnRlcnZhbCl9LGUuY2xlYXJUaW1lb3V0PWUuY2xlYXJJbnRlcnZhbD1mdW5jdGlvbih0KXt0JiZ0LmNsb3NlKCl9LG8ucHJvdG90eXBlLnVucmVmPW8ucHJvdG90eXBlLnJlZj1mdW5jdGlvbigpe30sby5wcm90b3R5cGUuY2xvc2U9ZnVuY3Rpb24oKXt0aGlzLl9jbGVhckZuLmNhbGwobix0aGlzLl9pZCl9LGUuZW5yb2xsPWZ1bmN0aW9uKHQsZSl7Y2xlYXJUaW1lb3V0KHQuX2lkbGVUaW1lb3V0SWQpLHQuX2lkbGVUaW1lb3V0PWV9LGUudW5lbnJvbGw9ZnVuY3Rpb24odCl7Y2xlYXJUaW1lb3V0KHQuX2lkbGVUaW1lb3V0SWQpLHQuX2lkbGVUaW1lb3V0PS0xfSxlLl91bnJlZkFjdGl2ZT1lLmFjdGl2ZT1mdW5jdGlvbih0KXtjbGVhclRpbWVvdXQodC5faWRsZVRpbWVvdXRJZCk7dmFyIGU9dC5faWRsZVRpbWVvdXQ7ZT49MCYmKHQuX2lkbGVUaW1lb3V0SWQ9c2V0VGltZW91dCgoZnVuY3Rpb24oKXt0Ll9vblRpbWVvdXQmJnQuX29uVGltZW91dCgpfSksZSkpfSxyKDIwOCksZS5zZXRJbW1lZGlhdGU9InVuZGVmaW5lZCIhPXR5cGVvZiBzZWxmJiZzZWxmLnNldEltbWVkaWF0ZXx8dm9pZCAwIT09dCYmdC5zZXRJbW1lZGlhdGV8fHRoaXMmJnRoaXMuc2V0SW1tZWRpYXRlLGUuY2xlYXJJbW1lZGlhdGU9InVuZGVmaW5lZCIhPXR5cGVvZiBzZWxmJiZzZWxmLmNsZWFySW1tZWRpYXRlfHx2b2lkIDAhPT10JiZ0LmNsZWFySW1tZWRpYXRlfHx0aGlzJiZ0aGlzLmNsZWFySW1tZWRpYXRlfSkuY2FsbCh0aGlzLHIoNikpfSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3QuZXhwb3J0cz1zO3ZhciBuPXIoMTkpLGk9T2JqZWN0LmNyZWF0ZShyKDM1KSk7ZnVuY3Rpb24gbyh0LGUpe3ZhciByPXRoaXMuX3RyYW5zZm9ybVN0YXRlO3IudHJhbnNmb3JtaW5nPSExO3ZhciBuPXIud3JpdGVjYjtpZighbilyZXR1cm4gdGhpcy5lbWl0KCJlcnJvciIsbmV3IEVycm9yKCJ3cml0ZSBjYWxsYmFjayBjYWxsZWQgbXVsdGlwbGUgdGltZXMiKSk7ci53cml0ZWNodW5rPW51bGwsci53cml0ZWNiPW51bGwsbnVsbCE9ZSYmdGhpcy5wdXNoKGUpLG4odCk7dmFyIGk9dGhpcy5fcmVhZGFibGVTdGF0ZTtpLnJlYWRpbmc9ITEsKGkubmVlZFJlYWRhYmxlfHxpLmxlbmd0aDxpLmhpZ2hXYXRlck1hcmspJiZ0aGlzLl9yZWFkKGkuaGlnaFdhdGVyTWFyayl9ZnVuY3Rpb24gcyh0KXtpZighKHRoaXMgaW5zdGFuY2VvZiBzKSlyZXR1cm4gbmV3IHModCk7bi5jYWxsKHRoaXMsdCksdGhpcy5fdHJhbnNmb3JtU3RhdGU9e2FmdGVyVHJhbnNmb3JtOm8uYmluZCh0aGlzKSxuZWVkVHJhbnNmb3JtOiExLHRyYW5zZm9ybWluZzohMSx3cml0ZWNiOm51bGwsd3JpdGVjaHVuazpudWxsLHdyaXRlZW5jb2Rpbmc6bnVsbH0sdGhpcy5fcmVhZGFibGVTdGF0ZS5uZWVkUmVhZGFibGU9ITAsdGhpcy5fcmVhZGFibGVTdGF0ZS5zeW5jPSExLHQmJigiZnVuY3Rpb24iPT10eXBlb2YgdC50cmFuc2Zvcm0mJih0aGlzLl90cmFuc2Zvcm09dC50cmFuc2Zvcm0pLCJmdW5jdGlvbiI9PXR5cGVvZiB0LmZsdXNoJiYodGhpcy5fZmx1c2g9dC5mbHVzaCkpLHRoaXMub24oInByZWZpbmlzaCIsYSl9ZnVuY3Rpb24gYSgpe3ZhciB0PXRoaXM7ImZ1bmN0aW9uIj09dHlwZW9mIHRoaXMuX2ZsdXNoP3RoaXMuX2ZsdXNoKChmdW5jdGlvbihlLHIpe3UodCxlLHIpfSkpOnUodGhpcyxudWxsLG51bGwpfWZ1bmN0aW9uIHUodCxlLHIpe2lmKGUpcmV0dXJuIHQuZW1pdCgiZXJyb3IiLGUpO2lmKG51bGwhPXImJnQucHVzaChyKSx0Ll93cml0YWJsZVN0YXRlLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIkNhbGxpbmcgdHJhbnNmb3JtIGRvbmUgd2hlbiB3cy5sZW5ndGggIT0gMCIpO2lmKHQuX3RyYW5zZm9ybVN0YXRlLnRyYW5zZm9ybWluZyl0aHJvdyBuZXcgRXJyb3IoIkNhbGxpbmcgdHJhbnNmb3JtIGRvbmUgd2hlbiBzdGlsbCB0cmFuc2Zvcm1pbmciKTtyZXR1cm4gdC5wdXNoKG51bGwpfWkuaW5oZXJpdHM9cigzKSxpLmluaGVyaXRzKHMsbikscy5wcm90b3R5cGUucHVzaD1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLl90cmFuc2Zvcm1TdGF0ZS5uZWVkVHJhbnNmb3JtPSExLG4ucHJvdG90eXBlLnB1c2guY2FsbCh0aGlzLHQsZSl9LHMucHJvdG90eXBlLl90cmFuc2Zvcm09ZnVuY3Rpb24odCxlLHIpe3Rocm93IG5ldyBFcnJvcigiX3RyYW5zZm9ybSgpIGlzIG5vdCBpbXBsZW1lbnRlZCIpfSxzLnByb3RvdHlwZS5fd3JpdGU9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPXRoaXMuX3RyYW5zZm9ybVN0YXRlO2lmKG4ud3JpdGVjYj1yLG4ud3JpdGVjaHVuaz10LG4ud3JpdGVlbmNvZGluZz1lLCFuLnRyYW5zZm9ybWluZyl7dmFyIGk9dGhpcy5fcmVhZGFibGVTdGF0ZTsobi5uZWVkVHJhbnNmb3JtfHxpLm5lZWRSZWFkYWJsZXx8aS5sZW5ndGg8aS5oaWdoV2F0ZXJNYXJrKSYmdGhpcy5fcmVhZChpLmhpZ2hXYXRlck1hcmspfX0scy5wcm90b3R5cGUuX3JlYWQ9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fdHJhbnNmb3JtU3RhdGU7bnVsbCE9PWUud3JpdGVjaHVuayYmZS53cml0ZWNiJiYhZS50cmFuc2Zvcm1pbmc/KGUudHJhbnNmb3JtaW5nPSEwLHRoaXMuX3RyYW5zZm9ybShlLndyaXRlY2h1bmssZS53cml0ZWVuY29kaW5nLGUuYWZ0ZXJUcmFuc2Zvcm0pKTplLm5lZWRUcmFuc2Zvcm09ITB9LHMucHJvdG90eXBlLl9kZXN0cm95PWZ1bmN0aW9uKHQsZSl7dmFyIHI9dGhpcztuLnByb3RvdHlwZS5fZGVzdHJveS5jYWxsKHRoaXMsdCwoZnVuY3Rpb24odCl7ZSh0KSxyLmVtaXQoImNsb3NlIil9KSl9fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj1yKDIyNyksaT1yKDIyOCk7ZS5rZWNjYWsyMjQ9bi5jcmVhdGVIYXNoRnVuY3Rpb24oKGZ1bmN0aW9uKCl7cmV0dXJuIGkoImtlY2NhazIyNCIpfSkpLGUua2VjY2FrMjU2PW4uY3JlYXRlSGFzaEZ1bmN0aW9uKChmdW5jdGlvbigpe3JldHVybiBpKCJrZWNjYWsyNTYiKX0pKSxlLmtlY2NhazM4ND1uLmNyZWF0ZUhhc2hGdW5jdGlvbigoZnVuY3Rpb24oKXtyZXR1cm4gaSgia2VjY2FrMzg0Iil9KSksZS5rZWNjYWs1MTI9bi5jcmVhdGVIYXNoRnVuY3Rpb24oKGZ1bmN0aW9uKCl7cmV0dXJuIGkoImtlY2NhazUxMiIpfSkpfSxmdW5jdGlvbih0LGUscil7KGU9dC5leHBvcnRzPXIoMTEyKSkuU3RyZWFtPWUsZS5SZWFkYWJsZT1lLGUuV3JpdGFibGU9cigxMTYpLGUuRHVwbGV4PXIoMjgpLGUuVHJhbnNmb3JtPXIoMTE3KSxlLlBhc3NUaHJvdWdoPXIoMjM2KSxlLmZpbmlzaGVkPXIoNTcpLGUucGlwZWxpbmU9cigyMzcpfSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiOyhmdW5jdGlvbihlLG4pe3ZhciBpO3QuZXhwb3J0cz14LHguUmVhZGFibGVTdGF0ZT1FO3IoMTIpLkV2ZW50RW1pdHRlcjt2YXIgbz1mdW5jdGlvbih0LGUpe3JldHVybiB0Lmxpc3RlbmVycyhlKS5sZW5ndGh9LHM9cigxMTMpLGE9cigyKS5CdWZmZXIsdT1lLlVpbnQ4QXJyYXl8fGZ1bmN0aW9uKCl7fTt2YXIgYyxmPXIoMjMxKTtjPWYmJmYuZGVidWdsb2c/Zi5kZWJ1Z2xvZygic3RyZWFtIik6ZnVuY3Rpb24oKXt9O3ZhciBoLGwsZCxwPXIoMjMyKSxtPXIoMTE0KSxnPXIoMTE1KS5nZXRIaWdoV2F0ZXJNYXJrLGI9cigyNykuY29kZXMseT1iLkVSUl9JTlZBTElEX0FSR19UWVBFLHY9Yi5FUlJfU1RSRUFNX1BVU0hfQUZURVJfRU9GLF89Yi5FUlJfTUVUSE9EX05PVF9JTVBMRU1FTlRFRCx3PWIuRVJSX1NUUkVBTV9VTlNISUZUX0FGVEVSX0VORF9FVkVOVDtyKDMpKHgscyk7dmFyIE09bS5lcnJvck9yRGVzdHJveSxTPVsiZXJyb3IiLCJjbG9zZSIsImRlc3Ryb3kiLCJwYXVzZSIsInJlc3VtZSJdO2Z1bmN0aW9uIEUodCxlLG4pe2k9aXx8cigyOCksdD10fHx7fSwiYm9vbGVhbiIhPXR5cGVvZiBuJiYobj1lIGluc3RhbmNlb2YgaSksdGhpcy5vYmplY3RNb2RlPSEhdC5vYmplY3RNb2RlLG4mJih0aGlzLm9iamVjdE1vZGU9dGhpcy5vYmplY3RNb2RlfHwhIXQucmVhZGFibGVPYmplY3RNb2RlKSx0aGlzLmhpZ2hXYXRlck1hcms9Zyh0aGlzLHQsInJlYWRhYmxlSGlnaFdhdGVyTWFyayIsbiksdGhpcy5idWZmZXI9bmV3IHAsdGhpcy5sZW5ndGg9MCx0aGlzLnBpcGVzPW51bGwsdGhpcy5waXBlc0NvdW50PTAsdGhpcy5mbG93aW5nPW51bGwsdGhpcy5lbmRlZD0hMSx0aGlzLmVuZEVtaXR0ZWQ9ITEsdGhpcy5yZWFkaW5nPSExLHRoaXMuc3luYz0hMCx0aGlzLm5lZWRSZWFkYWJsZT0hMSx0aGlzLmVtaXR0ZWRSZWFkYWJsZT0hMSx0aGlzLnJlYWRhYmxlTGlzdGVuaW5nPSExLHRoaXMucmVzdW1lU2NoZWR1bGVkPSExLHRoaXMucGF1c2VkPSEwLHRoaXMuZW1pdENsb3NlPSExIT09dC5lbWl0Q2xvc2UsdGhpcy5hdXRvRGVzdHJveT0hIXQuYXV0b0Rlc3Ryb3ksdGhpcy5kZXN0cm95ZWQ9ITEsdGhpcy5kZWZhdWx0RW5jb2Rpbmc9dC5kZWZhdWx0RW5jb2Rpbmd8fCJ1dGY4Iix0aGlzLmF3YWl0RHJhaW49MCx0aGlzLnJlYWRpbmdNb3JlPSExLHRoaXMuZGVjb2Rlcj1udWxsLHRoaXMuZW5jb2Rpbmc9bnVsbCx0LmVuY29kaW5nJiYoaHx8KGg9cigyMCkuU3RyaW5nRGVjb2RlciksdGhpcy5kZWNvZGVyPW5ldyBoKHQuZW5jb2RpbmcpLHRoaXMuZW5jb2Rpbmc9dC5lbmNvZGluZyl9ZnVuY3Rpb24geCh0KXtpZihpPWl8fHIoMjgpLCEodGhpcyBpbnN0YW5jZW9mIHgpKXJldHVybiBuZXcgeCh0KTt2YXIgZT10aGlzIGluc3RhbmNlb2YgaTt0aGlzLl9yZWFkYWJsZVN0YXRlPW5ldyBFKHQsdGhpcyxlKSx0aGlzLnJlYWRhYmxlPSEwLHQmJigiZnVuY3Rpb24iPT10eXBlb2YgdC5yZWFkJiYodGhpcy5fcmVhZD10LnJlYWQpLCJmdW5jdGlvbiI9PXR5cGVvZiB0LmRlc3Ryb3kmJih0aGlzLl9kZXN0cm95PXQuZGVzdHJveSkpLHMuY2FsbCh0aGlzKX1mdW5jdGlvbiBrKHQsZSxyLG4saSl7YygicmVhZGFibGVBZGRDaHVuayIsZSk7dmFyIG8scz10Ll9yZWFkYWJsZVN0YXRlO2lmKG51bGw9PT1lKXMucmVhZGluZz0hMSxmdW5jdGlvbih0LGUpe2lmKGMoIm9uRW9mQ2h1bmsiKSxlLmVuZGVkKXJldHVybjtpZihlLmRlY29kZXIpe3ZhciByPWUuZGVjb2Rlci5lbmQoKTtyJiZyLmxlbmd0aCYmKGUuYnVmZmVyLnB1c2gociksZS5sZW5ndGgrPWUub2JqZWN0TW9kZT8xOnIubGVuZ3RoKX1lLmVuZGVkPSEwLGUuc3luYz9UKHQpOihlLm5lZWRSZWFkYWJsZT0hMSxlLmVtaXR0ZWRSZWFkYWJsZXx8KGUuZW1pdHRlZFJlYWRhYmxlPSEwLE8odCkpKX0odCxzKTtlbHNlIGlmKGl8fChvPWZ1bmN0aW9uKHQsZSl7dmFyIHI7bj1lLGEuaXNCdWZmZXIobil8fG4gaW5zdGFuY2VvZiB1fHwic3RyaW5nIj09dHlwZW9mIGV8fHZvaWQgMD09PWV8fHQub2JqZWN0TW9kZXx8KHI9bmV3IHkoImNodW5rIixbInN0cmluZyIsIkJ1ZmZlciIsIlVpbnQ4QXJyYXkiXSxlKSk7dmFyIG47cmV0dXJuIHJ9KHMsZSkpLG8pTSh0LG8pO2Vsc2UgaWYocy5vYmplY3RNb2RlfHxlJiZlLmxlbmd0aD4wKWlmKCJzdHJpbmciPT10eXBlb2YgZXx8cy5vYmplY3RNb2RlfHxPYmplY3QuZ2V0UHJvdG90eXBlT2YoZSk9PT1hLnByb3RvdHlwZXx8KGU9ZnVuY3Rpb24odCl7cmV0dXJuIGEuZnJvbSh0KX0oZSkpLG4pcy5lbmRFbWl0dGVkP00odCxuZXcgdyk6QSh0LHMsZSwhMCk7ZWxzZSBpZihzLmVuZGVkKU0odCxuZXcgdik7ZWxzZXtpZihzLmRlc3Ryb3llZClyZXR1cm4hMTtzLnJlYWRpbmc9ITEscy5kZWNvZGVyJiYhcj8oZT1zLmRlY29kZXIud3JpdGUoZSkscy5vYmplY3RNb2RlfHwwIT09ZS5sZW5ndGg/QSh0LHMsZSwhMSk6Qyh0LHMpKTpBKHQscyxlLCExKX1lbHNlIG58fChzLnJlYWRpbmc9ITEsQyh0LHMpKTtyZXR1cm4hcy5lbmRlZCYmKHMubGVuZ3RoPHMuaGlnaFdhdGVyTWFya3x8MD09PXMubGVuZ3RoKX1mdW5jdGlvbiBBKHQsZSxyLG4pe2UuZmxvd2luZyYmMD09PWUubGVuZ3RoJiYhZS5zeW5jPyhlLmF3YWl0RHJhaW49MCx0LmVtaXQoImRhdGEiLHIpKTooZS5sZW5ndGgrPWUub2JqZWN0TW9kZT8xOnIubGVuZ3RoLG4/ZS5idWZmZXIudW5zaGlmdChyKTplLmJ1ZmZlci5wdXNoKHIpLGUubmVlZFJlYWRhYmxlJiZUKHQpKSxDKHQsZSl9T2JqZWN0LmRlZmluZVByb3BlcnR5KHgucHJvdG90eXBlLCJkZXN0cm95ZWQiLHtlbnVtZXJhYmxlOiExLGdldDpmdW5jdGlvbigpe3JldHVybiB2b2lkIDAhPT10aGlzLl9yZWFkYWJsZVN0YXRlJiZ0aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZH0sc2V0OmZ1bmN0aW9uKHQpe3RoaXMuX3JlYWRhYmxlU3RhdGUmJih0aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZD10KX19KSx4LnByb3RvdHlwZS5kZXN0cm95PW0uZGVzdHJveSx4LnByb3RvdHlwZS5fdW5kZXN0cm95PW0udW5kZXN0cm95LHgucHJvdG90eXBlLl9kZXN0cm95PWZ1bmN0aW9uKHQsZSl7ZSh0KX0seC5wcm90b3R5cGUucHVzaD1mdW5jdGlvbih0LGUpe3ZhciByLG49dGhpcy5fcmVhZGFibGVTdGF0ZTtyZXR1cm4gbi5vYmplY3RNb2RlP3I9ITA6InN0cmluZyI9PXR5cGVvZiB0JiYoKGU9ZXx8bi5kZWZhdWx0RW5jb2RpbmcpIT09bi5lbmNvZGluZyYmKHQ9YS5mcm9tKHQsZSksZT0iIikscj0hMCksayh0aGlzLHQsZSwhMSxyKX0seC5wcm90b3R5cGUudW5zaGlmdD1mdW5jdGlvbih0KXtyZXR1cm4gayh0aGlzLHQsbnVsbCwhMCwhMSl9LHgucHJvdG90eXBlLmlzUGF1c2VkPWZ1bmN0aW9uKCl7cmV0dXJuITE9PT10aGlzLl9yZWFkYWJsZVN0YXRlLmZsb3dpbmd9LHgucHJvdG90eXBlLnNldEVuY29kaW5nPWZ1bmN0aW9uKHQpe2h8fChoPXIoMjApLlN0cmluZ0RlY29kZXIpO3ZhciBlPW5ldyBoKHQpO3RoaXMuX3JlYWRhYmxlU3RhdGUuZGVjb2Rlcj1lLHRoaXMuX3JlYWRhYmxlU3RhdGUuZW5jb2Rpbmc9dGhpcy5fcmVhZGFibGVTdGF0ZS5kZWNvZGVyLmVuY29kaW5nO2Zvcih2YXIgbj10aGlzLl9yZWFkYWJsZVN0YXRlLmJ1ZmZlci5oZWFkLGk9IiI7bnVsbCE9PW47KWkrPWUud3JpdGUobi5kYXRhKSxuPW4ubmV4dDtyZXR1cm4gdGhpcy5fcmVhZGFibGVTdGF0ZS5idWZmZXIuY2xlYXIoKSwiIiE9PWkmJnRoaXMuX3JlYWRhYmxlU3RhdGUuYnVmZmVyLnB1c2goaSksdGhpcy5fcmVhZGFibGVTdGF0ZS5sZW5ndGg9aS5sZW5ndGgsdGhpc307ZnVuY3Rpb24gUih0LGUpe3JldHVybiB0PD0wfHwwPT09ZS5sZW5ndGgmJmUuZW5kZWQ/MDplLm9iamVjdE1vZGU/MTp0IT10P2UuZmxvd2luZyYmZS5sZW5ndGg/ZS5idWZmZXIuaGVhZC5kYXRhLmxlbmd0aDplLmxlbmd0aDoodD5lLmhpZ2hXYXRlck1hcmsmJihlLmhpZ2hXYXRlck1hcms9ZnVuY3Rpb24odCl7cmV0dXJuIHQ+PTEwNzM3NDE4MjQ/dD0xMDczNzQxODI0Oih0LS0sdHw9dD4+PjEsdHw9dD4+PjIsdHw9dD4+PjQsdHw9dD4+PjgsdHw9dD4+PjE2LHQrKyksdH0odCkpLHQ8PWUubGVuZ3RoP3Q6ZS5lbmRlZD9lLmxlbmd0aDooZS5uZWVkUmVhZGFibGU9ITAsMCkpfWZ1bmN0aW9uIFQodCl7dmFyIGU9dC5fcmVhZGFibGVTdGF0ZTtjKCJlbWl0UmVhZGFibGUiLGUubmVlZFJlYWRhYmxlLGUuZW1pdHRlZFJlYWRhYmxlKSxlLm5lZWRSZWFkYWJsZT0hMSxlLmVtaXR0ZWRSZWFkYWJsZXx8KGMoImVtaXRSZWFkYWJsZSIsZS5mbG93aW5nKSxlLmVtaXR0ZWRSZWFkYWJsZT0hMCxuLm5leHRUaWNrKE8sdCkpfWZ1bmN0aW9uIE8odCl7dmFyIGU9dC5fcmVhZGFibGVTdGF0ZTtjKCJlbWl0UmVhZGFibGVfIixlLmRlc3Ryb3llZCxlLmxlbmd0aCxlLmVuZGVkKSxlLmRlc3Ryb3llZHx8IWUubGVuZ3RoJiYhZS5lbmRlZHx8KHQuZW1pdCgicmVhZGFibGUiKSxlLmVtaXR0ZWRSZWFkYWJsZT0hMSksZS5uZWVkUmVhZGFibGU9IWUuZmxvd2luZyYmIWUuZW5kZWQmJmUubGVuZ3RoPD1lLmhpZ2hXYXRlck1hcmssaih0KX1mdW5jdGlvbiBDKHQsZSl7ZS5yZWFkaW5nTW9yZXx8KGUucmVhZGluZ01vcmU9ITAsbi5uZXh0VGljayhQLHQsZSkpfWZ1bmN0aW9uIFAodCxlKXtmb3IoOyFlLnJlYWRpbmcmJiFlLmVuZGVkJiYoZS5sZW5ndGg8ZS5oaWdoV2F0ZXJNYXJrfHxlLmZsb3dpbmcmJjA9PT1lLmxlbmd0aCk7KXt2YXIgcj1lLmxlbmd0aDtpZihjKCJtYXliZVJlYWRNb3JlIHJlYWQgMCIpLHQucmVhZCgwKSxyPT09ZS5sZW5ndGgpYnJlYWt9ZS5yZWFkaW5nTW9yZT0hMX1mdW5jdGlvbiBJKHQpe3ZhciBlPXQuX3JlYWRhYmxlU3RhdGU7ZS5yZWFkYWJsZUxpc3RlbmluZz10Lmxpc3RlbmVyQ291bnQoInJlYWRhYmxlIik+MCxlLnJlc3VtZVNjaGVkdWxlZCYmIWUucGF1c2VkP2UuZmxvd2luZz0hMDp0Lmxpc3RlbmVyQ291bnQoImRhdGEiKT4wJiZ0LnJlc3VtZSgpfWZ1bmN0aW9uIEIodCl7YygicmVhZGFibGUgbmV4dHRpY2sgcmVhZCAwIiksdC5yZWFkKDApfWZ1bmN0aW9uIEwodCxlKXtjKCJyZXN1bWUiLGUucmVhZGluZyksZS5yZWFkaW5nfHx0LnJlYWQoMCksZS5yZXN1bWVTY2hlZHVsZWQ9ITEsdC5lbWl0KCJyZXN1bWUiKSxqKHQpLGUuZmxvd2luZyYmIWUucmVhZGluZyYmdC5yZWFkKDApfWZ1bmN0aW9uIGoodCl7dmFyIGU9dC5fcmVhZGFibGVTdGF0ZTtmb3IoYygiZmxvdyIsZS5mbG93aW5nKTtlLmZsb3dpbmcmJm51bGwhPT10LnJlYWQoKTspO31mdW5jdGlvbiBOKHQsZSl7cmV0dXJuIDA9PT1lLmxlbmd0aD9udWxsOihlLm9iamVjdE1vZGU/cj1lLmJ1ZmZlci5zaGlmdCgpOiF0fHx0Pj1lLmxlbmd0aD8ocj1lLmRlY29kZXI/ZS5idWZmZXIuam9pbigiIik6MT09PWUuYnVmZmVyLmxlbmd0aD9lLmJ1ZmZlci5maXJzdCgpOmUuYnVmZmVyLmNvbmNhdChlLmxlbmd0aCksZS5idWZmZXIuY2xlYXIoKSk6cj1lLmJ1ZmZlci5jb25zdW1lKHQsZS5kZWNvZGVyKSxyKTt2YXIgcn1mdW5jdGlvbiBxKHQpe3ZhciBlPXQuX3JlYWRhYmxlU3RhdGU7YygiZW5kUmVhZGFibGUiLGUuZW5kRW1pdHRlZCksZS5lbmRFbWl0dGVkfHwoZS5lbmRlZD0hMCxuLm5leHRUaWNrKFUsZSx0KSl9ZnVuY3Rpb24gVSh0LGUpe2lmKGMoImVuZFJlYWRhYmxlTlQiLHQuZW5kRW1pdHRlZCx0Lmxlbmd0aCksIXQuZW5kRW1pdHRlZCYmMD09PXQubGVuZ3RoJiYodC5lbmRFbWl0dGVkPSEwLGUucmVhZGFibGU9ITEsZS5lbWl0KCJlbmQiKSx0LmF1dG9EZXN0cm95KSl7dmFyIHI9ZS5fd3JpdGFibGVTdGF0ZTsoIXJ8fHIuYXV0b0Rlc3Ryb3kmJnIuZmluaXNoZWQpJiZlLmRlc3Ryb3koKX19ZnVuY3Rpb24gRCh0LGUpe2Zvcih2YXIgcj0wLG49dC5sZW5ndGg7cjxuO3IrKylpZih0W3JdPT09ZSlyZXR1cm4gcjtyZXR1cm4tMX14LnByb3RvdHlwZS5yZWFkPWZ1bmN0aW9uKHQpe2MoInJlYWQiLHQpLHQ9cGFyc2VJbnQodCwxMCk7dmFyIGU9dGhpcy5fcmVhZGFibGVTdGF0ZSxyPXQ7aWYoMCE9PXQmJihlLmVtaXR0ZWRSZWFkYWJsZT0hMSksMD09PXQmJmUubmVlZFJlYWRhYmxlJiYoKDAhPT1lLmhpZ2hXYXRlck1hcms/ZS5sZW5ndGg+PWUuaGlnaFdhdGVyTWFyazplLmxlbmd0aD4wKXx8ZS5lbmRlZCkpcmV0dXJuIGMoInJlYWQ6IGVtaXRSZWFkYWJsZSIsZS5sZW5ndGgsZS5lbmRlZCksMD09PWUubGVuZ3RoJiZlLmVuZGVkP3EodGhpcyk6VCh0aGlzKSxudWxsO2lmKDA9PT0odD1SKHQsZSkpJiZlLmVuZGVkKXJldHVybiAwPT09ZS5sZW5ndGgmJnEodGhpcyksbnVsbDt2YXIgbixpPWUubmVlZFJlYWRhYmxlO3JldHVybiBjKCJuZWVkIHJlYWRhYmxlIixpKSwoMD09PWUubGVuZ3RofHxlLmxlbmd0aC10PGUuaGlnaFdhdGVyTWFyaykmJmMoImxlbmd0aCBsZXNzIHRoYW4gd2F0ZXJtYXJrIixpPSEwKSxlLmVuZGVkfHxlLnJlYWRpbmc/YygicmVhZGluZyBvciBlbmRlZCIsaT0hMSk6aSYmKGMoImRvIHJlYWQiKSxlLnJlYWRpbmc9ITAsZS5zeW5jPSEwLDA9PT1lLmxlbmd0aCYmKGUubmVlZFJlYWRhYmxlPSEwKSx0aGlzLl9yZWFkKGUuaGlnaFdhdGVyTWFyayksZS5zeW5jPSExLGUucmVhZGluZ3x8KHQ9UihyLGUpKSksbnVsbD09PShuPXQ+MD9OKHQsZSk6bnVsbCk/KGUubmVlZFJlYWRhYmxlPWUubGVuZ3RoPD1lLmhpZ2hXYXRlck1hcmssdD0wKTooZS5sZW5ndGgtPXQsZS5hd2FpdERyYWluPTApLDA9PT1lLmxlbmd0aCYmKGUuZW5kZWR8fChlLm5lZWRSZWFkYWJsZT0hMCksciE9PXQmJmUuZW5kZWQmJnEodGhpcykpLG51bGwhPT1uJiZ0aGlzLmVtaXQoImRhdGEiLG4pLG59LHgucHJvdG90eXBlLl9yZWFkPWZ1bmN0aW9uKHQpe00odGhpcyxuZXcgXygiX3JlYWQoKSIpKX0seC5wcm90b3R5cGUucGlwZT1mdW5jdGlvbih0LGUpe3ZhciByPXRoaXMsaT10aGlzLl9yZWFkYWJsZVN0YXRlO3N3aXRjaChpLnBpcGVzQ291bnQpe2Nhc2UgMDppLnBpcGVzPXQ7YnJlYWs7Y2FzZSAxOmkucGlwZXM9W2kucGlwZXMsdF07YnJlYWs7ZGVmYXVsdDppLnBpcGVzLnB1c2godCl9aS5waXBlc0NvdW50Kz0xLGMoInBpcGUgY291bnQ9JWQgb3B0cz0laiIsaS5waXBlc0NvdW50LGUpO3ZhciBzPSghZXx8ITEhPT1lLmVuZCkmJnQhPT1uLnN0ZG91dCYmdCE9PW4uc3RkZXJyP3U6ZztmdW5jdGlvbiBhKGUsbil7Yygib251bnBpcGUiKSxlPT09ciYmbiYmITE9PT1uLmhhc1VucGlwZWQmJihuLmhhc1VucGlwZWQ9ITAsYygiY2xlYW51cCIpLHQucmVtb3ZlTGlzdGVuZXIoImNsb3NlIixwKSx0LnJlbW92ZUxpc3RlbmVyKCJmaW5pc2giLG0pLHQucmVtb3ZlTGlzdGVuZXIoImRyYWluIixmKSx0LnJlbW92ZUxpc3RlbmVyKCJlcnJvciIsZCksdC5yZW1vdmVMaXN0ZW5lcigidW5waXBlIixhKSxyLnJlbW92ZUxpc3RlbmVyKCJlbmQiLHUpLHIucmVtb3ZlTGlzdGVuZXIoImVuZCIsZyksci5yZW1vdmVMaXN0ZW5lcigiZGF0YSIsbCksaD0hMCwhaS5hd2FpdERyYWlufHx0Ll93cml0YWJsZVN0YXRlJiYhdC5fd3JpdGFibGVTdGF0ZS5uZWVkRHJhaW58fGYoKSl9ZnVuY3Rpb24gdSgpe2MoIm9uZW5kIiksdC5lbmQoKX1pLmVuZEVtaXR0ZWQ/bi5uZXh0VGljayhzKTpyLm9uY2UoImVuZCIscyksdC5vbigidW5waXBlIixhKTt2YXIgZj1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZT10Ll9yZWFkYWJsZVN0YXRlO2MoInBpcGVPbkRyYWluIixlLmF3YWl0RHJhaW4pLGUuYXdhaXREcmFpbiYmZS5hd2FpdERyYWluLS0sMD09PWUuYXdhaXREcmFpbiYmbyh0LCJkYXRhIikmJihlLmZsb3dpbmc9ITAsaih0KSl9fShyKTt0Lm9uKCJkcmFpbiIsZik7dmFyIGg9ITE7ZnVuY3Rpb24gbChlKXtjKCJvbmRhdGEiKTt2YXIgbj10LndyaXRlKGUpO2MoImRlc3Qud3JpdGUiLG4pLCExPT09biYmKCgxPT09aS5waXBlc0NvdW50JiZpLnBpcGVzPT09dHx8aS5waXBlc0NvdW50PjEmJi0xIT09RChpLnBpcGVzLHQpKSYmIWgmJihjKCJmYWxzZSB3cml0ZSByZXNwb25zZSwgcGF1c2UiLGkuYXdhaXREcmFpbiksaS5hd2FpdERyYWluKyspLHIucGF1c2UoKSl9ZnVuY3Rpb24gZChlKXtjKCJvbmVycm9yIixlKSxnKCksdC5yZW1vdmVMaXN0ZW5lcigiZXJyb3IiLGQpLDA9PT1vKHQsImVycm9yIikmJk0odCxlKX1mdW5jdGlvbiBwKCl7dC5yZW1vdmVMaXN0ZW5lcigiZmluaXNoIixtKSxnKCl9ZnVuY3Rpb24gbSgpe2MoIm9uZmluaXNoIiksdC5yZW1vdmVMaXN0ZW5lcigiY2xvc2UiLHApLGcoKX1mdW5jdGlvbiBnKCl7YygidW5waXBlIiksci51bnBpcGUodCl9cmV0dXJuIHIub24oImRhdGEiLGwpLGZ1bmN0aW9uKHQsZSxyKXtpZigiZnVuY3Rpb24iPT10eXBlb2YgdC5wcmVwZW5kTGlzdGVuZXIpcmV0dXJuIHQucHJlcGVuZExpc3RlbmVyKGUscik7dC5fZXZlbnRzJiZ0Ll9ldmVudHNbZV0/QXJyYXkuaXNBcnJheSh0Ll9ldmVudHNbZV0pP3QuX2V2ZW50c1tlXS51bnNoaWZ0KHIpOnQuX2V2ZW50c1tlXT1bcix0Ll9ldmVudHNbZV1dOnQub24oZSxyKX0odCwiZXJyb3IiLGQpLHQub25jZSgiY2xvc2UiLHApLHQub25jZSgiZmluaXNoIixtKSx0LmVtaXQoInBpcGUiLHIpLGkuZmxvd2luZ3x8KGMoInBpcGUgcmVzdW1lIiksci5yZXN1bWUoKSksdH0seC5wcm90b3R5cGUudW5waXBlPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX3JlYWRhYmxlU3RhdGUscj17aGFzVW5waXBlZDohMX07aWYoMD09PWUucGlwZXNDb3VudClyZXR1cm4gdGhpcztpZigxPT09ZS5waXBlc0NvdW50KXJldHVybiB0JiZ0IT09ZS5waXBlc3x8KHR8fCh0PWUucGlwZXMpLGUucGlwZXM9bnVsbCxlLnBpcGVzQ291bnQ9MCxlLmZsb3dpbmc9ITEsdCYmdC5lbWl0KCJ1bnBpcGUiLHRoaXMscikpLHRoaXM7aWYoIXQpe3ZhciBuPWUucGlwZXMsaT1lLnBpcGVzQ291bnQ7ZS5waXBlcz1udWxsLGUucGlwZXNDb3VudD0wLGUuZmxvd2luZz0hMTtmb3IodmFyIG89MDtvPGk7bysrKW5bb10uZW1pdCgidW5waXBlIix0aGlzLHtoYXNVbnBpcGVkOiExfSk7cmV0dXJuIHRoaXN9dmFyIHM9RChlLnBpcGVzLHQpO3JldHVybi0xPT09c3x8KGUucGlwZXMuc3BsaWNlKHMsMSksZS5waXBlc0NvdW50LT0xLDE9PT1lLnBpcGVzQ291bnQmJihlLnBpcGVzPWUucGlwZXNbMF0pLHQuZW1pdCgidW5waXBlIix0aGlzLHIpKSx0aGlzfSx4LnByb3RvdHlwZS5vbj1mdW5jdGlvbih0LGUpe3ZhciByPXMucHJvdG90eXBlLm9uLmNhbGwodGhpcyx0LGUpLGk9dGhpcy5fcmVhZGFibGVTdGF0ZTtyZXR1cm4iZGF0YSI9PT10PyhpLnJlYWRhYmxlTGlzdGVuaW5nPXRoaXMubGlzdGVuZXJDb3VudCgicmVhZGFibGUiKT4wLCExIT09aS5mbG93aW5nJiZ0aGlzLnJlc3VtZSgpKToicmVhZGFibGUiPT09dCYmKGkuZW5kRW1pdHRlZHx8aS5yZWFkYWJsZUxpc3RlbmluZ3x8KGkucmVhZGFibGVMaXN0ZW5pbmc9aS5uZWVkUmVhZGFibGU9ITAsaS5mbG93aW5nPSExLGkuZW1pdHRlZFJlYWRhYmxlPSExLGMoIm9uIHJlYWRhYmxlIixpLmxlbmd0aCxpLnJlYWRpbmcpLGkubGVuZ3RoP1QodGhpcyk6aS5yZWFkaW5nfHxuLm5leHRUaWNrKEIsdGhpcykpKSxyfSx4LnByb3RvdHlwZS5hZGRMaXN0ZW5lcj14LnByb3RvdHlwZS5vbix4LnByb3RvdHlwZS5yZW1vdmVMaXN0ZW5lcj1mdW5jdGlvbih0LGUpe3ZhciByPXMucHJvdG90eXBlLnJlbW92ZUxpc3RlbmVyLmNhbGwodGhpcyx0LGUpO3JldHVybiJyZWFkYWJsZSI9PT10JiZuLm5leHRUaWNrKEksdGhpcykscn0seC5wcm90b3R5cGUucmVtb3ZlQWxsTGlzdGVuZXJzPWZ1bmN0aW9uKHQpe3ZhciBlPXMucHJvdG90eXBlLnJlbW92ZUFsbExpc3RlbmVycy5hcHBseSh0aGlzLGFyZ3VtZW50cyk7cmV0dXJuInJlYWRhYmxlIiE9PXQmJnZvaWQgMCE9PXR8fG4ubmV4dFRpY2soSSx0aGlzKSxlfSx4LnByb3RvdHlwZS5yZXN1bWU9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9yZWFkYWJsZVN0YXRlO3JldHVybiB0LmZsb3dpbmd8fChjKCJyZXN1bWUiKSx0LmZsb3dpbmc9IXQucmVhZGFibGVMaXN0ZW5pbmcsZnVuY3Rpb24odCxlKXtlLnJlc3VtZVNjaGVkdWxlZHx8KGUucmVzdW1lU2NoZWR1bGVkPSEwLG4ubmV4dFRpY2soTCx0LGUpKX0odGhpcyx0KSksdC5wYXVzZWQ9ITEsdGhpc30seC5wcm90b3R5cGUucGF1c2U9ZnVuY3Rpb24oKXtyZXR1cm4gYygiY2FsbCBwYXVzZSBmbG93aW5nPSVqIix0aGlzLl9yZWFkYWJsZVN0YXRlLmZsb3dpbmcpLCExIT09dGhpcy5fcmVhZGFibGVTdGF0ZS5mbG93aW5nJiYoYygicGF1c2UiKSx0aGlzLl9yZWFkYWJsZVN0YXRlLmZsb3dpbmc9ITEsdGhpcy5lbWl0KCJwYXVzZSIpKSx0aGlzLl9yZWFkYWJsZVN0YXRlLnBhdXNlZD0hMCx0aGlzfSx4LnByb3RvdHlwZS53cmFwPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMscj10aGlzLl9yZWFkYWJsZVN0YXRlLG49ITE7Zm9yKHZhciBpIGluIHQub24oImVuZCIsKGZ1bmN0aW9uKCl7aWYoYygid3JhcHBlZCBlbmQiKSxyLmRlY29kZXImJiFyLmVuZGVkKXt2YXIgdD1yLmRlY29kZXIuZW5kKCk7dCYmdC5sZW5ndGgmJmUucHVzaCh0KX1lLnB1c2gobnVsbCl9KSksdC5vbigiZGF0YSIsKGZ1bmN0aW9uKGkpeyhjKCJ3cmFwcGVkIGRhdGEiKSxyLmRlY29kZXImJihpPXIuZGVjb2Rlci53cml0ZShpKSksci5vYmplY3RNb2RlJiZudWxsPT1pKXx8KHIub2JqZWN0TW9kZXx8aSYmaS5sZW5ndGgpJiYoZS5wdXNoKGkpfHwobj0hMCx0LnBhdXNlKCkpKX0pKSx0KXZvaWQgMD09PXRoaXNbaV0mJiJmdW5jdGlvbiI9PXR5cGVvZiB0W2ldJiYodGhpc1tpXT1mdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdFtlXS5hcHBseSh0LGFyZ3VtZW50cyl9fShpKSk7Zm9yKHZhciBvPTA7bzxTLmxlbmd0aDtvKyspdC5vbihTW29dLHRoaXMuZW1pdC5iaW5kKHRoaXMsU1tvXSkpO3JldHVybiB0aGlzLl9yZWFkPWZ1bmN0aW9uKGUpe2MoIndyYXBwZWQgX3JlYWQiLGUpLG4mJihuPSExLHQucmVzdW1lKCkpfSx0aGlzfSwiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiYoeC5wcm90b3R5cGVbU3ltYm9sLmFzeW5jSXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgMD09PWwmJihsPXIoMjM0KSksbCh0aGlzKX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh4LnByb3RvdHlwZSwicmVhZGFibGVIaWdoV2F0ZXJNYXJrIix7ZW51bWVyYWJsZTohMSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcmVhZGFibGVTdGF0ZS5oaWdoV2F0ZXJNYXJrfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh4LnByb3RvdHlwZSwicmVhZGFibGVCdWZmZXIiLHtlbnVtZXJhYmxlOiExLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9yZWFkYWJsZVN0YXRlJiZ0aGlzLl9yZWFkYWJsZVN0YXRlLmJ1ZmZlcn19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoeC5wcm90b3R5cGUsInJlYWRhYmxlRmxvd2luZyIse2VudW1lcmFibGU6ITEsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3JlYWRhYmxlU3RhdGUuZmxvd2luZ30sc2V0OmZ1bmN0aW9uKHQpe3RoaXMuX3JlYWRhYmxlU3RhdGUmJih0aGlzLl9yZWFkYWJsZVN0YXRlLmZsb3dpbmc9dCl9fSkseC5fZnJvbUxpc3Q9TixPYmplY3QuZGVmaW5lUHJvcGVydHkoeC5wcm90b3R5cGUsInJlYWRhYmxlTGVuZ3RoIix7ZW51bWVyYWJsZTohMSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcmVhZGFibGVTdGF0ZS5sZW5ndGh9fSksImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmKHguZnJvbT1mdW5jdGlvbih0LGUpe3JldHVybiB2b2lkIDA9PT1kJiYoZD1yKDIzNSkpLGQoeCx0LGUpfSl9KS5jYWxsKHRoaXMscig2KSxyKDUpKX0sZnVuY3Rpb24odCxlLHIpe3QuZXhwb3J0cz1yKDEyKS5FdmVudEVtaXR0ZXJ9LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7KGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHIodCxlKXtpKHQsZSksbih0KX1mdW5jdGlvbiBuKHQpe3QuX3dyaXRhYmxlU3RhdGUmJiF0Ll93cml0YWJsZVN0YXRlLmVtaXRDbG9zZXx8dC5fcmVhZGFibGVTdGF0ZSYmIXQuX3JlYWRhYmxlU3RhdGUuZW1pdENsb3NlfHx0LmVtaXQoImNsb3NlIil9ZnVuY3Rpb24gaSh0LGUpe3QuZW1pdCgiZXJyb3IiLGUpfXQuZXhwb3J0cz17ZGVzdHJveTpmdW5jdGlvbih0LG8pe3ZhciBzPXRoaXMsYT10aGlzLl9yZWFkYWJsZVN0YXRlJiZ0aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZCx1PXRoaXMuX3dyaXRhYmxlU3RhdGUmJnRoaXMuX3dyaXRhYmxlU3RhdGUuZGVzdHJveWVkO3JldHVybiBhfHx1PyhvP28odCk6dCYmKHRoaXMuX3dyaXRhYmxlU3RhdGU/dGhpcy5fd3JpdGFibGVTdGF0ZS5lcnJvckVtaXR0ZWR8fCh0aGlzLl93cml0YWJsZVN0YXRlLmVycm9yRW1pdHRlZD0hMCxlLm5leHRUaWNrKGksdGhpcyx0KSk6ZS5uZXh0VGljayhpLHRoaXMsdCkpLHRoaXMpOih0aGlzLl9yZWFkYWJsZVN0YXRlJiYodGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWQ9ITApLHRoaXMuX3dyaXRhYmxlU3RhdGUmJih0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZD0hMCksdGhpcy5fZGVzdHJveSh0fHxudWxsLChmdW5jdGlvbih0KXshbyYmdD9zLl93cml0YWJsZVN0YXRlP3MuX3dyaXRhYmxlU3RhdGUuZXJyb3JFbWl0dGVkP2UubmV4dFRpY2sobixzKToocy5fd3JpdGFibGVTdGF0ZS5lcnJvckVtaXR0ZWQ9ITAsZS5uZXh0VGljayhyLHMsdCkpOmUubmV4dFRpY2socixzLHQpOm8/KGUubmV4dFRpY2sobixzKSxvKHQpKTplLm5leHRUaWNrKG4scyl9KSksdGhpcyl9LHVuZGVzdHJveTpmdW5jdGlvbigpe3RoaXMuX3JlYWRhYmxlU3RhdGUmJih0aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZD0hMSx0aGlzLl9yZWFkYWJsZVN0YXRlLnJlYWRpbmc9ITEsdGhpcy5fcmVhZGFibGVTdGF0ZS5lbmRlZD0hMSx0aGlzLl9yZWFkYWJsZVN0YXRlLmVuZEVtaXR0ZWQ9ITEpLHRoaXMuX3dyaXRhYmxlU3RhdGUmJih0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZD0hMSx0aGlzLl93cml0YWJsZVN0YXRlLmVuZGVkPSExLHRoaXMuX3dyaXRhYmxlU3RhdGUuZW5kaW5nPSExLHRoaXMuX3dyaXRhYmxlU3RhdGUuZmluYWxDYWxsZWQ9ITEsdGhpcy5fd3JpdGFibGVTdGF0ZS5wcmVmaW5pc2hlZD0hMSx0aGlzLl93cml0YWJsZVN0YXRlLmZpbmlzaGVkPSExLHRoaXMuX3dyaXRhYmxlU3RhdGUuZXJyb3JFbWl0dGVkPSExKX0sZXJyb3JPckRlc3Ryb3k6ZnVuY3Rpb24odCxlKXt2YXIgcj10Ll9yZWFkYWJsZVN0YXRlLG49dC5fd3JpdGFibGVTdGF0ZTtyJiZyLmF1dG9EZXN0cm95fHxuJiZuLmF1dG9EZXN0cm95P3QuZGVzdHJveShlKTp0LmVtaXQoImVycm9yIixlKX19fSkuY2FsbCh0aGlzLHIoNSkpfSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXIoMjcpLmNvZGVzLkVSUl9JTlZBTElEX09QVF9WQUxVRTt0LmV4cG9ydHM9e2dldEhpZ2hXYXRlck1hcms6ZnVuY3Rpb24odCxlLHIsaSl7dmFyIG89ZnVuY3Rpb24odCxlLHIpe3JldHVybiBudWxsIT10LmhpZ2hXYXRlck1hcms/dC5oaWdoV2F0ZXJNYXJrOmU/dFtyXTpudWxsfShlLGkscik7aWYobnVsbCE9byl7aWYoIWlzRmluaXRlKG8pfHxNYXRoLmZsb29yKG8pIT09b3x8bzwwKXRocm93IG5ldyBuKGk/cjoiaGlnaFdhdGVyTWFyayIsbyk7cmV0dXJuIE1hdGguZmxvb3Iobyl9cmV0dXJuIHQub2JqZWN0TW9kZT8xNjoxNjM4NH19fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiOyhmdW5jdGlvbihlLG4pe2Z1bmN0aW9uIGkodCl7dmFyIGU9dGhpczt0aGlzLm5leHQ9bnVsbCx0aGlzLmVudHJ5PW51bGwsdGhpcy5maW5pc2g9ZnVuY3Rpb24oKXshZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQuZW50cnk7dC5lbnRyeT1udWxsO2Zvcig7bjspe3ZhciBpPW4uY2FsbGJhY2s7ZS5wZW5kaW5nY2ItLSxpKHIpLG49bi5uZXh0fWUuY29ya2VkUmVxdWVzdHNGcmVlLm5leHQ9dH0oZSx0KX19dmFyIG87dC5leHBvcnRzPXgseC5Xcml0YWJsZVN0YXRlPUU7dmFyIHM9e2RlcHJlY2F0ZTpyKDU0KX0sYT1yKDExMyksdT1yKDIpLkJ1ZmZlcixjPWUuVWludDhBcnJheXx8ZnVuY3Rpb24oKXt9O3ZhciBmLGg9cigxMTQpLGw9cigxMTUpLmdldEhpZ2hXYXRlck1hcmssZD1yKDI3KS5jb2RlcyxwPWQuRVJSX0lOVkFMSURfQVJHX1RZUEUsbT1kLkVSUl9NRVRIT0RfTk9UX0lNUExFTUVOVEVELGc9ZC5FUlJfTVVMVElQTEVfQ0FMTEJBQ0ssYj1kLkVSUl9TVFJFQU1fQ0FOTk9UX1BJUEUseT1kLkVSUl9TVFJFQU1fREVTVFJPWUVELHY9ZC5FUlJfU1RSRUFNX05VTExfVkFMVUVTLF89ZC5FUlJfU1RSRUFNX1dSSVRFX0FGVEVSX0VORCx3PWQuRVJSX1VOS05PV05fRU5DT0RJTkcsTT1oLmVycm9yT3JEZXN0cm95O2Z1bmN0aW9uIFMoKXt9ZnVuY3Rpb24gRSh0LGUscyl7bz1vfHxyKDI4KSx0PXR8fHt9LCJib29sZWFuIiE9dHlwZW9mIHMmJihzPWUgaW5zdGFuY2VvZiBvKSx0aGlzLm9iamVjdE1vZGU9ISF0Lm9iamVjdE1vZGUscyYmKHRoaXMub2JqZWN0TW9kZT10aGlzLm9iamVjdE1vZGV8fCEhdC53cml0YWJsZU9iamVjdE1vZGUpLHRoaXMuaGlnaFdhdGVyTWFyaz1sKHRoaXMsdCwid3JpdGFibGVIaWdoV2F0ZXJNYXJrIixzKSx0aGlzLmZpbmFsQ2FsbGVkPSExLHRoaXMubmVlZERyYWluPSExLHRoaXMuZW5kaW5nPSExLHRoaXMuZW5kZWQ9ITEsdGhpcy5maW5pc2hlZD0hMSx0aGlzLmRlc3Ryb3llZD0hMTt2YXIgYT0hMT09PXQuZGVjb2RlU3RyaW5nczt0aGlzLmRlY29kZVN0cmluZ3M9IWEsdGhpcy5kZWZhdWx0RW5jb2Rpbmc9dC5kZWZhdWx0RW5jb2Rpbmd8fCJ1dGY4Iix0aGlzLmxlbmd0aD0wLHRoaXMud3JpdGluZz0hMSx0aGlzLmNvcmtlZD0wLHRoaXMuc3luYz0hMCx0aGlzLmJ1ZmZlclByb2Nlc3Npbmc9ITEsdGhpcy5vbndyaXRlPWZ1bmN0aW9uKHQpeyFmdW5jdGlvbih0LGUpe3ZhciByPXQuX3dyaXRhYmxlU3RhdGUsaT1yLnN5bmMsbz1yLndyaXRlY2I7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIG8pdGhyb3cgbmV3IGc7aWYoZnVuY3Rpb24odCl7dC53cml0aW5nPSExLHQud3JpdGVjYj1udWxsLHQubGVuZ3RoLT10LndyaXRlbGVuLHQud3JpdGVsZW49MH0ociksZSkhZnVuY3Rpb24odCxlLHIsaSxvKXstLWUucGVuZGluZ2NiLHI/KG4ubmV4dFRpY2sobyxpKSxuLm5leHRUaWNrKEMsdCxlKSx0Ll93cml0YWJsZVN0YXRlLmVycm9yRW1pdHRlZD0hMCxNKHQsaSkpOihvKGkpLHQuX3dyaXRhYmxlU3RhdGUuZXJyb3JFbWl0dGVkPSEwLE0odCxpKSxDKHQsZSkpfSh0LHIsaSxlLG8pO2Vsc2V7dmFyIHM9VChyKXx8dC5kZXN0cm95ZWQ7c3x8ci5jb3JrZWR8fHIuYnVmZmVyUHJvY2Vzc2luZ3x8IXIuYnVmZmVyZWRSZXF1ZXN0fHxSKHQsciksaT9uLm5leHRUaWNrKEEsdCxyLHMsbyk6QSh0LHIscyxvKX19KGUsdCl9LHRoaXMud3JpdGVjYj1udWxsLHRoaXMud3JpdGVsZW49MCx0aGlzLmJ1ZmZlcmVkUmVxdWVzdD1udWxsLHRoaXMubGFzdEJ1ZmZlcmVkUmVxdWVzdD1udWxsLHRoaXMucGVuZGluZ2NiPTAsdGhpcy5wcmVmaW5pc2hlZD0hMSx0aGlzLmVycm9yRW1pdHRlZD0hMSx0aGlzLmVtaXRDbG9zZT0hMSE9PXQuZW1pdENsb3NlLHRoaXMuYXV0b0Rlc3Ryb3k9ISF0LmF1dG9EZXN0cm95LHRoaXMuYnVmZmVyZWRSZXF1ZXN0Q291bnQ9MCx0aGlzLmNvcmtlZFJlcXVlc3RzRnJlZT1uZXcgaSh0aGlzKX1mdW5jdGlvbiB4KHQpe3ZhciBlPXRoaXMgaW5zdGFuY2VvZihvPW98fHIoMjgpKTtpZighZSYmIWYuY2FsbCh4LHRoaXMpKXJldHVybiBuZXcgeCh0KTt0aGlzLl93cml0YWJsZVN0YXRlPW5ldyBFKHQsdGhpcyxlKSx0aGlzLndyaXRhYmxlPSEwLHQmJigiZnVuY3Rpb24iPT10eXBlb2YgdC53cml0ZSYmKHRoaXMuX3dyaXRlPXQud3JpdGUpLCJmdW5jdGlvbiI9PXR5cGVvZiB0LndyaXRldiYmKHRoaXMuX3dyaXRldj10LndyaXRldiksImZ1bmN0aW9uIj09dHlwZW9mIHQuZGVzdHJveSYmKHRoaXMuX2Rlc3Ryb3k9dC5kZXN0cm95KSwiZnVuY3Rpb24iPT10eXBlb2YgdC5maW5hbCYmKHRoaXMuX2ZpbmFsPXQuZmluYWwpKSxhLmNhbGwodGhpcyl9ZnVuY3Rpb24gayh0LGUscixuLGksbyxzKXtlLndyaXRlbGVuPW4sZS53cml0ZWNiPXMsZS53cml0aW5nPSEwLGUuc3luYz0hMCxlLmRlc3Ryb3llZD9lLm9ud3JpdGUobmV3IHkoIndyaXRlIikpOnI/dC5fd3JpdGV2KGksZS5vbndyaXRlKTp0Ll93cml0ZShpLG8sZS5vbndyaXRlKSxlLnN5bmM9ITF9ZnVuY3Rpb24gQSh0LGUscixuKXtyfHxmdW5jdGlvbih0LGUpezA9PT1lLmxlbmd0aCYmZS5uZWVkRHJhaW4mJihlLm5lZWREcmFpbj0hMSx0LmVtaXQoImRyYWluIikpfSh0LGUpLGUucGVuZGluZ2NiLS0sbigpLEModCxlKX1mdW5jdGlvbiBSKHQsZSl7ZS5idWZmZXJQcm9jZXNzaW5nPSEwO3ZhciByPWUuYnVmZmVyZWRSZXF1ZXN0O2lmKHQuX3dyaXRldiYmciYmci5uZXh0KXt2YXIgbj1lLmJ1ZmZlcmVkUmVxdWVzdENvdW50LG89bmV3IEFycmF5KG4pLHM9ZS5jb3JrZWRSZXF1ZXN0c0ZyZWU7cy5lbnRyeT1yO2Zvcih2YXIgYT0wLHU9ITA7cjspb1thXT1yLHIuaXNCdWZ8fCh1PSExKSxyPXIubmV4dCxhKz0xO28uYWxsQnVmZmVycz11LGsodCxlLCEwLGUubGVuZ3RoLG8sIiIscy5maW5pc2gpLGUucGVuZGluZ2NiKyssZS5sYXN0QnVmZmVyZWRSZXF1ZXN0PW51bGwscy5uZXh0PyhlLmNvcmtlZFJlcXVlc3RzRnJlZT1zLm5leHQscy5uZXh0PW51bGwpOmUuY29ya2VkUmVxdWVzdHNGcmVlPW5ldyBpKGUpLGUuYnVmZmVyZWRSZXF1ZXN0Q291bnQ9MH1lbHNle2Zvcig7cjspe3ZhciBjPXIuY2h1bmssZj1yLmVuY29kaW5nLGg9ci5jYWxsYmFjaztpZihrKHQsZSwhMSxlLm9iamVjdE1vZGU/MTpjLmxlbmd0aCxjLGYsaCkscj1yLm5leHQsZS5idWZmZXJlZFJlcXVlc3RDb3VudC0tLGUud3JpdGluZylicmVha31udWxsPT09ciYmKGUubGFzdEJ1ZmZlcmVkUmVxdWVzdD1udWxsKX1lLmJ1ZmZlcmVkUmVxdWVzdD1yLGUuYnVmZmVyUHJvY2Vzc2luZz0hMX1mdW5jdGlvbiBUKHQpe3JldHVybiB0LmVuZGluZyYmMD09PXQubGVuZ3RoJiZudWxsPT09dC5idWZmZXJlZFJlcXVlc3QmJiF0LmZpbmlzaGVkJiYhdC53cml0aW5nfWZ1bmN0aW9uIE8odCxlKXt0Ll9maW5hbCgoZnVuY3Rpb24ocil7ZS5wZW5kaW5nY2ItLSxyJiZNKHQsciksZS5wcmVmaW5pc2hlZD0hMCx0LmVtaXQoInByZWZpbmlzaCIpLEModCxlKX0pKX1mdW5jdGlvbiBDKHQsZSl7dmFyIHI9VChlKTtpZihyJiYoZnVuY3Rpb24odCxlKXtlLnByZWZpbmlzaGVkfHxlLmZpbmFsQ2FsbGVkfHwoImZ1bmN0aW9uIiE9dHlwZW9mIHQuX2ZpbmFsfHxlLmRlc3Ryb3llZD8oZS5wcmVmaW5pc2hlZD0hMCx0LmVtaXQoInByZWZpbmlzaCIpKTooZS5wZW5kaW5nY2IrKyxlLmZpbmFsQ2FsbGVkPSEwLG4ubmV4dFRpY2soTyx0LGUpKSl9KHQsZSksMD09PWUucGVuZGluZ2NiJiYoZS5maW5pc2hlZD0hMCx0LmVtaXQoImZpbmlzaCIpLGUuYXV0b0Rlc3Ryb3kpKSl7dmFyIGk9dC5fcmVhZGFibGVTdGF0ZTsoIWl8fGkuYXV0b0Rlc3Ryb3kmJmkuZW5kRW1pdHRlZCkmJnQuZGVzdHJveSgpfXJldHVybiByfXIoMykoeCxhKSxFLnByb3RvdHlwZS5nZXRCdWZmZXI9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9dGhpcy5idWZmZXJlZFJlcXVlc3QsZT1bXTt0OyllLnB1c2godCksdD10Lm5leHQ7cmV0dXJuIGV9LGZ1bmN0aW9uKCl7dHJ5e09iamVjdC5kZWZpbmVQcm9wZXJ0eShFLnByb3RvdHlwZSwiYnVmZmVyIix7Z2V0OnMuZGVwcmVjYXRlKChmdW5jdGlvbigpe3JldHVybiB0aGlzLmdldEJ1ZmZlcigpfSksIl93cml0YWJsZVN0YXRlLmJ1ZmZlciBpcyBkZXByZWNhdGVkLiBVc2UgX3dyaXRhYmxlU3RhdGUuZ2V0QnVmZmVyIGluc3RlYWQuIiwiREVQMDAwMyIpfSl9Y2F0Y2godCl7fX0oKSwiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiZTeW1ib2wuaGFzSW5zdGFuY2UmJiJmdW5jdGlvbiI9PXR5cGVvZiBGdW5jdGlvbi5wcm90b3R5cGVbU3ltYm9sLmhhc0luc3RhbmNlXT8oZj1GdW5jdGlvbi5wcm90b3R5cGVbU3ltYm9sLmhhc0luc3RhbmNlXSxPYmplY3QuZGVmaW5lUHJvcGVydHkoeCxTeW1ib2wuaGFzSW5zdGFuY2Use3ZhbHVlOmZ1bmN0aW9uKHQpe3JldHVybiEhZi5jYWxsKHRoaXMsdCl8fHRoaXM9PT14JiYodCYmdC5fd3JpdGFibGVTdGF0ZSBpbnN0YW5jZW9mIEUpfX0pKTpmPWZ1bmN0aW9uKHQpe3JldHVybiB0IGluc3RhbmNlb2YgdGhpc30seC5wcm90b3R5cGUucGlwZT1mdW5jdGlvbigpe00odGhpcyxuZXcgYil9LHgucHJvdG90eXBlLndyaXRlPWZ1bmN0aW9uKHQsZSxyKXt2YXIgaSxvPXRoaXMuX3dyaXRhYmxlU3RhdGUscz0hMSxhPSFvLm9iamVjdE1vZGUmJihpPXQsdS5pc0J1ZmZlcihpKXx8aSBpbnN0YW5jZW9mIGMpO3JldHVybiBhJiYhdS5pc0J1ZmZlcih0KSYmKHQ9ZnVuY3Rpb24odCl7cmV0dXJuIHUuZnJvbSh0KX0odCkpLCJmdW5jdGlvbiI9PXR5cGVvZiBlJiYocj1lLGU9bnVsbCksYT9lPSJidWZmZXIiOmV8fChlPW8uZGVmYXVsdEVuY29kaW5nKSwiZnVuY3Rpb24iIT10eXBlb2YgciYmKHI9Uyksby5lbmRpbmc/ZnVuY3Rpb24odCxlKXt2YXIgcj1uZXcgXztNKHQsciksbi5uZXh0VGljayhlLHIpfSh0aGlzLHIpOihhfHxmdW5jdGlvbih0LGUscixpKXt2YXIgbztyZXR1cm4gbnVsbD09PXI/bz1uZXcgdjoic3RyaW5nIj09dHlwZW9mIHJ8fGUub2JqZWN0TW9kZXx8KG89bmV3IHAoImNodW5rIixbInN0cmluZyIsIkJ1ZmZlciJdLHIpKSwhb3x8KE0odCxvKSxuLm5leHRUaWNrKGksbyksITEpfSh0aGlzLG8sdCxyKSkmJihvLnBlbmRpbmdjYisrLHM9ZnVuY3Rpb24odCxlLHIsbixpLG8pe2lmKCFyKXt2YXIgcz1mdW5jdGlvbih0LGUscil7dC5vYmplY3RNb2RlfHwhMT09PXQuZGVjb2RlU3RyaW5nc3x8InN0cmluZyIhPXR5cGVvZiBlfHwoZT11LmZyb20oZSxyKSk7cmV0dXJuIGV9KGUsbixpKTtuIT09cyYmKHI9ITAsaT0iYnVmZmVyIixuPXMpfXZhciBhPWUub2JqZWN0TW9kZT8xOm4ubGVuZ3RoO2UubGVuZ3RoKz1hO3ZhciBjPWUubGVuZ3RoPGUuaGlnaFdhdGVyTWFyaztjfHwoZS5uZWVkRHJhaW49ITApO2lmKGUud3JpdGluZ3x8ZS5jb3JrZWQpe3ZhciBmPWUubGFzdEJ1ZmZlcmVkUmVxdWVzdDtlLmxhc3RCdWZmZXJlZFJlcXVlc3Q9e2NodW5rOm4sZW5jb2Rpbmc6aSxpc0J1ZjpyLGNhbGxiYWNrOm8sbmV4dDpudWxsfSxmP2YubmV4dD1lLmxhc3RCdWZmZXJlZFJlcXVlc3Q6ZS5idWZmZXJlZFJlcXVlc3Q9ZS5sYXN0QnVmZmVyZWRSZXF1ZXN0LGUuYnVmZmVyZWRSZXF1ZXN0Q291bnQrPTF9ZWxzZSBrKHQsZSwhMSxhLG4saSxvKTtyZXR1cm4gY30odGhpcyxvLGEsdCxlLHIpKSxzfSx4LnByb3RvdHlwZS5jb3JrPWZ1bmN0aW9uKCl7dGhpcy5fd3JpdGFibGVTdGF0ZS5jb3JrZWQrK30seC5wcm90b3R5cGUudW5jb3JrPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fd3JpdGFibGVTdGF0ZTt0LmNvcmtlZCYmKHQuY29ya2VkLS0sdC53cml0aW5nfHx0LmNvcmtlZHx8dC5idWZmZXJQcm9jZXNzaW5nfHwhdC5idWZmZXJlZFJlcXVlc3R8fFIodGhpcyx0KSl9LHgucHJvdG90eXBlLnNldERlZmF1bHRFbmNvZGluZz1mdW5jdGlvbih0KXtpZigic3RyaW5nIj09dHlwZW9mIHQmJih0PXQudG9Mb3dlckNhc2UoKSksIShbImhleCIsInV0ZjgiLCJ1dGYtOCIsImFzY2lpIiwiYmluYXJ5IiwiYmFzZTY0IiwidWNzMiIsInVjcy0yIiwidXRmMTZsZSIsInV0Zi0xNmxlIiwicmF3Il0uaW5kZXhPZigodCsiIikudG9Mb3dlckNhc2UoKSk+LTEpKXRocm93IG5ldyB3KHQpO3JldHVybiB0aGlzLl93cml0YWJsZVN0YXRlLmRlZmF1bHRFbmNvZGluZz10LHRoaXN9LE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh4LnByb3RvdHlwZSwid3JpdGFibGVCdWZmZXIiLHtlbnVtZXJhYmxlOiExLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl93cml0YWJsZVN0YXRlJiZ0aGlzLl93cml0YWJsZVN0YXRlLmdldEJ1ZmZlcigpfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh4LnByb3RvdHlwZSwid3JpdGFibGVIaWdoV2F0ZXJNYXJrIix7ZW51bWVyYWJsZTohMSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fd3JpdGFibGVTdGF0ZS5oaWdoV2F0ZXJNYXJrfX0pLHgucHJvdG90eXBlLl93cml0ZT1mdW5jdGlvbih0LGUscil7cihuZXcgbSgiX3dyaXRlKCkiKSl9LHgucHJvdG90eXBlLl93cml0ZXY9bnVsbCx4LnByb3RvdHlwZS5lbmQ9ZnVuY3Rpb24odCxlLHIpe3ZhciBpPXRoaXMuX3dyaXRhYmxlU3RhdGU7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHQ/KHI9dCx0PW51bGwsZT1udWxsKToiZnVuY3Rpb24iPT10eXBlb2YgZSYmKHI9ZSxlPW51bGwpLG51bGwhPXQmJnRoaXMud3JpdGUodCxlKSxpLmNvcmtlZCYmKGkuY29ya2VkPTEsdGhpcy51bmNvcmsoKSksaS5lbmRpbmd8fGZ1bmN0aW9uKHQsZSxyKXtlLmVuZGluZz0hMCxDKHQsZSksciYmKGUuZmluaXNoZWQ/bi5uZXh0VGljayhyKTp0Lm9uY2UoImZpbmlzaCIscikpO2UuZW5kZWQ9ITAsdC53cml0YWJsZT0hMX0odGhpcyxpLHIpLHRoaXN9LE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh4LnByb3RvdHlwZSwid3JpdGFibGVMZW5ndGgiLHtlbnVtZXJhYmxlOiExLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl93cml0YWJsZVN0YXRlLmxlbmd0aH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoeC5wcm90b3R5cGUsImRlc3Ryb3llZCIse2VudW1lcmFibGU6ITEsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgMCE9PXRoaXMuX3dyaXRhYmxlU3RhdGUmJnRoaXMuX3dyaXRhYmxlU3RhdGUuZGVzdHJveWVkfSxzZXQ6ZnVuY3Rpb24odCl7dGhpcy5fd3JpdGFibGVTdGF0ZSYmKHRoaXMuX3dyaXRhYmxlU3RhdGUuZGVzdHJveWVkPXQpfX0pLHgucHJvdG90eXBlLmRlc3Ryb3k9aC5kZXN0cm95LHgucHJvdG90eXBlLl91bmRlc3Ryb3k9aC51bmRlc3Ryb3kseC5wcm90b3R5cGUuX2Rlc3Ryb3k9ZnVuY3Rpb24odCxlKXtlKHQpfX0pLmNhbGwodGhpcyxyKDYpLHIoNSkpfSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3QuZXhwb3J0cz1mO3ZhciBuPXIoMjcpLmNvZGVzLGk9bi5FUlJfTUVUSE9EX05PVF9JTVBMRU1FTlRFRCxvPW4uRVJSX01VTFRJUExFX0NBTExCQUNLLHM9bi5FUlJfVFJBTlNGT1JNX0FMUkVBRFlfVFJBTlNGT1JNSU5HLGE9bi5FUlJfVFJBTlNGT1JNX1dJVEhfTEVOR1RIXzAsdT1yKDI4KTtmdW5jdGlvbiBjKHQsZSl7dmFyIHI9dGhpcy5fdHJhbnNmb3JtU3RhdGU7ci50cmFuc2Zvcm1pbmc9ITE7dmFyIG49ci53cml0ZWNiO2lmKG51bGw9PT1uKXJldHVybiB0aGlzLmVtaXQoImVycm9yIixuZXcgbyk7ci53cml0ZWNodW5rPW51bGwsci53cml0ZWNiPW51bGwsbnVsbCE9ZSYmdGhpcy5wdXNoKGUpLG4odCk7dmFyIGk9dGhpcy5fcmVhZGFibGVTdGF0ZTtpLnJlYWRpbmc9ITEsKGkubmVlZFJlYWRhYmxlfHxpLmxlbmd0aDxpLmhpZ2hXYXRlck1hcmspJiZ0aGlzLl9yZWFkKGkuaGlnaFdhdGVyTWFyayl9ZnVuY3Rpb24gZih0KXtpZighKHRoaXMgaW5zdGFuY2VvZiBmKSlyZXR1cm4gbmV3IGYodCk7dS5jYWxsKHRoaXMsdCksdGhpcy5fdHJhbnNmb3JtU3RhdGU9e2FmdGVyVHJhbnNmb3JtOmMuYmluZCh0aGlzKSxuZWVkVHJhbnNmb3JtOiExLHRyYW5zZm9ybWluZzohMSx3cml0ZWNiOm51bGwsd3JpdGVjaHVuazpudWxsLHdyaXRlZW5jb2Rpbmc6bnVsbH0sdGhpcy5fcmVhZGFibGVTdGF0ZS5uZWVkUmVhZGFibGU9ITAsdGhpcy5fcmVhZGFibGVTdGF0ZS5zeW5jPSExLHQmJigiZnVuY3Rpb24iPT10eXBlb2YgdC50cmFuc2Zvcm0mJih0aGlzLl90cmFuc2Zvcm09dC50cmFuc2Zvcm0pLCJmdW5jdGlvbiI9PXR5cGVvZiB0LmZsdXNoJiYodGhpcy5fZmx1c2g9dC5mbHVzaCkpLHRoaXMub24oInByZWZpbmlzaCIsaCl9ZnVuY3Rpb24gaCgpe3ZhciB0PXRoaXM7ImZ1bmN0aW9uIiE9dHlwZW9mIHRoaXMuX2ZsdXNofHx0aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZD9sKHRoaXMsbnVsbCxudWxsKTp0aGlzLl9mbHVzaCgoZnVuY3Rpb24oZSxyKXtsKHQsZSxyKX0pKX1mdW5jdGlvbiBsKHQsZSxyKXtpZihlKXJldHVybiB0LmVtaXQoImVycm9yIixlKTtpZihudWxsIT1yJiZ0LnB1c2gociksdC5fd3JpdGFibGVTdGF0ZS5sZW5ndGgpdGhyb3cgbmV3IGE7aWYodC5fdHJhbnNmb3JtU3RhdGUudHJhbnNmb3JtaW5nKXRocm93IG5ldyBzO3JldHVybiB0LnB1c2gobnVsbCl9cigzKShmLHUpLGYucHJvdG90eXBlLnB1c2g9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5fdHJhbnNmb3JtU3RhdGUubmVlZFRyYW5zZm9ybT0hMSx1LnByb3RvdHlwZS5wdXNoLmNhbGwodGhpcyx0LGUpfSxmLnByb3RvdHlwZS5fdHJhbnNmb3JtPWZ1bmN0aW9uKHQsZSxyKXtyKG5ldyBpKCJfdHJhbnNmb3JtKCkiKSl9LGYucHJvdG90eXBlLl93cml0ZT1mdW5jdGlvbih0LGUscil7dmFyIG49dGhpcy5fdHJhbnNmb3JtU3RhdGU7aWYobi53cml0ZWNiPXIsbi53cml0ZWNodW5rPXQsbi53cml0ZWVuY29kaW5nPWUsIW4udHJhbnNmb3JtaW5nKXt2YXIgaT10aGlzLl9yZWFkYWJsZVN0YXRlOyhuLm5lZWRUcmFuc2Zvcm18fGkubmVlZFJlYWRhYmxlfHxpLmxlbmd0aDxpLmhpZ2hXYXRlck1hcmspJiZ0aGlzLl9yZWFkKGkuaGlnaFdhdGVyTWFyayl9fSxmLnByb3RvdHlwZS5fcmVhZD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLl90cmFuc2Zvcm1TdGF0ZTtudWxsPT09ZS53cml0ZWNodW5rfHxlLnRyYW5zZm9ybWluZz9lLm5lZWRUcmFuc2Zvcm09ITA6KGUudHJhbnNmb3JtaW5nPSEwLHRoaXMuX3RyYW5zZm9ybShlLndyaXRlY2h1bmssZS53cml0ZWVuY29kaW5nLGUuYWZ0ZXJUcmFuc2Zvcm0pKX0sZi5wcm90b3R5cGUuX2Rlc3Ryb3k9ZnVuY3Rpb24odCxlKXt1LnByb3RvdHlwZS5fZGVzdHJveS5jYWxsKHRoaXMsdCwoZnVuY3Rpb24odCl7ZSh0KX0pKX19LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dGhpcyYmdGhpcy5fX2F3YWl0ZXJ8fGZ1bmN0aW9uKHQsZSxyLG4pe3JldHVybiBuZXcocnx8KHI9UHJvbWlzZSkpKChmdW5jdGlvbihpLG8pe2Z1bmN0aW9uIHModCl7dHJ5e3Uobi5uZXh0KHQpKX1jYXRjaCh0KXtvKHQpfX1mdW5jdGlvbiBhKHQpe3RyeXt1KG4udGhyb3codCkpfWNhdGNoKHQpe28odCl9fWZ1bmN0aW9uIHUodCl7dmFyIGU7dC5kb25lP2kodC52YWx1ZSk6KGU9dC52YWx1ZSxlIGluc3RhbmNlb2Ygcj9lOm5ldyByKChmdW5jdGlvbih0KXt0KGUpfSkpKS50aGVuKHMsYSl9dSgobj1uLmFwcGx5KHQsZXx8W10pKS5uZXh0KCkpfSkpfSxpPXRoaXMmJnRoaXMuX19nZW5lcmF0b3J8fGZ1bmN0aW9uKHQsZSl7dmFyIHIsbixpLG8scz17bGFiZWw6MCxzZW50OmZ1bmN0aW9uKCl7aWYoMSZpWzBdKXRocm93IGlbMV07cmV0dXJuIGlbMV19LHRyeXM6W10sb3BzOltdfTtyZXR1cm4gbz17bmV4dDphKDApLHRocm93OmEoMSkscmV0dXJuOmEoMil9LCJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJihvW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30pLG87ZnVuY3Rpb24gYShvKXtyZXR1cm4gZnVuY3Rpb24oYSl7cmV0dXJuIGZ1bmN0aW9uKG8pe2lmKHIpdGhyb3cgbmV3IFR5cGVFcnJvcigiR2VuZXJhdG9yIGlzIGFscmVhZHkgZXhlY3V0aW5nLiIpO2Zvcig7czspdHJ5e2lmKHI9MSxuJiYoaT0yJm9bMF0/bi5yZXR1cm46b1swXT9uLnRocm93fHwoKGk9bi5yZXR1cm4pJiZpLmNhbGwobiksMCk6bi5uZXh0KSYmIShpPWkuY2FsbChuLG9bMV0pKS5kb25lKXJldHVybiBpO3N3aXRjaChuPTAsaSYmKG89WzImb1swXSxpLnZhbHVlXSksb1swXSl7Y2FzZSAwOmNhc2UgMTppPW87YnJlYWs7Y2FzZSA0OnJldHVybiBzLmxhYmVsKysse3ZhbHVlOm9bMV0sZG9uZTohMX07Y2FzZSA1OnMubGFiZWwrKyxuPW9bMV0sbz1bMF07Y29udGludWU7Y2FzZSA3Om89cy5vcHMucG9wKCkscy50cnlzLnBvcCgpO2NvbnRpbnVlO2RlZmF1bHQ6aWYoIShpPXMudHJ5cywoaT1pLmxlbmd0aD4wJiZpW2kubGVuZ3RoLTFdKXx8NiE9PW9bMF0mJjIhPT1vWzBdKSl7cz0wO2NvbnRpbnVlfWlmKDM9PT1vWzBdJiYoIWl8fG9bMV0+aVswXSYmb1sxXTxpWzNdKSl7cy5sYWJlbD1vWzFdO2JyZWFrfWlmKDY9PT1vWzBdJiZzLmxhYmVsPGlbMV0pe3MubGFiZWw9aVsxXSxpPW87YnJlYWt9aWYoaSYmcy5sYWJlbDxpWzJdKXtzLmxhYmVsPWlbMl0scy5vcHMucHVzaChvKTticmVha31pWzJdJiZzLm9wcy5wb3AoKSxzLnRyeXMucG9wKCk7Y29udGludWV9bz1lLmNhbGwodCxzKX1jYXRjaCh0KXtvPVs2LHRdLG49MH1maW5hbGx5e3I9aT0wfWlmKDUmb1swXSl0aHJvdyBvWzFdO3JldHVybnt2YWx1ZTpvWzBdP29bMV06dm9pZCAwLGRvbmU6ITB9fShbbyxhXSl9fX07T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBvPXIoMTE5KSxzPXIoMjY0KTtlLmNyZWF0ZVByaXZhdGVLZXk9ZnVuY3Rpb24oKXtyZXR1cm4gbih0aGlzLHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKCl7dmFyIHQ7cmV0dXJuIGkodGhpcywoZnVuY3Rpb24oZSl7c3dpdGNoKGUubGFiZWwpe2Nhc2UgMDpyZXR1cm5bNCxzLmdldFJhbmRvbUJ5dGVzKDMyKV07Y2FzZSAxOnJldHVybiB0PWUuc2VudCgpLG8ucHJpdmF0ZUtleVZlcmlmeSh0KT9bMix0XTpbMywwXTtjYXNlIDI6cmV0dXJuWzJdfX0pKX0pKX0sZS5jcmVhdGVQcml2YXRlS2V5U3luYz1mdW5jdGlvbigpe2Zvcig7Oyl7dmFyIHQ9cy5nZXRSYW5kb21CeXRlc1N5bmMoMzIpO2lmKG8ucHJpdmF0ZUtleVZlcmlmeSh0KSlyZXR1cm4gdH19LGZ1bmN0aW9uKHQpe2Zvcih2YXIgciBpbiB0KWUuaGFzT3duUHJvcGVydHkocil8fChlW3JdPXRbcl0pfShyKDExOSkpfSxmdW5jdGlvbih0LGUscil7dC5leHBvcnRzPXIoMjQyKShyKDI0MykpfSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPWU7ZnVuY3Rpb24gaSh0KXtyZXR1cm4gMT09PXQubGVuZ3RoPyIwIit0OnR9ZnVuY3Rpb24gbyh0KXtmb3IodmFyIGU9IiIscj0wO3I8dC5sZW5ndGg7cisrKWUrPWkodFtyXS50b1N0cmluZygxNikpO3JldHVybiBlfW4udG9BcnJheT1mdW5jdGlvbih0LGUpe2lmKEFycmF5LmlzQXJyYXkodCkpcmV0dXJuIHQuc2xpY2UoKTtpZighdClyZXR1cm5bXTt2YXIgcj1bXTtpZigic3RyaW5nIiE9dHlwZW9mIHQpe2Zvcih2YXIgbj0wO248dC5sZW5ndGg7bisrKXJbbl09MHx0W25dO3JldHVybiByfWlmKCJoZXgiPT09ZSl7KHQ9dC5yZXBsYWNlKC9bXmEtejAtOV0rL2dpLCIiKSkubGVuZ3RoJTIhPTAmJih0PSIwIit0KTtmb3Iobj0wO248dC5sZW5ndGg7bis9MilyLnB1c2gocGFyc2VJbnQodFtuXSt0W24rMV0sMTYpKX1lbHNlIGZvcihuPTA7bjx0Lmxlbmd0aDtuKyspe3ZhciBpPXQuY2hhckNvZGVBdChuKSxvPWk+Pjgscz0yNTUmaTtvP3IucHVzaChvLHMpOnIucHVzaChzKX1yZXR1cm4gcn0sbi56ZXJvMj1pLG4udG9IZXg9byxuLmVuY29kZT1mdW5jdGlvbih0LGUpe3JldHVybiJoZXgiPT09ZT9vKHQpOnR9fSxmdW5jdGlvbih0LGUscil7dmFyIG47ZnVuY3Rpb24gaSh0KXt0aGlzLnJhbmQ9dH1pZih0LmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIG58fChuPW5ldyBpKG51bGwpKSxuLmdlbmVyYXRlKHQpfSx0LmV4cG9ydHMuUmFuZD1pLGkucHJvdG90eXBlLmdlbmVyYXRlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9yYW5kKHQpfSxpLnByb3RvdHlwZS5fcmFuZD1mdW5jdGlvbih0KXtpZih0aGlzLnJhbmQuZ2V0Qnl0ZXMpcmV0dXJuIHRoaXMucmFuZC5nZXRCeXRlcyh0KTtmb3IodmFyIGU9bmV3IFVpbnQ4QXJyYXkodCkscj0wO3I8ZS5sZW5ndGg7cisrKWVbcl09dGhpcy5yYW5kLmdldEJ5dGUoKTtyZXR1cm4gZX0sIm9iamVjdCI9PXR5cGVvZiBzZWxmKXNlbGYuY3J5cHRvJiZzZWxmLmNyeXB0by5nZXRSYW5kb21WYWx1ZXM/aS5wcm90b3R5cGUuX3JhbmQ9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IFVpbnQ4QXJyYXkodCk7cmV0dXJuIHNlbGYuY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhlKSxlfTpzZWxmLm1zQ3J5cHRvJiZzZWxmLm1zQ3J5cHRvLmdldFJhbmRvbVZhbHVlcz9pLnByb3RvdHlwZS5fcmFuZD1mdW5jdGlvbih0KXt2YXIgZT1uZXcgVWludDhBcnJheSh0KTtyZXR1cm4gc2VsZi5tc0NyeXB0by5nZXRSYW5kb21WYWx1ZXMoZSksZX06Im9iamVjdCI9PXR5cGVvZiB3aW5kb3cmJihpLnByb3RvdHlwZS5fcmFuZD1mdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcigiTm90IGltcGxlbWVudGVkIHlldCIpfSk7ZWxzZSB0cnl7dmFyIG89cigyNDYpO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBvLnJhbmRvbUJ5dGVzKXRocm93IG5ldyBFcnJvcigiTm90IHN1cHBvcnRlZCIpO2kucHJvdG90eXBlLl9yYW5kPWZ1bmN0aW9uKHQpe3JldHVybiBvLnJhbmRvbUJ5dGVzKHQpfX1jYXRjaCh0KXt9fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPWU7bi5iYXNlPXIoNDUpLG4uc2hvcnQ9cigyNDcpLG4ubW9udD1yKDI0OCksbi5lZHdhcmRzPXIoMjQ5KX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDE1KS5yb3RyMzI7ZnVuY3Rpb24gaSh0LGUscil7cmV0dXJuIHQmZV5+dCZyfWZ1bmN0aW9uIG8odCxlLHIpe3JldHVybiB0JmVedCZyXmUmcn1mdW5jdGlvbiBzKHQsZSxyKXtyZXR1cm4gdF5lXnJ9ZS5mdF8xPWZ1bmN0aW9uKHQsZSxyLG4pe3JldHVybiAwPT09dD9pKGUscixuKToxPT09dHx8Mz09PXQ/cyhlLHIsbik6Mj09PXQ/byhlLHIsbik6dm9pZCAwfSxlLmNoMzI9aSxlLm1hajMyPW8sZS5wMzI9cyxlLnMwXzI1Nj1mdW5jdGlvbih0KXtyZXR1cm4gbih0LDIpXm4odCwxMylebih0LDIyKX0sZS5zMV8yNTY9ZnVuY3Rpb24odCl7cmV0dXJuIG4odCw2KV5uKHQsMTEpXm4odCwyNSl9LGUuZzBfMjU2PWZ1bmN0aW9uKHQpe3JldHVybiBuKHQsNylebih0LDE4KV50Pj4+M30sZS5nMV8yNTY9ZnVuY3Rpb24odCl7cmV0dXJuIG4odCwxNylebih0LDE5KV50Pj4+MTB9fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXIoMTUpLGk9cigzNyksbz1yKDEyMykscz1yKDIyKSxhPW4uc3VtMzIsdT1uLnN1bTMyXzQsYz1uLnN1bTMyXzUsZj1vLmNoMzIsaD1vLm1hajMyLGw9by5zMF8yNTYsZD1vLnMxXzI1NixwPW8uZzBfMjU2LG09by5nMV8yNTYsZz1pLkJsb2NrSGFzaCxiPVsxMTE2MzUyNDA4LDE4OTk0NDc0NDEsMzA0OTMyMzQ3MSwzOTIxMDA5NTczLDk2MTk4NzE2MywxNTA4OTcwOTkzLDI0NTM2MzU3NDgsMjg3MDc2MzIyMSwzNjI0MzgxMDgwLDMxMDU5ODQwMSw2MDcyMjUyNzgsMTQyNjg4MTk4NywxOTI1MDc4Mzg4LDIxNjIwNzgyMDYsMjYxNDg4ODEwMywzMjQ4MjIyNTgwLDM4MzUzOTA0MDEsNDAyMjIyNDc3NCwyNjQzNDcwNzgsNjA0ODA3NjI4LDc3MDI1NTk4MywxMjQ5MTUwMTIyLDE1NTUwODE2OTIsMTk5NjA2NDk4NiwyNTU0MjIwODgyLDI4MjE4MzQzNDksMjk1Mjk5NjgwOCwzMjEwMzEzNjcxLDMzMzY1NzE4OTEsMzU4NDUyODcxMSwxMTM5MjY5OTMsMzM4MjQxODk1LDY2NjMwNzIwNSw3NzM1Mjk5MTIsMTI5NDc1NzM3MiwxMzk2MTgyMjkxLDE2OTUxODM3MDAsMTk4NjY2MTA1MSwyMTc3MDI2MzUwLDI0NTY5NTYwMzcsMjczMDQ4NTkyMSwyODIwMzAyNDExLDMyNTk3MzA4MDAsMzM0NTc2NDc3MSwzNTE2MDY1ODE3LDM2MDAzNTI4MDQsNDA5NDU3MTkwOSwyNzU0MjMzNDQsNDMwMjI3NzM0LDUwNjk0ODYxNiw2NTkwNjA1NTYsODgzOTk3ODc3LDk1ODEzOTU3MSwxMzIyODIyMjE4LDE1MzcwMDIwNjMsMTc0Nzg3Mzc3OSwxOTU1NTYyMjIyLDIwMjQxMDQ4MTUsMjIyNzczMDQ1MiwyMzYxODUyNDI0LDI0Mjg0MzY0NzQsMjc1NjczNDE4NywzMjA0MDMxNDc5LDMzMjkzMjUyOThdO2Z1bmN0aW9uIHkoKXtpZighKHRoaXMgaW5zdGFuY2VvZiB5KSlyZXR1cm4gbmV3IHk7Zy5jYWxsKHRoaXMpLHRoaXMuaD1bMTc3OTAzMzcwMywzMTQ0MTM0Mjc3LDEwMTM5MDQyNDIsMjc3MzQ4MDc2MiwxMzU5ODkzMTE5LDI2MDA4MjI5MjQsNTI4NzM0NjM1LDE1NDE0NTkyMjVdLHRoaXMuaz1iLHRoaXMuVz1uZXcgQXJyYXkoNjQpfW4uaW5oZXJpdHMoeSxnKSx0LmV4cG9ydHM9eSx5LmJsb2NrU2l6ZT01MTIseS5vdXRTaXplPTI1Nix5LmhtYWNTdHJlbmd0aD0xOTIseS5wYWRMZW5ndGg9NjQseS5wcm90b3R5cGUuX3VwZGF0ZT1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj10aGlzLlcsbj0wO248MTY7bisrKXJbbl09dFtlK25dO2Zvcig7bjxyLmxlbmd0aDtuKyspcltuXT11KG0ocltuLTJdKSxyW24tN10scChyW24tMTVdKSxyW24tMTZdKTt2YXIgaT10aGlzLmhbMF0sbz10aGlzLmhbMV0sZz10aGlzLmhbMl0sYj10aGlzLmhbM10seT10aGlzLmhbNF0sdj10aGlzLmhbNV0sXz10aGlzLmhbNl0sdz10aGlzLmhbN107Zm9yKHModGhpcy5rLmxlbmd0aD09PXIubGVuZ3RoKSxuPTA7bjxyLmxlbmd0aDtuKyspe3ZhciBNPWModyxkKHkpLGYoeSx2LF8pLHRoaXMua1tuXSxyW25dKSxTPWEobChpKSxoKGksbyxnKSk7dz1fLF89dix2PXkseT1hKGIsTSksYj1nLGc9byxvPWksaT1hKE0sUyl9dGhpcy5oWzBdPWEodGhpcy5oWzBdLGkpLHRoaXMuaFsxXT1hKHRoaXMuaFsxXSxvKSx0aGlzLmhbMl09YSh0aGlzLmhbMl0sZyksdGhpcy5oWzNdPWEodGhpcy5oWzNdLGIpLHRoaXMuaFs0XT1hKHRoaXMuaFs0XSx5KSx0aGlzLmhbNV09YSh0aGlzLmhbNV0sdiksdGhpcy5oWzZdPWEodGhpcy5oWzZdLF8pLHRoaXMuaFs3XT1hKHRoaXMuaFs3XSx3KX0seS5wcm90b3R5cGUuX2RpZ2VzdD1mdW5jdGlvbih0KXtyZXR1cm4iaGV4Ij09PXQ/bi50b0hleDMyKHRoaXMuaCwiYmlnIik6bi5zcGxpdDMyKHRoaXMuaCwiYmlnIil9fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXIoMTUpLGk9cigzNyksbz1yKDIyKSxzPW4ucm90cjY0X2hpLGE9bi5yb3RyNjRfbG8sdT1uLnNocjY0X2hpLGM9bi5zaHI2NF9sbyxmPW4uc3VtNjQsaD1uLnN1bTY0X2hpLGw9bi5zdW02NF9sbyxkPW4uc3VtNjRfNF9oaSxwPW4uc3VtNjRfNF9sbyxtPW4uc3VtNjRfNV9oaSxnPW4uc3VtNjRfNV9sbyxiPWkuQmxvY2tIYXNoLHk9WzExMTYzNTI0MDgsMzYwOTc2NzQ1OCwxODk5NDQ3NDQxLDYwMjg5MTcyNSwzMDQ5MzIzNDcxLDM5NjQ0ODQzOTksMzkyMTAwOTU3MywyMTczMjk1NTQ4LDk2MTk4NzE2Myw0MDgxNjI4NDcyLDE1MDg5NzA5OTMsMzA1MzgzNDI2NSwyNDUzNjM1NzQ4LDI5Mzc2NzE1NzksMjg3MDc2MzIyMSwzNjY0NjA5NTYwLDM2MjQzODEwODAsMjczNDg4MzM5NCwzMTA1OTg0MDEsMTE2NDk5NjU0Miw2MDcyMjUyNzgsMTMyMzYxMDc2NCwxNDI2ODgxOTg3LDM1OTAzMDQ5OTQsMTkyNTA3ODM4OCw0MDY4MTgyMzgzLDIxNjIwNzgyMDYsOTkxMzM2MTEzLDI2MTQ4ODgxMDMsNjMzODAzMzE3LDMyNDgyMjI1ODAsMzQ3OTc3NDg2OCwzODM1MzkwNDAxLDI2NjY2MTM0NTgsNDAyMjIyNDc3NCw5NDQ3MTExMzksMjY0MzQ3MDc4LDIzNDEyNjI3NzMsNjA0ODA3NjI4LDIwMDc4MDA5MzMsNzcwMjU1OTgzLDE0OTU5OTA5MDEsMTI0OTE1MDEyMiwxODU2NDMxMjM1LDE1NTUwODE2OTIsMzE3NTIxODEzMiwxOTk2MDY0OTg2LDIxOTg5NTA4MzcsMjU1NDIyMDg4MiwzOTk5NzE5MzM5LDI4MjE4MzQzNDksNzY2Nzg0MDE2LDI5NTI5OTY4MDgsMjU2NjU5NDg3OSwzMjEwMzEzNjcxLDMyMDMzMzc5NTYsMzMzNjU3MTg5MSwxMDM0NDU3MDI2LDM1ODQ1Mjg3MTEsMjQ2Njk0ODkwMSwxMTM5MjY5OTMsMzc1ODMyNjM4MywzMzgyNDE4OTUsMTY4NzE3OTM2LDY2NjMwNzIwNSwxMTg4MTc5OTY0LDc3MzUyOTkxMiwxNTQ2MDQ1NzM0LDEyOTQ3NTczNzIsMTUyMjgwNTQ4NSwxMzk2MTgyMjkxLDI2NDM4MzM4MjMsMTY5NTE4MzcwMCwyMzQzNTI3MzkwLDE5ODY2NjEwNTEsMTAxNDQ3NzQ4MCwyMTc3MDI2MzUwLDEyMDY3NTkxNDIsMjQ1Njk1NjAzNywzNDQwNzc2MjcsMjczMDQ4NTkyMSwxMjkwODYzNDYwLDI4MjAzMDI0MTEsMzE1ODQ1NDI3MywzMjU5NzMwODAwLDM1MDU5NTI2NTcsMzM0NTc2NDc3MSwxMDYyMTcwMDgsMzUxNjA2NTgxNywzNjA2MDA4MzQ0LDM2MDAzNTI4MDQsMTQzMjcyNTc3Niw0MDk0NTcxOTA5LDE0NjcwMzE1OTQsMjc1NDIzMzQ0LDg1MTE2OTcyMCw0MzAyMjc3MzQsMzEwMDgyMzc1Miw1MDY5NDg2MTYsMTM2MzI1ODE5NSw2NTkwNjA1NTYsMzc1MDY4NTU5Myw4ODM5OTc4NzcsMzc4NTA1MDI4MCw5NTgxMzk1NzEsMzMxODMwNzQyNywxMzIyODIyMjE4LDM4MTI3MjM0MDMsMTUzNzAwMjA2MywyMDAzMDM0OTk1LDE3NDc4NzM3NzksMzYwMjAzNjg5OSwxOTU1NTYyMjIyLDE1NzU5OTAwMTIsMjAyNDEwNDgxNSwxMTI1NTkyOTI4LDIyMjc3MzA0NTIsMjcxNjkwNDMwNiwyMzYxODUyNDI0LDQ0Mjc3NjA0NCwyNDI4NDM2NDc0LDU5MzY5ODM0NCwyNzU2NzM0MTg3LDM3MzMxMTAyNDksMzIwNDAzMTQ3OSwyOTk5MzUxNTczLDMzMjkzMjUyOTgsMzgxNTkyMDQyNywzMzkxNTY5NjE0LDM5MjgzODM5MDAsMzUxNTI2NzI3MSw1NjYyODA3MTEsMzk0MDE4NzYwNiwzNDU0MDY5NTM0LDQxMTg2MzAyNzEsNDAwMDIzOTk5MiwxMTY0MTg0NzQsMTkxNDEzODU1NCwxNzQyOTI0MjEsMjczMTA1NTI3MCwyODkzODAzNTYsMzIwMzk5MzAwNiw0NjAzOTMyNjksMzIwNjIwMzE1LDY4NTQ3MTczMyw1ODc0OTY4MzYsODUyMTQyOTcxLDEwODY3OTI4NTEsMTAxNzAzNjI5OCwzNjU1NDMxMDAsMTEyNjAwMDU4MCwyNjE4Mjk3Njc2LDEyODgwMzM0NzAsMzQwOTg1NTE1OCwxNTAxNTA1OTQ4LDQyMzQ1MDk4NjYsMTYwNzE2NzkxNSw5ODcxNjc0NjgsMTgxNjQwMjMxNiwxMjQ2MTg5NTkxXTtmdW5jdGlvbiB2KCl7aWYoISh0aGlzIGluc3RhbmNlb2YgdikpcmV0dXJuIG5ldyB2O2IuY2FsbCh0aGlzKSx0aGlzLmg9WzE3NzkwMzM3MDMsNDA4OTIzNTcyMCwzMTQ0MTM0Mjc3LDIyMjc4NzM1OTUsMTAxMzkwNDI0Miw0MjcxMTc1NzIzLDI3NzM0ODA3NjIsMTU5NTc1MDEyOSwxMzU5ODkzMTE5LDI5MTc1NjUxMzcsMjYwMDgyMjkyNCw3MjU1MTExOTksNTI4NzM0NjM1LDQyMTUzODk1NDcsMTU0MTQ1OTIyNSwzMjcwMzMyMDldLHRoaXMuaz15LHRoaXMuVz1uZXcgQXJyYXkoMTYwKX1mdW5jdGlvbiBfKHQsZSxyLG4saSl7dmFyIG89dCZyXn50Jmk7cmV0dXJuIG88MCYmKG8rPTQyOTQ5NjcyOTYpLG99ZnVuY3Rpb24gdyh0LGUscixuLGksbyl7dmFyIHM9ZSZuXn5lJm87cmV0dXJuIHM8MCYmKHMrPTQyOTQ5NjcyOTYpLHN9ZnVuY3Rpb24gTSh0LGUscixuLGkpe3ZhciBvPXQmcl50JmleciZpO3JldHVybiBvPDAmJihvKz00Mjk0OTY3Mjk2KSxvfWZ1bmN0aW9uIFModCxlLHIsbixpLG8pe3ZhciBzPWUmbl5lJm9ebiZvO3JldHVybiBzPDAmJihzKz00Mjk0OTY3Mjk2KSxzfWZ1bmN0aW9uIEUodCxlKXt2YXIgcj1zKHQsZSwyOClecyhlLHQsMilecyhlLHQsNyk7cmV0dXJuIHI8MCYmKHIrPTQyOTQ5NjcyOTYpLHJ9ZnVuY3Rpb24geCh0LGUpe3ZhciByPWEodCxlLDI4KV5hKGUsdCwyKV5hKGUsdCw3KTtyZXR1cm4gcjwwJiYocis9NDI5NDk2NzI5Nikscn1mdW5jdGlvbiBrKHQsZSl7dmFyIHI9cyh0LGUsMTQpXnModCxlLDE4KV5zKGUsdCw5KTtyZXR1cm4gcjwwJiYocis9NDI5NDk2NzI5Nikscn1mdW5jdGlvbiBBKHQsZSl7dmFyIHI9YSh0LGUsMTQpXmEodCxlLDE4KV5hKGUsdCw5KTtyZXR1cm4gcjwwJiYocis9NDI5NDk2NzI5Nikscn1mdW5jdGlvbiBSKHQsZSl7dmFyIHI9cyh0LGUsMSlecyh0LGUsOCledSh0LGUsNyk7cmV0dXJuIHI8MCYmKHIrPTQyOTQ5NjcyOTYpLHJ9ZnVuY3Rpb24gVCh0LGUpe3ZhciByPWEodCxlLDEpXmEodCxlLDgpXmModCxlLDcpO3JldHVybiByPDAmJihyKz00Mjk0OTY3Mjk2KSxyfWZ1bmN0aW9uIE8odCxlKXt2YXIgcj1zKHQsZSwxOSlecyhlLHQsMjkpXnUodCxlLDYpO3JldHVybiByPDAmJihyKz00Mjk0OTY3Mjk2KSxyfWZ1bmN0aW9uIEModCxlKXt2YXIgcj1hKHQsZSwxOSleYShlLHQsMjkpXmModCxlLDYpO3JldHVybiByPDAmJihyKz00Mjk0OTY3Mjk2KSxyfW4uaW5oZXJpdHModixiKSx0LmV4cG9ydHM9dix2LmJsb2NrU2l6ZT0xMDI0LHYub3V0U2l6ZT01MTIsdi5obWFjU3RyZW5ndGg9MTkyLHYucGFkTGVuZ3RoPTEyOCx2LnByb3RvdHlwZS5fcHJlcGFyZUJsb2NrPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPXRoaXMuVyxuPTA7bjwzMjtuKyspcltuXT10W2Urbl07Zm9yKDtuPHIubGVuZ3RoO24rPTIpe3ZhciBpPU8ocltuLTRdLHJbbi0zXSksbz1DKHJbbi00XSxyW24tM10pLHM9cltuLTE0XSxhPXJbbi0xM10sdT1SKHJbbi0zMF0scltuLTI5XSksYz1UKHJbbi0zMF0scltuLTI5XSksZj1yW24tMzJdLGg9cltuLTMxXTtyW25dPWQoaSxvLHMsYSx1LGMsZixoKSxyW24rMV09cChpLG8scyxhLHUsYyxmLGgpfX0sdi5wcm90b3R5cGUuX3VwZGF0ZT1mdW5jdGlvbih0LGUpe3RoaXMuX3ByZXBhcmVCbG9jayh0LGUpO3ZhciByPXRoaXMuVyxuPXRoaXMuaFswXSxpPXRoaXMuaFsxXSxzPXRoaXMuaFsyXSxhPXRoaXMuaFszXSx1PXRoaXMuaFs0XSxjPXRoaXMuaFs1XSxkPXRoaXMuaFs2XSxwPXRoaXMuaFs3XSxiPXRoaXMuaFs4XSx5PXRoaXMuaFs5XSx2PXRoaXMuaFsxMF0sUj10aGlzLmhbMTFdLFQ9dGhpcy5oWzEyXSxPPXRoaXMuaFsxM10sQz10aGlzLmhbMTRdLFA9dGhpcy5oWzE1XTtvKHRoaXMuay5sZW5ndGg9PT1yLmxlbmd0aCk7Zm9yKHZhciBJPTA7STxyLmxlbmd0aDtJKz0yKXt2YXIgQj1DLEw9UCxqPWsoYix5KSxOPUEoYix5KSxxPV8oYix5LHYsUixUKSxVPXcoYix5LHYsUixULE8pLEQ9dGhpcy5rW0ldLHo9dGhpcy5rW0krMV0sSD1yW0ldLEY9cltJKzFdLFc9bShCLEwsaixOLHEsVSxELHosSCxGKSxLPWcoQixMLGosTixxLFUsRCx6LEgsRik7Qj1FKG4saSksTD14KG4saSksaj1NKG4saSxzLGEsdSksTj1TKG4saSxzLGEsdSxjKTt2YXIgVj1oKEIsTCxqLE4pLEo9bChCLEwsaixOKTtDPVQsUD1PLFQ9dixPPVIsdj1iLFI9eSxiPWgoZCxwLFcsSykseT1sKHAscCxXLEspLGQ9dSxwPWMsdT1zLGM9YSxzPW4sYT1pLG49aChXLEssVixKKSxpPWwoVyxLLFYsSil9Zih0aGlzLmgsMCxuLGkpLGYodGhpcy5oLDIscyxhKSxmKHRoaXMuaCw0LHUsYyksZih0aGlzLmgsNixkLHApLGYodGhpcy5oLDgsYix5KSxmKHRoaXMuaCwxMCx2LFIpLGYodGhpcy5oLDEyLFQsTyksZih0aGlzLmgsMTQsQyxQKX0sdi5wcm90b3R5cGUuX2RpZ2VzdD1mdW5jdGlvbih0KXtyZXR1cm4iaGV4Ij09PXQ/bi50b0hleDMyKHRoaXMuaCwiYmlnIik6bi5zcGxpdDMyKHRoaXMuaCwiYmlnIil9fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXIoMyksaT1yKDI3MSksbz1yKDI4MCkscz1yKDI4MSksYT1yKDI4Nik7ZnVuY3Rpb24gdSh0KXthLmNhbGwodGhpcywiZGlnZXN0IiksdGhpcy5faGFzaD10fW4odSxhKSx1LnByb3RvdHlwZS5fdXBkYXRlPWZ1bmN0aW9uKHQpe3RoaXMuX2hhc2gudXBkYXRlKHQpfSx1LnByb3RvdHlwZS5fZmluYWw9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5faGFzaC5kaWdlc3QoKX0sdC5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiJtZDUiPT09KHQ9dC50b0xvd2VyQ2FzZSgpKT9uZXcgaToicm1kMTYwIj09PXR8fCJyaXBlbWQxNjAiPT09dD9uZXcgbzpuZXcgdShzKHQpKX19LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49cigxMykuQnVmZmVyLGk9cigyNzIpLlRyYW5zZm9ybTtmdW5jdGlvbiBvKHQpe2kuY2FsbCh0aGlzKSx0aGlzLl9ibG9jaz1uLmFsbG9jVW5zYWZlKHQpLHRoaXMuX2Jsb2NrU2l6ZT10LHRoaXMuX2Jsb2NrT2Zmc2V0PTAsdGhpcy5fbGVuZ3RoPVswLDAsMCwwXSx0aGlzLl9maW5hbGl6ZWQ9ITF9cigzKShvLGkpLG8ucHJvdG90eXBlLl90cmFuc2Zvcm09ZnVuY3Rpb24odCxlLHIpe3ZhciBuPW51bGw7dHJ5e3RoaXMudXBkYXRlKHQsZSl9Y2F0Y2godCl7bj10fXIobil9LG8ucHJvdG90eXBlLl9mbHVzaD1mdW5jdGlvbih0KXt2YXIgZT1udWxsO3RyeXt0aGlzLnB1c2godGhpcy5kaWdlc3QoKSl9Y2F0Y2godCl7ZT10fXQoZSl9LG8ucHJvdG90eXBlLnVwZGF0ZT1mdW5jdGlvbih0LGUpe2lmKGZ1bmN0aW9uKHQsZSl7aWYoIW4uaXNCdWZmZXIodCkmJiJzdHJpbmciIT10eXBlb2YgdCl0aHJvdyBuZXcgVHlwZUVycm9yKGUrIiBtdXN0IGJlIGEgc3RyaW5nIG9yIGEgYnVmZmVyIil9KHQsIkRhdGEiKSx0aGlzLl9maW5hbGl6ZWQpdGhyb3cgbmV3IEVycm9yKCJEaWdlc3QgYWxyZWFkeSBjYWxsZWQiKTtuLmlzQnVmZmVyKHQpfHwodD1uLmZyb20odCxlKSk7Zm9yKHZhciByPXRoaXMuX2Jsb2NrLGk9MDt0aGlzLl9ibG9ja09mZnNldCt0Lmxlbmd0aC1pPj10aGlzLl9ibG9ja1NpemU7KXtmb3IodmFyIG89dGhpcy5fYmxvY2tPZmZzZXQ7bzx0aGlzLl9ibG9ja1NpemU7KXJbbysrXT10W2krK107dGhpcy5fdXBkYXRlKCksdGhpcy5fYmxvY2tPZmZzZXQ9MH1mb3IoO2k8dC5sZW5ndGg7KXJbdGhpcy5fYmxvY2tPZmZzZXQrK109dFtpKytdO2Zvcih2YXIgcz0wLGE9OCp0Lmxlbmd0aDthPjA7KytzKXRoaXMuX2xlbmd0aFtzXSs9YSwoYT10aGlzLl9sZW5ndGhbc10vNDI5NDk2NzI5NnwwKT4wJiYodGhpcy5fbGVuZ3RoW3NdLT00Mjk0OTY3Mjk2KmEpO3JldHVybiB0aGlzfSxvLnByb3RvdHlwZS5fdXBkYXRlPWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKCJfdXBkYXRlIGlzIG5vdCBpbXBsZW1lbnRlZCIpfSxvLnByb3RvdHlwZS5kaWdlc3Q9ZnVuY3Rpb24odCl7aWYodGhpcy5fZmluYWxpemVkKXRocm93IG5ldyBFcnJvcigiRGlnZXN0IGFscmVhZHkgY2FsbGVkIik7dGhpcy5fZmluYWxpemVkPSEwO3ZhciBlPXRoaXMuX2RpZ2VzdCgpO3ZvaWQgMCE9PXQmJihlPWUudG9TdHJpbmcodCkpLHRoaXMuX2Jsb2NrLmZpbGwoMCksdGhpcy5fYmxvY2tPZmZzZXQ9MDtmb3IodmFyIHI9MDtyPDQ7KytyKXRoaXMuX2xlbmd0aFtyXT0wO3JldHVybiBlfSxvLnByb3RvdHlwZS5fZGlnZXN0PWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKCJfZGlnZXN0IGlzIG5vdCBpbXBsZW1lbnRlZCIpfSx0LmV4cG9ydHM9b30sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjsoZnVuY3Rpb24oZSxuKXt2YXIgaTt0LmV4cG9ydHM9eCx4LlJlYWRhYmxlU3RhdGU9RTtyKDEyKS5FdmVudEVtaXR0ZXI7dmFyIG89ZnVuY3Rpb24odCxlKXtyZXR1cm4gdC5saXN0ZW5lcnMoZSkubGVuZ3RofSxzPXIoMTI5KSxhPXIoMikuQnVmZmVyLHU9ZS5VaW50OEFycmF5fHxmdW5jdGlvbigpe307dmFyIGMsZj1yKDI3Myk7Yz1mJiZmLmRlYnVnbG9nP2YuZGVidWdsb2coInN0cmVhbSIpOmZ1bmN0aW9uKCl7fTt2YXIgaCxsLGQscD1yKDI3NCksbT1yKDEzMCksZz1yKDEzMSkuZ2V0SGlnaFdhdGVyTWFyayxiPXIoMjkpLmNvZGVzLHk9Yi5FUlJfSU5WQUxJRF9BUkdfVFlQRSx2PWIuRVJSX1NUUkVBTV9QVVNIX0FGVEVSX0VPRixfPWIuRVJSX01FVEhPRF9OT1RfSU1QTEVNRU5URUQsdz1iLkVSUl9TVFJFQU1fVU5TSElGVF9BRlRFUl9FTkRfRVZFTlQ7cigzKSh4LHMpO3ZhciBNPW0uZXJyb3JPckRlc3Ryb3ksUz1bImVycm9yIiwiY2xvc2UiLCJkZXN0cm95IiwicGF1c2UiLCJyZXN1bWUiXTtmdW5jdGlvbiBFKHQsZSxuKXtpPWl8fHIoMzApLHQ9dHx8e30sImJvb2xlYW4iIT10eXBlb2YgbiYmKG49ZSBpbnN0YW5jZW9mIGkpLHRoaXMub2JqZWN0TW9kZT0hIXQub2JqZWN0TW9kZSxuJiYodGhpcy5vYmplY3RNb2RlPXRoaXMub2JqZWN0TW9kZXx8ISF0LnJlYWRhYmxlT2JqZWN0TW9kZSksdGhpcy5oaWdoV2F0ZXJNYXJrPWcodGhpcyx0LCJyZWFkYWJsZUhpZ2hXYXRlck1hcmsiLG4pLHRoaXMuYnVmZmVyPW5ldyBwLHRoaXMubGVuZ3RoPTAsdGhpcy5waXBlcz1udWxsLHRoaXMucGlwZXNDb3VudD0wLHRoaXMuZmxvd2luZz1udWxsLHRoaXMuZW5kZWQ9ITEsdGhpcy5lbmRFbWl0dGVkPSExLHRoaXMucmVhZGluZz0hMSx0aGlzLnN5bmM9ITAsdGhpcy5uZWVkUmVhZGFibGU9ITEsdGhpcy5lbWl0dGVkUmVhZGFibGU9ITEsdGhpcy5yZWFkYWJsZUxpc3RlbmluZz0hMSx0aGlzLnJlc3VtZVNjaGVkdWxlZD0hMSx0aGlzLnBhdXNlZD0hMCx0aGlzLmVtaXRDbG9zZT0hMSE9PXQuZW1pdENsb3NlLHRoaXMuYXV0b0Rlc3Ryb3k9ISF0LmF1dG9EZXN0cm95LHRoaXMuZGVzdHJveWVkPSExLHRoaXMuZGVmYXVsdEVuY29kaW5nPXQuZGVmYXVsdEVuY29kaW5nfHwidXRmOCIsdGhpcy5hd2FpdERyYWluPTAsdGhpcy5yZWFkaW5nTW9yZT0hMSx0aGlzLmRlY29kZXI9bnVsbCx0aGlzLmVuY29kaW5nPW51bGwsdC5lbmNvZGluZyYmKGh8fChoPXIoMjApLlN0cmluZ0RlY29kZXIpLHRoaXMuZGVjb2Rlcj1uZXcgaCh0LmVuY29kaW5nKSx0aGlzLmVuY29kaW5nPXQuZW5jb2RpbmcpfWZ1bmN0aW9uIHgodCl7aWYoaT1pfHxyKDMwKSwhKHRoaXMgaW5zdGFuY2VvZiB4KSlyZXR1cm4gbmV3IHgodCk7dmFyIGU9dGhpcyBpbnN0YW5jZW9mIGk7dGhpcy5fcmVhZGFibGVTdGF0ZT1uZXcgRSh0LHRoaXMsZSksdGhpcy5yZWFkYWJsZT0hMCx0JiYoImZ1bmN0aW9uIj09dHlwZW9mIHQucmVhZCYmKHRoaXMuX3JlYWQ9dC5yZWFkKSwiZnVuY3Rpb24iPT10eXBlb2YgdC5kZXN0cm95JiYodGhpcy5fZGVzdHJveT10LmRlc3Ryb3kpKSxzLmNhbGwodGhpcyl9ZnVuY3Rpb24gayh0LGUscixuLGkpe2MoInJlYWRhYmxlQWRkQ2h1bmsiLGUpO3ZhciBvLHM9dC5fcmVhZGFibGVTdGF0ZTtpZihudWxsPT09ZSlzLnJlYWRpbmc9ITEsZnVuY3Rpb24odCxlKXtpZihjKCJvbkVvZkNodW5rIiksZS5lbmRlZClyZXR1cm47aWYoZS5kZWNvZGVyKXt2YXIgcj1lLmRlY29kZXIuZW5kKCk7ciYmci5sZW5ndGgmJihlLmJ1ZmZlci5wdXNoKHIpLGUubGVuZ3RoKz1lLm9iamVjdE1vZGU/MTpyLmxlbmd0aCl9ZS5lbmRlZD0hMCxlLnN5bmM/VCh0KTooZS5uZWVkUmVhZGFibGU9ITEsZS5lbWl0dGVkUmVhZGFibGV8fChlLmVtaXR0ZWRSZWFkYWJsZT0hMCxPKHQpKSl9KHQscyk7ZWxzZSBpZihpfHwobz1mdW5jdGlvbih0LGUpe3ZhciByO249ZSxhLmlzQnVmZmVyKG4pfHxuIGluc3RhbmNlb2YgdXx8InN0cmluZyI9PXR5cGVvZiBlfHx2b2lkIDA9PT1lfHx0Lm9iamVjdE1vZGV8fChyPW5ldyB5KCJjaHVuayIsWyJzdHJpbmciLCJCdWZmZXIiLCJVaW50OEFycmF5Il0sZSkpO3ZhciBuO3JldHVybiByfShzLGUpKSxvKU0odCxvKTtlbHNlIGlmKHMub2JqZWN0TW9kZXx8ZSYmZS5sZW5ndGg+MClpZigic3RyaW5nIj09dHlwZW9mIGV8fHMub2JqZWN0TW9kZXx8T2JqZWN0LmdldFByb3RvdHlwZU9mKGUpPT09YS5wcm90b3R5cGV8fChlPWZ1bmN0aW9uKHQpe3JldHVybiBhLmZyb20odCl9KGUpKSxuKXMuZW5kRW1pdHRlZD9NKHQsbmV3IHcpOkEodCxzLGUsITApO2Vsc2UgaWYocy5lbmRlZClNKHQsbmV3IHYpO2Vsc2V7aWYocy5kZXN0cm95ZWQpcmV0dXJuITE7cy5yZWFkaW5nPSExLHMuZGVjb2RlciYmIXI/KGU9cy5kZWNvZGVyLndyaXRlKGUpLHMub2JqZWN0TW9kZXx8MCE9PWUubGVuZ3RoP0EodCxzLGUsITEpOkModCxzKSk6QSh0LHMsZSwhMSl9ZWxzZSBufHwocy5yZWFkaW5nPSExLEModCxzKSk7cmV0dXJuIXMuZW5kZWQmJihzLmxlbmd0aDxzLmhpZ2hXYXRlck1hcmt8fDA9PT1zLmxlbmd0aCl9ZnVuY3Rpb24gQSh0LGUscixuKXtlLmZsb3dpbmcmJjA9PT1lLmxlbmd0aCYmIWUuc3luYz8oZS5hd2FpdERyYWluPTAsdC5lbWl0KCJkYXRhIixyKSk6KGUubGVuZ3RoKz1lLm9iamVjdE1vZGU/MTpyLmxlbmd0aCxuP2UuYnVmZmVyLnVuc2hpZnQocik6ZS5idWZmZXIucHVzaChyKSxlLm5lZWRSZWFkYWJsZSYmVCh0KSksQyh0LGUpfU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh4LnByb3RvdHlwZSwiZGVzdHJveWVkIix7ZW51bWVyYWJsZTohMSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdm9pZCAwIT09dGhpcy5fcmVhZGFibGVTdGF0ZSYmdGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWR9LHNldDpmdW5jdGlvbih0KXt0aGlzLl9yZWFkYWJsZVN0YXRlJiYodGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWQ9dCl9fSkseC5wcm90b3R5cGUuZGVzdHJveT1tLmRlc3Ryb3kseC5wcm90b3R5cGUuX3VuZGVzdHJveT1tLnVuZGVzdHJveSx4LnByb3RvdHlwZS5fZGVzdHJveT1mdW5jdGlvbih0LGUpe2UodCl9LHgucHJvdG90eXBlLnB1c2g9ZnVuY3Rpb24odCxlKXt2YXIgcixuPXRoaXMuX3JlYWRhYmxlU3RhdGU7cmV0dXJuIG4ub2JqZWN0TW9kZT9yPSEwOiJzdHJpbmciPT10eXBlb2YgdCYmKChlPWV8fG4uZGVmYXVsdEVuY29kaW5nKSE9PW4uZW5jb2RpbmcmJih0PWEuZnJvbSh0LGUpLGU9IiIpLHI9ITApLGsodGhpcyx0LGUsITEscil9LHgucHJvdG90eXBlLnVuc2hpZnQ9ZnVuY3Rpb24odCl7cmV0dXJuIGsodGhpcyx0LG51bGwsITAsITEpfSx4LnByb3RvdHlwZS5pc1BhdXNlZD1mdW5jdGlvbigpe3JldHVybiExPT09dGhpcy5fcmVhZGFibGVTdGF0ZS5mbG93aW5nfSx4LnByb3RvdHlwZS5zZXRFbmNvZGluZz1mdW5jdGlvbih0KXtofHwoaD1yKDIwKS5TdHJpbmdEZWNvZGVyKTt2YXIgZT1uZXcgaCh0KTt0aGlzLl9yZWFkYWJsZVN0YXRlLmRlY29kZXI9ZSx0aGlzLl9yZWFkYWJsZVN0YXRlLmVuY29kaW5nPXRoaXMuX3JlYWRhYmxlU3RhdGUuZGVjb2Rlci5lbmNvZGluZztmb3IodmFyIG49dGhpcy5fcmVhZGFibGVTdGF0ZS5idWZmZXIuaGVhZCxpPSIiO251bGwhPT1uOylpKz1lLndyaXRlKG4uZGF0YSksbj1uLm5leHQ7cmV0dXJuIHRoaXMuX3JlYWRhYmxlU3RhdGUuYnVmZmVyLmNsZWFyKCksIiIhPT1pJiZ0aGlzLl9yZWFkYWJsZVN0YXRlLmJ1ZmZlci5wdXNoKGkpLHRoaXMuX3JlYWRhYmxlU3RhdGUubGVuZ3RoPWkubGVuZ3RoLHRoaXN9O2Z1bmN0aW9uIFIodCxlKXtyZXR1cm4gdDw9MHx8MD09PWUubGVuZ3RoJiZlLmVuZGVkPzA6ZS5vYmplY3RNb2RlPzE6dCE9dD9lLmZsb3dpbmcmJmUubGVuZ3RoP2UuYnVmZmVyLmhlYWQuZGF0YS5sZW5ndGg6ZS5sZW5ndGg6KHQ+ZS5oaWdoV2F0ZXJNYXJrJiYoZS5oaWdoV2F0ZXJNYXJrPWZ1bmN0aW9uKHQpe3JldHVybiB0Pj0xMDczNzQxODI0P3Q9MTA3Mzc0MTgyNDoodC0tLHR8PXQ+Pj4xLHR8PXQ+Pj4yLHR8PXQ+Pj40LHR8PXQ+Pj44LHR8PXQ+Pj4xNix0KyspLHR9KHQpKSx0PD1lLmxlbmd0aD90OmUuZW5kZWQ/ZS5sZW5ndGg6KGUubmVlZFJlYWRhYmxlPSEwLDApKX1mdW5jdGlvbiBUKHQpe3ZhciBlPXQuX3JlYWRhYmxlU3RhdGU7YygiZW1pdFJlYWRhYmxlIixlLm5lZWRSZWFkYWJsZSxlLmVtaXR0ZWRSZWFkYWJsZSksZS5uZWVkUmVhZGFibGU9ITEsZS5lbWl0dGVkUmVhZGFibGV8fChjKCJlbWl0UmVhZGFibGUiLGUuZmxvd2luZyksZS5lbWl0dGVkUmVhZGFibGU9ITAsbi5uZXh0VGljayhPLHQpKX1mdW5jdGlvbiBPKHQpe3ZhciBlPXQuX3JlYWRhYmxlU3RhdGU7YygiZW1pdFJlYWRhYmxlXyIsZS5kZXN0cm95ZWQsZS5sZW5ndGgsZS5lbmRlZCksZS5kZXN0cm95ZWR8fCFlLmxlbmd0aCYmIWUuZW5kZWR8fCh0LmVtaXQoInJlYWRhYmxlIiksZS5lbWl0dGVkUmVhZGFibGU9ITEpLGUubmVlZFJlYWRhYmxlPSFlLmZsb3dpbmcmJiFlLmVuZGVkJiZlLmxlbmd0aDw9ZS5oaWdoV2F0ZXJNYXJrLGoodCl9ZnVuY3Rpb24gQyh0LGUpe2UucmVhZGluZ01vcmV8fChlLnJlYWRpbmdNb3JlPSEwLG4ubmV4dFRpY2soUCx0LGUpKX1mdW5jdGlvbiBQKHQsZSl7Zm9yKDshZS5yZWFkaW5nJiYhZS5lbmRlZCYmKGUubGVuZ3RoPGUuaGlnaFdhdGVyTWFya3x8ZS5mbG93aW5nJiYwPT09ZS5sZW5ndGgpOyl7dmFyIHI9ZS5sZW5ndGg7aWYoYygibWF5YmVSZWFkTW9yZSByZWFkIDAiKSx0LnJlYWQoMCkscj09PWUubGVuZ3RoKWJyZWFrfWUucmVhZGluZ01vcmU9ITF9ZnVuY3Rpb24gSSh0KXt2YXIgZT10Ll9yZWFkYWJsZVN0YXRlO2UucmVhZGFibGVMaXN0ZW5pbmc9dC5saXN0ZW5lckNvdW50KCJyZWFkYWJsZSIpPjAsZS5yZXN1bWVTY2hlZHVsZWQmJiFlLnBhdXNlZD9lLmZsb3dpbmc9ITA6dC5saXN0ZW5lckNvdW50KCJkYXRhIik+MCYmdC5yZXN1bWUoKX1mdW5jdGlvbiBCKHQpe2MoInJlYWRhYmxlIG5leHR0aWNrIHJlYWQgMCIpLHQucmVhZCgwKX1mdW5jdGlvbiBMKHQsZSl7YygicmVzdW1lIixlLnJlYWRpbmcpLGUucmVhZGluZ3x8dC5yZWFkKDApLGUucmVzdW1lU2NoZWR1bGVkPSExLHQuZW1pdCgicmVzdW1lIiksaih0KSxlLmZsb3dpbmcmJiFlLnJlYWRpbmcmJnQucmVhZCgwKX1mdW5jdGlvbiBqKHQpe3ZhciBlPXQuX3JlYWRhYmxlU3RhdGU7Zm9yKGMoImZsb3ciLGUuZmxvd2luZyk7ZS5mbG93aW5nJiZudWxsIT09dC5yZWFkKCk7KTt9ZnVuY3Rpb24gTih0LGUpe3JldHVybiAwPT09ZS5sZW5ndGg/bnVsbDooZS5vYmplY3RNb2RlP3I9ZS5idWZmZXIuc2hpZnQoKTohdHx8dD49ZS5sZW5ndGg/KHI9ZS5kZWNvZGVyP2UuYnVmZmVyLmpvaW4oIiIpOjE9PT1lLmJ1ZmZlci5sZW5ndGg/ZS5idWZmZXIuZmlyc3QoKTplLmJ1ZmZlci5jb25jYXQoZS5sZW5ndGgpLGUuYnVmZmVyLmNsZWFyKCkpOnI9ZS5idWZmZXIuY29uc3VtZSh0LGUuZGVjb2Rlcikscik7dmFyIHJ9ZnVuY3Rpb24gcSh0KXt2YXIgZT10Ll9yZWFkYWJsZVN0YXRlO2MoImVuZFJlYWRhYmxlIixlLmVuZEVtaXR0ZWQpLGUuZW5kRW1pdHRlZHx8KGUuZW5kZWQ9ITAsbi5uZXh0VGljayhVLGUsdCkpfWZ1bmN0aW9uIFUodCxlKXtpZihjKCJlbmRSZWFkYWJsZU5UIix0LmVuZEVtaXR0ZWQsdC5sZW5ndGgpLCF0LmVuZEVtaXR0ZWQmJjA9PT10Lmxlbmd0aCYmKHQuZW5kRW1pdHRlZD0hMCxlLnJlYWRhYmxlPSExLGUuZW1pdCgiZW5kIiksdC5hdXRvRGVzdHJveSkpe3ZhciByPWUuX3dyaXRhYmxlU3RhdGU7KCFyfHxyLmF1dG9EZXN0cm95JiZyLmZpbmlzaGVkKSYmZS5kZXN0cm95KCl9fWZ1bmN0aW9uIEQodCxlKXtmb3IodmFyIHI9MCxuPXQubGVuZ3RoO3I8bjtyKyspaWYodFtyXT09PWUpcmV0dXJuIHI7cmV0dXJuLTF9eC5wcm90b3R5cGUucmVhZD1mdW5jdGlvbih0KXtjKCJyZWFkIix0KSx0PXBhcnNlSW50KHQsMTApO3ZhciBlPXRoaXMuX3JlYWRhYmxlU3RhdGUscj10O2lmKDAhPT10JiYoZS5lbWl0dGVkUmVhZGFibGU9ITEpLDA9PT10JiZlLm5lZWRSZWFkYWJsZSYmKCgwIT09ZS5oaWdoV2F0ZXJNYXJrP2UubGVuZ3RoPj1lLmhpZ2hXYXRlck1hcms6ZS5sZW5ndGg+MCl8fGUuZW5kZWQpKXJldHVybiBjKCJyZWFkOiBlbWl0UmVhZGFibGUiLGUubGVuZ3RoLGUuZW5kZWQpLDA9PT1lLmxlbmd0aCYmZS5lbmRlZD9xKHRoaXMpOlQodGhpcyksbnVsbDtpZigwPT09KHQ9Uih0LGUpKSYmZS5lbmRlZClyZXR1cm4gMD09PWUubGVuZ3RoJiZxKHRoaXMpLG51bGw7dmFyIG4saT1lLm5lZWRSZWFkYWJsZTtyZXR1cm4gYygibmVlZCByZWFkYWJsZSIsaSksKDA9PT1lLmxlbmd0aHx8ZS5sZW5ndGgtdDxlLmhpZ2hXYXRlck1hcmspJiZjKCJsZW5ndGggbGVzcyB0aGFuIHdhdGVybWFyayIsaT0hMCksZS5lbmRlZHx8ZS5yZWFkaW5nP2MoInJlYWRpbmcgb3IgZW5kZWQiLGk9ITEpOmkmJihjKCJkbyByZWFkIiksZS5yZWFkaW5nPSEwLGUuc3luYz0hMCwwPT09ZS5sZW5ndGgmJihlLm5lZWRSZWFkYWJsZT0hMCksdGhpcy5fcmVhZChlLmhpZ2hXYXRlck1hcmspLGUuc3luYz0hMSxlLnJlYWRpbmd8fCh0PVIocixlKSkpLG51bGw9PT0obj10PjA/Tih0LGUpOm51bGwpPyhlLm5lZWRSZWFkYWJsZT1lLmxlbmd0aDw9ZS5oaWdoV2F0ZXJNYXJrLHQ9MCk6KGUubGVuZ3RoLT10LGUuYXdhaXREcmFpbj0wKSwwPT09ZS5sZW5ndGgmJihlLmVuZGVkfHwoZS5uZWVkUmVhZGFibGU9ITApLHIhPT10JiZlLmVuZGVkJiZxKHRoaXMpKSxudWxsIT09biYmdGhpcy5lbWl0KCJkYXRhIixuKSxufSx4LnByb3RvdHlwZS5fcmVhZD1mdW5jdGlvbih0KXtNKHRoaXMsbmV3IF8oIl9yZWFkKCkiKSl9LHgucHJvdG90eXBlLnBpcGU9ZnVuY3Rpb24odCxlKXt2YXIgcj10aGlzLGk9dGhpcy5fcmVhZGFibGVTdGF0ZTtzd2l0Y2goaS5waXBlc0NvdW50KXtjYXNlIDA6aS5waXBlcz10O2JyZWFrO2Nhc2UgMTppLnBpcGVzPVtpLnBpcGVzLHRdO2JyZWFrO2RlZmF1bHQ6aS5waXBlcy5wdXNoKHQpfWkucGlwZXNDb3VudCs9MSxjKCJwaXBlIGNvdW50PSVkIG9wdHM9JWoiLGkucGlwZXNDb3VudCxlKTt2YXIgcz0oIWV8fCExIT09ZS5lbmQpJiZ0IT09bi5zdGRvdXQmJnQhPT1uLnN0ZGVycj91Omc7ZnVuY3Rpb24gYShlLG4pe2MoIm9udW5waXBlIiksZT09PXImJm4mJiExPT09bi5oYXNVbnBpcGVkJiYobi5oYXNVbnBpcGVkPSEwLGMoImNsZWFudXAiKSx0LnJlbW92ZUxpc3RlbmVyKCJjbG9zZSIscCksdC5yZW1vdmVMaXN0ZW5lcigiZmluaXNoIixtKSx0LnJlbW92ZUxpc3RlbmVyKCJkcmFpbiIsZiksdC5yZW1vdmVMaXN0ZW5lcigiZXJyb3IiLGQpLHQucmVtb3ZlTGlzdGVuZXIoInVucGlwZSIsYSksci5yZW1vdmVMaXN0ZW5lcigiZW5kIix1KSxyLnJlbW92ZUxpc3RlbmVyKCJlbmQiLGcpLHIucmVtb3ZlTGlzdGVuZXIoImRhdGEiLGwpLGg9ITAsIWkuYXdhaXREcmFpbnx8dC5fd3JpdGFibGVTdGF0ZSYmIXQuX3dyaXRhYmxlU3RhdGUubmVlZERyYWlufHxmKCkpfWZ1bmN0aW9uIHUoKXtjKCJvbmVuZCIpLHQuZW5kKCl9aS5lbmRFbWl0dGVkP24ubmV4dFRpY2socyk6ci5vbmNlKCJlbmQiLHMpLHQub24oInVucGlwZSIsYSk7dmFyIGY9ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGU9dC5fcmVhZGFibGVTdGF0ZTtjKCJwaXBlT25EcmFpbiIsZS5hd2FpdERyYWluKSxlLmF3YWl0RHJhaW4mJmUuYXdhaXREcmFpbi0tLDA9PT1lLmF3YWl0RHJhaW4mJm8odCwiZGF0YSIpJiYoZS5mbG93aW5nPSEwLGoodCkpfX0ocik7dC5vbigiZHJhaW4iLGYpO3ZhciBoPSExO2Z1bmN0aW9uIGwoZSl7Yygib25kYXRhIik7dmFyIG49dC53cml0ZShlKTtjKCJkZXN0LndyaXRlIixuKSwhMT09PW4mJigoMT09PWkucGlwZXNDb3VudCYmaS5waXBlcz09PXR8fGkucGlwZXNDb3VudD4xJiYtMSE9PUQoaS5waXBlcyx0KSkmJiFoJiYoYygiZmFsc2Ugd3JpdGUgcmVzcG9uc2UsIHBhdXNlIixpLmF3YWl0RHJhaW4pLGkuYXdhaXREcmFpbisrKSxyLnBhdXNlKCkpfWZ1bmN0aW9uIGQoZSl7Yygib25lcnJvciIsZSksZygpLHQucmVtb3ZlTGlzdGVuZXIoImVycm9yIixkKSwwPT09byh0LCJlcnJvciIpJiZNKHQsZSl9ZnVuY3Rpb24gcCgpe3QucmVtb3ZlTGlzdGVuZXIoImZpbmlzaCIsbSksZygpfWZ1bmN0aW9uIG0oKXtjKCJvbmZpbmlzaCIpLHQucmVtb3ZlTGlzdGVuZXIoImNsb3NlIixwKSxnKCl9ZnVuY3Rpb24gZygpe2MoInVucGlwZSIpLHIudW5waXBlKHQpfXJldHVybiByLm9uKCJkYXRhIixsKSxmdW5jdGlvbih0LGUscil7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHQucHJlcGVuZExpc3RlbmVyKXJldHVybiB0LnByZXBlbmRMaXN0ZW5lcihlLHIpO3QuX2V2ZW50cyYmdC5fZXZlbnRzW2VdP0FycmF5LmlzQXJyYXkodC5fZXZlbnRzW2VdKT90Ll9ldmVudHNbZV0udW5zaGlmdChyKTp0Ll9ldmVudHNbZV09W3IsdC5fZXZlbnRzW2VdXTp0Lm9uKGUscil9KHQsImVycm9yIixkKSx0Lm9uY2UoImNsb3NlIixwKSx0Lm9uY2UoImZpbmlzaCIsbSksdC5lbWl0KCJwaXBlIixyKSxpLmZsb3dpbmd8fChjKCJwaXBlIHJlc3VtZSIpLHIucmVzdW1lKCkpLHR9LHgucHJvdG90eXBlLnVucGlwZT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLl9yZWFkYWJsZVN0YXRlLHI9e2hhc1VucGlwZWQ6ITF9O2lmKDA9PT1lLnBpcGVzQ291bnQpcmV0dXJuIHRoaXM7aWYoMT09PWUucGlwZXNDb3VudClyZXR1cm4gdCYmdCE9PWUucGlwZXN8fCh0fHwodD1lLnBpcGVzKSxlLnBpcGVzPW51bGwsZS5waXBlc0NvdW50PTAsZS5mbG93aW5nPSExLHQmJnQuZW1pdCgidW5waXBlIix0aGlzLHIpKSx0aGlzO2lmKCF0KXt2YXIgbj1lLnBpcGVzLGk9ZS5waXBlc0NvdW50O2UucGlwZXM9bnVsbCxlLnBpcGVzQ291bnQ9MCxlLmZsb3dpbmc9ITE7Zm9yKHZhciBvPTA7bzxpO28rKyluW29dLmVtaXQoInVucGlwZSIsdGhpcyx7aGFzVW5waXBlZDohMX0pO3JldHVybiB0aGlzfXZhciBzPUQoZS5waXBlcyx0KTtyZXR1cm4tMT09PXN8fChlLnBpcGVzLnNwbGljZShzLDEpLGUucGlwZXNDb3VudC09MSwxPT09ZS5waXBlc0NvdW50JiYoZS5waXBlcz1lLnBpcGVzWzBdKSx0LmVtaXQoInVucGlwZSIsdGhpcyxyKSksdGhpc30seC5wcm90b3R5cGUub249ZnVuY3Rpb24odCxlKXt2YXIgcj1zLnByb3RvdHlwZS5vbi5jYWxsKHRoaXMsdCxlKSxpPXRoaXMuX3JlYWRhYmxlU3RhdGU7cmV0dXJuImRhdGEiPT09dD8oaS5yZWFkYWJsZUxpc3RlbmluZz10aGlzLmxpc3RlbmVyQ291bnQoInJlYWRhYmxlIik+MCwhMSE9PWkuZmxvd2luZyYmdGhpcy5yZXN1bWUoKSk6InJlYWRhYmxlIj09PXQmJihpLmVuZEVtaXR0ZWR8fGkucmVhZGFibGVMaXN0ZW5pbmd8fChpLnJlYWRhYmxlTGlzdGVuaW5nPWkubmVlZFJlYWRhYmxlPSEwLGkuZmxvd2luZz0hMSxpLmVtaXR0ZWRSZWFkYWJsZT0hMSxjKCJvbiByZWFkYWJsZSIsaS5sZW5ndGgsaS5yZWFkaW5nKSxpLmxlbmd0aD9UKHRoaXMpOmkucmVhZGluZ3x8bi5uZXh0VGljayhCLHRoaXMpKSkscn0seC5wcm90b3R5cGUuYWRkTGlzdGVuZXI9eC5wcm90b3R5cGUub24seC5wcm90b3R5cGUucmVtb3ZlTGlzdGVuZXI9ZnVuY3Rpb24odCxlKXt2YXIgcj1zLnByb3RvdHlwZS5yZW1vdmVMaXN0ZW5lci5jYWxsKHRoaXMsdCxlKTtyZXR1cm4icmVhZGFibGUiPT09dCYmbi5uZXh0VGljayhJLHRoaXMpLHJ9LHgucHJvdG90eXBlLnJlbW92ZUFsbExpc3RlbmVycz1mdW5jdGlvbih0KXt2YXIgZT1zLnByb3RvdHlwZS5yZW1vdmVBbGxMaXN0ZW5lcnMuYXBwbHkodGhpcyxhcmd1bWVudHMpO3JldHVybiJyZWFkYWJsZSIhPT10JiZ2b2lkIDAhPT10fHxuLm5leHRUaWNrKEksdGhpcyksZX0seC5wcm90b3R5cGUucmVzdW1lPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fcmVhZGFibGVTdGF0ZTtyZXR1cm4gdC5mbG93aW5nfHwoYygicmVzdW1lIiksdC5mbG93aW5nPSF0LnJlYWRhYmxlTGlzdGVuaW5nLGZ1bmN0aW9uKHQsZSl7ZS5yZXN1bWVTY2hlZHVsZWR8fChlLnJlc3VtZVNjaGVkdWxlZD0hMCxuLm5leHRUaWNrKEwsdCxlKSl9KHRoaXMsdCkpLHQucGF1c2VkPSExLHRoaXN9LHgucHJvdG90eXBlLnBhdXNlPWZ1bmN0aW9uKCl7cmV0dXJuIGMoImNhbGwgcGF1c2UgZmxvd2luZz0laiIsdGhpcy5fcmVhZGFibGVTdGF0ZS5mbG93aW5nKSwhMSE9PXRoaXMuX3JlYWRhYmxlU3RhdGUuZmxvd2luZyYmKGMoInBhdXNlIiksdGhpcy5fcmVhZGFibGVTdGF0ZS5mbG93aW5nPSExLHRoaXMuZW1pdCgicGF1c2UiKSksdGhpcy5fcmVhZGFibGVTdGF0ZS5wYXVzZWQ9ITAsdGhpc30seC5wcm90b3R5cGUud3JhcD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLHI9dGhpcy5fcmVhZGFibGVTdGF0ZSxuPSExO2Zvcih2YXIgaSBpbiB0Lm9uKCJlbmQiLChmdW5jdGlvbigpe2lmKGMoIndyYXBwZWQgZW5kIiksci5kZWNvZGVyJiYhci5lbmRlZCl7dmFyIHQ9ci5kZWNvZGVyLmVuZCgpO3QmJnQubGVuZ3RoJiZlLnB1c2godCl9ZS5wdXNoKG51bGwpfSkpLHQub24oImRhdGEiLChmdW5jdGlvbihpKXsoYygid3JhcHBlZCBkYXRhIiksci5kZWNvZGVyJiYoaT1yLmRlY29kZXIud3JpdGUoaSkpLHIub2JqZWN0TW9kZSYmbnVsbD09aSl8fChyLm9iamVjdE1vZGV8fGkmJmkubGVuZ3RoKSYmKGUucHVzaChpKXx8KG49ITAsdC5wYXVzZSgpKSl9KSksdCl2b2lkIDA9PT10aGlzW2ldJiYiZnVuY3Rpb24iPT10eXBlb2YgdFtpXSYmKHRoaXNbaV09ZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHRbZV0uYXBwbHkodCxhcmd1bWVudHMpfX0oaSkpO2Zvcih2YXIgbz0wO288Uy5sZW5ndGg7bysrKXQub24oU1tvXSx0aGlzLmVtaXQuYmluZCh0aGlzLFNbb10pKTtyZXR1cm4gdGhpcy5fcmVhZD1mdW5jdGlvbihlKXtjKCJ3cmFwcGVkIF9yZWFkIixlKSxuJiYobj0hMSx0LnJlc3VtZSgpKX0sdGhpc30sImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmKHgucHJvdG90eXBlW1N5bWJvbC5hc3luY0l0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB2b2lkIDA9PT1sJiYobD1yKDI3NikpLGwodGhpcyl9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoeC5wcm90b3R5cGUsInJlYWRhYmxlSGlnaFdhdGVyTWFyayIse2VudW1lcmFibGU6ITEsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3JlYWRhYmxlU3RhdGUuaGlnaFdhdGVyTWFya319KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoeC5wcm90b3R5cGUsInJlYWRhYmxlQnVmZmVyIix7ZW51bWVyYWJsZTohMSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcmVhZGFibGVTdGF0ZSYmdGhpcy5fcmVhZGFibGVTdGF0ZS5idWZmZXJ9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHgucHJvdG90eXBlLCJyZWFkYWJsZUZsb3dpbmciLHtlbnVtZXJhYmxlOiExLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9yZWFkYWJsZVN0YXRlLmZsb3dpbmd9LHNldDpmdW5jdGlvbih0KXt0aGlzLl9yZWFkYWJsZVN0YXRlJiYodGhpcy5fcmVhZGFibGVTdGF0ZS5mbG93aW5nPXQpfX0pLHguX2Zyb21MaXN0PU4sT2JqZWN0LmRlZmluZVByb3BlcnR5KHgucHJvdG90eXBlLCJyZWFkYWJsZUxlbmd0aCIse2VudW1lcmFibGU6ITEsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3JlYWRhYmxlU3RhdGUubGVuZ3RofX0pLCJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJih4LmZyb209ZnVuY3Rpb24odCxlKXtyZXR1cm4gdm9pZCAwPT09ZCYmKGQ9cigyNzcpKSxkKHgsdCxlKX0pfSkuY2FsbCh0aGlzLHIoNikscig1KSl9LGZ1bmN0aW9uKHQsZSxyKXt0LmV4cG9ydHM9cigxMikuRXZlbnRFbWl0dGVyfSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiOyhmdW5jdGlvbihlKXtmdW5jdGlvbiByKHQsZSl7aSh0LGUpLG4odCl9ZnVuY3Rpb24gbih0KXt0Ll93cml0YWJsZVN0YXRlJiYhdC5fd3JpdGFibGVTdGF0ZS5lbWl0Q2xvc2V8fHQuX3JlYWRhYmxlU3RhdGUmJiF0Ll9yZWFkYWJsZVN0YXRlLmVtaXRDbG9zZXx8dC5lbWl0KCJjbG9zZSIpfWZ1bmN0aW9uIGkodCxlKXt0LmVtaXQoImVycm9yIixlKX10LmV4cG9ydHM9e2Rlc3Ryb3k6ZnVuY3Rpb24odCxvKXt2YXIgcz10aGlzLGE9dGhpcy5fcmVhZGFibGVTdGF0ZSYmdGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWQsdT10aGlzLl93cml0YWJsZVN0YXRlJiZ0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZDtyZXR1cm4gYXx8dT8obz9vKHQpOnQmJih0aGlzLl93cml0YWJsZVN0YXRlP3RoaXMuX3dyaXRhYmxlU3RhdGUuZXJyb3JFbWl0dGVkfHwodGhpcy5fd3JpdGFibGVTdGF0ZS5lcnJvckVtaXR0ZWQ9ITAsZS5uZXh0VGljayhpLHRoaXMsdCkpOmUubmV4dFRpY2soaSx0aGlzLHQpKSx0aGlzKToodGhpcy5fcmVhZGFibGVTdGF0ZSYmKHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkPSEwKSx0aGlzLl93cml0YWJsZVN0YXRlJiYodGhpcy5fd3JpdGFibGVTdGF0ZS5kZXN0cm95ZWQ9ITApLHRoaXMuX2Rlc3Ryb3kodHx8bnVsbCwoZnVuY3Rpb24odCl7IW8mJnQ/cy5fd3JpdGFibGVTdGF0ZT9zLl93cml0YWJsZVN0YXRlLmVycm9yRW1pdHRlZD9lLm5leHRUaWNrKG4scyk6KHMuX3dyaXRhYmxlU3RhdGUuZXJyb3JFbWl0dGVkPSEwLGUubmV4dFRpY2socixzLHQpKTplLm5leHRUaWNrKHIscyx0KTpvPyhlLm5leHRUaWNrKG4scyksbyh0KSk6ZS5uZXh0VGljayhuLHMpfSkpLHRoaXMpfSx1bmRlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLl9yZWFkYWJsZVN0YXRlJiYodGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWQ9ITEsdGhpcy5fcmVhZGFibGVTdGF0ZS5yZWFkaW5nPSExLHRoaXMuX3JlYWRhYmxlU3RhdGUuZW5kZWQ9ITEsdGhpcy5fcmVhZGFibGVTdGF0ZS5lbmRFbWl0dGVkPSExKSx0aGlzLl93cml0YWJsZVN0YXRlJiYodGhpcy5fd3JpdGFibGVTdGF0ZS5kZXN0cm95ZWQ9ITEsdGhpcy5fd3JpdGFibGVTdGF0ZS5lbmRlZD0hMSx0aGlzLl93cml0YWJsZVN0YXRlLmVuZGluZz0hMSx0aGlzLl93cml0YWJsZVN0YXRlLmZpbmFsQ2FsbGVkPSExLHRoaXMuX3dyaXRhYmxlU3RhdGUucHJlZmluaXNoZWQ9ITEsdGhpcy5fd3JpdGFibGVTdGF0ZS5maW5pc2hlZD0hMSx0aGlzLl93cml0YWJsZVN0YXRlLmVycm9yRW1pdHRlZD0hMSl9LGVycm9yT3JEZXN0cm95OmZ1bmN0aW9uKHQsZSl7dmFyIHI9dC5fcmVhZGFibGVTdGF0ZSxuPXQuX3dyaXRhYmxlU3RhdGU7ciYmci5hdXRvRGVzdHJveXx8biYmbi5hdXRvRGVzdHJveT90LmRlc3Ryb3koZSk6dC5lbWl0KCJlcnJvciIsZSl9fX0pLmNhbGwodGhpcyxyKDUpKX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDI5KS5jb2Rlcy5FUlJfSU5WQUxJRF9PUFRfVkFMVUU7dC5leHBvcnRzPXtnZXRIaWdoV2F0ZXJNYXJrOmZ1bmN0aW9uKHQsZSxyLGkpe3ZhciBvPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gbnVsbCE9dC5oaWdoV2F0ZXJNYXJrP3QuaGlnaFdhdGVyTWFyazplP3Rbcl06bnVsbH0oZSxpLHIpO2lmKG51bGwhPW8pe2lmKCFpc0Zpbml0ZShvKXx8TWF0aC5mbG9vcihvKSE9PW98fG88MCl0aHJvdyBuZXcgbihpP3I6ImhpZ2hXYXRlck1hcmsiLG8pO3JldHVybiBNYXRoLmZsb29yKG8pfXJldHVybiB0Lm9iamVjdE1vZGU/MTY6MTYzODR9fX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjsoZnVuY3Rpb24oZSxuKXtmdW5jdGlvbiBpKHQpe3ZhciBlPXRoaXM7dGhpcy5uZXh0PW51bGwsdGhpcy5lbnRyeT1udWxsLHRoaXMuZmluaXNoPWZ1bmN0aW9uKCl7IWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj10LmVudHJ5O3QuZW50cnk9bnVsbDtmb3IoO247KXt2YXIgaT1uLmNhbGxiYWNrO2UucGVuZGluZ2NiLS0saShyKSxuPW4ubmV4dH1lLmNvcmtlZFJlcXVlc3RzRnJlZS5uZXh0PXR9KGUsdCl9fXZhciBvO3QuZXhwb3J0cz14LHguV3JpdGFibGVTdGF0ZT1FO3ZhciBzPXtkZXByZWNhdGU6cig1NCl9LGE9cigxMjkpLHU9cigyKS5CdWZmZXIsYz1lLlVpbnQ4QXJyYXl8fGZ1bmN0aW9uKCl7fTt2YXIgZixoPXIoMTMwKSxsPXIoMTMxKS5nZXRIaWdoV2F0ZXJNYXJrLGQ9cigyOSkuY29kZXMscD1kLkVSUl9JTlZBTElEX0FSR19UWVBFLG09ZC5FUlJfTUVUSE9EX05PVF9JTVBMRU1FTlRFRCxnPWQuRVJSX01VTFRJUExFX0NBTExCQUNLLGI9ZC5FUlJfU1RSRUFNX0NBTk5PVF9QSVBFLHk9ZC5FUlJfU1RSRUFNX0RFU1RST1lFRCx2PWQuRVJSX1NUUkVBTV9OVUxMX1ZBTFVFUyxfPWQuRVJSX1NUUkVBTV9XUklURV9BRlRFUl9FTkQsdz1kLkVSUl9VTktOT1dOX0VOQ09ESU5HLE09aC5lcnJvck9yRGVzdHJveTtmdW5jdGlvbiBTKCl7fWZ1bmN0aW9uIEUodCxlLHMpe289b3x8cigzMCksdD10fHx7fSwiYm9vbGVhbiIhPXR5cGVvZiBzJiYocz1lIGluc3RhbmNlb2YgbyksdGhpcy5vYmplY3RNb2RlPSEhdC5vYmplY3RNb2RlLHMmJih0aGlzLm9iamVjdE1vZGU9dGhpcy5vYmplY3RNb2RlfHwhIXQud3JpdGFibGVPYmplY3RNb2RlKSx0aGlzLmhpZ2hXYXRlck1hcms9bCh0aGlzLHQsIndyaXRhYmxlSGlnaFdhdGVyTWFyayIscyksdGhpcy5maW5hbENhbGxlZD0hMSx0aGlzLm5lZWREcmFpbj0hMSx0aGlzLmVuZGluZz0hMSx0aGlzLmVuZGVkPSExLHRoaXMuZmluaXNoZWQ9ITEsdGhpcy5kZXN0cm95ZWQ9ITE7dmFyIGE9ITE9PT10LmRlY29kZVN0cmluZ3M7dGhpcy5kZWNvZGVTdHJpbmdzPSFhLHRoaXMuZGVmYXVsdEVuY29kaW5nPXQuZGVmYXVsdEVuY29kaW5nfHwidXRmOCIsdGhpcy5sZW5ndGg9MCx0aGlzLndyaXRpbmc9ITEsdGhpcy5jb3JrZWQ9MCx0aGlzLnN5bmM9ITAsdGhpcy5idWZmZXJQcm9jZXNzaW5nPSExLHRoaXMub253cml0ZT1mdW5jdGlvbih0KXshZnVuY3Rpb24odCxlKXt2YXIgcj10Ll93cml0YWJsZVN0YXRlLGk9ci5zeW5jLG89ci53cml0ZWNiO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBvKXRocm93IG5ldyBnO2lmKGZ1bmN0aW9uKHQpe3Qud3JpdGluZz0hMSx0LndyaXRlY2I9bnVsbCx0Lmxlbmd0aC09dC53cml0ZWxlbix0LndyaXRlbGVuPTB9KHIpLGUpIWZ1bmN0aW9uKHQsZSxyLGksbyl7LS1lLnBlbmRpbmdjYixyPyhuLm5leHRUaWNrKG8saSksbi5uZXh0VGljayhDLHQsZSksdC5fd3JpdGFibGVTdGF0ZS5lcnJvckVtaXR0ZWQ9ITAsTSh0LGkpKToobyhpKSx0Ll93cml0YWJsZVN0YXRlLmVycm9yRW1pdHRlZD0hMCxNKHQsaSksQyh0LGUpKX0odCxyLGksZSxvKTtlbHNle3ZhciBzPVQocil8fHQuZGVzdHJveWVkO3N8fHIuY29ya2VkfHxyLmJ1ZmZlclByb2Nlc3Npbmd8fCFyLmJ1ZmZlcmVkUmVxdWVzdHx8Uih0LHIpLGk/bi5uZXh0VGljayhBLHQscixzLG8pOkEodCxyLHMsbyl9fShlLHQpfSx0aGlzLndyaXRlY2I9bnVsbCx0aGlzLndyaXRlbGVuPTAsdGhpcy5idWZmZXJlZFJlcXVlc3Q9bnVsbCx0aGlzLmxhc3RCdWZmZXJlZFJlcXVlc3Q9bnVsbCx0aGlzLnBlbmRpbmdjYj0wLHRoaXMucHJlZmluaXNoZWQ9ITEsdGhpcy5lcnJvckVtaXR0ZWQ9ITEsdGhpcy5lbWl0Q2xvc2U9ITEhPT10LmVtaXRDbG9zZSx0aGlzLmF1dG9EZXN0cm95PSEhdC5hdXRvRGVzdHJveSx0aGlzLmJ1ZmZlcmVkUmVxdWVzdENvdW50PTAsdGhpcy5jb3JrZWRSZXF1ZXN0c0ZyZWU9bmV3IGkodGhpcyl9ZnVuY3Rpb24geCh0KXt2YXIgZT10aGlzIGluc3RhbmNlb2Yobz1vfHxyKDMwKSk7aWYoIWUmJiFmLmNhbGwoeCx0aGlzKSlyZXR1cm4gbmV3IHgodCk7dGhpcy5fd3JpdGFibGVTdGF0ZT1uZXcgRSh0LHRoaXMsZSksdGhpcy53cml0YWJsZT0hMCx0JiYoImZ1bmN0aW9uIj09dHlwZW9mIHQud3JpdGUmJih0aGlzLl93cml0ZT10LndyaXRlKSwiZnVuY3Rpb24iPT10eXBlb2YgdC53cml0ZXYmJih0aGlzLl93cml0ZXY9dC53cml0ZXYpLCJmdW5jdGlvbiI9PXR5cGVvZiB0LmRlc3Ryb3kmJih0aGlzLl9kZXN0cm95PXQuZGVzdHJveSksImZ1bmN0aW9uIj09dHlwZW9mIHQuZmluYWwmJih0aGlzLl9maW5hbD10LmZpbmFsKSksYS5jYWxsKHRoaXMpfWZ1bmN0aW9uIGsodCxlLHIsbixpLG8scyl7ZS53cml0ZWxlbj1uLGUud3JpdGVjYj1zLGUud3JpdGluZz0hMCxlLnN5bmM9ITAsZS5kZXN0cm95ZWQ/ZS5vbndyaXRlKG5ldyB5KCJ3cml0ZSIpKTpyP3QuX3dyaXRldihpLGUub253cml0ZSk6dC5fd3JpdGUoaSxvLGUub253cml0ZSksZS5zeW5jPSExfWZ1bmN0aW9uIEEodCxlLHIsbil7cnx8ZnVuY3Rpb24odCxlKXswPT09ZS5sZW5ndGgmJmUubmVlZERyYWluJiYoZS5uZWVkRHJhaW49ITEsdC5lbWl0KCJkcmFpbiIpKX0odCxlKSxlLnBlbmRpbmdjYi0tLG4oKSxDKHQsZSl9ZnVuY3Rpb24gUih0LGUpe2UuYnVmZmVyUHJvY2Vzc2luZz0hMDt2YXIgcj1lLmJ1ZmZlcmVkUmVxdWVzdDtpZih0Ll93cml0ZXYmJnImJnIubmV4dCl7dmFyIG49ZS5idWZmZXJlZFJlcXVlc3RDb3VudCxvPW5ldyBBcnJheShuKSxzPWUuY29ya2VkUmVxdWVzdHNGcmVlO3MuZW50cnk9cjtmb3IodmFyIGE9MCx1PSEwO3I7KW9bYV09cixyLmlzQnVmfHwodT0hMSkscj1yLm5leHQsYSs9MTtvLmFsbEJ1ZmZlcnM9dSxrKHQsZSwhMCxlLmxlbmd0aCxvLCIiLHMuZmluaXNoKSxlLnBlbmRpbmdjYisrLGUubGFzdEJ1ZmZlcmVkUmVxdWVzdD1udWxsLHMubmV4dD8oZS5jb3JrZWRSZXF1ZXN0c0ZyZWU9cy5uZXh0LHMubmV4dD1udWxsKTplLmNvcmtlZFJlcXVlc3RzRnJlZT1uZXcgaShlKSxlLmJ1ZmZlcmVkUmVxdWVzdENvdW50PTB9ZWxzZXtmb3IoO3I7KXt2YXIgYz1yLmNodW5rLGY9ci5lbmNvZGluZyxoPXIuY2FsbGJhY2s7aWYoayh0LGUsITEsZS5vYmplY3RNb2RlPzE6Yy5sZW5ndGgsYyxmLGgpLHI9ci5uZXh0LGUuYnVmZmVyZWRSZXF1ZXN0Q291bnQtLSxlLndyaXRpbmcpYnJlYWt9bnVsbD09PXImJihlLmxhc3RCdWZmZXJlZFJlcXVlc3Q9bnVsbCl9ZS5idWZmZXJlZFJlcXVlc3Q9cixlLmJ1ZmZlclByb2Nlc3Npbmc9ITF9ZnVuY3Rpb24gVCh0KXtyZXR1cm4gdC5lbmRpbmcmJjA9PT10Lmxlbmd0aCYmbnVsbD09PXQuYnVmZmVyZWRSZXF1ZXN0JiYhdC5maW5pc2hlZCYmIXQud3JpdGluZ31mdW5jdGlvbiBPKHQsZSl7dC5fZmluYWwoKGZ1bmN0aW9uKHIpe2UucGVuZGluZ2NiLS0sciYmTSh0LHIpLGUucHJlZmluaXNoZWQ9ITAsdC5lbWl0KCJwcmVmaW5pc2giKSxDKHQsZSl9KSl9ZnVuY3Rpb24gQyh0LGUpe3ZhciByPVQoZSk7aWYociYmKGZ1bmN0aW9uKHQsZSl7ZS5wcmVmaW5pc2hlZHx8ZS5maW5hbENhbGxlZHx8KCJmdW5jdGlvbiIhPXR5cGVvZiB0Ll9maW5hbHx8ZS5kZXN0cm95ZWQ/KGUucHJlZmluaXNoZWQ9ITAsdC5lbWl0KCJwcmVmaW5pc2giKSk6KGUucGVuZGluZ2NiKyssZS5maW5hbENhbGxlZD0hMCxuLm5leHRUaWNrKE8sdCxlKSkpfSh0LGUpLDA9PT1lLnBlbmRpbmdjYiYmKGUuZmluaXNoZWQ9ITAsdC5lbWl0KCJmaW5pc2giKSxlLmF1dG9EZXN0cm95KSkpe3ZhciBpPXQuX3JlYWRhYmxlU3RhdGU7KCFpfHxpLmF1dG9EZXN0cm95JiZpLmVuZEVtaXR0ZWQpJiZ0LmRlc3Ryb3koKX1yZXR1cm4gcn1yKDMpKHgsYSksRS5wcm90b3R5cGUuZ2V0QnVmZmVyPWZ1bmN0aW9uKCl7Zm9yKHZhciB0PXRoaXMuYnVmZmVyZWRSZXF1ZXN0LGU9W107dDspZS5wdXNoKHQpLHQ9dC5uZXh0O3JldHVybiBlfSxmdW5jdGlvbigpe3RyeXtPYmplY3QuZGVmaW5lUHJvcGVydHkoRS5wcm90b3R5cGUsImJ1ZmZlciIse2dldDpzLmRlcHJlY2F0ZSgoZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nZXRCdWZmZXIoKX0pLCJfd3JpdGFibGVTdGF0ZS5idWZmZXIgaXMgZGVwcmVjYXRlZC4gVXNlIF93cml0YWJsZVN0YXRlLmdldEJ1ZmZlciBpbnN0ZWFkLiIsIkRFUDAwMDMiKX0pfWNhdGNoKHQpe319KCksImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmU3ltYm9sLmhhc0luc3RhbmNlJiYiZnVuY3Rpb24iPT10eXBlb2YgRnVuY3Rpb24ucHJvdG90eXBlW1N5bWJvbC5oYXNJbnN0YW5jZV0/KGY9RnVuY3Rpb24ucHJvdG90eXBlW1N5bWJvbC5oYXNJbnN0YW5jZV0sT2JqZWN0LmRlZmluZVByb3BlcnR5KHgsU3ltYm9sLmhhc0luc3RhbmNlLHt2YWx1ZTpmdW5jdGlvbih0KXtyZXR1cm4hIWYuY2FsbCh0aGlzLHQpfHx0aGlzPT09eCYmKHQmJnQuX3dyaXRhYmxlU3RhdGUgaW5zdGFuY2VvZiBFKX19KSk6Zj1mdW5jdGlvbih0KXtyZXR1cm4gdCBpbnN0YW5jZW9mIHRoaXN9LHgucHJvdG90eXBlLnBpcGU9ZnVuY3Rpb24oKXtNKHRoaXMsbmV3IGIpfSx4LnByb3RvdHlwZS53cml0ZT1mdW5jdGlvbih0LGUscil7dmFyIGksbz10aGlzLl93cml0YWJsZVN0YXRlLHM9ITEsYT0hby5vYmplY3RNb2RlJiYoaT10LHUuaXNCdWZmZXIoaSl8fGkgaW5zdGFuY2VvZiBjKTtyZXR1cm4gYSYmIXUuaXNCdWZmZXIodCkmJih0PWZ1bmN0aW9uKHQpe3JldHVybiB1LmZyb20odCl9KHQpKSwiZnVuY3Rpb24iPT10eXBlb2YgZSYmKHI9ZSxlPW51bGwpLGE/ZT0iYnVmZmVyIjplfHwoZT1vLmRlZmF1bHRFbmNvZGluZyksImZ1bmN0aW9uIiE9dHlwZW9mIHImJihyPVMpLG8uZW5kaW5nP2Z1bmN0aW9uKHQsZSl7dmFyIHI9bmV3IF87TSh0LHIpLG4ubmV4dFRpY2soZSxyKX0odGhpcyxyKTooYXx8ZnVuY3Rpb24odCxlLHIsaSl7dmFyIG87cmV0dXJuIG51bGw9PT1yP289bmV3IHY6InN0cmluZyI9PXR5cGVvZiByfHxlLm9iamVjdE1vZGV8fChvPW5ldyBwKCJjaHVuayIsWyJzdHJpbmciLCJCdWZmZXIiXSxyKSksIW98fChNKHQsbyksbi5uZXh0VGljayhpLG8pLCExKX0odGhpcyxvLHQscikpJiYoby5wZW5kaW5nY2IrKyxzPWZ1bmN0aW9uKHQsZSxyLG4saSxvKXtpZighcil7dmFyIHM9ZnVuY3Rpb24odCxlLHIpe3Qub2JqZWN0TW9kZXx8ITE9PT10LmRlY29kZVN0cmluZ3N8fCJzdHJpbmciIT10eXBlb2YgZXx8KGU9dS5mcm9tKGUscikpO3JldHVybiBlfShlLG4saSk7biE9PXMmJihyPSEwLGk9ImJ1ZmZlciIsbj1zKX12YXIgYT1lLm9iamVjdE1vZGU/MTpuLmxlbmd0aDtlLmxlbmd0aCs9YTt2YXIgYz1lLmxlbmd0aDxlLmhpZ2hXYXRlck1hcms7Y3x8KGUubmVlZERyYWluPSEwKTtpZihlLndyaXRpbmd8fGUuY29ya2VkKXt2YXIgZj1lLmxhc3RCdWZmZXJlZFJlcXVlc3Q7ZS5sYXN0QnVmZmVyZWRSZXF1ZXN0PXtjaHVuazpuLGVuY29kaW5nOmksaXNCdWY6cixjYWxsYmFjazpvLG5leHQ6bnVsbH0sZj9mLm5leHQ9ZS5sYXN0QnVmZmVyZWRSZXF1ZXN0OmUuYnVmZmVyZWRSZXF1ZXN0PWUubGFzdEJ1ZmZlcmVkUmVxdWVzdCxlLmJ1ZmZlcmVkUmVxdWVzdENvdW50Kz0xfWVsc2Ugayh0LGUsITEsYSxuLGksbyk7cmV0dXJuIGN9KHRoaXMsbyxhLHQsZSxyKSksc30seC5wcm90b3R5cGUuY29yaz1mdW5jdGlvbigpe3RoaXMuX3dyaXRhYmxlU3RhdGUuY29ya2VkKyt9LHgucHJvdG90eXBlLnVuY29yaz1mdW5jdGlvbigpe3ZhciB0PXRoaXMuX3dyaXRhYmxlU3RhdGU7dC5jb3JrZWQmJih0LmNvcmtlZC0tLHQud3JpdGluZ3x8dC5jb3JrZWR8fHQuYnVmZmVyUHJvY2Vzc2luZ3x8IXQuYnVmZmVyZWRSZXF1ZXN0fHxSKHRoaXMsdCkpfSx4LnByb3RvdHlwZS5zZXREZWZhdWx0RW5jb2Rpbmc9ZnVuY3Rpb24odCl7aWYoInN0cmluZyI9PXR5cGVvZiB0JiYodD10LnRvTG93ZXJDYXNlKCkpLCEoWyJoZXgiLCJ1dGY4IiwidXRmLTgiLCJhc2NpaSIsImJpbmFyeSIsImJhc2U2NCIsInVjczIiLCJ1Y3MtMiIsInV0ZjE2bGUiLCJ1dGYtMTZsZSIsInJhdyJdLmluZGV4T2YoKHQrIiIpLnRvTG93ZXJDYXNlKCkpPi0xKSl0aHJvdyBuZXcgdyh0KTtyZXR1cm4gdGhpcy5fd3JpdGFibGVTdGF0ZS5kZWZhdWx0RW5jb2Rpbmc9dCx0aGlzfSxPYmplY3QuZGVmaW5lUHJvcGVydHkoeC5wcm90b3R5cGUsIndyaXRhYmxlQnVmZmVyIix7ZW51bWVyYWJsZTohMSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fd3JpdGFibGVTdGF0ZSYmdGhpcy5fd3JpdGFibGVTdGF0ZS5nZXRCdWZmZXIoKX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoeC5wcm90b3R5cGUsIndyaXRhYmxlSGlnaFdhdGVyTWFyayIse2VudW1lcmFibGU6ITEsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3dyaXRhYmxlU3RhdGUuaGlnaFdhdGVyTWFya319KSx4LnByb3RvdHlwZS5fd3JpdGU9ZnVuY3Rpb24odCxlLHIpe3IobmV3IG0oIl93cml0ZSgpIikpfSx4LnByb3RvdHlwZS5fd3JpdGV2PW51bGwseC5wcm90b3R5cGUuZW5kPWZ1bmN0aW9uKHQsZSxyKXt2YXIgaT10aGlzLl93cml0YWJsZVN0YXRlO3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiB0PyhyPXQsdD1udWxsLGU9bnVsbCk6ImZ1bmN0aW9uIj09dHlwZW9mIGUmJihyPWUsZT1udWxsKSxudWxsIT10JiZ0aGlzLndyaXRlKHQsZSksaS5jb3JrZWQmJihpLmNvcmtlZD0xLHRoaXMudW5jb3JrKCkpLGkuZW5kaW5nfHxmdW5jdGlvbih0LGUscil7ZS5lbmRpbmc9ITAsQyh0LGUpLHImJihlLmZpbmlzaGVkP24ubmV4dFRpY2socik6dC5vbmNlKCJmaW5pc2giLHIpKTtlLmVuZGVkPSEwLHQud3JpdGFibGU9ITF9KHRoaXMsaSxyKSx0aGlzfSxPYmplY3QuZGVmaW5lUHJvcGVydHkoeC5wcm90b3R5cGUsIndyaXRhYmxlTGVuZ3RoIix7ZW51bWVyYWJsZTohMSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fd3JpdGFibGVTdGF0ZS5sZW5ndGh9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHgucHJvdG90eXBlLCJkZXN0cm95ZWQiLHtlbnVtZXJhYmxlOiExLGdldDpmdW5jdGlvbigpe3JldHVybiB2b2lkIDAhPT10aGlzLl93cml0YWJsZVN0YXRlJiZ0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZH0sc2V0OmZ1bmN0aW9uKHQpe3RoaXMuX3dyaXRhYmxlU3RhdGUmJih0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZD10KX19KSx4LnByb3RvdHlwZS5kZXN0cm95PWguZGVzdHJveSx4LnByb3RvdHlwZS5fdW5kZXN0cm95PWgudW5kZXN0cm95LHgucHJvdG90eXBlLl9kZXN0cm95PWZ1bmN0aW9uKHQsZSl7ZSh0KX19KS5jYWxsKHRoaXMscig2KSxyKDUpKX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt0LmV4cG9ydHM9Zjt2YXIgbj1yKDI5KS5jb2RlcyxpPW4uRVJSX01FVEhPRF9OT1RfSU1QTEVNRU5URUQsbz1uLkVSUl9NVUxUSVBMRV9DQUxMQkFDSyxzPW4uRVJSX1RSQU5TRk9STV9BTFJFQURZX1RSQU5TRk9STUlORyxhPW4uRVJSX1RSQU5TRk9STV9XSVRIX0xFTkdUSF8wLHU9cigzMCk7ZnVuY3Rpb24gYyh0LGUpe3ZhciByPXRoaXMuX3RyYW5zZm9ybVN0YXRlO3IudHJhbnNmb3JtaW5nPSExO3ZhciBuPXIud3JpdGVjYjtpZihudWxsPT09bilyZXR1cm4gdGhpcy5lbWl0KCJlcnJvciIsbmV3IG8pO3Iud3JpdGVjaHVuaz1udWxsLHIud3JpdGVjYj1udWxsLG51bGwhPWUmJnRoaXMucHVzaChlKSxuKHQpO3ZhciBpPXRoaXMuX3JlYWRhYmxlU3RhdGU7aS5yZWFkaW5nPSExLChpLm5lZWRSZWFkYWJsZXx8aS5sZW5ndGg8aS5oaWdoV2F0ZXJNYXJrKSYmdGhpcy5fcmVhZChpLmhpZ2hXYXRlck1hcmspfWZ1bmN0aW9uIGYodCl7aWYoISh0aGlzIGluc3RhbmNlb2YgZikpcmV0dXJuIG5ldyBmKHQpO3UuY2FsbCh0aGlzLHQpLHRoaXMuX3RyYW5zZm9ybVN0YXRlPXthZnRlclRyYW5zZm9ybTpjLmJpbmQodGhpcyksbmVlZFRyYW5zZm9ybTohMSx0cmFuc2Zvcm1pbmc6ITEsd3JpdGVjYjpudWxsLHdyaXRlY2h1bms6bnVsbCx3cml0ZWVuY29kaW5nOm51bGx9LHRoaXMuX3JlYWRhYmxlU3RhdGUubmVlZFJlYWRhYmxlPSEwLHRoaXMuX3JlYWRhYmxlU3RhdGUuc3luYz0hMSx0JiYoImZ1bmN0aW9uIj09dHlwZW9mIHQudHJhbnNmb3JtJiYodGhpcy5fdHJhbnNmb3JtPXQudHJhbnNmb3JtKSwiZnVuY3Rpb24iPT10eXBlb2YgdC5mbHVzaCYmKHRoaXMuX2ZsdXNoPXQuZmx1c2gpKSx0aGlzLm9uKCJwcmVmaW5pc2giLGgpfWZ1bmN0aW9uIGgoKXt2YXIgdD10aGlzOyJmdW5jdGlvbiIhPXR5cGVvZiB0aGlzLl9mbHVzaHx8dGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWQ/bCh0aGlzLG51bGwsbnVsbCk6dGhpcy5fZmx1c2goKGZ1bmN0aW9uKGUscil7bCh0LGUscil9KSl9ZnVuY3Rpb24gbCh0LGUscil7aWYoZSlyZXR1cm4gdC5lbWl0KCJlcnJvciIsZSk7aWYobnVsbCE9ciYmdC5wdXNoKHIpLHQuX3dyaXRhYmxlU3RhdGUubGVuZ3RoKXRocm93IG5ldyBhO2lmKHQuX3RyYW5zZm9ybVN0YXRlLnRyYW5zZm9ybWluZyl0aHJvdyBuZXcgcztyZXR1cm4gdC5wdXNoKG51bGwpfXIoMykoZix1KSxmLnByb3RvdHlwZS5wdXNoPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuX3RyYW5zZm9ybVN0YXRlLm5lZWRUcmFuc2Zvcm09ITEsdS5wcm90b3R5cGUucHVzaC5jYWxsKHRoaXMsdCxlKX0sZi5wcm90b3R5cGUuX3RyYW5zZm9ybT1mdW5jdGlvbih0LGUscil7cihuZXcgaSgiX3RyYW5zZm9ybSgpIikpfSxmLnByb3RvdHlwZS5fd3JpdGU9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPXRoaXMuX3RyYW5zZm9ybVN0YXRlO2lmKG4ud3JpdGVjYj1yLG4ud3JpdGVjaHVuaz10LG4ud3JpdGVlbmNvZGluZz1lLCFuLnRyYW5zZm9ybWluZyl7dmFyIGk9dGhpcy5fcmVhZGFibGVTdGF0ZTsobi5uZWVkVHJhbnNmb3JtfHxpLm5lZWRSZWFkYWJsZXx8aS5sZW5ndGg8aS5oaWdoV2F0ZXJNYXJrKSYmdGhpcy5fcmVhZChpLmhpZ2hXYXRlck1hcmspfX0sZi5wcm90b3R5cGUuX3JlYWQ9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fdHJhbnNmb3JtU3RhdGU7bnVsbD09PWUud3JpdGVjaHVua3x8ZS50cmFuc2Zvcm1pbmc/ZS5uZWVkVHJhbnNmb3JtPSEwOihlLnRyYW5zZm9ybWluZz0hMCx0aGlzLl90cmFuc2Zvcm0oZS53cml0ZWNodW5rLGUud3JpdGVlbmNvZGluZyxlLmFmdGVyVHJhbnNmb3JtKSl9LGYucHJvdG90eXBlLl9kZXN0cm95PWZ1bmN0aW9uKHQsZSl7dS5wcm90b3R5cGUuX2Rlc3Ryb3kuY2FsbCh0aGlzLHQsKGZ1bmN0aW9uKHQpe2UodCl9KSl9fSxmdW5jdGlvbih0LGUscil7dmFyIG49cigzKSxpPXIoMzEpLG89cigxMykuQnVmZmVyLHM9WzExMTYzNTI0MDgsMTg5OTQ0NzQ0MSwzMDQ5MzIzNDcxLDM5MjEwMDk1NzMsOTYxOTg3MTYzLDE1MDg5NzA5OTMsMjQ1MzYzNTc0OCwyODcwNzYzMjIxLDM2MjQzODEwODAsMzEwNTk4NDAxLDYwNzIyNTI3OCwxNDI2ODgxOTg3LDE5MjUwNzgzODgsMjE2MjA3ODIwNiwyNjE0ODg4MTAzLDMyNDgyMjI1ODAsMzgzNTM5MDQwMSw0MDIyMjI0Nzc0LDI2NDM0NzA3OCw2MDQ4MDc2MjgsNzcwMjU1OTgzLDEyNDkxNTAxMjIsMTU1NTA4MTY5MiwxOTk2MDY0OTg2LDI1NTQyMjA4ODIsMjgyMTgzNDM0OSwyOTUyOTk2ODA4LDMyMTAzMTM2NzEsMzMzNjU3MTg5MSwzNTg0NTI4NzExLDExMzkyNjk5MywzMzgyNDE4OTUsNjY2MzA3MjA1LDc3MzUyOTkxMiwxMjk0NzU3MzcyLDEzOTYxODIyOTEsMTY5NTE4MzcwMCwxOTg2NjYxMDUxLDIxNzcwMjYzNTAsMjQ1Njk1NjAzNywyNzMwNDg1OTIxLDI4MjAzMDI0MTEsMzI1OTczMDgwMCwzMzQ1NzY0NzcxLDM1MTYwNjU4MTcsMzYwMDM1MjgwNCw0MDk0NTcxOTA5LDI3NTQyMzM0NCw0MzAyMjc3MzQsNTA2OTQ4NjE2LDY1OTA2MDU1Niw4ODM5OTc4NzcsOTU4MTM5NTcxLDEzMjI4MjIyMTgsMTUzNzAwMjA2MywxNzQ3ODczNzc5LDE5NTU1NjIyMjIsMjAyNDEwNDgxNSwyMjI3NzMwNDUyLDIzNjE4NTI0MjQsMjQyODQzNjQ3NCwyNzU2NzM0MTg3LDMyMDQwMzE0NzksMzMyOTMyNTI5OF0sYT1uZXcgQXJyYXkoNjQpO2Z1bmN0aW9uIHUoKXt0aGlzLmluaXQoKSx0aGlzLl93PWEsaS5jYWxsKHRoaXMsNjQsNTYpfWZ1bmN0aW9uIGModCxlLHIpe3JldHVybiByXnQmKGVecil9ZnVuY3Rpb24gZih0LGUscil7cmV0dXJuIHQmZXxyJih0fGUpfWZ1bmN0aW9uIGgodCl7cmV0dXJuKHQ+Pj4yfHQ8PDMwKV4odD4+PjEzfHQ8PDE5KV4odD4+PjIyfHQ8PDEwKX1mdW5jdGlvbiBsKHQpe3JldHVybih0Pj4+Nnx0PDwyNileKHQ+Pj4xMXx0PDwyMSleKHQ+Pj4yNXx0PDw3KX1mdW5jdGlvbiBkKHQpe3JldHVybih0Pj4+N3x0PDwyNSleKHQ+Pj4xOHx0PDwxNCledD4+PjN9bih1LGkpLHUucHJvdG90eXBlLmluaXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYT0xNzc5MDMzNzAzLHRoaXMuX2I9MzE0NDEzNDI3Nyx0aGlzLl9jPTEwMTM5MDQyNDIsdGhpcy5fZD0yNzczNDgwNzYyLHRoaXMuX2U9MTM1OTg5MzExOSx0aGlzLl9mPTI2MDA4MjI5MjQsdGhpcy5fZz01Mjg3MzQ2MzUsdGhpcy5faD0xNTQxNDU5MjI1LHRoaXN9LHUucHJvdG90eXBlLl91cGRhdGU9ZnVuY3Rpb24odCl7Zm9yKHZhciBlLHI9dGhpcy5fdyxuPTB8dGhpcy5fYSxpPTB8dGhpcy5fYixvPTB8dGhpcy5fYyxhPTB8dGhpcy5fZCx1PTB8dGhpcy5fZSxwPTB8dGhpcy5fZixtPTB8dGhpcy5fZyxnPTB8dGhpcy5faCxiPTA7YjwxNjsrK2IpcltiXT10LnJlYWRJbnQzMkJFKDQqYik7Zm9yKDtiPDY0OysrYilyW2JdPTB8KCgoZT1yW2ItMl0pPj4+MTd8ZTw8MTUpXihlPj4+MTl8ZTw8MTMpXmU+Pj4xMCkrcltiLTddK2QocltiLTE1XSkrcltiLTE2XTtmb3IodmFyIHk9MDt5PDY0OysreSl7dmFyIHY9ZytsKHUpK2ModSxwLG0pK3NbeV0rclt5XXwwLF89aChuKStmKG4saSxvKXwwO2c9bSxtPXAscD11LHU9YSt2fDAsYT1vLG89aSxpPW4sbj12K198MH10aGlzLl9hPW4rdGhpcy5fYXwwLHRoaXMuX2I9aSt0aGlzLl9ifDAsdGhpcy5fYz1vK3RoaXMuX2N8MCx0aGlzLl9kPWErdGhpcy5fZHwwLHRoaXMuX2U9dSt0aGlzLl9lfDAsdGhpcy5fZj1wK3RoaXMuX2Z8MCx0aGlzLl9nPW0rdGhpcy5fZ3wwLHRoaXMuX2g9Zyt0aGlzLl9ofDB9LHUucHJvdG90eXBlLl9oYXNoPWZ1bmN0aW9uKCl7dmFyIHQ9by5hbGxvY1Vuc2FmZSgzMik7cmV0dXJuIHQud3JpdGVJbnQzMkJFKHRoaXMuX2EsMCksdC53cml0ZUludDMyQkUodGhpcy5fYiw0KSx0LndyaXRlSW50MzJCRSh0aGlzLl9jLDgpLHQud3JpdGVJbnQzMkJFKHRoaXMuX2QsMTIpLHQud3JpdGVJbnQzMkJFKHRoaXMuX2UsMTYpLHQud3JpdGVJbnQzMkJFKHRoaXMuX2YsMjApLHQud3JpdGVJbnQzMkJFKHRoaXMuX2csMjQpLHQud3JpdGVJbnQzMkJFKHRoaXMuX2gsMjgpLHR9LHQuZXhwb3J0cz11fSxmdW5jdGlvbih0LGUscil7dmFyIG49cigzKSxpPXIoMzEpLG89cigxMykuQnVmZmVyLHM9WzExMTYzNTI0MDgsMzYwOTc2NzQ1OCwxODk5NDQ3NDQxLDYwMjg5MTcyNSwzMDQ5MzIzNDcxLDM5NjQ0ODQzOTksMzkyMTAwOTU3MywyMTczMjk1NTQ4LDk2MTk4NzE2Myw0MDgxNjI4NDcyLDE1MDg5NzA5OTMsMzA1MzgzNDI2NSwyNDUzNjM1NzQ4LDI5Mzc2NzE1NzksMjg3MDc2MzIyMSwzNjY0NjA5NTYwLDM2MjQzODEwODAsMjczNDg4MzM5NCwzMTA1OTg0MDEsMTE2NDk5NjU0Miw2MDcyMjUyNzgsMTMyMzYxMDc2NCwxNDI2ODgxOTg3LDM1OTAzMDQ5OTQsMTkyNTA3ODM4OCw0MDY4MTgyMzgzLDIxNjIwNzgyMDYsOTkxMzM2MTEzLDI2MTQ4ODgxMDMsNjMzODAzMzE3LDMyNDgyMjI1ODAsMzQ3OTc3NDg2OCwzODM1MzkwNDAxLDI2NjY2MTM0NTgsNDAyMjIyNDc3NCw5NDQ3MTExMzksMjY0MzQ3MDc4LDIzNDEyNjI3NzMsNjA0ODA3NjI4LDIwMDc4MDA5MzMsNzcwMjU1OTgzLDE0OTU5OTA5MDEsMTI0OTE1MDEyMiwxODU2NDMxMjM1LDE1NTUwODE2OTIsMzE3NTIxODEzMiwxOTk2MDY0OTg2LDIxOTg5NTA4MzcsMjU1NDIyMDg4MiwzOTk5NzE5MzM5LDI4MjE4MzQzNDksNzY2Nzg0MDE2LDI5NTI5OTY4MDgsMjU2NjU5NDg3OSwzMjEwMzEzNjcxLDMyMDMzMzc5NTYsMzMzNjU3MTg5MSwxMDM0NDU3MDI2LDM1ODQ1Mjg3MTEsMjQ2Njk0ODkwMSwxMTM5MjY5OTMsMzc1ODMyNjM4MywzMzgyNDE4OTUsMTY4NzE3OTM2LDY2NjMwNzIwNSwxMTg4MTc5OTY0LDc3MzUyOTkxMiwxNTQ2MDQ1NzM0LDEyOTQ3NTczNzIsMTUyMjgwNTQ4NSwxMzk2MTgyMjkxLDI2NDM4MzM4MjMsMTY5NTE4MzcwMCwyMzQzNTI3MzkwLDE5ODY2NjEwNTEsMTAxNDQ3NzQ4MCwyMTc3MDI2MzUwLDEyMDY3NTkxNDIsMjQ1Njk1NjAzNywzNDQwNzc2MjcsMjczMDQ4NTkyMSwxMjkwODYzNDYwLDI4MjAzMDI0MTEsMzE1ODQ1NDI3MywzMjU5NzMwODAwLDM1MDU5NTI2NTcsMzM0NTc2NDc3MSwxMDYyMTcwMDgsMzUxNjA2NTgxNywzNjA2MDA4MzQ0LDM2MDAzNTI4MDQsMTQzMjcyNTc3Niw0MDk0NTcxOTA5LDE0NjcwMzE1OTQsMjc1NDIzMzQ0LDg1MTE2OTcyMCw0MzAyMjc3MzQsMzEwMDgyMzc1Miw1MDY5NDg2MTYsMTM2MzI1ODE5NSw2NTkwNjA1NTYsMzc1MDY4NTU5Myw4ODM5OTc4NzcsMzc4NTA1MDI4MCw5NTgxMzk1NzEsMzMxODMwNzQyNywxMzIyODIyMjE4LDM4MTI3MjM0MDMsMTUzNzAwMjA2MywyMDAzMDM0OTk1LDE3NDc4NzM3NzksMzYwMjAzNjg5OSwxOTU1NTYyMjIyLDE1NzU5OTAwMTIsMjAyNDEwNDgxNSwxMTI1NTkyOTI4LDIyMjc3MzA0NTIsMjcxNjkwNDMwNiwyMzYxODUyNDI0LDQ0Mjc3NjA0NCwyNDI4NDM2NDc0LDU5MzY5ODM0NCwyNzU2NzM0MTg3LDM3MzMxMTAyNDksMzIwNDAzMTQ3OSwyOTk5MzUxNTczLDMzMjkzMjUyOTgsMzgxNTkyMDQyNywzMzkxNTY5NjE0LDM5MjgzODM5MDAsMzUxNTI2NzI3MSw1NjYyODA3MTEsMzk0MDE4NzYwNiwzNDU0MDY5NTM0LDQxMTg2MzAyNzEsNDAwMDIzOTk5MiwxMTY0MTg0NzQsMTkxNDEzODU1NCwxNzQyOTI0MjEsMjczMTA1NTI3MCwyODkzODAzNTYsMzIwMzk5MzAwNiw0NjAzOTMyNjksMzIwNjIwMzE1LDY4NTQ3MTczMyw1ODc0OTY4MzYsODUyMTQyOTcxLDEwODY3OTI4NTEsMTAxNzAzNjI5OCwzNjU1NDMxMDAsMTEyNjAwMDU4MCwyNjE4Mjk3Njc2LDEyODgwMzM0NzAsMzQwOTg1NTE1OCwxNTAxNTA1OTQ4LDQyMzQ1MDk4NjYsMTYwNzE2NzkxNSw5ODcxNjc0NjgsMTgxNjQwMjMxNiwxMjQ2MTg5NTkxXSxhPW5ldyBBcnJheSgxNjApO2Z1bmN0aW9uIHUoKXt0aGlzLmluaXQoKSx0aGlzLl93PWEsaS5jYWxsKHRoaXMsMTI4LDExMil9ZnVuY3Rpb24gYyh0LGUscil7cmV0dXJuIHJedCYoZV5yKX1mdW5jdGlvbiBmKHQsZSxyKXtyZXR1cm4gdCZlfHImKHR8ZSl9ZnVuY3Rpb24gaCh0LGUpe3JldHVybih0Pj4+Mjh8ZTw8NCleKGU+Pj4yfHQ8PDMwKV4oZT4+Pjd8dDw8MjUpfWZ1bmN0aW9uIGwodCxlKXtyZXR1cm4odD4+PjE0fGU8PDE4KV4odD4+PjE4fGU8PDE0KV4oZT4+Pjl8dDw8MjMpfWZ1bmN0aW9uIGQodCxlKXtyZXR1cm4odD4+PjF8ZTw8MzEpXih0Pj4+OHxlPDwyNCledD4+Pjd9ZnVuY3Rpb24gcCh0LGUpe3JldHVybih0Pj4+MXxlPDwzMSleKHQ+Pj44fGU8PDI0KV4odD4+Pjd8ZTw8MjUpfWZ1bmN0aW9uIG0odCxlKXtyZXR1cm4odD4+PjE5fGU8PDEzKV4oZT4+PjI5fHQ8PDMpXnQ+Pj42fWZ1bmN0aW9uIGcodCxlKXtyZXR1cm4odD4+PjE5fGU8PDEzKV4oZT4+PjI5fHQ8PDMpXih0Pj4+NnxlPDwyNil9ZnVuY3Rpb24gYih0LGUpe3JldHVybiB0Pj4+MDxlPj4+MD8xOjB9bih1LGkpLHUucHJvdG90eXBlLmluaXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYWg9MTc3OTAzMzcwMyx0aGlzLl9iaD0zMTQ0MTM0Mjc3LHRoaXMuX2NoPTEwMTM5MDQyNDIsdGhpcy5fZGg9Mjc3MzQ4MDc2Mix0aGlzLl9laD0xMzU5ODkzMTE5LHRoaXMuX2ZoPTI2MDA4MjI5MjQsdGhpcy5fZ2g9NTI4NzM0NjM1LHRoaXMuX2hoPTE1NDE0NTkyMjUsdGhpcy5fYWw9NDA4OTIzNTcyMCx0aGlzLl9ibD0yMjI3ODczNTk1LHRoaXMuX2NsPTQyNzExNzU3MjMsdGhpcy5fZGw9MTU5NTc1MDEyOSx0aGlzLl9lbD0yOTE3NTY1MTM3LHRoaXMuX2ZsPTcyNTUxMTE5OSx0aGlzLl9nbD00MjE1Mzg5NTQ3LHRoaXMuX2hsPTMyNzAzMzIwOSx0aGlzfSx1LnByb3RvdHlwZS5fdXBkYXRlPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10aGlzLl93LHI9MHx0aGlzLl9haCxuPTB8dGhpcy5fYmgsaT0wfHRoaXMuX2NoLG89MHx0aGlzLl9kaCxhPTB8dGhpcy5fZWgsdT0wfHRoaXMuX2ZoLHk9MHx0aGlzLl9naCx2PTB8dGhpcy5faGgsXz0wfHRoaXMuX2FsLHc9MHx0aGlzLl9ibCxNPTB8dGhpcy5fY2wsUz0wfHRoaXMuX2RsLEU9MHx0aGlzLl9lbCx4PTB8dGhpcy5fZmwsaz0wfHRoaXMuX2dsLEE9MHx0aGlzLl9obCxSPTA7UjwzMjtSKz0yKWVbUl09dC5yZWFkSW50MzJCRSg0KlIpLGVbUisxXT10LnJlYWRJbnQzMkJFKDQqUis0KTtmb3IoO1I8MTYwO1IrPTIpe3ZhciBUPWVbUi0zMF0sTz1lW1ItMzArMV0sQz1kKFQsTyksUD1wKE8sVCksST1tKFQ9ZVtSLTRdLE89ZVtSLTQrMV0pLEI9ZyhPLFQpLEw9ZVtSLTE0XSxqPWVbUi0xNCsxXSxOPWVbUi0zMl0scT1lW1ItMzIrMV0sVT1QK2p8MCxEPUMrTCtiKFUsUCl8MDtEPShEPUQrSStiKFU9VStCfDAsQil8MCkrTitiKFU9VStxfDAscSl8MCxlW1JdPUQsZVtSKzFdPVV9Zm9yKHZhciB6PTA7ejwxNjA7eis9Mil7RD1lW3pdLFU9ZVt6KzFdO3ZhciBIPWYocixuLGkpLEY9ZihfLHcsTSksVz1oKHIsXyksSz1oKF8sciksVj1sKGEsRSksSj1sKEUsYSksWT1zW3pdLEc9c1t6KzFdLFo9YyhhLHUseSksJD1jKEUseCxrKSxYPUErSnwwLFE9ditWK2IoWCxBKXwwO1E9KFE9KFE9UStaK2IoWD1YKyR8MCwkKXwwKStZK2IoWD1YK0d8MCxHKXwwKStEK2IoWD1YK1V8MCxVKXwwO3ZhciB0dD1LK0Z8MCxldD1XK0grYih0dCxLKXwwO3Y9eSxBPWsseT11LGs9eCx1PWEseD1FLGE9bytRK2IoRT1TK1h8MCxTKXwwLG89aSxTPU0saT1uLE09dyxuPXIsdz1fLHI9UStldCtiKF89WCt0dHwwLFgpfDB9dGhpcy5fYWw9dGhpcy5fYWwrX3wwLHRoaXMuX2JsPXRoaXMuX2JsK3d8MCx0aGlzLl9jbD10aGlzLl9jbCtNfDAsdGhpcy5fZGw9dGhpcy5fZGwrU3wwLHRoaXMuX2VsPXRoaXMuX2VsK0V8MCx0aGlzLl9mbD10aGlzLl9mbCt4fDAsdGhpcy5fZ2w9dGhpcy5fZ2wra3wwLHRoaXMuX2hsPXRoaXMuX2hsK0F8MCx0aGlzLl9haD10aGlzLl9haCtyK2IodGhpcy5fYWwsXyl8MCx0aGlzLl9iaD10aGlzLl9iaCtuK2IodGhpcy5fYmwsdyl8MCx0aGlzLl9jaD10aGlzLl9jaCtpK2IodGhpcy5fY2wsTSl8MCx0aGlzLl9kaD10aGlzLl9kaCtvK2IodGhpcy5fZGwsUyl8MCx0aGlzLl9laD10aGlzLl9laCthK2IodGhpcy5fZWwsRSl8MCx0aGlzLl9maD10aGlzLl9maCt1K2IodGhpcy5fZmwseCl8MCx0aGlzLl9naD10aGlzLl9naCt5K2IodGhpcy5fZ2wsayl8MCx0aGlzLl9oaD10aGlzLl9oaCt2K2IodGhpcy5faGwsQSl8MH0sdS5wcm90b3R5cGUuX2hhc2g9ZnVuY3Rpb24oKXt2YXIgdD1vLmFsbG9jVW5zYWZlKDY0KTtmdW5jdGlvbiBlKGUscixuKXt0LndyaXRlSW50MzJCRShlLG4pLHQud3JpdGVJbnQzMkJFKHIsbis0KX1yZXR1cm4gZSh0aGlzLl9haCx0aGlzLl9hbCwwKSxlKHRoaXMuX2JoLHRoaXMuX2JsLDgpLGUodGhpcy5fY2gsdGhpcy5fY2wsMTYpLGUodGhpcy5fZGgsdGhpcy5fZGwsMjQpLGUodGhpcy5fZWgsdGhpcy5fZWwsMzIpLGUodGhpcy5fZmgsdGhpcy5fZmwsNDApLGUodGhpcy5fZ2gsdGhpcy5fZ2wsNDgpLGUodGhpcy5faGgsdGhpcy5faGwsNTYpLHR9LHQuZXhwb3J0cz11fSxmdW5jdGlvbih0LGUpe3QuZXhwb3J0cz1mdW5jdGlvbih0KXtpZigic3RyaW5nIiE9dHlwZW9mIHQpdGhyb3cgbmV3IEVycm9yKCJbaXMtaGV4LXByZWZpeGVkXSB2YWx1ZSBtdXN0IGJlIHR5cGUgJ3N0cmluZycsIGlzIGN1cnJlbnRseSB0eXBlICIrdHlwZW9mIHQrIiwgd2hpbGUgY2hlY2tpbmcgaXNIZXhQcmVmaXhlZC4iKTtyZXR1cm4iMHgiPT09dC5zbGljZSgwLDIpfX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijtjb25zdCBuPSh0LGUpPT5mdW5jdGlvbigpe2NvbnN0IHI9ZS5wcm9taXNlTW9kdWxlLG49bmV3IEFycmF5KGFyZ3VtZW50cy5sZW5ndGgpO2ZvcihsZXQgdD0wO3Q8YXJndW1lbnRzLmxlbmd0aDt0Kyspblt0XT1hcmd1bWVudHNbdF07cmV0dXJuIG5ldyByKChyLGkpPT57ZS5lcnJvckZpcnN0P24ucHVzaCgoZnVuY3Rpb24odCxuKXtpZihlLm11bHRpQXJncyl7Y29uc3QgZT1uZXcgQXJyYXkoYXJndW1lbnRzLmxlbmd0aC0xKTtmb3IobGV0IHQ9MTt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKWVbdC0xXT1hcmd1bWVudHNbdF07dD8oZS51bnNoaWZ0KHQpLGkoZSkpOnIoZSl9ZWxzZSB0P2kodCk6cihuKX0pKTpuLnB1c2goKGZ1bmN0aW9uKHQpe2lmKGUubXVsdGlBcmdzKXtjb25zdCB0PW5ldyBBcnJheShhcmd1bWVudHMubGVuZ3RoLTEpO2ZvcihsZXQgZT0wO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspdFtlXT1hcmd1bWVudHNbZV07cih0KX1lbHNlIHIodCl9KSksdC5hcHBseSh0aGlzLG4pfSl9O3QuZXhwb3J0cz0odCxlKT0+e2U9T2JqZWN0LmFzc2lnbih7ZXhjbHVkZTpbLy4rKFN5bmN8U3RyZWFtKSQvXSxlcnJvckZpcnN0OiEwLHByb21pc2VNb2R1bGU6UHJvbWlzZX0sZSk7Y29uc3Qgcj10PT57Y29uc3Qgcj1lPT4ic3RyaW5nIj09dHlwZW9mIGU/dD09PWU6ZS50ZXN0KHQpO3JldHVybiBlLmluY2x1ZGU/ZS5pbmNsdWRlLnNvbWUocik6IWUuZXhjbHVkZS5zb21lKHIpfTtsZXQgaTtpPSJmdW5jdGlvbiI9PXR5cGVvZiB0P2Z1bmN0aW9uKCl7cmV0dXJuIGUuZXhjbHVkZU1haW4/dC5hcHBseSh0aGlzLGFyZ3VtZW50cyk6bih0LGUpLmFwcGx5KHRoaXMsYXJndW1lbnRzKX06T2JqZWN0LmNyZWF0ZShPYmplY3QuZ2V0UHJvdG90eXBlT2YodCkpO2Zvcihjb25zdCBvIGluIHQpe2NvbnN0IHM9dFtvXTtpW29dPSJmdW5jdGlvbiI9PXR5cGVvZiBzJiZyKG8pP24ocyxlKTpzfXJldHVybiBpfX0sZnVuY3Rpb24odCxlLHIpe2NvbnN0IG49cig0NCksaT1yKDI5NikoKTtmdW5jdGlvbiBvKHQpe3RoaXMuY3VycmVudFByb3ZpZGVyPXR9ZnVuY3Rpb24gcyh0KXtyZXR1cm4gZnVuY3Rpb24oKXtjb25zdCBlPXRoaXM7dmFyIHI9W10uc2xpY2UuY2FsbChhcmd1bWVudHMpLG49ci5wb3AoKTtlLnNlbmRBc3luYyh7bWV0aG9kOnQscGFyYW1zOnJ9LG4pfX1mdW5jdGlvbiBhKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKCl7Y29uc3Qgcj10aGlzO3ZhciBuPVtdLnNsaWNlLmNhbGwoYXJndW1lbnRzKSxpPW4ucG9wKCk7bi5sZW5ndGg8dCYmbi5wdXNoKCJsYXRlc3QiKSxyLnNlbmRBc3luYyh7bWV0aG9kOmUscGFyYW1zOm59LGkpfX10LmV4cG9ydHM9byxvLnByb3RvdHlwZS5nZXRCYWxhbmNlPWEoMiwiZXRoX2dldEJhbGFuY2UiKSxvLnByb3RvdHlwZS5nZXRDb2RlPWEoMiwiZXRoX2dldENvZGUiKSxvLnByb3RvdHlwZS5nZXRUcmFuc2FjdGlvbkNvdW50PWEoMiwiZXRoX2dldFRyYW5zYWN0aW9uQ291bnQiKSxvLnByb3RvdHlwZS5nZXRTdG9yYWdlQXQ9YSgzLCJldGhfZ2V0U3RvcmFnZUF0Iiksby5wcm90b3R5cGUuY2FsbD1hKDIsImV0aF9jYWxsIiksby5wcm90b3R5cGUucHJvdG9jb2xWZXJzaW9uPXMoImV0aF9wcm90b2NvbFZlcnNpb24iKSxvLnByb3RvdHlwZS5zeW5jaW5nPXMoImV0aF9zeW5jaW5nIiksby5wcm90b3R5cGUuY29pbmJhc2U9cygiZXRoX2NvaW5iYXNlIiksby5wcm90b3R5cGUubWluaW5nPXMoImV0aF9taW5pbmciKSxvLnByb3RvdHlwZS5oYXNocmF0ZT1zKCJldGhfaGFzaHJhdGUiKSxvLnByb3RvdHlwZS5nYXNQcmljZT1zKCJldGhfZ2FzUHJpY2UiKSxvLnByb3RvdHlwZS5hY2NvdW50cz1zKCJldGhfYWNjb3VudHMiKSxvLnByb3RvdHlwZS5ibG9ja051bWJlcj1zKCJldGhfYmxvY2tOdW1iZXIiKSxvLnByb3RvdHlwZS5nZXRCbG9ja1RyYW5zYWN0aW9uQ291bnRCeUhhc2g9cygiZXRoX2dldEJsb2NrVHJhbnNhY3Rpb25Db3VudEJ5SGFzaCIpLG8ucHJvdG90eXBlLmdldEJsb2NrVHJhbnNhY3Rpb25Db3VudEJ5TnVtYmVyPXMoImV0aF9nZXRCbG9ja1RyYW5zYWN0aW9uQ291bnRCeU51bWJlciIpLG8ucHJvdG90eXBlLmdldFVuY2xlQ291bnRCeUJsb2NrSGFzaD1zKCJldGhfZ2V0VW5jbGVDb3VudEJ5QmxvY2tIYXNoIiksby5wcm90b3R5cGUuZ2V0VW5jbGVDb3VudEJ5QmxvY2tOdW1iZXI9cygiZXRoX2dldFVuY2xlQ291bnRCeUJsb2NrTnVtYmVyIiksby5wcm90b3R5cGUuc2lnbj1zKCJldGhfc2lnbiIpLG8ucHJvdG90eXBlLnNlbmRUcmFuc2FjdGlvbj1zKCJldGhfc2VuZFRyYW5zYWN0aW9uIiksby5wcm90b3R5cGUuc2VuZFJhd1RyYW5zYWN0aW9uPXMoImV0aF9zZW5kUmF3VHJhbnNhY3Rpb24iKSxvLnByb3RvdHlwZS5lc3RpbWF0ZUdhcz1zKCJldGhfZXN0aW1hdGVHYXMiKSxvLnByb3RvdHlwZS5nZXRCbG9ja0J5SGFzaD1zKCJldGhfZ2V0QmxvY2tCeUhhc2giKSxvLnByb3RvdHlwZS5nZXRCbG9ja0J5TnVtYmVyPXMoImV0aF9nZXRCbG9ja0J5TnVtYmVyIiksby5wcm90b3R5cGUuZ2V0VHJhbnNhY3Rpb25CeUhhc2g9cygiZXRoX2dldFRyYW5zYWN0aW9uQnlIYXNoIiksby5wcm90b3R5cGUuZ2V0VHJhbnNhY3Rpb25CeUJsb2NrSGFzaEFuZEluZGV4PXMoImV0aF9nZXRUcmFuc2FjdGlvbkJ5QmxvY2tIYXNoQW5kSW5kZXgiKSxvLnByb3RvdHlwZS5nZXRUcmFuc2FjdGlvbkJ5QmxvY2tOdW1iZXJBbmRJbmRleD1zKCJldGhfZ2V0VHJhbnNhY3Rpb25CeUJsb2NrTnVtYmVyQW5kSW5kZXgiKSxvLnByb3RvdHlwZS5nZXRUcmFuc2FjdGlvblJlY2VpcHQ9cygiZXRoX2dldFRyYW5zYWN0aW9uUmVjZWlwdCIpLG8ucHJvdG90eXBlLmdldFVuY2xlQnlCbG9ja0hhc2hBbmRJbmRleD1zKCJldGhfZ2V0VW5jbGVCeUJsb2NrSGFzaEFuZEluZGV4Iiksby5wcm90b3R5cGUuZ2V0VW5jbGVCeUJsb2NrTnVtYmVyQW5kSW5kZXg9cygiZXRoX2dldFVuY2xlQnlCbG9ja051bWJlckFuZEluZGV4Iiksby5wcm90b3R5cGUuZ2V0Q29tcGlsZXJzPXMoImV0aF9nZXRDb21waWxlcnMiKSxvLnByb3RvdHlwZS5jb21waWxlTExMPXMoImV0aF9jb21waWxlTExMIiksby5wcm90b3R5cGUuY29tcGlsZVNvbGlkaXR5PXMoImV0aF9jb21waWxlU29saWRpdHkiKSxvLnByb3RvdHlwZS5jb21waWxlU2VycGVudD1zKCJldGhfY29tcGlsZVNlcnBlbnQiKSxvLnByb3RvdHlwZS5uZXdGaWx0ZXI9cygiZXRoX25ld0ZpbHRlciIpLG8ucHJvdG90eXBlLm5ld0Jsb2NrRmlsdGVyPXMoImV0aF9uZXdCbG9ja0ZpbHRlciIpLG8ucHJvdG90eXBlLm5ld1BlbmRpbmdUcmFuc2FjdGlvbkZpbHRlcj1zKCJldGhfbmV3UGVuZGluZ1RyYW5zYWN0aW9uRmlsdGVyIiksby5wcm90b3R5cGUudW5pbnN0YWxsRmlsdGVyPXMoImV0aF91bmluc3RhbGxGaWx0ZXIiKSxvLnByb3RvdHlwZS5nZXRGaWx0ZXJDaGFuZ2VzPXMoImV0aF9nZXRGaWx0ZXJDaGFuZ2VzIiksby5wcm90b3R5cGUuZ2V0RmlsdGVyTG9ncz1zKCJldGhfZ2V0RmlsdGVyTG9ncyIpLG8ucHJvdG90eXBlLmdldExvZ3M9cygiZXRoX2dldExvZ3MiKSxvLnByb3RvdHlwZS5nZXRXb3JrPXMoImV0aF9nZXRXb3JrIiksby5wcm90b3R5cGUuc3VibWl0V29yaz1zKCJldGhfc3VibWl0V29yayIpLG8ucHJvdG90eXBlLnN1Ym1pdEhhc2hyYXRlPXMoImV0aF9zdWJtaXRIYXNocmF0ZSIpLG8ucHJvdG90eXBlLnNlbmRBc3luYz1mdW5jdGlvbih0LGUpe3ZhciByO3RoaXMuY3VycmVudFByb3ZpZGVyLnNlbmRBc3luYygocj10LG4oe2lkOmkoKSxqc29ucnBjOiIyLjAiLHBhcmFtczpbXX0scikpLChmdW5jdGlvbih0LHIpe2lmKCF0JiZyLmVycm9yJiYodD1uZXcgRXJyb3IoIkV0aFF1ZXJ5IC0gUlBDIEVycm9yIC0gIityLmVycm9yLm1lc3NhZ2UpKSx0KXJldHVybiBlKHQpO2UobnVsbCxyLnJlc3VsdCl9KSl9fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxlLmRlZmF1bHQ9ZnVuY3Rpb24odCxlLHIpeygoMCxuLmRlZmF1bHQpKHQpP2w6ZCkodCwoMCxmLmRlZmF1bHQpKGUpLHIpfTt2YXIgbj1oKHIoNDcpKSxpPWgocigxNDUpKSxvPWgocigzMDMpKSxzPWgocigxNDgpKSxhPWgocigzOCkpLHU9aChyKDY0KSksYz1oKHIoNjYpKSxmPWgocigyMykpO2Z1bmN0aW9uIGgodCl7cmV0dXJuIHQmJnQuX19lc01vZHVsZT90OntkZWZhdWx0OnR9fWZ1bmN0aW9uIGwodCxlLHIpe3I9KDAsdS5kZWZhdWx0KShyfHxhLmRlZmF1bHQpO3ZhciBuPTAsbz0wLHM9dC5sZW5ndGg7ZnVuY3Rpb24gZih0LGUpe3Q/cih0KTorK28hPT1zJiZlIT09aS5kZWZhdWx0fHxyKG51bGwpfWZvcigwPT09cyYmcihudWxsKTtuPHM7bisrKWUodFtuXSxuLCgwLGMuZGVmYXVsdCkoZikpfXZhciBkPSgwLHMuZGVmYXVsdCkoby5kZWZhdWx0LDEvMCk7dC5leHBvcnRzPWUuZGVmYXVsdH0sZnVuY3Rpb24odCxlLHIpe3ZhciBuPXIoMTQxKS5TeW1ib2w7dC5leHBvcnRzPW59LGZ1bmN0aW9uKHQsZSxyKXt2YXIgbj1yKDE0MiksaT0ib2JqZWN0Ij09dHlwZW9mIHNlbGYmJnNlbGYmJnNlbGYuT2JqZWN0PT09T2JqZWN0JiZzZWxmLG89bnx8aXx8RnVuY3Rpb24oInJldHVybiB0aGlzIikoKTt0LmV4cG9ydHM9b30sZnVuY3Rpb24odCxlLHIpeyhmdW5jdGlvbihlKXt2YXIgcj0ib2JqZWN0Ij09dHlwZW9mIGUmJmUmJmUuT2JqZWN0PT09T2JqZWN0JiZlO3QuZXhwb3J0cz1yfSkuY2FsbCh0aGlzLHIoNikpfSxmdW5jdGlvbih0LGUpe3QuZXhwb3J0cz1mdW5jdGlvbih0KXt2YXIgZT10eXBlb2YgdDtyZXR1cm4gbnVsbCE9dCYmKCJvYmplY3QiPT1lfHwiZnVuY3Rpb24iPT1lKX19LGZ1bmN0aW9uKHQsZSl7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiJudW1iZXIiPT10eXBlb2YgdCYmdD4tMSYmdCUxPT0wJiZ0PD05MDA3MTk5MjU0NzQwOTkxfX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksZS5kZWZhdWx0PXt9LHQuZXhwb3J0cz1lLmRlZmF1bHR9LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGUuZGVmYXVsdD1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSxyLHUpe2lmKHU9KDAsaS5kZWZhdWx0KSh1fHxuLmRlZmF1bHQpLHQ8PTB8fCFlKXJldHVybiB1KG51bGwpO3ZhciBjPSgwLG8uZGVmYXVsdCkoZSksZj0hMSxoPTAsbD0hMTtmdW5jdGlvbiBkKHQsZSl7aWYoaC09MSx0KWY9ITAsdSh0KTtlbHNle2lmKGU9PT1hLmRlZmF1bHR8fGYmJmg8PTApcmV0dXJuIGY9ITAsdShudWxsKTtsfHxwKCl9fWZ1bmN0aW9uIHAoKXtmb3IobD0hMDtoPHQmJiFmOyl7dmFyIGU9YygpO2lmKG51bGw9PT1lKXJldHVybiBmPSEwLHZvaWQoaDw9MCYmdShudWxsKSk7aCs9MSxyKGUudmFsdWUsZS5rZXksKDAscy5kZWZhdWx0KShkKSl9bD0hMX1wKCl9fTt2YXIgbj11KHIoMzgpKSxpPXUocig2NCkpLG89dShyKDMwNCkpLHM9dShyKDY2KSksYT11KHIoMTQ1KSk7ZnVuY3Rpb24gdSh0KXtyZXR1cm4gdCYmdC5fX2VzTW9kdWxlP3Q6e2RlZmF1bHQ6dH19dC5leHBvcnRzPWUuZGVmYXVsdH0sZnVuY3Rpb24odCxlKXt2YXIgcj1BcnJheS5pc0FycmF5O3QuZXhwb3J0cz1yfSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxlLmRlZmF1bHQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4gZnVuY3Rpb24ocixuLGkpe3JldHVybiB0KHIsZSxuLGkpfX0sdC5leHBvcnRzPWUuZGVmYXVsdH0sZnVuY3Rpb24odCxlLHIpe2NvbnN0IG49cigxNTApO2Z1bmN0aW9uIGkodCl7cmV0dXJuIm5ldmVyIiE9PWEodCl9ZnVuY3Rpb24gbyh0KXt2YXIgZT1zKHQpO3JldHVybiBlPj10LnBhcmFtcy5sZW5ndGg/dC5wYXJhbXM6ImV0aF9nZXRCbG9ja0J5TnVtYmVyIj09PXQubWV0aG9kP3QucGFyYW1zLnNsaWNlKDEpOnQucGFyYW1zLnNsaWNlKDAsZSl9ZnVuY3Rpb24gcyh0KXtzd2l0Y2godC5tZXRob2Qpe2Nhc2UiZXRoX2dldFN0b3JhZ2VBdCI6cmV0dXJuIDI7Y2FzZSJldGhfZ2V0QmFsYW5jZSI6Y2FzZSJldGhfZ2V0Q29kZSI6Y2FzZSJldGhfZ2V0VHJhbnNhY3Rpb25Db3VudCI6Y2FzZSJldGhfY2FsbCI6Y2FzZSJldGhfZXN0aW1hdGVHYXMiOnJldHVybiAxO2Nhc2UiZXRoX2dldEJsb2NrQnlOdW1iZXIiOnJldHVybiAwO2RlZmF1bHQ6cmV0dXJufX1mdW5jdGlvbiBhKHQpe3N3aXRjaCh0Lm1ldGhvZCl7Y2FzZSJ3ZWIzX2NsaWVudFZlcnNpb24iOmNhc2Uid2ViM19zaGEzIjpjYXNlImV0aF9wcm90b2NvbFZlcnNpb24iOmNhc2UiZXRoX2dldEJsb2NrVHJhbnNhY3Rpb25Db3VudEJ5SGFzaCI6Y2FzZSJldGhfZ2V0VW5jbGVDb3VudEJ5QmxvY2tIYXNoIjpjYXNlImV0aF9nZXRDb2RlIjpjYXNlImV0aF9nZXRCbG9ja0J5SGFzaCI6Y2FzZSJldGhfZ2V0VHJhbnNhY3Rpb25CeUhhc2giOmNhc2UiZXRoX2dldFRyYW5zYWN0aW9uQnlCbG9ja0hhc2hBbmRJbmRleCI6Y2FzZSJldGhfZ2V0VHJhbnNhY3Rpb25SZWNlaXB0IjpjYXNlImV0aF9nZXRVbmNsZUJ5QmxvY2tIYXNoQW5kSW5kZXgiOmNhc2UiZXRoX2dldENvbXBpbGVycyI6Y2FzZSJldGhfY29tcGlsZUxMTCI6Y2FzZSJldGhfY29tcGlsZVNvbGlkaXR5IjpjYXNlImV0aF9jb21waWxlU2VycGVudCI6Y2FzZSJzaGhfdmVyc2lvbiI6cmV0dXJuInBlcm1hIjtjYXNlImV0aF9nZXRCbG9ja0J5TnVtYmVyIjpjYXNlImV0aF9nZXRCbG9ja1RyYW5zYWN0aW9uQ291bnRCeU51bWJlciI6Y2FzZSJldGhfZ2V0VW5jbGVDb3VudEJ5QmxvY2tOdW1iZXIiOmNhc2UiZXRoX2dldFRyYW5zYWN0aW9uQnlCbG9ja051bWJlckFuZEluZGV4IjpjYXNlImV0aF9nZXRVbmNsZUJ5QmxvY2tOdW1iZXJBbmRJbmRleCI6cmV0dXJuImZvcmsiO2Nhc2UiZXRoX2dhc1ByaWNlIjpjYXNlImV0aF9nZXRCYWxhbmNlIjpjYXNlImV0aF9nZXRTdG9yYWdlQXQiOmNhc2UiZXRoX2dldFRyYW5zYWN0aW9uQ291bnQiOmNhc2UiZXRoX2NhbGwiOmNhc2UiZXRoX2VzdGltYXRlR2FzIjpjYXNlImV0aF9nZXRGaWx0ZXJMb2dzIjpjYXNlImV0aF9nZXRMb2dzIjpjYXNlImV0aF9ibG9ja051bWJlciI6cmV0dXJuImJsb2NrIjtjYXNlIm5ldF92ZXJzaW9uIjpjYXNlIm5ldF9wZWVyQ291bnQiOmNhc2UibmV0X2xpc3RlbmluZyI6Y2FzZSJldGhfc3luY2luZyI6Y2FzZSJldGhfc2lnbiI6Y2FzZSJldGhfY29pbmJhc2UiOmNhc2UiZXRoX21pbmluZyI6Y2FzZSJldGhfaGFzaHJhdGUiOmNhc2UiZXRoX2FjY291bnRzIjpjYXNlImV0aF9zZW5kVHJhbnNhY3Rpb24iOmNhc2UiZXRoX3NlbmRSYXdUcmFuc2FjdGlvbiI6Y2FzZSJldGhfbmV3RmlsdGVyIjpjYXNlImV0aF9uZXdCbG9ja0ZpbHRlciI6Y2FzZSJldGhfbmV3UGVuZGluZ1RyYW5zYWN0aW9uRmlsdGVyIjpjYXNlImV0aF91bmluc3RhbGxGaWx0ZXIiOmNhc2UiZXRoX2dldEZpbHRlckNoYW5nZXMiOmNhc2UiZXRoX2dldFdvcmsiOmNhc2UiZXRoX3N1Ym1pdFdvcmsiOmNhc2UiZXRoX3N1Ym1pdEhhc2hyYXRlIjpjYXNlImRiX3B1dFN0cmluZyI6Y2FzZSJkYl9nZXRTdHJpbmciOmNhc2UiZGJfcHV0SGV4IjpjYXNlImRiX2dldEhleCI6Y2FzZSJzaGhfcG9zdCI6Y2FzZSJzaGhfbmV3SWRlbnRpdHkiOmNhc2Uic2hoX2hhc0lkZW50aXR5IjpjYXNlInNoaF9uZXdHcm91cCI6Y2FzZSJzaGhfYWRkVG9Hcm91cCI6Y2FzZSJzaGhfbmV3RmlsdGVyIjpjYXNlInNoaF91bmluc3RhbGxGaWx0ZXIiOmNhc2Uic2hoX2dldEZpbHRlckNoYW5nZXMiOmNhc2Uic2hoX2dldE1lc3NhZ2VzIjpyZXR1cm4ibmV2ZXIifX10LmV4cG9ydHM9e2NhY2hlSWRlbnRpZmllckZvclBheWxvYWQ6ZnVuY3Rpb24odCxlPXt9KXtpZighaSh0KSlyZXR1cm4gbnVsbDtjb25zdHtpbmNsdWRlQmxvY2tSZWY6cn09ZSxzPXI/dC5wYXJhbXM6byh0KTtyZXR1cm4gdC5tZXRob2QrIjoiK24ocyl9LGNhbkNhY2hlOmksYmxvY2tUYWdGb3JQYXlsb2FkOmZ1bmN0aW9uKHQpe3ZhciBlPXModCk7aWYoZT49dC5wYXJhbXMubGVuZ3RoKXJldHVybiBudWxsO3JldHVybiB0LnBhcmFtc1tlXX0scGFyYW1zV2l0aG91dEJsb2NrVGFnOm8sYmxvY2tUYWdQYXJhbUluZGV4OnMsY2FjaGVUeXBlRm9yUGF5bG9hZDphfX0sZnVuY3Rpb24odCxlLHIpe3ZhciBuPSJ1bmRlZmluZWQiIT10eXBlb2YgSlNPTj9KU09OOnIoMzMwKTt0LmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtlfHwoZT17fSksImZ1bmN0aW9uIj09dHlwZW9mIGUmJihlPXtjbXA6ZX0pO3ZhciByPWUuc3BhY2V8fCIiOyJudW1iZXIiPT10eXBlb2YgciYmKHI9QXJyYXkocisxKS5qb2luKCIgIikpO3ZhciBzLGE9ImJvb2xlYW4iPT10eXBlb2YgZS5jeWNsZXMmJmUuY3ljbGVzLHU9ZS5yZXBsYWNlcnx8ZnVuY3Rpb24odCxlKXtyZXR1cm4gZX0sYz1lLmNtcCYmKHM9ZS5jbXAsZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKGUscil7dmFyIG49e2tleTplLHZhbHVlOnRbZV19LGk9e2tleTpyLHZhbHVlOnRbcl19O3JldHVybiBzKG4saSl9fSksZj1bXTtyZXR1cm4gZnVuY3Rpb24gdChlLHMsaCxsKXt2YXIgZD1yPyJcbiIrbmV3IEFycmF5KGwrMSkuam9pbihyKToiIixwPXI/IjogIjoiOiI7aWYoaCYmaC50b0pTT04mJiJmdW5jdGlvbiI9PXR5cGVvZiBoLnRvSlNPTiYmKGg9aC50b0pTT04oKSksdm9pZCAwIT09KGg9dS5jYWxsKGUscyxoKSkpe2lmKCJvYmplY3QiIT10eXBlb2YgaHx8bnVsbD09PWgpcmV0dXJuIG4uc3RyaW5naWZ5KGgpO2lmKGkoaCkpe2Zvcih2YXIgbT1bXSxnPTA7ZzxoLmxlbmd0aDtnKyspe3ZhciBiPXQoaCxnLGhbZ10sbCsxKXx8bi5zdHJpbmdpZnkobnVsbCk7bS5wdXNoKGQrcitiKX1yZXR1cm4iWyIrbS5qb2luKCIsIikrZCsiXSJ9aWYoLTEhPT1mLmluZGV4T2YoaCkpe2lmKGEpcmV0dXJuIG4uc3RyaW5naWZ5KCJfX2N5Y2xlX18iKTt0aHJvdyBuZXcgVHlwZUVycm9yKCJDb252ZXJ0aW5nIGNpcmN1bGFyIHN0cnVjdHVyZSB0byBKU09OIil9Zi5wdXNoKGgpO3ZhciB5PW8oaCkuc29ydChjJiZjKGgpKTtmb3IobT1bXSxnPTA7Zzx5Lmxlbmd0aDtnKyspe3ZhciB2PXQoaCxzPXlbZ10saFtzXSxsKzEpO2lmKHYpe3ZhciBfPW4uc3RyaW5naWZ5KHMpK3ArdjttLnB1c2goZCtyK18pfX1yZXR1cm4gZi5zcGxpY2UoZi5pbmRleE9mKGgpLDEpLCJ7IittLmpvaW4oIiwiKStkKyJ9In19KHsiIjp0fSwiIix0LDApfTt2YXIgaT1BcnJheS5pc0FycmF5fHxmdW5jdGlvbih0KXtyZXR1cm4iW29iamVjdCBBcnJheV0iPT09e30udG9TdHJpbmcuY2FsbCh0KX0sbz1PYmplY3Qua2V5c3x8ZnVuY3Rpb24odCl7dmFyIGU9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eXx8ZnVuY3Rpb24oKXtyZXR1cm4hMH0scj1bXTtmb3IodmFyIG4gaW4gdCllLmNhbGwodCxuKSYmci5wdXNoKG4pO3JldHVybiByfX0sZnVuY3Rpb24odCxlLHIpe2NvbnN0IG49cigzNzUpLk11dGV4LHtjcmVhdGVBc3luY01pZGRsZXdhcmU6aX09cigxNTIpLG89cigxNTYpLHM9cigzNDgpLGE9cigzNTEpLHU9cigzNTIpLHtpbnRUb0hleDpjLGhleFRvSW50OmZ9PXIoMzkpO2Z1bmN0aW9uIGgodCl7cmV0dXJuIGwoYXN5bmMoLi4uZSk9Pntjb25zdCByPWF3YWl0IHQoLi4uZSk7cmV0dXJuIGMoci5pZCl9KX1mdW5jdGlvbiBsKHQpe3JldHVybiBpKGFzeW5jKGUscik9Pntjb25zdCBuPWF3YWl0IHQuYXBwbHkobnVsbCxlLnBhcmFtcyk7ci5yZXN1bHQ9bn0pfWZ1bmN0aW9uIGQodCxlKXtjb25zdCByPVtdO2ZvcihsZXQgZSBpbiB0KXIucHVzaCh0W2VdKTtyZXR1cm4gcn10LmV4cG9ydHM9ZnVuY3Rpb24oe2Jsb2NrVHJhY2tlcjp0LHByb3ZpZGVyOmV9KXtsZXQgcj0wLGk9e307Y29uc3QgcD1uZXcgbixtPWZ1bmN0aW9uKHttdXRleDp0fSl7cmV0dXJuIGU9PmFzeW5jKHIsbixpLG8pPT57KGF3YWl0IHQuYWNxdWlyZSgpKSgpLGUocixuLGksbyl9fSh7bXV0ZXg6cH0pLGc9byh7ZXRoX25ld0ZpbHRlcjptKGgoeSkpLGV0aF9uZXdCbG9ja0ZpbHRlcjptKGgodikpLGV0aF9uZXdQZW5kaW5nVHJhbnNhY3Rpb25GaWx0ZXI6bShoKF8pKSxldGhfdW5pbnN0YWxsRmlsdGVyOm0obChTKSksZXRoX2dldEZpbHRlckNoYW5nZXM6bShsKHcpKSxldGhfZ2V0RmlsdGVyTG9nczptKGwoTSkpfSksYj1hc3luYyh7b2xkQmxvY2s6dCxuZXdCbG9jazplfSk9PntpZigwPT09aS5sZW5ndGgpcmV0dXJuO2NvbnN0IHI9YXdhaXQgcC5hY3F1aXJlKCk7dHJ5e2F3YWl0IFByb21pc2UuYWxsKGQoaSkubWFwKGFzeW5jIHI9Pnt0cnl7YXdhaXQgci51cGRhdGUoe29sZEJsb2NrOnQsbmV3QmxvY2s6ZX0pfWNhdGNoKHQpe2NvbnNvbGUuZXJyb3IodCl9fSkpfWNhdGNoKHQpe2NvbnNvbGUuZXJyb3IodCl9cigpfTtyZXR1cm4gZy5uZXdMb2dGaWx0ZXI9eSxnLm5ld0Jsb2NrRmlsdGVyPXYsZy5uZXdQZW5kaW5nVHJhbnNhY3Rpb25GaWx0ZXI9XyxnLnVuaW5zdGFsbEZpbHRlcj1TLGcuZ2V0RmlsdGVyQ2hhbmdlcz13LGcuZ2V0RmlsdGVyTG9ncz1NLGcuZGVzdHJveT0oKT0+eyFhc3luYyBmdW5jdGlvbigpe2NvbnN0IHQ9ZChpKS5sZW5ndGg7aT17fSx4KHtwcmV2RmlsdGVyQ291bnQ6dCxuZXdGaWx0ZXJDb3VudDowfSl9KCl9LGc7YXN5bmMgZnVuY3Rpb24geSh0KXtjb25zdCByPW5ldyBzKHtwcm92aWRlcjplLHBhcmFtczp0fSk7YXdhaXQgRShyKTtyZXR1cm4gcn1hc3luYyBmdW5jdGlvbiB2KCl7Y29uc3QgdD1uZXcgYSh7cHJvdmlkZXI6ZX0pO2F3YWl0IEUodCk7cmV0dXJuIHR9YXN5bmMgZnVuY3Rpb24gXygpe2NvbnN0IHQ9bmV3IHUoe3Byb3ZpZGVyOmV9KTthd2FpdCBFKHQpO3JldHVybiB0fWFzeW5jIGZ1bmN0aW9uIHcodCl7Y29uc3QgZT1mKHQpLHI9aVtlXTtpZighcil0aHJvdyBuZXcgRXJyb3IoYE5vIGZpbHRlciBmb3IgaW5kZXggIiR7ZX0iYCk7cmV0dXJuIHIuZ2V0Q2hhbmdlc0FuZENsZWFyKCl9YXN5bmMgZnVuY3Rpb24gTSh0KXtjb25zdCBlPWYodCkscj1pW2VdO2lmKCFyKXRocm93IG5ldyBFcnJvcihgTm8gZmlsdGVyIGZvciBpbmRleCAiJHtlfSJgKTtyZXR1cm4ibG9nIj09PXIudHlwZT9yZXN1bHRzPXIuZ2V0QWxsUmVzdWx0cygpOnJlc3VsdHM9W10scmVzdWx0c31hc3luYyBmdW5jdGlvbiBTKHQpe2NvbnN0IGU9Zih0KSxyPWlbZV0sbj1Cb29sZWFuKHIpO3JldHVybiBuJiZhd2FpdCBhc3luYyBmdW5jdGlvbih0KXtjb25zdCBlPWQoaSkubGVuZ3RoO2RlbGV0ZSBpW3RdO2NvbnN0IHI9ZChpKS5sZW5ndGg7eCh7cHJldkZpbHRlckNvdW50OmUsbmV3RmlsdGVyQ291bnQ6cn0pfShlKSxufWFzeW5jIGZ1bmN0aW9uIEUoZSl7Y29uc3Qgbj1kKGkpLmxlbmd0aCxvPWF3YWl0IHQuZ2V0TGF0ZXN0QmxvY2soKTthd2FpdCBlLmluaXRpYWxpemUoe2N1cnJlbnRCbG9jazpvfSkscisrLGlbcl09ZSxlLmlkPXIsZS5pZEhleD1jKHIpO3JldHVybiB4KHtwcmV2RmlsdGVyQ291bnQ6bixuZXdGaWx0ZXJDb3VudDpkKGkpLmxlbmd0aH0pLHJ9ZnVuY3Rpb24geCh7cHJldkZpbHRlckNvdW50OmUsbmV3RmlsdGVyQ291bnQ6cn0pezA9PT1lJiZyPjA/dC5vbigic3luYyIsYik6ZT4wJiYwPT09ciYmdC5yZW1vdmVMaXN0ZW5lcigic3luYyIsYil9fX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10aGlzJiZ0aGlzLl9fY3JlYXRlQmluZGluZ3x8KE9iamVjdC5jcmVhdGU/ZnVuY3Rpb24odCxlLHIsbil7dm9pZCAwPT09biYmKG49ciksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsbix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gZVtyXX19KX06ZnVuY3Rpb24odCxlLHIsbil7dm9pZCAwPT09biYmKG49ciksdFtuXT1lW3JdfSksaT10aGlzJiZ0aGlzLl9fZXhwb3J0U3Rhcnx8ZnVuY3Rpb24odCxlKXtmb3IodmFyIHIgaW4gdCkiZGVmYXVsdCI9PT1yfHxPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxyKXx8bihlLHQscil9O09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxpKHIoMzQwKSxlKSxpKHIoMzQxKSxlKSxpKHIoMzQyKSxlKSxpKHIoMTUzKSxlKSxpKHIoMTU0KSxlKSxpKHIoMzQ2KSxlKX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksZS5nZXRVbmlxdWVJZD12b2lkIDA7bGV0IG49TWF0aC5mbG9vcig0Mjk0OTY3Mjk1Kk1hdGgucmFuZG9tKCkpO2UuZ2V0VW5pcXVlSWQ9ZnVuY3Rpb24oKXtyZXR1cm4gbj0obisxKSU0Mjk0OTY3Mjk1LG59fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXRoaXMmJnRoaXMuX19pbXBvcnREZWZhdWx0fHxmdW5jdGlvbih0KXtyZXR1cm4gdCYmdC5fX2VzTW9kdWxlP3Q6e2RlZmF1bHQ6dH19O09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxlLkpzb25ScGNFbmdpbmU9dm9pZCAwO2NvbnN0IGk9bihyKDY5KSksbz1yKDM0Myk7Y2xhc3MgcyBleHRlbmRzIGkuZGVmYXVsdHtjb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy5fbWlkZGxld2FyZT1bXX1wdXNoKHQpe3RoaXMuX21pZGRsZXdhcmUucHVzaCh0KX1oYW5kbGUodCxlKXtpZihlJiYiZnVuY3Rpb24iIT10eXBlb2YgZSl0aHJvdyBuZXcgRXJyb3IoJyJjYWxsYmFjayIgbXVzdCBiZSBhIGZ1bmN0aW9uIGlmIHByb3ZpZGVkLicpO3JldHVybiBBcnJheS5pc0FycmF5KHQpP2U/dGhpcy5faGFuZGxlQmF0Y2godCxlKTp0aGlzLl9oYW5kbGVCYXRjaCh0KTplP3RoaXMuX2hhbmRsZSh0LGUpOnRoaXMuX3Byb21pc2VIYW5kbGUodCl9YXNNaWRkbGV3YXJlKCl7cmV0dXJuIGFzeW5jKHQsZSxyLG4pPT57dHJ5e2NvbnN0W2ksbyxhXT1hd2FpdCBzLl9ydW5BbGxNaWRkbGV3YXJlKHQsZSx0aGlzLl9taWRkbGV3YXJlKTtyZXR1cm4gbz8oYXdhaXQgcy5fcnVuUmV0dXJuSGFuZGxlcnMoYSksbihpKSk6cihhc3luYyB0PT57dHJ5e2F3YWl0IHMuX3J1blJldHVybkhhbmRsZXJzKGEpfWNhdGNoKGUpe3JldHVybiB0KGUpfXJldHVybiB0KCl9KX1jYXRjaCh0KXtyZXR1cm4gbih0KX19fWFzeW5jIF9oYW5kbGVCYXRjaCh0LGUpe3RyeXtjb25zdCByPWF3YWl0IFByb21pc2UuYWxsKHQubWFwKHRoaXMuX3Byb21pc2VIYW5kbGUuYmluZCh0aGlzKSkpO3JldHVybiBlP2UobnVsbCxyKTpyfWNhdGNoKHQpe2lmKGUpcmV0dXJuIGUodCk7dGhyb3cgdH19X3Byb21pc2VIYW5kbGUodCl7cmV0dXJuIG5ldyBQcm9taXNlKGU9Pnt0aGlzLl9oYW5kbGUodCwodCxyKT0+e2Uocil9KX0pfWFzeW5jIF9oYW5kbGUodCxlKXtpZighdHx8QXJyYXkuaXNBcnJheSh0KXx8Im9iamVjdCIhPXR5cGVvZiB0KXtjb25zdCByPW5ldyBvLkV0aGVyZXVtUnBjRXJyb3Ioby5lcnJvckNvZGVzLnJwYy5pbnZhbGlkUmVxdWVzdCwiUmVxdWVzdHMgbXVzdCBiZSBwbGFpbiBvYmplY3RzLiBSZWNlaXZlZDogIit0eXBlb2YgdCx7cmVxdWVzdDp0fSk7cmV0dXJuIGUocix7aWQ6dm9pZCAwLGpzb25ycGM6IjIuMCIsZXJyb3I6cn0pfWlmKCJzdHJpbmciIT10eXBlb2YgdC5tZXRob2Qpe2NvbnN0IHI9bmV3IG8uRXRoZXJldW1ScGNFcnJvcihvLmVycm9yQ29kZXMucnBjLmludmFsaWRSZXF1ZXN0LCJNdXN0IHNwZWNpZnkgYSBzdHJpbmcgbWV0aG9kLiBSZWNlaXZlZDogIit0eXBlb2YgdC5tZXRob2Qse3JlcXVlc3Q6dH0pO3JldHVybiBlKHIse2lkOnQuaWQsanNvbnJwYzoiMi4wIixlcnJvcjpyfSl9Y29uc3Qgcj1PYmplY3QuYXNzaWduKHt9LHQpLG49e2lkOnIuaWQsanNvbnJwYzpyLmpzb25ycGN9O2xldCBpPW51bGw7dHJ5e2F3YWl0IHRoaXMuX3Byb2Nlc3NSZXF1ZXN0KHIsbil9Y2F0Y2godCl7aT10fXJldHVybiBpJiYoZGVsZXRlIG4ucmVzdWx0LG4uZXJyb3J8fChuLmVycm9yPW8uc2VyaWFsaXplRXJyb3IoaSkpKSxlKGksbil9YXN5bmMgX3Byb2Nlc3NSZXF1ZXN0KHQsZSl7Y29uc3RbcixuLGldPWF3YWl0IHMuX3J1bkFsbE1pZGRsZXdhcmUodCxlLHRoaXMuX21pZGRsZXdhcmUpO2lmKHMuX2NoZWNrRm9yQ29tcGxldGlvbih0LGUsbiksYXdhaXQgcy5fcnVuUmV0dXJuSGFuZGxlcnMoaSkscil0aHJvdyByfXN0YXRpYyBhc3luYyBfcnVuQWxsTWlkZGxld2FyZSh0LGUscil7Y29uc3Qgbj1bXTtsZXQgaT1udWxsLG89ITE7Zm9yKGNvbnN0IGEgb2YgcilpZihbaSxvXT1hd2FpdCBzLl9ydW5NaWRkbGV3YXJlKHQsZSxhLG4pLG8pYnJlYWs7cmV0dXJuW2ksbyxuLnJldmVyc2UoKV19c3RhdGljIF9ydW5NaWRkbGV3YXJlKHQsZSxyLG4pe3JldHVybiBuZXcgUHJvbWlzZShpPT57Y29uc3Qgcz10PT57Y29uc3Qgcj10fHxlLmVycm9yO3ImJihlLmVycm9yPW8uc2VyaWFsaXplRXJyb3IocikpLGkoW3IsITBdKX0sdT1yPT57ZS5lcnJvcj9zKGUuZXJyb3IpOihyJiYoImZ1bmN0aW9uIiE9dHlwZW9mIHImJnMobmV3IG8uRXRoZXJldW1ScGNFcnJvcihvLmVycm9yQ29kZXMucnBjLmludGVybmFsLGBKc29uUnBjRW5naW5lOiAibmV4dCIgcmV0dXJuIGhhbmRsZXJzIG11c3QgYmUgZnVuY3Rpb25zLiBSZWNlaXZlZCAiJHt0eXBlb2Ygcn0iIGZvciByZXF1ZXN0OlxuJHthKHQpfWAse3JlcXVlc3Q6dH0pKSxuLnB1c2gocikpLGkoW251bGwsITFdKSl9O3RyeXtyKHQsZSx1LHMpfWNhdGNoKHQpe3ModCl9fSl9c3RhdGljIGFzeW5jIF9ydW5SZXR1cm5IYW5kbGVycyh0KXtmb3IoY29uc3QgZSBvZiB0KWF3YWl0IG5ldyBQcm9taXNlKCh0LHIpPT57ZShlPT5lP3IoZSk6dCgpKX0pfXN0YXRpYyBfY2hlY2tGb3JDb21wbGV0aW9uKHQsZSxyKXtpZighKCJyZXN1bHQiaW4gZSkmJiEoImVycm9yImluIGUpKXRocm93IG5ldyBvLkV0aGVyZXVtUnBjRXJyb3Ioby5lcnJvckNvZGVzLnJwYy5pbnRlcm5hbCwiSnNvblJwY0VuZ2luZTogUmVzcG9uc2UgaGFzIG5vIGVycm9yIG9yIHJlc3VsdCBmb3IgcmVxdWVzdDpcbiIrYSh0KSx7cmVxdWVzdDp0fSk7aWYoIXIpdGhyb3cgbmV3IG8uRXRoZXJldW1ScGNFcnJvcihvLmVycm9yQ29kZXMucnBjLmludGVybmFsLCJKc29uUnBjRW5naW5lOiBOb3RoaW5nIGVuZGVkIHJlcXVlc3Q6XG4iK2EodCkse3JlcXVlc3Q6dH0pfX1mdW5jdGlvbiBhKHQpe3JldHVybiBKU09OLnN0cmluZ2lmeSh0LG51bGwsMil9ZS5Kc29uUnBjRW5naW5lPXN9LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGUuc2VyaWFsaXplRXJyb3I9ZS5pc1ZhbGlkQ29kZT1lLmdldE1lc3NhZ2VGcm9tQ29kZT1lLkpTT05fUlBDX1NFUlZFUl9FUlJPUl9NRVNTQUdFPXZvaWQgMDtjb25zdCBuPXIoNzEpLGk9cig3MCksbz1uLmVycm9yQ29kZXMucnBjLmludGVybmFsLHM9e2NvZGU6byxtZXNzYWdlOmEobyl9O2Z1bmN0aW9uIGEodCxyPSJVbnNwZWNpZmllZCBlcnJvciBtZXNzYWdlLiBUaGlzIGlzIGEgYnVnLCBwbGVhc2UgcmVwb3J0IGl0LiIpe2lmKE51bWJlci5pc0ludGVnZXIodCkpe2NvbnN0IHI9dC50b1N0cmluZygpO2lmKGgobi5lcnJvclZhbHVlcyxyKSlyZXR1cm4gbi5lcnJvclZhbHVlc1tyXS5tZXNzYWdlO2lmKGModCkpcmV0dXJuIGUuSlNPTl9SUENfU0VSVkVSX0VSUk9SX01FU1NBR0V9cmV0dXJuIHJ9ZnVuY3Rpb24gdSh0KXtpZighTnVtYmVyLmlzSW50ZWdlcih0KSlyZXR1cm4hMTtjb25zdCBlPXQudG9TdHJpbmcoKTtyZXR1cm4hIW4uZXJyb3JWYWx1ZXNbZV18fCEhYyh0KX1mdW5jdGlvbiBjKHQpe3JldHVybiB0Pj0tMzIwOTkmJnQ8PS0zMmUzfWZ1bmN0aW9uIGYodCl7cmV0dXJuIHQmJiJvYmplY3QiPT10eXBlb2YgdCYmIUFycmF5LmlzQXJyYXkodCk/T2JqZWN0LmFzc2lnbih7fSx0KTp0fWZ1bmN0aW9uIGgodCxlKXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsZSl9ZS5KU09OX1JQQ19TRVJWRVJfRVJST1JfTUVTU0FHRT0iVW5zcGVjaWZpZWQgc2VydmVyIGVycm9yLiIsZS5nZXRNZXNzYWdlRnJvbUNvZGU9YSxlLmlzVmFsaWRDb2RlPXUsZS5zZXJpYWxpemVFcnJvcj1mdW5jdGlvbih0LHtmYWxsYmFja0Vycm9yOmU9cyxzaG91bGRJbmNsdWRlU3RhY2s6cj0hMX09e30pe3ZhciBuLG87aWYoIWV8fCFOdW1iZXIuaXNJbnRlZ2VyKGUuY29kZSl8fCJzdHJpbmciIT10eXBlb2YgZS5tZXNzYWdlKXRocm93IG5ldyBFcnJvcigiTXVzdCBwcm92aWRlIGZhbGxiYWNrIGVycm9yIHdpdGggaW50ZWdlciBudW1iZXIgY29kZSBhbmQgc3RyaW5nIG1lc3NhZ2UuIik7aWYodCBpbnN0YW5jZW9mIGkuRXRoZXJldW1ScGNFcnJvcilyZXR1cm4gdC5zZXJpYWxpemUoKTtjb25zdCBjPXt9O2lmKHQmJiJvYmplY3QiPT10eXBlb2YgdCYmIUFycmF5LmlzQXJyYXkodCkmJmgodCwiY29kZSIpJiZ1KHQuY29kZSkpe2NvbnN0IGU9dDtjLmNvZGU9ZS5jb2RlLGUubWVzc2FnZSYmInN0cmluZyI9PXR5cGVvZiBlLm1lc3NhZ2U/KGMubWVzc2FnZT1lLm1lc3NhZ2UsaChlLCJkYXRhIikmJihjLmRhdGE9ZS5kYXRhKSk6KGMubWVzc2FnZT1hKGMuY29kZSksYy5kYXRhPXtvcmlnaW5hbEVycm9yOmYodCl9KX1lbHNle2MuY29kZT1lLmNvZGU7Y29uc3Qgcj1udWxsPT09KG49dCl8fHZvaWQgMD09PW4/dm9pZCAwOm4ubWVzc2FnZTtjLm1lc3NhZ2U9ciYmInN0cmluZyI9PXR5cGVvZiByP3I6ZS5tZXNzYWdlLGMuZGF0YT17b3JpZ2luYWxFcnJvcjpmKHQpfX1jb25zdCBsPW51bGw9PT0obz10KXx8dm9pZCAwPT09bz92b2lkIDA6by5zdGFjaztyZXR1cm4gciYmdCYmbCYmInN0cmluZyI9PXR5cGVvZiBsJiYoYy5zdGFjaz1sKSxjfX0sZnVuY3Rpb24odCxlLHIpe3QuZXhwb3J0cz1yKDM0Nyl9LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGUuZ2V0V2luZG93TWV0YWRhdGE9dm9pZCAwO2NvbnN0IG49cigxMCk7ZS5nZXRXaW5kb3dNZXRhZGF0YT1mdW5jdGlvbigpe2xldCB0LGU7dHJ5e3Q9bi5nZXREb2N1bWVudE9yVGhyb3coKSxlPW4uZ2V0TG9jYXRpb25PclRocm93KCl9Y2F0Y2godCl7cmV0dXJuIG51bGx9ZnVuY3Rpb24gciguLi5lKXtjb25zdCByPXQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIm1ldGEiKTtmb3IobGV0IHQ9MDt0PHIubGVuZ3RoO3QrKyl7Y29uc3Qgbj1yW3RdLGk9WyJpdGVtcHJvcCIsInByb3BlcnR5IiwibmFtZSJdLm1hcCh0PT5uLmdldEF0dHJpYnV0ZSh0KSkuZmlsdGVyKHQ9PiEhdCYmZS5pbmNsdWRlcyh0KSk7aWYoaS5sZW5ndGgmJmkpe2NvbnN0IHQ9bi5nZXRBdHRyaWJ1dGUoImNvbnRlbnQiKTtpZih0KXJldHVybiB0fX1yZXR1cm4iIn1jb25zdCBpPWZ1bmN0aW9uKCl7bGV0IGU9cigibmFtZSIsIm9nOnNpdGVfbmFtZSIsIm9nOnRpdGxlIiwidHdpdHRlcjp0aXRsZSIpO3JldHVybiBlfHwoZT10LnRpdGxlKSxlfSgpO3JldHVybntkZXNjcmlwdGlvbjpyKCJkZXNjcmlwdGlvbiIsIm9nOmRlc2NyaXB0aW9uIiwidHdpdHRlcjpkZXNjcmlwdGlvbiIsImtleXdvcmRzIiksdXJsOmUub3JpZ2luLGljb25zOmZ1bmN0aW9uKCl7Y29uc3Qgcj10LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJsaW5rIiksbj1bXTtmb3IobGV0IHQ9MDt0PHIubGVuZ3RoO3QrKyl7Y29uc3QgaT1yW3RdLG89aS5nZXRBdHRyaWJ1dGUoInJlbCIpO2lmKG8mJm8udG9Mb3dlckNhc2UoKS5pbmRleE9mKCJpY29uIik+LTEpe2NvbnN0IHQ9aS5nZXRBdHRyaWJ1dGUoImhyZWYiKTtpZih0KWlmKC0xPT09dC50b0xvd2VyQ2FzZSgpLmluZGV4T2YoImh0dHBzOiIpJiYtMT09PXQudG9Mb3dlckNhc2UoKS5pbmRleE9mKCJodHRwOiIpJiYwIT09dC5pbmRleE9mKCIvLyIpKXtsZXQgcj1lLnByb3RvY29sKyIvLyIrZS5ob3N0O2lmKDA9PT10LmluZGV4T2YoIi8iKSlyKz10O2Vsc2V7Y29uc3Qgbj1lLnBhdGhuYW1lLnNwbGl0KCIvIik7bi5wb3AoKTtyKz1uLmpvaW4oIi8iKSsiLyIrdH1uLnB1c2gocil9ZWxzZSBpZigwPT09dC5pbmRleE9mKCIvLyIpKXtjb25zdCByPWUucHJvdG9jb2wrdDtuLnB1c2gocil9ZWxzZSBuLnB1c2godCl9fXJldHVybiBufSgpLG5hbWU6aX19fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiOyhmdW5jdGlvbih0KXtyLmQoZSwiYSIsKGZ1bmN0aW9uKCl7cmV0dXJuIGx9KSk7dmFyIG49ZnVuY3Rpb24oKXtmb3IodmFyIHQ9MCxlPTAscj1hcmd1bWVudHMubGVuZ3RoO2U8cjtlKyspdCs9YXJndW1lbnRzW2VdLmxlbmd0aDt2YXIgbj1BcnJheSh0KSxpPTA7Zm9yKGU9MDtlPHI7ZSsrKWZvcih2YXIgbz1hcmd1bWVudHNbZV0scz0wLGE9by5sZW5ndGg7czxhO3MrKyxpKyspbltpXT1vW3NdO3JldHVybiBufSxpPWZ1bmN0aW9uKHQsZSxyKXt0aGlzLm5hbWU9dCx0aGlzLnZlcnNpb249ZSx0aGlzLm9zPXIsdGhpcy50eXBlPSJicm93c2VyIn0sbz1mdW5jdGlvbihlKXt0aGlzLnZlcnNpb249ZSx0aGlzLnR5cGU9Im5vZGUiLHRoaXMubmFtZT0ibm9kZSIsdGhpcy5vcz10LnBsYXRmb3JtfSxzPWZ1bmN0aW9uKHQsZSxyLG4pe3RoaXMubmFtZT10LHRoaXMudmVyc2lvbj1lLHRoaXMub3M9cix0aGlzLmJvdD1uLHRoaXMudHlwZT0iYm90LWRldmljZSJ9LGE9ZnVuY3Rpb24oKXt0aGlzLnR5cGU9ImJvdCIsdGhpcy5ib3Q9ITAsdGhpcy5uYW1lPSJib3QiLHRoaXMudmVyc2lvbj1udWxsLHRoaXMub3M9bnVsbH0sdT1mdW5jdGlvbigpe3RoaXMudHlwZT0icmVhY3QtbmF0aXZlIix0aGlzLm5hbWU9InJlYWN0LW5hdGl2ZSIsdGhpcy52ZXJzaW9uPW51bGwsdGhpcy5vcz1udWxsfSxjPS8obnVoa3xHb29nbGVib3R8WWFtbXlib3R8T3BlbmJvdHxTbHVycHxNU05Cb3R8QXNrXCBKZWV2ZXNcL1Rlb21hfGlhX2FyY2hpdmVyKS8sZj1bWyJhb2wiLC9BT0xTaGllbGRcLyhbMC05XC5fXSspL10sWyJlZGdlIiwvRWRnZVwvKFswLTlcLl9dKykvXSxbImVkZ2UtaW9zIiwvRWRnaU9TXC8oWzAtOVwuX10rKS9dLFsieWFuZGV4YnJvd3NlciIsL1lhQnJvd3NlclwvKFswLTlcLl9dKykvXSxbImtha2FvdGFsayIsL0tBS0FPVEFMS1xzKFswLTlcLl0rKS9dLFsic2Ftc3VuZyIsL1NhbXN1bmdCcm93c2VyXC8oWzAtOVwuXSspL10sWyJzaWxrIiwvXGJTaWxrXC8oWzAtOS5fLV0rKVxiL10sWyJtaXVpIiwvTWl1aUJyb3dzZXJcLyhbMC05XC5dKykkL10sWyJiZWFrZXIiLC9CZWFrZXJCcm93c2VyXC8oWzAtOVwuXSspL10sWyJlZGdlLWNocm9taXVtIiwvRWRnQT9cLyhbMC05XC5dKykvXSxbImNocm9taXVtLXdlYnZpZXciLC8oPyFDaHJvbS4qT1BSKXd2XCkuKkNocm9tKD86ZXxpdW0pXC8oWzAtOVwuXSspKDo/XHN8JCkvXSxbImNocm9tZSIsLyg/IUNocm9tLipPUFIpQ2hyb20oPzplfGl1bSlcLyhbMC05XC5dKykoOj9cc3wkKS9dLFsicGhhbnRvbWpzIiwvUGhhbnRvbUpTXC8oWzAtOVwuXSspKDo/XHN8JCkvXSxbImNyaW9zIiwvQ3JpT1NcLyhbMC05XC5dKykoOj9cc3wkKS9dLFsiZmlyZWZveCIsL0ZpcmVmb3hcLyhbMC05XC5dKykoPzpcc3wkKS9dLFsiZnhpb3MiLC9GeGlPU1wvKFswLTlcLl0rKS9dLFsib3BlcmEtbWluaSIsL09wZXJhIE1pbmkuKlZlcnNpb25cLyhbMC05XC5dKykvXSxbIm9wZXJhIiwvT3BlcmFcLyhbMC05XC5dKykoPzpcc3wkKS9dLFsib3BlcmEiLC9PUFJcLyhbMC05XC5dKykoOj9cc3wkKS9dLFsiaWUiLC9UcmlkZW50XC83XC4wLipydlw6KFswLTlcLl0rKS4qXCkuKkdlY2tvJC9dLFsiaWUiLC9NU0lFXHMoWzAtOVwuXSspOy4qVHJpZGVudFwvWzQtN10uMC9dLFsiaWUiLC9NU0lFXHMoN1wuMCkvXSxbImJiMTAiLC9CQjEwO1xzVG91Y2guKlZlcnNpb25cLyhbMC05XC5dKykvXSxbImFuZHJvaWQiLC9BbmRyb2lkXHMoWzAtOVwuXSspL10sWyJpb3MiLC9WZXJzaW9uXC8oWzAtOVwuX10rKS4qTW9iaWxlLipTYWZhcmkuKi9dLFsic2FmYXJpIiwvVmVyc2lvblwvKFswLTlcLl9dKykuKlNhZmFyaS9dLFsiZmFjZWJvb2siLC9GQkFWXC8oWzAtOVwuXSspL10sWyJpbnN0YWdyYW0iLC9JbnN0YWdyYW1ccyhbMC05XC5dKykvXSxbImlvcy13ZWJ2aWV3IiwvQXBwbGVXZWJLaXRcLyhbMC05XC5dKykuKk1vYmlsZS9dLFsiaW9zLXdlYnZpZXciLC9BcHBsZVdlYktpdFwvKFswLTlcLl0rKS4qR2Vja29cKSQvXSxbInNlYXJjaGJvdCIsL2FsZXhhfGJvdHxjcmF3bChlcnxpbmcpfGZhY2Vib29rZXh0ZXJuYWxoaXR8ZmVlZGJ1cm5lcnxnb29nbGUgd2ViIHByZXZpZXd8bmFnaW9zfHBvc3RyYW5rfHBpbmdkb218c2x1cnB8c3BpZGVyfHlhaG9vIXx5YW5kZXgvXV0saD1bWyJpT1MiLC9pUChob25lfG9kfGFkKS9dLFsiQW5kcm9pZCBPUyIsL0FuZHJvaWQvXSxbIkJsYWNrQmVycnkgT1MiLC9CbGFja0JlcnJ5fEJCMTAvXSxbIldpbmRvd3MgTW9iaWxlIiwvSUVNb2JpbGUvXSxbIkFtYXpvbiBPUyIsL0tpbmRsZS9dLFsiV2luZG93cyAzLjExIiwvV2luMTYvXSxbIldpbmRvd3MgOTUiLC8oV2luZG93cyA5NSl8KFdpbjk1KXwoV2luZG93c185NSkvXSxbIldpbmRvd3MgOTgiLC8oV2luZG93cyA5OCl8KFdpbjk4KS9dLFsiV2luZG93cyAyMDAwIiwvKFdpbmRvd3MgTlQgNS4wKXwoV2luZG93cyAyMDAwKS9dLFsiV2luZG93cyBYUCIsLyhXaW5kb3dzIE5UIDUuMSl8KFdpbmRvd3MgWFApL10sWyJXaW5kb3dzIFNlcnZlciAyMDAzIiwvKFdpbmRvd3MgTlQgNS4yKS9dLFsiV2luZG93cyBWaXN0YSIsLyhXaW5kb3dzIE5UIDYuMCkvXSxbIldpbmRvd3MgNyIsLyhXaW5kb3dzIE5UIDYuMSkvXSxbIldpbmRvd3MgOCIsLyhXaW5kb3dzIE5UIDYuMikvXSxbIldpbmRvd3MgOC4xIiwvKFdpbmRvd3MgTlQgNi4zKS9dLFsiV2luZG93cyAxMCIsLyhXaW5kb3dzIE5UIDEwLjApL10sWyJXaW5kb3dzIE1FIiwvV2luZG93cyBNRS9dLFsiT3BlbiBCU0QiLC9PcGVuQlNEL10sWyJTdW4gT1MiLC9TdW5PUy9dLFsiQ2hyb21lIE9TIiwvQ3JPUy9dLFsiTGludXgiLC8oTGludXgpfChYMTEpL10sWyJNYWMgT1MiLC8oTWFjX1Bvd2VyUEMpfChNYWNpbnRvc2gpL10sWyJRTlgiLC9RTlgvXSxbIkJlT1MiLC9CZU9TL10sWyJPUy8yIiwvT1NcLzIvXV07ZnVuY3Rpb24gbChlKXtyZXR1cm4gZT9wKGUpOiJ1bmRlZmluZWQiPT10eXBlb2YgZG9jdW1lbnQmJiJ1bmRlZmluZWQiIT10eXBlb2YgbmF2aWdhdG9yJiYiUmVhY3ROYXRpdmUiPT09bmF2aWdhdG9yLnByb2R1Y3Q/bmV3IHU6InVuZGVmaW5lZCIhPXR5cGVvZiBuYXZpZ2F0b3I/cChuYXZpZ2F0b3IudXNlckFnZW50KTp2b2lkIDAhPT10JiZ0LnZlcnNpb24/bmV3IG8odC52ZXJzaW9uLnNsaWNlKDEpKTpudWxsfWZ1bmN0aW9uIGQodCl7cmV0dXJuIiIhPT10JiZmLnJlZHVjZSgoZnVuY3Rpb24oZSxyKXt2YXIgbj1yWzBdLGk9clsxXTtpZihlKXJldHVybiBlO3ZhciBvPWkuZXhlYyh0KTtyZXR1cm4hIW8mJltuLG9dfSksITEpfWZ1bmN0aW9uIHAodCl7dmFyIGU9ZCh0KTtpZighZSlyZXR1cm4gbnVsbDt2YXIgcj1lWzBdLG89ZVsxXTtpZigic2VhcmNoYm90Ij09PXIpcmV0dXJuIG5ldyBhO3ZhciB1PW9bMV0mJm9bMV0uc3BsaXQoL1suX10vKS5zbGljZSgwLDMpO3U/dS5sZW5ndGg8MyYmKHU9bih1LGZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1bXSxyPTA7cjx0O3IrKyllLnB1c2goIjAiKTtyZXR1cm4gZX0oMy11Lmxlbmd0aCkpKTp1PVtdO3ZhciBmPXUuam9pbigiLiIpLGw9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPTAscj1oLmxlbmd0aDtlPHI7ZSsrKXt2YXIgbj1oW2VdLGk9blswXTtpZihuWzFdLmV4ZWModCkpcmV0dXJuIGl9cmV0dXJuIG51bGx9KHQpLHA9Yy5leGVjKHQpO3JldHVybiBwJiZwWzFdP25ldyBzKHIsZixsLHBbMV0pOm5ldyBpKHIsZixsKX19KS5jYWxsKHRoaXMscig1KSl9LGZ1bmN0aW9uKHQsZSxyKXsoZnVuY3Rpb24oZSl7dmFyIG49cig3Nykuc3RyaWN0O3QuZXhwb3J0cz1mdW5jdGlvbih0KXtpZihuKHQpKXt2YXIgcj1lLmZyb20odC5idWZmZXIpO3JldHVybiB0LmJ5dGVMZW5ndGghPT10LmJ1ZmZlci5ieXRlTGVuZ3RoJiYocj1yLnNsaWNlKHQuYnl0ZU9mZnNldCx0LmJ5dGVPZmZzZXQrdC5ieXRlTGVuZ3RoKSkscn1yZXR1cm4gZS5mcm9tKHQpfX0pLmNhbGwodGhpcyxyKDIpLkJ1ZmZlcil9LGZ1bmN0aW9uKHQsZSxyKXsoZnVuY3Rpb24obixpKXt2YXIgbzsKLyoqCiAqIFtqcy1zaGEzXXtAbGluayBodHRwczovL2dpdGh1Yi5jb20vZW1uMTc4L2pzLXNoYTN9CiAqCiAqIEB2ZXJzaW9uIDAuOC4wCiAqIEBhdXRob3IgQ2hlbiwgWWktQ3l1YW4gW2VtbjE3OEBnbWFpbC5jb21dCiAqIEBjb3B5cmlnaHQgQ2hlbiwgWWktQ3l1YW4gMjAxNS0yMDE4CiAqIEBsaWNlbnNlIE1JVAogKi8hZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7dmFyIHM9ImlucHV0IGlzIGludmFsaWQgdHlwZSIsYT0ib2JqZWN0Ij09dHlwZW9mIHdpbmRvdyx1PWE/d2luZG93Ont9O3UuSlNfU0hBM19OT19XSU5ET1cmJihhPSExKTt2YXIgYz0hYSYmIm9iamVjdCI9PXR5cGVvZiBzZWxmOyF1LkpTX1NIQTNfTk9fTk9ERV9KUyYmIm9iamVjdCI9PXR5cGVvZiBuJiZuLnZlcnNpb25zJiZuLnZlcnNpb25zLm5vZGU/dT1pOmMmJih1PXNlbGYpO3ZhciBmPSF1LkpTX1NIQTNfTk9fQ09NTU9OX0pTJiYib2JqZWN0Ij09dHlwZW9mIHQmJnQuZXhwb3J0cyxoPXIoMTcxKSxsPSF1LkpTX1NIQTNfTk9fQVJSQVlfQlVGRkVSJiYidW5kZWZpbmVkIiE9dHlwZW9mIEFycmF5QnVmZmVyLGQ9IjAxMjM0NTY3ODlhYmNkZWYiLnNwbGl0KCIiKSxwPVs0LDEwMjQsMjYyMTQ0LDY3MTA4ODY0XSxtPVswLDgsMTYsMjRdLGc9WzEsMCwzMjg5OCwwLDMyOTA2LDIxNDc0ODM2NDgsMjE0NzUxNjQxNiwyMTQ3NDgzNjQ4LDMyOTA3LDAsMjE0NzQ4MzY0OSwwLDIxNDc1MTY1NDUsMjE0NzQ4MzY0OCwzMjc3NywyMTQ3NDgzNjQ4LDEzOCwwLDEzNiwwLDIxNDc1MTY0MjUsMCwyMTQ3NDgzNjU4LDAsMjE0NzUxNjU1NSwwLDEzOSwyMTQ3NDgzNjQ4LDMyOTA1LDIxNDc0ODM2NDgsMzI3NzEsMjE0NzQ4MzY0OCwzMjc3MCwyMTQ3NDgzNjQ4LDEyOCwyMTQ3NDgzNjQ4LDMyNzc4LDAsMjE0NzQ4MzY1OCwyMTQ3NDgzNjQ4LDIxNDc1MTY1NDUsMjE0NzQ4MzY0OCwzMjg5NiwyMTQ3NDgzNjQ4LDIxNDc0ODM2NDksMCwyMTQ3NTE2NDI0LDIxNDc0ODM2NDhdLGI9WzIyNCwyNTYsMzg0LDUxMl0seT1bMTI4LDI1Nl0sdj1bImhleCIsImJ1ZmZlciIsImFycmF5QnVmZmVyIiwiYXJyYXkiLCJkaWdlc3QiXSxfPXsxMjg6MTY4LDI1NjoxMzZ9OyF1LkpTX1NIQTNfTk9fTk9ERV9KUyYmQXJyYXkuaXNBcnJheXx8KEFycmF5LmlzQXJyYXk9ZnVuY3Rpb24odCl7cmV0dXJuIltvYmplY3QgQXJyYXldIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KX0pLCFsfHwhdS5KU19TSEEzX05PX0FSUkFZX0JVRkZFUl9JU19WSUVXJiZBcnJheUJ1ZmZlci5pc1ZpZXd8fChBcnJheUJ1ZmZlci5pc1ZpZXc9ZnVuY3Rpb24odCl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiB0JiZ0LmJ1ZmZlciYmdC5idWZmZXIuY29uc3RydWN0b3I9PT1BcnJheUJ1ZmZlcn0pO2Zvcih2YXIgdz1mdW5jdGlvbih0LGUscil7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybiBuZXcgaih0LGUsdCkudXBkYXRlKG4pW3JdKCl9fSxNPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gZnVuY3Rpb24obixpKXtyZXR1cm4gbmV3IGoodCxlLGkpLnVwZGF0ZShuKVtyXSgpfX0sUz1mdW5jdGlvbih0LGUscil7cmV0dXJuIGZ1bmN0aW9uKGUsbixpLG8pe3JldHVybiBSWyJjc2hha2UiK3RdLnVwZGF0ZShlLG4saSxvKVtyXSgpfX0sRT1mdW5jdGlvbih0LGUscil7cmV0dXJuIGZ1bmN0aW9uKGUsbixpLG8pe3JldHVybiBSWyJrbWFjIit0XS51cGRhdGUoZSxuLGksbylbcl0oKX19LHg9ZnVuY3Rpb24odCxlLHIsbil7Zm9yKHZhciBpPTA7aTx2Lmxlbmd0aDsrK2kpe3ZhciBvPXZbaV07dFtvXT1lKHIsbixvKX1yZXR1cm4gdH0saz1mdW5jdGlvbih0LGUpe3ZhciByPXcodCxlLCJoZXgiKTtyZXR1cm4gci5jcmVhdGU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGoodCxlLHQpfSxyLnVwZGF0ZT1mdW5jdGlvbih0KXtyZXR1cm4gci5jcmVhdGUoKS51cGRhdGUodCl9LHgocix3LHQsZSl9LEE9W3tuYW1lOiJrZWNjYWsiLHBhZGRpbmc6WzEsMjU2LDY1NTM2LDE2Nzc3MjE2XSxiaXRzOmIsY3JlYXRlTWV0aG9kOmt9LHtuYW1lOiJzaGEzIixwYWRkaW5nOls2LDE1MzYsMzkzMjE2LDEwMDY2MzI5Nl0sYml0czpiLGNyZWF0ZU1ldGhvZDprfSx7bmFtZToic2hha2UiLHBhZGRpbmc6WzMxLDc5MzYsMjAzMTYxNiw1MjAwOTM2OTZdLGJpdHM6eSxjcmVhdGVNZXRob2Q6ZnVuY3Rpb24odCxlKXt2YXIgcj1NKHQsZSwiaGV4Iik7cmV0dXJuIHIuY3JlYXRlPWZ1bmN0aW9uKHIpe3JldHVybiBuZXcgaih0LGUscil9LHIudXBkYXRlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHIuY3JlYXRlKGUpLnVwZGF0ZSh0KX0seChyLE0sdCxlKX19LHtuYW1lOiJjc2hha2UiLHBhZGRpbmc6cCxiaXRzOnksY3JlYXRlTWV0aG9kOmZ1bmN0aW9uKHQsZSl7dmFyIHI9X1t0XSxuPVModCwwLCJoZXgiKTtyZXR1cm4gbi5jcmVhdGU9ZnVuY3Rpb24obixpLG8pe3JldHVybiBpfHxvP25ldyBqKHQsZSxuKS5ieXRlcGFkKFtpLG9dLHIpOlJbInNoYWtlIit0XS5jcmVhdGUobil9LG4udXBkYXRlPWZ1bmN0aW9uKHQsZSxyLGkpe3JldHVybiBuLmNyZWF0ZShlLHIsaSkudXBkYXRlKHQpfSx4KG4sUyx0LGUpfX0se25hbWU6ImttYWMiLHBhZGRpbmc6cCxiaXRzOnksY3JlYXRlTWV0aG9kOmZ1bmN0aW9uKHQsZSl7dmFyIHI9X1t0XSxuPUUodCwwLCJoZXgiKTtyZXR1cm4gbi5jcmVhdGU9ZnVuY3Rpb24obixpLG8pe3JldHVybiBuZXcgTih0LGUsaSkuYnl0ZXBhZChbIktNQUMiLG9dLHIpLmJ5dGVwYWQoW25dLHIpfSxuLnVwZGF0ZT1mdW5jdGlvbih0LGUscixpKXtyZXR1cm4gbi5jcmVhdGUodCxyLGkpLnVwZGF0ZShlKX0seChuLEUsdCxlKX19XSxSPXt9LFQ9W10sTz0wO088QS5sZW5ndGg7KytPKWZvcih2YXIgQz1BW09dLFA9Qy5iaXRzLEk9MDtJPFAubGVuZ3RoOysrSSl7dmFyIEI9Qy5uYW1lKyJfIitQW0ldO2lmKFQucHVzaChCKSxSW0JdPUMuY3JlYXRlTWV0aG9kKFBbSV0sQy5wYWRkaW5nKSwic2hhMyIhPT1DLm5hbWUpe3ZhciBMPUMubmFtZStQW0ldO1QucHVzaChMKSxSW0xdPVJbQl19fWZ1bmN0aW9uIGoodCxlLHIpe3RoaXMuYmxvY2tzPVtdLHRoaXMucz1bXSx0aGlzLnBhZGRpbmc9ZSx0aGlzLm91dHB1dEJpdHM9cix0aGlzLnJlc2V0PSEwLHRoaXMuZmluYWxpemVkPSExLHRoaXMuYmxvY2s9MCx0aGlzLnN0YXJ0PTAsdGhpcy5ibG9ja0NvdW50PTE2MDAtKHQ8PDEpPj41LHRoaXMuYnl0ZUNvdW50PXRoaXMuYmxvY2tDb3VudDw8Mix0aGlzLm91dHB1dEJsb2Nrcz1yPj41LHRoaXMuZXh0cmFCeXRlcz0oMzEmcik+PjM7Zm9yKHZhciBuPTA7bjw1MDsrK24pdGhpcy5zW25dPTB9ZnVuY3Rpb24gTih0LGUscil7ai5jYWxsKHRoaXMsdCxlLHIpfWoucHJvdG90eXBlLnVwZGF0ZT1mdW5jdGlvbih0KXtpZih0aGlzLmZpbmFsaXplZCl0aHJvdyBuZXcgRXJyb3IoImZpbmFsaXplIGFscmVhZHkgY2FsbGVkIik7dmFyIGUscj10eXBlb2YgdDtpZigic3RyaW5nIiE9PXIpe2lmKCJvYmplY3QiIT09cil0aHJvdyBuZXcgRXJyb3Iocyk7aWYobnVsbD09PXQpdGhyb3cgbmV3IEVycm9yKHMpO2lmKGwmJnQuY29uc3RydWN0b3I9PT1BcnJheUJ1ZmZlcil0PW5ldyBVaW50OEFycmF5KHQpO2Vsc2UgaWYoIShBcnJheS5pc0FycmF5KHQpfHxsJiZBcnJheUJ1ZmZlci5pc1ZpZXcodCkpKXRocm93IG5ldyBFcnJvcihzKTtlPSEwfWZvcih2YXIgbixpLG89dGhpcy5ibG9ja3MsYT10aGlzLmJ5dGVDb3VudCx1PXQubGVuZ3RoLGM9dGhpcy5ibG9ja0NvdW50LGY9MCxoPXRoaXMucztmPHU7KXtpZih0aGlzLnJlc2V0KWZvcih0aGlzLnJlc2V0PSExLG9bMF09dGhpcy5ibG9jayxuPTE7bjxjKzE7KytuKW9bbl09MDtpZihlKWZvcihuPXRoaXMuc3RhcnQ7Zjx1JiZuPGE7KytmKW9bbj4+Ml18PXRbZl08PG1bMyZuKytdO2Vsc2UgZm9yKG49dGhpcy5zdGFydDtmPHUmJm48YTsrK2YpKGk9dC5jaGFyQ29kZUF0KGYpKTwxMjg/b1tuPj4yXXw9aTw8bVszJm4rK106aTwyMDQ4PyhvW24+PjJdfD0oMTkyfGk+PjYpPDxtWzMmbisrXSxvW24+PjJdfD0oMTI4fDYzJmkpPDxtWzMmbisrXSk6aTw1NTI5Nnx8aT49NTczNDQ/KG9bbj4+Ml18PSgyMjR8aT4+MTIpPDxtWzMmbisrXSxvW24+PjJdfD0oMTI4fGk+PjYmNjMpPDxtWzMmbisrXSxvW24+PjJdfD0oMTI4fDYzJmkpPDxtWzMmbisrXSk6KGk9NjU1MzYrKCgxMDIzJmkpPDwxMHwxMDIzJnQuY2hhckNvZGVBdCgrK2YpKSxvW24+PjJdfD0oMjQwfGk+PjE4KTw8bVszJm4rK10sb1tuPj4yXXw9KDEyOHxpPj4xMiY2Myk8PG1bMyZuKytdLG9bbj4+Ml18PSgxMjh8aT4+NiY2Myk8PG1bMyZuKytdLG9bbj4+Ml18PSgxMjh8NjMmaSk8PG1bMyZuKytdKTtpZih0aGlzLmxhc3RCeXRlSW5kZXg9bixuPj1hKXtmb3IodGhpcy5zdGFydD1uLWEsdGhpcy5ibG9jaz1vW2NdLG49MDtuPGM7KytuKWhbbl1ePW9bbl07cShoKSx0aGlzLnJlc2V0PSEwfWVsc2UgdGhpcy5zdGFydD1ufXJldHVybiB0aGlzfSxqLnByb3RvdHlwZS5lbmNvZGU9ZnVuY3Rpb24odCxlKXt2YXIgcj0yNTUmdCxuPTEsaT1bcl07Zm9yKHI9MjU1Jih0Pj49OCk7cj4wOylpLnVuc2hpZnQocikscj0yNTUmKHQ+Pj04KSwrK247cmV0dXJuIGU/aS5wdXNoKG4pOmkudW5zaGlmdChuKSx0aGlzLnVwZGF0ZShpKSxpLmxlbmd0aH0sai5wcm90b3R5cGUuZW5jb2RlU3RyaW5nPWZ1bmN0aW9uKHQpe3ZhciBlLHI9dHlwZW9mIHQ7aWYoInN0cmluZyIhPT1yKXtpZigib2JqZWN0IiE9PXIpdGhyb3cgbmV3IEVycm9yKHMpO2lmKG51bGw9PT10KXRocm93IG5ldyBFcnJvcihzKTtpZihsJiZ0LmNvbnN0cnVjdG9yPT09QXJyYXlCdWZmZXIpdD1uZXcgVWludDhBcnJheSh0KTtlbHNlIGlmKCEoQXJyYXkuaXNBcnJheSh0KXx8bCYmQXJyYXlCdWZmZXIuaXNWaWV3KHQpKSl0aHJvdyBuZXcgRXJyb3Iocyk7ZT0hMH12YXIgbj0wLGk9dC5sZW5ndGg7aWYoZSluPWk7ZWxzZSBmb3IodmFyIG89MDtvPHQubGVuZ3RoOysrbyl7dmFyIGE9dC5jaGFyQ29kZUF0KG8pO2E8MTI4P24rPTE6YTwyMDQ4P24rPTI6YTw1NTI5Nnx8YT49NTczNDQ/bis9MzooYT02NTUzNisoKDEwMjMmYSk8PDEwfDEwMjMmdC5jaGFyQ29kZUF0KCsrbykpLG4rPTQpfXJldHVybiBuKz10aGlzLmVuY29kZSg4Km4pLHRoaXMudXBkYXRlKHQpLG59LGoucHJvdG90eXBlLmJ5dGVwYWQ9ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9dGhpcy5lbmNvZGUoZSksbj0wO248dC5sZW5ndGg7KytuKXIrPXRoaXMuZW5jb2RlU3RyaW5nKHRbbl0pO3ZhciBpPWUtciVlLG89W107cmV0dXJuIG8ubGVuZ3RoPWksdGhpcy51cGRhdGUobyksdGhpc30sai5wcm90b3R5cGUuZmluYWxpemU9ZnVuY3Rpb24oKXtpZighdGhpcy5maW5hbGl6ZWQpe3RoaXMuZmluYWxpemVkPSEwO3ZhciB0PXRoaXMuYmxvY2tzLGU9dGhpcy5sYXN0Qnl0ZUluZGV4LHI9dGhpcy5ibG9ja0NvdW50LG49dGhpcy5zO2lmKHRbZT4+Ml18PXRoaXMucGFkZGluZ1szJmVdLHRoaXMubGFzdEJ5dGVJbmRleD09PXRoaXMuYnl0ZUNvdW50KWZvcih0WzBdPXRbcl0sZT0xO2U8cisxOysrZSl0W2VdPTA7Zm9yKHRbci0xXXw9MjE0NzQ4MzY0OCxlPTA7ZTxyOysrZSluW2VdXj10W2VdO3Eobil9fSxqLnByb3RvdHlwZS50b1N0cmluZz1qLnByb3RvdHlwZS5oZXg9ZnVuY3Rpb24oKXt0aGlzLmZpbmFsaXplKCk7Zm9yKHZhciB0LGU9dGhpcy5ibG9ja0NvdW50LHI9dGhpcy5zLG49dGhpcy5vdXRwdXRCbG9ja3MsaT10aGlzLmV4dHJhQnl0ZXMsbz0wLHM9MCxhPSIiO3M8bjspe2ZvcihvPTA7bzxlJiZzPG47KytvLCsrcyl0PXJbb10sYSs9ZFt0Pj40JjE1XStkWzE1JnRdK2RbdD4+MTImMTVdK2RbdD4+OCYxNV0rZFt0Pj4yMCYxNV0rZFt0Pj4xNiYxNV0rZFt0Pj4yOCYxNV0rZFt0Pj4yNCYxNV07cyVlPT0wJiYocShyKSxvPTApfXJldHVybiBpJiYodD1yW29dLGErPWRbdD4+NCYxNV0rZFsxNSZ0XSxpPjEmJihhKz1kW3Q+PjEyJjE1XStkW3Q+PjgmMTVdKSxpPjImJihhKz1kW3Q+PjIwJjE1XStkW3Q+PjE2JjE1XSkpLGF9LGoucHJvdG90eXBlLmFycmF5QnVmZmVyPWZ1bmN0aW9uKCl7dGhpcy5maW5hbGl6ZSgpO3ZhciB0LGU9dGhpcy5ibG9ja0NvdW50LHI9dGhpcy5zLG49dGhpcy5vdXRwdXRCbG9ja3MsaT10aGlzLmV4dHJhQnl0ZXMsbz0wLHM9MCxhPXRoaXMub3V0cHV0Qml0cz4+Mzt0PWk/bmV3IEFycmF5QnVmZmVyKG4rMTw8Mik6bmV3IEFycmF5QnVmZmVyKGEpO2Zvcih2YXIgdT1uZXcgVWludDMyQXJyYXkodCk7czxuOyl7Zm9yKG89MDtvPGUmJnM8bjsrK28sKytzKXVbc109cltvXTtzJWU9PTAmJnEocil9cmV0dXJuIGkmJih1W29dPXJbb10sdD10LnNsaWNlKDAsYSkpLHR9LGoucHJvdG90eXBlLmJ1ZmZlcj1qLnByb3RvdHlwZS5hcnJheUJ1ZmZlcixqLnByb3RvdHlwZS5kaWdlc3Q9ai5wcm90b3R5cGUuYXJyYXk9ZnVuY3Rpb24oKXt0aGlzLmZpbmFsaXplKCk7Zm9yKHZhciB0LGUscj10aGlzLmJsb2NrQ291bnQsbj10aGlzLnMsaT10aGlzLm91dHB1dEJsb2NrcyxvPXRoaXMuZXh0cmFCeXRlcyxzPTAsYT0wLHU9W107YTxpOyl7Zm9yKHM9MDtzPHImJmE8aTsrK3MsKythKXQ9YTw8MixlPW5bc10sdVt0XT0yNTUmZSx1W3QrMV09ZT4+OCYyNTUsdVt0KzJdPWU+PjE2JjI1NSx1W3QrM109ZT4+MjQmMjU1O2Elcj09MCYmcShuKX1yZXR1cm4gbyYmKHQ9YTw8MixlPW5bc10sdVt0XT0yNTUmZSxvPjEmJih1W3QrMV09ZT4+OCYyNTUpLG8+MiYmKHVbdCsyXT1lPj4xNiYyNTUpKSx1fSxOLnByb3RvdHlwZT1uZXcgaixOLnByb3RvdHlwZS5maW5hbGl6ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmVuY29kZSh0aGlzLm91dHB1dEJpdHMsITApLGoucHJvdG90eXBlLmZpbmFsaXplLmNhbGwodGhpcyl9O3ZhciBxPWZ1bmN0aW9uKHQpe3ZhciBlLHIsbixpLG8scyxhLHUsYyxmLGgsbCxkLHAsbSxiLHksdixfLHcsTSxTLEUseCxrLEEsUixULE8sQyxQLEksQixMLGosTixxLFUsRCx6LEgsRixXLEssVixKLFksRyxaLCQsWCxRLHR0LGV0LHJ0LG50LGl0LG90LHN0LGF0LHV0LGN0LGZ0O2ZvcihuPTA7bjw0ODtuKz0yKWk9dFswXV50WzEwXV50WzIwXV50WzMwXV50WzQwXSxvPXRbMV1edFsxMV1edFsyMV1edFszMV1edFs0MV0scz10WzJdXnRbMTJdXnRbMjJdXnRbMzJdXnRbNDJdLGE9dFszXV50WzEzXV50WzIzXV50WzMzXV50WzQzXSx1PXRbNF1edFsxNF1edFsyNF1edFszNF1edFs0NF0sYz10WzVdXnRbMTVdXnRbMjVdXnRbMzVdXnRbNDVdLGY9dFs2XV50WzE2XV50WzI2XV50WzM2XV50WzQ2XSxoPXRbN11edFsxN11edFsyN11edFszN11edFs0N10sZT0obD10WzhdXnRbMThdXnRbMjhdXnRbMzhdXnRbNDhdKV4oczw8MXxhPj4+MzEpLHI9KGQ9dFs5XV50WzE5XV50WzI5XV50WzM5XV50WzQ5XSleKGE8PDF8cz4+PjMxKSx0WzBdXj1lLHRbMV1ePXIsdFsxMF1ePWUsdFsxMV1ePXIsdFsyMF1ePWUsdFsyMV1ePXIsdFszMF1ePWUsdFszMV1ePXIsdFs0MF1ePWUsdFs0MV1ePXIsZT1pXih1PDwxfGM+Pj4zMSkscj1vXihjPDwxfHU+Pj4zMSksdFsyXV49ZSx0WzNdXj1yLHRbMTJdXj1lLHRbMTNdXj1yLHRbMjJdXj1lLHRbMjNdXj1yLHRbMzJdXj1lLHRbMzNdXj1yLHRbNDJdXj1lLHRbNDNdXj1yLGU9c14oZjw8MXxoPj4+MzEpLHI9YV4oaDw8MXxmPj4+MzEpLHRbNF1ePWUsdFs1XV49cix0WzE0XV49ZSx0WzE1XV49cix0WzI0XV49ZSx0WzI1XV49cix0WzM0XV49ZSx0WzM1XV49cix0WzQ0XV49ZSx0WzQ1XV49cixlPXVeKGw8PDF8ZD4+PjMxKSxyPWNeKGQ8PDF8bD4+PjMxKSx0WzZdXj1lLHRbN11ePXIsdFsxNl1ePWUsdFsxN11ePXIsdFsyNl1ePWUsdFsyN11ePXIsdFszNl1ePWUsdFszN11ePXIsdFs0Nl1ePWUsdFs0N11ePXIsZT1mXihpPDwxfG8+Pj4zMSkscj1oXihvPDwxfGk+Pj4zMSksdFs4XV49ZSx0WzldXj1yLHRbMThdXj1lLHRbMTldXj1yLHRbMjhdXj1lLHRbMjldXj1yLHRbMzhdXj1lLHRbMzldXj1yLHRbNDhdXj1lLHRbNDldXj1yLHA9dFswXSxtPXRbMV0sSj10WzExXTw8NHx0WzEwXT4+PjI4LFk9dFsxMF08PDR8dFsxMV0+Pj4yOCxUPXRbMjBdPDwzfHRbMjFdPj4+MjksTz10WzIxXTw8M3x0WzIwXT4+PjI5LGF0PXRbMzFdPDw5fHRbMzBdPj4+MjMsdXQ9dFszMF08PDl8dFszMV0+Pj4yMyxGPXRbNDBdPDwxOHx0WzQxXT4+PjE0LFc9dFs0MV08PDE4fHRbNDBdPj4+MTQsTD10WzJdPDwxfHRbM10+Pj4zMSxqPXRbM108PDF8dFsyXT4+PjMxLGI9dFsxM108PDEyfHRbMTJdPj4+MjAseT10WzEyXTw8MTJ8dFsxM10+Pj4yMCxHPXRbMjJdPDwxMHx0WzIzXT4+PjIyLFo9dFsyM108PDEwfHRbMjJdPj4+MjIsQz10WzMzXTw8MTN8dFszMl0+Pj4xOSxQPXRbMzJdPDwxM3x0WzMzXT4+PjE5LGN0PXRbNDJdPDwyfHRbNDNdPj4+MzAsZnQ9dFs0M108PDJ8dFs0Ml0+Pj4zMCxldD10WzVdPDwzMHx0WzRdPj4+MixydD10WzRdPDwzMHx0WzVdPj4+MixOPXRbMTRdPDw2fHRbMTVdPj4+MjYscT10WzE1XTw8Nnx0WzE0XT4+PjI2LHY9dFsyNV08PDExfHRbMjRdPj4+MjEsXz10WzI0XTw8MTF8dFsyNV0+Pj4yMSwkPXRbMzRdPDwxNXx0WzM1XT4+PjE3LFg9dFszNV08PDE1fHRbMzRdPj4+MTcsST10WzQ1XTw8Mjl8dFs0NF0+Pj4zLEI9dFs0NF08PDI5fHRbNDVdPj4+Myx4PXRbNl08PDI4fHRbN10+Pj40LGs9dFs3XTw8Mjh8dFs2XT4+PjQsbnQ9dFsxN108PDIzfHRbMTZdPj4+OSxpdD10WzE2XTw8MjN8dFsxN10+Pj45LFU9dFsyNl08PDI1fHRbMjddPj4+NyxEPXRbMjddPDwyNXx0WzI2XT4+Pjcsdz10WzM2XTw8MjF8dFszN10+Pj4xMSxNPXRbMzddPDwyMXx0WzM2XT4+PjExLFE9dFs0N108PDI0fHRbNDZdPj4+OCx0dD10WzQ2XTw8MjR8dFs0N10+Pj44LEs9dFs4XTw8Mjd8dFs5XT4+PjUsVj10WzldPDwyN3x0WzhdPj4+NSxBPXRbMThdPDwyMHx0WzE5XT4+PjEyLFI9dFsxOV08PDIwfHRbMThdPj4+MTIsb3Q9dFsyOV08PDd8dFsyOF0+Pj4yNSxzdD10WzI4XTw8N3x0WzI5XT4+PjI1LHo9dFszOF08PDh8dFszOV0+Pj4yNCxIPXRbMzldPDw4fHRbMzhdPj4+MjQsUz10WzQ4XTw8MTR8dFs0OV0+Pj4xOCxFPXRbNDldPDwxNHx0WzQ4XT4+PjE4LHRbMF09cF5+YiZ2LHRbMV09bV5+eSZfLHRbMTBdPXhefkEmVCx0WzExXT1rXn5SJk8sdFsyMF09TF5+TiZVLHRbMjFdPWpefnEmRCx0WzMwXT1LXn5KJkcsdFszMV09Vl5+WSZaLHRbNDBdPWV0Xn5udCZvdCx0WzQxXT1ydF5+aXQmc3QsdFsyXT1iXn52JncsdFszXT15Xn5fJk0sdFsxMl09QV5+VCZDLHRbMTNdPVJefk8mUCx0WzIyXT1OXn5VJnosdFsyM109cV5+RCZILHRbMzJdPUpefkcmJCx0WzMzXT1ZXn5aJlgsdFs0Ml09bnRefm90JmF0LHRbNDNdPWl0Xn5zdCZ1dCx0WzRdPXZefncmUyx0WzVdPV9efk0mRSx0WzE0XT1UXn5DJkksdFsxNV09T15+UCZCLHRbMjRdPVVefnomRix0WzI1XT1EXn5IJlcsdFszNF09R15+JCZRLHRbMzVdPVpeflgmdHQsdFs0NF09b3RefmF0JmN0LHRbNDVdPXN0Xn51dCZmdCx0WzZdPXdeflMmcCx0WzddPU1efkUmbSx0WzE2XT1DXn5JJngsdFsxN109UF5+QiZrLHRbMjZdPXpefkYmTCx0WzI3XT1IXn5XJmosdFszNl09JF5+USZLLHRbMzddPVhefnR0JlYsdFs0Nl09YXRefmN0JmV0LHRbNDddPXV0Xn5mdCZydCx0WzhdPVNefnAmYix0WzldPUVefm0meSx0WzE4XT1JXn54JkEsdFsxOV09Ql5+ayZSLHRbMjhdPUZefkwmTix0WzI5XT1XXn5qJnEsdFszOF09UV5+SyZKLHRbMzldPXR0Xn5WJlksdFs0OF09Y3RefmV0Jm50LHRbNDldPWZ0Xn5ydCZpdCx0WzBdXj1nW25dLHRbMV1ePWdbbisxXX07aWYoZil0LmV4cG9ydHM9UjtlbHNle2ZvcihPPTA7TzxULmxlbmd0aDsrK08pdVtUW09dXT1SW1RbT11dO2gmJih2b2lkIDA9PT0obz1mdW5jdGlvbigpe3JldHVybiBSfS5jYWxsKGUscixlLHQpKXx8KHQuZXhwb3J0cz1vKSl9fSgpfSkuY2FsbCh0aGlzLHIoNSkscig2KSl9LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7cig3KSxyKDI0KTt2YXIgbj1yKDgwKTtyLm8obiwicGF5bG9hZElkIikmJnIuZChlLCJwYXlsb2FkSWQiLChmdW5jdGlvbigpe3JldHVybiBuLnBheWxvYWRJZH0pKTt2YXIgaT1yKDgxKTtyLmQoZSwicGF5bG9hZElkIiwoZnVuY3Rpb24oKXtyZXR1cm4gaS5hfSkpO3IoODIpLHIoODMpLHIoODgpLHIoODkpfSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiOyhmdW5jdGlvbih0KXt2YXIgbj1yKDEpLGk9cigxNjMpO2NvbnN0IG89dm9pZCAwIT09dC5XZWJTb2NrZXQ/dC5XZWJTb2NrZXQ6cigxNzcpO2UuYT1jbGFzc3tjb25zdHJ1Y3Rvcih0KXtpZih0aGlzLm9wdHM9dCx0aGlzLl9xdWV1ZT1bXSx0aGlzLl9ldmVudHM9W10sdGhpcy5fc3Vic2NyaXB0aW9ucz1bXSx0aGlzLl9wcm90b2NvbD10LnByb3RvY29sLHRoaXMuX3ZlcnNpb249dC52ZXJzaW9uLHRoaXMuX3VybD0iIix0aGlzLl9uZXRNb25pdG9yPW51bGwsdGhpcy5fc29ja2V0PW51bGwsdGhpcy5fbmV4dFNvY2tldD1udWxsLHRoaXMuX3N1YnNjcmlwdGlvbnM9dC5zdWJzY3JpcHRpb25zfHxbXSx0aGlzLl9uZXRNb25pdG9yPXQubmV0TW9uaXRvcnx8bmV3IGkuYSwhdC51cmx8fCJzdHJpbmciIT10eXBlb2YgdC51cmwpdGhyb3cgbmV3IEVycm9yKCJNaXNzaW5nIG9yIGludmFsaWQgV2ViU29ja2V0IHVybCIpO3RoaXMuX3VybD10LnVybCx0aGlzLl9uZXRNb25pdG9yLm9uKCJvbmxpbmUiLCgpPT50aGlzLl9zb2NrZXRDcmVhdGUoKSl9c2V0IHJlYWR5U3RhdGUodCl7fWdldCByZWFkeVN0YXRlKCl7cmV0dXJuIHRoaXMuX3NvY2tldD90aGlzLl9zb2NrZXQucmVhZHlTdGF0ZTotMX1zZXQgY29ubmVjdGluZyh0KXt9Z2V0IGNvbm5lY3RpbmcoKXtyZXR1cm4gMD09PXRoaXMucmVhZHlTdGF0ZX1zZXQgY29ubmVjdGVkKHQpe31nZXQgY29ubmVjdGVkKCl7cmV0dXJuIDE9PT10aGlzLnJlYWR5U3RhdGV9c2V0IGNsb3NpbmcodCl7fWdldCBjbG9zaW5nKCl7cmV0dXJuIDI9PT10aGlzLnJlYWR5U3RhdGV9c2V0IGNsb3NlZCh0KXt9Z2V0IGNsb3NlZCgpe3JldHVybiAzPT09dGhpcy5yZWFkeVN0YXRlfW9wZW4oKXt0aGlzLl9zb2NrZXRDcmVhdGUoKX1jbG9zZSgpe3RoaXMuX3NvY2tldENsb3NlKCl9c2VuZCh0LGUscil7aWYoIWV8fCJzdHJpbmciIT10eXBlb2YgZSl0aHJvdyBuZXcgRXJyb3IoIk1pc3Npbmcgb3IgaW52YWxpZCB0b3BpYyBmaWVsZCIpO3RoaXMuX3NvY2tldFNlbmQoe3RvcGljOmUsdHlwZToicHViIixwYXlsb2FkOnQsc2lsZW50OiEhcn0pfXN1YnNjcmliZSh0KXt0aGlzLl9zb2NrZXRTZW5kKHt0b3BpYzp0LHR5cGU6InN1YiIscGF5bG9hZDoiIixzaWxlbnQ6ITB9KX1vbih0LGUpe3RoaXMuX2V2ZW50cy5wdXNoKHtldmVudDp0LGNhbGxiYWNrOmV9KX1fc29ja2V0Q3JlYXRlKCl7aWYodGhpcy5fbmV4dFNvY2tldClyZXR1cm47Y29uc3QgdD1mdW5jdGlvbih0LGUscil7dmFyIGksbztjb25zdCBzPSh0LnN0YXJ0c1dpdGgoImh0dHBzIik/dC5yZXBsYWNlKCJodHRwcyIsIndzcyIpOnQuc3RhcnRzV2l0aCgiaHR0cCIpP3QucmVwbGFjZSgiaHR0cCIsIndzIik6dCkuc3BsaXQoIj8iKSxhPU9iamVjdChuLmlzQnJvd3NlcikoKT97cHJvdG9jb2w6ZSx2ZXJzaW9uOnIsZW52OiJicm93c2VyIixob3N0OihudWxsPT09KGk9T2JqZWN0KG4uZ2V0TG9jYXRpb24pKCkpfHx2b2lkIDA9PT1pP3ZvaWQgMDppLmhvc3QpfHwiIn06e3Byb3RvY29sOmUsdmVyc2lvbjpyLGVudjoobnVsbD09PShvPU9iamVjdChuLmRldGVjdEVudikoKSl8fHZvaWQgMD09PW8/dm9pZCAwOm8ubmFtZSl8fCIifSx1PU9iamVjdChuLmFwcGVuZFRvUXVlcnlTdHJpbmcpKE9iamVjdChuLmdldFF1ZXJ5U3RyaW5nKShzWzFdfHwiIiksYSk7cmV0dXJuIHNbMF0rIj8iK3V9KHRoaXMuX3VybCx0aGlzLl9wcm90b2NvbCx0aGlzLl92ZXJzaW9uKTtpZih0aGlzLl9uZXh0U29ja2V0PW5ldyBvKHQpLCF0aGlzLl9uZXh0U29ja2V0KXRocm93IG5ldyBFcnJvcigiRmFpbGVkIHRvIGNyZWF0ZSBzb2NrZXQiKTt0aGlzLl9uZXh0U29ja2V0Lm9ubWVzc2FnZT10PT50aGlzLl9zb2NrZXRSZWNlaXZlKHQpLHRoaXMuX25leHRTb2NrZXQub25vcGVuPSgpPT50aGlzLl9zb2NrZXRPcGVuKCksdGhpcy5fbmV4dFNvY2tldC5vbmVycm9yPXQ9PnRoaXMuX3NvY2tldEVycm9yKHQpLHRoaXMuX25leHRTb2NrZXQub25jbG9zZT0oKT0+e3NldFRpbWVvdXQoKCk9Pnt0aGlzLl9uZXh0U29ja2V0PW51bGwsdGhpcy5fc29ja2V0Q3JlYXRlKCl9LDFlMyl9fV9zb2NrZXRPcGVuKCl7dGhpcy5fc29ja2V0Q2xvc2UoKSx0aGlzLl9zb2NrZXQ9dGhpcy5fbmV4dFNvY2tldCx0aGlzLl9uZXh0U29ja2V0PW51bGwsdGhpcy5fcXVldWVTdWJzY3JpcHRpb25zKCksdGhpcy5fcHVzaFF1ZXVlKCl9X3NvY2tldENsb3NlKCl7dGhpcy5fc29ja2V0JiYodGhpcy5fc29ja2V0Lm9uY2xvc2U9KCk9Pnt9LHRoaXMuX3NvY2tldC5jbG9zZSgpKX1fc29ja2V0U2VuZCh0KXtjb25zdCBlPUpTT04uc3RyaW5naWZ5KHQpO3RoaXMuX3NvY2tldCYmMT09PXRoaXMuX3NvY2tldC5yZWFkeVN0YXRlP3RoaXMuX3NvY2tldC5zZW5kKGUpOih0aGlzLl9zZXRUb1F1ZXVlKHQpLHRoaXMuX3NvY2tldENyZWF0ZSgpKX1hc3luYyBfc29ja2V0UmVjZWl2ZSh0KXtsZXQgZTt0cnl7ZT1KU09OLnBhcnNlKHQuZGF0YSl9Y2F0Y2godCl7cmV0dXJufWlmKHRoaXMuX3NvY2tldFNlbmQoe3RvcGljOmUudG9waWMsdHlwZToiYWNrIixwYXlsb2FkOiIiLHNpbGVudDohMH0pLHRoaXMuX3NvY2tldCYmMT09PXRoaXMuX3NvY2tldC5yZWFkeVN0YXRlKXtjb25zdCB0PXRoaXMuX2V2ZW50cy5maWx0ZXIodD0+Im1lc3NhZ2UiPT09dC5ldmVudCk7dCYmdC5sZW5ndGgmJnQuZm9yRWFjaCh0PT50LmNhbGxiYWNrKGUpKX19X3NvY2tldEVycm9yKHQpe2NvbnN0IGU9dGhpcy5fZXZlbnRzLmZpbHRlcih0PT4iZXJyb3IiPT09dC5ldmVudCk7ZSYmZS5sZW5ndGgmJmUuZm9yRWFjaChlPT5lLmNhbGxiYWNrKHQpKX1fcXVldWVTdWJzY3JpcHRpb25zKCl7dGhpcy5fc3Vic2NyaXB0aW9ucy5mb3JFYWNoKHQ9PnRoaXMuX3F1ZXVlLnB1c2goe3RvcGljOnQsdHlwZToic3ViIixwYXlsb2FkOiIiLHNpbGVudDohMH0pKSx0aGlzLl9zdWJzY3JpcHRpb25zPXRoaXMub3B0cy5zdWJzY3JpcHRpb25zfHxbXX1fc2V0VG9RdWV1ZSh0KXt0aGlzLl9xdWV1ZS5wdXNoKHQpfV9wdXNoUXVldWUoKXt0aGlzLl9xdWV1ZS5mb3JFYWNoKHQ9PnRoaXMuX3NvY2tldFNlbmQodCkpLHRoaXMuX3F1ZXVlPVtdfX19KS5jYWxsKHRoaXMscig2KSl9LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5hPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5fZXZlbnRFbWl0dGVycz1bXSwidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmdm9pZCAwIT09d2luZG93LmFkZEV2ZW50TGlzdGVuZXImJih3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigib25saW5lIiwoKT0+dGhpcy50cmlnZ2VyKCJvbmxpbmUiKSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9mZmxpbmUiLCgpPT50aGlzLnRyaWdnZXIoIm9mZmxpbmUiKSkpfW9uKHQsZSl7dGhpcy5fZXZlbnRFbWl0dGVycy5wdXNoKHtldmVudDp0LGNhbGxiYWNrOmV9KX10cmlnZ2VyKHQpe2xldCBlPVtdO3QmJihlPXRoaXMuX2V2ZW50RW1pdHRlcnMuZmlsdGVyKGU9PmUuZXZlbnQ9PT10KSksZS5mb3JFYWNoKHQ9Pnt0LmNhbGxiYWNrKCl9KX19fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksaT0ifiI7ZnVuY3Rpb24gbygpe31mdW5jdGlvbiBzKHQsZSxyKXt0aGlzLmZuPXQsdGhpcy5jb250ZXh0PWUsdGhpcy5vbmNlPXJ8fCExfWZ1bmN0aW9uIGEodCxlLHIsbixvKXtpZigiZnVuY3Rpb24iIT10eXBlb2Ygcil0aHJvdyBuZXcgVHlwZUVycm9yKCJUaGUgbGlzdGVuZXIgbXVzdCBiZSBhIGZ1bmN0aW9uIik7dmFyIGE9bmV3IHMocixufHx0LG8pLHU9aT9pK2U6ZTtyZXR1cm4gdC5fZXZlbnRzW3VdP3QuX2V2ZW50c1t1XS5mbj90Ll9ldmVudHNbdV09W3QuX2V2ZW50c1t1XSxhXTp0Ll9ldmVudHNbdV0ucHVzaChhKToodC5fZXZlbnRzW3VdPWEsdC5fZXZlbnRzQ291bnQrKyksdH1mdW5jdGlvbiB1KHQsZSl7MD09LS10Ll9ldmVudHNDb3VudD90Ll9ldmVudHM9bmV3IG86ZGVsZXRlIHQuX2V2ZW50c1tlXX1mdW5jdGlvbiBjKCl7dGhpcy5fZXZlbnRzPW5ldyBvLHRoaXMuX2V2ZW50c0NvdW50PTB9T2JqZWN0LmNyZWF0ZSYmKG8ucHJvdG90eXBlPU9iamVjdC5jcmVhdGUobnVsbCksKG5ldyBvKS5fX3Byb3RvX198fChpPSExKSksYy5wcm90b3R5cGUuZXZlbnROYW1lcz1mdW5jdGlvbigpe3ZhciB0LGUscj1bXTtpZigwPT09dGhpcy5fZXZlbnRzQ291bnQpcmV0dXJuIHI7Zm9yKGUgaW4gdD10aGlzLl9ldmVudHMpbi5jYWxsKHQsZSkmJnIucHVzaChpP2Uuc2xpY2UoMSk6ZSk7cmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHM/ci5jb25jYXQoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyh0KSk6cn0sYy5wcm90b3R5cGUubGlzdGVuZXJzPWZ1bmN0aW9uKHQpe3ZhciBlPWk/aSt0OnQscj10aGlzLl9ldmVudHNbZV07aWYoIXIpcmV0dXJuW107aWYoci5mbilyZXR1cm5bci5mbl07Zm9yKHZhciBuPTAsbz1yLmxlbmd0aCxzPW5ldyBBcnJheShvKTtuPG87bisrKXNbbl09cltuXS5mbjtyZXR1cm4gc30sYy5wcm90b3R5cGUubGlzdGVuZXJDb3VudD1mdW5jdGlvbih0KXt2YXIgZT1pP2krdDp0LHI9dGhpcy5fZXZlbnRzW2VdO3JldHVybiByP3IuZm4/MTpyLmxlbmd0aDowfSxjLnByb3RvdHlwZS5lbWl0PWZ1bmN0aW9uKHQsZSxyLG4sbyxzKXt2YXIgYT1pP2krdDp0O2lmKCF0aGlzLl9ldmVudHNbYV0pcmV0dXJuITE7dmFyIHUsYyxmPXRoaXMuX2V2ZW50c1thXSxoPWFyZ3VtZW50cy5sZW5ndGg7aWYoZi5mbil7c3dpdGNoKGYub25jZSYmdGhpcy5yZW1vdmVMaXN0ZW5lcih0LGYuZm4sdm9pZCAwLCEwKSxoKXtjYXNlIDE6cmV0dXJuIGYuZm4uY2FsbChmLmNvbnRleHQpLCEwO2Nhc2UgMjpyZXR1cm4gZi5mbi5jYWxsKGYuY29udGV4dCxlKSwhMDtjYXNlIDM6cmV0dXJuIGYuZm4uY2FsbChmLmNvbnRleHQsZSxyKSwhMDtjYXNlIDQ6cmV0dXJuIGYuZm4uY2FsbChmLmNvbnRleHQsZSxyLG4pLCEwO2Nhc2UgNTpyZXR1cm4gZi5mbi5jYWxsKGYuY29udGV4dCxlLHIsbixvKSwhMDtjYXNlIDY6cmV0dXJuIGYuZm4uY2FsbChmLmNvbnRleHQsZSxyLG4sbyxzKSwhMH1mb3IoYz0xLHU9bmV3IEFycmF5KGgtMSk7YzxoO2MrKyl1W2MtMV09YXJndW1lbnRzW2NdO2YuZm4uYXBwbHkoZi5jb250ZXh0LHUpfWVsc2V7dmFyIGwsZD1mLmxlbmd0aDtmb3IoYz0wO2M8ZDtjKyspc3dpdGNoKGZbY10ub25jZSYmdGhpcy5yZW1vdmVMaXN0ZW5lcih0LGZbY10uZm4sdm9pZCAwLCEwKSxoKXtjYXNlIDE6ZltjXS5mbi5jYWxsKGZbY10uY29udGV4dCk7YnJlYWs7Y2FzZSAyOmZbY10uZm4uY2FsbChmW2NdLmNvbnRleHQsZSk7YnJlYWs7Y2FzZSAzOmZbY10uZm4uY2FsbChmW2NdLmNvbnRleHQsZSxyKTticmVhaztjYXNlIDQ6ZltjXS5mbi5jYWxsKGZbY10uY29udGV4dCxlLHIsbik7YnJlYWs7ZGVmYXVsdDppZighdSlmb3IobD0xLHU9bmV3IEFycmF5KGgtMSk7bDxoO2wrKyl1W2wtMV09YXJndW1lbnRzW2xdO2ZbY10uZm4uYXBwbHkoZltjXS5jb250ZXh0LHUpfX1yZXR1cm4hMH0sYy5wcm90b3R5cGUub249ZnVuY3Rpb24odCxlLHIpe3JldHVybiBhKHRoaXMsdCxlLHIsITEpfSxjLnByb3RvdHlwZS5vbmNlPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gYSh0aGlzLHQsZSxyLCEwKX0sYy5wcm90b3R5cGUucmVtb3ZlTGlzdGVuZXI9ZnVuY3Rpb24odCxlLHIsbil7dmFyIG89aT9pK3Q6dDtpZighdGhpcy5fZXZlbnRzW29dKXJldHVybiB0aGlzO2lmKCFlKXJldHVybiB1KHRoaXMsbyksdGhpczt2YXIgcz10aGlzLl9ldmVudHNbb107aWYocy5mbilzLmZuIT09ZXx8biYmIXMub25jZXx8ciYmcy5jb250ZXh0IT09cnx8dSh0aGlzLG8pO2Vsc2V7Zm9yKHZhciBhPTAsYz1bXSxmPXMubGVuZ3RoO2E8ZjthKyspKHNbYV0uZm4hPT1lfHxuJiYhc1thXS5vbmNlfHxyJiZzW2FdLmNvbnRleHQhPT1yKSYmYy5wdXNoKHNbYV0pO2MubGVuZ3RoP3RoaXMuX2V2ZW50c1tvXT0xPT09Yy5sZW5ndGg/Y1swXTpjOnUodGhpcyxvKX1yZXR1cm4gdGhpc30sYy5wcm90b3R5cGUucmVtb3ZlQWxsTGlzdGVuZXJzPWZ1bmN0aW9uKHQpe3ZhciBlO3JldHVybiB0PyhlPWk/aSt0OnQsdGhpcy5fZXZlbnRzW2VdJiZ1KHRoaXMsZSkpOih0aGlzLl9ldmVudHM9bmV3IG8sdGhpcy5fZXZlbnRzQ291bnQ9MCksdGhpc30sYy5wcm90b3R5cGUub2ZmPWMucHJvdG90eXBlLnJlbW92ZUxpc3RlbmVyLGMucHJvdG90eXBlLmFkZExpc3RlbmVyPWMucHJvdG90eXBlLm9uLGMucHJlZml4ZWQ9aSxjLkV2ZW50RW1pdHRlcj1jLHQuZXhwb3J0cz1jfSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxmdW5jdGlvbih0KXtmb3IodmFyIHIgaW4gdCllLmhhc093blByb3BlcnR5KHIpfHwoZVtyXT10W3JdKX0ocigyMDMpKTt2YXIgbj1yKDU2KTtlLlhNTEh0dHBSZXF1ZXN0RXZlbnRUYXJnZXQ9bi5YTUxIdHRwUmVxdWVzdEV2ZW50VGFyZ2V0fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTtjb25zdCBuPXIoMTY3KSxpPW4uX19pbXBvcnREZWZhdWx0KHIoMzc0KSksbz1uLl9faW1wb3J0RGVmYXVsdChyKDE3OCkpLHM9bi5fX2ltcG9ydERlZmF1bHQocigyMDIpKSxhPXIoMSksdT1yKDIyNCksYz1yKDMzNCksZj1yKDMzOCksaD1yKDMzOSksbD1yKDM1MyksZD1yKDM2OSkscD1yKDM3Mik7ZS5kZWZhdWx0PWNsYXNzIGV4dGVuZHMgdXtjb25zdHJ1Y3Rvcih0KXtpZihzdXBlcih7cG9sbGluZ0ludGVydmFsOnQucG9sbGluZ0ludGVydmFsfHw4ZTN9KSx0aGlzLmJyaWRnZT0iaHR0cHM6Ly9icmlkZ2Uud2FsbGV0Y29ubmVjdC5vcmciLHRoaXMucXJjb2RlPSEwLHRoaXMucXJjb2RlTW9kYWw9by5kZWZhdWx0LHRoaXMucXJjb2RlTW9kYWxPcHRpb25zPXZvaWQgMCx0aGlzLnJwYz1udWxsLHRoaXMuaW5mdXJhSWQ9IiIsdGhpcy5odHRwPW51bGwsdGhpcy5pc0Nvbm5lY3Rpbmc9ITEsdGhpcy5jb25uZWN0ZWQ9ITEsdGhpcy5jb25uZWN0Q2FsbGJhY2tzPVtdLHRoaXMuYWNjb3VudHM9W10sdGhpcy5jaGFpbklkPTEsdGhpcy5ycGNVcmw9IiIsdGhpcy5lbmFibGU9KCk9Pm4uX19hd2FpdGVyKHRoaXMsdm9pZCAwLHZvaWQgMCwoZnVuY3Rpb24qKCl7Y29uc3QgdD15aWVsZCB0aGlzLmdldFdhbGxldENvbm5lY3RvcigpO2lmKHQpcmV0dXJuIHRoaXMuc3RhcnQoKSx0aGlzLnN1YnNjcmliZVdhbGxldENvbm5lY3RvcigpLHQuYWNjb3VudHM7dGhyb3cgbmV3IEVycm9yKCJGYWlsZWQgdG8gY29ubmVjdCB0byBXYWxsZUNvbm5lY3QiKX0pKSx0aGlzLnJlcXVlc3Q9dD0+bi5fX2F3YWl0ZXIodGhpcyx2b2lkIDAsdm9pZCAwLChmdW5jdGlvbiooKXtyZXR1cm4gdGhpcy5zZW5kKHQpfSkpLHRoaXMuc2VuZD0odCxlKT0+bi5fX2F3YWl0ZXIodGhpcyx2b2lkIDAsdm9pZCAwLChmdW5jdGlvbiooKXt2YXIgcjtpZigic3RyaW5nIj09dHlwZW9mIHQpe2NvbnN0IHI9dDtsZXQgbj1lO3JldHVybiJwZXJzb25hbF9zaWduIj09PXImJihuPSgwLGEucGFyc2VQZXJzb25hbFNpZ24pKG4pKSx0aGlzLnNlbmRBc3luY1Byb21pc2UocixuKX1pZigicGVyc29uYWxfc2lnbiI9PT0odD1PYmplY3QuYXNzaWduKHtpZDooMCxhLnBheWxvYWRJZCkoKSxqc29ucnBjOiIyLjAifSx0KSkubWV0aG9kJiYodC5wYXJhbXM9KDAsYS5wYXJzZVBlcnNvbmFsU2lnbikodC5wYXJhbXMpKSwhZSl7aWYoImV0aF9zaWduVHlwZWREYXRhX3Y0Ij09PXQubWV0aG9kJiYiTWV0YU1hc2siPT09KG51bGw9PT0ocj10aGlzLndhbGxldE1ldGEpfHx2b2lkIDA9PT1yP3ZvaWQgMDpyLm5hbWUpKXtjb25zdHtyZXN1bHQ6ZX09eWllbGQgdGhpcy5oYW5kbGVPdGhlclJlcXVlc3RzKHQpO3JldHVybiBlfXJldHVybiB0aGlzLnNlbmRBc3luY1Byb21pc2UodC5tZXRob2QsdC5wYXJhbXMpfXRoaXMuc2VuZEFzeW5jKHQsZSl9KSksdGhpcy5vbkNvbm5lY3Q9dD0+e3RoaXMuY29ubmVjdENhbGxiYWNrcy5wdXNoKHQpfSx0aGlzLnRyaWdnZXJDb25uZWN0PXQ9Pnt0aGlzLmNvbm5lY3RDYWxsYmFja3MmJnRoaXMuY29ubmVjdENhbGxiYWNrcy5sZW5ndGgmJnRoaXMuY29ubmVjdENhbGxiYWNrcy5mb3JFYWNoKGU9PmUodCkpfSx0aGlzLmJyaWRnZT10LmNvbm5lY3Rvcj90LmNvbm5lY3Rvci5icmlkZ2U6dC5icmlkZ2V8fCJodHRwczovL2JyaWRnZS53YWxsZXRjb25uZWN0Lm9yZyIsdGhpcy5xcmNvZGU9dm9pZCAwPT09dC5xcmNvZGV8fCExIT09dC5xcmNvZGUsdGhpcy5xcmNvZGVNb2RhbD10LnFyY29kZU1vZGFsfHx0aGlzLnFyY29kZU1vZGFsLHRoaXMucXJjb2RlTW9kYWxPcHRpb25zPXQucXJjb2RlTW9kYWxPcHRpb25zLHRoaXMud2M9dC5jb25uZWN0b3J8fG5ldyBpLmRlZmF1bHQoe2JyaWRnZTp0aGlzLmJyaWRnZSxxcmNvZGVNb2RhbDp0aGlzLnFyY29kZT90aGlzLnFyY29kZU1vZGFsOnZvaWQgMCxxcmNvZGVNb2RhbE9wdGlvbnM6dGhpcy5xcmNvZGVNb2RhbE9wdGlvbnMsc3RvcmFnZUlkOm51bGw9PXQ/dm9pZCAwOnQuc3RvcmFnZUlkLHNpZ25pbmdNZXRob2RzOm51bGw9PXQ/dm9pZCAwOnQuc2lnbmluZ01ldGhvZHMsY2xpZW50TWV0YTpudWxsPT10P3ZvaWQgMDp0LmNsaWVudE1ldGF9KSx0aGlzLnJwYz10LnJwY3x8bnVsbCwhKHRoaXMucnBjfHx0LmluZnVyYUlkJiYic3RyaW5nIj09dHlwZW9mIHQuaW5mdXJhSWQmJnQuaW5mdXJhSWQudHJpbSgpKSl0aHJvdyBuZXcgRXJyb3IoIk1pc3Npbmcgb25lIG9mIHRoZSByZXF1aXJlZCBwYXJhbWV0ZXJzOiBycGMgb3IgaW5mdXJhSWQiKTt0aGlzLmluZnVyYUlkPXQuaW5mdXJhSWR8fCIiLHRoaXMuY2hhaW5JZD0obnVsbD09dD92b2lkIDA6dC5jaGFpbklkKXx8dGhpcy5jaGFpbklkLHRoaXMuaW5pdGlhbGl6ZSgpfWdldCBpc1dhbGxldENvbm5lY3QoKXtyZXR1cm4hMH1nZXQgY29ubmVjdG9yKCl7cmV0dXJuIHRoaXMud2N9Z2V0IHdhbGxldE1ldGEoKXtyZXR1cm4gdGhpcy53Yy5wZWVyTWV0YX1kaXNjb25uZWN0KCl7cmV0dXJuIG4uX19hd2FpdGVyKHRoaXMsdm9pZCAwLHZvaWQgMCwoZnVuY3Rpb24qKCl7dGhpcy5jbG9zZSgpfSkpfWNsb3NlKCl7cmV0dXJuIG4uX19hd2FpdGVyKHRoaXMsdm9pZCAwLHZvaWQgMCwoZnVuY3Rpb24qKCl7Y29uc3QgdD15aWVsZCB0aGlzLmdldFdhbGxldENvbm5lY3Rvcih7ZGlzYWJsZVNlc3Npb25DcmVhdGlvbjohMH0pO3lpZWxkIHQua2lsbFNlc3Npb24oKSx5aWVsZCB0aGlzLm9uRGlzY29ubmVjdCgpfSkpfWhhbmRsZVJlcXVlc3QodCl7cmV0dXJuIG4uX19hd2FpdGVyKHRoaXMsdm9pZCAwLHZvaWQgMCwoZnVuY3Rpb24qKCl7dHJ5e2xldCBlLHI9bnVsbDtjb25zdCBuPXlpZWxkIHRoaXMuZ2V0V2FsbGV0Q29ubmVjdG9yKCk7c3dpdGNoKHQubWV0aG9kKXtjYXNlIndjX2tpbGxTZXNzaW9uIjp5aWVsZCB0aGlzLmNsb3NlKCkscj1udWxsO2JyZWFrO2Nhc2UiZXRoX2FjY291bnRzIjpyPW4uYWNjb3VudHM7YnJlYWs7Y2FzZSJldGhfY29pbmJhc2UiOnI9bi5hY2NvdW50c1swXTticmVhaztjYXNlImV0aF9jaGFpbklkIjpjYXNlIm5ldF92ZXJzaW9uIjpyPW4uY2hhaW5JZDticmVhaztjYXNlImV0aF91bmluc3RhbGxGaWx0ZXIiOnRoaXMuc2VuZEFzeW5jKHQsdD0+dCkscj0hMDticmVhaztkZWZhdWx0OmU9eWllbGQgdGhpcy5oYW5kbGVPdGhlclJlcXVlc3RzKHQpfXJldHVybiBlfHx0aGlzLmZvcm1hdFJlc3BvbnNlKHQscil9Y2F0Y2godCl7dGhyb3cgdGhpcy5lbWl0KCJlcnJvciIsdCksdH19KSl9aGFuZGxlT3RoZXJSZXF1ZXN0cyh0KXtyZXR1cm4gbi5fX2F3YWl0ZXIodGhpcyx2b2lkIDAsdm9pZCAwLChmdW5jdGlvbiooKXtpZighYS5zaWduaW5nTWV0aG9kcy5pbmNsdWRlcyh0Lm1ldGhvZCkmJnQubWV0aG9kLnN0YXJ0c1dpdGgoImV0aF8iKSlyZXR1cm4gdGhpcy5oYW5kbGVSZWFkUmVxdWVzdHModCk7Y29uc3QgZT15aWVsZCB0aGlzLmdldFdhbGxldENvbm5lY3RvcigpLHI9eWllbGQgZS5zZW5kQ3VzdG9tUmVxdWVzdCh0KTtyZXR1cm4gdGhpcy5mb3JtYXRSZXNwb25zZSh0LHIpfSkpfWhhbmRsZVJlYWRSZXF1ZXN0cyh0KXtyZXR1cm4gbi5fX2F3YWl0ZXIodGhpcyx2b2lkIDAsdm9pZCAwLChmdW5jdGlvbiooKXtpZighdGhpcy5odHRwKXtjb25zdCB0PW5ldyBFcnJvcigiSFRUUCBDb25uZWN0aW9uIG5vdCBhdmFpbGFibGUiKTt0aHJvdyB0aGlzLmVtaXQoImVycm9yIix0KSx0fXJldHVybiB0aGlzLmh0dHAuc2VuZCh0KX0pKX1mb3JtYXRSZXNwb25zZSh0LGUpe3JldHVybntpZDp0LmlkLGpzb25ycGM6dC5qc29ucnBjLHJlc3VsdDplfX1nZXRXYWxsZXRDb25uZWN0b3IodD17fSl7Y29uc3R7ZGlzYWJsZVNlc3Npb25DcmVhdGlvbjplPSExfT10O3JldHVybiBuZXcgUHJvbWlzZSgodCxyKT0+e2NvbnN0IG49dGhpcy53Yzt0aGlzLmlzQ29ubmVjdGluZz90aGlzLm9uQ29ubmVjdChlPT50KGUpKTpuLmNvbm5lY3RlZHx8ZT8odGhpcy5jb25uZWN0ZWR8fCh0aGlzLmNvbm5lY3RlZD0hMCx0aGlzLnVwZGF0ZVN0YXRlKG4uc2Vzc2lvbikpLHQobikpOih0aGlzLmlzQ29ubmVjdGluZz0hMCxuLm9uKCJtb2RhbF9jbG9zZWQiLCgpPT57cihuZXcgRXJyb3IoIlVzZXIgY2xvc2VkIG1vZGFsIikpfSksbi5jcmVhdGVTZXNzaW9uKHtjaGFpbklkOnRoaXMuY2hhaW5JZH0pLnRoZW4oKCk9PntuLm9uKCJjb25uZWN0IiwoZSxpKT0+e2lmKGUpcmV0dXJuIHRoaXMuaXNDb25uZWN0aW5nPSExLHIoZSk7dGhpcy5pc0Nvbm5lY3Rpbmc9ITEsdGhpcy5jb25uZWN0ZWQ9ITAsaSYmdGhpcy51cGRhdGVTdGF0ZShpLnBhcmFtc1swXSksdGhpcy5lbWl0KCJjb25uZWN0IiksdGhpcy50cmlnZ2VyQ29ubmVjdChuKSx0KG4pfSl9KS5jYXRjaCh0PT57dGhpcy5pc0Nvbm5lY3Rpbmc9ITEscih0KX0pKX0pfXN1YnNjcmliZVdhbGxldENvbm5lY3Rvcigpe3JldHVybiBuLl9fYXdhaXRlcih0aGlzLHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKigpe2NvbnN0IHQ9eWllbGQgdGhpcy5nZXRXYWxsZXRDb25uZWN0b3IoKTt0Lm9uKCJkaXNjb25uZWN0Iix0PT57dD90aGlzLmVtaXQoImVycm9yIix0KTp0aGlzLm9uRGlzY29ubmVjdCgpfSksdC5vbigic2Vzc2lvbl91cGRhdGUiLCh0LGUpPT57dD90aGlzLmVtaXQoImVycm9yIix0KTp0aGlzLnVwZGF0ZVN0YXRlKGUucGFyYW1zWzBdKX0pfSkpfW9uRGlzY29ubmVjdCgpe3JldHVybiBuLl9fYXdhaXRlcih0aGlzLHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKigpe3lpZWxkIHRoaXMuc3RvcCgpLHRoaXMuZW1pdCgiY2xvc2UiLDFlMywiQ29ubmVjdGlvbiBjbG9zZWQiKSx0aGlzLmVtaXQoImRpc2Nvbm5lY3QiLDFlMywiQ29ubmVjdGlvbiBkaXNjb25uZWN0ZWQiKSx0aGlzLmNvbm5lY3RlZD0hMX0pKX11cGRhdGVTdGF0ZSh0KXtyZXR1cm4gbi5fX2F3YWl0ZXIodGhpcyx2b2lkIDAsdm9pZCAwLChmdW5jdGlvbiooKXtjb25zdHthY2NvdW50czplLGNoYWluSWQ6cixuZXR3b3JrSWQ6bixycGNVcmw6aX09dDsoIXRoaXMuYWNjb3VudHN8fGUmJnRoaXMuYWNjb3VudHMhPT1lKSYmKHRoaXMuYWNjb3VudHM9ZSx0aGlzLmVtaXQoImFjY291bnRzQ2hhbmdlZCIsZSkpLCghdGhpcy5jaGFpbklkfHxyJiZ0aGlzLmNoYWluSWQhPT1yKSYmKHRoaXMuY2hhaW5JZD1yLHRoaXMuZW1pdCgiY2hhaW5DaGFuZ2VkIixyKSksKCF0aGlzLm5ldHdvcmtJZHx8biYmdGhpcy5uZXR3b3JrSWQhPT1uKSYmKHRoaXMubmV0d29ya0lkPW4sdGhpcy5lbWl0KCJuZXR3b3JrQ2hhbmdlZCIsbikpLHRoaXMudXBkYXRlUnBjVXJsKHRoaXMuY2hhaW5JZCxpfHwiIil9KSl9dXBkYXRlUnBjVXJsKHQsZT0iIil7Y29uc3Qgcj17aW5mdXJhSWQ6dGhpcy5pbmZ1cmFJZCxjdXN0b206dGhpcy5ycGN8fHZvaWQgMH07KGU9ZXx8KDAsYS5nZXRScGNVcmwpKHQscikpPyh0aGlzLnJwY1VybD1lLHRoaXMudXBkYXRlSHR0cENvbm5lY3Rpb24oKSk6dGhpcy5lbWl0KCJlcnJvciIsbmV3IEVycm9yKCJObyBSUEMgVXJsIGF2YWlsYWJsZSBmb3IgY2hhaW5JZDogIit0KSl9dXBkYXRlSHR0cENvbm5lY3Rpb24oKXt0aGlzLnJwY1VybCYmKHRoaXMuaHR0cD1uZXcgcy5kZWZhdWx0KHRoaXMucnBjVXJsKSx0aGlzLmh0dHAub24oInBheWxvYWQiLHQ9PnRoaXMuZW1pdCgicGF5bG9hZCIsdCkpLHRoaXMuaHR0cC5vbigiZXJyb3IiLHQ9PnRoaXMuZW1pdCgiZXJyb3IiLHQpKSl9c2VuZEFzeW5jUHJvbWlzZSh0LGUpe3JldHVybiBuZXcgUHJvbWlzZSgocixuKT0+e3RoaXMuc2VuZEFzeW5jKHtpZDooMCxhLnBheWxvYWRJZCkoKSxqc29ucnBjOiIyLjAiLG1ldGhvZDp0LHBhcmFtczplfHxbXX0sKHQsZSk9Pnt0P24odCk6cihlLnJlc3VsdCl9KX0pfWluaXRpYWxpemUoKXt0aGlzLnVwZGF0ZVJwY1VybCh0aGlzLmNoYWluSWQpLHRoaXMuYWRkUHJvdmlkZXIobmV3IGYoe2V0aF9oYXNocmF0ZToiMHgwMCIsZXRoX21pbmluZzohMSxldGhfc3luY2luZzohMCxuZXRfbGlzdGVuaW5nOiEwLHdlYjNfY2xpZW50VmVyc2lvbjoiV2FsbGV0Q29ubmVjdC92MS54LngvamF2YXNjcmlwdCJ9KSksdGhpcy5hZGRQcm92aWRlcihuZXcgYyksdGhpcy5hZGRQcm92aWRlcihuZXcgcCksdGhpcy5hZGRQcm92aWRlcihuZXcgaCksdGhpcy5hZGRQcm92aWRlcihuZXcgZCksdGhpcy5hZGRQcm92aWRlcihuZXcgbCh0aGlzLmNvbmZpZ1dhbGxldCgpKSksdGhpcy5hZGRQcm92aWRlcih7aGFuZGxlUmVxdWVzdDoodCxlLHIpPT5uLl9fYXdhaXRlcih0aGlzLHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKigpe3RyeXtjb25zdHtlcnJvcjplLHJlc3VsdDpufT15aWVsZCB0aGlzLmhhbmRsZVJlcXVlc3QodCk7cihlLG4pfWNhdGNoKHQpe3IodCl9fSkpLHNldEVuZ2luZTp0PT50fSl9Y29uZmlnV2FsbGV0KCl7cmV0dXJue2dldEFjY291bnRzOnQ9Pm4uX19hd2FpdGVyKHRoaXMsdm9pZCAwLHZvaWQgMCwoZnVuY3Rpb24qKCl7dHJ5e2NvbnN0IGU9KHlpZWxkIHRoaXMuZ2V0V2FsbGV0Q29ubmVjdG9yKCkpLmFjY291bnRzO2UmJmUubGVuZ3RoP3QobnVsbCxlKTp0KG5ldyBFcnJvcigiRmFpbGVkIHRvIGdldCBhY2NvdW50cyIpKX1jYXRjaChlKXt0KGUpfX0pKSxwcm9jZXNzTWVzc2FnZToodCxlKT0+bi5fX2F3YWl0ZXIodGhpcyx2b2lkIDAsdm9pZCAwLChmdW5jdGlvbiooKXt0cnl7Y29uc3Qgcj15aWVsZCB0aGlzLmdldFdhbGxldENvbm5lY3RvcigpLG49eWllbGQgci5zaWduTWVzc2FnZShbdC5mcm9tLHQuZGF0YV0pO2UobnVsbCxuKX1jYXRjaCh0KXtlKHQpfX0pKSxwcm9jZXNzUGVyc29uYWxNZXNzYWdlOih0LGUpPT5uLl9fYXdhaXRlcih0aGlzLHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKigpe3RyeXtjb25zdCByPXlpZWxkIHRoaXMuZ2V0V2FsbGV0Q29ubmVjdG9yKCksbj15aWVsZCByLnNpZ25QZXJzb25hbE1lc3NhZ2UoW3QuZGF0YSx0LmZyb21dKTtlKG51bGwsbil9Y2F0Y2godCl7ZSh0KX19KSkscHJvY2Vzc1NpZ25UcmFuc2FjdGlvbjoodCxlKT0+bi5fX2F3YWl0ZXIodGhpcyx2b2lkIDAsdm9pZCAwLChmdW5jdGlvbiooKXt0cnl7Y29uc3Qgcj15aWVsZCB0aGlzLmdldFdhbGxldENvbm5lY3RvcigpLG49eWllbGQgci5zaWduVHJhbnNhY3Rpb24odCk7ZShudWxsLG4pfWNhdGNoKHQpe2UodCl9fSkpLHByb2Nlc3NUcmFuc2FjdGlvbjoodCxlKT0+bi5fX2F3YWl0ZXIodGhpcyx2b2lkIDAsdm9pZCAwLChmdW5jdGlvbiooKXt0cnl7Y29uc3Qgcj15aWVsZCB0aGlzLmdldFdhbGxldENvbm5lY3RvcigpLG49eWllbGQgci5zZW5kVHJhbnNhY3Rpb24odCk7ZShudWxsLG4pfWNhdGNoKHQpe2UodCl9fSkpLHByb2Nlc3NUeXBlZE1lc3NhZ2U6KHQsZSk9Pm4uX19hd2FpdGVyKHRoaXMsdm9pZCAwLHZvaWQgMCwoZnVuY3Rpb24qKCl7dHJ5e2NvbnN0IHI9eWllbGQgdGhpcy5nZXRXYWxsZXRDb25uZWN0b3IoKSxuPXlpZWxkIHIuc2lnblR5cGVkRGF0YShbdC5mcm9tLHQuZGF0YV0pO2UobnVsbCxuKX1jYXRjaCh0KXtlKHQpfX0pKX19fX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLnIoZSksci5kKGUsIl9fZXh0ZW5kcyIsKGZ1bmN0aW9uKCl7cmV0dXJuIGl9KSksci5kKGUsIl9fYXNzaWduIiwoZnVuY3Rpb24oKXtyZXR1cm4gb30pKSxyLmQoZSwiX19yZXN0IiwoZnVuY3Rpb24oKXtyZXR1cm4gc30pKSxyLmQoZSwiX19kZWNvcmF0ZSIsKGZ1bmN0aW9uKCl7cmV0dXJuIGF9KSksci5kKGUsIl9fcGFyYW0iLChmdW5jdGlvbigpe3JldHVybiB1fSkpLHIuZChlLCJfX21ldGFkYXRhIiwoZnVuY3Rpb24oKXtyZXR1cm4gY30pKSxyLmQoZSwiX19hd2FpdGVyIiwoZnVuY3Rpb24oKXtyZXR1cm4gZn0pKSxyLmQoZSwiX19nZW5lcmF0b3IiLChmdW5jdGlvbigpe3JldHVybiBofSkpLHIuZChlLCJfX2V4cG9ydFN0YXIiLChmdW5jdGlvbigpe3JldHVybiBsfSkpLHIuZChlLCJfX3ZhbHVlcyIsKGZ1bmN0aW9uKCl7cmV0dXJuIGR9KSksci5kKGUsIl9fcmVhZCIsKGZ1bmN0aW9uKCl7cmV0dXJuIHB9KSksci5kKGUsIl9fc3ByZWFkIiwoZnVuY3Rpb24oKXtyZXR1cm4gbX0pKSxyLmQoZSwiX19hd2FpdCIsKGZ1bmN0aW9uKCl7cmV0dXJuIGd9KSksci5kKGUsIl9fYXN5bmNHZW5lcmF0b3IiLChmdW5jdGlvbigpe3JldHVybiBifSkpLHIuZChlLCJfX2FzeW5jRGVsZWdhdG9yIiwoZnVuY3Rpb24oKXtyZXR1cm4geX0pKSxyLmQoZSwiX19hc3luY1ZhbHVlcyIsKGZ1bmN0aW9uKCl7cmV0dXJuIHZ9KSksci5kKGUsIl9fbWFrZVRlbXBsYXRlT2JqZWN0IiwoZnVuY3Rpb24oKXtyZXR1cm4gX30pKSxyLmQoZSwiX19pbXBvcnRTdGFyIiwoZnVuY3Rpb24oKXtyZXR1cm4gd30pKSxyLmQoZSwiX19pbXBvcnREZWZhdWx0IiwoZnVuY3Rpb24oKXtyZXR1cm4gTX0pKTsKLyohICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCkNvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgpMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlCnRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlCkxpY2Vuc2UgYXQgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wCgpUSElTIENPREUgSVMgUFJPVklERUQgT04gQU4gKkFTIElTKiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZCktJTkQsIEVJVEhFUiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBXSVRIT1VUIExJTUlUQVRJT04gQU5ZIElNUExJRUQKV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIFRJVExFLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSwKTUVSQ0hBTlRBQkxJVFkgT1IgTk9OLUlORlJJTkdFTUVOVC4KClNlZSB0aGUgQXBhY2hlIFZlcnNpb24gMi4wIExpY2Vuc2UgZm9yIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucwphbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICovCnZhciBuPWZ1bmN0aW9uKHQsZSl7cmV0dXJuKG49T2JqZWN0LnNldFByb3RvdHlwZU9mfHx7X19wcm90b19fOltdfWluc3RhbmNlb2YgQXJyYXkmJmZ1bmN0aW9uKHQsZSl7dC5fX3Byb3RvX189ZX18fGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByIGluIGUpZS5oYXNPd25Qcm9wZXJ0eShyKSYmKHRbcl09ZVtyXSl9KSh0LGUpfTtmdW5jdGlvbiBpKHQsZSl7ZnVuY3Rpb24gcigpe3RoaXMuY29uc3RydWN0b3I9dH1uKHQsZSksdC5wcm90b3R5cGU9bnVsbD09PWU/T2JqZWN0LmNyZWF0ZShlKTooci5wcm90b3R5cGU9ZS5wcm90b3R5cGUsbmV3IHIpfXZhciBvPWZ1bmN0aW9uKCl7cmV0dXJuKG89T2JqZWN0LmFzc2lnbnx8ZnVuY3Rpb24odCl7Zm9yKHZhciBlLHI9MSxuPWFyZ3VtZW50cy5sZW5ndGg7cjxuO3IrKylmb3IodmFyIGkgaW4gZT1hcmd1bWVudHNbcl0pT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsaSkmJih0W2ldPWVbaV0pO3JldHVybiB0fSkuYXBwbHkodGhpcyxhcmd1bWVudHMpfTtmdW5jdGlvbiBzKHQsZSl7dmFyIHI9e307Zm9yKHZhciBuIGluIHQpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsbikmJmUuaW5kZXhPZihuKTwwJiYocltuXT10W25dKTtpZihudWxsIT10JiYiZnVuY3Rpb24iPT10eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyl7dmFyIGk9MDtmb3Iobj1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHQpO2k8bi5sZW5ndGg7aSsrKWUuaW5kZXhPZihuW2ldKTwwJiYocltuW2ldXT10W25baV1dKX1yZXR1cm4gcn1mdW5jdGlvbiBhKHQsZSxyLG4pe3ZhciBpLG89YXJndW1lbnRzLmxlbmd0aCxzPW88Mz9lOm51bGw9PT1uP249T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLHIpOm47aWYoIm9iamVjdCI9PXR5cGVvZiBSZWZsZWN0JiYiZnVuY3Rpb24iPT10eXBlb2YgUmVmbGVjdC5kZWNvcmF0ZSlzPVJlZmxlY3QuZGVjb3JhdGUodCxlLHIsbik7ZWxzZSBmb3IodmFyIGE9dC5sZW5ndGgtMTthPj0wO2EtLSkoaT10W2FdKSYmKHM9KG88Mz9pKHMpOm8+Mz9pKGUscixzKTppKGUscikpfHxzKTtyZXR1cm4gbz4zJiZzJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxyLHMpLHN9ZnVuY3Rpb24gdSh0LGUpe3JldHVybiBmdW5jdGlvbihyLG4pe2UocixuLHQpfX1mdW5jdGlvbiBjKHQsZSl7aWYoIm9iamVjdCI9PXR5cGVvZiBSZWZsZWN0JiYiZnVuY3Rpb24iPT10eXBlb2YgUmVmbGVjdC5tZXRhZGF0YSlyZXR1cm4gUmVmbGVjdC5tZXRhZGF0YSh0LGUpfWZ1bmN0aW9uIGYodCxlLHIsbil7cmV0dXJuIG5ldyhyfHwocj1Qcm9taXNlKSkoKGZ1bmN0aW9uKGksbyl7ZnVuY3Rpb24gcyh0KXt0cnl7dShuLm5leHQodCkpfWNhdGNoKHQpe28odCl9fWZ1bmN0aW9uIGEodCl7dHJ5e3Uobi50aHJvdyh0KSl9Y2F0Y2godCl7byh0KX19ZnVuY3Rpb24gdSh0KXt0LmRvbmU/aSh0LnZhbHVlKTpuZXcgcigoZnVuY3Rpb24oZSl7ZSh0LnZhbHVlKX0pKS50aGVuKHMsYSl9dSgobj1uLmFwcGx5KHQsZXx8W10pKS5uZXh0KCkpfSkpfWZ1bmN0aW9uIGgodCxlKXt2YXIgcixuLGksbyxzPXtsYWJlbDowLHNlbnQ6ZnVuY3Rpb24oKXtpZigxJmlbMF0pdGhyb3cgaVsxXTtyZXR1cm4gaVsxXX0sdHJ5czpbXSxvcHM6W119O3JldHVybiBvPXtuZXh0OmEoMCksdGhyb3c6YSgxKSxyZXR1cm46YSgyKX0sImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmKG9bU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSksbztmdW5jdGlvbiBhKG8pe3JldHVybiBmdW5jdGlvbihhKXtyZXR1cm4gZnVuY3Rpb24obyl7aWYocil0aHJvdyBuZXcgVHlwZUVycm9yKCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuIik7Zm9yKDtzOyl0cnl7aWYocj0xLG4mJihpPTImb1swXT9uLnJldHVybjpvWzBdP24udGhyb3d8fCgoaT1uLnJldHVybikmJmkuY2FsbChuKSwwKTpuLm5leHQpJiYhKGk9aS5jYWxsKG4sb1sxXSkpLmRvbmUpcmV0dXJuIGk7c3dpdGNoKG49MCxpJiYobz1bMiZvWzBdLGkudmFsdWVdKSxvWzBdKXtjYXNlIDA6Y2FzZSAxOmk9bzticmVhaztjYXNlIDQ6cmV0dXJuIHMubGFiZWwrKyx7dmFsdWU6b1sxXSxkb25lOiExfTtjYXNlIDU6cy5sYWJlbCsrLG49b1sxXSxvPVswXTtjb250aW51ZTtjYXNlIDc6bz1zLm9wcy5wb3AoKSxzLnRyeXMucG9wKCk7Y29udGludWU7ZGVmYXVsdDppZighKGk9cy50cnlzLChpPWkubGVuZ3RoPjAmJmlbaS5sZW5ndGgtMV0pfHw2IT09b1swXSYmMiE9PW9bMF0pKXtzPTA7Y29udGludWV9aWYoMz09PW9bMF0mJighaXx8b1sxXT5pWzBdJiZvWzFdPGlbM10pKXtzLmxhYmVsPW9bMV07YnJlYWt9aWYoNj09PW9bMF0mJnMubGFiZWw8aVsxXSl7cy5sYWJlbD1pWzFdLGk9bzticmVha31pZihpJiZzLmxhYmVsPGlbMl0pe3MubGFiZWw9aVsyXSxzLm9wcy5wdXNoKG8pO2JyZWFrfWlbMl0mJnMub3BzLnBvcCgpLHMudHJ5cy5wb3AoKTtjb250aW51ZX1vPWUuY2FsbCh0LHMpfWNhdGNoKHQpe289WzYsdF0sbj0wfWZpbmFsbHl7cj1pPTB9aWYoNSZvWzBdKXRocm93IG9bMV07cmV0dXJue3ZhbHVlOm9bMF0/b1sxXTp2b2lkIDAsZG9uZTohMH19KFtvLGFdKX19fWZ1bmN0aW9uIGwodCxlKXtmb3IodmFyIHIgaW4gdCllLmhhc093blByb3BlcnR5KHIpfHwoZVtyXT10W3JdKX1mdW5jdGlvbiBkKHQpe3ZhciBlPSJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJnRbU3ltYm9sLml0ZXJhdG9yXSxyPTA7cmV0dXJuIGU/ZS5jYWxsKHQpOntuZXh0OmZ1bmN0aW9uKCl7cmV0dXJuIHQmJnI+PXQubGVuZ3RoJiYodD12b2lkIDApLHt2YWx1ZTp0JiZ0W3IrK10sZG9uZTohdH19fX1mdW5jdGlvbiBwKHQsZSl7dmFyIHI9ImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmdFtTeW1ib2wuaXRlcmF0b3JdO2lmKCFyKXJldHVybiB0O3ZhciBuLGksbz1yLmNhbGwodCkscz1bXTt0cnl7Zm9yKDsodm9pZCAwPT09ZXx8ZS0tID4wKSYmIShuPW8ubmV4dCgpKS5kb25lOylzLnB1c2gobi52YWx1ZSl9Y2F0Y2godCl7aT17ZXJyb3I6dH19ZmluYWxseXt0cnl7biYmIW4uZG9uZSYmKHI9by5yZXR1cm4pJiZyLmNhbGwobyl9ZmluYWxseXtpZihpKXRocm93IGkuZXJyb3J9fXJldHVybiBzfWZ1bmN0aW9uIG0oKXtmb3IodmFyIHQ9W10sZT0wO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspdD10LmNvbmNhdChwKGFyZ3VtZW50c1tlXSkpO3JldHVybiB0fWZ1bmN0aW9uIGcodCl7cmV0dXJuIHRoaXMgaW5zdGFuY2VvZiBnPyh0aGlzLnY9dCx0aGlzKTpuZXcgZyh0KX1mdW5jdGlvbiBiKHQsZSxyKXtpZighU3ltYm9sLmFzeW5jSXRlcmF0b3IpdGhyb3cgbmV3IFR5cGVFcnJvcigiU3ltYm9sLmFzeW5jSXRlcmF0b3IgaXMgbm90IGRlZmluZWQuIik7dmFyIG4saT1yLmFwcGx5KHQsZXx8W10pLG89W107cmV0dXJuIG49e30scygibmV4dCIpLHMoInRocm93IikscygicmV0dXJuIiksbltTeW1ib2wuYXN5bmNJdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30sbjtmdW5jdGlvbiBzKHQpe2lbdF0mJihuW3RdPWZ1bmN0aW9uKGUpe3JldHVybiBuZXcgUHJvbWlzZSgoZnVuY3Rpb24ocixuKXtvLnB1c2goW3QsZSxyLG5dKT4xfHxhKHQsZSl9KSl9KX1mdW5jdGlvbiBhKHQsZSl7dHJ5eyhyPWlbdF0oZSkpLnZhbHVlIGluc3RhbmNlb2YgZz9Qcm9taXNlLnJlc29sdmUoci52YWx1ZS52KS50aGVuKHUsYyk6ZihvWzBdWzJdLHIpfWNhdGNoKHQpe2Yob1swXVszXSx0KX12YXIgcn1mdW5jdGlvbiB1KHQpe2EoIm5leHQiLHQpfWZ1bmN0aW9uIGModCl7YSgidGhyb3ciLHQpfWZ1bmN0aW9uIGYodCxlKXt0KGUpLG8uc2hpZnQoKSxvLmxlbmd0aCYmYShvWzBdWzBdLG9bMF1bMV0pfX1mdW5jdGlvbiB5KHQpe3ZhciBlLHI7cmV0dXJuIGU9e30sbigibmV4dCIpLG4oInRocm93IiwoZnVuY3Rpb24odCl7dGhyb3cgdH0pKSxuKCJyZXR1cm4iKSxlW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30sZTtmdW5jdGlvbiBuKG4saSl7ZVtuXT10W25dP2Z1bmN0aW9uKGUpe3JldHVybihyPSFyKT97dmFsdWU6Zyh0W25dKGUpKSxkb25lOiJyZXR1cm4iPT09bn06aT9pKGUpOmV9Oml9fWZ1bmN0aW9uIHYodCl7aWYoIVN5bWJvbC5hc3luY0l0ZXJhdG9yKXRocm93IG5ldyBUeXBlRXJyb3IoIlN5bWJvbC5hc3luY0l0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLiIpO3ZhciBlLHI9dFtTeW1ib2wuYXN5bmNJdGVyYXRvcl07cmV0dXJuIHI/ci5jYWxsKHQpOih0PWQodCksZT17fSxuKCJuZXh0IiksbigidGhyb3ciKSxuKCJyZXR1cm4iKSxlW1N5bWJvbC5hc3luY0l0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSxlKTtmdW5jdGlvbiBuKHIpe2Vbcl09dFtyXSYmZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbihuLGkpeyhmdW5jdGlvbih0LGUscixuKXtQcm9taXNlLnJlc29sdmUobikudGhlbigoZnVuY3Rpb24oZSl7dCh7dmFsdWU6ZSxkb25lOnJ9KX0pLGUpfSkobixpLChlPXRbcl0oZSkpLmRvbmUsZS52YWx1ZSl9KSl9fX1mdW5jdGlvbiBfKHQsZSl7cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eT9PYmplY3QuZGVmaW5lUHJvcGVydHkodCwicmF3Iix7dmFsdWU6ZX0pOnQucmF3PWUsdH1mdW5jdGlvbiB3KHQpe2lmKHQmJnQuX19lc01vZHVsZSlyZXR1cm4gdDt2YXIgZT17fTtpZihudWxsIT10KWZvcih2YXIgciBpbiB0KU9iamVjdC5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQscikmJihlW3JdPXRbcl0pO3JldHVybiBlLmRlZmF1bHQ9dCxlfWZ1bmN0aW9uIE0odCl7cmV0dXJuIHQmJnQuX19lc01vZHVsZT90OntkZWZhdWx0OnR9fX0sZnVuY3Rpb24odCxlKXt9LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ZS5ieXRlTGVuZ3RoPWZ1bmN0aW9uKHQpe3ZhciBlPWModCkscj1lWzBdLG49ZVsxXTtyZXR1cm4gMyoocituKS80LW59LGUudG9CeXRlQXJyYXk9ZnVuY3Rpb24odCl7dmFyIGUscixuPWModCkscz1uWzBdLGE9blsxXSx1PW5ldyBvKGZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gMyooZStyKS80LXJ9KDAscyxhKSksZj0wLGg9YT4wP3MtNDpzO2ZvcihyPTA7cjxoO3IrPTQpZT1pW3QuY2hhckNvZGVBdChyKV08PDE4fGlbdC5jaGFyQ29kZUF0KHIrMSldPDwxMnxpW3QuY2hhckNvZGVBdChyKzIpXTw8NnxpW3QuY2hhckNvZGVBdChyKzMpXSx1W2YrK109ZT4+MTYmMjU1LHVbZisrXT1lPj44JjI1NSx1W2YrK109MjU1JmU7Mj09PWEmJihlPWlbdC5jaGFyQ29kZUF0KHIpXTw8MnxpW3QuY2hhckNvZGVBdChyKzEpXT4+NCx1W2YrK109MjU1JmUpOzE9PT1hJiYoZT1pW3QuY2hhckNvZGVBdChyKV08PDEwfGlbdC5jaGFyQ29kZUF0KHIrMSldPDw0fGlbdC5jaGFyQ29kZUF0KHIrMildPj4yLHVbZisrXT1lPj44JjI1NSx1W2YrK109MjU1JmUpO3JldHVybiB1fSxlLmZyb21CeXRlQXJyYXk9ZnVuY3Rpb24odCl7Zm9yKHZhciBlLHI9dC5sZW5ndGgsaT1yJTMsbz1bXSxzPTAsYT1yLWk7czxhO3MrPTE2MzgzKW8ucHVzaChmKHQscyxzKzE2MzgzPmE/YTpzKzE2MzgzKSk7MT09PWk/KGU9dFtyLTFdLG8ucHVzaChuW2U+PjJdK25bZTw8NCY2M10rIj09IikpOjI9PT1pJiYoZT0odFtyLTJdPDw4KSt0W3ItMV0sby5wdXNoKG5bZT4+MTBdK25bZT4+NCY2M10rbltlPDwyJjYzXSsiPSIpKTtyZXR1cm4gby5qb2luKCIiKX07Zm9yKHZhciBuPVtdLGk9W10sbz0idW5kZWZpbmVkIiE9dHlwZW9mIFVpbnQ4QXJyYXk/VWludDhBcnJheTpBcnJheSxzPSJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvIixhPTAsdT1zLmxlbmd0aDthPHU7KythKW5bYV09c1thXSxpW3MuY2hhckNvZGVBdChhKV09YTtmdW5jdGlvbiBjKHQpe3ZhciBlPXQubGVuZ3RoO2lmKGUlND4wKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBzdHJpbmcuIExlbmd0aCBtdXN0IGJlIGEgbXVsdGlwbGUgb2YgNCIpO3ZhciByPXQuaW5kZXhPZigiPSIpO3JldHVybi0xPT09ciYmKHI9ZSksW3Iscj09PWU/MDo0LXIlNF19ZnVuY3Rpb24gZih0LGUscil7Zm9yKHZhciBpLG8scz1bXSxhPWU7YTxyO2ErPTMpaT0odFthXTw8MTYmMTY3MTE2ODApKyh0W2ErMV08PDgmNjUyODApKygyNTUmdFthKzJdKSxzLnB1c2goblsobz1pKT4+MTgmNjNdK25bbz4+MTImNjNdK25bbz4+NiY2M10rbls2MyZvXSk7cmV0dXJuIHMuam9pbigiIil9aVsiLSIuY2hhckNvZGVBdCgwKV09NjIsaVsiXyIuY2hhckNvZGVBdCgwKV09NjN9LGZ1bmN0aW9uKHQsZSl7Ci8qISBpZWVlNzU0LiBCU0QtMy1DbGF1c2UgTGljZW5zZS4gRmVyb3NzIEFib3VraGFkaWplaCA8aHR0cHM6Ly9mZXJvc3Mub3JnL29wZW5zb3VyY2U+ICovCmUucmVhZD1mdW5jdGlvbih0LGUscixuLGkpe3ZhciBvLHMsYT04Kmktbi0xLHU9KDE8PGEpLTEsYz11Pj4xLGY9LTcsaD1yP2ktMTowLGw9cj8tMToxLGQ9dFtlK2hdO2ZvcihoKz1sLG89ZCYoMTw8LWYpLTEsZD4+PS1mLGYrPWE7Zj4wO289MjU2Km8rdFtlK2hdLGgrPWwsZi09OCk7Zm9yKHM9byYoMTw8LWYpLTEsbz4+PS1mLGYrPW47Zj4wO3M9MjU2KnMrdFtlK2hdLGgrPWwsZi09OCk7aWYoMD09PW8pbz0xLWM7ZWxzZXtpZihvPT09dSlyZXR1cm4gcz9OYU46MS8wKihkPy0xOjEpO3MrPU1hdGgucG93KDIsbiksby09Y31yZXR1cm4oZD8tMToxKSpzKk1hdGgucG93KDIsby1uKX0sZS53cml0ZT1mdW5jdGlvbih0LGUscixuLGksbyl7dmFyIHMsYSx1LGM9OCpvLWktMSxmPSgxPDxjKS0xLGg9Zj4+MSxsPTIzPT09aT9NYXRoLnBvdygyLC0yNCktTWF0aC5wb3coMiwtNzcpOjAsZD1uPzA6by0xLHA9bj8xOi0xLG09ZTwwfHwwPT09ZSYmMS9lPDA/MTowO2ZvcihlPU1hdGguYWJzKGUpLGlzTmFOKGUpfHxlPT09MS8wPyhhPWlzTmFOKGUpPzE6MCxzPWYpOihzPU1hdGguZmxvb3IoTWF0aC5sb2coZSkvTWF0aC5MTjIpLGUqKHU9TWF0aC5wb3coMiwtcykpPDEmJihzLS0sdSo9MiksKGUrPXMraD49MT9sL3U6bCpNYXRoLnBvdygyLDEtaCkpKnU+PTImJihzKyssdS89MikscytoPj1mPyhhPTAscz1mKTpzK2g+PTE/KGE9KGUqdS0xKSpNYXRoLnBvdygyLGkpLHMrPWgpOihhPWUqTWF0aC5wb3coMixoLTEpKk1hdGgucG93KDIsaSkscz0wKSk7aT49ODt0W3IrZF09MjU1JmEsZCs9cCxhLz0yNTYsaS09OCk7Zm9yKHM9czw8aXxhLGMrPWk7Yz4wO3RbcitkXT0yNTUmcyxkKz1wLHMvPTI1NixjLT04KTt0W3IrZC1wXXw9MTI4Km19fSxmdW5jdGlvbih0LGUpeyhmdW5jdGlvbihlKXt0LmV4cG9ydHM9ZX0pLmNhbGwodGhpcyx7fSl9LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7KGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIHIoKXtyZXR1cm4obnVsbD09dD92b2lkIDA6dC5jcnlwdG8pfHwobnVsbD09dD92b2lkIDA6dC5tc0NyeXB0byl8fHt9fWZ1bmN0aW9uIG4oKXtjb25zdCB0PXIoKTtyZXR1cm4gdC5zdWJ0bGV8fHQud2Via2l0U3VidGxlfU9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxlLmlzQnJvd3NlckNyeXB0b0F2YWlsYWJsZT1lLmdldFN1YnRsZUNyeXB0bz1lLmdldEJyb3dlckNyeXB0bz12b2lkIDAsZS5nZXRCcm93ZXJDcnlwdG89cixlLmdldFN1YnRsZUNyeXB0bz1uLGUuaXNCcm93c2VyQ3J5cHRvQXZhaWxhYmxlPWZ1bmN0aW9uKCl7cmV0dXJuISFyKCkmJiEhbigpfX0pLmNhbGwodGhpcyxyKDYpKX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjsoZnVuY3Rpb24odCl7ZnVuY3Rpb24gcigpe3JldHVybiJ1bmRlZmluZWQiPT10eXBlb2YgZG9jdW1lbnQmJiJ1bmRlZmluZWQiIT10eXBlb2YgbmF2aWdhdG9yJiYiUmVhY3ROYXRpdmUiPT09bmF2aWdhdG9yLnByb2R1Y3R9ZnVuY3Rpb24gbigpe3JldHVybiB2b2lkIDAhPT10JiZ2b2lkIDAhPT10LnZlcnNpb25zJiZ2b2lkIDAhPT10LnZlcnNpb25zLm5vZGV9T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGUuaXNCcm93c2VyPWUuaXNOb2RlPWUuaXNSZWFjdE5hdGl2ZT12b2lkIDAsZS5pc1JlYWN0TmF0aXZlPXIsZS5pc05vZGU9bixlLmlzQnJvd3Nlcj1mdW5jdGlvbigpe3JldHVybiFyKCkmJiFuKCl9fSkuY2FsbCh0aGlzLHIoNSkpfSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3QuZXhwb3J0cz10PT5lbmNvZGVVUklDb21wb25lbnQodCkucmVwbGFjZSgvWyEnKCkqXS9nLHQ9PiIlIit0LmNoYXJDb2RlQXQoMCkudG9TdHJpbmcoMTYpLnRvVXBwZXJDYXNlKCkpfSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPW5ldyBSZWdFeHAoIiVbYS1mMC05XXsyfSIsImdpIiksaT1uZXcgUmVnRXhwKCIoJVthLWYwLTldezJ9KSsiLCJnaSIpO2Z1bmN0aW9uIG8odCxlKXt0cnl7cmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudCh0LmpvaW4oIiIpKX1jYXRjaCh0KXt9aWYoMT09PXQubGVuZ3RoKXJldHVybiB0O2U9ZXx8MTt2YXIgcj10LnNsaWNlKDAsZSksbj10LnNsaWNlKGUpO3JldHVybiBBcnJheS5wcm90b3R5cGUuY29uY2F0LmNhbGwoW10sbyhyKSxvKG4pKX1mdW5jdGlvbiBzKHQpe3RyeXtyZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KHQpfWNhdGNoKGkpe2Zvcih2YXIgZT10Lm1hdGNoKG4pLHI9MTtyPGUubGVuZ3RoO3IrKyllPSh0PW8oZSxyKS5qb2luKCIiKSkubWF0Y2gobik7cmV0dXJuIHR9fXQuZXhwb3J0cz1mdW5jdGlvbih0KXtpZigic3RyaW5nIiE9dHlwZW9mIHQpdGhyb3cgbmV3IFR5cGVFcnJvcigiRXhwZWN0ZWQgYGVuY29kZWRVUklgIHRvIGJlIG9mIHR5cGUgYHN0cmluZ2AsIGdvdCBgIit0eXBlb2YgdCsiYCIpO3RyeXtyZXR1cm4gdD10LnJlcGxhY2UoL1wrL2csIiAiKSxkZWNvZGVVUklDb21wb25lbnQodCl9Y2F0Y2goZSl7cmV0dXJuIGZ1bmN0aW9uKHQpe2Zvcih2YXIgZT17IiVGRSVGRiI6Iu+/ve+/vSIsIiVGRiVGRSI6Iu+/ve+/vSJ9LHI9aS5leGVjKHQpO3I7KXt0cnl7ZVtyWzBdXT1kZWNvZGVVUklDb21wb25lbnQoclswXSl9Y2F0Y2godCl7dmFyIG49cyhyWzBdKTtuIT09clswXSYmKGVbclswXV09bil9cj1pLmV4ZWModCl9ZVsiJUMyIl09Iu+/vSI7Zm9yKHZhciBvPU9iamVjdC5rZXlzKGUpLGE9MDthPG8ubGVuZ3RoO2ErKyl7dmFyIHU9b1thXTt0PXQucmVwbGFjZShuZXcgUmVnRXhwKHUsImciKSxlW3VdKX1yZXR1cm4gdH0odCl9fX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt0LmV4cG9ydHM9KHQsZSk9PntpZigic3RyaW5nIiE9dHlwZW9mIHR8fCJzdHJpbmciIT10eXBlb2YgZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCB0aGUgYXJndW1lbnRzIHRvIGJlIG9mIHR5cGUgYHN0cmluZ2AiKTtpZigiIj09PWUpcmV0dXJuW3RdO2NvbnN0IHI9dC5pbmRleE9mKGUpO3JldHVybi0xPT09cj9bdF06W3Quc2xpY2UoMCxyKSx0LnNsaWNlKHIrZS5sZW5ndGgpXX19LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dC5leHBvcnRzPWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKCJ3cyBkb2VzIG5vdCB3b3JrIGluIHRoZSBicm93c2VyLiBCcm93c2VyIGNsaWVudHMgbXVzdCB1c2UgdGhlIG5hdGl2ZSBXZWJTb2NrZXQgb2JqZWN0Iil9fSxmdW5jdGlvbih0LGUscil7KGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIG4odCl7cmV0dXJuIHQmJiJvYmplY3QiPT10eXBlb2YgdCYmImRlZmF1bHQiaW4gdD90LmRlZmF1bHQ6dH12YXIgaT1yKDc2KSxvPW4ocigxNzkpKSxzPW4ocigyMDApKSxhPXIoMzc2KTsidW5kZWZpbmVkIiE9dHlwZW9mIFN5bWJvbCYmKFN5bWJvbC5pdGVyYXRvcnx8KFN5bWJvbC5pdGVyYXRvcj1TeW1ib2woIlN5bWJvbC5pdGVyYXRvciIpKSksInVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wmJihTeW1ib2wuYXN5bmNJdGVyYXRvcnx8KFN5bWJvbC5hc3luY0l0ZXJhdG9yPVN5bWJvbCgiU3ltYm9sLmFzeW5jSXRlcmF0b3IiKSkpO2Z1bmN0aW9uIHUodCl7cmV0dXJuIGEuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOiJ3YWxsZXRjb25uZWN0LW1vZGFsX19oZWFkZXIifSxhLmNyZWF0ZUVsZW1lbnQoImltZyIse3NyYzoiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyBoZWlnaHQ9JzE4NScgdmlld0JveD0nMCAwIDMwMCAxODUnIHdpZHRoPSczMDAnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIGQ9J202MS40Mzg1NDI5IDM2LjI1NjI2MTJjNDguOTExMjI0MS00Ny44ODgxNjYzIDEyOC4yMTE5ODcxLTQ3Ljg4ODE2NjMgMTc3LjEyMzIwOTEgMGw1Ljg4NjU0NSA1Ljc2MzQxNzRjMi40NDU1NjEgMi4zOTQ0MDgxIDIuNDQ1NTYxIDYuMjc2NTExMiAwIDguNjcwOTIwNGwtMjAuMTM2Njk1IDE5LjcxNTUwM2MtMS4yMjI3ODEgMS4xOTcyMDUxLTMuMjA1MyAxLjE5NzIwNTEtNC40MjgwODEgMGwtOC4xMDA1ODQtNy45MzExNDc5Yy0zNC4xMjE2OTItMzMuNDA3OTgxNy04OS40NDM4ODYtMzMuNDA3OTgxNy0xMjMuNTY1NTc4OCAwbC04LjY3NTA1NjIgOC40OTM2MDUxYy0xLjIyMjc4MTYgMS4xOTcyMDQxLTMuMjA1MzAxIDEuMTk3MjA0MS00LjQyODA4MDYgMGwtMjAuMTM2Njk0OS0xOS43MTU1MDMxYy0yLjQ0NTU2MTItMi4zOTQ0MDkyLTIuNDQ1NTYxMi02LjI3NjUxMjIgMC04LjY3MDkyMDR6bTIxOC43Njc3OTYxIDQwLjc3Mzc0NDkgMTcuOTIxNjk3IDE3LjU0Njg5N2MyLjQ0NTU0OSAyLjM5NDM5NjkgMi40NDU1NjMgNi4yNzY0NzY5LjAwMDAzMSA4LjY3MDg4OTlsLTgwLjgxMDE3MSA3OS4xMjExMzRjLTIuNDQ1NTQ0IDIuMzk0NDI2LTYuNDEwNTgyIDIuMzk0NDUzLTguODU2MTYuMDAwMDYyLS4wMDAwMS0uMDAwMDEtLjAwMDAyMi0uMDAwMDIyLS4wMDAwMzItLjAwMDAzMmwtNTcuMzU0MTQzLTU2LjE1NDU3MmMtLjYxMTM5LS41OTg2MDItMS42MDI2NS0uNTk4NjAyLTIuMjE0MDQgMC0uMDAwMDA0LjAwMDAwNC0uMDAwMDA3LjAwMDAwOC0uMDAwMDExLjAwMDAxMWwtNTcuMzUyOTIxMiA1Ni4xNTQ1MzFjLTIuNDQ1NTM2OCAyLjM5NDQzMi02LjQxMDU3NTUgMi4zOTQ0NzItOC44NTYxNjEyLjAwMDA4Ny0uMDAwMDE0My0uMDAwMDE0LS4wMDAwMjk2LS4wMDAwMjgtLjAwMDA0NDktLjAwMDA0NGwtODAuODEyNDE5NDMtNzkuMTIyMTg1Yy0yLjQ0NTU2MDIxLTIuMzk0NDA4LTIuNDQ1NTYwMjEtNi4yNzY1MTE1IDAtOC42NzA5MTk3bDE3LjkyMTcyOTYzLTE3LjU0Njg2NzNjMi40NDU1NjAyLTIuMzk0NDA4MiA2LjQxMDU5ODktMi4zOTQ0MDgyIDguODU2MTYwMiAwbDU3LjM1NDk3NzUgNTYuMTU1MzU3Yy42MTEzOTA4LjU5ODYwMiAxLjYwMjY0OS41OTg2MDIgMi4yMTQwMzk4IDAgLjAwMDAwOTItLjAwMDAwOS4wMDAwMTc0LS4wMDAwMTcuMDAwMDI2NS0uMDAwMDI0bDU3LjM1MjEwMzEtNTYuMTU1MzMzYzIuNDQ1NTA1LTIuMzk0NDYzMyA2LjQxMDU0NC0yLjM5NDU1MzEgOC44NTYxNjEtLjAwMDIuMDAwMDM0LjAwMDAzMzYuMDAwMDY4LjAwMDA2NzMuMDAwMTAxLjAwMDEwMWw1Ny4zNTQ5MDIgNTYuMTU1NDMyYy42MTEzOS41OTg2MDEgMS42MDI2NS41OTg2MDEgMi4yMTQwNCAwbDU3LjM1Mzk3NS01Ni4xNTQzMjQ5YzIuNDQ1NTYxLTIuMzk0NDA5MiA2LjQxMDU5OS0yLjM5NDQwOTIgOC44NTYxNiAweicgZmlsbD0nJTIzM2I5OWZjJy8lM0UlM0Mvc3ZnJTNFIixjbGFzc05hbWU6IndhbGxldGNvbm5lY3QtbW9kYWxfX2hlYWRlckxvZ28ifSksYS5jcmVhdGVFbGVtZW50KCJwIixudWxsLCJXYWxsZXRDb25uZWN0IiksYS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6IndhbGxldGNvbm5lY3QtbW9kYWxfX2Nsb3NlX193cmFwcGVyIixvbkNsaWNrOnQub25DbG9zZX0sYS5jcmVhdGVFbGVtZW50KCJkaXYiLHtpZDoid2FsbGV0Y29ubmVjdC1xcmNvZGUtY2xvc2UiLGNsYXNzTmFtZToid2FsbGV0Y29ubmVjdC1tb2RhbF9fY2xvc2VfX2ljb24ifSxhLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZToid2FsbGV0Y29ubmVjdC1tb2RhbF9fY2xvc2VfX2xpbmUxIn0pLGEuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOiJ3YWxsZXRjb25uZWN0LW1vZGFsX19jbG9zZV9fbGluZTIifSkpKSl9ZnVuY3Rpb24gYyh0KXtyZXR1cm4gYS5jcmVhdGVFbGVtZW50KCJhIix7Y2xhc3NOYW1lOiJ3YWxsZXRjb25uZWN0LWNvbm5lY3RfX2J1dHRvbiIsaHJlZjp0LmhyZWYsaWQ6IndhbGxldGNvbm5lY3QtY29ubmVjdC1idXR0b24tIit0Lm5hbWUsb25DbGljazp0Lm9uQ2xpY2sscmVsOiJub29wZW5lciBub3JlZmVycmVyIixzdHlsZTp7YmFja2dyb3VuZENvbG9yOnQuY29sb3J9LHRhcmdldDoiX2JsYW5rIn0sdC5uYW1lKX1mdW5jdGlvbiBmKHQpe3ZhciBlPXQuY29sb3Iscj10LmhyZWYsbj10Lm5hbWUsaT10LmxvZ28sbz10Lm9uQ2xpY2s7cmV0dXJuIGEuY3JlYXRlRWxlbWVudCgiYSIse2NsYXNzTmFtZToid2FsbGV0Y29ubmVjdC1tb2RhbF9fYmFzZV9fcm93IixocmVmOnIsb25DbGljazpvLHJlbDoibm9vcGVuZXIgbm9yZWZlcnJlciIsdGFyZ2V0OiJfYmxhbmsifSxhLmNyZWF0ZUVsZW1lbnQoImgzIix7Y2xhc3NOYW1lOiJ3YWxsZXRjb25uZWN0LW1vZGFsX19iYXNlX19yb3dfX2gzIn0sbiksYS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6IndhbGxldGNvbm5lY3QtbW9kYWxfX2Jhc2VfX3Jvd19fcmlnaHQifSxhLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZToid2FsbGV0Y29ubmVjdC1tb2RhbF9fYmFzZV9fcm93X19yaWdodF9fYXBwLWljb24iLHN0eWxlOntiYWNrZ3JvdW5kOiJ1cmwoJyIraSsiJykgIitlLGJhY2tncm91bmRTaXplOiIxMDAlIn19KSxhLmNyZWF0ZUVsZW1lbnQoImltZyIse3NyYzoiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyBmaWxsPSdub25lJyBoZWlnaHQ9JzE4JyB2aWV3Qm94PScwIDAgOCAxOCcgd2lkdGg9JzgnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIGNsaXAtcnVsZT0nZXZlbm9kZCcgZD0nbS41ODYzMDEuMjEzODk4Yy0uNDM1OTQ3LjMzOTA3LS41MTQ0ODEzLjk2NzM0Mi0uMTc1NDExIDEuNDAzMjkybDQuODc4MzEgNi4yNzIxMmMuMjgwODcuMzYxMTEuMjgwODcuODY2NzcgMCAxLjIyNzg4bC00Ljg3ODMxMSA2LjI3MjExYy0uMzM5MDcuNDM2LS4yNjA1MzYgMS4wNjQyLjE3NTQxMiAxLjQwMzMuNDM1OTQ5LjMzOTEgMS4wNjQyMTkuMjYwNSAxLjQwMzI4OS0uMTc1NGw0Ljg3ODMyLTYuMjcyMWMuODQyNTktMS4wODMzNi44NDI1OS0yLjYwMDM0IDAtMy42ODM2N2wtNC44NzgzMi02LjI3MjEyYy0uMzM5MDctLjQzNTk0NzQtLjk2NzM0LS41MTQ0ODItMS40MDMyODktLjE3NTQxMnonIGZpbGw9JyUyMzNjNDI1MicgZmlsbC1ydWxlPSdldmVub2RkJy8lM0UlM0Mvc3ZnJTNFIixjbGFzc05hbWU6IndhbGxldGNvbm5lY3QtbW9kYWxfX2Jhc2VfX3Jvd19fcmlnaHRfX2NhcmV0In0pKSl9ZnVuY3Rpb24gaCh0KXt2YXIgZT10LmNvbG9yLHI9dC5ocmVmLG49dC5uYW1lLGk9dC5sb2dvLG89dC5vbkNsaWNrLHM9d2luZG93LmlubmVyV2lkdGg8NzY4PyhuLmxlbmd0aD44PzIuNToyLjcpKyJ2dyI6ImluaGVyaXQiO3JldHVybiBhLmNyZWF0ZUVsZW1lbnQoImEiLHtjbGFzc05hbWU6IndhbGxldGNvbm5lY3QtY29ubmVjdF9fYnV0dG9uX19pY29uX2FuY2hvciIsaHJlZjpyLG9uQ2xpY2s6byxyZWw6Im5vb3BlbmVyIG5vcmVmZXJyZXIiLHRhcmdldDoiX2JsYW5rIn0sYS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6IndhbGxldGNvbm5lY3QtY29ubmVjdF9fYnV0dG9uX19pY29uIixzdHlsZTp7YmFja2dyb3VuZDoidXJsKCciK2krIicpICIrZSxiYWNrZ3JvdW5kU2l6ZToiMTAwJSJ9fSksYS5jcmVhdGVFbGVtZW50KCJkaXYiLHtzdHlsZTp7Zm9udFNpemU6c30sY2xhc3NOYW1lOiJ3YWxsZXRjb25uZWN0LWNvbm5lY3RfX2J1dHRvbl9fdGV4dCJ9LG4pKX1mdW5jdGlvbiBsKHQpe3ZhciBlPWkuaXNBbmRyb2lkKCkscj1hLnVzZVN0YXRlKCIiKSxuPXJbMF0sbz1yWzFdLHM9YS51c2VTdGF0ZSgiIiksdT1zWzBdLGw9c1sxXSxkPWEudXNlU3RhdGUoMSkscD1kWzBdLG09ZFsxXSxnPXU/dC5saW5rcy5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybiB0Lm5hbWUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh1LnRvTG93ZXJDYXNlKCkpfSkpOnQubGlua3MsYj10LmVycm9yTWVzc2FnZSx5PXV8fGcubGVuZ3RoPjUsdj1NYXRoLmNlaWwoZy5sZW5ndGgvMTIpLF89WzEyKihwLTEpKzEsMTIqcF0sdz1nLmxlbmd0aD9nLmZpbHRlcigoZnVuY3Rpb24odCxlKXtyZXR1cm4gZSsxPj1fWzBdJiZlKzE8PV9bMV19KSk6W10sTT0hKGV8fCEodj4xKSksUz12b2lkIDA7cmV0dXJuIGEuY3JlYXRlRWxlbWVudCgiZGl2IixudWxsLGEuY3JlYXRlRWxlbWVudCgicCIse2lkOiJ3YWxsZXRjb25uZWN0LXFyY29kZS10ZXh0IixjbGFzc05hbWU6IndhbGxldGNvbm5lY3QtcXJjb2RlX190ZXh0In0sZT90LnRleHQuY29ubmVjdF9tb2JpbGVfd2FsbGV0OnQudGV4dC5jaG9vc2VfcHJlZmVycmVkX3dhbGxldCksIWUmJmEuY3JlYXRlRWxlbWVudCgiaW5wdXQiLHtjbGFzc05hbWU6IndhbGxldGNvbm5lY3Qtc2VhcmNoX19pbnB1dCIscGxhY2Vob2xkZXI6IlNlYXJjaCIsdmFsdWU6bixvbkNoYW5nZTpmdW5jdGlvbih0KXtvKHQudGFyZ2V0LnZhbHVlKSxjbGVhclRpbWVvdXQoUyksdC50YXJnZXQudmFsdWU/Uz1zZXRUaW1lb3V0KChmdW5jdGlvbigpe2wodC50YXJnZXQudmFsdWUpLG0oMSl9KSwxZTMpOihvKCIiKSxsKCIiKSxtKDEpKX19KSxhLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZToid2FsbGV0Y29ubmVjdC1jb25uZWN0X19idXR0b25zX193cmFwcGVyIisoZT8iX19hbmRyb2lkIjp5JiZnLmxlbmd0aD8iX193cmFwIjoiIil9LGU/YS5jcmVhdGVFbGVtZW50KGMse25hbWU6dC50ZXh0LmNvbm5lY3QsY29sb3I6InJnYig2NCwgMTUzLCAyNTUpIixocmVmOnQudXJpLG9uQ2xpY2s6YS51c2VDYWxsYmFjaygoZnVuY3Rpb24oKXtpLnNhdmVNb2JpbGVMaW5rSW5mbyh7bmFtZToiVW5rbm93biIsaHJlZjp0LnVyaX0pfSksW10pfSk6dy5sZW5ndGg/dy5tYXAoKGZ1bmN0aW9uKGUpe3ZhciByPWUuY29sb3Isbj1lLm5hbWUsbz1lLnNob3J0TmFtZSxzPWUubG9nbyx1PWkuZm9ybWF0SU9TTW9iaWxlKHQudXJpLGUpLGM9YS51c2VDYWxsYmFjaygoZnVuY3Rpb24oKXtpLnNhdmVNb2JpbGVMaW5rSW5mbyh7bmFtZTpuLGhyZWY6dX0pfSksW3ddKTtyZXR1cm4geT9hLmNyZWF0ZUVsZW1lbnQoaCx7Y29sb3I6cixocmVmOnUsbmFtZTpvfHxuLGxvZ286cyxvbkNsaWNrOmN9KTphLmNyZWF0ZUVsZW1lbnQoZix7Y29sb3I6cixocmVmOnUsbmFtZTpuLGxvZ286cyxvbkNsaWNrOmN9KX0pKTphLmNyZWF0ZUVsZW1lbnQoYS5GcmFnbWVudCxudWxsLGEuY3JlYXRlRWxlbWVudCgicCIsbnVsbCxiLmxlbmd0aD90LmVycm9yTWVzc2FnZTp0LmxpbmtzLmxlbmd0aCYmIWcubGVuZ3RoP3QudGV4dC5ub193YWxsZXRzX2ZvdW5kOnQudGV4dC5sb2FkaW5nKSkpLE0mJmEuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOiJ3YWxsZXRjb25uZWN0LW1vZGFsX19mb290ZXIifSxBcnJheSh2KS5maWxsKDApLm1hcCgoZnVuY3Rpb24odCxlKXt2YXIgcj1lKzEsbj1wPT09cjtyZXR1cm4gYS5jcmVhdGVFbGVtZW50KCJhIix7c3R5bGU6e21hcmdpbjoiYXV0byAxMHB4Iixmb250V2VpZ2h0Om4/ImJvbGQiOiJub3JtYWwifSxvbkNsaWNrOmZ1bmN0aW9uKCl7cmV0dXJuIG0ocil9fSxyKX0pKSkpfWZ1bmN0aW9uIGQodCl7dmFyIGU9ISF0Lm1lc3NhZ2UudHJpbSgpO3JldHVybiBhLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZToid2FsbGV0Y29ubmVjdC1xcmNvZGVfX25vdGlmaWNhdGlvbiIrKGU/IiBub3RpZmljYXRpb25fX3Nob3ciOiIiKX0sdC5tZXNzYWdlKX1mdW5jdGlvbiBwKHQpe3ZhciBlPWEudXNlU3RhdGUoIiIpLHI9ZVswXSxuPWVbMV0saT1hLnVzZVN0YXRlKCIiKSx1PWlbMF0sYz1pWzFdO2EudXNlRWZmZWN0KChmdW5jdGlvbigpe3RyeXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGZ1bmN0aW9uKHQpe3RyeXt2YXIgZT0iIjtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG8udG9TdHJpbmcodCx7bWFyZ2luOjAsdHlwZToic3ZnIn0pKS50aGVuKChmdW5jdGlvbih0KXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIHQmJihlPXQucmVwbGFjZSgiPHN2ZyIsJzxzdmcgY2xhc3M9IndhbGxldGNvbm5lY3QtcXJjb2RlX19pbWFnZSInKSksZX0pKX1jYXRjaCh0KXtyZXR1cm4gUHJvbWlzZS5yZWplY3QodCl9fSh0LnVyaSkpLnRoZW4oKGZ1bmN0aW9uKHQpe2ModCl9KSl9Y2F0Y2godCl7UHJvbWlzZS5yZWplY3QodCl9fSksW10pO3JldHVybiBhLmNyZWF0ZUVsZW1lbnQoImRpdiIsbnVsbCxhLmNyZWF0ZUVsZW1lbnQoInAiLHtpZDoid2FsbGV0Y29ubmVjdC1xcmNvZGUtdGV4dCIsY2xhc3NOYW1lOiJ3YWxsZXRjb25uZWN0LXFyY29kZV9fdGV4dCJ9LHQudGV4dC5zY2FuX3FyY29kZV93aXRoX3dhbGxldCksYS5jcmVhdGVFbGVtZW50KCJkaXYiLHtkYW5nZXJvdXNseVNldElubmVySFRNTDp7X19odG1sOnV9fSksYS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6IndhbGxldGNvbm5lY3QtbW9kYWxfX2Zvb3RlciJ9LGEuY3JlYXRlRWxlbWVudCgiYSIse29uQ2xpY2s6ZnVuY3Rpb24oKXtzKHQudXJpKT8obih0LnRleHQuY29waWVkX3RvX2NsaXBib2FyZCksc2V0SW50ZXJ2YWwoKGZ1bmN0aW9uKCl7cmV0dXJuIG4oIiIpfSksMTIwMCkpOihuKCJFcnJvciIpLHNldEludGVydmFsKChmdW5jdGlvbigpe3JldHVybiBuKCIiKX0pLDEyMDApKX19LHQudGV4dC5jb3B5X3RvX2NsaXBib2FyZCkpLGEuY3JlYXRlRWxlbWVudChkLHttZXNzYWdlOnJ9KSl9ZnVuY3Rpb24gbSh0KXt2YXIgZT1pLmlzQW5kcm9pZCgpLHI9aS5pc01vYmlsZSgpLG49cj90LnFyY29kZU1vZGFsT3B0aW9ucyYmdC5xcmNvZGVNb2RhbE9wdGlvbnMubW9iaWxlTGlua3M/dC5xcmNvZGVNb2RhbE9wdGlvbnMubW9iaWxlTGlua3M6dm9pZCAwOnQucXJjb2RlTW9kYWxPcHRpb25zJiZ0LnFyY29kZU1vZGFsT3B0aW9ucy5kZXNrdG9wTGlua3M/dC5xcmNvZGVNb2RhbE9wdGlvbnMuZGVza3RvcExpbmtzOnZvaWQgMCxvPWEudXNlU3RhdGUoITEpLHM9b1swXSxjPW9bMV0sZj1hLnVzZVN0YXRlKCExKSxoPWZbMF0sZD1mWzFdLG09YS51c2VTdGF0ZSghciksZz1tWzBdLGI9bVsxXSx5PXttb2JpbGU6cix0ZXh0OnQudGV4dCx1cmk6dC51cmkscXJjb2RlTW9kYWxPcHRpb25zOnQucXJjb2RlTW9kYWxPcHRpb25zfSx2PWEudXNlU3RhdGUoIiIpLF89dlswXSx3PXZbMV0sTT1hLnVzZVN0YXRlKCExKSxTPU1bMF0sRT1NWzFdLHg9YS51c2VTdGF0ZShbXSksaz14WzBdLEE9eFsxXSxSPWEudXNlU3RhdGUoIiIpLFQ9UlswXSxPPVJbMV0sQz1mdW5jdGlvbigpe2h8fHN8fG4mJiFuLmxlbmd0aHx8ay5sZW5ndGg+MHx8YS51c2VFZmZlY3QoKGZ1bmN0aW9uKCl7IWZ1bmN0aW9uKCl7dHJ5e2lmKGUpcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO2MoITApO3ZhciBvPWZ1bmN0aW9uKHQsZSl7dHJ5e3ZhciByPXQoKX1jYXRjaCh0KXtyZXR1cm4gZSh0KX1yZXR1cm4gciYmci50aGVuP3IudGhlbih2b2lkIDAsZSk6cn0oKGZ1bmN0aW9uKCl7dmFyIGU9dC5xcmNvZGVNb2RhbE9wdGlvbnMmJnQucXJjb2RlTW9kYWxPcHRpb25zLnJlZ2lzdHJ5VXJsP3QucXJjb2RlTW9kYWxPcHRpb25zLnJlZ2lzdHJ5VXJsOmkuZ2V0V2FsbGV0UmVnaXN0cnlVcmwoKTtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGZldGNoKGUpKS50aGVuKChmdW5jdGlvbihlKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGUuanNvbigpKS50aGVuKChmdW5jdGlvbihlKXt2YXIgbz1lLmxpc3RpbmdzLHM9cj8ibW9iaWxlIjoiZGVza3RvcCIsYT1pLmdldE1vYmlsZUxpbmtSZWdpc3RyeShpLmZvcm1hdE1vYmlsZVJlZ2lzdHJ5KG8scyksbik7YyghMSksZCghMCksTyhhLmxlbmd0aD8iIjp0LnRleHQubm9fc3VwcG9ydGVkX3dhbGxldHMpLEEoYSk7dmFyIHU9MT09PWEubGVuZ3RoO3UmJih3KGkuZm9ybWF0SU9TTW9iaWxlKHQudXJpLGFbMF0pKSxiKCEwKSksRSh1KX0pKX0pKX0pLChmdW5jdGlvbihlKXtjKCExKSxkKCEwKSxPKHQudGV4dC5zb21ldGhpbmdfd2VudF93cm9uZyksY29uc29sZS5lcnJvcihlKX0pKTtQcm9taXNlLnJlc29sdmUobyYmby50aGVuP28udGhlbigoZnVuY3Rpb24oKXt9KSk6dm9pZCAwKX1jYXRjaCh0KXtyZXR1cm4gUHJvbWlzZS5yZWplY3QodCl9fSgpfSkpfTtDKCk7dmFyIFA9cj9nOiFnO3JldHVybiBhLmNyZWF0ZUVsZW1lbnQoImRpdiIse2lkOiJ3YWxsZXRjb25uZWN0LXFyY29kZS1tb2RhbCIsY2xhc3NOYW1lOiJ3YWxsZXRjb25uZWN0LXFyY29kZV9fYmFzZSBhbmltYXRlZCBmYWRlSW4ifSxhLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZToid2FsbGV0Y29ubmVjdC1tb2RhbF9fYmFzZSJ9LGEuY3JlYXRlRWxlbWVudCh1LHtvbkNsb3NlOnQub25DbG9zZX0pLFMmJmc/YS5jcmVhdGVFbGVtZW50KCJkaXYiLHtjbGFzc05hbWU6IndhbGxldGNvbm5lY3QtbW9kYWxfX3NpbmdsZV93YWxsZXQifSxhLmNyZWF0ZUVsZW1lbnQoImEiLHtvbkNsaWNrOmZ1bmN0aW9uKCl7cmV0dXJuIGkuc2F2ZU1vYmlsZUxpbmtJbmZvKHtuYW1lOmtbMF0ubmFtZSxocmVmOl99KX0saHJlZjpfLHJlbDoibm9vcGVuZXIgbm9yZWZlcnJlciIsdGFyZ2V0OiJfYmxhbmsifSx0LnRleHQuY29ubmVjdF93aXRoKyIgIisoUz9rWzBdLm5hbWU6IiIpKyIg4oC6IikpOmV8fHN8fCFzJiZrLmxlbmd0aD9hLmNyZWF0ZUVsZW1lbnQoImRpdiIse2NsYXNzTmFtZToid2FsbGV0Y29ubmVjdC1tb2RhbF9fbW9iaWxlX190b2dnbGUiKyhQPyIgcmlnaHRfX3NlbGVjdGVkIjoiIil9LGEuY3JlYXRlRWxlbWVudCgiZGl2Iix7Y2xhc3NOYW1lOiJ3YWxsZXRjb25uZWN0LW1vZGFsX19tb2JpbGVfX3RvZ2dsZV9zZWxlY3RvciJ9KSxyP2EuY3JlYXRlRWxlbWVudChhLkZyYWdtZW50LG51bGwsYS5jcmVhdGVFbGVtZW50KCJhIix7b25DbGljazpmdW5jdGlvbigpe3JldHVybiBiKCExKSxDKCl9fSx0LnRleHQubW9iaWxlKSxhLmNyZWF0ZUVsZW1lbnQoImEiLHtvbkNsaWNrOmZ1bmN0aW9uKCl7cmV0dXJuIGIoITApfX0sdC50ZXh0LnFyY29kZSkpOmEuY3JlYXRlRWxlbWVudChhLkZyYWdtZW50LG51bGwsYS5jcmVhdGVFbGVtZW50KCJhIix7b25DbGljazpmdW5jdGlvbigpe3JldHVybiBiKCEwKX19LHQudGV4dC5xcmNvZGUpLGEuY3JlYXRlRWxlbWVudCgiYSIse29uQ2xpY2s6ZnVuY3Rpb24oKXtyZXR1cm4gYighMSksQygpfX0sdC50ZXh0LmRlc2t0b3ApKSk6bnVsbCxhLmNyZWF0ZUVsZW1lbnQoImRpdiIsbnVsbCxnfHwhZSYmIXMmJiFrLmxlbmd0aD9hLmNyZWF0ZUVsZW1lbnQocCxPYmplY3QuYXNzaWduKHt9LHkpKTphLmNyZWF0ZUVsZW1lbnQobCxPYmplY3QuYXNzaWduKHt9LHkse2xpbmtzOmssZXJyb3JNZXNzYWdlOlR9KSkpKSl9dmFyIGc9e2RlOntjaG9vc2VfcHJlZmVycmVkX3dhbGxldDoiV8OkaGxlIGJldm9yenVndGUgV2FsbGV0Iixjb25uZWN0X21vYmlsZV93YWxsZXQ6IlZlcmJpbmRlIG1pdCBNb2JpbGUgV2FsbGV0IixzY2FuX3FyY29kZV93aXRoX3dhbGxldDoiU2Nhbm5lIGRlbiBRUi1jb2RlIG1pdCBlaW5lciBXYWxsZXRDb25uZWN0IGtvbXBhdGlibGVuIFdhbGxldCIsY29ubmVjdDoiVmVyYmluZGVuIixxcmNvZGU6IlFSLUNvZGUiLG1vYmlsZToiTW9iaWxlIixkZXNrdG9wOiJEZXNrdG9wIixjb3B5X3RvX2NsaXBib2FyZDoiSW4gZGllIFp3aXNjaGVuYWJsYWdlIGtvcGllcmVuIixjb3BpZWRfdG9fY2xpcGJvYXJkOiJJbiBkaWUgWndpc2NoZW5hYmxhZ2Uga29waWVydCEiLGNvbm5lY3Rfd2l0aDoiVmVyYmluZGVuIG1pdCBIaWxmZSB2b24iLGxvYWRpbmc6IkxhZGVuLi4uIixzb21ldGhpbmdfd2VudF93cm9uZzoiRXR3YXMgaXN0IHNjaGllZiBnZWxhdWZlbiIsbm9fc3VwcG9ydGVkX3dhbGxldHM6IkVzIGdpYnQgbm9jaCBrZWluZSB1bnRlcnN0w7x0enRlbiBXYWxsZXQiLG5vX3dhbGxldHNfZm91bmQ6ImtlaW5lIFdhbGxldCBnZWZ1bmRlbiJ9LGVuOntjaG9vc2VfcHJlZmVycmVkX3dhbGxldDoiQ2hvb3NlIHlvdXIgcHJlZmVycmVkIHdhbGxldCIsY29ubmVjdF9tb2JpbGVfd2FsbGV0OiJDb25uZWN0IHRvIE1vYmlsZSBXYWxsZXQiLHNjYW5fcXJjb2RlX3dpdGhfd2FsbGV0OiJTY2FuIFFSIGNvZGUgd2l0aCBhIFdhbGxldENvbm5lY3QtY29tcGF0aWJsZSB3YWxsZXQiLGNvbm5lY3Q6IkNvbm5lY3QiLHFyY29kZToiUVIgQ29kZSIsbW9iaWxlOiJNb2JpbGUiLGRlc2t0b3A6IkRlc2t0b3AiLGNvcHlfdG9fY2xpcGJvYXJkOiJDb3B5IHRvIGNsaXBib2FyZCIsY29waWVkX3RvX2NsaXBib2FyZDoiQ29waWVkIHRvIGNsaXBib2FyZCEiLGNvbm5lY3Rfd2l0aDoiQ29ubmVjdCB3aXRoIixsb2FkaW5nOiJMb2FkaW5nLi4uIixzb21ldGhpbmdfd2VudF93cm9uZzoiU29tZXRoaW5nIHdlbnQgd3JvbmciLG5vX3N1cHBvcnRlZF93YWxsZXRzOiJUaGVyZSBhcmUgbm8gc3VwcG9ydGVkIHdhbGxldHMgeWV0Iixub193YWxsZXRzX2ZvdW5kOiJObyB3YWxsZXRzIGZvdW5kIn0sZXM6e2Nob29zZV9wcmVmZXJyZWRfd2FsbGV0OiJFbGlnZSB0dSBiaWxsZXRlcmEgcHJlZmVyaWRhIixjb25uZWN0X21vYmlsZV93YWxsZXQ6IkNvbmVjdGFyIGEgYmlsbGV0ZXJhIG3Ds3ZpbCIsc2Nhbl9xcmNvZGVfd2l0aF93YWxsZXQ6IkVzY2FuZWEgZWwgY8OzZGlnbyBRUiBjb24gdW5hIGJpbGxldGVyYSBjb21wYXRpYmxlIGNvbiBXYWxsZXRDb25uZWN0Iixjb25uZWN0OiJDb25lY3RhciIscXJjb2RlOiJDw7NkaWdvIFFSIixtb2JpbGU6Ik3Ds3ZpbCIsZGVza3RvcDoiRGVza3RvcCIsY29weV90b19jbGlwYm9hcmQ6IkNvcGlhciIsY29waWVkX3RvX2NsaXBib2FyZDoiQ29waWFkbyEiLGNvbm5lY3Rfd2l0aDoiQ29uZWN0YXIgbWVkaWFudGUiLGxvYWRpbmc6IkNhcmdhbmRvLi4uIixzb21ldGhpbmdfd2VudF93cm9uZzoiQWxnbyBzYWxpw7MgbWFsIixub19zdXBwb3J0ZWRfd2FsbGV0czoiVG9kYXbDrWEgbm8gaGF5IGJpbGxldGVyYXMgY29tcGF0aWJsZXMiLG5vX3dhbGxldHNfZm91bmQ6Ik5vIHNlIGVuY29udHJhcm9uIGJpbGxldGVyYXMifSxmcjp7Y2hvb3NlX3ByZWZlcnJlZF93YWxsZXQ6IkNob2lzaXNzZXogdm90cmUgcG9ydGVmZXVpbGxlIHByw6lmw6lyw6kiLGNvbm5lY3RfbW9iaWxlX3dhbGxldDoiU2UgY29ubmVjdGVyIGF1IHBvcnRlZmV1aWxsZSBtb2JpbGUiLHNjYW5fcXJjb2RlX3dpdGhfd2FsbGV0OiJTY2FubmV6IGxlIFFSIGNvZGUgYXZlYyB1biBwb3J0ZWZldWlsbGUgY29tcGF0aWJsZSBXYWxsZXRDb25uZWN0Iixjb25uZWN0OiJTZSBjb25uZWN0ZXIiLHFyY29kZToiUVIgQ29kZSIsbW9iaWxlOiJNb2JpbGUiLGRlc2t0b3A6IkRlc2t0b3AiLGNvcHlfdG9fY2xpcGJvYXJkOiJDb3BpZXIiLGNvcGllZF90b19jbGlwYm9hcmQ6IkNvcGnDqSEiLGNvbm5lY3Rfd2l0aDoiQ29ubmVjdGV6LXZvdXMgw6AgbCdhaWRlIGRlIixsb2FkaW5nOiJDaGFyZ2VtZW50Li4uIixzb21ldGhpbmdfd2VudF93cm9uZzoiUXVlbHF1ZSBjaG9zZSBhIG1hbCB0b3VybsOpIixub19zdXBwb3J0ZWRfd2FsbGV0czoiSWwgbid5IGEgcGFzIGVuY29yZSBkZSBwb3J0ZWZldWlsbGVzIHByaXMgZW4gY2hhcmdlIixub193YWxsZXRzX2ZvdW5kOiJBdWN1biBwb3J0ZWZldWlsbGUgdHJvdXbDqSJ9LGtvOntjaG9vc2VfcHJlZmVycmVkX3dhbGxldDoi7JuQ7ZWY64qUIOyngOqwkeydhCDshKDtg53tlZjshLjsmpQiLGNvbm5lY3RfbW9iaWxlX3dhbGxldDoi66qo67CU7J28IOyngOqwkeqzvCDsl7DqsrAiLHNjYW5fcXJjb2RlX3dpdGhfd2FsbGV0OiJXYWxsZXRDb25uZWN0IOyngOybkCDsp4DqsJHsl5DshJwgUVLsvZTrk5zrpbwg7Iqk7LqU7ZWY7IS47JqUIixjb25uZWN0OiLsl7DqsrAiLHFyY29kZToiUVIg7L2U65OcIixtb2JpbGU6IuuqqOuwlOydvCIsZGVza3RvcDoi642w7Iqk7YGs7YORIixjb3B5X3RvX2NsaXBib2FyZDoi7YG066a967O065Oc7JeQIOuzteyCrCIsY29waWVkX3RvX2NsaXBib2FyZDoi7YG066a967O065Oc7JeQIOuzteyCrOuQmOyXiOyKteuLiOuLpCEiLGNvbm5lY3Rfd2l0aDoi7JmAIOyXsOqysO2VmOuLpCIsbG9hZGluZzoi66Gc65OcIOykkS4uLiIsc29tZXRoaW5nX3dlbnRfd3Jvbmc6IuusuOygnOqwgCDrsJzsg53tlojsirXri4jri6QuIixub19zdXBwb3J0ZWRfd2FsbGV0czoi7JWE7KeBIOyngOybkOuQmOuKlCDsp4DqsJHsnbQg7JeG7Iq164uI64ukIixub193YWxsZXRzX2ZvdW5kOiLsp4DqsJHsnYQg7LC+7J2EIOyImCDsl4bsirXri4jri6QifSxwdDp7Y2hvb3NlX3ByZWZlcnJlZF93YWxsZXQ6IkVzY29saGEgc3VhIGNhcnRlaXJhIHByZWZlcmlkYSIsY29ubmVjdF9tb2JpbGVfd2FsbGV0OiJDb25lY3Rhci1zZSDDoCBjYXJ0ZWlyYSBtw7N2ZWwiLHNjYW5fcXJjb2RlX3dpdGhfd2FsbGV0OiJMZXIgbyBjw7NkaWdvIFFSIGNvbSB1bWEgY2FydGVpcmEgY29tcGF0w612ZWwgY29tIFdhbGxldENvbm5lY3QiLGNvbm5lY3Q6IkNvbmVjdGFyIixxcmNvZGU6IkPDs2RpZ28gUVIiLG1vYmlsZToiTcOzdmVsIixkZXNrdG9wOiJEZXNrdG9wIixjb3B5X3RvX2NsaXBib2FyZDoiQ29waWFyIixjb3BpZWRfdG9fY2xpcGJvYXJkOiJDb3BpYWRvISIsY29ubmVjdF93aXRoOiJMaWdhciBwb3IgbWVpbyBkZSIsbG9hZGluZzoiQ2FycmVnYW1lbnRvLi4uIixzb21ldGhpbmdfd2VudF93cm9uZzoiQWxnbyBjb3JyZXUgbWFsIixub19zdXBwb3J0ZWRfd2FsbGV0czoiQWluZGEgbsOjbyBow6EgY2FydGVpcmFzIHN1cG9ydGFkYXMiLG5vX3dhbGxldHNfZm91bmQ6Ik5lbmh1bWEgY2FydGVpcmEgZW5jb250cmFkYSJ9LHpoOntjaG9vc2VfcHJlZmVycmVkX3dhbGxldDoi6YCJ5oup5L2g55qE6ZKx5YyFIixjb25uZWN0X21vYmlsZV93YWxsZXQ6Iui/nuaOpeiHs+enu+WKqOerr+mSseWMhSIsc2Nhbl9xcmNvZGVfd2l0aF93YWxsZXQ6IuS9v+eUqOWFvOWuuSBXYWxsZXRDb25uZWN0IOeahOmSseWMheaJq+aPj+S6jOe7tOeggSIsY29ubmVjdDoi6L+e5o6lIixxcmNvZGU6IuS6jOe7tOeggSIsbW9iaWxlOiLnp7vliqgiLGRlc2t0b3A6IuahjOmdoiIsY29weV90b19jbGlwYm9hcmQ6IuWkjeWItuWIsOWJqui0tOadvyIsY29waWVkX3RvX2NsaXBib2FyZDoi5aSN5Yi25Yiw5Ymq6LS05p2/5oiQ5Yqf77yBIixjb25uZWN0X3dpdGg6IumAmui/h+S7peS4i+aWueW8j+i/nuaOpSIsbG9hZGluZzoi5q2j5Zyo5Yqg6L29Li4uIixzb21ldGhpbmdfd2VudF93cm9uZzoi5Ye65LqG6Zeu6aKYIixub19zdXBwb3J0ZWRfd2FsbGV0czoi55uu5YmN6L+Y5rKh5pyJ5pSv5oyB55qE6ZKx5YyFIixub193YWxsZXRzX2ZvdW5kOiLmsqHmnInmib7liLDpkrHljIUifSxmYTp7Y2hvb3NlX3ByZWZlcnJlZF93YWxsZXQ6Itqp24zZgSDZvtmI2YQg2YXZiNix2K8g2YbYuNixINiu2YjYryDYsdinINin2YbYqtiu2KfYqCDaqdmG24zYryIsY29ubmVjdF9tb2JpbGVfd2FsbGV0OiLYqNmHINqp24zZgSDZvtmI2YQg2YXZiNio2KfbjNmEINmI2LXZhCDYtNmI24zYryIsc2Nhbl9xcmNvZGVfd2l0aF93YWxsZXQ6Itqp2K8gUVIg2LHYpyDYqNinINuM2qkg2qnbjNmBINm+2YjZhCDYs9in2LLar9in2LEg2KjYpyBXYWxsZXRDb25uZWN0INin2LPaqdmGINqp2YbbjNivIixjb25uZWN0OiLYp9iq2LXYp9mEIixxcmNvZGU6Itqp2K8gUVIiLG1vYmlsZToi2LPbjNin2LEiLGRlc2t0b3A6Itiv2LPaqdiq2KfZviIsY29weV90b19jbGlwYm9hcmQ6Itqp2b7bjCDYqNmHINqp2YTbjNm+INio2YjYsdivIixjb3BpZWRfdG9fY2xpcGJvYXJkOiLYr9ixINqp2YTbjNm+INio2YjYsdivINqp2b7bjCDYtNivISIsY29ubmVjdF93aXRoOiLYp9ix2KrYqNin2Lcg2KjYpyIsbG9hZGluZzoiLi4u2KjYp9ix2q/YsNin2LHbjCIsc29tZXRoaW5nX3dlbnRfd3Jvbmc6ItmF2LTaqdmE24wg2b7bjNi0INii2YXYryIsbm9fc3VwcG9ydGVkX3dhbGxldHM6ItmH2YbZiNiyINmH24zahiDaqduM2YEg2b7ZiNmEINm+2LTYqtuM2KjYp9mG24wg2LTYr9mHINin24wg2YjYrNmI2K8g2YbYr9in2LHYryIsbm9fd2FsbGV0c19mb3VuZDoi2YfbjNqGINqp24zZgSDZvtmI2YTbjCDZvtuM2K/YpyDZhti02K8ifX07ZnVuY3Rpb24gYigpe3ZhciB0PWkuZ2V0RG9jdW1lbnRPclRocm93KCksZT10LmdldEVsZW1lbnRCeUlkKCJ3YWxsZXRjb25uZWN0LXFyY29kZS1tb2RhbCIpO2UmJihlLmNsYXNzTmFtZT1lLmNsYXNzTmFtZS5yZXBsYWNlKCJmYWRlSW4iLCJmYWRlT3V0Iiksc2V0VGltZW91dCgoZnVuY3Rpb24oKXt2YXIgZT10LmdldEVsZW1lbnRCeUlkKCJ3YWxsZXRjb25uZWN0LXdyYXBwZXIiKTtlJiZ0LmJvZHkucmVtb3ZlQ2hpbGQoZSl9KSwzMDApKX1mdW5jdGlvbiB5KHQpe3JldHVybiBmdW5jdGlvbigpe2IoKSx0JiZ0KCl9fWZ1bmN0aW9uIHYodCxlLHIpeyFmdW5jdGlvbigpe3ZhciB0PWkuZ2V0RG9jdW1lbnRPclRocm93KCksZT10LmdldEVsZW1lbnRCeUlkKCJ3YWxsZXRjb25uZWN0LXN0eWxlLXNoZWV0Iik7ZSYmdC5oZWFkLnJlbW92ZUNoaWxkKGUpO3ZhciByPXQuY3JlYXRlRWxlbWVudCgic3R5bGUiKTtyLnNldEF0dHJpYnV0ZSgiaWQiLCJ3YWxsZXRjb25uZWN0LXN0eWxlLXNoZWV0Iiksci5pbm5lclRleHQ9Jzpyb290IHtcbiAgLS1hbmltYXRpb24tZHVyYXRpb246IDMwMG1zO1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4uYW5pbWF0ZWQge1xuICBhbmltYXRpb24tZHVyYXRpb246IHZhcigtLWFuaW1hdGlvbi1kdXJhdGlvbik7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG59XG5cbi5mYWRlSW4ge1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluO1xufVxuXG4uZmFkZU91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0O1xufVxuXG4jd2FsbGV0Y29ubmVjdC13cmFwcGVyIHtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbGVmdDogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDk5OTk5OTk5OTk5OTk5O1xufVxuXG4ud2FsbGV0Y29ubmVjdC1tb2RhbF9faGVhZGVyTG9nbyB7XG4gIGhlaWdodDogMjFweDtcbn1cblxuLndhbGxldGNvbm5lY3QtbW9kYWxfX2hlYWRlciBwIHtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luOiAwO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMTtcbiAgbWFyZ2luLWxlZnQ6IDVweDtcbn1cblxuLndhbGxldGNvbm5lY3QtbW9kYWxfX2Nsb3NlX193cmFwcGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDBweDtcbiAgcmlnaHQ6IDBweDtcbiAgei1pbmRleDogMTAwMDA7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBib3JkZXItcmFkaXVzOiAyNnB4O1xuICBwYWRkaW5nOiA2cHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAyNnB4O1xuICBoZWlnaHQ6IDI2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLndhbGxldGNvbm5lY3QtbW9kYWxfX2Nsb3NlX19pY29uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDdweDtcbiAgcmlnaHQ6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG59XG5cbi53YWxsZXRjb25uZWN0LW1vZGFsX19jbG9zZV9fbGluZTEge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2IoNDgsIDUyLCA1OSk7XG59XG5cbi53YWxsZXRjb25uZWN0LW1vZGFsX19jbG9zZV9fbGluZTIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2IoNDgsIDUyLCA1OSk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbn1cblxuLndhbGxldGNvbm5lY3QtcXJjb2RlX19iYXNlIHtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDM3LCA0MSwgNDYsIDAuOTUpO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgdHJhbnNpdGlvbjogMC40cyBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSk7XG4gIHdpZHRoOiAxMDAlO1xuICB3aWxsLWNoYW5nZTogb3BhY2l0eTtcbiAgcGFkZGluZzogNDBweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLndhbGxldGNvbm5lY3QtcXJjb2RlX190ZXh0IHtcbiAgY29sb3I6IHJnYmEoNjAsIDY2LCA4MiwgMC42KTtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgbGluZS1oZWlnaHQ6IDEuMTg3NWVtO1xuICBtYXJnaW46IDEwcHggMCAyMHB4IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLndhbGxldGNvbm5lY3QtcXJjb2RlX190ZXh0IHtcbiAgICBmb250LXNpemU6IDR2dztcbiAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDMyMHB4KSB7XG4gIC53YWxsZXRjb25uZWN0LXFyY29kZV9fdGV4dCB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICB9XG59XG5cbi53YWxsZXRjb25uZWN0LXFyY29kZV9faW1hZ2Uge1xuICB3aWR0aDogY2FsYygxMDAlIC0gMzBweCk7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGN1cnNvcjogbm9uZTtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi53YWxsZXRjb25uZWN0LXFyY29kZV9fbm90aWZpY2F0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBmb250LXNpemU6IDE2cHg7XG4gIHBhZGRpbmc6IDE2cHggMjBweDtcbiAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xcyBlYXNlLWluLW91dDtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIGNvbG9yOiBibGFjaztcbiAgbWFyZ2luLWJvdHRvbTogLTYwcHg7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi53YWxsZXRjb25uZWN0LXFyY29kZV9fbm90aWZpY2F0aW9uLm5vdGlmaWNhdGlvbl9fc2hvdyB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLndhbGxldGNvbm5lY3QtbW9kYWxfX2hlYWRlciB7XG4gICAgaGVpZ2h0OiAxMzBweDtcbiAgfVxuICAud2FsbGV0Y29ubmVjdC1tb2RhbF9fYmFzZSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLWRldmljZS13aWR0aDogNDE1cHgpIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAjY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiA3NjhweDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzc1cHgpIGFuZCAobWF4LXdpZHRoOiA0MTVweCkge1xuICAjY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiA0MTRweDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiAzNzVweCkge1xuICAjY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiAzNzVweDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzIwcHgpIHtcbiAgI2NvbnRlbnQge1xuICAgIG1heC13aWR0aDogMzIwcHg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxufVxuXG4ud2FsbGV0Y29ubmVjdC1tb2RhbF9fYmFzZSB7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBib3JkZXItcmFkaXVzOiAyNHB4O1xuICBib3gtc2hhZG93OiAwIDEwcHggNTBweCA1cHggcmdiYSgwLCAwLCAwLCAwLjQpO1xuICBmb250LWZhbWlseTogdWktcm91bmRlZCwgIlNGIFBybyBSb3VuZGVkIiwgIlNGIFBybyBUZXh0IiwgbWVkaXVtLWNvbnRlbnQtc2Fucy1zZXJpZi1mb250LFxuICAgIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgdWktc2Fucy1zZXJpZiwgIlNlZ29lIFVJIiwgUm9ib3RvLCBPeHlnZW4sIFVidW50dSwgQ2FudGFyZWxsLFxuICAgICJPcGVuIFNhbnMiLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmO1xuICBtYXJnaW4tdG9wOiA0MXB4O1xuICBwYWRkaW5nOiAyNHB4IDI0cHggMjJweDtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0cmFuc2l0aW9uOiAwLjRzIGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKTtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgdG9wOiA1MCU7XG4gIG1heC13aWR0aDogNTAwcHg7XG4gIG1hcmdpbjogYXV0bztcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzMjBweCkge1xuICAud2FsbGV0Y29ubmVjdC1tb2RhbF9fYmFzZSB7XG4gICAgcGFkZGluZzogMjRweCAxMnB4O1xuICB9XG59XG5cbi53YWxsZXRjb25uZWN0LW1vZGFsX19iYXNlIC5oaWRkZW4ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTUwJSk7XG4gIHRyYW5zaXRpb246IDAuMTI1cyBjdWJpYy1iZXppZXIoMC40LCAwLCAxLCAxKTtcbn1cblxuLndhbGxldGNvbm5lY3QtbW9kYWxfX2hlYWRlciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogMjZweDtcbiAgbGVmdDogMDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTQycHg7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ud2FsbGV0Y29ubmVjdC1tb2RhbF9fYmFzZSAud2MtbG9nbyB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogMjZweDtcbiAgbWFyZ2luLXRvcDogMTVweDtcbiAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xufVxuXG4ud2FsbGV0Y29ubmVjdC1tb2RhbF9fYmFzZSAud2MtbG9nbyBkaXYge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzM5OWZmO1xuICBoZWlnaHQ6IDIxcHg7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xuICBtYXNrLWltYWdlOiB1cmwoImltYWdlcy93Yy1sb2dvLnN2ZyIpIGNlbnRlciBuby1yZXBlYXQ7XG4gIHdpZHRoOiAzMnB4O1xufVxuXG4ud2FsbGV0Y29ubmVjdC1tb2RhbF9fYmFzZSAud2MtbG9nbyBwIHtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luOiAwO1xufVxuXG4ud2FsbGV0Y29ubmVjdC1tb2RhbF9fYmFzZSBoMiB7XG4gIGNvbG9yOiByZ2JhKDYwLCA2NiwgODIsIDAuNik7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjE4NzVlbTtcbiAgbWFyZ2luOiAwIDAgMTlweCAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ud2FsbGV0Y29ubmVjdC1tb2RhbF9fYmFzZV9fcm93IHtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogNTZweDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAwIDE1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwcHggMHB4IDhweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdHJhbnNpdGlvbjogMC4xNXMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpO1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi53YWxsZXRjb25uZWN0LW1vZGFsX19iYXNlX19yb3c6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDYwLCA2NiwgODIsIDAuMDYpO1xufVxuXG4ud2FsbGV0Y29ubmVjdC1tb2RhbF9fYmFzZV9fcm93OmFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoNjAsIDY2LCA4MiwgMC4wNik7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC45NzUpO1xuICB0cmFuc2l0aW9uOiAwLjFzIGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTtcbn1cblxuLndhbGxldGNvbm5lY3QtbW9kYWxfX2Jhc2VfX3Jvd19faDMge1xuICBjb2xvcjogIzI1MjkyZTtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmctYm90dG9tOiAzcHg7XG59XG5cbi53YWxsZXRjb25uZWN0LW1vZGFsX19iYXNlX19yb3dfX3JpZ2h0IHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi53YWxsZXRjb25uZWN0LW1vZGFsX19iYXNlX19yb3dfX3JpZ2h0X19hcHAtaWNvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgaGVpZ2h0OiAzNHB4O1xuICBtYXJnaW46IDAgMTFweCAycHggMDtcbiAgd2lkdGg6IDM0cHg7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgYm94LXNoYWRvdzogMCA0cHggMTJweCAwIHJnYmEoMzcsIDQxLCA0NiwgMC4yNSk7XG59XG5cbi53YWxsZXRjb25uZWN0LW1vZGFsX19iYXNlX19yb3dfX3JpZ2h0X19jYXJldCB7XG4gIGhlaWdodDogMThweDtcbiAgb3BhY2l0eTogMC4zO1xuICB0cmFuc2l0aW9uOiAwLjFzIGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTtcbiAgd2lkdGg6IDhweDtcbiAgd2lsbC1jaGFuZ2U6IG9wYWNpdHk7XG59XG5cbi53YWxsZXRjb25uZWN0LW1vZGFsX19iYXNlX19yb3c6aG92ZXIgLmNhcmV0LFxuLndhbGxldGNvbm5lY3QtbW9kYWxfX2Jhc2VfX3JvdzphY3RpdmUgLmNhcmV0IHtcbiAgb3BhY2l0eTogMC42O1xufVxuXG4ud2FsbGV0Y29ubmVjdC1tb2RhbF9fbW9iaWxlX190b2dnbGUge1xuICB3aWR0aDogODAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIG1hcmdpbi1ib3R0b206IDE4cHg7XG4gIGJhY2tncm91bmQ6ICNkNGQ1ZDk7XG59XG5cbi53YWxsZXRjb25uZWN0LW1vZGFsX19zaW5nbGVfd2FsbGV0IHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IDdweDtcbiAgbWFyZ2luLWJvdHRvbTogMThweDtcbn1cblxuLndhbGxldGNvbm5lY3QtbW9kYWxfX3NpbmdsZV93YWxsZXQgYSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6IHJnYig2NCwgMTUzLCAyNTUpO1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLndhbGxldGNvbm5lY3QtbW9kYWxfX21vYmlsZV9fdG9nZ2xlX3NlbGVjdG9yIHtcbiAgd2lkdGg6IGNhbGMoNTAlIC0gOHB4KTtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDhweCk7XG4gIHRvcDogNHB4O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg0cHgsIDAsIDApO1xufVxuXG4ud2FsbGV0Y29ubmVjdC1tb2RhbF9fbW9iaWxlX190b2dnbGUucmlnaHRfX3NlbGVjdGVkIC53YWxsZXRjb25uZWN0LW1vZGFsX19tb2JpbGVfX3RvZ2dsZV9zZWxlY3RvciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoY2FsYygxMDAlICsgMTJweCksIDAsIDApO1xufVxuXG4ud2FsbGV0Y29ubmVjdC1tb2RhbF9fbW9iaWxlX190b2dnbGUgYSB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgd2lkdGg6IDUwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiA4cHg7XG4gIG1hcmdpbjogMDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgei1pbmRleDogMTtcbn1cblxuLndhbGxldGNvbm5lY3QtbW9kYWxfX2Zvb3RlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIC53YWxsZXRjb25uZWN0LW1vZGFsX19mb290ZXIge1xuICAgIG1hcmdpbi10b3A6IDV2dztcbiAgfVxufVxuXG4ud2FsbGV0Y29ubmVjdC1tb2RhbF9fZm9vdGVyIGEge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAjODk4ZDk3O1xuICBmb250LXNpemU6IDE1cHg7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDMyMHB4KSB7XG4gIC53YWxsZXRjb25uZWN0LW1vZGFsX19mb290ZXIgYSB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICB9XG59XG5cbi53YWxsZXRjb25uZWN0LWNvbm5lY3RfX2J1dHRvbnNfX3dyYXBwZXIge1xuICBtYXgtaGVpZ2h0OiA0NHZoO1xufVxuXG4ud2FsbGV0Y29ubmVjdC1jb25uZWN0X19idXR0b25zX193cmFwcGVyX19hbmRyb2lkIHtcbiAgbWFyZ2luOiA1MCUgMDtcbn1cblxuLndhbGxldGNvbm5lY3QtY29ubmVjdF9fYnV0dG9uc19fd3JhcHBlcl9fd3JhcCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG4gIG1hcmdpbjogMTBweCAwO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC53YWxsZXRjb25uZWN0LWNvbm5lY3RfX2J1dHRvbnNfX3dyYXBwZXJfX3dyYXAge1xuICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gIH1cbn1cblxuLndhbGxldGNvbm5lY3QtY29ubmVjdF9fYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDY0LCAxNTMsIDI1NSk7XG4gIHBhZGRpbmc6IDEycHg7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpO1xuICBmb250LXdlaWdodDogNTAwO1xufVxuXG4ud2FsbGV0Y29ubmVjdC1jb25uZWN0X19idXR0b25fX2ljb25fYW5jaG9yIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbjogOHB4O1xuICB3aWR0aDogNDJweDtcbiAganVzdGlmeS1zZWxmOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDMyMHB4KSB7XG4gIC53YWxsZXRjb25uZWN0LWNvbm5lY3RfX2J1dHRvbl9faWNvbl9hbmNob3Ige1xuICAgIG1hcmdpbjogNHB4O1xuICB9XG59XG5cbi53YWxsZXRjb25uZWN0LWNvbm5lY3RfX2J1dHRvbl9faWNvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGhlaWdodDogNDJweDtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogNDJweDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlciAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwIDRweCAxMnB4IDAgcmdiYSgzNywgNDEsIDQ2LCAwLjI1KTtcbn1cblxuLndhbGxldGNvbm5lY3QtY29ubmVjdF9fYnV0dG9uX190ZXh0IHtcbiAgY29sb3I6ICM0MjQ5NTI7XG4gIGZvbnQtc2l6ZTogMi43dnc7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tdG9wOiAxLjh2dztcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAud2FsbGV0Y29ubmVjdC1jb25uZWN0X19idXR0b25fX3RleHQge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICB9XG59XG5cbi53YWxsZXRjb25uZWN0LXNlYXJjaF9faW5wdXQge1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICNkNGQ1ZDk7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogOHB4IDE2cHg7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1zdHJldGNoOiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXN0cmV0Y2g6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICB3aWR0aDogY2FsYygxMDAlIC0gMTZweCk7XG4gIG1hcmdpbjogMDtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xufVxuJyx0LmhlYWQuYXBwZW5kQ2hpbGQocil9KCk7dmFyIG4sbz1mdW5jdGlvbigpe3ZhciB0PWkuZ2V0RG9jdW1lbnRPclRocm93KCksZT10LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3JldHVybiBlLnNldEF0dHJpYnV0ZSgiaWQiLCJ3YWxsZXRjb25uZWN0LXdyYXBwZXIiKSx0LmJvZHkuYXBwZW5kQ2hpbGQoZSksZX0oKTthLnJlbmRlcihhLmNyZWF0ZUVsZW1lbnQobSx7dGV4dDoobj1pLmdldE5hdmlnYXRvck9yVGhyb3coKS5sYW5ndWFnZS5zcGxpdCgiLSIpWzBdfHwiZW4iLGdbbl18fGcuZW4pLHVyaTp0LG9uQ2xvc2U6eShlKSxxcmNvZGVNb2RhbE9wdGlvbnM6cn0pLG8pfXZhciBfPWZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgMCE9PWUmJnZvaWQgMCE9PWUudmVyc2lvbnMmJnZvaWQgMCE9PWUudmVyc2lvbnMubm9kZX07dmFyIHc9e29wZW46ZnVuY3Rpb24odCxlLHIpe2NvbnNvbGUubG9nKHQpLF8oKT9mdW5jdGlvbih0KXtvLnRvU3RyaW5nKHQse3R5cGU6InRlcm1pbmFsIn0pLnRoZW4oY29uc29sZS5sb2cpfSh0KTp2KHQsZSxyKX0sY2xvc2U6ZnVuY3Rpb24oKXtfKCl8fGIoKX19O3QuZXhwb3J0cz13fSkuY2FsbCh0aGlzLHIoNSkpfSxmdW5jdGlvbih0LGUscil7dmFyIG49cigxODApLGk9cigxODEpLG89cigxOTgpLHM9cigxOTkpO2Z1bmN0aW9uIGEodCxlLHIsbyxzKXt2YXIgYT1bXS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKSx1PWEubGVuZ3RoLGM9ImZ1bmN0aW9uIj09dHlwZW9mIGFbdS0xXTtpZighYyYmIW4oKSl0aHJvdyBuZXcgRXJyb3IoIkNhbGxiYWNrIHJlcXVpcmVkIGFzIGxhc3QgYXJndW1lbnQiKTtpZighYyl7aWYodTwxKXRocm93IG5ldyBFcnJvcigiVG9vIGZldyBhcmd1bWVudHMgcHJvdmlkZWQiKTtyZXR1cm4gMT09PXU/KHI9ZSxlPW89dm9pZCAwKToyIT09dXx8ZS5nZXRDb250ZXh0fHwobz1yLHI9ZSxlPXZvaWQgMCksbmV3IFByb21pc2UoKGZ1bmN0aW9uKG4scyl7dHJ5e3ZhciBhPWkuY3JlYXRlKHIsbyk7bih0KGEsZSxvKSl9Y2F0Y2godCl7cyh0KX19KSl9aWYodTwyKXRocm93IG5ldyBFcnJvcigiVG9vIGZldyBhcmd1bWVudHMgcHJvdmlkZWQiKTsyPT09dT8ocz1yLHI9ZSxlPW89dm9pZCAwKTozPT09dSYmKGUuZ2V0Q29udGV4dCYmdm9pZCAwPT09cz8ocz1vLG89dm9pZCAwKToocz1vLG89cixyPWUsZT12b2lkIDApKTt0cnl7dmFyIGY9aS5jcmVhdGUocixvKTtzKG51bGwsdChmLGUsbykpfWNhdGNoKHQpe3ModCl9fWUuY3JlYXRlPWkuY3JlYXRlLGUudG9DYW52YXM9YS5iaW5kKG51bGwsby5yZW5kZXIpLGUudG9EYXRhVVJMPWEuYmluZChudWxsLG8ucmVuZGVyVG9EYXRhVVJMKSxlLnRvU3RyaW5nPWEuYmluZChudWxsLChmdW5jdGlvbih0LGUscil7cmV0dXJuIHMucmVuZGVyKHQscil9KSl9LGZ1bmN0aW9uKHQsZSl7dC5leHBvcnRzPWZ1bmN0aW9uKCl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIFByb21pc2UmJlByb21pc2UucHJvdG90eXBlJiZQcm9taXNlLnByb3RvdHlwZS50aGVufX0sZnVuY3Rpb24odCxlLHIpe3ZhciBuPXIoMjYpLGk9cigxNyksbz1yKDUxKSxzPXIoMTgyKSxhPXIoMTgzKSx1PXIoMTg0KSxjPXIoMTg1KSxmPXIoMTg2KSxoPXIoOTgpLGw9cigxODcpLGQ9cigxOTApLHA9cigxOTEpLG09cigxOCksZz1yKDE5MiksYj1yKDUwKTtmdW5jdGlvbiB5KHQsZSxyKXt2YXIgbixpLG89dC5zaXplLHM9cC5nZXRFbmNvZGVkQml0cyhlLHIpO2ZvcihuPTA7bjwxNTtuKyspaT0xPT0ocz4+biYxKSxuPDY/dC5zZXQobiw4LGksITApOm48OD90LnNldChuKzEsOCxpLCEwKTp0LnNldChvLTE1K24sOCxpLCEwKSxuPDg/dC5zZXQoOCxvLW4tMSxpLCEwKTpuPDk/dC5zZXQoOCwxNS1uLTErMSxpLCEwKTp0LnNldCg4LDE1LW4tMSxpLCEwKTt0LnNldChvLTgsOCwxLCEwKX1mdW5jdGlvbiB2KHQsZSxyKXt2YXIgbz1uZXcgcztyLmZvckVhY2goKGZ1bmN0aW9uKGUpe28ucHV0KGUubW9kZS5iaXQsNCksby5wdXQoZS5nZXRMZW5ndGgoKSxtLmdldENoYXJDb3VudEluZGljYXRvcihlLm1vZGUsdCkpLGUud3JpdGUobyl9KSk7dmFyIGE9OCooaS5nZXRTeW1ib2xUb3RhbENvZGV3b3Jkcyh0KS1oLmdldFRvdGFsQ29kZXdvcmRzQ291bnQodCxlKSk7Zm9yKG8uZ2V0TGVuZ3RoSW5CaXRzKCkrNDw9YSYmby5wdXQoMCw0KTtvLmdldExlbmd0aEluQml0cygpJTghPTA7KW8ucHV0Qml0KDApO2Zvcih2YXIgdT0oYS1vLmdldExlbmd0aEluQml0cygpKS84LGM9MDtjPHU7YysrKW8ucHV0KGMlMj8xNzoyMzYsOCk7cmV0dXJuIGZ1bmN0aW9uKHQsZSxyKXtmb3IodmFyIG89aS5nZXRTeW1ib2xUb3RhbENvZGV3b3JkcyhlKSxzPWguZ2V0VG90YWxDb2Rld29yZHNDb3VudChlLHIpLGE9by1zLHU9aC5nZXRCbG9ja3NDb3VudChlLHIpLGM9dS1vJXUsZj1NYXRoLmZsb29yKG8vdSksZD1NYXRoLmZsb29yKGEvdSkscD1kKzEsbT1mLWQsZz1uZXcgbChtKSxiPTAseT1uZXcgQXJyYXkodSksdj1uZXcgQXJyYXkodSksXz0wLHc9bi5mcm9tKHQuYnVmZmVyKSxNPTA7TTx1O00rKyl7dmFyIFM9TTxjP2Q6cDt5W01dPXcuc2xpY2UoYixiK1MpLHZbTV09Zy5lbmNvZGUoeVtNXSksYis9UyxfPU1hdGgubWF4KF8sUyl9dmFyIEUseCxrPW4uYWxsb2MobyksQT0wO2ZvcihFPTA7RTxfO0UrKylmb3IoeD0wO3g8dTt4KyspRTx5W3hdLmxlbmd0aCYmKGtbQSsrXT15W3hdW0VdKTtmb3IoRT0wO0U8bTtFKyspZm9yKHg9MDt4PHU7eCsrKWtbQSsrXT12W3hdW0VdO3JldHVybiBrfShvLHQsZSl9ZnVuY3Rpb24gXyh0LGUscixuKXt2YXIgbztpZihiKHQpKW89Zy5mcm9tQXJyYXkodCk7ZWxzZXtpZigic3RyaW5nIiE9dHlwZW9mIHQpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIGRhdGEiKTt2YXIgcz1lO2lmKCFzKXt2YXIgaD1nLnJhd1NwbGl0KHQpO3M9ZC5nZXRCZXN0VmVyc2lvbkZvckRhdGEoaCxyKX1vPWcuZnJvbVN0cmluZyh0LHN8fDQwKX12YXIgbD1kLmdldEJlc3RWZXJzaW9uRm9yRGF0YShvLHIpO2lmKCFsKXRocm93IG5ldyBFcnJvcigiVGhlIGFtb3VudCBvZiBkYXRhIGlzIHRvbyBiaWcgdG8gYmUgc3RvcmVkIGluIGEgUVIgQ29kZSIpO2lmKGUpe2lmKGU8bCl0aHJvdyBuZXcgRXJyb3IoIlxuVGhlIGNob3NlbiBRUiBDb2RlIHZlcnNpb24gY2Fubm90IGNvbnRhaW4gdGhpcyBhbW91bnQgb2YgZGF0YS5cbk1pbmltdW0gdmVyc2lvbiByZXF1aXJlZCB0byBzdG9yZSBjdXJyZW50IGRhdGEgaXM6ICIrbCsiLlxuIil9ZWxzZSBlPWw7dmFyIHA9dihlLHIsbyksbT1pLmdldFN5bWJvbFNpemUoZSksXz1uZXcgYShtKTtyZXR1cm4gZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9dC5zaXplLG49Yy5nZXRQb3NpdGlvbnMoZSksaT0wO2k8bi5sZW5ndGg7aSsrKWZvcih2YXIgbz1uW2ldWzBdLHM9bltpXVsxXSxhPS0xO2E8PTc7YSsrKWlmKCEobythPD0tMXx8cjw9bythKSlmb3IodmFyIHU9LTE7dTw9Nzt1Kyspcyt1PD0tMXx8cjw9cyt1fHwoYT49MCYmYTw9NiYmKDA9PT11fHw2PT09dSl8fHU+PTAmJnU8PTYmJigwPT09YXx8Nj09PWEpfHxhPj0yJiZhPD00JiZ1Pj0yJiZ1PD00P3Quc2V0KG8rYSxzK3UsITAsITApOnQuc2V0KG8rYSxzK3UsITEsITApKX0oXyxlKSxmdW5jdGlvbih0KXtmb3IodmFyIGU9dC5zaXplLHI9ODtyPGUtODtyKyspe3ZhciBuPXIlMj09MDt0LnNldChyLDYsbiwhMCksdC5zZXQoNixyLG4sITApfX0oXyksZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9dS5nZXRQb3NpdGlvbnMoZSksbj0wO248ci5sZW5ndGg7bisrKWZvcih2YXIgaT1yW25dWzBdLG89cltuXVsxXSxzPS0yO3M8PTI7cysrKWZvcih2YXIgYT0tMjthPD0yO2ErKyktMj09PXN8fDI9PT1zfHwtMj09PWF8fDI9PT1hfHwwPT09cyYmMD09PWE/dC5zZXQoaStzLG8rYSwhMCwhMCk6dC5zZXQoaStzLG8rYSwhMSwhMCl9KF8sZSkseShfLHIsMCksZT49NyYmZnVuY3Rpb24odCxlKXtmb3IodmFyIHIsbixpLG89dC5zaXplLHM9ZC5nZXRFbmNvZGVkQml0cyhlKSxhPTA7YTwxODthKyspcj1NYXRoLmZsb29yKGEvMyksbj1hJTMrby04LTMsaT0xPT0ocz4+YSYxKSx0LnNldChyLG4saSwhMCksdC5zZXQobixyLGksITApfShfLGUpLGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPXQuc2l6ZSxuPS0xLGk9ci0xLG89NyxzPTAsYT1yLTE7YT4wO2EtPTIpZm9yKDY9PT1hJiZhLS07Oyl7Zm9yKHZhciB1PTA7dTwyO3UrKylpZighdC5pc1Jlc2VydmVkKGksYS11KSl7dmFyIGM9ITE7czxlLmxlbmd0aCYmKGM9MT09KGVbc10+Pj5vJjEpKSx0LnNldChpLGEtdSxjKSwtMT09PS0tbyYmKHMrKyxvPTcpfWlmKChpKz1uKTwwfHxyPD1pKXtpLT1uLG49LW47YnJlYWt9fX0oXyxwKSxpc05hTihuKSYmKG49Zi5nZXRCZXN0TWFzayhfLHkuYmluZChudWxsLF8scikpKSxmLmFwcGx5TWFzayhuLF8pLHkoXyxyLG4pLHttb2R1bGVzOl8sdmVyc2lvbjplLGVycm9yQ29ycmVjdGlvbkxldmVsOnIsbWFza1BhdHRlcm46bixzZWdtZW50czpvfX1lLmNyZWF0ZT1mdW5jdGlvbih0LGUpe2lmKHZvaWQgMD09PXR8fCIiPT09dCl0aHJvdyBuZXcgRXJyb3IoIk5vIGlucHV0IHRleHQiKTt2YXIgcixuLHM9by5NO3JldHVybiB2b2lkIDAhPT1lJiYocz1vLmZyb20oZS5lcnJvckNvcnJlY3Rpb25MZXZlbCxvLk0pLHI9ZC5mcm9tKGUudmVyc2lvbiksbj1mLmZyb20oZS5tYXNrUGF0dGVybiksZS50b1NKSVNGdW5jJiZpLnNldFRvU0pJU0Z1bmN0aW9uKGUudG9TSklTRnVuYykpLF8odCxyLHMsbil9fSxmdW5jdGlvbih0LGUpe2Z1bmN0aW9uIHIoKXt0aGlzLmJ1ZmZlcj1bXSx0aGlzLmxlbmd0aD0wfXIucHJvdG90eXBlPXtnZXQ6ZnVuY3Rpb24odCl7dmFyIGU9TWF0aC5mbG9vcih0LzgpO3JldHVybiAxPT0odGhpcy5idWZmZXJbZV0+Pj43LXQlOCYxKX0scHV0OmZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPTA7cjxlO3IrKyl0aGlzLnB1dEJpdCgxPT0odD4+PmUtci0xJjEpKX0sZ2V0TGVuZ3RoSW5CaXRzOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubGVuZ3RofSxwdXRCaXQ6ZnVuY3Rpb24odCl7dmFyIGU9TWF0aC5mbG9vcih0aGlzLmxlbmd0aC84KTt0aGlzLmJ1ZmZlci5sZW5ndGg8PWUmJnRoaXMuYnVmZmVyLnB1c2goMCksdCYmKHRoaXMuYnVmZmVyW2VdfD0xMjg+Pj50aGlzLmxlbmd0aCU4KSx0aGlzLmxlbmd0aCsrfX0sdC5leHBvcnRzPXJ9LGZ1bmN0aW9uKHQsZSxyKXt2YXIgbj1yKDI2KTtmdW5jdGlvbiBpKHQpe2lmKCF0fHx0PDEpdGhyb3cgbmV3IEVycm9yKCJCaXRNYXRyaXggc2l6ZSBtdXN0IGJlIGRlZmluZWQgYW5kIGdyZWF0ZXIgdGhhbiAwIik7dGhpcy5zaXplPXQsdGhpcy5kYXRhPW4uYWxsb2ModCp0KSx0aGlzLnJlc2VydmVkQml0PW4uYWxsb2ModCp0KX1pLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24odCxlLHIsbil7dmFyIGk9dCp0aGlzLnNpemUrZTt0aGlzLmRhdGFbaV09cixuJiYodGhpcy5yZXNlcnZlZEJpdFtpXT0hMCl9LGkucHJvdG90eXBlLmdldD1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLmRhdGFbdCp0aGlzLnNpemUrZV19LGkucHJvdG90eXBlLnhvcj1mdW5jdGlvbih0LGUscil7dGhpcy5kYXRhW3QqdGhpcy5zaXplK2VdXj1yfSxpLnByb3RvdHlwZS5pc1Jlc2VydmVkPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMucmVzZXJ2ZWRCaXRbdCp0aGlzLnNpemUrZV19LHQuZXhwb3J0cz1pfSxmdW5jdGlvbih0LGUscil7dmFyIG49cigxNykuZ2V0U3ltYm9sU2l6ZTtlLmdldFJvd0NvbENvb3Jkcz1mdW5jdGlvbih0KXtpZigxPT09dClyZXR1cm5bXTtmb3IodmFyIGU9TWF0aC5mbG9vcih0LzcpKzIscj1uKHQpLGk9MTQ1PT09cj8yNjoyKk1hdGguY2VpbCgoci0xMykvKDIqZS0yKSksbz1bci03XSxzPTE7czxlLTE7cysrKW9bc109b1tzLTFdLWk7cmV0dXJuIG8ucHVzaCg2KSxvLnJldmVyc2UoKX0sZS5nZXRQb3NpdGlvbnM9ZnVuY3Rpb24odCl7Zm9yKHZhciByPVtdLG49ZS5nZXRSb3dDb2xDb29yZHModCksaT1uLmxlbmd0aCxvPTA7bzxpO28rKylmb3IodmFyIHM9MDtzPGk7cysrKTA9PT1vJiYwPT09c3x8MD09PW8mJnM9PT1pLTF8fG89PT1pLTEmJjA9PT1zfHxyLnB1c2goW25bb10sbltzXV0pO3JldHVybiByfX0sZnVuY3Rpb24odCxlLHIpe3ZhciBuPXIoMTcpLmdldFN5bWJvbFNpemU7ZS5nZXRQb3NpdGlvbnM9ZnVuY3Rpb24odCl7dmFyIGU9bih0KTtyZXR1cm5bWzAsMF0sW2UtNywwXSxbMCxlLTddXX19LGZ1bmN0aW9uKHQsZSl7ZS5QYXR0ZXJucz17UEFUVEVSTjAwMDowLFBBVFRFUk4wMDE6MSxQQVRURVJOMDEwOjIsUEFUVEVSTjAxMTozLFBBVFRFUk4xMDA6NCxQQVRURVJOMTAxOjUsUEFUVEVSTjExMDo2LFBBVFRFUk4xMTE6N307dmFyIHI9MyxuPTMsaT00MCxvPTEwO2Z1bmN0aW9uIHModCxyLG4pe3N3aXRjaCh0KXtjYXNlIGUuUGF0dGVybnMuUEFUVEVSTjAwMDpyZXR1cm4ocituKSUyPT0wO2Nhc2UgZS5QYXR0ZXJucy5QQVRURVJOMDAxOnJldHVybiByJTI9PTA7Y2FzZSBlLlBhdHRlcm5zLlBBVFRFUk4wMTA6cmV0dXJuIG4lMz09MDtjYXNlIGUuUGF0dGVybnMuUEFUVEVSTjAxMTpyZXR1cm4ocituKSUzPT0wO2Nhc2UgZS5QYXR0ZXJucy5QQVRURVJOMTAwOnJldHVybihNYXRoLmZsb29yKHIvMikrTWF0aC5mbG9vcihuLzMpKSUyPT0wO2Nhc2UgZS5QYXR0ZXJucy5QQVRURVJOMTAxOnJldHVybiByKm4lMityKm4lMz09MDtjYXNlIGUuUGF0dGVybnMuUEFUVEVSTjExMDpyZXR1cm4ocipuJTIrcipuJTMpJTI9PTA7Y2FzZSBlLlBhdHRlcm5zLlBBVFRFUk4xMTE6cmV0dXJuKHIqbiUzKyhyK24pJTIpJTI9PTA7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoImJhZCBtYXNrUGF0dGVybjoiK3QpfX1lLmlzVmFsaWQ9ZnVuY3Rpb24odCl7cmV0dXJuIG51bGwhPXQmJiIiIT09dCYmIWlzTmFOKHQpJiZ0Pj0wJiZ0PD03fSxlLmZyb209ZnVuY3Rpb24odCl7cmV0dXJuIGUuaXNWYWxpZCh0KT9wYXJzZUludCh0LDEwKTp2b2lkIDB9LGUuZ2V0UGVuYWx0eU4xPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10LnNpemUsbj0wLGk9MCxvPTAscz1udWxsLGE9bnVsbCx1PTA7dTxlO3UrKyl7aT1vPTAscz1hPW51bGw7Zm9yKHZhciBjPTA7YzxlO2MrKyl7dmFyIGY9dC5nZXQodSxjKTtmPT09cz9pKys6KGk+PTUmJihuKz1yKyhpLTUpKSxzPWYsaT0xKSwoZj10LmdldChjLHUpKT09PWE/bysrOihvPj01JiYobis9cisoby01KSksYT1mLG89MSl9aT49NSYmKG4rPXIrKGktNSkpLG8+PTUmJihuKz1yKyhvLTUpKX1yZXR1cm4gbn0sZS5nZXRQZW5hbHR5TjI9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPXQuc2l6ZSxyPTAsaT0wO2k8ZS0xO2krKylmb3IodmFyIG89MDtvPGUtMTtvKyspe3ZhciBzPXQuZ2V0KGksbykrdC5nZXQoaSxvKzEpK3QuZ2V0KGkrMSxvKSt0LmdldChpKzEsbysxKTs0IT09cyYmMCE9PXN8fHIrK31yZXR1cm4gcipufSxlLmdldFBlbmFsdHlOMz1mdW5jdGlvbih0KXtmb3IodmFyIGU9dC5zaXplLHI9MCxuPTAsbz0wLHM9MDtzPGU7cysrKXtuPW89MDtmb3IodmFyIGE9MDthPGU7YSsrKW49bjw8MSYyMDQ3fHQuZ2V0KHMsYSksYT49MTAmJigxNDg4PT09bnx8OTM9PT1uKSYmcisrLG89bzw8MSYyMDQ3fHQuZ2V0KGEscyksYT49MTAmJigxNDg4PT09b3x8OTM9PT1vKSYmcisrfXJldHVybiByKml9LGUuZ2V0UGVuYWx0eU40PWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT0wLHI9dC5kYXRhLmxlbmd0aCxuPTA7bjxyO24rKyllKz10LmRhdGFbbl07cmV0dXJuIE1hdGguYWJzKE1hdGguY2VpbCgxMDAqZS9yLzUpLTEwKSpvfSxlLmFwcGx5TWFzaz1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj1lLnNpemUsbj0wO248cjtuKyspZm9yKHZhciBpPTA7aTxyO2krKyllLmlzUmVzZXJ2ZWQoaSxuKXx8ZS54b3IoaSxuLHModCxpLG4pKX0sZS5nZXRCZXN0TWFzaz1mdW5jdGlvbih0LHIpe2Zvcih2YXIgbj1PYmplY3Qua2V5cyhlLlBhdHRlcm5zKS5sZW5ndGgsaT0wLG89MS8wLHM9MDtzPG47cysrKXtyKHMpLGUuYXBwbHlNYXNrKHMsdCk7dmFyIGE9ZS5nZXRQZW5hbHR5TjEodCkrZS5nZXRQZW5hbHR5TjIodCkrZS5nZXRQZW5hbHR5TjModCkrZS5nZXRQZW5hbHR5TjQodCk7ZS5hcHBseU1hc2socyx0KSxhPG8mJihvPWEsaT1zKX1yZXR1cm4gaX19LGZ1bmN0aW9uKHQsZSxyKXt2YXIgbj1yKDI2KSxpPXIoMTg4KSxvPXIoMikuQnVmZmVyO2Z1bmN0aW9uIHModCl7dGhpcy5nZW5Qb2x5PXZvaWQgMCx0aGlzLmRlZ3JlZT10LHRoaXMuZGVncmVlJiZ0aGlzLmluaXRpYWxpemUodGhpcy5kZWdyZWUpfXMucHJvdG90eXBlLmluaXRpYWxpemU9ZnVuY3Rpb24odCl7dGhpcy5kZWdyZWU9dCx0aGlzLmdlblBvbHk9aS5nZW5lcmF0ZUVDUG9seW5vbWlhbCh0aGlzLmRlZ3JlZSl9LHMucHJvdG90eXBlLmVuY29kZT1mdW5jdGlvbih0KXtpZighdGhpcy5nZW5Qb2x5KXRocm93IG5ldyBFcnJvcigiRW5jb2RlciBub3QgaW5pdGlhbGl6ZWQiKTt2YXIgZT1uLmFsbG9jKHRoaXMuZGVncmVlKSxyPW8uY29uY2F0KFt0LGVdLHQubGVuZ3RoK3RoaXMuZGVncmVlKSxzPWkubW9kKHIsdGhpcy5nZW5Qb2x5KSxhPXRoaXMuZGVncmVlLXMubGVuZ3RoO2lmKGE+MCl7dmFyIHU9bi5hbGxvYyh0aGlzLmRlZ3JlZSk7cmV0dXJuIHMuY29weSh1LGEpLHV9cmV0dXJuIHN9LHQuZXhwb3J0cz1zfSxmdW5jdGlvbih0LGUscil7dmFyIG49cigyNiksaT1yKDE4OSk7ZS5tdWw9ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9bi5hbGxvYyh0Lmxlbmd0aCtlLmxlbmd0aC0xKSxvPTA7bzx0Lmxlbmd0aDtvKyspZm9yKHZhciBzPTA7czxlLmxlbmd0aDtzKyspcltvK3NdXj1pLm11bCh0W29dLGVbc10pO3JldHVybiByfSxlLm1vZD1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj1uLmZyb20odCk7ci5sZW5ndGgtZS5sZW5ndGg+PTA7KXtmb3IodmFyIG89clswXSxzPTA7czxlLmxlbmd0aDtzKyspcltzXV49aS5tdWwoZVtzXSxvKTtmb3IodmFyIGE9MDthPHIubGVuZ3RoJiYwPT09clthXTspYSsrO3I9ci5zbGljZShhKX1yZXR1cm4gcn0sZS5nZW5lcmF0ZUVDUG9seW5vbWlhbD1mdW5jdGlvbih0KXtmb3IodmFyIHI9bi5mcm9tKFsxXSksbz0wO288dDtvKyspcj1lLm11bChyLFsxLGkuZXhwKG8pXSk7cmV0dXJuIHJ9fSxmdW5jdGlvbih0LGUscil7dmFyIG49cigyNiksaT1uLmFsbG9jKDUxMiksbz1uLmFsbG9jKDI1Nik7IWZ1bmN0aW9uKCl7Zm9yKHZhciB0PTEsZT0wO2U8MjU1O2UrKylpW2VdPXQsb1t0XT1lLDI1NiYodDw8PTEpJiYodF49Mjg1KTtmb3IoZT0yNTU7ZTw1MTI7ZSsrKWlbZV09aVtlLTI1NV19KCksZS5sb2c9ZnVuY3Rpb24odCl7aWYodDwxKXRocm93IG5ldyBFcnJvcigibG9nKCIrdCsiKSIpO3JldHVybiBvW3RdfSxlLmV4cD1mdW5jdGlvbih0KXtyZXR1cm4gaVt0XX0sZS5tdWw9ZnVuY3Rpb24odCxlKXtyZXR1cm4gMD09PXR8fDA9PT1lPzA6aVtvW3RdK29bZV1dfX0sZnVuY3Rpb24odCxlLHIpe3ZhciBuPXIoMTcpLGk9cig5OCksbz1yKDUxKSxzPXIoMTgpLGE9cig5OSksdT1yKDUwKSxjPW4uZ2V0QkNIRGlnaXQoNzk3Myk7ZnVuY3Rpb24gZih0LGUpe3JldHVybiBzLmdldENoYXJDb3VudEluZGljYXRvcih0LGUpKzR9ZnVuY3Rpb24gaCh0LGUpe3ZhciByPTA7cmV0dXJuIHQuZm9yRWFjaCgoZnVuY3Rpb24odCl7dmFyIG49Zih0Lm1vZGUsZSk7cis9bit0LmdldEJpdHNMZW5ndGgoKX0pKSxyfWUuZnJvbT1mdW5jdGlvbih0LGUpe3JldHVybiBhLmlzVmFsaWQodCk/cGFyc2VJbnQodCwxMCk6ZX0sZS5nZXRDYXBhY2l0eT1mdW5jdGlvbih0LGUscil7aWYoIWEuaXNWYWxpZCh0KSl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgUVIgQ29kZSB2ZXJzaW9uIik7dm9pZCAwPT09ciYmKHI9cy5CWVRFKTt2YXIgbz04KihuLmdldFN5bWJvbFRvdGFsQ29kZXdvcmRzKHQpLWkuZ2V0VG90YWxDb2Rld29yZHNDb3VudCh0LGUpKTtpZihyPT09cy5NSVhFRClyZXR1cm4gbzt2YXIgdT1vLWYocix0KTtzd2l0Y2gocil7Y2FzZSBzLk5VTUVSSUM6cmV0dXJuIE1hdGguZmxvb3IodS8xMCozKTtjYXNlIHMuQUxQSEFOVU1FUklDOnJldHVybiBNYXRoLmZsb29yKHUvMTEqMik7Y2FzZSBzLktBTkpJOnJldHVybiBNYXRoLmZsb29yKHUvMTMpO2Nhc2Ugcy5CWVRFOmRlZmF1bHQ6cmV0dXJuIE1hdGguZmxvb3IodS84KX19LGUuZ2V0QmVzdFZlcnNpb25Gb3JEYXRhPWZ1bmN0aW9uKHQscil7dmFyIG4saT1vLmZyb20ocixvLk0pO2lmKHUodCkpe2lmKHQubGVuZ3RoPjEpcmV0dXJuIGZ1bmN0aW9uKHQscil7Zm9yKHZhciBuPTE7bjw9NDA7bisrKXtpZihoKHQsbik8PWUuZ2V0Q2FwYWNpdHkobixyLHMuTUlYRUQpKXJldHVybiBufX0odCxpKTtpZigwPT09dC5sZW5ndGgpcmV0dXJuIDE7bj10WzBdfWVsc2Ugbj10O3JldHVybiBmdW5jdGlvbih0LHIsbil7Zm9yKHZhciBpPTE7aTw9NDA7aSsrKWlmKHI8PWUuZ2V0Q2FwYWNpdHkoaSxuLHQpKXJldHVybiBpfShuLm1vZGUsbi5nZXRMZW5ndGgoKSxpKX0sZS5nZXRFbmNvZGVkQml0cz1mdW5jdGlvbih0KXtpZighYS5pc1ZhbGlkKHQpfHx0PDcpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIFFSIENvZGUgdmVyc2lvbiIpO2Zvcih2YXIgZT10PDwxMjtuLmdldEJDSERpZ2l0KGUpLWM+PTA7KWVePTc5NzM8PG4uZ2V0QkNIRGlnaXQoZSktYztyZXR1cm4gdDw8MTJ8ZX19LGZ1bmN0aW9uKHQsZSxyKXt2YXIgbj1yKDE3KSxpPW4uZ2V0QkNIRGlnaXQoMTMzNSk7ZS5nZXRFbmNvZGVkQml0cz1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj10LmJpdDw8M3xlLG89cjw8MTA7bi5nZXRCQ0hEaWdpdChvKS1pPj0wOylvXj0xMzM1PDxuLmdldEJDSERpZ2l0KG8pLWk7cmV0dXJuIDIxNTIyXihyPDwxMHxvKX19LGZ1bmN0aW9uKHQsZSxyKXt2YXIgbj1yKDE4KSxpPXIoMTkzKSxvPXIoMTk0KSxzPXIoMTk1KSxhPXIoMTk2KSx1PXIoMTAwKSxjPXIoMTcpLGY9cigxOTcpO2Z1bmN0aW9uIGgodCl7cmV0dXJuIHVuZXNjYXBlKGVuY29kZVVSSUNvbXBvbmVudCh0KSkubGVuZ3RofWZ1bmN0aW9uIGwodCxlLHIpe2Zvcih2YXIgbixpPVtdO251bGwhPT0obj10LmV4ZWMocikpOylpLnB1c2goe2RhdGE6blswXSxpbmRleDpuLmluZGV4LG1vZGU6ZSxsZW5ndGg6blswXS5sZW5ndGh9KTtyZXR1cm4gaX1mdW5jdGlvbiBkKHQpe3ZhciBlLHIsaT1sKHUuTlVNRVJJQyxuLk5VTUVSSUMsdCksbz1sKHUuQUxQSEFOVU1FUklDLG4uQUxQSEFOVU1FUklDLHQpO3JldHVybiBjLmlzS2FuamlNb2RlRW5hYmxlZCgpPyhlPWwodS5CWVRFLG4uQllURSx0KSxyPWwodS5LQU5KSSxuLktBTkpJLHQpKTooZT1sKHUuQllURV9LQU5KSSxuLkJZVEUsdCkscj1bXSksaS5jb25jYXQobyxlLHIpLnNvcnQoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQuaW5kZXgtZS5pbmRleH0pKS5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybntkYXRhOnQuZGF0YSxtb2RlOnQubW9kZSxsZW5ndGg6dC5sZW5ndGh9fSkpfWZ1bmN0aW9uIHAodCxlKXtzd2l0Y2goZSl7Y2FzZSBuLk5VTUVSSUM6cmV0dXJuIGkuZ2V0Qml0c0xlbmd0aCh0KTtjYXNlIG4uQUxQSEFOVU1FUklDOnJldHVybiBvLmdldEJpdHNMZW5ndGgodCk7Y2FzZSBuLktBTkpJOnJldHVybiBhLmdldEJpdHNMZW5ndGgodCk7Y2FzZSBuLkJZVEU6cmV0dXJuIHMuZ2V0Qml0c0xlbmd0aCh0KX19ZnVuY3Rpb24gbSh0LGUpe3ZhciByLHU9bi5nZXRCZXN0TW9kZUZvckRhdGEodCk7aWYoKHI9bi5mcm9tKGUsdSkpIT09bi5CWVRFJiZyLmJpdDx1LmJpdCl0aHJvdyBuZXcgRXJyb3IoJyInK3QrJyIgY2Fubm90IGJlIGVuY29kZWQgd2l0aCBtb2RlICcrbi50b1N0cmluZyhyKSsiLlxuIFN1Z2dlc3RlZCBtb2RlIGlzOiAiK24udG9TdHJpbmcodSkpO3N3aXRjaChyIT09bi5LQU5KSXx8Yy5pc0thbmppTW9kZUVuYWJsZWQoKXx8KHI9bi5CWVRFKSxyKXtjYXNlIG4uTlVNRVJJQzpyZXR1cm4gbmV3IGkodCk7Y2FzZSBuLkFMUEhBTlVNRVJJQzpyZXR1cm4gbmV3IG8odCk7Y2FzZSBuLktBTkpJOnJldHVybiBuZXcgYSh0KTtjYXNlIG4uQllURTpyZXR1cm4gbmV3IHModCl9fWUuZnJvbUFycmF5PWZ1bmN0aW9uKHQpe3JldHVybiB0LnJlZHVjZSgoZnVuY3Rpb24odCxlKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGU/dC5wdXNoKG0oZSxudWxsKSk6ZS5kYXRhJiZ0LnB1c2gobShlLmRhdGEsZS5tb2RlKSksdH0pLFtdKX0sZS5mcm9tU3RyaW5nPWZ1bmN0aW9uKHQscil7Zm9yKHZhciBpPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPXt9LGk9e3N0YXJ0Ont9fSxvPVsic3RhcnQiXSxzPTA7czx0Lmxlbmd0aDtzKyspe2Zvcih2YXIgYT10W3NdLHU9W10sYz0wO2M8YS5sZW5ndGg7YysrKXt2YXIgZj1hW2NdLGg9IiIrcytjO3UucHVzaChoKSxyW2hdPXtub2RlOmYsbGFzdENvdW50OjB9LGlbaF09e307Zm9yKHZhciBsPTA7bDxvLmxlbmd0aDtsKyspe3ZhciBkPW9bbF07cltkXSYmcltkXS5ub2RlLm1vZGU9PT1mLm1vZGU/KGlbZF1baF09cChyW2RdLmxhc3RDb3VudCtmLmxlbmd0aCxmLm1vZGUpLXAocltkXS5sYXN0Q291bnQsZi5tb2RlKSxyW2RdLmxhc3RDb3VudCs9Zi5sZW5ndGgpOihyW2RdJiYocltkXS5sYXN0Q291bnQ9Zi5sZW5ndGgpLGlbZF1baF09cChmLmxlbmd0aCxmLm1vZGUpKzQrbi5nZXRDaGFyQ291bnRJbmRpY2F0b3IoZi5tb2RlLGUpKX19bz11fWZvcihsPTA7bDxvLmxlbmd0aDtsKyspaVtvW2xdXS5lbmQ9MDtyZXR1cm57bWFwOmksdGFibGU6cn19KGZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1bXSxyPTA7cjx0Lmxlbmd0aDtyKyspe3ZhciBpPXRbcl07c3dpdGNoKGkubW9kZSl7Y2FzZSBuLk5VTUVSSUM6ZS5wdXNoKFtpLHtkYXRhOmkuZGF0YSxtb2RlOm4uQUxQSEFOVU1FUklDLGxlbmd0aDppLmxlbmd0aH0se2RhdGE6aS5kYXRhLG1vZGU6bi5CWVRFLGxlbmd0aDppLmxlbmd0aH1dKTticmVhaztjYXNlIG4uQUxQSEFOVU1FUklDOmUucHVzaChbaSx7ZGF0YTppLmRhdGEsbW9kZTpuLkJZVEUsbGVuZ3RoOmkubGVuZ3RofV0pO2JyZWFrO2Nhc2Ugbi5LQU5KSTplLnB1c2goW2kse2RhdGE6aS5kYXRhLG1vZGU6bi5CWVRFLGxlbmd0aDpoKGkuZGF0YSl9XSk7YnJlYWs7Y2FzZSBuLkJZVEU6ZS5wdXNoKFt7ZGF0YTppLmRhdGEsbW9kZTpuLkJZVEUsbGVuZ3RoOmgoaS5kYXRhKX1dKX19cmV0dXJuIGV9KGQodCxjLmlzS2FuamlNb2RlRW5hYmxlZCgpKSksciksbz1mLmZpbmRfcGF0aChpLm1hcCwic3RhcnQiLCJlbmQiKSxzPVtdLGE9MTthPG8ubGVuZ3RoLTE7YSsrKXMucHVzaChpLnRhYmxlW29bYV1dLm5vZGUpO3JldHVybiBlLmZyb21BcnJheShmdW5jdGlvbih0KXtyZXR1cm4gdC5yZWR1Y2UoKGZ1bmN0aW9uKHQsZSl7dmFyIHI9dC5sZW5ndGgtMT49MD90W3QubGVuZ3RoLTFdOm51bGw7cmV0dXJuIHImJnIubW9kZT09PWUubW9kZT8odFt0Lmxlbmd0aC0xXS5kYXRhKz1lLmRhdGEsdCk6KHQucHVzaChlKSx0KX0pLFtdKX0ocykpfSxlLnJhd1NwbGl0PWZ1bmN0aW9uKHQpe3JldHVybiBlLmZyb21BcnJheShkKHQsYy5pc0thbmppTW9kZUVuYWJsZWQoKSkpfX0sZnVuY3Rpb24odCxlLHIpe3ZhciBuPXIoMTgpO2Z1bmN0aW9uIGkodCl7dGhpcy5tb2RlPW4uTlVNRVJJQyx0aGlzLmRhdGE9dC50b1N0cmluZygpfWkuZ2V0Qml0c0xlbmd0aD1mdW5jdGlvbih0KXtyZXR1cm4gMTAqTWF0aC5mbG9vcih0LzMpKyh0JTM/dCUzKjMrMTowKX0saS5wcm90b3R5cGUuZ2V0TGVuZ3RoPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZGF0YS5sZW5ndGh9LGkucHJvdG90eXBlLmdldEJpdHNMZW5ndGg9ZnVuY3Rpb24oKXtyZXR1cm4gaS5nZXRCaXRzTGVuZ3RoKHRoaXMuZGF0YS5sZW5ndGgpfSxpLnByb3RvdHlwZS53cml0ZT1mdW5jdGlvbih0KXt2YXIgZSxyLG47Zm9yKGU9MDtlKzM8PXRoaXMuZGF0YS5sZW5ndGg7ZSs9MylyPXRoaXMuZGF0YS5zdWJzdHIoZSwzKSxuPXBhcnNlSW50KHIsMTApLHQucHV0KG4sMTApO3ZhciBpPXRoaXMuZGF0YS5sZW5ndGgtZTtpPjAmJihyPXRoaXMuZGF0YS5zdWJzdHIoZSksbj1wYXJzZUludChyLDEwKSx0LnB1dChuLDMqaSsxKSl9LHQuZXhwb3J0cz1pfSxmdW5jdGlvbih0LGUscil7dmFyIG49cigxOCksaT1bIjAiLCIxIiwiMiIsIjMiLCI0IiwiNSIsIjYiLCI3IiwiOCIsIjkiLCJBIiwiQiIsIkMiLCJEIiwiRSIsIkYiLCJHIiwiSCIsIkkiLCJKIiwiSyIsIkwiLCJNIiwiTiIsIk8iLCJQIiwiUSIsIlIiLCJTIiwiVCIsIlUiLCJWIiwiVyIsIlgiLCJZIiwiWiIsIiAiLCIkIiwiJSIsIioiLCIrIiwiLSIsIi4iLCIvIiwiOiJdO2Z1bmN0aW9uIG8odCl7dGhpcy5tb2RlPW4uQUxQSEFOVU1FUklDLHRoaXMuZGF0YT10fW8uZ2V0Qml0c0xlbmd0aD1mdW5jdGlvbih0KXtyZXR1cm4gMTEqTWF0aC5mbG9vcih0LzIpK3QlMio2fSxvLnByb3RvdHlwZS5nZXRMZW5ndGg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kYXRhLmxlbmd0aH0sby5wcm90b3R5cGUuZ2V0Qml0c0xlbmd0aD1mdW5jdGlvbigpe3JldHVybiBvLmdldEJpdHNMZW5ndGgodGhpcy5kYXRhLmxlbmd0aCl9LG8ucHJvdG90eXBlLndyaXRlPWZ1bmN0aW9uKHQpe3ZhciBlO2ZvcihlPTA7ZSsyPD10aGlzLmRhdGEubGVuZ3RoO2UrPTIpe3ZhciByPTQ1KmkuaW5kZXhPZih0aGlzLmRhdGFbZV0pO3IrPWkuaW5kZXhPZih0aGlzLmRhdGFbZSsxXSksdC5wdXQociwxMSl9dGhpcy5kYXRhLmxlbmd0aCUyJiZ0LnB1dChpLmluZGV4T2YodGhpcy5kYXRhW2VdKSw2KX0sdC5leHBvcnRzPW99LGZ1bmN0aW9uKHQsZSxyKXt2YXIgbj1yKDI2KSxpPXIoMTgpO2Z1bmN0aW9uIG8odCl7dGhpcy5tb2RlPWkuQllURSx0aGlzLmRhdGE9bi5mcm9tKHQpfW8uZ2V0Qml0c0xlbmd0aD1mdW5jdGlvbih0KXtyZXR1cm4gOCp0fSxvLnByb3RvdHlwZS5nZXRMZW5ndGg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kYXRhLmxlbmd0aH0sby5wcm90b3R5cGUuZ2V0Qml0c0xlbmd0aD1mdW5jdGlvbigpe3JldHVybiBvLmdldEJpdHNMZW5ndGgodGhpcy5kYXRhLmxlbmd0aCl9LG8ucHJvdG90eXBlLndyaXRlPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT0wLHI9dGhpcy5kYXRhLmxlbmd0aDtlPHI7ZSsrKXQucHV0KHRoaXMuZGF0YVtlXSw4KX0sdC5leHBvcnRzPW99LGZ1bmN0aW9uKHQsZSxyKXt2YXIgbj1yKDE4KSxpPXIoMTcpO2Z1bmN0aW9uIG8odCl7dGhpcy5tb2RlPW4uS0FOSkksdGhpcy5kYXRhPXR9by5nZXRCaXRzTGVuZ3RoPWZ1bmN0aW9uKHQpe3JldHVybiAxMyp0fSxvLnByb3RvdHlwZS5nZXRMZW5ndGg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kYXRhLmxlbmd0aH0sby5wcm90b3R5cGUuZ2V0Qml0c0xlbmd0aD1mdW5jdGlvbigpe3JldHVybiBvLmdldEJpdHNMZW5ndGgodGhpcy5kYXRhLmxlbmd0aCl9LG8ucHJvdG90eXBlLndyaXRlPWZ1bmN0aW9uKHQpe3ZhciBlO2ZvcihlPTA7ZTx0aGlzLmRhdGEubGVuZ3RoO2UrKyl7dmFyIHI9aS50b1NKSVModGhpcy5kYXRhW2VdKTtpZihyPj0zMzA4OCYmcjw9NDA5NTYpci09MzMwODg7ZWxzZXtpZighKHI+PTU3NDA4JiZyPD02MDM1MSkpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIFNKSVMgY2hhcmFjdGVyOiAiK3RoaXMuZGF0YVtlXSsiXG5NYWtlIHN1cmUgeW91ciBjaGFyc2V0IGlzIFVURi04Iik7ci09NDk0NzJ9cj0xOTIqKHI+Pj44JjI1NSkrKDI1NSZyKSx0LnB1dChyLDEzKX19LHQuZXhwb3J0cz1vfSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXtzaW5nbGVfc291cmNlX3Nob3J0ZXN0X3BhdGhzOmZ1bmN0aW9uKHQsZSxyKXt2YXIgaT17fSxvPXt9O29bZV09MDt2YXIgcyxhLHUsYyxmLGgsbCxkPW4uUHJpb3JpdHlRdWV1ZS5tYWtlKCk7Zm9yKGQucHVzaChlLDApOyFkLmVtcHR5KCk7KWZvcih1IGluIGE9KHM9ZC5wb3AoKSkudmFsdWUsYz1zLmNvc3QsZj10W2FdfHx7fSlmLmhhc093blByb3BlcnR5KHUpJiYoaD1jK2ZbdV0sbD1vW3VdLCh2b2lkIDA9PT1vW3VdfHxsPmgpJiYob1t1XT1oLGQucHVzaCh1LGgpLGlbdV09YSkpO2lmKHZvaWQgMCE9PXImJnZvaWQgMD09PW9bcl0pe3ZhciBwPVsiQ291bGQgbm90IGZpbmQgYSBwYXRoIGZyb20gIixlLCIgdG8gIixyLCIuIl0uam9pbigiIik7dGhyb3cgbmV3IEVycm9yKHApfXJldHVybiBpfSxleHRyYWN0X3Nob3J0ZXN0X3BhdGhfZnJvbV9wcmVkZWNlc3Nvcl9saXN0OmZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPVtdLG49ZTtuOylyLnB1c2gobiksdFtuXSxuPXRbbl07cmV0dXJuIHIucmV2ZXJzZSgpLHJ9LGZpbmRfcGF0aDpmdW5jdGlvbih0LGUscil7dmFyIGk9bi5zaW5nbGVfc291cmNlX3Nob3J0ZXN0X3BhdGhzKHQsZSxyKTtyZXR1cm4gbi5leHRyYWN0X3Nob3J0ZXN0X3BhdGhfZnJvbV9wcmVkZWNlc3Nvcl9saXN0KGkscil9LFByaW9yaXR5UXVldWU6e21ha2U6ZnVuY3Rpb24odCl7dmFyIGUscj1uLlByaW9yaXR5UXVldWUsaT17fTtmb3IoZSBpbiB0PXR8fHt9LHIpci5oYXNPd25Qcm9wZXJ0eShlKSYmKGlbZV09cltlXSk7cmV0dXJuIGkucXVldWU9W10saS5zb3J0ZXI9dC5zb3J0ZXJ8fHIuZGVmYXVsdF9zb3J0ZXIsaX0sZGVmYXVsdF9zb3J0ZXI6ZnVuY3Rpb24odCxlKXtyZXR1cm4gdC5jb3N0LWUuY29zdH0scHVzaDpmdW5jdGlvbih0LGUpe3ZhciByPXt2YWx1ZTp0LGNvc3Q6ZX07dGhpcy5xdWV1ZS5wdXNoKHIpLHRoaXMucXVldWUuc29ydCh0aGlzLnNvcnRlcil9LHBvcDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnF1ZXVlLnNoaWZ0KCl9LGVtcHR5OmZ1bmN0aW9uKCl7cmV0dXJuIDA9PT10aGlzLnF1ZXVlLmxlbmd0aH19fTt0LmV4cG9ydHM9bn0sZnVuY3Rpb24odCxlLHIpe3ZhciBuPXIoMTAxKTtlLnJlbmRlcj1mdW5jdGlvbih0LGUscil7dmFyIGk9cixvPWU7dm9pZCAwIT09aXx8ZSYmZS5nZXRDb250ZXh0fHwoaT1lLGU9dm9pZCAwKSxlfHwobz1mdW5jdGlvbigpe3RyeXtyZXR1cm4gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIil9Y2F0Y2godCl7dGhyb3cgbmV3IEVycm9yKCJZb3UgbmVlZCB0byBzcGVjaWZ5IGEgY2FudmFzIGVsZW1lbnQiKX19KCkpLGk9bi5nZXRPcHRpb25zKGkpO3ZhciBzPW4uZ2V0SW1hZ2VXaWR0aCh0Lm1vZHVsZXMuc2l6ZSxpKSxhPW8uZ2V0Q29udGV4dCgiMmQiKSx1PWEuY3JlYXRlSW1hZ2VEYXRhKHMscyk7cmV0dXJuIG4ucXJUb0ltYWdlRGF0YSh1LmRhdGEsdCxpKSxmdW5jdGlvbih0LGUscil7dC5jbGVhclJlY3QoMCwwLGUud2lkdGgsZS5oZWlnaHQpLGUuc3R5bGV8fChlLnN0eWxlPXt9KSxlLmhlaWdodD1yLGUud2lkdGg9cixlLnN0eWxlLmhlaWdodD1yKyJweCIsZS5zdHlsZS53aWR0aD1yKyJweCJ9KGEsbyxzKSxhLnB1dEltYWdlRGF0YSh1LDAsMCksb30sZS5yZW5kZXJUb0RhdGFVUkw9ZnVuY3Rpb24odCxyLG4pe3ZhciBpPW47dm9pZCAwIT09aXx8ciYmci5nZXRDb250ZXh0fHwoaT1yLHI9dm9pZCAwKSxpfHwoaT17fSk7dmFyIG89ZS5yZW5kZXIodCxyLGkpLHM9aS50eXBlfHwiaW1hZ2UvcG5nIixhPWkucmVuZGVyZXJPcHRzfHx7fTtyZXR1cm4gby50b0RhdGFVUkwocyxhLnF1YWxpdHkpfX0sZnVuY3Rpb24odCxlLHIpe3ZhciBuPXIoMTAxKTtmdW5jdGlvbiBpKHQsZSl7dmFyIHI9dC5hLzI1NSxuPWUrJz0iJyt0LmhleCsnIic7cmV0dXJuIHI8MT9uKyIgIitlKyctb3BhY2l0eT0iJytyLnRvRml4ZWQoMikuc2xpY2UoMSkrJyInOm59ZnVuY3Rpb24gbyh0LGUscil7dmFyIG49dCtlO3JldHVybiB2b2lkIDAhPT1yJiYobis9IiAiK3IpLG59ZS5yZW5kZXI9ZnVuY3Rpb24odCxlLHIpe3ZhciBzPW4uZ2V0T3B0aW9ucyhlKSxhPXQubW9kdWxlcy5zaXplLHU9dC5tb2R1bGVzLmRhdGEsYz1hKzIqcy5tYXJnaW4sZj1zLmNvbG9yLmxpZ2h0LmE/IjxwYXRoICIraShzLmNvbG9yLmxpZ2h0LCJmaWxsIikrJyBkPSJNMCAwaCcrYysidiIrYysnSDB6Ii8+JzoiIixoPSI8cGF0aCAiK2kocy5jb2xvci5kYXJrLCJzdHJva2UiKSsnIGQ9IicrZnVuY3Rpb24odCxlLHIpe2Zvcih2YXIgbj0iIixpPTAscz0hMSxhPTAsdT0wO3U8dC5sZW5ndGg7dSsrKXt2YXIgYz1NYXRoLmZsb29yKHUlZSksZj1NYXRoLmZsb29yKHUvZSk7Y3x8c3x8KHM9ITApLHRbdV0/KGErKyx1PjAmJmM+MCYmdFt1LTFdfHwobis9cz9vKCJNIixjK3IsLjUrZityKTpvKCJtIixpLDApLGk9MCxzPSExKSxjKzE8ZSYmdFt1KzFdfHwobis9bygiaCIsYSksYT0wKSk6aSsrfXJldHVybiBufSh1LGEscy5tYXJnaW4pKyciLz4nLGw9J3ZpZXdCb3g9IjAgMCAnK2MrIiAiK2MrJyInLGQ9JzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiAnKyhzLndpZHRoPyd3aWR0aD0iJytzLndpZHRoKyciIGhlaWdodD0iJytzLndpZHRoKyciICc6IiIpK2wrJyBzaGFwZS1yZW5kZXJpbmc9ImNyaXNwRWRnZXMiPicrZitoKyI8L3N2Zz5cbiI7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHImJnIobnVsbCxkKSxkfX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDIwMSksaT17InRleHQvcGxhaW4iOiJUZXh0IiwidGV4dC9odG1sIjoiVXJsIixkZWZhdWx0OiJUZXh0In07dC5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIHIsbyxzLGEsdSxjLGY9ITE7ZXx8KGU9e30pLHI9ZS5kZWJ1Z3x8ITE7dHJ5e2lmKHM9bigpLGE9ZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKSx1PWRvY3VtZW50LmdldFNlbGVjdGlvbigpLChjPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKSkudGV4dENvbnRlbnQ9dCxjLnN0eWxlLmFsbD0idW5zZXQiLGMuc3R5bGUucG9zaXRpb249ImZpeGVkIixjLnN0eWxlLnRvcD0wLGMuc3R5bGUuY2xpcD0icmVjdCgwLCAwLCAwLCAwKSIsYy5zdHlsZS53aGl0ZVNwYWNlPSJwcmUiLGMuc3R5bGUud2Via2l0VXNlclNlbGVjdD0idGV4dCIsYy5zdHlsZS5Nb3pVc2VyU2VsZWN0PSJ0ZXh0IixjLnN0eWxlLm1zVXNlclNlbGVjdD0idGV4dCIsYy5zdHlsZS51c2VyU2VsZWN0PSJ0ZXh0IixjLmFkZEV2ZW50TGlzdGVuZXIoImNvcHkiLChmdW5jdGlvbihuKXtpZihuLnN0b3BQcm9wYWdhdGlvbigpLGUuZm9ybWF0KWlmKG4ucHJldmVudERlZmF1bHQoKSx2b2lkIDA9PT1uLmNsaXBib2FyZERhdGEpe3ImJmNvbnNvbGUud2FybigidW5hYmxlIHRvIHVzZSBlLmNsaXBib2FyZERhdGEiKSxyJiZjb25zb2xlLndhcm4oInRyeWluZyBJRSBzcGVjaWZpYyBzdHVmZiIpLHdpbmRvdy5jbGlwYm9hcmREYXRhLmNsZWFyRGF0YSgpO3ZhciBvPWlbZS5mb3JtYXRdfHxpLmRlZmF1bHQ7d2luZG93LmNsaXBib2FyZERhdGEuc2V0RGF0YShvLHQpfWVsc2Ugbi5jbGlwYm9hcmREYXRhLmNsZWFyRGF0YSgpLG4uY2xpcGJvYXJkRGF0YS5zZXREYXRhKGUuZm9ybWF0LHQpO2Uub25Db3B5JiYobi5wcmV2ZW50RGVmYXVsdCgpLGUub25Db3B5KG4uY2xpcGJvYXJkRGF0YSkpfSkpLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoYyksYS5zZWxlY3ROb2RlQ29udGVudHMoYyksdS5hZGRSYW5nZShhKSwhZG9jdW1lbnQuZXhlY0NvbW1hbmQoImNvcHkiKSl0aHJvdyBuZXcgRXJyb3IoImNvcHkgY29tbWFuZCB3YXMgdW5zdWNjZXNzZnVsIik7Zj0hMH1jYXRjaChuKXtyJiZjb25zb2xlLmVycm9yKCJ1bmFibGUgdG8gY29weSB1c2luZyBleGVjQ29tbWFuZDogIixuKSxyJiZjb25zb2xlLndhcm4oInRyeWluZyBJRSBzcGVjaWZpYyBzdHVmZiIpO3RyeXt3aW5kb3cuY2xpcGJvYXJkRGF0YS5zZXREYXRhKGUuZm9ybWF0fHwidGV4dCIsdCksZS5vbkNvcHkmJmUub25Db3B5KHdpbmRvdy5jbGlwYm9hcmREYXRhKSxmPSEwfWNhdGNoKG4pe3ImJmNvbnNvbGUuZXJyb3IoInVuYWJsZSB0byBjb3B5IHVzaW5nIGNsaXBib2FyZERhdGE6ICIsbiksciYmY29uc29sZS5lcnJvcigiZmFsbGluZyBiYWNrIHRvIHByb21wdCIpLG89ZnVuY3Rpb24odCl7dmFyIGU9KC9tYWMgb3MgeC9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCk/IuKMmCI6IkN0cmwiKSsiK0MiO3JldHVybiB0LnJlcGxhY2UoLyN7XHMqa2V5XHMqfS9nLGUpfSgibWVzc2FnZSJpbiBlP2UubWVzc2FnZToiQ29weSB0byBjbGlwYm9hcmQ6ICN7a2V5fSwgRW50ZXIiKSx3aW5kb3cucHJvbXB0KG8sdCl9fWZpbmFsbHl7dSYmKCJmdW5jdGlvbiI9PXR5cGVvZiB1LnJlbW92ZVJhbmdlP3UucmVtb3ZlUmFuZ2UoYSk6dS5yZW1vdmVBbGxSYW5nZXMoKSksYyYmZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChjKSxzKCl9cmV0dXJuIGZ9fSxmdW5jdGlvbih0LGUpe3QuZXhwb3J0cz1mdW5jdGlvbigpe3ZhciB0PWRvY3VtZW50LmdldFNlbGVjdGlvbigpO2lmKCF0LnJhbmdlQ291bnQpcmV0dXJuIGZ1bmN0aW9uKCl7fTtmb3IodmFyIGU9ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCxyPVtdLG49MDtuPHQucmFuZ2VDb3VudDtuKyspci5wdXNoKHQuZ2V0UmFuZ2VBdChuKSk7c3dpdGNoKGUudGFnTmFtZS50b1VwcGVyQ2FzZSgpKXtjYXNlIklOUFVUIjpjYXNlIlRFWFRBUkVBIjplLmJsdXIoKTticmVhaztkZWZhdWx0OmU9bnVsbH1yZXR1cm4gdC5yZW1vdmVBbGxSYW5nZXMoKSxmdW5jdGlvbigpeyJDYXJldCI9PT10LnR5cGUmJnQucmVtb3ZlQWxsUmFuZ2VzKCksdC5yYW5nZUNvdW50fHxyLmZvckVhY2goKGZ1bmN0aW9uKGUpe3QuYWRkUmFuZ2UoZSl9KSksZSYmZS5mb2N1cygpfX19LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ci5yKGUpO3ZhciBuPXIoMTY0KSxpPXIubihuKSxvPXIoMTY1KSxzPXIoMSk7Y29uc3QgYT1PYmplY3Qocy5nZXRGcm9tV2luZG93KSgiWE1MSHR0cFJlcXVlc3QiKXx8by5YTUxIdHRwUmVxdWVzdDtjbGFzcyB1IGV4dGVuZHMgaS5he2NvbnN0cnVjdG9yKHQpe3N1cGVyKCksdGhpcy51cmw9dH1mb3JtYXRFcnJvcih0LGUscj0tMSl7cmV0dXJue2Vycm9yOnttZXNzYWdlOmUsY29kZTpyfSxpZDp0LmlkLGpzb25ycGM6dC5qc29ucnBjfX1zZW5kKHQsZSl7cmV0dXJuIG5ldyBQcm9taXNlKHI9PntpZigiZXRoX3N1YnNjcmliZSI9PT10Lm1ldGhvZCl7Y29uc3QgZT10aGlzLmZvcm1hdEVycm9yKHQsIlN1YnNjcmlwdGlvbnMgYXJlIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBIVFRQIGVuZHBvaW50Iik7cmV0dXJuIHRoaXMuZW1pdCgiZXJyb3IiLGUpLHIoZSl9Y29uc3Qgbj1uZXcgYTtsZXQgaT0hMTtjb25zdCBvPShvLHMpPT57aWYoIWkpaWYobi5hYm9ydCgpLGk9ITAsZSllKG8scyk7ZWxzZXtjb25zdHtpZDplLGpzb25ycGM6bn09dCxpPW8/e2lkOmUsanNvbnJwYzpuLGVycm9yOnttZXNzYWdlOm8ubWVzc2FnZSxjb2RlOm8uY29kZX19OntpZDplLGpzb25ycGM6bixyZXN1bHQ6c307dGhpcy5lbWl0KCJwYXlsb2FkIixpKSxyKGkpfX07bi5vcGVuKCJQT1NUIix0aGlzLnVybCwhMCksbi5zZXRSZXF1ZXN0SGVhZGVyKCJDb250ZW50LVR5cGUiLCJhcHBsaWNhdGlvbi9qc29uIiksbi50aW1lb3V0PTZlNCxuLm9uZXJyb3I9byxuLm9udGltZW91dD1vLG4ub25yZWFkeXN0YXRlY2hhbmdlPSgpPT57aWYoND09PW4ucmVhZHlTdGF0ZSl0cnl7Y29uc3QgdD1KU09OLnBhcnNlKG4ucmVzcG9uc2VUZXh0KTtvKHQuZXJyb3IsdC5yZXN1bHQpfWNhdGNoKHQpe28odCl9fSxuLnNlbmQoSlNPTi5zdHJpbmdpZnkodCkpfSl9fWUuZGVmYXVsdD11fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiOyhmdW5jdGlvbih0LG4pe3ZhciBpLG89dGhpcyYmdGhpcy5fX2V4dGVuZHN8fChpPU9iamVjdC5zZXRQcm90b3R5cGVPZnx8e19fcHJvdG9fXzpbXX1pbnN0YW5jZW9mIEFycmF5JiZmdW5jdGlvbih0LGUpe3QuX19wcm90b19fPWV9fHxmdW5jdGlvbih0LGUpe2Zvcih2YXIgciBpbiBlKWUuaGFzT3duUHJvcGVydHkocikmJih0W3JdPWVbcl0pfSxmdW5jdGlvbih0LGUpe2Z1bmN0aW9uIHIoKXt0aGlzLmNvbnN0cnVjdG9yPXR9aSh0LGUpLHQucHJvdG90eXBlPW51bGw9PT1lP09iamVjdC5jcmVhdGUoZSk6KHIucHJvdG90eXBlPWUucHJvdG90eXBlLG5ldyByKX0pLHM9dGhpcyYmdGhpcy5fX2Fzc2lnbnx8T2JqZWN0LmFzc2lnbnx8ZnVuY3Rpb24odCl7Zm9yKHZhciBlLHI9MSxuPWFyZ3VtZW50cy5sZW5ndGg7cjxuO3IrKylmb3IodmFyIGkgaW4gZT1hcmd1bWVudHNbcl0pT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsaSkmJih0W2ldPWVbaV0pO3JldHVybiB0fTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIGE9cigxMDIpLHU9cigyMTgpLGM9cigyMTkpLGY9cig1NSksaD1yKDIyMCksbD1yKDIyMSksZD1yKDU2KSxwPXIoMjIyKSxtPXIoMjIzKSxnPWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHIobil7dm9pZCAwPT09biYmKG49e30pO3ZhciBpPWUuY2FsbCh0aGlzKXx8dGhpcztyZXR1cm4gaS5VTlNFTlQ9ci5VTlNFTlQsaS5PUEVORUQ9ci5PUEVORUQsaS5IRUFERVJTX1JFQ0VJVkVEPXIuSEVBREVSU19SRUNFSVZFRCxpLkxPQURJTkc9ci5MT0FESU5HLGkuRE9ORT1yLkRPTkUsaS5vbnJlYWR5c3RhdGVjaGFuZ2U9bnVsbCxpLnJlYWR5U3RhdGU9ci5VTlNFTlQsaS5yZXNwb25zZT1udWxsLGkucmVzcG9uc2VUZXh0PSIiLGkucmVzcG9uc2VUeXBlPSIiLGkuc3RhdHVzPTAsaS5zdGF0dXNUZXh0PSIiLGkudGltZW91dD0wLGkudXBsb2FkPW5ldyBwLlhNTEh0dHBSZXF1ZXN0VXBsb2FkLGkucmVzcG9uc2VVcmw9IiIsaS53aXRoQ3JlZGVudGlhbHM9ITEsaS5fbWV0aG9kPW51bGwsaS5fdXJsPW51bGwsaS5fc3luYz0hMSxpLl9oZWFkZXJzPXt9LGkuX2xvd2VyZWRIZWFkZXJzPXt9LGkuX21pbWVPdmVycmlkZT1udWxsLGkuX3JlcXVlc3Q9bnVsbCxpLl9yZXNwb25zZT1udWxsLGkuX3Jlc3BvbnNlUGFydHM9bnVsbCxpLl9yZXNwb25zZUhlYWRlcnM9bnVsbCxpLl9hYm9ydGluZz1udWxsLGkuX2Vycm9yPW51bGwsaS5fbG9hZGVkQnl0ZXM9MCxpLl90b3RhbEJ5dGVzPTAsaS5fbGVuZ3RoQ29tcHV0YWJsZT0hMSxpLl9yZXN0cmljdGVkTWV0aG9kcz17Q09OTkVDVDohMCxUUkFDRTohMCxUUkFDSzohMH0saS5fcmVzdHJpY3RlZEhlYWRlcnM9eyJhY2NlcHQtY2hhcnNldCI6ITAsImFjY2VwdC1lbmNvZGluZyI6ITAsImFjY2Vzcy1jb250cm9sLXJlcXVlc3QtaGVhZGVycyI6ITAsImFjY2Vzcy1jb250cm9sLXJlcXVlc3QtbWV0aG9kIjohMCxjb25uZWN0aW9uOiEwLCJjb250ZW50LWxlbmd0aCI6ITAsY29va2llOiEwLGNvb2tpZTI6ITAsZGF0ZTohMCxkbnQ6ITAsZXhwZWN0OiEwLGhvc3Q6ITAsImtlZXAtYWxpdmUiOiEwLG9yaWdpbjohMCxyZWZlcmVyOiEwLHRlOiEwLHRyYWlsZXI6ITAsInRyYW5zZmVyLWVuY29kaW5nIjohMCx1cGdyYWRlOiEwLCJ1c2VyLWFnZW50IjohMCx2aWE6ITB9LGkuX3ByaXZhdGVIZWFkZXJzPXsic2V0LWNvb2tpZSI6ITAsInNldC1jb29raWUyIjohMH0saS5fdXNlckFnZW50PSJNb3ppbGxhLzUuMCAoIitjLnR5cGUoKSsiICIrYy5hcmNoKCkrIikgbm9kZS5qcy8iK3QudmVyc2lvbnMubm9kZSsiIHY4LyIrdC52ZXJzaW9ucy52OCxpLl9hbm9ueW1vdXM9bi5hbm9ufHwhMSxpfXJldHVybiBvKHIsZSksci5wcm90b3R5cGUub3Blbj1mdW5jdGlvbih0LGUsbixpLG8pe2lmKHZvaWQgMD09PW4mJihuPSEwKSx0PXQudG9VcHBlckNhc2UoKSx0aGlzLl9yZXN0cmljdGVkTWV0aG9kc1t0XSl0aHJvdyBuZXcgci5TZWN1cml0eUVycm9yKCJIVFRQIG1ldGhvZCAiK3QrIiBpcyBub3QgYWxsb3dlZCBpbiBYSFIiKTt2YXIgcz10aGlzLl9wYXJzZVVybChlLGksbyk7dGhpcy5yZWFkeVN0YXRlPT09ci5IRUFERVJTX1JFQ0VJVkVEfHwodGhpcy5yZWFkeVN0YXRlLHIuTE9BRElORyksdGhpcy5fbWV0aG9kPXQsdGhpcy5fdXJsPXMsdGhpcy5fc3luYz0hbix0aGlzLl9oZWFkZXJzPXt9LHRoaXMuX2xvd2VyZWRIZWFkZXJzPXt9LHRoaXMuX21pbWVPdmVycmlkZT1udWxsLHRoaXMuX3NldFJlYWR5U3RhdGUoci5PUEVORUQpLHRoaXMuX3JlcXVlc3Q9bnVsbCx0aGlzLl9yZXNwb25zZT1udWxsLHRoaXMuc3RhdHVzPTAsdGhpcy5zdGF0dXNUZXh0PSIiLHRoaXMuX3Jlc3BvbnNlUGFydHM9W10sdGhpcy5fcmVzcG9uc2VIZWFkZXJzPW51bGwsdGhpcy5fbG9hZGVkQnl0ZXM9MCx0aGlzLl90b3RhbEJ5dGVzPTAsdGhpcy5fbGVuZ3RoQ29tcHV0YWJsZT0hMX0sci5wcm90b3R5cGUuc2V0UmVxdWVzdEhlYWRlcj1mdW5jdGlvbih0LGUpe2lmKHRoaXMucmVhZHlTdGF0ZSE9PXIuT1BFTkVEKXRocm93IG5ldyByLkludmFsaWRTdGF0ZUVycm9yKCJYSFIgcmVhZHlTdGF0ZSBtdXN0IGJlIE9QRU5FRCIpO3ZhciBuPXQudG9Mb3dlckNhc2UoKTt0aGlzLl9yZXN0cmljdGVkSGVhZGVyc1tuXXx8L15zZWMtLy50ZXN0KG4pfHwvXnByb3h5LS8udGVzdChuKT9jb25zb2xlLndhcm4oJ1JlZnVzZWQgdG8gc2V0IHVuc2FmZSBoZWFkZXIgIicrdCsnIicpOihlPWUudG9TdHJpbmcoKSxudWxsIT10aGlzLl9sb3dlcmVkSGVhZGVyc1tuXT8odD10aGlzLl9sb3dlcmVkSGVhZGVyc1tuXSx0aGlzLl9oZWFkZXJzW3RdPXRoaXMuX2hlYWRlcnNbdF0rIiwgIitlKToodGhpcy5fbG93ZXJlZEhlYWRlcnNbbl09dCx0aGlzLl9oZWFkZXJzW3RdPWUpKX0sci5wcm90b3R5cGUuc2VuZD1mdW5jdGlvbih0KXtpZih0aGlzLnJlYWR5U3RhdGUhPT1yLk9QRU5FRCl0aHJvdyBuZXcgci5JbnZhbGlkU3RhdGVFcnJvcigiWEhSIHJlYWR5U3RhdGUgbXVzdCBiZSBPUEVORUQiKTtpZih0aGlzLl9yZXF1ZXN0KXRocm93IG5ldyByLkludmFsaWRTdGF0ZUVycm9yKCJzZW5kKCkgYWxyZWFkeSBjYWxsZWQiKTtzd2l0Y2godGhpcy5fdXJsLnByb3RvY29sKXtjYXNlImZpbGU6IjpyZXR1cm4gdGhpcy5fc2VuZEZpbGUodCk7Y2FzZSJodHRwOiI6Y2FzZSJodHRwczoiOnJldHVybiB0aGlzLl9zZW5kSHR0cCh0KTtkZWZhdWx0OnRocm93IG5ldyByLk5ldHdvcmtFcnJvcigiVW5zdXBwb3J0ZWQgcHJvdG9jb2wgIit0aGlzLl91cmwucHJvdG9jb2wpfX0sci5wcm90b3R5cGUuYWJvcnQ9ZnVuY3Rpb24oKXtudWxsIT10aGlzLl9yZXF1ZXN0JiYodGhpcy5fcmVxdWVzdC5hYm9ydCgpLHRoaXMuX3NldEVycm9yKCksdGhpcy5fZGlzcGF0Y2hQcm9ncmVzcygiYWJvcnQiKSx0aGlzLl9kaXNwYXRjaFByb2dyZXNzKCJsb2FkZW5kIikpfSxyLnByb3RvdHlwZS5nZXRSZXNwb25zZUhlYWRlcj1mdW5jdGlvbih0KXtpZihudWxsPT10aGlzLl9yZXNwb25zZUhlYWRlcnN8fG51bGw9PXQpcmV0dXJuIG51bGw7dmFyIGU9dC50b0xvd2VyQ2FzZSgpO3JldHVybiB0aGlzLl9yZXNwb25zZUhlYWRlcnMuaGFzT3duUHJvcGVydHkoZSk/dGhpcy5fcmVzcG9uc2VIZWFkZXJzW3QudG9Mb3dlckNhc2UoKV06bnVsbH0sci5wcm90b3R5cGUuZ2V0QWxsUmVzcG9uc2VIZWFkZXJzPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcztyZXR1cm4gbnVsbD09dGhpcy5fcmVzcG9uc2VIZWFkZXJzPyIiOk9iamVjdC5rZXlzKHRoaXMuX3Jlc3BvbnNlSGVhZGVycykubWFwKChmdW5jdGlvbihlKXtyZXR1cm4gZSsiOiAiK3QuX3Jlc3BvbnNlSGVhZGVyc1tlXX0pKS5qb2luKCJcclxuIil9LHIucHJvdG90eXBlLm92ZXJyaWRlTWltZVR5cGU9ZnVuY3Rpb24odCl7aWYodGhpcy5yZWFkeVN0YXRlPT09ci5MT0FESU5HfHx0aGlzLnJlYWR5U3RhdGU9PT1yLkRPTkUpdGhyb3cgbmV3IHIuSW52YWxpZFN0YXRlRXJyb3IoIm92ZXJyaWRlTWltZVR5cGUoKSBub3QgYWxsb3dlZCBpbiBMT0FESU5HIG9yIERPTkUiKTt0aGlzLl9taW1lT3ZlcnJpZGU9dC50b0xvd2VyQ2FzZSgpfSxyLnByb3RvdHlwZS5ub2RlanNTZXQ9ZnVuY3Rpb24odCl7aWYodGhpcy5ub2RlanNIdHRwQWdlbnQ9dC5odHRwQWdlbnR8fHRoaXMubm9kZWpzSHR0cEFnZW50LHRoaXMubm9kZWpzSHR0cHNBZ2VudD10Lmh0dHBzQWdlbnR8fHRoaXMubm9kZWpzSHR0cHNBZ2VudCx0Lmhhc093blByb3BlcnR5KCJiYXNlVXJsIikpe2lmKG51bGwhPXQuYmFzZVVybClpZighZi5wYXJzZSh0LmJhc2VVcmwsITEsITApLnByb3RvY29sKXRocm93IG5ldyByLlN5bnRheEVycm9yKCJiYXNlVXJsIG11c3QgYmUgYW4gYWJzb2x1dGUgVVJMIik7dGhpcy5ub2RlanNCYXNlVXJsPXQuYmFzZVVybH19LHIubm9kZWpzU2V0PWZ1bmN0aW9uKHQpe3IucHJvdG90eXBlLm5vZGVqc1NldCh0KX0sci5wcm90b3R5cGUuX3NldFJlYWR5U3RhdGU9ZnVuY3Rpb24odCl7dGhpcy5yZWFkeVN0YXRlPXQsdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBoLlByb2dyZXNzRXZlbnQoInJlYWR5c3RhdGVjaGFuZ2UiKSl9LHIucHJvdG90eXBlLl9zZW5kRmlsZT1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoIlByb3RvY29sIGZpbGU6IG5vdCBpbXBsZW1lbnRlZCIpfSxyLnByb3RvdHlwZS5fc2VuZEh0dHA9ZnVuY3Rpb24odCl7aWYodGhpcy5fc3luYyl0aHJvdyBuZXcgRXJyb3IoIlN5bmNocm9ub3VzIFhIUiBwcm9jZXNzaW5nIG5vdCBpbXBsZW1lbnRlZCIpOyF0fHwiR0VUIiE9PXRoaXMuX21ldGhvZCYmIkhFQUQiIT09dGhpcy5fbWV0aG9kP3Q9dHx8IiI6KGNvbnNvbGUud2FybigiRGlzY2FyZGluZyBlbnRpdHkgYm9keSBmb3IgIit0aGlzLl9tZXRob2QrIiByZXF1ZXN0cyIpLHQ9bnVsbCksdGhpcy51cGxvYWQuX3NldERhdGEodCksdGhpcy5fZmluYWxpemVIZWFkZXJzKCksdGhpcy5fc2VuZEh4eHBSZXF1ZXN0KCl9LHIucHJvdG90eXBlLl9zZW5kSHh4cFJlcXVlc3Q9ZnVuY3Rpb24oKXt2YXIgdD10aGlzO2lmKHRoaXMud2l0aENyZWRlbnRpYWxzKXt2YXIgZT1yLmNvb2tpZUphci5nZXRDb29raWVzKG0uQ29va2llQWNjZXNzSW5mbyh0aGlzLl91cmwuaG9zdG5hbWUsdGhpcy5fdXJsLnBhdGhuYW1lLCJodHRwczoiPT09dGhpcy5fdXJsLnByb3RvY29sKSkudG9WYWx1ZVN0cmluZygpO3RoaXMuX2hlYWRlcnMuY29va2llPXRoaXMuX2hlYWRlcnMuY29va2llMj1lfXZhciBuPSJodHRwOiI9PT10aGlzLl91cmwucHJvdG9jb2w/W2EsdGhpcy5ub2RlanNIdHRwQWdlbnRdOlt1LHRoaXMubm9kZWpzSHR0cHNBZ2VudF0saT1uWzBdLG89blsxXSxzPWkucmVxdWVzdC5iaW5kKGkpKHtob3N0bmFtZTp0aGlzLl91cmwuaG9zdG5hbWUscG9ydDordGhpcy5fdXJsLnBvcnQscGF0aDp0aGlzLl91cmwucGF0aCxhdXRoOnRoaXMuX3VybC5hdXRoLG1ldGhvZDp0aGlzLl9tZXRob2QsaGVhZGVyczp0aGlzLl9oZWFkZXJzLGFnZW50Om99KTt0aGlzLl9yZXF1ZXN0PXMsdGhpcy50aW1lb3V0JiZzLnNldFRpbWVvdXQodGhpcy50aW1lb3V0LChmdW5jdGlvbigpe3JldHVybiB0Ll9vbkh0dHBUaW1lb3V0KHMpfSkpLHMub24oInJlc3BvbnNlIiwoZnVuY3Rpb24oZSl7cmV0dXJuIHQuX29uSHR0cFJlc3BvbnNlKHMsZSl9KSkscy5vbigiZXJyb3IiLChmdW5jdGlvbihlKXtyZXR1cm4gdC5fb25IdHRwUmVxdWVzdEVycm9yKHMsZSl9KSksdGhpcy51cGxvYWQuX3N0YXJ0VXBsb2FkKHMpLHRoaXMuX3JlcXVlc3Q9PT1zJiZ0aGlzLl9kaXNwYXRjaFByb2dyZXNzKCJsb2Fkc3RhcnQiKX0sci5wcm90b3R5cGUuX2ZpbmFsaXplSGVhZGVycz1mdW5jdGlvbigpe3RoaXMuX2hlYWRlcnM9cyh7fSx0aGlzLl9oZWFkZXJzLHtDb25uZWN0aW9uOiJrZWVwLWFsaXZlIixIb3N0OnRoaXMuX3VybC5ob3N0LCJVc2VyLUFnZW50Ijp0aGlzLl91c2VyQWdlbnR9LHRoaXMuX2Fub255bW91cz97UmVmZXJlcjoiYWJvdXQ6YmxhbmsifTp7fSksdGhpcy51cGxvYWQuX2ZpbmFsaXplSGVhZGVycyh0aGlzLl9oZWFkZXJzLHRoaXMuX2xvd2VyZWRIZWFkZXJzKX0sci5wcm90b3R5cGUuX29uSHR0cFJlc3BvbnNlPWZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcztpZih0aGlzLl9yZXF1ZXN0PT09dCl7aWYodGhpcy53aXRoQ3JlZGVudGlhbHMmJihlLmhlYWRlcnNbInNldC1jb29raWUiXXx8ZS5oZWFkZXJzWyJzZXQtY29va2llMiJdKSYmci5jb29raWVKYXIuc2V0Q29va2llcyhlLmhlYWRlcnNbInNldC1jb29raWUiXXx8ZS5oZWFkZXJzWyJzZXQtY29va2llMiJdKSxbMzAxLDMwMiwzMDMsMzA3LDMwOF0uaW5kZXhPZihlLnN0YXR1c0NvZGUpPj0wKXJldHVybiB0aGlzLl91cmw9dGhpcy5fcGFyc2VVcmwoZS5oZWFkZXJzLmxvY2F0aW9uKSx0aGlzLl9tZXRob2Q9IkdFVCIsdGhpcy5fbG93ZXJlZEhlYWRlcnNbImNvbnRlbnQtdHlwZSJdJiYoZGVsZXRlIHRoaXMuX2hlYWRlcnNbdGhpcy5fbG93ZXJlZEhlYWRlcnNbImNvbnRlbnQtdHlwZSJdXSxkZWxldGUgdGhpcy5fbG93ZXJlZEhlYWRlcnNbImNvbnRlbnQtdHlwZSJdKSxudWxsIT10aGlzLl9oZWFkZXJzWyJDb250ZW50LVR5cGUiXSYmZGVsZXRlIHRoaXMuX2hlYWRlcnNbIkNvbnRlbnQtVHlwZSJdLGRlbGV0ZSB0aGlzLl9oZWFkZXJzWyJDb250ZW50LUxlbmd0aCJdLHRoaXMudXBsb2FkLl9yZXNldCgpLHRoaXMuX2ZpbmFsaXplSGVhZGVycygpLHZvaWQgdGhpcy5fc2VuZEh4eHBSZXF1ZXN0KCk7dGhpcy5fcmVzcG9uc2U9ZSx0aGlzLl9yZXNwb25zZS5vbigiZGF0YSIsKGZ1bmN0aW9uKHQpe3JldHVybiBuLl9vbkh0dHBSZXNwb25zZURhdGEoZSx0KX0pKSx0aGlzLl9yZXNwb25zZS5vbigiZW5kIiwoZnVuY3Rpb24oKXtyZXR1cm4gbi5fb25IdHRwUmVzcG9uc2VFbmQoZSl9KSksdGhpcy5fcmVzcG9uc2Uub24oImNsb3NlIiwoZnVuY3Rpb24oKXtyZXR1cm4gbi5fb25IdHRwUmVzcG9uc2VDbG9zZShlKX0pKSx0aGlzLnJlc3BvbnNlVXJsPXRoaXMuX3VybC5ocmVmLnNwbGl0KCIjIilbMF0sdGhpcy5zdGF0dXM9ZS5zdGF0dXNDb2RlLHRoaXMuc3RhdHVzVGV4dD1hLlNUQVRVU19DT0RFU1t0aGlzLnN0YXR1c10sdGhpcy5fcGFyc2VSZXNwb25zZUhlYWRlcnMoZSk7dmFyIGk9dGhpcy5fcmVzcG9uc2VIZWFkZXJzWyJjb250ZW50LWxlbmd0aCJdfHwiIjt0aGlzLl90b3RhbEJ5dGVzPStpLHRoaXMuX2xlbmd0aENvbXB1dGFibGU9ISFpLHRoaXMuX3NldFJlYWR5U3RhdGUoci5IRUFERVJTX1JFQ0VJVkVEKX19LHIucHJvdG90eXBlLl9vbkh0dHBSZXNwb25zZURhdGE9ZnVuY3Rpb24odCxlKXt0aGlzLl9yZXNwb25zZT09PXQmJih0aGlzLl9yZXNwb25zZVBhcnRzLnB1c2gobmV3IG4oZSkpLHRoaXMuX2xvYWRlZEJ5dGVzKz1lLmxlbmd0aCx0aGlzLnJlYWR5U3RhdGUhPT1yLkxPQURJTkcmJnRoaXMuX3NldFJlYWR5U3RhdGUoci5MT0FESU5HKSx0aGlzLl9kaXNwYXRjaFByb2dyZXNzKCJwcm9ncmVzcyIpKX0sci5wcm90b3R5cGUuX29uSHR0cFJlc3BvbnNlRW5kPWZ1bmN0aW9uKHQpe3RoaXMuX3Jlc3BvbnNlPT09dCYmKHRoaXMuX3BhcnNlUmVzcG9uc2UoKSx0aGlzLl9yZXF1ZXN0PW51bGwsdGhpcy5fcmVzcG9uc2U9bnVsbCx0aGlzLl9zZXRSZWFkeVN0YXRlKHIuRE9ORSksdGhpcy5fZGlzcGF0Y2hQcm9ncmVzcygibG9hZCIpLHRoaXMuX2Rpc3BhdGNoUHJvZ3Jlc3MoImxvYWRlbmQiKSl9LHIucHJvdG90eXBlLl9vbkh0dHBSZXNwb25zZUNsb3NlPWZ1bmN0aW9uKHQpe2lmKHRoaXMuX3Jlc3BvbnNlPT09dCl7dmFyIGU9dGhpcy5fcmVxdWVzdDt0aGlzLl9zZXRFcnJvcigpLGUuYWJvcnQoKSx0aGlzLl9zZXRSZWFkeVN0YXRlKHIuRE9ORSksdGhpcy5fZGlzcGF0Y2hQcm9ncmVzcygiZXJyb3IiKSx0aGlzLl9kaXNwYXRjaFByb2dyZXNzKCJsb2FkZW5kIil9fSxyLnByb3RvdHlwZS5fb25IdHRwVGltZW91dD1mdW5jdGlvbih0KXt0aGlzLl9yZXF1ZXN0PT09dCYmKHRoaXMuX3NldEVycm9yKCksdC5hYm9ydCgpLHRoaXMuX3NldFJlYWR5U3RhdGUoci5ET05FKSx0aGlzLl9kaXNwYXRjaFByb2dyZXNzKCJ0aW1lb3V0IiksdGhpcy5fZGlzcGF0Y2hQcm9ncmVzcygibG9hZGVuZCIpKX0sci5wcm90b3R5cGUuX29uSHR0cFJlcXVlc3RFcnJvcj1mdW5jdGlvbih0LGUpe3RoaXMuX3JlcXVlc3Q9PT10JiYodGhpcy5fc2V0RXJyb3IoKSx0LmFib3J0KCksdGhpcy5fc2V0UmVhZHlTdGF0ZShyLkRPTkUpLHRoaXMuX2Rpc3BhdGNoUHJvZ3Jlc3MoImVycm9yIiksdGhpcy5fZGlzcGF0Y2hQcm9ncmVzcygibG9hZGVuZCIpKX0sci5wcm90b3R5cGUuX2Rpc3BhdGNoUHJvZ3Jlc3M9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IHIuUHJvZ3Jlc3NFdmVudCh0KTtlLmxlbmd0aENvbXB1dGFibGU9dGhpcy5fbGVuZ3RoQ29tcHV0YWJsZSxlLmxvYWRlZD10aGlzLl9sb2FkZWRCeXRlcyxlLnRvdGFsPXRoaXMuX3RvdGFsQnl0ZXMsdGhpcy5kaXNwYXRjaEV2ZW50KGUpfSxyLnByb3RvdHlwZS5fc2V0RXJyb3I9ZnVuY3Rpb24oKXt0aGlzLl9yZXF1ZXN0PW51bGwsdGhpcy5fcmVzcG9uc2U9bnVsbCx0aGlzLl9yZXNwb25zZUhlYWRlcnM9bnVsbCx0aGlzLl9yZXNwb25zZVBhcnRzPW51bGx9LHIucHJvdG90eXBlLl9wYXJzZVVybD1mdW5jdGlvbih0LGUscil7dmFyIG49bnVsbD09dGhpcy5ub2RlanNCYXNlVXJsP3Q6Zi5yZXNvbHZlKHRoaXMubm9kZWpzQmFzZVVybCx0KSxpPWYucGFyc2UobiwhMSwhMCk7aS5oYXNoPW51bGw7dmFyIG89KGkuYXV0aHx8IiIpLnNwbGl0KCI6Iikscz1vWzBdLGE9b1sxXTtyZXR1cm4oc3x8YXx8ZXx8cikmJihpLmF1dGg9KGV8fHN8fCIiKSsiOiIrKHJ8fGF8fCIiKSksaX0sci5wcm90b3R5cGUuX3BhcnNlUmVzcG9uc2VIZWFkZXJzPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZSBpbiB0aGlzLl9yZXNwb25zZUhlYWRlcnM9e30sdC5oZWFkZXJzKXt2YXIgcj1lLnRvTG93ZXJDYXNlKCk7dGhpcy5fcHJpdmF0ZUhlYWRlcnNbcl18fCh0aGlzLl9yZXNwb25zZUhlYWRlcnNbcl09dC5oZWFkZXJzW2VdKX1udWxsIT10aGlzLl9taW1lT3ZlcnJpZGUmJih0aGlzLl9yZXNwb25zZUhlYWRlcnNbImNvbnRlbnQtdHlwZSJdPXRoaXMuX21pbWVPdmVycmlkZSl9LHIucHJvdG90eXBlLl9wYXJzZVJlc3BvbnNlPWZ1bmN0aW9uKCl7dmFyIHQ9bi5jb25jYXQodGhpcy5fcmVzcG9uc2VQYXJ0cyk7c3dpdGNoKHRoaXMuX3Jlc3BvbnNlUGFydHM9bnVsbCx0aGlzLnJlc3BvbnNlVHlwZSl7Y2FzZSJqc29uIjp0aGlzLnJlc3BvbnNlVGV4dD1udWxsO3RyeXt0aGlzLnJlc3BvbnNlPUpTT04ucGFyc2UodC50b1N0cmluZygidXRmLTgiKSl9Y2F0Y2godCl7dGhpcy5yZXNwb25zZT1udWxsfXJldHVybjtjYXNlImJ1ZmZlciI6cmV0dXJuIHRoaXMucmVzcG9uc2VUZXh0PW51bGwsdm9pZCh0aGlzLnJlc3BvbnNlPXQpO2Nhc2UiYXJyYXlidWZmZXIiOnRoaXMucmVzcG9uc2VUZXh0PW51bGw7Zm9yKHZhciBlPW5ldyBBcnJheUJ1ZmZlcih0Lmxlbmd0aCkscj1uZXcgVWludDhBcnJheShlKSxpPTA7aTx0Lmxlbmd0aDtpKyspcltpXT10W2ldO3JldHVybiB2b2lkKHRoaXMucmVzcG9uc2U9ZSk7Y2FzZSJ0ZXh0IjpkZWZhdWx0OnRyeXt0aGlzLnJlc3BvbnNlVGV4dD10LnRvU3RyaW5nKHRoaXMuX3BhcnNlUmVzcG9uc2VFbmNvZGluZygpKX1jYXRjaChlKXt0aGlzLnJlc3BvbnNlVGV4dD10LnRvU3RyaW5nKCJiaW5hcnkiKX10aGlzLnJlc3BvbnNlPXRoaXMucmVzcG9uc2VUZXh0fX0sci5wcm90b3R5cGUuX3BhcnNlUmVzcG9uc2VFbmNvZGluZz1mdW5jdGlvbigpe3JldHVybi87XHMqY2hhcnNldD0oLiopJC8uZXhlYyh0aGlzLl9yZXNwb25zZUhlYWRlcnNbImNvbnRlbnQtdHlwZSJdfHwiIilbMV18fCJ1dGYtOCJ9LHIuUHJvZ3Jlc3NFdmVudD1oLlByb2dyZXNzRXZlbnQsci5JbnZhbGlkU3RhdGVFcnJvcj1sLkludmFsaWRTdGF0ZUVycm9yLHIuTmV0d29ya0Vycm9yPWwuTmV0d29ya0Vycm9yLHIuU2VjdXJpdHlFcnJvcj1sLlNlY3VyaXR5RXJyb3Isci5TeW50YXhFcnJvcj1sLlN5bnRheEVycm9yLHIuWE1MSHR0cFJlcXVlc3RVcGxvYWQ9cC5YTUxIdHRwUmVxdWVzdFVwbG9hZCxyLlVOU0VOVD0wLHIuT1BFTkVEPTEsci5IRUFERVJTX1JFQ0VJVkVEPTIsci5MT0FESU5HPTMsci5ET05FPTQsci5jb29raWVKYXI9bS5Db29raWVKYXIoKSxyfShkLlhNTEh0dHBSZXF1ZXN0RXZlbnRUYXJnZXQpO2UuWE1MSHR0cFJlcXVlc3Q9ZyxnLnByb3RvdHlwZS5ub2RlanNIdHRwQWdlbnQ9YS5nbG9iYWxBZ2VudCxnLnByb3RvdHlwZS5ub2RlanNIdHRwc0FnZW50PXUuZ2xvYmFsQWdlbnQsZy5wcm90b3R5cGUubm9kZWpzQmFzZVVybD1udWxsfSkuY2FsbCh0aGlzLHIoNSkscigyKS5CdWZmZXIpfSxmdW5jdGlvbih0LGUscil7KGZ1bmN0aW9uKGUsbixpKXt2YXIgbz1yKDEwMykscz1yKDMpLGE9cigxMDQpLHU9cigzNCksYz1yKDIxMSksZj1hLkluY29taW5nTWVzc2FnZSxoPWEucmVhZHlTdGF0ZXM7dmFyIGw9dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciByLG49dGhpczt1LldyaXRhYmxlLmNhbGwobiksbi5fb3B0cz10LG4uX2JvZHk9W10sbi5faGVhZGVycz17fSx0LmF1dGgmJm4uc2V0SGVhZGVyKCJBdXRob3JpemF0aW9uIiwiQmFzaWMgIituZXcgZSh0LmF1dGgpLnRvU3RyaW5nKCJiYXNlNjQiKSksT2JqZWN0LmtleXModC5oZWFkZXJzKS5mb3JFYWNoKChmdW5jdGlvbihlKXtuLnNldEhlYWRlcihlLHQuaGVhZGVyc1tlXSl9KSk7dmFyIGk9ITA7aWYoImRpc2FibGUtZmV0Y2giPT09dC5tb2RlfHwicmVxdWVzdFRpbWVvdXQiaW4gdCYmIW8uYWJvcnRDb250cm9sbGVyKWk9ITEscj0hMDtlbHNlIGlmKCJwcmVmZXItc3RyZWFtaW5nIj09PXQubW9kZSlyPSExO2Vsc2UgaWYoImFsbG93LXdyb25nLWNvbnRlbnQtdHlwZSI9PT10Lm1vZGUpcj0hby5vdmVycmlkZU1pbWVUeXBlO2Vsc2V7aWYodC5tb2RlJiYiZGVmYXVsdCIhPT10Lm1vZGUmJiJwcmVmZXItZmFzdCIhPT10Lm1vZGUpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIHZhbHVlIGZvciBvcHRzLm1vZGUiKTtyPSEwfW4uX21vZGU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gby5mZXRjaCYmZT8iZmV0Y2giOm8ubW96Y2h1bmtlZGFycmF5YnVmZmVyPyJtb3otY2h1bmtlZC1hcnJheWJ1ZmZlciI6by5tc3N0cmVhbT8ibXMtc3RyZWFtIjpvLmFycmF5YnVmZmVyJiZ0PyJhcnJheWJ1ZmZlciI6by52YkFycmF5JiZ0PyJ0ZXh0OnZiYXJyYXkiOiJ0ZXh0In0ocixpKSxuLl9mZXRjaFRpbWVyPW51bGwsbi5vbigiZmluaXNoIiwoZnVuY3Rpb24oKXtuLl9vbkZpbmlzaCgpfSkpfTtzKGwsdS5Xcml0YWJsZSksbC5wcm90b3R5cGUuc2V0SGVhZGVyPWZ1bmN0aW9uKHQsZSl7dmFyIHI9dC50b0xvd2VyQ2FzZSgpOy0xPT09ZC5pbmRleE9mKHIpJiYodGhpcy5faGVhZGVyc1tyXT17bmFtZTp0LHZhbHVlOmV9KX0sbC5wcm90b3R5cGUuZ2V0SGVhZGVyPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX2hlYWRlcnNbdC50b0xvd2VyQ2FzZSgpXTtyZXR1cm4gZT9lLnZhbHVlOm51bGx9LGwucHJvdG90eXBlLnJlbW92ZUhlYWRlcj1mdW5jdGlvbih0KXtkZWxldGUgdGhpcy5faGVhZGVyc1t0LnRvTG93ZXJDYXNlKCldfSxsLnByb3RvdHlwZS5fb25GaW5pc2g9ZnVuY3Rpb24oKXt2YXIgdD10aGlzO2lmKCF0Ll9kZXN0cm95ZWQpe3ZhciByPXQuX29wdHMscz10Ll9oZWFkZXJzLGE9bnVsbDsiR0VUIiE9PXIubWV0aG9kJiYiSEVBRCIhPT1yLm1ldGhvZCYmKGE9by5hcnJheWJ1ZmZlcj9jKGUuY29uY2F0KHQuX2JvZHkpKTpvLmJsb2JDb25zdHJ1Y3Rvcj9uZXcgbi5CbG9iKHQuX2JvZHkubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gYyh0KX0pKSx7dHlwZTooc1siY29udGVudC10eXBlIl18fHt9KS52YWx1ZXx8IiJ9KTplLmNvbmNhdCh0Ll9ib2R5KS50b1N0cmluZygpKTt2YXIgdT1bXTtpZihPYmplY3Qua2V5cyhzKS5mb3JFYWNoKChmdW5jdGlvbih0KXt2YXIgZT1zW3RdLm5hbWUscj1zW3RdLnZhbHVlO0FycmF5LmlzQXJyYXkocik/ci5mb3JFYWNoKChmdW5jdGlvbih0KXt1LnB1c2goW2UsdF0pfSkpOnUucHVzaChbZSxyXSl9KSksImZldGNoIj09PXQuX21vZGUpe3ZhciBmPW51bGw7aWYoby5hYm9ydENvbnRyb2xsZXIpe3ZhciBsPW5ldyBBYm9ydENvbnRyb2xsZXI7Zj1sLnNpZ25hbCx0Ll9mZXRjaEFib3J0Q29udHJvbGxlcj1sLCJyZXF1ZXN0VGltZW91dCJpbiByJiYwIT09ci5yZXF1ZXN0VGltZW91dCYmKHQuX2ZldGNoVGltZXI9bi5zZXRUaW1lb3V0KChmdW5jdGlvbigpe3QuZW1pdCgicmVxdWVzdFRpbWVvdXQiKSx0Ll9mZXRjaEFib3J0Q29udHJvbGxlciYmdC5fZmV0Y2hBYm9ydENvbnRyb2xsZXIuYWJvcnQoKX0pLHIucmVxdWVzdFRpbWVvdXQpKX1uLmZldGNoKHQuX29wdHMudXJsLHttZXRob2Q6dC5fb3B0cy5tZXRob2QsaGVhZGVyczp1LGJvZHk6YXx8dm9pZCAwLG1vZGU6ImNvcnMiLGNyZWRlbnRpYWxzOnIud2l0aENyZWRlbnRpYWxzPyJpbmNsdWRlIjoic2FtZS1vcmlnaW4iLHNpZ25hbDpmfSkudGhlbigoZnVuY3Rpb24oZSl7dC5fZmV0Y2hSZXNwb25zZT1lLHQuX2Nvbm5lY3QoKX0pLChmdW5jdGlvbihlKXtuLmNsZWFyVGltZW91dCh0Ll9mZXRjaFRpbWVyKSx0Ll9kZXN0cm95ZWR8fHQuZW1pdCgiZXJyb3IiLGUpfSkpfWVsc2V7dmFyIGQ9dC5feGhyPW5ldyBuLlhNTEh0dHBSZXF1ZXN0O3RyeXtkLm9wZW4odC5fb3B0cy5tZXRob2QsdC5fb3B0cy51cmwsITApfWNhdGNoKGUpe3JldHVybiB2b2lkIGkubmV4dFRpY2soKGZ1bmN0aW9uKCl7dC5lbWl0KCJlcnJvciIsZSl9KSl9InJlc3BvbnNlVHlwZSJpbiBkJiYoZC5yZXNwb25zZVR5cGU9dC5fbW9kZS5zcGxpdCgiOiIpWzBdKSwid2l0aENyZWRlbnRpYWxzImluIGQmJihkLndpdGhDcmVkZW50aWFscz0hIXIud2l0aENyZWRlbnRpYWxzKSwidGV4dCI9PT10Ll9tb2RlJiYib3ZlcnJpZGVNaW1lVHlwZSJpbiBkJiZkLm92ZXJyaWRlTWltZVR5cGUoInRleHQvcGxhaW47IGNoYXJzZXQ9eC11c2VyLWRlZmluZWQiKSwicmVxdWVzdFRpbWVvdXQiaW4gciYmKGQudGltZW91dD1yLnJlcXVlc3RUaW1lb3V0LGQub250aW1lb3V0PWZ1bmN0aW9uKCl7dC5lbWl0KCJyZXF1ZXN0VGltZW91dCIpfSksdS5mb3JFYWNoKChmdW5jdGlvbih0KXtkLnNldFJlcXVlc3RIZWFkZXIodFswXSx0WzFdKX0pKSx0Ll9yZXNwb25zZT1udWxsLGQub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7c3dpdGNoKGQucmVhZHlTdGF0ZSl7Y2FzZSBoLkxPQURJTkc6Y2FzZSBoLkRPTkU6dC5fb25YSFJQcm9ncmVzcygpfX0sIm1vei1jaHVua2VkLWFycmF5YnVmZmVyIj09PXQuX21vZGUmJihkLm9ucHJvZ3Jlc3M9ZnVuY3Rpb24oKXt0Ll9vblhIUlByb2dyZXNzKCl9KSxkLm9uZXJyb3I9ZnVuY3Rpb24oKXt0Ll9kZXN0cm95ZWR8fHQuZW1pdCgiZXJyb3IiLG5ldyBFcnJvcigiWEhSIGVycm9yIikpfTt0cnl7ZC5zZW5kKGEpfWNhdGNoKGUpe3JldHVybiB2b2lkIGkubmV4dFRpY2soKGZ1bmN0aW9uKCl7dC5lbWl0KCJlcnJvciIsZSl9KSl9fX19LGwucHJvdG90eXBlLl9vblhIUlByb2dyZXNzPWZ1bmN0aW9uKCl7KGZ1bmN0aW9uKHQpe3RyeXt2YXIgZT10LnN0YXR1cztyZXR1cm4gbnVsbCE9PWUmJjAhPT1lfWNhdGNoKHQpe3JldHVybiExfX0pKHRoaXMuX3hocikmJiF0aGlzLl9kZXN0cm95ZWQmJih0aGlzLl9yZXNwb25zZXx8dGhpcy5fY29ubmVjdCgpLHRoaXMuX3Jlc3BvbnNlLl9vblhIUlByb2dyZXNzKCkpfSxsLnByb3RvdHlwZS5fY29ubmVjdD1mdW5jdGlvbigpe3ZhciB0PXRoaXM7dC5fZGVzdHJveWVkfHwodC5fcmVzcG9uc2U9bmV3IGYodC5feGhyLHQuX2ZldGNoUmVzcG9uc2UsdC5fbW9kZSx0Ll9mZXRjaFRpbWVyKSx0Ll9yZXNwb25zZS5vbigiZXJyb3IiLChmdW5jdGlvbihlKXt0LmVtaXQoImVycm9yIixlKX0pKSx0LmVtaXQoInJlc3BvbnNlIix0Ll9yZXNwb25zZSkpfSxsLnByb3RvdHlwZS5fd3JpdGU9ZnVuY3Rpb24odCxlLHIpe3RoaXMuX2JvZHkucHVzaCh0KSxyKCl9LGwucHJvdG90eXBlLmFib3J0PWwucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXt0aGlzLl9kZXN0cm95ZWQ9ITAsbi5jbGVhclRpbWVvdXQodGhpcy5fZmV0Y2hUaW1lciksdGhpcy5fcmVzcG9uc2UmJih0aGlzLl9yZXNwb25zZS5fZGVzdHJveWVkPSEwKSx0aGlzLl94aHI/dGhpcy5feGhyLmFib3J0KCk6dGhpcy5fZmV0Y2hBYm9ydENvbnRyb2xsZXImJnRoaXMuX2ZldGNoQWJvcnRDb250cm9sbGVyLmFib3J0KCl9LGwucHJvdG90eXBlLmVuZD1mdW5jdGlvbih0LGUscil7ImZ1bmN0aW9uIj09dHlwZW9mIHQmJihyPXQsdD12b2lkIDApLHUuV3JpdGFibGUucHJvdG90eXBlLmVuZC5jYWxsKHRoaXMsdCxlLHIpfSxsLnByb3RvdHlwZS5mbHVzaEhlYWRlcnM9ZnVuY3Rpb24oKXt9LGwucHJvdG90eXBlLnNldFRpbWVvdXQ9ZnVuY3Rpb24oKXt9LGwucHJvdG90eXBlLnNldE5vRGVsYXk9ZnVuY3Rpb24oKXt9LGwucHJvdG90eXBlLnNldFNvY2tldEtlZXBBbGl2ZT1mdW5jdGlvbigpe307dmFyIGQ9WyJhY2NlcHQtY2hhcnNldCIsImFjY2VwdC1lbmNvZGluZyIsImFjY2Vzcy1jb250cm9sLXJlcXVlc3QtaGVhZGVycyIsImFjY2Vzcy1jb250cm9sLXJlcXVlc3QtbWV0aG9kIiwiY29ubmVjdGlvbiIsImNvbnRlbnQtbGVuZ3RoIiwiY29va2llIiwiY29va2llMiIsImRhdGUiLCJkbnQiLCJleHBlY3QiLCJob3N0Iiwia2VlcC1hbGl2ZSIsIm9yaWdpbiIsInJlZmVyZXIiLCJ0ZSIsInRyYWlsZXIiLCJ0cmFuc2Zlci1lbmNvZGluZyIsInVwZ3JhZGUiLCJ2aWEiXX0pLmNhbGwodGhpcyxyKDIpLkJ1ZmZlcixyKDYpLHIoNSkpfSxmdW5jdGlvbih0LGUpe30sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDUyKS5CdWZmZXIsaT1yKDIwNyk7dC5leHBvcnRzPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpeyFmdW5jdGlvbih0LGUpe2lmKCEodCBpbnN0YW5jZW9mIGUpKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvbiIpfSh0aGlzLHQpLHRoaXMuaGVhZD1udWxsLHRoaXMudGFpbD1udWxsLHRoaXMubGVuZ3RoPTB9cmV0dXJuIHQucHJvdG90eXBlLnB1c2g9ZnVuY3Rpb24odCl7dmFyIGU9e2RhdGE6dCxuZXh0Om51bGx9O3RoaXMubGVuZ3RoPjA/dGhpcy50YWlsLm5leHQ9ZTp0aGlzLmhlYWQ9ZSx0aGlzLnRhaWw9ZSwrK3RoaXMubGVuZ3RofSx0LnByb3RvdHlwZS51bnNoaWZ0PWZ1bmN0aW9uKHQpe3ZhciBlPXtkYXRhOnQsbmV4dDp0aGlzLmhlYWR9OzA9PT10aGlzLmxlbmd0aCYmKHRoaXMudGFpbD1lKSx0aGlzLmhlYWQ9ZSwrK3RoaXMubGVuZ3RofSx0LnByb3RvdHlwZS5zaGlmdD1mdW5jdGlvbigpe2lmKDAhPT10aGlzLmxlbmd0aCl7dmFyIHQ9dGhpcy5oZWFkLmRhdGE7cmV0dXJuIDE9PT10aGlzLmxlbmd0aD90aGlzLmhlYWQ9dGhpcy50YWlsPW51bGw6dGhpcy5oZWFkPXRoaXMuaGVhZC5uZXh0LC0tdGhpcy5sZW5ndGgsdH19LHQucHJvdG90eXBlLmNsZWFyPWZ1bmN0aW9uKCl7dGhpcy5oZWFkPXRoaXMudGFpbD1udWxsLHRoaXMubGVuZ3RoPTB9LHQucHJvdG90eXBlLmpvaW49ZnVuY3Rpb24odCl7aWYoMD09PXRoaXMubGVuZ3RoKXJldHVybiIiO2Zvcih2YXIgZT10aGlzLmhlYWQscj0iIitlLmRhdGE7ZT1lLm5leHQ7KXIrPXQrZS5kYXRhO3JldHVybiByfSx0LnByb3RvdHlwZS5jb25jYXQ9ZnVuY3Rpb24odCl7aWYoMD09PXRoaXMubGVuZ3RoKXJldHVybiBuLmFsbG9jKDApO2lmKDE9PT10aGlzLmxlbmd0aClyZXR1cm4gdGhpcy5oZWFkLmRhdGE7Zm9yKHZhciBlLHIsaSxvPW4uYWxsb2NVbnNhZmUodD4+PjApLHM9dGhpcy5oZWFkLGE9MDtzOyllPXMuZGF0YSxyPW8saT1hLGUuY29weShyLGkpLGErPXMuZGF0YS5sZW5ndGgscz1zLm5leHQ7cmV0dXJuIG99LHR9KCksaSYmaS5pbnNwZWN0JiZpLmluc3BlY3QuY3VzdG9tJiYodC5leHBvcnRzLnByb3RvdHlwZVtpLmluc3BlY3QuY3VzdG9tXT1mdW5jdGlvbigpe3ZhciB0PWkuaW5zcGVjdCh7bGVuZ3RoOnRoaXMubGVuZ3RofSk7cmV0dXJuIHRoaXMuY29uc3RydWN0b3IubmFtZSsiICIrdH0pfSxmdW5jdGlvbih0LGUpe30sZnVuY3Rpb24odCxlLHIpeyhmdW5jdGlvbih0LGUpeyFmdW5jdGlvbih0LHIpeyJ1c2Ugc3RyaWN0IjtpZighdC5zZXRJbW1lZGlhdGUpe3ZhciBuLGksbyxzLGEsdT0xLGM9e30sZj0hMSxoPXQuZG9jdW1lbnQsbD1PYmplY3QuZ2V0UHJvdG90eXBlT2YmJk9iamVjdC5nZXRQcm90b3R5cGVPZih0KTtsPWwmJmwuc2V0VGltZW91dD9sOnQsIltvYmplY3QgcHJvY2Vzc10iPT09e30udG9TdHJpbmcuY2FsbCh0LnByb2Nlc3MpP249ZnVuY3Rpb24odCl7ZS5uZXh0VGljaygoZnVuY3Rpb24oKXtwKHQpfSkpfTohZnVuY3Rpb24oKXtpZih0LnBvc3RNZXNzYWdlJiYhdC5pbXBvcnRTY3JpcHRzKXt2YXIgZT0hMCxyPXQub25tZXNzYWdlO3JldHVybiB0Lm9ubWVzc2FnZT1mdW5jdGlvbigpe2U9ITF9LHQucG9zdE1lc3NhZ2UoIiIsIioiKSx0Lm9ubWVzc2FnZT1yLGV9fSgpP3QuTWVzc2FnZUNoYW5uZWw/KChvPW5ldyBNZXNzYWdlQ2hhbm5lbCkucG9ydDEub25tZXNzYWdlPWZ1bmN0aW9uKHQpe3AodC5kYXRhKX0sbj1mdW5jdGlvbih0KXtvLnBvcnQyLnBvc3RNZXNzYWdlKHQpfSk6aCYmIm9ucmVhZHlzdGF0ZWNoYW5nZSJpbiBoLmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpPyhpPWguZG9jdW1lbnRFbGVtZW50LG49ZnVuY3Rpb24odCl7dmFyIGU9aC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtlLm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbigpe3AodCksZS5vbnJlYWR5c3RhdGVjaGFuZ2U9bnVsbCxpLnJlbW92ZUNoaWxkKGUpLGU9bnVsbH0saS5hcHBlbmRDaGlsZChlKX0pOm49ZnVuY3Rpb24odCl7c2V0VGltZW91dChwLDAsdCl9OihzPSJzZXRJbW1lZGlhdGUkIitNYXRoLnJhbmRvbSgpKyIkIixhPWZ1bmN0aW9uKGUpe2Uuc291cmNlPT09dCYmInN0cmluZyI9PXR5cGVvZiBlLmRhdGEmJjA9PT1lLmRhdGEuaW5kZXhPZihzKSYmcCgrZS5kYXRhLnNsaWNlKHMubGVuZ3RoKSl9LHQuYWRkRXZlbnRMaXN0ZW5lcj90LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLGEsITEpOnQuYXR0YWNoRXZlbnQoIm9ubWVzc2FnZSIsYSksbj1mdW5jdGlvbihlKXt0LnBvc3RNZXNzYWdlKHMrZSwiKiIpfSksbC5zZXRJbW1lZGlhdGU9ZnVuY3Rpb24odCl7ImZ1bmN0aW9uIiE9dHlwZW9mIHQmJih0PW5ldyBGdW5jdGlvbigiIit0KSk7Zm9yKHZhciBlPW5ldyBBcnJheShhcmd1bWVudHMubGVuZ3RoLTEpLHI9MDtyPGUubGVuZ3RoO3IrKyllW3JdPWFyZ3VtZW50c1tyKzFdO3ZhciBpPXtjYWxsYmFjazp0LGFyZ3M6ZX07cmV0dXJuIGNbdV09aSxuKHUpLHUrK30sbC5jbGVhckltbWVkaWF0ZT1kfWZ1bmN0aW9uIGQodCl7ZGVsZXRlIGNbdF19ZnVuY3Rpb24gcCh0KXtpZihmKXNldFRpbWVvdXQocCwwLHQpO2Vsc2V7dmFyIGU9Y1t0XTtpZihlKXtmPSEwO3RyeXshZnVuY3Rpb24odCl7dmFyIGU9dC5jYWxsYmFjayxyPXQuYXJncztzd2l0Y2goci5sZW5ndGgpe2Nhc2UgMDplKCk7YnJlYWs7Y2FzZSAxOmUoclswXSk7YnJlYWs7Y2FzZSAyOmUoclswXSxyWzFdKTticmVhaztjYXNlIDM6ZShyWzBdLHJbMV0sclsyXSk7YnJlYWs7ZGVmYXVsdDplLmFwcGx5KHZvaWQgMCxyKX19KGUpfWZpbmFsbHl7ZCh0KSxmPSExfX19fX0oInVuZGVmaW5lZCI9PXR5cGVvZiBzZWxmP3ZvaWQgMD09PXQ/dGhpczp0OnNlbGYpfSkuY2FsbCh0aGlzLHIoNikscig1KSl9LGZ1bmN0aW9uKHQsZSxyKXt2YXIgbj1yKDIpLGk9bi5CdWZmZXI7ZnVuY3Rpb24gbyh0LGUpe2Zvcih2YXIgciBpbiB0KWVbcl09dFtyXX1mdW5jdGlvbiBzKHQsZSxyKXtyZXR1cm4gaSh0LGUscil9aS5mcm9tJiZpLmFsbG9jJiZpLmFsbG9jVW5zYWZlJiZpLmFsbG9jVW5zYWZlU2xvdz90LmV4cG9ydHM9bjoobyhuLGUpLGUuQnVmZmVyPXMpLG8oaSxzKSxzLmZyb209ZnVuY3Rpb24odCxlLHIpe2lmKCJudW1iZXIiPT10eXBlb2YgdCl0aHJvdyBuZXcgVHlwZUVycm9yKCJBcmd1bWVudCBtdXN0IG5vdCBiZSBhIG51bWJlciIpO3JldHVybiBpKHQsZSxyKX0scy5hbGxvYz1mdW5jdGlvbih0LGUscil7aWYoIm51bWJlciIhPXR5cGVvZiB0KXRocm93IG5ldyBUeXBlRXJyb3IoIkFyZ3VtZW50IG11c3QgYmUgYSBudW1iZXIiKTt2YXIgbj1pKHQpO3JldHVybiB2b2lkIDAhPT1lPyJzdHJpbmciPT10eXBlb2Ygcj9uLmZpbGwoZSxyKTpuLmZpbGwoZSk6bi5maWxsKDApLG59LHMuYWxsb2NVbnNhZmU9ZnVuY3Rpb24odCl7aWYoIm51bWJlciIhPXR5cGVvZiB0KXRocm93IG5ldyBUeXBlRXJyb3IoIkFyZ3VtZW50IG11c3QgYmUgYSBudW1iZXIiKTtyZXR1cm4gaSh0KX0scy5hbGxvY1Vuc2FmZVNsb3c9ZnVuY3Rpb24odCl7aWYoIm51bWJlciIhPXR5cGVvZiB0KXRocm93IG5ldyBUeXBlRXJyb3IoIkFyZ3VtZW50IG11c3QgYmUgYSBudW1iZXIiKTtyZXR1cm4gbi5TbG93QnVmZmVyKHQpfX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt0LmV4cG9ydHM9bzt2YXIgbj1yKDEwOSksaT1PYmplY3QuY3JlYXRlKHIoMzUpKTtmdW5jdGlvbiBvKHQpe2lmKCEodGhpcyBpbnN0YW5jZW9mIG8pKXJldHVybiBuZXcgbyh0KTtuLmNhbGwodGhpcyx0KX1pLmluaGVyaXRzPXIoMyksaS5pbmhlcml0cyhvLG4pLG8ucHJvdG90eXBlLl90cmFuc2Zvcm09ZnVuY3Rpb24odCxlLHIpe3IobnVsbCx0KX19LGZ1bmN0aW9uKHQsZSxyKXt2YXIgbj1yKDIpLkJ1ZmZlcjt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7aWYodCBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpe2lmKDA9PT10LmJ5dGVPZmZzZXQmJnQuYnl0ZUxlbmd0aD09PXQuYnVmZmVyLmJ5dGVMZW5ndGgpcmV0dXJuIHQuYnVmZmVyO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiB0LmJ1ZmZlci5zbGljZSlyZXR1cm4gdC5idWZmZXIuc2xpY2UodC5ieXRlT2Zmc2V0LHQuYnl0ZU9mZnNldCt0LmJ5dGVMZW5ndGgpfWlmKG4uaXNCdWZmZXIodCkpe2Zvcih2YXIgZT1uZXcgVWludDhBcnJheSh0Lmxlbmd0aCkscj10Lmxlbmd0aCxpPTA7aTxyO2krKyllW2ldPXRbaV07cmV0dXJuIGUuYnVmZmVyfXRocm93IG5ldyBFcnJvcigiQXJndW1lbnQgbXVzdCBiZSBhIEJ1ZmZlciIpfX0sZnVuY3Rpb24odCxlKXt0LmV4cG9ydHM9ezEwMDoiQ29udGludWUiLDEwMToiU3dpdGNoaW5nIFByb3RvY29scyIsMTAyOiJQcm9jZXNzaW5nIiwyMDA6Ik9LIiwyMDE6IkNyZWF0ZWQiLDIwMjoiQWNjZXB0ZWQiLDIwMzoiTm9uLUF1dGhvcml0YXRpdmUgSW5mb3JtYXRpb24iLDIwNDoiTm8gQ29udGVudCIsMjA1OiJSZXNldCBDb250ZW50IiwyMDY6IlBhcnRpYWwgQ29udGVudCIsMjA3OiJNdWx0aS1TdGF0dXMiLDIwODoiQWxyZWFkeSBSZXBvcnRlZCIsMjI2OiJJTSBVc2VkIiwzMDA6Ik11bHRpcGxlIENob2ljZXMiLDMwMToiTW92ZWQgUGVybWFuZW50bHkiLDMwMjoiRm91bmQiLDMwMzoiU2VlIE90aGVyIiwzMDQ6Ik5vdCBNb2RpZmllZCIsMzA1OiJVc2UgUHJveHkiLDMwNzoiVGVtcG9yYXJ5IFJlZGlyZWN0IiwzMDg6IlBlcm1hbmVudCBSZWRpcmVjdCIsNDAwOiJCYWQgUmVxdWVzdCIsNDAxOiJVbmF1dGhvcml6ZWQiLDQwMjoiUGF5bWVudCBSZXF1aXJlZCIsNDAzOiJGb3JiaWRkZW4iLDQwNDoiTm90IEZvdW5kIiw0MDU6Ik1ldGhvZCBOb3QgQWxsb3dlZCIsNDA2OiJOb3QgQWNjZXB0YWJsZSIsNDA3OiJQcm94eSBBdXRoZW50aWNhdGlvbiBSZXF1aXJlZCIsNDA4OiJSZXF1ZXN0IFRpbWVvdXQiLDQwOToiQ29uZmxpY3QiLDQxMDoiR29uZSIsNDExOiJMZW5ndGggUmVxdWlyZWQiLDQxMjoiUHJlY29uZGl0aW9uIEZhaWxlZCIsNDEzOiJQYXlsb2FkIFRvbyBMYXJnZSIsNDE0OiJVUkkgVG9vIExvbmciLDQxNToiVW5zdXBwb3J0ZWQgTWVkaWEgVHlwZSIsNDE2OiJSYW5nZSBOb3QgU2F0aXNmaWFibGUiLDQxNzoiRXhwZWN0YXRpb24gRmFpbGVkIiw0MTg6IkknbSBhIHRlYXBvdCIsNDIxOiJNaXNkaXJlY3RlZCBSZXF1ZXN0Iiw0MjI6IlVucHJvY2Vzc2FibGUgRW50aXR5Iiw0MjM6IkxvY2tlZCIsNDI0OiJGYWlsZWQgRGVwZW5kZW5jeSIsNDI1OiJVbm9yZGVyZWQgQ29sbGVjdGlvbiIsNDI2OiJVcGdyYWRlIFJlcXVpcmVkIiw0Mjg6IlByZWNvbmRpdGlvbiBSZXF1aXJlZCIsNDI5OiJUb28gTWFueSBSZXF1ZXN0cyIsNDMxOiJSZXF1ZXN0IEhlYWRlciBGaWVsZHMgVG9vIExhcmdlIiw0NTE6IlVuYXZhaWxhYmxlIEZvciBMZWdhbCBSZWFzb25zIiw1MDA6IkludGVybmFsIFNlcnZlciBFcnJvciIsNTAxOiJOb3QgSW1wbGVtZW50ZWQiLDUwMjoiQmFkIEdhdGV3YXkiLDUwMzoiU2VydmljZSBVbmF2YWlsYWJsZSIsNTA0OiJHYXRld2F5IFRpbWVvdXQiLDUwNToiSFRUUCBWZXJzaW9uIE5vdCBTdXBwb3J0ZWQiLDUwNjoiVmFyaWFudCBBbHNvIE5lZ290aWF0ZXMiLDUwNzoiSW5zdWZmaWNpZW50IFN0b3JhZ2UiLDUwODoiTG9vcCBEZXRlY3RlZCIsNTA5OiJCYW5kd2lkdGggTGltaXQgRXhjZWVkZWQiLDUxMDoiTm90IEV4dGVuZGVkIiw1MTE6Ik5ldHdvcmsgQXV0aGVudGljYXRpb24gUmVxdWlyZWQifX0sZnVuY3Rpb24odCxlLHIpeyhmdW5jdGlvbih0LG4pe3ZhciBpOy8qISBodHRwczovL210aHMuYmUvcHVueWNvZGUgdjEuNC4xIGJ5IEBtYXRoaWFzICovIWZ1bmN0aW9uKG8pe2UmJmUubm9kZVR5cGUsdCYmdC5ub2RlVHlwZTt2YXIgcz0ib2JqZWN0Ij09dHlwZW9mIG4mJm47cy5nbG9iYWwhPT1zJiZzLndpbmRvdyE9PXMmJnMuc2VsZjt2YXIgYSx1PTIxNDc0ODM2NDcsYz0vXnhuLS0vLGY9L1teXHgyMC1ceDdFXS8saD0vW1x4MkVcdTMwMDJcdUZGMEVcdUZGNjFdL2csbD17b3ZlcmZsb3c6Ik92ZXJmbG93OiBpbnB1dCBuZWVkcyB3aWRlciBpbnRlZ2VycyB0byBwcm9jZXNzIiwibm90LWJhc2ljIjoiSWxsZWdhbCBpbnB1dCA+PSAweDgwIChub3QgYSBiYXNpYyBjb2RlIHBvaW50KSIsImludmFsaWQtaW5wdXQiOiJJbnZhbGlkIGlucHV0In0sZD1NYXRoLmZsb29yLHA9U3RyaW5nLmZyb21DaGFyQ29kZTtmdW5jdGlvbiBtKHQpe3Rocm93IG5ldyBSYW5nZUVycm9yKGxbdF0pfWZ1bmN0aW9uIGcodCxlKXtmb3IodmFyIHI9dC5sZW5ndGgsbj1bXTtyLS07KW5bcl09ZSh0W3JdKTtyZXR1cm4gbn1mdW5jdGlvbiBiKHQsZSl7dmFyIHI9dC5zcGxpdCgiQCIpLG49IiI7cmV0dXJuIHIubGVuZ3RoPjEmJihuPXJbMF0rIkAiLHQ9clsxXSksbitnKCh0PXQucmVwbGFjZShoLCIuIikpLnNwbGl0KCIuIiksZSkuam9pbigiLiIpfWZ1bmN0aW9uIHkodCl7Zm9yKHZhciBlLHIsbj1bXSxpPTAsbz10Lmxlbmd0aDtpPG87KShlPXQuY2hhckNvZGVBdChpKyspKT49NTUyOTYmJmU8PTU2MzE5JiZpPG8/NTYzMjA9PSg2NDUxMiYocj10LmNoYXJDb2RlQXQoaSsrKSkpP24ucHVzaCgoKDEwMjMmZSk8PDEwKSsoMTAyMyZyKSs2NTUzNik6KG4ucHVzaChlKSxpLS0pOm4ucHVzaChlKTtyZXR1cm4gbn1mdW5jdGlvbiB2KHQpe3JldHVybiBnKHQsKGZ1bmN0aW9uKHQpe3ZhciBlPSIiO3JldHVybiB0PjY1NTM1JiYoZSs9cCgodC09NjU1MzYpPj4+MTAmMTAyM3w1NTI5NiksdD01NjMyMHwxMDIzJnQpLGUrPXAodCl9KSkuam9pbigiIil9ZnVuY3Rpb24gXyh0LGUpe3JldHVybiB0KzIyKzc1Kih0PDI2KS0oKDAhPWUpPDw1KX1mdW5jdGlvbiB3KHQsZSxyKXt2YXIgbj0wO2Zvcih0PXI/ZCh0LzcwMCk6dD4+MSx0Kz1kKHQvZSk7dD40NTU7bis9MzYpdD1kKHQvMzUpO3JldHVybiBkKG4rMzYqdC8odCszOCkpfWZ1bmN0aW9uIE0odCl7dmFyIGUscixuLGksbyxzLGEsYyxmLGgsbCxwPVtdLGc9dC5sZW5ndGgsYj0wLHk9MTI4LF89NzI7Zm9yKChyPXQubGFzdEluZGV4T2YoIi0iKSk8MCYmKHI9MCksbj0wO248cjsrK24pdC5jaGFyQ29kZUF0KG4pPj0xMjgmJm0oIm5vdC1iYXNpYyIpLHAucHVzaCh0LmNoYXJDb2RlQXQobikpO2ZvcihpPXI+MD9yKzE6MDtpPGc7KXtmb3Iobz1iLHM9MSxhPTM2O2k+PWcmJm0oImludmFsaWQtaW5wdXQiKSwoKGM9KGw9dC5jaGFyQ29kZUF0KGkrKykpLTQ4PDEwP2wtMjI6bC02NTwyNj9sLTY1OmwtOTc8MjY/bC05NzozNik+PTM2fHxjPmQoKHUtYikvcykpJiZtKCJvdmVyZmxvdyIpLGIrPWMqcywhKGM8KGY9YTw9Xz8xOmE+PV8rMjY/MjY6YS1fKSk7YSs9MzYpcz5kKHUvKGg9MzYtZikpJiZtKCJvdmVyZmxvdyIpLHMqPWg7Xz13KGItbyxlPXAubGVuZ3RoKzEsMD09byksZChiL2UpPnUteSYmbSgib3ZlcmZsb3ciKSx5Kz1kKGIvZSksYiU9ZSxwLnNwbGljZShiKyssMCx5KX1yZXR1cm4gdihwKX1mdW5jdGlvbiBTKHQpe3ZhciBlLHIsbixpLG8scyxhLGMsZixoLGwsZyxiLHYsTSxTPVtdO2ZvcihnPSh0PXkodCkpLmxlbmd0aCxlPTEyOCxyPTAsbz03MixzPTA7czxnOysrcykobD10W3NdKTwxMjgmJlMucHVzaChwKGwpKTtmb3Iobj1pPVMubGVuZ3RoLGkmJlMucHVzaCgiLSIpO248Zzspe2ZvcihhPXUscz0wO3M8ZzsrK3MpKGw9dFtzXSk+PWUmJmw8YSYmKGE9bCk7Zm9yKGEtZT5kKCh1LXIpLyhiPW4rMSkpJiZtKCJvdmVyZmxvdyIpLHIrPShhLWUpKmIsZT1hLHM9MDtzPGc7KytzKWlmKChsPXRbc10pPGUmJisrcj51JiZtKCJvdmVyZmxvdyIpLGw9PWUpe2ZvcihjPXIsZj0zNjshKGM8KGg9Zjw9bz8xOmY+PW8rMjY/MjY6Zi1vKSk7Zis9MzYpTT1jLWgsdj0zNi1oLFMucHVzaChwKF8oaCtNJXYsMCkpKSxjPWQoTS92KTtTLnB1c2gocChfKGMsMCkpKSxvPXcocixiLG49PWkpLHI9MCwrK259KytyLCsrZX1yZXR1cm4gUy5qb2luKCIiKX1hPXt2ZXJzaW9uOiIxLjQuMSIsdWNzMjp7ZGVjb2RlOnksZW5jb2RlOnZ9LGRlY29kZTpNLGVuY29kZTpTLHRvQVNDSUk6ZnVuY3Rpb24odCl7cmV0dXJuIGIodCwoZnVuY3Rpb24odCl7cmV0dXJuIGYudGVzdCh0KT8ieG4tLSIrUyh0KTp0fSkpfSx0b1VuaWNvZGU6ZnVuY3Rpb24odCl7cmV0dXJuIGIodCwoZnVuY3Rpb24odCl7cmV0dXJuIGMudGVzdCh0KT9NKHQuc2xpY2UoNCkudG9Mb3dlckNhc2UoKSk6dH0pKX19LHZvaWQgMD09PShpPWZ1bmN0aW9uKCl7cmV0dXJuIGF9LmNhbGwoZSxyLGUsdCkpfHwodC5leHBvcnRzPWkpfSgpfSkuY2FsbCh0aGlzLHIoMjUpKHQpLHIoNikpfSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3QuZXhwb3J0cz17aXNTdHJpbmc6ZnVuY3Rpb24odCl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0fSxpc09iamVjdDpmdW5jdGlvbih0KXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIHQmJm51bGwhPT10fSxpc051bGw6ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PT10fSxpc051bGxPclVuZGVmaW5lZDpmdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dH19fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2UuZGVjb2RlPWUucGFyc2U9cigyMTYpLGUuZW5jb2RlPWUuc3RyaW5naWZ5PXIoMjE3KX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKHQsZSl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LGUpfXQuZXhwb3J0cz1mdW5jdGlvbih0LGUscixvKXtlPWV8fCImIixyPXJ8fCI9Ijt2YXIgcz17fTtpZigic3RyaW5nIiE9dHlwZW9mIHR8fDA9PT10Lmxlbmd0aClyZXR1cm4gczt2YXIgYT0vXCsvZzt0PXQuc3BsaXQoZSk7dmFyIHU9MWUzO28mJiJudW1iZXIiPT10eXBlb2Ygby5tYXhLZXlzJiYodT1vLm1heEtleXMpO3ZhciBjPXQubGVuZ3RoO3U+MCYmYz51JiYoYz11KTtmb3IodmFyIGY9MDtmPGM7KytmKXt2YXIgaCxsLGQscCxtPXRbZl0ucmVwbGFjZShhLCIlMjAiKSxnPW0uaW5kZXhPZihyKTtnPj0wPyhoPW0uc3Vic3RyKDAsZyksbD1tLnN1YnN0cihnKzEpKTooaD1tLGw9IiIpLGQ9ZGVjb2RlVVJJQ29tcG9uZW50KGgpLHA9ZGVjb2RlVVJJQ29tcG9uZW50KGwpLG4ocyxkKT9pKHNbZF0pP3NbZF0ucHVzaChwKTpzW2RdPVtzW2RdLHBdOnNbZF09cH1yZXR1cm4gc307dmFyIGk9QXJyYXkuaXNBcnJheXx8ZnVuY3Rpb24odCl7cmV0dXJuIltvYmplY3QgQXJyYXldIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KX19LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49ZnVuY3Rpb24odCl7c3dpdGNoKHR5cGVvZiB0KXtjYXNlInN0cmluZyI6cmV0dXJuIHQ7Y2FzZSJib29sZWFuIjpyZXR1cm4gdD8idHJ1ZSI6ImZhbHNlIjtjYXNlIm51bWJlciI6cmV0dXJuIGlzRmluaXRlKHQpP3Q6IiI7ZGVmYXVsdDpyZXR1cm4iIn19O3QuZXhwb3J0cz1mdW5jdGlvbih0LGUscixhKXtyZXR1cm4gZT1lfHwiJiIscj1yfHwiPSIsbnVsbD09PXQmJih0PXZvaWQgMCksIm9iamVjdCI9PXR5cGVvZiB0P28ocyh0KSwoZnVuY3Rpb24ocyl7dmFyIGE9ZW5jb2RlVVJJQ29tcG9uZW50KG4ocykpK3I7cmV0dXJuIGkodFtzXSk/byh0W3NdLChmdW5jdGlvbih0KXtyZXR1cm4gYStlbmNvZGVVUklDb21wb25lbnQobih0KSl9KSkuam9pbihlKTphK2VuY29kZVVSSUNvbXBvbmVudChuKHRbc10pKX0pKS5qb2luKGUpOmE/ZW5jb2RlVVJJQ29tcG9uZW50KG4oYSkpK3IrZW5jb2RlVVJJQ29tcG9uZW50KG4odCkpOiIifTt2YXIgaT1BcnJheS5pc0FycmF5fHxmdW5jdGlvbih0KXtyZXR1cm4iW29iamVjdCBBcnJheV0iPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpfTtmdW5jdGlvbiBvKHQsZSl7aWYodC5tYXApcmV0dXJuIHQubWFwKGUpO2Zvcih2YXIgcj1bXSxuPTA7bjx0Lmxlbmd0aDtuKyspci5wdXNoKGUodFtuXSxuKSk7cmV0dXJuIHJ9dmFyIHM9T2JqZWN0LmtleXN8fGZ1bmN0aW9uKHQpe3ZhciBlPVtdO2Zvcih2YXIgciBpbiB0KU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LHIpJiZlLnB1c2gocik7cmV0dXJuIGV9fSxmdW5jdGlvbih0LGUscil7dmFyIG49cigxMDIpLGk9cig1NSksbz10LmV4cG9ydHM7Zm9yKHZhciBzIGluIG4pbi5oYXNPd25Qcm9wZXJ0eShzKSYmKG9bc109bltzXSk7ZnVuY3Rpb24gYSh0KXtpZigic3RyaW5nIj09dHlwZW9mIHQmJih0PWkucGFyc2UodCkpLHQucHJvdG9jb2x8fCh0LnByb3RvY29sPSJodHRwczoiKSwiaHR0cHM6IiE9PXQucHJvdG9jb2wpdGhyb3cgbmV3IEVycm9yKCdQcm90b2NvbCAiJyt0LnByb3RvY29sKyciIG5vdCBzdXBwb3J0ZWQuIEV4cGVjdGVkICJodHRwczoiJyk7cmV0dXJuIHR9by5yZXF1ZXN0PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQ9YSh0KSxuLnJlcXVlc3QuY2FsbCh0aGlzLHQsZSl9LG8uZ2V0PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQ9YSh0KSxuLmdldC5jYWxsKHRoaXMsdCxlKX19LGZ1bmN0aW9uKHQsZSl7ZS5lbmRpYW5uZXNzPWZ1bmN0aW9uKCl7cmV0dXJuIkxFIn0sZS5ob3N0bmFtZT1mdW5jdGlvbigpe3JldHVybiJ1bmRlZmluZWQiIT10eXBlb2YgbG9jYXRpb24/bG9jYXRpb24uaG9zdG5hbWU6IiJ9LGUubG9hZGF2Zz1mdW5jdGlvbigpe3JldHVybltdfSxlLnVwdGltZT1mdW5jdGlvbigpe3JldHVybiAwfSxlLmZyZWVtZW09ZnVuY3Rpb24oKXtyZXR1cm4gTnVtYmVyLk1BWF9WQUxVRX0sZS50b3RhbG1lbT1mdW5jdGlvbigpe3JldHVybiBOdW1iZXIuTUFYX1ZBTFVFfSxlLmNwdXM9ZnVuY3Rpb24oKXtyZXR1cm5bXX0sZS50eXBlPWZ1bmN0aW9uKCl7cmV0dXJuIkJyb3dzZXIifSxlLnJlbGVhc2U9ZnVuY3Rpb24oKXtyZXR1cm4idW5kZWZpbmVkIiE9dHlwZW9mIG5hdmlnYXRvcj9uYXZpZ2F0b3IuYXBwVmVyc2lvbjoiIn0sZS5uZXR3b3JrSW50ZXJmYWNlcz1lLmdldE5ldHdvcmtJbnRlcmZhY2VzPWZ1bmN0aW9uKCl7cmV0dXJue319LGUuYXJjaD1mdW5jdGlvbigpe3JldHVybiJqYXZhc2NyaXB0In0sZS5wbGF0Zm9ybT1mdW5jdGlvbigpe3JldHVybiJicm93c2VyIn0sZS50bXBkaXI9ZS50bXBEaXI9ZnVuY3Rpb24oKXtyZXR1cm4iL3RtcCJ9LGUuRU9MPSJcbiIsZS5ob21lZGlyPWZ1bmN0aW9uKCl7cmV0dXJuIi8ifX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49ZnVuY3Rpb24odCl7dGhpcy50eXBlPXQsdGhpcy5idWJibGVzPSExLHRoaXMuY2FuY2VsYWJsZT0hMSx0aGlzLmxvYWRlZD0wLHRoaXMubGVuZ3RoQ29tcHV0YWJsZT0hMSx0aGlzLnRvdGFsPTB9O2UuUHJvZ3Jlc3NFdmVudD1ufSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuLGk9dGhpcyYmdGhpcy5fX2V4dGVuZHN8fChuPU9iamVjdC5zZXRQcm90b3R5cGVPZnx8e19fcHJvdG9fXzpbXX1pbnN0YW5jZW9mIEFycmF5JiZmdW5jdGlvbih0LGUpe3QuX19wcm90b19fPWV9fHxmdW5jdGlvbih0LGUpe2Zvcih2YXIgciBpbiBlKWUuaGFzT3duUHJvcGVydHkocikmJih0W3JdPWVbcl0pfSxmdW5jdGlvbih0LGUpe2Z1bmN0aW9uIHIoKXt0aGlzLmNvbnN0cnVjdG9yPXR9bih0LGUpLHQucHJvdG90eXBlPW51bGw9PT1lP09iamVjdC5jcmVhdGUoZSk6KHIucHJvdG90eXBlPWUucHJvdG90eXBlLG5ldyByKX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbz1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKCl7cmV0dXJuIG51bGwhPT10JiZ0LmFwcGx5KHRoaXMsYXJndW1lbnRzKXx8dGhpc31yZXR1cm4gaShlLHQpLGV9KEVycm9yKTtlLlNlY3VyaXR5RXJyb3I9bzt2YXIgcz1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKCl7cmV0dXJuIG51bGwhPT10JiZ0LmFwcGx5KHRoaXMsYXJndW1lbnRzKXx8dGhpc31yZXR1cm4gaShlLHQpLGV9KEVycm9yKTtlLkludmFsaWRTdGF0ZUVycm9yPXM7dmFyIGE9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3JldHVybiBudWxsIT09dCYmdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl8fHRoaXN9cmV0dXJuIGkoZSx0KSxlfShFcnJvcik7ZS5OZXR3b3JrRXJyb3I9YTt2YXIgdT1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKCl7cmV0dXJuIG51bGwhPT10JiZ0LmFwcGx5KHRoaXMsYXJndW1lbnRzKXx8dGhpc31yZXR1cm4gaShlLHQpLGV9KEVycm9yKTtlLlN5bnRheEVycm9yPXV9LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7KGZ1bmN0aW9uKHQpe3ZhciBuLGk9dGhpcyYmdGhpcy5fX2V4dGVuZHN8fChuPU9iamVjdC5zZXRQcm90b3R5cGVPZnx8e19fcHJvdG9fXzpbXX1pbnN0YW5jZW9mIEFycmF5JiZmdW5jdGlvbih0LGUpe3QuX19wcm90b19fPWV9fHxmdW5jdGlvbih0LGUpe2Zvcih2YXIgciBpbiBlKWUuaGFzT3duUHJvcGVydHkocikmJih0W3JdPWVbcl0pfSxmdW5jdGlvbih0LGUpe2Z1bmN0aW9uIHIoKXt0aGlzLmNvbnN0cnVjdG9yPXR9bih0LGUpLHQucHJvdG90eXBlPW51bGw9PT1lP09iamVjdC5jcmVhdGUoZSk6KHIucHJvdG90eXBlPWUucHJvdG90eXBlLG5ldyByKX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbz1mdW5jdGlvbihlKXtmdW5jdGlvbiByKCl7dmFyIHQ9ZS5jYWxsKHRoaXMpfHx0aGlzO3JldHVybiB0Ll9jb250ZW50VHlwZT1udWxsLHQuX2JvZHk9bnVsbCx0Ll9yZXNldCgpLHR9cmV0dXJuIGkocixlKSxyLnByb3RvdHlwZS5fcmVzZXQ9ZnVuY3Rpb24oKXt0aGlzLl9jb250ZW50VHlwZT1udWxsLHRoaXMuX2JvZHk9bnVsbH0sci5wcm90b3R5cGUuX3NldERhdGE9ZnVuY3Rpb24oZSl7aWYobnVsbCE9ZSlpZigic3RyaW5nIj09dHlwZW9mIGUpMCE9PWUubGVuZ3RoJiYodGhpcy5fY29udGVudFR5cGU9InRleHQvcGxhaW47Y2hhcnNldD1VVEYtOCIpLHRoaXMuX2JvZHk9bmV3IHQoZSwidXRmLTgiKTtlbHNlIGlmKHQuaXNCdWZmZXIoZSkpdGhpcy5fYm9keT1lO2Vsc2UgaWYoZSBpbnN0YW5jZW9mIEFycmF5QnVmZmVyKXtmb3IodmFyIHI9bmV3IHQoZS5ieXRlTGVuZ3RoKSxuPW5ldyBVaW50OEFycmF5KGUpLGk9MDtpPGUuYnl0ZUxlbmd0aDtpKyspcltpXT1uW2ldO3RoaXMuX2JvZHk9cn1lbHNle2lmKCEoZS5idWZmZXImJmUuYnVmZmVyIGluc3RhbmNlb2YgQXJyYXlCdWZmZXIpKXRocm93IG5ldyBFcnJvcigiVW5zdXBwb3J0ZWQgc2VuZCgpIGRhdGEgIitlKTtyPW5ldyB0KGUuYnl0ZUxlbmd0aCk7dmFyIG89ZS5ieXRlT2Zmc2V0O2ZvcihuPW5ldyBVaW50OEFycmF5KGUuYnVmZmVyKSxpPTA7aTxlLmJ5dGVMZW5ndGg7aSsrKXJbaV09bltpK29dO3RoaXMuX2JvZHk9cn19LHIucHJvdG90eXBlLl9maW5hbGl6ZUhlYWRlcnM9ZnVuY3Rpb24odCxlKXt0aGlzLl9jb250ZW50VHlwZSYmIWVbImNvbnRlbnQtdHlwZSJdJiYodFsiQ29udGVudC1UeXBlIl09dGhpcy5fY29udGVudFR5cGUpLHRoaXMuX2JvZHkmJih0WyJDb250ZW50LUxlbmd0aCJdPXRoaXMuX2JvZHkubGVuZ3RoLnRvU3RyaW5nKCkpfSxyLnByb3RvdHlwZS5fc3RhcnRVcGxvYWQ9ZnVuY3Rpb24odCl7dGhpcy5fYm9keSYmdC53cml0ZSh0aGlzLl9ib2R5KSx0LmVuZCgpfSxyfShyKDU2KS5YTUxIdHRwUmVxdWVzdEV2ZW50VGFyZ2V0KTtlLlhNTEh0dHBSZXF1ZXN0VXBsb2FkPW99KS5jYWxsKHRoaXMscigyKS5CdWZmZXIpfSxmdW5jdGlvbih0LGUpeyFmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiB0KGUscixuLGkpe3JldHVybiB0aGlzIGluc3RhbmNlb2YgdD8odGhpcy5kb21haW49ZXx8dm9pZCAwLHRoaXMucGF0aD1yfHwiLyIsdGhpcy5zZWN1cmU9ISFuLHRoaXMuc2NyaXB0PSEhaSx0aGlzKTpuZXcgdChlLHIsbixpKX1mdW5jdGlvbiByKHQsZSxuKXtyZXR1cm4gdCBpbnN0YW5jZW9mIHI/dDp0aGlzIGluc3RhbmNlb2Ygcj8odGhpcy5uYW1lPW51bGwsdGhpcy52YWx1ZT1udWxsLHRoaXMuZXhwaXJhdGlvbl9kYXRlPTEvMCx0aGlzLnBhdGg9U3RyaW5nKG58fCIvIiksdGhpcy5leHBsaWNpdF9wYXRoPSExLHRoaXMuZG9tYWluPWV8fG51bGwsdGhpcy5leHBsaWNpdF9kb21haW49ITEsdGhpcy5zZWN1cmU9ITEsdGhpcy5ub3NjcmlwdD0hMSx0JiZ0aGlzLnBhcnNlKHQsZSxuKSx0aGlzKTpuZXcgcih0LGUsbil9dC5BbGw9T2JqZWN0LmZyZWV6ZShPYmplY3QuY3JlYXRlKG51bGwpKSxlLkNvb2tpZUFjY2Vzc0luZm89dCxlLkNvb2tpZT1yLHIucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7dmFyIHQ9W3RoaXMubmFtZSsiPSIrdGhpcy52YWx1ZV07cmV0dXJuIHRoaXMuZXhwaXJhdGlvbl9kYXRlIT09MS8wJiZ0LnB1c2goImV4cGlyZXM9IituZXcgRGF0ZSh0aGlzLmV4cGlyYXRpb25fZGF0ZSkudG9HTVRTdHJpbmcoKSksdGhpcy5kb21haW4mJnQucHVzaCgiZG9tYWluPSIrdGhpcy5kb21haW4pLHRoaXMucGF0aCYmdC5wdXNoKCJwYXRoPSIrdGhpcy5wYXRoKSx0aGlzLnNlY3VyZSYmdC5wdXNoKCJzZWN1cmUiKSx0aGlzLm5vc2NyaXB0JiZ0LnB1c2goImh0dHBvbmx5IiksdC5qb2luKCI7ICIpfSxyLnByb3RvdHlwZS50b1ZhbHVlU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubmFtZSsiPSIrdGhpcy52YWx1ZX07dmFyIG49L1s6XSg/PVxzKlthLXpBLVowLTlfXC1dK1xzKls9XSkvZztmdW5jdGlvbiBpKCl7dmFyIHQsZTtyZXR1cm4gdGhpcyBpbnN0YW5jZW9mIGk/KHQ9T2JqZWN0LmNyZWF0ZShudWxsKSx0aGlzLnNldENvb2tpZT1mdW5jdGlvbihuLGksbyl7dmFyIHMsYTtpZihzPShuPW5ldyByKG4saSxvKSkuZXhwaXJhdGlvbl9kYXRlPD1EYXRlLm5vdygpLHZvaWQgMCE9PXRbbi5uYW1lXSl7Zm9yKGU9dFtuLm5hbWVdLGE9MDthPGUubGVuZ3RoO2ErPTEpaWYoZVthXS5jb2xsaWRlc1dpdGgobikpcmV0dXJuIHM/KGUuc3BsaWNlKGEsMSksMD09PWUubGVuZ3RoJiZkZWxldGUgdFtuLm5hbWVdLCExKTooZVthXT1uLG4pO3JldHVybiFzJiYoZS5wdXNoKG4pLG4pfXJldHVybiFzJiYodFtuLm5hbWVdPVtuXSx0W24ubmFtZV0pfSx0aGlzLmdldENvb2tpZT1mdW5jdGlvbihyLG4pe3ZhciBpLG87aWYoZT10W3JdKWZvcihvPTA7bzxlLmxlbmd0aDtvKz0xKWlmKChpPWVbb10pLmV4cGlyYXRpb25fZGF0ZTw9RGF0ZS5ub3coKSkwPT09ZS5sZW5ndGgmJmRlbGV0ZSB0W2kubmFtZV07ZWxzZSBpZihpLm1hdGNoZXMobikpcmV0dXJuIGl9LHRoaXMuZ2V0Q29va2llcz1mdW5jdGlvbihlKXt2YXIgcixuLGk9W107Zm9yKHIgaW4gdCkobj10aGlzLmdldENvb2tpZShyLGUpKSYmaS5wdXNoKG4pO3JldHVybiBpLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIGkuam9pbigiOiIpfSxpLnRvVmFsdWVTdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gaS5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiB0LnRvVmFsdWVTdHJpbmcoKX0pKS5qb2luKCI7ICIpfSxpfSx0aGlzKTpuZXcgaX1yLnByb3RvdHlwZS5wYXJzZT1mdW5jdGlvbih0LGUsbil7aWYodGhpcyBpbnN0YW5jZW9mIHIpe3ZhciBpLG89dC5zcGxpdCgiOyIpLmZpbHRlcigoZnVuY3Rpb24odCl7cmV0dXJuISF0fSkpLHM9b1swXS5tYXRjaCgvKFtePV0rKT0oW1xzXFNdKikvKTtpZighcylyZXR1cm4gdm9pZCBjb25zb2xlLndhcm4oIkludmFsaWQgY29va2llIGhlYWRlciBlbmNvdW50ZXJlZC4gSGVhZGVyOiAnIit0KyInIik7dmFyIGE9c1sxXSx1PXNbMl07aWYoInN0cmluZyIhPXR5cGVvZiBhfHwwPT09YS5sZW5ndGh8fCJzdHJpbmciIT10eXBlb2YgdSlyZXR1cm4gdm9pZCBjb25zb2xlLndhcm4oIlVuYWJsZSB0byBleHRyYWN0IHZhbHVlcyBmcm9tIGNvb2tpZSBoZWFkZXIuIENvb2tpZTogJyIrdCsiJyIpO2Zvcih0aGlzLm5hbWU9YSx0aGlzLnZhbHVlPXUsaT0xO2k8by5sZW5ndGg7aSs9MSlzd2l0Y2goYT0ocz1vW2ldLm1hdGNoKC8oW149XSspKD86PShbXHNcU10qKSk/LykpWzFdLnRyaW0oKS50b0xvd2VyQ2FzZSgpLHU9c1syXSxhKXtjYXNlImh0dHBvbmx5Ijp0aGlzLm5vc2NyaXB0PSEwO2JyZWFrO2Nhc2UiZXhwaXJlcyI6dGhpcy5leHBpcmF0aW9uX2RhdGU9dT9OdW1iZXIoRGF0ZS5wYXJzZSh1KSk6MS8wO2JyZWFrO2Nhc2UicGF0aCI6dGhpcy5wYXRoPXU/dS50cmltKCk6IiIsdGhpcy5leHBsaWNpdF9wYXRoPSEwO2JyZWFrO2Nhc2UiZG9tYWluIjp0aGlzLmRvbWFpbj11P3UudHJpbSgpOiIiLHRoaXMuZXhwbGljaXRfZG9tYWluPSEhdGhpcy5kb21haW47YnJlYWs7Y2FzZSJzZWN1cmUiOnRoaXMuc2VjdXJlPSEwfXJldHVybiB0aGlzLmV4cGxpY2l0X3BhdGh8fCh0aGlzLnBhdGg9bnx8Ii8iKSx0aGlzLmV4cGxpY2l0X2RvbWFpbnx8KHRoaXMuZG9tYWluPWUpLHRoaXN9cmV0dXJuKG5ldyByKS5wYXJzZSh0LGUsbil9LHIucHJvdG90eXBlLm1hdGNoZXM9ZnVuY3Rpb24oZSl7cmV0dXJuIGU9PT10LkFsbHx8ISh0aGlzLm5vc2NyaXB0JiZlLnNjcmlwdHx8dGhpcy5zZWN1cmUmJiFlLnNlY3VyZXx8IXRoaXMuY29sbGlkZXNXaXRoKGUpKX0sci5wcm90b3R5cGUuY29sbGlkZXNXaXRoPWZ1bmN0aW9uKHQpe2lmKHRoaXMucGF0aCYmIXQucGF0aHx8dGhpcy5kb21haW4mJiF0LmRvbWFpbilyZXR1cm4hMTtpZih0aGlzLnBhdGgmJjAhPT10LnBhdGguaW5kZXhPZih0aGlzLnBhdGgpKXJldHVybiExO2lmKHRoaXMuZXhwbGljaXRfcGF0aCYmMCE9PXQucGF0aC5pbmRleE9mKHRoaXMucGF0aCkpcmV0dXJuITE7dmFyIGU9dC5kb21haW4mJnQuZG9tYWluLnJlcGxhY2UoL15bXC5dLywiIikscj10aGlzLmRvbWFpbiYmdGhpcy5kb21haW4ucmVwbGFjZSgvXltcLl0vLCIiKTtpZihyPT09ZSlyZXR1cm4hMDtpZihyKXtpZighdGhpcy5leHBsaWNpdF9kb21haW4pcmV0dXJuITE7dmFyIG49ZS5pbmRleE9mKHIpO3JldHVybi0xIT09biYmbj09PWUubGVuZ3RoLXIubGVuZ3RofXJldHVybiEwfSxlLkNvb2tpZUphcj1pLGkucHJvdG90eXBlLnNldENvb2tpZXM9ZnVuY3Rpb24odCxlLGkpe3ZhciBvLHMsYT1bXTtmb3IodD0odD1BcnJheS5pc0FycmF5KHQpP3Q6dC5zcGxpdChuKSkubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gbmV3IHIodCxlLGkpfSkpLG89MDtvPHQubGVuZ3RoO28rPTEpcz10W29dLHRoaXMuc2V0Q29va2llKHMsZSxpKSYmYS5wdXNoKHMpO3JldHVybiBhfX0oKX0sZnVuY3Rpb24odCxlLHIpe2NvbnN0IG49cigxMikuRXZlbnRFbWl0dGVyLGk9cigyMSkuaW5oZXJpdHMsbz1yKDM2KSxzPXIoMjk0KSxhPXIoMjk4KSx1PXIoMzI2KSxjPXIoMzI5KSxmPShyKDE0OSkscig2NykpLGg9ZnVuY3Rpb24oKXt9O2Z1bmN0aW9uIGwodCl7bi5jYWxsKHRoaXMpLHRoaXMuc2V0TWF4TGlzdGVuZXJzKDMwKSx0PXR8fHt9O2NvbnN0IGU9e3NlbmRBc3luYzp0aGlzLl9oYW5kbGVBc3luYy5iaW5kKHRoaXMpfSxyPXQuYmxvY2tUcmFja2VyUHJvdmlkZXJ8fGU7dGhpcy5fYmxvY2tUcmFja2VyPXQuYmxvY2tUcmFja2VyfHxuZXcgcyh7cHJvdmlkZXI6cixwb2xsaW5nSW50ZXJ2YWw6dC5wb2xsaW5nSW50ZXJ2YWx8fDRlMyxzZXRTa2lwQ2FjaGVGbGFnOiEwfSksdGhpcy5fcmVhZHk9bmV3IGMsdGhpcy5jdXJyZW50QmxvY2s9bnVsbCx0aGlzLl9wcm92aWRlcnM9W119dC5leHBvcnRzPWwsaShsLG4pLGwucHJvdG90eXBlLnN0YXJ0PWZ1bmN0aW9uKHQ9aCl7Y29uc3QgZT10aGlzO2UuX3JlYWR5LmdvKCksZS5fYmxvY2tUcmFja2VyLm9uKCJsYXRlc3QiLHQ9PntlLl9nZXRCbG9ja0J5TnVtYmVyV2l0aFJldHJ5KHQsKHQscik9PntpZih0KXJldHVybiB2b2lkIHRoaXMuZW1pdCgiZXJyb3IiLHQpO2lmKCFyKXJldHVybiBjb25zb2xlLmxvZyhyKSx2b2lkIHRoaXMuZW1pdCgiZXJyb3IiLG5ldyBFcnJvcigiQ291bGQgbm90IGZpbmQgYmxvY2siKSk7Y29uc3Qgbj0oaT1yLHtudW1iZXI6by50b0J1ZmZlcihpLm51bWJlciksaGFzaDpvLnRvQnVmZmVyKGkuaGFzaCkscGFyZW50SGFzaDpvLnRvQnVmZmVyKGkucGFyZW50SGFzaCksbm9uY2U6by50b0J1ZmZlcihpLm5vbmNlKSxtaXhIYXNoOm8udG9CdWZmZXIoaS5taXhIYXNoKSxzaGEzVW5jbGVzOm8udG9CdWZmZXIoaS5zaGEzVW5jbGVzKSxsb2dzQmxvb206by50b0J1ZmZlcihpLmxvZ3NCbG9vbSksdHJhbnNhY3Rpb25zUm9vdDpvLnRvQnVmZmVyKGkudHJhbnNhY3Rpb25zUm9vdCksc3RhdGVSb290Om8udG9CdWZmZXIoaS5zdGF0ZVJvb3QpLHJlY2VpcHRzUm9vdDpvLnRvQnVmZmVyKGkucmVjZWlwdFJvb3R8fGkucmVjZWlwdHNSb290KSxtaW5lcjpvLnRvQnVmZmVyKGkubWluZXIpLGRpZmZpY3VsdHk6by50b0J1ZmZlcihpLmRpZmZpY3VsdHkpLHRvdGFsRGlmZmljdWx0eTpvLnRvQnVmZmVyKGkudG90YWxEaWZmaWN1bHR5KSxzaXplOm8udG9CdWZmZXIoaS5zaXplKSxleHRyYURhdGE6by50b0J1ZmZlcihpLmV4dHJhRGF0YSksZ2FzTGltaXQ6by50b0J1ZmZlcihpLmdhc0xpbWl0KSxnYXNVc2VkOm8udG9CdWZmZXIoaS5nYXNVc2VkKSx0aW1lc3RhbXA6by50b0J1ZmZlcihpLnRpbWVzdGFtcCksdHJhbnNhY3Rpb25zOmkudHJhbnNhY3Rpb25zfSk7dmFyIGk7ZS5fc2V0Q3VycmVudEJsb2NrKG4pLGUuZW1pdCgicmF3QmxvY2siLHIpLGUuZW1pdCgibGF0ZXN0IixyKX0pfSksZS5fYmxvY2tUcmFja2VyLm9uKCJzeW5jIixlLmVtaXQuYmluZChlLCJzeW5jIikpLGUuX2Jsb2NrVHJhY2tlci5vbigiZXJyb3IiLGUuZW1pdC5iaW5kKGUsImVycm9yIikpLGUuX3J1bm5pbmc9ITAsZS5lbWl0KCJzdGFydCIpfSxsLnByb3RvdHlwZS5zdG9wPWZ1bmN0aW9uKCl7dGhpcy5fYmxvY2tUcmFja2VyLnJlbW92ZUFsbExpc3RlbmVycygpLHRoaXMuX3J1bm5pbmc9ITEsdGhpcy5lbWl0KCJzdG9wIil9LGwucHJvdG90eXBlLmlzUnVubmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9ydW5uaW5nfSxsLnByb3RvdHlwZS5hZGRQcm92aWRlcj1mdW5jdGlvbih0LGUpe2NvbnN0IHI9dGhpczsibnVtYmVyIj09dHlwZW9mIGU/ci5fcHJvdmlkZXJzLnNwbGljZShlLDAsdCk6ci5fcHJvdmlkZXJzLnB1c2godCksdC5zZXRFbmdpbmUodGhpcyl9LGwucHJvdG90eXBlLnJlbW92ZVByb3ZpZGVyPWZ1bmN0aW9uKHQpe2NvbnN0IGU9dGhpcy5fcHJvdmlkZXJzLmluZGV4T2YodCk7aWYoZTwwKXRocm93IG5ldyBFcnJvcigiUHJvdmlkZXIgbm90IGZvdW5kLiIpO3RoaXMuX3Byb3ZpZGVycy5zcGxpY2UoZSwxKX0sbC5wcm90b3R5cGUuc2VuZD1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoIldlYjNQcm92aWRlckVuZ2luZSBkb2VzIG5vdCBzdXBwb3J0IHN5bmNocm9ub3VzIHJlcXVlc3RzLiIpfSxsLnByb3RvdHlwZS5zZW5kQXN5bmM9ZnVuY3Rpb24odCxlKXtjb25zdCByPXRoaXM7ci5fcmVhZHkuYXdhaXQoKGZ1bmN0aW9uKCl7QXJyYXkuaXNBcnJheSh0KT9hKHQsci5faGFuZGxlQXN5bmMuYmluZChyKSxlKTpyLl9oYW5kbGVBc3luYyh0LGUpfSkpfSxsLnByb3RvdHlwZS5fZ2V0QmxvY2tCeU51bWJlcldpdGhSZXRyeT1mdW5jdGlvbih0LGUpe2NvbnN0IHI9dGhpcztsZXQgbj01O3JldHVybiB2b2lkIGkoKTtmdW5jdGlvbiBpKCl7ci5fZ2V0QmxvY2tCeU51bWJlcih0LG8pfWZ1bmN0aW9uIG8odCxyKXtyZXR1cm4gdD9lKHQpOnI/dm9pZCBlKG51bGwscik6bj4wPyhuLS0sdm9pZCBzZXRUaW1lb3V0KChmdW5jdGlvbigpe2koKX0pLDFlMykpOnZvaWQgZShudWxsLG51bGwpfX0sbC5wcm90b3R5cGUuX2dldEJsb2NrQnlOdW1iZXI9ZnVuY3Rpb24odCxlKXtjb25zdCByPWYoe21ldGhvZDoiZXRoX2dldEJsb2NrQnlOdW1iZXIiLHBhcmFtczpbdCwhMV0sc2tpcENhY2hlOiEwfSk7dGhpcy5faGFuZGxlQXN5bmMociwodCxyKT0+dD9lKHQpOmUobnVsbCxyLnJlc3VsdCkpfSxsLnByb3RvdHlwZS5faGFuZGxlQXN5bmM9ZnVuY3Rpb24odCxlKXt2YXIgcj10aGlzLG49LTEsaT1udWxsLG89bnVsbCxzPVtdO2Z1bmN0aW9uIGEocixuKXtvPXIsaT1uLHUocywoZnVuY3Rpb24odCxlKXt0P3QobyxpLGUpOmUoKX0pLChmdW5jdGlvbigpe3ZhciByPXtpZDp0LmlkLGpzb25ycGM6dC5qc29ucnBjLHJlc3VsdDppfTtudWxsIT1vPyhyLmVycm9yPXttZXNzYWdlOm8uc3RhY2t8fG8ubWVzc2FnZXx8byxjb2RlOi0zMmUzfSxlKG8scikpOmUobnVsbCxyKX0pKX0hZnVuY3Rpb24gZShpKXtpZihuKz0xLHMudW5zaGlmdChpKSxuPj1yLl9wcm92aWRlcnMubGVuZ3RoKWEobmV3IEVycm9yKCdSZXF1ZXN0IGZvciBtZXRob2QgIicrdC5tZXRob2QrJyIgbm90IGhhbmRsZWQgYnkgYW55IHN1YnByb3ZpZGVyLiBQbGVhc2UgY2hlY2sgeW91ciBzdWJwcm92aWRlciBjb25maWd1cmF0aW9uIHRvIGVuc3VyZSB0aGlzIG1ldGhvZCBpcyBoYW5kbGVkLicpKTtlbHNlIHRyeXtyLl9wcm92aWRlcnNbbl0uaGFuZGxlUmVxdWVzdCh0LGUsYSl9Y2F0Y2godCl7YSh0KX19KCl9LGwucHJvdG90eXBlLl9zZXRDdXJyZW50QmxvY2s9ZnVuY3Rpb24odCl7dGhpcy5jdXJyZW50QmxvY2s9dCx0aGlzLmVtaXQoImJsb2NrIix0KX19LGZ1bmN0aW9uKHQsZSl7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiB0JiYib2JqZWN0Ij09dHlwZW9mIHQmJiJmdW5jdGlvbiI9PXR5cGVvZiB0LmNvcHkmJiJmdW5jdGlvbiI9PXR5cGVvZiB0LmZpbGwmJiJmdW5jdGlvbiI9PXR5cGVvZiB0LnJlYWRVSW50OH19LGZ1bmN0aW9uKHQsZSl7ImZ1bmN0aW9uIj09dHlwZW9mIE9iamVjdC5jcmVhdGU/dC5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dC5zdXBlcl89ZSx0LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGUucHJvdG90eXBlLHtjb25zdHJ1Y3Rvcjp7dmFsdWU6dCxlbnVtZXJhYmxlOiExLHdyaXRhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH19KX06dC5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dC5zdXBlcl89ZTt2YXIgcj1mdW5jdGlvbigpe307ci5wcm90b3R5cGU9ZS5wcm90b3R5cGUsdC5wcm90b3R5cGU9bmV3IHIsdC5wcm90b3R5cGUuY29uc3RydWN0b3I9dH19LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7KGZ1bmN0aW9uKHQpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxlLmNyZWF0ZUhhc2hGdW5jdGlvbj1mdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24ocil7dmFyIG49ZSgpO3JldHVybiBuLnVwZGF0ZShyKSx0LmZyb20obi5kaWdlc3QoKSl9fX0pLmNhbGwodGhpcyxyKDIpLkJ1ZmZlcil9LGZ1bmN0aW9uKHQsZSxyKXt0LmV4cG9ydHM9cigyMjkpKHIoMjM5KSl9LGZ1bmN0aW9uKHQsZSxyKXtjb25zdCBuPXIoMjMwKSxpPXIoMjM4KTt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7Y29uc3QgZT1uKHQpLHI9aSh0KTtyZXR1cm4gZnVuY3Rpb24odCxuKXtzd2l0Y2goInN0cmluZyI9PXR5cGVvZiB0P3QudG9Mb3dlckNhc2UoKTp0KXtjYXNlImtlY2NhazIyNCI6cmV0dXJuIG5ldyBlKDExNTIsNDQ4LG51bGwsMjI0LG4pO2Nhc2Uia2VjY2FrMjU2IjpyZXR1cm4gbmV3IGUoMTA4OCw1MTIsbnVsbCwyNTYsbik7Y2FzZSJrZWNjYWszODQiOnJldHVybiBuZXcgZSg4MzIsNzY4LG51bGwsMzg0LG4pO2Nhc2Uia2VjY2FrNTEyIjpyZXR1cm4gbmV3IGUoNTc2LDEwMjQsbnVsbCw1MTIsbik7Y2FzZSJzaGEzLTIyNCI6cmV0dXJuIG5ldyBlKDExNTIsNDQ4LDYsMjI0LG4pO2Nhc2Uic2hhMy0yNTYiOnJldHVybiBuZXcgZSgxMDg4LDUxMiw2LDI1NixuKTtjYXNlInNoYTMtMzg0IjpyZXR1cm4gbmV3IGUoODMyLDc2OCw2LDM4NCxuKTtjYXNlInNoYTMtNTEyIjpyZXR1cm4gbmV3IGUoNTc2LDEwMjQsNiw1MTIsbik7Y2FzZSJzaGFrZTEyOCI6cmV0dXJuIG5ldyByKDEzNDQsMjU2LDMxLG4pO2Nhc2Uic2hha2UyNTYiOnJldHVybiBuZXcgcigxMDg4LDUxMiwzMSxuKTtkZWZhdWx0OnRocm93IG5ldyBFcnJvcigiSW52YWxkIGFsZ29yaXRobTogIit0KX19fX0sZnVuY3Rpb24odCxlLHIpeyhmdW5jdGlvbihlKXtjb25zdHtUcmFuc2Zvcm06bn09cigxMTEpO3QuZXhwb3J0cz10PT5jbGFzcyByIGV4dGVuZHMgbntjb25zdHJ1Y3RvcihlLHIsbixpLG8pe3N1cGVyKG8pLHRoaXMuX3JhdGU9ZSx0aGlzLl9jYXBhY2l0eT1yLHRoaXMuX2RlbGltaXRlZFN1ZmZpeD1uLHRoaXMuX2hhc2hCaXRMZW5ndGg9aSx0aGlzLl9vcHRpb25zPW8sdGhpcy5fc3RhdGU9bmV3IHQsdGhpcy5fc3RhdGUuaW5pdGlhbGl6ZShlLHIpLHRoaXMuX2ZpbmFsaXplZD0hMX1fdHJhbnNmb3JtKHQsZSxyKXtsZXQgbj1udWxsO3RyeXt0aGlzLnVwZGF0ZSh0LGUpfWNhdGNoKHQpe249dH1yKG4pfV9mbHVzaCh0KXtsZXQgZT1udWxsO3RyeXt0aGlzLnB1c2godGhpcy5kaWdlc3QoKSl9Y2F0Y2godCl7ZT10fXQoZSl9dXBkYXRlKHQscil7aWYoIWUuaXNCdWZmZXIodCkmJiJzdHJpbmciIT10eXBlb2YgdCl0aHJvdyBuZXcgVHlwZUVycm9yKCJEYXRhIG11c3QgYmUgYSBzdHJpbmcgb3IgYSBidWZmZXIiKTtpZih0aGlzLl9maW5hbGl6ZWQpdGhyb3cgbmV3IEVycm9yKCJEaWdlc3QgYWxyZWFkeSBjYWxsZWQiKTtyZXR1cm4gZS5pc0J1ZmZlcih0KXx8KHQ9ZS5mcm9tKHQscikpLHRoaXMuX3N0YXRlLmFic29yYih0KSx0aGlzfWRpZ2VzdCh0KXtpZih0aGlzLl9maW5hbGl6ZWQpdGhyb3cgbmV3IEVycm9yKCJEaWdlc3QgYWxyZWFkeSBjYWxsZWQiKTt0aGlzLl9maW5hbGl6ZWQ9ITAsdGhpcy5fZGVsaW1pdGVkU3VmZml4JiZ0aGlzLl9zdGF0ZS5hYnNvcmJMYXN0RmV3Qml0cyh0aGlzLl9kZWxpbWl0ZWRTdWZmaXgpO2xldCBlPXRoaXMuX3N0YXRlLnNxdWVlemUodGhpcy5faGFzaEJpdExlbmd0aC84KTtyZXR1cm4gdm9pZCAwIT09dCYmKGU9ZS50b1N0cmluZyh0KSksdGhpcy5fcmVzZXRTdGF0ZSgpLGV9X3Jlc2V0U3RhdGUoKXtyZXR1cm4gdGhpcy5fc3RhdGUuaW5pdGlhbGl6ZSh0aGlzLl9yYXRlLHRoaXMuX2NhcGFjaXR5KSx0aGlzfV9jbG9uZSgpe2NvbnN0IHQ9bmV3IHIodGhpcy5fcmF0ZSx0aGlzLl9jYXBhY2l0eSx0aGlzLl9kZWxpbWl0ZWRTdWZmaXgsdGhpcy5faGFzaEJpdExlbmd0aCx0aGlzLl9vcHRpb25zKTtyZXR1cm4gdGhpcy5fc3RhdGUuY29weSh0Ll9zdGF0ZSksdC5fZmluYWxpemVkPXRoaXMuX2ZpbmFsaXplZCx0fX19KS5jYWxsKHRoaXMscigyKS5CdWZmZXIpfSxmdW5jdGlvbih0LGUpe30sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKHQsZSl7dmFyIHI9T2JqZWN0LmtleXModCk7aWYoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyl7dmFyIG49T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyh0KTtlJiYobj1uLmZpbHRlcigoZnVuY3Rpb24oZSl7cmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodCxlKS5lbnVtZXJhYmxlfSkpKSxyLnB1c2guYXBwbHkocixuKX1yZXR1cm4gcn1mdW5jdGlvbiBpKHQsZSxyKXtyZXR1cm4gZSBpbiB0P09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGUse3ZhbHVlOnIsZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITB9KTp0W2VdPXIsdH1mdW5jdGlvbiBvKHQsZSl7Zm9yKHZhciByPTA7cjxlLmxlbmd0aDtyKyspe3ZhciBuPWVbcl07bi5lbnVtZXJhYmxlPW4uZW51bWVyYWJsZXx8ITEsbi5jb25maWd1cmFibGU9ITAsInZhbHVlImluIG4mJihuLndyaXRhYmxlPSEwKSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCxuLmtleSxuKX19dmFyIHM9cigyKS5CdWZmZXIsYT1yKDIzMykuaW5zcGVjdCx1PWEmJmEuY3VzdG9tfHwiaW5zcGVjdCI7dC5leHBvcnRzPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpeyFmdW5jdGlvbih0LGUpe2lmKCEodCBpbnN0YW5jZW9mIGUpKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvbiIpfSh0aGlzLHQpLHRoaXMuaGVhZD1udWxsLHRoaXMudGFpbD1udWxsLHRoaXMubGVuZ3RoPTB9dmFyIGUscixjO3JldHVybiBlPXQsKHI9W3trZXk6InB1c2giLHZhbHVlOmZ1bmN0aW9uKHQpe3ZhciBlPXtkYXRhOnQsbmV4dDpudWxsfTt0aGlzLmxlbmd0aD4wP3RoaXMudGFpbC5uZXh0PWU6dGhpcy5oZWFkPWUsdGhpcy50YWlsPWUsKyt0aGlzLmxlbmd0aH19LHtrZXk6InVuc2hpZnQiLHZhbHVlOmZ1bmN0aW9uKHQpe3ZhciBlPXtkYXRhOnQsbmV4dDp0aGlzLmhlYWR9OzA9PT10aGlzLmxlbmd0aCYmKHRoaXMudGFpbD1lKSx0aGlzLmhlYWQ9ZSwrK3RoaXMubGVuZ3RofX0se2tleToic2hpZnQiLHZhbHVlOmZ1bmN0aW9uKCl7aWYoMCE9PXRoaXMubGVuZ3RoKXt2YXIgdD10aGlzLmhlYWQuZGF0YTtyZXR1cm4gMT09PXRoaXMubGVuZ3RoP3RoaXMuaGVhZD10aGlzLnRhaWw9bnVsbDp0aGlzLmhlYWQ9dGhpcy5oZWFkLm5leHQsLS10aGlzLmxlbmd0aCx0fX19LHtrZXk6ImNsZWFyIix2YWx1ZTpmdW5jdGlvbigpe3RoaXMuaGVhZD10aGlzLnRhaWw9bnVsbCx0aGlzLmxlbmd0aD0wfX0se2tleToiam9pbiIsdmFsdWU6ZnVuY3Rpb24odCl7aWYoMD09PXRoaXMubGVuZ3RoKXJldHVybiIiO2Zvcih2YXIgZT10aGlzLmhlYWQscj0iIitlLmRhdGE7ZT1lLm5leHQ7KXIrPXQrZS5kYXRhO3JldHVybiByfX0se2tleToiY29uY2F0Iix2YWx1ZTpmdW5jdGlvbih0KXtpZigwPT09dGhpcy5sZW5ndGgpcmV0dXJuIHMuYWxsb2MoMCk7Zm9yKHZhciBlLHIsbixpPXMuYWxsb2NVbnNhZmUodD4+PjApLG89dGhpcy5oZWFkLGE9MDtvOyllPW8uZGF0YSxyPWksbj1hLHMucHJvdG90eXBlLmNvcHkuY2FsbChlLHIsbiksYSs9by5kYXRhLmxlbmd0aCxvPW8ubmV4dDtyZXR1cm4gaX19LHtrZXk6ImNvbnN1bWUiLHZhbHVlOmZ1bmN0aW9uKHQsZSl7dmFyIHI7cmV0dXJuIHQ8dGhpcy5oZWFkLmRhdGEubGVuZ3RoPyhyPXRoaXMuaGVhZC5kYXRhLnNsaWNlKDAsdCksdGhpcy5oZWFkLmRhdGE9dGhpcy5oZWFkLmRhdGEuc2xpY2UodCkpOnI9dD09PXRoaXMuaGVhZC5kYXRhLmxlbmd0aD90aGlzLnNoaWZ0KCk6ZT90aGlzLl9nZXRTdHJpbmcodCk6dGhpcy5fZ2V0QnVmZmVyKHQpLHJ9fSx7a2V5OiJmaXJzdCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5oZWFkLmRhdGF9fSx7a2V5OiJfZ2V0U3RyaW5nIix2YWx1ZTpmdW5jdGlvbih0KXt2YXIgZT10aGlzLmhlYWQscj0xLG49ZS5kYXRhO2Zvcih0LT1uLmxlbmd0aDtlPWUubmV4dDspe3ZhciBpPWUuZGF0YSxvPXQ+aS5sZW5ndGg/aS5sZW5ndGg6dDtpZihvPT09aS5sZW5ndGg/bis9aTpuKz1pLnNsaWNlKDAsdCksMD09KHQtPW8pKXtvPT09aS5sZW5ndGg/KCsrcixlLm5leHQ/dGhpcy5oZWFkPWUubmV4dDp0aGlzLmhlYWQ9dGhpcy50YWlsPW51bGwpOih0aGlzLmhlYWQ9ZSxlLmRhdGE9aS5zbGljZShvKSk7YnJlYWt9KytyfXJldHVybiB0aGlzLmxlbmd0aC09cixufX0se2tleToiX2dldEJ1ZmZlciIsdmFsdWU6ZnVuY3Rpb24odCl7dmFyIGU9cy5hbGxvY1Vuc2FmZSh0KSxyPXRoaXMuaGVhZCxuPTE7Zm9yKHIuZGF0YS5jb3B5KGUpLHQtPXIuZGF0YS5sZW5ndGg7cj1yLm5leHQ7KXt2YXIgaT1yLmRhdGEsbz10PmkubGVuZ3RoP2kubGVuZ3RoOnQ7aWYoaS5jb3B5KGUsZS5sZW5ndGgtdCwwLG8pLDA9PSh0LT1vKSl7bz09PWkubGVuZ3RoPygrK24sci5uZXh0P3RoaXMuaGVhZD1yLm5leHQ6dGhpcy5oZWFkPXRoaXMudGFpbD1udWxsKToodGhpcy5oZWFkPXIsci5kYXRhPWkuc2xpY2UobykpO2JyZWFrfSsrbn1yZXR1cm4gdGhpcy5sZW5ndGgtPW4sZX19LHtrZXk6dSx2YWx1ZTpmdW5jdGlvbih0LGUpe3JldHVybiBhKHRoaXMsZnVuY3Rpb24odCl7Zm9yKHZhciBlPTE7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKyl7dmFyIHI9bnVsbCE9YXJndW1lbnRzW2VdP2FyZ3VtZW50c1tlXTp7fTtlJTI/bihPYmplY3QociksITApLmZvckVhY2goKGZ1bmN0aW9uKGUpe2kodCxlLHJbZV0pfSkpOk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzP09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHQsT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMocikpOm4oT2JqZWN0KHIpKS5mb3JFYWNoKChmdW5jdGlvbihlKXtPYmplY3QuZGVmaW5lUHJvcGVydHkodCxlLE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IocixlKSl9KSl9cmV0dXJuIHR9KHt9LGUse2RlcHRoOjAsY3VzdG9tSW5zcGVjdDohMX0pKX19XSkmJm8oZS5wcm90b3R5cGUsciksYyYmbyhlLGMpLHR9KCl9LGZ1bmN0aW9uKHQsZSl7fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiOyhmdW5jdGlvbihlKXt2YXIgbjtmdW5jdGlvbiBpKHQsZSxyKXtyZXR1cm4gZSBpbiB0P09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGUse3ZhbHVlOnIsZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITB9KTp0W2VdPXIsdH12YXIgbz1yKDU3KSxzPVN5bWJvbCgibGFzdFJlc29sdmUiKSxhPVN5bWJvbCgibGFzdFJlamVjdCIpLHU9U3ltYm9sKCJlcnJvciIpLGM9U3ltYm9sKCJlbmRlZCIpLGY9U3ltYm9sKCJsYXN0UHJvbWlzZSIpLGg9U3ltYm9sKCJoYW5kbGVQcm9taXNlIiksbD1TeW1ib2woInN0cmVhbSIpO2Z1bmN0aW9uIGQodCxlKXtyZXR1cm57dmFsdWU6dCxkb25lOmV9fWZ1bmN0aW9uIHAodCl7dmFyIGU9dFtzXTtpZihudWxsIT09ZSl7dmFyIHI9dFtsXS5yZWFkKCk7bnVsbCE9PXImJih0W2ZdPW51bGwsdFtzXT1udWxsLHRbYV09bnVsbCxlKGQociwhMSkpKX19ZnVuY3Rpb24gbSh0KXtlLm5leHRUaWNrKHAsdCl9dmFyIGc9T2JqZWN0LmdldFByb3RvdHlwZU9mKChmdW5jdGlvbigpe30pKSxiPU9iamVjdC5zZXRQcm90b3R5cGVPZigoaShuPXtnZXQgc3RyZWFtKCl7cmV0dXJuIHRoaXNbbF19LG5leHQ6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLHI9dGhpc1t1XTtpZihudWxsIT09cilyZXR1cm4gUHJvbWlzZS5yZWplY3Qocik7aWYodGhpc1tjXSlyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGQodm9pZCAwLCEwKSk7aWYodGhpc1tsXS5kZXN0cm95ZWQpcmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbihyLG4pe2UubmV4dFRpY2soKGZ1bmN0aW9uKCl7dFt1XT9uKHRbdV0pOnIoZCh2b2lkIDAsITApKX0pKX0pKTt2YXIgbixpPXRoaXNbZl07aWYoaSluPW5ldyBQcm9taXNlKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKHIsbil7dC50aGVuKChmdW5jdGlvbigpe2VbY10/cihkKHZvaWQgMCwhMCkpOmVbaF0ocixuKX0pLG4pfX0oaSx0aGlzKSk7ZWxzZXt2YXIgbz10aGlzW2xdLnJlYWQoKTtpZihudWxsIT09bylyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGQobywhMSkpO249bmV3IFByb21pc2UodGhpc1toXSl9cmV0dXJuIHRoaXNbZl09bixufX0sU3ltYm9sLmFzeW5jSXRlcmF0b3IsKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KSksaShuLCJyZXR1cm4iLChmdW5jdGlvbigpe3ZhciB0PXRoaXM7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbihlLHIpe3RbbF0uZGVzdHJveShudWxsLChmdW5jdGlvbih0KXt0P3IodCk6ZShkKHZvaWQgMCwhMCkpfSkpfSkpfSkpLG4pLGcpO3QuZXhwb3J0cz1mdW5jdGlvbih0KXt2YXIgZSxyPU9iamVjdC5jcmVhdGUoYiwoaShlPXt9LGwse3ZhbHVlOnQsd3JpdGFibGU6ITB9KSxpKGUscyx7dmFsdWU6bnVsbCx3cml0YWJsZTohMH0pLGkoZSxhLHt2YWx1ZTpudWxsLHdyaXRhYmxlOiEwfSksaShlLHUse3ZhbHVlOm51bGwsd3JpdGFibGU6ITB9KSxpKGUsYyx7dmFsdWU6dC5fcmVhZGFibGVTdGF0ZS5lbmRFbWl0dGVkLHdyaXRhYmxlOiEwfSksaShlLGgse3ZhbHVlOmZ1bmN0aW9uKHQsZSl7dmFyIG49cltsXS5yZWFkKCk7bj8ocltmXT1udWxsLHJbc109bnVsbCxyW2FdPW51bGwsdChkKG4sITEpKSk6KHJbc109dCxyW2FdPWUpfSx3cml0YWJsZTohMH0pLGUpKTtyZXR1cm4gcltmXT1udWxsLG8odCwoZnVuY3Rpb24odCl7aWYodCYmIkVSUl9TVFJFQU1fUFJFTUFUVVJFX0NMT1NFIiE9PXQuY29kZSl7dmFyIGU9clthXTtyZXR1cm4gbnVsbCE9PWUmJihyW2ZdPW51bGwscltzXT1udWxsLHJbYV09bnVsbCxlKHQpKSx2b2lkKHJbdV09dCl9dmFyIG49cltzXTtudWxsIT09biYmKHJbZl09bnVsbCxyW3NdPW51bGwsclthXT1udWxsLG4oZCh2b2lkIDAsITApKSkscltjXT0hMH0pKSx0Lm9uKCJyZWFkYWJsZSIsbS5iaW5kKG51bGwscikpLHJ9fSkuY2FsbCh0aGlzLHIoNSkpfSxmdW5jdGlvbih0LGUpe3QuZXhwb3J0cz1mdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcigiUmVhZGFibGUuZnJvbSBpcyBub3QgYXZhaWxhYmxlIGluIHRoZSBicm93c2VyIil9fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3QuZXhwb3J0cz1pO3ZhciBuPXIoMTE3KTtmdW5jdGlvbiBpKHQpe2lmKCEodGhpcyBpbnN0YW5jZW9mIGkpKXJldHVybiBuZXcgaSh0KTtuLmNhbGwodGhpcyx0KX1yKDMpKGksbiksaS5wcm90b3R5cGUuX3RyYW5zZm9ybT1mdW5jdGlvbih0LGUscil7cihudWxsLHQpfX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbjt2YXIgaT1yKDI3KS5jb2RlcyxvPWkuRVJSX01JU1NJTkdfQVJHUyxzPWkuRVJSX1NUUkVBTV9ERVNUUk9ZRUQ7ZnVuY3Rpb24gYSh0KXtpZih0KXRocm93IHR9ZnVuY3Rpb24gdSh0LGUsaSxvKXtvPWZ1bmN0aW9uKHQpe3ZhciBlPSExO3JldHVybiBmdW5jdGlvbigpe2V8fChlPSEwLHQuYXBwbHkodm9pZCAwLGFyZ3VtZW50cykpfX0obyk7dmFyIGE9ITE7dC5vbigiY2xvc2UiLChmdW5jdGlvbigpe2E9ITB9KSksdm9pZCAwPT09biYmKG49cig1NykpLG4odCx7cmVhZGFibGU6ZSx3cml0YWJsZTppfSwoZnVuY3Rpb24odCl7aWYodClyZXR1cm4gbyh0KTthPSEwLG8oKX0pKTt2YXIgdT0hMTtyZXR1cm4gZnVuY3Rpb24oZSl7aWYoIWEmJiF1KXJldHVybiB1PSEwLGZ1bmN0aW9uKHQpe3JldHVybiB0LnNldEhlYWRlciYmImZ1bmN0aW9uIj09dHlwZW9mIHQuYWJvcnR9KHQpP3QuYWJvcnQoKToiZnVuY3Rpb24iPT10eXBlb2YgdC5kZXN0cm95P3QuZGVzdHJveSgpOnZvaWQgbyhlfHxuZXcgcygicGlwZSIpKX19ZnVuY3Rpb24gYyh0KXt0KCl9ZnVuY3Rpb24gZih0LGUpe3JldHVybiB0LnBpcGUoZSl9ZnVuY3Rpb24gaCh0KXtyZXR1cm4gdC5sZW5ndGg/ImZ1bmN0aW9uIiE9dHlwZW9mIHRbdC5sZW5ndGgtMV0/YTp0LnBvcCgpOmF9dC5leHBvcnRzPWZ1bmN0aW9uKCl7Zm9yKHZhciB0PWFyZ3VtZW50cy5sZW5ndGgsZT1uZXcgQXJyYXkodCkscj0wO3I8dDtyKyspZVtyXT1hcmd1bWVudHNbcl07dmFyIG4saT1oKGUpO2lmKEFycmF5LmlzQXJyYXkoZVswXSkmJihlPWVbMF0pLGUubGVuZ3RoPDIpdGhyb3cgbmV3IG8oInN0cmVhbXMiKTt2YXIgcz1lLm1hcCgoZnVuY3Rpb24odCxyKXt2YXIgbz1yPGUubGVuZ3RoLTE7cmV0dXJuIHUodCxvLHI+MCwoZnVuY3Rpb24odCl7bnx8KG49dCksdCYmcy5mb3JFYWNoKGMpLG98fChzLmZvckVhY2goYyksaShuKSl9KSl9KSk7cmV0dXJuIGUucmVkdWNlKGYpfX0sZnVuY3Rpb24odCxlLHIpeyhmdW5jdGlvbihlKXtjb25zdHtUcmFuc2Zvcm06bn09cigxMTEpO3QuZXhwb3J0cz10PT5jbGFzcyByIGV4dGVuZHMgbntjb25zdHJ1Y3RvcihlLHIsbixpKXtzdXBlcihpKSx0aGlzLl9yYXRlPWUsdGhpcy5fY2FwYWNpdHk9cix0aGlzLl9kZWxpbWl0ZWRTdWZmaXg9bix0aGlzLl9vcHRpb25zPWksdGhpcy5fc3RhdGU9bmV3IHQsdGhpcy5fc3RhdGUuaW5pdGlhbGl6ZShlLHIpLHRoaXMuX2ZpbmFsaXplZD0hMX1fdHJhbnNmb3JtKHQsZSxyKXtsZXQgbj1udWxsO3RyeXt0aGlzLnVwZGF0ZSh0LGUpfWNhdGNoKHQpe249dH1yKG4pfV9mbHVzaCgpe31fcmVhZCh0KXt0aGlzLnB1c2godGhpcy5zcXVlZXplKHQpKX11cGRhdGUodCxyKXtpZighZS5pc0J1ZmZlcih0KSYmInN0cmluZyIhPXR5cGVvZiB0KXRocm93IG5ldyBUeXBlRXJyb3IoIkRhdGEgbXVzdCBiZSBhIHN0cmluZyBvciBhIGJ1ZmZlciIpO2lmKHRoaXMuX2ZpbmFsaXplZCl0aHJvdyBuZXcgRXJyb3IoIlNxdWVlemUgYWxyZWFkeSBjYWxsZWQiKTtyZXR1cm4gZS5pc0J1ZmZlcih0KXx8KHQ9ZS5mcm9tKHQscikpLHRoaXMuX3N0YXRlLmFic29yYih0KSx0aGlzfXNxdWVlemUodCxlKXt0aGlzLl9maW5hbGl6ZWR8fCh0aGlzLl9maW5hbGl6ZWQ9ITAsdGhpcy5fc3RhdGUuYWJzb3JiTGFzdEZld0JpdHModGhpcy5fZGVsaW1pdGVkU3VmZml4KSk7bGV0IHI9dGhpcy5fc3RhdGUuc3F1ZWV6ZSh0KTtyZXR1cm4gdm9pZCAwIT09ZSYmKHI9ci50b1N0cmluZyhlKSkscn1fcmVzZXRTdGF0ZSgpe3JldHVybiB0aGlzLl9zdGF0ZS5pbml0aWFsaXplKHRoaXMuX3JhdGUsdGhpcy5fY2FwYWNpdHkpLHRoaXN9X2Nsb25lKCl7Y29uc3QgdD1uZXcgcih0aGlzLl9yYXRlLHRoaXMuX2NhcGFjaXR5LHRoaXMuX2RlbGltaXRlZFN1ZmZpeCx0aGlzLl9vcHRpb25zKTtyZXR1cm4gdGhpcy5fc3RhdGUuY29weSh0Ll9zdGF0ZSksdC5fZmluYWxpemVkPXRoaXMuX2ZpbmFsaXplZCx0fX19KS5jYWxsKHRoaXMscigyKS5CdWZmZXIpfSxmdW5jdGlvbih0LGUscil7KGZ1bmN0aW9uKGUpe2NvbnN0IG49cigyNDApO2Z1bmN0aW9uIGkoKXt0aGlzLnN0YXRlPVswLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwXSx0aGlzLmJsb2NrU2l6ZT1udWxsLHRoaXMuY291bnQ9MCx0aGlzLnNxdWVlemluZz0hMX1pLnByb3RvdHlwZS5pbml0aWFsaXplPWZ1bmN0aW9uKHQsZSl7Zm9yKGxldCB0PTA7dDw1MDsrK3QpdGhpcy5zdGF0ZVt0XT0wO3RoaXMuYmxvY2tTaXplPXQvOCx0aGlzLmNvdW50PTAsdGhpcy5zcXVlZXppbmc9ITF9LGkucHJvdG90eXBlLmFic29yYj1mdW5jdGlvbih0KXtmb3IobGV0IGU9MDtlPHQubGVuZ3RoOysrZSl0aGlzLnN0YXRlW35+KHRoaXMuY291bnQvNCldXj10W2VdPDx0aGlzLmNvdW50JTQqOCx0aGlzLmNvdW50Kz0xLHRoaXMuY291bnQ9PT10aGlzLmJsb2NrU2l6ZSYmKG4ucDE2MDAodGhpcy5zdGF0ZSksdGhpcy5jb3VudD0wKX0saS5wcm90b3R5cGUuYWJzb3JiTGFzdEZld0JpdHM9ZnVuY3Rpb24odCl7dGhpcy5zdGF0ZVt+fih0aGlzLmNvdW50LzQpXV49dDw8dGhpcy5jb3VudCU0KjgsMCE9KDEyOCZ0KSYmdGhpcy5jb3VudD09PXRoaXMuYmxvY2tTaXplLTEmJm4ucDE2MDAodGhpcy5zdGF0ZSksdGhpcy5zdGF0ZVt+figodGhpcy5ibG9ja1NpemUtMSkvNCldXj0xMjg8PCh0aGlzLmJsb2NrU2l6ZS0xKSU0Kjgsbi5wMTYwMCh0aGlzLnN0YXRlKSx0aGlzLmNvdW50PTAsdGhpcy5zcXVlZXppbmc9ITB9LGkucHJvdG90eXBlLnNxdWVlemU9ZnVuY3Rpb24odCl7dGhpcy5zcXVlZXppbmd8fHRoaXMuYWJzb3JiTGFzdEZld0JpdHMoMSk7Y29uc3Qgcj1lLmFsbG9jKHQpO2ZvcihsZXQgZT0wO2U8dDsrK2UpcltlXT10aGlzLnN0YXRlW35+KHRoaXMuY291bnQvNCldPj4+dGhpcy5jb3VudCU0KjgmMjU1LHRoaXMuY291bnQrPTEsdGhpcy5jb3VudD09PXRoaXMuYmxvY2tTaXplJiYobi5wMTYwMCh0aGlzLnN0YXRlKSx0aGlzLmNvdW50PTApO3JldHVybiByfSxpLnByb3RvdHlwZS5jb3B5PWZ1bmN0aW9uKHQpe2ZvcihsZXQgZT0wO2U8NTA7KytlKXQuc3RhdGVbZV09dGhpcy5zdGF0ZVtlXTt0LmJsb2NrU2l6ZT10aGlzLmJsb2NrU2l6ZSx0LmNvdW50PXRoaXMuY291bnQsdC5zcXVlZXppbmc9dGhpcy5zcXVlZXppbmd9LHQuZXhwb3J0cz1pfSkuY2FsbCh0aGlzLHIoMikuQnVmZmVyKX0sZnVuY3Rpb24odCxlKXtjb25zdCByPVsxLDAsMzI4OTgsMCwzMjkwNiwyMTQ3NDgzNjQ4LDIxNDc1MTY0MTYsMjE0NzQ4MzY0OCwzMjkwNywwLDIxNDc0ODM2NDksMCwyMTQ3NTE2NTQ1LDIxNDc0ODM2NDgsMzI3NzcsMjE0NzQ4MzY0OCwxMzgsMCwxMzYsMCwyMTQ3NTE2NDI1LDAsMjE0NzQ4MzY1OCwwLDIxNDc1MTY1NTUsMCwxMzksMjE0NzQ4MzY0OCwzMjkwNSwyMTQ3NDgzNjQ4LDMyNzcxLDIxNDc0ODM2NDgsMzI3NzAsMjE0NzQ4MzY0OCwxMjgsMjE0NzQ4MzY0OCwzMjc3OCwwLDIxNDc0ODM2NTgsMjE0NzQ4MzY0OCwyMTQ3NTE2NTQ1LDIxNDc0ODM2NDgsMzI4OTYsMjE0NzQ4MzY0OCwyMTQ3NDgzNjQ5LDAsMjE0NzUxNjQyNCwyMTQ3NDgzNjQ4XTtlLnAxNjAwPWZ1bmN0aW9uKHQpe2ZvcihsZXQgZT0wO2U8MjQ7KytlKXtjb25zdCBuPXRbMF1edFsxMF1edFsyMF1edFszMF1edFs0MF0saT10WzFdXnRbMTFdXnRbMjFdXnRbMzFdXnRbNDFdLG89dFsyXV50WzEyXV50WzIyXV50WzMyXV50WzQyXSxzPXRbM11edFsxM11edFsyM11edFszM11edFs0M10sYT10WzRdXnRbMTRdXnRbMjRdXnRbMzRdXnRbNDRdLHU9dFs1XV50WzE1XV50WzI1XV50WzM1XV50WzQ1XSxjPXRbNl1edFsxNl1edFsyNl1edFszNl1edFs0Nl0sZj10WzddXnRbMTddXnRbMjddXnRbMzddXnRbNDddLGg9dFs4XV50WzE4XV50WzI4XV50WzM4XV50WzQ4XSxsPXRbOV1edFsxOV1edFsyOV1edFszOV1edFs0OV07bGV0IGQ9aF4obzw8MXxzPj4+MzEpLHA9bF4oczw8MXxvPj4+MzEpO2NvbnN0IG09dFswXV5kLGc9dFsxXV5wLGI9dFsxMF1eZCx5PXRbMTFdXnAsdj10WzIwXV5kLF89dFsyMV1ecCx3PXRbMzBdXmQsTT10WzMxXV5wLFM9dFs0MF1eZCxFPXRbNDFdXnA7ZD1uXihhPDwxfHU+Pj4zMSkscD1pXih1PDwxfGE+Pj4zMSk7Y29uc3QgeD10WzJdXmQsaz10WzNdXnAsQT10WzEyXV5kLFI9dFsxM11ecCxUPXRbMjJdXmQsTz10WzIzXV5wLEM9dFszMl1eZCxQPXRbMzNdXnAsST10WzQyXV5kLEI9dFs0M11ecDtkPW9eKGM8PDF8Zj4+PjMxKSxwPXNeKGY8PDF8Yz4+PjMxKTtjb25zdCBMPXRbNF1eZCxqPXRbNV1ecCxOPXRbMTRdXmQscT10WzE1XV5wLFU9dFsyNF1eZCxEPXRbMjVdXnAsej10WzM0XV5kLEg9dFszNV1ecCxGPXRbNDRdXmQsVz10WzQ1XV5wO2Q9YV4oaDw8MXxsPj4+MzEpLHA9dV4obDw8MXxoPj4+MzEpO2NvbnN0IEs9dFs2XV5kLFY9dFs3XV5wLEo9dFsxNl1eZCxZPXRbMTddXnAsRz10WzI2XV5kLFo9dFsyN11ecCwkPXRbMzZdXmQsWD10WzM3XV5wLFE9dFs0Nl1eZCx0dD10WzQ3XV5wO2Q9Y14objw8MXxpPj4+MzEpLHA9Zl4oaTw8MXxuPj4+MzEpO2NvbnN0IGV0PXRbOF1eZCxydD10WzldXnAsbnQ9dFsxOF1eZCxpdD10WzE5XV5wLG90PXRbMjhdXmQsc3Q9dFsyOV1ecCxhdD10WzM4XV5kLHV0PXRbMzldXnAsY3Q9dFs0OF1eZCxmdD10WzQ5XV5wLGh0PW0sbHQ9ZyxkdD15PDw0fGI+Pj4yOCxwdD1iPDw0fHk+Pj4yOCxtdD12PDwzfF8+Pj4yOSxndD1fPDwzfHY+Pj4yOSxidD1NPDw5fHc+Pj4yMyx5dD13PDw5fE0+Pj4yMyx2dD1TPDwxOHxFPj4+MTQsX3Q9RTw8MTh8Uz4+PjE0LHd0PXg8PDF8az4+PjMxLE10PWs8PDF8eD4+PjMxLFN0PVI8PDEyfEE+Pj4yMCxFdD1BPDwxMnxSPj4+MjAseHQ9VDw8MTB8Tz4+PjIyLGt0PU88PDEwfFQ+Pj4yMixBdD1QPDwxM3xDPj4+MTksUnQ9Qzw8MTN8UD4+PjE5LFR0PUk8PDJ8Qj4+PjMwLE90PUI8PDJ8ST4+PjMwLEN0PWo8PDMwfEw+Pj4yLFB0PUw8PDMwfGo+Pj4yLEl0PU48PDZ8cT4+PjI2LEJ0PXE8PDZ8Tj4+PjI2LEx0PUQ8PDExfFU+Pj4yMSxqdD1VPDwxMXxEPj4+MjEsTnQ9ejw8MTV8SD4+PjE3LHF0PUg8PDE1fHo+Pj4xNyxVdD1XPDwyOXxGPj4+MyxEdD1GPDwyOXxXPj4+Myx6dD1LPDwyOHxWPj4+NCxIdD1WPDwyOHxLPj4+NCxGdD1ZPDwyM3xKPj4+OSxXdD1KPDwyM3xZPj4+OSxLdD1HPDwyNXxaPj4+NyxWdD1aPDwyNXxHPj4+NyxKdD0kPDwyMXxYPj4+MTEsWXQ9WDw8MjF8JD4+PjExLEd0PXR0PDwyNHxRPj4+OCxadD1RPDwyNHx0dD4+PjgsJHQ9ZXQ8PDI3fHJ0Pj4+NSxYdD1ydDw8Mjd8ZXQ+Pj41LFF0PW50PDwyMHxpdD4+PjEyLHRlPWl0PDwyMHxudD4+PjEyLGVlPXN0PDw3fG90Pj4+MjUscmU9b3Q8PDd8c3Q+Pj4yNSxuZT1hdDw8OHx1dD4+PjI0LGllPXV0PDw4fGF0Pj4+MjQsb2U9Y3Q8PDE0fGZ0Pj4+MTgsc2U9ZnQ8PDE0fGN0Pj4+MTg7dFswXT1odF5+U3QmTHQsdFsxXT1sdF5+RXQmanQsdFsxMF09enReflF0Jm10LHRbMTFdPUh0Xn50ZSZndCx0WzIwXT13dF5+SXQmS3QsdFsyMV09TXRefkJ0JlZ0LHRbMzBdPSR0Xn5kdCZ4dCx0WzMxXT1YdF5+cHQma3QsdFs0MF09Q3RefkZ0JmVlLHRbNDFdPVB0Xn5XdCZyZSx0WzJdPVN0Xn5MdCZKdCx0WzNdPUV0Xn5qdCZZdCx0WzEyXT1RdF5+bXQmQXQsdFsxM109dGVefmd0JlJ0LHRbMjJdPUl0Xn5LdCZuZSx0WzIzXT1CdF5+VnQmaWUsdFszMl09ZHRefnh0Jk50LHRbMzNdPXB0Xn5rdCZxdCx0WzQyXT1GdF5+ZWUmYnQsdFs0M109V3RefnJlJnl0LHRbNF09THRefkp0Jm9lLHRbNV09anRefll0JnNlLHRbMTRdPW10Xn5BdCZVdCx0WzE1XT1ndF5+UnQmRHQsdFsyNF09S3Refm5lJnZ0LHRbMjVdPVZ0Xn5pZSZfdCx0WzM0XT14dF5+TnQmR3QsdFszNV09a3RefnF0Jlp0LHRbNDRdPWVlXn5idCZUdCx0WzQ1XT1yZV5+eXQmT3QsdFs2XT1KdF5+b2UmaHQsdFs3XT1ZdF5+c2UmbHQsdFsxNl09QXReflV0Jnp0LHRbMTddPVJ0Xn5EdCZIdCx0WzI2XT1uZV5+dnQmd3QsdFsyN109aWVefl90Jk10LHRbMzZdPU50Xn5HdCYkdCx0WzM3XT1xdF5+WnQmWHQsdFs0Nl09YnReflR0JkN0LHRbNDddPXl0Xn5PdCZQdCx0WzhdPW9lXn5odCZTdCx0WzldPXNlXn5sdCZFdCx0WzE4XT1VdF5+enQmUXQsdFsxOV09RHRefkh0JnRlLHRbMjhdPXZ0Xn53dCZJdCx0WzI5XT1fdF5+TXQmQnQsdFszOF09R3RefiR0JmR0LHRbMzldPVp0Xn5YdCZwdCx0WzQ4XT1UdF5+Q3QmRnQsdFs0OV09T3ReflB0Jld0LHRbMF1ePXJbMiplXSx0WzFdXj1yWzIqZSsxXX19fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiOyhmdW5jdGlvbihlKXt2YXIgbj1yKDExOCksaT1yKDI2Niksbz1yKDI2Nykscz1mdW5jdGlvbih0KXtyZXR1cm4gMzI9PT10Lmxlbmd0aCYmbi5wcml2YXRlS2V5VmVyaWZ5KFVpbnQ4QXJyYXkuZnJvbSh0KSl9O3QuZXhwb3J0cz17cHJpdmF0ZUtleVZlcmlmeTpzLHByaXZhdGVLZXlFeHBvcnQ6ZnVuY3Rpb24odCxlKXtpZigzMiE9PXQubGVuZ3RoKXRocm93IG5ldyBSYW5nZUVycm9yKCJwcml2YXRlIGtleSBsZW5ndGggaXMgaW52YWxpZCIpO3ZhciByPWkucHJpdmF0ZUtleUV4cG9ydCh0LGUpO3JldHVybiBvLnByaXZhdGVLZXlFeHBvcnQodCxyLGUpfSxwcml2YXRlS2V5SW1wb3J0OmZ1bmN0aW9uKHQpe2lmKG51bGwhPT0odD1vLnByaXZhdGVLZXlJbXBvcnQodCkpJiYzMj09PXQubGVuZ3RoJiZzKHQpKXJldHVybiB0O3Rocm93IG5ldyBFcnJvcigiY291bGRuJ3QgaW1wb3J0IGZyb20gREVSIGZvcm1hdCIpfSxwcml2YXRlS2V5TmVnYXRlOmZ1bmN0aW9uKHQpe3JldHVybiBlLmZyb20obi5wcml2YXRlS2V5TmVnYXRlKFVpbnQ4QXJyYXkuZnJvbSh0KSkpfSxwcml2YXRlS2V5TW9kSW52ZXJzZTpmdW5jdGlvbih0KXtpZigzMiE9PXQubGVuZ3RoKXRocm93IG5ldyBFcnJvcigicHJpdmF0ZSBrZXkgbGVuZ3RoIGlzIGludmFsaWQiKTtyZXR1cm4gZS5mcm9tKGkucHJpdmF0ZUtleU1vZEludmVyc2UoVWludDhBcnJheS5mcm9tKHQpKSl9LHByaXZhdGVLZXlUd2Vha0FkZDpmdW5jdGlvbih0LHIpe3JldHVybiBlLmZyb20obi5wcml2YXRlS2V5VHdlYWtBZGQoVWludDhBcnJheS5mcm9tKHQpLHIpKX0scHJpdmF0ZUtleVR3ZWFrTXVsOmZ1bmN0aW9uKHQscil7cmV0dXJuIGUuZnJvbShuLnByaXZhdGVLZXlUd2Vha011bChVaW50OEFycmF5LmZyb20odCksVWludDhBcnJheS5mcm9tKHIpKSl9LHB1YmxpY0tleUNyZWF0ZTpmdW5jdGlvbih0LHIpe3JldHVybiBlLmZyb20obi5wdWJsaWNLZXlDcmVhdGUoVWludDhBcnJheS5mcm9tKHQpLHIpKX0scHVibGljS2V5Q29udmVydDpmdW5jdGlvbih0LHIpe3JldHVybiBlLmZyb20obi5wdWJsaWNLZXlDb252ZXJ0KFVpbnQ4QXJyYXkuZnJvbSh0KSxyKSl9LHB1YmxpY0tleVZlcmlmeTpmdW5jdGlvbih0KXtyZXR1cm4oMzM9PT10Lmxlbmd0aHx8NjU9PT10Lmxlbmd0aCkmJm4ucHVibGljS2V5VmVyaWZ5KFVpbnQ4QXJyYXkuZnJvbSh0KSl9LHB1YmxpY0tleVR3ZWFrQWRkOmZ1bmN0aW9uKHQscixpKXtyZXR1cm4gZS5mcm9tKG4ucHVibGljS2V5VHdlYWtBZGQoVWludDhBcnJheS5mcm9tKHQpLFVpbnQ4QXJyYXkuZnJvbShyKSxpKSl9LHB1YmxpY0tleVR3ZWFrTXVsOmZ1bmN0aW9uKHQscixpKXtyZXR1cm4gZS5mcm9tKG4ucHVibGljS2V5VHdlYWtNdWwoVWludDhBcnJheS5mcm9tKHQpLFVpbnQ4QXJyYXkuZnJvbShyKSxpKSl9LHB1YmxpY0tleUNvbWJpbmU6ZnVuY3Rpb24odCxyKXt2YXIgaT1bXTtyZXR1cm4gdC5mb3JFYWNoKChmdW5jdGlvbih0KXtpLnB1c2goVWludDhBcnJheS5mcm9tKHQpKX0pKSxlLmZyb20obi5wdWJsaWNLZXlDb21iaW5lKGkscikpfSxzaWduYXR1cmVOb3JtYWxpemU6ZnVuY3Rpb24odCl7cmV0dXJuIGUuZnJvbShuLnNpZ25hdHVyZU5vcm1hbGl6ZShVaW50OEFycmF5LmZyb20odCkpKX0sc2lnbmF0dXJlRXhwb3J0OmZ1bmN0aW9uKHQpe3JldHVybiBlLmZyb20obi5zaWduYXR1cmVFeHBvcnQoVWludDhBcnJheS5mcm9tKHQpKSl9LHNpZ25hdHVyZUltcG9ydDpmdW5jdGlvbih0KXtyZXR1cm4gZS5mcm9tKG4uc2lnbmF0dXJlSW1wb3J0KFVpbnQ4QXJyYXkuZnJvbSh0KSkpfSxzaWduYXR1cmVJbXBvcnRMYXg6ZnVuY3Rpb24odCl7aWYoMD09PXQubGVuZ3RoKXRocm93IG5ldyBSYW5nZUVycm9yKCJzaWduYXR1cmUgbGVuZ3RoIGlzIGludmFsaWQiKTt2YXIgZT1vLnNpZ25hdHVyZUltcG9ydExheCh0KTtpZihudWxsPT09ZSl0aHJvdyBuZXcgRXJyb3IoImNvdWxkbid0IHBhcnNlIERFUiBzaWduYXR1cmUiKTtyZXR1cm4gaS5zaWduYXR1cmVJbXBvcnQoZSl9LHNpZ246ZnVuY3Rpb24odCxyLGkpe2lmKG51bGw9PT1pKXRocm93IG5ldyBUeXBlRXJyb3IoIm9wdGlvbnMgc2hvdWxkIGJlIGFuIE9iamVjdCIpO3ZhciBvPXZvaWQgMDtpZihpKXtpZihvPXt9LG51bGw9PT1pLmRhdGEpdGhyb3cgbmV3IFR5cGVFcnJvcigib3B0aW9ucy5kYXRhIHNob3VsZCBiZSBhIEJ1ZmZlciIpO2lmKGkuZGF0YSl7aWYoMzIhPT1pLmRhdGEubGVuZ3RoKXRocm93IG5ldyBSYW5nZUVycm9yKCJvcHRpb25zLmRhdGEgbGVuZ3RoIGlzIGludmFsaWQiKTtvLmRhdGE9bmV3IFVpbnQ4QXJyYXkoaS5kYXRhKX1pZihudWxsPT09aS5ub25jZWZuKXRocm93IG5ldyBUeXBlRXJyb3IoIm9wdGlvbnMubm9uY2VmbiBzaG91bGQgYmUgYSBGdW5jdGlvbiIpO2kubm9uY2VmbiYmKG8ubm9uY2Vmbj1mdW5jdGlvbih0LHIsbixvLHMpe3ZhciBhPW51bGwhPW4/ZS5mcm9tKG4pOm51bGwsdT1udWxsIT1vP2UuZnJvbShvKTpudWxsLGM9ZS5mcm9tKCIiKTtyZXR1cm4gaS5ub25jZWZuJiYoYz1pLm5vbmNlZm4oZS5mcm9tKHQpLGUuZnJvbShyKSxhLHUscykpLFVpbnQ4QXJyYXkuZnJvbShjKX0pfXZhciBzPW4uZWNkc2FTaWduKFVpbnQ4QXJyYXkuZnJvbSh0KSxVaW50OEFycmF5LmZyb20ociksbyk7cmV0dXJue3NpZ25hdHVyZTplLmZyb20ocy5zaWduYXR1cmUpLHJlY292ZXJ5OnMucmVjaWR9fSx2ZXJpZnk6ZnVuY3Rpb24odCxlLHIpe3JldHVybiBuLmVjZHNhVmVyaWZ5KFVpbnQ4QXJyYXkuZnJvbShlKSxVaW50OEFycmF5LmZyb20odCkscil9LHJlY292ZXI6ZnVuY3Rpb24odCxyLGksbyl7cmV0dXJuIGUuZnJvbShuLmVjZHNhUmVjb3ZlcihVaW50OEFycmF5LmZyb20ociksaSxVaW50OEFycmF5LmZyb20odCksbykpfSxlY2RoOmZ1bmN0aW9uKHQscil7cmV0dXJuIGUuZnJvbShuLmVjZGgoVWludDhBcnJheS5mcm9tKHQpLFVpbnQ4QXJyYXkuZnJvbShyKSx7fSkpfSxlY2RoVW5zYWZlOmZ1bmN0aW9uKHQscixuKXtpZigzMyE9PXQubGVuZ3RoJiY2NSE9PXQubGVuZ3RoKXRocm93IG5ldyBSYW5nZUVycm9yKCJwdWJsaWMga2V5IGxlbmd0aCBpcyBpbnZhbGlkIik7aWYoMzIhPT1yLmxlbmd0aCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigicHJpdmF0ZSBrZXkgbGVuZ3RoIGlzIGludmFsaWQiKTtyZXR1cm4gZS5mcm9tKGkuZWNkaFVuc2FmZShVaW50OEFycmF5LmZyb20odCksVWludDhBcnJheS5mcm9tKHIpLG4pKX19fSkuY2FsbCh0aGlzLHIoMikuQnVmZmVyKX0sZnVuY3Rpb24odCxlKXtjb25zdCByPSJJbXBvc3NpYmxlIGNhc2UuIFBsZWFzZSBjcmVhdGUgaXNzdWUuIixuPSJUaGUgdHdlYWsgd2FzIG91dCBvZiByYW5nZSBvciB0aGUgcmVzdWx0ZWQgcHJpdmF0ZSBrZXkgaXMgaW52YWxpZCIsaT0iVGhlIHR3ZWFrIHdhcyBvdXQgb2YgcmFuZ2Ugb3IgZXF1YWwgdG8gemVybyIsbz0iVW5rbm93IGVycm9yIG9uIGNvbnRleHQgcmFuZG9taXphdGlvbiIscz0iUHJpdmF0ZSBLZXkgaXMgaW52YWxpZCIsYT0iUHVibGljIEtleSBjb3VsZCBub3QgYmUgcGFyc2VkIix1PSJQdWJsaWMgS2V5IHNlcmlhbGl6YXRpb24gZXJyb3IiLGM9IlRoZSBzdW0gb2YgdGhlIHB1YmxpYyBrZXlzIGlzIG5vdCB2YWxpZCIsZj0iU2lnbmF0dXJlIGNvdWxkIG5vdCBiZSBwYXJzZWQiLGg9IlRoZSBub25jZSBnZW5lcmF0aW9uIGZ1bmN0aW9uIGZhaWxlZCwgb3IgdGhlIHByaXZhdGUga2V5IHdhcyBpbnZhbGlkIixsPSJQdWJsaWMga2V5IGNvdWxkIG5vdCBiZSByZWNvdmVyIixkPSJTY2FsYXIgd2FzIGludmFsaWQgKHplcm8gb3Igb3ZlcmZsb3cpIjtmdW5jdGlvbiBwKHQsZSl7aWYoIXQpdGhyb3cgbmV3IEVycm9yKGUpfWZ1bmN0aW9uIG0odCxlLHIpe2lmKHAoZSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXksYEV4cGVjdGVkICR7dH0gdG8gYmUgYW4gVWludDhBcnJheWApLHZvaWQgMCE9PXIpaWYoQXJyYXkuaXNBcnJheShyKSl7Y29uc3Qgbj1gRXhwZWN0ZWQgJHt0fSB0byBiZSBhbiBVaW50OEFycmF5IHdpdGggbGVuZ3RoIFske3Iuam9pbigiLCAiKX1dYDtwKHIuaW5jbHVkZXMoZS5sZW5ndGgpLG4pfWVsc2V7Y29uc3Qgbj1gRXhwZWN0ZWQgJHt0fSB0byBiZSBhbiBVaW50OEFycmF5IHdpdGggbGVuZ3RoICR7cn1gO3AoZS5sZW5ndGg9PT1yLG4pfX1mdW5jdGlvbiBnKHQpe3AoIkJvb2xlYW4iPT09eSh0KSwiRXhwZWN0ZWQgY29tcHJlc3NlZCB0byBiZSBhIEJvb2xlYW4iKX1mdW5jdGlvbiBiKHQ9KHQ9Pm5ldyBVaW50OEFycmF5KHQpKSxlKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgdCYmKHQ9dChlKSksbSgib3V0cHV0Iix0LGUpLHR9ZnVuY3Rpb24geSh0KXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpLnNsaWNlKDgsLTEpfXQuZXhwb3J0cz10PT4oe2NvbnRleHRSYW5kb21pemUoZSl7c3dpdGNoKHAobnVsbD09PWV8fGUgaW5zdGFuY2VvZiBVaW50OEFycmF5LCJFeHBlY3RlZCBzZWVkIHRvIGJlIGFuIFVpbnQ4QXJyYXkgb3IgbnVsbCIpLG51bGwhPT1lJiZtKCJzZWVkIixlLDMyKSx0LmNvbnRleHRSYW5kb21pemUoZSkpe2Nhc2UgMTp0aHJvdyBuZXcgRXJyb3Iobyl9fSxwcml2YXRlS2V5VmVyaWZ5OmU9PihtKCJwcml2YXRlIGtleSIsZSwzMiksMD09PXQucHJpdmF0ZUtleVZlcmlmeShlKSkscHJpdmF0ZUtleU5lZ2F0ZShlKXtzd2l0Y2gobSgicHJpdmF0ZSBrZXkiLGUsMzIpLHQucHJpdmF0ZUtleU5lZ2F0ZShlKSl7Y2FzZSAwOnJldHVybiBlO2Nhc2UgMTp0aHJvdyBuZXcgRXJyb3Iocil9fSxwcml2YXRlS2V5VHdlYWtBZGQoZSxyKXtzd2l0Y2gobSgicHJpdmF0ZSBrZXkiLGUsMzIpLG0oInR3ZWFrIixyLDMyKSx0LnByaXZhdGVLZXlUd2Vha0FkZChlLHIpKXtjYXNlIDA6cmV0dXJuIGU7Y2FzZSAxOnRocm93IG5ldyBFcnJvcihuKX19LHByaXZhdGVLZXlUd2Vha011bChlLHIpe3N3aXRjaChtKCJwcml2YXRlIGtleSIsZSwzMiksbSgidHdlYWsiLHIsMzIpLHQucHJpdmF0ZUtleVR3ZWFrTXVsKGUscikpe2Nhc2UgMDpyZXR1cm4gZTtjYXNlIDE6dGhyb3cgbmV3IEVycm9yKGkpfX0scHVibGljS2V5VmVyaWZ5OmU9PihtKCJwdWJsaWMga2V5IixlLFszMyw2NV0pLDA9PT10LnB1YmxpY0tleVZlcmlmeShlKSkscHVibGljS2V5Q3JlYXRlKGUscj0hMCxuKXtzd2l0Y2gobSgicHJpdmF0ZSBrZXkiLGUsMzIpLGcociksbj1iKG4scj8zMzo2NSksdC5wdWJsaWNLZXlDcmVhdGUobixlKSl7Y2FzZSAwOnJldHVybiBuO2Nhc2UgMTp0aHJvdyBuZXcgRXJyb3Iocyk7Y2FzZSAyOnRocm93IG5ldyBFcnJvcih1KX19LHB1YmxpY0tleUNvbnZlcnQoZSxyPSEwLG4pe3N3aXRjaChtKCJwdWJsaWMga2V5IixlLFszMyw2NV0pLGcociksbj1iKG4scj8zMzo2NSksdC5wdWJsaWNLZXlDb252ZXJ0KG4sZSkpe2Nhc2UgMDpyZXR1cm4gbjtjYXNlIDE6dGhyb3cgbmV3IEVycm9yKGEpO2Nhc2UgMjp0aHJvdyBuZXcgRXJyb3IodSl9fSxwdWJsaWNLZXlOZWdhdGUoZSxuPSEwLGkpe3N3aXRjaChtKCJwdWJsaWMga2V5IixlLFszMyw2NV0pLGcobiksaT1iKGksbj8zMzo2NSksdC5wdWJsaWNLZXlOZWdhdGUoaSxlKSl7Y2FzZSAwOnJldHVybiBpO2Nhc2UgMTp0aHJvdyBuZXcgRXJyb3IoYSk7Y2FzZSAyOnRocm93IG5ldyBFcnJvcihyKTtjYXNlIDM6dGhyb3cgbmV3IEVycm9yKHUpfX0scHVibGljS2V5Q29tYmluZShlLHI9ITAsbil7cChBcnJheS5pc0FycmF5KGUpLCJFeHBlY3RlZCBwdWJsaWMga2V5cyB0byBiZSBhbiBBcnJheSIpLHAoZS5sZW5ndGg+MCwiRXhwZWN0ZWQgcHVibGljIGtleXMgYXJyYXkgd2lsbCBoYXZlIG1vcmUgdGhhbiB6ZXJvIGl0ZW1zIik7Zm9yKGNvbnN0IHQgb2YgZSltKCJwdWJsaWMga2V5Iix0LFszMyw2NV0pO3N3aXRjaChnKHIpLG49YihuLHI/MzM6NjUpLHQucHVibGljS2V5Q29tYmluZShuLGUpKXtjYXNlIDA6cmV0dXJuIG47Y2FzZSAxOnRocm93IG5ldyBFcnJvcihhKTtjYXNlIDI6dGhyb3cgbmV3IEVycm9yKGMpO2Nhc2UgMzp0aHJvdyBuZXcgRXJyb3IodSl9fSxwdWJsaWNLZXlUd2Vha0FkZChlLHIsaT0hMCxvKXtzd2l0Y2gobSgicHVibGljIGtleSIsZSxbMzMsNjVdKSxtKCJ0d2VhayIsciwzMiksZyhpKSxvPWIobyxpPzMzOjY1KSx0LnB1YmxpY0tleVR3ZWFrQWRkKG8sZSxyKSl7Y2FzZSAwOnJldHVybiBvO2Nhc2UgMTp0aHJvdyBuZXcgRXJyb3IoYSk7Y2FzZSAyOnRocm93IG5ldyBFcnJvcihuKX19LHB1YmxpY0tleVR3ZWFrTXVsKGUscixuPSEwLG8pe3N3aXRjaChtKCJwdWJsaWMga2V5IixlLFszMyw2NV0pLG0oInR3ZWFrIixyLDMyKSxnKG4pLG89YihvLG4/MzM6NjUpLHQucHVibGljS2V5VHdlYWtNdWwobyxlLHIpKXtjYXNlIDA6cmV0dXJuIG87Y2FzZSAxOnRocm93IG5ldyBFcnJvcihhKTtjYXNlIDI6dGhyb3cgbmV3IEVycm9yKGkpfX0sc2lnbmF0dXJlTm9ybWFsaXplKGUpe3N3aXRjaChtKCJzaWduYXR1cmUiLGUsNjQpLHQuc2lnbmF0dXJlTm9ybWFsaXplKGUpKXtjYXNlIDA6cmV0dXJuIGU7Y2FzZSAxOnRocm93IG5ldyBFcnJvcihmKX19LHNpZ25hdHVyZUV4cG9ydChlLG4pe20oInNpZ25hdHVyZSIsZSw2NCk7Y29uc3QgaT17b3V0cHV0Om49YihuLDcyKSxvdXRwdXRsZW46NzJ9O3N3aXRjaCh0LnNpZ25hdHVyZUV4cG9ydChpLGUpKXtjYXNlIDA6cmV0dXJuIG4uc2xpY2UoMCxpLm91dHB1dGxlbik7Y2FzZSAxOnRocm93IG5ldyBFcnJvcihmKTtjYXNlIDI6dGhyb3cgbmV3IEVycm9yKHIpfX0sc2lnbmF0dXJlSW1wb3J0KGUsbil7c3dpdGNoKG0oInNpZ25hdHVyZSIsZSksbj1iKG4sNjQpLHQuc2lnbmF0dXJlSW1wb3J0KG4sZSkpe2Nhc2UgMDpyZXR1cm4gbjtjYXNlIDE6dGhyb3cgbmV3IEVycm9yKGYpO2Nhc2UgMjp0aHJvdyBuZXcgRXJyb3Iocil9fSxlY2RzYVNpZ24oZSxuLGk9e30sbyl7bSgibWVzc2FnZSIsZSwzMiksbSgicHJpdmF0ZSBrZXkiLG4sMzIpLHAoIk9iamVjdCI9PT15KGkpLCJFeHBlY3RlZCBvcHRpb25zIHRvIGJlIGFuIE9iamVjdCIpLHZvaWQgMCE9PWkuZGF0YSYmbSgib3B0aW9ucy5kYXRhIixpLmRhdGEpLHZvaWQgMCE9PWkubm9uY2VmbiYmcCgiRnVuY3Rpb24iPT09eShpLm5vbmNlZm4pLCJFeHBlY3RlZCBvcHRpb25zLm5vbmNlZm4gdG8gYmUgYSBGdW5jdGlvbiIpO2NvbnN0IHM9e3NpZ25hdHVyZTpvPWIobyw2NCkscmVjaWQ6bnVsbH07c3dpdGNoKHQuZWNkc2FTaWduKHMsZSxuLGkuZGF0YSxpLm5vbmNlZm4pKXtjYXNlIDA6cmV0dXJuIHM7Y2FzZSAxOnRocm93IG5ldyBFcnJvcihoKTtjYXNlIDI6dGhyb3cgbmV3IEVycm9yKHIpfX0sZWNkc2FWZXJpZnkoZSxyLG4pe3N3aXRjaChtKCJzaWduYXR1cmUiLGUsNjQpLG0oIm1lc3NhZ2UiLHIsMzIpLG0oInB1YmxpYyBrZXkiLG4sWzMzLDY1XSksdC5lY2RzYVZlcmlmeShlLHIsbikpe2Nhc2UgMDpyZXR1cm4hMDtjYXNlIDM6cmV0dXJuITE7Y2FzZSAxOnRocm93IG5ldyBFcnJvcihmKTtjYXNlIDI6dGhyb3cgbmV3IEVycm9yKGEpfX0sZWNkc2FSZWNvdmVyKGUsbixpLG89ITAscyl7c3dpdGNoKG0oInNpZ25hdHVyZSIsZSw2NCkscCgiTnVtYmVyIj09PXkobikmJm4+PTAmJm48PTMsIkV4cGVjdGVkIHJlY292ZXJ5IGlkIHRvIGJlIGEgTnVtYmVyIHdpdGhpbiBpbnRlcnZhbCBbMCwgM10iKSxtKCJtZXNzYWdlIixpLDMyKSxnKG8pLHM9YihzLG8/MzM6NjUpLHQuZWNkc2FSZWNvdmVyKHMsZSxuLGkpKXtjYXNlIDA6cmV0dXJuIHM7Y2FzZSAxOnRocm93IG5ldyBFcnJvcihmKTtjYXNlIDI6dGhyb3cgbmV3IEVycm9yKGwpO2Nhc2UgMzp0aHJvdyBuZXcgRXJyb3Iocil9fSxlY2RoKGUscixuPXt9LGkpe3N3aXRjaChtKCJwdWJsaWMga2V5IixlLFszMyw2NV0pLG0oInByaXZhdGUga2V5IixyLDMyKSxwKCJPYmplY3QiPT09eShuKSwiRXhwZWN0ZWQgb3B0aW9ucyB0byBiZSBhbiBPYmplY3QiKSx2b2lkIDAhPT1uLmRhdGEmJm0oIm9wdGlvbnMuZGF0YSIsbi5kYXRhKSx2b2lkIDAhPT1uLmhhc2hmbj8ocCgiRnVuY3Rpb24iPT09eShuLmhhc2hmbiksIkV4cGVjdGVkIG9wdGlvbnMuaGFzaGZuIHRvIGJlIGEgRnVuY3Rpb24iKSx2b2lkIDAhPT1uLnhidWYmJm0oIm9wdGlvbnMueGJ1ZiIsbi54YnVmLDMyKSx2b2lkIDAhPT1uLnlidWYmJm0oIm9wdGlvbnMueWJ1ZiIsbi55YnVmLDMyKSxtKCJvdXRwdXQiLGkpKTppPWIoaSwzMiksdC5lY2RoKGksZSxyLG4uZGF0YSxuLmhhc2hmbixuLnhidWYsbi55YnVmKSl7Y2FzZSAwOnJldHVybiBpO2Nhc2UgMTp0aHJvdyBuZXcgRXJyb3IoYSk7Y2FzZSAyOnRocm93IG5ldyBFcnJvcihkKX19fSl9LGZ1bmN0aW9uKHQsZSxyKXtjb25zdCBuPW5ldygwLHIoNTgpLmVjKSgic2VjcDI1NmsxIiksaT1uLmN1cnZlLG89aS5uLmNvbnN0cnVjdG9yO2Z1bmN0aW9uIHModCl7Y29uc3QgZT10WzBdO3N3aXRjaChlKXtjYXNlIDI6Y2FzZSAzOnJldHVybiAzMyE9PXQubGVuZ3RoP251bGw6ZnVuY3Rpb24odCxlKXtsZXQgcj1uZXcgbyhlKTtpZihyLmNtcChpLnApPj0wKXJldHVybiBudWxsO3I9ci50b1JlZChpLnJlZCk7bGV0IHM9ci5yZWRTcXIoKS5yZWRJTXVsKHIpLnJlZElBZGQoaS5iKS5yZWRTcXJ0KCk7cmV0dXJuIDM9PT10IT09cy5pc09kZCgpJiYocz1zLnJlZE5lZygpKSxuLmtleVBhaXIoe3B1Yjp7eDpyLHk6c319KX0oZSx0LnN1YmFycmF5KDEsMzMpKTtjYXNlIDQ6Y2FzZSA2OmNhc2UgNzpyZXR1cm4gNjUhPT10Lmxlbmd0aD9udWxsOmZ1bmN0aW9uKHQsZSxyKXtsZXQgcz1uZXcgbyhlKSxhPW5ldyBvKHIpO2lmKHMuY21wKGkucCk+PTB8fGEuY21wKGkucCk+PTApcmV0dXJuIG51bGw7aWYocz1zLnRvUmVkKGkucmVkKSxhPWEudG9SZWQoaS5yZWQpLCg2PT09dHx8Nz09PXQpJiZhLmlzT2RkKCkhPT0oNz09PXQpKXJldHVybiBudWxsO2NvbnN0IHU9cy5yZWRTcXIoKS5yZWRJTXVsKHMpO3JldHVybiBhLnJlZFNxcigpLnJlZElTdWIodS5yZWRJQWRkKGkuYikpLmlzWmVybygpP24ua2V5UGFpcih7cHViOnt4OnMseTphfX0pOm51bGx9KGUsdC5zdWJhcnJheSgxLDMzKSx0LnN1YmFycmF5KDMzLDY1KSk7ZGVmYXVsdDpyZXR1cm4gbnVsbH19ZnVuY3Rpb24gYSh0LGUpe2NvbnN0IHI9ZS5lbmNvZGUobnVsbCwzMz09PXQubGVuZ3RoKTtmb3IobGV0IGU9MDtlPHQubGVuZ3RoOysrZSl0W2VdPXJbZV19dC5leHBvcnRzPXtjb250ZXh0UmFuZG9taXplOigpPT4wLHByaXZhdGVLZXlWZXJpZnkodCl7Y29uc3QgZT1uZXcgbyh0KTtyZXR1cm4gZS5jbXAoaS5uKTwwJiYhZS5pc1plcm8oKT8wOjF9LHByaXZhdGVLZXlOZWdhdGUodCl7Y29uc3QgZT1uZXcgbyh0KSxyPWkubi5zdWIoZSkudW1vZChpLm4pLnRvQXJyYXlMaWtlKFVpbnQ4QXJyYXksImJlIiwzMik7cmV0dXJuIHQuc2V0KHIpLDB9LHByaXZhdGVLZXlUd2Vha0FkZCh0LGUpe2NvbnN0IHI9bmV3IG8oZSk7aWYoci5jbXAoaS5uKT49MClyZXR1cm4gMTtpZihyLmlhZGQobmV3IG8odCkpLHIuY21wKGkubik+PTAmJnIuaXN1YihpLm4pLHIuaXNaZXJvKCkpcmV0dXJuIDE7Y29uc3Qgbj1yLnRvQXJyYXlMaWtlKFVpbnQ4QXJyYXksImJlIiwzMik7cmV0dXJuIHQuc2V0KG4pLDB9LHByaXZhdGVLZXlUd2Vha011bCh0LGUpe2xldCByPW5ldyBvKGUpO2lmKHIuY21wKGkubik+PTB8fHIuaXNaZXJvKCkpcmV0dXJuIDE7ci5pbXVsKG5ldyBvKHQpKSxyLmNtcChpLm4pPj0wJiYocj1yLnVtb2QoaS5uKSk7Y29uc3Qgbj1yLnRvQXJyYXlMaWtlKFVpbnQ4QXJyYXksImJlIiwzMik7cmV0dXJuIHQuc2V0KG4pLDB9LHB1YmxpY0tleVZlcmlmeTp0PT5udWxsPT09cyh0KT8xOjAscHVibGljS2V5Q3JlYXRlKHQsZSl7Y29uc3Qgcj1uZXcgbyhlKTtpZihyLmNtcChpLm4pPj0wfHxyLmlzWmVybygpKXJldHVybiAxO3JldHVybiBhKHQsbi5rZXlGcm9tUHJpdmF0ZShlKS5nZXRQdWJsaWMoKSksMH0scHVibGljS2V5Q29udmVydCh0LGUpe2NvbnN0IHI9cyhlKTtpZihudWxsPT09cilyZXR1cm4gMTtyZXR1cm4gYSh0LHIuZ2V0UHVibGljKCkpLDB9LHB1YmxpY0tleU5lZ2F0ZSh0LGUpe2NvbnN0IHI9cyhlKTtpZihudWxsPT09cilyZXR1cm4gMTtjb25zdCBuPXIuZ2V0UHVibGljKCk7cmV0dXJuIG4ueT1uLnkucmVkTmVnKCksYSh0LG4pLDB9LHB1YmxpY0tleUNvbWJpbmUodCxlKXtjb25zdCByPW5ldyBBcnJheShlLmxlbmd0aCk7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDsrK3QpaWYoclt0XT1zKGVbdF0pLG51bGw9PT1yW3RdKXJldHVybiAxO2xldCBuPXJbMF0uZ2V0UHVibGljKCk7Zm9yKGxldCB0PTE7dDxyLmxlbmd0aDsrK3Qpbj1uLmFkZChyW3RdLnB1Yik7cmV0dXJuIG4uaXNJbmZpbml0eSgpPzI6KGEodCxuKSwwKX0scHVibGljS2V5VHdlYWtBZGQodCxlLHIpe2NvbnN0IG49cyhlKTtpZihudWxsPT09bilyZXR1cm4gMTtpZigocj1uZXcgbyhyKSkuY21wKGkubik+PTApcmV0dXJuIDI7Y29uc3QgdT1uLmdldFB1YmxpYygpLmFkZChpLmcubXVsKHIpKTtyZXR1cm4gdS5pc0luZmluaXR5KCk/MjooYSh0LHUpLDApfSxwdWJsaWNLZXlUd2Vha011bCh0LGUscil7Y29uc3Qgbj1zKGUpO2lmKG51bGw9PT1uKXJldHVybiAxO2lmKChyPW5ldyBvKHIpKS5jbXAoaS5uKT49MHx8ci5pc1plcm8oKSlyZXR1cm4gMjtyZXR1cm4gYSh0LG4uZ2V0UHVibGljKCkubXVsKHIpKSwwfSxzaWduYXR1cmVOb3JtYWxpemUodCl7Y29uc3QgZT1uZXcgbyh0LnN1YmFycmF5KDAsMzIpKSxyPW5ldyBvKHQuc3ViYXJyYXkoMzIsNjQpKTtyZXR1cm4gZS5jbXAoaS5uKT49MHx8ci5jbXAoaS5uKT49MD8xOigxPT09ci5jbXAobi5uaCkmJnQuc2V0KGkubi5zdWIocikudG9BcnJheUxpa2UoVWludDhBcnJheSwiYmUiLDMyKSwzMiksMCl9LHNpZ25hdHVyZUV4cG9ydCh0LGUpe2NvbnN0IHI9ZS5zdWJhcnJheSgwLDMyKSxuPWUuc3ViYXJyYXkoMzIsNjQpO2lmKG5ldyBvKHIpLmNtcChpLm4pPj0wKXJldHVybiAxO2lmKG5ldyBvKG4pLmNtcChpLm4pPj0wKXJldHVybiAxO2NvbnN0e291dHB1dDpzfT10O2xldCBhPXMuc3ViYXJyYXkoNCwzNyk7YVswXT0wLGEuc2V0KHIsMSk7bGV0IHU9MzMsYz0wO2Zvcig7dT4xJiYwPT09YVtjXSYmISgxMjgmYVtjKzFdKTstLXUsKytjKTtpZihhPWEuc3ViYXJyYXkoYyksMTI4JmFbMF0pcmV0dXJuIDE7aWYodT4xJiYwPT09YVswXSYmISgxMjgmYVsxXSkpcmV0dXJuIDE7bGV0IGY9cy5zdWJhcnJheSgzOSw3Mik7ZlswXT0wLGYuc2V0KG4sMSk7bGV0IGg9MzMsbD0wO2Zvcig7aD4xJiYwPT09ZltsXSYmISgxMjgmZltsKzFdKTstLWgsKytsKTtyZXR1cm4gZj1mLnN1YmFycmF5KGwpLDEyOCZmWzBdfHxoPjEmJjA9PT1mWzBdJiYhKDEyOCZmWzFdKT8xOih0Lm91dHB1dGxlbj02K3UraCxzWzBdPTQ4LHNbMV09dC5vdXRwdXRsZW4tMixzWzJdPTIsc1szXT1hLmxlbmd0aCxzLnNldChhLDQpLHNbNCt1XT0yLHNbNSt1XT1mLmxlbmd0aCxzLnNldChmLDYrdSksMCl9LHNpZ25hdHVyZUltcG9ydCh0LGUpe2lmKGUubGVuZ3RoPDgpcmV0dXJuIDE7aWYoZS5sZW5ndGg+NzIpcmV0dXJuIDE7aWYoNDghPT1lWzBdKXJldHVybiAxO2lmKGVbMV0hPT1lLmxlbmd0aC0yKXJldHVybiAxO2lmKDIhPT1lWzJdKXJldHVybiAxO2NvbnN0IHI9ZVszXTtpZigwPT09cilyZXR1cm4gMTtpZig1K3I+PWUubGVuZ3RoKXJldHVybiAxO2lmKDIhPT1lWzQrcl0pcmV0dXJuIDE7Y29uc3Qgbj1lWzUrcl07aWYoMD09PW4pcmV0dXJuIDE7aWYoNityK24hPT1lLmxlbmd0aClyZXR1cm4gMTtpZigxMjgmZVs0XSlyZXR1cm4gMTtpZihyPjEmJjA9PT1lWzRdJiYhKDEyOCZlWzVdKSlyZXR1cm4gMTtpZigxMjgmZVtyKzZdKXJldHVybiAxO2lmKG4+MSYmMD09PWVbcis2XSYmISgxMjgmZVtyKzddKSlyZXR1cm4gMTtsZXQgcz1lLnN1YmFycmF5KDQsNCtyKTtpZigzMz09PXMubGVuZ3RoJiYwPT09c1swXSYmKHM9cy5zdWJhcnJheSgxKSkscy5sZW5ndGg+MzIpcmV0dXJuIDE7bGV0IGE9ZS5zdWJhcnJheSg2K3IpO2lmKDMzPT09YS5sZW5ndGgmJjA9PT1hWzBdJiYoYT1hLnNsaWNlKDEpKSxhLmxlbmd0aD4zMil0aHJvdyBuZXcgRXJyb3IoIlMgbGVuZ3RoIGlzIHRvbyBsb25nIik7bGV0IHU9bmV3IG8ocyk7dS5jbXAoaS5uKT49MCYmKHU9bmV3IG8oMCkpO2xldCBjPW5ldyBvKGUuc3ViYXJyYXkoNityKSk7cmV0dXJuIGMuY21wKGkubik+PTAmJihjPW5ldyBvKDApKSx0LnNldCh1LnRvQXJyYXlMaWtlKFVpbnQ4QXJyYXksImJlIiwzMiksMCksdC5zZXQoYy50b0FycmF5TGlrZShVaW50OEFycmF5LCJiZSIsMzIpLDMyKSwwfSxlY2RzYVNpZ24odCxlLHIscyxhKXtpZihhKXtjb25zdCB0PWE7YT1uPT57Y29uc3QgaT10KGUscixudWxsLHMsbik7aWYoIShpIGluc3RhbmNlb2YgVWludDhBcnJheSYmMzI9PT1pLmxlbmd0aCkpdGhyb3cgbmV3IEVycm9yKCJUaGlzIGlzIHRoZSB3YXkiKTtyZXR1cm4gbmV3IG8oaSl9fWNvbnN0IHU9bmV3IG8ocik7aWYodS5jbXAoaS5uKT49MHx8dS5pc1plcm8oKSlyZXR1cm4gMTtsZXQgYzt0cnl7Yz1uLnNpZ24oZSxyLHtjYW5vbmljYWw6ITAsazphLHBlcnM6c30pfWNhdGNoKHQpe3JldHVybiAxfXJldHVybiB0LnNpZ25hdHVyZS5zZXQoYy5yLnRvQXJyYXlMaWtlKFVpbnQ4QXJyYXksImJlIiwzMiksMCksdC5zaWduYXR1cmUuc2V0KGMucy50b0FycmF5TGlrZShVaW50OEFycmF5LCJiZSIsMzIpLDMyKSx0LnJlY2lkPWMucmVjb3ZlcnlQYXJhbSwwfSxlY2RzYVZlcmlmeSh0LGUscil7Y29uc3QgYT17cjp0LnN1YmFycmF5KDAsMzIpLHM6dC5zdWJhcnJheSgzMiw2NCl9LHU9bmV3IG8oYS5yKSxjPW5ldyBvKGEucyk7aWYodS5jbXAoaS5uKT49MHx8Yy5jbXAoaS5uKT49MClyZXR1cm4gMTtpZigxPT09Yy5jbXAobi5uaCl8fHUuaXNaZXJvKCl8fGMuaXNaZXJvKCkpcmV0dXJuIDM7Y29uc3QgZj1zKHIpO2lmKG51bGw9PT1mKXJldHVybiAyO2NvbnN0IGg9Zi5nZXRQdWJsaWMoKTtyZXR1cm4gbi52ZXJpZnkoZSxhLGgpPzA6M30sZWNkc2FSZWNvdmVyKHQsZSxyLHMpe2NvbnN0IHU9e3I6ZS5zbGljZSgwLDMyKSxzOmUuc2xpY2UoMzIsNjQpfSxjPW5ldyBvKHUuciksZj1uZXcgbyh1LnMpO2lmKGMuY21wKGkubik+PTB8fGYuY21wKGkubik+PTApcmV0dXJuIDE7aWYoYy5pc1plcm8oKXx8Zi5pc1plcm8oKSlyZXR1cm4gMjtsZXQgaDt0cnl7aD1uLnJlY292ZXJQdWJLZXkocyx1LHIpfWNhdGNoKHQpe3JldHVybiAyfXJldHVybiBhKHQsaCksMH0sZWNkaCh0LGUscixhLHUsYyxmKXtjb25zdCBoPXMoZSk7aWYobnVsbD09PWgpcmV0dXJuIDE7Y29uc3QgbD1uZXcgbyhyKTtpZihsLmNtcChpLm4pPj0wfHxsLmlzWmVybygpKXJldHVybiAyO2NvbnN0IGQ9aC5nZXRQdWJsaWMoKS5tdWwobCk7aWYodm9pZCAwPT09dSl7Y29uc3QgZT1kLmVuY29kZShudWxsLCEwKSxyPW4uaGFzaCgpLnVwZGF0ZShlKS5kaWdlc3QoKTtmb3IobGV0IGU9MDtlPDMyOysrZSl0W2VdPXJbZV19ZWxzZXtjfHwoYz1uZXcgVWludDhBcnJheSgzMikpO2NvbnN0IGU9ZC5nZXRYKCkudG9BcnJheSgiYmUiLDMyKTtmb3IobGV0IHQ9MDt0PDMyOysrdCljW3RdPWVbdF07Znx8KGY9bmV3IFVpbnQ4QXJyYXkoMzIpKTtjb25zdCByPWQuZ2V0WSgpLnRvQXJyYXkoImJlIiwzMik7Zm9yKGxldCB0PTA7dDwzMjsrK3QpZlt0XT1yW3RdO2NvbnN0IG49dShjLGYsYSk7aWYoIShuIGluc3RhbmNlb2YgVWludDhBcnJheSYmbi5sZW5ndGg9PT10Lmxlbmd0aCkpcmV0dXJuIDI7dC5zZXQobil9cmV0dXJuIDB9fX0sZnVuY3Rpb24odCl7dC5leHBvcnRzPUpTT04ucGFyc2UoJ3sibmFtZSI6ImVsbGlwdGljIiwidmVyc2lvbiI6IjYuNS40IiwiZGVzY3JpcHRpb24iOiJFQyBjcnlwdG9ncmFwaHkiLCJtYWluIjoibGliL2VsbGlwdGljLmpzIiwiZmlsZXMiOlsibGliIl0sInNjcmlwdHMiOnsibGludCI6ImVzbGludCBsaWIgdGVzdCIsImxpbnQ6Zml4IjoibnBtIHJ1biBsaW50IC0tIC0tZml4IiwidW5pdCI6ImlzdGFuYnVsIHRlc3QgX21vY2hhIC0tcmVwb3J0ZXI9c3BlYyB0ZXN0L2luZGV4LmpzIiwidGVzdCI6Im5wbSBydW4gbGludCAmJiBucG0gcnVuIHVuaXQiLCJ2ZXJzaW9uIjoiZ3J1bnQgZGlzdCAmJiBnaXQgYWRkIGRpc3QvIn0sInJlcG9zaXRvcnkiOnsidHlwZSI6ImdpdCIsInVybCI6ImdpdEBnaXRodWIuY29tOmluZHV0bnkvZWxsaXB0aWMifSwia2V5d29yZHMiOlsiRUMiLCJFbGxpcHRpYyIsImN1cnZlIiwiQ3J5cHRvZ3JhcGh5Il0sImF1dGhvciI6IkZlZG9yIEluZHV0bnkgPGZlZG9yQGluZHV0bnkuY29tPiIsImxpY2Vuc2UiOiJNSVQiLCJidWdzIjp7InVybCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9pbmR1dG55L2VsbGlwdGljL2lzc3VlcyJ9LCJob21lcGFnZSI6Imh0dHBzOi8vZ2l0aHViLmNvbS9pbmR1dG55L2VsbGlwdGljIiwiZGV2RGVwZW5kZW5jaWVzIjp7ImJyZnMiOiJeMi4wLjIiLCJjb3ZlcmFsbHMiOiJeMy4xLjAiLCJlc2xpbnQiOiJeNy42LjAiLCJncnVudCI6Il4xLjIuMSIsImdydW50LWJyb3dzZXJpZnkiOiJeNS4zLjAiLCJncnVudC1jbGkiOiJeMS4zLjIiLCJncnVudC1jb250cmliLWNvbm5lY3QiOiJeMy4wLjAiLCJncnVudC1jb250cmliLWNvcHkiOiJeMS4wLjAiLCJncnVudC1jb250cmliLXVnbGlmeSI6Il41LjAuMCIsImdydW50LW1vY2hhLWlzdGFuYnVsIjoiXjUuMC4yIiwiZ3J1bnQtc2F1Y2VsYWJzIjoiXjkuMC4xIiwiaXN0YW5idWwiOiJeMC40LjUiLCJtb2NoYSI6Il44LjAuMSJ9LCJkZXBlbmRlbmNpZXMiOnsiYm4uanMiOiJeNC4xMS45IiwiYnJvcmFuZCI6Il4xLjEuMCIsImhhc2guanMiOiJeMS4wLjAiLCJobWFjLWRyYmciOiJeMS4wLjEiLCJpbmhlcml0cyI6Il4yLjAuNCIsIm1pbmltYWxpc3RpYy1hc3NlcnQiOiJeMS4wLjEiLCJtaW5pbWFsaXN0aWMtY3J5cHRvLXV0aWxzIjoiXjEuMC4xIn19Jyl9LGZ1bmN0aW9uKHQsZSl7fSxmdW5jdGlvbih0LGUpe30sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDExKSxpPXIoMTYpLG89cigzKSxzPXIoNDUpLGE9bi5hc3NlcnQ7ZnVuY3Rpb24gdSh0KXtzLmNhbGwodGhpcywic2hvcnQiLHQpLHRoaXMuYT1uZXcgaSh0LmEsMTYpLnRvUmVkKHRoaXMucmVkKSx0aGlzLmI9bmV3IGkodC5iLDE2KS50b1JlZCh0aGlzLnJlZCksdGhpcy50aW52PXRoaXMudHdvLnJlZEludm0oKSx0aGlzLnplcm9BPTA9PT10aGlzLmEuZnJvbVJlZCgpLmNtcG4oMCksdGhpcy50aHJlZUE9MD09PXRoaXMuYS5mcm9tUmVkKCkuc3ViKHRoaXMucCkuY21wbigtMyksdGhpcy5lbmRvPXRoaXMuX2dldEVuZG9tb3JwaGlzbSh0KSx0aGlzLl9lbmRvV25hZlQxPW5ldyBBcnJheSg0KSx0aGlzLl9lbmRvV25hZlQyPW5ldyBBcnJheSg0KX1mdW5jdGlvbiBjKHQsZSxyLG4pe3MuQmFzZVBvaW50LmNhbGwodGhpcyx0LCJhZmZpbmUiKSxudWxsPT09ZSYmbnVsbD09PXI/KHRoaXMueD1udWxsLHRoaXMueT1udWxsLHRoaXMuaW5mPSEwKToodGhpcy54PW5ldyBpKGUsMTYpLHRoaXMueT1uZXcgaShyLDE2KSxuJiYodGhpcy54LmZvcmNlUmVkKHRoaXMuY3VydmUucmVkKSx0aGlzLnkuZm9yY2VSZWQodGhpcy5jdXJ2ZS5yZWQpKSx0aGlzLngucmVkfHwodGhpcy54PXRoaXMueC50b1JlZCh0aGlzLmN1cnZlLnJlZCkpLHRoaXMueS5yZWR8fCh0aGlzLnk9dGhpcy55LnRvUmVkKHRoaXMuY3VydmUucmVkKSksdGhpcy5pbmY9ITEpfWZ1bmN0aW9uIGYodCxlLHIsbil7cy5CYXNlUG9pbnQuY2FsbCh0aGlzLHQsImphY29iaWFuIiksbnVsbD09PWUmJm51bGw9PT1yJiZudWxsPT09bj8odGhpcy54PXRoaXMuY3VydmUub25lLHRoaXMueT10aGlzLmN1cnZlLm9uZSx0aGlzLno9bmV3IGkoMCkpOih0aGlzLng9bmV3IGkoZSwxNiksdGhpcy55PW5ldyBpKHIsMTYpLHRoaXMuej1uZXcgaShuLDE2KSksdGhpcy54LnJlZHx8KHRoaXMueD10aGlzLngudG9SZWQodGhpcy5jdXJ2ZS5yZWQpKSx0aGlzLnkucmVkfHwodGhpcy55PXRoaXMueS50b1JlZCh0aGlzLmN1cnZlLnJlZCkpLHRoaXMuei5yZWR8fCh0aGlzLno9dGhpcy56LnRvUmVkKHRoaXMuY3VydmUucmVkKSksdGhpcy56T25lPXRoaXMuej09PXRoaXMuY3VydmUub25lfW8odSxzKSx0LmV4cG9ydHM9dSx1LnByb3RvdHlwZS5fZ2V0RW5kb21vcnBoaXNtPWZ1bmN0aW9uKHQpe2lmKHRoaXMuemVyb0EmJnRoaXMuZyYmdGhpcy5uJiYxPT09dGhpcy5wLm1vZG4oMykpe3ZhciBlLHI7aWYodC5iZXRhKWU9bmV3IGkodC5iZXRhLDE2KS50b1JlZCh0aGlzLnJlZCk7ZWxzZXt2YXIgbj10aGlzLl9nZXRFbmRvUm9vdHModGhpcy5wKTtlPShlPW5bMF0uY21wKG5bMV0pPDA/blswXTpuWzFdKS50b1JlZCh0aGlzLnJlZCl9aWYodC5sYW1iZGEpcj1uZXcgaSh0LmxhbWJkYSwxNik7ZWxzZXt2YXIgbz10aGlzLl9nZXRFbmRvUm9vdHModGhpcy5uKTswPT09dGhpcy5nLm11bChvWzBdKS54LmNtcCh0aGlzLmcueC5yZWRNdWwoZSkpP3I9b1swXToocj1vWzFdLGEoMD09PXRoaXMuZy5tdWwocikueC5jbXAodGhpcy5nLngucmVkTXVsKGUpKSkpfXJldHVybntiZXRhOmUsbGFtYmRhOnIsYmFzaXM6dC5iYXNpcz90LmJhc2lzLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJue2E6bmV3IGkodC5hLDE2KSxiOm5ldyBpKHQuYiwxNil9fSkpOnRoaXMuX2dldEVuZG9CYXNpcyhyKX19fSx1LnByb3RvdHlwZS5fZ2V0RW5kb1Jvb3RzPWZ1bmN0aW9uKHQpe3ZhciBlPXQ9PT10aGlzLnA/dGhpcy5yZWQ6aS5tb250KHQpLHI9bmV3IGkoMikudG9SZWQoZSkucmVkSW52bSgpLG49ci5yZWROZWcoKSxvPW5ldyBpKDMpLnRvUmVkKGUpLnJlZE5lZygpLnJlZFNxcnQoKS5yZWRNdWwocik7cmV0dXJuW24ucmVkQWRkKG8pLmZyb21SZWQoKSxuLnJlZFN1YihvKS5mcm9tUmVkKCldfSx1LnByb3RvdHlwZS5fZ2V0RW5kb0Jhc2lzPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxyLG4sbyxzLGEsdSxjLGYsaD10aGlzLm4udXNocm4oTWF0aC5mbG9vcih0aGlzLm4uYml0TGVuZ3RoKCkvMikpLGw9dCxkPXRoaXMubi5jbG9uZSgpLHA9bmV3IGkoMSksbT1uZXcgaSgwKSxnPW5ldyBpKDApLGI9bmV3IGkoMSkseT0wOzAhPT1sLmNtcG4oMCk7KXt2YXIgdj1kLmRpdihsKTtjPWQuc3ViKHYubXVsKGwpKSxmPWcuc3ViKHYubXVsKHApKTt2YXIgXz1iLnN1Yih2Lm11bChtKSk7aWYoIW4mJmMuY21wKGgpPDApZT11Lm5lZygpLHI9cCxuPWMubmVnKCksbz1mO2Vsc2UgaWYobiYmMj09Kyt5KWJyZWFrO3U9YyxkPWwsbD1jLGc9cCxwPWYsYj1tLG09X31zPWMubmVnKCksYT1mO3ZhciB3PW4uc3FyKCkuYWRkKG8uc3FyKCkpO3JldHVybiBzLnNxcigpLmFkZChhLnNxcigpKS5jbXAodyk+PTAmJihzPWUsYT1yKSxuLm5lZ2F0aXZlJiYobj1uLm5lZygpLG89by5uZWcoKSkscy5uZWdhdGl2ZSYmKHM9cy5uZWcoKSxhPWEubmVnKCkpLFt7YTpuLGI6b30se2E6cyxiOmF9XX0sdS5wcm90b3R5cGUuX2VuZG9TcGxpdD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmVuZG8uYmFzaXMscj1lWzBdLG49ZVsxXSxpPW4uYi5tdWwodCkuZGl2Um91bmQodGhpcy5uKSxvPXIuYi5uZWcoKS5tdWwodCkuZGl2Um91bmQodGhpcy5uKSxzPWkubXVsKHIuYSksYT1vLm11bChuLmEpLHU9aS5tdWwoci5iKSxjPW8ubXVsKG4uYik7cmV0dXJue2sxOnQuc3ViKHMpLnN1YihhKSxrMjp1LmFkZChjKS5uZWcoKX19LHUucHJvdG90eXBlLnBvaW50RnJvbVg9ZnVuY3Rpb24odCxlKXsodD1uZXcgaSh0LDE2KSkucmVkfHwodD10LnRvUmVkKHRoaXMucmVkKSk7dmFyIHI9dC5yZWRTcXIoKS5yZWRNdWwodCkucmVkSUFkZCh0LnJlZE11bCh0aGlzLmEpKS5yZWRJQWRkKHRoaXMuYiksbj1yLnJlZFNxcnQoKTtpZigwIT09bi5yZWRTcXIoKS5yZWRTdWIocikuY21wKHRoaXMuemVybykpdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIHBvaW50Iik7dmFyIG89bi5mcm9tUmVkKCkuaXNPZGQoKTtyZXR1cm4oZSYmIW98fCFlJiZvKSYmKG49bi5yZWROZWcoKSksdGhpcy5wb2ludCh0LG4pfSx1LnByb3RvdHlwZS52YWxpZGF0ZT1mdW5jdGlvbih0KXtpZih0LmluZilyZXR1cm4hMDt2YXIgZT10Lngscj10Lnksbj10aGlzLmEucmVkTXVsKGUpLGk9ZS5yZWRTcXIoKS5yZWRNdWwoZSkucmVkSUFkZChuKS5yZWRJQWRkKHRoaXMuYik7cmV0dXJuIDA9PT1yLnJlZFNxcigpLnJlZElTdWIoaSkuY21wbigwKX0sdS5wcm90b3R5cGUuX2VuZG9XbmFmTXVsQWRkPWZ1bmN0aW9uKHQsZSxyKXtmb3IodmFyIG49dGhpcy5fZW5kb1duYWZUMSxpPXRoaXMuX2VuZG9XbmFmVDIsbz0wO288dC5sZW5ndGg7bysrKXt2YXIgcz10aGlzLl9lbmRvU3BsaXQoZVtvXSksYT10W29dLHU9YS5fZ2V0QmV0YSgpO3MuazEubmVnYXRpdmUmJihzLmsxLmluZWcoKSxhPWEubmVnKCEwKSkscy5rMi5uZWdhdGl2ZSYmKHMuazIuaW5lZygpLHU9dS5uZWcoITApKSxuWzIqb109YSxuWzIqbysxXT11LGlbMipvXT1zLmsxLGlbMipvKzFdPXMuazJ9Zm9yKHZhciBjPXRoaXMuX3duYWZNdWxBZGQoMSxuLGksMipvLHIpLGY9MDtmPDIqbztmKyspbltmXT1udWxsLGlbZl09bnVsbDtyZXR1cm4gY30sbyhjLHMuQmFzZVBvaW50KSx1LnByb3RvdHlwZS5wb2ludD1mdW5jdGlvbih0LGUscil7cmV0dXJuIG5ldyBjKHRoaXMsdCxlLHIpfSx1LnByb3RvdHlwZS5wb2ludEZyb21KU09OPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGMuZnJvbUpTT04odGhpcyx0LGUpfSxjLnByb3RvdHlwZS5fZ2V0QmV0YT1mdW5jdGlvbigpe2lmKHRoaXMuY3VydmUuZW5kbyl7dmFyIHQ9dGhpcy5wcmVjb21wdXRlZDtpZih0JiZ0LmJldGEpcmV0dXJuIHQuYmV0YTt2YXIgZT10aGlzLmN1cnZlLnBvaW50KHRoaXMueC5yZWRNdWwodGhpcy5jdXJ2ZS5lbmRvLmJldGEpLHRoaXMueSk7aWYodCl7dmFyIHI9dGhpcy5jdXJ2ZSxuPWZ1bmN0aW9uKHQpe3JldHVybiByLnBvaW50KHQueC5yZWRNdWwoci5lbmRvLmJldGEpLHQueSl9O3QuYmV0YT1lLGUucHJlY29tcHV0ZWQ9e2JldGE6bnVsbCxuYWY6dC5uYWYmJnt3bmQ6dC5uYWYud25kLHBvaW50czp0Lm5hZi5wb2ludHMubWFwKG4pfSxkb3VibGVzOnQuZG91YmxlcyYme3N0ZXA6dC5kb3VibGVzLnN0ZXAscG9pbnRzOnQuZG91Ymxlcy5wb2ludHMubWFwKG4pfX19cmV0dXJuIGV9fSxjLnByb3RvdHlwZS50b0pTT049ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wcmVjb21wdXRlZD9bdGhpcy54LHRoaXMueSx0aGlzLnByZWNvbXB1dGVkJiZ7ZG91Ymxlczp0aGlzLnByZWNvbXB1dGVkLmRvdWJsZXMmJntzdGVwOnRoaXMucHJlY29tcHV0ZWQuZG91Ymxlcy5zdGVwLHBvaW50czp0aGlzLnByZWNvbXB1dGVkLmRvdWJsZXMucG9pbnRzLnNsaWNlKDEpfSxuYWY6dGhpcy5wcmVjb21wdXRlZC5uYWYmJnt3bmQ6dGhpcy5wcmVjb21wdXRlZC5uYWYud25kLHBvaW50czp0aGlzLnByZWNvbXB1dGVkLm5hZi5wb2ludHMuc2xpY2UoMSl9fV06W3RoaXMueCx0aGlzLnldfSxjLmZyb21KU09OPWZ1bmN0aW9uKHQsZSxyKXsic3RyaW5nIj09dHlwZW9mIGUmJihlPUpTT04ucGFyc2UoZSkpO3ZhciBuPXQucG9pbnQoZVswXSxlWzFdLHIpO2lmKCFlWzJdKXJldHVybiBuO2Z1bmN0aW9uIGkoZSl7cmV0dXJuIHQucG9pbnQoZVswXSxlWzFdLHIpfXZhciBvPWVbMl07cmV0dXJuIG4ucHJlY29tcHV0ZWQ9e2JldGE6bnVsbCxkb3VibGVzOm8uZG91YmxlcyYme3N0ZXA6by5kb3VibGVzLnN0ZXAscG9pbnRzOltuXS5jb25jYXQoby5kb3VibGVzLnBvaW50cy5tYXAoaSkpfSxuYWY6by5uYWYmJnt3bmQ6by5uYWYud25kLHBvaW50czpbbl0uY29uY2F0KG8ubmFmLnBvaW50cy5tYXAoaSkpfX0sbn0sYy5wcm90b3R5cGUuaW5zcGVjdD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmlzSW5maW5pdHkoKT8iPEVDIFBvaW50IEluZmluaXR5PiI6IjxFQyBQb2ludCB4OiAiK3RoaXMueC5mcm9tUmVkKCkudG9TdHJpbmcoMTYsMikrIiB5OiAiK3RoaXMueS5mcm9tUmVkKCkudG9TdHJpbmcoMTYsMikrIj4ifSxjLnByb3RvdHlwZS5pc0luZmluaXR5PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaW5mfSxjLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24odCl7aWYodGhpcy5pbmYpcmV0dXJuIHQ7aWYodC5pbmYpcmV0dXJuIHRoaXM7aWYodGhpcy5lcSh0KSlyZXR1cm4gdGhpcy5kYmwoKTtpZih0aGlzLm5lZygpLmVxKHQpKXJldHVybiB0aGlzLmN1cnZlLnBvaW50KG51bGwsbnVsbCk7aWYoMD09PXRoaXMueC5jbXAodC54KSlyZXR1cm4gdGhpcy5jdXJ2ZS5wb2ludChudWxsLG51bGwpO3ZhciBlPXRoaXMueS5yZWRTdWIodC55KTswIT09ZS5jbXBuKDApJiYoZT1lLnJlZE11bCh0aGlzLngucmVkU3ViKHQueCkucmVkSW52bSgpKSk7dmFyIHI9ZS5yZWRTcXIoKS5yZWRJU3ViKHRoaXMueCkucmVkSVN1Yih0LngpLG49ZS5yZWRNdWwodGhpcy54LnJlZFN1YihyKSkucmVkSVN1Yih0aGlzLnkpO3JldHVybiB0aGlzLmN1cnZlLnBvaW50KHIsbil9LGMucHJvdG90eXBlLmRibD1mdW5jdGlvbigpe2lmKHRoaXMuaW5mKXJldHVybiB0aGlzO3ZhciB0PXRoaXMueS5yZWRBZGQodGhpcy55KTtpZigwPT09dC5jbXBuKDApKXJldHVybiB0aGlzLmN1cnZlLnBvaW50KG51bGwsbnVsbCk7dmFyIGU9dGhpcy5jdXJ2ZS5hLHI9dGhpcy54LnJlZFNxcigpLG49dC5yZWRJbnZtKCksaT1yLnJlZEFkZChyKS5yZWRJQWRkKHIpLnJlZElBZGQoZSkucmVkTXVsKG4pLG89aS5yZWRTcXIoKS5yZWRJU3ViKHRoaXMueC5yZWRBZGQodGhpcy54KSkscz1pLnJlZE11bCh0aGlzLngucmVkU3ViKG8pKS5yZWRJU3ViKHRoaXMueSk7cmV0dXJuIHRoaXMuY3VydmUucG9pbnQobyxzKX0sYy5wcm90b3R5cGUuZ2V0WD1mdW5jdGlvbigpe3JldHVybiB0aGlzLnguZnJvbVJlZCgpfSxjLnByb3RvdHlwZS5nZXRZPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMueS5mcm9tUmVkKCl9LGMucHJvdG90eXBlLm11bD1mdW5jdGlvbih0KXtyZXR1cm4gdD1uZXcgaSh0LDE2KSx0aGlzLmlzSW5maW5pdHkoKT90aGlzOnRoaXMuX2hhc0RvdWJsZXModCk/dGhpcy5jdXJ2ZS5fZml4ZWROYWZNdWwodGhpcyx0KTp0aGlzLmN1cnZlLmVuZG8/dGhpcy5jdXJ2ZS5fZW5kb1duYWZNdWxBZGQoW3RoaXNdLFt0XSk6dGhpcy5jdXJ2ZS5fd25hZk11bCh0aGlzLHQpfSxjLnByb3RvdHlwZS5tdWxBZGQ9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPVt0aGlzLGVdLGk9W3Qscl07cmV0dXJuIHRoaXMuY3VydmUuZW5kbz90aGlzLmN1cnZlLl9lbmRvV25hZk11bEFkZChuLGkpOnRoaXMuY3VydmUuX3duYWZNdWxBZGQoMSxuLGksMil9LGMucHJvdG90eXBlLmptdWxBZGQ9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPVt0aGlzLGVdLGk9W3Qscl07cmV0dXJuIHRoaXMuY3VydmUuZW5kbz90aGlzLmN1cnZlLl9lbmRvV25hZk11bEFkZChuLGksITApOnRoaXMuY3VydmUuX3duYWZNdWxBZGQoMSxuLGksMiwhMCl9LGMucHJvdG90eXBlLmVxPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzPT09dHx8dGhpcy5pbmY9PT10LmluZiYmKHRoaXMuaW5mfHwwPT09dGhpcy54LmNtcCh0LngpJiYwPT09dGhpcy55LmNtcCh0LnkpKX0sYy5wcm90b3R5cGUubmVnPWZ1bmN0aW9uKHQpe2lmKHRoaXMuaW5mKXJldHVybiB0aGlzO3ZhciBlPXRoaXMuY3VydmUucG9pbnQodGhpcy54LHRoaXMueS5yZWROZWcoKSk7aWYodCYmdGhpcy5wcmVjb21wdXRlZCl7dmFyIHI9dGhpcy5wcmVjb21wdXRlZCxuPWZ1bmN0aW9uKHQpe3JldHVybiB0Lm5lZygpfTtlLnByZWNvbXB1dGVkPXtuYWY6ci5uYWYmJnt3bmQ6ci5uYWYud25kLHBvaW50czpyLm5hZi5wb2ludHMubWFwKG4pfSxkb3VibGVzOnIuZG91YmxlcyYme3N0ZXA6ci5kb3VibGVzLnN0ZXAscG9pbnRzOnIuZG91Ymxlcy5wb2ludHMubWFwKG4pfX19cmV0dXJuIGV9LGMucHJvdG90eXBlLnRvSj1mdW5jdGlvbigpe3JldHVybiB0aGlzLmluZj90aGlzLmN1cnZlLmpwb2ludChudWxsLG51bGwsbnVsbCk6dGhpcy5jdXJ2ZS5qcG9pbnQodGhpcy54LHRoaXMueSx0aGlzLmN1cnZlLm9uZSl9LG8oZixzLkJhc2VQb2ludCksdS5wcm90b3R5cGUuanBvaW50PWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gbmV3IGYodGhpcyx0LGUscil9LGYucHJvdG90eXBlLnRvUD1mdW5jdGlvbigpe2lmKHRoaXMuaXNJbmZpbml0eSgpKXJldHVybiB0aGlzLmN1cnZlLnBvaW50KG51bGwsbnVsbCk7dmFyIHQ9dGhpcy56LnJlZEludm0oKSxlPXQucmVkU3FyKCkscj10aGlzLngucmVkTXVsKGUpLG49dGhpcy55LnJlZE11bChlKS5yZWRNdWwodCk7cmV0dXJuIHRoaXMuY3VydmUucG9pbnQocixuKX0sZi5wcm90b3R5cGUubmVnPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY3VydmUuanBvaW50KHRoaXMueCx0aGlzLnkucmVkTmVnKCksdGhpcy56KX0sZi5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKHQpe2lmKHRoaXMuaXNJbmZpbml0eSgpKXJldHVybiB0O2lmKHQuaXNJbmZpbml0eSgpKXJldHVybiB0aGlzO3ZhciBlPXQuei5yZWRTcXIoKSxyPXRoaXMuei5yZWRTcXIoKSxuPXRoaXMueC5yZWRNdWwoZSksaT10LngucmVkTXVsKHIpLG89dGhpcy55LnJlZE11bChlLnJlZE11bCh0LnopKSxzPXQueS5yZWRNdWwoci5yZWRNdWwodGhpcy56KSksYT1uLnJlZFN1YihpKSx1PW8ucmVkU3ViKHMpO2lmKDA9PT1hLmNtcG4oMCkpcmV0dXJuIDAhPT11LmNtcG4oMCk/dGhpcy5jdXJ2ZS5qcG9pbnQobnVsbCxudWxsLG51bGwpOnRoaXMuZGJsKCk7dmFyIGM9YS5yZWRTcXIoKSxmPWMucmVkTXVsKGEpLGg9bi5yZWRNdWwoYyksbD11LnJlZFNxcigpLnJlZElBZGQoZikucmVkSVN1YihoKS5yZWRJU3ViKGgpLGQ9dS5yZWRNdWwoaC5yZWRJU3ViKGwpKS5yZWRJU3ViKG8ucmVkTXVsKGYpKSxwPXRoaXMuei5yZWRNdWwodC56KS5yZWRNdWwoYSk7cmV0dXJuIHRoaXMuY3VydmUuanBvaW50KGwsZCxwKX0sZi5wcm90b3R5cGUubWl4ZWRBZGQ9ZnVuY3Rpb24odCl7aWYodGhpcy5pc0luZmluaXR5KCkpcmV0dXJuIHQudG9KKCk7aWYodC5pc0luZmluaXR5KCkpcmV0dXJuIHRoaXM7dmFyIGU9dGhpcy56LnJlZFNxcigpLHI9dGhpcy54LG49dC54LnJlZE11bChlKSxpPXRoaXMueSxvPXQueS5yZWRNdWwoZSkucmVkTXVsKHRoaXMueikscz1yLnJlZFN1YihuKSxhPWkucmVkU3ViKG8pO2lmKDA9PT1zLmNtcG4oMCkpcmV0dXJuIDAhPT1hLmNtcG4oMCk/dGhpcy5jdXJ2ZS5qcG9pbnQobnVsbCxudWxsLG51bGwpOnRoaXMuZGJsKCk7dmFyIHU9cy5yZWRTcXIoKSxjPXUucmVkTXVsKHMpLGY9ci5yZWRNdWwodSksaD1hLnJlZFNxcigpLnJlZElBZGQoYykucmVkSVN1YihmKS5yZWRJU3ViKGYpLGw9YS5yZWRNdWwoZi5yZWRJU3ViKGgpKS5yZWRJU3ViKGkucmVkTXVsKGMpKSxkPXRoaXMuei5yZWRNdWwocyk7cmV0dXJuIHRoaXMuY3VydmUuanBvaW50KGgsbCxkKX0sZi5wcm90b3R5cGUuZGJscD1mdW5jdGlvbih0KXtpZigwPT09dClyZXR1cm4gdGhpcztpZih0aGlzLmlzSW5maW5pdHkoKSlyZXR1cm4gdGhpcztpZighdClyZXR1cm4gdGhpcy5kYmwoKTt2YXIgZTtpZih0aGlzLmN1cnZlLnplcm9BfHx0aGlzLmN1cnZlLnRocmVlQSl7dmFyIHI9dGhpcztmb3IoZT0wO2U8dDtlKyspcj1yLmRibCgpO3JldHVybiByfXZhciBuPXRoaXMuY3VydmUuYSxpPXRoaXMuY3VydmUudGludixvPXRoaXMueCxzPXRoaXMueSxhPXRoaXMueix1PWEucmVkU3FyKCkucmVkU3FyKCksYz1zLnJlZEFkZChzKTtmb3IoZT0wO2U8dDtlKyspe3ZhciBmPW8ucmVkU3FyKCksaD1jLnJlZFNxcigpLGw9aC5yZWRTcXIoKSxkPWYucmVkQWRkKGYpLnJlZElBZGQoZikucmVkSUFkZChuLnJlZE11bCh1KSkscD1vLnJlZE11bChoKSxtPWQucmVkU3FyKCkucmVkSVN1YihwLnJlZEFkZChwKSksZz1wLnJlZElTdWIobSksYj1kLnJlZE11bChnKTtiPWIucmVkSUFkZChiKS5yZWRJU3ViKGwpO3ZhciB5PWMucmVkTXVsKGEpO2UrMTx0JiYodT11LnJlZE11bChsKSksbz1tLGE9eSxjPWJ9cmV0dXJuIHRoaXMuY3VydmUuanBvaW50KG8sYy5yZWRNdWwoaSksYSl9LGYucHJvdG90eXBlLmRibD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmlzSW5maW5pdHkoKT90aGlzOnRoaXMuY3VydmUuemVyb0E/dGhpcy5femVyb0RibCgpOnRoaXMuY3VydmUudGhyZWVBP3RoaXMuX3RocmVlRGJsKCk6dGhpcy5fZGJsKCl9LGYucHJvdG90eXBlLl96ZXJvRGJsPWZ1bmN0aW9uKCl7dmFyIHQsZSxyO2lmKHRoaXMuek9uZSl7dmFyIG49dGhpcy54LnJlZFNxcigpLGk9dGhpcy55LnJlZFNxcigpLG89aS5yZWRTcXIoKSxzPXRoaXMueC5yZWRBZGQoaSkucmVkU3FyKCkucmVkSVN1YihuKS5yZWRJU3ViKG8pO3M9cy5yZWRJQWRkKHMpO3ZhciBhPW4ucmVkQWRkKG4pLnJlZElBZGQobiksdT1hLnJlZFNxcigpLnJlZElTdWIocykucmVkSVN1YihzKSxjPW8ucmVkSUFkZChvKTtjPShjPWMucmVkSUFkZChjKSkucmVkSUFkZChjKSx0PXUsZT1hLnJlZE11bChzLnJlZElTdWIodSkpLnJlZElTdWIoYykscj10aGlzLnkucmVkQWRkKHRoaXMueSl9ZWxzZXt2YXIgZj10aGlzLngucmVkU3FyKCksaD10aGlzLnkucmVkU3FyKCksbD1oLnJlZFNxcigpLGQ9dGhpcy54LnJlZEFkZChoKS5yZWRTcXIoKS5yZWRJU3ViKGYpLnJlZElTdWIobCk7ZD1kLnJlZElBZGQoZCk7dmFyIHA9Zi5yZWRBZGQoZikucmVkSUFkZChmKSxtPXAucmVkU3FyKCksZz1sLnJlZElBZGQobCk7Zz0oZz1nLnJlZElBZGQoZykpLnJlZElBZGQoZyksdD1tLnJlZElTdWIoZCkucmVkSVN1YihkKSxlPXAucmVkTXVsKGQucmVkSVN1Yih0KSkucmVkSVN1YihnKSxyPShyPXRoaXMueS5yZWRNdWwodGhpcy56KSkucmVkSUFkZChyKX1yZXR1cm4gdGhpcy5jdXJ2ZS5qcG9pbnQodCxlLHIpfSxmLnByb3RvdHlwZS5fdGhyZWVEYmw9ZnVuY3Rpb24oKXt2YXIgdCxlLHI7aWYodGhpcy56T25lKXt2YXIgbj10aGlzLngucmVkU3FyKCksaT10aGlzLnkucmVkU3FyKCksbz1pLnJlZFNxcigpLHM9dGhpcy54LnJlZEFkZChpKS5yZWRTcXIoKS5yZWRJU3ViKG4pLnJlZElTdWIobyk7cz1zLnJlZElBZGQocyk7dmFyIGE9bi5yZWRBZGQobikucmVkSUFkZChuKS5yZWRJQWRkKHRoaXMuY3VydmUuYSksdT1hLnJlZFNxcigpLnJlZElTdWIocykucmVkSVN1YihzKTt0PXU7dmFyIGM9by5yZWRJQWRkKG8pO2M9KGM9Yy5yZWRJQWRkKGMpKS5yZWRJQWRkKGMpLGU9YS5yZWRNdWwocy5yZWRJU3ViKHUpKS5yZWRJU3ViKGMpLHI9dGhpcy55LnJlZEFkZCh0aGlzLnkpfWVsc2V7dmFyIGY9dGhpcy56LnJlZFNxcigpLGg9dGhpcy55LnJlZFNxcigpLGw9dGhpcy54LnJlZE11bChoKSxkPXRoaXMueC5yZWRTdWIoZikucmVkTXVsKHRoaXMueC5yZWRBZGQoZikpO2Q9ZC5yZWRBZGQoZCkucmVkSUFkZChkKTt2YXIgcD1sLnJlZElBZGQobCksbT0ocD1wLnJlZElBZGQocCkpLnJlZEFkZChwKTt0PWQucmVkU3FyKCkucmVkSVN1YihtKSxyPXRoaXMueS5yZWRBZGQodGhpcy56KS5yZWRTcXIoKS5yZWRJU3ViKGgpLnJlZElTdWIoZik7dmFyIGc9aC5yZWRTcXIoKTtnPShnPShnPWcucmVkSUFkZChnKSkucmVkSUFkZChnKSkucmVkSUFkZChnKSxlPWQucmVkTXVsKHAucmVkSVN1Yih0KSkucmVkSVN1YihnKX1yZXR1cm4gdGhpcy5jdXJ2ZS5qcG9pbnQodCxlLHIpfSxmLnByb3RvdHlwZS5fZGJsPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5jdXJ2ZS5hLGU9dGhpcy54LHI9dGhpcy55LG49dGhpcy56LGk9bi5yZWRTcXIoKS5yZWRTcXIoKSxvPWUucmVkU3FyKCkscz1yLnJlZFNxcigpLGE9by5yZWRBZGQobykucmVkSUFkZChvKS5yZWRJQWRkKHQucmVkTXVsKGkpKSx1PWUucmVkQWRkKGUpLGM9KHU9dS5yZWRJQWRkKHUpKS5yZWRNdWwocyksZj1hLnJlZFNxcigpLnJlZElTdWIoYy5yZWRBZGQoYykpLGg9Yy5yZWRJU3ViKGYpLGw9cy5yZWRTcXIoKTtsPShsPShsPWwucmVkSUFkZChsKSkucmVkSUFkZChsKSkucmVkSUFkZChsKTt2YXIgZD1hLnJlZE11bChoKS5yZWRJU3ViKGwpLHA9ci5yZWRBZGQocikucmVkTXVsKG4pO3JldHVybiB0aGlzLmN1cnZlLmpwb2ludChmLGQscCl9LGYucHJvdG90eXBlLnRycGw9ZnVuY3Rpb24oKXtpZighdGhpcy5jdXJ2ZS56ZXJvQSlyZXR1cm4gdGhpcy5kYmwoKS5hZGQodGhpcyk7dmFyIHQ9dGhpcy54LnJlZFNxcigpLGU9dGhpcy55LnJlZFNxcigpLHI9dGhpcy56LnJlZFNxcigpLG49ZS5yZWRTcXIoKSxpPXQucmVkQWRkKHQpLnJlZElBZGQodCksbz1pLnJlZFNxcigpLHM9dGhpcy54LnJlZEFkZChlKS5yZWRTcXIoKS5yZWRJU3ViKHQpLnJlZElTdWIobiksYT0ocz0ocz0ocz1zLnJlZElBZGQocykpLnJlZEFkZChzKS5yZWRJQWRkKHMpKS5yZWRJU3ViKG8pKS5yZWRTcXIoKSx1PW4ucmVkSUFkZChuKTt1PSh1PSh1PXUucmVkSUFkZCh1KSkucmVkSUFkZCh1KSkucmVkSUFkZCh1KTt2YXIgYz1pLnJlZElBZGQocykucmVkU3FyKCkucmVkSVN1YihvKS5yZWRJU3ViKGEpLnJlZElTdWIodSksZj1lLnJlZE11bChjKTtmPShmPWYucmVkSUFkZChmKSkucmVkSUFkZChmKTt2YXIgaD10aGlzLngucmVkTXVsKGEpLnJlZElTdWIoZik7aD0oaD1oLnJlZElBZGQoaCkpLnJlZElBZGQoaCk7dmFyIGw9dGhpcy55LnJlZE11bChjLnJlZE11bCh1LnJlZElTdWIoYykpLnJlZElTdWIocy5yZWRNdWwoYSkpKTtsPShsPShsPWwucmVkSUFkZChsKSkucmVkSUFkZChsKSkucmVkSUFkZChsKTt2YXIgZD10aGlzLnoucmVkQWRkKHMpLnJlZFNxcigpLnJlZElTdWIocikucmVkSVN1YihhKTtyZXR1cm4gdGhpcy5jdXJ2ZS5qcG9pbnQoaCxsLGQpfSxmLnByb3RvdHlwZS5tdWw9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdD1uZXcgaSh0LGUpLHRoaXMuY3VydmUuX3duYWZNdWwodGhpcyx0KX0sZi5wcm90b3R5cGUuZXE9ZnVuY3Rpb24odCl7aWYoImFmZmluZSI9PT10LnR5cGUpcmV0dXJuIHRoaXMuZXEodC50b0ooKSk7aWYodGhpcz09PXQpcmV0dXJuITA7dmFyIGU9dGhpcy56LnJlZFNxcigpLHI9dC56LnJlZFNxcigpO2lmKDAhPT10aGlzLngucmVkTXVsKHIpLnJlZElTdWIodC54LnJlZE11bChlKSkuY21wbigwKSlyZXR1cm4hMTt2YXIgbj1lLnJlZE11bCh0aGlzLnopLGk9ci5yZWRNdWwodC56KTtyZXR1cm4gMD09PXRoaXMueS5yZWRNdWwoaSkucmVkSVN1Yih0LnkucmVkTXVsKG4pKS5jbXBuKDApfSxmLnByb3RvdHlwZS5lcVhUb1A9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy56LnJlZFNxcigpLHI9dC50b1JlZCh0aGlzLmN1cnZlLnJlZCkucmVkTXVsKGUpO2lmKDA9PT10aGlzLnguY21wKHIpKXJldHVybiEwO2Zvcih2YXIgbj10LmNsb25lKCksaT10aGlzLmN1cnZlLnJlZE4ucmVkTXVsKGUpOzspe2lmKG4uaWFkZCh0aGlzLmN1cnZlLm4pLG4uY21wKHRoaXMuY3VydmUucCk+PTApcmV0dXJuITE7aWYoci5yZWRJQWRkKGkpLDA9PT10aGlzLnguY21wKHIpKXJldHVybiEwfX0sZi5wcm90b3R5cGUuaW5zcGVjdD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmlzSW5maW5pdHkoKT8iPEVDIEpQb2ludCBJbmZpbml0eT4iOiI8RUMgSlBvaW50IHg6ICIrdGhpcy54LnRvU3RyaW5nKDE2LDIpKyIgeTogIit0aGlzLnkudG9TdHJpbmcoMTYsMikrIiB6OiAiK3RoaXMuei50b1N0cmluZygxNiwyKSsiPiJ9LGYucHJvdG90eXBlLmlzSW5maW5pdHk9ZnVuY3Rpb24oKXtyZXR1cm4gMD09PXRoaXMuei5jbXBuKDApfX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDE2KSxpPXIoMyksbz1yKDQ1KSxzPXIoMTEpO2Z1bmN0aW9uIGEodCl7by5jYWxsKHRoaXMsIm1vbnQiLHQpLHRoaXMuYT1uZXcgbih0LmEsMTYpLnRvUmVkKHRoaXMucmVkKSx0aGlzLmI9bmV3IG4odC5iLDE2KS50b1JlZCh0aGlzLnJlZCksdGhpcy5pND1uZXcgbig0KS50b1JlZCh0aGlzLnJlZCkucmVkSW52bSgpLHRoaXMudHdvPW5ldyBuKDIpLnRvUmVkKHRoaXMucmVkKSx0aGlzLmEyND10aGlzLmk0LnJlZE11bCh0aGlzLmEucmVkQWRkKHRoaXMudHdvKSl9ZnVuY3Rpb24gdSh0LGUscil7by5CYXNlUG9pbnQuY2FsbCh0aGlzLHQsInByb2plY3RpdmUiKSxudWxsPT09ZSYmbnVsbD09PXI/KHRoaXMueD10aGlzLmN1cnZlLm9uZSx0aGlzLno9dGhpcy5jdXJ2ZS56ZXJvKToodGhpcy54PW5ldyBuKGUsMTYpLHRoaXMuej1uZXcgbihyLDE2KSx0aGlzLngucmVkfHwodGhpcy54PXRoaXMueC50b1JlZCh0aGlzLmN1cnZlLnJlZCkpLHRoaXMuei5yZWR8fCh0aGlzLno9dGhpcy56LnRvUmVkKHRoaXMuY3VydmUucmVkKSkpfWkoYSxvKSx0LmV4cG9ydHM9YSxhLnByb3RvdHlwZS52YWxpZGF0ZT1mdW5jdGlvbih0KXt2YXIgZT10Lm5vcm1hbGl6ZSgpLngscj1lLnJlZFNxcigpLG49ci5yZWRNdWwoZSkucmVkQWRkKHIucmVkTXVsKHRoaXMuYSkpLnJlZEFkZChlKTtyZXR1cm4gMD09PW4ucmVkU3FydCgpLnJlZFNxcigpLmNtcChuKX0saSh1LG8uQmFzZVBvaW50KSxhLnByb3RvdHlwZS5kZWNvZGVQb2ludD1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLnBvaW50KHMudG9BcnJheSh0LGUpLDEpfSxhLnByb3RvdHlwZS5wb2ludD1mdW5jdGlvbih0LGUpe3JldHVybiBuZXcgdSh0aGlzLHQsZSl9LGEucHJvdG90eXBlLnBvaW50RnJvbUpTT049ZnVuY3Rpb24odCl7cmV0dXJuIHUuZnJvbUpTT04odGhpcyx0KX0sdS5wcm90b3R5cGUucHJlY29tcHV0ZT1mdW5jdGlvbigpe30sdS5wcm90b3R5cGUuX2VuY29kZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmdldFgoKS50b0FycmF5KCJiZSIsdGhpcy5jdXJ2ZS5wLmJ5dGVMZW5ndGgoKSl9LHUuZnJvbUpTT049ZnVuY3Rpb24odCxlKXtyZXR1cm4gbmV3IHUodCxlWzBdLGVbMV18fHQub25lKX0sdS5wcm90b3R5cGUuaW5zcGVjdD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmlzSW5maW5pdHkoKT8iPEVDIFBvaW50IEluZmluaXR5PiI6IjxFQyBQb2ludCB4OiAiK3RoaXMueC5mcm9tUmVkKCkudG9TdHJpbmcoMTYsMikrIiB6OiAiK3RoaXMuei5mcm9tUmVkKCkudG9TdHJpbmcoMTYsMikrIj4ifSx1LnByb3RvdHlwZS5pc0luZmluaXR5PWZ1bmN0aW9uKCl7cmV0dXJuIDA9PT10aGlzLnouY21wbigwKX0sdS5wcm90b3R5cGUuZGJsPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy54LnJlZEFkZCh0aGlzLnopLnJlZFNxcigpLGU9dGhpcy54LnJlZFN1Yih0aGlzLnopLnJlZFNxcigpLHI9dC5yZWRTdWIoZSksbj10LnJlZE11bChlKSxpPXIucmVkTXVsKGUucmVkQWRkKHRoaXMuY3VydmUuYTI0LnJlZE11bChyKSkpO3JldHVybiB0aGlzLmN1cnZlLnBvaW50KG4saSl9LHUucHJvdG90eXBlLmFkZD1mdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcigiTm90IHN1cHBvcnRlZCBvbiBNb250Z29tZXJ5IGN1cnZlIil9LHUucHJvdG90eXBlLmRpZmZBZGQ9ZnVuY3Rpb24odCxlKXt2YXIgcj10aGlzLngucmVkQWRkKHRoaXMueiksbj10aGlzLngucmVkU3ViKHRoaXMueiksaT10LngucmVkQWRkKHQueiksbz10LngucmVkU3ViKHQueikucmVkTXVsKHIpLHM9aS5yZWRNdWwobiksYT1lLnoucmVkTXVsKG8ucmVkQWRkKHMpLnJlZFNxcigpKSx1PWUueC5yZWRNdWwoby5yZWRJU3ViKHMpLnJlZFNxcigpKTtyZXR1cm4gdGhpcy5jdXJ2ZS5wb2ludChhLHUpfSx1LnByb3RvdHlwZS5tdWw9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPXQuY2xvbmUoKSxyPXRoaXMsbj10aGlzLmN1cnZlLnBvaW50KG51bGwsbnVsbCksaT1bXTswIT09ZS5jbXBuKDApO2UuaXVzaHJuKDEpKWkucHVzaChlLmFuZGxuKDEpKTtmb3IodmFyIG89aS5sZW5ndGgtMTtvPj0wO28tLSkwPT09aVtvXT8ocj1yLmRpZmZBZGQobix0aGlzKSxuPW4uZGJsKCkpOihuPXIuZGlmZkFkZChuLHRoaXMpLHI9ci5kYmwoKSk7cmV0dXJuIG59LHUucHJvdG90eXBlLm11bEFkZD1mdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcigiTm90IHN1cHBvcnRlZCBvbiBNb250Z29tZXJ5IGN1cnZlIil9LHUucHJvdG90eXBlLmp1bWxBZGQ9ZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoIk5vdCBzdXBwb3J0ZWQgb24gTW9udGdvbWVyeSBjdXJ2ZSIpfSx1LnByb3RvdHlwZS5lcT1mdW5jdGlvbih0KXtyZXR1cm4gMD09PXRoaXMuZ2V0WCgpLmNtcCh0LmdldFgoKSl9LHUucHJvdG90eXBlLm5vcm1hbGl6ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLng9dGhpcy54LnJlZE11bCh0aGlzLnoucmVkSW52bSgpKSx0aGlzLno9dGhpcy5jdXJ2ZS5vbmUsdGhpc30sdS5wcm90b3R5cGUuZ2V0WD1mdW5jdGlvbigpe3JldHVybiB0aGlzLm5vcm1hbGl6ZSgpLHRoaXMueC5mcm9tUmVkKCl9fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXIoMTEpLGk9cigxNiksbz1yKDMpLHM9cig0NSksYT1uLmFzc2VydDtmdW5jdGlvbiB1KHQpe3RoaXMudHdpc3RlZD0xIT0oMHx0LmEpLHRoaXMubU9uZUE9dGhpcy50d2lzdGVkJiYtMT09KDB8dC5hKSx0aGlzLmV4dGVuZGVkPXRoaXMubU9uZUEscy5jYWxsKHRoaXMsImVkd2FyZHMiLHQpLHRoaXMuYT1uZXcgaSh0LmEsMTYpLnVtb2QodGhpcy5yZWQubSksdGhpcy5hPXRoaXMuYS50b1JlZCh0aGlzLnJlZCksdGhpcy5jPW5ldyBpKHQuYywxNikudG9SZWQodGhpcy5yZWQpLHRoaXMuYzI9dGhpcy5jLnJlZFNxcigpLHRoaXMuZD1uZXcgaSh0LmQsMTYpLnRvUmVkKHRoaXMucmVkKSx0aGlzLmRkPXRoaXMuZC5yZWRBZGQodGhpcy5kKSxhKCF0aGlzLnR3aXN0ZWR8fDA9PT10aGlzLmMuZnJvbVJlZCgpLmNtcG4oMSkpLHRoaXMub25lQz0xPT0oMHx0LmMpfWZ1bmN0aW9uIGModCxlLHIsbixvKXtzLkJhc2VQb2ludC5jYWxsKHRoaXMsdCwicHJvamVjdGl2ZSIpLG51bGw9PT1lJiZudWxsPT09ciYmbnVsbD09PW4/KHRoaXMueD10aGlzLmN1cnZlLnplcm8sdGhpcy55PXRoaXMuY3VydmUub25lLHRoaXMuej10aGlzLmN1cnZlLm9uZSx0aGlzLnQ9dGhpcy5jdXJ2ZS56ZXJvLHRoaXMuek9uZT0hMCk6KHRoaXMueD1uZXcgaShlLDE2KSx0aGlzLnk9bmV3IGkociwxNiksdGhpcy56PW4/bmV3IGkobiwxNik6dGhpcy5jdXJ2ZS5vbmUsdGhpcy50PW8mJm5ldyBpKG8sMTYpLHRoaXMueC5yZWR8fCh0aGlzLng9dGhpcy54LnRvUmVkKHRoaXMuY3VydmUucmVkKSksdGhpcy55LnJlZHx8KHRoaXMueT10aGlzLnkudG9SZWQodGhpcy5jdXJ2ZS5yZWQpKSx0aGlzLnoucmVkfHwodGhpcy56PXRoaXMuei50b1JlZCh0aGlzLmN1cnZlLnJlZCkpLHRoaXMudCYmIXRoaXMudC5yZWQmJih0aGlzLnQ9dGhpcy50LnRvUmVkKHRoaXMuY3VydmUucmVkKSksdGhpcy56T25lPXRoaXMuej09PXRoaXMuY3VydmUub25lLHRoaXMuY3VydmUuZXh0ZW5kZWQmJiF0aGlzLnQmJih0aGlzLnQ9dGhpcy54LnJlZE11bCh0aGlzLnkpLHRoaXMuek9uZXx8KHRoaXMudD10aGlzLnQucmVkTXVsKHRoaXMuei5yZWRJbnZtKCkpKSkpfW8odSxzKSx0LmV4cG9ydHM9dSx1LnByb3RvdHlwZS5fbXVsQT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5tT25lQT90LnJlZE5lZygpOnRoaXMuYS5yZWRNdWwodCl9LHUucHJvdG90eXBlLl9tdWxDPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9uZUM/dDp0aGlzLmMucmVkTXVsKHQpfSx1LnByb3RvdHlwZS5qcG9pbnQ9ZnVuY3Rpb24odCxlLHIsbil7cmV0dXJuIHRoaXMucG9pbnQodCxlLHIsbil9LHUucHJvdG90eXBlLnBvaW50RnJvbVg9ZnVuY3Rpb24odCxlKXsodD1uZXcgaSh0LDE2KSkucmVkfHwodD10LnRvUmVkKHRoaXMucmVkKSk7dmFyIHI9dC5yZWRTcXIoKSxuPXRoaXMuYzIucmVkU3ViKHRoaXMuYS5yZWRNdWwocikpLG89dGhpcy5vbmUucmVkU3ViKHRoaXMuYzIucmVkTXVsKHRoaXMuZCkucmVkTXVsKHIpKSxzPW4ucmVkTXVsKG8ucmVkSW52bSgpKSxhPXMucmVkU3FydCgpO2lmKDAhPT1hLnJlZFNxcigpLnJlZFN1YihzKS5jbXAodGhpcy56ZXJvKSl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgcG9pbnQiKTt2YXIgdT1hLmZyb21SZWQoKS5pc09kZCgpO3JldHVybihlJiYhdXx8IWUmJnUpJiYoYT1hLnJlZE5lZygpKSx0aGlzLnBvaW50KHQsYSl9LHUucHJvdG90eXBlLnBvaW50RnJvbVk9ZnVuY3Rpb24odCxlKXsodD1uZXcgaSh0LDE2KSkucmVkfHwodD10LnRvUmVkKHRoaXMucmVkKSk7dmFyIHI9dC5yZWRTcXIoKSxuPXIucmVkU3ViKHRoaXMuYzIpLG89ci5yZWRNdWwodGhpcy5kKS5yZWRNdWwodGhpcy5jMikucmVkU3ViKHRoaXMuYSkscz1uLnJlZE11bChvLnJlZEludm0oKSk7aWYoMD09PXMuY21wKHRoaXMuemVybykpe2lmKGUpdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIHBvaW50Iik7cmV0dXJuIHRoaXMucG9pbnQodGhpcy56ZXJvLHQpfXZhciBhPXMucmVkU3FydCgpO2lmKDAhPT1hLnJlZFNxcigpLnJlZFN1YihzKS5jbXAodGhpcy56ZXJvKSl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgcG9pbnQiKTtyZXR1cm4gYS5mcm9tUmVkKCkuaXNPZGQoKSE9PWUmJihhPWEucmVkTmVnKCkpLHRoaXMucG9pbnQoYSx0KX0sdS5wcm90b3R5cGUudmFsaWRhdGU9ZnVuY3Rpb24odCl7aWYodC5pc0luZmluaXR5KCkpcmV0dXJuITA7dC5ub3JtYWxpemUoKTt2YXIgZT10LngucmVkU3FyKCkscj10LnkucmVkU3FyKCksbj1lLnJlZE11bCh0aGlzLmEpLnJlZEFkZChyKSxpPXRoaXMuYzIucmVkTXVsKHRoaXMub25lLnJlZEFkZCh0aGlzLmQucmVkTXVsKGUpLnJlZE11bChyKSkpO3JldHVybiAwPT09bi5jbXAoaSl9LG8oYyxzLkJhc2VQb2ludCksdS5wcm90b3R5cGUucG9pbnRGcm9tSlNPTj1mdW5jdGlvbih0KXtyZXR1cm4gYy5mcm9tSlNPTih0aGlzLHQpfSx1LnByb3RvdHlwZS5wb2ludD1mdW5jdGlvbih0LGUscixuKXtyZXR1cm4gbmV3IGModGhpcyx0LGUscixuKX0sYy5mcm9tSlNPTj1mdW5jdGlvbih0LGUpe3JldHVybiBuZXcgYyh0LGVbMF0sZVsxXSxlWzJdKX0sYy5wcm90b3R5cGUuaW5zcGVjdD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmlzSW5maW5pdHkoKT8iPEVDIFBvaW50IEluZmluaXR5PiI6IjxFQyBQb2ludCB4OiAiK3RoaXMueC5mcm9tUmVkKCkudG9TdHJpbmcoMTYsMikrIiB5OiAiK3RoaXMueS5mcm9tUmVkKCkudG9TdHJpbmcoMTYsMikrIiB6OiAiK3RoaXMuei5mcm9tUmVkKCkudG9TdHJpbmcoMTYsMikrIj4ifSxjLnByb3RvdHlwZS5pc0luZmluaXR5PWZ1bmN0aW9uKCl7cmV0dXJuIDA9PT10aGlzLnguY21wbigwKSYmKDA9PT10aGlzLnkuY21wKHRoaXMueil8fHRoaXMuek9uZSYmMD09PXRoaXMueS5jbXAodGhpcy5jdXJ2ZS5jKSl9LGMucHJvdG90eXBlLl9leHREYmw9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLngucmVkU3FyKCksZT10aGlzLnkucmVkU3FyKCkscj10aGlzLnoucmVkU3FyKCk7cj1yLnJlZElBZGQocik7dmFyIG49dGhpcy5jdXJ2ZS5fbXVsQSh0KSxpPXRoaXMueC5yZWRBZGQodGhpcy55KS5yZWRTcXIoKS5yZWRJU3ViKHQpLnJlZElTdWIoZSksbz1uLnJlZEFkZChlKSxzPW8ucmVkU3ViKHIpLGE9bi5yZWRTdWIoZSksdT1pLnJlZE11bChzKSxjPW8ucmVkTXVsKGEpLGY9aS5yZWRNdWwoYSksaD1zLnJlZE11bChvKTtyZXR1cm4gdGhpcy5jdXJ2ZS5wb2ludCh1LGMsaCxmKX0sYy5wcm90b3R5cGUuX3Byb2pEYmw9ZnVuY3Rpb24oKXt2YXIgdCxlLHIsbixpLG8scz10aGlzLngucmVkQWRkKHRoaXMueSkucmVkU3FyKCksYT10aGlzLngucmVkU3FyKCksdT10aGlzLnkucmVkU3FyKCk7aWYodGhpcy5jdXJ2ZS50d2lzdGVkKXt2YXIgYz0obj10aGlzLmN1cnZlLl9tdWxBKGEpKS5yZWRBZGQodSk7dGhpcy56T25lPyh0PXMucmVkU3ViKGEpLnJlZFN1Yih1KS5yZWRNdWwoYy5yZWRTdWIodGhpcy5jdXJ2ZS50d28pKSxlPWMucmVkTXVsKG4ucmVkU3ViKHUpKSxyPWMucmVkU3FyKCkucmVkU3ViKGMpLnJlZFN1YihjKSk6KGk9dGhpcy56LnJlZFNxcigpLG89Yy5yZWRTdWIoaSkucmVkSVN1YihpKSx0PXMucmVkU3ViKGEpLnJlZElTdWIodSkucmVkTXVsKG8pLGU9Yy5yZWRNdWwobi5yZWRTdWIodSkpLHI9Yy5yZWRNdWwobykpfWVsc2Ugbj1hLnJlZEFkZCh1KSxpPXRoaXMuY3VydmUuX211bEModGhpcy56KS5yZWRTcXIoKSxvPW4ucmVkU3ViKGkpLnJlZFN1YihpKSx0PXRoaXMuY3VydmUuX211bEMocy5yZWRJU3ViKG4pKS5yZWRNdWwobyksZT10aGlzLmN1cnZlLl9tdWxDKG4pLnJlZE11bChhLnJlZElTdWIodSkpLHI9bi5yZWRNdWwobyk7cmV0dXJuIHRoaXMuY3VydmUucG9pbnQodCxlLHIpfSxjLnByb3RvdHlwZS5kYmw9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pc0luZmluaXR5KCk/dGhpczp0aGlzLmN1cnZlLmV4dGVuZGVkP3RoaXMuX2V4dERibCgpOnRoaXMuX3Byb2pEYmwoKX0sYy5wcm90b3R5cGUuX2V4dEFkZD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLnkucmVkU3ViKHRoaXMueCkucmVkTXVsKHQueS5yZWRTdWIodC54KSkscj10aGlzLnkucmVkQWRkKHRoaXMueCkucmVkTXVsKHQueS5yZWRBZGQodC54KSksbj10aGlzLnQucmVkTXVsKHRoaXMuY3VydmUuZGQpLnJlZE11bCh0LnQpLGk9dGhpcy56LnJlZE11bCh0LnoucmVkQWRkKHQueikpLG89ci5yZWRTdWIoZSkscz1pLnJlZFN1YihuKSxhPWkucmVkQWRkKG4pLHU9ci5yZWRBZGQoZSksYz1vLnJlZE11bChzKSxmPWEucmVkTXVsKHUpLGg9by5yZWRNdWwodSksbD1zLnJlZE11bChhKTtyZXR1cm4gdGhpcy5jdXJ2ZS5wb2ludChjLGYsbCxoKX0sYy5wcm90b3R5cGUuX3Byb2pBZGQ9ZnVuY3Rpb24odCl7dmFyIGUscixuPXRoaXMuei5yZWRNdWwodC56KSxpPW4ucmVkU3FyKCksbz10aGlzLngucmVkTXVsKHQueCkscz10aGlzLnkucmVkTXVsKHQueSksYT10aGlzLmN1cnZlLmQucmVkTXVsKG8pLnJlZE11bChzKSx1PWkucmVkU3ViKGEpLGM9aS5yZWRBZGQoYSksZj10aGlzLngucmVkQWRkKHRoaXMueSkucmVkTXVsKHQueC5yZWRBZGQodC55KSkucmVkSVN1YihvKS5yZWRJU3ViKHMpLGg9bi5yZWRNdWwodSkucmVkTXVsKGYpO3JldHVybiB0aGlzLmN1cnZlLnR3aXN0ZWQ/KGU9bi5yZWRNdWwoYykucmVkTXVsKHMucmVkU3ViKHRoaXMuY3VydmUuX211bEEobykpKSxyPXUucmVkTXVsKGMpKTooZT1uLnJlZE11bChjKS5yZWRNdWwocy5yZWRTdWIobykpLHI9dGhpcy5jdXJ2ZS5fbXVsQyh1KS5yZWRNdWwoYykpLHRoaXMuY3VydmUucG9pbnQoaCxlLHIpfSxjLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuaXNJbmZpbml0eSgpP3Q6dC5pc0luZmluaXR5KCk/dGhpczp0aGlzLmN1cnZlLmV4dGVuZGVkP3RoaXMuX2V4dEFkZCh0KTp0aGlzLl9wcm9qQWRkKHQpfSxjLnByb3RvdHlwZS5tdWw9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX2hhc0RvdWJsZXModCk/dGhpcy5jdXJ2ZS5fZml4ZWROYWZNdWwodGhpcyx0KTp0aGlzLmN1cnZlLl93bmFmTXVsKHRoaXMsdCl9LGMucHJvdG90eXBlLm11bEFkZD1mdW5jdGlvbih0LGUscil7cmV0dXJuIHRoaXMuY3VydmUuX3duYWZNdWxBZGQoMSxbdGhpcyxlXSxbdCxyXSwyLCExKX0sYy5wcm90b3R5cGUuam11bEFkZD1mdW5jdGlvbih0LGUscil7cmV0dXJuIHRoaXMuY3VydmUuX3duYWZNdWxBZGQoMSxbdGhpcyxlXSxbdCxyXSwyLCEwKX0sYy5wcm90b3R5cGUubm9ybWFsaXplPWZ1bmN0aW9uKCl7aWYodGhpcy56T25lKXJldHVybiB0aGlzO3ZhciB0PXRoaXMuei5yZWRJbnZtKCk7cmV0dXJuIHRoaXMueD10aGlzLngucmVkTXVsKHQpLHRoaXMueT10aGlzLnkucmVkTXVsKHQpLHRoaXMudCYmKHRoaXMudD10aGlzLnQucmVkTXVsKHQpKSx0aGlzLno9dGhpcy5jdXJ2ZS5vbmUsdGhpcy56T25lPSEwLHRoaXN9LGMucHJvdG90eXBlLm5lZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmN1cnZlLnBvaW50KHRoaXMueC5yZWROZWcoKSx0aGlzLnksdGhpcy56LHRoaXMudCYmdGhpcy50LnJlZE5lZygpKX0sYy5wcm90b3R5cGUuZ2V0WD1mdW5jdGlvbigpe3JldHVybiB0aGlzLm5vcm1hbGl6ZSgpLHRoaXMueC5mcm9tUmVkKCl9LGMucHJvdG90eXBlLmdldFk9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ub3JtYWxpemUoKSx0aGlzLnkuZnJvbVJlZCgpfSxjLnByb3RvdHlwZS5lcT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcz09PXR8fDA9PT10aGlzLmdldFgoKS5jbXAodC5nZXRYKCkpJiYwPT09dGhpcy5nZXRZKCkuY21wKHQuZ2V0WSgpKX0sYy5wcm90b3R5cGUuZXFYVG9QPWZ1bmN0aW9uKHQpe3ZhciBlPXQudG9SZWQodGhpcy5jdXJ2ZS5yZWQpLnJlZE11bCh0aGlzLnopO2lmKDA9PT10aGlzLnguY21wKGUpKXJldHVybiEwO2Zvcih2YXIgcj10LmNsb25lKCksbj10aGlzLmN1cnZlLnJlZE4ucmVkTXVsKHRoaXMueik7Oyl7aWYoci5pYWRkKHRoaXMuY3VydmUubiksci5jbXAodGhpcy5jdXJ2ZS5wKT49MClyZXR1cm4hMTtpZihlLnJlZElBZGQobiksMD09PXRoaXMueC5jbXAoZSkpcmV0dXJuITB9fSxjLnByb3RvdHlwZS50b1A9Yy5wcm90b3R5cGUubm9ybWFsaXplLGMucHJvdG90eXBlLm1peGVkQWRkPWMucHJvdG90eXBlLmFkZH0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtlLnNoYTE9cigyNTEpLGUuc2hhMjI0PXIoMjUyKSxlLnNoYTI1Nj1yKDEyNCksZS5zaGEzODQ9cigyNTMpLGUuc2hhNTEyPXIoMTI1KX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDE1KSxpPXIoMzcpLG89cigxMjMpLHM9bi5yb3RsMzIsYT1uLnN1bTMyLHU9bi5zdW0zMl81LGM9by5mdF8xLGY9aS5CbG9ja0hhc2gsaD1bMTUxODUwMDI0OSwxODU5Nzc1MzkzLDI0MDA5NTk3MDgsMzM5NTQ2OTc4Ml07ZnVuY3Rpb24gbCgpe2lmKCEodGhpcyBpbnN0YW5jZW9mIGwpKXJldHVybiBuZXcgbDtmLmNhbGwodGhpcyksdGhpcy5oPVsxNzMyNTg0MTkzLDQwMjMyMzM0MTcsMjU2MjM4MzEwMiwyNzE3MzM4NzgsMzI4NTM3NzUyMF0sdGhpcy5XPW5ldyBBcnJheSg4MCl9bi5pbmhlcml0cyhsLGYpLHQuZXhwb3J0cz1sLGwuYmxvY2tTaXplPTUxMixsLm91dFNpemU9MTYwLGwuaG1hY1N0cmVuZ3RoPTgwLGwucGFkTGVuZ3RoPTY0LGwucHJvdG90eXBlLl91cGRhdGU9ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9dGhpcy5XLG49MDtuPDE2O24rKylyW25dPXRbZStuXTtmb3IoO248ci5sZW5ndGg7bisrKXJbbl09cyhyW24tM11ecltuLThdXnJbbi0xNF1ecltuLTE2XSwxKTt2YXIgaT10aGlzLmhbMF0sbz10aGlzLmhbMV0sZj10aGlzLmhbMl0sbD10aGlzLmhbM10sZD10aGlzLmhbNF07Zm9yKG49MDtuPHIubGVuZ3RoO24rKyl7dmFyIHA9fn4obi8yMCksbT11KHMoaSw1KSxjKHAsbyxmLGwpLGQscltuXSxoW3BdKTtkPWwsbD1mLGY9cyhvLDMwKSxvPWksaT1tfXRoaXMuaFswXT1hKHRoaXMuaFswXSxpKSx0aGlzLmhbMV09YSh0aGlzLmhbMV0sbyksdGhpcy5oWzJdPWEodGhpcy5oWzJdLGYpLHRoaXMuaFszXT1hKHRoaXMuaFszXSxsKSx0aGlzLmhbNF09YSh0aGlzLmhbNF0sZCl9LGwucHJvdG90eXBlLl9kaWdlc3Q9ZnVuY3Rpb24odCl7cmV0dXJuImhleCI9PT10P24udG9IZXgzMih0aGlzLmgsImJpZyIpOm4uc3BsaXQzMih0aGlzLmgsImJpZyIpfX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDE1KSxpPXIoMTI0KTtmdW5jdGlvbiBvKCl7aWYoISh0aGlzIGluc3RhbmNlb2YgbykpcmV0dXJuIG5ldyBvO2kuY2FsbCh0aGlzKSx0aGlzLmg9WzMyMzgzNzEwMzIsOTE0MTUwNjYzLDgxMjcwMjk5OSw0MTQ0OTEyNjk3LDQyOTA3NzU4NTcsMTc1MDYwMzAyNSwxNjk0MDc2ODM5LDMyMDQwNzU0MjhdfW4uaW5oZXJpdHMobyxpKSx0LmV4cG9ydHM9byxvLmJsb2NrU2l6ZT01MTIsby5vdXRTaXplPTIyNCxvLmhtYWNTdHJlbmd0aD0xOTIsby5wYWRMZW5ndGg9NjQsby5wcm90b3R5cGUuX2RpZ2VzdD1mdW5jdGlvbih0KXtyZXR1cm4iaGV4Ij09PXQ/bi50b0hleDMyKHRoaXMuaC5zbGljZSgwLDcpLCJiaWciKTpuLnNwbGl0MzIodGhpcy5oLnNsaWNlKDAsNyksImJpZyIpfX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDE1KSxpPXIoMTI1KTtmdW5jdGlvbiBvKCl7aWYoISh0aGlzIGluc3RhbmNlb2YgbykpcmV0dXJuIG5ldyBvO2kuY2FsbCh0aGlzKSx0aGlzLmg9WzM0MTgwNzAzNjUsMzIzODM3MTAzMiwxNjU0MjcwMjUwLDkxNDE1MDY2MywyNDM4NTI5MzcwLDgxMjcwMjk5OSwzNTU0NjIzNjAsNDE0NDkxMjY5NywxNzMxNDA1NDE1LDQyOTA3NzU4NTcsMjM5NDE4MDIzMSwxNzUwNjAzMDI1LDM2NzUwMDg1MjUsMTY5NDA3NjgzOSwxMjAzMDYyODEzLDMyMDQwNzU0MjhdfW4uaW5oZXJpdHMobyxpKSx0LmV4cG9ydHM9byxvLmJsb2NrU2l6ZT0xMDI0LG8ub3V0U2l6ZT0zODQsby5obWFjU3RyZW5ndGg9MTkyLG8ucGFkTGVuZ3RoPTEyOCxvLnByb3RvdHlwZS5fZGlnZXN0PWZ1bmN0aW9uKHQpe3JldHVybiJoZXgiPT09dD9uLnRvSGV4MzIodGhpcy5oLnNsaWNlKDAsMTIpLCJiaWciKTpuLnNwbGl0MzIodGhpcy5oLnNsaWNlKDAsMTIpLCJiaWciKX19LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49cigxNSksaT1yKDM3KSxvPW4ucm90bDMyLHM9bi5zdW0zMixhPW4uc3VtMzJfMyx1PW4uc3VtMzJfNCxjPWkuQmxvY2tIYXNoO2Z1bmN0aW9uIGYoKXtpZighKHRoaXMgaW5zdGFuY2VvZiBmKSlyZXR1cm4gbmV3IGY7Yy5jYWxsKHRoaXMpLHRoaXMuaD1bMTczMjU4NDE5Myw0MDIzMjMzNDE3LDI1NjIzODMxMDIsMjcxNzMzODc4LDMyODUzNzc1MjBdLHRoaXMuZW5kaWFuPSJsaXR0bGUifWZ1bmN0aW9uIGgodCxlLHIsbil7cmV0dXJuIHQ8PTE1P2Vecl5uOnQ8PTMxP2Umcnx+ZSZuOnQ8PTQ3PyhlfH5yKV5uOnQ8PTYzP2UmbnxyJn5uOmVeKHJ8fm4pfWZ1bmN0aW9uIGwodCl7cmV0dXJuIHQ8PTE1PzA6dDw9MzE/MTUxODUwMDI0OTp0PD00Nz8xODU5Nzc1MzkzOnQ8PTYzPzI0MDA5NTk3MDg6Mjg0MDg1MzgzOH1mdW5jdGlvbiBkKHQpe3JldHVybiB0PD0xNT8xMzUyODI5OTI2OnQ8PTMxPzE1NDg2MDM2ODQ6dDw9NDc/MTgzNjA3MjY5MTp0PD02Mz8yMDUzOTk0MjE3OjB9bi5pbmhlcml0cyhmLGMpLGUucmlwZW1kMTYwPWYsZi5ibG9ja1NpemU9NTEyLGYub3V0U2l6ZT0xNjAsZi5obWFjU3RyZW5ndGg9MTkyLGYucGFkTGVuZ3RoPTY0LGYucHJvdG90eXBlLl91cGRhdGU9ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9dGhpcy5oWzBdLG49dGhpcy5oWzFdLGk9dGhpcy5oWzJdLGM9dGhpcy5oWzNdLGY9dGhpcy5oWzRdLHk9cix2PW4sXz1pLHc9YyxNPWYsUz0wO1M8ODA7UysrKXt2YXIgRT1zKG8odShyLGgoUyxuLGksYyksdFtwW1NdK2VdLGwoUykpLGdbU10pLGYpO3I9ZixmPWMsYz1vKGksMTApLGk9bixuPUUsRT1zKG8odSh5LGgoNzktUyx2LF8sdyksdFttW1NdK2VdLGQoUykpLGJbU10pLE0pLHk9TSxNPXcsdz1vKF8sMTApLF89dix2PUV9RT1hKHRoaXMuaFsxXSxpLHcpLHRoaXMuaFsxXT1hKHRoaXMuaFsyXSxjLE0pLHRoaXMuaFsyXT1hKHRoaXMuaFszXSxmLHkpLHRoaXMuaFszXT1hKHRoaXMuaFs0XSxyLHYpLHRoaXMuaFs0XT1hKHRoaXMuaFswXSxuLF8pLHRoaXMuaFswXT1FfSxmLnByb3RvdHlwZS5fZGlnZXN0PWZ1bmN0aW9uKHQpe3JldHVybiJoZXgiPT09dD9uLnRvSGV4MzIodGhpcy5oLCJsaXR0bGUiKTpuLnNwbGl0MzIodGhpcy5oLCJsaXR0bGUiKX07dmFyIHA9WzAsMSwyLDMsNCw1LDYsNyw4LDksMTAsMTEsMTIsMTMsMTQsMTUsNyw0LDEzLDEsMTAsNiwxNSwzLDEyLDAsOSw1LDIsMTQsMTEsOCwzLDEwLDE0LDQsOSwxNSw4LDEsMiw3LDAsNiwxMywxMSw1LDEyLDEsOSwxMSwxMCwwLDgsMTIsNCwxMywzLDcsMTUsMTQsNSw2LDIsNCwwLDUsOSw3LDEyLDIsMTAsMTQsMSwzLDgsMTEsNiwxNSwxM10sbT1bNSwxNCw3LDAsOSwyLDExLDQsMTMsNiwxNSw4LDEsMTAsMywxMiw2LDExLDMsNywwLDEzLDUsMTAsMTQsMTUsOCwxMiw0LDksMSwyLDE1LDUsMSwzLDcsMTQsNiw5LDExLDgsMTIsMiwxMCwwLDQsMTMsOCw2LDQsMSwzLDExLDE1LDAsNSwxMiwyLDEzLDksNywxMCwxNCwxMiwxNSwxMCw0LDEsNSw4LDcsNiwyLDEzLDE0LDAsMyw5LDExXSxnPVsxMSwxNCwxNSwxMiw1LDgsNyw5LDExLDEzLDE0LDE1LDYsNyw5LDgsNyw2LDgsMTMsMTEsOSw3LDE1LDcsMTIsMTUsOSwxMSw3LDEzLDEyLDExLDEzLDYsNywxNCw5LDEzLDE1LDE0LDgsMTMsNiw1LDEyLDcsNSwxMSwxMiwxNCwxNSwxNCwxNSw5LDgsOSwxNCw1LDYsOCw2LDUsMTIsOSwxNSw1LDExLDYsOCwxMywxMiw1LDEyLDEzLDE0LDExLDgsNSw2XSxiPVs4LDksOSwxMSwxMywxNSwxNSw1LDcsNyw4LDExLDE0LDE0LDEyLDYsOSwxMywxNSw3LDEyLDgsOSwxMSw3LDcsMTIsNyw2LDE1LDEzLDExLDksNywxNSwxMSw4LDYsNiwxNCwxMiwxMyw1LDE0LDEzLDEzLDcsNSwxNSw1LDgsMTEsMTQsMTQsNiwxNCw2LDksMTIsOSwxMiw1LDE1LDgsOCw1LDEyLDksMTIsNSwxNCw2LDgsMTMsNiw1LDE1LDEzLDExLDExXX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDE1KSxpPXIoMjIpO2Z1bmN0aW9uIG8odCxlLHIpe2lmKCEodGhpcyBpbnN0YW5jZW9mIG8pKXJldHVybiBuZXcgbyh0LGUscik7dGhpcy5IYXNoPXQsdGhpcy5ibG9ja1NpemU9dC5ibG9ja1NpemUvOCx0aGlzLm91dFNpemU9dC5vdXRTaXplLzgsdGhpcy5pbm5lcj1udWxsLHRoaXMub3V0ZXI9bnVsbCx0aGlzLl9pbml0KG4udG9BcnJheShlLHIpKX10LmV4cG9ydHM9byxvLnByb3RvdHlwZS5faW5pdD1mdW5jdGlvbih0KXt0Lmxlbmd0aD50aGlzLmJsb2NrU2l6ZSYmKHQ9KG5ldyB0aGlzLkhhc2gpLnVwZGF0ZSh0KS5kaWdlc3QoKSksaSh0Lmxlbmd0aDw9dGhpcy5ibG9ja1NpemUpO2Zvcih2YXIgZT10Lmxlbmd0aDtlPHRoaXMuYmxvY2tTaXplO2UrKyl0LnB1c2goMCk7Zm9yKGU9MDtlPHQubGVuZ3RoO2UrKyl0W2VdXj01NDtmb3IodGhpcy5pbm5lcj0obmV3IHRoaXMuSGFzaCkudXBkYXRlKHQpLGU9MDtlPHQubGVuZ3RoO2UrKyl0W2VdXj0xMDY7dGhpcy5vdXRlcj0obmV3IHRoaXMuSGFzaCkudXBkYXRlKHQpfSxvLnByb3RvdHlwZS51cGRhdGU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5pbm5lci51cGRhdGUodCxlKSx0aGlzfSxvLnByb3RvdHlwZS5kaWdlc3Q9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMub3V0ZXIudXBkYXRlKHRoaXMuaW5uZXIuZGlnZXN0KCkpLHRoaXMub3V0ZXIuZGlnZXN0KHQpfX0sZnVuY3Rpb24odCxlKXt0LmV4cG9ydHM9e2RvdWJsZXM6e3N0ZXA6NCxwb2ludHM6W1siZTYwZmNlOTNiNTllOWVjNTMwMTFhYWJjMjFjMjNlOTdiMmEzMTM2OWI4N2E1YWU5YzQ0ZWU4OWUyYTZkZWMwYSIsImY3ZTM1MDczOTllNTk1OTI5ZGI5OWYzNGY1NzkzNzEwMTI5Njg5MWU0NGQyM2YwYmUxZjMyY2NlNjk2MTY4MjEiXSxbIjgyODIyNjMyMTJjNjA5ZDllYTJhNmUzZTE3MmRlMjM4ZDhjMzljYWJkNWFjMWNhMTA2NDZlMjNmZDVmNTE1MDgiLCIxMWY4YTgwOTg1NTdkZmU0NWU4MjU2ZTgzMGI2MGFjZTYyZDYxM2FjMmY3YjE3YmVkMzFiNmVhZmY2ZTI2Y2FmIl0sWyIxNzVlMTU5ZjcyOGI4NjVhNzJmOTljYzZjNmZjODQ2ZGUwYjkzODMzZmQyMjIyZWQ3M2ZjZTViNTUxZTViNzM5IiwiZDM1MDZlMGQ5ZTNjNzllYmE0ZWY5N2E1MWZmNzFmNWVhY2I1OTU1YWRkMjQzNDVjNmVmYTZmZmVlOWZlZDY5NSJdLFsiMzYzZDkwZDQ0N2IwMGM5Yzk5Y2VhYzA1YjYyNjJlZTA1MzQ0MWM3ZTU1NTUyZmZlNTI2YmFkOGY4M2ZmNDY0MCIsIjRlMjczYWRmYzczMjIyMTk1M2I0NDUzOTdmMzM2MzE0NWI5YTg5MDA4MTk5ZWNiNjIwMDNjN2YzYmVlOWRlOSJdLFsiOGI0YjVmMTY1ZGYzYzJiZThjNjI0NGI1Yjc0NTYzODg0M2U0YTc4MWExNWJjZDFiNjlmNzlhNTVkZmZkZjgwYyIsIjRhYWQwYTZmNjhkMzA4YjRiM2ZiZDc4MTNhYjBkYTA0ZjllMzM2NTQ2MTYyZWU1NmIzZWZmMGM2NWZkNGZkMzYiXSxbIjcyM2NiYWE2ZTVkYjk5NmQ2YmY3NzFjMDBiZDU0OGM3YjcwMGRiZmZhNmMwZTc3YmNiNjExNTkyNTIzMmZjZGEiLCI5NmU4NjdiNTU5NWNjNDk4YTkyMTEzNzQ4ODgyNGQ2ZTI2NjBhMDY1Mzc3OTQ5NDgwMWRjMDY5ZDllYjM5ZjVmIl0sWyJlZWJmYTRkNDkzYmViZjk4YmE1ZmVlYzgxMmMyZDNiNTA5NDc5NjEyMzdhOTE5ODM5YTUzM2VjYTBlN2RkN2ZhIiwiNWQ5YThjYTM5NzBlZjBmMjY5ZWU3ZWRhZjE3ODA4OWQ5YWU0Y2RjM2E3MTFmNzEyZGRmZDRmZGFlMWRlODk5OSJdLFsiMTAwZjQ0ZGE2OTZlNzE2NzI3OTFkMGEwOWI3YmRlNDU5ZjEyMTVhMjliM2MwM2JmZWZkNzgzNWIzOWE0OGRiMCIsImNkZDllMTMxOTJhMDBiNzcyZWM4ZjMzMDBjMDkwNjY2YjdmZjRhMThmZjUxOTVhYzBmYmQ1Y2Q2MmJjNjVhMDkiXSxbImUxMDMxYmUyNjJjN2VkMWIxZGM5MjI3YTRhMDRjMDE3YTc3ZjhkNDQ2NGYzYjM4NTJjOGFjZGU2ZTUzNGZkMmQiLCI5ZDcwNjE5Mjg5NDA0MDVlNmJiNmE0MTc2NTk3NTM1YWYyOTJkZDQxOWUxY2VkNzlhNDRmMThmMjk0NTZhMDBkIl0sWyJmZWVhNmNhZTQ2ZDU1YjUzMGFjMjgzOWYxNDNiZDdlYzVjZjhiMjY2YTQxZDZhZjUyZDVlNjg4ZDkwOTQ2OTZkIiwiZTU3YzZiNmM5N2RjZTFiYWIwNmU0ZTEyYmYzZWNkNWM5ODFjODk1N2NjNDE0NDJkMzE1NWRlYmYxODA5MDA4OCJdLFsiZGE2N2E5MWQ5MTA0OWNkY2IzNjdiZTRiZTZmZmNhM2NmZWVkNjU3ZDgwODU4M2RlMzNmYTk3OGJjMWVjNmNiMSIsIjliYWNhYTM1NDgxNjQyYmM0MWY0NjNmN2VjOTc4MGU1ZGVjN2FkYzUwOGY3NDBhMTdlOWVhOGUyN2E2OGJlMWQiXSxbIjUzOTA0ZmFhMGIzMzRjZGRhNmUwMDA5MzVlZjIyMTUxZWMwOGQwZjdiYjExMDY5ZjU3NTQ1Y2NjMWEzN2I3YzAiLCI1YmMwODdkMGJjODAxMDZkODhjOWVjY2FjMjBkM2MxYzEzOTk5OTgxZTE0NDM0Njk5ZGNiMDk2YjAyMjc3MWM4Il0sWyI4ZTdiY2QwYmQzNTk4M2E3NzE5Y2NhNzc2NGNhOTA2Nzc5YjUzYTA0M2E5YjhiY2FlZmY5NTlmNDNhZDg2MDQ3IiwiMTBiNzc3MGIyYTNkYTRiMzk0MDMxMDQyMGNhOTUxNDU3OWU4OGUyZTQ3ZmQ2OGIzZWExMDA0N2U4NDYwMzcyYSJdLFsiMzg1ZWVkMzRjMWNkZmYyMWU2ZDA4MTg2ODliODFiZGU3MWE3ZjRmMTgzOTdlNjY5MGE4NDFlMTU5OWM0Mzg2MiIsIjI4M2JlYmMzZThlYTIzZjU2NzAxZGUxOWU5ZWJmNDU3NmIzMDRlZWMyMDg2ZGM4Y2MwNDU4ZmU1NTQyZTU0NTMiXSxbIjZmOWQ5YjgwM2VjZjE5MTYzN2M3M2E0NDEzZGZhMTgwZmRkZjg0YTU5NDdmYmM5YzYwNmVkODZjM2ZhYzNhNyIsIjdjODBjNjhlNjAzMDU5YmE2OWI4ZTJhMzBlNDVjNGQ0N2VhNGRkMmY1YzI4MTAwMmQ4Njg5MDYwM2E4NDIxNjAiXSxbIjMzMjJkNDAxMjQzYzRlMjU4MmEyMTQ3YzEwNGQ2ZWNiZjc3NGQxNjNkYjBmNWU1MzEzYjdlMGU3NDJkMGU2YmQiLCI1NmU3MDc5N2U5NjY0ZWY1YmZiMDE5YmM0ZGRhZjliNzI4MDVmNjNlYTI4NzNhZjYyNGYzYTJlOTZjMjhiMmEwIl0sWyI4NTY3MmM3ZDJkZTBiN2RhMmJkMTc3MGQ4OTY2NTg2ODc0MWIzZjlhZjc2NDMzOTc3MjFkNzRkMjgxMzRhYjgzIiwiN2M0ODFiOWI1YjQzYjJlYjYzNzQwNDliZmE2MmMyZTVlNzdmMTdmY2M1Mjk4ZjQ0YzhlMzA5NGY3OTAzMTNhNiJdLFsiOTQ4YmY4MDliMTk4OGE0NmIwNmM5ZjE5MTk0MTNiMTBmOTIyNmM2MGY2Njg4MzJmZmQ5NTlhZjYwYzgyYTBhIiwiNTNhNTYyODU2ZGNiNjY0NmRjNmI3NGM1ZDFjMzQxOGM2ZDRkZmYwOGM5N2NkMmJlZDRjYjdmODhkOGM4ZTU4OSJdLFsiNjI2MGNlN2Y0NjE4MDFjMzRmMDY3Y2UwZjAyODczYThmMWIwZTQ0ZGZjNjk3NTJhY2NlY2Q4MTlmMzhmZDhlOCIsImJjMmRhODJiNmZhNWI1NzFhN2YwOTA0OTc3NmExZWY3ZWNkMjkyMjM4MDUxYzE5OGMxYTg0ZTk1YjJiNGFlMTciXSxbImU1MDM3ZGUwYWZjMWQ4ZDQzZDgzNDg0MTRiYmY0MTAzMDQzZWM4ZjU3NWJmZGM0MzI5NTNjYzhkMjAzN2ZhMmQiLCI0NTcxNTM0YmFhOTRkM2I1ZjlmOThkMDlmYjk5MGJkZGJkNWY1YjAzZWM0ODFmMTBlMGU1ZGM4NDFkNzU1YmRhIl0sWyJlMDYzNzJiMGY0YTIwN2FkZjVlYTkwNWU4ZjE3NzFiNGU3ZThkYmQxYzZhNmM1YjcyNTg2NmEwYWU0ZmNlNzI1IiwiN2E5MDg5NzRiY2UxOGNmZTEyYTI3YmIyYWQ1YTQ4OGNkNzQ4NGE3Nzg3MTA0ODcwYjI3MDM0Zjk0ZWVlMzFkZCJdLFsiMjEzYzdhNzE1Y2Q1ZDQ1MzU4ZDBiYmY5ZGMwY2UwMjIwNGIxMGJkZGUyYTNmNTg1NDBhZDY5MDhkMDU1OTc1NCIsIjRiNmRhZDBiNWFlNDYyNTA3MDEzYWQwNjI0NWJhMTkwYmI0ODUwZjVmMzZhN2VlZGRmZjJjMjc1MzRiNDU4ZjIiXSxbIjRlN2MyNzJhN2FmNGIzNGU4ZGJiOTM1MmE1NDE5YTg3ZTI4MzhjNzBhZGM2MmNkZGYwY2MzYTNiMDhmYmQ1M2MiLCIxNzc0OWM3NjZjOWQwYjE4ZTE2ZmQwOWY2ZGVmNjgxYjUzMGI5NjE0YmZmN2RkMzNlMGIzOTQxODE3ZGNhYWU2Il0sWyJmZWE3NGUzZGJlNzc4YjFiMTBmMjM4YWQ2MTY4NmFhNWM3NmUzZGIyYmU0MzA1NzYzMjQyN2UyODQwZmIyN2I2IiwiNmUwNTY4ZGI5YjBiMTMyOTdjZjY3NGRlY2NiNmFmOTMxMjZiNTk2Yjk3M2Y3Yjc3NzAxZDNkYjdmMjNjYjk2ZiJdLFsiNzZlNjQxMTNmNjc3Y2YwZTEwYTI1NzBkNTk5OTY4ZDMxNTQ0ZTE3OWI3NjA0MzI5NTJjMDJhNDQxN2JkZGUzOSIsImM5MGRkZjhkZWU0ZTk1Y2Y1NzcwNjZkNzA2ODFmMGQzNWUyYTMzZDJiNTZkMjAzMmI0YjE3NTJkMTkwMWFjMDEiXSxbImM3MzhjNTZiMDNiMmFiZTFlODI4MWJhYTc0M2Y4ZjlhOGY3Y2M2NDNkZjI2Y2JlZTNhYjE1MDI0MmJjYmI4OTEiLCI4OTNmYjU3ODk1MWFkMjUzN2Y3MThmMmVhY2JmYmJiYjgyMzE0ZWVmNzg4MGNmZTkxN2U3MzVkOTY5OWE4NGMzIl0sWyJkODk1NjI2NTQ4YjY1YjgxZTI2NGM3NjM3Yzk3Mjg3N2QxZDcyZTVmM2E5MjUwMTQzNzJlOWY2NTg4ZjZjMTRiIiwiZmViZmFhMzhmMmJjN2VhZTcyOGVjNjA4MThjMzQwZWIwMzQyOGQ2MzJiYjA2N2UxNzkzNjNlZDc1ZDdkOTkxZiJdLFsiYjhkYTk0MDMyYTk1NzUxOGViMGY2NDMzNTcxZTg3NjFjZWZmYzczNjkzZTg0ZWRkNDkxNTBhNTY0ZjY3NmUwMyIsIjI4MDRkZmE0NDgwNWExZTRkN2M5OWNjOTc2MjgwOGIwOTJjYzU4NGQ5NWZmM2I1MTE0ODhlNGU3NGVmZGY2ZTciXSxbImU4MGZlYTE0NDQxZmIzM2E3ZDhhZGFiOTQ3NWQ3ZmFiMjAxOWVmZmI1MTU2YTc5MmYxYTExNzc4ZTNjMGRmNWQiLCJlZWQxZGU3ZjYzOGUwMDc3MWU4OTc2OGNhM2NhOTQ0NzJkMTU1ZTgwYWYzMjJlYTlmY2I0MjkxYjZhYzllYzc4Il0sWyJhMzAxNjk3YmRmY2Q3MDQzMTNiYTQ4ZTUxZDU2NzU0M2YyYTE4MjAzMWVmZDY5MTVkZGMwN2JiY2M0ZTE2MDcwIiwiNzM3MGY5MWNmYjY3ZTRmNTA4MTgwOWZhMjVkNDBmOWIxNzM1ZGJmN2MwYTExYTEzMGMwZDFhMDQxZTE3N2VhMSJdLFsiOTBhZDg1YjM4OWQ2YjkzNjQ2M2Y5ZDA1MTI2NzhkZTIwOGNjMzMwYjExMzA3ZmZmYWI3YWM2M2UzZmIwNGVkNCIsImU1MDdhMzYyMGEzODI2MWFmZmRjYmQ5NDI3MjIyYjgzOWFlZmFiZTE1ODI4OTRkOTkxZDRkNDhjYjZlZjE1MCJdLFsiOGY2OGI5ZDJmNjNiNWYzMzkyMzljMWFkOTgxZjE2MmVlODhjNTY3ODcyM2VhMzM1MWI3YjQ0NGM5ZWM0YzBkYSIsIjY2MmE5ZjJkYmEwNjM5ODZkZTFkOTBjMmI2YmUyMTVkYmJlYTJjZmU5NTUxMGJmZGYyM2NiZjc5NTAxZmZmODIiXSxbImU0ZjNmYjAxNzZhZjg1ZDY1ZmY5OWZmOTE5OGMzNjA5MWY0OGU4NjUwMzY4MWUzZTY2ODZmZDUwNTMyMzFlMTEiLCIxZTYzNjMzYWQwZWY0ZjFjMTY2MWE2ZDBlYTAyYjcyODZjYzdlNzRlYzk1MWQxYzk4MjJjMzg1NzZmZWI3M2JjIl0sWyI4YzAwZmE5YjE4ZWJmMzMxZWI5NjE1MzdhNDVhNDI2NmM3MDM0ZjJmMGQ0ZTFkMDcxNmZiNmVhZTIwZWFlMjllIiwiZWZhNDcyNjdmZWE1MjFhMWE5ZGMzNDNhMzczNmM5NzRjMmZhZGFmYTgxZTM2YzU0ZTdkMmE0YzY2NzAyNDE0YiJdLFsiZTdhMjZjZTY5ZGQ0ODI5ZjNlMTBjZWMwYTllOThlZDMxNDNkMDg0ZjMwOGI5MmMwOTk3ZmRkZmM2MGNiM2U0MSIsIjJhNzU4ZTMwMGZhNzk4NGI0NzFiMDA2YTFhYWZiYjE4ZDBhNmIyYzA0MjBlODNlMjBlOGE5NDIxY2YyY2ZkNTEiXSxbImI2NDU5ZTBlZTM2NjJlYzhkMjM1NDBjMjIzYmNiZGM1NzFjYmNiOTY3ZDc5NDI0ZjNjZjI5ZWIzZGU2YjgwZWYiLCI2N2M4NzZkMDZmM2UwNmRlMWRhZGYxNmU1NjYxZGIzYzRiM2FlNmQ0OGUzNWIyZmYzMGJmMGI2MWE3MWJhNDUiXSxbImQ2OGE4MGM4MjgwYmI4NDA3OTMyMzRhYTExOGYwNjIzMWQ2ZjFmYzY3ZTczYzVhNWRlZGEwZjViNDk2OTQzZTgiLCJkYjhiYTlmZmY0YjU4NmQwMGM0YjFmOTE3N2IwZTI4YjViMGU3YjhmNzg0NTI5NWEyOTRjODQyNjZiMTMzMTIwIl0sWyIzMjRhZWQ3ZGY2NWM4MDQyNTJkYzAyNzA5MDdhMzBiMDk2MTJhZWI5NzM0NDljZWE0MDk1OTgwZmMyOGQzZDVkIiwiNjQ4YTM2NTc3NGI2MWYyZmYxMzBjMGMzNWFlYzFmNGYxOTIxM2IwYzdlMzMyODQzOTY3MjI0YWY5NmFiN2M4NCJdLFsiNGRmOWMxNDkxOWNkZTYxZjZkNTFkZmRiZTVmZWU1ZGNlZWM0MTQzYmE4ZDFjYTg4OGU4YmQzNzNmZDA1NGM5NiIsIjM1ZWM1MTA5MmQ4NzI4MDUwOTc0YzIzYTFkODVkNGI1ZDUwNmNkYzI4ODQ5MDE5MmViYWMwNmNhZDEwZDVkIl0sWyI5YzM5MTlhODRhNDc0ODcwZmFlZDhhOWMxY2M2NjAyMTUyMzQ4OTA1NGQ3ZjAzMDhjYmZjOTljOGFjMWY5OGNkIiwiZGRiODRmMGY0YTRkZGQ1NzU4NGYwNDRiZjI2MGU2NDE5MDUzMjZmNzZjNjRjOGU2YmU3ZTVlMDNkNGZjNTk5ZCJdLFsiNjA1NzE3MGIxZGQxMmZkZjhkZTA1ZjI4MWQ4ZTA2YmI5MWUxNDkzYThiOTFkNGNjNWEyMTM4MjEyMGE5NTllNSIsIjlhMWFmMGIyNmE2YTQ4MDdhZGQ5YTJkYWY3MWRmMjYyNDY1MTUyYmMzZWUyNGM2NWU4OTliZTkzMjM4NWEyYTgiXSxbImE1NzZkZjhlMjNhMDg0MTE0MjE0MzlhNDUxOGRhMzE4ODBjZWYwZmJhN2Q0ZGYxMmIxYTY5NzNlZWNiOTQyNjYiLCI0MGE2YmYyMGU3NjY0MGIyYzkyYjk3YWZlNThjZDgyYzQzMmUxMGE3ZjUxNGQ5ZjNlZThiZTExYWUxYjI4ZWM4Il0sWyI3Nzc4YTc4YzI4ZGVjM2UzMGEwNWZlOTYyOWRlOGMzOGJiMzBkMWY1Y2Y5YTNhMjA4Zjc2Mzg4OWJlNThhZDcxIiwiMzQ2MjZkOWFiNWE1YjIyZmY3MDk4ZTEyZjJmZjU4MDA4N2IzODQxMWZmMjRhYzU2M2I1MTNmYzFmZDlmNDNhYyJdLFsiOTI4OTU1ZWU2MzdhODQ0NjM3MjlmZDMwZTdhZmQyZWQ1Zjk2Mjc0ZTVhZDdlNWNiMDllZGE5YzA2ZDkwM2FjIiwiYzI1NjIxMDAzZDNmNDJhODI3Yjc4YTEzMDkzYTk1ZWVhYzNkMjZlZmE4YThkODNmYzUxODBlOTM1YmNkMDkxZiJdLFsiODVkMGZlZjNlYzZkYjEwOTM5OTA2NGYzYTBlM2IyODU1NjQ1YjRhOTA3YWQzNTQ1MjdhYWU3NTE2M2Q4Mjc1MSIsIjFmMDM2NDg0MTNhMzhjMGJlMjlkNDk2ZTU4MmNmNTY2M2U4NzUxZTk2ODc3MzMxNTgyYzIzN2EyNGViMWY5NjIiXSxbImZmMmIwZGNlOTdlZWNlOTdjMWM5YjYwNDE3OThiODVkZmRmYjZkODg4MmRhMjAzMDhmNTQwNDgyNDUyNjA4N2UiLCI0OTNkMTNmZWY1MjRiYTE4OGFmNGM0ZGM1NGQwNzkzNmM3YjdlZDZmYjkwZTJjZWIyYzk1MWUwMWYwYzI5OTA3Il0sWyI4MjdmYmJlNGIxZTg4MGVhOWVkMmIyZTYzMDFiMjEyYjU3ZjFlZTE0OGNkNmRkMjg3ODBlNWUyY2Y4NTZlMjQxIiwiYzYwZjljOTIzYzcyN2IwYjcxYmVmMmM2N2QxZDEyNjg3ZmY3YTYzMTg2OTAzMTY2ZDYwNWI2OGJhZWMyOTNlYyJdLFsiZWFhNjQ5ZjIxZjUxYmRiYWU3YmU0YWUzNGNlNmU1MjE3YTU4ZmRjZTdmNDdmOWFhN2YzYjU4ZmEyMTIwZTJiMyIsImJlMzI3OWVkNWJiYmIwM2FjNjlhODBmODk4NzlhYTVhMDFhNmI5NjVmMTNmN2U1OWQ0N2E1MzA1YmE1YWQ5M2QiXSxbImU0YTQyZDQzYzVjZjE2OWQ5MzkxZGY2ZGVjZjQyZWU1NDFiNmQ4ZjBjOWExMzc0MDFlMjM2MzJkZGEzNGQyNGYiLCI0ZDlmOTJlNzE2ZDFjNzM1MjZmYzk5Y2NmYjhhZDM0Y2U4ODZlZWRmYThkOGU0ZjEzYTdmNzEzMWRlYmE5NDE0Il0sWyIxZWM4MGZlZjM2MGNiZGQ5NTQxNjBmYWRhYjM1MmI2YjkyYjUzNTc2YTg4ZmVhNDk0NzE3M2I5ZDQzMDBiZjE5IiwiYWVlZmU5Mzc1NmI1MzQwZDJmM2E0OTU4YTdhYmJmNWUwMTQ2ZTc3ZjYyOTVhMDdiNjcxY2RjMWNjMTA3Y2VmZCJdLFsiMTQ2YTc3OGMwNDY3MGMyZjkxYjAwYWY0NjgwZGZhOGJjZTM0OTA3MTdkNThiYTg4OWRkYjU5MjgzNjY2NDJiZSIsImIzMThlMGVjMzM1NDAyOGFkZDY2OTgyN2Y5ZDRiMjg3MGFhYTk3MWQyZjdlNWVkMWQwYjI5NzQ4M2Q4M2VmZDAiXSxbImZhNTBjMGY2MWQyMmU1ZjA3ZTNhY2ViYjFhYTA3YjEyOGQwMDEyMjA5YTI4Yjk3NzZkNzZhODc5MzE4MGVlZjkiLCI2Yjg0YzY5MjIzOTdlYmE5YjcyY2QyODcyMjgxYTY4YTVlNjgzMjkzYTU3YTIxM2IzOGNkOGQ3ZDNmNGYyODExIl0sWyJkYTFkNjFkMGNhNzIxYTExYjFhNWJmNmI3ZDg4ZTg0MjFhMjg4YWI1ZDViYmE1MjIwZTUzZDMyYjVmMDY3ZWMyIiwiODE1N2Y1NWE3Yzk5MzA2Yzc5YzA3NjYxNjFjOTFlMjk2NmE3Mzg5OWQyNzliNDhhNjU1ZmJhMGYxYWQ4MzZmMSJdLFsiYThlMjgyZmYwYzk3MDY5MDcyMTVmZjk4ZThmZDQxNjYxNTMxMWRlMDQ0NmYxZTA2MmE3M2IwNjEwZDA2NGUxMyIsIjdmOTczNTViOGRiODFjMDlhYmZiN2YzYzViMjUxNTg4OGI2NzlhM2U1MGRkNmJkNmNlZjdjNzMxMTFmNGNjMGMiXSxbIjE3NGE1M2I5YzlhMjg1ODcyZDM5ZTU2ZTY5MTNjYWIxNWQ1OWIxZmE1MTI1MDhjMDIyZjM4MmRlODMxOTQ5N2MiLCJjY2M5ZGMzN2FiZmM5YzE2NTdiNDE1NWYyYzQ3ZjllNjY0NmIzYTFkOGNiOTg1NDM4M2RhMTNhYzA3OWFmYTczIl0sWyI5NTkzOTY5ODE5NDM3ODVjM2QzZTU3ZWRmNTAxOGNkYmUwMzllNzMwZTQ5MThiM2Q4ODRmZGZmMDk0NzViN2JhIiwiMmU3ZTU1Mjg4OGMzMzFkZDhiYTAzODZhNGI5Y2Q2ODQ5YzY1M2Y2NGM4NzA5Mzg1ZTliOGFiZjg3NTI0ZjJmZCJdLFsiZDJhNjNhNTBhZTQwMWU1NmQ2NDVhMTE1M2IxMDlhOGZjY2EwYTQzZDU2MWZiYTJkYmI1MTM0MGM5ZDgyYjE1MSIsImU4MmQ4NmZiNjQ0M2ZjYjc1NjVhZWU1OGIyOTQ4MjIwYTcwZjc1MGFmNDg0Y2E1MmQ0MTQyMTc0ZGNmODk0MDUiXSxbIjY0NTg3ZTIzMzU0NzFlYjg5MGVlNzg5NmQ3Y2ZkYzg2NmJhY2JkYmQzODM5MzE3YjM0MzZmOWI0NTYxN2UwNzMiLCJkOTlmY2RkNWJmNjkwMmUyYWU5NmRkNjQ0N2MyOTlhMTg1YjkwYTM5MTMzYWVhYjM1ODI5OWU1ZTlmYWY2NTg5Il0sWyI4NDgxYmRlMGU0ZTRkODg1YjNhNTQ2ZDNlNTQ5ZGUwNDJmMGFhNmNlYTI1MGU3ZmQzNThkNmM4NmRkNDVlNDU4IiwiMzhlZTdiOGNiYTU0MDRkZDg0YTI1YmYzOWNlY2IyY2E5MDBhNzljNDJiMjYyZTU1NmQ2NGIxYjU5Nzc5MDU3ZSJdLFsiMTM0NjRhNTdhNzgxMDJhYTYyYjY5NzlhZTgxN2Y0NjM3ZmZjZmVkM2M0YjFjZTMwYmNkNjMwM2Y2Y2FmNjY2YiIsIjY5YmUxNTkwMDQ2MTQ1ODBlZjdlNDMzNDUzY2NiMGNhNDhmMzAwYTgxZDA5NDJlMTNmNDk1YTkwN2Y2ZWNjMjciXSxbImJjNGE5ZGY1YjcxM2ZlMmU5YWVmNDMwYmNjMWRjOTdhMGNkOWNjZWRlMmYyODU4OGNhZGEzYTBkMmQ4M2YzNjYiLCJkM2E4MWNhNmU3ODVjMDYzODM5MzdhZGY0Yjc5OGNhYTZlOGE5ZmJmYTU0N2IxNmQ3NThkNjY2NTgxZjMzYzEiXSxbIjhjMjhhOTdiZjgyOThiYzBkMjNkOGM3NDk0NTJhMzJlNjk0YjY1ZTMwYTk0NzJhMzk1NGFiMzBmZTUzMjRjYWEiLCI0MGEzMDQ2M2EzMzA1MTkzMzc4ZmVkZjMxZjdjYzBlYjdhZTc4NGYwNDUxY2I5NDU5ZTcxZGM3M2NiZWY5NDgyIl0sWyI4ZWE5NjY2MTM5NTI3YThjMWRkOTRjZTRmMDcxZmQyM2M4YjM1MGM1YTRiYjMzNzQ4YzRiYTExMWZhY2NhZTAiLCI2MjBlZmFiYmM4ZWUyNzgyZTI0ZTdjMGNmYjk1YzVkNzM1Yjc4M2JlOWNmMGY4ZTk1NWFmMzRhMzBlNjJiOTQ1Il0sWyJkZDM2MjVmYWVmNWJhMDYwNzQ2Njk3MTZiYmQzNzg4ZDg5YmRkZTgxNTk1OTk2ODA5MmY3NmNjNGViOWE5Nzg3IiwiN2ExODhmYTM1MjBlMzBkNDYxZGEyNTAxMDQ1NzMxY2E5NDE0NjE5ODI4ODMzOTU5MzdmNjhkMDBjNjQ0YTU3MyJdLFsiZjcxMGQ3OWQ5ZWI5NjIyOTdlNGY2MjMyYjQwZThmN2ZlYjJiYzYzODE0NjE0ZDY5MmMxMmRlNzUyNDA4MjIxZSIsImVhOThlNjcyMzJkM2IzMjk1ZDNiNTM1NTMyMTE1Y2NhYzg2MTJjNzIxODUxNjE3NTI2YWU0N2E5Yzc3YmZjODIiXV19LG5hZjp7d25kOjcscG9pbnRzOltbImY5MzA4YTAxOTI1OGMzMTA0OTM0NGY4NWY4OWQ1MjI5YjUzMWM4NDU4MzZmOTliMDg2MDFmMTEzYmNlMDM2ZjkiLCIzODhmN2IwZjYzMmRlODE0MGZlMzM3ZTYyYTM3ZjM1NjY1MDBhOTk5MzRjMjIzMWI2Y2I5ZmQ3NTg0YjhlNjcyIl0sWyIyZjhiZGU0ZDFhMDcyMDkzNTViNGE3MjUwYTVjNTEyOGU4OGI4NGJkZGM2MTlhYjdjYmE4ZDU2OWIyNDBlZmU0IiwiZDhhYzIyMjYzNmU1ZTNkNmQ0ZGJhOWRkYTZjOWM0MjZmNzg4MjcxYmFiMGQ2ODQwZGNhODdkM2FhNmFjNjJkNiJdLFsiNWNiZGYwNjQ2ZTVkYjRlYWEzOThmMzY1ZjJlYTdhMGUzZDQxOWI3ZTAzMzBlMzljZTkyYmRkZWRjYWM0ZjliYyIsIjZhZWJjYTQwYmEyNTU5NjBhMzE3OGQ2ZDg2MWE1NGRiYTgxM2QwYjgxM2ZkZTdiNWE1MDgyNjI4MDg3MjY0ZGEiXSxbImFjZDQ4NGUyZjBjN2Y2NTMwOWFkMTc4YTlmNTU5YWJkZTA5Nzk2OTc0YzU3ZTcxNGMzNWYxMTBkZmMyN2NjYmUiLCJjYzMzODkyMWIwYTdkOWZkNjQzODA5NzE3NjNiNjFlOWFkZDg4OGE0Mzc1ZjhlMGYwNWNjMjYyYWM2NGY5YzM3Il0sWyI3NzRhZTdmODU4YTk0MTFlNWVmNDI0NmI3MGM2NWFhYzU2NDk5ODBiZTVjMTc4OTFiYmVjMTc4OTVkYTAwOGNiIiwiZDk4NGEwMzJlYjZiNWUxOTAyNDNkZDU2ZDdiN2IzNjUzNzJkYjFlMmRmZjlkNmE4MzAxZDc0YzljOTUzYzYxYiJdLFsiZjI4NzczYzJkOTc1Mjg4YmM3ZDFkMjA1YzM3NDg2NTFiMDc1ZmJjNjYxMGU1OGNkZGVlZGRmOGYxOTQwNWFhOCIsImFiMDkwMmU4ZDg4MGE4OTc1ODIxMmViNjVjZGFmNDczYTFhMDZkYTUyMWZhOTFmMjliNWNiNTJkYjAzZWQ4MSJdLFsiZDc5MjRkNGY3ZDQzZWE5NjVhNDY1YWUzMDk1ZmY0MTEzMWU1OTQ2ZjNjODVmNzllNDRhZGJjZjhlMjdlMDgwZSIsIjU4MWUyODcyYTg2YzcyYTY4Mzg0MmVjMjI4Y2M2ZGVmZWE0MGFmMmJkODk2ZDNhNWM1MDRkYzlmZjZhMjZiNTgiXSxbImRlZmRlYTRjZGI2Nzc3NTBhNDIwZmVlODA3ZWFjZjIxZWI5ODk4YWU3OWI5NzY4NzY2ZTRmYWEwNGEyZDRhMzQiLCI0MjExYWIwNjk0NjM1MTY4ZTk5N2IwZWFkMmE5M2RhZWNlZDFmNGEwNGE5NWMwZjZjZmIxOTlmNjllNTZlYjc3Il0sWyIyYjRlYTBhNzk3YTQ0M2QyOTNlZjVjZmY0NDRmNDk3OWYwNmFjZmViZDdlODZkMjc3NDc1NjU2MTM4Mzg1YjZjIiwiODVlODliYzAzNzk0NWQ5M2IzNDMwODNiNWExYzg2MTMxYTAxZjYwYzUwMjY5NzYzYjU3MGM4NTRlNWMwOWI3YSJdLFsiMzUyYmJmNGE0Y2RkMTI1NjRmOTNmYTMzMmNlMzMzMzAxZDlhZDQwMjcxZjgxMDcxODEzNDBhZWYyNWJlNTlkNSIsIjMyMWViNDA3NTM0OGY1MzRkNTljMTgyNTlkZGEzZTFmNGExYjNiMmU3MWIxMDM5YzY3YmQzZDhiY2Y4MTk5OGMiXSxbIjJmYTIxMDRkNmIzOGQxMWIwMjMwMDEwNTU5ODc5MTI0ZTQyYWI4ZGZlZmY1ZmYyOWRjOWNkYWRkNGVjYWNjM2YiLCIyZGUxMDY4Mjk1ZGQ4NjViNjQ1NjkzMzViZDVkZDgwMTgxZDcwZWNmYzg4MjY0ODQyM2JhNzZiNTMyYjdkNjciXSxbIjkyNDgyNzliMDliNGQ2OGRhYjIxYTliMDY2ZWRkYTgzMjYzYzNkODRlMDk1NzJlMjY5Y2EwY2Q3ZjU0NTM3MTQiLCI3MzAxNmY3YmYyMzRhYWRlNWQxYWE3MWJkZWEyYjFmZjNmYzBkZTJhODg3OTEyZmZlNTRhMzJjZTk3Y2IzNDAyIl0sWyJkYWVkNGYyYmUzYThiZjI3OGU3MDEzMmZiMGJlYjc1MjJmNTcwZTE0NGJmNjE1YzA3ZTk5NmQ0NDNkZWU4NzI5IiwiYTY5ZGNlNGE3ZDZjOThlOGQ0YTFhY2E4N2VmOGQ3MDAzZjgzYzIzMGYzYWZhNzI2YWI0MGU1MjI5MGJlMWM1NSJdLFsiYzQ0ZDEyYzcwNjVkODEyZThhY2YyOGQ3Y2JiMTlmOTAxMWVjZDllOWZkZjI4MWIwZTZhM2I1ZTg3ZDIyZTdkYiIsIjIxMTlhNDYwY2UzMjZjZGM3NmM0NTkyNmM5ODJmZGFjMGUxMDZlODYxZWRmNjFjNWEwMzkwNjNmMGUwZTY0ODIiXSxbIjZhMjQ1YmY2ZGM2OTg1MDRjODlhMjBjZmRlZDYwODUzMTUyYjY5NTMzNmMyODA2M2I2MWM2NWNiZDI2OWU2YjQiLCJlMDIyY2Y0MmMyYmQ0YTcwOGIzZjUxMjZmMTZhMjRhZDhiMzNiYTQ4ZDA0MjNiNmVmZDVlNjM0ODEwMGQ4YTgyIl0sWyIxNjk3ZmZhNmZkOWRlNjI3YzA3N2UzZDJmZTU0MTA4NGNlMTMzMDBiMGJlYzExNDZmOTVhZTU3ZjBkMGJkNmE1IiwiYjljMzk4ZjE4NjgwNmY1ZDI3NTYxNTA2ZTQ1NTc0MzNhMmNmMTUwMDllNDk4YWU3YWRlZTlkNjNkMDFiMjM5NiJdLFsiNjA1YmRiMDE5OTgxNzE4Yjk4NmQwZjA3ZTgzNGNiMGQ5ZGViODM2MGZmYjdmNjFkZjk4MjM0NWVmMjdhNzQ3OSIsIjI5NzJkMmRlNGY4ZDIwNjgxYTc4ZDkzZWM5NmZlMjNjMjZiZmFlODRmYjE0ZGI0M2IwMWUxZTkwNTZiOGM0OSJdLFsiNjJkMTRkYWI0MTUwYmY0OTc0MDJmZGM0NWEyMTVlMTBkY2IwMWMzNTQ5NTliMTBjZmUzMWM3ZTlkODdmZjMzZCIsIjgwZmMwNmJkOGNjNWIwMTA5ODA4OGExOTUwZWVkMGRiMDFhYTEzMjk2N2FiNDcyMjM1ZjU2NDI0ODNiMjVlYWYiXSxbIjgwYzYwYWQwMDQwZjI3ZGFkZTViNGIwNmM0MDhlNTZiMmM1MGU5ZjU2YjliOGI0MjVlNTU1YzJmODYzMDhiNmYiLCIxYzM4MzAzZjFjYzVjMzBmMjZlNjZiYWQ3ZmU3MmY3MGE2NWVlZDRjYmU3MDI0ZWIxYWEwMWY1NjQzMGJkNTdhIl0sWyI3YTkzNzVhZDYxNjdhZDU0YWE3NGM2MzQ4Y2M1NGQzNDRjYzVkYzk0ODdkODQ3MDQ5ZDVlYWJiMGZhMDNjOGZiIiwiZDBlM2ZhOWVjYTg3MjY5MDk1NTllMGQ3OTI2OTA0NmJkYzU5ZWExMGM3MGNlMmIwMmQ0OTllYzIyNGRjN2Y3Il0sWyJkNTI4ZWNkOWI2OTZiNTRjOTA3YTllZDA0NTQ0N2E3OWJiNDA4ZWMzOWI2OGRmNTA0YmI1MWY0NTliYzNmZmM5IiwiZWVjZjQxMjUzMTM2ZTVmOTk5NjZmMjE4ODFmZDY1NmViYzQzNDU0MDVjNTIwZGJjMDYzNDY1YjUyMTQwOTkzMyJdLFsiNDkzNzBhNGI1ZjQzNDEyZWEyNWY1MTRlOGVjZGFkMDUyNjYxMTVlNGE3ZWNiMTM4NzIzMTgwOGY4YjQ1OTYzIiwiNzU4ZjNmNDFhZmQ2ZWQ0MjhiMzA4MWIwNTEyZmQ2MmE1NGMzZjNhZmJiNWI2NzY0YjY1MzA1MmExMjk0OWM5YSJdLFsiNzdmMjMwOTM2ZWU4OGNiYmQ3M2RmOTMwZDY0NzAyZWY4ODFkODExZTBlMTQ5OGUyZjFjMTNlYjFmYzM0NWQ3NCIsIjk1OGVmNDJhNzg4NmI2NDAwYTA4MjY2ZTliYTFiMzc4OTZjOTUzMzBkOTcwNzdjYmJlOGViM2M3NjcxYzYwZDYiXSxbImYyZGFjOTkxY2M0Y2U0YjllYTQ0ODg3ZTVjN2MwYmNlNThjODAwNzRhYjlkNGRiYWViMjg1MzFiNzczOWY1MzAiLCJlMGRlZGM5YjNiMmY4ZGFkNGRhMWYzMmRlYzI1MzFkZjllYjVmYmViMDU5OGU0ZmQxYTExN2RiYTcwM2EzYzM3Il0sWyI0NjNiM2Q5ZjY2MjYyMWZiMWI0YmU4ZmJiZTI1MjAxMjVhMjE2Y2RmYzlkYWUzZGViY2JhNDg1MGM2OTBkNDViIiwiNWVkNDMwZDc4YzI5NmMzNTQzMTE0MzA2ZGQ4NjIyZDdjNjIyZTI3Yzk3MGExZGUzMWNiMzc3YjAxYWY3MzA3ZSJdLFsiZjE2ZjgwNDI0NGU0NmUyYTA5MjMyZDRhZmYzYjU5OTc2Yjk4ZmFjMTQzMjhhMmQxYTMyNDk2YjQ5OTk4ZjI0NyIsImNlZGFiZDliODIyMDNmN2UxM2QyMDZmY2RmNGUzM2Q5MmE2YzUzYzI2ZTVjY2UyNmQ2NTc5OTYyYzRlMzFkZjYiXSxbImNhZjc1NDI3MmRjODQ1NjNiMDM1MmI3YTE0MzExYWY1NWQyNDUzMTVhY2UyN2M2NTM2OWUxNWY3MTUxZDQxZDEiLCJjYjQ3NDY2MGVmMzVmNWYyYTQxYjY0M2ZhNWU0NjA1NzVmNGZhOWI3OTYyMjMyYTVjMzJmOTA4MzE4YTA0NDc2Il0sWyIyNjAwY2E0YjI4MmNiOTg2Zjg1ZDBmMTcwOTk3OWQ4YjQ0YTA5YzA3Y2I4NmQ3YzEyNDQ5N2JjODZmMDgyMTIwIiwiNDExOWI4ODc1M2MxNWJkNmE2OTNiMDNmY2RkYmI0NWQ1YWM2YmU3NGFiNWYwZWY0NGIwYmU5NDc1YTdlNGI0MCJdLFsiNzYzNWNhNzJkN2U4NDMyYzMzOGVjNTNjZDEyMjIwYmMwMWM0ODY4NWUyNGY3ZGM4YzYwMmE3NzQ2OTk4ZTQzNSIsIjkxYjY0OTYwOTQ4OWQ2MTNkMWQ1ZTU5MGY3OGU2ZDc0ZWNmYzA2MWQ1NzA0OGJhZDllNzZmMzAyYzViOWM2MSJdLFsiNzU0ZTMyMzlmMzI1NTcwY2RiYmY0YTg3ZGVlZThhNjZiN2YyYjMzNDc5ZDQ2OGZiYzFhNTA3NDNiZjU2Y2MxOCIsIjY3M2ZiODZlNWJkYTMwZmIzY2QwZWQzMDRlYTQ5YTAyM2VlMzNkMDE5N2E2OTVkMGM1ZDk4MDkzYzUzNjY4MyJdLFsiZTNlNmJkMTA3MWExZTk2YWZmNTc4NTljODJkNTcwZjAzMzA4MDA2NjFkMWM5NTJmOWZlMjY5NDY5MWQ5YjllOCIsIjU5YzllMGJiYTM5NGU3NmY0MGMwYWE1ODM3OWEzY2I2YTVhMjI4Mzk5M2U5MGM0MTY3MDAyYWY0OTIwZTM3ZjUiXSxbIjE4NmI0ODNkMDU2YTAzMzgyNmFlNzNkODhmNzMyOTg1YzRjY2IxZjMyYmEzNWY0YjRjYzQ3ZmRjZjA0YWE2ZWIiLCIzYjk1MmQzMmM2N2NmNzdlMmUxNzQ0NmUyMDQxODBhYjIxZmI4MDkwODk1MTM4YjRhNGE3OTdmODZlODA4ODhiIl0sWyJkZjlkNzBhNmI5ODc2Y2U1NDRjOTg1NjFmNGJlNGY3MjU0NDJlNmQyYjczN2Q5YzkxYTgzMjE3MjRjZTA5NjNmIiwiNTVlYjJkYWZkODRkNmNjZDVmODYyYjc4NWRjMzlkNGFiMTU3MjIyNzIwZWY5ZGEyMTdiOGM0NWNmMmJhMjQxNyJdLFsiNWVkZDVjYzIzYzUxZTg3YTQ5N2NhODE1ZDVkY2UwZjhhYjUyNTU0Zjg0OWVkODk5NWRlNjRjNWYzNGNlNzE0MyIsImVmYWU5YzhkYmMxNDEzMDY2MWU4Y2VjMDMwYzg5YWQwYzEzYzY2YzBkMTdhMjkwNWNkYzcwNmFiNzM5OWE4NjgiXSxbIjI5MDc5OGMyYjY0NzY4MzBkYTEyZmUwMjI4N2U5ZTc3N2FhM2ZiYTFjMzU1YjE3YTcyMmQzNjJmODQ2MTRmYmEiLCJlMzhkYTc2ZGNkNDQwNjIxOTg4ZDAwYmNmNzlhZjI1ZDViMjljMDk0ZGIyYTIzMTQ2ZDAwM2FmZDQxOTQzZTdhIl0sWyJhZjNjNDIzYTk1ZDlmNWIzMDU0NzU0ZWZhMTUwYWMzOWNkMjk1NTJmZTM2MDI1NzM2MmRmZGVjZWY0MDUzYjQ1IiwiZjk4YTNmZDgzMWViMmI3NDlhOTNiMGU2ZjM1Y2ZiNDBjOGNkNWFhNjY3YTE1NTgxYmMyZmVkZWQ0OThmZDljNiJdLFsiNzY2ZGJiMjRkMTM0ZTc0NWNjY2FhMjhjOTliZjI3NDkwNmJiNjZiMjZkY2Y5OGRmOGQyZmVkNTBkODg0MjQ5YSIsIjc0NGIxMTUyZWFjYmU1ZTM4ZGNjODg3OTgwZGEzOGI4OTc1ODRhNjVmYTA2Y2VkZDJjOTI0Zjk3Y2JhYzU5OTYiXSxbIjU5ZGJmNDZmOGM5NDc1OWJhMjEyNzdjMzM3ODRmNDE2NDVmN2I0NGY2YzU5NmE1OGNlOTJlNjY2MTkxYWJlM2UiLCJjNTM0YWQ0NDE3NWZiYzMwMGY0ZWE2Y2U2NDgzMDlhMDQyY2U3MzlhNzkxOTc5OGNkODVlMjE2YzRhMzA3ZjZlIl0sWyJmMTNhZGE5NTEwM2M0NTM3MzA1ZTY5MWU3NGU5YTRhOGRkNjQ3ZTcxMWE5NWU3M2NiNjJkYzYwMThjZmQ4N2I4IiwiZTEzODE3YjQ0ZWUxNGRlNjYzYmY0YmM4MDgzNDFmMzI2OTQ5ZTIxYTZhNzVjMjU3MDc3ODQxOWJkYWY1NzMzZCJdLFsiNzc1NGI0ZmEwZThhY2VkMDZkNDE2N2EyYzU5Y2NhNGNkYTE4NjljMDZlYmFkZmI2NDg4NTUwMDE1YTg4NTIyYyIsIjMwZTkzZTg2NGU2NjlkODIyMjRiOTY3YzMwMjBiOGZhOGQxZTRlMzUwYjZjYmNjNTM3YTQ4YjU3ODQxMTYzYTIiXSxbIjk0OGRjYWRmNTk5MGUwNDhhYTM4NzRkNDZhYmVmOWQ3MDE4NThmOTVkZTgwNDFkMmE2ODI4Yzk5ZTIyNjI1MTkiLCJlNDkxYTQyNTM3ZjZlNTk3ZDVkMjhhMzIyNGIxYmMyNWRmOTE1NGVmYmQyZWYxZDJjYmJhMmNhZTUzNDdkNTdlIl0sWyI3OTYyNDE0NDUwYzc2YzE2ODljN2I0OGY4MjAyZWMzN2ZiMjI0Y2Y1YWMwYmZhMTU3MDMyOGE4YTNkN2M3N2FiIiwiMTAwYjYxMGVjNGZmYjQ3NjBkNWMxZmMxMzNlZjZmNmIxMjUwN2EwNTFmMDRhYzU3NjBhZmE1YjI5ZGI4MzQzNyJdLFsiMzUxNDA4NzgzNDk2NGI1NGIxNWIxNjA2NDRkOTE1NDg1YTE2OTc3MjI1Yjg4NDdiYjBkZDA4NTEzN2VjNDdjYSIsImVmMGFmYmIyMDU2MjA1NDQ4ZTE2NTJjNDhlODEyN2ZjNjAzOWU3N2MxNWMyMzc4YjdlN2QxNWEwZGUyOTMzMTEiXSxbImQzY2MzMGFkNmI0ODNlNGJjNzljZTJjOWRkOGJjNTQ5OTNlOTQ3ZWI4ZGY3ODdiNDQyOTQzZDNmN2I1MjdlYWYiLCI4YjM3OGEyMmQ4MjcyNzhkODljNWU5YmU4Zjk1MDhhZTNjMmFkNDYyOTAzNTg2MzBhZmIzNGRiMDRlZWRlMGE0Il0sWyIxNjI0ZDg0NzgwNzMyODYwY2UxYzc4ZmNiZmVmZTA4YjJiMjk4MjNkYjkxM2Y2NDkzOTc1YmEwZmY0ODQ3NjEwIiwiNjg2NTFjZjliNmRhOTAzZTA5MTQ0NDhjNmNkOWQ0Y2E4OTY4NzhmNTI4MmJlNGM4Y2MwNmUyYTQwNDA3ODU3NSJdLFsiNzMzY2U4MGRhOTU1YThhMjY5MDJjOTU2MzNlNjJhOTg1MTkyNDc0YjVhZjIwN2RhNmRmN2I0ZmQ1ZmM2MWNkNCIsImY1NDM1YTJiZDJiYWRmN2Q0ODVhNGQ4YjhkYjlmY2NlM2UxZWY4ZTAyMDFlNDU3OGM1NDY3M2JjMWRjNWVhMWQiXSxbIjE1ZDk0NDEyNTQ5NDUwNjRjZjFhMWMzM2JiZDNiNDlmODk2NmM1MDkyMTcxZTY5OWVmMjU4ZGZhYjgxYzA0NWMiLCJkNTZlYjMwYjY5NDYzZTcyMzRmNTEzN2I3M2I4NDE3NzQzNDgwMGJhY2ViZmM2ODVmYzM3YmJlOWVmZTQwNzBkIl0sWyJhMWQwZmNmMmVjOWRlNjc1YjYxMjEzNmU1Y2U3MGQyNzFjMjE0MTdjOWQyYjhhYWFhYzEzODU5OWQwNzE3OTQwIiwiZWRkNzdmNTBiY2I1YTNjYWIyZTkwNzM3MzA5NjY3ZjI2NDE0NjJhNTQwNzBmM2Q1MTkyMTJkMzljMTk3YTYyOSJdLFsiZTIyZmJlMTVjMGFmOGNjYzU3ODBjMDczNWY4NGRiZTlhNzkwYmFkZWU4MjQ1YzA2YzdjYTM3MzMxY2IzNjk4MCIsImE4NTViYWJhZDVjZDYwYzg4YjQzMGE2OWY1M2ExYTdhMzgyODkxNTQ5NjQ3OTliZTQzZDA2ZDc3ZDMxZGEwNiJdLFsiMzExMDkxZGQ5ODYwZThlMjBlZTEzNDczYzExNTVmNWY2OTYzNWUzOTQ3MDRlYWE3NDAwOTQ1MjI0NmNmYTliMyIsIjY2ZGI2NTZmODdkMWYwNGZmZmQxZjA0Nzg4YzA2ODMwODcxZWM1YTY0ZmVlZTY4NWJkODBmMGIxMjg2ZDgzNzQiXSxbIjM0YzFmZDA0ZDMwMWJlODliMzFjMDQ0MmQzZTZhYzI0ODgzOTI4YjQ1YTkzNDA3ODE4NjdkNDIzMmVjMmRiZGYiLCI5NDE0Njg1ZTk3YjFiNTk1NGJkNDZmNzMwMTc0MTM2ZDU3ZjFjZWViNDg3NDQzZGM1MzIxODU3YmE3M2FiZWUiXSxbImYyMTllYTVkNmI1NDcwMWMxYzE0ZGU1YjU1N2ViNDJhOGQxM2YzYWJiY2QwOGFmZmNjMmE1ZTZiMDQ5YjhkNjMiLCI0Y2I5NTk1N2U4M2Q0MGIwZjczYWY0NTQ0Y2NjZjZiMWY0YjA4ZDNjMDdiMjdmYjhkOGMyOTYyYTQwMDc2NmQxIl0sWyJkN2I4NzQwZjc0YThmYmFhYjFmNjgzZGI4ZjQ1ZGUyNjU0M2E1NDkwYmNhNjI3MDg3MjM2OTEyNDY5YTBiNDQ4IiwiZmE3Nzk2ODEyOGQ5YzkyZWUxMDEwZjMzN2FkNDcxN2VmZjE1ZGI1ZWQzYzA0OWIzNDExZTAzMTVlYWE0NTkzYiJdLFsiMzJkMzFjMjIyZjhmNmYwZWY4NmY3Yzk4ZDNhMzMzNWVhZDViY2QzMmFiZGQ5NDI4OWZlNGQzMDkxYWE4MjRiZiIsIjVmMzAzMmY1ODkyMTU2ZTM5Y2NkM2Q3OTE1YjllMWRhMmU2ZGFjOWU2ZjI2ZTk2MTExOGQxNGI4NDYyZTE2NjEiXSxbIjc0NjFmMzcxOTE0YWIzMjY3MTA0NWExNTVkOTgzMWVhODc5M2Q3N2NkNTk1OTJjNDM0MGY4NmNiYzE4MzQ3YjUiLCI4ZWMwYmEyMzhiOTZiZWMwY2JkZGRjYWUwYWE0NDI1NDJlZWUxZmY1MGM5ODZlYTZiMzk4NDdiM2NjMDkyZmY2Il0sWyJlZTA3OWFkYjFkZjE4NjAwNzQzNTZhMjVhYTM4MjA2YTZkNzE2YjJjM2U2NzQ1M2QyODc2OThiYWQ3YjJiMmQ2IiwiOGRjMjQxMmFhZmUzYmU1YzRjNWYzN2UwZWNjNWY5ZjZhNDQ2OTg5YWYwNGM0ZTI1ZWJhYWM0NzllYzFjOGMxZSJdLFsiMTZlYzkzZTQ0N2VjODNmMDQ2N2IxODMwMmVlNjIwZjdlNjVkZTMzMTg3NGM5ZGM3MmJmZDg2MTZiYTlkYTZiNSIsIjVlNDYzMTE1MGU2MmZiNDBkMGU4YzJhN2NhNTgwNGEzOWQ1ODE4NmE1MGU0OTcxMzk2MjY3NzhlMjViMDY3NGQiXSxbImVhYTVmOTgwYzI0NWY2ZjAzODk3ODI5MGFmYTcwYjZiZDg4NTU4OTdmOThiNmFhNDg1Yjk2MDY1ZDUzN2JkOTkiLCJmNjVmNWQzZTI5MmMyZTA4MTlhNTI4MzkxYzk5NDYyNGQ3ODQ4NjlkN2U2ZWE2N2ZiMTgwNDEwMjRlZGMwN2RjIl0sWyI3OGM5NDA3NTQ0YWMxMzI2OTJlZTE5MTBhMDI0Mzk5NThhZTA0ODc3MTUxMzQyZWE5NmM0YjZiMzVhNDlmNTEiLCJmM2UwMzE5MTY5ZWI5Yjg1ZDU0MDQ3OTU1MzlhNWU2OGZhMWZiZDU4M2MwNjRkMjQ2MmI2NzVmMTk0YTNkZGI0Il0sWyI0OTRmNGJlMjE5YTFhNzcwMTZkY2Q4Mzg0MzFhZWEwMDAxY2RjOGFlN2E2ZmM2ODg3MjY1NzhkOTcwMjg1N2E1IiwiNDIyNDJhOTY5MjgzYTVmMzM5YmE3ZjA3NWUzNmJhMmFmOTI1Y2UzMGQ3NjdlZDZlNTVmNGIwMzE4ODBkNTYyYyJdLFsiYTU5OGE4MDMwZGE2ZDg2YzZiYzdmMmY1MTQ0ZWE1NDlkMjgyMTFlYTU4ZmFhNzBlYmY0YzFlNjY1YzFmZTliNSIsIjIwNGI1ZDZmODQ4MjJjMzA3ZTRiNGE3MTQwNzM3YWVjMjNmYzYzYjY1YjM1Zjg2YTEwMDI2ZGJkMmQ4NjRlNmIiXSxbImM0MTkxNjM2NWFiYjJiNWQwOTE5MmY1ZjJkYmVhZmVjMjA4ZjAyMGYxMjU3MGExODRkYmFkYzNlNTg1OTU5OTciLCI0ZjE0MzUxZDAwODdlZmE0OWQyNDViMzI4OTg0OTg5ZDVjYWY5NDUwZjM0YmZjMGVkMTZlOTZiNThmYTk5MTMiXSxbIjg0MWQ2MDYzYTU4NmZhNDc1YTcyNDYwNGRhMDNiYzViOTJhMmUwZDJlMGEzNmFjZmU0YzczYTU1MTQ3NDI4ODEiLCI3Mzg2N2Y1OWMwNjU5ZTgxOTA0ZjlhMWM3NTQzNjk4ZTYyNTYyZDY3NDRjMTY5Y2U3YTM2ZGUwMWE4ZDYxNTQiXSxbIjVlOTViYjM5OWE2OTcxZDM3NjAyNjk0N2Y4OWJkZTJmMjgyYjMzODEwOTI4YmU0ZGVkMTEyYWM0ZDcwZTIwZDUiLCIzOWYyM2YzNjY4MDkwODViZWViZmM3MTE4MTMxMzc3NWE5OWM5YWVkN2Q4YmEzOGIxNjEzODRjNzQ2MDEyODY1Il0sWyIzNmU0NjQxYTUzOTQ4ZmQ0NzZjMzlmOGE5OWZkOTc0ZTVlYzA3NTY0YjUzMTVkOGJmOTk0NzFiY2EwZWYyZjY2IiwiZDI0MjRiMWIxYWJlNGViODE2NDIyN2IwODVjOWFhOTQ1NmVhMTM0OTNmZDU2M2UwNmZkNTFjZjU2OTRjNzhmYyJdLFsiMzM2NTgxZWE3YmZiYmIyOTBjMTkxYTJmNTA3YTQxY2Y1NjQzODQyMTcwZTkxNGZhZWFiMjdjMmM1NzlmNzI2IiwiZWFkMTIxNjg1OTVmZTFiZTk5MjUyMTI5YjZlNTZiMzM5MWY3YWIxNDEwY2QxZTBlZjNkY2RjYWJkMmZkYTIyNCJdLFsiOGFiODk4MTZkYWRmZDZiNmExZjI2MzRmY2YwMGVjODQwMzc4MTAyNWVkNjg5MGM0ODQ5NzQyNzA2YmQ0M2VkZSIsIjZmZGNlZjA5ZjJmNmQwYTA0NGU2NTRhZWY2MjQxMzZmNTAzZDQ1OWMzZTg5ODQ1ODU4YTQ3YTkxMjljZGQyNGUiXSxbIjFlMzNmMWE3NDZjOWM1Nzc4MTMzMzQ0ZDkyOTlmY2FhMjBiMDkzOGU4YWNmZjI1NDRiYjQwMjg0YjhjNWZiOTQiLCI2MDY2MDI1N2RkMTFiM2FhOWM4ZWQ2MThkMjRlZGZmMjMwNmQzMjBmMWQwMzAxMGUzM2E3ZDIwNTdmM2IzYjYiXSxbIjg1YjdjMWRjYjNjZWMxYjdlZTdmMzBkZWQ3OWRkMjBhMGVkMWY0Y2MxOGNiY2ZjZmE0MTAzNjFmZDhmMDhmMzEiLCIzZDk4YTljZGQwMjZkZDQzZjM5MDQ4ZjI1YTg4NDdmNGZjYWZhZDE4OTVkN2E2MzNjNmZlZDNjMzVlOTk5NTExIl0sWyIyOWRmOWZiZDhkOWU0NjUwOTI3NWY0YjEyNWQ2ZDQ1ZDdmYmU5YTNiODc4YTdhZjg3MmEyODAwNjYxYWM1ZjUxIiwiYjRjNGZlOTljNzc1YTYwNmUyZDg4NjIxNzkxMzlmZmRhNjFkYzg2MWMwMTllNTVjZDI4NzZlYjJhMjdkODRiIl0sWyJhMGIxY2FlMDZiMGE4NDdhM2ZlYTZlNjcxYWFmOGFkZmRmZTU4Y2EyZjc2ODEwNWM4MDgyYjJlNDQ5ZmNlMjUyIiwiYWU0MzQxMDJlZGRlMDk1OGVjNGIxOWQ5MTdhNmEyOGU2YjcyZGExODM0YWZmMGU2NTBmMDQ5NTAzYTI5NmNmMiJdLFsiNGU4Y2VhZmI5YjNlOWExMzZkYzdmZjY3ZTg0MDI5NWI0OTlkZmIzYjIxMzNlNGJhMTEzZjJlNGMwZTEyMWU1IiwiY2YyMTc0MTE4YzhiNmQ3YTRiNDhmNmQ1MzRjZTVjNzk0MjJjMDg2YTYzNDYwNTAyYjgyN2NlNjJhMzI2NjgzYyJdLFsiZDI0YTQ0ZTA0N2UxOWI2ZjVhZmI4MWM3Y2EyZjY5MDgwYTUwNzY2ODlhMDEwOTE5ZjQyNzI1YzJiNzg5YTMzYiIsIjZmYjhkNTU5MWI0NjZmOGZjNjNkYjUwZjFjMGYxYzY5MDEzZjk5Njg4N2I4MjQ0ZDJjZGVjNDE3YWZlYThmYTMiXSxbImVhMDE2MDZhN2E2YzljZGQyNDlmZGZjZmFjYjk5NTg0MDAxZWRkMjhhYmJhYjc3YjUxMDRlOThlOGUzYjM1ZDQiLCIzMjJhZjQ5MDhjNzMxMmIwY2ZiZmUzNjlmN2E3YjNjZGI3ZDQ0OTRiYzI4MjM3MDBjZmQ2NTIxODhhM2VhOThkIl0sWyJhZjhhZGRiZjJiNjYxYzhhNmM2MzI4NjU1ZWI5NjY1MTI1MjAwN2Q4YzVlYTMxYmU0YWQxOTZkZThjZTIxMzFmIiwiNjc0OWU2N2MwMjliODVmNTJhMDM0ZWFmZDA5NjgzNmIyNTIwODE4NjgwZTI2YWM4ZjNkZmJjZGI3MTc0OTcwMCJdLFsiZTNhZTE5NzQ1NjZjYTA2Y2M1MTZkNDdlMGZiMTY1YTY3NGEzZGFiY2ZjYTE1ZTcyMmYwZTM0NTBmNDU4ODkiLCIyYWVhYmU3ZTQ1MzE1MTAxMTYyMTdmMDdiZjRkMDczMDBkZTk3ZTQ4NzRmODFmNTMzNDIwYTcyZWViMGJkNmE0Il0sWyI1OTFlZTM1NTMxM2Q5OTcyMWNmNjk5M2ZmZWQxZTNlMzAxOTkzZmYzZWQyNTg4MDIwNzVlYThjZWQzOTdlMjQ2IiwiYjBlYTU1OGExMTNjMzBiZWE2MGZjNDc3NTQ2MGM3OTAxZmYwYjA1M2QyNWNhMmJkZWVlOThmMWE0YmU1ZDE5NiJdLFsiMTEzOTZkNTVmZGE1NGM0OWYxOWFhOTczMThkOGRhNjFmYTg1ODRlNDdiMDg0OTQ1MDc3Y2YwMzI1NWI1Mjk4NCIsIjk5OGM3NGE4Y2Q0NWFjMDEyODlkNTgzM2E3YmViNDc0NGZmNTM2YjAxYjI1N2JlNGM1NzY3YmVhOTNlYTU3YTQiXSxbIjNjNWQyYTFiYTM5YzVhMTc5MDAwMDczOGM5ZTBjNDBiOGRjZGZkNTQ2ODc1NGI2NDA1NTQwMTU3ZTAxN2FhN2EiLCJiMjI4NDI3OTk5NWEzNGUyZjlkNGRlNzM5NmZjMThiODBmOWI4YjlmZGQyNzBmNjY2MWY3OWNhNGM4MWJkMjU3Il0sWyJjYzg3MDRiOGE2MGEwZGVmYTNhOTlhNzI5OWYyZTljM2ZiYzM5NWFmYjA0YWMwNzg0MjVlZjhhMTc5M2NjMDMwIiwiYmRkNDYwMzlmZWVkMTc4ODFkMWUwODYyZGIzNDdmOGNmMzk1Yjc0ZmM0YmNkYzRlOTQwYjc0ZTNhYzFmMWIxMyJdLFsiYzUzM2U0ZjdlYTg1NTVhYWNkOTc3N2FjNWNhZDI5Yjk3ZGQ0ZGVmY2NjNTNlZTdlYTIwNDExOWIyODg5YjE5NyIsIjZmMGEyNTZiYzVlZmRmNDI5YTJmYjYyNDJmMWE0M2EyZDliOTI1YmI0YTRiM2EyNmJiOGUwZjQ1ZWI1OTYwOTYiXSxbImMxNGY4ZjJjY2IyN2Q2ZjEwOWY2ZDA4ZDAzY2M5NmE2OWJhOGMzNGVlYzA3YmJjZjU2NmQ0OGUzM2RhNjU5MyIsImMzNTlkNjkyM2JiMzk4ZjdmZDQ0NzNlMTZmZTFjMjg0NzViNzQwZGQwOTgwNzVlNmMwZTg2NDkxMTNkYzNhMzgiXSxbImE2Y2JjMzA0NmJjNmE0NTBiYWMyNDc4OWZhMTcxMTVhNGM5NzM5ZWQ3NWY4ZjIxY2U0NDFmNzJlMGI5MGU2ZWYiLCIyMWFlN2Y0NjgwZTg4OWJiMTMwNjE5ZTJjMGY5NWEzNjBjZWI1NzNjNzA2MDMxMzk4NjJhZmQ2MTdmYTliOWYiXSxbIjM0N2Q2ZDlhMDJjNDg5MjdlYmZiODZjMTM1OWIxY2FmMTMwYTNjMDI2N2QxMWNlNjM0NGIzOWY5OWQ0M2NjMzgiLCI2MGVhN2Y2MWEzNTM1MjRkMWM5ODdmNmVjZWM5MmYwODZkNTY1YWI2ODc4NzBjYjEyNjg5ZmYxZTMxYzc0NDQ4Il0sWyJkYTY1NDVkMjE4MWRiOGQ5ODNmN2RjYjM3NWVmNTg2NmQ0N2M2N2IxYmYzMWM4Y2Y4NTVlZjc0MzdiNzI2NTZhIiwiNDliOTY3MTVhYjY4NzhhNzllNzhmMDdjZTU2ODBjNWQ2NjczMDUxYjQ5MzViZDg5N2ZlYTgyNGI3N2RjMjA4YSJdLFsiYzQwNzQ3Y2M5ZDAxMmNiMWExM2I4MTQ4MzA5YzZkZTdlYzI1ZDY5NDVkNjU3MTQ2YjlkNTk5NGI4ZmViMTExMSIsIjVjYTU2MDc1M2JlMmExMmZjNmRlNmNhZjJjYjQ4OTU2NWRiOTM2MTU2Yjk1MTRlMWJiNWU4MzAzN2UwZmEyZDQiXSxbIjRlNDJjOGVjODJjOTk3OThjY2YzYTYxMGJlODcwZTc4MzM4YzdmNzEzMzQ4YmQzNGM4MjAzZWY0MDM3ZjM1MDIiLCI3NTcxZDc0ZWU1ZTBmYjkyYTdhOGIzM2EwNzc4MzM0MWE1NDkyMTQ0Y2M1NGJjYzQwYTk0NDczNjkzNjA2NDM3Il0sWyIzNzc1YWI3MDg5YmM2YWY4MjNhYmEyZTFhZjcwYjIzNmQyNTFjYWRiMGM4Njc0MzI4NzUyMmExYjNiMGRlZGVhIiwiYmU1MmQxMDdiY2ZhMDlkOGJjYjk3MzZhODI4Y2ZhN2ZhYzhkYjE3YmY3YTc2YTJjNDJhZDk2MTQwOTAxOGNmNyJdLFsiY2VlMzFjYmY3ZTM0ZWMzNzlkOTRmYjgxNGQzZDc3NWFkOTU0NTk1ZDEzMTRiYTg4NDY5NTllM2U4MmY3NGUyNiIsIjhmZDY0YTE0YzA2YjU4OWMyNmI5NDdhZTJiY2Y2YmZhMDE0OWVmMGJlMTRlZDRkODBmNDQ4YTAxYzQzYjFjNmQiXSxbImI0ZjllYWVhMDliNjkxNzYxOWY2ZWE2YTRlYjU0NjRlZmRkYjU4ZmQ0NWIxZWJlZmNkYzFhMDFkMDhiNDc5ODYiLCIzOWU1Yzk5MjViNWE1NGIwNzQzM2E0ZjE4YzYxNzI2ZjhiYjEzMWMwMTJjYTU0MmViMjRhOGFjMDcyMDA2ODJhIl0sWyJkNDI2M2RmYzNkMmRmOTIzYTAxNzlhNDg5NjZkMzBjZTg0ZTI1MTVhZmMzZGNjYzFiNzc5MDc3OTJlYmNjNjBlIiwiNjJkZmFmMDdhMGY3OGZlYjMwZTMwZDYyOTU4NTNjZTE4OWUxMjc3NjBhZDZjZjdmYWUxNjRlMTIyYTIwOGQ1NCJdLFsiNDg0NTc1MjQ4MjBmYTY1YTRmOGQzNWViNjkzMDg1N2MwMDMyYWNjMGE0YTJkZTQyMjIzM2VlZGE4OTc2MTJjNCIsIjI1YTc0OGFiMzY3OTc5ZDk4NzMzYzM4YTFmYTFjMmU3ZGM2Y2MwN2RiMmQ2MGE5YWU3YTc2YWFhNDliZDBmNzciXSxbImRmZWVlZjE4ODExMDFmMmNiMTE2NDRmM2EyYWZkZmMyMDQ1ZTE5OTE5MTUyOTIzZjM2N2ExNzY3YzExY2NlZGEiLCJlY2ZiNzA1NmNmMWRlMDQyZjk0MjBiYWIzOTY3OTNjMGMzOTBiZGU3NGI0YmJkZmYxNmE4M2FlMDlhOWE3NTE3Il0sWyI2ZDdlZjZiMTc1NDNmODM3M2M1NzNmNDRlMWYzODk4MzVkODliY2JjNjA2MmNlZDM2YzgyZGY4M2I4ZmFlODU5IiwiY2Q0NTBlYzMzNTQzODk4NmRmZWZhMTBjNTdmZWE5YmNjNTIxYTA5NTliMmQ4MGJiZjc0YjE5MGRjYTcxMmQxMCJdLFsiZTc1NjA1ZDU5MTAyYTVhMjY4NDUwMGQzYjk5MWYyZTNmM2M4OGI5MzIyNTU0NzAzNWFmMjVhZjY2ZTA0NTQxZiIsImY1YzU0NzU0YThmNzFlZTU0MGI5YjQ4NzI4NDczZTMxNGY3MjlhYzUzMDhiMDY5MzgzNjA5OTBlMmJmYWQxMjUiXSxbImViOTg2NjBmNGM0ZGZhYTA2YTJiZTQ1M2Q1MDIwYmM5OWEwYzJlNjBhYmUzODg0NTdkZDQzZmVmYjFlZDYyMGMiLCI2Y2I5YTg4NzZkOWNiODUyMDYwOWFmM2FkZDI2Y2QyMGEwYTdjZDhhOTQxMTEzMWNlODVmNDQxMDAwOTkyMjNlIl0sWyIxM2U4N2IwMjdkODUxNGQzNTkzOWYyZTY4OTJiMTk5MjIxNTQ1OTY5NDE4ODgzMzZkYzM1NjNlM2I4ZGJhOTQyIiwiZmVmNWEzYzY4MDU5YTZkZWM1ZDYyNDExNGJmMWU5MWFhYzJiOWRhNTY4ZDZhYmViMjU3MGQ1NTY0NmI4YWRmMSJdLFsiZWUxNjMwMjZlOWZkNmZlMDE3YzM4ZjA2YTViZTZmYzEyNTQyNGIzNzFjZTI3MDhlN2JmNDQ5MTY5MWU1NzY0YSIsIjFhY2IyNTBmMjU1ZGQ2MWM0M2Q5NGNjYzY3MGQwZjU4ZjQ5YWUzZmExNWI5NjYyM2U1NDMwZGEwYWQ2YzYyYjIiXSxbImIyNjhmNWVmOWFkNTFlNGQ3OGRlM2E3NTBjMmRjODliMWU2MjZkNDM1MDU4Njc5OTk5MzJlNWRiMzNhZjNkODAiLCI1ZjMxMGQ0YjNjOTliOWViYjE5Zjc3ZDQxYzFkZWUwMThjZjBkMzRmZDQxOTE2MTQwMDNlOTQ1YTEyMTZlNDIzIl0sWyJmZjA3ZjMxMThhOWRmMDM1ZTlmYWQ4NWViNmM3YmZlNDJiMDJmMDFjYTk5Y2VlYTNiZjdmZmRiYTkzYzQ3NTBkIiwiNDM4MTM2ZDYwM2U4NThhM2E1YzQ0MGMzOGVjY2JhZGRjMWQyOTQyMTE0ZTJlZGRkNDc0MGQwOThjZWQxZjBkOCJdLFsiOGQ4Yjk4NTVjN2MwNTJhMzQxNDZmZDIwZmZiNjU4YmVhNGI5ZjY5ZTBkODI1ZWJlYzE2ZThjM2NlMmI1MjZhMSIsImNkYjU1OWVlZGMyZDc5ZjkyNmJhZjQ0ZmI4NGVhNGQ0NGJjZjUwZmVlNTFkN2NlYjMwZTJlN2Y0NjMwMzY3NTgiXSxbIjUyZGIwYjUzODRkZmJmMDViZmE5ZDQ3MmQ3YWUyNmRmZTRiODUxY2VjYTkxYjFlYmE1NDI2MzE4MGRhMzJiNjMiLCJjM2I5OTdkMDUwZWU1ZDQyM2ViYWY2NmE2ZGI5ZjU3YjMxODBjOTAyODc1Njc5ZGU5MjRiNjlkODRhN2IzNzUiXSxbImU2MmY5NDkwZDNkNTFkYTYzOTVlZmQyNGU4MDkxOWNjN2QwZjI5YzNmM2ZhNDhjNmZmZjU0M2JlY2JkNDMzNTIiLCI2ZDg5YWQ3YmE0ODc2YjBiMjJjMmNhMjgwYzY4Mjg2MmYzNDJjODU5MWYxZGFmNTE3MGUwN2JmZDljY2FmYTdkIl0sWyI3ZjMwZWEyNDc2YjM5OWI0OTU3NTA5Yzg4Zjc3ZDAxOTFhZmEyZmY1Y2I3YjE0ZmQ2ZDhlN2Q2NWFhYWIxMTkzIiwiY2E1ZWY3ZDRiMjMxYzk0YzNiMTUzODlhNWY2MzExZTlkYWZmN2JiNjdiMTAzZTk4ODBlZjRiZmY2MzdhY2FlYyJdLFsiNTA5OGZmMWUxZDlmMTRmYjQ2YTIxMGZhZGE2YzkwM2ZlZjBmYjdiNGExZGQxZDlhYzYwYTAzNjE4MDBiN2EwMCIsIjk3MzExNDFkODFmYzhmODA4NGQzN2M2ZTc1NDIwMDZiM2VlMWI0MGQ2MGRmZTUzNjJhNWIxMzJmZDE3ZGRjMCJdLFsiMzJiNzhjN2RlOWVlNTEyYTcyODk1YmU2YjljYmVmYTZlMmYzYzRjY2NlNDQ1Yzk2YjlmMmM4MWUyNzc4YWQ1OCIsImVlMTg0OWY1MTNkZjcxZTMyZWZjMzg5NmVlMjgyNjBjNzNiYjgwNTQ3YWUyMjc1YmE0OTcyMzc3OTRjODc1M2MiXSxbImUyY2I3NGZkZGM4ZTlmYmNkMDc2ZWVmMmE3YzcyYjBjZTM3ZDUwZjA4MjY5ZGZjMDc0YjU4MTU1MDU0N2E0ZjciLCJkM2FhMmVkNzFjOWRkMjI0N2E2MmRmMDYyNzM2ZWIwYmFkZGVhOWUzNjEyMmQyYmU4NjQxYWJjYjAwNWNjNGE0Il0sWyI4NDM4NDQ3NTY2ZDRkN2JlZGFkYzI5OTQ5NmFiMzU3NDI2MDA5YTM1ZjIzNWNiMTQxYmUwZDk5Y2QxMGFlM2E4IiwiYzRlMTAyMDkxNjk4MGE0ZGE1ZDAxYWM1ZTZhZDMzMDczNGVmMGQ3OTA2NjMxYzRmMjM5MDQyNmIyZWRkNzkxZiJdLFsiNDE2MmQ0ODhiODk0MDIwMzliNTg0YzZmYzZjMzA4ODcwNTg3ZDljNDZmNjYwYjg3OGFiNjVjODJjNzExZDY3ZSIsIjY3MTYzZTkwMzIzNjI4OWY3NzZmMjJjMjVmYjhhM2FmYzE3MzJmMmI4NGI0ZTk1ZGJkYTQ3YWU1YTA4NTI2NDkiXSxbIjNmYWQzZmE4NGNhZjBmMzRmMGY4OWJmZDJkY2Y1NGZjMTc1ZDc2N2FlYzNlNTA2ODRmM2JhNGE0YmY1ZjY4M2QiLCJjZDFiYzdjYjZjYzQwN2JiMmYwY2E2NDdjNzE4YTczMGNmNzE4NzJlN2QwZDJhNTNmYTIwZWZjZGZlNjE4MjYiXSxbIjY3NGYyNjAwYTMwMDdhMDA1NjhjMWE3Y2UwNWQwODE2YzFmYjg0YmYxMzcwNzk4ZjFjNjk1MzJmYWViMWE4NmIiLCIyOTlkMjFmOTQxM2YzM2IzZWRmNDNiMjU3MDA0NTgwYjcwZGI1N2RhMGIxODIyNTllMDllZWNjNjllMGQzOGE1Il0sWyJkMzJmNGRhNTRhZGU3NGFiYjgxYjgxNWFkMWZiM2IyNjNkODJkNmM2OTI3MTRiY2ZmODdkMjliZDVlZTlmMDhmIiwiZjk0MjllNzM4YjhlNTNiOTY4ZTk5MDE2YzA1OTcwNzc4MmUxNGY0NTM1MzU5ZDU4MmZjNDE2OTEwYjNlZWE4NyJdLFsiMzBlNGU2NzA0MzUzODU1NTZlNTkzNjU3MTM1ODQ1ZDM2ZmJiNjkzMWY3MmIwOGNiMWVkOTU0ZjFlM2NlM2ZmNiIsIjQ2MmY5YmNlNjE5ODk4NjM4NDk5MzUwMTEzYmJjOWIxMGE4NzhkMzVkYTcwNzQwZGM2OTVhNTU5ZWI4OGRiN2IiXSxbImJlMjA2MjAwM2M1MWNjMzAwNDY4MjkwNDMzMGU0ZGVlN2YzZGNkMTBiMDFlNTgwYmYxOTcxYjA0ZDRjYWQyOTciLCI2MjE4OGJjNDlkNjFlNTQyODU3M2Q0OGE3NGUxYzY1NWIxYzYxMDkwOTA1NjgyYTBkNTU1OGVkNzJkY2NiOWJjIl0sWyI5MzE0NDQyM2FjZTM0NTFlZDI5ZTBmYjlhYzJhZjIxMWNiNmU4NGE2MDFkZjU5OTNjNDE5ODU5ZmZmNWRmMDRhIiwiN2MxMGRmYjE2NGMzNDI1ZjVjNzFhM2Y5ZDc5OTIwMzhmMTA2NTIyNGY3MmJiOWQxZDkwMmE2ZDEzMDM3YjQ3YyJdLFsiYjAxNWY4MDQ0ZjVmY2JkY2YyMWNhMjZkNmMzNGZiODE5NzgyOTIwNWM3YjdkMmE3Y2I2NjQxOGMxNTdiMTEyYyIsImFiOGMxZTA4NmQwNGU4MTM3NDRhNjU1YjJkZjhkNWY4M2IzY2RjNmZhYTMwODhjMWQzYWVhMTQ1NGUzYTFkNWYiXSxbImQ1ZTllMWRhNjQ5ZDk3ZDg5ZTQ4NjgxMTdhNDY1YTNhNGY4YTE4ZGU1N2ExNDBkMzZiM2YyYWYzNDFhMjFiNTIiLCI0Y2IwNDQzN2YzOTFlZDczMTExYTEzY2MxZDRkZDBkYjE2OTM0NjVjMjI0MDQ4MGQ4OTU1ZTg1OTJmMjc0NDdhIl0sWyJkM2FlNDEwNDdkZDdjYTA2NWRiZjhlZDc3Yjk5MjQzOTk4MzAwNWNkNzJlMTZkNmY5OTZhNTMxNmQzNjk2NmJiIiwiYmQxYWViMjFhZDIyZWJiMjJhMTBmMDMwMzQxN2M2ZDk2NGY4Y2RkN2RmMGFjYTYxNGIxMGRjMTRkMTI1YWM0NiJdLFsiNDYzZTI3NjNkODg1Zjk1OGZjNjZjZGQyMjgwMGYwYTQ4NzE5N2QwYTgyZTM3N2I0OWY4MGFmODdjODk3YjA2NSIsImJmZWZhY2RiMGU1ZDBmZDdkZjNhMzExYTk0ZGUwNjJiMjZiODBjNjFmYmM5NzUwOGI3OTk5MjY3MWVmN2NhN2YiXSxbIjc5ODVmZGZkMTI3YzA1NjdjNmY1M2VjMWJiNjNlYzMxNThlNTk3YzQwYmZlNzQ3YzgzY2RkZmM5MTA2NDE5MTciLCI2MDNjMTJkYWYzZDk4NjJlZjJiMjVmZTFkZTI4OWFlZDI0ZWQyOTFlMGVjNjcwODcwM2E1YmQ1NjdmMzJlZDAzIl0sWyI3NGExYWQ2YjVmNzZlMzlkYjJkZDI0OTQxMGVhYzdmOTllNzRjNTljYjgzZDJkMGVkNWZmMTU0M2RhNzcwM2U5IiwiY2M2MTU3ZWYxOGM5YzYzY2Q2MTkzZDgzNjMxYmJlYTAwOTNlMDk2ODk0MmU4YzMzZDU3MzdmZDc5MGUwZGIwOCJdLFsiMzA2ODJhNTA3MDMzNzVmNjAyZDQxNjY2NGJhMTliN2ZjOWJhYjQyYzcyNzQ3NDYzYTcxZDA4OTZiMjJmNmRhMyIsIjU1M2UwNGY2YjAxOGI0ZmE2YzhmMzllN2YzMTFkMzE3NjI5MGQwZTBmMTljYTczZjE3NzE0ZDk5NzdhMjJmZjgiXSxbIjllMjE1OGYwZDdjMGQ1ZjI2YzM3OTFlZmVmYTc5NTk3NjU0ZTdhMmIyNDY0ZjUyYjFlZTZjMTM0Nzc2OWVmNTciLCI3MTJmY2RkMWI5MDUzZjA5MDAzYTM0ODFmYTc3NjJlOWZmZDdjOGVmMzVhMzg1MDllMmZiZjI2MjkwMDgzNzMiXSxbIjE3NmUyNjk4OWE0M2M5Y2ZlYmE0MDI5YzIwMjUzOGMyODE3MmU1NjZlM2M0ZmNlNzMyMjg1N2YzYmUzMjdkNjYiLCJlZDhjYzlkMDRiMjllYjg3N2QyNzBiNDg3OGRjNDNjMTlhZWZkMzFmNGVlZTA5ZWU3YjQ3ODM0YzFmYTRiMWMzIl0sWyI3NWQ0NmVmZWEzNzcxZTZlNjhhYmI4OWExM2FkNzQ3ZWNmMTg5MjM5M2RmYzRmMWI3MDA0Nzg4YzUwMzc0ZGE4IiwiOTg1MjM5MGE5OTUwNzY3OWZkMGI4NmZkMmIzOWE4NjhkN2VmYzIyMTUxMzQ2ZTFhM2NhNDcyNjU4NmE2YmVkOCJdLFsiODA5YTIwYzY3ZDY0OTAwZmZiNjk4YzRjODI1ZjZkNWYyMzEwZmIwNDUxYzg2OTM0NWI3MzE5ZjY0NTYwNTcyMSIsIjllOTk0OTgwZDk5MTdlMjJiNzZiMDYxOTI3ZmEwNDE0M2QwOTZjY2M1NDk2M2U2YTVlYmZhNWYzZjhlMjg2YzEiXSxbIjFiMzg5MDNhNDNmN2YxMTRlZDQ1MDBiNGVhYzcwODNmZGVmZWNlMWNmMjljNjM1MjhkNTYzNDQ2Zjk3MmMxODAiLCI0MDM2ZWRjOTMxYTYwYWU4ODkzNTNmNzdmZDUzZGU0YTI3MDhiMjZiNmY1ZGE3MmFkMzM5NDExOWRhZjQwOGY5Il1dfX19LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49cigxNiksaT1yKDI1OCksbz1yKDExKSxzPXIoNTkpLGE9cigxMjEpLHU9by5hc3NlcnQsYz1yKDI1OSksZj1yKDI2MCk7ZnVuY3Rpb24gaCh0KXtpZighKHRoaXMgaW5zdGFuY2VvZiBoKSlyZXR1cm4gbmV3IGgodCk7InN0cmluZyI9PXR5cGVvZiB0JiYodShPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocyx0KSwiVW5rbm93biBjdXJ2ZSAiK3QpLHQ9c1t0XSksdCBpbnN0YW5jZW9mIHMuUHJlc2V0Q3VydmUmJih0PXtjdXJ2ZTp0fSksdGhpcy5jdXJ2ZT10LmN1cnZlLmN1cnZlLHRoaXMubj10aGlzLmN1cnZlLm4sdGhpcy5uaD10aGlzLm4udXNocm4oMSksdGhpcy5nPXRoaXMuY3VydmUuZyx0aGlzLmc9dC5jdXJ2ZS5nLHRoaXMuZy5wcmVjb21wdXRlKHQuY3VydmUubi5iaXRMZW5ndGgoKSsxKSx0aGlzLmhhc2g9dC5oYXNofHx0LmN1cnZlLmhhc2h9dC5leHBvcnRzPWgsaC5wcm90b3R5cGUua2V5UGFpcj1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IGModGhpcyx0KX0saC5wcm90b3R5cGUua2V5RnJvbVByaXZhdGU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gYy5mcm9tUHJpdmF0ZSh0aGlzLHQsZSl9LGgucHJvdG90eXBlLmtleUZyb21QdWJsaWM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gYy5mcm9tUHVibGljKHRoaXMsdCxlKX0saC5wcm90b3R5cGUuZ2VuS2V5UGFpcj1mdW5jdGlvbih0KXt0fHwodD17fSk7Zm9yKHZhciBlPW5ldyBpKHtoYXNoOnRoaXMuaGFzaCxwZXJzOnQucGVycyxwZXJzRW5jOnQucGVyc0VuY3x8InV0ZjgiLGVudHJvcHk6dC5lbnRyb3B5fHxhKHRoaXMuaGFzaC5obWFjU3RyZW5ndGgpLGVudHJvcHlFbmM6dC5lbnRyb3B5JiZ0LmVudHJvcHlFbmN8fCJ1dGY4Iixub25jZTp0aGlzLm4udG9BcnJheSgpfSkscj10aGlzLm4uYnl0ZUxlbmd0aCgpLG89dGhpcy5uLnN1YihuZXcgbigyKSk7Oyl7dmFyIHM9bmV3IG4oZS5nZW5lcmF0ZShyKSk7aWYoIShzLmNtcChvKT4wKSlyZXR1cm4gcy5pYWRkbigxKSx0aGlzLmtleUZyb21Qcml2YXRlKHMpfX0saC5wcm90b3R5cGUuX3RydW5jYXRlVG9OPWZ1bmN0aW9uKHQsZSl7dmFyIHI9OCp0LmJ5dGVMZW5ndGgoKS10aGlzLm4uYml0TGVuZ3RoKCk7cmV0dXJuIHI+MCYmKHQ9dC51c2hybihyKSksIWUmJnQuY21wKHRoaXMubik+PTA/dC5zdWIodGhpcy5uKTp0fSxoLnByb3RvdHlwZS5zaWduPWZ1bmN0aW9uKHQsZSxyLG8peyJvYmplY3QiPT10eXBlb2YgciYmKG89cixyPW51bGwpLG98fChvPXt9KSxlPXRoaXMua2V5RnJvbVByaXZhdGUoZSxyKSx0PXRoaXMuX3RydW5jYXRlVG9OKG5ldyBuKHQsMTYpKTtmb3IodmFyIHM9dGhpcy5uLmJ5dGVMZW5ndGgoKSxhPWUuZ2V0UHJpdmF0ZSgpLnRvQXJyYXkoImJlIixzKSx1PXQudG9BcnJheSgiYmUiLHMpLGM9bmV3IGkoe2hhc2g6dGhpcy5oYXNoLGVudHJvcHk6YSxub25jZTp1LHBlcnM6by5wZXJzLHBlcnNFbmM6by5wZXJzRW5jfHwidXRmOCJ9KSxoPXRoaXMubi5zdWIobmV3IG4oMSkpLGw9MDs7bCsrKXt2YXIgZD1vLms/by5rKGwpOm5ldyBuKGMuZ2VuZXJhdGUodGhpcy5uLmJ5dGVMZW5ndGgoKSkpO2lmKCEoKGQ9dGhpcy5fdHJ1bmNhdGVUb04oZCwhMCkpLmNtcG4oMSk8PTB8fGQuY21wKGgpPj0wKSl7dmFyIHA9dGhpcy5nLm11bChkKTtpZighcC5pc0luZmluaXR5KCkpe3ZhciBtPXAuZ2V0WCgpLGc9bS51bW9kKHRoaXMubik7aWYoMCE9PWcuY21wbigwKSl7dmFyIGI9ZC5pbnZtKHRoaXMubikubXVsKGcubXVsKGUuZ2V0UHJpdmF0ZSgpKS5pYWRkKHQpKTtpZigwIT09KGI9Yi51bW9kKHRoaXMubikpLmNtcG4oMCkpe3ZhciB5PShwLmdldFkoKS5pc09kZCgpPzE6MCl8KDAhPT1tLmNtcChnKT8yOjApO3JldHVybiBvLmNhbm9uaWNhbCYmYi5jbXAodGhpcy5uaCk+MCYmKGI9dGhpcy5uLnN1YihiKSx5Xj0xKSxuZXcgZih7cjpnLHM6YixyZWNvdmVyeVBhcmFtOnl9KX19fX19fSxoLnByb3RvdHlwZS52ZXJpZnk9ZnVuY3Rpb24odCxlLHIsaSl7dD10aGlzLl90cnVuY2F0ZVRvTihuZXcgbih0LDE2KSkscj10aGlzLmtleUZyb21QdWJsaWMocixpKTt2YXIgbz0oZT1uZXcgZihlLCJoZXgiKSkucixzPWUucztpZihvLmNtcG4oMSk8MHx8by5jbXAodGhpcy5uKT49MClyZXR1cm4hMTtpZihzLmNtcG4oMSk8MHx8cy5jbXAodGhpcy5uKT49MClyZXR1cm4hMTt2YXIgYSx1PXMuaW52bSh0aGlzLm4pLGM9dS5tdWwodCkudW1vZCh0aGlzLm4pLGg9dS5tdWwobykudW1vZCh0aGlzLm4pO3JldHVybiB0aGlzLmN1cnZlLl9tYXh3ZWxsVHJpY2s/IShhPXRoaXMuZy5qbXVsQWRkKGMsci5nZXRQdWJsaWMoKSxoKSkuaXNJbmZpbml0eSgpJiZhLmVxWFRvUChvKTohKGE9dGhpcy5nLm11bEFkZChjLHIuZ2V0UHVibGljKCksaCkpLmlzSW5maW5pdHkoKSYmMD09PWEuZ2V0WCgpLnVtb2QodGhpcy5uKS5jbXAobyl9LGgucHJvdG90eXBlLnJlY292ZXJQdWJLZXk9ZnVuY3Rpb24odCxlLHIsaSl7dSgoMyZyKT09PXIsIlRoZSByZWNvdmVyeSBwYXJhbSBpcyBtb3JlIHRoYW4gdHdvIGJpdHMiKSxlPW5ldyBmKGUsaSk7dmFyIG89dGhpcy5uLHM9bmV3IG4odCksYT1lLnIsYz1lLnMsaD0xJnIsbD1yPj4xO2lmKGEuY21wKHRoaXMuY3VydmUucC51bW9kKHRoaXMuY3VydmUubikpPj0wJiZsKXRocm93IG5ldyBFcnJvcigiVW5hYmxlIHRvIGZpbmQgc2VuY29uZCBrZXkgY2FuZGluYXRlIik7YT1sP3RoaXMuY3VydmUucG9pbnRGcm9tWChhLmFkZCh0aGlzLmN1cnZlLm4pLGgpOnRoaXMuY3VydmUucG9pbnRGcm9tWChhLGgpO3ZhciBkPWUuci5pbnZtKG8pLHA9by5zdWIocykubXVsKGQpLnVtb2QobyksbT1jLm11bChkKS51bW9kKG8pO3JldHVybiB0aGlzLmcubXVsQWRkKHAsYSxtKX0saC5wcm90b3R5cGUuZ2V0S2V5UmVjb3ZlcnlQYXJhbT1mdW5jdGlvbih0LGUscixuKXtpZihudWxsIT09KGU9bmV3IGYoZSxuKSkucmVjb3ZlcnlQYXJhbSlyZXR1cm4gZS5yZWNvdmVyeVBhcmFtO2Zvcih2YXIgaT0wO2k8NDtpKyspe3ZhciBvO3RyeXtvPXRoaXMucmVjb3ZlclB1YktleSh0LGUsaSl9Y2F0Y2godCl7Y29udGludWV9aWYoby5lcShyKSlyZXR1cm4gaX10aHJvdyBuZXcgRXJyb3IoIlVuYWJsZSB0byBmaW5kIHZhbGlkIHJlY292ZXJ5IGZhY3RvciIpfX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1yKDYwKSxpPXIoMTIwKSxvPXIoMjIpO2Z1bmN0aW9uIHModCl7aWYoISh0aGlzIGluc3RhbmNlb2YgcykpcmV0dXJuIG5ldyBzKHQpO3RoaXMuaGFzaD10Lmhhc2gsdGhpcy5wcmVkUmVzaXN0PSEhdC5wcmVkUmVzaXN0LHRoaXMub3V0TGVuPXRoaXMuaGFzaC5vdXRTaXplLHRoaXMubWluRW50cm9weT10Lm1pbkVudHJvcHl8fHRoaXMuaGFzaC5obWFjU3RyZW5ndGgsdGhpcy5fcmVzZWVkPW51bGwsdGhpcy5yZXNlZWRJbnRlcnZhbD1udWxsLHRoaXMuSz1udWxsLHRoaXMuVj1udWxsO3ZhciBlPWkudG9BcnJheSh0LmVudHJvcHksdC5lbnRyb3B5RW5jfHwiaGV4Iikscj1pLnRvQXJyYXkodC5ub25jZSx0Lm5vbmNlRW5jfHwiaGV4Iiksbj1pLnRvQXJyYXkodC5wZXJzLHQucGVyc0VuY3x8ImhleCIpO28oZS5sZW5ndGg+PXRoaXMubWluRW50cm9weS84LCJOb3QgZW5vdWdoIGVudHJvcHkuIE1pbmltdW0gaXM6ICIrdGhpcy5taW5FbnRyb3B5KyIgYml0cyIpLHRoaXMuX2luaXQoZSxyLG4pfXQuZXhwb3J0cz1zLHMucHJvdG90eXBlLl9pbml0PWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj10LmNvbmNhdChlKS5jb25jYXQocik7dGhpcy5LPW5ldyBBcnJheSh0aGlzLm91dExlbi84KSx0aGlzLlY9bmV3IEFycmF5KHRoaXMub3V0TGVuLzgpO2Zvcih2YXIgaT0wO2k8dGhpcy5WLmxlbmd0aDtpKyspdGhpcy5LW2ldPTAsdGhpcy5WW2ldPTE7dGhpcy5fdXBkYXRlKG4pLHRoaXMuX3Jlc2VlZD0xLHRoaXMucmVzZWVkSW50ZXJ2YWw9MjgxNDc0OTc2NzEwNjU2fSxzLnByb3RvdHlwZS5faG1hYz1mdW5jdGlvbigpe3JldHVybiBuZXcgbi5obWFjKHRoaXMuaGFzaCx0aGlzLkspfSxzLnByb3RvdHlwZS5fdXBkYXRlPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX2htYWMoKS51cGRhdGUodGhpcy5WKS51cGRhdGUoWzBdKTt0JiYoZT1lLnVwZGF0ZSh0KSksdGhpcy5LPWUuZGlnZXN0KCksdGhpcy5WPXRoaXMuX2htYWMoKS51cGRhdGUodGhpcy5WKS5kaWdlc3QoKSx0JiYodGhpcy5LPXRoaXMuX2htYWMoKS51cGRhdGUodGhpcy5WKS51cGRhdGUoWzFdKS51cGRhdGUodCkuZGlnZXN0KCksdGhpcy5WPXRoaXMuX2htYWMoKS51cGRhdGUodGhpcy5WKS5kaWdlc3QoKSl9LHMucHJvdG90eXBlLnJlc2VlZD1mdW5jdGlvbih0LGUscixuKXsic3RyaW5nIiE9dHlwZW9mIGUmJihuPXIscj1lLGU9bnVsbCksdD1pLnRvQXJyYXkodCxlKSxyPWkudG9BcnJheShyLG4pLG8odC5sZW5ndGg+PXRoaXMubWluRW50cm9weS84LCJOb3QgZW5vdWdoIGVudHJvcHkuIE1pbmltdW0gaXM6ICIrdGhpcy5taW5FbnRyb3B5KyIgYml0cyIpLHRoaXMuX3VwZGF0ZSh0LmNvbmNhdChyfHxbXSkpLHRoaXMuX3Jlc2VlZD0xfSxzLnByb3RvdHlwZS5nZW5lcmF0ZT1mdW5jdGlvbih0LGUscixuKXtpZih0aGlzLl9yZXNlZWQ+dGhpcy5yZXNlZWRJbnRlcnZhbCl0aHJvdyBuZXcgRXJyb3IoIlJlc2VlZCBpcyByZXF1aXJlZCIpOyJzdHJpbmciIT10eXBlb2YgZSYmKG49cixyPWUsZT1udWxsKSxyJiYocj1pLnRvQXJyYXkocixufHwiaGV4IiksdGhpcy5fdXBkYXRlKHIpKTtmb3IodmFyIG89W107by5sZW5ndGg8dDspdGhpcy5WPXRoaXMuX2htYWMoKS51cGRhdGUodGhpcy5WKS5kaWdlc3QoKSxvPW8uY29uY2F0KHRoaXMuVik7dmFyIHM9by5zbGljZSgwLHQpO3JldHVybiB0aGlzLl91cGRhdGUociksdGhpcy5fcmVzZWVkKyssaS5lbmNvZGUocyxlKX19LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49cigxNiksaT1yKDExKS5hc3NlcnQ7ZnVuY3Rpb24gbyh0LGUpe3RoaXMuZWM9dCx0aGlzLnByaXY9bnVsbCx0aGlzLnB1Yj1udWxsLGUucHJpdiYmdGhpcy5faW1wb3J0UHJpdmF0ZShlLnByaXYsZS5wcml2RW5jKSxlLnB1YiYmdGhpcy5faW1wb3J0UHVibGljKGUucHViLGUucHViRW5jKX10LmV4cG9ydHM9byxvLmZyb21QdWJsaWM9ZnVuY3Rpb24odCxlLHIpe3JldHVybiBlIGluc3RhbmNlb2Ygbz9lOm5ldyBvKHQse3B1YjplLHB1YkVuYzpyfSl9LG8uZnJvbVByaXZhdGU9ZnVuY3Rpb24odCxlLHIpe3JldHVybiBlIGluc3RhbmNlb2Ygbz9lOm5ldyBvKHQse3ByaXY6ZSxwcml2RW5jOnJ9KX0sby5wcm90b3R5cGUudmFsaWRhdGU9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmdldFB1YmxpYygpO3JldHVybiB0LmlzSW5maW5pdHkoKT97cmVzdWx0OiExLHJlYXNvbjoiSW52YWxpZCBwdWJsaWMga2V5In06dC52YWxpZGF0ZSgpP3QubXVsKHRoaXMuZWMuY3VydmUubikuaXNJbmZpbml0eSgpP3tyZXN1bHQ6ITAscmVhc29uOm51bGx9OntyZXN1bHQ6ITEscmVhc29uOiJQdWJsaWMga2V5ICogTiAhPSBPIn06e3Jlc3VsdDohMSxyZWFzb246IlB1YmxpYyBrZXkgaXMgbm90IGEgcG9pbnQifX0sby5wcm90b3R5cGUuZ2V0UHVibGljPWZ1bmN0aW9uKHQsZSl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0JiYoZT10LHQ9bnVsbCksdGhpcy5wdWJ8fCh0aGlzLnB1Yj10aGlzLmVjLmcubXVsKHRoaXMucHJpdikpLGU/dGhpcy5wdWIuZW5jb2RlKGUsdCk6dGhpcy5wdWJ9LG8ucHJvdG90eXBlLmdldFByaXZhdGU9ZnVuY3Rpb24odCl7cmV0dXJuImhleCI9PT10P3RoaXMucHJpdi50b1N0cmluZygxNiwyKTp0aGlzLnByaXZ9LG8ucHJvdG90eXBlLl9pbXBvcnRQcml2YXRlPWZ1bmN0aW9uKHQsZSl7dGhpcy5wcml2PW5ldyBuKHQsZXx8MTYpLHRoaXMucHJpdj10aGlzLnByaXYudW1vZCh0aGlzLmVjLmN1cnZlLm4pfSxvLnByb3RvdHlwZS5faW1wb3J0UHVibGljPWZ1bmN0aW9uKHQsZSl7aWYodC54fHx0LnkpcmV0dXJuIm1vbnQiPT09dGhpcy5lYy5jdXJ2ZS50eXBlP2kodC54LCJOZWVkIHggY29vcmRpbmF0ZSIpOiJzaG9ydCIhPT10aGlzLmVjLmN1cnZlLnR5cGUmJiJlZHdhcmRzIiE9PXRoaXMuZWMuY3VydmUudHlwZXx8aSh0LngmJnQueSwiTmVlZCBib3RoIHggYW5kIHkgY29vcmRpbmF0ZSIpLHZvaWQodGhpcy5wdWI9dGhpcy5lYy5jdXJ2ZS5wb2ludCh0LngsdC55KSk7dGhpcy5wdWI9dGhpcy5lYy5jdXJ2ZS5kZWNvZGVQb2ludCh0LGUpfSxvLnByb3RvdHlwZS5kZXJpdmU9ZnVuY3Rpb24odCl7cmV0dXJuIHQudmFsaWRhdGUoKXx8aSh0LnZhbGlkYXRlKCksInB1YmxpYyBwb2ludCBub3QgdmFsaWRhdGVkIiksdC5tdWwodGhpcy5wcml2KS5nZXRYKCl9LG8ucHJvdG90eXBlLnNpZ249ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0aGlzLmVjLnNpZ24odCx0aGlzLGUscil9LG8ucHJvdG90eXBlLnZlcmlmeT1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLmVjLnZlcmlmeSh0LGUsdGhpcyl9LG8ucHJvdG90eXBlLmluc3BlY3Q9ZnVuY3Rpb24oKXtyZXR1cm4iPEtleSBwcml2OiAiKyh0aGlzLnByaXYmJnRoaXMucHJpdi50b1N0cmluZygxNiwyKSkrIiBwdWI6ICIrKHRoaXMucHViJiZ0aGlzLnB1Yi5pbnNwZWN0KCkpKyIgPiJ9fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXIoMTYpLGk9cigxMSksbz1pLmFzc2VydDtmdW5jdGlvbiBzKHQsZSl7aWYodCBpbnN0YW5jZW9mIHMpcmV0dXJuIHQ7dGhpcy5faW1wb3J0REVSKHQsZSl8fChvKHQuciYmdC5zLCJTaWduYXR1cmUgd2l0aG91dCByIG9yIHMiKSx0aGlzLnI9bmV3IG4odC5yLDE2KSx0aGlzLnM9bmV3IG4odC5zLDE2KSx2b2lkIDA9PT10LnJlY292ZXJ5UGFyYW0/dGhpcy5yZWNvdmVyeVBhcmFtPW51bGw6dGhpcy5yZWNvdmVyeVBhcmFtPXQucmVjb3ZlcnlQYXJhbSl9ZnVuY3Rpb24gYSgpe3RoaXMucGxhY2U9MH1mdW5jdGlvbiB1KHQsZSl7dmFyIHI9dFtlLnBsYWNlKytdO2lmKCEoMTI4JnIpKXJldHVybiByO3ZhciBuPTE1JnI7aWYoMD09PW58fG4+NClyZXR1cm4hMTtmb3IodmFyIGk9MCxvPTAscz1lLnBsYWNlO288bjtvKysscysrKWk8PD04LGl8PXRbc10saT4+Pj0wO3JldHVybiEoaTw9MTI3KSYmKGUucGxhY2U9cyxpKX1mdW5jdGlvbiBjKHQpe2Zvcih2YXIgZT0wLHI9dC5sZW5ndGgtMTshdFtlXSYmISgxMjgmdFtlKzFdKSYmZTxyOyllKys7cmV0dXJuIDA9PT1lP3Q6dC5zbGljZShlKX1mdW5jdGlvbiBmKHQsZSl7aWYoZTwxMjgpdC5wdXNoKGUpO2Vsc2V7dmFyIHI9MSsoTWF0aC5sb2coZSkvTWF0aC5MTjI+Pj4zKTtmb3IodC5wdXNoKDEyOHxyKTstLXI7KXQucHVzaChlPj4+KHI8PDMpJjI1NSk7dC5wdXNoKGUpfX10LmV4cG9ydHM9cyxzLnByb3RvdHlwZS5faW1wb3J0REVSPWZ1bmN0aW9uKHQsZSl7dD1pLnRvQXJyYXkodCxlKTt2YXIgcj1uZXcgYTtpZig0OCE9PXRbci5wbGFjZSsrXSlyZXR1cm4hMTt2YXIgbz11KHQscik7aWYoITE9PT1vKXJldHVybiExO2lmKG8rci5wbGFjZSE9PXQubGVuZ3RoKXJldHVybiExO2lmKDIhPT10W3IucGxhY2UrK10pcmV0dXJuITE7dmFyIHM9dSh0LHIpO2lmKCExPT09cylyZXR1cm4hMTt2YXIgYz10LnNsaWNlKHIucGxhY2UscytyLnBsYWNlKTtpZihyLnBsYWNlKz1zLDIhPT10W3IucGxhY2UrK10pcmV0dXJuITE7dmFyIGY9dSh0LHIpO2lmKCExPT09ZilyZXR1cm4hMTtpZih0Lmxlbmd0aCE9PWYrci5wbGFjZSlyZXR1cm4hMTt2YXIgaD10LnNsaWNlKHIucGxhY2UsZityLnBsYWNlKTtpZigwPT09Y1swXSl7aWYoISgxMjgmY1sxXSkpcmV0dXJuITE7Yz1jLnNsaWNlKDEpfWlmKDA9PT1oWzBdKXtpZighKDEyOCZoWzFdKSlyZXR1cm4hMTtoPWguc2xpY2UoMSl9cmV0dXJuIHRoaXMucj1uZXcgbihjKSx0aGlzLnM9bmV3IG4oaCksdGhpcy5yZWNvdmVyeVBhcmFtPW51bGwsITB9LHMucHJvdG90eXBlLnRvREVSPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuci50b0FycmF5KCkscj10aGlzLnMudG9BcnJheSgpO2ZvcigxMjgmZVswXSYmKGU9WzBdLmNvbmNhdChlKSksMTI4JnJbMF0mJihyPVswXS5jb25jYXQocikpLGU9YyhlKSxyPWMocik7IShyWzBdfHwxMjgmclsxXSk7KXI9ci5zbGljZSgxKTt2YXIgbj1bMl07ZihuLGUubGVuZ3RoKSwobj1uLmNvbmNhdChlKSkucHVzaCgyKSxmKG4sci5sZW5ndGgpO3ZhciBvPW4uY29uY2F0KHIpLHM9WzQ4XTtyZXR1cm4gZihzLG8ubGVuZ3RoKSxzPXMuY29uY2F0KG8pLGkuZW5jb2RlKHMsdCl9fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXIoNjApLGk9cig1OSksbz1yKDExKSxzPW8uYXNzZXJ0LGE9by5wYXJzZUJ5dGVzLHU9cigyNjIpLGM9cigyNjMpO2Z1bmN0aW9uIGYodCl7aWYocygiZWQyNTUxOSI9PT10LCJvbmx5IHRlc3RlZCB3aXRoIGVkMjU1MTkgc28gZmFyIiksISh0aGlzIGluc3RhbmNlb2YgZikpcmV0dXJuIG5ldyBmKHQpO3Q9aVt0XS5jdXJ2ZSx0aGlzLmN1cnZlPXQsdGhpcy5nPXQuZyx0aGlzLmcucHJlY29tcHV0ZSh0Lm4uYml0TGVuZ3RoKCkrMSksdGhpcy5wb2ludENsYXNzPXQucG9pbnQoKS5jb25zdHJ1Y3Rvcix0aGlzLmVuY29kaW5nTGVuZ3RoPU1hdGguY2VpbCh0Lm4uYml0TGVuZ3RoKCkvOCksdGhpcy5oYXNoPW4uc2hhNTEyfXQuZXhwb3J0cz1mLGYucHJvdG90eXBlLnNpZ249ZnVuY3Rpb24odCxlKXt0PWEodCk7dmFyIHI9dGhpcy5rZXlGcm9tU2VjcmV0KGUpLG49dGhpcy5oYXNoSW50KHIubWVzc2FnZVByZWZpeCgpLHQpLGk9dGhpcy5nLm11bChuKSxvPXRoaXMuZW5jb2RlUG9pbnQoaSkscz10aGlzLmhhc2hJbnQobyxyLnB1YkJ5dGVzKCksdCkubXVsKHIucHJpdigpKSx1PW4uYWRkKHMpLnVtb2QodGhpcy5jdXJ2ZS5uKTtyZXR1cm4gdGhpcy5tYWtlU2lnbmF0dXJlKHtSOmksUzp1LFJlbmNvZGVkOm99KX0sZi5wcm90b3R5cGUudmVyaWZ5PWZ1bmN0aW9uKHQsZSxyKXt0PWEodCksZT10aGlzLm1ha2VTaWduYXR1cmUoZSk7dmFyIG49dGhpcy5rZXlGcm9tUHVibGljKHIpLGk9dGhpcy5oYXNoSW50KGUuUmVuY29kZWQoKSxuLnB1YkJ5dGVzKCksdCksbz10aGlzLmcubXVsKGUuUygpKTtyZXR1cm4gZS5SKCkuYWRkKG4ucHViKCkubXVsKGkpKS5lcShvKX0sZi5wcm90b3R5cGUuaGFzaEludD1mdW5jdGlvbigpe2Zvcih2YXIgdD10aGlzLmhhc2goKSxlPTA7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKyl0LnVwZGF0ZShhcmd1bWVudHNbZV0pO3JldHVybiBvLmludEZyb21MRSh0LmRpZ2VzdCgpKS51bW9kKHRoaXMuY3VydmUubil9LGYucHJvdG90eXBlLmtleUZyb21QdWJsaWM9ZnVuY3Rpb24odCl7cmV0dXJuIHUuZnJvbVB1YmxpYyh0aGlzLHQpfSxmLnByb3RvdHlwZS5rZXlGcm9tU2VjcmV0PWZ1bmN0aW9uKHQpe3JldHVybiB1LmZyb21TZWNyZXQodGhpcyx0KX0sZi5wcm90b3R5cGUubWFrZVNpZ25hdHVyZT1mdW5jdGlvbih0KXtyZXR1cm4gdCBpbnN0YW5jZW9mIGM/dDpuZXcgYyh0aGlzLHQpfSxmLnByb3RvdHlwZS5lbmNvZGVQb2ludD1mdW5jdGlvbih0KXt2YXIgZT10LmdldFkoKS50b0FycmF5KCJsZSIsdGhpcy5lbmNvZGluZ0xlbmd0aCk7cmV0dXJuIGVbdGhpcy5lbmNvZGluZ0xlbmd0aC0xXXw9dC5nZXRYKCkuaXNPZGQoKT8xMjg6MCxlfSxmLnByb3RvdHlwZS5kZWNvZGVQb2ludD1mdW5jdGlvbih0KXt2YXIgZT0odD1vLnBhcnNlQnl0ZXModCkpLmxlbmd0aC0xLHI9dC5zbGljZSgwLGUpLmNvbmNhdCgtMTI5JnRbZV0pLG49MCE9KDEyOCZ0W2VdKSxpPW8uaW50RnJvbUxFKHIpO3JldHVybiB0aGlzLmN1cnZlLnBvaW50RnJvbVkoaSxuKX0sZi5wcm90b3R5cGUuZW5jb2RlSW50PWZ1bmN0aW9uKHQpe3JldHVybiB0LnRvQXJyYXkoImxlIix0aGlzLmVuY29kaW5nTGVuZ3RoKX0sZi5wcm90b3R5cGUuZGVjb2RlSW50PWZ1bmN0aW9uKHQpe3JldHVybiBvLmludEZyb21MRSh0KX0sZi5wcm90b3R5cGUuaXNQb2ludD1mdW5jdGlvbih0KXtyZXR1cm4gdCBpbnN0YW5jZW9mIHRoaXMucG9pbnRDbGFzc319LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49cigxMSksaT1uLmFzc2VydCxvPW4ucGFyc2VCeXRlcyxzPW4uY2FjaGVkUHJvcGVydHk7ZnVuY3Rpb24gYSh0LGUpe3RoaXMuZWRkc2E9dCx0aGlzLl9zZWNyZXQ9byhlLnNlY3JldCksdC5pc1BvaW50KGUucHViKT90aGlzLl9wdWI9ZS5wdWI6dGhpcy5fcHViQnl0ZXM9byhlLnB1Yil9YS5mcm9tUHVibGljPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBhP2U6bmV3IGEodCx7cHViOmV9KX0sYS5mcm9tU2VjcmV0PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBhP2U6bmV3IGEodCx7c2VjcmV0OmV9KX0sYS5wcm90b3R5cGUuc2VjcmV0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3NlY3JldH0scyhhLCJwdWJCeXRlcyIsKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZWRkc2EuZW5jb2RlUG9pbnQodGhpcy5wdWIoKSl9KSkscyhhLCJwdWIiLChmdW5jdGlvbigpe3JldHVybiB0aGlzLl9wdWJCeXRlcz90aGlzLmVkZHNhLmRlY29kZVBvaW50KHRoaXMuX3B1YkJ5dGVzKTp0aGlzLmVkZHNhLmcubXVsKHRoaXMucHJpdigpKX0pKSxzKGEsInByaXZCeXRlcyIsKGZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5lZGRzYSxlPXRoaXMuaGFzaCgpLHI9dC5lbmNvZGluZ0xlbmd0aC0xLG49ZS5zbGljZSgwLHQuZW5jb2RpbmdMZW5ndGgpO3JldHVybiBuWzBdJj0yNDgsbltyXSY9MTI3LG5bcl18PTY0LG59KSkscyhhLCJwcml2IiwoZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lZGRzYS5kZWNvZGVJbnQodGhpcy5wcml2Qnl0ZXMoKSl9KSkscyhhLCJoYXNoIiwoZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lZGRzYS5oYXNoKCkudXBkYXRlKHRoaXMuc2VjcmV0KCkpLmRpZ2VzdCgpfSkpLHMoYSwibWVzc2FnZVByZWZpeCIsKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaGFzaCgpLnNsaWNlKHRoaXMuZWRkc2EuZW5jb2RpbmdMZW5ndGgpfSkpLGEucHJvdG90eXBlLnNpZ249ZnVuY3Rpb24odCl7cmV0dXJuIGkodGhpcy5fc2VjcmV0LCJLZXlQYWlyIGNhbiBvbmx5IHZlcmlmeSIpLHRoaXMuZWRkc2Euc2lnbih0LHRoaXMpfSxhLnByb3RvdHlwZS52ZXJpZnk9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5lZGRzYS52ZXJpZnkodCxlLHRoaXMpfSxhLnByb3RvdHlwZS5nZXRTZWNyZXQ9ZnVuY3Rpb24odCl7cmV0dXJuIGkodGhpcy5fc2VjcmV0LCJLZXlQYWlyIGlzIHB1YmxpYyBvbmx5Iiksbi5lbmNvZGUodGhpcy5zZWNyZXQoKSx0KX0sYS5wcm90b3R5cGUuZ2V0UHVibGljPWZ1bmN0aW9uKHQpe3JldHVybiBuLmVuY29kZSh0aGlzLnB1YkJ5dGVzKCksdCl9LHQuZXhwb3J0cz1hfSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXIoMTYpLGk9cigxMSksbz1pLmFzc2VydCxzPWkuY2FjaGVkUHJvcGVydHksYT1pLnBhcnNlQnl0ZXM7ZnVuY3Rpb24gdSh0LGUpe3RoaXMuZWRkc2E9dCwib2JqZWN0IiE9dHlwZW9mIGUmJihlPWEoZSkpLEFycmF5LmlzQXJyYXkoZSkmJihlPXtSOmUuc2xpY2UoMCx0LmVuY29kaW5nTGVuZ3RoKSxTOmUuc2xpY2UodC5lbmNvZGluZ0xlbmd0aCl9KSxvKGUuUiYmZS5TLCJTaWduYXR1cmUgd2l0aG91dCBSIG9yIFMiKSx0LmlzUG9pbnQoZS5SKSYmKHRoaXMuX1I9ZS5SKSxlLlMgaW5zdGFuY2VvZiBuJiYodGhpcy5fUz1lLlMpLHRoaXMuX1JlbmNvZGVkPUFycmF5LmlzQXJyYXkoZS5SKT9lLlI6ZS5SZW5jb2RlZCx0aGlzLl9TZW5jb2RlZD1BcnJheS5pc0FycmF5KGUuUyk/ZS5TOmUuU2VuY29kZWR9cyh1LCJTIiwoZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lZGRzYS5kZWNvZGVJbnQodGhpcy5TZW5jb2RlZCgpKX0pKSxzKHUsIlIiLChmdW5jdGlvbigpe3JldHVybiB0aGlzLmVkZHNhLmRlY29kZVBvaW50KHRoaXMuUmVuY29kZWQoKSl9KSkscyh1LCJSZW5jb2RlZCIsKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZWRkc2EuZW5jb2RlUG9pbnQodGhpcy5SKCkpfSkpLHModSwiU2VuY29kZWQiLChmdW5jdGlvbigpe3JldHVybiB0aGlzLmVkZHNhLmVuY29kZUludCh0aGlzLlMoKSl9KSksdS5wcm90b3R5cGUudG9CeXRlcz1mdW5jdGlvbigpe3JldHVybiB0aGlzLlJlbmNvZGVkKCkuY29uY2F0KHRoaXMuU2VuY29kZWQoKSl9LHUucHJvdG90eXBlLnRvSGV4PWZ1bmN0aW9uKCl7cmV0dXJuIGkuZW5jb2RlKHRoaXMudG9CeXRlcygpLCJoZXgiKS50b1VwcGVyQ2FzZSgpfSx0LmV4cG9ydHM9dX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49cigyNjUpO2UuZ2V0UmFuZG9tQnl0ZXM9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbihlLHIpe24odCwoZnVuY3Rpb24odCxuKXt0P3IodCk6ZShuKX0pKX0pKX0sZS5nZXRSYW5kb21CeXRlc1N5bmM9ZnVuY3Rpb24odCl7cmV0dXJuIG4odCl9fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiOyhmdW5jdGlvbihlLG4pe3ZhciBpPXIoMTMpLkJ1ZmZlcixvPWUuY3J5cHRvfHxlLm1zQ3J5cHRvO28mJm8uZ2V0UmFuZG9tVmFsdWVzP3QuZXhwb3J0cz1mdW5jdGlvbih0LGUpe2lmKHQ+NDI5NDk2NzI5NSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigicmVxdWVzdGVkIHRvbyBtYW55IHJhbmRvbSBieXRlcyIpO3ZhciByPWkuYWxsb2NVbnNhZmUodCk7aWYodD4wKWlmKHQ+NjU1MzYpZm9yKHZhciBzPTA7czx0O3MrPTY1NTM2KW8uZ2V0UmFuZG9tVmFsdWVzKHIuc2xpY2UocyxzKzY1NTM2KSk7ZWxzZSBvLmdldFJhbmRvbVZhbHVlcyhyKTtpZigiZnVuY3Rpb24iPT10eXBlb2YgZSlyZXR1cm4gbi5uZXh0VGljaygoZnVuY3Rpb24oKXtlKG51bGwscil9KSk7cmV0dXJuIHJ9OnQuZXhwb3J0cz1mdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcigiU2VjdXJlIHJhbmRvbSBudW1iZXIgZ2VuZXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMgYnJvd3Nlci5cblVzZSBDaHJvbWUsIEZpcmVmb3ggb3IgSW50ZXJuZXQgRXhwbG9yZXIgMTEiKX19KS5jYWxsKHRoaXMscig2KSxyKDUpKX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjsoZnVuY3Rpb24odCl7dmFyIG49cig5KSxpPW5ldygwLHIoNTgpLmVjKSgic2VjcDI1NmsxIiksbz1pLmN1cnZlO2UucHJpdmF0ZUtleUV4cG9ydD1mdW5jdGlvbih0LGUpe3ZhciByPW5ldyBuKHQpO2lmKHIudWNtcChvLm4pPj0wKXRocm93IG5ldyBFcnJvcigiY291bGRuJ3QgZXhwb3J0IHRvIERFUiBmb3JtYXQiKTt2YXIgYT1pLmcubXVsKHIpO3JldHVybiBzKGEuZ2V0WCgpLGEuZ2V0WSgpLGUpfSxlLnByaXZhdGVLZXlNb2RJbnZlcnNlPWZ1bmN0aW9uKGUpe3ZhciByPW5ldyBuKGUpO2lmKHIudWNtcChvLm4pPj0wfHxyLmlzWmVybygpKXRocm93IG5ldyBFcnJvcigicHJpdmF0ZSBrZXkgcmFuZ2UgaXMgaW52YWxpZCIpO3JldHVybiByLmludm0oby5uKS50b0FycmF5TGlrZSh0LCJiZSIsMzIpfSxlLnNpZ25hdHVyZUltcG9ydD1mdW5jdGlvbihlKXt2YXIgcj1uZXcgbihlLnIpO3IudWNtcChvLm4pPj0wJiYocj1uZXcgbigwKSk7dmFyIGk9bmV3IG4oZS5zKTtyZXR1cm4gaS51Y21wKG8ubik+PTAmJihpPW5ldyBuKDApKSx0LmNvbmNhdChbci50b0FycmF5TGlrZSh0LCJiZSIsMzIpLGkudG9BcnJheUxpa2UodCwiYmUiLDMyKV0pfSxlLmVjZGhVbnNhZmU9ZnVuY3Rpb24odCxlLHIpe3ZhciBhPWkua2V5RnJvbVB1YmxpYyh0KSx1PW5ldyBuKGUpO2lmKHUudWNtcChvLm4pPj0wfHx1LmlzWmVybygpKXRocm93IG5ldyBFcnJvcigic2NhbGFyIHdhcyBpbnZhbGlkICh6ZXJvIG9yIG92ZXJmbG93KSIpO3ZhciBjPWEucHViLm11bCh1KTtyZXR1cm4gcyhjLmdldFgoKSxjLmdldFkoKSxyKX07dmFyIHM9ZnVuY3Rpb24oZSxyLG4pe3ZhciBpPXZvaWQgMDtyZXR1cm4gbj8oKGk9dC5hbGxvYygzMykpWzBdPXIuaXNPZGQoKT8zOjIsZS50b0FycmF5TGlrZSh0LCJiZSIsMzIpLmNvcHkoaSwxKSk6KChpPXQuYWxsb2MoNjUpKVswXT00LGUudG9BcnJheUxpa2UodCwiYmUiLDMyKS5jb3B5KGksMSksci50b0FycmF5TGlrZSh0LCJiZSIsMzIpLmNvcHkoaSwzMykpLGl9fSkuY2FsbCh0aGlzLHIoMikuQnVmZmVyKX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjsoZnVuY3Rpb24odCl7dmFyIHI9dC5mcm9tKFs0OCwxMjksMjExLDIsMSwxLDQsMzIsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDE2MCwxMjksMTMzLDQ4LDEyOSwxMzAsMiwxLDEsNDgsNDQsNiw3LDQyLDEzNCw3MiwyMDYsNjEsMSwxLDIsMzMsMCwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTQsMjU1LDI1NSwyNTIsNDcsNDgsNiw0LDEsMCw0LDEsNyw0LDMzLDIsMTIxLDE5MCwxMDIsMTI2LDI0OSwyMjAsMTg3LDE3Miw4NSwxNjAsOTgsMTQ5LDIwNiwxMzUsMTEsNywyLDE1NSwyNTIsMjE5LDQ1LDIwNiw0MCwyMTcsODksMjQyLDEyOSw5MSwyMiwyNDgsMjMsMTUyLDIsMzMsMCwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTQsMTg2LDE3NCwyMjAsMjMwLDE3NSw3MiwxNjAsNTksMTkxLDIxMCw5NCwxNDAsMjA4LDU0LDY1LDY1LDIsMSwxLDE2MSwzNiwzLDM0LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDBdKSxuPXQuZnJvbShbNDgsMTMwLDEsMTksMiwxLDEsNCwzMiwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMTYwLDEyOSwxNjUsNDgsMTI5LDE2MiwyLDEsMSw0OCw0NCw2LDcsNDIsMTM0LDcyLDIwNiw2MSwxLDEsMiwzMywwLDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NCwyNTUsMjU1LDI1Miw0Nyw0OCw2LDQsMSwwLDQsMSw3LDQsNjUsNCwxMjEsMTkwLDEwMiwxMjYsMjQ5LDIyMCwxODcsMTcyLDg1LDE2MCw5OCwxNDksMjA2LDEzNSwxMSw3LDIsMTU1LDI1MiwyMTksNDUsMjA2LDQwLDIxNyw4OSwyNDIsMTI5LDkxLDIyLDI0OCwyMywxNTIsNzIsNTgsMjE4LDExOSwzOCwxNjMsMTk2LDEwMSw5MywxNjQsMjUxLDI1MiwxNCwxNyw4LDE2OCwyNTMsMjMsMTgwLDcyLDE2NiwxMzMsODQsMjUsMTU2LDcxLDIwOCwxNDMsMjUxLDE2LDIxMiwxODQsMiwzMywwLDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NCwxODYsMTc0LDIyMCwyMzAsMTc1LDcyLDE2MCw1OSwxOTEsMjEwLDk0LDE0MCwyMDgsNTQsNjUsNjUsMiwxLDEsMTYxLDY4LDMsNjYsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDBdKTtlLnByaXZhdGVLZXlFeHBvcnQ9ZnVuY3Rpb24oZSxpLG8pe3ZhciBzPXQuZnJvbShvP3I6bik7cmV0dXJuIGUuY29weShzLG8/ODo5KSxpLmNvcHkocyxvPzE4MToyMTQpLHN9LGUucHJpdmF0ZUtleUltcG9ydD1mdW5jdGlvbih0KXt2YXIgZT10Lmxlbmd0aCxyPTA7aWYoZTxyKzF8fDQ4IT09dFtyXSlyZXR1cm4gbnVsbDtpZihlPChyKz0xKSsxfHwhKDEyOCZ0W3JdKSlyZXR1cm4gbnVsbDt2YXIgbj0xMjcmdFtyXTtpZihuPDF8fG4+MilyZXR1cm4gbnVsbDtpZihlPChyKz0xKStuKXJldHVybiBudWxsO3ZhciBpPXRbcituLTFdfChuPjE/dFtyK24tMl08PDg6MCk7cmV0dXJuIGU8KHIrPW4pK2l8fGU8ciszfHwyIT09dFtyXXx8MSE9PXRbcisxXXx8MSE9PXRbcisyXXx8ZTwocis9MykrMnx8NCE9PXRbcl18fHRbcisxXT4zMnx8ZTxyKzIrdFtyKzFdP251bGw6dC5zbGljZShyKzIscisyK3RbcisxXSl9LGUuc2lnbmF0dXJlSW1wb3J0TGF4PWZ1bmN0aW9uKGUpe3ZhciByPXQuYWxsb2MoMzIsMCksbj10LmFsbG9jKDMyLDApLGk9ZS5sZW5ndGgsbz0wO2lmKDQ4IT09ZVtvKytdKXJldHVybiBudWxsO3ZhciBzPWVbbysrXTtpZigxMjgmcyYmKG8rPXMtMTI4KT5pKXJldHVybiBudWxsO2lmKDIhPT1lW28rK10pcmV0dXJuIG51bGw7dmFyIGE9ZVtvKytdO2lmKDEyOCZhKXtpZihvKyhzPWEtMTI4KT5pKXJldHVybiBudWxsO2Zvcig7cz4wJiYwPT09ZVtvXTtvKz0xLHMtPTEpO2ZvcihhPTA7cz4wO28rPTEscy09MSlhPShhPDw4KStlW29dfWlmKGE+aS1vKXJldHVybiBudWxsO3ZhciB1PW87aWYobys9YSwyIT09ZVtvKytdKXJldHVybiBudWxsO3ZhciBjPWVbbysrXTtpZigxMjgmYyl7aWYobysocz1jLTEyOCk+aSlyZXR1cm4gbnVsbDtmb3IoO3M+MCYmMD09PWVbb107bys9MSxzLT0xKTtmb3IoYz0wO3M+MDtvKz0xLHMtPTEpYz0oYzw8OCkrZVtvXX1pZihjPmktbylyZXR1cm4gbnVsbDt2YXIgZj1vO2ZvcihvKz1jO2E+MCYmMD09PWVbdV07YS09MSx1Kz0xKTtpZihhPjMyKXJldHVybiBudWxsO3ZhciBoPWUuc2xpY2UodSx1K2EpO2ZvcihoLmNvcHkociwzMi1oLmxlbmd0aCk7Yz4wJiYwPT09ZVtmXTtjLT0xLGYrPTEpO2lmKGM+MzIpcmV0dXJuIG51bGw7dmFyIGw9ZS5zbGljZShmLGYrYyk7cmV0dXJuIGwuY29weShuLDMyLWwubGVuZ3RoKSx7cjpyLHM6bn19fSkuY2FsbCh0aGlzLHIoMikuQnVmZmVyKX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjsKLyoKb2JqZWN0LWFzc2lnbgooYykgU2luZHJlIFNvcmh1cwpAbGljZW5zZSBNSVQKKi92YXIgbj1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzLGk9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxvPU9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGU7ZnVuY3Rpb24gcyh0KXtpZihudWxsPT10KXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdC5hc3NpZ24gY2Fubm90IGJlIGNhbGxlZCB3aXRoIG51bGwgb3IgdW5kZWZpbmVkIik7cmV0dXJuIE9iamVjdCh0KX10LmV4cG9ydHM9ZnVuY3Rpb24oKXt0cnl7aWYoIU9iamVjdC5hc3NpZ24pcmV0dXJuITE7dmFyIHQ9bmV3IFN0cmluZygiYWJjIik7aWYodFs1XT0iZGUiLCI1Ij09PU9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHQpWzBdKXJldHVybiExO2Zvcih2YXIgZT17fSxyPTA7cjwxMDtyKyspZVsiXyIrU3RyaW5nLmZyb21DaGFyQ29kZShyKV09cjtpZigiMDEyMzQ1Njc4OSIhPT1PYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhlKS5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiBlW3RdfSkpLmpvaW4oIiIpKXJldHVybiExO3ZhciBuPXt9O3JldHVybiJhYmNkZWZnaGlqa2xtbm9wcXJzdCIuc3BsaXQoIiIpLmZvckVhY2goKGZ1bmN0aW9uKHQpe25bdF09dH0pKSwiYWJjZGVmZ2hpamtsbW5vcHFyc3QiPT09T2JqZWN0LmtleXMoT2JqZWN0LmFzc2lnbih7fSxuKSkuam9pbigiIil9Y2F0Y2godCl7cmV0dXJuITF9fSgpP09iamVjdC5hc3NpZ246ZnVuY3Rpb24odCxlKXtmb3IodmFyIHIsYSx1PXModCksYz0xO2M8YXJndW1lbnRzLmxlbmd0aDtjKyspe2Zvcih2YXIgZiBpbiByPU9iamVjdChhcmd1bWVudHNbY10pKWkuY2FsbChyLGYpJiYodVtmXT1yW2ZdKTtpZihuKXthPW4ocik7Zm9yKHZhciBoPTA7aDxhLmxlbmd0aDtoKyspby5jYWxsKHIsYVtoXSkmJih1W2FbaF1dPXJbYVtoXV0pfX1yZXR1cm4gdX19LGZ1bmN0aW9uKHQsZSxyKXsoZnVuY3Rpb24odCl7IWZ1bmN0aW9uKHQsZSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4odCxlKXtpZighdCl0aHJvdyBuZXcgRXJyb3IoZXx8IkFzc2VydGlvbiBmYWlsZWQiKX1mdW5jdGlvbiBpKHQsZSl7dC5zdXBlcl89ZTt2YXIgcj1mdW5jdGlvbigpe307ci5wcm90b3R5cGU9ZS5wcm90b3R5cGUsdC5wcm90b3R5cGU9bmV3IHIsdC5wcm90b3R5cGUuY29uc3RydWN0b3I9dH1mdW5jdGlvbiBvKHQsZSxyKXtpZihvLmlzQk4odCkpcmV0dXJuIHQ7dGhpcy5uZWdhdGl2ZT0wLHRoaXMud29yZHM9bnVsbCx0aGlzLmxlbmd0aD0wLHRoaXMucmVkPW51bGwsbnVsbCE9PXQmJigibGUiIT09ZSYmImJlIiE9PWV8fChyPWUsZT0xMCksdGhpcy5faW5pdCh0fHwwLGV8fDEwLHJ8fCJiZSIpKX12YXIgczsib2JqZWN0Ij09dHlwZW9mIHQ/dC5leHBvcnRzPW86ZS5CTj1vLG8uQk49byxvLndvcmRTaXplPTI2O3RyeXtzPSJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiZ2b2lkIDAhPT13aW5kb3cuQnVmZmVyP3dpbmRvdy5CdWZmZXI6cigyNzApLkJ1ZmZlcn1jYXRjaCh0KXt9ZnVuY3Rpb24gYSh0LGUpe3ZhciByPXQuY2hhckNvZGVBdChlKTtyZXR1cm4gcj49NDgmJnI8PTU3P3ItNDg6cj49NjUmJnI8PTcwP3ItNTU6cj49OTcmJnI8PTEwMj9yLTg3OnZvaWQgbighMSwiSW52YWxpZCBjaGFyYWN0ZXIgaW4gIit0KX1mdW5jdGlvbiB1KHQsZSxyKXt2YXIgbj1hKHQscik7cmV0dXJuIHItMT49ZSYmKG58PWEodCxyLTEpPDw0KSxufWZ1bmN0aW9uIGModCxlLHIsaSl7Zm9yKHZhciBvPTAscz0wLGE9TWF0aC5taW4odC5sZW5ndGgsciksdT1lO3U8YTt1Kyspe3ZhciBjPXQuY2hhckNvZGVBdCh1KS00ODtvKj1pLHM9Yz49NDk/Yy00OSsxMDpjPj0xNz9jLTE3KzEwOmMsbihjPj0wJiZzPGksIkludmFsaWQgY2hhcmFjdGVyIiksbys9c31yZXR1cm4gb31mdW5jdGlvbiBmKHQsZSl7dC53b3Jkcz1lLndvcmRzLHQubGVuZ3RoPWUubGVuZ3RoLHQubmVnYXRpdmU9ZS5uZWdhdGl2ZSx0LnJlZD1lLnJlZH1pZihvLmlzQk49ZnVuY3Rpb24odCl7cmV0dXJuIHQgaW5zdGFuY2VvZiBvfHxudWxsIT09dCYmIm9iamVjdCI9PXR5cGVvZiB0JiZ0LmNvbnN0cnVjdG9yLndvcmRTaXplPT09by53b3JkU2l6ZSYmQXJyYXkuaXNBcnJheSh0LndvcmRzKX0sby5tYXg9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdC5jbXAoZSk+MD90OmV9LG8ubWluPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQuY21wKGUpPDA/dDplfSxvLnByb3RvdHlwZS5faW5pdD1mdW5jdGlvbih0LGUscil7aWYoIm51bWJlciI9PXR5cGVvZiB0KXJldHVybiB0aGlzLl9pbml0TnVtYmVyKHQsZSxyKTtpZigib2JqZWN0Ij09dHlwZW9mIHQpcmV0dXJuIHRoaXMuX2luaXRBcnJheSh0LGUscik7ImhleCI9PT1lJiYoZT0xNiksbihlPT09KDB8ZSkmJmU+PTImJmU8PTM2KTt2YXIgaT0wOyItIj09PSh0PXQudG9TdHJpbmcoKS5yZXBsYWNlKC9ccysvZywiIikpWzBdJiYoaSsrLHRoaXMubmVnYXRpdmU9MSksaTx0Lmxlbmd0aCYmKDE2PT09ZT90aGlzLl9wYXJzZUhleCh0LGkscik6KHRoaXMuX3BhcnNlQmFzZSh0LGUsaSksImxlIj09PXImJnRoaXMuX2luaXRBcnJheSh0aGlzLnRvQXJyYXkoKSxlLHIpKSl9LG8ucHJvdG90eXBlLl9pbml0TnVtYmVyPWZ1bmN0aW9uKHQsZSxyKXt0PDAmJih0aGlzLm5lZ2F0aXZlPTEsdD0tdCksdDw2NzEwODg2ND8odGhpcy53b3Jkcz1bNjcxMDg4NjMmdF0sdGhpcy5sZW5ndGg9MSk6dDw0NTAzNTk5NjI3MzcwNDk2Pyh0aGlzLndvcmRzPVs2NzEwODg2MyZ0LHQvNjcxMDg4NjQmNjcxMDg4NjNdLHRoaXMubGVuZ3RoPTIpOihuKHQ8OTAwNzE5OTI1NDc0MDk5MiksdGhpcy53b3Jkcz1bNjcxMDg4NjMmdCx0LzY3MTA4ODY0JjY3MTA4ODYzLDFdLHRoaXMubGVuZ3RoPTMpLCJsZSI9PT1yJiZ0aGlzLl9pbml0QXJyYXkodGhpcy50b0FycmF5KCksZSxyKX0sby5wcm90b3R5cGUuX2luaXRBcnJheT1mdW5jdGlvbih0LGUscil7aWYobigibnVtYmVyIj09dHlwZW9mIHQubGVuZ3RoKSx0Lmxlbmd0aDw9MClyZXR1cm4gdGhpcy53b3Jkcz1bMF0sdGhpcy5sZW5ndGg9MSx0aGlzO3RoaXMubGVuZ3RoPU1hdGguY2VpbCh0Lmxlbmd0aC8zKSx0aGlzLndvcmRzPW5ldyBBcnJheSh0aGlzLmxlbmd0aCk7Zm9yKHZhciBpPTA7aTx0aGlzLmxlbmd0aDtpKyspdGhpcy53b3Jkc1tpXT0wO3ZhciBvLHMsYT0wO2lmKCJiZSI9PT1yKWZvcihpPXQubGVuZ3RoLTEsbz0wO2k+PTA7aS09MylzPXRbaV18dFtpLTFdPDw4fHRbaS0yXTw8MTYsdGhpcy53b3Jkc1tvXXw9czw8YSY2NzEwODg2Myx0aGlzLndvcmRzW28rMV09cz4+PjI2LWEmNjcxMDg4NjMsKGErPTI0KT49MjYmJihhLT0yNixvKyspO2Vsc2UgaWYoImxlIj09PXIpZm9yKGk9MCxvPTA7aTx0Lmxlbmd0aDtpKz0zKXM9dFtpXXx0W2krMV08PDh8dFtpKzJdPDwxNix0aGlzLndvcmRzW29dfD1zPDxhJjY3MTA4ODYzLHRoaXMud29yZHNbbysxXT1zPj4+MjYtYSY2NzEwODg2MywoYSs9MjQpPj0yNiYmKGEtPTI2LG8rKyk7cmV0dXJuIHRoaXMuX3N0cmlwKCl9LG8ucHJvdG90eXBlLl9wYXJzZUhleD1mdW5jdGlvbih0LGUscil7dGhpcy5sZW5ndGg9TWF0aC5jZWlsKCh0Lmxlbmd0aC1lKS82KSx0aGlzLndvcmRzPW5ldyBBcnJheSh0aGlzLmxlbmd0aCk7Zm9yKHZhciBuPTA7bjx0aGlzLmxlbmd0aDtuKyspdGhpcy53b3Jkc1tuXT0wO3ZhciBpLG89MCxzPTA7aWYoImJlIj09PXIpZm9yKG49dC5sZW5ndGgtMTtuPj1lO24tPTIpaT11KHQsZSxuKTw8byx0aGlzLndvcmRzW3NdfD02NzEwODg2MyZpLG8+PTE4PyhvLT0xOCxzKz0xLHRoaXMud29yZHNbc118PWk+Pj4yNik6bys9ODtlbHNlIGZvcihuPSh0Lmxlbmd0aC1lKSUyPT0wP2UrMTplO248dC5sZW5ndGg7bis9MilpPXUodCxlLG4pPDxvLHRoaXMud29yZHNbc118PTY3MTA4ODYzJmksbz49MTg/KG8tPTE4LHMrPTEsdGhpcy53b3Jkc1tzXXw9aT4+PjI2KTpvKz04O3RoaXMuX3N0cmlwKCl9LG8ucHJvdG90eXBlLl9wYXJzZUJhc2U9ZnVuY3Rpb24odCxlLHIpe3RoaXMud29yZHM9WzBdLHRoaXMubGVuZ3RoPTE7Zm9yKHZhciBuPTAsaT0xO2k8PTY3MTA4ODYzO2kqPWUpbisrO24tLSxpPWkvZXwwO2Zvcih2YXIgbz10Lmxlbmd0aC1yLHM9byVuLGE9TWF0aC5taW4obyxvLXMpK3IsdT0wLGY9cjtmPGE7Zis9bil1PWModCxmLGYrbixlKSx0aGlzLmltdWxuKGkpLHRoaXMud29yZHNbMF0rdTw2NzEwODg2ND90aGlzLndvcmRzWzBdKz11OnRoaXMuX2lhZGRuKHUpO2lmKDAhPT1zKXt2YXIgaD0xO2Zvcih1PWModCxmLHQubGVuZ3RoLGUpLGY9MDtmPHM7ZisrKWgqPWU7dGhpcy5pbXVsbihoKSx0aGlzLndvcmRzWzBdK3U8NjcxMDg4NjQ/dGhpcy53b3Jkc1swXSs9dTp0aGlzLl9pYWRkbih1KX10aGlzLl9zdHJpcCgpfSxvLnByb3RvdHlwZS5jb3B5PWZ1bmN0aW9uKHQpe3Qud29yZHM9bmV3IEFycmF5KHRoaXMubGVuZ3RoKTtmb3IodmFyIGU9MDtlPHRoaXMubGVuZ3RoO2UrKyl0LndvcmRzW2VdPXRoaXMud29yZHNbZV07dC5sZW5ndGg9dGhpcy5sZW5ndGgsdC5uZWdhdGl2ZT10aGlzLm5lZ2F0aXZlLHQucmVkPXRoaXMucmVkfSxvLnByb3RvdHlwZS5fbW92ZT1mdW5jdGlvbih0KXtmKHQsdGhpcyl9LG8ucHJvdG90eXBlLmNsb25lPWZ1bmN0aW9uKCl7dmFyIHQ9bmV3IG8obnVsbCk7cmV0dXJuIHRoaXMuY29weSh0KSx0fSxvLnByb3RvdHlwZS5fZXhwYW5kPWZ1bmN0aW9uKHQpe2Zvcig7dGhpcy5sZW5ndGg8dDspdGhpcy53b3Jkc1t0aGlzLmxlbmd0aCsrXT0wO3JldHVybiB0aGlzfSxvLnByb3RvdHlwZS5fc3RyaXA9ZnVuY3Rpb24oKXtmb3IoO3RoaXMubGVuZ3RoPjEmJjA9PT10aGlzLndvcmRzW3RoaXMubGVuZ3RoLTFdOyl0aGlzLmxlbmd0aC0tO3JldHVybiB0aGlzLl9ub3JtU2lnbigpfSxvLnByb3RvdHlwZS5fbm9ybVNpZ249ZnVuY3Rpb24oKXtyZXR1cm4gMT09PXRoaXMubGVuZ3RoJiYwPT09dGhpcy53b3Jkc1swXSYmKHRoaXMubmVnYXRpdmU9MCksdGhpc30sInVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wmJiJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wuZm9yKXRyeXtvLnByb3RvdHlwZVtTeW1ib2wuZm9yKCJub2RlanMudXRpbC5pbnNwZWN0LmN1c3RvbSIpXT1ofWNhdGNoKHQpe28ucHJvdG90eXBlLmluc3BlY3Q9aH1lbHNlIG8ucHJvdG90eXBlLmluc3BlY3Q9aDtmdW5jdGlvbiBoKCl7cmV0dXJuKHRoaXMucmVkPyI8Qk4tUjogIjoiPEJOOiAiKSt0aGlzLnRvU3RyaW5nKDE2KSsiPiJ9dmFyIGw9WyIiLCIwIiwiMDAiLCIwMDAiLCIwMDAwIiwiMDAwMDAiLCIwMDAwMDAiLCIwMDAwMDAwIiwiMDAwMDAwMDAiLCIwMDAwMDAwMDAiLCIwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIl0sZD1bMCwwLDI1LDE2LDEyLDExLDEwLDksOCw4LDcsNyw3LDcsNiw2LDYsNiw2LDYsNiw1LDUsNSw1LDUsNSw1LDUsNSw1LDUsNSw1LDUsNSw1XSxwPVswLDAsMzM1NTQ0MzIsNDMwNDY3MjEsMTY3NzcyMTYsNDg4MjgxMjUsNjA0NjYxNzYsNDAzNTM2MDcsMTY3NzcyMTYsNDMwNDY3MjEsMWU3LDE5NDg3MTcxLDM1ODMxODA4LDYyNzQ4NTE3LDc1Mjk1MzYsMTEzOTA2MjUsMTY3NzcyMTYsMjQxMzc1NjksMzQwMTIyMjQsNDcwNDU4ODEsNjRlNiw0MDg0MTAxLDUxNTM2MzIsNjQzNjM0Myw3OTYyNjI0LDk3NjU2MjUsMTE4ODEzNzYsMTQzNDg5MDcsMTcyMTAzNjgsMjA1MTExNDksMjQzZTUsMjg2MjkxNTEsMzM1NTQ0MzIsMzkxMzUzOTMsNDU0MzU0MjQsNTI1MjE4NzUsNjA0NjYxNzZdO28ucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKHQsZSl7dmFyIHI7aWYoZT0wfGV8fDEsMTY9PT0odD10fHwxMCl8fCJoZXgiPT09dCl7cj0iIjtmb3IodmFyIGk9MCxvPTAscz0wO3M8dGhpcy5sZW5ndGg7cysrKXt2YXIgYT10aGlzLndvcmRzW3NdLHU9KDE2Nzc3MjE1JihhPDxpfG8pKS50b1N0cmluZygxNik7bz1hPj4+MjQtaSYxNjc3NzIxNSwoaSs9Mik+PTI2JiYoaS09MjYscy0tKSxyPTAhPT1vfHxzIT09dGhpcy5sZW5ndGgtMT9sWzYtdS5sZW5ndGhdK3Urcjp1K3J9Zm9yKDAhPT1vJiYocj1vLnRvU3RyaW5nKDE2KStyKTtyLmxlbmd0aCVlIT0wOylyPSIwIityO3JldHVybiAwIT09dGhpcy5uZWdhdGl2ZSYmKHI9Ii0iK3IpLHJ9aWYodD09PSgwfHQpJiZ0Pj0yJiZ0PD0zNil7dmFyIGM9ZFt0XSxmPXBbdF07cj0iIjt2YXIgaD10aGlzLmNsb25lKCk7Zm9yKGgubmVnYXRpdmU9MDshaC5pc1plcm8oKTspe3ZhciBtPWgubW9kcm4oZikudG9TdHJpbmcodCk7cj0oaD1oLmlkaXZuKGYpKS5pc1plcm8oKT9tK3I6bFtjLW0ubGVuZ3RoXSttK3J9Zm9yKHRoaXMuaXNaZXJvKCkmJihyPSIwIityKTtyLmxlbmd0aCVlIT0wOylyPSIwIityO3JldHVybiAwIT09dGhpcy5uZWdhdGl2ZSYmKHI9Ii0iK3IpLHJ9bighMSwiQmFzZSBzaG91bGQgYmUgYmV0d2VlbiAyIGFuZCAzNiIpfSxvLnByb3RvdHlwZS50b051bWJlcj1mdW5jdGlvbigpe3ZhciB0PXRoaXMud29yZHNbMF07cmV0dXJuIDI9PT10aGlzLmxlbmd0aD90Kz02NzEwODg2NCp0aGlzLndvcmRzWzFdOjM9PT10aGlzLmxlbmd0aCYmMT09PXRoaXMud29yZHNbMl0/dCs9NDUwMzU5OTYyNzM3MDQ5Nis2NzEwODg2NCp0aGlzLndvcmRzWzFdOnRoaXMubGVuZ3RoPjImJm4oITEsIk51bWJlciBjYW4gb25seSBzYWZlbHkgc3RvcmUgdXAgdG8gNTMgYml0cyIpLDAhPT10aGlzLm5lZ2F0aXZlPy10OnR9LG8ucHJvdG90eXBlLnRvSlNPTj1mdW5jdGlvbigpe3JldHVybiB0aGlzLnRvU3RyaW5nKDE2LDIpfSxzJiYoby5wcm90b3R5cGUudG9CdWZmZXI9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy50b0FycmF5TGlrZShzLHQsZSl9KSxvLnByb3RvdHlwZS50b0FycmF5PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMudG9BcnJheUxpa2UoQXJyYXksdCxlKX07ZnVuY3Rpb24gbSh0LGUscil7ci5uZWdhdGl2ZT1lLm5lZ2F0aXZlXnQubmVnYXRpdmU7dmFyIG49dC5sZW5ndGgrZS5sZW5ndGh8MDtyLmxlbmd0aD1uLG49bi0xfDA7dmFyIGk9MHx0LndvcmRzWzBdLG89MHxlLndvcmRzWzBdLHM9aSpvLGE9NjcxMDg4NjMmcyx1PXMvNjcxMDg4NjR8MDtyLndvcmRzWzBdPWE7Zm9yKHZhciBjPTE7YzxuO2MrKyl7Zm9yKHZhciBmPXU+Pj4yNixoPTY3MTA4ODYzJnUsbD1NYXRoLm1pbihjLGUubGVuZ3RoLTEpLGQ9TWF0aC5tYXgoMCxjLXQubGVuZ3RoKzEpO2Q8PWw7ZCsrKXt2YXIgcD1jLWR8MDtmKz0ocz0oaT0wfHQud29yZHNbcF0pKihvPTB8ZS53b3Jkc1tkXSkraCkvNjcxMDg4NjR8MCxoPTY3MTA4ODYzJnN9ci53b3Jkc1tjXT0wfGgsdT0wfGZ9cmV0dXJuIDAhPT11P3Iud29yZHNbY109MHx1OnIubGVuZ3RoLS0sci5fc3RyaXAoKX1vLnByb3RvdHlwZS50b0FycmF5TGlrZT1mdW5jdGlvbih0LGUscil7dGhpcy5fc3RyaXAoKTt2YXIgaT10aGlzLmJ5dGVMZW5ndGgoKSxvPXJ8fE1hdGgubWF4KDEsaSk7bihpPD1vLCJieXRlIGFycmF5IGxvbmdlciB0aGFuIGRlc2lyZWQgbGVuZ3RoIiksbihvPjAsIlJlcXVlc3RlZCBhcnJheSBsZW5ndGggPD0gMCIpO3ZhciBzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQuYWxsb2NVbnNhZmU/dC5hbGxvY1Vuc2FmZShlKTpuZXcgdChlKX0odCxvKTtyZXR1cm4gdGhpc1siX3RvQXJyYXlMaWtlIisoImxlIj09PWU/IkxFIjoiQkUiKV0ocyxpKSxzfSxvLnByb3RvdHlwZS5fdG9BcnJheUxpa2VMRT1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj0wLG49MCxpPTAsbz0wO2k8dGhpcy5sZW5ndGg7aSsrKXt2YXIgcz10aGlzLndvcmRzW2ldPDxvfG47dFtyKytdPTI1NSZzLHI8dC5sZW5ndGgmJih0W3IrK109cz4+OCYyNTUpLHI8dC5sZW5ndGgmJih0W3IrK109cz4+MTYmMjU1KSw2PT09bz8ocjx0Lmxlbmd0aCYmKHRbcisrXT1zPj4yNCYyNTUpLG49MCxvPTApOihuPXM+Pj4yNCxvKz0yKX1pZihyPHQubGVuZ3RoKWZvcih0W3IrK109bjtyPHQubGVuZ3RoOyl0W3IrK109MH0sby5wcm90b3R5cGUuX3RvQXJyYXlMaWtlQkU9ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9dC5sZW5ndGgtMSxuPTAsaT0wLG89MDtpPHRoaXMubGVuZ3RoO2krKyl7dmFyIHM9dGhpcy53b3Jkc1tpXTw8b3xuO3Rbci0tXT0yNTUmcyxyPj0wJiYodFtyLS1dPXM+PjgmMjU1KSxyPj0wJiYodFtyLS1dPXM+PjE2JjI1NSksNj09PW8/KHI+PTAmJih0W3ItLV09cz4+MjQmMjU1KSxuPTAsbz0wKToobj1zPj4+MjQsbys9Mil9aWYocj49MClmb3IodFtyLS1dPW47cj49MDspdFtyLS1dPTB9LE1hdGguY2x6MzI/by5wcm90b3R5cGUuX2NvdW50Qml0cz1mdW5jdGlvbih0KXtyZXR1cm4gMzItTWF0aC5jbHozMih0KX06by5wcm90b3R5cGUuX2NvdW50Qml0cz1mdW5jdGlvbih0KXt2YXIgZT10LHI9MDtyZXR1cm4gZT49NDA5NiYmKHIrPTEzLGU+Pj49MTMpLGU+PTY0JiYocis9NyxlPj4+PTcpLGU+PTgmJihyKz00LGU+Pj49NCksZT49MiYmKHIrPTIsZT4+Pj0yKSxyK2V9LG8ucHJvdG90eXBlLl96ZXJvQml0cz1mdW5jdGlvbih0KXtpZigwPT09dClyZXR1cm4gMjY7dmFyIGU9dCxyPTA7cmV0dXJuIDA9PSg4MTkxJmUpJiYocis9MTMsZT4+Pj0xMyksMD09KDEyNyZlKSYmKHIrPTcsZT4+Pj03KSwwPT0oMTUmZSkmJihyKz00LGU+Pj49NCksMD09KDMmZSkmJihyKz0yLGU+Pj49MiksMD09KDEmZSkmJnIrKyxyfSxvLnByb3RvdHlwZS5iaXRMZW5ndGg9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLndvcmRzW3RoaXMubGVuZ3RoLTFdLGU9dGhpcy5fY291bnRCaXRzKHQpO3JldHVybiAyNioodGhpcy5sZW5ndGgtMSkrZX0sby5wcm90b3R5cGUuemVyb0JpdHM9ZnVuY3Rpb24oKXtpZih0aGlzLmlzWmVybygpKXJldHVybiAwO2Zvcih2YXIgdD0wLGU9MDtlPHRoaXMubGVuZ3RoO2UrKyl7dmFyIHI9dGhpcy5femVyb0JpdHModGhpcy53b3Jkc1tlXSk7aWYodCs9ciwyNiE9PXIpYnJlYWt9cmV0dXJuIHR9LG8ucHJvdG90eXBlLmJ5dGVMZW5ndGg9ZnVuY3Rpb24oKXtyZXR1cm4gTWF0aC5jZWlsKHRoaXMuYml0TGVuZ3RoKCkvOCl9LG8ucHJvdG90eXBlLnRvVHdvcz1mdW5jdGlvbih0KXtyZXR1cm4gMCE9PXRoaXMubmVnYXRpdmU/dGhpcy5hYnMoKS5pbm90bih0KS5pYWRkbigxKTp0aGlzLmNsb25lKCl9LG8ucHJvdG90eXBlLmZyb21Ud29zPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnRlc3RuKHQtMSk/dGhpcy5ub3RuKHQpLmlhZGRuKDEpLmluZWcoKTp0aGlzLmNsb25lKCl9LG8ucHJvdG90eXBlLmlzTmVnPWZ1bmN0aW9uKCl7cmV0dXJuIDAhPT10aGlzLm5lZ2F0aXZlfSxvLnByb3RvdHlwZS5uZWc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jbG9uZSgpLmluZWcoKX0sby5wcm90b3R5cGUuaW5lZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmlzWmVybygpfHwodGhpcy5uZWdhdGl2ZV49MSksdGhpc30sby5wcm90b3R5cGUuaXVvcj1mdW5jdGlvbih0KXtmb3IoO3RoaXMubGVuZ3RoPHQubGVuZ3RoOyl0aGlzLndvcmRzW3RoaXMubGVuZ3RoKytdPTA7Zm9yKHZhciBlPTA7ZTx0Lmxlbmd0aDtlKyspdGhpcy53b3Jkc1tlXT10aGlzLndvcmRzW2VdfHQud29yZHNbZV07cmV0dXJuIHRoaXMuX3N0cmlwKCl9LG8ucHJvdG90eXBlLmlvcj1mdW5jdGlvbih0KXtyZXR1cm4gbigwPT0odGhpcy5uZWdhdGl2ZXx0Lm5lZ2F0aXZlKSksdGhpcy5pdW9yKHQpfSxvLnByb3RvdHlwZS5vcj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5sZW5ndGg+dC5sZW5ndGg/dGhpcy5jbG9uZSgpLmlvcih0KTp0LmNsb25lKCkuaW9yKHRoaXMpfSxvLnByb3RvdHlwZS51b3I9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMubGVuZ3RoPnQubGVuZ3RoP3RoaXMuY2xvbmUoKS5pdW9yKHQpOnQuY2xvbmUoKS5pdW9yKHRoaXMpfSxvLnByb3RvdHlwZS5pdWFuZD1mdW5jdGlvbih0KXt2YXIgZTtlPXRoaXMubGVuZ3RoPnQubGVuZ3RoP3Q6dGhpcztmb3IodmFyIHI9MDtyPGUubGVuZ3RoO3IrKyl0aGlzLndvcmRzW3JdPXRoaXMud29yZHNbcl0mdC53b3Jkc1tyXTtyZXR1cm4gdGhpcy5sZW5ndGg9ZS5sZW5ndGgsdGhpcy5fc3RyaXAoKX0sby5wcm90b3R5cGUuaWFuZD1mdW5jdGlvbih0KXtyZXR1cm4gbigwPT0odGhpcy5uZWdhdGl2ZXx0Lm5lZ2F0aXZlKSksdGhpcy5pdWFuZCh0KX0sby5wcm90b3R5cGUuYW5kPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmxlbmd0aD50Lmxlbmd0aD90aGlzLmNsb25lKCkuaWFuZCh0KTp0LmNsb25lKCkuaWFuZCh0aGlzKX0sby5wcm90b3R5cGUudWFuZD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5sZW5ndGg+dC5sZW5ndGg/dGhpcy5jbG9uZSgpLml1YW5kKHQpOnQuY2xvbmUoKS5pdWFuZCh0aGlzKX0sby5wcm90b3R5cGUuaXV4b3I9ZnVuY3Rpb24odCl7dmFyIGUscjt0aGlzLmxlbmd0aD50Lmxlbmd0aD8oZT10aGlzLHI9dCk6KGU9dCxyPXRoaXMpO2Zvcih2YXIgbj0wO248ci5sZW5ndGg7bisrKXRoaXMud29yZHNbbl09ZS53b3Jkc1tuXV5yLndvcmRzW25dO2lmKHRoaXMhPT1lKWZvcig7bjxlLmxlbmd0aDtuKyspdGhpcy53b3Jkc1tuXT1lLndvcmRzW25dO3JldHVybiB0aGlzLmxlbmd0aD1lLmxlbmd0aCx0aGlzLl9zdHJpcCgpfSxvLnByb3RvdHlwZS5peG9yPWZ1bmN0aW9uKHQpe3JldHVybiBuKDA9PSh0aGlzLm5lZ2F0aXZlfHQubmVnYXRpdmUpKSx0aGlzLml1eG9yKHQpfSxvLnByb3RvdHlwZS54b3I9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMubGVuZ3RoPnQubGVuZ3RoP3RoaXMuY2xvbmUoKS5peG9yKHQpOnQuY2xvbmUoKS5peG9yKHRoaXMpfSxvLnByb3RvdHlwZS51eG9yPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmxlbmd0aD50Lmxlbmd0aD90aGlzLmNsb25lKCkuaXV4b3IodCk6dC5jbG9uZSgpLml1eG9yKHRoaXMpfSxvLnByb3RvdHlwZS5pbm90bj1mdW5jdGlvbih0KXtuKCJudW1iZXIiPT10eXBlb2YgdCYmdD49MCk7dmFyIGU9MHxNYXRoLmNlaWwodC8yNikscj10JTI2O3RoaXMuX2V4cGFuZChlKSxyPjAmJmUtLTtmb3IodmFyIGk9MDtpPGU7aSsrKXRoaXMud29yZHNbaV09NjcxMDg4NjMmfnRoaXMud29yZHNbaV07cmV0dXJuIHI+MCYmKHRoaXMud29yZHNbaV09fnRoaXMud29yZHNbaV0mNjcxMDg4NjM+PjI2LXIpLHRoaXMuX3N0cmlwKCl9LG8ucHJvdG90eXBlLm5vdG49ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pbm90bih0KX0sby5wcm90b3R5cGUuc2V0bj1mdW5jdGlvbih0LGUpe24oIm51bWJlciI9PXR5cGVvZiB0JiZ0Pj0wKTt2YXIgcj10LzI2fDAsaT10JTI2O3JldHVybiB0aGlzLl9leHBhbmQocisxKSx0aGlzLndvcmRzW3JdPWU/dGhpcy53b3Jkc1tyXXwxPDxpOnRoaXMud29yZHNbcl0mfigxPDxpKSx0aGlzLl9zdHJpcCgpfSxvLnByb3RvdHlwZS5pYWRkPWZ1bmN0aW9uKHQpe3ZhciBlLHIsbjtpZigwIT09dGhpcy5uZWdhdGl2ZSYmMD09PXQubmVnYXRpdmUpcmV0dXJuIHRoaXMubmVnYXRpdmU9MCxlPXRoaXMuaXN1Yih0KSx0aGlzLm5lZ2F0aXZlXj0xLHRoaXMuX25vcm1TaWduKCk7aWYoMD09PXRoaXMubmVnYXRpdmUmJjAhPT10Lm5lZ2F0aXZlKXJldHVybiB0Lm5lZ2F0aXZlPTAsZT10aGlzLmlzdWIodCksdC5uZWdhdGl2ZT0xLGUuX25vcm1TaWduKCk7dGhpcy5sZW5ndGg+dC5sZW5ndGg/KHI9dGhpcyxuPXQpOihyPXQsbj10aGlzKTtmb3IodmFyIGk9MCxvPTA7bzxuLmxlbmd0aDtvKyspZT0oMHxyLndvcmRzW29dKSsoMHxuLndvcmRzW29dKStpLHRoaXMud29yZHNbb109NjcxMDg4NjMmZSxpPWU+Pj4yNjtmb3IoOzAhPT1pJiZvPHIubGVuZ3RoO28rKyllPSgwfHIud29yZHNbb10pK2ksdGhpcy53b3Jkc1tvXT02NzEwODg2MyZlLGk9ZT4+PjI2O2lmKHRoaXMubGVuZ3RoPXIubGVuZ3RoLDAhPT1pKXRoaXMud29yZHNbdGhpcy5sZW5ndGhdPWksdGhpcy5sZW5ndGgrKztlbHNlIGlmKHIhPT10aGlzKWZvcig7bzxyLmxlbmd0aDtvKyspdGhpcy53b3Jkc1tvXT1yLndvcmRzW29dO3JldHVybiB0aGlzfSxvLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24odCl7dmFyIGU7cmV0dXJuIDAhPT10Lm5lZ2F0aXZlJiYwPT09dGhpcy5uZWdhdGl2ZT8odC5uZWdhdGl2ZT0wLGU9dGhpcy5zdWIodCksdC5uZWdhdGl2ZV49MSxlKTowPT09dC5uZWdhdGl2ZSYmMCE9PXRoaXMubmVnYXRpdmU/KHRoaXMubmVnYXRpdmU9MCxlPXQuc3ViKHRoaXMpLHRoaXMubmVnYXRpdmU9MSxlKTp0aGlzLmxlbmd0aD50Lmxlbmd0aD90aGlzLmNsb25lKCkuaWFkZCh0KTp0LmNsb25lKCkuaWFkZCh0aGlzKX0sby5wcm90b3R5cGUuaXN1Yj1mdW5jdGlvbih0KXtpZigwIT09dC5uZWdhdGl2ZSl7dC5uZWdhdGl2ZT0wO3ZhciBlPXRoaXMuaWFkZCh0KTtyZXR1cm4gdC5uZWdhdGl2ZT0xLGUuX25vcm1TaWduKCl9aWYoMCE9PXRoaXMubmVnYXRpdmUpcmV0dXJuIHRoaXMubmVnYXRpdmU9MCx0aGlzLmlhZGQodCksdGhpcy5uZWdhdGl2ZT0xLHRoaXMuX25vcm1TaWduKCk7dmFyIHIsbixpPXRoaXMuY21wKHQpO2lmKDA9PT1pKXJldHVybiB0aGlzLm5lZ2F0aXZlPTAsdGhpcy5sZW5ndGg9MSx0aGlzLndvcmRzWzBdPTAsdGhpcztpPjA/KHI9dGhpcyxuPXQpOihyPXQsbj10aGlzKTtmb3IodmFyIG89MCxzPTA7czxuLmxlbmd0aDtzKyspbz0oZT0oMHxyLndvcmRzW3NdKS0oMHxuLndvcmRzW3NdKStvKT4+MjYsdGhpcy53b3Jkc1tzXT02NzEwODg2MyZlO2Zvcig7MCE9PW8mJnM8ci5sZW5ndGg7cysrKW89KGU9KDB8ci53b3Jkc1tzXSkrbyk+PjI2LHRoaXMud29yZHNbc109NjcxMDg4NjMmZTtpZigwPT09byYmczxyLmxlbmd0aCYmciE9PXRoaXMpZm9yKDtzPHIubGVuZ3RoO3MrKyl0aGlzLndvcmRzW3NdPXIud29yZHNbc107cmV0dXJuIHRoaXMubGVuZ3RoPU1hdGgubWF4KHRoaXMubGVuZ3RoLHMpLHIhPT10aGlzJiYodGhpcy5uZWdhdGl2ZT0xKSx0aGlzLl9zdHJpcCgpfSxvLnByb3RvdHlwZS5zdWI9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pc3ViKHQpfTt2YXIgZz1mdW5jdGlvbih0LGUscil7dmFyIG4saSxvLHM9dC53b3JkcyxhPWUud29yZHMsdT1yLndvcmRzLGM9MCxmPTB8c1swXSxoPTgxOTEmZixsPWY+Pj4xMyxkPTB8c1sxXSxwPTgxOTEmZCxtPWQ+Pj4xMyxnPTB8c1syXSxiPTgxOTEmZyx5PWc+Pj4xMyx2PTB8c1szXSxfPTgxOTEmdix3PXY+Pj4xMyxNPTB8c1s0XSxTPTgxOTEmTSxFPU0+Pj4xMyx4PTB8c1s1XSxrPTgxOTEmeCxBPXg+Pj4xMyxSPTB8c1s2XSxUPTgxOTEmUixPPVI+Pj4xMyxDPTB8c1s3XSxQPTgxOTEmQyxJPUM+Pj4xMyxCPTB8c1s4XSxMPTgxOTEmQixqPUI+Pj4xMyxOPTB8c1s5XSxxPTgxOTEmTixVPU4+Pj4xMyxEPTB8YVswXSx6PTgxOTEmRCxIPUQ+Pj4xMyxGPTB8YVsxXSxXPTgxOTEmRixLPUY+Pj4xMyxWPTB8YVsyXSxKPTgxOTEmVixZPVY+Pj4xMyxHPTB8YVszXSxaPTgxOTEmRywkPUc+Pj4xMyxYPTB8YVs0XSxRPTgxOTEmWCx0dD1YPj4+MTMsZXQ9MHxhWzVdLHJ0PTgxOTEmZXQsbnQ9ZXQ+Pj4xMyxpdD0wfGFbNl0sb3Q9ODE5MSZpdCxzdD1pdD4+PjEzLGF0PTB8YVs3XSx1dD04MTkxJmF0LGN0PWF0Pj4+MTMsZnQ9MHxhWzhdLGh0PTgxOTEmZnQsbHQ9ZnQ+Pj4xMyxkdD0wfGFbOV0scHQ9ODE5MSZkdCxtdD1kdD4+PjEzO3IubmVnYXRpdmU9dC5uZWdhdGl2ZV5lLm5lZ2F0aXZlLHIubGVuZ3RoPTE5O3ZhciBndD0oYysobj1NYXRoLmltdWwoaCx6KSl8MCkrKCg4MTkxJihpPShpPU1hdGguaW11bChoLEgpKStNYXRoLmltdWwobCx6KXwwKSk8PDEzKXwwO2M9KChvPU1hdGguaW11bChsLEgpKSsoaT4+PjEzKXwwKSsoZ3Q+Pj4yNil8MCxndCY9NjcxMDg4NjMsbj1NYXRoLmltdWwocCx6KSxpPShpPU1hdGguaW11bChwLEgpKStNYXRoLmltdWwobSx6KXwwLG89TWF0aC5pbXVsKG0sSCk7dmFyIGJ0PShjKyhuPW4rTWF0aC5pbXVsKGgsVyl8MCl8MCkrKCg4MTkxJihpPShpPWkrTWF0aC5pbXVsKGgsSyl8MCkrTWF0aC5pbXVsKGwsVyl8MCkpPDwxMyl8MDtjPSgobz1vK01hdGguaW11bChsLEspfDApKyhpPj4+MTMpfDApKyhidD4+PjI2KXwwLGJ0Jj02NzEwODg2MyxuPU1hdGguaW11bChiLHopLGk9KGk9TWF0aC5pbXVsKGIsSCkpK01hdGguaW11bCh5LHopfDAsbz1NYXRoLmltdWwoeSxIKSxuPW4rTWF0aC5pbXVsKHAsVyl8MCxpPShpPWkrTWF0aC5pbXVsKHAsSyl8MCkrTWF0aC5pbXVsKG0sVyl8MCxvPW8rTWF0aC5pbXVsKG0sSyl8MDt2YXIgeXQ9KGMrKG49bitNYXRoLmltdWwoaCxKKXwwKXwwKSsoKDgxOTEmKGk9KGk9aStNYXRoLmltdWwoaCxZKXwwKStNYXRoLmltdWwobCxKKXwwKSk8PDEzKXwwO2M9KChvPW8rTWF0aC5pbXVsKGwsWSl8MCkrKGk+Pj4xMyl8MCkrKHl0Pj4+MjYpfDAseXQmPTY3MTA4ODYzLG49TWF0aC5pbXVsKF8seiksaT0oaT1NYXRoLmltdWwoXyxIKSkrTWF0aC5pbXVsKHcseil8MCxvPU1hdGguaW11bCh3LEgpLG49bitNYXRoLmltdWwoYixXKXwwLGk9KGk9aStNYXRoLmltdWwoYixLKXwwKStNYXRoLmltdWwoeSxXKXwwLG89bytNYXRoLmltdWwoeSxLKXwwLG49bitNYXRoLmltdWwocCxKKXwwLGk9KGk9aStNYXRoLmltdWwocCxZKXwwKStNYXRoLmltdWwobSxKKXwwLG89bytNYXRoLmltdWwobSxZKXwwO3ZhciB2dD0oYysobj1uK01hdGguaW11bChoLFopfDApfDApKygoODE5MSYoaT0oaT1pK01hdGguaW11bChoLCQpfDApK01hdGguaW11bChsLFopfDApKTw8MTMpfDA7Yz0oKG89bytNYXRoLmltdWwobCwkKXwwKSsoaT4+PjEzKXwwKSsodnQ+Pj4yNil8MCx2dCY9NjcxMDg4NjMsbj1NYXRoLmltdWwoUyx6KSxpPShpPU1hdGguaW11bChTLEgpKStNYXRoLmltdWwoRSx6KXwwLG89TWF0aC5pbXVsKEUsSCksbj1uK01hdGguaW11bChfLFcpfDAsaT0oaT1pK01hdGguaW11bChfLEspfDApK01hdGguaW11bCh3LFcpfDAsbz1vK01hdGguaW11bCh3LEspfDAsbj1uK01hdGguaW11bChiLEopfDAsaT0oaT1pK01hdGguaW11bChiLFkpfDApK01hdGguaW11bCh5LEopfDAsbz1vK01hdGguaW11bCh5LFkpfDAsbj1uK01hdGguaW11bChwLFopfDAsaT0oaT1pK01hdGguaW11bChwLCQpfDApK01hdGguaW11bChtLFopfDAsbz1vK01hdGguaW11bChtLCQpfDA7dmFyIF90PShjKyhuPW4rTWF0aC5pbXVsKGgsUSl8MCl8MCkrKCg4MTkxJihpPShpPWkrTWF0aC5pbXVsKGgsdHQpfDApK01hdGguaW11bChsLFEpfDApKTw8MTMpfDA7Yz0oKG89bytNYXRoLmltdWwobCx0dCl8MCkrKGk+Pj4xMyl8MCkrKF90Pj4+MjYpfDAsX3QmPTY3MTA4ODYzLG49TWF0aC5pbXVsKGsseiksaT0oaT1NYXRoLmltdWwoayxIKSkrTWF0aC5pbXVsKEEseil8MCxvPU1hdGguaW11bChBLEgpLG49bitNYXRoLmltdWwoUyxXKXwwLGk9KGk9aStNYXRoLmltdWwoUyxLKXwwKStNYXRoLmltdWwoRSxXKXwwLG89bytNYXRoLmltdWwoRSxLKXwwLG49bitNYXRoLmltdWwoXyxKKXwwLGk9KGk9aStNYXRoLmltdWwoXyxZKXwwKStNYXRoLmltdWwodyxKKXwwLG89bytNYXRoLmltdWwodyxZKXwwLG49bitNYXRoLmltdWwoYixaKXwwLGk9KGk9aStNYXRoLmltdWwoYiwkKXwwKStNYXRoLmltdWwoeSxaKXwwLG89bytNYXRoLmltdWwoeSwkKXwwLG49bitNYXRoLmltdWwocCxRKXwwLGk9KGk9aStNYXRoLmltdWwocCx0dCl8MCkrTWF0aC5pbXVsKG0sUSl8MCxvPW8rTWF0aC5pbXVsKG0sdHQpfDA7dmFyIHd0PShjKyhuPW4rTWF0aC5pbXVsKGgscnQpfDApfDApKygoODE5MSYoaT0oaT1pK01hdGguaW11bChoLG50KXwwKStNYXRoLmltdWwobCxydCl8MCkpPDwxMyl8MDtjPSgobz1vK01hdGguaW11bChsLG50KXwwKSsoaT4+PjEzKXwwKSsod3Q+Pj4yNil8MCx3dCY9NjcxMDg4NjMsbj1NYXRoLmltdWwoVCx6KSxpPShpPU1hdGguaW11bChULEgpKStNYXRoLmltdWwoTyx6KXwwLG89TWF0aC5pbXVsKE8sSCksbj1uK01hdGguaW11bChrLFcpfDAsaT0oaT1pK01hdGguaW11bChrLEspfDApK01hdGguaW11bChBLFcpfDAsbz1vK01hdGguaW11bChBLEspfDAsbj1uK01hdGguaW11bChTLEopfDAsaT0oaT1pK01hdGguaW11bChTLFkpfDApK01hdGguaW11bChFLEopfDAsbz1vK01hdGguaW11bChFLFkpfDAsbj1uK01hdGguaW11bChfLFopfDAsaT0oaT1pK01hdGguaW11bChfLCQpfDApK01hdGguaW11bCh3LFopfDAsbz1vK01hdGguaW11bCh3LCQpfDAsbj1uK01hdGguaW11bChiLFEpfDAsaT0oaT1pK01hdGguaW11bChiLHR0KXwwKStNYXRoLmltdWwoeSxRKXwwLG89bytNYXRoLmltdWwoeSx0dCl8MCxuPW4rTWF0aC5pbXVsKHAscnQpfDAsaT0oaT1pK01hdGguaW11bChwLG50KXwwKStNYXRoLmltdWwobSxydCl8MCxvPW8rTWF0aC5pbXVsKG0sbnQpfDA7dmFyIE10PShjKyhuPW4rTWF0aC5pbXVsKGgsb3QpfDApfDApKygoODE5MSYoaT0oaT1pK01hdGguaW11bChoLHN0KXwwKStNYXRoLmltdWwobCxvdCl8MCkpPDwxMyl8MDtjPSgobz1vK01hdGguaW11bChsLHN0KXwwKSsoaT4+PjEzKXwwKSsoTXQ+Pj4yNil8MCxNdCY9NjcxMDg4NjMsbj1NYXRoLmltdWwoUCx6KSxpPShpPU1hdGguaW11bChQLEgpKStNYXRoLmltdWwoSSx6KXwwLG89TWF0aC5pbXVsKEksSCksbj1uK01hdGguaW11bChULFcpfDAsaT0oaT1pK01hdGguaW11bChULEspfDApK01hdGguaW11bChPLFcpfDAsbz1vK01hdGguaW11bChPLEspfDAsbj1uK01hdGguaW11bChrLEopfDAsaT0oaT1pK01hdGguaW11bChrLFkpfDApK01hdGguaW11bChBLEopfDAsbz1vK01hdGguaW11bChBLFkpfDAsbj1uK01hdGguaW11bChTLFopfDAsaT0oaT1pK01hdGguaW11bChTLCQpfDApK01hdGguaW11bChFLFopfDAsbz1vK01hdGguaW11bChFLCQpfDAsbj1uK01hdGguaW11bChfLFEpfDAsaT0oaT1pK01hdGguaW11bChfLHR0KXwwKStNYXRoLmltdWwodyxRKXwwLG89bytNYXRoLmltdWwodyx0dCl8MCxuPW4rTWF0aC5pbXVsKGIscnQpfDAsaT0oaT1pK01hdGguaW11bChiLG50KXwwKStNYXRoLmltdWwoeSxydCl8MCxvPW8rTWF0aC5pbXVsKHksbnQpfDAsbj1uK01hdGguaW11bChwLG90KXwwLGk9KGk9aStNYXRoLmltdWwocCxzdCl8MCkrTWF0aC5pbXVsKG0sb3QpfDAsbz1vK01hdGguaW11bChtLHN0KXwwO3ZhciBTdD0oYysobj1uK01hdGguaW11bChoLHV0KXwwKXwwKSsoKDgxOTEmKGk9KGk9aStNYXRoLmltdWwoaCxjdCl8MCkrTWF0aC5pbXVsKGwsdXQpfDApKTw8MTMpfDA7Yz0oKG89bytNYXRoLmltdWwobCxjdCl8MCkrKGk+Pj4xMyl8MCkrKFN0Pj4+MjYpfDAsU3QmPTY3MTA4ODYzLG49TWF0aC5pbXVsKEwseiksaT0oaT1NYXRoLmltdWwoTCxIKSkrTWF0aC5pbXVsKGoseil8MCxvPU1hdGguaW11bChqLEgpLG49bitNYXRoLmltdWwoUCxXKXwwLGk9KGk9aStNYXRoLmltdWwoUCxLKXwwKStNYXRoLmltdWwoSSxXKXwwLG89bytNYXRoLmltdWwoSSxLKXwwLG49bitNYXRoLmltdWwoVCxKKXwwLGk9KGk9aStNYXRoLmltdWwoVCxZKXwwKStNYXRoLmltdWwoTyxKKXwwLG89bytNYXRoLmltdWwoTyxZKXwwLG49bitNYXRoLmltdWwoayxaKXwwLGk9KGk9aStNYXRoLmltdWwoaywkKXwwKStNYXRoLmltdWwoQSxaKXwwLG89bytNYXRoLmltdWwoQSwkKXwwLG49bitNYXRoLmltdWwoUyxRKXwwLGk9KGk9aStNYXRoLmltdWwoUyx0dCl8MCkrTWF0aC5pbXVsKEUsUSl8MCxvPW8rTWF0aC5pbXVsKEUsdHQpfDAsbj1uK01hdGguaW11bChfLHJ0KXwwLGk9KGk9aStNYXRoLmltdWwoXyxudCl8MCkrTWF0aC5pbXVsKHcscnQpfDAsbz1vK01hdGguaW11bCh3LG50KXwwLG49bitNYXRoLmltdWwoYixvdCl8MCxpPShpPWkrTWF0aC5pbXVsKGIsc3QpfDApK01hdGguaW11bCh5LG90KXwwLG89bytNYXRoLmltdWwoeSxzdCl8MCxuPW4rTWF0aC5pbXVsKHAsdXQpfDAsaT0oaT1pK01hdGguaW11bChwLGN0KXwwKStNYXRoLmltdWwobSx1dCl8MCxvPW8rTWF0aC5pbXVsKG0sY3QpfDA7dmFyIEV0PShjKyhuPW4rTWF0aC5pbXVsKGgsaHQpfDApfDApKygoODE5MSYoaT0oaT1pK01hdGguaW11bChoLGx0KXwwKStNYXRoLmltdWwobCxodCl8MCkpPDwxMyl8MDtjPSgobz1vK01hdGguaW11bChsLGx0KXwwKSsoaT4+PjEzKXwwKSsoRXQ+Pj4yNil8MCxFdCY9NjcxMDg4NjMsbj1NYXRoLmltdWwocSx6KSxpPShpPU1hdGguaW11bChxLEgpKStNYXRoLmltdWwoVSx6KXwwLG89TWF0aC5pbXVsKFUsSCksbj1uK01hdGguaW11bChMLFcpfDAsaT0oaT1pK01hdGguaW11bChMLEspfDApK01hdGguaW11bChqLFcpfDAsbz1vK01hdGguaW11bChqLEspfDAsbj1uK01hdGguaW11bChQLEopfDAsaT0oaT1pK01hdGguaW11bChQLFkpfDApK01hdGguaW11bChJLEopfDAsbz1vK01hdGguaW11bChJLFkpfDAsbj1uK01hdGguaW11bChULFopfDAsaT0oaT1pK01hdGguaW11bChULCQpfDApK01hdGguaW11bChPLFopfDAsbz1vK01hdGguaW11bChPLCQpfDAsbj1uK01hdGguaW11bChrLFEpfDAsaT0oaT1pK01hdGguaW11bChrLHR0KXwwKStNYXRoLmltdWwoQSxRKXwwLG89bytNYXRoLmltdWwoQSx0dCl8MCxuPW4rTWF0aC5pbXVsKFMscnQpfDAsaT0oaT1pK01hdGguaW11bChTLG50KXwwKStNYXRoLmltdWwoRSxydCl8MCxvPW8rTWF0aC5pbXVsKEUsbnQpfDAsbj1uK01hdGguaW11bChfLG90KXwwLGk9KGk9aStNYXRoLmltdWwoXyxzdCl8MCkrTWF0aC5pbXVsKHcsb3QpfDAsbz1vK01hdGguaW11bCh3LHN0KXwwLG49bitNYXRoLmltdWwoYix1dCl8MCxpPShpPWkrTWF0aC5pbXVsKGIsY3QpfDApK01hdGguaW11bCh5LHV0KXwwLG89bytNYXRoLmltdWwoeSxjdCl8MCxuPW4rTWF0aC5pbXVsKHAsaHQpfDAsaT0oaT1pK01hdGguaW11bChwLGx0KXwwKStNYXRoLmltdWwobSxodCl8MCxvPW8rTWF0aC5pbXVsKG0sbHQpfDA7dmFyIHh0PShjKyhuPW4rTWF0aC5pbXVsKGgscHQpfDApfDApKygoODE5MSYoaT0oaT1pK01hdGguaW11bChoLG10KXwwKStNYXRoLmltdWwobCxwdCl8MCkpPDwxMyl8MDtjPSgobz1vK01hdGguaW11bChsLG10KXwwKSsoaT4+PjEzKXwwKSsoeHQ+Pj4yNil8MCx4dCY9NjcxMDg4NjMsbj1NYXRoLmltdWwocSxXKSxpPShpPU1hdGguaW11bChxLEspKStNYXRoLmltdWwoVSxXKXwwLG89TWF0aC5pbXVsKFUsSyksbj1uK01hdGguaW11bChMLEopfDAsaT0oaT1pK01hdGguaW11bChMLFkpfDApK01hdGguaW11bChqLEopfDAsbz1vK01hdGguaW11bChqLFkpfDAsbj1uK01hdGguaW11bChQLFopfDAsaT0oaT1pK01hdGguaW11bChQLCQpfDApK01hdGguaW11bChJLFopfDAsbz1vK01hdGguaW11bChJLCQpfDAsbj1uK01hdGguaW11bChULFEpfDAsaT0oaT1pK01hdGguaW11bChULHR0KXwwKStNYXRoLmltdWwoTyxRKXwwLG89bytNYXRoLmltdWwoTyx0dCl8MCxuPW4rTWF0aC5pbXVsKGsscnQpfDAsaT0oaT1pK01hdGguaW11bChrLG50KXwwKStNYXRoLmltdWwoQSxydCl8MCxvPW8rTWF0aC5pbXVsKEEsbnQpfDAsbj1uK01hdGguaW11bChTLG90KXwwLGk9KGk9aStNYXRoLmltdWwoUyxzdCl8MCkrTWF0aC5pbXVsKEUsb3QpfDAsbz1vK01hdGguaW11bChFLHN0KXwwLG49bitNYXRoLmltdWwoXyx1dCl8MCxpPShpPWkrTWF0aC5pbXVsKF8sY3QpfDApK01hdGguaW11bCh3LHV0KXwwLG89bytNYXRoLmltdWwodyxjdCl8MCxuPW4rTWF0aC5pbXVsKGIsaHQpfDAsaT0oaT1pK01hdGguaW11bChiLGx0KXwwKStNYXRoLmltdWwoeSxodCl8MCxvPW8rTWF0aC5pbXVsKHksbHQpfDA7dmFyIGt0PShjKyhuPW4rTWF0aC5pbXVsKHAscHQpfDApfDApKygoODE5MSYoaT0oaT1pK01hdGguaW11bChwLG10KXwwKStNYXRoLmltdWwobSxwdCl8MCkpPDwxMyl8MDtjPSgobz1vK01hdGguaW11bChtLG10KXwwKSsoaT4+PjEzKXwwKSsoa3Q+Pj4yNil8MCxrdCY9NjcxMDg4NjMsbj1NYXRoLmltdWwocSxKKSxpPShpPU1hdGguaW11bChxLFkpKStNYXRoLmltdWwoVSxKKXwwLG89TWF0aC5pbXVsKFUsWSksbj1uK01hdGguaW11bChMLFopfDAsaT0oaT1pK01hdGguaW11bChMLCQpfDApK01hdGguaW11bChqLFopfDAsbz1vK01hdGguaW11bChqLCQpfDAsbj1uK01hdGguaW11bChQLFEpfDAsaT0oaT1pK01hdGguaW11bChQLHR0KXwwKStNYXRoLmltdWwoSSxRKXwwLG89bytNYXRoLmltdWwoSSx0dCl8MCxuPW4rTWF0aC5pbXVsKFQscnQpfDAsaT0oaT1pK01hdGguaW11bChULG50KXwwKStNYXRoLmltdWwoTyxydCl8MCxvPW8rTWF0aC5pbXVsKE8sbnQpfDAsbj1uK01hdGguaW11bChrLG90KXwwLGk9KGk9aStNYXRoLmltdWwoayxzdCl8MCkrTWF0aC5pbXVsKEEsb3QpfDAsbz1vK01hdGguaW11bChBLHN0KXwwLG49bitNYXRoLmltdWwoUyx1dCl8MCxpPShpPWkrTWF0aC5pbXVsKFMsY3QpfDApK01hdGguaW11bChFLHV0KXwwLG89bytNYXRoLmltdWwoRSxjdCl8MCxuPW4rTWF0aC5pbXVsKF8saHQpfDAsaT0oaT1pK01hdGguaW11bChfLGx0KXwwKStNYXRoLmltdWwodyxodCl8MCxvPW8rTWF0aC5pbXVsKHcsbHQpfDA7dmFyIEF0PShjKyhuPW4rTWF0aC5pbXVsKGIscHQpfDApfDApKygoODE5MSYoaT0oaT1pK01hdGguaW11bChiLG10KXwwKStNYXRoLmltdWwoeSxwdCl8MCkpPDwxMyl8MDtjPSgobz1vK01hdGguaW11bCh5LG10KXwwKSsoaT4+PjEzKXwwKSsoQXQ+Pj4yNil8MCxBdCY9NjcxMDg4NjMsbj1NYXRoLmltdWwocSxaKSxpPShpPU1hdGguaW11bChxLCQpKStNYXRoLmltdWwoVSxaKXwwLG89TWF0aC5pbXVsKFUsJCksbj1uK01hdGguaW11bChMLFEpfDAsaT0oaT1pK01hdGguaW11bChMLHR0KXwwKStNYXRoLmltdWwoaixRKXwwLG89bytNYXRoLmltdWwoaix0dCl8MCxuPW4rTWF0aC5pbXVsKFAscnQpfDAsaT0oaT1pK01hdGguaW11bChQLG50KXwwKStNYXRoLmltdWwoSSxydCl8MCxvPW8rTWF0aC5pbXVsKEksbnQpfDAsbj1uK01hdGguaW11bChULG90KXwwLGk9KGk9aStNYXRoLmltdWwoVCxzdCl8MCkrTWF0aC5pbXVsKE8sb3QpfDAsbz1vK01hdGguaW11bChPLHN0KXwwLG49bitNYXRoLmltdWwoayx1dCl8MCxpPShpPWkrTWF0aC5pbXVsKGssY3QpfDApK01hdGguaW11bChBLHV0KXwwLG89bytNYXRoLmltdWwoQSxjdCl8MCxuPW4rTWF0aC5pbXVsKFMsaHQpfDAsaT0oaT1pK01hdGguaW11bChTLGx0KXwwKStNYXRoLmltdWwoRSxodCl8MCxvPW8rTWF0aC5pbXVsKEUsbHQpfDA7dmFyIFJ0PShjKyhuPW4rTWF0aC5pbXVsKF8scHQpfDApfDApKygoODE5MSYoaT0oaT1pK01hdGguaW11bChfLG10KXwwKStNYXRoLmltdWwodyxwdCl8MCkpPDwxMyl8MDtjPSgobz1vK01hdGguaW11bCh3LG10KXwwKSsoaT4+PjEzKXwwKSsoUnQ+Pj4yNil8MCxSdCY9NjcxMDg4NjMsbj1NYXRoLmltdWwocSxRKSxpPShpPU1hdGguaW11bChxLHR0KSkrTWF0aC5pbXVsKFUsUSl8MCxvPU1hdGguaW11bChVLHR0KSxuPW4rTWF0aC5pbXVsKEwscnQpfDAsaT0oaT1pK01hdGguaW11bChMLG50KXwwKStNYXRoLmltdWwoaixydCl8MCxvPW8rTWF0aC5pbXVsKGosbnQpfDAsbj1uK01hdGguaW11bChQLG90KXwwLGk9KGk9aStNYXRoLmltdWwoUCxzdCl8MCkrTWF0aC5pbXVsKEksb3QpfDAsbz1vK01hdGguaW11bChJLHN0KXwwLG49bitNYXRoLmltdWwoVCx1dCl8MCxpPShpPWkrTWF0aC5pbXVsKFQsY3QpfDApK01hdGguaW11bChPLHV0KXwwLG89bytNYXRoLmltdWwoTyxjdCl8MCxuPW4rTWF0aC5pbXVsKGssaHQpfDAsaT0oaT1pK01hdGguaW11bChrLGx0KXwwKStNYXRoLmltdWwoQSxodCl8MCxvPW8rTWF0aC5pbXVsKEEsbHQpfDA7dmFyIFR0PShjKyhuPW4rTWF0aC5pbXVsKFMscHQpfDApfDApKygoODE5MSYoaT0oaT1pK01hdGguaW11bChTLG10KXwwKStNYXRoLmltdWwoRSxwdCl8MCkpPDwxMyl8MDtjPSgobz1vK01hdGguaW11bChFLG10KXwwKSsoaT4+PjEzKXwwKSsoVHQ+Pj4yNil8MCxUdCY9NjcxMDg4NjMsbj1NYXRoLmltdWwocSxydCksaT0oaT1NYXRoLmltdWwocSxudCkpK01hdGguaW11bChVLHJ0KXwwLG89TWF0aC5pbXVsKFUsbnQpLG49bitNYXRoLmltdWwoTCxvdCl8MCxpPShpPWkrTWF0aC5pbXVsKEwsc3QpfDApK01hdGguaW11bChqLG90KXwwLG89bytNYXRoLmltdWwoaixzdCl8MCxuPW4rTWF0aC5pbXVsKFAsdXQpfDAsaT0oaT1pK01hdGguaW11bChQLGN0KXwwKStNYXRoLmltdWwoSSx1dCl8MCxvPW8rTWF0aC5pbXVsKEksY3QpfDAsbj1uK01hdGguaW11bChULGh0KXwwLGk9KGk9aStNYXRoLmltdWwoVCxsdCl8MCkrTWF0aC5pbXVsKE8saHQpfDAsbz1vK01hdGguaW11bChPLGx0KXwwO3ZhciBPdD0oYysobj1uK01hdGguaW11bChrLHB0KXwwKXwwKSsoKDgxOTEmKGk9KGk9aStNYXRoLmltdWwoayxtdCl8MCkrTWF0aC5pbXVsKEEscHQpfDApKTw8MTMpfDA7Yz0oKG89bytNYXRoLmltdWwoQSxtdCl8MCkrKGk+Pj4xMyl8MCkrKE90Pj4+MjYpfDAsT3QmPTY3MTA4ODYzLG49TWF0aC5pbXVsKHEsb3QpLGk9KGk9TWF0aC5pbXVsKHEsc3QpKStNYXRoLmltdWwoVSxvdCl8MCxvPU1hdGguaW11bChVLHN0KSxuPW4rTWF0aC5pbXVsKEwsdXQpfDAsaT0oaT1pK01hdGguaW11bChMLGN0KXwwKStNYXRoLmltdWwoaix1dCl8MCxvPW8rTWF0aC5pbXVsKGosY3QpfDAsbj1uK01hdGguaW11bChQLGh0KXwwLGk9KGk9aStNYXRoLmltdWwoUCxsdCl8MCkrTWF0aC5pbXVsKEksaHQpfDAsbz1vK01hdGguaW11bChJLGx0KXwwO3ZhciBDdD0oYysobj1uK01hdGguaW11bChULHB0KXwwKXwwKSsoKDgxOTEmKGk9KGk9aStNYXRoLmltdWwoVCxtdCl8MCkrTWF0aC5pbXVsKE8scHQpfDApKTw8MTMpfDA7Yz0oKG89bytNYXRoLmltdWwoTyxtdCl8MCkrKGk+Pj4xMyl8MCkrKEN0Pj4+MjYpfDAsQ3QmPTY3MTA4ODYzLG49TWF0aC5pbXVsKHEsdXQpLGk9KGk9TWF0aC5pbXVsKHEsY3QpKStNYXRoLmltdWwoVSx1dCl8MCxvPU1hdGguaW11bChVLGN0KSxuPW4rTWF0aC5pbXVsKEwsaHQpfDAsaT0oaT1pK01hdGguaW11bChMLGx0KXwwKStNYXRoLmltdWwoaixodCl8MCxvPW8rTWF0aC5pbXVsKGosbHQpfDA7dmFyIFB0PShjKyhuPW4rTWF0aC5pbXVsKFAscHQpfDApfDApKygoODE5MSYoaT0oaT1pK01hdGguaW11bChQLG10KXwwKStNYXRoLmltdWwoSSxwdCl8MCkpPDwxMyl8MDtjPSgobz1vK01hdGguaW11bChJLG10KXwwKSsoaT4+PjEzKXwwKSsoUHQ+Pj4yNil8MCxQdCY9NjcxMDg4NjMsbj1NYXRoLmltdWwocSxodCksaT0oaT1NYXRoLmltdWwocSxsdCkpK01hdGguaW11bChVLGh0KXwwLG89TWF0aC5pbXVsKFUsbHQpO3ZhciBJdD0oYysobj1uK01hdGguaW11bChMLHB0KXwwKXwwKSsoKDgxOTEmKGk9KGk9aStNYXRoLmltdWwoTCxtdCl8MCkrTWF0aC5pbXVsKGoscHQpfDApKTw8MTMpfDA7Yz0oKG89bytNYXRoLmltdWwoaixtdCl8MCkrKGk+Pj4xMyl8MCkrKEl0Pj4+MjYpfDAsSXQmPTY3MTA4ODYzO3ZhciBCdD0oYysobj1NYXRoLmltdWwocSxwdCkpfDApKygoODE5MSYoaT0oaT1NYXRoLmltdWwocSxtdCkpK01hdGguaW11bChVLHB0KXwwKSk8PDEzKXwwO3JldHVybiBjPSgobz1NYXRoLmltdWwoVSxtdCkpKyhpPj4+MTMpfDApKyhCdD4+PjI2KXwwLEJ0Jj02NzEwODg2Myx1WzBdPWd0LHVbMV09YnQsdVsyXT15dCx1WzNdPXZ0LHVbNF09X3QsdVs1XT13dCx1WzZdPU10LHVbN109U3QsdVs4XT1FdCx1WzldPXh0LHVbMTBdPWt0LHVbMTFdPUF0LHVbMTJdPVJ0LHVbMTNdPVR0LHVbMTRdPU90LHVbMTVdPUN0LHVbMTZdPVB0LHVbMTddPUl0LHVbMThdPUJ0LDAhPT1jJiYodVsxOV09YyxyLmxlbmd0aCsrKSxyfTtmdW5jdGlvbiBiKHQsZSxyKXtyLm5lZ2F0aXZlPWUubmVnYXRpdmVedC5uZWdhdGl2ZSxyLmxlbmd0aD10Lmxlbmd0aCtlLmxlbmd0aDtmb3IodmFyIG49MCxpPTAsbz0wO288ci5sZW5ndGgtMTtvKyspe3ZhciBzPWk7aT0wO2Zvcih2YXIgYT02NzEwODg2MyZuLHU9TWF0aC5taW4obyxlLmxlbmd0aC0xKSxjPU1hdGgubWF4KDAsby10Lmxlbmd0aCsxKTtjPD11O2MrKyl7dmFyIGY9by1jLGg9KDB8dC53b3Jkc1tmXSkqKDB8ZS53b3Jkc1tjXSksbD02NzEwODg2MyZoO2E9NjcxMDg4NjMmKGw9bCthfDApLGkrPShzPShzPXMrKGgvNjcxMDg4NjR8MCl8MCkrKGw+Pj4yNil8MCk+Pj4yNixzJj02NzEwODg2M31yLndvcmRzW29dPWEsbj1zLHM9aX1yZXR1cm4gMCE9PW4/ci53b3Jkc1tvXT1uOnIubGVuZ3RoLS0sci5fc3RyaXAoKX1mdW5jdGlvbiB5KHQsZSxyKXtyZXR1cm4gYih0LGUscil9ZnVuY3Rpb24gdih0LGUpe3RoaXMueD10LHRoaXMueT1lfU1hdGguaW11bHx8KGc9bSksby5wcm90b3R5cGUubXVsVG89ZnVuY3Rpb24odCxlKXt2YXIgcj10aGlzLmxlbmd0aCt0Lmxlbmd0aDtyZXR1cm4gMTA9PT10aGlzLmxlbmd0aCYmMTA9PT10Lmxlbmd0aD9nKHRoaXMsdCxlKTpyPDYzP20odGhpcyx0LGUpOnI8MTAyND9iKHRoaXMsdCxlKTp5KHRoaXMsdCxlKX0sdi5wcm90b3R5cGUubWFrZVJCVD1mdW5jdGlvbih0KXtmb3IodmFyIGU9bmV3IEFycmF5KHQpLHI9by5wcm90b3R5cGUuX2NvdW50Qml0cyh0KS0xLG49MDtuPHQ7bisrKWVbbl09dGhpcy5yZXZCaW4obixyLHQpO3JldHVybiBlfSx2LnByb3RvdHlwZS5yZXZCaW49ZnVuY3Rpb24odCxlLHIpe2lmKDA9PT10fHx0PT09ci0xKXJldHVybiB0O2Zvcih2YXIgbj0wLGk9MDtpPGU7aSsrKW58PSgxJnQpPDxlLWktMSx0Pj49MTtyZXR1cm4gbn0sdi5wcm90b3R5cGUucGVybXV0ZT1mdW5jdGlvbih0LGUscixuLGksbyl7Zm9yKHZhciBzPTA7czxvO3MrKyluW3NdPWVbdFtzXV0saVtzXT1yW3Rbc11dfSx2LnByb3RvdHlwZS50cmFuc2Zvcm09ZnVuY3Rpb24odCxlLHIsbixpLG8pe3RoaXMucGVybXV0ZShvLHQsZSxyLG4saSk7Zm9yKHZhciBzPTE7czxpO3M8PD0xKWZvcih2YXIgYT1zPDwxLHU9TWF0aC5jb3MoMipNYXRoLlBJL2EpLGM9TWF0aC5zaW4oMipNYXRoLlBJL2EpLGY9MDtmPGk7Zis9YSlmb3IodmFyIGg9dSxsPWMsZD0wO2Q8cztkKyspe3ZhciBwPXJbZitkXSxtPW5bZitkXSxnPXJbZitkK3NdLGI9bltmK2Qrc10seT1oKmctbCpiO2I9aCpiK2wqZyxnPXkscltmK2RdPXArZyxuW2YrZF09bStiLHJbZitkK3NdPXAtZyxuW2YrZCtzXT1tLWIsZCE9PWEmJih5PXUqaC1jKmwsbD11KmwrYypoLGg9eSl9fSx2LnByb3RvdHlwZS5ndWVzc0xlbjEzYj1mdW5jdGlvbih0LGUpe3ZhciByPTF8TWF0aC5tYXgoZSx0KSxuPTEmcixpPTA7Zm9yKHI9ci8yfDA7cjtyPj4+PTEpaSsrO3JldHVybiAxPDxpKzErbn0sdi5wcm90b3R5cGUuY29uanVnYXRlPWZ1bmN0aW9uKHQsZSxyKXtpZighKHI8PTEpKWZvcih2YXIgbj0wO248ci8yO24rKyl7dmFyIGk9dFtuXTt0W25dPXRbci1uLTFdLHRbci1uLTFdPWksaT1lW25dLGVbbl09LWVbci1uLTFdLGVbci1uLTFdPS1pfX0sdi5wcm90b3R5cGUubm9ybWFsaXplMTNiPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPTAsbj0wO248ZS8yO24rKyl7dmFyIGk9ODE5MipNYXRoLnJvdW5kKHRbMipuKzFdL2UpK01hdGgucm91bmQodFsyKm5dL2UpK3I7dFtuXT02NzEwODg2MyZpLHI9aTw2NzEwODg2ND8wOmkvNjcxMDg4NjR8MH1yZXR1cm4gdH0sdi5wcm90b3R5cGUuY29udmVydDEzYj1mdW5jdGlvbih0LGUscixpKXtmb3IodmFyIG89MCxzPTA7czxlO3MrKylvKz0wfHRbc10sclsyKnNdPTgxOTEmbyxvPj4+PTEzLHJbMipzKzFdPTgxOTEmbyxvPj4+PTEzO2ZvcihzPTIqZTtzPGk7KytzKXJbc109MDtuKDA9PT1vKSxuKDA9PSgtODE5MiZvKSl9LHYucHJvdG90eXBlLnN0dWI9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPW5ldyBBcnJheSh0KSxyPTA7cjx0O3IrKyllW3JdPTA7cmV0dXJuIGV9LHYucHJvdG90eXBlLm11bHA9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPTIqdGhpcy5ndWVzc0xlbjEzYih0Lmxlbmd0aCxlLmxlbmd0aCksaT10aGlzLm1ha2VSQlQobiksbz10aGlzLnN0dWIobikscz1uZXcgQXJyYXkobiksYT1uZXcgQXJyYXkobiksdT1uZXcgQXJyYXkobiksYz1uZXcgQXJyYXkobiksZj1uZXcgQXJyYXkobiksaD1uZXcgQXJyYXkobiksbD1yLndvcmRzO2wubGVuZ3RoPW4sdGhpcy5jb252ZXJ0MTNiKHQud29yZHMsdC5sZW5ndGgscyxuKSx0aGlzLmNvbnZlcnQxM2IoZS53b3JkcyxlLmxlbmd0aCxjLG4pLHRoaXMudHJhbnNmb3JtKHMsbyxhLHUsbixpKSx0aGlzLnRyYW5zZm9ybShjLG8sZixoLG4saSk7Zm9yKHZhciBkPTA7ZDxuO2QrKyl7dmFyIHA9YVtkXSpmW2RdLXVbZF0qaFtkXTt1W2RdPWFbZF0qaFtkXSt1W2RdKmZbZF0sYVtkXT1wfXJldHVybiB0aGlzLmNvbmp1Z2F0ZShhLHUsbiksdGhpcy50cmFuc2Zvcm0oYSx1LGwsbyxuLGkpLHRoaXMuY29uanVnYXRlKGwsbyxuKSx0aGlzLm5vcm1hbGl6ZTEzYihsLG4pLHIubmVnYXRpdmU9dC5uZWdhdGl2ZV5lLm5lZ2F0aXZlLHIubGVuZ3RoPXQubGVuZ3RoK2UubGVuZ3RoLHIuX3N0cmlwKCl9LG8ucHJvdG90eXBlLm11bD1mdW5jdGlvbih0KXt2YXIgZT1uZXcgbyhudWxsKTtyZXR1cm4gZS53b3Jkcz1uZXcgQXJyYXkodGhpcy5sZW5ndGgrdC5sZW5ndGgpLHRoaXMubXVsVG8odCxlKX0sby5wcm90b3R5cGUubXVsZj1mdW5jdGlvbih0KXt2YXIgZT1uZXcgbyhudWxsKTtyZXR1cm4gZS53b3Jkcz1uZXcgQXJyYXkodGhpcy5sZW5ndGgrdC5sZW5ndGgpLHkodGhpcyx0LGUpfSxvLnByb3RvdHlwZS5pbXVsPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNsb25lKCkubXVsVG8odCx0aGlzKX0sby5wcm90b3R5cGUuaW11bG49ZnVuY3Rpb24odCl7dmFyIGU9dDwwO2UmJih0PS10KSxuKCJudW1iZXIiPT10eXBlb2YgdCksbih0PDY3MTA4ODY0KTtmb3IodmFyIHI9MCxpPTA7aTx0aGlzLmxlbmd0aDtpKyspe3ZhciBvPSgwfHRoaXMud29yZHNbaV0pKnQscz0oNjcxMDg4NjMmbykrKDY3MTA4ODYzJnIpO3I+Pj0yNixyKz1vLzY3MTA4ODY0fDAscis9cz4+PjI2LHRoaXMud29yZHNbaV09NjcxMDg4NjMmc31yZXR1cm4gMCE9PXImJih0aGlzLndvcmRzW2ldPXIsdGhpcy5sZW5ndGgrKyksZT90aGlzLmluZWcoKTp0aGlzfSxvLnByb3RvdHlwZS5tdWxuPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNsb25lKCkuaW11bG4odCl9LG8ucHJvdG90eXBlLnNxcj1mdW5jdGlvbigpe3JldHVybiB0aGlzLm11bCh0aGlzKX0sby5wcm90b3R5cGUuaXNxcj1mdW5jdGlvbigpe3JldHVybiB0aGlzLmltdWwodGhpcy5jbG9uZSgpKX0sby5wcm90b3R5cGUucG93PWZ1bmN0aW9uKHQpe3ZhciBlPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1uZXcgQXJyYXkodC5iaXRMZW5ndGgoKSkscj0wO3I8ZS5sZW5ndGg7cisrKXt2YXIgbj1yLzI2fDAsaT1yJTI2O2Vbcl09dC53b3Jkc1tuXT4+PmkmMX1yZXR1cm4gZX0odCk7aWYoMD09PWUubGVuZ3RoKXJldHVybiBuZXcgbygxKTtmb3IodmFyIHI9dGhpcyxuPTA7bjxlLmxlbmd0aCYmMD09PWVbbl07bisrLHI9ci5zcXIoKSk7aWYoKytuPGUubGVuZ3RoKWZvcih2YXIgaT1yLnNxcigpO248ZS5sZW5ndGg7bisrLGk9aS5zcXIoKSkwIT09ZVtuXSYmKHI9ci5tdWwoaSkpO3JldHVybiByfSxvLnByb3RvdHlwZS5pdXNobG49ZnVuY3Rpb24odCl7bigibnVtYmVyIj09dHlwZW9mIHQmJnQ+PTApO3ZhciBlLHI9dCUyNixpPSh0LXIpLzI2LG89NjcxMDg4NjM+Pj4yNi1yPDwyNi1yO2lmKDAhPT1yKXt2YXIgcz0wO2ZvcihlPTA7ZTx0aGlzLmxlbmd0aDtlKyspe3ZhciBhPXRoaXMud29yZHNbZV0mbyx1PSgwfHRoaXMud29yZHNbZV0pLWE8PHI7dGhpcy53b3Jkc1tlXT11fHMscz1hPj4+MjYtcn1zJiYodGhpcy53b3Jkc1tlXT1zLHRoaXMubGVuZ3RoKyspfWlmKDAhPT1pKXtmb3IoZT10aGlzLmxlbmd0aC0xO2U+PTA7ZS0tKXRoaXMud29yZHNbZStpXT10aGlzLndvcmRzW2VdO2ZvcihlPTA7ZTxpO2UrKyl0aGlzLndvcmRzW2VdPTA7dGhpcy5sZW5ndGgrPWl9cmV0dXJuIHRoaXMuX3N0cmlwKCl9LG8ucHJvdG90eXBlLmlzaGxuPWZ1bmN0aW9uKHQpe3JldHVybiBuKDA9PT10aGlzLm5lZ2F0aXZlKSx0aGlzLml1c2hsbih0KX0sby5wcm90b3R5cGUuaXVzaHJuPWZ1bmN0aW9uKHQsZSxyKXt2YXIgaTtuKCJudW1iZXIiPT10eXBlb2YgdCYmdD49MCksaT1lPyhlLWUlMjYpLzI2OjA7dmFyIG89dCUyNixzPU1hdGgubWluKCh0LW8pLzI2LHRoaXMubGVuZ3RoKSxhPTY3MTA4ODYzXjY3MTA4ODYzPj4+bzw8byx1PXI7aWYoaS09cyxpPU1hdGgubWF4KDAsaSksdSl7Zm9yKHZhciBjPTA7YzxzO2MrKyl1LndvcmRzW2NdPXRoaXMud29yZHNbY107dS5sZW5ndGg9c31pZigwPT09cyk7ZWxzZSBpZih0aGlzLmxlbmd0aD5zKWZvcih0aGlzLmxlbmd0aC09cyxjPTA7Yzx0aGlzLmxlbmd0aDtjKyspdGhpcy53b3Jkc1tjXT10aGlzLndvcmRzW2Mrc107ZWxzZSB0aGlzLndvcmRzWzBdPTAsdGhpcy5sZW5ndGg9MTt2YXIgZj0wO2ZvcihjPXRoaXMubGVuZ3RoLTE7Yz49MCYmKDAhPT1mfHxjPj1pKTtjLS0pe3ZhciBoPTB8dGhpcy53b3Jkc1tjXTt0aGlzLndvcmRzW2NdPWY8PDI2LW98aD4+Pm8sZj1oJmF9cmV0dXJuIHUmJjAhPT1mJiYodS53b3Jkc1t1Lmxlbmd0aCsrXT1mKSwwPT09dGhpcy5sZW5ndGgmJih0aGlzLndvcmRzWzBdPTAsdGhpcy5sZW5ndGg9MSksdGhpcy5fc3RyaXAoKX0sby5wcm90b3R5cGUuaXNocm49ZnVuY3Rpb24odCxlLHIpe3JldHVybiBuKDA9PT10aGlzLm5lZ2F0aXZlKSx0aGlzLml1c2hybih0LGUscil9LG8ucHJvdG90eXBlLnNobG49ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pc2hsbih0KX0sby5wcm90b3R5cGUudXNobG49ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pdXNobG4odCl9LG8ucHJvdG90eXBlLnNocm49ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pc2hybih0KX0sby5wcm90b3R5cGUudXNocm49ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pdXNocm4odCl9LG8ucHJvdG90eXBlLnRlc3RuPWZ1bmN0aW9uKHQpe24oIm51bWJlciI9PXR5cGVvZiB0JiZ0Pj0wKTt2YXIgZT10JTI2LHI9KHQtZSkvMjYsaT0xPDxlO3JldHVybiEodGhpcy5sZW5ndGg8PXIpJiYhISh0aGlzLndvcmRzW3JdJmkpfSxvLnByb3RvdHlwZS5pbWFza249ZnVuY3Rpb24odCl7bigibnVtYmVyIj09dHlwZW9mIHQmJnQ+PTApO3ZhciBlPXQlMjYscj0odC1lKS8yNjtpZihuKDA9PT10aGlzLm5lZ2F0aXZlLCJpbWFza24gd29ya3Mgb25seSB3aXRoIHBvc2l0aXZlIG51bWJlcnMiKSx0aGlzLmxlbmd0aDw9cilyZXR1cm4gdGhpcztpZigwIT09ZSYmcisrLHRoaXMubGVuZ3RoPU1hdGgubWluKHIsdGhpcy5sZW5ndGgpLDAhPT1lKXt2YXIgaT02NzEwODg2M142NzEwODg2Mz4+PmU8PGU7dGhpcy53b3Jkc1t0aGlzLmxlbmd0aC0xXSY9aX1yZXR1cm4gdGhpcy5fc3RyaXAoKX0sby5wcm90b3R5cGUubWFza249ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pbWFza24odCl9LG8ucHJvdG90eXBlLmlhZGRuPWZ1bmN0aW9uKHQpe3JldHVybiBuKCJudW1iZXIiPT10eXBlb2YgdCksbih0PDY3MTA4ODY0KSx0PDA/dGhpcy5pc3VibigtdCk6MCE9PXRoaXMubmVnYXRpdmU/MT09PXRoaXMubGVuZ3RoJiYoMHx0aGlzLndvcmRzWzBdKTw9dD8odGhpcy53b3Jkc1swXT10LSgwfHRoaXMud29yZHNbMF0pLHRoaXMubmVnYXRpdmU9MCx0aGlzKToodGhpcy5uZWdhdGl2ZT0wLHRoaXMuaXN1Ym4odCksdGhpcy5uZWdhdGl2ZT0xLHRoaXMpOnRoaXMuX2lhZGRuKHQpfSxvLnByb3RvdHlwZS5faWFkZG49ZnVuY3Rpb24odCl7dGhpcy53b3Jkc1swXSs9dDtmb3IodmFyIGU9MDtlPHRoaXMubGVuZ3RoJiZ0aGlzLndvcmRzW2VdPj02NzEwODg2NDtlKyspdGhpcy53b3Jkc1tlXS09NjcxMDg4NjQsZT09PXRoaXMubGVuZ3RoLTE/dGhpcy53b3Jkc1tlKzFdPTE6dGhpcy53b3Jkc1tlKzFdKys7cmV0dXJuIHRoaXMubGVuZ3RoPU1hdGgubWF4KHRoaXMubGVuZ3RoLGUrMSksdGhpc30sby5wcm90b3R5cGUuaXN1Ym49ZnVuY3Rpb24odCl7aWYobigibnVtYmVyIj09dHlwZW9mIHQpLG4odDw2NzEwODg2NCksdDwwKXJldHVybiB0aGlzLmlhZGRuKC10KTtpZigwIT09dGhpcy5uZWdhdGl2ZSlyZXR1cm4gdGhpcy5uZWdhdGl2ZT0wLHRoaXMuaWFkZG4odCksdGhpcy5uZWdhdGl2ZT0xLHRoaXM7aWYodGhpcy53b3Jkc1swXS09dCwxPT09dGhpcy5sZW5ndGgmJnRoaXMud29yZHNbMF08MCl0aGlzLndvcmRzWzBdPS10aGlzLndvcmRzWzBdLHRoaXMubmVnYXRpdmU9MTtlbHNlIGZvcih2YXIgZT0wO2U8dGhpcy5sZW5ndGgmJnRoaXMud29yZHNbZV08MDtlKyspdGhpcy53b3Jkc1tlXSs9NjcxMDg4NjQsdGhpcy53b3Jkc1tlKzFdLT0xO3JldHVybiB0aGlzLl9zdHJpcCgpfSxvLnByb3RvdHlwZS5hZGRuPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNsb25lKCkuaWFkZG4odCl9LG8ucHJvdG90eXBlLnN1Ym49ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pc3Vibih0KX0sby5wcm90b3R5cGUuaWFicz1mdW5jdGlvbigpe3JldHVybiB0aGlzLm5lZ2F0aXZlPTAsdGhpc30sby5wcm90b3R5cGUuYWJzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pYWJzKCl9LG8ucHJvdG90eXBlLl9pc2hsbnN1Ym11bD1mdW5jdGlvbih0LGUscil7dmFyIGksbyxzPXQubGVuZ3RoK3I7dGhpcy5fZXhwYW5kKHMpO3ZhciBhPTA7Zm9yKGk9MDtpPHQubGVuZ3RoO2krKyl7bz0oMHx0aGlzLndvcmRzW2krcl0pK2E7dmFyIHU9KDB8dC53b3Jkc1tpXSkqZTthPSgoby09NjcxMDg4NjMmdSk+PjI2KS0odS82NzEwODg2NHwwKSx0aGlzLndvcmRzW2krcl09NjcxMDg4NjMmb31mb3IoO2k8dGhpcy5sZW5ndGgtcjtpKyspYT0obz0oMHx0aGlzLndvcmRzW2krcl0pK2EpPj4yNix0aGlzLndvcmRzW2krcl09NjcxMDg4NjMmbztpZigwPT09YSlyZXR1cm4gdGhpcy5fc3RyaXAoKTtmb3IobigtMT09PWEpLGE9MCxpPTA7aTx0aGlzLmxlbmd0aDtpKyspYT0obz0tKDB8dGhpcy53b3Jkc1tpXSkrYSk+PjI2LHRoaXMud29yZHNbaV09NjcxMDg4NjMmbztyZXR1cm4gdGhpcy5uZWdhdGl2ZT0xLHRoaXMuX3N0cmlwKCl9LG8ucHJvdG90eXBlLl93b3JkRGl2PWZ1bmN0aW9uKHQsZSl7dmFyIHI9KHRoaXMubGVuZ3RoLHQubGVuZ3RoKSxuPXRoaXMuY2xvbmUoKSxpPXQscz0wfGkud29yZHNbaS5sZW5ndGgtMV07MCE9PShyPTI2LXRoaXMuX2NvdW50Qml0cyhzKSkmJihpPWkudXNobG4ociksbi5pdXNobG4ocikscz0wfGkud29yZHNbaS5sZW5ndGgtMV0pO3ZhciBhLHU9bi5sZW5ndGgtaS5sZW5ndGg7aWYoIm1vZCIhPT1lKXsoYT1uZXcgbyhudWxsKSkubGVuZ3RoPXUrMSxhLndvcmRzPW5ldyBBcnJheShhLmxlbmd0aCk7Zm9yKHZhciBjPTA7YzxhLmxlbmd0aDtjKyspYS53b3Jkc1tjXT0wfXZhciBmPW4uY2xvbmUoKS5faXNobG5zdWJtdWwoaSwxLHUpOzA9PT1mLm5lZ2F0aXZlJiYobj1mLGEmJihhLndvcmRzW3VdPTEpKTtmb3IodmFyIGg9dS0xO2g+PTA7aC0tKXt2YXIgbD02NzEwODg2NCooMHxuLndvcmRzW2kubGVuZ3RoK2hdKSsoMHxuLndvcmRzW2kubGVuZ3RoK2gtMV0pO2ZvcihsPU1hdGgubWluKGwvc3wwLDY3MTA4ODYzKSxuLl9pc2hsbnN1Ym11bChpLGwsaCk7MCE9PW4ubmVnYXRpdmU7KWwtLSxuLm5lZ2F0aXZlPTAsbi5faXNobG5zdWJtdWwoaSwxLGgpLG4uaXNaZXJvKCl8fChuLm5lZ2F0aXZlXj0xKTthJiYoYS53b3Jkc1toXT1sKX1yZXR1cm4gYSYmYS5fc3RyaXAoKSxuLl9zdHJpcCgpLCJkaXYiIT09ZSYmMCE9PXImJm4uaXVzaHJuKHIpLHtkaXY6YXx8bnVsbCxtb2Q6bn19LG8ucHJvdG90eXBlLmRpdm1vZD1mdW5jdGlvbih0LGUscil7cmV0dXJuIG4oIXQuaXNaZXJvKCkpLHRoaXMuaXNaZXJvKCk/e2RpdjpuZXcgbygwKSxtb2Q6bmV3IG8oMCl9OjAhPT10aGlzLm5lZ2F0aXZlJiYwPT09dC5uZWdhdGl2ZT8oYT10aGlzLm5lZygpLmRpdm1vZCh0LGUpLCJtb2QiIT09ZSYmKGk9YS5kaXYubmVnKCkpLCJkaXYiIT09ZSYmKHM9YS5tb2QubmVnKCksciYmMCE9PXMubmVnYXRpdmUmJnMuaWFkZCh0KSkse2RpdjppLG1vZDpzfSk6MD09PXRoaXMubmVnYXRpdmUmJjAhPT10Lm5lZ2F0aXZlPyhhPXRoaXMuZGl2bW9kKHQubmVnKCksZSksIm1vZCIhPT1lJiYoaT1hLmRpdi5uZWcoKSkse2RpdjppLG1vZDphLm1vZH0pOjAhPSh0aGlzLm5lZ2F0aXZlJnQubmVnYXRpdmUpPyhhPXRoaXMubmVnKCkuZGl2bW9kKHQubmVnKCksZSksImRpdiIhPT1lJiYocz1hLm1vZC5uZWcoKSxyJiYwIT09cy5uZWdhdGl2ZSYmcy5pc3ViKHQpKSx7ZGl2OmEuZGl2LG1vZDpzfSk6dC5sZW5ndGg+dGhpcy5sZW5ndGh8fHRoaXMuY21wKHQpPDA/e2RpdjpuZXcgbygwKSxtb2Q6dGhpc306MT09PXQubGVuZ3RoPyJkaXYiPT09ZT97ZGl2OnRoaXMuZGl2bih0LndvcmRzWzBdKSxtb2Q6bnVsbH06Im1vZCI9PT1lP3tkaXY6bnVsbCxtb2Q6bmV3IG8odGhpcy5tb2Rybih0LndvcmRzWzBdKSl9OntkaXY6dGhpcy5kaXZuKHQud29yZHNbMF0pLG1vZDpuZXcgbyh0aGlzLm1vZHJuKHQud29yZHNbMF0pKX06dGhpcy5fd29yZERpdih0LGUpO3ZhciBpLHMsYX0sby5wcm90b3R5cGUuZGl2PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmRpdm1vZCh0LCJkaXYiLCExKS5kaXZ9LG8ucHJvdG90eXBlLm1vZD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5kaXZtb2QodCwibW9kIiwhMSkubW9kfSxvLnByb3RvdHlwZS51bW9kPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmRpdm1vZCh0LCJtb2QiLCEwKS5tb2R9LG8ucHJvdG90eXBlLmRpdlJvdW5kPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuZGl2bW9kKHQpO2lmKGUubW9kLmlzWmVybygpKXJldHVybiBlLmRpdjt2YXIgcj0wIT09ZS5kaXYubmVnYXRpdmU/ZS5tb2QuaXN1Yih0KTplLm1vZCxuPXQudXNocm4oMSksaT10LmFuZGxuKDEpLG89ci5jbXAobik7cmV0dXJuIG88MHx8MT09PWkmJjA9PT1vP2UuZGl2OjAhPT1lLmRpdi5uZWdhdGl2ZT9lLmRpdi5pc3VibigxKTplLmRpdi5pYWRkbigxKX0sby5wcm90b3R5cGUubW9kcm49ZnVuY3Rpb24odCl7dmFyIGU9dDwwO2UmJih0PS10KSxuKHQ8PTY3MTA4ODYzKTtmb3IodmFyIHI9KDE8PDI2KSV0LGk9MCxvPXRoaXMubGVuZ3RoLTE7bz49MDtvLS0paT0ocippKygwfHRoaXMud29yZHNbb10pKSV0O3JldHVybiBlPy1pOml9LG8ucHJvdG90eXBlLm1vZG49ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMubW9kcm4odCl9LG8ucHJvdG90eXBlLmlkaXZuPWZ1bmN0aW9uKHQpe3ZhciBlPXQ8MDtlJiYodD0tdCksbih0PD02NzEwODg2Myk7Zm9yKHZhciByPTAsaT10aGlzLmxlbmd0aC0xO2k+PTA7aS0tKXt2YXIgbz0oMHx0aGlzLndvcmRzW2ldKSs2NzEwODg2NCpyO3RoaXMud29yZHNbaV09by90fDAscj1vJXR9cmV0dXJuIHRoaXMuX3N0cmlwKCksZT90aGlzLmluZWcoKTp0aGlzfSxvLnByb3RvdHlwZS5kaXZuPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNsb25lKCkuaWRpdm4odCl9LG8ucHJvdG90eXBlLmVnY2Q9ZnVuY3Rpb24odCl7bigwPT09dC5uZWdhdGl2ZSksbighdC5pc1plcm8oKSk7dmFyIGU9dGhpcyxyPXQuY2xvbmUoKTtlPTAhPT1lLm5lZ2F0aXZlP2UudW1vZCh0KTplLmNsb25lKCk7Zm9yKHZhciBpPW5ldyBvKDEpLHM9bmV3IG8oMCksYT1uZXcgbygwKSx1PW5ldyBvKDEpLGM9MDtlLmlzRXZlbigpJiZyLmlzRXZlbigpOyllLml1c2hybigxKSxyLml1c2hybigxKSwrK2M7Zm9yKHZhciBmPXIuY2xvbmUoKSxoPWUuY2xvbmUoKTshZS5pc1plcm8oKTspe2Zvcih2YXIgbD0wLGQ9MTswPT0oZS53b3Jkc1swXSZkKSYmbDwyNjsrK2wsZDw8PTEpO2lmKGw+MClmb3IoZS5pdXNocm4obCk7bC0tID4wOykoaS5pc09kZCgpfHxzLmlzT2RkKCkpJiYoaS5pYWRkKGYpLHMuaXN1YihoKSksaS5pdXNocm4oMSkscy5pdXNocm4oMSk7Zm9yKHZhciBwPTAsbT0xOzA9PShyLndvcmRzWzBdJm0pJiZwPDI2OysrcCxtPDw9MSk7aWYocD4wKWZvcihyLml1c2hybihwKTtwLS0gPjA7KShhLmlzT2RkKCl8fHUuaXNPZGQoKSkmJihhLmlhZGQoZiksdS5pc3ViKGgpKSxhLml1c2hybigxKSx1Lml1c2hybigxKTtlLmNtcChyKT49MD8oZS5pc3ViKHIpLGkuaXN1YihhKSxzLmlzdWIodSkpOihyLmlzdWIoZSksYS5pc3ViKGkpLHUuaXN1YihzKSl9cmV0dXJue2E6YSxiOnUsZ2NkOnIuaXVzaGxuKGMpfX0sby5wcm90b3R5cGUuX2ludm1wPWZ1bmN0aW9uKHQpe24oMD09PXQubmVnYXRpdmUpLG4oIXQuaXNaZXJvKCkpO3ZhciBlPXRoaXMscj10LmNsb25lKCk7ZT0wIT09ZS5uZWdhdGl2ZT9lLnVtb2QodCk6ZS5jbG9uZSgpO2Zvcih2YXIgaSxzPW5ldyBvKDEpLGE9bmV3IG8oMCksdT1yLmNsb25lKCk7ZS5jbXBuKDEpPjAmJnIuY21wbigxKT4wOyl7Zm9yKHZhciBjPTAsZj0xOzA9PShlLndvcmRzWzBdJmYpJiZjPDI2OysrYyxmPDw9MSk7aWYoYz4wKWZvcihlLml1c2hybihjKTtjLS0gPjA7KXMuaXNPZGQoKSYmcy5pYWRkKHUpLHMuaXVzaHJuKDEpO2Zvcih2YXIgaD0wLGw9MTswPT0oci53b3Jkc1swXSZsKSYmaDwyNjsrK2gsbDw8PTEpO2lmKGg+MClmb3Ioci5pdXNocm4oaCk7aC0tID4wOylhLmlzT2RkKCkmJmEuaWFkZCh1KSxhLml1c2hybigxKTtlLmNtcChyKT49MD8oZS5pc3ViKHIpLHMuaXN1YihhKSk6KHIuaXN1YihlKSxhLmlzdWIocykpfXJldHVybihpPTA9PT1lLmNtcG4oMSk/czphKS5jbXBuKDApPDAmJmkuaWFkZCh0KSxpfSxvLnByb3RvdHlwZS5nY2Q9ZnVuY3Rpb24odCl7aWYodGhpcy5pc1plcm8oKSlyZXR1cm4gdC5hYnMoKTtpZih0LmlzWmVybygpKXJldHVybiB0aGlzLmFicygpO3ZhciBlPXRoaXMuY2xvbmUoKSxyPXQuY2xvbmUoKTtlLm5lZ2F0aXZlPTAsci5uZWdhdGl2ZT0wO2Zvcih2YXIgbj0wO2UuaXNFdmVuKCkmJnIuaXNFdmVuKCk7bisrKWUuaXVzaHJuKDEpLHIuaXVzaHJuKDEpO2Zvcig7Oyl7Zm9yKDtlLmlzRXZlbigpOyllLml1c2hybigxKTtmb3IoO3IuaXNFdmVuKCk7KXIuaXVzaHJuKDEpO3ZhciBpPWUuY21wKHIpO2lmKGk8MCl7dmFyIG89ZTtlPXIscj1vfWVsc2UgaWYoMD09PWl8fDA9PT1yLmNtcG4oMSkpYnJlYWs7ZS5pc3ViKHIpfXJldHVybiByLml1c2hsbihuKX0sby5wcm90b3R5cGUuaW52bT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5lZ2NkKHQpLmEudW1vZCh0KX0sby5wcm90b3R5cGUuaXNFdmVuPWZ1bmN0aW9uKCl7cmV0dXJuIDA9PSgxJnRoaXMud29yZHNbMF0pfSxvLnByb3RvdHlwZS5pc09kZD1mdW5jdGlvbigpe3JldHVybiAxPT0oMSZ0aGlzLndvcmRzWzBdKX0sby5wcm90b3R5cGUuYW5kbG49ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMud29yZHNbMF0mdH0sby5wcm90b3R5cGUuYmluY249ZnVuY3Rpb24odCl7bigibnVtYmVyIj09dHlwZW9mIHQpO3ZhciBlPXQlMjYscj0odC1lKS8yNixpPTE8PGU7aWYodGhpcy5sZW5ndGg8PXIpcmV0dXJuIHRoaXMuX2V4cGFuZChyKzEpLHRoaXMud29yZHNbcl18PWksdGhpcztmb3IodmFyIG89aSxzPXI7MCE9PW8mJnM8dGhpcy5sZW5ndGg7cysrKXt2YXIgYT0wfHRoaXMud29yZHNbc107bz0oYSs9byk+Pj4yNixhJj02NzEwODg2Myx0aGlzLndvcmRzW3NdPWF9cmV0dXJuIDAhPT1vJiYodGhpcy53b3Jkc1tzXT1vLHRoaXMubGVuZ3RoKyspLHRoaXN9LG8ucHJvdG90eXBlLmlzWmVybz1mdW5jdGlvbigpe3JldHVybiAxPT09dGhpcy5sZW5ndGgmJjA9PT10aGlzLndvcmRzWzBdfSxvLnByb3RvdHlwZS5jbXBuPWZ1bmN0aW9uKHQpe3ZhciBlLHI9dDwwO2lmKDAhPT10aGlzLm5lZ2F0aXZlJiYhcilyZXR1cm4tMTtpZigwPT09dGhpcy5uZWdhdGl2ZSYmcilyZXR1cm4gMTtpZih0aGlzLl9zdHJpcCgpLHRoaXMubGVuZ3RoPjEpZT0xO2Vsc2V7ciYmKHQ9LXQpLG4odDw9NjcxMDg4NjMsIk51bWJlciBpcyB0b28gYmlnIik7dmFyIGk9MHx0aGlzLndvcmRzWzBdO2U9aT09PXQ/MDppPHQ/LTE6MX1yZXR1cm4gMCE9PXRoaXMubmVnYXRpdmU/MHwtZTplfSxvLnByb3RvdHlwZS5jbXA9ZnVuY3Rpb24odCl7aWYoMCE9PXRoaXMubmVnYXRpdmUmJjA9PT10Lm5lZ2F0aXZlKXJldHVybi0xO2lmKDA9PT10aGlzLm5lZ2F0aXZlJiYwIT09dC5uZWdhdGl2ZSlyZXR1cm4gMTt2YXIgZT10aGlzLnVjbXAodCk7cmV0dXJuIDAhPT10aGlzLm5lZ2F0aXZlPzB8LWU6ZX0sby5wcm90b3R5cGUudWNtcD1mdW5jdGlvbih0KXtpZih0aGlzLmxlbmd0aD50Lmxlbmd0aClyZXR1cm4gMTtpZih0aGlzLmxlbmd0aDx0Lmxlbmd0aClyZXR1cm4tMTtmb3IodmFyIGU9MCxyPXRoaXMubGVuZ3RoLTE7cj49MDtyLS0pe3ZhciBuPTB8dGhpcy53b3Jkc1tyXSxpPTB8dC53b3Jkc1tyXTtpZihuIT09aSl7bjxpP2U9LTE6bj5pJiYoZT0xKTticmVha319cmV0dXJuIGV9LG8ucHJvdG90eXBlLmd0bj1mdW5jdGlvbih0KXtyZXR1cm4gMT09PXRoaXMuY21wbih0KX0sby5wcm90b3R5cGUuZ3Q9ZnVuY3Rpb24odCl7cmV0dXJuIDE9PT10aGlzLmNtcCh0KX0sby5wcm90b3R5cGUuZ3Rlbj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jbXBuKHQpPj0wfSxvLnByb3RvdHlwZS5ndGU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY21wKHQpPj0wfSxvLnByb3RvdHlwZS5sdG49ZnVuY3Rpb24odCl7cmV0dXJuLTE9PT10aGlzLmNtcG4odCl9LG8ucHJvdG90eXBlLmx0PWZ1bmN0aW9uKHQpe3JldHVybi0xPT09dGhpcy5jbXAodCl9LG8ucHJvdG90eXBlLmx0ZW49ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY21wbih0KTw9MH0sby5wcm90b3R5cGUubHRlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNtcCh0KTw9MH0sby5wcm90b3R5cGUuZXFuPWZ1bmN0aW9uKHQpe3JldHVybiAwPT09dGhpcy5jbXBuKHQpfSxvLnByb3RvdHlwZS5lcT1mdW5jdGlvbih0KXtyZXR1cm4gMD09PXRoaXMuY21wKHQpfSxvLnJlZD1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IGsodCl9LG8ucHJvdG90eXBlLnRvUmVkPWZ1bmN0aW9uKHQpe3JldHVybiBuKCF0aGlzLnJlZCwiQWxyZWFkeSBhIG51bWJlciBpbiByZWR1Y3Rpb24gY29udGV4dCIpLG4oMD09PXRoaXMubmVnYXRpdmUsInJlZCB3b3JrcyBvbmx5IHdpdGggcG9zaXRpdmVzIiksdC5jb252ZXJ0VG8odGhpcykuX2ZvcmNlUmVkKHQpfSxvLnByb3RvdHlwZS5mcm9tUmVkPWZ1bmN0aW9uKCl7cmV0dXJuIG4odGhpcy5yZWQsImZyb21SZWQgd29ya3Mgb25seSB3aXRoIG51bWJlcnMgaW4gcmVkdWN0aW9uIGNvbnRleHQiKSx0aGlzLnJlZC5jb252ZXJ0RnJvbSh0aGlzKX0sby5wcm90b3R5cGUuX2ZvcmNlUmVkPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnJlZD10LHRoaXN9LG8ucHJvdG90eXBlLmZvcmNlUmVkPWZ1bmN0aW9uKHQpe3JldHVybiBuKCF0aGlzLnJlZCwiQWxyZWFkeSBhIG51bWJlciBpbiByZWR1Y3Rpb24gY29udGV4dCIpLHRoaXMuX2ZvcmNlUmVkKHQpfSxvLnByb3RvdHlwZS5yZWRBZGQ9ZnVuY3Rpb24odCl7cmV0dXJuIG4odGhpcy5yZWQsInJlZEFkZCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5hZGQodGhpcyx0KX0sby5wcm90b3R5cGUucmVkSUFkZD1mdW5jdGlvbih0KXtyZXR1cm4gbih0aGlzLnJlZCwicmVkSUFkZCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5pYWRkKHRoaXMsdCl9LG8ucHJvdG90eXBlLnJlZFN1Yj1mdW5jdGlvbih0KXtyZXR1cm4gbih0aGlzLnJlZCwicmVkU3ViIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMucmVkLnN1Yih0aGlzLHQpfSxvLnByb3RvdHlwZS5yZWRJU3ViPWZ1bmN0aW9uKHQpe3JldHVybiBuKHRoaXMucmVkLCJyZWRJU3ViIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMucmVkLmlzdWIodGhpcyx0KX0sby5wcm90b3R5cGUucmVkU2hsPWZ1bmN0aW9uKHQpe3JldHVybiBuKHRoaXMucmVkLCJyZWRTaGwgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiksdGhpcy5yZWQuc2hsKHRoaXMsdCl9LG8ucHJvdG90eXBlLnJlZE11bD1mdW5jdGlvbih0KXtyZXR1cm4gbih0aGlzLnJlZCwicmVkTXVsIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMucmVkLl92ZXJpZnkyKHRoaXMsdCksdGhpcy5yZWQubXVsKHRoaXMsdCl9LG8ucHJvdG90eXBlLnJlZElNdWw9ZnVuY3Rpb24odCl7cmV0dXJuIG4odGhpcy5yZWQsInJlZE11bCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5fdmVyaWZ5Mih0aGlzLHQpLHRoaXMucmVkLmltdWwodGhpcyx0KX0sby5wcm90b3R5cGUucmVkU3FyPWZ1bmN0aW9uKCl7cmV0dXJuIG4odGhpcy5yZWQsInJlZFNxciB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKSx0aGlzLnJlZC5zcXIodGhpcyl9LG8ucHJvdG90eXBlLnJlZElTcXI9ZnVuY3Rpb24oKXtyZXR1cm4gbih0aGlzLnJlZCwicmVkSVNxciB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKSx0aGlzLnJlZC5pc3FyKHRoaXMpfSxvLnByb3RvdHlwZS5yZWRTcXJ0PWZ1bmN0aW9uKCl7cmV0dXJuIG4odGhpcy5yZWQsInJlZFNxcnQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiksdGhpcy5yZWQuX3ZlcmlmeTEodGhpcyksdGhpcy5yZWQuc3FydCh0aGlzKX0sby5wcm90b3R5cGUucmVkSW52bT1mdW5jdGlvbigpe3JldHVybiBuKHRoaXMucmVkLCJyZWRJbnZtIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpLHRoaXMucmVkLmludm0odGhpcyl9LG8ucHJvdG90eXBlLnJlZE5lZz1mdW5jdGlvbigpe3JldHVybiBuKHRoaXMucmVkLCJyZWROZWcgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiksdGhpcy5yZWQuX3ZlcmlmeTEodGhpcyksdGhpcy5yZWQubmVnKHRoaXMpfSxvLnByb3RvdHlwZS5yZWRQb3c9ZnVuY3Rpb24odCl7cmV0dXJuIG4odGhpcy5yZWQmJiF0LnJlZCwicmVkUG93KG5vcm1hbE51bSkiKSx0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKSx0aGlzLnJlZC5wb3codGhpcyx0KX07dmFyIF89e2syNTY6bnVsbCxwMjI0Om51bGwscDE5MjpudWxsLHAyNTUxOTpudWxsfTtmdW5jdGlvbiB3KHQsZSl7dGhpcy5uYW1lPXQsdGhpcy5wPW5ldyBvKGUsMTYpLHRoaXMubj10aGlzLnAuYml0TGVuZ3RoKCksdGhpcy5rPW5ldyBvKDEpLml1c2hsbih0aGlzLm4pLmlzdWIodGhpcy5wKSx0aGlzLnRtcD10aGlzLl90bXAoKX1mdW5jdGlvbiBNKCl7dy5jYWxsKHRoaXMsImsyNTYiLCJmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZSBmZmZmZmMyZiIpfWZ1bmN0aW9uIFMoKXt3LmNhbGwodGhpcywicDIyNCIsImZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAxIil9ZnVuY3Rpb24gRSgpe3cuY2FsbCh0aGlzLCJwMTkyIiwiZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmUgZmZmZmZmZmYgZmZmZmZmZmYiKX1mdW5jdGlvbiB4KCl7dy5jYWxsKHRoaXMsIjI1NTE5IiwiN2ZmZmZmZmZmZmZmZmZmZiBmZmZmZmZmZmZmZmZmZmZmIGZmZmZmZmZmZmZmZmZmZmYgZmZmZmZmZmZmZmZmZmZlZCIpfWZ1bmN0aW9uIGsodCl7aWYoInN0cmluZyI9PXR5cGVvZiB0KXt2YXIgZT1vLl9wcmltZSh0KTt0aGlzLm09ZS5wLHRoaXMucHJpbWU9ZX1lbHNlIG4odC5ndG4oMSksIm1vZHVsdXMgbXVzdCBiZSBncmVhdGVyIHRoYW4gMSIpLHRoaXMubT10LHRoaXMucHJpbWU9bnVsbH1mdW5jdGlvbiBBKHQpe2suY2FsbCh0aGlzLHQpLHRoaXMuc2hpZnQ9dGhpcy5tLmJpdExlbmd0aCgpLHRoaXMuc2hpZnQlMjYhPTAmJih0aGlzLnNoaWZ0Kz0yNi10aGlzLnNoaWZ0JTI2KSx0aGlzLnI9bmV3IG8oMSkuaXVzaGxuKHRoaXMuc2hpZnQpLHRoaXMucjI9dGhpcy5pbW9kKHRoaXMuci5zcXIoKSksdGhpcy5yaW52PXRoaXMuci5faW52bXAodGhpcy5tKSx0aGlzLm1pbnY9dGhpcy5yaW52Lm11bCh0aGlzLnIpLmlzdWJuKDEpLmRpdih0aGlzLm0pLHRoaXMubWludj10aGlzLm1pbnYudW1vZCh0aGlzLnIpLHRoaXMubWludj10aGlzLnIuc3ViKHRoaXMubWludil9dy5wcm90b3R5cGUuX3RtcD1mdW5jdGlvbigpe3ZhciB0PW5ldyBvKG51bGwpO3JldHVybiB0LndvcmRzPW5ldyBBcnJheShNYXRoLmNlaWwodGhpcy5uLzEzKSksdH0sdy5wcm90b3R5cGUuaXJlZHVjZT1mdW5jdGlvbih0KXt2YXIgZSxyPXQ7ZG97dGhpcy5zcGxpdChyLHRoaXMudG1wKSxlPShyPShyPXRoaXMuaW11bEsocikpLmlhZGQodGhpcy50bXApKS5iaXRMZW5ndGgoKX13aGlsZShlPnRoaXMubik7dmFyIG49ZTx0aGlzLm4/LTE6ci51Y21wKHRoaXMucCk7cmV0dXJuIDA9PT1uPyhyLndvcmRzWzBdPTAsci5sZW5ndGg9MSk6bj4wP3IuaXN1Yih0aGlzLnApOnZvaWQgMCE9PXIuc3RyaXA/ci5zdHJpcCgpOnIuX3N0cmlwKCkscn0sdy5wcm90b3R5cGUuc3BsaXQ9ZnVuY3Rpb24odCxlKXt0Lml1c2hybih0aGlzLm4sMCxlKX0sdy5wcm90b3R5cGUuaW11bEs9ZnVuY3Rpb24odCl7cmV0dXJuIHQuaW11bCh0aGlzLmspfSxpKE0sdyksTS5wcm90b3R5cGUuc3BsaXQ9ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9TWF0aC5taW4odC5sZW5ndGgsOSksbj0wO248cjtuKyspZS53b3Jkc1tuXT10LndvcmRzW25dO2lmKGUubGVuZ3RoPXIsdC5sZW5ndGg8PTkpcmV0dXJuIHQud29yZHNbMF09MCx2b2lkKHQubGVuZ3RoPTEpO3ZhciBpPXQud29yZHNbOV07Zm9yKGUud29yZHNbZS5sZW5ndGgrK109NDE5NDMwMyZpLG49MTA7bjx0Lmxlbmd0aDtuKyspe3ZhciBvPTB8dC53b3Jkc1tuXTt0LndvcmRzW24tMTBdPSg0MTk0MzAzJm8pPDw0fGk+Pj4yMixpPW99aT4+Pj0yMix0LndvcmRzW24tMTBdPWksMD09PWkmJnQubGVuZ3RoPjEwP3QubGVuZ3RoLT0xMDp0Lmxlbmd0aC09OX0sTS5wcm90b3R5cGUuaW11bEs9ZnVuY3Rpb24odCl7dC53b3Jkc1t0Lmxlbmd0aF09MCx0LndvcmRzW3QubGVuZ3RoKzFdPTAsdC5sZW5ndGgrPTI7Zm9yKHZhciBlPTAscj0wO3I8dC5sZW5ndGg7cisrKXt2YXIgbj0wfHQud29yZHNbcl07ZSs9OTc3Km4sdC53b3Jkc1tyXT02NzEwODg2MyZlLGU9NjQqbisoZS82NzEwODg2NHwwKX1yZXR1cm4gMD09PXQud29yZHNbdC5sZW5ndGgtMV0mJih0Lmxlbmd0aC0tLDA9PT10LndvcmRzW3QubGVuZ3RoLTFdJiZ0Lmxlbmd0aC0tKSx0fSxpKFMsdyksaShFLHcpLGkoeCx3KSx4LnByb3RvdHlwZS5pbXVsSz1mdW5jdGlvbih0KXtmb3IodmFyIGU9MCxyPTA7cjx0Lmxlbmd0aDtyKyspe3ZhciBuPTE5KigwfHQud29yZHNbcl0pK2UsaT02NzEwODg2MyZuO24+Pj49MjYsdC53b3Jkc1tyXT1pLGU9bn1yZXR1cm4gMCE9PWUmJih0LndvcmRzW3QubGVuZ3RoKytdPWUpLHR9LG8uX3ByaW1lPWZ1bmN0aW9uKHQpe2lmKF9bdF0pcmV0dXJuIF9bdF07dmFyIGU7aWYoImsyNTYiPT09dCllPW5ldyBNO2Vsc2UgaWYoInAyMjQiPT09dCllPW5ldyBTO2Vsc2UgaWYoInAxOTIiPT09dCllPW5ldyBFO2Vsc2V7aWYoInAyNTUxOSIhPT10KXRocm93IG5ldyBFcnJvcigiVW5rbm93biBwcmltZSAiK3QpO2U9bmV3IHh9cmV0dXJuIF9bdF09ZSxlfSxrLnByb3RvdHlwZS5fdmVyaWZ5MT1mdW5jdGlvbih0KXtuKDA9PT10Lm5lZ2F0aXZlLCJyZWQgd29ya3Mgb25seSB3aXRoIHBvc2l0aXZlcyIpLG4odC5yZWQsInJlZCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKX0say5wcm90b3R5cGUuX3ZlcmlmeTI9ZnVuY3Rpb24odCxlKXtuKDA9PSh0Lm5lZ2F0aXZlfGUubmVnYXRpdmUpLCJyZWQgd29ya3Mgb25seSB3aXRoIHBvc2l0aXZlcyIpLG4odC5yZWQmJnQucmVkPT09ZS5yZWQsInJlZCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKX0say5wcm90b3R5cGUuaW1vZD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5wcmltZT90aGlzLnByaW1lLmlyZWR1Y2UodCkuX2ZvcmNlUmVkKHRoaXMpOihmKHQsdC51bW9kKHRoaXMubSkuX2ZvcmNlUmVkKHRoaXMpKSx0KX0say5wcm90b3R5cGUubmVnPWZ1bmN0aW9uKHQpe3JldHVybiB0LmlzWmVybygpP3QuY2xvbmUoKTp0aGlzLm0uc3ViKHQpLl9mb3JjZVJlZCh0aGlzKX0say5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKHQsZSl7dGhpcy5fdmVyaWZ5Mih0LGUpO3ZhciByPXQuYWRkKGUpO3JldHVybiByLmNtcCh0aGlzLm0pPj0wJiZyLmlzdWIodGhpcy5tKSxyLl9mb3JjZVJlZCh0aGlzKX0say5wcm90b3R5cGUuaWFkZD1mdW5jdGlvbih0LGUpe3RoaXMuX3ZlcmlmeTIodCxlKTt2YXIgcj10LmlhZGQoZSk7cmV0dXJuIHIuY21wKHRoaXMubSk+PTAmJnIuaXN1Yih0aGlzLm0pLHJ9LGsucHJvdG90eXBlLnN1Yj1mdW5jdGlvbih0LGUpe3RoaXMuX3ZlcmlmeTIodCxlKTt2YXIgcj10LnN1YihlKTtyZXR1cm4gci5jbXBuKDApPDAmJnIuaWFkZCh0aGlzLm0pLHIuX2ZvcmNlUmVkKHRoaXMpfSxrLnByb3RvdHlwZS5pc3ViPWZ1bmN0aW9uKHQsZSl7dGhpcy5fdmVyaWZ5Mih0LGUpO3ZhciByPXQuaXN1YihlKTtyZXR1cm4gci5jbXBuKDApPDAmJnIuaWFkZCh0aGlzLm0pLHJ9LGsucHJvdG90eXBlLnNobD1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLl92ZXJpZnkxKHQpLHRoaXMuaW1vZCh0LnVzaGxuKGUpKX0say5wcm90b3R5cGUuaW11bD1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLl92ZXJpZnkyKHQsZSksdGhpcy5pbW9kKHQuaW11bChlKSl9LGsucHJvdG90eXBlLm11bD1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLl92ZXJpZnkyKHQsZSksdGhpcy5pbW9kKHQubXVsKGUpKX0say5wcm90b3R5cGUuaXNxcj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5pbXVsKHQsdC5jbG9uZSgpKX0say5wcm90b3R5cGUuc3FyPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm11bCh0LHQpfSxrLnByb3RvdHlwZS5zcXJ0PWZ1bmN0aW9uKHQpe2lmKHQuaXNaZXJvKCkpcmV0dXJuIHQuY2xvbmUoKTt2YXIgZT10aGlzLm0uYW5kbG4oMyk7aWYobihlJTI9PTEpLDM9PT1lKXt2YXIgcj10aGlzLm0uYWRkKG5ldyBvKDEpKS5pdXNocm4oMik7cmV0dXJuIHRoaXMucG93KHQscil9Zm9yKHZhciBpPXRoaXMubS5zdWJuKDEpLHM9MDshaS5pc1plcm8oKSYmMD09PWkuYW5kbG4oMSk7KXMrKyxpLml1c2hybigxKTtuKCFpLmlzWmVybygpKTt2YXIgYT1uZXcgbygxKS50b1JlZCh0aGlzKSx1PWEucmVkTmVnKCksYz10aGlzLm0uc3VibigxKS5pdXNocm4oMSksZj10aGlzLm0uYml0TGVuZ3RoKCk7Zm9yKGY9bmV3IG8oMipmKmYpLnRvUmVkKHRoaXMpOzAhPT10aGlzLnBvdyhmLGMpLmNtcCh1KTspZi5yZWRJQWRkKHUpO2Zvcih2YXIgaD10aGlzLnBvdyhmLGkpLGw9dGhpcy5wb3codCxpLmFkZG4oMSkuaXVzaHJuKDEpKSxkPXRoaXMucG93KHQsaSkscD1zOzAhPT1kLmNtcChhKTspe2Zvcih2YXIgbT1kLGc9MDswIT09bS5jbXAoYSk7ZysrKW09bS5yZWRTcXIoKTtuKGc8cCk7dmFyIGI9dGhpcy5wb3coaCxuZXcgbygxKS5pdXNobG4ocC1nLTEpKTtsPWwucmVkTXVsKGIpLGg9Yi5yZWRTcXIoKSxkPWQucmVkTXVsKGgpLHA9Z31yZXR1cm4gbH0say5wcm90b3R5cGUuaW52bT1mdW5jdGlvbih0KXt2YXIgZT10Ll9pbnZtcCh0aGlzLm0pO3JldHVybiAwIT09ZS5uZWdhdGl2ZT8oZS5uZWdhdGl2ZT0wLHRoaXMuaW1vZChlKS5yZWROZWcoKSk6dGhpcy5pbW9kKGUpfSxrLnByb3RvdHlwZS5wb3c9ZnVuY3Rpb24odCxlKXtpZihlLmlzWmVybygpKXJldHVybiBuZXcgbygxKS50b1JlZCh0aGlzKTtpZigwPT09ZS5jbXBuKDEpKXJldHVybiB0LmNsb25lKCk7dmFyIHI9bmV3IEFycmF5KDE2KTtyWzBdPW5ldyBvKDEpLnRvUmVkKHRoaXMpLHJbMV09dDtmb3IodmFyIG49MjtuPHIubGVuZ3RoO24rKylyW25dPXRoaXMubXVsKHJbbi0xXSx0KTt2YXIgaT1yWzBdLHM9MCxhPTAsdT1lLmJpdExlbmd0aCgpJTI2O2ZvcigwPT09dSYmKHU9MjYpLG49ZS5sZW5ndGgtMTtuPj0wO24tLSl7Zm9yKHZhciBjPWUud29yZHNbbl0sZj11LTE7Zj49MDtmLS0pe3ZhciBoPWM+PmYmMTtpIT09clswXSYmKGk9dGhpcy5zcXIoaSkpLDAhPT1ofHwwIT09cz8oczw8PTEsc3w9aCwoND09PSsrYXx8MD09PW4mJjA9PT1mKSYmKGk9dGhpcy5tdWwoaSxyW3NdKSxhPTAscz0wKSk6YT0wfXU9MjZ9cmV0dXJuIGl9LGsucHJvdG90eXBlLmNvbnZlcnRUbz1mdW5jdGlvbih0KXt2YXIgZT10LnVtb2QodGhpcy5tKTtyZXR1cm4gZT09PXQ/ZS5jbG9uZSgpOmV9LGsucHJvdG90eXBlLmNvbnZlcnRGcm9tPWZ1bmN0aW9uKHQpe3ZhciBlPXQuY2xvbmUoKTtyZXR1cm4gZS5yZWQ9bnVsbCxlfSxvLm1vbnQ9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBBKHQpfSxpKEEsayksQS5wcm90b3R5cGUuY29udmVydFRvPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmltb2QodC51c2hsbih0aGlzLnNoaWZ0KSl9LEEucHJvdG90eXBlLmNvbnZlcnRGcm9tPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuaW1vZCh0Lm11bCh0aGlzLnJpbnYpKTtyZXR1cm4gZS5yZWQ9bnVsbCxlfSxBLnByb3RvdHlwZS5pbXVsPWZ1bmN0aW9uKHQsZSl7aWYodC5pc1plcm8oKXx8ZS5pc1plcm8oKSlyZXR1cm4gdC53b3Jkc1swXT0wLHQubGVuZ3RoPTEsdDt2YXIgcj10LmltdWwoZSksbj1yLm1hc2tuKHRoaXMuc2hpZnQpLm11bCh0aGlzLm1pbnYpLmltYXNrbih0aGlzLnNoaWZ0KS5tdWwodGhpcy5tKSxpPXIuaXN1YihuKS5pdXNocm4odGhpcy5zaGlmdCksbz1pO3JldHVybiBpLmNtcCh0aGlzLm0pPj0wP289aS5pc3ViKHRoaXMubSk6aS5jbXBuKDApPDAmJihvPWkuaWFkZCh0aGlzLm0pKSxvLl9mb3JjZVJlZCh0aGlzKX0sQS5wcm90b3R5cGUubXVsPWZ1bmN0aW9uKHQsZSl7aWYodC5pc1plcm8oKXx8ZS5pc1plcm8oKSlyZXR1cm4gbmV3IG8oMCkuX2ZvcmNlUmVkKHRoaXMpO3ZhciByPXQubXVsKGUpLG49ci5tYXNrbih0aGlzLnNoaWZ0KS5tdWwodGhpcy5taW52KS5pbWFza24odGhpcy5zaGlmdCkubXVsKHRoaXMubSksaT1yLmlzdWIobikuaXVzaHJuKHRoaXMuc2hpZnQpLHM9aTtyZXR1cm4gaS5jbXAodGhpcy5tKT49MD9zPWkuaXN1Yih0aGlzLm0pOmkuY21wbigwKTwwJiYocz1pLmlhZGQodGhpcy5tKSkscy5fZm9yY2VSZWQodGhpcyl9LEEucHJvdG90eXBlLmludm09ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuaW1vZCh0Ll9pbnZtcCh0aGlzLm0pLm11bCh0aGlzLnIyKSkuX2ZvcmNlUmVkKHRoaXMpfX0odCx0aGlzKX0pLmNhbGwodGhpcyxyKDI1KSh0KSl9LGZ1bmN0aW9uKHQsZSl7fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXIoMyksaT1yKDEyNyksbz1yKDEzKS5CdWZmZXIscz1uZXcgQXJyYXkoMTYpO2Z1bmN0aW9uIGEoKXtpLmNhbGwodGhpcyw2NCksdGhpcy5fYT0xNzMyNTg0MTkzLHRoaXMuX2I9NDAyMzIzMzQxNyx0aGlzLl9jPTI1NjIzODMxMDIsdGhpcy5fZD0yNzE3MzM4Nzh9ZnVuY3Rpb24gdSh0LGUpe3JldHVybiB0PDxlfHQ+Pj4zMi1lfWZ1bmN0aW9uIGModCxlLHIsbixpLG8scyl7cmV0dXJuIHUodCsoZSZyfH5lJm4pK2krb3wwLHMpK2V8MH1mdW5jdGlvbiBmKHQsZSxyLG4saSxvLHMpe3JldHVybiB1KHQrKGUmbnxyJn5uKStpK298MCxzKStlfDB9ZnVuY3Rpb24gaCh0LGUscixuLGksbyxzKXtyZXR1cm4gdSh0KyhlXnJebikraStvfDAscykrZXwwfWZ1bmN0aW9uIGwodCxlLHIsbixpLG8scyl7cmV0dXJuIHUodCsocl4oZXx+bikpK2krb3wwLHMpK2V8MH1uKGEsaSksYS5wcm90b3R5cGUuX3VwZGF0ZT1mdW5jdGlvbigpe2Zvcih2YXIgdD1zLGU9MDtlPDE2OysrZSl0W2VdPXRoaXMuX2Jsb2NrLnJlYWRJbnQzMkxFKDQqZSk7dmFyIHI9dGhpcy5fYSxuPXRoaXMuX2IsaT10aGlzLl9jLG89dGhpcy5fZDtyPWMocixuLGksbyx0WzBdLDM2MTQwOTAzNjAsNyksbz1jKG8scixuLGksdFsxXSwzOTA1NDAyNzEwLDEyKSxpPWMoaSxvLHIsbix0WzJdLDYwNjEwNTgxOSwxNyksbj1jKG4saSxvLHIsdFszXSwzMjUwNDQxOTY2LDIyKSxyPWMocixuLGksbyx0WzRdLDQxMTg1NDgzOTksNyksbz1jKG8scixuLGksdFs1XSwxMjAwMDgwNDI2LDEyKSxpPWMoaSxvLHIsbix0WzZdLDI4MjE3MzU5NTUsMTcpLG49YyhuLGksbyxyLHRbN10sNDI0OTI2MTMxMywyMikscj1jKHIsbixpLG8sdFs4XSwxNzcwMDM1NDE2LDcpLG89YyhvLHIsbixpLHRbOV0sMjMzNjU1Mjg3OSwxMiksaT1jKGksbyxyLG4sdFsxMF0sNDI5NDkyNTIzMywxNyksbj1jKG4saSxvLHIsdFsxMV0sMjMwNDU2MzEzNCwyMikscj1jKHIsbixpLG8sdFsxMl0sMTgwNDYwMzY4Miw3KSxvPWMobyxyLG4saSx0WzEzXSw0MjU0NjI2MTk1LDEyKSxpPWMoaSxvLHIsbix0WzE0XSwyNzkyOTY1MDA2LDE3KSxyPWYocixuPWMobixpLG8scix0WzE1XSwxMjM2NTM1MzI5LDIyKSxpLG8sdFsxXSw0MTI5MTcwNzg2LDUpLG89ZihvLHIsbixpLHRbNl0sMzIyNTQ2NTY2NCw5KSxpPWYoaSxvLHIsbix0WzExXSw2NDM3MTc3MTMsMTQpLG49ZihuLGksbyxyLHRbMF0sMzkyMTA2OTk5NCwyMCkscj1mKHIsbixpLG8sdFs1XSwzNTkzNDA4NjA1LDUpLG89ZihvLHIsbixpLHRbMTBdLDM4MDE2MDgzLDkpLGk9ZihpLG8scixuLHRbMTVdLDM2MzQ0ODg5NjEsMTQpLG49ZihuLGksbyxyLHRbNF0sMzg4OTQyOTQ0OCwyMCkscj1mKHIsbixpLG8sdFs5XSw1Njg0NDY0MzgsNSksbz1mKG8scixuLGksdFsxNF0sMzI3NTE2MzYwNiw5KSxpPWYoaSxvLHIsbix0WzNdLDQxMDc2MDMzMzUsMTQpLG49ZihuLGksbyxyLHRbOF0sMTE2MzUzMTUwMSwyMCkscj1mKHIsbixpLG8sdFsxM10sMjg1MDI4NTgyOSw1KSxvPWYobyxyLG4saSx0WzJdLDQyNDM1NjM1MTIsOSksaT1mKGksbyxyLG4sdFs3XSwxNzM1MzI4NDczLDE0KSxyPWgocixuPWYobixpLG8scix0WzEyXSwyMzY4MzU5NTYyLDIwKSxpLG8sdFs1XSw0Mjk0NTg4NzM4LDQpLG89aChvLHIsbixpLHRbOF0sMjI3MjM5MjgzMywxMSksaT1oKGksbyxyLG4sdFsxMV0sMTgzOTAzMDU2MiwxNiksbj1oKG4saSxvLHIsdFsxNF0sNDI1OTY1Nzc0MCwyMykscj1oKHIsbixpLG8sdFsxXSwyNzYzOTc1MjM2LDQpLG89aChvLHIsbixpLHRbNF0sMTI3Mjg5MzM1MywxMSksaT1oKGksbyxyLG4sdFs3XSw0MTM5NDY5NjY0LDE2KSxuPWgobixpLG8scix0WzEwXSwzMjAwMjM2NjU2LDIzKSxyPWgocixuLGksbyx0WzEzXSw2ODEyNzkxNzQsNCksbz1oKG8scixuLGksdFswXSwzOTM2NDMwMDc0LDExKSxpPWgoaSxvLHIsbix0WzNdLDM1NzI0NDUzMTcsMTYpLG49aChuLGksbyxyLHRbNl0sNzYwMjkxODksMjMpLHI9aChyLG4saSxvLHRbOV0sMzY1NDYwMjgwOSw0KSxvPWgobyxyLG4saSx0WzEyXSwzODczMTUxNDYxLDExKSxpPWgoaSxvLHIsbix0WzE1XSw1MzA3NDI1MjAsMTYpLHI9bChyLG49aChuLGksbyxyLHRbMl0sMzI5OTYyODY0NSwyMyksaSxvLHRbMF0sNDA5NjMzNjQ1Miw2KSxvPWwobyxyLG4saSx0WzddLDExMjY4OTE0MTUsMTApLGk9bChpLG8scixuLHRbMTRdLDI4Nzg2MTIzOTEsMTUpLG49bChuLGksbyxyLHRbNV0sNDIzNzUzMzI0MSwyMSkscj1sKHIsbixpLG8sdFsxMl0sMTcwMDQ4NTU3MSw2KSxvPWwobyxyLG4saSx0WzNdLDIzOTk5ODA2OTAsMTApLGk9bChpLG8scixuLHRbMTBdLDQyOTM5MTU3NzMsMTUpLG49bChuLGksbyxyLHRbMV0sMjI0MDA0NDQ5NywyMSkscj1sKHIsbixpLG8sdFs4XSwxODczMzEzMzU5LDYpLG89bChvLHIsbixpLHRbMTVdLDQyNjQzNTU1NTIsMTApLGk9bChpLG8scixuLHRbNl0sMjczNDc2ODkxNiwxNSksbj1sKG4saSxvLHIsdFsxM10sMTMwOTE1MTY0OSwyMSkscj1sKHIsbixpLG8sdFs0XSw0MTQ5NDQ0MjI2LDYpLG89bChvLHIsbixpLHRbMTFdLDMxNzQ3NTY5MTcsMTApLGk9bChpLG8scixuLHRbMl0sNzE4Nzg3MjU5LDE1KSxuPWwobixpLG8scix0WzldLDM5NTE0ODE3NDUsMjEpLHRoaXMuX2E9dGhpcy5fYStyfDAsdGhpcy5fYj10aGlzLl9iK258MCx0aGlzLl9jPXRoaXMuX2MraXwwLHRoaXMuX2Q9dGhpcy5fZCtvfDB9LGEucHJvdG90eXBlLl9kaWdlc3Q9ZnVuY3Rpb24oKXt0aGlzLl9ibG9ja1t0aGlzLl9ibG9ja09mZnNldCsrXT0xMjgsdGhpcy5fYmxvY2tPZmZzZXQ+NTYmJih0aGlzLl9ibG9jay5maWxsKDAsdGhpcy5fYmxvY2tPZmZzZXQsNjQpLHRoaXMuX3VwZGF0ZSgpLHRoaXMuX2Jsb2NrT2Zmc2V0PTApLHRoaXMuX2Jsb2NrLmZpbGwoMCx0aGlzLl9ibG9ja09mZnNldCw1NiksdGhpcy5fYmxvY2sud3JpdGVVSW50MzJMRSh0aGlzLl9sZW5ndGhbMF0sNTYpLHRoaXMuX2Jsb2NrLndyaXRlVUludDMyTEUodGhpcy5fbGVuZ3RoWzFdLDYwKSx0aGlzLl91cGRhdGUoKTt2YXIgdD1vLmFsbG9jVW5zYWZlKDE2KTtyZXR1cm4gdC53cml0ZUludDMyTEUodGhpcy5fYSwwKSx0LndyaXRlSW50MzJMRSh0aGlzLl9iLDQpLHQud3JpdGVJbnQzMkxFKHRoaXMuX2MsOCksdC53cml0ZUludDMyTEUodGhpcy5fZCwxMiksdH0sdC5leHBvcnRzPWF9LGZ1bmN0aW9uKHQsZSxyKXsoZT10LmV4cG9ydHM9cigxMjgpKS5TdHJlYW09ZSxlLlJlYWRhYmxlPWUsZS5Xcml0YWJsZT1yKDEzMiksZS5EdXBsZXg9cigzMCksZS5UcmFuc2Zvcm09cigxMzMpLGUuUGFzc1Rocm91Z2g9cigyNzgpLGUuZmluaXNoZWQ9cig2MiksZS5waXBlbGluZT1yKDI3OSl9LGZ1bmN0aW9uKHQsZSl7fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4odCxlKXt2YXIgcj1PYmplY3Qua2V5cyh0KTtpZihPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKXt2YXIgbj1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHQpO2UmJihuPW4uZmlsdGVyKChmdW5jdGlvbihlKXtyZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0LGUpLmVudW1lcmFibGV9KSkpLHIucHVzaC5hcHBseShyLG4pfXJldHVybiByfWZ1bmN0aW9uIGkodCxlLHIpe3JldHVybiBlIGluIHQ/T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsZSx7dmFsdWU6cixlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMH0pOnRbZV09cix0fWZ1bmN0aW9uIG8odCxlKXtmb3IodmFyIHI9MDtyPGUubGVuZ3RoO3IrKyl7dmFyIG49ZVtyXTtuLmVudW1lcmFibGU9bi5lbnVtZXJhYmxlfHwhMSxuLmNvbmZpZ3VyYWJsZT0hMCwidmFsdWUiaW4gbiYmKG4ud3JpdGFibGU9ITApLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LG4ua2V5LG4pfX12YXIgcz1yKDIpLkJ1ZmZlcixhPXIoMjc1KS5pbnNwZWN0LHU9YSYmYS5jdXN0b218fCJpbnNwZWN0Ijt0LmV4cG9ydHM9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7IWZ1bmN0aW9uKHQsZSl7aWYoISh0IGluc3RhbmNlb2YgZSkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uIil9KHRoaXMsdCksdGhpcy5oZWFkPW51bGwsdGhpcy50YWlsPW51bGwsdGhpcy5sZW5ndGg9MH12YXIgZSxyLGM7cmV0dXJuIGU9dCwocj1be2tleToicHVzaCIsdmFsdWU6ZnVuY3Rpb24odCl7dmFyIGU9e2RhdGE6dCxuZXh0Om51bGx9O3RoaXMubGVuZ3RoPjA/dGhpcy50YWlsLm5leHQ9ZTp0aGlzLmhlYWQ9ZSx0aGlzLnRhaWw9ZSwrK3RoaXMubGVuZ3RofX0se2tleToidW5zaGlmdCIsdmFsdWU6ZnVuY3Rpb24odCl7dmFyIGU9e2RhdGE6dCxuZXh0OnRoaXMuaGVhZH07MD09PXRoaXMubGVuZ3RoJiYodGhpcy50YWlsPWUpLHRoaXMuaGVhZD1lLCsrdGhpcy5sZW5ndGh9fSx7a2V5OiJzaGlmdCIsdmFsdWU6ZnVuY3Rpb24oKXtpZigwIT09dGhpcy5sZW5ndGgpe3ZhciB0PXRoaXMuaGVhZC5kYXRhO3JldHVybiAxPT09dGhpcy5sZW5ndGg/dGhpcy5oZWFkPXRoaXMudGFpbD1udWxsOnRoaXMuaGVhZD10aGlzLmhlYWQubmV4dCwtLXRoaXMubGVuZ3RoLHR9fX0se2tleToiY2xlYXIiLHZhbHVlOmZ1bmN0aW9uKCl7dGhpcy5oZWFkPXRoaXMudGFpbD1udWxsLHRoaXMubGVuZ3RoPTB9fSx7a2V5OiJqb2luIix2YWx1ZTpmdW5jdGlvbih0KXtpZigwPT09dGhpcy5sZW5ndGgpcmV0dXJuIiI7Zm9yKHZhciBlPXRoaXMuaGVhZCxyPSIiK2UuZGF0YTtlPWUubmV4dDspcis9dCtlLmRhdGE7cmV0dXJuIHJ9fSx7a2V5OiJjb25jYXQiLHZhbHVlOmZ1bmN0aW9uKHQpe2lmKDA9PT10aGlzLmxlbmd0aClyZXR1cm4gcy5hbGxvYygwKTtmb3IodmFyIGUscixuLGk9cy5hbGxvY1Vuc2FmZSh0Pj4+MCksbz10aGlzLmhlYWQsYT0wO287KWU9by5kYXRhLHI9aSxuPWEscy5wcm90b3R5cGUuY29weS5jYWxsKGUscixuKSxhKz1vLmRhdGEubGVuZ3RoLG89by5uZXh0O3JldHVybiBpfX0se2tleToiY29uc3VtZSIsdmFsdWU6ZnVuY3Rpb24odCxlKXt2YXIgcjtyZXR1cm4gdDx0aGlzLmhlYWQuZGF0YS5sZW5ndGg/KHI9dGhpcy5oZWFkLmRhdGEuc2xpY2UoMCx0KSx0aGlzLmhlYWQuZGF0YT10aGlzLmhlYWQuZGF0YS5zbGljZSh0KSk6cj10PT09dGhpcy5oZWFkLmRhdGEubGVuZ3RoP3RoaXMuc2hpZnQoKTplP3RoaXMuX2dldFN0cmluZyh0KTp0aGlzLl9nZXRCdWZmZXIodCkscn19LHtrZXk6ImZpcnN0Iix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmhlYWQuZGF0YX19LHtrZXk6Il9nZXRTdHJpbmciLHZhbHVlOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuaGVhZCxyPTEsbj1lLmRhdGE7Zm9yKHQtPW4ubGVuZ3RoO2U9ZS5uZXh0Oyl7dmFyIGk9ZS5kYXRhLG89dD5pLmxlbmd0aD9pLmxlbmd0aDp0O2lmKG89PT1pLmxlbmd0aD9uKz1pOm4rPWkuc2xpY2UoMCx0KSwwPT0odC09bykpe289PT1pLmxlbmd0aD8oKytyLGUubmV4dD90aGlzLmhlYWQ9ZS5uZXh0OnRoaXMuaGVhZD10aGlzLnRhaWw9bnVsbCk6KHRoaXMuaGVhZD1lLGUuZGF0YT1pLnNsaWNlKG8pKTticmVha30rK3J9cmV0dXJuIHRoaXMubGVuZ3RoLT1yLG59fSx7a2V5OiJfZ2V0QnVmZmVyIix2YWx1ZTpmdW5jdGlvbih0KXt2YXIgZT1zLmFsbG9jVW5zYWZlKHQpLHI9dGhpcy5oZWFkLG49MTtmb3Ioci5kYXRhLmNvcHkoZSksdC09ci5kYXRhLmxlbmd0aDtyPXIubmV4dDspe3ZhciBpPXIuZGF0YSxvPXQ+aS5sZW5ndGg/aS5sZW5ndGg6dDtpZihpLmNvcHkoZSxlLmxlbmd0aC10LDAsbyksMD09KHQtPW8pKXtvPT09aS5sZW5ndGg/KCsrbixyLm5leHQ/dGhpcy5oZWFkPXIubmV4dDp0aGlzLmhlYWQ9dGhpcy50YWlsPW51bGwpOih0aGlzLmhlYWQ9cixyLmRhdGE9aS5zbGljZShvKSk7YnJlYWt9KytufXJldHVybiB0aGlzLmxlbmd0aC09bixlfX0se2tleTp1LHZhbHVlOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIGEodGhpcyxmdW5jdGlvbih0KXtmb3IodmFyIGU9MTtlPGFyZ3VtZW50cy5sZW5ndGg7ZSsrKXt2YXIgcj1udWxsIT1hcmd1bWVudHNbZV0/YXJndW1lbnRzW2VdOnt9O2UlMj9uKE9iamVjdChyKSwhMCkuZm9yRWFjaCgoZnVuY3Rpb24oZSl7aSh0LGUscltlXSl9KSk6T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnM/T2JqZWN0LmRlZmluZVByb3BlcnRpZXModCxPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyhyKSk6bihPYmplY3QocikpLmZvckVhY2goKGZ1bmN0aW9uKGUpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGUsT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihyLGUpKX0pKX1yZXR1cm4gdH0oe30sZSx7ZGVwdGg6MCxjdXN0b21JbnNwZWN0OiExfSkpfX1dKSYmbyhlLnByb3RvdHlwZSxyKSxjJiZvKGUsYyksdH0oKX0sZnVuY3Rpb24odCxlKXt9LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7KGZ1bmN0aW9uKGUpe3ZhciBuO2Z1bmN0aW9uIGkodCxlLHIpe3JldHVybiBlIGluIHQ/T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsZSx7dmFsdWU6cixlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMH0pOnRbZV09cix0fXZhciBvPXIoNjIpLHM9U3ltYm9sKCJsYXN0UmVzb2x2ZSIpLGE9U3ltYm9sKCJsYXN0UmVqZWN0IiksdT1TeW1ib2woImVycm9yIiksYz1TeW1ib2woImVuZGVkIiksZj1TeW1ib2woImxhc3RQcm9taXNlIiksaD1TeW1ib2woImhhbmRsZVByb21pc2UiKSxsPVN5bWJvbCgic3RyZWFtIik7ZnVuY3Rpb24gZCh0LGUpe3JldHVybnt2YWx1ZTp0LGRvbmU6ZX19ZnVuY3Rpb24gcCh0KXt2YXIgZT10W3NdO2lmKG51bGwhPT1lKXt2YXIgcj10W2xdLnJlYWQoKTtudWxsIT09ciYmKHRbZl09bnVsbCx0W3NdPW51bGwsdFthXT1udWxsLGUoZChyLCExKSkpfX1mdW5jdGlvbiBtKHQpe2UubmV4dFRpY2socCx0KX12YXIgZz1PYmplY3QuZ2V0UHJvdG90eXBlT2YoKGZ1bmN0aW9uKCl7fSkpLGI9T2JqZWN0LnNldFByb3RvdHlwZU9mKChpKG49e2dldCBzdHJlYW0oKXtyZXR1cm4gdGhpc1tsXX0sbmV4dDpmdW5jdGlvbigpe3ZhciB0PXRoaXMscj10aGlzW3VdO2lmKG51bGwhPT1yKXJldHVybiBQcm9taXNlLnJlamVjdChyKTtpZih0aGlzW2NdKXJldHVybiBQcm9taXNlLnJlc29sdmUoZCh2b2lkIDAsITApKTtpZih0aGlzW2xdLmRlc3Ryb3llZClyZXR1cm4gbmV3IFByb21pc2UoKGZ1bmN0aW9uKHIsbil7ZS5uZXh0VGljaygoZnVuY3Rpb24oKXt0W3VdP24odFt1XSk6cihkKHZvaWQgMCwhMCkpfSkpfSkpO3ZhciBuLGk9dGhpc1tmXTtpZihpKW49bmV3IFByb21pc2UoZnVuY3Rpb24odCxlKXtyZXR1cm4gZnVuY3Rpb24ocixuKXt0LnRoZW4oKGZ1bmN0aW9uKCl7ZVtjXT9yKGQodm9pZCAwLCEwKSk6ZVtoXShyLG4pfSksbil9fShpLHRoaXMpKTtlbHNle3ZhciBvPXRoaXNbbF0ucmVhZCgpO2lmKG51bGwhPT1vKXJldHVybiBQcm9taXNlLnJlc29sdmUoZChvLCExKSk7bj1uZXcgUHJvbWlzZSh0aGlzW2hdKX1yZXR1cm4gdGhpc1tmXT1uLG59fSxTeW1ib2wuYXN5bmNJdGVyYXRvciwoZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30pKSxpKG4sInJldHVybiIsKGZ1bmN0aW9uKCl7dmFyIHQ9dGhpcztyZXR1cm4gbmV3IFByb21pc2UoKGZ1bmN0aW9uKGUscil7dFtsXS5kZXN0cm95KG51bGwsKGZ1bmN0aW9uKHQpe3Q/cih0KTplKGQodm9pZCAwLCEwKSl9KSl9KSl9KSksbiksZyk7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlLHI9T2JqZWN0LmNyZWF0ZShiLChpKGU9e30sbCx7dmFsdWU6dCx3cml0YWJsZTohMH0pLGkoZSxzLHt2YWx1ZTpudWxsLHdyaXRhYmxlOiEwfSksaShlLGEse3ZhbHVlOm51bGwsd3JpdGFibGU6ITB9KSxpKGUsdSx7dmFsdWU6bnVsbCx3cml0YWJsZTohMH0pLGkoZSxjLHt2YWx1ZTp0Ll9yZWFkYWJsZVN0YXRlLmVuZEVtaXR0ZWQsd3JpdGFibGU6ITB9KSxpKGUsaCx7dmFsdWU6ZnVuY3Rpb24odCxlKXt2YXIgbj1yW2xdLnJlYWQoKTtuPyhyW2ZdPW51bGwscltzXT1udWxsLHJbYV09bnVsbCx0KGQobiwhMSkpKToocltzXT10LHJbYV09ZSl9LHdyaXRhYmxlOiEwfSksZSkpO3JldHVybiByW2ZdPW51bGwsbyh0LChmdW5jdGlvbih0KXtpZih0JiYiRVJSX1NUUkVBTV9QUkVNQVRVUkVfQ0xPU0UiIT09dC5jb2RlKXt2YXIgZT1yW2FdO3JldHVybiBudWxsIT09ZSYmKHJbZl09bnVsbCxyW3NdPW51bGwsclthXT1udWxsLGUodCkpLHZvaWQoclt1XT10KX12YXIgbj1yW3NdO251bGwhPT1uJiYocltmXT1udWxsLHJbc109bnVsbCxyW2FdPW51bGwsbihkKHZvaWQgMCwhMCkpKSxyW2NdPSEwfSkpLHQub24oInJlYWRhYmxlIixtLmJpbmQobnVsbCxyKSkscn19KS5jYWxsKHRoaXMscig1KSl9LGZ1bmN0aW9uKHQsZSl7dC5leHBvcnRzPWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKCJSZWFkYWJsZS5mcm9tIGlzIG5vdCBhdmFpbGFibGUgaW4gdGhlIGJyb3dzZXIiKX19LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dC5leHBvcnRzPWk7dmFyIG49cigxMzMpO2Z1bmN0aW9uIGkodCl7aWYoISh0aGlzIGluc3RhbmNlb2YgaSkpcmV0dXJuIG5ldyBpKHQpO24uY2FsbCh0aGlzLHQpfXIoMykoaSxuKSxpLnByb3RvdHlwZS5fdHJhbnNmb3JtPWZ1bmN0aW9uKHQsZSxyKXtyKG51bGwsdCl9fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuO3ZhciBpPXIoMjkpLmNvZGVzLG89aS5FUlJfTUlTU0lOR19BUkdTLHM9aS5FUlJfU1RSRUFNX0RFU1RST1lFRDtmdW5jdGlvbiBhKHQpe2lmKHQpdGhyb3cgdH1mdW5jdGlvbiB1KHQsZSxpLG8pe289ZnVuY3Rpb24odCl7dmFyIGU9ITE7cmV0dXJuIGZ1bmN0aW9uKCl7ZXx8KGU9ITAsdC5hcHBseSh2b2lkIDAsYXJndW1lbnRzKSl9fShvKTt2YXIgYT0hMTt0Lm9uKCJjbG9zZSIsKGZ1bmN0aW9uKCl7YT0hMH0pKSx2b2lkIDA9PT1uJiYobj1yKDYyKSksbih0LHtyZWFkYWJsZTplLHdyaXRhYmxlOml9LChmdW5jdGlvbih0KXtpZih0KXJldHVybiBvKHQpO2E9ITAsbygpfSkpO3ZhciB1PSExO3JldHVybiBmdW5jdGlvbihlKXtpZighYSYmIXUpcmV0dXJuIHU9ITAsZnVuY3Rpb24odCl7cmV0dXJuIHQuc2V0SGVhZGVyJiYiZnVuY3Rpb24iPT10eXBlb2YgdC5hYm9ydH0odCk/dC5hYm9ydCgpOiJmdW5jdGlvbiI9PXR5cGVvZiB0LmRlc3Ryb3k/dC5kZXN0cm95KCk6dm9pZCBvKGV8fG5ldyBzKCJwaXBlIikpfX1mdW5jdGlvbiBjKHQpe3QoKX1mdW5jdGlvbiBmKHQsZSl7cmV0dXJuIHQucGlwZShlKX1mdW5jdGlvbiBoKHQpe3JldHVybiB0Lmxlbmd0aD8iZnVuY3Rpb24iIT10eXBlb2YgdFt0Lmxlbmd0aC0xXT9hOnQucG9wKCk6YX10LmV4cG9ydHM9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9YXJndW1lbnRzLmxlbmd0aCxlPW5ldyBBcnJheSh0KSxyPTA7cjx0O3IrKyllW3JdPWFyZ3VtZW50c1tyXTt2YXIgbixpPWgoZSk7aWYoQXJyYXkuaXNBcnJheShlWzBdKSYmKGU9ZVswXSksZS5sZW5ndGg8Mil0aHJvdyBuZXcgbygic3RyZWFtcyIpO3ZhciBzPWUubWFwKChmdW5jdGlvbih0LHIpe3ZhciBvPXI8ZS5sZW5ndGgtMTtyZXR1cm4gdSh0LG8scj4wLChmdW5jdGlvbih0KXtufHwobj10KSx0JiZzLmZvckVhY2goYyksb3x8KHMuZm9yRWFjaChjKSxpKG4pKX0pKX0pKTtyZXR1cm4gZS5yZWR1Y2UoZil9fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3ZhciBuPXIoMikuQnVmZmVyLGk9cigzKSxvPXIoMTI3KSxzPW5ldyBBcnJheSgxNiksYT1bMCwxLDIsMyw0LDUsNiw3LDgsOSwxMCwxMSwxMiwxMywxNCwxNSw3LDQsMTMsMSwxMCw2LDE1LDMsMTIsMCw5LDUsMiwxNCwxMSw4LDMsMTAsMTQsNCw5LDE1LDgsMSwyLDcsMCw2LDEzLDExLDUsMTIsMSw5LDExLDEwLDAsOCwxMiw0LDEzLDMsNywxNSwxNCw1LDYsMiw0LDAsNSw5LDcsMTIsMiwxMCwxNCwxLDMsOCwxMSw2LDE1LDEzXSx1PVs1LDE0LDcsMCw5LDIsMTEsNCwxMyw2LDE1LDgsMSwxMCwzLDEyLDYsMTEsMyw3LDAsMTMsNSwxMCwxNCwxNSw4LDEyLDQsOSwxLDIsMTUsNSwxLDMsNywxNCw2LDksMTEsOCwxMiwyLDEwLDAsNCwxMyw4LDYsNCwxLDMsMTEsMTUsMCw1LDEyLDIsMTMsOSw3LDEwLDE0LDEyLDE1LDEwLDQsMSw1LDgsNyw2LDIsMTMsMTQsMCwzLDksMTFdLGM9WzExLDE0LDE1LDEyLDUsOCw3LDksMTEsMTMsMTQsMTUsNiw3LDksOCw3LDYsOCwxMywxMSw5LDcsMTUsNywxMiwxNSw5LDExLDcsMTMsMTIsMTEsMTMsNiw3LDE0LDksMTMsMTUsMTQsOCwxMyw2LDUsMTIsNyw1LDExLDEyLDE0LDE1LDE0LDE1LDksOCw5LDE0LDUsNiw4LDYsNSwxMiw5LDE1LDUsMTEsNiw4LDEzLDEyLDUsMTIsMTMsMTQsMTEsOCw1LDZdLGY9WzgsOSw5LDExLDEzLDE1LDE1LDUsNyw3LDgsMTEsMTQsMTQsMTIsNiw5LDEzLDE1LDcsMTIsOCw5LDExLDcsNywxMiw3LDYsMTUsMTMsMTEsOSw3LDE1LDExLDgsNiw2LDE0LDEyLDEzLDUsMTQsMTMsMTMsNyw1LDE1LDUsOCwxMSwxNCwxNCw2LDE0LDYsOSwxMiw5LDEyLDUsMTUsOCw4LDUsMTIsOSwxMiw1LDE0LDYsOCwxMyw2LDUsMTUsMTMsMTEsMTFdLGg9WzAsMTUxODUwMDI0OSwxODU5Nzc1MzkzLDI0MDA5NTk3MDgsMjg0MDg1MzgzOF0sbD1bMTM1MjgyOTkyNiwxNTQ4NjAzNjg0LDE4MzYwNzI2OTEsMjA1Mzk5NDIxNywwXTtmdW5jdGlvbiBkKCl7by5jYWxsKHRoaXMsNjQpLHRoaXMuX2E9MTczMjU4NDE5Myx0aGlzLl9iPTQwMjMyMzM0MTcsdGhpcy5fYz0yNTYyMzgzMTAyLHRoaXMuX2Q9MjcxNzMzODc4LHRoaXMuX2U9MzI4NTM3NzUyMH1mdW5jdGlvbiBwKHQsZSl7cmV0dXJuIHQ8PGV8dD4+PjMyLWV9ZnVuY3Rpb24gbSh0LGUscixuLGksbyxzLGEpe3JldHVybiBwKHQrKGVecl5uKStvK3N8MCxhKStpfDB9ZnVuY3Rpb24gZyh0LGUscixuLGksbyxzLGEpe3JldHVybiBwKHQrKGUmcnx+ZSZuKStvK3N8MCxhKStpfDB9ZnVuY3Rpb24gYih0LGUscixuLGksbyxzLGEpe3JldHVybiBwKHQrKChlfH5yKV5uKStvK3N8MCxhKStpfDB9ZnVuY3Rpb24geSh0LGUscixuLGksbyxzLGEpe3JldHVybiBwKHQrKGUmbnxyJn5uKStvK3N8MCxhKStpfDB9ZnVuY3Rpb24gdih0LGUscixuLGksbyxzLGEpe3JldHVybiBwKHQrKGVeKHJ8fm4pKStvK3N8MCxhKStpfDB9aShkLG8pLGQucHJvdG90eXBlLl91cGRhdGU9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9cyxlPTA7ZTwxNjsrK2UpdFtlXT10aGlzLl9ibG9jay5yZWFkSW50MzJMRSg0KmUpO2Zvcih2YXIgcj0wfHRoaXMuX2Esbj0wfHRoaXMuX2IsaT0wfHRoaXMuX2Msbz0wfHRoaXMuX2QsZD0wfHRoaXMuX2UsXz0wfHRoaXMuX2Esdz0wfHRoaXMuX2IsTT0wfHRoaXMuX2MsUz0wfHRoaXMuX2QsRT0wfHRoaXMuX2UseD0wO3g8ODA7eCs9MSl7dmFyIGssQTt4PDE2PyhrPW0ocixuLGksbyxkLHRbYVt4XV0saFswXSxjW3hdKSxBPXYoXyx3LE0sUyxFLHRbdVt4XV0sbFswXSxmW3hdKSk6eDwzMj8oaz1nKHIsbixpLG8sZCx0W2FbeF1dLGhbMV0sY1t4XSksQT15KF8sdyxNLFMsRSx0W3VbeF1dLGxbMV0sZlt4XSkpOng8NDg/KGs9YihyLG4saSxvLGQsdFthW3hdXSxoWzJdLGNbeF0pLEE9YihfLHcsTSxTLEUsdFt1W3hdXSxsWzJdLGZbeF0pKTp4PDY0PyhrPXkocixuLGksbyxkLHRbYVt4XV0saFszXSxjW3hdKSxBPWcoXyx3LE0sUyxFLHRbdVt4XV0sbFszXSxmW3hdKSk6KGs9dihyLG4saSxvLGQsdFthW3hdXSxoWzRdLGNbeF0pLEE9bShfLHcsTSxTLEUsdFt1W3hdXSxsWzRdLGZbeF0pKSxyPWQsZD1vLG89cChpLDEwKSxpPW4sbj1rLF89RSxFPVMsUz1wKE0sMTApLE09dyx3PUF9dmFyIFI9dGhpcy5fYitpK1N8MDt0aGlzLl9iPXRoaXMuX2MrbytFfDAsdGhpcy5fYz10aGlzLl9kK2QrX3wwLHRoaXMuX2Q9dGhpcy5fZStyK3d8MCx0aGlzLl9lPXRoaXMuX2ErbitNfDAsdGhpcy5fYT1SfSxkLnByb3RvdHlwZS5fZGlnZXN0PWZ1bmN0aW9uKCl7dGhpcy5fYmxvY2tbdGhpcy5fYmxvY2tPZmZzZXQrK109MTI4LHRoaXMuX2Jsb2NrT2Zmc2V0PjU2JiYodGhpcy5fYmxvY2suZmlsbCgwLHRoaXMuX2Jsb2NrT2Zmc2V0LDY0KSx0aGlzLl91cGRhdGUoKSx0aGlzLl9ibG9ja09mZnNldD0wKSx0aGlzLl9ibG9jay5maWxsKDAsdGhpcy5fYmxvY2tPZmZzZXQsNTYpLHRoaXMuX2Jsb2NrLndyaXRlVUludDMyTEUodGhpcy5fbGVuZ3RoWzBdLDU2KSx0aGlzLl9ibG9jay53cml0ZVVJbnQzMkxFKHRoaXMuX2xlbmd0aFsxXSw2MCksdGhpcy5fdXBkYXRlKCk7dmFyIHQ9bi5hbGxvYz9uLmFsbG9jKDIwKTpuZXcgbigyMCk7cmV0dXJuIHQud3JpdGVJbnQzMkxFKHRoaXMuX2EsMCksdC53cml0ZUludDMyTEUodGhpcy5fYiw0KSx0LndyaXRlSW50MzJMRSh0aGlzLl9jLDgpLHQud3JpdGVJbnQzMkxFKHRoaXMuX2QsMTIpLHQud3JpdGVJbnQzMkxFKHRoaXMuX2UsMTYpLHR9LHQuZXhwb3J0cz1kfSxmdW5jdGlvbih0LGUscil7KGU9dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3Q9dC50b0xvd2VyQ2FzZSgpO3ZhciByPWVbdF07aWYoIXIpdGhyb3cgbmV3IEVycm9yKHQrIiBpcyBub3Qgc3VwcG9ydGVkICh3ZSBhY2NlcHQgcHVsbCByZXF1ZXN0cykiKTtyZXR1cm4gbmV3IHJ9KS5zaGE9cigyODIpLGUuc2hhMT1yKDI4MyksZS5zaGEyMjQ9cigyODQpLGUuc2hhMjU2PXIoMTM0KSxlLnNoYTM4ND1yKDI4NSksZS5zaGE1MTI9cigxMzUpfSxmdW5jdGlvbih0LGUscil7dmFyIG49cigzKSxpPXIoMzEpLG89cigxMykuQnVmZmVyLHM9WzE1MTg1MDAyNDksMTg1OTc3NTM5MywtMTg5NDAwNzU4OCwtODk5NDk3NTE0XSxhPW5ldyBBcnJheSg4MCk7ZnVuY3Rpb24gdSgpe3RoaXMuaW5pdCgpLHRoaXMuX3c9YSxpLmNhbGwodGhpcyw2NCw1Nil9ZnVuY3Rpb24gYyh0KXtyZXR1cm4gdDw8MzB8dD4+PjJ9ZnVuY3Rpb24gZih0LGUscixuKXtyZXR1cm4gMD09PXQ/ZSZyfH5lJm46Mj09PXQ/ZSZyfGUmbnxyJm46ZV5yXm59bih1LGkpLHUucHJvdG90eXBlLmluaXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYT0xNzMyNTg0MTkzLHRoaXMuX2I9NDAyMzIzMzQxNyx0aGlzLl9jPTI1NjIzODMxMDIsdGhpcy5fZD0yNzE3MzM4NzgsdGhpcy5fZT0zMjg1Mzc3NTIwLHRoaXN9LHUucHJvdG90eXBlLl91cGRhdGU9ZnVuY3Rpb24odCl7Zm9yKHZhciBlLHI9dGhpcy5fdyxuPTB8dGhpcy5fYSxpPTB8dGhpcy5fYixvPTB8dGhpcy5fYyxhPTB8dGhpcy5fZCx1PTB8dGhpcy5fZSxoPTA7aDwxNjsrK2gpcltoXT10LnJlYWRJbnQzMkJFKDQqaCk7Zm9yKDtoPDgwOysraClyW2hdPXJbaC0zXV5yW2gtOF1ecltoLTE0XV5yW2gtMTZdO2Zvcih2YXIgbD0wO2w8ODA7KytsKXt2YXIgZD1+fihsLzIwKSxwPTB8KChlPW4pPDw1fGU+Pj4yNykrZihkLGksbyxhKSt1K3JbbF0rc1tkXTt1PWEsYT1vLG89YyhpKSxpPW4sbj1wfXRoaXMuX2E9bit0aGlzLl9hfDAsdGhpcy5fYj1pK3RoaXMuX2J8MCx0aGlzLl9jPW8rdGhpcy5fY3wwLHRoaXMuX2Q9YSt0aGlzLl9kfDAsdGhpcy5fZT11K3RoaXMuX2V8MH0sdS5wcm90b3R5cGUuX2hhc2g9ZnVuY3Rpb24oKXt2YXIgdD1vLmFsbG9jVW5zYWZlKDIwKTtyZXR1cm4gdC53cml0ZUludDMyQkUoMHx0aGlzLl9hLDApLHQud3JpdGVJbnQzMkJFKDB8dGhpcy5fYiw0KSx0LndyaXRlSW50MzJCRSgwfHRoaXMuX2MsOCksdC53cml0ZUludDMyQkUoMHx0aGlzLl9kLDEyKSx0LndyaXRlSW50MzJCRSgwfHRoaXMuX2UsMTYpLHR9LHQuZXhwb3J0cz11fSxmdW5jdGlvbih0LGUscil7dmFyIG49cigzKSxpPXIoMzEpLG89cigxMykuQnVmZmVyLHM9WzE1MTg1MDAyNDksMTg1OTc3NTM5MywtMTg5NDAwNzU4OCwtODk5NDk3NTE0XSxhPW5ldyBBcnJheSg4MCk7ZnVuY3Rpb24gdSgpe3RoaXMuaW5pdCgpLHRoaXMuX3c9YSxpLmNhbGwodGhpcyw2NCw1Nil9ZnVuY3Rpb24gYyh0KXtyZXR1cm4gdDw8NXx0Pj4+Mjd9ZnVuY3Rpb24gZih0KXtyZXR1cm4gdDw8MzB8dD4+PjJ9ZnVuY3Rpb24gaCh0LGUscixuKXtyZXR1cm4gMD09PXQ/ZSZyfH5lJm46Mj09PXQ/ZSZyfGUmbnxyJm46ZV5yXm59bih1LGkpLHUucHJvdG90eXBlLmluaXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYT0xNzMyNTg0MTkzLHRoaXMuX2I9NDAyMzIzMzQxNyx0aGlzLl9jPTI1NjIzODMxMDIsdGhpcy5fZD0yNzE3MzM4NzgsdGhpcy5fZT0zMjg1Mzc3NTIwLHRoaXN9LHUucHJvdG90eXBlLl91cGRhdGU9ZnVuY3Rpb24odCl7Zm9yKHZhciBlLHI9dGhpcy5fdyxuPTB8dGhpcy5fYSxpPTB8dGhpcy5fYixvPTB8dGhpcy5fYyxhPTB8dGhpcy5fZCx1PTB8dGhpcy5fZSxsPTA7bDwxNjsrK2wpcltsXT10LnJlYWRJbnQzMkJFKDQqbCk7Zm9yKDtsPDgwOysrbClyW2xdPShlPXJbbC0zXV5yW2wtOF1ecltsLTE0XV5yW2wtMTZdKTw8MXxlPj4+MzE7Zm9yKHZhciBkPTA7ZDw4MDsrK2Qpe3ZhciBwPX5+KGQvMjApLG09YyhuKStoKHAsaSxvLGEpK3UrcltkXStzW3BdfDA7dT1hLGE9byxvPWYoaSksaT1uLG49bX10aGlzLl9hPW4rdGhpcy5fYXwwLHRoaXMuX2I9aSt0aGlzLl9ifDAsdGhpcy5fYz1vK3RoaXMuX2N8MCx0aGlzLl9kPWErdGhpcy5fZHwwLHRoaXMuX2U9dSt0aGlzLl9lfDB9LHUucHJvdG90eXBlLl9oYXNoPWZ1bmN0aW9uKCl7dmFyIHQ9by5hbGxvY1Vuc2FmZSgyMCk7cmV0dXJuIHQud3JpdGVJbnQzMkJFKDB8dGhpcy5fYSwwKSx0LndyaXRlSW50MzJCRSgwfHRoaXMuX2IsNCksdC53cml0ZUludDMyQkUoMHx0aGlzLl9jLDgpLHQud3JpdGVJbnQzMkJFKDB8dGhpcy5fZCwxMiksdC53cml0ZUludDMyQkUoMHx0aGlzLl9lLDE2KSx0fSx0LmV4cG9ydHM9dX0sZnVuY3Rpb24odCxlLHIpe3ZhciBuPXIoMyksaT1yKDEzNCksbz1yKDMxKSxzPXIoMTMpLkJ1ZmZlcixhPW5ldyBBcnJheSg2NCk7ZnVuY3Rpb24gdSgpe3RoaXMuaW5pdCgpLHRoaXMuX3c9YSxvLmNhbGwodGhpcyw2NCw1Nil9bih1LGkpLHUucHJvdG90eXBlLmluaXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYT0zMjM4MzcxMDMyLHRoaXMuX2I9OTE0MTUwNjYzLHRoaXMuX2M9ODEyNzAyOTk5LHRoaXMuX2Q9NDE0NDkxMjY5Nyx0aGlzLl9lPTQyOTA3NzU4NTcsdGhpcy5fZj0xNzUwNjAzMDI1LHRoaXMuX2c9MTY5NDA3NjgzOSx0aGlzLl9oPTMyMDQwNzU0MjgsdGhpc30sdS5wcm90b3R5cGUuX2hhc2g9ZnVuY3Rpb24oKXt2YXIgdD1zLmFsbG9jVW5zYWZlKDI4KTtyZXR1cm4gdC53cml0ZUludDMyQkUodGhpcy5fYSwwKSx0LndyaXRlSW50MzJCRSh0aGlzLl9iLDQpLHQud3JpdGVJbnQzMkJFKHRoaXMuX2MsOCksdC53cml0ZUludDMyQkUodGhpcy5fZCwxMiksdC53cml0ZUludDMyQkUodGhpcy5fZSwxNiksdC53cml0ZUludDMyQkUodGhpcy5fZiwyMCksdC53cml0ZUludDMyQkUodGhpcy5fZywyNCksdH0sdC5leHBvcnRzPXV9LGZ1bmN0aW9uKHQsZSxyKXt2YXIgbj1yKDMpLGk9cigxMzUpLG89cigzMSkscz1yKDEzKS5CdWZmZXIsYT1uZXcgQXJyYXkoMTYwKTtmdW5jdGlvbiB1KCl7dGhpcy5pbml0KCksdGhpcy5fdz1hLG8uY2FsbCh0aGlzLDEyOCwxMTIpfW4odSxpKSx1LnByb3RvdHlwZS5pbml0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2FoPTM0MTgwNzAzNjUsdGhpcy5fYmg9MTY1NDI3MDI1MCx0aGlzLl9jaD0yNDM4NTI5MzcwLHRoaXMuX2RoPTM1NTQ2MjM2MCx0aGlzLl9laD0xNzMxNDA1NDE1LHRoaXMuX2ZoPTIzOTQxODAyMzEsdGhpcy5fZ2g9MzY3NTAwODUyNSx0aGlzLl9oaD0xMjAzMDYyODEzLHRoaXMuX2FsPTMyMzgzNzEwMzIsdGhpcy5fYmw9OTE0MTUwNjYzLHRoaXMuX2NsPTgxMjcwMjk5OSx0aGlzLl9kbD00MTQ0OTEyNjk3LHRoaXMuX2VsPTQyOTA3NzU4NTcsdGhpcy5fZmw9MTc1MDYwMzAyNSx0aGlzLl9nbD0xNjk0MDc2ODM5LHRoaXMuX2hsPTMyMDQwNzU0MjgsdGhpc30sdS5wcm90b3R5cGUuX2hhc2g9ZnVuY3Rpb24oKXt2YXIgdD1zLmFsbG9jVW5zYWZlKDQ4KTtmdW5jdGlvbiBlKGUscixuKXt0LndyaXRlSW50MzJCRShlLG4pLHQud3JpdGVJbnQzMkJFKHIsbis0KX1yZXR1cm4gZSh0aGlzLl9haCx0aGlzLl9hbCwwKSxlKHRoaXMuX2JoLHRoaXMuX2JsLDgpLGUodGhpcy5fY2gsdGhpcy5fY2wsMTYpLGUodGhpcy5fZGgsdGhpcy5fZGwsMjQpLGUodGhpcy5fZWgsdGhpcy5fZWwsMzIpLGUodGhpcy5fZmgsdGhpcy5fZmwsNDApLHR9LHQuZXhwb3J0cz11fSxmdW5jdGlvbih0LGUscil7dmFyIG49cigxMykuQnVmZmVyLGk9cigyODcpLlRyYW5zZm9ybSxvPXIoMjApLlN0cmluZ0RlY29kZXI7ZnVuY3Rpb24gcyh0KXtpLmNhbGwodGhpcyksdGhpcy5oYXNoTW9kZT0ic3RyaW5nIj09dHlwZW9mIHQsdGhpcy5oYXNoTW9kZT90aGlzW3RdPXRoaXMuX2ZpbmFsT3JEaWdlc3Q6dGhpcy5maW5hbD10aGlzLl9maW5hbE9yRGlnZXN0LHRoaXMuX2ZpbmFsJiYodGhpcy5fX2ZpbmFsPXRoaXMuX2ZpbmFsLHRoaXMuX2ZpbmFsPW51bGwpLHRoaXMuX2RlY29kZXI9bnVsbCx0aGlzLl9lbmNvZGluZz1udWxsfXIoMykocyxpKSxzLnByb3RvdHlwZS51cGRhdGU9ZnVuY3Rpb24odCxlLHIpeyJzdHJpbmciPT10eXBlb2YgdCYmKHQ9bi5mcm9tKHQsZSkpO3ZhciBpPXRoaXMuX3VwZGF0ZSh0KTtyZXR1cm4gdGhpcy5oYXNoTW9kZT90aGlzOihyJiYoaT10aGlzLl90b1N0cmluZyhpLHIpKSxpKX0scy5wcm90b3R5cGUuc2V0QXV0b1BhZGRpbmc9ZnVuY3Rpb24oKXt9LHMucHJvdG90eXBlLmdldEF1dGhUYWc9ZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoInRyeWluZyB0byBnZXQgYXV0aCB0YWcgaW4gdW5zdXBwb3J0ZWQgc3RhdGUiKX0scy5wcm90b3R5cGUuc2V0QXV0aFRhZz1mdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcigidHJ5aW5nIHRvIHNldCBhdXRoIHRhZyBpbiB1bnN1cHBvcnRlZCBzdGF0ZSIpfSxzLnByb3RvdHlwZS5zZXRBQUQ9ZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoInRyeWluZyB0byBzZXQgYWFkIGluIHVuc3VwcG9ydGVkIHN0YXRlIil9LHMucHJvdG90eXBlLl90cmFuc2Zvcm09ZnVuY3Rpb24odCxlLHIpe3ZhciBuO3RyeXt0aGlzLmhhc2hNb2RlP3RoaXMuX3VwZGF0ZSh0KTp0aGlzLnB1c2godGhpcy5fdXBkYXRlKHQpKX1jYXRjaCh0KXtuPXR9ZmluYWxseXtyKG4pfX0scy5wcm90b3R5cGUuX2ZsdXNoPWZ1bmN0aW9uKHQpe3ZhciBlO3RyeXt0aGlzLnB1c2godGhpcy5fX2ZpbmFsKCkpfWNhdGNoKHQpe2U9dH10KGUpfSxzLnByb3RvdHlwZS5fZmluYWxPckRpZ2VzdD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLl9fZmluYWwoKXx8bi5hbGxvYygwKTtyZXR1cm4gdCYmKGU9dGhpcy5fdG9TdHJpbmcoZSx0LCEwKSksZX0scy5wcm90b3R5cGUuX3RvU3RyaW5nPWZ1bmN0aW9uKHQsZSxyKXtpZih0aGlzLl9kZWNvZGVyfHwodGhpcy5fZGVjb2Rlcj1uZXcgbyhlKSx0aGlzLl9lbmNvZGluZz1lKSx0aGlzLl9lbmNvZGluZyE9PWUpdGhyb3cgbmV3IEVycm9yKCJjYW4ndCBzd2l0Y2ggZW5jb2RpbmdzIik7dmFyIG49dGhpcy5fZGVjb2Rlci53cml0ZSh0KTtyZXR1cm4gciYmKG4rPXRoaXMuX2RlY29kZXIuZW5kKCkpLG59LHQuZXhwb3J0cz1zfSxmdW5jdGlvbih0LGUscil7dC5leHBvcnRzPWk7dmFyIG49cigxMikuRXZlbnRFbWl0dGVyO2Z1bmN0aW9uIGkoKXtuLmNhbGwodGhpcyl9cigzKShpLG4pLGkuUmVhZGFibGU9cigzNCksaS5Xcml0YWJsZT1yKDI4OCksaS5EdXBsZXg9cigyODkpLGkuVHJhbnNmb3JtPXIoMjkwKSxpLlBhc3NUaHJvdWdoPXIoMjkxKSxpLlN0cmVhbT1pLGkucHJvdG90eXBlLnBpcGU9ZnVuY3Rpb24odCxlKXt2YXIgcj10aGlzO2Z1bmN0aW9uIGkoZSl7dC53cml0YWJsZSYmITE9PT10LndyaXRlKGUpJiZyLnBhdXNlJiZyLnBhdXNlKCl9ZnVuY3Rpb24gbygpe3IucmVhZGFibGUmJnIucmVzdW1lJiZyLnJlc3VtZSgpfXIub24oImRhdGEiLGkpLHQub24oImRyYWluIixvKSx0Ll9pc1N0ZGlvfHxlJiYhMT09PWUuZW5kfHwoci5vbigiZW5kIixhKSxyLm9uKCJjbG9zZSIsdSkpO3ZhciBzPSExO2Z1bmN0aW9uIGEoKXtzfHwocz0hMCx0LmVuZCgpKX1mdW5jdGlvbiB1KCl7c3x8KHM9ITAsImZ1bmN0aW9uIj09dHlwZW9mIHQuZGVzdHJveSYmdC5kZXN0cm95KCkpfWZ1bmN0aW9uIGModCl7aWYoZigpLDA9PT1uLmxpc3RlbmVyQ291bnQodGhpcywiZXJyb3IiKSl0aHJvdyB0fWZ1bmN0aW9uIGYoKXtyLnJlbW92ZUxpc3RlbmVyKCJkYXRhIixpKSx0LnJlbW92ZUxpc3RlbmVyKCJkcmFpbiIsbyksci5yZW1vdmVMaXN0ZW5lcigiZW5kIixhKSxyLnJlbW92ZUxpc3RlbmVyKCJjbG9zZSIsdSksci5yZW1vdmVMaXN0ZW5lcigiZXJyb3IiLGMpLHQucmVtb3ZlTGlzdGVuZXIoImVycm9yIixjKSxyLnJlbW92ZUxpc3RlbmVyKCJlbmQiLGYpLHIucmVtb3ZlTGlzdGVuZXIoImNsb3NlIixmKSx0LnJlbW92ZUxpc3RlbmVyKCJjbG9zZSIsZil9cmV0dXJuIHIub24oImVycm9yIixjKSx0Lm9uKCJlcnJvciIsYyksci5vbigiZW5kIixmKSxyLm9uKCJjbG9zZSIsZiksdC5vbigiY2xvc2UiLGYpLHQuZW1pdCgicGlwZSIsciksdH19LGZ1bmN0aW9uKHQsZSxyKXt0LmV4cG9ydHM9cig1Myl9LGZ1bmN0aW9uKHQsZSxyKXt0LmV4cG9ydHM9cigxOSl9LGZ1bmN0aW9uKHQsZSxyKXt0LmV4cG9ydHM9cigzNCkuVHJhbnNmb3JtfSxmdW5jdGlvbih0LGUscil7dC5leHBvcnRzPXIoMzQpLlBhc3NUaHJvdWdofSxmdW5jdGlvbih0LGUscil7dmFyIG49cigyKSxpPW4uQnVmZmVyO2Z1bmN0aW9uIG8odCxlKXtmb3IodmFyIHIgaW4gdCllW3JdPXRbcl19ZnVuY3Rpb24gcyh0LGUscil7cmV0dXJuIGkodCxlLHIpfWkuZnJvbSYmaS5hbGxvYyYmaS5hbGxvY1Vuc2FmZSYmaS5hbGxvY1Vuc2FmZVNsb3c/dC5leHBvcnRzPW46KG8obixlKSxlLkJ1ZmZlcj1zKSxvKGkscykscy5mcm9tPWZ1bmN0aW9uKHQsZSxyKXtpZigibnVtYmVyIj09dHlwZW9mIHQpdGhyb3cgbmV3IFR5cGVFcnJvcigiQXJndW1lbnQgbXVzdCBub3QgYmUgYSBudW1iZXIiKTtyZXR1cm4gaSh0LGUscil9LHMuYWxsb2M9ZnVuY3Rpb24odCxlLHIpe2lmKCJudW1iZXIiIT10eXBlb2YgdCl0aHJvdyBuZXcgVHlwZUVycm9yKCJBcmd1bWVudCBtdXN0IGJlIGEgbnVtYmVyIik7dmFyIG49aSh0KTtyZXR1cm4gdm9pZCAwIT09ZT8ic3RyaW5nIj09dHlwZW9mIHI/bi5maWxsKGUscik6bi5maWxsKGUpOm4uZmlsbCgwKSxufSxzLmFsbG9jVW5zYWZlPWZ1bmN0aW9uKHQpe2lmKCJudW1iZXIiIT10eXBlb2YgdCl0aHJvdyBuZXcgVHlwZUVycm9yKCJBcmd1bWVudCBtdXN0IGJlIGEgbnVtYmVyIik7cmV0dXJuIGkodCl9LHMuYWxsb2NVbnNhZmVTbG93PWZ1bmN0aW9uKHQpe2lmKCJudW1iZXIiIT10eXBlb2YgdCl0aHJvdyBuZXcgVHlwZUVycm9yKCJBcmd1bWVudCBtdXN0IGJlIGEgbnVtYmVyIik7cmV0dXJuIG4uU2xvd0J1ZmZlcih0KX19LGZ1bmN0aW9uKHQsZSxyKXt2YXIgbj1yKDEzNik7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiJzdHJpbmciIT10eXBlb2YgdD90Om4odCk/dC5zbGljZSgyKTp0fX0sZnVuY3Rpb24odCxlLHIpe2NvbnN0IG49cigxMzcpLGk9cigyOTUpO2Z1bmN0aW9uIG8odCxlKXtyZXR1cm4gbmV3IFByb21pc2Uocj0+e2NvbnN0IG49c2V0VGltZW91dChyLHQpO24udW5yZWYmJmUmJm4udW5yZWYoKX0pfXQuZXhwb3J0cz1jbGFzcyBleHRlbmRzIGl7Y29uc3RydWN0b3IodD17fSl7aWYoIXQucHJvdmlkZXIpdGhyb3cgbmV3IEVycm9yKCJQb2xsaW5nQmxvY2tUcmFja2VyIC0gbm8gcHJvdmlkZXIgc3BlY2lmaWVkLiIpO2NvbnN0IGU9dC5wb2xsaW5nSW50ZXJ2YWx8fDJlNCxyPXQucmV0cnlUaW1lb3V0fHxlLzEwLG49dm9pZCAwPT09dC5rZWVwRXZlbnRMb29wQWN0aXZlfHx0LmtlZXBFdmVudExvb3BBY3RpdmUsaT10LnNldFNraXBDYWNoZUZsYWd8fCExO3N1cGVyKE9iamVjdC5hc3NpZ24oe2Jsb2NrUmVzZXREdXJhdGlvbjplfSx0KSksdGhpcy5fcHJvdmlkZXI9dC5wcm92aWRlcix0aGlzLl9wb2xsaW5nSW50ZXJ2YWw9ZSx0aGlzLl9yZXRyeVRpbWVvdXQ9cix0aGlzLl9rZWVwRXZlbnRMb29wQWN0aXZlPW4sdGhpcy5fc2V0U2tpcENhY2hlRmxhZz1pfWFzeW5jIGNoZWNrRm9yTGF0ZXN0QmxvY2soKXtyZXR1cm4gYXdhaXQgdGhpcy5fdXBkYXRlTGF0ZXN0QmxvY2soKSxhd2FpdCB0aGlzLmdldExhdGVzdEJsb2NrKCl9X3N0YXJ0KCl7dGhpcy5fcGVyZm9ybVN5bmMoKS5jYXRjaCh0PT50aGlzLmVtaXQoImVycm9yIix0KSl9YXN5bmMgX3BlcmZvcm1TeW5jKCl7Zm9yKDt0aGlzLl9pc1J1bm5pbmc7KXRyeXthd2FpdCB0aGlzLl91cGRhdGVMYXRlc3RCbG9jaygpLGF3YWl0IG8odGhpcy5fcG9sbGluZ0ludGVydmFsLCF0aGlzLl9rZWVwRXZlbnRMb29wQWN0aXZlKX1jYXRjaCh0KXtjb25zdCBlPW5ldyBFcnJvcigiUG9sbGluZ0Jsb2NrVHJhY2tlciAtIGVuY291bnRlcmVkIGFuIGVycm9yIHdoaWxlIGF0dGVtcHRpbmcgdG8gdXBkYXRlIGxhdGVzdCBibG9jazpcbiIrdC5zdGFjayk7dHJ5e3RoaXMuZW1pdCgiZXJyb3IiLGUpfWNhdGNoKHQpe2NvbnNvbGUuZXJyb3IoZSl9YXdhaXQgbyh0aGlzLl9yZXRyeVRpbWVvdXQsIXRoaXMuX2tlZXBFdmVudExvb3BBY3RpdmUpfX1hc3luYyBfdXBkYXRlTGF0ZXN0QmxvY2soKXtjb25zdCB0PWF3YWl0IHRoaXMuX2ZldGNoTGF0ZXN0QmxvY2soKTt0aGlzLl9uZXdQb3RlbnRpYWxMYXRlc3QodCl9YXN5bmMgX2ZldGNoTGF0ZXN0QmxvY2soKXtjb25zdCB0PXtqc29ucnBjOiIyLjAiLGlkOjEsbWV0aG9kOiJldGhfYmxvY2tOdW1iZXIiLHBhcmFtczpbXX07dGhpcy5fc2V0U2tpcENhY2hlRmxhZyYmKHQuc2tpcENhY2hlPSEwKTtjb25zdCBlPWF3YWl0IG4oZT0+dGhpcy5fcHJvdmlkZXIuc2VuZEFzeW5jKHQsZSkpKCk7aWYoZS5lcnJvcil0aHJvdyBuZXcgRXJyb3IoIlBvbGxpbmdCbG9ja1RyYWNrZXIgLSBlbmNvdW50ZXJlZCBlcnJvciBmZXRjaGluZyBibG9jazpcbiIrZS5lcnJvcik7cmV0dXJuIGUucmVzdWx0fX19LGZ1bmN0aW9uKHQsZSxyKXtyKDEzOCkscigxMzcpO2NvbnN0IG49cigyOTcpLGk9KHQsZSk9PnQrZSxvPVsic3luYyIsImxhdGVzdCJdO2Z1bmN0aW9uIHModCl7cmV0dXJuIE51bWJlci5wYXJzZUludCh0LDE2KX10LmV4cG9ydHM9Y2xhc3MgZXh0ZW5kcyBue2NvbnN0cnVjdG9yKHQ9e30pe3N1cGVyKCksdGhpcy5fYmxvY2tSZXNldER1cmF0aW9uPXQuYmxvY2tSZXNldER1cmF0aW9ufHwyZTQsdGhpcy5fYmxvY2tSZXNldFRpbWVvdXQsdGhpcy5fY3VycmVudEJsb2NrPW51bGwsdGhpcy5faXNSdW5uaW5nPSExLHRoaXMuX29uTmV3TGlzdGVuZXI9dGhpcy5fb25OZXdMaXN0ZW5lci5iaW5kKHRoaXMpLHRoaXMuX29uUmVtb3ZlTGlzdGVuZXI9dGhpcy5fb25SZW1vdmVMaXN0ZW5lci5iaW5kKHRoaXMpLHRoaXMuX3Jlc2V0Q3VycmVudEJsb2NrPXRoaXMuX3Jlc2V0Q3VycmVudEJsb2NrLmJpbmQodGhpcyksdGhpcy5fc2V0dXBJbnRlcm5hbEV2ZW50cygpfWlzUnVubmluZygpe3JldHVybiB0aGlzLl9pc1J1bm5pbmd9Z2V0Q3VycmVudEJsb2NrKCl7cmV0dXJuIHRoaXMuX2N1cnJlbnRCbG9ja31hc3luYyBnZXRMYXRlc3RCbG9jaygpe2lmKHRoaXMuX2N1cnJlbnRCbG9jaylyZXR1cm4gdGhpcy5fY3VycmVudEJsb2NrO3JldHVybiBhd2FpdCBuZXcgUHJvbWlzZSh0PT50aGlzLm9uY2UoImxhdGVzdCIsdCkpfXJlbW92ZUFsbExpc3RlbmVycyh0KXt0P3N1cGVyLnJlbW92ZUFsbExpc3RlbmVycyh0KTpzdXBlci5yZW1vdmVBbGxMaXN0ZW5lcnMoKSx0aGlzLl9zZXR1cEludGVybmFsRXZlbnRzKCksdGhpcy5fb25SZW1vdmVMaXN0ZW5lcigpfV9zdGFydCgpe31fZW5kKCl7fV9zZXR1cEludGVybmFsRXZlbnRzKCl7dGhpcy5yZW1vdmVMaXN0ZW5lcigibmV3TGlzdGVuZXIiLHRoaXMuX29uTmV3TGlzdGVuZXIpLHRoaXMucmVtb3ZlTGlzdGVuZXIoInJlbW92ZUxpc3RlbmVyIix0aGlzLl9vblJlbW92ZUxpc3RlbmVyKSx0aGlzLm9uKCJuZXdMaXN0ZW5lciIsdGhpcy5fb25OZXdMaXN0ZW5lciksdGhpcy5vbigicmVtb3ZlTGlzdGVuZXIiLHRoaXMuX29uUmVtb3ZlTGlzdGVuZXIpfV9vbk5ld0xpc3RlbmVyKHQsZSl7by5pbmNsdWRlcyh0KSYmdGhpcy5fbWF5YmVTdGFydCgpfV9vblJlbW92ZUxpc3RlbmVyKHQsZSl7dGhpcy5fZ2V0QmxvY2tUcmFja2VyRXZlbnRDb3VudCgpPjB8fHRoaXMuX21heWJlRW5kKCl9X21heWJlU3RhcnQoKXt0aGlzLl9pc1J1bm5pbmd8fCh0aGlzLl9pc1J1bm5pbmc9ITAsdGhpcy5fY2FuY2VsQmxvY2tSZXNldFRpbWVvdXQoKSx0aGlzLl9zdGFydCgpKX1fbWF5YmVFbmQoKXt0aGlzLl9pc1J1bm5pbmcmJih0aGlzLl9pc1J1bm5pbmc9ITEsdGhpcy5fc2V0dXBCbG9ja1Jlc2V0VGltZW91dCgpLHRoaXMuX2VuZCgpKX1fZ2V0QmxvY2tUcmFja2VyRXZlbnRDb3VudCgpe3JldHVybiBvLm1hcCh0PT50aGlzLmxpc3RlbmVyQ291bnQodCkpLnJlZHVjZShpKX1fbmV3UG90ZW50aWFsTGF0ZXN0KHQpe2NvbnN0IGU9dGhpcy5fY3VycmVudEJsb2NrO2UmJnModCk8PXMoZSl8fHRoaXMuX3NldEN1cnJlbnRCbG9jayh0KX1fc2V0Q3VycmVudEJsb2NrKHQpe2NvbnN0IGU9dGhpcy5fY3VycmVudEJsb2NrO3RoaXMuX2N1cnJlbnRCbG9jaz10LHRoaXMuZW1pdCgibGF0ZXN0Iix0KSx0aGlzLmVtaXQoInN5bmMiLHtvbGRCbG9jazplLG5ld0Jsb2NrOnR9KX1fc2V0dXBCbG9ja1Jlc2V0VGltZW91dCgpe3RoaXMuX2NhbmNlbEJsb2NrUmVzZXRUaW1lb3V0KCksdGhpcy5fYmxvY2tSZXNldFRpbWVvdXQ9c2V0VGltZW91dCh0aGlzLl9yZXNldEN1cnJlbnRCbG9jayx0aGlzLl9ibG9ja1Jlc2V0RHVyYXRpb24pLHRoaXMuX2Jsb2NrUmVzZXRUaW1lb3V0LnVucmVmJiZ0aGlzLl9ibG9ja1Jlc2V0VGltZW91dC51bnJlZigpfV9jYW5jZWxCbG9ja1Jlc2V0VGltZW91dCgpe2NsZWFyVGltZW91dCh0aGlzLl9ibG9ja1Jlc2V0VGltZW91dCl9X3Jlc2V0Q3VycmVudEJsb2NrKCl7dGhpcy5fY3VycmVudEJsb2NrPW51bGx9fX0sZnVuY3Rpb24odCxlKXt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7dmFyIGU9KHQ9dHx8e30pLm1heHx8TnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIscj12b2lkIDAhPT10LnN0YXJ0P3Quc3RhcnQ6TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKmUpO3JldHVybiBmdW5jdGlvbigpe3JldHVybiByJT1lLHIrK319fSxmdW5jdGlvbih0LGUscil7Y29uc3Qgbj1yKDIxKSxpPXIoMTIpO3ZhciBvPSJvYmplY3QiPT10eXBlb2YgUmVmbGVjdD9SZWZsZWN0Om51bGwscz1vJiYiZnVuY3Rpb24iPT10eXBlb2Ygby5hcHBseT9vLmFwcGx5OmZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5LmNhbGwodCxlLHIpfTtmdW5jdGlvbiBhKCl7aS5jYWxsKHRoaXMpfWZ1bmN0aW9uIHUodCxlLHIpe3RyeXtzKHQsZSxyKX1jYXRjaCh0KXtzZXRUaW1lb3V0KCgpPT57dGhyb3cgdH0pfX1mdW5jdGlvbiBjKHQsZSl7Zm9yKHZhciByPW5ldyBBcnJheShlKSxuPTA7bjxlOysrbilyW25dPXRbbl07cmV0dXJuIHJ9dC5leHBvcnRzPWEsbi5pbmhlcml0cyhhLGkpLGEucHJvdG90eXBlLmVtaXQ9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPVtdLHI9MTtyPGFyZ3VtZW50cy5sZW5ndGg7cisrKWUucHVzaChhcmd1bWVudHNbcl0pO3ZhciBuPSJlcnJvciI9PT10LGk9dGhpcy5fZXZlbnRzO2lmKHZvaWQgMCE9PWkpbj1uJiZ2b2lkIDA9PT1pLmVycm9yO2Vsc2UgaWYoIW4pcmV0dXJuITE7aWYobil7dmFyIG87aWYoZS5sZW5ndGg+MCYmKG89ZVswXSksbyBpbnN0YW5jZW9mIEVycm9yKXRocm93IG87dmFyIHM9bmV3IEVycm9yKCJVbmhhbmRsZWQgZXJyb3IuIisobz8iICgiK28ubWVzc2FnZSsiKSI6IiIpKTt0aHJvdyBzLmNvbnRleHQ9byxzfXZhciBhPWlbdF07aWYodm9pZCAwPT09YSlyZXR1cm4hMTtpZigiZnVuY3Rpb24iPT10eXBlb2YgYSl1KGEsdGhpcyxlKTtlbHNle3ZhciBmPWEubGVuZ3RoLGg9YyhhLGYpO2ZvcihyPTA7cjxmOysrcil1KGhbcl0sdGhpcyxlKX1yZXR1cm4hMH19LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPW8ocigyOTkpKSxpPW8ocigzMjUpKTtmdW5jdGlvbiBvKHQpe3JldHVybiB0JiZ0Ll9fZXNNb2R1bGU/dDp7ZGVmYXVsdDp0fX1lLmRlZmF1bHQ9KDAsbi5kZWZhdWx0KShpLmRlZmF1bHQpLHQuZXhwb3J0cz1lLmRlZmF1bHR9LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGUuZGVmYXVsdD1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSxyLG8pe3JldHVybiB0KG4uZGVmYXVsdCxlLCgwLGkuZGVmYXVsdCkociksbyl9fTt2YXIgbj1vKHIoMTM5KSksaT1vKHIoMjMpKTtmdW5jdGlvbiBvKHQpe3JldHVybiB0JiZ0Ll9fZXNNb2R1bGU/dDp7ZGVmYXVsdDp0fX10LmV4cG9ydHM9ZS5kZWZhdWx0fSxmdW5jdGlvbih0LGUscil7dmFyIG49cig2MyksaT1yKDE0Myk7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe2lmKCFpKHQpKXJldHVybiExO3ZhciBlPW4odCk7cmV0dXJuIltvYmplY3QgRnVuY3Rpb25dIj09ZXx8IltvYmplY3QgR2VuZXJhdG9yRnVuY3Rpb25dIj09ZXx8IltvYmplY3QgQXN5bmNGdW5jdGlvbl0iPT1lfHwiW29iamVjdCBQcm94eV0iPT1lfX0sZnVuY3Rpb24odCxlLHIpe3ZhciBuPXIoMTQwKSxpPU9iamVjdC5wcm90b3R5cGUsbz1pLmhhc093blByb3BlcnR5LHM9aS50b1N0cmluZyxhPW4/bi50b1N0cmluZ1RhZzp2b2lkIDA7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlPW8uY2FsbCh0LGEpLHI9dFthXTt0cnl7dFthXT12b2lkIDA7dmFyIG49ITB9Y2F0Y2godCl7fXZhciBpPXMuY2FsbCh0KTtyZXR1cm4gbiYmKGU/dFthXT1yOmRlbGV0ZSB0W2FdKSxpfX0sZnVuY3Rpb24odCxlKXt2YXIgcj1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nO3QuZXhwb3J0cz1mdW5jdGlvbih0KXtyZXR1cm4gci5jYWxsKHQpfX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksZS5kZWZhdWx0PWZ1bmN0aW9uKHQsZSxyLG8peygwLG4uZGVmYXVsdCkoZSkodCwoMCxpLmRlZmF1bHQpKHIpLG8pfTt2YXIgbj1vKHIoMTQ2KSksaT1vKHIoMjMpKTtmdW5jdGlvbiBvKHQpe3JldHVybiB0JiZ0Ll9fZXNNb2R1bGU/dDp7ZGVmYXVsdDp0fX10LmV4cG9ydHM9ZS5kZWZhdWx0fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxlLmRlZmF1bHQ9ZnVuY3Rpb24odCl7aWYoKDAsbi5kZWZhdWx0KSh0KSlyZXR1cm4gZnVuY3Rpb24odCl7dmFyIGU9LTEscj10Lmxlbmd0aDtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4rK2U8cj97dmFsdWU6dFtlXSxrZXk6ZX06bnVsbH19KHQpO3ZhciBlPSgwLGkuZGVmYXVsdCkodCk7cmV0dXJuIGU/ZnVuY3Rpb24odCl7dmFyIGU9LTE7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIHI9dC5uZXh0KCk7cmV0dXJuIHIuZG9uZT9udWxsOihlKysse3ZhbHVlOnIudmFsdWUsa2V5OmV9KX19KGUpOihyPXQscz0oMCxvLmRlZmF1bHQpKHIpLGE9LTEsdT1zLmxlbmd0aCxmdW5jdGlvbiB0KCl7dmFyIGU9c1srK2FdO3JldHVybiJfX3Byb3RvX18iPT09ZT90KCk6YTx1P3t2YWx1ZTpyW2VdLGtleTplfTpudWxsfSk7dmFyIHIscyxhLHV9O3ZhciBuPXMocig0NykpLGk9cyhyKDMwNSkpLG89cyhyKDMwNikpO2Z1bmN0aW9uIHModCl7cmV0dXJuIHQmJnQuX19lc01vZHVsZT90OntkZWZhdWx0OnR9fXQuZXhwb3J0cz1lLmRlZmF1bHR9LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGUuZGVmYXVsdD1mdW5jdGlvbih0KXtyZXR1cm4gbiYmdFtuXSYmdFtuXSgpfTt2YXIgbj0iZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiZTeW1ib2wuaXRlcmF0b3I7dC5leHBvcnRzPWUuZGVmYXVsdH0sZnVuY3Rpb24odCxlLHIpe3ZhciBuPXIoMzA3KSxpPXIoMzE4KSxvPXIoNDcpO3QuZXhwb3J0cz1mdW5jdGlvbih0KXtyZXR1cm4gbyh0KT9uKHQpOmkodCl9fSxmdW5jdGlvbih0LGUscil7dmFyIG49cigzMDgpLGk9cigzMDkpLG89cigxNDcpLHM9cigzMTEpLGE9cigzMTMpLHU9cigzMTQpLGM9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTt0LmV4cG9ydHM9ZnVuY3Rpb24odCxlKXt2YXIgcj1vKHQpLGY9IXImJmkodCksaD0hciYmIWYmJnModCksbD0hciYmIWYmJiFoJiZ1KHQpLGQ9cnx8Znx8aHx8bCxwPWQ/bih0Lmxlbmd0aCxTdHJpbmcpOltdLG09cC5sZW5ndGg7Zm9yKHZhciBnIGluIHQpIWUmJiFjLmNhbGwodCxnKXx8ZCYmKCJsZW5ndGgiPT1nfHxoJiYoIm9mZnNldCI9PWd8fCJwYXJlbnQiPT1nKXx8bCYmKCJidWZmZXIiPT1nfHwiYnl0ZUxlbmd0aCI9PWd8fCJieXRlT2Zmc2V0Ij09Zyl8fGEoZyxtKSl8fHAucHVzaChnKTtyZXR1cm4gcH19LGZ1bmN0aW9uKHQsZSl7dC5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPS0xLG49QXJyYXkodCk7KytyPHQ7KW5bcl09ZShyKTtyZXR1cm4gbn19LGZ1bmN0aW9uKHQsZSxyKXt2YXIgbj1yKDMxMCksaT1yKDY1KSxvPU9iamVjdC5wcm90b3R5cGUscz1vLmhhc093blByb3BlcnR5LGE9by5wcm9wZXJ0eUlzRW51bWVyYWJsZSx1PW4oZnVuY3Rpb24oKXtyZXR1cm4gYXJndW1lbnRzfSgpKT9uOmZ1bmN0aW9uKHQpe3JldHVybiBpKHQpJiZzLmNhbGwodCwiY2FsbGVlIikmJiFhLmNhbGwodCwiY2FsbGVlIil9O3QuZXhwb3J0cz11fSxmdW5jdGlvbih0LGUscil7dmFyIG49cig2MyksaT1yKDY1KTt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIGkodCkmJiJbb2JqZWN0IEFyZ3VtZW50c10iPT1uKHQpfX0sZnVuY3Rpb24odCxlLHIpeyhmdW5jdGlvbih0KXt2YXIgbj1yKDE0MSksaT1yKDMxMiksbz1lJiYhZS5ub2RlVHlwZSYmZSxzPW8mJiJvYmplY3QiPT10eXBlb2YgdCYmdCYmIXQubm9kZVR5cGUmJnQsYT1zJiZzLmV4cG9ydHM9PT1vP24uQnVmZmVyOnZvaWQgMCx1PShhP2EuaXNCdWZmZXI6dm9pZCAwKXx8aTt0LmV4cG9ydHM9dX0pLmNhbGwodGhpcyxyKDI1KSh0KSl9LGZ1bmN0aW9uKHQsZSl7dC5leHBvcnRzPWZ1bmN0aW9uKCl7cmV0dXJuITF9fSxmdW5jdGlvbih0LGUpe3ZhciByPS9eKD86MHxbMS05XVxkKikkLzt0LmV4cG9ydHM9ZnVuY3Rpb24odCxlKXt2YXIgbj10eXBlb2YgdDtyZXR1cm4hIShlPW51bGw9PWU/OTAwNzE5OTI1NDc0MDk5MTplKSYmKCJudW1iZXIiPT1ufHwic3ltYm9sIiE9biYmci50ZXN0KHQpKSYmdD4tMSYmdCUxPT0wJiZ0PGV9fSxmdW5jdGlvbih0LGUscil7dmFyIG49cigzMTUpLGk9cigzMTYpLG89cigzMTcpLHM9byYmby5pc1R5cGVkQXJyYXksYT1zP2kocyk6bjt0LmV4cG9ydHM9YX0sZnVuY3Rpb24odCxlLHIpe3ZhciBuPXIoNjMpLGk9cigxNDQpLG89cig2NSkscz17fTtzWyJbb2JqZWN0IEZsb2F0MzJBcnJheV0iXT1zWyJbb2JqZWN0IEZsb2F0NjRBcnJheV0iXT1zWyJbb2JqZWN0IEludDhBcnJheV0iXT1zWyJbb2JqZWN0IEludDE2QXJyYXldIl09c1siW29iamVjdCBJbnQzMkFycmF5XSJdPXNbIltvYmplY3QgVWludDhBcnJheV0iXT1zWyJbb2JqZWN0IFVpbnQ4Q2xhbXBlZEFycmF5XSJdPXNbIltvYmplY3QgVWludDE2QXJyYXldIl09c1siW29iamVjdCBVaW50MzJBcnJheV0iXT0hMCxzWyJbb2JqZWN0IEFyZ3VtZW50c10iXT1zWyJbb2JqZWN0IEFycmF5XSJdPXNbIltvYmplY3QgQXJyYXlCdWZmZXJdIl09c1siW29iamVjdCBCb29sZWFuXSJdPXNbIltvYmplY3QgRGF0YVZpZXddIl09c1siW29iamVjdCBEYXRlXSJdPXNbIltvYmplY3QgRXJyb3JdIl09c1siW29iamVjdCBGdW5jdGlvbl0iXT1zWyJbb2JqZWN0IE1hcF0iXT1zWyJbb2JqZWN0IE51bWJlcl0iXT1zWyJbb2JqZWN0IE9iamVjdF0iXT1zWyJbb2JqZWN0IFJlZ0V4cF0iXT1zWyJbb2JqZWN0IFNldF0iXT1zWyJbb2JqZWN0IFN0cmluZ10iXT1zWyJbb2JqZWN0IFdlYWtNYXBdIl09ITEsdC5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiBvKHQpJiZpKHQubGVuZ3RoKSYmISFzW24odCldfX0sZnVuY3Rpb24odCxlKXt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiB0KGUpfX19LGZ1bmN0aW9uKHQsZSxyKXsoZnVuY3Rpb24odCl7dmFyIG49cigxNDIpLGk9ZSYmIWUubm9kZVR5cGUmJmUsbz1pJiYib2JqZWN0Ij09dHlwZW9mIHQmJnQmJiF0Lm5vZGVUeXBlJiZ0LHM9byYmby5leHBvcnRzPT09aSYmbi5wcm9jZXNzLGE9ZnVuY3Rpb24oKXt0cnl7dmFyIHQ9byYmby5yZXF1aXJlJiZvLnJlcXVpcmUoInV0aWwiKS50eXBlcztyZXR1cm4gdHx8cyYmcy5iaW5kaW5nJiZzLmJpbmRpbmcoInV0aWwiKX1jYXRjaCh0KXt9fSgpO3QuZXhwb3J0cz1hfSkuY2FsbCh0aGlzLHIoMjUpKHQpKX0sZnVuY3Rpb24odCxlLHIpe3ZhciBuPXIoMzE5KSxpPXIoMzIwKSxvPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe2lmKCFuKHQpKXJldHVybiBpKHQpO3ZhciBlPVtdO2Zvcih2YXIgciBpbiBPYmplY3QodCkpby5jYWxsKHQscikmJiJjb25zdHJ1Y3RvciIhPXImJmUucHVzaChyKTtyZXR1cm4gZX19LGZ1bmN0aW9uKHQsZSl7dmFyIHI9T2JqZWN0LnByb3RvdHlwZTt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7dmFyIGU9dCYmdC5jb25zdHJ1Y3RvcjtyZXR1cm4gdD09PSgiZnVuY3Rpb24iPT10eXBlb2YgZSYmZS5wcm90b3R5cGV8fHIpfX0sZnVuY3Rpb24odCxlLHIpe3ZhciBuPXIoMzIxKShPYmplY3Qua2V5cyxPYmplY3QpO3QuZXhwb3J0cz1ufSxmdW5jdGlvbih0LGUpe3QuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3JldHVybiBmdW5jdGlvbihyKXtyZXR1cm4gdChlKHIpKX19fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxlLmRlZmF1bHQ9ZnVuY3Rpb24odCl7cmV0dXJuKDAsaS5kZWZhdWx0KSgoZnVuY3Rpb24oZSxyKXt2YXIgaTt0cnl7aT10LmFwcGx5KHRoaXMsZSl9Y2F0Y2godCl7cmV0dXJuIHIodCl9KDAsbi5kZWZhdWx0KShpKSYmImZ1bmN0aW9uIj09dHlwZW9mIGkudGhlbj9pLnRoZW4oKGZ1bmN0aW9uKHQpe2EocixudWxsLHQpfSksKGZ1bmN0aW9uKHQpe2Eocix0Lm1lc3NhZ2U/dDpuZXcgRXJyb3IodCkpfSkpOnIobnVsbCxpKX0pKX07dmFyIG49cyhyKDE0MykpLGk9cyhyKDMyMykpLG89cyhyKDMyNCkpO2Z1bmN0aW9uIHModCl7cmV0dXJuIHQmJnQuX19lc01vZHVsZT90OntkZWZhdWx0OnR9fWZ1bmN0aW9uIGEodCxlLHIpe3RyeXt0KGUscil9Y2F0Y2godCl7KDAsby5kZWZhdWx0KSh1LHQpfX1mdW5jdGlvbiB1KHQpe3Rocm93IHR9dC5leHBvcnRzPWUuZGVmYXVsdH0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksZS5kZWZhdWx0PWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbigpe3ZhciBlPSgwLG8uZGVmYXVsdCkoYXJndW1lbnRzKSxyPWUucG9wKCk7dC5jYWxsKHRoaXMsZSxyKX19O3ZhciBuLGk9cig0OCksbz0obj1pKSYmbi5fX2VzTW9kdWxlP246e2RlZmF1bHQ6bn07dC5leHBvcnRzPWUuZGVmYXVsdH0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjsoZnVuY3Rpb24odCxuKXtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksZS5oYXNOZXh0VGljaz1lLmhhc1NldEltbWVkaWF0ZT12b2lkIDAsZS5mYWxsYmFjaz1mLGUud3JhcD1oO3ZhciBpLG89cig0OCkscz0oaT1vKSYmaS5fX2VzTW9kdWxlP2k6e2RlZmF1bHQ6aX07dmFyIGEsdT1lLmhhc1NldEltbWVkaWF0ZT0iZnVuY3Rpb24iPT10eXBlb2YgdCYmdCxjPWUuaGFzTmV4dFRpY2s9Im9iamVjdCI9PXR5cGVvZiBuJiYiZnVuY3Rpb24iPT10eXBlb2Ygbi5uZXh0VGljaztmdW5jdGlvbiBmKHQpe3NldFRpbWVvdXQodCwwKX1mdW5jdGlvbiBoKHQpe3JldHVybiBmdW5jdGlvbihlKXt2YXIgcj0oMCxzLmRlZmF1bHQpKGFyZ3VtZW50cywxKTt0KChmdW5jdGlvbigpe2UuYXBwbHkobnVsbCxyKX0pKX19YT11P3Q6Yz9uLm5leHRUaWNrOmYsZS5kZWZhdWx0PWgoYSl9KS5jYWxsKHRoaXMscigxMDgpLnNldEltbWVkaWF0ZSxyKDUpKX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksZS5kZWZhdWx0PWZ1bmN0aW9uKHQsZSxyLG8pe289b3x8bi5kZWZhdWx0LGU9ZXx8W107dmFyIHM9W10sYT0wLHU9KDAsaS5kZWZhdWx0KShyKTt0KGUsKGZ1bmN0aW9uKHQsZSxyKXt2YXIgbj1hKys7dSh0LChmdW5jdGlvbih0LGUpe3Nbbl09ZSxyKHQpfSkpfSksKGZ1bmN0aW9uKHQpe28odCxzKX0pKX07dmFyIG49byhyKDM4KSksaT1vKHIoMjMpKTtmdW5jdGlvbiBvKHQpe3JldHVybiB0JiZ0Ll9fZXNNb2R1bGU/dDp7ZGVmYXVsdDp0fX10LmV4cG9ydHM9ZS5kZWZhdWx0fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj1vKHIoMzI3KSksaT1vKHIoMTQ4KSk7ZnVuY3Rpb24gbyh0KXtyZXR1cm4gdCYmdC5fX2VzTW9kdWxlP3Q6e2RlZmF1bHQ6dH19ZS5kZWZhdWx0PSgwLGkuZGVmYXVsdCkobi5kZWZhdWx0LDEpLHQuZXhwb3J0cz1lLmRlZmF1bHR9LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGUuZGVmYXVsdD1mdW5jdGlvbih0LGUscixzKXsoMCxuLmRlZmF1bHQpKGUpKHQsKDAsaS5kZWZhdWx0KSgoMCxvLmRlZmF1bHQpKHIpKSxzKX07dmFyIG49cyhyKDE0NikpLGk9cyhyKDMyOCkpLG89cyhyKDIzKSk7ZnVuY3Rpb24gcyh0KXtyZXR1cm4gdCYmdC5fX2VzTW9kdWxlP3Q6e2RlZmF1bHQ6dH19dC5leHBvcnRzPWUuZGVmYXVsdH0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksZS5kZWZhdWx0PWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihlLHIsbil7cmV0dXJuIHQoZSxuKX19LHQuZXhwb3J0cz1lLmRlZmF1bHR9LGZ1bmN0aW9uKHQsZSxyKXtjb25zdCBuPXIoMTIpLkV2ZW50RW1pdHRlcixpPXIoMjEpLmluaGVyaXRzO2Z1bmN0aW9uIG8oKXtuLmNhbGwodGhpcyksdGhpcy5pc0xvY2tlZD0hMH10LmV4cG9ydHM9byxpKG8sbiksby5wcm90b3R5cGUuZ289ZnVuY3Rpb24oKXt0aGlzLmlzTG9ja2VkPSExLHRoaXMuZW1pdCgidW5sb2NrIil9LG8ucHJvdG90eXBlLnN0b3A9ZnVuY3Rpb24oKXt0aGlzLmlzTG9ja2VkPSEwLHRoaXMuZW1pdCgibG9jayIpfSxvLnByb3RvdHlwZS5hd2FpdD1mdW5jdGlvbih0KXtjb25zdCBlPXRoaXM7ZS5pc0xvY2tlZD9lLm9uY2UoInVubG9jayIsdCk6c2V0VGltZW91dCh0KX19LGZ1bmN0aW9uKHQsZSxyKXtlLnBhcnNlPXIoMzMxKSxlLnN0cmluZ2lmeT1yKDMzMil9LGZ1bmN0aW9uKHQsZSl7dmFyIHIsbixpLG8scz17JyInOiciJywiXFwiOiJcXCIsIi8iOiIvIixiOiJcYiIsZjoiXGYiLG46IlxuIixyOiJcciIsdDoiXHQifSxhPWZ1bmN0aW9uKHQpe3Rocm93e25hbWU6IlN5bnRheEVycm9yIixtZXNzYWdlOnQsYXQ6cix0ZXh0Oml9fSx1PWZ1bmN0aW9uKHQpe3JldHVybiB0JiZ0IT09biYmYSgiRXhwZWN0ZWQgJyIrdCsiJyBpbnN0ZWFkIG9mICciK24rIiciKSxuPWkuY2hhckF0KHIpLHIrPTEsbn0sYz1mdW5jdGlvbigpe3ZhciB0LGU9IiI7Zm9yKCItIj09PW4mJihlPSItIix1KCItIikpO24+PSIwIiYmbjw9IjkiOyllKz1uLHUoKTtpZigiLiI9PT1uKWZvcihlKz0iLiI7dSgpJiZuPj0iMCImJm48PSI5IjspZSs9bjtpZigiZSI9PT1ufHwiRSI9PT1uKWZvcihlKz1uLHUoKSwiLSIhPT1uJiYiKyIhPT1ufHwoZSs9bix1KCkpO24+PSIwIiYmbjw9IjkiOyllKz1uLHUoKTtpZih0PStlLGlzRmluaXRlKHQpKXJldHVybiB0O2EoIkJhZCBudW1iZXIiKX0sZj1mdW5jdGlvbigpe3ZhciB0LGUscixpPSIiO2lmKCciJz09PW4pZm9yKDt1KCk7KXtpZignIic9PT1uKXJldHVybiB1KCksaTtpZigiXFwiPT09bilpZih1KCksInUiPT09bil7Zm9yKHI9MCxlPTA7ZTw0JiYodD1wYXJzZUludCh1KCksMTYpLGlzRmluaXRlKHQpKTtlKz0xKXI9MTYqcit0O2krPVN0cmluZy5mcm9tQ2hhckNvZGUocil9ZWxzZXtpZigic3RyaW5nIiE9dHlwZW9mIHNbbl0pYnJlYWs7aSs9c1tuXX1lbHNlIGkrPW59YSgiQmFkIHN0cmluZyIpfSxoPWZ1bmN0aW9uKCl7Zm9yKDtuJiZuPD0iICI7KXUoKX07bz1mdW5jdGlvbigpe3N3aXRjaChoKCksbil7Y2FzZSJ7IjpyZXR1cm4gZnVuY3Rpb24oKXt2YXIgdCxlPXt9O2lmKCJ7Ij09PW4pe2lmKHUoInsiKSxoKCksIn0iPT09bilyZXR1cm4gdSgifSIpLGU7Zm9yKDtuOyl7aWYodD1mKCksaCgpLHUoIjoiKSxPYmplY3QuaGFzT3duUHJvcGVydHkuY2FsbChlLHQpJiZhKCdEdXBsaWNhdGUga2V5ICInK3QrJyInKSxlW3RdPW8oKSxoKCksIn0iPT09bilyZXR1cm4gdSgifSIpLGU7dSgiLCIpLGgoKX19YSgiQmFkIG9iamVjdCIpfSgpO2Nhc2UiWyI6cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIHQ9W107aWYoIlsiPT09bil7aWYodSgiWyIpLGgoKSwiXSI9PT1uKXJldHVybiB1KCJdIiksdDtmb3IoO247KXtpZih0LnB1c2gobygpKSxoKCksIl0iPT09bilyZXR1cm4gdSgiXSIpLHQ7dSgiLCIpLGgoKX19YSgiQmFkIGFycmF5Iil9KCk7Y2FzZSciJzpyZXR1cm4gZigpO2Nhc2UiLSI6cmV0dXJuIGMoKTtkZWZhdWx0OnJldHVybiBuPj0iMCImJm48PSI5Ij9jKCk6ZnVuY3Rpb24oKXtzd2l0Y2gobil7Y2FzZSJ0IjpyZXR1cm4gdSgidCIpLHUoInIiKSx1KCJ1IiksdSgiZSIpLCEwO2Nhc2UiZiI6cmV0dXJuIHUoImYiKSx1KCJhIiksdSgibCIpLHUoInMiKSx1KCJlIiksITE7Y2FzZSJuIjpyZXR1cm4gdSgibiIpLHUoInUiKSx1KCJsIiksdSgibCIpLG51bGx9YSgiVW5leHBlY3RlZCAnIituKyInIil9KCl9fSx0LmV4cG9ydHM9ZnVuY3Rpb24odCxlKXt2YXIgcztyZXR1cm4gaT10LHI9MCxuPSIgIixzPW8oKSxoKCksbiYmYSgiU3ludGF4IGVycm9yIiksImZ1bmN0aW9uIj09dHlwZW9mIGU/ZnVuY3Rpb24gdChyLG4pe3ZhciBpLG8scz1yW25dO2lmKHMmJiJvYmplY3QiPT10eXBlb2Ygcylmb3IoaSBpbiBzKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLGkpJiYodm9pZCAwIT09KG89dChzLGkpKT9zW2ldPW86ZGVsZXRlIHNbaV0pO3JldHVybiBlLmNhbGwocixuLHMpfSh7IiI6c30sIiIpOnN9fSxmdW5jdGlvbih0LGUpe3ZhciByLG4saSxvPS9bXFxcIlx4MDAtXHgxZlx4N2YtXHg5Zlx1MDBhZFx1MDYwMC1cdTA2MDRcdTA3MGZcdTE3YjRcdTE3YjVcdTIwMGMtXHUyMDBmXHUyMDI4LVx1MjAyZlx1MjA2MC1cdTIwNmZcdWZlZmZcdWZmZjAtXHVmZmZmXS9nLHM9eyJcYiI6IlxcYiIsIlx0IjoiXFx0IiwiXG4iOiJcXG4iLCJcZiI6IlxcZiIsIlxyIjoiXFxyIiwnIic6J1xcIicsIlxcIjoiXFxcXCJ9O2Z1bmN0aW9uIGEodCl7cmV0dXJuIG8ubGFzdEluZGV4PTAsby50ZXN0KHQpPyciJyt0LnJlcGxhY2UobywoZnVuY3Rpb24odCl7dmFyIGU9c1t0XTtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGU/ZToiXFx1IisoIjAwMDAiK3QuY2hhckNvZGVBdCgwKS50b1N0cmluZygxNikpLnNsaWNlKC00KX0pKSsnIic6JyInK3QrJyInfXQuZXhwb3J0cz1mdW5jdGlvbih0LGUsbyl7dmFyIHM7aWYocj0iIixuPSIiLCJudW1iZXIiPT10eXBlb2Ygbylmb3Iocz0wO3M8bztzKz0xKW4rPSIgIjtlbHNlInN0cmluZyI9PXR5cGVvZiBvJiYobj1vKTtpZihpPWUsZSYmImZ1bmN0aW9uIiE9dHlwZW9mIGUmJigib2JqZWN0IiE9dHlwZW9mIGV8fCJudW1iZXIiIT10eXBlb2YgZS5sZW5ndGgpKXRocm93IG5ldyBFcnJvcigiSlNPTi5zdHJpbmdpZnkiKTtyZXR1cm4gZnVuY3Rpb24gdChlLG8pe3ZhciBzLHUsYyxmLGgsbD1yLGQ9b1tlXTtzd2l0Y2goZCYmIm9iamVjdCI9PXR5cGVvZiBkJiYiZnVuY3Rpb24iPT10eXBlb2YgZC50b0pTT04mJihkPWQudG9KU09OKGUpKSwiZnVuY3Rpb24iPT10eXBlb2YgaSYmKGQ9aS5jYWxsKG8sZSxkKSksdHlwZW9mIGQpe2Nhc2Uic3RyaW5nIjpyZXR1cm4gYShkKTtjYXNlIm51bWJlciI6cmV0dXJuIGlzRmluaXRlKGQpP1N0cmluZyhkKToibnVsbCI7Y2FzZSJib29sZWFuIjpjYXNlIm51bGwiOnJldHVybiBTdHJpbmcoZCk7Y2FzZSJvYmplY3QiOmlmKCFkKXJldHVybiJudWxsIjtpZihyKz1uLGg9W10sIltvYmplY3QgQXJyYXldIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuYXBwbHkoZCkpe2ZvcihmPWQubGVuZ3RoLHM9MDtzPGY7cys9MSloW3NdPXQocyxkKXx8Im51bGwiO3JldHVybiBjPTA9PT1oLmxlbmd0aD8iW10iOnI/IltcbiIrcitoLmpvaW4oIixcbiIrcikrIlxuIitsKyJdIjoiWyIraC5qb2luKCIsIikrIl0iLHI9bCxjfWlmKGkmJiJvYmplY3QiPT10eXBlb2YgaSlmb3IoZj1pLmxlbmd0aCxzPTA7czxmO3MrPTEpInN0cmluZyI9PXR5cGVvZih1PWlbc10pJiYoYz10KHUsZCkpJiZoLnB1c2goYSh1KSsocj8iOiAiOiI6IikrYyk7ZWxzZSBmb3IodSBpbiBkKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChkLHUpJiYoYz10KHUsZCkpJiZoLnB1c2goYSh1KSsocj8iOiAiOiI6IikrYyk7cmV0dXJuIGM9MD09PWgubGVuZ3RoPyJ7fSI6cj8ie1xuIityK2guam9pbigiLFxuIityKSsiXG4iK2wrIn0iOiJ7IitoLmpvaW4oIiwiKSsifSIscj1sLGN9fSgiIix7IiI6dH0pfX0sZnVuY3Rpb24odCxlKXt0LmV4cG9ydHM9ZnVuY3Rpb24oKXtyZXR1cm4gTWF0aC5mbG9vcihOdW1iZXIuTUFYX1NBRkVfSU5URUdFUipNYXRoLnJhbmRvbSgpKX19LGZ1bmN0aW9uKHQsZSxyKXtjb25zdCBuPXIoNjgpLGk9cigzMzUpO3QuZXhwb3J0cz1jbGFzcyBleHRlbmRzIG57Y29uc3RydWN0b3IodCl7c3VwZXIoKHtibG9ja1RyYWNrZXI6ZX0pPT5pKE9iamVjdC5hc3NpZ24oe2Jsb2NrVHJhY2tlcjplfSx0KSkpfX19LGZ1bmN0aW9uKHQsZSxyKXtjb25zdCBuPXIoMzM2KSxpPXIoMzM3KSxvPVt2b2lkIDAsbnVsbCwiPG5pbD4iXTt0LmV4cG9ydHM9ZnVuY3Rpb24odD17fSl7Y29uc3R7YmxvY2tUcmFja2VyOmV9PXQ7aWYoIWUpdGhyb3cgbmV3IEVycm9yKCJjcmVhdGVCbG9ja0NhY2hlTWlkZGxld2FyZSAtIE5vIEJsb2NrVHJhY2tlciBzcGVjaWZpZWQiKTtjb25zdCByPW5ldyBzLG89e3Blcm1hOnIsYmxvY2s6cixmb3JrOnJ9O3JldHVybiBpKGFzeW5jKHQsaSxzKT0+e2lmKHQuc2tpcENhY2hlKXJldHVybiBzKCk7Y29uc3QgYT1uLmNhY2hlVHlwZUZvclBheWxvYWQodCksdT1vW2FdO2lmKCF1KXJldHVybiBzKCk7aWYoIXUuY2FuQ2FjaGVSZXF1ZXN0KHQpKXJldHVybiBzKCk7bGV0IGMsZj1uLmJsb2NrVGFnRm9yUGF5bG9hZCh0KTtpZihmfHwoZj0ibGF0ZXN0IiksImVhcmxpZXN0Ij09PWYpYz0iMHgwMCI7ZWxzZSBpZigibGF0ZXN0Ij09PWYpe2NvbnN0IHQ9YXdhaXQgZS5nZXRMYXRlc3RCbG9jaygpO3IuY2xlYXJCZWZvcmUodCksYz10fWVsc2UgYz1mO2NvbnN0IGg9YXdhaXQgdS5nZXQodCxjKTt2b2lkIDA9PT1oPyhhd2FpdCBzKCksYXdhaXQgdS5zZXQodCxjLGkucmVzdWx0KSk6aS5yZXN1bHQ9aH0pfTtjbGFzcyBze2NvbnN0cnVjdG9yKCl7dGhpcy5jYWNoZT17fX1nZXRCbG9ja0NhY2hlRm9yUGF5bG9hZCh0LGUpe2NvbnN0IHI9TnVtYmVyLnBhcnNlSW50KGUsMTYpO2xldCBuPXRoaXMuY2FjaGVbcl07aWYoIW4pe2NvbnN0IHQ9e307dGhpcy5jYWNoZVtyXT10LG49dH1yZXR1cm4gbn1hc3luYyBnZXQodCxlKXtjb25zdCByPXRoaXMuZ2V0QmxvY2tDYWNoZUZvclBheWxvYWQodCxlKTtpZighcilyZXR1cm47cmV0dXJuIHJbbi5jYWNoZUlkZW50aWZpZXJGb3JQYXlsb2FkKHQsITApXX1hc3luYyBzZXQodCxlLHIpe2lmKCF0aGlzLmNhbkNhY2hlUmVzdWx0KHQscikpcmV0dXJuO3RoaXMuZ2V0QmxvY2tDYWNoZUZvclBheWxvYWQodCxlKVtuLmNhY2hlSWRlbnRpZmllckZvclBheWxvYWQodCwhMCldPXJ9Y2FuQ2FjaGVSZXF1ZXN0KHQpe2lmKCFuLmNhbkNhY2hlKHQpKXJldHVybiExO3JldHVybiJwZW5kaW5nIiE9PW4uYmxvY2tUYWdGb3JQYXlsb2FkKHQpfWNhbkNhY2hlUmVzdWx0KHQsZSl7aWYoIW8uaW5jbHVkZXMoZSkpcmV0dXJuISEoIVsiZXRoX2dldFRyYW5zYWN0aW9uQnlIYXNoIiwiZXRoX2dldFRyYW5zYWN0aW9uUmVjZWlwdCJdLmluY2x1ZGVzKHQubWV0aG9kKXx8ZSYmZS5ibG9ja0hhc2gmJiIweDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiIT09ZS5ibG9ja0hhc2gpfWNsZWFyQmVmb3JlKHQpe2NvbnN0IGU9dGhpcyxyPU51bWJlci5wYXJzZUludCh0LDE2KTtPYmplY3Qua2V5cyhlLmNhY2hlKS5tYXAoTnVtYmVyKS5maWx0ZXIodD0+dDxyKS5mb3JFYWNoKHQ9PmRlbGV0ZSBlLmNhY2hlW3RdKX19fSxmdW5jdGlvbih0LGUscil7Y29uc3Qgbj1yKDE1MCk7ZnVuY3Rpb24gaSh0KXtyZXR1cm4ibmV2ZXIiIT09YSh0KX1mdW5jdGlvbiBvKHQpe2NvbnN0IGU9cyh0KTtyZXR1cm4gZT49dC5wYXJhbXMubGVuZ3RoP3QucGFyYW1zOiJldGhfZ2V0QmxvY2tCeU51bWJlciI9PT10Lm1ldGhvZD90LnBhcmFtcy5zbGljZSgxKTp0LnBhcmFtcy5zbGljZSgwLGUpfWZ1bmN0aW9uIHModCl7c3dpdGNoKHQubWV0aG9kKXtjYXNlImV0aF9nZXRTdG9yYWdlQXQiOnJldHVybiAyO2Nhc2UiZXRoX2dldEJhbGFuY2UiOmNhc2UiZXRoX2dldENvZGUiOmNhc2UiZXRoX2dldFRyYW5zYWN0aW9uQ291bnQiOmNhc2UiZXRoX2NhbGwiOnJldHVybiAxO2Nhc2UiZXRoX2dldEJsb2NrQnlOdW1iZXIiOnJldHVybiAwO2RlZmF1bHQ6cmV0dXJufX1mdW5jdGlvbiBhKHQpe3N3aXRjaCh0Lm1ldGhvZCl7Y2FzZSJ3ZWIzX2NsaWVudFZlcnNpb24iOmNhc2Uid2ViM19zaGEzIjpjYXNlImV0aF9wcm90b2NvbFZlcnNpb24iOmNhc2UiZXRoX2dldEJsb2NrVHJhbnNhY3Rpb25Db3VudEJ5SGFzaCI6Y2FzZSJldGhfZ2V0VW5jbGVDb3VudEJ5QmxvY2tIYXNoIjpjYXNlImV0aF9nZXRDb2RlIjpjYXNlImV0aF9nZXRCbG9ja0J5SGFzaCI6Y2FzZSJldGhfZ2V0VHJhbnNhY3Rpb25CeUhhc2giOmNhc2UiZXRoX2dldFRyYW5zYWN0aW9uQnlCbG9ja0hhc2hBbmRJbmRleCI6Y2FzZSJldGhfZ2V0VHJhbnNhY3Rpb25SZWNlaXB0IjpjYXNlImV0aF9nZXRVbmNsZUJ5QmxvY2tIYXNoQW5kSW5kZXgiOmNhc2UiZXRoX2dldENvbXBpbGVycyI6Y2FzZSJldGhfY29tcGlsZUxMTCI6Y2FzZSJldGhfY29tcGlsZVNvbGlkaXR5IjpjYXNlImV0aF9jb21waWxlU2VycGVudCI6Y2FzZSJzaGhfdmVyc2lvbiI6Y2FzZSJ0ZXN0X3Blcm1hQ2FjaGUiOnJldHVybiJwZXJtYSI7Y2FzZSJldGhfZ2V0QmxvY2tCeU51bWJlciI6Y2FzZSJldGhfZ2V0QmxvY2tUcmFuc2FjdGlvbkNvdW50QnlOdW1iZXIiOmNhc2UiZXRoX2dldFVuY2xlQ291bnRCeUJsb2NrTnVtYmVyIjpjYXNlImV0aF9nZXRUcmFuc2FjdGlvbkJ5QmxvY2tOdW1iZXJBbmRJbmRleCI6Y2FzZSJldGhfZ2V0VW5jbGVCeUJsb2NrTnVtYmVyQW5kSW5kZXgiOmNhc2UidGVzdF9mb3JrQ2FjaGUiOnJldHVybiJmb3JrIjtjYXNlImV0aF9nYXNQcmljZSI6Y2FzZSJldGhfYmxvY2tOdW1iZXIiOmNhc2UiZXRoX2dldEJhbGFuY2UiOmNhc2UiZXRoX2dldFN0b3JhZ2VBdCI6Y2FzZSJldGhfZ2V0VHJhbnNhY3Rpb25Db3VudCI6Y2FzZSJldGhfY2FsbCI6Y2FzZSJldGhfZXN0aW1hdGVHYXMiOmNhc2UiZXRoX2dldEZpbHRlckxvZ3MiOmNhc2UiZXRoX2dldExvZ3MiOmNhc2UidGVzdF9ibG9ja0NhY2hlIjpyZXR1cm4iYmxvY2siO2Nhc2UibmV0X3ZlcnNpb24iOmNhc2UibmV0X3BlZXJDb3VudCI6Y2FzZSJuZXRfbGlzdGVuaW5nIjpjYXNlImV0aF9zeW5jaW5nIjpjYXNlImV0aF9zaWduIjpjYXNlImV0aF9jb2luYmFzZSI6Y2FzZSJldGhfbWluaW5nIjpjYXNlImV0aF9oYXNocmF0ZSI6Y2FzZSJldGhfYWNjb3VudHMiOmNhc2UiZXRoX3NlbmRUcmFuc2FjdGlvbiI6Y2FzZSJldGhfc2VuZFJhd1RyYW5zYWN0aW9uIjpjYXNlImV0aF9uZXdGaWx0ZXIiOmNhc2UiZXRoX25ld0Jsb2NrRmlsdGVyIjpjYXNlImV0aF9uZXdQZW5kaW5nVHJhbnNhY3Rpb25GaWx0ZXIiOmNhc2UiZXRoX3VuaW5zdGFsbEZpbHRlciI6Y2FzZSJldGhfZ2V0RmlsdGVyQ2hhbmdlcyI6Y2FzZSJldGhfZ2V0V29yayI6Y2FzZSJldGhfc3VibWl0V29yayI6Y2FzZSJldGhfc3VibWl0SGFzaHJhdGUiOmNhc2UiZGJfcHV0U3RyaW5nIjpjYXNlImRiX2dldFN0cmluZyI6Y2FzZSJkYl9wdXRIZXgiOmNhc2UiZGJfZ2V0SGV4IjpjYXNlInNoaF9wb3N0IjpjYXNlInNoaF9uZXdJZGVudGl0eSI6Y2FzZSJzaGhfaGFzSWRlbnRpdHkiOmNhc2Uic2hoX25ld0dyb3VwIjpjYXNlInNoaF9hZGRUb0dyb3VwIjpjYXNlInNoaF9uZXdGaWx0ZXIiOmNhc2Uic2hoX3VuaW5zdGFsbEZpbHRlciI6Y2FzZSJzaGhfZ2V0RmlsdGVyQ2hhbmdlcyI6Y2FzZSJzaGhfZ2V0TWVzc2FnZXMiOmNhc2UidGVzdF9uZXZlckNhY2hlIjpyZXR1cm4ibmV2ZXIifX10LmV4cG9ydHM9e2NhY2hlSWRlbnRpZmllckZvclBheWxvYWQ6ZnVuY3Rpb24odCxlKXtjb25zdCByPWU/byh0KTp0LnBhcmFtcztyZXR1cm4gaSh0KT90Lm1ldGhvZCsiOiIrbihyKTpudWxsfSxjYW5DYWNoZTppLGJsb2NrVGFnRm9yUGF5bG9hZDpmdW5jdGlvbih0KXtsZXQgZT1zKHQpO2lmKGU+PXQucGFyYW1zLmxlbmd0aClyZXR1cm4gbnVsbDtyZXR1cm4gdC5wYXJhbXNbZV19LHBhcmFtc1dpdGhvdXRCbG9ja1RhZzpvLGJsb2NrVGFnUGFyYW1JbmRleDpzLGNhY2hlVHlwZUZvclBheWxvYWQ6YX19LGZ1bmN0aW9uKHQsZSl7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybihlLHIsbixpKT0+e2xldCBvO2NvbnN0IHM9bmV3IFByb21pc2UodD0+e289dH0pO2xldCBhLHU7dChlLHIsYXN5bmMoKT0+e3U9ITAsbih0PT57YT10LG8oKX0pLGF3YWl0IHN9KS50aGVuKGFzeW5jKCk9Pnt1Pyhhd2FpdCBzLGEobnVsbCkpOmkobnVsbCl9KS5jYXRjaCh0PT57YT9hKHQpOmkodCl9KX19fSxmdW5jdGlvbih0LGUscil7Y29uc3Qgbj1yKDIxKS5pbmhlcml0cyxpPXIoNDkpO2Z1bmN0aW9uIG8odCl7dD10fHx7fSx0aGlzLnN0YXRpY1Jlc3BvbnNlcz10fXQuZXhwb3J0cz1vLG4obyxpKSxvLnByb3RvdHlwZS5oYW5kbGVSZXF1ZXN0PWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj10aGlzLnN0YXRpY1Jlc3BvbnNlc1t0Lm1ldGhvZF07ImZ1bmN0aW9uIj09dHlwZW9mIG4/bih0LGUscik6dm9pZCAwIT09bj9zZXRUaW1lb3V0KCgpPT5yKG51bGwsbikpOmUoKX19LGZ1bmN0aW9uKHQsZSxyKXtjb25zdCBuPXIoNjgpLGk9cigxNTEpO3QuZXhwb3J0cz1jbGFzcyBleHRlbmRzIG57Y29uc3RydWN0b3IoKXtzdXBlcigoe2Jsb2NrVHJhY2tlcjp0LHByb3ZpZGVyOmUsZW5naW5lOnJ9KT0+aSh7YmxvY2tUcmFja2VyOnQscHJvdmlkZXI6ZX0pKX19fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxlLmNyZWF0ZUlkUmVtYXBNaWRkbGV3YXJlPXZvaWQgMDtjb25zdCBuPXIoMTUzKTtlLmNyZWF0ZUlkUmVtYXBNaWRkbGV3YXJlPWZ1bmN0aW9uKCl7cmV0dXJuKHQsZSxyLGkpPT57Y29uc3Qgbz10LmlkLHM9bi5nZXRVbmlxdWVJZCgpO3QuaWQ9cyxlLmlkPXMscihyPT57dC5pZD1vLGUuaWQ9byxyKCl9KX19fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxlLmNyZWF0ZUFzeW5jTWlkZGxld2FyZT12b2lkIDAsZS5jcmVhdGVBc3luY01pZGRsZXdhcmU9ZnVuY3Rpb24odCl7cmV0dXJuIGFzeW5jKGUscixuLGkpPT57bGV0IG87Y29uc3Qgcz1uZXcgUHJvbWlzZSh0PT57bz10fSk7bGV0IGE9bnVsbCx1PSExO2NvbnN0IGM9YXN5bmMoKT0+e3U9ITAsbih0PT57YT10LG8oKX0pLGF3YWl0IHN9O3RyeXthd2FpdCB0KGUscixjKSx1Pyhhd2FpdCBzLGEobnVsbCkpOmkobnVsbCl9Y2F0Y2godCl7YT9hKHQpOmkodCl9fX19LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGUuY3JlYXRlU2NhZmZvbGRNaWRkbGV3YXJlPXZvaWQgMCxlLmNyZWF0ZVNjYWZmb2xkTWlkZGxld2FyZT1mdW5jdGlvbih0KXtyZXR1cm4oZSxyLG4saSk9Pntjb25zdCBvPXRbZS5tZXRob2RdO3JldHVybiB2b2lkIDA9PT1vP24oKToiZnVuY3Rpb24iPT10eXBlb2Ygbz9vKGUscixuLGkpOihyLnJlc3VsdD1vLGkoKSl9fX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksZS5nZXRNZXNzYWdlRnJvbUNvZGU9ZS5zZXJpYWxpemVFcnJvcj1lLkV0aGVyZXVtUHJvdmlkZXJFcnJvcj1lLkV0aGVyZXVtUnBjRXJyb3I9ZS5ldGhFcnJvcnM9ZS5lcnJvckNvZGVzPXZvaWQgMDtjb25zdCBuPXIoNzApO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJFdGhlcmV1bVJwY0Vycm9yIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbi5FdGhlcmV1bVJwY0Vycm9yfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJFdGhlcmV1bVByb3ZpZGVyRXJyb3IiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBuLkV0aGVyZXVtUHJvdmlkZXJFcnJvcn19KTtjb25zdCBpPXIoMTU1KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwic2VyaWFsaXplRXJyb3IiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBpLnNlcmlhbGl6ZUVycm9yfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJnZXRNZXNzYWdlRnJvbUNvZGUiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBpLmdldE1lc3NhZ2VGcm9tQ29kZX19KTtjb25zdCBvPXIoMzQ1KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiZXRoRXJyb3JzIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gby5ldGhFcnJvcnN9fSk7Y29uc3Qgcz1yKDcxKTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiZXJyb3JDb2RlcyIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHMuZXJyb3JDb2Rlc319KX0sZnVuY3Rpb24odCxlKXt0LmV4cG9ydHM9byxvLmRlZmF1bHQ9byxvLnN0YWJsZT11LG8uc3RhYmxlU3RyaW5naWZ5PXU7dmFyIHI9W10sbj1bXTtmdW5jdGlvbiBpKCl7cmV0dXJue2RlcHRoTGltaXQ6TnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIsZWRnZXNMaW1pdDpOdW1iZXIuTUFYX1NBRkVfSU5URUdFUn19ZnVuY3Rpb24gbyh0LGUsbyxhKXt2YXIgdTt2b2lkIDA9PT1hJiYoYT1pKCkpLGZ1bmN0aW9uIHQoZSxyLG4saSxvLGEsdSl7dmFyIGM7aWYoYSs9MSwib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lKXtmb3IoYz0wO2M8aS5sZW5ndGg7YysrKWlmKGlbY109PT1lKXJldHVybiB2b2lkIHMoIltDaXJjdWxhcl0iLGUscixvKTtpZih2b2lkIDAhPT11LmRlcHRoTGltaXQmJmE+dS5kZXB0aExpbWl0KXJldHVybiB2b2lkIHMoIlsuLi5dIixlLHIsbyk7aWYodm9pZCAwIT09dS5lZGdlc0xpbWl0JiZuKzE+dS5lZGdlc0xpbWl0KXJldHVybiB2b2lkIHMoIlsuLi5dIixlLHIsbyk7aWYoaS5wdXNoKGUpLEFycmF5LmlzQXJyYXkoZSkpZm9yKGM9MDtjPGUubGVuZ3RoO2MrKyl0KGVbY10sYyxjLGksZSxhLHUpO2Vsc2V7dmFyIGY9T2JqZWN0LmtleXMoZSk7Zm9yKGM9MDtjPGYubGVuZ3RoO2MrKyl7dmFyIGg9ZltjXTt0KGVbaF0saCxjLGksZSxhLHUpfX1pLnBvcCgpfX0odCwiIiwwLFtdLHZvaWQgMCwwLGEpO3RyeXt1PTA9PT1uLmxlbmd0aD9KU09OLnN0cmluZ2lmeSh0LGUsbyk6SlNPTi5zdHJpbmdpZnkodCxjKGUpLG8pfWNhdGNoKHQpe3JldHVybiBKU09OLnN0cmluZ2lmeSgiW3VuYWJsZSB0byBzZXJpYWxpemUsIGNpcmN1bGFyIHJlZmVyZW5jZSBpcyB0b28gY29tcGxleCB0byBhbmFseXplXSIpfWZpbmFsbHl7Zm9yKDswIT09ci5sZW5ndGg7KXt2YXIgZj1yLnBvcCgpOzQ9PT1mLmxlbmd0aD9PYmplY3QuZGVmaW5lUHJvcGVydHkoZlswXSxmWzFdLGZbM10pOmZbMF1bZlsxXV09ZlsyXX19cmV0dXJuIHV9ZnVuY3Rpb24gcyh0LGUsaSxvKXt2YXIgcz1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG8saSk7dm9pZCAwIT09cy5nZXQ/cy5jb25maWd1cmFibGU/KE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLGkse3ZhbHVlOnR9KSxyLnB1c2goW28saSxlLHNdKSk6bi5wdXNoKFtlLGksdF0pOihvW2ldPXQsci5wdXNoKFtvLGksZV0pKX1mdW5jdGlvbiBhKHQsZSl7cmV0dXJuIHQ8ZT8tMTp0PmU/MTowfWZ1bmN0aW9uIHUodCxlLG8sdSl7dm9pZCAwPT09dSYmKHU9aSgpKTt2YXIgZixoPWZ1bmN0aW9uIHQoZSxuLGksbyx1LGMsZil7dmFyIGg7aWYoYys9MSwib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lKXtmb3IoaD0wO2g8by5sZW5ndGg7aCsrKWlmKG9baF09PT1lKXJldHVybiB2b2lkIHMoIltDaXJjdWxhcl0iLGUsbix1KTt0cnl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIGUudG9KU09OKXJldHVybn1jYXRjaCh0KXtyZXR1cm59aWYodm9pZCAwIT09Zi5kZXB0aExpbWl0JiZjPmYuZGVwdGhMaW1pdClyZXR1cm4gdm9pZCBzKCJbLi4uXSIsZSxuLHUpO2lmKHZvaWQgMCE9PWYuZWRnZXNMaW1pdCYmaSsxPmYuZWRnZXNMaW1pdClyZXR1cm4gdm9pZCBzKCJbLi4uXSIsZSxuLHUpO2lmKG8ucHVzaChlKSxBcnJheS5pc0FycmF5KGUpKWZvcihoPTA7aDxlLmxlbmd0aDtoKyspdChlW2hdLGgsaCxvLGUsYyxmKTtlbHNle3ZhciBsPXt9LGQ9T2JqZWN0LmtleXMoZSkuc29ydChhKTtmb3IoaD0wO2g8ZC5sZW5ndGg7aCsrKXt2YXIgcD1kW2hdO3QoZVtwXSxwLGgsbyxlLGMsZiksbFtwXT1lW3BdfWlmKHZvaWQgMD09PXUpcmV0dXJuIGw7ci5wdXNoKFt1LG4sZV0pLHVbbl09bH1vLnBvcCgpfX0odCwiIiwwLFtdLHZvaWQgMCwwLHUpfHx0O3RyeXtmPTA9PT1uLmxlbmd0aD9KU09OLnN0cmluZ2lmeShoLGUsbyk6SlNPTi5zdHJpbmdpZnkoaCxjKGUpLG8pfWNhdGNoKHQpe3JldHVybiBKU09OLnN0cmluZ2lmeSgiW3VuYWJsZSB0byBzZXJpYWxpemUsIGNpcmN1bGFyIHJlZmVyZW5jZSBpcyB0b28gY29tcGxleCB0byBhbmFseXplXSIpfWZpbmFsbHl7Zm9yKDswIT09ci5sZW5ndGg7KXt2YXIgbD1yLnBvcCgpOzQ9PT1sLmxlbmd0aD9PYmplY3QuZGVmaW5lUHJvcGVydHkobFswXSxsWzFdLGxbM10pOmxbMF1bbFsxXV09bFsyXX19cmV0dXJuIGZ9ZnVuY3Rpb24gYyh0KXtyZXR1cm4gdD12b2lkIDAhPT10P3Q6ZnVuY3Rpb24odCxlKXtyZXR1cm4gZX0sZnVuY3Rpb24oZSxyKXtpZihuLmxlbmd0aD4wKWZvcih2YXIgaT0wO2k8bi5sZW5ndGg7aSsrKXt2YXIgbz1uW2ldO2lmKG9bMV09PT1lJiZvWzBdPT09cil7cj1vWzJdLG4uc3BsaWNlKGksMSk7YnJlYWt9fXJldHVybiB0LmNhbGwodGhpcyxlLHIpfX19LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGUuZXRoRXJyb3JzPXZvaWQgMDtjb25zdCBuPXIoNzApLGk9cigxNTUpLG89cig3MSk7ZnVuY3Rpb24gcyh0LGUpe2NvbnN0W3Isb109dShlKTtyZXR1cm4gbmV3IG4uRXRoZXJldW1ScGNFcnJvcih0LHJ8fGkuZ2V0TWVzc2FnZUZyb21Db2RlKHQpLG8pfWZ1bmN0aW9uIGEodCxlKXtjb25zdFtyLG9dPXUoZSk7cmV0dXJuIG5ldyBuLkV0aGVyZXVtUHJvdmlkZXJFcnJvcih0LHJ8fGkuZ2V0TWVzc2FnZUZyb21Db2RlKHQpLG8pfWZ1bmN0aW9uIHUodCl7aWYodCl7aWYoInN0cmluZyI9PXR5cGVvZiB0KXJldHVyblt0XTtpZigib2JqZWN0Ij09dHlwZW9mIHQmJiFBcnJheS5pc0FycmF5KHQpKXtjb25zdHttZXNzYWdlOmUsZGF0YTpyfT10O2lmKGUmJiJzdHJpbmciIT10eXBlb2YgZSl0aHJvdyBuZXcgRXJyb3IoIk11c3Qgc3BlY2lmeSBzdHJpbmcgbWVzc2FnZS4iKTtyZXR1cm5bZXx8dm9pZCAwLHJdfX1yZXR1cm5bXX1lLmV0aEVycm9ycz17cnBjOntwYXJzZTp0PT5zKG8uZXJyb3JDb2Rlcy5ycGMucGFyc2UsdCksaW52YWxpZFJlcXVlc3Q6dD0+cyhvLmVycm9yQ29kZXMucnBjLmludmFsaWRSZXF1ZXN0LHQpLGludmFsaWRQYXJhbXM6dD0+cyhvLmVycm9yQ29kZXMucnBjLmludmFsaWRQYXJhbXMsdCksbWV0aG9kTm90Rm91bmQ6dD0+cyhvLmVycm9yQ29kZXMucnBjLm1ldGhvZE5vdEZvdW5kLHQpLGludGVybmFsOnQ9PnMoby5lcnJvckNvZGVzLnJwYy5pbnRlcm5hbCx0KSxzZXJ2ZXI6dD0+e2lmKCF0fHwib2JqZWN0IiE9dHlwZW9mIHR8fEFycmF5LmlzQXJyYXkodCkpdGhyb3cgbmV3IEVycm9yKCJFdGhlcmV1bSBSUEMgU2VydmVyIGVycm9ycyBtdXN0IHByb3ZpZGUgc2luZ2xlIG9iamVjdCBhcmd1bWVudC4iKTtjb25zdHtjb2RlOmV9PXQ7aWYoIU51bWJlci5pc0ludGVnZXIoZSl8fGU+LTMyMDA1fHxlPC0zMjA5OSl0aHJvdyBuZXcgRXJyb3IoJyJjb2RlIiBtdXN0IGJlIGFuIGludGVnZXIgc3VjaCB0aGF0OiAtMzIwOTkgPD0gY29kZSA8PSAtMzIwMDUnKTtyZXR1cm4gcyhlLHQpfSxpbnZhbGlkSW5wdXQ6dD0+cyhvLmVycm9yQ29kZXMucnBjLmludmFsaWRJbnB1dCx0KSxyZXNvdXJjZU5vdEZvdW5kOnQ9PnMoby5lcnJvckNvZGVzLnJwYy5yZXNvdXJjZU5vdEZvdW5kLHQpLHJlc291cmNlVW5hdmFpbGFibGU6dD0+cyhvLmVycm9yQ29kZXMucnBjLnJlc291cmNlVW5hdmFpbGFibGUsdCksdHJhbnNhY3Rpb25SZWplY3RlZDp0PT5zKG8uZXJyb3JDb2Rlcy5ycGMudHJhbnNhY3Rpb25SZWplY3RlZCx0KSxtZXRob2ROb3RTdXBwb3J0ZWQ6dD0+cyhvLmVycm9yQ29kZXMucnBjLm1ldGhvZE5vdFN1cHBvcnRlZCx0KSxsaW1pdEV4Y2VlZGVkOnQ9PnMoby5lcnJvckNvZGVzLnJwYy5saW1pdEV4Y2VlZGVkLHQpfSxwcm92aWRlcjp7dXNlclJlamVjdGVkUmVxdWVzdDp0PT5hKG8uZXJyb3JDb2Rlcy5wcm92aWRlci51c2VyUmVqZWN0ZWRSZXF1ZXN0LHQpLHVuYXV0aG9yaXplZDp0PT5hKG8uZXJyb3JDb2Rlcy5wcm92aWRlci51bmF1dGhvcml6ZWQsdCksdW5zdXBwb3J0ZWRNZXRob2Q6dD0+YShvLmVycm9yQ29kZXMucHJvdmlkZXIudW5zdXBwb3J0ZWRNZXRob2QsdCksZGlzY29ubmVjdGVkOnQ9PmEoby5lcnJvckNvZGVzLnByb3ZpZGVyLmRpc2Nvbm5lY3RlZCx0KSxjaGFpbkRpc2Nvbm5lY3RlZDp0PT5hKG8uZXJyb3JDb2Rlcy5wcm92aWRlci5jaGFpbkRpc2Nvbm5lY3RlZCx0KSxjdXN0b206dD0+e2lmKCF0fHwib2JqZWN0IiE9dHlwZW9mIHR8fEFycmF5LmlzQXJyYXkodCkpdGhyb3cgbmV3IEVycm9yKCJFdGhlcmV1bSBQcm92aWRlciBjdXN0b20gZXJyb3JzIG11c3QgcHJvdmlkZSBzaW5nbGUgb2JqZWN0IGFyZ3VtZW50LiIpO2NvbnN0e2NvZGU6ZSxtZXNzYWdlOnIsZGF0YTppfT10O2lmKCFyfHwic3RyaW5nIiE9dHlwZW9mIHIpdGhyb3cgbmV3IEVycm9yKCcibWVzc2FnZSIgbXVzdCBiZSBhIG5vbmVtcHR5IHN0cmluZycpO3JldHVybiBuZXcgbi5FdGhlcmV1bVByb3ZpZGVyRXJyb3IoZSxyLGkpfX19fSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxlLm1lcmdlTWlkZGxld2FyZT12b2lkIDA7Y29uc3Qgbj1yKDE1NCk7ZS5tZXJnZU1pZGRsZXdhcmU9ZnVuY3Rpb24odCl7Y29uc3QgZT1uZXcgbi5Kc29uUnBjRW5naW5lO3JldHVybiB0LmZvckVhY2godD0+ZS5wdXNoKHQpKSxlLmFzTWlkZGxld2FyZSgpfX0sZnVuY3Rpb24odCxlKXt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuKGUscixuLGkpPT57Y29uc3Qgbz10W2UubWV0aG9kXTtyZXR1cm4gdm9pZCAwPT09bz9uKCk6ImZ1bmN0aW9uIj09dHlwZW9mIG8/byhlLHIsbixpKTooci5yZXN1bHQ9byxpKCkpfX19LGZ1bmN0aW9uKHQsZSxyKXtjb25zdCBuPXIoMTM4KSxpPXIoMzQ5KSxvPXIoMzUwKSx7Ym5Ub0hleDpzLGhleFRvSW50OmEsaW5jcmVtZW50SGV4SW50OnUsbWluQmxvY2tSZWY6YyxibG9ja1JlZklzTnVtYmVyOmZ9PXIoMzkpO3QuZXhwb3J0cz1jbGFzcyBleHRlbmRzIG97Y29uc3RydWN0b3Ioe3Byb3ZpZGVyOnQscGFyYW1zOmV9KXtzdXBlcigpLHRoaXMudHlwZT0ibG9nIix0aGlzLmV0aFF1ZXJ5PW5ldyBuKHQpLHRoaXMucGFyYW1zPU9iamVjdC5hc3NpZ24oe2Zyb21CbG9jazoibGF0ZXN0Iix0b0Jsb2NrOiJsYXRlc3QiLGFkZHJlc3M6dm9pZCAwLHRvcGljczpbXX0sZSksdGhpcy5wYXJhbXMuYWRkcmVzcyYmKEFycmF5LmlzQXJyYXkodGhpcy5wYXJhbXMuYWRkcmVzcyl8fCh0aGlzLnBhcmFtcy5hZGRyZXNzPVt0aGlzLnBhcmFtcy5hZGRyZXNzXSksdGhpcy5wYXJhbXMuYWRkcmVzcz10aGlzLnBhcmFtcy5hZGRyZXNzLm1hcCh0PT50LnRvTG93ZXJDYXNlKCkpKX1hc3luYyBpbml0aWFsaXplKHtjdXJyZW50QmxvY2s6dH0pe2xldCBlPXRoaXMucGFyYW1zLmZyb21CbG9jaztbImxhdGVzdCIsInBlbmRpbmciXS5pbmNsdWRlcyhlKSYmKGU9dCksImVhcmxpZXN0Ij09PWUmJihlPSIweDAiKSx0aGlzLnBhcmFtcy5mcm9tQmxvY2s9ZTtjb25zdCByPWModGhpcy5wYXJhbXMudG9CbG9jayx0KSxuPU9iamVjdC5hc3NpZ24oe30sdGhpcy5wYXJhbXMse3RvQmxvY2s6cn0pLGk9YXdhaXQgdGhpcy5fZmV0Y2hMb2dzKG4pO3RoaXMuYWRkSW5pdGlhbFJlc3VsdHMoaSl9YXN5bmMgdXBkYXRlKHtvbGRCbG9jazp0LG5ld0Jsb2NrOmV9KXtjb25zdCByPWU7bGV0IG47bj10P3UodCk6ZTtjb25zdCBpPU9iamVjdC5hc3NpZ24oe30sdGhpcy5wYXJhbXMse2Zyb21CbG9jazpuLHRvQmxvY2s6cn0pLG89KGF3YWl0IHRoaXMuX2ZldGNoTG9ncyhpKSkuZmlsdGVyKHQ9PnRoaXMubWF0Y2hMb2codCkpO3RoaXMuYWRkUmVzdWx0cyhvKX1hc3luYyBfZmV0Y2hMb2dzKHQpe3JldHVybiBhd2FpdCBpKGU9PnRoaXMuZXRoUXVlcnkuZ2V0TG9ncyh0LGUpKSgpfW1hdGNoTG9nKHQpe2lmKGEodGhpcy5wYXJhbXMuZnJvbUJsb2NrKT49YSh0LmJsb2NrTnVtYmVyKSlyZXR1cm4hMTtpZihmKHRoaXMucGFyYW1zLnRvQmxvY2spJiZhKHRoaXMucGFyYW1zLnRvQmxvY2spPD1hKHQuYmxvY2tOdW1iZXIpKXJldHVybiExO2NvbnN0IGU9dC5hZGRyZXNzJiZ0LmFkZHJlc3MudG9Mb3dlckNhc2UoKTtpZih0aGlzLnBhcmFtcy5hZGRyZXNzJiZlJiYhdGhpcy5wYXJhbXMuYWRkcmVzcy5pbmNsdWRlcyhlKSlyZXR1cm4hMTtyZXR1cm4gdGhpcy5wYXJhbXMudG9waWNzLmV2ZXJ5KChlLHIpPT57bGV0IG49dC50b3BpY3Nbcl07aWYoIW4pcmV0dXJuITE7bj1uLnRvTG93ZXJDYXNlKCk7bGV0IGk9QXJyYXkuaXNBcnJheShlKT9lOltlXTtpZihpLmluY2x1ZGVzKG51bGwpKXJldHVybiEwO2k9aS5tYXAodD0+dC50b0xvd2VyQ2FzZSgpKTtyZXR1cm4gaS5pbmNsdWRlcyhuKX0pfX19LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7Y29uc3Qgbj0odCxlLHIsbik9PmZ1bmN0aW9uKC4uLmkpe3JldHVybiBuZXcoMCxlLnByb21pc2VNb2R1bGUpKChvLHMpPT57ZS5tdWx0aUFyZ3M/aS5wdXNoKCguLi50KT0+e2UuZXJyb3JGaXJzdD90WzBdP3ModCk6KHQuc2hpZnQoKSxvKHQpKTpvKHQpfSk6ZS5lcnJvckZpcnN0P2kucHVzaCgodCxlKT0+e3Q/cyh0KTpvKGUpfSk6aS5wdXNoKG8pO2NvbnN0IGE9dGhpcz09PXI/bjp0aGlzO1JlZmxlY3QuYXBwbHkodCxhLGkpfSl9LGk9bmV3IFdlYWtNYXA7dC5leHBvcnRzPSh0LGUpPT57ZT17ZXhjbHVkZTpbLy4rKD86U3luY3xTdHJlYW0pJC9dLGVycm9yRmlyc3Q6ITAscHJvbWlzZU1vZHVsZTpQcm9taXNlLC4uLmV9O2NvbnN0IHI9dHlwZW9mIHQ7aWYobnVsbD09PXR8fCJvYmplY3QiIT09ciYmImZ1bmN0aW9uIiE9PXIpdGhyb3cgbmV3IFR5cGVFcnJvcihgRXhwZWN0ZWQgXGBpbnB1dFxgIHRvIGJlIGEgXGBGdW5jdGlvblxgIG9yIFxgT2JqZWN0XGAsIGdvdCBcYCR7bnVsbD09PXQ/Im51bGwiOnJ9XGBgKTtjb25zdCBvPW5ldyBXZWFrTWFwLHM9bmV3IFByb3h5KHQse2FwcGx5KHQscixpKXtjb25zdCBhPW8uZ2V0KHQpO2lmKGEpcmV0dXJuIFJlZmxlY3QuYXBwbHkoYSxyLGkpO2NvbnN0IHU9ZS5leGNsdWRlTWFpbj90Om4odCxlLHMsdCk7cmV0dXJuIG8uc2V0KHQsdSksUmVmbGVjdC5hcHBseSh1LHIsaSl9LGdldCh0LHIpe2NvbnN0IGE9dFtyXTtpZighKCh0LHIpPT57bGV0IG49aS5nZXQodCk7aWYobnx8KG49e30saS5zZXQodCxuKSksciBpbiBuKXJldHVybiBuW3JdO2NvbnN0IG89dD0+InN0cmluZyI9PXR5cGVvZiB0fHwic3ltYm9sIj09dHlwZW9mIHI/cj09PXQ6dC50ZXN0KHIpLHM9UmVmbGVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodCxyKSxhPXZvaWQgMD09PXN8fHMud3JpdGFibGV8fHMuY29uZmlndXJhYmxlLHU9KGUuaW5jbHVkZT9lLmluY2x1ZGUuc29tZShvKTohZS5leGNsdWRlLnNvbWUobykpJiZhO3JldHVybiBuW3JdPXUsdX0pKHQscil8fGE9PT1GdW5jdGlvbi5wcm90b3R5cGVbcl0pcmV0dXJuIGE7Y29uc3QgdT1vLmdldChhKTtpZih1KXJldHVybiB1O2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBhKXtjb25zdCByPW4oYSxlLHMsdCk7cmV0dXJuIG8uc2V0KGEscikscn1yZXR1cm4gYX19KTtyZXR1cm4gc319LGZ1bmN0aW9uKHQsZSxyKXtjb25zdCBuPXIoNzIpO3QuZXhwb3J0cz1jbGFzcyBleHRlbmRzIG57Y29uc3RydWN0b3IoKXtzdXBlcigpLHRoaXMuYWxsUmVzdWx0cz1bXX1hc3luYyB1cGRhdGUoKXt0aHJvdyBuZXcgRXJyb3IoIkJhc2VGaWx0ZXJXaXRoSGlzdG9yeSAtIG5vIHVwZGF0ZSBtZXRob2Qgc3BlY2lmaWVkIil9YWRkUmVzdWx0cyh0KXt0aGlzLmFsbFJlc3VsdHM9dGhpcy5hbGxSZXN1bHRzLmNvbmNhdCh0KSxzdXBlci5hZGRSZXN1bHRzKHQpfWFkZEluaXRpYWxSZXN1bHRzKHQpe3RoaXMuYWxsUmVzdWx0cz10aGlzLmFsbFJlc3VsdHMuY29uY2F0KHQpLHN1cGVyLmFkZEluaXRpYWxSZXN1bHRzKHQpfWdldEFsbFJlc3VsdHMoKXtyZXR1cm4gdGhpcy5hbGxSZXN1bHRzfX19LGZ1bmN0aW9uKHQsZSxyKXtjb25zdCBuPXIoNzIpLGk9cig3Mykse2luY3JlbWVudEhleEludDpvfT1yKDM5KTt0LmV4cG9ydHM9Y2xhc3MgZXh0ZW5kcyBue2NvbnN0cnVjdG9yKHtwcm92aWRlcjp0LHBhcmFtczplfSl7c3VwZXIoKSx0aGlzLnR5cGU9ImJsb2NrIix0aGlzLnByb3ZpZGVyPXR9YXN5bmMgdXBkYXRlKHtvbGRCbG9jazp0LG5ld0Jsb2NrOmV9KXtjb25zdCByPWUsbj1vKHQpLHM9KGF3YWl0IGkoe3Byb3ZpZGVyOnRoaXMucHJvdmlkZXIsZnJvbUJsb2NrOm4sdG9CbG9jazpyfSkpLm1hcCh0PT50Lmhhc2gpO3RoaXMuYWRkUmVzdWx0cyhzKX19fSxmdW5jdGlvbih0LGUscil7Y29uc3Qgbj1yKDcyKSxpPXIoNzMpLHtpbmNyZW1lbnRIZXhJbnQ6b309cigzOSk7dC5leHBvcnRzPWNsYXNzIGV4dGVuZHMgbntjb25zdHJ1Y3Rvcih7cHJvdmlkZXI6dH0pe3N1cGVyKCksdGhpcy50eXBlPSJ0eCIsdGhpcy5wcm92aWRlcj10fWFzeW5jIHVwZGF0ZSh7b2xkQmxvY2s6dH0pe2NvbnN0IGU9dCxyPW8odCksbj1hd2FpdCBpKHtwcm92aWRlcjp0aGlzLnByb3ZpZGVyLGZyb21CbG9jazpyLHRvQmxvY2s6ZX0pLHM9W107Zm9yKGNvbnN0IHQgb2YgbilzLnB1c2goLi4udC50cmFuc2FjdGlvbnMpO3RoaXMuYWRkUmVzdWx0cyhzKX19fSxmdW5jdGlvbih0LGUscil7Y29uc3Qgbj1yKDM1NCksaT1yKDM1NSksbz1yKDIxKS5pbmhlcml0cyxzPXIoMzYpLGE9cigzNTcpLHU9cig0NCksYz1yKDM2NyksZj1yKDQ5KSxoPXIoMzY4KSxsPS9eWzAtOUEtRmEtZl0rJC9nO2Z1bmN0aW9uIGQodCl7dGhpcy5ub25jZUxvY2s9YygxKSx0LmdldEFjY291bnRzJiYodGhpcy5nZXRBY2NvdW50cz10LmdldEFjY291bnRzKSx0LnByb2Nlc3NUcmFuc2FjdGlvbiYmKHRoaXMucHJvY2Vzc1RyYW5zYWN0aW9uPXQucHJvY2Vzc1RyYW5zYWN0aW9uKSx0LnByb2Nlc3NNZXNzYWdlJiYodGhpcy5wcm9jZXNzTWVzc2FnZT10LnByb2Nlc3NNZXNzYWdlKSx0LnByb2Nlc3NQZXJzb25hbE1lc3NhZ2UmJih0aGlzLnByb2Nlc3NQZXJzb25hbE1lc3NhZ2U9dC5wcm9jZXNzUGVyc29uYWxNZXNzYWdlKSx0LnByb2Nlc3NUeXBlZE1lc3NhZ2UmJih0aGlzLnByb2Nlc3NUeXBlZE1lc3NhZ2U9dC5wcm9jZXNzVHlwZWRNZXNzYWdlKSx0aGlzLmFwcHJvdmVUcmFuc2FjdGlvbj10LmFwcHJvdmVUcmFuc2FjdGlvbnx8dGhpcy5hdXRvQXBwcm92ZSx0aGlzLmFwcHJvdmVNZXNzYWdlPXQuYXBwcm92ZU1lc3NhZ2V8fHRoaXMuYXV0b0FwcHJvdmUsdGhpcy5hcHByb3ZlUGVyc29uYWxNZXNzYWdlPXQuYXBwcm92ZVBlcnNvbmFsTWVzc2FnZXx8dGhpcy5hdXRvQXBwcm92ZSx0aGlzLmFwcHJvdmVEZWNyeXB0TWVzc2FnZT10LmFwcHJvdmVEZWNyeXB0TWVzc2FnZXx8dGhpcy5hdXRvQXBwcm92ZSx0aGlzLmFwcHJvdmVFbmNyeXB0aW9uUHVibGljS2V5PXQuYXBwcm92ZUVuY3J5cHRpb25QdWJsaWNLZXl8fHRoaXMuYXV0b0FwcHJvdmUsdGhpcy5hcHByb3ZlVHlwZWRNZXNzYWdlPXQuYXBwcm92ZVR5cGVkTWVzc2FnZXx8dGhpcy5hdXRvQXBwcm92ZSx0LnNpZ25UcmFuc2FjdGlvbiYmKHRoaXMuc2lnblRyYW5zYWN0aW9uPXQuc2lnblRyYW5zYWN0aW9ufHx5KCJzaWduVHJhbnNhY3Rpb24iKSksdC5zaWduTWVzc2FnZSYmKHRoaXMuc2lnbk1lc3NhZ2U9dC5zaWduTWVzc2FnZXx8eSgic2lnbk1lc3NhZ2UiKSksdC5zaWduUGVyc29uYWxNZXNzYWdlJiYodGhpcy5zaWduUGVyc29uYWxNZXNzYWdlPXQuc2lnblBlcnNvbmFsTWVzc2FnZXx8eSgic2lnblBlcnNvbmFsTWVzc2FnZSIpKSx0LmRlY3J5cHRNZXNzYWdlJiYodGhpcy5kZWNyeXB0TWVzc2FnZT10LmRlY3J5cHRNZXNzYWdlfHx5KCJkZWNyeXB0TWVzc2FnZSIpKSx0LmVuY3J5cHRpb25QdWJsaWNLZXkmJih0aGlzLmVuY3J5cHRpb25QdWJsaWNLZXk9dC5lbmNyeXB0aW9uUHVibGljS2V5fHx5KCJlbmNyeXB0aW9uUHVibGljS2V5IikpLHQuc2lnblR5cGVkTWVzc2FnZSYmKHRoaXMuc2lnblR5cGVkTWVzc2FnZT10LnNpZ25UeXBlZE1lc3NhZ2V8fHkoInNpZ25UeXBlZE1lc3NhZ2UiKSksdC5yZWNvdmVyUGVyc29uYWxTaWduYXR1cmUmJih0aGlzLnJlY292ZXJQZXJzb25hbFNpZ25hdHVyZT10LnJlY292ZXJQZXJzb25hbFNpZ25hdHVyZSksdC5wdWJsaXNoVHJhbnNhY3Rpb24mJih0aGlzLnB1Ymxpc2hUcmFuc2FjdGlvbj10LnB1Ymxpc2hUcmFuc2FjdGlvbiksdGhpcy5lc3RpbWF0ZUdhcz10LmVzdGltYXRlR2FzfHx0aGlzLmVzdGltYXRlR2FzLHRoaXMuZ2V0R2FzUHJpY2U9dC5nZXRHYXNQcmljZXx8dGhpcy5nZXRHYXNQcmljZX1mdW5jdGlvbiBwKHQpe3JldHVybiB0LnRvTG93ZXJDYXNlKCl9ZnVuY3Rpb24gbSh0KXtjb25zdCBlPXMuYWRkSGV4UHJlZml4KHQpO3JldHVybiBzLmlzVmFsaWRBZGRyZXNzKGUpfWZ1bmN0aW9uIGcodCl7Y29uc3QgZT1zLmFkZEhleFByZWZpeCh0KTtyZXR1cm4hcy5pc1ZhbGlkQWRkcmVzcyhlKSYmYih0KX1mdW5jdGlvbiBiKHQpe2lmKCEoInN0cmluZyI9PXR5cGVvZiB0KSlyZXR1cm4hMTtpZighKCIweCI9PT10LnNsaWNlKDAsMikpKXJldHVybiExO3JldHVybiB0LnNsaWNlKDIpLm1hdGNoKGwpfWZ1bmN0aW9uIHkodCl7cmV0dXJuIGZ1bmN0aW9uKGUscil7cihuZXcgRXJyb3IoJ1Byb3ZpZGVyRW5naW5lIC0gSG9va2VkV2FsbGV0U3VicHJvdmlkZXIgLSBNdXN0IHByb3ZpZGUgIicrdCsnIiBmbiBpbiBjb25zdHJ1Y3RvciBvcHRpb25zJykpfX10LmV4cG9ydHM9ZCxvKGQsZiksZC5wcm90b3R5cGUuaGFuZGxlUmVxdWVzdD1mdW5jdGlvbih0LGUscil7Y29uc3QgaT10aGlzO2xldCBvLHMsYSxjLGY7c3dpdGNoKGkuX3Bhcml0eVJlcXVlc3RzPXt9LGkuX3Bhcml0eVJlcXVlc3RDb3VudD0wLHQubWV0aG9kKXtjYXNlImV0aF9jb2luYmFzZSI6cmV0dXJuIHZvaWQgaS5nZXRBY2NvdW50cygoZnVuY3Rpb24odCxlKXtpZih0KXJldHVybiByKHQpO2xldCBuPWVbMF18fG51bGw7cihudWxsLG4pfSkpO2Nhc2UiZXRoX2FjY291bnRzIjpyZXR1cm4gdm9pZCBpLmdldEFjY291bnRzKChmdW5jdGlvbih0LGUpe2lmKHQpcmV0dXJuIHIodCk7cihudWxsLGUpfSkpO2Nhc2UiZXRoX3NlbmRUcmFuc2FjdGlvbiI6cmV0dXJuIG89dC5wYXJhbXNbMF0sdm9pZCBuKFt0PT5pLnZhbGlkYXRlVHJhbnNhY3Rpb24obyx0KSx0PT5pLnByb2Nlc3NUcmFuc2FjdGlvbihvLHQpXSxyKTtjYXNlImV0aF9zaWduVHJhbnNhY3Rpb24iOnJldHVybiBvPXQucGFyYW1zWzBdLHZvaWQgbihbdD0+aS52YWxpZGF0ZVRyYW5zYWN0aW9uKG8sdCksdD0+aS5wcm9jZXNzU2lnblRyYW5zYWN0aW9uKG8sdCldLHIpO2Nhc2UiZXRoX3NpZ24iOnJldHVybiBmPXQucGFyYW1zWzBdLGM9dC5wYXJhbXNbMV0sYT10LnBhcmFtc1syXXx8e30scz11KGEse2Zyb206ZixkYXRhOmN9KSx2b2lkIG4oW3Q9PmkudmFsaWRhdGVNZXNzYWdlKHMsdCksdD0+aS5wcm9jZXNzTWVzc2FnZShzLHQpXSxyKTtjYXNlInBlcnNvbmFsX3NpZ24iOnJldHVybiBmdW5jdGlvbigpe2NvbnN0IGU9dC5wYXJhbXNbMF07aWYoZyh0LnBhcmFtc1sxXSkmJm0oZSkpe2xldCBlPSJUaGUgZXRoX3BlcnNvbmFsU2lnbiBtZXRob2QgcmVxdWlyZXMgcGFyYW1zIG9yZGVyZWQgIjtlKz0iW21lc3NhZ2UsIGFkZHJlc3NdLiBUaGlzIHdhcyBwcmV2aW91c2x5IGhhbmRsZWQgaW5jb3JyZWN0bHksICIsZSs9ImFuZCBoYXMgYmVlbiBjb3JyZWN0ZWQgYXV0b21hdGljYWxseS4gIixlKz0iUGxlYXNlIHN3aXRjaCB0aGlzIHBhcmFtIG9yZGVyIGZvciBzbW9vdGggYmVoYXZpb3IgaW4gdGhlIGZ1dHVyZS4iLGNvbnNvbGUud2FybihlKSxmPXQucGFyYW1zWzBdLGM9dC5wYXJhbXNbMV19ZWxzZSBjPXQucGFyYW1zWzBdLGY9dC5wYXJhbXNbMV07YT10LnBhcmFtc1syXXx8e30scz11KGEse2Zyb206ZixkYXRhOmN9KSxuKFt0PT5pLnZhbGlkYXRlUGVyc29uYWxNZXNzYWdlKHMsdCksdD0+aS5wcm9jZXNzUGVyc29uYWxNZXNzYWdlKHMsdCldLHIpfSgpO2Nhc2UiZXRoX2RlY3J5cHRNZXNzYWdlIjpyZXR1cm4gZnVuY3Rpb24oKXtjb25zdCBlPXQucGFyYW1zWzBdO2lmKGcodC5wYXJhbXNbMV0pJiZtKGUpKXtsZXQgZT0iVGhlIGV0aF9kZWNyeXB0TWVzc2FnZSBtZXRob2QgcmVxdWlyZXMgcGFyYW1zIG9yZGVyZWQgIjtlKz0iW21lc3NhZ2UsIGFkZHJlc3NdLiBUaGlzIHdhcyBwcmV2aW91c2x5IGhhbmRsZWQgaW5jb3JyZWN0bHksICIsZSs9ImFuZCBoYXMgYmVlbiBjb3JyZWN0ZWQgYXV0b21hdGljYWxseS4gIixlKz0iUGxlYXNlIHN3aXRjaCB0aGlzIHBhcmFtIG9yZGVyIGZvciBzbW9vdGggYmVoYXZpb3IgaW4gdGhlIGZ1dHVyZS4iLGNvbnNvbGUud2FybihlKSxmPXQucGFyYW1zWzBdLGM9dC5wYXJhbXNbMV19ZWxzZSBjPXQucGFyYW1zWzBdLGY9dC5wYXJhbXNbMV07YT10LnBhcmFtc1syXXx8e30scz11KGEse2Zyb206ZixkYXRhOmN9KSxuKFt0PT5pLnZhbGlkYXRlRGVjcnlwdE1lc3NhZ2Uocyx0KSx0PT5pLnByb2Nlc3NEZWNyeXB0TWVzc2FnZShzLHQpXSxyKX0oKTtjYXNlImVuY3J5cHRpb25fcHVibGljX2tleSI6cmV0dXJuIGZ1bmN0aW9uKCl7Y29uc3QgZT10LnBhcmFtc1swXTtuKFt0PT5pLnZhbGlkYXRlRW5jcnlwdGlvblB1YmxpY0tleShlLHQpLHQ9PmkucHJvY2Vzc0VuY3J5cHRpb25QdWJsaWNLZXkoZSx0KV0scil9KCk7Y2FzZSJwZXJzb25hbF9lY1JlY292ZXIiOnJldHVybiBmdW5jdGlvbigpe2M9dC5wYXJhbXNbMF07bGV0IGU9dC5wYXJhbXNbMV07YT10LnBhcmFtc1syXXx8e30scz11KGEse3NpZzplLGRhdGE6Y30pLGkucmVjb3ZlclBlcnNvbmFsU2lnbmF0dXJlKHMscil9KCk7Y2FzZSJldGhfc2lnblR5cGVkRGF0YSI6Y2FzZSJldGhfc2lnblR5cGVkRGF0YV92MyI6Y2FzZSJldGhfc2lnblR5cGVkRGF0YV92NCI6cmV0dXJuIGZ1bmN0aW9uKCl7Y29uc3QgZT10LnBhcmFtc1swXSxvPXQucGFyYW1zWzFdO20oZSk/KGY9ZSxjPW8pOihjPWUsZj1vKSxhPXQucGFyYW1zWzJdfHx7fSxzPXUoYSx7ZnJvbTpmLGRhdGE6Y30pLG4oW3Q9PmkudmFsaWRhdGVUeXBlZE1lc3NhZ2Uocyx0KSx0PT5pLnByb2Nlc3NUeXBlZE1lc3NhZ2Uocyx0KV0scil9KCk7Y2FzZSJwYXJpdHlfcG9zdFRyYW5zYWN0aW9uIjpyZXR1cm4gbz10LnBhcmFtc1swXSx2b2lkIGkucGFyaXR5UG9zdFRyYW5zYWN0aW9uKG8scik7Y2FzZSJwYXJpdHlfcG9zdFNpZ24iOnJldHVybiBmPXQucGFyYW1zWzBdLGM9dC5wYXJhbXNbMV0sdm9pZCBpLnBhcml0eVBvc3RTaWduKGYsYyxyKTtjYXNlInBhcml0eV9jaGVja1JlcXVlc3QiOnJldHVybiBmdW5jdGlvbigpe2NvbnN0IGU9dC5wYXJhbXNbMF07aS5wYXJpdHlDaGVja1JlcXVlc3QoZSxyKX0oKTtjYXNlInBhcml0eV9kZWZhdWx0QWNjb3VudCI6cmV0dXJuIHZvaWQgaS5nZXRBY2NvdW50cygoZnVuY3Rpb24odCxlKXtpZih0KXJldHVybiByKHQpO2NvbnN0IG49ZVswXXx8bnVsbDtyKG51bGwsbil9KSk7ZGVmYXVsdDpyZXR1cm4gdm9pZCBlKCl9fSxkLnByb3RvdHlwZS5nZXRBY2NvdW50cz1mdW5jdGlvbih0KXt0KG51bGwsW10pfSxkLnByb3RvdHlwZS5wcm9jZXNzVHJhbnNhY3Rpb249ZnVuY3Rpb24odCxlKXtjb25zdCByPXRoaXM7bihbZT0+ci5hcHByb3ZlVHJhbnNhY3Rpb24odCxlKSwodCxlKT0+ci5jaGVja0FwcHJvdmFsKCJ0cmFuc2FjdGlvbiIsdCxlKSxlPT5yLmZpbmFsaXplQW5kU3VibWl0VHgodCxlKV0sZSl9LGQucHJvdG90eXBlLnByb2Nlc3NTaWduVHJhbnNhY3Rpb249ZnVuY3Rpb24odCxlKXtjb25zdCByPXRoaXM7bihbZT0+ci5hcHByb3ZlVHJhbnNhY3Rpb24odCxlKSwodCxlKT0+ci5jaGVja0FwcHJvdmFsKCJ0cmFuc2FjdGlvbiIsdCxlKSxlPT5yLmZpbmFsaXplVHgodCxlKV0sZSl9LGQucHJvdG90eXBlLnByb2Nlc3NNZXNzYWdlPWZ1bmN0aW9uKHQsZSl7Y29uc3Qgcj10aGlzO24oW2U9PnIuYXBwcm92ZU1lc3NhZ2UodCxlKSwodCxlKT0+ci5jaGVja0FwcHJvdmFsKCJtZXNzYWdlIix0LGUpLGU9PnIuc2lnbk1lc3NhZ2UodCxlKV0sZSl9LGQucHJvdG90eXBlLnByb2Nlc3NQZXJzb25hbE1lc3NhZ2U9ZnVuY3Rpb24odCxlKXtjb25zdCByPXRoaXM7bihbZT0+ci5hcHByb3ZlUGVyc29uYWxNZXNzYWdlKHQsZSksKHQsZSk9PnIuY2hlY2tBcHByb3ZhbCgibWVzc2FnZSIsdCxlKSxlPT5yLnNpZ25QZXJzb25hbE1lc3NhZ2UodCxlKV0sZSl9LGQucHJvdG90eXBlLnByb2Nlc3NEZWNyeXB0TWVzc2FnZT1mdW5jdGlvbih0LGUpe2NvbnN0IHI9dGhpcztuKFtlPT5yLmFwcHJvdmVEZWNyeXB0TWVzc2FnZSh0LGUpLCh0LGUpPT5yLmNoZWNrQXBwcm92YWwoImRlY3J5cHRNZXNzYWdlIix0LGUpLGU9PnIuZGVjcnlwdE1lc3NhZ2UodCxlKV0sZSl9LGQucHJvdG90eXBlLnByb2Nlc3NFbmNyeXB0aW9uUHVibGljS2V5PWZ1bmN0aW9uKHQsZSl7Y29uc3Qgcj10aGlzO24oW2U9PnIuYXBwcm92ZUVuY3J5cHRpb25QdWJsaWNLZXkodCxlKSwodCxlKT0+ci5jaGVja0FwcHJvdmFsKCJlbmNyeXB0aW9uUHVibGljS2V5Iix0LGUpLGU9PnIuZW5jcnlwdGlvblB1YmxpY0tleSh0LGUpXSxlKX0sZC5wcm90b3R5cGUucHJvY2Vzc1R5cGVkTWVzc2FnZT1mdW5jdGlvbih0LGUpe2NvbnN0IHI9dGhpcztuKFtlPT5yLmFwcHJvdmVUeXBlZE1lc3NhZ2UodCxlKSwodCxlKT0+ci5jaGVja0FwcHJvdmFsKCJtZXNzYWdlIix0LGUpLGU9PnIuc2lnblR5cGVkTWVzc2FnZSh0LGUpXSxlKX0sZC5wcm90b3R5cGUuYXV0b0FwcHJvdmU9ZnVuY3Rpb24odCxlKXtlKG51bGwsITApfSxkLnByb3RvdHlwZS5jaGVja0FwcHJvdmFsPWZ1bmN0aW9uKHQsZSxyKXtyKGU/bnVsbDpuZXcgRXJyb3IoIlVzZXIgZGVuaWVkICIrdCsiIHNpZ25hdHVyZS4iKSl9LGQucHJvdG90eXBlLnBhcml0eVBvc3RUcmFuc2FjdGlvbj1mdW5jdGlvbih0LGUpe2NvbnN0IHI9dGhpcyxuPSIweCIrci5fcGFyaXR5UmVxdWVzdENvdW50LnRvU3RyaW5nKDE2KTtyLl9wYXJpdHlSZXF1ZXN0Q291bnQrKyxyLmVtaXRQYXlsb2FkKHttZXRob2Q6ImV0aF9zZW5kVHJhbnNhY3Rpb24iLHBhcmFtczpbdF19LChmdW5jdGlvbih0LGUpe2lmKHQpcmV0dXJuIHZvaWQoci5fcGFyaXR5UmVxdWVzdHNbbl09e2Vycm9yOnR9KTtjb25zdCBpPWUucmVzdWx0O3IuX3Bhcml0eVJlcXVlc3RzW25dPWl9KSksZShudWxsLG4pfSxkLnByb3RvdHlwZS5wYXJpdHlQb3N0U2lnbj1mdW5jdGlvbih0LGUscil7Y29uc3Qgbj10aGlzLGk9IjB4IituLl9wYXJpdHlSZXF1ZXN0Q291bnQudG9TdHJpbmcoMTYpO24uX3Bhcml0eVJlcXVlc3RDb3VudCsrLG4uZW1pdFBheWxvYWQoe21ldGhvZDoiZXRoX3NpZ24iLHBhcmFtczpbdCxlXX0sKGZ1bmN0aW9uKHQsZSl7aWYodClyZXR1cm4gdm9pZChuLl9wYXJpdHlSZXF1ZXN0c1tpXT17ZXJyb3I6dH0pO2NvbnN0IHI9ZS5yZXN1bHQ7bi5fcGFyaXR5UmVxdWVzdHNbaV09cn0pKSxyKG51bGwsaSl9LGQucHJvdG90eXBlLnBhcml0eUNoZWNrUmVxdWVzdD1mdW5jdGlvbih0LGUpe2NvbnN0IHI9dGhpcy5fcGFyaXR5UmVxdWVzdHNbdF18fG51bGw7cmV0dXJuIHI/ci5lcnJvcj9lKHIuZXJyb3IpOnZvaWQgZShudWxsLHIpOmUobnVsbCxudWxsKX0sZC5wcm90b3R5cGUucmVjb3ZlclBlcnNvbmFsU2lnbmF0dXJlPWZ1bmN0aW9uKHQsZSl7bGV0IHI7dHJ5e3I9YS5yZWNvdmVyUGVyc29uYWxTaWduYXR1cmUodCl9Y2F0Y2godCl7cmV0dXJuIGUodCl9ZShudWxsLHIpfSxkLnByb3RvdHlwZS52YWxpZGF0ZVRyYW5zYWN0aW9uPWZ1bmN0aW9uKHQsZSl7aWYodm9pZCAwPT09dC5mcm9tKXJldHVybiBlKG5ldyBFcnJvcigiVW5kZWZpbmVkIGFkZHJlc3MgLSBmcm9tIGFkZHJlc3MgcmVxdWlyZWQgdG8gc2lnbiB0cmFuc2FjdGlvbi4iKSk7dGhpcy52YWxpZGF0ZVNlbmRlcih0LmZyb20sKGZ1bmN0aW9uKHIsbil7cmV0dXJuIHI/ZShyKTpuP3ZvaWQgZSgpOmUobmV3IEVycm9yKGBVbmtub3duIGFkZHJlc3MgLSB1bmFibGUgdG8gc2lnbiB0cmFuc2FjdGlvbiBmb3IgdGhpcyBhZGRyZXNzOiAiJHt0LmZyb219ImApKX0pKX0sZC5wcm90b3R5cGUudmFsaWRhdGVNZXNzYWdlPWZ1bmN0aW9uKHQsZSl7aWYodm9pZCAwPT09dC5mcm9tKXJldHVybiBlKG5ldyBFcnJvcigiVW5kZWZpbmVkIGFkZHJlc3MgLSBmcm9tIGFkZHJlc3MgcmVxdWlyZWQgdG8gc2lnbiBtZXNzYWdlLiIpKTt0aGlzLnZhbGlkYXRlU2VuZGVyKHQuZnJvbSwoZnVuY3Rpb24ocixuKXtyZXR1cm4gcj9lKHIpOm4/dm9pZCBlKCk6ZShuZXcgRXJyb3IoYFVua25vd24gYWRkcmVzcyAtIHVuYWJsZSB0byBzaWduIG1lc3NhZ2UgZm9yIHRoaXMgYWRkcmVzczogIiR7dC5mcm9tfSJgKSl9KSl9LGQucHJvdG90eXBlLnZhbGlkYXRlUGVyc29uYWxNZXNzYWdlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHZvaWQgMD09PXQuZnJvbT9lKG5ldyBFcnJvcigiVW5kZWZpbmVkIGFkZHJlc3MgLSBmcm9tIGFkZHJlc3MgcmVxdWlyZWQgdG8gc2lnbiBwZXJzb25hbCBtZXNzYWdlLiIpKTp2b2lkIDA9PT10LmRhdGE/ZShuZXcgRXJyb3IoIlVuZGVmaW5lZCBtZXNzYWdlIC0gbWVzc2FnZSByZXF1aXJlZCB0byBzaWduIHBlcnNvbmFsIG1lc3NhZ2UuIikpOmIodC5kYXRhKT92b2lkIHRoaXMudmFsaWRhdGVTZW5kZXIodC5mcm9tLChmdW5jdGlvbihyLG4pe3JldHVybiByP2Uocik6bj92b2lkIGUoKTplKG5ldyBFcnJvcihgVW5rbm93biBhZGRyZXNzIC0gdW5hYmxlIHRvIHNpZ24gbWVzc2FnZSBmb3IgdGhpcyBhZGRyZXNzOiAiJHt0LmZyb219ImApKX0pKTplKG5ldyBFcnJvcigiSG9va2VkV2FsbGV0U3VicHJvdmlkZXIgLSB2YWxpZGF0ZU1lc3NhZ2UgLSBtZXNzYWdlIHdhcyBub3QgZW5jb2RlZCBhcyBoZXguIikpfSxkLnByb3RvdHlwZS52YWxpZGF0ZURlY3J5cHRNZXNzYWdlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHZvaWQgMD09PXQuZnJvbT9lKG5ldyBFcnJvcigiVW5kZWZpbmVkIGFkZHJlc3MgLSBmcm9tIGFkZHJlc3MgcmVxdWlyZWQgdG8gZGVjcnlwdCBtZXNzYWdlLiIpKTp2b2lkIDA9PT10LmRhdGE/ZShuZXcgRXJyb3IoIlVuZGVmaW5lZCBtZXNzYWdlIC0gbWVzc2FnZSByZXF1aXJlZCB0byBkZWNyeXB0IG1lc3NhZ2UuIikpOmIodC5kYXRhKT92b2lkIHRoaXMudmFsaWRhdGVTZW5kZXIodC5mcm9tLChmdW5jdGlvbihyLG4pe3JldHVybiByP2Uocik6bj92b2lkIGUoKTplKG5ldyBFcnJvcihgVW5rbm93biBhZGRyZXNzIC0gdW5hYmxlIHRvIGRlY3J5cHQgbWVzc2FnZSBmb3IgdGhpcyBhZGRyZXNzOiAiJHt0LmZyb219ImApKX0pKTplKG5ldyBFcnJvcigiSG9va2VkV2FsbGV0U3VicHJvdmlkZXIgLSB2YWxpZGF0ZURlY3J5cHRNZXNzYWdlIC0gbWVzc2FnZSB3YXMgbm90IGVuY29kZWQgYXMgaGV4LiIpKX0sZC5wcm90b3R5cGUudmFsaWRhdGVFbmNyeXB0aW9uUHVibGljS2V5PWZ1bmN0aW9uKHQsZSl7dGhpcy52YWxpZGF0ZVNlbmRlcih0LChmdW5jdGlvbihyLG4pe3JldHVybiByP2Uocik6bj92b2lkIGUoKTplKG5ldyBFcnJvcihgVW5rbm93biBhZGRyZXNzIC0gdW5hYmxlIHRvIG9idGFpbiBlbmNyeXB0aW9uIHB1YmxpYyBrZXkgZm9yIHRoaXMgYWRkcmVzczogIiR7dH0iYCkpfSkpfSxkLnByb3RvdHlwZS52YWxpZGF0ZVR5cGVkTWVzc2FnZT1mdW5jdGlvbih0LGUpe3JldHVybiB2b2lkIDA9PT10LmZyb20/ZShuZXcgRXJyb3IoIlVuZGVmaW5lZCBhZGRyZXNzIC0gZnJvbSBhZGRyZXNzIHJlcXVpcmVkIHRvIHNpZ24gdHlwZWQgZGF0YS4iKSk6dm9pZCAwPT09dC5kYXRhP2UobmV3IEVycm9yKCJVbmRlZmluZWQgZGF0YSAtIG1lc3NhZ2UgcmVxdWlyZWQgdG8gc2lnbiB0eXBlZCBkYXRhLiIpKTp2b2lkIHRoaXMudmFsaWRhdGVTZW5kZXIodC5mcm9tLChmdW5jdGlvbihyLG4pe3JldHVybiByP2Uocik6bj92b2lkIGUoKTplKG5ldyBFcnJvcihgVW5rbm93biBhZGRyZXNzIC0gdW5hYmxlIHRvIHNpZ24gbWVzc2FnZSBmb3IgdGhpcyBhZGRyZXNzOiAiJHt0LmZyb219ImApKX0pKX0sZC5wcm90b3R5cGUudmFsaWRhdGVTZW5kZXI9ZnVuY3Rpb24odCxlKXtpZighdClyZXR1cm4gZShudWxsLCExKTt0aGlzLmdldEFjY291bnRzKChmdW5jdGlvbihyLG4pe2lmKHIpcmV0dXJuIGUocik7Y29uc3QgaT0tMSE9PW4ubWFwKHApLmluZGV4T2YodC50b0xvd2VyQ2FzZSgpKTtlKG51bGwsaSl9KSl9LGQucHJvdG90eXBlLmZpbmFsaXplQW5kU3VibWl0VHg9ZnVuY3Rpb24odCxlKXtjb25zdCByPXRoaXM7ci5ub25jZUxvY2sudGFrZSgoZnVuY3Rpb24oKXtuKFtyLmZpbGxJblR4RXh0cmFzLmJpbmQocix0KSxyLnNpZ25UcmFuc2FjdGlvbi5iaW5kKHIpLHIucHVibGlzaFRyYW5zYWN0aW9uLmJpbmQocildLChmdW5jdGlvbih0LG4pe2lmKHIubm9uY2VMb2NrLmxlYXZlKCksdClyZXR1cm4gZSh0KTtlKG51bGwsbil9KSl9KSl9LGQucHJvdG90eXBlLmZpbmFsaXplVHg9ZnVuY3Rpb24odCxlKXtjb25zdCByPXRoaXM7ci5ub25jZUxvY2sudGFrZSgoZnVuY3Rpb24oKXtuKFtyLmZpbGxJblR4RXh0cmFzLmJpbmQocix0KSxyLnNpZ25UcmFuc2FjdGlvbi5iaW5kKHIpXSwoZnVuY3Rpb24obixpKXtpZihyLm5vbmNlTG9jay5sZWF2ZSgpLG4pcmV0dXJuIGUobik7ZShudWxsLHtyYXc6aSx0eDp0fSl9KSl9KSl9LGQucHJvdG90eXBlLnB1Ymxpc2hUcmFuc2FjdGlvbj1mdW5jdGlvbih0LGUpe3RoaXMuZW1pdFBheWxvYWQoe21ldGhvZDoiZXRoX3NlbmRSYXdUcmFuc2FjdGlvbiIscGFyYW1zOlt0XX0sKGZ1bmN0aW9uKHQscil7aWYodClyZXR1cm4gZSh0KTtlKG51bGwsci5yZXN1bHQpfSkpfSxkLnByb3RvdHlwZS5lc3RpbWF0ZUdhcz1mdW5jdGlvbih0LGUpe2godGhpcy5lbmdpbmUsdCxlKX0sZC5wcm90b3R5cGUuZ2V0R2FzUHJpY2U9ZnVuY3Rpb24odCl7dGhpcy5lbWl0UGF5bG9hZCh7bWV0aG9kOiJldGhfZ2FzUHJpY2UiLHBhcmFtczpbXX0sKGZ1bmN0aW9uKGUscil7aWYoZSlyZXR1cm4gdChlKTt0KG51bGwsci5yZXN1bHQpfSkpfSxkLnByb3RvdHlwZS5maWxsSW5UeEV4dHJhcz1mdW5jdGlvbih0LGUpe2NvbnN0IHI9dGhpcyxuPXQuZnJvbSxvPXt9O3ZvaWQgMD09PXQuZ2FzUHJpY2UmJihvLmdhc1ByaWNlPXIuZ2V0R2FzUHJpY2UuYmluZChyKSksdm9pZCAwPT09dC5ub25jZSYmKG8ubm9uY2U9ci5lbWl0UGF5bG9hZC5iaW5kKHIse21ldGhvZDoiZXRoX2dldFRyYW5zYWN0aW9uQ291bnQiLHBhcmFtczpbbiwicGVuZGluZyJdfSkpLHZvaWQgMD09PXQuZ2FzJiYoby5nYXM9ci5lc3RpbWF0ZUdhcy5iaW5kKHIsZnVuY3Rpb24odCl7cmV0dXJue2Zyb206dC5mcm9tLHRvOnQudG8sdmFsdWU6dC52YWx1ZSxkYXRhOnQuZGF0YSxnYXM6dC5nYXMsZ2FzUHJpY2U6dC5nYXNQcmljZSxub25jZTp0Lm5vbmNlfX0odCkpKSxpKG8sKGZ1bmN0aW9uKHIsbil7aWYocilyZXR1cm4gZShyKTtjb25zdCBpPXt9O24uZ2FzUHJpY2UmJihpLmdhc1ByaWNlPW4uZ2FzUHJpY2UpLG4ubm9uY2UmJihpLm5vbmNlPW4ubm9uY2UucmVzdWx0KSxuLmdhcyYmKGkuZ2FzPW4uZ2FzKSxlKG51bGwsdSh0LGkpKX0pKX19LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGUuZGVmYXVsdD1mdW5jdGlvbih0LGUpe2lmKGU9KDAsby5kZWZhdWx0KShlfHxpLmRlZmF1bHQpLCEoMCxuLmRlZmF1bHQpKHQpKXJldHVybiBlKG5ldyBFcnJvcigiRmlyc3QgYXJndW1lbnQgdG8gd2F0ZXJmYWxsIG11c3QgYmUgYW4gYXJyYXkgb2YgZnVuY3Rpb25zIikpO2lmKCF0Lmxlbmd0aClyZXR1cm4gZSgpO3ZhciByPTA7ZnVuY3Rpb24gYyhlKXt2YXIgbj0oMCx1LmRlZmF1bHQpKHRbcisrXSk7ZS5wdXNoKCgwLGEuZGVmYXVsdCkoZikpLG4uYXBwbHkobnVsbCxlKX1mdW5jdGlvbiBmKG4pe2lmKG58fHI9PT10Lmxlbmd0aClyZXR1cm4gZS5hcHBseShudWxsLGFyZ3VtZW50cyk7YygoMCxzLmRlZmF1bHQpKGFyZ3VtZW50cywxKSl9YyhbXSl9O3ZhciBuPWMocigxNDcpKSxpPWMocigzOCkpLG89YyhyKDY0KSkscz1jKHIoNDgpKSxhPWMocig2NikpLHU9YyhyKDIzKSk7ZnVuY3Rpb24gYyh0KXtyZXR1cm4gdCYmdC5fX2VzTW9kdWxlP3Q6e2RlZmF1bHQ6dH19dC5leHBvcnRzPWUuZGVmYXVsdH0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksZS5kZWZhdWx0PWZ1bmN0aW9uKHQsZSl7KDAsaS5kZWZhdWx0KShuLmRlZmF1bHQsdCxlKX07dmFyIG49byhyKDEzOSkpLGk9byhyKDM1NikpO2Z1bmN0aW9uIG8odCl7cmV0dXJuIHQmJnQuX19lc01vZHVsZT90OntkZWZhdWx0OnR9fXQuZXhwb3J0cz1lLmRlZmF1bHR9LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGUuZGVmYXVsdD1mdW5jdGlvbih0LGUscil7cj1yfHxuLmRlZmF1bHQ7dmFyIGE9KDAsaS5kZWZhdWx0KShlKT9bXTp7fTt0KGUsKGZ1bmN0aW9uKHQsZSxyKXsoMCxzLmRlZmF1bHQpKHQpKChmdW5jdGlvbih0LG4pe2FyZ3VtZW50cy5sZW5ndGg+MiYmKG49KDAsby5kZWZhdWx0KShhcmd1bWVudHMsMSkpLGFbZV09bixyKHQpfSkpfSksKGZ1bmN0aW9uKHQpe3IodCxhKX0pKX07dmFyIG49YShyKDM4KSksaT1hKHIoNDcpKSxvPWEocig0OCkpLHM9YShyKDIzKSk7ZnVuY3Rpb24gYSh0KXtyZXR1cm4gdCYmdC5fX2VzTW9kdWxlP3Q6e2RlZmF1bHQ6dH19dC5leHBvcnRzPWUuZGVmYXVsdH0sZnVuY3Rpb24odCxlLHIpe2NvbnN0IG49cigzNiksaT1yKDM1OCk7ZnVuY3Rpb24gbyh0KXtjb25zdCBlPW5ldyBFcnJvcigiRXhwZWN0IGFyZ3VtZW50IHRvIGJlIG5vbi1lbXB0eSBhcnJheSIpO2lmKCJvYmplY3QiIT10eXBlb2YgdHx8IXQubGVuZ3RoKXRocm93IGU7Y29uc3Qgcj10Lm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuImJ5dGVzIj09PXQudHlwZT9uLnRvQnVmZmVyKHQudmFsdWUpOnQudmFsdWV9KSksbz10Lm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIHQudHlwZX0pKSxzPXQubWFwKChmdW5jdGlvbih0KXtpZighdC5uYW1lKXRocm93IGU7cmV0dXJuIHQudHlwZSsiICIrdC5uYW1lfSkpO3JldHVybiBpLnNvbGlkaXR5U0hBMyhbImJ5dGVzMzIiLCJieXRlczMyIl0sW2kuc29saWRpdHlTSEEzKG5ldyBBcnJheSh0Lmxlbmd0aCkuZmlsbCgic3RyaW5nIikscyksaS5zb2xpZGl0eVNIQTMobyxyKV0pfWZ1bmN0aW9uIHModCxlKXtjb25zdCByPW4udG9CdWZmZXIoZSksaT1uLmZyb21ScGNTaWcocik7cmV0dXJuIG4uZWNyZWNvdmVyKHQsaS52LGkucixpLnMpfWZ1bmN0aW9uIGEodCl7Y29uc3QgZT1uLnRvQnVmZmVyKHQuZGF0YSk7cmV0dXJuIHMobi5oYXNoUGVyc29uYWxNZXNzYWdlKGUpLHQuc2lnKX1mdW5jdGlvbiB1KHQsZSl7Zm9yKHZhciByPSIiK3Q7ci5sZW5ndGg8ZTspcj0iMCIrcjtyZXR1cm4gcn10LmV4cG9ydHM9e2NvbmNhdFNpZzpmdW5jdGlvbih0LGUscil7Y29uc3QgaT1uLmZyb21TaWduZWQoZSksbz1uLmZyb21TaWduZWQocikscz1uLmJ1ZmZlclRvSW50KHQpLGE9dShuLnRvVW5zaWduZWQoaSkudG9TdHJpbmcoImhleCIpLDY0KSxjPXUobi50b1Vuc2lnbmVkKG8pLnRvU3RyaW5nKCJoZXgiKSw2NCksZj1uLnN0cmlwSGV4UHJlZml4KG4uaW50VG9IZXgocykpO3JldHVybiBuLmFkZEhleFByZWZpeChhLmNvbmNhdChjLGYpKS50b1N0cmluZygiaGV4Iil9LG5vcm1hbGl6ZTpmdW5jdGlvbih0KXtpZih0KXtpZigibnVtYmVyIj09dHlwZW9mIHQpe2NvbnN0IGU9bi50b0J1ZmZlcih0KTt0PW4uYnVmZmVyVG9IZXgoZSl9aWYoInN0cmluZyIhPXR5cGVvZiB0KXt2YXIgZT0iZXRoLXNpZy11dGlsLm5vcm1hbGl6ZSgpIHJlcXVpcmVzIGhleCBzdHJpbmcgb3IgaW50ZWdlciBpbnB1dC4iO3Rocm93IG5ldyBFcnJvcihlKz0iIHJlY2VpdmVkICIrdHlwZW9mIHQrIjogIit0KX1yZXR1cm4gbi5hZGRIZXhQcmVmaXgodC50b0xvd2VyQ2FzZSgpKX19LHBlcnNvbmFsU2lnbjpmdW5jdGlvbih0LGUpe3ZhciByPW4udG9CdWZmZXIoZS5kYXRhKSxpPW4uaGFzaFBlcnNvbmFsTWVzc2FnZShyKSxvPW4uZWNzaWduKGksdCk7cmV0dXJuIG4uYnVmZmVyVG9IZXgodGhpcy5jb25jYXRTaWcoby52LG8ucixvLnMpKX0scmVjb3ZlclBlcnNvbmFsU2lnbmF0dXJlOmZ1bmN0aW9uKHQpe2NvbnN0IGU9YSh0KSxyPW4ucHVibGljVG9BZGRyZXNzKGUpO3JldHVybiBuLmJ1ZmZlclRvSGV4KHIpfSxleHRyYWN0UHVibGljS2V5OmZ1bmN0aW9uKHQpe3JldHVybiIweCIrYSh0KS50b1N0cmluZygiaGV4Iil9LHR5cGVkU2lnbmF0dXJlSGFzaDpmdW5jdGlvbih0KXtjb25zdCBlPW8odCk7cmV0dXJuIG4uYnVmZmVyVG9IZXgoZSl9LHNpZ25UeXBlZERhdGE6ZnVuY3Rpb24odCxlKXtjb25zdCByPW8oZS5kYXRhKSxpPW4uZWNzaWduKHIsdCk7cmV0dXJuIG4uYnVmZmVyVG9IZXgodGhpcy5jb25jYXRTaWcoaS52LGkucixpLnMpKX0scmVjb3ZlclR5cGVkU2lnbmF0dXJlOmZ1bmN0aW9uKHQpe2NvbnN0IGU9cyhvKHQuZGF0YSksdC5zaWcpLHI9bi5wdWJsaWNUb0FkZHJlc3MoZSk7cmV0dXJuIG4uYnVmZmVyVG9IZXgocil9fX0sZnVuY3Rpb24odCxlLHIpe3QuZXhwb3J0cz1yKDM1OSl9LGZ1bmN0aW9uKHQsZSxyKXsoZnVuY3Rpb24oZSl7Y29uc3Qgbj1yKDM2MCksaT1yKDkpO3ZhciBvPWZ1bmN0aW9uKCl7fTtmdW5jdGlvbiBzKHQpe3JldHVybiB0LnN0YXJ0c1dpdGgoImludFsiKT8iaW50MjU2Iit0LnNsaWNlKDMpOiJpbnQiPT09dD8iaW50MjU2Ijp0LnN0YXJ0c1dpdGgoInVpbnRbIik/InVpbnQyNTYiK3Quc2xpY2UoNCk6InVpbnQiPT09dD8idWludDI1NiI6dC5zdGFydHNXaXRoKCJmaXhlZFsiKT8iZml4ZWQxMjh4MTI4Iit0LnNsaWNlKDUpOiJmaXhlZCI9PT10PyJmaXhlZDEyOHgxMjgiOnQuc3RhcnRzV2l0aCgidWZpeGVkWyIpPyJ1Zml4ZWQxMjh4MTI4Iit0LnNsaWNlKDYpOiJ1Zml4ZWQiPT09dD8idWZpeGVkMTI4eDEyOCI6dH1mdW5jdGlvbiBhKHQpe3JldHVybiBwYXJzZUludCgvXlxEKyhcZCspJC8uZXhlYyh0KVsxXSwxMCl9ZnVuY3Rpb24gdSh0KXt2YXIgZT0vXlxEKyhcZCspeChcZCspJC8uZXhlYyh0KTtyZXR1cm5bcGFyc2VJbnQoZVsxXSwxMCkscGFyc2VJbnQoZVsyXSwxMCldfWZ1bmN0aW9uIGModCl7dmFyIGU9dC5tYXRjaCgvKC4qKVxbKC4qPylcXSQvKTtyZXR1cm4gZT8iIj09PWVbMl0/ImR5bmFtaWMiOnBhcnNlSW50KGVbMl0sMTApOm51bGx9ZnVuY3Rpb24gZih0KXt2YXIgZT10eXBlb2YgdDtpZigic3RyaW5nIj09PWUpcmV0dXJuIG4uaXNIZXhQcmVmaXhlZCh0KT9uZXcgaShuLnN0cmlwSGV4UHJlZml4KHQpLDE2KTpuZXcgaSh0LDEwKTtpZigibnVtYmVyIj09PWUpcmV0dXJuIG5ldyBpKHQpO2lmKHQudG9BcnJheSlyZXR1cm4gdDt0aHJvdyBuZXcgRXJyb3IoIkFyZ3VtZW50IGlzIG5vdCBhIG51bWJlciIpfWZ1bmN0aW9uIGgodCl7dmFyIGU9L14oXHcrKVwoKC4qKVwpJC8uZXhlYyh0KTtpZigzIT09ZS5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIG1ldGhvZCBzaWduYXR1cmUiKTt2YXIgcj0vXiguKylcKTpcKCguKykkLy5leGVjKGVbMl0pO2lmKG51bGwhPT1yJiYzPT09ci5sZW5ndGgpcmV0dXJue21ldGhvZDplWzFdLGFyZ3M6clsxXS5zcGxpdCgiLCIpLHJldGFyZ3M6clsyXS5zcGxpdCgiLCIpfTt2YXIgbj1lWzJdLnNwbGl0KCIsIik7cmV0dXJuIDE9PT1uLmxlbmd0aCYmIiI9PT1uWzBdJiYobj1bXSkse21ldGhvZDplWzFdLGFyZ3M6bn19ZnVuY3Rpb24gbCh0LHIpe3ZhciBvLHMsaCxkO2lmKCJhZGRyZXNzIj09PXQpcmV0dXJuIGwoInVpbnQxNjAiLGYocikpO2lmKCJib29sIj09PXQpcmV0dXJuIGwoInVpbnQ4IixyPzE6MCk7aWYoInN0cmluZyI9PT10KXJldHVybiBsKCJieXRlcyIsZS5mcm9tKHIsInV0ZjgiKSk7aWYoZyh0KSl7aWYodm9pZCAwPT09ci5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJOb3QgYW4gYXJyYXk/Iik7aWYoImR5bmFtaWMiIT09KG89Yyh0KSkmJjAhPT1vJiZyLmxlbmd0aD5vKXRocm93IG5ldyBFcnJvcigiRWxlbWVudHMgZXhjZWVkIGFycmF5IHNpemU6ICIrbyk7Zm9yKGQgaW4gaD1bXSx0PXQuc2xpY2UoMCx0Lmxhc3RJbmRleE9mKCJbIikpLCJzdHJpbmciPT10eXBlb2YgciYmKHI9SlNPTi5wYXJzZShyKSksciloLnB1c2gobCh0LHJbZF0pKTtpZigiZHluYW1pYyI9PT1vKXt2YXIgcD1sKCJ1aW50MjU2IixyLmxlbmd0aCk7aC51bnNoaWZ0KHApfXJldHVybiBlLmNvbmNhdChoKX1pZigiYnl0ZXMiPT09dClyZXR1cm4gcj1lLmZyb20ociksaD1lLmNvbmNhdChbbCgidWludDI1NiIsci5sZW5ndGgpLHJdKSxyLmxlbmd0aCUzMiE9MCYmKGg9ZS5jb25jYXQoW2gsbi56ZXJvcygzMi1yLmxlbmd0aCUzMildKSksaDtpZih0LnN0YXJ0c1dpdGgoImJ5dGVzIikpe2lmKChvPWEodCkpPDF8fG8+MzIpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIGJ5dGVzPE4+IHdpZHRoOiAiK28pO3JldHVybiBuLnNldExlbmd0aFJpZ2h0KHIsMzIpfWlmKHQuc3RhcnRzV2l0aCgidWludCIpKXtpZigobz1hKHQpKSU4fHxvPDh8fG8+MjU2KXRocm93IG5ldyBFcnJvcigiSW52YWxpZCB1aW50PE4+IHdpZHRoOiAiK28pO2lmKChzPWYocikpLmJpdExlbmd0aCgpPm8pdGhyb3cgbmV3IEVycm9yKCJTdXBwbGllZCB1aW50IGV4Y2VlZHMgd2lkdGg6ICIrbysiIHZzICIrcy5iaXRMZW5ndGgoKSk7aWYoczwwKXRocm93IG5ldyBFcnJvcigiU3VwcGxpZWQgdWludCBpcyBuZWdhdGl2ZSIpO3JldHVybiBzLnRvQXJyYXlMaWtlKGUsImJlIiwzMil9aWYodC5zdGFydHNXaXRoKCJpbnQiKSl7aWYoKG89YSh0KSklOHx8bzw4fHxvPjI1Nil0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgaW50PE4+IHdpZHRoOiAiK28pO2lmKChzPWYocikpLmJpdExlbmd0aCgpPm8pdGhyb3cgbmV3IEVycm9yKCJTdXBwbGllZCBpbnQgZXhjZWVkcyB3aWR0aDogIitvKyIgdnMgIitzLmJpdExlbmd0aCgpKTtyZXR1cm4gcy50b1R3b3MoMjU2KS50b0FycmF5TGlrZShlLCJiZSIsMzIpfWlmKHQuc3RhcnRzV2l0aCgidWZpeGVkIikpe2lmKG89dSh0KSwocz1mKHIpKTwwKXRocm93IG5ldyBFcnJvcigiU3VwcGxpZWQgdWZpeGVkIGlzIG5lZ2F0aXZlIik7cmV0dXJuIGwoInVpbnQyNTYiLHMubXVsKG5ldyBpKDIpLnBvdyhuZXcgaShvWzFdKSkpKX1pZih0LnN0YXJ0c1dpdGgoImZpeGVkIikpcmV0dXJuIG89dSh0KSxsKCJpbnQyNTYiLGYocikubXVsKG5ldyBpKDIpLnBvdyhuZXcgaShvWzFdKSkpKTt0aHJvdyBuZXcgRXJyb3IoIlVuc3VwcG9ydGVkIG9yIGludmFsaWQgdHlwZTogIit0KX1mdW5jdGlvbiBkKHQscixuKXt2YXIgbyxzLGEsdTtpZigic3RyaW5nIj09dHlwZW9mIHQmJih0PXAodCkpLCJhZGRyZXNzIj09PXQubmFtZSlyZXR1cm4gZCh0LnJhd1R5cGUscixuKS50b0FycmF5TGlrZShlLCJiZSIsMjApLnRvU3RyaW5nKCJoZXgiKTtpZigiYm9vbCI9PT10Lm5hbWUpcmV0dXJuIGQodC5yYXdUeXBlLHIsbikudG9TdHJpbmcoKT09PW5ldyBpKDEpLnRvU3RyaW5nKCk7aWYoInN0cmluZyI9PT10Lm5hbWUpe3ZhciBjPWQodC5yYXdUeXBlLHIsbik7cmV0dXJuIGUuZnJvbShjLCJ1dGY4IikudG9TdHJpbmcoKX1pZih0LmlzQXJyYXkpe2ZvcihhPVtdLG89dC5zaXplLCJkeW5hbWljIj09PXQuc2l6ZSYmKG49ZCgidWludDI1NiIscixuKS50b051bWJlcigpLG89ZCgidWludDI1NiIscixuKS50b051bWJlcigpLG4rPTMyKSx1PTA7dTxvO3UrKyl7dmFyIGY9ZCh0LnN1YkFycmF5LHIsbik7YS5wdXNoKGYpLG4rPXQuc3ViQXJyYXkubWVtb3J5VXNhZ2V9cmV0dXJuIGF9aWYoImJ5dGVzIj09PXQubmFtZSlyZXR1cm4gbj1kKCJ1aW50MjU2IixyLG4pLnRvTnVtYmVyKCksbz1kKCJ1aW50MjU2IixyLG4pLnRvTnVtYmVyKCksci5zbGljZShuKzMyLG4rMzIrbyk7aWYodC5uYW1lLnN0YXJ0c1dpdGgoImJ5dGVzIikpcmV0dXJuIHIuc2xpY2UobixuK3Quc2l6ZSk7aWYodC5uYW1lLnN0YXJ0c1dpdGgoInVpbnQiKSl7aWYoKHM9bmV3IGkoci5zbGljZShuLG4rMzIpLDE2LCJiZSIpKS5iaXRMZW5ndGgoKT50LnNpemUpdGhyb3cgbmV3IEVycm9yKCJEZWNvZGVkIGludCBleGNlZWRzIHdpZHRoOiAiK3Quc2l6ZSsiIHZzICIrcy5iaXRMZW5ndGgoKSk7cmV0dXJuIHN9aWYodC5uYW1lLnN0YXJ0c1dpdGgoImludCIpKXtpZigocz1uZXcgaShyLnNsaWNlKG4sbiszMiksMTYsImJlIikuZnJvbVR3b3MoMjU2KSkuYml0TGVuZ3RoKCk+dC5zaXplKXRocm93IG5ldyBFcnJvcigiRGVjb2RlZCB1aW50IGV4Y2VlZHMgd2lkdGg6ICIrdC5zaXplKyIgdnMgIitzLmJpdExlbmd0aCgpKTtyZXR1cm4gc31pZih0Lm5hbWUuc3RhcnRzV2l0aCgidWZpeGVkIikpe2lmKG89bmV3IGkoMikucG93KG5ldyBpKHQuc2l6ZVsxXSkpLCEocz1kKCJ1aW50MjU2IixyLG4pKS5tb2QobykuaXNaZXJvKCkpdGhyb3cgbmV3IEVycm9yKCJEZWNpbWFscyBub3Qgc3VwcG9ydGVkIHlldCIpO3JldHVybiBzLmRpdihvKX1pZih0Lm5hbWUuc3RhcnRzV2l0aCgiZml4ZWQiKSl7aWYobz1uZXcgaSgyKS5wb3cobmV3IGkodC5zaXplWzFdKSksIShzPWQoImludDI1NiIscixuKSkubW9kKG8pLmlzWmVybygpKXRocm93IG5ldyBFcnJvcigiRGVjaW1hbHMgbm90IHN1cHBvcnRlZCB5ZXQiKTtyZXR1cm4gcy5kaXYobyl9dGhyb3cgbmV3IEVycm9yKCJVbnN1cHBvcnRlZCBvciBpbnZhbGlkIHR5cGU6ICIrdC5uYW1lKX1mdW5jdGlvbiBwKHQpe3ZhciBlLHIsbjtpZihnKHQpKXtlPWModCk7dmFyIGk9dC5zbGljZSgwLHQubGFzdEluZGV4T2YoIlsiKSk7cmV0dXJuIGk9cChpKSxyPXtpc0FycmF5OiEwLG5hbWU6dCxzaXplOmUsbWVtb3J5VXNhZ2U6ImR5bmFtaWMiPT09ZT8zMjppLm1lbW9yeVVzYWdlKmUsc3ViQXJyYXk6aX19c3dpdGNoKHQpe2Nhc2UiYWRkcmVzcyI6bj0idWludDE2MCI7YnJlYWs7Y2FzZSJib29sIjpuPSJ1aW50OCI7YnJlYWs7Y2FzZSJzdHJpbmciOm49ImJ5dGVzIn1pZihyPXtyYXdUeXBlOm4sbmFtZTp0LG1lbW9yeVVzYWdlOjMyfSx0LnN0YXJ0c1dpdGgoImJ5dGVzIikmJiJieXRlcyIhPT10fHx0LnN0YXJ0c1dpdGgoInVpbnQiKXx8dC5zdGFydHNXaXRoKCJpbnQiKT9yLnNpemU9YSh0KToodC5zdGFydHNXaXRoKCJ1Zml4ZWQiKXx8dC5zdGFydHNXaXRoKCJmaXhlZCIpKSYmKHIuc2l6ZT11KHQpKSx0LnN0YXJ0c1dpdGgoImJ5dGVzIikmJiJieXRlcyIhPT10JiYoci5zaXplPDF8fHIuc2l6ZT4zMikpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIGJ5dGVzPE4+IHdpZHRoOiAiK3Iuc2l6ZSk7aWYoKHQuc3RhcnRzV2l0aCgidWludCIpfHx0LnN0YXJ0c1dpdGgoImludCIpKSYmKHIuc2l6ZSU4fHxyLnNpemU8OHx8ci5zaXplPjI1NikpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIGludC91aW50PE4+IHdpZHRoOiAiK3Iuc2l6ZSk7cmV0dXJuIHJ9ZnVuY3Rpb24gbSh0KXtyZXR1cm4ic3RyaW5nIj09PXR8fCJieXRlcyI9PT10fHwiZHluYW1pYyI9PT1jKHQpfWZ1bmN0aW9uIGcodCl7cmV0dXJuIHQubGFzdEluZGV4T2YoIl0iKT09PXQubGVuZ3RoLTF9ZnVuY3Rpb24gYih0LGUpe3JldHVybiB0LnN0YXJ0c1dpdGgoImFkZHJlc3MiKXx8dC5zdGFydHNXaXRoKCJieXRlcyIpPyIweCIrZS50b1N0cmluZygiaGV4Iik6ZS50b1N0cmluZygpfW8uZXZlbnRJRD1mdW5jdGlvbih0LHIpe3ZhciBpPXQrIigiK3IubWFwKHMpLmpvaW4oIiwiKSsiKSI7cmV0dXJuIG4ua2VjY2FrMjU2KGUuZnJvbShpKSl9LG8ubWV0aG9kSUQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4gby5ldmVudElEKHQsZSkuc2xpY2UoMCw0KX0sby5yYXdFbmNvZGU9ZnVuY3Rpb24odCxyKXt2YXIgbj1bXSxpPVtdLG89MDt0LmZvckVhY2goKGZ1bmN0aW9uKHQpe2lmKGcodCkpe3ZhciBlPWModCk7bys9ImR5bmFtaWMiIT09ZT8zMiplOjMyfWVsc2Ugbys9MzJ9KSk7Zm9yKHZhciBhPTA7YTx0Lmxlbmd0aDthKyspe3ZhciB1PXModFthXSksZj1sKHUsclthXSk7bSh1KT8obi5wdXNoKGwoInVpbnQyNTYiLG8pKSxpLnB1c2goZiksbys9Zi5sZW5ndGgpOm4ucHVzaChmKX1yZXR1cm4gZS5jb25jYXQobi5jb25jYXQoaSkpfSxvLnJhd0RlY29kZT1mdW5jdGlvbih0LHIpe3ZhciBuPVtdO3I9ZS5mcm9tKHIpO2Zvcih2YXIgaT0wLG89MDtvPHQubGVuZ3RoO28rKyl7dmFyIGE9cChzKHRbb10pKSx1PWQoYSxyLGkpO2krPWEubWVtb3J5VXNhZ2Usbi5wdXNoKHUpfXJldHVybiBufSxvLnNpbXBsZUVuY29kZT1mdW5jdGlvbih0KXt2YXIgcj1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpLnNsaWNlKDEpLG49aCh0KTtpZihyLmxlbmd0aCE9PW4uYXJncy5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJBcmd1bWVudCBjb3VudCBtaXNtYXRjaCIpO3JldHVybiBlLmNvbmNhdChbby5tZXRob2RJRChuLm1ldGhvZCxuLmFyZ3MpLG8ucmF3RW5jb2RlKG4uYXJncyxyKV0pfSxvLnNpbXBsZURlY29kZT1mdW5jdGlvbih0LGUpe3ZhciByPWgodCk7aWYoIXIucmV0YXJncyl0aHJvdyBuZXcgRXJyb3IoIk5vIHJldHVybiB2YWx1ZXMgaW4gbWV0aG9kIik7cmV0dXJuIG8ucmF3RGVjb2RlKHIucmV0YXJncyxlKX0sby5zdHJpbmdpZnk9ZnVuY3Rpb24odCxlKXt2YXIgcj1bXTtmb3IodmFyIG4gaW4gdCl7dmFyIGk9dFtuXSxvPWVbbl07bz0vXlteXFtdK1xbLipcXSQvLnRlc3QoaSk/by5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiBiKGksdCl9KSkuam9pbigiLCAiKTpiKGksbyksci5wdXNoKG8pfXJldHVybiByfSxvLnNvbGlkaXR5SGV4VmFsdWU9ZnVuY3Rpb24odCxyLGkpe3ZhciBzLHU7aWYoZyh0KSl7dmFyIGg9dC5yZXBsYWNlKC9cWy4qP1xdLywiIik7aWYoIWcoaCkpe3ZhciBsPWModCk7aWYoImR5bmFtaWMiIT09bCYmMCE9PWwmJnIubGVuZ3RoPmwpdGhyb3cgbmV3IEVycm9yKCJFbGVtZW50cyBleGNlZWQgYXJyYXkgc2l6ZTogIitsKX12YXIgZD1yLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIG8uc29saWRpdHlIZXhWYWx1ZShoLHQsMjU2KX0pKTtyZXR1cm4gZS5jb25jYXQoZCl9aWYoImJ5dGVzIj09PXQpcmV0dXJuIHI7aWYoInN0cmluZyI9PT10KXJldHVybiBlLmZyb20ociwidXRmOCIpO2lmKCJib29sIj09PXQpe2k9aXx8ODt2YXIgcD1BcnJheShpLzQpLmpvaW4oIjAiKTtyZXR1cm4gZS5mcm9tKHI/cCsiMSI6cCsiMCIsImhleCIpfWlmKCJhZGRyZXNzIj09PXQpe3ZhciBtPTIwO3JldHVybiBpJiYobT1pLzgpLG4uc2V0TGVuZ3RoTGVmdChyLG0pfWlmKHQuc3RhcnRzV2l0aCgiYnl0ZXMiKSl7aWYoKHM9YSh0KSk8MXx8cz4zMil0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgYnl0ZXM8Tj4gd2lkdGg6ICIrcyk7cmV0dXJuIG4uc2V0TGVuZ3RoUmlnaHQocixzKX1pZih0LnN0YXJ0c1dpdGgoInVpbnQiKSl7aWYoKHM9YSh0KSklOHx8czw4fHxzPjI1Nil0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgdWludDxOPiB3aWR0aDogIitzKTtpZigodT1mKHIpKS5iaXRMZW5ndGgoKT5zKXRocm93IG5ldyBFcnJvcigiU3VwcGxpZWQgdWludCBleGNlZWRzIHdpZHRoOiAiK3MrIiB2cyAiK3UuYml0TGVuZ3RoKCkpO3JldHVybiBpPWl8fHMsdS50b0FycmF5TGlrZShlLCJiZSIsaS84KX1pZih0LnN0YXJ0c1dpdGgoImludCIpKXtpZigocz1hKHQpKSU4fHxzPDh8fHM+MjU2KXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBpbnQ8Tj4gd2lkdGg6ICIrcyk7aWYoKHU9ZihyKSkuYml0TGVuZ3RoKCk+cyl0aHJvdyBuZXcgRXJyb3IoIlN1cHBsaWVkIGludCBleGNlZWRzIHdpZHRoOiAiK3MrIiB2cyAiK3UuYml0TGVuZ3RoKCkpO3JldHVybiBpPWl8fHMsdS50b1R3b3MocykudG9BcnJheUxpa2UoZSwiYmUiLGkvOCl9dGhyb3cgbmV3IEVycm9yKCJVbnN1cHBvcnRlZCBvciBpbnZhbGlkIHR5cGU6ICIrdCl9LG8uc29saWRpdHlQYWNrPWZ1bmN0aW9uKHQscil7aWYodC5sZW5ndGghPT1yLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIk51bWJlciBvZiB0eXBlcyBhcmUgbm90IG1hdGNoaW5nIHRoZSB2YWx1ZXMiKTtmb3IodmFyIG49W10saT0wO2k8dC5sZW5ndGg7aSsrKXt2YXIgYT1zKHRbaV0pLHU9cltpXTtuLnB1c2goby5zb2xpZGl0eUhleFZhbHVlKGEsdSxudWxsKSl9cmV0dXJuIGUuY29uY2F0KG4pfSxvLnNvbGlkaXR5U0hBMz1mdW5jdGlvbih0LGUpe3JldHVybiBuLmtlY2NhazI1NihvLnNvbGlkaXR5UGFjayh0LGUpKX0sby5zb2xpZGl0eVNIQTI1Nj1mdW5jdGlvbih0LGUpe3JldHVybiBuLnNoYTI1NihvLnNvbGlkaXR5UGFjayh0LGUpKX0sby5zb2xpZGl0eVJJUEVNRDE2MD1mdW5jdGlvbih0LGUpe3JldHVybiBuLnJpcGVtZDE2MChvLnNvbGlkaXR5UGFjayh0LGUpLCEwKX0sby5mcm9tU2VycGVudD1mdW5jdGlvbih0KXtmb3IodmFyIGUscj1bXSxuPTA7bjx0Lmxlbmd0aDtuKyspe3ZhciBpPXRbbl07aWYoInMiPT09aSlyLnB1c2goImJ5dGVzIik7ZWxzZSBpZigiYiI9PT1pKXtmb3IodmFyIG89ImJ5dGVzIixzPW4rMTtzPHQubGVuZ3RoJiYoKGU9dFtzXSk+PSIwIiYmZTw9IjkiKTspbys9dFtzXS0iMCIscysrO249cy0xLHIucHVzaChvKX1lbHNlIGlmKCJpIj09PWkpci5wdXNoKCJpbnQyNTYiKTtlbHNle2lmKCJhIiE9PWkpdGhyb3cgbmV3IEVycm9yKCJVbnN1cHBvcnRlZCBvciBpbnZhbGlkIHR5cGU6ICIraSk7ci5wdXNoKCJpbnQyNTZbXSIpfX1yZXR1cm4gcn0sby50b1NlcnBlbnQ9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPVtdLHI9MDtyPHQubGVuZ3RoO3IrKyl7dmFyIG49dFtyXTtpZigiYnl0ZXMiPT09billLnB1c2goInMiKTtlbHNlIGlmKG4uc3RhcnRzV2l0aCgiYnl0ZXMiKSllLnB1c2goImIiK2EobikpO2Vsc2UgaWYoImludDI1NiI9PT1uKWUucHVzaCgiaSIpO2Vsc2V7aWYoImludDI1NltdIiE9PW4pdGhyb3cgbmV3IEVycm9yKCJVbnN1cHBvcnRlZCBvciBpbnZhbGlkIHR5cGU6ICIrbik7ZS5wdXNoKCJhIil9fXJldHVybiBlLmpvaW4oIiIpfSx0LmV4cG9ydHM9b30pLmNhbGwodGhpcyxyKDIpLkJ1ZmZlcil9LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7dmFyIG49dGhpcyYmdGhpcy5fX2NyZWF0ZUJpbmRpbmd8fChPYmplY3QuY3JlYXRlP2Z1bmN0aW9uKHQsZSxyLG4pe3ZvaWQgMD09PW4mJihuPXIpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LG4se2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGVbcl19fSl9OmZ1bmN0aW9uKHQsZSxyLG4pe3ZvaWQgMD09PW4mJihuPXIpLHRbbl09ZVtyXX0pLGk9dGhpcyYmdGhpcy5fX2V4cG9ydFN0YXJ8fGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByIGluIHQpImRlZmF1bHQiPT09cnx8ZS5oYXNPd25Qcm9wZXJ0eShyKXx8bihlLHQscil9O09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxlLnNlY3AyNTZrMT1lLnJscD1lLkJOPXZvaWQgMDt2YXIgbz1yKDc0KTtlLnNlY3AyNTZrMT1vO3ZhciBzPXIoMzIpLGE9cig5KTtlLkJOPWE7dmFyIHU9cig0Nik7ZS5ybHA9dSxPYmplY3QuYXNzaWduKGUscyksaShyKDM2MyksZSksaShyKDM2NCksZSksaShyKDc1KSxlKSxpKHIoMzY1KSxlKSxpKHIoNDApLGUpLGkocigzNjYpLGUpfSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiOyhmdW5jdGlvbih0KXtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49cig5KSxpPW5ldygwLHIoNTgpLmVjKSgic2VjcDI1NmsxIiksbz1pLmN1cnZlO2UucHJpdmF0ZUtleUV4cG9ydD1mdW5jdGlvbih0LGUpe3ZvaWQgMD09PWUmJihlPSEwKTt2YXIgcj1uZXcgbih0KTtpZihyLnVjbXAoby5uKT49MCl0aHJvdyBuZXcgRXJyb3IoImNvdWxkbid0IGV4cG9ydCB0byBERVIgZm9ybWF0Iik7dmFyIGE9aS5nLm11bChyKTtyZXR1cm4gcyhhLmdldFgoKSxhLmdldFkoKSxlKX0sZS5wcml2YXRlS2V5TW9kSW52ZXJzZT1mdW5jdGlvbihlKXt2YXIgcj1uZXcgbihlKTtpZihyLnVjbXAoby5uKT49MHx8ci5pc1plcm8oKSl0aHJvdyBuZXcgRXJyb3IoInByaXZhdGUga2V5IHJhbmdlIGlzIGludmFsaWQiKTtyZXR1cm4gci5pbnZtKG8ubikudG9BcnJheUxpa2UodCwiYmUiLDMyKX0sZS5zaWduYXR1cmVJbXBvcnQ9ZnVuY3Rpb24oZSl7dmFyIHI9bmV3IG4oZS5yKTtyLnVjbXAoby5uKT49MCYmKHI9bmV3IG4oMCkpO3ZhciBpPW5ldyBuKGUucyk7cmV0dXJuIGkudWNtcChvLm4pPj0wJiYoaT1uZXcgbigwKSksdC5jb25jYXQoW3IudG9BcnJheUxpa2UodCwiYmUiLDMyKSxpLnRvQXJyYXlMaWtlKHQsImJlIiwzMildKX0sZS5lY2RoVW5zYWZlPWZ1bmN0aW9uKHQsZSxyKXt2b2lkIDA9PT1yJiYocj0hMCk7dmFyIGE9aS5rZXlGcm9tUHVibGljKHQpLHU9bmV3IG4oZSk7aWYodS51Y21wKG8ubik+PTB8fHUuaXNaZXJvKCkpdGhyb3cgbmV3IEVycm9yKCJzY2FsYXIgd2FzIGludmFsaWQgKHplcm8gb3Igb3ZlcmZsb3cpIik7dmFyIGM9YS5wdWIubXVsKHUpO3JldHVybiBzKGMuZ2V0WCgpLGMuZ2V0WSgpLHIpfTt2YXIgcz1mdW5jdGlvbihlLHIsbil7dmFyIGk7cmV0dXJuIG4/KChpPXQuYWxsb2MoMzMpKVswXT1yLmlzT2RkKCk/MzoyLGUudG9BcnJheUxpa2UodCwiYmUiLDMyKS5jb3B5KGksMSkpOigoaT10LmFsbG9jKDY1KSlbMF09NCxlLnRvQXJyYXlMaWtlKHQsImJlIiwzMikuY29weShpLDEpLHIudG9BcnJheUxpa2UodCwiYmUiLDMyKS5jb3B5KGksMzMpKSxpfX0pLmNhbGwodGhpcyxyKDIpLkJ1ZmZlcil9LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7KGZ1bmN0aW9uKHQpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgcj10LmZyb20oWzQ4LDEyOSwyMTEsMiwxLDEsNCwzMiwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMTYwLDEyOSwxMzMsNDgsMTI5LDEzMCwyLDEsMSw0OCw0NCw2LDcsNDIsMTM0LDcyLDIwNiw2MSwxLDEsMiwzMywwLDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NCwyNTUsMjU1LDI1Miw0Nyw0OCw2LDQsMSwwLDQsMSw3LDQsMzMsMiwxMjEsMTkwLDEwMiwxMjYsMjQ5LDIyMCwxODcsMTcyLDg1LDE2MCw5OCwxNDksMjA2LDEzNSwxMSw3LDIsMTU1LDI1MiwyMTksNDUsMjA2LDQwLDIxNyw4OSwyNDIsMTI5LDkxLDIyLDI0OCwyMywxNTIsMiwzMywwLDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NCwxODYsMTc0LDIyMCwyMzAsMTc1LDcyLDE2MCw1OSwxOTEsMjEwLDk0LDE0MCwyMDgsNTQsNjUsNjUsMiwxLDEsMTYxLDM2LDMsMzQsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMF0pLG49dC5mcm9tKFs0OCwxMzAsMSwxOSwyLDEsMSw0LDMyLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwxNjAsMTI5LDE2NSw0OCwxMjksMTYyLDIsMSwxLDQ4LDQ0LDYsNyw0MiwxMzQsNzIsMjA2LDYxLDEsMSwyLDMzLDAsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU0LDI1NSwyNTUsMjUyLDQ3LDQ4LDYsNCwxLDAsNCwxLDcsNCw2NSw0LDEyMSwxOTAsMTAyLDEyNiwyNDksMjIwLDE4NywxNzIsODUsMTYwLDk4LDE0OSwyMDYsMTM1LDExLDcsMiwxNTUsMjUyLDIxOSw0NSwyMDYsNDAsMjE3LDg5LDI0MiwxMjksOTEsMjIsMjQ4LDIzLDE1Miw3Miw1OCwyMTgsMTE5LDM4LDE2MywxOTYsMTAxLDkzLDE2NCwyNTEsMjUyLDE0LDE3LDgsMTY4LDI1MywyMywxODAsNzIsMTY2LDEzMyw4NCwyNSwxNTYsNzEsMjA4LDE0MywyNTEsMTYsMjEyLDE4NCwyLDMzLDAsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU1LDI1NSwyNTUsMjU0LDE4NiwxNzQsMjIwLDIzMCwxNzUsNzIsMTYwLDU5LDE5MSwyMTAsOTQsMTQwLDIwOCw1NCw2NSw2NSwyLDEsMSwxNjEsNjgsMyw2NiwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMF0pO2UucHJpdmF0ZUtleUV4cG9ydD1mdW5jdGlvbihlLGksbyl7dm9pZCAwPT09byYmKG89ITApO3ZhciBzPXQuZnJvbShvP3I6bik7cmV0dXJuIGUuY29weShzLG8/ODo5KSxpLmNvcHkocyxvPzE4MToyMTQpLHN9LGUucHJpdmF0ZUtleUltcG9ydD1mdW5jdGlvbih0KXt2YXIgZT10Lmxlbmd0aCxyPTA7aWYoZTxyKzF8fDQ4IT09dFtyXSlyZXR1cm4gbnVsbDtpZihlPChyKz0xKSsxfHwhKDEyOCZ0W3JdKSlyZXR1cm4gbnVsbDt2YXIgbj0xMjcmdFtyXTtpZihuPDF8fG4+MilyZXR1cm4gbnVsbDtpZihlPChyKz0xKStuKXJldHVybiBudWxsO3ZhciBpPXRbcituLTFdfChuPjE/dFtyK24tMl08PDg6MCk7cmV0dXJuIGU8KHIrPW4pK2l8fGU8ciszfHwyIT09dFtyXXx8MSE9PXRbcisxXXx8MSE9PXRbcisyXXx8ZTwocis9MykrMnx8NCE9PXRbcl18fHRbcisxXT4zMnx8ZTxyKzIrdFtyKzFdP251bGw6dC5zbGljZShyKzIscisyK3RbcisxXSl9LGUuc2lnbmF0dXJlSW1wb3J0TGF4PWZ1bmN0aW9uKGUpe3ZhciByPXQuYWxsb2MoMzIsMCksbj10LmFsbG9jKDMyLDApLGk9ZS5sZW5ndGgsbz0wO2lmKDQ4IT09ZVtvKytdKXJldHVybiBudWxsO3ZhciBzPWVbbysrXTtpZigxMjgmcyYmKG8rPXMtMTI4KT5pKXJldHVybiBudWxsO2lmKDIhPT1lW28rK10pcmV0dXJuIG51bGw7dmFyIGE9ZVtvKytdO2lmKDEyOCZhKXtpZihvKyhzPWEtMTI4KT5pKXJldHVybiBudWxsO2Zvcig7cz4wJiYwPT09ZVtvXTtvKz0xLHMtPTEpO2ZvcihhPTA7cz4wO28rPTEscy09MSlhPShhPDw4KStlW29dfWlmKGE+aS1vKXJldHVybiBudWxsO3ZhciB1PW87aWYobys9YSwyIT09ZVtvKytdKXJldHVybiBudWxsO3ZhciBjPWVbbysrXTtpZigxMjgmYyl7aWYobysocz1jLTEyOCk+aSlyZXR1cm4gbnVsbDtmb3IoO3M+MCYmMD09PWVbb107bys9MSxzLT0xKTtmb3IoYz0wO3M+MDtvKz0xLHMtPTEpYz0oYzw8OCkrZVtvXX1pZihjPmktbylyZXR1cm4gbnVsbDt2YXIgZj1vO2ZvcihvKz1jO2E+MCYmMD09PWVbdV07YS09MSx1Kz0xKTtpZihhPjMyKXJldHVybiBudWxsO3ZhciBoPWUuc2xpY2UodSx1K2EpO2ZvcihoLmNvcHkociwzMi1oLmxlbmd0aCk7Yz4wJiYwPT09ZVtmXTtjLT0xLGYrPTEpO2lmKGM+MzIpcmV0dXJuIG51bGw7dmFyIGw9ZS5zbGljZShmLGYrYyk7cmV0dXJuIGwuY29weShuLDMyLWwubGVuZ3RoKSx7cjpyLHM6bn19fSkuY2FsbCh0aGlzLHIoMikuQnVmZmVyKX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjsoZnVuY3Rpb24odCl7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGUuS0VDQ0FLMjU2X1JMUD1lLktFQ0NBSzI1Nl9STFBfUz1lLktFQ0NBSzI1Nl9STFBfQVJSQVk9ZS5LRUNDQUsyNTZfUkxQX0FSUkFZX1M9ZS5LRUNDQUsyNTZfTlVMTD1lLktFQ0NBSzI1Nl9OVUxMX1M9ZS5UV09fUE9XMjU2PWUuTUFYX0lOVEVHRVI9dm9pZCAwO3ZhciBuPXIoOSk7ZS5NQVhfSU5URUdFUj1uZXcgbigiZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZiIsMTYpLGUuVFdPX1BPVzI1Nj1uZXcgbigiMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiLDE2KSxlLktFQ0NBSzI1Nl9OVUxMX1M9ImM1ZDI0NjAxODZmNzIzM2M5MjdlN2RiMmRjYzcwM2MwZTUwMGI2NTNjYTgyMjczYjdiZmFkODA0NWQ4NWE0NzAiLGUuS0VDQ0FLMjU2X05VTEw9dC5mcm9tKGUuS0VDQ0FLMjU2X05VTExfUywiaGV4IiksZS5LRUNDQUsyNTZfUkxQX0FSUkFZX1M9IjFkY2M0ZGU4ZGVjNzVkN2FhYjg1YjU2N2I2Y2NkNDFhZDMxMjQ1MWI5NDhhNzQxM2YwYTE0MmZkNDBkNDkzNDciLGUuS0VDQ0FLMjU2X1JMUF9BUlJBWT10LmZyb20oZS5LRUNDQUsyNTZfUkxQX0FSUkFZX1MsImhleCIpLGUuS0VDQ0FLMjU2X1JMUF9TPSI1NmU4MWYxNzFiY2M1NWE2ZmY4MzQ1ZTY5MmMwZjg2ZTViNDhlMDFiOTk2Y2FkYzAwMTYyMmZiNWUzNjNiNDIxIixlLktFQ0NBSzI1Nl9STFA9dC5mcm9tKGUuS0VDQ0FLMjU2X1JMUF9TLCJoZXgiKX0pLmNhbGwodGhpcyxyKDIpLkJ1ZmZlcil9LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7KGZ1bmN0aW9uKHQpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxlLmltcG9ydFB1YmxpYz1lLnByaXZhdGVUb1B1YmxpYz1lLnByaXZhdGVUb0FkZHJlc3M9ZS5wdWJsaWNUb0FkZHJlc3M9ZS5wdWJUb0FkZHJlc3M9ZS5pc1ZhbGlkUHVibGljPWUuaXNWYWxpZFByaXZhdGU9ZS5pc1ByZWNvbXBpbGVkPWUuZ2VuZXJhdGVBZGRyZXNzMj1lLmdlbmVyYXRlQWRkcmVzcz1lLmlzVmFsaWRDaGVja3N1bUFkZHJlc3M9ZS50b0NoZWNrc3VtQWRkcmVzcz1lLmlzWmVyb0FkZHJlc3M9ZS5pc1ZhbGlkQWRkcmVzcz1lLnplcm9BZGRyZXNzPXZvaWQgMDt2YXIgbj1yKDYxKSxpPXIoMzIpLG89cig3NCkscz1yKDkpLGE9cig0MCksdT1yKDc1KTtlLnplcm9BZGRyZXNzPWZ1bmN0aW9uKCl7dmFyIHQ9YS56ZXJvcygyMCk7cmV0dXJuIGEuYnVmZmVyVG9IZXgodCl9LGUuaXNWYWxpZEFkZHJlc3M9ZnVuY3Rpb24odCl7cmV0dXJuL14weFswLTlhLWZBLUZdezQwfSQvLnRlc3QodCl9LGUuaXNaZXJvQWRkcmVzcz1mdW5jdGlvbih0KXtyZXR1cm4gZS56ZXJvQWRkcmVzcygpPT09YS5hZGRIZXhQcmVmaXgodCl9LGUudG9DaGVja3N1bUFkZHJlc3M9ZnVuY3Rpb24odCxlKXt0PWkuc3RyaXBIZXhQcmVmaXgodCkudG9Mb3dlckNhc2UoKTtmb3IodmFyIHI9dm9pZCAwIT09ZT9lLnRvU3RyaW5nKCkrIjB4IjoiIixuPXUua2VjY2FrKHIrdCkudG9TdHJpbmcoImhleCIpLG89IjB4IixzPTA7czx0Lmxlbmd0aDtzKyspcGFyc2VJbnQobltzXSwxNik+PTg/bys9dFtzXS50b1VwcGVyQ2FzZSgpOm8rPXRbc107cmV0dXJuIG99LGUuaXNWYWxpZENoZWNrc3VtQWRkcmVzcz1mdW5jdGlvbih0LHIpe3JldHVybiBlLmlzVmFsaWRBZGRyZXNzKHQpJiZlLnRvQ2hlY2tzdW1BZGRyZXNzKHQscik9PT10fSxlLmdlbmVyYXRlQWRkcmVzcz1mdW5jdGlvbihlLHIpe2U9YS50b0J1ZmZlcihlKTt2YXIgbj1uZXcgcyhyKTtyZXR1cm4gbi5pc1plcm8oKT91LnJscGhhc2goW2UsbnVsbF0pLnNsaWNlKC0yMCk6dS5ybHBoYXNoKFtlLHQuZnJvbShuLnRvQXJyYXkoKSldKS5zbGljZSgtMjApfSxlLmdlbmVyYXRlQWRkcmVzczI9ZnVuY3Rpb24oZSxyLGkpe3ZhciBvPWEudG9CdWZmZXIoZSkscz1hLnRvQnVmZmVyKHIpLGM9YS50b0J1ZmZlcihpKTtyZXR1cm4gbigyMD09PW8ubGVuZ3RoKSxuKDMyPT09cy5sZW5ndGgpLHUua2VjY2FrMjU2KHQuY29uY2F0KFt0LmZyb20oImZmIiwiaGV4IiksbyxzLHUua2VjY2FrMjU2KGMpXSkpLnNsaWNlKC0yMCl9LGUuaXNQcmVjb21waWxlZD1mdW5jdGlvbih0KXt2YXIgZT1hLnVucGFkKHQpO3JldHVybiAxPT09ZS5sZW5ndGgmJmVbMF0+PTEmJmVbMF08PTh9LGUuaXNWYWxpZFByaXZhdGU9ZnVuY3Rpb24odCl7cmV0dXJuIG8ucHJpdmF0ZUtleVZlcmlmeSh0KX0sZS5pc1ZhbGlkUHVibGljPWZ1bmN0aW9uKGUscil7cmV0dXJuIHZvaWQgMD09PXImJihyPSExKSw2ND09PWUubGVuZ3RoP28ucHVibGljS2V5VmVyaWZ5KHQuY29uY2F0KFt0LmZyb20oWzRdKSxlXSkpOiEhciYmby5wdWJsaWNLZXlWZXJpZnkoZSl9LGUucHViVG9BZGRyZXNzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHZvaWQgMD09PWUmJihlPSExKSx0PWEudG9CdWZmZXIodCksZSYmNjQhPT10Lmxlbmd0aCYmKHQ9by5wdWJsaWNLZXlDb252ZXJ0KHQsITEpLnNsaWNlKDEpKSxuKDY0PT09dC5sZW5ndGgpLHUua2VjY2FrKHQpLnNsaWNlKC0yMCl9LGUucHVibGljVG9BZGRyZXNzPWUucHViVG9BZGRyZXNzLGUucHJpdmF0ZVRvQWRkcmVzcz1mdW5jdGlvbih0KXtyZXR1cm4gZS5wdWJsaWNUb0FkZHJlc3MoZS5wcml2YXRlVG9QdWJsaWModCkpfSxlLnByaXZhdGVUb1B1YmxpYz1mdW5jdGlvbih0KXtyZXR1cm4gdD1hLnRvQnVmZmVyKHQpLG8ucHVibGljS2V5Q3JlYXRlKHQsITEpLnNsaWNlKDEpfSxlLmltcG9ydFB1YmxpYz1mdW5jdGlvbih0KXtyZXR1cm4gNjQhPT0odD1hLnRvQnVmZmVyKHQpKS5sZW5ndGgmJih0PW8ucHVibGljS2V5Q29udmVydCh0LCExKS5zbGljZSgxKSksdH19KS5jYWxsKHRoaXMscigyKS5CdWZmZXIpfSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiOyhmdW5jdGlvbih0KXtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksZS5oYXNoUGVyc29uYWxNZXNzYWdlPWUuaXNWYWxpZFNpZ25hdHVyZT1lLmZyb21ScGNTaWc9ZS50b1JwY1NpZz1lLmVjcmVjb3Zlcj1lLmVjc2lnbj12b2lkIDA7dmFyIG49cig3NCksaT1yKDkpLG89cig0MCkscz1yKDc1KTtmdW5jdGlvbiBhKHQsZSl7cmV0dXJuIGU/dC0oMiplKzM1KTp0LTI3fWZ1bmN0aW9uIHUodCl7cmV0dXJuIDA9PT10fHwxPT09dH1lLmVjc2lnbj1mdW5jdGlvbih0LGUscil7dmFyIGk9bi5zaWduKHQsZSksbz1pLnJlY292ZXJ5O3JldHVybntyOmkuc2lnbmF0dXJlLnNsaWNlKDAsMzIpLHM6aS5zaWduYXR1cmUuc2xpY2UoMzIsNjQpLHY6cj9vKygyKnIrMzUpOm8rMjd9fSxlLmVjcmVjb3Zlcj1mdW5jdGlvbihlLHIsaSxzLGMpe3ZhciBmPXQuY29uY2F0KFtvLnNldExlbmd0aChpLDMyKSxvLnNldExlbmd0aChzLDMyKV0sNjQpLGg9YShyLGMpO2lmKCF1KGgpKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBzaWduYXR1cmUgdiB2YWx1ZSIpO3ZhciBsPW4ucmVjb3ZlcihlLGYsaCk7cmV0dXJuIG4ucHVibGljS2V5Q29udmVydChsLCExKS5zbGljZSgxKX0sZS50b1JwY1NpZz1mdW5jdGlvbihlLHIsbixpKXtpZighdShhKGUsaSkpKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBzaWduYXR1cmUgdiB2YWx1ZSIpO3JldHVybiBvLmJ1ZmZlclRvSGV4KHQuY29uY2F0KFtvLnNldExlbmd0aExlZnQociwzMiksby5zZXRMZW5ndGhMZWZ0KG4sMzIpLG8udG9CdWZmZXIoZSldKSl9LGUuZnJvbVJwY1NpZz1mdW5jdGlvbih0KXt2YXIgZT1vLnRvQnVmZmVyKHQpO2lmKDY1IT09ZS5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIHNpZ25hdHVyZSBsZW5ndGgiKTt2YXIgcj1lWzY0XTtyZXR1cm4gcjwyNyYmKHIrPTI3KSx7djpyLHI6ZS5zbGljZSgwLDMyKSxzOmUuc2xpY2UoMzIsNjQpfX0sZS5pc1ZhbGlkU2lnbmF0dXJlPWZ1bmN0aW9uKHQsZSxyLG4sbyl7dm9pZCAwPT09biYmKG49ITApO3ZhciBzPW5ldyBpKCI3ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZjVkNTc2ZTczNTdhNDUwMWRkZmU5MmY0NjY4MWIyMGEwIiwxNiksYz1uZXcgaSgiZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmViYWFlZGNlNmFmNDhhMDNiYmZkMjVlOGNkMDM2NDE0MSIsMTYpO2lmKDMyIT09ZS5sZW5ndGh8fDMyIT09ci5sZW5ndGgpcmV0dXJuITE7aWYoIXUoYSh0LG8pKSlyZXR1cm4hMTt2YXIgZj1uZXcgaShlKSxoPW5ldyBpKHIpO3JldHVybiEoZi5pc1plcm8oKXx8Zi5ndChjKXx8aC5pc1plcm8oKXx8aC5ndChjKSkmJighbnx8MSE9PWguY21wKHMpKX0sZS5oYXNoUGVyc29uYWxNZXNzYWdlPWZ1bmN0aW9uKGUpe3ZhciByPXQuZnJvbSgiGUV0aGVyZXVtIFNpZ25lZCBNZXNzYWdlOlxuIitlLmxlbmd0aC50b1N0cmluZygpLCJ1dGYtOCIpO3JldHVybiBzLmtlY2Nhayh0LmNvbmNhdChbcixlXSkpfX0pLmNhbGwodGhpcyxyKDIpLkJ1ZmZlcil9LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7KGZ1bmN0aW9uKHQpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxlLmRlZmluZVByb3BlcnRpZXM9dm9pZCAwO3ZhciBuPXIoNjEpLGk9cigzMiksbz1yKDQ2KSxzPXIoNDApO2UuZGVmaW5lUHJvcGVydGllcz1mdW5jdGlvbihlLHIsYSl7aWYoZS5yYXc9W10sZS5fZmllbGRzPVtdLGUudG9KU09OPWZ1bmN0aW9uKHQpe2lmKHZvaWQgMD09PXQmJih0PSExKSx0KXt2YXIgcj17fTtyZXR1cm4gZS5fZmllbGRzLmZvckVhY2goKGZ1bmN0aW9uKHQpe3JbdF09IjB4IitlW3RdLnRvU3RyaW5nKCJoZXgiKX0pKSxyfXJldHVybiBzLmJhVG9KU09OKGUucmF3KX0sZS5zZXJpYWxpemU9ZnVuY3Rpb24oKXtyZXR1cm4gby5lbmNvZGUoZS5yYXcpfSxyLmZvckVhY2goKGZ1bmN0aW9uKHIsaSl7ZnVuY3Rpb24gbygpe3JldHVybiBlLnJhd1tpXX1mdW5jdGlvbiBhKG8peyIwMCIhPT0obz1zLnRvQnVmZmVyKG8pKS50b1N0cmluZygiaGV4Iil8fHIuYWxsb3daZXJvfHwobz10LmFsbG9jVW5zYWZlKDApKSxyLmFsbG93TGVzcyYmci5sZW5ndGg/KG89cy5zdHJpcFplcm9zKG8pLG4oci5sZW5ndGg+PW8ubGVuZ3RoLCJUaGUgZmllbGQgIityLm5hbWUrIiBtdXN0IG5vdCBoYXZlIG1vcmUgIityLmxlbmd0aCsiIGJ5dGVzIikpOnIuYWxsb3daZXJvJiYwPT09by5sZW5ndGh8fCFyLmxlbmd0aHx8bihyLmxlbmd0aD09PW8ubGVuZ3RoLCJUaGUgZmllbGQgIityLm5hbWUrIiBtdXN0IGhhdmUgYnl0ZSBsZW5ndGggb2YgIityLmxlbmd0aCksZS5yYXdbaV09b31lLl9maWVsZHMucHVzaChyLm5hbWUpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHIubmFtZSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsZ2V0Om8sc2V0OmF9KSxyLmRlZmF1bHQmJihlW3IubmFtZV09ci5kZWZhdWx0KSxyLmFsaWFzJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxyLmFsaWFzLHtlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMCxzZXQ6YSxnZXQ6b30pfSkpLGEpaWYoInN0cmluZyI9PXR5cGVvZiBhJiYoYT10LmZyb20oaS5zdHJpcEhleFByZWZpeChhKSwiaGV4IikpLHQuaXNCdWZmZXIoYSkmJihhPW8uZGVjb2RlKGEpKSxBcnJheS5pc0FycmF5KGEpKXtpZihhLmxlbmd0aD5lLl9maWVsZHMubGVuZ3RoKXRocm93IG5ldyBFcnJvcigid3JvbmcgbnVtYmVyIG9mIGZpZWxkcyBpbiBkYXRhIik7YS5mb3JFYWNoKChmdW5jdGlvbih0LHIpe2VbZS5fZmllbGRzW3JdXT1zLnRvQnVmZmVyKHQpfSkpfWVsc2V7aWYoIm9iamVjdCIhPXR5cGVvZiBhKXRocm93IG5ldyBFcnJvcigiaW52YWxpZCBkYXRhIik7dmFyIHU9T2JqZWN0LmtleXMoYSk7ci5mb3JFYWNoKChmdW5jdGlvbih0KXstMSE9PXUuaW5kZXhPZih0Lm5hbWUpJiYoZVt0Lm5hbWVdPWFbdC5uYW1lXSksLTEhPT11LmluZGV4T2YodC5hbGlhcykmJihlW3QuYWxpYXNdPWFbdC5hbGlhc10pfSkpfX19KS5jYWxsKHRoaXMscigyKS5CdWZmZXIpfSxmdW5jdGlvbih0LGUscil7KGZ1bmN0aW9uKGUpeyFmdW5jdGlvbihyKXsidXNlIHN0cmljdCI7dmFyIG49ZnVuY3Rpb24odCl7c2V0VGltZW91dCh0LDApfTt2b2lkIDAhPT1lJiZlJiYiZnVuY3Rpb24iPT10eXBlb2YgZS5uZXh0VGljayYmKG49ZS5uZXh0VGljayksdC5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlPXtjYXBhY2l0eTp0fHwxLGN1cnJlbnQ6MCxxdWV1ZTpbXSxmaXJzdEhlcmU6ITEsdGFrZTpmdW5jdGlvbigpe2lmKCExPT09ZS5maXJzdEhlcmUpe2UuY3VycmVudCsrLGUuZmlyc3RIZXJlPSEwO3ZhciB0PTF9ZWxzZSB0PTA7dmFyIHI9e246MX07ImZ1bmN0aW9uIj09dHlwZW9mIGFyZ3VtZW50c1swXT9yLnRhc2s9YXJndW1lbnRzWzBdOnIubj1hcmd1bWVudHNbMF0sYXJndW1lbnRzLmxlbmd0aD49MiYmKCJmdW5jdGlvbiI9PXR5cGVvZiBhcmd1bWVudHNbMV0/ci50YXNrPWFyZ3VtZW50c1sxXTpyLm49YXJndW1lbnRzWzFdKTt2YXIgbj1yLnRhc2s7aWYoci50YXNrPWZ1bmN0aW9uKCl7bihlLmxlYXZlKX0sZS5jdXJyZW50K3Iubi10PmUuY2FwYWNpdHkpcmV0dXJuIDE9PT10JiYoZS5jdXJyZW50LS0sZS5maXJzdEhlcmU9ITEpLGUucXVldWUucHVzaChyKTtlLmN1cnJlbnQrPXIubi10LHIudGFzayhlLmxlYXZlKSwxPT09dCYmKGUuZmlyc3RIZXJlPSExKX0sbGVhdmU6ZnVuY3Rpb24odCl7aWYodD10fHwxLGUuY3VycmVudC09dCxlLnF1ZXVlLmxlbmd0aCl7dmFyIHI9ZS5xdWV1ZVswXTtyLm4rZS5jdXJyZW50PmUuY2FwYWNpdHl8fChlLnF1ZXVlLnNoaWZ0KCksZS5jdXJyZW50Kz1yLm4sbihyLnRhc2spKX1lbHNlIGlmKGUuY3VycmVudDwwKXRocm93IG5ldyBFcnJvcigibGVhdmUgY2FsbGVkIHRvbyBtYW55IHRpbWVzLiIpfSxhdmFpbGFibGU6ZnVuY3Rpb24odCl7cmV0dXJuIHQ9dHx8MSxlLmN1cnJlbnQrdDw9ZS5jYXBhY2l0eX19O3JldHVybiBlfX0oKX0pLmNhbGwodGhpcyxyKDUpKX0sZnVuY3Rpb24odCxlLHIpe2NvbnN0IG49cig2Nyk7dC5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyKXt0LnNlbmRBc3luYyhuKHttZXRob2Q6ImV0aF9lc3RpbWF0ZUdhcyIscGFyYW1zOltlXX0pLChmdW5jdGlvbih0LGUpe2lmKHQpcmV0dXJuIm5vIGNvbnRyYWN0IGNvZGUgYXQgZ2l2ZW4gYWRkcmVzcyI9PT10Lm1lc3NhZ2U/cihudWxsLCIweGNmMDgiKTpyKHQpO3IobnVsbCxlLnJlc3VsdCl9KSl9fSxmdW5jdGlvbih0LGUscil7KGZ1bmN0aW9uKGUpe2NvbnN0IG49cigyMSkuaW5oZXJpdHMsaT1yKDM3MCksbz1yKDM2KSxzPXIoNDkpLGE9cigxNDkpLmJsb2NrVGFnRm9yUGF5bG9hZDtmdW5jdGlvbiB1KHQpe3RoaXMubm9uY2VDYWNoZT17fX10LmV4cG9ydHM9dSxuKHUscyksdS5wcm90b3R5cGUuaGFuZGxlUmVxdWVzdD1mdW5jdGlvbih0LHIsbil7Y29uc3Qgcz10aGlzO3N3aXRjaCh0Lm1ldGhvZCl7Y2FzZSJldGhfZ2V0VHJhbnNhY3Rpb25Db3VudCI6dmFyIHU9YSh0KSxjPXQucGFyYW1zWzBdLnRvTG93ZXJDYXNlKCksZj1zLm5vbmNlQ2FjaGVbY107cmV0dXJuIHZvaWQoInBlbmRpbmciPT09dT9mP24obnVsbCxmKTpyKChmdW5jdGlvbih0LGUscil7aWYodClyZXR1cm4gcigpO3ZvaWQgMD09PXMubm9uY2VDYWNoZVtjXSYmKHMubm9uY2VDYWNoZVtjXT1lKSxyKCl9KSk6cigpKTtjYXNlImV0aF9zZW5kUmF3VHJhbnNhY3Rpb24iOnJldHVybiB2b2lkIHIoKGZ1bmN0aW9uKHIsbixhKXtpZihyKXJldHVybiBhKCk7dmFyIHU9dC5wYXJhbXNbMF0sYz0oby5zdHJpcEhleFByZWZpeCh1KSxlLmZyb20oby5zdHJpcEhleFByZWZpeCh1KSwiaGV4IiksbmV3IGkoZS5mcm9tKG8uc3RyaXBIZXhQcmVmaXgodSksImhleCIpKSksZj0iMHgiK2MuZ2V0U2VuZGVyQWRkcmVzcygpLnRvU3RyaW5nKCJoZXgiKS50b0xvd2VyQ2FzZSgpLGg9by5idWZmZXJUb0ludChjLm5vbmNlKSxsPSgrK2gpLnRvU3RyaW5nKDE2KTtsLmxlbmd0aCUyJiYobD0iMCIrbCksbD0iMHgiK2wscy5ub25jZUNhY2hlW2ZdPWwsYSgpfSkpO2Nhc2UiZXZtX3JldmVydCI6cmV0dXJuIHMubm9uY2VDYWNoZT17fSx2b2lkIHIoKTtkZWZhdWx0OnJldHVybiB2b2lkIHIoKX19fSkuY2FsbCh0aGlzLHIoMikuQnVmZmVyKX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjsoZnVuY3Rpb24oZSl7dmFyIG49cigzNiksaT1yKDM3MSksbz1uLkJOLHM9bmV3IG8oIjdmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmNWQ1NzZlNzM1N2E0NTAxZGRmZTkyZjQ2NjgxYjIwYTAiLDE2KSxhPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdChyKXshZnVuY3Rpb24odCxlKXtpZighKHQgaW5zdGFuY2VvZiBlKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb24iKX0odGhpcyx0KSxyPXJ8fHt9O3ZhciBpPVt7bmFtZToibm9uY2UiLGxlbmd0aDozMixhbGxvd0xlc3M6ITAsZGVmYXVsdDpuZXcgZShbXSl9LHtuYW1lOiJnYXNQcmljZSIsbGVuZ3RoOjMyLGFsbG93TGVzczohMCxkZWZhdWx0Om5ldyBlKFtdKX0se25hbWU6Imdhc0xpbWl0IixhbGlhczoiZ2FzIixsZW5ndGg6MzIsYWxsb3dMZXNzOiEwLGRlZmF1bHQ6bmV3IGUoW10pfSx7bmFtZToidG8iLGFsbG93WmVybzohMCxsZW5ndGg6MjAsZGVmYXVsdDpuZXcgZShbXSl9LHtuYW1lOiJ2YWx1ZSIsbGVuZ3RoOjMyLGFsbG93TGVzczohMCxkZWZhdWx0Om5ldyBlKFtdKX0se25hbWU6ImRhdGEiLGFsaWFzOiJpbnB1dCIsYWxsb3daZXJvOiEwLGRlZmF1bHQ6bmV3IGUoW10pfSx7bmFtZToidiIsYWxsb3daZXJvOiEwLGRlZmF1bHQ6bmV3IGUoWzI4XSl9LHtuYW1lOiJyIixsZW5ndGg6MzIsYWxsb3daZXJvOiEwLGFsbG93TGVzczohMCxkZWZhdWx0Om5ldyBlKFtdKX0se25hbWU6InMiLGxlbmd0aDozMixhbGxvd1plcm86ITAsYWxsb3dMZXNzOiEwLGRlZmF1bHQ6bmV3IGUoW10pfV07bi5kZWZpbmVQcm9wZXJ0aWVzKHRoaXMsaSxyKSxPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywiZnJvbSIse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLGdldDp0aGlzLmdldFNlbmRlckFkZHJlc3MuYmluZCh0aGlzKX0pO3ZhciBvPW4uYnVmZmVyVG9JbnQodGhpcy52KSxzPU1hdGguZmxvb3IoKG8tMzUpLzIpO3M8MCYmKHM9MCksdGhpcy5fY2hhaW5JZD1zfHxyLmNoYWluSWR8fDAsdGhpcy5faG9tZXN0ZWFkPSEwfXJldHVybiB0LnByb3RvdHlwZS50b0NyZWF0aW9uQWRkcmVzcz1mdW5jdGlvbigpe3JldHVybiIiPT09dGhpcy50by50b1N0cmluZygiaGV4Iil9LHQucHJvdG90eXBlLmhhc2g9ZnVuY3Rpb24odCl7dm9pZCAwPT09dCYmKHQ9ITApO3ZhciBlPXZvaWQgMDtpZih0KWU9dGhpcy5yYXc7ZWxzZSBpZih0aGlzLl9jaGFpbklkPjApe3ZhciByPXRoaXMucmF3LnNsaWNlKCk7dGhpcy52PXRoaXMuX2NoYWluSWQsdGhpcy5yPTAsdGhpcy5zPTAsZT10aGlzLnJhdyx0aGlzLnJhdz1yfWVsc2UgZT10aGlzLnJhdy5zbGljZSgwLDYpO3JldHVybiBuLnJscGhhc2goZSl9LHQucHJvdG90eXBlLmdldENoYWluSWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fY2hhaW5JZH0sdC5wcm90b3R5cGUuZ2V0U2VuZGVyQWRkcmVzcz1mdW5jdGlvbigpe2lmKHRoaXMuX2Zyb20pcmV0dXJuIHRoaXMuX2Zyb207dmFyIHQ9dGhpcy5nZXRTZW5kZXJQdWJsaWNLZXkoKTtyZXR1cm4gdGhpcy5fZnJvbT1uLnB1YmxpY1RvQWRkcmVzcyh0KSx0aGlzLl9mcm9tfSx0LnByb3RvdHlwZS5nZXRTZW5kZXJQdWJsaWNLZXk9ZnVuY3Rpb24oKXtpZighKHRoaXMuX3NlbmRlclB1YktleSYmdGhpcy5fc2VuZGVyUHViS2V5Lmxlbmd0aHx8dGhpcy52ZXJpZnlTaWduYXR1cmUoKSkpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIFNpZ25hdHVyZSIpO3JldHVybiB0aGlzLl9zZW5kZXJQdWJLZXl9LHQucHJvdG90eXBlLnZlcmlmeVNpZ25hdHVyZT1mdW5jdGlvbigpe3ZhciB0PXRoaXMuaGFzaCghMSk7aWYodGhpcy5faG9tZXN0ZWFkJiYxPT09bmV3IG8odGhpcy5zKS5jbXAocykpcmV0dXJuITE7dHJ5e3ZhciBlPW4uYnVmZmVyVG9JbnQodGhpcy52KTt0aGlzLl9jaGFpbklkPjAmJihlLT0yKnRoaXMuX2NoYWluSWQrOCksdGhpcy5fc2VuZGVyUHViS2V5PW4uZWNyZWNvdmVyKHQsZSx0aGlzLnIsdGhpcy5zKX1jYXRjaCh0KXtyZXR1cm4hMX1yZXR1cm4hIXRoaXMuX3NlbmRlclB1YktleX0sdC5wcm90b3R5cGUuc2lnbj1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmhhc2goITEpLHI9bi5lY3NpZ24oZSx0KTt0aGlzLl9jaGFpbklkPjAmJihyLnYrPTIqdGhpcy5fY2hhaW5JZCs4KSxPYmplY3QuYXNzaWduKHRoaXMscil9LHQucHJvdG90eXBlLmdldERhdGFGZWU9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9dGhpcy5yYXdbNV0sZT1uZXcgbygwKSxyPTA7cjx0Lmxlbmd0aDtyKyspMD09PXRbcl0/ZS5pYWRkbihpLnR4RGF0YVplcm9HYXMudik6ZS5pYWRkbihpLnR4RGF0YU5vblplcm9HYXMudik7cmV0dXJuIGV9LHQucHJvdG90eXBlLmdldEJhc2VGZWU9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmdldERhdGFGZWUoKS5pYWRkbihpLnR4R2FzLnYpO3JldHVybiB0aGlzLl9ob21lc3RlYWQmJnRoaXMudG9DcmVhdGlvbkFkZHJlc3MoKSYmdC5pYWRkbihpLnR4Q3JlYXRpb24udiksdH0sdC5wcm90b3R5cGUuZ2V0VXBmcm9udENvc3Q9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IG8odGhpcy5nYXNMaW1pdCkuaW11bChuZXcgbyh0aGlzLmdhc1ByaWNlKSkuaWFkZChuZXcgbyh0aGlzLnZhbHVlKSl9LHQucHJvdG90eXBlLnZhbGlkYXRlPWZ1bmN0aW9uKHQpe3ZhciBlPVtdO3JldHVybiB0aGlzLnZlcmlmeVNpZ25hdHVyZSgpfHxlLnB1c2goIkludmFsaWQgU2lnbmF0dXJlIiksdGhpcy5nZXRCYXNlRmVlKCkuY21wKG5ldyBvKHRoaXMuZ2FzTGltaXQpKT4wJiZlLnB1c2goWyJnYXMgbGltaXQgaXMgdG9vIGxvdy4gTmVlZCBhdCBsZWFzdCAiK3RoaXMuZ2V0QmFzZUZlZSgpXSksdm9pZCAwPT09dHx8ITE9PT10PzA9PT1lLmxlbmd0aDplLmpvaW4oIiAiKX0sdH0oKTt0LmV4cG9ydHM9YX0pLmNhbGwodGhpcyxyKDIpLkJ1ZmZlcil9LGZ1bmN0aW9uKHQpe3QuZXhwb3J0cz1KU09OLnBhcnNlKCd7ImdlbmVzaXNHYXNMaW1pdCI6eyJ2Ijo1MDAwLCJkIjoiR2FzIGxpbWl0IG9mIHRoZSBHZW5lc2lzIGJsb2NrLiJ9LCJnZW5lc2lzRGlmZmljdWx0eSI6eyJ2IjoxNzE3OTg2OTE4NCwiZCI6IkRpZmZpY3VsdHkgb2YgdGhlIEdlbmVzaXMgYmxvY2suIn0sImdlbmVzaXNOb25jZSI6eyJ2IjoiMHgwMDAwMDAwMDAwMDAwMDQyIiwiZCI6InRoZSBnZW5laXMgbm9uY2UifSwiZ2VuZXNpc0V4dHJhRGF0YSI6eyJ2IjoiMHgxMWJiZThkYjRlMzQ3YjRlOGM5MzdjMWM4MzcwZTRiNWVkMzNhZGIzZGI2OWNiZGI3YTM4ZTFlNTBiMWI4MmZhIiwiZCI6ImV4dHJhIGRhdGEgIn0sImdlbmVzaXNIYXNoIjp7InYiOiIweGQ0ZTU2NzQwZjg3NmFlZjhjMDEwYjg2YTQwZDVmNTY3NDVhMTE4ZDA5MDZhMzRlNjlhZWM4YzBkYjFjYjhmYTMiLCJkIjoiZ2VuZXNpcyBoYXNoIn0sImdlbmVzaXNTdGF0ZVJvb3QiOnsidiI6IjB4ZDdmODk3NGZiNWFjNzhkOWFjMDk5YjlhZDUwMThiZWRjMmNlMGE3MmRhZDE4MjdhMTcwOWRhMzA1ODBmMDU0NCIsImQiOiJ0aGUgZ2VuZXNpcyBzdGF0ZSByb290In0sIm1pbkdhc0xpbWl0Ijp7InYiOjUwMDAsImQiOiJNaW5pbXVtIHRoZSBnYXMgbGltaXQgbWF5IGV2ZXIgYmUuIn0sImdhc0xpbWl0Qm91bmREaXZpc29yIjp7InYiOjEwMjQsImQiOiJUaGUgYm91bmQgZGl2aXNvciBvZiB0aGUgZ2FzIGxpbWl0LCB1c2VkIGluIHVwZGF0ZSBjYWxjdWxhdGlvbnMuIn0sIm1pbmltdW1EaWZmaWN1bHR5Ijp7InYiOjEzMTA3MiwiZCI6IlRoZSBtaW5pbXVtIHRoYXQgdGhlIGRpZmZpY3VsdHkgbWF5IGV2ZXIgYmUuIn0sImRpZmZpY3VsdHlCb3VuZERpdmlzb3IiOnsidiI6MjA0OCwiZCI6IlRoZSBib3VuZCBkaXZpc29yIG9mIHRoZSBkaWZmaWN1bHR5LCB1c2VkIGluIHRoZSB1cGRhdGUgY2FsY3VsYXRpb25zLiJ9LCJkdXJhdGlvbkxpbWl0Ijp7InYiOjEzLCJkIjoiVGhlIGRlY2lzaW9uIGJvdW5kYXJ5IG9uIHRoZSBibG9ja3RpbWUgZHVyYXRpb24gdXNlZCB0byBkZXRlcm1pbmUgd2hldGhlciBkaWZmaWN1bHR5IHNob3VsZCBnbyB1cCBvciBub3QuIn0sIm1heGltdW1FeHRyYURhdGFTaXplIjp7InYiOjMyLCJkIjoiTWF4aW11bSBzaXplIGV4dHJhIGRhdGEgbWF5IGJlIGFmdGVyIEdlbmVzaXMuIn0sImVwb2NoRHVyYXRpb24iOnsidiI6MzAwMDAsImQiOiJEdXJhdGlvbiBiZXR3ZWVuIHByb29mLW9mLXdvcmsgZXBvY2hzLiJ9LCJzdGFja0xpbWl0Ijp7InYiOjEwMjQsImQiOiJNYXhpbXVtIHNpemUgb2YgVk0gc3RhY2sgYWxsb3dlZC4ifSwiY2FsbENyZWF0ZURlcHRoIjp7InYiOjEwMjQsImQiOiJNYXhpbXVtIGRlcHRoIG9mIGNhbGwvY3JlYXRlIHN0YWNrLiJ9LCJ0aWVyU3RlcEdhcyI6eyJ2IjpbMCwyLDMsNSw4LDEwLDIwXSwiZCI6Ik9uY2UgcGVyIG9wZXJhdGlvbiwgZm9yIGEgc2VsZWN0aW9uIG9mIHRoZW0uIn0sImV4cEdhcyI6eyJ2IjoxMCwiZCI6Ik9uY2UgcGVyIEVYUCBpbnN0dWN0aW9uLiJ9LCJleHBCeXRlR2FzIjp7InYiOjEwLCJkIjoiVGltZXMgY2VpbChsb2cyNTYoZXhwb25lbnQpKSBmb3IgdGhlIEVYUCBpbnN0cnVjdGlvbi4ifSwic2hhM0dhcyI6eyJ2IjozMCwiZCI6Ik9uY2UgcGVyIFNIQTMgb3BlcmF0aW9uLiJ9LCJzaGEzV29yZEdhcyI6eyJ2Ijo2LCJkIjoiT25jZSBwZXIgd29yZCBvZiB0aGUgU0hBMyBvcGVyYXRpb25cJ3MgZGF0YS4ifSwic2xvYWRHYXMiOnsidiI6NTAsImQiOiJPbmNlIHBlciBTTE9BRCBvcGVyYXRpb24uIn0sInNzdG9yZVNldEdhcyI6eyJ2IjoyMDAwMCwiZCI6Ik9uY2UgcGVyIFNTVE9SRSBvcGVyYXRpb24gaWYgdGhlIHplcm9uZXNzIGNoYW5nZXMgZnJvbSB6ZXJvLiJ9LCJzc3RvcmVSZXNldEdhcyI6eyJ2Ijo1MDAwLCJkIjoiT25jZSBwZXIgU1NUT1JFIG9wZXJhdGlvbiBpZiB0aGUgemVyb25lc3MgZG9lcyBub3QgY2hhbmdlIGZyb20gemVyby4ifSwic3N0b3JlUmVmdW5kR2FzIjp7InYiOjE1MDAwLCJkIjoiT25jZSBwZXIgU1NUT1JFIG9wZXJhdGlvbiBpZiB0aGUgemVyb25lc3MgY2hhbmdlcyB0byB6ZXJvLiJ9LCJqdW1wZGVzdEdhcyI6eyJ2IjoxLCJkIjoiUmVmdW5kZWQgZ2FzLCBvbmNlIHBlciBTU1RPUkUgb3BlcmF0aW9uIGlmIHRoZSB6ZXJvbmVzcyBjaGFuZ2VzIHRvIHplcm8uIn0sImxvZ0dhcyI6eyJ2IjozNzUsImQiOiJQZXIgTE9HKiBvcGVyYXRpb24uIn0sImxvZ0RhdGFHYXMiOnsidiI6OCwiZCI6IlBlciBieXRlIGluIGEgTE9HKiBvcGVyYXRpb25cJ3MgZGF0YS4ifSwibG9nVG9waWNHYXMiOnsidiI6Mzc1LCJkIjoiTXVsdGlwbGllZCBieSB0aGUgKiBvZiB0aGUgTE9HKiwgcGVyIExPRyB0cmFuc2FjdGlvbi4gZS5nLiBMT0cwIGluY3VycyAwICogY190eExvZ1RvcGljR2FzLCBMT0c0IGluY3VycyA0ICogY190eExvZ1RvcGljR2FzLiJ9LCJjcmVhdGVHYXMiOnsidiI6MzIwMDAsImQiOiJPbmNlIHBlciBDUkVBVEUgb3BlcmF0aW9uICYgY29udHJhY3QtY3JlYXRpb24gdHJhbnNhY3Rpb24uIn0sImNhbGxHYXMiOnsidiI6NDAsImQiOiJPbmNlIHBlciBDQUxMIG9wZXJhdGlvbiAmIG1lc3NhZ2UgY2FsbCB0cmFuc2FjdGlvbi4ifSwiY2FsbFN0aXBlbmQiOnsidiI6MjMwMCwiZCI6IkZyZWUgZ2FzIGdpdmVuIGF0IGJlZ2lubmluZyBvZiBjYWxsLiJ9LCJjYWxsVmFsdWVUcmFuc2ZlckdhcyI6eyJ2Ijo5MDAwLCJkIjoiUGFpZCBmb3IgQ0FMTCB3aGVuIHRoZSB2YWx1ZSB0cmFuc2ZvciBpcyBub24temVyby4ifSwiY2FsbE5ld0FjY291bnRHYXMiOnsidiI6MjUwMDAsImQiOiJQYWlkIGZvciBDQUxMIHdoZW4gdGhlIGRlc3RpbmF0aW9uIGFkZHJlc3MgZGlkblwndCBleGlzdCBwcmlvci4ifSwic3VpY2lkZVJlZnVuZEdhcyI6eyJ2IjoyNDAwMCwiZCI6IlJlZnVuZGVkIGZvbGxvd2luZyBhIHN1aWNpZGUgb3BlcmF0aW9uLiJ9LCJtZW1vcnlHYXMiOnsidiI6MywiZCI6IlRpbWVzIHRoZSBhZGRyZXNzIG9mIHRoZSAoaGlnaGVzdCByZWZlcmVuY2VkIGJ5dGUgaW4gbWVtb3J5ICsgMSkuIE5PVEU6IHJlZmVyZW5jaW5nIGhhcHBlbnMgb24gcmVhZCwgd3JpdGUgYW5kIGluIGluc3RydWN0aW9ucyBzdWNoIGFzIFJFVFVSTiBhbmQgQ0FMTC4ifSwicXVhZENvZWZmRGl2Ijp7InYiOjUxMiwiZCI6IkRpdmlzb3IgZm9yIHRoZSBxdWFkcmF0aWMgcGFydGljbGUgb2YgdGhlIG1lbW9yeSBjb3N0IGVxdWF0aW9uLiJ9LCJjcmVhdGVEYXRhR2FzIjp7InYiOjIwMCwiZCI6IiJ9LCJ0eEdhcyI6eyJ2IjoyMTAwMCwiZCI6IlBlciB0cmFuc2FjdGlvbi4gTk9URTogTm90IHBheWFibGUgb24gZGF0YSBvZiBjYWxscyBiZXR3ZWVuIHRyYW5zYWN0aW9ucy4ifSwidHhDcmVhdGlvbiI6eyJ2IjozMjAwMCwiZCI6InRoZSBjb3N0IG9mIGNyZWF0aW5nIGEgY29udHJhY3QgdmlhIHR4In0sInR4RGF0YVplcm9HYXMiOnsidiI6NCwiZCI6IlBlciBieXRlIG9mIGRhdGEgYXR0YWNoZWQgdG8gYSB0cmFuc2FjdGlvbiB0aGF0IGVxdWFscyB6ZXJvLiBOT1RFOiBOb3QgcGF5YWJsZSBvbiBkYXRhIG9mIGNhbGxzIGJldHdlZW4gdHJhbnNhY3Rpb25zLiJ9LCJ0eERhdGFOb25aZXJvR2FzIjp7InYiOjY4LCJkIjoiUGVyIGJ5dGUgb2YgZGF0YSBhdHRhY2hlZCB0byBhIHRyYW5zYWN0aW9uIHRoYXQgaXMgbm90IGVxdWFsIHRvIHplcm8uIE5PVEU6IE5vdCBwYXlhYmxlIG9uIGRhdGEgb2YgY2FsbHMgYmV0d2VlbiB0cmFuc2FjdGlvbnMuIn0sImNvcHlHYXMiOnsidiI6MywiZCI6Ik11bHRpcGxpZWQgYnkgdGhlIG51bWJlciBvZiAzMi1ieXRlIHdvcmRzIHRoYXQgYXJlIGNvcGllZCAocm91bmQgdXApIGZvciBhbnkgKkNPUFkgb3BlcmF0aW9uIGFuZCBhZGRlZC4ifSwiZWNyZWNvdmVyR2FzIjp7InYiOjMwMDAsImQiOiIifSwic2hhMjU2R2FzIjp7InYiOjYwLCJkIjoiIn0sInNoYTI1NldvcmRHYXMiOnsidiI6MTIsImQiOiIifSwicmlwZW1kMTYwR2FzIjp7InYiOjYwMCwiZCI6IiJ9LCJyaXBlbWQxNjBXb3JkR2FzIjp7InYiOjEyMCwiZCI6IiJ9LCJpZGVudGl0eUdhcyI6eyJ2IjoxNSwiZCI6IiJ9LCJpZGVudGl0eVdvcmRHYXMiOnsidiI6MywiZCI6IiJ9LCJtaW5lclJld2FyZCI6eyJ2IjoiNTAwMDAwMDAwMDAwMDAwMDAwMCIsImQiOiJ0aGUgYW1vdW50IGEgbWluZXIgZ2V0IHJld2FyZGVkIGZvciBtaW5pbmcgYSBibG9jayJ9LCJvbW1lclJld2FyZCI6eyJ2IjoiNjI1MDAwMDAwMDAwMDAwMDAwIiwiZCI6IlRoZSBhbW91bnQgb2Ygd2VpIGEgbWluZXIgb2YgYW4gdW5jbGUgYmxvY2sgZ2V0cyBmb3IgYmVpbmcgaW5jdWxkZWQgaW4gdGhlIGJsb2NrY2hhaW4ifSwibmlibGluZ1Jld2FyZCI6eyJ2IjoiMTU2MjUwMDAwMDAwMDAwMDAwIiwiZCI6InRoZSBhbW91bnQgYSBtaW5lciBnZXRzIGZvciBpbmN1bGRpbmcgYSB1bmNsZSJ9LCJob21lU3RlYWRGb3JrTnVtYmVyIjp7InYiOjExNTAwMDAsImQiOiJ0aGUgYmxvY2sgdGhhdCB0aGUgSG9tZXN0ZWFkIGZvcmsgc3RhcnRlZCBhdCJ9LCJob21lc3RlYWRSZXByaWNlRm9ya051bWJlciI6eyJ2IjoyNDYzMDAwLCJkIjoidGhlIGJsb2NrIHRoYXQgdGhlIEhvbWVzdGVhZCBSZXByaWNlIChFSVAxNTApIGZvcmsgc3RhcnRlZCBhdCJ9LCJ0aW1lYm9tYlBlcmlvZCI6eyJ2IjoxMDAwMDAsImQiOiJFeHBvbmVudGlhbCBkaWZmaWN1bHR5IHRpbWVib21iIHBlcmlvZCJ9LCJmcmVlQmxvY2tQZXJpb2QiOnsidiI6Mn19Jyl9LGZ1bmN0aW9uKHQsZSxyKXtjb25zdCBuPXIoNjgpLGk9cigzNzMpO3QuZXhwb3J0cz1jbGFzcyBleHRlbmRzIG57Y29uc3RydWN0b3IoKXtzdXBlcigoe2Jsb2NrVHJhY2tlcjp0LHByb3ZpZGVyOmUsZW5naW5lOnJ9KT0+e2NvbnN0e2V2ZW50czpuLG1pZGRsZXdhcmU6b309aSh7YmxvY2tUcmFja2VyOnQscHJvdmlkZXI6ZX0pO3JldHVybiBuLm9uKCJub3RpZmljYXRpb24iLHQ9PnIuZW1pdCgiZGF0YSIsbnVsbCx0KSksb30pfX19LGZ1bmN0aW9uKHQsZSxyKXtjb25zdCBuPXIoNjkpLmRlZmF1bHQsaT1yKDE1Nikse2NyZWF0ZUFzeW5jTWlkZGxld2FyZTpvfT1yKDE1Mikscz1yKDE1MSkse3Vuc2FmZVJhbmRvbUJ5dGVzOmEsaW5jcmVtZW50SGV4SW50OnV9PXIoMzkpLGM9cig3Myk7ZnVuY3Rpb24gZih0KXtyZXR1cm57aGFzaDp0Lmhhc2gscGFyZW50SGFzaDp0LnBhcmVudEhhc2gsc2hhM1VuY2xlczp0LnNoYTNVbmNsZXMsbWluZXI6dC5taW5lcixzdGF0ZVJvb3Q6dC5zdGF0ZVJvb3QsdHJhbnNhY3Rpb25zUm9vdDp0LnRyYW5zYWN0aW9uc1Jvb3QscmVjZWlwdHNSb290OnQucmVjZWlwdHNSb290LGxvZ3NCbG9vbTp0LmxvZ3NCbG9vbSxkaWZmaWN1bHR5OnQuZGlmZmljdWx0eSxudW1iZXI6dC5udW1iZXIsZ2FzTGltaXQ6dC5nYXNMaW1pdCxnYXNVc2VkOnQuZ2FzVXNlZCxub25jZTp0Lm5vbmNlLG1peEhhc2g6dC5taXhIYXNoLHRpbWVzdGFtcDp0LnRpbWVzdGFtcCxleHRyYURhdGE6dC5leHRyYURhdGF9fXQuZXhwb3J0cz1mdW5jdGlvbih7YmxvY2tUcmFja2VyOnQscHJvdmlkZXI6ZX0pe2NvbnN0IHI9e30saD1zKHtibG9ja1RyYWNrZXI6dCxwcm92aWRlcjplfSk7bGV0IGw9ITE7Y29uc3QgZD1uZXcgbixwPWkoe2V0aF9zdWJzY3JpYmU6bygoYXN5bmMgZnVuY3Rpb24obixpKXtpZihsKXRocm93IG5ldyBFcnJvcigiU3Vic2NyaXB0aW9uTWFuYWdlciAtIGF0dGVtcHRpbmcgdG8gdXNlIGFmdGVyIGRlc3Ryb3lpbmciKTtjb25zdCBvPW4ucGFyYW1zWzBdLHM9YSgxNik7bGV0IGQ7c3dpdGNoKG8pe2Nhc2UibmV3SGVhZHMiOmQ9ZnVuY3Rpb24oe3N1YklkOnJ9KXtjb25zdCBuPXt0eXBlOm8sZGVzdHJveTphc3luYygpPT57dC5yZW1vdmVMaXN0ZW5lcigic3luYyIsbi51cGRhdGUpfSx1cGRhdGU6YXN5bmMoe29sZEJsb2NrOnQsbmV3QmxvY2s6bn0pPT57Y29uc3QgaT1uLG89dSh0KTsoYXdhaXQgYyh7cHJvdmlkZXI6ZSxmcm9tQmxvY2s6byx0b0Jsb2NrOml9KSkubWFwKGYpLmZvckVhY2godD0+e20ocix0KX0pfX07cmV0dXJuIHQub24oInN5bmMiLG4udXBkYXRlKSxufSh7c3ViSWQ6c30pO2JyZWFrO2Nhc2UibG9ncyI6Y29uc3Qgcj1uLnBhcmFtc1sxXSxpPWF3YWl0IGgubmV3TG9nRmlsdGVyKHIpO2Q9ZnVuY3Rpb24oe3N1YklkOnQsZmlsdGVyOmV9KXtlLm9uKCJ1cGRhdGUiLGU9Pm0odCxlKSk7cmV0dXJue3R5cGU6byxkZXN0cm95OmFzeW5jKCk9PmF3YWl0IGgudW5pbnN0YWxsRmlsdGVyKGUuaWRIZXgpfX0oe3N1YklkOnMsZmlsdGVyOml9KTticmVhaztkZWZhdWx0OnRocm93IG5ldyBFcnJvcihgU3Vic2NyaXB0aW9uTWFuYWdlciAtIHVuc3VwcG9ydGVkIHN1YnNjcmlwdGlvbiB0eXBlICIke299ImApfXJldHVybiByW3NdPWQsdm9pZChpLnJlc3VsdD1zKX0pKSxldGhfdW5zdWJzY3JpYmU6bygoYXN5bmMgZnVuY3Rpb24odCxlKXtpZihsKXRocm93IG5ldyBFcnJvcigiU3Vic2NyaXB0aW9uTWFuYWdlciAtIGF0dGVtcHRpbmcgdG8gdXNlIGFmdGVyIGRlc3Ryb3lpbmciKTtjb25zdCBuPXQucGFyYW1zWzBdLGk9cltuXTtpZighaSlyZXR1cm4gdm9pZChlLnJlc3VsdD0hMSk7ZGVsZXRlIHJbbl0sYXdhaXQgaS5kZXN0cm95KCksZS5yZXN1bHQ9ITB9KSl9KTtyZXR1cm4gcC5kZXN0cm95PWZ1bmN0aW9uKCl7ZC5yZW1vdmVBbGxMaXN0ZW5lcnMoKTtmb3IoY29uc3QgdCBpbiByKXJbdF0uZGVzdHJveSgpLGRlbGV0ZSByW3RdO2w9ITB9LHtldmVudHM6ZCxtaWRkbGV3YXJlOnB9O2Z1bmN0aW9uIG0odCxlKXtkLmVtaXQoIm5vdGlmaWNhdGlvbiIse2pzb25ycGM6IjIuMCIsbWV0aG9kOiJldGhfc3Vic2NyaXB0aW9uIixwYXJhbXM6e3N1YnNjcmlwdGlvbjp0LHJlc3VsdDplfX0pfX19LGZ1bmN0aW9uKHQsZSxyKXsidXNlIHN0cmljdCI7ci5yKGUpO3ZhciBuPXt9O3IucihuKSxyLmQobiwiZ2VuZXJhdGVLZXkiLChmdW5jdGlvbigpe3JldHVybiBkfSkpLHIuZChuLCJ2ZXJpZnlIbWFjIiwoZnVuY3Rpb24oKXtyZXR1cm4gcH0pKSxyLmQobiwiZW5jcnlwdCIsKGZ1bmN0aW9uKCl7cmV0dXJuIG19KSksci5kKG4sImRlY3J5cHQiLChmdW5jdGlvbigpe3JldHVybiBnfSkpO3ZhciBpPXIoMSksbz1yKDE2Mik7dmFyIHM9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLl9ldmVudEVtaXR0ZXJzPVtdfXN1YnNjcmliZSh0KXt0aGlzLl9ldmVudEVtaXR0ZXJzLnB1c2godCl9dW5zdWJzY3JpYmUodCl7dGhpcy5fZXZlbnRFbWl0dGVycz10aGlzLl9ldmVudEVtaXR0ZXJzLmZpbHRlcihlPT5lLmV2ZW50IT09dCl9dHJpZ2dlcih0KXtsZXQgZSxyPVtdO2U9T2JqZWN0KGkuaXNKc29uUnBjUmVxdWVzdCkodCk/dC5tZXRob2Q6T2JqZWN0KGkuaXNKc29uUnBjUmVzcG9uc2VTdWNjZXNzKSh0KXx8T2JqZWN0KGkuaXNKc29uUnBjUmVzcG9uc2VFcnJvcikodCk/InJlc3BvbnNlOiIrdC5pZDpPYmplY3QoaS5pc0ludGVybmFsRXZlbnQpKHQpP3QuZXZlbnQ6IiIsZSYmKHI9dGhpcy5fZXZlbnRFbWl0dGVycy5maWx0ZXIodD0+dC5ldmVudD09PWUpKSxyJiZyLmxlbmd0aHx8T2JqZWN0KGkuaXNSZXNlcnZlZEV2ZW50KShlKXx8T2JqZWN0KGkuaXNJbnRlcm5hbEV2ZW50KShlKXx8KHI9dGhpcy5fZXZlbnRFbWl0dGVycy5maWx0ZXIodD0+ImNhbGxfcmVxdWVzdCI9PT10LmV2ZW50KSksci5mb3JFYWNoKGU9PntpZihPYmplY3QoaS5pc0pzb25ScGNSZXNwb25zZUVycm9yKSh0KSl7Y29uc3Qgcj1uZXcgRXJyb3IodC5lcnJvci5tZXNzYWdlKTtlLmNhbGxiYWNrKHIsbnVsbCl9ZWxzZSBlLmNhbGxiYWNrKG51bGwsdCl9KX19O3ZhciBhPWNsYXNze2NvbnN0cnVjdG9yKHQ9IndhbGxldGNvbm5lY3QiKXt0aGlzLnN0b3JhZ2VJZD10fWdldFNlc3Npb24oKXtsZXQgdD1udWxsO2NvbnN0IGU9T2JqZWN0KGkuZ2V0TG9jYWwpKHRoaXMuc3RvcmFnZUlkKTtyZXR1cm4gZSYmT2JqZWN0KGkuaXNXYWxsZXRDb25uZWN0U2Vzc2lvbikoZSkmJih0PWUpLHR9c2V0U2Vzc2lvbih0KXtyZXR1cm4gT2JqZWN0KGkuc2V0TG9jYWwpKHRoaXMuc3RvcmFnZUlkLHQpLHR9cmVtb3ZlU2Vzc2lvbigpe09iamVjdChpLnJlbW92ZUxvY2FsKSh0aGlzLnN0b3JhZ2VJZCl9fTtjb25zdCB1PSJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkiLnNwbGl0KCIiKS5tYXAodD0+YGh0dHBzOi8vJHt0fS5icmlkZ2Uud2FsbGV0Y29ubmVjdC5vcmdgKTtmdW5jdGlvbiBjKCl7cmV0dXJuIHVbTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKnUubGVuZ3RoKV19dmFyIGY9Y2xhc3N7Y29uc3RydWN0b3IodCl7aWYodGhpcy5wcm90b2NvbD0id2MiLHRoaXMudmVyc2lvbj0xLHRoaXMuX2JyaWRnZT0iIix0aGlzLl9rZXk9bnVsbCx0aGlzLl9jbGllbnRJZD0iIix0aGlzLl9jbGllbnRNZXRhPW51bGwsdGhpcy5fcGVlcklkPSIiLHRoaXMuX3BlZXJNZXRhPW51bGwsdGhpcy5faGFuZHNoYWtlSWQ9MCx0aGlzLl9oYW5kc2hha2VUb3BpYz0iIix0aGlzLl9jb25uZWN0ZWQ9ITEsdGhpcy5fYWNjb3VudHM9W10sdGhpcy5fY2hhaW5JZD0wLHRoaXMuX25ldHdvcmtJZD0wLHRoaXMuX3JwY1VybD0iIix0aGlzLl9ldmVudE1hbmFnZXI9bmV3IHMsdGhpcy5fY2xpZW50TWV0YT1PYmplY3QoaS5nZXRDbGllbnRNZXRhKSgpfHx0LmNvbm5lY3Rvck9wdHMuY2xpZW50TWV0YXx8bnVsbCx0aGlzLl9jcnlwdG9MaWI9dC5jcnlwdG9MaWIsdGhpcy5fc2Vzc2lvblN0b3JhZ2U9dC5zZXNzaW9uU3RvcmFnZXx8bmV3IGEodC5jb25uZWN0b3JPcHRzLnN0b3JhZ2VJZCksdGhpcy5fcXJjb2RlTW9kYWw9dC5jb25uZWN0b3JPcHRzLnFyY29kZU1vZGFsLHRoaXMuX3FyY29kZU1vZGFsT3B0aW9ucz10LmNvbm5lY3Rvck9wdHMucXJjb2RlTW9kYWxPcHRpb25zLHRoaXMuX3NpZ25pbmdNZXRob2RzPVsuLi5pLnNpZ25pbmdNZXRob2RzLC4uLnQuY29ubmVjdG9yT3B0cy5zaWduaW5nTWV0aG9kc3x8W11dLCF0LmNvbm5lY3Rvck9wdHMuYnJpZGdlJiYhdC5jb25uZWN0b3JPcHRzLnVyaSYmIXQuY29ubmVjdG9yT3B0cy5zZXNzaW9uKXRocm93IG5ldyBFcnJvcigiTWlzc2luZyBvbmUgb2YgdGhlIHJlcXVpcmVkIHBhcmFtZXRlcnM6IGJyaWRnZSAvIHVyaSAvIHNlc3Npb24iKTt2YXIgZTt0LmNvbm5lY3Rvck9wdHMuYnJpZGdlJiYodGhpcy5icmlkZ2U9ZnVuY3Rpb24odCl7cmV0dXJuIndhbGxldGNvbm5lY3Qub3JnIj09PWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbih0KXtsZXQgZT10LmluZGV4T2YoIi8vIik+LTE/dC5zcGxpdCgiLyIpWzJdOnQuc3BsaXQoIi8iKVswXTtyZXR1cm4gZT1lLnNwbGl0KCI6IilbMF0sZT1lLnNwbGl0KCI/IilbMF0sZX0odCkuc3BsaXQoIi4iKS5zbGljZSgtMikuam9pbigiLiIpfSh0KX0oZT10LmNvbm5lY3Rvck9wdHMuYnJpZGdlKT9jKCk6ZSksdC5jb25uZWN0b3JPcHRzLnVyaSYmKHRoaXMudXJpPXQuY29ubmVjdG9yT3B0cy51cmkpO2NvbnN0IHI9dC5jb25uZWN0b3JPcHRzLnNlc3Npb258fHRoaXMuX2dldFN0b3JhZ2VTZXNzaW9uKCk7ciYmKHRoaXMuc2Vzc2lvbj1yKSx0aGlzLmhhbmRzaGFrZUlkJiZ0aGlzLl9zdWJzY3JpYmVUb1Nlc3Npb25SZXNwb25zZSh0aGlzLmhhbmRzaGFrZUlkLCJTZXNzaW9uIHJlcXVlc3QgcmVqZWN0ZWQiKSx0aGlzLl90cmFuc3BvcnQ9dC50cmFuc3BvcnR8fG5ldyBvLmEoe3Byb3RvY29sOnRoaXMucHJvdG9jb2wsdmVyc2lvbjp0aGlzLnZlcnNpb24sdXJsOnRoaXMuYnJpZGdlLHN1YnNjcmlwdGlvbnM6W3RoaXMuY2xpZW50SWRdfSksdGhpcy5fc3Vic2NyaWJlVG9JbnRlcm5hbEV2ZW50cygpLHRoaXMuX2luaXRUcmFuc3BvcnQoKSx0LmNvbm5lY3Rvck9wdHMudXJpJiZ0aGlzLl9zdWJzY3JpYmVUb1Nlc3Npb25SZXF1ZXN0KCksdC5wdXNoU2VydmVyT3B0cyYmdGhpcy5fcmVnaXN0ZXJQdXNoU2VydmVyKHQucHVzaFNlcnZlck9wdHMpfXNldCBicmlkZ2UodCl7dCYmKHRoaXMuX2JyaWRnZT10KX1nZXQgYnJpZGdlKCl7cmV0dXJuIHRoaXMuX2JyaWRnZX1zZXQga2V5KHQpe2lmKCF0KXJldHVybjtjb25zdCBlPU9iamVjdChpLmNvbnZlcnRIZXhUb0FycmF5QnVmZmVyKSh0KTt0aGlzLl9rZXk9ZX1nZXQga2V5KCl7aWYodGhpcy5fa2V5KXtyZXR1cm4gT2JqZWN0KGkuY29udmVydEFycmF5QnVmZmVyVG9IZXgpKHRoaXMuX2tleSwhMCl9cmV0dXJuIiJ9c2V0IGNsaWVudElkKHQpe3QmJih0aGlzLl9jbGllbnRJZD10KX1nZXQgY2xpZW50SWQoKXtsZXQgdD10aGlzLl9jbGllbnRJZDtyZXR1cm4gdHx8KHQ9dGhpcy5fY2xpZW50SWQ9T2JqZWN0KGkudXVpZCkoKSksdGhpcy5fY2xpZW50SWR9c2V0IHBlZXJJZCh0KXt0JiYodGhpcy5fcGVlcklkPXQpfWdldCBwZWVySWQoKXtyZXR1cm4gdGhpcy5fcGVlcklkfXNldCBjbGllbnRNZXRhKHQpe31nZXQgY2xpZW50TWV0YSgpe2xldCB0PXRoaXMuX2NsaWVudE1ldGE7cmV0dXJuIHR8fCh0PXRoaXMuX2NsaWVudE1ldGE9T2JqZWN0KGkuZ2V0Q2xpZW50TWV0YSkoKSksdH1zZXQgcGVlck1ldGEodCl7dGhpcy5fcGVlck1ldGE9dH1nZXQgcGVlck1ldGEoKXtyZXR1cm4gdGhpcy5fcGVlck1ldGF9c2V0IGhhbmRzaGFrZVRvcGljKHQpe3QmJih0aGlzLl9oYW5kc2hha2VUb3BpYz10KX1nZXQgaGFuZHNoYWtlVG9waWMoKXtyZXR1cm4gdGhpcy5faGFuZHNoYWtlVG9waWN9c2V0IGhhbmRzaGFrZUlkKHQpe3QmJih0aGlzLl9oYW5kc2hha2VJZD10KX1nZXQgaGFuZHNoYWtlSWQoKXtyZXR1cm4gdGhpcy5faGFuZHNoYWtlSWR9Z2V0IHVyaSgpe3JldHVybiB0aGlzLl9mb3JtYXRVcmkoKX1zZXQgdXJpKHQpe2lmKCF0KXJldHVybjtjb25zdHtoYW5kc2hha2VUb3BpYzplLGJyaWRnZTpyLGtleTpufT10aGlzLl9wYXJzZVVyaSh0KTt0aGlzLmhhbmRzaGFrZVRvcGljPWUsdGhpcy5icmlkZ2U9cix0aGlzLmtleT1ufXNldCBjaGFpbklkKHQpe3RoaXMuX2NoYWluSWQ9dH1nZXQgY2hhaW5JZCgpe3JldHVybiB0aGlzLl9jaGFpbklkfXNldCBuZXR3b3JrSWQodCl7dGhpcy5fbmV0d29ya0lkPXR9Z2V0IG5ldHdvcmtJZCgpe3JldHVybiB0aGlzLl9uZXR3b3JrSWR9c2V0IGFjY291bnRzKHQpe3RoaXMuX2FjY291bnRzPXR9Z2V0IGFjY291bnRzKCl7cmV0dXJuIHRoaXMuX2FjY291bnRzfXNldCBycGNVcmwodCl7dGhpcy5fcnBjVXJsPXR9Z2V0IHJwY1VybCgpe3JldHVybiB0aGlzLl9ycGNVcmx9c2V0IGNvbm5lY3RlZCh0KXt9Z2V0IGNvbm5lY3RlZCgpe3JldHVybiB0aGlzLl9jb25uZWN0ZWR9c2V0IHBlbmRpbmcodCl7fWdldCBwZW5kaW5nKCl7cmV0dXJuISF0aGlzLl9oYW5kc2hha2VUb3BpY31nZXQgc2Vzc2lvbigpe3JldHVybntjb25uZWN0ZWQ6dGhpcy5jb25uZWN0ZWQsYWNjb3VudHM6dGhpcy5hY2NvdW50cyxjaGFpbklkOnRoaXMuY2hhaW5JZCxicmlkZ2U6dGhpcy5icmlkZ2Usa2V5OnRoaXMua2V5LGNsaWVudElkOnRoaXMuY2xpZW50SWQsY2xpZW50TWV0YTp0aGlzLmNsaWVudE1ldGEscGVlcklkOnRoaXMucGVlcklkLHBlZXJNZXRhOnRoaXMucGVlck1ldGEsaGFuZHNoYWtlSWQ6dGhpcy5oYW5kc2hha2VJZCxoYW5kc2hha2VUb3BpYzp0aGlzLmhhbmRzaGFrZVRvcGljfX1zZXQgc2Vzc2lvbih0KXt0JiYodGhpcy5fY29ubmVjdGVkPXQuY29ubmVjdGVkLHRoaXMuYWNjb3VudHM9dC5hY2NvdW50cyx0aGlzLmNoYWluSWQ9dC5jaGFpbklkLHRoaXMuYnJpZGdlPXQuYnJpZGdlLHRoaXMua2V5PXQua2V5LHRoaXMuY2xpZW50SWQ9dC5jbGllbnRJZCx0aGlzLmNsaWVudE1ldGE9dC5jbGllbnRNZXRhLHRoaXMucGVlcklkPXQucGVlcklkLHRoaXMucGVlck1ldGE9dC5wZWVyTWV0YSx0aGlzLmhhbmRzaGFrZUlkPXQuaGFuZHNoYWtlSWQsdGhpcy5oYW5kc2hha2VUb3BpYz10LmhhbmRzaGFrZVRvcGljKX1vbih0LGUpe2NvbnN0IHI9e2V2ZW50OnQsY2FsbGJhY2s6ZX07dGhpcy5fZXZlbnRNYW5hZ2VyLnN1YnNjcmliZShyKX1vZmYodCl7dGhpcy5fZXZlbnRNYW5hZ2VyLnVuc3Vic2NyaWJlKHQpfWFzeW5jIGNyZWF0ZUluc3RhbnRSZXF1ZXN0KHQpe3RoaXMuX2tleT1hd2FpdCB0aGlzLl9nZW5lcmF0ZUtleSgpO2NvbnN0IGU9dGhpcy5fZm9ybWF0UmVxdWVzdCh7bWV0aG9kOiJ3Y19pbnN0YW50UmVxdWVzdCIscGFyYW1zOlt7cGVlcklkOnRoaXMuY2xpZW50SWQscGVlck1ldGE6dGhpcy5jbGllbnRNZXRhLHJlcXVlc3Q6dGhpcy5fZm9ybWF0UmVxdWVzdCh0KX1dfSk7dGhpcy5oYW5kc2hha2VJZD1lLmlkLHRoaXMuaGFuZHNoYWtlVG9waWM9T2JqZWN0KGkudXVpZCkoKSx0aGlzLl9ldmVudE1hbmFnZXIudHJpZ2dlcih7ZXZlbnQ6ImRpc3BsYXlfdXJpIixwYXJhbXM6W3RoaXMudXJpXX0pLHRoaXMub24oIm1vZGFsX2Nsb3NlZCIsKCk9Pnt0aHJvdyBuZXcgRXJyb3IoIlVzZXIgY2xvc2UgUVJDb2RlIE1vZGFsIil9KTtjb25zdCByPSgpPT57dGhpcy5raWxsU2Vzc2lvbigpfTt0cnl7Y29uc3QgdD1hd2FpdCB0aGlzLl9zZW5kQ2FsbFJlcXVlc3QoZSk7cmV0dXJuIHQmJnIoKSx0fWNhdGNoKHQpe3Rocm93IHIoKSx0fX1hc3luYyBjb25uZWN0KHQpe2lmKCF0aGlzLl9xcmNvZGVNb2RhbCl0aHJvdyBuZXcgRXJyb3IoIlFSQ29kZSBNb2RhbCBub3QgcHJvdmlkZWQiKTtyZXR1cm4gdGhpcy5jb25uZWN0ZWQ/e2NoYWluSWQ6dGhpcy5jaGFpbklkLGFjY291bnRzOnRoaXMuYWNjb3VudHN9Oihhd2FpdCB0aGlzLmNyZWF0ZVNlc3Npb24odCksbmV3IFByb21pc2UoYXN5bmModCxlKT0+e3RoaXMub24oIm1vZGFsX2Nsb3NlZCIsKCk9PmUobmV3IEVycm9yKCJVc2VyIGNsb3NlIFFSQ29kZSBNb2RhbCIpKSksdGhpcy5vbigiY29ubmVjdCIsKHIsbik9PntpZihyKXJldHVybiBlKHIpO3Qobi5wYXJhbXNbMF0pfSl9KSl9YXN5bmMgY3JlYXRlU2Vzc2lvbih0KXtpZih0aGlzLl9jb25uZWN0ZWQpdGhyb3cgbmV3IEVycm9yKCJTZXNzaW9uIGN1cnJlbnRseSBjb25uZWN0ZWQiKTtpZih0aGlzLnBlbmRpbmcpcmV0dXJuO3RoaXMuX2tleT1hd2FpdCB0aGlzLl9nZW5lcmF0ZUtleSgpO2NvbnN0IGU9dGhpcy5fZm9ybWF0UmVxdWVzdCh7bWV0aG9kOiJ3Y19zZXNzaW9uUmVxdWVzdCIscGFyYW1zOlt7cGVlcklkOnRoaXMuY2xpZW50SWQscGVlck1ldGE6dGhpcy5jbGllbnRNZXRhLGNoYWluSWQ6dCYmdC5jaGFpbklkP3QuY2hhaW5JZDpudWxsfV19KTt0aGlzLmhhbmRzaGFrZUlkPWUuaWQsdGhpcy5oYW5kc2hha2VUb3BpYz1PYmplY3QoaS51dWlkKSgpLHRoaXMuX3NlbmRTZXNzaW9uUmVxdWVzdChlLCJTZXNzaW9uIHVwZGF0ZSByZWplY3RlZCIse3RvcGljOnRoaXMuaGFuZHNoYWtlVG9waWN9KSx0aGlzLl9ldmVudE1hbmFnZXIudHJpZ2dlcih7ZXZlbnQ6ImRpc3BsYXlfdXJpIixwYXJhbXM6W3RoaXMudXJpXX0pfWFwcHJvdmVTZXNzaW9uKHQpe2lmKHRoaXMuX2Nvbm5lY3RlZCl0aHJvdyBuZXcgRXJyb3IoIlNlc3Npb24gY3VycmVudGx5IGNvbm5lY3RlZCIpO3RoaXMuY2hhaW5JZD10LmNoYWluSWQsdGhpcy5hY2NvdW50cz10LmFjY291bnRzLHRoaXMubmV0d29ya0lkPXQubmV0d29ya0lkfHwwLHRoaXMucnBjVXJsPXQucnBjVXJsfHwiIjtjb25zdCBlPXthcHByb3ZlZDohMCxjaGFpbklkOnRoaXMuY2hhaW5JZCxuZXR3b3JrSWQ6dGhpcy5uZXR3b3JrSWQsYWNjb3VudHM6dGhpcy5hY2NvdW50cyxycGNVcmw6dGhpcy5ycGNVcmwscGVlcklkOnRoaXMuY2xpZW50SWQscGVlck1ldGE6dGhpcy5jbGllbnRNZXRhfSxyPXtpZDp0aGlzLmhhbmRzaGFrZUlkLGpzb25ycGM6IjIuMCIscmVzdWx0OmV9O3RoaXMuX3NlbmRSZXNwb25zZShyKSx0aGlzLl9jb25uZWN0ZWQ9ITAsdGhpcy5fc2V0U3RvcmFnZVNlc3Npb24oKSx0aGlzLl9ldmVudE1hbmFnZXIudHJpZ2dlcih7ZXZlbnQ6ImNvbm5lY3QiLHBhcmFtczpbe3BlZXJJZDp0aGlzLnBlZXJJZCxwZWVyTWV0YTp0aGlzLnBlZXJNZXRhLGNoYWluSWQ6dGhpcy5jaGFpbklkLGFjY291bnRzOnRoaXMuYWNjb3VudHN9XX0pfXJlamVjdFNlc3Npb24odCl7aWYodGhpcy5fY29ubmVjdGVkKXRocm93IG5ldyBFcnJvcigiU2Vzc2lvbiBjdXJyZW50bHkgY29ubmVjdGVkIik7Y29uc3QgZT10JiZ0Lm1lc3NhZ2U/dC5tZXNzYWdlOiJTZXNzaW9uIFJlamVjdGVkIixyPXRoaXMuX2Zvcm1hdFJlc3BvbnNlKHtpZDp0aGlzLmhhbmRzaGFrZUlkLGVycm9yOnttZXNzYWdlOmV9fSk7dGhpcy5fc2VuZFJlc3BvbnNlKHIpLHRoaXMuX2Nvbm5lY3RlZD0hMSx0aGlzLl9ldmVudE1hbmFnZXIudHJpZ2dlcih7ZXZlbnQ6ImRpc2Nvbm5lY3QiLHBhcmFtczpbe21lc3NhZ2U6ZX1dfSksdGhpcy5fcmVtb3ZlU3RvcmFnZVNlc3Npb24oKX11cGRhdGVTZXNzaW9uKHQpe2lmKCF0aGlzLl9jb25uZWN0ZWQpdGhyb3cgbmV3IEVycm9yKCJTZXNzaW9uIGN1cnJlbnRseSBkaXNjb25uZWN0ZWQiKTt0aGlzLmNoYWluSWQ9dC5jaGFpbklkLHRoaXMuYWNjb3VudHM9dC5hY2NvdW50cyx0aGlzLm5ldHdvcmtJZD10Lm5ldHdvcmtJZHx8MCx0aGlzLnJwY1VybD10LnJwY1VybHx8IiI7Y29uc3QgZT17YXBwcm92ZWQ6ITAsY2hhaW5JZDp0aGlzLmNoYWluSWQsbmV0d29ya0lkOnRoaXMubmV0d29ya0lkLGFjY291bnRzOnRoaXMuYWNjb3VudHMscnBjVXJsOnRoaXMucnBjVXJsfSxyPXRoaXMuX2Zvcm1hdFJlcXVlc3Qoe21ldGhvZDoid2Nfc2Vzc2lvblVwZGF0ZSIscGFyYW1zOltlXX0pO3RoaXMuX3NlbmRTZXNzaW9uUmVxdWVzdChyLCJTZXNzaW9uIHVwZGF0ZSByZWplY3RlZCIpLHRoaXMuX2V2ZW50TWFuYWdlci50cmlnZ2VyKHtldmVudDoic2Vzc2lvbl91cGRhdGUiLHBhcmFtczpbe2NoYWluSWQ6dGhpcy5jaGFpbklkLGFjY291bnRzOnRoaXMuYWNjb3VudHN9XX0pLHRoaXMuX21hbmFnZVN0b3JhZ2VTZXNzaW9uKCl9YXN5bmMga2lsbFNlc3Npb24odCl7Y29uc3QgZT10P3QubWVzc2FnZToiU2Vzc2lvbiBEaXNjb25uZWN0ZWQiLHI9dGhpcy5fZm9ybWF0UmVxdWVzdCh7bWV0aG9kOiJ3Y19zZXNzaW9uVXBkYXRlIixwYXJhbXM6W3thcHByb3ZlZDohMSxjaGFpbklkOm51bGwsbmV0d29ya0lkOm51bGwsYWNjb3VudHM6bnVsbH1dfSk7YXdhaXQgdGhpcy5fc2VuZFJlcXVlc3QociksdGhpcy5faGFuZGxlU2Vzc2lvbkRpc2Nvbm5lY3QoZSl9YXN5bmMgc2VuZFRyYW5zYWN0aW9uKHQpe2lmKCF0aGlzLl9jb25uZWN0ZWQpdGhyb3cgbmV3IEVycm9yKCJTZXNzaW9uIGN1cnJlbnRseSBkaXNjb25uZWN0ZWQiKTtjb25zdCBlPU9iamVjdChpLnBhcnNlVHJhbnNhY3Rpb25EYXRhKSh0KSxyPXRoaXMuX2Zvcm1hdFJlcXVlc3Qoe21ldGhvZDoiZXRoX3NlbmRUcmFuc2FjdGlvbiIscGFyYW1zOltlXX0pO3JldHVybiBhd2FpdCB0aGlzLl9zZW5kQ2FsbFJlcXVlc3Qocil9YXN5bmMgc2lnblRyYW5zYWN0aW9uKHQpe2lmKCF0aGlzLl9jb25uZWN0ZWQpdGhyb3cgbmV3IEVycm9yKCJTZXNzaW9uIGN1cnJlbnRseSBkaXNjb25uZWN0ZWQiKTtjb25zdCBlPU9iamVjdChpLnBhcnNlVHJhbnNhY3Rpb25EYXRhKSh0KSxyPXRoaXMuX2Zvcm1hdFJlcXVlc3Qoe21ldGhvZDoiZXRoX3NpZ25UcmFuc2FjdGlvbiIscGFyYW1zOltlXX0pO3JldHVybiBhd2FpdCB0aGlzLl9zZW5kQ2FsbFJlcXVlc3Qocil9YXN5bmMgc2lnbk1lc3NhZ2UodCl7aWYoIXRoaXMuX2Nvbm5lY3RlZCl0aHJvdyBuZXcgRXJyb3IoIlNlc3Npb24gY3VycmVudGx5IGRpc2Nvbm5lY3RlZCIpO2NvbnN0IGU9dGhpcy5fZm9ybWF0UmVxdWVzdCh7bWV0aG9kOiJldGhfc2lnbiIscGFyYW1zOnR9KTtyZXR1cm4gYXdhaXQgdGhpcy5fc2VuZENhbGxSZXF1ZXN0KGUpfWFzeW5jIHNpZ25QZXJzb25hbE1lc3NhZ2UodCl7aWYoIXRoaXMuX2Nvbm5lY3RlZCl0aHJvdyBuZXcgRXJyb3IoIlNlc3Npb24gY3VycmVudGx5IGRpc2Nvbm5lY3RlZCIpO3Q9T2JqZWN0KGkucGFyc2VQZXJzb25hbFNpZ24pKHQpO2NvbnN0IGU9dGhpcy5fZm9ybWF0UmVxdWVzdCh7bWV0aG9kOiJwZXJzb25hbF9zaWduIixwYXJhbXM6dH0pO3JldHVybiBhd2FpdCB0aGlzLl9zZW5kQ2FsbFJlcXVlc3QoZSl9YXN5bmMgc2lnblR5cGVkRGF0YSh0KXtpZighdGhpcy5fY29ubmVjdGVkKXRocm93IG5ldyBFcnJvcigiU2Vzc2lvbiBjdXJyZW50bHkgZGlzY29ubmVjdGVkIik7Y29uc3QgZT10aGlzLl9mb3JtYXRSZXF1ZXN0KHttZXRob2Q6ImV0aF9zaWduVHlwZWREYXRhIixwYXJhbXM6dH0pO3JldHVybiBhd2FpdCB0aGlzLl9zZW5kQ2FsbFJlcXVlc3QoZSl9YXN5bmMgdXBkYXRlQ2hhaW4odCl7aWYoIXRoaXMuX2Nvbm5lY3RlZCl0aHJvdyBuZXcgRXJyb3IoIlNlc3Npb24gY3VycmVudGx5IGRpc2Nvbm5lY3RlZCIpO2NvbnN0IGU9dGhpcy5fZm9ybWF0UmVxdWVzdCh7bWV0aG9kOiJ3YWxsZXRfdXBkYXRlQ2hhaW4iLHBhcmFtczpbdF19KTtyZXR1cm4gYXdhaXQgdGhpcy5fc2VuZENhbGxSZXF1ZXN0KGUpfXVuc2FmZVNlbmQodCxlKXtyZXR1cm4gdGhpcy5fc2VuZFJlcXVlc3QodCxlKSx0aGlzLl9ldmVudE1hbmFnZXIudHJpZ2dlcih7ZXZlbnQ6ImNhbGxfcmVxdWVzdF9zZW50IixwYXJhbXM6W3tyZXF1ZXN0OnQsb3B0aW9uczplfV19KSxuZXcgUHJvbWlzZSgoZSxyKT0+e3RoaXMuX3N1YnNjcmliZVRvUmVzcG9uc2UodC5pZCwodCxuKT0+e2lmKHQpcih0KTtlbHNle2lmKCFuKXRocm93IG5ldyBFcnJvcigiTWlzc2luZyBKU09OIFJQQyByZXNwb25zZSIpO2Uobil9fSl9KX1hc3luYyBzZW5kQ3VzdG9tUmVxdWVzdCh0LGUpe2lmKCF0aGlzLl9jb25uZWN0ZWQpdGhyb3cgbmV3IEVycm9yKCJTZXNzaW9uIGN1cnJlbnRseSBkaXNjb25uZWN0ZWQiKTtzd2l0Y2godC5tZXRob2Qpe2Nhc2UiZXRoX2FjY291bnRzIjpyZXR1cm4gdGhpcy5hY2NvdW50cztjYXNlImV0aF9jaGFpbklkIjpyZXR1cm4gT2JqZWN0KGkuY29udmVydE51bWJlclRvSGV4KSh0aGlzLmNoYWluSWQpO2Nhc2UiZXRoX3NlbmRUcmFuc2FjdGlvbiI6Y2FzZSJldGhfc2lnblRyYW5zYWN0aW9uIjp0LnBhcmFtcyYmKHQucGFyYW1zWzBdPU9iamVjdChpLnBhcnNlVHJhbnNhY3Rpb25EYXRhKSh0LnBhcmFtc1swXSkpO2JyZWFrO2Nhc2UicGVyc29uYWxfc2lnbiI6dC5wYXJhbXMmJih0LnBhcmFtcz1PYmplY3QoaS5wYXJzZVBlcnNvbmFsU2lnbikodC5wYXJhbXMpKX1jb25zdCByPXRoaXMuX2Zvcm1hdFJlcXVlc3QodCk7cmV0dXJuIGF3YWl0IHRoaXMuX3NlbmRDYWxsUmVxdWVzdChyLGUpfWFwcHJvdmVSZXF1ZXN0KHQpe2lmKCFPYmplY3QoaS5pc0pzb25ScGNSZXNwb25zZVN1Y2Nlc3MpKHQpKXRocm93IG5ldyBFcnJvcignSlNPTi1SUEMgc3VjY2VzcyByZXNwb25zZSBtdXN0IGluY2x1ZGUgInJlc3VsdCIgZmllbGQnKTt7Y29uc3QgZT10aGlzLl9mb3JtYXRSZXNwb25zZSh0KTt0aGlzLl9zZW5kUmVzcG9uc2UoZSl9fXJlamVjdFJlcXVlc3QodCl7aWYoIU9iamVjdChpLmlzSnNvblJwY1Jlc3BvbnNlRXJyb3IpKHQpKXRocm93IG5ldyBFcnJvcignSlNPTi1SUEMgZXJyb3IgcmVzcG9uc2UgbXVzdCBpbmNsdWRlICJlcnJvciIgZmllbGQnKTt7Y29uc3QgZT10aGlzLl9mb3JtYXRSZXNwb25zZSh0KTt0aGlzLl9zZW5kUmVzcG9uc2UoZSl9fXRyYW5zcG9ydENsb3NlKCl7dGhpcy5fdHJhbnNwb3J0LmNsb3NlKCl9YXN5bmMgX3NlbmRSZXF1ZXN0KHQsZSl7Y29uc3Qgcj10aGlzLl9mb3JtYXRSZXF1ZXN0KHQpLG49YXdhaXQgdGhpcy5fZW5jcnlwdChyKSxvPXZvaWQgMCE9PShudWxsPT1lP3ZvaWQgMDplLnRvcGljKT9lLnRvcGljOnRoaXMucGVlcklkLHM9SlNPTi5zdHJpbmdpZnkobiksYT12b2lkIDAhPT0obnVsbD09ZT92b2lkIDA6ZS5mb3JjZVB1c2hOb3RpZmljYXRpb24pPyFlLmZvcmNlUHVzaE5vdGlmaWNhdGlvbjpPYmplY3QoaS5pc1NpbGVudFBheWxvYWQpKHIpO3RoaXMuX3RyYW5zcG9ydC5zZW5kKHMsbyxhKX1hc3luYyBfc2VuZFJlc3BvbnNlKHQpe2NvbnN0IGU9YXdhaXQgdGhpcy5fZW5jcnlwdCh0KSxyPXRoaXMucGVlcklkLG49SlNPTi5zdHJpbmdpZnkoZSk7dGhpcy5fdHJhbnNwb3J0LnNlbmQobixyLCEwKX1hc3luYyBfc2VuZFNlc3Npb25SZXF1ZXN0KHQsZSxyKXt0aGlzLl9zZW5kUmVxdWVzdCh0LHIpLHRoaXMuX3N1YnNjcmliZVRvU2Vzc2lvblJlc3BvbnNlKHQuaWQsZSl9X3NlbmRDYWxsUmVxdWVzdCh0LGUpe3JldHVybiB0aGlzLl9zZW5kUmVxdWVzdCh0LGUpLHRoaXMuX2V2ZW50TWFuYWdlci50cmlnZ2VyKHtldmVudDoiY2FsbF9yZXF1ZXN0X3NlbnQiLHBhcmFtczpbe3JlcXVlc3Q6dCxvcHRpb25zOmV9XX0pLHRoaXMuX3N1YnNjcmliZVRvQ2FsbFJlc3BvbnNlKHQuaWQpfV9mb3JtYXRSZXF1ZXN0KHQpe2lmKHZvaWQgMD09PXQubWV0aG9kKXRocm93IG5ldyBFcnJvcignSlNPTiBSUEMgcmVxdWVzdCBtdXN0IGhhdmUgdmFsaWQgIm1ldGhvZCIgdmFsdWUnKTtyZXR1cm57aWQ6dm9pZCAwPT09dC5pZD9PYmplY3QoaS5wYXlsb2FkSWQpKCk6dC5pZCxqc29ucnBjOiIyLjAiLG1ldGhvZDp0Lm1ldGhvZCxwYXJhbXM6dm9pZCAwPT09dC5wYXJhbXM/W106dC5wYXJhbXN9fV9mb3JtYXRSZXNwb25zZSh0KXtpZih2b2lkIDA9PT10LmlkKXRocm93IG5ldyBFcnJvcignSlNPTiBSUEMgcmVxdWVzdCBtdXN0IGhhdmUgdmFsaWQgImlkIiB2YWx1ZScpO2NvbnN0IGU9e2lkOnQuaWQsanNvbnJwYzoiMi4wIn07aWYoT2JqZWN0KGkuaXNKc29uUnBjUmVzcG9uc2VFcnJvcikodCkpe2NvbnN0IHI9T2JqZWN0KGkuZm9ybWF0UnBjRXJyb3IpKHQuZXJyb3IpO3JldHVybiBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSxlKSx0KSx7ZXJyb3I6cn0pfWlmKE9iamVjdChpLmlzSnNvblJwY1Jlc3BvbnNlU3VjY2VzcykodCkpe3JldHVybiBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sZSksdCl9dGhyb3cgbmV3IEVycm9yKCJKU09OIFJQQyByZXNwb25zZSBmb3JtYXQgaXMgaW52YWxpZCIpfV9oYW5kbGVTZXNzaW9uRGlzY29ubmVjdCh0KXtjb25zdCBlPXR8fCJTZXNzaW9uIERpc2Nvbm5lY3RlZCI7dGhpcy5fY29ubmVjdGVkfHwodGhpcy5fcXJjb2RlTW9kYWwmJnRoaXMuX3FyY29kZU1vZGFsLmNsb3NlKCksT2JqZWN0KGkucmVtb3ZlTG9jYWwpKGkubW9iaWxlTGlua0Nob2ljZUtleSkpLHRoaXMuX2Nvbm5lY3RlZCYmKHRoaXMuX2Nvbm5lY3RlZD0hMSksdGhpcy5faGFuZHNoYWtlSWQmJih0aGlzLl9oYW5kc2hha2VJZD0wKSx0aGlzLl9oYW5kc2hha2VUb3BpYyYmKHRoaXMuX2hhbmRzaGFrZVRvcGljPSIiKSx0aGlzLl9wZWVySWQmJih0aGlzLl9wZWVySWQ9IiIpLHRoaXMuX2V2ZW50TWFuYWdlci50cmlnZ2VyKHtldmVudDoiZGlzY29ubmVjdCIscGFyYW1zOlt7bWVzc2FnZTplfV19KSx0aGlzLl9yZW1vdmVTdG9yYWdlU2Vzc2lvbigpLHRoaXMudHJhbnNwb3J0Q2xvc2UoKX1faGFuZGxlU2Vzc2lvblJlc3BvbnNlKHQsZSl7ZSYmZS5hcHByb3ZlZD8odGhpcy5fY29ubmVjdGVkPyhlLmNoYWluSWQmJih0aGlzLmNoYWluSWQ9ZS5jaGFpbklkKSxlLmFjY291bnRzJiYodGhpcy5hY2NvdW50cz1lLmFjY291bnRzKSx0aGlzLl9ldmVudE1hbmFnZXIudHJpZ2dlcih7ZXZlbnQ6InNlc3Npb25fdXBkYXRlIixwYXJhbXM6W3tjaGFpbklkOnRoaXMuY2hhaW5JZCxhY2NvdW50czp0aGlzLmFjY291bnRzfV19KSk6KHRoaXMuX2Nvbm5lY3RlZD0hMCxlLmNoYWluSWQmJih0aGlzLmNoYWluSWQ9ZS5jaGFpbklkKSxlLmFjY291bnRzJiYodGhpcy5hY2NvdW50cz1lLmFjY291bnRzKSxlLnBlZXJJZCYmIXRoaXMucGVlcklkJiYodGhpcy5wZWVySWQ9ZS5wZWVySWQpLGUucGVlck1ldGEmJiF0aGlzLnBlZXJNZXRhJiYodGhpcy5wZWVyTWV0YT1lLnBlZXJNZXRhKSx0aGlzLl9ldmVudE1hbmFnZXIudHJpZ2dlcih7ZXZlbnQ6ImNvbm5lY3QiLHBhcmFtczpbe3BlZXJJZDp0aGlzLnBlZXJJZCxwZWVyTWV0YTp0aGlzLnBlZXJNZXRhLGNoYWluSWQ6dGhpcy5jaGFpbklkLGFjY291bnRzOnRoaXMuYWNjb3VudHN9XX0pKSx0aGlzLl9tYW5hZ2VTdG9yYWdlU2Vzc2lvbigpKTp0aGlzLl9oYW5kbGVTZXNzaW9uRGlzY29ubmVjdCh0KX1hc3luYyBfaGFuZGxlSW5jb21pbmdNZXNzYWdlcyh0KXtpZighW3RoaXMuY2xpZW50SWQsdGhpcy5oYW5kc2hha2VUb3BpY10uaW5jbHVkZXModC50b3BpYykpcmV0dXJuO2xldCBlO3RyeXtlPUpTT04ucGFyc2UodC5wYXlsb2FkKX1jYXRjaCh0KXtyZXR1cm59Y29uc3Qgcj1hd2FpdCB0aGlzLl9kZWNyeXB0KGUpO3ImJnRoaXMuX2V2ZW50TWFuYWdlci50cmlnZ2VyKHIpfV9zdWJzY3JpYmVUb1Nlc3Npb25SZXF1ZXN0KCl7dGhpcy5fdHJhbnNwb3J0LnN1YnNjcmliZSh0aGlzLmhhbmRzaGFrZVRvcGljKX1fc3Vic2NyaWJlVG9SZXNwb25zZSh0LGUpe3RoaXMub24oInJlc3BvbnNlOiIrdCxlKX1fc3Vic2NyaWJlVG9TZXNzaW9uUmVzcG9uc2UodCxlKXt0aGlzLl9zdWJzY3JpYmVUb1Jlc3BvbnNlKHQsKHQscik9Pnt0P3RoaXMuX2hhbmRsZVNlc3Npb25SZXNwb25zZSh0Lm1lc3NhZ2UpOk9iamVjdChpLmlzSnNvblJwY1Jlc3BvbnNlU3VjY2Vzcykocik/dGhpcy5faGFuZGxlU2Vzc2lvblJlc3BvbnNlKGUsci5yZXN1bHQpOnIuZXJyb3ImJnIuZXJyb3IubWVzc2FnZT90aGlzLl9oYW5kbGVTZXNzaW9uUmVzcG9uc2Uoci5lcnJvci5tZXNzYWdlKTp0aGlzLl9oYW5kbGVTZXNzaW9uUmVzcG9uc2UoZSl9KX1fc3Vic2NyaWJlVG9DYWxsUmVzcG9uc2UodCl7cmV0dXJuIG5ldyBQcm9taXNlKChlLHIpPT57dGhpcy5fc3Vic2NyaWJlVG9SZXNwb25zZSh0LCh0LG4pPT57dD9yKHQpOk9iamVjdChpLmlzSnNvblJwY1Jlc3BvbnNlU3VjY2Vzcykobik/ZShuLnJlc3VsdCk6bi5lcnJvciYmbi5lcnJvci5tZXNzYWdlP3Iobi5lcnJvcik6cihuZXcgRXJyb3IoIkpTT04gUlBDIHJlc3BvbnNlIGZvcm1hdCBpcyBpbnZhbGlkIikpfSl9KX1fc3Vic2NyaWJlVG9JbnRlcm5hbEV2ZW50cygpe3RoaXMub24oImRpc3BsYXlfdXJpIiwoKT0+e3RoaXMuX3FyY29kZU1vZGFsJiZ0aGlzLl9xcmNvZGVNb2RhbC5vcGVuKHRoaXMudXJpLCgpPT57dGhpcy5fZXZlbnRNYW5hZ2VyLnRyaWdnZXIoe2V2ZW50OiJtb2RhbF9jbG9zZWQiLHBhcmFtczpbXX0pfSx0aGlzLl9xcmNvZGVNb2RhbE9wdGlvbnMpfSksdGhpcy5vbigiY29ubmVjdCIsKCk9Pnt0aGlzLl9xcmNvZGVNb2RhbCYmdGhpcy5fcXJjb2RlTW9kYWwuY2xvc2UoKX0pLHRoaXMub24oImNhbGxfcmVxdWVzdF9zZW50IiwodCxlKT0+e2NvbnN0e3JlcXVlc3Q6cn09ZS5wYXJhbXNbMF07aWYoT2JqZWN0KGkuaXNNb2JpbGUpKCkmJnRoaXMuX3NpZ25pbmdNZXRob2RzLmluY2x1ZGVzKHIubWV0aG9kKSl7Y29uc3QgdD1PYmplY3QoaS5nZXRMb2NhbCkoaS5tb2JpbGVMaW5rQ2hvaWNlS2V5KTt0JiYod2luZG93LmxvY2F0aW9uLmhyZWY9dC5ocmVmKX19KSx0aGlzLm9uKCJ3Y19zZXNzaW9uUmVxdWVzdCIsKHQsZSk9Pnt0JiZ0aGlzLl9ldmVudE1hbmFnZXIudHJpZ2dlcih7ZXZlbnQ6ImVycm9yIixwYXJhbXM6W3tjb2RlOiJTRVNTSU9OX1JFUVVFU1RfRVJST1IiLG1lc3NhZ2U6dC50b1N0cmluZygpfV19KSx0aGlzLmhhbmRzaGFrZUlkPWUuaWQsdGhpcy5wZWVySWQ9ZS5wYXJhbXNbMF0ucGVlcklkLHRoaXMucGVlck1ldGE9ZS5wYXJhbXNbMF0ucGVlck1ldGE7Y29uc3Qgcj1PYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sZSkse21ldGhvZDoic2Vzc2lvbl9yZXF1ZXN0In0pO3RoaXMuX2V2ZW50TWFuYWdlci50cmlnZ2VyKHIpfSksdGhpcy5vbigid2Nfc2Vzc2lvblVwZGF0ZSIsKHQsZSk9Pnt0JiZ0aGlzLl9oYW5kbGVTZXNzaW9uUmVzcG9uc2UodC5tZXNzYWdlKSx0aGlzLl9oYW5kbGVTZXNzaW9uUmVzcG9uc2UoIlNlc3Npb24gZGlzY29ubmVjdGVkIixlLnBhcmFtc1swXSl9KX1faW5pdFRyYW5zcG9ydCgpe3RoaXMuX3RyYW5zcG9ydC5vbigibWVzc2FnZSIsdD0+dGhpcy5faGFuZGxlSW5jb21pbmdNZXNzYWdlcyh0KSksdGhpcy5fdHJhbnNwb3J0Lm9uKCJvcGVuIiwoKT0+dGhpcy5fZXZlbnRNYW5hZ2VyLnRyaWdnZXIoe2V2ZW50OiJ0cmFuc3BvcnRfb3BlbiIscGFyYW1zOltdfSkpLHRoaXMuX3RyYW5zcG9ydC5vbigiY2xvc2UiLCgpPT50aGlzLl9ldmVudE1hbmFnZXIudHJpZ2dlcih7ZXZlbnQ6InRyYW5zcG9ydF9jbG9zZSIscGFyYW1zOltdfSkpLHRoaXMuX3RyYW5zcG9ydC5vbigiZXJyb3IiLCgpPT50aGlzLl9ldmVudE1hbmFnZXIudHJpZ2dlcih7ZXZlbnQ6InRyYW5zcG9ydF9lcnJvciIscGFyYW1zOlsiV2Vic29ja2V0IGNvbm5lY3Rpb24gZmFpbGVkIl19KSksdGhpcy5fdHJhbnNwb3J0Lm9wZW4oKX1fZm9ybWF0VXJpKCl7cmV0dXJuYCR7dGhpcy5wcm90b2NvbH06JHt0aGlzLmhhbmRzaGFrZVRvcGljfUAke3RoaXMudmVyc2lvbn0/YnJpZGdlPSR7ZW5jb2RlVVJJQ29tcG9uZW50KHRoaXMuYnJpZGdlKX0ma2V5PSR7dGhpcy5rZXl9YH1fcGFyc2VVcmkodCl7Y29uc3QgZT1PYmplY3QoaS5wYXJzZVdhbGxldENvbm5lY3RVcmkpKHQpO2lmKGUucHJvdG9jb2w9PT10aGlzLnByb3RvY29sKXtpZighZS5oYW5kc2hha2VUb3BpYyl0aHJvdyBFcnJvcigiSW52YWxpZCBvciBtaXNzaW5nIGhhbmRzaGFrZVRvcGljIHBhcmFtZXRlciB2YWx1ZSIpO2NvbnN0IHQ9ZS5oYW5kc2hha2VUb3BpYztpZighZS5icmlkZ2UpdGhyb3cgRXJyb3IoIkludmFsaWQgb3IgbWlzc2luZyBicmlkZ2UgdXJsIHBhcmFtZXRlciB2YWx1ZSIpO2NvbnN0IHI9ZGVjb2RlVVJJQ29tcG9uZW50KGUuYnJpZGdlKTtpZighZS5rZXkpdGhyb3cgRXJyb3IoIkludmFsaWQgb3IgbWlzc2luZyBrZXkgcGFyYW1ldGVyIHZhbHVlIik7cmV0dXJue2hhbmRzaGFrZVRvcGljOnQsYnJpZGdlOnIsa2V5OmUua2V5fX10aHJvdyBuZXcgRXJyb3IoIlVSSSBmb3JtYXQgaXMgaW52YWxpZCIpfWFzeW5jIF9nZW5lcmF0ZUtleSgpe2lmKHRoaXMuX2NyeXB0b0xpYil7cmV0dXJuIGF3YWl0IHRoaXMuX2NyeXB0b0xpYi5nZW5lcmF0ZUtleSgpfXJldHVybiBudWxsfWFzeW5jIF9lbmNyeXB0KHQpe2NvbnN0IGU9dGhpcy5fa2V5O2lmKHRoaXMuX2NyeXB0b0xpYiYmZSl7cmV0dXJuIGF3YWl0IHRoaXMuX2NyeXB0b0xpYi5lbmNyeXB0KHQsZSl9cmV0dXJuIG51bGx9YXN5bmMgX2RlY3J5cHQodCl7Y29uc3QgZT10aGlzLl9rZXk7aWYodGhpcy5fY3J5cHRvTGliJiZlKXtyZXR1cm4gYXdhaXQgdGhpcy5fY3J5cHRvTGliLmRlY3J5cHQodCxlKX1yZXR1cm4gbnVsbH1fZ2V0U3RvcmFnZVNlc3Npb24oKXtsZXQgdD1udWxsO3JldHVybiB0aGlzLl9zZXNzaW9uU3RvcmFnZSYmKHQ9dGhpcy5fc2Vzc2lvblN0b3JhZ2UuZ2V0U2Vzc2lvbigpKSx0fV9zZXRTdG9yYWdlU2Vzc2lvbigpe3RoaXMuX3Nlc3Npb25TdG9yYWdlJiZ0aGlzLl9zZXNzaW9uU3RvcmFnZS5zZXRTZXNzaW9uKHRoaXMuc2Vzc2lvbil9X3JlbW92ZVN0b3JhZ2VTZXNzaW9uKCl7dGhpcy5fc2Vzc2lvblN0b3JhZ2UmJnRoaXMuX3Nlc3Npb25TdG9yYWdlLnJlbW92ZVNlc3Npb24oKX1fbWFuYWdlU3RvcmFnZVNlc3Npb24oKXt0aGlzLl9jb25uZWN0ZWQ/dGhpcy5fc2V0U3RvcmFnZVNlc3Npb24oKTp0aGlzLl9yZW1vdmVTdG9yYWdlU2Vzc2lvbigpfV9yZWdpc3RlclB1c2hTZXJ2ZXIodCl7aWYoIXQudXJsfHwic3RyaW5nIiE9dHlwZW9mIHQudXJsKXRocm93IEVycm9yKCJJbnZhbGlkIG9yIG1pc3NpbmcgcHVzaFNlcnZlck9wdHMudXJsIHBhcmFtZXRlciB2YWx1ZSIpO2lmKCF0LnR5cGV8fCJzdHJpbmciIT10eXBlb2YgdC50eXBlKXRocm93IEVycm9yKCJJbnZhbGlkIG9yIG1pc3NpbmcgcHVzaFNlcnZlck9wdHMudHlwZSBwYXJhbWV0ZXIgdmFsdWUiKTtpZighdC50b2tlbnx8InN0cmluZyIhPXR5cGVvZiB0LnRva2VuKXRocm93IEVycm9yKCJJbnZhbGlkIG9yIG1pc3NpbmcgcHVzaFNlcnZlck9wdHMudG9rZW4gcGFyYW1ldGVyIHZhbHVlIik7Y29uc3QgZT17YnJpZGdlOnRoaXMuYnJpZGdlLHRvcGljOnRoaXMuY2xpZW50SWQsdHlwZTp0LnR5cGUsdG9rZW46dC50b2tlbixwZWVyTmFtZToiIixsYW5ndWFnZTp0Lmxhbmd1YWdlfHwiIn07dGhpcy5vbigiY29ubmVjdCIsYXN5bmMocixuKT0+e2lmKHIpdGhyb3cgcjtpZih0LnBlZXJNZXRhKXtjb25zdCB0PW4ucGFyYW1zWzBdLnBlZXJNZXRhLm5hbWU7ZS5wZWVyTmFtZT10fXRyeXtjb25zdCByPWF3YWl0IGZldGNoKHQudXJsKyIvbmV3Iix7bWV0aG9kOiJQT1NUIixoZWFkZXJzOntBY2NlcHQ6ImFwcGxpY2F0aW9uL2pzb24iLCJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn0sYm9keTpKU09OLnN0cmluZ2lmeShlKX0pO2lmKCEoYXdhaXQgci5qc29uKCkpLnN1Y2Nlc3MpdGhyb3cgRXJyb3IoIkZhaWxlZCB0byByZWdpc3RlciBpbiBQdXNoIFNlcnZlciIpfWNhdGNoKHIpe3Rocm93IEVycm9yKCJGYWlsZWQgdG8gcmVnaXN0ZXIgaW4gUHVzaCBTZXJ2ZXIiKX19KX19LGg9cigzMyksbD1yKDApO2FzeW5jIGZ1bmN0aW9uIGQodCl7Y29uc3QgZT0odHx8MjU2KS84LHI9aC5yYW5kb21CeXRlcyhlKTtyZXR1cm4gT2JqZWN0KGkuY29udmVydEJ1ZmZlclRvQXJyYXlCdWZmZXIpKGwuYihyKSl9YXN5bmMgZnVuY3Rpb24gcCh0LGUpe2NvbnN0IHI9bC5uKHQuZGF0YSksbj1sLm4odC5pdiksaT1sLm4odC5obWFjKSxvPWwuYyhpLCExKSxzPWwuaihyLG4pLGE9YXdhaXQgaC5obWFjU2hhMjU2U2lnbihlLHMpLHU9bC5jKGEsITEpO3JldHVybiBsLngobyk9PT1sLngodSl9YXN5bmMgZnVuY3Rpb24gbSh0LGUscil7Y29uc3Qgbj1sLmYoT2JqZWN0KGkuY29udmVydEFycmF5QnVmZmVyVG9CdWZmZXIpKGUpKSxvPXJ8fGF3YWl0IGQoMTI4KSxzPWwuZihPYmplY3QoaS5jb252ZXJ0QXJyYXlCdWZmZXJUb0J1ZmZlcikobykpLGE9bC5jKHMsITEpLHU9SlNPTi5zdHJpbmdpZnkodCksYz1sLnoodSksZj1hd2FpdCBoLmFlc0NiY0VuY3J5cHQocyxuLGMpLHA9bC5jKGYsITEpLG09bC5qKGYscyksZz1hd2FpdCBoLmhtYWNTaGEyNTZTaWduKG4sbSk7cmV0dXJue2RhdGE6cCxobWFjOmwuYyhnLCExKSxpdjphfX1hc3luYyBmdW5jdGlvbiBnKHQsZSl7Y29uc3Qgcj1sLmYoT2JqZWN0KGkuY29udmVydEFycmF5QnVmZmVyVG9CdWZmZXIpKGUpKTtpZighcil0aHJvdyBuZXcgRXJyb3IoIk1pc3Npbmcga2V5OiByZXF1aXJlZCBmb3IgZGVjcnlwdGlvbiIpO2lmKCFhd2FpdCBwKHQscikpcmV0dXJuIG51bGw7Y29uc3Qgbj1sLm4odC5kYXRhKSxvPWwubih0Lml2KSxzPWF3YWl0IGguYWVzQ2JjRGVjcnlwdChvLHIsbiksYT1sLmUocyk7bGV0IHU7dHJ5e3U9SlNPTi5wYXJzZShhKX1jYXRjaCh0KXtyZXR1cm4gbnVsbH1yZXR1cm4gdX1lLmRlZmF1bHQ9Y2xhc3MgZXh0ZW5kcyBme2NvbnN0cnVjdG9yKHQsZSl7c3VwZXIoe2NyeXB0b0xpYjpuLGNvbm5lY3Rvck9wdHM6dCxwdXNoU2VydmVyT3B0czplfSl9fX0sZnVuY3Rpb24odCxlLHIpeyJ1c2Ugc3RyaWN0IjtyLnIoZSk7ZnVuY3Rpb24gbih0LGUscixuKXtyZXR1cm4gbmV3KHJ8fChyPVByb21pc2UpKSgoZnVuY3Rpb24oaSxvKXtmdW5jdGlvbiBzKHQpe3RyeXt1KG4ubmV4dCh0KSl9Y2F0Y2godCl7byh0KX19ZnVuY3Rpb24gYSh0KXt0cnl7dShuLnRocm93KHQpKX1jYXRjaCh0KXtvKHQpfX1mdW5jdGlvbiB1KHQpe3ZhciBlO3QuZG9uZT9pKHQudmFsdWUpOihlPXQudmFsdWUsZSBpbnN0YW5jZW9mIHI/ZTpuZXcgcigoZnVuY3Rpb24odCl7dChlKX0pKSkudGhlbihzLGEpfXUoKG49bi5hcHBseSh0LGV8fFtdKSkubmV4dCgpKX0pKX1mdW5jdGlvbiBpKHQsZSl7dmFyIHIsbixpLG8scz17bGFiZWw6MCxzZW50OmZ1bmN0aW9uKCl7aWYoMSZpWzBdKXRocm93IGlbMV07cmV0dXJuIGlbMV19LHRyeXM6W10sb3BzOltdfTtyZXR1cm4gbz17bmV4dDphKDApLHRocm93OmEoMSkscmV0dXJuOmEoMil9LCJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJihvW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30pLG87ZnVuY3Rpb24gYShvKXtyZXR1cm4gZnVuY3Rpb24oYSl7cmV0dXJuIGZ1bmN0aW9uKG8pe2lmKHIpdGhyb3cgbmV3IFR5cGVFcnJvcigiR2VuZXJhdG9yIGlzIGFscmVhZHkgZXhlY3V0aW5nLiIpO2Zvcig7czspdHJ5e2lmKHI9MSxuJiYoaT0yJm9bMF0/bi5yZXR1cm46b1swXT9uLnRocm93fHwoKGk9bi5yZXR1cm4pJiZpLmNhbGwobiksMCk6bi5uZXh0KSYmIShpPWkuY2FsbChuLG9bMV0pKS5kb25lKXJldHVybiBpO3N3aXRjaChuPTAsaSYmKG89WzImb1swXSxpLnZhbHVlXSksb1swXSl7Y2FzZSAwOmNhc2UgMTppPW87YnJlYWs7Y2FzZSA0OnJldHVybiBzLmxhYmVsKysse3ZhbHVlOm9bMV0sZG9uZTohMX07Y2FzZSA1OnMubGFiZWwrKyxuPW9bMV0sbz1bMF07Y29udGludWU7Y2FzZSA3Om89cy5vcHMucG9wKCkscy50cnlzLnBvcCgpO2NvbnRpbnVlO2RlZmF1bHQ6aWYoIShpPXMudHJ5cywoaT1pLmxlbmd0aD4wJiZpW2kubGVuZ3RoLTFdKXx8NiE9PW9bMF0mJjIhPT1vWzBdKSl7cz0wO2NvbnRpbnVlfWlmKDM9PT1vWzBdJiYoIWl8fG9bMV0+aVswXSYmb1sxXTxpWzNdKSl7cy5sYWJlbD1vWzFdO2JyZWFrfWlmKDY9PT1vWzBdJiZzLmxhYmVsPGlbMV0pe3MubGFiZWw9aVsxXSxpPW87YnJlYWt9aWYoaSYmcy5sYWJlbDxpWzJdKXtzLmxhYmVsPWlbMl0scy5vcHMucHVzaChvKTticmVha31pWzJdJiZzLm9wcy5wb3AoKSxzLnRyeXMucG9wKCk7Y29udGludWV9bz1lLmNhbGwodCxzKX1jYXRjaCh0KXtvPVs2LHRdLG49MH1maW5hbGx5e3I9aT0wfWlmKDUmb1swXSl0aHJvdyBvWzFdO3JldHVybnt2YWx1ZTpvWzBdP29bMV06dm9pZCAwLGRvbmU6ITB9fShbbyxhXSl9fX1PYmplY3QuY3JlYXRlO09iamVjdC5jcmVhdGU7dmFyIG89ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHQpe2lmKHRoaXMuX21heENvbmN1cnJlbmN5PXQsdGhpcy5fcXVldWU9W10sdDw9MCl0aHJvdyBuZXcgRXJyb3IoInNlbWFwaG9yZSBtdXN0IGJlIGluaXRpYWxpemVkIHRvIGEgcG9zaXRpdmUgdmFsdWUiKTt0aGlzLl92YWx1ZT10fXJldHVybiB0LnByb3RvdHlwZS5hY3F1aXJlPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPXRoaXMuaXNMb2NrZWQoKSxyPW5ldyBQcm9taXNlKChmdW5jdGlvbihlKXtyZXR1cm4gdC5fcXVldWUucHVzaChlKX0pKTtyZXR1cm4gZXx8dGhpcy5fZGlzcGF0Y2goKSxyfSx0LnByb3RvdHlwZS5ydW5FeGNsdXNpdmU9ZnVuY3Rpb24odCl7cmV0dXJuIG4odGhpcyx2b2lkIDAsdm9pZCAwLChmdW5jdGlvbigpe3ZhciBlLHIsbjtyZXR1cm4gaSh0aGlzLChmdW5jdGlvbihpKXtzd2l0Y2goaS5sYWJlbCl7Y2FzZSAwOnJldHVybls0LHRoaXMuYWNxdWlyZSgpXTtjYXNlIDE6ZT1pLnNlbnQoKSxyPWVbMF0sbj1lWzFdLGkubGFiZWw9MjtjYXNlIDI6cmV0dXJuIGkudHJ5cy5wdXNoKFsyLCw0LDVdKSxbNCx0KHIpXTtjYXNlIDM6cmV0dXJuWzIsaS5zZW50KCldO2Nhc2UgNDpyZXR1cm4gbigpLFs3XTtjYXNlIDU6cmV0dXJuWzJdfX0pKX0pKX0sdC5wcm90b3R5cGUuaXNMb2NrZWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fdmFsdWU8PTB9LHQucHJvdG90eXBlLnJlbGVhc2U9ZnVuY3Rpb24oKXtpZih0aGlzLl9tYXhDb25jdXJyZW5jeT4xKXRocm93IG5ldyBFcnJvcigidGhpcyBtZXRob2QgaXMgdW5hdmFpbGFiZWwgb24gc2VtYXBob3JlcyB3aXRoIGNvbmN1cnJlbmN5ID4gMTsgdXNlIHRoZSBzY29wZWQgcmVsZWFzZSByZXR1cm5lZCBieSBhY3F1aXJlIGluc3RlYWQiKTtpZih0aGlzLl9jdXJyZW50UmVsZWFzZXIpe3ZhciB0PXRoaXMuX2N1cnJlbnRSZWxlYXNlcjt0aGlzLl9jdXJyZW50UmVsZWFzZXI9dm9pZCAwLHQoKX19LHQucHJvdG90eXBlLl9kaXNwYXRjaD1mdW5jdGlvbigpe3ZhciB0PXRoaXMsZT10aGlzLl9xdWV1ZS5zaGlmdCgpO2lmKGUpe3ZhciByPSExO3RoaXMuX2N1cnJlbnRSZWxlYXNlcj1mdW5jdGlvbigpe3J8fChyPSEwLHQuX3ZhbHVlKyssdC5fZGlzcGF0Y2goKSl9LGUoW3RoaXMuX3ZhbHVlLS0sdGhpcy5fY3VycmVudFJlbGVhc2VyXSl9fSx0fSgpLHM9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7dGhpcy5fc2VtYXBob3JlPW5ldyBvKDEpfXJldHVybiB0LnByb3RvdHlwZS5hY3F1aXJlPWZ1bmN0aW9uKCl7cmV0dXJuIG4odGhpcyx2b2lkIDAsdm9pZCAwLChmdW5jdGlvbigpe3ZhciB0O3JldHVybiBpKHRoaXMsKGZ1bmN0aW9uKGUpe3N3aXRjaChlLmxhYmVsKXtjYXNlIDA6cmV0dXJuWzQsdGhpcy5fc2VtYXBob3JlLmFjcXVpcmUoKV07Y2FzZSAxOnJldHVybiB0PWUuc2VudCgpLFsyLHRbMV1dfX0pKX0pKX0sdC5wcm90b3R5cGUucnVuRXhjbHVzaXZlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9zZW1hcGhvcmUucnVuRXhjbHVzaXZlKChmdW5jdGlvbigpe3JldHVybiB0KCl9KSl9LHQucHJvdG90eXBlLmlzTG9ja2VkPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3NlbWFwaG9yZS5pc0xvY2tlZCgpfSx0LnByb3RvdHlwZS5yZWxlYXNlPWZ1bmN0aW9uKCl7dGhpcy5fc2VtYXBob3JlLnJlbGVhc2UoKX0sdH0oKTtmdW5jdGlvbiBhKHQsZSxyKXt2YXIgbz10aGlzO3JldHVybiB2b2lkIDA9PT1yJiYocj1uZXcgRXJyb3IoInRpbWVvdXQiKSkse2FjcXVpcmU6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFByb21pc2UoKGZ1bmN0aW9uKHMsYSl7cmV0dXJuIG4obyx2b2lkIDAsdm9pZCAwLChmdW5jdGlvbigpe3ZhciBuLG87cmV0dXJuIGkodGhpcywoZnVuY3Rpb24oaSl7c3dpdGNoKGkubGFiZWwpe2Nhc2UgMDpyZXR1cm4gbj0hMSxzZXRUaW1lb3V0KChmdW5jdGlvbigpe249ITAsYShyKX0pLGUpLFs0LHQuYWNxdWlyZSgpXTtjYXNlIDE6cmV0dXJuIG89aS5zZW50KCksbj8oQXJyYXkuaXNBcnJheShvKT9vWzFdOm8pKCk6cyhvKSxbMl19fSkpfSkpfSkpfSxydW5FeGNsdXNpdmU6ZnVuY3Rpb24odCl7cmV0dXJuIG4odGhpcyx2b2lkIDAsdm9pZCAwLChmdW5jdGlvbigpe3ZhciBlLHI7cmV0dXJuIGkodGhpcywoZnVuY3Rpb24obil7c3dpdGNoKG4ubGFiZWwpe2Nhc2UgMDplPWZ1bmN0aW9uKCl7fSxuLmxhYmVsPTE7Y2FzZSAxOnJldHVybiBuLnRyeXMucHVzaChbMSwsNyw4XSksWzQsdGhpcy5hY3F1aXJlKCldO2Nhc2UgMjpyZXR1cm4gcj1uLnNlbnQoKSxBcnJheS5pc0FycmF5KHIpPyhlPXJbMV0sWzQsdChyWzBdKV0pOlszLDRdO2Nhc2UgMzpyZXR1cm5bMixuLnNlbnQoKV07Y2FzZSA0OnJldHVybiBlPXIsWzQsdCgpXTtjYXNlIDU6cmV0dXJuWzIsbi5zZW50KCldO2Nhc2UgNjpyZXR1cm5bMyw4XTtjYXNlIDc6cmV0dXJuIGUoKSxbN107Y2FzZSA4OnJldHVyblsyXX19KSl9KSl9LHJlbGVhc2U6ZnVuY3Rpb24oKXt0LnJlbGVhc2UoKX0saXNMb2NrZWQ6ZnVuY3Rpb24oKXtyZXR1cm4gdC5pc0xvY2tlZCgpfX19ci5kKGUsIk11dGV4IiwoZnVuY3Rpb24oKXtyZXR1cm4gc30pKSxyLmQoZSwiU2VtYXBob3JlIiwoZnVuY3Rpb24oKXtyZXR1cm4gb30pKSxyLmQoZSwid2l0aFRpbWVvdXQiLChmdW5jdGlvbigpe3JldHVybiBhfSkpfSxmdW5jdGlvbih0LGUscil7InVzZSBzdHJpY3QiO3IucihlKTt2YXIgbixpLG8scyxhLHUsYyxmPXt9LGg9W10sbD0vYWNpdHxleCg/OnN8Z3xufHB8JCl8cnBofGdyaWR8b3dzfG1uY3xudHd8aW5lW2NoXXx6b298Xm9yZC9pO2Z1bmN0aW9uIGQodCxlKXtmb3IodmFyIHIgaW4gZSl0W3JdPWVbcl07cmV0dXJuIHR9ZnVuY3Rpb24gcCh0KXt2YXIgZT10LnBhcmVudE5vZGU7ZSYmZS5yZW1vdmVDaGlsZCh0KX1mdW5jdGlvbiBtKHQsZSxyKXt2YXIgbixpPWFyZ3VtZW50cyxvPXt9O2ZvcihuIGluIGUpImtleSIhPT1uJiYicmVmIiE9PW4mJihvW25dPWVbbl0pO2lmKGFyZ3VtZW50cy5sZW5ndGg+Mylmb3Iocj1bcl0sbj0zO248YXJndW1lbnRzLmxlbmd0aDtuKyspci5wdXNoKGlbbl0pO2lmKG51bGwhPXImJihvLmNoaWxkcmVuPXIpLCJmdW5jdGlvbiI9PXR5cGVvZiB0JiZudWxsIT10LmRlZmF1bHRQcm9wcylmb3IobiBpbiB0LmRlZmF1bHRQcm9wcyl2b2lkIDA9PT1vW25dJiYob1tuXT10LmRlZmF1bHRQcm9wc1tuXSk7cmV0dXJuIGcodCxvLGUmJmUua2V5LGUmJmUucmVmLG51bGwpfWZ1bmN0aW9uIGcodCxlLHIsaSxvKXt2YXIgcz17dHlwZTp0LHByb3BzOmUsa2V5OnIscmVmOmksX19rOm51bGwsX186bnVsbCxfX2I6MCxfX2U6bnVsbCxfX2Q6dm9pZCAwLF9fYzpudWxsLGNvbnN0cnVjdG9yOnZvaWQgMCxfX3Y6b307cmV0dXJuIG51bGw9PW8mJihzLl9fdj1zKSxuLnZub2RlJiZuLnZub2RlKHMpLHN9ZnVuY3Rpb24gYigpe3JldHVybnt9fWZ1bmN0aW9uIHkodCl7cmV0dXJuIHQuY2hpbGRyZW59ZnVuY3Rpb24gdih0LGUpe3RoaXMucHJvcHM9dCx0aGlzLmNvbnRleHQ9ZX1mdW5jdGlvbiBfKHQsZSl7aWYobnVsbD09ZSlyZXR1cm4gdC5fXz9fKHQuX18sdC5fXy5fX2suaW5kZXhPZih0KSsxKTpudWxsO2Zvcih2YXIgcjtlPHQuX19rLmxlbmd0aDtlKyspaWYobnVsbCE9KHI9dC5fX2tbZV0pJiZudWxsIT1yLl9fZSlyZXR1cm4gci5fX2U7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHQudHlwZT9fKHQpOm51bGx9ZnVuY3Rpb24gdyh0KXt2YXIgZSxyO2lmKG51bGwhPSh0PXQuX18pJiZudWxsIT10Ll9fYyl7Zm9yKHQuX19lPXQuX19jLmJhc2U9bnVsbCxlPTA7ZTx0Ll9fay5sZW5ndGg7ZSsrKWlmKG51bGwhPShyPXQuX19rW2VdKSYmbnVsbCE9ci5fX2Upe3QuX19lPXQuX19jLmJhc2U9ci5fX2U7YnJlYWt9cmV0dXJuIHcodCl9fWZ1bmN0aW9uIE0odCl7KCF0Ll9fZCYmKHQuX19kPSEwKSYmaS5wdXNoKHQpJiYhbysrfHxhIT09bi5kZWJvdW5jZVJlbmRlcmluZykmJigoYT1uLmRlYm91bmNlUmVuZGVyaW5nKXx8cykoUyl9ZnVuY3Rpb24gUygpe2Zvcih2YXIgdDtvPWkubGVuZ3RoOyl0PWkuc29ydCgoZnVuY3Rpb24odCxlKXtyZXR1cm4gdC5fX3YuX19iLWUuX192Ll9fYn0pKSxpPVtdLHQuc29tZSgoZnVuY3Rpb24odCl7dmFyIGUscixuLGksbyxzLGE7dC5fX2QmJihzPShvPShlPXQpLl9fdikuX19lLChhPWUuX19QKSYmKHI9W10sKG49ZCh7fSxvKSkuX192PW4saT1UKGEsbyxuLGUuX19uLHZvaWQgMCE9PWEub3duZXJTVkdFbGVtZW50LG51bGwscixudWxsPT1zP18obyk6cyksTyhyLG8pLGkhPXMmJncobykpKX0pKX1mdW5jdGlvbiBFKHQsZSxyLG4saSxvLHMsYSx1KXt2YXIgYyxsLGQsbSxnLGIseSx2PXImJnIuX19rfHxoLHc9di5sZW5ndGg7aWYoYT09ZiYmKGE9bnVsbCE9bz9vWzBdOnc/XyhyLDApOm51bGwpLGM9MCxlLl9faz14KGUuX19rLChmdW5jdGlvbihyKXtpZihudWxsIT1yKXtpZihyLl9fPWUsci5fX2I9ZS5fX2IrMSxudWxsPT09KGQ9dltjXSl8fGQmJnIua2V5PT1kLmtleSYmci50eXBlPT09ZC50eXBlKXZbY109dm9pZCAwO2Vsc2UgZm9yKGw9MDtsPHc7bCsrKXtpZigoZD12W2xdKSYmci5rZXk9PWQua2V5JiZyLnR5cGU9PT1kLnR5cGUpe3ZbbF09dm9pZCAwO2JyZWFrfWQ9bnVsbH1pZihtPVQodCxyLGQ9ZHx8ZixuLGksbyxzLGEsdSksKGw9ci5yZWYpJiZkLnJlZiE9bCYmKHl8fCh5PVtdKSxkLnJlZiYmeS5wdXNoKGQucmVmLG51bGwscikseS5wdXNoKGwsci5fX2N8fG0scikpLG51bGwhPW0pe3ZhciBoO2lmKG51bGw9PWImJihiPW0pLHZvaWQgMCE9PXIuX19kKWg9ci5fX2Qsci5fX2Q9dm9pZCAwO2Vsc2UgaWYobz09ZHx8bSE9YXx8bnVsbD09bS5wYXJlbnROb2RlKXt0OmlmKG51bGw9PWF8fGEucGFyZW50Tm9kZSE9PXQpdC5hcHBlbmRDaGlsZChtKSxoPW51bGw7ZWxzZXtmb3IoZz1hLGw9MDsoZz1nLm5leHRTaWJsaW5nKSYmbDx3O2wrPTIpaWYoZz09bSlicmVhayB0O3QuaW5zZXJ0QmVmb3JlKG0sYSksaD1hfSJvcHRpb24iPT1lLnR5cGUmJih0LnZhbHVlPSIiKX1hPXZvaWQgMCE9PWg/aDptLm5leHRTaWJsaW5nLCJmdW5jdGlvbiI9PXR5cGVvZiBlLnR5cGUmJihlLl9fZD1hKX1lbHNlIGEmJmQuX19lPT1hJiZhLnBhcmVudE5vZGUhPXQmJihhPV8oZCkpfXJldHVybiBjKysscn0pKSxlLl9fZT1iLG51bGwhPW8mJiJmdW5jdGlvbiIhPXR5cGVvZiBlLnR5cGUpZm9yKGM9by5sZW5ndGg7Yy0tOyludWxsIT1vW2NdJiZwKG9bY10pO2ZvcihjPXc7Yy0tOyludWxsIT12W2NdJiZJKHZbY10sdltjXSk7aWYoeSlmb3IoYz0wO2M8eS5sZW5ndGg7YysrKVAoeVtjXSx5WysrY10seVsrK2NdKX1mdW5jdGlvbiB4KHQsZSxyKXtpZihudWxsPT1yJiYocj1bXSksbnVsbD09dHx8ImJvb2xlYW4iPT10eXBlb2YgdCllJiZyLnB1c2goZShudWxsKSk7ZWxzZSBpZihBcnJheS5pc0FycmF5KHQpKWZvcih2YXIgbj0wO248dC5sZW5ndGg7bisrKXgodFtuXSxlLHIpO2Vsc2Ugci5wdXNoKGU/ZSgic3RyaW5nIj09dHlwZW9mIHR8fCJudW1iZXIiPT10eXBlb2YgdD9nKG51bGwsdCxudWxsLG51bGwsdCk6bnVsbCE9dC5fX2V8fG51bGwhPXQuX19jP2codC50eXBlLHQucHJvcHMsdC5rZXksbnVsbCx0Ll9fdik6dCk6dCk7cmV0dXJuIHJ9ZnVuY3Rpb24gayh0LGUscil7Ii0iPT09ZVswXT90LnNldFByb3BlcnR5KGUscik6dFtlXT0ibnVtYmVyIj09dHlwZW9mIHImJiExPT09bC50ZXN0KGUpP3IrInB4IjpudWxsPT1yPyIiOnJ9ZnVuY3Rpb24gQSh0LGUscixuLGkpe3ZhciBvLHMsYSx1LGM7aWYoaT8iY2xhc3NOYW1lIj09PWUmJihlPSJjbGFzcyIpOiJjbGFzcyI9PT1lJiYoZT0iY2xhc3NOYW1lIiksInN0eWxlIj09PWUpaWYobz10LnN0eWxlLCJzdHJpbmciPT10eXBlb2YgcilvLmNzc1RleHQ9cjtlbHNle2lmKCJzdHJpbmciPT10eXBlb2YgbiYmKG8uY3NzVGV4dD0iIixuPW51bGwpLG4pZm9yKHUgaW4gbilyJiZ1IGluIHJ8fGsobyx1LCIiKTtpZihyKWZvcihjIGluIHIpbiYmcltjXT09PW5bY118fGsobyxjLHJbY10pfWVsc2UibyI9PT1lWzBdJiYibiI9PT1lWzFdPyhzPWUhPT0oZT1lLnJlcGxhY2UoL0NhcHR1cmUkLywiIikpLGE9ZS50b0xvd2VyQ2FzZSgpLGU9KGEgaW4gdD9hOmUpLnNsaWNlKDIpLHI/KG58fHQuYWRkRXZlbnRMaXN0ZW5lcihlLFIscyksKHQubHx8KHQubD17fSkpW2VdPXIpOnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihlLFIscykpOiJsaXN0IiE9PWUmJiJ0YWdOYW1lIiE9PWUmJiJmb3JtIiE9PWUmJiJ0eXBlIiE9PWUmJiJzaXplIiE9PWUmJiFpJiZlIGluIHQ/dFtlXT1udWxsPT1yPyIiOnI6ImZ1bmN0aW9uIiE9dHlwZW9mIHImJiJkYW5nZXJvdXNseVNldElubmVySFRNTCIhPT1lJiYoZSE9PShlPWUucmVwbGFjZSgvXnhsaW5rOj8vLCIiKSk/bnVsbD09cnx8ITE9PT1yP3QucmVtb3ZlQXR0cmlidXRlTlMoImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiLGUudG9Mb3dlckNhc2UoKSk6dC5zZXRBdHRyaWJ1dGVOUygiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIsZS50b0xvd2VyQ2FzZSgpLHIpOm51bGw9PXJ8fCExPT09ciYmIS9eYXIvLnRlc3QoZSk/dC5yZW1vdmVBdHRyaWJ1dGUoZSk6dC5zZXRBdHRyaWJ1dGUoZSxyKSl9ZnVuY3Rpb24gUih0KXt0aGlzLmxbdC50eXBlXShuLmV2ZW50P24uZXZlbnQodCk6dCl9ZnVuY3Rpb24gVCh0LGUscixpLG8scyxhLHUsYyl7dmFyIGYsaCxsLHAsbSxnLGIsXyx3LE0sUz1lLnR5cGU7aWYodm9pZCAwIT09ZS5jb25zdHJ1Y3RvcilyZXR1cm4gbnVsbDsoZj1uLl9fYikmJmYoZSk7dHJ5e3Q6aWYoImZ1bmN0aW9uIj09dHlwZW9mIFMpe2lmKF89ZS5wcm9wcyx3PShmPVMuY29udGV4dFR5cGUpJiZpW2YuX19jXSxNPWY/dz93LnByb3BzLnZhbHVlOmYuX186aSxyLl9fYz9iPShoPWUuX19jPXIuX19jKS5fXz1oLl9fRTooInByb3RvdHlwZSJpbiBTJiZTLnByb3RvdHlwZS5yZW5kZXI/ZS5fX2M9aD1uZXcgUyhfLE0pOihlLl9fYz1oPW5ldyB2KF8sTSksaC5jb25zdHJ1Y3Rvcj1TLGgucmVuZGVyPUIpLHcmJncuc3ViKGgpLGgucHJvcHM9XyxoLnN0YXRlfHwoaC5zdGF0ZT17fSksaC5jb250ZXh0PU0saC5fX249aSxsPWguX19kPSEwLGguX19oPVtdKSxudWxsPT1oLl9fcyYmKGguX19zPWguc3RhdGUpLG51bGwhPVMuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzJiYoaC5fX3M9PWguc3RhdGUmJihoLl9fcz1kKHt9LGguX19zKSksZChoLl9fcyxTLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyhfLGguX19zKSkpLHA9aC5wcm9wcyxtPWguc3RhdGUsbCludWxsPT1TLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyYmbnVsbCE9aC5jb21wb25lbnRXaWxsTW91bnQmJmguY29tcG9uZW50V2lsbE1vdW50KCksbnVsbCE9aC5jb21wb25lbnREaWRNb3VudCYmaC5fX2gucHVzaChoLmNvbXBvbmVudERpZE1vdW50KTtlbHNle2lmKG51bGw9PVMuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzJiZfIT09cCYmbnVsbCE9aC5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzJiZoLmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMoXyxNKSwhaC5fX2UmJm51bGwhPWguc2hvdWxkQ29tcG9uZW50VXBkYXRlJiYhMT09PWguc2hvdWxkQ29tcG9uZW50VXBkYXRlKF8saC5fX3MsTSl8fGUuX192PT09ci5fX3YmJiFoLl9fKXtmb3IoaC5wcm9wcz1fLGguc3RhdGU9aC5fX3MsZS5fX3YhPT1yLl9fdiYmKGguX19kPSExKSxoLl9fdj1lLGUuX19lPXIuX19lLGUuX19rPXIuX19rLGguX19oLmxlbmd0aCYmYS5wdXNoKGgpLGY9MDtmPGUuX19rLmxlbmd0aDtmKyspZS5fX2tbZl0mJihlLl9fa1tmXS5fXz1lKTticmVhayB0fW51bGwhPWguY29tcG9uZW50V2lsbFVwZGF0ZSYmaC5jb21wb25lbnRXaWxsVXBkYXRlKF8saC5fX3MsTSksbnVsbCE9aC5jb21wb25lbnREaWRVcGRhdGUmJmguX19oLnB1c2goKGZ1bmN0aW9uKCl7aC5jb21wb25lbnREaWRVcGRhdGUocCxtLGcpfSkpfWguY29udGV4dD1NLGgucHJvcHM9XyxoLnN0YXRlPWguX19zLChmPW4uX19yKSYmZihlKSxoLl9fZD0hMSxoLl9fdj1lLGguX19QPXQsZj1oLnJlbmRlcihoLnByb3BzLGguc3RhdGUsaC5jb250ZXh0KSxlLl9faz1udWxsIT1mJiZmLnR5cGU9PXkmJm51bGw9PWYua2V5P2YucHJvcHMuY2hpbGRyZW46QXJyYXkuaXNBcnJheShmKT9mOltmXSxudWxsIT1oLmdldENoaWxkQ29udGV4dCYmKGk9ZChkKHt9LGkpLGguZ2V0Q2hpbGRDb250ZXh0KCkpKSxsfHxudWxsPT1oLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlfHwoZz1oLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlKHAsbSkpLEUodCxlLHIsaSxvLHMsYSx1LGMpLGguYmFzZT1lLl9fZSxoLl9faC5sZW5ndGgmJmEucHVzaChoKSxiJiYoaC5fX0U9aC5fXz1udWxsKSxoLl9fZT0hMX1lbHNlIG51bGw9PXMmJmUuX192PT09ci5fX3Y/KGUuX19rPXIuX19rLGUuX19lPXIuX19lKTplLl9fZT1DKHIuX19lLGUscixpLG8scyxhLGMpOyhmPW4uZGlmZmVkKSYmZihlKX1jYXRjaCh0KXtlLl9fdj1udWxsLG4uX19lKHQsZSxyKX1yZXR1cm4gZS5fX2V9ZnVuY3Rpb24gTyh0LGUpe24uX19jJiZuLl9fYyhlLHQpLHQuc29tZSgoZnVuY3Rpb24oZSl7dHJ5e3Q9ZS5fX2gsZS5fX2g9W10sdC5zb21lKChmdW5jdGlvbih0KXt0LmNhbGwoZSl9KSl9Y2F0Y2godCl7bi5fX2UodCxlLl9fdil9fSkpfWZ1bmN0aW9uIEModCxlLHIsbixpLG8scyxhKXt2YXIgdSxjLGwsZCxwLG09ci5wcm9wcyxnPWUucHJvcHM7aWYoaT0ic3ZnIj09PWUudHlwZXx8aSxudWxsIT1vKWZvcih1PTA7dTxvLmxlbmd0aDt1KyspaWYobnVsbCE9KGM9b1t1XSkmJigobnVsbD09PWUudHlwZT8zPT09Yy5ub2RlVHlwZTpjLmxvY2FsTmFtZT09PWUudHlwZSl8fHQ9PWMpKXt0PWMsb1t1XT1udWxsO2JyZWFrfWlmKG51bGw9PXQpe2lmKG51bGw9PT1lLnR5cGUpcmV0dXJuIGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGcpO3Q9aT9kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixlLnR5cGUpOmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoZS50eXBlLGcuaXMmJntpczpnLmlzfSksbz1udWxsLGE9ITF9aWYobnVsbD09PWUudHlwZSltIT09ZyYmdC5kYXRhIT1nJiYodC5kYXRhPWcpO2Vsc2V7aWYobnVsbCE9byYmKG89aC5zbGljZS5jYWxsKHQuY2hpbGROb2RlcykpLGw9KG09ci5wcm9wc3x8ZikuZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwsZD1nLmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MLCFhKXtpZihtPT09Zilmb3IobT17fSxwPTA7cDx0LmF0dHJpYnV0ZXMubGVuZ3RoO3ArKyltW3QuYXR0cmlidXRlc1twXS5uYW1lXT10LmF0dHJpYnV0ZXNbcF0udmFsdWU7KGR8fGwpJiYoZCYmbCYmZC5fX2h0bWw9PWwuX19odG1sfHwodC5pbm5lckhUTUw9ZCYmZC5fX2h0bWx8fCIiKSl9KGZ1bmN0aW9uKHQsZSxyLG4saSl7dmFyIG87Zm9yKG8gaW4gcikiY2hpbGRyZW4iPT09b3x8ImtleSI9PT1vfHxvIGluIGV8fEEodCxvLG51bGwscltvXSxuKTtmb3IobyBpbiBlKWkmJiJmdW5jdGlvbiIhPXR5cGVvZiBlW29dfHwiY2hpbGRyZW4iPT09b3x8ImtleSI9PT1vfHwidmFsdWUiPT09b3x8ImNoZWNrZWQiPT09b3x8cltvXT09PWVbb118fEEodCxvLGVbb10scltvXSxuKX0pKHQsZyxtLGksYSksZD9lLl9faz1bXTooZS5fX2s9ZS5wcm9wcy5jaGlsZHJlbixFKHQsZSxyLG4sImZvcmVpZ25PYmplY3QiIT09ZS50eXBlJiZpLG8scyxmLGEpKSxhfHwoInZhbHVlImluIGcmJnZvaWQgMCE9PSh1PWcudmFsdWUpJiZ1IT09dC52YWx1ZSYmQSh0LCJ2YWx1ZSIsdSxtLnZhbHVlLCExKSwiY2hlY2tlZCJpbiBnJiZ2b2lkIDAhPT0odT1nLmNoZWNrZWQpJiZ1IT09dC5jaGVja2VkJiZBKHQsImNoZWNrZWQiLHUsbS5jaGVja2VkLCExKSl9cmV0dXJuIHR9ZnVuY3Rpb24gUCh0LGUscil7dHJ5eyJmdW5jdGlvbiI9PXR5cGVvZiB0P3QoZSk6dC5jdXJyZW50PWV9Y2F0Y2godCl7bi5fX2UodCxyKX19ZnVuY3Rpb24gSSh0LGUscil7dmFyIGksbyxzO2lmKG4udW5tb3VudCYmbi51bm1vdW50KHQpLChpPXQucmVmKSYmKGkuY3VycmVudCYmaS5jdXJyZW50IT09dC5fX2V8fFAoaSxudWxsLGUpKSxyfHwiZnVuY3Rpb24iPT10eXBlb2YgdC50eXBlfHwocj1udWxsIT0obz10Ll9fZSkpLHQuX19lPXQuX19kPXZvaWQgMCxudWxsIT0oaT10Ll9fYykpe2lmKGkuY29tcG9uZW50V2lsbFVubW91bnQpdHJ5e2kuY29tcG9uZW50V2lsbFVubW91bnQoKX1jYXRjaCh0KXtuLl9fZSh0LGUpfWkuYmFzZT1pLl9fUD1udWxsfWlmKGk9dC5fX2spZm9yKHM9MDtzPGkubGVuZ3RoO3MrKylpW3NdJiZJKGlbc10sZSxyKTtudWxsIT1vJiZwKG8pfWZ1bmN0aW9uIEIodCxlLHIpe3JldHVybiB0aGlzLmNvbnN0cnVjdG9yKHQscil9ZnVuY3Rpb24gTCh0LGUscil7dmFyIGksbyxzO24uX18mJm4uX18odCxlKSxvPShpPXI9PT11KT9udWxsOnImJnIuX19rfHxlLl9fayx0PW0oeSxudWxsLFt0XSkscz1bXSxUKGUsKGk/ZTpyfHxlKS5fX2s9dCxvfHxmLGYsdm9pZCAwIT09ZS5vd25lclNWR0VsZW1lbnQsciYmIWk/W3JdOm8/bnVsbDpoLnNsaWNlLmNhbGwoZS5jaGlsZE5vZGVzKSxzLHJ8fGYsaSksTyhzLHQpfWZ1bmN0aW9uIGoodCxlKXtMKHQsZSx1KX1mdW5jdGlvbiBOKHQsZSl7dmFyIHIsbjtmb3IobiBpbiBlPWQoZCh7fSx0LnByb3BzKSxlKSxhcmd1bWVudHMubGVuZ3RoPjImJihlLmNoaWxkcmVuPWguc2xpY2UuY2FsbChhcmd1bWVudHMsMikpLHI9e30sZSkia2V5IiE9PW4mJiJyZWYiIT09biYmKHJbbl09ZVtuXSk7cmV0dXJuIGcodC50eXBlLHIsZS5rZXl8fHQua2V5LGUucmVmfHx0LnJlZixudWxsKX1mdW5jdGlvbiBxKHQpe3ZhciBlPXt9LHI9e19fYzoiX19jQyIrYysrLF9fOnQsQ29uc3VtZXI6ZnVuY3Rpb24odCxlKXtyZXR1cm4gdC5jaGlsZHJlbihlKX0sUHJvdmlkZXI6ZnVuY3Rpb24odCl7dmFyIG4saT10aGlzO3JldHVybiB0aGlzLmdldENoaWxkQ29udGV4dHx8KG49W10sdGhpcy5nZXRDaGlsZENvbnRleHQ9ZnVuY3Rpb24oKXtyZXR1cm4gZVtyLl9fY109aSxlfSx0aGlzLnNob3VsZENvbXBvbmVudFVwZGF0ZT1mdW5jdGlvbih0KXtpLnByb3BzLnZhbHVlIT09dC52YWx1ZSYmbi5zb21lKChmdW5jdGlvbihlKXtlLmNvbnRleHQ9dC52YWx1ZSxNKGUpfSkpfSx0aGlzLnN1Yj1mdW5jdGlvbih0KXtuLnB1c2godCk7dmFyIGU9dC5jb21wb25lbnRXaWxsVW5tb3VudDt0LmNvbXBvbmVudFdpbGxVbm1vdW50PWZ1bmN0aW9uKCl7bi5zcGxpY2Uobi5pbmRleE9mKHQpLDEpLGUmJmUuY2FsbCh0KX19KSx0LmNoaWxkcmVufX07cmV0dXJuIHIuQ29uc3VtZXIuY29udGV4dFR5cGU9cixyLlByb3ZpZGVyLl9fPXIscn1uPXtfX2U6ZnVuY3Rpb24odCxlKXtmb3IodmFyIHIsbjtlPWUuX187KWlmKChyPWUuX19jKSYmIXIuX18pdHJ5e2lmKHIuY29uc3RydWN0b3ImJm51bGwhPXIuY29uc3RydWN0b3IuZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yJiYobj0hMCxyLnNldFN0YXRlKHIuY29uc3RydWN0b3IuZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yKHQpKSksbnVsbCE9ci5jb21wb25lbnREaWRDYXRjaCYmKG49ITAsci5jb21wb25lbnREaWRDYXRjaCh0KSksbilyZXR1cm4gTShyLl9fRT1yKX1jYXRjaChlKXt0PWV9dGhyb3cgdH19LHYucHJvdG90eXBlLnNldFN0YXRlPWZ1bmN0aW9uKHQsZSl7dmFyIHI7cj10aGlzLl9fcyE9PXRoaXMuc3RhdGU/dGhpcy5fX3M6dGhpcy5fX3M9ZCh7fSx0aGlzLnN0YXRlKSwiZnVuY3Rpb24iPT10eXBlb2YgdCYmKHQ9dChyLHRoaXMucHJvcHMpKSx0JiZkKHIsdCksbnVsbCE9dCYmdGhpcy5fX3YmJihlJiZ0aGlzLl9faC5wdXNoKGUpLE0odGhpcykpfSx2LnByb3RvdHlwZS5mb3JjZVVwZGF0ZT1mdW5jdGlvbih0KXt0aGlzLl9fdiYmKHRoaXMuX19lPSEwLHQmJnRoaXMuX19oLnB1c2godCksTSh0aGlzKSl9LHYucHJvdG90eXBlLnJlbmRlcj15LGk9W10sbz0wLHM9ImZ1bmN0aW9uIj09dHlwZW9mIFByb21pc2U/UHJvbWlzZS5wcm90b3R5cGUudGhlbi5iaW5kKFByb21pc2UucmVzb2x2ZSgpKTpzZXRUaW1lb3V0LHU9ZixjPTA7dmFyIFUsRCx6LEg9MCxGPVtdLFc9bi5fX3IsSz1uLmRpZmZlZCxWPW4uX19jLEo9bi51bm1vdW50O2Z1bmN0aW9uIFkodCxlKXtuLl9faCYmbi5fX2goRCx0LEh8fGUpLEg9MDt2YXIgcj1ELl9fSHx8KEQuX19IPXtfXzpbXSxfX2g6W119KTtyZXR1cm4gdD49ci5fXy5sZW5ndGgmJnIuX18ucHVzaCh7fSksci5fX1t0XX1mdW5jdGlvbiBHKHQpe3JldHVybiBIPTEsWihmdCx0KX1mdW5jdGlvbiBaKHQsZSxyKXt2YXIgbj1ZKFUrKywyKTtyZXR1cm4gbi5fX2N8fChuLl9fYz1ELG4uX189W3I/cihlKTpmdCh2b2lkIDAsZSksZnVuY3Rpb24oZSl7dmFyIHI9dChuLl9fWzBdLGUpO24uX19bMF0hPT1yJiYobi5fX1swXT1yLG4uX19jLnNldFN0YXRlKHt9KSl9XSksbi5fX31mdW5jdGlvbiAkKHQsZSl7dmFyIHI9WShVKyssMyk7IW4uX19zJiZjdChyLl9fSCxlKSYmKHIuX189dCxyLl9fSD1lLEQuX19ILl9faC5wdXNoKHIpKX1mdW5jdGlvbiBYKHQsZSl7dmFyIHI9WShVKyssNCk7IW4uX19zJiZjdChyLl9fSCxlKSYmKHIuX189dCxyLl9fSD1lLEQuX19oLnB1c2gocikpfWZ1bmN0aW9uIFEodCl7cmV0dXJuIEg9NSxldCgoZnVuY3Rpb24oKXtyZXR1cm57Y3VycmVudDp0fX0pLFtdKX1mdW5jdGlvbiB0dCh0LGUscil7SD02LFgoKGZ1bmN0aW9uKCl7ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dChlKCkpOnQmJih0LmN1cnJlbnQ9ZSgpKX0pLG51bGw9PXI/cjpyLmNvbmNhdCh0KSl9ZnVuY3Rpb24gZXQodCxlKXt2YXIgcj1ZKFUrKyw3KTtyZXR1cm4gY3Qoci5fX0gsZSk/KHIuX19IPWUsci5fX2g9dCxyLl9fPXQoKSk6ci5fX31mdW5jdGlvbiBydCh0LGUpe3JldHVybiBIPTgsZXQoKGZ1bmN0aW9uKCl7cmV0dXJuIHR9KSxlKX1mdW5jdGlvbiBudCh0KXt2YXIgZT1ELmNvbnRleHRbdC5fX2NdLHI9WShVKyssOSk7cmV0dXJuIHIuX19jPXQsZT8obnVsbD09ci5fXyYmKHIuX189ITAsZS5zdWIoRCkpLGUucHJvcHMudmFsdWUpOnQuX199ZnVuY3Rpb24gaXQodCxlKXtuLnVzZURlYnVnVmFsdWUmJm4udXNlRGVidWdWYWx1ZShlP2UodCk6dCl9ZnVuY3Rpb24gb3QodCl7dmFyIGU9WShVKyssMTApLHI9RygpO3JldHVybiBlLl9fPXQsRC5jb21wb25lbnREaWRDYXRjaHx8KEQuY29tcG9uZW50RGlkQ2F0Y2g9ZnVuY3Rpb24odCl7ZS5fXyYmZS5fXyh0KSxyWzFdKHQpfSksW3JbMF0sZnVuY3Rpb24oKXtyWzFdKHZvaWQgMCl9XX1mdW5jdGlvbiBzdCgpe0Yuc29tZSgoZnVuY3Rpb24odCl7aWYodC5fX1ApdHJ5e3QuX19ILl9faC5mb3JFYWNoKGF0KSx0Ll9fSC5fX2guZm9yRWFjaCh1dCksdC5fX0guX19oPVtdfWNhdGNoKGUpe3JldHVybiB0Ll9fSC5fX2g9W10sbi5fX2UoZSx0Ll9fdiksITB9fSkpLEY9W119ZnVuY3Rpb24gYXQodCl7dC50JiZ0LnQoKX1mdW5jdGlvbiB1dCh0KXt2YXIgZT10Ll9fKCk7ImZ1bmN0aW9uIj09dHlwZW9mIGUmJih0LnQ9ZSl9ZnVuY3Rpb24gY3QodCxlKXtyZXR1cm4hdHx8ZS5zb21lKChmdW5jdGlvbihlLHIpe3JldHVybiBlIT09dFtyXX0pKX1mdW5jdGlvbiBmdCh0LGUpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBlP2UodCk6ZX1mdW5jdGlvbiBodCh0LGUpe2Zvcih2YXIgciBpbiBlKXRbcl09ZVtyXTtyZXR1cm4gdH1mdW5jdGlvbiBsdCh0LGUpe2Zvcih2YXIgciBpbiB0KWlmKCJfX3NvdXJjZSIhPT1yJiYhKHIgaW4gZSkpcmV0dXJuITA7Zm9yKHZhciBuIGluIGUpaWYoIl9fc291cmNlIiE9PW4mJnRbbl0hPT1lW25dKXJldHVybiEwO3JldHVybiExfW4uX19yPWZ1bmN0aW9uKHQpe1cmJlcodCksVT0wLChEPXQuX19jKS5fX0gmJihELl9fSC5fX2guZm9yRWFjaChhdCksRC5fX0guX19oLmZvckVhY2godXQpLEQuX19ILl9faD1bXSl9LG4uZGlmZmVkPWZ1bmN0aW9uKHQpe0smJksodCk7dmFyIGU9dC5fX2M7aWYoZSl7dmFyIHI9ZS5fX0g7ciYmci5fX2gubGVuZ3RoJiYoMSE9PUYucHVzaChlKSYmej09PW4ucmVxdWVzdEFuaW1hdGlvbkZyYW1lfHwoKHo9bi5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUpfHxmdW5jdGlvbih0KXt2YXIgZSxyPWZ1bmN0aW9uKCl7Y2xlYXJUaW1lb3V0KG4pLGNhbmNlbEFuaW1hdGlvbkZyYW1lKGUpLHNldFRpbWVvdXQodCl9LG49c2V0VGltZW91dChyLDEwMCk7InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cmJihlPXJlcXVlc3RBbmltYXRpb25GcmFtZShyKSl9KShzdCkpfX0sbi5fX2M9ZnVuY3Rpb24odCxlKXtlLnNvbWUoKGZ1bmN0aW9uKHQpe3RyeXt0Ll9faC5mb3JFYWNoKGF0KSx0Ll9faD10Ll9faC5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybiF0Ll9ffHx1dCh0KX0pKX1jYXRjaChyKXtlLnNvbWUoKGZ1bmN0aW9uKHQpe3QuX19oJiYodC5fX2g9W10pfSkpLGU9W10sbi5fX2Uocix0Ll9fdil9fSkpLFYmJlYodCxlKX0sbi51bm1vdW50PWZ1bmN0aW9uKHQpe0omJkoodCk7dmFyIGU9dC5fX2M7aWYoZSl7dmFyIHI9ZS5fX0g7aWYocil0cnl7ci5fXy5mb3JFYWNoKChmdW5jdGlvbih0KXtyZXR1cm4gdC50JiZ0LnQoKX0pKX1jYXRjaCh0KXtuLl9fZSh0LGUuX192KX19fSxyLmQoZSwidmVyc2lvbiIsKGZ1bmN0aW9uKCl7cmV0dXJuIE50fSkpLHIuZChlLCJDaGlsZHJlbiIsKGZ1bmN0aW9uKCl7cmV0dXJuIHl0fSkpLHIuZChlLCJyZW5kZXIiLChmdW5jdGlvbigpe3JldHVybiBDdH0pKSxyLmQoZSwiaHlkcmF0ZSIsKGZ1bmN0aW9uKCl7cmV0dXJuIFB0fSkpLHIuZChlLCJ1bm1vdW50Q29tcG9uZW50QXROb2RlIiwoZnVuY3Rpb24oKXtyZXR1cm4genR9KSksci5kKGUsImNyZWF0ZVBvcnRhbCIsKGZ1bmN0aW9uKCl7cmV0dXJuIFJ0fSkpLHIuZChlLCJjcmVhdGVGYWN0b3J5IiwoZnVuY3Rpb24oKXtyZXR1cm4gcXR9KSksci5kKGUsImNsb25lRWxlbWVudCIsKGZ1bmN0aW9uKCl7cmV0dXJuIER0fSkpLHIuZChlLCJpc1ZhbGlkRWxlbWVudCIsKGZ1bmN0aW9uKCl7cmV0dXJuIFV0fSkpLHIuZChlLCJmaW5kRE9NTm9kZSIsKGZ1bmN0aW9uKCl7cmV0dXJuIEh0fSkpLHIuZChlLCJQdXJlQ29tcG9uZW50IiwoZnVuY3Rpb24oKXtyZXR1cm4gZHR9KSksci5kKGUsIm1lbW8iLChmdW5jdGlvbigpe3JldHVybiBwdH0pKSxyLmQoZSwiZm9yd2FyZFJlZiIsKGZ1bmN0aW9uKCl7cmV0dXJuIGd0fSkpLHIuZChlLCJ1bnN0YWJsZV9iYXRjaGVkVXBkYXRlcyIsKGZ1bmN0aW9uKCl7cmV0dXJuIEZ0fSkpLHIuZChlLCJTdXNwZW5zZSIsKGZ1bmN0aW9uKCl7cmV0dXJuIHd0fSkpLHIuZChlLCJTdXNwZW5zZUxpc3QiLChmdW5jdGlvbigpe3JldHVybiBFdH0pKSxyLmQoZSwibGF6eSIsKGZ1bmN0aW9uKCl7cmV0dXJuIFN0fSkpLHIuZChlLCJ1c2VTdGF0ZSIsKGZ1bmN0aW9uKCl7cmV0dXJuIEd9KSksci5kKGUsInVzZVJlZHVjZXIiLChmdW5jdGlvbigpe3JldHVybiBafSkpLHIuZChlLCJ1c2VFZmZlY3QiLChmdW5jdGlvbigpe3JldHVybiAkfSkpLHIuZChlLCJ1c2VMYXlvdXRFZmZlY3QiLChmdW5jdGlvbigpe3JldHVybiBYfSkpLHIuZChlLCJ1c2VSZWYiLChmdW5jdGlvbigpe3JldHVybiBRfSkpLHIuZChlLCJ1c2VJbXBlcmF0aXZlSGFuZGxlIiwoZnVuY3Rpb24oKXtyZXR1cm4gdHR9KSksci5kKGUsInVzZU1lbW8iLChmdW5jdGlvbigpe3JldHVybiBldH0pKSxyLmQoZSwidXNlQ2FsbGJhY2siLChmdW5jdGlvbigpe3JldHVybiBydH0pKSxyLmQoZSwidXNlQ29udGV4dCIsKGZ1bmN0aW9uKCl7cmV0dXJuIG50fSkpLHIuZChlLCJ1c2VEZWJ1Z1ZhbHVlIiwoZnVuY3Rpb24oKXtyZXR1cm4gaXR9KSksci5kKGUsInVzZUVycm9yQm91bmRhcnkiLChmdW5jdGlvbigpe3JldHVybiBvdH0pKSxyLmQoZSwiY3JlYXRlRWxlbWVudCIsKGZ1bmN0aW9uKCl7cmV0dXJuIG19KSksci5kKGUsImNyZWF0ZUNvbnRleHQiLChmdW5jdGlvbigpe3JldHVybiBxfSkpLHIuZChlLCJjcmVhdGVSZWYiLChmdW5jdGlvbigpe3JldHVybiBifSkpLHIuZChlLCJGcmFnbWVudCIsKGZ1bmN0aW9uKCl7cmV0dXJuIHl9KSksci5kKGUsIkNvbXBvbmVudCIsKGZ1bmN0aW9uKCl7cmV0dXJuIHZ9KSk7dmFyIGR0PWZ1bmN0aW9uKHQpe3ZhciBlLHI7ZnVuY3Rpb24gbihlKXt2YXIgcjtyZXR1cm4ocj10LmNhbGwodGhpcyxlKXx8dGhpcykuaXNQdXJlUmVhY3RDb21wb25lbnQ9ITAscn1yZXR1cm4gcj10LChlPW4pLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHIucHJvdG90eXBlKSxlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lLGUuX19wcm90b19fPXIsbi5wcm90b3R5cGUuc2hvdWxkQ29tcG9uZW50VXBkYXRlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGx0KHRoaXMucHJvcHMsdCl8fGx0KHRoaXMuc3RhdGUsZSl9LG59KHYpO2Z1bmN0aW9uIHB0KHQsZSl7ZnVuY3Rpb24gcih0KXt2YXIgcj10aGlzLnByb3BzLnJlZixuPXI9PXQucmVmO3JldHVybiFuJiZyJiYoci5jYWxsP3IobnVsbCk6ci5jdXJyZW50PW51bGwpLGU/IWUodGhpcy5wcm9wcyx0KXx8IW46bHQodGhpcy5wcm9wcyx0KX1mdW5jdGlvbiBuKGUpe3JldHVybiB0aGlzLnNob3VsZENvbXBvbmVudFVwZGF0ZT1yLG0odCxodCh7fSxlKSl9cmV0dXJuIG4ucHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnQ9ITAsbi5kaXNwbGF5TmFtZT0iTWVtbygiKyh0LmRpc3BsYXlOYW1lfHx0Lm5hbWUpKyIpIixuLnQ9ITAsbn12YXIgbXQ9bi5fX2I7ZnVuY3Rpb24gZ3QodCl7ZnVuY3Rpb24gZShlKXt2YXIgcj1odCh7fSxlKTtyZXR1cm4gZGVsZXRlIHIucmVmLHQocixlLnJlZil9cmV0dXJuIGUucHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnQ9ZS50PSEwLGUuZGlzcGxheU5hbWU9IkZvcndhcmRSZWYoIisodC5kaXNwbGF5TmFtZXx8dC5uYW1lKSsiKSIsZX1uLl9fYj1mdW5jdGlvbih0KXt0LnR5cGUmJnQudHlwZS50JiZ0LnJlZiYmKHQucHJvcHMucmVmPXQucmVmLHQucmVmPW51bGwpLG10JiZtdCh0KX07dmFyIGJ0PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQ/eCh0KS5yZWR1Y2UoKGZ1bmN0aW9uKHQscixuKXtyZXR1cm4gdC5jb25jYXQoZShyLG4pKX0pLFtdKTpudWxsfSx5dD17bWFwOmJ0LGZvckVhY2g6YnQsY291bnQ6ZnVuY3Rpb24odCl7cmV0dXJuIHQ/eCh0KS5sZW5ndGg6MH0sb25seTpmdW5jdGlvbih0KXtpZigxIT09KHQ9eCh0KSkubGVuZ3RoKXRocm93IG5ldyBFcnJvcigiQ2hpbGRyZW4ub25seSgpIGV4cGVjdHMgb25seSBvbmUgY2hpbGQuIik7cmV0dXJuIHRbMF19LHRvQXJyYXk6eH0sdnQ9bi5fX2U7ZnVuY3Rpb24gX3QodCl7cmV0dXJuIHQmJigodD1odCh7fSx0KSkuX19jPW51bGwsdC5fX2s9dC5fX2smJnQuX19rLm1hcChfdCkpLHR9ZnVuY3Rpb24gd3QoKXt0aGlzLl9fdT0wLHRoaXMubz1udWxsLHRoaXMuX19iPW51bGx9ZnVuY3Rpb24gTXQodCl7dmFyIGU9dC5fXy5fX2M7cmV0dXJuIGUmJmUudSYmZS51KHQpfWZ1bmN0aW9uIFN0KHQpe3ZhciBlLHIsbjtmdW5jdGlvbiBpKGkpe2lmKGV8fChlPXQoKSkudGhlbigoZnVuY3Rpb24odCl7cj10LmRlZmF1bHR8fHR9KSwoZnVuY3Rpb24odCl7bj10fSkpLG4pdGhyb3cgbjtpZighcil0aHJvdyBlO3JldHVybiBtKHIsaSl9cmV0dXJuIGkuZGlzcGxheU5hbWU9IkxhenkiLGkudD0hMCxpfWZ1bmN0aW9uIEV0KCl7dGhpcy5pPW51bGwsdGhpcy5sPW51bGx9bi5fX2U9ZnVuY3Rpb24odCxlLHIpe2lmKHQudGhlbilmb3IodmFyIG4saT1lO2k9aS5fXzspaWYoKG49aS5fX2MpJiZuLl9fYylyZXR1cm4gbi5fX2ModCxlLl9fYyk7dnQodCxlLHIpfSwod3QucHJvdG90eXBlPW5ldyB2KS5fX2M9ZnVuY3Rpb24odCxlKXt2YXIgcj10aGlzO251bGw9PXIubyYmKHIubz1bXSksci5vLnB1c2goZSk7dmFyIG49TXQoci5fX3YpLGk9ITEsbz1mdW5jdGlvbigpe2l8fChpPSEwLG4/bihzKTpzKCkpfTtlLl9fYz1lLmNvbXBvbmVudFdpbGxVbm1vdW50LGUuY29tcG9uZW50V2lsbFVubW91bnQ9ZnVuY3Rpb24oKXtvKCksZS5fX2MmJmUuX19jKCl9O3ZhciBzPWZ1bmN0aW9uKCl7dmFyIHQ7aWYoIS0tci5fX3UpZm9yKHIuX192Ll9fa1swXT1yLnN0YXRlLnUsci5zZXRTdGF0ZSh7dTpyLl9fYj1udWxsfSk7dD1yLm8ucG9wKCk7KXQuZm9yY2VVcGRhdGUoKX07ci5fX3UrK3x8ci5zZXRTdGF0ZSh7dTpyLl9fYj1yLl9fdi5fX2tbMF19KSx0LnRoZW4obyxvKX0sd3QucHJvdG90eXBlLnJlbmRlcj1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLl9fYiYmKHRoaXMuX192Ll9fa1swXT1fdCh0aGlzLl9fYiksdGhpcy5fX2I9bnVsbCksW20odixudWxsLGUudT9udWxsOnQuY2hpbGRyZW4pLGUudSYmdC5mYWxsYmFja119O3ZhciB4dD1mdW5jdGlvbih0LGUscil7aWYoKytyWzFdPT09clswXSYmdC5sLmRlbGV0ZShlKSx0LnByb3BzLnJldmVhbE9yZGVyJiYoInQiIT09dC5wcm9wcy5yZXZlYWxPcmRlclswXXx8IXQubC5zaXplKSlmb3Iocj10Lmk7cjspe2Zvcig7ci5sZW5ndGg+Mzspci5wb3AoKSgpO2lmKHJbMV08clswXSlicmVhazt0Lmk9cj1yWzJdfX07KEV0LnByb3RvdHlwZT1uZXcgdikudT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLHI9TXQoZS5fX3YpLG49ZS5sLmdldCh0KTtyZXR1cm4gblswXSsrLGZ1bmN0aW9uKGkpe3ZhciBvPWZ1bmN0aW9uKCl7ZS5wcm9wcy5yZXZlYWxPcmRlcj8obi5wdXNoKGkpLHh0KGUsdCxuKSk6aSgpfTtyP3Iobyk6bygpfX0sRXQucHJvdG90eXBlLnJlbmRlcj1mdW5jdGlvbih0KXt0aGlzLmk9bnVsbCx0aGlzLmw9bmV3IE1hcDt2YXIgZT14KHQuY2hpbGRyZW4pO3QucmV2ZWFsT3JkZXImJiJiIj09PXQucmV2ZWFsT3JkZXJbMF0mJmUucmV2ZXJzZSgpO2Zvcih2YXIgcj1lLmxlbmd0aDtyLS07KXRoaXMubC5zZXQoZVtyXSx0aGlzLmk9WzEsMCx0aGlzLmldKTtyZXR1cm4gdC5jaGlsZHJlbn0sRXQucHJvdG90eXBlLmNvbXBvbmVudERpZFVwZGF0ZT1FdC5wcm90b3R5cGUuY29tcG9uZW50RGlkTW91bnQ9ZnVuY3Rpb24oKXt2YXIgdD10aGlzO3QubC5mb3JFYWNoKChmdW5jdGlvbihlLHIpe3h0KHQscixlKX0pKX07dmFyIGt0PWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe312YXIgZT10LnByb3RvdHlwZTtyZXR1cm4gZS5nZXRDaGlsZENvbnRleHQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wcm9wcy5jb250ZXh0fSxlLnJlbmRlcj1mdW5jdGlvbih0KXtyZXR1cm4gdC5jaGlsZHJlbn0sdH0oKTtmdW5jdGlvbiBBdCh0KXt2YXIgZT10aGlzLHI9dC5jb250YWluZXIsbj1tKGt0LHtjb250ZXh0OmUuY29udGV4dH0sdC52bm9kZSk7cmV0dXJuIGUucyYmZS5zIT09ciYmKGUudi5wYXJlbnROb2RlJiZlLnMucmVtb3ZlQ2hpbGQoZS52KSxJKGUuaCksZS5wPSExKSx0LnZub2RlP2UucD8oci5fX2s9ZS5fX2ssTChuLHIpLGUuX19rPXIuX19rKTooZS52PWRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCIiKSxqKCIiLHIpLHIuYXBwZW5kQ2hpbGQoZS52KSxlLnA9ITAsZS5zPXIsTChuLHIsZS52KSxlLl9faz1lLnYuX19rKTplLnAmJihlLnYucGFyZW50Tm9kZSYmZS5zLnJlbW92ZUNoaWxkKGUudiksSShlLmgpKSxlLmg9bixlLmNvbXBvbmVudFdpbGxVbm1vdW50PWZ1bmN0aW9uKCl7ZS52LnBhcmVudE5vZGUmJmUucy5yZW1vdmVDaGlsZChlLnYpLEkoZS5oKX0sbnVsbH1mdW5jdGlvbiBSdCh0LGUpe3JldHVybiBtKEF0LHt2bm9kZTp0LGNvbnRhaW5lcjplfSl9dmFyIFR0PS9eKD86YWNjZW50fGFsaWdubWVudHxhcmFiaWN8YmFzZWxpbmV8Y2FwfGNsaXAoPyFQYXRoVSl8Y29sb3J8ZmlsbHxmbG9vZHxmb250fGdseXBoKD8hUil8aG9yaXp8bWFya2VyKD8hSHxXfFUpfG92ZXJsaW5lfHBhaW50fHN0b3B8c3RyaWtldGhyb3VnaHxzdHJva2V8dGV4dCg/IUwpfHVuZGVybGluZXx1bmljb2RlfHVuaXRzfHZ8dmVjdG9yfHZlcnR8d29yZHx3cml0aW5nfHgoPyFDKSlbQS1aXS87di5wcm90b3R5cGUuaXNSZWFjdENvbXBvbmVudD17fTt2YXIgT3Q9InVuZGVmaW5lZCIhPXR5cGVvZiBTeW1ib2wmJlN5bWJvbC5mb3ImJlN5bWJvbC5mb3IoInJlYWN0LmVsZW1lbnQiKXx8NjAxMDM7ZnVuY3Rpb24gQ3QodCxlLHIpe2lmKG51bGw9PWUuX19rKWZvcig7ZS5maXJzdENoaWxkOyllLnJlbW92ZUNoaWxkKGUuZmlyc3RDaGlsZCk7cmV0dXJuIEwodCxlKSwiZnVuY3Rpb24iPT10eXBlb2YgciYmcigpLHQ/dC5fX2M6bnVsbH1mdW5jdGlvbiBQdCh0LGUscil7cmV0dXJuIGoodCxlKSwiZnVuY3Rpb24iPT10eXBlb2YgciYmcigpLHQ/dC5fX2M6bnVsbH12YXIgSXQ9bi5ldmVudDtmdW5jdGlvbiBCdCh0LGUpe3RbIlVOU0FGRV8iK2VdJiYhdFtlXSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsZSx7Y29uZmlndXJhYmxlOiExLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzWyJVTlNBRkVfIitlXX0sc2V0OmZ1bmN0aW9uKHQpe3RoaXNbIlVOU0FGRV8iK2VdPXR9fSl9bi5ldmVudD1mdW5jdGlvbih0KXtJdCYmKHQ9SXQodCkpLHQucGVyc2lzdD1mdW5jdGlvbigpe307dmFyIGU9ITEscj0hMSxuPXQuc3RvcFByb3BhZ2F0aW9uO3Quc3RvcFByb3BhZ2F0aW9uPWZ1bmN0aW9uKCl7bi5jYWxsKHQpLGU9ITB9O3ZhciBpPXQucHJldmVudERlZmF1bHQ7cmV0dXJuIHQucHJldmVudERlZmF1bHQ9ZnVuY3Rpb24oKXtpLmNhbGwodCkscj0hMH0sdC5pc1Byb3BhZ2F0aW9uU3RvcHBlZD1mdW5jdGlvbigpe3JldHVybiBlfSx0LmlzRGVmYXVsdFByZXZlbnRlZD1mdW5jdGlvbigpe3JldHVybiByfSx0Lm5hdGl2ZUV2ZW50PXR9O3ZhciBMdD17Y29uZmlndXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmNsYXNzfX0sanQ9bi52bm9kZTtuLnZub2RlPWZ1bmN0aW9uKHQpe3QuJCR0eXBlb2Y9T3Q7dmFyIGU9dC50eXBlLHI9dC5wcm9wcztpZihlKXtpZihyLmNsYXNzIT1yLmNsYXNzTmFtZSYmKEx0LmVudW1lcmFibGU9ImNsYXNzTmFtZSJpbiByLG51bGwhPXIuY2xhc3NOYW1lJiYoci5jbGFzcz1yLmNsYXNzTmFtZSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsImNsYXNzTmFtZSIsTHQpKSwiZnVuY3Rpb24iIT10eXBlb2YgZSl7dmFyIG4saSxvO2ZvcihvIGluIHIuZGVmYXVsdFZhbHVlJiZ2b2lkIDAhPT1yLnZhbHVlJiYoci52YWx1ZXx8MD09PXIudmFsdWV8fChyLnZhbHVlPXIuZGVmYXVsdFZhbHVlKSxkZWxldGUgci5kZWZhdWx0VmFsdWUpLEFycmF5LmlzQXJyYXkoci52YWx1ZSkmJnIubXVsdGlwbGUmJiJzZWxlY3QiPT09ZSYmKHgoci5jaGlsZHJlbikuZm9yRWFjaCgoZnVuY3Rpb24odCl7LTEhPXIudmFsdWUuaW5kZXhPZih0LnByb3BzLnZhbHVlKSYmKHQucHJvcHMuc2VsZWN0ZWQ9ITApfSkpLGRlbGV0ZSByLnZhbHVlKSxyKWlmKG49VHQudGVzdChvKSlicmVhaztpZihuKWZvcihvIGluIGk9dC5wcm9wcz17fSxyKWlbVHQudGVzdChvKT9vLnJlcGxhY2UoL1tBLVowLTldLywiLSQmIikudG9Mb3dlckNhc2UoKTpvXT1yW29dfSFmdW5jdGlvbihlKXt2YXIgcj10LnR5cGUsbj10LnByb3BzO2lmKG4mJiJzdHJpbmciPT10eXBlb2Ygcil7dmFyIGk9e307Zm9yKHZhciBvIGluIG4pL15vbihBbml8VHJhfFRvdSkvLnRlc3QobykmJihuW28udG9Mb3dlckNhc2UoKV09bltvXSxkZWxldGUgbltvXSksaVtvLnRvTG93ZXJDYXNlKCldPW87aWYoaS5vbmRvdWJsZWNsaWNrJiYobi5vbmRibGNsaWNrPW5baS5vbmRvdWJsZWNsaWNrXSxkZWxldGUgbltpLm9uZG91YmxlY2xpY2tdKSxpLm9uYmVmb3JlaW5wdXQmJihuLm9uYmVmb3JlaW5wdXQ9bltpLm9uYmVmb3JlaW5wdXRdLGRlbGV0ZSBuW2kub25iZWZvcmVpbnB1dF0pLGkub25jaGFuZ2UmJigidGV4dGFyZWEiPT09cnx8ImlucHV0Ij09PXIudG9Mb3dlckNhc2UoKSYmIS9eZmlsfGNoZXxyYS9pLnRlc3Qobi50eXBlKSkpe3ZhciBzPWkub25pbnB1dHx8Im9uaW5wdXQiO25bc118fChuW3NdPW5baS5vbmNoYW5nZV0sZGVsZXRlIG5baS5vbmNoYW5nZV0pfX19KCksImZ1bmN0aW9uIj09dHlwZW9mIGUmJiFlLm0mJmUucHJvdG90eXBlJiYoQnQoZS5wcm90b3R5cGUsImNvbXBvbmVudFdpbGxNb3VudCIpLEJ0KGUucHJvdG90eXBlLCJjb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzIiksQnQoZS5wcm90b3R5cGUsImNvbXBvbmVudFdpbGxVcGRhdGUiKSxlLm09ITApfWp0JiZqdCh0KX07dmFyIE50PSIxNi44LjAiO2Z1bmN0aW9uIHF0KHQpe3JldHVybiBtLmJpbmQobnVsbCx0KX1mdW5jdGlvbiBVdCh0KXtyZXR1cm4hIXQmJnQuJCR0eXBlb2Y9PT1PdH1mdW5jdGlvbiBEdCh0KXtyZXR1cm4gVXQodCk/Ti5hcHBseShudWxsLGFyZ3VtZW50cyk6dH1mdW5jdGlvbiB6dCh0KXtyZXR1cm4hIXQuX19rJiYoTChudWxsLHQpLCEwKX1mdW5jdGlvbiBIdCh0KXtyZXR1cm4gdCYmKHQuYmFzZXx8MT09PXQubm9kZVR5cGUmJnQpfHxudWxsfXZhciBGdD1mdW5jdGlvbih0LGUpe3JldHVybiB0KGUpfTtlLmRlZmF1bHQ9e3VzZVN0YXRlOkcsdXNlUmVkdWNlcjpaLHVzZUVmZmVjdDokLHVzZUxheW91dEVmZmVjdDpYLHVzZVJlZjpRLHVzZUltcGVyYXRpdmVIYW5kbGU6dHQsdXNlTWVtbzpldCx1c2VDYWxsYmFjazpydCx1c2VDb250ZXh0Om50LHVzZURlYnVnVmFsdWU6aXQsdmVyc2lvbjoiMTYuOC4wIixDaGlsZHJlbjp5dCxyZW5kZXI6Q3QsaHlkcmF0ZTpDdCx1bm1vdW50Q29tcG9uZW50QXROb2RlOnp0LGNyZWF0ZVBvcnRhbDpSdCxjcmVhdGVFbGVtZW50Om0sY3JlYXRlQ29udGV4dDpxLGNyZWF0ZUZhY3Rvcnk6cXQsY2xvbmVFbGVtZW50OkR0LGNyZWF0ZVJlZjpiLEZyYWdtZW50OnksaXNWYWxpZEVsZW1lbnQ6VXQsZmluZERPTU5vZGU6SHQsQ29tcG9uZW50OnYsUHVyZUNvbXBvbmVudDpkdCxtZW1vOnB0LGZvcndhcmRSZWY6Z3QsdW5zdGFibGVfYmF0Y2hlZFVwZGF0ZXM6RnQsU3VzcGVuc2U6d3QsU3VzcGVuc2VMaXN0OkV0LGxhenk6U3R9fV0pfSkpOw=="}},"time_used":52,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":49,"receive":3,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"latest.currency-api.pages.dev/v1/currencies/usd.json","fqdn":"latest.currency-api.pages.dev","domain":"currency-api.pages.dev","tld":"pages.dev"},"ip":{"addr":"172.66.47.9","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://futurbcvndf.com/","date":"2026-07-27T06:23:01.075Z","timestamp":1785133381075,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"currency-api.pages.dev","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 05 Jun 2026 12:31:07 GMT","end":"Thu, 03 Sep 2026 13:28:38 GMT"},"fingerprint":{"sha1":"F8:A2:D0:3B:B7:4B:66:9A:51:17:B4:1F:71:3D:80:10:F0:8F:3C:0F","sha256":"8E:C9:53:40:4A:81:1B:2D:F8:E5:91:BB:69:2C:FE:1C:33:D5:C5:0A:2C:70:5E:0E:D6:99:47:48:D0:C3:BA:11"}}},"request":{"raw":"GET /v1/currencies/usd.json HTTP/1.1\r\nHost: latest.currency-api.pages.dev\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nOrigin: https://futurbcvndf.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://futurbcvndf.com/\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ndate: Mon, 27 Jul 2026 06:23:01 GMT\r\ncontent-type: application/json\r\naccess-control-allow-origin: *\r\ncache-control: public, max-age=0, must-revalidate\r\npriority: u=3,i=?0\r\nreferrer-policy: strict-origin-when-cross-origin\r\nx-content-type-options: nosniff\r\nx-robots-tag: noindex\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=9BAbnwKWGoUGTFi5X98gVPs4g0Ke2hMsoNJaF%2F%2BQf%2FnyDuFPXrL0j7P%2FM3El6LVK7rnK7XCkLI3VdRWiIb18jlaIPqo6mop5axwLuGAQCHt6sqIB2N6ZPEbjPerWsBQxjMLapi44ojbrXkSO7zzOVQ%3D%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\netag: W/\"f74a07249fdfee3c477de5d81467dc1b\"\r\ncontent-encoding: br\r\nserver: cloudflare\r\ncf-ray: a2198d8fdf9a5684-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":7463,"size_decoded":4109,"mime_type":"application/json","magic":"JSON text data","md5":"bd94a3b085460b36ab320bbe1f58cdbe","sha1":"d28d13a6920baafdf1a13b88bc3a95b128b7f815","sha256":"c642b2571afd87807d60f81ad20dc15940e62d2c2646fface10fe0d227e26d6e","sha512":"9c335f7291d5aa03e3075e6d52c27de1dcaaa759c89ce58b390b5af686282b929fab2d83d8329a89397b127639acf21a5f3f517aedf7d35ee4ba8661b59d587e","ssdeep":"192:Ldzil+WhruaamRS6QNH5WuixD61CzYYfMsu250DWMUokU5:LdExu3V6GZWDxD61CsYfzn+7ka","tlshash":"62f1314b81f933d6b5c08abd0b3eb2700d5b2a774942c366cfa1ba16926c1b71949d27","first_seen":"2026-07-27T04:23:47.303491Z","last_seen":"2026-07-27T06:23:39.726101Z","times_seen":2,"resource_available":false,"data":"ewoJImRhdGUiOiAiMjAyNi0wNy0yNyIsCgkidXNkIjogewoJCSIxaW5jaCI6IDExLjgzNDk3MDU3LAoJCSJhYXZlIjogMC4wMTAwMjU1MDksCgkJImFkYSI6IDYuMDYzMjYwMTIsCgkJImFlZCI6IDMuNjcyNSwKCQkiYWZuIjogNjYuNDc2MTIyOTMsCgkJImFrdCI6IDIuMTI4MDYxMzIsCgkJImFsZ28iOiAxMS44ODczMzM4MywKCQkiYWxsIjogODIuMzM5MzAwMiwKCQkiYW1kIjogMzY0Ljg1MTAxMTkxLAoJCSJhbXAiOiAyMzU1LjM1ODY1MiwKCQkiYW5nIjogMS43OTg1NTcxLAoJCSJhb2EiOiA5MTkuMzE3MTExMDgsCgkJImFwZSI6IDYuODExMzQ1NjIsCgkJImFwdCI6IDEuNTk1MzY4NzIsCgkJImFyIjogMC41MzU4NzU4OCwKCQkiYXJiIjogMTIuMTg1Mjg4MTUsCgkJImFycyI6IDE0ODguNTA4NDU1MDEsCgkJImF0b20iOiAwLjcxNzE1NzU3LAoJCSJhdHMiOiAxMi4wNjc4MTI0NiwKCQkiYXVkIjogMS40Mjk1OTAyNiwKCQkiYXZheCI6IDAuMTQ5ODI4NywKCQkiYXdnIjogMS43OSwKCQkiYXhzIjogMS4xMjQ5NjY0NSwKCQkiYXptIjogODUwMC4wMzQ2ODEwNiwKCQkiYXpuIjogMS43MDAwMDY5NCwKCQkiYmFrZSI6IDE0NTIuMzI3MTU2ODcsCgkJImJhbSI6IDEuNzE1MjY3MDgsCgkJImJhdCI6IDEzLjE5NzY4MTg0LAoJCSJiYmQiOiAyLAoJCSJiY2giOiAwLjAwNDY0NzEyNTMsCgkJImJkdCI6IDEyMy4yNzU3NzA5MywKCQkiYmVmIjogMzUuMzc4MTc4MzYsCgkJImJnbiI6IDEuNzE1MjY3MDgsCgkJImJoZCI6IDAuMzc2LAoJCSJiaWYiOiAyOTgyLjU5NjM0MTMyLAoJCSJibWQiOiAxLAoJCSJibmIiOiAwLjAwMTc0Nzg2NjYsCgkJImJuZCI6IDEuMjkwMTMzODgsCgkJImJvYiI6IDEwLjk0NTcyODc0LAoJCSJicmwiOiA1LjA4NDQ0MTI5LAoJCSJic2QiOiAxLAoJCSJic3YiOiAwLjA3Mjk4MTEwNSwKCQkiYnN3IjogMjg4Ni41MTM0MTA3MSwKCQkiYnRjIjogMC4wMDAwMTUzMzY1NzMsCgkJImJ0Y2IiOiAxNy41NjA5MjY1NywKCQkiYnRnIjogNC4yNzk2MzM5MywKCQkiYnRuIjogOTYuMTk2MDg0MzgsCgkJImJ0dCI6IDM3MDU5MTAuODc5OTIwNzgsCgkJImJ1c2QiOiAxLjAwMDM0OTQ0LAoJCSJid3AiOiAxMy42OTk1OTQyMiwKCQkiYnluIjogMi44NjQ3NDc2NCwKCQkiYnlyIjogMTk2MDkuNDMyMzA4MjcsCgkJImJ6ZCI6IDIuMDEyMTY2NDYsCgkJImNhZCI6IDEuNDA4NTAxODMsCgkJImNha2UiOiAwLjcxMzIxNDQ2LAoJCSJjZGYiOiAyMzA2LjQ5OTcwMTU3LAoJCSJjZWxvIjogMTQuOTQ0MDc4NjgsCgkJImNmeCI6IDIyLjUwNjA4MjQ0LAoJCSJjaGYiOiAwLjgxNTIxNTYzLAoJCSJjaHoiOiA3MC42OTE4NTkyNiwKCQkiY2xwIjogOTQ4LjQ1Mzk4ODM1LAoJCSJjbmgiOiA2Ljc3MjU3MDg4LAoJCSJjbnkiOiA2Ljc2OTg1NDE5LAoJCSJjb21wIjogMC4wNTc0MTE0MjIsCgkJImNvcCI6IDMyMTguMjA4MDI2NzksCgkJImNyYyI6IDQ1NC44NzA3Mzg3NSwKCQkiY3JvIjogMTcuNDI1MjkwMTQsCgkJImNydiI6IDQuNzYzMjA0MzgsCgkJImNzcHIiOiA2NDEuNTk2MTY5NDUsCgkJImN1YyI6IDEuMDAwNDgxNCwKCQkiY3VwIjogMjYuNTEyNzUzMjMsCgkJImN2ZSI6IDk2LjcwNzAyNTI1LAoJCSJjdngiOiAwLjcxOTEwNTUsCgkJImN5cCI6IDAuNTEzMjg2NTUsCgkJImN6ayI6IDIxLjE2MTI2ODA3LAoJCSJkYWkiOiAxLjAwMDY3NTY5LAoJCSJkYXNoIjogMC4wMzA1OTY0ODUsCgkJImRjciI6IDAuMDg2NDI3ODIyLAoJCSJkZW0iOiAxLjcxNTI2NzA4LAoJCSJkZmkiOiAxMzUzLjE4MjA2NDc3LAoJCSJkamYiOiAxNzcuOTI2MjIwNzMsCgkJImRrayI6IDYuNTU2NDk5NzEsCgkJImRvZ2UiOiAxMy43NjA0NjQ5LAoJCSJkb3AiOiA1OC4xMjcwOTcyMywKCQkiZG90IjogMS4yMjQzOTAyMiwKCQkiZHlkeCI6IDcuODE3Njg0OTMsCgkJImR6ZCI6IDEzMy4xNjM0NTEwNiwKCQkiZWVrIjogMTMuNzIyMTM2NjYsCgkJImVnbGQiOiAwLjM1MzA4NzA3LAoJCSJlZ3AiOiA1MS4yODI4MjIyOSwKCQkiZW5qIjogMzcuMDAwOTcyNjksCgkJImVvcyI6IDE1LjY0NTI5ODc3LAoJCSJlcm4iOiAxNSwKCQkiZXNwIjogMTQ1LjkyMDg3Njk3LAoJCSJldGIiOiAxNjEuMTIyOTIyMzYsCgkJImV0YyI6IDAuMTQyNzQ1MTYsCgkJImV0aCI6IDAuMDAwNTE0NTcwNSwKCQkiZXVyIjogMC44NzcwMDIxMywKCQkiZXVyYyI6IDAuODc2MTQ5NDEsCgkJImZlaSI6IDAuOTk5NzY1MDksCgkJImZpbCI6IDEuMzMzMTQwMiwKCQkiZmltIjogNS4yMTQ0MTc4OSwKCQkiZmpkIjogMi4yMzI4NzIzOSwKCQkiZmtwIjogMC43NDkwMDk5MSwKCQkiZmxvdyI6IDM5LjU2MzMyMDcsCgkJImZsciI6IDE1NS45NjgzNjQ2NywKCQkiZnJheCI6IDEuMDA3MzcwNDEsCgkJImZyZiI6IDUuNzUyNzU2ODgsCgkJImZ0dCI6IDQuODIzODgyODEsCgkJImdhbGEiOiA1MDAuMjk0NzE3NDgsCgkJImdicCI6IDAuNzQ5MDA5OTEsCgkJImdlbCI6IDIuNjIwNzAyNjgsCgkJImdncCI6IDAuNzQ5MDA5OTEsCgkJImdoYyI6IDExNjI3Mi41Njg5NTE2NCwKCQkiZ2hzIjogMTEuNjI3MjU2OSwKCQkiZ2lwIjogMC43NDkwMDk5MSwKCQkiZ21kIjogNzMuOTg5NTk3NjIsCgkJImdteCI6IDAuMTQ1OTYyNjYsCgkJImduZiI6IDg3NzUuNTk3NTA0NTgsCgkJImdubyI6IDAuMDA5MDk3OTI3NywKCQkiZ3JkIjogMjk4LjgzODQ3Njk2LAoJCSJncnQiOiA2Mi4xNDExODg2NiwKCQkiZ3QiOiAwLjE0OTYyNDY0LAoJCSJndHEiOiA3LjYyMzcxNTQxLAoJCSJndXNkIjogMS4wMDE4ODg5MywKCQkiZ3lkIjogMjA4Ljg0MzM3NDExLAoJCSJoYmFyIjogMTQuMzIxNDY4MDQsCgkJImhrZCI6IDcuODQxOTAzMjQsCgkJImhubCI6IDI2Ljc2ODY5ODM3LAoJCSJobnQiOiA1LjA5Nzc2Mzc3LAoJCSJob3QiOiAyOTI4LjUxMzMzOTg3LAoJCSJocmsiOiA2LjYwNzc3MjU3LAoJCSJodCI6IDI5LjM0OTkyNDUxLAoJCSJodGciOiAxMzAuNTExODc2OTQsCgkJImh1ZiI6IDMxNS41NDM0MTE4NiwKCQkiaWNwIjogMC40NTY0MTQwMiwKCQkiaWRyIjogMTgwMDIuMTk1MjUzMjQsCgkJImllcCI6IDAuNjkwNjk1MzEsCgkJImlscyI6IDMuMDQ2ODE1ODIsCgkJImltcCI6IDAuNzQ5MDA5OTEsCgkJImlteCI6IDcuOTM0NTI0NzIsCgkJImluaiI6IDAuMjAyOTA0MDcsCgkJImluciI6IDk2LjE5NjA4NDM4LAoJCSJpcWQiOiAxMzA4LjA5NTQ0MTIyLAoJCSJpcnIiOiAxMzc1NjYxLjcwNTM0MDYzLAoJCSJpc2siOiAxMjUuNDE0MjE0NzcsCgkJIml0bCI6IDE2OTguMTEyOTIwODksCgkJImplcCI6IDAuNzQ5MDA5OTEsCgkJImptZCI6IDE1OC4zMzQwMjQ0NywKCQkiam9kIjogMC43MDksCgkJImpweSI6IDE2My42MDMyODU0OCwKCQkia2FzIjogMzQuMTMyMzk5MTksCgkJImthdmEiOiAyMi4wNDgyOTkwMiwKCQkia2NzIjogMC4xNDkxNDUzNCwKCQkia2RhIjogMjI1Ljg2MDExNTg3LAoJCSJrZXMiOiAxMjkuNDYzMzc5MTksCgkJImtncyI6IDg3LjQ0MTg1OTc5LAoJCSJraHIiOiA0MDM2Ljc3NzMwMDMzLAoJCSJrbGF5IjogMzMuMjMxMjU2MDEsCgkJImttZiI6IDQzMS40NTY3NjYzMywKCQkia25jIjogOS4wNDIzODU1NywKCQkia3J3IjogMTQ2Ni43MDc1MDAyOCwKCQkia3NtIjogMC4zMTk2ODA2OSwKCQkia3dkIjogMC4zMTAwOTU3MSwKCQkia3lkIjogMC44MzEyNzA5OCwKCQkia3p0IjogNDc0LjYwNjExNDk3LAoJCSJsYWsiOiAyMjU4MC4yNzcyMTk1NSwKCQkibGJwIjogODk3NjAuMTQxMDI2MTQsCgkJImxkbyI6IDIuNTc1NDQzNjEsCgkJImxlbyI6IDAuMTAyOTMwMSwKCQkibGluayI6IDAuMTE0NDk0MzMsCgkJImxrciI6IDMzNS41MTc0MTcwMiwKCQkibHJjIjogODguMTM0NzM4NjYsCgkJImxyZCI6IDE4MC42Nzk5NjIyNywKCQkibHNsIjogMTYuNzIzMTA1MDIsCgkJImx0YyI6IDAuMDIxMTQ3NzIsCgkJImx0bCI6IDMuMDI4MTEyOTcsCgkJImx1ZiI6IDM1LjM3ODE3ODM2LAoJCSJsdW5hIjogMjMuMTMxOTMyOSwKCQkibHVuYyI6IDE4Nzg3LjEzMTU2NDAxLAoJCSJsdmwiOiAwLjYxNjM1NzEsCgkJImx5ZCI6IDYuMzg3ODczMzMsCgkJIm1hZCI6IDkuMzYzNzk0MTgsCgkJIm1hbmEiOiAxNC41MjQ4MTMxNSwKCQkibWJ4IjogNDAuOTcwNTA3NDgsCgkJIm1kbCI6IDE3LjY0MjA1OTE1LAoJCSJtZ2EiOiA0MzU4Ljg5ODE5NzQ2LAoJCSJtZ2YiOiAyMTc5NC40OTA5ODcyOCwKCQkibWluYSI6IDIyLjQ2NDI2NCwKCQkibWtkIjogNTMuOTk5MjQ1MDIsCgkJIm1rciI6IDAuMDAwNzMzOTA4NTQsCgkJIm1tayI6IDIwOTkuNTA0MDkxNzQsCgkJIm1udCI6IDM1OTQuOTgyNzMxMzQsCgkJIm1vcCI6IDguMDc3MTYwMzMsCgkJIm1ybyI6IDM5OC44NjMyNjQ0NywKCQkibXJ1IjogMzkuODg2MzI2NDUsCgkJIm10bCI6IDAuMzc2NDk3MDIsCgkJIm11ciI6IDQ3LjQxNzczMDgyLAoJCSJtdnIiOiAxNS40NTkxNjg5LAoJCSJtd2siOiAxNzMwLjg1MTIwMTA5LAoJCSJteG4iOiAxNy40NDA5Njc5NSwKCQkibXh2IjogMS45ODcwMTksCgkJIm15ciI6IDQuMDg0MzE0MDcsCgkJIm16bSI6IDYzODM3LjMxMTcyNzk4LAoJCSJtem4iOiA2My44MzczMTE3MywKCQkibmFkIjogMTYuNzIzMTA1MDIsCgkJIm5lYXIiOiAwLjU0Mjc0NzAzLAoJCSJuZW8iOiAwLjUwNjgwMzI3LAoJCSJuZXhvIjogMS4zNDg1NzIxMiwKCQkibmZ0IjogMzcxODgzMC43NDE4MDc3NiwKCQkibmduIjogMTM2Ni4xMDY5MTAzLAoJCSJuaW8iOiAzNi43NzI3OTE0OSwKCQkibmxnIjogMS45MzI2NTgzNywKCQkibm9rIjogOS41NzI5ODQwMywKCQkibnByIjogMTUzLjk4NTg4MjA3LAoJCSJuemQiOiAxLjcyNzM4OTY2LAoJCSJva2IiOiAwLjAxMTU3MDA2OCwKCQkib21yIjogMC4zODQ4NDk2OCwKCQkib25lIjogNzg3LjM1NTY0NzIsCgkJIm9wIjogMTAuNTA3NTAwMzYsCgkJIm9yZGkiOiAwLjI2MTU0ODg5LAoJCSJwYWIiOiAxLAoJCSJwYXhnIjogMC4wMDAyNDUyNDE3LAoJCSJwZW4iOiAzLjM5ODQ5MjQ4LAoJCSJwZXBlIjogMzQxMDMxLjMyMDMwODI2LAoJCSJwZ2siOiA0LjQ0NzM3OTQ3LAoJCSJwaHAiOiA2MS43MzcwNDY3OSwKCQkicGkiOiAxMi4yNzcwNDE4MywKCQkicGtyIjogMjc3LjQ1ODk1MTE3LAoJCSJwbG4iOiAzLjc4Mzc4NzA4LAoJCSJwb2wiOiAxMi45MDU3ODY0MywKCQkicHRlIjogMTc1LjgyMzE0MTcxLAoJCSJweWciOiA2MDI3LjY2NDY4OTI4LAoJCSJxYXIiOiAzLjY0LAoJCSJxbnQiOiAwLjAxNTgwMjEzMiwKCQkicXR1bSI6IDEuNDU3NTQxMzMsCgkJInJvbCI6IDQ1NzIwLjE0MjIzNjAxLAoJCSJyb24iOiA0LjU3MjAxNDIyLAoJCSJycGwiOiAwLjU5MDk0MzUsCgkJInJzZCI6IDEwMy4wNzIwNzY4NiwKCQkicnViIjogNzguMDE5NjAxNTcsCgkJInJ1bmUiOiAyLjMwMjY5NDUyLAoJCSJydm4iOiAyNjYuOTczOTM3MzIsCgkJInJ3ZiI6IDE0NzAuMjkzNTIxNDIsCgkJInNhbmQiOiAyMi4wMDk2NTg0NywKCQkic2FyIjogMy43NSwKCQkic2JkIjogOC4wNzI2MDM3LAoJCSJzY3IiOiAxNC4xMDM4NzM5LAoJCSJzZGQiOiA2MDAxNS42MTIwMDU2NiwKCQkic2RnIjogNjAwLjE1NjEyMDA2LAoJCSJzZWsiOiA5LjY3OTYzMzg0LAoJCSJzZ2QiOiAxLjI5MDEzMzg4LAoJCSJzaGliIjogMTk1ODIzLjY2NTU2MTcsCgkJInNocCI6IDAuNzQ5MDA5OTEsCgkJInNpdCI6IDIxMC4xNjQ3OTEyNSwKCQkic2trIjogMjYuNDIwNTY2MjcsCgkJInNsZSI6IDIyLjg2NDk4OTE1LAoJCSJzbGwiOiAyMjg2NC45ODkxNTI4NCwKCQkic254IjogNC41NDM3NzYyMywKCQkic29sIjogMC4wMTMxMDQ5NDIsCgkJInNvcyI6IDU2OS41MzY2MzY2NSwKCQkic3BsIjogMC4xNjY2NjY2NywKCQkic3JkIjogMzcuODE1MzQwNDIsCgkJInNyZyI6IDM3ODE1LjM0MDQyNDUsCgkJInNzcCI6IDUwNDMuMTU4NDMyNDksCgkJInN0ZCI6IDIxNjQ3Ljg4NTAzOTg1LAoJCSJzdG4iOiAyMS42NDc4ODUwNCwKCQkic3R4IjogNi45NTk3MjA5OCwKCQkic3VpIjogMS4zOTQ1MTksCgkJInN2YyI6IDguNzUsCgkJInN6bCI6IDE2LjcyMzEwNTAyLAoJCSJ0aGIiOiAzMy41NjQxOTI0NywKCQkidGhldGEiOiA3LjI4OTkyMzA4LAoJCSJ0anMiOiA5LjIyNjAyODM1LAoJCSJ0bW0iOiAxNzQ4Ny4yNjMxNjI0MSwKCQkidG10IjogMy40OTc0NTI2MywKCQkidG5kIjogMi45NjUxMzQxNSwKCQkidG9wIjogMi40MDgzNjMzOCwKCQkidHJsIjogNDczNTc3NTkuMDc0MjY3NjUsCgkJInRyeCI6IDMuMDIwNDg1MSwKCQkidHJ5IjogNDcuMzU3NzU5MDcsCgkJInR0ZCI6IDYuNzg2OTI3NzMsCgkJInR1c2QiOiAxLjAwNDUyNzQ5LAoJCSJ0dmQiOiAxLjQyOTU5MDI2LAoJCSJ0d2QiOiAzMi4zOTUwNjIzMSwKCQkidHd0IjogMi44NTIzMjU2NSwKCQkidHpzIjogMjYzOS43MjE1MjM5NywKCQkidWFoIjogNDQuODM0OTM1NTYsCgkJInVneCI6IDM3NjkuMjIyODQzNzYsCgkJInVuaSI6IDAuMjU1ODQ0OTcsCgkJInVzZCI6IDEsCgkJInVzZGMiOiAxLjAwMDUzODE3LAoJCSJ1c2RkIjogMS4wMDE0NTUxNCwKCQkidXNkcCI6IDEuMDAxNTU4OTQsCgkJInVzZHQiOiAxLjAwMTQ4OTQ4LAoJCSJ1eXUiOiA0MC4wODc0NzUyOCwKCQkidXpzIjogMTIwNTIuMjAxMjA0MTksCgkJInZhbCI6IDE2OTguMTEyOTIwODksCgkJInZlYiI6IDc0MTMzMzU1NzA2LjUyODIzLAoJCSJ2ZWQiOiA3NDEuMzE3Mjc1MywKCQkidmVmIjogNzQxMzE3MjcuNTI5NzU2MzUsCgkJInZlcyI6IDc0MS4zMTcyNzUzLAoJCSJ2ZXQiOiAyMTEuODA0NjU2NCwKCQkidm5kIjogMjYzMTEuMTg2NjI3MywKCQkidnV2IjogMTE5LjM0NDM0NDQ4LAoJCSJ3YXZlcyI6IDQuMDQ0MjU3MDUsCgkJIndlbWl4IjogNC42MzQ5MjM4OCwKCQkid29vIjogNzcuNzQyNTk1MzksCgkJIndzdCI6IDIuNzU2MjQwMDcsCgkJInhhZiI6IDU3NS4yNzU2ODg0MywKCQkieGFnIjogMC4wMTY4Mzg3MjcsCgkJInhhdSI6IDAuMDAwMjQ0NTcxOSwKCQkieGF1dCI6IDAuMDAwMjQ1NDMxMDUsCgkJInhidCI6IDAuMDAwMDE1MzI4NywKCQkieGNkIjogMi43MDY5ODQ2NywKCQkieGNnIjogMS43OTg1NTcxLAoJCSJ4Y2giOiAwLjc2ODYxNjIxLAoJCSJ4ZGMiOiAzNS43NTU4Mjc4NiwKCQkieGRyIjogMC43Mzc1ODYzNywKCQkieGVjIjogMTUzNzg2LjIzMTA0NjA1LAoJCSJ4ZW0iOiAxOTYyLjUwMjQzNDk1LAoJCSJ4bG0iOiA1LjUyMTA0MTYxLAoJCSJ4bXIiOiAwLjAwMjg1NDcyNjIsCgkJInhvZiI6IDU3NS4yNzU2ODg0MywKCQkieHBkIjogMC4wMDA3ODg0NDgxLAoJCSJ4cGYiOiAxMDQuNjU0MTkyNTMsCgkJInhwdCI6IDAuMDAwNjE3NTE0NiwKCQkieHJwIjogMC45MDUzMjMyNywKCQkieHR6IjogNC41MTQyMDIyMywKCQkieWVyIjogMjM4LjQ5NTExMzEsCgkJInphciI6IDE2LjcyMzEwNTAyLAoJCSJ6ZWMiOiAwLjAwMTk4NjIxNTQsCgkJInppbCI6IDQxOS40NTQ4OTgxNiwKCQkiem1rIjogMTg2MzkuNTk1ODM0OTgsCgkJInptdyI6IDE4LjYzOTU5NTg0LAoJCSJ6d2QiOiAzNjEuOSwKCQkiendnIjogMjYuNjUyMzM1MTIsCgkJInp3bCI6IDY2NTk2LjgzNDc1ODU3Cgl9Cn0="}},"time_used":41,"timings":{"blocked":-1,"dns":5,"connect":14,"send":0,"wait":22,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"futurbcvndf.com/api/news/list","fqdn":"futurbcvndf.com","domain":"futurbcvndf.com","tld":"com"},"ip":{"addr":"172.67.130.50","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://futurbcvndf.com/","date":"2026-07-27T06:23:01.468Z","timestamp":1785133381468,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"futurbcvndf.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 16 Jul 2026 16:36:02 GMT","end":"Wed, 14 Oct 2026 16:36:01 GMT"},"fingerprint":{"sha1":"46:2D:5F:F0:3D:BD:73:19:93:72:79:62:4A:45:03:09:5D:FB:1E:A5","sha256":"35:31:C4:67:1D:DB:68:C3:FB:49:03:14:DD:4E:76:FE:13:53:8D:98:98:2E:BE:EA:B8:CA:4F:B6:5B:7E:5C:1D"}}},"request":{"raw":"POST /api/news/list HTTP/1.1\r\nHost: futurbcvndf.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nAuthorization: \r\nContent-Type: application/x-www-form-urlencoded\r\nContent-Length: 14\r\nOrigin: https://futurbcvndf.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://futurbcvndf.com/\r\nCookie: angela_session=eyJpdiI6IlhnUEZEQ1hLNngxS0t2ZGN3TnJjV1E9PSIsInZhbHVlIjoiVGlYZUpmMXVPdEhuTGtoQzhTS3VXM3BIN3J4ZDZnU2dNTWxTc0NRcHNMTXFyNm1wQTZEQ0RKTWJ0UjRERWZ5aDBaQWxVaVdmN0VVQkNna0M2ZTJ2dTdFZkx3amdIYjZlQzEzMHozajVqTzMybnhMOHo1bEpuaXdQM1R3UVN4QmQiLCJtYWMiOiJiZWIyMTJlYzc4OWUzODk0ODBiOTI5NmU0MjA2MDBmZjJmYzA2MTI3ZjViNmY4NWYxNzIyNDI4MDhhYWMzZmI4In0%3D\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"POST","post_data":{"size":14,"data":"c_id=4\u0026lang=en"}},"response":{"raw":"HTTP/3 200 \r\nserver: cloudflare\r\ndate: Mon, 27 Jul 2026 06:23:01 GMT\r\ncontent-type: application/json\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=VD0SQ3l%2FVEObX6gtiY1I4vyLK47p%2BN5iIk4GpnkyVlV7bYvFThr6ud1alrTfWu2mijlJLE1qfbZ9cy6ix1xwyNeKxWo5iMAZSLbHUb1B1sgLCCbm0g4m5N5iiZFBavXk2zw%3D\"}]}\r\npriority: u=3,i=?0\r\naccess-control-allow-origin: *\r\naccess-control-allow-methods: POST,GET,OPTIONS,DELETE\r\naccess-control-allow-headers: x-requested-with,content-type,Authorization\r\ncache-control: no-cache, private, no-cache\r\nset-cookie: angela_session=eyJpdiI6IjluRGJpRUlnZE5VUUhYencyYzFXanc9PSIsInZhbHVlIjoiQzRmemh4QUVicmk1bkFUTldPYjVwVzVxZ01GNWtXQmdxeTVlS0FkemV2WWtTRlJVRGFhNisxRHVtNW1RQlJNNDV5TTRybjdHVmo5Vkd6dEoyUGp5emVUKzFwSmlpY3pGTmhcLzVibWF6TENhb0QycWhQeGhNRkhaNXJcL1NlTjJ0eiIsIm1hYyI6ImEwOGI3ZjA3ZWU4MzkzYmVmNGE1MGYzODc5NDZiZGY5M2Y2NmY1NGU1YzViNmM1MDU5NmI4NmJjM2ZmZGMwMDkifQ%3D%3D; expires=Mon, 27-Jul-2026 08:23:01 GMT; Max-Age=7200; path=/; httponly\r\nstrict-transport-security: max-age=31536000\r\ncf-cache-status: DYNAMIC\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\ncontent-encoding: zstd\r\ncf-ray: a2198d9229ab0daa-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":364,"size_decoded":1523,"mime_type":"application/json","magic":"JSON text data","md5":"acc0465c9b191704f0e16ea4da632eb4","sha1":"ab8b5c05728203c77b34e2328516fa68b540c4e4","sha256":"ab1452539ca16baf81b010756e2631627eaf05aa680548535b88a11c3307b716","sha512":"e9406f7771e10f7560ed9ce0a7c33a890e42159234281f11f12dcb727cf42256a48fe6b9f7e3a2211050e653f934b920929ab811cb38d1729eb41343d74da90e","ssdeep":"","tlshash":"cee0c0f922205cb7978003c034c9ba89da8d30d1cd51d71f014c492cc36c0e4180b12f","first_seen":"2026-04-17T07:46:54.381363Z","last_seen":"2026-07-27T06:23:39.729973Z","times_seen":81,"resource_available":false,"data":"eyJ0eXBlIjoib2siLCJtZXNzYWdlIjp7InZlcnNpb24iOnsiaWQiOjEsImtleSI6InZlcnNpb24iLCJ2YWx1ZSI6WyJ3Z3QiLCI4MCJdLCJub3RlcyI6Ilx1NzI0OFx1NjcyY1x1NTNmNyIsInVwZGF0ZWRfYXQiOiIyMDI2LTAyLTIwIDE1OjE5OjIxIn0sImxpc3QiOlt7ImlkIjo1LCJjX2lkIjo0LCJsYW5nIjoiZW4iLCJ0aXRsZSI6IlBsYXRmb3JtIG1haW50ZW5hbmNlIiwidGh1bWJuYWlsIjoiaHR0cHM6XC9cL2Z1dHVyZXN4bS5jb21cL2ltYWdlc1wvend0cC5wbmciLCJjb3ZlciI6Imh0dHBzOlwvXC9mdXR1cmVzeG0uY29tXC9pbWFnZXNcL3p3dHAucG5nIiwic29ydHMiOjEyfV0sImNvdW50IjoxLCJwYWdlIjoxLCJsaW1pdCI6MTV9fQ=="}},"time_used":279,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":279,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null},{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"futurbcvndf.com/static/image/icon/setting-icon-8.png","fqdn":"futurbcvndf.com","domain":"futurbcvndf.com","tld":"com"},"ip":{"addr":"172.67.130.50","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://futurbcvndf.com/","date":"2026-07-27T06:23:01.966Z","timestamp":1785133381966,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"futurbcvndf.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 16 Jul 2026 16:36:02 GMT","end":"Wed, 14 Oct 2026 16:36:01 GMT"},"fingerprint":{"sha1":"46:2D:5F:F0:3D:BD:73:19:93:72:79:62:4A:45:03:09:5D:FB:1E:A5","sha256":"35:31:C4:67:1D:DB:68:C3:FB:49:03:14:DD:4E:76:FE:13:53:8D:98:98:2E:BE:EA:B8:CA:4F:B6:5B:7E:5C:1D"}}},"request":{"raw":"GET /static/image/icon/setting-icon-8.png HTTP/1.1\r\nHost: futurbcvndf.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://futurbcvndf.com/\r\nCookie: angela_session=eyJpdiI6IjFkS0NPNkRWc1BpWjBxRlJNYVBRXC93PT0iLCJ2YWx1ZSI6IjYySndyVk1LYzF3Nis0VEpibU5FOU4wemtyY3RIQkpDcXZMWnYxNlUwbmIyUXpCcVR3blwvbGg3bHlSOVJIU1l3dG9wYTNNWGV3Y3Z5bEJCcFdFTVwvSWNFZnFyeWRFTFRWT2lZXC95M2NNVjBlVVM1RlpUUmthSTNLcGNUYk05ZENxIiwibWFjIjoiNDlmMWNhNjVhODQ0ZGMyNWYxZjBlNDZiZTk2ZjNiMWI2ZDQ1NzdkMGI5NDY0MjQyNzUyZWQxMzBmY2UyOTVjMCJ9\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\nserver: cloudflare\r\ndate: Mon, 27 Jul 2026 06:23:02 GMT\r\ncontent-type: image/png\r\nserver-timing: cfExtPri\r\npriority: u=5,i\r\nlast-modified: Fri, 20 Jun 2025 15:49:45 GMT\r\netag: \"68558319-ef0\"\r\nstrict-transport-security: max-age=31536000\r\naccept-ranges: bytes\r\ncache-control: max-age=14400\r\ncf-cache-status: REVALIDATED\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=mg%2FgmmOLQ4ja3LuIOE%2BS9%2FYifhSgacwzEhUPmUm4ApKnO57NWqLQ8NH%2Fzqs8YSO3tja%2FM527tTVaRXcwJ04D6H0mQWN6S7i1eOTdjLDYTV8hQzFEpQmZ4BAYB3H%2FaTh%2FGoQ%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\ncf-ray: a2198d954a180daa-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\ncontent-length: 3824\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":3824,"size_decoded":4571,"mime_type":"image/png","magic":"PNG image data, 48 x 48, 8-bit/color RGBA, non-interlaced","md5":"f4105aab51a233431ac4d6621cdc3fbe","sha1":"5cc28803abd6d499a4fc16e2aab1e1300726d291","sha256":"29cc308fb6c6a6da3e68c49222a41957ff74026b2c324138e17646e8c64b7011","sha512":"e48265e240eaea96e2d1664a2d647ac02d0e41b5244ce9e25fdbb458042a778f37875df26e2757dc53ae75ba2c1359a9a4106dc30581e207bdc9a939731dd167","ssdeep":"","tlshash":"0781094efd506d116e99ee81ecfe6153111b1bc09ae098e2bcddcc5b48606b98d8dac3","first_seen":"2025-08-27T01:09:26.19273Z","last_seen":"2026-07-27T06:23:39.735049Z","times_seen":83,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAGhWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNi4wLWMwMDYgNzkuZGFiYWNiYiwgMjAyMS8wNC8xNC0wMDozOTo0NCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6MjMwZDkwNjktOTdhMy00MGNjLWI1MGQtYThiZjA2ZjUwOTIzIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjdGRTM4NEU5MzMxMjExRUNCNDRFOEY2NjE4MUExQjM2IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOmY2Y2QzZTNhLWJjZDYtNGQ4MS1iOWI3LTVhZTdlMGEzOGJmYSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjIuNCAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMjEtMTAtMjJUMTY6MzE6NTArMDg6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDIyLTAyLTExVDE5OjIzOjUxKzA4OjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDIyLTAyLTExVDE5OjIzOjUxKzA4OjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgcGhvdG9zaG9wOklDQ1Byb2ZpbGU9InNSR0IgSUVDNjE5NjYtMi4xIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MDU4OTA3MWQtMzhlNC00ODIwLTliZDktMTcwOWY0MTk1MDlkIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjIzMGQ5MDY5LTk3YTMtNDBjYy1iNTBkLWE4YmYwNmY1MDkyMyIvPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDpmNmNkM2UzYS1iY2Q2LTRkODEtYjliNy01YWU3ZTBhMzhiZmEiIHN0RXZ0OndoZW49IjIwMjItMDItMTFUMTk6MjM6NTErMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyMi40IChNYWNpbnRvc2gpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDwvcmRmOlNlcT4gPC94bXBNTTpIaXN0b3J5PiA8cGhvdG9zaG9wOkRvY3VtZW50QW5jZXN0b3JzPiA8cmRmOkJhZz4gPHJkZjpsaT54bXAuZGlkOjdGRTM4NEU5MzMxMjExRUNCNDRFOEY2NjE4MUExQjM2PC9yZGY6bGk+IDwvcmRmOkJhZz4gPC9waG90b3Nob3A6RG9jdW1lbnRBbmNlc3RvcnM+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+AQYKoQAACBFJREFUaIHtmrtvG8kdxz+/tQycDwlE5dIepFyQWkSY3jQg1WbjWrzGV4au4s66zq6sK20EOKq9JnJ9AkIX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"}},"time_used":139,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":139,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null},{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"cdn.jsdelivr.net/gh/ethereum/web3.js@1.0.0-beta.34/dist/web3.min.js","fqdn":"cdn.jsdelivr.net","domain":"jsdelivr.net","tld":"net"},"ip":{"addr":"151.101.193.229","port":443,"asn":54113,"as":"FASTLY","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://futurbcvndf.com/","date":"2026-07-27T06:23:00.100Z","timestamp":1785133380100,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"jsdelivr.net","organization":""},"issuer":{"commonName":"GlobalSign Atlas R3 DV TLS CA 2026 Q2","organization":"GlobalSign nv-sa"},"validity":{"start":"Wed, 20 May 2026 15:48:47 GMT","end":"Sat, 05 Dec 2026 14:48:47 GMT"},"fingerprint":{"sha1":"D4:05:C2:EC:C7:EE:2B:D0:08:68:0D:3D:33:77:48:78:43:E7:D1:E1","sha256":"ED:84:90:EE:71:BC:6B:5E:B3:D2:50:B0:23:3A:06:0D:E0:50:C6:B6:A9:09:36:E6:CE:FE:E8:66:89:EB:4E:C5"}}},"request":{"raw":"GET /gh/ethereum/web3.js@1.0.0-beta.34/dist/web3.min.js HTTP/1.1\r\nHost: cdn.jsdelivr.net\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://futurbcvndf.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\naccess-control-allow-origin: *\r\naccess-control-expose-headers: *\r\ntiming-allow-origin: *\r\ncache-control: public, max-age=31536000, s-maxage=31536000, immutable\r\ncross-origin-resource-policy: cross-origin\r\nx-content-type-options: nosniff\r\nstrict-transport-security: max-age=31536000; includeSubDomains; preload\r\ncontent-type: application/javascript; charset=utf-8\r\nx-jsd-version: 1.0.0-beta.34\r\nx-jsd-version-type: version\r\netag: W/\"91b1d-HQ/bccuMuiBDP6UlhDcwAIIrrbs\"\r\ncontent-encoding: br\r\naccept-ranges: bytes\r\ndate: Mon, 27 Jul 2026 06:23:00 GMT\r\nage: 2055629\r\nx-served-by: cache-fra-eddf8230020-FRA, cache-bma-essb1270021-BMA\r\nx-cache: HIT, HIT\r\nvary: Accept-Encoding\r\nalt-svc: h3=\":443\";ma=86400,h3-29=\":443\";ma=86400,h3-27=\":443\";ma=86400\r\ncontent-length: 155355\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":596765,"size_decoded":156159,"mime_type":"application/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (65536), with no line terminators","md5":"3c35b34c71aaac9b2e8097db250941ea","sha1":"1d0fdb71cb8cba20433fa52584373000822badbb","sha256":"d352f2217ac660e1757b4d731d7dea67e50ca516137736d749d4d8e4d97c0f11","sha512":"a57b68d567cafc3c9f922a2133595266273451cdf6268b1afed54a2c1a97f05c3e948d0404a91fd827688b12df4fe9f077a60e6e074a305ab4396e13c3a51f3a","ssdeep":"6144:rvOGCNvms5NnnIZV2xRSWlAQkTWdYLkZCYByyUHYAF50:CGamsjQOgQkyy0","tlshash":"a4c41a88b660b0a1439776a4043f610fe17aba1d784a447cf219d8f67cbdd896637f38","first_seen":"2023-03-17T10:32:02Z","last_seen":"2026-07-27T06:23:39.736482Z","times_seen":99,"resource_available":true,"data":"InVzZSBzdHJpY3QiO3ZhciBfdHlwZW9mMj0iZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiYic3ltYm9sIj09dHlwZW9mIFN5bWJvbC5pdGVyYXRvcj9mdW5jdGlvbih0KXtyZXR1cm4gdHlwZW9mIHR9OmZ1bmN0aW9uKHQpe3JldHVybiB0JiYiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiZ0LmNvbnN0cnVjdG9yPT09U3ltYm9sJiZ0IT09U3ltYm9sLnByb3RvdHlwZT8ic3ltYm9sIjp0eXBlb2YgdH0sX3R5cGVvZj0iZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiYic3ltYm9sIj09PV90eXBlb2YyKFN5bWJvbC5pdGVyYXRvcik/ZnVuY3Rpb24odCl7cmV0dXJuIHZvaWQgMD09PXQ/InVuZGVmaW5lZCI6X3R5cGVvZjIodCl9OmZ1bmN0aW9uKHQpe3JldHVybiB0JiYiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiZ0LmNvbnN0cnVjdG9yPT09U3ltYm9sJiZ0IT09U3ltYm9sLnByb3RvdHlwZT8ic3ltYm9sIjp2b2lkIDA9PT10PyJ1bmRlZmluZWQiOl90eXBlb2YyKHQpfTshZnVuY3Rpb24odCl7aWYoIm9iamVjdCI9PT0oInVuZGVmaW5lZCI9PXR5cGVvZiBleHBvcnRzPyJ1bmRlZmluZWQiOl90eXBlb2YoZXhwb3J0cykpJiYidW5kZWZpbmVkIiE9dHlwZW9mIG1vZHVsZSltb2R1bGUuZXhwb3J0cz10KCk7ZWxzZSBpZigiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kKWRlZmluZShbXSx0KTtlbHNleygidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6InVuZGVmaW5lZCIhPXR5cGVvZiBnbG9iYWw/Z2xvYmFsOiJ1bmRlZmluZWQiIT10eXBlb2Ygc2VsZj9zZWxmOnRoaXMpLldlYjM9dCgpfX0oZnVuY3Rpb24oKXt2YXIgZGVmaW5lLG1vZHVsZSxleHBvcnRzO3JldHVybiBmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbiB0KGUscixuKXtmdW5jdGlvbiBpKGEscyl7aWYoIXJbYV0pe2lmKCFlW2FdKXt2YXIgdT0iZnVuY3Rpb24iPT10eXBlb2YgcmVxdWlyZSYmcmVxdWlyZTtpZighcyYmdSlyZXR1cm4gdShhLCEwKTtpZihvKXJldHVybiBvKGEsITApO3ZhciBmPW5ldyBFcnJvcigiQ2Fubm90IGZpbmQgbW9kdWxlICciK2ErIiciKTt0aHJvdyBmLmNvZGU9Ik1PRFVMRV9OT1RfRk9VTkQiLGZ9dmFyIGM9clthXT17ZXhwb3J0czp7fX07ZVthXVswXS5jYWxsKGMuZXhwb3J0cyxmdW5jdGlvbih0KXt2YXIgcj1lW2FdWzFdW3RdO3JldHVybiBpKHJ8fHQpfSxjLGMuZXhwb3J0cyx0LGUscixuKX1yZXR1cm4gclthXS5leHBvcnRzfWZvcih2YXIgbz0iZnVuY3Rpb24iPT10eXBlb2YgcmVxdWlyZSYmcmVxdWlyZSxhPTA7YTxuLmxlbmd0aDthKyspaShuW2FdKTtyZXR1cm4gaX19KCkoezE6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbj1yO24uYmlnbnVtPXQoImJuLmpzIiksbi5kZWZpbmU9dCgiLi9hc24xL2FwaSIpLmRlZmluZSxuLmJhc2U9dCgiLi9hc24xL2Jhc2UiKSxuLmNvbnN0YW50cz10KCIuL2FzbjEvY29uc3RhbnRzIiksbi5kZWNvZGVycz10KCIuL2FzbjEvZGVjb2RlcnMiKSxuLmVuY29kZXJzPXQoIi4vYXNuMS9lbmNvZGVycyIpfSx7Ii4vYXNuMS9hcGkiOjIsIi4vYXNuMS9iYXNlIjo0LCIuL2FzbjEvY29uc3RhbnRzIjo4LCIuL2FzbjEvZGVjb2RlcnMiOjEwLCIuL2FzbjEvZW5jb2RlcnMiOjEzLCJibi5qcyI6IkJOIn1dLDI6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbj10KCIuLi9hc24xIiksaT10KCJpbmhlcml0cyIpO2Z1bmN0aW9uIG8odCxlKXt0aGlzLm5hbWU9dCx0aGlzLmJvZHk9ZSx0aGlzLmRlY29kZXJzPXt9LHRoaXMuZW5jb2RlcnM9e319ci5kZWZpbmU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gbmV3IG8odCxlKX0sby5wcm90b3R5cGUuX2NyZWF0ZU5hbWVkPWZ1bmN0aW9uKGUpe3ZhciByO3RyeXtyPXQoInZtIikucnVuSW5UaGlzQ29udGV4dCgiKGZ1bmN0aW9uICIrdGhpcy5uYW1lKyIoZW50aXR5KSB7XG4gIHRoaXMuX2luaXROYW1lZChlbnRpdHkpO1xufSkiKX1jYXRjaCh0KXtyPWZ1bmN0aW9uKHQpe3RoaXMuX2luaXROYW1lZCh0KX19cmV0dXJuIGkocixlKSxyLnByb3RvdHlwZS5faW5pdE5hbWVkPWZ1bmN0aW9uKHQpe2UuY2FsbCh0aGlzLHQpfSxuZXcgcih0aGlzKX0sby5wcm90b3R5cGUuX2dldERlY29kZXI9ZnVuY3Rpb24odCl7cmV0dXJuIHQ9dHx8ImRlciIsdGhpcy5kZWNvZGVycy5oYXNPd25Qcm9wZXJ0eSh0KXx8KHRoaXMuZGVjb2RlcnNbdF09dGhpcy5fY3JlYXRlTmFtZWQobi5kZWNvZGVyc1t0XSkpLHRoaXMuZGVjb2RlcnNbdF19LG8ucHJvdG90eXBlLmRlY29kZT1mdW5jdGlvbih0LGUscil7cmV0dXJuIHRoaXMuX2dldERlY29kZXIoZSkuZGVjb2RlKHQscil9LG8ucHJvdG90eXBlLl9nZXRFbmNvZGVyPWZ1bmN0aW9uKHQpe3JldHVybiB0PXR8fCJkZXIiLHRoaXMuZW5jb2RlcnMuaGFzT3duUHJvcGVydHkodCl8fCh0aGlzLmVuY29kZXJzW3RdPXRoaXMuX2NyZWF0ZU5hbWVkKG4uZW5jb2RlcnNbdF0pKSx0aGlzLmVuY29kZXJzW3RdfSxvLnByb3RvdHlwZS5lbmNvZGU9ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0aGlzLl9nZXRFbmNvZGVyKGUpLmVuY29kZSh0LHIpfX0seyIuLi9hc24xIjoxLGluaGVyaXRzOjEwMSx2bToxNjF9XSwzOltmdW5jdGlvbih0LGUscil7dmFyIG49dCgiaW5oZXJpdHMiKSxpPXQoIi4uL2Jhc2UiKS5SZXBvcnRlcixvPXQoImJ1ZmZlciIpLkJ1ZmZlcjtmdW5jdGlvbiBhKHQsZSl7aS5jYWxsKHRoaXMsZSksby5pc0J1ZmZlcih0KT8odGhpcy5iYXNlPXQsdGhpcy5vZmZzZXQ9MCx0aGlzLmxlbmd0aD10Lmxlbmd0aCk6dGhpcy5lcnJvcigiSW5wdXQgbm90IEJ1ZmZlciIpfWZ1bmN0aW9uIHModCxlKXtpZihBcnJheS5pc0FycmF5KHQpKXRoaXMubGVuZ3RoPTAsdGhpcy52YWx1ZT10Lm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdCBpbnN0YW5jZW9mIHN8fCh0PW5ldyBzKHQsZSkpLHRoaXMubGVuZ3RoKz10Lmxlbmd0aCx0fSx0aGlzKTtlbHNlIGlmKCJudW1iZXIiPT10eXBlb2YgdCl7aWYoISgwPD10JiZ0PD0yNTUpKXJldHVybiBlLmVycm9yKCJub24tYnl0ZSBFbmNvZGVyQnVmZmVyIHZhbHVlIik7dGhpcy52YWx1ZT10LHRoaXMubGVuZ3RoPTF9ZWxzZSBpZigic3RyaW5nIj09dHlwZW9mIHQpdGhpcy52YWx1ZT10LHRoaXMubGVuZ3RoPW8uYnl0ZUxlbmd0aCh0KTtlbHNle2lmKCFvLmlzQnVmZmVyKHQpKXJldHVybiBlLmVycm9yKCJVbnN1cHBvcnRlZCB0eXBlOiAiKyh2b2lkIDA9PT10PyJ1bmRlZmluZWQiOl90eXBlb2YodCkpKTt0aGlzLnZhbHVlPXQsdGhpcy5sZW5ndGg9dC5sZW5ndGh9fW4oYSxpKSxyLkRlY29kZXJCdWZmZXI9YSxhLnByb3RvdHlwZS5zYXZlPWZ1bmN0aW9uKCl7cmV0dXJue29mZnNldDp0aGlzLm9mZnNldCxyZXBvcnRlcjppLnByb3RvdHlwZS5zYXZlLmNhbGwodGhpcyl9fSxhLnByb3RvdHlwZS5yZXN0b3JlPWZ1bmN0aW9uKHQpe3ZhciBlPW5ldyBhKHRoaXMuYmFzZSk7cmV0dXJuIGUub2Zmc2V0PXQub2Zmc2V0LGUubGVuZ3RoPXRoaXMub2Zmc2V0LHRoaXMub2Zmc2V0PXQub2Zmc2V0LGkucHJvdG90eXBlLnJlc3RvcmUuY2FsbCh0aGlzLHQucmVwb3J0ZXIpLGV9LGEucHJvdG90eXBlLmlzRW1wdHk9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5vZmZzZXQ9PT10aGlzLmxlbmd0aH0sYS5wcm90b3R5cGUucmVhZFVJbnQ4PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9mZnNldCsxPD10aGlzLmxlbmd0aD90aGlzLmJhc2UucmVhZFVJbnQ4KHRoaXMub2Zmc2V0KyssITApOnRoaXMuZXJyb3IodHx8IkRlY29kZXJCdWZmZXIgb3ZlcnJ1biIpfSxhLnByb3RvdHlwZS5za2lwPWZ1bmN0aW9uKHQsZSl7aWYoISh0aGlzLm9mZnNldCt0PD10aGlzLmxlbmd0aCkpcmV0dXJuIHRoaXMuZXJyb3IoZXx8IkRlY29kZXJCdWZmZXIgb3ZlcnJ1biIpO3ZhciByPW5ldyBhKHRoaXMuYmFzZSk7cmV0dXJuIHIuX3JlcG9ydGVyU3RhdGU9dGhpcy5fcmVwb3J0ZXJTdGF0ZSxyLm9mZnNldD10aGlzLm9mZnNldCxyLmxlbmd0aD10aGlzLm9mZnNldCt0LHRoaXMub2Zmc2V0Kz10LHJ9LGEucHJvdG90eXBlLnJhdz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5iYXNlLnNsaWNlKHQ/dC5vZmZzZXQ6dGhpcy5vZmZzZXQsdGhpcy5sZW5ndGgpfSxyLkVuY29kZXJCdWZmZXI9cyxzLnByb3RvdHlwZS5qb2luPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHR8fCh0PW5ldyBvKHRoaXMubGVuZ3RoKSksZXx8KGU9MCksMD09PXRoaXMubGVuZ3RoP3Q6KEFycmF5LmlzQXJyYXkodGhpcy52YWx1ZSk/dGhpcy52YWx1ZS5mb3JFYWNoKGZ1bmN0aW9uKHIpe3Iuam9pbih0LGUpLGUrPXIubGVuZ3RofSk6KCJudW1iZXIiPT10eXBlb2YgdGhpcy52YWx1ZT90W2VdPXRoaXMudmFsdWU6InN0cmluZyI9PXR5cGVvZiB0aGlzLnZhbHVlP3Qud3JpdGUodGhpcy52YWx1ZSxlKTpvLmlzQnVmZmVyKHRoaXMudmFsdWUpJiZ0aGlzLnZhbHVlLmNvcHkodCxlKSxlKz10aGlzLmxlbmd0aCksdCl9fSx7Ii4uL2Jhc2UiOjQsYnVmZmVyOjQ3LGluaGVyaXRzOjEwMX1dLDQ6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbj1yO24uUmVwb3J0ZXI9dCgiLi9yZXBvcnRlciIpLlJlcG9ydGVyLG4uRGVjb2RlckJ1ZmZlcj10KCIuL2J1ZmZlciIpLkRlY29kZXJCdWZmZXIsbi5FbmNvZGVyQnVmZmVyPXQoIi4vYnVmZmVyIikuRW5jb2RlckJ1ZmZlcixuLk5vZGU9dCgiLi9ub2RlIil9LHsiLi9idWZmZXIiOjMsIi4vbm9kZSI6NSwiLi9yZXBvcnRlciI6Nn1dLDU6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbj10KCIuLi9iYXNlIikuUmVwb3J0ZXIsaT10KCIuLi9iYXNlIikuRW5jb2RlckJ1ZmZlcixvPXQoIi4uL2Jhc2UiKS5EZWNvZGVyQnVmZmVyLGE9dCgibWluaW1hbGlzdGljLWFzc2VydCIpLHM9WyJzZXEiLCJzZXFvZiIsInNldCIsInNldG9mIiwib2JqaWQiLCJib29sIiwiZ2VudGltZSIsInV0Y3RpbWUiLCJudWxsXyIsImVudW0iLCJpbnQiLCJvYmpEZXNjIiwiYml0c3RyIiwiYm1wc3RyIiwiY2hhcnN0ciIsImdlbnN0ciIsImdyYXBoc3RyIiwiaWE1c3RyIiwiaXNvNjQ2c3RyIiwibnVtc3RyIiwib2N0c3RyIiwicHJpbnRzdHIiLCJ0NjFzdHIiLCJ1bmlzdHIiLCJ1dGY4c3RyIiwidmlkZW9zdHIiXSx1PVsia2V5Iiwib2JqIiwidXNlIiwib3B0aW9uYWwiLCJleHBsaWNpdCIsImltcGxpY2l0IiwiZGVmIiwiY2hvaWNlIiwiYW55IiwiY29udGFpbnMiXS5jb25jYXQocyk7ZnVuY3Rpb24gZih0LGUpe3ZhciByPXt9O3RoaXMuX2Jhc2VTdGF0ZT1yLHIuZW5jPXQsci5wYXJlbnQ9ZXx8bnVsbCxyLmNoaWxkcmVuPW51bGwsci50YWc9bnVsbCxyLmFyZ3M9bnVsbCxyLnJldmVyc2VBcmdzPW51bGwsci5jaG9pY2U9bnVsbCxyLm9wdGlvbmFsPSExLHIuYW55PSExLHIub2JqPSExLHIudXNlPW51bGwsci51c2VEZWNvZGVyPW51bGwsci5rZXk9bnVsbCxyLmRlZmF1bHQ9bnVsbCxyLmV4cGxpY2l0PW51bGwsci5pbXBsaWNpdD1udWxsLHIuY29udGFpbnM9bnVsbCxyLnBhcmVudHx8KHIuY2hpbGRyZW49W10sdGhpcy5fd3JhcCgpKX1lLmV4cG9ydHM9Zjt2YXIgYz1bImVuYyIsInBhcmVudCIsImNoaWxkcmVuIiwidGFnIiwiYXJncyIsInJldmVyc2VBcmdzIiwiY2hvaWNlIiwib3B0aW9uYWwiLCJhbnkiLCJvYmoiLCJ1c2UiLCJhbHRlcmVkVXNlIiwia2V5IiwiZGVmYXVsdCIsImV4cGxpY2l0IiwiaW1wbGljaXQiLCJjb250YWlucyJdO2YucHJvdG90eXBlLmNsb25lPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fYmFzZVN0YXRlLGU9e307Yy5mb3JFYWNoKGZ1bmN0aW9uKHIpe2Vbcl09dFtyXX0pO3ZhciByPW5ldyB0aGlzLmNvbnN0cnVjdG9yKGUucGFyZW50KTtyZXR1cm4gci5fYmFzZVN0YXRlPWUscn0sZi5wcm90b3R5cGUuX3dyYXA9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9iYXNlU3RhdGU7dS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3RoaXNbZV09ZnVuY3Rpb24oKXt2YXIgcj1uZXcgdGhpcy5jb25zdHJ1Y3Rvcih0aGlzKTtyZXR1cm4gdC5jaGlsZHJlbi5wdXNoKHIpLHJbZV0uYXBwbHkocixhcmd1bWVudHMpfX0sdGhpcyl9LGYucHJvdG90eXBlLl9pbml0PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX2Jhc2VTdGF0ZTthKG51bGw9PT1lLnBhcmVudCksdC5jYWxsKHRoaXMpLGUuY2hpbGRyZW49ZS5jaGlsZHJlbi5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuIHQuX2Jhc2VTdGF0ZS5wYXJlbnQ9PT10aGlzfSx0aGlzKSxhLmVxdWFsKGUuY2hpbGRyZW4ubGVuZ3RoLDEsIlJvb3Qgbm9kZSBjYW4gaGF2ZSBvbmx5IG9uZSBjaGlsZCIpfSxmLnByb3RvdHlwZS5fdXNlQXJncz1mdW5jdGlvbih0KXt2YXIgZT10aGlzLl9iYXNlU3RhdGUscj10LmZpbHRlcihmdW5jdGlvbih0KXtyZXR1cm4gdCBpbnN0YW5jZW9mIHRoaXMuY29uc3RydWN0b3J9LHRoaXMpO3Q9dC5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuISh0IGluc3RhbmNlb2YgdGhpcy5jb25zdHJ1Y3Rvcil9LHRoaXMpLDAhPT1yLmxlbmd0aCYmKGEobnVsbD09PWUuY2hpbGRyZW4pLGUuY2hpbGRyZW49cixyLmZvckVhY2goZnVuY3Rpb24odCl7dC5fYmFzZVN0YXRlLnBhcmVudD10aGlzfSx0aGlzKSksMCE9PXQubGVuZ3RoJiYoYShudWxsPT09ZS5hcmdzKSxlLmFyZ3M9dCxlLnJldmVyc2VBcmdzPXQubWFwKGZ1bmN0aW9uKHQpe2lmKCJvYmplY3QiIT09KHZvaWQgMD09PXQ/InVuZGVmaW5lZCI6X3R5cGVvZih0KSl8fHQuY29uc3RydWN0b3IhPT1PYmplY3QpcmV0dXJuIHQ7dmFyIGU9e307cmV0dXJuIE9iamVjdC5rZXlzKHQpLmZvckVhY2goZnVuY3Rpb24ocil7cj09KDB8cikmJihyfD0wKTt2YXIgbj10W3JdO2Vbbl09cn0pLGV9KSl9LFsiX3BlZWtUYWciLCJfZGVjb2RlVGFnIiwiX3VzZSIsIl9kZWNvZGVTdHIiLCJfZGVjb2RlT2JqaWQiLCJfZGVjb2RlVGltZSIsIl9kZWNvZGVOdWxsIiwiX2RlY29kZUludCIsIl9kZWNvZGVCb29sIiwiX2RlY29kZUxpc3QiLCJfZW5jb2RlQ29tcG9zaXRlIiwiX2VuY29kZVN0ciIsIl9lbmNvZGVPYmppZCIsIl9lbmNvZGVUaW1lIiwiX2VuY29kZU51bGwiLCJfZW5jb2RlSW50IiwiX2VuY29kZUJvb2wiXS5mb3JFYWNoKGZ1bmN0aW9uKHQpe2YucHJvdG90eXBlW3RdPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5fYmFzZVN0YXRlO3Rocm93IG5ldyBFcnJvcih0KyIgbm90IGltcGxlbWVudGVkIGZvciBlbmNvZGluZzogIitlLmVuYyl9fSkscy5mb3JFYWNoKGZ1bmN0aW9uKHQpe2YucHJvdG90eXBlW3RdPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5fYmFzZVN0YXRlLHI9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKTtyZXR1cm4gYShudWxsPT09ZS50YWcpLGUudGFnPXQsdGhpcy5fdXNlQXJncyhyKSx0aGlzfX0pLGYucHJvdG90eXBlLnVzZT1mdW5jdGlvbih0KXthKHQpO3ZhciBlPXRoaXMuX2Jhc2VTdGF0ZTtyZXR1cm4gYShudWxsPT09ZS51c2UpLGUudXNlPXQsdGhpc30sZi5wcm90b3R5cGUub3B0aW9uYWw9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYmFzZVN0YXRlLm9wdGlvbmFsPSEwLHRoaXN9LGYucHJvdG90eXBlLmRlZj1mdW5jdGlvbih0KXt2YXIgZT10aGlzLl9iYXNlU3RhdGU7cmV0dXJuIGEobnVsbD09PWUuZGVmYXVsdCksZS5kZWZhdWx0PXQsZS5vcHRpb25hbD0hMCx0aGlzfSxmLnByb3RvdHlwZS5leHBsaWNpdD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLl9iYXNlU3RhdGU7cmV0dXJuIGEobnVsbD09PWUuZXhwbGljaXQmJm51bGw9PT1lLmltcGxpY2l0KSxlLmV4cGxpY2l0PXQsdGhpc30sZi5wcm90b3R5cGUuaW1wbGljaXQ9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fYmFzZVN0YXRlO3JldHVybiBhKG51bGw9PT1lLmV4cGxpY2l0JiZudWxsPT09ZS5pbXBsaWNpdCksZS5pbXBsaWNpdD10LHRoaXN9LGYucHJvdG90eXBlLm9iaj1mdW5jdGlvbigpe3ZhciB0PXRoaXMuX2Jhc2VTdGF0ZSxlPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7cmV0dXJuIHQub2JqPSEwLDAhPT1lLmxlbmd0aCYmdGhpcy5fdXNlQXJncyhlKSx0aGlzfSxmLnByb3RvdHlwZS5rZXk9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fYmFzZVN0YXRlO3JldHVybiBhKG51bGw9PT1lLmtleSksZS5rZXk9dCx0aGlzfSxmLnByb3RvdHlwZS5hbnk9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fYmFzZVN0YXRlLmFueT0hMCx0aGlzfSxmLnByb3RvdHlwZS5jaG9pY2U9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fYmFzZVN0YXRlO3JldHVybiBhKG51bGw9PT1lLmNob2ljZSksZS5jaG9pY2U9dCx0aGlzLl91c2VBcmdzKE9iamVjdC5rZXlzKHQpLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gdFtlXX0pKSx0aGlzfSxmLnByb3RvdHlwZS5jb250YWlucz1mdW5jdGlvbih0KXt2YXIgZT10aGlzLl9iYXNlU3RhdGU7cmV0dXJuIGEobnVsbD09PWUudXNlKSxlLmNvbnRhaW5zPXQsdGhpc30sZi5wcm90b3R5cGUuX2RlY29kZT1mdW5jdGlvbih0LGUpe3ZhciByPXRoaXMuX2Jhc2VTdGF0ZTtpZihudWxsPT09ci5wYXJlbnQpcmV0dXJuIHQud3JhcFJlc3VsdChyLmNoaWxkcmVuWzBdLl9kZWNvZGUodCxlKSk7dmFyIG4saT1yLmRlZmF1bHQsYT0hMCxzPW51bGw7aWYobnVsbCE9PXIua2V5JiYocz10LmVudGVyS2V5KHIua2V5KSksci5vcHRpb25hbCl7dmFyIHU9bnVsbDtpZihudWxsIT09ci5leHBsaWNpdD91PXIuZXhwbGljaXQ6bnVsbCE9PXIuaW1wbGljaXQ/dT1yLmltcGxpY2l0Om51bGwhPT1yLnRhZyYmKHU9ci50YWcpLG51bGwhPT11fHxyLmFueSl7aWYoYT10aGlzLl9wZWVrVGFnKHQsdSxyLmFueSksdC5pc0Vycm9yKGEpKXJldHVybiBhfWVsc2V7dmFyIGY9dC5zYXZlKCk7dHJ5e251bGw9PT1yLmNob2ljZT90aGlzLl9kZWNvZGVHZW5lcmljKHIudGFnLHQsZSk6dGhpcy5fZGVjb2RlQ2hvaWNlKHQsZSksYT0hMH1jYXRjaCh0KXthPSExfXQucmVzdG9yZShmKX19aWYoci5vYmomJmEmJihuPXQuZW50ZXJPYmplY3QoKSksYSl7aWYobnVsbCE9PXIuZXhwbGljaXQpe3ZhciBjPXRoaXMuX2RlY29kZVRhZyh0LHIuZXhwbGljaXQpO2lmKHQuaXNFcnJvcihjKSlyZXR1cm4gYzt0PWN9dmFyIGg9dC5vZmZzZXQ7aWYobnVsbD09PXIudXNlJiZudWxsPT09ci5jaG9pY2Upe2lmKHIuYW55KWY9dC5zYXZlKCk7dmFyIGQ9dGhpcy5fZGVjb2RlVGFnKHQsbnVsbCE9PXIuaW1wbGljaXQ/ci5pbXBsaWNpdDpyLnRhZyxyLmFueSk7aWYodC5pc0Vycm9yKGQpKXJldHVybiBkO3IuYW55P2k9dC5yYXcoZik6dD1kfWlmKGUmJmUudHJhY2smJm51bGwhPT1yLnRhZyYmZS50cmFjayh0LnBhdGgoKSxoLHQubGVuZ3RoLCJ0YWdnZWQiKSxlJiZlLnRyYWNrJiZudWxsIT09ci50YWcmJmUudHJhY2sodC5wYXRoKCksdC5vZmZzZXQsdC5sZW5ndGgsImNvbnRlbnQiKSxpPXIuYW55P2k6bnVsbD09PXIuY2hvaWNlP3RoaXMuX2RlY29kZUdlbmVyaWMoci50YWcsdCxlKTp0aGlzLl9kZWNvZGVDaG9pY2UodCxlKSx0LmlzRXJyb3IoaSkpcmV0dXJuIGk7aWYoci5hbnl8fG51bGwhPT1yLmNob2ljZXx8bnVsbD09PXIuY2hpbGRyZW58fHIuY2hpbGRyZW4uZm9yRWFjaChmdW5jdGlvbihyKXtyLl9kZWNvZGUodCxlKX0pLHIuY29udGFpbnMmJigib2N0c3RyIj09PXIudGFnfHwiYml0c3RyIj09PXIudGFnKSl7dmFyIGw9bmV3IG8oaSk7aT10aGlzLl9nZXRVc2Uoci5jb250YWlucyx0Ll9yZXBvcnRlclN0YXRlLm9iaikuX2RlY29kZShsLGUpfX1yZXR1cm4gci5vYmomJmEmJihpPXQubGVhdmVPYmplY3QobikpLG51bGw9PT1yLmtleXx8bnVsbD09PWkmJiEwIT09YT9udWxsIT09cyYmdC5leGl0S2V5KHMpOnQubGVhdmVLZXkocyxyLmtleSxpKSxpfSxmLnByb3RvdHlwZS5fZGVjb2RlR2VuZXJpYz1mdW5jdGlvbih0LGUscil7dmFyIG49dGhpcy5fYmFzZVN0YXRlO3JldHVybiJzZXEiPT09dHx8InNldCI9PT10P251bGw6InNlcW9mIj09PXR8fCJzZXRvZiI9PT10P3RoaXMuX2RlY29kZUxpc3QoZSx0LG4uYXJnc1swXSxyKTovc3RyJC8udGVzdCh0KT90aGlzLl9kZWNvZGVTdHIoZSx0LHIpOiJvYmppZCI9PT10JiZuLmFyZ3M/dGhpcy5fZGVjb2RlT2JqaWQoZSxuLmFyZ3NbMF0sbi5hcmdzWzFdLHIpOiJvYmppZCI9PT10P3RoaXMuX2RlY29kZU9iamlkKGUsbnVsbCxudWxsLHIpOiJnZW50aW1lIj09PXR8fCJ1dGN0aW1lIj09PXQ/dGhpcy5fZGVjb2RlVGltZShlLHQscik6Im51bGxfIj09PXQ/dGhpcy5fZGVjb2RlTnVsbChlLHIpOiJib29sIj09PXQ/dGhpcy5fZGVjb2RlQm9vbChlLHIpOiJvYmpEZXNjIj09PXQ/dGhpcy5fZGVjb2RlU3RyKGUsdCxyKToiaW50Ij09PXR8fCJlbnVtIj09PXQ/dGhpcy5fZGVjb2RlSW50KGUsbi5hcmdzJiZuLmFyZ3NbMF0scik6bnVsbCE9PW4udXNlP3RoaXMuX2dldFVzZShuLnVzZSxlLl9yZXBvcnRlclN0YXRlLm9iaikuX2RlY29kZShlLHIpOmUuZXJyb3IoInVua25vd24gdGFnOiAiK3QpfSxmLnByb3RvdHlwZS5fZ2V0VXNlPWZ1bmN0aW9uKHQsZSl7dmFyIHI9dGhpcy5fYmFzZVN0YXRlO3JldHVybiByLnVzZURlY29kZXI9dGhpcy5fdXNlKHQsZSksYShudWxsPT09ci51c2VEZWNvZGVyLl9iYXNlU3RhdGUucGFyZW50KSxyLnVzZURlY29kZXI9ci51c2VEZWNvZGVyLl9iYXNlU3RhdGUuY2hpbGRyZW5bMF0sci5pbXBsaWNpdCE9PXIudXNlRGVjb2Rlci5fYmFzZVN0YXRlLmltcGxpY2l0JiYoci51c2VEZWNvZGVyPXIudXNlRGVjb2Rlci5jbG9uZSgpLHIudXNlRGVjb2Rlci5fYmFzZVN0YXRlLmltcGxpY2l0PXIuaW1wbGljaXQpLHIudXNlRGVjb2Rlcn0sZi5wcm90b3R5cGUuX2RlY29kZUNob2ljZT1mdW5jdGlvbih0LGUpe3ZhciByPXRoaXMuX2Jhc2VTdGF0ZSxuPW51bGwsaT0hMTtyZXR1cm4gT2JqZWN0LmtleXMoci5jaG9pY2UpLnNvbWUoZnVuY3Rpb24obyl7dmFyIGE9dC5zYXZlKCkscz1yLmNob2ljZVtvXTt0cnl7dmFyIHU9cy5fZGVjb2RlKHQsZSk7aWYodC5pc0Vycm9yKHUpKXJldHVybiExO249e3R5cGU6byx2YWx1ZTp1fSxpPSEwfWNhdGNoKGUpe3JldHVybiB0LnJlc3RvcmUoYSksITF9cmV0dXJuITB9LHRoaXMpLGk/bjp0LmVycm9yKCJDaG9pY2Ugbm90IG1hdGNoZWQiKX0sZi5wcm90b3R5cGUuX2NyZWF0ZUVuY29kZXJCdWZmZXI9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBpKHQsdGhpcy5yZXBvcnRlcil9LGYucHJvdG90eXBlLl9lbmNvZGU9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPXRoaXMuX2Jhc2VTdGF0ZTtpZihudWxsPT09bi5kZWZhdWx0fHxuLmRlZmF1bHQhPT10KXt2YXIgaT10aGlzLl9lbmNvZGVWYWx1ZSh0LGUscik7aWYodm9pZCAwIT09aSYmIXRoaXMuX3NraXBEZWZhdWx0KGksZSxyKSlyZXR1cm4gaX19LGYucHJvdG90eXBlLl9lbmNvZGVWYWx1ZT1mdW5jdGlvbih0LGUscil7dmFyIGk9dGhpcy5fYmFzZVN0YXRlO2lmKG51bGw9PT1pLnBhcmVudClyZXR1cm4gaS5jaGlsZHJlblswXS5fZW5jb2RlKHQsZXx8bmV3IG4pO3ZhciBvPW51bGw7aWYodGhpcy5yZXBvcnRlcj1lLGkub3B0aW9uYWwmJnZvaWQgMD09PXQpe2lmKG51bGw9PT1pLmRlZmF1bHQpcmV0dXJuO3Q9aS5kZWZhdWx0fXZhciBhPW51bGwscz0hMTtpZihpLmFueSlvPXRoaXMuX2NyZWF0ZUVuY29kZXJCdWZmZXIodCk7ZWxzZSBpZihpLmNob2ljZSlvPXRoaXMuX2VuY29kZUNob2ljZSh0LGUpO2Vsc2UgaWYoaS5jb250YWlucylhPXRoaXMuX2dldFVzZShpLmNvbnRhaW5zLHIpLl9lbmNvZGUodCxlKSxzPSEwO2Vsc2UgaWYoaS5jaGlsZHJlbilhPWkuY2hpbGRyZW4ubWFwKGZ1bmN0aW9uKHIpe2lmKCJudWxsXyI9PT1yLl9iYXNlU3RhdGUudGFnKXJldHVybiByLl9lbmNvZGUobnVsbCxlLHQpO2lmKG51bGw9PT1yLl9iYXNlU3RhdGUua2V5KXJldHVybiBlLmVycm9yKCJDaGlsZCBzaG91bGQgaGF2ZSBhIGtleSIpO3ZhciBuPWUuZW50ZXJLZXkoci5fYmFzZVN0YXRlLmtleSk7aWYoIm9iamVjdCIhPT0odm9pZCAwPT09dD8idW5kZWZpbmVkIjpfdHlwZW9mKHQpKSlyZXR1cm4gZS5lcnJvcigiQ2hpbGQgZXhwZWN0ZWQsIGJ1dCBpbnB1dCBpcyBub3Qgb2JqZWN0Iik7dmFyIGk9ci5fZW5jb2RlKHRbci5fYmFzZVN0YXRlLmtleV0sZSx0KTtyZXR1cm4gZS5sZWF2ZUtleShuKSxpfSx0aGlzKS5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuIHR9KSxhPXRoaXMuX2NyZWF0ZUVuY29kZXJCdWZmZXIoYSk7ZWxzZSBpZigic2Vxb2YiPT09aS50YWd8fCJzZXRvZiI9PT1pLnRhZyl7aWYoIWkuYXJnc3x8MSE9PWkuYXJncy5sZW5ndGgpcmV0dXJuIGUuZXJyb3IoIlRvbyBtYW55IGFyZ3MgZm9yIDogIitpLnRhZyk7aWYoIUFycmF5LmlzQXJyYXkodCkpcmV0dXJuIGUuZXJyb3IoInNlcW9mL3NldG9mLCBidXQgZGF0YSBpcyBub3QgQXJyYXkiKTt2YXIgdT10aGlzLmNsb25lKCk7dS5fYmFzZVN0YXRlLmltcGxpY2l0PW51bGwsYT10aGlzLl9jcmVhdGVFbmNvZGVyQnVmZmVyKHQubWFwKGZ1bmN0aW9uKHIpe3ZhciBuPXRoaXMuX2Jhc2VTdGF0ZTtyZXR1cm4gdGhpcy5fZ2V0VXNlKG4uYXJnc1swXSx0KS5fZW5jb2RlKHIsZSl9LHUpKX1lbHNlIG51bGwhPT1pLnVzZT9vPXRoaXMuX2dldFVzZShpLnVzZSxyKS5fZW5jb2RlKHQsZSk6KGE9dGhpcy5fZW5jb2RlUHJpbWl0aXZlKGkudGFnLHQpLHM9ITApO2lmKCFpLmFueSYmbnVsbD09PWkuY2hvaWNlKXt2YXIgZj1udWxsIT09aS5pbXBsaWNpdD9pLmltcGxpY2l0OmkudGFnLGM9bnVsbD09PWkuaW1wbGljaXQ/InVuaXZlcnNhbCI6ImNvbnRleHQiO251bGw9PT1mP251bGw9PT1pLnVzZSYmZS5lcnJvcigiVGFnIGNvdWxkIGJlIG9taXR0ZWQgb25seSBmb3IgLnVzZSgpIik6bnVsbD09PWkudXNlJiYobz10aGlzLl9lbmNvZGVDb21wb3NpdGUoZixzLGMsYSkpfXJldHVybiBudWxsIT09aS5leHBsaWNpdCYmKG89dGhpcy5fZW5jb2RlQ29tcG9zaXRlKGkuZXhwbGljaXQsITEsImNvbnRleHQiLG8pKSxvfSxmLnByb3RvdHlwZS5fZW5jb2RlQ2hvaWNlPWZ1bmN0aW9uKHQsZSl7dmFyIHI9dGhpcy5fYmFzZVN0YXRlLG49ci5jaG9pY2VbdC50eXBlXTtyZXR1cm4gbnx8YSghMSx0LnR5cGUrIiBub3QgZm91bmQgaW4gIitKU09OLnN0cmluZ2lmeShPYmplY3Qua2V5cyhyLmNob2ljZSkpKSxuLl9lbmNvZGUodC52YWx1ZSxlKX0sZi5wcm90b3R5cGUuX2VuY29kZVByaW1pdGl2ZT1mdW5jdGlvbih0LGUpe3ZhciByPXRoaXMuX2Jhc2VTdGF0ZTtpZigvc3RyJC8udGVzdCh0KSlyZXR1cm4gdGhpcy5fZW5jb2RlU3RyKGUsdCk7aWYoIm9iamlkIj09PXQmJnIuYXJncylyZXR1cm4gdGhpcy5fZW5jb2RlT2JqaWQoZSxyLnJldmVyc2VBcmdzWzBdLHIuYXJnc1sxXSk7aWYoIm9iamlkIj09PXQpcmV0dXJuIHRoaXMuX2VuY29kZU9iamlkKGUsbnVsbCxudWxsKTtpZigiZ2VudGltZSI9PT10fHwidXRjdGltZSI9PT10KXJldHVybiB0aGlzLl9lbmNvZGVUaW1lKGUsdCk7aWYoIm51bGxfIj09PXQpcmV0dXJuIHRoaXMuX2VuY29kZU51bGwoKTtpZigiaW50Ij09PXR8fCJlbnVtIj09PXQpcmV0dXJuIHRoaXMuX2VuY29kZUludChlLHIuYXJncyYmci5yZXZlcnNlQXJnc1swXSk7aWYoImJvb2wiPT09dClyZXR1cm4gdGhpcy5fZW5jb2RlQm9vbChlKTtpZigib2JqRGVzYyI9PT10KXJldHVybiB0aGlzLl9lbmNvZGVTdHIoZSx0KTt0aHJvdyBuZXcgRXJyb3IoIlVuc3VwcG9ydGVkIHRhZzogIit0KX0sZi5wcm90b3R5cGUuX2lzTnVtc3RyPWZ1bmN0aW9uKHQpe3JldHVybi9eWzAtOSBdKiQvLnRlc3QodCl9LGYucHJvdG90eXBlLl9pc1ByaW50c3RyPWZ1bmN0aW9uKHQpe3JldHVybi9eW0EtWmEtejAtOSAnXChcKVwrLFwtXC5cLzo9XD9dKiQvLnRlc3QodCl9fSx7Ii4uL2Jhc2UiOjQsIm1pbmltYWxpc3RpYy1hc3NlcnQiOjEwN31dLDY6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbj10KCJpbmhlcml0cyIpO2Z1bmN0aW9uIGkodCl7dGhpcy5fcmVwb3J0ZXJTdGF0ZT17b2JqOm51bGwscGF0aDpbXSxvcHRpb25zOnR8fHt9LGVycm9yczpbXX19ZnVuY3Rpb24gbyh0LGUpe3RoaXMucGF0aD10LHRoaXMucmV0aHJvdyhlKX1yLlJlcG9ydGVyPWksaS5wcm90b3R5cGUuaXNFcnJvcj1mdW5jdGlvbih0KXtyZXR1cm4gdCBpbnN0YW5jZW9mIG99LGkucHJvdG90eXBlLnNhdmU9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9yZXBvcnRlclN0YXRlO3JldHVybntvYmo6dC5vYmoscGF0aExlbjp0LnBhdGgubGVuZ3RofX0saS5wcm90b3R5cGUucmVzdG9yZT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLl9yZXBvcnRlclN0YXRlO2Uub2JqPXQub2JqLGUucGF0aD1lLnBhdGguc2xpY2UoMCx0LnBhdGhMZW4pfSxpLnByb3RvdHlwZS5lbnRlcktleT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fcmVwb3J0ZXJTdGF0ZS5wYXRoLnB1c2godCl9LGkucHJvdG90eXBlLmV4aXRLZXk9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fcmVwb3J0ZXJTdGF0ZTtlLnBhdGg9ZS5wYXRoLnNsaWNlKDAsdC0xKX0saS5wcm90b3R5cGUubGVhdmVLZXk9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPXRoaXMuX3JlcG9ydGVyU3RhdGU7dGhpcy5leGl0S2V5KHQpLG51bGwhPT1uLm9iaiYmKG4ub2JqW2VdPXIpfSxpLnByb3RvdHlwZS5wYXRoPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3JlcG9ydGVyU3RhdGUucGF0aC5qb2luKCIvIil9LGkucHJvdG90eXBlLmVudGVyT2JqZWN0PWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fcmVwb3J0ZXJTdGF0ZSxlPXQub2JqO3JldHVybiB0Lm9iaj17fSxlfSxpLnByb3RvdHlwZS5sZWF2ZU9iamVjdD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLl9yZXBvcnRlclN0YXRlLHI9ZS5vYmo7cmV0dXJuIGUub2JqPXQscn0saS5wcm90b3R5cGUuZXJyb3I9ZnVuY3Rpb24odCl7dmFyIGUscj10aGlzLl9yZXBvcnRlclN0YXRlLG49dCBpbnN0YW5jZW9mIG87aWYoZT1uP3Q6bmV3IG8oci5wYXRoLm1hcChmdW5jdGlvbih0KXtyZXR1cm4iWyIrSlNPTi5zdHJpbmdpZnkodCkrIl0ifSkuam9pbigiIiksdC5tZXNzYWdlfHx0LHQuc3RhY2spLCFyLm9wdGlvbnMucGFydGlhbCl0aHJvdyBlO3JldHVybiBufHxyLmVycm9ycy5wdXNoKGUpLGV9LGkucHJvdG90eXBlLndyYXBSZXN1bHQ9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fcmVwb3J0ZXJTdGF0ZTtyZXR1cm4gZS5vcHRpb25zLnBhcnRpYWw/e3Jlc3VsdDp0aGlzLmlzRXJyb3IodCk/bnVsbDp0LGVycm9yczplLmVycm9yc306dH0sbihvLEVycm9yKSxvLnByb3RvdHlwZS5yZXRocm93PWZ1bmN0aW9uKHQpe2lmKHRoaXMubWVzc2FnZT10KyIgYXQ6ICIrKHRoaXMucGF0aHx8IihzaGFsbG93KSIpLEVycm9yLmNhcHR1cmVTdGFja1RyYWNlJiZFcnJvci5jYXB0dXJlU3RhY2tUcmFjZSh0aGlzLG8pLCF0aGlzLnN0YWNrKXRyeXt0aHJvdyBuZXcgRXJyb3IodGhpcy5tZXNzYWdlKX1jYXRjaCh0KXt0aGlzLnN0YWNrPXQuc3RhY2t9cmV0dXJuIHRoaXN9fSx7aW5oZXJpdHM6MTAxfV0sNzpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQoIi4uL2NvbnN0YW50cyIpO3IudGFnQ2xhc3M9ezA6InVuaXZlcnNhbCIsMToiYXBwbGljYXRpb24iLDI6ImNvbnRleHQiLDM6InByaXZhdGUifSxyLnRhZ0NsYXNzQnlOYW1lPW4uX3JldmVyc2Uoci50YWdDbGFzcyksci50YWc9ezA6ImVuZCIsMToiYm9vbCIsMjoiaW50IiwzOiJiaXRzdHIiLDQ6Im9jdHN0ciIsNToibnVsbF8iLDY6Im9iamlkIiw3OiJvYmpEZXNjIiw4OiJleHRlcm5hbCIsOToicmVhbCIsMTA6ImVudW0iLDExOiJlbWJlZCIsMTI6InV0ZjhzdHIiLDEzOiJyZWxhdGl2ZU9pZCIsMTY6InNlcSIsMTc6InNldCIsMTg6Im51bXN0ciIsMTk6InByaW50c3RyIiwyMDoidDYxc3RyIiwyMToidmlkZW9zdHIiLDIyOiJpYTVzdHIiLDIzOiJ1dGN0aW1lIiwyNDoiZ2VudGltZSIsMjU6ImdyYXBoc3RyIiwyNjoiaXNvNjQ2c3RyIiwyNzoiZ2Vuc3RyIiwyODoidW5pc3RyIiwyOToiY2hhcnN0ciIsMzA6ImJtcHN0ciJ9LHIudGFnQnlOYW1lPW4uX3JldmVyc2Uoci50YWcpfSx7Ii4uL2NvbnN0YW50cyI6OH1dLDg6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbj1yO24uX3JldmVyc2U9ZnVuY3Rpb24odCl7dmFyIGU9e307cmV0dXJuIE9iamVjdC5rZXlzKHQpLmZvckVhY2goZnVuY3Rpb24ocil7KDB8cik9PXImJihyfD0wKTt2YXIgbj10W3JdO2Vbbl09cn0pLGV9LG4uZGVyPXQoIi4vZGVyIil9LHsiLi9kZXIiOjd9XSw5OltmdW5jdGlvbih0LGUscil7dmFyIG49dCgiaW5oZXJpdHMiKSxpPXQoIi4uLy4uL2FzbjEiKSxvPWkuYmFzZSxhPWkuYmlnbnVtLHM9aS5jb25zdGFudHMuZGVyO2Z1bmN0aW9uIHUodCl7dGhpcy5lbmM9ImRlciIsdGhpcy5uYW1lPXQubmFtZSx0aGlzLmVudGl0eT10LHRoaXMudHJlZT1uZXcgZix0aGlzLnRyZWUuX2luaXQodC5ib2R5KX1mdW5jdGlvbiBmKHQpe28uTm9kZS5jYWxsKHRoaXMsImRlciIsdCl9ZnVuY3Rpb24gYyh0LGUpe3ZhciByPXQucmVhZFVJbnQ4KGUpO2lmKHQuaXNFcnJvcihyKSlyZXR1cm4gcjt2YXIgbj1zLnRhZ0NsYXNzW3I+PjZdLGk9MD09KDMyJnIpO2lmKDMxPT0oMzEmcikpe3ZhciBvPXI7Zm9yKHI9MDsxMjg9PSgxMjgmbyk7KXtpZihvPXQucmVhZFVJbnQ4KGUpLHQuaXNFcnJvcihvKSlyZXR1cm4gbztyPDw9NyxyfD0xMjcmb319ZWxzZSByJj0zMTtyZXR1cm57Y2xzOm4scHJpbWl0aXZlOmksdGFnOnIsdGFnU3RyOnMudGFnW3JdfX1mdW5jdGlvbiBoKHQsZSxyKXt2YXIgbj10LnJlYWRVSW50OChyKTtpZih0LmlzRXJyb3IobikpcmV0dXJuIG47aWYoIWUmJjEyOD09PW4pcmV0dXJuIG51bGw7aWYoMD09KDEyOCZuKSlyZXR1cm4gbjt2YXIgaT0xMjcmbjtpZihpPjQpcmV0dXJuIHQuZXJyb3IoImxlbmd0aCBvY3RlY3QgaXMgdG9vIGxvbmciKTtuPTA7Zm9yKHZhciBvPTA7bzxpO28rKyl7bjw8PTg7dmFyIGE9dC5yZWFkVUludDgocik7aWYodC5pc0Vycm9yKGEpKXJldHVybiBhO258PWF9cmV0dXJuIG59ZS5leHBvcnRzPXUsdS5wcm90b3R5cGUuZGVjb2RlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQgaW5zdGFuY2VvZiBvLkRlY29kZXJCdWZmZXJ8fCh0PW5ldyBvLkRlY29kZXJCdWZmZXIodCxlKSksdGhpcy50cmVlLl9kZWNvZGUodCxlKX0sbihmLG8uTm9kZSksZi5wcm90b3R5cGUuX3BlZWtUYWc9ZnVuY3Rpb24odCxlLHIpe2lmKHQuaXNFbXB0eSgpKXJldHVybiExO3ZhciBuPXQuc2F2ZSgpLGk9Yyh0LCdGYWlsZWQgdG8gcGVlayB0YWc6ICInK2UrJyInKTtyZXR1cm4gdC5pc0Vycm9yKGkpP2k6KHQucmVzdG9yZShuKSxpLnRhZz09PWV8fGkudGFnU3RyPT09ZXx8aS50YWdTdHIrIm9mIj09PWV8fHIpfSxmLnByb3RvdHlwZS5fZGVjb2RlVGFnPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj1jKHQsJ0ZhaWxlZCB0byBkZWNvZGUgdGFnIG9mICInK2UrJyInKTtpZih0LmlzRXJyb3IobikpcmV0dXJuIG47dmFyIGk9aCh0LG4ucHJpbWl0aXZlLCdGYWlsZWQgdG8gZ2V0IGxlbmd0aCBvZiAiJytlKyciJyk7aWYodC5pc0Vycm9yKGkpKXJldHVybiBpO2lmKCFyJiZuLnRhZyE9PWUmJm4udGFnU3RyIT09ZSYmbi50YWdTdHIrIm9mIiE9PWUpcmV0dXJuIHQuZXJyb3IoJ0ZhaWxlZCB0byBtYXRjaCB0YWc6ICInK2UrJyInKTtpZihuLnByaW1pdGl2ZXx8bnVsbCE9PWkpcmV0dXJuIHQuc2tpcChpLCdGYWlsZWQgdG8gbWF0Y2ggYm9keSBvZjogIicrZSsnIicpO3ZhciBvPXQuc2F2ZSgpLGE9dGhpcy5fc2tpcFVudGlsRW5kKHQsJ0ZhaWxlZCB0byBza2lwIGluZGVmaW5pdGUgbGVuZ3RoIGJvZHk6ICInK3RoaXMudGFnKyciJyk7cmV0dXJuIHQuaXNFcnJvcihhKT9hOihpPXQub2Zmc2V0LW8ub2Zmc2V0LHQucmVzdG9yZShvKSx0LnNraXAoaSwnRmFpbGVkIHRvIG1hdGNoIGJvZHkgb2Y6ICInK2UrJyInKSl9LGYucHJvdG90eXBlLl9za2lwVW50aWxFbmQ9ZnVuY3Rpb24odCxlKXtmb3IoOzspe3ZhciByPWModCxlKTtpZih0LmlzRXJyb3IocikpcmV0dXJuIHI7dmFyIG4saT1oKHQsci5wcmltaXRpdmUsZSk7aWYodC5pc0Vycm9yKGkpKXJldHVybiBpO2lmKG49ci5wcmltaXRpdmV8fG51bGwhPT1pP3Quc2tpcChpKTp0aGlzLl9za2lwVW50aWxFbmQodCxlKSx0LmlzRXJyb3IobikpcmV0dXJuIG47aWYoImVuZCI9PT1yLnRhZ1N0cilicmVha319LGYucHJvdG90eXBlLl9kZWNvZGVMaXN0PWZ1bmN0aW9uKHQsZSxyLG4pe2Zvcih2YXIgaT1bXTshdC5pc0VtcHR5KCk7KXt2YXIgbz10aGlzLl9wZWVrVGFnKHQsImVuZCIpO2lmKHQuaXNFcnJvcihvKSlyZXR1cm4gbzt2YXIgYT1yLmRlY29kZSh0LCJkZXIiLG4pO2lmKHQuaXNFcnJvcihhKSYmbylicmVhaztpLnB1c2goYSl9cmV0dXJuIGl9LGYucHJvdG90eXBlLl9kZWNvZGVTdHI9ZnVuY3Rpb24odCxlKXtpZigiYml0c3RyIj09PWUpe3ZhciByPXQucmVhZFVJbnQ4KCk7cmV0dXJuIHQuaXNFcnJvcihyKT9yOnt1bnVzZWQ6cixkYXRhOnQucmF3KCl9fWlmKCJibXBzdHIiPT09ZSl7dmFyIG49dC5yYXcoKTtpZihuLmxlbmd0aCUyPT0xKXJldHVybiB0LmVycm9yKCJEZWNvZGluZyBvZiBzdHJpbmcgdHlwZTogYm1wc3RyIGxlbmd0aCBtaXNtYXRjaCIpO2Zvcih2YXIgaT0iIixvPTA7bzxuLmxlbmd0aC8yO28rKylpKz1TdHJpbmcuZnJvbUNoYXJDb2RlKG4ucmVhZFVJbnQxNkJFKDIqbykpO3JldHVybiBpfWlmKCJudW1zdHIiPT09ZSl7dmFyIGE9dC5yYXcoKS50b1N0cmluZygiYXNjaWkiKTtyZXR1cm4gdGhpcy5faXNOdW1zdHIoYSk/YTp0LmVycm9yKCJEZWNvZGluZyBvZiBzdHJpbmcgdHlwZTogbnVtc3RyIHVuc3VwcG9ydGVkIGNoYXJhY3RlcnMiKX1pZigib2N0c3RyIj09PWUpcmV0dXJuIHQucmF3KCk7aWYoIm9iakRlc2MiPT09ZSlyZXR1cm4gdC5yYXcoKTtpZigicHJpbnRzdHIiPT09ZSl7dmFyIHM9dC5yYXcoKS50b1N0cmluZygiYXNjaWkiKTtyZXR1cm4gdGhpcy5faXNQcmludHN0cihzKT9zOnQuZXJyb3IoIkRlY29kaW5nIG9mIHN0cmluZyB0eXBlOiBwcmludHN0ciB1bnN1cHBvcnRlZCBjaGFyYWN0ZXJzIil9cmV0dXJuL3N0ciQvLnRlc3QoZSk/dC5yYXcoKS50b1N0cmluZygpOnQuZXJyb3IoIkRlY29kaW5nIG9mIHN0cmluZyB0eXBlOiAiK2UrIiB1bnN1cHBvcnRlZCIpfSxmLnByb3RvdHlwZS5fZGVjb2RlT2JqaWQ9ZnVuY3Rpb24odCxlLHIpe2Zvcih2YXIgbixpPVtdLG89MDshdC5pc0VtcHR5KCk7KXt2YXIgYT10LnJlYWRVSW50OCgpO288PD03LG98PTEyNyZhLDA9PSgxMjgmYSkmJihpLnB1c2gobyksbz0wKX0xMjgmYSYmaS5wdXNoKG8pO3ZhciBzPWlbMF0vNDB8MCx1PWlbMF0lNDA7aWYobj1yP2k6W3MsdV0uY29uY2F0KGkuc2xpY2UoMSkpLGUpe3ZhciBmPWVbbi5qb2luKCIgIildO3ZvaWQgMD09PWYmJihmPWVbbi5qb2luKCIuIildKSx2b2lkIDAhPT1mJiYobj1mKX1yZXR1cm4gbn0sZi5wcm90b3R5cGUuX2RlY29kZVRpbWU9ZnVuY3Rpb24odCxlKXt2YXIgcj10LnJhdygpLnRvU3RyaW5nKCk7aWYoImdlbnRpbWUiPT09ZSl2YXIgbj0wfHIuc2xpY2UoMCw0KSxpPTB8ci5zbGljZSg0LDYpLG89MHxyLnNsaWNlKDYsOCksYT0wfHIuc2xpY2UoOCwxMCkscz0wfHIuc2xpY2UoMTAsMTIpLHU9MHxyLnNsaWNlKDEyLDE0KTtlbHNle2lmKCJ1dGN0aW1lIiE9PWUpcmV0dXJuIHQuZXJyb3IoIkRlY29kaW5nICIrZSsiIHRpbWUgaXMgbm90IHN1cHBvcnRlZCB5ZXQiKTtuPTB8ci5zbGljZSgwLDIpLGk9MHxyLnNsaWNlKDIsNCksbz0wfHIuc2xpY2UoNCw2KSxhPTB8ci5zbGljZSg2LDgpLHM9MHxyLnNsaWNlKDgsMTApLHU9MHxyLnNsaWNlKDEwLDEyKTtuPW48NzA/MmUzK246MTkwMCtufXJldHVybiBEYXRlLlVUQyhuLGktMSxvLGEscyx1LDApfSxmLnByb3RvdHlwZS5fZGVjb2RlTnVsbD1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbH0sZi5wcm90b3R5cGUuX2RlY29kZUJvb2w9ZnVuY3Rpb24odCl7dmFyIGU9dC5yZWFkVUludDgoKTtyZXR1cm4gdC5pc0Vycm9yKGUpP2U6MCE9PWV9LGYucHJvdG90eXBlLl9kZWNvZGVJbnQ9ZnVuY3Rpb24odCxlKXt2YXIgcj10LnJhdygpLG49bmV3IGEocik7cmV0dXJuIGUmJihuPWVbbi50b1N0cmluZygxMCldfHxuKSxufSxmLnByb3RvdHlwZS5fdXNlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHQmJih0PXQoZSkpLHQuX2dldERlY29kZXIoImRlciIpLnRyZWV9fSx7Ii4uLy4uL2FzbjEiOjEsaW5oZXJpdHM6MTAxfV0sMTA6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbj1yO24uZGVyPXQoIi4vZGVyIiksbi5wZW09dCgiLi9wZW0iKX0seyIuL2RlciI6OSwiLi9wZW0iOjExfV0sMTE6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbj10KCJpbmhlcml0cyIpLGk9dCgiYnVmZmVyIikuQnVmZmVyLG89dCgiLi9kZXIiKTtmdW5jdGlvbiBhKHQpe28uY2FsbCh0aGlzLHQpLHRoaXMuZW5jPSJwZW0ifW4oYSxvKSxlLmV4cG9ydHM9YSxhLnByb3RvdHlwZS5kZWNvZGU9ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9dC50b1N0cmluZygpLnNwbGl0KC9bXHJcbl0rL2cpLG49ZS5sYWJlbC50b1VwcGVyQ2FzZSgpLGE9L14tLS0tLShCRUdJTnxFTkQpIChbXi1dKyktLS0tLSQvLHM9LTEsdT0tMSxmPTA7ZjxyLmxlbmd0aDtmKyspe3ZhciBjPXJbZl0ubWF0Y2goYSk7aWYobnVsbCE9PWMmJmNbMl09PT1uKXtpZigtMSE9PXMpe2lmKCJFTkQiIT09Y1sxXSlicmVhazt1PWY7YnJlYWt9aWYoIkJFR0lOIiE9PWNbMV0pYnJlYWs7cz1mfX1pZigtMT09PXN8fC0xPT09dSl0aHJvdyBuZXcgRXJyb3IoIlBFTSBzZWN0aW9uIG5vdCBmb3VuZCBmb3I6ICIrbik7dmFyIGg9ci5zbGljZShzKzEsdSkuam9pbigiIik7aC5yZXBsYWNlKC9bXmEtejAtOVwrXC89XSsvZ2ksIiIpO3ZhciBkPW5ldyBpKGgsImJhc2U2NCIpO3JldHVybiBvLnByb3RvdHlwZS5kZWNvZGUuY2FsbCh0aGlzLGQsZSl9fSx7Ii4vZGVyIjo5LGJ1ZmZlcjo0Nyxpbmhlcml0czoxMDF9XSwxMjpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQoImluaGVyaXRzIiksaT10KCJidWZmZXIiKS5CdWZmZXIsbz10KCIuLi8uLi9hc24xIiksYT1vLmJhc2Uscz1vLmNvbnN0YW50cy5kZXI7ZnVuY3Rpb24gdSh0KXt0aGlzLmVuYz0iZGVyIix0aGlzLm5hbWU9dC5uYW1lLHRoaXMuZW50aXR5PXQsdGhpcy50cmVlPW5ldyBmLHRoaXMudHJlZS5faW5pdCh0LmJvZHkpfWZ1bmN0aW9uIGYodCl7YS5Ob2RlLmNhbGwodGhpcywiZGVyIix0KX1mdW5jdGlvbiBjKHQpe3JldHVybiB0PDEwPyIwIit0OnR9ZS5leHBvcnRzPXUsdS5wcm90b3R5cGUuZW5jb2RlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMudHJlZS5fZW5jb2RlKHQsZSkuam9pbigpfSxuKGYsYS5Ob2RlKSxmLnByb3RvdHlwZS5fZW5jb2RlQ29tcG9zaXRlPWZ1bmN0aW9uKHQsZSxyLG4pe3ZhciBvLGE9ZnVuY3Rpb24odCxlLHIsbil7dmFyIGk7InNlcW9mIj09PXQ/dD0ic2VxIjoic2V0b2YiPT09dCYmKHQ9InNldCIpO2lmKHMudGFnQnlOYW1lLmhhc093blByb3BlcnR5KHQpKWk9cy50YWdCeU5hbWVbdF07ZWxzZXtpZigibnVtYmVyIiE9dHlwZW9mIHR8fCgwfHQpIT09dClyZXR1cm4gbi5lcnJvcigiVW5rbm93biB0YWc6ICIrdCk7aT10fWlmKGk+PTMxKXJldHVybiBuLmVycm9yKCJNdWx0aS1vY3RldCB0YWcgZW5jb2RpbmcgdW5zdXBwb3J0ZWQiKTtlfHwoaXw9MzIpO3JldHVybiBpfD1zLnRhZ0NsYXNzQnlOYW1lW3J8fCJ1bml2ZXJzYWwiXTw8Nn0odCxlLHIsdGhpcy5yZXBvcnRlcik7aWYobi5sZW5ndGg8MTI4KXJldHVybihvPW5ldyBpKDIpKVswXT1hLG9bMV09bi5sZW5ndGgsdGhpcy5fY3JlYXRlRW5jb2RlckJ1ZmZlcihbbyxuXSk7Zm9yKHZhciB1PTEsZj1uLmxlbmd0aDtmPj0yNTY7Zj4+PTgpdSsrOyhvPW5ldyBpKDIrdSkpWzBdPWEsb1sxXT0xMjh8dTtmPTErdTtmb3IodmFyIGM9bi5sZW5ndGg7Yz4wO2YtLSxjPj49OClvW2ZdPTI1NSZjO3JldHVybiB0aGlzLl9jcmVhdGVFbmNvZGVyQnVmZmVyKFtvLG5dKX0sZi5wcm90b3R5cGUuX2VuY29kZVN0cj1mdW5jdGlvbih0LGUpe2lmKCJiaXRzdHIiPT09ZSlyZXR1cm4gdGhpcy5fY3JlYXRlRW5jb2RlckJ1ZmZlcihbMHx0LnVudXNlZCx0LmRhdGFdKTtpZigiYm1wc3RyIj09PWUpe2Zvcih2YXIgcj1uZXcgaSgyKnQubGVuZ3RoKSxuPTA7bjx0Lmxlbmd0aDtuKyspci53cml0ZVVJbnQxNkJFKHQuY2hhckNvZGVBdChuKSwyKm4pO3JldHVybiB0aGlzLl9jcmVhdGVFbmNvZGVyQnVmZmVyKHIpfXJldHVybiJudW1zdHIiPT09ZT90aGlzLl9pc051bXN0cih0KT90aGlzLl9jcmVhdGVFbmNvZGVyQnVmZmVyKHQpOnRoaXMucmVwb3J0ZXIuZXJyb3IoIkVuY29kaW5nIG9mIHN0cmluZyB0eXBlOiBudW1zdHIgc3VwcG9ydHMgb25seSBkaWdpdHMgYW5kIHNwYWNlIik6InByaW50c3RyIj09PWU/dGhpcy5faXNQcmludHN0cih0KT90aGlzLl9jcmVhdGVFbmNvZGVyQnVmZmVyKHQpOnRoaXMucmVwb3J0ZXIuZXJyb3IoIkVuY29kaW5nIG9mIHN0cmluZyB0eXBlOiBwcmludHN0ciBzdXBwb3J0cyBvbmx5IGxhdGluIHVwcGVyIGFuZCBsb3dlciBjYXNlIGxldHRlcnMsIGRpZ2l0cywgc3BhY2UsIGFwb3N0cm9waGUsIGxlZnQgYW5kIHJpZ3RoIHBhcmVudGhlc2lzLCBwbHVzIHNpZ24sIGNvbW1hLCBoeXBoZW4sIGRvdCwgc2xhc2gsIGNvbG9uLCBlcXVhbCBzaWduLCBxdWVzdGlvbiBtYXJrIik6L3N0ciQvLnRlc3QoZSk/dGhpcy5fY3JlYXRlRW5jb2RlckJ1ZmZlcih0KToib2JqRGVzYyI9PT1lP3RoaXMuX2NyZWF0ZUVuY29kZXJCdWZmZXIodCk6dGhpcy5yZXBvcnRlci5lcnJvcigiRW5jb2Rpbmcgb2Ygc3RyaW5nIHR5cGU6ICIrZSsiIHVuc3VwcG9ydGVkIil9LGYucHJvdG90eXBlLl9lbmNvZGVPYmppZD1mdW5jdGlvbih0LGUscil7aWYoInN0cmluZyI9PXR5cGVvZiB0KXtpZighZSlyZXR1cm4gdGhpcy5yZXBvcnRlci5lcnJvcigic3RyaW5nIG9iamlkIGdpdmVuLCBidXQgbm8gdmFsdWVzIG1hcCBmb3VuZCIpO2lmKCFlLmhhc093blByb3BlcnR5KHQpKXJldHVybiB0aGlzLnJlcG9ydGVyLmVycm9yKCJvYmppZCBub3QgZm91bmQgaW4gdmFsdWVzIG1hcCIpO3Q9ZVt0XS5zcGxpdCgvW1xzXC5dKy9nKTtmb3IodmFyIG49MDtuPHQubGVuZ3RoO24rKyl0W25dfD0wfWVsc2UgaWYoQXJyYXkuaXNBcnJheSh0KSl7dD10LnNsaWNlKCk7Zm9yKG49MDtuPHQubGVuZ3RoO24rKyl0W25dfD0wfWlmKCFBcnJheS5pc0FycmF5KHQpKXJldHVybiB0aGlzLnJlcG9ydGVyLmVycm9yKCJvYmppZCgpIHNob3VsZCBiZSBlaXRoZXIgYXJyYXkgb3Igc3RyaW5nLCBnb3Q6ICIrSlNPTi5zdHJpbmdpZnkodCkpO2lmKCFyKXtpZih0WzFdPj00MClyZXR1cm4gdGhpcy5yZXBvcnRlci5lcnJvcigiU2Vjb25kIG9iamlkIGlkZW50aWZpZXIgT09CIik7dC5zcGxpY2UoMCwyLDQwKnRbMF0rdFsxXSl9dmFyIG89MDtmb3Iobj0wO248dC5sZW5ndGg7bisrKXt2YXIgYT10W25dO2ZvcihvKys7YT49MTI4O2E+Pj03KW8rK312YXIgcz1uZXcgaShvKSx1PXMubGVuZ3RoLTE7Zm9yKG49dC5sZW5ndGgtMTtuPj0wO24tLSl7YT10W25dO2ZvcihzW3UtLV09MTI3JmE7KGE+Pj03KT4wOylzW3UtLV09MTI4fDEyNyZhfXJldHVybiB0aGlzLl9jcmVhdGVFbmNvZGVyQnVmZmVyKHMpfSxmLnByb3RvdHlwZS5fZW5jb2RlVGltZT1mdW5jdGlvbih0LGUpe3ZhciByLG49bmV3IERhdGUodCk7cmV0dXJuImdlbnRpbWUiPT09ZT9yPVtjKG4uZ2V0RnVsbFllYXIoKSksYyhuLmdldFVUQ01vbnRoKCkrMSksYyhuLmdldFVUQ0RhdGUoKSksYyhuLmdldFVUQ0hvdXJzKCkpLGMobi5nZXRVVENNaW51dGVzKCkpLGMobi5nZXRVVENTZWNvbmRzKCkpLCJaIl0uam9pbigiIik6InV0Y3RpbWUiPT09ZT9yPVtjKG4uZ2V0RnVsbFllYXIoKSUxMDApLGMobi5nZXRVVENNb250aCgpKzEpLGMobi5nZXRVVENEYXRlKCkpLGMobi5nZXRVVENIb3VycygpKSxjKG4uZ2V0VVRDTWludXRlcygpKSxjKG4uZ2V0VVRDU2Vjb25kcygpKSwiWiJdLmpvaW4oIiIpOnRoaXMucmVwb3J0ZXIuZXJyb3IoIkVuY29kaW5nICIrZSsiIHRpbWUgaXMgbm90IHN1cHBvcnRlZCB5ZXQiKSx0aGlzLl9lbmNvZGVTdHIociwib2N0c3RyIil9LGYucHJvdG90eXBlLl9lbmNvZGVOdWxsPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2NyZWF0ZUVuY29kZXJCdWZmZXIoIiIpfSxmLnByb3RvdHlwZS5fZW5jb2RlSW50PWZ1bmN0aW9uKHQsZSl7aWYoInN0cmluZyI9PXR5cGVvZiB0KXtpZighZSlyZXR1cm4gdGhpcy5yZXBvcnRlci5lcnJvcigiU3RyaW5nIGludCBvciBlbnVtIGdpdmVuLCBidXQgbm8gdmFsdWVzIG1hcCIpO2lmKCFlLmhhc093blByb3BlcnR5KHQpKXJldHVybiB0aGlzLnJlcG9ydGVyLmVycm9yKCJWYWx1ZXMgbWFwIGRvZXNuJ3QgY29udGFpbjogIitKU09OLnN0cmluZ2lmeSh0KSk7dD1lW3RdfWlmKCJudW1iZXIiIT10eXBlb2YgdCYmIWkuaXNCdWZmZXIodCkpe3ZhciByPXQudG9BcnJheSgpOyF0LnNpZ24mJjEyOCZyWzBdJiZyLnVuc2hpZnQoMCksdD1uZXcgaShyKX1pZihpLmlzQnVmZmVyKHQpKXt2YXIgbj10Lmxlbmd0aDswPT09dC5sZW5ndGgmJm4rKzt2YXIgbz1uZXcgaShuKTtyZXR1cm4gdC5jb3B5KG8pLDA9PT10Lmxlbmd0aCYmKG9bMF09MCksdGhpcy5fY3JlYXRlRW5jb2RlckJ1ZmZlcihvKX1pZih0PDEyOClyZXR1cm4gdGhpcy5fY3JlYXRlRW5jb2RlckJ1ZmZlcih0KTtpZih0PDI1NilyZXR1cm4gdGhpcy5fY3JlYXRlRW5jb2RlckJ1ZmZlcihbMCx0XSk7bj0xO2Zvcih2YXIgYT10O2E+PTI1NjthPj49OCluKys7Zm9yKGE9KG89bmV3IEFycmF5KG4pKS5sZW5ndGgtMTthPj0wO2EtLSlvW2FdPTI1NSZ0LHQ+Pj04O3JldHVybiAxMjgmb1swXSYmby51bnNoaWZ0KDApLHRoaXMuX2NyZWF0ZUVuY29kZXJCdWZmZXIobmV3IGkobykpfSxmLnByb3RvdHlwZS5fZW5jb2RlQm9vbD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fY3JlYXRlRW5jb2RlckJ1ZmZlcih0PzI1NTowKX0sZi5wcm90b3R5cGUuX3VzZT1mdW5jdGlvbih0LGUpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiB0JiYodD10KGUpKSx0Ll9nZXRFbmNvZGVyKCJkZXIiKS50cmVlfSxmLnByb3RvdHlwZS5fc2tpcERlZmF1bHQ9ZnVuY3Rpb24odCxlLHIpe3ZhciBuLGk9dGhpcy5fYmFzZVN0YXRlO2lmKG51bGw9PT1pLmRlZmF1bHQpcmV0dXJuITE7dmFyIG89dC5qb2luKCk7aWYodm9pZCAwPT09aS5kZWZhdWx0QnVmZmVyJiYoaS5kZWZhdWx0QnVmZmVyPXRoaXMuX2VuY29kZVZhbHVlKGkuZGVmYXVsdCxlLHIpLmpvaW4oKSksby5sZW5ndGghPT1pLmRlZmF1bHRCdWZmZXIubGVuZ3RoKXJldHVybiExO2ZvcihuPTA7bjxvLmxlbmd0aDtuKyspaWYob1tuXSE9PWkuZGVmYXVsdEJ1ZmZlcltuXSlyZXR1cm4hMTtyZXR1cm4hMH19LHsiLi4vLi4vYXNuMSI6MSxidWZmZXI6NDcsaW5oZXJpdHM6MTAxfV0sMTM6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbj1yO24uZGVyPXQoIi4vZGVyIiksbi5wZW09dCgiLi9wZW0iKX0seyIuL2RlciI6MTIsIi4vcGVtIjoxNH1dLDE0OltmdW5jdGlvbih0LGUscil7dmFyIG49dCgiaW5oZXJpdHMiKSxpPXQoIi4vZGVyIik7ZnVuY3Rpb24gbyh0KXtpLmNhbGwodGhpcyx0KSx0aGlzLmVuYz0icGVtIn1uKG8saSksZS5leHBvcnRzPW8sby5wcm90b3R5cGUuZW5jb2RlPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPWkucHJvdG90eXBlLmVuY29kZS5jYWxsKHRoaXMsdCkudG9TdHJpbmcoImJhc2U2NCIpLG49WyItLS0tLUJFR0lOICIrZS5sYWJlbCsiLS0tLS0iXSxvPTA7bzxyLmxlbmd0aDtvKz02NCluLnB1c2goci5zbGljZShvLG8rNjQpKTtyZXR1cm4gbi5wdXNoKCItLS0tLUVORCAiK2UubGFiZWwrIi0tLS0tIiksbi5qb2luKCJcbiIpfX0seyIuL2RlciI6MTIsaW5oZXJpdHM6MTAxfV0sMTU6W2Z1bmN0aW9uKHQsZSxyKXtyLmJ5dGVMZW5ndGg9ZnVuY3Rpb24odCl7cmV0dXJuIDMqdC5sZW5ndGgvNC1mKHQpfSxyLnRvQnl0ZUFycmF5PWZ1bmN0aW9uKHQpe3ZhciBlLHIsbixhLHMsdT10Lmxlbmd0aDthPWYodCkscz1uZXcgbygzKnUvNC1hKSxyPWE+MD91LTQ6dTt2YXIgYz0wO2ZvcihlPTA7ZTxyO2UrPTQpbj1pW3QuY2hhckNvZGVBdChlKV08PDE4fGlbdC5jaGFyQ29kZUF0KGUrMSldPDwxMnxpW3QuY2hhckNvZGVBdChlKzIpXTw8NnxpW3QuY2hhckNvZGVBdChlKzMpXSxzW2MrK109bj4+MTYmMjU1LHNbYysrXT1uPj44JjI1NSxzW2MrK109MjU1Jm47Mj09PWE/KG49aVt0LmNoYXJDb2RlQXQoZSldPDwyfGlbdC5jaGFyQ29kZUF0KGUrMSldPj40LHNbYysrXT0yNTUmbik6MT09PWEmJihuPWlbdC5jaGFyQ29kZUF0KGUpXTw8MTB8aVt0LmNoYXJDb2RlQXQoZSsxKV08PDR8aVt0LmNoYXJDb2RlQXQoZSsyKV0+PjIsc1tjKytdPW4+PjgmMjU1LHNbYysrXT0yNTUmbik7cmV0dXJuIHN9LHIuZnJvbUJ5dGVBcnJheT1mdW5jdGlvbih0KXtmb3IodmFyIGUscj10Lmxlbmd0aCxpPXIlMyxvPSIiLGE9W10scz0wLHU9ci1pO3M8dTtzKz0xNjM4MylhLnB1c2goYyh0LHMscysxNjM4Mz51P3U6cysxNjM4MykpOzE9PT1pPyhlPXRbci0xXSxvKz1uW2U+PjJdLG8rPW5bZTw8NCY2M10sbys9Ij09Iik6Mj09PWkmJihlPSh0W3ItMl08PDgpK3Rbci0xXSxvKz1uW2U+PjEwXSxvKz1uW2U+PjQmNjNdLG8rPW5bZTw8MiY2M10sbys9Ij0iKTtyZXR1cm4gYS5wdXNoKG8pLGEuam9pbigiIil9O2Zvcih2YXIgbj1bXSxpPVtdLG89InVuZGVmaW5lZCIhPXR5cGVvZiBVaW50OEFycmF5P1VpbnQ4QXJyYXk6QXJyYXksYT0iQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLyIscz0wLHU9YS5sZW5ndGg7czx1OysrcyluW3NdPWFbc10saVthLmNoYXJDb2RlQXQocyldPXM7ZnVuY3Rpb24gZih0KXt2YXIgZT10Lmxlbmd0aDtpZihlJTQ+MCl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgc3RyaW5nLiBMZW5ndGggbXVzdCBiZSBhIG11bHRpcGxlIG9mIDQiKTtyZXR1cm4iPSI9PT10W2UtMl0/MjoiPSI9PT10W2UtMV0/MTowfWZ1bmN0aW9uIGModCxlLHIpe2Zvcih2YXIgaSxvLGE9W10scz1lO3M8cjtzKz0zKWk9KHRbc108PDE2KSsodFtzKzFdPDw4KSt0W3MrMl0sYS5wdXNoKG5bKG89aSk+PjE4JjYzXStuW28+PjEyJjYzXStuW28+PjYmNjNdK25bNjMmb10pO3JldHVybiBhLmpvaW4oIiIpfWlbIi0iLmNoYXJDb2RlQXQoMCldPTYyLGlbIl8iLmNoYXJDb2RlQXQoMCldPTYzfSx7fV0sMTY6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbjtmdW5jdGlvbiBpKHQpe3RoaXMucmFuZD10fWlmKGUuZXhwb3J0cz1mdW5jdGlvbih0KXtyZXR1cm4gbnx8KG49bmV3IGkobnVsbCkpLG4uZ2VuZXJhdGUodCl9LGUuZXhwb3J0cy5SYW5kPWksaS5wcm90b3R5cGUuZ2VuZXJhdGU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX3JhbmQodCl9LGkucHJvdG90eXBlLl9yYW5kPWZ1bmN0aW9uKHQpe2lmKHRoaXMucmFuZC5nZXRCeXRlcylyZXR1cm4gdGhpcy5yYW5kLmdldEJ5dGVzKHQpO2Zvcih2YXIgZT1uZXcgVWludDhBcnJheSh0KSxyPTA7cjxlLmxlbmd0aDtyKyspZVtyXT10aGlzLnJhbmQuZ2V0Qnl0ZSgpO3JldHVybiBlfSwib2JqZWN0Ij09PSgidW5kZWZpbmVkIj09dHlwZW9mIHNlbGY/InVuZGVmaW5lZCI6X3R5cGVvZihzZWxmKSkpc2VsZi5jcnlwdG8mJnNlbGYuY3J5cHRvLmdldFJhbmRvbVZhbHVlcz9pLnByb3RvdHlwZS5fcmFuZD1mdW5jdGlvbih0KXt2YXIgZT1uZXcgVWludDhBcnJheSh0KTtyZXR1cm4gc2VsZi5jcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKGUpLGV9OnNlbGYubXNDcnlwdG8mJnNlbGYubXNDcnlwdG8uZ2V0UmFuZG9tVmFsdWVzP2kucHJvdG90eXBlLl9yYW5kPWZ1bmN0aW9uKHQpe3ZhciBlPW5ldyBVaW50OEFycmF5KHQpO3JldHVybiBzZWxmLm1zQ3J5cHRvLmdldFJhbmRvbVZhbHVlcyhlKSxlfToib2JqZWN0Ij09PSgidW5kZWZpbmVkIj09dHlwZW9mIHdpbmRvdz8idW5kZWZpbmVkIjpfdHlwZW9mKHdpbmRvdykpJiYoaS5wcm90b3R5cGUuX3JhbmQ9ZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoIk5vdCBpbXBsZW1lbnRlZCB5ZXQiKX0pO2Vsc2UgdHJ5e3ZhciBvPXQoImNyeXB0byIpO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBvLnJhbmRvbUJ5dGVzKXRocm93IG5ldyBFcnJvcigiTm90IHN1cHBvcnRlZCIpO2kucHJvdG90eXBlLl9yYW5kPWZ1bmN0aW9uKHQpe3JldHVybiBvLnJhbmRvbUJ5dGVzKHQpfX1jYXRjaCh0KXt9fSx7Y3J5cHRvOjE3fV0sMTc6W2Z1bmN0aW9uKHQsZSxyKXt9LHt9XSwxODpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQoInNhZmUtYnVmZmVyIikuQnVmZmVyO2Z1bmN0aW9uIGkodCl7bi5pc0J1ZmZlcih0KXx8KHQ9bi5mcm9tKHQpKTtmb3IodmFyIGU9dC5sZW5ndGgvNHwwLHI9bmV3IEFycmF5KGUpLGk9MDtpPGU7aSsrKXJbaV09dC5yZWFkVUludDMyQkUoNCppKTtyZXR1cm4gcn1mdW5jdGlvbiBvKHQpe2Zvcig7MDx0Lmxlbmd0aDt0KyspdFswXT0wfWZ1bmN0aW9uIGEodCxlLHIsbixpKXtmb3IodmFyIG8sYSxzLHUsZj1yWzBdLGM9clsxXSxoPXJbMl0sZD1yWzNdLGw9dFswXV5lWzBdLHA9dFsxXV5lWzFdLGI9dFsyXV5lWzJdLG09dFszXV5lWzNdLHk9NCx2PTE7djxpO3YrKylvPWZbbD4+PjI0XV5jW3A+Pj4xNiYyNTVdXmhbYj4+PjgmMjU1XV5kWzI1NSZtXV5lW3krK10sYT1mW3A+Pj4yNF1eY1tiPj4+MTYmMjU1XV5oW20+Pj44JjI1NV1eZFsyNTUmbF1eZVt5KytdLHM9ZltiPj4+MjRdXmNbbT4+PjE2JjI1NV1eaFtsPj4+OCYyNTVdXmRbMjU1JnBdXmVbeSsrXSx1PWZbbT4+PjI0XV5jW2w+Pj4xNiYyNTVdXmhbcD4+PjgmMjU1XV5kWzI1NSZiXV5lW3krK10sbD1vLHA9YSxiPXMsbT11O3JldHVybiBvPShuW2w+Pj4yNF08PDI0fG5bcD4+PjE2JjI1NV08PDE2fG5bYj4+PjgmMjU1XTw8OHxuWzI1NSZtXSleZVt5KytdLGE9KG5bcD4+PjI0XTw8MjR8bltiPj4+MTYmMjU1XTw8MTZ8blttPj4+OCYyNTVdPDw4fG5bMjU1JmxdKV5lW3krK10scz0obltiPj4+MjRdPDwyNHxuW20+Pj4xNiYyNTVdPDwxNnxuW2w+Pj44JjI1NV08PDh8blsyNTUmcF0pXmVbeSsrXSx1PShuW20+Pj4yNF08PDI0fG5bbD4+PjE2JjI1NV08PDE2fG5bcD4+PjgmMjU1XTw8OHxuWzI1NSZiXSleZVt5KytdLFtvPj4+PTAsYT4+Pj0wLHM+Pj49MCx1Pj4+PTBdfXZhciBzPVswLDEsMiw0LDgsMTYsMzIsNjQsMTI4LDI3LDU0XSx1PWZ1bmN0aW9uKCl7Zm9yKHZhciB0PW5ldyBBcnJheSgyNTYpLGU9MDtlPDI1NjtlKyspdFtlXT1lPDEyOD9lPDwxOmU8PDFeMjgzO2Zvcih2YXIgcj1bXSxuPVtdLGk9W1tdLFtdLFtdLFtdXSxvPVtbXSxbXSxbXSxbXV0sYT0wLHM9MCx1PTA7dTwyNTY7Kyt1KXt2YXIgZj1zXnM8PDFeczw8Ml5zPDwzXnM8PDQ7Zj1mPj4+OF4yNTUmZl45OSxyW2FdPWYsbltmXT1hO3ZhciBjPXRbYV0saD10W2NdLGQ9dFtoXSxsPTI1Nyp0W2ZdXjE2ODQzMDA4KmY7aVswXVthXT1sPDwyNHxsPj4+OCxpWzFdW2FdPWw8PDE2fGw+Pj4xNixpWzJdW2FdPWw8PDh8bD4+PjI0LGlbM11bYV09bCxsPTE2ODQzMDA5KmReNjU1MzcqaF4yNTcqY14xNjg0MzAwOCphLG9bMF1bZl09bDw8MjR8bD4+Pjgsb1sxXVtmXT1sPDwxNnxsPj4+MTYsb1syXVtmXT1sPDw4fGw+Pj4yNCxvWzNdW2ZdPWwsMD09PWE/YT1zPTE6KGE9Y150W3RbdFtkXmNdXV0sc149dFt0W3NdXSl9cmV0dXJue1NCT1g6cixJTlZfU0JPWDpuLFNVQl9NSVg6aSxJTlZfU1VCX01JWDpvfX0oKTtmdW5jdGlvbiBmKHQpe3RoaXMuX2tleT1pKHQpLHRoaXMuX3Jlc2V0KCl9Zi5ibG9ja1NpemU9MTYsZi5rZXlTaXplPTMyLGYucHJvdG90eXBlLmJsb2NrU2l6ZT1mLmJsb2NrU2l6ZSxmLnByb3RvdHlwZS5rZXlTaXplPWYua2V5U2l6ZSxmLnByb3RvdHlwZS5fcmVzZXQ9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9dGhpcy5fa2V5LGU9dC5sZW5ndGgscj1lKzYsbj00KihyKzEpLGk9W10sbz0wO288ZTtvKyspaVtvXT10W29dO2ZvcihvPWU7bzxuO28rKyl7dmFyIGE9aVtvLTFdO28lZT09MD8oYT1hPDw4fGE+Pj4yNCxhPXUuU0JPWFthPj4+MjRdPDwyNHx1LlNCT1hbYT4+PjE2JjI1NV08PDE2fHUuU0JPWFthPj4+OCYyNTVdPDw4fHUuU0JPWFsyNTUmYV0sYV49c1tvL2V8MF08PDI0KTplPjYmJm8lZT09NCYmKGE9dS5TQk9YW2E+Pj4yNF08PDI0fHUuU0JPWFthPj4+MTYmMjU1XTw8MTZ8dS5TQk9YW2E+Pj44JjI1NV08PDh8dS5TQk9YWzI1NSZhXSksaVtvXT1pW28tZV1eYX1mb3IodmFyIGY9W10sYz0wO2M8bjtjKyspe3ZhciBoPW4tYyxkPWlbaC0oYyU0PzA6NCldO2ZbY109Yzw0fHxoPD00P2Q6dS5JTlZfU1VCX01JWFswXVt1LlNCT1hbZD4+PjI0XV1edS5JTlZfU1VCX01JWFsxXVt1LlNCT1hbZD4+PjE2JjI1NV1dXnUuSU5WX1NVQl9NSVhbMl1bdS5TQk9YW2Q+Pj44JjI1NV1dXnUuSU5WX1NVQl9NSVhbM11bdS5TQk9YWzI1NSZkXV19dGhpcy5fblJvdW5kcz1yLHRoaXMuX2tleVNjaGVkdWxlPWksdGhpcy5faW52S2V5U2NoZWR1bGU9Zn0sZi5wcm90b3R5cGUuZW5jcnlwdEJsb2NrUmF3PWZ1bmN0aW9uKHQpe3JldHVybiBhKHQ9aSh0KSx0aGlzLl9rZXlTY2hlZHVsZSx1LlNVQl9NSVgsdS5TQk9YLHRoaXMuX25Sb3VuZHMpfSxmLnByb3RvdHlwZS5lbmNyeXB0QmxvY2s9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5lbmNyeXB0QmxvY2tSYXcodCkscj1uLmFsbG9jVW5zYWZlKDE2KTtyZXR1cm4gci53cml0ZVVJbnQzMkJFKGVbMF0sMCksci53cml0ZVVJbnQzMkJFKGVbMV0sNCksci53cml0ZVVJbnQzMkJFKGVbMl0sOCksci53cml0ZVVJbnQzMkJFKGVbM10sMTIpLHJ9LGYucHJvdG90eXBlLmRlY3J5cHRCbG9jaz1mdW5jdGlvbih0KXt2YXIgZT0odD1pKHQpKVsxXTt0WzFdPXRbM10sdFszXT1lO3ZhciByPWEodCx0aGlzLl9pbnZLZXlTY2hlZHVsZSx1LklOVl9TVUJfTUlYLHUuSU5WX1NCT1gsdGhpcy5fblJvdW5kcyksbz1uLmFsbG9jVW5zYWZlKDE2KTtyZXR1cm4gby53cml0ZVVJbnQzMkJFKHJbMF0sMCksby53cml0ZVVJbnQzMkJFKHJbM10sNCksby53cml0ZVVJbnQzMkJFKHJbMl0sOCksby53cml0ZVVJbnQzMkJFKHJbMV0sMTIpLG99LGYucHJvdG90eXBlLnNjcnViPWZ1bmN0aW9uKCl7byh0aGlzLl9rZXlTY2hlZHVsZSksbyh0aGlzLl9pbnZLZXlTY2hlZHVsZSksbyh0aGlzLl9rZXkpfSxlLmV4cG9ydHMuQUVTPWZ9LHsic2FmZS1idWZmZXIiOjE0N31dLDE5OltmdW5jdGlvbih0LGUscil7dmFyIG49dCgiLi9hZXMiKSxpPXQoInNhZmUtYnVmZmVyIikuQnVmZmVyLG89dCgiY2lwaGVyLWJhc2UiKSxhPXQoImluaGVyaXRzIikscz10KCIuL2doYXNoIiksdT10KCJidWZmZXIteG9yIiksZj10KCIuL2luY3IzMiIpO2Z1bmN0aW9uIGModCxlLHIsYSl7by5jYWxsKHRoaXMpO3ZhciB1PWkuYWxsb2MoNCwwKTt0aGlzLl9jaXBoZXI9bmV3IG4uQUVTKGUpO3ZhciBjPXRoaXMuX2NpcGhlci5lbmNyeXB0QmxvY2sodSk7dGhpcy5fZ2hhc2g9bmV3IHMoYykscj1mdW5jdGlvbih0LGUscil7aWYoMTI9PT1lLmxlbmd0aClyZXR1cm4gdC5fZmluSUQ9aS5jb25jYXQoW2UsaS5mcm9tKFswLDAsMCwxXSldKSxpLmNvbmNhdChbZSxpLmZyb20oWzAsMCwwLDJdKV0pO3ZhciBuPW5ldyBzKHIpLG89ZS5sZW5ndGgsYT1vJTE2O24udXBkYXRlKGUpLGEmJihhPTE2LWEsbi51cGRhdGUoaS5hbGxvYyhhLDApKSksbi51cGRhdGUoaS5hbGxvYyg4LDApKTt2YXIgdT04Km8sYz1pLmFsbG9jKDgpO2Mud3JpdGVVSW50QkUodSwwLDgpLG4udXBkYXRlKGMpLHQuX2ZpbklEPW4uc3RhdGU7dmFyIGg9aS5mcm9tKHQuX2ZpbklEKTtyZXR1cm4gZihoKSxofSh0aGlzLHIsYyksdGhpcy5fcHJldj1pLmZyb20ociksdGhpcy5fY2FjaGU9aS5hbGxvY1Vuc2FmZSgwKSx0aGlzLl9zZWNDYWNoZT1pLmFsbG9jVW5zYWZlKDApLHRoaXMuX2RlY3J5cHQ9YSx0aGlzLl9hbGVuPTAsdGhpcy5fbGVuPTAsdGhpcy5fbW9kZT10LHRoaXMuX2F1dGhUYWc9bnVsbCx0aGlzLl9jYWxsZWQ9ITF9YShjLG8pLGMucHJvdG90eXBlLl91cGRhdGU9ZnVuY3Rpb24odCl7aWYoIXRoaXMuX2NhbGxlZCYmdGhpcy5fYWxlbil7dmFyIGU9MTYtdGhpcy5fYWxlbiUxNjtlPDE2JiYoZT1pLmFsbG9jKGUsMCksdGhpcy5fZ2hhc2gudXBkYXRlKGUpKX10aGlzLl9jYWxsZWQ9ITA7dmFyIHI9dGhpcy5fbW9kZS5lbmNyeXB0KHRoaXMsdCk7cmV0dXJuIHRoaXMuX2RlY3J5cHQ/dGhpcy5fZ2hhc2gudXBkYXRlKHQpOnRoaXMuX2doYXNoLnVwZGF0ZShyKSx0aGlzLl9sZW4rPXQubGVuZ3RoLHJ9LGMucHJvdG90eXBlLl9maW5hbD1mdW5jdGlvbigpe2lmKHRoaXMuX2RlY3J5cHQmJiF0aGlzLl9hdXRoVGFnKXRocm93IG5ldyBFcnJvcigiVW5zdXBwb3J0ZWQgc3RhdGUgb3IgdW5hYmxlIHRvIGF1dGhlbnRpY2F0ZSBkYXRhIik7dmFyIHQ9dSh0aGlzLl9naGFzaC5maW5hbCg4KnRoaXMuX2FsZW4sOCp0aGlzLl9sZW4pLHRoaXMuX2NpcGhlci5lbmNyeXB0QmxvY2sodGhpcy5fZmluSUQpKTtpZih0aGlzLl9kZWNyeXB0JiZmdW5jdGlvbih0LGUpe3ZhciByPTA7dC5sZW5ndGghPT1lLmxlbmd0aCYmcisrO2Zvcih2YXIgbj1NYXRoLm1pbih0Lmxlbmd0aCxlLmxlbmd0aCksaT0wO2k8bjsrK2kpcis9dFtpXV5lW2ldO3JldHVybiByfSh0LHRoaXMuX2F1dGhUYWcpKXRocm93IG5ldyBFcnJvcigiVW5zdXBwb3J0ZWQgc3RhdGUgb3IgdW5hYmxlIHRvIGF1dGhlbnRpY2F0ZSBkYXRhIik7dGhpcy5fYXV0aFRhZz10LHRoaXMuX2NpcGhlci5zY3J1YigpfSxjLnByb3RvdHlwZS5nZXRBdXRoVGFnPWZ1bmN0aW9uKCl7aWYodGhpcy5fZGVjcnlwdHx8IWkuaXNCdWZmZXIodGhpcy5fYXV0aFRhZykpdGhyb3cgbmV3IEVycm9yKCJBdHRlbXB0aW5nIHRvIGdldCBhdXRoIHRhZyBpbiB1bnN1cHBvcnRlZCBzdGF0ZSIpO3JldHVybiB0aGlzLl9hdXRoVGFnfSxjLnByb3RvdHlwZS5zZXRBdXRoVGFnPWZ1bmN0aW9uKHQpe2lmKCF0aGlzLl9kZWNyeXB0KXRocm93IG5ldyBFcnJvcigiQXR0ZW1wdGluZyB0byBzZXQgYXV0aCB0YWcgaW4gdW5zdXBwb3J0ZWQgc3RhdGUiKTt0aGlzLl9hdXRoVGFnPXR9LGMucHJvdG90eXBlLnNldEFBRD1mdW5jdGlvbih0KXtpZih0aGlzLl9jYWxsZWQpdGhyb3cgbmV3IEVycm9yKCJBdHRlbXB0aW5nIHRvIHNldCBBQUQgaW4gdW5zdXBwb3J0ZWQgc3RhdGUiKTt0aGlzLl9naGFzaC51cGRhdGUodCksdGhpcy5fYWxlbis9dC5sZW5ndGh9LGUuZXhwb3J0cz1jfSx7Ii4vYWVzIjoxOCwiLi9naGFzaCI6MjMsIi4vaW5jcjMyIjoyNCwiYnVmZmVyLXhvciI6NDYsImNpcGhlci1iYXNlIjo0OCxpbmhlcml0czoxMDEsInNhZmUtYnVmZmVyIjoxNDd9XSwyMDpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQoIi4vZW5jcnlwdGVyIiksaT10KCIuL2RlY3J5cHRlciIpLG89dCgiLi9tb2Rlcy9saXN0Lmpzb24iKTtyLmNyZWF0ZUNpcGhlcj1yLkNpcGhlcj1uLmNyZWF0ZUNpcGhlcixyLmNyZWF0ZUNpcGhlcml2PXIuQ2lwaGVyaXY9bi5jcmVhdGVDaXBoZXJpdixyLmNyZWF0ZURlY2lwaGVyPXIuRGVjaXBoZXI9aS5jcmVhdGVEZWNpcGhlcixyLmNyZWF0ZURlY2lwaGVyaXY9ci5EZWNpcGhlcml2PWkuY3JlYXRlRGVjaXBoZXJpdixyLmxpc3RDaXBoZXJzPXIuZ2V0Q2lwaGVycz1mdW5jdGlvbigpe3JldHVybiBPYmplY3Qua2V5cyhvKX19LHsiLi9kZWNyeXB0ZXIiOjIxLCIuL2VuY3J5cHRlciI6MjIsIi4vbW9kZXMvbGlzdC5qc29uIjozMn1dLDIxOltmdW5jdGlvbih0LGUscil7dmFyIG49dCgiLi9hdXRoQ2lwaGVyIiksaT10KCJzYWZlLWJ1ZmZlciIpLkJ1ZmZlcixvPXQoIi4vbW9kZXMiKSxhPXQoIi4vc3RyZWFtQ2lwaGVyIikscz10KCJjaXBoZXItYmFzZSIpLHU9dCgiLi9hZXMiKSxmPXQoImV2cF9ieXRlc3Rva2V5Iik7ZnVuY3Rpb24gYyh0LGUscil7cy5jYWxsKHRoaXMpLHRoaXMuX2NhY2hlPW5ldyBoLHRoaXMuX2xhc3Q9dm9pZCAwLHRoaXMuX2NpcGhlcj1uZXcgdS5BRVMoZSksdGhpcy5fcHJldj1pLmZyb20ociksdGhpcy5fbW9kZT10LHRoaXMuX2F1dG9wYWRkaW5nPSEwfWZ1bmN0aW9uIGgoKXt0aGlzLmNhY2hlPWkuYWxsb2NVbnNhZmUoMCl9ZnVuY3Rpb24gZCh0LGUscil7dmFyIHM9b1t0LnRvTG93ZXJDYXNlKCldO2lmKCFzKXRocm93IG5ldyBUeXBlRXJyb3IoImludmFsaWQgc3VpdGUgdHlwZSIpO2lmKCJzdHJpbmciPT10eXBlb2YgciYmKHI9aS5mcm9tKHIpKSwiR0NNIiE9PXMubW9kZSYmci5sZW5ndGghPT1zLml2KXRocm93IG5ldyBUeXBlRXJyb3IoImludmFsaWQgaXYgbGVuZ3RoICIrci5sZW5ndGgpO2lmKCJzdHJpbmciPT10eXBlb2YgZSYmKGU9aS5mcm9tKGUpKSxlLmxlbmd0aCE9PXMua2V5LzgpdGhyb3cgbmV3IFR5cGVFcnJvcigiaW52YWxpZCBrZXkgbGVuZ3RoICIrZS5sZW5ndGgpO3JldHVybiJzdHJlYW0iPT09cy50eXBlP25ldyBhKHMubW9kdWxlLGUsciwhMCk6ImF1dGgiPT09cy50eXBlP25ldyBuKHMubW9kdWxlLGUsciwhMCk6bmV3IGMocy5tb2R1bGUsZSxyKX10KCJpbmhlcml0cyIpKGMscyksYy5wcm90b3R5cGUuX3VwZGF0ZT1mdW5jdGlvbih0KXt2YXIgZSxyO3RoaXMuX2NhY2hlLmFkZCh0KTtmb3IodmFyIG49W107ZT10aGlzLl9jYWNoZS5nZXQodGhpcy5fYXV0b3BhZGRpbmcpOylyPXRoaXMuX21vZGUuZGVjcnlwdCh0aGlzLGUpLG4ucHVzaChyKTtyZXR1cm4gaS5jb25jYXQobil9LGMucHJvdG90eXBlLl9maW5hbD1mdW5jdGlvbigpe3ZhciB0PXRoaXMuX2NhY2hlLmZsdXNoKCk7aWYodGhpcy5fYXV0b3BhZGRpbmcpcmV0dXJuIGZ1bmN0aW9uKHQpe3ZhciBlPXRbMTVdLHI9LTE7Zm9yKDsrK3I8ZTspaWYodFtyKygxNi1lKV0hPT1lKXRocm93IG5ldyBFcnJvcigidW5hYmxlIHRvIGRlY3J5cHQgZGF0YSIpO2lmKDE2PT09ZSlyZXR1cm47cmV0dXJuIHQuc2xpY2UoMCwxNi1lKX0odGhpcy5fbW9kZS5kZWNyeXB0KHRoaXMsdCkpO2lmKHQpdGhyb3cgbmV3IEVycm9yKCJkYXRhIG5vdCBtdWx0aXBsZSBvZiBibG9jayBsZW5ndGgiKX0sYy5wcm90b3R5cGUuc2V0QXV0b1BhZGRpbmc9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX2F1dG9wYWRkaW5nPSEhdCx0aGlzfSxoLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24odCl7dGhpcy5jYWNoZT1pLmNvbmNhdChbdGhpcy5jYWNoZSx0XSl9LGgucHJvdG90eXBlLmdldD1mdW5jdGlvbih0KXt2YXIgZTtpZih0KXtpZih0aGlzLmNhY2hlLmxlbmd0aD4xNilyZXR1cm4gZT10aGlzLmNhY2hlLnNsaWNlKDAsMTYpLHRoaXMuY2FjaGU9dGhpcy5jYWNoZS5zbGljZSgxNiksZX1lbHNlIGlmKHRoaXMuY2FjaGUubGVuZ3RoPj0xNilyZXR1cm4gZT10aGlzLmNhY2hlLnNsaWNlKDAsMTYpLHRoaXMuY2FjaGU9dGhpcy5jYWNoZS5zbGljZSgxNiksZTtyZXR1cm4gbnVsbH0saC5wcm90b3R5cGUuZmx1c2g9ZnVuY3Rpb24oKXtpZih0aGlzLmNhY2hlLmxlbmd0aClyZXR1cm4gdGhpcy5jYWNoZX0sci5jcmVhdGVEZWNpcGhlcj1mdW5jdGlvbih0LGUpe3ZhciByPW9bdC50b0xvd2VyQ2FzZSgpXTtpZighcil0aHJvdyBuZXcgVHlwZUVycm9yKCJpbnZhbGlkIHN1aXRlIHR5cGUiKTt2YXIgbj1mKGUsITEsci5rZXksci5pdik7cmV0dXJuIGQodCxuLmtleSxuLml2KX0sci5jcmVhdGVEZWNpcGhlcml2PWR9LHsiLi9hZXMiOjE4LCIuL2F1dGhDaXBoZXIiOjE5LCIuL21vZGVzIjozMSwiLi9zdHJlYW1DaXBoZXIiOjM0LCJjaXBoZXItYmFzZSI6NDgsZXZwX2J5dGVzdG9rZXk6ODQsaW5oZXJpdHM6MTAxLCJzYWZlLWJ1ZmZlciI6MTQ3fV0sMjI6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbj10KCIuL21vZGVzIiksaT10KCIuL2F1dGhDaXBoZXIiKSxvPXQoInNhZmUtYnVmZmVyIikuQnVmZmVyLGE9dCgiLi9zdHJlYW1DaXBoZXIiKSxzPXQoImNpcGhlci1iYXNlIiksdT10KCIuL2FlcyIpLGY9dCgiZXZwX2J5dGVzdG9rZXkiKTtmdW5jdGlvbiBjKHQsZSxyKXtzLmNhbGwodGhpcyksdGhpcy5fY2FjaGU9bmV3IGQsdGhpcy5fY2lwaGVyPW5ldyB1LkFFUyhlKSx0aGlzLl9wcmV2PW8uZnJvbShyKSx0aGlzLl9tb2RlPXQsdGhpcy5fYXV0b3BhZGRpbmc9ITB9dCgiaW5oZXJpdHMiKShjLHMpLGMucHJvdG90eXBlLl91cGRhdGU9ZnVuY3Rpb24odCl7dmFyIGUscjt0aGlzLl9jYWNoZS5hZGQodCk7Zm9yKHZhciBuPVtdO2U9dGhpcy5fY2FjaGUuZ2V0KCk7KXI9dGhpcy5fbW9kZS5lbmNyeXB0KHRoaXMsZSksbi5wdXNoKHIpO3JldHVybiBvLmNvbmNhdChuKX07dmFyIGg9by5hbGxvYygxNiwxNik7ZnVuY3Rpb24gZCgpe3RoaXMuY2FjaGU9by5hbGxvY1Vuc2FmZSgwKX1mdW5jdGlvbiBsKHQsZSxyKXt2YXIgcz1uW3QudG9Mb3dlckNhc2UoKV07aWYoIXMpdGhyb3cgbmV3IFR5cGVFcnJvcigiaW52YWxpZCBzdWl0ZSB0eXBlIik7aWYoInN0cmluZyI9PXR5cGVvZiBlJiYoZT1vLmZyb20oZSkpLGUubGVuZ3RoIT09cy5rZXkvOCl0aHJvdyBuZXcgVHlwZUVycm9yKCJpbnZhbGlkIGtleSBsZW5ndGggIitlLmxlbmd0aCk7aWYoInN0cmluZyI9PXR5cGVvZiByJiYocj1vLmZyb20ocikpLCJHQ00iIT09cy5tb2RlJiZyLmxlbmd0aCE9PXMuaXYpdGhyb3cgbmV3IFR5cGVFcnJvcigiaW52YWxpZCBpdiBsZW5ndGggIityLmxlbmd0aCk7cmV0dXJuInN0cmVhbSI9PT1zLnR5cGU/bmV3IGEocy5tb2R1bGUsZSxyKToiYXV0aCI9PT1zLnR5cGU/bmV3IGkocy5tb2R1bGUsZSxyKTpuZXcgYyhzLm1vZHVsZSxlLHIpfWMucHJvdG90eXBlLl9maW5hbD1mdW5jdGlvbigpe3ZhciB0PXRoaXMuX2NhY2hlLmZsdXNoKCk7aWYodGhpcy5fYXV0b3BhZGRpbmcpcmV0dXJuIHQ9dGhpcy5fbW9kZS5lbmNyeXB0KHRoaXMsdCksdGhpcy5fY2lwaGVyLnNjcnViKCksdDtpZighdC5lcXVhbHMoaCkpdGhyb3cgdGhpcy5fY2lwaGVyLnNjcnViKCksbmV3IEVycm9yKCJkYXRhIG5vdCBtdWx0aXBsZSBvZiBibG9jayBsZW5ndGgiKX0sYy5wcm90b3R5cGUuc2V0QXV0b1BhZGRpbmc9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX2F1dG9wYWRkaW5nPSEhdCx0aGlzfSxkLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24odCl7dGhpcy5jYWNoZT1vLmNvbmNhdChbdGhpcy5jYWNoZSx0XSl9LGQucHJvdG90eXBlLmdldD1mdW5jdGlvbigpe2lmKHRoaXMuY2FjaGUubGVuZ3RoPjE1KXt2YXIgdD10aGlzLmNhY2hlLnNsaWNlKDAsMTYpO3JldHVybiB0aGlzLmNhY2hlPXRoaXMuY2FjaGUuc2xpY2UoMTYpLHR9cmV0dXJuIG51bGx9LGQucHJvdG90eXBlLmZsdXNoPWZ1bmN0aW9uKCl7Zm9yKHZhciB0PTE2LXRoaXMuY2FjaGUubGVuZ3RoLGU9by5hbGxvY1Vuc2FmZSh0KSxyPS0xOysrcjx0OyllLndyaXRlVUludDgodCxyKTtyZXR1cm4gby5jb25jYXQoW3RoaXMuY2FjaGUsZV0pfSxyLmNyZWF0ZUNpcGhlcml2PWwsci5jcmVhdGVDaXBoZXI9ZnVuY3Rpb24odCxlKXt2YXIgcj1uW3QudG9Mb3dlckNhc2UoKV07aWYoIXIpdGhyb3cgbmV3IFR5cGVFcnJvcigiaW52YWxpZCBzdWl0ZSB0eXBlIik7dmFyIGk9ZihlLCExLHIua2V5LHIuaXYpO3JldHVybiBsKHQsaS5rZXksaS5pdil9fSx7Ii4vYWVzIjoxOCwiLi9hdXRoQ2lwaGVyIjoxOSwiLi9tb2RlcyI6MzEsIi4vc3RyZWFtQ2lwaGVyIjozNCwiY2lwaGVyLWJhc2UiOjQ4LGV2cF9ieXRlc3Rva2V5Ojg0LGluaGVyaXRzOjEwMSwic2FmZS1idWZmZXIiOjE0N31dLDIzOltmdW5jdGlvbih0LGUscil7dmFyIG49dCgic2FmZS1idWZmZXIiKS5CdWZmZXIsaT1uLmFsbG9jKDE2LDApO2Z1bmN0aW9uIG8odCl7dmFyIGU9bi5hbGxvY1Vuc2FmZSgxNik7cmV0dXJuIGUud3JpdGVVSW50MzJCRSh0WzBdPj4+MCwwKSxlLndyaXRlVUludDMyQkUodFsxXT4+PjAsNCksZS53cml0ZVVJbnQzMkJFKHRbMl0+Pj4wLDgpLGUud3JpdGVVSW50MzJCRSh0WzNdPj4+MCwxMiksZX1mdW5jdGlvbiBhKHQpe3RoaXMuaD10LHRoaXMuc3RhdGU9bi5hbGxvYygxNiwwKSx0aGlzLmNhY2hlPW4uYWxsb2NVbnNhZmUoMCl9YS5wcm90b3R5cGUuZ2hhc2g9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPS0xOysrZTx0Lmxlbmd0aDspdGhpcy5zdGF0ZVtlXV49dFtlXTt0aGlzLl9tdWx0aXBseSgpfSxhLnByb3RvdHlwZS5fbXVsdGlwbHk9ZnVuY3Rpb24oKXtmb3IodmFyIHQsZSxyLG49Wyh0PXRoaXMuaCkucmVhZFVJbnQzMkJFKDApLHQucmVhZFVJbnQzMkJFKDQpLHQucmVhZFVJbnQzMkJFKDgpLHQucmVhZFVJbnQzMkJFKDEyKV0saT1bMCwwLDAsMF0sYT0tMTsrK2E8MTI4Oyl7Zm9yKDAhPSh0aGlzLnN0YXRlW35+KGEvOCldJjE8PDctYSU4KSYmKGlbMF1ePW5bMF0saVsxXV49blsxXSxpWzJdXj1uWzJdLGlbM11ePW5bM10pLHI9MCE9KDEmblszXSksZT0zO2U+MDtlLS0pbltlXT1uW2VdPj4+MXwoMSZuW2UtMV0pPDwzMTtuWzBdPW5bMF0+Pj4xLHImJihuWzBdPW5bMF1eMjI1PDwyNCl9dGhpcy5zdGF0ZT1vKGkpfSxhLnByb3RvdHlwZS51cGRhdGU9ZnVuY3Rpb24odCl7dmFyIGU7Zm9yKHRoaXMuY2FjaGU9bi5jb25jYXQoW3RoaXMuY2FjaGUsdF0pO3RoaXMuY2FjaGUubGVuZ3RoPj0xNjspZT10aGlzLmNhY2hlLnNsaWNlKDAsMTYpLHRoaXMuY2FjaGU9dGhpcy5jYWNoZS5zbGljZSgxNiksdGhpcy5naGFzaChlKX0sYS5wcm90b3R5cGUuZmluYWw9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5jYWNoZS5sZW5ndGgmJnRoaXMuZ2hhc2gobi5jb25jYXQoW3RoaXMuY2FjaGUsaV0sMTYpKSx0aGlzLmdoYXNoKG8oWzAsdCwwLGVdKSksdGhpcy5zdGF0ZX0sZS5leHBvcnRzPWF9LHsic2FmZS1idWZmZXIiOjE0N31dLDI0OltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxyPXQubGVuZ3RoO3ItLTspe2lmKDI1NSE9PShlPXQucmVhZFVJbnQ4KHIpKSl7ZSsrLHQud3JpdGVVSW50OChlLHIpO2JyZWFrfXQud3JpdGVVSW50OCgwLHIpfX19LHt9XSwyNTpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQoImJ1ZmZlci14b3IiKTtyLmVuY3J5cHQ9ZnVuY3Rpb24odCxlKXt2YXIgcj1uKGUsdC5fcHJldik7cmV0dXJuIHQuX3ByZXY9dC5fY2lwaGVyLmVuY3J5cHRCbG9jayhyKSx0Ll9wcmV2fSxyLmRlY3J5cHQ9ZnVuY3Rpb24odCxlKXt2YXIgcj10Ll9wcmV2O3QuX3ByZXY9ZTt2YXIgaT10Ll9jaXBoZXIuZGVjcnlwdEJsb2NrKGUpO3JldHVybiBuKGkscil9fSx7ImJ1ZmZlci14b3IiOjQ2fV0sMjY6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbj10KCJzYWZlLWJ1ZmZlciIpLkJ1ZmZlcixpPXQoImJ1ZmZlci14b3IiKTtmdW5jdGlvbiBvKHQsZSxyKXt2YXIgbz1lLmxlbmd0aCxhPWkoZSx0Ll9jYWNoZSk7cmV0dXJuIHQuX2NhY2hlPXQuX2NhY2hlLnNsaWNlKG8pLHQuX3ByZXY9bi5jb25jYXQoW3QuX3ByZXYscj9lOmFdKSxhfXIuZW5jcnlwdD1mdW5jdGlvbih0LGUscil7Zm9yKHZhciBpLGE9bi5hbGxvY1Vuc2FmZSgwKTtlLmxlbmd0aDspe2lmKDA9PT10Ll9jYWNoZS5sZW5ndGgmJih0Ll9jYWNoZT10Ll9jaXBoZXIuZW5jcnlwdEJsb2NrKHQuX3ByZXYpLHQuX3ByZXY9bi5hbGxvY1Vuc2FmZSgwKSksISh0Ll9jYWNoZS5sZW5ndGg8PWUubGVuZ3RoKSl7YT1uLmNvbmNhdChbYSxvKHQsZSxyKV0pO2JyZWFrfWk9dC5fY2FjaGUubGVuZ3RoLGE9bi5jb25jYXQoW2Esbyh0LGUuc2xpY2UoMCxpKSxyKV0pLGU9ZS5zbGljZShpKX1yZXR1cm4gYX19LHsiYnVmZmVyLXhvciI6NDYsInNhZmUtYnVmZmVyIjoxNDd9XSwyNzpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQoInNhZmUtYnVmZmVyIikuQnVmZmVyO2Z1bmN0aW9uIGkodCxlLHIpe2Zvcih2YXIgbixpLGE9LTEscz0wOysrYTw4OyluPWUmMTw8Ny1hPzEyODowLHMrPSgxMjgmKGk9dC5fY2lwaGVyLmVuY3J5cHRCbG9jayh0Ll9wcmV2KVswXV5uKSk+PmElOCx0Ll9wcmV2PW8odC5fcHJldixyP246aSk7cmV0dXJuIHN9ZnVuY3Rpb24gbyh0LGUpe3ZhciByPXQubGVuZ3RoLGk9LTEsbz1uLmFsbG9jVW5zYWZlKHQubGVuZ3RoKTtmb3IodD1uLmNvbmNhdChbdCxuLmZyb20oW2VdKV0pOysraTxyOylvW2ldPXRbaV08PDF8dFtpKzFdPj43O3JldHVybiBvfXIuZW5jcnlwdD1mdW5jdGlvbih0LGUscil7Zm9yKHZhciBvPWUubGVuZ3RoLGE9bi5hbGxvY1Vuc2FmZShvKSxzPS0xOysrczxvOylhW3NdPWkodCxlW3NdLHIpO3JldHVybiBhfX0seyJzYWZlLWJ1ZmZlciI6MTQ3fV0sMjg6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbj10KCJzYWZlLWJ1ZmZlciIpLkJ1ZmZlcjtyLmVuY3J5cHQ9ZnVuY3Rpb24odCxlLHIpe2Zvcih2YXIgaSxvLGEscyx1PWUubGVuZ3RoLGY9bi5hbGxvY1Vuc2FmZSh1KSxjPS0xOysrYzx1OylmW2NdPShpPXQsbz1lW2NdLGE9cix2b2lkIDAscz1pLl9jaXBoZXIuZW5jcnlwdEJsb2NrKGkuX3ByZXYpWzBdXm8saS5fcHJldj1uLmNvbmNhdChbaS5fcHJldi5zbGljZSgxKSxuLmZyb20oW2E/bzpzXSldKSxzKTtyZXR1cm4gZn19LHsic2FmZS1idWZmZXIiOjE0N31dLDI5OltmdW5jdGlvbih0LGUscil7dmFyIG49dCgiYnVmZmVyLXhvciIpLGk9dCgic2FmZS1idWZmZXIiKS5CdWZmZXIsbz10KCIuLi9pbmNyMzIiKTtyLmVuY3J5cHQ9ZnVuY3Rpb24odCxlKXt2YXIgcixhLHM9TWF0aC5jZWlsKGUubGVuZ3RoLzE2KSx1PXQuX2NhY2hlLmxlbmd0aDt0Ll9jYWNoZT1pLmNvbmNhdChbdC5fY2FjaGUsaS5hbGxvY1Vuc2FmZSgxNipzKV0pO2Zvcih2YXIgZj0wO2Y8cztmKyspe3ZhciBjPSh2b2lkIDAsYT0ocj10KS5fY2lwaGVyLmVuY3J5cHRCbG9ja1JhdyhyLl9wcmV2KSxvKHIuX3ByZXYpLGEpLGg9dSsxNipmO3QuX2NhY2hlLndyaXRlVUludDMyQkUoY1swXSxoKzApLHQuX2NhY2hlLndyaXRlVUludDMyQkUoY1sxXSxoKzQpLHQuX2NhY2hlLndyaXRlVUludDMyQkUoY1syXSxoKzgpLHQuX2NhY2hlLndyaXRlVUludDMyQkUoY1szXSxoKzEyKX12YXIgZD10Ll9jYWNoZS5zbGljZSgwLGUubGVuZ3RoKTtyZXR1cm4gdC5fY2FjaGU9dC5fY2FjaGUuc2xpY2UoZS5sZW5ndGgpLG4oZSxkKX19LHsiLi4vaW5jcjMyIjoyNCwiYnVmZmVyLXhvciI6NDYsInNhZmUtYnVmZmVyIjoxNDd9XSwzMDpbZnVuY3Rpb24odCxlLHIpe3IuZW5jcnlwdD1mdW5jdGlvbih0LGUpe3JldHVybiB0Ll9jaXBoZXIuZW5jcnlwdEJsb2NrKGUpfSxyLmRlY3J5cHQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdC5fY2lwaGVyLmRlY3J5cHRCbG9jayhlKX19LHt9XSwzMTpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPXtFQ0I6dCgiLi9lY2IiKSxDQkM6dCgiLi9jYmMiKSxDRkI6dCgiLi9jZmIiKSxDRkI4OnQoIi4vY2ZiOCIpLENGQjE6dCgiLi9jZmIxIiksT0ZCOnQoIi4vb2ZiIiksQ1RSOnQoIi4vY3RyIiksR0NNOnQoIi4vY3RyIil9LGk9dCgiLi9saXN0Lmpzb24iKTtmb3IodmFyIG8gaW4gaSlpW29dLm1vZHVsZT1uW2lbb10ubW9kZV07ZS5leHBvcnRzPWl9LHsiLi9jYmMiOjI1LCIuL2NmYiI6MjYsIi4vY2ZiMSI6MjcsIi4vY2ZiOCI6MjgsIi4vY3RyIjoyOSwiLi9lY2IiOjMwLCIuL2xpc3QuanNvbiI6MzIsIi4vb2ZiIjozM31dLDMyOltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPXsiYWVzLTEyOC1lY2IiOntjaXBoZXI6IkFFUyIsa2V5OjEyOCxpdjowLG1vZGU6IkVDQiIsdHlwZToiYmxvY2sifSwiYWVzLTE5Mi1lY2IiOntjaXBoZXI6IkFFUyIsa2V5OjE5MixpdjowLG1vZGU6IkVDQiIsdHlwZToiYmxvY2sifSwiYWVzLTI1Ni1lY2IiOntjaXBoZXI6IkFFUyIsa2V5OjI1NixpdjowLG1vZGU6IkVDQiIsdHlwZToiYmxvY2sifSwiYWVzLTEyOC1jYmMiOntjaXBoZXI6IkFFUyIsa2V5OjEyOCxpdjoxNixtb2RlOiJDQkMiLHR5cGU6ImJsb2NrIn0sImFlcy0xOTItY2JjIjp7Y2lwaGVyOiJBRVMiLGtleToxOTIsaXY6MTYsbW9kZToiQ0JDIix0eXBlOiJibG9jayJ9LCJhZXMtMjU2LWNiYyI6e2NpcGhlcjoiQUVTIixrZXk6MjU2LGl2OjE2LG1vZGU6IkNCQyIsdHlwZToiYmxvY2sifSxhZXMxMjg6e2NpcGhlcjoiQUVTIixrZXk6MTI4LGl2OjE2LG1vZGU6IkNCQyIsdHlwZToiYmxvY2sifSxhZXMxOTI6e2NpcGhlcjoiQUVTIixrZXk6MTkyLGl2OjE2LG1vZGU6IkNCQyIsdHlwZToiYmxvY2sifSxhZXMyNTY6e2NpcGhlcjoiQUVTIixrZXk6MjU2LGl2OjE2LG1vZGU6IkNCQyIsdHlwZToiYmxvY2sifSwiYWVzLTEyOC1jZmIiOntjaXBoZXI6IkFFUyIsa2V5OjEyOCxpdjoxNixtb2RlOiJDRkIiLHR5cGU6InN0cmVhbSJ9LCJhZXMtMTkyLWNmYiI6e2NpcGhlcjoiQUVTIixrZXk6MTkyLGl2OjE2LG1vZGU6IkNGQiIsdHlwZToic3RyZWFtIn0sImFlcy0yNTYtY2ZiIjp7Y2lwaGVyOiJBRVMiLGtleToyNTYsaXY6MTYsbW9kZToiQ0ZCIix0eXBlOiJzdHJlYW0ifSwiYWVzLTEyOC1jZmI4Ijp7Y2lwaGVyOiJBRVMiLGtleToxMjgsaXY6MTYsbW9kZToiQ0ZCOCIsdHlwZToic3RyZWFtIn0sImFlcy0xOTItY2ZiOCI6e2NpcGhlcjoiQUVTIixrZXk6MTkyLGl2OjE2LG1vZGU6IkNGQjgiLHR5cGU6InN0cmVhbSJ9LCJhZXMtMjU2LWNmYjgiOntjaXBoZXI6IkFFUyIsa2V5OjI1NixpdjoxNixtb2RlOiJDRkI4Iix0eXBlOiJzdHJlYW0ifSwiYWVzLTEyOC1jZmIxIjp7Y2lwaGVyOiJBRVMiLGtleToxMjgsaXY6MTYsbW9kZToiQ0ZCMSIsdHlwZToic3RyZWFtIn0sImFlcy0xOTItY2ZiMSI6e2NpcGhlcjoiQUVTIixrZXk6MTkyLGl2OjE2LG1vZGU6IkNGQjEiLHR5cGU6InN0cmVhbSJ9LCJhZXMtMjU2LWNmYjEiOntjaXBoZXI6IkFFUyIsa2V5OjI1NixpdjoxNixtb2RlOiJDRkIxIix0eXBlOiJzdHJlYW0ifSwiYWVzLTEyOC1vZmIiOntjaXBoZXI6IkFFUyIsa2V5OjEyOCxpdjoxNixtb2RlOiJPRkIiLHR5cGU6InN0cmVhbSJ9LCJhZXMtMTkyLW9mYiI6e2NpcGhlcjoiQUVTIixrZXk6MTkyLGl2OjE2LG1vZGU6Ik9GQiIsdHlwZToic3RyZWFtIn0sImFlcy0yNTYtb2ZiIjp7Y2lwaGVyOiJBRVMiLGtleToyNTYsaXY6MTYsbW9kZToiT0ZCIix0eXBlOiJzdHJlYW0ifSwiYWVzLTEyOC1jdHIiOntjaXBoZXI6IkFFUyIsa2V5OjEyOCxpdjoxNixtb2RlOiJDVFIiLHR5cGU6InN0cmVhbSJ9LCJhZXMtMTkyLWN0ciI6e2NpcGhlcjoiQUVTIixrZXk6MTkyLGl2OjE2LG1vZGU6IkNUUiIsdHlwZToic3RyZWFtIn0sImFlcy0yNTYtY3RyIjp7Y2lwaGVyOiJBRVMiLGtleToyNTYsaXY6MTYsbW9kZToiQ1RSIix0eXBlOiJzdHJlYW0ifSwiYWVzLTEyOC1nY20iOntjaXBoZXI6IkFFUyIsa2V5OjEyOCxpdjoxMixtb2RlOiJHQ00iLHR5cGU6ImF1dGgifSwiYWVzLTE5Mi1nY20iOntjaXBoZXI6IkFFUyIsa2V5OjE5MixpdjoxMixtb2RlOiJHQ00iLHR5cGU6ImF1dGgifSwiYWVzLTI1Ni1nY20iOntjaXBoZXI6IkFFUyIsa2V5OjI1NixpdjoxMixtb2RlOiJHQ00iLHR5cGU6ImF1dGgifX19LHt9XSwzMzpbZnVuY3Rpb24odCxlLHIpeyhmdW5jdGlvbihlKXt2YXIgbj10KCJidWZmZXIteG9yIik7ci5lbmNyeXB0PWZ1bmN0aW9uKHQscil7Zm9yKDt0Ll9jYWNoZS5sZW5ndGg8ci5sZW5ndGg7KXQuX2NhY2hlPWUuY29uY2F0KFt0Ll9jYWNoZSwoaT10LGkuX3ByZXY9aS5fY2lwaGVyLmVuY3J5cHRCbG9jayhpLl9wcmV2KSxpLl9wcmV2KV0pO3ZhciBpLG89dC5fY2FjaGUuc2xpY2UoMCxyLmxlbmd0aCk7cmV0dXJuIHQuX2NhY2hlPXQuX2NhY2hlLnNsaWNlKHIubGVuZ3RoKSxuKHIsbyl9fSkuY2FsbCh0aGlzLHQoImJ1ZmZlciIpLkJ1ZmZlcil9LHtidWZmZXI6NDcsImJ1ZmZlci14b3IiOjQ2fV0sMzQ6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbj10KCIuL2FlcyIpLGk9dCgic2FmZS1idWZmZXIiKS5CdWZmZXIsbz10KCJjaXBoZXItYmFzZSIpO2Z1bmN0aW9uIGEodCxlLHIsYSl7by5jYWxsKHRoaXMpLHRoaXMuX2NpcGhlcj1uZXcgbi5BRVMoZSksdGhpcy5fcHJldj1pLmZyb20ociksdGhpcy5fY2FjaGU9aS5hbGxvY1Vuc2FmZSgwKSx0aGlzLl9zZWNDYWNoZT1pLmFsbG9jVW5zYWZlKDApLHRoaXMuX2RlY3J5cHQ9YSx0aGlzLl9tb2RlPXR9dCgiaW5oZXJpdHMiKShhLG8pLGEucHJvdG90eXBlLl91cGRhdGU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX21vZGUuZW5jcnlwdCh0aGlzLHQsdGhpcy5fZGVjcnlwdCl9LGEucHJvdG90eXBlLl9maW5hbD1mdW5jdGlvbigpe3RoaXMuX2NpcGhlci5zY3J1YigpfSxlLmV4cG9ydHM9YX0seyIuL2FlcyI6MTgsImNpcGhlci1iYXNlIjo0OCxpbmhlcml0czoxMDEsInNhZmUtYnVmZmVyIjoxNDd9XSwzNTpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQoImV2cF9ieXRlc3Rva2V5IiksaT10KCJicm93c2VyaWZ5LWFlcy9icm93c2VyIiksbz10KCJicm93c2VyaWZ5LWRlcyIpLGE9dCgiYnJvd3NlcmlmeS1kZXMvbW9kZXMiKSxzPXQoImJyb3dzZXJpZnktYWVzL21vZGVzIik7ZnVuY3Rpb24gdSh0LGUscil7aWYodD10LnRvTG93ZXJDYXNlKCksc1t0XSlyZXR1cm4gaS5jcmVhdGVDaXBoZXJpdih0LGUscik7aWYoYVt0XSlyZXR1cm4gbmV3IG8oe2tleTplLGl2OnIsbW9kZTp0fSk7dGhyb3cgbmV3IFR5cGVFcnJvcigiaW52YWxpZCBzdWl0ZSB0eXBlIil9ZnVuY3Rpb24gZih0LGUscil7aWYodD10LnRvTG93ZXJDYXNlKCksc1t0XSlyZXR1cm4gaS5jcmVhdGVEZWNpcGhlcml2KHQsZSxyKTtpZihhW3RdKXJldHVybiBuZXcgbyh7a2V5OmUsaXY6cixtb2RlOnQsZGVjcnlwdDohMH0pO3Rocm93IG5ldyBUeXBlRXJyb3IoImludmFsaWQgc3VpdGUgdHlwZSIpfXIuY3JlYXRlQ2lwaGVyPXIuQ2lwaGVyPWZ1bmN0aW9uKHQsZSl7dmFyIHIsaTtpZih0PXQudG9Mb3dlckNhc2UoKSxzW3RdKXI9c1t0XS5rZXksaT1zW3RdLml2O2Vsc2V7aWYoIWFbdF0pdGhyb3cgbmV3IFR5cGVFcnJvcigiaW52YWxpZCBzdWl0ZSB0eXBlIik7cj04KmFbdF0ua2V5LGk9YVt0XS5pdn12YXIgbz1uKGUsITEscixpKTtyZXR1cm4gdSh0LG8ua2V5LG8uaXYpfSxyLmNyZWF0ZUNpcGhlcml2PXIuQ2lwaGVyaXY9dSxyLmNyZWF0ZURlY2lwaGVyPXIuRGVjaXBoZXI9ZnVuY3Rpb24odCxlKXt2YXIgcixpO2lmKHQ9dC50b0xvd2VyQ2FzZSgpLHNbdF0pcj1zW3RdLmtleSxpPXNbdF0uaXY7ZWxzZXtpZighYVt0XSl0aHJvdyBuZXcgVHlwZUVycm9yKCJpbnZhbGlkIHN1aXRlIHR5cGUiKTtyPTgqYVt0XS5rZXksaT1hW3RdLml2fXZhciBvPW4oZSwhMSxyLGkpO3JldHVybiBmKHQsby5rZXksby5pdil9LHIuY3JlYXRlRGVjaXBoZXJpdj1yLkRlY2lwaGVyaXY9ZixyLmxpc3RDaXBoZXJzPXIuZ2V0Q2lwaGVycz1mdW5jdGlvbigpe3JldHVybiBPYmplY3Qua2V5cyhhKS5jb25jYXQoaS5nZXRDaXBoZXJzKCkpfX0seyJicm93c2VyaWZ5LWFlcy9icm93c2VyIjoyMCwiYnJvd3NlcmlmeS1hZXMvbW9kZXMiOjMxLCJicm93c2VyaWZ5LWRlcyI6MzYsImJyb3dzZXJpZnktZGVzL21vZGVzIjozNyxldnBfYnl0ZXN0b2tleTo4NH1dLDM2OltmdW5jdGlvbih0LGUscil7KGZ1bmN0aW9uKHIpe3ZhciBuPXQoImNpcGhlci1iYXNlIiksaT10KCJkZXMuanMiKSxvPXQoImluaGVyaXRzIiksYT17ImRlcy1lZGUzLWNiYyI6aS5DQkMuaW5zdGFudGlhdGUoaS5FREUpLCJkZXMtZWRlMyI6aS5FREUsImRlcy1lZGUtY2JjIjppLkNCQy5pbnN0YW50aWF0ZShpLkVERSksImRlcy1lZGUiOmkuRURFLCJkZXMtY2JjIjppLkNCQy5pbnN0YW50aWF0ZShpLkRFUyksImRlcy1lY2IiOmkuREVTfTtmdW5jdGlvbiBzKHQpe24uY2FsbCh0aGlzKTt2YXIgZSxpPXQubW9kZS50b0xvd2VyQ2FzZSgpLG89YVtpXTtlPXQuZGVjcnlwdD8iZGVjcnlwdCI6ImVuY3J5cHQiO3ZhciBzPXQua2V5OyJkZXMtZWRlIiE9PWkmJiJkZXMtZWRlLWNiYyIhPT1pfHwocz1yLmNvbmNhdChbcyxzLnNsaWNlKDAsOCldKSk7dmFyIHU9dC5pdjt0aGlzLl9kZXM9by5jcmVhdGUoe2tleTpzLGl2OnUsdHlwZTplfSl9YS5kZXM9YVsiZGVzLWNiYyJdLGEuZGVzMz1hWyJkZXMtZWRlMy1jYmMiXSxlLmV4cG9ydHM9cyxvKHMsbikscy5wcm90b3R5cGUuX3VwZGF0ZT1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IHIodGhpcy5fZGVzLnVwZGF0ZSh0KSl9LHMucHJvdG90eXBlLl9maW5hbD1mdW5jdGlvbigpe3JldHVybiBuZXcgcih0aGlzLl9kZXMuZmluYWwoKSl9fSkuY2FsbCh0aGlzLHQoImJ1ZmZlciIpLkJ1ZmZlcil9LHtidWZmZXI6NDcsImNpcGhlci1iYXNlIjo0OCwiZGVzLmpzIjo1Nyxpbmhlcml0czoxMDF9XSwzNzpbZnVuY3Rpb24odCxlLHIpe3JbImRlcy1lY2IiXT17a2V5OjgsaXY6MH0sclsiZGVzLWNiYyJdPXIuZGVzPXtrZXk6OCxpdjo4fSxyWyJkZXMtZWRlMy1jYmMiXT1yLmRlczM9e2tleToyNCxpdjo4fSxyWyJkZXMtZWRlMyJdPXtrZXk6MjQsaXY6MH0sclsiZGVzLWVkZS1jYmMiXT17a2V5OjE2LGl2Ojh9LHJbImRlcy1lZGUiXT17a2V5OjE2LGl2OjB9fSx7fV0sMzg6W2Z1bmN0aW9uKHQsZSxyKXsoZnVuY3Rpb24ocil7dmFyIG49dCgiYm4uanMiKSxpPXQoInJhbmRvbWJ5dGVzIik7ZnVuY3Rpb24gbyh0LGUpe3ZhciBpLG8scz17YmxpbmRlcjoobz1hKGk9ZSkpLnRvUmVkKG4ubW9udChpLm1vZHVsdXMpKS5yZWRQb3cobmV3IG4oaS5wdWJsaWNFeHBvbmVudCkpLmZyb21SZWQoKSx1bmJsaW5kZXI6by5pbnZtKGkubW9kdWx1cyl9LHU9ZS5tb2R1bHVzLmJ5dGVMZW5ndGgoKSxmPShuLm1vbnQoZS5tb2R1bHVzKSxuZXcgbih0KS5tdWwocy5ibGluZGVyKS51bW9kKGUubW9kdWx1cykpLGM9Zi50b1JlZChuLm1vbnQoZS5wcmltZTEpKSxoPWYudG9SZWQobi5tb250KGUucHJpbWUyKSksZD1lLmNvZWZmaWNpZW50LGw9ZS5wcmltZTEscD1lLnByaW1lMixiPWMucmVkUG93KGUuZXhwb25lbnQxKSxtPWgucmVkUG93KGUuZXhwb25lbnQyKTtiPWIuZnJvbVJlZCgpLG09bS5mcm9tUmVkKCk7dmFyIHk9Yi5pc3ViKG0pLmltdWwoZCkudW1vZChsKTtyZXR1cm4geS5pbXVsKHApLG0uaWFkZCh5KSxuZXcgcihtLmltdWwocy51bmJsaW5kZXIpLnVtb2QoZS5tb2R1bHVzKS50b0FycmF5KCExLHUpKX1mdW5jdGlvbiBhKHQpe2Zvcih2YXIgZT10Lm1vZHVsdXMuYnl0ZUxlbmd0aCgpLHI9bmV3IG4oaShlKSk7ci5jbXAodC5tb2R1bHVzKT49MHx8IXIudW1vZCh0LnByaW1lMSl8fCFyLnVtb2QodC5wcmltZTIpOylyPW5ldyBuKGkoZSkpO3JldHVybiByfWUuZXhwb3J0cz1vLG8uZ2V0cj1hfSkuY2FsbCh0aGlzLHQoImJ1ZmZlciIpLkJ1ZmZlcil9LHsiYm4uanMiOiJCTiIsYnVmZmVyOjQ3LHJhbmRvbWJ5dGVzOjEzMX1dLDM5OltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPXQoIi4vYnJvd3Nlci9hbGdvcml0aG1zLmpzb24iKX0seyIuL2Jyb3dzZXIvYWxnb3JpdGhtcy5qc29uIjo0MH1dLDQwOltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPXtzaGEyMjRXaXRoUlNBRW5jcnlwdGlvbjp7c2lnbjoicnNhIixoYXNoOiJzaGEyMjQiLGlkOiIzMDJkMzAwZDA2MDk2MDg2NDgwMTY1MDMwNDAyMDQwNTAwMDQxYyJ9LCJSU0EtU0hBMjI0Ijp7c2lnbjoiZWNkc2EvcnNhIixoYXNoOiJzaGEyMjQiLGlkOiIzMDJkMzAwZDA2MDk2MDg2NDgwMTY1MDMwNDAyMDQwNTAwMDQxYyJ9LHNoYTI1NldpdGhSU0FFbmNyeXB0aW9uOntzaWduOiJyc2EiLGhhc2g6InNoYTI1NiIsaWQ6IjMwMzEzMDBkMDYwOTYwODY0ODAxNjUwMzA0MDIwMTA1MDAwNDIwIn0sIlJTQS1TSEEyNTYiOntzaWduOiJlY2RzYS9yc2EiLGhhc2g6InNoYTI1NiIsaWQ6IjMwMzEzMDBkMDYwOTYwODY0ODAxNjUwMzA0MDIwMTA1MDAwNDIwIn0sc2hhMzg0V2l0aFJTQUVuY3J5cHRpb246e3NpZ246InJzYSIsaGFzaDoic2hhMzg0IixpZDoiMzA0MTMwMGQwNjA5NjA4NjQ4MDE2NTAzMDQwMjAyMDUwMDA0MzAifSwiUlNBLVNIQTM4NCI6e3NpZ246ImVjZHNhL3JzYSIsaGFzaDoic2hhMzg0IixpZDoiMzA0MTMwMGQwNjA5NjA4NjQ4MDE2NTAzMDQwMjAyMDUwMDA0MzAifSxzaGE1MTJXaXRoUlNBRW5jcnlwdGlvbjp7c2lnbjoicnNhIixoYXNoOiJzaGE1MTIiLGlkOiIzMDUxMzAwZDA2MDk2MDg2NDgwMTY1MDMwNDAyMDMwNTAwMDQ0MCJ9LCJSU0EtU0hBNTEyIjp7c2lnbjoiZWNkc2EvcnNhIixoYXNoOiJzaGE1MTIiLGlkOiIzMDUxMzAwZDA2MDk2MDg2NDgwMTY1MDMwNDAyMDMwNTAwMDQ0MCJ9LCJSU0EtU0hBMSI6e3NpZ246InJzYSIsaGFzaDoic2hhMSIsaWQ6IjMwMjEzMDA5MDYwNTJiMGUwMzAyMWEwNTAwMDQxNCJ9LCJlY2RzYS13aXRoLVNIQTEiOntzaWduOiJlY2RzYSIsaGFzaDoic2hhMSIsaWQ6IiJ9LHNoYTI1Njp7c2lnbjoiZWNkc2EiLGhhc2g6InNoYTI1NiIsaWQ6IiJ9LHNoYTIyNDp7c2lnbjoiZWNkc2EiLGhhc2g6InNoYTIyNCIsaWQ6IiJ9LHNoYTM4NDp7c2lnbjoiZWNkc2EiLGhhc2g6InNoYTM4NCIsaWQ6IiJ9LHNoYTUxMjp7c2lnbjoiZWNkc2EiLGhhc2g6InNoYTUxMiIsaWQ6IiJ9LCJEU0EtU0hBIjp7c2lnbjoiZHNhIixoYXNoOiJzaGExIixpZDoiIn0sIkRTQS1TSEExIjp7c2lnbjoiZHNhIixoYXNoOiJzaGExIixpZDoiIn0sRFNBOntzaWduOiJkc2EiLGhhc2g6InNoYTEiLGlkOiIifSwiRFNBLVdJVEgtU0hBMjI0Ijp7c2lnbjoiZHNhIixoYXNoOiJzaGEyMjQiLGlkOiIifSwiRFNBLVNIQTIyNCI6e3NpZ246ImRzYSIsaGFzaDoic2hhMjI0IixpZDoiIn0sIkRTQS1XSVRILVNIQTI1NiI6e3NpZ246ImRzYSIsaGFzaDoic2hhMjU2IixpZDoiIn0sIkRTQS1TSEEyNTYiOntzaWduOiJkc2EiLGhhc2g6InNoYTI1NiIsaWQ6IiJ9LCJEU0EtV0lUSC1TSEEzODQiOntzaWduOiJkc2EiLGhhc2g6InNoYTM4NCIsaWQ6IiJ9LCJEU0EtU0hBMzg0Ijp7c2lnbjoiZHNhIixoYXNoOiJzaGEzODQiLGlkOiIifSwiRFNBLVdJVEgtU0hBNTEyIjp7c2lnbjoiZHNhIixoYXNoOiJzaGE1MTIiLGlkOiIifSwiRFNBLVNIQTUxMiI6e3NpZ246ImRzYSIsaGFzaDoic2hhNTEyIixpZDoiIn0sIkRTQS1SSVBFTUQxNjAiOntzaWduOiJkc2EiLGhhc2g6InJtZDE2MCIsaWQ6IiJ9LHJpcGVtZDE2MFdpdGhSU0E6e3NpZ246InJzYSIsaGFzaDoicm1kMTYwIixpZDoiMzAyMTMwMDkwNjA1MmIyNDAzMDIwMTA1MDAwNDE0In0sIlJTQS1SSVBFTUQxNjAiOntzaWduOiJyc2EiLGhhc2g6InJtZDE2MCIsaWQ6IjMwMjEzMDA5MDYwNTJiMjQwMzAyMDEwNTAwMDQxNCJ9LG1kNVdpdGhSU0FFbmNyeXB0aW9uOntzaWduOiJyc2EiLGhhc2g6Im1kNSIsaWQ6IjMwMjAzMDBjMDYwODJhODY0ODg2ZjcwZDAyMDUwNTAwMDQxMCJ9LCJSU0EtTUQ1Ijp7c2lnbjoicnNhIixoYXNoOiJtZDUiLGlkOiIzMDIwMzAwYzA2MDgyYTg2NDg4NmY3MGQwMjA1MDUwMDA0MTAifX19LHt9XSw0MTpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz17IjEuMy4xMzIuMC4xMCI6InNlY3AyNTZrMSIsIjEuMy4xMzIuMC4zMyI6InAyMjQiLCIxLjIuODQwLjEwMDQ1LjMuMS4xIjoicDE5MiIsIjEuMi44NDAuMTAwNDUuMy4xLjciOiJwMjU2IiwiMS4zLjEzMi4wLjM0IjoicDM4NCIsIjEuMy4xMzIuMC4zNSI6InA1MjEifX0se31dLDQyOltmdW5jdGlvbih0LGUscil7KGZ1bmN0aW9uKHIpe3ZhciBuPXQoImNyZWF0ZS1oYXNoIiksaT10KCJzdHJlYW0iKSxvPXQoImluaGVyaXRzIiksYT10KCIuL3NpZ24iKSxzPXQoIi4vdmVyaWZ5IiksdT10KCIuL2FsZ29yaXRobXMuanNvbiIpO2Z1bmN0aW9uIGYodCl7aS5Xcml0YWJsZS5jYWxsKHRoaXMpO3ZhciBlPXVbdF07aWYoIWUpdGhyb3cgbmV3IEVycm9yKCJVbmtub3duIG1lc3NhZ2UgZGlnZXN0Iik7dGhpcy5faGFzaFR5cGU9ZS5oYXNoLHRoaXMuX2hhc2g9bihlLmhhc2gpLHRoaXMuX3RhZz1lLmlkLHRoaXMuX3NpZ25UeXBlPWUuc2lnbn1mdW5jdGlvbiBjKHQpe2kuV3JpdGFibGUuY2FsbCh0aGlzKTt2YXIgZT11W3RdO2lmKCFlKXRocm93IG5ldyBFcnJvcigiVW5rbm93biBtZXNzYWdlIGRpZ2VzdCIpO3RoaXMuX2hhc2g9bihlLmhhc2gpLHRoaXMuX3RhZz1lLmlkLHRoaXMuX3NpZ25UeXBlPWUuc2lnbn1mdW5jdGlvbiBoKHQpe3JldHVybiBuZXcgZih0KX1mdW5jdGlvbiBkKHQpe3JldHVybiBuZXcgYyh0KX1PYmplY3Qua2V5cyh1KS5mb3JFYWNoKGZ1bmN0aW9uKHQpe3VbdF0uaWQ9bmV3IHIodVt0XS5pZCwiaGV4IiksdVt0LnRvTG93ZXJDYXNlKCldPXVbdF19KSxvKGYsaS5Xcml0YWJsZSksZi5wcm90b3R5cGUuX3dyaXRlPWZ1bmN0aW9uKHQsZSxyKXt0aGlzLl9oYXNoLnVwZGF0ZSh0KSxyKCl9LGYucHJvdG90eXBlLnVwZGF0ZT1mdW5jdGlvbih0LGUpe3JldHVybiJzdHJpbmciPT10eXBlb2YgdCYmKHQ9bmV3IHIodCxlKSksdGhpcy5faGFzaC51cGRhdGUodCksdGhpc30sZi5wcm90b3R5cGUuc2lnbj1mdW5jdGlvbih0LGUpe3RoaXMuZW5kKCk7dmFyIHI9dGhpcy5faGFzaC5kaWdlc3QoKSxuPWEocix0LHRoaXMuX2hhc2hUeXBlLHRoaXMuX3NpZ25UeXBlLHRoaXMuX3RhZyk7cmV0dXJuIGU/bi50b1N0cmluZyhlKTpufSxvKGMsaS5Xcml0YWJsZSksYy5wcm90b3R5cGUuX3dyaXRlPWZ1bmN0aW9uKHQsZSxyKXt0aGlzLl9oYXNoLnVwZGF0ZSh0KSxyKCl9LGMucHJvdG90eXBlLnVwZGF0ZT1mdW5jdGlvbih0LGUpe3JldHVybiJzdHJpbmciPT10eXBlb2YgdCYmKHQ9bmV3IHIodCxlKSksdGhpcy5faGFzaC51cGRhdGUodCksdGhpc30sYy5wcm90b3R5cGUudmVyaWZ5PWZ1bmN0aW9uKHQsZSxuKXsic3RyaW5nIj09dHlwZW9mIGUmJihlPW5ldyByKGUsbikpLHRoaXMuZW5kKCk7dmFyIGk9dGhpcy5faGFzaC5kaWdlc3QoKTtyZXR1cm4gcyhlLGksdCx0aGlzLl9zaWduVHlwZSx0aGlzLl90YWcpfSxlLmV4cG9ydHM9e1NpZ246aCxWZXJpZnk6ZCxjcmVhdGVTaWduOmgsY3JlYXRlVmVyaWZ5OmR9fSkuY2FsbCh0aGlzLHQoImJ1ZmZlciIpLkJ1ZmZlcil9LHsiLi9hbGdvcml0aG1zLmpzb24iOjQwLCIuL3NpZ24iOjQzLCIuL3ZlcmlmeSI6NDQsYnVmZmVyOjQ3LCJjcmVhdGUtaGFzaCI6NTEsaW5oZXJpdHM6MTAxLHN0cmVhbToxNTZ9XSw0MzpbZnVuY3Rpb24odCxlLHIpeyhmdW5jdGlvbihyKXt2YXIgbj10KCJjcmVhdGUtaG1hYyIpLGk9dCgiYnJvd3NlcmlmeS1yc2EiKSxvPXQoImVsbGlwdGljIikuZWMsYT10KCJibi5qcyIpLHM9dCgicGFyc2UtYXNuMSIpLHU9dCgiLi9jdXJ2ZXMuanNvbiIpO2Z1bmN0aW9uIGYodCxlLGksbyl7aWYoKHQ9bmV3IHIodC50b0FycmF5KCkpKS5sZW5ndGg8ZS5ieXRlTGVuZ3RoKCkpe3ZhciBhPW5ldyByKGUuYnl0ZUxlbmd0aCgpLXQubGVuZ3RoKTthLmZpbGwoMCksdD1yLmNvbmNhdChbYSx0XSl9dmFyIHM9aS5sZW5ndGgsdT1mdW5jdGlvbih0LGUpe3Q9KHQ9Yyh0LGUpKS5tb2QoZSk7dmFyIG49bmV3IHIodC50b0FycmF5KCkpO2lmKG4ubGVuZ3RoPGUuYnl0ZUxlbmd0aCgpKXt2YXIgaT1uZXcgcihlLmJ5dGVMZW5ndGgoKS1uLmxlbmd0aCk7aS5maWxsKDApLG49ci5jb25jYXQoW2ksbl0pfXJldHVybiBufShpLGUpLGY9bmV3IHIocyk7Zi5maWxsKDEpO3ZhciBoPW5ldyByKHMpO3JldHVybiBoLmZpbGwoMCksaD1uKG8saCkudXBkYXRlKGYpLnVwZGF0ZShuZXcgcihbMF0pKS51cGRhdGUodCkudXBkYXRlKHUpLmRpZ2VzdCgpLGY9bihvLGgpLnVwZGF0ZShmKS5kaWdlc3QoKSx7azpoPW4obyxoKS51cGRhdGUoZikudXBkYXRlKG5ldyByKFsxXSkpLnVwZGF0ZSh0KS51cGRhdGUodSkuZGlnZXN0KCksdjpmPW4obyxoKS51cGRhdGUoZikuZGlnZXN0KCl9fWZ1bmN0aW9uIGModCxlKXt2YXIgcj1uZXcgYSh0KSxuPSh0Lmxlbmd0aDw8MyktZS5iaXRMZW5ndGgoKTtyZXR1cm4gbj4wJiZyLmlzaHJuKG4pLHJ9ZnVuY3Rpb24gaCh0LGUsaSl7dmFyIG8sYTtkb3tmb3Iobz1uZXcgcigwKTs4Km8ubGVuZ3RoPHQuYml0TGVuZ3RoKCk7KWUudj1uKGksZS5rKS51cGRhdGUoZS52KS5kaWdlc3QoKSxvPXIuY29uY2F0KFtvLGUudl0pO2E9YyhvLHQpLGUuaz1uKGksZS5rKS51cGRhdGUoZS52KS51cGRhdGUobmV3IHIoWzBdKSkuZGlnZXN0KCksZS52PW4oaSxlLmspLnVwZGF0ZShlLnYpLmRpZ2VzdCgpfXdoaWxlKC0xIT09YS5jbXAodCkpO3JldHVybiBhfWUuZXhwb3J0cz1mdW5jdGlvbih0LGUsbixkLGwpe3ZhciBwPXMoZSk7aWYocC5jdXJ2ZSl7aWYoImVjZHNhIiE9PWQmJiJlY2RzYS9yc2EiIT09ZCl0aHJvdyBuZXcgRXJyb3IoIndyb25nIHByaXZhdGUga2V5IHR5cGUiKTtyZXR1cm4gZnVuY3Rpb24odCxlKXt2YXIgbj11W2UuY3VydmUuam9pbigiLiIpXTtpZighbil0aHJvdyBuZXcgRXJyb3IoInVua25vd24gY3VydmUgIitlLmN1cnZlLmpvaW4oIi4iKSk7dmFyIGk9bmV3IG8obikua2V5RnJvbVByaXZhdGUoZS5wcml2YXRlS2V5KS5zaWduKHQpO3JldHVybiBuZXcgcihpLnRvREVSKCkpfSh0LHApfWlmKCJkc2EiPT09cC50eXBlKXtpZigiZHNhIiE9PWQpdGhyb3cgbmV3IEVycm9yKCJ3cm9uZyBwcml2YXRlIGtleSB0eXBlIik7cmV0dXJuIGZ1bmN0aW9uKHQsZSxuKXtmb3IodmFyIGksbyxzLHUsZD1lLnBhcmFtcy5wcml2X2tleSxsPWUucGFyYW1zLnAscD1lLnBhcmFtcy5xLGI9ZS5wYXJhbXMuZyxtPW5ldyBhKDApLHk9Yyh0LHApLm1vZChwKSx2PSExLGc9ZihkLHAsdCxuKTshMT09PXY7KWk9aChwLGcsbiksbz1pLHM9bCx1PXAsbT1iLnRvUmVkKGEubW9udChzKSkucmVkUG93KG8pLmZyb21SZWQoKS5tb2QodSksMD09PSh2PWkuaW52bShwKS5pbXVsKHkuYWRkKGQubXVsKG0pKSkubW9kKHApKS5jbXBuKDApJiYodj0hMSxtPW5ldyBhKDApKTtyZXR1cm4gZnVuY3Rpb24odCxlKXt0PXQudG9BcnJheSgpLGU9ZS50b0FycmF5KCksMTI4JnRbMF0mJih0PVswXS5jb25jYXQodCkpLDEyOCZlWzBdJiYoZT1bMF0uY29uY2F0KGUpKTt2YXIgbj1bNDgsdC5sZW5ndGgrZS5sZW5ndGgrNCwyLHQubGVuZ3RoXTtyZXR1cm4gbj1uLmNvbmNhdCh0LFsyLGUubGVuZ3RoXSxlKSxuZXcgcihuKX0obSx2KX0odCxwLG4pfWlmKCJyc2EiIT09ZCYmImVjZHNhL3JzYSIhPT1kKXRocm93IG5ldyBFcnJvcigid3JvbmcgcHJpdmF0ZSBrZXkgdHlwZSIpO3Q9ci5jb25jYXQoW2wsdF0pO2Zvcih2YXIgYj1wLm1vZHVsdXMuYnl0ZUxlbmd0aCgpLG09WzAsMV07dC5sZW5ndGgrbS5sZW5ndGgrMTxiOyltLnB1c2goMjU1KTttLnB1c2goMCk7Zm9yKHZhciB5PS0xOysreTx0Lmxlbmd0aDspbS5wdXNoKHRbeV0pO3JldHVybiBpKG0scCl9LGUuZXhwb3J0cy5nZXRLZXk9ZixlLmV4cG9ydHMubWFrZUtleT1ofSkuY2FsbCh0aGlzLHQoImJ1ZmZlciIpLkJ1ZmZlcil9LHsiLi9jdXJ2ZXMuanNvbiI6NDEsImJuLmpzIjoiQk4iLCJicm93c2VyaWZ5LXJzYSI6MzgsYnVmZmVyOjQ3LCJjcmVhdGUtaG1hYyI6NTQsZWxsaXB0aWM6NjcsInBhcnNlLWFzbjEiOjExM31dLDQ0OltmdW5jdGlvbih0LGUscil7KGZ1bmN0aW9uKHIpe3ZhciBuPXQoImJuLmpzIiksaT10KCJlbGxpcHRpYyIpLmVjLG89dCgicGFyc2UtYXNuMSIpLGE9dCgiLi9jdXJ2ZXMuanNvbiIpO2Z1bmN0aW9uIHModCxlKXtpZih0LmNtcG4oMCk8PTApdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIHNpZyIpO2lmKHQuY21wKGUpPj1lKXRocm93IG5ldyBFcnJvcigiaW52YWxpZCBzaWciKX1lLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHUsZixjKXt2YXIgaD1vKHUpO2lmKCJlYyI9PT1oLnR5cGUpe2lmKCJlY2RzYSIhPT1mJiYiZWNkc2EvcnNhIiE9PWYpdGhyb3cgbmV3IEVycm9yKCJ3cm9uZyBwdWJsaWMga2V5IHR5cGUiKTtyZXR1cm4gZnVuY3Rpb24odCxlLHIpe3ZhciBuPWFbci5kYXRhLmFsZ29yaXRobS5jdXJ2ZS5qb2luKCIuIildO2lmKCFuKXRocm93IG5ldyBFcnJvcigidW5rbm93biBjdXJ2ZSAiK3IuZGF0YS5hbGdvcml0aG0uY3VydmUuam9pbigiLiIpKTt2YXIgbz1uZXcgaShuKSxzPXIuZGF0YS5zdWJqZWN0UHJpdmF0ZUtleS5kYXRhO3JldHVybiBvLnZlcmlmeShlLHQscyl9KHQsZSxoKX1pZigiZHNhIj09PWgudHlwZSl7aWYoImRzYSIhPT1mKXRocm93IG5ldyBFcnJvcigid3JvbmcgcHVibGljIGtleSB0eXBlIik7cmV0dXJuIGZ1bmN0aW9uKHQsZSxyKXt2YXIgaT1yLmRhdGEucCxhPXIuZGF0YS5xLHU9ci5kYXRhLmcsZj1yLmRhdGEucHViX2tleSxjPW8uc2lnbmF0dXJlLmRlY29kZSh0LCJkZXIiKSxoPWMucyxkPWMucjtzKGgsYSkscyhkLGEpO3ZhciBsPW4ubW9udChpKSxwPWguaW52bShhKTtyZXR1cm4gMD09PXUudG9SZWQobCkucmVkUG93KG5ldyBuKGUpLm11bChwKS5tb2QoYSkpLmZyb21SZWQoKS5tdWwoZi50b1JlZChsKS5yZWRQb3coZC5tdWwocCkubW9kKGEpKS5mcm9tUmVkKCkpLm1vZChpKS5tb2QoYSkuY21wKGQpfSh0LGUsaCl9aWYoInJzYSIhPT1mJiYiZWNkc2EvcnNhIiE9PWYpdGhyb3cgbmV3IEVycm9yKCJ3cm9uZyBwdWJsaWMga2V5IHR5cGUiKTtlPXIuY29uY2F0KFtjLGVdKTtmb3IodmFyIGQ9aC5tb2R1bHVzLmJ5dGVMZW5ndGgoKSxsPVsxXSxwPTA7ZS5sZW5ndGgrbC5sZW5ndGgrMjxkOylsLnB1c2goMjU1KSxwKys7bC5wdXNoKDApO2Zvcih2YXIgYj0tMTsrK2I8ZS5sZW5ndGg7KWwucHVzaChlW2JdKTtsPW5ldyByKGwpO3ZhciBtPW4ubW9udChoLm1vZHVsdXMpO3Q9KHQ9bmV3IG4odCkudG9SZWQobSkpLnJlZFBvdyhuZXcgbihoLnB1YmxpY0V4cG9uZW50KSksdD1uZXcgcih0LmZyb21SZWQoKS50b0FycmF5KCkpO3ZhciB5PXA8OD8xOjA7Zm9yKGQ9TWF0aC5taW4odC5sZW5ndGgsbC5sZW5ndGgpLHQubGVuZ3RoIT09bC5sZW5ndGgmJih5PTEpLGI9LTE7KytiPGQ7KXl8PXRbYl1ebFtiXTtyZXR1cm4gMD09PXl9fSkuY2FsbCh0aGlzLHQoImJ1ZmZlciIpLkJ1ZmZlcil9LHsiLi9jdXJ2ZXMuanNvbiI6NDEsImJuLmpzIjoiQk4iLGJ1ZmZlcjo0NyxlbGxpcHRpYzo2NywicGFyc2UtYXNuMSI6MTEzfV0sNDU6W2Z1bmN0aW9uKHQsZSxyKXthcmd1bWVudHNbNF1bMTddWzBdLmFwcGx5KHIsYXJndW1lbnRzKX0se2R1cDoxN31dLDQ2OltmdW5jdGlvbih0LGUscil7KGZ1bmN0aW9uKHQpe2UuZXhwb3J0cz1mdW5jdGlvbihlLHIpe2Zvcih2YXIgbj1NYXRoLm1pbihlLmxlbmd0aCxyLmxlbmd0aCksaT1uZXcgdChuKSxvPTA7bzxuOysrbylpW29dPWVbb11ecltvXTtyZXR1cm4gaX19KS5jYWxsKHRoaXMsdCgiYnVmZmVyIikuQnVmZmVyKX0se2J1ZmZlcjo0N31dLDQ3OltmdW5jdGlvbih0LGUscil7dmFyIG49dCgiYmFzZTY0LWpzIiksaT10KCJpZWVlNzU0Iik7ci5CdWZmZXI9cyxyLlNsb3dCdWZmZXI9ZnVuY3Rpb24odCl7K3QhPXQmJih0PTApO3JldHVybiBzLmFsbG9jKCt0KX0sci5JTlNQRUNUX01BWF9CWVRFUz01MDt2YXIgbz0yMTQ3NDgzNjQ3O2Z1bmN0aW9uIGEodCl7aWYodD5vKXRocm93IG5ldyBSYW5nZUVycm9yKCJJbnZhbGlkIHR5cGVkIGFycmF5IGxlbmd0aCIpO3ZhciBlPW5ldyBVaW50OEFycmF5KHQpO3JldHVybiBlLl9fcHJvdG9fXz1zLnByb3RvdHlwZSxlfWZ1bmN0aW9uIHModCxlLHIpe2lmKCJudW1iZXIiPT10eXBlb2YgdCl7aWYoInN0cmluZyI9PXR5cGVvZiBlKXRocm93IG5ldyBFcnJvcigiSWYgZW5jb2RpbmcgaXMgc3BlY2lmaWVkIHRoZW4gdGhlIGZpcnN0IGFyZ3VtZW50IG11c3QgYmUgYSBzdHJpbmciKTtyZXR1cm4gYyh0KX1yZXR1cm4gdSh0LGUscil9ZnVuY3Rpb24gdSh0LGUscil7aWYoIm51bWJlciI9PXR5cGVvZiB0KXRocm93IG5ldyBUeXBlRXJyb3IoJyJ2YWx1ZSIgYXJndW1lbnQgbXVzdCBub3QgYmUgYSBudW1iZXInKTtyZXR1cm4gTih0KT9mdW5jdGlvbih0LGUscil7aWYoZTwwfHx0LmJ5dGVMZW5ndGg8ZSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiJ29mZnNldCcgaXMgb3V0IG9mIGJvdW5kcyIpO2lmKHQuYnl0ZUxlbmd0aDxlKyhyfHwwKSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiJ2xlbmd0aCcgaXMgb3V0IG9mIGJvdW5kcyIpO3ZhciBuO249dm9pZCAwPT09ZSYmdm9pZCAwPT09cj9uZXcgVWludDhBcnJheSh0KTp2b2lkIDA9PT1yP25ldyBVaW50OEFycmF5KHQsZSk6bmV3IFVpbnQ4QXJyYXkodCxlLHIpO3JldHVybiBuLl9fcHJvdG9fXz1zLnByb3RvdHlwZSxufSh0LGUscik6InN0cmluZyI9PXR5cGVvZiB0P2Z1bmN0aW9uKHQsZSl7InN0cmluZyI9PXR5cGVvZiBlJiYiIiE9PWV8fChlPSJ1dGY4Iik7aWYoIXMuaXNFbmNvZGluZyhlKSl0aHJvdyBuZXcgVHlwZUVycm9yKCciZW5jb2RpbmciIG11c3QgYmUgYSB2YWxpZCBzdHJpbmcgZW5jb2RpbmcnKTt2YXIgcj0wfGwodCxlKSxuPWEociksaT1uLndyaXRlKHQsZSk7aSE9PXImJihuPW4uc2xpY2UoMCxpKSk7cmV0dXJuIG59KHQsZSk6ZnVuY3Rpb24odCl7aWYocy5pc0J1ZmZlcih0KSl7dmFyIGU9MHxkKHQubGVuZ3RoKSxyPWEoZSk7cmV0dXJuIDA9PT1yLmxlbmd0aD9yOih0LmNvcHkociwwLDAsZSkscil9aWYodCl7aWYoTCh0KXx8Imxlbmd0aCJpbiB0KXJldHVybiJudW1iZXIiIT10eXBlb2YgdC5sZW5ndGh8fEYodC5sZW5ndGgpP2EoMCk6aCh0KTtpZigiQnVmZmVyIj09PXQudHlwZSYmQXJyYXkuaXNBcnJheSh0LmRhdGEpKXJldHVybiBoKHQuZGF0YSl9dGhyb3cgbmV3IFR5cGVFcnJvcigiRmlyc3QgYXJndW1lbnQgbXVzdCBiZSBhIHN0cmluZywgQnVmZmVyLCBBcnJheUJ1ZmZlciwgQXJyYXksIG9yIGFycmF5LWxpa2Ugb2JqZWN0LiIpfSh0KX1mdW5jdGlvbiBmKHQpe2lmKCJudW1iZXIiIT10eXBlb2YgdCl0aHJvdyBuZXcgVHlwZUVycm9yKCcic2l6ZSIgYXJndW1lbnQgbXVzdCBiZSBhIG51bWJlcicpO2lmKHQ8MCl0aHJvdyBuZXcgUmFuZ2VFcnJvcignInNpemUiIGFyZ3VtZW50IG11c3Qgbm90IGJlIG5lZ2F0aXZlJyl9ZnVuY3Rpb24gYyh0KXtyZXR1cm4gZih0KSxhKHQ8MD8wOjB8ZCh0KSl9ZnVuY3Rpb24gaCh0KXtmb3IodmFyIGU9dC5sZW5ndGg8MD8wOjB8ZCh0Lmxlbmd0aCkscj1hKGUpLG49MDtuPGU7bis9MSlyW25dPTI1NSZ0W25dO3JldHVybiByfWZ1bmN0aW9uIGQodCl7aWYodD49byl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiQXR0ZW1wdCB0byBhbGxvY2F0ZSBCdWZmZXIgbGFyZ2VyIHRoYW4gbWF4aW11bSBzaXplOiAweCIrby50b1N0cmluZygxNikrIiBieXRlcyIpO3JldHVybiAwfHR9ZnVuY3Rpb24gbCh0LGUpe2lmKHMuaXNCdWZmZXIodCkpcmV0dXJuIHQubGVuZ3RoO2lmKEwodCl8fE4odCkpcmV0dXJuIHQuYnl0ZUxlbmd0aDsic3RyaW5nIiE9dHlwZW9mIHQmJih0PSIiK3QpO3ZhciByPXQubGVuZ3RoO2lmKDA9PT1yKXJldHVybiAwO2Zvcih2YXIgbj0hMTs7KXN3aXRjaChlKXtjYXNlImFzY2lpIjpjYXNlImxhdGluMSI6Y2FzZSJiaW5hcnkiOnJldHVybiByO2Nhc2UidXRmOCI6Y2FzZSJ1dGYtOCI6Y2FzZSB2b2lkIDA6cmV0dXJuIFAodCkubGVuZ3RoO2Nhc2UidWNzMiI6Y2FzZSJ1Y3MtMiI6Y2FzZSJ1dGYxNmxlIjpjYXNlInV0Zi0xNmxlIjpyZXR1cm4gMipyO2Nhc2UiaGV4IjpyZXR1cm4gcj4+PjE7Y2FzZSJiYXNlNjQiOnJldHVybiBSKHQpLmxlbmd0aDtkZWZhdWx0OmlmKG4pcmV0dXJuIFAodCkubGVuZ3RoO2U9KCIiK2UpLnRvTG93ZXJDYXNlKCksbj0hMH19ZnVuY3Rpb24gcCh0LGUscil7dmFyIG49dFtlXTt0W2VdPXRbcl0sdFtyXT1ufWZ1bmN0aW9uIGIodCxlLHIsbixpKXtpZigwPT09dC5sZW5ndGgpcmV0dXJuLTE7aWYoInN0cmluZyI9PXR5cGVvZiByPyhuPXIscj0wKTpyPjIxNDc0ODM2NDc/cj0yMTQ3NDgzNjQ3OnI8LTIxNDc0ODM2NDgmJihyPS0yMTQ3NDgzNjQ4KSxGKHI9K3IpJiYocj1pPzA6dC5sZW5ndGgtMSkscjwwJiYocj10Lmxlbmd0aCtyKSxyPj10Lmxlbmd0aCl7aWYoaSlyZXR1cm4tMTtyPXQubGVuZ3RoLTF9ZWxzZSBpZihyPDApe2lmKCFpKXJldHVybi0xO3I9MH1pZigic3RyaW5nIj09dHlwZW9mIGUmJihlPXMuZnJvbShlLG4pKSxzLmlzQnVmZmVyKGUpKXJldHVybiAwPT09ZS5sZW5ndGg/LTE6bSh0LGUscixuLGkpO2lmKCJudW1iZXIiPT10eXBlb2YgZSlyZXR1cm4gZSY9MjU1LCJmdW5jdGlvbiI9PXR5cGVvZiBVaW50OEFycmF5LnByb3RvdHlwZS5pbmRleE9mP2k/VWludDhBcnJheS5wcm90b3R5cGUuaW5kZXhPZi5jYWxsKHQsZSxyKTpVaW50OEFycmF5LnByb3RvdHlwZS5sYXN0SW5kZXhPZi5jYWxsKHQsZSxyKTptKHQsW2VdLHIsbixpKTt0aHJvdyBuZXcgVHlwZUVycm9yKCJ2YWwgbXVzdCBiZSBzdHJpbmcsIG51bWJlciBvciBCdWZmZXIiKX1mdW5jdGlvbiBtKHQsZSxyLG4saSl7dmFyIG8sYT0xLHM9dC5sZW5ndGgsdT1lLmxlbmd0aDtpZih2b2lkIDAhPT1uJiYoInVjczIiPT09KG49U3RyaW5nKG4pLnRvTG93ZXJDYXNlKCkpfHwidWNzLTIiPT09bnx8InV0ZjE2bGUiPT09bnx8InV0Zi0xNmxlIj09PW4pKXtpZih0Lmxlbmd0aDwyfHxlLmxlbmd0aDwyKXJldHVybi0xO2E9MixzLz0yLHUvPTIsci89Mn1mdW5jdGlvbiBmKHQsZSl7cmV0dXJuIDE9PT1hP3RbZV06dC5yZWFkVUludDE2QkUoZSphKX1pZihpKXt2YXIgYz0tMTtmb3Iobz1yO288cztvKyspaWYoZih0LG8pPT09ZihlLC0xPT09Yz8wOm8tYykpe2lmKC0xPT09YyYmKGM9byksby1jKzE9PT11KXJldHVybiBjKmF9ZWxzZS0xIT09YyYmKG8tPW8tYyksYz0tMX1lbHNlIGZvcihyK3U+cyYmKHI9cy11KSxvPXI7bz49MDtvLS0pe2Zvcih2YXIgaD0hMCxkPTA7ZDx1O2QrKylpZihmKHQsbytkKSE9PWYoZSxkKSl7aD0hMTticmVha31pZihoKXJldHVybiBvfXJldHVybi0xfWZ1bmN0aW9uIHkodCxlLHIsbil7cj1OdW1iZXIocil8fDA7dmFyIGk9dC5sZW5ndGgtcjtuPyhuPU51bWJlcihuKSk+aSYmKG49aSk6bj1pO3ZhciBvPWUubGVuZ3RoO2lmKG8lMiE9MCl0aHJvdyBuZXcgVHlwZUVycm9yKCJJbnZhbGlkIGhleCBzdHJpbmciKTtuPm8vMiYmKG49by8yKTtmb3IodmFyIGE9MDthPG47KythKXt2YXIgcz1wYXJzZUludChlLnN1YnN0cigyKmEsMiksMTYpO2lmKEYocykpcmV0dXJuIGE7dFtyK2FdPXN9cmV0dXJuIGF9ZnVuY3Rpb24gdih0LGUscixuKXtyZXR1cm4gTyhmdW5jdGlvbih0KXtmb3IodmFyIGU9W10scj0wO3I8dC5sZW5ndGg7KytyKWUucHVzaCgyNTUmdC5jaGFyQ29kZUF0KHIpKTtyZXR1cm4gZX0oZSksdCxyLG4pfWZ1bmN0aW9uIGcodCxlLHIpe3JldHVybiAwPT09ZSYmcj09PXQubGVuZ3RoP24uZnJvbUJ5dGVBcnJheSh0KTpuLmZyb21CeXRlQXJyYXkodC5zbGljZShlLHIpKX1mdW5jdGlvbiB3KHQsZSxyKXtyPU1hdGgubWluKHQubGVuZ3RoLHIpO2Zvcih2YXIgbj1bXSxpPWU7aTxyOyl7dmFyIG8sYSxzLHUsZj10W2ldLGM9bnVsbCxoPWY+MjM5PzQ6Zj4yMjM/MzpmPjE5MT8yOjE7aWYoaStoPD1yKXN3aXRjaChoKXtjYXNlIDE6ZjwxMjgmJihjPWYpO2JyZWFrO2Nhc2UgMjoxMjg9PSgxOTImKG89dFtpKzFdKSkmJih1PSgzMSZmKTw8Nnw2MyZvKT4xMjcmJihjPXUpO2JyZWFrO2Nhc2UgMzpvPXRbaSsxXSxhPXRbaSsyXSwxMjg9PSgxOTImbykmJjEyOD09KDE5MiZhKSYmKHU9KDE1JmYpPDwxMnwoNjMmbyk8PDZ8NjMmYSk+MjA0NyYmKHU8NTUyOTZ8fHU+NTczNDMpJiYoYz11KTticmVhaztjYXNlIDQ6bz10W2krMV0sYT10W2krMl0scz10W2krM10sMTI4PT0oMTkyJm8pJiYxMjg9PSgxOTImYSkmJjEyOD09KDE5MiZzKSYmKHU9KDE1JmYpPDwxOHwoNjMmbyk8PDEyfCg2MyZhKTw8Nnw2MyZzKT42NTUzNSYmdTwxMTE0MTEyJiYoYz11KX1udWxsPT09Yz8oYz02NTUzMyxoPTEpOmM+NjU1MzUmJihjLT02NTUzNixuLnB1c2goYz4+PjEwJjEwMjN8NTUyOTYpLGM9NTYzMjB8MTAyMyZjKSxuLnB1c2goYyksaSs9aH1yZXR1cm4gZnVuY3Rpb24odCl7dmFyIGU9dC5sZW5ndGg7aWYoZTw9XylyZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShTdHJpbmcsdCk7dmFyIHI9IiIsbj0wO2Zvcig7bjxlOylyKz1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KFN0cmluZyx0LnNsaWNlKG4sbis9XykpO3JldHVybiByfShuKX1yLmtNYXhMZW5ndGg9byxzLlRZUEVEX0FSUkFZX1NVUFBPUlQ9ZnVuY3Rpb24oKXt0cnl7dmFyIHQ9bmV3IFVpbnQ4QXJyYXkoMSk7cmV0dXJuIHQuX19wcm90b19fPXtfX3Byb3RvX186VWludDhBcnJheS5wcm90b3R5cGUsZm9vOmZ1bmN0aW9uKCl7cmV0dXJuIDQyfX0sNDI9PT10LmZvbygpfWNhdGNoKHQpe3JldHVybiExfX0oKSxzLlRZUEVEX0FSUkFZX1NVUFBPUlR8fCJ1bmRlZmluZWQiPT10eXBlb2YgY29uc29sZXx8ImZ1bmN0aW9uIiE9dHlwZW9mIGNvbnNvbGUuZXJyb3J8fGNvbnNvbGUuZXJyb3IoIlRoaXMgYnJvd3NlciBsYWNrcyB0eXBlZCBhcnJheSAoVWludDhBcnJheSkgc3VwcG9ydCB3aGljaCBpcyByZXF1aXJlZCBieSBgYnVmZmVyYCB2NS54LiBVc2UgYGJ1ZmZlcmAgdjQueCBpZiB5b3UgcmVxdWlyZSBvbGQgYnJvd3NlciBzdXBwb3J0LiIpLCJ1bmRlZmluZWQiIT10eXBlb2YgU3ltYm9sJiZTeW1ib2wuc3BlY2llcyYmc1tTeW1ib2wuc3BlY2llc109PT1zJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocyxTeW1ib2wuc3BlY2llcyx7dmFsdWU6bnVsbCxjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMSx3cml0YWJsZTohMX0pLHMucG9vbFNpemU9ODE5MixzLmZyb209ZnVuY3Rpb24odCxlLHIpe3JldHVybiB1KHQsZSxyKX0scy5wcm90b3R5cGUuX19wcm90b19fPVVpbnQ4QXJyYXkucHJvdG90eXBlLHMuX19wcm90b19fPVVpbnQ4QXJyYXkscy5hbGxvYz1mdW5jdGlvbih0LGUscil7cmV0dXJuIGk9ZSxvPXIsZihuPXQpLG48PTA/YShuKTp2b2lkIDAhPT1pPyJzdHJpbmciPT10eXBlb2Ygbz9hKG4pLmZpbGwoaSxvKTphKG4pLmZpbGwoaSk6YShuKTt2YXIgbixpLG99LHMuYWxsb2NVbnNhZmU9ZnVuY3Rpb24odCl7cmV0dXJuIGModCl9LHMuYWxsb2NVbnNhZmVTbG93PWZ1bmN0aW9uKHQpe3JldHVybiBjKHQpfSxzLmlzQnVmZmVyPWZ1bmN0aW9uKHQpe3JldHVybiBudWxsIT10JiYhMD09PXQuX2lzQnVmZmVyfSxzLmNvbXBhcmU9ZnVuY3Rpb24odCxlKXtpZighcy5pc0J1ZmZlcih0KXx8IXMuaXNCdWZmZXIoZSkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQXJndW1lbnRzIG11c3QgYmUgQnVmZmVycyIpO2lmKHQ9PT1lKXJldHVybiAwO2Zvcih2YXIgcj10Lmxlbmd0aCxuPWUubGVuZ3RoLGk9MCxvPU1hdGgubWluKHIsbik7aTxvOysraSlpZih0W2ldIT09ZVtpXSl7cj10W2ldLG49ZVtpXTticmVha31yZXR1cm4gcjxuPy0xOm48cj8xOjB9LHMuaXNFbmNvZGluZz1mdW5jdGlvbih0KXtzd2l0Y2goU3RyaW5nKHQpLnRvTG93ZXJDYXNlKCkpe2Nhc2UiaGV4IjpjYXNlInV0ZjgiOmNhc2UidXRmLTgiOmNhc2UiYXNjaWkiOmNhc2UibGF0aW4xIjpjYXNlImJpbmFyeSI6Y2FzZSJiYXNlNjQiOmNhc2UidWNzMiI6Y2FzZSJ1Y3MtMiI6Y2FzZSJ1dGYxNmxlIjpjYXNlInV0Zi0xNmxlIjpyZXR1cm4hMDtkZWZhdWx0OnJldHVybiExfX0scy5jb25jYXQ9ZnVuY3Rpb24odCxlKXtpZighQXJyYXkuaXNBcnJheSh0KSl0aHJvdyBuZXcgVHlwZUVycm9yKCcibGlzdCIgYXJndW1lbnQgbXVzdCBiZSBhbiBBcnJheSBvZiBCdWZmZXJzJyk7aWYoMD09PXQubGVuZ3RoKXJldHVybiBzLmFsbG9jKDApO3ZhciByO2lmKHZvaWQgMD09PWUpZm9yKGU9MCxyPTA7cjx0Lmxlbmd0aDsrK3IpZSs9dFtyXS5sZW5ndGg7dmFyIG49cy5hbGxvY1Vuc2FmZShlKSxpPTA7Zm9yKHI9MDtyPHQubGVuZ3RoOysrcil7dmFyIG89dFtyXTtpZighcy5pc0J1ZmZlcihvKSl0aHJvdyBuZXcgVHlwZUVycm9yKCcibGlzdCIgYXJndW1lbnQgbXVzdCBiZSBhbiBBcnJheSBvZiBCdWZmZXJzJyk7by5jb3B5KG4saSksaSs9by5sZW5ndGh9cmV0dXJuIG59LHMuYnl0ZUxlbmd0aD1sLHMucHJvdG90eXBlLl9pc0J1ZmZlcj0hMCxzLnByb3RvdHlwZS5zd2FwMTY9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmxlbmd0aDtpZih0JTIhPTApdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkJ1ZmZlciBzaXplIG11c3QgYmUgYSBtdWx0aXBsZSBvZiAxNi1iaXRzIik7Zm9yKHZhciBlPTA7ZTx0O2UrPTIpcCh0aGlzLGUsZSsxKTtyZXR1cm4gdGhpc30scy5wcm90b3R5cGUuc3dhcDMyPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5sZW5ndGg7aWYodCU0IT0wKXRocm93IG5ldyBSYW5nZUVycm9yKCJCdWZmZXIgc2l6ZSBtdXN0IGJlIGEgbXVsdGlwbGUgb2YgMzItYml0cyIpO2Zvcih2YXIgZT0wO2U8dDtlKz00KXAodGhpcyxlLGUrMykscCh0aGlzLGUrMSxlKzIpO3JldHVybiB0aGlzfSxzLnByb3RvdHlwZS5zd2FwNjQ9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmxlbmd0aDtpZih0JTghPTApdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkJ1ZmZlciBzaXplIG11c3QgYmUgYSBtdWx0aXBsZSBvZiA2NC1iaXRzIik7Zm9yKHZhciBlPTA7ZTx0O2UrPTgpcCh0aGlzLGUsZSs3KSxwKHRoaXMsZSsxLGUrNikscCh0aGlzLGUrMixlKzUpLHAodGhpcyxlKzMsZSs0KTtyZXR1cm4gdGhpc30scy5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmxlbmd0aDtyZXR1cm4gMD09PXQ/IiI6MD09PWFyZ3VtZW50cy5sZW5ndGg/dyh0aGlzLDAsdCk6ZnVuY3Rpb24odCxlLHIpe3ZhciBuPSExO2lmKCh2b2lkIDA9PT1lfHxlPDApJiYoZT0wKSxlPnRoaXMubGVuZ3RoKXJldHVybiIiO2lmKCh2b2lkIDA9PT1yfHxyPnRoaXMubGVuZ3RoKSYmKHI9dGhpcy5sZW5ndGgpLHI8PTApcmV0dXJuIiI7aWYoKHI+Pj49MCk8PShlPj4+PTApKXJldHVybiIiO2Zvcih0fHwodD0idXRmOCIpOzspc3dpdGNoKHQpe2Nhc2UiaGV4IjpyZXR1cm4gayh0aGlzLGUscik7Y2FzZSJ1dGY4IjpjYXNlInV0Zi04IjpyZXR1cm4gdyh0aGlzLGUscik7Y2FzZSJhc2NpaSI6cmV0dXJuIE0odGhpcyxlLHIpO2Nhc2UibGF0aW4xIjpjYXNlImJpbmFyeSI6cmV0dXJuIHgodGhpcyxlLHIpO2Nhc2UiYmFzZTY0IjpyZXR1cm4gZyh0aGlzLGUscik7Y2FzZSJ1Y3MyIjpjYXNlInVjcy0yIjpjYXNlInV0ZjE2bGUiOmNhc2UidXRmLTE2bGUiOnJldHVybiBTKHRoaXMsZSxyKTtkZWZhdWx0OmlmKG4pdGhyb3cgbmV3IFR5cGVFcnJvcigiVW5rbm93biBlbmNvZGluZzogIit0KTt0PSh0KyIiKS50b0xvd2VyQ2FzZSgpLG49ITB9fS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LHMucHJvdG90eXBlLmVxdWFscz1mdW5jdGlvbih0KXtpZighcy5pc0J1ZmZlcih0KSl0aHJvdyBuZXcgVHlwZUVycm9yKCJBcmd1bWVudCBtdXN0IGJlIGEgQnVmZmVyIik7cmV0dXJuIHRoaXM9PT10fHwwPT09cy5jb21wYXJlKHRoaXMsdCl9LHMucHJvdG90eXBlLmluc3BlY3Q9ZnVuY3Rpb24oKXt2YXIgdD0iIixlPXIuSU5TUEVDVF9NQVhfQllURVM7cmV0dXJuIHRoaXMubGVuZ3RoPjAmJih0PXRoaXMudG9TdHJpbmcoImhleCIsMCxlKS5tYXRjaCgvLnsyfS9nKS5qb2luKCIgIiksdGhpcy5sZW5ndGg+ZSYmKHQrPSIgLi4uICIpKSwiPEJ1ZmZlciAiK3QrIj4ifSxzLnByb3RvdHlwZS5jb21wYXJlPWZ1bmN0aW9uKHQsZSxyLG4saSl7aWYoIXMuaXNCdWZmZXIodCkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQXJndW1lbnQgbXVzdCBiZSBhIEJ1ZmZlciIpO2lmKHZvaWQgMD09PWUmJihlPTApLHZvaWQgMD09PXImJihyPXQ/dC5sZW5ndGg6MCksdm9pZCAwPT09biYmKG49MCksdm9pZCAwPT09aSYmKGk9dGhpcy5sZW5ndGgpLGU8MHx8cj50Lmxlbmd0aHx8bjwwfHxpPnRoaXMubGVuZ3RoKXRocm93IG5ldyBSYW5nZUVycm9yKCJvdXQgb2YgcmFuZ2UgaW5kZXgiKTtpZihuPj1pJiZlPj1yKXJldHVybiAwO2lmKG4+PWkpcmV0dXJuLTE7aWYoZT49cilyZXR1cm4gMTtpZih0aGlzPT09dClyZXR1cm4gMDtmb3IodmFyIG89KGk+Pj49MCktKG4+Pj49MCksYT0ocj4+Pj0wKS0oZT4+Pj0wKSx1PU1hdGgubWluKG8sYSksZj10aGlzLnNsaWNlKG4saSksYz10LnNsaWNlKGUsciksaD0wO2g8dTsrK2gpaWYoZltoXSE9PWNbaF0pe289ZltoXSxhPWNbaF07YnJlYWt9cmV0dXJuIG88YT8tMTphPG8/MTowfSxzLnByb3RvdHlwZS5pbmNsdWRlcz1mdW5jdGlvbih0LGUscil7cmV0dXJuLTEhPT10aGlzLmluZGV4T2YodCxlLHIpfSxzLnByb3RvdHlwZS5pbmRleE9mPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gYih0aGlzLHQsZSxyLCEwKX0scy5wcm90b3R5cGUubGFzdEluZGV4T2Y9ZnVuY3Rpb24odCxlLHIpe3JldHVybiBiKHRoaXMsdCxlLHIsITEpfSxzLnByb3RvdHlwZS53cml0ZT1mdW5jdGlvbih0LGUscixuKXtpZih2b2lkIDA9PT1lKW49InV0ZjgiLHI9dGhpcy5sZW5ndGgsZT0wO2Vsc2UgaWYodm9pZCAwPT09ciYmInN0cmluZyI9PXR5cGVvZiBlKW49ZSxyPXRoaXMubGVuZ3RoLGU9MDtlbHNle2lmKCFpc0Zpbml0ZShlKSl0aHJvdyBuZXcgRXJyb3IoIkJ1ZmZlci53cml0ZShzdHJpbmcsIGVuY29kaW5nLCBvZmZzZXRbLCBsZW5ndGhdKSBpcyBubyBsb25nZXIgc3VwcG9ydGVkIik7ZT4+Pj0wLGlzRmluaXRlKHIpPyhyPj4+PTAsdm9pZCAwPT09biYmKG49InV0ZjgiKSk6KG49cixyPXZvaWQgMCl9dmFyIGk9dGhpcy5sZW5ndGgtZTtpZigodm9pZCAwPT09cnx8cj5pKSYmKHI9aSksdC5sZW5ndGg+MCYmKHI8MHx8ZTwwKXx8ZT50aGlzLmxlbmd0aCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiQXR0ZW1wdCB0byB3cml0ZSBvdXRzaWRlIGJ1ZmZlciBib3VuZHMiKTtufHwobj0idXRmOCIpO2Zvcih2YXIgbyxhLHMsdSxmLGMsaCxkLGwscD0hMTs7KXN3aXRjaChuKXtjYXNlImhleCI6cmV0dXJuIHkodGhpcyx0LGUscik7Y2FzZSJ1dGY4IjpjYXNlInV0Zi04IjpyZXR1cm4gZD1lLGw9cixPKFAodCwoaD10aGlzKS5sZW5ndGgtZCksaCxkLGwpO2Nhc2UiYXNjaWkiOnJldHVybiB2KHRoaXMsdCxlLHIpO2Nhc2UibGF0aW4xIjpjYXNlImJpbmFyeSI6cmV0dXJuIHYodGhpcyx0LGUscik7Y2FzZSJiYXNlNjQiOnJldHVybiB1PXRoaXMsZj1lLGM9cixPKFIodCksdSxmLGMpO2Nhc2UidWNzMiI6Y2FzZSJ1Y3MtMiI6Y2FzZSJ1dGYxNmxlIjpjYXNlInV0Zi0xNmxlIjpyZXR1cm4gYT1lLHM9cixPKGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByLG4saSxvPVtdLGE9MDthPHQubGVuZ3RoJiYhKChlLT0yKTwwKTsrK2Epcj10LmNoYXJDb2RlQXQoYSksbj1yPj44LGk9ciUyNTYsby5wdXNoKGkpLG8ucHVzaChuKTtyZXR1cm4gb30odCwobz10aGlzKS5sZW5ndGgtYSksbyxhLHMpO2RlZmF1bHQ6aWYocCl0aHJvdyBuZXcgVHlwZUVycm9yKCJVbmtub3duIGVuY29kaW5nOiAiK24pO249KCIiK24pLnRvTG93ZXJDYXNlKCkscD0hMH19LHMucHJvdG90eXBlLnRvSlNPTj1mdW5jdGlvbigpe3JldHVybnt0eXBlOiJCdWZmZXIiLGRhdGE6QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwodGhpcy5fYXJyfHx0aGlzLDApfX07dmFyIF89NDA5NjtmdW5jdGlvbiBNKHQsZSxyKXt2YXIgbj0iIjtyPU1hdGgubWluKHQubGVuZ3RoLHIpO2Zvcih2YXIgaT1lO2k8cjsrK2kpbis9U3RyaW5nLmZyb21DaGFyQ29kZSgxMjcmdFtpXSk7cmV0dXJuIG59ZnVuY3Rpb24geCh0LGUscil7dmFyIG49IiI7cj1NYXRoLm1pbih0Lmxlbmd0aCxyKTtmb3IodmFyIGk9ZTtpPHI7KytpKW4rPVN0cmluZy5mcm9tQ2hhckNvZGUodFtpXSk7cmV0dXJuIG59ZnVuY3Rpb24gayh0LGUscil7dmFyIG49dC5sZW5ndGg7KCFlfHxlPDApJiYoZT0wKSwoIXJ8fHI8MHx8cj5uKSYmKHI9bik7Zm9yKHZhciBpPSIiLG89ZTtvPHI7KytvKWkrPUModFtvXSk7cmV0dXJuIGl9ZnVuY3Rpb24gUyh0LGUscil7Zm9yKHZhciBuPXQuc2xpY2UoZSxyKSxpPSIiLG89MDtvPG4ubGVuZ3RoO28rPTIpaSs9U3RyaW5nLmZyb21DaGFyQ29kZShuW29dKzI1NipuW28rMV0pO3JldHVybiBpfWZ1bmN0aW9uIEUodCxlLHIpe2lmKHQlMSE9MHx8dDwwKXRocm93IG5ldyBSYW5nZUVycm9yKCJvZmZzZXQgaXMgbm90IHVpbnQiKTtpZih0K2U+cil0aHJvdyBuZXcgUmFuZ2VFcnJvcigiVHJ5aW5nIHRvIGFjY2VzcyBiZXlvbmQgYnVmZmVyIGxlbmd0aCIpfWZ1bmN0aW9uIEEodCxlLHIsbixpLG8pe2lmKCFzLmlzQnVmZmVyKHQpKXRocm93IG5ldyBUeXBlRXJyb3IoJyJidWZmZXIiIGFyZ3VtZW50IG11c3QgYmUgYSBCdWZmZXIgaW5zdGFuY2UnKTtpZihlPml8fGU8byl0aHJvdyBuZXcgUmFuZ2VFcnJvcignInZhbHVlIiBhcmd1bWVudCBpcyBvdXQgb2YgYm91bmRzJyk7aWYocituPnQubGVuZ3RoKXRocm93IG5ldyBSYW5nZUVycm9yKCJJbmRleCBvdXQgb2YgcmFuZ2UiKX1mdW5jdGlvbiBqKHQsZSxyLG4saSxvKXtpZihyK24+dC5sZW5ndGgpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkluZGV4IG91dCBvZiByYW5nZSIpO2lmKHI8MCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW5kZXggb3V0IG9mIHJhbmdlIil9ZnVuY3Rpb24gSSh0LGUscixuLG8pe3JldHVybiBlPStlLHI+Pj49MCxvfHxqKHQsMCxyLDQpLGkud3JpdGUodCxlLHIsbiwyMyw0KSxyKzR9ZnVuY3Rpb24gQih0LGUscixuLG8pe3JldHVybiBlPStlLHI+Pj49MCxvfHxqKHQsMCxyLDgpLGkud3JpdGUodCxlLHIsbiw1Miw4KSxyKzh9cy5wcm90b3R5cGUuc2xpY2U9ZnVuY3Rpb24odCxlKXt2YXIgcj10aGlzLmxlbmd0aDsodD1+fnQpPDA/KHQrPXIpPDAmJih0PTApOnQ+ciYmKHQ9ciksKGU9dm9pZCAwPT09ZT9yOn5+ZSk8MD8oZSs9cik8MCYmKGU9MCk6ZT5yJiYoZT1yKSxlPHQmJihlPXQpO3ZhciBuPXRoaXMuc3ViYXJyYXkodCxlKTtyZXR1cm4gbi5fX3Byb3RvX189cy5wcm90b3R5cGUsbn0scy5wcm90b3R5cGUucmVhZFVJbnRMRT1mdW5jdGlvbih0LGUscil7dD4+Pj0wLGU+Pj49MCxyfHxFKHQsZSx0aGlzLmxlbmd0aCk7Zm9yKHZhciBuPXRoaXNbdF0saT0xLG89MDsrK288ZSYmKGkqPTI1Nik7KW4rPXRoaXNbdCtvXSppO3JldHVybiBufSxzLnByb3RvdHlwZS5yZWFkVUludEJFPWZ1bmN0aW9uKHQsZSxyKXt0Pj4+PTAsZT4+Pj0wLHJ8fEUodCxlLHRoaXMubGVuZ3RoKTtmb3IodmFyIG49dGhpc1t0Ky0tZV0saT0xO2U+MCYmKGkqPTI1Nik7KW4rPXRoaXNbdCstLWVdKmk7cmV0dXJuIG59LHMucHJvdG90eXBlLnJlYWRVSW50OD1mdW5jdGlvbih0LGUpe3JldHVybiB0Pj4+PTAsZXx8RSh0LDEsdGhpcy5sZW5ndGgpLHRoaXNbdF19LHMucHJvdG90eXBlLnJlYWRVSW50MTZMRT1mdW5jdGlvbih0LGUpe3JldHVybiB0Pj4+PTAsZXx8RSh0LDIsdGhpcy5sZW5ndGgpLHRoaXNbdF18dGhpc1t0KzFdPDw4fSxzLnByb3RvdHlwZS5yZWFkVUludDE2QkU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdD4+Pj0wLGV8fEUodCwyLHRoaXMubGVuZ3RoKSx0aGlzW3RdPDw4fHRoaXNbdCsxXX0scy5wcm90b3R5cGUucmVhZFVJbnQzMkxFPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQ+Pj49MCxlfHxFKHQsNCx0aGlzLmxlbmd0aCksKHRoaXNbdF18dGhpc1t0KzFdPDw4fHRoaXNbdCsyXTw8MTYpKzE2Nzc3MjE2KnRoaXNbdCszXX0scy5wcm90b3R5cGUucmVhZFVJbnQzMkJFPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQ+Pj49MCxlfHxFKHQsNCx0aGlzLmxlbmd0aCksMTY3NzcyMTYqdGhpc1t0XSsodGhpc1t0KzFdPDwxNnx0aGlzW3QrMl08PDh8dGhpc1t0KzNdKX0scy5wcm90b3R5cGUucmVhZEludExFPWZ1bmN0aW9uKHQsZSxyKXt0Pj4+PTAsZT4+Pj0wLHJ8fEUodCxlLHRoaXMubGVuZ3RoKTtmb3IodmFyIG49dGhpc1t0XSxpPTEsbz0wOysrbzxlJiYoaSo9MjU2KTspbis9dGhpc1t0K29dKmk7cmV0dXJuIG4+PShpKj0xMjgpJiYobi09TWF0aC5wb3coMiw4KmUpKSxufSxzLnByb3RvdHlwZS5yZWFkSW50QkU9ZnVuY3Rpb24odCxlLHIpe3Q+Pj49MCxlPj4+PTAscnx8RSh0LGUsdGhpcy5sZW5ndGgpO2Zvcih2YXIgbj1lLGk9MSxvPXRoaXNbdCstLW5dO24+MCYmKGkqPTI1Nik7KW8rPXRoaXNbdCstLW5dKmk7cmV0dXJuIG8+PShpKj0xMjgpJiYoby09TWF0aC5wb3coMiw4KmUpKSxvfSxzLnByb3RvdHlwZS5yZWFkSW50OD1mdW5jdGlvbih0LGUpe3JldHVybiB0Pj4+PTAsZXx8RSh0LDEsdGhpcy5sZW5ndGgpLDEyOCZ0aGlzW3RdPy0xKigyNTUtdGhpc1t0XSsxKTp0aGlzW3RdfSxzLnByb3RvdHlwZS5yZWFkSW50MTZMRT1mdW5jdGlvbih0LGUpe3Q+Pj49MCxlfHxFKHQsMix0aGlzLmxlbmd0aCk7dmFyIHI9dGhpc1t0XXx0aGlzW3QrMV08PDg7cmV0dXJuIDMyNzY4JnI/NDI5NDkwMTc2MHxyOnJ9LHMucHJvdG90eXBlLnJlYWRJbnQxNkJFPWZ1bmN0aW9uKHQsZSl7dD4+Pj0wLGV8fEUodCwyLHRoaXMubGVuZ3RoKTt2YXIgcj10aGlzW3QrMV18dGhpc1t0XTw8ODtyZXR1cm4gMzI3Njgmcj80Mjk0OTAxNzYwfHI6cn0scy5wcm90b3R5cGUucmVhZEludDMyTEU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdD4+Pj0wLGV8fEUodCw0LHRoaXMubGVuZ3RoKSx0aGlzW3RdfHRoaXNbdCsxXTw8OHx0aGlzW3QrMl08PDE2fHRoaXNbdCszXTw8MjR9LHMucHJvdG90eXBlLnJlYWRJbnQzMkJFPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQ+Pj49MCxlfHxFKHQsNCx0aGlzLmxlbmd0aCksdGhpc1t0XTw8MjR8dGhpc1t0KzFdPDwxNnx0aGlzW3QrMl08PDh8dGhpc1t0KzNdfSxzLnByb3RvdHlwZS5yZWFkRmxvYXRMRT1mdW5jdGlvbih0LGUpe3JldHVybiB0Pj4+PTAsZXx8RSh0LDQsdGhpcy5sZW5ndGgpLGkucmVhZCh0aGlzLHQsITAsMjMsNCl9LHMucHJvdG90eXBlLnJlYWRGbG9hdEJFPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQ+Pj49MCxlfHxFKHQsNCx0aGlzLmxlbmd0aCksaS5yZWFkKHRoaXMsdCwhMSwyMyw0KX0scy5wcm90b3R5cGUucmVhZERvdWJsZUxFPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQ+Pj49MCxlfHxFKHQsOCx0aGlzLmxlbmd0aCksaS5yZWFkKHRoaXMsdCwhMCw1Miw4KX0scy5wcm90b3R5cGUucmVhZERvdWJsZUJFPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQ+Pj49MCxlfHxFKHQsOCx0aGlzLmxlbmd0aCksaS5yZWFkKHRoaXMsdCwhMSw1Miw4KX0scy5wcm90b3R5cGUud3JpdGVVSW50TEU9ZnVuY3Rpb24odCxlLHIsbil7KHQ9K3QsZT4+Pj0wLHI+Pj49MCxuKXx8QSh0aGlzLHQsZSxyLE1hdGgucG93KDIsOCpyKS0xLDApO3ZhciBpPTEsbz0wO2Zvcih0aGlzW2VdPTI1NSZ0OysrbzxyJiYoaSo9MjU2KTspdGhpc1tlK29dPXQvaSYyNTU7cmV0dXJuIGUrcn0scy5wcm90b3R5cGUud3JpdGVVSW50QkU9ZnVuY3Rpb24odCxlLHIsbil7KHQ9K3QsZT4+Pj0wLHI+Pj49MCxuKXx8QSh0aGlzLHQsZSxyLE1hdGgucG93KDIsOCpyKS0xLDApO3ZhciBpPXItMSxvPTE7Zm9yKHRoaXNbZStpXT0yNTUmdDstLWk+PTAmJihvKj0yNTYpOyl0aGlzW2UraV09dC9vJjI1NTtyZXR1cm4gZStyfSxzLnByb3RvdHlwZS53cml0ZVVJbnQ4PWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gdD0rdCxlPj4+PTAscnx8QSh0aGlzLHQsZSwxLDI1NSwwKSx0aGlzW2VdPTI1NSZ0LGUrMX0scy5wcm90b3R5cGUud3JpdGVVSW50MTZMRT1mdW5jdGlvbih0LGUscil7cmV0dXJuIHQ9K3QsZT4+Pj0wLHJ8fEEodGhpcyx0LGUsMiw2NTUzNSwwKSx0aGlzW2VdPTI1NSZ0LHRoaXNbZSsxXT10Pj4+OCxlKzJ9LHMucHJvdG90eXBlLndyaXRlVUludDE2QkU9ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0PSt0LGU+Pj49MCxyfHxBKHRoaXMsdCxlLDIsNjU1MzUsMCksdGhpc1tlXT10Pj4+OCx0aGlzW2UrMV09MjU1JnQsZSsyfSxzLnByb3RvdHlwZS53cml0ZVVJbnQzMkxFPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gdD0rdCxlPj4+PTAscnx8QSh0aGlzLHQsZSw0LDQyOTQ5NjcyOTUsMCksdGhpc1tlKzNdPXQ+Pj4yNCx0aGlzW2UrMl09dD4+PjE2LHRoaXNbZSsxXT10Pj4+OCx0aGlzW2VdPTI1NSZ0LGUrNH0scy5wcm90b3R5cGUud3JpdGVVSW50MzJCRT1mdW5jdGlvbih0LGUscil7cmV0dXJuIHQ9K3QsZT4+Pj0wLHJ8fEEodGhpcyx0LGUsNCw0Mjk0OTY3Mjk1LDApLHRoaXNbZV09dD4+PjI0LHRoaXNbZSsxXT10Pj4+MTYsdGhpc1tlKzJdPXQ+Pj44LHRoaXNbZSszXT0yNTUmdCxlKzR9LHMucHJvdG90eXBlLndyaXRlSW50TEU9ZnVuY3Rpb24odCxlLHIsbil7aWYodD0rdCxlPj4+PTAsIW4pe3ZhciBpPU1hdGgucG93KDIsOCpyLTEpO0EodGhpcyx0LGUscixpLTEsLWkpfXZhciBvPTAsYT0xLHM9MDtmb3IodGhpc1tlXT0yNTUmdDsrK288ciYmKGEqPTI1Nik7KXQ8MCYmMD09PXMmJjAhPT10aGlzW2Urby0xXSYmKHM9MSksdGhpc1tlK29dPSh0L2E+PjApLXMmMjU1O3JldHVybiBlK3J9LHMucHJvdG90eXBlLndyaXRlSW50QkU9ZnVuY3Rpb24odCxlLHIsbil7aWYodD0rdCxlPj4+PTAsIW4pe3ZhciBpPU1hdGgucG93KDIsOCpyLTEpO0EodGhpcyx0LGUscixpLTEsLWkpfXZhciBvPXItMSxhPTEscz0wO2Zvcih0aGlzW2Urb109MjU1JnQ7LS1vPj0wJiYoYSo9MjU2KTspdDwwJiYwPT09cyYmMCE9PXRoaXNbZStvKzFdJiYocz0xKSx0aGlzW2Urb109KHQvYT4+MCktcyYyNTU7cmV0dXJuIGUrcn0scy5wcm90b3R5cGUud3JpdGVJbnQ4PWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gdD0rdCxlPj4+PTAscnx8QSh0aGlzLHQsZSwxLDEyNywtMTI4KSx0PDAmJih0PTI1NSt0KzEpLHRoaXNbZV09MjU1JnQsZSsxfSxzLnByb3RvdHlwZS53cml0ZUludDE2TEU9ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0PSt0LGU+Pj49MCxyfHxBKHRoaXMsdCxlLDIsMzI3NjcsLTMyNzY4KSx0aGlzW2VdPTI1NSZ0LHRoaXNbZSsxXT10Pj4+OCxlKzJ9LHMucHJvdG90eXBlLndyaXRlSW50MTZCRT1mdW5jdGlvbih0LGUscil7cmV0dXJuIHQ9K3QsZT4+Pj0wLHJ8fEEodGhpcyx0LGUsMiwzMjc2NywtMzI3NjgpLHRoaXNbZV09dD4+PjgsdGhpc1tlKzFdPTI1NSZ0LGUrMn0scy5wcm90b3R5cGUud3JpdGVJbnQzMkxFPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gdD0rdCxlPj4+PTAscnx8QSh0aGlzLHQsZSw0LDIxNDc0ODM2NDcsLTIxNDc0ODM2NDgpLHRoaXNbZV09MjU1JnQsdGhpc1tlKzFdPXQ+Pj44LHRoaXNbZSsyXT10Pj4+MTYsdGhpc1tlKzNdPXQ+Pj4yNCxlKzR9LHMucHJvdG90eXBlLndyaXRlSW50MzJCRT1mdW5jdGlvbih0LGUscil7cmV0dXJuIHQ9K3QsZT4+Pj0wLHJ8fEEodGhpcyx0LGUsNCwyMTQ3NDgzNjQ3LC0yMTQ3NDgzNjQ4KSx0PDAmJih0PTQyOTQ5NjcyOTUrdCsxKSx0aGlzW2VdPXQ+Pj4yNCx0aGlzW2UrMV09dD4+PjE2LHRoaXNbZSsyXT10Pj4+OCx0aGlzW2UrM109MjU1JnQsZSs0fSxzLnByb3RvdHlwZS53cml0ZUZsb2F0TEU9ZnVuY3Rpb24odCxlLHIpe3JldHVybiBJKHRoaXMsdCxlLCEwLHIpfSxzLnByb3RvdHlwZS53cml0ZUZsb2F0QkU9ZnVuY3Rpb24odCxlLHIpe3JldHVybiBJKHRoaXMsdCxlLCExLHIpfSxzLnByb3RvdHlwZS53cml0ZURvdWJsZUxFPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gQih0aGlzLHQsZSwhMCxyKX0scy5wcm90b3R5cGUud3JpdGVEb3VibGVCRT1mdW5jdGlvbih0LGUscil7cmV0dXJuIEIodGhpcyx0LGUsITEscil9LHMucHJvdG90eXBlLmNvcHk9ZnVuY3Rpb24odCxlLHIsbil7aWYocnx8KHI9MCksbnx8MD09PW58fChuPXRoaXMubGVuZ3RoKSxlPj10Lmxlbmd0aCYmKGU9dC5sZW5ndGgpLGV8fChlPTApLG4+MCYmbjxyJiYobj1yKSxuPT09cilyZXR1cm4gMDtpZigwPT09dC5sZW5ndGh8fDA9PT10aGlzLmxlbmd0aClyZXR1cm4gMDtpZihlPDApdGhyb3cgbmV3IFJhbmdlRXJyb3IoInRhcmdldFN0YXJ0IG91dCBvZiBib3VuZHMiKTtpZihyPDB8fHI+PXRoaXMubGVuZ3RoKXRocm93IG5ldyBSYW5nZUVycm9yKCJzb3VyY2VTdGFydCBvdXQgb2YgYm91bmRzIik7aWYobjwwKXRocm93IG5ldyBSYW5nZUVycm9yKCJzb3VyY2VFbmQgb3V0IG9mIGJvdW5kcyIpO24+dGhpcy5sZW5ndGgmJihuPXRoaXMubGVuZ3RoKSx0Lmxlbmd0aC1lPG4tciYmKG49dC5sZW5ndGgtZStyKTt2YXIgaSxvPW4tcjtpZih0aGlzPT09dCYmcjxlJiZlPG4pZm9yKGk9by0xO2k+PTA7LS1pKXRbaStlXT10aGlzW2krcl07ZWxzZSBpZihvPDFlMylmb3IoaT0wO2k8bzsrK2kpdFtpK2VdPXRoaXNbaStyXTtlbHNlIFVpbnQ4QXJyYXkucHJvdG90eXBlLnNldC5jYWxsKHQsdGhpcy5zdWJhcnJheShyLHIrbyksZSk7cmV0dXJuIG99LHMucHJvdG90eXBlLmZpbGw9ZnVuY3Rpb24odCxlLHIsbil7aWYoInN0cmluZyI9PXR5cGVvZiB0KXtpZigic3RyaW5nIj09dHlwZW9mIGU/KG49ZSxlPTAscj10aGlzLmxlbmd0aCk6InN0cmluZyI9PXR5cGVvZiByJiYobj1yLHI9dGhpcy5sZW5ndGgpLDE9PT10Lmxlbmd0aCl7dmFyIGk9dC5jaGFyQ29kZUF0KDApO2k8MjU2JiYodD1pKX1pZih2b2lkIDAhPT1uJiYic3RyaW5nIiE9dHlwZW9mIG4pdGhyb3cgbmV3IFR5cGVFcnJvcigiZW5jb2RpbmcgbXVzdCBiZSBhIHN0cmluZyIpO2lmKCJzdHJpbmciPT10eXBlb2YgbiYmIXMuaXNFbmNvZGluZyhuKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJVbmtub3duIGVuY29kaW5nOiAiK24pfWVsc2UibnVtYmVyIj09dHlwZW9mIHQmJih0Jj0yNTUpO2lmKGU8MHx8dGhpcy5sZW5ndGg8ZXx8dGhpcy5sZW5ndGg8cil0aHJvdyBuZXcgUmFuZ2VFcnJvcigiT3V0IG9mIHJhbmdlIGluZGV4Iik7aWYocjw9ZSlyZXR1cm4gdGhpczt2YXIgbztpZihlPj4+PTAscj12b2lkIDA9PT1yP3RoaXMubGVuZ3RoOnI+Pj4wLHR8fCh0PTApLCJudW1iZXIiPT10eXBlb2YgdClmb3Iobz1lO288cjsrK28pdGhpc1tvXT10O2Vsc2V7dmFyIGE9cy5pc0J1ZmZlcih0KT90Om5ldyBzKHQsbiksdT1hLmxlbmd0aDtmb3Iobz0wO288ci1lOysrbyl0aGlzW28rZV09YVtvJXVdfXJldHVybiB0aGlzfTt2YXIgVD0vW14rLzAtOUEtWmEtei1fXS9nO2Z1bmN0aW9uIEModCl7cmV0dXJuIHQ8MTY/IjAiK3QudG9TdHJpbmcoMTYpOnQudG9TdHJpbmcoMTYpfWZ1bmN0aW9uIFAodCxlKXt2YXIgcjtlPWV8fDEvMDtmb3IodmFyIG49dC5sZW5ndGgsaT1udWxsLG89W10sYT0wO2E8bjsrK2Epe2lmKChyPXQuY2hhckNvZGVBdChhKSk+NTUyOTUmJnI8NTczNDQpe2lmKCFpKXtpZihyPjU2MzE5KXsoZS09Myk+LTEmJm8ucHVzaCgyMzksMTkxLDE4OSk7Y29udGludWV9aWYoYSsxPT09bil7KGUtPTMpPi0xJiZvLnB1c2goMjM5LDE5MSwxODkpO2NvbnRpbnVlfWk9cjtjb250aW51ZX1pZihyPDU2MzIwKXsoZS09Myk+LTEmJm8ucHVzaCgyMzksMTkxLDE4OSksaT1yO2NvbnRpbnVlfXI9NjU1MzYrKGktNTUyOTY8PDEwfHItNTYzMjApfWVsc2UgaSYmKGUtPTMpPi0xJiZvLnB1c2goMjM5LDE5MSwxODkpO2lmKGk9bnVsbCxyPDEyOCl7aWYoKGUtPTEpPDApYnJlYWs7by5wdXNoKHIpfWVsc2UgaWYocjwyMDQ4KXtpZigoZS09Mik8MClicmVhaztvLnB1c2gocj4+NnwxOTIsNjMmcnwxMjgpfWVsc2UgaWYocjw2NTUzNil7aWYoKGUtPTMpPDApYnJlYWs7by5wdXNoKHI+PjEyfDIyNCxyPj42JjYzfDEyOCw2MyZyfDEyOCl9ZWxzZXtpZighKHI8MTExNDExMikpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIGNvZGUgcG9pbnQiKTtpZigoZS09NCk8MClicmVhaztvLnB1c2gocj4+MTh8MjQwLHI+PjEyJjYzfDEyOCxyPj42JjYzfDEyOCw2MyZyfDEyOCl9fXJldHVybiBvfWZ1bmN0aW9uIFIodCl7cmV0dXJuIG4udG9CeXRlQXJyYXkoZnVuY3Rpb24odCl7aWYoKHQ9dC50cmltKCkucmVwbGFjZShULCIiKSkubGVuZ3RoPDIpcmV0dXJuIiI7Zm9yKDt0Lmxlbmd0aCU0IT0wOyl0Kz0iPSI7cmV0dXJuIHR9KHQpKX1mdW5jdGlvbiBPKHQsZSxyLG4pe2Zvcih2YXIgaT0wO2k8biYmIShpK3I+PWUubGVuZ3RofHxpPj10Lmxlbmd0aCk7KytpKWVbaStyXT10W2ldO3JldHVybiBpfWZ1bmN0aW9uIE4odCl7cmV0dXJuIHQgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcnx8bnVsbCE9dCYmbnVsbCE9dC5jb25zdHJ1Y3RvciYmIkFycmF5QnVmZmVyIj09PXQuY29uc3RydWN0b3IubmFtZSYmIm51bWJlciI9PXR5cGVvZiB0LmJ5dGVMZW5ndGh9ZnVuY3Rpb24gTCh0KXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgQXJyYXlCdWZmZXIuaXNWaWV3JiZBcnJheUJ1ZmZlci5pc1ZpZXcodCl9ZnVuY3Rpb24gRih0KXtyZXR1cm4gdCE9dH19LHsiYmFzZTY0LWpzIjoxNSxpZWVlNzU0Ojk5fV0sNDg6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbj10KCJzYWZlLWJ1ZmZlciIpLkJ1ZmZlcixpPXQoInN0cmVhbSIpLlRyYW5zZm9ybSxvPXQoInN0cmluZ19kZWNvZGVyIikuU3RyaW5nRGVjb2RlcjtmdW5jdGlvbiBhKHQpe2kuY2FsbCh0aGlzKSx0aGlzLmhhc2hNb2RlPSJzdHJpbmciPT10eXBlb2YgdCx0aGlzLmhhc2hNb2RlP3RoaXNbdF09dGhpcy5fZmluYWxPckRpZ2VzdDp0aGlzLmZpbmFsPXRoaXMuX2ZpbmFsT3JEaWdlc3QsdGhpcy5fZmluYWwmJih0aGlzLl9fZmluYWw9dGhpcy5fZmluYWwsdGhpcy5fZmluYWw9bnVsbCksdGhpcy5fZGVjb2Rlcj1udWxsLHRoaXMuX2VuY29kaW5nPW51bGx9dCgiaW5oZXJpdHMiKShhLGkpLGEucHJvdG90eXBlLnVwZGF0ZT1mdW5jdGlvbih0LGUscil7InN0cmluZyI9PXR5cGVvZiB0JiYodD1uLmZyb20odCxlKSk7dmFyIGk9dGhpcy5fdXBkYXRlKHQpO3JldHVybiB0aGlzLmhhc2hNb2RlP3RoaXM6KHImJihpPXRoaXMuX3RvU3RyaW5nKGkscikpLGkpfSxhLnByb3RvdHlwZS5zZXRBdXRvUGFkZGluZz1mdW5jdGlvbigpe30sYS5wcm90b3R5cGUuZ2V0QXV0aFRhZz1mdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcigidHJ5aW5nIHRvIGdldCBhdXRoIHRhZyBpbiB1bnN1cHBvcnRlZCBzdGF0ZSIpfSxhLnByb3RvdHlwZS5zZXRBdXRoVGFnPWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKCJ0cnlpbmcgdG8gc2V0IGF1dGggdGFnIGluIHVuc3VwcG9ydGVkIHN0YXRlIil9LGEucHJvdG90eXBlLnNldEFBRD1mdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcigidHJ5aW5nIHRvIHNldCBhYWQgaW4gdW5zdXBwb3J0ZWQgc3RhdGUiKX0sYS5wcm90b3R5cGUuX3RyYW5zZm9ybT1mdW5jdGlvbih0LGUscil7dmFyIG47dHJ5e3RoaXMuaGFzaE1vZGU/dGhpcy5fdXBkYXRlKHQpOnRoaXMucHVzaCh0aGlzLl91cGRhdGUodCkpfWNhdGNoKHQpe249dH1maW5hbGx5e3Iobil9fSxhLnByb3RvdHlwZS5fZmx1c2g9ZnVuY3Rpb24odCl7dmFyIGU7dHJ5e3RoaXMucHVzaCh0aGlzLl9fZmluYWwoKSl9Y2F0Y2godCl7ZT10fXQoZSl9LGEucHJvdG90eXBlLl9maW5hbE9yRGlnZXN0PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX19maW5hbCgpfHxuLmFsbG9jKDApO3JldHVybiB0JiYoZT10aGlzLl90b1N0cmluZyhlLHQsITApKSxlfSxhLnByb3RvdHlwZS5fdG9TdHJpbmc9ZnVuY3Rpb24odCxlLHIpe2lmKHRoaXMuX2RlY29kZXJ8fCh0aGlzLl9kZWNvZGVyPW5ldyBvKGUpLHRoaXMuX2VuY29kaW5nPWUpLHRoaXMuX2VuY29kaW5nIT09ZSl0aHJvdyBuZXcgRXJyb3IoImNhbid0IHN3aXRjaCBlbmNvZGluZ3MiKTt2YXIgbj10aGlzLl9kZWNvZGVyLndyaXRlKHQpO3JldHVybiByJiYobis9dGhpcy5fZGVjb2Rlci5lbmQoKSksbn0sZS5leHBvcnRzPWF9LHtpbmhlcml0czoxMDEsInNhZmUtYnVmZmVyIjoxNDcsc3RyZWFtOjE1NixzdHJpbmdfZGVjb2RlcjoxNTd9XSw0OTpbZnVuY3Rpb24odCxlLHIpeyhmdW5jdGlvbih0KXtmdW5jdGlvbiBlKHQpe3JldHVybiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodCl9ci5pc0FycmF5PWZ1bmN0aW9uKHQpe3JldHVybiBBcnJheS5pc0FycmF5P0FycmF5LmlzQXJyYXkodCk6IltvYmplY3QgQXJyYXldIj09PWUodCl9LHIuaXNCb29sZWFuPWZ1bmN0aW9uKHQpe3JldHVybiJib29sZWFuIj09dHlwZW9mIHR9LHIuaXNOdWxsPWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT09dH0sci5pc051bGxPclVuZGVmaW5lZD1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dH0sci5pc051bWJlcj1mdW5jdGlvbih0KXtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIHR9LHIuaXNTdHJpbmc9ZnVuY3Rpb24odCl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0fSxyLmlzU3ltYm9sPWZ1bmN0aW9uKHQpe3JldHVybiJzeW1ib2wiPT09KHZvaWQgMD09PXQ/InVuZGVmaW5lZCI6X3R5cGVvZih0KSl9LHIuaXNVbmRlZmluZWQ9ZnVuY3Rpb24odCl7cmV0dXJuIHZvaWQgMD09PXR9LHIuaXNSZWdFeHA9ZnVuY3Rpb24odCl7cmV0dXJuIltvYmplY3QgUmVnRXhwXSI9PT1lKHQpfSxyLmlzT2JqZWN0PWZ1bmN0aW9uKHQpe3JldHVybiJvYmplY3QiPT09KHZvaWQgMD09PXQ/InVuZGVmaW5lZCI6X3R5cGVvZih0KSkmJm51bGwhPT10fSxyLmlzRGF0ZT1mdW5jdGlvbih0KXtyZXR1cm4iW29iamVjdCBEYXRlXSI9PT1lKHQpfSxyLmlzRXJyb3I9ZnVuY3Rpb24odCl7cmV0dXJuIltvYmplY3QgRXJyb3JdIj09PWUodCl8fHQgaW5zdGFuY2VvZiBFcnJvcn0sci5pc0Z1bmN0aW9uPWZ1bmN0aW9uKHQpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiB0fSxyLmlzUHJpbWl0aXZlPWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT09dHx8ImJvb2xlYW4iPT10eXBlb2YgdHx8Im51bWJlciI9PXR5cGVvZiB0fHwic3RyaW5nIj09dHlwZW9mIHR8fCJzeW1ib2wiPT09KHZvaWQgMD09PXQ/InVuZGVmaW5lZCI6X3R5cGVvZih0KSl8fHZvaWQgMD09PXR9LHIuaXNCdWZmZXI9dC5pc0J1ZmZlcn0pLmNhbGwodGhpcyx7aXNCdWZmZXI6dCgiLi4vLi4vaXMtYnVmZmVyL2luZGV4LmpzIil9KX0seyIuLi8uLi9pcy1idWZmZXIvaW5kZXguanMiOjEwMn1dLDUwOltmdW5jdGlvbih0LGUscil7KGZ1bmN0aW9uKHIpe3ZhciBuPXQoImVsbGlwdGljIiksaT10KCJibi5qcyIpO2UuZXhwb3J0cz1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IGEodCl9O3ZhciBvPXtzZWNwMjU2azE6e25hbWU6InNlY3AyNTZrMSIsYnl0ZUxlbmd0aDozMn0sc2VjcDIyNHIxOntuYW1lOiJwMjI0IixieXRlTGVuZ3RoOjI4fSxwcmltZTI1NnYxOntuYW1lOiJwMjU2IixieXRlTGVuZ3RoOjMyfSxwcmltZTE5MnYxOntuYW1lOiJwMTkyIixieXRlTGVuZ3RoOjI0fSxlZDI1NTE5OntuYW1lOiJlZDI1NTE5IixieXRlTGVuZ3RoOjMyfSxzZWNwMzg0cjE6e25hbWU6InAzODQiLGJ5dGVMZW5ndGg6NDh9LHNlY3A1MjFyMTp7bmFtZToicDUyMSIsYnl0ZUxlbmd0aDo2Nn19O2Z1bmN0aW9uIGEodCl7dGhpcy5jdXJ2ZVR5cGU9b1t0XSx0aGlzLmN1cnZlVHlwZXx8KHRoaXMuY3VydmVUeXBlPXtuYW1lOnR9KSx0aGlzLmN1cnZlPW5ldyBuLmVjKHRoaXMuY3VydmVUeXBlLm5hbWUpLHRoaXMua2V5cz12b2lkIDB9ZnVuY3Rpb24gcyh0LGUsbil7QXJyYXkuaXNBcnJheSh0KXx8KHQ9dC50b0FycmF5KCkpO3ZhciBpPW5ldyByKHQpO2lmKG4mJmkubGVuZ3RoPG4pe3ZhciBvPW5ldyByKG4taS5sZW5ndGgpO28uZmlsbCgwKSxpPXIuY29uY2F0KFtvLGldKX1yZXR1cm4gZT9pLnRvU3RyaW5nKGUpOml9by5wMjI0PW8uc2VjcDIyNHIxLG8ucDI1Nj1vLnNlY3AyNTZyMT1vLnByaW1lMjU2djEsby5wMTkyPW8uc2VjcDE5MnIxPW8ucHJpbWUxOTJ2MSxvLnAzODQ9by5zZWNwMzg0cjEsby5wNTIxPW8uc2VjcDUyMXIxLGEucHJvdG90eXBlLmdlbmVyYXRlS2V5cz1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLmtleXM9dGhpcy5jdXJ2ZS5nZW5LZXlQYWlyKCksdGhpcy5nZXRQdWJsaWNLZXkodCxlKX0sYS5wcm90b3R5cGUuY29tcHV0ZVNlY3JldD1mdW5jdGlvbih0LGUsbil7cmV0dXJuIGU9ZXx8InV0ZjgiLHIuaXNCdWZmZXIodCl8fCh0PW5ldyByKHQsZSkpLHModGhpcy5jdXJ2ZS5rZXlGcm9tUHVibGljKHQpLmdldFB1YmxpYygpLm11bCh0aGlzLmtleXMuZ2V0UHJpdmF0ZSgpKS5nZXRYKCksbix0aGlzLmN1cnZlVHlwZS5ieXRlTGVuZ3RoKX0sYS5wcm90b3R5cGUuZ2V0UHVibGljS2V5PWZ1bmN0aW9uKHQsZSl7dmFyIHI9dGhpcy5rZXlzLmdldFB1YmxpYygiY29tcHJlc3NlZCI9PT1lLCEwKTtyZXR1cm4iaHlicmlkIj09PWUmJihyW3IubGVuZ3RoLTFdJTI/clswXT03OnJbMF09NikscyhyLHQpfSxhLnByb3RvdHlwZS5nZXRQcml2YXRlS2V5PWZ1bmN0aW9uKHQpe3JldHVybiBzKHRoaXMua2V5cy5nZXRQcml2YXRlKCksdCl9LGEucHJvdG90eXBlLnNldFB1YmxpY0tleT1mdW5jdGlvbih0LGUpe3JldHVybiBlPWV8fCJ1dGY4IixyLmlzQnVmZmVyKHQpfHwodD1uZXcgcih0LGUpKSx0aGlzLmtleXMuX2ltcG9ydFB1YmxpYyh0KSx0aGlzfSxhLnByb3RvdHlwZS5zZXRQcml2YXRlS2V5PWZ1bmN0aW9uKHQsZSl7ZT1lfHwidXRmOCIsci5pc0J1ZmZlcih0KXx8KHQ9bmV3IHIodCxlKSk7dmFyIG49bmV3IGkodCk7cmV0dXJuIG49bi50b1N0cmluZygxNiksdGhpcy5rZXlzLl9pbXBvcnRQcml2YXRlKG4pLHRoaXN9fSkuY2FsbCh0aGlzLHQoImJ1ZmZlciIpLkJ1ZmZlcil9LHsiYm4uanMiOiJCTiIsYnVmZmVyOjQ3LGVsbGlwdGljOjY3fV0sNTE6W2Z1bmN0aW9uKHQsZSxyKXsoZnVuY3Rpb24ocil7dmFyIG49dCgiaW5oZXJpdHMiKSxpPXQoIi4vbWQ1Iiksbz10KCJyaXBlbWQxNjAiKSxhPXQoInNoYS5qcyIpLHM9dCgiY2lwaGVyLWJhc2UiKTtmdW5jdGlvbiB1KHQpe3MuY2FsbCh0aGlzLCJkaWdlc3QiKSx0aGlzLl9oYXNoPXQsdGhpcy5idWZmZXJzPVtdfWZ1bmN0aW9uIGYodCl7cy5jYWxsKHRoaXMsImRpZ2VzdCIpLHRoaXMuX2hhc2g9dH1uKHUscyksdS5wcm90b3R5cGUuX3VwZGF0ZT1mdW5jdGlvbih0KXt0aGlzLmJ1ZmZlcnMucHVzaCh0KX0sdS5wcm90b3R5cGUuX2ZpbmFsPWZ1bmN0aW9uKCl7dmFyIHQ9ci5jb25jYXQodGhpcy5idWZmZXJzKSxlPXRoaXMuX2hhc2godCk7cmV0dXJuIHRoaXMuYnVmZmVycz1udWxsLGV9LG4oZixzKSxmLnByb3RvdHlwZS5fdXBkYXRlPWZ1bmN0aW9uKHQpe3RoaXMuX2hhc2gudXBkYXRlKHQpfSxmLnByb3RvdHlwZS5fZmluYWw9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5faGFzaC5kaWdlc3QoKX0sZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiJtZDUiPT09KHQ9dC50b0xvd2VyQ2FzZSgpKT9uZXcgdShpKTpuZXcgZigicm1kMTYwIj09PXR8fCJyaXBlbWQxNjAiPT09dD9uZXcgbzphKHQpKX19KS5jYWxsKHRoaXMsdCgiYnVmZmVyIikuQnVmZmVyKX0seyIuL21kNSI6NTMsYnVmZmVyOjQ3LCJjaXBoZXItYmFzZSI6NDgsaW5oZXJpdHM6MTAxLHJpcGVtZDE2MDoxNDYsInNoYS5qcyI6MTQ5fV0sNTI6W2Z1bmN0aW9uKHQsZSxyKXsoZnVuY3Rpb24odCl7dmFyIHI9NCxuPW5ldyB0KHIpO24uZmlsbCgwKTtlLmV4cG9ydHM9ZnVuY3Rpb24oZSxpKXt2YXIgbz1pKGZ1bmN0aW9uKGUpe2lmKGUubGVuZ3RoJXIhPTApe3ZhciBpPWUubGVuZ3RoKyhyLWUubGVuZ3RoJXIpO2U9dC5jb25jYXQoW2Usbl0saSl9Zm9yKHZhciBvPW5ldyBBcnJheShlLmxlbmd0aD4+PjIpLGE9MCxzPTA7YTxlLmxlbmd0aDthKz1yLHMrKylvW3NdPWUucmVhZEludDMyTEUoYSk7cmV0dXJuIG99KGUpLDgqZS5sZW5ndGgpO2U9bmV3IHQoMTYpO2Zvcih2YXIgYT0wO2E8by5sZW5ndGg7YSsrKWUud3JpdGVJbnQzMkxFKG9bYV0sYTw8MiwhMCk7cmV0dXJuIGV9fSkuY2FsbCh0aGlzLHQoImJ1ZmZlciIpLkJ1ZmZlcil9LHtidWZmZXI6NDd9XSw1MzpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQoIi4vbWFrZS1oYXNoIik7ZnVuY3Rpb24gaSh0LGUpe3RbZT4+NV18PTEyODw8ZSUzMix0WzE0KyhlKzY0Pj4+OTw8NCldPWU7Zm9yKHZhciByPTE3MzI1ODQxOTMsbj0tMjcxNzMzODc5LGk9LTE3MzI1ODQxOTQsbz0yNzE3MzM4NzgsaD0wO2g8dC5sZW5ndGg7aCs9MTYpe3ZhciBkPXIsbD1uLHA9aSxiPW87bj1mKG49ZihuPWYobj1mKG49dShuPXUobj11KG49dShuPXMobj1zKG49cyhuPXMobj1hKG49YShuPWEobj1hKG4saT1hKGksbz1hKG8scj1hKHIsbixpLG8sdFtoKzBdLDcsLTY4MDg3NjkzNiksbixpLHRbaCsxXSwxMiwtMzg5NTY0NTg2KSxyLG4sdFtoKzJdLDE3LDYwNjEwNTgxOSksbyxyLHRbaCszXSwyMiwtMTA0NDUyNTMzMCksaT1hKGksbz1hKG8scj1hKHIsbixpLG8sdFtoKzRdLDcsLTE3NjQxODg5NyksbixpLHRbaCs1XSwxMiwxMjAwMDgwNDI2KSxyLG4sdFtoKzZdLDE3LC0xNDczMjMxMzQxKSxvLHIsdFtoKzddLDIyLC00NTcwNTk4MyksaT1hKGksbz1hKG8scj1hKHIsbixpLG8sdFtoKzhdLDcsMTc3MDAzNTQxNiksbixpLHRbaCs5XSwxMiwtMTk1ODQxNDQxNykscixuLHRbaCsxMF0sMTcsLTQyMDYzKSxvLHIsdFtoKzExXSwyMiwtMTk5MDQwNDE2MiksaT1hKGksbz1hKG8scj1hKHIsbixpLG8sdFtoKzEyXSw3LDE4MDQ2MDM2ODIpLG4saSx0W2grMTNdLDEyLC00MDM0MTEwMSkscixuLHRbaCsxNF0sMTcsLTE1MDIwMDIyOTApLG8scix0W2grMTVdLDIyLDEyMzY1MzUzMjkpLGk9cyhpLG89cyhvLHI9cyhyLG4saSxvLHRbaCsxXSw1LC0xNjU3OTY1MTApLG4saSx0W2grNl0sOSwtMTA2OTUwMTYzMikscixuLHRbaCsxMV0sMTQsNjQzNzE3NzEzKSxvLHIsdFtoKzBdLDIwLC0zNzM4OTczMDIpLGk9cyhpLG89cyhvLHI9cyhyLG4saSxvLHRbaCs1XSw1LC03MDE1NTg2OTEpLG4saSx0W2grMTBdLDksMzgwMTYwODMpLHIsbix0W2grMTVdLDE0LC02NjA0NzgzMzUpLG8scix0W2grNF0sMjAsLTQwNTUzNzg0OCksaT1zKGksbz1zKG8scj1zKHIsbixpLG8sdFtoKzldLDUsNTY4NDQ2NDM4KSxuLGksdFtoKzE0XSw5LC0xMDE5ODAzNjkwKSxyLG4sdFtoKzNdLDE0LC0xODczNjM5NjEpLG8scix0W2grOF0sMjAsMTE2MzUzMTUwMSksaT1zKGksbz1zKG8scj1zKHIsbixpLG8sdFtoKzEzXSw1LC0xNDQ0NjgxNDY3KSxuLGksdFtoKzJdLDksLTUxNDAzNzg0KSxyLG4sdFtoKzddLDE0LDE3MzUzMjg0NzMpLG8scix0W2grMTJdLDIwLC0xOTI2NjA3NzM0KSxpPXUoaSxvPXUobyxyPXUocixuLGksbyx0W2grNV0sNCwtMzc4NTU4KSxuLGksdFtoKzhdLDExLC0yMDIyNTc0NDYzKSxyLG4sdFtoKzExXSwxNiwxODM5MDMwNTYyKSxvLHIsdFtoKzE0XSwyMywtMzUzMDk1NTYpLGk9dShpLG89dShvLHI9dShyLG4saSxvLHRbaCsxXSw0LC0xNTMwOTkyMDYwKSxuLGksdFtoKzRdLDExLDEyNzI4OTMzNTMpLHIsbix0W2grN10sMTYsLTE1NTQ5NzYzMiksbyxyLHRbaCsxMF0sMjMsLTEwOTQ3MzA2NDApLGk9dShpLG89dShvLHI9dShyLG4saSxvLHRbaCsxM10sNCw2ODEyNzkxNzQpLG4saSx0W2grMF0sMTEsLTM1ODUzNzIyMikscixuLHRbaCszXSwxNiwtNzIyNTIxOTc5KSxvLHIsdFtoKzZdLDIzLDc2MDI5MTg5KSxpPXUoaSxvPXUobyxyPXUocixuLGksbyx0W2grOV0sNCwtNjQwMzY0NDg3KSxuLGksdFtoKzEyXSwxMSwtNDIxODE1ODM1KSxyLG4sdFtoKzE1XSwxNiw1MzA3NDI1MjApLG8scix0W2grMl0sMjMsLTk5NTMzODY1MSksaT1mKGksbz1mKG8scj1mKHIsbixpLG8sdFtoKzBdLDYsLTE5ODYzMDg0NCksbixpLHRbaCs3XSwxMCwxMTI2ODkxNDE1KSxyLG4sdFtoKzE0XSwxNSwtMTQxNjM1NDkwNSksbyxyLHRbaCs1XSwyMSwtNTc0MzQwNTUpLGk9ZihpLG89ZihvLHI9ZihyLG4saSxvLHRbaCsxMl0sNiwxNzAwNDg1NTcxKSxuLGksdFtoKzNdLDEwLC0xODk0OTg2NjA2KSxyLG4sdFtoKzEwXSwxNSwtMTA1MTUyMyksbyxyLHRbaCsxXSwyMSwtMjA1NDkyMjc5OSksaT1mKGksbz1mKG8scj1mKHIsbixpLG8sdFtoKzhdLDYsMTg3MzMxMzM1OSksbixpLHRbaCsxNV0sMTAsLTMwNjExNzQ0KSxyLG4sdFtoKzZdLDE1LC0xNTYwMTk4MzgwKSxvLHIsdFtoKzEzXSwyMSwxMzA5MTUxNjQ5KSxpPWYoaSxvPWYobyxyPWYocixuLGksbyx0W2grNF0sNiwtMTQ1NTIzMDcwKSxuLGksdFtoKzExXSwxMCwtMTEyMDIxMDM3OSkscixuLHRbaCsyXSwxNSw3MTg3ODcyNTkpLG8scix0W2grOV0sMjEsLTM0MzQ4NTU1MSkscj1jKHIsZCksbj1jKG4sbCksaT1jKGkscCksbz1jKG8sYil9cmV0dXJuW3IsbixpLG9dfWZ1bmN0aW9uIG8odCxlLHIsbixpLG8pe3JldHVybiBjKChhPWMoYyhlLHQpLGMobixvKSkpPDwocz1pKXxhPj4+MzItcyxyKTt2YXIgYSxzfWZ1bmN0aW9uIGEodCxlLHIsbixpLGEscyl7cmV0dXJuIG8oZSZyfH5lJm4sdCxlLGksYSxzKX1mdW5jdGlvbiBzKHQsZSxyLG4saSxhLHMpe3JldHVybiBvKGUmbnxyJn5uLHQsZSxpLGEscyl9ZnVuY3Rpb24gdSh0LGUscixuLGksYSxzKXtyZXR1cm4gbyhlXnJebix0LGUsaSxhLHMpfWZ1bmN0aW9uIGYodCxlLHIsbixpLGEscyl7cmV0dXJuIG8ocl4oZXx+biksdCxlLGksYSxzKX1mdW5jdGlvbiBjKHQsZSl7dmFyIHI9KDY1NTM1JnQpKyg2NTUzNSZlKTtyZXR1cm4odD4+MTYpKyhlPj4xNikrKHI+PjE2KTw8MTZ8NjU1MzUmcn1lLmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIG4odCxpKX19LHsiLi9tYWtlLWhhc2giOjUyfV0sNTQ6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbj10KCJpbmhlcml0cyIpLGk9dCgiLi9sZWdhY3kiKSxvPXQoImNpcGhlci1iYXNlIiksYT10KCJzYWZlLWJ1ZmZlciIpLkJ1ZmZlcixzPXQoImNyZWF0ZS1oYXNoL21kNSIpLHU9dCgicmlwZW1kMTYwIiksZj10KCJzaGEuanMiKSxjPWEuYWxsb2MoMTI4KTtmdW5jdGlvbiBoKHQsZSl7by5jYWxsKHRoaXMsImRpZ2VzdCIpLCJzdHJpbmciPT10eXBlb2YgZSYmKGU9YS5mcm9tKGUpKTt2YXIgcj0ic2hhNTEyIj09PXR8fCJzaGEzODQiPT09dD8xMjg6NjQ7KHRoaXMuX2FsZz10LHRoaXMuX2tleT1lLGUubGVuZ3RoPnIpP2U9KCJybWQxNjAiPT09dD9uZXcgdTpmKHQpKS51cGRhdGUoZSkuZGlnZXN0KCk6ZS5sZW5ndGg8ciYmKGU9YS5jb25jYXQoW2UsY10scikpO2Zvcih2YXIgbj10aGlzLl9pcGFkPWEuYWxsb2NVbnNhZmUociksaT10aGlzLl9vcGFkPWEuYWxsb2NVbnNhZmUocikscz0wO3M8cjtzKyspbltzXT01NF5lW3NdLGlbc109OTJeZVtzXTt0aGlzLl9oYXNoPSJybWQxNjAiPT09dD9uZXcgdTpmKHQpLHRoaXMuX2hhc2gudXBkYXRlKG4pfW4oaCxvKSxoLnByb3RvdHlwZS5fdXBkYXRlPWZ1bmN0aW9uKHQpe3RoaXMuX2hhc2gudXBkYXRlKHQpfSxoLnByb3RvdHlwZS5fZmluYWw9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9oYXNoLmRpZ2VzdCgpO3JldHVybigicm1kMTYwIj09PXRoaXMuX2FsZz9uZXcgdTpmKHRoaXMuX2FsZykpLnVwZGF0ZSh0aGlzLl9vcGFkKS51cGRhdGUodCkuZGlnZXN0KCl9LGUuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3JldHVybiJybWQxNjAiPT09KHQ9dC50b0xvd2VyQ2FzZSgpKXx8InJpcGVtZDE2MCI9PT10P25ldyBoKCJybWQxNjAiLGUpOiJtZDUiPT09dD9uZXcgaShzLGUpOm5ldyBoKHQsZSl9fSx7Ii4vbGVnYWN5Ijo1NSwiY2lwaGVyLWJhc2UiOjQ4LCJjcmVhdGUtaGFzaC9tZDUiOjUzLGluaGVyaXRzOjEwMSxyaXBlbWQxNjA6MTQ2LCJzYWZlLWJ1ZmZlciI6MTQ3LCJzaGEuanMiOjE0OX1dLDU1OltmdW5jdGlvbih0LGUscil7dmFyIG49dCgiaW5oZXJpdHMiKSxpPXQoInNhZmUtYnVmZmVyIikuQnVmZmVyLG89dCgiY2lwaGVyLWJhc2UiKSxhPWkuYWxsb2MoMTI4KSxzPTY0O2Z1bmN0aW9uIHUodCxlKXtvLmNhbGwodGhpcywiZGlnZXN0IiksInN0cmluZyI9PXR5cGVvZiBlJiYoZT1pLmZyb20oZSkpLHRoaXMuX2FsZz10LHRoaXMuX2tleT1lLGUubGVuZ3RoPnM/ZT10KGUpOmUubGVuZ3RoPHMmJihlPWkuY29uY2F0KFtlLGFdLHMpKTtmb3IodmFyIHI9dGhpcy5faXBhZD1pLmFsbG9jVW5zYWZlKHMpLG49dGhpcy5fb3BhZD1pLmFsbG9jVW5zYWZlKHMpLHU9MDt1PHM7dSsrKXJbdV09NTReZVt1XSxuW3VdPTkyXmVbdV07dGhpcy5faGFzaD1bcl19bih1LG8pLHUucHJvdG90eXBlLl91cGRhdGU9ZnVuY3Rpb24odCl7dGhpcy5faGFzaC5wdXNoKHQpfSx1LnByb3RvdHlwZS5fZmluYWw9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9hbGcoaS5jb25jYXQodGhpcy5faGFzaCkpO3JldHVybiB0aGlzLl9hbGcoaS5jb25jYXQoW3RoaXMuX29wYWQsdF0pKX0sZS5leHBvcnRzPXV9LHsiY2lwaGVyLWJhc2UiOjQ4LGluaGVyaXRzOjEwMSwic2FmZS1idWZmZXIiOjE0N31dLDU2OltmdW5jdGlvbih0LGUscil7ci5yYW5kb21CeXRlcz1yLnJuZz1yLnBzZXVkb1JhbmRvbUJ5dGVzPXIucHJuZz10KCJyYW5kb21ieXRlcyIpLHIuY3JlYXRlSGFzaD1yLkhhc2g9dCgiY3JlYXRlLWhhc2giKSxyLmNyZWF0ZUhtYWM9ci5IbWFjPXQoImNyZWF0ZS1obWFjIik7dmFyIG49dCgiYnJvd3NlcmlmeS1zaWduL2FsZ29zIiksaT1PYmplY3Qua2V5cyhuKSxvPVsic2hhMSIsInNoYTIyNCIsInNoYTI1NiIsInNoYTM4NCIsInNoYTUxMiIsIm1kNSIsInJtZDE2MCJdLmNvbmNhdChpKTtyLmdldEhhc2hlcz1mdW5jdGlvbigpe3JldHVybiBvfTt2YXIgYT10KCJwYmtkZjIiKTtyLnBia2RmMj1hLnBia2RmMixyLnBia2RmMlN5bmM9YS5wYmtkZjJTeW5jO3ZhciBzPXQoImJyb3dzZXJpZnktY2lwaGVyIik7ci5DaXBoZXI9cy5DaXBoZXIsci5jcmVhdGVDaXBoZXI9cy5jcmVhdGVDaXBoZXIsci5DaXBoZXJpdj1zLkNpcGhlcml2LHIuY3JlYXRlQ2lwaGVyaXY9cy5jcmVhdGVDaXBoZXJpdixyLkRlY2lwaGVyPXMuRGVjaXBoZXIsci5jcmVhdGVEZWNpcGhlcj1zLmNyZWF0ZURlY2lwaGVyLHIuRGVjaXBoZXJpdj1zLkRlY2lwaGVyaXYsci5jcmVhdGVEZWNpcGhlcml2PXMuY3JlYXRlRGVjaXBoZXJpdixyLmdldENpcGhlcnM9cy5nZXRDaXBoZXJzLHIubGlzdENpcGhlcnM9cy5saXN0Q2lwaGVyczt2YXIgdT10KCJkaWZmaWUtaGVsbG1hbiIpO3IuRGlmZmllSGVsbG1hbkdyb3VwPXUuRGlmZmllSGVsbG1hbkdyb3VwLHIuY3JlYXRlRGlmZmllSGVsbG1hbkdyb3VwPXUuY3JlYXRlRGlmZmllSGVsbG1hbkdyb3VwLHIuZ2V0RGlmZmllSGVsbG1hbj11LmdldERpZmZpZUhlbGxtYW4sci5jcmVhdGVEaWZmaWVIZWxsbWFuPXUuY3JlYXRlRGlmZmllSGVsbG1hbixyLkRpZmZpZUhlbGxtYW49dS5EaWZmaWVIZWxsbWFuO3ZhciBmPXQoImJyb3dzZXJpZnktc2lnbiIpO3IuY3JlYXRlU2lnbj1mLmNyZWF0ZVNpZ24sci5TaWduPWYuU2lnbixyLmNyZWF0ZVZlcmlmeT1mLmNyZWF0ZVZlcmlmeSxyLlZlcmlmeT1mLlZlcmlmeSxyLmNyZWF0ZUVDREg9dCgiY3JlYXRlLWVjZGgiKTt2YXIgYz10KCJwdWJsaWMtZW5jcnlwdCIpO3IucHVibGljRW5jcnlwdD1jLnB1YmxpY0VuY3J5cHQsci5wcml2YXRlRW5jcnlwdD1jLnByaXZhdGVFbmNyeXB0LHIucHVibGljRGVjcnlwdD1jLnB1YmxpY0RlY3J5cHQsci5wcml2YXRlRGVjcnlwdD1jLnByaXZhdGVEZWNyeXB0O3ZhciBoPXQoInJhbmRvbWZpbGwiKTtyLnJhbmRvbUZpbGw9aC5yYW5kb21GaWxsLHIucmFuZG9tRmlsbFN5bmM9aC5yYW5kb21GaWxsU3luYyxyLmNyZWF0ZUNyZWRlbnRpYWxzPWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKFsic29ycnksIGNyZWF0ZUNyZWRlbnRpYWxzIGlzIG5vdCBpbXBsZW1lbnRlZCB5ZXQiLCJ3ZSBhY2NlcHQgcHVsbCByZXF1ZXN0cyIsImh0dHBzOi8vZ2l0aHViLmNvbS9jcnlwdG8tYnJvd3NlcmlmeS9jcnlwdG8tYnJvd3NlcmlmeSJdLmpvaW4oIlxuIikpfSxyLmNvbnN0YW50cz17REhfQ0hFQ0tfUF9OT1RfU0FGRV9QUklNRToyLERIX0NIRUNLX1BfTk9UX1BSSU1FOjEsREhfVU5BQkxFX1RPX0NIRUNLX0dFTkVSQVRPUjo0LERIX05PVF9TVUlUQUJMRV9HRU5FUkFUT1I6OCxOUE5fRU5BQkxFRDoxLEFMUE5fRU5BQkxFRDoxLFJTQV9QS0NTMV9QQURESU5HOjEsUlNBX1NTTFYyM19QQURESU5HOjIsUlNBX05PX1BBRERJTkc6MyxSU0FfUEtDUzFfT0FFUF9QQURESU5HOjQsUlNBX1g5MzFfUEFERElORzo1LFJTQV9QS0NTMV9QU1NfUEFERElORzo2LFBPSU5UX0NPTlZFUlNJT05fQ09NUFJFU1NFRDoyLFBPSU5UX0NPTlZFUlNJT05fVU5DT01QUkVTU0VEOjQsUE9JTlRfQ09OVkVSU0lPTl9IWUJSSUQ6Nn19LHsiYnJvd3NlcmlmeS1jaXBoZXIiOjM1LCJicm93c2VyaWZ5LXNpZ24iOjQyLCJicm93c2VyaWZ5LXNpZ24vYWxnb3MiOjM5LCJjcmVhdGUtZWNkaCI6NTAsImNyZWF0ZS1oYXNoIjo1MSwiY3JlYXRlLWhtYWMiOjU0LCJkaWZmaWUtaGVsbG1hbiI6NjMscGJrZGYyOjExNCwicHVibGljLWVuY3J5cHQiOjEyMSxyYW5kb21ieXRlczoxMzEscmFuZG9tZmlsbDoxMzJ9XSw1NzpbZnVuY3Rpb24odCxlLHIpe3IudXRpbHM9dCgiLi9kZXMvdXRpbHMiKSxyLkNpcGhlcj10KCIuL2Rlcy9jaXBoZXIiKSxyLkRFUz10KCIuL2Rlcy9kZXMiKSxyLkNCQz10KCIuL2Rlcy9jYmMiKSxyLkVERT10KCIuL2Rlcy9lZGUiKX0seyIuL2Rlcy9jYmMiOjU4LCIuL2Rlcy9jaXBoZXIiOjU5LCIuL2Rlcy9kZXMiOjYwLCIuL2Rlcy9lZGUiOjYxLCIuL2Rlcy91dGlscyI6NjJ9XSw1ODpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQoIm1pbmltYWxpc3RpYy1hc3NlcnQiKSxpPXQoImluaGVyaXRzIiksbz17fTtyLmluc3RhbnRpYXRlPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoZSl7dC5jYWxsKHRoaXMsZSksdGhpcy5fY2JjSW5pdCgpfWkoZSx0KTtmb3IodmFyIHI9T2JqZWN0LmtleXMobyksbj0wO248ci5sZW5ndGg7bisrKXt2YXIgYT1yW25dO2UucHJvdG90eXBlW2FdPW9bYV19cmV0dXJuIGUuY3JlYXRlPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgZSh0KX0sZX0sby5fY2JjSW5pdD1mdW5jdGlvbigpe3ZhciB0PW5ldyBmdW5jdGlvbih0KXtuLmVxdWFsKHQubGVuZ3RoLDgsIkludmFsaWQgSVYgbGVuZ3RoIiksdGhpcy5pdj1uZXcgQXJyYXkoOCk7Zm9yKHZhciBlPTA7ZTx0aGlzLml2Lmxlbmd0aDtlKyspdGhpcy5pdltlXT10W2VdfSh0aGlzLm9wdGlvbnMuaXYpO3RoaXMuX2NiY1N0YXRlPXR9LG8uX3VwZGF0ZT1mdW5jdGlvbih0LGUscixuKXt2YXIgaT10aGlzLl9jYmNTdGF0ZSxvPXRoaXMuY29uc3RydWN0b3Iuc3VwZXJfLnByb3RvdHlwZSxhPWkuaXY7aWYoImVuY3J5cHQiPT09dGhpcy50eXBlKXtmb3IodmFyIHM9MDtzPHRoaXMuYmxvY2tTaXplO3MrKylhW3NdXj10W2Urc107by5fdXBkYXRlLmNhbGwodGhpcyxhLDAscixuKTtmb3Iocz0wO3M8dGhpcy5ibG9ja1NpemU7cysrKWFbc109cltuK3NdfWVsc2V7by5fdXBkYXRlLmNhbGwodGhpcyx0LGUscixuKTtmb3Iocz0wO3M8dGhpcy5ibG9ja1NpemU7cysrKXJbbitzXV49YVtzXTtmb3Iocz0wO3M8dGhpcy5ibG9ja1NpemU7cysrKWFbc109dFtlK3NdfX19LHtpbmhlcml0czoxMDEsIm1pbmltYWxpc3RpYy1hc3NlcnQiOjEwN31dLDU5OltmdW5jdGlvbih0LGUscil7dmFyIG49dCgibWluaW1hbGlzdGljLWFzc2VydCIpO2Z1bmN0aW9uIGkodCl7dGhpcy5vcHRpb25zPXQsdGhpcy50eXBlPXRoaXMub3B0aW9ucy50eXBlLHRoaXMuYmxvY2tTaXplPTgsdGhpcy5faW5pdCgpLHRoaXMuYnVmZmVyPW5ldyBBcnJheSh0aGlzLmJsb2NrU2l6ZSksdGhpcy5idWZmZXJPZmY9MH1lLmV4cG9ydHM9aSxpLnByb3RvdHlwZS5faW5pdD1mdW5jdGlvbigpe30saS5wcm90b3R5cGUudXBkYXRlPWZ1bmN0aW9uKHQpe3JldHVybiAwPT09dC5sZW5ndGg/W106ImRlY3J5cHQiPT09dGhpcy50eXBlP3RoaXMuX3VwZGF0ZURlY3J5cHQodCk6dGhpcy5fdXBkYXRlRW5jcnlwdCh0KX0saS5wcm90b3R5cGUuX2J1ZmZlcj1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj1NYXRoLm1pbih0aGlzLmJ1ZmZlci5sZW5ndGgtdGhpcy5idWZmZXJPZmYsdC5sZW5ndGgtZSksbj0wO248cjtuKyspdGhpcy5idWZmZXJbdGhpcy5idWZmZXJPZmYrbl09dFtlK25dO3JldHVybiB0aGlzLmJ1ZmZlck9mZis9cixyfSxpLnByb3RvdHlwZS5fZmx1c2hCdWZmZXI9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5fdXBkYXRlKHRoaXMuYnVmZmVyLDAsdCxlKSx0aGlzLmJ1ZmZlck9mZj0wLHRoaXMuYmxvY2tTaXplfSxpLnByb3RvdHlwZS5fdXBkYXRlRW5jcnlwdD1mdW5jdGlvbih0KXt2YXIgZT0wLHI9MCxuPSh0aGlzLmJ1ZmZlck9mZit0Lmxlbmd0aCkvdGhpcy5ibG9ja1NpemV8MCxpPW5ldyBBcnJheShuKnRoaXMuYmxvY2tTaXplKTswIT09dGhpcy5idWZmZXJPZmYmJihlKz10aGlzLl9idWZmZXIodCxlKSx0aGlzLmJ1ZmZlck9mZj09PXRoaXMuYnVmZmVyLmxlbmd0aCYmKHIrPXRoaXMuX2ZsdXNoQnVmZmVyKGkscikpKTtmb3IodmFyIG89dC5sZW5ndGgtKHQubGVuZ3RoLWUpJXRoaXMuYmxvY2tTaXplO2U8bztlKz10aGlzLmJsb2NrU2l6ZSl0aGlzLl91cGRhdGUodCxlLGkscikscis9dGhpcy5ibG9ja1NpemU7Zm9yKDtlPHQubGVuZ3RoO2UrKyx0aGlzLmJ1ZmZlck9mZisrKXRoaXMuYnVmZmVyW3RoaXMuYnVmZmVyT2ZmXT10W2VdO3JldHVybiBpfSxpLnByb3RvdHlwZS5fdXBkYXRlRGVjcnlwdD1mdW5jdGlvbih0KXtmb3IodmFyIGU9MCxyPTAsbj1NYXRoLmNlaWwoKHRoaXMuYnVmZmVyT2ZmK3QubGVuZ3RoKS90aGlzLmJsb2NrU2l6ZSktMSxpPW5ldyBBcnJheShuKnRoaXMuYmxvY2tTaXplKTtuPjA7bi0tKWUrPXRoaXMuX2J1ZmZlcih0LGUpLHIrPXRoaXMuX2ZsdXNoQnVmZmVyKGkscik7cmV0dXJuIGUrPXRoaXMuX2J1ZmZlcih0LGUpLGl9LGkucHJvdG90eXBlLmZpbmFsPWZ1bmN0aW9uKHQpe3ZhciBlLHI7cmV0dXJuIHQmJihlPXRoaXMudXBkYXRlKHQpKSxyPSJlbmNyeXB0Ij09PXRoaXMudHlwZT90aGlzLl9maW5hbEVuY3J5cHQoKTp0aGlzLl9maW5hbERlY3J5cHQoKSxlP2UuY29uY2F0KHIpOnJ9LGkucHJvdG90eXBlLl9wYWQ9ZnVuY3Rpb24odCxlKXtpZigwPT09ZSlyZXR1cm4hMTtmb3IoO2U8dC5sZW5ndGg7KXRbZSsrXT0wO3JldHVybiEwfSxpLnByb3RvdHlwZS5fZmluYWxFbmNyeXB0PWZ1bmN0aW9uKCl7aWYoIXRoaXMuX3BhZCh0aGlzLmJ1ZmZlcix0aGlzLmJ1ZmZlck9mZikpcmV0dXJuW107dmFyIHQ9bmV3IEFycmF5KHRoaXMuYmxvY2tTaXplKTtyZXR1cm4gdGhpcy5fdXBkYXRlKHRoaXMuYnVmZmVyLDAsdCwwKSx0fSxpLnByb3RvdHlwZS5fdW5wYWQ9ZnVuY3Rpb24odCl7cmV0dXJuIHR9LGkucHJvdG90eXBlLl9maW5hbERlY3J5cHQ9ZnVuY3Rpb24oKXtuLmVxdWFsKHRoaXMuYnVmZmVyT2ZmLHRoaXMuYmxvY2tTaXplLCJOb3QgZW5vdWdoIGRhdGEgdG8gZGVjcnlwdCIpO3ZhciB0PW5ldyBBcnJheSh0aGlzLmJsb2NrU2l6ZSk7cmV0dXJuIHRoaXMuX2ZsdXNoQnVmZmVyKHQsMCksdGhpcy5fdW5wYWQodCl9fSx7Im1pbmltYWxpc3RpYy1hc3NlcnQiOjEwN31dLDYwOltmdW5jdGlvbih0LGUscil7dmFyIG49dCgibWluaW1hbGlzdGljLWFzc2VydCIpLGk9dCgiaW5oZXJpdHMiKSxvPXQoIi4uL2RlcyIpLGE9by51dGlscyxzPW8uQ2lwaGVyO2Z1bmN0aW9uIHUodCl7cy5jYWxsKHRoaXMsdCk7dmFyIGU9bmV3IGZ1bmN0aW9uKCl7dGhpcy50bXA9bmV3IEFycmF5KDIpLHRoaXMua2V5cz1udWxsfTt0aGlzLl9kZXNTdGF0ZT1lLHRoaXMuZGVyaXZlS2V5cyhlLHQua2V5KX1pKHUscyksZS5leHBvcnRzPXUsdS5jcmVhdGU9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyB1KHQpfTt2YXIgZj1bMSwxLDIsMiwyLDIsMiwyLDEsMiwyLDIsMiwyLDIsMV07dS5wcm90b3R5cGUuZGVyaXZlS2V5cz1mdW5jdGlvbih0LGUpe3Qua2V5cz1uZXcgQXJyYXkoMzIpLG4uZXF1YWwoZS5sZW5ndGgsdGhpcy5ibG9ja1NpemUsIkludmFsaWQga2V5IGxlbmd0aCIpO3ZhciByPWEucmVhZFVJbnQzMkJFKGUsMCksaT1hLnJlYWRVSW50MzJCRShlLDQpO2EucGMxKHIsaSx0LnRtcCwwKSxyPXQudG1wWzBdLGk9dC50bXBbMV07Zm9yKHZhciBvPTA7bzx0LmtleXMubGVuZ3RoO28rPTIpe3ZhciBzPWZbbz4+PjFdO3I9YS5yMjhzaGwocixzKSxpPWEucjI4c2hsKGkscyksYS5wYzIocixpLHQua2V5cyxvKX19LHUucHJvdG90eXBlLl91cGRhdGU9ZnVuY3Rpb24odCxlLHIsbil7dmFyIGk9dGhpcy5fZGVzU3RhdGUsbz1hLnJlYWRVSW50MzJCRSh0LGUpLHM9YS5yZWFkVUludDMyQkUodCxlKzQpO2EuaXAobyxzLGkudG1wLDApLG89aS50bXBbMF0scz1pLnRtcFsxXSwiZW5jcnlwdCI9PT10aGlzLnR5cGU/dGhpcy5fZW5jcnlwdChpLG8scyxpLnRtcCwwKTp0aGlzLl9kZWNyeXB0KGksbyxzLGkudG1wLDApLG89aS50bXBbMF0scz1pLnRtcFsxXSxhLndyaXRlVUludDMyQkUocixvLG4pLGEud3JpdGVVSW50MzJCRShyLHMsbis0KX0sdS5wcm90b3R5cGUuX3BhZD1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj10Lmxlbmd0aC1lLG49ZTtuPHQubGVuZ3RoO24rKyl0W25dPXI7cmV0dXJuITB9LHUucHJvdG90eXBlLl91bnBhZD1mdW5jdGlvbih0KXtmb3IodmFyIGU9dFt0Lmxlbmd0aC0xXSxyPXQubGVuZ3RoLWU7cjx0Lmxlbmd0aDtyKyspbi5lcXVhbCh0W3JdLGUpO3JldHVybiB0LnNsaWNlKDAsdC5sZW5ndGgtZSl9LHUucHJvdG90eXBlLl9lbmNyeXB0PWZ1bmN0aW9uKHQsZSxyLG4saSl7Zm9yKHZhciBvPWUscz1yLHU9MDt1PHQua2V5cy5sZW5ndGg7dSs9Mil7dmFyIGY9dC5rZXlzW3VdLGM9dC5rZXlzW3UrMV07YS5leHBhbmQocyx0LnRtcCwwKSxmXj10LnRtcFswXSxjXj10LnRtcFsxXTt2YXIgaD1hLnN1YnN0aXR1dGUoZixjKSxkPXM7cz0ob15hLnBlcm11dGUoaCkpPj4+MCxvPWR9YS5yaXAocyxvLG4saSl9LHUucHJvdG90eXBlLl9kZWNyeXB0PWZ1bmN0aW9uKHQsZSxyLG4saSl7Zm9yKHZhciBvPXIscz1lLHU9dC5rZXlzLmxlbmd0aC0yO3U+PTA7dS09Mil7dmFyIGY9dC5rZXlzW3VdLGM9dC5rZXlzW3UrMV07YS5leHBhbmQobyx0LnRtcCwwKSxmXj10LnRtcFswXSxjXj10LnRtcFsxXTt2YXIgaD1hLnN1YnN0aXR1dGUoZixjKSxkPW87bz0oc15hLnBlcm11dGUoaCkpPj4+MCxzPWR9YS5yaXAobyxzLG4saSl9fSx7Ii4uL2RlcyI6NTcsaW5oZXJpdHM6MTAxLCJtaW5pbWFsaXN0aWMtYXNzZXJ0IjoxMDd9XSw2MTpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQoIm1pbmltYWxpc3RpYy1hc3NlcnQiKSxpPXQoImluaGVyaXRzIiksbz10KCIuLi9kZXMiKSxhPW8uQ2lwaGVyLHM9by5ERVM7ZnVuY3Rpb24gdSh0KXthLmNhbGwodGhpcyx0KTt2YXIgZT1uZXcgZnVuY3Rpb24odCxlKXtuLmVxdWFsKGUubGVuZ3RoLDI0LCJJbnZhbGlkIGtleSBsZW5ndGgiKTt2YXIgcj1lLnNsaWNlKDAsOCksaT1lLnNsaWNlKDgsMTYpLG89ZS5zbGljZSgxNiwyNCk7dGhpcy5jaXBoZXJzPSJlbmNyeXB0Ij09PXQ/W3MuY3JlYXRlKHt0eXBlOiJlbmNyeXB0IixrZXk6cn0pLHMuY3JlYXRlKHt0eXBlOiJkZWNyeXB0IixrZXk6aX0pLHMuY3JlYXRlKHt0eXBlOiJlbmNyeXB0IixrZXk6b30pXTpbcy5jcmVhdGUoe3R5cGU6ImRlY3J5cHQiLGtleTpvfSkscy5jcmVhdGUoe3R5cGU6ImVuY3J5cHQiLGtleTppfSkscy5jcmVhdGUoe3R5cGU6ImRlY3J5cHQiLGtleTpyfSldfSh0aGlzLnR5cGUsdGhpcy5vcHRpb25zLmtleSk7dGhpcy5fZWRlU3RhdGU9ZX1pKHUsYSksZS5leHBvcnRzPXUsdS5jcmVhdGU9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyB1KHQpfSx1LnByb3RvdHlwZS5fdXBkYXRlPWZ1bmN0aW9uKHQsZSxyLG4pe3ZhciBpPXRoaXMuX2VkZVN0YXRlO2kuY2lwaGVyc1swXS5fdXBkYXRlKHQsZSxyLG4pLGkuY2lwaGVyc1sxXS5fdXBkYXRlKHIsbixyLG4pLGkuY2lwaGVyc1syXS5fdXBkYXRlKHIsbixyLG4pfSx1LnByb3RvdHlwZS5fcGFkPXMucHJvdG90eXBlLl9wYWQsdS5wcm90b3R5cGUuX3VucGFkPXMucHJvdG90eXBlLl91bnBhZH0seyIuLi9kZXMiOjU3LGluaGVyaXRzOjEwMSwibWluaW1hbGlzdGljLWFzc2VydCI6MTA3fV0sNjI6W2Z1bmN0aW9uKHQsZSxyKXtyLnJlYWRVSW50MzJCRT1mdW5jdGlvbih0LGUpe3JldHVybih0WzArZV08PDI0fHRbMStlXTw8MTZ8dFsyK2VdPDw4fHRbMytlXSk+Pj4wfSxyLndyaXRlVUludDMyQkU9ZnVuY3Rpb24odCxlLHIpe3RbMCtyXT1lPj4+MjQsdFsxK3JdPWU+Pj4xNiYyNTUsdFsyK3JdPWU+Pj44JjI1NSx0WzMrcl09MjU1JmV9LHIuaXA9ZnVuY3Rpb24odCxlLHIsbil7Zm9yKHZhciBpPTAsbz0wLGE9NjthPj0wO2EtPTIpe2Zvcih2YXIgcz0wO3M8PTI0O3MrPTgpaTw8PTEsaXw9ZT4+PnMrYSYxO2ZvcihzPTA7czw9MjQ7cys9OClpPDw9MSxpfD10Pj4+cythJjF9Zm9yKGE9NjthPj0wO2EtPTIpe2ZvcihzPTE7czw9MjU7cys9OClvPDw9MSxvfD1lPj4+cythJjE7Zm9yKHM9MTtzPD0yNTtzKz04KW88PD0xLG98PXQ+Pj5zK2EmMX1yW24rMF09aT4+PjAscltuKzFdPW8+Pj4wfSxyLnJpcD1mdW5jdGlvbih0LGUscixuKXtmb3IodmFyIGk9MCxvPTAsYT0wO2E8NDthKyspZm9yKHZhciBzPTI0O3M+PTA7cy09OClpPDw9MSxpfD1lPj4+cythJjEsaTw8PTEsaXw9dD4+PnMrYSYxO2ZvcihhPTQ7YTw4O2ErKylmb3Iocz0yNDtzPj0wO3MtPTgpbzw8PTEsb3w9ZT4+PnMrYSYxLG88PD0xLG98PXQ+Pj5zK2EmMTtyW24rMF09aT4+PjAscltuKzFdPW8+Pj4wfSxyLnBjMT1mdW5jdGlvbih0LGUscixuKXtmb3IodmFyIGk9MCxvPTAsYT03O2E+PTU7YS0tKXtmb3IodmFyIHM9MDtzPD0yNDtzKz04KWk8PD0xLGl8PWU+PnMrYSYxO2ZvcihzPTA7czw9MjQ7cys9OClpPDw9MSxpfD10Pj5zK2EmMX1mb3Iocz0wO3M8PTI0O3MrPTgpaTw8PTEsaXw9ZT4+cythJjE7Zm9yKGE9MTthPD0zO2ErKyl7Zm9yKHM9MDtzPD0yNDtzKz04KW88PD0xLG98PWU+PnMrYSYxO2ZvcihzPTA7czw9MjQ7cys9OClvPDw9MSxvfD10Pj5zK2EmMX1mb3Iocz0wO3M8PTI0O3MrPTgpbzw8PTEsb3w9dD4+cythJjE7cltuKzBdPWk+Pj4wLHJbbisxXT1vPj4+MH0sci5yMjhzaGw9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdDw8ZSYyNjg0MzU0NTV8dD4+PjI4LWV9O3ZhciBuPVsxNCwxMSwxNyw0LDI3LDIzLDI1LDAsMTMsMjIsNywxOCw1LDksMTYsMjQsMiwyMCwxMiwyMSwxLDgsMTUsMjYsMTUsNCwyNSwxOSw5LDEsMjYsMTYsNSwxMSwyMyw4LDEyLDcsMTcsMCwyMiwzLDEwLDE0LDYsMjAsMjcsMjRdO3IucGMyPWZ1bmN0aW9uKHQsZSxyLGkpe2Zvcih2YXIgbz0wLGE9MCxzPW4ubGVuZ3RoPj4+MSx1PTA7dTxzO3UrKylvPDw9MSxvfD10Pj4+blt1XSYxO2Zvcih1PXM7dTxuLmxlbmd0aDt1KyspYTw8PTEsYXw9ZT4+Pm5bdV0mMTtyW2krMF09bz4+PjAscltpKzFdPWE+Pj4wfSxyLmV4cGFuZD1mdW5jdGlvbih0LGUscil7dmFyIG49MCxpPTA7bj0oMSZ0KTw8NXx0Pj4+Mjc7Zm9yKHZhciBvPTIzO28+PTE1O28tPTQpbjw8PTYsbnw9dD4+Pm8mNjM7Zm9yKG89MTE7bz49MztvLT00KWl8PXQ+Pj5vJjYzLGk8PD02O2l8PSgzMSZ0KTw8MXx0Pj4+MzEsZVtyKzBdPW4+Pj4wLGVbcisxXT1pPj4+MH07dmFyIGk9WzE0LDAsNCwxNSwxMyw3LDEsNCwyLDE0LDE1LDIsMTEsMTMsOCwxLDMsMTAsMTAsNiw2LDEyLDEyLDExLDUsOSw5LDUsMCwzLDcsOCw0LDE1LDEsMTIsMTQsOCw4LDIsMTMsNCw2LDksMiwxLDExLDcsMTUsNSwxMiwxMSw5LDMsNywxNCwzLDEwLDEwLDAsNSw2LDAsMTMsMTUsMywxLDEzLDgsNCwxNCw3LDYsMTUsMTEsMiwzLDgsNCwxNCw5LDEyLDcsMCwyLDEsMTMsMTAsMTIsNiwwLDksNSwxMSwxMCw1LDAsMTMsMTQsOCw3LDEwLDExLDEsMTAsMyw0LDE1LDEzLDQsMSwyLDUsMTEsOCw2LDEyLDcsNiwxMiw5LDAsMyw1LDIsMTQsMTUsOSwxMCwxMywwLDcsOSwwLDE0LDksNiwzLDMsNCwxNSw2LDUsMTAsMSwyLDEzLDgsMTIsNSw3LDE0LDExLDEyLDQsMTEsMiwxNSw4LDEsMTMsMSw2LDEwLDQsMTMsOSwwLDgsNiwxNSw5LDMsOCwwLDcsMTEsNCwxLDE1LDIsMTQsMTIsMyw1LDExLDEwLDUsMTQsMiw3LDEyLDcsMTMsMTMsOCwxNCwxMSwzLDUsMCw2LDYsMTUsOSwwLDEwLDMsMSw0LDIsNyw4LDIsNSwxMiwxMSwxLDEyLDEwLDQsMTQsMTUsOSwxMCwzLDYsMTUsOSwwLDAsNiwxMiwxMCwxMSwxLDcsMTMsMTMsOCwxNSw5LDEsNCwzLDUsMTQsMTEsNSwxMiwyLDcsOCwyLDQsMTQsMiwxNCwxMiwxMSw0LDIsMSwxMiw3LDQsMTAsNywxMSwxMyw2LDEsOCw1LDUsMCwzLDE1LDE1LDEwLDEzLDMsMCw5LDE0LDgsOSw2LDQsMTEsMiw4LDEsMTIsMTEsNywxMCwxLDEzLDE0LDcsMiw4LDEzLDE1LDYsOSwxNSwxMiwwLDUsOSw2LDEwLDMsNCwwLDUsMTQsMywxMiwxMCwxLDE1LDEwLDQsMTUsMiw5LDcsMiwxMiw2LDksOCw1LDAsNiwxMywxLDMsMTMsNCwxNCwxNCwwLDcsMTEsNSwzLDExLDgsOSw0LDE0LDMsMTUsMiw1LDEyLDIsOSw4LDUsMTIsMTUsMywxMCw3LDExLDAsMTQsNCwxLDEwLDcsMSw2LDEzLDAsMTEsOCw2LDEzLDQsMTMsMTEsMCwyLDExLDE0LDcsMTUsNCwwLDksOCwxLDEzLDEwLDMsMTQsMTIsMyw5LDUsNywxMiw1LDIsMTAsMTUsNiw4LDEsNiwxLDYsNCwxMSwxMSwxMywxMyw4LDEyLDEsMyw0LDcsMTAsMTQsNywxMCw5LDE1LDUsNiwwLDgsMTUsMCwxNCw1LDIsOSwzLDIsMTIsMTMsMSwyLDE1LDgsMTMsNCw4LDYsMTAsMTUsMywxMSw3LDEsNCwxMCwxMiw5LDUsMyw2LDE0LDExLDUsMCwwLDE0LDEyLDksNywyLDcsMiwxMSwxLDQsMTQsMSw3LDksNCwxMiwxMCwxNCw4LDIsMTMsMCwxNSw2LDEyLDEwLDksMTMsMCwxNSwzLDMsNSw1LDYsOCwxMV07ci5zdWJzdGl0dXRlPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPTAsbj0wO248NDtuKyspe3I8PD00LHJ8PWlbNjQqbisodD4+PjE4LTYqbiY2MyldfWZvcihuPTA7bjw0O24rKyl7cjw8PTQscnw9aVsyNTYrNjQqbisoZT4+PjE4LTYqbiY2MyldfXJldHVybiByPj4+MH07dmFyIG89WzE2LDI1LDEyLDExLDMsMjAsNCwxNSwzMSwxNyw5LDYsMjcsMTQsMSwyMiwzMCwyNCw4LDE4LDAsNSwyOSwyMywxMywxOSwyLDI2LDEwLDIxLDI4LDddO3IucGVybXV0ZT1mdW5jdGlvbih0KXtmb3IodmFyIGU9MCxyPTA7cjxvLmxlbmd0aDtyKyspZTw8PTEsZXw9dD4+Pm9bcl0mMTtyZXR1cm4gZT4+PjB9LHIucGFkU3BsaXQ9ZnVuY3Rpb24odCxlLHIpe2Zvcih2YXIgbj10LnRvU3RyaW5nKDIpO24ubGVuZ3RoPGU7KW49IjAiK247Zm9yKHZhciBpPVtdLG89MDtvPGU7bys9cilpLnB1c2gobi5zbGljZShvLG8rcikpO3JldHVybiBpLmpvaW4oIiAiKX19LHt9XSw2MzpbZnVuY3Rpb24odCxlLHIpeyhmdW5jdGlvbihlKXt2YXIgbj10KCIuL2xpYi9nZW5lcmF0ZVByaW1lIiksaT10KCIuL2xpYi9wcmltZXMuanNvbiIpLG89dCgiLi9saWIvZGgiKTt2YXIgYT17YmluYXJ5OiEwLGhleDohMCxiYXNlNjQ6ITB9O3IuRGlmZmllSGVsbG1hbkdyb3VwPXIuY3JlYXRlRGlmZmllSGVsbG1hbkdyb3VwPXIuZ2V0RGlmZmllSGVsbG1hbj1mdW5jdGlvbih0KXt2YXIgcj1uZXcgZShpW3RdLnByaW1lLCJoZXgiKSxuPW5ldyBlKGlbdF0uZ2VuLCJoZXgiKTtyZXR1cm4gbmV3IG8ocixuKX0sci5jcmVhdGVEaWZmaWVIZWxsbWFuPXIuRGlmZmllSGVsbG1hbj1mdW5jdGlvbiB0KHIsaSxzLHUpe3JldHVybiBlLmlzQnVmZmVyKGkpfHx2b2lkIDA9PT1hW2ldP3QociwiYmluYXJ5IixpLHMpOihpPWl8fCJiaW5hcnkiLHU9dXx8ImJpbmFyeSIscz1zfHxuZXcgZShbMl0pLGUuaXNCdWZmZXIocyl8fChzPW5ldyBlKHMsdSkpLCJudW1iZXIiPT10eXBlb2Ygcj9uZXcgbyhuKHIscykscywhMCk6KGUuaXNCdWZmZXIocil8fChyPW5ldyBlKHIsaSkpLG5ldyBvKHIscywhMCkpKX19KS5jYWxsKHRoaXMsdCgiYnVmZmVyIikuQnVmZmVyKX0seyIuL2xpYi9kaCI6NjQsIi4vbGliL2dlbmVyYXRlUHJpbWUiOjY1LCIuL2xpYi9wcmltZXMuanNvbiI6NjYsYnVmZmVyOjQ3fV0sNjQ6W2Z1bmN0aW9uKHQsZSxyKXsoZnVuY3Rpb24ocil7dmFyIG49dCgiYm4uanMiKSxpPW5ldyh0KCJtaWxsZXItcmFiaW4iKSksbz1uZXcgbigyNCksYT1uZXcgbigxMSkscz1uZXcgbigxMCksdT1uZXcgbigzKSxmPW5ldyBuKDcpLGM9dCgiLi9nZW5lcmF0ZVByaW1lIiksaD10KCJyYW5kb21ieXRlcyIpO2Z1bmN0aW9uIGQodCxlKXtyZXR1cm4gZT1lfHwidXRmOCIsci5pc0J1ZmZlcih0KXx8KHQ9bmV3IHIodCxlKSksdGhpcy5fcHViPW5ldyBuKHQpLHRoaXN9ZnVuY3Rpb24gbCh0LGUpe3JldHVybiBlPWV8fCJ1dGY4IixyLmlzQnVmZmVyKHQpfHwodD1uZXcgcih0LGUpKSx0aGlzLl9wcml2PW5ldyBuKHQpLHRoaXN9ZS5leHBvcnRzPWI7dmFyIHA9e307ZnVuY3Rpb24gYih0LGUscil7dGhpcy5zZXRHZW5lcmF0b3IoZSksdGhpcy5fX3ByaW1lPW5ldyBuKHQpLHRoaXMuX3ByaW1lPW4ubW9udCh0aGlzLl9fcHJpbWUpLHRoaXMuX3ByaW1lTGVuPXQubGVuZ3RoLHRoaXMuX3B1Yj12b2lkIDAsdGhpcy5fcHJpdj12b2lkIDAsdGhpcy5fcHJpbWVDb2RlPXZvaWQgMCxyPyh0aGlzLnNldFB1YmxpY0tleT1kLHRoaXMuc2V0UHJpdmF0ZUtleT1sKTp0aGlzLl9wcmltZUNvZGU9OH1mdW5jdGlvbiBtKHQsZSl7dmFyIG49bmV3IHIodC50b0FycmF5KCkpO3JldHVybiBlP24udG9TdHJpbmcoZSk6bn1PYmplY3QuZGVmaW5lUHJvcGVydHkoYi5wcm90b3R5cGUsInZlcmlmeUVycm9yIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4ibnVtYmVyIiE9dHlwZW9mIHRoaXMuX3ByaW1lQ29kZSYmKHRoaXMuX3ByaW1lQ29kZT1mdW5jdGlvbih0LGUpe3ZhciByPWUudG9TdHJpbmcoImhleCIpLG49W3IsdC50b1N0cmluZygxNildLmpvaW4oIl8iKTtpZihuIGluIHApcmV0dXJuIHBbbl07dmFyIGgsZD0wO2lmKHQuaXNFdmVuKCl8fCFjLnNpbXBsZVNpZXZlfHwhYy5mZXJtYXRUZXN0KHQpfHwhaS50ZXN0KHQpKXJldHVybiBkKz0xLGQrPSIwMiI9PT1yfHwiMDUiPT09cj84OjQscFtuXT1kLGQ7c3dpdGNoKGkudGVzdCh0LnNocm4oMSkpfHwoZCs9Mikscil7Y2FzZSIwMiI6dC5tb2QobykuY21wKGEpJiYoZCs9OCk7YnJlYWs7Y2FzZSIwNSI6KGg9dC5tb2QocykpLmNtcCh1KSYmaC5jbXAoZikmJihkKz04KTticmVhaztkZWZhdWx0OmQrPTR9cmV0dXJuIHBbbl09ZCxkfSh0aGlzLl9fcHJpbWUsdGhpcy5fX2dlbikpLHRoaXMuX3ByaW1lQ29kZX19KSxiLnByb3RvdHlwZS5nZW5lcmF0ZUtleXM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcHJpdnx8KHRoaXMuX3ByaXY9bmV3IG4oaCh0aGlzLl9wcmltZUxlbikpKSx0aGlzLl9wdWI9dGhpcy5fZ2VuLnRvUmVkKHRoaXMuX3ByaW1lKS5yZWRQb3codGhpcy5fcHJpdikuZnJvbVJlZCgpLHRoaXMuZ2V0UHVibGljS2V5KCl9LGIucHJvdG90eXBlLmNvbXB1dGVTZWNyZXQ9ZnVuY3Rpb24odCl7dmFyIGU9KHQ9KHQ9bmV3IG4odCkpLnRvUmVkKHRoaXMuX3ByaW1lKSkucmVkUG93KHRoaXMuX3ByaXYpLmZyb21SZWQoKSxpPW5ldyByKGUudG9BcnJheSgpKSxvPXRoaXMuZ2V0UHJpbWUoKTtpZihpLmxlbmd0aDxvLmxlbmd0aCl7dmFyIGE9bmV3IHIoby5sZW5ndGgtaS5sZW5ndGgpO2EuZmlsbCgwKSxpPXIuY29uY2F0KFthLGldKX1yZXR1cm4gaX0sYi5wcm90b3R5cGUuZ2V0UHVibGljS2V5PWZ1bmN0aW9uKHQpe3JldHVybiBtKHRoaXMuX3B1Yix0KX0sYi5wcm90b3R5cGUuZ2V0UHJpdmF0ZUtleT1mdW5jdGlvbih0KXtyZXR1cm4gbSh0aGlzLl9wcml2LHQpfSxiLnByb3RvdHlwZS5nZXRQcmltZT1mdW5jdGlvbih0KXtyZXR1cm4gbSh0aGlzLl9fcHJpbWUsdCl9LGIucHJvdG90eXBlLmdldEdlbmVyYXRvcj1mdW5jdGlvbih0KXtyZXR1cm4gbSh0aGlzLl9nZW4sdCl9LGIucHJvdG90eXBlLnNldEdlbmVyYXRvcj1mdW5jdGlvbih0LGUpe3JldHVybiBlPWV8fCJ1dGY4IixyLmlzQnVmZmVyKHQpfHwodD1uZXcgcih0LGUpKSx0aGlzLl9fZ2VuPXQsdGhpcy5fZ2VuPW5ldyBuKHQpLHRoaXN9fSkuY2FsbCh0aGlzLHQoImJ1ZmZlciIpLkJ1ZmZlcil9LHsiLi9nZW5lcmF0ZVByaW1lIjo2NSwiYm4uanMiOiJCTiIsYnVmZmVyOjQ3LCJtaWxsZXItcmFiaW4iOjEwNixyYW5kb21ieXRlczoxMzF9XSw2NTpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQoInJhbmRvbWJ5dGVzIik7ZS5leHBvcnRzPXkseS5zaW1wbGVTaWV2ZT1iLHkuZmVybWF0VGVzdD1tO3ZhciBpPXQoImJuLmpzIiksbz1uZXcgaSgyNCksYT1uZXcodCgibWlsbGVyLXJhYmluIikpLHM9bmV3IGkoMSksdT1uZXcgaSgyKSxmPW5ldyBpKDUpLGM9KG5ldyBpKDE2KSxuZXcgaSg4KSxuZXcgaSgxMCkpLGg9bmV3IGkoMyksZD0obmV3IGkoNyksbmV3IGkoMTEpKSxsPW5ldyBpKDQpLHA9KG5ldyBpKDEyKSxudWxsKTtmdW5jdGlvbiBiKHQpe2Zvcih2YXIgZT1mdW5jdGlvbigpe2lmKG51bGwhPT1wKXJldHVybiBwO3ZhciB0PVtdO3RbMF09Mjtmb3IodmFyIGU9MSxyPTM7cjwxMDQ4NTc2O3IrPTIpe2Zvcih2YXIgbj1NYXRoLmNlaWwoTWF0aC5zcXJ0KHIpKSxpPTA7aTxlJiZ0W2ldPD1uJiZyJXRbaV0hPTA7aSsrKTtlIT09aSYmdFtpXTw9bnx8KHRbZSsrXT1yKX1yZXR1cm4gcD10LHR9KCkscj0wO3I8ZS5sZW5ndGg7cisrKWlmKDA9PT10Lm1vZG4oZVtyXSkpcmV0dXJuIDA9PT10LmNtcG4oZVtyXSk7cmV0dXJuITB9ZnVuY3Rpb24gbSh0KXt2YXIgZT1pLm1vbnQodCk7cmV0dXJuIDA9PT11LnRvUmVkKGUpLnJlZFBvdyh0LnN1Ym4oMSkpLmZyb21SZWQoKS5jbXBuKDEpfWZ1bmN0aW9uIHkodCxlKXtpZih0PDE2KXJldHVybiBuZXcgaSgyPT09ZXx8NT09PWU/WzE0MCwxMjNdOlsxNDAsMzldKTt2YXIgcixwO2ZvcihlPW5ldyBpKGUpOzspe2ZvcihyPW5ldyBpKG4oTWF0aC5jZWlsKHQvOCkpKTtyLmJpdExlbmd0aCgpPnQ7KXIuaXNocm4oMSk7aWYoci5pc0V2ZW4oKSYmci5pYWRkKHMpLHIudGVzdG4oMSl8fHIuaWFkZCh1KSxlLmNtcCh1KSl7aWYoIWUuY21wKGYpKWZvcig7ci5tb2QoYykuY21wKGgpOylyLmlhZGQobCl9ZWxzZSBmb3IoO3IubW9kKG8pLmNtcChkKTspci5pYWRkKGwpO2lmKGIocD1yLnNocm4oMSkpJiZiKHIpJiZtKHApJiZtKHIpJiZhLnRlc3QocCkmJmEudGVzdChyKSlyZXR1cm4gcn19fSx7ImJuLmpzIjoiQk4iLCJtaWxsZXItcmFiaW4iOjEwNixyYW5kb21ieXRlczoxMzF9XSw2NjpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz17bW9kcDE6e2dlbjoiMDIiLHByaW1lOiJmZmZmZmZmZmZmZmZmZmZmYzkwZmRhYTIyMTY4YzIzNGM0YzY2MjhiODBkYzFjZDEyOTAyNGUwODhhNjdjYzc0MDIwYmJlYTYzYjEzOWIyMjUxNGEwODc5OGUzNDA0ZGRlZjk1MTliM2NkM2E0MzFiMzAyYjBhNmRmMjVmMTQzNzRmZTEzNTZkNmQ1MWMyNDVlNDg1YjU3NjYyNWU3ZWM2ZjQ0YzQyZTlhNjNhMzYyMGZmZmZmZmZmZmZmZmZmZmYifSxtb2RwMjp7Z2VuOiIwMiIscHJpbWU6ImZmZmZmZmZmZmZmZmZmZmZjOTBmZGFhMjIxNjhjMjM0YzRjNjYyOGI4MGRjMWNkMTI5MDI0ZTA4OGE2N2NjNzQwMjBiYmVhNjNiMTM5YjIyNTE0YTA4Nzk4ZTM0MDRkZGVmOTUxOWIzY2QzYTQzMWIzMDJiMGE2ZGYyNWYxNDM3NGZlMTM1NmQ2ZDUxYzI0NWU0ODViNTc2NjI1ZTdlYzZmNDRjNDJlOWE2MzdlZDZiMGJmZjVjYjZmNDA2YjdlZGVlMzg2YmZiNWE4OTlmYTVhZTlmMjQxMTdjNGIxZmU2NDkyODY2NTFlY2U2NTM4MWZmZmZmZmZmZmZmZmZmZmYifSxtb2RwNTp7Z2VuOiIwMiIscHJpbWU6ImZmZmZmZmZmZmZmZmZmZmZjOTBmZGFhMjIxNjhjMjM0YzRjNjYyOGI4MGRjMWNkMTI5MDI0ZTA4OGE2N2NjNzQwMjBiYmVhNjNiMTM5YjIyNTE0YTA4Nzk4ZTM0MDRkZGVmOTUxOWIzY2QzYTQzMWIzMDJiMGE2ZGYyNWYxNDM3NGZlMTM1NmQ2ZDUxYzI0NWU0ODViNTc2NjI1ZTdlYzZmNDRjNDJlOWE2MzdlZDZiMGJmZjVjYjZmNDA2YjdlZGVlMzg2YmZiNWE4OTlmYTVhZTlmMjQxMTdjNGIxZmU2NDkyODY2NTFlY2U0NWIzZGMyMDA3Y2I4YTE2M2JmMDU5OGRhNDgzNjFjNTVkMzlhNjkxNjNmYThmZDI0Y2Y1ZjgzNjU1ZDIzZGNhM2FkOTYxYzYyZjM1NjIwODU1MmJiOWVkNTI5MDc3MDk2OTY2ZDY3MGMzNTRlNGFiYzk4MDRmMTc0NmMwOGNhMjM3MzI3ZmZmZmZmZmZmZmZmZmZmZiJ9LG1vZHAxNDp7Z2VuOiIwMiIscHJpbWU6ImZmZmZmZmZmZmZmZmZmZmZjOTBmZGFhMjIxNjhjMjM0YzRjNjYyOGI4MGRjMWNkMTI5MDI0ZTA4OGE2N2NjNzQwMjBiYmVhNjNiMTM5YjIyNTE0YTA4Nzk4ZTM0MDRkZGVmOTUxOWIzY2QzYTQzMWIzMDJiMGE2ZGYyNWYxNDM3NGZlMTM1NmQ2ZDUxYzI0NWU0ODViNTc2NjI1ZTdlYzZmNDRjNDJlOWE2MzdlZDZiMGJmZjVjYjZmNDA2YjdlZGVlMzg2YmZiNWE4OTlmYTVhZTlmMjQxMTdjNGIxZmU2NDkyODY2NTFlY2U0NWIzZGMyMDA3Y2I4YTE2M2JmMDU5OGRhNDgzNjFjNTVkMzlhNjkxNjNmYThmZDI0Y2Y1ZjgzNjU1ZDIzZGNhM2FkOTYxYzYyZjM1NjIwODU1MmJiOWVkNTI5MDc3MDk2OTY2ZDY3MGMzNTRlNGFiYzk4MDRmMTc0NmMwOGNhMTgyMTdjMzI5MDVlNDYyZTM2Y2UzYmUzOWU3NzJjMTgwZTg2MDM5YjI3ODNhMmVjMDdhMjhmYjVjNTVkZjA2ZjRjNTJjOWRlMmJjYmY2OTU1ODE3MTgzOTk1NDk3Y2VhOTU2YWU1MTVkMjI2MTg5OGZhMDUxMDE1NzI4ZTVhOGFhY2FhNjhmZmZmZmZmZmZmZmZmZmZmIn0sbW9kcDE1OntnZW46IjAyIixwcmltZToiZmZmZmZmZmZmZmZmZmZmZmM5MGZkYWEyMjE2OGMyMzRjNGM2NjI4YjgwZGMxY2QxMjkwMjRlMDg4YTY3Y2M3NDAyMGJiZWE2M2IxMzliMjI1MTRhMDg3OThlMzQwNGRkZWY5NTE5YjNjZDNhNDMxYjMwMmIwYTZkZjI1ZjE0Mzc0ZmUxMzU2ZDZkNTFjMjQ1ZTQ4NWI1NzY2MjVlN2VjNmY0NGM0MmU5YTYzN2VkNmIwYmZmNWNiNmY0MDZiN2VkZWUzODZiZmI1YTg5OWZhNWFlOWYyNDExN2M0YjFmZTY0OTI4NjY1MWVjZTQ1YjNkYzIwMDdjYjhhMTYzYmYwNTk4ZGE0ODM2MWM1NWQzOWE2OTE2M2ZhOGZkMjRjZjVmODM2NTVkMjNkY2EzYWQ5NjFjNjJmMzU2MjA4NTUyYmI5ZWQ1MjkwNzcwOTY5NjZkNjcwYzM1NGU0YWJjOTgwNGYxNzQ2YzA4Y2ExODIxN2MzMjkwNWU0NjJlMzZjZTNiZTM5ZTc3MmMxODBlODYwMzliMjc4M2EyZWMwN2EyOGZiNWM1NWRmMDZmNGM1MmM5ZGUyYmNiZjY5NTU4MTcxODM5OTU0OTdjZWE5NTZhZTUxNWQyMjYxODk4ZmEwNTEwMTU3MjhlNWE4YWFhYzQyZGFkMzMxNzBkMDQ1MDdhMzNhODU1MjFhYmRmMWNiYTY0ZWNmYjg1MDQ1OGRiZWYwYThhZWE3MTU3NWQwNjBjN2RiMzk3MGY4NWE2ZTFlNGM3YWJmNWFlOGNkYjA5MzNkNzFlOGM5NGUwNGEyNTYxOWRjZWUzZDIyNjFhZDJlZTZiZjEyZmZhMDZkOThhMDg2NGQ4NzYwMjczM2VjODZhNjQ1MjFmMmIxODE3N2IyMDBjYmJlMTE3NTc3YTYxNWQ2Yzc3MDk4OGMwYmFkOTQ2ZTIwOGUyNGZhMDc0ZTVhYjMxNDNkYjViZmNlMGZkMTA4ZTRiODJkMTIwYTkzYWQyY2FmZmZmZmZmZmZmZmZmZmZmIn0sbW9kcDE2OntnZW46IjAyIixwcmltZToiZmZmZmZmZmZmZmZmZmZmZmM5MGZkYWEyMjE2OGMyMzRjNGM2NjI4YjgwZGMxY2QxMjkwMjRlMDg4YTY3Y2M3NDAyMGJiZWE2M2IxMzliMjI1MTRhMDg3OThlMzQwNGRkZWY5NTE5YjNjZDNhNDMxYjMwMmIwYTZkZjI1ZjE0Mzc0ZmUxMzU2ZDZkNTFjMjQ1ZTQ4NWI1NzY2MjVlN2VjNmY0NGM0MmU5YTYzN2VkNmIwYmZmNWNiNmY0MDZiN2VkZWUzODZiZmI1YTg5OWZhNWFlOWYyNDExN2M0YjFmZTY0OTI4NjY1MWVjZTQ1YjNkYzIwMDdjYjhhMTYzYmYwNTk4ZGE0ODM2MWM1NWQzOWE2OTE2M2ZhOGZkMjRjZjVmODM2NTVkMjNkY2EzYWQ5NjFjNjJmMzU2MjA4NTUyYmI5ZWQ1MjkwNzcwOTY5NjZkNjcwYzM1NGU0YWJjOTgwNGYxNzQ2YzA4Y2ExODIxN2MzMjkwNWU0NjJlMzZjZTNiZTM5ZTc3MmMxODBlODYwMzliMjc4M2EyZWMwN2EyOGZiNWM1NWRmMDZmNGM1MmM5ZGUyYmNiZjY5NTU4MTcxODM5OTU0OTdjZWE5NTZhZTUxNWQyMjYxODk4ZmEwNTEwMTU3MjhlNWE4YWFhYzQyZGFkMzMxNzBkMDQ1MDdhMzNhODU1MjFhYmRmMWNiYTY0ZWNmYjg1MDQ1OGRiZWYwYThhZWE3MTU3NWQwNjBjN2RiMzk3MGY4NWE2ZTFlNGM3YWJmNWFlOGNkYjA5MzNkNzFlOGM5NGUwNGEyNTYxOWRjZWUzZDIyNjFhZDJlZTZiZjEyZmZhMDZkOThhMDg2NGQ4NzYwMjczM2VjODZhNjQ1MjFmMmIxODE3N2IyMDBjYmJlMTE3NTc3YTYxNWQ2Yzc3MDk4OGMwYmFkOTQ2ZTIwOGUyNGZhMDc0ZTVhYjMxNDNkYjViZmNlMGZkMTA4ZTRiODJkMTIwYTkyMTA4MDExYTcyM2MxMmE3ODdlNmQ3ODg3MTlhMTBiZGJhNWIyNjk5YzMyNzE4NmFmNGUyM2MxYTk0NjgzNGI2MTUwYmRhMjU4M2U5Y2EyYWQ0NGNlOGRiYmJjMmRiMDRkZThlZjkyZThlZmMxNDFmYmVjYWE2Mjg3YzU5NDc0ZTZiYzA1ZDk5YjI5NjRmYTA5MGMzYTIyMzNiYTE4NjUxNWJlN2VkMWY2MTI5NzBjZWUyZDdhZmI4MWJkZDc2MjE3MDQ4MWNkMDA2OTEyN2Q1YjA1YWE5OTNiNGVhOTg4ZDhmZGRjMTg2ZmZiN2RjOTBhNmMwOGY0ZGY0MzVjOTM0MDYzMTk5ZmZmZmZmZmZmZmZmZmZmZiJ9LG1vZHAxNzp7Z2VuOiIwMiIscHJpbWU6ImZmZmZmZmZmZmZmZmZmZmZjOTBmZGFhMjIxNjhjMjM0YzRjNjYyOGI4MGRjMWNkMTI5MDI0ZTA4OGE2N2NjNzQwMjBiYmVhNjNiMTM5YjIyNTE0YTA4Nzk4ZTM0MDRkZGVmOTUxOWIzY2QzYTQzMWIzMDJiMGE2ZGYyNWYxNDM3NGZlMTM1NmQ2ZDUxYzI0NWU0ODViNTc2NjI1ZTdlYzZmNDRjNDJlOWE2MzdlZDZiMGJmZjVjYjZmNDA2YjdlZGVlMzg2YmZiNWE4OTlmYTVhZTlmMjQxMTdjNGIxZmU2NDkyODY2NTFlY2U0NWIzZGMyMDA3Y2I4YTE2M2JmMDU5OGRhNDgzNjFjNTVkMzlhNjkxNjNmYThmZDI0Y2Y1ZjgzNjU1ZDIzZGNhM2FkOTYxYzYyZjM1NjIwODU1MmJiOWVkNTI5MDc3MDk2OTY2ZDY3MGMzNTRlNGFiYzk4MDRmMTc0NmMwOGNhMTgyMTdjMzI5MDVlNDYyZTM2Y2UzYmUzOWU3NzJjMTgwZTg2MDM5YjI3ODNhMmVjMDdhMjhmYjVjNTVkZjA2ZjRjNTJjOWRlMmJjYmY2OTU1ODE3MTgzOTk1NDk3Y2VhOTU2YWU1MTVkMjI2MTg5OGZhMDUxMDE1NzI4ZTVhOGFhYWM0MmRhZDMzMTcwZDA0NTA3YTMzYTg1NTIxYWJkZjFjYmE2NGVjZmI4NTA0NThkYmVmMGE4YWVhNzE1NzVkMDYwYzdkYjM5NzBmODVhNmUxZTRjN2FiZjVhZThjZGIwOTMzZDcxZThjOTRlMDRhMjU2MTlkY2VlM2QyMjYxYWQyZWU2YmYxMmZmYTA2ZDk4YTA4NjRkODc2MDI3MzNlYzg2YTY0NTIxZjJiMTgxNzdiMjAwY2JiZTExNzU3N2E2MTVkNmM3NzA5ODhjMGJhZDk0NmUyMDhlMjRmYTA3NGU1YWIzMTQzZGI1YmZjZTBmZDEwOGU0YjgyZDEyMGE5MjEwODAxMWE3MjNjMTJhNzg3ZTZkNzg4NzE5YTEwYmRiYTViMjY5OWMzMjcxODZhZjRlMjNjMWE5NDY4MzRiNjE1MGJkYTI1ODNlOWNhMmFkNDRjZThkYmJiYzJkYjA0ZGU4ZWY5MmU4ZWZjMTQxZmJlY2FhNjI4N2M1OTQ3NGU2YmMwNWQ5OWIyOTY0ZmEwOTBjM2EyMjMzYmExODY1MTViZTdlZDFmNjEyOTcwY2VlMmQ3YWZiODFiZGQ3NjIxNzA0ODFjZDAwNjkxMjdkNWIwNWFhOTkzYjRlYTk4OGQ4ZmRkYzE4NmZmYjdkYzkwYTZjMDhmNGRmNDM1YzkzNDAyODQ5MjM2YzNmYWI0ZDI3YzcwMjZjMWQ0ZGNiMjYwMjY0NmRlYzk3NTFlNzYzZGJhMzdiZGY4ZmY5NDA2YWQ5ZTUzMGVlNWRiMzgyZjQxMzAwMWFlYjA2YTUzZWQ5MDI3ZDgzMTE3OTcyN2IwODY1YTg5MThkYTNlZGJlYmNmOWIxNGVkNDRjZTZjYmFjZWQ0YmIxYmRiN2YxNDQ3ZTZjYzI1NGIzMzIwNTE1MTJiZDdhZjQyNmZiOGY0MDEzNzhjZDJiZjU5ODNjYTAxYzY0YjkyZWNmMDMyZWExNWQxNzIxZDAzZjQ4MmQ3Y2U2ZTc0ZmVmNmQ1NWU3MDJmNDY5ODBjODJiNWE4NDAzMTkwMGIxYzllNTllN2M5N2ZiZWM3ZThmMzIzYTk3YTdlMzZjYzg4YmUwZjFkNDViN2ZmNTg1YWM1NGJkNDA3YjIyYjQxNTRhYWNjOGY2ZDdlYmY0OGUxZDgxNGNjNWVkMjBmODAzN2UwYTc5NzE1ZWVmMjliZTMyODA2YTFkNThiYjdjNWRhNzZmNTUwYWEzZDhhMWZiZmYwZWIxOWNjYjFhMzEzZDU1Y2RhNTZjOWVjMmVmMjk2MzIzODdmZThkNzZlM2MwNDY4MDQzZThmNjYzZjQ4NjBlZTEyYmYyZDViMGI3NDc0ZDZlNjk0ZjkxZTZkY2M0MDI0ZmZmZmZmZmZmZmZmZmZmZiJ9LG1vZHAxODp7Z2VuOiIwMiIscHJpbWU6ImZmZmZmZmZmZmZmZmZmZmZjOTBmZGFhMjIxNjhjMjM0YzRjNjYyOGI4MGRjMWNkMTI5MDI0ZTA4OGE2N2NjNzQwMjBiYmVhNjNiMTM5YjIyNTE0YTA4Nzk4ZTM0MDRkZGVmOTUxOWIzY2QzYTQzMWIzMDJiMGE2ZGYyNWYxNDM3NGZlMTM1NmQ2ZDUxYzI0NWU0ODViNTc2NjI1ZTdlYzZmNDRjNDJlOWE2MzdlZDZiMGJmZjVjYjZmNDA2YjdlZGVlMzg2YmZiNWE4OTlmYTVhZTlmMjQxMTdjNGIxZmU2NDkyODY2NTFlY2U0NWIzZGMyMDA3Y2I4YTE2M2JmMDU5OGRhNDgzNjFjNTVkMzlhNjkxNjNmYThmZDI0Y2Y1ZjgzNjU1ZDIzZGNhM2FkOTYxYzYyZjM1NjIwODU1MmJiOWVkNTI5MDc3MDk2OTY2ZDY3MGMzNTRlNGFiYzk4MDRmMTc0NmMwOGNhMTgyMTdjMzI5MDVlNDYyZTM2Y2UzYmUzOWU3NzJjMTgwZTg2MDM5YjI3ODNhMmVjMDdhMjhmYjVjNTVkZjA2ZjRjNTJjOWRlMmJjYmY2OTU1ODE3MTgzOTk1NDk3Y2VhOTU2YWU1MTVkMjI2MTg5OGZhMDUxMDE1NzI4ZTVhOGFhYWM0MmRhZDMzMTcwZDA0NTA3YTMzYTg1NTIxYWJkZjFjYmE2NGVjZmI4NTA0NThkYmVmMGE4YWVhNzE1NzVkMDYwYzdkYjM5NzBmODVhNmUxZTRjN2FiZjVhZThjZGIwOTMzZDcxZThjOTRlMDRhMjU2MTlkY2VlM2QyMjYxYWQyZWU2YmYxMmZmYTA2ZDk4YTA4NjRkODc2MDI3MzNlYzg2YTY0NTIxZjJiMTgxNzdiMjAwY2JiZTExNzU3N2E2MTVkNmM3NzA5ODhjMGJhZDk0NmUyMDhlMjRmYTA3NGU1YWIzMTQzZGI1YmZjZTBmZDEwOGU0YjgyZDEyMGE5MjEwODAxMWE3MjNjMTJhNzg3ZTZkNzg4NzE5YTEwYmRiYTViMjY5OWMzMjcxODZhZjRlMjNjMWE5NDY4MzRiNjE1MGJkYTI1ODNlOWNhMmFkNDRjZThkYmJiYzJkYjA0ZGU4ZWY5MmU4ZWZjMTQxZmJlY2FhNjI4N2M1OTQ3NGU2YmMwNWQ5OWIyOTY0ZmEwOTBjM2EyMjMzYmExODY1MTViZTdlZDFmNjEyOTcwY2VlMmQ3YWZiODFiZGQ3NjIxNzA0ODFjZDAwNjkxMjdkNWIwNWFhOTkzYjRlYTk4OGQ4ZmRkYzE4NmZmYjdkYzkwYTZjMDhmNGRmNDM1YzkzNDAyODQ5MjM2YzNmYWI0ZDI3YzcwMjZjMWQ0ZGNiMjYwMjY0NmRlYzk3NTFlNzYzZGJhMzdiZGY4ZmY5NDA2YWQ5ZTUzMGVlNWRiMzgyZjQxMzAwMWFlYjA2YTUzZWQ5MDI3ZDgzMTE3OTcyN2IwODY1YTg5MThkYTNlZGJlYmNmOWIxNGVkNDRjZTZjYmFjZWQ0YmIxYmRiN2YxNDQ3ZTZjYzI1NGIzMzIwNTE1MTJiZDdhZjQyNmZiOGY0MDEzNzhjZDJiZjU5ODNjYTAxYzY0YjkyZWNmMDMyZWExNWQxNzIxZDAzZjQ4MmQ3Y2U2ZTc0ZmVmNmQ1NWU3MDJmNDY5ODBjODJiNWE4NDAzMTkwMGIxYzllNTllN2M5N2ZiZWM3ZThmMzIzYTk3YTdlMzZjYzg4YmUwZjFkNDViN2ZmNTg1YWM1NGJkNDA3YjIyYjQxNTRhYWNjOGY2ZDdlYmY0OGUxZDgxNGNjNWVkMjBmODAzN2UwYTc5NzE1ZWVmMjliZTMyODA2YTFkNThiYjdjNWRhNzZmNTUwYWEzZDhhMWZiZmYwZWIxOWNjYjFhMzEzZDU1Y2RhNTZjOWVjMmVmMjk2MzIzODdmZThkNzZlM2MwNDY4MDQzZThmNjYzZjQ4NjBlZTEyYmYyZDViMGI3NDc0ZDZlNjk0ZjkxZTZkYmUxMTU5NzRhMzkyNmYxMmZlZTVlNDM4Nzc3Y2I2YTkzMmRmOGNkOGJlYzRkMDczYjkzMWJhM2JjODMyYjY4ZDlkZDMwMDc0MWZhN2JmOGFmYzQ3ZWQyNTc2ZjY5MzZiYTQyNDY2M2FhYjYzOWM1YWU0ZjU2ODM0MjNiNDc0MmJmMWM5NzgyMzhmMTZjYmUzOWQ2NTJkZTNmZGI4YmVmYzg0OGFkOTIyMjIyZTA0YTQwMzdjMDcxM2ViNTdhODFhMjNmMGM3MzQ3M2ZjNjQ2Y2VhMzA2YjRiY2JjODg2MmY4Mzg1ZGRmYTlkNGI3ZmEyYzA4N2U4Nzk2ODMzMDNlZDViZGQzYTA2MmIzY2Y1YjNhMjc4YTY2ZDJhMTNmODNmNDRmODJkZGYzMTBlZTA3NGFiNmEzNjQ1OTdlODk5YTAyNTVkYzE2NGYzMWNjNTA4NDY4NTFkZjlhYjQ4MTk1ZGVkN2VhMWIxZDUxMGJkN2VlNzRkNzNmYWYzNmJjMzFlY2ZhMjY4MzU5MDQ2ZjRlYjg3OWY5MjQwMDk0MzhiNDgxYzZjZDc4ODlhMDAyZWQ1ZWUzODJiYzkxOTBkYTZmYzAyNmU0Nzk1NThlNDQ3NTY3N2U5YWE5ZTMwNTBlMjc2NTY5NGRmYzgxZjU2ZTg4MGI5NmU3MTYwYzk4MGRkOThlZGQzZGZmZmZmZmZmZmZmZmZmZmZmIn19fSx7fV0sNjc6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbj1yO24udmVyc2lvbj10KCIuLi9wYWNrYWdlLmpzb24iKS52ZXJzaW9uLG4udXRpbHM9dCgiLi9lbGxpcHRpYy91dGlscyIpLG4ucmFuZD10KCJicm9yYW5kIiksbi5jdXJ2ZT10KCIuL2VsbGlwdGljL2N1cnZlIiksbi5jdXJ2ZXM9dCgiLi9lbGxpcHRpYy9jdXJ2ZXMiKSxuLmVjPXQoIi4vZWxsaXB0aWMvZWMiKSxuLmVkZHNhPXQoIi4vZWxsaXB0aWMvZWRkc2EiKX0seyIuLi9wYWNrYWdlLmpzb24iOjgyLCIuL2VsbGlwdGljL2N1cnZlIjo3MCwiLi9lbGxpcHRpYy9jdXJ2ZXMiOjczLCIuL2VsbGlwdGljL2VjIjo3NCwiLi9lbGxpcHRpYy9lZGRzYSI6NzcsIi4vZWxsaXB0aWMvdXRpbHMiOjgxLGJyb3JhbmQ6MTZ9XSw2ODpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQoImJuLmpzIiksaT10KCIuLi8uLi9lbGxpcHRpYyIpLnV0aWxzLG89aS5nZXROQUYsYT1pLmdldEpTRixzPWkuYXNzZXJ0O2Z1bmN0aW9uIHUodCxlKXt0aGlzLnR5cGU9dCx0aGlzLnA9bmV3IG4oZS5wLDE2KSx0aGlzLnJlZD1lLnByaW1lP24ucmVkKGUucHJpbWUpOm4ubW9udCh0aGlzLnApLHRoaXMuemVybz1uZXcgbigwKS50b1JlZCh0aGlzLnJlZCksdGhpcy5vbmU9bmV3IG4oMSkudG9SZWQodGhpcy5yZWQpLHRoaXMudHdvPW5ldyBuKDIpLnRvUmVkKHRoaXMucmVkKSx0aGlzLm49ZS5uJiZuZXcgbihlLm4sMTYpLHRoaXMuZz1lLmcmJnRoaXMucG9pbnRGcm9tSlNPTihlLmcsZS5nUmVkKSx0aGlzLl93bmFmVDE9bmV3IEFycmF5KDQpLHRoaXMuX3duYWZUMj1uZXcgQXJyYXkoNCksdGhpcy5fd25hZlQzPW5ldyBBcnJheSg0KSx0aGlzLl93bmFmVDQ9bmV3IEFycmF5KDQpO3ZhciByPXRoaXMubiYmdGhpcy5wLmRpdih0aGlzLm4pOyFyfHxyLmNtcG4oMTAwKT4wP3RoaXMucmVkTj1udWxsOih0aGlzLl9tYXh3ZWxsVHJpY2s9ITAsdGhpcy5yZWROPXRoaXMubi50b1JlZCh0aGlzLnJlZCkpfWZ1bmN0aW9uIGYodCxlKXt0aGlzLmN1cnZlPXQsdGhpcy50eXBlPWUsdGhpcy5wcmVjb21wdXRlZD1udWxsfWUuZXhwb3J0cz11LHUucHJvdG90eXBlLnBvaW50PWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKCJOb3QgaW1wbGVtZW50ZWQiKX0sdS5wcm90b3R5cGUudmFsaWRhdGU9ZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoIk5vdCBpbXBsZW1lbnRlZCIpfSx1LnByb3RvdHlwZS5fZml4ZWROYWZNdWw9ZnVuY3Rpb24odCxlKXtzKHQucHJlY29tcHV0ZWQpO3ZhciByPXQuX2dldERvdWJsZXMoKSxuPW8oZSwxKSxpPSgxPDxyLnN0ZXArMSktKHIuc3RlcCUyPT0wPzI6MSk7aS89Mztmb3IodmFyIGE9W10sdT0wO3U8bi5sZW5ndGg7dSs9ci5zdGVwKXt2YXIgZj0wO2ZvcihlPXUrci5zdGVwLTE7ZT49dTtlLS0pZj0oZjw8MSkrbltlXTthLnB1c2goZil9Zm9yKHZhciBjPXRoaXMuanBvaW50KG51bGwsbnVsbCxudWxsKSxoPXRoaXMuanBvaW50KG51bGwsbnVsbCxudWxsKSxkPWk7ZD4wO2QtLSl7Zm9yKHU9MDt1PGEubGVuZ3RoO3UrKyl7KGY9YVt1XSk9PT1kP2g9aC5taXhlZEFkZChyLnBvaW50c1t1XSk6Zj09PS1kJiYoaD1oLm1peGVkQWRkKHIucG9pbnRzW3VdLm5lZygpKSl9Yz1jLmFkZChoKX1yZXR1cm4gYy50b1AoKX0sdS5wcm90b3R5cGUuX3duYWZNdWw9ZnVuY3Rpb24odCxlKXt2YXIgcj00LG49dC5fZ2V0TkFGUG9pbnRzKHIpO3I9bi53bmQ7Zm9yKHZhciBpPW4ucG9pbnRzLGE9byhlLHIpLHU9dGhpcy5qcG9pbnQobnVsbCxudWxsLG51bGwpLGY9YS5sZW5ndGgtMTtmPj0wO2YtLSl7Zm9yKGU9MDtmPj0wJiYwPT09YVtmXTtmLS0pZSsrO2lmKGY+PTAmJmUrKyx1PXUuZGJscChlKSxmPDApYnJlYWs7dmFyIGM9YVtmXTtzKDAhPT1jKSx1PSJhZmZpbmUiPT09dC50eXBlP2M+MD91Lm1peGVkQWRkKGlbYy0xPj4xXSk6dS5taXhlZEFkZChpWy1jLTE+PjFdLm5lZygpKTpjPjA/dS5hZGQoaVtjLTE+PjFdKTp1LmFkZChpWy1jLTE+PjFdLm5lZygpKX1yZXR1cm4iYWZmaW5lIj09PXQudHlwZT91LnRvUCgpOnV9LHUucHJvdG90eXBlLl93bmFmTXVsQWRkPWZ1bmN0aW9uKHQsZSxyLG4saSl7Zm9yKHZhciBzPXRoaXMuX3duYWZUMSx1PXRoaXMuX3duYWZUMixmPXRoaXMuX3duYWZUMyxjPTAsaD0wO2g8bjtoKyspe3ZhciBkPShTPWVbaF0pLl9nZXROQUZQb2ludHModCk7c1toXT1kLnduZCx1W2hdPWQucG9pbnRzfWZvcihoPW4tMTtoPj0xO2gtPTIpe3ZhciBsPWgtMSxwPWg7aWYoMT09PXNbbF0mJjE9PT1zW3BdKXt2YXIgYj1bZVtsXSxudWxsLG51bGwsZVtwXV07MD09PWVbbF0ueS5jbXAoZVtwXS55KT8oYlsxXT1lW2xdLmFkZChlW3BdKSxiWzJdPWVbbF0udG9KKCkubWl4ZWRBZGQoZVtwXS5uZWcoKSkpOjA9PT1lW2xdLnkuY21wKGVbcF0ueS5yZWROZWcoKSk/KGJbMV09ZVtsXS50b0ooKS5taXhlZEFkZChlW3BdKSxiWzJdPWVbbF0uYWRkKGVbcF0ubmVnKCkpKTooYlsxXT1lW2xdLnRvSigpLm1peGVkQWRkKGVbcF0pLGJbMl09ZVtsXS50b0ooKS5taXhlZEFkZChlW3BdLm5lZygpKSk7dmFyIG09Wy0zLC0xLC01LC03LDAsNyw1LDEsM10seT1hKHJbbF0scltwXSk7Yz1NYXRoLm1heCh5WzBdLmxlbmd0aCxjKSxmW2xdPW5ldyBBcnJheShjKSxmW3BdPW5ldyBBcnJheShjKTtmb3IodmFyIHY9MDt2PGM7disrKXt2YXIgZz0wfHlbMF1bdl0sdz0wfHlbMV1bdl07ZltsXVt2XT1tWzMqKGcrMSkrKHcrMSldLGZbcF1bdl09MCx1W2xdPWJ9fWVsc2UgZltsXT1vKHJbbF0sc1tsXSksZltwXT1vKHJbcF0sc1twXSksYz1NYXRoLm1heChmW2xdLmxlbmd0aCxjKSxjPU1hdGgubWF4KGZbcF0ubGVuZ3RoLGMpfXZhciBfPXRoaXMuanBvaW50KG51bGwsbnVsbCxudWxsKSxNPXRoaXMuX3duYWZUNDtmb3IoaD1jO2g+PTA7aC0tKXtmb3IodmFyIHg9MDtoPj0wOyl7dmFyIGs9ITA7Zm9yKHY9MDt2PG47disrKU1bdl09MHxmW3ZdW2hdLDAhPT1NW3ZdJiYoaz0hMSk7aWYoIWspYnJlYWs7eCsrLGgtLX1pZihoPj0wJiZ4KyssXz1fLmRibHAoeCksaDwwKWJyZWFrO2Zvcih2PTA7djxuO3YrKyl7dmFyIFMsRT1NW3ZdOzAhPT1FJiYoRT4wP1M9dVt2XVtFLTE+PjFdOkU8MCYmKFM9dVt2XVstRS0xPj4xXS5uZWcoKSksXz0iYWZmaW5lIj09PVMudHlwZT9fLm1peGVkQWRkKFMpOl8uYWRkKFMpKX19Zm9yKGg9MDtoPG47aCsrKXVbaF09bnVsbDtyZXR1cm4gaT9fOl8udG9QKCl9LHUuQmFzZVBvaW50PWYsZi5wcm90b3R5cGUuZXE9ZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoIk5vdCBpbXBsZW1lbnRlZCIpfSxmLnByb3RvdHlwZS52YWxpZGF0ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmN1cnZlLnZhbGlkYXRlKHRoaXMpfSx1LnByb3RvdHlwZS5kZWNvZGVQb2ludD1mdW5jdGlvbih0LGUpe3Q9aS50b0FycmF5KHQsZSk7dmFyIHI9dGhpcy5wLmJ5dGVMZW5ndGgoKTtpZigoND09PXRbMF18fDY9PT10WzBdfHw3PT09dFswXSkmJnQubGVuZ3RoLTE9PTIqcilyZXR1cm4gNj09PXRbMF0/cyh0W3QubGVuZ3RoLTFdJTI9PTApOjc9PT10WzBdJiZzKHRbdC5sZW5ndGgtMV0lMj09MSksdGhpcy5wb2ludCh0LnNsaWNlKDEsMStyKSx0LnNsaWNlKDErciwxKzIqcikpO2lmKCgyPT09dFswXXx8Mz09PXRbMF0pJiZ0Lmxlbmd0aC0xPT09cilyZXR1cm4gdGhpcy5wb2ludEZyb21YKHQuc2xpY2UoMSwxK3IpLDM9PT10WzBdKTt0aHJvdyBuZXcgRXJyb3IoIlVua25vd24gcG9pbnQgZm9ybWF0Iil9LGYucHJvdG90eXBlLmVuY29kZUNvbXByZXNzZWQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuZW5jb2RlKHQsITApfSxmLnByb3RvdHlwZS5fZW5jb2RlPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuY3VydmUucC5ieXRlTGVuZ3RoKCkscj10aGlzLmdldFgoKS50b0FycmF5KCJiZSIsZSk7cmV0dXJuIHQ/W3RoaXMuZ2V0WSgpLmlzRXZlbigpPzI6M10uY29uY2F0KHIpOls0XS5jb25jYXQocix0aGlzLmdldFkoKS50b0FycmF5KCJiZSIsZSkpfSxmLnByb3RvdHlwZS5lbmNvZGU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gaS5lbmNvZGUodGhpcy5fZW5jb2RlKGUpLHQpfSxmLnByb3RvdHlwZS5wcmVjb21wdXRlPWZ1bmN0aW9uKHQpe2lmKHRoaXMucHJlY29tcHV0ZWQpcmV0dXJuIHRoaXM7dmFyIGU9e2RvdWJsZXM6bnVsbCxuYWY6bnVsbCxiZXRhOm51bGx9O3JldHVybiBlLm5hZj10aGlzLl9nZXROQUZQb2ludHMoOCksZS5kb3VibGVzPXRoaXMuX2dldERvdWJsZXMoNCx0KSxlLmJldGE9dGhpcy5fZ2V0QmV0YSgpLHRoaXMucHJlY29tcHV0ZWQ9ZSx0aGlzfSxmLnByb3RvdHlwZS5faGFzRG91Ymxlcz1mdW5jdGlvbih0KXtpZighdGhpcy5wcmVjb21wdXRlZClyZXR1cm4hMTt2YXIgZT10aGlzLnByZWNvbXB1dGVkLmRvdWJsZXM7cmV0dXJuISFlJiZlLnBvaW50cy5sZW5ndGg+PU1hdGguY2VpbCgodC5iaXRMZW5ndGgoKSsxKS9lLnN0ZXApfSxmLnByb3RvdHlwZS5fZ2V0RG91Ymxlcz1mdW5jdGlvbih0LGUpe2lmKHRoaXMucHJlY29tcHV0ZWQmJnRoaXMucHJlY29tcHV0ZWQuZG91YmxlcylyZXR1cm4gdGhpcy5wcmVjb21wdXRlZC5kb3VibGVzO2Zvcih2YXIgcj1bdGhpc10sbj10aGlzLGk9MDtpPGU7aSs9dCl7Zm9yKHZhciBvPTA7bzx0O28rKyluPW4uZGJsKCk7ci5wdXNoKG4pfXJldHVybntzdGVwOnQscG9pbnRzOnJ9fSxmLnByb3RvdHlwZS5fZ2V0TkFGUG9pbnRzPWZ1bmN0aW9uKHQpe2lmKHRoaXMucHJlY29tcHV0ZWQmJnRoaXMucHJlY29tcHV0ZWQubmFmKXJldHVybiB0aGlzLnByZWNvbXB1dGVkLm5hZjtmb3IodmFyIGU9W3RoaXNdLHI9KDE8PHQpLTEsbj0xPT09cj9udWxsOnRoaXMuZGJsKCksaT0xO2k8cjtpKyspZVtpXT1lW2ktMV0uYWRkKG4pO3JldHVybnt3bmQ6dCxwb2ludHM6ZX19LGYucHJvdG90eXBlLl9nZXRCZXRhPWZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9LGYucHJvdG90eXBlLmRibHA9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPXRoaXMscj0wO3I8dDtyKyspZT1lLmRibCgpO3JldHVybiBlfX0seyIuLi8uLi9lbGxpcHRpYyI6NjcsImJuLmpzIjoiQk4ifV0sNjk6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbj10KCIuLi9jdXJ2ZSIpLGk9dCgiLi4vLi4vZWxsaXB0aWMiKSxvPXQoImJuLmpzIiksYT10KCJpbmhlcml0cyIpLHM9bi5iYXNlLHU9aS51dGlscy5hc3NlcnQ7ZnVuY3Rpb24gZih0KXt0aGlzLnR3aXN0ZWQ9MSE9KDB8dC5hKSx0aGlzLm1PbmVBPXRoaXMudHdpc3RlZCYmLTE9PSgwfHQuYSksdGhpcy5leHRlbmRlZD10aGlzLm1PbmVBLHMuY2FsbCh0aGlzLCJlZHdhcmRzIix0KSx0aGlzLmE9bmV3IG8odC5hLDE2KS51bW9kKHRoaXMucmVkLm0pLHRoaXMuYT10aGlzLmEudG9SZWQodGhpcy5yZWQpLHRoaXMuYz1uZXcgbyh0LmMsMTYpLnRvUmVkKHRoaXMucmVkKSx0aGlzLmMyPXRoaXMuYy5yZWRTcXIoKSx0aGlzLmQ9bmV3IG8odC5kLDE2KS50b1JlZCh0aGlzLnJlZCksdGhpcy5kZD10aGlzLmQucmVkQWRkKHRoaXMuZCksdSghdGhpcy50d2lzdGVkfHwwPT09dGhpcy5jLmZyb21SZWQoKS5jbXBuKDEpKSx0aGlzLm9uZUM9MT09KDB8dC5jKX1mdW5jdGlvbiBjKHQsZSxyLG4saSl7cy5CYXNlUG9pbnQuY2FsbCh0aGlzLHQsInByb2plY3RpdmUiKSxudWxsPT09ZSYmbnVsbD09PXImJm51bGw9PT1uPyh0aGlzLng9dGhpcy5jdXJ2ZS56ZXJvLHRoaXMueT10aGlzLmN1cnZlLm9uZSx0aGlzLno9dGhpcy5jdXJ2ZS5vbmUsdGhpcy50PXRoaXMuY3VydmUuemVybyx0aGlzLnpPbmU9ITApOih0aGlzLng9bmV3IG8oZSwxNiksdGhpcy55PW5ldyBvKHIsMTYpLHRoaXMuej1uP25ldyBvKG4sMTYpOnRoaXMuY3VydmUub25lLHRoaXMudD1pJiZuZXcgbyhpLDE2KSx0aGlzLngucmVkfHwodGhpcy54PXRoaXMueC50b1JlZCh0aGlzLmN1cnZlLnJlZCkpLHRoaXMueS5yZWR8fCh0aGlzLnk9dGhpcy55LnRvUmVkKHRoaXMuY3VydmUucmVkKSksdGhpcy56LnJlZHx8KHRoaXMuej10aGlzLnoudG9SZWQodGhpcy5jdXJ2ZS5yZWQpKSx0aGlzLnQmJiF0aGlzLnQucmVkJiYodGhpcy50PXRoaXMudC50b1JlZCh0aGlzLmN1cnZlLnJlZCkpLHRoaXMuek9uZT10aGlzLno9PT10aGlzLmN1cnZlLm9uZSx0aGlzLmN1cnZlLmV4dGVuZGVkJiYhdGhpcy50JiYodGhpcy50PXRoaXMueC5yZWRNdWwodGhpcy55KSx0aGlzLnpPbmV8fCh0aGlzLnQ9dGhpcy50LnJlZE11bCh0aGlzLnoucmVkSW52bSgpKSkpKX1hKGYscyksZS5leHBvcnRzPWYsZi5wcm90b3R5cGUuX211bEE9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMubU9uZUE/dC5yZWROZWcoKTp0aGlzLmEucmVkTXVsKHQpfSxmLnByb3RvdHlwZS5fbXVsQz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vbmVDP3Q6dGhpcy5jLnJlZE11bCh0KX0sZi5wcm90b3R5cGUuanBvaW50PWZ1bmN0aW9uKHQsZSxyLG4pe3JldHVybiB0aGlzLnBvaW50KHQsZSxyLG4pfSxmLnByb3RvdHlwZS5wb2ludEZyb21YPWZ1bmN0aW9uKHQsZSl7KHQ9bmV3IG8odCwxNikpLnJlZHx8KHQ9dC50b1JlZCh0aGlzLnJlZCkpO3ZhciByPXQucmVkU3FyKCksbj10aGlzLmMyLnJlZFN1Yih0aGlzLmEucmVkTXVsKHIpKSxpPXRoaXMub25lLnJlZFN1Yih0aGlzLmMyLnJlZE11bCh0aGlzLmQpLnJlZE11bChyKSksYT1uLnJlZE11bChpLnJlZEludm0oKSkscz1hLnJlZFNxcnQoKTtpZigwIT09cy5yZWRTcXIoKS5yZWRTdWIoYSkuY21wKHRoaXMuemVybykpdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIHBvaW50Iik7dmFyIHU9cy5mcm9tUmVkKCkuaXNPZGQoKTtyZXR1cm4oZSYmIXV8fCFlJiZ1KSYmKHM9cy5yZWROZWcoKSksdGhpcy5wb2ludCh0LHMpfSxmLnByb3RvdHlwZS5wb2ludEZyb21ZPWZ1bmN0aW9uKHQsZSl7KHQ9bmV3IG8odCwxNikpLnJlZHx8KHQ9dC50b1JlZCh0aGlzLnJlZCkpO3ZhciByPXQucmVkU3FyKCksbj1yLnJlZFN1Yih0aGlzLm9uZSksaT1yLnJlZE11bCh0aGlzLmQpLnJlZEFkZCh0aGlzLm9uZSksYT1uLnJlZE11bChpLnJlZEludm0oKSk7aWYoMD09PWEuY21wKHRoaXMuemVybykpe2lmKGUpdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIHBvaW50Iik7cmV0dXJuIHRoaXMucG9pbnQodGhpcy56ZXJvLHQpfXZhciBzPWEucmVkU3FydCgpO2lmKDAhPT1zLnJlZFNxcigpLnJlZFN1YihhKS5jbXAodGhpcy56ZXJvKSl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgcG9pbnQiKTtyZXR1cm4gcy5pc09kZCgpIT09ZSYmKHM9cy5yZWROZWcoKSksdGhpcy5wb2ludChzLHQpfSxmLnByb3RvdHlwZS52YWxpZGF0ZT1mdW5jdGlvbih0KXtpZih0LmlzSW5maW5pdHkoKSlyZXR1cm4hMDt0Lm5vcm1hbGl6ZSgpO3ZhciBlPXQueC5yZWRTcXIoKSxyPXQueS5yZWRTcXIoKSxuPWUucmVkTXVsKHRoaXMuYSkucmVkQWRkKHIpLGk9dGhpcy5jMi5yZWRNdWwodGhpcy5vbmUucmVkQWRkKHRoaXMuZC5yZWRNdWwoZSkucmVkTXVsKHIpKSk7cmV0dXJuIDA9PT1uLmNtcChpKX0sYShjLHMuQmFzZVBvaW50KSxmLnByb3RvdHlwZS5wb2ludEZyb21KU09OPWZ1bmN0aW9uKHQpe3JldHVybiBjLmZyb21KU09OKHRoaXMsdCl9LGYucHJvdG90eXBlLnBvaW50PWZ1bmN0aW9uKHQsZSxyLG4pe3JldHVybiBuZXcgYyh0aGlzLHQsZSxyLG4pfSxjLmZyb21KU09OPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIG5ldyBjKHQsZVswXSxlWzFdLGVbMl0pfSxjLnByb3RvdHlwZS5pbnNwZWN0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaXNJbmZpbml0eSgpPyI8RUMgUG9pbnQgSW5maW5pdHk+IjoiPEVDIFBvaW50IHg6ICIrdGhpcy54LmZyb21SZWQoKS50b1N0cmluZygxNiwyKSsiIHk6ICIrdGhpcy55LmZyb21SZWQoKS50b1N0cmluZygxNiwyKSsiIHo6ICIrdGhpcy56LmZyb21SZWQoKS50b1N0cmluZygxNiwyKSsiPiJ9LGMucHJvdG90eXBlLmlzSW5maW5pdHk9ZnVuY3Rpb24oKXtyZXR1cm4gMD09PXRoaXMueC5jbXBuKDApJiYwPT09dGhpcy55LmNtcCh0aGlzLnopfSxjLnByb3RvdHlwZS5fZXh0RGJsPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy54LnJlZFNxcigpLGU9dGhpcy55LnJlZFNxcigpLHI9dGhpcy56LnJlZFNxcigpO3I9ci5yZWRJQWRkKHIpO3ZhciBuPXRoaXMuY3VydmUuX211bEEodCksaT10aGlzLngucmVkQWRkKHRoaXMueSkucmVkU3FyKCkucmVkSVN1Yih0KS5yZWRJU3ViKGUpLG89bi5yZWRBZGQoZSksYT1vLnJlZFN1YihyKSxzPW4ucmVkU3ViKGUpLHU9aS5yZWRNdWwoYSksZj1vLnJlZE11bChzKSxjPWkucmVkTXVsKHMpLGg9YS5yZWRNdWwobyk7cmV0dXJuIHRoaXMuY3VydmUucG9pbnQodSxmLGgsYyl9LGMucHJvdG90eXBlLl9wcm9qRGJsPWZ1bmN0aW9uKCl7dmFyIHQsZSxyLG49dGhpcy54LnJlZEFkZCh0aGlzLnkpLnJlZFNxcigpLGk9dGhpcy54LnJlZFNxcigpLG89dGhpcy55LnJlZFNxcigpO2lmKHRoaXMuY3VydmUudHdpc3RlZCl7dmFyIGE9KGY9dGhpcy5jdXJ2ZS5fbXVsQShpKSkucmVkQWRkKG8pO2lmKHRoaXMuek9uZSl0PW4ucmVkU3ViKGkpLnJlZFN1YihvKS5yZWRNdWwoYS5yZWRTdWIodGhpcy5jdXJ2ZS50d28pKSxlPWEucmVkTXVsKGYucmVkU3ViKG8pKSxyPWEucmVkU3FyKCkucmVkU3ViKGEpLnJlZFN1YihhKTtlbHNle3ZhciBzPXRoaXMuei5yZWRTcXIoKSx1PWEucmVkU3ViKHMpLnJlZElTdWIocyk7dD1uLnJlZFN1YihpKS5yZWRJU3ViKG8pLnJlZE11bCh1KSxlPWEucmVkTXVsKGYucmVkU3ViKG8pKSxyPWEucmVkTXVsKHUpfX1lbHNle3ZhciBmPWkucmVkQWRkKG8pO3M9dGhpcy5jdXJ2ZS5fbXVsQyh0aGlzLmMucmVkTXVsKHRoaXMueikpLnJlZFNxcigpLHU9Zi5yZWRTdWIocykucmVkU3ViKHMpO3Q9dGhpcy5jdXJ2ZS5fbXVsQyhuLnJlZElTdWIoZikpLnJlZE11bCh1KSxlPXRoaXMuY3VydmUuX211bEMoZikucmVkTXVsKGkucmVkSVN1YihvKSkscj1mLnJlZE11bCh1KX1yZXR1cm4gdGhpcy5jdXJ2ZS5wb2ludCh0LGUscil9LGMucHJvdG90eXBlLmRibD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmlzSW5maW5pdHkoKT90aGlzOnRoaXMuY3VydmUuZXh0ZW5kZWQ/dGhpcy5fZXh0RGJsKCk6dGhpcy5fcHJvakRibCgpfSxjLnByb3RvdHlwZS5fZXh0QWRkPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMueS5yZWRTdWIodGhpcy54KS5yZWRNdWwodC55LnJlZFN1Yih0LngpKSxyPXRoaXMueS5yZWRBZGQodGhpcy54KS5yZWRNdWwodC55LnJlZEFkZCh0LngpKSxuPXRoaXMudC5yZWRNdWwodGhpcy5jdXJ2ZS5kZCkucmVkTXVsKHQudCksaT10aGlzLnoucmVkTXVsKHQuei5yZWRBZGQodC56KSksbz1yLnJlZFN1YihlKSxhPWkucmVkU3ViKG4pLHM9aS5yZWRBZGQobiksdT1yLnJlZEFkZChlKSxmPW8ucmVkTXVsKGEpLGM9cy5yZWRNdWwodSksaD1vLnJlZE11bCh1KSxkPWEucmVkTXVsKHMpO3JldHVybiB0aGlzLmN1cnZlLnBvaW50KGYsYyxkLGgpfSxjLnByb3RvdHlwZS5fcHJvakFkZD1mdW5jdGlvbih0KXt2YXIgZSxyLG49dGhpcy56LnJlZE11bCh0LnopLGk9bi5yZWRTcXIoKSxvPXRoaXMueC5yZWRNdWwodC54KSxhPXRoaXMueS5yZWRNdWwodC55KSxzPXRoaXMuY3VydmUuZC5yZWRNdWwobykucmVkTXVsKGEpLHU9aS5yZWRTdWIocyksZj1pLnJlZEFkZChzKSxjPXRoaXMueC5yZWRBZGQodGhpcy55KS5yZWRNdWwodC54LnJlZEFkZCh0LnkpKS5yZWRJU3ViKG8pLnJlZElTdWIoYSksaD1uLnJlZE11bCh1KS5yZWRNdWwoYyk7cmV0dXJuIHRoaXMuY3VydmUudHdpc3RlZD8oZT1uLnJlZE11bChmKS5yZWRNdWwoYS5yZWRTdWIodGhpcy5jdXJ2ZS5fbXVsQShvKSkpLHI9dS5yZWRNdWwoZikpOihlPW4ucmVkTXVsKGYpLnJlZE11bChhLnJlZFN1YihvKSkscj10aGlzLmN1cnZlLl9tdWxDKHUpLnJlZE11bChmKSksdGhpcy5jdXJ2ZS5wb2ludChoLGUscil9LGMucHJvdG90eXBlLmFkZD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5pc0luZmluaXR5KCk/dDp0LmlzSW5maW5pdHkoKT90aGlzOnRoaXMuY3VydmUuZXh0ZW5kZWQ/dGhpcy5fZXh0QWRkKHQpOnRoaXMuX3Byb2pBZGQodCl9LGMucHJvdG90eXBlLm11bD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5faGFzRG91Ymxlcyh0KT90aGlzLmN1cnZlLl9maXhlZE5hZk11bCh0aGlzLHQpOnRoaXMuY3VydmUuX3duYWZNdWwodGhpcyx0KX0sYy5wcm90b3R5cGUubXVsQWRkPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gdGhpcy5jdXJ2ZS5fd25hZk11bEFkZCgxLFt0aGlzLGVdLFt0LHJdLDIsITEpfSxjLnByb3RvdHlwZS5qbXVsQWRkPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gdGhpcy5jdXJ2ZS5fd25hZk11bEFkZCgxLFt0aGlzLGVdLFt0LHJdLDIsITApfSxjLnByb3RvdHlwZS5ub3JtYWxpemU9ZnVuY3Rpb24oKXtpZih0aGlzLnpPbmUpcmV0dXJuIHRoaXM7dmFyIHQ9dGhpcy56LnJlZEludm0oKTtyZXR1cm4gdGhpcy54PXRoaXMueC5yZWRNdWwodCksdGhpcy55PXRoaXMueS5yZWRNdWwodCksdGhpcy50JiYodGhpcy50PXRoaXMudC5yZWRNdWwodCkpLHRoaXMuej10aGlzLmN1cnZlLm9uZSx0aGlzLnpPbmU9ITAsdGhpc30sYy5wcm90b3R5cGUubmVnPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY3VydmUucG9pbnQodGhpcy54LnJlZE5lZygpLHRoaXMueSx0aGlzLnosdGhpcy50JiZ0aGlzLnQucmVkTmVnKCkpfSxjLnByb3RvdHlwZS5nZXRYPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubm9ybWFsaXplKCksdGhpcy54LmZyb21SZWQoKX0sYy5wcm90b3R5cGUuZ2V0WT1mdW5jdGlvbigpe3JldHVybiB0aGlzLm5vcm1hbGl6ZSgpLHRoaXMueS5mcm9tUmVkKCl9LGMucHJvdG90eXBlLmVxPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzPT09dHx8MD09PXRoaXMuZ2V0WCgpLmNtcCh0LmdldFgoKSkmJjA9PT10aGlzLmdldFkoKS5jbXAodC5nZXRZKCkpfSxjLnByb3RvdHlwZS5lcVhUb1A9ZnVuY3Rpb24odCl7dmFyIGU9dC50b1JlZCh0aGlzLmN1cnZlLnJlZCkucmVkTXVsKHRoaXMueik7aWYoMD09PXRoaXMueC5jbXAoZSkpcmV0dXJuITA7Zm9yKHZhciByPXQuY2xvbmUoKSxuPXRoaXMuY3VydmUucmVkTi5yZWRNdWwodGhpcy56KTs7KXtpZihyLmlhZGQodGhpcy5jdXJ2ZS5uKSxyLmNtcCh0aGlzLmN1cnZlLnApPj0wKXJldHVybiExO2lmKGUucmVkSUFkZChuKSwwPT09dGhpcy54LmNtcChlKSlyZXR1cm4hMH1yZXR1cm4hMX0sYy5wcm90b3R5cGUudG9QPWMucHJvdG90eXBlLm5vcm1hbGl6ZSxjLnByb3RvdHlwZS5taXhlZEFkZD1jLnByb3RvdHlwZS5hZGR9LHsiLi4vLi4vZWxsaXB0aWMiOjY3LCIuLi9jdXJ2ZSI6NzAsImJuLmpzIjoiQk4iLGluaGVyaXRzOjEwMX1dLDcwOltmdW5jdGlvbih0LGUscil7dmFyIG49cjtuLmJhc2U9dCgiLi9iYXNlIiksbi5zaG9ydD10KCIuL3Nob3J0Iiksbi5tb250PXQoIi4vbW9udCIpLG4uZWR3YXJkcz10KCIuL2Vkd2FyZHMiKX0seyIuL2Jhc2UiOjY4LCIuL2Vkd2FyZHMiOjY5LCIuL21vbnQiOjcxLCIuL3Nob3J0Ijo3Mn1dLDcxOltmdW5jdGlvbih0LGUscil7dmFyIG49dCgiLi4vY3VydmUiKSxpPXQoImJuLmpzIiksbz10KCJpbmhlcml0cyIpLGE9bi5iYXNlLHM9dCgiLi4vLi4vZWxsaXB0aWMiKS51dGlscztmdW5jdGlvbiB1KHQpe2EuY2FsbCh0aGlzLCJtb250Iix0KSx0aGlzLmE9bmV3IGkodC5hLDE2KS50b1JlZCh0aGlzLnJlZCksdGhpcy5iPW5ldyBpKHQuYiwxNikudG9SZWQodGhpcy5yZWQpLHRoaXMuaTQ9bmV3IGkoNCkudG9SZWQodGhpcy5yZWQpLnJlZEludm0oKSx0aGlzLnR3bz1uZXcgaSgyKS50b1JlZCh0aGlzLnJlZCksdGhpcy5hMjQ9dGhpcy5pNC5yZWRNdWwodGhpcy5hLnJlZEFkZCh0aGlzLnR3bykpfWZ1bmN0aW9uIGYodCxlLHIpe2EuQmFzZVBvaW50LmNhbGwodGhpcyx0LCJwcm9qZWN0aXZlIiksbnVsbD09PWUmJm51bGw9PT1yPyh0aGlzLng9dGhpcy5jdXJ2ZS5vbmUsdGhpcy56PXRoaXMuY3VydmUuemVybyk6KHRoaXMueD1uZXcgaShlLDE2KSx0aGlzLno9bmV3IGkociwxNiksdGhpcy54LnJlZHx8KHRoaXMueD10aGlzLngudG9SZWQodGhpcy5jdXJ2ZS5yZWQpKSx0aGlzLnoucmVkfHwodGhpcy56PXRoaXMuei50b1JlZCh0aGlzLmN1cnZlLnJlZCkpKX1vKHUsYSksZS5leHBvcnRzPXUsdS5wcm90b3R5cGUudmFsaWRhdGU9ZnVuY3Rpb24odCl7dmFyIGU9dC5ub3JtYWxpemUoKS54LHI9ZS5yZWRTcXIoKSxuPXIucmVkTXVsKGUpLnJlZEFkZChyLnJlZE11bCh0aGlzLmEpKS5yZWRBZGQoZSk7cmV0dXJuIDA9PT1uLnJlZFNxcnQoKS5yZWRTcXIoKS5jbXAobil9LG8oZixhLkJhc2VQb2ludCksdS5wcm90b3R5cGUuZGVjb2RlUG9pbnQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5wb2ludChzLnRvQXJyYXkodCxlKSwxKX0sdS5wcm90b3R5cGUucG9pbnQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4gbmV3IGYodGhpcyx0LGUpfSx1LnByb3RvdHlwZS5wb2ludEZyb21KU09OPWZ1bmN0aW9uKHQpe3JldHVybiBmLmZyb21KU09OKHRoaXMsdCl9LGYucHJvdG90eXBlLnByZWNvbXB1dGU9ZnVuY3Rpb24oKXt9LGYucHJvdG90eXBlLl9lbmNvZGU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nZXRYKCkudG9BcnJheSgiYmUiLHRoaXMuY3VydmUucC5ieXRlTGVuZ3RoKCkpfSxmLmZyb21KU09OPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIG5ldyBmKHQsZVswXSxlWzFdfHx0Lm9uZSl9LGYucHJvdG90eXBlLmluc3BlY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pc0luZmluaXR5KCk/IjxFQyBQb2ludCBJbmZpbml0eT4iOiI8RUMgUG9pbnQgeDogIit0aGlzLnguZnJvbVJlZCgpLnRvU3RyaW5nKDE2LDIpKyIgejogIit0aGlzLnouZnJvbVJlZCgpLnRvU3RyaW5nKDE2LDIpKyI+In0sZi5wcm90b3R5cGUuaXNJbmZpbml0eT1mdW5jdGlvbigpe3JldHVybiAwPT09dGhpcy56LmNtcG4oMCl9LGYucHJvdG90eXBlLmRibD1mdW5jdGlvbigpe3ZhciB0PXRoaXMueC5yZWRBZGQodGhpcy56KS5yZWRTcXIoKSxlPXRoaXMueC5yZWRTdWIodGhpcy56KS5yZWRTcXIoKSxyPXQucmVkU3ViKGUpLG49dC5yZWRNdWwoZSksaT1yLnJlZE11bChlLnJlZEFkZCh0aGlzLmN1cnZlLmEyNC5yZWRNdWwocikpKTtyZXR1cm4gdGhpcy5jdXJ2ZS5wb2ludChuLGkpfSxmLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoIk5vdCBzdXBwb3J0ZWQgb24gTW9udGdvbWVyeSBjdXJ2ZSIpfSxmLnByb3RvdHlwZS5kaWZmQWRkPWZ1bmN0aW9uKHQsZSl7dmFyIHI9dGhpcy54LnJlZEFkZCh0aGlzLnopLG49dGhpcy54LnJlZFN1Yih0aGlzLnopLGk9dC54LnJlZEFkZCh0LnopLG89dC54LnJlZFN1Yih0LnopLnJlZE11bChyKSxhPWkucmVkTXVsKG4pLHM9ZS56LnJlZE11bChvLnJlZEFkZChhKS5yZWRTcXIoKSksdT1lLngucmVkTXVsKG8ucmVkSVN1YihhKS5yZWRTcXIoKSk7cmV0dXJuIHRoaXMuY3VydmUucG9pbnQocyx1KX0sZi5wcm90b3R5cGUubXVsPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10LmNsb25lKCkscj10aGlzLG49dGhpcy5jdXJ2ZS5wb2ludChudWxsLG51bGwpLGk9W107MCE9PWUuY21wbigwKTtlLml1c2hybigxKSlpLnB1c2goZS5hbmRsbigxKSk7Zm9yKHZhciBvPWkubGVuZ3RoLTE7bz49MDtvLS0pMD09PWlbb10/KHI9ci5kaWZmQWRkKG4sdGhpcyksbj1uLmRibCgpKToobj1yLmRpZmZBZGQobix0aGlzKSxyPXIuZGJsKCkpO3JldHVybiBufSxmLnByb3RvdHlwZS5tdWxBZGQ9ZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoIk5vdCBzdXBwb3J0ZWQgb24gTW9udGdvbWVyeSBjdXJ2ZSIpfSxmLnByb3RvdHlwZS5qdW1sQWRkPWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKCJOb3Qgc3VwcG9ydGVkIG9uIE1vbnRnb21lcnkgY3VydmUiKX0sZi5wcm90b3R5cGUuZXE9ZnVuY3Rpb24odCl7cmV0dXJuIDA9PT10aGlzLmdldFgoKS5jbXAodC5nZXRYKCkpfSxmLnByb3RvdHlwZS5ub3JtYWxpemU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy54PXRoaXMueC5yZWRNdWwodGhpcy56LnJlZEludm0oKSksdGhpcy56PXRoaXMuY3VydmUub25lLHRoaXN9LGYucHJvdG90eXBlLmdldFg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5ub3JtYWxpemUoKSx0aGlzLnguZnJvbVJlZCgpfX0seyIuLi8uLi9lbGxpcHRpYyI6NjcsIi4uL2N1cnZlIjo3MCwiYm4uanMiOiJCTiIsaW5oZXJpdHM6MTAxfV0sNzI6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbj10KCIuLi9jdXJ2ZSIpLGk9dCgiLi4vLi4vZWxsaXB0aWMiKSxvPXQoImJuLmpzIiksYT10KCJpbmhlcml0cyIpLHM9bi5iYXNlLHU9aS51dGlscy5hc3NlcnQ7ZnVuY3Rpb24gZih0KXtzLmNhbGwodGhpcywic2hvcnQiLHQpLHRoaXMuYT1uZXcgbyh0LmEsMTYpLnRvUmVkKHRoaXMucmVkKSx0aGlzLmI9bmV3IG8odC5iLDE2KS50b1JlZCh0aGlzLnJlZCksdGhpcy50aW52PXRoaXMudHdvLnJlZEludm0oKSx0aGlzLnplcm9BPTA9PT10aGlzLmEuZnJvbVJlZCgpLmNtcG4oMCksdGhpcy50aHJlZUE9MD09PXRoaXMuYS5mcm9tUmVkKCkuc3ViKHRoaXMucCkuY21wbigtMyksdGhpcy5lbmRvPXRoaXMuX2dldEVuZG9tb3JwaGlzbSh0KSx0aGlzLl9lbmRvV25hZlQxPW5ldyBBcnJheSg0KSx0aGlzLl9lbmRvV25hZlQyPW5ldyBBcnJheSg0KX1mdW5jdGlvbiBjKHQsZSxyLG4pe3MuQmFzZVBvaW50LmNhbGwodGhpcyx0LCJhZmZpbmUiKSxudWxsPT09ZSYmbnVsbD09PXI/KHRoaXMueD1udWxsLHRoaXMueT1udWxsLHRoaXMuaW5mPSEwKToodGhpcy54PW5ldyBvKGUsMTYpLHRoaXMueT1uZXcgbyhyLDE2KSxuJiYodGhpcy54LmZvcmNlUmVkKHRoaXMuY3VydmUucmVkKSx0aGlzLnkuZm9yY2VSZWQodGhpcy5jdXJ2ZS5yZWQpKSx0aGlzLngucmVkfHwodGhpcy54PXRoaXMueC50b1JlZCh0aGlzLmN1cnZlLnJlZCkpLHRoaXMueS5yZWR8fCh0aGlzLnk9dGhpcy55LnRvUmVkKHRoaXMuY3VydmUucmVkKSksdGhpcy5pbmY9ITEpfWZ1bmN0aW9uIGgodCxlLHIsbil7cy5CYXNlUG9pbnQuY2FsbCh0aGlzLHQsImphY29iaWFuIiksbnVsbD09PWUmJm51bGw9PT1yJiZudWxsPT09bj8odGhpcy54PXRoaXMuY3VydmUub25lLHRoaXMueT10aGlzLmN1cnZlLm9uZSx0aGlzLno9bmV3IG8oMCkpOih0aGlzLng9bmV3IG8oZSwxNiksdGhpcy55PW5ldyBvKHIsMTYpLHRoaXMuej1uZXcgbyhuLDE2KSksdGhpcy54LnJlZHx8KHRoaXMueD10aGlzLngudG9SZWQodGhpcy5jdXJ2ZS5yZWQpKSx0aGlzLnkucmVkfHwodGhpcy55PXRoaXMueS50b1JlZCh0aGlzLmN1cnZlLnJlZCkpLHRoaXMuei5yZWR8fCh0aGlzLno9dGhpcy56LnRvUmVkKHRoaXMuY3VydmUucmVkKSksdGhpcy56T25lPXRoaXMuej09PXRoaXMuY3VydmUub25lfWEoZixzKSxlLmV4cG9ydHM9ZixmLnByb3RvdHlwZS5fZ2V0RW5kb21vcnBoaXNtPWZ1bmN0aW9uKHQpe2lmKHRoaXMuemVyb0EmJnRoaXMuZyYmdGhpcy5uJiYxPT09dGhpcy5wLm1vZG4oMykpe3ZhciBlLHI7aWYodC5iZXRhKWU9bmV3IG8odC5iZXRhLDE2KS50b1JlZCh0aGlzLnJlZCk7ZWxzZXt2YXIgbj10aGlzLl9nZXRFbmRvUm9vdHModGhpcy5wKTtlPShlPW5bMF0uY21wKG5bMV0pPDA/blswXTpuWzFdKS50b1JlZCh0aGlzLnJlZCl9aWYodC5sYW1iZGEpcj1uZXcgbyh0LmxhbWJkYSwxNik7ZWxzZXt2YXIgaT10aGlzLl9nZXRFbmRvUm9vdHModGhpcy5uKTswPT09dGhpcy5nLm11bChpWzBdKS54LmNtcCh0aGlzLmcueC5yZWRNdWwoZSkpP3I9aVswXToocj1pWzFdLHUoMD09PXRoaXMuZy5tdWwocikueC5jbXAodGhpcy5nLngucmVkTXVsKGUpKSkpfXJldHVybntiZXRhOmUsbGFtYmRhOnIsYmFzaXM6dC5iYXNpcz90LmJhc2lzLm1hcChmdW5jdGlvbih0KXtyZXR1cm57YTpuZXcgbyh0LmEsMTYpLGI6bmV3IG8odC5iLDE2KX19KTp0aGlzLl9nZXRFbmRvQmFzaXMocil9fX0sZi5wcm90b3R5cGUuX2dldEVuZG9Sb290cz1mdW5jdGlvbih0KXt2YXIgZT10PT09dGhpcy5wP3RoaXMucmVkOm8ubW9udCh0KSxyPW5ldyBvKDIpLnRvUmVkKGUpLnJlZEludm0oKSxuPXIucmVkTmVnKCksaT1uZXcgbygzKS50b1JlZChlKS5yZWROZWcoKS5yZWRTcXJ0KCkucmVkTXVsKHIpO3JldHVybltuLnJlZEFkZChpKS5mcm9tUmVkKCksbi5yZWRTdWIoaSkuZnJvbVJlZCgpXX0sZi5wcm90b3R5cGUuX2dldEVuZG9CYXNpcz1mdW5jdGlvbih0KXtmb3IodmFyIGUscixuLGksYSxzLHUsZixjLGg9dGhpcy5uLnVzaHJuKE1hdGguZmxvb3IodGhpcy5uLmJpdExlbmd0aCgpLzIpKSxkPXQsbD10aGlzLm4uY2xvbmUoKSxwPW5ldyBvKDEpLGI9bmV3IG8oMCksbT1uZXcgbygwKSx5PW5ldyBvKDEpLHY9MDswIT09ZC5jbXBuKDApOyl7dmFyIGc9bC5kaXYoZCk7Zj1sLnN1YihnLm11bChkKSksYz1tLnN1YihnLm11bChwKSk7dmFyIHc9eS5zdWIoZy5tdWwoYikpO2lmKCFuJiZmLmNtcChoKTwwKWU9dS5uZWcoKSxyPXAsbj1mLm5lZygpLGk9YztlbHNlIGlmKG4mJjI9PSsrdilicmVhazt1PWYsbD1kLGQ9ZixtPXAscD1jLHk9YixiPXd9YT1mLm5lZygpLHM9Yzt2YXIgXz1uLnNxcigpLmFkZChpLnNxcigpKTtyZXR1cm4gYS5zcXIoKS5hZGQocy5zcXIoKSkuY21wKF8pPj0wJiYoYT1lLHM9ciksbi5uZWdhdGl2ZSYmKG49bi5uZWcoKSxpPWkubmVnKCkpLGEubmVnYXRpdmUmJihhPWEubmVnKCkscz1zLm5lZygpKSxbe2E6bixiOml9LHthOmEsYjpzfV19LGYucHJvdG90eXBlLl9lbmRvU3BsaXQ9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5lbmRvLmJhc2lzLHI9ZVswXSxuPWVbMV0saT1uLmIubXVsKHQpLmRpdlJvdW5kKHRoaXMubiksbz1yLmIubmVnKCkubXVsKHQpLmRpdlJvdW5kKHRoaXMubiksYT1pLm11bChyLmEpLHM9by5tdWwobi5hKSx1PWkubXVsKHIuYiksZj1vLm11bChuLmIpO3JldHVybntrMTp0LnN1YihhKS5zdWIocyksazI6dS5hZGQoZikubmVnKCl9fSxmLnByb3RvdHlwZS5wb2ludEZyb21YPWZ1bmN0aW9uKHQsZSl7KHQ9bmV3IG8odCwxNikpLnJlZHx8KHQ9dC50b1JlZCh0aGlzLnJlZCkpO3ZhciByPXQucmVkU3FyKCkucmVkTXVsKHQpLnJlZElBZGQodC5yZWRNdWwodGhpcy5hKSkucmVkSUFkZCh0aGlzLmIpLG49ci5yZWRTcXJ0KCk7aWYoMCE9PW4ucmVkU3FyKCkucmVkU3ViKHIpLmNtcCh0aGlzLnplcm8pKXRocm93IG5ldyBFcnJvcigiaW52YWxpZCBwb2ludCIpO3ZhciBpPW4uZnJvbVJlZCgpLmlzT2RkKCk7cmV0dXJuKGUmJiFpfHwhZSYmaSkmJihuPW4ucmVkTmVnKCkpLHRoaXMucG9pbnQodCxuKX0sZi5wcm90b3R5cGUudmFsaWRhdGU9ZnVuY3Rpb24odCl7aWYodC5pbmYpcmV0dXJuITA7dmFyIGU9dC54LHI9dC55LG49dGhpcy5hLnJlZE11bChlKSxpPWUucmVkU3FyKCkucmVkTXVsKGUpLnJlZElBZGQobikucmVkSUFkZCh0aGlzLmIpO3JldHVybiAwPT09ci5yZWRTcXIoKS5yZWRJU3ViKGkpLmNtcG4oMCl9LGYucHJvdG90eXBlLl9lbmRvV25hZk11bEFkZD1mdW5jdGlvbih0LGUscil7Zm9yKHZhciBuPXRoaXMuX2VuZG9XbmFmVDEsaT10aGlzLl9lbmRvV25hZlQyLG89MDtvPHQubGVuZ3RoO28rKyl7dmFyIGE9dGhpcy5fZW5kb1NwbGl0KGVbb10pLHM9dFtvXSx1PXMuX2dldEJldGEoKTthLmsxLm5lZ2F0aXZlJiYoYS5rMS5pbmVnKCkscz1zLm5lZyghMCkpLGEuazIubmVnYXRpdmUmJihhLmsyLmluZWcoKSx1PXUubmVnKCEwKSksblsyKm9dPXMsblsyKm8rMV09dSxpWzIqb109YS5rMSxpWzIqbysxXT1hLmsyfWZvcih2YXIgZj10aGlzLl93bmFmTXVsQWRkKDEsbixpLDIqbyxyKSxjPTA7YzwyKm87YysrKW5bY109bnVsbCxpW2NdPW51bGw7cmV0dXJuIGZ9LGEoYyxzLkJhc2VQb2ludCksZi5wcm90b3R5cGUucG9pbnQ9ZnVuY3Rpb24odCxlLHIpe3JldHVybiBuZXcgYyh0aGlzLHQsZSxyKX0sZi5wcm90b3R5cGUucG9pbnRGcm9tSlNPTj1mdW5jdGlvbih0LGUpe3JldHVybiBjLmZyb21KU09OKHRoaXMsdCxlKX0sYy5wcm90b3R5cGUuX2dldEJldGE9ZnVuY3Rpb24oKXtpZih0aGlzLmN1cnZlLmVuZG8pe3ZhciB0PXRoaXMucHJlY29tcHV0ZWQ7aWYodCYmdC5iZXRhKXJldHVybiB0LmJldGE7dmFyIGU9dGhpcy5jdXJ2ZS5wb2ludCh0aGlzLngucmVkTXVsKHRoaXMuY3VydmUuZW5kby5iZXRhKSx0aGlzLnkpO2lmKHQpe3ZhciByPXRoaXMuY3VydmUsbj1mdW5jdGlvbih0KXtyZXR1cm4gci5wb2ludCh0LngucmVkTXVsKHIuZW5kby5iZXRhKSx0LnkpfTt0LmJldGE9ZSxlLnByZWNvbXB1dGVkPXtiZXRhOm51bGwsbmFmOnQubmFmJiZ7d25kOnQubmFmLnduZCxwb2ludHM6dC5uYWYucG9pbnRzLm1hcChuKX0sZG91Ymxlczp0LmRvdWJsZXMmJntzdGVwOnQuZG91Ymxlcy5zdGVwLHBvaW50czp0LmRvdWJsZXMucG9pbnRzLm1hcChuKX19fXJldHVybiBlfX0sYy5wcm90b3R5cGUudG9KU09OPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucHJlY29tcHV0ZWQ/W3RoaXMueCx0aGlzLnksdGhpcy5wcmVjb21wdXRlZCYme2RvdWJsZXM6dGhpcy5wcmVjb21wdXRlZC5kb3VibGVzJiZ7c3RlcDp0aGlzLnByZWNvbXB1dGVkLmRvdWJsZXMuc3RlcCxwb2ludHM6dGhpcy5wcmVjb21wdXRlZC5kb3VibGVzLnBvaW50cy5zbGljZSgxKX0sbmFmOnRoaXMucHJlY29tcHV0ZWQubmFmJiZ7d25kOnRoaXMucHJlY29tcHV0ZWQubmFmLnduZCxwb2ludHM6dGhpcy5wcmVjb21wdXRlZC5uYWYucG9pbnRzLnNsaWNlKDEpfX1dOlt0aGlzLngsdGhpcy55XX0sYy5mcm9tSlNPTj1mdW5jdGlvbih0LGUscil7InN0cmluZyI9PXR5cGVvZiBlJiYoZT1KU09OLnBhcnNlKGUpKTt2YXIgbj10LnBvaW50KGVbMF0sZVsxXSxyKTtpZighZVsyXSlyZXR1cm4gbjtmdW5jdGlvbiBpKGUpe3JldHVybiB0LnBvaW50KGVbMF0sZVsxXSxyKX12YXIgbz1lWzJdO3JldHVybiBuLnByZWNvbXB1dGVkPXtiZXRhOm51bGwsZG91YmxlczpvLmRvdWJsZXMmJntzdGVwOm8uZG91Ymxlcy5zdGVwLHBvaW50czpbbl0uY29uY2F0KG8uZG91Ymxlcy5wb2ludHMubWFwKGkpKX0sbmFmOm8ubmFmJiZ7d25kOm8ubmFmLnduZCxwb2ludHM6W25dLmNvbmNhdChvLm5hZi5wb2ludHMubWFwKGkpKX19LG59LGMucHJvdG90eXBlLmluc3BlY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pc0luZmluaXR5KCk/IjxFQyBQb2ludCBJbmZpbml0eT4iOiI8RUMgUG9pbnQgeDogIit0aGlzLnguZnJvbVJlZCgpLnRvU3RyaW5nKDE2LDIpKyIgeTogIit0aGlzLnkuZnJvbVJlZCgpLnRvU3RyaW5nKDE2LDIpKyI+In0sYy5wcm90b3R5cGUuaXNJbmZpbml0eT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmluZn0sYy5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKHQpe2lmKHRoaXMuaW5mKXJldHVybiB0O2lmKHQuaW5mKXJldHVybiB0aGlzO2lmKHRoaXMuZXEodCkpcmV0dXJuIHRoaXMuZGJsKCk7aWYodGhpcy5uZWcoKS5lcSh0KSlyZXR1cm4gdGhpcy5jdXJ2ZS5wb2ludChudWxsLG51bGwpO2lmKDA9PT10aGlzLnguY21wKHQueCkpcmV0dXJuIHRoaXMuY3VydmUucG9pbnQobnVsbCxudWxsKTt2YXIgZT10aGlzLnkucmVkU3ViKHQueSk7MCE9PWUuY21wbigwKSYmKGU9ZS5yZWRNdWwodGhpcy54LnJlZFN1Yih0LngpLnJlZEludm0oKSkpO3ZhciByPWUucmVkU3FyKCkucmVkSVN1Yih0aGlzLngpLnJlZElTdWIodC54KSxuPWUucmVkTXVsKHRoaXMueC5yZWRTdWIocikpLnJlZElTdWIodGhpcy55KTtyZXR1cm4gdGhpcy5jdXJ2ZS5wb2ludChyLG4pfSxjLnByb3RvdHlwZS5kYmw9ZnVuY3Rpb24oKXtpZih0aGlzLmluZilyZXR1cm4gdGhpczt2YXIgdD10aGlzLnkucmVkQWRkKHRoaXMueSk7aWYoMD09PXQuY21wbigwKSlyZXR1cm4gdGhpcy5jdXJ2ZS5wb2ludChudWxsLG51bGwpO3ZhciBlPXRoaXMuY3VydmUuYSxyPXRoaXMueC5yZWRTcXIoKSxuPXQucmVkSW52bSgpLGk9ci5yZWRBZGQocikucmVkSUFkZChyKS5yZWRJQWRkKGUpLnJlZE11bChuKSxvPWkucmVkU3FyKCkucmVkSVN1Yih0aGlzLngucmVkQWRkKHRoaXMueCkpLGE9aS5yZWRNdWwodGhpcy54LnJlZFN1YihvKSkucmVkSVN1Yih0aGlzLnkpO3JldHVybiB0aGlzLmN1cnZlLnBvaW50KG8sYSl9LGMucHJvdG90eXBlLmdldFg9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy54LmZyb21SZWQoKX0sYy5wcm90b3R5cGUuZ2V0WT1mdW5jdGlvbigpe3JldHVybiB0aGlzLnkuZnJvbVJlZCgpfSxjLnByb3RvdHlwZS5tdWw9ZnVuY3Rpb24odCl7cmV0dXJuIHQ9bmV3IG8odCwxNiksdGhpcy5faGFzRG91Ymxlcyh0KT90aGlzLmN1cnZlLl9maXhlZE5hZk11bCh0aGlzLHQpOnRoaXMuY3VydmUuZW5kbz90aGlzLmN1cnZlLl9lbmRvV25hZk11bEFkZChbdGhpc10sW3RdKTp0aGlzLmN1cnZlLl93bmFmTXVsKHRoaXMsdCl9LGMucHJvdG90eXBlLm11bEFkZD1mdW5jdGlvbih0LGUscil7dmFyIG49W3RoaXMsZV0saT1bdCxyXTtyZXR1cm4gdGhpcy5jdXJ2ZS5lbmRvP3RoaXMuY3VydmUuX2VuZG9XbmFmTXVsQWRkKG4saSk6dGhpcy5jdXJ2ZS5fd25hZk11bEFkZCgxLG4saSwyKX0sYy5wcm90b3R5cGUuam11bEFkZD1mdW5jdGlvbih0LGUscil7dmFyIG49W3RoaXMsZV0saT1bdCxyXTtyZXR1cm4gdGhpcy5jdXJ2ZS5lbmRvP3RoaXMuY3VydmUuX2VuZG9XbmFmTXVsQWRkKG4saSwhMCk6dGhpcy5jdXJ2ZS5fd25hZk11bEFkZCgxLG4saSwyLCEwKX0sYy5wcm90b3R5cGUuZXE9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXM9PT10fHx0aGlzLmluZj09PXQuaW5mJiYodGhpcy5pbmZ8fDA9PT10aGlzLnguY21wKHQueCkmJjA9PT10aGlzLnkuY21wKHQueSkpfSxjLnByb3RvdHlwZS5uZWc9ZnVuY3Rpb24odCl7aWYodGhpcy5pbmYpcmV0dXJuIHRoaXM7dmFyIGU9dGhpcy5jdXJ2ZS5wb2ludCh0aGlzLngsdGhpcy55LnJlZE5lZygpKTtpZih0JiZ0aGlzLnByZWNvbXB1dGVkKXt2YXIgcj10aGlzLnByZWNvbXB1dGVkLG49ZnVuY3Rpb24odCl7cmV0dXJuIHQubmVnKCl9O2UucHJlY29tcHV0ZWQ9e25hZjpyLm5hZiYme3duZDpyLm5hZi53bmQscG9pbnRzOnIubmFmLnBvaW50cy5tYXAobil9LGRvdWJsZXM6ci5kb3VibGVzJiZ7c3RlcDpyLmRvdWJsZXMuc3RlcCxwb2ludHM6ci5kb3VibGVzLnBvaW50cy5tYXAobil9fX1yZXR1cm4gZX0sYy5wcm90b3R5cGUudG9KPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaW5mP3RoaXMuY3VydmUuanBvaW50KG51bGwsbnVsbCxudWxsKTp0aGlzLmN1cnZlLmpwb2ludCh0aGlzLngsdGhpcy55LHRoaXMuY3VydmUub25lKX0sYShoLHMuQmFzZVBvaW50KSxmLnByb3RvdHlwZS5qcG9pbnQ9ZnVuY3Rpb24odCxlLHIpe3JldHVybiBuZXcgaCh0aGlzLHQsZSxyKX0saC5wcm90b3R5cGUudG9QPWZ1bmN0aW9uKCl7aWYodGhpcy5pc0luZmluaXR5KCkpcmV0dXJuIHRoaXMuY3VydmUucG9pbnQobnVsbCxudWxsKTt2YXIgdD10aGlzLnoucmVkSW52bSgpLGU9dC5yZWRTcXIoKSxyPXRoaXMueC5yZWRNdWwoZSksbj10aGlzLnkucmVkTXVsKGUpLnJlZE11bCh0KTtyZXR1cm4gdGhpcy5jdXJ2ZS5wb2ludChyLG4pfSxoLnByb3RvdHlwZS5uZWc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jdXJ2ZS5qcG9pbnQodGhpcy54LHRoaXMueS5yZWROZWcoKSx0aGlzLnopfSxoLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24odCl7aWYodGhpcy5pc0luZmluaXR5KCkpcmV0dXJuIHQ7aWYodC5pc0luZmluaXR5KCkpcmV0dXJuIHRoaXM7dmFyIGU9dC56LnJlZFNxcigpLHI9dGhpcy56LnJlZFNxcigpLG49dGhpcy54LnJlZE11bChlKSxpPXQueC5yZWRNdWwociksbz10aGlzLnkucmVkTXVsKGUucmVkTXVsKHQueikpLGE9dC55LnJlZE11bChyLnJlZE11bCh0aGlzLnopKSxzPW4ucmVkU3ViKGkpLHU9by5yZWRTdWIoYSk7aWYoMD09PXMuY21wbigwKSlyZXR1cm4gMCE9PXUuY21wbigwKT90aGlzLmN1cnZlLmpwb2ludChudWxsLG51bGwsbnVsbCk6dGhpcy5kYmwoKTt2YXIgZj1zLnJlZFNxcigpLGM9Zi5yZWRNdWwocyksaD1uLnJlZE11bChmKSxkPXUucmVkU3FyKCkucmVkSUFkZChjKS5yZWRJU3ViKGgpLnJlZElTdWIoaCksbD11LnJlZE11bChoLnJlZElTdWIoZCkpLnJlZElTdWIoby5yZWRNdWwoYykpLHA9dGhpcy56LnJlZE11bCh0LnopLnJlZE11bChzKTtyZXR1cm4gdGhpcy5jdXJ2ZS5qcG9pbnQoZCxsLHApfSxoLnByb3RvdHlwZS5taXhlZEFkZD1mdW5jdGlvbih0KXtpZih0aGlzLmlzSW5maW5pdHkoKSlyZXR1cm4gdC50b0ooKTtpZih0LmlzSW5maW5pdHkoKSlyZXR1cm4gdGhpczt2YXIgZT10aGlzLnoucmVkU3FyKCkscj10aGlzLngsbj10LngucmVkTXVsKGUpLGk9dGhpcy55LG89dC55LnJlZE11bChlKS5yZWRNdWwodGhpcy56KSxhPXIucmVkU3ViKG4pLHM9aS5yZWRTdWIobyk7aWYoMD09PWEuY21wbigwKSlyZXR1cm4gMCE9PXMuY21wbigwKT90aGlzLmN1cnZlLmpwb2ludChudWxsLG51bGwsbnVsbCk6dGhpcy5kYmwoKTt2YXIgdT1hLnJlZFNxcigpLGY9dS5yZWRNdWwoYSksYz1yLnJlZE11bCh1KSxoPXMucmVkU3FyKCkucmVkSUFkZChmKS5yZWRJU3ViKGMpLnJlZElTdWIoYyksZD1zLnJlZE11bChjLnJlZElTdWIoaCkpLnJlZElTdWIoaS5yZWRNdWwoZikpLGw9dGhpcy56LnJlZE11bChhKTtyZXR1cm4gdGhpcy5jdXJ2ZS5qcG9pbnQoaCxkLGwpfSxoLnByb3RvdHlwZS5kYmxwPWZ1bmN0aW9uKHQpe2lmKDA9PT10KXJldHVybiB0aGlzO2lmKHRoaXMuaXNJbmZpbml0eSgpKXJldHVybiB0aGlzO2lmKCF0KXJldHVybiB0aGlzLmRibCgpO2lmKHRoaXMuY3VydmUuemVyb0F8fHRoaXMuY3VydmUudGhyZWVBKXtmb3IodmFyIGU9dGhpcyxyPTA7cjx0O3IrKyllPWUuZGJsKCk7cmV0dXJuIGV9dmFyIG49dGhpcy5jdXJ2ZS5hLGk9dGhpcy5jdXJ2ZS50aW52LG89dGhpcy54LGE9dGhpcy55LHM9dGhpcy56LHU9cy5yZWRTcXIoKS5yZWRTcXIoKSxmPWEucmVkQWRkKGEpO2ZvcihyPTA7cjx0O3IrKyl7dmFyIGM9by5yZWRTcXIoKSxoPWYucmVkU3FyKCksZD1oLnJlZFNxcigpLGw9Yy5yZWRBZGQoYykucmVkSUFkZChjKS5yZWRJQWRkKG4ucmVkTXVsKHUpKSxwPW8ucmVkTXVsKGgpLGI9bC5yZWRTcXIoKS5yZWRJU3ViKHAucmVkQWRkKHApKSxtPXAucmVkSVN1YihiKSx5PWwucmVkTXVsKG0pO3k9eS5yZWRJQWRkKHkpLnJlZElTdWIoZCk7dmFyIHY9Zi5yZWRNdWwocyk7cisxPHQmJih1PXUucmVkTXVsKGQpKSxvPWIscz12LGY9eX1yZXR1cm4gdGhpcy5jdXJ2ZS5qcG9pbnQobyxmLnJlZE11bChpKSxzKX0saC5wcm90b3R5cGUuZGJsPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaXNJbmZpbml0eSgpP3RoaXM6dGhpcy5jdXJ2ZS56ZXJvQT90aGlzLl96ZXJvRGJsKCk6dGhpcy5jdXJ2ZS50aHJlZUE/dGhpcy5fdGhyZWVEYmwoKTp0aGlzLl9kYmwoKX0saC5wcm90b3R5cGUuX3plcm9EYmw9ZnVuY3Rpb24oKXt2YXIgdCxlLHI7aWYodGhpcy56T25lKXt2YXIgbj10aGlzLngucmVkU3FyKCksaT10aGlzLnkucmVkU3FyKCksbz1pLnJlZFNxcigpLGE9dGhpcy54LnJlZEFkZChpKS5yZWRTcXIoKS5yZWRJU3ViKG4pLnJlZElTdWIobyk7YT1hLnJlZElBZGQoYSk7dmFyIHM9bi5yZWRBZGQobikucmVkSUFkZChuKSx1PXMucmVkU3FyKCkucmVkSVN1YihhKS5yZWRJU3ViKGEpLGY9by5yZWRJQWRkKG8pO2Y9KGY9Zi5yZWRJQWRkKGYpKS5yZWRJQWRkKGYpLHQ9dSxlPXMucmVkTXVsKGEucmVkSVN1Yih1KSkucmVkSVN1YihmKSxyPXRoaXMueS5yZWRBZGQodGhpcy55KX1lbHNle3ZhciBjPXRoaXMueC5yZWRTcXIoKSxoPXRoaXMueS5yZWRTcXIoKSxkPWgucmVkU3FyKCksbD10aGlzLngucmVkQWRkKGgpLnJlZFNxcigpLnJlZElTdWIoYykucmVkSVN1YihkKTtsPWwucmVkSUFkZChsKTt2YXIgcD1jLnJlZEFkZChjKS5yZWRJQWRkKGMpLGI9cC5yZWRTcXIoKSxtPWQucmVkSUFkZChkKTttPShtPW0ucmVkSUFkZChtKSkucmVkSUFkZChtKSx0PWIucmVkSVN1YihsKS5yZWRJU3ViKGwpLGU9cC5yZWRNdWwobC5yZWRJU3ViKHQpKS5yZWRJU3ViKG0pLHI9KHI9dGhpcy55LnJlZE11bCh0aGlzLnopKS5yZWRJQWRkKHIpfXJldHVybiB0aGlzLmN1cnZlLmpwb2ludCh0LGUscil9LGgucHJvdG90eXBlLl90aHJlZURibD1mdW5jdGlvbigpe3ZhciB0LGUscjtpZih0aGlzLnpPbmUpe3ZhciBuPXRoaXMueC5yZWRTcXIoKSxpPXRoaXMueS5yZWRTcXIoKSxvPWkucmVkU3FyKCksYT10aGlzLngucmVkQWRkKGkpLnJlZFNxcigpLnJlZElTdWIobikucmVkSVN1YihvKTthPWEucmVkSUFkZChhKTt2YXIgcz1uLnJlZEFkZChuKS5yZWRJQWRkKG4pLnJlZElBZGQodGhpcy5jdXJ2ZS5hKSx1PXMucmVkU3FyKCkucmVkSVN1YihhKS5yZWRJU3ViKGEpO3Q9dTt2YXIgZj1vLnJlZElBZGQobyk7Zj0oZj1mLnJlZElBZGQoZikpLnJlZElBZGQoZiksZT1zLnJlZE11bChhLnJlZElTdWIodSkpLnJlZElTdWIoZikscj10aGlzLnkucmVkQWRkKHRoaXMueSl9ZWxzZXt2YXIgYz10aGlzLnoucmVkU3FyKCksaD10aGlzLnkucmVkU3FyKCksZD10aGlzLngucmVkTXVsKGgpLGw9dGhpcy54LnJlZFN1YihjKS5yZWRNdWwodGhpcy54LnJlZEFkZChjKSk7bD1sLnJlZEFkZChsKS5yZWRJQWRkKGwpO3ZhciBwPWQucmVkSUFkZChkKSxiPShwPXAucmVkSUFkZChwKSkucmVkQWRkKHApO3Q9bC5yZWRTcXIoKS5yZWRJU3ViKGIpLHI9dGhpcy55LnJlZEFkZCh0aGlzLnopLnJlZFNxcigpLnJlZElTdWIoaCkucmVkSVN1YihjKTt2YXIgbT1oLnJlZFNxcigpO209KG09KG09bS5yZWRJQWRkKG0pKS5yZWRJQWRkKG0pKS5yZWRJQWRkKG0pLGU9bC5yZWRNdWwocC5yZWRJU3ViKHQpKS5yZWRJU3ViKG0pfXJldHVybiB0aGlzLmN1cnZlLmpwb2ludCh0LGUscil9LGgucHJvdG90eXBlLl9kYmw9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmN1cnZlLmEsZT10aGlzLngscj10aGlzLnksbj10aGlzLnosaT1uLnJlZFNxcigpLnJlZFNxcigpLG89ZS5yZWRTcXIoKSxhPXIucmVkU3FyKCkscz1vLnJlZEFkZChvKS5yZWRJQWRkKG8pLnJlZElBZGQodC5yZWRNdWwoaSkpLHU9ZS5yZWRBZGQoZSksZj0odT11LnJlZElBZGQodSkpLnJlZE11bChhKSxjPXMucmVkU3FyKCkucmVkSVN1YihmLnJlZEFkZChmKSksaD1mLnJlZElTdWIoYyksZD1hLnJlZFNxcigpO2Q9KGQ9KGQ9ZC5yZWRJQWRkKGQpKS5yZWRJQWRkKGQpKS5yZWRJQWRkKGQpO3ZhciBsPXMucmVkTXVsKGgpLnJlZElTdWIoZCkscD1yLnJlZEFkZChyKS5yZWRNdWwobik7cmV0dXJuIHRoaXMuY3VydmUuanBvaW50KGMsbCxwKX0saC5wcm90b3R5cGUudHJwbD1mdW5jdGlvbigpe2lmKCF0aGlzLmN1cnZlLnplcm9BKXJldHVybiB0aGlzLmRibCgpLmFkZCh0aGlzKTt2YXIgdD10aGlzLngucmVkU3FyKCksZT10aGlzLnkucmVkU3FyKCkscj10aGlzLnoucmVkU3FyKCksbj1lLnJlZFNxcigpLGk9dC5yZWRBZGQodCkucmVkSUFkZCh0KSxvPWkucmVkU3FyKCksYT10aGlzLngucmVkQWRkKGUpLnJlZFNxcigpLnJlZElTdWIodCkucmVkSVN1YihuKSxzPShhPShhPShhPWEucmVkSUFkZChhKSkucmVkQWRkKGEpLnJlZElBZGQoYSkpLnJlZElTdWIobykpLnJlZFNxcigpLHU9bi5yZWRJQWRkKG4pO3U9KHU9KHU9dS5yZWRJQWRkKHUpKS5yZWRJQWRkKHUpKS5yZWRJQWRkKHUpO3ZhciBmPWkucmVkSUFkZChhKS5yZWRTcXIoKS5yZWRJU3ViKG8pLnJlZElTdWIocykucmVkSVN1Yih1KSxjPWUucmVkTXVsKGYpO2M9KGM9Yy5yZWRJQWRkKGMpKS5yZWRJQWRkKGMpO3ZhciBoPXRoaXMueC5yZWRNdWwocykucmVkSVN1YihjKTtoPShoPWgucmVkSUFkZChoKSkucmVkSUFkZChoKTt2YXIgZD10aGlzLnkucmVkTXVsKGYucmVkTXVsKHUucmVkSVN1YihmKSkucmVkSVN1YihhLnJlZE11bChzKSkpO2Q9KGQ9KGQ9ZC5yZWRJQWRkKGQpKS5yZWRJQWRkKGQpKS5yZWRJQWRkKGQpO3ZhciBsPXRoaXMuei5yZWRBZGQoYSkucmVkU3FyKCkucmVkSVN1YihyKS5yZWRJU3ViKHMpO3JldHVybiB0aGlzLmN1cnZlLmpwb2ludChoLGQsbCl9LGgucHJvdG90eXBlLm11bD1mdW5jdGlvbih0LGUpe3JldHVybiB0PW5ldyBvKHQsZSksdGhpcy5jdXJ2ZS5fd25hZk11bCh0aGlzLHQpfSxoLnByb3RvdHlwZS5lcT1mdW5jdGlvbih0KXtpZigiYWZmaW5lIj09PXQudHlwZSlyZXR1cm4gdGhpcy5lcSh0LnRvSigpKTtpZih0aGlzPT09dClyZXR1cm4hMDt2YXIgZT10aGlzLnoucmVkU3FyKCkscj10LnoucmVkU3FyKCk7aWYoMCE9PXRoaXMueC5yZWRNdWwocikucmVkSVN1Yih0LngucmVkTXVsKGUpKS5jbXBuKDApKXJldHVybiExO3ZhciBuPWUucmVkTXVsKHRoaXMueiksaT1yLnJlZE11bCh0LnopO3JldHVybiAwPT09dGhpcy55LnJlZE11bChpKS5yZWRJU3ViKHQueS5yZWRNdWwobikpLmNtcG4oMCl9LGgucHJvdG90eXBlLmVxWFRvUD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLnoucmVkU3FyKCkscj10LnRvUmVkKHRoaXMuY3VydmUucmVkKS5yZWRNdWwoZSk7aWYoMD09PXRoaXMueC5jbXAocikpcmV0dXJuITA7Zm9yKHZhciBuPXQuY2xvbmUoKSxpPXRoaXMuY3VydmUucmVkTi5yZWRNdWwoZSk7Oyl7aWYobi5pYWRkKHRoaXMuY3VydmUubiksbi5jbXAodGhpcy5jdXJ2ZS5wKT49MClyZXR1cm4hMTtpZihyLnJlZElBZGQoaSksMD09PXRoaXMueC5jbXAocikpcmV0dXJuITB9cmV0dXJuITF9LGgucHJvdG90eXBlLmluc3BlY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pc0luZmluaXR5KCk/IjxFQyBKUG9pbnQgSW5maW5pdHk+IjoiPEVDIEpQb2ludCB4OiAiK3RoaXMueC50b1N0cmluZygxNiwyKSsiIHk6ICIrdGhpcy55LnRvU3RyaW5nKDE2LDIpKyIgejogIit0aGlzLnoudG9TdHJpbmcoMTYsMikrIj4ifSxoLnByb3RvdHlwZS5pc0luZmluaXR5PWZ1bmN0aW9uKCl7cmV0dXJuIDA9PT10aGlzLnouY21wbigwKX19LHsiLi4vLi4vZWxsaXB0aWMiOjY3LCIuLi9jdXJ2ZSI6NzAsImJuLmpzIjoiQk4iLGluaGVyaXRzOjEwMX1dLDczOltmdW5jdGlvbih0LGUscil7dmFyIG4saT1yLG89dCgiaGFzaC5qcyIpLGE9dCgiLi4vZWxsaXB0aWMiKSxzPWEudXRpbHMuYXNzZXJ0O2Z1bmN0aW9uIHUodCl7InNob3J0Ij09PXQudHlwZT90aGlzLmN1cnZlPW5ldyBhLmN1cnZlLnNob3J0KHQpOiJlZHdhcmRzIj09PXQudHlwZT90aGlzLmN1cnZlPW5ldyBhLmN1cnZlLmVkd2FyZHModCk6dGhpcy5jdXJ2ZT1uZXcgYS5jdXJ2ZS5tb250KHQpLHRoaXMuZz10aGlzLmN1cnZlLmcsdGhpcy5uPXRoaXMuY3VydmUubix0aGlzLmhhc2g9dC5oYXNoLHModGhpcy5nLnZhbGlkYXRlKCksIkludmFsaWQgY3VydmUiKSxzKHRoaXMuZy5tdWwodGhpcy5uKS5pc0luZmluaXR5KCksIkludmFsaWQgY3VydmUsIEcqTiAhPSBPIil9ZnVuY3Rpb24gZih0LGUpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShpLHQse2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3ZhciByPW5ldyB1KGUpO3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkoaSx0LHtjb25maWd1cmFibGU6ITAsZW51bWVyYWJsZTohMCx2YWx1ZTpyfSkscn19KX1pLlByZXNldEN1cnZlPXUsZigicDE5MiIse3R5cGU6InNob3J0IixwcmltZToicDE5MiIscDoiZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmUgZmZmZmZmZmYgZmZmZmZmZmYiLGE6ImZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZlIGZmZmZmZmZmIGZmZmZmZmZjIixiOiI2NDIxMDUxOSBlNTljODBlNyAwZmE3ZTlhYiA3MjI0MzA0OSBmZWI4ZGVlYyBjMTQ2YjliMSIsbjoiZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgOTlkZWY4MzYgMTQ2YmM5YjEgYjRkMjI4MzEiLGhhc2g6by5zaGEyNTYsZ1JlZDohMSxnOlsiMTg4ZGE4MGUgYjAzMDkwZjYgN2NiZjIwZWIgNDNhMTg4MDAgZjRmZjBhZmQgODJmZjEwMTIiLCIwNzE5MmI5NSBmZmM4ZGE3OCA2MzEwMTFlZCA2YjI0Y2RkNSA3M2Y5NzdhMSAxZTc5NDgxMSJdfSksZigicDIyNCIse3R5cGU6InNob3J0IixwcmltZToicDIyNCIscDoiZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDEiLGE6ImZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZlIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZlIixiOiJiNDA1MGE4NSAwYzA0YjNhYiBmNTQxMzI1NiA1MDQ0YjBiNyBkN2JmZDhiYSAyNzBiMzk0MyAyMzU1ZmZiNCIsbjoiZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZjE2YTIgZTBiOGYwM2UgMTNkZDI5NDUgNWM1YzJhM2QiLGhhc2g6by5zaGEyNTYsZ1JlZDohMSxnOlsiYjcwZTBjYmQgNmJiNGJmN2YgMzIxMzkwYjkgNGEwM2MxZDMgNTZjMjExMjIgMzQzMjgwZDYgMTE1YzFkMjEiLCJiZDM3NjM4OCBiNWY3MjNmYiA0YzIyZGZlNiBjZDQzNzVhMCA1YTA3NDc2NCA0NGQ1ODE5OSA4NTAwN2UzNCJdfSksZigicDI1NiIse3R5cGU6InNob3J0IixwcmltZTpudWxsLHA6ImZmZmZmZmZmIDAwMDAwMDAxIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIixhOiJmZmZmZmZmZiAwMDAwMDAwMSAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmYyIsYjoiNWFjNjM1ZDggYWEzYTkzZTcgYjNlYmJkNTUgNzY5ODg2YmMgNjUxZDA2YjAgY2M1M2IwZjYgM2JjZTNjM2UgMjdkMjYwNGIiLG46ImZmZmZmZmZmIDAwMDAwMDAwIGZmZmZmZmZmIGZmZmZmZmZmIGJjZTZmYWFkIGE3MTc5ZTg0IGYzYjljYWMyIGZjNjMyNTUxIixoYXNoOm8uc2hhMjU2LGdSZWQ6ITEsZzpbIjZiMTdkMWYyIGUxMmM0MjQ3IGY4YmNlNmU1IDYzYTQ0MGYyIDc3MDM3ZDgxIDJkZWIzM2EwIGY0YTEzOTQ1IGQ4OThjMjk2IiwiNGZlMzQyZTIgZmUxYTdmOWIgOGVlN2ViNGEgN2MwZjllMTYgMmJjZTMzNTcgNmIzMTVlY2UgY2JiNjQwNjggMzdiZjUxZjUiXX0pLGYoInAzODQiLHt0eXBlOiJzaG9ydCIscHJpbWU6bnVsbCxwOiJmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZSBmZmZmZmZmZiAwMDAwMDAwMCAwMDAwMDAwMCBmZmZmZmZmZiIsYToiZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmUgZmZmZmZmZmYgMDAwMDAwMDAgMDAwMDAwMDAgZmZmZmZmZmMiLGI6ImIzMzEyZmE3IGUyM2VlN2U0IDk4OGUwNTZiIGUzZjgyZDE5IDE4MWQ5YzZlIGZlODE0MTEyIDAzMTQwODhmIDUwMTM4NzVhIGM2NTYzOThkIDhhMmVkMTlkIDJhODVjOGVkIGQzZWMyYWVmIixuOiJmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBjNzYzNGQ4MSBmNDM3MmRkZiA1ODFhMGRiMiA0OGIwYTc3YSBlY2VjMTk2YSBjY2M1Mjk3MyIsaGFzaDpvLnNoYTM4NCxnUmVkOiExLGc6WyJhYTg3Y2EyMiBiZThiMDUzNyA4ZWIxYzcxZSBmMzIwYWQ3NCA2ZTFkM2I2MiA4YmE3OWI5OCA1OWY3NDFlMCA4MjU0MmEzOCA1NTAyZjI1ZCBiZjU1Mjk2YyAzYTU0NWUzOCA3Mjc2MGFiNyIsIjM2MTdkZTRhIDk2MjYyYzZmIDVkOWU5OGJmIDkyOTJkYzI5IGY4ZjQxZGJkIDI4OWExNDdjIGU5ZGEzMTEzIGI1ZjBiOGMwIDBhNjBiMWNlIDFkN2U4MTlkIDdhNDMxZDdjIDkwZWEwZTVmIl19KSxmKCJwNTIxIix7dHlwZToic2hvcnQiLHByaW1lOm51bGwscDoiMDAwMDAxZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYiLGE6IjAwMDAwMWZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZjIixiOiIwMDAwMDA1MSA5NTNlYjk2MSA4ZTFjOWExZiA5MjlhMjFhMCBiNjg1NDBlZSBhMmRhNzI1YiA5OWIzMTVmMyBiOGI0ODk5MSA4ZWYxMDllMSA1NjE5Mzk1MSBlYzdlOTM3YiAxNjUyYzBiZCAzYmIxYmYwNyAzNTczZGY4OCAzZDJjMzRmMSBlZjQ1MWZkNCA2YjUwM2YwMCIsbjoiMDAwMDAxZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmEgNTE4Njg3ODMgYmYyZjk2NmIgN2ZjYzAxNDggZjcwOWE1ZDAgM2JiNWM5YjggODk5YzQ3YWUgYmI2ZmI3MWUgOTEzODY0MDkiLGhhc2g6by5zaGE1MTIsZ1JlZDohMSxnOlsiMDAwMDAwYzYgODU4ZTA2YjcgMDQwNGU5Y2QgOWUzZWNiNjYgMjM5NWI0NDIgOWM2NDgxMzkgMDUzZmI1MjEgZjgyOGFmNjAgNmI0ZDNkYmEgYTE0YjVlNzcgZWZlNzU5MjggZmUxZGMxMjcgYTJmZmE4ZGUgMzM0OGIzYzEgODU2YTQyOWIgZjk3ZTdlMzEgYzJlNWJkNjYiLCIwMDAwMDExOCAzOTI5NmE3OCA5YTNiYzAwNCA1YzhhNWZiNCAyYzdkMWJkOSA5OGY1NDQ0OSA1NzliNDQ2OCAxN2FmYmQxNyAyNzNlNjYyYyA5N2VlNzI5OSA1ZWY0MjY0MCBjNTUwYjkwMSAzZmFkMDc2MSAzNTNjNzA4NiBhMjcyYzI0MCA4OGJlOTQ3NiA5ZmQxNjY1MCJdfSksZigiY3VydmUyNTUxOSIse3R5cGU6Im1vbnQiLHByaW1lOiJwMjU1MTkiLHA6IjdmZmZmZmZmZmZmZmZmZmYgZmZmZmZmZmZmZmZmZmZmZiBmZmZmZmZmZmZmZmZmZmZmIGZmZmZmZmZmZmZmZmZmZWQiLGE6Ijc2ZDA2IixiOiIxIixuOiIxMDAwMDAwMDAwMDAwMDAwIDAwMDAwMDAwMDAwMDAwMDAgMTRkZWY5ZGVhMmY3OWNkNiA1ODEyNjMxYTVjZjVkM2VkIixoYXNoOm8uc2hhMjU2LGdSZWQ6ITEsZzpbIjkiXX0pLGYoImVkMjU1MTkiLHt0eXBlOiJlZHdhcmRzIixwcmltZToicDI1NTE5IixwOiI3ZmZmZmZmZmZmZmZmZmZmIGZmZmZmZmZmZmZmZmZmZmYgZmZmZmZmZmZmZmZmZmZmZiBmZmZmZmZmZmZmZmZmZmVkIixhOiItMSIsYzoiMSIsZDoiNTIwMzZjZWUyYjZmZmU3MyA4Y2M3NDA3OTc3NzllODk4IDAwNzAwYTRkNDE0MWQ4YWIgNzVlYjRkY2ExMzU5NzhhMyIsbjoiMTAwMDAwMDAwMDAwMDAwMCAwMDAwMDAwMDAwMDAwMDAwIDE0ZGVmOWRlYTJmNzljZDYgNTgxMjYzMWE1Y2Y1ZDNlZCIsaGFzaDpvLnNoYTI1NixnUmVkOiExLGc6WyIyMTY5MzZkM2NkNmU1M2ZlYzBhNGUyMzFmZGQ2ZGM1YzY5MmNjNzYwOTUyNWE3YjJjOTU2MmQ2MDhmMjVkNTFhIiwiNjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY1OCJdfSk7dHJ5e249dCgiLi9wcmVjb21wdXRlZC9zZWNwMjU2azEiKX1jYXRjaCh0KXtuPXZvaWQgMH1mKCJzZWNwMjU2azEiLHt0eXBlOiJzaG9ydCIscHJpbWU6ImsyNTYiLHA6ImZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZlIGZmZmZmYzJmIixhOiIwIixiOiI3IixuOiJmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZSBiYWFlZGNlNiBhZjQ4YTAzYiBiZmQyNWU4YyBkMDM2NDE0MSIsaDoiMSIsaGFzaDpvLnNoYTI1NixiZXRhOiI3YWU5NmEyYjY1N2MwNzEwNmU2NDQ3OWVhYzM0MzRlOTljZjA0OTc1MTJmNTg5OTVjMTM5NmMyODcxOTUwMWVlIixsYW1iZGE6IjUzNjNhZDRjYzA1YzMwZTBhNTI2MWMwMjg4MTI2NDVhMTIyZTIyZWEyMDgxNjY3OGRmMDI5NjdjMWIyM2JkNzIiLGJhc2lzOlt7YToiMzA4NmQyMjFhN2Q0NmJjZGU4NmM5MGU0OTI4NGViMTUiLGI6Ii1lNDQzN2VkNjAxMGU4ODI4NmY1NDdmYTkwYWJmZTRjMyJ9LHthOiIxMTRjYTUwZjdhOGUyZjNmNjU3YzExMDhkOWQ0NGNmZDgiLGI6IjMwODZkMjIxYTdkNDZiY2RlODZjOTBlNDkyODRlYjE1In1dLGdSZWQ6ITEsZzpbIjc5YmU2NjdlZjlkY2JiYWM1NWEwNjI5NWNlODcwYjA3MDI5YmZjZGIyZGNlMjhkOTU5ZjI4MTViMTZmODE3OTgiLCI0ODNhZGE3NzI2YTNjNDY1NWRhNGZiZmMwZTExMDhhOGZkMTdiNDQ4YTY4NTU0MTk5YzQ3ZDA4ZmZiMTBkNGI4IixuXX0pfSx7Ii4uL2VsbGlwdGljIjo2NywiLi9wcmVjb21wdXRlZC9zZWNwMjU2azEiOjgwLCJoYXNoLmpzIjo4Nn1dLDc0OltmdW5jdGlvbih0LGUscil7dmFyIG49dCgiYm4uanMiKSxpPXQoImhtYWMtZHJiZyIpLG89dCgiLi4vLi4vZWxsaXB0aWMiKSxhPW8udXRpbHMuYXNzZXJ0LHM9dCgiLi9rZXkiKSx1PXQoIi4vc2lnbmF0dXJlIik7ZnVuY3Rpb24gZih0KXtpZighKHRoaXMgaW5zdGFuY2VvZiBmKSlyZXR1cm4gbmV3IGYodCk7InN0cmluZyI9PXR5cGVvZiB0JiYoYShvLmN1cnZlcy5oYXNPd25Qcm9wZXJ0eSh0KSwiVW5rbm93biBjdXJ2ZSAiK3QpLHQ9by5jdXJ2ZXNbdF0pLHQgaW5zdGFuY2VvZiBvLmN1cnZlcy5QcmVzZXRDdXJ2ZSYmKHQ9e2N1cnZlOnR9KSx0aGlzLmN1cnZlPXQuY3VydmUuY3VydmUsdGhpcy5uPXRoaXMuY3VydmUubix0aGlzLm5oPXRoaXMubi51c2hybigxKSx0aGlzLmc9dGhpcy5jdXJ2ZS5nLHRoaXMuZz10LmN1cnZlLmcsdGhpcy5nLnByZWNvbXB1dGUodC5jdXJ2ZS5uLmJpdExlbmd0aCgpKzEpLHRoaXMuaGFzaD10Lmhhc2h8fHQuY3VydmUuaGFzaH1lLmV4cG9ydHM9ZixmLnByb3RvdHlwZS5rZXlQYWlyPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgcyh0aGlzLHQpfSxmLnByb3RvdHlwZS5rZXlGcm9tUHJpdmF0ZT1mdW5jdGlvbih0LGUpe3JldHVybiBzLmZyb21Qcml2YXRlKHRoaXMsdCxlKX0sZi5wcm90b3R5cGUua2V5RnJvbVB1YmxpYz1mdW5jdGlvbih0LGUpe3JldHVybiBzLmZyb21QdWJsaWModGhpcyx0LGUpfSxmLnByb3RvdHlwZS5nZW5LZXlQYWlyPWZ1bmN0aW9uKHQpe3R8fCh0PXt9KTtmb3IodmFyIGU9bmV3IGkoe2hhc2g6dGhpcy5oYXNoLHBlcnM6dC5wZXJzLHBlcnNFbmM6dC5wZXJzRW5jfHwidXRmOCIsZW50cm9weTp0LmVudHJvcHl8fG8ucmFuZCh0aGlzLmhhc2guaG1hY1N0cmVuZ3RoKSxlbnRyb3B5RW5jOnQuZW50cm9weSYmdC5lbnRyb3B5RW5jfHwidXRmOCIsbm9uY2U6dGhpcy5uLnRvQXJyYXkoKX0pLHI9dGhpcy5uLmJ5dGVMZW5ndGgoKSxhPXRoaXMubi5zdWIobmV3IG4oMikpOzspe3ZhciBzPW5ldyBuKGUuZ2VuZXJhdGUocikpO2lmKCEocy5jbXAoYSk+MCkpcmV0dXJuIHMuaWFkZG4oMSksdGhpcy5rZXlGcm9tUHJpdmF0ZShzKX19LGYucHJvdG90eXBlLl90cnVuY2F0ZVRvTj1mdW5jdGlvbih0LGUpe3ZhciByPTgqdC5ieXRlTGVuZ3RoKCktdGhpcy5uLmJpdExlbmd0aCgpO3JldHVybiByPjAmJih0PXQudXNocm4ocikpLCFlJiZ0LmNtcCh0aGlzLm4pPj0wP3Quc3ViKHRoaXMubik6dH0sZi5wcm90b3R5cGUuc2lnbj1mdW5jdGlvbih0LGUscixvKXsib2JqZWN0Ij09PSh2b2lkIDA9PT1yPyJ1bmRlZmluZWQiOl90eXBlb2YocikpJiYobz1yLHI9bnVsbCksb3x8KG89e30pLGU9dGhpcy5rZXlGcm9tUHJpdmF0ZShlLHIpLHQ9dGhpcy5fdHJ1bmNhdGVUb04obmV3IG4odCwxNikpO2Zvcih2YXIgYT10aGlzLm4uYnl0ZUxlbmd0aCgpLHM9ZS5nZXRQcml2YXRlKCkudG9BcnJheSgiYmUiLGEpLGY9dC50b0FycmF5KCJiZSIsYSksYz1uZXcgaSh7aGFzaDp0aGlzLmhhc2gsZW50cm9weTpzLG5vbmNlOmYscGVyczpvLnBlcnMscGVyc0VuYzpvLnBlcnNFbmN8fCJ1dGY4In0pLGg9dGhpcy5uLnN1YihuZXcgbigxKSksZD0wOztkKyspe3ZhciBsPW8uaz9vLmsoZCk6bmV3IG4oYy5nZW5lcmF0ZSh0aGlzLm4uYnl0ZUxlbmd0aCgpKSk7aWYoISgobD10aGlzLl90cnVuY2F0ZVRvTihsLCEwKSkuY21wbigxKTw9MHx8bC5jbXAoaCk+PTApKXt2YXIgcD10aGlzLmcubXVsKGwpO2lmKCFwLmlzSW5maW5pdHkoKSl7dmFyIGI9cC5nZXRYKCksbT1iLnVtb2QodGhpcy5uKTtpZigwIT09bS5jbXBuKDApKXt2YXIgeT1sLmludm0odGhpcy5uKS5tdWwobS5tdWwoZS5nZXRQcml2YXRlKCkpLmlhZGQodCkpO2lmKDAhPT0oeT15LnVtb2QodGhpcy5uKSkuY21wbigwKSl7dmFyIHY9KHAuZ2V0WSgpLmlzT2RkKCk/MTowKXwoMCE9PWIuY21wKG0pPzI6MCk7cmV0dXJuIG8uY2Fub25pY2FsJiZ5LmNtcCh0aGlzLm5oKT4wJiYoeT10aGlzLm4uc3ViKHkpLHZePTEpLG5ldyB1KHtyOm0sczp5LHJlY292ZXJ5UGFyYW06dn0pfX19fX19LGYucHJvdG90eXBlLnZlcmlmeT1mdW5jdGlvbih0LGUscixpKXt0PXRoaXMuX3RydW5jYXRlVG9OKG5ldyBuKHQsMTYpKSxyPXRoaXMua2V5RnJvbVB1YmxpYyhyLGkpO3ZhciBvPShlPW5ldyB1KGUsImhleCIpKS5yLGE9ZS5zO2lmKG8uY21wbigxKTwwfHxvLmNtcCh0aGlzLm4pPj0wKXJldHVybiExO2lmKGEuY21wbigxKTwwfHxhLmNtcCh0aGlzLm4pPj0wKXJldHVybiExO3ZhciBzLGY9YS5pbnZtKHRoaXMubiksYz1mLm11bCh0KS51bW9kKHRoaXMubiksaD1mLm11bChvKS51bW9kKHRoaXMubik7cmV0dXJuIHRoaXMuY3VydmUuX21heHdlbGxUcmljaz8hKHM9dGhpcy5nLmptdWxBZGQoYyxyLmdldFB1YmxpYygpLGgpKS5pc0luZmluaXR5KCkmJnMuZXFYVG9QKG8pOiEocz10aGlzLmcubXVsQWRkKGMsci5nZXRQdWJsaWMoKSxoKSkuaXNJbmZpbml0eSgpJiYwPT09cy5nZXRYKCkudW1vZCh0aGlzLm4pLmNtcChvKX0sZi5wcm90b3R5cGUucmVjb3ZlclB1YktleT1mdW5jdGlvbih0LGUscixpKXthKCgzJnIpPT09ciwiVGhlIHJlY292ZXJ5IHBhcmFtIGlzIG1vcmUgdGhhbiB0d28gYml0cyIpLGU9bmV3IHUoZSxpKTt2YXIgbz10aGlzLm4scz1uZXcgbih0KSxmPWUucixjPWUucyxoPTEmcixkPXI+PjE7aWYoZi5jbXAodGhpcy5jdXJ2ZS5wLnVtb2QodGhpcy5jdXJ2ZS5uKSk+PTAmJmQpdGhyb3cgbmV3IEVycm9yKCJVbmFibGUgdG8gZmluZCBzZW5jb25kIGtleSBjYW5kaW5hdGUiKTtmPWQ/dGhpcy5jdXJ2ZS5wb2ludEZyb21YKGYuYWRkKHRoaXMuY3VydmUubiksaCk6dGhpcy5jdXJ2ZS5wb2ludEZyb21YKGYsaCk7dmFyIGw9ZS5yLmludm0obykscD1vLnN1YihzKS5tdWwobCkudW1vZChvKSxiPWMubXVsKGwpLnVtb2Qobyk7cmV0dXJuIHRoaXMuZy5tdWxBZGQocCxmLGIpfSxmLnByb3RvdHlwZS5nZXRLZXlSZWNvdmVyeVBhcmFtPWZ1bmN0aW9uKHQsZSxyLG4pe2lmKG51bGwhPT0oZT1uZXcgdShlLG4pKS5yZWNvdmVyeVBhcmFtKXJldHVybiBlLnJlY292ZXJ5UGFyYW07Zm9yKHZhciBpPTA7aTw0O2krKyl7dmFyIG87dHJ5e289dGhpcy5yZWNvdmVyUHViS2V5KHQsZSxpKX1jYXRjaCh0KXtjb250aW51ZX1pZihvLmVxKHIpKXJldHVybiBpfXRocm93IG5ldyBFcnJvcigiVW5hYmxlIHRvIGZpbmQgdmFsaWQgcmVjb3ZlcnkgZmFjdG9yIil9fSx7Ii4uLy4uL2VsbGlwdGljIjo2NywiLi9rZXkiOjc1LCIuL3NpZ25hdHVyZSI6NzYsImJuLmpzIjoiQk4iLCJobWFjLWRyYmciOjk4fV0sNzU6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbj10KCJibi5qcyIpLGk9dCgiLi4vLi4vZWxsaXB0aWMiKS51dGlscy5hc3NlcnQ7ZnVuY3Rpb24gbyh0LGUpe3RoaXMuZWM9dCx0aGlzLnByaXY9bnVsbCx0aGlzLnB1Yj1udWxsLGUucHJpdiYmdGhpcy5faW1wb3J0UHJpdmF0ZShlLnByaXYsZS5wcml2RW5jKSxlLnB1YiYmdGhpcy5faW1wb3J0UHVibGljKGUucHViLGUucHViRW5jKX1lLmV4cG9ydHM9byxvLmZyb21QdWJsaWM9ZnVuY3Rpb24odCxlLHIpe3JldHVybiBlIGluc3RhbmNlb2Ygbz9lOm5ldyBvKHQse3B1YjplLHB1YkVuYzpyfSl9LG8uZnJvbVByaXZhdGU9ZnVuY3Rpb24odCxlLHIpe3JldHVybiBlIGluc3RhbmNlb2Ygbz9lOm5ldyBvKHQse3ByaXY6ZSxwcml2RW5jOnJ9KX0sby5wcm90b3R5cGUudmFsaWRhdGU9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmdldFB1YmxpYygpO3JldHVybiB0LmlzSW5maW5pdHkoKT97cmVzdWx0OiExLHJlYXNvbjoiSW52YWxpZCBwdWJsaWMga2V5In06dC52YWxpZGF0ZSgpP3QubXVsKHRoaXMuZWMuY3VydmUubikuaXNJbmZpbml0eSgpP3tyZXN1bHQ6ITAscmVhc29uOm51bGx9OntyZXN1bHQ6ITEscmVhc29uOiJQdWJsaWMga2V5ICogTiAhPSBPIn06e3Jlc3VsdDohMSxyZWFzb246IlB1YmxpYyBrZXkgaXMgbm90IGEgcG9pbnQifX0sby5wcm90b3R5cGUuZ2V0UHVibGljPWZ1bmN0aW9uKHQsZSl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0JiYoZT10LHQ9bnVsbCksdGhpcy5wdWJ8fCh0aGlzLnB1Yj10aGlzLmVjLmcubXVsKHRoaXMucHJpdikpLGU/dGhpcy5wdWIuZW5jb2RlKGUsdCk6dGhpcy5wdWJ9LG8ucHJvdG90eXBlLmdldFByaXZhdGU9ZnVuY3Rpb24odCl7cmV0dXJuImhleCI9PT10P3RoaXMucHJpdi50b1N0cmluZygxNiwyKTp0aGlzLnByaXZ9LG8ucHJvdG90eXBlLl9pbXBvcnRQcml2YXRlPWZ1bmN0aW9uKHQsZSl7dGhpcy5wcml2PW5ldyBuKHQsZXx8MTYpLHRoaXMucHJpdj10aGlzLnByaXYudW1vZCh0aGlzLmVjLmN1cnZlLm4pfSxvLnByb3RvdHlwZS5faW1wb3J0UHVibGljPWZ1bmN0aW9uKHQsZSl7aWYodC54fHx0LnkpcmV0dXJuIm1vbnQiPT09dGhpcy5lYy5jdXJ2ZS50eXBlP2kodC54LCJOZWVkIHggY29vcmRpbmF0ZSIpOiJzaG9ydCIhPT10aGlzLmVjLmN1cnZlLnR5cGUmJiJlZHdhcmRzIiE9PXRoaXMuZWMuY3VydmUudHlwZXx8aSh0LngmJnQueSwiTmVlZCBib3RoIHggYW5kIHkgY29vcmRpbmF0ZSIpLHZvaWQodGhpcy5wdWI9dGhpcy5lYy5jdXJ2ZS5wb2ludCh0LngsdC55KSk7dGhpcy5wdWI9dGhpcy5lYy5jdXJ2ZS5kZWNvZGVQb2ludCh0LGUpfSxvLnByb3RvdHlwZS5kZXJpdmU9ZnVuY3Rpb24odCl7cmV0dXJuIHQubXVsKHRoaXMucHJpdikuZ2V0WCgpfSxvLnByb3RvdHlwZS5zaWduPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gdGhpcy5lYy5zaWduKHQsdGhpcyxlLHIpfSxvLnByb3RvdHlwZS52ZXJpZnk9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5lYy52ZXJpZnkodCxlLHRoaXMpfSxvLnByb3RvdHlwZS5pbnNwZWN0PWZ1bmN0aW9uKCl7cmV0dXJuIjxLZXkgcHJpdjogIisodGhpcy5wcml2JiZ0aGlzLnByaXYudG9TdHJpbmcoMTYsMikpKyIgcHViOiAiKyh0aGlzLnB1YiYmdGhpcy5wdWIuaW5zcGVjdCgpKSsiID4ifX0seyIuLi8uLi9lbGxpcHRpYyI6NjcsImJuLmpzIjoiQk4ifV0sNzY6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbj10KCJibi5qcyIpLGk9dCgiLi4vLi4vZWxsaXB0aWMiKS51dGlscyxvPWkuYXNzZXJ0O2Z1bmN0aW9uIGEodCxlKXtpZih0IGluc3RhbmNlb2YgYSlyZXR1cm4gdDt0aGlzLl9pbXBvcnRERVIodCxlKXx8KG8odC5yJiZ0LnMsIlNpZ25hdHVyZSB3aXRob3V0IHIgb3IgcyIpLHRoaXMucj1uZXcgbih0LnIsMTYpLHRoaXMucz1uZXcgbih0LnMsMTYpLHZvaWQgMD09PXQucmVjb3ZlcnlQYXJhbT90aGlzLnJlY292ZXJ5UGFyYW09bnVsbDp0aGlzLnJlY292ZXJ5UGFyYW09dC5yZWNvdmVyeVBhcmFtKX1mdW5jdGlvbiBzKHQsZSl7dmFyIHI9dFtlLnBsYWNlKytdO2lmKCEoMTI4JnIpKXJldHVybiByO2Zvcih2YXIgbj0xNSZyLGk9MCxvPTAsYT1lLnBsYWNlO288bjtvKyssYSsrKWk8PD04LGl8PXRbYV07cmV0dXJuIGUucGxhY2U9YSxpfWZ1bmN0aW9uIHUodCl7Zm9yKHZhciBlPTAscj10Lmxlbmd0aC0xOyF0W2VdJiYhKDEyOCZ0W2UrMV0pJiZlPHI7KWUrKztyZXR1cm4gMD09PWU/dDp0LnNsaWNlKGUpfWZ1bmN0aW9uIGYodCxlKXtpZihlPDEyOCl0LnB1c2goZSk7ZWxzZXt2YXIgcj0xKyhNYXRoLmxvZyhlKS9NYXRoLkxOMj4+PjMpO2Zvcih0LnB1c2goMTI4fHIpOy0tcjspdC5wdXNoKGU+Pj4ocjw8MykmMjU1KTt0LnB1c2goZSl9fWUuZXhwb3J0cz1hLGEucHJvdG90eXBlLl9pbXBvcnRERVI9ZnVuY3Rpb24odCxlKXt0PWkudG9BcnJheSh0LGUpO3ZhciByPW5ldyBmdW5jdGlvbigpe3RoaXMucGxhY2U9MH07aWYoNDghPT10W3IucGxhY2UrK10pcmV0dXJuITE7aWYocyh0LHIpK3IucGxhY2UhPT10Lmxlbmd0aClyZXR1cm4hMTtpZigyIT09dFtyLnBsYWNlKytdKXJldHVybiExO3ZhciBvPXModCxyKSxhPXQuc2xpY2Uoci5wbGFjZSxvK3IucGxhY2UpO2lmKHIucGxhY2UrPW8sMiE9PXRbci5wbGFjZSsrXSlyZXR1cm4hMTt2YXIgdT1zKHQscik7aWYodC5sZW5ndGghPT11K3IucGxhY2UpcmV0dXJuITE7dmFyIGY9dC5zbGljZShyLnBsYWNlLHUrci5wbGFjZSk7cmV0dXJuIDA9PT1hWzBdJiYxMjgmYVsxXSYmKGE9YS5zbGljZSgxKSksMD09PWZbMF0mJjEyOCZmWzFdJiYoZj1mLnNsaWNlKDEpKSx0aGlzLnI9bmV3IG4oYSksdGhpcy5zPW5ldyBuKGYpLHRoaXMucmVjb3ZlcnlQYXJhbT1udWxsLCEwfSxhLnByb3RvdHlwZS50b0RFUj1mdW5jdGlvbih0KXt2YXIgZT10aGlzLnIudG9BcnJheSgpLHI9dGhpcy5zLnRvQXJyYXkoKTtmb3IoMTI4JmVbMF0mJihlPVswXS5jb25jYXQoZSkpLDEyOCZyWzBdJiYocj1bMF0uY29uY2F0KHIpKSxlPXUoZSkscj11KHIpOyEoclswXXx8MTI4JnJbMV0pOylyPXIuc2xpY2UoMSk7dmFyIG49WzJdO2YobixlLmxlbmd0aCksKG49bi5jb25jYXQoZSkpLnB1c2goMiksZihuLHIubGVuZ3RoKTt2YXIgbz1uLmNvbmNhdChyKSxhPVs0OF07cmV0dXJuIGYoYSxvLmxlbmd0aCksYT1hLmNvbmNhdChvKSxpLmVuY29kZShhLHQpfX0seyIuLi8uLi9lbGxpcHRpYyI6NjcsImJuLmpzIjoiQk4ifV0sNzc6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbj10KCJoYXNoLmpzIiksaT10KCIuLi8uLi9lbGxpcHRpYyIpLG89aS51dGlscyxhPW8uYXNzZXJ0LHM9by5wYXJzZUJ5dGVzLHU9dCgiLi9rZXkiKSxmPXQoIi4vc2lnbmF0dXJlIik7ZnVuY3Rpb24gYyh0KXtpZihhKCJlZDI1NTE5Ij09PXQsIm9ubHkgdGVzdGVkIHdpdGggZWQyNTUxOSBzbyBmYXIiKSwhKHRoaXMgaW5zdGFuY2VvZiBjKSlyZXR1cm4gbmV3IGModCk7dD1pLmN1cnZlc1t0XS5jdXJ2ZTt0aGlzLmN1cnZlPXQsdGhpcy5nPXQuZyx0aGlzLmcucHJlY29tcHV0ZSh0Lm4uYml0TGVuZ3RoKCkrMSksdGhpcy5wb2ludENsYXNzPXQucG9pbnQoKS5jb25zdHJ1Y3Rvcix0aGlzLmVuY29kaW5nTGVuZ3RoPU1hdGguY2VpbCh0Lm4uYml0TGVuZ3RoKCkvOCksdGhpcy5oYXNoPW4uc2hhNTEyfWUuZXhwb3J0cz1jLGMucHJvdG90eXBlLnNpZ249ZnVuY3Rpb24odCxlKXt0PXModCk7dmFyIHI9dGhpcy5rZXlGcm9tU2VjcmV0KGUpLG49dGhpcy5oYXNoSW50KHIubWVzc2FnZVByZWZpeCgpLHQpLGk9dGhpcy5nLm11bChuKSxvPXRoaXMuZW5jb2RlUG9pbnQoaSksYT10aGlzLmhhc2hJbnQobyxyLnB1YkJ5dGVzKCksdCkubXVsKHIucHJpdigpKSx1PW4uYWRkKGEpLnVtb2QodGhpcy5jdXJ2ZS5uKTtyZXR1cm4gdGhpcy5tYWtlU2lnbmF0dXJlKHtSOmksUzp1LFJlbmNvZGVkOm99KX0sYy5wcm90b3R5cGUudmVyaWZ5PWZ1bmN0aW9uKHQsZSxyKXt0PXModCksZT10aGlzLm1ha2VTaWduYXR1cmUoZSk7dmFyIG49dGhpcy5rZXlGcm9tUHVibGljKHIpLGk9dGhpcy5oYXNoSW50KGUuUmVuY29kZWQoKSxuLnB1YkJ5dGVzKCksdCksbz10aGlzLmcubXVsKGUuUygpKTtyZXR1cm4gZS5SKCkuYWRkKG4ucHViKCkubXVsKGkpKS5lcShvKX0sYy5wcm90b3R5cGUuaGFzaEludD1mdW5jdGlvbigpe2Zvcih2YXIgdD10aGlzLmhhc2goKSxlPTA7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKyl0LnVwZGF0ZShhcmd1bWVudHNbZV0pO3JldHVybiBvLmludEZyb21MRSh0LmRpZ2VzdCgpKS51bW9kKHRoaXMuY3VydmUubil9LGMucHJvdG90eXBlLmtleUZyb21QdWJsaWM9ZnVuY3Rpb24odCl7cmV0dXJuIHUuZnJvbVB1YmxpYyh0aGlzLHQpfSxjLnByb3RvdHlwZS5rZXlGcm9tU2VjcmV0PWZ1bmN0aW9uKHQpe3JldHVybiB1LmZyb21TZWNyZXQodGhpcyx0KX0sYy5wcm90b3R5cGUubWFrZVNpZ25hdHVyZT1mdW5jdGlvbih0KXtyZXR1cm4gdCBpbnN0YW5jZW9mIGY/dDpuZXcgZih0aGlzLHQpfSxjLnByb3RvdHlwZS5lbmNvZGVQb2ludD1mdW5jdGlvbih0KXt2YXIgZT10LmdldFkoKS50b0FycmF5KCJsZSIsdGhpcy5lbmNvZGluZ0xlbmd0aCk7cmV0dXJuIGVbdGhpcy5lbmNvZGluZ0xlbmd0aC0xXXw9dC5nZXRYKCkuaXNPZGQoKT8xMjg6MCxlfSxjLnByb3RvdHlwZS5kZWNvZGVQb2ludD1mdW5jdGlvbih0KXt2YXIgZT0odD1vLnBhcnNlQnl0ZXModCkpLmxlbmd0aC0xLHI9dC5zbGljZSgwLGUpLmNvbmNhdCgtMTI5JnRbZV0pLG49MCE9KDEyOCZ0W2VdKSxpPW8uaW50RnJvbUxFKHIpO3JldHVybiB0aGlzLmN1cnZlLnBvaW50RnJvbVkoaSxuKX0sYy5wcm90b3R5cGUuZW5jb2RlSW50PWZ1bmN0aW9uKHQpe3JldHVybiB0LnRvQXJyYXkoImxlIix0aGlzLmVuY29kaW5nTGVuZ3RoKX0sYy5wcm90b3R5cGUuZGVjb2RlSW50PWZ1bmN0aW9uKHQpe3JldHVybiBvLmludEZyb21MRSh0KX0sYy5wcm90b3R5cGUuaXNQb2ludD1mdW5jdGlvbih0KXtyZXR1cm4gdCBpbnN0YW5jZW9mIHRoaXMucG9pbnRDbGFzc319LHsiLi4vLi4vZWxsaXB0aWMiOjY3LCIuL2tleSI6NzgsIi4vc2lnbmF0dXJlIjo3OSwiaGFzaC5qcyI6ODZ9XSw3ODpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQoIi4uLy4uL2VsbGlwdGljIikudXRpbHMsaT1uLmFzc2VydCxvPW4ucGFyc2VCeXRlcyxhPW4uY2FjaGVkUHJvcGVydHk7ZnVuY3Rpb24gcyh0LGUpe3RoaXMuZWRkc2E9dCx0aGlzLl9zZWNyZXQ9byhlLnNlY3JldCksdC5pc1BvaW50KGUucHViKT90aGlzLl9wdWI9ZS5wdWI6dGhpcy5fcHViQnl0ZXM9byhlLnB1Yil9cy5mcm9tUHVibGljPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBzP2U6bmV3IHModCx7cHViOmV9KX0scy5mcm9tU2VjcmV0PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBzP2U6bmV3IHModCx7c2VjcmV0OmV9KX0scy5wcm90b3R5cGUuc2VjcmV0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3NlY3JldH0sYShzLCJwdWJCeXRlcyIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lZGRzYS5lbmNvZGVQb2ludCh0aGlzLnB1YigpKX0pLGEocywicHViIixmdW5jdGlvbigpe3JldHVybiB0aGlzLl9wdWJCeXRlcz90aGlzLmVkZHNhLmRlY29kZVBvaW50KHRoaXMuX3B1YkJ5dGVzKTp0aGlzLmVkZHNhLmcubXVsKHRoaXMucHJpdigpKX0pLGEocywicHJpdkJ5dGVzIixmdW5jdGlvbigpe3ZhciB0PXRoaXMuZWRkc2EsZT10aGlzLmhhc2goKSxyPXQuZW5jb2RpbmdMZW5ndGgtMSxuPWUuc2xpY2UoMCx0LmVuY29kaW5nTGVuZ3RoKTtyZXR1cm4gblswXSY9MjQ4LG5bcl0mPTEyNyxuW3JdfD02NCxufSksYShzLCJwcml2IixmdW5jdGlvbigpe3JldHVybiB0aGlzLmVkZHNhLmRlY29kZUludCh0aGlzLnByaXZCeXRlcygpKX0pLGEocywiaGFzaCIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lZGRzYS5oYXNoKCkudXBkYXRlKHRoaXMuc2VjcmV0KCkpLmRpZ2VzdCgpfSksYShzLCJtZXNzYWdlUHJlZml4IixmdW5jdGlvbigpe3JldHVybiB0aGlzLmhhc2goKS5zbGljZSh0aGlzLmVkZHNhLmVuY29kaW5nTGVuZ3RoKX0pLHMucHJvdG90eXBlLnNpZ249ZnVuY3Rpb24odCl7cmV0dXJuIGkodGhpcy5fc2VjcmV0LCJLZXlQYWlyIGNhbiBvbmx5IHZlcmlmeSIpLHRoaXMuZWRkc2Euc2lnbih0LHRoaXMpfSxzLnByb3RvdHlwZS52ZXJpZnk9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5lZGRzYS52ZXJpZnkodCxlLHRoaXMpfSxzLnByb3RvdHlwZS5nZXRTZWNyZXQ9ZnVuY3Rpb24odCl7cmV0dXJuIGkodGhpcy5fc2VjcmV0LCJLZXlQYWlyIGlzIHB1YmxpYyBvbmx5Iiksbi5lbmNvZGUodGhpcy5zZWNyZXQoKSx0KX0scy5wcm90b3R5cGUuZ2V0UHVibGljPWZ1bmN0aW9uKHQpe3JldHVybiBuLmVuY29kZSh0aGlzLnB1YkJ5dGVzKCksdCl9LGUuZXhwb3J0cz1zfSx7Ii4uLy4uL2VsbGlwdGljIjo2N31dLDc5OltmdW5jdGlvbih0LGUscil7dmFyIG49dCgiYm4uanMiKSxpPXQoIi4uLy4uL2VsbGlwdGljIikudXRpbHMsbz1pLmFzc2VydCxhPWkuY2FjaGVkUHJvcGVydHkscz1pLnBhcnNlQnl0ZXM7ZnVuY3Rpb24gdSh0LGUpe3RoaXMuZWRkc2E9dCwib2JqZWN0IiE9PSh2b2lkIDA9PT1lPyJ1bmRlZmluZWQiOl90eXBlb2YoZSkpJiYoZT1zKGUpKSxBcnJheS5pc0FycmF5KGUpJiYoZT17UjplLnNsaWNlKDAsdC5lbmNvZGluZ0xlbmd0aCksUzplLnNsaWNlKHQuZW5jb2RpbmdMZW5ndGgpfSksbyhlLlImJmUuUywiU2lnbmF0dXJlIHdpdGhvdXQgUiBvciBTIiksdC5pc1BvaW50KGUuUikmJih0aGlzLl9SPWUuUiksZS5TIGluc3RhbmNlb2YgbiYmKHRoaXMuX1M9ZS5TKSx0aGlzLl9SZW5jb2RlZD1BcnJheS5pc0FycmF5KGUuUik/ZS5SOmUuUmVuY29kZWQsdGhpcy5fU2VuY29kZWQ9QXJyYXkuaXNBcnJheShlLlMpP2UuUzplLlNlbmNvZGVkfWEodSwiUyIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lZGRzYS5kZWNvZGVJbnQodGhpcy5TZW5jb2RlZCgpKX0pLGEodSwiUiIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lZGRzYS5kZWNvZGVQb2ludCh0aGlzLlJlbmNvZGVkKCkpfSksYSh1LCJSZW5jb2RlZCIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lZGRzYS5lbmNvZGVQb2ludCh0aGlzLlIoKSl9KSxhKHUsIlNlbmNvZGVkIixmdW5jdGlvbigpe3JldHVybiB0aGlzLmVkZHNhLmVuY29kZUludCh0aGlzLlMoKSl9KSx1LnByb3RvdHlwZS50b0J5dGVzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuUmVuY29kZWQoKS5jb25jYXQodGhpcy5TZW5jb2RlZCgpKX0sdS5wcm90b3R5cGUudG9IZXg9ZnVuY3Rpb24oKXtyZXR1cm4gaS5lbmNvZGUodGhpcy50b0J5dGVzKCksImhleCIpLnRvVXBwZXJDYXNlKCl9LGUuZXhwb3J0cz11fSx7Ii4uLy4uL2VsbGlwdGljIjo2NywiYm4uanMiOiJCTiJ9XSw4MDpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz17ZG91Ymxlczp7c3RlcDo0LHBvaW50czpbWyJlNjBmY2U5M2I1OWU5ZWM1MzAxMWFhYmMyMWMyM2U5N2IyYTMxMzY5Yjg3YTVhZTljNDRlZTg5ZTJhNmRlYzBhIiwiZjdlMzUwNzM5OWU1OTU5MjlkYjk5ZjM0ZjU3OTM3MTAxMjk2ODkxZTQ0ZDIzZjBiZTFmMzJjY2U2OTYxNjgyMSJdLFsiODI4MjI2MzIxMmM2MDlkOWVhMmE2ZTNlMTcyZGUyMzhkOGMzOWNhYmQ1YWMxY2ExMDY0NmUyM2ZkNWY1MTUwOCIsIjExZjhhODA5ODU1N2RmZTQ1ZTgyNTZlODMwYjYwYWNlNjJkNjEzYWMyZjdiMTdiZWQzMWI2ZWFmZjZlMjZjYWYiXSxbIjE3NWUxNTlmNzI4Yjg2NWE3MmY5OWNjNmM2ZmM4NDZkZTBiOTM4MzNmZDIyMjJlZDczZmNlNWI1NTFlNWI3MzkiLCJkMzUwNmUwZDllM2M3OWViYTRlZjk3YTUxZmY3MWY1ZWFjYjU5NTVhZGQyNDM0NWM2ZWZhNmZmZWU5ZmVkNjk1Il0sWyIzNjNkOTBkNDQ3YjAwYzljOTljZWFjMDViNjI2MmVlMDUzNDQxYzdlNTU1NTJmZmU1MjZiYWQ4ZjgzZmY0NjQwIiwiNGUyNzNhZGZjNzMyMjIxOTUzYjQ0NTM5N2YzMzYzMTQ1YjlhODkwMDgxOTllY2I2MjAwM2M3ZjNiZWU5ZGU5Il0sWyI4YjRiNWYxNjVkZjNjMmJlOGM2MjQ0YjViNzQ1NjM4ODQzZTRhNzgxYTE1YmNkMWI2OWY3OWE1NWRmZmRmODBjIiwiNGFhZDBhNmY2OGQzMDhiNGIzZmJkNzgxM2FiMGRhMDRmOWUzMzY1NDYxNjJlZTU2YjNlZmYwYzY1ZmQ0ZmQzNiJdLFsiNzIzY2JhYTZlNWRiOTk2ZDZiZjc3MWMwMGJkNTQ4YzdiNzAwZGJmZmE2YzBlNzdiY2I2MTE1OTI1MjMyZmNkYSIsIjk2ZTg2N2I1NTk1Y2M0OThhOTIxMTM3NDg4ODI0ZDZlMjY2MGEwNjUzNzc5NDk0ODAxZGMwNjlkOWViMzlmNWYiXSxbImVlYmZhNGQ0OTNiZWJmOThiYTVmZWVjODEyYzJkM2I1MDk0Nzk2MTIzN2E5MTk4MzlhNTMzZWNhMGU3ZGQ3ZmEiLCI1ZDlhOGNhMzk3MGVmMGYyNjllZTdlZGFmMTc4MDg5ZDlhZTRjZGMzYTcxMWY3MTJkZGZkNGZkYWUxZGU4OTk5Il0sWyIxMDBmNDRkYTY5NmU3MTY3Mjc5MWQwYTA5YjdiZGU0NTlmMTIxNWEyOWIzYzAzYmZlZmQ3ODM1YjM5YTQ4ZGIwIiwiY2RkOWUxMzE5MmEwMGI3NzJlYzhmMzMwMGMwOTA2NjZiN2ZmNGExOGZmNTE5NWFjMGZiZDVjZDYyYmM2NWEwOSJdLFsiZTEwMzFiZTI2MmM3ZWQxYjFkYzkyMjdhNGEwNGMwMTdhNzdmOGQ0NDY0ZjNiMzg1MmM4YWNkZTZlNTM0ZmQyZCIsIjlkNzA2MTkyODk0MDQwNWU2YmI2YTQxNzY1OTc1MzVhZjI5MmRkNDE5ZTFjZWQ3OWE0NGYxOGYyOTQ1NmEwMGQiXSxbImZlZWE2Y2FlNDZkNTViNTMwYWMyODM5ZjE0M2JkN2VjNWNmOGIyNjZhNDFkNmFmNTJkNWU2ODhkOTA5NDY5NmQiLCJlNTdjNmI2Yzk3ZGNlMWJhYjA2ZTRlMTJiZjNlY2Q1Yzk4MWM4OTU3Y2M0MTQ0MmQzMTU1ZGViZjE4MDkwMDg4Il0sWyJkYTY3YTkxZDkxMDQ5Y2RjYjM2N2JlNGJlNmZmY2EzY2ZlZWQ2NTdkODA4NTgzZGUzM2ZhOTc4YmMxZWM2Y2IxIiwiOWJhY2FhMzU0ODE2NDJiYzQxZjQ2M2Y3ZWM5NzgwZTVkZWM3YWRjNTA4Zjc0MGExN2U5ZWE4ZTI3YTY4YmUxZCJdLFsiNTM5MDRmYWEwYjMzNGNkZGE2ZTAwMDkzNWVmMjIxNTFlYzA4ZDBmN2JiMTEwNjlmNTc1NDVjY2MxYTM3YjdjMCIsIjViYzA4N2QwYmM4MDEwNmQ4OGM5ZWNjYWMyMGQzYzFjMTM5OTk5ODFlMTQ0MzQ2OTlkY2IwOTZiMDIyNzcxYzgiXSxbIjhlN2JjZDBiZDM1OTgzYTc3MTljY2E3NzY0Y2E5MDY3NzliNTNhMDQzYTliOGJjYWVmZjk1OWY0M2FkODYwNDciLCIxMGI3NzcwYjJhM2RhNGIzOTQwMzEwNDIwY2E5NTE0NTc5ZTg4ZTJlNDdmZDY4YjNlYTEwMDQ3ZTg0NjAzNzJhIl0sWyIzODVlZWQzNGMxY2RmZjIxZTZkMDgxODY4OWI4MWJkZTcxYTdmNGYxODM5N2U2NjkwYTg0MWUxNTk5YzQzODYyIiwiMjgzYmViYzNlOGVhMjNmNTY3MDFkZTE5ZTllYmY0NTc2YjMwNGVlYzIwODZkYzhjYzA0NThmZTU1NDJlNTQ1MyJdLFsiNmY5ZDliODAzZWNmMTkxNjM3YzczYTQ0MTNkZmExODBmZGRmODRhNTk0N2ZiYzljNjA2ZWQ4NmMzZmFjM2E3IiwiN2M4MGM2OGU2MDMwNTliYTY5YjhlMmEzMGU0NWM0ZDQ3ZWE0ZGQyZjVjMjgxMDAyZDg2ODkwNjAzYTg0MjE2MCJdLFsiMzMyMmQ0MDEyNDNjNGUyNTgyYTIxNDdjMTA0ZDZlY2JmNzc0ZDE2M2RiMGY1ZTUzMTNiN2UwZTc0MmQwZTZiZCIsIjU2ZTcwNzk3ZTk2NjRlZjViZmIwMTliYzRkZGFmOWI3MjgwNWY2M2VhMjg3M2FmNjI0ZjNhMmU5NmMyOGIyYTAiXSxbIjg1NjcyYzdkMmRlMGI3ZGEyYmQxNzcwZDg5NjY1ODY4NzQxYjNmOWFmNzY0MzM5NzcyMWQ3NGQyODEzNGFiODMiLCI3YzQ4MWI5YjViNDNiMmViNjM3NDA0OWJmYTYyYzJlNWU3N2YxN2ZjYzUyOThmNDRjOGUzMDk0Zjc5MDMxM2E2Il0sWyI5NDhiZjgwOWIxOTg4YTQ2YjA2YzlmMTkxOTQxM2IxMGY5MjI2YzYwZjY2ODgzMmZmZDk1OWFmNjBjODJhMGEiLCI1M2E1NjI4NTZkY2I2NjQ2ZGM2Yjc0YzVkMWMzNDE4YzZkNGRmZjA4Yzk3Y2QyYmVkNGNiN2Y4OGQ4YzhlNTg5Il0sWyI2MjYwY2U3ZjQ2MTgwMWMzNGYwNjdjZTBmMDI4NzNhOGYxYjBlNDRkZmM2OTc1MmFjY2VjZDgxOWYzOGZkOGU4IiwiYmMyZGE4MmI2ZmE1YjU3MWE3ZjA5MDQ5Nzc2YTFlZjdlY2QyOTIyMzgwNTFjMTk4YzFhODRlOTViMmI0YWUxNyJdLFsiZTUwMzdkZTBhZmMxZDhkNDNkODM0ODQxNGJiZjQxMDMwNDNlYzhmNTc1YmZkYzQzMjk1M2NjOGQyMDM3ZmEyZCIsIjQ1NzE1MzRiYWE5NGQzYjVmOWY5OGQwOWZiOTkwYmRkYmQ1ZjViMDNlYzQ4MWYxMGUwZTVkYzg0MWQ3NTViZGEiXSxbImUwNjM3MmIwZjRhMjA3YWRmNWVhOTA1ZThmMTc3MWI0ZTdlOGRiZDFjNmE2YzViNzI1ODY2YTBhZTRmY2U3MjUiLCI3YTkwODk3NGJjZTE4Y2ZlMTJhMjdiYjJhZDVhNDg4Y2Q3NDg0YTc3ODcxMDQ4NzBiMjcwMzRmOTRlZWUzMWRkIl0sWyIyMTNjN2E3MTVjZDVkNDUzNThkMGJiZjlkYzBjZTAyMjA0YjEwYmRkZTJhM2Y1ODU0MGFkNjkwOGQwNTU5NzU0IiwiNGI2ZGFkMGI1YWU0NjI1MDcwMTNhZDA2MjQ1YmExOTBiYjQ4NTBmNWYzNmE3ZWVkZGZmMmMyNzUzNGI0NThmMiJdLFsiNGU3YzI3MmE3YWY0YjM0ZThkYmI5MzUyYTU0MTlhODdlMjgzOGM3MGFkYzYyY2RkZjBjYzNhM2IwOGZiZDUzYyIsIjE3NzQ5Yzc2NmM5ZDBiMThlMTZmZDA5ZjZkZWY2ODFiNTMwYjk2MTRiZmY3ZGQzM2UwYjM5NDE4MTdkY2FhZTYiXSxbImZlYTc0ZTNkYmU3NzhiMWIxMGYyMzhhZDYxNjg2YWE1Yzc2ZTNkYjJiZTQzMDU3NjMyNDI3ZTI4NDBmYjI3YjYiLCI2ZTA1NjhkYjliMGIxMzI5N2NmNjc0ZGVjY2I2YWY5MzEyNmI1OTZiOTczZjdiNzc3MDFkM2RiN2YyM2NiOTZmIl0sWyI3NmU2NDExM2Y2NzdjZjBlMTBhMjU3MGQ1OTk5NjhkMzE1NDRlMTc5Yjc2MDQzMjk1MmMwMmE0NDE3YmRkZTM5IiwiYzkwZGRmOGRlZTRlOTVjZjU3NzA2NmQ3MDY4MWYwZDM1ZTJhMzNkMmI1NmQyMDMyYjRiMTc1MmQxOTAxYWMwMSJdLFsiYzczOGM1NmIwM2IyYWJlMWU4MjgxYmFhNzQzZjhmOWE4ZjdjYzY0M2RmMjZjYmVlM2FiMTUwMjQyYmNiYjg5MSIsIjg5M2ZiNTc4OTUxYWQyNTM3ZjcxOGYyZWFjYmZiYmJiODIzMTRlZWY3ODgwY2ZlOTE3ZTczNWQ5Njk5YTg0YzMiXSxbImQ4OTU2MjY1NDhiNjViODFlMjY0Yzc2MzdjOTcyODc3ZDFkNzJlNWYzYTkyNTAxNDM3MmU5ZjY1ODhmNmMxNGIiLCJmZWJmYWEzOGYyYmM3ZWFlNzI4ZWM2MDgxOGMzNDBlYjAzNDI4ZDYzMmJiMDY3ZTE3OTM2M2VkNzVkN2Q5OTFmIl0sWyJiOGRhOTQwMzJhOTU3NTE4ZWIwZjY0MzM1NzFlODc2MWNlZmZjNzM2OTNlODRlZGQ0OTE1MGE1NjRmNjc2ZTAzIiwiMjgwNGRmYTQ0ODA1YTFlNGQ3Yzk5Y2M5NzYyODA4YjA5MmNjNTg0ZDk1ZmYzYjUxMTQ4OGU0ZTc0ZWZkZjZlNyJdLFsiZTgwZmVhMTQ0NDFmYjMzYTdkOGFkYWI5NDc1ZDdmYWIyMDE5ZWZmYjUxNTZhNzkyZjFhMTE3NzhlM2MwZGY1ZCIsImVlZDFkZTdmNjM4ZTAwNzcxZTg5NzY4Y2EzY2E5NDQ3MmQxNTVlODBhZjMyMmVhOWZjYjQyOTFiNmFjOWVjNzgiXSxbImEzMDE2OTdiZGZjZDcwNDMxM2JhNDhlNTFkNTY3NTQzZjJhMTgyMDMxZWZkNjkxNWRkYzA3YmJjYzRlMTYwNzAiLCI3MzcwZjkxY2ZiNjdlNGY1MDgxODA5ZmEyNWQ0MGY5YjE3MzVkYmY3YzBhMTFhMTMwYzBkMWEwNDFlMTc3ZWExIl0sWyI5MGFkODViMzg5ZDZiOTM2NDYzZjlkMDUxMjY3OGRlMjA4Y2MzMzBiMTEzMDdmZmZhYjdhYzYzZTNmYjA0ZWQ0IiwiZTUwN2EzNjIwYTM4MjYxYWZmZGNiZDk0MjcyMjJiODM5YWVmYWJlMTU4Mjg5NGQ5OTFkNGQ0OGNiNmVmMTUwIl0sWyI4ZjY4YjlkMmY2M2I1ZjMzOTIzOWMxYWQ5ODFmMTYyZWU4OGM1Njc4NzIzZWEzMzUxYjdiNDQ0YzllYzRjMGRhIiwiNjYyYTlmMmRiYTA2Mzk4NmRlMWQ5MGMyYjZiZTIxNWRiYmVhMmNmZTk1NTEwYmZkZjIzY2JmNzk1MDFmZmY4MiJdLFsiZTRmM2ZiMDE3NmFmODVkNjVmZjk5ZmY5MTk4YzM2MDkxZjQ4ZTg2NTAzNjgxZTNlNjY4NmZkNTA1MzIzMWUxMSIsIjFlNjM2MzNhZDBlZjRmMWMxNjYxYTZkMGVhMDJiNzI4NmNjN2U3NGVjOTUxZDFjOTgyMmMzODU3NmZlYjczYmMiXSxbIjhjMDBmYTliMThlYmYzMzFlYjk2MTUzN2E0NWE0MjY2YzcwMzRmMmYwZDRlMWQwNzE2ZmI2ZWFlMjBlYWUyOWUiLCJlZmE0NzI2N2ZlYTUyMWExYTlkYzM0M2EzNzM2Yzk3NGMyZmFkYWZhODFlMzZjNTRlN2QyYTRjNjY3MDI0MTRiIl0sWyJlN2EyNmNlNjlkZDQ4MjlmM2UxMGNlYzBhOWU5OGVkMzE0M2QwODRmMzA4YjkyYzA5OTdmZGRmYzYwY2IzZTQxIiwiMmE3NThlMzAwZmE3OTg0YjQ3MWIwMDZhMWFhZmJiMThkMGE2YjJjMDQyMGU4M2UyMGU4YTk0MjFjZjJjZmQ1MSJdLFsiYjY0NTllMGVlMzY2MmVjOGQyMzU0MGMyMjNiY2JkYzU3MWNiY2I5NjdkNzk0MjRmM2NmMjllYjNkZTZiODBlZiIsIjY3Yzg3NmQwNmYzZTA2ZGUxZGFkZjE2ZTU2NjFkYjNjNGIzYWU2ZDQ4ZTM1YjJmZjMwYmYwYjYxYTcxYmE0NSJdLFsiZDY4YTgwYzgyODBiYjg0MDc5MzIzNGFhMTE4ZjA2MjMxZDZmMWZjNjdlNzNjNWE1ZGVkYTBmNWI0OTY5NDNlOCIsImRiOGJhOWZmZjRiNTg2ZDAwYzRiMWY5MTc3YjBlMjhiNWIwZTdiOGY3ODQ1Mjk1YTI5NGM4NDI2NmIxMzMxMjAiXSxbIjMyNGFlZDdkZjY1YzgwNDI1MmRjMDI3MDkwN2EzMGIwOTYxMmFlYjk3MzQ0OWNlYTQwOTU5ODBmYzI4ZDNkNWQiLCI2NDhhMzY1Nzc0YjYxZjJmZjEzMGMwYzM1YWVjMWY0ZjE5MjEzYjBjN2UzMzI4NDM5NjcyMjRhZjk2YWI3Yzg0Il0sWyI0ZGY5YzE0OTE5Y2RlNjFmNmQ1MWRmZGJlNWZlZTVkY2VlYzQxNDNiYThkMWNhODg4ZThiZDM3M2ZkMDU0Yzk2IiwiMzVlYzUxMDkyZDg3MjgwNTA5NzRjMjNhMWQ4NWQ0YjVkNTA2Y2RjMjg4NDkwMTkyZWJhYzA2Y2FkMTBkNWQiXSxbIjljMzkxOWE4NGE0NzQ4NzBmYWVkOGE5YzFjYzY2MDIxNTIzNDg5MDU0ZDdmMDMwOGNiZmM5OWM4YWMxZjk4Y2QiLCJkZGI4NGYwZjRhNGRkZDU3NTg0ZjA0NGJmMjYwZTY0MTkwNTMyNmY3NmM2NGM4ZTZiZTdlNWUwM2Q0ZmM1OTlkIl0sWyI2MDU3MTcwYjFkZDEyZmRmOGRlMDVmMjgxZDhlMDZiYjkxZTE0OTNhOGI5MWQ0Y2M1YTIxMzgyMTIwYTk1OWU1IiwiOWExYWYwYjI2YTZhNDgwN2FkZDlhMmRhZjcxZGYyNjI0NjUxNTJiYzNlZTI0YzY1ZTg5OWJlOTMyMzg1YTJhOCJdLFsiYTU3NmRmOGUyM2EwODQxMTQyMTQzOWE0NTE4ZGEzMTg4MGNlZjBmYmE3ZDRkZjEyYjFhNjk3M2VlY2I5NDI2NiIsIjQwYTZiZjIwZTc2NjQwYjJjOTJiOTdhZmU1OGNkODJjNDMyZTEwYTdmNTE0ZDlmM2VlOGJlMTFhZTFiMjhlYzgiXSxbIjc3NzhhNzhjMjhkZWMzZTMwYTA1ZmU5NjI5ZGU4YzM4YmIzMGQxZjVjZjlhM2EyMDhmNzYzODg5YmU1OGFkNzEiLCIzNDYyNmQ5YWI1YTViMjJmZjcwOThlMTJmMmZmNTgwMDg3YjM4NDExZmYyNGFjNTYzYjUxM2ZjMWZkOWY0M2FjIl0sWyI5Mjg5NTVlZTYzN2E4NDQ2MzcyOWZkMzBlN2FmZDJlZDVmOTYyNzRlNWFkN2U1Y2IwOWVkYTljMDZkOTAzYWMiLCJjMjU2MjEwMDNkM2Y0MmE4MjdiNzhhMTMwOTNhOTVlZWFjM2QyNmVmYThhOGQ4M2ZjNTE4MGU5MzViY2QwOTFmIl0sWyI4NWQwZmVmM2VjNmRiMTA5Mzk5MDY0ZjNhMGUzYjI4NTU2NDViNGE5MDdhZDM1NDUyN2FhZTc1MTYzZDgyNzUxIiwiMWYwMzY0ODQxM2EzOGMwYmUyOWQ0OTZlNTgyY2Y1NjYzZTg3NTFlOTY4NzczMzE1ODJjMjM3YTI0ZWIxZjk2MiJdLFsiZmYyYjBkY2U5N2VlY2U5N2MxYzliNjA0MTc5OGI4NWRmZGZiNmQ4ODgyZGEyMDMwOGY1NDA0ODI0NTI2MDg3ZSIsIjQ5M2QxM2ZlZjUyNGJhMTg4YWY0YzRkYzU0ZDA3OTM2YzdiN2VkNmZiOTBlMmNlYjJjOTUxZTAxZjBjMjk5MDciXSxbIjgyN2ZiYmU0YjFlODgwZWE5ZWQyYjJlNjMwMWIyMTJiNTdmMWVlMTQ4Y2Q2ZGQyODc4MGU1ZTJjZjg1NmUyNDEiLCJjNjBmOWM5MjNjNzI3YjBiNzFiZWYyYzY3ZDFkMTI2ODdmZjdhNjMxODY5MDMxNjZkNjA1YjY4YmFlYzI5M2VjIl0sWyJlYWE2NDlmMjFmNTFiZGJhZTdiZTRhZTM0Y2U2ZTUyMTdhNThmZGNlN2Y0N2Y5YWE3ZjNiNThmYTIxMjBlMmIzIiwiYmUzMjc5ZWQ1YmJiYjAzYWM2OWE4MGY4OTg3OWFhNWEwMWE2Yjk2NWYxM2Y3ZTU5ZDQ3YTUzMDViYTVhZDkzZCJdLFsiZTRhNDJkNDNjNWNmMTY5ZDkzOTFkZjZkZWNmNDJlZTU0MWI2ZDhmMGM5YTEzNzQwMWUyMzYzMmRkYTM0ZDI0ZiIsIjRkOWY5MmU3MTZkMWM3MzUyNmZjOTljY2ZiOGFkMzRjZTg4NmVlZGZhOGQ4ZTRmMTNhN2Y3MTMxZGViYTk0MTQiXSxbIjFlYzgwZmVmMzYwY2JkZDk1NDE2MGZhZGFiMzUyYjZiOTJiNTM1NzZhODhmZWE0OTQ3MTczYjlkNDMwMGJmMTkiLCJhZWVmZTkzNzU2YjUzNDBkMmYzYTQ5NThhN2FiYmY1ZTAxNDZlNzdmNjI5NWEwN2I2NzFjZGMxY2MxMDdjZWZkIl0sWyIxNDZhNzc4YzA0NjcwYzJmOTFiMDBhZjQ2ODBkZmE4YmNlMzQ5MDcxN2Q1OGJhODg5ZGRiNTkyODM2NjY0MmJlIiwiYjMxOGUwZWMzMzU0MDI4YWRkNjY5ODI3ZjlkNGIyODcwYWFhOTcxZDJmN2U1ZWQxZDBiMjk3NDgzZDgzZWZkMCJdLFsiZmE1MGMwZjYxZDIyZTVmMDdlM2FjZWJiMWFhMDdiMTI4ZDAwMTIyMDlhMjhiOTc3NmQ3NmE4NzkzMTgwZWVmOSIsIjZiODRjNjkyMjM5N2ViYTliNzJjZDI4NzIyODFhNjhhNWU2ODMyOTNhNTdhMjEzYjM4Y2Q4ZDdkM2Y0ZjI4MTEiXSxbImRhMWQ2MWQwY2E3MjFhMTFiMWE1YmY2YjdkODhlODQyMWEyODhhYjVkNWJiYTUyMjBlNTNkMzJiNWYwNjdlYzIiLCI4MTU3ZjU1YTdjOTkzMDZjNzljMDc2NjE2MWM5MWUyOTY2YTczODk5ZDI3OWI0OGE2NTVmYmEwZjFhZDgzNmYxIl0sWyJhOGUyODJmZjBjOTcwNjkwNzIxNWZmOThlOGZkNDE2NjE1MzExZGUwNDQ2ZjFlMDYyYTczYjA2MTBkMDY0ZTEzIiwiN2Y5NzM1NWI4ZGI4MWMwOWFiZmI3ZjNjNWIyNTE1ODg4YjY3OWEzZTUwZGQ2YmQ2Y2VmN2M3MzExMWY0Y2MwYyJdLFsiMTc0YTUzYjljOWEyODU4NzJkMzllNTZlNjkxM2NhYjE1ZDU5YjFmYTUxMjUwOGMwMjJmMzgyZGU4MzE5NDk3YyIsImNjYzlkYzM3YWJmYzljMTY1N2I0MTU1ZjJjNDdmOWU2NjQ2YjNhMWQ4Y2I5ODU0MzgzZGExM2FjMDc5YWZhNzMiXSxbIjk1OTM5Njk4MTk0Mzc4NWMzZDNlNTdlZGY1MDE4Y2RiZTAzOWU3MzBlNDkxOGIzZDg4NGZkZmYwOTQ3NWI3YmEiLCIyZTdlNTUyODg4YzMzMWRkOGJhMDM4NmE0YjljZDY4NDljNjUzZjY0Yzg3MDkzODVlOWI4YWJmODc1MjRmMmZkIl0sWyJkMmE2M2E1MGFlNDAxZTU2ZDY0NWExMTUzYjEwOWE4ZmNjYTBhNDNkNTYxZmJhMmRiYjUxMzQwYzlkODJiMTUxIiwiZTgyZDg2ZmI2NDQzZmNiNzU2NWFlZTU4YjI5NDgyMjBhNzBmNzUwYWY0ODRjYTUyZDQxNDIxNzRkY2Y4OTQwNSJdLFsiNjQ1ODdlMjMzNTQ3MWViODkwZWU3ODk2ZDdjZmRjODY2YmFjYmRiZDM4MzkzMTdiMzQzNmY5YjQ1NjE3ZTA3MyIsImQ5OWZjZGQ1YmY2OTAyZTJhZTk2ZGQ2NDQ3YzI5OWExODViOTBhMzkxMzNhZWFiMzU4Mjk5ZTVlOWZhZjY1ODkiXSxbIjg0ODFiZGUwZTRlNGQ4ODViM2E1NDZkM2U1NDlkZTA0MmYwYWE2Y2VhMjUwZTdmZDM1OGQ2Yzg2ZGQ0NWU0NTgiLCIzOGVlN2I4Y2JhNTQwNGRkODRhMjViZjM5Y2VjYjJjYTkwMGE3OWM0MmIyNjJlNTU2ZDY0YjFiNTk3NzkwNTdlIl0sWyIxMzQ2NGE1N2E3ODEwMmFhNjJiNjk3OWFlODE3ZjQ2MzdmZmNmZWQzYzRiMWNlMzBiY2Q2MzAzZjZjYWY2NjZiIiwiNjliZTE1OTAwNDYxNDU4MGVmN2U0MzM0NTNjY2IwY2E0OGYzMDBhODFkMDk0MmUxM2Y0OTVhOTA3ZjZlY2MyNyJdLFsiYmM0YTlkZjViNzEzZmUyZTlhZWY0MzBiY2MxZGM5N2EwY2Q5Y2NlZGUyZjI4NTg4Y2FkYTNhMGQyZDgzZjM2NiIsImQzYTgxY2E2ZTc4NWMwNjM4MzkzN2FkZjRiNzk4Y2FhNmU4YTlmYmZhNTQ3YjE2ZDc1OGQ2NjY1ODFmMzNjMSJdLFsiOGMyOGE5N2JmODI5OGJjMGQyM2Q4Yzc0OTQ1MmEzMmU2OTRiNjVlMzBhOTQ3MmEzOTU0YWIzMGZlNTMyNGNhYSIsIjQwYTMwNDYzYTMzMDUxOTMzNzhmZWRmMzFmN2NjMGViN2FlNzg0ZjA0NTFjYjk0NTllNzFkYzczY2JlZjk0ODIiXSxbIjhlYTk2NjYxMzk1MjdhOGMxZGQ5NGNlNGYwNzFmZDIzYzhiMzUwYzVhNGJiMzM3NDhjNGJhMTExZmFjY2FlMCIsIjYyMGVmYWJiYzhlZTI3ODJlMjRlN2MwY2ZiOTVjNWQ3MzViNzgzYmU5Y2YwZjhlOTU1YWYzNGEzMGU2MmI5NDUiXSxbImRkMzYyNWZhZWY1YmEwNjA3NDY2OTcxNmJiZDM3ODhkODliZGRlODE1OTU5OTY4MDkyZjc2Y2M0ZWI5YTk3ODciLCI3YTE4OGZhMzUyMGUzMGQ0NjFkYTI1MDEwNDU3MzFjYTk0MTQ2MTk4Mjg4MzM5NTkzN2Y2OGQwMGM2NDRhNTczIl0sWyJmNzEwZDc5ZDllYjk2MjI5N2U0ZjYyMzJiNDBlOGY3ZmViMmJjNjM4MTQ2MTRkNjkyYzEyZGU3NTI0MDgyMjFlIiwiZWE5OGU2NzIzMmQzYjMyOTVkM2I1MzU1MzIxMTVjY2FjODYxMmM3MjE4NTE2MTc1MjZhZTQ3YTljNzdiZmM4MiJdXX0sbmFmOnt3bmQ6Nyxwb2ludHM6W1siZjkzMDhhMDE5MjU4YzMxMDQ5MzQ0Zjg1Zjg5ZDUyMjliNTMxYzg0NTgzNmY5OWIwODYwMWYxMTNiY2UwMzZmOSIsIjM4OGY3YjBmNjMyZGU4MTQwZmUzMzdlNjJhMzdmMzU2NjUwMGE5OTkzNGMyMjMxYjZjYjlmZDc1ODRiOGU2NzIiXSxbIjJmOGJkZTRkMWEwNzIwOTM1NWI0YTcyNTBhNWM1MTI4ZTg4Yjg0YmRkYzYxOWFiN2NiYThkNTY5YjI0MGVmZTQiLCJkOGFjMjIyNjM2ZTVlM2Q2ZDRkYmE5ZGRhNmM5YzQyNmY3ODgyNzFiYWIwZDY4NDBkY2E4N2QzYWE2YWM2MmQ2Il0sWyI1Y2JkZjA2NDZlNWRiNGVhYTM5OGYzNjVmMmVhN2EwZTNkNDE5YjdlMDMzMGUzOWNlOTJiZGRlZGNhYzRmOWJjIiwiNmFlYmNhNDBiYTI1NTk2MGEzMTc4ZDZkODYxYTU0ZGJhODEzZDBiODEzZmRlN2I1YTUwODI2MjgwODcyNjRkYSJdLFsiYWNkNDg0ZTJmMGM3ZjY1MzA5YWQxNzhhOWY1NTlhYmRlMDk3OTY5NzRjNTdlNzE0YzM1ZjExMGRmYzI3Y2NiZSIsImNjMzM4OTIxYjBhN2Q5ZmQ2NDM4MDk3MTc2M2I2MWU5YWRkODg4YTQzNzVmOGUwZjA1Y2MyNjJhYzY0ZjljMzciXSxbIjc3NGFlN2Y4NThhOTQxMWU1ZWY0MjQ2YjcwYzY1YWFjNTY0OTk4MGJlNWMxNzg5MWJiZWMxNzg5NWRhMDA4Y2IiLCJkOTg0YTAzMmViNmI1ZTE5MDI0M2RkNTZkN2I3YjM2NTM3MmRiMWUyZGZmOWQ2YTgzMDFkNzRjOWM5NTNjNjFiIl0sWyJmMjg3NzNjMmQ5NzUyODhiYzdkMWQyMDVjMzc0ODY1MWIwNzVmYmM2NjEwZTU4Y2RkZWVkZGY4ZjE5NDA1YWE4IiwiYWIwOTAyZThkODgwYTg5NzU4MjEyZWI2NWNkYWY0NzNhMWEwNmRhNTIxZmE5MWYyOWI1Y2I1MmRiMDNlZDgxIl0sWyJkNzkyNGQ0ZjdkNDNlYTk2NWE0NjVhZTMwOTVmZjQxMTMxZTU5NDZmM2M4NWY3OWU0NGFkYmNmOGUyN2UwODBlIiwiNTgxZTI4NzJhODZjNzJhNjgzODQyZWMyMjhjYzZkZWZlYTQwYWYyYmQ4OTZkM2E1YzUwNGRjOWZmNmEyNmI1OCJdLFsiZGVmZGVhNGNkYjY3Nzc1MGE0MjBmZWU4MDdlYWNmMjFlYjk4OThhZTc5Yjk3Njg3NjZlNGZhYTA0YTJkNGEzNCIsIjQyMTFhYjA2OTQ2MzUxNjhlOTk3YjBlYWQyYTkzZGFlY2VkMWY0YTA0YTk1YzBmNmNmYjE5OWY2OWU1NmViNzciXSxbIjJiNGVhMGE3OTdhNDQzZDI5M2VmNWNmZjQ0NGY0OTc5ZjA2YWNmZWJkN2U4NmQyNzc0NzU2NTYxMzgzODViNmMiLCI4NWU4OWJjMDM3OTQ1ZDkzYjM0MzA4M2I1YTFjODYxMzFhMDFmNjBjNTAyNjk3NjNiNTcwYzg1NGU1YzA5YjdhIl0sWyIzNTJiYmY0YTRjZGQxMjU2NGY5M2ZhMzMyY2UzMzMzMDFkOWFkNDAyNzFmODEwNzE4MTM0MGFlZjI1YmU1OWQ1IiwiMzIxZWI0MDc1MzQ4ZjUzNGQ1OWMxODI1OWRkYTNlMWY0YTFiM2IyZTcxYjEwMzljNjdiZDNkOGJjZjgxOTk4YyJdLFsiMmZhMjEwNGQ2YjM4ZDExYjAyMzAwMTA1NTk4NzkxMjRlNDJhYjhkZmVmZjVmZjI5ZGM5Y2RhZGQ0ZWNhY2MzZiIsIjJkZTEwNjgyOTVkZDg2NWI2NDU2OTMzNWJkNWRkODAxODFkNzBlY2ZjODgyNjQ4NDIzYmE3NmI1MzJiN2Q2NyJdLFsiOTI0ODI3OWIwOWI0ZDY4ZGFiMjFhOWIwNjZlZGRhODMyNjNjM2Q4NGUwOTU3MmUyNjljYTBjZDdmNTQ1MzcxNCIsIjczMDE2ZjdiZjIzNGFhZGU1ZDFhYTcxYmRlYTJiMWZmM2ZjMGRlMmE4ODc5MTJmZmU1NGEzMmNlOTdjYjM0MDIiXSxbImRhZWQ0ZjJiZTNhOGJmMjc4ZTcwMTMyZmIwYmViNzUyMmY1NzBlMTQ0YmY2MTVjMDdlOTk2ZDQ0M2RlZTg3MjkiLCJhNjlkY2U0YTdkNmM5OGU4ZDRhMWFjYTg3ZWY4ZDcwMDNmODNjMjMwZjNhZmE3MjZhYjQwZTUyMjkwYmUxYzU1Il0sWyJjNDRkMTJjNzA2NWQ4MTJlOGFjZjI4ZDdjYmIxOWY5MDExZWNkOWU5ZmRmMjgxYjBlNmEzYjVlODdkMjJlN2RiIiwiMjExOWE0NjBjZTMyNmNkYzc2YzQ1OTI2Yzk4MmZkYWMwZTEwNmU4NjFlZGY2MWM1YTAzOTA2M2YwZTBlNjQ4MiJdLFsiNmEyNDViZjZkYzY5ODUwNGM4OWEyMGNmZGVkNjA4NTMxNTJiNjk1MzM2YzI4MDYzYjYxYzY1Y2JkMjY5ZTZiNCIsImUwMjJjZjQyYzJiZDRhNzA4YjNmNTEyNmYxNmEyNGFkOGIzM2JhNDhkMDQyM2I2ZWZkNWU2MzQ4MTAwZDhhODIiXSxbIjE2OTdmZmE2ZmQ5ZGU2MjdjMDc3ZTNkMmZlNTQxMDg0Y2UxMzMwMGIwYmVjMTE0NmY5NWFlNTdmMGQwYmQ2YTUiLCJiOWMzOThmMTg2ODA2ZjVkMjc1NjE1MDZlNDU1NzQzM2EyY2YxNTAwOWU0OThhZTdhZGVlOWQ2M2QwMWIyMzk2Il0sWyI2MDViZGIwMTk5ODE3MThiOTg2ZDBmMDdlODM0Y2IwZDlkZWI4MzYwZmZiN2Y2MWRmOTgyMzQ1ZWYyN2E3NDc5IiwiMjk3MmQyZGU0ZjhkMjA2ODFhNzhkOTNlYzk2ZmUyM2MyNmJmYWU4NGZiMTRkYjQzYjAxZTFlOTA1NmI4YzQ5Il0sWyI2MmQxNGRhYjQxNTBiZjQ5NzQwMmZkYzQ1YTIxNWUxMGRjYjAxYzM1NDk1OWIxMGNmZTMxYzdlOWQ4N2ZmMzNkIiwiODBmYzA2YmQ4Y2M1YjAxMDk4MDg4YTE5NTBlZWQwZGIwMWFhMTMyOTY3YWI0NzIyMzVmNTY0MjQ4M2IyNWVhZiJdLFsiODBjNjBhZDAwNDBmMjdkYWRlNWI0YjA2YzQwOGU1NmIyYzUwZTlmNTZiOWI4YjQyNWU1NTVjMmY4NjMwOGI2ZiIsIjFjMzgzMDNmMWNjNWMzMGYyNmU2NmJhZDdmZTcyZjcwYTY1ZWVkNGNiZTcwMjRlYjFhYTAxZjU2NDMwYmQ1N2EiXSxbIjdhOTM3NWFkNjE2N2FkNTRhYTc0YzYzNDhjYzU0ZDM0NGNjNWRjOTQ4N2Q4NDcwNDlkNWVhYmIwZmEwM2M4ZmIiLCJkMGUzZmE5ZWNhODcyNjkwOTU1OWUwZDc5MjY5MDQ2YmRjNTllYTEwYzcwY2UyYjAyZDQ5OWVjMjI0ZGM3ZjciXSxbImQ1MjhlY2Q5YjY5NmI1NGM5MDdhOWVkMDQ1NDQ3YTc5YmI0MDhlYzM5YjY4ZGY1MDRiYjUxZjQ1OWJjM2ZmYzkiLCJlZWNmNDEyNTMxMzZlNWY5OTk2NmYyMTg4MWZkNjU2ZWJjNDM0NTQwNWM1MjBkYmMwNjM0NjViNTIxNDA5OTMzIl0sWyI0OTM3MGE0YjVmNDM0MTJlYTI1ZjUxNGU4ZWNkYWQwNTI2NjExNWU0YTdlY2IxMzg3MjMxODA4ZjhiNDU5NjMiLCI3NThmM2Y0MWFmZDZlZDQyOGIzMDgxYjA1MTJmZDYyYTU0YzNmM2FmYmI1YjY3NjRiNjUzMDUyYTEyOTQ5YzlhIl0sWyI3N2YyMzA5MzZlZTg4Y2JiZDczZGY5MzBkNjQ3MDJlZjg4MWQ4MTFlMGUxNDk4ZTJmMWMxM2ViMWZjMzQ1ZDc0IiwiOTU4ZWY0MmE3ODg2YjY0MDBhMDgyNjZlOWJhMWIzNzg5NmM5NTMzMGQ5NzA3N2NiYmU4ZWIzYzc2NzFjNjBkNiJdLFsiZjJkYWM5OTFjYzRjZTRiOWVhNDQ4ODdlNWM3YzBiY2U1OGM4MDA3NGFiOWQ0ZGJhZWIyODUzMWI3NzM5ZjUzMCIsImUwZGVkYzliM2IyZjhkYWQ0ZGExZjMyZGVjMjUzMWRmOWViNWZiZWIwNTk4ZTRmZDFhMTE3ZGJhNzAzYTNjMzciXSxbIjQ2M2IzZDlmNjYyNjIxZmIxYjRiZThmYmJlMjUyMDEyNWEyMTZjZGZjOWRhZTNkZWJjYmE0ODUwYzY5MGQ0NWIiLCI1ZWQ0MzBkNzhjMjk2YzM1NDMxMTQzMDZkZDg2MjJkN2M2MjJlMjdjOTcwYTFkZTMxY2IzNzdiMDFhZjczMDdlIl0sWyJmMTZmODA0MjQ0ZTQ2ZTJhMDkyMzJkNGFmZjNiNTk5NzZiOThmYWMxNDMyOGEyZDFhMzI0OTZiNDk5OThmMjQ3IiwiY2VkYWJkOWI4MjIwM2Y3ZTEzZDIwNmZjZGY0ZTMzZDkyYTZjNTNjMjZlNWNjZTI2ZDY1Nzk5NjJjNGUzMWRmNiJdLFsiY2FmNzU0MjcyZGM4NDU2M2IwMzUyYjdhMTQzMTFhZjU1ZDI0NTMxNWFjZTI3YzY1MzY5ZTE1ZjcxNTFkNDFkMSIsImNiNDc0NjYwZWYzNWY1ZjJhNDFiNjQzZmE1ZTQ2MDU3NWY0ZmE5Yjc5NjIyMzJhNWMzMmY5MDgzMThhMDQ0NzYiXSxbIjI2MDBjYTRiMjgyY2I5ODZmODVkMGYxNzA5OTc5ZDhiNDRhMDljMDdjYjg2ZDdjMTI0NDk3YmM4NmYwODIxMjAiLCI0MTE5Yjg4NzUzYzE1YmQ2YTY5M2IwM2ZjZGRiYjQ1ZDVhYzZiZTc0YWI1ZjBlZjQ0YjBiZTk0NzVhN2U0YjQwIl0sWyI3NjM1Y2E3MmQ3ZTg0MzJjMzM4ZWM1M2NkMTIyMjBiYzAxYzQ4Njg1ZTI0ZjdkYzhjNjAyYTc3NDY5OThlNDM1IiwiOTFiNjQ5NjA5NDg5ZDYxM2QxZDVlNTkwZjc4ZTZkNzRlY2ZjMDYxZDU3MDQ4YmFkOWU3NmYzMDJjNWI5YzYxIl0sWyI3NTRlMzIzOWYzMjU1NzBjZGJiZjRhODdkZWVlOGE2NmI3ZjJiMzM0NzlkNDY4ZmJjMWE1MDc0M2JmNTZjYzE4IiwiNjczZmI4NmU1YmRhMzBmYjNjZDBlZDMwNGVhNDlhMDIzZWUzM2QwMTk3YTY5NWQwYzVkOTgwOTNjNTM2NjgzIl0sWyJlM2U2YmQxMDcxYTFlOTZhZmY1Nzg1OWM4MmQ1NzBmMDMzMDgwMDY2MWQxYzk1MmY5ZmUyNjk0NjkxZDliOWU4IiwiNTljOWUwYmJhMzk0ZTc2ZjQwYzBhYTU4Mzc5YTNjYjZhNWEyMjgzOTkzZTkwYzQxNjcwMDJhZjQ5MjBlMzdmNSJdLFsiMTg2YjQ4M2QwNTZhMDMzODI2YWU3M2Q4OGY3MzI5ODVjNGNjYjFmMzJiYTM1ZjRiNGNjNDdmZGNmMDRhYTZlYiIsIjNiOTUyZDMyYzY3Y2Y3N2UyZTE3NDQ2ZTIwNDE4MGFiMjFmYjgwOTA4OTUxMzhiNGE0YTc5N2Y4NmU4MDg4OGIiXSxbImRmOWQ3MGE2Yjk4NzZjZTU0NGM5ODU2MWY0YmU0ZjcyNTQ0MmU2ZDJiNzM3ZDljOTFhODMyMTcyNGNlMDk2M2YiLCI1NWViMmRhZmQ4NGQ2Y2NkNWY4NjJiNzg1ZGMzOWQ0YWIxNTcyMjI3MjBlZjlkYTIxN2I4YzQ1Y2YyYmEyNDE3Il0sWyI1ZWRkNWNjMjNjNTFlODdhNDk3Y2E4MTVkNWRjZTBmOGFiNTI1NTRmODQ5ZWQ4OTk1ZGU2NGM1ZjM0Y2U3MTQzIiwiZWZhZTljOGRiYzE0MTMwNjYxZThjZWMwMzBjODlhZDBjMTNjNjZjMGQxN2EyOTA1Y2RjNzA2YWI3Mzk5YTg2OCJdLFsiMjkwNzk4YzJiNjQ3NjgzMGRhMTJmZTAyMjg3ZTllNzc3YWEzZmJhMWMzNTViMTdhNzIyZDM2MmY4NDYxNGZiYSIsImUzOGRhNzZkY2Q0NDA2MjE5ODhkMDBiY2Y3OWFmMjVkNWIyOWMwOTRkYjJhMjMxNDZkMDAzYWZkNDE5NDNlN2EiXSxbImFmM2M0MjNhOTVkOWY1YjMwNTQ3NTRlZmExNTBhYzM5Y2QyOTU1MmZlMzYwMjU3MzYyZGZkZWNlZjQwNTNiNDUiLCJmOThhM2ZkODMxZWIyYjc0OWE5M2IwZTZmMzVjZmI0MGM4Y2Q1YWE2NjdhMTU1ODFiYzJmZWRlZDQ5OGZkOWM2Il0sWyI3NjZkYmIyNGQxMzRlNzQ1Y2NjYWEyOGM5OWJmMjc0OTA2YmI2NmIyNmRjZjk4ZGY4ZDJmZWQ1MGQ4ODQyNDlhIiwiNzQ0YjExNTJlYWNiZTVlMzhkY2M4ODc5ODBkYTM4Yjg5NzU4NGE2NWZhMDZjZWRkMmM5MjRmOTdjYmFjNTk5NiJdLFsiNTlkYmY0NmY4Yzk0NzU5YmEyMTI3N2MzMzc4NGY0MTY0NWY3YjQ0ZjZjNTk2YTU4Y2U5MmU2NjYxOTFhYmUzZSIsImM1MzRhZDQ0MTc1ZmJjMzAwZjRlYTZjZTY0ODMwOWEwNDJjZTczOWE3OTE5Nzk4Y2Q4NWUyMTZjNGEzMDdmNmUiXSxbImYxM2FkYTk1MTAzYzQ1MzczMDVlNjkxZTc0ZTlhNGE4ZGQ2NDdlNzExYTk1ZTczY2I2MmRjNjAxOGNmZDg3YjgiLCJlMTM4MTdiNDRlZTE0ZGU2NjNiZjRiYzgwODM0MWYzMjY5NDllMjFhNmE3NWMyNTcwNzc4NDE5YmRhZjU3MzNkIl0sWyI3NzU0YjRmYTBlOGFjZWQwNmQ0MTY3YTJjNTljY2E0Y2RhMTg2OWMwNmViYWRmYjY0ODg1NTAwMTVhODg1MjJjIiwiMzBlOTNlODY0ZTY2OWQ4MjIyNGI5NjdjMzAyMGI4ZmE4ZDFlNGUzNTBiNmNiY2M1MzdhNDhiNTc4NDExNjNhMiJdLFsiOTQ4ZGNhZGY1OTkwZTA0OGFhMzg3NGQ0NmFiZWY5ZDcwMTg1OGY5NWRlODA0MWQyYTY4MjhjOTllMjI2MjUxOSIsImU0OTFhNDI1MzdmNmU1OTdkNWQyOGEzMjI0YjFiYzI1ZGY5MTU0ZWZiZDJlZjFkMmNiYmEyY2FlNTM0N2Q1N2UiXSxbIjc5NjI0MTQ0NTBjNzZjMTY4OWM3YjQ4ZjgyMDJlYzM3ZmIyMjRjZjVhYzBiZmExNTcwMzI4YThhM2Q3Yzc3YWIiLCIxMDBiNjEwZWM0ZmZiNDc2MGQ1YzFmYzEzM2VmNmY2YjEyNTA3YTA1MWYwNGFjNTc2MGFmYTViMjlkYjgzNDM3Il0sWyIzNTE0MDg3ODM0OTY0YjU0YjE1YjE2MDY0NGQ5MTU0ODVhMTY5NzcyMjViODg0N2JiMGRkMDg1MTM3ZWM0N2NhIiwiZWYwYWZiYjIwNTYyMDU0NDhlMTY1MmM0OGU4MTI3ZmM2MDM5ZTc3YzE1YzIzNzhiN2U3ZDE1YTBkZTI5MzMxMSJdLFsiZDNjYzMwYWQ2YjQ4M2U0YmM3OWNlMmM5ZGQ4YmM1NDk5M2U5NDdlYjhkZjc4N2I0NDI5NDNkM2Y3YjUyN2VhZiIsIjhiMzc4YTIyZDgyNzI3OGQ4OWM1ZTliZThmOTUwOGFlM2MyYWQ0NjI5MDM1ODYzMGFmYjM0ZGIwNGVlZGUwYTQiXSxbIjE2MjRkODQ3ODA3MzI4NjBjZTFjNzhmY2JmZWZlMDhiMmIyOTgyM2RiOTEzZjY0OTM5NzViYTBmZjQ4NDc2MTAiLCI2ODY1MWNmOWI2ZGE5MDNlMDkxNDQ0OGM2Y2Q5ZDRjYTg5Njg3OGY1MjgyYmU0YzhjYzA2ZTJhNDA0MDc4NTc1Il0sWyI3MzNjZTgwZGE5NTVhOGEyNjkwMmM5NTYzM2U2MmE5ODUxOTI0NzRiNWFmMjA3ZGE2ZGY3YjRmZDVmYzYxY2Q0IiwiZjU0MzVhMmJkMmJhZGY3ZDQ4NWE0ZDhiOGRiOWZjY2UzZTFlZjhlMDIwMWU0NTc4YzU0NjczYmMxZGM1ZWExZCJdLFsiMTVkOTQ0MTI1NDk0NTA2NGNmMWExYzMzYmJkM2I0OWY4OTY2YzUwOTIxNzFlNjk5ZWYyNThkZmFiODFjMDQ1YyIsImQ1NmViMzBiNjk0NjNlNzIzNGY1MTM3YjczYjg0MTc3NDM0ODAwYmFjZWJmYzY4NWZjMzdiYmU5ZWZlNDA3MGQiXSxbImExZDBmY2YyZWM5ZGU2NzViNjEyMTM2ZTVjZTcwZDI3MWMyMTQxN2M5ZDJiOGFhYWFjMTM4NTk5ZDA3MTc5NDAiLCJlZGQ3N2Y1MGJjYjVhM2NhYjJlOTA3MzczMDk2NjdmMjY0MTQ2MmE1NDA3MGYzZDUxOTIxMmQzOWMxOTdhNjI5Il0sWyJlMjJmYmUxNWMwYWY4Y2NjNTc4MGMwNzM1Zjg0ZGJlOWE3OTBiYWRlZTgyNDVjMDZjN2NhMzczMzFjYjM2OTgwIiwiYTg1NWJhYmFkNWNkNjBjODhiNDMwYTY5ZjUzYTFhN2EzODI4OTE1NDk2NDc5OWJlNDNkMDZkNzdkMzFkYTA2Il0sWyIzMTEwOTFkZDk4NjBlOGUyMGVlMTM0NzNjMTE1NWY1ZjY5NjM1ZTM5NDcwNGVhYTc0MDA5NDUyMjQ2Y2ZhOWIzIiwiNjZkYjY1NmY4N2QxZjA0ZmZmZDFmMDQ3ODhjMDY4MzA4NzFlYzVhNjRmZWVlNjg1YmQ4MGYwYjEyODZkODM3NCJdLFsiMzRjMWZkMDRkMzAxYmU4OWIzMWMwNDQyZDNlNmFjMjQ4ODM5MjhiNDVhOTM0MDc4MTg2N2Q0MjMyZWMyZGJkZiIsIjk0MTQ2ODVlOTdiMWI1OTU0YmQ0NmY3MzAxNzQxMzZkNTdmMWNlZWI0ODc0NDNkYzUzMjE4NTdiYTczYWJlZSJdLFsiZjIxOWVhNWQ2YjU0NzAxYzFjMTRkZTViNTU3ZWI0MmE4ZDEzZjNhYmJjZDA4YWZmY2MyYTVlNmIwNDliOGQ2MyIsIjRjYjk1OTU3ZTgzZDQwYjBmNzNhZjQ1NDRjY2NmNmIxZjRiMDhkM2MwN2IyN2ZiOGQ4YzI5NjJhNDAwNzY2ZDEiXSxbImQ3Yjg3NDBmNzRhOGZiYWFiMWY2ODNkYjhmNDVkZTI2NTQzYTU0OTBiY2E2MjcwODcyMzY5MTI0NjlhMGI0NDgiLCJmYTc3OTY4MTI4ZDljOTJlZTEwMTBmMzM3YWQ0NzE3ZWZmMTVkYjVlZDNjMDQ5YjM0MTFlMDMxNWVhYTQ1OTNiIl0sWyIzMmQzMWMyMjJmOGY2ZjBlZjg2ZjdjOThkM2EzMzM1ZWFkNWJjZDMyYWJkZDk0Mjg5ZmU0ZDMwOTFhYTgyNGJmIiwiNWYzMDMyZjU4OTIxNTZlMzljY2QzZDc5MTViOWUxZGEyZTZkYWM5ZTZmMjZlOTYxMTE4ZDE0Yjg0NjJlMTY2MSJdLFsiNzQ2MWYzNzE5MTRhYjMyNjcxMDQ1YTE1NWQ5ODMxZWE4NzkzZDc3Y2Q1OTU5MmM0MzQwZjg2Y2JjMTgzNDdiNSIsIjhlYzBiYTIzOGI5NmJlYzBjYmRkZGNhZTBhYTQ0MjU0MmVlZTFmZjUwYzk4NmVhNmIzOTg0N2IzY2MwOTJmZjYiXSxbImVlMDc5YWRiMWRmMTg2MDA3NDM1NmEyNWFhMzgyMDZhNmQ3MTZiMmMzZTY3NDUzZDI4NzY5OGJhZDdiMmIyZDYiLCI4ZGMyNDEyYWFmZTNiZTVjNGM1ZjM3ZTBlY2M1ZjlmNmE0NDY5ODlhZjA0YzRlMjVlYmFhYzQ3OWVjMWM4YzFlIl0sWyIxNmVjOTNlNDQ3ZWM4M2YwNDY3YjE4MzAyZWU2MjBmN2U2NWRlMzMxODc0YzlkYzcyYmZkODYxNmJhOWRhNmI1IiwiNWU0NjMxMTUwZTYyZmI0MGQwZThjMmE3Y2E1ODA0YTM5ZDU4MTg2YTUwZTQ5NzEzOTYyNjc3OGUyNWIwNjc0ZCJdLFsiZWFhNWY5ODBjMjQ1ZjZmMDM4OTc4MjkwYWZhNzBiNmJkODg1NTg5N2Y5OGI2YWE0ODViOTYwNjVkNTM3YmQ5OSIsImY2NWY1ZDNlMjkyYzJlMDgxOWE1MjgzOTFjOTk0NjI0ZDc4NDg2OWQ3ZTZlYTY3ZmIxODA0MTAyNGVkYzA3ZGMiXSxbIjc4Yzk0MDc1NDRhYzEzMjY5MmVlMTkxMGEwMjQzOTk1OGFlMDQ4NzcxNTEzNDJlYTk2YzRiNmIzNWE0OWY1MSIsImYzZTAzMTkxNjllYjliODVkNTQwNDc5NTUzOWE1ZTY4ZmExZmJkNTgzYzA2NGQyNDYyYjY3NWYxOTRhM2RkYjQiXSxbIjQ5NGY0YmUyMTlhMWE3NzAxNmRjZDgzODQzMWFlYTAwMDFjZGM4YWU3YTZmYzY4ODcyNjU3OGQ5NzAyODU3YTUiLCI0MjI0MmE5NjkyODNhNWYzMzliYTdmMDc1ZTM2YmEyYWY5MjVjZTMwZDc2N2VkNmU1NWY0YjAzMTg4MGQ1NjJjIl0sWyJhNTk4YTgwMzBkYTZkODZjNmJjN2YyZjUxNDRlYTU0OWQyODIxMWVhNThmYWE3MGViZjRjMWU2NjVjMWZlOWI1IiwiMjA0YjVkNmY4NDgyMmMzMDdlNGI0YTcxNDA3MzdhZWMyM2ZjNjNiNjViMzVmODZhMTAwMjZkYmQyZDg2NGU2YiJdLFsiYzQxOTE2MzY1YWJiMmI1ZDA5MTkyZjVmMmRiZWFmZWMyMDhmMDIwZjEyNTcwYTE4NGRiYWRjM2U1ODU5NTk5NyIsIjRmMTQzNTFkMDA4N2VmYTQ5ZDI0NWIzMjg5ODQ5ODlkNWNhZjk0NTBmMzRiZmMwZWQxNmU5NmI1OGZhOTkxMyJdLFsiODQxZDYwNjNhNTg2ZmE0NzVhNzI0NjA0ZGEwM2JjNWI5MmEyZTBkMmUwYTM2YWNmZTRjNzNhNTUxNDc0Mjg4MSIsIjczODY3ZjU5YzA2NTllODE5MDRmOWExYzc1NDM2OThlNjI1NjJkNjc0NGMxNjljZTdhMzZkZTAxYThkNjE1NCJdLFsiNWU5NWJiMzk5YTY5NzFkMzc2MDI2OTQ3Zjg5YmRlMmYyODJiMzM4MTA5MjhiZTRkZWQxMTJhYzRkNzBlMjBkNSIsIjM5ZjIzZjM2NjgwOTA4NWJlZWJmYzcxMTgxMzEzNzc1YTk5YzlhZWQ3ZDhiYTM4YjE2MTM4NGM3NDYwMTI4NjUiXSxbIjM2ZTQ2NDFhNTM5NDhmZDQ3NmMzOWY4YTk5ZmQ5NzRlNWVjMDc1NjRiNTMxNWQ4YmY5OTQ3MWJjYTBlZjJmNjYiLCJkMjQyNGIxYjFhYmU0ZWI4MTY0MjI3YjA4NWM5YWE5NDU2ZWExMzQ5M2ZkNTYzZTA2ZmQ1MWNmNTY5NGM3OGZjIl0sWyIzMzY1ODFlYTdiZmJiYjI5MGMxOTFhMmY1MDdhNDFjZjU2NDM4NDIxNzBlOTE0ZmFlYWIyN2MyYzU3OWY3MjYiLCJlYWQxMjE2ODU5NWZlMWJlOTkyNTIxMjliNmU1NmIzMzkxZjdhYjE0MTBjZDFlMGVmM2RjZGNhYmQyZmRhMjI0Il0sWyI4YWI4OTgxNmRhZGZkNmI2YTFmMjYzNGZjZjAwZWM4NDAzNzgxMDI1ZWQ2ODkwYzQ4NDk3NDI3MDZiZDQzZWRlIiwiNmZkY2VmMDlmMmY2ZDBhMDQ0ZTY1NGFlZjYyNDEzNmY1MDNkNDU5YzNlODk4NDU4NThhNDdhOTEyOWNkZDI0ZSJdLFsiMWUzM2YxYTc0NmM5YzU3NzgxMzMzNDRkOTI5OWZjYWEyMGIwOTM4ZThhY2ZmMjU0NGJiNDAyODRiOGM1ZmI5NCIsIjYwNjYwMjU3ZGQxMWIzYWE5YzhlZDYxOGQyNGVkZmYyMzA2ZDMyMGYxZDAzMDEwZTMzYTdkMjA1N2YzYjNiNiJdLFsiODViN2MxZGNiM2NlYzFiN2VlN2YzMGRlZDc5ZGQyMGEwZWQxZjRjYzE4Y2JjZmNmYTQxMDM2MWZkOGYwOGYzMSIsIjNkOThhOWNkZDAyNmRkNDNmMzkwNDhmMjVhODg0N2Y0ZmNhZmFkMTg5NWQ3YTYzM2M2ZmVkM2MzNWU5OTk1MTEiXSxbIjI5ZGY5ZmJkOGQ5ZTQ2NTA5Mjc1ZjRiMTI1ZDZkNDVkN2ZiZTlhM2I4NzhhN2FmODcyYTI4MDA2NjFhYzVmNTEiLCJiNGM0ZmU5OWM3NzVhNjA2ZTJkODg2MjE3OTEzOWZmZGE2MWRjODYxYzAxOWU1NWNkMjg3NmViMmEyN2Q4NGIiXSxbImEwYjFjYWUwNmIwYTg0N2EzZmVhNmU2NzFhYWY4YWRmZGZlNThjYTJmNzY4MTA1YzgwODJiMmU0NDlmY2UyNTIiLCJhZTQzNDEwMmVkZGUwOTU4ZWM0YjE5ZDkxN2E2YTI4ZTZiNzJkYTE4MzRhZmYwZTY1MGYwNDk1MDNhMjk2Y2YyIl0sWyI0ZThjZWFmYjliM2U5YTEzNmRjN2ZmNjdlODQwMjk1YjQ5OWRmYjNiMjEzM2U0YmExMTNmMmU0YzBlMTIxZTUiLCJjZjIxNzQxMThjOGI2ZDdhNGI0OGY2ZDUzNGNlNWM3OTQyMmMwODZhNjM0NjA1MDJiODI3Y2U2MmEzMjY2ODNjIl0sWyJkMjRhNDRlMDQ3ZTE5YjZmNWFmYjgxYzdjYTJmNjkwODBhNTA3NjY4OWEwMTA5MTlmNDI3MjVjMmI3ODlhMzNiIiwiNmZiOGQ1NTkxYjQ2NmY4ZmM2M2RiNTBmMWMwZjFjNjkwMTNmOTk2ODg3YjgyNDRkMmNkZWM0MTdhZmVhOGZhMyJdLFsiZWEwMTYwNmE3YTZjOWNkZDI0OWZkZmNmYWNiOTk1ODQwMDFlZGQyOGFiYmFiNzdiNTEwNGU5OGU4ZTNiMzVkNCIsIjMyMmFmNDkwOGM3MzEyYjBjZmJmZTM2OWY3YTdiM2NkYjdkNDQ5NGJjMjgyMzcwMGNmZDY1MjE4OGEzZWE5OGQiXSxbImFmOGFkZGJmMmI2NjFjOGE2YzYzMjg2NTVlYjk2NjUxMjUyMDA3ZDhjNWVhMzFiZTRhZDE5NmRlOGNlMjEzMWYiLCI2NzQ5ZTY3YzAyOWI4NWY1MmEwMzRlYWZkMDk2ODM2YjI1MjA4MTg2ODBlMjZhYzhmM2RmYmNkYjcxNzQ5NzAwIl0sWyJlM2FlMTk3NDU2NmNhMDZjYzUxNmQ0N2UwZmIxNjVhNjc0YTNkYWJjZmNhMTVlNzIyZjBlMzQ1MGY0NTg4OSIsIjJhZWFiZTdlNDUzMTUxMDExNjIxN2YwN2JmNGQwNzMwMGRlOTdlNDg3NGY4MWY1MzM0MjBhNzJlZWIwYmQ2YTQiXSxbIjU5MWVlMzU1MzEzZDk5NzIxY2Y2OTkzZmZlZDFlM2UzMDE5OTNmZjNlZDI1ODgwMjA3NWVhOGNlZDM5N2UyNDYiLCJiMGVhNTU4YTExM2MzMGJlYTYwZmM0Nzc1NDYwYzc5MDFmZjBiMDUzZDI1Y2EyYmRlZWU5OGYxYTRiZTVkMTk2Il0sWyIxMTM5NmQ1NWZkYTU0YzQ5ZjE5YWE5NzMxOGQ4ZGE2MWZhODU4NGU0N2IwODQ5NDUwNzdjZjAzMjU1YjUyOTg0IiwiOTk4Yzc0YThjZDQ1YWMwMTI4OWQ1ODMzYTdiZWI0NzQ0ZmY1MzZiMDFiMjU3YmU0YzU3NjdiZWE5M2VhNTdhNCJdLFsiM2M1ZDJhMWJhMzljNWExNzkwMDAwNzM4YzllMGM0MGI4ZGNkZmQ1NDY4NzU0YjY0MDU1NDAxNTdlMDE3YWE3YSIsImIyMjg0Mjc5OTk1YTM0ZTJmOWQ0ZGU3Mzk2ZmMxOGI4MGY5YjhiOWZkZDI3MGY2NjYxZjc5Y2E0YzgxYmQyNTciXSxbImNjODcwNGI4YTYwYTBkZWZhM2E5OWE3Mjk5ZjJlOWMzZmJjMzk1YWZiMDRhYzA3ODQyNWVmOGExNzkzY2MwMzAiLCJiZGQ0NjAzOWZlZWQxNzg4MWQxZTA4NjJkYjM0N2Y4Y2YzOTViNzRmYzRiY2RjNGU5NDBiNzRlM2FjMWYxYjEzIl0sWyJjNTMzZTRmN2VhODU1NWFhY2Q5Nzc3YWM1Y2FkMjliOTdkZDRkZWZjY2M1M2VlN2VhMjA0MTE5YjI4ODliMTk3IiwiNmYwYTI1NmJjNWVmZGY0MjlhMmZiNjI0MmYxYTQzYTJkOWI5MjViYjRhNGIzYTI2YmI4ZTBmNDVlYjU5NjA5NiJdLFsiYzE0ZjhmMmNjYjI3ZDZmMTA5ZjZkMDhkMDNjYzk2YTY5YmE4YzM0ZWVjMDdiYmNmNTY2ZDQ4ZTMzZGE2NTkzIiwiYzM1OWQ2OTIzYmIzOThmN2ZkNDQ3M2UxNmZlMWMyODQ3NWI3NDBkZDA5ODA3NWU2YzBlODY0OTExM2RjM2EzOCJdLFsiYTZjYmMzMDQ2YmM2YTQ1MGJhYzI0Nzg5ZmExNzExNWE0Yzk3MzllZDc1ZjhmMjFjZTQ0MWY3MmUwYjkwZTZlZiIsIjIxYWU3ZjQ2ODBlODg5YmIxMzA2MTllMmMwZjk1YTM2MGNlYjU3M2M3MDYwMzEzOTg2MmFmZDYxN2ZhOWI5ZiJdLFsiMzQ3ZDZkOWEwMmM0ODkyN2ViZmI4NmMxMzU5YjFjYWYxMzBhM2MwMjY3ZDExY2U2MzQ0YjM5Zjk5ZDQzY2MzOCIsIjYwZWE3ZjYxYTM1MzUyNGQxYzk4N2Y2ZWNlYzkyZjA4NmQ1NjVhYjY4Nzg3MGNiMTI2ODlmZjFlMzFjNzQ0NDgiXSxbImRhNjU0NWQyMTgxZGI4ZDk4M2Y3ZGNiMzc1ZWY1ODY2ZDQ3YzY3YjFiZjMxYzhjZjg1NWVmNzQzN2I3MjY1NmEiLCI0OWI5NjcxNWFiNjg3OGE3OWU3OGYwN2NlNTY4MGM1ZDY2NzMwNTFiNDkzNWJkODk3ZmVhODI0Yjc3ZGMyMDhhIl0sWyJjNDA3NDdjYzlkMDEyY2IxYTEzYjgxNDgzMDljNmRlN2VjMjVkNjk0NWQ2NTcxNDZiOWQ1OTk0YjhmZWIxMTExIiwiNWNhNTYwNzUzYmUyYTEyZmM2ZGU2Y2FmMmNiNDg5NTY1ZGI5MzYxNTZiOTUxNGUxYmI1ZTgzMDM3ZTBmYTJkNCJdLFsiNGU0MmM4ZWM4MmM5OTc5OGNjZjNhNjEwYmU4NzBlNzgzMzhjN2Y3MTMzNDhiZDM0YzgyMDNlZjQwMzdmMzUwMiIsIjc1NzFkNzRlZTVlMGZiOTJhN2E4YjMzYTA3NzgzMzQxYTU0OTIxNDRjYzU0YmNjNDBhOTQ0NzM2OTM2MDY0MzciXSxbIjM3NzVhYjcwODliYzZhZjgyM2FiYTJlMWFmNzBiMjM2ZDI1MWNhZGIwYzg2NzQzMjg3NTIyYTFiM2IwZGVkZWEiLCJiZTUyZDEwN2JjZmEwOWQ4YmNiOTczNmE4MjhjZmE3ZmFjOGRiMTdiZjdhNzZhMmM0MmFkOTYxNDA5MDE4Y2Y3Il0sWyJjZWUzMWNiZjdlMzRlYzM3OWQ5NGZiODE0ZDNkNzc1YWQ5NTQ1OTVkMTMxNGJhODg0Njk1OWUzZTgyZjc0ZTI2IiwiOGZkNjRhMTRjMDZiNTg5YzI2Yjk0N2FlMmJjZjZiZmEwMTQ5ZWYwYmUxNGVkNGQ4MGY0NDhhMDFjNDNiMWM2ZCJdLFsiYjRmOWVhZWEwOWI2OTE3NjE5ZjZlYTZhNGViNTQ2NGVmZGRiNThmZDQ1YjFlYmVmY2RjMWEwMWQwOGI0Nzk4NiIsIjM5ZTVjOTkyNWI1YTU0YjA3NDMzYTRmMThjNjE3MjZmOGJiMTMxYzAxMmNhNTQyZWIyNGE4YWMwNzIwMDY4MmEiXSxbImQ0MjYzZGZjM2QyZGY5MjNhMDE3OWE0ODk2NmQzMGNlODRlMjUxNWFmYzNkY2NjMWI3NzkwNzc5MmViY2M2MGUiLCI2MmRmYWYwN2EwZjc4ZmViMzBlMzBkNjI5NTg1M2NlMTg5ZTEyNzc2MGFkNmNmN2ZhZTE2NGUxMjJhMjA4ZDU0Il0sWyI0ODQ1NzUyNDgyMGZhNjVhNGY4ZDM1ZWI2OTMwODU3YzAwMzJhY2MwYTRhMmRlNDIyMjMzZWVkYTg5NzYxMmM0IiwiMjVhNzQ4YWIzNjc5NzlkOTg3MzNjMzhhMWZhMWMyZTdkYzZjYzA3ZGIyZDYwYTlhZTdhNzZhYWE0OWJkMGY3NyJdLFsiZGZlZWVmMTg4MTEwMWYyY2IxMTY0NGYzYTJhZmRmYzIwNDVlMTk5MTkxNTI5MjNmMzY3YTE3NjdjMTFjY2VkYSIsImVjZmI3MDU2Y2YxZGUwNDJmOTQyMGJhYjM5Njc5M2MwYzM5MGJkZTc0YjRiYmRmZjE2YTgzYWUwOWE5YTc1MTciXSxbIjZkN2VmNmIxNzU0M2Y4MzczYzU3M2Y0NGUxZjM4OTgzNWQ4OWJjYmM2MDYyY2VkMzZjODJkZjgzYjhmYWU4NTkiLCJjZDQ1MGVjMzM1NDM4OTg2ZGZlZmExMGM1N2ZlYTliY2M1MjFhMDk1OWIyZDgwYmJmNzRiMTkwZGNhNzEyZDEwIl0sWyJlNzU2MDVkNTkxMDJhNWEyNjg0NTAwZDNiOTkxZjJlM2YzYzg4YjkzMjI1NTQ3MDM1YWYyNWFmNjZlMDQ1NDFmIiwiZjVjNTQ3NTRhOGY3MWVlNTQwYjliNDg3Mjg0NzNlMzE0ZjcyOWFjNTMwOGIwNjkzODM2MDk5MGUyYmZhZDEyNSJdLFsiZWI5ODY2MGY0YzRkZmFhMDZhMmJlNDUzZDUwMjBiYzk5YTBjMmU2MGFiZTM4ODQ1N2RkNDNmZWZiMWVkNjIwYyIsIjZjYjlhODg3NmQ5Y2I4NTIwNjA5YWYzYWRkMjZjZDIwYTBhN2NkOGE5NDExMTMxY2U4NWY0NDEwMDA5OTIyM2UiXSxbIjEzZTg3YjAyN2Q4NTE0ZDM1OTM5ZjJlNjg5MmIxOTkyMjE1NDU5Njk0MTg4ODMzNmRjMzU2M2UzYjhkYmE5NDIiLCJmZWY1YTNjNjgwNTlhNmRlYzVkNjI0MTE0YmYxZTkxYWFjMmI5ZGE1NjhkNmFiZWIyNTcwZDU1NjQ2YjhhZGYxIl0sWyJlZTE2MzAyNmU5ZmQ2ZmUwMTdjMzhmMDZhNWJlNmZjMTI1NDI0YjM3MWNlMjcwOGU3YmY0NDkxNjkxZTU3NjRhIiwiMWFjYjI1MGYyNTVkZDYxYzQzZDk0Y2NjNjcwZDBmNThmNDlhZTNmYTE1Yjk2NjIzZTU0MzBkYTBhZDZjNjJiMiJdLFsiYjI2OGY1ZWY5YWQ1MWU0ZDc4ZGUzYTc1MGMyZGM4OWIxZTYyNmQ0MzUwNTg2Nzk5OTkzMmU1ZGIzM2FmM2Q4MCIsIjVmMzEwZDRiM2M5OWI5ZWJiMTlmNzdkNDFjMWRlZTAxOGNmMGQzNGZkNDE5MTYxNDAwM2U5NDVhMTIxNmU0MjMiXSxbImZmMDdmMzExOGE5ZGYwMzVlOWZhZDg1ZWI2YzdiZmU0MmIwMmYwMWNhOTljZWVhM2JmN2ZmZGJhOTNjNDc1MGQiLCI0MzgxMzZkNjAzZTg1OGEzYTVjNDQwYzM4ZWNjYmFkZGMxZDI5NDIxMTRlMmVkZGQ0NzQwZDA5OGNlZDFmMGQ4Il0sWyI4ZDhiOTg1NWM3YzA1MmEzNDE0NmZkMjBmZmI2NThiZWE0YjlmNjllMGQ4MjVlYmVjMTZlOGMzY2UyYjUyNmExIiwiY2RiNTU5ZWVkYzJkNzlmOTI2YmFmNDRmYjg0ZWE0ZDQ0YmNmNTBmZWU1MWQ3Y2ViMzBlMmU3ZjQ2MzAzNjc1OCJdLFsiNTJkYjBiNTM4NGRmYmYwNWJmYTlkNDcyZDdhZTI2ZGZlNGI4NTFjZWNhOTFiMWViYTU0MjYzMTgwZGEzMmI2MyIsImMzYjk5N2QwNTBlZTVkNDIzZWJhZjY2YTZkYjlmNTdiMzE4MGM5MDI4NzU2NzlkZTkyNGI2OWQ4NGE3YjM3NSJdLFsiZTYyZjk0OTBkM2Q1MWRhNjM5NWVmZDI0ZTgwOTE5Y2M3ZDBmMjljM2YzZmE0OGM2ZmZmNTQzYmVjYmQ0MzM1MiIsIjZkODlhZDdiYTQ4NzZiMGIyMmMyY2EyODBjNjgyODYyZjM0MmM4NTkxZjFkYWY1MTcwZTA3YmZkOWNjYWZhN2QiXSxbIjdmMzBlYTI0NzZiMzk5YjQ5NTc1MDljODhmNzdkMDE5MWFmYTJmZjVjYjdiMTRmZDZkOGU3ZDY1YWFhYjExOTMiLCJjYTVlZjdkNGIyMzFjOTRjM2IxNTM4OWE1ZjYzMTFlOWRhZmY3YmI2N2IxMDNlOTg4MGVmNGJmZjYzN2FjYWVjIl0sWyI1MDk4ZmYxZTFkOWYxNGZiNDZhMjEwZmFkYTZjOTAzZmVmMGZiN2I0YTFkZDFkOWFjNjBhMDM2MTgwMGI3YTAwIiwiOTczMTE0MWQ4MWZjOGY4MDg0ZDM3YzZlNzU0MjAwNmIzZWUxYjQwZDYwZGZlNTM2MmE1YjEzMmZkMTdkZGMwIl0sWyIzMmI3OGM3ZGU5ZWU1MTJhNzI4OTViZTZiOWNiZWZhNmUyZjNjNGNjY2U0NDVjOTZiOWYyYzgxZTI3NzhhZDU4IiwiZWUxODQ5ZjUxM2RmNzFlMzJlZmMzODk2ZWUyODI2MGM3M2JiODA1NDdhZTIyNzViYTQ5NzIzNzc5NGM4NzUzYyJdLFsiZTJjYjc0ZmRkYzhlOWZiY2QwNzZlZWYyYTdjNzJiMGNlMzdkNTBmMDgyNjlkZmMwNzRiNTgxNTUwNTQ3YTRmNyIsImQzYWEyZWQ3MWM5ZGQyMjQ3YTYyZGYwNjI3MzZlYjBiYWRkZWE5ZTM2MTIyZDJiZTg2NDFhYmNiMDA1Y2M0YTQiXSxbIjg0Mzg0NDc1NjZkNGQ3YmVkYWRjMjk5NDk2YWIzNTc0MjYwMDlhMzVmMjM1Y2IxNDFiZTBkOTljZDEwYWUzYTgiLCJjNGUxMDIwOTE2OTgwYTRkYTVkMDFhYzVlNmFkMzMwNzM0ZWYwZDc5MDY2MzFjNGYyMzkwNDI2YjJlZGQ3OTFmIl0sWyI0MTYyZDQ4OGI4OTQwMjAzOWI1ODRjNmZjNmMzMDg4NzA1ODdkOWM0NmY2NjBiODc4YWI2NWM4MmM3MTFkNjdlIiwiNjcxNjNlOTAzMjM2Mjg5Zjc3NmYyMmMyNWZiOGEzYWZjMTczMmYyYjg0YjRlOTVkYmRhNDdhZTVhMDg1MjY0OSJdLFsiM2ZhZDNmYTg0Y2FmMGYzNGYwZjg5YmZkMmRjZjU0ZmMxNzVkNzY3YWVjM2U1MDY4NGYzYmE0YTRiZjVmNjgzZCIsImNkMWJjN2NiNmNjNDA3YmIyZjBjYTY0N2M3MThhNzMwY2Y3MTg3MmU3ZDBkMmE1M2ZhMjBlZmNkZmU2MTgyNiJdLFsiNjc0ZjI2MDBhMzAwN2EwMDU2OGMxYTdjZTA1ZDA4MTZjMWZiODRiZjEzNzA3OThmMWM2OTUzMmZhZWIxYTg2YiIsIjI5OWQyMWY5NDEzZjMzYjNlZGY0M2IyNTcwMDQ1ODBiNzBkYjU3ZGEwYjE4MjI1OWUwOWVlY2M2OWUwZDM4YTUiXSxbImQzMmY0ZGE1NGFkZTc0YWJiODFiODE1YWQxZmIzYjI2M2Q4MmQ2YzY5MjcxNGJjZmY4N2QyOWJkNWVlOWYwOGYiLCJmOTQyOWU3MzhiOGU1M2I5NjhlOTkwMTZjMDU5NzA3NzgyZTE0ZjQ1MzUzNTlkNTgyZmM0MTY5MTBiM2VlYTg3Il0sWyIzMGU0ZTY3MDQzNTM4NTU1NmU1OTM2NTcxMzU4NDVkMzZmYmI2OTMxZjcyYjA4Y2IxZWQ5NTRmMWUzY2UzZmY2IiwiNDYyZjliY2U2MTk4OTg2Mzg0OTkzNTAxMTNiYmM5YjEwYTg3OGQzNWRhNzA3NDBkYzY5NWE1NTllYjg4ZGI3YiJdLFsiYmUyMDYyMDAzYzUxY2MzMDA0NjgyOTA0MzMwZTRkZWU3ZjNkY2QxMGIwMWU1ODBiZjE5NzFiMDRkNGNhZDI5NyIsIjYyMTg4YmM0OWQ2MWU1NDI4NTczZDQ4YTc0ZTFjNjU1YjFjNjEwOTA5MDU2ODJhMGQ1NTU4ZWQ3MmRjY2I5YmMiXSxbIjkzMTQ0NDIzYWNlMzQ1MWVkMjllMGZiOWFjMmFmMjExY2I2ZTg0YTYwMWRmNTk5M2M0MTk4NTlmZmY1ZGYwNGEiLCI3YzEwZGZiMTY0YzM0MjVmNWM3MWEzZjlkNzk5MjAzOGYxMDY1MjI0ZjcyYmI5ZDFkOTAyYTZkMTMwMzdiNDdjIl0sWyJiMDE1ZjgwNDRmNWZjYmRjZjIxY2EyNmQ2YzM0ZmI4MTk3ODI5MjA1YzdiN2QyYTdjYjY2NDE4YzE1N2IxMTJjIiwiYWI4YzFlMDg2ZDA0ZTgxMzc0NGE2NTViMmRmOGQ1ZjgzYjNjZGM2ZmFhMzA4OGMxZDNhZWExNDU0ZTNhMWQ1ZiJdLFsiZDVlOWUxZGE2NDlkOTdkODllNDg2ODExN2E0NjVhM2E0ZjhhMThkZTU3YTE0MGQzNmIzZjJhZjM0MWEyMWI1MiIsIjRjYjA0NDM3ZjM5MWVkNzMxMTFhMTNjYzFkNGRkMGRiMTY5MzQ2NWMyMjQwNDgwZDg5NTVlODU5MmYyNzQ0N2EiXSxbImQzYWU0MTA0N2RkN2NhMDY1ZGJmOGVkNzdiOTkyNDM5OTgzMDA1Y2Q3MmUxNmQ2Zjk5NmE1MzE2ZDM2OTY2YmIiLCJiZDFhZWIyMWFkMjJlYmIyMmExMGYwMzAzNDE3YzZkOTY0ZjhjZGQ3ZGYwYWNhNjE0YjEwZGMxNGQxMjVhYzQ2Il0sWyI0NjNlMjc2M2Q4ODVmOTU4ZmM2NmNkZDIyODAwZjBhNDg3MTk3ZDBhODJlMzc3YjQ5ZjgwYWY4N2M4OTdiMDY1IiwiYmZlZmFjZGIwZTVkMGZkN2RmM2EzMTFhOTRkZTA2MmIyNmI4MGM2MWZiYzk3NTA4Yjc5OTkyNjcxZWY3Y2E3ZiJdLFsiNzk4NWZkZmQxMjdjMDU2N2M2ZjUzZWMxYmI2M2VjMzE1OGU1OTdjNDBiZmU3NDdjODNjZGRmYzkxMDY0MTkxNyIsIjYwM2MxMmRhZjNkOTg2MmVmMmIyNWZlMWRlMjg5YWVkMjRlZDI5MWUwZWM2NzA4NzAzYTViZDU2N2YzMmVkMDMiXSxbIjc0YTFhZDZiNWY3NmUzOWRiMmRkMjQ5NDEwZWFjN2Y5OWU3NGM1OWNiODNkMmQwZWQ1ZmYxNTQzZGE3NzAzZTkiLCJjYzYxNTdlZjE4YzljNjNjZDYxOTNkODM2MzFiYmVhMDA5M2UwOTY4OTQyZThjMzNkNTczN2ZkNzkwZTBkYjA4Il0sWyIzMDY4MmE1MDcwMzM3NWY2MDJkNDE2NjY0YmExOWI3ZmM5YmFiNDJjNzI3NDc0NjNhNzFkMDg5NmIyMmY2ZGEzIiwiNTUzZTA0ZjZiMDE4YjRmYTZjOGYzOWU3ZjMxMWQzMTc2MjkwZDBlMGYxOWNhNzNmMTc3MTRkOTk3N2EyMmZmOCJdLFsiOWUyMTU4ZjBkN2MwZDVmMjZjMzc5MWVmZWZhNzk1OTc2NTRlN2EyYjI0NjRmNTJiMWVlNmMxMzQ3NzY5ZWY1NyIsIjcxMmZjZGQxYjkwNTNmMDkwMDNhMzQ4MWZhNzc2MmU5ZmZkN2M4ZWYzNWEzODUwOWUyZmJmMjYyOTAwODM3MyJdLFsiMTc2ZTI2OTg5YTQzYzljZmViYTQwMjljMjAyNTM4YzI4MTcyZTU2NmUzYzRmY2U3MzIyODU3ZjNiZTMyN2Q2NiIsImVkOGNjOWQwNGIyOWViODc3ZDI3MGI0ODc4ZGM0M2MxOWFlZmQzMWY0ZWVlMDllZTdiNDc4MzRjMWZhNGIxYzMiXSxbIjc1ZDQ2ZWZlYTM3NzFlNmU2OGFiYjg5YTEzYWQ3NDdlY2YxODkyMzkzZGZjNGYxYjcwMDQ3ODhjNTAzNzRkYTgiLCI5ODUyMzkwYTk5NTA3Njc5ZmQwYjg2ZmQyYjM5YTg2OGQ3ZWZjMjIxNTEzNDZlMWEzY2E0NzI2NTg2YTZiZWQ4Il0sWyI4MDlhMjBjNjdkNjQ5MDBmZmI2OThjNGM4MjVmNmQ1ZjIzMTBmYjA0NTFjODY5MzQ1YjczMTlmNjQ1NjA1NzIxIiwiOWU5OTQ5ODBkOTkxN2UyMmI3NmIwNjE5MjdmYTA0MTQzZDA5NmNjYzU0OTYzZTZhNWViZmE1ZjNmOGUyODZjMSJdLFsiMWIzODkwM2E0M2Y3ZjExNGVkNDUwMGI0ZWFjNzA4M2ZkZWZlY2UxY2YyOWM2MzUyOGQ1NjM0NDZmOTcyYzE4MCIsIjQwMzZlZGM5MzFhNjBhZTg4OTM1M2Y3N2ZkNTNkZTRhMjcwOGIyNmI2ZjVkYTcyYWQzMzk0MTE5ZGFmNDA4ZjkiXV19fX0se31dLDgxOltmdW5jdGlvbih0LGUscil7dmFyIG49cixpPXQoImJuLmpzIiksbz10KCJtaW5pbWFsaXN0aWMtYXNzZXJ0IiksYT10KCJtaW5pbWFsaXN0aWMtY3J5cHRvLXV0aWxzIik7bi5hc3NlcnQ9byxuLnRvQXJyYXk9YS50b0FycmF5LG4uemVybzI9YS56ZXJvMixuLnRvSGV4PWEudG9IZXgsbi5lbmNvZGU9YS5lbmNvZGUsbi5nZXROQUY9ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9W10sbj0xPDxlKzEsaT10LmNsb25lKCk7aS5jbXBuKDEpPj0wOyl7dmFyIG87aWYoaS5pc09kZCgpKXt2YXIgYT1pLmFuZGxuKG4tMSk7bz1hPihuPj4xKS0xPyhuPj4xKS1hOmEsaS5pc3VibihvKX1lbHNlIG89MDtyLnB1c2gobyk7Zm9yKHZhciBzPTAhPT1pLmNtcG4oMCkmJjA9PT1pLmFuZGxuKG4tMSk/ZSsxOjEsdT0xO3U8czt1Kyspci5wdXNoKDApO2kuaXVzaHJuKHMpfXJldHVybiByfSxuLmdldEpTRj1mdW5jdGlvbih0LGUpe3ZhciByPVtbXSxbXV07dD10LmNsb25lKCksZT1lLmNsb25lKCk7Zm9yKHZhciBuPTAsaT0wO3QuY21wbigtbik+MHx8ZS5jbXBuKC1pKT4wOyl7dmFyIG8sYSxzLHU9dC5hbmRsbigzKStuJjMsZj1lLmFuZGxuKDMpK2kmMzszPT09dSYmKHU9LTEpLDM9PT1mJiYoZj0tMSksbz0wPT0oMSZ1KT8wOjMhPShzPXQuYW5kbG4oNykrbiY3KSYmNSE9PXN8fDIhPT1mP3U6LXUsclswXS5wdXNoKG8pLGE9MD09KDEmZik/MDozIT0ocz1lLmFuZGxuKDcpK2kmNykmJjUhPT1zfHwyIT09dT9mOi1mLHJbMV0ucHVzaChhKSwyKm49PT1vKzEmJihuPTEtbiksMippPT09YSsxJiYoaT0xLWkpLHQuaXVzaHJuKDEpLGUuaXVzaHJuKDEpfXJldHVybiByfSxuLmNhY2hlZFByb3BlcnR5PWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj0iXyIrZTt0LnByb3RvdHlwZVtlXT1mdW5jdGlvbigpe3JldHVybiB2b2lkIDAhPT10aGlzW25dP3RoaXNbbl06dGhpc1tuXT1yLmNhbGwodGhpcyl9fSxuLnBhcnNlQnl0ZXM9ZnVuY3Rpb24odCl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0P24udG9BcnJheSh0LCJoZXgiKTp0fSxuLmludEZyb21MRT1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IGkodCwiaGV4IiwibGUiKX19LHsiYm4uanMiOiJCTiIsIm1pbmltYWxpc3RpYy1hc3NlcnQiOjEwNywibWluaW1hbGlzdGljLWNyeXB0by11dGlscyI6MTA4fV0sODI6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9e19hcmdzOltbe3JhdzoiZWxsaXB0aWNAXjYuMC4wIixzY29wZTpudWxsLGVzY2FwZWROYW1lOiJlbGxpcHRpYyIsbmFtZToiZWxsaXB0aWMiLHJhd1NwZWM6Il42LjAuMCIsc3BlYzoiPj02LjAuMCA8Ny4wLjAiLHR5cGU6InJhbmdlIn0sIi9Vc2Vycy9mcm96ZW1hbi9TaXRlcy9fZXRoZXJldW0vd2ViMy9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduIl1dLF9mcm9tOiJlbGxpcHRpY0A+PTYuMC4wIDw3LjAuMCIsX2lkOiJlbGxpcHRpY0A2LjQuMCIsX2luQ2FjaGU6ITAsX2xvY2F0aW9uOiIvZWxsaXB0aWMiLF9ub2RlVmVyc2lvbjoiNy4wLjAiLF9ucG1PcGVyYXRpb25hbEludGVybmFsOntob3N0OiJwYWNrYWdlcy0xOC1lYXN0LmludGVybmFsLm5wbWpzLmNvbSIsdG1wOiJ0bXAvZWxsaXB0aWMtNi40LjAudGd6XzE0ODc3OTg4NjY0MjhfMC4zMDUxMDYyMDE5MDc2MTk4MyJ9LF9ucG1Vc2VyOntuYW1lOiJpbmR1dG55IixlbWFpbDoiZmVkb3JAaW5kdXRueS5jb20ifSxfbnBtVmVyc2lvbjoiMy4xMC44IixfcGhhbnRvbUNoaWxkcmVuOnt9LF9yZXF1ZXN0ZWQ6e3JhdzoiZWxsaXB0aWNAXjYuMC4wIixzY29wZTpudWxsLGVzY2FwZWROYW1lOiJlbGxpcHRpYyIsbmFtZToiZWxsaXB0aWMiLHJhd1NwZWM6Il42LjAuMCIsc3BlYzoiPj02LjAuMCA8Ny4wLjAiLHR5cGU6InJhbmdlIn0sX3JlcXVpcmVkQnk6WyIvYnJvd3NlcmlmeS1zaWduIiwiL2NyZWF0ZS1lY2RoIiwiL3NlY3AyNTZrMSJdLF9yZXNvbHZlZDoiaHR0cHM6Ly9yZWdpc3RyeS5ucG1qcy5vcmcvZWxsaXB0aWMvLS9lbGxpcHRpYy02LjQuMC50Z3oiLF9zaGFzdW06ImNhYzlhZjg3NjJjODU4MzYxODcwMDNjOGRmZTE5M2U1ZTJlYWU1ZGYiLF9zaHJpbmt3cmFwOm51bGwsX3NwZWM6ImVsbGlwdGljQF42LjAuMCIsX3doZXJlOiIvVXNlcnMvZnJvemVtYW4vU2l0ZXMvX2V0aGVyZXVtL3dlYjMvbm9kZV9tb2R1bGVzL2Jyb3dzZXJpZnktc2lnbiIsYXV0aG9yOntuYW1lOiJGZWRvciBJbmR1dG55IixlbWFpbDoiZmVkb3JAaW5kdXRueS5jb20ifSxidWdzOnt1cmw6Imh0dHBzOi8vZ2l0aHViLmNvbS9pbmR1dG55L2VsbGlwdGljL2lzc3VlcyJ9LGRlcGVuZGVuY2llczp7ImJuLmpzIjoiXjQuNC4wIixicm9yYW5kOiJeMS4wLjEiLCJoYXNoLmpzIjoiXjEuMC4wIiwiaG1hYy1kcmJnIjoiXjEuMC4wIixpbmhlcml0czoiXjIuMC4xIiwibWluaW1hbGlzdGljLWFzc2VydCI6Il4xLjAuMCIsIm1pbmltYWxpc3RpYy1jcnlwdG8tdXRpbHMiOiJeMS4wLjAifSxkZXNjcmlwdGlvbjoiRUMgY3J5cHRvZ3JhcGh5IixkZXZEZXBlbmRlbmNpZXM6e2JyZnM6Il4xLjQuMyIsY292ZXJhbGxzOiJeMi4xMS4zIixncnVudDoiXjAuNC41IiwiZ3J1bnQtYnJvd3NlcmlmeSI6Il41LjAuMCIsImdydW50LWNsaSI6Il4xLjIuMCIsImdydW50LWNvbnRyaWItY29ubmVjdCI6Il4xLjAuMCIsImdydW50LWNvbnRyaWItY29weSI6Il4xLjAuMCIsImdydW50LWNvbnRyaWItdWdsaWZ5IjoiXjEuMC4xIiwiZ3J1bnQtbW9jaGEtaXN0YW5idWwiOiJeMy4wLjEiLCJncnVudC1zYXVjZWxhYnMiOiJeOC42LjIiLGlzdGFuYnVsOiJeMC40LjIiLGpzY3M6Il4yLjkuMCIsanNoaW50OiJeMi42LjAiLG1vY2hhOiJeMi4xLjAifSxkaXJlY3Rvcmllczp7fSxkaXN0OntzaGFzdW06ImNhYzlhZjg3NjJjODU4MzYxODcwMDNjOGRmZTE5M2U1ZTJlYWU1ZGYiLHRhcmJhbGw6Imh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2VsbGlwdGljLy0vZWxsaXB0aWMtNi40LjAudGd6In0sZmlsZXM6WyJsaWIiXSxnaXRIZWFkOiI2YjBkMmI3NmNhYWU5MTQ3MTY0OWM4ZTIxZjBiMWQzYmEwZjk2MDkwIixob21lcGFnZToiaHR0cHM6Ly9naXRodWIuY29tL2luZHV0bnkvZWxsaXB0aWMiLGtleXdvcmRzOlsiRUMiLCJFbGxpcHRpYyIsImN1cnZlIiwiQ3J5cHRvZ3JhcGh5Il0sbGljZW5zZToiTUlUIixtYWluOiJsaWIvZWxsaXB0aWMuanMiLG1haW50YWluZXJzOlt7bmFtZToiaW5kdXRueSIsZW1haWw6ImZlZG9yQGluZHV0bnkuY29tIn1dLG5hbWU6ImVsbGlwdGljIixvcHRpb25hbERlcGVuZGVuY2llczp7fSxyZWFkbWU6IkVSUk9SOiBObyBSRUFETUUgZGF0YSBmb3VuZCEiLHJlcG9zaXRvcnk6e3R5cGU6ImdpdCIsdXJsOiJnaXQrc3NoOi8vZ2l0QGdpdGh1Yi5jb20vaW5kdXRueS9lbGxpcHRpYy5naXQifSxzY3JpcHRzOntqc2NzOiJqc2NzIGJlbmNobWFya3MvKi5qcyBsaWIvKi5qcyBsaWIvKiovKi5qcyBsaWIvKiovKiovKi5qcyB0ZXN0L2luZGV4LmpzIixqc2hpbnQ6ImpzY3MgYmVuY2htYXJrcy8qLmpzIGxpYi8qLmpzIGxpYi8qKi8qLmpzIGxpYi8qKi8qKi8qLmpzIHRlc3QvaW5kZXguanMiLGxpbnQ6Im5wbSBydW4ganNjcyAmJiBucG0gcnVuIGpzaGludCIsdGVzdDoibnBtIHJ1biBsaW50ICYmIG5wbSBydW4gdW5pdCIsdW5pdDoiaXN0YW5idWwgdGVzdCBfbW9jaGEgLS1yZXBvcnRlcj1zcGVjIHRlc3QvaW5kZXguanMiLHZlcnNpb246ImdydW50IGRpc3QgJiYgZ2l0IGFkZCBkaXN0LyJ9LHZlcnNpb246IjYuNC4wIn19LHt9XSw4MzpbZnVuY3Rpb24odCxlLHIpe2Z1bmN0aW9uIG4oKXt0aGlzLl9ldmVudHM9dGhpcy5fZXZlbnRzfHx7fSx0aGlzLl9tYXhMaXN0ZW5lcnM9dGhpcy5fbWF4TGlzdGVuZXJzfHx2b2lkIDB9ZnVuY3Rpb24gaSh0KXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgdH1mdW5jdGlvbiBvKHQpe3JldHVybiJvYmplY3QiPT09KHZvaWQgMD09PXQ/InVuZGVmaW5lZCI6X3R5cGVvZih0KSkmJm51bGwhPT10fWZ1bmN0aW9uIGEodCl7cmV0dXJuIHZvaWQgMD09PXR9ZS5leHBvcnRzPW4sbi5FdmVudEVtaXR0ZXI9bixuLnByb3RvdHlwZS5fZXZlbnRzPXZvaWQgMCxuLnByb3RvdHlwZS5fbWF4TGlzdGVuZXJzPXZvaWQgMCxuLmRlZmF1bHRNYXhMaXN0ZW5lcnM9MTAsbi5wcm90b3R5cGUuc2V0TWF4TGlzdGVuZXJzPWZ1bmN0aW9uKHQpe2lmKCJudW1iZXIiIT10eXBlb2YgdHx8dDwwfHxpc05hTih0KSl0aHJvdyBUeXBlRXJyb3IoIm4gbXVzdCBiZSBhIHBvc2l0aXZlIG51bWJlciIpO3JldHVybiB0aGlzLl9tYXhMaXN0ZW5lcnM9dCx0aGlzfSxuLnByb3RvdHlwZS5lbWl0PWZ1bmN0aW9uKHQpe3ZhciBlLHIsbixzLHUsZjtpZih0aGlzLl9ldmVudHN8fCh0aGlzLl9ldmVudHM9e30pLCJlcnJvciI9PT10JiYoIXRoaXMuX2V2ZW50cy5lcnJvcnx8byh0aGlzLl9ldmVudHMuZXJyb3IpJiYhdGhpcy5fZXZlbnRzLmVycm9yLmxlbmd0aCkpe2lmKChlPWFyZ3VtZW50c1sxXSlpbnN0YW5jZW9mIEVycm9yKXRocm93IGU7dmFyIGM9bmV3IEVycm9yKCdVbmNhdWdodCwgdW5zcGVjaWZpZWQgImVycm9yIiBldmVudC4gKCcrZSsiKSIpO3Rocm93IGMuY29udGV4dD1lLGN9aWYoYShyPXRoaXMuX2V2ZW50c1t0XSkpcmV0dXJuITE7aWYoaShyKSlzd2l0Y2goYXJndW1lbnRzLmxlbmd0aCl7Y2FzZSAxOnIuY2FsbCh0aGlzKTticmVhaztjYXNlIDI6ci5jYWxsKHRoaXMsYXJndW1lbnRzWzFdKTticmVhaztjYXNlIDM6ci5jYWxsKHRoaXMsYXJndW1lbnRzWzFdLGFyZ3VtZW50c1syXSk7YnJlYWs7ZGVmYXVsdDpzPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKSxyLmFwcGx5KHRoaXMscyl9ZWxzZSBpZihvKHIpKWZvcihzPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKSxuPShmPXIuc2xpY2UoKSkubGVuZ3RoLHU9MDt1PG47dSsrKWZbdV0uYXBwbHkodGhpcyxzKTtyZXR1cm4hMH0sbi5wcm90b3R5cGUuYWRkTGlzdGVuZXI9ZnVuY3Rpb24odCxlKXt2YXIgcjtpZighaShlKSl0aHJvdyBUeXBlRXJyb3IoImxpc3RlbmVyIG11c3QgYmUgYSBmdW5jdGlvbiIpO3JldHVybiB0aGlzLl9ldmVudHN8fCh0aGlzLl9ldmVudHM9e30pLHRoaXMuX2V2ZW50cy5uZXdMaXN0ZW5lciYmdGhpcy5lbWl0KCJuZXdMaXN0ZW5lciIsdCxpKGUubGlzdGVuZXIpP2UubGlzdGVuZXI6ZSksdGhpcy5fZXZlbnRzW3RdP28odGhpcy5fZXZlbnRzW3RdKT90aGlzLl9ldmVudHNbdF0ucHVzaChlKTp0aGlzLl9ldmVudHNbdF09W3RoaXMuX2V2ZW50c1t0XSxlXTp0aGlzLl9ldmVudHNbdF09ZSxvKHRoaXMuX2V2ZW50c1t0XSkmJiF0aGlzLl9ldmVudHNbdF0ud2FybmVkJiYocj1hKHRoaXMuX21heExpc3RlbmVycyk/bi5kZWZhdWx0TWF4TGlzdGVuZXJzOnRoaXMuX21heExpc3RlbmVycykmJnI+MCYmdGhpcy5fZXZlbnRzW3RdLmxlbmd0aD5yJiYodGhpcy5fZXZlbnRzW3RdLndhcm5lZD0hMCxjb25zb2xlLmVycm9yKCIobm9kZSkgd2FybmluZzogcG9zc2libGUgRXZlbnRFbWl0dGVyIG1lbW9yeSBsZWFrIGRldGVjdGVkLiAlZCBsaXN0ZW5lcnMgYWRkZWQuIFVzZSBlbWl0dGVyLnNldE1heExpc3RlbmVycygpIHRvIGluY3JlYXNlIGxpbWl0LiIsdGhpcy5fZXZlbnRzW3RdLmxlbmd0aCksImZ1bmN0aW9uIj09dHlwZW9mIGNvbnNvbGUudHJhY2UmJmNvbnNvbGUudHJhY2UoKSksdGhpc30sbi5wcm90b3R5cGUub249bi5wcm90b3R5cGUuYWRkTGlzdGVuZXIsbi5wcm90b3R5cGUub25jZT1mdW5jdGlvbih0LGUpe2lmKCFpKGUpKXRocm93IFR5cGVFcnJvcigibGlzdGVuZXIgbXVzdCBiZSBhIGZ1bmN0aW9uIik7dmFyIHI9ITE7ZnVuY3Rpb24gbigpe3RoaXMucmVtb3ZlTGlzdGVuZXIodCxuKSxyfHwocj0hMCxlLmFwcGx5KHRoaXMsYXJndW1lbnRzKSl9cmV0dXJuIG4ubGlzdGVuZXI9ZSx0aGlzLm9uKHQsbiksdGhpc30sbi5wcm90b3R5cGUucmVtb3ZlTGlzdGVuZXI9ZnVuY3Rpb24odCxlKXt2YXIgcixuLGEscztpZighaShlKSl0aHJvdyBUeXBlRXJyb3IoImxpc3RlbmVyIG11c3QgYmUgYSBmdW5jdGlvbiIpO2lmKCF0aGlzLl9ldmVudHN8fCF0aGlzLl9ldmVudHNbdF0pcmV0dXJuIHRoaXM7aWYoYT0ocj10aGlzLl9ldmVudHNbdF0pLmxlbmd0aCxuPS0xLHI9PT1lfHxpKHIubGlzdGVuZXIpJiZyLmxpc3RlbmVyPT09ZSlkZWxldGUgdGhpcy5fZXZlbnRzW3RdLHRoaXMuX2V2ZW50cy5yZW1vdmVMaXN0ZW5lciYmdGhpcy5lbWl0KCJyZW1vdmVMaXN0ZW5lciIsdCxlKTtlbHNlIGlmKG8ocikpe2ZvcihzPWE7cy0tID4wOylpZihyW3NdPT09ZXx8cltzXS5saXN0ZW5lciYmcltzXS5saXN0ZW5lcj09PWUpe249czticmVha31pZihuPDApcmV0dXJuIHRoaXM7MT09PXIubGVuZ3RoPyhyLmxlbmd0aD0wLGRlbGV0ZSB0aGlzLl9ldmVudHNbdF0pOnIuc3BsaWNlKG4sMSksdGhpcy5fZXZlbnRzLnJlbW92ZUxpc3RlbmVyJiZ0aGlzLmVtaXQoInJlbW92ZUxpc3RlbmVyIix0LGUpfXJldHVybiB0aGlzfSxuLnByb3RvdHlwZS5yZW1vdmVBbGxMaXN0ZW5lcnM9ZnVuY3Rpb24odCl7dmFyIGUscjtpZighdGhpcy5fZXZlbnRzKXJldHVybiB0aGlzO2lmKCF0aGlzLl9ldmVudHMucmVtb3ZlTGlzdGVuZXIpcmV0dXJuIDA9PT1hcmd1bWVudHMubGVuZ3RoP3RoaXMuX2V2ZW50cz17fTp0aGlzLl9ldmVudHNbdF0mJmRlbGV0ZSB0aGlzLl9ldmVudHNbdF0sdGhpcztpZigwPT09YXJndW1lbnRzLmxlbmd0aCl7Zm9yKGUgaW4gdGhpcy5fZXZlbnRzKSJyZW1vdmVMaXN0ZW5lciIhPT1lJiZ0aGlzLnJlbW92ZUFsbExpc3RlbmVycyhlKTtyZXR1cm4gdGhpcy5yZW1vdmVBbGxMaXN0ZW5lcnMoInJlbW92ZUxpc3RlbmVyIiksdGhpcy5fZXZlbnRzPXt9LHRoaXN9aWYoaShyPXRoaXMuX2V2ZW50c1t0XSkpdGhpcy5yZW1vdmVMaXN0ZW5lcih0LHIpO2Vsc2UgaWYocilmb3IoO3IubGVuZ3RoOyl0aGlzLnJlbW92ZUxpc3RlbmVyKHQscltyLmxlbmd0aC0xXSk7cmV0dXJuIGRlbGV0ZSB0aGlzLl9ldmVudHNbdF0sdGhpc30sbi5wcm90b3R5cGUubGlzdGVuZXJzPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9ldmVudHMmJnRoaXMuX2V2ZW50c1t0XT9pKHRoaXMuX2V2ZW50c1t0XSk/W3RoaXMuX2V2ZW50c1t0XV06dGhpcy5fZXZlbnRzW3RdLnNsaWNlKCk6W119LG4ucHJvdG90eXBlLmxpc3RlbmVyQ291bnQ9ZnVuY3Rpb24odCl7aWYodGhpcy5fZXZlbnRzKXt2YXIgZT10aGlzLl9ldmVudHNbdF07aWYoaShlKSlyZXR1cm4gMTtpZihlKXJldHVybiBlLmxlbmd0aH1yZXR1cm4gMH0sbi5saXN0ZW5lckNvdW50PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQubGlzdGVuZXJDb3VudChlKX19LHt9XSw4NDpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQoInNhZmUtYnVmZmVyIikuQnVmZmVyLGk9dCgibWQ1LmpzIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyLG8pe2lmKG4uaXNCdWZmZXIodCl8fCh0PW4uZnJvbSh0LCJiaW5hcnkiKSksZSYmKG4uaXNCdWZmZXIoZSl8fChlPW4uZnJvbShlLCJiaW5hcnkiKSksOCE9PWUubGVuZ3RoKSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigic2FsdCBzaG91bGQgYmUgQnVmZmVyIHdpdGggOCBieXRlIGxlbmd0aCIpO2Zvcih2YXIgYT1yLzgscz1uLmFsbG9jKGEpLHU9bi5hbGxvYyhvfHwwKSxmPW4uYWxsb2MoMCk7YT4wfHxvPjA7KXt2YXIgYz1uZXcgaTtjLnVwZGF0ZShmKSxjLnVwZGF0ZSh0KSxlJiZjLnVwZGF0ZShlKSxmPWMuZGlnZXN0KCk7dmFyIGg9MDtpZihhPjApe3ZhciBkPXMubGVuZ3RoLWE7aD1NYXRoLm1pbihhLGYubGVuZ3RoKSxmLmNvcHkocyxkLDAsaCksYS09aH1pZihoPGYubGVuZ3RoJiZvPjApe3ZhciBsPXUubGVuZ3RoLW8scD1NYXRoLm1pbihvLGYubGVuZ3RoLWgpO2YuY29weSh1LGwsaCxoK3ApLG8tPXB9fXJldHVybiBmLmZpbGwoMCkse2tleTpzLGl2OnV9fX0seyJtZDUuanMiOjEwNCwic2FmZS1idWZmZXIiOjE0N31dLDg1OltmdW5jdGlvbih0LGUscil7KGZ1bmN0aW9uKHIpe3ZhciBuPXQoInN0cmVhbSIpLlRyYW5zZm9ybTtmdW5jdGlvbiBpKHQpe24uY2FsbCh0aGlzKSx0aGlzLl9ibG9jaz1uZXcgcih0KSx0aGlzLl9ibG9ja1NpemU9dCx0aGlzLl9ibG9ja09mZnNldD0wLHRoaXMuX2xlbmd0aD1bMCwwLDAsMF0sdGhpcy5fZmluYWxpemVkPSExfXQoImluaGVyaXRzIikoaSxuKSxpLnByb3RvdHlwZS5fdHJhbnNmb3JtPWZ1bmN0aW9uKHQsZSxuKXt2YXIgaT1udWxsO3RyeXsiYnVmZmVyIiE9PWUmJih0PW5ldyByKHQsZSkpLHRoaXMudXBkYXRlKHQpfWNhdGNoKHQpe2k9dH1uKGkpfSxpLnByb3RvdHlwZS5fZmx1c2g9ZnVuY3Rpb24odCl7dmFyIGU9bnVsbDt0cnl7dGhpcy5wdXNoKHRoaXMuX2RpZ2VzdCgpKX1jYXRjaCh0KXtlPXR9dChlKX0saS5wcm90b3R5cGUudXBkYXRlPWZ1bmN0aW9uKHQsZSl7aWYoIXIuaXNCdWZmZXIodCkmJiJzdHJpbmciIT10eXBlb2YgdCl0aHJvdyBuZXcgVHlwZUVycm9yKCJEYXRhIG11c3QgYmUgYSBzdHJpbmcgb3IgYSBidWZmZXIiKTtpZih0aGlzLl9maW5hbGl6ZWQpdGhyb3cgbmV3IEVycm9yKCJEaWdlc3QgYWxyZWFkeSBjYWxsZWQiKTtyLmlzQnVmZmVyKHQpfHwodD1uZXcgcih0LGV8fCJiaW5hcnkiKSk7Zm9yKHZhciBuPXRoaXMuX2Jsb2NrLGk9MDt0aGlzLl9ibG9ja09mZnNldCt0Lmxlbmd0aC1pPj10aGlzLl9ibG9ja1NpemU7KXtmb3IodmFyIG89dGhpcy5fYmxvY2tPZmZzZXQ7bzx0aGlzLl9ibG9ja1NpemU7KW5bbysrXT10W2krK107dGhpcy5fdXBkYXRlKCksdGhpcy5fYmxvY2tPZmZzZXQ9MH1mb3IoO2k8dC5sZW5ndGg7KW5bdGhpcy5fYmxvY2tPZmZzZXQrK109dFtpKytdO2Zvcih2YXIgYT0wLHM9OCp0Lmxlbmd0aDtzPjA7KythKXRoaXMuX2xlbmd0aFthXSs9cywocz10aGlzLl9sZW5ndGhbYV0vNDI5NDk2NzI5NnwwKT4wJiYodGhpcy5fbGVuZ3RoW2FdLT00Mjk0OTY3Mjk2KnMpO3JldHVybiB0aGlzfSxpLnByb3RvdHlwZS5fdXBkYXRlPWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcigiX3VwZGF0ZSBpcyBub3QgaW1wbGVtZW50ZWQiKX0saS5wcm90b3R5cGUuZGlnZXN0PWZ1bmN0aW9uKHQpe2lmKHRoaXMuX2ZpbmFsaXplZCl0aHJvdyBuZXcgRXJyb3IoIkRpZ2VzdCBhbHJlYWR5IGNhbGxlZCIpO3RoaXMuX2ZpbmFsaXplZD0hMDt2YXIgZT10aGlzLl9kaWdlc3QoKTtyZXR1cm4gdm9pZCAwIT09dCYmKGU9ZS50b1N0cmluZyh0KSksZX0saS5wcm90b3R5cGUuX2RpZ2VzdD1mdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcigiX2RpZ2VzdCBpcyBub3QgaW1wbGVtZW50ZWQiKX0sZS5leHBvcnRzPWl9KS5jYWxsKHRoaXMsdCgiYnVmZmVyIikuQnVmZmVyKX0se2J1ZmZlcjo0Nyxpbmhlcml0czoxMDEsc3RyZWFtOjE1Nn1dLDg2OltmdW5jdGlvbih0LGUscil7dmFyIG49cjtuLnV0aWxzPXQoIi4vaGFzaC91dGlscyIpLG4uY29tbW9uPXQoIi4vaGFzaC9jb21tb24iKSxuLnNoYT10KCIuL2hhc2gvc2hhIiksbi5yaXBlbWQ9dCgiLi9oYXNoL3JpcGVtZCIpLG4uaG1hYz10KCIuL2hhc2gvaG1hYyIpLG4uc2hhMT1uLnNoYS5zaGExLG4uc2hhMjU2PW4uc2hhLnNoYTI1NixuLnNoYTIyND1uLnNoYS5zaGEyMjQsbi5zaGEzODQ9bi5zaGEuc2hhMzg0LG4uc2hhNTEyPW4uc2hhLnNoYTUxMixuLnJpcGVtZDE2MD1uLnJpcGVtZC5yaXBlbWQxNjB9LHsiLi9oYXNoL2NvbW1vbiI6ODcsIi4vaGFzaC9obWFjIjo4OCwiLi9oYXNoL3JpcGVtZCI6ODksIi4vaGFzaC9zaGEiOjkwLCIuL2hhc2gvdXRpbHMiOjk3fV0sODc6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbj10KCIuL3V0aWxzIiksaT10KCJtaW5pbWFsaXN0aWMtYXNzZXJ0Iik7ZnVuY3Rpb24gbygpe3RoaXMucGVuZGluZz1udWxsLHRoaXMucGVuZGluZ1RvdGFsPTAsdGhpcy5ibG9ja1NpemU9dGhpcy5jb25zdHJ1Y3Rvci5ibG9ja1NpemUsdGhpcy5vdXRTaXplPXRoaXMuY29uc3RydWN0b3Iub3V0U2l6ZSx0aGlzLmhtYWNTdHJlbmd0aD10aGlzLmNvbnN0cnVjdG9yLmhtYWNTdHJlbmd0aCx0aGlzLnBhZExlbmd0aD10aGlzLmNvbnN0cnVjdG9yLnBhZExlbmd0aC84LHRoaXMuZW5kaWFuPSJiaWciLHRoaXMuX2RlbHRhOD10aGlzLmJsb2NrU2l6ZS84LHRoaXMuX2RlbHRhMzI9dGhpcy5ibG9ja1NpemUvMzJ9ci5CbG9ja0hhc2g9byxvLnByb3RvdHlwZS51cGRhdGU9ZnVuY3Rpb24odCxlKXtpZih0PW4udG9BcnJheSh0LGUpLHRoaXMucGVuZGluZz90aGlzLnBlbmRpbmc9dGhpcy5wZW5kaW5nLmNvbmNhdCh0KTp0aGlzLnBlbmRpbmc9dCx0aGlzLnBlbmRpbmdUb3RhbCs9dC5sZW5ndGgsdGhpcy5wZW5kaW5nLmxlbmd0aD49dGhpcy5fZGVsdGE4KXt2YXIgcj0odD10aGlzLnBlbmRpbmcpLmxlbmd0aCV0aGlzLl9kZWx0YTg7dGhpcy5wZW5kaW5nPXQuc2xpY2UodC5sZW5ndGgtcix0Lmxlbmd0aCksMD09PXRoaXMucGVuZGluZy5sZW5ndGgmJih0aGlzLnBlbmRpbmc9bnVsbCksdD1uLmpvaW4zMih0LDAsdC5sZW5ndGgtcix0aGlzLmVuZGlhbik7Zm9yKHZhciBpPTA7aTx0Lmxlbmd0aDtpKz10aGlzLl9kZWx0YTMyKXRoaXMuX3VwZGF0ZSh0LGksaSt0aGlzLl9kZWx0YTMyKX1yZXR1cm4gdGhpc30sby5wcm90b3R5cGUuZGlnZXN0PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnVwZGF0ZSh0aGlzLl9wYWQoKSksaShudWxsPT09dGhpcy5wZW5kaW5nKSx0aGlzLl9kaWdlc3QodCl9LG8ucHJvdG90eXBlLl9wYWQ9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLnBlbmRpbmdUb3RhbCxlPXRoaXMuX2RlbHRhOCxyPWUtKHQrdGhpcy5wYWRMZW5ndGgpJWUsbj1uZXcgQXJyYXkocit0aGlzLnBhZExlbmd0aCk7blswXT0xMjg7Zm9yKHZhciBpPTE7aTxyO2krKyluW2ldPTA7aWYodDw8PTMsImJpZyI9PT10aGlzLmVuZGlhbil7Zm9yKHZhciBvPTg7bzx0aGlzLnBhZExlbmd0aDtvKyspbltpKytdPTA7bltpKytdPTAsbltpKytdPTAsbltpKytdPTAsbltpKytdPTAsbltpKytdPXQ+Pj4yNCYyNTUsbltpKytdPXQ+Pj4xNiYyNTUsbltpKytdPXQ+Pj44JjI1NSxuW2krK109MjU1JnR9ZWxzZSBmb3IobltpKytdPTI1NSZ0LG5baSsrXT10Pj4+OCYyNTUsbltpKytdPXQ+Pj4xNiYyNTUsbltpKytdPXQ+Pj4yNCYyNTUsbltpKytdPTAsbltpKytdPTAsbltpKytdPTAsbltpKytdPTAsbz04O288dGhpcy5wYWRMZW5ndGg7bysrKW5baSsrXT0wO3JldHVybiBufX0seyIuL3V0aWxzIjo5NywibWluaW1hbGlzdGljLWFzc2VydCI6MTA3fV0sODg6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbj10KCIuL3V0aWxzIiksaT10KCJtaW5pbWFsaXN0aWMtYXNzZXJ0Iik7ZnVuY3Rpb24gbyh0LGUscil7aWYoISh0aGlzIGluc3RhbmNlb2YgbykpcmV0dXJuIG5ldyBvKHQsZSxyKTt0aGlzLkhhc2g9dCx0aGlzLmJsb2NrU2l6ZT10LmJsb2NrU2l6ZS84LHRoaXMub3V0U2l6ZT10Lm91dFNpemUvOCx0aGlzLmlubmVyPW51bGwsdGhpcy5vdXRlcj1udWxsLHRoaXMuX2luaXQobi50b0FycmF5KGUscikpfWUuZXhwb3J0cz1vLG8ucHJvdG90eXBlLl9pbml0PWZ1bmN0aW9uKHQpe3QubGVuZ3RoPnRoaXMuYmxvY2tTaXplJiYodD0obmV3IHRoaXMuSGFzaCkudXBkYXRlKHQpLmRpZ2VzdCgpKSxpKHQubGVuZ3RoPD10aGlzLmJsb2NrU2l6ZSk7Zm9yKHZhciBlPXQubGVuZ3RoO2U8dGhpcy5ibG9ja1NpemU7ZSsrKXQucHVzaCgwKTtmb3IoZT0wO2U8dC5sZW5ndGg7ZSsrKXRbZV1ePTU0O2Zvcih0aGlzLmlubmVyPShuZXcgdGhpcy5IYXNoKS51cGRhdGUodCksZT0wO2U8dC5sZW5ndGg7ZSsrKXRbZV1ePTEwNjt0aGlzLm91dGVyPShuZXcgdGhpcy5IYXNoKS51cGRhdGUodCl9LG8ucHJvdG90eXBlLnVwZGF0ZT1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLmlubmVyLnVwZGF0ZSh0LGUpLHRoaXN9LG8ucHJvdG90eXBlLmRpZ2VzdD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vdXRlci51cGRhdGUodGhpcy5pbm5lci5kaWdlc3QoKSksdGhpcy5vdXRlci5kaWdlc3QodCl9fSx7Ii4vdXRpbHMiOjk3LCJtaW5pbWFsaXN0aWMtYXNzZXJ0IjoxMDd9XSw4OTpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQoIi4vdXRpbHMiKSxpPXQoIi4vY29tbW9uIiksbz1uLnJvdGwzMixhPW4uc3VtMzIscz1uLnN1bTMyXzMsdT1uLnN1bTMyXzQsZj1pLkJsb2NrSGFzaDtmdW5jdGlvbiBjKCl7aWYoISh0aGlzIGluc3RhbmNlb2YgYykpcmV0dXJuIG5ldyBjO2YuY2FsbCh0aGlzKSx0aGlzLmg9WzE3MzI1ODQxOTMsNDAyMzIzMzQxNywyNTYyMzgzMTAyLDI3MTczMzg3OCwzMjg1Mzc3NTIwXSx0aGlzLmVuZGlhbj0ibGl0dGxlIn1mdW5jdGlvbiBoKHQsZSxyLG4pe3JldHVybiB0PD0xNT9lXnJebjp0PD0zMT9lJnJ8fmUmbjp0PD00Nz8oZXx+cilebjp0PD02Mz9lJm58ciZ+bjplXihyfH5uKX1mdW5jdGlvbiBkKHQpe3JldHVybiB0PD0xNT8wOnQ8PTMxPzE1MTg1MDAyNDk6dDw9NDc/MTg1OTc3NTM5Mzp0PD02Mz8yNDAwOTU5NzA4OjI4NDA4NTM4Mzh9ZnVuY3Rpb24gbCh0KXtyZXR1cm4gdDw9MTU/MTM1MjgyOTkyNjp0PD0zMT8xNTQ4NjAzNjg0OnQ8PTQ3PzE4MzYwNzI2OTE6dDw9NjM/MjA1Mzk5NDIxNzowfW4uaW5oZXJpdHMoYyxmKSxyLnJpcGVtZDE2MD1jLGMuYmxvY2tTaXplPTUxMixjLm91dFNpemU9MTYwLGMuaG1hY1N0cmVuZ3RoPTE5MixjLnBhZExlbmd0aD02NCxjLnByb3RvdHlwZS5fdXBkYXRlPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPXRoaXMuaFswXSxuPXRoaXMuaFsxXSxpPXRoaXMuaFsyXSxmPXRoaXMuaFszXSxjPXRoaXMuaFs0XSx2PXIsZz1uLHc9aSxfPWYsTT1jLHg9MDt4PDgwO3grKyl7dmFyIGs9YShvKHUocixoKHgsbixpLGYpLHRbcFt4XStlXSxkKHgpKSxtW3hdKSxjKTtyPWMsYz1mLGY9byhpLDEwKSxpPW4sbj1rLGs9YShvKHUodixoKDc5LXgsZyx3LF8pLHRbYlt4XStlXSxsKHgpKSx5W3hdKSxNKSx2PU0sTT1fLF89byh3LDEwKSx3PWcsZz1rfWs9cyh0aGlzLmhbMV0saSxfKSx0aGlzLmhbMV09cyh0aGlzLmhbMl0sZixNKSx0aGlzLmhbMl09cyh0aGlzLmhbM10sYyx2KSx0aGlzLmhbM109cyh0aGlzLmhbNF0scixnKSx0aGlzLmhbNF09cyh0aGlzLmhbMF0sbix3KSx0aGlzLmhbMF09a30sYy5wcm90b3R5cGUuX2RpZ2VzdD1mdW5jdGlvbih0KXtyZXR1cm4iaGV4Ij09PXQ/bi50b0hleDMyKHRoaXMuaCwibGl0dGxlIik6bi5zcGxpdDMyKHRoaXMuaCwibGl0dGxlIil9O3ZhciBwPVswLDEsMiwzLDQsNSw2LDcsOCw5LDEwLDExLDEyLDEzLDE0LDE1LDcsNCwxMywxLDEwLDYsMTUsMywxMiwwLDksNSwyLDE0LDExLDgsMywxMCwxNCw0LDksMTUsOCwxLDIsNywwLDYsMTMsMTEsNSwxMiwxLDksMTEsMTAsMCw4LDEyLDQsMTMsMyw3LDE1LDE0LDUsNiwyLDQsMCw1LDksNywxMiwyLDEwLDE0LDEsMyw4LDExLDYsMTUsMTNdLGI9WzUsMTQsNywwLDksMiwxMSw0LDEzLDYsMTUsOCwxLDEwLDMsMTIsNiwxMSwzLDcsMCwxMyw1LDEwLDE0LDE1LDgsMTIsNCw5LDEsMiwxNSw1LDEsMyw3LDE0LDYsOSwxMSw4LDEyLDIsMTAsMCw0LDEzLDgsNiw0LDEsMywxMSwxNSwwLDUsMTIsMiwxMyw5LDcsMTAsMTQsMTIsMTUsMTAsNCwxLDUsOCw3LDYsMiwxMywxNCwwLDMsOSwxMV0sbT1bMTEsMTQsMTUsMTIsNSw4LDcsOSwxMSwxMywxNCwxNSw2LDcsOSw4LDcsNiw4LDEzLDExLDksNywxNSw3LDEyLDE1LDksMTEsNywxMywxMiwxMSwxMyw2LDcsMTQsOSwxMywxNSwxNCw4LDEzLDYsNSwxMiw3LDUsMTEsMTIsMTQsMTUsMTQsMTUsOSw4LDksMTQsNSw2LDgsNiw1LDEyLDksMTUsNSwxMSw2LDgsMTMsMTIsNSwxMiwxMywxNCwxMSw4LDUsNl0seT1bOCw5LDksMTEsMTMsMTUsMTUsNSw3LDcsOCwxMSwxNCwxNCwxMiw2LDksMTMsMTUsNywxMiw4LDksMTEsNyw3LDEyLDcsNiwxNSwxMywxMSw5LDcsMTUsMTEsOCw2LDYsMTQsMTIsMTMsNSwxNCwxMywxMyw3LDUsMTUsNSw4LDExLDE0LDE0LDYsMTQsNiw5LDEyLDksMTIsNSwxNSw4LDgsNSwxMiw5LDEyLDUsMTQsNiw4LDEzLDYsNSwxNSwxMywxMSwxMV19LHsiLi9jb21tb24iOjg3LCIuL3V0aWxzIjo5N31dLDkwOltmdW5jdGlvbih0LGUscil7ci5zaGExPXQoIi4vc2hhLzEiKSxyLnNoYTIyND10KCIuL3NoYS8yMjQiKSxyLnNoYTI1Nj10KCIuL3NoYS8yNTYiKSxyLnNoYTM4ND10KCIuL3NoYS8zODQiKSxyLnNoYTUxMj10KCIuL3NoYS81MTIiKX0seyIuL3NoYS8xIjo5MSwiLi9zaGEvMjI0Ijo5MiwiLi9zaGEvMjU2Ijo5MywiLi9zaGEvMzg0Ijo5NCwiLi9zaGEvNTEyIjo5NX1dLDkxOltmdW5jdGlvbih0LGUscil7dmFyIG49dCgiLi4vdXRpbHMiKSxpPXQoIi4uL2NvbW1vbiIpLG89dCgiLi9jb21tb24iKSxhPW4ucm90bDMyLHM9bi5zdW0zMix1PW4uc3VtMzJfNSxmPW8uZnRfMSxjPWkuQmxvY2tIYXNoLGg9WzE1MTg1MDAyNDksMTg1OTc3NTM5MywyNDAwOTU5NzA4LDMzOTU0Njk3ODJdO2Z1bmN0aW9uIGQoKXtpZighKHRoaXMgaW5zdGFuY2VvZiBkKSlyZXR1cm4gbmV3IGQ7Yy5jYWxsKHRoaXMpLHRoaXMuaD1bMTczMjU4NDE5Myw0MDIzMjMzNDE3LDI1NjIzODMxMDIsMjcxNzMzODc4LDMyODUzNzc1MjBdLHRoaXMuVz1uZXcgQXJyYXkoODApfW4uaW5oZXJpdHMoZCxjKSxlLmV4cG9ydHM9ZCxkLmJsb2NrU2l6ZT01MTIsZC5vdXRTaXplPTE2MCxkLmhtYWNTdHJlbmd0aD04MCxkLnBhZExlbmd0aD02NCxkLnByb3RvdHlwZS5fdXBkYXRlPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPXRoaXMuVyxuPTA7bjwxNjtuKyspcltuXT10W2Urbl07Zm9yKDtuPHIubGVuZ3RoO24rKylyW25dPWEocltuLTNdXnJbbi04XV5yW24tMTRdXnJbbi0xNl0sMSk7dmFyIGk9dGhpcy5oWzBdLG89dGhpcy5oWzFdLGM9dGhpcy5oWzJdLGQ9dGhpcy5oWzNdLGw9dGhpcy5oWzRdO2ZvcihuPTA7bjxyLmxlbmd0aDtuKyspe3ZhciBwPX5+KG4vMjApLGI9dShhKGksNSksZihwLG8sYyxkKSxsLHJbbl0saFtwXSk7bD1kLGQ9YyxjPWEobywzMCksbz1pLGk9Yn10aGlzLmhbMF09cyh0aGlzLmhbMF0saSksdGhpcy5oWzFdPXModGhpcy5oWzFdLG8pLHRoaXMuaFsyXT1zKHRoaXMuaFsyXSxjKSx0aGlzLmhbM109cyh0aGlzLmhbM10sZCksdGhpcy5oWzRdPXModGhpcy5oWzRdLGwpfSxkLnByb3RvdHlwZS5fZGlnZXN0PWZ1bmN0aW9uKHQpe3JldHVybiJoZXgiPT09dD9uLnRvSGV4MzIodGhpcy5oLCJiaWciKTpuLnNwbGl0MzIodGhpcy5oLCJiaWciKX19LHsiLi4vY29tbW9uIjo4NywiLi4vdXRpbHMiOjk3LCIuL2NvbW1vbiI6OTZ9XSw5MjpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQoIi4uL3V0aWxzIiksaT10KCIuLzI1NiIpO2Z1bmN0aW9uIG8oKXtpZighKHRoaXMgaW5zdGFuY2VvZiBvKSlyZXR1cm4gbmV3IG87aS5jYWxsKHRoaXMpLHRoaXMuaD1bMzIzODM3MTAzMiw5MTQxNTA2NjMsODEyNzAyOTk5LDQxNDQ5MTI2OTcsNDI5MDc3NTg1NywxNzUwNjAzMDI1LDE2OTQwNzY4MzksMzIwNDA3NTQyOF19bi5pbmhlcml0cyhvLGkpLGUuZXhwb3J0cz1vLG8uYmxvY2tTaXplPTUxMixvLm91dFNpemU9MjI0LG8uaG1hY1N0cmVuZ3RoPTE5MixvLnBhZExlbmd0aD02NCxvLnByb3RvdHlwZS5fZGlnZXN0PWZ1bmN0aW9uKHQpe3JldHVybiJoZXgiPT09dD9uLnRvSGV4MzIodGhpcy5oLnNsaWNlKDAsNyksImJpZyIpOm4uc3BsaXQzMih0aGlzLmguc2xpY2UoMCw3KSwiYmlnIil9fSx7Ii4uL3V0aWxzIjo5NywiLi8yNTYiOjkzfV0sOTM6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbj10KCIuLi91dGlscyIpLGk9dCgiLi4vY29tbW9uIiksbz10KCIuL2NvbW1vbiIpLGE9dCgibWluaW1hbGlzdGljLWFzc2VydCIpLHM9bi5zdW0zMix1PW4uc3VtMzJfNCxmPW4uc3VtMzJfNSxjPW8uY2gzMixoPW8ubWFqMzIsZD1vLnMwXzI1NixsPW8uczFfMjU2LHA9by5nMF8yNTYsYj1vLmcxXzI1NixtPWkuQmxvY2tIYXNoLHk9WzExMTYzNTI0MDgsMTg5OTQ0NzQ0MSwzMDQ5MzIzNDcxLDM5MjEwMDk1NzMsOTYxOTg3MTYzLDE1MDg5NzA5OTMsMjQ1MzYzNTc0OCwyODcwNzYzMjIxLDM2MjQzODEwODAsMzEwNTk4NDAxLDYwNzIyNTI3OCwxNDI2ODgxOTg3LDE5MjUwNzgzODgsMjE2MjA3ODIwNiwyNjE0ODg4MTAzLDMyNDgyMjI1ODAsMzgzNTM5MDQwMSw0MDIyMjI0Nzc0LDI2NDM0NzA3OCw2MDQ4MDc2MjgsNzcwMjU1OTgzLDEyNDkxNTAxMjIsMTU1NTA4MTY5MiwxOTk2MDY0OTg2LDI1NTQyMjA4ODIsMjgyMTgzNDM0OSwyOTUyOTk2ODA4LDMyMTAzMTM2NzEsMzMzNjU3MTg5MSwzNTg0NTI4NzExLDExMzkyNjk5MywzMzgyNDE4OTUsNjY2MzA3MjA1LDc3MzUyOTkxMiwxMjk0NzU3MzcyLDEzOTYxODIyOTEsMTY5NTE4MzcwMCwxOTg2NjYxMDUxLDIxNzcwMjYzNTAsMjQ1Njk1NjAzNywyNzMwNDg1OTIxLDI4MjAzMDI0MTEsMzI1OTczMDgwMCwzMzQ1NzY0NzcxLDM1MTYwNjU4MTcsMzYwMDM1MjgwNCw0MDk0NTcxOTA5LDI3NTQyMzM0NCw0MzAyMjc3MzQsNTA2OTQ4NjE2LDY1OTA2MDU1Niw4ODM5OTc4NzcsOTU4MTM5NTcxLDEzMjI4MjIyMTgsMTUzNzAwMjA2MywxNzQ3ODczNzc5LDE5NTU1NjIyMjIsMjAyNDEwNDgxNSwyMjI3NzMwNDUyLDIzNjE4NTI0MjQsMjQyODQzNjQ3NCwyNzU2NzM0MTg3LDMyMDQwMzE0NzksMzMyOTMyNTI5OF07ZnVuY3Rpb24gdigpe2lmKCEodGhpcyBpbnN0YW5jZW9mIHYpKXJldHVybiBuZXcgdjttLmNhbGwodGhpcyksdGhpcy5oPVsxNzc5MDMzNzAzLDMxNDQxMzQyNzcsMTAxMzkwNDI0MiwyNzczNDgwNzYyLDEzNTk4OTMxMTksMjYwMDgyMjkyNCw1Mjg3MzQ2MzUsMTU0MTQ1OTIyNV0sdGhpcy5rPXksdGhpcy5XPW5ldyBBcnJheSg2NCl9bi5pbmhlcml0cyh2LG0pLGUuZXhwb3J0cz12LHYuYmxvY2tTaXplPTUxMix2Lm91dFNpemU9MjU2LHYuaG1hY1N0cmVuZ3RoPTE5Mix2LnBhZExlbmd0aD02NCx2LnByb3RvdHlwZS5fdXBkYXRlPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPXRoaXMuVyxuPTA7bjwxNjtuKyspcltuXT10W2Urbl07Zm9yKDtuPHIubGVuZ3RoO24rKylyW25dPXUoYihyW24tMl0pLHJbbi03XSxwKHJbbi0xNV0pLHJbbi0xNl0pO3ZhciBpPXRoaXMuaFswXSxvPXRoaXMuaFsxXSxtPXRoaXMuaFsyXSx5PXRoaXMuaFszXSx2PXRoaXMuaFs0XSxnPXRoaXMuaFs1XSx3PXRoaXMuaFs2XSxfPXRoaXMuaFs3XTtmb3IoYSh0aGlzLmsubGVuZ3RoPT09ci5sZW5ndGgpLG49MDtuPHIubGVuZ3RoO24rKyl7dmFyIE09ZihfLGwodiksYyh2LGcsdyksdGhpcy5rW25dLHJbbl0pLHg9cyhkKGkpLGgoaSxvLG0pKTtfPXcsdz1nLGc9dix2PXMoeSxNKSx5PW0sbT1vLG89aSxpPXMoTSx4KX10aGlzLmhbMF09cyh0aGlzLmhbMF0saSksdGhpcy5oWzFdPXModGhpcy5oWzFdLG8pLHRoaXMuaFsyXT1zKHRoaXMuaFsyXSxtKSx0aGlzLmhbM109cyh0aGlzLmhbM10seSksdGhpcy5oWzRdPXModGhpcy5oWzRdLHYpLHRoaXMuaFs1XT1zKHRoaXMuaFs1XSxnKSx0aGlzLmhbNl09cyh0aGlzLmhbNl0sdyksdGhpcy5oWzddPXModGhpcy5oWzddLF8pfSx2LnByb3RvdHlwZS5fZGlnZXN0PWZ1bmN0aW9uKHQpe3JldHVybiJoZXgiPT09dD9uLnRvSGV4MzIodGhpcy5oLCJiaWciKTpuLnNwbGl0MzIodGhpcy5oLCJiaWciKX19LHsiLi4vY29tbW9uIjo4NywiLi4vdXRpbHMiOjk3LCIuL2NvbW1vbiI6OTYsIm1pbmltYWxpc3RpYy1hc3NlcnQiOjEwN31dLDk0OltmdW5jdGlvbih0LGUscil7dmFyIG49dCgiLi4vdXRpbHMiKSxpPXQoIi4vNTEyIik7ZnVuY3Rpb24gbygpe2lmKCEodGhpcyBpbnN0YW5jZW9mIG8pKXJldHVybiBuZXcgbztpLmNhbGwodGhpcyksdGhpcy5oPVszNDE4MDcwMzY1LDMyMzgzNzEwMzIsMTY1NDI3MDI1MCw5MTQxNTA2NjMsMjQzODUyOTM3MCw4MTI3MDI5OTksMzU1NDYyMzYwLDQxNDQ5MTI2OTcsMTczMTQwNTQxNSw0MjkwNzc1ODU3LDIzOTQxODAyMzEsMTc1MDYwMzAyNSwzNjc1MDA4NTI1LDE2OTQwNzY4MzksMTIwMzA2MjgxMywzMjA0MDc1NDI4XX1uLmluaGVyaXRzKG8saSksZS5leHBvcnRzPW8sby5ibG9ja1NpemU9MTAyNCxvLm91dFNpemU9Mzg0LG8uaG1hY1N0cmVuZ3RoPTE5MixvLnBhZExlbmd0aD0xMjgsby5wcm90b3R5cGUuX2RpZ2VzdD1mdW5jdGlvbih0KXtyZXR1cm4iaGV4Ij09PXQ/bi50b0hleDMyKHRoaXMuaC5zbGljZSgwLDEyKSwiYmlnIik6bi5zcGxpdDMyKHRoaXMuaC5zbGljZSgwLDEyKSwiYmlnIil9fSx7Ii4uL3V0aWxzIjo5NywiLi81MTIiOjk1fV0sOTU6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbj10KCIuLi91dGlscyIpLGk9dCgiLi4vY29tbW9uIiksbz10KCJtaW5pbWFsaXN0aWMtYXNzZXJ0IiksYT1uLnJvdHI2NF9oaSxzPW4ucm90cjY0X2xvLHU9bi5zaHI2NF9oaSxmPW4uc2hyNjRfbG8sYz1uLnN1bTY0LGg9bi5zdW02NF9oaSxkPW4uc3VtNjRfbG8sbD1uLnN1bTY0XzRfaGkscD1uLnN1bTY0XzRfbG8sYj1uLnN1bTY0XzVfaGksbT1uLnN1bTY0XzVfbG8seT1pLkJsb2NrSGFzaCx2PVsxMTE2MzUyNDA4LDM2MDk3Njc0NTgsMTg5OTQ0NzQ0MSw2MDI4OTE3MjUsMzA0OTMyMzQ3MSwzOTY0NDg0Mzk5LDM5MjEwMDk1NzMsMjE3MzI5NTU0OCw5NjE5ODcxNjMsNDA4MTYyODQ3MiwxNTA4OTcwOTkzLDMwNTM4MzQyNjUsMjQ1MzYzNTc0OCwyOTM3NjcxNTc5LDI4NzA3NjMyMjEsMzY2NDYwOTU2MCwzNjI0MzgxMDgwLDI3MzQ4ODMzOTQsMzEwNTk4NDAxLDExNjQ5OTY1NDIsNjA3MjI1Mjc4LDEzMjM2MTA3NjQsMTQyNjg4MTk4NywzNTkwMzA0OTk0LDE5MjUwNzgzODgsNDA2ODE4MjM4MywyMTYyMDc4MjA2LDk5MTMzNjExMywyNjE0ODg4MTAzLDYzMzgwMzMxNywzMjQ4MjIyNTgwLDM0Nzk3NzQ4NjgsMzgzNTM5MDQwMSwyNjY2NjEzNDU4LDQwMjIyMjQ3NzQsOTQ0NzExMTM5LDI2NDM0NzA3OCwyMzQxMjYyNzczLDYwNDgwNzYyOCwyMDA3ODAwOTMzLDc3MDI1NTk4MywxNDk1OTkwOTAxLDEyNDkxNTAxMjIsMTg1NjQzMTIzNSwxNTU1MDgxNjkyLDMxNzUyMTgxMzIsMTk5NjA2NDk4NiwyMTk4OTUwODM3LDI1NTQyMjA4ODIsMzk5OTcxOTMzOSwyODIxODM0MzQ5LDc2Njc4NDAxNiwyOTUyOTk2ODA4LDI1NjY1OTQ4NzksMzIxMDMxMzY3MSwzMjAzMzM3OTU2LDMzMzY1NzE4OTEsMTAzNDQ1NzAyNiwzNTg0NTI4NzExLDI0NjY5NDg5MDEsMTEzOTI2OTkzLDM3NTgzMjYzODMsMzM4MjQxODk1LDE2ODcxNzkzNiw2NjYzMDcyMDUsMTE4ODE3OTk2NCw3NzM1Mjk5MTIsMTU0NjA0NTczNCwxMjk0NzU3MzcyLDE1MjI4MDU0ODUsMTM5NjE4MjI5MSwyNjQzODMzODIzLDE2OTUxODM3MDAsMjM0MzUyNzM5MCwxOTg2NjYxMDUxLDEwMTQ0Nzc0ODAsMjE3NzAyNjM1MCwxMjA2NzU5MTQyLDI0NTY5NTYwMzcsMzQ0MDc3NjI3LDI3MzA0ODU5MjEsMTI5MDg2MzQ2MCwyODIwMzAyNDExLDMxNTg0NTQyNzMsMzI1OTczMDgwMCwzNTA1OTUyNjU3LDMzNDU3NjQ3NzEsMTA2MjE3MDA4LDM1MTYwNjU4MTcsMzYwNjAwODM0NCwzNjAwMzUyODA0LDE0MzI3MjU3NzYsNDA5NDU3MTkwOSwxNDY3MDMxNTk0LDI3NTQyMzM0NCw4NTExNjk3MjAsNDMwMjI3NzM0LDMxMDA4MjM3NTIsNTA2OTQ4NjE2LDEzNjMyNTgxOTUsNjU5MDYwNTU2LDM3NTA2ODU1OTMsODgzOTk3ODc3LDM3ODUwNTAyODAsOTU4MTM5NTcxLDMzMTgzMDc0MjcsMTMyMjgyMjIxOCwzODEyNzIzNDAzLDE1MzcwMDIwNjMsMjAwMzAzNDk5NSwxNzQ3ODczNzc5LDM2MDIwMzY4OTksMTk1NTU2MjIyMiwxNTc1OTkwMDEyLDIwMjQxMDQ4MTUsMTEyNTU5MjkyOCwyMjI3NzMwNDUyLDI3MTY5MDQzMDYsMjM2MTg1MjQyNCw0NDI3NzYwNDQsMjQyODQzNjQ3NCw1OTM2OTgzNDQsMjc1NjczNDE4NywzNzMzMTEwMjQ5LDMyMDQwMzE0NzksMjk5OTM1MTU3MywzMzI5MzI1Mjk4LDM4MTU5MjA0MjcsMzM5MTU2OTYxNCwzOTI4MzgzOTAwLDM1MTUyNjcyNzEsNTY2MjgwNzExLDM5NDAxODc2MDYsMzQ1NDA2OTUzNCw0MTE4NjMwMjcxLDQwMDAyMzk5OTIsMTE2NDE4NDc0LDE5MTQxMzg1NTQsMTc0MjkyNDIxLDI3MzEwNTUyNzAsMjg5MzgwMzU2LDMyMDM5OTMwMDYsNDYwMzkzMjY5LDMyMDYyMDMxNSw2ODU0NzE3MzMsNTg3NDk2ODM2LDg1MjE0Mjk3MSwxMDg2NzkyODUxLDEwMTcwMzYyOTgsMzY1NTQzMTAwLDExMjYwMDA1ODAsMjYxODI5NzY3NiwxMjg4MDMzNDcwLDM0MDk4NTUxNTgsMTUwMTUwNTk0OCw0MjM0NTA5ODY2LDE2MDcxNjc5MTUsOTg3MTY3NDY4LDE4MTY0MDIzMTYsMTI0NjE4OTU5MV07ZnVuY3Rpb24gZygpe2lmKCEodGhpcyBpbnN0YW5jZW9mIGcpKXJldHVybiBuZXcgZzt5LmNhbGwodGhpcyksdGhpcy5oPVsxNzc5MDMzNzAzLDQwODkyMzU3MjAsMzE0NDEzNDI3NywyMjI3ODczNTk1LDEwMTM5MDQyNDIsNDI3MTE3NTcyMywyNzczNDgwNzYyLDE1OTU3NTAxMjksMTM1OTg5MzExOSwyOTE3NTY1MTM3LDI2MDA4MjI5MjQsNzI1NTExMTk5LDUyODczNDYzNSw0MjE1Mzg5NTQ3LDE1NDE0NTkyMjUsMzI3MDMzMjA5XSx0aGlzLms9dix0aGlzLlc9bmV3IEFycmF5KDE2MCl9ZnVuY3Rpb24gdyh0LGUscixuLGkpe3ZhciBvPXQmcl5+dCZpO3JldHVybiBvPDAmJihvKz00Mjk0OTY3Mjk2KSxvfWZ1bmN0aW9uIF8odCxlLHIsbixpLG8pe3ZhciBhPWUmbl5+ZSZvO3JldHVybiBhPDAmJihhKz00Mjk0OTY3Mjk2KSxhfWZ1bmN0aW9uIE0odCxlLHIsbixpKXt2YXIgbz10JnJedCZpXnImaTtyZXR1cm4gbzwwJiYobys9NDI5NDk2NzI5Niksb31mdW5jdGlvbiB4KHQsZSxyLG4saSxvKXt2YXIgYT1lJm5eZSZvXm4mbztyZXR1cm4gYTwwJiYoYSs9NDI5NDk2NzI5NiksYX1mdW5jdGlvbiBrKHQsZSl7dmFyIHI9YSh0LGUsMjgpXmEoZSx0LDIpXmEoZSx0LDcpO3JldHVybiByPDAmJihyKz00Mjk0OTY3Mjk2KSxyfWZ1bmN0aW9uIFModCxlKXt2YXIgcj1zKHQsZSwyOClecyhlLHQsMilecyhlLHQsNyk7cmV0dXJuIHI8MCYmKHIrPTQyOTQ5NjcyOTYpLHJ9ZnVuY3Rpb24gRSh0LGUpe3ZhciByPWEodCxlLDE0KV5hKHQsZSwxOCleYShlLHQsOSk7cmV0dXJuIHI8MCYmKHIrPTQyOTQ5NjcyOTYpLHJ9ZnVuY3Rpb24gQSh0LGUpe3ZhciByPXModCxlLDE0KV5zKHQsZSwxOClecyhlLHQsOSk7cmV0dXJuIHI8MCYmKHIrPTQyOTQ5NjcyOTYpLHJ9ZnVuY3Rpb24gaih0LGUpe3ZhciByPWEodCxlLDEpXmEodCxlLDgpXnUodCxlLDcpO3JldHVybiByPDAmJihyKz00Mjk0OTY3Mjk2KSxyfWZ1bmN0aW9uIEkodCxlKXt2YXIgcj1zKHQsZSwxKV5zKHQsZSw4KV5mKHQsZSw3KTtyZXR1cm4gcjwwJiYocis9NDI5NDk2NzI5Nikscn1mdW5jdGlvbiBCKHQsZSl7dmFyIHI9YSh0LGUsMTkpXmEoZSx0LDI5KV51KHQsZSw2KTtyZXR1cm4gcjwwJiYocis9NDI5NDk2NzI5Nikscn1mdW5jdGlvbiBUKHQsZSl7dmFyIHI9cyh0LGUsMTkpXnMoZSx0LDI5KV5mKHQsZSw2KTtyZXR1cm4gcjwwJiYocis9NDI5NDk2NzI5Nikscn1uLmluaGVyaXRzKGcseSksZS5leHBvcnRzPWcsZy5ibG9ja1NpemU9MTAyNCxnLm91dFNpemU9NTEyLGcuaG1hY1N0cmVuZ3RoPTE5MixnLnBhZExlbmd0aD0xMjgsZy5wcm90b3R5cGUuX3ByZXBhcmVCbG9jaz1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj10aGlzLlcsbj0wO248MzI7bisrKXJbbl09dFtlK25dO2Zvcig7bjxyLmxlbmd0aDtuKz0yKXt2YXIgaT1CKHJbbi00XSxyW24tM10pLG89VChyW24tNF0scltuLTNdKSxhPXJbbi0xNF0scz1yW24tMTNdLHU9aihyW24tMzBdLHJbbi0yOV0pLGY9SShyW24tMzBdLHJbbi0yOV0pLGM9cltuLTMyXSxoPXJbbi0zMV07cltuXT1sKGksbyxhLHMsdSxmLGMsaCkscltuKzFdPXAoaSxvLGEscyx1LGYsYyxoKX19LGcucHJvdG90eXBlLl91cGRhdGU9ZnVuY3Rpb24odCxlKXt0aGlzLl9wcmVwYXJlQmxvY2sodCxlKTt2YXIgcj10aGlzLlcsbj10aGlzLmhbMF0saT10aGlzLmhbMV0sYT10aGlzLmhbMl0scz10aGlzLmhbM10sdT10aGlzLmhbNF0sZj10aGlzLmhbNV0sbD10aGlzLmhbNl0scD10aGlzLmhbN10seT10aGlzLmhbOF0sdj10aGlzLmhbOV0sZz10aGlzLmhbMTBdLGo9dGhpcy5oWzExXSxJPXRoaXMuaFsxMl0sQj10aGlzLmhbMTNdLFQ9dGhpcy5oWzE0XSxDPXRoaXMuaFsxNV07byh0aGlzLmsubGVuZ3RoPT09ci5sZW5ndGgpO2Zvcih2YXIgUD0wO1A8ci5sZW5ndGg7UCs9Mil7dmFyIFI9VCxPPUMsTj1FKHksdiksTD1BKHksdiksRj13KHksdixnLGosSSkscT1fKHksdixnLGosSSxCKSxEPXRoaXMua1tQXSxVPXRoaXMua1tQKzFdLHo9cltQXSxLPXJbUCsxXSxIPWIoUixPLE4sTCxGLHEsRCxVLHosSyksVj1tKFIsTyxOLEwsRixxLEQsVSx6LEspO1I9ayhuLGkpLE89UyhuLGkpLE49TShuLGksYSxzLHUpLEw9eChuLGksYSxzLHUsZik7dmFyIFc9aChSLE8sTixMKSxYPWQoUixPLE4sTCk7VD1JLEM9QixJPWcsQj1qLGc9eSxqPXYseT1oKGwscCxILFYpLHY9ZChwLHAsSCxWKSxsPXUscD1mLHU9YSxmPXMsYT1uLHM9aSxuPWgoSCxWLFcsWCksaT1kKEgsVixXLFgpfWModGhpcy5oLDAsbixpKSxjKHRoaXMuaCwyLGEscyksYyh0aGlzLmgsNCx1LGYpLGModGhpcy5oLDYsbCxwKSxjKHRoaXMuaCw4LHksdiksYyh0aGlzLmgsMTAsZyxqKSxjKHRoaXMuaCwxMixJLEIpLGModGhpcy5oLDE0LFQsQyl9LGcucHJvdG90eXBlLl9kaWdlc3Q9ZnVuY3Rpb24odCl7cmV0dXJuImhleCI9PT10P24udG9IZXgzMih0aGlzLmgsImJpZyIpOm4uc3BsaXQzMih0aGlzLmgsImJpZyIpfX0seyIuLi9jb21tb24iOjg3LCIuLi91dGlscyI6OTcsIm1pbmltYWxpc3RpYy1hc3NlcnQiOjEwN31dLDk2OltmdW5jdGlvbih0LGUscil7dmFyIG49dCgiLi4vdXRpbHMiKS5yb3RyMzI7ZnVuY3Rpb24gaSh0LGUscil7cmV0dXJuIHQmZV5+dCZyfWZ1bmN0aW9uIG8odCxlLHIpe3JldHVybiB0JmVedCZyXmUmcn1mdW5jdGlvbiBhKHQsZSxyKXtyZXR1cm4gdF5lXnJ9ci5mdF8xPWZ1bmN0aW9uKHQsZSxyLG4pe3JldHVybiAwPT09dD9pKGUscixuKToxPT09dHx8Mz09PXQ/YShlLHIsbik6Mj09PXQ/byhlLHIsbik6dm9pZCAwfSxyLmNoMzI9aSxyLm1hajMyPW8sci5wMzI9YSxyLnMwXzI1Nj1mdW5jdGlvbih0KXtyZXR1cm4gbih0LDIpXm4odCwxMylebih0LDIyKX0sci5zMV8yNTY9ZnVuY3Rpb24odCl7cmV0dXJuIG4odCw2KV5uKHQsMTEpXm4odCwyNSl9LHIuZzBfMjU2PWZ1bmN0aW9uKHQpe3JldHVybiBuKHQsNylebih0LDE4KV50Pj4+M30sci5nMV8yNTY9ZnVuY3Rpb24odCl7cmV0dXJuIG4odCwxNylebih0LDE5KV50Pj4+MTB9fSx7Ii4uL3V0aWxzIjo5N31dLDk3OltmdW5jdGlvbih0LGUscil7dmFyIG49dCgibWluaW1hbGlzdGljLWFzc2VydCIpLGk9dCgiaW5oZXJpdHMiKTtmdW5jdGlvbiBvKHQpe3JldHVybih0Pj4+MjR8dD4+PjgmNjUyODB8dDw8OCYxNjcxMTY4MHwoMjU1JnQpPDwyNCk+Pj4wfWZ1bmN0aW9uIGEodCl7cmV0dXJuIDE9PT10Lmxlbmd0aD8iMCIrdDp0fWZ1bmN0aW9uIHModCl7cmV0dXJuIDc9PT10Lmxlbmd0aD8iMCIrdDo2PT09dC5sZW5ndGg/IjAwIit0OjU9PT10Lmxlbmd0aD8iMDAwIit0OjQ9PT10Lmxlbmd0aD8iMDAwMCIrdDozPT09dC5sZW5ndGg/IjAwMDAwIit0OjI9PT10Lmxlbmd0aD8iMDAwMDAwIit0OjE9PT10Lmxlbmd0aD8iMDAwMDAwMCIrdDp0fXIuaW5oZXJpdHM9aSxyLnRvQXJyYXk9ZnVuY3Rpb24odCxlKXtpZihBcnJheS5pc0FycmF5KHQpKXJldHVybiB0LnNsaWNlKCk7aWYoIXQpcmV0dXJuW107dmFyIHI9W107aWYoInN0cmluZyI9PXR5cGVvZiB0KWlmKGUpe2lmKCJoZXgiPT09ZSlmb3IoKHQ9dC5yZXBsYWNlKC9bXmEtejAtOV0rL2dpLCIiKSkubGVuZ3RoJTIhPTAmJih0PSIwIit0KSxuPTA7bjx0Lmxlbmd0aDtuKz0yKXIucHVzaChwYXJzZUludCh0W25dK3RbbisxXSwxNikpfWVsc2UgZm9yKHZhciBuPTA7bjx0Lmxlbmd0aDtuKyspe3ZhciBpPXQuY2hhckNvZGVBdChuKSxvPWk+PjgsYT0yNTUmaTtvP3IucHVzaChvLGEpOnIucHVzaChhKX1lbHNlIGZvcihuPTA7bjx0Lmxlbmd0aDtuKyspcltuXT0wfHRbbl07cmV0dXJuIHJ9LHIudG9IZXg9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPSIiLHI9MDtyPHQubGVuZ3RoO3IrKyllKz1hKHRbcl0udG9TdHJpbmcoMTYpKTtyZXR1cm4gZX0sci5odG9ubD1vLHIudG9IZXgzMj1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj0iIixuPTA7bjx0Lmxlbmd0aDtuKyspe3ZhciBpPXRbbl07ImxpdHRsZSI9PT1lJiYoaT1vKGkpKSxyKz1zKGkudG9TdHJpbmcoMTYpKX1yZXR1cm4gcn0sci56ZXJvMj1hLHIuemVybzg9cyxyLmpvaW4zMj1mdW5jdGlvbih0LGUscixpKXt2YXIgbz1yLWU7bihvJTQ9PTApO2Zvcih2YXIgYT1uZXcgQXJyYXkoby80KSxzPTAsdT1lO3M8YS5sZW5ndGg7cysrLHUrPTQpe3ZhciBmO2Y9ImJpZyI9PT1pP3RbdV08PDI0fHRbdSsxXTw8MTZ8dFt1KzJdPDw4fHRbdSszXTp0W3UrM108PDI0fHRbdSsyXTw8MTZ8dFt1KzFdPDw4fHRbdV0sYVtzXT1mPj4+MH1yZXR1cm4gYX0sci5zcGxpdDMyPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPW5ldyBBcnJheSg0KnQubGVuZ3RoKSxuPTAsaT0wO248dC5sZW5ndGg7bisrLGkrPTQpe3ZhciBvPXRbbl07ImJpZyI9PT1lPyhyW2ldPW8+Pj4yNCxyW2krMV09bz4+PjE2JjI1NSxyW2krMl09bz4+PjgmMjU1LHJbaSszXT0yNTUmbyk6KHJbaSszXT1vPj4+MjQscltpKzJdPW8+Pj4xNiYyNTUscltpKzFdPW8+Pj44JjI1NSxyW2ldPTI1NSZvKX1yZXR1cm4gcn0sci5yb3RyMzI9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdD4+PmV8dDw8MzItZX0sci5yb3RsMzI9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdDw8ZXx0Pj4+MzItZX0sci5zdW0zMj1mdW5jdGlvbih0LGUpe3JldHVybiB0K2U+Pj4wfSxyLnN1bTMyXzM9ZnVuY3Rpb24odCxlLHIpe3JldHVybiB0K2Urcj4+PjB9LHIuc3VtMzJfND1mdW5jdGlvbih0LGUscixuKXtyZXR1cm4gdCtlK3Irbj4+PjB9LHIuc3VtMzJfNT1mdW5jdGlvbih0LGUscixuLGkpe3JldHVybiB0K2UrcituK2k+Pj4wfSxyLnN1bTY0PWZ1bmN0aW9uKHQsZSxyLG4pe3ZhciBpPXRbZV0sbz1uK3RbZSsxXT4+PjAsYT0obzxuPzE6MCkrcitpO3RbZV09YT4+PjAsdFtlKzFdPW99LHIuc3VtNjRfaGk9ZnVuY3Rpb24odCxlLHIsbil7cmV0dXJuKGUrbj4+PjA8ZT8xOjApK3Qrcj4+PjB9LHIuc3VtNjRfbG89ZnVuY3Rpb24odCxlLHIsbil7cmV0dXJuIGUrbj4+PjB9LHIuc3VtNjRfNF9oaT1mdW5jdGlvbih0LGUscixuLGksbyxhLHMpe3ZhciB1PTAsZj1lO3JldHVybiB1Kz0oZj1mK24+Pj4wKTxlPzE6MCx1Kz0oZj1mK28+Pj4wKTxvPzE6MCx0K3IraSthKyh1Kz0oZj1mK3M+Pj4wKTxzPzE6MCk+Pj4wfSxyLnN1bTY0XzRfbG89ZnVuY3Rpb24odCxlLHIsbixpLG8sYSxzKXtyZXR1cm4gZStuK28rcz4+PjB9LHIuc3VtNjRfNV9oaT1mdW5jdGlvbih0LGUscixuLGksbyxhLHMsdSxmKXt2YXIgYz0wLGg9ZTtyZXR1cm4gYys9KGg9aCtuPj4+MCk8ZT8xOjAsYys9KGg9aCtvPj4+MCk8bz8xOjAsYys9KGg9aCtzPj4+MCk8cz8xOjAsdCtyK2krYSt1KyhjKz0oaD1oK2Y+Pj4wKTxmPzE6MCk+Pj4wfSxyLnN1bTY0XzVfbG89ZnVuY3Rpb24odCxlLHIsbixpLG8sYSxzLHUsZil7cmV0dXJuIGUrbitvK3MrZj4+PjB9LHIucm90cjY0X2hpPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4oZTw8MzItcnx0Pj4+cik+Pj4wfSxyLnJvdHI2NF9sbz1mdW5jdGlvbih0LGUscil7cmV0dXJuKHQ8PDMyLXJ8ZT4+PnIpPj4+MH0sci5zaHI2NF9oaT1mdW5jdGlvbih0LGUscil7cmV0dXJuIHQ+Pj5yfSxyLnNocjY0X2xvPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4odDw8MzItcnxlPj4+cik+Pj4wfX0se2luaGVyaXRzOjEwMSwibWluaW1hbGlzdGljLWFzc2VydCI6MTA3fV0sOTg6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbj10KCJoYXNoLmpzIiksaT10KCJtaW5pbWFsaXN0aWMtY3J5cHRvLXV0aWxzIiksbz10KCJtaW5pbWFsaXN0aWMtYXNzZXJ0Iik7ZnVuY3Rpb24gYSh0KXtpZighKHRoaXMgaW5zdGFuY2VvZiBhKSlyZXR1cm4gbmV3IGEodCk7dGhpcy5oYXNoPXQuaGFzaCx0aGlzLnByZWRSZXNpc3Q9ISF0LnByZWRSZXNpc3QsdGhpcy5vdXRMZW49dGhpcy5oYXNoLm91dFNpemUsdGhpcy5taW5FbnRyb3B5PXQubWluRW50cm9weXx8dGhpcy5oYXNoLmhtYWNTdHJlbmd0aCx0aGlzLl9yZXNlZWQ9bnVsbCx0aGlzLnJlc2VlZEludGVydmFsPW51bGwsdGhpcy5LPW51bGwsdGhpcy5WPW51bGw7dmFyIGU9aS50b0FycmF5KHQuZW50cm9weSx0LmVudHJvcHlFbmN8fCJoZXgiKSxyPWkudG9BcnJheSh0Lm5vbmNlLHQubm9uY2VFbmN8fCJoZXgiKSxuPWkudG9BcnJheSh0LnBlcnMsdC5wZXJzRW5jfHwiaGV4Iik7byhlLmxlbmd0aD49dGhpcy5taW5FbnRyb3B5LzgsIk5vdCBlbm91Z2ggZW50cm9weS4gTWluaW11bSBpczogIit0aGlzLm1pbkVudHJvcHkrIiBiaXRzIiksdGhpcy5faW5pdChlLHIsbil9ZS5leHBvcnRzPWEsYS5wcm90b3R5cGUuX2luaXQ9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQuY29uY2F0KGUpLmNvbmNhdChyKTt0aGlzLks9bmV3IEFycmF5KHRoaXMub3V0TGVuLzgpLHRoaXMuVj1uZXcgQXJyYXkodGhpcy5vdXRMZW4vOCk7Zm9yKHZhciBpPTA7aTx0aGlzLlYubGVuZ3RoO2krKyl0aGlzLktbaV09MCx0aGlzLlZbaV09MTt0aGlzLl91cGRhdGUobiksdGhpcy5fcmVzZWVkPTEsdGhpcy5yZXNlZWRJbnRlcnZhbD0yODE0NzQ5NzY3MTA2NTZ9LGEucHJvdG90eXBlLl9obWFjPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBuLmhtYWModGhpcy5oYXNoLHRoaXMuSyl9LGEucHJvdG90eXBlLl91cGRhdGU9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5faG1hYygpLnVwZGF0ZSh0aGlzLlYpLnVwZGF0ZShbMF0pO3QmJihlPWUudXBkYXRlKHQpKSx0aGlzLks9ZS5kaWdlc3QoKSx0aGlzLlY9dGhpcy5faG1hYygpLnVwZGF0ZSh0aGlzLlYpLmRpZ2VzdCgpLHQmJih0aGlzLks9dGhpcy5faG1hYygpLnVwZGF0ZSh0aGlzLlYpLnVwZGF0ZShbMV0pLnVwZGF0ZSh0KS5kaWdlc3QoKSx0aGlzLlY9dGhpcy5faG1hYygpLnVwZGF0ZSh0aGlzLlYpLmRpZ2VzdCgpKX0sYS5wcm90b3R5cGUucmVzZWVkPWZ1bmN0aW9uKHQsZSxyLG4peyJzdHJpbmciIT10eXBlb2YgZSYmKG49cixyPWUsZT1udWxsKSx0PWkudG9BcnJheSh0LGUpLHI9aS50b0FycmF5KHIsbiksbyh0Lmxlbmd0aD49dGhpcy5taW5FbnRyb3B5LzgsIk5vdCBlbm91Z2ggZW50cm9weS4gTWluaW11bSBpczogIit0aGlzLm1pbkVudHJvcHkrIiBiaXRzIiksdGhpcy5fdXBkYXRlKHQuY29uY2F0KHJ8fFtdKSksdGhpcy5fcmVzZWVkPTF9LGEucHJvdG90eXBlLmdlbmVyYXRlPWZ1bmN0aW9uKHQsZSxyLG4pe2lmKHRoaXMuX3Jlc2VlZD50aGlzLnJlc2VlZEludGVydmFsKXRocm93IG5ldyBFcnJvcigiUmVzZWVkIGlzIHJlcXVpcmVkIik7InN0cmluZyIhPXR5cGVvZiBlJiYobj1yLHI9ZSxlPW51bGwpLHImJihyPWkudG9BcnJheShyLG58fCJoZXgiKSx0aGlzLl91cGRhdGUocikpO2Zvcih2YXIgbz1bXTtvLmxlbmd0aDx0Oyl0aGlzLlY9dGhpcy5faG1hYygpLnVwZGF0ZSh0aGlzLlYpLmRpZ2VzdCgpLG89by5jb25jYXQodGhpcy5WKTt2YXIgYT1vLnNsaWNlKDAsdCk7cmV0dXJuIHRoaXMuX3VwZGF0ZShyKSx0aGlzLl9yZXNlZWQrKyxpLmVuY29kZShhLGUpfX0seyJoYXNoLmpzIjo4NiwibWluaW1hbGlzdGljLWFzc2VydCI6MTA3LCJtaW5pbWFsaXN0aWMtY3J5cHRvLXV0aWxzIjoxMDh9XSw5OTpbZnVuY3Rpb24odCxlLHIpe3IucmVhZD1mdW5jdGlvbih0LGUscixuLGkpe3ZhciBvLGEscz04Kmktbi0xLHU9KDE8PHMpLTEsZj11Pj4xLGM9LTcsaD1yP2ktMTowLGQ9cj8tMToxLGw9dFtlK2hdO2ZvcihoKz1kLG89bCYoMTw8LWMpLTEsbD4+PS1jLGMrPXM7Yz4wO289MjU2Km8rdFtlK2hdLGgrPWQsYy09OCk7Zm9yKGE9byYoMTw8LWMpLTEsbz4+PS1jLGMrPW47Yz4wO2E9MjU2KmErdFtlK2hdLGgrPWQsYy09OCk7aWYoMD09PW8pbz0xLWY7ZWxzZXtpZihvPT09dSlyZXR1cm4gYT9OYU46MS8wKihsPy0xOjEpO2ErPU1hdGgucG93KDIsbiksby09Zn1yZXR1cm4obD8tMToxKSphKk1hdGgucG93KDIsby1uKX0sci53cml0ZT1mdW5jdGlvbih0LGUscixuLGksbyl7dmFyIGEscyx1LGY9OCpvLWktMSxjPSgxPDxmKS0xLGg9Yz4+MSxkPTIzPT09aT9NYXRoLnBvdygyLC0yNCktTWF0aC5wb3coMiwtNzcpOjAsbD1uPzA6by0xLHA9bj8xOi0xLGI9ZTwwfHwwPT09ZSYmMS9lPDA/MTowO2ZvcihlPU1hdGguYWJzKGUpLGlzTmFOKGUpfHxlPT09MS8wPyhzPWlzTmFOKGUpPzE6MCxhPWMpOihhPU1hdGguZmxvb3IoTWF0aC5sb2coZSkvTWF0aC5MTjIpLGUqKHU9TWF0aC5wb3coMiwtYSkpPDEmJihhLS0sdSo9MiksKGUrPWEraD49MT9kL3U6ZCpNYXRoLnBvdygyLDEtaCkpKnU+PTImJihhKyssdS89MiksYStoPj1jPyhzPTAsYT1jKTphK2g+PTE/KHM9KGUqdS0xKSpNYXRoLnBvdygyLGkpLGErPWgpOihzPWUqTWF0aC5wb3coMixoLTEpKk1hdGgucG93KDIsaSksYT0wKSk7aT49ODt0W3IrbF09MjU1JnMsbCs9cCxzLz0yNTYsaS09OCk7Zm9yKGE9YTw8aXxzLGYrPWk7Zj4wO3RbcitsXT0yNTUmYSxsKz1wLGEvPTI1NixmLT04KTt0W3IrbC1wXXw9MTI4KmJ9fSx7fV0sMTAwOltmdW5jdGlvbih0LGUscil7dmFyIG49W10uaW5kZXhPZjtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtpZihuKXJldHVybiB0LmluZGV4T2YoZSk7Zm9yKHZhciByPTA7cjx0Lmxlbmd0aDsrK3IpaWYodFtyXT09PWUpcmV0dXJuIHI7cmV0dXJuLTF9fSx7fV0sMTAxOltmdW5jdGlvbih0LGUscil7ImZ1bmN0aW9uIj09dHlwZW9mIE9iamVjdC5jcmVhdGU/ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dC5zdXBlcl89ZSx0LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGUucHJvdG90eXBlLHtjb25zdHJ1Y3Rvcjp7dmFsdWU6dCxlbnVtZXJhYmxlOiExLHdyaXRhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH19KX06ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dC5zdXBlcl89ZTt2YXIgcj1mdW5jdGlvbigpe307ci5wcm90b3R5cGU9ZS5wcm90b3R5cGUsdC5wcm90b3R5cGU9bmV3IHIsdC5wcm90b3R5cGUuY29uc3RydWN0b3I9dH19LHt9XSwxMDI6W2Z1bmN0aW9uKHQsZSxyKXtmdW5jdGlvbiBuKHQpe3JldHVybiEhdC5jb25zdHJ1Y3RvciYmImZ1bmN0aW9uIj09dHlwZW9mIHQuY29uc3RydWN0b3IuaXNCdWZmZXImJnQuY29uc3RydWN0b3IuaXNCdWZmZXIodCl9ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiBudWxsIT10JiYobih0KXx8ImZ1bmN0aW9uIj09dHlwZW9mKGU9dCkucmVhZEZsb2F0TEUmJiJmdW5jdGlvbiI9PXR5cGVvZiBlLnNsaWNlJiZuKGUuc2xpY2UoMCwwKSl8fCEhdC5faXNCdWZmZXIpO3ZhciBlfX0se31dLDEwMzpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPXt9LnRvU3RyaW5nO2UuZXhwb3J0cz1BcnJheS5pc0FycmF5fHxmdW5jdGlvbih0KXtyZXR1cm4iW29iamVjdCBBcnJheV0iPT1uLmNhbGwodCl9fSx7fV0sMTA0OltmdW5jdGlvbih0LGUscil7KGZ1bmN0aW9uKHIpe3ZhciBuPXQoImluaGVyaXRzIiksaT10KCJoYXNoLWJhc2UiKSxvPW5ldyBBcnJheSgxNik7ZnVuY3Rpb24gYSgpe2kuY2FsbCh0aGlzLDY0KSx0aGlzLl9hPTE3MzI1ODQxOTMsdGhpcy5fYj00MDIzMjMzNDE3LHRoaXMuX2M9MjU2MjM4MzEwMix0aGlzLl9kPTI3MTczMzg3OH1mdW5jdGlvbiBzKHQsZSl7cmV0dXJuIHQ8PGV8dD4+PjMyLWV9ZnVuY3Rpb24gdSh0LGUscixuLGksbyxhKXtyZXR1cm4gcyh0KyhlJnJ8fmUmbikraStvfDAsYSkrZXwwfWZ1bmN0aW9uIGYodCxlLHIsbixpLG8sYSl7cmV0dXJuIHModCsoZSZufHImfm4pK2krb3wwLGEpK2V8MH1mdW5jdGlvbiBjKHQsZSxyLG4saSxvLGEpe3JldHVybiBzKHQrKGVecl5uKStpK298MCxhKStlfDB9ZnVuY3Rpb24gaCh0LGUscixuLGksbyxhKXtyZXR1cm4gcyh0KyhyXihlfH5uKSkraStvfDAsYSkrZXwwfW4oYSxpKSxhLnByb3RvdHlwZS5fdXBkYXRlPWZ1bmN0aW9uKCl7Zm9yKHZhciB0PW8sZT0wO2U8MTY7KytlKXRbZV09dGhpcy5fYmxvY2sucmVhZEludDMyTEUoNCplKTt2YXIgcj10aGlzLl9hLG49dGhpcy5fYixpPXRoaXMuX2MsYT10aGlzLl9kO249aChuPWgobj1oKG49aChuPWMobj1jKG49YyhuPWMobj1mKG49ZihuPWYobj1mKG49dShuPXUobj11KG49dShuLGk9dShpLGE9dShhLHI9dShyLG4saSxhLHRbMF0sMzYxNDA5MDM2MCw3KSxuLGksdFsxXSwzOTA1NDAyNzEwLDEyKSxyLG4sdFsyXSw2MDYxMDU4MTksMTcpLGEscix0WzNdLDMyNTA0NDE5NjYsMjIpLGk9dShpLGE9dShhLHI9dShyLG4saSxhLHRbNF0sNDExODU0ODM5OSw3KSxuLGksdFs1XSwxMjAwMDgwNDI2LDEyKSxyLG4sdFs2XSwyODIxNzM1OTU1LDE3KSxhLHIsdFs3XSw0MjQ5MjYxMzEzLDIyKSxpPXUoaSxhPXUoYSxyPXUocixuLGksYSx0WzhdLDE3NzAwMzU0MTYsNyksbixpLHRbOV0sMjMzNjU1Mjg3OSwxMikscixuLHRbMTBdLDQyOTQ5MjUyMzMsMTcpLGEscix0WzExXSwyMzA0NTYzMTM0LDIyKSxpPXUoaSxhPXUoYSxyPXUocixuLGksYSx0WzEyXSwxODA0NjAzNjgyLDcpLG4saSx0WzEzXSw0MjU0NjI2MTk1LDEyKSxyLG4sdFsxNF0sMjc5Mjk2NTAwNiwxNyksYSxyLHRbMTVdLDEyMzY1MzUzMjksMjIpLGk9ZihpLGE9ZihhLHI9ZihyLG4saSxhLHRbMV0sNDEyOTE3MDc4Niw1KSxuLGksdFs2XSwzMjI1NDY1NjY0LDkpLHIsbix0WzExXSw2NDM3MTc3MTMsMTQpLGEscix0WzBdLDM5MjEwNjk5OTQsMjApLGk9ZihpLGE9ZihhLHI9ZihyLG4saSxhLHRbNV0sMzU5MzQwODYwNSw1KSxuLGksdFsxMF0sMzgwMTYwODMsOSkscixuLHRbMTVdLDM2MzQ0ODg5NjEsMTQpLGEscix0WzRdLDM4ODk0Mjk0NDgsMjApLGk9ZihpLGE9ZihhLHI9ZihyLG4saSxhLHRbOV0sNTY4NDQ2NDM4LDUpLG4saSx0WzE0XSwzMjc1MTYzNjA2LDkpLHIsbix0WzNdLDQxMDc2MDMzMzUsMTQpLGEscix0WzhdLDExNjM1MzE1MDEsMjApLGk9ZihpLGE9ZihhLHI9ZihyLG4saSxhLHRbMTNdLDI4NTAyODU4MjksNSksbixpLHRbMl0sNDI0MzU2MzUxMiw5KSxyLG4sdFs3XSwxNzM1MzI4NDczLDE0KSxhLHIsdFsxMl0sMjM2ODM1OTU2MiwyMCksaT1jKGksYT1jKGEscj1jKHIsbixpLGEsdFs1XSw0Mjk0NTg4NzM4LDQpLG4saSx0WzhdLDIyNzIzOTI4MzMsMTEpLHIsbix0WzExXSwxODM5MDMwNTYyLDE2KSxhLHIsdFsxNF0sNDI1OTY1Nzc0MCwyMyksaT1jKGksYT1jKGEscj1jKHIsbixpLGEsdFsxXSwyNzYzOTc1MjM2LDQpLG4saSx0WzRdLDEyNzI4OTMzNTMsMTEpLHIsbix0WzddLDQxMzk0Njk2NjQsMTYpLGEscix0WzEwXSwzMjAwMjM2NjU2LDIzKSxpPWMoaSxhPWMoYSxyPWMocixuLGksYSx0WzEzXSw2ODEyNzkxNzQsNCksbixpLHRbMF0sMzkzNjQzMDA3NCwxMSkscixuLHRbM10sMzU3MjQ0NTMxNywxNiksYSxyLHRbNl0sNzYwMjkxODksMjMpLGk9YyhpLGE9YyhhLHI9YyhyLG4saSxhLHRbOV0sMzY1NDYwMjgwOSw0KSxuLGksdFsxMl0sMzg3MzE1MTQ2MSwxMSkscixuLHRbMTVdLDUzMDc0MjUyMCwxNiksYSxyLHRbMl0sMzI5OTYyODY0NSwyMyksaT1oKGksYT1oKGEscj1oKHIsbixpLGEsdFswXSw0MDk2MzM2NDUyLDYpLG4saSx0WzddLDExMjY4OTE0MTUsMTApLHIsbix0WzE0XSwyODc4NjEyMzkxLDE1KSxhLHIsdFs1XSw0MjM3NTMzMjQxLDIxKSxpPWgoaSxhPWgoYSxyPWgocixuLGksYSx0WzEyXSwxNzAwNDg1NTcxLDYpLG4saSx0WzNdLDIzOTk5ODA2OTAsMTApLHIsbix0WzEwXSw0MjkzOTE1NzczLDE1KSxhLHIsdFsxXSwyMjQwMDQ0NDk3LDIxKSxpPWgoaSxhPWgoYSxyPWgocixuLGksYSx0WzhdLDE4NzMzMTMzNTksNiksbixpLHRbMTVdLDQyNjQzNTU1NTIsMTApLHIsbix0WzZdLDI3MzQ3Njg5MTYsMTUpLGEscix0WzEzXSwxMzA5MTUxNjQ5LDIxKSxpPWgoaSxhPWgoYSxyPWgocixuLGksYSx0WzRdLDQxNDk0NDQyMjYsNiksbixpLHRbMTFdLDMxNzQ3NTY5MTcsMTApLHIsbix0WzJdLDcxODc4NzI1OSwxNSksYSxyLHRbOV0sMzk1MTQ4MTc0NSwyMSksdGhpcy5fYT10aGlzLl9hK3J8MCx0aGlzLl9iPXRoaXMuX2IrbnwwLHRoaXMuX2M9dGhpcy5fYytpfDAsdGhpcy5fZD10aGlzLl9kK2F8MH0sYS5wcm90b3R5cGUuX2RpZ2VzdD1mdW5jdGlvbigpe3RoaXMuX2Jsb2NrW3RoaXMuX2Jsb2NrT2Zmc2V0KytdPTEyOCx0aGlzLl9ibG9ja09mZnNldD41NiYmKHRoaXMuX2Jsb2NrLmZpbGwoMCx0aGlzLl9ibG9ja09mZnNldCw2NCksdGhpcy5fdXBkYXRlKCksdGhpcy5fYmxvY2tPZmZzZXQ9MCksdGhpcy5fYmxvY2suZmlsbCgwLHRoaXMuX2Jsb2NrT2Zmc2V0LDU2KSx0aGlzLl9ibG9jay53cml0ZVVJbnQzMkxFKHRoaXMuX2xlbmd0aFswXSw1NiksdGhpcy5fYmxvY2sud3JpdGVVSW50MzJMRSh0aGlzLl9sZW5ndGhbMV0sNjApLHRoaXMuX3VwZGF0ZSgpO3ZhciB0PW5ldyByKDE2KTtyZXR1cm4gdC53cml0ZUludDMyTEUodGhpcy5fYSwwKSx0LndyaXRlSW50MzJMRSh0aGlzLl9iLDQpLHQud3JpdGVJbnQzMkxFKHRoaXMuX2MsOCksdC53cml0ZUludDMyTEUodGhpcy5fZCwxMiksdH0sZS5leHBvcnRzPWF9KS5jYWxsKHRoaXMsdCgiYnVmZmVyIikuQnVmZmVyKX0se2J1ZmZlcjo0NywiaGFzaC1iYXNlIjoxMDUsaW5oZXJpdHM6MTAxfV0sMTA1OltmdW5jdGlvbih0LGUscil7dmFyIG49dCgic2FmZS1idWZmZXIiKS5CdWZmZXIsaT10KCJzdHJlYW0iKS5UcmFuc2Zvcm07ZnVuY3Rpb24gbyh0KXtpLmNhbGwodGhpcyksdGhpcy5fYmxvY2s9bi5hbGxvY1Vuc2FmZSh0KSx0aGlzLl9ibG9ja1NpemU9dCx0aGlzLl9ibG9ja09mZnNldD0wLHRoaXMuX2xlbmd0aD1bMCwwLDAsMF0sdGhpcy5fZmluYWxpemVkPSExfXQoImluaGVyaXRzIikobyxpKSxvLnByb3RvdHlwZS5fdHJhbnNmb3JtPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj1udWxsO3RyeXt0aGlzLnVwZGF0ZSh0LGUpfWNhdGNoKHQpe249dH1yKG4pfSxvLnByb3RvdHlwZS5fZmx1c2g9ZnVuY3Rpb24odCl7dmFyIGU9bnVsbDt0cnl7dGhpcy5wdXNoKHRoaXMuZGlnZXN0KCkpfWNhdGNoKHQpe2U9dH10KGUpfSxvLnByb3RvdHlwZS51cGRhdGU9ZnVuY3Rpb24odCxlKXtpZihmdW5jdGlvbih0LGUpe2lmKCFuLmlzQnVmZmVyKHQpJiYic3RyaW5nIiE9dHlwZW9mIHQpdGhyb3cgbmV3IFR5cGVFcnJvcihlKyIgbXVzdCBiZSBhIHN0cmluZyBvciBhIGJ1ZmZlciIpfSh0LCJEYXRhIiksdGhpcy5fZmluYWxpemVkKXRocm93IG5ldyBFcnJvcigiRGlnZXN0IGFscmVhZHkgY2FsbGVkIik7bi5pc0J1ZmZlcih0KXx8KHQ9bi5mcm9tKHQsZSkpO2Zvcih2YXIgcj10aGlzLl9ibG9jayxpPTA7dGhpcy5fYmxvY2tPZmZzZXQrdC5sZW5ndGgtaT49dGhpcy5fYmxvY2tTaXplOyl7Zm9yKHZhciBvPXRoaXMuX2Jsb2NrT2Zmc2V0O288dGhpcy5fYmxvY2tTaXplOylyW28rK109dFtpKytdO3RoaXMuX3VwZGF0ZSgpLHRoaXMuX2Jsb2NrT2Zmc2V0PTB9Zm9yKDtpPHQubGVuZ3RoOylyW3RoaXMuX2Jsb2NrT2Zmc2V0KytdPXRbaSsrXTtmb3IodmFyIGE9MCxzPTgqdC5sZW5ndGg7cz4wOysrYSl0aGlzLl9sZW5ndGhbYV0rPXMsKHM9dGhpcy5fbGVuZ3RoW2FdLzQyOTQ5NjcyOTZ8MCk+MCYmKHRoaXMuX2xlbmd0aFthXS09NDI5NDk2NzI5NipzKTtyZXR1cm4gdGhpc30sby5wcm90b3R5cGUuX3VwZGF0ZT1mdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcigiX3VwZGF0ZSBpcyBub3QgaW1wbGVtZW50ZWQiKX0sby5wcm90b3R5cGUuZGlnZXN0PWZ1bmN0aW9uKHQpe2lmKHRoaXMuX2ZpbmFsaXplZCl0aHJvdyBuZXcgRXJyb3IoIkRpZ2VzdCBhbHJlYWR5IGNhbGxlZCIpO3RoaXMuX2ZpbmFsaXplZD0hMDt2YXIgZT10aGlzLl9kaWdlc3QoKTt2b2lkIDAhPT10JiYoZT1lLnRvU3RyaW5nKHQpKSx0aGlzLl9ibG9jay5maWxsKDApLHRoaXMuX2Jsb2NrT2Zmc2V0PTA7Zm9yKHZhciByPTA7cjw0Oysrcil0aGlzLl9sZW5ndGhbcl09MDtyZXR1cm4gZX0sby5wcm90b3R5cGUuX2RpZ2VzdD1mdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcigiX2RpZ2VzdCBpcyBub3QgaW1wbGVtZW50ZWQiKX0sZS5leHBvcnRzPW99LHtpbmhlcml0czoxMDEsInNhZmUtYnVmZmVyIjoxNDcsc3RyZWFtOjE1Nn1dLDEwNjpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQoImJuLmpzIiksaT10KCJicm9yYW5kIik7ZnVuY3Rpb24gbyh0KXt0aGlzLnJhbmQ9dHx8bmV3IGkuUmFuZH1lLmV4cG9ydHM9byxvLmNyZWF0ZT1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IG8odCl9LG8ucHJvdG90eXBlLl9yYW5kYmVsb3c9ZnVuY3Rpb24odCl7dmFyIGU9dC5iaXRMZW5ndGgoKSxyPU1hdGguY2VpbChlLzgpO2Rve3ZhciBpPW5ldyBuKHRoaXMucmFuZC5nZW5lcmF0ZShyKSl9d2hpbGUoaS5jbXAodCk+PTApO3JldHVybiBpfSxvLnByb3RvdHlwZS5fcmFuZHJhbmdlPWZ1bmN0aW9uKHQsZSl7dmFyIHI9ZS5zdWIodCk7cmV0dXJuIHQuYWRkKHRoaXMuX3JhbmRiZWxvdyhyKSl9LG8ucHJvdG90eXBlLnRlc3Q9ZnVuY3Rpb24odCxlLHIpe3ZhciBpPXQuYml0TGVuZ3RoKCksbz1uLm1vbnQodCksYT1uZXcgbigxKS50b1JlZChvKTtlfHwoZT1NYXRoLm1heCgxLGkvNDh8MCkpO2Zvcih2YXIgcz10LnN1Ym4oMSksdT0wOyFzLnRlc3RuKHUpO3UrKyk7Zm9yKHZhciBmPXQuc2hybih1KSxjPXMudG9SZWQobyk7ZT4wO2UtLSl7dmFyIGg9dGhpcy5fcmFuZHJhbmdlKG5ldyBuKDIpLHMpO3ImJnIoaCk7dmFyIGQ9aC50b1JlZChvKS5yZWRQb3coZik7aWYoMCE9PWQuY21wKGEpJiYwIT09ZC5jbXAoYykpe2Zvcih2YXIgbD0xO2w8dTtsKyspe2lmKDA9PT0oZD1kLnJlZFNxcigpKS5jbXAoYSkpcmV0dXJuITE7aWYoMD09PWQuY21wKGMpKWJyZWFrfWlmKGw9PT11KXJldHVybiExfX1yZXR1cm4hMH0sby5wcm90b3R5cGUuZ2V0RGl2aXNvcj1mdW5jdGlvbih0LGUpe3ZhciByPXQuYml0TGVuZ3RoKCksaT1uLm1vbnQodCksbz1uZXcgbigxKS50b1JlZChpKTtlfHwoZT1NYXRoLm1heCgxLHIvNDh8MCkpO2Zvcih2YXIgYT10LnN1Ym4oMSkscz0wOyFhLnRlc3RuKHMpO3MrKyk7Zm9yKHZhciB1PXQuc2hybihzKSxmPWEudG9SZWQoaSk7ZT4wO2UtLSl7dmFyIGM9dGhpcy5fcmFuZHJhbmdlKG5ldyBuKDIpLGEpLGg9dC5nY2QoYyk7aWYoMCE9PWguY21wbigxKSlyZXR1cm4gaDt2YXIgZD1jLnRvUmVkKGkpLnJlZFBvdyh1KTtpZigwIT09ZC5jbXAobykmJjAhPT1kLmNtcChmKSl7Zm9yKHZhciBsPTE7bDxzO2wrKyl7aWYoMD09PShkPWQucmVkU3FyKCkpLmNtcChvKSlyZXR1cm4gZC5mcm9tUmVkKCkuc3VibigxKS5nY2QodCk7aWYoMD09PWQuY21wKGYpKWJyZWFrfWlmKGw9PT1zKXJldHVybihkPWQucmVkU3FyKCkpLmZyb21SZWQoKS5zdWJuKDEpLmdjZCh0KX19cmV0dXJuITF9fSx7ImJuLmpzIjoiQk4iLGJyb3JhbmQ6MTZ9XSwxMDc6W2Z1bmN0aW9uKHQsZSxyKXtmdW5jdGlvbiBuKHQsZSl7aWYoIXQpdGhyb3cgbmV3IEVycm9yKGV8fCJBc3NlcnRpb24gZmFpbGVkIil9ZS5leHBvcnRzPW4sbi5lcXVhbD1mdW5jdGlvbih0LGUscil7aWYodCE9ZSl0aHJvdyBuZXcgRXJyb3Iocnx8IkFzc2VydGlvbiBmYWlsZWQ6ICIrdCsiICE9ICIrZSl9fSx7fV0sMTA4OltmdW5jdGlvbih0LGUscil7dmFyIG49cjtmdW5jdGlvbiBpKHQpe3JldHVybiAxPT09dC5sZW5ndGg/IjAiK3Q6dH1mdW5jdGlvbiBvKHQpe2Zvcih2YXIgZT0iIixyPTA7cjx0Lmxlbmd0aDtyKyspZSs9aSh0W3JdLnRvU3RyaW5nKDE2KSk7cmV0dXJuIGV9bi50b0FycmF5PWZ1bmN0aW9uKHQsZSl7aWYoQXJyYXkuaXNBcnJheSh0KSlyZXR1cm4gdC5zbGljZSgpO2lmKCF0KXJldHVybltdO3ZhciByPVtdO2lmKCJzdHJpbmciIT10eXBlb2YgdCl7Zm9yKHZhciBuPTA7bjx0Lmxlbmd0aDtuKyspcltuXT0wfHRbbl07cmV0dXJuIHJ9aWYoImhleCI9PT1lKWZvcigodD10LnJlcGxhY2UoL1teYS16MC05XSsvZ2ksIiIpKS5sZW5ndGglMiE9MCYmKHQ9IjAiK3QpLG49MDtuPHQubGVuZ3RoO24rPTIpci5wdXNoKHBhcnNlSW50KHRbbl0rdFtuKzFdLDE2KSk7ZWxzZSBmb3Iobj0wO248dC5sZW5ndGg7bisrKXt2YXIgaT10LmNoYXJDb2RlQXQobiksbz1pPj44LGE9MjU1Jmk7bz9yLnB1c2gobyxhKTpyLnB1c2goYSl9cmV0dXJuIHJ9LG4uemVybzI9aSxuLnRvSGV4PW8sbi5lbmNvZGU9ZnVuY3Rpb24odCxlKXtyZXR1cm4iaGV4Ij09PWU/byh0KTp0fX0se31dLDEwOTpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz17IjIuMTYuODQwLjEuMTAxLjMuNC4xLjEiOiJhZXMtMTI4LWVjYiIsIjIuMTYuODQwLjEuMTAxLjMuNC4xLjIiOiJhZXMtMTI4LWNiYyIsIjIuMTYuODQwLjEuMTAxLjMuNC4xLjMiOiJhZXMtMTI4LW9mYiIsIjIuMTYuODQwLjEuMTAxLjMuNC4xLjQiOiJhZXMtMTI4LWNmYiIsIjIuMTYuODQwLjEuMTAxLjMuNC4xLjIxIjoiYWVzLTE5Mi1lY2IiLCIyLjE2Ljg0MC4xLjEwMS4zLjQuMS4yMiI6ImFlcy0xOTItY2JjIiwiMi4xNi44NDAuMS4xMDEuMy40LjEuMjMiOiJhZXMtMTkyLW9mYiIsIjIuMTYuODQwLjEuMTAxLjMuNC4xLjI0IjoiYWVzLTE5Mi1jZmIiLCIyLjE2Ljg0MC4xLjEwMS4zLjQuMS40MSI6ImFlcy0yNTYtZWNiIiwiMi4xNi44NDAuMS4xMDEuMy40LjEuNDIiOiJhZXMtMjU2LWNiYyIsIjIuMTYuODQwLjEuMTAxLjMuNC4xLjQzIjoiYWVzLTI1Ni1vZmIiLCIyLjE2Ljg0MC4xLjEwMS4zLjQuMS40NCI6ImFlcy0yNTYtY2ZiIn19LHt9XSwxMTA6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbj10KCJhc24xLmpzIik7ci5jZXJ0aWZpY2F0ZT10KCIuL2NlcnRpZmljYXRlIik7dmFyIGk9bi5kZWZpbmUoIlJTQVByaXZhdGVLZXkiLGZ1bmN0aW9uKCl7dGhpcy5zZXEoKS5vYmoodGhpcy5rZXkoInZlcnNpb24iKS5pbnQoKSx0aGlzLmtleSgibW9kdWx1cyIpLmludCgpLHRoaXMua2V5KCJwdWJsaWNFeHBvbmVudCIpLmludCgpLHRoaXMua2V5KCJwcml2YXRlRXhwb25lbnQiKS5pbnQoKSx0aGlzLmtleSgicHJpbWUxIikuaW50KCksdGhpcy5rZXkoInByaW1lMiIpLmludCgpLHRoaXMua2V5KCJleHBvbmVudDEiKS5pbnQoKSx0aGlzLmtleSgiZXhwb25lbnQyIikuaW50KCksdGhpcy5rZXkoImNvZWZmaWNpZW50IikuaW50KCkpfSk7ci5SU0FQcml2YXRlS2V5PWk7dmFyIG89bi5kZWZpbmUoIlJTQVB1YmxpY0tleSIsZnVuY3Rpb24oKXt0aGlzLnNlcSgpLm9iaih0aGlzLmtleSgibW9kdWx1cyIpLmludCgpLHRoaXMua2V5KCJwdWJsaWNFeHBvbmVudCIpLmludCgpKX0pO3IuUlNBUHVibGljS2V5PW87dmFyIGE9bi5kZWZpbmUoIlN1YmplY3RQdWJsaWNLZXlJbmZvIixmdW5jdGlvbigpe3RoaXMuc2VxKCkub2JqKHRoaXMua2V5KCJhbGdvcml0aG0iKS51c2UocyksdGhpcy5rZXkoInN1YmplY3RQdWJsaWNLZXkiKS5iaXRzdHIoKSl9KTtyLlB1YmxpY0tleT1hO3ZhciBzPW4uZGVmaW5lKCJBbGdvcml0aG1JZGVudGlmaWVyIixmdW5jdGlvbigpe3RoaXMuc2VxKCkub2JqKHRoaXMua2V5KCJhbGdvcml0aG0iKS5vYmppZCgpLHRoaXMua2V5KCJub25lIikubnVsbF8oKS5vcHRpb25hbCgpLHRoaXMua2V5KCJjdXJ2ZSIpLm9iamlkKCkub3B0aW9uYWwoKSx0aGlzLmtleSgicGFyYW1zIikuc2VxKCkub2JqKHRoaXMua2V5KCJwIikuaW50KCksdGhpcy5rZXkoInEiKS5pbnQoKSx0aGlzLmtleSgiZyIpLmludCgpKS5vcHRpb25hbCgpKX0pLHU9bi5kZWZpbmUoIlByaXZhdGVLZXlJbmZvIixmdW5jdGlvbigpe3RoaXMuc2VxKCkub2JqKHRoaXMua2V5KCJ2ZXJzaW9uIikuaW50KCksdGhpcy5rZXkoImFsZ29yaXRobSIpLnVzZShzKSx0aGlzLmtleSgic3ViamVjdFByaXZhdGVLZXkiKS5vY3RzdHIoKSl9KTtyLlByaXZhdGVLZXk9dTt2YXIgZj1uLmRlZmluZSgiRW5jcnlwdGVkUHJpdmF0ZUtleUluZm8iLGZ1bmN0aW9uKCl7dGhpcy5zZXEoKS5vYmoodGhpcy5rZXkoImFsZ29yaXRobSIpLnNlcSgpLm9iaih0aGlzLmtleSgiaWQiKS5vYmppZCgpLHRoaXMua2V5KCJkZWNyeXB0Iikuc2VxKCkub2JqKHRoaXMua2V5KCJrZGUiKS5zZXEoKS5vYmoodGhpcy5rZXkoImlkIikub2JqaWQoKSx0aGlzLmtleSgia2RlcGFyYW1zIikuc2VxKCkub2JqKHRoaXMua2V5KCJzYWx0Iikub2N0c3RyKCksdGhpcy5rZXkoIml0ZXJzIikuaW50KCkpKSx0aGlzLmtleSgiY2lwaGVyIikuc2VxKCkub2JqKHRoaXMua2V5KCJhbGdvIikub2JqaWQoKSx0aGlzLmtleSgiaXYiKS5vY3RzdHIoKSkpKSx0aGlzLmtleSgic3ViamVjdFByaXZhdGVLZXkiKS5vY3RzdHIoKSl9KTtyLkVuY3J5cHRlZFByaXZhdGVLZXk9Zjt2YXIgYz1uLmRlZmluZSgiRFNBUHJpdmF0ZUtleSIsZnVuY3Rpb24oKXt0aGlzLnNlcSgpLm9iaih0aGlzLmtleSgidmVyc2lvbiIpLmludCgpLHRoaXMua2V5KCJwIikuaW50KCksdGhpcy5rZXkoInEiKS5pbnQoKSx0aGlzLmtleSgiZyIpLmludCgpLHRoaXMua2V5KCJwdWJfa2V5IikuaW50KCksdGhpcy5rZXkoInByaXZfa2V5IikuaW50KCkpfSk7ci5EU0FQcml2YXRlS2V5PWMsci5EU0FwYXJhbT1uLmRlZmluZSgiRFNBcGFyYW0iLGZ1bmN0aW9uKCl7dGhpcy5pbnQoKX0pO3ZhciBoPW4uZGVmaW5lKCJFQ1ByaXZhdGVLZXkiLGZ1bmN0aW9uKCl7dGhpcy5zZXEoKS5vYmoodGhpcy5rZXkoInZlcnNpb24iKS5pbnQoKSx0aGlzLmtleSgicHJpdmF0ZUtleSIpLm9jdHN0cigpLHRoaXMua2V5KCJwYXJhbWV0ZXJzIikub3B0aW9uYWwoKS5leHBsaWNpdCgwKS51c2UoZCksdGhpcy5rZXkoInB1YmxpY0tleSIpLm9wdGlvbmFsKCkuZXhwbGljaXQoMSkuYml0c3RyKCkpfSk7ci5FQ1ByaXZhdGVLZXk9aDt2YXIgZD1uLmRlZmluZSgiRUNQYXJhbWV0ZXJzIixmdW5jdGlvbigpe3RoaXMuY2hvaWNlKHtuYW1lZEN1cnZlOnRoaXMub2JqaWQoKX0pfSk7ci5zaWduYXR1cmU9bi5kZWZpbmUoInNpZ25hdHVyZSIsZnVuY3Rpb24oKXt0aGlzLnNlcSgpLm9iaih0aGlzLmtleSgiciIpLmludCgpLHRoaXMua2V5KCJzIikuaW50KCkpfSl9LHsiLi9jZXJ0aWZpY2F0ZSI6MTExLCJhc24xLmpzIjoxfV0sMTExOltmdW5jdGlvbih0LGUscil7dmFyIG49dCgiYXNuMS5qcyIpLGk9bi5kZWZpbmUoIlRpbWUiLGZ1bmN0aW9uKCl7dGhpcy5jaG9pY2Uoe3V0Y1RpbWU6dGhpcy51dGN0aW1lKCksZ2VuZXJhbFRpbWU6dGhpcy5nZW50aW1lKCl9KX0pLG89bi5kZWZpbmUoIkF0dHJpYnV0ZVR5cGVWYWx1ZSIsZnVuY3Rpb24oKXt0aGlzLnNlcSgpLm9iaih0aGlzLmtleSgidHlwZSIpLm9iamlkKCksdGhpcy5rZXkoInZhbHVlIikuYW55KCkpfSksYT1uLmRlZmluZSgiQWxnb3JpdGhtSWRlbnRpZmllciIsZnVuY3Rpb24oKXt0aGlzLnNlcSgpLm9iaih0aGlzLmtleSgiYWxnb3JpdGhtIikub2JqaWQoKSx0aGlzLmtleSgicGFyYW1ldGVycyIpLm9wdGlvbmFsKCkpfSkscz1uLmRlZmluZSgiU3ViamVjdFB1YmxpY0tleUluZm8iLGZ1bmN0aW9uKCl7dGhpcy5zZXEoKS5vYmoodGhpcy5rZXkoImFsZ29yaXRobSIpLnVzZShhKSx0aGlzLmtleSgic3ViamVjdFB1YmxpY0tleSIpLmJpdHN0cigpKX0pLHU9bi5kZWZpbmUoIlJlbGF0aXZlRGlzdGluZ3Vpc2hlZE5hbWUiLGZ1bmN0aW9uKCl7dGhpcy5zZXRvZihvKX0pLGY9bi5kZWZpbmUoIlJETlNlcXVlbmNlIixmdW5jdGlvbigpe3RoaXMuc2Vxb2YodSl9KSxjPW4uZGVmaW5lKCJOYW1lIixmdW5jdGlvbigpe3RoaXMuY2hvaWNlKHtyZG5TZXF1ZW5jZTp0aGlzLnVzZShmKX0pfSksaD1uLmRlZmluZSgiVmFsaWRpdHkiLGZ1bmN0aW9uKCl7dGhpcy5zZXEoKS5vYmoodGhpcy5rZXkoIm5vdEJlZm9yZSIpLnVzZShpKSx0aGlzLmtleSgibm90QWZ0ZXIiKS51c2UoaSkpfSksZD1uLmRlZmluZSgiRXh0ZW5zaW9uIixmdW5jdGlvbigpe3RoaXMuc2VxKCkub2JqKHRoaXMua2V5KCJleHRuSUQiKS5vYmppZCgpLHRoaXMua2V5KCJjcml0aWNhbCIpLmJvb2woKS5kZWYoITEpLHRoaXMua2V5KCJleHRuVmFsdWUiKS5vY3RzdHIoKSl9KSxsPW4uZGVmaW5lKCJUQlNDZXJ0aWZpY2F0ZSIsZnVuY3Rpb24oKXt0aGlzLnNlcSgpLm9iaih0aGlzLmtleSgidmVyc2lvbiIpLmV4cGxpY2l0KDApLmludCgpLHRoaXMua2V5KCJzZXJpYWxOdW1iZXIiKS5pbnQoKSx0aGlzLmtleSgic2lnbmF0dXJlIikudXNlKGEpLHRoaXMua2V5KCJpc3N1ZXIiKS51c2UoYyksdGhpcy5rZXkoInZhbGlkaXR5IikudXNlKGgpLHRoaXMua2V5KCJzdWJqZWN0IikudXNlKGMpLHRoaXMua2V5KCJzdWJqZWN0UHVibGljS2V5SW5mbyIpLnVzZShzKSx0aGlzLmtleSgiaXNzdWVyVW5pcXVlSUQiKS5pbXBsaWNpdCgxKS5iaXRzdHIoKS5vcHRpb25hbCgpLHRoaXMua2V5KCJzdWJqZWN0VW5pcXVlSUQiKS5pbXBsaWNpdCgyKS5iaXRzdHIoKS5vcHRpb25hbCgpLHRoaXMua2V5KCJleHRlbnNpb25zIikuZXhwbGljaXQoMykuc2Vxb2YoZCkub3B0aW9uYWwoKSl9KSxwPW4uZGVmaW5lKCJYNTA5Q2VydGlmaWNhdGUiLGZ1bmN0aW9uKCl7dGhpcy5zZXEoKS5vYmoodGhpcy5rZXkoInRic0NlcnRpZmljYXRlIikudXNlKGwpLHRoaXMua2V5KCJzaWduYXR1cmVBbGdvcml0aG0iKS51c2UoYSksdGhpcy5rZXkoInNpZ25hdHVyZVZhbHVlIikuYml0c3RyKCkpfSk7ZS5leHBvcnRzPXB9LHsiYXNuMS5qcyI6MX1dLDExMjpbZnVuY3Rpb24odCxlLHIpeyhmdW5jdGlvbihyKXt2YXIgbj0vUHJvYy1UeXBlOiA0LEVOQ1JZUFRFRFxuXHI/REVLLUluZm86IEFFUy0oKD86MTI4KXwoPzoxOTIpfCg/OjI1NikpLUNCQywoWzAtOUEtSF0rKVxuXHI/XG5ccj8oWzAtOUEtelxuXHJcK1wvXD1dKylcblxyPy9tLGk9L14tLS0tLUJFR0lOICgoPzouKiBLRVkpfENFUlRJRklDQVRFKS0tLS0tXG4vbSxvPS9eLS0tLS1CRUdJTiAoKD86LiogS0VZKXxDRVJUSUZJQ0FURSktLS0tLVxuXHI/KFswLTlBLXpcblxyXCtcL1w9XSspXG5ccj8tLS0tLUVORCBcMS0tLS0tJC9tLGE9dCgiZXZwX2J5dGVzdG9rZXkiKSxzPXQoImJyb3dzZXJpZnktYWVzIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIHUsZj10LnRvU3RyaW5nKCksYz1mLm1hdGNoKG4pO2lmKGMpe3ZhciBoPSJhZXMiK2NbMV0sZD1uZXcgcihjWzJdLCJoZXgiKSxsPW5ldyByKGNbM10ucmVwbGFjZSgvXHI/XG4vZywiIiksImJhc2U2NCIpLHA9YShlLGQuc2xpY2UoMCw4KSxwYXJzZUludChjWzFdLDEwKSkua2V5LGI9W10sbT1zLmNyZWF0ZURlY2lwaGVyaXYoaCxwLGQpO2IucHVzaChtLnVwZGF0ZShsKSksYi5wdXNoKG0uZmluYWwoKSksdT1yLmNvbmNhdChiKX1lbHNle3ZhciB5PWYubWF0Y2gobyk7dT1uZXcgcih5WzJdLnJlcGxhY2UoL1xyP1xuL2csIiIpLCJiYXNlNjQiKX1yZXR1cm57dGFnOmYubWF0Y2goaSlbMV0sZGF0YTp1fX19KS5jYWxsKHRoaXMsdCgiYnVmZmVyIikuQnVmZmVyKX0seyJicm93c2VyaWZ5LWFlcyI6MjAsYnVmZmVyOjQ3LGV2cF9ieXRlc3Rva2V5Ojg0fV0sMTEzOltmdW5jdGlvbih0LGUscil7KGZ1bmN0aW9uKHIpe3ZhciBuPXQoIi4vYXNuMSIpLGk9dCgiLi9hZXNpZC5qc29uIiksbz10KCIuL2ZpeFByb2MiKSxhPXQoImJyb3dzZXJpZnktYWVzIikscz10KCJwYmtkZjIiKTtmdW5jdGlvbiB1KHQpe3ZhciBlOyJvYmplY3QiIT09KHZvaWQgMD09PXQ/InVuZGVmaW5lZCI6X3R5cGVvZih0KSl8fHIuaXNCdWZmZXIodCl8fChlPXQucGFzc3BocmFzZSx0PXQua2V5KSwic3RyaW5nIj09dHlwZW9mIHQmJih0PW5ldyByKHQpKTt2YXIgdSxmLGMsaCxkLGwscCxiLG0seSx2LGcsdyxfPW8odCxlKSxNPV8udGFnLHg9Xy5kYXRhO3N3aXRjaChNKXtjYXNlIkNFUlRJRklDQVRFIjpmPW4uY2VydGlmaWNhdGUuZGVjb2RlKHgsImRlciIpLnRic0NlcnRpZmljYXRlLnN1YmplY3RQdWJsaWNLZXlJbmZvO2Nhc2UiUFVCTElDIEtFWSI6c3dpdGNoKGZ8fChmPW4uUHVibGljS2V5LmRlY29kZSh4LCJkZXIiKSksdT1mLmFsZ29yaXRobS5hbGdvcml0aG0uam9pbigiLiIpKXtjYXNlIjEuMi44NDAuMTEzNTQ5LjEuMS4xIjpyZXR1cm4gbi5SU0FQdWJsaWNLZXkuZGVjb2RlKGYuc3ViamVjdFB1YmxpY0tleS5kYXRhLCJkZXIiKTtjYXNlIjEuMi44NDAuMTAwNDUuMi4xIjpyZXR1cm4gZi5zdWJqZWN0UHJpdmF0ZUtleT1mLnN1YmplY3RQdWJsaWNLZXkse3R5cGU6ImVjIixkYXRhOmZ9O2Nhc2UiMS4yLjg0MC4xMDA0MC40LjEiOnJldHVybiBmLmFsZ29yaXRobS5wYXJhbXMucHViX2tleT1uLkRTQXBhcmFtLmRlY29kZShmLnN1YmplY3RQdWJsaWNLZXkuZGF0YSwiZGVyIikse3R5cGU6ImRzYSIsZGF0YTpmLmFsZ29yaXRobS5wYXJhbXN9O2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKCJ1bmtub3duIGtleSBpZCAiK3UpfXRocm93IG5ldyBFcnJvcigidW5rbm93biBrZXkgdHlwZSAiK00pO2Nhc2UiRU5DUllQVEVEIFBSSVZBVEUgS0VZIjp4PW4uRW5jcnlwdGVkUHJpdmF0ZUtleS5kZWNvZGUoeCwiZGVyIiksaD1lLGQ9KGM9eCkuYWxnb3JpdGhtLmRlY3J5cHQua2RlLmtkZXBhcmFtcy5zYWx0LGw9cGFyc2VJbnQoYy5hbGdvcml0aG0uZGVjcnlwdC5rZGUua2RlcGFyYW1zLml0ZXJzLnRvU3RyaW5nKCksMTApLHA9aVtjLmFsZ29yaXRobS5kZWNyeXB0LmNpcGhlci5hbGdvLmpvaW4oIi4iKV0sYj1jLmFsZ29yaXRobS5kZWNyeXB0LmNpcGhlci5pdixtPWMuc3ViamVjdFByaXZhdGVLZXkseT1wYXJzZUludChwLnNwbGl0KCItIilbMV0sMTApLzgsdj1zLnBia2RmMlN5bmMoaCxkLGwseSksZz1hLmNyZWF0ZURlY2lwaGVyaXYocCx2LGIpLCh3PVtdKS5wdXNoKGcudXBkYXRlKG0pKSx3LnB1c2goZy5maW5hbCgpKSx4PXIuY29uY2F0KHcpO2Nhc2UiUFJJVkFURSBLRVkiOnN3aXRjaCh1PShmPW4uUHJpdmF0ZUtleS5kZWNvZGUoeCwiZGVyIikpLmFsZ29yaXRobS5hbGdvcml0aG0uam9pbigiLiIpKXtjYXNlIjEuMi44NDAuMTEzNTQ5LjEuMS4xIjpyZXR1cm4gbi5SU0FQcml2YXRlS2V5LmRlY29kZShmLnN1YmplY3RQcml2YXRlS2V5LCJkZXIiKTtjYXNlIjEuMi44NDAuMTAwNDUuMi4xIjpyZXR1cm57Y3VydmU6Zi5hbGdvcml0aG0uY3VydmUscHJpdmF0ZUtleTpuLkVDUHJpdmF0ZUtleS5kZWNvZGUoZi5zdWJqZWN0UHJpdmF0ZUtleSwiZGVyIikucHJpdmF0ZUtleX07Y2FzZSIxLjIuODQwLjEwMDQwLjQuMSI6cmV0dXJuIGYuYWxnb3JpdGhtLnBhcmFtcy5wcml2X2tleT1uLkRTQXBhcmFtLmRlY29kZShmLnN1YmplY3RQcml2YXRlS2V5LCJkZXIiKSx7dHlwZToiZHNhIixwYXJhbXM6Zi5hbGdvcml0aG0ucGFyYW1zfTtkZWZhdWx0OnRocm93IG5ldyBFcnJvcigidW5rbm93biBrZXkgaWQgIit1KX10aHJvdyBuZXcgRXJyb3IoInVua25vd24ga2V5IHR5cGUgIitNKTtjYXNlIlJTQSBQVUJMSUMgS0VZIjpyZXR1cm4gbi5SU0FQdWJsaWNLZXkuZGVjb2RlKHgsImRlciIpO2Nhc2UiUlNBIFBSSVZBVEUgS0VZIjpyZXR1cm4gbi5SU0FQcml2YXRlS2V5LmRlY29kZSh4LCJkZXIiKTtjYXNlIkRTQSBQUklWQVRFIEtFWSI6cmV0dXJue3R5cGU6ImRzYSIscGFyYW1zOm4uRFNBUHJpdmF0ZUtleS5kZWNvZGUoeCwiZGVyIil9O2Nhc2UiRUMgUFJJVkFURSBLRVkiOnJldHVybntjdXJ2ZTooeD1uLkVDUHJpdmF0ZUtleS5kZWNvZGUoeCwiZGVyIikpLnBhcmFtZXRlcnMudmFsdWUscHJpdmF0ZUtleTp4LnByaXZhdGVLZXl9O2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKCJ1bmtub3duIGtleSB0eXBlICIrTSl9fWUuZXhwb3J0cz11LHUuc2lnbmF0dXJlPW4uc2lnbmF0dXJlfSkuY2FsbCh0aGlzLHQoImJ1ZmZlciIpLkJ1ZmZlcil9LHsiLi9hZXNpZC5qc29uIjoxMDksIi4vYXNuMSI6MTEwLCIuL2ZpeFByb2MiOjExMiwiYnJvd3NlcmlmeS1hZXMiOjIwLGJ1ZmZlcjo0NyxwYmtkZjI6MTE0fV0sMTE0OltmdW5jdGlvbih0LGUscil7ci5wYmtkZjI9dCgiLi9saWIvYXN5bmMiKSxyLnBia2RmMlN5bmM9dCgiLi9saWIvc3luYyIpfSx7Ii4vbGliL2FzeW5jIjoxMTUsIi4vbGliL3N5bmMiOjExOH1dLDExNTpbZnVuY3Rpb24odCxlLHIpeyhmdW5jdGlvbihyLG4pe3ZhciBpLG89dCgiLi9wcmVjb25kaXRpb24iKSxhPXQoIi4vZGVmYXVsdC1lbmNvZGluZyIpLHM9dCgiLi9zeW5jIiksdT10KCJzYWZlLWJ1ZmZlciIpLkJ1ZmZlcixmPW4uY3J5cHRvJiZuLmNyeXB0by5zdWJ0bGUsYz17c2hhOiJTSEEtMSIsInNoYS0xIjoiU0hBLTEiLHNoYTE6IlNIQS0xIixzaGEyNTY6IlNIQS0yNTYiLCJzaGEtMjU2IjoiU0hBLTI1NiIsc2hhMzg0OiJTSEEtMzg0Iiwic2hhLTM4NCI6IlNIQS0zODQiLCJzaGEtNTEyIjoiU0hBLTUxMiIsc2hhNTEyOiJTSEEtNTEyIn0saD1bXTtmdW5jdGlvbiBkKHQsZSxyLG4saSl7cmV0dXJuIGYuaW1wb3J0S2V5KCJyYXciLHQse25hbWU6IlBCS0RGMiJ9LCExLFsiZGVyaXZlQml0cyJdKS50aGVuKGZ1bmN0aW9uKHQpe3JldHVybiBmLmRlcml2ZUJpdHMoe25hbWU6IlBCS0RGMiIsc2FsdDplLGl0ZXJhdGlvbnM6cixoYXNoOntuYW1lOml9fSx0LG48PDMpfSkudGhlbihmdW5jdGlvbih0KXtyZXR1cm4gdS5mcm9tKHQpfSl9ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxsLHAsYixtKXtpZih1LmlzQnVmZmVyKHQpfHwodD11LmZyb20odCxhKSksdS5pc0J1ZmZlcihlKXx8KGU9dS5mcm9tKGUsYSkpLG8obCxwKSwiZnVuY3Rpb24iPT10eXBlb2YgYiYmKG09YixiPXZvaWQgMCksImZ1bmN0aW9uIiE9dHlwZW9mIG0pdGhyb3cgbmV3IEVycm9yKCJObyBjYWxsYmFjayBwcm92aWRlZCB0byBwYmtkZjIiKTt2YXIgeSx2LGc9Y1soYj1ifHwic2hhMSIpLnRvTG93ZXJDYXNlKCldO2lmKCFnfHwiZnVuY3Rpb24iIT10eXBlb2Ygbi5Qcm9taXNlKXJldHVybiByLm5leHRUaWNrKGZ1bmN0aW9uKCl7dmFyIHI7dHJ5e3I9cyh0LGUsbCxwLGIpfWNhdGNoKHQpe3JldHVybiBtKHQpfW0obnVsbCxyKX0pO3k9ZnVuY3Rpb24odCl7aWYobi5wcm9jZXNzJiYhbi5wcm9jZXNzLmJyb3dzZXIpcmV0dXJuIFByb21pc2UucmVzb2x2ZSghMSk7aWYoIWZ8fCFmLmltcG9ydEtleXx8IWYuZGVyaXZlQml0cylyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCExKTtpZih2b2lkIDAhPT1oW3RdKXJldHVybiBoW3RdO3ZhciBlPWQoaT1pfHx1LmFsbG9jKDgpLGksMTAsMTI4LHQpLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4hMH0pLmNhdGNoKGZ1bmN0aW9uKCl7cmV0dXJuITF9KTtyZXR1cm4gaFt0XT1lLGV9KGcpLnRoZW4oZnVuY3Rpb24ocil7cmV0dXJuIHI/ZCh0LGUsbCxwLGcpOnModCxlLGwscCxiKX0pLHY9bSx5LnRoZW4oZnVuY3Rpb24odCl7ci5uZXh0VGljayhmdW5jdGlvbigpe3YobnVsbCx0KX0pfSxmdW5jdGlvbih0KXtyLm5leHRUaWNrKGZ1bmN0aW9uKCl7dih0KX0pfSl9fSkuY2FsbCh0aGlzLHQoIl9wcm9jZXNzIiksInVuZGVmaW5lZCIhPXR5cGVvZiBnbG9iYWw/Z2xvYmFsOiJ1bmRlZmluZWQiIT10eXBlb2Ygc2VsZj9zZWxmOiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93P3dpbmRvdzp7fSl9LHsiLi9kZWZhdWx0LWVuY29kaW5nIjoxMTYsIi4vcHJlY29uZGl0aW9uIjoxMTcsIi4vc3luYyI6MTE4LF9wcm9jZXNzOjEyMCwic2FmZS1idWZmZXIiOjE0N31dLDExNjpbZnVuY3Rpb24odCxlLHIpeyhmdW5jdGlvbih0KXt2YXIgcjt0LmJyb3dzZXI/cj0idXRmLTgiOnI9cGFyc2VJbnQodC52ZXJzaW9uLnNwbGl0KCIuIilbMF0uc2xpY2UoMSksMTApPj02PyJ1dGYtOCI6ImJpbmFyeSI7ZS5leHBvcnRzPXJ9KS5jYWxsKHRoaXMsdCgiX3Byb2Nlc3MiKSl9LHtfcHJvY2VzczoxMjB9XSwxMTc6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbj1NYXRoLnBvdygyLDMwKS0xO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe2lmKCJudW1iZXIiIT10eXBlb2YgdCl0aHJvdyBuZXcgVHlwZUVycm9yKCJJdGVyYXRpb25zIG5vdCBhIG51bWJlciIpO2lmKHQ8MCl0aHJvdyBuZXcgVHlwZUVycm9yKCJCYWQgaXRlcmF0aW9ucyIpO2lmKCJudW1iZXIiIT10eXBlb2YgZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJLZXkgbGVuZ3RoIG5vdCBhIG51bWJlciIpO2lmKGU8MHx8ZT5ufHxlIT1lKXRocm93IG5ldyBUeXBlRXJyb3IoIkJhZCBrZXkgbGVuZ3RoIil9fSx7fV0sMTE4OltmdW5jdGlvbih0LGUscil7dmFyIG49dCgiY3JlYXRlLWhhc2gvbWQ1IiksaT10KCJyaXBlbWQxNjAiKSxvPXQoInNoYS5qcyIpLGE9dCgiLi9wcmVjb25kaXRpb24iKSxzPXQoIi4vZGVmYXVsdC1lbmNvZGluZyIpLHU9dCgic2FmZS1idWZmZXIiKS5CdWZmZXIsZj11LmFsbG9jKDEyOCksYz17bWQ1OjE2LHNoYTE6MjAsc2hhMjI0OjI4LHNoYTI1NjozMixzaGEzODQ6NDgsc2hhNTEyOjY0LHJtZDE2MDoyMCxyaXBlbWQxNjA6MjB9O2Z1bmN0aW9uIGgodCxlLHIpe3ZhciBhPWZ1bmN0aW9uKHQpe3JldHVybiJybWQxNjAiPT09dHx8InJpcGVtZDE2MCI9PT10P2k6Im1kNSI9PT10P246ZnVuY3Rpb24oZSl7cmV0dXJuIG8odCkudXBkYXRlKGUpLmRpZ2VzdCgpfX0odCkscz0ic2hhNTEyIj09PXR8fCJzaGEzODQiPT09dD8xMjg6NjQ7ZS5sZW5ndGg+cz9lPWEoZSk6ZS5sZW5ndGg8cyYmKGU9dS5jb25jYXQoW2UsZl0scykpO2Zvcih2YXIgaD11LmFsbG9jVW5zYWZlKHMrY1t0XSksZD11LmFsbG9jVW5zYWZlKHMrY1t0XSksbD0wO2w8cztsKyspaFtsXT01NF5lW2xdLGRbbF09OTJeZVtsXTt2YXIgcD11LmFsbG9jVW5zYWZlKHMrcis0KTtoLmNvcHkocCwwLDAscyksdGhpcy5pcGFkMT1wLHRoaXMuaXBhZDI9aCx0aGlzLm9wYWQ9ZCx0aGlzLmFsZz10LHRoaXMuYmxvY2tzaXplPXMsdGhpcy5oYXNoPWEsdGhpcy5zaXplPWNbdF19aC5wcm90b3R5cGUucnVuPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQuY29weShlLHRoaXMuYmxvY2tzaXplKSx0aGlzLmhhc2goZSkuY29weSh0aGlzLm9wYWQsdGhpcy5ibG9ja3NpemUpLHRoaXMuaGFzaCh0aGlzLm9wYWQpfSxlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIsbixpKXt1LmlzQnVmZmVyKHQpfHwodD11LmZyb20odCxzKSksdS5pc0J1ZmZlcihlKXx8KGU9dS5mcm9tKGUscykpLGEocixuKTt2YXIgbz1uZXcgaChpPWl8fCJzaGExIix0LGUubGVuZ3RoKSxmPXUuYWxsb2NVbnNhZmUobiksZD11LmFsbG9jVW5zYWZlKGUubGVuZ3RoKzQpO2UuY29weShkLDAsMCxlLmxlbmd0aCk7Zm9yKHZhciBsPTAscD1jW2ldLGI9TWF0aC5jZWlsKG4vcCksbT0xO208PWI7bSsrKXtkLndyaXRlVUludDMyQkUobSxlLmxlbmd0aCk7Zm9yKHZhciB5PW8ucnVuKGQsby5pcGFkMSksdj15LGc9MTtnPHI7ZysrKXt2PW8ucnVuKHYsby5pcGFkMik7Zm9yKHZhciB3PTA7dzxwO3crKyl5W3ddXj12W3ddfXkuY29weShmLGwpLGwrPXB9cmV0dXJuIGZ9fSx7Ii4vZGVmYXVsdC1lbmNvZGluZyI6MTE2LCIuL3ByZWNvbmRpdGlvbiI6MTE3LCJjcmVhdGUtaGFzaC9tZDUiOjUzLHJpcGVtZDE2MDoxNDYsInNhZmUtYnVmZmVyIjoxNDcsInNoYS5qcyI6MTQ5fV0sMTE5OltmdW5jdGlvbih0LGUscil7KGZ1bmN0aW9uKHQpeyF0LnZlcnNpb258fDA9PT10LnZlcnNpb24uaW5kZXhPZigidjAuIil8fDA9PT10LnZlcnNpb24uaW5kZXhPZigidjEuIikmJjAhPT10LnZlcnNpb24uaW5kZXhPZigidjEuOC4iKT9lLmV4cG9ydHM9e25leHRUaWNrOmZ1bmN0aW9uKGUscixuLGkpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBlKXRocm93IG5ldyBUeXBlRXJyb3IoJyJjYWxsYmFjayIgYXJndW1lbnQgbXVzdCBiZSBhIGZ1bmN0aW9uJyk7dmFyIG8sYSxzPWFyZ3VtZW50cy5sZW5ndGg7c3dpdGNoKHMpe2Nhc2UgMDpjYXNlIDE6cmV0dXJuIHQubmV4dFRpY2soZSk7Y2FzZSAyOnJldHVybiB0Lm5leHRUaWNrKGZ1bmN0aW9uKCl7ZS5jYWxsKG51bGwscil9KTtjYXNlIDM6cmV0dXJuIHQubmV4dFRpY2soZnVuY3Rpb24oKXtlLmNhbGwobnVsbCxyLG4pfSk7Y2FzZSA0OnJldHVybiB0Lm5leHRUaWNrKGZ1bmN0aW9uKCl7ZS5jYWxsKG51bGwscixuLGkpfSk7ZGVmYXVsdDpmb3Iobz1uZXcgQXJyYXkocy0xKSxhPTA7YTxvLmxlbmd0aDspb1thKytdPWFyZ3VtZW50c1thXTtyZXR1cm4gdC5uZXh0VGljayhmdW5jdGlvbigpe2UuYXBwbHkobnVsbCxvKX0pfX19OmUuZXhwb3J0cz10fSkuY2FsbCh0aGlzLHQoIl9wcm9jZXNzIikpfSx7X3Byb2Nlc3M6MTIwfV0sMTIwOltmdW5jdGlvbih0LGUscil7dmFyIG4saSxvPWUuZXhwb3J0cz17fTtmdW5jdGlvbiBhKCl7dGhyb3cgbmV3IEVycm9yKCJzZXRUaW1lb3V0IGhhcyBub3QgYmVlbiBkZWZpbmVkIil9ZnVuY3Rpb24gcygpe3Rocm93IG5ldyBFcnJvcigiY2xlYXJUaW1lb3V0IGhhcyBub3QgYmVlbiBkZWZpbmVkIil9ZnVuY3Rpb24gdSh0KXtpZihuPT09c2V0VGltZW91dClyZXR1cm4gc2V0VGltZW91dCh0LDApO2lmKChuPT09YXx8IW4pJiZzZXRUaW1lb3V0KXJldHVybiBuPXNldFRpbWVvdXQsc2V0VGltZW91dCh0LDApO3RyeXtyZXR1cm4gbih0LDApfWNhdGNoKGUpe3RyeXtyZXR1cm4gbi5jYWxsKG51bGwsdCwwKX1jYXRjaChlKXtyZXR1cm4gbi5jYWxsKHRoaXMsdCwwKX19fSFmdW5jdGlvbigpe3RyeXtuPSJmdW5jdGlvbiI9PXR5cGVvZiBzZXRUaW1lb3V0P3NldFRpbWVvdXQ6YX1jYXRjaCh0KXtuPWF9dHJ5e2k9ImZ1bmN0aW9uIj09dHlwZW9mIGNsZWFyVGltZW91dD9jbGVhclRpbWVvdXQ6c31jYXRjaCh0KXtpPXN9fSgpO3ZhciBmLGM9W10saD0hMSxkPS0xO2Z1bmN0aW9uIGwoKXtoJiZmJiYoaD0hMSxmLmxlbmd0aD9jPWYuY29uY2F0KGMpOmQ9LTEsYy5sZW5ndGgmJnAoKSl9ZnVuY3Rpb24gcCgpe2lmKCFoKXt2YXIgdD11KGwpO2g9ITA7Zm9yKHZhciBlPWMubGVuZ3RoO2U7KXtmb3IoZj1jLGM9W107KytkPGU7KWYmJmZbZF0ucnVuKCk7ZD0tMSxlPWMubGVuZ3RofWY9bnVsbCxoPSExLGZ1bmN0aW9uKHQpe2lmKGk9PT1jbGVhclRpbWVvdXQpcmV0dXJuIGNsZWFyVGltZW91dCh0KTtpZigoaT09PXN8fCFpKSYmY2xlYXJUaW1lb3V0KXJldHVybiBpPWNsZWFyVGltZW91dCxjbGVhclRpbWVvdXQodCk7dHJ5e2kodCl9Y2F0Y2goZSl7dHJ5e3JldHVybiBpLmNhbGwobnVsbCx0KX1jYXRjaChlKXtyZXR1cm4gaS5jYWxsKHRoaXMsdCl9fX0odCl9fWZ1bmN0aW9uIGIodCxlKXt0aGlzLmZ1bj10LHRoaXMuYXJyYXk9ZX1mdW5jdGlvbiBtKCl7fW8ubmV4dFRpY2s9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IEFycmF5KGFyZ3VtZW50cy5sZW5ndGgtMSk7aWYoYXJndW1lbnRzLmxlbmd0aD4xKWZvcih2YXIgcj0xO3I8YXJndW1lbnRzLmxlbmd0aDtyKyspZVtyLTFdPWFyZ3VtZW50c1tyXTtjLnB1c2gobmV3IGIodCxlKSksMSE9PWMubGVuZ3RofHxofHx1KHApfSxiLnByb3RvdHlwZS5ydW49ZnVuY3Rpb24oKXt0aGlzLmZ1bi5hcHBseShudWxsLHRoaXMuYXJyYXkpfSxvLnRpdGxlPSJicm93c2VyIixvLmJyb3dzZXI9ITAsby5lbnY9e30sby5hcmd2PVtdLG8udmVyc2lvbj0iIixvLnZlcnNpb25zPXt9LG8ub249bSxvLmFkZExpc3RlbmVyPW0sby5vbmNlPW0sby5vZmY9bSxvLnJlbW92ZUxpc3RlbmVyPW0sby5yZW1vdmVBbGxMaXN0ZW5lcnM9bSxvLmVtaXQ9bSxvLnByZXBlbmRMaXN0ZW5lcj1tLG8ucHJlcGVuZE9uY2VMaXN0ZW5lcj1tLG8ubGlzdGVuZXJzPWZ1bmN0aW9uKHQpe3JldHVybltdfSxvLmJpbmRpbmc9ZnVuY3Rpb24odCl7dGhyb3cgbmV3IEVycm9yKCJwcm9jZXNzLmJpbmRpbmcgaXMgbm90IHN1cHBvcnRlZCIpfSxvLmN3ZD1mdW5jdGlvbigpe3JldHVybiIvIn0sby5jaGRpcj1mdW5jdGlvbih0KXt0aHJvdyBuZXcgRXJyb3IoInByb2Nlc3MuY2hkaXIgaXMgbm90IHN1cHBvcnRlZCIpfSxvLnVtYXNrPWZ1bmN0aW9uKCl7cmV0dXJuIDB9fSx7fV0sMTIxOltmdW5jdGlvbih0LGUscil7ci5wdWJsaWNFbmNyeXB0PXQoIi4vcHVibGljRW5jcnlwdCIpLHIucHJpdmF0ZURlY3J5cHQ9dCgiLi9wcml2YXRlRGVjcnlwdCIpLHIucHJpdmF0ZUVuY3J5cHQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4gci5wdWJsaWNFbmNyeXB0KHQsZSwhMCl9LHIucHVibGljRGVjcnlwdD1mdW5jdGlvbih0LGUpe3JldHVybiByLnByaXZhdGVEZWNyeXB0KHQsZSwhMCl9fSx7Ii4vcHJpdmF0ZURlY3J5cHQiOjEyMywiLi9wdWJsaWNFbmNyeXB0IjoxMjR9XSwxMjI6W2Z1bmN0aW9uKHQsZSxyKXsoZnVuY3Rpb24ocil7dmFyIG49dCgiY3JlYXRlLWhhc2giKTtmdW5jdGlvbiBpKHQpe3ZhciBlPW5ldyByKDQpO3JldHVybiBlLndyaXRlVUludDMyQkUodCwwKSxlfWUuZXhwb3J0cz1mdW5jdGlvbih0LGUpe2Zvcih2YXIgbyxhPW5ldyByKCIiKSxzPTA7YS5sZW5ndGg8ZTspbz1pKHMrKyksYT1yLmNvbmNhdChbYSxuKCJzaGExIikudXBkYXRlKHQpLnVwZGF0ZShvKS5kaWdlc3QoKV0pO3JldHVybiBhLnNsaWNlKDAsZSl9fSkuY2FsbCh0aGlzLHQoImJ1ZmZlciIpLkJ1ZmZlcil9LHtidWZmZXI6NDcsImNyZWF0ZS1oYXNoIjo1MX1dLDEyMzpbZnVuY3Rpb24odCxlLHIpeyhmdW5jdGlvbihyKXt2YXIgbj10KCJwYXJzZS1hc24xIiksaT10KCIuL21nZiIpLG89dCgiLi94b3IiKSxhPXQoImJuLmpzIikscz10KCJicm93c2VyaWZ5LXJzYSIpLHU9dCgiY3JlYXRlLWhhc2giKSxmPXQoIi4vd2l0aFB1YmxpYyIpO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUsYyl7dmFyIGg7aD10LnBhZGRpbmc/dC5wYWRkaW5nOmM/MTo0O3ZhciBkLGw9bih0KSxwPWwubW9kdWx1cy5ieXRlTGVuZ3RoKCk7aWYoZS5sZW5ndGg+cHx8bmV3IGEoZSkuY21wKGwubW9kdWx1cyk+PTApdGhyb3cgbmV3IEVycm9yKCJkZWNyeXB0aW9uIGVycm9yIik7ZD1jP2YobmV3IGEoZSksbCk6cyhlLGwpO3ZhciBiPW5ldyByKHAtZC5sZW5ndGgpO2lmKGIuZmlsbCgwKSxkPXIuY29uY2F0KFtiLGRdLHApLDQ9PT1oKXJldHVybiBmdW5jdGlvbih0LGUpe3QubW9kdWx1czt2YXIgbj10Lm1vZHVsdXMuYnl0ZUxlbmd0aCgpLGE9KGUubGVuZ3RoLHUoInNoYTEiKS51cGRhdGUobmV3IHIoIiIpKS5kaWdlc3QoKSkscz1hLmxlbmd0aDtpZigwIT09ZVswXSl0aHJvdyBuZXcgRXJyb3IoImRlY3J5cHRpb24gZXJyb3IiKTt2YXIgZj1lLnNsaWNlKDEscysxKSxjPWUuc2xpY2UocysxKSxoPW8oZixpKGMscykpLGQ9byhjLGkoaCxuLXMtMSkpO2lmKGZ1bmN0aW9uKHQsZSl7dD1uZXcgcih0KSxlPW5ldyByKGUpO3ZhciBuPTAsaT10Lmxlbmd0aDt0Lmxlbmd0aCE9PWUubGVuZ3RoJiYobisrLGk9TWF0aC5taW4odC5sZW5ndGgsZS5sZW5ndGgpKTt2YXIgbz0tMTtmb3IoOysrbzxpOyluKz10W29dXmVbb107cmV0dXJuIG59KGEsZC5zbGljZSgwLHMpKSl0aHJvdyBuZXcgRXJyb3IoImRlY3J5cHRpb24gZXJyb3IiKTt2YXIgbD1zO2Zvcig7MD09PWRbbF07KWwrKztpZigxIT09ZFtsKytdKXRocm93IG5ldyBFcnJvcigiZGVjcnlwdGlvbiBlcnJvciIpO3JldHVybiBkLnNsaWNlKGwpfShsLGQpO2lmKDE9PT1oKXJldHVybiBmdW5jdGlvbih0LGUscil7dmFyIG49ZS5zbGljZSgwLDIpLGk9MixvPTA7Zm9yKDswIT09ZVtpKytdOylpZihpPj1lLmxlbmd0aCl7bysrO2JyZWFrfXZhciBhPWUuc2xpY2UoMixpLTEpO2Uuc2xpY2UoaS0xLGkpOygiMDAwMiIhPT1uLnRvU3RyaW5nKCJoZXgiKSYmIXJ8fCIwMDAxIiE9PW4udG9TdHJpbmcoImhleCIpJiZyKSYmbysrO2EubGVuZ3RoPDgmJm8rKztpZihvKXRocm93IG5ldyBFcnJvcigiZGVjcnlwdGlvbiBlcnJvciIpO3JldHVybiBlLnNsaWNlKGkpfSgwLGQsYyk7aWYoMz09PWgpcmV0dXJuIGQ7dGhyb3cgbmV3IEVycm9yKCJ1bmtub3duIHBhZGRpbmciKX19KS5jYWxsKHRoaXMsdCgiYnVmZmVyIikuQnVmZmVyKX0seyIuL21nZiI6MTIyLCIuL3dpdGhQdWJsaWMiOjEyNSwiLi94b3IiOjEyNiwiYm4uanMiOiJCTiIsImJyb3dzZXJpZnktcnNhIjozOCxidWZmZXI6NDcsImNyZWF0ZS1oYXNoIjo1MSwicGFyc2UtYXNuMSI6MTEzfV0sMTI0OltmdW5jdGlvbih0LGUscil7KGZ1bmN0aW9uKHIpe3ZhciBuPXQoInBhcnNlLWFzbjEiKSxpPXQoInJhbmRvbWJ5dGVzIiksbz10KCJjcmVhdGUtaGFzaCIpLGE9dCgiLi9tZ2YiKSxzPXQoIi4veG9yIiksdT10KCJibi5qcyIpLGY9dCgiLi93aXRoUHVibGljIiksYz10KCJicm93c2VyaWZ5LXJzYSIpO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUsaCl7dmFyIGQ7ZD10LnBhZGRpbmc/dC5wYWRkaW5nOmg/MTo0O3ZhciBsLHA9bih0KTtpZig0PT09ZClsPWZ1bmN0aW9uKHQsZSl7dmFyIG49dC5tb2R1bHVzLmJ5dGVMZW5ndGgoKSxmPWUubGVuZ3RoLGM9bygic2hhMSIpLnVwZGF0ZShuZXcgcigiIikpLmRpZ2VzdCgpLGg9Yy5sZW5ndGgsZD0yKmg7aWYoZj5uLWQtMil0aHJvdyBuZXcgRXJyb3IoIm1lc3NhZ2UgdG9vIGxvbmciKTt2YXIgbD1uZXcgcihuLWYtZC0yKTtsLmZpbGwoMCk7dmFyIHA9bi1oLTEsYj1pKGgpLG09cyhyLmNvbmNhdChbYyxsLG5ldyByKFsxXSksZV0scCksYShiLHApKSx5PXMoYixhKG0saCkpO3JldHVybiBuZXcgdShyLmNvbmNhdChbbmV3IHIoWzBdKSx5LG1dLG4pKX0ocCxlKTtlbHNlIGlmKDE9PT1kKWw9ZnVuY3Rpb24odCxlLG4pe3ZhciBvLGE9ZS5sZW5ndGgscz10Lm1vZHVsdXMuYnl0ZUxlbmd0aCgpO2lmKGE+cy0xMSl0aHJvdyBuZXcgRXJyb3IoIm1lc3NhZ2UgdG9vIGxvbmciKTtuPyhvPW5ldyByKHMtYS0zKSkuZmlsbCgyNTUpOm89ZnVuY3Rpb24odCxlKXt2YXIgbixvPW5ldyByKHQpLGE9MCxzPWkoMip0KSx1PTA7Zm9yKDthPHQ7KXU9PT1zLmxlbmd0aCYmKHM9aSgyKnQpLHU9MCksKG49c1t1KytdKSYmKG9bYSsrXT1uKTtyZXR1cm4gb30ocy1hLTMpO3JldHVybiBuZXcgdShyLmNvbmNhdChbbmV3IHIoWzAsbj8xOjJdKSxvLG5ldyByKFswXSksZV0scykpfShwLGUsaCk7ZWxzZXtpZigzIT09ZCl0aHJvdyBuZXcgRXJyb3IoInVua25vd24gcGFkZGluZyIpO2lmKChsPW5ldyB1KGUpKS5jbXAocC5tb2R1bHVzKT49MCl0aHJvdyBuZXcgRXJyb3IoImRhdGEgdG9vIGxvbmcgZm9yIG1vZHVsdXMiKX1yZXR1cm4gaD9jKGwscCk6ZihsLHApfX0pLmNhbGwodGhpcyx0KCJidWZmZXIiKS5CdWZmZXIpfSx7Ii4vbWdmIjoxMjIsIi4vd2l0aFB1YmxpYyI6MTI1LCIuL3hvciI6MTI2LCJibi5qcyI6IkJOIiwiYnJvd3NlcmlmeS1yc2EiOjM4LGJ1ZmZlcjo0NywiY3JlYXRlLWhhc2giOjUxLCJwYXJzZS1hc24xIjoxMTMscmFuZG9tYnl0ZXM6MTMxfV0sMTI1OltmdW5jdGlvbih0LGUscil7KGZ1bmN0aW9uKHIpe3ZhciBuPXQoImJuLmpzIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIG5ldyByKHQudG9SZWQobi5tb250KGUubW9kdWx1cykpLnJlZFBvdyhuZXcgbihlLnB1YmxpY0V4cG9uZW50KSkuZnJvbVJlZCgpLnRvQXJyYXkoKSl9fSkuY2FsbCh0aGlzLHQoImJ1ZmZlciIpLkJ1ZmZlcil9LHsiYm4uanMiOiJCTiIsYnVmZmVyOjQ3fV0sMTI2OltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPXQubGVuZ3RoLG49LTE7KytuPHI7KXRbbl1ePWVbbl07cmV0dXJuIHR9fSx7fV0sMTI3OltmdW5jdGlvbih0LGUscil7KGZ1bmN0aW9uKHQpeyFmdW5jdGlvbihuKXt2YXIgaT0ib2JqZWN0Ij09KHZvaWQgMD09PXI/InVuZGVmaW5lZCI6X3R5cGVvZihyKSkmJnImJiFyLm5vZGVUeXBlJiZyLG89Im9iamVjdCI9PSh2b2lkIDA9PT1lPyJ1bmRlZmluZWQiOl90eXBlb2YoZSkpJiZlJiYhZS5ub2RlVHlwZSYmZSxhPSJvYmplY3QiPT0odm9pZCAwPT09dD8idW5kZWZpbmVkIjpfdHlwZW9mKHQpKSYmdDthLmdsb2JhbCE9PWEmJmEud2luZG93IT09YSYmYS5zZWxmIT09YXx8KG49YSk7dmFyIHMsdSxmPTIxNDc0ODM2NDcsYz0zNixoPTEsZD0yNixsPTM4LHA9NzAwLGI9NzIsbT0xMjgseT0iLSIsdj0vXnhuLS0vLGc9L1teXHgyMC1ceDdFXS8sdz0vW1x4MkVcdTMwMDJcdUZGMEVcdUZGNjFdL2csXz17b3ZlcmZsb3c6Ik92ZXJmbG93OiBpbnB1dCBuZWVkcyB3aWRlciBpbnRlZ2VycyB0byBwcm9jZXNzIiwibm90LWJhc2ljIjoiSWxsZWdhbCBpbnB1dCA+PSAweDgwIChub3QgYSBiYXNpYyBjb2RlIHBvaW50KSIsImludmFsaWQtaW5wdXQiOiJJbnZhbGlkIGlucHV0In0sTT1jLWgseD1NYXRoLmZsb29yLGs9U3RyaW5nLmZyb21DaGFyQ29kZTtmdW5jdGlvbiBTKHQpe3Rocm93IG5ldyBSYW5nZUVycm9yKF9bdF0pfWZ1bmN0aW9uIEUodCxlKXtmb3IodmFyIHI9dC5sZW5ndGgsbj1bXTtyLS07KW5bcl09ZSh0W3JdKTtyZXR1cm4gbn1mdW5jdGlvbiBBKHQsZSl7dmFyIHI9dC5zcGxpdCgiQCIpLG49IiI7cmV0dXJuIHIubGVuZ3RoPjEmJihuPXJbMF0rIkAiLHQ9clsxXSksbitFKCh0PXQucmVwbGFjZSh3LCIuIikpLnNwbGl0KCIuIiksZSkuam9pbigiLiIpfWZ1bmN0aW9uIGoodCl7Zm9yKHZhciBlLHIsbj1bXSxpPTAsbz10Lmxlbmd0aDtpPG87KShlPXQuY2hhckNvZGVBdChpKyspKT49NTUyOTYmJmU8PTU2MzE5JiZpPG8/NTYzMjA9PSg2NDUxMiYocj10LmNoYXJDb2RlQXQoaSsrKSkpP24ucHVzaCgoKDEwMjMmZSk8PDEwKSsoMTAyMyZyKSs2NTUzNik6KG4ucHVzaChlKSxpLS0pOm4ucHVzaChlKTtyZXR1cm4gbn1mdW5jdGlvbiBJKHQpe3JldHVybiBFKHQsZnVuY3Rpb24odCl7dmFyIGU9IiI7cmV0dXJuIHQ+NjU1MzUmJihlKz1rKCh0LT02NTUzNik+Pj4xMCYxMDIzfDU1Mjk2KSx0PTU2MzIwfDEwMjMmdCksZSs9ayh0KX0pLmpvaW4oIiIpfWZ1bmN0aW9uIEIodCxlKXtyZXR1cm4gdCsyMis3NSoodDwyNiktKCgwIT1lKTw8NSl9ZnVuY3Rpb24gVCh0LGUscil7dmFyIG49MDtmb3IodD1yP3godC9wKTp0Pj4xLHQrPXgodC9lKTt0Pk0qZD4+MTtuKz1jKXQ9eCh0L00pO3JldHVybiB4KG4rKE0rMSkqdC8odCtsKSl9ZnVuY3Rpb24gQyh0KXt2YXIgZSxyLG4saSxvLGEscyx1LGwscCx2LGc9W10sdz10Lmxlbmd0aCxfPTAsTT1tLGs9Yjtmb3IoKHI9dC5sYXN0SW5kZXhPZih5KSk8MCYmKHI9MCksbj0wO248cjsrK24pdC5jaGFyQ29kZUF0KG4pPj0xMjgmJlMoIm5vdC1iYXNpYyIpLGcucHVzaCh0LmNoYXJDb2RlQXQobikpO2ZvcihpPXI+MD9yKzE6MDtpPHc7KXtmb3Iobz1fLGE9MSxzPWM7aT49dyYmUygiaW52YWxpZC1pbnB1dCIpLCgodT0odj10LmNoYXJDb2RlQXQoaSsrKSktNDg8MTA/di0yMjp2LTY1PDI2P3YtNjU6di05NzwyNj92LTk3OmMpPj1jfHx1PngoKGYtXykvYSkpJiZTKCJvdmVyZmxvdyIpLF8rPXUqYSwhKHU8KGw9czw9az9oOnM+PWsrZD9kOnMtaykpO3MrPWMpYT54KGYvKHA9Yy1sKSkmJlMoIm92ZXJmbG93IiksYSo9cDtrPVQoXy1vLGU9Zy5sZW5ndGgrMSwwPT1vKSx4KF8vZSk+Zi1NJiZTKCJvdmVyZmxvdyIpLE0rPXgoXy9lKSxfJT1lLGcuc3BsaWNlKF8rKywwLE0pfXJldHVybiBJKGcpfWZ1bmN0aW9uIFAodCl7dmFyIGUscixuLGksbyxhLHMsdSxsLHAsdixnLHcsXyxNLEU9W107Zm9yKGc9KHQ9aih0KSkubGVuZ3RoLGU9bSxyPTAsbz1iLGE9MDthPGc7KythKSh2PXRbYV0pPDEyOCYmRS5wdXNoKGsodikpO2ZvcihuPWk9RS5sZW5ndGgsaSYmRS5wdXNoKHkpO248Zzspe2ZvcihzPWYsYT0wO2E8ZzsrK2EpKHY9dFthXSk+PWUmJnY8cyYmKHM9dik7Zm9yKHMtZT54KChmLXIpLyh3PW4rMSkpJiZTKCJvdmVyZmxvdyIpLHIrPShzLWUpKncsZT1zLGE9MDthPGc7KythKWlmKCh2PXRbYV0pPGUmJisrcj5mJiZTKCJvdmVyZmxvdyIpLHY9PWUpe2Zvcih1PXIsbD1jOyEodTwocD1sPD1vP2g6bD49bytkP2Q6bC1vKSk7bCs9YylNPXUtcCxfPWMtcCxFLnB1c2goayhCKHArTSVfLDApKSksdT14KE0vXyk7RS5wdXNoKGsoQih1LDApKSksbz1UKHIsdyxuPT1pKSxyPTAsKytufSsrciwrK2V9cmV0dXJuIEUuam9pbigiIil9aWYocz17dmVyc2lvbjoiMS40LjEiLHVjczI6e2RlY29kZTpqLGVuY29kZTpJfSxkZWNvZGU6QyxlbmNvZGU6UCx0b0FTQ0lJOmZ1bmN0aW9uKHQpe3JldHVybiBBKHQsZnVuY3Rpb24odCl7cmV0dXJuIGcudGVzdCh0KT8ieG4tLSIrUCh0KTp0fSl9LHRvVW5pY29kZTpmdW5jdGlvbih0KXtyZXR1cm4gQSh0LGZ1bmN0aW9uKHQpe3JldHVybiB2LnRlc3QodCk/Qyh0LnNsaWNlKDQpLnRvTG93ZXJDYXNlKCkpOnR9KX19LCJmdW5jdGlvbiI9PXR5cGVvZiBkZWZpbmUmJiJvYmplY3QiPT1fdHlwZW9mKGRlZmluZS5hbWQpJiZkZWZpbmUuYW1kKWRlZmluZSgicHVueWNvZGUiLGZ1bmN0aW9uKCl7cmV0dXJuIHN9KTtlbHNlIGlmKGkmJm8paWYoZS5leHBvcnRzPT1pKW8uZXhwb3J0cz1zO2Vsc2UgZm9yKHUgaW4gcylzLmhhc093blByb3BlcnR5KHUpJiYoaVt1XT1zW3VdKTtlbHNlIG4ucHVueWNvZGU9c30odGhpcyl9KS5jYWxsKHRoaXMsInVuZGVmaW5lZCIhPXR5cGVvZiBnbG9iYWw/Z2xvYmFsOiJ1bmRlZmluZWQiIT10eXBlb2Ygc2VsZj9zZWxmOiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93P3dpbmRvdzp7fSl9LHt9XSwxMjg6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLHIsaSl7ZT1lfHwiJiIscj1yfHwiPSI7dmFyIG89e307aWYoInN0cmluZyIhPXR5cGVvZiB0fHwwPT09dC5sZW5ndGgpcmV0dXJuIG87dmFyIGE9L1wrL2c7dD10LnNwbGl0KGUpO3ZhciBzPTFlMztpJiYibnVtYmVyIj09dHlwZW9mIGkubWF4S2V5cyYmKHM9aS5tYXhLZXlzKTt2YXIgdSxmLGM9dC5sZW5ndGg7cz4wJiZjPnMmJihjPXMpO2Zvcih2YXIgaD0wO2g8YzsrK2gpe3ZhciBkLGwscCxiLG09dFtoXS5yZXBsYWNlKGEsIiUyMCIpLHk9bS5pbmRleE9mKHIpO3k+PTA/KGQ9bS5zdWJzdHIoMCx5KSxsPW0uc3Vic3RyKHkrMSkpOihkPW0sbD0iIikscD1kZWNvZGVVUklDb21wb25lbnQoZCksYj1kZWNvZGVVUklDb21wb25lbnQobCksdT1vLGY9cCxPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodSxmKT9uKG9bcF0pP29bcF0ucHVzaChiKTpvW3BdPVtvW3BdLGJdOm9bcF09Yn1yZXR1cm4gb307dmFyIG49QXJyYXkuaXNBcnJheXx8ZnVuY3Rpb24odCl7cmV0dXJuIltvYmplY3QgQXJyYXldIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KX19LHt9XSwxMjk6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbj1mdW5jdGlvbih0KXtzd2l0Y2godm9pZCAwPT09dD8idW5kZWZpbmVkIjpfdHlwZW9mKHQpKXtjYXNlInN0cmluZyI6cmV0dXJuIHQ7Y2FzZSJib29sZWFuIjpyZXR1cm4gdD8idHJ1ZSI6ImZhbHNlIjtjYXNlIm51bWJlciI6cmV0dXJuIGlzRmluaXRlKHQpP3Q6IiI7ZGVmYXVsdDpyZXR1cm4iIn19O2UuZXhwb3J0cz1mdW5jdGlvbih0LGUscixzKXtyZXR1cm4gZT1lfHwiJiIscj1yfHwiPSIsbnVsbD09PXQmJih0PXZvaWQgMCksIm9iamVjdCI9PT0odm9pZCAwPT09dD8idW5kZWZpbmVkIjpfdHlwZW9mKHQpKT9vKGEodCksZnVuY3Rpb24oYSl7dmFyIHM9ZW5jb2RlVVJJQ29tcG9uZW50KG4oYSkpK3I7cmV0dXJuIGkodFthXSk/byh0W2FdLGZ1bmN0aW9uKHQpe3JldHVybiBzK2VuY29kZVVSSUNvbXBvbmVudChuKHQpKX0pLmpvaW4oZSk6cytlbmNvZGVVUklDb21wb25lbnQobih0W2FdKSl9KS5qb2luKGUpOnM/ZW5jb2RlVVJJQ29tcG9uZW50KG4ocykpK3IrZW5jb2RlVVJJQ29tcG9uZW50KG4odCkpOiIifTt2YXIgaT1BcnJheS5pc0FycmF5fHxmdW5jdGlvbih0KXtyZXR1cm4iW29iamVjdCBBcnJheV0iPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpfTtmdW5jdGlvbiBvKHQsZSl7aWYodC5tYXApcmV0dXJuIHQubWFwKGUpO2Zvcih2YXIgcj1bXSxuPTA7bjx0Lmxlbmd0aDtuKyspci5wdXNoKGUodFtuXSxuKSk7cmV0dXJuIHJ9dmFyIGE9T2JqZWN0LmtleXN8fGZ1bmN0aW9uKHQpe3ZhciBlPVtdO2Zvcih2YXIgciBpbiB0KU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LHIpJiZlLnB1c2gocik7cmV0dXJuIGV9fSx7fV0sMTMwOltmdW5jdGlvbih0LGUscil7ci5kZWNvZGU9ci5wYXJzZT10KCIuL2RlY29kZSIpLHIuZW5jb2RlPXIuc3RyaW5naWZ5PXQoIi4vZW5jb2RlIil9LHsiLi9kZWNvZGUiOjEyOCwiLi9lbmNvZGUiOjEyOX1dLDEzMTpbZnVuY3Rpb24odCxlLHIpeyhmdW5jdGlvbihyLG4pe3ZhciBpPXQoInNhZmUtYnVmZmVyIikuQnVmZmVyLG89bi5jcnlwdG98fG4ubXNDcnlwdG87byYmby5nZXRSYW5kb21WYWx1ZXM/ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7aWYodD42NTUzNil0aHJvdyBuZXcgRXJyb3IoInJlcXVlc3RlZCB0b28gbWFueSByYW5kb20gYnl0ZXMiKTt2YXIgYT1uZXcgbi5VaW50OEFycmF5KHQpO3Q+MCYmby5nZXRSYW5kb21WYWx1ZXMoYSk7dmFyIHM9aS5mcm9tKGEuYnVmZmVyKTtpZigiZnVuY3Rpb24iPT10eXBlb2YgZSlyZXR1cm4gci5uZXh0VGljayhmdW5jdGlvbigpe2UobnVsbCxzKX0pO3JldHVybiBzfTplLmV4cG9ydHM9ZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoIlNlY3VyZSByYW5kb20gbnVtYmVyIGdlbmVyYXRpb24gaXMgbm90IHN1cHBvcnRlZCBieSB0aGlzIGJyb3dzZXIuXG5Vc2UgQ2hyb21lLCBGaXJlZm94IG9yIEludGVybmV0IEV4cGxvcmVyIDExIil9fSkuY2FsbCh0aGlzLHQoIl9wcm9jZXNzIiksInVuZGVmaW5lZCIhPXR5cGVvZiBnbG9iYWw/Z2xvYmFsOiJ1bmRlZmluZWQiIT10eXBlb2Ygc2VsZj9zZWxmOiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93P3dpbmRvdzp7fSl9LHtfcHJvY2VzczoxMjAsInNhZmUtYnVmZmVyIjoxNDd9XSwxMzI6W2Z1bmN0aW9uKHQsZSxyKXsoZnVuY3Rpb24oZSxuKXtmdW5jdGlvbiBpKCl7dGhyb3cgbmV3IEVycm9yKCJzZWN1cmUgcmFuZG9tIG51bWJlciBnZW5lcmF0aW9uIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBicm93c2VyXG51c2UgY2hyb21lLCBGaXJlRm94IG9yIEludGVybmV0IEV4cGxvcmVyIDExIil9dmFyIG89dCgic2FmZS1idWZmZXIiKSxhPXQoInJhbmRvbWJ5dGVzIikscz1vLkJ1ZmZlcix1PW8ua01heExlbmd0aCxmPW4uY3J5cHRvfHxuLm1zQ3J5cHRvLGM9TWF0aC5wb3coMiwzMiktMTtmdW5jdGlvbiBoKHQsZSl7aWYoIm51bWJlciIhPXR5cGVvZiB0fHx0IT10KXRocm93IG5ldyBUeXBlRXJyb3IoIm9mZnNldCBtdXN0IGJlIGEgbnVtYmVyIik7aWYodD5jfHx0PDApdGhyb3cgbmV3IFR5cGVFcnJvcigib2Zmc2V0IG11c3QgYmUgYSB1aW50MzIiKTtpZih0PnV8fHQ+ZSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigib2Zmc2V0IG91dCBvZiByYW5nZSIpfWZ1bmN0aW9uIGQodCxlLHIpe2lmKCJudW1iZXIiIT10eXBlb2YgdHx8dCE9dCl0aHJvdyBuZXcgVHlwZUVycm9yKCJzaXplIG11c3QgYmUgYSBudW1iZXIiKTtpZih0PmN8fHQ8MCl0aHJvdyBuZXcgVHlwZUVycm9yKCJzaXplIG11c3QgYmUgYSB1aW50MzIiKTtpZih0K2U+cnx8dD51KXRocm93IG5ldyBSYW5nZUVycm9yKCJidWZmZXIgdG9vIHNtYWxsIil9ZnVuY3Rpb24gbCh0LHIsbixpKXtpZihlLmJyb3dzZXIpe3ZhciBvPXQuYnVmZmVyLHM9bmV3IFVpbnQ4QXJyYXkobyxyLG4pO3JldHVybiBmLmdldFJhbmRvbVZhbHVlcyhzKSxpP3ZvaWQgZS5uZXh0VGljayhmdW5jdGlvbigpe2kobnVsbCx0KX0pOnR9aWYoIWkpcmV0dXJuIGEobikuY29weSh0LHIpLHQ7YShuLGZ1bmN0aW9uKGUsbil7aWYoZSlyZXR1cm4gaShlKTtuLmNvcHkodCxyKSxpKG51bGwsdCl9KX1mJiZmLmdldFJhbmRvbVZhbHVlc3x8IWUuYnJvd3Nlcj8oci5yYW5kb21GaWxsPWZ1bmN0aW9uKHQsZSxyLGkpe2lmKCEocy5pc0J1ZmZlcih0KXx8dCBpbnN0YW5jZW9mIG4uVWludDhBcnJheSkpdGhyb3cgbmV3IFR5cGVFcnJvcignImJ1ZiIgYXJndW1lbnQgbXVzdCBiZSBhIEJ1ZmZlciBvciBVaW50OEFycmF5Jyk7aWYoImZ1bmN0aW9uIj09dHlwZW9mIGUpaT1lLGU9MCxyPXQubGVuZ3RoO2Vsc2UgaWYoImZ1bmN0aW9uIj09dHlwZW9mIHIpaT1yLHI9dC5sZW5ndGgtZTtlbHNlIGlmKCJmdW5jdGlvbiIhPXR5cGVvZiBpKXRocm93IG5ldyBUeXBlRXJyb3IoJyJjYiIgYXJndW1lbnQgbXVzdCBiZSBhIGZ1bmN0aW9uJyk7cmV0dXJuIGgoZSx0Lmxlbmd0aCksZChyLGUsdC5sZW5ndGgpLGwodCxlLHIsaSl9LHIucmFuZG9tRmlsbFN5bmM9ZnVuY3Rpb24odCxlLHIpe3ZvaWQgMD09PWUmJihlPTApO2lmKCEocy5pc0J1ZmZlcih0KXx8dCBpbnN0YW5jZW9mIG4uVWludDhBcnJheSkpdGhyb3cgbmV3IFR5cGVFcnJvcignImJ1ZiIgYXJndW1lbnQgbXVzdCBiZSBhIEJ1ZmZlciBvciBVaW50OEFycmF5Jyk7aChlLHQubGVuZ3RoKSx2b2lkIDA9PT1yJiYocj10Lmxlbmd0aC1lKTtyZXR1cm4gZChyLGUsdC5sZW5ndGgpLGwodCxlLHIpfSk6KHIucmFuZG9tRmlsbD1pLHIucmFuZG9tRmlsbFN5bmM9aSl9KS5jYWxsKHRoaXMsdCgiX3Byb2Nlc3MiKSwidW5kZWZpbmVkIiE9dHlwZW9mIGdsb2JhbD9nbG9iYWw6InVuZGVmaW5lZCIhPXR5cGVvZiBzZWxmP3NlbGY6InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3c/d2luZG93Ont9KX0se19wcm9jZXNzOjEyMCxyYW5kb21ieXRlczoxMzEsInNhZmUtYnVmZmVyIjoxNDd9XSwxMzM6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9dCgiLi9saWIvX3N0cmVhbV9kdXBsZXguanMiKX0seyIuL2xpYi9fc3RyZWFtX2R1cGxleC5qcyI6MTM0fV0sMTM0OltmdW5jdGlvbih0LGUscil7dmFyIG49dCgicHJvY2Vzcy1uZXh0aWNrLWFyZ3MiKS5uZXh0VGljayxpPU9iamVjdC5rZXlzfHxmdW5jdGlvbih0KXt2YXIgZT1bXTtmb3IodmFyIHIgaW4gdCllLnB1c2gocik7cmV0dXJuIGV9O2UuZXhwb3J0cz1oO3ZhciBvPXQoImNvcmUtdXRpbC1pcyIpO28uaW5oZXJpdHM9dCgiaW5oZXJpdHMiKTt2YXIgYT10KCIuL19zdHJlYW1fcmVhZGFibGUiKSxzPXQoIi4vX3N0cmVhbV93cml0YWJsZSIpO28uaW5oZXJpdHMoaCxhKTtmb3IodmFyIHU9aShzLnByb3RvdHlwZSksZj0wO2Y8dS5sZW5ndGg7ZisrKXt2YXIgYz11W2ZdO2gucHJvdG90eXBlW2NdfHwoaC5wcm90b3R5cGVbY109cy5wcm90b3R5cGVbY10pfWZ1bmN0aW9uIGgodCl7aWYoISh0aGlzIGluc3RhbmNlb2YgaCkpcmV0dXJuIG5ldyBoKHQpO2EuY2FsbCh0aGlzLHQpLHMuY2FsbCh0aGlzLHQpLHQmJiExPT09dC5yZWFkYWJsZSYmKHRoaXMucmVhZGFibGU9ITEpLHQmJiExPT09dC53cml0YWJsZSYmKHRoaXMud3JpdGFibGU9ITEpLHRoaXMuYWxsb3dIYWxmT3Blbj0hMCx0JiYhMT09PXQuYWxsb3dIYWxmT3BlbiYmKHRoaXMuYWxsb3dIYWxmT3Blbj0hMSksdGhpcy5vbmNlKCJlbmQiLGQpfWZ1bmN0aW9uIGQoKXt0aGlzLmFsbG93SGFsZk9wZW58fHRoaXMuX3dyaXRhYmxlU3RhdGUuZW5kZWR8fG4obCx0aGlzKX1mdW5jdGlvbiBsKHQpe3QuZW5kKCl9T2JqZWN0LmRlZmluZVByb3BlcnR5KGgucHJvdG90eXBlLCJkZXN0cm95ZWQiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdm9pZCAwIT09dGhpcy5fcmVhZGFibGVTdGF0ZSYmdm9pZCAwIT09dGhpcy5fd3JpdGFibGVTdGF0ZSYmKHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkJiZ0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZCl9LHNldDpmdW5jdGlvbih0KXt2b2lkIDAhPT10aGlzLl9yZWFkYWJsZVN0YXRlJiZ2b2lkIDAhPT10aGlzLl93cml0YWJsZVN0YXRlJiYodGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWQ9dCx0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZD10KX19KSxoLnByb3RvdHlwZS5fZGVzdHJveT1mdW5jdGlvbih0LGUpe3RoaXMucHVzaChudWxsKSx0aGlzLmVuZCgpLG4oZSx0KX19LHsiLi9fc3RyZWFtX3JlYWRhYmxlIjoxMzYsIi4vX3N0cmVhbV93cml0YWJsZSI6MTM4LCJjb3JlLXV0aWwtaXMiOjQ5LGluaGVyaXRzOjEwMSwicHJvY2Vzcy1uZXh0aWNrLWFyZ3MiOjExOX1dLDEzNTpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1vO3ZhciBuPXQoIi4vX3N0cmVhbV90cmFuc2Zvcm0iKSxpPXQoImNvcmUtdXRpbC1pcyIpO2Z1bmN0aW9uIG8odCl7aWYoISh0aGlzIGluc3RhbmNlb2YgbykpcmV0dXJuIG5ldyBvKHQpO24uY2FsbCh0aGlzLHQpfWkuaW5oZXJpdHM9dCgiaW5oZXJpdHMiKSxpLmluaGVyaXRzKG8sbiksby5wcm90b3R5cGUuX3RyYW5zZm9ybT1mdW5jdGlvbih0LGUscil7cihudWxsLHQpfX0seyIuL19zdHJlYW1fdHJhbnNmb3JtIjoxMzcsImNvcmUtdXRpbC1pcyI6NDksaW5oZXJpdHM6MTAxfV0sMTM2OltmdW5jdGlvbih0LGUscil7KGZ1bmN0aW9uKHIsbil7dmFyIGk9dCgicHJvY2Vzcy1uZXh0aWNrLWFyZ3MiKS5uZXh0VGljaztlLmV4cG9ydHM9Zzt2YXIgbyxhPXQoImlzYXJyYXkiKTtnLlJlYWRhYmxlU3RhdGU9djt0KCJldmVudHMiKS5FdmVudEVtaXR0ZXI7dmFyIHM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdC5saXN0ZW5lcnMoZSkubGVuZ3RofSx1PXQoIi4vaW50ZXJuYWwvc3RyZWFtcy9zdHJlYW0iKSxmPXQoInNhZmUtYnVmZmVyIikuQnVmZmVyLGM9bi5VaW50OEFycmF5fHxmdW5jdGlvbigpe307dmFyIGg9dCgiY29yZS11dGlsLWlzIik7aC5pbmhlcml0cz10KCJpbmhlcml0cyIpO3ZhciBkPXQoInV0aWwiKSxsPXZvaWQgMDtsPWQmJmQuZGVidWdsb2c/ZC5kZWJ1Z2xvZygic3RyZWFtIik6ZnVuY3Rpb24oKXt9O3ZhciBwLGI9dCgiLi9pbnRlcm5hbC9zdHJlYW1zL0J1ZmZlckxpc3QiKSxtPXQoIi4vaW50ZXJuYWwvc3RyZWFtcy9kZXN0cm95Iik7aC5pbmhlcml0cyhnLHUpO3ZhciB5PVsiZXJyb3IiLCJjbG9zZSIsImRlc3Ryb3kiLCJwYXVzZSIsInJlc3VtZSJdO2Z1bmN0aW9uIHYoZSxyKXtlPWV8fHt9O3ZhciBuPXIgaW5zdGFuY2VvZihvPW98fHQoIi4vX3N0cmVhbV9kdXBsZXgiKSk7dGhpcy5vYmplY3RNb2RlPSEhZS5vYmplY3RNb2RlLG4mJih0aGlzLm9iamVjdE1vZGU9dGhpcy5vYmplY3RNb2RlfHwhIWUucmVhZGFibGVPYmplY3RNb2RlKTt2YXIgaT1lLmhpZ2hXYXRlck1hcmssYT1lLnJlYWRhYmxlSGlnaFdhdGVyTWFyayxzPXRoaXMub2JqZWN0TW9kZT8xNjoxNjM4NDt0aGlzLmhpZ2hXYXRlck1hcms9aXx8MD09PWk/aTpuJiYoYXx8MD09PWEpP2E6cyx0aGlzLmhpZ2hXYXRlck1hcms9TWF0aC5mbG9vcih0aGlzLmhpZ2hXYXRlck1hcmspLHRoaXMuYnVmZmVyPW5ldyBiLHRoaXMubGVuZ3RoPTAsdGhpcy5waXBlcz1udWxsLHRoaXMucGlwZXNDb3VudD0wLHRoaXMuZmxvd2luZz1udWxsLHRoaXMuZW5kZWQ9ITEsdGhpcy5lbmRFbWl0dGVkPSExLHRoaXMucmVhZGluZz0hMSx0aGlzLnN5bmM9ITAsdGhpcy5uZWVkUmVhZGFibGU9ITEsdGhpcy5lbWl0dGVkUmVhZGFibGU9ITEsdGhpcy5yZWFkYWJsZUxpc3RlbmluZz0hMSx0aGlzLnJlc3VtZVNjaGVkdWxlZD0hMSx0aGlzLmRlc3Ryb3llZD0hMSx0aGlzLmRlZmF1bHRFbmNvZGluZz1lLmRlZmF1bHRFbmNvZGluZ3x8InV0ZjgiLHRoaXMuYXdhaXREcmFpbj0wLHRoaXMucmVhZGluZ01vcmU9ITEsdGhpcy5kZWNvZGVyPW51bGwsdGhpcy5lbmNvZGluZz1udWxsLGUuZW5jb2RpbmcmJihwfHwocD10KCJzdHJpbmdfZGVjb2Rlci8iKS5TdHJpbmdEZWNvZGVyKSx0aGlzLmRlY29kZXI9bmV3IHAoZS5lbmNvZGluZyksdGhpcy5lbmNvZGluZz1lLmVuY29kaW5nKX1mdW5jdGlvbiBnKGUpe2lmKG89b3x8dCgiLi9fc3RyZWFtX2R1cGxleCIpLCEodGhpcyBpbnN0YW5jZW9mIGcpKXJldHVybiBuZXcgZyhlKTt0aGlzLl9yZWFkYWJsZVN0YXRlPW5ldyB2KGUsdGhpcyksdGhpcy5yZWFkYWJsZT0hMCxlJiYoImZ1bmN0aW9uIj09dHlwZW9mIGUucmVhZCYmKHRoaXMuX3JlYWQ9ZS5yZWFkKSwiZnVuY3Rpb24iPT10eXBlb2YgZS5kZXN0cm95JiYodGhpcy5fZGVzdHJveT1lLmRlc3Ryb3kpKSx1LmNhbGwodGhpcyl9ZnVuY3Rpb24gdyh0LGUscixuLGkpe3ZhciBvLGEscyx1PXQuX3JlYWRhYmxlU3RhdGU7bnVsbD09PWU/KHUucmVhZGluZz0hMSxmdW5jdGlvbih0LGUpe2lmKGUuZW5kZWQpcmV0dXJuO2lmKGUuZGVjb2Rlcil7dmFyIHI9ZS5kZWNvZGVyLmVuZCgpO3ImJnIubGVuZ3RoJiYoZS5idWZmZXIucHVzaChyKSxlLmxlbmd0aCs9ZS5vYmplY3RNb2RlPzE6ci5sZW5ndGgpfWUuZW5kZWQ9ITAsayh0KX0odCx1KSk6KGl8fChvPWZ1bmN0aW9uKHQsZSl7dmFyIHI7bj1lLGYuaXNCdWZmZXIobil8fG4gaW5zdGFuY2VvZiBjfHwic3RyaW5nIj09dHlwZW9mIGV8fHZvaWQgMD09PWV8fHQub2JqZWN0TW9kZXx8KHI9bmV3IFR5cGVFcnJvcigiSW52YWxpZCBub24tc3RyaW5nL2J1ZmZlciBjaHVuayIpKTt2YXIgbjtyZXR1cm4gcn0odSxlKSksbz90LmVtaXQoImVycm9yIixvKTp1Lm9iamVjdE1vZGV8fGUmJmUubGVuZ3RoPjA/KCJzdHJpbmciPT10eXBlb2YgZXx8dS5vYmplY3RNb2RlfHxPYmplY3QuZ2V0UHJvdG90eXBlT2YoZSk9PT1mLnByb3RvdHlwZXx8KGE9ZSxlPWYuZnJvbShhKSksbj91LmVuZEVtaXR0ZWQ/dC5lbWl0KCJlcnJvciIsbmV3IEVycm9yKCJzdHJlYW0udW5zaGlmdCgpIGFmdGVyIGVuZCBldmVudCIpKTpfKHQsdSxlLCEwKTp1LmVuZGVkP3QuZW1pdCgiZXJyb3IiLG5ldyBFcnJvcigic3RyZWFtLnB1c2goKSBhZnRlciBFT0YiKSk6KHUucmVhZGluZz0hMSx1LmRlY29kZXImJiFyPyhlPXUuZGVjb2Rlci53cml0ZShlKSx1Lm9iamVjdE1vZGV8fDAhPT1lLmxlbmd0aD9fKHQsdSxlLCExKTpFKHQsdSkpOl8odCx1LGUsITEpKSk6bnx8KHUucmVhZGluZz0hMSkpO3JldHVybiEocz11KS5lbmRlZCYmKHMubmVlZFJlYWRhYmxlfHxzLmxlbmd0aDxzLmhpZ2hXYXRlck1hcmt8fDA9PT1zLmxlbmd0aCl9ZnVuY3Rpb24gXyh0LGUscixuKXtlLmZsb3dpbmcmJjA9PT1lLmxlbmd0aCYmIWUuc3luYz8odC5lbWl0KCJkYXRhIixyKSx0LnJlYWQoMCkpOihlLmxlbmd0aCs9ZS5vYmplY3RNb2RlPzE6ci5sZW5ndGgsbj9lLmJ1ZmZlci51bnNoaWZ0KHIpOmUuYnVmZmVyLnB1c2gociksZS5uZWVkUmVhZGFibGUmJmsodCkpLEUodCxlKX1PYmplY3QuZGVmaW5lUHJvcGVydHkoZy5wcm90b3R5cGUsImRlc3Ryb3llZCIse2dldDpmdW5jdGlvbigpe3JldHVybiB2b2lkIDAhPT10aGlzLl9yZWFkYWJsZVN0YXRlJiZ0aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZH0sc2V0OmZ1bmN0aW9uKHQpe3RoaXMuX3JlYWRhYmxlU3RhdGUmJih0aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZD10KX19KSxnLnByb3RvdHlwZS5kZXN0cm95PW0uZGVzdHJveSxnLnByb3RvdHlwZS5fdW5kZXN0cm95PW0udW5kZXN0cm95LGcucHJvdG90eXBlLl9kZXN0cm95PWZ1bmN0aW9uKHQsZSl7dGhpcy5wdXNoKG51bGwpLGUodCl9LGcucHJvdG90eXBlLnB1c2g9ZnVuY3Rpb24odCxlKXt2YXIgcixuPXRoaXMuX3JlYWRhYmxlU3RhdGU7cmV0dXJuIG4ub2JqZWN0TW9kZT9yPSEwOiJzdHJpbmciPT10eXBlb2YgdCYmKChlPWV8fG4uZGVmYXVsdEVuY29kaW5nKSE9PW4uZW5jb2RpbmcmJih0PWYuZnJvbSh0LGUpLGU9IiIpLHI9ITApLHcodGhpcyx0LGUsITEscil9LGcucHJvdG90eXBlLnVuc2hpZnQ9ZnVuY3Rpb24odCl7cmV0dXJuIHcodGhpcyx0LG51bGwsITAsITEpfSxnLnByb3RvdHlwZS5pc1BhdXNlZD1mdW5jdGlvbigpe3JldHVybiExPT09dGhpcy5fcmVhZGFibGVTdGF0ZS5mbG93aW5nfSxnLnByb3RvdHlwZS5zZXRFbmNvZGluZz1mdW5jdGlvbihlKXtyZXR1cm4gcHx8KHA9dCgic3RyaW5nX2RlY29kZXIvIikuU3RyaW5nRGVjb2RlciksdGhpcy5fcmVhZGFibGVTdGF0ZS5kZWNvZGVyPW5ldyBwKGUpLHRoaXMuX3JlYWRhYmxlU3RhdGUuZW5jb2Rpbmc9ZSx0aGlzfTt2YXIgTT04Mzg4NjA4O2Z1bmN0aW9uIHgodCxlKXtyZXR1cm4gdDw9MHx8MD09PWUubGVuZ3RoJiZlLmVuZGVkPzA6ZS5vYmplY3RNb2RlPzE6dCE9dD9lLmZsb3dpbmcmJmUubGVuZ3RoP2UuYnVmZmVyLmhlYWQuZGF0YS5sZW5ndGg6ZS5sZW5ndGg6KHQ+ZS5oaWdoV2F0ZXJNYXJrJiYoZS5oaWdoV2F0ZXJNYXJrPSgocj10KT49TT9yPU06KHItLSxyfD1yPj4+MSxyfD1yPj4+MixyfD1yPj4+NCxyfD1yPj4+OCxyfD1yPj4+MTYscisrKSxyKSksdDw9ZS5sZW5ndGg/dDplLmVuZGVkP2UubGVuZ3RoOihlLm5lZWRSZWFkYWJsZT0hMCwwKSk7dmFyIHJ9ZnVuY3Rpb24gayh0KXt2YXIgZT10Ll9yZWFkYWJsZVN0YXRlO2UubmVlZFJlYWRhYmxlPSExLGUuZW1pdHRlZFJlYWRhYmxlfHwobCgiZW1pdFJlYWRhYmxlIixlLmZsb3dpbmcpLGUuZW1pdHRlZFJlYWRhYmxlPSEwLGUuc3luYz9pKFMsdCk6Uyh0KSl9ZnVuY3Rpb24gUyh0KXtsKCJlbWl0IHJlYWRhYmxlIiksdC5lbWl0KCJyZWFkYWJsZSIpLEIodCl9ZnVuY3Rpb24gRSh0LGUpe2UucmVhZGluZ01vcmV8fChlLnJlYWRpbmdNb3JlPSEwLGkoQSx0LGUpKX1mdW5jdGlvbiBBKHQsZSl7Zm9yKHZhciByPWUubGVuZ3RoOyFlLnJlYWRpbmcmJiFlLmZsb3dpbmcmJiFlLmVuZGVkJiZlLmxlbmd0aDxlLmhpZ2hXYXRlck1hcmsmJihsKCJtYXliZVJlYWRNb3JlIHJlYWQgMCIpLHQucmVhZCgwKSxyIT09ZS5sZW5ndGgpOylyPWUubGVuZ3RoO2UucmVhZGluZ01vcmU9ITF9ZnVuY3Rpb24gaih0KXtsKCJyZWFkYWJsZSBuZXh0dGljayByZWFkIDAiKSx0LnJlYWQoMCl9ZnVuY3Rpb24gSSh0LGUpe2UucmVhZGluZ3x8KGwoInJlc3VtZSByZWFkIDAiKSx0LnJlYWQoMCkpLGUucmVzdW1lU2NoZWR1bGVkPSExLGUuYXdhaXREcmFpbj0wLHQuZW1pdCgicmVzdW1lIiksQih0KSxlLmZsb3dpbmcmJiFlLnJlYWRpbmcmJnQucmVhZCgwKX1mdW5jdGlvbiBCKHQpe3ZhciBlPXQuX3JlYWRhYmxlU3RhdGU7Zm9yKGwoImZsb3ciLGUuZmxvd2luZyk7ZS5mbG93aW5nJiZudWxsIT09dC5yZWFkKCk7KTt9ZnVuY3Rpb24gVCh0LGUpe3JldHVybiAwPT09ZS5sZW5ndGg/bnVsbDooZS5vYmplY3RNb2RlP3I9ZS5idWZmZXIuc2hpZnQoKTohdHx8dD49ZS5sZW5ndGg/KHI9ZS5kZWNvZGVyP2UuYnVmZmVyLmpvaW4oIiIpOjE9PT1lLmJ1ZmZlci5sZW5ndGg/ZS5idWZmZXIuaGVhZC5kYXRhOmUuYnVmZmVyLmNvbmNhdChlLmxlbmd0aCksZS5idWZmZXIuY2xlYXIoKSk6cj1mdW5jdGlvbih0LGUscil7dmFyIG47dDxlLmhlYWQuZGF0YS5sZW5ndGg/KG49ZS5oZWFkLmRhdGEuc2xpY2UoMCx0KSxlLmhlYWQuZGF0YT1lLmhlYWQuZGF0YS5zbGljZSh0KSk6bj10PT09ZS5oZWFkLmRhdGEubGVuZ3RoP2Uuc2hpZnQoKTpyP2Z1bmN0aW9uKHQsZSl7dmFyIHI9ZS5oZWFkLG49MSxpPXIuZGF0YTt0LT1pLmxlbmd0aDtmb3IoO3I9ci5uZXh0Oyl7dmFyIG89ci5kYXRhLGE9dD5vLmxlbmd0aD9vLmxlbmd0aDp0O2lmKGE9PT1vLmxlbmd0aD9pKz1vOmkrPW8uc2xpY2UoMCx0KSwwPT09KHQtPWEpKXthPT09by5sZW5ndGg/KCsrbixyLm5leHQ/ZS5oZWFkPXIubmV4dDplLmhlYWQ9ZS50YWlsPW51bGwpOihlLmhlYWQ9cixyLmRhdGE9by5zbGljZShhKSk7YnJlYWt9KytufXJldHVybiBlLmxlbmd0aC09bixpfSh0LGUpOmZ1bmN0aW9uKHQsZSl7dmFyIHI9Zi5hbGxvY1Vuc2FmZSh0KSxuPWUuaGVhZCxpPTE7bi5kYXRhLmNvcHkociksdC09bi5kYXRhLmxlbmd0aDtmb3IoO249bi5uZXh0Oyl7dmFyIG89bi5kYXRhLGE9dD5vLmxlbmd0aD9vLmxlbmd0aDp0O2lmKG8uY29weShyLHIubGVuZ3RoLXQsMCxhKSwwPT09KHQtPWEpKXthPT09by5sZW5ndGg/KCsraSxuLm5leHQ/ZS5oZWFkPW4ubmV4dDplLmhlYWQ9ZS50YWlsPW51bGwpOihlLmhlYWQ9bixuLmRhdGE9by5zbGljZShhKSk7YnJlYWt9KytpfXJldHVybiBlLmxlbmd0aC09aSxyfSh0LGUpO3JldHVybiBufSh0LGUuYnVmZmVyLGUuZGVjb2Rlcikscik7dmFyIHJ9ZnVuY3Rpb24gQyh0KXt2YXIgZT10Ll9yZWFkYWJsZVN0YXRlO2lmKGUubGVuZ3RoPjApdGhyb3cgbmV3IEVycm9yKCciZW5kUmVhZGFibGUoKSIgY2FsbGVkIG9uIG5vbi1lbXB0eSBzdHJlYW0nKTtlLmVuZEVtaXR0ZWR8fChlLmVuZGVkPSEwLGkoUCxlLHQpKX1mdW5jdGlvbiBQKHQsZSl7dC5lbmRFbWl0dGVkfHwwIT09dC5sZW5ndGh8fCh0LmVuZEVtaXR0ZWQ9ITAsZS5yZWFkYWJsZT0hMSxlLmVtaXQoImVuZCIpKX1mdW5jdGlvbiBSKHQsZSl7Zm9yKHZhciByPTAsbj10Lmxlbmd0aDtyPG47cisrKWlmKHRbcl09PT1lKXJldHVybiByO3JldHVybi0xfWcucHJvdG90eXBlLnJlYWQ9ZnVuY3Rpb24odCl7bCgicmVhZCIsdCksdD1wYXJzZUludCh0LDEwKTt2YXIgZT10aGlzLl9yZWFkYWJsZVN0YXRlLHI9dDtpZigwIT09dCYmKGUuZW1pdHRlZFJlYWRhYmxlPSExKSwwPT09dCYmZS5uZWVkUmVhZGFibGUmJihlLmxlbmd0aD49ZS5oaWdoV2F0ZXJNYXJrfHxlLmVuZGVkKSlyZXR1cm4gbCgicmVhZDogZW1pdFJlYWRhYmxlIixlLmxlbmd0aCxlLmVuZGVkKSwwPT09ZS5sZW5ndGgmJmUuZW5kZWQ/Qyh0aGlzKTprKHRoaXMpLG51bGw7aWYoMD09PSh0PXgodCxlKSkmJmUuZW5kZWQpcmV0dXJuIDA9PT1lLmxlbmd0aCYmQyh0aGlzKSxudWxsO3ZhciBuLGk9ZS5uZWVkUmVhZGFibGU7cmV0dXJuIGwoIm5lZWQgcmVhZGFibGUiLGkpLCgwPT09ZS5sZW5ndGh8fGUubGVuZ3RoLXQ8ZS5oaWdoV2F0ZXJNYXJrKSYmbCgibGVuZ3RoIGxlc3MgdGhhbiB3YXRlcm1hcmsiLGk9ITApLGUuZW5kZWR8fGUucmVhZGluZz9sKCJyZWFkaW5nIG9yIGVuZGVkIixpPSExKTppJiYobCgiZG8gcmVhZCIpLGUucmVhZGluZz0hMCxlLnN5bmM9ITAsMD09PWUubGVuZ3RoJiYoZS5uZWVkUmVhZGFibGU9ITApLHRoaXMuX3JlYWQoZS5oaWdoV2F0ZXJNYXJrKSxlLnN5bmM9ITEsZS5yZWFkaW5nfHwodD14KHIsZSkpKSxudWxsPT09KG49dD4wP1QodCxlKTpudWxsKT8oZS5uZWVkUmVhZGFibGU9ITAsdD0wKTplLmxlbmd0aC09dCwwPT09ZS5sZW5ndGgmJihlLmVuZGVkfHwoZS5uZWVkUmVhZGFibGU9ITApLHIhPT10JiZlLmVuZGVkJiZDKHRoaXMpKSxudWxsIT09biYmdGhpcy5lbWl0KCJkYXRhIixuKSxufSxnLnByb3RvdHlwZS5fcmVhZD1mdW5jdGlvbih0KXt0aGlzLmVtaXQoImVycm9yIixuZXcgRXJyb3IoIl9yZWFkKCkgaXMgbm90IGltcGxlbWVudGVkIikpfSxnLnByb3RvdHlwZS5waXBlPWZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcyxvPXRoaXMuX3JlYWRhYmxlU3RhdGU7c3dpdGNoKG8ucGlwZXNDb3VudCl7Y2FzZSAwOm8ucGlwZXM9dDticmVhaztjYXNlIDE6by5waXBlcz1bby5waXBlcyx0XTticmVhaztkZWZhdWx0Om8ucGlwZXMucHVzaCh0KX1vLnBpcGVzQ291bnQrPTEsbCgicGlwZSBjb3VudD0lZCBvcHRzPSVqIixvLnBpcGVzQ291bnQsZSk7dmFyIHU9KCFlfHwhMSE9PWUuZW5kKSYmdCE9PXIuc3Rkb3V0JiZ0IT09ci5zdGRlcnI/Yzp3O2Z1bmN0aW9uIGYoZSxyKXtsKCJvbnVucGlwZSIpLGU9PT1uJiZyJiYhMT09PXIuaGFzVW5waXBlZCYmKHIuaGFzVW5waXBlZD0hMCxsKCJjbGVhbnVwIiksdC5yZW1vdmVMaXN0ZW5lcigiY2xvc2UiLHYpLHQucmVtb3ZlTGlzdGVuZXIoImZpbmlzaCIsZyksdC5yZW1vdmVMaXN0ZW5lcigiZHJhaW4iLGQpLHQucmVtb3ZlTGlzdGVuZXIoImVycm9yIix5KSx0LnJlbW92ZUxpc3RlbmVyKCJ1bnBpcGUiLGYpLG4ucmVtb3ZlTGlzdGVuZXIoImVuZCIsYyksbi5yZW1vdmVMaXN0ZW5lcigiZW5kIix3KSxuLnJlbW92ZUxpc3RlbmVyKCJkYXRhIixtKSxwPSEwLCFvLmF3YWl0RHJhaW58fHQuX3dyaXRhYmxlU3RhdGUmJiF0Ll93cml0YWJsZVN0YXRlLm5lZWREcmFpbnx8ZCgpKX1mdW5jdGlvbiBjKCl7bCgib25lbmQiKSx0LmVuZCgpfW8uZW5kRW1pdHRlZD9pKHUpOm4ub25jZSgiZW5kIix1KSx0Lm9uKCJ1bnBpcGUiLGYpO3ZhciBoLGQ9KGg9bixmdW5jdGlvbigpe3ZhciB0PWguX3JlYWRhYmxlU3RhdGU7bCgicGlwZU9uRHJhaW4iLHQuYXdhaXREcmFpbiksdC5hd2FpdERyYWluJiZ0LmF3YWl0RHJhaW4tLSwwPT09dC5hd2FpdERyYWluJiZzKGgsImRhdGEiKSYmKHQuZmxvd2luZz0hMCxCKGgpKX0pO3Qub24oImRyYWluIixkKTt2YXIgcD0hMTt2YXIgYj0hMTtmdW5jdGlvbiBtKGUpe2woIm9uZGF0YSIpLGI9ITEsITEhPT10LndyaXRlKGUpfHxifHwoKDE9PT1vLnBpcGVzQ291bnQmJm8ucGlwZXM9PT10fHxvLnBpcGVzQ291bnQ+MSYmLTEhPT1SKG8ucGlwZXMsdCkpJiYhcCYmKGwoImZhbHNlIHdyaXRlIHJlc3BvbnNlLCBwYXVzZSIsbi5fcmVhZGFibGVTdGF0ZS5hd2FpdERyYWluKSxuLl9yZWFkYWJsZVN0YXRlLmF3YWl0RHJhaW4rKyxiPSEwKSxuLnBhdXNlKCkpfWZ1bmN0aW9uIHkoZSl7bCgib25lcnJvciIsZSksdygpLHQucmVtb3ZlTGlzdGVuZXIoImVycm9yIix5KSwwPT09cyh0LCJlcnJvciIpJiZ0LmVtaXQoImVycm9yIixlKX1mdW5jdGlvbiB2KCl7dC5yZW1vdmVMaXN0ZW5lcigiZmluaXNoIixnKSx3KCl9ZnVuY3Rpb24gZygpe2woIm9uZmluaXNoIiksdC5yZW1vdmVMaXN0ZW5lcigiY2xvc2UiLHYpLHcoKX1mdW5jdGlvbiB3KCl7bCgidW5waXBlIiksbi51bnBpcGUodCl9cmV0dXJuIG4ub24oImRhdGEiLG0pLGZ1bmN0aW9uKHQsZSxyKXtpZigiZnVuY3Rpb24iPT10eXBlb2YgdC5wcmVwZW5kTGlzdGVuZXIpcmV0dXJuIHQucHJlcGVuZExpc3RlbmVyKGUscik7dC5fZXZlbnRzJiZ0Ll9ldmVudHNbZV0/YSh0Ll9ldmVudHNbZV0pP3QuX2V2ZW50c1tlXS51bnNoaWZ0KHIpOnQuX2V2ZW50c1tlXT1bcix0Ll9ldmVudHNbZV1dOnQub24oZSxyKX0odCwiZXJyb3IiLHkpLHQub25jZSgiY2xvc2UiLHYpLHQub25jZSgiZmluaXNoIixnKSx0LmVtaXQoInBpcGUiLG4pLG8uZmxvd2luZ3x8KGwoInBpcGUgcmVzdW1lIiksbi5yZXN1bWUoKSksdH0sZy5wcm90b3R5cGUudW5waXBlPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX3JlYWRhYmxlU3RhdGUscj17aGFzVW5waXBlZDohMX07aWYoMD09PWUucGlwZXNDb3VudClyZXR1cm4gdGhpcztpZigxPT09ZS5waXBlc0NvdW50KXJldHVybiB0JiZ0IT09ZS5waXBlcz90aGlzOih0fHwodD1lLnBpcGVzKSxlLnBpcGVzPW51bGwsZS5waXBlc0NvdW50PTAsZS5mbG93aW5nPSExLHQmJnQuZW1pdCgidW5waXBlIix0aGlzLHIpLHRoaXMpO2lmKCF0KXt2YXIgbj1lLnBpcGVzLGk9ZS5waXBlc0NvdW50O2UucGlwZXM9bnVsbCxlLnBpcGVzQ291bnQ9MCxlLmZsb3dpbmc9ITE7Zm9yKHZhciBvPTA7bzxpO28rKyluW29dLmVtaXQoInVucGlwZSIsdGhpcyxyKTtyZXR1cm4gdGhpc312YXIgYT1SKGUucGlwZXMsdCk7cmV0dXJuLTE9PT1hP3RoaXM6KGUucGlwZXMuc3BsaWNlKGEsMSksZS5waXBlc0NvdW50LT0xLDE9PT1lLnBpcGVzQ291bnQmJihlLnBpcGVzPWUucGlwZXNbMF0pLHQuZW1pdCgidW5waXBlIix0aGlzLHIpLHRoaXMpfSxnLnByb3RvdHlwZS5vbj1mdW5jdGlvbih0LGUpe3ZhciByPXUucHJvdG90eXBlLm9uLmNhbGwodGhpcyx0LGUpO2lmKCJkYXRhIj09PXQpITEhPT10aGlzLl9yZWFkYWJsZVN0YXRlLmZsb3dpbmcmJnRoaXMucmVzdW1lKCk7ZWxzZSBpZigicmVhZGFibGUiPT09dCl7dmFyIG49dGhpcy5fcmVhZGFibGVTdGF0ZTtuLmVuZEVtaXR0ZWR8fG4ucmVhZGFibGVMaXN0ZW5pbmd8fChuLnJlYWRhYmxlTGlzdGVuaW5nPW4ubmVlZFJlYWRhYmxlPSEwLG4uZW1pdHRlZFJlYWRhYmxlPSExLG4ucmVhZGluZz9uLmxlbmd0aCYmayh0aGlzKTppKGosdGhpcykpfXJldHVybiByfSxnLnByb3RvdHlwZS5hZGRMaXN0ZW5lcj1nLnByb3RvdHlwZS5vbixnLnByb3RvdHlwZS5yZXN1bWU9ZnVuY3Rpb24oKXt2YXIgdCxlLHI9dGhpcy5fcmVhZGFibGVTdGF0ZTtyZXR1cm4gci5mbG93aW5nfHwobCgicmVzdW1lIiksci5mbG93aW5nPSEwLHQ9dGhpcywoZT1yKS5yZXN1bWVTY2hlZHVsZWR8fChlLnJlc3VtZVNjaGVkdWxlZD0hMCxpKEksdCxlKSkpLHRoaXN9LGcucHJvdG90eXBlLnBhdXNlPWZ1bmN0aW9uKCl7cmV0dXJuIGwoImNhbGwgcGF1c2UgZmxvd2luZz0laiIsdGhpcy5fcmVhZGFibGVTdGF0ZS5mbG93aW5nKSwhMSE9PXRoaXMuX3JlYWRhYmxlU3RhdGUuZmxvd2luZyYmKGwoInBhdXNlIiksdGhpcy5fcmVhZGFibGVTdGF0ZS5mbG93aW5nPSExLHRoaXMuZW1pdCgicGF1c2UiKSksdGhpc30sZy5wcm90b3R5cGUud3JhcD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLHI9dGhpcy5fcmVhZGFibGVTdGF0ZSxuPSExO2Zvcih2YXIgaSBpbiB0Lm9uKCJlbmQiLGZ1bmN0aW9uKCl7aWYobCgid3JhcHBlZCBlbmQiKSxyLmRlY29kZXImJiFyLmVuZGVkKXt2YXIgdD1yLmRlY29kZXIuZW5kKCk7dCYmdC5sZW5ndGgmJmUucHVzaCh0KX1lLnB1c2gobnVsbCl9KSx0Lm9uKCJkYXRhIixmdW5jdGlvbihpKXsobCgid3JhcHBlZCBkYXRhIiksci5kZWNvZGVyJiYoaT1yLmRlY29kZXIud3JpdGUoaSkpLHIub2JqZWN0TW9kZSYmbnVsbD09aSl8fChyLm9iamVjdE1vZGV8fGkmJmkubGVuZ3RoKSYmKGUucHVzaChpKXx8KG49ITAsdC5wYXVzZSgpKSl9KSx0KXZvaWQgMD09PXRoaXNbaV0mJiJmdW5jdGlvbiI9PXR5cGVvZiB0W2ldJiYodGhpc1tpXT1mdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdFtlXS5hcHBseSh0LGFyZ3VtZW50cyl9fShpKSk7Zm9yKHZhciBvPTA7bzx5Lmxlbmd0aDtvKyspdC5vbih5W29dLHRoaXMuZW1pdC5iaW5kKHRoaXMseVtvXSkpO3JldHVybiB0aGlzLl9yZWFkPWZ1bmN0aW9uKGUpe2woIndyYXBwZWQgX3JlYWQiLGUpLG4mJihuPSExLHQucmVzdW1lKCkpfSx0aGlzfSxnLl9mcm9tTGlzdD1UfSkuY2FsbCh0aGlzLHQoIl9wcm9jZXNzIiksInVuZGVmaW5lZCIhPXR5cGVvZiBnbG9iYWw/Z2xvYmFsOiJ1bmRlZmluZWQiIT10eXBlb2Ygc2VsZj9zZWxmOiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93P3dpbmRvdzp7fSl9LHsiLi9fc3RyZWFtX2R1cGxleCI6MTM0LCIuL2ludGVybmFsL3N0cmVhbXMvQnVmZmVyTGlzdCI6MTM5LCIuL2ludGVybmFsL3N0cmVhbXMvZGVzdHJveSI6MTQwLCIuL2ludGVybmFsL3N0cmVhbXMvc3RyZWFtIjoxNDEsX3Byb2Nlc3M6MTIwLCJjb3JlLXV0aWwtaXMiOjQ5LGV2ZW50czo4Myxpbmhlcml0czoxMDEsaXNhcnJheToxMDMsInByb2Nlc3MtbmV4dGljay1hcmdzIjoxMTksInNhZmUtYnVmZmVyIjoxNDcsInN0cmluZ19kZWNvZGVyLyI6MTU3LHV0aWw6MTd9XSwxMzc6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9bzt2YXIgbj10KCIuL19zdHJlYW1fZHVwbGV4IiksaT10KCJjb3JlLXV0aWwtaXMiKTtmdW5jdGlvbiBvKHQpe2lmKCEodGhpcyBpbnN0YW5jZW9mIG8pKXJldHVybiBuZXcgbyh0KTtuLmNhbGwodGhpcyx0KSx0aGlzLl90cmFuc2Zvcm1TdGF0ZT17YWZ0ZXJUcmFuc2Zvcm06ZnVuY3Rpb24odCxlKXt2YXIgcj10aGlzLl90cmFuc2Zvcm1TdGF0ZTtyLnRyYW5zZm9ybWluZz0hMTt2YXIgbj1yLndyaXRlY2I7aWYoIW4pcmV0dXJuIHRoaXMuZW1pdCgiZXJyb3IiLG5ldyBFcnJvcigid3JpdGUgY2FsbGJhY2sgY2FsbGVkIG11bHRpcGxlIHRpbWVzIikpO3Iud3JpdGVjaHVuaz1udWxsLHIud3JpdGVjYj1udWxsLG51bGwhPWUmJnRoaXMucHVzaChlKSxuKHQpO3ZhciBpPXRoaXMuX3JlYWRhYmxlU3RhdGU7aS5yZWFkaW5nPSExLChpLm5lZWRSZWFkYWJsZXx8aS5sZW5ndGg8aS5oaWdoV2F0ZXJNYXJrKSYmdGhpcy5fcmVhZChpLmhpZ2hXYXRlck1hcmspfS5iaW5kKHRoaXMpLG5lZWRUcmFuc2Zvcm06ITEsdHJhbnNmb3JtaW5nOiExLHdyaXRlY2I6bnVsbCx3cml0ZWNodW5rOm51bGwsd3JpdGVlbmNvZGluZzpudWxsfSx0aGlzLl9yZWFkYWJsZVN0YXRlLm5lZWRSZWFkYWJsZT0hMCx0aGlzLl9yZWFkYWJsZVN0YXRlLnN5bmM9ITEsdCYmKCJmdW5jdGlvbiI9PXR5cGVvZiB0LnRyYW5zZm9ybSYmKHRoaXMuX3RyYW5zZm9ybT10LnRyYW5zZm9ybSksImZ1bmN0aW9uIj09dHlwZW9mIHQuZmx1c2gmJih0aGlzLl9mbHVzaD10LmZsdXNoKSksdGhpcy5vbigicHJlZmluaXNoIixhKX1mdW5jdGlvbiBhKCl7dmFyIHQ9dGhpczsiZnVuY3Rpb24iPT10eXBlb2YgdGhpcy5fZmx1c2g/dGhpcy5fZmx1c2goZnVuY3Rpb24oZSxyKXtzKHQsZSxyKX0pOnModGhpcyxudWxsLG51bGwpfWZ1bmN0aW9uIHModCxlLHIpe2lmKGUpcmV0dXJuIHQuZW1pdCgiZXJyb3IiLGUpO2lmKG51bGwhPXImJnQucHVzaChyKSx0Ll93cml0YWJsZVN0YXRlLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIkNhbGxpbmcgdHJhbnNmb3JtIGRvbmUgd2hlbiB3cy5sZW5ndGggIT0gMCIpO2lmKHQuX3RyYW5zZm9ybVN0YXRlLnRyYW5zZm9ybWluZyl0aHJvdyBuZXcgRXJyb3IoIkNhbGxpbmcgdHJhbnNmb3JtIGRvbmUgd2hlbiBzdGlsbCB0cmFuc2Zvcm1pbmciKTtyZXR1cm4gdC5wdXNoKG51bGwpfWkuaW5oZXJpdHM9dCgiaW5oZXJpdHMiKSxpLmluaGVyaXRzKG8sbiksby5wcm90b3R5cGUucHVzaD1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLl90cmFuc2Zvcm1TdGF0ZS5uZWVkVHJhbnNmb3JtPSExLG4ucHJvdG90eXBlLnB1c2guY2FsbCh0aGlzLHQsZSl9LG8ucHJvdG90eXBlLl90cmFuc2Zvcm09ZnVuY3Rpb24odCxlLHIpe3Rocm93IG5ldyBFcnJvcigiX3RyYW5zZm9ybSgpIGlzIG5vdCBpbXBsZW1lbnRlZCIpfSxvLnByb3RvdHlwZS5fd3JpdGU9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPXRoaXMuX3RyYW5zZm9ybVN0YXRlO2lmKG4ud3JpdGVjYj1yLG4ud3JpdGVjaHVuaz10LG4ud3JpdGVlbmNvZGluZz1lLCFuLnRyYW5zZm9ybWluZyl7dmFyIGk9dGhpcy5fcmVhZGFibGVTdGF0ZTsobi5uZWVkVHJhbnNmb3JtfHxpLm5lZWRSZWFkYWJsZXx8aS5sZW5ndGg8aS5oaWdoV2F0ZXJNYXJrKSYmdGhpcy5fcmVhZChpLmhpZ2hXYXRlck1hcmspfX0sby5wcm90b3R5cGUuX3JlYWQ9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fdHJhbnNmb3JtU3RhdGU7bnVsbCE9PWUud3JpdGVjaHVuayYmZS53cml0ZWNiJiYhZS50cmFuc2Zvcm1pbmc/KGUudHJhbnNmb3JtaW5nPSEwLHRoaXMuX3RyYW5zZm9ybShlLndyaXRlY2h1bmssZS53cml0ZWVuY29kaW5nLGUuYWZ0ZXJUcmFuc2Zvcm0pKTplLm5lZWRUcmFuc2Zvcm09ITB9LG8ucHJvdG90eXBlLl9kZXN0cm95PWZ1bmN0aW9uKHQsZSl7dmFyIHI9dGhpcztuLnByb3RvdHlwZS5fZGVzdHJveS5jYWxsKHRoaXMsdCxmdW5jdGlvbih0KXtlKHQpLHIuZW1pdCgiY2xvc2UiKX0pfX0seyIuL19zdHJlYW1fZHVwbGV4IjoxMzQsImNvcmUtdXRpbC1pcyI6NDksaW5oZXJpdHM6MTAxfV0sMTM4OltmdW5jdGlvbih0LGUscil7KGZ1bmN0aW9uKHIsbil7dmFyIGk9dCgicHJvY2Vzcy1uZXh0aWNrLWFyZ3MiKS5uZXh0VGljaztmdW5jdGlvbiBvKHQpe3ZhciBlPXRoaXM7dGhpcy5uZXh0PW51bGwsdGhpcy5lbnRyeT1udWxsLHRoaXMuZmluaXNoPWZ1bmN0aW9uKCl7IWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj10LmVudHJ5O3QuZW50cnk9bnVsbDtmb3IoO247KXt2YXIgaT1uLmNhbGxiYWNrO2UucGVuZGluZ2NiLS0saShyKSxuPW4ubmV4dH1lLmNvcmtlZFJlcXVlc3RzRnJlZT9lLmNvcmtlZFJlcXVlc3RzRnJlZS5uZXh0PXQ6ZS5jb3JrZWRSZXF1ZXN0c0ZyZWU9dH0oZSx0KX19ZS5leHBvcnRzPXk7dmFyIGEscz0hci5icm93c2VyJiZbInYwLjEwIiwidjAuOS4iXS5pbmRleE9mKHIudmVyc2lvbi5zbGljZSgwLDUpKT4tMT9zZXRJbW1lZGlhdGU6aTt5LldyaXRhYmxlU3RhdGU9bTt2YXIgdT10KCJjb3JlLXV0aWwtaXMiKTt1LmluaGVyaXRzPXQoImluaGVyaXRzIik7dmFyIGY9e2RlcHJlY2F0ZTp0KCJ1dGlsLWRlcHJlY2F0ZSIpfSxjPXQoIi4vaW50ZXJuYWwvc3RyZWFtcy9zdHJlYW0iKSxoPXQoInNhZmUtYnVmZmVyIikuQnVmZmVyLGQ9bi5VaW50OEFycmF5fHxmdW5jdGlvbigpe307dmFyIGwscD10KCIuL2ludGVybmFsL3N0cmVhbXMvZGVzdHJveSIpO2Z1bmN0aW9uIGIoKXt9ZnVuY3Rpb24gbShlLHIpe2E9YXx8dCgiLi9fc3RyZWFtX2R1cGxleCIpLGU9ZXx8e307dmFyIG49ciBpbnN0YW5jZW9mIGE7dGhpcy5vYmplY3RNb2RlPSEhZS5vYmplY3RNb2RlLG4mJih0aGlzLm9iamVjdE1vZGU9dGhpcy5vYmplY3RNb2RlfHwhIWUud3JpdGFibGVPYmplY3RNb2RlKTt2YXIgdT1lLmhpZ2hXYXRlck1hcmssZj1lLndyaXRhYmxlSGlnaFdhdGVyTWFyayxjPXRoaXMub2JqZWN0TW9kZT8xNjoxNjM4NDt0aGlzLmhpZ2hXYXRlck1hcms9dXx8MD09PXU/dTpuJiYoZnx8MD09PWYpP2Y6Yyx0aGlzLmhpZ2hXYXRlck1hcms9TWF0aC5mbG9vcih0aGlzLmhpZ2hXYXRlck1hcmspLHRoaXMuZmluYWxDYWxsZWQ9ITEsdGhpcy5uZWVkRHJhaW49ITEsdGhpcy5lbmRpbmc9ITEsdGhpcy5lbmRlZD0hMSx0aGlzLmZpbmlzaGVkPSExLHRoaXMuZGVzdHJveWVkPSExO3ZhciBoPSExPT09ZS5kZWNvZGVTdHJpbmdzO3RoaXMuZGVjb2RlU3RyaW5ncz0haCx0aGlzLmRlZmF1bHRFbmNvZGluZz1lLmRlZmF1bHRFbmNvZGluZ3x8InV0ZjgiLHRoaXMubGVuZ3RoPTAsdGhpcy53cml0aW5nPSExLHRoaXMuY29ya2VkPTAsdGhpcy5zeW5jPSEwLHRoaXMuYnVmZmVyUHJvY2Vzc2luZz0hMSx0aGlzLm9ud3JpdGU9ZnVuY3Rpb24odCl7IWZ1bmN0aW9uKHQsZSl7dmFyIHI9dC5fd3JpdGFibGVTdGF0ZSxuPXIuc3luYyxvPXIud3JpdGVjYjtpZihsPXIsbC53cml0aW5nPSExLGwud3JpdGVjYj1udWxsLGwubGVuZ3RoLT1sLndyaXRlbGVuLGwud3JpdGVsZW49MCxlKXU9dCxmPXIsYz1uLGg9ZSxkPW8sLS1mLnBlbmRpbmdjYixjPyhpKGQsaCksaSh4LHUsZiksdS5fd3JpdGFibGVTdGF0ZS5lcnJvckVtaXR0ZWQ9ITAsdS5lbWl0KCJlcnJvciIsaCkpOihkKGgpLHUuX3dyaXRhYmxlU3RhdGUuZXJyb3JFbWl0dGVkPSEwLHUuZW1pdCgiZXJyb3IiLGgpLHgodSxmKSk7ZWxzZXt2YXIgYT1fKHIpO2F8fHIuY29ya2VkfHxyLmJ1ZmZlclByb2Nlc3Npbmd8fCFyLmJ1ZmZlcmVkUmVxdWVzdHx8dyh0LHIpLG4/cyhnLHQscixhLG8pOmcodCxyLGEsbyl9dmFyIHUsZixjLGgsZDt2YXIgbH0ocix0KX0sdGhpcy53cml0ZWNiPW51bGwsdGhpcy53cml0ZWxlbj0wLHRoaXMuYnVmZmVyZWRSZXF1ZXN0PW51bGwsdGhpcy5sYXN0QnVmZmVyZWRSZXF1ZXN0PW51bGwsdGhpcy5wZW5kaW5nY2I9MCx0aGlzLnByZWZpbmlzaGVkPSExLHRoaXMuZXJyb3JFbWl0dGVkPSExLHRoaXMuYnVmZmVyZWRSZXF1ZXN0Q291bnQ9MCx0aGlzLmNvcmtlZFJlcXVlc3RzRnJlZT1uZXcgbyh0aGlzKX1mdW5jdGlvbiB5KGUpe2lmKGE9YXx8dCgiLi9fc3RyZWFtX2R1cGxleCIpLCEobC5jYWxsKHksdGhpcyl8fHRoaXMgaW5zdGFuY2VvZiBhKSlyZXR1cm4gbmV3IHkoZSk7dGhpcy5fd3JpdGFibGVTdGF0ZT1uZXcgbShlLHRoaXMpLHRoaXMud3JpdGFibGU9ITAsZSYmKCJmdW5jdGlvbiI9PXR5cGVvZiBlLndyaXRlJiYodGhpcy5fd3JpdGU9ZS53cml0ZSksImZ1bmN0aW9uIj09dHlwZW9mIGUud3JpdGV2JiYodGhpcy5fd3JpdGV2PWUud3JpdGV2KSwiZnVuY3Rpb24iPT10eXBlb2YgZS5kZXN0cm95JiYodGhpcy5fZGVzdHJveT1lLmRlc3Ryb3kpLCJmdW5jdGlvbiI9PXR5cGVvZiBlLmZpbmFsJiYodGhpcy5fZmluYWw9ZS5maW5hbCkpLGMuY2FsbCh0aGlzKX1mdW5jdGlvbiB2KHQsZSxyLG4saSxvLGEpe2Uud3JpdGVsZW49bixlLndyaXRlY2I9YSxlLndyaXRpbmc9ITAsZS5zeW5jPSEwLHI/dC5fd3JpdGV2KGksZS5vbndyaXRlKTp0Ll93cml0ZShpLG8sZS5vbndyaXRlKSxlLnN5bmM9ITF9ZnVuY3Rpb24gZyh0LGUscixuKXt2YXIgaSxvO3J8fChpPXQsMD09PShvPWUpLmxlbmd0aCYmby5uZWVkRHJhaW4mJihvLm5lZWREcmFpbj0hMSxpLmVtaXQoImRyYWluIikpKSxlLnBlbmRpbmdjYi0tLG4oKSx4KHQsZSl9ZnVuY3Rpb24gdyh0LGUpe2UuYnVmZmVyUHJvY2Vzc2luZz0hMDt2YXIgcj1lLmJ1ZmZlcmVkUmVxdWVzdDtpZih0Ll93cml0ZXYmJnImJnIubmV4dCl7dmFyIG49ZS5idWZmZXJlZFJlcXVlc3RDb3VudCxpPW5ldyBBcnJheShuKSxhPWUuY29ya2VkUmVxdWVzdHNGcmVlO2EuZW50cnk9cjtmb3IodmFyIHM9MCx1PSEwO3I7KWlbc109cixyLmlzQnVmfHwodT0hMSkscj1yLm5leHQscys9MTtpLmFsbEJ1ZmZlcnM9dSx2KHQsZSwhMCxlLmxlbmd0aCxpLCIiLGEuZmluaXNoKSxlLnBlbmRpbmdjYisrLGUubGFzdEJ1ZmZlcmVkUmVxdWVzdD1udWxsLGEubmV4dD8oZS5jb3JrZWRSZXF1ZXN0c0ZyZWU9YS5uZXh0LGEubmV4dD1udWxsKTplLmNvcmtlZFJlcXVlc3RzRnJlZT1uZXcgbyhlKSxlLmJ1ZmZlcmVkUmVxdWVzdENvdW50PTB9ZWxzZXtmb3IoO3I7KXt2YXIgZj1yLmNodW5rLGM9ci5lbmNvZGluZyxoPXIuY2FsbGJhY2s7aWYodih0LGUsITEsZS5vYmplY3RNb2RlPzE6Zi5sZW5ndGgsZixjLGgpLHI9ci5uZXh0LGUuYnVmZmVyZWRSZXF1ZXN0Q291bnQtLSxlLndyaXRpbmcpYnJlYWt9bnVsbD09PXImJihlLmxhc3RCdWZmZXJlZFJlcXVlc3Q9bnVsbCl9ZS5idWZmZXJlZFJlcXVlc3Q9cixlLmJ1ZmZlclByb2Nlc3Npbmc9ITF9ZnVuY3Rpb24gXyh0KXtyZXR1cm4gdC5lbmRpbmcmJjA9PT10Lmxlbmd0aCYmbnVsbD09PXQuYnVmZmVyZWRSZXF1ZXN0JiYhdC5maW5pc2hlZCYmIXQud3JpdGluZ31mdW5jdGlvbiBNKHQsZSl7dC5fZmluYWwoZnVuY3Rpb24ocil7ZS5wZW5kaW5nY2ItLSxyJiZ0LmVtaXQoImVycm9yIixyKSxlLnByZWZpbmlzaGVkPSEwLHQuZW1pdCgicHJlZmluaXNoIikseCh0LGUpfSl9ZnVuY3Rpb24geCh0LGUpe3ZhciByLG4sbz1fKGUpO3JldHVybiBvJiYocj10LChuPWUpLnByZWZpbmlzaGVkfHxuLmZpbmFsQ2FsbGVkfHwoImZ1bmN0aW9uIj09dHlwZW9mIHIuX2ZpbmFsPyhuLnBlbmRpbmdjYisrLG4uZmluYWxDYWxsZWQ9ITAsaShNLHIsbikpOihuLnByZWZpbmlzaGVkPSEwLHIuZW1pdCgicHJlZmluaXNoIikpKSwwPT09ZS5wZW5kaW5nY2ImJihlLmZpbmlzaGVkPSEwLHQuZW1pdCgiZmluaXNoIikpKSxvfXUuaW5oZXJpdHMoeSxjKSxtLnByb3RvdHlwZS5nZXRCdWZmZXI9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9dGhpcy5idWZmZXJlZFJlcXVlc3QsZT1bXTt0OyllLnB1c2godCksdD10Lm5leHQ7cmV0dXJuIGV9LGZ1bmN0aW9uKCl7dHJ5e09iamVjdC5kZWZpbmVQcm9wZXJ0eShtLnByb3RvdHlwZSwiYnVmZmVyIix7Z2V0OmYuZGVwcmVjYXRlKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZ2V0QnVmZmVyKCl9LCJfd3JpdGFibGVTdGF0ZS5idWZmZXIgaXMgZGVwcmVjYXRlZC4gVXNlIF93cml0YWJsZVN0YXRlLmdldEJ1ZmZlciBpbnN0ZWFkLiIsIkRFUDAwMDMiKX0pfWNhdGNoKHQpe319KCksImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmU3ltYm9sLmhhc0luc3RhbmNlJiYiZnVuY3Rpb24iPT10eXBlb2YgRnVuY3Rpb24ucHJvdG90eXBlW1N5bWJvbC5oYXNJbnN0YW5jZV0/KGw9RnVuY3Rpb24ucHJvdG90eXBlW1N5bWJvbC5oYXNJbnN0YW5jZV0sT2JqZWN0LmRlZmluZVByb3BlcnR5KHksU3ltYm9sLmhhc0luc3RhbmNlLHt2YWx1ZTpmdW5jdGlvbih0KXtyZXR1cm4hIWwuY2FsbCh0aGlzLHQpfHx0aGlzPT09eSYmKHQmJnQuX3dyaXRhYmxlU3RhdGUgaW5zdGFuY2VvZiBtKX19KSk6bD1mdW5jdGlvbih0KXtyZXR1cm4gdCBpbnN0YW5jZW9mIHRoaXN9LHkucHJvdG90eXBlLnBpcGU9ZnVuY3Rpb24oKXt0aGlzLmVtaXQoImVycm9yIixuZXcgRXJyb3IoIkNhbm5vdCBwaXBlLCBub3QgcmVhZGFibGUiKSl9LHkucHJvdG90eXBlLndyaXRlPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbixvLGEscyx1LGYsYyxsLHAsbSx5LGc9dGhpcy5fd3JpdGFibGVTdGF0ZSx3PSExLF89IWcub2JqZWN0TW9kZSYmKG49dCxoLmlzQnVmZmVyKG4pfHxuIGluc3RhbmNlb2YgZCk7cmV0dXJuIF8mJiFoLmlzQnVmZmVyKHQpJiYobz10LHQ9aC5mcm9tKG8pKSwiZnVuY3Rpb24iPT10eXBlb2YgZSYmKHI9ZSxlPW51bGwpLF8/ZT0iYnVmZmVyIjplfHwoZT1nLmRlZmF1bHRFbmNvZGluZyksImZ1bmN0aW9uIiE9dHlwZW9mIHImJihyPWIpLGcuZW5kZWQ/KHA9dGhpcyxtPXIseT1uZXcgRXJyb3IoIndyaXRlIGFmdGVyIGVuZCIpLHAuZW1pdCgiZXJyb3IiLHkpLGkobSx5KSk6KF98fChhPXRoaXMscz1nLGY9cixjPSEwLGw9ITEsbnVsbD09PSh1PXQpP2w9bmV3IFR5cGVFcnJvcigiTWF5IG5vdCB3cml0ZSBudWxsIHZhbHVlcyB0byBzdHJlYW0iKToic3RyaW5nIj09dHlwZW9mIHV8fHZvaWQgMD09PXV8fHMub2JqZWN0TW9kZXx8KGw9bmV3IFR5cGVFcnJvcigiSW52YWxpZCBub24tc3RyaW5nL2J1ZmZlciBjaHVuayIpKSxsJiYoYS5lbWl0KCJlcnJvciIsbCksaShmLGwpLGM9ITEpLGMpKSYmKGcucGVuZGluZ2NiKyssdz1mdW5jdGlvbih0LGUscixuLGksbyl7aWYoIXIpe3ZhciBhPWZ1bmN0aW9uKHQsZSxyKXt0Lm9iamVjdE1vZGV8fCExPT09dC5kZWNvZGVTdHJpbmdzfHwic3RyaW5nIiE9dHlwZW9mIGV8fChlPWguZnJvbShlLHIpKTtyZXR1cm4gZX0oZSxuLGkpO24hPT1hJiYocj0hMCxpPSJidWZmZXIiLG49YSl9dmFyIHM9ZS5vYmplY3RNb2RlPzE6bi5sZW5ndGg7ZS5sZW5ndGgrPXM7dmFyIHU9ZS5sZW5ndGg8ZS5oaWdoV2F0ZXJNYXJrO3V8fChlLm5lZWREcmFpbj0hMCk7aWYoZS53cml0aW5nfHxlLmNvcmtlZCl7dmFyIGY9ZS5sYXN0QnVmZmVyZWRSZXF1ZXN0O2UubGFzdEJ1ZmZlcmVkUmVxdWVzdD17Y2h1bms6bixlbmNvZGluZzppLGlzQnVmOnIsY2FsbGJhY2s6byxuZXh0Om51bGx9LGY/Zi5uZXh0PWUubGFzdEJ1ZmZlcmVkUmVxdWVzdDplLmJ1ZmZlcmVkUmVxdWVzdD1lLmxhc3RCdWZmZXJlZFJlcXVlc3QsZS5idWZmZXJlZFJlcXVlc3RDb3VudCs9MX1lbHNlIHYodCxlLCExLHMsbixpLG8pO3JldHVybiB1fSh0aGlzLGcsXyx0LGUscikpLHd9LHkucHJvdG90eXBlLmNvcms9ZnVuY3Rpb24oKXt0aGlzLl93cml0YWJsZVN0YXRlLmNvcmtlZCsrfSx5LnByb3RvdHlwZS51bmNvcms9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl93cml0YWJsZVN0YXRlO3QuY29ya2VkJiYodC5jb3JrZWQtLSx0LndyaXRpbmd8fHQuY29ya2VkfHx0LmZpbmlzaGVkfHx0LmJ1ZmZlclByb2Nlc3Npbmd8fCF0LmJ1ZmZlcmVkUmVxdWVzdHx8dyh0aGlzLHQpKX0seS5wcm90b3R5cGUuc2V0RGVmYXVsdEVuY29kaW5nPWZ1bmN0aW9uKHQpe2lmKCJzdHJpbmciPT10eXBlb2YgdCYmKHQ9dC50b0xvd2VyQ2FzZSgpKSwhKFsiaGV4IiwidXRmOCIsInV0Zi04IiwiYXNjaWkiLCJiaW5hcnkiLCJiYXNlNjQiLCJ1Y3MyIiwidWNzLTIiLCJ1dGYxNmxlIiwidXRmLTE2bGUiLCJyYXciXS5pbmRleE9mKCh0KyIiKS50b0xvd2VyQ2FzZSgpKT4tMSkpdGhyb3cgbmV3IFR5cGVFcnJvcigiVW5rbm93biBlbmNvZGluZzogIit0KTtyZXR1cm4gdGhpcy5fd3JpdGFibGVTdGF0ZS5kZWZhdWx0RW5jb2Rpbmc9dCx0aGlzfSx5LnByb3RvdHlwZS5fd3JpdGU9ZnVuY3Rpb24odCxlLHIpe3IobmV3IEVycm9yKCJfd3JpdGUoKSBpcyBub3QgaW1wbGVtZW50ZWQiKSl9LHkucHJvdG90eXBlLl93cml0ZXY9bnVsbCx5LnByb3RvdHlwZS5lbmQ9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPXRoaXMuX3dyaXRhYmxlU3RhdGU7ImZ1bmN0aW9uIj09dHlwZW9mIHQ/KHI9dCx0PW51bGwsZT1udWxsKToiZnVuY3Rpb24iPT10eXBlb2YgZSYmKHI9ZSxlPW51bGwpLG51bGwhPXQmJnRoaXMud3JpdGUodCxlKSxuLmNvcmtlZCYmKG4uY29ya2VkPTEsdGhpcy51bmNvcmsoKSksbi5lbmRpbmd8fG4uZmluaXNoZWR8fGZ1bmN0aW9uKHQsZSxyKXtlLmVuZGluZz0hMCx4KHQsZSksciYmKGUuZmluaXNoZWQ/aShyKTp0Lm9uY2UoImZpbmlzaCIscikpO2UuZW5kZWQ9ITAsdC53cml0YWJsZT0hMX0odGhpcyxuLHIpfSxPYmplY3QuZGVmaW5lUHJvcGVydHkoeS5wcm90b3R5cGUsImRlc3Ryb3llZCIse2dldDpmdW5jdGlvbigpe3JldHVybiB2b2lkIDAhPT10aGlzLl93cml0YWJsZVN0YXRlJiZ0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZH0sc2V0OmZ1bmN0aW9uKHQpe3RoaXMuX3dyaXRhYmxlU3RhdGUmJih0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZD10KX19KSx5LnByb3RvdHlwZS5kZXN0cm95PXAuZGVzdHJveSx5LnByb3RvdHlwZS5fdW5kZXN0cm95PXAudW5kZXN0cm95LHkucHJvdG90eXBlLl9kZXN0cm95PWZ1bmN0aW9uKHQsZSl7dGhpcy5lbmQoKSxlKHQpfX0pLmNhbGwodGhpcyx0KCJfcHJvY2VzcyIpLCJ1bmRlZmluZWQiIT10eXBlb2YgZ2xvYmFsP2dsb2JhbDoidW5kZWZpbmVkIiE9dHlwZW9mIHNlbGY/c2VsZjoidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6e30pfSx7Ii4vX3N0cmVhbV9kdXBsZXgiOjEzNCwiLi9pbnRlcm5hbC9zdHJlYW1zL2Rlc3Ryb3kiOjE0MCwiLi9pbnRlcm5hbC9zdHJlYW1zL3N0cmVhbSI6MTQxLF9wcm9jZXNzOjEyMCwiY29yZS11dGlsLWlzIjo0OSxpbmhlcml0czoxMDEsInByb2Nlc3MtbmV4dGljay1hcmdzIjoxMTksInNhZmUtYnVmZmVyIjoxNDcsInV0aWwtZGVwcmVjYXRlIjoxNjB9XSwxMzk6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbj10KCJzYWZlLWJ1ZmZlciIpLkJ1ZmZlcixpPXQoInV0aWwiKTtlLmV4cG9ydHM9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7IWZ1bmN0aW9uKHQsZSl7aWYoISh0IGluc3RhbmNlb2YgZSkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uIil9KHRoaXMsdCksdGhpcy5oZWFkPW51bGwsdGhpcy50YWlsPW51bGwsdGhpcy5sZW5ndGg9MH1yZXR1cm4gdC5wcm90b3R5cGUucHVzaD1mdW5jdGlvbih0KXt2YXIgZT17ZGF0YTp0LG5leHQ6bnVsbH07dGhpcy5sZW5ndGg+MD90aGlzLnRhaWwubmV4dD1lOnRoaXMuaGVhZD1lLHRoaXMudGFpbD1lLCsrdGhpcy5sZW5ndGh9LHQucHJvdG90eXBlLnVuc2hpZnQ9ZnVuY3Rpb24odCl7dmFyIGU9e2RhdGE6dCxuZXh0OnRoaXMuaGVhZH07MD09PXRoaXMubGVuZ3RoJiYodGhpcy50YWlsPWUpLHRoaXMuaGVhZD1lLCsrdGhpcy5sZW5ndGh9LHQucHJvdG90eXBlLnNoaWZ0PWZ1bmN0aW9uKCl7aWYoMCE9PXRoaXMubGVuZ3RoKXt2YXIgdD10aGlzLmhlYWQuZGF0YTtyZXR1cm4gMT09PXRoaXMubGVuZ3RoP3RoaXMuaGVhZD10aGlzLnRhaWw9bnVsbDp0aGlzLmhlYWQ9dGhpcy5oZWFkLm5leHQsLS10aGlzLmxlbmd0aCx0fX0sdC5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLmhlYWQ9dGhpcy50YWlsPW51bGwsdGhpcy5sZW5ndGg9MH0sdC5wcm90b3R5cGUuam9pbj1mdW5jdGlvbih0KXtpZigwPT09dGhpcy5sZW5ndGgpcmV0dXJuIiI7Zm9yKHZhciBlPXRoaXMuaGVhZCxyPSIiK2UuZGF0YTtlPWUubmV4dDspcis9dCtlLmRhdGE7cmV0dXJuIHJ9LHQucHJvdG90eXBlLmNvbmNhdD1mdW5jdGlvbih0KXtpZigwPT09dGhpcy5sZW5ndGgpcmV0dXJuIG4uYWxsb2MoMCk7aWYoMT09PXRoaXMubGVuZ3RoKXJldHVybiB0aGlzLmhlYWQuZGF0YTtmb3IodmFyIGUscixpLG89bi5hbGxvY1Vuc2FmZSh0Pj4+MCksYT10aGlzLmhlYWQscz0wO2E7KWU9YS5kYXRhLHI9byxpPXMsZS5jb3B5KHIsaSkscys9YS5kYXRhLmxlbmd0aCxhPWEubmV4dDtyZXR1cm4gb30sdH0oKSxpJiZpLmluc3BlY3QmJmkuaW5zcGVjdC5jdXN0b20mJihlLmV4cG9ydHMucHJvdG90eXBlW2kuaW5zcGVjdC5jdXN0b21dPWZ1bmN0aW9uKCl7dmFyIHQ9aS5pbnNwZWN0KHtsZW5ndGg6dGhpcy5sZW5ndGh9KTtyZXR1cm4gdGhpcy5jb25zdHJ1Y3Rvci5uYW1lKyIgIit0fSl9LHsic2FmZS1idWZmZXIiOjE0Nyx1dGlsOjE3fV0sMTQwOltmdW5jdGlvbih0LGUscil7dmFyIG49dCgicHJvY2Vzcy1uZXh0aWNrLWFyZ3MiKS5uZXh0VGljaztmdW5jdGlvbiBpKHQsZSl7dC5lbWl0KCJlcnJvciIsZSl9ZS5leHBvcnRzPXtkZXN0cm95OmZ1bmN0aW9uKHQsZSl7dmFyIHI9dGhpcyxvPXRoaXMuX3JlYWRhYmxlU3RhdGUmJnRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkLGE9dGhpcy5fd3JpdGFibGVTdGF0ZSYmdGhpcy5fd3JpdGFibGVTdGF0ZS5kZXN0cm95ZWQ7cmV0dXJuIG98fGE/KGU/ZSh0KTohdHx8dGhpcy5fd3JpdGFibGVTdGF0ZSYmdGhpcy5fd3JpdGFibGVTdGF0ZS5lcnJvckVtaXR0ZWR8fG4oaSx0aGlzLHQpLHRoaXMpOih0aGlzLl9yZWFkYWJsZVN0YXRlJiYodGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWQ9ITApLHRoaXMuX3dyaXRhYmxlU3RhdGUmJih0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZD0hMCksdGhpcy5fZGVzdHJveSh0fHxudWxsLGZ1bmN0aW9uKHQpeyFlJiZ0PyhuKGkscix0KSxyLl93cml0YWJsZVN0YXRlJiYoci5fd3JpdGFibGVTdGF0ZS5lcnJvckVtaXR0ZWQ9ITApKTplJiZlKHQpfSksdGhpcyl9LHVuZGVzdHJveTpmdW5jdGlvbigpe3RoaXMuX3JlYWRhYmxlU3RhdGUmJih0aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZD0hMSx0aGlzLl9yZWFkYWJsZVN0YXRlLnJlYWRpbmc9ITEsdGhpcy5fcmVhZGFibGVTdGF0ZS5lbmRlZD0hMSx0aGlzLl9yZWFkYWJsZVN0YXRlLmVuZEVtaXR0ZWQ9ITEpLHRoaXMuX3dyaXRhYmxlU3RhdGUmJih0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZD0hMSx0aGlzLl93cml0YWJsZVN0YXRlLmVuZGVkPSExLHRoaXMuX3dyaXRhYmxlU3RhdGUuZW5kaW5nPSExLHRoaXMuX3dyaXRhYmxlU3RhdGUuZmluaXNoZWQ9ITEsdGhpcy5fd3JpdGFibGVTdGF0ZS5lcnJvckVtaXR0ZWQ9ITEpfX19LHsicHJvY2Vzcy1uZXh0aWNrLWFyZ3MiOjExOX1dLDE0MTpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz10KCJldmVudHMiKS5FdmVudEVtaXR0ZXJ9LHtldmVudHM6ODN9XSwxNDI6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9dCgiLi9yZWFkYWJsZSIpLlBhc3NUaHJvdWdofSx7Ii4vcmVhZGFibGUiOjE0M31dLDE0MzpbZnVuY3Rpb24odCxlLHIpeyhyPWUuZXhwb3J0cz10KCIuL2xpYi9fc3RyZWFtX3JlYWRhYmxlLmpzIikpLlN0cmVhbT1yLHIuUmVhZGFibGU9cixyLldyaXRhYmxlPXQoIi4vbGliL19zdHJlYW1fd3JpdGFibGUuanMiKSxyLkR1cGxleD10KCIuL2xpYi9fc3RyZWFtX2R1cGxleC5qcyIpLHIuVHJhbnNmb3JtPXQoIi4vbGliL19zdHJlYW1fdHJhbnNmb3JtLmpzIiksci5QYXNzVGhyb3VnaD10KCIuL2xpYi9fc3RyZWFtX3Bhc3N0aHJvdWdoLmpzIil9LHsiLi9saWIvX3N0cmVhbV9kdXBsZXguanMiOjEzNCwiLi9saWIvX3N0cmVhbV9wYXNzdGhyb3VnaC5qcyI6MTM1LCIuL2xpYi9fc3RyZWFtX3JlYWRhYmxlLmpzIjoxMzYsIi4vbGliL19zdHJlYW1fdHJhbnNmb3JtLmpzIjoxMzcsIi4vbGliL19zdHJlYW1fd3JpdGFibGUuanMiOjEzOH1dLDE0NDpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz10KCIuL3JlYWRhYmxlIikuVHJhbnNmb3JtfSx7Ii4vcmVhZGFibGUiOjE0M31dLDE0NTpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz10KCIuL2xpYi9fc3RyZWFtX3dyaXRhYmxlLmpzIil9LHsiLi9saWIvX3N0cmVhbV93cml0YWJsZS5qcyI6MTM4fV0sMTQ2OltmdW5jdGlvbih0LGUscil7KGZ1bmN0aW9uKHIpe3ZhciBuPXQoImluaGVyaXRzIiksaT10KCJoYXNoLWJhc2UiKTtmdW5jdGlvbiBvKCl7aS5jYWxsKHRoaXMsNjQpLHRoaXMuX2E9MTczMjU4NDE5Myx0aGlzLl9iPTQwMjMyMzM0MTcsdGhpcy5fYz0yNTYyMzgzMTAyLHRoaXMuX2Q9MjcxNzMzODc4LHRoaXMuX2U9MzI4NTM3NzUyMH1mdW5jdGlvbiBhKHQsZSl7cmV0dXJuIHQ8PGV8dD4+PjMyLWV9ZnVuY3Rpb24gcyh0LGUscixuLGksbyxzLHUpe3JldHVybiBhKHQrKGVecl5uKStvK3N8MCx1KStpfDB9ZnVuY3Rpb24gdSh0LGUscixuLGksbyxzLHUpe3JldHVybiBhKHQrKGUmcnx+ZSZuKStvK3N8MCx1KStpfDB9ZnVuY3Rpb24gZih0LGUscixuLGksbyxzLHUpe3JldHVybiBhKHQrKChlfH5yKV5uKStvK3N8MCx1KStpfDB9ZnVuY3Rpb24gYyh0LGUscixuLGksbyxzLHUpe3JldHVybiBhKHQrKGUmbnxyJn5uKStvK3N8MCx1KStpfDB9ZnVuY3Rpb24gaCh0LGUscixuLGksbyxzLHUpe3JldHVybiBhKHQrKGVeKHJ8fm4pKStvK3N8MCx1KStpfDB9bihvLGkpLG8ucHJvdG90eXBlLl91cGRhdGU9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9bmV3IEFycmF5KDE2KSxlPTA7ZTwxNjsrK2UpdFtlXT10aGlzLl9ibG9jay5yZWFkSW50MzJMRSg0KmUpO3ZhciByPXRoaXMuX2Esbj10aGlzLl9iLGk9dGhpcy5fYyxvPXRoaXMuX2QsZD10aGlzLl9lO2Q9cyhkLHI9cyhyLG4saSxvLGQsdFswXSwwLDExKSxuLGk9YShpLDEwKSxvLHRbMV0sMCwxNCksbj1zKG49YShuLDEwKSxpPXMoaSxvPXMobyxkLHIsbixpLHRbMl0sMCwxNSksZCxyPWEociwxMCksbix0WzNdLDAsMTIpLG8sZD1hKGQsMTApLHIsdFs0XSwwLDUpLG89cyhvPWEobywxMCksZD1zKGQscj1zKHIsbixpLG8sZCx0WzVdLDAsOCksbixpPWEoaSwxMCksbyx0WzZdLDAsNykscixuPWEobiwxMCksaSx0WzddLDAsOSkscj1zKHI9YShyLDEwKSxuPXMobixpPXMoaSxvLGQscixuLHRbOF0sMCwxMSksbyxkPWEoZCwxMCkscix0WzldLDAsMTMpLGksbz1hKG8sMTApLGQsdFsxMF0sMCwxNCksaT1zKGk9YShpLDEwKSxvPXMobyxkPXMoZCxyLG4saSxvLHRbMTFdLDAsMTUpLHIsbj1hKG4sMTApLGksdFsxMl0sMCw2KSxkLHI9YShyLDEwKSxuLHRbMTNdLDAsNyksZD11KGQ9YShkLDEwKSxyPXMocixuPXMobixpLG8sZCxyLHRbMTRdLDAsOSksaSxvPWEobywxMCksZCx0WzE1XSwwLDgpLG4saT1hKGksMTApLG8sdFs3XSwxNTE4NTAwMjQ5LDcpLG49dShuPWEobiwxMCksaT11KGksbz11KG8sZCxyLG4saSx0WzRdLDE1MTg1MDAyNDksNiksZCxyPWEociwxMCksbix0WzEzXSwxNTE4NTAwMjQ5LDgpLG8sZD1hKGQsMTApLHIsdFsxXSwxNTE4NTAwMjQ5LDEzKSxvPXUobz1hKG8sMTApLGQ9dShkLHI9dShyLG4saSxvLGQsdFsxMF0sMTUxODUwMDI0OSwxMSksbixpPWEoaSwxMCksbyx0WzZdLDE1MTg1MDAyNDksOSkscixuPWEobiwxMCksaSx0WzE1XSwxNTE4NTAwMjQ5LDcpLHI9dShyPWEociwxMCksbj11KG4saT11KGksbyxkLHIsbix0WzNdLDE1MTg1MDAyNDksMTUpLG8sZD1hKGQsMTApLHIsdFsxMl0sMTUxODUwMDI0OSw3KSxpLG89YShvLDEwKSxkLHRbMF0sMTUxODUwMDI0OSwxMiksaT11KGk9YShpLDEwKSxvPXUobyxkPXUoZCxyLG4saSxvLHRbOV0sMTUxODUwMDI0OSwxNSkscixuPWEobiwxMCksaSx0WzVdLDE1MTg1MDAyNDksOSksZCxyPWEociwxMCksbix0WzJdLDE1MTg1MDAyNDksMTEpLGQ9dShkPWEoZCwxMCkscj11KHIsbj11KG4saSxvLGQscix0WzE0XSwxNTE4NTAwMjQ5LDcpLGksbz1hKG8sMTApLGQsdFsxMV0sMTUxODUwMDI0OSwxMyksbixpPWEoaSwxMCksbyx0WzhdLDE1MTg1MDAyNDksMTIpLG49ZihuPWEobiwxMCksaT1mKGksbz1mKG8sZCxyLG4saSx0WzNdLDE4NTk3NzUzOTMsMTEpLGQscj1hKHIsMTApLG4sdFsxMF0sMTg1OTc3NTM5MywxMyksbyxkPWEoZCwxMCkscix0WzE0XSwxODU5Nzc1MzkzLDYpLG89ZihvPWEobywxMCksZD1mKGQscj1mKHIsbixpLG8sZCx0WzRdLDE4NTk3NzUzOTMsNyksbixpPWEoaSwxMCksbyx0WzldLDE4NTk3NzUzOTMsMTQpLHIsbj1hKG4sMTApLGksdFsxNV0sMTg1OTc3NTM5Myw5KSxyPWYocj1hKHIsMTApLG49ZihuLGk9ZihpLG8sZCxyLG4sdFs4XSwxODU5Nzc1MzkzLDEzKSxvLGQ9YShkLDEwKSxyLHRbMV0sMTg1OTc3NTM5MywxNSksaSxvPWEobywxMCksZCx0WzJdLDE4NTk3NzUzOTMsMTQpLGk9ZihpPWEoaSwxMCksbz1mKG8sZD1mKGQscixuLGksbyx0WzddLDE4NTk3NzUzOTMsOCkscixuPWEobiwxMCksaSx0WzBdLDE4NTk3NzUzOTMsMTMpLGQscj1hKHIsMTApLG4sdFs2XSwxODU5Nzc1MzkzLDYpLGQ9ZihkPWEoZCwxMCkscj1mKHIsbj1mKG4saSxvLGQscix0WzEzXSwxODU5Nzc1MzkzLDUpLGksbz1hKG8sMTApLGQsdFsxMV0sMTg1OTc3NTM5MywxMiksbixpPWEoaSwxMCksbyx0WzVdLDE4NTk3NzUzOTMsNyksbj1jKG49YShuLDEwKSxpPWMoaSxvPWYobyxkLHIsbixpLHRbMTJdLDE4NTk3NzUzOTMsNSksZCxyPWEociwxMCksbix0WzFdLDI0MDA5NTk3MDgsMTEpLG8sZD1hKGQsMTApLHIsdFs5XSwyNDAwOTU5NzA4LDEyKSxvPWMobz1hKG8sMTApLGQ9YyhkLHI9YyhyLG4saSxvLGQsdFsxMV0sMjQwMDk1OTcwOCwxNCksbixpPWEoaSwxMCksbyx0WzEwXSwyNDAwOTU5NzA4LDE1KSxyLG49YShuLDEwKSxpLHRbMF0sMjQwMDk1OTcwOCwxNCkscj1jKHI9YShyLDEwKSxuPWMobixpPWMoaSxvLGQscixuLHRbOF0sMjQwMDk1OTcwOCwxNSksbyxkPWEoZCwxMCkscix0WzEyXSwyNDAwOTU5NzA4LDkpLGksbz1hKG8sMTApLGQsdFs0XSwyNDAwOTU5NzA4LDgpLGk9YyhpPWEoaSwxMCksbz1jKG8sZD1jKGQscixuLGksbyx0WzEzXSwyNDAwOTU5NzA4LDkpLHIsbj1hKG4sMTApLGksdFszXSwyNDAwOTU5NzA4LDE0KSxkLHI9YShyLDEwKSxuLHRbN10sMjQwMDk1OTcwOCw1KSxkPWMoZD1hKGQsMTApLHI9YyhyLG49YyhuLGksbyxkLHIsdFsxNV0sMjQwMDk1OTcwOCw2KSxpLG89YShvLDEwKSxkLHRbMTRdLDI0MDA5NTk3MDgsOCksbixpPWEoaSwxMCksbyx0WzVdLDI0MDA5NTk3MDgsNiksbj1oKG49YShuLDEwKSxpPWMoaSxvPWMobyxkLHIsbixpLHRbNl0sMjQwMDk1OTcwOCw1KSxkLHI9YShyLDEwKSxuLHRbMl0sMjQwMDk1OTcwOCwxMiksbyxkPWEoZCwxMCkscix0WzRdLDI4NDA4NTM4MzgsOSksbz1oKG89YShvLDEwKSxkPWgoZCxyPWgocixuLGksbyxkLHRbMF0sMjg0MDg1MzgzOCwxNSksbixpPWEoaSwxMCksbyx0WzVdLDI4NDA4NTM4MzgsNSkscixuPWEobiwxMCksaSx0WzldLDI4NDA4NTM4MzgsMTEpLHI9aChyPWEociwxMCksbj1oKG4saT1oKGksbyxkLHIsbix0WzddLDI4NDA4NTM4MzgsNiksbyxkPWEoZCwxMCkscix0WzEyXSwyODQwODUzODM4LDgpLGksbz1hKG8sMTApLGQsdFsyXSwyODQwODUzODM4LDEzKSxpPWgoaT1hKGksMTApLG89aChvLGQ9aChkLHIsbixpLG8sdFsxMF0sMjg0MDg1MzgzOCwxMikscixuPWEobiwxMCksaSx0WzE0XSwyODQwODUzODM4LDUpLGQscj1hKHIsMTApLG4sdFsxXSwyODQwODUzODM4LDEyKSxkPWgoZD1hKGQsMTApLHI9aChyLG49aChuLGksbyxkLHIsdFszXSwyODQwODUzODM4LDEzKSxpLG89YShvLDEwKSxkLHRbOF0sMjg0MDg1MzgzOCwxNCksbixpPWEoaSwxMCksbyx0WzExXSwyODQwODUzODM4LDExKSxuPWgobj1hKG4sMTApLGk9aChpLG89aChvLGQscixuLGksdFs2XSwyODQwODUzODM4LDgpLGQscj1hKHIsMTApLG4sdFsxNV0sMjg0MDg1MzgzOCw1KSxvLGQ9YShkLDEwKSxyLHRbMTNdLDI4NDA4NTM4MzgsNiksbz1hKG8sMTApO3ZhciBsPXRoaXMuX2EscD10aGlzLl9iLGI9dGhpcy5fYyxtPXRoaXMuX2QseT10aGlzLl9lO3k9aCh5LGw9aChsLHAsYixtLHksdFs1XSwxMzUyODI5OTI2LDgpLHAsYj1hKGIsMTApLG0sdFsxNF0sMTM1MjgyOTkyNiw5KSxwPWgocD1hKHAsMTApLGI9aChiLG09aChtLHksbCxwLGIsdFs3XSwxMzUyODI5OTI2LDkpLHksbD1hKGwsMTApLHAsdFswXSwxMzUyODI5OTI2LDExKSxtLHk9YSh5LDEwKSxsLHRbOV0sMTM1MjgyOTkyNiwxMyksbT1oKG09YShtLDEwKSx5PWgoeSxsPWgobCxwLGIsbSx5LHRbMl0sMTM1MjgyOTkyNiwxNSkscCxiPWEoYiwxMCksbSx0WzExXSwxMzUyODI5OTI2LDE1KSxsLHA9YShwLDEwKSxiLHRbNF0sMTM1MjgyOTkyNiw1KSxsPWgobD1hKGwsMTApLHA9aChwLGI9aChiLG0seSxsLHAsdFsxM10sMTM1MjgyOTkyNiw3KSxtLHk9YSh5LDEwKSxsLHRbNl0sMTM1MjgyOTkyNiw3KSxiLG09YShtLDEwKSx5LHRbMTVdLDEzNTI4Mjk5MjYsOCksYj1oKGI9YShiLDEwKSxtPWgobSx5PWgoeSxsLHAsYixtLHRbOF0sMTM1MjgyOTkyNiwxMSksbCxwPWEocCwxMCksYix0WzFdLDEzNTI4Mjk5MjYsMTQpLHksbD1hKGwsMTApLHAsdFsxMF0sMTM1MjgyOTkyNiwxNCkseT1jKHk9YSh5LDEwKSxsPWgobCxwPWgocCxiLG0seSxsLHRbM10sMTM1MjgyOTkyNiwxMiksYixtPWEobSwxMCkseSx0WzEyXSwxMzUyODI5OTI2LDYpLHAsYj1hKGIsMTApLG0sdFs2XSwxNTQ4NjAzNjg0LDkpLHA9YyhwPWEocCwxMCksYj1jKGIsbT1jKG0seSxsLHAsYix0WzExXSwxNTQ4NjAzNjg0LDEzKSx5LGw9YShsLDEwKSxwLHRbM10sMTU0ODYwMzY4NCwxNSksbSx5PWEoeSwxMCksbCx0WzddLDE1NDg2MDM2ODQsNyksbT1jKG09YShtLDEwKSx5PWMoeSxsPWMobCxwLGIsbSx5LHRbMF0sMTU0ODYwMzY4NCwxMikscCxiPWEoYiwxMCksbSx0WzEzXSwxNTQ4NjAzNjg0LDgpLGwscD1hKHAsMTApLGIsdFs1XSwxNTQ4NjAzNjg0LDkpLGw9YyhsPWEobCwxMCkscD1jKHAsYj1jKGIsbSx5LGwscCx0WzEwXSwxNTQ4NjAzNjg0LDExKSxtLHk9YSh5LDEwKSxsLHRbMTRdLDE1NDg2MDM2ODQsNyksYixtPWEobSwxMCkseSx0WzE1XSwxNTQ4NjAzNjg0LDcpLGI9YyhiPWEoYiwxMCksbT1jKG0seT1jKHksbCxwLGIsbSx0WzhdLDE1NDg2MDM2ODQsMTIpLGwscD1hKHAsMTApLGIsdFsxMl0sMTU0ODYwMzY4NCw3KSx5LGw9YShsLDEwKSxwLHRbNF0sMTU0ODYwMzY4NCw2KSx5PWMoeT1hKHksMTApLGw9YyhsLHA9YyhwLGIsbSx5LGwsdFs5XSwxNTQ4NjAzNjg0LDE1KSxiLG09YShtLDEwKSx5LHRbMV0sMTU0ODYwMzY4NCwxMykscCxiPWEoYiwxMCksbSx0WzJdLDE1NDg2MDM2ODQsMTEpLHA9ZihwPWEocCwxMCksYj1mKGIsbT1mKG0seSxsLHAsYix0WzE1XSwxODM2MDcyNjkxLDkpLHksbD1hKGwsMTApLHAsdFs1XSwxODM2MDcyNjkxLDcpLG0seT1hKHksMTApLGwsdFsxXSwxODM2MDcyNjkxLDE1KSxtPWYobT1hKG0sMTApLHk9Zih5LGw9ZihsLHAsYixtLHksdFszXSwxODM2MDcyNjkxLDExKSxwLGI9YShiLDEwKSxtLHRbN10sMTgzNjA3MjY5MSw4KSxsLHA9YShwLDEwKSxiLHRbMTRdLDE4MzYwNzI2OTEsNiksbD1mKGw9YShsLDEwKSxwPWYocCxiPWYoYixtLHksbCxwLHRbNl0sMTgzNjA3MjY5MSw2KSxtLHk9YSh5LDEwKSxsLHRbOV0sMTgzNjA3MjY5MSwxNCksYixtPWEobSwxMCkseSx0WzExXSwxODM2MDcyNjkxLDEyKSxiPWYoYj1hKGIsMTApLG09ZihtLHk9Zih5LGwscCxiLG0sdFs4XSwxODM2MDcyNjkxLDEzKSxsLHA9YShwLDEwKSxiLHRbMTJdLDE4MzYwNzI2OTEsNSkseSxsPWEobCwxMCkscCx0WzJdLDE4MzYwNzI2OTEsMTQpLHk9Zih5PWEoeSwxMCksbD1mKGwscD1mKHAsYixtLHksbCx0WzEwXSwxODM2MDcyNjkxLDEzKSxiLG09YShtLDEwKSx5LHRbMF0sMTgzNjA3MjY5MSwxMykscCxiPWEoYiwxMCksbSx0WzRdLDE4MzYwNzI2OTEsNykscD11KHA9YShwLDEwKSxiPXUoYixtPWYobSx5LGwscCxiLHRbMTNdLDE4MzYwNzI2OTEsNSkseSxsPWEobCwxMCkscCx0WzhdLDIwNTM5OTQyMTcsMTUpLG0seT1hKHksMTApLGwsdFs2XSwyMDUzOTk0MjE3LDUpLG09dShtPWEobSwxMCkseT11KHksbD11KGwscCxiLG0seSx0WzRdLDIwNTM5OTQyMTcsOCkscCxiPWEoYiwxMCksbSx0WzFdLDIwNTM5OTQyMTcsMTEpLGwscD1hKHAsMTApLGIsdFszXSwyMDUzOTk0MjE3LDE0KSxsPXUobD1hKGwsMTApLHA9dShwLGI9dShiLG0seSxsLHAsdFsxMV0sMjA1Mzk5NDIxNywxNCksbSx5PWEoeSwxMCksbCx0WzE1XSwyMDUzOTk0MjE3LDYpLGIsbT1hKG0sMTApLHksdFswXSwyMDUzOTk0MjE3LDE0KSxiPXUoYj1hKGIsMTApLG09dShtLHk9dSh5LGwscCxiLG0sdFs1XSwyMDUzOTk0MjE3LDYpLGwscD1hKHAsMTApLGIsdFsxMl0sMjA1Mzk5NDIxNyw5KSx5LGw9YShsLDEwKSxwLHRbMl0sMjA1Mzk5NDIxNywxMikseT11KHk9YSh5LDEwKSxsPXUobCxwPXUocCxiLG0seSxsLHRbMTNdLDIwNTM5OTQyMTcsOSksYixtPWEobSwxMCkseSx0WzldLDIwNTM5OTQyMTcsMTIpLHAsYj1hKGIsMTApLG0sdFs3XSwyMDUzOTk0MjE3LDUpLHA9cyhwPWEocCwxMCksYj11KGIsbT11KG0seSxsLHAsYix0WzEwXSwyMDUzOTk0MjE3LDE1KSx5LGw9YShsLDEwKSxwLHRbMTRdLDIwNTM5OTQyMTcsOCksbSx5PWEoeSwxMCksbCx0WzEyXSwwLDgpLG09cyhtPWEobSwxMCkseT1zKHksbD1zKGwscCxiLG0seSx0WzE1XSwwLDUpLHAsYj1hKGIsMTApLG0sdFsxMF0sMCwxMiksbCxwPWEocCwxMCksYix0WzRdLDAsOSksbD1zKGw9YShsLDEwKSxwPXMocCxiPXMoYixtLHksbCxwLHRbMV0sMCwxMiksbSx5PWEoeSwxMCksbCx0WzVdLDAsNSksYixtPWEobSwxMCkseSx0WzhdLDAsMTQpLGI9cyhiPWEoYiwxMCksbT1zKG0seT1zKHksbCxwLGIsbSx0WzddLDAsNiksbCxwPWEocCwxMCksYix0WzZdLDAsOCkseSxsPWEobCwxMCkscCx0WzJdLDAsMTMpLHk9cyh5PWEoeSwxMCksbD1zKGwscD1zKHAsYixtLHksbCx0WzEzXSwwLDYpLGIsbT1hKG0sMTApLHksdFsxNF0sMCw1KSxwLGI9YShiLDEwKSxtLHRbMF0sMCwxNSkscD1zKHA9YShwLDEwKSxiPXMoYixtPXMobSx5LGwscCxiLHRbM10sMCwxMykseSxsPWEobCwxMCkscCx0WzldLDAsMTEpLG0seT1hKHksMTApLGwsdFsxMV0sMCwxMSksbT1hKG0sMTApO3ZhciB2PXRoaXMuX2IraSttfDA7dGhpcy5fYj10aGlzLl9jK28reXwwLHRoaXMuX2M9dGhpcy5fZCtkK2x8MCx0aGlzLl9kPXRoaXMuX2UrcitwfDAsdGhpcy5fZT10aGlzLl9hK24rYnwwLHRoaXMuX2E9dn0sby5wcm90b3R5cGUuX2RpZ2VzdD1mdW5jdGlvbigpe3RoaXMuX2Jsb2NrW3RoaXMuX2Jsb2NrT2Zmc2V0KytdPTEyOCx0aGlzLl9ibG9ja09mZnNldD41NiYmKHRoaXMuX2Jsb2NrLmZpbGwoMCx0aGlzLl9ibG9ja09mZnNldCw2NCksdGhpcy5fdXBkYXRlKCksdGhpcy5fYmxvY2tPZmZzZXQ9MCksdGhpcy5fYmxvY2suZmlsbCgwLHRoaXMuX2Jsb2NrT2Zmc2V0LDU2KSx0aGlzLl9ibG9jay53cml0ZVVJbnQzMkxFKHRoaXMuX2xlbmd0aFswXSw1NiksdGhpcy5fYmxvY2sud3JpdGVVSW50MzJMRSh0aGlzLl9sZW5ndGhbMV0sNjApLHRoaXMuX3VwZGF0ZSgpO3ZhciB0PW5ldyByKDIwKTtyZXR1cm4gdC53cml0ZUludDMyTEUodGhpcy5fYSwwKSx0LndyaXRlSW50MzJMRSh0aGlzLl9iLDQpLHQud3JpdGVJbnQzMkxFKHRoaXMuX2MsOCksdC53cml0ZUludDMyTEUodGhpcy5fZCwxMiksdC53cml0ZUludDMyTEUodGhpcy5fZSwxNiksdH0sZS5leHBvcnRzPW99KS5jYWxsKHRoaXMsdCgiYnVmZmVyIikuQnVmZmVyKX0se2J1ZmZlcjo0NywiaGFzaC1iYXNlIjo4NSxpbmhlcml0czoxMDF9XSwxNDc6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbj10KCJidWZmZXIiKSxpPW4uQnVmZmVyO2Z1bmN0aW9uIG8odCxlKXtmb3IodmFyIHIgaW4gdCllW3JdPXRbcl19ZnVuY3Rpb24gYSh0LGUscil7cmV0dXJuIGkodCxlLHIpfWkuZnJvbSYmaS5hbGxvYyYmaS5hbGxvY1Vuc2FmZSYmaS5hbGxvY1Vuc2FmZVNsb3c/ZS5leHBvcnRzPW46KG8obixyKSxyLkJ1ZmZlcj1hKSxvKGksYSksYS5mcm9tPWZ1bmN0aW9uKHQsZSxyKXtpZigibnVtYmVyIj09dHlwZW9mIHQpdGhyb3cgbmV3IFR5cGVFcnJvcigiQXJndW1lbnQgbXVzdCBub3QgYmUgYSBudW1iZXIiKTtyZXR1cm4gaSh0LGUscil9LGEuYWxsb2M9ZnVuY3Rpb24odCxlLHIpe2lmKCJudW1iZXIiIT10eXBlb2YgdCl0aHJvdyBuZXcgVHlwZUVycm9yKCJBcmd1bWVudCBtdXN0IGJlIGEgbnVtYmVyIik7dmFyIG49aSh0KTtyZXR1cm4gdm9pZCAwIT09ZT8ic3RyaW5nIj09dHlwZW9mIHI/bi5maWxsKGUscik6bi5maWxsKGUpOm4uZmlsbCgwKSxufSxhLmFsbG9jVW5zYWZlPWZ1bmN0aW9uKHQpe2lmKCJudW1iZXIiIT10eXBlb2YgdCl0aHJvdyBuZXcgVHlwZUVycm9yKCJBcmd1bWVudCBtdXN0IGJlIGEgbnVtYmVyIik7cmV0dXJuIGkodCl9LGEuYWxsb2NVbnNhZmVTbG93PWZ1bmN0aW9uKHQpe2lmKCJudW1iZXIiIT10eXBlb2YgdCl0aHJvdyBuZXcgVHlwZUVycm9yKCJBcmd1bWVudCBtdXN0IGJlIGEgbnVtYmVyIik7cmV0dXJuIG4uU2xvd0J1ZmZlcih0KX19LHtidWZmZXI6NDd9XSwxNDg6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbj10KCJzYWZlLWJ1ZmZlciIpLkJ1ZmZlcjtmdW5jdGlvbiBpKHQsZSl7dGhpcy5fYmxvY2s9bi5hbGxvYyh0KSx0aGlzLl9maW5hbFNpemU9ZSx0aGlzLl9ibG9ja1NpemU9dCx0aGlzLl9sZW49MH1pLnByb3RvdHlwZS51cGRhdGU9ZnVuY3Rpb24odCxlKXsic3RyaW5nIj09dHlwZW9mIHQmJihlPWV8fCJ1dGY4Iix0PW4uZnJvbSh0LGUpKTtmb3IodmFyIHI9dGhpcy5fYmxvY2ssaT10aGlzLl9ibG9ja1NpemUsbz10Lmxlbmd0aCxhPXRoaXMuX2xlbixzPTA7czxvOyl7Zm9yKHZhciB1PWElaSxmPU1hdGgubWluKG8tcyxpLXUpLGM9MDtjPGY7YysrKXJbdStjXT10W3MrY107cys9ZiwoYSs9ZiklaT09MCYmdGhpcy5fdXBkYXRlKHIpfXJldHVybiB0aGlzLl9sZW4rPW8sdGhpc30saS5wcm90b3R5cGUuZGlnZXN0PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX2xlbiV0aGlzLl9ibG9ja1NpemU7dGhpcy5fYmxvY2tbZV09MTI4LHRoaXMuX2Jsb2NrLmZpbGwoMCxlKzEpLGU+PXRoaXMuX2ZpbmFsU2l6ZSYmKHRoaXMuX3VwZGF0ZSh0aGlzLl9ibG9jayksdGhpcy5fYmxvY2suZmlsbCgwKSk7dmFyIHI9OCp0aGlzLl9sZW47aWYocjw9NDI5NDk2NzI5NSl0aGlzLl9ibG9jay53cml0ZVVJbnQzMkJFKHIsdGhpcy5fYmxvY2tTaXplLTQpO2Vsc2V7dmFyIG49KDQyOTQ5NjcyOTUmcik+Pj4wLGk9KHItbikvNDI5NDk2NzI5Njt0aGlzLl9ibG9jay53cml0ZVVJbnQzMkJFKGksdGhpcy5fYmxvY2tTaXplLTgpLHRoaXMuX2Jsb2NrLndyaXRlVUludDMyQkUobix0aGlzLl9ibG9ja1NpemUtNCl9dGhpcy5fdXBkYXRlKHRoaXMuX2Jsb2NrKTt2YXIgbz10aGlzLl9oYXNoKCk7cmV0dXJuIHQ/by50b1N0cmluZyh0KTpvfSxpLnByb3RvdHlwZS5fdXBkYXRlPWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKCJfdXBkYXRlIG11c3QgYmUgaW1wbGVtZW50ZWQgYnkgc3ViY2xhc3MiKX0sZS5leHBvcnRzPWl9LHsic2FmZS1idWZmZXIiOjE0N31dLDE0OTpbZnVuY3Rpb24odCxlLHIpeyhyPWUuZXhwb3J0cz1mdW5jdGlvbih0KXt0PXQudG9Mb3dlckNhc2UoKTt2YXIgZT1yW3RdO2lmKCFlKXRocm93IG5ldyBFcnJvcih0KyIgaXMgbm90IHN1cHBvcnRlZCAod2UgYWNjZXB0IHB1bGwgcmVxdWVzdHMpIik7cmV0dXJuIG5ldyBlfSkuc2hhPXQoIi4vc2hhIiksci5zaGExPXQoIi4vc2hhMSIpLHIuc2hhMjI0PXQoIi4vc2hhMjI0Iiksci5zaGEyNTY9dCgiLi9zaGEyNTYiKSxyLnNoYTM4ND10KCIuL3NoYTM4NCIpLHIuc2hhNTEyPXQoIi4vc2hhNTEyIil9LHsiLi9zaGEiOjE1MCwiLi9zaGExIjoxNTEsIi4vc2hhMjI0IjoxNTIsIi4vc2hhMjU2IjoxNTMsIi4vc2hhMzg0IjoxNTQsIi4vc2hhNTEyIjoxNTV9XSwxNTA6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbj10KCJpbmhlcml0cyIpLGk9dCgiLi9oYXNoIiksbz10KCJzYWZlLWJ1ZmZlciIpLkJ1ZmZlcixhPVsxNTE4NTAwMjQ5LDE4NTk3NzUzOTMsLTE4OTQwMDc1ODgsLTg5OTQ5NzUxNF0scz1uZXcgQXJyYXkoODApO2Z1bmN0aW9uIHUoKXt0aGlzLmluaXQoKSx0aGlzLl93PXMsaS5jYWxsKHRoaXMsNjQsNTYpfW4odSxpKSx1LnByb3RvdHlwZS5pbml0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2E9MTczMjU4NDE5Myx0aGlzLl9iPTQwMjMyMzM0MTcsdGhpcy5fYz0yNTYyMzgzMTAyLHRoaXMuX2Q9MjcxNzMzODc4LHRoaXMuX2U9MzI4NTM3NzUyMCx0aGlzfSx1LnByb3RvdHlwZS5fdXBkYXRlPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxyLG4saSxvLHMsdT10aGlzLl93LGY9MHx0aGlzLl9hLGM9MHx0aGlzLl9iLGg9MHx0aGlzLl9jLGQ9MHx0aGlzLl9kLGw9MHx0aGlzLl9lLHA9MDtwPDE2OysrcCl1W3BdPXQucmVhZEludDMyQkUoNCpwKTtmb3IoO3A8ODA7KytwKXVbcF09dVtwLTNdXnVbcC04XV51W3AtMTRdXnVbcC0xNl07Zm9yKHZhciBiPTA7Yjw4MDsrK2Ipe3ZhciBtPX5+KGIvMjApLHk9MHwoKHM9Zik8PDV8cz4+PjI3KSsobj1jLGk9aCxvPWQsMD09PShyPW0pP24maXx+biZvOjI9PT1yP24maXxuJm98aSZvOm5eaV5vKStsK3VbYl0rYVttXTtsPWQsZD1oLGg9KGU9Yyk8PDMwfGU+Pj4yLGM9ZixmPXl9dGhpcy5fYT1mK3RoaXMuX2F8MCx0aGlzLl9iPWMrdGhpcy5fYnwwLHRoaXMuX2M9aCt0aGlzLl9jfDAsdGhpcy5fZD1kK3RoaXMuX2R8MCx0aGlzLl9lPWwrdGhpcy5fZXwwfSx1LnByb3RvdHlwZS5faGFzaD1mdW5jdGlvbigpe3ZhciB0PW8uYWxsb2NVbnNhZmUoMjApO3JldHVybiB0LndyaXRlSW50MzJCRSgwfHRoaXMuX2EsMCksdC53cml0ZUludDMyQkUoMHx0aGlzLl9iLDQpLHQud3JpdGVJbnQzMkJFKDB8dGhpcy5fYyw4KSx0LndyaXRlSW50MzJCRSgwfHRoaXMuX2QsMTIpLHQud3JpdGVJbnQzMkJFKDB8dGhpcy5fZSwxNiksdH0sZS5leHBvcnRzPXV9LHsiLi9oYXNoIjoxNDgsaW5oZXJpdHM6MTAxLCJzYWZlLWJ1ZmZlciI6MTQ3fV0sMTUxOltmdW5jdGlvbih0LGUscil7dmFyIG49dCgiaW5oZXJpdHMiKSxpPXQoIi4vaGFzaCIpLG89dCgic2FmZS1idWZmZXIiKS5CdWZmZXIsYT1bMTUxODUwMDI0OSwxODU5Nzc1MzkzLC0xODk0MDA3NTg4LC04OTk0OTc1MTRdLHM9bmV3IEFycmF5KDgwKTtmdW5jdGlvbiB1KCl7dGhpcy5pbml0KCksdGhpcy5fdz1zLGkuY2FsbCh0aGlzLDY0LDU2KX1uKHUsaSksdS5wcm90b3R5cGUuaW5pdD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9hPTE3MzI1ODQxOTMsdGhpcy5fYj00MDIzMjMzNDE3LHRoaXMuX2M9MjU2MjM4MzEwMix0aGlzLl9kPTI3MTczMzg3OCx0aGlzLl9lPTMyODUzNzc1MjAsdGhpc30sdS5wcm90b3R5cGUuX3VwZGF0ZT1mdW5jdGlvbih0KXtmb3IodmFyIGUscixuLGksbyxzLHUsZj10aGlzLl93LGM9MHx0aGlzLl9hLGg9MHx0aGlzLl9iLGQ9MHx0aGlzLl9jLGw9MHx0aGlzLl9kLHA9MHx0aGlzLl9lLGI9MDtiPDE2OysrYilmW2JdPXQucmVhZEludDMyQkUoNCpiKTtmb3IoO2I8ODA7KytiKWZbYl09KGU9ZltiLTNdXmZbYi04XV5mW2ItMTRdXmZbYi0xNl0pPDwxfGU+Pj4zMTtmb3IodmFyIG09MDttPDgwOysrbSl7dmFyIHk9fn4obS8yMCksdj0wfCgodT1jKTw8NXx1Pj4+MjcpKyhpPWgsbz1kLHM9bCwwPT09KG49eSk/aSZvfH5pJnM6Mj09PW4/aSZvfGkmc3xvJnM6aV5vXnMpK3ArZlttXSthW3ldO3A9bCxsPWQsZD0ocj1oKTw8MzB8cj4+PjIsaD1jLGM9dn10aGlzLl9hPWMrdGhpcy5fYXwwLHRoaXMuX2I9aCt0aGlzLl9ifDAsdGhpcy5fYz1kK3RoaXMuX2N8MCx0aGlzLl9kPWwrdGhpcy5fZHwwLHRoaXMuX2U9cCt0aGlzLl9lfDB9LHUucHJvdG90eXBlLl9oYXNoPWZ1bmN0aW9uKCl7dmFyIHQ9by5hbGxvY1Vuc2FmZSgyMCk7cmV0dXJuIHQud3JpdGVJbnQzMkJFKDB8dGhpcy5fYSwwKSx0LndyaXRlSW50MzJCRSgwfHRoaXMuX2IsNCksdC53cml0ZUludDMyQkUoMHx0aGlzLl9jLDgpLHQud3JpdGVJbnQzMkJFKDB8dGhpcy5fZCwxMiksdC53cml0ZUludDMyQkUoMHx0aGlzLl9lLDE2KSx0fSxlLmV4cG9ydHM9dX0seyIuL2hhc2giOjE0OCxpbmhlcml0czoxMDEsInNhZmUtYnVmZmVyIjoxNDd9XSwxNTI6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbj10KCJpbmhlcml0cyIpLGk9dCgiLi9zaGEyNTYiKSxvPXQoIi4vaGFzaCIpLGE9dCgic2FmZS1idWZmZXIiKS5CdWZmZXIscz1uZXcgQXJyYXkoNjQpO2Z1bmN0aW9uIHUoKXt0aGlzLmluaXQoKSx0aGlzLl93PXMsby5jYWxsKHRoaXMsNjQsNTYpfW4odSxpKSx1LnByb3RvdHlwZS5pbml0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2E9MzIzODM3MTAzMix0aGlzLl9iPTkxNDE1MDY2Myx0aGlzLl9jPTgxMjcwMjk5OSx0aGlzLl9kPTQxNDQ5MTI2OTcsdGhpcy5fZT00MjkwNzc1ODU3LHRoaXMuX2Y9MTc1MDYwMzAyNSx0aGlzLl9nPTE2OTQwNzY4MzksdGhpcy5faD0zMjA0MDc1NDI4LHRoaXN9LHUucHJvdG90eXBlLl9oYXNoPWZ1bmN0aW9uKCl7dmFyIHQ9YS5hbGxvY1Vuc2FmZSgyOCk7cmV0dXJuIHQud3JpdGVJbnQzMkJFKHRoaXMuX2EsMCksdC53cml0ZUludDMyQkUodGhpcy5fYiw0KSx0LndyaXRlSW50MzJCRSh0aGlzLl9jLDgpLHQud3JpdGVJbnQzMkJFKHRoaXMuX2QsMTIpLHQud3JpdGVJbnQzMkJFKHRoaXMuX2UsMTYpLHQud3JpdGVJbnQzMkJFKHRoaXMuX2YsMjApLHQud3JpdGVJbnQzMkJFKHRoaXMuX2csMjQpLHR9LGUuZXhwb3J0cz11fSx7Ii4vaGFzaCI6MTQ4LCIuL3NoYTI1NiI6MTUzLGluaGVyaXRzOjEwMSwic2FmZS1idWZmZXIiOjE0N31dLDE1MzpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQoImluaGVyaXRzIiksaT10KCIuL2hhc2giKSxvPXQoInNhZmUtYnVmZmVyIikuQnVmZmVyLGE9WzExMTYzNTI0MDgsMTg5OTQ0NzQ0MSwzMDQ5MzIzNDcxLDM5MjEwMDk1NzMsOTYxOTg3MTYzLDE1MDg5NzA5OTMsMjQ1MzYzNTc0OCwyODcwNzYzMjIxLDM2MjQzODEwODAsMzEwNTk4NDAxLDYwNzIyNTI3OCwxNDI2ODgxOTg3LDE5MjUwNzgzODgsMjE2MjA3ODIwNiwyNjE0ODg4MTAzLDMyNDgyMjI1ODAsMzgzNTM5MDQwMSw0MDIyMjI0Nzc0LDI2NDM0NzA3OCw2MDQ4MDc2MjgsNzcwMjU1OTgzLDEyNDkxNTAxMjIsMTU1NTA4MTY5MiwxOTk2MDY0OTg2LDI1NTQyMjA4ODIsMjgyMTgzNDM0OSwyOTUyOTk2ODA4LDMyMTAzMTM2NzEsMzMzNjU3MTg5MSwzNTg0NTI4NzExLDExMzkyNjk5MywzMzgyNDE4OTUsNjY2MzA3MjA1LDc3MzUyOTkxMiwxMjk0NzU3MzcyLDEzOTYxODIyOTEsMTY5NTE4MzcwMCwxOTg2NjYxMDUxLDIxNzcwMjYzNTAsMjQ1Njk1NjAzNywyNzMwNDg1OTIxLDI4MjAzMDI0MTEsMzI1OTczMDgwMCwzMzQ1NzY0NzcxLDM1MTYwNjU4MTcsMzYwMDM1MjgwNCw0MDk0NTcxOTA5LDI3NTQyMzM0NCw0MzAyMjc3MzQsNTA2OTQ4NjE2LDY1OTA2MDU1Niw4ODM5OTc4NzcsOTU4MTM5NTcxLDEzMjI4MjIyMTgsMTUzNzAwMjA2MywxNzQ3ODczNzc5LDE5NTU1NjIyMjIsMjAyNDEwNDgxNSwyMjI3NzMwNDUyLDIzNjE4NTI0MjQsMjQyODQzNjQ3NCwyNzU2NzM0MTg3LDMyMDQwMzE0NzksMzMyOTMyNTI5OF0scz1uZXcgQXJyYXkoNjQpO2Z1bmN0aW9uIHUoKXt0aGlzLmluaXQoKSx0aGlzLl93PXMsaS5jYWxsKHRoaXMsNjQsNTYpfW4odSxpKSx1LnByb3RvdHlwZS5pbml0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2E9MTc3OTAzMzcwMyx0aGlzLl9iPTMxNDQxMzQyNzcsdGhpcy5fYz0xMDEzOTA0MjQyLHRoaXMuX2Q9Mjc3MzQ4MDc2Mix0aGlzLl9lPTEzNTk4OTMxMTksdGhpcy5fZj0yNjAwODIyOTI0LHRoaXMuX2c9NTI4NzM0NjM1LHRoaXMuX2g9MTU0MTQ1OTIyNSx0aGlzfSx1LnByb3RvdHlwZS5fdXBkYXRlPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxyLG4saSxvLHMsdSxmPXRoaXMuX3csYz0wfHRoaXMuX2EsaD0wfHRoaXMuX2IsZD0wfHRoaXMuX2MsbD0wfHRoaXMuX2QscD0wfHRoaXMuX2UsYj0wfHRoaXMuX2YsbT0wfHRoaXMuX2cseT0wfHRoaXMuX2gsdj0wO3Y8MTY7Kyt2KWZbdl09dC5yZWFkSW50MzJCRSg0KnYpO2Zvcig7djw2NDsrK3YpZlt2XT0wfCgoKHI9Zlt2LTJdKT4+PjE3fHI8PDE1KV4ocj4+PjE5fHI8PDEzKV5yPj4+MTApK2Zbdi03XSsoKChlPWZbdi0xNV0pPj4+N3xlPDwyNSleKGU+Pj4xOHxlPDwxNCleZT4+PjMpK2Zbdi0xNl07Zm9yKHZhciBnPTA7Zzw2NDsrK2cpe3ZhciB3PXkrKCgodT1wKT4+PjZ8dTw8MjYpXih1Pj4+MTF8dTw8MjEpXih1Pj4+MjV8dTw8NykpKygocz1tKV5wJihiXnMpKSthW2ddK2ZbZ118MCxfPTB8KCgobz1jKT4+PjJ8bzw8MzApXihvPj4+MTN8bzw8MTkpXihvPj4+MjJ8bzw8MTApKSsoKG49YykmKGk9aCl8ZCYobnxpKSk7eT1tLG09YixiPXAscD1sK3d8MCxsPWQsZD1oLGg9YyxjPXcrX3wwfXRoaXMuX2E9Yyt0aGlzLl9hfDAsdGhpcy5fYj1oK3RoaXMuX2J8MCx0aGlzLl9jPWQrdGhpcy5fY3wwLHRoaXMuX2Q9bCt0aGlzLl9kfDAsdGhpcy5fZT1wK3RoaXMuX2V8MCx0aGlzLl9mPWIrdGhpcy5fZnwwLHRoaXMuX2c9bSt0aGlzLl9nfDAsdGhpcy5faD15K3RoaXMuX2h8MH0sdS5wcm90b3R5cGUuX2hhc2g9ZnVuY3Rpb24oKXt2YXIgdD1vLmFsbG9jVW5zYWZlKDMyKTtyZXR1cm4gdC53cml0ZUludDMyQkUodGhpcy5fYSwwKSx0LndyaXRlSW50MzJCRSh0aGlzLl9iLDQpLHQud3JpdGVJbnQzMkJFKHRoaXMuX2MsOCksdC53cml0ZUludDMyQkUodGhpcy5fZCwxMiksdC53cml0ZUludDMyQkUodGhpcy5fZSwxNiksdC53cml0ZUludDMyQkUodGhpcy5fZiwyMCksdC53cml0ZUludDMyQkUodGhpcy5fZywyNCksdC53cml0ZUludDMyQkUodGhpcy5faCwyOCksdH0sZS5leHBvcnRzPXV9LHsiLi9oYXNoIjoxNDgsaW5oZXJpdHM6MTAxLCJzYWZlLWJ1ZmZlciI6MTQ3fV0sMTU0OltmdW5jdGlvbih0LGUscil7dmFyIG49dCgiaW5oZXJpdHMiKSxpPXQoIi4vc2hhNTEyIiksbz10KCIuL2hhc2giKSxhPXQoInNhZmUtYnVmZmVyIikuQnVmZmVyLHM9bmV3IEFycmF5KDE2MCk7ZnVuY3Rpb24gdSgpe3RoaXMuaW5pdCgpLHRoaXMuX3c9cyxvLmNhbGwodGhpcywxMjgsMTEyKX1uKHUsaSksdS5wcm90b3R5cGUuaW5pdD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9haD0zNDE4MDcwMzY1LHRoaXMuX2JoPTE2NTQyNzAyNTAsdGhpcy5fY2g9MjQzODUyOTM3MCx0aGlzLl9kaD0zNTU0NjIzNjAsdGhpcy5fZWg9MTczMTQwNTQxNSx0aGlzLl9maD0yMzk0MTgwMjMxLHRoaXMuX2doPTM2NzUwMDg1MjUsdGhpcy5faGg9MTIwMzA2MjgxMyx0aGlzLl9hbD0zMjM4MzcxMDMyLHRoaXMuX2JsPTkxNDE1MDY2Myx0aGlzLl9jbD04MTI3MDI5OTksdGhpcy5fZGw9NDE0NDkxMjY5Nyx0aGlzLl9lbD00MjkwNzc1ODU3LHRoaXMuX2ZsPTE3NTA2MDMwMjUsdGhpcy5fZ2w9MTY5NDA3NjgzOSx0aGlzLl9obD0zMjA0MDc1NDI4LHRoaXN9LHUucHJvdG90eXBlLl9oYXNoPWZ1bmN0aW9uKCl7dmFyIHQ9YS5hbGxvY1Vuc2FmZSg0OCk7ZnVuY3Rpb24gZShlLHIsbil7dC53cml0ZUludDMyQkUoZSxuKSx0LndyaXRlSW50MzJCRShyLG4rNCl9cmV0dXJuIGUodGhpcy5fYWgsdGhpcy5fYWwsMCksZSh0aGlzLl9iaCx0aGlzLl9ibCw4KSxlKHRoaXMuX2NoLHRoaXMuX2NsLDE2KSxlKHRoaXMuX2RoLHRoaXMuX2RsLDI0KSxlKHRoaXMuX2VoLHRoaXMuX2VsLDMyKSxlKHRoaXMuX2ZoLHRoaXMuX2ZsLDQwKSx0fSxlLmV4cG9ydHM9dX0seyIuL2hhc2giOjE0OCwiLi9zaGE1MTIiOjE1NSxpbmhlcml0czoxMDEsInNhZmUtYnVmZmVyIjoxNDd9XSwxNTU6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbj10KCJpbmhlcml0cyIpLGk9dCgiLi9oYXNoIiksbz10KCJzYWZlLWJ1ZmZlciIpLkJ1ZmZlcixhPVsxMTE2MzUyNDA4LDM2MDk3Njc0NTgsMTg5OTQ0NzQ0MSw2MDI4OTE3MjUsMzA0OTMyMzQ3MSwzOTY0NDg0Mzk5LDM5MjEwMDk1NzMsMjE3MzI5NTU0OCw5NjE5ODcxNjMsNDA4MTYyODQ3MiwxNTA4OTcwOTkzLDMwNTM4MzQyNjUsMjQ1MzYzNTc0OCwyOTM3NjcxNTc5LDI4NzA3NjMyMjEsMzY2NDYwOTU2MCwzNjI0MzgxMDgwLDI3MzQ4ODMzOTQsMzEwNTk4NDAxLDExNjQ5OTY1NDIsNjA3MjI1Mjc4LDEzMjM2MTA3NjQsMTQyNjg4MTk4NywzNTkwMzA0OTk0LDE5MjUwNzgzODgsNDA2ODE4MjM4MywyMTYyMDc4MjA2LDk5MTMzNjExMywyNjE0ODg4MTAzLDYzMzgwMzMxNywzMjQ4MjIyNTgwLDM0Nzk3NzQ4NjgsMzgzNTM5MDQwMSwyNjY2NjEzNDU4LDQwMjIyMjQ3NzQsOTQ0NzExMTM5LDI2NDM0NzA3OCwyMzQxMjYyNzczLDYwNDgwNzYyOCwyMDA3ODAwOTMzLDc3MDI1NTk4MywxNDk1OTkwOTAxLDEyNDkxNTAxMjIsMTg1NjQzMTIzNSwxNTU1MDgxNjkyLDMxNzUyMTgxMzIsMTk5NjA2NDk4NiwyMTk4OTUwODM3LDI1NTQyMjA4ODIsMzk5OTcxOTMzOSwyODIxODM0MzQ5LDc2Njc4NDAxNiwyOTUyOTk2ODA4LDI1NjY1OTQ4NzksMzIxMDMxMzY3MSwzMjAzMzM3OTU2LDMzMzY1NzE4OTEsMTAzNDQ1NzAyNiwzNTg0NTI4NzExLDI0NjY5NDg5MDEsMTEzOTI2OTkzLDM3NTgzMjYzODMsMzM4MjQxODk1LDE2ODcxNzkzNiw2NjYzMDcyMDUsMTE4ODE3OTk2NCw3NzM1Mjk5MTIsMTU0NjA0NTczNCwxMjk0NzU3MzcyLDE1MjI4MDU0ODUsMTM5NjE4MjI5MSwyNjQzODMzODIzLDE2OTUxODM3MDAsMjM0MzUyNzM5MCwxOTg2NjYxMDUxLDEwMTQ0Nzc0ODAsMjE3NzAyNjM1MCwxMjA2NzU5MTQyLDI0NTY5NTYwMzcsMzQ0MDc3NjI3LDI3MzA0ODU5MjEsMTI5MDg2MzQ2MCwyODIwMzAyNDExLDMxNTg0NTQyNzMsMzI1OTczMDgwMCwzNTA1OTUyNjU3LDMzNDU3NjQ3NzEsMTA2MjE3MDA4LDM1MTYwNjU4MTcsMzYwNjAwODM0NCwzNjAwMzUyODA0LDE0MzI3MjU3NzYsNDA5NDU3MTkwOSwxNDY3MDMxNTk0LDI3NTQyMzM0NCw4NTExNjk3MjAsNDMwMjI3NzM0LDMxMDA4MjM3NTIsNTA2OTQ4NjE2LDEzNjMyNTgxOTUsNjU5MDYwNTU2LDM3NTA2ODU1OTMsODgzOTk3ODc3LDM3ODUwNTAyODAsOTU4MTM5NTcxLDMzMTgzMDc0MjcsMTMyMjgyMjIxOCwzODEyNzIzNDAzLDE1MzcwMDIwNjMsMjAwMzAzNDk5NSwxNzQ3ODczNzc5LDM2MDIwMzY4OTksMTk1NTU2MjIyMiwxNTc1OTkwMDEyLDIwMjQxMDQ4MTUsMTEyNTU5MjkyOCwyMjI3NzMwNDUyLDI3MTY5MDQzMDYsMjM2MTg1MjQyNCw0NDI3NzYwNDQsMjQyODQzNjQ3NCw1OTM2OTgzNDQsMjc1NjczNDE4NywzNzMzMTEwMjQ5LDMyMDQwMzE0NzksMjk5OTM1MTU3MywzMzI5MzI1Mjk4LDM4MTU5MjA0MjcsMzM5MTU2OTYxNCwzOTI4MzgzOTAwLDM1MTUyNjcyNzEsNTY2MjgwNzExLDM5NDAxODc2MDYsMzQ1NDA2OTUzNCw0MTE4NjMwMjcxLDQwMDAyMzk5OTIsMTE2NDE4NDc0LDE5MTQxMzg1NTQsMTc0MjkyNDIxLDI3MzEwNTUyNzAsMjg5MzgwMzU2LDMyMDM5OTMwMDYsNDYwMzkzMjY5LDMyMDYyMDMxNSw2ODU0NzE3MzMsNTg3NDk2ODM2LDg1MjE0Mjk3MSwxMDg2NzkyODUxLDEwMTcwMzYyOTgsMzY1NTQzMTAwLDExMjYwMDA1ODAsMjYxODI5NzY3NiwxMjg4MDMzNDcwLDM0MDk4NTUxNTgsMTUwMTUwNTk0OCw0MjM0NTA5ODY2LDE2MDcxNjc5MTUsOTg3MTY3NDY4LDE4MTY0MDIzMTYsMTI0NjE4OTU5MV0scz1uZXcgQXJyYXkoMTYwKTtmdW5jdGlvbiB1KCl7dGhpcy5pbml0KCksdGhpcy5fdz1zLGkuY2FsbCh0aGlzLDEyOCwxMTIpfWZ1bmN0aW9uIGYodCxlLHIpe3JldHVybiByXnQmKGVecil9ZnVuY3Rpb24gYyh0LGUscil7cmV0dXJuIHQmZXxyJih0fGUpfWZ1bmN0aW9uIGgodCxlKXtyZXR1cm4odD4+PjI4fGU8PDQpXihlPj4+Mnx0PDwzMCleKGU+Pj43fHQ8PDI1KX1mdW5jdGlvbiBkKHQsZSl7cmV0dXJuKHQ+Pj4xNHxlPDwxOCleKHQ+Pj4xOHxlPDwxNCleKGU+Pj45fHQ8PDIzKX1mdW5jdGlvbiBsKHQsZSl7cmV0dXJuIHQ+Pj4wPGU+Pj4wPzE6MH1uKHUsaSksdS5wcm90b3R5cGUuaW5pdD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9haD0xNzc5MDMzNzAzLHRoaXMuX2JoPTMxNDQxMzQyNzcsdGhpcy5fY2g9MTAxMzkwNDI0Mix0aGlzLl9kaD0yNzczNDgwNzYyLHRoaXMuX2VoPTEzNTk4OTMxMTksdGhpcy5fZmg9MjYwMDgyMjkyNCx0aGlzLl9naD01Mjg3MzQ2MzUsdGhpcy5faGg9MTU0MTQ1OTIyNSx0aGlzLl9hbD00MDg5MjM1NzIwLHRoaXMuX2JsPTIyMjc4NzM1OTUsdGhpcy5fY2w9NDI3MTE3NTcyMyx0aGlzLl9kbD0xNTk1NzUwMTI5LHRoaXMuX2VsPTI5MTc1NjUxMzcsdGhpcy5fZmw9NzI1NTExMTk5LHRoaXMuX2dsPTQyMTUzODk1NDcsdGhpcy5faGw9MzI3MDMzMjA5LHRoaXN9LHUucHJvdG90eXBlLl91cGRhdGU9ZnVuY3Rpb24odCl7Zm9yKHZhciBlLHIsbixpLG8scyx1LHAsYj10aGlzLl93LG09MHx0aGlzLl9haCx5PTB8dGhpcy5fYmgsdj0wfHRoaXMuX2NoLGc9MHx0aGlzLl9kaCx3PTB8dGhpcy5fZWgsXz0wfHRoaXMuX2ZoLE09MHx0aGlzLl9naCx4PTB8dGhpcy5faGgsaz0wfHRoaXMuX2FsLFM9MHx0aGlzLl9ibCxFPTB8dGhpcy5fY2wsQT0wfHRoaXMuX2RsLGo9MHx0aGlzLl9lbCxJPTB8dGhpcy5fZmwsQj0wfHRoaXMuX2dsLFQ9MHx0aGlzLl9obCxDPTA7QzwzMjtDKz0yKWJbQ109dC5yZWFkSW50MzJCRSg0KkMpLGJbQysxXT10LnJlYWRJbnQzMkJFKDQqQys0KTtmb3IoO0M8MTYwO0MrPTIpe3ZhciBQPWJbQy0zMF0sUj1iW0MtMzArMV0sTz0oKHU9UCk+Pj4xfChwPVIpPDwzMSleKHU+Pj44fHA8PDI0KV51Pj4+NyxOPSgobz1SKT4+PjF8KHM9UCk8PDMxKV4obz4+Pjh8czw8MjQpXihvPj4+N3xzPDwyNSk7UD1iW0MtNF0sUj1iW0MtNCsxXTt2YXIgTD0oKG49UCk+Pj4xOXwoaT1SKTw8MTMpXihpPj4+Mjl8bjw8Mylebj4+PjYsRj0oKGU9Uik+Pj4xOXwocj1QKTw8MTMpXihyPj4+Mjl8ZTw8MyleKGU+Pj42fHI8PDI2KSxxPWJbQy0xNF0sRD1iW0MtMTQrMV0sVT1iW0MtMzJdLHo9YltDLTMyKzFdLEs9TitEfDAsSD1PK3ErbChLLE4pfDA7SD0oSD1IK0wrbChLPUsrRnwwLEYpfDApK1UrbChLPUsrenwwLHopfDAsYltDXT1ILGJbQysxXT1LfWZvcih2YXIgVj0wO1Y8MTYwO1YrPTIpe0g9YltWXSxLPWJbVisxXTt2YXIgVz1jKG0seSx2KSxYPWMoayxTLEUpLEc9aChtLGspLEo9aChrLG0pLFo9ZCh3LGopLCQ9ZChqLHcpLFk9YVtWXSxRPWFbVisxXSx0dD1mKHcsXyxNKSxldD1mKGosSSxCKSxydD1UKyR8MCxudD14K1orbChydCxUKXwwO250PShudD0obnQ9bnQrdHQrbChydD1ydCtldHwwLGV0KXwwKStZK2wocnQ9cnQrUXwwLFEpfDApK0grbChydD1ydCtLfDAsSyl8MDt2YXIgaXQ9SitYfDAsb3Q9RytXK2woaXQsSil8MDt4PU0sVD1CLE09XyxCPUksXz13LEk9aix3PWcrbnQrbChqPUErcnR8MCxBKXwwLGc9dixBPUUsdj15LEU9Uyx5PW0sUz1rLG09bnQrb3QrbChrPXJ0K2l0fDAscnQpfDB9dGhpcy5fYWw9dGhpcy5fYWwra3wwLHRoaXMuX2JsPXRoaXMuX2JsK1N8MCx0aGlzLl9jbD10aGlzLl9jbCtFfDAsdGhpcy5fZGw9dGhpcy5fZGwrQXwwLHRoaXMuX2VsPXRoaXMuX2VsK2p8MCx0aGlzLl9mbD10aGlzLl9mbCtJfDAsdGhpcy5fZ2w9dGhpcy5fZ2wrQnwwLHRoaXMuX2hsPXRoaXMuX2hsK1R8MCx0aGlzLl9haD10aGlzLl9haCttK2wodGhpcy5fYWwsayl8MCx0aGlzLl9iaD10aGlzLl9iaCt5K2wodGhpcy5fYmwsUyl8MCx0aGlzLl9jaD10aGlzLl9jaCt2K2wodGhpcy5fY2wsRSl8MCx0aGlzLl9kaD10aGlzLl9kaCtnK2wodGhpcy5fZGwsQSl8MCx0aGlzLl9laD10aGlzLl9laCt3K2wodGhpcy5fZWwsail8MCx0aGlzLl9maD10aGlzLl9maCtfK2wodGhpcy5fZmwsSSl8MCx0aGlzLl9naD10aGlzLl9naCtNK2wodGhpcy5fZ2wsQil8MCx0aGlzLl9oaD10aGlzLl9oaCt4K2wodGhpcy5faGwsVCl8MH0sdS5wcm90b3R5cGUuX2hhc2g9ZnVuY3Rpb24oKXt2YXIgdD1vLmFsbG9jVW5zYWZlKDY0KTtmdW5jdGlvbiBlKGUscixuKXt0LndyaXRlSW50MzJCRShlLG4pLHQud3JpdGVJbnQzMkJFKHIsbis0KX1yZXR1cm4gZSh0aGlzLl9haCx0aGlzLl9hbCwwKSxlKHRoaXMuX2JoLHRoaXMuX2JsLDgpLGUodGhpcy5fY2gsdGhpcy5fY2wsMTYpLGUodGhpcy5fZGgsdGhpcy5fZGwsMjQpLGUodGhpcy5fZWgsdGhpcy5fZWwsMzIpLGUodGhpcy5fZmgsdGhpcy5fZmwsNDApLGUodGhpcy5fZ2gsdGhpcy5fZ2wsNDgpLGUodGhpcy5faGgsdGhpcy5faGwsNTYpLHR9LGUuZXhwb3J0cz11fSx7Ii4vaGFzaCI6MTQ4LGluaGVyaXRzOjEwMSwic2FmZS1idWZmZXIiOjE0N31dLDE1NjpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1pO3ZhciBuPXQoImV2ZW50cyIpLkV2ZW50RW1pdHRlcjtmdW5jdGlvbiBpKCl7bi5jYWxsKHRoaXMpfXQoImluaGVyaXRzIikoaSxuKSxpLlJlYWRhYmxlPXQoInJlYWRhYmxlLXN0cmVhbS9yZWFkYWJsZS5qcyIpLGkuV3JpdGFibGU9dCgicmVhZGFibGUtc3RyZWFtL3dyaXRhYmxlLmpzIiksaS5EdXBsZXg9dCgicmVhZGFibGUtc3RyZWFtL2R1cGxleC5qcyIpLGkuVHJhbnNmb3JtPXQoInJlYWRhYmxlLXN0cmVhbS90cmFuc2Zvcm0uanMiKSxpLlBhc3NUaHJvdWdoPXQoInJlYWRhYmxlLXN0cmVhbS9wYXNzdGhyb3VnaC5qcyIpLGkuU3RyZWFtPWksaS5wcm90b3R5cGUucGlwZT1mdW5jdGlvbih0LGUpe3ZhciByPXRoaXM7ZnVuY3Rpb24gaShlKXt0LndyaXRhYmxlJiYhMT09PXQud3JpdGUoZSkmJnIucGF1c2UmJnIucGF1c2UoKX1mdW5jdGlvbiBvKCl7ci5yZWFkYWJsZSYmci5yZXN1bWUmJnIucmVzdW1lKCl9ci5vbigiZGF0YSIsaSksdC5vbigiZHJhaW4iLG8pLHQuX2lzU3RkaW98fGUmJiExPT09ZS5lbmR8fChyLm9uKCJlbmQiLHMpLHIub24oImNsb3NlIix1KSk7dmFyIGE9ITE7ZnVuY3Rpb24gcygpe2F8fChhPSEwLHQuZW5kKCkpfWZ1bmN0aW9uIHUoKXthfHwoYT0hMCwiZnVuY3Rpb24iPT10eXBlb2YgdC5kZXN0cm95JiZ0LmRlc3Ryb3koKSl9ZnVuY3Rpb24gZih0KXtpZihjKCksMD09PW4ubGlzdGVuZXJDb3VudCh0aGlzLCJlcnJvciIpKXRocm93IHR9ZnVuY3Rpb24gYygpe3IucmVtb3ZlTGlzdGVuZXIoImRhdGEiLGkpLHQucmVtb3ZlTGlzdGVuZXIoImRyYWluIixvKSxyLnJlbW92ZUxpc3RlbmVyKCJlbmQiLHMpLHIucmVtb3ZlTGlzdGVuZXIoImNsb3NlIix1KSxyLnJlbW92ZUxpc3RlbmVyKCJlcnJvciIsZiksdC5yZW1vdmVMaXN0ZW5lcigiZXJyb3IiLGYpLHIucmVtb3ZlTGlzdGVuZXIoImVuZCIsYyksci5yZW1vdmVMaXN0ZW5lcigiY2xvc2UiLGMpLHQucmVtb3ZlTGlzdGVuZXIoImNsb3NlIixjKX1yZXR1cm4gci5vbigiZXJyb3IiLGYpLHQub24oImVycm9yIixmKSxyLm9uKCJlbmQiLGMpLHIub24oImNsb3NlIixjKSx0Lm9uKCJjbG9zZSIsYyksdC5lbWl0KCJwaXBlIixyKSx0fX0se2V2ZW50czo4Myxpbmhlcml0czoxMDEsInJlYWRhYmxlLXN0cmVhbS9kdXBsZXguanMiOjEzMywicmVhZGFibGUtc3RyZWFtL3Bhc3N0aHJvdWdoLmpzIjoxNDIsInJlYWRhYmxlLXN0cmVhbS9yZWFkYWJsZS5qcyI6MTQzLCJyZWFkYWJsZS1zdHJlYW0vdHJhbnNmb3JtLmpzIjoxNDQsInJlYWRhYmxlLXN0cmVhbS93cml0YWJsZS5qcyI6MTQ1fV0sMTU3OltmdW5jdGlvbih0LGUscil7dmFyIG49dCgic2FmZS1idWZmZXIiKS5CdWZmZXIsaT1uLmlzRW5jb2Rpbmd8fGZ1bmN0aW9uKHQpe3N3aXRjaCgodD0iIit0KSYmdC50b0xvd2VyQ2FzZSgpKXtjYXNlImhleCI6Y2FzZSJ1dGY4IjpjYXNlInV0Zi04IjpjYXNlImFzY2lpIjpjYXNlImJpbmFyeSI6Y2FzZSJiYXNlNjQiOmNhc2UidWNzMiI6Y2FzZSJ1Y3MtMiI6Y2FzZSJ1dGYxNmxlIjpjYXNlInV0Zi0xNmxlIjpjYXNlInJhdyI6cmV0dXJuITA7ZGVmYXVsdDpyZXR1cm4hMX19O2Z1bmN0aW9uIG8odCl7dmFyIGU7c3dpdGNoKHRoaXMuZW5jb2Rpbmc9ZnVuY3Rpb24odCl7dmFyIGU9ZnVuY3Rpb24odCl7aWYoIXQpcmV0dXJuInV0ZjgiO2Zvcih2YXIgZTs7KXN3aXRjaCh0KXtjYXNlInV0ZjgiOmNhc2UidXRmLTgiOnJldHVybiJ1dGY4IjtjYXNlInVjczIiOmNhc2UidWNzLTIiOmNhc2UidXRmMTZsZSI6Y2FzZSJ1dGYtMTZsZSI6cmV0dXJuInV0ZjE2bGUiO2Nhc2UibGF0aW4xIjpjYXNlImJpbmFyeSI6cmV0dXJuImxhdGluMSI7Y2FzZSJiYXNlNjQiOmNhc2UiYXNjaWkiOmNhc2UiaGV4IjpyZXR1cm4gdDtkZWZhdWx0OmlmKGUpcmV0dXJuO3Q9KCIiK3QpLnRvTG93ZXJDYXNlKCksZT0hMH19KHQpO2lmKCJzdHJpbmciIT10eXBlb2YgZSYmKG4uaXNFbmNvZGluZz09PWl8fCFpKHQpKSl0aHJvdyBuZXcgRXJyb3IoIlVua25vd24gZW5jb2Rpbmc6ICIrdCk7cmV0dXJuIGV8fHR9KHQpLHRoaXMuZW5jb2Rpbmcpe2Nhc2UidXRmMTZsZSI6dGhpcy50ZXh0PXUsdGhpcy5lbmQ9ZixlPTQ7YnJlYWs7Y2FzZSJ1dGY4Ijp0aGlzLmZpbGxMYXN0PXMsZT00O2JyZWFrO2Nhc2UiYmFzZTY0Ijp0aGlzLnRleHQ9Yyx0aGlzLmVuZD1oLGU9MzticmVhaztkZWZhdWx0OnJldHVybiB0aGlzLndyaXRlPWQsdm9pZCh0aGlzLmVuZD1sKX10aGlzLmxhc3ROZWVkPTAsdGhpcy5sYXN0VG90YWw9MCx0aGlzLmxhc3RDaGFyPW4uYWxsb2NVbnNhZmUoZSl9ZnVuY3Rpb24gYSh0KXtyZXR1cm4gdDw9MTI3PzA6dD4+NT09Nj8yOnQ+PjQ9PTE0PzM6dD4+Mz09MzA/NDotMX1mdW5jdGlvbiBzKHQpe3ZhciBlPXRoaXMubGFzdFRvdGFsLXRoaXMubGFzdE5lZWQscj1mdW5jdGlvbih0LGUscil7aWYoMTI4IT0oMTkyJmVbMF0pKXJldHVybiB0Lmxhc3ROZWVkPTAsIu+/vSIucmVwZWF0KHIpO2lmKHQubGFzdE5lZWQ+MSYmZS5sZW5ndGg+MSl7aWYoMTI4IT0oMTkyJmVbMV0pKXJldHVybiB0Lmxhc3ROZWVkPTEsIu+/vSIucmVwZWF0KHIrMSk7aWYodC5sYXN0TmVlZD4yJiZlLmxlbmd0aD4yJiYxMjghPSgxOTImZVsyXSkpcmV0dXJuIHQubGFzdE5lZWQ9Miwi77+9Ii5yZXBlYXQocisyKX19KHRoaXMsdCxlKTtyZXR1cm4gdm9pZCAwIT09cj9yOnRoaXMubGFzdE5lZWQ8PXQubGVuZ3RoPyh0LmNvcHkodGhpcy5sYXN0Q2hhcixlLDAsdGhpcy5sYXN0TmVlZCksdGhpcy5sYXN0Q2hhci50b1N0cmluZyh0aGlzLmVuY29kaW5nLDAsdGhpcy5sYXN0VG90YWwpKToodC5jb3B5KHRoaXMubGFzdENoYXIsZSwwLHQubGVuZ3RoKSx2b2lkKHRoaXMubGFzdE5lZWQtPXQubGVuZ3RoKSl9ZnVuY3Rpb24gdSh0LGUpe2lmKCh0Lmxlbmd0aC1lKSUyPT0wKXt2YXIgcj10LnRvU3RyaW5nKCJ1dGYxNmxlIixlKTtpZihyKXt2YXIgbj1yLmNoYXJDb2RlQXQoci5sZW5ndGgtMSk7aWYobj49NTUyOTYmJm48PTU2MzE5KXJldHVybiB0aGlzLmxhc3ROZWVkPTIsdGhpcy5sYXN0VG90YWw9NCx0aGlzLmxhc3RDaGFyWzBdPXRbdC5sZW5ndGgtMl0sdGhpcy5sYXN0Q2hhclsxXT10W3QubGVuZ3RoLTFdLHIuc2xpY2UoMCwtMSl9cmV0dXJuIHJ9cmV0dXJuIHRoaXMubGFzdE5lZWQ9MSx0aGlzLmxhc3RUb3RhbD0yLHRoaXMubGFzdENoYXJbMF09dFt0Lmxlbmd0aC0xXSx0LnRvU3RyaW5nKCJ1dGYxNmxlIixlLHQubGVuZ3RoLTEpfWZ1bmN0aW9uIGYodCl7dmFyIGU9dCYmdC5sZW5ndGg/dGhpcy53cml0ZSh0KToiIjtpZih0aGlzLmxhc3ROZWVkKXt2YXIgcj10aGlzLmxhc3RUb3RhbC10aGlzLmxhc3ROZWVkO3JldHVybiBlK3RoaXMubGFzdENoYXIudG9TdHJpbmcoInV0ZjE2bGUiLDAscil9cmV0dXJuIGV9ZnVuY3Rpb24gYyh0LGUpe3ZhciByPSh0Lmxlbmd0aC1lKSUzO3JldHVybiAwPT09cj90LnRvU3RyaW5nKCJiYXNlNjQiLGUpOih0aGlzLmxhc3ROZWVkPTMtcix0aGlzLmxhc3RUb3RhbD0zLDE9PT1yP3RoaXMubGFzdENoYXJbMF09dFt0Lmxlbmd0aC0xXToodGhpcy5sYXN0Q2hhclswXT10W3QubGVuZ3RoLTJdLHRoaXMubGFzdENoYXJbMV09dFt0Lmxlbmd0aC0xXSksdC50b1N0cmluZygiYmFzZTY0IixlLHQubGVuZ3RoLXIpKX1mdW5jdGlvbiBoKHQpe3ZhciBlPXQmJnQubGVuZ3RoP3RoaXMud3JpdGUodCk6IiI7cmV0dXJuIHRoaXMubGFzdE5lZWQ/ZSt0aGlzLmxhc3RDaGFyLnRvU3RyaW5nKCJiYXNlNjQiLDAsMy10aGlzLmxhc3ROZWVkKTplfWZ1bmN0aW9uIGQodCl7cmV0dXJuIHQudG9TdHJpbmcodGhpcy5lbmNvZGluZyl9ZnVuY3Rpb24gbCh0KXtyZXR1cm4gdCYmdC5sZW5ndGg/dGhpcy53cml0ZSh0KToiIn1yLlN0cmluZ0RlY29kZXI9byxvLnByb3RvdHlwZS53cml0ZT1mdW5jdGlvbih0KXtpZigwPT09dC5sZW5ndGgpcmV0dXJuIiI7dmFyIGUscjtpZih0aGlzLmxhc3ROZWVkKXtpZih2b2lkIDA9PT0oZT10aGlzLmZpbGxMYXN0KHQpKSlyZXR1cm4iIjtyPXRoaXMubGFzdE5lZWQsdGhpcy5sYXN0TmVlZD0wfWVsc2Ugcj0wO3JldHVybiByPHQubGVuZ3RoP2U/ZSt0aGlzLnRleHQodCxyKTp0aGlzLnRleHQodCxyKTplfHwiIn0sby5wcm90b3R5cGUuZW5kPWZ1bmN0aW9uKHQpe3ZhciBlPXQmJnQubGVuZ3RoP3RoaXMud3JpdGUodCk6IiI7cmV0dXJuIHRoaXMubGFzdE5lZWQ/ZSsi77+9Ii5yZXBlYXQodGhpcy5sYXN0VG90YWwtdGhpcy5sYXN0TmVlZCk6ZX0sby5wcm90b3R5cGUudGV4dD1mdW5jdGlvbih0LGUpe3ZhciByPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj1lLmxlbmd0aC0xO2lmKG48cilyZXR1cm4gMDt2YXIgaT1hKGVbbl0pO2lmKGk+PTApcmV0dXJuIGk+MCYmKHQubGFzdE5lZWQ9aS0xKSxpO2lmKC0tbjxyKXJldHVybiAwO2lmKChpPWEoZVtuXSkpPj0wKXJldHVybiBpPjAmJih0Lmxhc3ROZWVkPWktMiksaTtpZigtLW48cilyZXR1cm4gMDtpZigoaT1hKGVbbl0pKT49MClyZXR1cm4gaT4wJiYoMj09PWk/aT0wOnQubGFzdE5lZWQ9aS0zKSxpO3JldHVybiAwfSh0aGlzLHQsZSk7aWYoIXRoaXMubGFzdE5lZWQpcmV0dXJuIHQudG9TdHJpbmcoInV0ZjgiLGUpO3RoaXMubGFzdFRvdGFsPXI7dmFyIG49dC5sZW5ndGgtKHItdGhpcy5sYXN0TmVlZCk7cmV0dXJuIHQuY29weSh0aGlzLmxhc3RDaGFyLDAsbiksdC50b1N0cmluZygidXRmOCIsZSxuKX0sby5wcm90b3R5cGUuZmlsbExhc3Q9ZnVuY3Rpb24odCl7aWYodGhpcy5sYXN0TmVlZDw9dC5sZW5ndGgpcmV0dXJuIHQuY29weSh0aGlzLmxhc3RDaGFyLHRoaXMubGFzdFRvdGFsLXRoaXMubGFzdE5lZWQsMCx0aGlzLmxhc3ROZWVkKSx0aGlzLmxhc3RDaGFyLnRvU3RyaW5nKHRoaXMuZW5jb2RpbmcsMCx0aGlzLmxhc3RUb3RhbCk7dC5jb3B5KHRoaXMubGFzdENoYXIsdGhpcy5sYXN0VG90YWwtdGhpcy5sYXN0TmVlZCwwLHQubGVuZ3RoKSx0aGlzLmxhc3ROZWVkLT10Lmxlbmd0aH19LHsic2FmZS1idWZmZXIiOjE0N31dLDE1ODpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQoInB1bnljb2RlIiksaT10KCIuL3V0aWwiKTtmdW5jdGlvbiBvKCl7dGhpcy5wcm90b2NvbD1udWxsLHRoaXMuc2xhc2hlcz1udWxsLHRoaXMuYXV0aD1udWxsLHRoaXMuaG9zdD1udWxsLHRoaXMucG9ydD1udWxsLHRoaXMuaG9zdG5hbWU9bnVsbCx0aGlzLmhhc2g9bnVsbCx0aGlzLnNlYXJjaD1udWxsLHRoaXMucXVlcnk9bnVsbCx0aGlzLnBhdGhuYW1lPW51bGwsdGhpcy5wYXRoPW51bGwsdGhpcy5ocmVmPW51bGx9ci5wYXJzZT1nLHIucmVzb2x2ZT1mdW5jdGlvbih0LGUpe3JldHVybiBnKHQsITEsITApLnJlc29sdmUoZSl9LHIucmVzb2x2ZU9iamVjdD1mdW5jdGlvbih0LGUpe3JldHVybiB0P2codCwhMSwhMCkucmVzb2x2ZU9iamVjdChlKTplfSxyLmZvcm1hdD1mdW5jdGlvbih0KXtpLmlzU3RyaW5nKHQpJiYodD1nKHQpKTtyZXR1cm4gdCBpbnN0YW5jZW9mIG8/dC5mb3JtYXQoKTpvLnByb3RvdHlwZS5mb3JtYXQuY2FsbCh0KX0sci5Vcmw9bzt2YXIgYT0vXihbYS16MC05ListXSs6KS9pLHM9LzpbMC05XSokLyx1PS9eKFwvXC8/KD8hXC8pW15cP1xzXSopKFw/W15cc10qKT8kLyxmPVsieyIsIn0iLCJ8IiwiXFwiLCJeIiwiYCJdLmNvbmNhdChbIjwiLCI+IiwnIicsImAiLCIgIiwiXHIiLCJcbiIsIlx0Il0pLGM9WyInIl0uY29uY2F0KGYpLGg9WyIlIiwiLyIsIj8iLCI7IiwiIyJdLmNvbmNhdChjKSxkPVsiLyIsIj8iLCIjIl0sbD0vXlsrYS16MC05QS1aXy1dezAsNjN9JC8scD0vXihbK2EtejAtOUEtWl8tXXswLDYzfSkoLiopJC8sYj17amF2YXNjcmlwdDohMCwiamF2YXNjcmlwdDoiOiEwfSxtPXtqYXZhc2NyaXB0OiEwLCJqYXZhc2NyaXB0OiI6ITB9LHk9e2h0dHA6ITAsaHR0cHM6ITAsZnRwOiEwLGdvcGhlcjohMCxmaWxlOiEwLCJodHRwOiI6ITAsImh0dHBzOiI6ITAsImZ0cDoiOiEwLCJnb3BoZXI6IjohMCwiZmlsZToiOiEwfSx2PXQoInF1ZXJ5c3RyaW5nIik7ZnVuY3Rpb24gZyh0LGUscil7aWYodCYmaS5pc09iamVjdCh0KSYmdCBpbnN0YW5jZW9mIG8pcmV0dXJuIHQ7dmFyIG49bmV3IG87cmV0dXJuIG4ucGFyc2UodCxlLHIpLG59by5wcm90b3R5cGUucGFyc2U9ZnVuY3Rpb24odCxlLHIpe2lmKCFpLmlzU3RyaW5nKHQpKXRocm93IG5ldyBUeXBlRXJyb3IoIlBhcmFtZXRlciAndXJsJyBtdXN0IGJlIGEgc3RyaW5nLCBub3QgIisodm9pZCAwPT09dD8idW5kZWZpbmVkIjpfdHlwZW9mKHQpKSk7dmFyIG89dC5pbmRleE9mKCI/Iikscz0tMSE9PW8mJm88dC5pbmRleE9mKCIjIik/Ij8iOiIjIixmPXQuc3BsaXQocyk7ZlswXT1mWzBdLnJlcGxhY2UoL1xcL2csIi8iKTt2YXIgZz10PWYuam9pbihzKTtpZihnPWcudHJpbSgpLCFyJiYxPT09dC5zcGxpdCgiIyIpLmxlbmd0aCl7dmFyIHc9dS5leGVjKGcpO2lmKHcpcmV0dXJuIHRoaXMucGF0aD1nLHRoaXMuaHJlZj1nLHRoaXMucGF0aG5hbWU9d1sxXSx3WzJdPyh0aGlzLnNlYXJjaD13WzJdLHRoaXMucXVlcnk9ZT92LnBhcnNlKHRoaXMuc2VhcmNoLnN1YnN0cigxKSk6dGhpcy5zZWFyY2guc3Vic3RyKDEpKTplJiYodGhpcy5zZWFyY2g9IiIsdGhpcy5xdWVyeT17fSksdGhpc312YXIgXz1hLmV4ZWMoZyk7aWYoXyl7dmFyIE09KF89X1swXSkudG9Mb3dlckNhc2UoKTt0aGlzLnByb3RvY29sPU0sZz1nLnN1YnN0cihfLmxlbmd0aCl9aWYocnx8X3x8Zy5tYXRjaCgvXlwvXC9bXkBcL10rQFteQFwvXSsvKSl7dmFyIHg9Ii8vIj09PWcuc3Vic3RyKDAsMik7IXh8fF8mJm1bX118fChnPWcuc3Vic3RyKDIpLHRoaXMuc2xhc2hlcz0hMCl9aWYoIW1bX10mJih4fHxfJiYheVtfXSkpe2Zvcih2YXIgayxTLEU9LTEsQT0wO0E8ZC5sZW5ndGg7QSsrKXstMSE9PShqPWcuaW5kZXhPZihkW0FdKSkmJigtMT09PUV8fGo8RSkmJihFPWopfS0xIT09KFM9LTE9PT1FP2cubGFzdEluZGV4T2YoIkAiKTpnLmxhc3RJbmRleE9mKCJAIixFKSkmJihrPWcuc2xpY2UoMCxTKSxnPWcuc2xpY2UoUysxKSx0aGlzLmF1dGg9ZGVjb2RlVVJJQ29tcG9uZW50KGspKSxFPS0xO2ZvcihBPTA7QTxoLmxlbmd0aDtBKyspe3ZhciBqOy0xIT09KGo9Zy5pbmRleE9mKGhbQV0pKSYmKC0xPT09RXx8ajxFKSYmKEU9ail9LTE9PT1FJiYoRT1nLmxlbmd0aCksdGhpcy5ob3N0PWcuc2xpY2UoMCxFKSxnPWcuc2xpY2UoRSksdGhpcy5wYXJzZUhvc3QoKSx0aGlzLmhvc3RuYW1lPXRoaXMuaG9zdG5hbWV8fCIiO3ZhciBJPSJbIj09PXRoaXMuaG9zdG5hbWVbMF0mJiJdIj09PXRoaXMuaG9zdG5hbWVbdGhpcy5ob3N0bmFtZS5sZW5ndGgtMV07aWYoIUkpZm9yKHZhciBCPXRoaXMuaG9zdG5hbWUuc3BsaXQoL1wuLyksVD0oQT0wLEIubGVuZ3RoKTtBPFQ7QSsrKXt2YXIgQz1CW0FdO2lmKEMmJiFDLm1hdGNoKGwpKXtmb3IodmFyIFA9IiIsUj0wLE89Qy5sZW5ndGg7UjxPO1IrKylDLmNoYXJDb2RlQXQoUik+MTI3P1ArPSJ4IjpQKz1DW1JdO2lmKCFQLm1hdGNoKGwpKXt2YXIgTj1CLnNsaWNlKDAsQSksTD1CLnNsaWNlKEErMSksRj1DLm1hdGNoKHApO0YmJihOLnB1c2goRlsxXSksTC51bnNoaWZ0KEZbMl0pKSxMLmxlbmd0aCYmKGc9Ii8iK0wuam9pbigiLiIpK2cpLHRoaXMuaG9zdG5hbWU9Ti5qb2luKCIuIik7YnJlYWt9fX10aGlzLmhvc3RuYW1lLmxlbmd0aD4yNTU/dGhpcy5ob3N0bmFtZT0iIjp0aGlzLmhvc3RuYW1lPXRoaXMuaG9zdG5hbWUudG9Mb3dlckNhc2UoKSxJfHwodGhpcy5ob3N0bmFtZT1uLnRvQVNDSUkodGhpcy5ob3N0bmFtZSkpO3ZhciBxPXRoaXMucG9ydD8iOiIrdGhpcy5wb3J0OiIiLEQ9dGhpcy5ob3N0bmFtZXx8IiI7dGhpcy5ob3N0PUQrcSx0aGlzLmhyZWYrPXRoaXMuaG9zdCxJJiYodGhpcy5ob3N0bmFtZT10aGlzLmhvc3RuYW1lLnN1YnN0cigxLHRoaXMuaG9zdG5hbWUubGVuZ3RoLTIpLCIvIiE9PWdbMF0mJihnPSIvIitnKSl9aWYoIWJbTV0pZm9yKEE9MCxUPWMubGVuZ3RoO0E8VDtBKyspe3ZhciBVPWNbQV07aWYoLTEhPT1nLmluZGV4T2YoVSkpe3ZhciB6PWVuY29kZVVSSUNvbXBvbmVudChVKTt6PT09VSYmKHo9ZXNjYXBlKFUpKSxnPWcuc3BsaXQoVSkuam9pbih6KX19dmFyIEs9Zy5pbmRleE9mKCIjIik7LTEhPT1LJiYodGhpcy5oYXNoPWcuc3Vic3RyKEspLGc9Zy5zbGljZSgwLEspKTt2YXIgSD1nLmluZGV4T2YoIj8iKTtpZigtMSE9PUg/KHRoaXMuc2VhcmNoPWcuc3Vic3RyKEgpLHRoaXMucXVlcnk9Zy5zdWJzdHIoSCsxKSxlJiYodGhpcy5xdWVyeT12LnBhcnNlKHRoaXMucXVlcnkpKSxnPWcuc2xpY2UoMCxIKSk6ZSYmKHRoaXMuc2VhcmNoPSIiLHRoaXMucXVlcnk9e30pLGcmJih0aGlzLnBhdGhuYW1lPWcpLHlbTV0mJnRoaXMuaG9zdG5hbWUmJiF0aGlzLnBhdGhuYW1lJiYodGhpcy5wYXRobmFtZT0iLyIpLHRoaXMucGF0aG5hbWV8fHRoaXMuc2VhcmNoKXtxPXRoaXMucGF0aG5hbWV8fCIiO3ZhciBWPXRoaXMuc2VhcmNofHwiIjt0aGlzLnBhdGg9cStWfXJldHVybiB0aGlzLmhyZWY9dGhpcy5mb3JtYXQoKSx0aGlzfSxvLnByb3RvdHlwZS5mb3JtYXQ9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmF1dGh8fCIiO3QmJih0PSh0PWVuY29kZVVSSUNvbXBvbmVudCh0KSkucmVwbGFjZSgvJTNBL2ksIjoiKSx0Kz0iQCIpO3ZhciBlPXRoaXMucHJvdG9jb2x8fCIiLHI9dGhpcy5wYXRobmFtZXx8IiIsbj10aGlzLmhhc2h8fCIiLG89ITEsYT0iIjt0aGlzLmhvc3Q/bz10K3RoaXMuaG9zdDp0aGlzLmhvc3RuYW1lJiYobz10KygtMT09PXRoaXMuaG9zdG5hbWUuaW5kZXhPZigiOiIpP3RoaXMuaG9zdG5hbWU6IlsiK3RoaXMuaG9zdG5hbWUrIl0iKSx0aGlzLnBvcnQmJihvKz0iOiIrdGhpcy5wb3J0KSksdGhpcy5xdWVyeSYmaS5pc09iamVjdCh0aGlzLnF1ZXJ5KSYmT2JqZWN0LmtleXModGhpcy5xdWVyeSkubGVuZ3RoJiYoYT12LnN0cmluZ2lmeSh0aGlzLnF1ZXJ5KSk7dmFyIHM9dGhpcy5zZWFyY2h8fGEmJiI/IithfHwiIjtyZXR1cm4gZSYmIjoiIT09ZS5zdWJzdHIoLTEpJiYoZSs9IjoiKSx0aGlzLnNsYXNoZXN8fCghZXx8eVtlXSkmJiExIT09bz8obz0iLy8iKyhvfHwiIiksciYmIi8iIT09ci5jaGFyQXQoMCkmJihyPSIvIityKSk6b3x8KG89IiIpLG4mJiIjIiE9PW4uY2hhckF0KDApJiYobj0iIyIrbikscyYmIj8iIT09cy5jaGFyQXQoMCkmJihzPSI/IitzKSxlK28rKHI9ci5yZXBsYWNlKC9bPyNdL2csZnVuY3Rpb24odCl7cmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudCh0KX0pKSsocz1zLnJlcGxhY2UoIiMiLCIlMjMiKSkrbn0sby5wcm90b3R5cGUucmVzb2x2ZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5yZXNvbHZlT2JqZWN0KGcodCwhMSwhMCkpLmZvcm1hdCgpfSxvLnByb3RvdHlwZS5yZXNvbHZlT2JqZWN0PWZ1bmN0aW9uKHQpe2lmKGkuaXNTdHJpbmcodCkpe3ZhciBlPW5ldyBvO2UucGFyc2UodCwhMSwhMCksdD1lfWZvcih2YXIgcj1uZXcgbyxuPU9iamVjdC5rZXlzKHRoaXMpLGE9MDthPG4ubGVuZ3RoO2ErKyl7dmFyIHM9blthXTtyW3NdPXRoaXNbc119aWYoci5oYXNoPXQuaGFzaCwiIj09PXQuaHJlZilyZXR1cm4gci5ocmVmPXIuZm9ybWF0KCkscjtpZih0LnNsYXNoZXMmJiF0LnByb3RvY29sKXtmb3IodmFyIHU9T2JqZWN0LmtleXModCksZj0wO2Y8dS5sZW5ndGg7ZisrKXt2YXIgYz11W2ZdOyJwcm90b2NvbCIhPT1jJiYocltjXT10W2NdKX1yZXR1cm4geVtyLnByb3RvY29sXSYmci5ob3N0bmFtZSYmIXIucGF0aG5hbWUmJihyLnBhdGg9ci5wYXRobmFtZT0iLyIpLHIuaHJlZj1yLmZvcm1hdCgpLHJ9aWYodC5wcm90b2NvbCYmdC5wcm90b2NvbCE9PXIucHJvdG9jb2wpe2lmKCF5W3QucHJvdG9jb2xdKXtmb3IodmFyIGg9T2JqZWN0LmtleXModCksZD0wO2Q8aC5sZW5ndGg7ZCsrKXt2YXIgbD1oW2RdO3JbbF09dFtsXX1yZXR1cm4gci5ocmVmPXIuZm9ybWF0KCkscn1pZihyLnByb3RvY29sPXQucHJvdG9jb2wsdC5ob3N0fHxtW3QucHJvdG9jb2xdKXIucGF0aG5hbWU9dC5wYXRobmFtZTtlbHNle2Zvcih2YXIgcD0odC5wYXRobmFtZXx8IiIpLnNwbGl0KCIvIik7cC5sZW5ndGgmJiEodC5ob3N0PXAuc2hpZnQoKSk7KTt0Lmhvc3R8fCh0Lmhvc3Q9IiIpLHQuaG9zdG5hbWV8fCh0Lmhvc3RuYW1lPSIiKSwiIiE9PXBbMF0mJnAudW5zaGlmdCgiIikscC5sZW5ndGg8MiYmcC51bnNoaWZ0KCIiKSxyLnBhdGhuYW1lPXAuam9pbigiLyIpfWlmKHIuc2VhcmNoPXQuc2VhcmNoLHIucXVlcnk9dC5xdWVyeSxyLmhvc3Q9dC5ob3N0fHwiIixyLmF1dGg9dC5hdXRoLHIuaG9zdG5hbWU9dC5ob3N0bmFtZXx8dC5ob3N0LHIucG9ydD10LnBvcnQsci5wYXRobmFtZXx8ci5zZWFyY2gpe3ZhciBiPXIucGF0aG5hbWV8fCIiLHY9ci5zZWFyY2h8fCIiO3IucGF0aD1iK3Z9cmV0dXJuIHIuc2xhc2hlcz1yLnNsYXNoZXN8fHQuc2xhc2hlcyxyLmhyZWY9ci5mb3JtYXQoKSxyfXZhciBnPXIucGF0aG5hbWUmJiIvIj09PXIucGF0aG5hbWUuY2hhckF0KDApLHc9dC5ob3N0fHx0LnBhdGhuYW1lJiYiLyI9PT10LnBhdGhuYW1lLmNoYXJBdCgwKSxfPXd8fGd8fHIuaG9zdCYmdC5wYXRobmFtZSxNPV8seD1yLnBhdGhuYW1lJiZyLnBhdGhuYW1lLnNwbGl0KCIvIil8fFtdLGs9KHA9dC5wYXRobmFtZSYmdC5wYXRobmFtZS5zcGxpdCgiLyIpfHxbXSxyLnByb3RvY29sJiYheVtyLnByb3RvY29sXSk7aWYoayYmKHIuaG9zdG5hbWU9IiIsci5wb3J0PW51bGwsci5ob3N0JiYoIiI9PT14WzBdP3hbMF09ci5ob3N0OngudW5zaGlmdChyLmhvc3QpKSxyLmhvc3Q9IiIsdC5wcm90b2NvbCYmKHQuaG9zdG5hbWU9bnVsbCx0LnBvcnQ9bnVsbCx0Lmhvc3QmJigiIj09PXBbMF0/cFswXT10Lmhvc3Q6cC51bnNoaWZ0KHQuaG9zdCkpLHQuaG9zdD1udWxsKSxfPV8mJigiIj09PXBbMF18fCIiPT09eFswXSkpLHcpci5ob3N0PXQuaG9zdHx8IiI9PT10Lmhvc3Q/dC5ob3N0OnIuaG9zdCxyLmhvc3RuYW1lPXQuaG9zdG5hbWV8fCIiPT09dC5ob3N0bmFtZT90Lmhvc3RuYW1lOnIuaG9zdG5hbWUsci5zZWFyY2g9dC5zZWFyY2gsci5xdWVyeT10LnF1ZXJ5LHg9cDtlbHNlIGlmKHAubGVuZ3RoKXh8fCh4PVtdKSx4LnBvcCgpLHg9eC5jb25jYXQocCksci5zZWFyY2g9dC5zZWFyY2gsci5xdWVyeT10LnF1ZXJ5O2Vsc2UgaWYoIWkuaXNOdWxsT3JVbmRlZmluZWQodC5zZWFyY2gpKXtpZihrKXIuaG9zdG5hbWU9ci5ob3N0PXguc2hpZnQoKSwoST0hIShyLmhvc3QmJnIuaG9zdC5pbmRleE9mKCJAIik+MCkmJnIuaG9zdC5zcGxpdCgiQCIpKSYmKHIuYXV0aD1JLnNoaWZ0KCksci5ob3N0PXIuaG9zdG5hbWU9SS5zaGlmdCgpKTtyZXR1cm4gci5zZWFyY2g9dC5zZWFyY2gsci5xdWVyeT10LnF1ZXJ5LGkuaXNOdWxsKHIucGF0aG5hbWUpJiZpLmlzTnVsbChyLnNlYXJjaCl8fChyLnBhdGg9KHIucGF0aG5hbWU/ci5wYXRobmFtZToiIikrKHIuc2VhcmNoP3Iuc2VhcmNoOiIiKSksci5ocmVmPXIuZm9ybWF0KCkscn1pZigheC5sZW5ndGgpcmV0dXJuIHIucGF0aG5hbWU9bnVsbCxyLnNlYXJjaD9yLnBhdGg9Ii8iK3Iuc2VhcmNoOnIucGF0aD1udWxsLHIuaHJlZj1yLmZvcm1hdCgpLHI7Zm9yKHZhciBTPXguc2xpY2UoLTEpWzBdLEU9KHIuaG9zdHx8dC5ob3N0fHx4Lmxlbmd0aD4xKSYmKCIuIj09PVN8fCIuLiI9PT1TKXx8IiI9PT1TLEE9MCxqPXgubGVuZ3RoO2o+PTA7ai0tKSIuIj09PShTPXhbal0pP3guc3BsaWNlKGosMSk6Ii4uIj09PVM/KHguc3BsaWNlKGosMSksQSsrKTpBJiYoeC5zcGxpY2UoaiwxKSxBLS0pO2lmKCFfJiYhTSlmb3IoO0EtLTtBKXgudW5zaGlmdCgiLi4iKTshX3x8IiI9PT14WzBdfHx4WzBdJiYiLyI9PT14WzBdLmNoYXJBdCgwKXx8eC51bnNoaWZ0KCIiKSxFJiYiLyIhPT14LmpvaW4oIi8iKS5zdWJzdHIoLTEpJiZ4LnB1c2goIiIpO3ZhciBJLEI9IiI9PT14WzBdfHx4WzBdJiYiLyI9PT14WzBdLmNoYXJBdCgwKTtrJiYoci5ob3N0bmFtZT1yLmhvc3Q9Qj8iIjp4Lmxlbmd0aD94LnNoaWZ0KCk6IiIsKEk9ISEoci5ob3N0JiZyLmhvc3QuaW5kZXhPZigiQCIpPjApJiZyLmhvc3Quc3BsaXQoIkAiKSkmJihyLmF1dGg9SS5zaGlmdCgpLHIuaG9zdD1yLmhvc3RuYW1lPUkuc2hpZnQoKSkpO3JldHVybihfPV98fHIuaG9zdCYmeC5sZW5ndGgpJiYhQiYmeC51bnNoaWZ0KCIiKSx4Lmxlbmd0aD9yLnBhdGhuYW1lPXguam9pbigiLyIpOihyLnBhdGhuYW1lPW51bGwsci5wYXRoPW51bGwpLGkuaXNOdWxsKHIucGF0aG5hbWUpJiZpLmlzTnVsbChyLnNlYXJjaCl8fChyLnBhdGg9KHIucGF0aG5hbWU/ci5wYXRobmFtZToiIikrKHIuc2VhcmNoP3Iuc2VhcmNoOiIiKSksci5hdXRoPXQuYXV0aHx8ci5hdXRoLHIuc2xhc2hlcz1yLnNsYXNoZXN8fHQuc2xhc2hlcyxyLmhyZWY9ci5mb3JtYXQoKSxyfSxvLnByb3RvdHlwZS5wYXJzZUhvc3Q9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmhvc3QsZT1zLmV4ZWModCk7ZSYmKCI6IiE9PShlPWVbMF0pJiYodGhpcy5wb3J0PWUuc3Vic3RyKDEpKSx0PXQuc3Vic3RyKDAsdC5sZW5ndGgtZS5sZW5ndGgpKSx0JiYodGhpcy5ob3N0bmFtZT10KX19LHsiLi91dGlsIjoxNTkscHVueWNvZGU6MTI3LHF1ZXJ5c3RyaW5nOjEzMH1dLDE1OTpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz17aXNTdHJpbmc6ZnVuY3Rpb24odCl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0fSxpc09iamVjdDpmdW5jdGlvbih0KXtyZXR1cm4ib2JqZWN0Ij09PSh2b2lkIDA9PT10PyJ1bmRlZmluZWQiOl90eXBlb2YodCkpJiZudWxsIT09dH0saXNOdWxsOmZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT09dH0saXNOdWxsT3JVbmRlZmluZWQ6ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXR9fX0se31dLDE2MDpbZnVuY3Rpb24odCxlLHIpeyhmdW5jdGlvbih0KXtmdW5jdGlvbiByKGUpe3RyeXtpZighdC5sb2NhbFN0b3JhZ2UpcmV0dXJuITF9Y2F0Y2godCl7cmV0dXJuITF9dmFyIHI9dC5sb2NhbFN0b3JhZ2VbZV07cmV0dXJuIG51bGwhPXImJiJ0cnVlIj09PVN0cmluZyhyKS50b0xvd2VyQ2FzZSgpfWUuZXhwb3J0cz1mdW5jdGlvbih0LGUpe2lmKHIoIm5vRGVwcmVjYXRpb24iKSlyZXR1cm4gdDt2YXIgbj0hMTtyZXR1cm4gZnVuY3Rpb24oKXtpZighbil7aWYocigidGhyb3dEZXByZWNhdGlvbiIpKXRocm93IG5ldyBFcnJvcihlKTtyKCJ0cmFjZURlcHJlY2F0aW9uIik/Y29uc29sZS50cmFjZShlKTpjb25zb2xlLndhcm4oZSksbj0hMH1yZXR1cm4gdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fX0pLmNhbGwodGhpcywidW5kZWZpbmVkIiE9dHlwZW9mIGdsb2JhbD9nbG9iYWw6InVuZGVmaW5lZCIhPXR5cGVvZiBzZWxmP3NlbGY6InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3c/d2luZG93Ont9KX0se31dLDE2MTpbZnVuY3Rpb24ocmVxdWlyZSxtb2R1bGUsZXhwb3J0cyl7dmFyIGluZGV4T2Y9cmVxdWlyZSgiaW5kZXhvZiIpLE9iamVjdF9rZXlzPWZ1bmN0aW9uKHQpe2lmKE9iamVjdC5rZXlzKXJldHVybiBPYmplY3Qua2V5cyh0KTt2YXIgZT1bXTtmb3IodmFyIHIgaW4gdCllLnB1c2gocik7cmV0dXJuIGV9LGZvckVhY2g9ZnVuY3Rpb24odCxlKXtpZih0LmZvckVhY2gpcmV0dXJuIHQuZm9yRWFjaChlKTtmb3IodmFyIHI9MDtyPHQubGVuZ3RoO3IrKyllKHRbcl0scix0KX0sZGVmaW5lUHJvcD1mdW5jdGlvbigpe3RyeXtyZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCJfIix7fSksZnVuY3Rpb24odCxlLHIpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGUse3dyaXRhYmxlOiEwLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwLHZhbHVlOnJ9KX19Y2F0Y2godCl7cmV0dXJuIGZ1bmN0aW9uKHQsZSxyKXt0W2VdPXJ9fX0oKSxnbG9iYWxzPVsiQXJyYXkiLCJCb29sZWFuIiwiRGF0ZSIsIkVycm9yIiwiRXZhbEVycm9yIiwiRnVuY3Rpb24iLCJJbmZpbml0eSIsIkpTT04iLCJNYXRoIiwiTmFOIiwiTnVtYmVyIiwiT2JqZWN0IiwiUmFuZ2VFcnJvciIsIlJlZmVyZW5jZUVycm9yIiwiUmVnRXhwIiwiU3RyaW5nIiwiU3ludGF4RXJyb3IiLCJUeXBlRXJyb3IiLCJVUklFcnJvciIsImRlY29kZVVSSSIsImRlY29kZVVSSUNvbXBvbmVudCIsImVuY29kZVVSSSIsImVuY29kZVVSSUNvbXBvbmVudCIsImVzY2FwZSIsImV2YWwiLCJpc0Zpbml0ZSIsImlzTmFOIiwicGFyc2VGbG9hdCIsInBhcnNlSW50IiwidW5kZWZpbmVkIiwidW5lc2NhcGUiXTtmdW5jdGlvbiBDb250ZXh0KCl7fUNvbnRleHQucHJvdG90eXBlPXt9O3ZhciBTY3JpcHQ9ZXhwb3J0cy5TY3JpcHQ9ZnVuY3Rpb24odCl7aWYoISh0aGlzIGluc3RhbmNlb2YgU2NyaXB0KSlyZXR1cm4gbmV3IFNjcmlwdCh0KTt0aGlzLmNvZGU9dH07U2NyaXB0LnByb3RvdHlwZS5ydW5JbkNvbnRleHQ9ZnVuY3Rpb24odCl7aWYoISh0IGluc3RhbmNlb2YgQ29udGV4dCkpdGhyb3cgbmV3IFR5cGVFcnJvcigibmVlZHMgYSAnY29udGV4dCcgYXJndW1lbnQuIik7dmFyIGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7ZS5zdHlsZXx8KGUuc3R5bGU9e30pLGUuc3R5bGUuZGlzcGxheT0ibm9uZSIsZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlKTt2YXIgcj1lLmNvbnRlbnRXaW5kb3csbj1yLmV2YWwsaT1yLmV4ZWNTY3JpcHQ7IW4mJmkmJihpLmNhbGwociwibnVsbCIpLG49ci5ldmFsKSxmb3JFYWNoKE9iamVjdF9rZXlzKHQpLGZ1bmN0aW9uKGUpe3JbZV09dFtlXX0pLGZvckVhY2goZ2xvYmFscyxmdW5jdGlvbihlKXt0W2VdJiYocltlXT10W2VdKX0pO3ZhciBvPU9iamVjdF9rZXlzKHIpLGE9bi5jYWxsKHIsdGhpcy5jb2RlKTtyZXR1cm4gZm9yRWFjaChPYmplY3Rfa2V5cyhyKSxmdW5jdGlvbihlKXsoZSBpbiB0fHwtMT09PWluZGV4T2YobyxlKSkmJih0W2VdPXJbZV0pfSksZm9yRWFjaChnbG9iYWxzLGZ1bmN0aW9uKGUpe2UgaW4gdHx8ZGVmaW5lUHJvcCh0LGUscltlXSl9KSxkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGUpLGF9LFNjcmlwdC5wcm90b3R5cGUucnVuSW5UaGlzQ29udGV4dD1mdW5jdGlvbigpe3JldHVybiBldmFsKHRoaXMuY29kZSl9LFNjcmlwdC5wcm90b3R5cGUucnVuSW5OZXdDb250ZXh0PWZ1bmN0aW9uKHQpe3ZhciBlPVNjcmlwdC5jcmVhdGVDb250ZXh0KHQpLHI9dGhpcy5ydW5JbkNvbnRleHQoZSk7cmV0dXJuIGZvckVhY2goT2JqZWN0X2tleXMoZSksZnVuY3Rpb24ocil7dFtyXT1lW3JdfSkscn0sZm9yRWFjaChPYmplY3Rfa2V5cyhTY3JpcHQucHJvdG90eXBlKSxmdW5jdGlvbih0KXtleHBvcnRzW3RdPVNjcmlwdFt0XT1mdW5jdGlvbihlKXt2YXIgcj1TY3JpcHQoZSk7cmV0dXJuIHJbdF0uYXBwbHkocixbXS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKSl9fSksZXhwb3J0cy5jcmVhdGVTY3JpcHQ9ZnVuY3Rpb24odCl7cmV0dXJuIGV4cG9ydHMuU2NyaXB0KHQpfSxleHBvcnRzLmNyZWF0ZUNvbnRleHQ9U2NyaXB0LmNyZWF0ZUNvbnRleHQ9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IENvbnRleHQ7cmV0dXJuIm9iamVjdCI9PT0odm9pZCAwPT09dD8idW5kZWZpbmVkIjpfdHlwZW9mKHQpKSYmZm9yRWFjaChPYmplY3Rfa2V5cyh0KSxmdW5jdGlvbihyKXtlW3JdPXRbcl19KSxlfX0se2luZGV4b2Y6MTAwfV0sMTYyOltmdW5jdGlvbih0LGUscil7dmFyIG49IiVbYS1mMC05XXsyfSIsaT1uZXcgUmVnRXhwKG4sImdpIiksbz1uZXcgUmVnRXhwKCIoIituKyIpKyIsImdpIik7ZnVuY3Rpb24gYSh0LGUpe3RyeXtyZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KHQuam9pbigiIikpfWNhdGNoKHQpe31pZigxPT09dC5sZW5ndGgpcmV0dXJuIHQ7ZT1lfHwxO3ZhciByPXQuc2xpY2UoMCxlKSxuPXQuc2xpY2UoZSk7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5jb25jYXQuY2FsbChbXSxhKHIpLGEobikpfWZ1bmN0aW9uIHModCl7dHJ5e3JldHVybiBkZWNvZGVVUklDb21wb25lbnQodCl9Y2F0Y2gobil7Zm9yKHZhciBlPXQubWF0Y2goaSkscj0xO3I8ZS5sZW5ndGg7cisrKXQ9YShlLHIpLmpvaW4oIiIpLGU9dC5tYXRjaChpKTtyZXR1cm4gdH19ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe2lmKCJzdHJpbmciIT10eXBlb2YgdCl0aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCBgZW5jb2RlZFVSSWAgdG8gYmUgb2YgdHlwZSBgc3RyaW5nYCwgZ290IGAiKyh2b2lkIDA9PT10PyJ1bmRlZmluZWQiOl90eXBlb2YodCkpKyJgIik7dHJ5e3JldHVybiB0PXQucmVwbGFjZSgvXCsvZywiICIpLGRlY29kZVVSSUNvbXBvbmVudCh0KX1jYXRjaChlKXtyZXR1cm4gZnVuY3Rpb24odCl7Zm9yKHZhciBlPXsiJUZFJUZGIjoi77+977+9IiwiJUZGJUZFIjoi77+977+9In0scj1vLmV4ZWModCk7cjspe3RyeXtlW3JbMF1dPWRlY29kZVVSSUNvbXBvbmVudChyWzBdKX1jYXRjaCh0KXt2YXIgbj1zKHJbMF0pO24hPT1yWzBdJiYoZVtyWzBdXT1uKX1yPW8uZXhlYyh0KX1lWyIlQzIiXT0i77+9Ijtmb3IodmFyIGk9T2JqZWN0LmtleXMoZSksYT0wO2E8aS5sZW5ndGg7YSsrKXt2YXIgdT1pW2FdO3Q9dC5yZXBsYWNlKG5ldyBSZWdFeHAodSwiZyIpLGVbdV0pfXJldHVybiB0fSh0KX19fSx7fV0sMTYzOltmdW5jdGlvbih0LGUscil7dmFyIG49ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9W10sbj0wO248dDsrK24pci5wdXNoKGUobikpO3JldHVybiByfTtlLmV4cG9ydHM9e2dlbmVyYXRlOm4scmVwbGljYXRlOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIG4odCxmdW5jdGlvbigpe3JldHVybiBlfSl9LGNvbmNhdDpmdW5jdGlvbih0LGUpe3JldHVybiB0LmNvbmNhdChlKX0sZmxhdHRlbjpmdW5jdGlvbih0KXtmb3IodmFyIGU9W10scj0wLG49dC5sZW5ndGg7cjxuOysrcilmb3IodmFyIGk9MCxvPXRbcl0ubGVuZ3RoO2k8bzsrK2kpZS5wdXNoKHRbcl1baV0pO3JldHVybiBlfSxjaHVua3NPZjpmdW5jdGlvbih0LGUpe2Zvcih2YXIgcj1bXSxuPTAsaT1lLmxlbmd0aDtuPGk7bis9dClyLnB1c2goZS5zbGljZShuLG4rdCkpO3JldHVybiByfX19LHt9XSwxNjQ6W2Z1bmN0aW9uKHQsZSxyKXt0KCIuL2FycmF5LmpzIik7dmFyIG49ZnVuY3Rpb24odCxlKXtyZXR1cm4gcGFyc2VJbnQodC5zbGljZSgyKmUrMiwyKmUrNCksMTYpfSxpPWZ1bmN0aW9uKHQpe3JldHVybih0Lmxlbmd0aC0yKS8yfSxvPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1bXSxyPTIsbj10Lmxlbmd0aDtyPG47cis9MillLnB1c2gocGFyc2VJbnQodC5zbGljZShyLHIrMiksMTYpKTtyZXR1cm4gZX0sYT1mdW5jdGlvbih0KXtmb3IodmFyIGU9IjB4IixyPTAsbj10Lmxlbmd0aDtyPG47KytyKXt2YXIgaT10W3JdO2UrPShpPDE2PyIwIjoiIikraS50b1N0cmluZygxNil9cmV0dXJuIGV9O2UuZXhwb3J0cz17cmFuZG9tOmZ1bmN0aW9uKGUpe3ZhciByPXZvaWQgMDtpZigidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmd2luZG93LmNyeXB0byYmd2luZG93LmNyeXB0by5nZXRSYW5kb21WYWx1ZXMpcj13aW5kb3cuY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhuZXcgVWludDhBcnJheShlKSk7ZWxzZXtpZih2b2lkIDA9PT10KXRocm93IlNhZmUgcmFuZG9tIG51bWJlcnMgbm90IGF2YWlsYWJsZS4iO3I9dCgiY3J5cHRvIikucmFuZG9tQnl0ZXMoZSl9Zm9yKHZhciBuPSIweCIsaT0wO2k8ZTsrK2kpbis9KCIwMCIrcltpXS50b1N0cmluZygxNikpLnNsaWNlKC0yKTtyZXR1cm4gbn0sbGVuZ3RoOmksY29uY2F0OmZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQuY29uY2F0KGUuc2xpY2UoMikpfSxmbGF0dGVuOmZ1bmN0aW9uKHQpe3JldHVybiIweCIrdC5yZWR1Y2UoZnVuY3Rpb24odCxlKXtyZXR1cm4gdCtlLnNsaWNlKDIpfSwiIil9LHNsaWNlOmZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4iMHgiK3Iuc2xpY2UoMip0KzIsMiplKzIpfSxyZXZlcnNlOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT0iMHgiLHI9MCxuPWkodCk7cjxuOysrcillKz10LnNsaWNlKDIqKG4tciksMioobi1yKzEpKTtyZXR1cm4gZX0scGFkOmZ1bmN0aW9uIHQoZSxyKXtyZXR1cm4gci5sZW5ndGg9PT0yKmUrMj9yOnQoZSwiMHgwIityLnNsaWNlKDIpKX0scGFkUmlnaHQ6ZnVuY3Rpb24gdChlLHIpe3JldHVybiByLmxlbmd0aD09PTIqZSsyP3I6dChlLHIrIjAiKX0sZnJvbUFzY2lpOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT0iMHgiLHI9MDtyPHQubGVuZ3RoOysrcillKz0oIjAwIit0LmNoYXJDb2RlQXQocikudG9TdHJpbmcoMTYpKS5zbGljZSgtMik7cmV0dXJuIGV9LHRvQXNjaWk6ZnVuY3Rpb24odCl7Zm9yKHZhciBlPSIiLHI9MjtyPHQubGVuZ3RoO3IrPTIpZSs9U3RyaW5nLmZyb21DaGFyQ29kZShwYXJzZUludCh0LnNsaWNlKHIscisyKSwxNikpO3JldHVybiBlfSxmcm9tU3RyaW5nOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1mdW5jdGlvbih0KXt2YXIgZT10LnRvU3RyaW5nKDE2KTtyZXR1cm4gZS5sZW5ndGg8Mj8iMCIrZTplfSxyPSIweCIsbj0wO24hPXQubGVuZ3RoO24rKyl7dmFyIGk9dC5jaGFyQ29kZUF0KG4pO2lmKGk8MTI4KXIrPWUoaSk7ZWxzZXtpZihpPDIwNDgpcis9ZShpPj42fDE5Mik7ZWxzZXtpZihpPjU1Mjk1JiZpPDU2MzIwKXtpZigrK249PXQubGVuZ3RoKXJldHVybiBudWxsO3ZhciBvPXQuY2hhckNvZGVBdChuKTtpZihvPDU2MzIwfHxvPjU3MzQzKXJldHVybiBudWxsO3IrPWUoKGk9NjU1MzYrKCgxMDIzJmkpPDwxMCkrKDEwMjMmbykpPj4xOHwyNDApLHIrPWUoaT4+MTImNjN8MTI4KX1lbHNlIHIrPWUoaT4+MTJ8MjI0KTtyKz1lKGk+PjYmNjN8MTI4KX1yKz1lKDYzJml8MTI4KX19cmV0dXJuIHJ9LHRvU3RyaW5nOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT0iIixyPTAsbz1pKHQpO3I8bzspe3ZhciBhPW4odCxyKyspO2lmKGE+MTI3KXtpZihhPjE5MSYmYTwyMjQpe2lmKHI+PW8pcmV0dXJuIG51bGw7YT0oMzEmYSk8PDZ8NjMmbih0LHIpfWVsc2UgaWYoYT4yMjMmJmE8MjQwKXtpZihyKzE+PW8pcmV0dXJuIG51bGw7YT0oMTUmYSk8PDEyfCg2MyZuKHQscikpPDw2fDYzJm4odCwrK3IpfWVsc2V7aWYoIShhPjIzOSYmYTwyNDgpKXJldHVybiBudWxsO2lmKHIrMj49bylyZXR1cm4gbnVsbDthPSg3JmEpPDwxOHwoNjMmbih0LHIpKTw8MTJ8KDYzJm4odCwrK3IpKTw8Nnw2MyZuKHQsKytyKX0rK3J9aWYoYTw9NjU1MzUpZSs9U3RyaW5nLmZyb21DaGFyQ29kZShhKTtlbHNle2lmKCEoYTw9MTExNDExMSkpcmV0dXJuIG51bGw7YS09NjU1MzYsZSs9U3RyaW5nLmZyb21DaGFyQ29kZShhPj4xMHw1NTI5NiksZSs9U3RyaW5nLmZyb21DaGFyQ29kZSgxMDIzJmF8NTYzMjApfX1yZXR1cm4gZX0sZnJvbU51bWJlcjpmdW5jdGlvbih0KXt2YXIgZT10LnRvU3RyaW5nKDE2KTtyZXR1cm4gZS5sZW5ndGglMj09MD8iMHgiK2U6IjB4MCIrZX0sdG9OdW1iZXI6ZnVuY3Rpb24odCl7cmV0dXJuIHBhcnNlSW50KHQuc2xpY2UoMiksMTYpfSxmcm9tTmF0OmZ1bmN0aW9uKHQpe3JldHVybiIweDAiPT09dD8iMHgiOnQubGVuZ3RoJTI9PTA/dDoiMHgwIit0LnNsaWNlKDIpfSx0b05hdDpmdW5jdGlvbih0KXtyZXR1cm4iMCI9PT10WzJdPyIweCIrdC5zbGljZSgzKTp0fSxmcm9tQXJyYXk6YSx0b0FycmF5Om8sZnJvbVVpbnQ4QXJyYXk6ZnVuY3Rpb24odCl7cmV0dXJuIGEoW10uc2xpY2UuY2FsbCh0LDApKX0sdG9VaW50OEFycmF5OmZ1bmN0aW9uKHQpe3JldHVybiBuZXcgVWludDhBcnJheShvKHQpKX19fSx7Ii4vYXJyYXkuanMiOjE2M31dLDE2NTpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPSIwMTIzNDU2Nzg5YWJjZGVmIi5zcGxpdCgiIiksaT1bMSwyNTYsNjU1MzYsMTY3NzcyMTZdLG89WzAsOCwxNiwyNF0sYT1bMSwwLDMyODk4LDAsMzI5MDYsMjE0NzQ4MzY0OCwyMTQ3NTE2NDE2LDIxNDc0ODM2NDgsMzI5MDcsMCwyMTQ3NDgzNjQ5LDAsMjE0NzUxNjU0NSwyMTQ3NDgzNjQ4LDMyNzc3LDIxNDc0ODM2NDgsMTM4LDAsMTM2LDAsMjE0NzUxNjQyNSwwLDIxNDc0ODM2NTgsMCwyMTQ3NTE2NTU1LDAsMTM5LDIxNDc0ODM2NDgsMzI5MDUsMjE0NzQ4MzY0OCwzMjc3MSwyMTQ3NDgzNjQ4LDMyNzcwLDIxNDc0ODM2NDgsMTI4LDIxNDc0ODM2NDgsMzI3NzgsMCwyMTQ3NDgzNjU4LDIxNDc0ODM2NDgsMjE0NzUxNjU0NSwyMTQ3NDgzNjQ4LDMyODk2LDIxNDc0ODM2NDgsMjE0NzQ4MzY0OSwwLDIxNDc1MTY0MjQsMjE0NzQ4MzY0OF0scz1mdW5jdGlvbih0KXt2YXIgZSxyLG4saSxvLHMsdSxmLGMsaCxkLGwscCxiLG0seSx2LGcsdyxfLE0seCxrLFMsRSxBLGosSSxCLFQsQyxQLFIsTyxOLEwsRixxLEQsVSx6LEssSCxWLFcsWCxHLEosWiwkLFksUSx0dCxldCxydCxudCxpdCxvdCxhdCxzdCx1dCxmdCxjdDtmb3Iobj0wO248NDg7bis9MilpPXRbMF1edFsxMF1edFsyMF1edFszMF1edFs0MF0sbz10WzFdXnRbMTFdXnRbMjFdXnRbMzFdXnRbNDFdLHM9dFsyXV50WzEyXV50WzIyXV50WzMyXV50WzQyXSx1PXRbM11edFsxM11edFsyM11edFszM11edFs0M10sZj10WzRdXnRbMTRdXnRbMjRdXnRbMzRdXnRbNDRdLGM9dFs1XV50WzE1XV50WzI1XV50WzM1XV50WzQ1XSxoPXRbNl1edFsxNl1edFsyNl1edFszNl1edFs0Nl0sZD10WzddXnRbMTddXnRbMjddXnRbMzddXnRbNDddLGU9KGw9dFs4XV50WzE4XV50WzI4XV50WzM4XV50WzQ4XSleKHM8PDF8dT4+PjMxKSxyPShwPXRbOV1edFsxOV1edFsyOV1edFszOV1edFs0OV0pXih1PDwxfHM+Pj4zMSksdFswXV49ZSx0WzFdXj1yLHRbMTBdXj1lLHRbMTFdXj1yLHRbMjBdXj1lLHRbMjFdXj1yLHRbMzBdXj1lLHRbMzFdXj1yLHRbNDBdXj1lLHRbNDFdXj1yLGU9aV4oZjw8MXxjPj4+MzEpLHI9b14oYzw8MXxmPj4+MzEpLHRbMl1ePWUsdFszXV49cix0WzEyXV49ZSx0WzEzXV49cix0WzIyXV49ZSx0WzIzXV49cix0WzMyXV49ZSx0WzMzXV49cix0WzQyXV49ZSx0WzQzXV49cixlPXNeKGg8PDF8ZD4+PjMxKSxyPXVeKGQ8PDF8aD4+PjMxKSx0WzRdXj1lLHRbNV1ePXIsdFsxNF1ePWUsdFsxNV1ePXIsdFsyNF1ePWUsdFsyNV1ePXIsdFszNF1ePWUsdFszNV1ePXIsdFs0NF1ePWUsdFs0NV1ePXIsZT1mXihsPDwxfHA+Pj4zMSkscj1jXihwPDwxfGw+Pj4zMSksdFs2XV49ZSx0WzddXj1yLHRbMTZdXj1lLHRbMTddXj1yLHRbMjZdXj1lLHRbMjddXj1yLHRbMzZdXj1lLHRbMzddXj1yLHRbNDZdXj1lLHRbNDddXj1yLGU9aF4oaTw8MXxvPj4+MzEpLHI9ZF4obzw8MXxpPj4+MzEpLHRbOF1ePWUsdFs5XV49cix0WzE4XV49ZSx0WzE5XV49cix0WzI4XV49ZSx0WzI5XV49cix0WzM4XV49ZSx0WzM5XV49cix0WzQ4XV49ZSx0WzQ5XV49cixiPXRbMF0sbT10WzFdLFg9dFsxMV08PDR8dFsxMF0+Pj4yOCxHPXRbMTBdPDw0fHRbMTFdPj4+MjgsST10WzIwXTw8M3x0WzIxXT4+PjI5LEI9dFsyMV08PDN8dFsyMF0+Pj4yOSxzdD10WzMxXTw8OXx0WzMwXT4+PjIzLHV0PXRbMzBdPDw5fHRbMzFdPj4+MjMsSz10WzQwXTw8MTh8dFs0MV0+Pj4xNCxIPXRbNDFdPDwxOHx0WzQwXT4+PjE0LE89dFsyXTw8MXx0WzNdPj4+MzEsTj10WzNdPDwxfHRbMl0+Pj4zMSx5PXRbMTNdPDwxMnx0WzEyXT4+PjIwLHY9dFsxMl08PDEyfHRbMTNdPj4+MjAsSj10WzIyXTw8MTB8dFsyM10+Pj4yMixaPXRbMjNdPDwxMHx0WzIyXT4+PjIyLFQ9dFszM108PDEzfHRbMzJdPj4+MTksQz10WzMyXTw8MTN8dFszM10+Pj4xOSxmdD10WzQyXTw8Mnx0WzQzXT4+PjMwLGN0PXRbNDNdPDwyfHRbNDJdPj4+MzAsZXQ9dFs1XTw8MzB8dFs0XT4+PjIscnQ9dFs0XTw8MzB8dFs1XT4+PjIsTD10WzE0XTw8Nnx0WzE1XT4+PjI2LEY9dFsxNV08PDZ8dFsxNF0+Pj4yNixnPXRbMjVdPDwxMXx0WzI0XT4+PjIxLHc9dFsyNF08PDExfHRbMjVdPj4+MjEsJD10WzM0XTw8MTV8dFszNV0+Pj4xNyxZPXRbMzVdPDwxNXx0WzM0XT4+PjE3LFA9dFs0NV08PDI5fHRbNDRdPj4+MyxSPXRbNDRdPDwyOXx0WzQ1XT4+PjMsUz10WzZdPDwyOHx0WzddPj4+NCxFPXRbN108PDI4fHRbNl0+Pj40LG50PXRbMTddPDwyM3x0WzE2XT4+PjksaXQ9dFsxNl08PDIzfHRbMTddPj4+OSxxPXRbMjZdPDwyNXx0WzI3XT4+PjcsRD10WzI3XTw8MjV8dFsyNl0+Pj43LF89dFszNl08PDIxfHRbMzddPj4+MTEsTT10WzM3XTw8MjF8dFszNl0+Pj4xMSxRPXRbNDddPDwyNHx0WzQ2XT4+PjgsdHQ9dFs0Nl08PDI0fHRbNDddPj4+OCxWPXRbOF08PDI3fHRbOV0+Pj41LFc9dFs5XTw8Mjd8dFs4XT4+PjUsQT10WzE4XTw8MjB8dFsxOV0+Pj4xMixqPXRbMTldPDwyMHx0WzE4XT4+PjEyLG90PXRbMjldPDw3fHRbMjhdPj4+MjUsYXQ9dFsyOF08PDd8dFsyOV0+Pj4yNSxVPXRbMzhdPDw4fHRbMzldPj4+MjQsej10WzM5XTw8OHx0WzM4XT4+PjI0LHg9dFs0OF08PDE0fHRbNDldPj4+MTgsaz10WzQ5XTw8MTR8dFs0OF0+Pj4xOCx0WzBdPWJefnkmZyx0WzFdPW1efnYmdyx0WzEwXT1TXn5BJkksdFsxMV09RV5+aiZCLHRbMjBdPU9efkwmcSx0WzIxXT1OXn5GJkQsdFszMF09Vl5+WCZKLHRbMzFdPVdefkcmWix0WzQwXT1ldF5+bnQmb3QsdFs0MV09cnRefml0JmF0LHRbMl09eV5+ZyZfLHRbM109dl5+dyZNLHRbMTJdPUFefkkmVCx0WzEzXT1qXn5CJkMsdFsyMl09TF5+cSZVLHRbMjNdPUZefkQmeix0WzMyXT1YXn5KJiQsdFszM109R15+WiZZLHRbNDJdPW50Xn5vdCZzdCx0WzQzXT1pdF5+YXQmdXQsdFs0XT1nXn5fJngsdFs1XT13Xn5NJmssdFsxNF09SV5+VCZQLHRbMTVdPUJefkMmUix0WzI0XT1xXn5VJkssdFsyNV09RF5+eiZILHRbMzRdPUpefiQmUSx0WzM1XT1aXn5ZJnR0LHRbNDRdPW90Xn5zdCZmdCx0WzQ1XT1hdF5+dXQmY3QsdFs2XT1fXn54JmIsdFs3XT1NXn5rJm0sdFsxNl09VF5+UCZTLHRbMTddPUNeflImRSx0WzI2XT1VXn5LJk8sdFsyN109el5+SCZOLHRbMzZdPSReflEmVix0WzM3XT1ZXn50dCZXLHRbNDZdPXN0Xn5mdCZldCx0WzQ3XT11dF5+Y3QmcnQsdFs4XT14Xn5iJnksdFs5XT1rXn5tJnYsdFsxOF09UF5+UyZBLHRbMTldPVJefkUmaix0WzI4XT1LXn5PJkwsdFsyOV09SF5+TiZGLHRbMzhdPVFeflYmWCx0WzM5XT10dF5+VyZHLHRbNDhdPWZ0Xn5ldCZudCx0WzQ5XT1jdF5+cnQmaXQsdFswXV49YVtuXSx0WzFdXj1hW24rMV19LHU9ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3ZhciByLGEsdTtpZigiMHgiPT09ZS5zbGljZSgwLDIpKXtyPVtdO2Zvcih2YXIgZj0yLGM9ZS5sZW5ndGg7ZjxjO2YrPTIpci5wdXNoKHBhcnNlSW50KGUuc2xpY2UoZixmKzIpLDE2KSl9ZWxzZSByPWU7cmV0dXJuIGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByLGE9ZS5sZW5ndGgsdT10LmJsb2NrcyxmPXQuYmxvY2tDb3VudDw8MixjPXQuYmxvY2tDb3VudCxoPXQub3V0cHV0QmxvY2tzLGQ9dC5zLGw9MDtsPGE7KXtpZih0LnJlc2V0KWZvcih0LnJlc2V0PSExLHVbMF09dC5ibG9jayxtPTE7bTxjKzE7KyttKXVbbV09MDtpZigic3RyaW5nIiE9dHlwZW9mIGUpZm9yKG09dC5zdGFydDtsPGEmJm08ZjsrK2wpdVttPj4yXXw9ZVtsXTw8b1szJm0rK107ZWxzZSBmb3IobT10LnN0YXJ0O2w8YSYmbTxmOysrbCkocj1lLmNoYXJDb2RlQXQobCkpPDEyOD91W20+PjJdfD1yPDxvWzMmbSsrXTpyPDIwNDg/KHVbbT4+Ml18PSgxOTJ8cj4+Nik8PG9bMyZtKytdLHVbbT4+Ml18PSgxMjh8NjMmcik8PG9bMyZtKytdKTpyPDU1Mjk2fHxyPj01NzM0ND8odVttPj4yXXw9KDIyNHxyPj4xMik8PG9bMyZtKytdLHVbbT4+Ml18PSgxMjh8cj4+NiY2Myk8PG9bMyZtKytdLHVbbT4+Ml18PSgxMjh8NjMmcik8PG9bMyZtKytdKToocj02NTUzNisoKDEwMjMmcik8PDEwfDEwMjMmZS5jaGFyQ29kZUF0KCsrbCkpLHVbbT4+Ml18PSgyNDB8cj4+MTgpPDxvWzMmbSsrXSx1W20+PjJdfD0oMTI4fHI+PjEyJjYzKTw8b1szJm0rK10sdVttPj4yXXw9KDEyOHxyPj42JjYzKTw8b1szJm0rK10sdVttPj4yXXw9KDEyOHw2MyZyKTw8b1szJm0rK10pO2lmKHQubGFzdEJ5dGVJbmRleD1tLG0+PWYpe2Zvcih0LnN0YXJ0PW0tZix0LmJsb2NrPXVbY10sbT0wO208YzsrK20pZFttXV49dVttXTtzKGQpLHQucmVzZXQ9ITB9ZWxzZSB0LnN0YXJ0PW19aWYodVsobT10Lmxhc3RCeXRlSW5kZXgpPj4yXXw9aVszJm1dLHQubGFzdEJ5dGVJbmRleD09PWYpZm9yKHVbMF09dVtjXSxtPTE7bTxjKzE7KyttKXVbbV09MDtmb3IodVtjLTFdfD0yMTQ3NDgzNjQ4LG09MDttPGM7KyttKWRbbV1ePXVbbV07cyhkKTtmb3IodmFyIHAsYj0iIixtPTAseT0wO3k8aDspe2ZvcihtPTA7bTxjJiZ5PGg7KyttLCsreSlwPWRbbV0sYis9bltwPj40JjE1XStuWzE1JnBdK25bcD4+MTImMTVdK25bcD4+OCYxNV0rbltwPj4yMCYxNV0rbltwPj4xNiYxNV0rbltwPj4yOCYxNV0rbltwPj4yNCYxNV07eSVjPT0wJiYocyhkKSxtPTApfXJldHVybiIweCIrYn0oe2Jsb2NrczpbXSxyZXNldDohMCxibG9jazowLHN0YXJ0OjAsYmxvY2tDb3VudDoxNjAwLSgoYT10KTw8MSk+PjUsb3V0cHV0QmxvY2tzOmE+PjUsczoodT1bMCwwLDAsMCwwLDAsMCwwLDAsMF0sW10uY29uY2F0KHUsdSx1LHUsdSkpfSxyKX19O2UuZXhwb3J0cz17a2VjY2FrMjU2OnUoMjU2KSxrZWNjYWs1MTI6dSg1MTIpLGtlY2NhazI1NnM6dSgyNTYpLGtlY2NhazUxMnM6dSg1MTIpfX0se31dLDE2NjpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQoImlzLWZ1bmN0aW9uIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyKXtpZighbihlKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJpdGVyYXRvciBtdXN0IGJlIGEgZnVuY3Rpb24iKTthcmd1bWVudHMubGVuZ3RoPDMmJihyPXRoaXMpOyJbb2JqZWN0IEFycmF5XSI9PT1pLmNhbGwodCk/ZnVuY3Rpb24odCxlLHIpe2Zvcih2YXIgbj0wLGk9dC5sZW5ndGg7bjxpO24rKylvLmNhbGwodCxuKSYmZS5jYWxsKHIsdFtuXSxuLHQpfSh0LGUscik6InN0cmluZyI9PXR5cGVvZiB0P2Z1bmN0aW9uKHQsZSxyKXtmb3IodmFyIG49MCxpPXQubGVuZ3RoO248aTtuKyspZS5jYWxsKHIsdC5jaGFyQXQobiksbix0KX0odCxlLHIpOmZ1bmN0aW9uKHQsZSxyKXtmb3IodmFyIG4gaW4gdClvLmNhbGwodCxuKSYmZS5jYWxsKHIsdFtuXSxuLHQpfSh0LGUscil9O3ZhciBpPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcsbz1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5fSx7ImlzLWZ1bmN0aW9uIjoxNjh9XSwxNjc6W2Z1bmN0aW9uKHQsZSxyKXsoZnVuY3Rpb24odCl7dmFyIHI7cj0idW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6dm9pZCAwIT09dD90OiJ1bmRlZmluZWQiIT10eXBlb2Ygc2VsZj9zZWxmOnt9LGUuZXhwb3J0cz1yfSkuY2FsbCh0aGlzLCJ1bmRlZmluZWQiIT10eXBlb2YgZ2xvYmFsP2dsb2JhbDoidW5kZWZpbmVkIiE9dHlwZW9mIHNlbGY/c2VsZjoidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6e30pfSx7fV0sMTY4OltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlPW4uY2FsbCh0KTtyZXR1cm4iW29iamVjdCBGdW5jdGlvbl0iPT09ZXx8ImZ1bmN0aW9uIj09dHlwZW9mIHQmJiJbb2JqZWN0IFJlZ0V4cF0iIT09ZXx8InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cmJih0PT09d2luZG93LnNldFRpbWVvdXR8fHQ9PT13aW5kb3cuYWxlcnR8fHQ9PT13aW5kb3cuY29uZmlybXx8dD09PXdpbmRvdy5wcm9tcHQpfTt2YXIgbj1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nfSx7fV0sMTY5OltmdW5jdGlvbih0LGUscil7dmFyIG49T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyxpPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksbz1PYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlO2UuZXhwb3J0cz1mdW5jdGlvbigpe3RyeXtpZighT2JqZWN0LmFzc2lnbilyZXR1cm4hMTt2YXIgdD1uZXcgU3RyaW5nKCJhYmMiKTtpZih0WzVdPSJkZSIsIjUiPT09T2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModClbMF0pcmV0dXJuITE7Zm9yKHZhciBlPXt9LHI9MDtyPDEwO3IrKyllWyJfIitTdHJpbmcuZnJvbUNoYXJDb2RlKHIpXT1yO2lmKCIwMTIzNDU2Nzg5IiE9PU9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGUpLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gZVt0XX0pLmpvaW4oIiIpKXJldHVybiExO3ZhciBuPXt9O3JldHVybiJhYmNkZWZnaGlqa2xtbm9wcXJzdCIuc3BsaXQoIiIpLmZvckVhY2goZnVuY3Rpb24odCl7blt0XT10fSksImFiY2RlZmdoaWprbG1ub3BxcnN0Ij09PU9iamVjdC5rZXlzKE9iamVjdC5hc3NpZ24oe30sbikpLmpvaW4oIiIpfWNhdGNoKHQpe3JldHVybiExfX0oKT9PYmplY3QuYXNzaWduOmZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByLGEscz1mdW5jdGlvbih0KXtpZihudWxsPT10KXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdC5hc3NpZ24gY2Fubm90IGJlIGNhbGxlZCB3aXRoIG51bGwgb3IgdW5kZWZpbmVkIik7cmV0dXJuIE9iamVjdCh0KX0odCksdT0xO3U8YXJndW1lbnRzLmxlbmd0aDt1Kyspe2Zvcih2YXIgZiBpbiByPU9iamVjdChhcmd1bWVudHNbdV0pKWkuY2FsbChyLGYpJiYoc1tmXT1yW2ZdKTtpZihuKXthPW4ocik7Zm9yKHZhciBjPTA7YzxhLmxlbmd0aDtjKyspby5jYWxsKHIsYVtjXSkmJihzW2FbY11dPXJbYVtjXV0pfX1yZXR1cm4gc319LHt9XSwxNzA6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbj10KCJ0cmltIiksaT10KCJmb3ItZWFjaCIpO2UuZXhwb3J0cz1mdW5jdGlvbih0KXtpZighdClyZXR1cm57fTt2YXIgZT17fTtyZXR1cm4gaShuKHQpLnNwbGl0KCJcbiIpLGZ1bmN0aW9uKHQpe3ZhciByLGk9dC5pbmRleE9mKCI6Iiksbz1uKHQuc2xpY2UoMCxpKSkudG9Mb3dlckNhc2UoKSxhPW4odC5zbGljZShpKzEpKTt2b2lkIDA9PT1lW29dP2Vbb109YToocj1lW29dLCJbb2JqZWN0IEFycmF5XSI9PT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwocik/ZVtvXS5wdXNoKGEpOmVbb109W2Vbb10sYV0pfSksZX19LHsiZm9yLWVhY2giOjE2Nix0cmltOjE3N31dLDE3MTpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQoInN0cmljdC11cmktZW5jb2RlIiksaT10KCJvYmplY3QtYXNzaWduIiksbz10KCJkZWNvZGUtdXJpLWNvbXBvbmVudCIpO2Z1bmN0aW9uIGEodCxlKXtyZXR1cm4gZS5lbmNvZGU/ZS5zdHJpY3Q/bih0KTplbmNvZGVVUklDb21wb25lbnQodCk6dH1mdW5jdGlvbiBzKHQpe3ZhciBlPXQuaW5kZXhPZigiPyIpO3JldHVybi0xPT09ZT8iIjp0LnNsaWNlKGUrMSl9ZnVuY3Rpb24gdSh0LGUpe3ZhciByPWZ1bmN0aW9uKHQpe3ZhciBlO3N3aXRjaCh0LmFycmF5Rm9ybWF0KXtjYXNlImluZGV4IjpyZXR1cm4gZnVuY3Rpb24odCxyLG4pe2U9L1xbKFxkKilcXSQvLmV4ZWModCksdD10LnJlcGxhY2UoL1xbXGQqXF0kLywiIiksZT8odm9pZCAwPT09blt0XSYmKG5bdF09e30pLG5bdF1bZVsxXV09cik6blt0XT1yfTtjYXNlImJyYWNrZXQiOnJldHVybiBmdW5jdGlvbih0LHIsbil7ZT0vKFxbXF0pJC8uZXhlYyh0KSx0PXQucmVwbGFjZSgvXFtcXSQvLCIiKSxlP3ZvaWQgMCE9PW5bdF0/blt0XT1bXS5jb25jYXQoblt0XSxyKTpuW3RdPVtyXTpuW3RdPXJ9O2RlZmF1bHQ6cmV0dXJuIGZ1bmN0aW9uKHQsZSxyKXt2b2lkIDAhPT1yW3RdP3JbdF09W10uY29uY2F0KHJbdF0sZSk6clt0XT1lfX19KGU9aSh7YXJyYXlGb3JtYXQ6Im5vbmUifSxlKSksbj1PYmplY3QuY3JlYXRlKG51bGwpO3JldHVybiJzdHJpbmciIT10eXBlb2YgdD9uOih0PXQudHJpbSgpLnJlcGxhY2UoL15bPyMmXS8sIiIpKT8odC5zcGxpdCgiJiIpLmZvckVhY2goZnVuY3Rpb24odCl7dmFyIGU9dC5yZXBsYWNlKC9cKy9nLCIgIikuc3BsaXQoIj0iKSxpPWUuc2hpZnQoKSxhPWUubGVuZ3RoPjA/ZS5qb2luKCI9Iik6dm9pZCAwO2E9dm9pZCAwPT09YT9udWxsOm8oYSkscihvKGkpLGEsbil9KSxPYmplY3Qua2V5cyhuKS5zb3J0KCkucmVkdWNlKGZ1bmN0aW9uKHQsZSl7dmFyIHI9bltlXTtyZXR1cm4gQm9vbGVhbihyKSYmIm9iamVjdCI9PT0odm9pZCAwPT09cj8idW5kZWZpbmVkIjpfdHlwZW9mKHIpKSYmIUFycmF5LmlzQXJyYXkocik/dFtlXT1mdW5jdGlvbiB0KGUpe3JldHVybiBBcnJheS5pc0FycmF5KGUpP2Uuc29ydCgpOiJvYmplY3QiPT09KHZvaWQgMD09PWU/InVuZGVmaW5lZCI6X3R5cGVvZihlKSk/dChPYmplY3Qua2V5cyhlKSkuc29ydChmdW5jdGlvbih0LGUpe3JldHVybiBOdW1iZXIodCktTnVtYmVyKGUpfSkubWFwKGZ1bmN0aW9uKHQpe3JldHVybiBlW3RdfSk6ZX0ocik6dFtlXT1yLHR9LE9iamVjdC5jcmVhdGUobnVsbCkpKTpufXIuZXh0cmFjdD1zLHIucGFyc2U9dSxyLnN0cmluZ2lmeT1mdW5jdGlvbih0LGUpeyExPT09KGU9aSh7ZW5jb2RlOiEwLHN0cmljdDohMCxhcnJheUZvcm1hdDoibm9uZSJ9LGUpKS5zb3J0JiYoZS5zb3J0PWZ1bmN0aW9uKCl7fSk7dmFyIHI9ZnVuY3Rpb24odCl7c3dpdGNoKHQuYXJyYXlGb3JtYXQpe2Nhc2UiaW5kZXgiOnJldHVybiBmdW5jdGlvbihlLHIsbil7cmV0dXJuIG51bGw9PT1yP1thKGUsdCksIlsiLG4sIl0iXS5qb2luKCIiKTpbYShlLHQpLCJbIixhKG4sdCksIl09IixhKHIsdCldLmpvaW4oIiIpfTtjYXNlImJyYWNrZXQiOnJldHVybiBmdW5jdGlvbihlLHIpe3JldHVybiBudWxsPT09cj9hKGUsdCk6W2EoZSx0KSwiW109IixhKHIsdCldLmpvaW4oIiIpfTtkZWZhdWx0OnJldHVybiBmdW5jdGlvbihlLHIpe3JldHVybiBudWxsPT09cj9hKGUsdCk6W2EoZSx0KSwiPSIsYShyLHQpXS5qb2luKCIiKX19fShlKTtyZXR1cm4gdD9PYmplY3Qua2V5cyh0KS5zb3J0KGUuc29ydCkubWFwKGZ1bmN0aW9uKG4pe3ZhciBpPXRbbl07aWYodm9pZCAwPT09aSlyZXR1cm4iIjtpZihudWxsPT09aSlyZXR1cm4gYShuLGUpO2lmKEFycmF5LmlzQXJyYXkoaSkpe3ZhciBvPVtdO3JldHVybiBpLnNsaWNlKCkuZm9yRWFjaChmdW5jdGlvbih0KXt2b2lkIDAhPT10JiZvLnB1c2gocihuLHQsby5sZW5ndGgpKX0pLG8uam9pbigiJiIpfXJldHVybiBhKG4sZSkrIj0iK2EoaSxlKX0pLmZpbHRlcihmdW5jdGlvbih0KXtyZXR1cm4gdC5sZW5ndGg+MH0pLmpvaW4oIiYiKToiIn0sci5wYXJzZVVybD1mdW5jdGlvbih0LGUpe3JldHVybnt1cmw6dC5zcGxpdCgiPyIpWzBdfHwiIixxdWVyeTp1KHModCksZSl9fX0seyJkZWNvZGUtdXJpLWNvbXBvbmVudCI6MTYyLCJvYmplY3QtYXNzaWduIjoxNjksInN0cmljdC11cmktZW5jb2RlIjoxNzJ9XSwxNzI6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudCh0KS5yZXBsYWNlKC9bIScoKSpdL2csZnVuY3Rpb24odCl7cmV0dXJuIiUiK3QuY2hhckNvZGVBdCgwKS50b1N0cmluZygxNikudG9VcHBlckNhc2UoKX0pfX0se31dLDE3MzpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPWZ1bmN0aW9uKCl7dGhyb3ciVGhpcyBzd2FybS5qcyBmdW5jdGlvbiBpc24ndCBhdmFpbGFibGUgb24gdGhlIGJyb3dzZXIuIn0saT17cmVhZEZpbGU6bn0sbz17ZG93bmxvYWQ6bixzYWZlRG93bmxvYWRBcmNoaXZlZDpuLGRpcmVjdG9yeVRyZWU6bn0sYT17cGxhdGZvcm06bixhcmNoOm59LHM9e2pvaW46bixzbGljZTpufSx1PXtzcGF3bjpufSxmPXtsb29rdXA6bn0sYz10KCJ4aHItcmVxdWVzdC1wcm9taXNlIiksaD10KCJldGgtbGliL2xpYi9ieXRlcyIpLGQ9dCgiLi9zd2FybS1oYXNoLmpzIiksbD10KCIuL3BpY2suanMiKSxwPXQoIi4vc3dhcm0iKTtlLmV4cG9ydHM9cCh7ZnNwOmksZmlsZXM6byxvczphLHBhdGg6cyxjaGlsZF9wcm9jZXNzOnUsZGVmYXVsdEFyY2hpdmVzOnt9LG1pbWV0eXBlOmYscmVxdWVzdDpjLGRvd25sb2FkVXJsOm51bGwsYnl0ZXM6aCxoYXNoOmQscGljazpsfSl9LHsiLi9waWNrLmpzIjoxNzQsIi4vc3dhcm0iOjE3NiwiLi9zd2FybS1oYXNoLmpzIjoxNzUsImV0aC1saWIvbGliL2J5dGVzIjoxNjQsInhoci1yZXF1ZXN0LXByb21pc2UiOjE4MH1dLDE3NDpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihlLHIpe3ZhciBuPWZ1bmN0aW9uKHIpe3ZhciBuPXt9LGk9ci50YXJnZXQuZmlsZXMubGVuZ3RoLG89MDtbXS5tYXAuY2FsbChyLnRhcmdldC5maWxlcyxmdW5jdGlvbihyKXt2YXIgYT1uZXcgRmlsZVJlYWRlcjthLm9ubG9hZD1mdW5jdGlvbihhKXt2YXIgcz1uZXcgVWludDhBcnJheShhLnRhcmdldC5yZXN1bHQpO2lmKCJkaXJlY3RvcnkiPT09dCl7dmFyIHU9ci53ZWJraXRSZWxhdGl2ZVBhdGg7blt1LnNsaWNlKHUuaW5kZXhPZigiLyIpKzEpXT17dHlwZToidGV4dC9wbGFpbiIsZGF0YTpzfSwrK289PT1pJiZlKG4pfWVsc2UgaWYoImZpbGUiPT09dCl7dmFyIGY9ci53ZWJraXRSZWxhdGl2ZVBhdGg7ZSh7dHlwZTptaW1ldHlwZS5sb29rdXAoZiksZGF0YTpzfSl9ZWxzZSBlKHMpfSxhLnJlYWRBc0FycmF5QnVmZmVyKHIpfSl9LGk9dm9pZCAwOyJkaXJlY3RvcnkiPT09dD8oKGk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSkuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixuKSxpLnR5cGU9ImZpbGUiLGkud2Via2l0ZGlyZWN0b3J5PSEwLGkubW96ZGlyZWN0b3J5PSEwLGkubXNkaXJlY3Rvcnk9ITAsaS5vZGlyZWN0b3J5PSEwLGkuZGlyZWN0b3J5PSEwKTooKGk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSkuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixuKSxpLnR5cGU9ImZpbGUiKTt2YXIgbz1kb2N1bWVudC5jcmVhdGVFdmVudCgiTW91c2VFdmVudHMiKTtvLmluaXRFdmVudCgiY2xpY2siLCEwLCExKSxpLmRpc3BhdGNoRXZlbnQobyl9KX19O2UuZXhwb3J0cz17ZGF0YTpuKCJkYXRhIiksZmlsZTpuKCJmaWxlIiksZGlyZWN0b3J5Om4oImRpcmVjdG9yeSIpfX0se31dLDE3NTpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQoImV0aC1saWIvbGliL2hhc2giKS5rZWNjYWsyNTYsaT10KCJldGgtbGliL2xpYi9ieXRlcyIpLG89ZnVuY3Rpb24odCxlKXt2YXIgcj1pLnJldmVyc2UoaS5wYWQoNixpLmZyb21OdW1iZXIodCkpKSxvPWkuZmxhdHRlbihbciwiMHgwMDAwIixlXSk7cmV0dXJuIG4obykuc2xpY2UoMil9O2UuZXhwb3J0cz1mdW5jdGlvbiB0KGUpeyJzdHJpbmciPT10eXBlb2YgZSYmIjB4IiE9PWUuc2xpY2UoMCwyKT9lPWkuZnJvbVN0cmluZyhlKToic3RyaW5nIiE9dHlwZW9mIGUmJnZvaWQgMCE9PWUubGVuZ3RoJiYoZT1pLmZyb21VaW50OEFycmF5KGUpKTt2YXIgcj1pLmxlbmd0aChlKTtpZihyPD00MDk2KXJldHVybiBvKHIsZSk7Zm9yKHZhciBuPTQwOTY7MTI4Km48cjspbio9MTI4O2Zvcih2YXIgYT1bXSxzPTA7czxyO3MrPW4pe3ZhciB1PW48ci1zP246ci1zO2EucHVzaCh0KGkuc2xpY2UoZSxzLHMrdSkpKX1yZXR1cm4gbyhyLGkuZmxhdHRlbihhKSl9fSx7ImV0aC1saWIvbGliL2J5dGVzIjoxNjQsImV0aC1saWIvbGliL2hhc2giOjE2NX1dLDE3NjpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1mdW5jdGlvbih0KXt2YXIgZT10LmZzcCxyPXQuZmlsZXMsbj10Lm9zLGk9dC5wYXRoLG89dC5jaGlsZF9wcm9jZXNzLGE9dC5taW1ldHlwZSxzPXQuZGVmYXVsdEFyY2hpdmVzLHU9dC5yZXF1ZXN0LGY9dC5kb3dubG9hZFVybCxjPXQuYnl0ZXMsaD10Lmhhc2gsZD10LnBpY2ssbD1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSl7Zm9yKHZhciByPXt9LG49MCxpPXQubGVuZ3RoO248aTsrK24pclt0W25dXT1lW25dO3JldHVybiByfX0scD1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIHQrIi9ienpyOi8iK2V9fSxiPWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gdShwKHQpKGUpLHtyZXNwb25zZVR5cGU6ImFycmF5YnVmZmVyIn0pLnRoZW4oZnVuY3Rpb24odCl7dmFyIGUscj1uZXcgVWludDhBcnJheSh0KTtpZigoZT1yLGZ1bmN0aW9uKHQpe2lmKGUubGVuZ3RoIT09dC5sZW5ndGgpcmV0dXJuITE7dmFyIHI9MDtmb3IoZS5sZW5ndGg7cjxlOysrcilpZihlW3JdIT09dFtyXSlyZXR1cm4hMTtyZXR1cm4hMH0pKFs1Miw0OCw1MiwzMiwxMTIsOTcsMTAzLDEwMSwzMiwxMTAsMTExLDExNiwzMiwxMDIsMTExLDExNywxMTAsMTAwLDEwXSkpdGhyb3ciRXJyb3IgNDA0LiI7cmV0dXJuIHJ9KX19LG09ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbiBlKHIpe3JldHVybiBmdW5jdGlvbihuKXtyZXR1cm4gZnVuY3Rpb24oaSl7dmFyIG89ZnVuY3Rpb24odCl7cmV0dXJuIHZvaWQgMD09PXQucGF0aD9Qcm9taXNlLnJlc29sdmUoKToiYXBwbGljYXRpb24vYnp6LW1hbmlmZXN0K2pzb24iPT09dC5jb250ZW50VHlwZT9lKHQuaGFzaCkobit0LnBhdGgpKGkpOlByb21pc2UucmVzb2x2ZSgobz1uK3QucGF0aCxmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIGVbb109dCxlfX0pKHt0eXBlOihyPXQpLmNvbnRlbnRUeXBlLGhhc2g6ci5oYXNofSkoaSkpO3ZhciByLG99O3JldHVybiBiKHQpKHIpLnRoZW4oZnVuY3Rpb24odCl7cmV0dXJuIEpTT04ucGFyc2UoTih0KSkuZW50cmllc30pLnRoZW4oZnVuY3Rpb24odCl7cmV0dXJuIFByb21pc2UuYWxsKHQubWFwKG8pKX0pLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gaX0pfX19KGUpKCIiKSh7fSl9fSx5PWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gbSh0KShlKS50aGVuKGZ1bmN0aW9uKHQpe3JldHVybiBsKE9iamVjdC5rZXlzKHQpKShPYmplY3Qua2V5cyh0KS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIHRbZV0uaGFzaH0pKX0pfX0sdj1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIG0odCkoZSkudGhlbihmdW5jdGlvbihlKXt2YXIgcj1PYmplY3Qua2V5cyhlKSxuPXIubWFwKGZ1bmN0aW9uKHQpe3JldHVybiBlW3RdLmhhc2h9KSxpPXIubWFwKGZ1bmN0aW9uKHQpe3JldHVybiBlW3RdLnR5cGV9KSxvPW4ubWFwKGIodCkpO3JldHVybiBQcm9taXNlLmFsbChvKS50aGVuKGZ1bmN0aW9uKHQpe3JldHVybiBsKHIpKHQubWFwKGZ1bmN0aW9uKHQsZSl7cmV0dXJue3R5cGU6aVtlXSxkYXRhOnR9fSkpfSl9KX19LGc9ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbihuKXtyZXR1cm4gci5kb3dubG9hZChwKHQpKGUpKShuKX19fSx3PWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24ocil7cmV0dXJuIHkodCkoZSkudGhlbihmdW5jdGlvbihlKXt2YXIgbj1bXTtmb3IodmFyIG8gaW4gZSlpZihvLmxlbmd0aD4wKXt2YXIgYT1pLmpvaW4ocixvKTtuLnB1c2goZyh0KShlW29dKShhKSl9cmV0dXJuIFByb21pc2UuYWxsKG4pLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gcn0pfSl9fX0sXz1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIHUodCsiL2J6enI6LyIse2JvZHk6InN0cmluZyI9PXR5cGVvZiBlP0woZSk6ZSxtZXRob2Q6IlBPU1QifSl9fSxNPWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24ocil7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybiBmdW5jdGlvbiBpKG8pe3ZhciBhPSIvIj09PXJbMF0/cjoiLyIrcixzPXQrIi9ieno6LyIrZSthLGY9e21ldGhvZDoiUFVUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjpuLnR5cGV9LGJvZHk6bi5kYXRhfTtyZXR1cm4gdShzLGYpLnRoZW4oZnVuY3Rpb24odCl7aWYoLTEhPT10LmluZGV4T2YoImVycm9yIikpdGhyb3cgdDtyZXR1cm4gdH0pLmNhdGNoKGZ1bmN0aW9uKHQpe3JldHVybiBvPjAmJmkoby0xKX0pfSgzKX19fX0seD1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIFModCkoeyIiOmV9KX19LGs9ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKHIpe3JldHVybiBlLnJlYWRGaWxlKHIpLnRoZW4oZnVuY3Rpb24oZSl7cmV0dXJuIHgodCkoe3R5cGU6YS5sb29rdXAociksZGF0YTplfSl9KX19LFM9ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBfKHQpKCJ7fSIpLnRoZW4oZnVuY3Rpb24ocil7cmV0dXJuIE9iamVjdC5rZXlzKGUpLnJlZHVjZShmdW5jdGlvbihyLG4pe3JldHVybiByLnRoZW4oKGk9bixmdW5jdGlvbihyKXtyZXR1cm4gTSh0KShyKShpKShlW2ldKX0pKTt2YXIgaX0sUHJvbWlzZS5yZXNvbHZlKHIpKX0pfX0sRT1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24ocil7cmV0dXJuIGUucmVhZEZpbGUocikudGhlbihfKHQpKX19LEE9ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybiBmdW5jdGlvbihpKXtyZXR1cm4gci5kaXJlY3RvcnlUcmVlKGkpLnRoZW4oZnVuY3Rpb24odCl7cmV0dXJuIFByb21pc2UuYWxsKHQubWFwKGZ1bmN0aW9uKHQpe3JldHVybiBlLnJlYWRGaWxlKHQpfSkpLnRoZW4oZnVuY3Rpb24oZSl7dmFyIHI9dC5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIHQuc2xpY2UoaS5sZW5ndGgpfSksbj10Lm1hcChmdW5jdGlvbih0KXtyZXR1cm4gYS5sb29rdXAodCl8fCJ0ZXh0L3BsYWluIn0pO3JldHVybiBsKHIpKGUubWFwKGZ1bmN0aW9uKHQsZSl7cmV0dXJue3R5cGU6bltlXSxkYXRhOnR9fSkpfSl9KS50aGVuKGZ1bmN0aW9uKHQpe3JldHVybihlPW4/eyIiOnRbbl19Ont9LGZ1bmN0aW9uKHQpe3ZhciByPXt9O2Zvcih2YXIgbiBpbiBlKXJbbl09ZVtuXTtmb3IodmFyIGkgaW4gdClyW2ldPXRbaV07cmV0dXJuIHJ9KSh0KTt2YXIgZX0pLnRoZW4oUyh0KSl9fX0saj1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSl7aWYoImRhdGEiPT09ZS5waWNrKXJldHVybiBkLmRhdGEoKS50aGVuKF8odCkpO2lmKCJmaWxlIj09PWUucGljaylyZXR1cm4gZC5maWxlKCkudGhlbih4KHQpKTtpZigiZGlyZWN0b3J5Ij09PWUucGljaylyZXR1cm4gZC5kaXJlY3RvcnkoKS50aGVuKFModCkpO2lmKGUucGF0aClzd2l0Y2goZS5raW5kKXtjYXNlImRhdGEiOnJldHVybiBFKHQpKGUucGF0aCk7Y2FzZSJmaWxlIjpyZXR1cm4gayh0KShlLnBhdGgpO2Nhc2UiZGlyZWN0b3J5IjpyZXR1cm4gQSh0KShlLmRlZmF1bHRGaWxlKShlLnBhdGgpfWVsc2V7aWYoZS5sZW5ndGh8fCJzdHJpbmciPT10eXBlb2YgZSlyZXR1cm4gXyh0KShlKTtpZihlIGluc3RhbmNlb2YgT2JqZWN0KXJldHVybiBTKHQpKGUpfXJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoIkJhZCBhcmd1bWVudHMiKSl9fSxJPWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24ocil7cmV0dXJuIFIodCkoZSkudGhlbihmdW5jdGlvbihuKXtyZXR1cm4gbj9yP3codCkoZSkocik6dih0KShlKTpyP2codCkoZSkocik6Yih0KShlKX0pfX19LEI9ZnVuY3Rpb24odCxlKXt2YXIgaT1uLnBsYXRmb3JtKCkucmVwbGFjZSgid2luMzIiLCJ3aW5kb3dzIikrIi0iKygieDY0Ij09PW4uYXJjaCgpPyJhbWQ2NCI6IjM4NiIpLG89KGV8fHMpW2ldLGE9ZitvLmFyY2hpdmUrIi50YXIuZ3oiLHU9by5hcmNoaXZlTUQ1LGM9by5iaW5hcnlNRDU7cmV0dXJuIHIuc2FmZURvd25sb2FkQXJjaGl2ZWQoYSkodSkoYykodCl9LFQ9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKGUscil7dmFyIG49by5zcGF3bixpPWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4tMSE9PSgiIitlKS5pbmRleE9mKHQpfX0sYT10LmFjY291bnQscz10LnBhc3N3b3JkLHU9dC5kYXRhRGlyLGY9dC5lbnNBcGksYz10LnByaXZhdGVLZXksaD0wLGQ9bih0LmJpblBhdGgsWyItLWJ6emFjY291bnQiLGF8fGMsIi0tZGF0YWRpciIsdSwiLS1lbnMtYXBpIixmXSksbD1mdW5jdGlvbih0KXswPT09aCYmaSgiUGFzc3BocmFzZSIpKHQpP3NldFRpbWVvdXQoZnVuY3Rpb24oKXtoPTEsZC5zdGRpbi53cml0ZShzKyJcbiIpfSw1MDApOmkoIlN3YXJtIGh0dHAgcHJveHkgc3RhcnRlZCIpKHQpJiYoaD0yLGNsZWFyVGltZW91dChwKSxlKGQpKX07ZC5zdGRvdXQub24oImRhdGEiLGwpLGQuc3RkZXJyLm9uKCJkYXRhIixsKTt2YXIgcD1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7cmV0dXJuIHIobmV3IEVycm9yKCJDb3VsZG4ndCBzdGFydCBzd2FybSBwcm9jZXNzLiIpKX0sMmU0KX0pfSxDPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihlLHIpe3Quc3RkZXJyLnJlbW92ZUFsbExpc3RlbmVycygiZGF0YSIpLHQuc3Rkb3V0LnJlbW92ZUFsbExpc3RlbmVycygiZGF0YSIpLHQuc3RkaW4ucmVtb3ZlQWxsTGlzdGVuZXJzKCJlcnJvciIpLHQucmVtb3ZlQWxsTGlzdGVuZXJzKCJlcnJvciIpLHQucmVtb3ZlQWxsTGlzdGVuZXJzKCJleGl0IiksdC5raWxsKCJTSUdJTlQiKTt2YXIgbj1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7cmV0dXJuIHQua2lsbCgiU0lHS0lMTCIpfSw4ZTMpO3Qub25jZSgiY2xvc2UiLGZ1bmN0aW9uKCl7Y2xlYXJUaW1lb3V0KG4pLGUoKX0pfSl9LFA9ZnVuY3Rpb24odCl7cmV0dXJuIF8odCkoInRlc3QiKS50aGVuKGZ1bmN0aW9uKHQpe3JldHVybiJjOWE5OWM3ZDMyNmRjYzYzMTZmMzJmZTI2MjViMzExZjZkYzQ5YTE3NWU2ODc3NjgxZGVkOTMxMzdkMzU2OWU3Ij09PXR9KS5jYXRjaChmdW5jdGlvbigpe3JldHVybiExfSl9LFI9ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBiKHQpKGUpLnRoZW4oZnVuY3Rpb24odCl7dHJ5e3JldHVybiEhSlNPTi5wYXJzZShOKHQpKS5lbnRyaWVzfWNhdGNoKHQpe3JldHVybiExfX0pfX0sTz1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSxyLG4saSxvKXt2YXIgYTtyZXR1cm4gdm9pZCAwIT09ZSYmKGE9dChlKSksdm9pZCAwIT09ciYmKGE9dChyKSksdm9pZCAwIT09biYmKGE9dChuKSksdm9pZCAwIT09aSYmKGE9dChpKSksdm9pZCAwIT09byYmKGE9dChvKSksYX19LE49ZnVuY3Rpb24odCl7cmV0dXJuIGMudG9TdHJpbmcoYy5mcm9tVWludDhBcnJheSh0KSl9LEw9ZnVuY3Rpb24odCl7cmV0dXJuIGMudG9VaW50OEFycmF5KGMuZnJvbVN0cmluZyh0KSl9LEY9ZnVuY3Rpb24odCl7cmV0dXJue2Rvd25sb2FkOmZ1bmN0aW9uKGUscil7cmV0dXJuIEkodCkoZSkocil9LGRvd25sb2FkRGF0YTpPKGIodCkpLGRvd25sb2FkRGF0YVRvRGlzazpPKGcodCkpLGRvd25sb2FkRGlyZWN0b3J5Ok8odih0KSksZG93bmxvYWREaXJlY3RvcnlUb0Rpc2s6Tyh3KHQpKSxkb3dubG9hZEVudHJpZXM6TyhtKHQpKSxkb3dubG9hZFJvdXRlczpPKHkodCkpLGlzQXZhaWxhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIFAodCl9LHVwbG9hZDpmdW5jdGlvbihlKXtyZXR1cm4gaih0KShlKX0sdXBsb2FkRGF0YTpPKF8odCkpLHVwbG9hZEZpbGU6Tyh4KHQpKSx1cGxvYWRGaWxlRnJvbURpc2s6Tyh4KHQpKSx1cGxvYWREYXRhRnJvbURpc2s6TyhFKHQpKSx1cGxvYWREaXJlY3Rvcnk6TyhTKHQpKSx1cGxvYWREaXJlY3RvcnlGcm9tRGlzazpPKEEodCkpLHVwbG9hZFRvTWFuaWZlc3Q6TyhNKHQpKSxwaWNrOmQsaGFzaDpoLGZyb21TdHJpbmc6TCx0b1N0cmluZzpOfX07cmV0dXJue2F0OkYsbG9jYWw6ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBQKCJodHRwOi8vbG9jYWxob3N0Ojg1MDAiKS50aGVuKGZ1bmN0aW9uKHIpe3JldHVybiByP2UoRigiaHR0cDovL2xvY2FsaG9zdDo4NTAwIikpLnRoZW4oZnVuY3Rpb24oKXt9KTpCKHQuYmluUGF0aCx0LmFyY2hpdmVzKS5vbkRhdGEoZnVuY3Rpb24oZSl7cmV0dXJuKHQub25Qcm9ncmVzc3x8ZnVuY3Rpb24oKXt9KShlLmxlbmd0aCl9KS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIFQodCl9KS50aGVuKGZ1bmN0aW9uKHQpe3JldHVybiBlKEYoImh0dHA6Ly9sb2NhbGhvc3Q6ODUwMCIpKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIHR9KX0pLnRoZW4oQyl9KX19LGRvd25sb2FkOkksZG93bmxvYWRCaW5hcnk6Qixkb3dubG9hZERhdGE6Yixkb3dubG9hZERhdGFUb0Rpc2s6Zyxkb3dubG9hZERpcmVjdG9yeTp2LGRvd25sb2FkRGlyZWN0b3J5VG9EaXNrOncsZG93bmxvYWRFbnRyaWVzOm0sZG93bmxvYWRSb3V0ZXM6eSxpc0F2YWlsYWJsZTpQLHN0YXJ0UHJvY2VzczpULHN0b3BQcm9jZXNzOkMsdXBsb2FkOmosdXBsb2FkRGF0YTpfLHVwbG9hZERhdGFGcm9tRGlzazpFLHVwbG9hZEZpbGU6eCx1cGxvYWRGaWxlRnJvbURpc2s6ayx1cGxvYWREaXJlY3Rvcnk6Uyx1cGxvYWREaXJlY3RvcnlGcm9tRGlzazpBLHVwbG9hZFRvTWFuaWZlc3Q6TSxwaWNrOmQsaGFzaDpoLGZyb21TdHJpbmc6TCx0b1N0cmluZzpOfX19LHt9XSwxNzc6W2Z1bmN0aW9uKHQsZSxyKXsocj1lLmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIHQucmVwbGFjZSgvXlxzKnxccyokL2csIiIpfSkubGVmdD1mdW5jdGlvbih0KXtyZXR1cm4gdC5yZXBsYWNlKC9eXHMqLywiIil9LHIucmlnaHQ9ZnVuY3Rpb24odCl7cmV0dXJuIHQucmVwbGFjZSgvXHMqJC8sIiIpfX0se31dLDE3ODpbZnVuY3Rpb24odCxlLHIpeyhmdW5jdGlvbigpe3ZhciB0PXRoaXMsbj10Ll8saT1BcnJheS5wcm90b3R5cGUsbz1PYmplY3QucHJvdG90eXBlLGE9RnVuY3Rpb24ucHJvdG90eXBlLHM9aS5wdXNoLHU9aS5zbGljZSxmPW8udG9TdHJpbmcsYz1vLmhhc093blByb3BlcnR5LGg9QXJyYXkuaXNBcnJheSxkPU9iamVjdC5rZXlzLGw9YS5iaW5kLHA9T2JqZWN0LmNyZWF0ZSxiPWZ1bmN0aW9uKCl7fSxtPWZ1bmN0aW9uIHQoZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiB0P2U6dGhpcyBpbnN0YW5jZW9mIHQ/dm9pZCh0aGlzLl93cmFwcGVkPWUpOm5ldyB0KGUpfTt2b2lkIDAhPT1yPyh2b2lkIDAhPT1lJiZlLmV4cG9ydHMmJihyPWUuZXhwb3J0cz1tKSxyLl89bSk6dC5fPW0sbS5WRVJTSU9OPSIxLjguMyI7dmFyIHk9ZnVuY3Rpb24odCxlLHIpe2lmKHZvaWQgMD09PWUpcmV0dXJuIHQ7c3dpdGNoKG51bGw9PXI/MzpyKXtjYXNlIDE6cmV0dXJuIGZ1bmN0aW9uKHIpe3JldHVybiB0LmNhbGwoZSxyKX07Y2FzZSAyOnJldHVybiBmdW5jdGlvbihyLG4pe3JldHVybiB0LmNhbGwoZSxyLG4pfTtjYXNlIDM6cmV0dXJuIGZ1bmN0aW9uKHIsbixpKXtyZXR1cm4gdC5jYWxsKGUscixuLGkpfTtjYXNlIDQ6cmV0dXJuIGZ1bmN0aW9uKHIsbixpLG8pe3JldHVybiB0LmNhbGwoZSxyLG4saSxvKX19cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHQuYXBwbHkoZSxhcmd1bWVudHMpfX0sdj1mdW5jdGlvbih0LGUscil7cmV0dXJuIG51bGw9PXQ/bS5pZGVudGl0eTptLmlzRnVuY3Rpb24odCk/eSh0LGUscik6bS5pc09iamVjdCh0KT9tLm1hdGNoZXIodCk6bS5wcm9wZXJ0eSh0KX07bS5pdGVyYXRlZT1mdW5jdGlvbih0LGUpe3JldHVybiB2KHQsZSwxLzApfTt2YXIgZz1mdW5jdGlvbih0LGUpe3JldHVybiBmdW5jdGlvbihyKXt2YXIgbj1hcmd1bWVudHMubGVuZ3RoO2lmKG48Mnx8bnVsbD09cilyZXR1cm4gcjtmb3IodmFyIGk9MTtpPG47aSsrKWZvcih2YXIgbz1hcmd1bWVudHNbaV0sYT10KG8pLHM9YS5sZW5ndGgsdT0wO3U8czt1Kyspe3ZhciBmPWFbdV07ZSYmdm9pZCAwIT09cltmXXx8KHJbZl09b1tmXSl9cmV0dXJuIHJ9fSx3PWZ1bmN0aW9uKHQpe2lmKCFtLmlzT2JqZWN0KHQpKXJldHVybnt9O2lmKHApcmV0dXJuIHAodCk7Yi5wcm90b3R5cGU9dDt2YXIgZT1uZXcgYjtyZXR1cm4gYi5wcm90b3R5cGU9bnVsbCxlfSxfPWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09ZT92b2lkIDA6ZVt0XX19LE09TWF0aC5wb3coMiw1MyktMSx4PV8oImxlbmd0aCIpLGs9ZnVuY3Rpb24odCl7dmFyIGU9eCh0KTtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIGUmJmU+PTAmJmU8PU19O2Z1bmN0aW9uIFModCl7cmV0dXJuIGZ1bmN0aW9uKGUscixuLGkpe3I9eShyLGksNCk7dmFyIG89IWsoZSkmJm0ua2V5cyhlKSxhPShvfHxlKS5sZW5ndGgscz10PjA/MDphLTE7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg8MyYmKG49ZVtvP29bc106c10scys9dCksZnVuY3Rpb24oZSxyLG4saSxvLGEpe2Zvcig7bz49MCYmbzxhO28rPXQpe3ZhciBzPWk/aVtvXTpvO249cihuLGVbc10scyxlKX1yZXR1cm4gbn0oZSxyLG4sbyxzLGEpfX1tLmVhY2g9bS5mb3JFYWNoPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbixpO2lmKGU9eShlLHIpLGsodCkpZm9yKG49MCxpPXQubGVuZ3RoO248aTtuKyspZSh0W25dLG4sdCk7ZWxzZXt2YXIgbz1tLmtleXModCk7Zm9yKG49MCxpPW8ubGVuZ3RoO248aTtuKyspZSh0W29bbl1dLG9bbl0sdCl9cmV0dXJuIHR9LG0ubWFwPW0uY29sbGVjdD1mdW5jdGlvbih0LGUscil7ZT12KGUscik7Zm9yKHZhciBuPSFrKHQpJiZtLmtleXModCksaT0obnx8dCkubGVuZ3RoLG89QXJyYXkoaSksYT0wO2E8aTthKyspe3ZhciBzPW4/blthXTphO29bYV09ZSh0W3NdLHMsdCl9cmV0dXJuIG99LG0ucmVkdWNlPW0uZm9sZGw9bS5pbmplY3Q9UygxKSxtLnJlZHVjZVJpZ2h0PW0uZm9sZHI9UygtMSksbS5maW5kPW0uZGV0ZWN0PWZ1bmN0aW9uKHQsZSxyKXt2YXIgbjtpZih2b2lkIDAhPT0obj1rKHQpP20uZmluZEluZGV4KHQsZSxyKTptLmZpbmRLZXkodCxlLHIpKSYmLTEhPT1uKXJldHVybiB0W25dfSxtLmZpbHRlcj1tLnNlbGVjdD1mdW5jdGlvbih0LGUscil7dmFyIG49W107cmV0dXJuIGU9dihlLHIpLG0uZWFjaCh0LGZ1bmN0aW9uKHQscixpKXtlKHQscixpKSYmbi5wdXNoKHQpfSksbn0sbS5yZWplY3Q9ZnVuY3Rpb24odCxlLHIpe3JldHVybiBtLmZpbHRlcih0LG0ubmVnYXRlKHYoZSkpLHIpfSxtLmV2ZXJ5PW0uYWxsPWZ1bmN0aW9uKHQsZSxyKXtlPXYoZSxyKTtmb3IodmFyIG49IWsodCkmJm0ua2V5cyh0KSxpPShufHx0KS5sZW5ndGgsbz0wO288aTtvKyspe3ZhciBhPW4/bltvXTpvO2lmKCFlKHRbYV0sYSx0KSlyZXR1cm4hMX1yZXR1cm4hMH0sbS5zb21lPW0uYW55PWZ1bmN0aW9uKHQsZSxyKXtlPXYoZSxyKTtmb3IodmFyIG49IWsodCkmJm0ua2V5cyh0KSxpPShufHx0KS5sZW5ndGgsbz0wO288aTtvKyspe3ZhciBhPW4/bltvXTpvO2lmKGUodFthXSxhLHQpKXJldHVybiEwfXJldHVybiExfSxtLmNvbnRhaW5zPW0uaW5jbHVkZXM9bS5pbmNsdWRlPWZ1bmN0aW9uKHQsZSxyLG4pe3JldHVybiBrKHQpfHwodD1tLnZhbHVlcyh0KSksKCJudW1iZXIiIT10eXBlb2Ygcnx8bikmJihyPTApLG0uaW5kZXhPZih0LGUscik+PTB9LG0uaW52b2tlPWZ1bmN0aW9uKHQsZSl7dmFyIHI9dS5jYWxsKGFyZ3VtZW50cywyKSxuPW0uaXNGdW5jdGlvbihlKTtyZXR1cm4gbS5tYXAodCxmdW5jdGlvbih0KXt2YXIgaT1uP2U6dFtlXTtyZXR1cm4gbnVsbD09aT9pOmkuYXBwbHkodCxyKX0pfSxtLnBsdWNrPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIG0ubWFwKHQsbS5wcm9wZXJ0eShlKSl9LG0ud2hlcmU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gbS5maWx0ZXIodCxtLm1hdGNoZXIoZSkpfSxtLmZpbmRXaGVyZT1mdW5jdGlvbih0LGUpe3JldHVybiBtLmZpbmQodCxtLm1hdGNoZXIoZSkpfSxtLm1heD1mdW5jdGlvbih0LGUscil7dmFyIG4saSxvPS0xLzAsYT0tMS8wO2lmKG51bGw9PWUmJm51bGwhPXQpZm9yKHZhciBzPTAsdT0odD1rKHQpP3Q6bS52YWx1ZXModCkpLmxlbmd0aDtzPHU7cysrKShuPXRbc10pPm8mJihvPW4pO2Vsc2UgZT12KGUsciksbS5lYWNoKHQsZnVuY3Rpb24odCxyLG4peygoaT1lKHQscixuKSk+YXx8aT09PS0xLzAmJm89PT0tMS8wKSYmKG89dCxhPWkpfSk7cmV0dXJuIG99LG0ubWluPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbixpLG89MS8wLGE9MS8wO2lmKG51bGw9PWUmJm51bGwhPXQpZm9yKHZhciBzPTAsdT0odD1rKHQpP3Q6bS52YWx1ZXModCkpLmxlbmd0aDtzPHU7cysrKShuPXRbc10pPG8mJihvPW4pO2Vsc2UgZT12KGUsciksbS5lYWNoKHQsZnVuY3Rpb24odCxyLG4peygoaT1lKHQscixuKSk8YXx8aT09PTEvMCYmbz09PTEvMCkmJihvPXQsYT1pKX0pO3JldHVybiBvfSxtLnNodWZmbGU9ZnVuY3Rpb24odCl7Zm9yKHZhciBlLHI9ayh0KT90Om0udmFsdWVzKHQpLG49ci5sZW5ndGgsaT1BcnJheShuKSxvPTA7bzxuO28rKykoZT1tLnJhbmRvbSgwLG8pKSE9PW8mJihpW29dPWlbZV0pLGlbZV09cltvXTtyZXR1cm4gaX0sbS5zYW1wbGU9ZnVuY3Rpb24odCxlLHIpe3JldHVybiBudWxsPT1lfHxyPyhrKHQpfHwodD1tLnZhbHVlcyh0KSksdFttLnJhbmRvbSh0Lmxlbmd0aC0xKV0pOm0uc2h1ZmZsZSh0KS5zbGljZSgwLE1hdGgubWF4KDAsZSkpfSxtLnNvcnRCeT1mdW5jdGlvbih0LGUscil7cmV0dXJuIGU9dihlLHIpLG0ucGx1Y2sobS5tYXAodCxmdW5jdGlvbih0LHIsbil7cmV0dXJue3ZhbHVlOnQsaW5kZXg6cixjcml0ZXJpYTplKHQscixuKX19KS5zb3J0KGZ1bmN0aW9uKHQsZSl7dmFyIHI9dC5jcml0ZXJpYSxuPWUuY3JpdGVyaWE7aWYociE9PW4pe2lmKHI+bnx8dm9pZCAwPT09cilyZXR1cm4gMTtpZihyPG58fHZvaWQgMD09PW4pcmV0dXJuLTF9cmV0dXJuIHQuaW5kZXgtZS5pbmRleH0pLCJ2YWx1ZSIpfTt2YXIgRT1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSxyLG4pe3ZhciBpPXt9O3JldHVybiByPXYocixuKSxtLmVhY2goZSxmdW5jdGlvbihuLG8pe3ZhciBhPXIobixvLGUpO3QoaSxuLGEpfSksaX19O20uZ3JvdXBCeT1FKGZ1bmN0aW9uKHQsZSxyKXttLmhhcyh0LHIpP3Rbcl0ucHVzaChlKTp0W3JdPVtlXX0pLG0uaW5kZXhCeT1FKGZ1bmN0aW9uKHQsZSxyKXt0W3JdPWV9KSxtLmNvdW50Qnk9RShmdW5jdGlvbih0LGUscil7bS5oYXModCxyKT90W3JdKys6dFtyXT0xfSksbS50b0FycmF5PWZ1bmN0aW9uKHQpe3JldHVybiB0P20uaXNBcnJheSh0KT91LmNhbGwodCk6ayh0KT9tLm1hcCh0LG0uaWRlbnRpdHkpOm0udmFsdWVzKHQpOltdfSxtLnNpemU9ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXQ/MDprKHQpP3QubGVuZ3RoOm0ua2V5cyh0KS5sZW5ndGh9LG0ucGFydGl0aW9uPWZ1bmN0aW9uKHQsZSxyKXtlPXYoZSxyKTt2YXIgbj1bXSxpPVtdO3JldHVybiBtLmVhY2godCxmdW5jdGlvbih0LHIsbyl7KGUodCxyLG8pP246aSkucHVzaCh0KX0pLFtuLGldfSxtLmZpcnN0PW0uaGVhZD1tLnRha2U9ZnVuY3Rpb24odCxlLHIpe2lmKG51bGwhPXQpcmV0dXJuIG51bGw9PWV8fHI/dFswXTptLmluaXRpYWwodCx0Lmxlbmd0aC1lKX0sbS5pbml0aWFsPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gdS5jYWxsKHQsMCxNYXRoLm1heCgwLHQubGVuZ3RoLShudWxsPT1lfHxyPzE6ZSkpKX0sbS5sYXN0PWZ1bmN0aW9uKHQsZSxyKXtpZihudWxsIT10KXJldHVybiBudWxsPT1lfHxyP3RbdC5sZW5ndGgtMV06bS5yZXN0KHQsTWF0aC5tYXgoMCx0Lmxlbmd0aC1lKSl9LG0ucmVzdD1tLnRhaWw9bS5kcm9wPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gdS5jYWxsKHQsbnVsbD09ZXx8cj8xOmUpfSxtLmNvbXBhY3Q9ZnVuY3Rpb24odCl7cmV0dXJuIG0uZmlsdGVyKHQsbS5pZGVudGl0eSl9O3ZhciBBPWZ1bmN0aW9uIHQoZSxyLG4saSl7Zm9yKHZhciBvPVtdLGE9MCxzPWl8fDAsdT14KGUpO3M8dTtzKyspe3ZhciBmPWVbc107aWYoayhmKSYmKG0uaXNBcnJheShmKXx8bS5pc0FyZ3VtZW50cyhmKSkpe3J8fChmPXQoZixyLG4pKTt2YXIgYz0wLGg9Zi5sZW5ndGg7Zm9yKG8ubGVuZ3RoKz1oO2M8aDspb1thKytdPWZbYysrXX1lbHNlIG58fChvW2ErK109Zil9cmV0dXJuIG99O2Z1bmN0aW9uIGoodCl7cmV0dXJuIGZ1bmN0aW9uKGUscixuKXtyPXYocixuKTtmb3IodmFyIGk9eChlKSxvPXQ+MD8wOmktMTtvPj0wJiZvPGk7bys9dClpZihyKGVbb10sbyxlKSlyZXR1cm4gbztyZXR1cm4tMX19ZnVuY3Rpb24gSSh0LGUscil7cmV0dXJuIGZ1bmN0aW9uKG4saSxvKXt2YXIgYT0wLHM9eChuKTtpZigibnVtYmVyIj09dHlwZW9mIG8pdD4wP2E9bz49MD9vOk1hdGgubWF4KG8rcyxhKTpzPW8+PTA/TWF0aC5taW4obysxLHMpOm8rcysxO2Vsc2UgaWYociYmbyYmcylyZXR1cm4gbltvPXIobixpKV09PT1pP286LTE7aWYoaSE9aSlyZXR1cm4obz1lKHUuY2FsbChuLGEscyksbS5pc05hTikpPj0wP28rYTotMTtmb3Iobz10PjA/YTpzLTE7bz49MCYmbzxzO28rPXQpaWYobltvXT09PWkpcmV0dXJuIG87cmV0dXJuLTF9fW0uZmxhdHRlbj1mdW5jdGlvbih0LGUpe3JldHVybiBBKHQsZSwhMSl9LG0ud2l0aG91dD1mdW5jdGlvbih0KXtyZXR1cm4gbS5kaWZmZXJlbmNlKHQsdS5jYWxsKGFyZ3VtZW50cywxKSl9LG0udW5pcT1tLnVuaXF1ZT1mdW5jdGlvbih0LGUscixuKXttLmlzQm9vbGVhbihlKXx8KG49cixyPWUsZT0hMSksbnVsbCE9ciYmKHI9dihyLG4pKTtmb3IodmFyIGk9W10sbz1bXSxhPTAscz14KHQpO2E8czthKyspe3ZhciB1PXRbYV0sZj1yP3IodSxhLHQpOnU7ZT8oYSYmbz09PWZ8fGkucHVzaCh1KSxvPWYpOnI/bS5jb250YWlucyhvLGYpfHwoby5wdXNoKGYpLGkucHVzaCh1KSk6bS5jb250YWlucyhpLHUpfHxpLnB1c2godSl9cmV0dXJuIGl9LG0udW5pb249ZnVuY3Rpb24oKXtyZXR1cm4gbS51bmlxKEEoYXJndW1lbnRzLCEwLCEwKSl9LG0uaW50ZXJzZWN0aW9uPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1bXSxyPWFyZ3VtZW50cy5sZW5ndGgsbj0wLGk9eCh0KTtuPGk7bisrKXt2YXIgbz10W25dO2lmKCFtLmNvbnRhaW5zKGUsbykpe2Zvcih2YXIgYT0xO2E8ciYmbS5jb250YWlucyhhcmd1bWVudHNbYV0sbyk7YSsrKTthPT09ciYmZS5wdXNoKG8pfX1yZXR1cm4gZX0sbS5kaWZmZXJlbmNlPWZ1bmN0aW9uKHQpe3ZhciBlPUEoYXJndW1lbnRzLCEwLCEwLDEpO3JldHVybiBtLmZpbHRlcih0LGZ1bmN0aW9uKHQpe3JldHVybiFtLmNvbnRhaW5zKGUsdCl9KX0sbS56aXA9ZnVuY3Rpb24oKXtyZXR1cm4gbS51bnppcChhcmd1bWVudHMpfSxtLnVuemlwPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10JiZtLm1heCh0LHgpLmxlbmd0aHx8MCxyPUFycmF5KGUpLG49MDtuPGU7bisrKXJbbl09bS5wbHVjayh0LG4pO3JldHVybiByfSxtLm9iamVjdD1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj17fSxuPTAsaT14KHQpO248aTtuKyspZT9yW3Rbbl1dPWVbbl06clt0W25dWzBdXT10W25dWzFdO3JldHVybiByfSxtLmZpbmRJbmRleD1qKDEpLG0uZmluZExhc3RJbmRleD1qKC0xKSxtLnNvcnRlZEluZGV4PWZ1bmN0aW9uKHQsZSxyLG4pe2Zvcih2YXIgaT0ocj12KHIsbiwxKSkoZSksbz0wLGE9eCh0KTtvPGE7KXt2YXIgcz1NYXRoLmZsb29yKChvK2EpLzIpO3IodFtzXSk8aT9vPXMrMTphPXN9cmV0dXJuIG99LG0uaW5kZXhPZj1JKDEsbS5maW5kSW5kZXgsbS5zb3J0ZWRJbmRleCksbS5sYXN0SW5kZXhPZj1JKC0xLG0uZmluZExhc3RJbmRleCksbS5yYW5nZT1mdW5jdGlvbih0LGUscil7bnVsbD09ZSYmKGU9dHx8MCx0PTApLHI9cnx8MTtmb3IodmFyIG49TWF0aC5tYXgoTWF0aC5jZWlsKChlLXQpL3IpLDApLGk9QXJyYXkobiksbz0wO288bjtvKyssdCs9cilpW29dPXQ7cmV0dXJuIGl9O3ZhciBCPWZ1bmN0aW9uKHQsZSxyLG4saSl7aWYoIShuIGluc3RhbmNlb2YgZSkpcmV0dXJuIHQuYXBwbHkocixpKTt2YXIgbz13KHQucHJvdG90eXBlKSxhPXQuYXBwbHkobyxpKTtyZXR1cm4gbS5pc09iamVjdChhKT9hOm99O20uYmluZD1mdW5jdGlvbih0LGUpe2lmKGwmJnQuYmluZD09PWwpcmV0dXJuIGwuYXBwbHkodCx1LmNhbGwoYXJndW1lbnRzLDEpKTtpZighbS5pc0Z1bmN0aW9uKHQpKXRocm93IG5ldyBUeXBlRXJyb3IoIkJpbmQgbXVzdCBiZSBjYWxsZWQgb24gYSBmdW5jdGlvbiIpO3ZhciByPXUuY2FsbChhcmd1bWVudHMsMik7cmV0dXJuIGZ1bmN0aW9uIG4oKXtyZXR1cm4gQih0LG4sZSx0aGlzLHIuY29uY2F0KHUuY2FsbChhcmd1bWVudHMpKSl9fSxtLnBhcnRpYWw9ZnVuY3Rpb24odCl7dmFyIGU9dS5jYWxsKGFyZ3VtZW50cywxKTtyZXR1cm4gZnVuY3Rpb24gcigpe2Zvcih2YXIgbj0wLGk9ZS5sZW5ndGgsbz1BcnJheShpKSxhPTA7YTxpO2ErKylvW2FdPWVbYV09PT1tP2FyZ3VtZW50c1tuKytdOmVbYV07Zm9yKDtuPGFyZ3VtZW50cy5sZW5ndGg7KW8ucHVzaChhcmd1bWVudHNbbisrXSk7cmV0dXJuIEIodCxyLHRoaXMsdGhpcyxvKX19LG0uYmluZEFsbD1mdW5jdGlvbih0KXt2YXIgZSxyLG49YXJndW1lbnRzLmxlbmd0aDtpZihuPD0xKXRocm93IG5ldyBFcnJvcigiYmluZEFsbCBtdXN0IGJlIHBhc3NlZCBmdW5jdGlvbiBuYW1lcyIpO2ZvcihlPTE7ZTxuO2UrKyl0W3I9YXJndW1lbnRzW2VdXT1tLmJpbmQodFtyXSx0KTtyZXR1cm4gdH0sbS5tZW1vaXplPWZ1bmN0aW9uKHQsZSl7dmFyIHI9ZnVuY3Rpb24gcihuKXt2YXIgaT1yLmNhY2hlLG89IiIrKGU/ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk6bik7cmV0dXJuIG0uaGFzKGksbyl8fChpW29dPXQuYXBwbHkodGhpcyxhcmd1bWVudHMpKSxpW29dfTtyZXR1cm4gci5jYWNoZT17fSxyfSxtLmRlbGF5PWZ1bmN0aW9uKHQsZSl7dmFyIHI9dS5jYWxsKGFyZ3VtZW50cywyKTtyZXR1cm4gc2V0VGltZW91dChmdW5jdGlvbigpe3JldHVybiB0LmFwcGx5KG51bGwscil9LGUpfSxtLmRlZmVyPW0ucGFydGlhbChtLmRlbGF5LG0sMSksbS50aHJvdHRsZT1mdW5jdGlvbih0LGUscil7dmFyIG4saSxvLGE9bnVsbCxzPTA7cnx8KHI9e30pO3ZhciB1PWZ1bmN0aW9uKCl7cz0hMT09PXIubGVhZGluZz8wOm0ubm93KCksYT1udWxsLG89dC5hcHBseShuLGkpLGF8fChuPWk9bnVsbCl9O3JldHVybiBmdW5jdGlvbigpe3ZhciBmPW0ubm93KCk7c3x8ITEhPT1yLmxlYWRpbmd8fChzPWYpO3ZhciBjPWUtKGYtcyk7cmV0dXJuIG49dGhpcyxpPWFyZ3VtZW50cyxjPD0wfHxjPmU/KGEmJihjbGVhclRpbWVvdXQoYSksYT1udWxsKSxzPWYsbz10LmFwcGx5KG4saSksYXx8KG49aT1udWxsKSk6YXx8ITE9PT1yLnRyYWlsaW5nfHwoYT1zZXRUaW1lb3V0KHUsYykpLG99fSxtLmRlYm91bmNlPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbixpLG8sYSxzLHU9ZnVuY3Rpb24gdSgpe3ZhciBmPW0ubm93KCktYTtmPGUmJmY+PTA/bj1zZXRUaW1lb3V0KHUsZS1mKToobj1udWxsLHJ8fChzPXQuYXBwbHkobyxpKSxufHwobz1pPW51bGwpKSl9O3JldHVybiBmdW5jdGlvbigpe289dGhpcyxpPWFyZ3VtZW50cyxhPW0ubm93KCk7dmFyIGY9ciYmIW47cmV0dXJuIG58fChuPXNldFRpbWVvdXQodSxlKSksZiYmKHM9dC5hcHBseShvLGkpLG89aT1udWxsKSxzfX0sbS53cmFwPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIG0ucGFydGlhbChlLHQpfSxtLm5lZ2F0ZT1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4hdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSxtLmNvbXBvc2U9ZnVuY3Rpb24oKXt2YXIgdD1hcmd1bWVudHMsZT10Lmxlbmd0aC0xO3JldHVybiBmdW5jdGlvbigpe2Zvcih2YXIgcj1lLG49dFtlXS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7ci0tOyluPXRbcl0uY2FsbCh0aGlzLG4pO3JldHVybiBufX0sbS5hZnRlcj1mdW5jdGlvbih0LGUpe3JldHVybiBmdW5jdGlvbigpe2lmKC0tdDwxKXJldHVybiBlLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19LG0uYmVmb3JlPWZ1bmN0aW9uKHQsZSl7dmFyIHI7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuLS10PjAmJihyPWUuYXBwbHkodGhpcyxhcmd1bWVudHMpKSx0PD0xJiYoZT1udWxsKSxyfX0sbS5vbmNlPW0ucGFydGlhbChtLmJlZm9yZSwyKTt2YXIgVD0he3RvU3RyaW5nOm51bGx9LnByb3BlcnR5SXNFbnVtZXJhYmxlKCJ0b1N0cmluZyIpLEM9WyJ2YWx1ZU9mIiwiaXNQcm90b3R5cGVPZiIsInRvU3RyaW5nIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJoYXNPd25Qcm9wZXJ0eSIsInRvTG9jYWxlU3RyaW5nIl07ZnVuY3Rpb24gUCh0LGUpe3ZhciByPUMubGVuZ3RoLG49dC5jb25zdHJ1Y3RvcixpPW0uaXNGdW5jdGlvbihuKSYmbi5wcm90b3R5cGV8fG8sYT0iY29uc3RydWN0b3IiO2ZvcihtLmhhcyh0LGEpJiYhbS5jb250YWlucyhlLGEpJiZlLnB1c2goYSk7ci0tOykoYT1DW3JdKWluIHQmJnRbYV0hPT1pW2FdJiYhbS5jb250YWlucyhlLGEpJiZlLnB1c2goYSl9bS5rZXlzPWZ1bmN0aW9uKHQpe2lmKCFtLmlzT2JqZWN0KHQpKXJldHVybltdO2lmKGQpcmV0dXJuIGQodCk7dmFyIGU9W107Zm9yKHZhciByIGluIHQpbS5oYXModCxyKSYmZS5wdXNoKHIpO3JldHVybiBUJiZQKHQsZSksZX0sbS5hbGxLZXlzPWZ1bmN0aW9uKHQpe2lmKCFtLmlzT2JqZWN0KHQpKXJldHVybltdO3ZhciBlPVtdO2Zvcih2YXIgciBpbiB0KWUucHVzaChyKTtyZXR1cm4gVCYmUCh0LGUpLGV9LG0udmFsdWVzPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1tLmtleXModCkscj1lLmxlbmd0aCxuPUFycmF5KHIpLGk9MDtpPHI7aSsrKW5baV09dFtlW2ldXTtyZXR1cm4gbn0sbS5tYXBPYmplY3Q9ZnVuY3Rpb24odCxlLHIpe2U9dihlLHIpO2Zvcih2YXIgbixpPW0ua2V5cyh0KSxvPWkubGVuZ3RoLGE9e30scz0wO3M8bztzKyspYVtuPWlbc11dPWUodFtuXSxuLHQpO3JldHVybiBhfSxtLnBhaXJzPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1tLmtleXModCkscj1lLmxlbmd0aCxuPUFycmF5KHIpLGk9MDtpPHI7aSsrKW5baV09W2VbaV0sdFtlW2ldXV07cmV0dXJuIG59LG0uaW52ZXJ0PWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT17fSxyPW0ua2V5cyh0KSxuPTAsaT1yLmxlbmd0aDtuPGk7bisrKWVbdFtyW25dXV09cltuXTtyZXR1cm4gZX0sbS5mdW5jdGlvbnM9bS5tZXRob2RzPWZ1bmN0aW9uKHQpe3ZhciBlPVtdO2Zvcih2YXIgciBpbiB0KW0uaXNGdW5jdGlvbih0W3JdKSYmZS5wdXNoKHIpO3JldHVybiBlLnNvcnQoKX0sbS5leHRlbmQ9ZyhtLmFsbEtleXMpLG0uZXh0ZW5kT3duPW0uYXNzaWduPWcobS5rZXlzKSxtLmZpbmRLZXk9ZnVuY3Rpb24odCxlLHIpe2U9dihlLHIpO2Zvcih2YXIgbixpPW0ua2V5cyh0KSxvPTAsYT1pLmxlbmd0aDtvPGE7bysrKWlmKGUodFtuPWlbb11dLG4sdCkpcmV0dXJuIG59LG0ucGljaz1mdW5jdGlvbih0LGUscil7dmFyIG4saSxvPXt9LGE9dDtpZihudWxsPT1hKXJldHVybiBvO20uaXNGdW5jdGlvbihlKT8oaT1tLmFsbEtleXMoYSksbj15KGUscikpOihpPUEoYXJndW1lbnRzLCExLCExLDEpLG49ZnVuY3Rpb24odCxlLHIpe3JldHVybiBlIGluIHJ9LGE9T2JqZWN0KGEpKTtmb3IodmFyIHM9MCx1PWkubGVuZ3RoO3M8dTtzKyspe3ZhciBmPWlbc10sYz1hW2ZdO24oYyxmLGEpJiYob1tmXT1jKX1yZXR1cm4gb30sbS5vbWl0PWZ1bmN0aW9uKHQsZSxyKXtpZihtLmlzRnVuY3Rpb24oZSkpZT1tLm5lZ2F0ZShlKTtlbHNle3ZhciBuPW0ubWFwKEEoYXJndW1lbnRzLCExLCExLDEpLFN0cmluZyk7ZT1mdW5jdGlvbih0LGUpe3JldHVybiFtLmNvbnRhaW5zKG4sZSl9fXJldHVybiBtLnBpY2sodCxlLHIpfSxtLmRlZmF1bHRzPWcobS5hbGxLZXlzLCEwKSxtLmNyZWF0ZT1mdW5jdGlvbih0LGUpe3ZhciByPXcodCk7cmV0dXJuIGUmJm0uZXh0ZW5kT3duKHIsZSkscn0sbS5jbG9uZT1mdW5jdGlvbih0KXtyZXR1cm4gbS5pc09iamVjdCh0KT9tLmlzQXJyYXkodCk/dC5zbGljZSgpOm0uZXh0ZW5kKHt9LHQpOnR9LG0udGFwPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGUodCksdH0sbS5pc01hdGNoPWZ1bmN0aW9uKHQsZSl7dmFyIHI9bS5rZXlzKGUpLG49ci5sZW5ndGg7aWYobnVsbD09dClyZXR1cm4hbjtmb3IodmFyIGk9T2JqZWN0KHQpLG89MDtvPG47bysrKXt2YXIgYT1yW29dO2lmKGVbYV0hPT1pW2FdfHwhKGEgaW4gaSkpcmV0dXJuITF9cmV0dXJuITB9O20uaXNFcXVhbD1mdW5jdGlvbih0LGUpe3JldHVybiBmdW5jdGlvbiB0KGUscixuLGkpe2lmKGU9PT1yKXJldHVybiAwIT09ZXx8MS9lPT0xL3I7aWYobnVsbD09ZXx8bnVsbD09cilyZXR1cm4gZT09PXI7ZSBpbnN0YW5jZW9mIG0mJihlPWUuX3dyYXBwZWQpLHIgaW5zdGFuY2VvZiBtJiYocj1yLl93cmFwcGVkKTt2YXIgbz1mLmNhbGwoZSk7aWYobyE9PWYuY2FsbChyKSlyZXR1cm4hMTtzd2l0Y2gobyl7Y2FzZSJbb2JqZWN0IFJlZ0V4cF0iOmNhc2UiW29iamVjdCBTdHJpbmddIjpyZXR1cm4iIitlPT0iIityO2Nhc2UiW29iamVjdCBOdW1iZXJdIjpyZXR1cm4rZSE9K2U/K3IhPStyOjA9PStlPzEvK2U9PTEvcjorZT09K3I7Y2FzZSJbb2JqZWN0IERhdGVdIjpjYXNlIltvYmplY3QgQm9vbGVhbl0iOnJldHVybitlPT0rcn12YXIgYT0iW29iamVjdCBBcnJheV0iPT09bztpZighYSl7aWYoIm9iamVjdCIhPSh2b2lkIDA9PT1lPyJ1bmRlZmluZWQiOl90eXBlb2YoZSkpfHwib2JqZWN0IiE9KHZvaWQgMD09PXI/InVuZGVmaW5lZCI6X3R5cGVvZihyKSkpcmV0dXJuITE7dmFyIHM9ZS5jb25zdHJ1Y3Rvcix1PXIuY29uc3RydWN0b3I7aWYocyE9PXUmJiEobS5pc0Z1bmN0aW9uKHMpJiZzIGluc3RhbmNlb2YgcyYmbS5pc0Z1bmN0aW9uKHUpJiZ1IGluc3RhbmNlb2YgdSkmJiJjb25zdHJ1Y3RvciJpbiBlJiYiY29uc3RydWN0b3IiaW4gcilyZXR1cm4hMX1pPWl8fFtdO2Zvcih2YXIgYz0obj1ufHxbXSkubGVuZ3RoO2MtLTspaWYobltjXT09PWUpcmV0dXJuIGlbY109PT1yO2lmKG4ucHVzaChlKSxpLnB1c2gociksYSl7aWYoKGM9ZS5sZW5ndGgpIT09ci5sZW5ndGgpcmV0dXJuITE7Zm9yKDtjLS07KWlmKCF0KGVbY10scltjXSxuLGkpKXJldHVybiExfWVsc2V7dmFyIGgsZD1tLmtleXMoZSk7aWYoYz1kLmxlbmd0aCxtLmtleXMocikubGVuZ3RoIT09YylyZXR1cm4hMTtmb3IoO2MtLTspaWYoaD1kW2NdLCFtLmhhcyhyLGgpfHwhdChlW2hdLHJbaF0sbixpKSlyZXR1cm4hMX1yZXR1cm4gbi5wb3AoKSxpLnBvcCgpLCEwfSh0LGUpfSxtLmlzRW1wdHk9ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PXR8fChrKHQpJiYobS5pc0FycmF5KHQpfHxtLmlzU3RyaW5nKHQpfHxtLmlzQXJndW1lbnRzKHQpKT8wPT09dC5sZW5ndGg6MD09PW0ua2V5cyh0KS5sZW5ndGgpfSxtLmlzRWxlbWVudD1mdW5jdGlvbih0KXtyZXR1cm4hKCF0fHwxIT09dC5ub2RlVHlwZSl9LG0uaXNBcnJheT1ofHxmdW5jdGlvbih0KXtyZXR1cm4iW29iamVjdCBBcnJheV0iPT09Zi5jYWxsKHQpfSxtLmlzT2JqZWN0PWZ1bmN0aW9uKHQpe3ZhciBlPXZvaWQgMD09PXQ/InVuZGVmaW5lZCI6X3R5cGVvZih0KTtyZXR1cm4iZnVuY3Rpb24iPT09ZXx8Im9iamVjdCI9PT1lJiYhIXR9LG0uZWFjaChbIkFyZ3VtZW50cyIsIkZ1bmN0aW9uIiwiU3RyaW5nIiwiTnVtYmVyIiwiRGF0ZSIsIlJlZ0V4cCIsIkVycm9yIl0sZnVuY3Rpb24odCl7bVsiaXMiK3RdPWZ1bmN0aW9uKGUpe3JldHVybiBmLmNhbGwoZSk9PT0iW29iamVjdCAiK3QrIl0ifX0pLG0uaXNBcmd1bWVudHMoYXJndW1lbnRzKXx8KG0uaXNBcmd1bWVudHM9ZnVuY3Rpb24odCl7cmV0dXJuIG0uaGFzKHQsImNhbGxlZSIpfSksImZ1bmN0aW9uIiE9dHlwZW9mLy4vJiYib2JqZWN0IiE9KCJ1bmRlZmluZWQiPT10eXBlb2YgSW50OEFycmF5PyJ1bmRlZmluZWQiOl90eXBlb2YoSW50OEFycmF5KSkmJihtLmlzRnVuY3Rpb249ZnVuY3Rpb24odCl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHR8fCExfSksbS5pc0Zpbml0ZT1mdW5jdGlvbih0KXtyZXR1cm4gaXNGaW5pdGUodCkmJiFpc05hTihwYXJzZUZsb2F0KHQpKX0sbS5pc05hTj1mdW5jdGlvbih0KXtyZXR1cm4gbS5pc051bWJlcih0KSYmdCE9PSt0fSxtLmlzQm9vbGVhbj1mdW5jdGlvbih0KXtyZXR1cm4hMD09PXR8fCExPT09dHx8IltvYmplY3QgQm9vbGVhbl0iPT09Zi5jYWxsKHQpfSxtLmlzTnVsbD1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09PXR9LG0uaXNVbmRlZmluZWQ9ZnVuY3Rpb24odCl7cmV0dXJuIHZvaWQgMD09PXR9LG0uaGFzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIG51bGwhPXQmJmMuY2FsbCh0LGUpfSxtLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gdC5fPW4sdGhpc30sbS5pZGVudGl0eT1mdW5jdGlvbih0KXtyZXR1cm4gdH0sbS5jb25zdGFudD1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdH19LG0ubm9vcD1mdW5jdGlvbigpe30sbS5wcm9wZXJ0eT1fLG0ucHJvcGVydHlPZj1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dD9mdW5jdGlvbigpe306ZnVuY3Rpb24oZSl7cmV0dXJuIHRbZV19fSxtLm1hdGNoZXI9bS5tYXRjaGVzPWZ1bmN0aW9uKHQpe3JldHVybiB0PW0uZXh0ZW5kT3duKHt9LHQpLGZ1bmN0aW9uKGUpe3JldHVybiBtLmlzTWF0Y2goZSx0KX19LG0udGltZXM9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPUFycmF5KE1hdGgubWF4KDAsdCkpO2U9eShlLHIsMSk7Zm9yKHZhciBpPTA7aTx0O2krKyluW2ldPWUoaSk7cmV0dXJuIG59LG0ucmFuZG9tPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIG51bGw9PWUmJihlPXQsdD0wKSx0K01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSooZS10KzEpKX0sbS5ub3c9RGF0ZS5ub3d8fGZ1bmN0aW9uKCl7cmV0dXJuKG5ldyBEYXRlKS5nZXRUaW1lKCl9O3ZhciBSPXsiJiI6IiZhbXA7IiwiPCI6IiZsdDsiLCI+IjoiJmd0OyIsJyInOiImcXVvdDsiLCInIjoiJiN4Mjc7IiwiYCI6IiYjeDYwOyJ9LE89bS5pbnZlcnQoUiksTj1mdW5jdGlvbih0KXt2YXIgZT1mdW5jdGlvbihlKXtyZXR1cm4gdFtlXX0scj0iKD86IittLmtleXModCkuam9pbigifCIpKyIpIixuPVJlZ0V4cChyKSxpPVJlZ0V4cChyLCJnIik7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiB0PW51bGw9PXQ/IiI6IiIrdCxuLnRlc3QodCk/dC5yZXBsYWNlKGksZSk6dH19O20uZXNjYXBlPU4oUiksbS51bmVzY2FwZT1OKE8pLG0ucmVzdWx0PWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj1udWxsPT10P3ZvaWQgMDp0W2VdO3JldHVybiB2b2lkIDA9PT1uJiYobj1yKSxtLmlzRnVuY3Rpb24obik/bi5jYWxsKHQpOm59O3ZhciBMPTA7bS51bmlxdWVJZD1mdW5jdGlvbih0KXt2YXIgZT0rK0wrIiI7cmV0dXJuIHQ/dCtlOmV9LG0udGVtcGxhdGVTZXR0aW5ncz17ZXZhbHVhdGU6LzwlKFtcc1xTXSs/KSU+L2csaW50ZXJwb2xhdGU6LzwlPShbXHNcU10rPyklPi9nLGVzY2FwZTovPCUtKFtcc1xTXSs/KSU+L2d9O3ZhciBGPS8oLileLyxxPXsiJyI6IiciLCJcXCI6IlxcIiwiXHIiOiJyIiwiXG4iOiJuIiwiXHUyMDI4IjoidTIwMjgiLCJcdTIwMjkiOiJ1MjAyOSJ9LEQ9L1xcfCd8XHJ8XG58XHUyMDI4fFx1MjAyOS9nLFU9ZnVuY3Rpb24odCl7cmV0dXJuIlxcIitxW3RdfTttLnRlbXBsYXRlPWZ1bmN0aW9uKHQsZSxyKXshZSYmciYmKGU9ciksZT1tLmRlZmF1bHRzKHt9LGUsbS50ZW1wbGF0ZVNldHRpbmdzKTt2YXIgbj1SZWdFeHAoWyhlLmVzY2FwZXx8Rikuc291cmNlLChlLmludGVycG9sYXRlfHxGKS5zb3VyY2UsKGUuZXZhbHVhdGV8fEYpLnNvdXJjZV0uam9pbigifCIpKyJ8JCIsImciKSxpPTAsbz0iX19wKz0nIjt0LnJlcGxhY2UobixmdW5jdGlvbihlLHIsbixhLHMpe3JldHVybiBvKz10LnNsaWNlKGkscykucmVwbGFjZShELFUpLGk9cytlLmxlbmd0aCxyP28rPSInK1xuKChfX3Q9KCIrcisiKSk9PW51bGw/Jyc6Xy5lc2NhcGUoX190KSkrXG4nIjpuP28rPSInK1xuKChfX3Q9KCIrbisiKSk9PW51bGw/Jyc6X190KStcbiciOmEmJihvKz0iJztcbiIrYSsiXG5fX3ArPSciKSxlfSksbys9Iic7XG4iLGUudmFyaWFibGV8fChvPSJ3aXRoKG9ianx8e30pe1xuIitvKyJ9XG4iKSxvPSJ2YXIgX190LF9fcD0nJyxfX2o9QXJyYXkucHJvdG90eXBlLmpvaW4scHJpbnQ9ZnVuY3Rpb24oKXtfX3ArPV9fai5jYWxsKGFyZ3VtZW50cywnJyk7fTtcbiIrbysicmV0dXJuIF9fcDtcbiI7dHJ5e3ZhciBhPW5ldyBGdW5jdGlvbihlLnZhcmlhYmxlfHwib2JqIiwiXyIsbyl9Y2F0Y2godCl7dGhyb3cgdC5zb3VyY2U9byx0fXZhciBzPWZ1bmN0aW9uKHQpe3JldHVybiBhLmNhbGwodGhpcyx0LG0pfSx1PWUudmFyaWFibGV8fCJvYmoiO3JldHVybiBzLnNvdXJjZT0iZnVuY3Rpb24oIit1KyIpe1xuIitvKyJ9IixzfSxtLmNoYWluPWZ1bmN0aW9uKHQpe3ZhciBlPW0odCk7cmV0dXJuIGUuX2NoYWluPSEwLGV9O3ZhciB6PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQuX2NoYWluP20oZSkuY2hhaW4oKTplfTttLm1peGluPWZ1bmN0aW9uKHQpe20uZWFjaChtLmZ1bmN0aW9ucyh0KSxmdW5jdGlvbihlKXt2YXIgcj1tW2VdPXRbZV07bS5wcm90b3R5cGVbZV09ZnVuY3Rpb24oKXt2YXIgdD1bdGhpcy5fd3JhcHBlZF07cmV0dXJuIHMuYXBwbHkodCxhcmd1bWVudHMpLHoodGhpcyxyLmFwcGx5KG0sdCkpfX0pfSxtLm1peGluKG0pLG0uZWFjaChbInBvcCIsInB1c2giLCJyZXZlcnNlIiwic2hpZnQiLCJzb3J0Iiwic3BsaWNlIiwidW5zaGlmdCJdLGZ1bmN0aW9uKHQpe3ZhciBlPWlbdF07bS5wcm90b3R5cGVbdF09ZnVuY3Rpb24oKXt2YXIgcj10aGlzLl93cmFwcGVkO3JldHVybiBlLmFwcGx5KHIsYXJndW1lbnRzKSwic2hpZnQiIT09dCYmInNwbGljZSIhPT10fHwwIT09ci5sZW5ndGh8fGRlbGV0ZSByWzBdLHoodGhpcyxyKX19KSxtLmVhY2goWyJjb25jYXQiLCJqb2luIiwic2xpY2UiXSxmdW5jdGlvbih0KXt2YXIgZT1pW3RdO20ucHJvdG90eXBlW3RdPWZ1bmN0aW9uKCl7cmV0dXJuIHoodGhpcyxlLmFwcGx5KHRoaXMuX3dyYXBwZWQsYXJndW1lbnRzKSl9fSksbS5wcm90b3R5cGUudmFsdWU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fd3JhcHBlZH0sbS5wcm90b3R5cGUudmFsdWVPZj1tLnByb3RvdHlwZS50b0pTT049bS5wcm90b3R5cGUudmFsdWUsbS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4iIit0aGlzLl93cmFwcGVkfSwiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kJiZkZWZpbmUoInVuZGVyc2NvcmUiLFtdLGZ1bmN0aW9uKCl7cmV0dXJuIG19KX0pLmNhbGwodGhpcyl9LHt9XSwxNzk6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtpZihlKXtlPShlPWUudHJpbSgpLnJlcGxhY2UoL14oXD98I3wmKS8sIiIpKT8iPyIrZTplO3ZhciByPXQuc3BsaXQoL1tcP1wjXS8pLG49clswXTtlJiYvXDpcL1wvW15cL10qJC8udGVzdChuKSYmKG4rPSIvIik7dmFyIGk9dC5tYXRjaCgvKFwjLiopJC8pO3Q9bitlLGkmJih0Kz1pWzBdKX1yZXR1cm4gdH19LHt9XSwxODA6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbj10KCJ4aHItcmVxdWVzdCIpO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyLGkpe24odCxlLGZ1bmN0aW9uKHQsZSl7dD9pKHQpOnIoZSl9KX0pfX0seyJ4aHItcmVxdWVzdCI6MTgxfV0sMTgxOltmdW5jdGlvbih0LGUscil7dmFyIG49dCgicXVlcnktc3RyaW5nIiksaT10KCJ1cmwtc2V0LXF1ZXJ5Iiksbz10KCJvYmplY3QtYXNzaWduIiksYT10KCIuL2xpYi9lbnN1cmUtaGVhZGVyLmpzIikscz10KCIuL2xpYi9yZXF1ZXN0LmpzIiksdT0iYXBwbGljYXRpb24vanNvbiIsZj1mdW5jdGlvbigpe307ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyKXtpZighdHx8InN0cmluZyIhPXR5cGVvZiB0KXRocm93IG5ldyBUeXBlRXJyb3IoIm11c3Qgc3BlY2lmeSBhIFVSTCIpOyJmdW5jdGlvbiI9PXR5cGVvZiBlJiYocj1lLGU9e30pO2lmKHImJiJmdW5jdGlvbiIhPXR5cGVvZiByKXRocm93IG5ldyBUeXBlRXJyb3IoImV4cGVjdGVkIGNiIHRvIGJlIHVuZGVmaW5lZCBvciBhIGZ1bmN0aW9uIik7cj1yfHxmO3ZhciBjPShlPWV8fHt9KS5qc29uPyJqc29uIjoidGV4dCIsaD0oZT1vKHtyZXNwb25zZVR5cGU6Y30sZSkpLmhlYWRlcnN8fHt9LGQ9KGUubWV0aG9kfHwiR0VUIikudG9VcHBlckNhc2UoKSxsPWUucXVlcnk7bCYmKCJzdHJpbmciIT10eXBlb2YgbCYmKGw9bi5zdHJpbmdpZnkobCkpLHQ9aSh0LGwpKTsianNvbiI9PT1lLnJlc3BvbnNlVHlwZSYmYShoLCJBY2NlcHQiLHUpO2UuanNvbiYmIkdFVCIhPT1kJiYiSEVBRCIhPT1kJiYoYShoLCJDb250ZW50LVR5cGUiLHUpLGUuYm9keT1KU09OLnN0cmluZ2lmeShlLmJvZHkpKTtyZXR1cm4gZS5tZXRob2Q9ZCxlLnVybD10LGUuaGVhZGVycz1oLGRlbGV0ZSBlLnF1ZXJ5LGRlbGV0ZSBlLmpzb24scyhlLHIpfX0seyIuL2xpYi9lbnN1cmUtaGVhZGVyLmpzIjoxODIsIi4vbGliL3JlcXVlc3QuanMiOjE4NCwib2JqZWN0LWFzc2lnbiI6MTY5LCJxdWVyeS1zdHJpbmciOjE3MSwidXJsLXNldC1xdWVyeSI6MTc5fV0sMTgyOltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbj1lLnRvTG93ZXJDYXNlKCk7dFtlXXx8dFtuXXx8KHRbZV09cil9fSx7fV0sMTgzOltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGU/e3N0YXR1c0NvZGU6ZS5zdGF0dXNDb2RlLGhlYWRlcnM6ZS5oZWFkZXJzLG1ldGhvZDp0Lm1ldGhvZCx1cmw6dC51cmwscmF3UmVxdWVzdDplLnJhd1JlcXVlc3Q/ZS5yYXdSZXF1ZXN0OmV9Om51bGx9fSx7fV0sMTg0OltmdW5jdGlvbih0LGUscil7dmFyIG49dCgieGhyIiksaT10KCIuL25vcm1hbGl6ZS1yZXNwb25zZSIpLG89ZnVuY3Rpb24oKXt9O2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe2RlbGV0ZSB0LnVyaTt2YXIgcj0hMTsianNvbiI9PT10LnJlc3BvbnNlVHlwZSYmKHQucmVzcG9uc2VUeXBlPSJ0ZXh0IixyPSEwKTt2YXIgYT1uKHQsZnVuY3Rpb24obixhLHMpe2lmKHImJiFuKXRyeXt2YXIgdT1hLnJhd1JlcXVlc3QucmVzcG9uc2VUZXh0O3M9SlNPTi5wYXJzZSh1KX1jYXRjaCh0KXtuPXR9YT1pKHQsYSksZShuLG4/bnVsbDpzLGEpLGU9b30pLHM9YS5vbmFib3J0O3JldHVybiBhLm9uYWJvcnQ9ZnVuY3Rpb24oKXt2YXIgdD1zLmFwcGx5KGEsQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKSk7cmV0dXJuIGUobmV3IEVycm9yKCJYSFIgQWJvcnRlZCIpKSxlPW8sdH0sYX19LHsiLi9ub3JtYWxpemUtcmVzcG9uc2UiOjE4Myx4aHI6MTg1fV0sMTg1OltmdW5jdGlvbih0LGUscil7dmFyIG49dCgiZ2xvYmFsL3dpbmRvdyIpLGk9dCgiaXMtZnVuY3Rpb24iKSxvPXQoInBhcnNlLWhlYWRlcnMiKSxhPXQoInh0ZW5kIik7ZnVuY3Rpb24gcyh0LGUscil7dmFyIG49dDtyZXR1cm4gaShlKT8ocj1lLCJzdHJpbmciPT10eXBlb2YgdCYmKG49e3VyaTp0fSkpOm49YShlLHt1cmk6dH0pLG4uY2FsbGJhY2s9cixufWZ1bmN0aW9uIHUodCxlLHIpe3JldHVybiBmKGU9cyh0LGUscikpfWZ1bmN0aW9uIGYodCl7aWYodm9pZCAwPT09dC5jYWxsYmFjayl0aHJvdyBuZXcgRXJyb3IoImNhbGxiYWNrIGFyZ3VtZW50IG1pc3NpbmciKTt2YXIgZT0hMSxyPWZ1bmN0aW9uKHIsbixpKXtlfHwoZT0hMCx0LmNhbGxiYWNrKHIsbixpKSl9O2Z1bmN0aW9uIG4odCl7cmV0dXJuIGNsZWFyVGltZW91dChjKSx0IGluc3RhbmNlb2YgRXJyb3J8fCh0PW5ldyBFcnJvcigiIisodHx8IlVua25vd24gWE1MSHR0cFJlcXVlc3QgRXJyb3IiKSkpLHQuc3RhdHVzQ29kZT0wLHIodCx5KX1mdW5jdGlvbiBpKCl7aWYoIXMpe3ZhciBlO2NsZWFyVGltZW91dChjKSxlPXQudXNlWERSJiZ2b2lkIDA9PT1mLnN0YXR1cz8yMDA6MTIyMz09PWYuc3RhdHVzPzIwNDpmLnN0YXR1czt2YXIgbj15LGk9bnVsbDtyZXR1cm4gMCE9PWU/KG49e2JvZHk6ZnVuY3Rpb24oKXt2YXIgdD12b2lkIDA7aWYodD1mLnJlc3BvbnNlP2YucmVzcG9uc2U6Zi5yZXNwb25zZVRleHR8fGZ1bmN0aW9uKHQpe3RyeXtpZigiZG9jdW1lbnQiPT09dC5yZXNwb25zZVR5cGUpcmV0dXJuIHQucmVzcG9uc2VYTUw7dmFyIGU9dC5yZXNwb25zZVhNTCYmInBhcnNlcmVycm9yIj09PXQucmVzcG9uc2VYTUwuZG9jdW1lbnRFbGVtZW50Lm5vZGVOYW1lO2lmKCIiPT09dC5yZXNwb25zZVR5cGUmJiFlKXJldHVybiB0LnJlc3BvbnNlWE1MfWNhdGNoKHQpe31yZXR1cm4gbnVsbH0oZiksbSl0cnl7dD1KU09OLnBhcnNlKHQpfWNhdGNoKHQpe31yZXR1cm4gdH0oKSxzdGF0dXNDb2RlOmUsbWV0aG9kOmQsaGVhZGVyczp7fSx1cmw6aCxyYXdSZXF1ZXN0OmZ9LGYuZ2V0QWxsUmVzcG9uc2VIZWFkZXJzJiYobi5oZWFkZXJzPW8oZi5nZXRBbGxSZXNwb25zZUhlYWRlcnMoKSkpKTppPW5ldyBFcnJvcigiSW50ZXJuYWwgWE1MSHR0cFJlcXVlc3QgRXJyb3IiKSxyKGksbixuLmJvZHkpfX12YXIgYSxzLGY9dC54aHJ8fG51bGw7Znx8KGY9dC5jb3JzfHx0LnVzZVhEUj9uZXcgdS5YRG9tYWluUmVxdWVzdDpuZXcgdS5YTUxIdHRwUmVxdWVzdCk7dmFyIGMsaD1mLnVybD10LnVyaXx8dC51cmwsZD1mLm1ldGhvZD10Lm1ldGhvZHx8IkdFVCIsbD10LmJvZHl8fHQuZGF0YSxwPWYuaGVhZGVycz10LmhlYWRlcnN8fHt9LGI9ISF0LnN5bmMsbT0hMSx5PXtib2R5OnZvaWQgMCxoZWFkZXJzOnt9LHN0YXR1c0NvZGU6MCxtZXRob2Q6ZCx1cmw6aCxyYXdSZXF1ZXN0OmZ9O2lmKCJqc29uImluIHQmJiExIT09dC5qc29uJiYobT0hMCxwLmFjY2VwdHx8cC5BY2NlcHR8fChwLkFjY2VwdD0iYXBwbGljYXRpb24vanNvbiIpLCJHRVQiIT09ZCYmIkhFQUQiIT09ZCYmKHBbImNvbnRlbnQtdHlwZSJdfHxwWyJDb250ZW50LVR5cGUiXXx8KHBbIkNvbnRlbnQtVHlwZSJdPSJhcHBsaWNhdGlvbi9qc29uIiksbD1KU09OLnN0cmluZ2lmeSghMD09PXQuanNvbj9sOnQuanNvbikpKSxmLm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbigpezQ9PT1mLnJlYWR5U3RhdGUmJnNldFRpbWVvdXQoaSwwKX0sZi5vbmxvYWQ9aSxmLm9uZXJyb3I9bixmLm9ucHJvZ3Jlc3M9ZnVuY3Rpb24oKXt9LGYub25hYm9ydD1mdW5jdGlvbigpe3M9ITB9LGYub250aW1lb3V0PW4sZi5vcGVuKGQsaCwhYix0LnVzZXJuYW1lLHQucGFzc3dvcmQpLGJ8fChmLndpdGhDcmVkZW50aWFscz0hIXQud2l0aENyZWRlbnRpYWxzKSwhYiYmdC50aW1lb3V0PjAmJihjPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtpZighcyl7cz0hMCxmLmFib3J0KCJ0aW1lb3V0Iik7dmFyIHQ9bmV3IEVycm9yKCJYTUxIdHRwUmVxdWVzdCB0aW1lb3V0Iik7dC5jb2RlPSJFVElNRURPVVQiLG4odCl9fSx0LnRpbWVvdXQpKSxmLnNldFJlcXVlc3RIZWFkZXIpZm9yKGEgaW4gcClwLmhhc093blByb3BlcnR5KGEpJiZmLnNldFJlcXVlc3RIZWFkZXIoYSxwW2FdKTtlbHNlIGlmKHQuaGVhZGVycyYmIWZ1bmN0aW9uKHQpe2Zvcih2YXIgZSBpbiB0KWlmKHQuaGFzT3duUHJvcGVydHkoZSkpcmV0dXJuITE7cmV0dXJuITB9KHQuaGVhZGVycykpdGhyb3cgbmV3IEVycm9yKCJIZWFkZXJzIGNhbm5vdCBiZSBzZXQgb24gYW4gWERvbWFpblJlcXVlc3Qgb2JqZWN0Iik7cmV0dXJuInJlc3BvbnNlVHlwZSJpbiB0JiYoZi5yZXNwb25zZVR5cGU9dC5yZXNwb25zZVR5cGUpLCJiZWZvcmVTZW5kImluIHQmJiJmdW5jdGlvbiI9PXR5cGVvZiB0LmJlZm9yZVNlbmQmJnQuYmVmb3JlU2VuZChmKSxmLnNlbmQobHx8bnVsbCksZn1lLmV4cG9ydHM9dSx1LlhNTEh0dHBSZXF1ZXN0PW4uWE1MSHR0cFJlcXVlc3R8fGZ1bmN0aW9uKCl7fSx1LlhEb21haW5SZXF1ZXN0PSJ3aXRoQ3JlZGVudGlhbHMiaW4gbmV3IHUuWE1MSHR0cFJlcXVlc3Q/dS5YTUxIdHRwUmVxdWVzdDpuLlhEb21haW5SZXF1ZXN0LGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPTA7cjx0Lmxlbmd0aDtyKyspZSh0W3JdKX0oWyJnZXQiLCJwdXQiLCJwb3N0IiwicGF0Y2giLCJoZWFkIiwiZGVsZXRlIl0sZnVuY3Rpb24odCl7dVsiZGVsZXRlIj09PXQ/ImRlbCI6dF09ZnVuY3Rpb24oZSxyLG4pe3JldHVybihyPXMoZSxyLG4pKS5tZXRob2Q9dC50b1VwcGVyQ2FzZSgpLGYocil9fSl9LHsiZ2xvYmFsL3dpbmRvdyI6MTY3LCJpcy1mdW5jdGlvbiI6MTY4LCJwYXJzZS1oZWFkZXJzIjoxNzAseHRlbmQ6MTg2fV0sMTg2OltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPWZ1bmN0aW9uKCl7Zm9yKHZhciB0PXt9LGU9MDtlPGFyZ3VtZW50cy5sZW5ndGg7ZSsrKXt2YXIgcj1hcmd1bWVudHNbZV07Zm9yKHZhciBpIGluIHIpbi5jYWxsKHIsaSkmJih0W2ldPXJbaV0pfXJldHVybiB0fTt2YXIgbj1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5fSx7fV0sMTg3OltmdW5jdGlvbih0LGUscil7dmFyIG49dCgidW5kZXJzY29yZSIpLGk9dCgic3dhcm0tanMiKSxvPWZ1bmN0aW9uIHQoZSl7dGhpcy5naXZlblByb3ZpZGVyPXQuZ2l2ZW5Qcm92aWRlcixlJiZlLl9yZXF1ZXN0TWFuYWdlciYmKGU9ZS5jdXJyZW50UHJvdmlkZXIpLCJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQmJih0aGlzLnBpY2s9aS5waWNrKSx0aGlzLnNldFByb3ZpZGVyKGUpfTtvLmdpdmVuUHJvdmlkZXI9bnVsbCwidW5kZWZpbmVkIiE9dHlwZW9mIGV0aGVyZXVtUHJvdmlkZXImJmV0aGVyZXVtUHJvdmlkZXIuYnp6JiYoby5naXZlblByb3ZpZGVyPWV0aGVyZXVtUHJvdmlkZXIuYnp6KSxvLnByb3RvdHlwZS5zZXRQcm92aWRlcj1mdW5jdGlvbih0KXtpZihuLmlzT2JqZWN0KHQpJiZuLmlzU3RyaW5nKHQuYnp6KSYmKHQ9dC5ienopLCFuLmlzU3RyaW5nKHQpKXt0aGlzLmN1cnJlbnRQcm92aWRlcj1udWxsO3ZhciBlPW5ldyBFcnJvcigiTm8gcHJvdmlkZXIgc2V0LCBwbGVhc2Ugc2V0IG9uZSB1c2luZyBienouc2V0UHJvdmlkZXIoKS4iKTtyZXR1cm4gdGhpcy5kb3dubG9hZD10aGlzLnVwbG9hZD10aGlzLmlzQXZhaWxhYmxlPWZ1bmN0aW9uKCl7dGhyb3cgZX0sITF9cmV0dXJuIHRoaXMuY3VycmVudFByb3ZpZGVyPXQsdGhpcy5kb3dubG9hZD1pLmF0KHQpLmRvd25sb2FkLHRoaXMudXBsb2FkPWkuYXQodCkudXBsb2FkLHRoaXMuaXNBdmFpbGFibGU9aS5hdCh0KS5pc0F2YWlsYWJsZSwhMH0sZS5leHBvcnRzPW99LHsic3dhcm0tanMiOjE3Myx1bmRlcnNjb3JlOjE3OH1dLDE4ODpbZnVuY3Rpb24odCxlLHIpe2FyZ3VtZW50c1s0XVsxNzhdWzBdLmFwcGx5KHIsYXJndW1lbnRzKX0se2R1cDoxNzh9XSwxODk6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9e0Vycm9yUmVzcG9uc2U6ZnVuY3Rpb24odCl7dmFyIGU9dCYmdC5lcnJvciYmdC5lcnJvci5tZXNzYWdlP3QuZXJyb3IubWVzc2FnZTpKU09OLnN0cmluZ2lmeSh0KTtyZXR1cm4gbmV3IEVycm9yKCJSZXR1cm5lZCBlcnJvcjogIitlKX0sSW52YWxpZE51bWJlck9mUGFyYW1zOmZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gbmV3IEVycm9yKCdJbnZhbGlkIG51bWJlciBvZiBwYXJhbWV0ZXJzIGZvciAiJytyKyciLiBHb3QgJyt0KyIgZXhwZWN0ZWQgIitlKyIhIil9LEludmFsaWRDb25uZWN0aW9uOmZ1bmN0aW9uKHQpe3JldHVybiBuZXcgRXJyb3IoIkNPTk5FQ1RJT04gRVJST1I6IENvdWxkbid0IGNvbm5lY3QgdG8gbm9kZSAiK3QrIi4iKX0sSW52YWxpZFByb3ZpZGVyOmZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBFcnJvcigiUHJvdmlkZXIgbm90IHNldCBvciBpbnZhbGlkIil9LEludmFsaWRSZXNwb25zZTpmdW5jdGlvbih0KXt2YXIgZT10JiZ0LmVycm9yJiZ0LmVycm9yLm1lc3NhZ2U/dC5lcnJvci5tZXNzYWdlOiJJbnZhbGlkIEpTT04gUlBDIHJlc3BvbnNlOiAiK0pTT04uc3RyaW5naWZ5KHQpO3JldHVybiBuZXcgRXJyb3IoZSl9LENvbm5lY3Rpb25UaW1lb3V0OmZ1bmN0aW9uKHQpe3JldHVybiBuZXcgRXJyb3IoIkNPTk5FQ1RJT04gVElNRU9VVDogdGltZW91dCBvZiAiK3QrIiBtcyBhY2hpdmVkIil9fX0se31dLDE5MDpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQoInVuZGVyc2NvcmUiKSxpPXQoIndlYjMtdXRpbHMiKSxvPXQoIndlYjMtZXRoLWliYW4iKSxhPWZ1bmN0aW9uKHQpe3JldHVybiBpLnRvQk4odCkudG9TdHJpbmcoMTApfSxzPWZ1bmN0aW9uKHQpe3ZhciBlO2lmKHZvaWQgMCE9PXQpcmV0dXJuImxhdGVzdCI9PT0oZT10KXx8InBlbmRpbmciPT09ZXx8ImVhcmxpZXN0Ij09PWU/dDppLmlzSGV4U3RyaWN0KHQpP24uaXNTdHJpbmcodCk/dC50b0xvd2VyQ2FzZSgpOnQ6aS5udW1iZXJUb0hleCh0KX0sdT1mdW5jdGlvbih0KXtpZih0LnRvJiYodC50bz1oKHQudG8pKSx0LmRhdGEmJnQuaW5wdXQpdGhyb3cgbmV3IEVycm9yKCdZb3UgY2FuXCd0IGhhdmUgImRhdGEiIGFuZCAiaW5wdXQiIGFzIHByb3BlcnRpZXMgb2YgdHJhbnNhY3Rpb25zIGF0IHRoZSBzYW1lIHRpbWUsIHBsZWFzZSB1c2UgZWl0aGVyICJkYXRhIiBvciAiaW5wdXQiIGluc3RlYWQuJyk7aWYoIXQuZGF0YSYmdC5pbnB1dCYmKHQuZGF0YT10LmlucHV0LGRlbGV0ZSB0LmlucHV0KSx0LmRhdGEmJiFpLmlzSGV4KHQuZGF0YSkpdGhyb3cgbmV3IEVycm9yKCJUaGUgZGF0YSBmaWVsZCBtdXN0IGJlIEhFWCBlbmNvZGVkIGRhdGEuIik7cmV0dXJuKHQuZ2FzfHx0Lmdhc0xpbWl0KSYmKHQuZ2FzPXQuZ2FzfHx0Lmdhc0xpbWl0KSxbImdhc1ByaWNlIiwiZ2FzIiwidmFsdWUiLCJub25jZSJdLmZpbHRlcihmdW5jdGlvbihlKXtyZXR1cm4gdm9pZCAwIT09dFtlXX0pLmZvckVhY2goZnVuY3Rpb24oZSl7dFtlXT1pLm51bWJlclRvSGV4KHRbZV0pfSksdH0sZj1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbCE9PXQuYmxvY2tOdW1iZXImJih0LmJsb2NrTnVtYmVyPWkuaGV4VG9OdW1iZXIodC5ibG9ja051bWJlcikpLG51bGwhPT10LnRyYW5zYWN0aW9uSW5kZXgmJih0LnRyYW5zYWN0aW9uSW5kZXg9aS5oZXhUb051bWJlcih0LnRyYW5zYWN0aW9uSW5kZXgpKSx0Lm5vbmNlPWkuaGV4VG9OdW1iZXIodC5ub25jZSksdC5nYXM9aS5oZXhUb051bWJlcih0LmdhcyksdC5nYXNQcmljZT1hKHQuZ2FzUHJpY2UpLHQudmFsdWU9YSh0LnZhbHVlKSx0LnRvJiZpLmlzQWRkcmVzcyh0LnRvKT90LnRvPWkudG9DaGVja3N1bUFkZHJlc3ModC50byk6dC50bz1udWxsLHQuZnJvbSYmKHQuZnJvbT1pLnRvQ2hlY2tzdW1BZGRyZXNzKHQuZnJvbSkpLHR9LGM9ZnVuY3Rpb24odCl7aWYoInN0cmluZyI9PXR5cGVvZiB0LmJsb2NrSGFzaCYmInN0cmluZyI9PXR5cGVvZiB0LnRyYW5zYWN0aW9uSGFzaCYmInN0cmluZyI9PXR5cGVvZiB0LmxvZ0luZGV4KXt2YXIgZT1pLnNoYTModC5ibG9ja0hhc2gucmVwbGFjZSgiMHgiLCIiKSt0LnRyYW5zYWN0aW9uSGFzaC5yZXBsYWNlKCIweCIsIiIpK3QubG9nSW5kZXgucmVwbGFjZSgiMHgiLCIiKSk7dC5pZD0ibG9nXyIrZS5yZXBsYWNlKCIweCIsIiIpLnN1YnN0cigwLDgpfWVsc2UgdC5pZHx8KHQuaWQ9bnVsbCk7cmV0dXJuIG51bGwhPT10LmJsb2NrTnVtYmVyJiYodC5ibG9ja051bWJlcj1pLmhleFRvTnVtYmVyKHQuYmxvY2tOdW1iZXIpKSxudWxsIT09dC50cmFuc2FjdGlvbkluZGV4JiYodC50cmFuc2FjdGlvbkluZGV4PWkuaGV4VG9OdW1iZXIodC50cmFuc2FjdGlvbkluZGV4KSksbnVsbCE9PXQubG9nSW5kZXgmJih0LmxvZ0luZGV4PWkuaGV4VG9OdW1iZXIodC5sb2dJbmRleCkpLHQuYWRkcmVzcyYmKHQuYWRkcmVzcz1pLnRvQ2hlY2tzdW1BZGRyZXNzKHQuYWRkcmVzcykpLHR9LGg9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IG8odCk7aWYoZS5pc1ZhbGlkKCkmJmUuaXNEaXJlY3QoKSlyZXR1cm4gZS50b0FkZHJlc3MoKS50b0xvd2VyQ2FzZSgpO2lmKGkuaXNBZGRyZXNzKHQpKXJldHVybiIweCIrdC50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoIjB4IiwiIik7dGhyb3cgbmV3IEVycm9yKCdQcm92aWRlZCBhZGRyZXNzICInK3QrIlwiIGlzIGludmFsaWQsIHRoZSBjYXBpdGFsaXphdGlvbiBjaGVja3N1bSB0ZXN0IGZhaWxlZCwgb3IgaXRzIGFuIGluZHJlY3QgSUJBTiBhZGRyZXNzIHdoaWNoIGNhbid0IGJlIGNvbnZlcnRlZC4iKX07ZS5leHBvcnRzPXtpbnB1dERlZmF1bHRCbG9ja051bWJlckZvcm1hdHRlcjpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcyYmbnVsbD09dD90aGlzLmRlZmF1bHRCbG9jazoiZ2VuZXNpcyI9PT10fHwiZWFybGllc3QiPT09dD8iMHgwIjpzKHQpfSxpbnB1dEJsb2NrTnVtYmVyRm9ybWF0dGVyOnMsaW5wdXRDYWxsRm9ybWF0dGVyOmZ1bmN0aW9uKHQpe3ZhciBlPSh0PXUodCkpLmZyb218fCh0aGlzP3RoaXMuZGVmYXVsdEFjY291bnQ6bnVsbCk7cmV0dXJuIGUmJih0LmZyb209aChlKSksdH0saW5wdXRUcmFuc2FjdGlvbkZvcm1hdHRlcjpmdW5jdGlvbih0KXtpZih0PXUodCksIW4uaXNOdW1iZXIodC5mcm9tKSYmIW4uaXNPYmplY3QodC5mcm9tKSl7aWYodC5mcm9tPXQuZnJvbXx8KHRoaXM/dGhpcy5kZWZhdWx0QWNjb3VudDpudWxsKSwhdC5mcm9tJiYhbi5pc051bWJlcih0LmZyb20pKXRocm93IG5ldyBFcnJvcignVGhlIHNlbmQgdHJhbnNhY3Rpb25zICJmcm9tIiBmaWVsZCBtdXN0IGJlIGRlZmluZWQhJyk7dC5mcm9tPWgodC5mcm9tKX1yZXR1cm4gdH0saW5wdXRBZGRyZXNzRm9ybWF0dGVyOmgsaW5wdXRQb3N0Rm9ybWF0dGVyOmZ1bmN0aW9uKHQpe3JldHVybiB0LnR0bCYmKHQudHRsPWkubnVtYmVyVG9IZXgodC50dGwpKSx0LndvcmtUb1Byb3ZlJiYodC53b3JrVG9Qcm92ZT1pLm51bWJlclRvSGV4KHQud29ya1RvUHJvdmUpKSx0LnByaW9yaXR5JiYodC5wcmlvcml0eT1pLm51bWJlclRvSGV4KHQucHJpb3JpdHkpKSxuLmlzQXJyYXkodC50b3BpY3MpfHwodC50b3BpY3M9dC50b3BpY3M/W3QudG9waWNzXTpbXSksdC50b3BpY3M9dC50b3BpY3MubWFwKGZ1bmN0aW9uKHQpe3JldHVybiAwPT09dC5pbmRleE9mKCIweCIpP3Q6aS5mcm9tVXRmOCh0KX0pLHR9LGlucHV0TG9nRm9ybWF0dGVyOmZ1bmN0aW9uKHQpe3ZhciBlPWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT10P251bGw6MD09PSh0PVN0cmluZyh0KSkuaW5kZXhPZigiMHgiKT90OmkuZnJvbVV0ZjgodCl9O3JldHVybiB0LnRvcGljcz10LnRvcGljc3x8W10sdC50b3BpY3M9dC50b3BpY3MubWFwKGZ1bmN0aW9uKHQpe3JldHVybiBuLmlzQXJyYXkodCk/dC5tYXAoZSk6ZSh0KX0pLGU9bnVsbCx0LmFkZHJlc3MmJih0LmFkZHJlc3M9bi5pc0FycmF5KHQuYWRkcmVzcyk/dC5hZGRyZXNzLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gaCh0KX0pOmgodC5hZGRyZXNzKSksdH0saW5wdXRTaWduRm9ybWF0dGVyOmZ1bmN0aW9uKHQpe3JldHVybiBpLmlzSGV4U3RyaWN0KHQpP3Q6aS51dGY4VG9IZXgodCl9LG91dHB1dEJpZ051bWJlckZvcm1hdHRlcjphLG91dHB1dFRyYW5zYWN0aW9uRm9ybWF0dGVyOmYsb3V0cHV0VHJhbnNhY3Rpb25SZWNlaXB0Rm9ybWF0dGVyOmZ1bmN0aW9uKHQpe2lmKCJvYmplY3QiIT09KHZvaWQgMD09PXQ/InVuZGVmaW5lZCI6X3R5cGVvZih0KSkpdGhyb3cgbmV3IEVycm9yKCJSZWNlaXZlZCByZWNlaXB0IGlzIGludmFsaWQ6ICIrdCk7cmV0dXJuIG51bGwhPT10LmJsb2NrTnVtYmVyJiYodC5ibG9ja051bWJlcj1pLmhleFRvTnVtYmVyKHQuYmxvY2tOdW1iZXIpKSxudWxsIT09dC50cmFuc2FjdGlvbkluZGV4JiYodC50cmFuc2FjdGlvbkluZGV4PWkuaGV4VG9OdW1iZXIodC50cmFuc2FjdGlvbkluZGV4KSksdC5jdW11bGF0aXZlR2FzVXNlZD1pLmhleFRvTnVtYmVyKHQuY3VtdWxhdGl2ZUdhc1VzZWQpLHQuZ2FzVXNlZD1pLmhleFRvTnVtYmVyKHQuZ2FzVXNlZCksbi5pc0FycmF5KHQubG9ncykmJih0LmxvZ3M9dC5sb2dzLm1hcChjKSksdC5jb250cmFjdEFkZHJlc3MmJih0LmNvbnRyYWN0QWRkcmVzcz1pLnRvQ2hlY2tzdW1BZGRyZXNzKHQuY29udHJhY3RBZGRyZXNzKSksdm9pZCAwIT09dC5zdGF0dXMmJih0LnN0YXR1cz1Cb29sZWFuKHBhcnNlSW50KHQuc3RhdHVzKSkpLHR9LG91dHB1dEJsb2NrRm9ybWF0dGVyOmZ1bmN0aW9uKHQpe3JldHVybiB0Lmdhc0xpbWl0PWkuaGV4VG9OdW1iZXIodC5nYXNMaW1pdCksdC5nYXNVc2VkPWkuaGV4VG9OdW1iZXIodC5nYXNVc2VkKSx0LnNpemU9aS5oZXhUb051bWJlcih0LnNpemUpLHQudGltZXN0YW1wPWkuaGV4VG9OdW1iZXIodC50aW1lc3RhbXApLG51bGwhPT10Lm51bWJlciYmKHQubnVtYmVyPWkuaGV4VG9OdW1iZXIodC5udW1iZXIpKSx0LmRpZmZpY3VsdHkmJih0LmRpZmZpY3VsdHk9YSh0LmRpZmZpY3VsdHkpKSx0LnRvdGFsRGlmZmljdWx0eSYmKHQudG90YWxEaWZmaWN1bHR5PWEodC50b3RhbERpZmZpY3VsdHkpKSxuLmlzQXJyYXkodC50cmFuc2FjdGlvbnMpJiZ0LnRyYW5zYWN0aW9ucy5mb3JFYWNoKGZ1bmN0aW9uKHQpe2lmKCFuLmlzU3RyaW5nKHQpKXJldHVybiBmKHQpfSksdC5taW5lciYmKHQubWluZXI9aS50b0NoZWNrc3VtQWRkcmVzcyh0Lm1pbmVyKSksdH0sb3V0cHV0TG9nRm9ybWF0dGVyOmMsb3V0cHV0UG9zdEZvcm1hdHRlcjpmdW5jdGlvbih0KXtyZXR1cm4gdC5leHBpcnk9aS5oZXhUb051bWJlcih0LmV4cGlyeSksdC5zZW50PWkuaGV4VG9OdW1iZXIodC5zZW50KSx0LnR0bD1pLmhleFRvTnVtYmVyKHQudHRsKSx0LndvcmtQcm92ZWQ9aS5oZXhUb051bWJlcih0LndvcmtQcm92ZWQpLHQudG9waWNzfHwodC50b3BpY3M9W10pLHQudG9waWNzPXQudG9waWNzLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gaS50b1V0ZjgodCl9KSx0fSxvdXRwdXRTeW5jaW5nRm9ybWF0dGVyOmZ1bmN0aW9uKHQpe3JldHVybiB0LnN0YXJ0aW5nQmxvY2s9aS5oZXhUb051bWJlcih0LnN0YXJ0aW5nQmxvY2spLHQuY3VycmVudEJsb2NrPWkuaGV4VG9OdW1iZXIodC5jdXJyZW50QmxvY2spLHQuaGlnaGVzdEJsb2NrPWkuaGV4VG9OdW1iZXIodC5oaWdoZXN0QmxvY2spLHQua25vd25TdGF0ZXMmJih0Lmtub3duU3RhdGVzPWkuaGV4VG9OdW1iZXIodC5rbm93blN0YXRlcyksdC5wdWxsZWRTdGF0ZXM9aS5oZXhUb051bWJlcih0LnB1bGxlZFN0YXRlcykpLHR9fX0se3VuZGVyc2NvcmU6MTg4LCJ3ZWIzLWV0aC1pYmFuIjozNjgsIndlYjMtdXRpbHMiOjM5M31dLDE5MTpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQoIi4vZXJyb3JzIiksaT10KCIuL2Zvcm1hdHRlcnMiKTtlLmV4cG9ydHM9e2Vycm9yczpuLGZvcm1hdHRlcnM6aX19LHsiLi9lcnJvcnMiOjE4OSwiLi9mb3JtYXR0ZXJzIjoxOTB9XSwxOTI6W2Z1bmN0aW9uKHQsZSxyKXthcmd1bWVudHNbNF1bMTc4XVswXS5hcHBseShyLGFyZ3VtZW50cyl9LHtkdXA6MTc4fV0sMTkzOltmdW5jdGlvbih0LGUscil7dmFyIG49dCgidW5kZXJzY29yZSIpLGk9dCgid2ViMy1jb3JlLWhlbHBlcnMiKS5lcnJvcnMsbz10KCJ3ZWIzLWNvcmUtaGVscGVycyIpLmZvcm1hdHRlcnMsYT10KCJ3ZWIzLXV0aWxzIikscz10KCJ3ZWIzLWNvcmUtcHJvbWlldmVudCIpLHU9dCgid2ViMy1jb3JlLXN1YnNjcmlwdGlvbnMiKS5zdWJzY3JpcHRpb25zLGY9ZnVuY3Rpb24odCl7aWYoIXQuY2FsbHx8IXQubmFtZSl0aHJvdyBuZXcgRXJyb3IoJ1doZW4gY3JlYXRpbmcgYSBtZXRob2QgeW91IG5lZWQgdG8gcHJvdmlkZSBhdCBsZWFzdCB0aGUgIm5hbWUiIGFuZCAiY2FsbCIgcHJvcGVydHkuJyk7dGhpcy5uYW1lPXQubmFtZSx0aGlzLmNhbGw9dC5jYWxsLHRoaXMucGFyYW1zPXQucGFyYW1zfHwwLHRoaXMuaW5wdXRGb3JtYXR0ZXI9dC5pbnB1dEZvcm1hdHRlcix0aGlzLm91dHB1dEZvcm1hdHRlcj10Lm91dHB1dEZvcm1hdHRlcix0aGlzLnRyYW5zZm9ybVBheWxvYWQ9dC50cmFuc2Zvcm1QYXlsb2FkLHRoaXMuZXh0cmFGb3JtYXR0ZXJzPXQuZXh0cmFGb3JtYXR0ZXJzLHRoaXMucmVxdWVzdE1hbmFnZXI9dC5yZXF1ZXN0TWFuYWdlcix0aGlzLmFjY291bnRzPXQuYWNjb3VudHMsdGhpcy5kZWZhdWx0QmxvY2s9dC5kZWZhdWx0QmxvY2t8fCJsYXRlc3QiLHRoaXMuZGVmYXVsdEFjY291bnQ9dC5kZWZhdWx0QWNjb3VudHx8bnVsbH07Zi5wcm90b3R5cGUuc2V0UmVxdWVzdE1hbmFnZXI9ZnVuY3Rpb24odCxlKXt0aGlzLnJlcXVlc3RNYW5hZ2VyPXQsZSYmKHRoaXMuYWNjb3VudHM9ZSl9LGYucHJvdG90eXBlLmNyZWF0ZUZ1bmN0aW9uPWZ1bmN0aW9uKHQsZSl7dmFyIHI9dGhpcy5idWlsZENhbGwoKTtyZXR1cm4gci5jYWxsPXRoaXMuY2FsbCx0aGlzLnNldFJlcXVlc3RNYW5hZ2VyKHR8fHRoaXMucmVxdWVzdE1hbmFnZXIsZXx8dGhpcy5hY2NvdW50cykscn0sZi5wcm90b3R5cGUuYXR0YWNoVG9PYmplY3Q9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5idWlsZENhbGwoKTtlLmNhbGw9dGhpcy5jYWxsO3ZhciByPXRoaXMubmFtZS5zcGxpdCgiLiIpO3IubGVuZ3RoPjE/KHRbclswXV09dFtyWzBdXXx8e30sdFtyWzBdXVtyWzFdXT1lKTp0W3JbMF1dPWV9LGYucHJvdG90eXBlLmdldENhbGw9ZnVuY3Rpb24odCl7cmV0dXJuIG4uaXNGdW5jdGlvbih0aGlzLmNhbGwpP3RoaXMuY2FsbCh0KTp0aGlzLmNhbGx9LGYucHJvdG90eXBlLmV4dHJhY3RDYWxsYmFjaz1mdW5jdGlvbih0KXtpZihuLmlzRnVuY3Rpb24odFt0Lmxlbmd0aC0xXSkpcmV0dXJuIHQucG9wKCl9LGYucHJvdG90eXBlLnZhbGlkYXRlQXJncz1mdW5jdGlvbih0KXtpZih0Lmxlbmd0aCE9PXRoaXMucGFyYW1zKXRocm93IGkuSW52YWxpZE51bWJlck9mUGFyYW1zKHQubGVuZ3RoLHRoaXMucGFyYW1zLHRoaXMubmFtZSl9LGYucHJvdG90eXBlLmZvcm1hdElucHV0PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXM7cmV0dXJuIHRoaXMuaW5wdXRGb3JtYXR0ZXI/dGhpcy5pbnB1dEZvcm1hdHRlci5tYXAoZnVuY3Rpb24ocixuKXtyZXR1cm4gcj9yLmNhbGwoZSx0W25dKTp0W25dfSk6dH0sZi5wcm90b3R5cGUuZm9ybWF0T3V0cHV0PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXM7cmV0dXJuIG4uaXNBcnJheSh0KT90Lm1hcChmdW5jdGlvbih0KXtyZXR1cm4gZS5vdXRwdXRGb3JtYXR0ZXImJnQ/ZS5vdXRwdXRGb3JtYXR0ZXIodCk6dH0pOnRoaXMub3V0cHV0Rm9ybWF0dGVyJiZ0P3RoaXMub3V0cHV0Rm9ybWF0dGVyKHQpOnR9LGYucHJvdG90eXBlLnRvUGF5bG9hZD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmdldENhbGwodCkscj10aGlzLmV4dHJhY3RDYWxsYmFjayh0KSxuPXRoaXMuZm9ybWF0SW5wdXQodCk7dGhpcy52YWxpZGF0ZUFyZ3Mobik7dmFyIGk9e21ldGhvZDplLHBhcmFtczpuLGNhbGxiYWNrOnJ9O3JldHVybiB0aGlzLnRyYW5zZm9ybVBheWxvYWQmJihpPXRoaXMudHJhbnNmb3JtUGF5bG9hZChpKSksaX0sZi5wcm90b3R5cGUuX2NvbmZpcm1UcmFuc2FjdGlvbj1mdW5jdGlvbih0LGUscil7dmFyIGk9dGhpcyxjPSExLGg9ITAsZD0wLGw9MCxwPW51bGwsYj1uLmlzT2JqZWN0KHIucGFyYW1zWzBdKSYmci5wYXJhbXNbMF0uZ2FzP3IucGFyYW1zWzBdLmdhczpudWxsLG09bi5pc09iamVjdChyLnBhcmFtc1swXSkmJnIucGFyYW1zWzBdLmRhdGEmJnIucGFyYW1zWzBdLmZyb20mJiFyLnBhcmFtc1swXS50byx5PVtuZXcgZih7bmFtZToiZ2V0VHJhbnNhY3Rpb25SZWNlaXB0IixjYWxsOiJldGhfZ2V0VHJhbnNhY3Rpb25SZWNlaXB0IixwYXJhbXM6MSxpbnB1dEZvcm1hdHRlcjpbbnVsbF0sb3V0cHV0Rm9ybWF0dGVyOm8ub3V0cHV0VHJhbnNhY3Rpb25SZWNlaXB0Rm9ybWF0dGVyfSksbmV3IGYoe25hbWU6ImdldENvZGUiLGNhbGw6ImV0aF9nZXRDb2RlIixwYXJhbXM6MixpbnB1dEZvcm1hdHRlcjpbby5pbnB1dEFkZHJlc3NGb3JtYXR0ZXIsby5pbnB1dERlZmF1bHRCbG9ja051bWJlckZvcm1hdHRlcl19KSxuZXcgdSh7bmFtZToic3Vic2NyaWJlIix0eXBlOiJldGgiLHN1YnNjcmlwdGlvbnM6e25ld0Jsb2NrSGVhZGVyczp7c3Vic2NyaXB0aW9uTmFtZToibmV3SGVhZHMiLHBhcmFtczowLG91dHB1dEZvcm1hdHRlcjpvLm91dHB1dEJsb2NrRm9ybWF0dGVyfX19KV0sdj17fTtuLmVhY2goeSxmdW5jdGlvbih0KXt0LmF0dGFjaFRvT2JqZWN0KHYpLHQucmVxdWVzdE1hbmFnZXI9aS5yZXF1ZXN0TWFuYWdlcn0pO3ZhciBnPWZ1bmN0aW9uKHIsbixvLHUsZil7aWYoIW8pcmV0dXJuIGZ8fChmPXt1bnN1YnNjcmliZTpmdW5jdGlvbigpe2NsZWFySW50ZXJ2YWwocCl9fSksKHI/cy5yZXNvbHZlKHIpOnYuZ2V0VHJhbnNhY3Rpb25SZWNlaXB0KGUpKS5jYXRjaChmdW5jdGlvbihlKXtmLnVuc3Vic2NyaWJlKCksYz0hMCxhLl9maXJlRXJyb3Ioe21lc3NhZ2U6IkZhaWxlZCB0byBjaGVjayBmb3IgdHJhbnNhY3Rpb24gcmVjZWlwdDoiLGRhdGE6ZX0sdC5ldmVudEVtaXR0ZXIsdC5yZWplY3QpfSkudGhlbihmdW5jdGlvbihlKXtpZighZXx8IWUuYmxvY2tIYXNoKXRocm93IG5ldyBFcnJvcigiUmVjZWlwdCBtaXNzaW5nIG9yIGJsb2NrSGFzaCBudWxsIik7cmV0dXJuIGkuZXh0cmFGb3JtYXR0ZXJzJiZpLmV4dHJhRm9ybWF0dGVycy5yZWNlaXB0Rm9ybWF0dGVyJiYoZT1pLmV4dHJhRm9ybWF0dGVycy5yZWNlaXB0Rm9ybWF0dGVyKGUpKSx0LmV2ZW50RW1pdHRlci5saXN0ZW5lcnMoImNvbmZpcm1hdGlvbiIpLmxlbmd0aD4wJiYodm9pZCAwIT09ciYmMD09PWx8fHQuZXZlbnRFbWl0dGVyLmVtaXQoImNvbmZpcm1hdGlvbiIsbCxlKSxoPSExLDI1PT09KytsJiYoZi51bnN1YnNjcmliZSgpLHQuZXZlbnRFbWl0dGVyLnJlbW92ZUFsbExpc3RlbmVycygpKSksZX0pLnRoZW4oZnVuY3Rpb24oZSl7aWYobSYmIWMpe2lmKCFlLmNvbnRyYWN0QWRkcmVzcylyZXR1cm4gaCYmKGYudW5zdWJzY3JpYmUoKSxjPSEwKSx2b2lkIGEuX2ZpcmVFcnJvcihuZXcgRXJyb3IoIlRoZSB0cmFuc2FjdGlvbiByZWNlaXB0IGRpZG4ndCBjb250YWluIGEgY29udHJhY3QgYWRkcmVzcy4iKSx0LmV2ZW50RW1pdHRlcix0LnJlamVjdCk7di5nZXRDb2RlKGUuY29udHJhY3RBZGRyZXNzLGZ1bmN0aW9uKHIsbil7biYmKG4ubGVuZ3RoPjI/KHQuZXZlbnRFbWl0dGVyLmVtaXQoInJlY2VpcHQiLGUpLGkuZXh0cmFGb3JtYXR0ZXJzJiZpLmV4dHJhRm9ybWF0dGVycy5jb250cmFjdERlcGxveUZvcm1hdHRlcj90LnJlc29sdmUoaS5leHRyYUZvcm1hdHRlcnMuY29udHJhY3REZXBsb3lGb3JtYXR0ZXIoZSkpOnQucmVzb2x2ZShlKSxoJiZ0LmV2ZW50RW1pdHRlci5yZW1vdmVBbGxMaXN0ZW5lcnMoKSk6YS5fZmlyZUVycm9yKG5ldyBFcnJvcigiVGhlIGNvbnRyYWN0IGNvZGUgY291bGRuJ3QgYmUgc3RvcmVkLCBwbGVhc2UgY2hlY2sgeW91ciBnYXMgbGltaXQuIiksdC5ldmVudEVtaXR0ZXIsdC5yZWplY3QpLGgmJmYudW5zdWJzY3JpYmUoKSxjPSEwKX0pfXJldHVybiBlfSkudGhlbihmdW5jdGlvbihlKXttfHxjfHwoZS5vdXRPZkdhc3x8YiYmYj09PWUuZ2FzVXNlZHx8ITAhPT1lLnN0YXR1cyYmIjB4MSIhPT1lLnN0YXR1cyYmdm9pZCAwIT09ZS5zdGF0dXM/KGUmJihlPUpTT04uc3RyaW5naWZ5KGUsbnVsbCwyKSksITE9PT1lLnN0YXR1c3x8IjB4MCI9PT1lLnN0YXR1cz9hLl9maXJlRXJyb3IobmV3IEVycm9yKCJUcmFuc2FjdGlvbiBoYXMgYmVlbiByZXZlcnRlZCBieSB0aGUgRVZNOlxuIitlKSx0LmV2ZW50RW1pdHRlcix0LnJlamVjdCk6YS5fZmlyZUVycm9yKG5ldyBFcnJvcigiVHJhbnNhY3Rpb24gcmFuIG91dCBvZiBnYXMuIFBsZWFzZSBwcm92aWRlIG1vcmUgZ2FzOlxuIitlKSx0LmV2ZW50RW1pdHRlcix0LnJlamVjdCkpOih0LmV2ZW50RW1pdHRlci5lbWl0KCJyZWNlaXB0IixlKSx0LnJlc29sdmUoZSksaCYmdC5ldmVudEVtaXR0ZXIucmVtb3ZlQWxsTGlzdGVuZXJzKCkpLGgmJmYudW5zdWJzY3JpYmUoKSxjPSEwKX0pLmNhdGNoKGZ1bmN0aW9uKCl7ZCsrLG4/ZC0xPj03NTAmJihmLnVuc3Vic2NyaWJlKCksYz0hMCxhLl9maXJlRXJyb3IobmV3IEVycm9yKCJUcmFuc2FjdGlvbiB3YXMgbm90IG1pbmVkIHdpdGhpbjc1MCBzZWNvbmRzLCBwbGVhc2UgbWFrZSBzdXJlIHlvdXIgdHJhbnNhY3Rpb24gd2FzIHByb3Blcmx5IHNlbnQuIEJlIGF3YXJlIHRoYXQgaXQgbWlnaHQgc3RpbGwgYmUgbWluZWQhIiksdC5ldmVudEVtaXR0ZXIsdC5yZWplY3QpKTpkLTE+PTUwJiYoZi51bnN1YnNjcmliZSgpLGM9ITAsYS5fZmlyZUVycm9yKG5ldyBFcnJvcigiVHJhbnNhY3Rpb24gd2FzIG5vdCBtaW5lZCB3aXRoaW4gNTAgYmxvY2tzLCBwbGVhc2UgbWFrZSBzdXJlIHlvdXIgdHJhbnNhY3Rpb24gd2FzIHByb3Blcmx5IHNlbnQuIEJlIGF3YXJlIHRoYXQgaXQgbWlnaHQgc3RpbGwgYmUgbWluZWQhIiksdC5ldmVudEVtaXR0ZXIsdC5yZWplY3QpKX0pO2YudW5zdWJzY3JpYmUoKSxjPSEwLGEuX2ZpcmVFcnJvcih7bWVzc2FnZToiRmFpbGVkIHRvIHN1YnNjcmliZSB0byBuZXcgbmV3QmxvY2tIZWFkZXJzIHRvIGNvbmZpcm0gdGhlIHRyYW5zYWN0aW9uIHJlY2VpcHRzLiIsZGF0YTpvfSx0LmV2ZW50RW1pdHRlcix0LnJlamVjdCl9LHc9ZnVuY3Rpb24odCl7bi5pc0Z1bmN0aW9uKHRoaXMucmVxdWVzdE1hbmFnZXIucHJvdmlkZXIub24pP3Yuc3Vic2NyaWJlKCJuZXdCbG9ja0hlYWRlcnMiLGcuYmluZChudWxsLHQsITEpKTpwPXNldEludGVydmFsKGcuYmluZChudWxsLHQsITApLDFlMyl9LmJpbmQodGhpcyk7di5nZXRUcmFuc2FjdGlvblJlY2VpcHQoZSkudGhlbihmdW5jdGlvbihlKXtlJiZlLmJsb2NrSGFzaD8odC5ldmVudEVtaXR0ZXIubGlzdGVuZXJzKCJjb25maXJtYXRpb24iKS5sZW5ndGg+MCYmdyhlKSxnKGUsITEpKTpjfHx3KCl9KS5jYXRjaChmdW5jdGlvbigpe2N8fHcoKX0pfTt2YXIgYz1mdW5jdGlvbih0LGUpe3JldHVybiBuLmlzTnVtYmVyKHQpP2Uud2FsbGV0W3RdOm4uaXNPYmplY3QodCkmJnQuYWRkcmVzcyYmdC5wcml2YXRlS2V5P3Q6ZS53YWxsZXRbdC50b0xvd2VyQ2FzZSgpXX07Zi5wcm90b3R5cGUuYnVpbGRDYWxsPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPSJldGhfc2VuZFRyYW5zYWN0aW9uIj09PXQuY2FsbHx8ImV0aF9zZW5kUmF3VHJhbnNhY3Rpb24iPT09dC5jYWxsLHI9ZnVuY3Rpb24oKXt2YXIgcj1zKCFlKSxpPXQudG9QYXlsb2FkKEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cykpLG89ZnVuY3Rpb24obixvKXt0cnl7bz10LmZvcm1hdE91dHB1dChvKX1jYXRjaCh0KXtuPXR9aWYobyBpbnN0YW5jZW9mIEVycm9yJiYobj1vKSxuKXJldHVybiBuLmVycm9yJiYobj1uLmVycm9yKSxhLl9maXJlRXJyb3IobixyLmV2ZW50RW1pdHRlcixyLnJlamVjdCxpLmNhbGxiYWNrKTtpLmNhbGxiYWNrJiZpLmNhbGxiYWNrKG51bGwsbyksZT8oci5ldmVudEVtaXR0ZXIuZW1pdCgidHJhbnNhY3Rpb25IYXNoIixvKSx0Ll9jb25maXJtVHJhbnNhY3Rpb24ocixvLGkpKTpufHxyLnJlc29sdmUobyl9LHU9ZnVuY3Rpb24oZSl7dmFyIHI9bi5leHRlbmQoe30saSx7bWV0aG9kOiJldGhfc2VuZFJhd1RyYW5zYWN0aW9uIixwYXJhbXM6W2UucmF3VHJhbnNhY3Rpb25dfSk7dC5yZXF1ZXN0TWFuYWdlci5zZW5kKHIsbyl9LGg9ZnVuY3Rpb24odCxlKXt2YXIgaTtpZihlJiZlLmFjY291bnRzJiZlLmFjY291bnRzLndhbGxldCYmZS5hY2NvdW50cy53YWxsZXQubGVuZ3RoKWlmKCJldGhfc2VuZFRyYW5zYWN0aW9uIj09PXQubWV0aG9kKXt2YXIgYT10LnBhcmFtc1swXTtpZigoaT1jKG4uaXNPYmplY3QoYSk/YS5mcm9tOm51bGwsZS5hY2NvdW50cykpJiZpLnByaXZhdGVLZXkpcmV0dXJuIGUuYWNjb3VudHMuc2lnblRyYW5zYWN0aW9uKG4ub21pdChhLCJmcm9tIiksaS5wcml2YXRlS2V5KS50aGVuKHUpfWVsc2UgaWYoImV0aF9zaWduIj09PXQubWV0aG9kKXt2YXIgcz10LnBhcmFtc1sxXTtpZigoaT1jKHQucGFyYW1zWzBdLGUuYWNjb3VudHMpKSYmaS5wcml2YXRlS2V5KXt2YXIgZj1lLmFjY291bnRzLnNpZ24ocyxpLnByaXZhdGVLZXkpO3JldHVybiB0LmNhbGxiYWNrJiZ0LmNhbGxiYWNrKG51bGwsZi5zaWduYXR1cmUpLHZvaWQgci5yZXNvbHZlKGYuc2lnbmF0dXJlKX19cmV0dXJuIGUucmVxdWVzdE1hbmFnZXIuc2VuZCh0LG8pfTtlJiZuLmlzT2JqZWN0KGkucGFyYW1zWzBdKSYmIWkucGFyYW1zWzBdLmdhc1ByaWNlP25ldyBmKHtuYW1lOiJnZXRHYXNQcmljZSIsY2FsbDoiZXRoX2dhc1ByaWNlIixwYXJhbXM6MH0pLmNyZWF0ZUZ1bmN0aW9uKHQucmVxdWVzdE1hbmFnZXIpKGZ1bmN0aW9uKGUscil7ciYmKGkucGFyYW1zWzBdLmdhc1ByaWNlPXIpLGgoaSx0KX0pOmgoaSx0KTtyZXR1cm4gci5ldmVudEVtaXR0ZXJ9O3JldHVybiByLm1ldGhvZD10LHIucmVxdWVzdD10aGlzLnJlcXVlc3QuYmluZCh0aGlzKSxyfSxmLnByb3RvdHlwZS5yZXF1ZXN0PWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy50b1BheWxvYWQoQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKSk7cmV0dXJuIHQuZm9ybWF0PXRoaXMuZm9ybWF0T3V0cHV0LmJpbmQodGhpcyksdH0sZS5leHBvcnRzPWZ9LHt1bmRlcnNjb3JlOjE5Miwid2ViMy1jb3JlLWhlbHBlcnMiOjE5MSwid2ViMy1jb3JlLXByb21pZXZlbnQiOjE5OCwid2ViMy1jb3JlLXN1YnNjcmlwdGlvbnMiOjIwNiwid2ViMy11dGlscyI6MzkzfV0sMTk0OltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPXQoIi4vcmVnaXN0ZXIiKSgpLlByb21pc2V9LHsiLi9yZWdpc3RlciI6MTk2fV0sMTk1OltmdW5jdGlvbih0LGUscil7dmFyIG49IkBAYW55LXByb21pc2UvUkVHSVNUUkFUSU9OIixpPW51bGw7ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKHIsbyl7cj1yfHxudWxsO3ZhciBhPSExIT09KG89b3x8e30pLmdsb2JhbDtpZihudWxsPT09aSYmYSYmKGk9dFtuXXx8bnVsbCksbnVsbCE9PWkmJm51bGwhPT1yJiZpLmltcGxlbWVudGF0aW9uIT09cil0aHJvdyBuZXcgRXJyb3IoJ2FueS1wcm9taXNlIGFscmVhZHkgZGVmaW5lZCBhcyAiJytpLmltcGxlbWVudGF0aW9uKyciLiAgWW91IGNhbiBvbmx5IHJlZ2lzdGVyIGFuIGltcGxlbWVudGF0aW9uIGJlZm9yZSB0aGUgZmlyc3QgIGNhbGwgdG8gcmVxdWlyZSgiYW55LXByb21pc2UiKSBhbmQgYW4gaW1wbGVtZW50YXRpb24gY2Fubm90IGJlIGNoYW5nZWQnKTtyZXR1cm4gbnVsbD09PWkmJihpPW51bGwhPT1yJiZ2b2lkIDAhPT1vLlByb21pc2U/e1Byb21pc2U6by5Qcm9taXNlLGltcGxlbWVudGF0aW9uOnJ9OmUociksYSYmKHRbbl09aSkpLGl9fX0se31dLDE5NjpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz10KCIuL2xvYWRlciIpKHdpbmRvdyxmdW5jdGlvbigpe2lmKHZvaWQgMD09PXdpbmRvdy5Qcm9taXNlKXRocm93IG5ldyBFcnJvcigiYW55LXByb21pc2UgYnJvd3NlciByZXF1aXJlcyBhIHBvbHlmaWxsIG9yIGV4cGxpY2l0IHJlZ2lzdHJhdGlvbiBlLmc6IHJlcXVpcmUoJ2FueS1wcm9taXNlL3JlZ2lzdGVyL2JsdWViaXJkJykiKTtyZXR1cm57UHJvbWlzZTp3aW5kb3cuUHJvbWlzZSxpbXBsZW1lbnRhdGlvbjoid2luZG93LlByb21pc2UifX0pfSx7Ii4vbG9hZGVyIjoxOTV9XSwxOTc6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbj0iZnVuY3Rpb24iIT10eXBlb2YgT2JqZWN0LmNyZWF0ZSYmIn4iO2Z1bmN0aW9uIGkodCxlLHIpe3RoaXMuZm49dCx0aGlzLmNvbnRleHQ9ZSx0aGlzLm9uY2U9cnx8ITF9ZnVuY3Rpb24gbygpe31vLnByb3RvdHlwZS5fZXZlbnRzPXZvaWQgMCxvLnByb3RvdHlwZS5saXN0ZW5lcnM9ZnVuY3Rpb24odCxlKXt2YXIgcj1uP24rdDp0LGk9dGhpcy5fZXZlbnRzJiZ0aGlzLl9ldmVudHNbcl07aWYoZSlyZXR1cm4hIWk7aWYoIWkpcmV0dXJuW107aWYoaS5mbilyZXR1cm5baS5mbl07Zm9yKHZhciBvPTAsYT1pLmxlbmd0aCxzPW5ldyBBcnJheShhKTtvPGE7bysrKXNbb109aVtvXS5mbjtyZXR1cm4gc30sby5wcm90b3R5cGUuZW1pdD1mdW5jdGlvbih0LGUscixpLG8sYSl7dmFyIHM9bj9uK3Q6dDtpZighdGhpcy5fZXZlbnRzfHwhdGhpcy5fZXZlbnRzW3NdKXJldHVybiExO3ZhciB1LGYsYz10aGlzLl9ldmVudHNbc10saD1hcmd1bWVudHMubGVuZ3RoO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBjLmZuKXtzd2l0Y2goYy5vbmNlJiZ0aGlzLnJlbW92ZUxpc3RlbmVyKHQsYy5mbix2b2lkIDAsITApLGgpe2Nhc2UgMTpyZXR1cm4gYy5mbi5jYWxsKGMuY29udGV4dCksITA7Y2FzZSAyOnJldHVybiBjLmZuLmNhbGwoYy5jb250ZXh0LGUpLCEwO2Nhc2UgMzpyZXR1cm4gYy5mbi5jYWxsKGMuY29udGV4dCxlLHIpLCEwO2Nhc2UgNDpyZXR1cm4gYy5mbi5jYWxsKGMuY29udGV4dCxlLHIsaSksITA7Y2FzZSA1OnJldHVybiBjLmZuLmNhbGwoYy5jb250ZXh0LGUscixpLG8pLCEwO2Nhc2UgNjpyZXR1cm4gYy5mbi5jYWxsKGMuY29udGV4dCxlLHIsaSxvLGEpLCEwfWZvcihmPTEsdT1uZXcgQXJyYXkoaC0xKTtmPGg7ZisrKXVbZi0xXT1hcmd1bWVudHNbZl07Yy5mbi5hcHBseShjLmNvbnRleHQsdSl9ZWxzZXt2YXIgZCxsPWMubGVuZ3RoO2ZvcihmPTA7ZjxsO2YrKylzd2l0Y2goY1tmXS5vbmNlJiZ0aGlzLnJlbW92ZUxpc3RlbmVyKHQsY1tmXS5mbix2b2lkIDAsITApLGgpe2Nhc2UgMTpjW2ZdLmZuLmNhbGwoY1tmXS5jb250ZXh0KTticmVhaztjYXNlIDI6Y1tmXS5mbi5jYWxsKGNbZl0uY29udGV4dCxlKTticmVhaztjYXNlIDM6Y1tmXS5mbi5jYWxsKGNbZl0uY29udGV4dCxlLHIpO2JyZWFrO2RlZmF1bHQ6aWYoIXUpZm9yKGQ9MSx1PW5ldyBBcnJheShoLTEpO2Q8aDtkKyspdVtkLTFdPWFyZ3VtZW50c1tkXTtjW2ZdLmZuLmFwcGx5KGNbZl0uY29udGV4dCx1KX19cmV0dXJuITB9LG8ucHJvdG90eXBlLm9uPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbz1uZXcgaShlLHJ8fHRoaXMpLGE9bj9uK3Q6dDtyZXR1cm4gdGhpcy5fZXZlbnRzfHwodGhpcy5fZXZlbnRzPW4/e306T2JqZWN0LmNyZWF0ZShudWxsKSksdGhpcy5fZXZlbnRzW2FdP3RoaXMuX2V2ZW50c1thXS5mbj90aGlzLl9ldmVudHNbYV09W3RoaXMuX2V2ZW50c1thXSxvXTp0aGlzLl9ldmVudHNbYV0ucHVzaChvKTp0aGlzLl9ldmVudHNbYV09byx0aGlzfSxvLnByb3RvdHlwZS5vbmNlPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbz1uZXcgaShlLHJ8fHRoaXMsITApLGE9bj9uK3Q6dDtyZXR1cm4gdGhpcy5fZXZlbnRzfHwodGhpcy5fZXZlbnRzPW4/e306T2JqZWN0LmNyZWF0ZShudWxsKSksdGhpcy5fZXZlbnRzW2FdP3RoaXMuX2V2ZW50c1thXS5mbj90aGlzLl9ldmVudHNbYV09W3RoaXMuX2V2ZW50c1thXSxvXTp0aGlzLl9ldmVudHNbYV0ucHVzaChvKTp0aGlzLl9ldmVudHNbYV09byx0aGlzfSxvLnByb3RvdHlwZS5yZW1vdmVMaXN0ZW5lcj1mdW5jdGlvbih0LGUscixpKXt2YXIgbz1uP24rdDp0O2lmKCF0aGlzLl9ldmVudHN8fCF0aGlzLl9ldmVudHNbb10pcmV0dXJuIHRoaXM7dmFyIGE9dGhpcy5fZXZlbnRzW29dLHM9W107aWYoZSlpZihhLmZuKShhLmZuIT09ZXx8aSYmIWEub25jZXx8ciYmYS5jb250ZXh0IT09cikmJnMucHVzaChhKTtlbHNlIGZvcih2YXIgdT0wLGY9YS5sZW5ndGg7dTxmO3UrKykoYVt1XS5mbiE9PWV8fGkmJiFhW3VdLm9uY2V8fHImJmFbdV0uY29udGV4dCE9PXIpJiZzLnB1c2goYVt1XSk7cmV0dXJuIHMubGVuZ3RoP3RoaXMuX2V2ZW50c1tvXT0xPT09cy5sZW5ndGg/c1swXTpzOmRlbGV0ZSB0aGlzLl9ldmVudHNbb10sdGhpc30sby5wcm90b3R5cGUucmVtb3ZlQWxsTGlzdGVuZXJzPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9ldmVudHM/KHQ/ZGVsZXRlIHRoaXMuX2V2ZW50c1tuP24rdDp0XTp0aGlzLl9ldmVudHM9bj97fTpPYmplY3QuY3JlYXRlKG51bGwpLHRoaXMpOnRoaXN9LG8ucHJvdG90eXBlLm9mZj1vLnByb3RvdHlwZS5yZW1vdmVMaXN0ZW5lcixvLnByb3RvdHlwZS5hZGRMaXN0ZW5lcj1vLnByb3RvdHlwZS5vbixvLnByb3RvdHlwZS5zZXRNYXhMaXN0ZW5lcnM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30sby5wcmVmaXhlZD1uLHZvaWQgMCE9PWUmJihlLmV4cG9ydHM9byl9LHt9XSwxOTg6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbj10KCJldmVudGVtaXR0ZXIzIiksaT10KCJhbnktcHJvbWlzZSIpLG89ZnVuY3Rpb24odCl7dmFyIGUscixvPW5ldyBpKGZ1bmN0aW9uKCl7ZT1hcmd1bWVudHNbMF0scj1hcmd1bWVudHNbMV19KTtpZih0KXJldHVybntyZXNvbHZlOmUscmVqZWN0OnIsZXZlbnRFbWl0dGVyOm99O3ZhciBhPW5ldyBuO3JldHVybiBvLl9ldmVudHM9YS5fZXZlbnRzLG8uZW1pdD1hLmVtaXQsby5vbj1hLm9uLG8ub25jZT1hLm9uY2Usby5vZmY9YS5vZmYsby5saXN0ZW5lcnM9YS5saXN0ZW5lcnMsby5hZGRMaXN0ZW5lcj1hLmFkZExpc3RlbmVyLG8ucmVtb3ZlTGlzdGVuZXI9YS5yZW1vdmVMaXN0ZW5lcixvLnJlbW92ZUFsbExpc3RlbmVycz1hLnJlbW92ZUFsbExpc3RlbmVycyx7cmVzb2x2ZTplLHJlamVjdDpyLGV2ZW50RW1pdHRlcjpvfX07by5yZXNvbHZlPWZ1bmN0aW9uKHQpe3ZhciBlPW8oITApO3JldHVybiBlLnJlc29sdmUodCksZS5ldmVudEVtaXR0ZXJ9LGUuZXhwb3J0cz1vfSx7ImFueS1wcm9taXNlIjoxOTQsZXZlbnRlbWl0dGVyMzoxOTd9XSwxOTk6W2Z1bmN0aW9uKHQsZSxyKXthcmd1bWVudHNbNF1bMTc4XVswXS5hcHBseShyLGFyZ3VtZW50cyl9LHtkdXA6MTc4fV0sMjAwOltmdW5jdGlvbih0LGUscil7dmFyIG49dCgiLi9qc29ucnBjIiksaT10KCJ3ZWIzLWNvcmUtaGVscGVycyIpLmVycm9ycyxvPWZ1bmN0aW9uKHQpe3RoaXMucmVxdWVzdE1hbmFnZXI9dCx0aGlzLnJlcXVlc3RzPVtdfTtvLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24odCl7dGhpcy5yZXF1ZXN0cy5wdXNoKHQpfSxvLnByb3RvdHlwZS5leGVjdXRlPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5yZXF1ZXN0czt0aGlzLnJlcXVlc3RNYW5hZ2VyLnNlbmRCYXRjaCh0LGZ1bmN0aW9uKGUscil7cj1yfHxbXSx0Lm1hcChmdW5jdGlvbih0LGUpe3JldHVybiByW2VdfHx7fX0pLmZvckVhY2goZnVuY3Rpb24oZSxyKXtpZih0W3JdLmNhbGxiYWNrKXtpZihlJiZlLmVycm9yKXJldHVybiB0W3JdLmNhbGxiYWNrKGkuRXJyb3JSZXNwb25zZShlKSk7aWYoIW4uaXNWYWxpZFJlc3BvbnNlKGUpKXJldHVybiB0W3JdLmNhbGxiYWNrKGkuSW52YWxpZFJlc3BvbnNlKGUpKTt0W3JdLmNhbGxiYWNrKG51bGwsdFtyXS5mb3JtYXQ/dFtyXS5mb3JtYXQoZS5yZXN1bHQpOmUucmVzdWx0KX19KX0pfSxlLmV4cG9ydHM9b30seyIuL2pzb25ycGMiOjIwMywid2ViMy1jb3JlLWhlbHBlcnMiOjE5MX1dLDIwMTpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPW51bGwsaT1GdW5jdGlvbigicmV0dXJuIHRoaXMiKSgpO3ZvaWQgMCE9PWkuZXRoZXJldW1Qcm92aWRlcj9uPWkuZXRoZXJldW1Qcm92aWRlcjp2b2lkIDAhPT1pLndlYjMmJmkud2ViMy5jdXJyZW50UHJvdmlkZXImJihpLndlYjMuY3VycmVudFByb3ZpZGVyLnNlbmRBc3luYyYmKGkud2ViMy5jdXJyZW50UHJvdmlkZXIuc2VuZD1pLndlYjMuY3VycmVudFByb3ZpZGVyLnNlbmRBc3luYyxkZWxldGUgaS53ZWIzLmN1cnJlbnRQcm92aWRlci5zZW5kQXN5bmMpLCFpLndlYjMuY3VycmVudFByb3ZpZGVyLm9uJiZpLndlYjMuY3VycmVudFByb3ZpZGVyLmNvbm5lY3Rpb24mJiJpcGNQcm92aWRlcldyYXBwZXIiPT09aS53ZWIzLmN1cnJlbnRQcm92aWRlci5jb25uZWN0aW9uLmNvbnN0cnVjdG9yLm5hbWUmJihpLndlYjMuY3VycmVudFByb3ZpZGVyLm9uPWZ1bmN0aW9uKHQsZSl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIGUpdGhyb3cgbmV3IEVycm9yKCJUaGUgc2Vjb25kIHBhcmFtZXRlciBjYWxsYmFjayBtdXN0IGJlIGEgZnVuY3Rpb24uIik7c3dpdGNoKHQpe2Nhc2UiZGF0YSI6dGhpcy5jb25uZWN0aW9uLm9uKCJkYXRhIixmdW5jdGlvbih0KXt2YXIgcj0iIjt0PXQudG9TdHJpbmcoKTt0cnl7cj1KU09OLnBhcnNlKHQpfWNhdGNoKHIpe3JldHVybiBlKG5ldyBFcnJvcigiQ291bGRuJ3QgcGFyc2UgcmVzcG9uc2UgZGF0YSIrdCkpfXIuaWR8fC0xPT09ci5tZXRob2QuaW5kZXhPZigiX3N1YnNjcmlwdGlvbiIpfHxlKG51bGwscil9KTticmVhaztkZWZhdWx0OnRoaXMuY29ubmVjdGlvbi5vbih0LGUpfX0pLG49aS53ZWIzLmN1cnJlbnRQcm92aWRlciksZS5leHBvcnRzPW59LHt9XSwyMDI6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbj10KCJ1bmRlcnNjb3JlIiksaT10KCJ3ZWIzLWNvcmUtaGVscGVycyIpLmVycm9ycyxvPXQoIi4vanNvbnJwYy5qcyIpLGE9dCgiLi9iYXRjaC5qcyIpLHM9dCgiLi9naXZlblByb3ZpZGVyLmpzIiksdT1mdW5jdGlvbiB0KGUpe3RoaXMucHJvdmlkZXI9bnVsbCx0aGlzLnByb3ZpZGVycz10LnByb3ZpZGVycyx0aGlzLnNldFByb3ZpZGVyKGUpLHRoaXMuc3Vic2NyaXB0aW9ucz17fX07dS5naXZlblByb3ZpZGVyPXMsdS5wcm92aWRlcnM9e1dlYnNvY2tldFByb3ZpZGVyOnQoIndlYjMtcHJvdmlkZXJzLXdzIiksSHR0cFByb3ZpZGVyOnQoIndlYjMtcHJvdmlkZXJzLWh0dHAiKSxJcGNQcm92aWRlcjp0KCJ3ZWIzLXByb3ZpZGVycy1pcGMiKX0sdS5wcm90b3R5cGUuc2V0UHJvdmlkZXI9ZnVuY3Rpb24odCxlKXt2YXIgcj10aGlzO2lmKHQmJiJzdHJpbmciPT10eXBlb2YgdCYmdGhpcy5wcm92aWRlcnMpaWYoL15odHRwKHMpPzpcL1wvL2kudGVzdCh0KSl0PW5ldyB0aGlzLnByb3ZpZGVycy5IdHRwUHJvdmlkZXIodCk7ZWxzZSBpZigvXndzKHMpPzpcL1wvL2kudGVzdCh0KSl0PW5ldyB0aGlzLnByb3ZpZGVycy5XZWJzb2NrZXRQcm92aWRlcih0KTtlbHNlIGlmKHQmJiJvYmplY3QiPT09KHZvaWQgMD09PWU/InVuZGVmaW5lZCI6X3R5cGVvZihlKSkmJiJmdW5jdGlvbiI9PXR5cGVvZiBlLmNvbm5lY3QpdD1uZXcgdGhpcy5wcm92aWRlcnMuSXBjUHJvdmlkZXIodCxlKTtlbHNlIGlmKHQpdGhyb3cgbmV3IEVycm9yKCJDYW4ndCBhdXRvZGV0ZWN0IHByb3ZpZGVyIGZvciBcIiIrdCsnIicpO3RoaXMucHJvdmlkZXImJnRoaXMuY2xlYXJTdWJzY3JpcHRpb25zKCksdGhpcy5wcm92aWRlcj10fHxudWxsLHRoaXMucHJvdmlkZXImJnRoaXMucHJvdmlkZXIub24mJnRoaXMucHJvdmlkZXIub24oImRhdGEiLGZ1bmN0aW9uKHQsZSl7KHQ9dHx8ZSkubWV0aG9kJiZyLnN1YnNjcmlwdGlvbnNbdC5wYXJhbXMuc3Vic2NyaXB0aW9uXSYmci5zdWJzY3JpcHRpb25zW3QucGFyYW1zLnN1YnNjcmlwdGlvbl0uY2FsbGJhY2smJnIuc3Vic2NyaXB0aW9uc1t0LnBhcmFtcy5zdWJzY3JpcHRpb25dLmNhbGxiYWNrKG51bGwsdC5wYXJhbXMucmVzdWx0KX0pfSx1LnByb3RvdHlwZS5zZW5kPWZ1bmN0aW9uKHQsZSl7aWYoZT1lfHxmdW5jdGlvbigpe30sIXRoaXMucHJvdmlkZXIpcmV0dXJuIGUoaS5JbnZhbGlkUHJvdmlkZXIoKSk7dmFyIHI9by50b1BheWxvYWQodC5tZXRob2QsdC5wYXJhbXMpO3RoaXMucHJvdmlkZXJbdGhpcy5wcm92aWRlci5zZW5kQXN5bmM/InNlbmRBc3luYyI6InNlbmQiXShyLGZ1bmN0aW9uKHQsbil7cmV0dXJuIG4mJm4uaWQmJnIuaWQhPT1uLmlkP2UobmV3IEVycm9yKCdXcm9uZyByZXNwb25zZSBpZCAiJytuLmlkKyciIChleHBlY3RlZDogIicrci5pZCsnIikgaW4gJytKU09OLnN0cmluZ2lmeShyKSkpOnQ/ZSh0KTpuJiZuLmVycm9yP2UoaS5FcnJvclJlc3BvbnNlKG4pKTpvLmlzVmFsaWRSZXNwb25zZShuKT92b2lkIGUobnVsbCxuLnJlc3VsdCk6ZShpLkludmFsaWRSZXNwb25zZShuKSl9KX0sdS5wcm90b3R5cGUuc2VuZEJhdGNoPWZ1bmN0aW9uKHQsZSl7aWYoIXRoaXMucHJvdmlkZXIpcmV0dXJuIGUoaS5JbnZhbGlkUHJvdmlkZXIoKSk7dmFyIHI9by50b0JhdGNoUGF5bG9hZCh0KTt0aGlzLnByb3ZpZGVyW3RoaXMucHJvdmlkZXIuc2VuZEFzeW5jPyJzZW5kQXN5bmMiOiJzZW5kIl0ocixmdW5jdGlvbih0LHIpe3JldHVybiB0P2UodCk6bi5pc0FycmF5KHIpP3ZvaWQgZShudWxsLHIpOmUoaS5JbnZhbGlkUmVzcG9uc2UocikpfSl9LHUucHJvdG90eXBlLmFkZFN1YnNjcmlwdGlvbj1mdW5jdGlvbih0LGUscixuKXtpZighdGhpcy5wcm92aWRlci5vbil0aHJvdyBuZXcgRXJyb3IoIlRoZSBwcm92aWRlciBkb2Vzbid0IHN1cHBvcnQgc3Vic2NyaXB0aW9uczogIit0aGlzLnByb3ZpZGVyLmNvbnN0cnVjdG9yLm5hbWUpO3RoaXMuc3Vic2NyaXB0aW9uc1t0XT17Y2FsbGJhY2s6bix0eXBlOnIsbmFtZTplfX0sdS5wcm90b3R5cGUucmVtb3ZlU3Vic2NyaXB0aW9uPWZ1bmN0aW9uKHQsZSl7dGhpcy5zdWJzY3JpcHRpb25zW3RdJiYodGhpcy5zZW5kKHttZXRob2Q6dGhpcy5zdWJzY3JpcHRpb25zW3RdLnR5cGUrIl91bnN1YnNjcmliZSIscGFyYW1zOlt0XX0sZSksZGVsZXRlIHRoaXMuc3Vic2NyaXB0aW9uc1t0XSl9LHUucHJvdG90eXBlLmNsZWFyU3Vic2NyaXB0aW9ucz1mdW5jdGlvbih0KXt2YXIgZT10aGlzO09iamVjdC5rZXlzKHRoaXMuc3Vic2NyaXB0aW9ucykuZm9yRWFjaChmdW5jdGlvbihyKXt0JiYic3luY2luZyI9PT1lLnN1YnNjcmlwdGlvbnNbcl0ubmFtZXx8ZS5yZW1vdmVTdWJzY3JpcHRpb24ocil9KSx0aGlzLnByb3ZpZGVyLnJlc2V0JiZ0aGlzLnByb3ZpZGVyLnJlc2V0KCl9LGUuZXhwb3J0cz17TWFuYWdlcjp1LEJhdGNoTWFuYWdlcjphfX0seyIuL2JhdGNoLmpzIjoyMDAsIi4vZ2l2ZW5Qcm92aWRlci5qcyI6MjAxLCIuL2pzb25ycGMuanMiOjIwMyx1bmRlcnNjb3JlOjE5OSwid2ViMy1jb3JlLWhlbHBlcnMiOjE5MSwid2ViMy1wcm92aWRlcnMtaHR0cCI6Mzc1LCJ3ZWIzLXByb3ZpZGVycy1pcGMiOjM3OCwid2ViMy1wcm92aWRlcnMtd3MiOjM4MH1dLDIwMzpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPXttZXNzYWdlSWQ6MCx0b1BheWxvYWQ6ZnVuY3Rpb24odCxlKXtpZighdCl0aHJvdyBuZXcgRXJyb3IoJ0pTT05SUEMgbWV0aG9kIHNob3VsZCBiZSBzcGVjaWZpZWQgZm9yIHBhcmFtczogIicrSlNPTi5zdHJpbmdpZnkoZSkrJyIhJyk7cmV0dXJuIG4ubWVzc2FnZUlkKysse2pzb25ycGM6IjIuMCIsaWQ6bi5tZXNzYWdlSWQsbWV0aG9kOnQscGFyYW1zOmV8fFtdfX0saXNWYWxpZFJlc3BvbnNlOmZ1bmN0aW9uKHQpe3JldHVybiBBcnJheS5pc0FycmF5KHQpP3QuZXZlcnkoZSk6ZSh0KTtmdW5jdGlvbiBlKHQpe3JldHVybiEoIXR8fHQuZXJyb3J8fCIyLjAiIT09dC5qc29ucnBjfHwibnVtYmVyIiE9dHlwZW9mIHQuaWQmJiJzdHJpbmciIT10eXBlb2YgdC5pZHx8dm9pZCAwPT09dC5yZXN1bHQpfX0sdG9CYXRjaFBheWxvYWQ6ZnVuY3Rpb24odCl7cmV0dXJuIHQubWFwKGZ1bmN0aW9uKHQpe3JldHVybiBuLnRvUGF5bG9hZCh0Lm1ldGhvZCx0LnBhcmFtcyl9KX19O2UuZXhwb3J0cz1ufSx7fV0sMjA0OltmdW5jdGlvbih0LGUscil7YXJndW1lbnRzWzRdWzE5N11bMF0uYXBwbHkocixhcmd1bWVudHMpfSx7ZHVwOjE5N31dLDIwNTpbZnVuY3Rpb24odCxlLHIpe2FyZ3VtZW50c1s0XVsxNzhdWzBdLmFwcGx5KHIsYXJndW1lbnRzKX0se2R1cDoxNzh9XSwyMDY6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbj10KCIuL3N1YnNjcmlwdGlvbi5qcyIpLGk9ZnVuY3Rpb24odCl7dGhpcy5uYW1lPXQubmFtZSx0aGlzLnR5cGU9dC50eXBlLHRoaXMuc3Vic2NyaXB0aW9ucz10LnN1YnNjcmlwdGlvbnN8fHt9LHRoaXMucmVxdWVzdE1hbmFnZXI9bnVsbH07aS5wcm90b3R5cGUuc2V0UmVxdWVzdE1hbmFnZXI9ZnVuY3Rpb24odCl7dGhpcy5yZXF1ZXN0TWFuYWdlcj10fSxpLnByb3RvdHlwZS5hdHRhY2hUb09iamVjdD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmJ1aWxkQ2FsbCgpO2UuY2FsbD10aGlzLmNhbGw7dmFyIHI9dGhpcy5uYW1lLnNwbGl0KCIuIik7ci5sZW5ndGg+MT8odFtyWzBdXT10W3JbMF1dfHx7fSx0W3JbMF1dW3JbMV1dPWUpOnRbclswXV09ZX0saS5wcm90b3R5cGUuYnVpbGRDYWxsPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcztyZXR1cm4gZnVuY3Rpb24oKXt0LnN1YnNjcmlwdGlvbnNbYXJndW1lbnRzWzBdXXx8Y29uc29sZS53YXJuKCJTdWJzY3JpcHRpb24gIitKU09OLnN0cmluZ2lmeShhcmd1bWVudHNbMF0pKyIgZG9lc24ndCBleGlzdC4gU3Vic2NyaWJpbmcgYW55d2F5LiIpO3ZhciBlPW5ldyBuKHtzdWJzY3JpcHRpb246dC5zdWJzY3JpcHRpb25zW2FyZ3VtZW50c1swXV0scmVxdWVzdE1hbmFnZXI6dC5yZXF1ZXN0TWFuYWdlcix0eXBlOnQudHlwZX0pO3JldHVybiBlLnN1YnNjcmliZS5hcHBseShlLGFyZ3VtZW50cyl9fSxlLmV4cG9ydHM9e3N1YnNjcmlwdGlvbnM6aSxzdWJzY3JpcHRpb246bn19LHsiLi9zdWJzY3JpcHRpb24uanMiOjIwN31dLDIwNzpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQoInVuZGVyc2NvcmUiKSxpPXQoIndlYjMtY29yZS1oZWxwZXJzIikuZXJyb3JzLG89dCgiZXZlbnRlbWl0dGVyMyIpO2Z1bmN0aW9uIGEodCl7by5jYWxsKHRoaXMpLHRoaXMuaWQ9bnVsbCx0aGlzLmNhbGxiYWNrPW51bGwsdGhpcy5hcmd1bWVudHM9bnVsbCx0aGlzLl9yZWNvbm5lY3RJbnRlcnZhbElkPW51bGwsdGhpcy5vcHRpb25zPXtzdWJzY3JpcHRpb246dC5zdWJzY3JpcHRpb24sdHlwZTp0LnR5cGUscmVxdWVzdE1hbmFnZXI6dC5yZXF1ZXN0TWFuYWdlcn19YS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShvLnByb3RvdHlwZSksYS5wcm90b3R5cGUuY29uc3RydWN0b3I9YSxhLnByb3RvdHlwZS5fZXh0cmFjdENhbGxiYWNrPWZ1bmN0aW9uKHQpe2lmKG4uaXNGdW5jdGlvbih0W3QubGVuZ3RoLTFdKSlyZXR1cm4gdC5wb3AoKX0sYS5wcm90b3R5cGUuX3ZhbGlkYXRlQXJncz1mdW5jdGlvbih0KXt2YXIgZT10aGlzLm9wdGlvbnMuc3Vic2NyaXB0aW9uO2lmKGV8fChlPXt9KSxlLnBhcmFtc3x8KGUucGFyYW1zPTApLHQubGVuZ3RoIT09ZS5wYXJhbXMpdGhyb3cgaS5JbnZhbGlkTnVtYmVyT2ZQYXJhbXModC5sZW5ndGgsZS5wYXJhbXMrMSx0WzBdKX0sYS5wcm90b3R5cGUuX2Zvcm1hdElucHV0PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMub3B0aW9ucy5zdWJzY3JpcHRpb247cmV0dXJuIGUmJmUuaW5wdXRGb3JtYXR0ZXI/ZS5pbnB1dEZvcm1hdHRlci5tYXAoZnVuY3Rpb24oZSxyKXtyZXR1cm4gZT9lKHRbcl0pOnRbcl19KTp0fSxhLnByb3RvdHlwZS5fZm9ybWF0T3V0cHV0PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMub3B0aW9ucy5zdWJzY3JpcHRpb247cmV0dXJuIGUmJmUub3V0cHV0Rm9ybWF0dGVyJiZ0P2Uub3V0cHV0Rm9ybWF0dGVyKHQpOnR9LGEucHJvdG90eXBlLl90b1BheWxvYWQ9ZnVuY3Rpb24odCl7dmFyIGU9W107aWYodGhpcy5jYWxsYmFjaz10aGlzLl9leHRyYWN0Q2FsbGJhY2sodCksdGhpcy5zdWJzY3JpcHRpb25NZXRob2R8fCh0aGlzLnN1YnNjcmlwdGlvbk1ldGhvZD10LnNoaWZ0KCksdGhpcy5vcHRpb25zLnN1YnNjcmlwdGlvbi5zdWJzY3JpcHRpb25OYW1lJiYodGhpcy5zdWJzY3JpcHRpb25NZXRob2Q9dGhpcy5vcHRpb25zLnN1YnNjcmlwdGlvbi5zdWJzY3JpcHRpb25OYW1lKSksdGhpcy5hcmd1bWVudHN8fCh0aGlzLmFyZ3VtZW50cz10aGlzLl9mb3JtYXRJbnB1dCh0KSx0aGlzLl92YWxpZGF0ZUFyZ3ModGhpcy5hcmd1bWVudHMpLHQ9W10pLGUucHVzaCh0aGlzLnN1YnNjcmlwdGlvbk1ldGhvZCksZT1lLmNvbmNhdCh0aGlzLmFyZ3VtZW50cyksdC5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJPbmx5IGEgY2FsbGJhY2sgaXMgYWxsb3dlZCBhcyBwYXJhbWV0ZXIgb24gYW4gYWxyZWFkeSBpbnN0YW50aWF0ZWQgc3Vic2NyaXB0aW9uLiIpO3JldHVybnttZXRob2Q6dGhpcy5vcHRpb25zLnR5cGUrIl9zdWJzY3JpYmUiLHBhcmFtczplfX0sYS5wcm90b3R5cGUudW5zdWJzY3JpYmU9ZnVuY3Rpb24odCl7dGhpcy5vcHRpb25zLnJlcXVlc3RNYW5hZ2VyLnJlbW92ZVN1YnNjcmlwdGlvbih0aGlzLmlkLHQpLHRoaXMuaWQ9bnVsbCx0aGlzLnJlbW92ZUFsbExpc3RlbmVycygpLGNsZWFySW50ZXJ2YWwodGhpcy5fcmVjb25uZWN0SW50ZXJ2YWxJZCl9LGEucHJvdG90eXBlLnN1YnNjcmliZT1mdW5jdGlvbigpe3ZhciB0PXRoaXMsZT1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpLHI9dGhpcy5fdG9QYXlsb2FkKGUpO2lmKCFyKXJldHVybiB0aGlzO2lmKCF0aGlzLm9wdGlvbnMucmVxdWVzdE1hbmFnZXIucHJvdmlkZXIpe3ZhciBpPW5ldyBFcnJvcigiTm8gcHJvdmlkZXIgc2V0LiIpO3JldHVybiB0aGlzLmNhbGxiYWNrKGksbnVsbCx0aGlzKSx0aGlzLmVtaXQoImVycm9yIixpKSx0aGlzfWlmKCF0aGlzLm9wdGlvbnMucmVxdWVzdE1hbmFnZXIucHJvdmlkZXIub24pe3ZhciBvPW5ldyBFcnJvcigiVGhlIGN1cnJlbnQgcHJvdmlkZXIgZG9lc24ndCBzdXBwb3J0IHN1YnNjcmlwdGlvbnM6ICIrdGhpcy5vcHRpb25zLnJlcXVlc3RNYW5hZ2VyLnByb3ZpZGVyLmNvbnN0cnVjdG9yLm5hbWUpO3JldHVybiB0aGlzLmNhbGxiYWNrKG8sbnVsbCx0aGlzKSx0aGlzLmVtaXQoImVycm9yIixvKSx0aGlzfXJldHVybiB0aGlzLmlkJiZ0aGlzLnVuc3Vic2NyaWJlKCksdGhpcy5vcHRpb25zLnBhcmFtcz1yLnBhcmFtc1sxXSwibG9ncyI9PT1yLnBhcmFtc1swXSYmbi5pc09iamVjdChyLnBhcmFtc1sxXSkmJnIucGFyYW1zWzFdLmhhc093blByb3BlcnR5KCJmcm9tQmxvY2siKSYmaXNGaW5pdGUoci5wYXJhbXNbMV0uZnJvbUJsb2NrKSYmdGhpcy5vcHRpb25zLnJlcXVlc3RNYW5hZ2VyLnNlbmQoe21ldGhvZDoiZXRoX2dldExvZ3MiLHBhcmFtczpbci5wYXJhbXNbMV1dfSxmdW5jdGlvbihlLHIpe2U/KHQuY2FsbGJhY2soZSxudWxsLHQpLHQuZW1pdCgiZXJyb3IiLGUpKTpyLmZvckVhY2goZnVuY3Rpb24oZSl7dmFyIHI9dC5fZm9ybWF0T3V0cHV0KGUpO3QuY2FsbGJhY2sobnVsbCxyLHQpLHQuZW1pdCgiZGF0YSIscil9KX0pLCJvYmplY3QiPT09X3R5cGVvZihyLnBhcmFtc1sxXSkmJmRlbGV0ZSByLnBhcmFtc1sxXS5mcm9tQmxvY2ssdGhpcy5vcHRpb25zLnJlcXVlc3RNYW5hZ2VyLnNlbmQocixmdW5jdGlvbihlLGkpeyFlJiZpPyh0LmlkPWksdC5vcHRpb25zLnJlcXVlc3RNYW5hZ2VyLmFkZFN1YnNjcmlwdGlvbih0LmlkLHIucGFyYW1zWzBdLHQub3B0aW9ucy50eXBlLGZ1bmN0aW9uKGUscil7ZT8odC5vcHRpb25zLnJlcXVlc3RNYW5hZ2VyLnJlbW92ZVN1YnNjcmlwdGlvbih0LmlkKSx0Lm9wdGlvbnMucmVxdWVzdE1hbmFnZXIucHJvdmlkZXIub25jZSYmKHQuX3JlY29ubmVjdEludGVydmFsSWQ9c2V0SW50ZXJ2YWwoZnVuY3Rpb24oKXt0Lm9wdGlvbnMucmVxdWVzdE1hbmFnZXIucHJvdmlkZXIucmVjb25uZWN0JiZ0Lm9wdGlvbnMucmVxdWVzdE1hbmFnZXIucHJvdmlkZXIucmVjb25uZWN0KCl9LDUwMCksdC5vcHRpb25zLnJlcXVlc3RNYW5hZ2VyLnByb3ZpZGVyLm9uY2UoImNvbm5lY3QiLGZ1bmN0aW9uKCl7Y2xlYXJJbnRlcnZhbCh0Ll9yZWNvbm5lY3RJbnRlcnZhbElkKSx0LnN1YnNjcmliZSh0LmNhbGxiYWNrKX0pKSx0LmVtaXQoImVycm9yIixlKSxuLmlzRnVuY3Rpb24odC5jYWxsYmFjaykmJnQuY2FsbGJhY2soZSxudWxsLHQpKToobi5pc0FycmF5KHIpfHwocj1bcl0pLHIuZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgcj10Ll9mb3JtYXRPdXRwdXQoZSk7aWYobi5pc0Z1bmN0aW9uKHQub3B0aW9ucy5zdWJzY3JpcHRpb24uc3Vic2NyaXB0aW9uSGFuZGxlcikpcmV0dXJuIHQub3B0aW9ucy5zdWJzY3JpcHRpb24uc3Vic2NyaXB0aW9uSGFuZGxlci5jYWxsKHQscik7dC5lbWl0KCJkYXRhIixyKSxuLmlzRnVuY3Rpb24odC5jYWxsYmFjaykmJnQuY2FsbGJhY2sobnVsbCxyLHQpfSkpfSkpOm4uaXNGdW5jdGlvbih0LmNhbGxiYWNrKT8odC5jYWxsYmFjayhlLG51bGwsdCksdC5lbWl0KCJlcnJvciIsZSkpOnQuZW1pdCgiZXJyb3IiLGUpfSksdGhpc30sZS5leHBvcnRzPWF9LHtldmVudGVtaXR0ZXIzOjIwNCx1bmRlcnNjb3JlOjIwNSwid2ViMy1jb3JlLWhlbHBlcnMiOjE5MX1dLDIwODpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQoIndlYjMtY29yZS1oZWxwZXJzIikuZm9ybWF0dGVycyxpPXQoIndlYjMtY29yZS1tZXRob2QiKSxvPXQoIndlYjMtdXRpbHMiKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7dmFyIGU9ZnVuY3Rpb24oZSl7dmFyIHI7cmV0dXJuIGUucHJvcGVydHk/KHRbZS5wcm9wZXJ0eV18fCh0W2UucHJvcGVydHldPXt9KSxyPXRbZS5wcm9wZXJ0eV0pOnI9dCxlLm1ldGhvZHMmJmUubWV0aG9kcy5mb3JFYWNoKGZ1bmN0aW9uKGUpe2UgaW5zdGFuY2VvZiBpfHwoZT1uZXcgaShlKSksZS5hdHRhY2hUb09iamVjdChyKSxlLnNldFJlcXVlc3RNYW5hZ2VyKHQuX3JlcXVlc3RNYW5hZ2VyKX0pLHR9O3JldHVybiBlLmZvcm1hdHRlcnM9bixlLnV0aWxzPW8sZS5NZXRob2Q9aSxlfX0seyJ3ZWIzLWNvcmUtaGVscGVycyI6MTkxLCJ3ZWIzLWNvcmUtbWV0aG9kIjoxOTMsIndlYjMtdXRpbHMiOjM5M31dLDIwOTpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQoIndlYjMtY29yZS1yZXF1ZXN0bWFuYWdlciIpLGk9dCgiLi9leHRlbmQuanMiKTtlLmV4cG9ydHM9e3BhY2thZ2VJbml0OmZ1bmN0aW9uKHQsZSl7aWYoZT1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChlKSwhdCl0aHJvdyBuZXcgRXJyb3IoJ1lvdSBuZWVkIHRvIGluc3RhbnRpYXRlIHVzaW5nIHRoZSAibmV3IiBrZXl3b3JkLicpO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJjdXJyZW50UHJvdmlkZXIiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdC5fcHJvdmlkZXJ9LHNldDpmdW5jdGlvbihlKXtyZXR1cm4gdC5zZXRQcm92aWRlcihlKX0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KSxlWzBdJiZlWzBdLl9yZXF1ZXN0TWFuYWdlcj90Ll9yZXF1ZXN0TWFuYWdlcj1uZXcgbi5NYW5hZ2VyKGVbMF0uY3VycmVudFByb3ZpZGVyKToodC5fcmVxdWVzdE1hbmFnZXI9bmV3IG4uTWFuYWdlcix0Ll9yZXF1ZXN0TWFuYWdlci5zZXRQcm92aWRlcihlWzBdLGVbMV0pKSx0LmdpdmVuUHJvdmlkZXI9bi5NYW5hZ2VyLmdpdmVuUHJvdmlkZXIsdC5wcm92aWRlcnM9bi5NYW5hZ2VyLnByb3ZpZGVycyx0Ll9wcm92aWRlcj10Ll9yZXF1ZXN0TWFuYWdlci5wcm92aWRlcix0LnNldFByb3ZpZGVyfHwodC5zZXRQcm92aWRlcj1mdW5jdGlvbihlLHIpe3JldHVybiB0Ll9yZXF1ZXN0TWFuYWdlci5zZXRQcm92aWRlcihlLHIpLHQuX3Byb3ZpZGVyPXQuX3JlcXVlc3RNYW5hZ2VyLnByb3ZpZGVyLCEwfSksdC5CYXRjaFJlcXVlc3Q9bi5CYXRjaE1hbmFnZXIuYmluZChudWxsLHQuX3JlcXVlc3RNYW5hZ2VyKSx0LmV4dGVuZD1pKHQpfSxhZGRQcm92aWRlcnM6ZnVuY3Rpb24odCl7dC5naXZlblByb3ZpZGVyPW4uTWFuYWdlci5naXZlblByb3ZpZGVyLHQucHJvdmlkZXJzPW4uTWFuYWdlci5wcm92aWRlcnN9fX0seyIuL2V4dGVuZC5qcyI6MjA4LCJ3ZWIzLWNvcmUtcmVxdWVzdG1hbmFnZXIiOjIwMn1dLDIxMDpbZnVuY3Rpb24odCxlLHIpeyFmdW5jdGlvbihlLHIpe2Z1bmN0aW9uIG4odCxlKXtpZighdCl0aHJvdyBuZXcgRXJyb3IoZXx8IkFzc2VydGlvbiBmYWlsZWQiKX1mdW5jdGlvbiBpKHQsZSl7dC5zdXBlcl89ZTt2YXIgcj1mdW5jdGlvbigpe307ci5wcm90b3R5cGU9ZS5wcm90b3R5cGUsdC5wcm90b3R5cGU9bmV3IHIsdC5wcm90b3R5cGUuY29uc3RydWN0b3I9dH1mdW5jdGlvbiBvKHQsZSxyKXtpZihvLmlzQk4odCkpcmV0dXJuIHQ7dGhpcy5uZWdhdGl2ZT0wLHRoaXMud29yZHM9bnVsbCx0aGlzLmxlbmd0aD0wLHRoaXMucmVkPW51bGwsbnVsbCE9PXQmJigibGUiIT09ZSYmImJlIiE9PWV8fChyPWUsZT0xMCksdGhpcy5faW5pdCh0fHwwLGV8fDEwLHJ8fCJiZSIpKX12YXIgYTsib2JqZWN0Ij09PSh2b2lkIDA9PT1lPyJ1bmRlZmluZWQiOl90eXBlb2YoZSkpP2UuZXhwb3J0cz1vOnIuQk49byxvLkJOPW8sby53b3JkU2l6ZT0yNjt0cnl7YT10KCJidWZmZXIiKS5CdWZmZXJ9Y2F0Y2godCl7fWZ1bmN0aW9uIHModCxlLHIpe2Zvcih2YXIgbj0wLGk9TWF0aC5taW4odC5sZW5ndGgsciksbz1lO288aTtvKyspe3ZhciBhPXQuY2hhckNvZGVBdChvKS00ODtuPDw9NCxufD1hPj00OSYmYTw9NTQ/YS00OSsxMDphPj0xNyYmYTw9MjI/YS0xNysxMDoxNSZhfXJldHVybiBufWZ1bmN0aW9uIHUodCxlLHIsbil7Zm9yKHZhciBpPTAsbz1NYXRoLm1pbih0Lmxlbmd0aCxyKSxhPWU7YTxvO2ErKyl7dmFyIHM9dC5jaGFyQ29kZUF0KGEpLTQ4O2kqPW4saSs9cz49NDk/cy00OSsxMDpzPj0xNz9zLTE3KzEwOnN9cmV0dXJuIGl9by5pc0JOPWZ1bmN0aW9uKHQpe3JldHVybiB0IGluc3RhbmNlb2Ygb3x8bnVsbCE9PXQmJiJvYmplY3QiPT09KHZvaWQgMD09PXQ/InVuZGVmaW5lZCI6X3R5cGVvZih0KSkmJnQuY29uc3RydWN0b3Iud29yZFNpemU9PT1vLndvcmRTaXplJiZBcnJheS5pc0FycmF5KHQud29yZHMpfSxvLm1heD1mdW5jdGlvbih0LGUpe3JldHVybiB0LmNtcChlKT4wP3Q6ZX0sby5taW49ZnVuY3Rpb24odCxlKXtyZXR1cm4gdC5jbXAoZSk8MD90OmV9LG8ucHJvdG90eXBlLl9pbml0PWZ1bmN0aW9uKHQsZSxyKXtpZigibnVtYmVyIj09dHlwZW9mIHQpcmV0dXJuIHRoaXMuX2luaXROdW1iZXIodCxlLHIpO2lmKCJvYmplY3QiPT09KHZvaWQgMD09PXQ/InVuZGVmaW5lZCI6X3R5cGVvZih0KSkpcmV0dXJuIHRoaXMuX2luaXRBcnJheSh0LGUscik7ImhleCI9PT1lJiYoZT0xNiksbihlPT09KDB8ZSkmJmU+PTImJmU8PTM2KTt2YXIgaT0wOyItIj09PSh0PXQudG9TdHJpbmcoKS5yZXBsYWNlKC9ccysvZywiIikpWzBdJiZpKyssMTY9PT1lP3RoaXMuX3BhcnNlSGV4KHQsaSk6dGhpcy5fcGFyc2VCYXNlKHQsZSxpKSwiLSI9PT10WzBdJiYodGhpcy5uZWdhdGl2ZT0xKSx0aGlzLnN0cmlwKCksImxlIj09PXImJnRoaXMuX2luaXRBcnJheSh0aGlzLnRvQXJyYXkoKSxlLHIpfSxvLnByb3RvdHlwZS5faW5pdE51bWJlcj1mdW5jdGlvbih0LGUscil7dDwwJiYodGhpcy5uZWdhdGl2ZT0xLHQ9LXQpLHQ8NjcxMDg4NjQ/KHRoaXMud29yZHM9WzY3MTA4ODYzJnRdLHRoaXMubGVuZ3RoPTEpOnQ8NDUwMzU5OTYyNzM3MDQ5Nj8odGhpcy53b3Jkcz1bNjcxMDg4NjMmdCx0LzY3MTA4ODY0JjY3MTA4ODYzXSx0aGlzLmxlbmd0aD0yKToobih0PDkwMDcxOTkyNTQ3NDA5OTIpLHRoaXMud29yZHM9WzY3MTA4ODYzJnQsdC82NzEwODg2NCY2NzEwODg2MywxXSx0aGlzLmxlbmd0aD0zKSwibGUiPT09ciYmdGhpcy5faW5pdEFycmF5KHRoaXMudG9BcnJheSgpLGUscil9LG8ucHJvdG90eXBlLl9pbml0QXJyYXk9ZnVuY3Rpb24odCxlLHIpe2lmKG4oIm51bWJlciI9PXR5cGVvZiB0Lmxlbmd0aCksdC5sZW5ndGg8PTApcmV0dXJuIHRoaXMud29yZHM9WzBdLHRoaXMubGVuZ3RoPTEsdGhpczt0aGlzLmxlbmd0aD1NYXRoLmNlaWwodC5sZW5ndGgvMyksdGhpcy53b3Jkcz1uZXcgQXJyYXkodGhpcy5sZW5ndGgpO2Zvcih2YXIgaT0wO2k8dGhpcy5sZW5ndGg7aSsrKXRoaXMud29yZHNbaV09MDt2YXIgbyxhLHM9MDtpZigiYmUiPT09cilmb3IoaT10Lmxlbmd0aC0xLG89MDtpPj0wO2ktPTMpYT10W2ldfHRbaS0xXTw8OHx0W2ktMl08PDE2LHRoaXMud29yZHNbb118PWE8PHMmNjcxMDg4NjMsdGhpcy53b3Jkc1tvKzFdPWE+Pj4yNi1zJjY3MTA4ODYzLChzKz0yNCk+PTI2JiYocy09MjYsbysrKTtlbHNlIGlmKCJsZSI9PT1yKWZvcihpPTAsbz0wO2k8dC5sZW5ndGg7aSs9MylhPXRbaV18dFtpKzFdPDw4fHRbaSsyXTw8MTYsdGhpcy53b3Jkc1tvXXw9YTw8cyY2NzEwODg2Myx0aGlzLndvcmRzW28rMV09YT4+PjI2LXMmNjcxMDg4NjMsKHMrPTI0KT49MjYmJihzLT0yNixvKyspO3JldHVybiB0aGlzLnN0cmlwKCl9LG8ucHJvdG90eXBlLl9wYXJzZUhleD1mdW5jdGlvbih0LGUpe3RoaXMubGVuZ3RoPU1hdGguY2VpbCgodC5sZW5ndGgtZSkvNiksdGhpcy53b3Jkcz1uZXcgQXJyYXkodGhpcy5sZW5ndGgpO2Zvcih2YXIgcj0wO3I8dGhpcy5sZW5ndGg7cisrKXRoaXMud29yZHNbcl09MDt2YXIgbixpLG89MDtmb3Iocj10Lmxlbmd0aC02LG49MDtyPj1lO3ItPTYpaT1zKHQscixyKzYpLHRoaXMud29yZHNbbl18PWk8PG8mNjcxMDg4NjMsdGhpcy53b3Jkc1tuKzFdfD1pPj4+MjYtbyY0MTk0MzAzLChvKz0yNCk+PTI2JiYoby09MjYsbisrKTtyKzYhPT1lJiYoaT1zKHQsZSxyKzYpLHRoaXMud29yZHNbbl18PWk8PG8mNjcxMDg4NjMsdGhpcy53b3Jkc1tuKzFdfD1pPj4+MjYtbyY0MTk0MzAzKSx0aGlzLnN0cmlwKCl9LG8ucHJvdG90eXBlLl9wYXJzZUJhc2U9ZnVuY3Rpb24odCxlLHIpe3RoaXMud29yZHM9WzBdLHRoaXMubGVuZ3RoPTE7Zm9yKHZhciBuPTAsaT0xO2k8PTY3MTA4ODYzO2kqPWUpbisrO24tLSxpPWkvZXwwO2Zvcih2YXIgbz10Lmxlbmd0aC1yLGE9byVuLHM9TWF0aC5taW4obyxvLWEpK3IsZj0wLGM9cjtjPHM7Yys9bilmPXUodCxjLGMrbixlKSx0aGlzLmltdWxuKGkpLHRoaXMud29yZHNbMF0rZjw2NzEwODg2ND90aGlzLndvcmRzWzBdKz1mOnRoaXMuX2lhZGRuKGYpO2lmKDAhPT1hKXt2YXIgaD0xO2ZvcihmPXUodCxjLHQubGVuZ3RoLGUpLGM9MDtjPGE7YysrKWgqPWU7dGhpcy5pbXVsbihoKSx0aGlzLndvcmRzWzBdK2Y8NjcxMDg4NjQ/dGhpcy53b3Jkc1swXSs9Zjp0aGlzLl9pYWRkbihmKX19LG8ucHJvdG90eXBlLmNvcHk9ZnVuY3Rpb24odCl7dC53b3Jkcz1uZXcgQXJyYXkodGhpcy5sZW5ndGgpO2Zvcih2YXIgZT0wO2U8dGhpcy5sZW5ndGg7ZSsrKXQud29yZHNbZV09dGhpcy53b3Jkc1tlXTt0Lmxlbmd0aD10aGlzLmxlbmd0aCx0Lm5lZ2F0aXZlPXRoaXMubmVnYXRpdmUsdC5yZWQ9dGhpcy5yZWR9LG8ucHJvdG90eXBlLmNsb25lPWZ1bmN0aW9uKCl7dmFyIHQ9bmV3IG8obnVsbCk7cmV0dXJuIHRoaXMuY29weSh0KSx0fSxvLnByb3RvdHlwZS5fZXhwYW5kPWZ1bmN0aW9uKHQpe2Zvcig7dGhpcy5sZW5ndGg8dDspdGhpcy53b3Jkc1t0aGlzLmxlbmd0aCsrXT0wO3JldHVybiB0aGlzfSxvLnByb3RvdHlwZS5zdHJpcD1mdW5jdGlvbigpe2Zvcig7dGhpcy5sZW5ndGg+MSYmMD09PXRoaXMud29yZHNbdGhpcy5sZW5ndGgtMV07KXRoaXMubGVuZ3RoLS07cmV0dXJuIHRoaXMuX25vcm1TaWduKCl9LG8ucHJvdG90eXBlLl9ub3JtU2lnbj1mdW5jdGlvbigpe3JldHVybiAxPT09dGhpcy5sZW5ndGgmJjA9PT10aGlzLndvcmRzWzBdJiYodGhpcy5uZWdhdGl2ZT0wKSx0aGlzfSxvLnByb3RvdHlwZS5pbnNwZWN0PWZ1bmN0aW9uKCl7cmV0dXJuKHRoaXMucmVkPyI8Qk4tUjogIjoiPEJOOiAiKSt0aGlzLnRvU3RyaW5nKDE2KSsiPiJ9O3ZhciBmPVsiIiwiMCIsIjAwIiwiMDAwIiwiMDAwMCIsIjAwMDAwIiwiMDAwMDAwIiwiMDAwMDAwMCIsIjAwMDAwMDAwIiwiMDAwMDAwMDAwIiwiMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIiwiMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCJdLGM9WzAsMCwyNSwxNiwxMiwxMSwxMCw5LDgsOCw3LDcsNyw3LDYsNiw2LDYsNiw2LDYsNSw1LDUsNSw1LDUsNSw1LDUsNSw1LDUsNSw1LDUsNV0saD1bMCwwLDMzNTU0NDMyLDQzMDQ2NzIxLDE2Nzc3MjE2LDQ4ODI4MTI1LDYwNDY2MTc2LDQwMzUzNjA3LDE2Nzc3MjE2LDQzMDQ2NzIxLDFlNywxOTQ4NzE3MSwzNTgzMTgwOCw2Mjc0ODUxNyw3NTI5NTM2LDExMzkwNjI1LDE2Nzc3MjE2LDI0MTM3NTY5LDM0MDEyMjI0LDQ3MDQ1ODgxLDY0ZTYsNDA4NDEwMSw1MTUzNjMyLDY0MzYzNDMsNzk2MjYyNCw5NzY1NjI1LDExODgxMzc2LDE0MzQ4OTA3LDE3MjEwMzY4LDIwNTExMTQ5LDI0M2U1LDI4NjI5MTUxLDMzNTU0NDMyLDM5MTM1MzkzLDQ1NDM1NDI0LDUyNTIxODc1LDYwNDY2MTc2XTtmdW5jdGlvbiBkKHQsZSxyKXtyLm5lZ2F0aXZlPWUubmVnYXRpdmVedC5uZWdhdGl2ZTt2YXIgbj10Lmxlbmd0aCtlLmxlbmd0aHwwO3IubGVuZ3RoPW4sbj1uLTF8MDt2YXIgaT0wfHQud29yZHNbMF0sbz0wfGUud29yZHNbMF0sYT1pKm8scz02NzEwODg2MyZhLHU9YS82NzEwODg2NHwwO3Iud29yZHNbMF09cztmb3IodmFyIGY9MTtmPG47ZisrKXtmb3IodmFyIGM9dT4+PjI2LGg9NjcxMDg4NjMmdSxkPU1hdGgubWluKGYsZS5sZW5ndGgtMSksbD1NYXRoLm1heCgwLGYtdC5sZW5ndGgrMSk7bDw9ZDtsKyspe3ZhciBwPWYtbHwwO2MrPShhPShpPTB8dC53b3Jkc1twXSkqKG89MHxlLndvcmRzW2xdKStoKS82NzEwODg2NHwwLGg9NjcxMDg4NjMmYX1yLndvcmRzW2ZdPTB8aCx1PTB8Y31yZXR1cm4gMCE9PXU/ci53b3Jkc1tmXT0wfHU6ci5sZW5ndGgtLSxyLnN0cmlwKCl9by5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24odCxlKXt2YXIgcjtpZihlPTB8ZXx8MSwxNj09PSh0PXR8fDEwKXx8ImhleCI9PT10KXtyPSIiO2Zvcih2YXIgaT0wLG89MCxhPTA7YTx0aGlzLmxlbmd0aDthKyspe3ZhciBzPXRoaXMud29yZHNbYV0sdT0oMTY3NzcyMTUmKHM8PGl8bykpLnRvU3RyaW5nKDE2KTtyPTAhPT0obz1zPj4+MjQtaSYxNjc3NzIxNSl8fGEhPT10aGlzLmxlbmd0aC0xP2ZbNi11Lmxlbmd0aF0rdStyOnUrciwoaSs9Mik+PTI2JiYoaS09MjYsYS0tKX1mb3IoMCE9PW8mJihyPW8udG9TdHJpbmcoMTYpK3IpO3IubGVuZ3RoJWUhPTA7KXI9IjAiK3I7cmV0dXJuIDAhPT10aGlzLm5lZ2F0aXZlJiYocj0iLSIrcikscn1pZih0PT09KDB8dCkmJnQ+PTImJnQ8PTM2KXt2YXIgZD1jW3RdLGw9aFt0XTtyPSIiO3ZhciBwPXRoaXMuY2xvbmUoKTtmb3IocC5uZWdhdGl2ZT0wOyFwLmlzWmVybygpOyl7dmFyIGI9cC5tb2RuKGwpLnRvU3RyaW5nKHQpO3I9KHA9cC5pZGl2bihsKSkuaXNaZXJvKCk/YityOmZbZC1iLmxlbmd0aF0rYityfWZvcih0aGlzLmlzWmVybygpJiYocj0iMCIrcik7ci5sZW5ndGglZSE9MDspcj0iMCIrcjtyZXR1cm4gMCE9PXRoaXMubmVnYXRpdmUmJihyPSItIityKSxyfW4oITEsIkJhc2Ugc2hvdWxkIGJlIGJldHdlZW4gMiBhbmQgMzYiKX0sby5wcm90b3R5cGUudG9OdW1iZXI9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLndvcmRzWzBdO3JldHVybiAyPT09dGhpcy5sZW5ndGg/dCs9NjcxMDg4NjQqdGhpcy53b3Jkc1sxXTozPT09dGhpcy5sZW5ndGgmJjE9PT10aGlzLndvcmRzWzJdP3QrPTQ1MDM1OTk2MjczNzA0OTYrNjcxMDg4NjQqdGhpcy53b3Jkc1sxXTp0aGlzLmxlbmd0aD4yJiZuKCExLCJOdW1iZXIgY2FuIG9ubHkgc2FmZWx5IHN0b3JlIHVwIHRvIDUzIGJpdHMiKSwwIT09dGhpcy5uZWdhdGl2ZT8tdDp0fSxvLnByb3RvdHlwZS50b0pTT049ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50b1N0cmluZygxNil9LG8ucHJvdG90eXBlLnRvQnVmZmVyPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIG4odm9pZCAwIT09YSksdGhpcy50b0FycmF5TGlrZShhLHQsZSl9LG8ucHJvdG90eXBlLnRvQXJyYXk9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy50b0FycmF5TGlrZShBcnJheSx0LGUpfSxvLnByb3RvdHlwZS50b0FycmF5TGlrZT1mdW5jdGlvbih0LGUscil7dmFyIGk9dGhpcy5ieXRlTGVuZ3RoKCksbz1yfHxNYXRoLm1heCgxLGkpO24oaTw9bywiYnl0ZSBhcnJheSBsb25nZXIgdGhhbiBkZXNpcmVkIGxlbmd0aCIpLG4obz4wLCJSZXF1ZXN0ZWQgYXJyYXkgbGVuZ3RoIDw9IDAiKSx0aGlzLnN0cmlwKCk7dmFyIGEscyx1PSJsZSI9PT1lLGY9bmV3IHQobyksYz10aGlzLmNsb25lKCk7aWYodSl7Zm9yKHM9MDshYy5pc1plcm8oKTtzKyspYT1jLmFuZGxuKDI1NSksYy5pdXNocm4oOCksZltzXT1hO2Zvcig7czxvO3MrKylmW3NdPTB9ZWxzZXtmb3Iocz0wO3M8by1pO3MrKylmW3NdPTA7Zm9yKHM9MDshYy5pc1plcm8oKTtzKyspYT1jLmFuZGxuKDI1NSksYy5pdXNocm4oOCksZltvLXMtMV09YX1yZXR1cm4gZn0sTWF0aC5jbHozMj9vLnByb3RvdHlwZS5fY291bnRCaXRzPWZ1bmN0aW9uKHQpe3JldHVybiAzMi1NYXRoLmNsejMyKHQpfTpvLnByb3RvdHlwZS5fY291bnRCaXRzPWZ1bmN0aW9uKHQpe3ZhciBlPXQscj0wO3JldHVybiBlPj00MDk2JiYocis9MTMsZT4+Pj0xMyksZT49NjQmJihyKz03LGU+Pj49NyksZT49OCYmKHIrPTQsZT4+Pj00KSxlPj0yJiYocis9MixlPj4+PTIpLHIrZX0sby5wcm90b3R5cGUuX3plcm9CaXRzPWZ1bmN0aW9uKHQpe2lmKDA9PT10KXJldHVybiAyNjt2YXIgZT10LHI9MDtyZXR1cm4gMD09KDgxOTEmZSkmJihyKz0xMyxlPj4+PTEzKSwwPT0oMTI3JmUpJiYocis9NyxlPj4+PTcpLDA9PSgxNSZlKSYmKHIrPTQsZT4+Pj00KSwwPT0oMyZlKSYmKHIrPTIsZT4+Pj0yKSwwPT0oMSZlKSYmcisrLHJ9LG8ucHJvdG90eXBlLmJpdExlbmd0aD1mdW5jdGlvbigpe3ZhciB0PXRoaXMud29yZHNbdGhpcy5sZW5ndGgtMV0sZT10aGlzLl9jb3VudEJpdHModCk7cmV0dXJuIDI2Kih0aGlzLmxlbmd0aC0xKStlfSxvLnByb3RvdHlwZS56ZXJvQml0cz1mdW5jdGlvbigpe2lmKHRoaXMuaXNaZXJvKCkpcmV0dXJuIDA7Zm9yKHZhciB0PTAsZT0wO2U8dGhpcy5sZW5ndGg7ZSsrKXt2YXIgcj10aGlzLl96ZXJvQml0cyh0aGlzLndvcmRzW2VdKTtpZih0Kz1yLDI2IT09cilicmVha31yZXR1cm4gdH0sby5wcm90b3R5cGUuYnl0ZUxlbmd0aD1mdW5jdGlvbigpe3JldHVybiBNYXRoLmNlaWwodGhpcy5iaXRMZW5ndGgoKS84KX0sby5wcm90b3R5cGUudG9Ud29zPWZ1bmN0aW9uKHQpe3JldHVybiAwIT09dGhpcy5uZWdhdGl2ZT90aGlzLmFicygpLmlub3RuKHQpLmlhZGRuKDEpOnRoaXMuY2xvbmUoKX0sby5wcm90b3R5cGUuZnJvbVR3b3M9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMudGVzdG4odC0xKT90aGlzLm5vdG4odCkuaWFkZG4oMSkuaW5lZygpOnRoaXMuY2xvbmUoKX0sby5wcm90b3R5cGUuaXNOZWc9ZnVuY3Rpb24oKXtyZXR1cm4gMCE9PXRoaXMubmVnYXRpdmV9LG8ucHJvdG90eXBlLm5lZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmNsb25lKCkuaW5lZygpfSxvLnByb3RvdHlwZS5pbmVnPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaXNaZXJvKCl8fCh0aGlzLm5lZ2F0aXZlXj0xKSx0aGlzfSxvLnByb3RvdHlwZS5pdW9yPWZ1bmN0aW9uKHQpe2Zvcig7dGhpcy5sZW5ndGg8dC5sZW5ndGg7KXRoaXMud29yZHNbdGhpcy5sZW5ndGgrK109MDtmb3IodmFyIGU9MDtlPHQubGVuZ3RoO2UrKyl0aGlzLndvcmRzW2VdPXRoaXMud29yZHNbZV18dC53b3Jkc1tlXTtyZXR1cm4gdGhpcy5zdHJpcCgpfSxvLnByb3RvdHlwZS5pb3I9ZnVuY3Rpb24odCl7cmV0dXJuIG4oMD09KHRoaXMubmVnYXRpdmV8dC5uZWdhdGl2ZSkpLHRoaXMuaXVvcih0KX0sby5wcm90b3R5cGUub3I9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMubGVuZ3RoPnQubGVuZ3RoP3RoaXMuY2xvbmUoKS5pb3IodCk6dC5jbG9uZSgpLmlvcih0aGlzKX0sby5wcm90b3R5cGUudW9yPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmxlbmd0aD50Lmxlbmd0aD90aGlzLmNsb25lKCkuaXVvcih0KTp0LmNsb25lKCkuaXVvcih0aGlzKX0sby5wcm90b3R5cGUuaXVhbmQ9ZnVuY3Rpb24odCl7dmFyIGU7ZT10aGlzLmxlbmd0aD50Lmxlbmd0aD90OnRoaXM7Zm9yKHZhciByPTA7cjxlLmxlbmd0aDtyKyspdGhpcy53b3Jkc1tyXT10aGlzLndvcmRzW3JdJnQud29yZHNbcl07cmV0dXJuIHRoaXMubGVuZ3RoPWUubGVuZ3RoLHRoaXMuc3RyaXAoKX0sby5wcm90b3R5cGUuaWFuZD1mdW5jdGlvbih0KXtyZXR1cm4gbigwPT0odGhpcy5uZWdhdGl2ZXx0Lm5lZ2F0aXZlKSksdGhpcy5pdWFuZCh0KX0sby5wcm90b3R5cGUuYW5kPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmxlbmd0aD50Lmxlbmd0aD90aGlzLmNsb25lKCkuaWFuZCh0KTp0LmNsb25lKCkuaWFuZCh0aGlzKX0sby5wcm90b3R5cGUudWFuZD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5sZW5ndGg+dC5sZW5ndGg/dGhpcy5jbG9uZSgpLml1YW5kKHQpOnQuY2xvbmUoKS5pdWFuZCh0aGlzKX0sby5wcm90b3R5cGUuaXV4b3I9ZnVuY3Rpb24odCl7dmFyIGUscjt0aGlzLmxlbmd0aD50Lmxlbmd0aD8oZT10aGlzLHI9dCk6KGU9dCxyPXRoaXMpO2Zvcih2YXIgbj0wO248ci5sZW5ndGg7bisrKXRoaXMud29yZHNbbl09ZS53b3Jkc1tuXV5yLndvcmRzW25dO2lmKHRoaXMhPT1lKWZvcig7bjxlLmxlbmd0aDtuKyspdGhpcy53b3Jkc1tuXT1lLndvcmRzW25dO3JldHVybiB0aGlzLmxlbmd0aD1lLmxlbmd0aCx0aGlzLnN0cmlwKCl9LG8ucHJvdG90eXBlLml4b3I9ZnVuY3Rpb24odCl7cmV0dXJuIG4oMD09KHRoaXMubmVnYXRpdmV8dC5uZWdhdGl2ZSkpLHRoaXMuaXV4b3IodCl9LG8ucHJvdG90eXBlLnhvcj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5sZW5ndGg+dC5sZW5ndGg/dGhpcy5jbG9uZSgpLml4b3IodCk6dC5jbG9uZSgpLml4b3IodGhpcyl9LG8ucHJvdG90eXBlLnV4b3I9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMubGVuZ3RoPnQubGVuZ3RoP3RoaXMuY2xvbmUoKS5pdXhvcih0KTp0LmNsb25lKCkuaXV4b3IodGhpcyl9LG8ucHJvdG90eXBlLmlub3RuPWZ1bmN0aW9uKHQpe24oIm51bWJlciI9PXR5cGVvZiB0JiZ0Pj0wKTt2YXIgZT0wfE1hdGguY2VpbCh0LzI2KSxyPXQlMjY7dGhpcy5fZXhwYW5kKGUpLHI+MCYmZS0tO2Zvcih2YXIgaT0wO2k8ZTtpKyspdGhpcy53b3Jkc1tpXT02NzEwODg2MyZ+dGhpcy53b3Jkc1tpXTtyZXR1cm4gcj4wJiYodGhpcy53b3Jkc1tpXT1+dGhpcy53b3Jkc1tpXSY2NzEwODg2Mz4+MjYtciksdGhpcy5zdHJpcCgpfSxvLnByb3RvdHlwZS5ub3RuPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNsb25lKCkuaW5vdG4odCl9LG8ucHJvdG90eXBlLnNldG49ZnVuY3Rpb24odCxlKXtuKCJudW1iZXIiPT10eXBlb2YgdCYmdD49MCk7dmFyIHI9dC8yNnwwLGk9dCUyNjtyZXR1cm4gdGhpcy5fZXhwYW5kKHIrMSksdGhpcy53b3Jkc1tyXT1lP3RoaXMud29yZHNbcl18MTw8aTp0aGlzLndvcmRzW3JdJn4oMTw8aSksdGhpcy5zdHJpcCgpfSxvLnByb3RvdHlwZS5pYWRkPWZ1bmN0aW9uKHQpe3ZhciBlLHIsbjtpZigwIT09dGhpcy5uZWdhdGl2ZSYmMD09PXQubmVnYXRpdmUpcmV0dXJuIHRoaXMubmVnYXRpdmU9MCxlPXRoaXMuaXN1Yih0KSx0aGlzLm5lZ2F0aXZlXj0xLHRoaXMuX25vcm1TaWduKCk7aWYoMD09PXRoaXMubmVnYXRpdmUmJjAhPT10Lm5lZ2F0aXZlKXJldHVybiB0Lm5lZ2F0aXZlPTAsZT10aGlzLmlzdWIodCksdC5uZWdhdGl2ZT0xLGUuX25vcm1TaWduKCk7dGhpcy5sZW5ndGg+dC5sZW5ndGg/KHI9dGhpcyxuPXQpOihyPXQsbj10aGlzKTtmb3IodmFyIGk9MCxvPTA7bzxuLmxlbmd0aDtvKyspZT0oMHxyLndvcmRzW29dKSsoMHxuLndvcmRzW29dKStpLHRoaXMud29yZHNbb109NjcxMDg4NjMmZSxpPWU+Pj4yNjtmb3IoOzAhPT1pJiZvPHIubGVuZ3RoO28rKyllPSgwfHIud29yZHNbb10pK2ksdGhpcy53b3Jkc1tvXT02NzEwODg2MyZlLGk9ZT4+PjI2O2lmKHRoaXMubGVuZ3RoPXIubGVuZ3RoLDAhPT1pKXRoaXMud29yZHNbdGhpcy5sZW5ndGhdPWksdGhpcy5sZW5ndGgrKztlbHNlIGlmKHIhPT10aGlzKWZvcig7bzxyLmxlbmd0aDtvKyspdGhpcy53b3Jkc1tvXT1yLndvcmRzW29dO3JldHVybiB0aGlzfSxvLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24odCl7dmFyIGU7cmV0dXJuIDAhPT10Lm5lZ2F0aXZlJiYwPT09dGhpcy5uZWdhdGl2ZT8odC5uZWdhdGl2ZT0wLGU9dGhpcy5zdWIodCksdC5uZWdhdGl2ZV49MSxlKTowPT09dC5uZWdhdGl2ZSYmMCE9PXRoaXMubmVnYXRpdmU/KHRoaXMubmVnYXRpdmU9MCxlPXQuc3ViKHRoaXMpLHRoaXMubmVnYXRpdmU9MSxlKTp0aGlzLmxlbmd0aD50Lmxlbmd0aD90aGlzLmNsb25lKCkuaWFkZCh0KTp0LmNsb25lKCkuaWFkZCh0aGlzKX0sby5wcm90b3R5cGUuaXN1Yj1mdW5jdGlvbih0KXtpZigwIT09dC5uZWdhdGl2ZSl7dC5uZWdhdGl2ZT0wO3ZhciBlPXRoaXMuaWFkZCh0KTtyZXR1cm4gdC5uZWdhdGl2ZT0xLGUuX25vcm1TaWduKCl9aWYoMCE9PXRoaXMubmVnYXRpdmUpcmV0dXJuIHRoaXMubmVnYXRpdmU9MCx0aGlzLmlhZGQodCksdGhpcy5uZWdhdGl2ZT0xLHRoaXMuX25vcm1TaWduKCk7dmFyIHIsbixpPXRoaXMuY21wKHQpO2lmKDA9PT1pKXJldHVybiB0aGlzLm5lZ2F0aXZlPTAsdGhpcy5sZW5ndGg9MSx0aGlzLndvcmRzWzBdPTAsdGhpcztpPjA/KHI9dGhpcyxuPXQpOihyPXQsbj10aGlzKTtmb3IodmFyIG89MCxhPTA7YTxuLmxlbmd0aDthKyspbz0oZT0oMHxyLndvcmRzW2FdKS0oMHxuLndvcmRzW2FdKStvKT4+MjYsdGhpcy53b3Jkc1thXT02NzEwODg2MyZlO2Zvcig7MCE9PW8mJmE8ci5sZW5ndGg7YSsrKW89KGU9KDB8ci53b3Jkc1thXSkrbyk+PjI2LHRoaXMud29yZHNbYV09NjcxMDg4NjMmZTtpZigwPT09byYmYTxyLmxlbmd0aCYmciE9PXRoaXMpZm9yKDthPHIubGVuZ3RoO2ErKyl0aGlzLndvcmRzW2FdPXIud29yZHNbYV07cmV0dXJuIHRoaXMubGVuZ3RoPU1hdGgubWF4KHRoaXMubGVuZ3RoLGEpLHIhPT10aGlzJiYodGhpcy5uZWdhdGl2ZT0xKSx0aGlzLnN0cmlwKCl9LG8ucHJvdG90eXBlLnN1Yj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jbG9uZSgpLmlzdWIodCl9O3ZhciBsPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbixpLG8sYT10LndvcmRzLHM9ZS53b3Jkcyx1PXIud29yZHMsZj0wLGM9MHxhWzBdLGg9ODE5MSZjLGQ9Yz4+PjEzLGw9MHxhWzFdLHA9ODE5MSZsLGI9bD4+PjEzLG09MHxhWzJdLHk9ODE5MSZtLHY9bT4+PjEzLGc9MHxhWzNdLHc9ODE5MSZnLF89Zz4+PjEzLE09MHxhWzRdLHg9ODE5MSZNLGs9TT4+PjEzLFM9MHxhWzVdLEU9ODE5MSZTLEE9Uz4+PjEzLGo9MHxhWzZdLEk9ODE5MSZqLEI9aj4+PjEzLFQ9MHxhWzddLEM9ODE5MSZULFA9VD4+PjEzLFI9MHxhWzhdLE89ODE5MSZSLE49Uj4+PjEzLEw9MHxhWzldLEY9ODE5MSZMLHE9TD4+PjEzLEQ9MHxzWzBdLFU9ODE5MSZELHo9RD4+PjEzLEs9MHxzWzFdLEg9ODE5MSZLLFY9Sz4+PjEzLFc9MHxzWzJdLFg9ODE5MSZXLEc9Vz4+PjEzLEo9MHxzWzNdLFo9ODE5MSZKLCQ9Sj4+PjEzLFk9MHxzWzRdLFE9ODE5MSZZLHR0PVk+Pj4xMyxldD0wfHNbNV0scnQ9ODE5MSZldCxudD1ldD4+PjEzLGl0PTB8c1s2XSxvdD04MTkxJml0LGF0PWl0Pj4+MTMsc3Q9MHxzWzddLHV0PTgxOTEmc3QsZnQ9c3Q+Pj4xMyxjdD0wfHNbOF0saHQ9ODE5MSZjdCxkdD1jdD4+PjEzLGx0PTB8c1s5XSxwdD04MTkxJmx0LGJ0PWx0Pj4+MTM7ci5uZWdhdGl2ZT10Lm5lZ2F0aXZlXmUubmVnYXRpdmUsci5sZW5ndGg9MTk7dmFyIG10PShmKyhuPU1hdGguaW11bChoLFUpKXwwKSsoKDgxOTEmKGk9KGk9TWF0aC5pbXVsKGgseikpK01hdGguaW11bChkLFUpfDApKTw8MTMpfDA7Zj0oKG89TWF0aC5pbXVsKGQseikpKyhpPj4+MTMpfDApKyhtdD4+PjI2KXwwLG10Jj02NzEwODg2MyxuPU1hdGguaW11bChwLFUpLGk9KGk9TWF0aC5pbXVsKHAseikpK01hdGguaW11bChiLFUpfDAsbz1NYXRoLmltdWwoYix6KTt2YXIgeXQ9KGYrKG49bitNYXRoLmltdWwoaCxIKXwwKXwwKSsoKDgxOTEmKGk9KGk9aStNYXRoLmltdWwoaCxWKXwwKStNYXRoLmltdWwoZCxIKXwwKSk8PDEzKXwwO2Y9KChvPW8rTWF0aC5pbXVsKGQsVil8MCkrKGk+Pj4xMyl8MCkrKHl0Pj4+MjYpfDAseXQmPTY3MTA4ODYzLG49TWF0aC5pbXVsKHksVSksaT0oaT1NYXRoLmltdWwoeSx6KSkrTWF0aC5pbXVsKHYsVSl8MCxvPU1hdGguaW11bCh2LHopLG49bitNYXRoLmltdWwocCxIKXwwLGk9KGk9aStNYXRoLmltdWwocCxWKXwwKStNYXRoLmltdWwoYixIKXwwLG89bytNYXRoLmltdWwoYixWKXwwO3ZhciB2dD0oZisobj1uK01hdGguaW11bChoLFgpfDApfDApKygoODE5MSYoaT0oaT1pK01hdGguaW11bChoLEcpfDApK01hdGguaW11bChkLFgpfDApKTw8MTMpfDA7Zj0oKG89bytNYXRoLmltdWwoZCxHKXwwKSsoaT4+PjEzKXwwKSsodnQ+Pj4yNil8MCx2dCY9NjcxMDg4NjMsbj1NYXRoLmltdWwodyxVKSxpPShpPU1hdGguaW11bCh3LHopKStNYXRoLmltdWwoXyxVKXwwLG89TWF0aC5pbXVsKF8seiksbj1uK01hdGguaW11bCh5LEgpfDAsaT0oaT1pK01hdGguaW11bCh5LFYpfDApK01hdGguaW11bCh2LEgpfDAsbz1vK01hdGguaW11bCh2LFYpfDAsbj1uK01hdGguaW11bChwLFgpfDAsaT0oaT1pK01hdGguaW11bChwLEcpfDApK01hdGguaW11bChiLFgpfDAsbz1vK01hdGguaW11bChiLEcpfDA7dmFyIGd0PShmKyhuPW4rTWF0aC5pbXVsKGgsWil8MCl8MCkrKCg4MTkxJihpPShpPWkrTWF0aC5pbXVsKGgsJCl8MCkrTWF0aC5pbXVsKGQsWil8MCkpPDwxMyl8MDtmPSgobz1vK01hdGguaW11bChkLCQpfDApKyhpPj4+MTMpfDApKyhndD4+PjI2KXwwLGd0Jj02NzEwODg2MyxuPU1hdGguaW11bCh4LFUpLGk9KGk9TWF0aC5pbXVsKHgseikpK01hdGguaW11bChrLFUpfDAsbz1NYXRoLmltdWwoayx6KSxuPW4rTWF0aC5pbXVsKHcsSCl8MCxpPShpPWkrTWF0aC5pbXVsKHcsVil8MCkrTWF0aC5pbXVsKF8sSCl8MCxvPW8rTWF0aC5pbXVsKF8sVil8MCxuPW4rTWF0aC5pbXVsKHksWCl8MCxpPShpPWkrTWF0aC5pbXVsKHksRyl8MCkrTWF0aC5pbXVsKHYsWCl8MCxvPW8rTWF0aC5pbXVsKHYsRyl8MCxuPW4rTWF0aC5pbXVsKHAsWil8MCxpPShpPWkrTWF0aC5pbXVsKHAsJCl8MCkrTWF0aC5pbXVsKGIsWil8MCxvPW8rTWF0aC5pbXVsKGIsJCl8MDt2YXIgd3Q9KGYrKG49bitNYXRoLmltdWwoaCxRKXwwKXwwKSsoKDgxOTEmKGk9KGk9aStNYXRoLmltdWwoaCx0dCl8MCkrTWF0aC5pbXVsKGQsUSl8MCkpPDwxMyl8MDtmPSgobz1vK01hdGguaW11bChkLHR0KXwwKSsoaT4+PjEzKXwwKSsod3Q+Pj4yNil8MCx3dCY9NjcxMDg4NjMsbj1NYXRoLmltdWwoRSxVKSxpPShpPU1hdGguaW11bChFLHopKStNYXRoLmltdWwoQSxVKXwwLG89TWF0aC5pbXVsKEEseiksbj1uK01hdGguaW11bCh4LEgpfDAsaT0oaT1pK01hdGguaW11bCh4LFYpfDApK01hdGguaW11bChrLEgpfDAsbz1vK01hdGguaW11bChrLFYpfDAsbj1uK01hdGguaW11bCh3LFgpfDAsaT0oaT1pK01hdGguaW11bCh3LEcpfDApK01hdGguaW11bChfLFgpfDAsbz1vK01hdGguaW11bChfLEcpfDAsbj1uK01hdGguaW11bCh5LFopfDAsaT0oaT1pK01hdGguaW11bCh5LCQpfDApK01hdGguaW11bCh2LFopfDAsbz1vK01hdGguaW11bCh2LCQpfDAsbj1uK01hdGguaW11bChwLFEpfDAsaT0oaT1pK01hdGguaW11bChwLHR0KXwwKStNYXRoLmltdWwoYixRKXwwLG89bytNYXRoLmltdWwoYix0dCl8MDt2YXIgX3Q9KGYrKG49bitNYXRoLmltdWwoaCxydCl8MCl8MCkrKCg4MTkxJihpPShpPWkrTWF0aC5pbXVsKGgsbnQpfDApK01hdGguaW11bChkLHJ0KXwwKSk8PDEzKXwwO2Y9KChvPW8rTWF0aC5pbXVsKGQsbnQpfDApKyhpPj4+MTMpfDApKyhfdD4+PjI2KXwwLF90Jj02NzEwODg2MyxuPU1hdGguaW11bChJLFUpLGk9KGk9TWF0aC5pbXVsKEkseikpK01hdGguaW11bChCLFUpfDAsbz1NYXRoLmltdWwoQix6KSxuPW4rTWF0aC5pbXVsKEUsSCl8MCxpPShpPWkrTWF0aC5pbXVsKEUsVil8MCkrTWF0aC5pbXVsKEEsSCl8MCxvPW8rTWF0aC5pbXVsKEEsVil8MCxuPW4rTWF0aC5pbXVsKHgsWCl8MCxpPShpPWkrTWF0aC5pbXVsKHgsRyl8MCkrTWF0aC5pbXVsKGssWCl8MCxvPW8rTWF0aC5pbXVsKGssRyl8MCxuPW4rTWF0aC5pbXVsKHcsWil8MCxpPShpPWkrTWF0aC5pbXVsKHcsJCl8MCkrTWF0aC5pbXVsKF8sWil8MCxvPW8rTWF0aC5pbXVsKF8sJCl8MCxuPW4rTWF0aC5pbXVsKHksUSl8MCxpPShpPWkrTWF0aC5pbXVsKHksdHQpfDApK01hdGguaW11bCh2LFEpfDAsbz1vK01hdGguaW11bCh2LHR0KXwwLG49bitNYXRoLmltdWwocCxydCl8MCxpPShpPWkrTWF0aC5pbXVsKHAsbnQpfDApK01hdGguaW11bChiLHJ0KXwwLG89bytNYXRoLmltdWwoYixudCl8MDt2YXIgTXQ9KGYrKG49bitNYXRoLmltdWwoaCxvdCl8MCl8MCkrKCg4MTkxJihpPShpPWkrTWF0aC5pbXVsKGgsYXQpfDApK01hdGguaW11bChkLG90KXwwKSk8PDEzKXwwO2Y9KChvPW8rTWF0aC5pbXVsKGQsYXQpfDApKyhpPj4+MTMpfDApKyhNdD4+PjI2KXwwLE10Jj02NzEwODg2MyxuPU1hdGguaW11bChDLFUpLGk9KGk9TWF0aC5pbXVsKEMseikpK01hdGguaW11bChQLFUpfDAsbz1NYXRoLmltdWwoUCx6KSxuPW4rTWF0aC5pbXVsKEksSCl8MCxpPShpPWkrTWF0aC5pbXVsKEksVil8MCkrTWF0aC5pbXVsKEIsSCl8MCxvPW8rTWF0aC5pbXVsKEIsVil8MCxuPW4rTWF0aC5pbXVsKEUsWCl8MCxpPShpPWkrTWF0aC5pbXVsKEUsRyl8MCkrTWF0aC5pbXVsKEEsWCl8MCxvPW8rTWF0aC5pbXVsKEEsRyl8MCxuPW4rTWF0aC5pbXVsKHgsWil8MCxpPShpPWkrTWF0aC5pbXVsKHgsJCl8MCkrTWF0aC5pbXVsKGssWil8MCxvPW8rTWF0aC5pbXVsKGssJCl8MCxuPW4rTWF0aC5pbXVsKHcsUSl8MCxpPShpPWkrTWF0aC5pbXVsKHcsdHQpfDApK01hdGguaW11bChfLFEpfDAsbz1vK01hdGguaW11bChfLHR0KXwwLG49bitNYXRoLmltdWwoeSxydCl8MCxpPShpPWkrTWF0aC5pbXVsKHksbnQpfDApK01hdGguaW11bCh2LHJ0KXwwLG89bytNYXRoLmltdWwodixudCl8MCxuPW4rTWF0aC5pbXVsKHAsb3QpfDAsaT0oaT1pK01hdGguaW11bChwLGF0KXwwKStNYXRoLmltdWwoYixvdCl8MCxvPW8rTWF0aC5pbXVsKGIsYXQpfDA7dmFyIHh0PShmKyhuPW4rTWF0aC5pbXVsKGgsdXQpfDApfDApKygoODE5MSYoaT0oaT1pK01hdGguaW11bChoLGZ0KXwwKStNYXRoLmltdWwoZCx1dCl8MCkpPDwxMyl8MDtmPSgobz1vK01hdGguaW11bChkLGZ0KXwwKSsoaT4+PjEzKXwwKSsoeHQ+Pj4yNil8MCx4dCY9NjcxMDg4NjMsbj1NYXRoLmltdWwoTyxVKSxpPShpPU1hdGguaW11bChPLHopKStNYXRoLmltdWwoTixVKXwwLG89TWF0aC5pbXVsKE4seiksbj1uK01hdGguaW11bChDLEgpfDAsaT0oaT1pK01hdGguaW11bChDLFYpfDApK01hdGguaW11bChQLEgpfDAsbz1vK01hdGguaW11bChQLFYpfDAsbj1uK01hdGguaW11bChJLFgpfDAsaT0oaT1pK01hdGguaW11bChJLEcpfDApK01hdGguaW11bChCLFgpfDAsbz1vK01hdGguaW11bChCLEcpfDAsbj1uK01hdGguaW11bChFLFopfDAsaT0oaT1pK01hdGguaW11bChFLCQpfDApK01hdGguaW11bChBLFopfDAsbz1vK01hdGguaW11bChBLCQpfDAsbj1uK01hdGguaW11bCh4LFEpfDAsaT0oaT1pK01hdGguaW11bCh4LHR0KXwwKStNYXRoLmltdWwoayxRKXwwLG89bytNYXRoLmltdWwoayx0dCl8MCxuPW4rTWF0aC5pbXVsKHcscnQpfDAsaT0oaT1pK01hdGguaW11bCh3LG50KXwwKStNYXRoLmltdWwoXyxydCl8MCxvPW8rTWF0aC5pbXVsKF8sbnQpfDAsbj1uK01hdGguaW11bCh5LG90KXwwLGk9KGk9aStNYXRoLmltdWwoeSxhdCl8MCkrTWF0aC5pbXVsKHYsb3QpfDAsbz1vK01hdGguaW11bCh2LGF0KXwwLG49bitNYXRoLmltdWwocCx1dCl8MCxpPShpPWkrTWF0aC5pbXVsKHAsZnQpfDApK01hdGguaW11bChiLHV0KXwwLG89bytNYXRoLmltdWwoYixmdCl8MDt2YXIga3Q9KGYrKG49bitNYXRoLmltdWwoaCxodCl8MCl8MCkrKCg4MTkxJihpPShpPWkrTWF0aC5pbXVsKGgsZHQpfDApK01hdGguaW11bChkLGh0KXwwKSk8PDEzKXwwO2Y9KChvPW8rTWF0aC5pbXVsKGQsZHQpfDApKyhpPj4+MTMpfDApKyhrdD4+PjI2KXwwLGt0Jj02NzEwODg2MyxuPU1hdGguaW11bChGLFUpLGk9KGk9TWF0aC5pbXVsKEYseikpK01hdGguaW11bChxLFUpfDAsbz1NYXRoLmltdWwocSx6KSxuPW4rTWF0aC5pbXVsKE8sSCl8MCxpPShpPWkrTWF0aC5pbXVsKE8sVil8MCkrTWF0aC5pbXVsKE4sSCl8MCxvPW8rTWF0aC5pbXVsKE4sVil8MCxuPW4rTWF0aC5pbXVsKEMsWCl8MCxpPShpPWkrTWF0aC5pbXVsKEMsRyl8MCkrTWF0aC5pbXVsKFAsWCl8MCxvPW8rTWF0aC5pbXVsKFAsRyl8MCxuPW4rTWF0aC5pbXVsKEksWil8MCxpPShpPWkrTWF0aC5pbXVsKEksJCl8MCkrTWF0aC5pbXVsKEIsWil8MCxvPW8rTWF0aC5pbXVsKEIsJCl8MCxuPW4rTWF0aC5pbXVsKEUsUSl8MCxpPShpPWkrTWF0aC5pbXVsKEUsdHQpfDApK01hdGguaW11bChBLFEpfDAsbz1vK01hdGguaW11bChBLHR0KXwwLG49bitNYXRoLmltdWwoeCxydCl8MCxpPShpPWkrTWF0aC5pbXVsKHgsbnQpfDApK01hdGguaW11bChrLHJ0KXwwLG89bytNYXRoLmltdWwoayxudCl8MCxuPW4rTWF0aC5pbXVsKHcsb3QpfDAsaT0oaT1pK01hdGguaW11bCh3LGF0KXwwKStNYXRoLmltdWwoXyxvdCl8MCxvPW8rTWF0aC5pbXVsKF8sYXQpfDAsbj1uK01hdGguaW11bCh5LHV0KXwwLGk9KGk9aStNYXRoLmltdWwoeSxmdCl8MCkrTWF0aC5pbXVsKHYsdXQpfDAsbz1vK01hdGguaW11bCh2LGZ0KXwwLG49bitNYXRoLmltdWwocCxodCl8MCxpPShpPWkrTWF0aC5pbXVsKHAsZHQpfDApK01hdGguaW11bChiLGh0KXwwLG89bytNYXRoLmltdWwoYixkdCl8MDt2YXIgU3Q9KGYrKG49bitNYXRoLmltdWwoaCxwdCl8MCl8MCkrKCg4MTkxJihpPShpPWkrTWF0aC5pbXVsKGgsYnQpfDApK01hdGguaW11bChkLHB0KXwwKSk8PDEzKXwwO2Y9KChvPW8rTWF0aC5pbXVsKGQsYnQpfDApKyhpPj4+MTMpfDApKyhTdD4+PjI2KXwwLFN0Jj02NzEwODg2MyxuPU1hdGguaW11bChGLEgpLGk9KGk9TWF0aC5pbXVsKEYsVikpK01hdGguaW11bChxLEgpfDAsbz1NYXRoLmltdWwocSxWKSxuPW4rTWF0aC5pbXVsKE8sWCl8MCxpPShpPWkrTWF0aC5pbXVsKE8sRyl8MCkrTWF0aC5pbXVsKE4sWCl8MCxvPW8rTWF0aC5pbXVsKE4sRyl8MCxuPW4rTWF0aC5pbXVsKEMsWil8MCxpPShpPWkrTWF0aC5pbXVsKEMsJCl8MCkrTWF0aC5pbXVsKFAsWil8MCxvPW8rTWF0aC5pbXVsKFAsJCl8MCxuPW4rTWF0aC5pbXVsKEksUSl8MCxpPShpPWkrTWF0aC5pbXVsKEksdHQpfDApK01hdGguaW11bChCLFEpfDAsbz1vK01hdGguaW11bChCLHR0KXwwLG49bitNYXRoLmltdWwoRSxydCl8MCxpPShpPWkrTWF0aC5pbXVsKEUsbnQpfDApK01hdGguaW11bChBLHJ0KXwwLG89bytNYXRoLmltdWwoQSxudCl8MCxuPW4rTWF0aC5pbXVsKHgsb3QpfDAsaT0oaT1pK01hdGguaW11bCh4LGF0KXwwKStNYXRoLmltdWwoayxvdCl8MCxvPW8rTWF0aC5pbXVsKGssYXQpfDAsbj1uK01hdGguaW11bCh3LHV0KXwwLGk9KGk9aStNYXRoLmltdWwodyxmdCl8MCkrTWF0aC5pbXVsKF8sdXQpfDAsbz1vK01hdGguaW11bChfLGZ0KXwwLG49bitNYXRoLmltdWwoeSxodCl8MCxpPShpPWkrTWF0aC5pbXVsKHksZHQpfDApK01hdGguaW11bCh2LGh0KXwwLG89bytNYXRoLmltdWwodixkdCl8MDt2YXIgRXQ9KGYrKG49bitNYXRoLmltdWwocCxwdCl8MCl8MCkrKCg4MTkxJihpPShpPWkrTWF0aC5pbXVsKHAsYnQpfDApK01hdGguaW11bChiLHB0KXwwKSk8PDEzKXwwO2Y9KChvPW8rTWF0aC5pbXVsKGIsYnQpfDApKyhpPj4+MTMpfDApKyhFdD4+PjI2KXwwLEV0Jj02NzEwODg2MyxuPU1hdGguaW11bChGLFgpLGk9KGk9TWF0aC5pbXVsKEYsRykpK01hdGguaW11bChxLFgpfDAsbz1NYXRoLmltdWwocSxHKSxuPW4rTWF0aC5pbXVsKE8sWil8MCxpPShpPWkrTWF0aC5pbXVsKE8sJCl8MCkrTWF0aC5pbXVsKE4sWil8MCxvPW8rTWF0aC5pbXVsKE4sJCl8MCxuPW4rTWF0aC5pbXVsKEMsUSl8MCxpPShpPWkrTWF0aC5pbXVsKEMsdHQpfDApK01hdGguaW11bChQLFEpfDAsbz1vK01hdGguaW11bChQLHR0KXwwLG49bitNYXRoLmltdWwoSSxydCl8MCxpPShpPWkrTWF0aC5pbXVsKEksbnQpfDApK01hdGguaW11bChCLHJ0KXwwLG89bytNYXRoLmltdWwoQixudCl8MCxuPW4rTWF0aC5pbXVsKEUsb3QpfDAsaT0oaT1pK01hdGguaW11bChFLGF0KXwwKStNYXRoLmltdWwoQSxvdCl8MCxvPW8rTWF0aC5pbXVsKEEsYXQpfDAsbj1uK01hdGguaW11bCh4LHV0KXwwLGk9KGk9aStNYXRoLmltdWwoeCxmdCl8MCkrTWF0aC5pbXVsKGssdXQpfDAsbz1vK01hdGguaW11bChrLGZ0KXwwLG49bitNYXRoLmltdWwodyxodCl8MCxpPShpPWkrTWF0aC5pbXVsKHcsZHQpfDApK01hdGguaW11bChfLGh0KXwwLG89bytNYXRoLmltdWwoXyxkdCl8MDt2YXIgQXQ9KGYrKG49bitNYXRoLmltdWwoeSxwdCl8MCl8MCkrKCg4MTkxJihpPShpPWkrTWF0aC5pbXVsKHksYnQpfDApK01hdGguaW11bCh2LHB0KXwwKSk8PDEzKXwwO2Y9KChvPW8rTWF0aC5pbXVsKHYsYnQpfDApKyhpPj4+MTMpfDApKyhBdD4+PjI2KXwwLEF0Jj02NzEwODg2MyxuPU1hdGguaW11bChGLFopLGk9KGk9TWF0aC5pbXVsKEYsJCkpK01hdGguaW11bChxLFopfDAsbz1NYXRoLmltdWwocSwkKSxuPW4rTWF0aC5pbXVsKE8sUSl8MCxpPShpPWkrTWF0aC5pbXVsKE8sdHQpfDApK01hdGguaW11bChOLFEpfDAsbz1vK01hdGguaW11bChOLHR0KXwwLG49bitNYXRoLmltdWwoQyxydCl8MCxpPShpPWkrTWF0aC5pbXVsKEMsbnQpfDApK01hdGguaW11bChQLHJ0KXwwLG89bytNYXRoLmltdWwoUCxudCl8MCxuPW4rTWF0aC5pbXVsKEksb3QpfDAsaT0oaT1pK01hdGguaW11bChJLGF0KXwwKStNYXRoLmltdWwoQixvdCl8MCxvPW8rTWF0aC5pbXVsKEIsYXQpfDAsbj1uK01hdGguaW11bChFLHV0KXwwLGk9KGk9aStNYXRoLmltdWwoRSxmdCl8MCkrTWF0aC5pbXVsKEEsdXQpfDAsbz1vK01hdGguaW11bChBLGZ0KXwwLG49bitNYXRoLmltdWwoeCxodCl8MCxpPShpPWkrTWF0aC5pbXVsKHgsZHQpfDApK01hdGguaW11bChrLGh0KXwwLG89bytNYXRoLmltdWwoayxkdCl8MDt2YXIganQ9KGYrKG49bitNYXRoLmltdWwodyxwdCl8MCl8MCkrKCg4MTkxJihpPShpPWkrTWF0aC5pbXVsKHcsYnQpfDApK01hdGguaW11bChfLHB0KXwwKSk8PDEzKXwwO2Y9KChvPW8rTWF0aC5pbXVsKF8sYnQpfDApKyhpPj4+MTMpfDApKyhqdD4+PjI2KXwwLGp0Jj02NzEwODg2MyxuPU1hdGguaW11bChGLFEpLGk9KGk9TWF0aC5pbXVsKEYsdHQpKStNYXRoLmltdWwocSxRKXwwLG89TWF0aC5pbXVsKHEsdHQpLG49bitNYXRoLmltdWwoTyxydCl8MCxpPShpPWkrTWF0aC5pbXVsKE8sbnQpfDApK01hdGguaW11bChOLHJ0KXwwLG89bytNYXRoLmltdWwoTixudCl8MCxuPW4rTWF0aC5pbXVsKEMsb3QpfDAsaT0oaT1pK01hdGguaW11bChDLGF0KXwwKStNYXRoLmltdWwoUCxvdCl8MCxvPW8rTWF0aC5pbXVsKFAsYXQpfDAsbj1uK01hdGguaW11bChJLHV0KXwwLGk9KGk9aStNYXRoLmltdWwoSSxmdCl8MCkrTWF0aC5pbXVsKEIsdXQpfDAsbz1vK01hdGguaW11bChCLGZ0KXwwLG49bitNYXRoLmltdWwoRSxodCl8MCxpPShpPWkrTWF0aC5pbXVsKEUsZHQpfDApK01hdGguaW11bChBLGh0KXwwLG89bytNYXRoLmltdWwoQSxkdCl8MDt2YXIgSXQ9KGYrKG49bitNYXRoLmltdWwoeCxwdCl8MCl8MCkrKCg4MTkxJihpPShpPWkrTWF0aC5pbXVsKHgsYnQpfDApK01hdGguaW11bChrLHB0KXwwKSk8PDEzKXwwO2Y9KChvPW8rTWF0aC5pbXVsKGssYnQpfDApKyhpPj4+MTMpfDApKyhJdD4+PjI2KXwwLEl0Jj02NzEwODg2MyxuPU1hdGguaW11bChGLHJ0KSxpPShpPU1hdGguaW11bChGLG50KSkrTWF0aC5pbXVsKHEscnQpfDAsbz1NYXRoLmltdWwocSxudCksbj1uK01hdGguaW11bChPLG90KXwwLGk9KGk9aStNYXRoLmltdWwoTyxhdCl8MCkrTWF0aC5pbXVsKE4sb3QpfDAsbz1vK01hdGguaW11bChOLGF0KXwwLG49bitNYXRoLmltdWwoQyx1dCl8MCxpPShpPWkrTWF0aC5pbXVsKEMsZnQpfDApK01hdGguaW11bChQLHV0KXwwLG89bytNYXRoLmltdWwoUCxmdCl8MCxuPW4rTWF0aC5pbXVsKEksaHQpfDAsaT0oaT1pK01hdGguaW11bChJLGR0KXwwKStNYXRoLmltdWwoQixodCl8MCxvPW8rTWF0aC5pbXVsKEIsZHQpfDA7dmFyIEJ0PShmKyhuPW4rTWF0aC5pbXVsKEUscHQpfDApfDApKygoODE5MSYoaT0oaT1pK01hdGguaW11bChFLGJ0KXwwKStNYXRoLmltdWwoQSxwdCl8MCkpPDwxMyl8MDtmPSgobz1vK01hdGguaW11bChBLGJ0KXwwKSsoaT4+PjEzKXwwKSsoQnQ+Pj4yNil8MCxCdCY9NjcxMDg4NjMsbj1NYXRoLmltdWwoRixvdCksaT0oaT1NYXRoLmltdWwoRixhdCkpK01hdGguaW11bChxLG90KXwwLG89TWF0aC5pbXVsKHEsYXQpLG49bitNYXRoLmltdWwoTyx1dCl8MCxpPShpPWkrTWF0aC5pbXVsKE8sZnQpfDApK01hdGguaW11bChOLHV0KXwwLG89bytNYXRoLmltdWwoTixmdCl8MCxuPW4rTWF0aC5pbXVsKEMsaHQpfDAsaT0oaT1pK01hdGguaW11bChDLGR0KXwwKStNYXRoLmltdWwoUCxodCl8MCxvPW8rTWF0aC5pbXVsKFAsZHQpfDA7dmFyIFR0PShmKyhuPW4rTWF0aC5pbXVsKEkscHQpfDApfDApKygoODE5MSYoaT0oaT1pK01hdGguaW11bChJLGJ0KXwwKStNYXRoLmltdWwoQixwdCl8MCkpPDwxMyl8MDtmPSgobz1vK01hdGguaW11bChCLGJ0KXwwKSsoaT4+PjEzKXwwKSsoVHQ+Pj4yNil8MCxUdCY9NjcxMDg4NjMsbj1NYXRoLmltdWwoRix1dCksaT0oaT1NYXRoLmltdWwoRixmdCkpK01hdGguaW11bChxLHV0KXwwLG89TWF0aC5pbXVsKHEsZnQpLG49bitNYXRoLmltdWwoTyxodCl8MCxpPShpPWkrTWF0aC5pbXVsKE8sZHQpfDApK01hdGguaW11bChOLGh0KXwwLG89bytNYXRoLmltdWwoTixkdCl8MDt2YXIgQ3Q9KGYrKG49bitNYXRoLmltdWwoQyxwdCl8MCl8MCkrKCg4MTkxJihpPShpPWkrTWF0aC5pbXVsKEMsYnQpfDApK01hdGguaW11bChQLHB0KXwwKSk8PDEzKXwwO2Y9KChvPW8rTWF0aC5pbXVsKFAsYnQpfDApKyhpPj4+MTMpfDApKyhDdD4+PjI2KXwwLEN0Jj02NzEwODg2MyxuPU1hdGguaW11bChGLGh0KSxpPShpPU1hdGguaW11bChGLGR0KSkrTWF0aC5pbXVsKHEsaHQpfDAsbz1NYXRoLmltdWwocSxkdCk7dmFyIFB0PShmKyhuPW4rTWF0aC5pbXVsKE8scHQpfDApfDApKygoODE5MSYoaT0oaT1pK01hdGguaW11bChPLGJ0KXwwKStNYXRoLmltdWwoTixwdCl8MCkpPDwxMyl8MDtmPSgobz1vK01hdGguaW11bChOLGJ0KXwwKSsoaT4+PjEzKXwwKSsoUHQ+Pj4yNil8MCxQdCY9NjcxMDg4NjM7dmFyIFJ0PShmKyhuPU1hdGguaW11bChGLHB0KSl8MCkrKCg4MTkxJihpPShpPU1hdGguaW11bChGLGJ0KSkrTWF0aC5pbXVsKHEscHQpfDApKTw8MTMpfDA7cmV0dXJuIGY9KChvPU1hdGguaW11bChxLGJ0KSkrKGk+Pj4xMyl8MCkrKFJ0Pj4+MjYpfDAsUnQmPTY3MTA4ODYzLHVbMF09bXQsdVsxXT15dCx1WzJdPXZ0LHVbM109Z3QsdVs0XT13dCx1WzVdPV90LHVbNl09TXQsdVs3XT14dCx1WzhdPWt0LHVbOV09U3QsdVsxMF09RXQsdVsxMV09QXQsdVsxMl09anQsdVsxM109SXQsdVsxNF09QnQsdVsxNV09VHQsdVsxNl09Q3QsdVsxN109UHQsdVsxOF09UnQsMCE9PWYmJih1WzE5XT1mLHIubGVuZ3RoKyspLHJ9O2Z1bmN0aW9uIHAodCxlLHIpe3JldHVybihuZXcgYikubXVscCh0LGUscil9ZnVuY3Rpb24gYih0LGUpe3RoaXMueD10LHRoaXMueT1lfU1hdGguaW11bHx8KGw9ZCksby5wcm90b3R5cGUubXVsVG89ZnVuY3Rpb24odCxlKXt2YXIgcj10aGlzLmxlbmd0aCt0Lmxlbmd0aDtyZXR1cm4gMTA9PT10aGlzLmxlbmd0aCYmMTA9PT10Lmxlbmd0aD9sKHRoaXMsdCxlKTpyPDYzP2QodGhpcyx0LGUpOnI8MTAyND9mdW5jdGlvbih0LGUscil7ci5uZWdhdGl2ZT1lLm5lZ2F0aXZlXnQubmVnYXRpdmUsci5sZW5ndGg9dC5sZW5ndGgrZS5sZW5ndGg7Zm9yKHZhciBuPTAsaT0wLG89MDtvPHIubGVuZ3RoLTE7bysrKXt2YXIgYT1pO2k9MDtmb3IodmFyIHM9NjcxMDg4NjMmbix1PU1hdGgubWluKG8sZS5sZW5ndGgtMSksZj1NYXRoLm1heCgwLG8tdC5sZW5ndGgrMSk7Zjw9dTtmKyspe3ZhciBjPW8tZixoPSgwfHQud29yZHNbY10pKigwfGUud29yZHNbZl0pLGQ9NjcxMDg4NjMmaDtzPTY3MTA4ODYzJihkPWQrc3wwKSxpKz0oYT0oYT1hKyhoLzY3MTA4ODY0fDApfDApKyhkPj4+MjYpfDApPj4+MjYsYSY9NjcxMDg4NjN9ci53b3Jkc1tvXT1zLG49YSxhPWl9cmV0dXJuIDAhPT1uP3Iud29yZHNbb109bjpyLmxlbmd0aC0tLHIuc3RyaXAoKX0odGhpcyx0LGUpOnAodGhpcyx0LGUpfSxiLnByb3RvdHlwZS5tYWtlUkJUPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1uZXcgQXJyYXkodCkscj1vLnByb3RvdHlwZS5fY291bnRCaXRzKHQpLTEsbj0wO248dDtuKyspZVtuXT10aGlzLnJldkJpbihuLHIsdCk7cmV0dXJuIGV9LGIucHJvdG90eXBlLnJldkJpbj1mdW5jdGlvbih0LGUscil7aWYoMD09PXR8fHQ9PT1yLTEpcmV0dXJuIHQ7Zm9yKHZhciBuPTAsaT0wO2k8ZTtpKyspbnw9KDEmdCk8PGUtaS0xLHQ+Pj0xO3JldHVybiBufSxiLnByb3RvdHlwZS5wZXJtdXRlPWZ1bmN0aW9uKHQsZSxyLG4saSxvKXtmb3IodmFyIGE9MDthPG87YSsrKW5bYV09ZVt0W2FdXSxpW2FdPXJbdFthXV19LGIucHJvdG90eXBlLnRyYW5zZm9ybT1mdW5jdGlvbih0LGUscixuLGksbyl7dGhpcy5wZXJtdXRlKG8sdCxlLHIsbixpKTtmb3IodmFyIGE9MTthPGk7YTw8PTEpZm9yKHZhciBzPWE8PDEsdT1NYXRoLmNvcygyKk1hdGguUEkvcyksZj1NYXRoLnNpbigyKk1hdGguUEkvcyksYz0wO2M8aTtjKz1zKWZvcih2YXIgaD11LGQ9ZixsPTA7bDxhO2wrKyl7dmFyIHA9cltjK2xdLGI9bltjK2xdLG09cltjK2wrYV0seT1uW2MrbCthXSx2PWgqbS1kKnk7eT1oKnkrZCptLG09dixyW2MrbF09cCttLG5bYytsXT1iK3kscltjK2wrYV09cC1tLG5bYytsK2FdPWIteSxsIT09cyYmKHY9dSpoLWYqZCxkPXUqZCtmKmgsaD12KX19LGIucHJvdG90eXBlLmd1ZXNzTGVuMTNiPWZ1bmN0aW9uKHQsZSl7dmFyIHI9MXxNYXRoLm1heChlLHQpLG49MSZyLGk9MDtmb3Iocj1yLzJ8MDtyO3I+Pj49MSlpKys7cmV0dXJuIDE8PGkrMStufSxiLnByb3RvdHlwZS5jb25qdWdhdGU9ZnVuY3Rpb24odCxlLHIpe2lmKCEocjw9MSkpZm9yKHZhciBuPTA7bjxyLzI7bisrKXt2YXIgaT10W25dO3Rbbl09dFtyLW4tMV0sdFtyLW4tMV09aSxpPWVbbl0sZVtuXT0tZVtyLW4tMV0sZVtyLW4tMV09LWl9fSxiLnByb3RvdHlwZS5ub3JtYWxpemUxM2I9ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9MCxuPTA7bjxlLzI7bisrKXt2YXIgaT04MTkyKk1hdGgucm91bmQodFsyKm4rMV0vZSkrTWF0aC5yb3VuZCh0WzIqbl0vZSkrcjt0W25dPTY3MTA4ODYzJmkscj1pPDY3MTA4ODY0PzA6aS82NzEwODg2NHwwfXJldHVybiB0fSxiLnByb3RvdHlwZS5jb252ZXJ0MTNiPWZ1bmN0aW9uKHQsZSxyLGkpe2Zvcih2YXIgbz0wLGE9MDthPGU7YSsrKW8rPTB8dFthXSxyWzIqYV09ODE5MSZvLG8+Pj49MTMsclsyKmErMV09ODE5MSZvLG8+Pj49MTM7Zm9yKGE9MiplO2E8aTsrK2EpclthXT0wO24oMD09PW8pLG4oMD09KC04MTkyJm8pKX0sYi5wcm90b3R5cGUuc3R1Yj1mdW5jdGlvbih0KXtmb3IodmFyIGU9bmV3IEFycmF5KHQpLHI9MDtyPHQ7cisrKWVbcl09MDtyZXR1cm4gZX0sYi5wcm90b3R5cGUubXVscD1mdW5jdGlvbih0LGUscil7dmFyIG49Mip0aGlzLmd1ZXNzTGVuMTNiKHQubGVuZ3RoLGUubGVuZ3RoKSxpPXRoaXMubWFrZVJCVChuKSxvPXRoaXMuc3R1YihuKSxhPW5ldyBBcnJheShuKSxzPW5ldyBBcnJheShuKSx1PW5ldyBBcnJheShuKSxmPW5ldyBBcnJheShuKSxjPW5ldyBBcnJheShuKSxoPW5ldyBBcnJheShuKSxkPXIud29yZHM7ZC5sZW5ndGg9bix0aGlzLmNvbnZlcnQxM2IodC53b3Jkcyx0Lmxlbmd0aCxhLG4pLHRoaXMuY29udmVydDEzYihlLndvcmRzLGUubGVuZ3RoLGYsbiksdGhpcy50cmFuc2Zvcm0oYSxvLHMsdSxuLGkpLHRoaXMudHJhbnNmb3JtKGYsbyxjLGgsbixpKTtmb3IodmFyIGw9MDtsPG47bCsrKXt2YXIgcD1zW2xdKmNbbF0tdVtsXSpoW2xdO3VbbF09c1tsXSpoW2xdK3VbbF0qY1tsXSxzW2xdPXB9cmV0dXJuIHRoaXMuY29uanVnYXRlKHMsdSxuKSx0aGlzLnRyYW5zZm9ybShzLHUsZCxvLG4saSksdGhpcy5jb25qdWdhdGUoZCxvLG4pLHRoaXMubm9ybWFsaXplMTNiKGQsbiksci5uZWdhdGl2ZT10Lm5lZ2F0aXZlXmUubmVnYXRpdmUsci5sZW5ndGg9dC5sZW5ndGgrZS5sZW5ndGgsci5zdHJpcCgpfSxvLnByb3RvdHlwZS5tdWw9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IG8obnVsbCk7cmV0dXJuIGUud29yZHM9bmV3IEFycmF5KHRoaXMubGVuZ3RoK3QubGVuZ3RoKSx0aGlzLm11bFRvKHQsZSl9LG8ucHJvdG90eXBlLm11bGY9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IG8obnVsbCk7cmV0dXJuIGUud29yZHM9bmV3IEFycmF5KHRoaXMubGVuZ3RoK3QubGVuZ3RoKSxwKHRoaXMsdCxlKX0sby5wcm90b3R5cGUuaW11bD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jbG9uZSgpLm11bFRvKHQsdGhpcyl9LG8ucHJvdG90eXBlLmltdWxuPWZ1bmN0aW9uKHQpe24oIm51bWJlciI9PXR5cGVvZiB0KSxuKHQ8NjcxMDg4NjQpO2Zvcih2YXIgZT0wLHI9MDtyPHRoaXMubGVuZ3RoO3IrKyl7dmFyIGk9KDB8dGhpcy53b3Jkc1tyXSkqdCxvPSg2NzEwODg2MyZpKSsoNjcxMDg4NjMmZSk7ZT4+PTI2LGUrPWkvNjcxMDg4NjR8MCxlKz1vPj4+MjYsdGhpcy53b3Jkc1tyXT02NzEwODg2MyZvfXJldHVybiAwIT09ZSYmKHRoaXMud29yZHNbcl09ZSx0aGlzLmxlbmd0aCsrKSx0aGlzfSxvLnByb3RvdHlwZS5tdWxuPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNsb25lKCkuaW11bG4odCl9LG8ucHJvdG90eXBlLnNxcj1mdW5jdGlvbigpe3JldHVybiB0aGlzLm11bCh0aGlzKX0sby5wcm90b3R5cGUuaXNxcj1mdW5jdGlvbigpe3JldHVybiB0aGlzLmltdWwodGhpcy5jbG9uZSgpKX0sby5wcm90b3R5cGUucG93PWZ1bmN0aW9uKHQpe3ZhciBlPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1uZXcgQXJyYXkodC5iaXRMZW5ndGgoKSkscj0wO3I8ZS5sZW5ndGg7cisrKXt2YXIgbj1yLzI2fDAsaT1yJTI2O2Vbcl09KHQud29yZHNbbl0mMTw8aSk+Pj5pfXJldHVybiBlfSh0KTtpZigwPT09ZS5sZW5ndGgpcmV0dXJuIG5ldyBvKDEpO2Zvcih2YXIgcj10aGlzLG49MDtuPGUubGVuZ3RoJiYwPT09ZVtuXTtuKysscj1yLnNxcigpKTtpZigrK248ZS5sZW5ndGgpZm9yKHZhciBpPXIuc3FyKCk7bjxlLmxlbmd0aDtuKyssaT1pLnNxcigpKTAhPT1lW25dJiYocj1yLm11bChpKSk7cmV0dXJuIHJ9LG8ucHJvdG90eXBlLml1c2hsbj1mdW5jdGlvbih0KXtuKCJudW1iZXIiPT10eXBlb2YgdCYmdD49MCk7dmFyIGUscj10JTI2LGk9KHQtcikvMjYsbz02NzEwODg2Mz4+PjI2LXI8PDI2LXI7aWYoMCE9PXIpe3ZhciBhPTA7Zm9yKGU9MDtlPHRoaXMubGVuZ3RoO2UrKyl7dmFyIHM9dGhpcy53b3Jkc1tlXSZvLHU9KDB8dGhpcy53b3Jkc1tlXSktczw8cjt0aGlzLndvcmRzW2VdPXV8YSxhPXM+Pj4yNi1yfWEmJih0aGlzLndvcmRzW2VdPWEsdGhpcy5sZW5ndGgrKyl9aWYoMCE9PWkpe2ZvcihlPXRoaXMubGVuZ3RoLTE7ZT49MDtlLS0pdGhpcy53b3Jkc1tlK2ldPXRoaXMud29yZHNbZV07Zm9yKGU9MDtlPGk7ZSsrKXRoaXMud29yZHNbZV09MDt0aGlzLmxlbmd0aCs9aX1yZXR1cm4gdGhpcy5zdHJpcCgpfSxvLnByb3RvdHlwZS5pc2hsbj1mdW5jdGlvbih0KXtyZXR1cm4gbigwPT09dGhpcy5uZWdhdGl2ZSksdGhpcy5pdXNobG4odCl9LG8ucHJvdG90eXBlLml1c2hybj1mdW5jdGlvbih0LGUscil7dmFyIGk7bigibnVtYmVyIj09dHlwZW9mIHQmJnQ+PTApLGk9ZT8oZS1lJTI2KS8yNjowO3ZhciBvPXQlMjYsYT1NYXRoLm1pbigodC1vKS8yNix0aGlzLmxlbmd0aCkscz02NzEwODg2M142NzEwODg2Mz4+Pm88PG8sdT1yO2lmKGktPWEsaT1NYXRoLm1heCgwLGkpLHUpe2Zvcih2YXIgZj0wO2Y8YTtmKyspdS53b3Jkc1tmXT10aGlzLndvcmRzW2ZdO3UubGVuZ3RoPWF9aWYoMD09PWEpO2Vsc2UgaWYodGhpcy5sZW5ndGg+YSlmb3IodGhpcy5sZW5ndGgtPWEsZj0wO2Y8dGhpcy5sZW5ndGg7ZisrKXRoaXMud29yZHNbZl09dGhpcy53b3Jkc1tmK2FdO2Vsc2UgdGhpcy53b3Jkc1swXT0wLHRoaXMubGVuZ3RoPTE7dmFyIGM9MDtmb3IoZj10aGlzLmxlbmd0aC0xO2Y+PTAmJigwIT09Y3x8Zj49aSk7Zi0tKXt2YXIgaD0wfHRoaXMud29yZHNbZl07dGhpcy53b3Jkc1tmXT1jPDwyNi1vfGg+Pj5vLGM9aCZzfXJldHVybiB1JiYwIT09YyYmKHUud29yZHNbdS5sZW5ndGgrK109YyksMD09PXRoaXMubGVuZ3RoJiYodGhpcy53b3Jkc1swXT0wLHRoaXMubGVuZ3RoPTEpLHRoaXMuc3RyaXAoKX0sby5wcm90b3R5cGUuaXNocm49ZnVuY3Rpb24odCxlLHIpe3JldHVybiBuKDA9PT10aGlzLm5lZ2F0aXZlKSx0aGlzLml1c2hybih0LGUscil9LG8ucHJvdG90eXBlLnNobG49ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pc2hsbih0KX0sby5wcm90b3R5cGUudXNobG49ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pdXNobG4odCl9LG8ucHJvdG90eXBlLnNocm49ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pc2hybih0KX0sby5wcm90b3R5cGUudXNocm49ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pdXNocm4odCl9LG8ucHJvdG90eXBlLnRlc3RuPWZ1bmN0aW9uKHQpe24oIm51bWJlciI9PXR5cGVvZiB0JiZ0Pj0wKTt2YXIgZT10JTI2LHI9KHQtZSkvMjYsaT0xPDxlO3JldHVybiEodGhpcy5sZW5ndGg8PXIpJiYhISh0aGlzLndvcmRzW3JdJmkpfSxvLnByb3RvdHlwZS5pbWFza249ZnVuY3Rpb24odCl7bigibnVtYmVyIj09dHlwZW9mIHQmJnQ+PTApO3ZhciBlPXQlMjYscj0odC1lKS8yNjtpZihuKDA9PT10aGlzLm5lZ2F0aXZlLCJpbWFza24gd29ya3Mgb25seSB3aXRoIHBvc2l0aXZlIG51bWJlcnMiKSx0aGlzLmxlbmd0aDw9cilyZXR1cm4gdGhpcztpZigwIT09ZSYmcisrLHRoaXMubGVuZ3RoPU1hdGgubWluKHIsdGhpcy5sZW5ndGgpLDAhPT1lKXt2YXIgaT02NzEwODg2M142NzEwODg2Mz4+PmU8PGU7dGhpcy53b3Jkc1t0aGlzLmxlbmd0aC0xXSY9aX1yZXR1cm4gdGhpcy5zdHJpcCgpfSxvLnByb3RvdHlwZS5tYXNrbj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jbG9uZSgpLmltYXNrbih0KX0sby5wcm90b3R5cGUuaWFkZG49ZnVuY3Rpb24odCl7cmV0dXJuIG4oIm51bWJlciI9PXR5cGVvZiB0KSxuKHQ8NjcxMDg4NjQpLHQ8MD90aGlzLmlzdWJuKC10KTowIT09dGhpcy5uZWdhdGl2ZT8xPT09dGhpcy5sZW5ndGgmJigwfHRoaXMud29yZHNbMF0pPHQ/KHRoaXMud29yZHNbMF09dC0oMHx0aGlzLndvcmRzWzBdKSx0aGlzLm5lZ2F0aXZlPTAsdGhpcyk6KHRoaXMubmVnYXRpdmU9MCx0aGlzLmlzdWJuKHQpLHRoaXMubmVnYXRpdmU9MSx0aGlzKTp0aGlzLl9pYWRkbih0KX0sby5wcm90b3R5cGUuX2lhZGRuPWZ1bmN0aW9uKHQpe3RoaXMud29yZHNbMF0rPXQ7Zm9yKHZhciBlPTA7ZTx0aGlzLmxlbmd0aCYmdGhpcy53b3Jkc1tlXT49NjcxMDg4NjQ7ZSsrKXRoaXMud29yZHNbZV0tPTY3MTA4ODY0LGU9PT10aGlzLmxlbmd0aC0xP3RoaXMud29yZHNbZSsxXT0xOnRoaXMud29yZHNbZSsxXSsrO3JldHVybiB0aGlzLmxlbmd0aD1NYXRoLm1heCh0aGlzLmxlbmd0aCxlKzEpLHRoaXN9LG8ucHJvdG90eXBlLmlzdWJuPWZ1bmN0aW9uKHQpe2lmKG4oIm51bWJlciI9PXR5cGVvZiB0KSxuKHQ8NjcxMDg4NjQpLHQ8MClyZXR1cm4gdGhpcy5pYWRkbigtdCk7aWYoMCE9PXRoaXMubmVnYXRpdmUpcmV0dXJuIHRoaXMubmVnYXRpdmU9MCx0aGlzLmlhZGRuKHQpLHRoaXMubmVnYXRpdmU9MSx0aGlzO2lmKHRoaXMud29yZHNbMF0tPXQsMT09PXRoaXMubGVuZ3RoJiZ0aGlzLndvcmRzWzBdPDApdGhpcy53b3Jkc1swXT0tdGhpcy53b3Jkc1swXSx0aGlzLm5lZ2F0aXZlPTE7ZWxzZSBmb3IodmFyIGU9MDtlPHRoaXMubGVuZ3RoJiZ0aGlzLndvcmRzW2VdPDA7ZSsrKXRoaXMud29yZHNbZV0rPTY3MTA4ODY0LHRoaXMud29yZHNbZSsxXS09MTtyZXR1cm4gdGhpcy5zdHJpcCgpfSxvLnByb3RvdHlwZS5hZGRuPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNsb25lKCkuaWFkZG4odCl9LG8ucHJvdG90eXBlLnN1Ym49ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pc3Vibih0KX0sby5wcm90b3R5cGUuaWFicz1mdW5jdGlvbigpe3JldHVybiB0aGlzLm5lZ2F0aXZlPTAsdGhpc30sby5wcm90b3R5cGUuYWJzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pYWJzKCl9LG8ucHJvdG90eXBlLl9pc2hsbnN1Ym11bD1mdW5jdGlvbih0LGUscil7dmFyIGksbyxhPXQubGVuZ3RoK3I7dGhpcy5fZXhwYW5kKGEpO3ZhciBzPTA7Zm9yKGk9MDtpPHQubGVuZ3RoO2krKyl7bz0oMHx0aGlzLndvcmRzW2krcl0pK3M7dmFyIHU9KDB8dC53b3Jkc1tpXSkqZTtzPSgoby09NjcxMDg4NjMmdSk+PjI2KS0odS82NzEwODg2NHwwKSx0aGlzLndvcmRzW2krcl09NjcxMDg4NjMmb31mb3IoO2k8dGhpcy5sZW5ndGgtcjtpKyspcz0obz0oMHx0aGlzLndvcmRzW2krcl0pK3MpPj4yNix0aGlzLndvcmRzW2krcl09NjcxMDg4NjMmbztpZigwPT09cylyZXR1cm4gdGhpcy5zdHJpcCgpO2ZvcihuKC0xPT09cykscz0wLGk9MDtpPHRoaXMubGVuZ3RoO2krKylzPShvPS0oMHx0aGlzLndvcmRzW2ldKStzKT4+MjYsdGhpcy53b3Jkc1tpXT02NzEwODg2MyZvO3JldHVybiB0aGlzLm5lZ2F0aXZlPTEsdGhpcy5zdHJpcCgpfSxvLnByb3RvdHlwZS5fd29yZERpdj1mdW5jdGlvbih0LGUpe3ZhciByPSh0aGlzLmxlbmd0aCx0Lmxlbmd0aCksbj10aGlzLmNsb25lKCksaT10LGE9MHxpLndvcmRzW2kubGVuZ3RoLTFdOzAhPT0ocj0yNi10aGlzLl9jb3VudEJpdHMoYSkpJiYoaT1pLnVzaGxuKHIpLG4uaXVzaGxuKHIpLGE9MHxpLndvcmRzW2kubGVuZ3RoLTFdKTt2YXIgcyx1PW4ubGVuZ3RoLWkubGVuZ3RoO2lmKCJtb2QiIT09ZSl7KHM9bmV3IG8obnVsbCkpLmxlbmd0aD11KzEscy53b3Jkcz1uZXcgQXJyYXkocy5sZW5ndGgpO2Zvcih2YXIgZj0wO2Y8cy5sZW5ndGg7ZisrKXMud29yZHNbZl09MH12YXIgYz1uLmNsb25lKCkuX2lzaGxuc3VibXVsKGksMSx1KTswPT09Yy5uZWdhdGl2ZSYmKG49YyxzJiYocy53b3Jkc1t1XT0xKSk7Zm9yKHZhciBoPXUtMTtoPj0wO2gtLSl7dmFyIGQ9NjcxMDg4NjQqKDB8bi53b3Jkc1tpLmxlbmd0aCtoXSkrKDB8bi53b3Jkc1tpLmxlbmd0aCtoLTFdKTtmb3IoZD1NYXRoLm1pbihkL2F8MCw2NzEwODg2Myksbi5faXNobG5zdWJtdWwoaSxkLGgpOzAhPT1uLm5lZ2F0aXZlOylkLS0sbi5uZWdhdGl2ZT0wLG4uX2lzaGxuc3VibXVsKGksMSxoKSxuLmlzWmVybygpfHwobi5uZWdhdGl2ZV49MSk7cyYmKHMud29yZHNbaF09ZCl9cmV0dXJuIHMmJnMuc3RyaXAoKSxuLnN0cmlwKCksImRpdiIhPT1lJiYwIT09ciYmbi5pdXNocm4ocikse2RpdjpzfHxudWxsLG1vZDpufX0sby5wcm90b3R5cGUuZGl2bW9kPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gbighdC5pc1plcm8oKSksdGhpcy5pc1plcm8oKT97ZGl2Om5ldyBvKDApLG1vZDpuZXcgbygwKX06MCE9PXRoaXMubmVnYXRpdmUmJjA9PT10Lm5lZ2F0aXZlPyhzPXRoaXMubmVnKCkuZGl2bW9kKHQsZSksIm1vZCIhPT1lJiYoaT1zLmRpdi5uZWcoKSksImRpdiIhPT1lJiYoYT1zLm1vZC5uZWcoKSxyJiYwIT09YS5uZWdhdGl2ZSYmYS5pYWRkKHQpKSx7ZGl2OmksbW9kOmF9KTowPT09dGhpcy5uZWdhdGl2ZSYmMCE9PXQubmVnYXRpdmU/KHM9dGhpcy5kaXZtb2QodC5uZWcoKSxlKSwibW9kIiE9PWUmJihpPXMuZGl2Lm5lZygpKSx7ZGl2OmksbW9kOnMubW9kfSk6MCE9KHRoaXMubmVnYXRpdmUmdC5uZWdhdGl2ZSk/KHM9dGhpcy5uZWcoKS5kaXZtb2QodC5uZWcoKSxlKSwiZGl2IiE9PWUmJihhPXMubW9kLm5lZygpLHImJjAhPT1hLm5lZ2F0aXZlJiZhLmlzdWIodCkpLHtkaXY6cy5kaXYsbW9kOmF9KTp0Lmxlbmd0aD50aGlzLmxlbmd0aHx8dGhpcy5jbXAodCk8MD97ZGl2Om5ldyBvKDApLG1vZDp0aGlzfToxPT09dC5sZW5ndGg/ImRpdiI9PT1lP3tkaXY6dGhpcy5kaXZuKHQud29yZHNbMF0pLG1vZDpudWxsfToibW9kIj09PWU/e2RpdjpudWxsLG1vZDpuZXcgbyh0aGlzLm1vZG4odC53b3Jkc1swXSkpfTp7ZGl2OnRoaXMuZGl2bih0LndvcmRzWzBdKSxtb2Q6bmV3IG8odGhpcy5tb2RuKHQud29yZHNbMF0pKX06dGhpcy5fd29yZERpdih0LGUpO3ZhciBpLGEsc30sby5wcm90b3R5cGUuZGl2PWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmRpdm1vZCh0LCJkaXYiLCExKS5kaXZ9LG8ucHJvdG90eXBlLm1vZD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5kaXZtb2QodCwibW9kIiwhMSkubW9kfSxvLnByb3RvdHlwZS51bW9kPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmRpdm1vZCh0LCJtb2QiLCEwKS5tb2R9LG8ucHJvdG90eXBlLmRpdlJvdW5kPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuZGl2bW9kKHQpO2lmKGUubW9kLmlzWmVybygpKXJldHVybiBlLmRpdjt2YXIgcj0wIT09ZS5kaXYubmVnYXRpdmU/ZS5tb2QuaXN1Yih0KTplLm1vZCxuPXQudXNocm4oMSksaT10LmFuZGxuKDEpLG89ci5jbXAobik7cmV0dXJuIG88MHx8MT09PWkmJjA9PT1vP2UuZGl2OjAhPT1lLmRpdi5uZWdhdGl2ZT9lLmRpdi5pc3VibigxKTplLmRpdi5pYWRkbigxKX0sby5wcm90b3R5cGUubW9kbj1mdW5jdGlvbih0KXtuKHQ8PTY3MTA4ODYzKTtmb3IodmFyIGU9KDE8PDI2KSV0LHI9MCxpPXRoaXMubGVuZ3RoLTE7aT49MDtpLS0pcj0oZSpyKygwfHRoaXMud29yZHNbaV0pKSV0O3JldHVybiByfSxvLnByb3RvdHlwZS5pZGl2bj1mdW5jdGlvbih0KXtuKHQ8PTY3MTA4ODYzKTtmb3IodmFyIGU9MCxyPXRoaXMubGVuZ3RoLTE7cj49MDtyLS0pe3ZhciBpPSgwfHRoaXMud29yZHNbcl0pKzY3MTA4ODY0KmU7dGhpcy53b3Jkc1tyXT1pL3R8MCxlPWkldH1yZXR1cm4gdGhpcy5zdHJpcCgpfSxvLnByb3RvdHlwZS5kaXZuPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNsb25lKCkuaWRpdm4odCl9LG8ucHJvdG90eXBlLmVnY2Q9ZnVuY3Rpb24odCl7bigwPT09dC5uZWdhdGl2ZSksbighdC5pc1plcm8oKSk7dmFyIGU9dGhpcyxyPXQuY2xvbmUoKTtlPTAhPT1lLm5lZ2F0aXZlP2UudW1vZCh0KTplLmNsb25lKCk7Zm9yKHZhciBpPW5ldyBvKDEpLGE9bmV3IG8oMCkscz1uZXcgbygwKSx1PW5ldyBvKDEpLGY9MDtlLmlzRXZlbigpJiZyLmlzRXZlbigpOyllLml1c2hybigxKSxyLml1c2hybigxKSwrK2Y7Zm9yKHZhciBjPXIuY2xvbmUoKSxoPWUuY2xvbmUoKTshZS5pc1plcm8oKTspe2Zvcih2YXIgZD0wLGw9MTswPT0oZS53b3Jkc1swXSZsKSYmZDwyNjsrK2QsbDw8PTEpO2lmKGQ+MClmb3IoZS5pdXNocm4oZCk7ZC0tID4wOykoaS5pc09kZCgpfHxhLmlzT2RkKCkpJiYoaS5pYWRkKGMpLGEuaXN1YihoKSksaS5pdXNocm4oMSksYS5pdXNocm4oMSk7Zm9yKHZhciBwPTAsYj0xOzA9PShyLndvcmRzWzBdJmIpJiZwPDI2OysrcCxiPDw9MSk7aWYocD4wKWZvcihyLml1c2hybihwKTtwLS0gPjA7KShzLmlzT2RkKCl8fHUuaXNPZGQoKSkmJihzLmlhZGQoYyksdS5pc3ViKGgpKSxzLml1c2hybigxKSx1Lml1c2hybigxKTtlLmNtcChyKT49MD8oZS5pc3ViKHIpLGkuaXN1YihzKSxhLmlzdWIodSkpOihyLmlzdWIoZSkscy5pc3ViKGkpLHUuaXN1YihhKSl9cmV0dXJue2E6cyxiOnUsZ2NkOnIuaXVzaGxuKGYpfX0sby5wcm90b3R5cGUuX2ludm1wPWZ1bmN0aW9uKHQpe24oMD09PXQubmVnYXRpdmUpLG4oIXQuaXNaZXJvKCkpO3ZhciBlPXRoaXMscj10LmNsb25lKCk7ZT0wIT09ZS5uZWdhdGl2ZT9lLnVtb2QodCk6ZS5jbG9uZSgpO2Zvcih2YXIgaSxhPW5ldyBvKDEpLHM9bmV3IG8oMCksdT1yLmNsb25lKCk7ZS5jbXBuKDEpPjAmJnIuY21wbigxKT4wOyl7Zm9yKHZhciBmPTAsYz0xOzA9PShlLndvcmRzWzBdJmMpJiZmPDI2OysrZixjPDw9MSk7aWYoZj4wKWZvcihlLml1c2hybihmKTtmLS0gPjA7KWEuaXNPZGQoKSYmYS5pYWRkKHUpLGEuaXVzaHJuKDEpO2Zvcih2YXIgaD0wLGQ9MTswPT0oci53b3Jkc1swXSZkKSYmaDwyNjsrK2gsZDw8PTEpO2lmKGg+MClmb3Ioci5pdXNocm4oaCk7aC0tID4wOylzLmlzT2RkKCkmJnMuaWFkZCh1KSxzLml1c2hybigxKTtlLmNtcChyKT49MD8oZS5pc3ViKHIpLGEuaXN1YihzKSk6KHIuaXN1YihlKSxzLmlzdWIoYSkpfXJldHVybihpPTA9PT1lLmNtcG4oMSk/YTpzKS5jbXBuKDApPDAmJmkuaWFkZCh0KSxpfSxvLnByb3RvdHlwZS5nY2Q9ZnVuY3Rpb24odCl7aWYodGhpcy5pc1plcm8oKSlyZXR1cm4gdC5hYnMoKTtpZih0LmlzWmVybygpKXJldHVybiB0aGlzLmFicygpO3ZhciBlPXRoaXMuY2xvbmUoKSxyPXQuY2xvbmUoKTtlLm5lZ2F0aXZlPTAsci5uZWdhdGl2ZT0wO2Zvcih2YXIgbj0wO2UuaXNFdmVuKCkmJnIuaXNFdmVuKCk7bisrKWUuaXVzaHJuKDEpLHIuaXVzaHJuKDEpO2Zvcig7Oyl7Zm9yKDtlLmlzRXZlbigpOyllLml1c2hybigxKTtmb3IoO3IuaXNFdmVuKCk7KXIuaXVzaHJuKDEpO3ZhciBpPWUuY21wKHIpO2lmKGk8MCl7dmFyIG89ZTtlPXIscj1vfWVsc2UgaWYoMD09PWl8fDA9PT1yLmNtcG4oMSkpYnJlYWs7ZS5pc3ViKHIpfXJldHVybiByLml1c2hsbihuKX0sby5wcm90b3R5cGUuaW52bT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5lZ2NkKHQpLmEudW1vZCh0KX0sby5wcm90b3R5cGUuaXNFdmVuPWZ1bmN0aW9uKCl7cmV0dXJuIDA9PSgxJnRoaXMud29yZHNbMF0pfSxvLnByb3RvdHlwZS5pc09kZD1mdW5jdGlvbigpe3JldHVybiAxPT0oMSZ0aGlzLndvcmRzWzBdKX0sby5wcm90b3R5cGUuYW5kbG49ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMud29yZHNbMF0mdH0sby5wcm90b3R5cGUuYmluY249ZnVuY3Rpb24odCl7bigibnVtYmVyIj09dHlwZW9mIHQpO3ZhciBlPXQlMjYscj0odC1lKS8yNixpPTE8PGU7aWYodGhpcy5sZW5ndGg8PXIpcmV0dXJuIHRoaXMuX2V4cGFuZChyKzEpLHRoaXMud29yZHNbcl18PWksdGhpcztmb3IodmFyIG89aSxhPXI7MCE9PW8mJmE8dGhpcy5sZW5ndGg7YSsrKXt2YXIgcz0wfHRoaXMud29yZHNbYV07bz0ocys9byk+Pj4yNixzJj02NzEwODg2Myx0aGlzLndvcmRzW2FdPXN9cmV0dXJuIDAhPT1vJiYodGhpcy53b3Jkc1thXT1vLHRoaXMubGVuZ3RoKyspLHRoaXN9LG8ucHJvdG90eXBlLmlzWmVybz1mdW5jdGlvbigpe3JldHVybiAxPT09dGhpcy5sZW5ndGgmJjA9PT10aGlzLndvcmRzWzBdfSxvLnByb3RvdHlwZS5jbXBuPWZ1bmN0aW9uKHQpe3ZhciBlLHI9dDwwO2lmKDAhPT10aGlzLm5lZ2F0aXZlJiYhcilyZXR1cm4tMTtpZigwPT09dGhpcy5uZWdhdGl2ZSYmcilyZXR1cm4gMTtpZih0aGlzLnN0cmlwKCksdGhpcy5sZW5ndGg+MSllPTE7ZWxzZXtyJiYodD0tdCksbih0PD02NzEwODg2MywiTnVtYmVyIGlzIHRvbyBiaWciKTt2YXIgaT0wfHRoaXMud29yZHNbMF07ZT1pPT09dD8wOmk8dD8tMToxfXJldHVybiAwIT09dGhpcy5uZWdhdGl2ZT8wfC1lOmV9LG8ucHJvdG90eXBlLmNtcD1mdW5jdGlvbih0KXtpZigwIT09dGhpcy5uZWdhdGl2ZSYmMD09PXQubmVnYXRpdmUpcmV0dXJuLTE7aWYoMD09PXRoaXMubmVnYXRpdmUmJjAhPT10Lm5lZ2F0aXZlKXJldHVybiAxO3ZhciBlPXRoaXMudWNtcCh0KTtyZXR1cm4gMCE9PXRoaXMubmVnYXRpdmU/MHwtZTplfSxvLnByb3RvdHlwZS51Y21wPWZ1bmN0aW9uKHQpe2lmKHRoaXMubGVuZ3RoPnQubGVuZ3RoKXJldHVybiAxO2lmKHRoaXMubGVuZ3RoPHQubGVuZ3RoKXJldHVybi0xO2Zvcih2YXIgZT0wLHI9dGhpcy5sZW5ndGgtMTtyPj0wO3ItLSl7dmFyIG49MHx0aGlzLndvcmRzW3JdLGk9MHx0LndvcmRzW3JdO2lmKG4hPT1pKXtuPGk/ZT0tMTpuPmkmJihlPTEpO2JyZWFrfX1yZXR1cm4gZX0sby5wcm90b3R5cGUuZ3RuPWZ1bmN0aW9uKHQpe3JldHVybiAxPT09dGhpcy5jbXBuKHQpfSxvLnByb3RvdHlwZS5ndD1mdW5jdGlvbih0KXtyZXR1cm4gMT09PXRoaXMuY21wKHQpfSxvLnByb3RvdHlwZS5ndGVuPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNtcG4odCk+PTB9LG8ucHJvdG90eXBlLmd0ZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jbXAodCk+PTB9LG8ucHJvdG90eXBlLmx0bj1mdW5jdGlvbih0KXtyZXR1cm4tMT09PXRoaXMuY21wbih0KX0sby5wcm90b3R5cGUubHQ9ZnVuY3Rpb24odCl7cmV0dXJuLTE9PT10aGlzLmNtcCh0KX0sby5wcm90b3R5cGUubHRlbj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jbXBuKHQpPD0wfSxvLnByb3RvdHlwZS5sdGU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY21wKHQpPD0wfSxvLnByb3RvdHlwZS5lcW49ZnVuY3Rpb24odCl7cmV0dXJuIDA9PT10aGlzLmNtcG4odCl9LG8ucHJvdG90eXBlLmVxPWZ1bmN0aW9uKHQpe3JldHVybiAwPT09dGhpcy5jbXAodCl9LG8ucmVkPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgTSh0KX0sby5wcm90b3R5cGUudG9SZWQ9ZnVuY3Rpb24odCl7cmV0dXJuIG4oIXRoaXMucmVkLCJBbHJlYWR5IGEgbnVtYmVyIGluIHJlZHVjdGlvbiBjb250ZXh0IiksbigwPT09dGhpcy5uZWdhdGl2ZSwicmVkIHdvcmtzIG9ubHkgd2l0aCBwb3NpdGl2ZXMiKSx0LmNvbnZlcnRUbyh0aGlzKS5fZm9yY2VSZWQodCl9LG8ucHJvdG90eXBlLmZyb21SZWQ9ZnVuY3Rpb24oKXtyZXR1cm4gbih0aGlzLnJlZCwiZnJvbVJlZCB3b3JrcyBvbmx5IHdpdGggbnVtYmVycyBpbiByZWR1Y3Rpb24gY29udGV4dCIpLHRoaXMucmVkLmNvbnZlcnRGcm9tKHRoaXMpfSxvLnByb3RvdHlwZS5fZm9yY2VSZWQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMucmVkPXQsdGhpc30sby5wcm90b3R5cGUuZm9yY2VSZWQ9ZnVuY3Rpb24odCl7cmV0dXJuIG4oIXRoaXMucmVkLCJBbHJlYWR5IGEgbnVtYmVyIGluIHJlZHVjdGlvbiBjb250ZXh0IiksdGhpcy5fZm9yY2VSZWQodCl9LG8ucHJvdG90eXBlLnJlZEFkZD1mdW5jdGlvbih0KXtyZXR1cm4gbih0aGlzLnJlZCwicmVkQWRkIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMucmVkLmFkZCh0aGlzLHQpfSxvLnByb3RvdHlwZS5yZWRJQWRkPWZ1bmN0aW9uKHQpe3JldHVybiBuKHRoaXMucmVkLCJyZWRJQWRkIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMucmVkLmlhZGQodGhpcyx0KX0sby5wcm90b3R5cGUucmVkU3ViPWZ1bmN0aW9uKHQpe3JldHVybiBuKHRoaXMucmVkLCJyZWRTdWIgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiksdGhpcy5yZWQuc3ViKHRoaXMsdCl9LG8ucHJvdG90eXBlLnJlZElTdWI9ZnVuY3Rpb24odCl7cmV0dXJuIG4odGhpcy5yZWQsInJlZElTdWIgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiksdGhpcy5yZWQuaXN1Yih0aGlzLHQpfSxvLnByb3RvdHlwZS5yZWRTaGw9ZnVuY3Rpb24odCl7cmV0dXJuIG4odGhpcy5yZWQsInJlZFNobCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5zaGwodGhpcyx0KX0sby5wcm90b3R5cGUucmVkTXVsPWZ1bmN0aW9uKHQpe3JldHVybiBuKHRoaXMucmVkLCJyZWRNdWwgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiksdGhpcy5yZWQuX3ZlcmlmeTIodGhpcyx0KSx0aGlzLnJlZC5tdWwodGhpcyx0KX0sby5wcm90b3R5cGUucmVkSU11bD1mdW5jdGlvbih0KXtyZXR1cm4gbih0aGlzLnJlZCwicmVkTXVsIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMucmVkLl92ZXJpZnkyKHRoaXMsdCksdGhpcy5yZWQuaW11bCh0aGlzLHQpfSxvLnByb3RvdHlwZS5yZWRTcXI9ZnVuY3Rpb24oKXtyZXR1cm4gbih0aGlzLnJlZCwicmVkU3FyIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpLHRoaXMucmVkLnNxcih0aGlzKX0sby5wcm90b3R5cGUucmVkSVNxcj1mdW5jdGlvbigpe3JldHVybiBuKHRoaXMucmVkLCJyZWRJU3FyIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpLHRoaXMucmVkLmlzcXIodGhpcyl9LG8ucHJvdG90eXBlLnJlZFNxcnQ9ZnVuY3Rpb24oKXtyZXR1cm4gbih0aGlzLnJlZCwicmVkU3FydCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKSx0aGlzLnJlZC5zcXJ0KHRoaXMpfSxvLnByb3RvdHlwZS5yZWRJbnZtPWZ1bmN0aW9uKCl7cmV0dXJuIG4odGhpcy5yZWQsInJlZEludm0gd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiksdGhpcy5yZWQuX3ZlcmlmeTEodGhpcyksdGhpcy5yZWQuaW52bSh0aGlzKX0sby5wcm90b3R5cGUucmVkTmVnPWZ1bmN0aW9uKCl7cmV0dXJuIG4odGhpcy5yZWQsInJlZE5lZyB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKSx0aGlzLnJlZC5uZWcodGhpcyl9LG8ucHJvdG90eXBlLnJlZFBvdz1mdW5jdGlvbih0KXtyZXR1cm4gbih0aGlzLnJlZCYmIXQucmVkLCJyZWRQb3cobm9ybWFsTnVtKSIpLHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpLHRoaXMucmVkLnBvdyh0aGlzLHQpfTt2YXIgbT17azI1NjpudWxsLHAyMjQ6bnVsbCxwMTkyOm51bGwscDI1NTE5Om51bGx9O2Z1bmN0aW9uIHkodCxlKXt0aGlzLm5hbWU9dCx0aGlzLnA9bmV3IG8oZSwxNiksdGhpcy5uPXRoaXMucC5iaXRMZW5ndGgoKSx0aGlzLms9bmV3IG8oMSkuaXVzaGxuKHRoaXMubikuaXN1Yih0aGlzLnApLHRoaXMudG1wPXRoaXMuX3RtcCgpfWZ1bmN0aW9uIHYoKXt5LmNhbGwodGhpcywiazI1NiIsImZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZlIGZmZmZmYzJmIil9ZnVuY3Rpb24gZygpe3kuY2FsbCh0aGlzLCJwMjI0IiwiZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDEiKX1mdW5jdGlvbiB3KCl7eS5jYWxsKHRoaXMsInAxOTIiLCJmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZSBmZmZmZmZmZiBmZmZmZmZmZiIpfWZ1bmN0aW9uIF8oKXt5LmNhbGwodGhpcywiMjU1MTkiLCI3ZmZmZmZmZmZmZmZmZmZmIGZmZmZmZmZmZmZmZmZmZmYgZmZmZmZmZmZmZmZmZmZmZiBmZmZmZmZmZmZmZmZmZmVkIil9ZnVuY3Rpb24gTSh0KXtpZigic3RyaW5nIj09dHlwZW9mIHQpe3ZhciBlPW8uX3ByaW1lKHQpO3RoaXMubT1lLnAsdGhpcy5wcmltZT1lfWVsc2Ugbih0Lmd0bigxKSwibW9kdWx1cyBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAxIiksdGhpcy5tPXQsdGhpcy5wcmltZT1udWxsfWZ1bmN0aW9uIHgodCl7TS5jYWxsKHRoaXMsdCksdGhpcy5zaGlmdD10aGlzLm0uYml0TGVuZ3RoKCksdGhpcy5zaGlmdCUyNiE9MCYmKHRoaXMuc2hpZnQrPTI2LXRoaXMuc2hpZnQlMjYpLHRoaXMucj1uZXcgbygxKS5pdXNobG4odGhpcy5zaGlmdCksdGhpcy5yMj10aGlzLmltb2QodGhpcy5yLnNxcigpKSx0aGlzLnJpbnY9dGhpcy5yLl9pbnZtcCh0aGlzLm0pLHRoaXMubWludj10aGlzLnJpbnYubXVsKHRoaXMucikuaXN1Ym4oMSkuZGl2KHRoaXMubSksdGhpcy5taW52PXRoaXMubWludi51bW9kKHRoaXMuciksdGhpcy5taW52PXRoaXMuci5zdWIodGhpcy5taW52KX15LnByb3RvdHlwZS5fdG1wPWZ1bmN0aW9uKCl7dmFyIHQ9bmV3IG8obnVsbCk7cmV0dXJuIHQud29yZHM9bmV3IEFycmF5KE1hdGguY2VpbCh0aGlzLm4vMTMpKSx0fSx5LnByb3RvdHlwZS5pcmVkdWNlPWZ1bmN0aW9uKHQpe3ZhciBlLHI9dDtkb3t0aGlzLnNwbGl0KHIsdGhpcy50bXApLGU9KHI9KHI9dGhpcy5pbXVsSyhyKSkuaWFkZCh0aGlzLnRtcCkpLmJpdExlbmd0aCgpfXdoaWxlKGU+dGhpcy5uKTt2YXIgbj1lPHRoaXMubj8tMTpyLnVjbXAodGhpcy5wKTtyZXR1cm4gMD09PW4/KHIud29yZHNbMF09MCxyLmxlbmd0aD0xKTpuPjA/ci5pc3ViKHRoaXMucCk6ci5zdHJpcCgpLHJ9LHkucHJvdG90eXBlLnNwbGl0PWZ1bmN0aW9uKHQsZSl7dC5pdXNocm4odGhpcy5uLDAsZSl9LHkucHJvdG90eXBlLmltdWxLPWZ1bmN0aW9uKHQpe3JldHVybiB0LmltdWwodGhpcy5rKX0saSh2LHkpLHYucHJvdG90eXBlLnNwbGl0PWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPU1hdGgubWluKHQubGVuZ3RoLDkpLG49MDtuPHI7bisrKWUud29yZHNbbl09dC53b3Jkc1tuXTtpZihlLmxlbmd0aD1yLHQubGVuZ3RoPD05KXJldHVybiB0LndvcmRzWzBdPTAsdm9pZCh0Lmxlbmd0aD0xKTt2YXIgaT10LndvcmRzWzldO2ZvcihlLndvcmRzW2UubGVuZ3RoKytdPTQxOTQzMDMmaSxuPTEwO248dC5sZW5ndGg7bisrKXt2YXIgbz0wfHQud29yZHNbbl07dC53b3Jkc1tuLTEwXT0oNDE5NDMwMyZvKTw8NHxpPj4+MjIsaT1vfWk+Pj49MjIsdC53b3Jkc1tuLTEwXT1pLDA9PT1pJiZ0Lmxlbmd0aD4xMD90Lmxlbmd0aC09MTA6dC5sZW5ndGgtPTl9LHYucHJvdG90eXBlLmltdWxLPWZ1bmN0aW9uKHQpe3Qud29yZHNbdC5sZW5ndGhdPTAsdC53b3Jkc1t0Lmxlbmd0aCsxXT0wLHQubGVuZ3RoKz0yO2Zvcih2YXIgZT0wLHI9MDtyPHQubGVuZ3RoO3IrKyl7dmFyIG49MHx0LndvcmRzW3JdO2UrPTk3NypuLHQud29yZHNbcl09NjcxMDg4NjMmZSxlPTY0Km4rKGUvNjcxMDg4NjR8MCl9cmV0dXJuIDA9PT10LndvcmRzW3QubGVuZ3RoLTFdJiYodC5sZW5ndGgtLSwwPT09dC53b3Jkc1t0Lmxlbmd0aC0xXSYmdC5sZW5ndGgtLSksdH0saShnLHkpLGkodyx5KSxpKF8seSksXy5wcm90b3R5cGUuaW11bEs9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPTAscj0wO3I8dC5sZW5ndGg7cisrKXt2YXIgbj0xOSooMHx0LndvcmRzW3JdKStlLGk9NjcxMDg4NjMmbjtuPj4+PTI2LHQud29yZHNbcl09aSxlPW59cmV0dXJuIDAhPT1lJiYodC53b3Jkc1t0Lmxlbmd0aCsrXT1lKSx0fSxvLl9wcmltZT1mdW5jdGlvbih0KXtpZihtW3RdKXJldHVybiBtW3RdO3ZhciBlO2lmKCJrMjU2Ij09PXQpZT1uZXcgdjtlbHNlIGlmKCJwMjI0Ij09PXQpZT1uZXcgZztlbHNlIGlmKCJwMTkyIj09PXQpZT1uZXcgdztlbHNle2lmKCJwMjU1MTkiIT09dCl0aHJvdyBuZXcgRXJyb3IoIlVua25vd24gcHJpbWUgIit0KTtlPW5ldyBffXJldHVybiBtW3RdPWUsZX0sTS5wcm90b3R5cGUuX3ZlcmlmeTE9ZnVuY3Rpb24odCl7bigwPT09dC5uZWdhdGl2ZSwicmVkIHdvcmtzIG9ubHkgd2l0aCBwb3NpdGl2ZXMiKSxuKHQucmVkLCJyZWQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIil9LE0ucHJvdG90eXBlLl92ZXJpZnkyPWZ1bmN0aW9uKHQsZSl7bigwPT0odC5uZWdhdGl2ZXxlLm5lZ2F0aXZlKSwicmVkIHdvcmtzIG9ubHkgd2l0aCBwb3NpdGl2ZXMiKSxuKHQucmVkJiZ0LnJlZD09PWUucmVkLCJyZWQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIil9LE0ucHJvdG90eXBlLmltb2Q9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMucHJpbWU/dGhpcy5wcmltZS5pcmVkdWNlKHQpLl9mb3JjZVJlZCh0aGlzKTp0LnVtb2QodGhpcy5tKS5fZm9yY2VSZWQodGhpcyl9LE0ucHJvdG90eXBlLm5lZz1mdW5jdGlvbih0KXtyZXR1cm4gdC5pc1plcm8oKT90LmNsb25lKCk6dGhpcy5tLnN1Yih0KS5fZm9yY2VSZWQodGhpcyl9LE0ucHJvdG90eXBlLmFkZD1mdW5jdGlvbih0LGUpe3RoaXMuX3ZlcmlmeTIodCxlKTt2YXIgcj10LmFkZChlKTtyZXR1cm4gci5jbXAodGhpcy5tKT49MCYmci5pc3ViKHRoaXMubSksci5fZm9yY2VSZWQodGhpcyl9LE0ucHJvdG90eXBlLmlhZGQ9ZnVuY3Rpb24odCxlKXt0aGlzLl92ZXJpZnkyKHQsZSk7dmFyIHI9dC5pYWRkKGUpO3JldHVybiByLmNtcCh0aGlzLm0pPj0wJiZyLmlzdWIodGhpcy5tKSxyfSxNLnByb3RvdHlwZS5zdWI9ZnVuY3Rpb24odCxlKXt0aGlzLl92ZXJpZnkyKHQsZSk7dmFyIHI9dC5zdWIoZSk7cmV0dXJuIHIuY21wbigwKTwwJiZyLmlhZGQodGhpcy5tKSxyLl9mb3JjZVJlZCh0aGlzKX0sTS5wcm90b3R5cGUuaXN1Yj1mdW5jdGlvbih0LGUpe3RoaXMuX3ZlcmlmeTIodCxlKTt2YXIgcj10LmlzdWIoZSk7cmV0dXJuIHIuY21wbigwKTwwJiZyLmlhZGQodGhpcy5tKSxyfSxNLnByb3RvdHlwZS5zaGw9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5fdmVyaWZ5MSh0KSx0aGlzLmltb2QodC51c2hsbihlKSl9LE0ucHJvdG90eXBlLmltdWw9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5fdmVyaWZ5Mih0LGUpLHRoaXMuaW1vZCh0LmltdWwoZSkpfSxNLnByb3RvdHlwZS5tdWw9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5fdmVyaWZ5Mih0LGUpLHRoaXMuaW1vZCh0Lm11bChlKSl9LE0ucHJvdG90eXBlLmlzcXI9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuaW11bCh0LHQuY2xvbmUoKSl9LE0ucHJvdG90eXBlLnNxcj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5tdWwodCx0KX0sTS5wcm90b3R5cGUuc3FydD1mdW5jdGlvbih0KXtpZih0LmlzWmVybygpKXJldHVybiB0LmNsb25lKCk7dmFyIGU9dGhpcy5tLmFuZGxuKDMpO2lmKG4oZSUyPT0xKSwzPT09ZSl7dmFyIHI9dGhpcy5tLmFkZChuZXcgbygxKSkuaXVzaHJuKDIpO3JldHVybiB0aGlzLnBvdyh0LHIpfWZvcih2YXIgaT10aGlzLm0uc3VibigxKSxhPTA7IWkuaXNaZXJvKCkmJjA9PT1pLmFuZGxuKDEpOylhKyssaS5pdXNocm4oMSk7bighaS5pc1plcm8oKSk7dmFyIHM9bmV3IG8oMSkudG9SZWQodGhpcyksdT1zLnJlZE5lZygpLGY9dGhpcy5tLnN1Ym4oMSkuaXVzaHJuKDEpLGM9dGhpcy5tLmJpdExlbmd0aCgpO2ZvcihjPW5ldyBvKDIqYypjKS50b1JlZCh0aGlzKTswIT09dGhpcy5wb3coYyxmKS5jbXAodSk7KWMucmVkSUFkZCh1KTtmb3IodmFyIGg9dGhpcy5wb3coYyxpKSxkPXRoaXMucG93KHQsaS5hZGRuKDEpLml1c2hybigxKSksbD10aGlzLnBvdyh0LGkpLHA9YTswIT09bC5jbXAocyk7KXtmb3IodmFyIGI9bCxtPTA7MCE9PWIuY21wKHMpO20rKyliPWIucmVkU3FyKCk7bihtPHApO3ZhciB5PXRoaXMucG93KGgsbmV3IG8oMSkuaXVzaGxuKHAtbS0xKSk7ZD1kLnJlZE11bCh5KSxoPXkucmVkU3FyKCksbD1sLnJlZE11bChoKSxwPW19cmV0dXJuIGR9LE0ucHJvdG90eXBlLmludm09ZnVuY3Rpb24odCl7dmFyIGU9dC5faW52bXAodGhpcy5tKTtyZXR1cm4gMCE9PWUubmVnYXRpdmU/KGUubmVnYXRpdmU9MCx0aGlzLmltb2QoZSkucmVkTmVnKCkpOnRoaXMuaW1vZChlKX0sTS5wcm90b3R5cGUucG93PWZ1bmN0aW9uKHQsZSl7aWYoZS5pc1plcm8oKSlyZXR1cm4gbmV3IG8oMSk7aWYoMD09PWUuY21wbigxKSlyZXR1cm4gdC5jbG9uZSgpO3ZhciByPW5ldyBBcnJheSgxNik7clswXT1uZXcgbygxKS50b1JlZCh0aGlzKSxyWzFdPXQ7Zm9yKHZhciBuPTI7bjxyLmxlbmd0aDtuKyspcltuXT10aGlzLm11bChyW24tMV0sdCk7dmFyIGk9clswXSxhPTAscz0wLHU9ZS5iaXRMZW5ndGgoKSUyNjtmb3IoMD09PXUmJih1PTI2KSxuPWUubGVuZ3RoLTE7bj49MDtuLS0pe2Zvcih2YXIgZj1lLndvcmRzW25dLGM9dS0xO2M+PTA7Yy0tKXt2YXIgaD1mPj5jJjE7aSE9PXJbMF0mJihpPXRoaXMuc3FyKGkpKSwwIT09aHx8MCE9PWE/KGE8PD0xLGF8PWgsKDQ9PT0rK3N8fDA9PT1uJiYwPT09YykmJihpPXRoaXMubXVsKGksclthXSkscz0wLGE9MCkpOnM9MH11PTI2fXJldHVybiBpfSxNLnByb3RvdHlwZS5jb252ZXJ0VG89ZnVuY3Rpb24odCl7dmFyIGU9dC51bW9kKHRoaXMubSk7cmV0dXJuIGU9PT10P2UuY2xvbmUoKTplfSxNLnByb3RvdHlwZS5jb252ZXJ0RnJvbT1mdW5jdGlvbih0KXt2YXIgZT10LmNsb25lKCk7cmV0dXJuIGUucmVkPW51bGwsZX0sby5tb250PWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgeCh0KX0saSh4LE0pLHgucHJvdG90eXBlLmNvbnZlcnRUbz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5pbW9kKHQudXNobG4odGhpcy5zaGlmdCkpfSx4LnByb3RvdHlwZS5jb252ZXJ0RnJvbT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmltb2QodC5tdWwodGhpcy5yaW52KSk7cmV0dXJuIGUucmVkPW51bGwsZX0seC5wcm90b3R5cGUuaW11bD1mdW5jdGlvbih0LGUpe2lmKHQuaXNaZXJvKCl8fGUuaXNaZXJvKCkpcmV0dXJuIHQud29yZHNbMF09MCx0Lmxlbmd0aD0xLHQ7dmFyIHI9dC5pbXVsKGUpLG49ci5tYXNrbih0aGlzLnNoaWZ0KS5tdWwodGhpcy5taW52KS5pbWFza24odGhpcy5zaGlmdCkubXVsKHRoaXMubSksaT1yLmlzdWIobikuaXVzaHJuKHRoaXMuc2hpZnQpLG89aTtyZXR1cm4gaS5jbXAodGhpcy5tKT49MD9vPWkuaXN1Yih0aGlzLm0pOmkuY21wbigwKTwwJiYobz1pLmlhZGQodGhpcy5tKSksby5fZm9yY2VSZWQodGhpcyl9LHgucHJvdG90eXBlLm11bD1mdW5jdGlvbih0LGUpe2lmKHQuaXNaZXJvKCl8fGUuaXNaZXJvKCkpcmV0dXJuIG5ldyBvKDApLl9mb3JjZVJlZCh0aGlzKTt2YXIgcj10Lm11bChlKSxuPXIubWFza24odGhpcy5zaGlmdCkubXVsKHRoaXMubWludikuaW1hc2tuKHRoaXMuc2hpZnQpLm11bCh0aGlzLm0pLGk9ci5pc3ViKG4pLml1c2hybih0aGlzLnNoaWZ0KSxhPWk7cmV0dXJuIGkuY21wKHRoaXMubSk+PTA/YT1pLmlzdWIodGhpcy5tKTppLmNtcG4oMCk8MCYmKGE9aS5pYWRkKHRoaXMubSkpLGEuX2ZvcmNlUmVkKHRoaXMpfSx4LnByb3RvdHlwZS5pbnZtPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmltb2QodC5faW52bXAodGhpcy5tKS5tdWwodGhpcy5yMikpLl9mb3JjZVJlZCh0aGlzKX19KHZvaWQgMD09PWV8fGUsdGhpcyl9LHt9XSwyMTE6W2Z1bmN0aW9uKHQsZSxyKXthcmd1bWVudHNbNF1bMTc4XVswXS5hcHBseShyLGFyZ3VtZW50cyl9LHtkdXA6MTc4fV0sMjEyOltmdW5jdGlvbih0LGUscil7dmFyIG49dCgidW5kZXJzY29yZSIpLGk9dCgid2ViMy11dGlscyIpLG89dCgiYm4uanMiKSxhPXQoIi4vcGFyYW0iKSxzPWZ1bmN0aW9uKHQpe3JldHVybiBuLmlzTnVtYmVyKHQpJiYodD1NYXRoLnRydW5jKHQpKSxuZXcgYShpLnRvVHdvc0NvbXBsZW1lbnQodCkucmVwbGFjZSgiMHgiLCIiKSl9O2UuZXhwb3J0cz17Zm9ybWF0SW5wdXRJbnQ6cyxmb3JtYXRJbnB1dEJ5dGVzOmZ1bmN0aW9uKHQpe2lmKCFpLmlzSGV4U3RyaWN0KHQpKXRocm93IG5ldyBFcnJvcignR2l2ZW4gcGFyYW1ldGVyIGlzIG5vdCBieXRlczogIicrdCsnIicpO3ZhciBlPXQucmVwbGFjZSgvXjB4L2ksIiIpO2lmKGUubGVuZ3RoJTIhPTApdGhyb3cgbmV3IEVycm9yKCdHaXZlbiBwYXJhbWV0ZXIgYnl0ZXMgaGFzIGFuIGludmFsaWQgbGVuZ3RoOiAiJyt0KyciJyk7aWYoZS5sZW5ndGg+NjQpdGhyb3cgbmV3IEVycm9yKCdHaXZlbiBwYXJhbWV0ZXIgYnl0ZXMgaXMgdG9vIGxvbmc6ICInK3QrJyInKTt2YXIgcj1NYXRoLmZsb29yKChlLmxlbmd0aCs2MykvNjQpO3JldHVybiBlPWkucGFkUmlnaHQoZSw2NCpyKSxuZXcgYShlKX0sZm9ybWF0SW5wdXREeW5hbWljQnl0ZXM6ZnVuY3Rpb24odCl7aWYoIWkuaXNIZXhTdHJpY3QodCkpdGhyb3cgbmV3IEVycm9yKCdHaXZlbiBwYXJhbWV0ZXIgaXMgbm90IGJ5dGVzOiAiJyt0KyciJyk7dmFyIGU9dC5yZXBsYWNlKC9eMHgvaSwiIik7aWYoZS5sZW5ndGglMiE9MCl0aHJvdyBuZXcgRXJyb3IoJ0dpdmVuIHBhcmFtZXRlciBieXRlcyBoYXMgYW4gaW52YWxpZCBsZW5ndGg6ICInK3QrJyInKTt2YXIgcj1lLmxlbmd0aC8yLG49TWF0aC5mbG9vcigoZS5sZW5ndGgrNjMpLzY0KTtyZXR1cm4gZT1pLnBhZFJpZ2h0KGUsNjQqbiksbmV3IGEocyhyKS52YWx1ZStlKX0sZm9ybWF0SW5wdXRTdHJpbmc6ZnVuY3Rpb24odCl7aWYoIW4uaXNTdHJpbmcodCkpdGhyb3cgbmV3IEVycm9yKCJHaXZlbiBwYXJhbWV0ZXIgaXMgbm90IGEgdmFsaWQgc3RyaW5nOiAiK3QpO3ZhciBlPWkudXRmOFRvSGV4KHQpLnJlcGxhY2UoL14weC9pLCIiKSxyPWUubGVuZ3RoLzIsbz1NYXRoLmZsb29yKChlLmxlbmd0aCs2MykvNjQpO3JldHVybiBlPWkucGFkUmlnaHQoZSw2NCpvKSxuZXcgYShzKHIpLnZhbHVlK2UpfSxmb3JtYXRJbnB1dEJvb2w6ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBhKCIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiKyh0PyIxIjoiMCIpKX0sZm9ybWF0T3V0cHV0SW50OmZ1bmN0aW9uKHQpe3ZhciBlPXQuc3RhdGljUGFydCgpO2lmKCFlJiYhdC5yYXdWYWx1ZSl0aHJvdyBuZXcgRXJyb3IoIkNvdWxkbid0IGRlY29kZSAiK25hbWUrIiBmcm9tIEFCSTogMHgiK3QucmF3VmFsdWUpO3JldHVybiIxIj09PW5ldyBvKGUuc3Vic3RyKDAsMSksMTYpLnRvU3RyaW5nKDIpLnN1YnN0cigwLDEpP25ldyBvKGUsMTYpLmZyb21Ud29zKDI1NikudG9TdHJpbmcoMTApOm5ldyBvKGUsMTYpLnRvU3RyaW5nKDEwKX0sZm9ybWF0T3V0cHV0VUludDpmdW5jdGlvbih0LGUpe3ZhciByPXQuc3RhdGljUGFydCgpO2lmKCFyJiYhdC5yYXdWYWx1ZSl0aHJvdyBuZXcgRXJyb3IoIkNvdWxkbid0IGRlY29kZSAiK2UrIiBmcm9tIEFCSTogMHgiK3QucmF3VmFsdWUpO3JldHVybiBuZXcgbyhyLDE2KS50b1N0cmluZygxMCl9LGZvcm1hdE91dHB1dEJvb2w6ZnVuY3Rpb24odCxlKXt2YXIgcj10LnN0YXRpY1BhcnQoKTtpZighciYmIXQucmF3VmFsdWUpdGhyb3cgbmV3IEVycm9yKCJDb3VsZG4ndCBkZWNvZGUgIitlKyIgZnJvbSBBQkk6IDB4Iit0LnJhd1ZhbHVlKTtyZXR1cm4iMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMSI9PT1yfSxmb3JtYXRPdXRwdXRCeXRlczpmdW5jdGlvbih0LGUpe3ZhciByPWUubWF0Y2goL15ieXRlcyhbMC05XSopLyksbj1wYXJzZUludChyWzFdKTtpZih0LnN0YXRpY1BhcnQoKS5zbGljZSgwLDIqbikubGVuZ3RoIT09MipuKXRocm93IG5ldyBFcnJvcigiQ291bGRuJ3QgZGVjb2RlICIrZSsiIGZyb20gQUJJOiAweCIrdC5yYXdWYWx1ZSsiIFRoZSBzaXplIGRvZXNuJ3QgbWF0Y2guIik7cmV0dXJuIjB4Iit0LnN0YXRpY1BhcnQoKS5zbGljZSgwLDIqbil9LGZvcm1hdE91dHB1dER5bmFtaWNCeXRlczpmdW5jdGlvbih0LGUpe3ZhciByPXQuZHluYW1pY1BhcnQoKS5zbGljZSgwLDY0KTtpZighcil0aHJvdyBuZXcgRXJyb3IoIkNvdWxkbid0IGRlY29kZSAiK2UrIiBmcm9tIEFCSTogMHgiK3QucmF3VmFsdWUpO3ZhciBuPTIqbmV3IG8ociwxNikudG9OdW1iZXIoKTtyZXR1cm4iMHgiK3QuZHluYW1pY1BhcnQoKS5zdWJzdHIoNjQsbil9LGZvcm1hdE91dHB1dFN0cmluZzpmdW5jdGlvbih0KXt2YXIgZT10LmR5bmFtaWNQYXJ0KCkuc2xpY2UoMCw2NCk7aWYoIWUpdGhyb3cgbmV3IEVycm9yKCJFUlJPUjogVGhlIHJldHVybmVkIHZhbHVlIGlzIG5vdCBhIGNvbnZlcnRpYmxlIHN0cmluZzoiK2UpO3ZhciByPTIqbmV3IG8oZSwxNikudG9OdW1iZXIoKTtyZXR1cm4gcj9pLmhleFRvVXRmOCgiMHgiK3QuZHluYW1pY1BhcnQoKS5zdWJzdHIoNjQscikucmVwbGFjZSgvXjB4L2ksIiIpKToiIn0sZm9ybWF0T3V0cHV0QWRkcmVzczpmdW5jdGlvbih0LGUpe3ZhciByPXQuc3RhdGljUGFydCgpO2lmKCFyKXRocm93IG5ldyBFcnJvcigiQ291bGRuJ3QgZGVjb2RlICIrZSsiIGZyb20gQUJJOiAweCIrdC5yYXdWYWx1ZSk7cmV0dXJuIGkudG9DaGVja3N1bUFkZHJlc3MoIjB4IityLnNsaWNlKHIubGVuZ3RoLTQwLHIubGVuZ3RoKSl9LHRvVHdvc0NvbXBsZW1lbnQ6aS50b1R3b3NDb21wbGVtZW50fX0seyIuL3BhcmFtIjoyMTQsImJuLmpzIjoyMTAsdW5kZXJzY29yZToyMTEsIndlYjMtdXRpbHMiOjM5M31dLDIxMzpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQoInVuZGVyc2NvcmUiKSxpPXQoIndlYjMtdXRpbHMiKSxvPXQoIi4vZm9ybWF0dGVycyIpLGE9dCgiLi90eXBlcy9hZGRyZXNzIikscz10KCIuL3R5cGVzL2Jvb2wiKSx1PXQoIi4vdHlwZXMvaW50IiksZj10KCIuL3R5cGVzL3VpbnQiKSxjPXQoIi4vdHlwZXMvZHluYW1pY2J5dGVzIiksaD10KCIuL3R5cGVzL3N0cmluZyIpLGQ9dCgiLi90eXBlcy9ieXRlcyIpLGw9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdC5pc0R5bmFtaWNUeXBlKGUpfHx0LmlzRHluYW1pY0FycmF5KGUpfTtmdW5jdGlvbiBwKCl7fXZhciBiPWZ1bmN0aW9uKHQpe3RoaXMuX3R5cGVzPXR9O2IucHJvdG90eXBlLl9yZXF1aXJlVHlwZT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLl90eXBlcy5maWx0ZXIoZnVuY3Rpb24oZSl7cmV0dXJuIGUuaXNUeXBlKHQpfSlbMF07aWYoIWUpdGhyb3cgRXJyb3IoIkludmFsaWQgc29saWRpdHkgdHlwZTogIit0KTtyZXR1cm4gZX0sYi5wcm90b3R5cGUuX2dldE9mZnNldHM9ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9ZS5tYXAoZnVuY3Rpb24oZSxyKXtyZXR1cm4gZS5zdGF0aWNQYXJ0TGVuZ3RoKHRbcl0pfSksbj0xO248ci5sZW5ndGg7bisrKXJbbl0rPXJbbi0xXTtyZXR1cm4gci5tYXAoZnVuY3Rpb24ocixuKXtyZXR1cm4gci1lW25dLnN0YXRpY1BhcnRMZW5ndGgodFtuXSl9KX0sYi5wcm90b3R5cGUuX2dldFNvbGlkaXR5VHlwZXM9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcztyZXR1cm4gdC5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIGUuX3JlcXVpcmVUeXBlKHQpfSl9LGIucHJvdG90eXBlLl9lbmNvZGVNdWx0aVdpdGhPZmZzZXQ9ZnVuY3Rpb24odCxlLHIsbil7dmFyIGk9IiIsYT10aGlzO3JldHVybiB0LmZvckVhY2goZnVuY3Rpb24ocyx1KXtpZihsKGVbdV0sdFt1XSkpe2krPW8uZm9ybWF0SW5wdXRJbnQobikuZW5jb2RlKCk7dmFyIGY9YS5fZW5jb2RlV2l0aE9mZnNldCh0W3VdLGVbdV0sclt1XSxuKTtuKz1mLmxlbmd0aC8yfWVsc2UgaSs9YS5fZW5jb2RlV2l0aE9mZnNldCh0W3VdLGVbdV0sclt1XSxuKX0pLHQuZm9yRWFjaChmdW5jdGlvbihvLHMpe2lmKGwoZVtzXSx0W3NdKSl7dmFyIHU9YS5fZW5jb2RlV2l0aE9mZnNldCh0W3NdLGVbc10scltzXSxuKTtuKz11Lmxlbmd0aC8yLGkrPXV9fSksaX0sYi5wcm90b3R5cGUuX2VuY29kZVdpdGhPZmZzZXQ9ZnVuY3Rpb24odCxlLHIsbil7dmFyIGksYSxzLHUsZixjLGg9dGhpcztyZXR1cm4gZS5pc0R5bmFtaWNBcnJheSh0KT8odT1lLm5lc3RlZE5hbWUodCksZj1lLnN0YXRpY1BhcnRMZW5ndGgodSksYz1yWzBdLGZ1bmN0aW9uKCl7dmFyIHQ9MjtpZihlLmlzRHluYW1pY0FycmF5KHUpKWZvcih2YXIgaT0xO2k8ci5sZW5ndGg7aSsrKXQrPStyW2ktMV1bMF18fDAsYys9by5mb3JtYXRJbnB1dEludChuK2kqZiszMip0KS5lbmNvZGUoKX0oKSxmdW5jdGlvbigpe2Zvcih2YXIgdD0wO3Q8ci5sZW5ndGgtMTt0Kyspe3ZhciBpPWMvMjtjKz1oLl9lbmNvZGVXaXRoT2Zmc2V0KHUsZSxyW3QrMV0sbitpKX19KCksYyk6ZS5pc1N0YXRpY0FycmF5KHQpPyhpPWUubmVzdGVkTmFtZSh0KSxhPWUuc3RhdGljUGFydExlbmd0aChpKSxzPSIiLGUuaXNEeW5hbWljQXJyYXkoaSkmJmZ1bmN0aW9uKCl7Zm9yKHZhciB0PTAsZT0wO2U8ci5sZW5ndGg7ZSsrKXQrPSsocltlLTFdfHxbXSlbMF18fDAscys9by5mb3JtYXRJbnB1dEludChuK2UqYSszMip0KS5lbmNvZGUoKX0oKSxmdW5jdGlvbigpe2Zvcih2YXIgdD0wO3Q8ci5sZW5ndGg7dCsrKXt2YXIgbz1zLzI7cys9aC5fZW5jb2RlV2l0aE9mZnNldChpLGUsclt0XSxuK28pfX0oKSxzKTpyfSxiLnByb3RvdHlwZS5lbmNvZGVGdW5jdGlvblNpZ25hdHVyZT1mdW5jdGlvbih0KXtyZXR1cm4gbi5pc09iamVjdCh0KSYmKHQ9aS5fanNvbkludGVyZmFjZU1ldGhvZFRvU3RyaW5nKHQpKSxpLnNoYTModCkuc2xpY2UoMCwxMCl9LGIucHJvdG90eXBlLmVuY29kZUV2ZW50U2lnbmF0dXJlPWZ1bmN0aW9uKHQpe3JldHVybiBuLmlzT2JqZWN0KHQpJiYodD1pLl9qc29uSW50ZXJmYWNlTWV0aG9kVG9TdHJpbmcodCkpLGkuc2hhMyh0KX0sYi5wcm90b3R5cGUuZW5jb2RlUGFyYW1ldGVyPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuZW5jb2RlUGFyYW1ldGVycyhbdF0sW2VdKX0sYi5wcm90b3R5cGUuZW5jb2RlUGFyYW1ldGVycz1mdW5jdGlvbih0LGUpe24uaXNPYmplY3QodCkmJnQuaW5wdXRzJiYodD1uLm1hcCh0LmlucHV0cyxmdW5jdGlvbih0KXtyZXR1cm4gdC50eXBlfSkpO3ZhciByPXRoaXMuX2dldFNvbGlkaXR5VHlwZXModCksaT1yLm1hcChmdW5jdGlvbihyLG4pe3JldHVybiByLmVuY29kZShlW25dLHRbbl0pfSksbz1yLnJlZHVjZShmdW5jdGlvbihlLG4saSl7dmFyIG89bi5zdGF0aWNQYXJ0TGVuZ3RoKHRbaV0pLGE9MzIqTWF0aC5mbG9vcigobyszMSkvMzIpO3JldHVybiBlKyhsKHJbaV0sdFtpXSk/MzI6YSl9LDApO3JldHVybiIweCIrdGhpcy5fZW5jb2RlTXVsdGlXaXRoT2Zmc2V0KHQscixpLG8pfSxiLnByb3RvdHlwZS5lbmNvZGVGdW5jdGlvbkNhbGw9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5lbmNvZGVGdW5jdGlvblNpZ25hdHVyZSh0KSt0aGlzLmVuY29kZVBhcmFtZXRlcnModCxlKS5yZXBsYWNlKCIweCIsIiIpfSxiLnByb3RvdHlwZS5kZWNvZGVQYXJhbWV0ZXI9ZnVuY3Rpb24odCxlKXtpZighbi5pc1N0cmluZyh0KSl0aHJvdyBuZXcgRXJyb3IoIkdpdmVuIHBhcmFtZXRlciB0eXBlIGlzIG5vdCBhIHN0cmluZzogIit0KTtyZXR1cm4gdGhpcy5kZWNvZGVQYXJhbWV0ZXJzKFt7dHlwZTp0fV0sZSlbMF19LGIucHJvdG90eXBlLmRlY29kZVBhcmFtZXRlcnM9ZnVuY3Rpb24odCxlKXt2YXIgcj1uLmlzQXJyYXkodCkmJm4uaXNTdHJpbmcodFswXSksaT1yP3Q6W107cnx8dC5mb3JFYWNoKGZ1bmN0aW9uKHQpe2kucHVzaCh0LnR5cGUpfSk7dmFyIG89dGhpcy5fZ2V0U29saWRpdHlUeXBlcyhpKSxhPXRoaXMuX2dldE9mZnNldHMoaSxvKSxzPW5ldyBwO3MuX19sZW5ndGhfXz0wO3ZhciB1PTA7cmV0dXJuIHQuZm9yRWFjaChmdW5jdGlvbih0LHIpe3ZhciBmPW9bdV0uZGVjb2RlKGUucmVwbGFjZSgvXjB4L2ksIiIpLGFbdV0saVt1XSx1KTtmPSIweCI9PT1mP251bGw6ZixzW3JdPWYsbi5pc09iamVjdCh0KSYmdC5uYW1lJiYoc1t0Lm5hbWVdPWYpLHMuX19sZW5ndGhfXysrLHUrK30pLHN9LGIucHJvdG90eXBlLmRlY29kZUxvZz1mdW5jdGlvbih0LGUscil7ZT1lfHwiIjt2YXIgaT1bXSxvPVtdO3QuZm9yRWFjaChmdW5jdGlvbih0LGUpe3QuaW5kZXhlZD9vW2VdPXQ6aVtlXT10fSk7dmFyIGE9ZS5zbGljZSgyKSxzPW4uaXNBcnJheShyKT9yLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdC5zbGljZSgyKX0pLmpvaW4oIiIpOnIsdT10aGlzLmRlY29kZVBhcmFtZXRlcnMoaSxhKSxmPXRoaXMuZGVjb2RlUGFyYW1ldGVycyhvLHMpLGM9bmV3IHA7cmV0dXJuIGMuX19sZW5ndGhfXz0wLHQuZm9yRWFjaChmdW5jdGlvbih0LGUpe2NbZV09InN0cmluZyI9PT10LnR5cGU/IiI6bnVsbCx1W2VdJiYoY1tlXT11W2VdKSxmW2VdJiYoY1tlXT1mW2VdKSx0Lm5hbWUmJihjW3QubmFtZV09Y1tlXSksYy5fX2xlbmd0aF9fKyt9KSxjfTt2YXIgbT1uZXcgYihbbmV3IGEsbmV3IHMsbmV3IHUsbmV3IGYsbmV3IGMsbmV3IGQsbmV3IGhdKTtlLmV4cG9ydHM9bX0seyIuL2Zvcm1hdHRlcnMiOjIxMiwiLi90eXBlcy9hZGRyZXNzIjoyMTYsIi4vdHlwZXMvYm9vbCI6MjE3LCIuL3R5cGVzL2J5dGVzIjoyMTgsIi4vdHlwZXMvZHluYW1pY2J5dGVzIjoyMTksIi4vdHlwZXMvaW50IjoyMjAsIi4vdHlwZXMvc3RyaW5nIjoyMjEsIi4vdHlwZXMvdWludCI6MjIyLHVuZGVyc2NvcmU6MjExLCJ3ZWIzLXV0aWxzIjozOTN9XSwyMTQ6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbj10KCIuL2Zvcm1hdHRlcnMuanMiKSxpPWZ1bmN0aW9uKHQsZSxyKXt0aGlzLnZhbHVlPXR8fCIiLHRoaXMub2Zmc2V0PWUsdGhpcy5yYXdWYWx1ZT1yfTtpLnByb3RvdHlwZS5keW5hbWljUGFydExlbmd0aD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmR5bmFtaWNQYXJ0KCkubGVuZ3RoLzJ9LGkucHJvdG90eXBlLndpdGhPZmZzZXQ9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBpKHRoaXMudmFsdWUsdCl9LGkucHJvdG90eXBlLmNvbWJpbmU9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBpKHRoaXMudmFsdWUrdC52YWx1ZSl9LGkucHJvdG90eXBlLmlzRHluYW1pYz1mdW5jdGlvbigpe3JldHVybiB2b2lkIDAhPT10aGlzLm9mZnNldH0saS5wcm90b3R5cGUub2Zmc2V0QXNCeXRlcz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmlzRHluYW1pYygpP24udG9Ud29zQ29tcGxlbWVudCh0aGlzLm9mZnNldCkucmVwbGFjZSgiMHgiLCIiKToiIn0saS5wcm90b3R5cGUuc3RhdGljUGFydD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmlzRHluYW1pYygpP3RoaXMub2Zmc2V0QXNCeXRlcygpOnRoaXMudmFsdWV9LGkucHJvdG90eXBlLmR5bmFtaWNQYXJ0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaXNEeW5hbWljKCk/dGhpcy52YWx1ZToiIn0saS5wcm90b3R5cGUuZW5jb2RlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc3RhdGljUGFydCgpK3RoaXMuZHluYW1pY1BhcnQoKX0saS5lbmNvZGVMaXN0PWZ1bmN0aW9uKHQpe3ZhciBlPTMyKnQubGVuZ3RoLHI9dC5tYXAoZnVuY3Rpb24odCl7aWYoIXQuaXNEeW5hbWljKCkpcmV0dXJuIHQ7dmFyIHI9ZTtyZXR1cm4gZSs9dC5keW5hbWljUGFydExlbmd0aCgpLHQud2l0aE9mZnNldChyKX0pO3JldHVybiByLnJlZHVjZShmdW5jdGlvbih0LGUpe3JldHVybiB0K2UuZHluYW1pY1BhcnQoKX0sci5yZWR1Y2UoZnVuY3Rpb24odCxlKXtyZXR1cm4gdCtlLnN0YXRpY1BhcnQoKX0sIiIpKX0sZS5leHBvcnRzPWl9LHsiLi9mb3JtYXR0ZXJzLmpzIjoyMTJ9XSwyMTU6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbj10KCIuL2Zvcm1hdHRlcnMiKSxpPXQoIi4vcGFyYW0iKSxvPWZ1bmN0aW9uKHQpe3RoaXMuX2lucHV0Rm9ybWF0dGVyPXQuaW5wdXRGb3JtYXR0ZXIsdGhpcy5fb3V0cHV0Rm9ybWF0dGVyPXQub3V0cHV0Rm9ybWF0dGVyfTtvLnByb3RvdHlwZS5pc1R5cGU9ZnVuY3Rpb24odCl7dGhyb3ciVGhpcyBtZXRob2Qgc2hvdWxkIGJlIG92ZXJ3cml0dGVuIGZvciB0eXBlICIrdH0sby5wcm90b3R5cGUuc3RhdGljUGFydExlbmd0aD1mdW5jdGlvbih0KXtyZXR1cm4odGhpcy5uZXN0ZWRUeXBlcyh0KXx8WyJbMV0iXSkubWFwKGZ1bmN0aW9uKHQpe3JldHVybiBwYXJzZUludCh0LnNsaWNlKDEsLTEpLDEwKXx8MX0pLnJlZHVjZShmdW5jdGlvbih0LGUpe3JldHVybiB0KmV9LDMyKX0sby5wcm90b3R5cGUuaXNEeW5hbWljQXJyYXk9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5uZXN0ZWRUeXBlcyh0KTtyZXR1cm4hIWUmJiFlW2UubGVuZ3RoLTFdLm1hdGNoKC9bMC05XXsxLH0vZyl9LG8ucHJvdG90eXBlLmlzU3RhdGljQXJyYXk9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5uZXN0ZWRUeXBlcyh0KTtyZXR1cm4hIWUmJiEhZVtlLmxlbmd0aC0xXS5tYXRjaCgvWzAtOV17MSx9L2cpfSxvLnByb3RvdHlwZS5zdGF0aWNBcnJheUxlbmd0aD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLm5lc3RlZFR5cGVzKHQpO3JldHVybiBlP3BhcnNlSW50KGVbZS5sZW5ndGgtMV0ubWF0Y2goL1swLTldezEsfS9nKXx8MSk6MX0sby5wcm90b3R5cGUubmVzdGVkTmFtZT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLm5lc3RlZFR5cGVzKHQpO3JldHVybiBlP3Quc3Vic3RyKDAsdC5sZW5ndGgtZVtlLmxlbmd0aC0xXS5sZW5ndGgpOnR9LG8ucHJvdG90eXBlLmlzRHluYW1pY1R5cGU9ZnVuY3Rpb24oKXtyZXR1cm4hMX0sby5wcm90b3R5cGUubmVzdGVkVHlwZXM9ZnVuY3Rpb24odCl7cmV0dXJuIHQubWF0Y2goLyhcW1swLTldKlxdKS9nKX0sby5wcm90b3R5cGUuZW5jb2RlPWZ1bmN0aW9uKHQsZSl7dmFyIHIsaSxvLGE9dGhpcztyZXR1cm4gdGhpcy5pc0R5bmFtaWNBcnJheShlKT8ocj10Lmxlbmd0aCxpPWEubmVzdGVkTmFtZShlKSwobz1bXSkucHVzaChuLmZvcm1hdElucHV0SW50KHIpLmVuY29kZSgpKSx0LmZvckVhY2goZnVuY3Rpb24odCl7by5wdXNoKGEuZW5jb2RlKHQsaSkpfSksbyk6dGhpcy5pc1N0YXRpY0FycmF5KGUpP2Z1bmN0aW9uKCl7Zm9yKHZhciByPWEuc3RhdGljQXJyYXlMZW5ndGgoZSksbj1hLm5lc3RlZE5hbWUoZSksaT1bXSxvPTA7bzxyO28rKylpLnB1c2goYS5lbmNvZGUodFtvXSxuKSk7cmV0dXJuIGl9KCk6dGhpcy5faW5wdXRGb3JtYXR0ZXIodCxlKS5lbmNvZGUoKX0sby5wcm90b3R5cGUuZGVjb2RlPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbixvLGEscyx1PXRoaXM7aWYodGhpcy5pc0R5bmFtaWNBcnJheShyKSlyZXR1cm4gZnVuY3Rpb24oKXtmb3IodmFyIG49cGFyc2VJbnQoIjB4Iit0LnN1YnN0cigyKmUsNjQpKSxpPXBhcnNlSW50KCIweCIrdC5zdWJzdHIoMipuLDY0KSksbz1uKzMyLGE9dS5uZXN0ZWROYW1lKHIpLHM9dS5zdGF0aWNQYXJ0TGVuZ3RoKGEpLGY9MzIqTWF0aC5mbG9vcigocyszMSkvMzIpLGM9W10saD0wO2g8aSpmO2grPWYpYy5wdXNoKHUuZGVjb2RlKHQsbytoLGEpKTtyZXR1cm4gY30oKTtpZih0aGlzLmlzU3RhdGljQXJyYXkocikpcmV0dXJuIGZ1bmN0aW9uKCl7Zm9yKHZhciBuPXUuc3RhdGljQXJyYXlMZW5ndGgociksaT1lLG89dS5uZXN0ZWROYW1lKHIpLGE9dS5zdGF0aWNQYXJ0TGVuZ3RoKG8pLHM9MzIqTWF0aC5mbG9vcigoYSszMSkvMzIpLGY9W10sYz0wO2M8bipzO2MrPXMpZi5wdXNoKHUuZGVjb2RlKHQsaStjLG8pKTtyZXR1cm4gZn0oKTtpZih0aGlzLmlzRHluYW1pY1R5cGUocikpcmV0dXJuIG49cGFyc2VJbnQoIjB4Iit0LnN1YnN0cigyKmUsNjQpKSxvPXBhcnNlSW50KCIweCIrdC5zdWJzdHIoMipuLDY0KSksYT1NYXRoLmZsb29yKChvKzMxKS8zMikscz1uZXcgaSh0LnN1YnN0cigyKm4sNjQqKDErYSkpLDAsdCksdS5fb3V0cHV0Rm9ybWF0dGVyKHMscik7dmFyIGY9dGhpcy5zdGF0aWNQYXJ0TGVuZ3RoKHIpLGM9bmV3IGkodC5zdWJzdHIoMiplLDIqZiksdm9pZCAwLHQpO3JldHVybiB0aGlzLl9vdXRwdXRGb3JtYXR0ZXIoYyxyKX0sZS5leHBvcnRzPW99LHsiLi9mb3JtYXR0ZXJzIjoyMTIsIi4vcGFyYW0iOjIxNH1dLDIxNjpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQoIi4uL2Zvcm1hdHRlcnMiKSxpPXQoIndlYjMtY29yZS1oZWxwZXJzIikuZm9ybWF0dGVycyxvPXQoIi4uL3R5cGUiKSxhPWZ1bmN0aW9uKCl7dGhpcy5faW5wdXRGb3JtYXR0ZXI9ZnVuY3Rpb24oKXt2YXIgdD1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpO3JldHVybiB0WzBdPXRbMF0mJiIweDAiIT09dFswXT9pLmlucHV0QWRkcmVzc0Zvcm1hdHRlcih0WzBdKToiIixuLmZvcm1hdElucHV0SW50LmFwcGx5KHRoaXMsdCl9LHRoaXMuX291dHB1dEZvcm1hdHRlcj1uLmZvcm1hdE91dHB1dEFkZHJlc3N9OyhhLnByb3RvdHlwZT1uZXcgbyh7fSkpLmNvbnN0cnVjdG9yPWEsYS5wcm90b3R5cGUuaXNUeXBlPWZ1bmN0aW9uKHQpe3JldHVybiEhdC5tYXRjaCgvYWRkcmVzcyhcWyhbMC05XSopXF0pPy8pfSxlLmV4cG9ydHM9YX0seyIuLi9mb3JtYXR0ZXJzIjoyMTIsIi4uL3R5cGUiOjIxNSwid2ViMy1jb3JlLWhlbHBlcnMiOjE5MX1dLDIxNzpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQoIi4uL2Zvcm1hdHRlcnMiKSxpPXQoIi4uL3R5cGUiKSxvPWZ1bmN0aW9uKCl7dGhpcy5faW5wdXRGb3JtYXR0ZXI9bi5mb3JtYXRJbnB1dEJvb2wsdGhpcy5fb3V0cHV0Rm9ybWF0dGVyPW4uZm9ybWF0T3V0cHV0Qm9vbH07KG8ucHJvdG90eXBlPW5ldyBpKHt9KSkuY29uc3RydWN0b3I9byxvLnByb3RvdHlwZS5pc1R5cGU9ZnVuY3Rpb24odCl7cmV0dXJuISF0Lm1hdGNoKC9eYm9vbChcWyhbMC05XSopXF0pKiQvKX0sZS5leHBvcnRzPW99LHsiLi4vZm9ybWF0dGVycyI6MjEyLCIuLi90eXBlIjoyMTV9XSwyMTg6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbj10KCIuLi9mb3JtYXR0ZXJzIiksaT10KCIuLi90eXBlIiksbz1mdW5jdGlvbigpe3RoaXMuX2lucHV0Rm9ybWF0dGVyPW4uZm9ybWF0SW5wdXRCeXRlcyx0aGlzLl9vdXRwdXRGb3JtYXR0ZXI9bi5mb3JtYXRPdXRwdXRCeXRlc307KG8ucHJvdG90eXBlPW5ldyBpKHt9KSkuY29uc3RydWN0b3I9byxvLnByb3RvdHlwZS5pc1R5cGU9ZnVuY3Rpb24odCl7cmV0dXJuISF0Lm1hdGNoKC9eYnl0ZXMoWzAtOV17MSx9KShcWyhbMC05XSopXF0pKiQvKX0sZS5leHBvcnRzPW99LHsiLi4vZm9ybWF0dGVycyI6MjEyLCIuLi90eXBlIjoyMTV9XSwyMTk6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbj10KCIuLi9mb3JtYXR0ZXJzIiksaT10KCIuLi90eXBlIiksbz1mdW5jdGlvbigpe3RoaXMuX2lucHV0Rm9ybWF0dGVyPW4uZm9ybWF0SW5wdXREeW5hbWljQnl0ZXMsdGhpcy5fb3V0cHV0Rm9ybWF0dGVyPW4uZm9ybWF0T3V0cHV0RHluYW1pY0J5dGVzfTsoby5wcm90b3R5cGU9bmV3IGkoe30pKS5jb25zdHJ1Y3Rvcj1vLG8ucHJvdG90eXBlLmlzVHlwZT1mdW5jdGlvbih0KXtyZXR1cm4hIXQubWF0Y2goL15ieXRlcyhcWyhbMC05XSopXF0pKiQvKX0sby5wcm90b3R5cGUuaXNEeW5hbWljVHlwZT1mdW5jdGlvbigpe3JldHVybiEwfSxlLmV4cG9ydHM9b30seyIuLi9mb3JtYXR0ZXJzIjoyMTIsIi4uL3R5cGUiOjIxNX1dLDIyMDpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQoIi4uL2Zvcm1hdHRlcnMiKSxpPXQoIi4uL3R5cGUiKSxvPWZ1bmN0aW9uKCl7dGhpcy5faW5wdXRGb3JtYXR0ZXI9bi5mb3JtYXRJbnB1dEludCx0aGlzLl9vdXRwdXRGb3JtYXR0ZXI9bi5mb3JtYXRPdXRwdXRJbnR9OyhvLnByb3RvdHlwZT1uZXcgaSh7fSkpLmNvbnN0cnVjdG9yPW8sby5wcm90b3R5cGUuaXNUeXBlPWZ1bmN0aW9uKHQpe3JldHVybiEhdC5tYXRjaCgvXmludChbMC05XSopPyhcWyhbMC05XSopXF0pKiQvKX0sZS5leHBvcnRzPW99LHsiLi4vZm9ybWF0dGVycyI6MjEyLCIuLi90eXBlIjoyMTV9XSwyMjE6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbj10KCIuLi9mb3JtYXR0ZXJzIiksaT10KCIuLi90eXBlIiksbz1mdW5jdGlvbigpe3RoaXMuX2lucHV0Rm9ybWF0dGVyPW4uZm9ybWF0SW5wdXRTdHJpbmcsdGhpcy5fb3V0cHV0Rm9ybWF0dGVyPW4uZm9ybWF0T3V0cHV0U3RyaW5nfTsoby5wcm90b3R5cGU9bmV3IGkoe30pKS5jb25zdHJ1Y3Rvcj1vLG8ucHJvdG90eXBlLmlzVHlwZT1mdW5jdGlvbih0KXtyZXR1cm4hIXQubWF0Y2goL15zdHJpbmcoXFsoWzAtOV0qKVxdKSokLyl9LG8ucHJvdG90eXBlLmlzRHluYW1pY1R5cGU9ZnVuY3Rpb24oKXtyZXR1cm4hMH0sZS5leHBvcnRzPW99LHsiLi4vZm9ybWF0dGVycyI6MjEyLCIuLi90eXBlIjoyMTV9XSwyMjI6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbj10KCIuLi9mb3JtYXR0ZXJzIiksaT10KCIuLi90eXBlIiksbz1mdW5jdGlvbigpe3RoaXMuX2lucHV0Rm9ybWF0dGVyPW4uZm9ybWF0SW5wdXRJbnQsdGhpcy5fb3V0cHV0Rm9ybWF0dGVyPW4uZm9ybWF0T3V0cHV0VUludH07KG8ucHJvdG90eXBlPW5ldyBpKHt9KSkuY29uc3RydWN0b3I9byxvLnByb3RvdHlwZS5pc1R5cGU9ZnVuY3Rpb24odCl7cmV0dXJuISF0Lm1hdGNoKC9edWludChbMC05XSopPyhcWyhbMC05XSopXF0pKiQvKX0sZS5leHBvcnRzPW99LHsiLi4vZm9ybWF0dGVycyI6MjEyLCIuLi90eXBlIjoyMTV9XSwyMjM6W2Z1bmN0aW9uKHQsZSxyKXthcmd1bWVudHNbNF1bMTk0XVswXS5hcHBseShyLGFyZ3VtZW50cyl9LHsiLi9yZWdpc3RlciI6MjI1LGR1cDoxOTR9XSwyMjQ6W2Z1bmN0aW9uKHQsZSxyKXthcmd1bWVudHNbNF1bMTk1XVswXS5hcHBseShyLGFyZ3VtZW50cyl9LHtkdXA6MTk1fV0sMjI1OltmdW5jdGlvbih0LGUscil7YXJndW1lbnRzWzRdWzE5Nl1bMF0uYXBwbHkocixhcmd1bWVudHMpfSx7Ii4vbG9hZGVyIjoyMjQsZHVwOjE5Nn1dLDIyNjpbZnVuY3Rpb24odCxlLHIpe2FyZ3VtZW50c1s0XVsxXVswXS5hcHBseShyLGFyZ3VtZW50cyl9LHsiLi9hc24xL2FwaSI6MjI3LCIuL2FzbjEvYmFzZSI6MjI5LCIuL2FzbjEvY29uc3RhbnRzIjoyMzMsIi4vYXNuMS9kZWNvZGVycyI6MjM1LCIuL2FzbjEvZW5jb2RlcnMiOjIzOCwiYm4uanMiOjI0MCxkdXA6MX1dLDIyNzpbZnVuY3Rpb24odCxlLHIpe2FyZ3VtZW50c1s0XVsyXVswXS5hcHBseShyLGFyZ3VtZW50cyl9LHsiLi4vYXNuMSI6MjI2LGR1cDoyLGluaGVyaXRzOjMyNSx2bToxNjF9XSwyMjg6W2Z1bmN0aW9uKHQsZSxyKXthcmd1bWVudHNbNF1bM11bMF0uYXBwbHkocixhcmd1bWVudHMpfSx7Ii4uL2Jhc2UiOjIyOSxidWZmZXI6NDcsZHVwOjMsaW5oZXJpdHM6MzI1fV0sMjI5OltmdW5jdGlvbih0LGUscil7YXJndW1lbnRzWzRdWzRdWzBdLmFwcGx5KHIsYXJndW1lbnRzKX0seyIuL2J1ZmZlciI6MjI4LCIuL25vZGUiOjIzMCwiLi9yZXBvcnRlciI6MjMxLGR1cDo0fV0sMjMwOltmdW5jdGlvbih0LGUscil7YXJndW1lbnRzWzRdWzVdWzBdLmFwcGx5KHIsYXJndW1lbnRzKX0seyIuLi9iYXNlIjoyMjksZHVwOjUsIm1pbmltYWxpc3RpYy1hc3NlcnQiOjMyOX1dLDIzMTpbZnVuY3Rpb24odCxlLHIpe2FyZ3VtZW50c1s0XVs2XVswXS5hcHBseShyLGFyZ3VtZW50cyl9LHtkdXA6Nixpbmhlcml0czozMjV9XSwyMzI6W2Z1bmN0aW9uKHQsZSxyKXthcmd1bWVudHNbNF1bN11bMF0uYXBwbHkocixhcmd1bWVudHMpfSx7Ii4uL2NvbnN0YW50cyI6MjMzLGR1cDo3fV0sMjMzOltmdW5jdGlvbih0LGUscil7YXJndW1lbnRzWzRdWzhdWzBdLmFwcGx5KHIsYXJndW1lbnRzKX0seyIuL2RlciI6MjMyLGR1cDo4fV0sMjM0OltmdW5jdGlvbih0LGUscil7YXJndW1lbnRzWzRdWzldWzBdLmFwcGx5KHIsYXJndW1lbnRzKX0seyIuLi8uLi9hc24xIjoyMjYsZHVwOjksaW5oZXJpdHM6MzI1fV0sMjM1OltmdW5jdGlvbih0LGUscil7YXJndW1lbnRzWzRdWzEwXVswXS5hcHBseShyLGFyZ3VtZW50cyl9LHsiLi9kZXIiOjIzNCwiLi9wZW0iOjIzNixkdXA6MTB9XSwyMzY6W2Z1bmN0aW9uKHQsZSxyKXthcmd1bWVudHNbNF1bMTFdWzBdLmFwcGx5KHIsYXJndW1lbnRzKX0seyIuL2RlciI6MjM0LGJ1ZmZlcjo0NyxkdXA6MTEsaW5oZXJpdHM6MzI1fV0sMjM3OltmdW5jdGlvbih0LGUscil7YXJndW1lbnRzWzRdWzEyXVswXS5hcHBseShyLGFyZ3VtZW50cyl9LHsiLi4vLi4vYXNuMSI6MjI2LGJ1ZmZlcjo0NyxkdXA6MTIsaW5oZXJpdHM6MzI1fV0sMjM4OltmdW5jdGlvbih0LGUscil7YXJndW1lbnRzWzRdWzEzXVswXS5hcHBseShyLGFyZ3VtZW50cyl9LHsiLi9kZXIiOjIzNywiLi9wZW0iOjIzOSxkdXA6MTN9XSwyMzk6W2Z1bmN0aW9uKHQsZSxyKXthcmd1bWVudHNbNF1bMTRdWzBdLmFwcGx5KHIsYXJndW1lbnRzKX0seyIuL2RlciI6MjM3LGR1cDoxNCxpbmhlcml0czozMjV9XSwyNDA6W2Z1bmN0aW9uKHQsZSxyKXshZnVuY3Rpb24oZSxyKXtmdW5jdGlvbiBuKHQsZSl7aWYoIXQpdGhyb3cgbmV3IEVycm9yKGV8fCJBc3NlcnRpb24gZmFpbGVkIil9ZnVuY3Rpb24gaSh0LGUpe3Quc3VwZXJfPWU7dmFyIHI9ZnVuY3Rpb24oKXt9O3IucHJvdG90eXBlPWUucHJvdG90eXBlLHQucHJvdG90eXBlPW5ldyByLHQucHJvdG90eXBlLmNvbnN0cnVjdG9yPXR9ZnVuY3Rpb24gbyh0LGUscil7aWYoby5pc0JOKHQpKXJldHVybiB0O3RoaXMubmVnYXRpdmU9MCx0aGlzLndvcmRzPW51bGwsdGhpcy5sZW5ndGg9MCx0aGlzLnJlZD1udWxsLG51bGwhPT10JiYoImxlIiE9PWUmJiJiZSIhPT1lfHwocj1lLGU9MTApLHRoaXMuX2luaXQodHx8MCxlfHwxMCxyfHwiYmUiKSl9dmFyIGE7Im9iamVjdCI9PT0odm9pZCAwPT09ZT8idW5kZWZpbmVkIjpfdHlwZW9mKGUpKT9lLmV4cG9ydHM9bzpyLkJOPW8sby5CTj1vLG8ud29yZFNpemU9MjY7dHJ5e2E9dCgiYnVmZmVyIikuQnVmZmVyfWNhdGNoKHQpe31mdW5jdGlvbiBzKHQsZSxyKXtmb3IodmFyIG49MCxpPU1hdGgubWluKHQubGVuZ3RoLHIpLG89ZTtvPGk7bysrKXt2YXIgYT10LmNoYXJDb2RlQXQobyktNDg7bjw8PTQsbnw9YT49NDkmJmE8PTU0P2EtNDkrMTA6YT49MTcmJmE8PTIyP2EtMTcrMTA6MTUmYX1yZXR1cm4gbn1mdW5jdGlvbiB1KHQsZSxyLG4pe2Zvcih2YXIgaT0wLG89TWF0aC5taW4odC5sZW5ndGgsciksYT1lO2E8bzthKyspe3ZhciBzPXQuY2hhckNvZGVBdChhKS00ODtpKj1uLGkrPXM+PTQ5P3MtNDkrMTA6cz49MTc/cy0xNysxMDpzfXJldHVybiBpfW8uaXNCTj1mdW5jdGlvbih0KXtyZXR1cm4gdCBpbnN0YW5jZW9mIG98fG51bGwhPT10JiYib2JqZWN0Ij09PSh2b2lkIDA9PT10PyJ1bmRlZmluZWQiOl90eXBlb2YodCkpJiZ0LmNvbnN0cnVjdG9yLndvcmRTaXplPT09by53b3JkU2l6ZSYmQXJyYXkuaXNBcnJheSh0LndvcmRzKX0sby5tYXg9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdC5jbXAoZSk+MD90OmV9LG8ubWluPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQuY21wKGUpPDA/dDplfSxvLnByb3RvdHlwZS5faW5pdD1mdW5jdGlvbih0LGUscil7aWYoIm51bWJlciI9PXR5cGVvZiB0KXJldHVybiB0aGlzLl9pbml0TnVtYmVyKHQsZSxyKTtpZigib2JqZWN0Ij09PSh2b2lkIDA9PT10PyJ1bmRlZmluZWQiOl90eXBlb2YodCkpKXJldHVybiB0aGlzLl9pbml0QXJyYXkodCxlLHIpOyJoZXgiPT09ZSYmKGU9MTYpLG4oZT09PSgwfGUpJiZlPj0yJiZlPD0zNik7dmFyIGk9MDsiLSI9PT0odD10LnRvU3RyaW5nKCkucmVwbGFjZSgvXHMrL2csIiIpKVswXSYmaSsrLDE2PT09ZT90aGlzLl9wYXJzZUhleCh0LGkpOnRoaXMuX3BhcnNlQmFzZSh0LGUsaSksIi0iPT09dFswXSYmKHRoaXMubmVnYXRpdmU9MSksdGhpcy5zdHJpcCgpLCJsZSI9PT1yJiZ0aGlzLl9pbml0QXJyYXkodGhpcy50b0FycmF5KCksZSxyKX0sby5wcm90b3R5cGUuX2luaXROdW1iZXI9ZnVuY3Rpb24odCxlLHIpe3Q8MCYmKHRoaXMubmVnYXRpdmU9MSx0PS10KSx0PDY3MTA4ODY0Pyh0aGlzLndvcmRzPVs2NzEwODg2MyZ0XSx0aGlzLmxlbmd0aD0xKTp0PDQ1MDM1OTk2MjczNzA0OTY/KHRoaXMud29yZHM9WzY3MTA4ODYzJnQsdC82NzEwODg2NCY2NzEwODg2M10sdGhpcy5sZW5ndGg9Mik6KG4odDw5MDA3MTk5MjU0NzQwOTkyKSx0aGlzLndvcmRzPVs2NzEwODg2MyZ0LHQvNjcxMDg4NjQmNjcxMDg4NjMsMV0sdGhpcy5sZW5ndGg9MyksImxlIj09PXImJnRoaXMuX2luaXRBcnJheSh0aGlzLnRvQXJyYXkoKSxlLHIpfSxvLnByb3RvdHlwZS5faW5pdEFycmF5PWZ1bmN0aW9uKHQsZSxyKXtpZihuKCJudW1iZXIiPT10eXBlb2YgdC5sZW5ndGgpLHQubGVuZ3RoPD0wKXJldHVybiB0aGlzLndvcmRzPVswXSx0aGlzLmxlbmd0aD0xLHRoaXM7dGhpcy5sZW5ndGg9TWF0aC5jZWlsKHQubGVuZ3RoLzMpLHRoaXMud29yZHM9bmV3IEFycmF5KHRoaXMubGVuZ3RoKTtmb3IodmFyIGk9MDtpPHRoaXMubGVuZ3RoO2krKyl0aGlzLndvcmRzW2ldPTA7dmFyIG8sYSxzPTA7aWYoImJlIj09PXIpZm9yKGk9dC5sZW5ndGgtMSxvPTA7aT49MDtpLT0zKWE9dFtpXXx0W2ktMV08PDh8dFtpLTJdPDwxNix0aGlzLndvcmRzW29dfD1hPDxzJjY3MTA4ODYzLHRoaXMud29yZHNbbysxXT1hPj4+MjYtcyY2NzEwODg2Mywocys9MjQpPj0yNiYmKHMtPTI2LG8rKyk7ZWxzZSBpZigibGUiPT09cilmb3IoaT0wLG89MDtpPHQubGVuZ3RoO2krPTMpYT10W2ldfHRbaSsxXTw8OHx0W2krMl08PDE2LHRoaXMud29yZHNbb118PWE8PHMmNjcxMDg4NjMsdGhpcy53b3Jkc1tvKzFdPWE+Pj4yNi1zJjY3MTA4ODYzLChzKz0yNCk+PTI2JiYocy09MjYsbysrKTtyZXR1cm4gdGhpcy5zdHJpcCgpfSxvLnByb3RvdHlwZS5fcGFyc2VIZXg9ZnVuY3Rpb24odCxlKXt0aGlzLmxlbmd0aD1NYXRoLmNlaWwoKHQubGVuZ3RoLWUpLzYpLHRoaXMud29yZHM9bmV3IEFycmF5KHRoaXMubGVuZ3RoKTtmb3IodmFyIHI9MDtyPHRoaXMubGVuZ3RoO3IrKyl0aGlzLndvcmRzW3JdPTA7dmFyIG4saSxvPTA7Zm9yKHI9dC5sZW5ndGgtNixuPTA7cj49ZTtyLT02KWk9cyh0LHIscis2KSx0aGlzLndvcmRzW25dfD1pPDxvJjY3MTA4ODYzLHRoaXMud29yZHNbbisxXXw9aT4+PjI2LW8mNDE5NDMwMywobys9MjQpPj0yNiYmKG8tPTI2LG4rKyk7cis2IT09ZSYmKGk9cyh0LGUscis2KSx0aGlzLndvcmRzW25dfD1pPDxvJjY3MTA4ODYzLHRoaXMud29yZHNbbisxXXw9aT4+PjI2LW8mNDE5NDMwMyksdGhpcy5zdHJpcCgpfSxvLnByb3RvdHlwZS5fcGFyc2VCYXNlPWZ1bmN0aW9uKHQsZSxyKXt0aGlzLndvcmRzPVswXSx0aGlzLmxlbmd0aD0xO2Zvcih2YXIgbj0wLGk9MTtpPD02NzEwODg2MztpKj1lKW4rKztuLS0saT1pL2V8MDtmb3IodmFyIG89dC5sZW5ndGgtcixhPW8lbixzPU1hdGgubWluKG8sby1hKStyLGY9MCxjPXI7YzxzO2MrPW4pZj11KHQsYyxjK24sZSksdGhpcy5pbXVsbihpKSx0aGlzLndvcmRzWzBdK2Y8NjcxMDg4NjQ/dGhpcy53b3Jkc1swXSs9Zjp0aGlzLl9pYWRkbihmKTtpZigwIT09YSl7dmFyIGg9MTtmb3IoZj11KHQsYyx0Lmxlbmd0aCxlKSxjPTA7YzxhO2MrKyloKj1lO3RoaXMuaW11bG4oaCksdGhpcy53b3Jkc1swXStmPDY3MTA4ODY0P3RoaXMud29yZHNbMF0rPWY6dGhpcy5faWFkZG4oZil9fSxvLnByb3RvdHlwZS5jb3B5PWZ1bmN0aW9uKHQpe3Qud29yZHM9bmV3IEFycmF5KHRoaXMubGVuZ3RoKTtmb3IodmFyIGU9MDtlPHRoaXMubGVuZ3RoO2UrKyl0LndvcmRzW2VdPXRoaXMud29yZHNbZV07dC5sZW5ndGg9dGhpcy5sZW5ndGgsdC5uZWdhdGl2ZT10aGlzLm5lZ2F0aXZlLHQucmVkPXRoaXMucmVkfSxvLnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbigpe3ZhciB0PW5ldyBvKG51bGwpO3JldHVybiB0aGlzLmNvcHkodCksdH0sby5wcm90b3R5cGUuX2V4cGFuZD1mdW5jdGlvbih0KXtmb3IoO3RoaXMubGVuZ3RoPHQ7KXRoaXMud29yZHNbdGhpcy5sZW5ndGgrK109MDtyZXR1cm4gdGhpc30sby5wcm90b3R5cGUuc3RyaXA9ZnVuY3Rpb24oKXtmb3IoO3RoaXMubGVuZ3RoPjEmJjA9PT10aGlzLndvcmRzW3RoaXMubGVuZ3RoLTFdOyl0aGlzLmxlbmd0aC0tO3JldHVybiB0aGlzLl9ub3JtU2lnbigpfSxvLnByb3RvdHlwZS5fbm9ybVNpZ249ZnVuY3Rpb24oKXtyZXR1cm4gMT09PXRoaXMubGVuZ3RoJiYwPT09dGhpcy53b3Jkc1swXSYmKHRoaXMubmVnYXRpdmU9MCksdGhpc30sby5wcm90b3R5cGUuaW5zcGVjdD1mdW5jdGlvbigpe3JldHVybih0aGlzLnJlZD8iPEJOLVI6ICI6IjxCTjogIikrdGhpcy50b1N0cmluZygxNikrIj4ifTt2YXIgZj1bIiIsIjAiLCIwMCIsIjAwMCIsIjAwMDAiLCIwMDAwMCIsIjAwMDAwMCIsIjAwMDAwMDAiLCIwMDAwMDAwMCIsIjAwMDAwMDAwMCIsIjAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiLCIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCIsIjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiXSxjPVswLDAsMjUsMTYsMTIsMTEsMTAsOSw4LDgsNyw3LDcsNyw2LDYsNiw2LDYsNiw2LDUsNSw1LDUsNSw1LDUsNSw1LDUsNSw1LDUsNSw1LDVdLGg9WzAsMCwzMzU1NDQzMiw0MzA0NjcyMSwxNjc3NzIxNiw0ODgyODEyNSw2MDQ2NjE3Niw0MDM1MzYwNywxNjc3NzIxNiw0MzA0NjcyMSwxZTcsMTk0ODcxNzEsMzU4MzE4MDgsNjI3NDg1MTcsNzUyOTUzNiwxMTM5MDYyNSwxNjc3NzIxNiwyNDEzNzU2OSwzNDAxMjIyNCw0NzA0NTg4MSw2NGU2LDQwODQxMDEsNTE1MzYzMiw2NDM2MzQzLDc5NjI2MjQsOTc2NTYyNSwxMTg4MTM3NiwxNDM0ODkwNywxNzIxMDM2OCwyMDUxMTE0OSwyNDNlNSwyODYyOTE1MSwzMzU1NDQzMiwzOTEzNTM5Myw0NTQzNTQyNCw1MjUyMTg3NSw2MDQ2NjE3Nl07ZnVuY3Rpb24gZCh0LGUscil7ci5uZWdhdGl2ZT1lLm5lZ2F0aXZlXnQubmVnYXRpdmU7dmFyIG49dC5sZW5ndGgrZS5sZW5ndGh8MDtyLmxlbmd0aD1uLG49bi0xfDA7dmFyIGk9MHx0LndvcmRzWzBdLG89MHxlLndvcmRzWzBdLGE9aSpvLHM9NjcxMDg4NjMmYSx1PWEvNjcxMDg4NjR8MDtyLndvcmRzWzBdPXM7Zm9yKHZhciBmPTE7ZjxuO2YrKyl7Zm9yKHZhciBjPXU+Pj4yNixoPTY3MTA4ODYzJnUsZD1NYXRoLm1pbihmLGUubGVuZ3RoLTEpLGw9TWF0aC5tYXgoMCxmLXQubGVuZ3RoKzEpO2w8PWQ7bCsrKXt2YXIgcD1mLWx8MDtjKz0oYT0oaT0wfHQud29yZHNbcF0pKihvPTB8ZS53b3Jkc1tsXSkraCkvNjcxMDg4NjR8MCxoPTY3MTA4ODYzJmF9ci53b3Jkc1tmXT0wfGgsdT0wfGN9cmV0dXJuIDAhPT11P3Iud29yZHNbZl09MHx1OnIubGVuZ3RoLS0sci5zdHJpcCgpfW8ucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKHQsZSl7dmFyIHI7aWYoZT0wfGV8fDEsMTY9PT0odD10fHwxMCl8fCJoZXgiPT09dCl7cj0iIjtmb3IodmFyIGk9MCxvPTAsYT0wO2E8dGhpcy5sZW5ndGg7YSsrKXt2YXIgcz10aGlzLndvcmRzW2FdLHU9KDE2Nzc3MjE1JihzPDxpfG8pKS50b1N0cmluZygxNik7cj0wIT09KG89cz4+PjI0LWkmMTY3NzcyMTUpfHxhIT09dGhpcy5sZW5ndGgtMT9mWzYtdS5sZW5ndGhdK3Urcjp1K3IsKGkrPTIpPj0yNiYmKGktPTI2LGEtLSl9Zm9yKDAhPT1vJiYocj1vLnRvU3RyaW5nKDE2KStyKTtyLmxlbmd0aCVlIT0wOylyPSIwIityO3JldHVybiAwIT09dGhpcy5uZWdhdGl2ZSYmKHI9Ii0iK3IpLHJ9aWYodD09PSgwfHQpJiZ0Pj0yJiZ0PD0zNil7dmFyIGQ9Y1t0XSxsPWhbdF07cj0iIjt2YXIgcD10aGlzLmNsb25lKCk7Zm9yKHAubmVnYXRpdmU9MDshcC5pc1plcm8oKTspe3ZhciBiPXAubW9kbihsKS50b1N0cmluZyh0KTtyPShwPXAuaWRpdm4obCkpLmlzWmVybygpP2IrcjpmW2QtYi5sZW5ndGhdK2Ircn1mb3IodGhpcy5pc1plcm8oKSYmKHI9IjAiK3IpO3IubGVuZ3RoJWUhPTA7KXI9IjAiK3I7cmV0dXJuIDAhPT10aGlzLm5lZ2F0aXZlJiYocj0iLSIrcikscn1uKCExLCJCYXNlIHNob3VsZCBiZSBiZXR3ZWVuIDIgYW5kIDM2Iil9LG8ucHJvdG90eXBlLnRvTnVtYmVyPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy53b3Jkc1swXTtyZXR1cm4gMj09PXRoaXMubGVuZ3RoP3QrPTY3MTA4ODY0KnRoaXMud29yZHNbMV06Mz09PXRoaXMubGVuZ3RoJiYxPT09dGhpcy53b3Jkc1syXT90Kz00NTAzNTk5NjI3MzcwNDk2KzY3MTA4ODY0KnRoaXMud29yZHNbMV06dGhpcy5sZW5ndGg+MiYmbighMSwiTnVtYmVyIGNhbiBvbmx5IHNhZmVseSBzdG9yZSB1cCB0byA1MyBiaXRzIiksMCE9PXRoaXMubmVnYXRpdmU/LXQ6dH0sby5wcm90b3R5cGUudG9KU09OPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudG9TdHJpbmcoMTYpfSxvLnByb3RvdHlwZS50b0J1ZmZlcj1mdW5jdGlvbih0LGUpe3JldHVybiBuKHZvaWQgMCE9PWEpLHRoaXMudG9BcnJheUxpa2UoYSx0LGUpfSxvLnByb3RvdHlwZS50b0FycmF5PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMudG9BcnJheUxpa2UoQXJyYXksdCxlKX0sby5wcm90b3R5cGUudG9BcnJheUxpa2U9ZnVuY3Rpb24odCxlLHIpe3ZhciBpPXRoaXMuYnl0ZUxlbmd0aCgpLG89cnx8TWF0aC5tYXgoMSxpKTtuKGk8PW8sImJ5dGUgYXJyYXkgbG9uZ2VyIHRoYW4gZGVzaXJlZCBsZW5ndGgiKSxuKG8+MCwiUmVxdWVzdGVkIGFycmF5IGxlbmd0aCA8PSAwIiksdGhpcy5zdHJpcCgpO3ZhciBhLHMsdT0ibGUiPT09ZSxmPW5ldyB0KG8pLGM9dGhpcy5jbG9uZSgpO2lmKHUpe2ZvcihzPTA7IWMuaXNaZXJvKCk7cysrKWE9Yy5hbmRsbigyNTUpLGMuaXVzaHJuKDgpLGZbc109YTtmb3IoO3M8bztzKyspZltzXT0wfWVsc2V7Zm9yKHM9MDtzPG8taTtzKyspZltzXT0wO2ZvcihzPTA7IWMuaXNaZXJvKCk7cysrKWE9Yy5hbmRsbigyNTUpLGMuaXVzaHJuKDgpLGZbby1zLTFdPWF9cmV0dXJuIGZ9LE1hdGguY2x6MzI/by5wcm90b3R5cGUuX2NvdW50Qml0cz1mdW5jdGlvbih0KXtyZXR1cm4gMzItTWF0aC5jbHozMih0KX06by5wcm90b3R5cGUuX2NvdW50Qml0cz1mdW5jdGlvbih0KXt2YXIgZT10LHI9MDtyZXR1cm4gZT49NDA5NiYmKHIrPTEzLGU+Pj49MTMpLGU+PTY0JiYocis9NyxlPj4+PTcpLGU+PTgmJihyKz00LGU+Pj49NCksZT49MiYmKHIrPTIsZT4+Pj0yKSxyK2V9LG8ucHJvdG90eXBlLl96ZXJvQml0cz1mdW5jdGlvbih0KXtpZigwPT09dClyZXR1cm4gMjY7dmFyIGU9dCxyPTA7cmV0dXJuIDA9PSg4MTkxJmUpJiYocis9MTMsZT4+Pj0xMyksMD09KDEyNyZlKSYmKHIrPTcsZT4+Pj03KSwwPT0oMTUmZSkmJihyKz00LGU+Pj49NCksMD09KDMmZSkmJihyKz0yLGU+Pj49MiksMD09KDEmZSkmJnIrKyxyfSxvLnByb3RvdHlwZS5iaXRMZW5ndGg9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLndvcmRzW3RoaXMubGVuZ3RoLTFdLGU9dGhpcy5fY291bnRCaXRzKHQpO3JldHVybiAyNioodGhpcy5sZW5ndGgtMSkrZX0sby5wcm90b3R5cGUuemVyb0JpdHM9ZnVuY3Rpb24oKXtpZih0aGlzLmlzWmVybygpKXJldHVybiAwO2Zvcih2YXIgdD0wLGU9MDtlPHRoaXMubGVuZ3RoO2UrKyl7dmFyIHI9dGhpcy5femVyb0JpdHModGhpcy53b3Jkc1tlXSk7aWYodCs9ciwyNiE9PXIpYnJlYWt9cmV0dXJuIHR9LG8ucHJvdG90eXBlLmJ5dGVMZW5ndGg9ZnVuY3Rpb24oKXtyZXR1cm4gTWF0aC5jZWlsKHRoaXMuYml0TGVuZ3RoKCkvOCl9LG8ucHJvdG90eXBlLnRvVHdvcz1mdW5jdGlvbih0KXtyZXR1cm4gMCE9PXRoaXMubmVnYXRpdmU/dGhpcy5hYnMoKS5pbm90bih0KS5pYWRkbigxKTp0aGlzLmNsb25lKCl9LG8ucHJvdG90eXBlLmZyb21Ud29zPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnRlc3RuKHQtMSk/dGhpcy5ub3RuKHQpLmlhZGRuKDEpLmluZWcoKTp0aGlzLmNsb25lKCl9LG8ucHJvdG90eXBlLmlzTmVnPWZ1bmN0aW9uKCl7cmV0dXJuIDAhPT10aGlzLm5lZ2F0aXZlfSxvLnByb3RvdHlwZS5uZWc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jbG9uZSgpLmluZWcoKX0sby5wcm90b3R5cGUuaW5lZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmlzWmVybygpfHwodGhpcy5uZWdhdGl2ZV49MSksdGhpc30sby5wcm90b3R5cGUuaXVvcj1mdW5jdGlvbih0KXtmb3IoO3RoaXMubGVuZ3RoPHQubGVuZ3RoOyl0aGlzLndvcmRzW3RoaXMubGVuZ3RoKytdPTA7Zm9yKHZhciBlPTA7ZTx0Lmxlbmd0aDtlKyspdGhpcy53b3Jkc1tlXT10aGlzLndvcmRzW2VdfHQud29yZHNbZV07cmV0dXJuIHRoaXMuc3RyaXAoKX0sby5wcm90b3R5cGUuaW9yPWZ1bmN0aW9uKHQpe3JldHVybiBuKDA9PSh0aGlzLm5lZ2F0aXZlfHQubmVnYXRpdmUpKSx0aGlzLml1b3IodCl9LG8ucHJvdG90eXBlLm9yPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmxlbmd0aD50Lmxlbmd0aD90aGlzLmNsb25lKCkuaW9yKHQpOnQuY2xvbmUoKS5pb3IodGhpcyl9LG8ucHJvdG90eXBlLnVvcj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5sZW5ndGg+dC5sZW5ndGg/dGhpcy5jbG9uZSgpLml1b3IodCk6dC5jbG9uZSgpLml1b3IodGhpcyl9LG8ucHJvdG90eXBlLml1YW5kPWZ1bmN0aW9uKHQpe3ZhciBlO2U9dGhpcy5sZW5ndGg+dC5sZW5ndGg/dDp0aGlzO2Zvcih2YXIgcj0wO3I8ZS5sZW5ndGg7cisrKXRoaXMud29yZHNbcl09dGhpcy53b3Jkc1tyXSZ0LndvcmRzW3JdO3JldHVybiB0aGlzLmxlbmd0aD1lLmxlbmd0aCx0aGlzLnN0cmlwKCl9LG8ucHJvdG90eXBlLmlhbmQ9ZnVuY3Rpb24odCl7cmV0dXJuIG4oMD09KHRoaXMubmVnYXRpdmV8dC5uZWdhdGl2ZSkpLHRoaXMuaXVhbmQodCl9LG8ucHJvdG90eXBlLmFuZD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5sZW5ndGg+dC5sZW5ndGg/dGhpcy5jbG9uZSgpLmlhbmQodCk6dC5jbG9uZSgpLmlhbmQodGhpcyl9LG8ucHJvdG90eXBlLnVhbmQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMubGVuZ3RoPnQubGVuZ3RoP3RoaXMuY2xvbmUoKS5pdWFuZCh0KTp0LmNsb25lKCkuaXVhbmQodGhpcyl9LG8ucHJvdG90eXBlLml1eG9yPWZ1bmN0aW9uKHQpe3ZhciBlLHI7dGhpcy5sZW5ndGg+dC5sZW5ndGg/KGU9dGhpcyxyPXQpOihlPXQscj10aGlzKTtmb3IodmFyIG49MDtuPHIubGVuZ3RoO24rKyl0aGlzLndvcmRzW25dPWUud29yZHNbbl1eci53b3Jkc1tuXTtpZih0aGlzIT09ZSlmb3IoO248ZS5sZW5ndGg7bisrKXRoaXMud29yZHNbbl09ZS53b3Jkc1tuXTtyZXR1cm4gdGhpcy5sZW5ndGg9ZS5sZW5ndGgsdGhpcy5zdHJpcCgpfSxvLnByb3RvdHlwZS5peG9yPWZ1bmN0aW9uKHQpe3JldHVybiBuKDA9PSh0aGlzLm5lZ2F0aXZlfHQubmVnYXRpdmUpKSx0aGlzLml1eG9yKHQpfSxvLnByb3RvdHlwZS54b3I9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMubGVuZ3RoPnQubGVuZ3RoP3RoaXMuY2xvbmUoKS5peG9yKHQpOnQuY2xvbmUoKS5peG9yKHRoaXMpfSxvLnByb3RvdHlwZS51eG9yPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmxlbmd0aD50Lmxlbmd0aD90aGlzLmNsb25lKCkuaXV4b3IodCk6dC5jbG9uZSgpLml1eG9yKHRoaXMpfSxvLnByb3RvdHlwZS5pbm90bj1mdW5jdGlvbih0KXtuKCJudW1iZXIiPT10eXBlb2YgdCYmdD49MCk7dmFyIGU9MHxNYXRoLmNlaWwodC8yNikscj10JTI2O3RoaXMuX2V4cGFuZChlKSxyPjAmJmUtLTtmb3IodmFyIGk9MDtpPGU7aSsrKXRoaXMud29yZHNbaV09NjcxMDg4NjMmfnRoaXMud29yZHNbaV07cmV0dXJuIHI+MCYmKHRoaXMud29yZHNbaV09fnRoaXMud29yZHNbaV0mNjcxMDg4NjM+PjI2LXIpLHRoaXMuc3RyaXAoKX0sby5wcm90b3R5cGUubm90bj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jbG9uZSgpLmlub3RuKHQpfSxvLnByb3RvdHlwZS5zZXRuPWZ1bmN0aW9uKHQsZSl7bigibnVtYmVyIj09dHlwZW9mIHQmJnQ+PTApO3ZhciByPXQvMjZ8MCxpPXQlMjY7cmV0dXJuIHRoaXMuX2V4cGFuZChyKzEpLHRoaXMud29yZHNbcl09ZT90aGlzLndvcmRzW3JdfDE8PGk6dGhpcy53b3Jkc1tyXSZ+KDE8PGkpLHRoaXMuc3RyaXAoKX0sby5wcm90b3R5cGUuaWFkZD1mdW5jdGlvbih0KXt2YXIgZSxyLG47aWYoMCE9PXRoaXMubmVnYXRpdmUmJjA9PT10Lm5lZ2F0aXZlKXJldHVybiB0aGlzLm5lZ2F0aXZlPTAsZT10aGlzLmlzdWIodCksdGhpcy5uZWdhdGl2ZV49MSx0aGlzLl9ub3JtU2lnbigpO2lmKDA9PT10aGlzLm5lZ2F0aXZlJiYwIT09dC5uZWdhdGl2ZSlyZXR1cm4gdC5uZWdhdGl2ZT0wLGU9dGhpcy5pc3ViKHQpLHQubmVnYXRpdmU9MSxlLl9ub3JtU2lnbigpO3RoaXMubGVuZ3RoPnQubGVuZ3RoPyhyPXRoaXMsbj10KToocj10LG49dGhpcyk7Zm9yKHZhciBpPTAsbz0wO288bi5sZW5ndGg7bysrKWU9KDB8ci53b3Jkc1tvXSkrKDB8bi53b3Jkc1tvXSkraSx0aGlzLndvcmRzW29dPTY3MTA4ODYzJmUsaT1lPj4+MjY7Zm9yKDswIT09aSYmbzxyLmxlbmd0aDtvKyspZT0oMHxyLndvcmRzW29dKStpLHRoaXMud29yZHNbb109NjcxMDg4NjMmZSxpPWU+Pj4yNjtpZih0aGlzLmxlbmd0aD1yLmxlbmd0aCwwIT09aSl0aGlzLndvcmRzW3RoaXMubGVuZ3RoXT1pLHRoaXMubGVuZ3RoKys7ZWxzZSBpZihyIT09dGhpcylmb3IoO288ci5sZW5ndGg7bysrKXRoaXMud29yZHNbb109ci53b3Jkc1tvXTtyZXR1cm4gdGhpc30sby5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKHQpe3ZhciBlO3JldHVybiAwIT09dC5uZWdhdGl2ZSYmMD09PXRoaXMubmVnYXRpdmU/KHQubmVnYXRpdmU9MCxlPXRoaXMuc3ViKHQpLHQubmVnYXRpdmVePTEsZSk6MD09PXQubmVnYXRpdmUmJjAhPT10aGlzLm5lZ2F0aXZlPyh0aGlzLm5lZ2F0aXZlPTAsZT10LnN1Yih0aGlzKSx0aGlzLm5lZ2F0aXZlPTEsZSk6dGhpcy5sZW5ndGg+dC5sZW5ndGg/dGhpcy5jbG9uZSgpLmlhZGQodCk6dC5jbG9uZSgpLmlhZGQodGhpcyl9LG8ucHJvdG90eXBlLmlzdWI9ZnVuY3Rpb24odCl7aWYoMCE9PXQubmVnYXRpdmUpe3QubmVnYXRpdmU9MDt2YXIgZT10aGlzLmlhZGQodCk7cmV0dXJuIHQubmVnYXRpdmU9MSxlLl9ub3JtU2lnbigpfWlmKDAhPT10aGlzLm5lZ2F0aXZlKXJldHVybiB0aGlzLm5lZ2F0aXZlPTAsdGhpcy5pYWRkKHQpLHRoaXMubmVnYXRpdmU9MSx0aGlzLl9ub3JtU2lnbigpO3ZhciByLG4saT10aGlzLmNtcCh0KTtpZigwPT09aSlyZXR1cm4gdGhpcy5uZWdhdGl2ZT0wLHRoaXMubGVuZ3RoPTEsdGhpcy53b3Jkc1swXT0wLHRoaXM7aT4wPyhyPXRoaXMsbj10KToocj10LG49dGhpcyk7Zm9yKHZhciBvPTAsYT0wO2E8bi5sZW5ndGg7YSsrKW89KGU9KDB8ci53b3Jkc1thXSktKDB8bi53b3Jkc1thXSkrbyk+PjI2LHRoaXMud29yZHNbYV09NjcxMDg4NjMmZTtmb3IoOzAhPT1vJiZhPHIubGVuZ3RoO2ErKylvPShlPSgwfHIud29yZHNbYV0pK28pPj4yNix0aGlzLndvcmRzW2FdPTY3MTA4ODYzJmU7aWYoMD09PW8mJmE8ci5sZW5ndGgmJnIhPT10aGlzKWZvcig7YTxyLmxlbmd0aDthKyspdGhpcy53b3Jkc1thXT1yLndvcmRzW2FdO3JldHVybiB0aGlzLmxlbmd0aD1NYXRoLm1heCh0aGlzLmxlbmd0aCxhKSxyIT09dGhpcyYmKHRoaXMubmVnYXRpdmU9MSksdGhpcy5zdHJpcCgpfSxvLnByb3RvdHlwZS5zdWI9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pc3ViKHQpfTt2YXIgbD1mdW5jdGlvbih0LGUscil7dmFyIG4saSxvLGE9dC53b3JkcyxzPWUud29yZHMsdT1yLndvcmRzLGY9MCxjPTB8YVswXSxoPTgxOTEmYyxkPWM+Pj4xMyxsPTB8YVsxXSxwPTgxOTEmbCxiPWw+Pj4xMyxtPTB8YVsyXSx5PTgxOTEmbSx2PW0+Pj4xMyxnPTB8YVszXSx3PTgxOTEmZyxfPWc+Pj4xMyxNPTB8YVs0XSx4PTgxOTEmTSxrPU0+Pj4xMyxTPTB8YVs1XSxFPTgxOTEmUyxBPVM+Pj4xMyxqPTB8YVs2XSxJPTgxOTEmaixCPWo+Pj4xMyxUPTB8YVs3XSxDPTgxOTEmVCxQPVQ+Pj4xMyxSPTB8YVs4XSxPPTgxOTEmUixOPVI+Pj4xMyxMPTB8YVs5XSxGPTgxOTEmTCxxPUw+Pj4xMyxEPTB8c1swXSxVPTgxOTEmRCx6PUQ+Pj4xMyxLPTB8c1sxXSxIPTgxOTEmSyxWPUs+Pj4xMyxXPTB8c1syXSxYPTgxOTEmVyxHPVc+Pj4xMyxKPTB8c1szXSxaPTgxOTEmSiwkPUo+Pj4xMyxZPTB8c1s0XSxRPTgxOTEmWSx0dD1ZPj4+MTMsZXQ9MHxzWzVdLHJ0PTgxOTEmZXQsbnQ9ZXQ+Pj4xMyxpdD0wfHNbNl0sb3Q9ODE5MSZpdCxhdD1pdD4+PjEzLHN0PTB8c1s3XSx1dD04MTkxJnN0LGZ0PXN0Pj4+MTMsY3Q9MHxzWzhdLGh0PTgxOTEmY3QsZHQ9Y3Q+Pj4xMyxsdD0wfHNbOV0scHQ9ODE5MSZsdCxidD1sdD4+PjEzO3IubmVnYXRpdmU9dC5uZWdhdGl2ZV5lLm5lZ2F0aXZlLHIubGVuZ3RoPTE5O3ZhciBtdD0oZisobj1NYXRoLmltdWwoaCxVKSl8MCkrKCg4MTkxJihpPShpPU1hdGguaW11bChoLHopKStNYXRoLmltdWwoZCxVKXwwKSk8PDEzKXwwO2Y9KChvPU1hdGguaW11bChkLHopKSsoaT4+PjEzKXwwKSsobXQ+Pj4yNil8MCxtdCY9NjcxMDg4NjMsbj1NYXRoLmltdWwocCxVKSxpPShpPU1hdGguaW11bChwLHopKStNYXRoLmltdWwoYixVKXwwLG89TWF0aC5pbXVsKGIseik7dmFyIHl0PShmKyhuPW4rTWF0aC5pbXVsKGgsSCl8MCl8MCkrKCg4MTkxJihpPShpPWkrTWF0aC5pbXVsKGgsVil8MCkrTWF0aC5pbXVsKGQsSCl8MCkpPDwxMyl8MDtmPSgobz1vK01hdGguaW11bChkLFYpfDApKyhpPj4+MTMpfDApKyh5dD4+PjI2KXwwLHl0Jj02NzEwODg2MyxuPU1hdGguaW11bCh5LFUpLGk9KGk9TWF0aC5pbXVsKHkseikpK01hdGguaW11bCh2LFUpfDAsbz1NYXRoLmltdWwodix6KSxuPW4rTWF0aC5pbXVsKHAsSCl8MCxpPShpPWkrTWF0aC5pbXVsKHAsVil8MCkrTWF0aC5pbXVsKGIsSCl8MCxvPW8rTWF0aC5pbXVsKGIsVil8MDt2YXIgdnQ9KGYrKG49bitNYXRoLmltdWwoaCxYKXwwKXwwKSsoKDgxOTEmKGk9KGk9aStNYXRoLmltdWwoaCxHKXwwKStNYXRoLmltdWwoZCxYKXwwKSk8PDEzKXwwO2Y9KChvPW8rTWF0aC5pbXVsKGQsRyl8MCkrKGk+Pj4xMyl8MCkrKHZ0Pj4+MjYpfDAsdnQmPTY3MTA4ODYzLG49TWF0aC5pbXVsKHcsVSksaT0oaT1NYXRoLmltdWwodyx6KSkrTWF0aC5pbXVsKF8sVSl8MCxvPU1hdGguaW11bChfLHopLG49bitNYXRoLmltdWwoeSxIKXwwLGk9KGk9aStNYXRoLmltdWwoeSxWKXwwKStNYXRoLmltdWwodixIKXwwLG89bytNYXRoLmltdWwodixWKXwwLG49bitNYXRoLmltdWwocCxYKXwwLGk9KGk9aStNYXRoLmltdWwocCxHKXwwKStNYXRoLmltdWwoYixYKXwwLG89bytNYXRoLmltdWwoYixHKXwwO3ZhciBndD0oZisobj1uK01hdGguaW11bChoLFopfDApfDApKygoODE5MSYoaT0oaT1pK01hdGguaW11bChoLCQpfDApK01hdGguaW11bChkLFopfDApKTw8MTMpfDA7Zj0oKG89bytNYXRoLmltdWwoZCwkKXwwKSsoaT4+PjEzKXwwKSsoZ3Q+Pj4yNil8MCxndCY9NjcxMDg4NjMsbj1NYXRoLmltdWwoeCxVKSxpPShpPU1hdGguaW11bCh4LHopKStNYXRoLmltdWwoayxVKXwwLG89TWF0aC5pbXVsKGsseiksbj1uK01hdGguaW11bCh3LEgpfDAsaT0oaT1pK01hdGguaW11bCh3LFYpfDApK01hdGguaW11bChfLEgpfDAsbz1vK01hdGguaW11bChfLFYpfDAsbj1uK01hdGguaW11bCh5LFgpfDAsaT0oaT1pK01hdGguaW11bCh5LEcpfDApK01hdGguaW11bCh2LFgpfDAsbz1vK01hdGguaW11bCh2LEcpfDAsbj1uK01hdGguaW11bChwLFopfDAsaT0oaT1pK01hdGguaW11bChwLCQpfDApK01hdGguaW11bChiLFopfDAsbz1vK01hdGguaW11bChiLCQpfDA7dmFyIHd0PShmKyhuPW4rTWF0aC5pbXVsKGgsUSl8MCl8MCkrKCg4MTkxJihpPShpPWkrTWF0aC5pbXVsKGgsdHQpfDApK01hdGguaW11bChkLFEpfDApKTw8MTMpfDA7Zj0oKG89bytNYXRoLmltdWwoZCx0dCl8MCkrKGk+Pj4xMyl8MCkrKHd0Pj4+MjYpfDAsd3QmPTY3MTA4ODYzLG49TWF0aC5pbXVsKEUsVSksaT0oaT1NYXRoLmltdWwoRSx6KSkrTWF0aC5pbXVsKEEsVSl8MCxvPU1hdGguaW11bChBLHopLG49bitNYXRoLmltdWwoeCxIKXwwLGk9KGk9aStNYXRoLmltdWwoeCxWKXwwKStNYXRoLmltdWwoayxIKXwwLG89bytNYXRoLmltdWwoayxWKXwwLG49bitNYXRoLmltdWwodyxYKXwwLGk9KGk9aStNYXRoLmltdWwodyxHKXwwKStNYXRoLmltdWwoXyxYKXwwLG89bytNYXRoLmltdWwoXyxHKXwwLG49bitNYXRoLmltdWwoeSxaKXwwLGk9KGk9aStNYXRoLmltdWwoeSwkKXwwKStNYXRoLmltdWwodixaKXwwLG89bytNYXRoLmltdWwodiwkKXwwLG49bitNYXRoLmltdWwocCxRKXwwLGk9KGk9aStNYXRoLmltdWwocCx0dCl8MCkrTWF0aC5pbXVsKGIsUSl8MCxvPW8rTWF0aC5pbXVsKGIsdHQpfDA7dmFyIF90PShmKyhuPW4rTWF0aC5pbXVsKGgscnQpfDApfDApKygoODE5MSYoaT0oaT1pK01hdGguaW11bChoLG50KXwwKStNYXRoLmltdWwoZCxydCl8MCkpPDwxMyl8MDtmPSgobz1vK01hdGguaW11bChkLG50KXwwKSsoaT4+PjEzKXwwKSsoX3Q+Pj4yNil8MCxfdCY9NjcxMDg4NjMsbj1NYXRoLmltdWwoSSxVKSxpPShpPU1hdGguaW11bChJLHopKStNYXRoLmltdWwoQixVKXwwLG89TWF0aC5pbXVsKEIseiksbj1uK01hdGguaW11bChFLEgpfDAsaT0oaT1pK01hdGguaW11bChFLFYpfDApK01hdGguaW11bChBLEgpfDAsbz1vK01hdGguaW11bChBLFYpfDAsbj1uK01hdGguaW11bCh4LFgpfDAsaT0oaT1pK01hdGguaW11bCh4LEcpfDApK01hdGguaW11bChrLFgpfDAsbz1vK01hdGguaW11bChrLEcpfDAsbj1uK01hdGguaW11bCh3LFopfDAsaT0oaT1pK01hdGguaW11bCh3LCQpfDApK01hdGguaW11bChfLFopfDAsbz1vK01hdGguaW11bChfLCQpfDAsbj1uK01hdGguaW11bCh5LFEpfDAsaT0oaT1pK01hdGguaW11bCh5LHR0KXwwKStNYXRoLmltdWwodixRKXwwLG89bytNYXRoLmltdWwodix0dCl8MCxuPW4rTWF0aC5pbXVsKHAscnQpfDAsaT0oaT1pK01hdGguaW11bChwLG50KXwwKStNYXRoLmltdWwoYixydCl8MCxvPW8rTWF0aC5pbXVsKGIsbnQpfDA7dmFyIE10PShmKyhuPW4rTWF0aC5pbXVsKGgsb3QpfDApfDApKygoODE5MSYoaT0oaT1pK01hdGguaW11bChoLGF0KXwwKStNYXRoLmltdWwoZCxvdCl8MCkpPDwxMyl8MDtmPSgobz1vK01hdGguaW11bChkLGF0KXwwKSsoaT4+PjEzKXwwKSsoTXQ+Pj4yNil8MCxNdCY9NjcxMDg4NjMsbj1NYXRoLmltdWwoQyxVKSxpPShpPU1hdGguaW11bChDLHopKStNYXRoLmltdWwoUCxVKXwwLG89TWF0aC5pbXVsKFAseiksbj1uK01hdGguaW11bChJLEgpfDAsaT0oaT1pK01hdGguaW11bChJLFYpfDApK01hdGguaW11bChCLEgpfDAsbz1vK01hdGguaW11bChCLFYpfDAsbj1uK01hdGguaW11bChFLFgpfDAsaT0oaT1pK01hdGguaW11bChFLEcpfDApK01hdGguaW11bChBLFgpfDAsbz1vK01hdGguaW11bChBLEcpfDAsbj1uK01hdGguaW11bCh4LFopfDAsaT0oaT1pK01hdGguaW11bCh4LCQpfDApK01hdGguaW11bChrLFopfDAsbz1vK01hdGguaW11bChrLCQpfDAsbj1uK01hdGguaW11bCh3LFEpfDAsaT0oaT1pK01hdGguaW11bCh3LHR0KXwwKStNYXRoLmltdWwoXyxRKXwwLG89bytNYXRoLmltdWwoXyx0dCl8MCxuPW4rTWF0aC5pbXVsKHkscnQpfDAsaT0oaT1pK01hdGguaW11bCh5LG50KXwwKStNYXRoLmltdWwodixydCl8MCxvPW8rTWF0aC5pbXVsKHYsbnQpfDAsbj1uK01hdGguaW11bChwLG90KXwwLGk9KGk9aStNYXRoLmltdWwocCxhdCl8MCkrTWF0aC5pbXVsKGIsb3QpfDAsbz1vK01hdGguaW11bChiLGF0KXwwO3ZhciB4dD0oZisobj1uK01hdGguaW11bChoLHV0KXwwKXwwKSsoKDgxOTEmKGk9KGk9aStNYXRoLmltdWwoaCxmdCl8MCkrTWF0aC5pbXVsKGQsdXQpfDApKTw8MTMpfDA7Zj0oKG89bytNYXRoLmltdWwoZCxmdCl8MCkrKGk+Pj4xMyl8MCkrKHh0Pj4+MjYpfDAseHQmPTY3MTA4ODYzLG49TWF0aC5pbXVsKE8sVSksaT0oaT1NYXRoLmltdWwoTyx6KSkrTWF0aC5pbXVsKE4sVSl8MCxvPU1hdGguaW11bChOLHopLG49bitNYXRoLmltdWwoQyxIKXwwLGk9KGk9aStNYXRoLmltdWwoQyxWKXwwKStNYXRoLmltdWwoUCxIKXwwLG89bytNYXRoLmltdWwoUCxWKXwwLG49bitNYXRoLmltdWwoSSxYKXwwLGk9KGk9aStNYXRoLmltdWwoSSxHKXwwKStNYXRoLmltdWwoQixYKXwwLG89bytNYXRoLmltdWwoQixHKXwwLG49bitNYXRoLmltdWwoRSxaKXwwLGk9KGk9aStNYXRoLmltdWwoRSwkKXwwKStNYXRoLmltdWwoQSxaKXwwLG89bytNYXRoLmltdWwoQSwkKXwwLG49bitNYXRoLmltdWwoeCxRKXwwLGk9KGk9aStNYXRoLmltdWwoeCx0dCl8MCkrTWF0aC5pbXVsKGssUSl8MCxvPW8rTWF0aC5pbXVsKGssdHQpfDAsbj1uK01hdGguaW11bCh3LHJ0KXwwLGk9KGk9aStNYXRoLmltdWwodyxudCl8MCkrTWF0aC5pbXVsKF8scnQpfDAsbz1vK01hdGguaW11bChfLG50KXwwLG49bitNYXRoLmltdWwoeSxvdCl8MCxpPShpPWkrTWF0aC5pbXVsKHksYXQpfDApK01hdGguaW11bCh2LG90KXwwLG89bytNYXRoLmltdWwodixhdCl8MCxuPW4rTWF0aC5pbXVsKHAsdXQpfDAsaT0oaT1pK01hdGguaW11bChwLGZ0KXwwKStNYXRoLmltdWwoYix1dCl8MCxvPW8rTWF0aC5pbXVsKGIsZnQpfDA7dmFyIGt0PShmKyhuPW4rTWF0aC5pbXVsKGgsaHQpfDApfDApKygoODE5MSYoaT0oaT1pK01hdGguaW11bChoLGR0KXwwKStNYXRoLmltdWwoZCxodCl8MCkpPDwxMyl8MDtmPSgobz1vK01hdGguaW11bChkLGR0KXwwKSsoaT4+PjEzKXwwKSsoa3Q+Pj4yNil8MCxrdCY9NjcxMDg4NjMsbj1NYXRoLmltdWwoRixVKSxpPShpPU1hdGguaW11bChGLHopKStNYXRoLmltdWwocSxVKXwwLG89TWF0aC5pbXVsKHEseiksbj1uK01hdGguaW11bChPLEgpfDAsaT0oaT1pK01hdGguaW11bChPLFYpfDApK01hdGguaW11bChOLEgpfDAsbz1vK01hdGguaW11bChOLFYpfDAsbj1uK01hdGguaW11bChDLFgpfDAsaT0oaT1pK01hdGguaW11bChDLEcpfDApK01hdGguaW11bChQLFgpfDAsbz1vK01hdGguaW11bChQLEcpfDAsbj1uK01hdGguaW11bChJLFopfDAsaT0oaT1pK01hdGguaW11bChJLCQpfDApK01hdGguaW11bChCLFopfDAsbz1vK01hdGguaW11bChCLCQpfDAsbj1uK01hdGguaW11bChFLFEpfDAsaT0oaT1pK01hdGguaW11bChFLHR0KXwwKStNYXRoLmltdWwoQSxRKXwwLG89bytNYXRoLmltdWwoQSx0dCl8MCxuPW4rTWF0aC5pbXVsKHgscnQpfDAsaT0oaT1pK01hdGguaW11bCh4LG50KXwwKStNYXRoLmltdWwoayxydCl8MCxvPW8rTWF0aC5pbXVsKGssbnQpfDAsbj1uK01hdGguaW11bCh3LG90KXwwLGk9KGk9aStNYXRoLmltdWwodyxhdCl8MCkrTWF0aC5pbXVsKF8sb3QpfDAsbz1vK01hdGguaW11bChfLGF0KXwwLG49bitNYXRoLmltdWwoeSx1dCl8MCxpPShpPWkrTWF0aC5pbXVsKHksZnQpfDApK01hdGguaW11bCh2LHV0KXwwLG89bytNYXRoLmltdWwodixmdCl8MCxuPW4rTWF0aC5pbXVsKHAsaHQpfDAsaT0oaT1pK01hdGguaW11bChwLGR0KXwwKStNYXRoLmltdWwoYixodCl8MCxvPW8rTWF0aC5pbXVsKGIsZHQpfDA7dmFyIFN0PShmKyhuPW4rTWF0aC5pbXVsKGgscHQpfDApfDApKygoODE5MSYoaT0oaT1pK01hdGguaW11bChoLGJ0KXwwKStNYXRoLmltdWwoZCxwdCl8MCkpPDwxMyl8MDtmPSgobz1vK01hdGguaW11bChkLGJ0KXwwKSsoaT4+PjEzKXwwKSsoU3Q+Pj4yNil8MCxTdCY9NjcxMDg4NjMsbj1NYXRoLmltdWwoRixIKSxpPShpPU1hdGguaW11bChGLFYpKStNYXRoLmltdWwocSxIKXwwLG89TWF0aC5pbXVsKHEsViksbj1uK01hdGguaW11bChPLFgpfDAsaT0oaT1pK01hdGguaW11bChPLEcpfDApK01hdGguaW11bChOLFgpfDAsbz1vK01hdGguaW11bChOLEcpfDAsbj1uK01hdGguaW11bChDLFopfDAsaT0oaT1pK01hdGguaW11bChDLCQpfDApK01hdGguaW11bChQLFopfDAsbz1vK01hdGguaW11bChQLCQpfDAsbj1uK01hdGguaW11bChJLFEpfDAsaT0oaT1pK01hdGguaW11bChJLHR0KXwwKStNYXRoLmltdWwoQixRKXwwLG89bytNYXRoLmltdWwoQix0dCl8MCxuPW4rTWF0aC5pbXVsKEUscnQpfDAsaT0oaT1pK01hdGguaW11bChFLG50KXwwKStNYXRoLmltdWwoQSxydCl8MCxvPW8rTWF0aC5pbXVsKEEsbnQpfDAsbj1uK01hdGguaW11bCh4LG90KXwwLGk9KGk9aStNYXRoLmltdWwoeCxhdCl8MCkrTWF0aC5pbXVsKGssb3QpfDAsbz1vK01hdGguaW11bChrLGF0KXwwLG49bitNYXRoLmltdWwodyx1dCl8MCxpPShpPWkrTWF0aC5pbXVsKHcsZnQpfDApK01hdGguaW11bChfLHV0KXwwLG89bytNYXRoLmltdWwoXyxmdCl8MCxuPW4rTWF0aC5pbXVsKHksaHQpfDAsaT0oaT1pK01hdGguaW11bCh5LGR0KXwwKStNYXRoLmltdWwodixodCl8MCxvPW8rTWF0aC5pbXVsKHYsZHQpfDA7dmFyIEV0PShmKyhuPW4rTWF0aC5pbXVsKHAscHQpfDApfDApKygoODE5MSYoaT0oaT1pK01hdGguaW11bChwLGJ0KXwwKStNYXRoLmltdWwoYixwdCl8MCkpPDwxMyl8MDtmPSgobz1vK01hdGguaW11bChiLGJ0KXwwKSsoaT4+PjEzKXwwKSsoRXQ+Pj4yNil8MCxFdCY9NjcxMDg4NjMsbj1NYXRoLmltdWwoRixYKSxpPShpPU1hdGguaW11bChGLEcpKStNYXRoLmltdWwocSxYKXwwLG89TWF0aC5pbXVsKHEsRyksbj1uK01hdGguaW11bChPLFopfDAsaT0oaT1pK01hdGguaW11bChPLCQpfDApK01hdGguaW11bChOLFopfDAsbz1vK01hdGguaW11bChOLCQpfDAsbj1uK01hdGguaW11bChDLFEpfDAsaT0oaT1pK01hdGguaW11bChDLHR0KXwwKStNYXRoLmltdWwoUCxRKXwwLG89bytNYXRoLmltdWwoUCx0dCl8MCxuPW4rTWF0aC5pbXVsKEkscnQpfDAsaT0oaT1pK01hdGguaW11bChJLG50KXwwKStNYXRoLmltdWwoQixydCl8MCxvPW8rTWF0aC5pbXVsKEIsbnQpfDAsbj1uK01hdGguaW11bChFLG90KXwwLGk9KGk9aStNYXRoLmltdWwoRSxhdCl8MCkrTWF0aC5pbXVsKEEsb3QpfDAsbz1vK01hdGguaW11bChBLGF0KXwwLG49bitNYXRoLmltdWwoeCx1dCl8MCxpPShpPWkrTWF0aC5pbXVsKHgsZnQpfDApK01hdGguaW11bChrLHV0KXwwLG89bytNYXRoLmltdWwoayxmdCl8MCxuPW4rTWF0aC5pbXVsKHcsaHQpfDAsaT0oaT1pK01hdGguaW11bCh3LGR0KXwwKStNYXRoLmltdWwoXyxodCl8MCxvPW8rTWF0aC5pbXVsKF8sZHQpfDA7dmFyIEF0PShmKyhuPW4rTWF0aC5pbXVsKHkscHQpfDApfDApKygoODE5MSYoaT0oaT1pK01hdGguaW11bCh5LGJ0KXwwKStNYXRoLmltdWwodixwdCl8MCkpPDwxMyl8MDtmPSgobz1vK01hdGguaW11bCh2LGJ0KXwwKSsoaT4+PjEzKXwwKSsoQXQ+Pj4yNil8MCxBdCY9NjcxMDg4NjMsbj1NYXRoLmltdWwoRixaKSxpPShpPU1hdGguaW11bChGLCQpKStNYXRoLmltdWwocSxaKXwwLG89TWF0aC5pbXVsKHEsJCksbj1uK01hdGguaW11bChPLFEpfDAsaT0oaT1pK01hdGguaW11bChPLHR0KXwwKStNYXRoLmltdWwoTixRKXwwLG89bytNYXRoLmltdWwoTix0dCl8MCxuPW4rTWF0aC5pbXVsKEMscnQpfDAsaT0oaT1pK01hdGguaW11bChDLG50KXwwKStNYXRoLmltdWwoUCxydCl8MCxvPW8rTWF0aC5pbXVsKFAsbnQpfDAsbj1uK01hdGguaW11bChJLG90KXwwLGk9KGk9aStNYXRoLmltdWwoSSxhdCl8MCkrTWF0aC5pbXVsKEIsb3QpfDAsbz1vK01hdGguaW11bChCLGF0KXwwLG49bitNYXRoLmltdWwoRSx1dCl8MCxpPShpPWkrTWF0aC5pbXVsKEUsZnQpfDApK01hdGguaW11bChBLHV0KXwwLG89bytNYXRoLmltdWwoQSxmdCl8MCxuPW4rTWF0aC5pbXVsKHgsaHQpfDAsaT0oaT1pK01hdGguaW11bCh4LGR0KXwwKStNYXRoLmltdWwoayxodCl8MCxvPW8rTWF0aC5pbXVsKGssZHQpfDA7dmFyIGp0PShmKyhuPW4rTWF0aC5pbXVsKHcscHQpfDApfDApKygoODE5MSYoaT0oaT1pK01hdGguaW11bCh3LGJ0KXwwKStNYXRoLmltdWwoXyxwdCl8MCkpPDwxMyl8MDtmPSgobz1vK01hdGguaW11bChfLGJ0KXwwKSsoaT4+PjEzKXwwKSsoanQ+Pj4yNil8MCxqdCY9NjcxMDg4NjMsbj1NYXRoLmltdWwoRixRKSxpPShpPU1hdGguaW11bChGLHR0KSkrTWF0aC5pbXVsKHEsUSl8MCxvPU1hdGguaW11bChxLHR0KSxuPW4rTWF0aC5pbXVsKE8scnQpfDAsaT0oaT1pK01hdGguaW11bChPLG50KXwwKStNYXRoLmltdWwoTixydCl8MCxvPW8rTWF0aC5pbXVsKE4sbnQpfDAsbj1uK01hdGguaW11bChDLG90KXwwLGk9KGk9aStNYXRoLmltdWwoQyxhdCl8MCkrTWF0aC5pbXVsKFAsb3QpfDAsbz1vK01hdGguaW11bChQLGF0KXwwLG49bitNYXRoLmltdWwoSSx1dCl8MCxpPShpPWkrTWF0aC5pbXVsKEksZnQpfDApK01hdGguaW11bChCLHV0KXwwLG89bytNYXRoLmltdWwoQixmdCl8MCxuPW4rTWF0aC5pbXVsKEUsaHQpfDAsaT0oaT1pK01hdGguaW11bChFLGR0KXwwKStNYXRoLmltdWwoQSxodCl8MCxvPW8rTWF0aC5pbXVsKEEsZHQpfDA7dmFyIEl0PShmKyhuPW4rTWF0aC5pbXVsKHgscHQpfDApfDApKygoODE5MSYoaT0oaT1pK01hdGguaW11bCh4LGJ0KXwwKStNYXRoLmltdWwoayxwdCl8MCkpPDwxMyl8MDtmPSgobz1vK01hdGguaW11bChrLGJ0KXwwKSsoaT4+PjEzKXwwKSsoSXQ+Pj4yNil8MCxJdCY9NjcxMDg4NjMsbj1NYXRoLmltdWwoRixydCksaT0oaT1NYXRoLmltdWwoRixudCkpK01hdGguaW11bChxLHJ0KXwwLG89TWF0aC5pbXVsKHEsbnQpLG49bitNYXRoLmltdWwoTyxvdCl8MCxpPShpPWkrTWF0aC5pbXVsKE8sYXQpfDApK01hdGguaW11bChOLG90KXwwLG89bytNYXRoLmltdWwoTixhdCl8MCxuPW4rTWF0aC5pbXVsKEMsdXQpfDAsaT0oaT1pK01hdGguaW11bChDLGZ0KXwwKStNYXRoLmltdWwoUCx1dCl8MCxvPW8rTWF0aC5pbXVsKFAsZnQpfDAsbj1uK01hdGguaW11bChJLGh0KXwwLGk9KGk9aStNYXRoLmltdWwoSSxkdCl8MCkrTWF0aC5pbXVsKEIsaHQpfDAsbz1vK01hdGguaW11bChCLGR0KXwwO3ZhciBCdD0oZisobj1uK01hdGguaW11bChFLHB0KXwwKXwwKSsoKDgxOTEmKGk9KGk9aStNYXRoLmltdWwoRSxidCl8MCkrTWF0aC5pbXVsKEEscHQpfDApKTw8MTMpfDA7Zj0oKG89bytNYXRoLmltdWwoQSxidCl8MCkrKGk+Pj4xMyl8MCkrKEJ0Pj4+MjYpfDAsQnQmPTY3MTA4ODYzLG49TWF0aC5pbXVsKEYsb3QpLGk9KGk9TWF0aC5pbXVsKEYsYXQpKStNYXRoLmltdWwocSxvdCl8MCxvPU1hdGguaW11bChxLGF0KSxuPW4rTWF0aC5pbXVsKE8sdXQpfDAsaT0oaT1pK01hdGguaW11bChPLGZ0KXwwKStNYXRoLmltdWwoTix1dCl8MCxvPW8rTWF0aC5pbXVsKE4sZnQpfDAsbj1uK01hdGguaW11bChDLGh0KXwwLGk9KGk9aStNYXRoLmltdWwoQyxkdCl8MCkrTWF0aC5pbXVsKFAsaHQpfDAsbz1vK01hdGguaW11bChQLGR0KXwwO3ZhciBUdD0oZisobj1uK01hdGguaW11bChJLHB0KXwwKXwwKSsoKDgxOTEmKGk9KGk9aStNYXRoLmltdWwoSSxidCl8MCkrTWF0aC5pbXVsKEIscHQpfDApKTw8MTMpfDA7Zj0oKG89bytNYXRoLmltdWwoQixidCl8MCkrKGk+Pj4xMyl8MCkrKFR0Pj4+MjYpfDAsVHQmPTY3MTA4ODYzLG49TWF0aC5pbXVsKEYsdXQpLGk9KGk9TWF0aC5pbXVsKEYsZnQpKStNYXRoLmltdWwocSx1dCl8MCxvPU1hdGguaW11bChxLGZ0KSxuPW4rTWF0aC5pbXVsKE8saHQpfDAsaT0oaT1pK01hdGguaW11bChPLGR0KXwwKStNYXRoLmltdWwoTixodCl8MCxvPW8rTWF0aC5pbXVsKE4sZHQpfDA7dmFyIEN0PShmKyhuPW4rTWF0aC5pbXVsKEMscHQpfDApfDApKygoODE5MSYoaT0oaT1pK01hdGguaW11bChDLGJ0KXwwKStNYXRoLmltdWwoUCxwdCl8MCkpPDwxMyl8MDtmPSgobz1vK01hdGguaW11bChQLGJ0KXwwKSsoaT4+PjEzKXwwKSsoQ3Q+Pj4yNil8MCxDdCY9NjcxMDg4NjMsbj1NYXRoLmltdWwoRixodCksaT0oaT1NYXRoLmltdWwoRixkdCkpK01hdGguaW11bChxLGh0KXwwLG89TWF0aC5pbXVsKHEsZHQpO3ZhciBQdD0oZisobj1uK01hdGguaW11bChPLHB0KXwwKXwwKSsoKDgxOTEmKGk9KGk9aStNYXRoLmltdWwoTyxidCl8MCkrTWF0aC5pbXVsKE4scHQpfDApKTw8MTMpfDA7Zj0oKG89bytNYXRoLmltdWwoTixidCl8MCkrKGk+Pj4xMyl8MCkrKFB0Pj4+MjYpfDAsUHQmPTY3MTA4ODYzO3ZhciBSdD0oZisobj1NYXRoLmltdWwoRixwdCkpfDApKygoODE5MSYoaT0oaT1NYXRoLmltdWwoRixidCkpK01hdGguaW11bChxLHB0KXwwKSk8PDEzKXwwO3JldHVybiBmPSgobz1NYXRoLmltdWwocSxidCkpKyhpPj4+MTMpfDApKyhSdD4+PjI2KXwwLFJ0Jj02NzEwODg2Myx1WzBdPW10LHVbMV09eXQsdVsyXT12dCx1WzNdPWd0LHVbNF09d3QsdVs1XT1fdCx1WzZdPU10LHVbN109eHQsdVs4XT1rdCx1WzldPVN0LHVbMTBdPUV0LHVbMTFdPUF0LHVbMTJdPWp0LHVbMTNdPUl0LHVbMTRdPUJ0LHVbMTVdPVR0LHVbMTZdPUN0LHVbMTddPVB0LHVbMThdPVJ0LDAhPT1mJiYodVsxOV09ZixyLmxlbmd0aCsrKSxyfTtmdW5jdGlvbiBwKHQsZSxyKXtyZXR1cm4obmV3IGIpLm11bHAodCxlLHIpfWZ1bmN0aW9uIGIodCxlKXt0aGlzLng9dCx0aGlzLnk9ZX1NYXRoLmltdWx8fChsPWQpLG8ucHJvdG90eXBlLm11bFRvPWZ1bmN0aW9uKHQsZSl7dmFyIHI9dGhpcy5sZW5ndGgrdC5sZW5ndGg7cmV0dXJuIDEwPT09dGhpcy5sZW5ndGgmJjEwPT09dC5sZW5ndGg/bCh0aGlzLHQsZSk6cjw2Mz9kKHRoaXMsdCxlKTpyPDEwMjQ/ZnVuY3Rpb24odCxlLHIpe3IubmVnYXRpdmU9ZS5uZWdhdGl2ZV50Lm5lZ2F0aXZlLHIubGVuZ3RoPXQubGVuZ3RoK2UubGVuZ3RoO2Zvcih2YXIgbj0wLGk9MCxvPTA7bzxyLmxlbmd0aC0xO28rKyl7dmFyIGE9aTtpPTA7Zm9yKHZhciBzPTY3MTA4ODYzJm4sdT1NYXRoLm1pbihvLGUubGVuZ3RoLTEpLGY9TWF0aC5tYXgoMCxvLXQubGVuZ3RoKzEpO2Y8PXU7ZisrKXt2YXIgYz1vLWYsaD0oMHx0LndvcmRzW2NdKSooMHxlLndvcmRzW2ZdKSxkPTY3MTA4ODYzJmg7cz02NzEwODg2MyYoZD1kK3N8MCksaSs9KGE9KGE9YSsoaC82NzEwODg2NHwwKXwwKSsoZD4+PjI2KXwwKT4+PjI2LGEmPTY3MTA4ODYzfXIud29yZHNbb109cyxuPWEsYT1pfXJldHVybiAwIT09bj9yLndvcmRzW29dPW46ci5sZW5ndGgtLSxyLnN0cmlwKCl9KHRoaXMsdCxlKTpwKHRoaXMsdCxlKX0sYi5wcm90b3R5cGUubWFrZVJCVD1mdW5jdGlvbih0KXtmb3IodmFyIGU9bmV3IEFycmF5KHQpLHI9by5wcm90b3R5cGUuX2NvdW50Qml0cyh0KS0xLG49MDtuPHQ7bisrKWVbbl09dGhpcy5yZXZCaW4obixyLHQpO3JldHVybiBlfSxiLnByb3RvdHlwZS5yZXZCaW49ZnVuY3Rpb24odCxlLHIpe2lmKDA9PT10fHx0PT09ci0xKXJldHVybiB0O2Zvcih2YXIgbj0wLGk9MDtpPGU7aSsrKW58PSgxJnQpPDxlLWktMSx0Pj49MTtyZXR1cm4gbn0sYi5wcm90b3R5cGUucGVybXV0ZT1mdW5jdGlvbih0LGUscixuLGksbyl7Zm9yKHZhciBhPTA7YTxvO2ErKyluW2FdPWVbdFthXV0saVthXT1yW3RbYV1dfSxiLnByb3RvdHlwZS50cmFuc2Zvcm09ZnVuY3Rpb24odCxlLHIsbixpLG8pe3RoaXMucGVybXV0ZShvLHQsZSxyLG4saSk7Zm9yKHZhciBhPTE7YTxpO2E8PD0xKWZvcih2YXIgcz1hPDwxLHU9TWF0aC5jb3MoMipNYXRoLlBJL3MpLGY9TWF0aC5zaW4oMipNYXRoLlBJL3MpLGM9MDtjPGk7Yys9cylmb3IodmFyIGg9dSxkPWYsbD0wO2w8YTtsKyspe3ZhciBwPXJbYytsXSxiPW5bYytsXSxtPXJbYytsK2FdLHk9bltjK2wrYV0sdj1oKm0tZCp5O3k9aCp5K2QqbSxtPXYscltjK2xdPXArbSxuW2MrbF09Yit5LHJbYytsK2FdPXAtbSxuW2MrbCthXT1iLXksbCE9PXMmJih2PXUqaC1mKmQsZD11KmQrZipoLGg9dil9fSxiLnByb3RvdHlwZS5ndWVzc0xlbjEzYj1mdW5jdGlvbih0LGUpe3ZhciByPTF8TWF0aC5tYXgoZSx0KSxuPTEmcixpPTA7Zm9yKHI9ci8yfDA7cjtyPj4+PTEpaSsrO3JldHVybiAxPDxpKzErbn0sYi5wcm90b3R5cGUuY29uanVnYXRlPWZ1bmN0aW9uKHQsZSxyKXtpZighKHI8PTEpKWZvcih2YXIgbj0wO248ci8yO24rKyl7dmFyIGk9dFtuXTt0W25dPXRbci1uLTFdLHRbci1uLTFdPWksaT1lW25dLGVbbl09LWVbci1uLTFdLGVbci1uLTFdPS1pfX0sYi5wcm90b3R5cGUubm9ybWFsaXplMTNiPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPTAsbj0wO248ZS8yO24rKyl7dmFyIGk9ODE5MipNYXRoLnJvdW5kKHRbMipuKzFdL2UpK01hdGgucm91bmQodFsyKm5dL2UpK3I7dFtuXT02NzEwODg2MyZpLHI9aTw2NzEwODg2ND8wOmkvNjcxMDg4NjR8MH1yZXR1cm4gdH0sYi5wcm90b3R5cGUuY29udmVydDEzYj1mdW5jdGlvbih0LGUscixpKXtmb3IodmFyIG89MCxhPTA7YTxlO2ErKylvKz0wfHRbYV0sclsyKmFdPTgxOTEmbyxvPj4+PTEzLHJbMiphKzFdPTgxOTEmbyxvPj4+PTEzO2ZvcihhPTIqZTthPGk7KythKXJbYV09MDtuKDA9PT1vKSxuKDA9PSgtODE5MiZvKSl9LGIucHJvdG90eXBlLnN0dWI9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPW5ldyBBcnJheSh0KSxyPTA7cjx0O3IrKyllW3JdPTA7cmV0dXJuIGV9LGIucHJvdG90eXBlLm11bHA9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPTIqdGhpcy5ndWVzc0xlbjEzYih0Lmxlbmd0aCxlLmxlbmd0aCksaT10aGlzLm1ha2VSQlQobiksbz10aGlzLnN0dWIobiksYT1uZXcgQXJyYXkobikscz1uZXcgQXJyYXkobiksdT1uZXcgQXJyYXkobiksZj1uZXcgQXJyYXkobiksYz1uZXcgQXJyYXkobiksaD1uZXcgQXJyYXkobiksZD1yLndvcmRzO2QubGVuZ3RoPW4sdGhpcy5jb252ZXJ0MTNiKHQud29yZHMsdC5sZW5ndGgsYSxuKSx0aGlzLmNvbnZlcnQxM2IoZS53b3JkcyxlLmxlbmd0aCxmLG4pLHRoaXMudHJhbnNmb3JtKGEsbyxzLHUsbixpKSx0aGlzLnRyYW5zZm9ybShmLG8sYyxoLG4saSk7Zm9yKHZhciBsPTA7bDxuO2wrKyl7dmFyIHA9c1tsXSpjW2xdLXVbbF0qaFtsXTt1W2xdPXNbbF0qaFtsXSt1W2xdKmNbbF0sc1tsXT1wfXJldHVybiB0aGlzLmNvbmp1Z2F0ZShzLHUsbiksdGhpcy50cmFuc2Zvcm0ocyx1LGQsbyxuLGkpLHRoaXMuY29uanVnYXRlKGQsbyxuKSx0aGlzLm5vcm1hbGl6ZTEzYihkLG4pLHIubmVnYXRpdmU9dC5uZWdhdGl2ZV5lLm5lZ2F0aXZlLHIubGVuZ3RoPXQubGVuZ3RoK2UubGVuZ3RoLHIuc3RyaXAoKX0sby5wcm90b3R5cGUubXVsPWZ1bmN0aW9uKHQpe3ZhciBlPW5ldyBvKG51bGwpO3JldHVybiBlLndvcmRzPW5ldyBBcnJheSh0aGlzLmxlbmd0aCt0Lmxlbmd0aCksdGhpcy5tdWxUbyh0LGUpfSxvLnByb3RvdHlwZS5tdWxmPWZ1bmN0aW9uKHQpe3ZhciBlPW5ldyBvKG51bGwpO3JldHVybiBlLndvcmRzPW5ldyBBcnJheSh0aGlzLmxlbmd0aCt0Lmxlbmd0aCkscCh0aGlzLHQsZSl9LG8ucHJvdG90eXBlLmltdWw9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5tdWxUbyh0LHRoaXMpfSxvLnByb3RvdHlwZS5pbXVsbj1mdW5jdGlvbih0KXtuKCJudW1iZXIiPT10eXBlb2YgdCksbih0PDY3MTA4ODY0KTtmb3IodmFyIGU9MCxyPTA7cjx0aGlzLmxlbmd0aDtyKyspe3ZhciBpPSgwfHRoaXMud29yZHNbcl0pKnQsbz0oNjcxMDg4NjMmaSkrKDY3MTA4ODYzJmUpO2U+Pj0yNixlKz1pLzY3MTA4ODY0fDAsZSs9bz4+PjI2LHRoaXMud29yZHNbcl09NjcxMDg4NjMmb31yZXR1cm4gMCE9PWUmJih0aGlzLndvcmRzW3JdPWUsdGhpcy5sZW5ndGgrKyksdGhpc30sby5wcm90b3R5cGUubXVsbj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jbG9uZSgpLmltdWxuKHQpfSxvLnByb3RvdHlwZS5zcXI9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tdWwodGhpcyl9LG8ucHJvdG90eXBlLmlzcXI9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pbXVsKHRoaXMuY2xvbmUoKSl9LG8ucHJvdG90eXBlLnBvdz1mdW5jdGlvbih0KXt2YXIgZT1mdW5jdGlvbih0KXtmb3IodmFyIGU9bmV3IEFycmF5KHQuYml0TGVuZ3RoKCkpLHI9MDtyPGUubGVuZ3RoO3IrKyl7dmFyIG49ci8yNnwwLGk9ciUyNjtlW3JdPSh0LndvcmRzW25dJjE8PGkpPj4+aX1yZXR1cm4gZX0odCk7aWYoMD09PWUubGVuZ3RoKXJldHVybiBuZXcgbygxKTtmb3IodmFyIHI9dGhpcyxuPTA7bjxlLmxlbmd0aCYmMD09PWVbbl07bisrLHI9ci5zcXIoKSk7aWYoKytuPGUubGVuZ3RoKWZvcih2YXIgaT1yLnNxcigpO248ZS5sZW5ndGg7bisrLGk9aS5zcXIoKSkwIT09ZVtuXSYmKHI9ci5tdWwoaSkpO3JldHVybiByfSxvLnByb3RvdHlwZS5pdXNobG49ZnVuY3Rpb24odCl7bigibnVtYmVyIj09dHlwZW9mIHQmJnQ+PTApO3ZhciBlLHI9dCUyNixpPSh0LXIpLzI2LG89NjcxMDg4NjM+Pj4yNi1yPDwyNi1yO2lmKDAhPT1yKXt2YXIgYT0wO2ZvcihlPTA7ZTx0aGlzLmxlbmd0aDtlKyspe3ZhciBzPXRoaXMud29yZHNbZV0mbyx1PSgwfHRoaXMud29yZHNbZV0pLXM8PHI7dGhpcy53b3Jkc1tlXT11fGEsYT1zPj4+MjYtcn1hJiYodGhpcy53b3Jkc1tlXT1hLHRoaXMubGVuZ3RoKyspfWlmKDAhPT1pKXtmb3IoZT10aGlzLmxlbmd0aC0xO2U+PTA7ZS0tKXRoaXMud29yZHNbZStpXT10aGlzLndvcmRzW2VdO2ZvcihlPTA7ZTxpO2UrKyl0aGlzLndvcmRzW2VdPTA7dGhpcy5sZW5ndGgrPWl9cmV0dXJuIHRoaXMuc3RyaXAoKX0sby5wcm90b3R5cGUuaXNobG49ZnVuY3Rpb24odCl7cmV0dXJuIG4oMD09PXRoaXMubmVnYXRpdmUpLHRoaXMuaXVzaGxuKHQpfSxvLnByb3RvdHlwZS5pdXNocm49ZnVuY3Rpb24odCxlLHIpe3ZhciBpO24oIm51bWJlciI9PXR5cGVvZiB0JiZ0Pj0wKSxpPWU/KGUtZSUyNikvMjY6MDt2YXIgbz10JTI2LGE9TWF0aC5taW4oKHQtbykvMjYsdGhpcy5sZW5ndGgpLHM9NjcxMDg4NjNeNjcxMDg4NjM+Pj5vPDxvLHU9cjtpZihpLT1hLGk9TWF0aC5tYXgoMCxpKSx1KXtmb3IodmFyIGY9MDtmPGE7ZisrKXUud29yZHNbZl09dGhpcy53b3Jkc1tmXTt1Lmxlbmd0aD1hfWlmKDA9PT1hKTtlbHNlIGlmKHRoaXMubGVuZ3RoPmEpZm9yKHRoaXMubGVuZ3RoLT1hLGY9MDtmPHRoaXMubGVuZ3RoO2YrKyl0aGlzLndvcmRzW2ZdPXRoaXMud29yZHNbZithXTtlbHNlIHRoaXMud29yZHNbMF09MCx0aGlzLmxlbmd0aD0xO3ZhciBjPTA7Zm9yKGY9dGhpcy5sZW5ndGgtMTtmPj0wJiYoMCE9PWN8fGY+PWkpO2YtLSl7dmFyIGg9MHx0aGlzLndvcmRzW2ZdO3RoaXMud29yZHNbZl09Yzw8MjYtb3xoPj4+byxjPWgmc31yZXR1cm4gdSYmMCE9PWMmJih1LndvcmRzW3UubGVuZ3RoKytdPWMpLDA9PT10aGlzLmxlbmd0aCYmKHRoaXMud29yZHNbMF09MCx0aGlzLmxlbmd0aD0xKSx0aGlzLnN0cmlwKCl9LG8ucHJvdG90eXBlLmlzaHJuPWZ1bmN0aW9uKHQsZSxyKXtyZXR1cm4gbigwPT09dGhpcy5uZWdhdGl2ZSksdGhpcy5pdXNocm4odCxlLHIpfSxvLnByb3RvdHlwZS5zaGxuPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNsb25lKCkuaXNobG4odCl9LG8ucHJvdG90eXBlLnVzaGxuPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNsb25lKCkuaXVzaGxuKHQpfSxvLnByb3RvdHlwZS5zaHJuPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNsb25lKCkuaXNocm4odCl9LG8ucHJvdG90eXBlLnVzaHJuPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNsb25lKCkuaXVzaHJuKHQpfSxvLnByb3RvdHlwZS50ZXN0bj1mdW5jdGlvbih0KXtuKCJudW1iZXIiPT10eXBlb2YgdCYmdD49MCk7dmFyIGU9dCUyNixyPSh0LWUpLzI2LGk9MTw8ZTtyZXR1cm4hKHRoaXMubGVuZ3RoPD1yKSYmISEodGhpcy53b3Jkc1tyXSZpKX0sby5wcm90b3R5cGUuaW1hc2tuPWZ1bmN0aW9uKHQpe24oIm51bWJlciI9PXR5cGVvZiB0JiZ0Pj0wKTt2YXIgZT10JTI2LHI9KHQtZSkvMjY7aWYobigwPT09dGhpcy5uZWdhdGl2ZSwiaW1hc2tuIHdvcmtzIG9ubHkgd2l0aCBwb3NpdGl2ZSBudW1iZXJzIiksdGhpcy5sZW5ndGg8PXIpcmV0dXJuIHRoaXM7aWYoMCE9PWUmJnIrKyx0aGlzLmxlbmd0aD1NYXRoLm1pbihyLHRoaXMubGVuZ3RoKSwwIT09ZSl7dmFyIGk9NjcxMDg4NjNeNjcxMDg4NjM+Pj5lPDxlO3RoaXMud29yZHNbdGhpcy5sZW5ndGgtMV0mPWl9cmV0dXJuIHRoaXMuc3RyaXAoKX0sby5wcm90b3R5cGUubWFza249ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY2xvbmUoKS5pbWFza24odCl9LG8ucHJvdG90eXBlLmlhZGRuPWZ1bmN0aW9uKHQpe3JldHVybiBuKCJudW1iZXIiPT10eXBlb2YgdCksbih0PDY3MTA4ODY0KSx0PDA/dGhpcy5pc3VibigtdCk6MCE9PXRoaXMubmVnYXRpdmU/MT09PXRoaXMubGVuZ3RoJiYoMHx0aGlzLndvcmRzWzBdKTx0Pyh0aGlzLndvcmRzWzBdPXQtKDB8dGhpcy53b3Jkc1swXSksdGhpcy5uZWdhdGl2ZT0wLHRoaXMpOih0aGlzLm5lZ2F0aXZlPTAsdGhpcy5pc3Vibih0KSx0aGlzLm5lZ2F0aXZlPTEsdGhpcyk6dGhpcy5faWFkZG4odCl9LG8ucHJvdG90eXBlLl9pYWRkbj1mdW5jdGlvbih0KXt0aGlzLndvcmRzWzBdKz10O2Zvcih2YXIgZT0wO2U8dGhpcy5sZW5ndGgmJnRoaXMud29yZHNbZV0+PTY3MTA4ODY0O2UrKyl0aGlzLndvcmRzW2VdLT02NzEwODg2NCxlPT09dGhpcy5sZW5ndGgtMT90aGlzLndvcmRzW2UrMV09MTp0aGlzLndvcmRzW2UrMV0rKztyZXR1cm4gdGhpcy5sZW5ndGg9TWF0aC5tYXgodGhpcy5sZW5ndGgsZSsxKSx0aGlzfSxvLnByb3RvdHlwZS5pc3Vibj1mdW5jdGlvbih0KXtpZihuKCJudW1iZXIiPT10eXBlb2YgdCksbih0PDY3MTA4ODY0KSx0PDApcmV0dXJuIHRoaXMuaWFkZG4oLXQpO2lmKDAhPT10aGlzLm5lZ2F0aXZlKXJldHVybiB0aGlzLm5lZ2F0aXZlPTAsdGhpcy5pYWRkbih0KSx0aGlzLm5lZ2F0aXZlPTEsdGhpcztpZih0aGlzLndvcmRzWzBdLT10LDE9PT10aGlzLmxlbmd0aCYmdGhpcy53b3Jkc1swXTwwKXRoaXMud29yZHNbMF09LXRoaXMud29yZHNbMF0sdGhpcy5uZWdhdGl2ZT0xO2Vsc2UgZm9yKHZhciBlPTA7ZTx0aGlzLmxlbmd0aCYmdGhpcy53b3Jkc1tlXTwwO2UrKyl0aGlzLndvcmRzW2VdKz02NzEwODg2NCx0aGlzLndvcmRzW2UrMV0tPTE7cmV0dXJuIHRoaXMuc3RyaXAoKX0sby5wcm90b3R5cGUuYWRkbj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jbG9uZSgpLmlhZGRuKHQpfSxvLnByb3RvdHlwZS5zdWJuPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNsb25lKCkuaXN1Ym4odCl9LG8ucHJvdG90eXBlLmlhYnM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5uZWdhdGl2ZT0wLHRoaXN9LG8ucHJvdG90eXBlLmFicz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmNsb25lKCkuaWFicygpfSxvLnByb3RvdHlwZS5faXNobG5zdWJtdWw9ZnVuY3Rpb24odCxlLHIpe3ZhciBpLG8sYT10Lmxlbmd0aCtyO3RoaXMuX2V4cGFuZChhKTt2YXIgcz0wO2ZvcihpPTA7aTx0Lmxlbmd0aDtpKyspe289KDB8dGhpcy53b3Jkc1tpK3JdKStzO3ZhciB1PSgwfHQud29yZHNbaV0pKmU7cz0oKG8tPTY3MTA4ODYzJnUpPj4yNiktKHUvNjcxMDg4NjR8MCksdGhpcy53b3Jkc1tpK3JdPTY3MTA4ODYzJm99Zm9yKDtpPHRoaXMubGVuZ3RoLXI7aSsrKXM9KG89KDB8dGhpcy53b3Jkc1tpK3JdKStzKT4+MjYsdGhpcy53b3Jkc1tpK3JdPTY3MTA4ODYzJm87aWYoMD09PXMpcmV0dXJuIHRoaXMuc3RyaXAoKTtmb3IobigtMT09PXMpLHM9MCxpPTA7aTx0aGlzLmxlbmd0aDtpKyspcz0obz0tKDB8dGhpcy53b3Jkc1tpXSkrcyk+PjI2LHRoaXMud29yZHNbaV09NjcxMDg4NjMmbztyZXR1cm4gdGhpcy5uZWdhdGl2ZT0xLHRoaXMuc3RyaXAoKX0sby5wcm90b3R5cGUuX3dvcmREaXY9ZnVuY3Rpb24odCxlKXt2YXIgcj0odGhpcy5sZW5ndGgsdC5sZW5ndGgpLG49dGhpcy5jbG9uZSgpLGk9dCxhPTB8aS53b3Jkc1tpLmxlbmd0aC0xXTswIT09KHI9MjYtdGhpcy5fY291bnRCaXRzKGEpKSYmKGk9aS51c2hsbihyKSxuLml1c2hsbihyKSxhPTB8aS53b3Jkc1tpLmxlbmd0aC0xXSk7dmFyIHMsdT1uLmxlbmd0aC1pLmxlbmd0aDtpZigibW9kIiE9PWUpeyhzPW5ldyBvKG51bGwpKS5sZW5ndGg9dSsxLHMud29yZHM9bmV3IEFycmF5KHMubGVuZ3RoKTtmb3IodmFyIGY9MDtmPHMubGVuZ3RoO2YrKylzLndvcmRzW2ZdPTB9dmFyIGM9bi5jbG9uZSgpLl9pc2hsbnN1Ym11bChpLDEsdSk7MD09PWMubmVnYXRpdmUmJihuPWMscyYmKHMud29yZHNbdV09MSkpO2Zvcih2YXIgaD11LTE7aD49MDtoLS0pe3ZhciBkPTY3MTA4ODY0KigwfG4ud29yZHNbaS5sZW5ndGgraF0pKygwfG4ud29yZHNbaS5sZW5ndGgraC0xXSk7Zm9yKGQ9TWF0aC5taW4oZC9hfDAsNjcxMDg4NjMpLG4uX2lzaGxuc3VibXVsKGksZCxoKTswIT09bi5uZWdhdGl2ZTspZC0tLG4ubmVnYXRpdmU9MCxuLl9pc2hsbnN1Ym11bChpLDEsaCksbi5pc1plcm8oKXx8KG4ubmVnYXRpdmVePTEpO3MmJihzLndvcmRzW2hdPWQpfXJldHVybiBzJiZzLnN0cmlwKCksbi5zdHJpcCgpLCJkaXYiIT09ZSYmMCE9PXImJm4uaXVzaHJuKHIpLHtkaXY6c3x8bnVsbCxtb2Q6bn19LG8ucHJvdG90eXBlLmRpdm1vZD1mdW5jdGlvbih0LGUscil7cmV0dXJuIG4oIXQuaXNaZXJvKCkpLHRoaXMuaXNaZXJvKCk/e2RpdjpuZXcgbygwKSxtb2Q6bmV3IG8oMCl9OjAhPT10aGlzLm5lZ2F0aXZlJiYwPT09dC5uZWdhdGl2ZT8ocz10aGlzLm5lZygpLmRpdm1vZCh0LGUpLCJtb2QiIT09ZSYmKGk9cy5kaXYubmVnKCkpLCJkaXYiIT09ZSYmKGE9cy5tb2QubmVnKCksciYmMCE9PWEubmVnYXRpdmUmJmEuaWFkZCh0KSkse2RpdjppLG1vZDphfSk6MD09PXRoaXMubmVnYXRpdmUmJjAhPT10Lm5lZ2F0aXZlPyhzPXRoaXMuZGl2bW9kKHQubmVnKCksZSksIm1vZCIhPT1lJiYoaT1zLmRpdi5uZWcoKSkse2RpdjppLG1vZDpzLm1vZH0pOjAhPSh0aGlzLm5lZ2F0aXZlJnQubmVnYXRpdmUpPyhzPXRoaXMubmVnKCkuZGl2bW9kKHQubmVnKCksZSksImRpdiIhPT1lJiYoYT1zLm1vZC5uZWcoKSxyJiYwIT09YS5uZWdhdGl2ZSYmYS5pc3ViKHQpKSx7ZGl2OnMuZGl2LG1vZDphfSk6dC5sZW5ndGg+dGhpcy5sZW5ndGh8fHRoaXMuY21wKHQpPDA/e2RpdjpuZXcgbygwKSxtb2Q6dGhpc306MT09PXQubGVuZ3RoPyJkaXYiPT09ZT97ZGl2OnRoaXMuZGl2bih0LndvcmRzWzBdKSxtb2Q6bnVsbH06Im1vZCI9PT1lP3tkaXY6bnVsbCxtb2Q6bmV3IG8odGhpcy5tb2RuKHQud29yZHNbMF0pKX06e2Rpdjp0aGlzLmRpdm4odC53b3Jkc1swXSksbW9kOm5ldyBvKHRoaXMubW9kbih0LndvcmRzWzBdKSl9OnRoaXMuX3dvcmREaXYodCxlKTt2YXIgaSxhLHN9LG8ucHJvdG90eXBlLmRpdj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5kaXZtb2QodCwiZGl2IiwhMSkuZGl2fSxvLnByb3RvdHlwZS5tb2Q9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuZGl2bW9kKHQsIm1vZCIsITEpLm1vZH0sby5wcm90b3R5cGUudW1vZD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5kaXZtb2QodCwibW9kIiwhMCkubW9kfSxvLnByb3RvdHlwZS5kaXZSb3VuZD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmRpdm1vZCh0KTtpZihlLm1vZC5pc1plcm8oKSlyZXR1cm4gZS5kaXY7dmFyIHI9MCE9PWUuZGl2Lm5lZ2F0aXZlP2UubW9kLmlzdWIodCk6ZS5tb2Qsbj10LnVzaHJuKDEpLGk9dC5hbmRsbigxKSxvPXIuY21wKG4pO3JldHVybiBvPDB8fDE9PT1pJiYwPT09bz9lLmRpdjowIT09ZS5kaXYubmVnYXRpdmU/ZS5kaXYuaXN1Ym4oMSk6ZS5kaXYuaWFkZG4oMSl9LG8ucHJvdG90eXBlLm1vZG49ZnVuY3Rpb24odCl7bih0PD02NzEwODg2Myk7Zm9yKHZhciBlPSgxPDwyNikldCxyPTAsaT10aGlzLmxlbmd0aC0xO2k+PTA7aS0tKXI9KGUqcisoMHx0aGlzLndvcmRzW2ldKSkldDtyZXR1cm4gcn0sby5wcm90b3R5cGUuaWRpdm49ZnVuY3Rpb24odCl7bih0PD02NzEwODg2Myk7Zm9yKHZhciBlPTAscj10aGlzLmxlbmd0aC0xO3I+PTA7ci0tKXt2YXIgaT0oMHx0aGlzLndvcmRzW3JdKSs2NzEwODg2NCplO3RoaXMud29yZHNbcl09aS90fDAsZT1pJXR9cmV0dXJuIHRoaXMuc3RyaXAoKX0sby5wcm90b3R5cGUuZGl2bj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jbG9uZSgpLmlkaXZuKHQpfSxvLnByb3RvdHlwZS5lZ2NkPWZ1bmN0aW9uKHQpe24oMD09PXQubmVnYXRpdmUpLG4oIXQuaXNaZXJvKCkpO3ZhciBlPXRoaXMscj10LmNsb25lKCk7ZT0wIT09ZS5uZWdhdGl2ZT9lLnVtb2QodCk6ZS5jbG9uZSgpO2Zvcih2YXIgaT1uZXcgbygxKSxhPW5ldyBvKDApLHM9bmV3IG8oMCksdT1uZXcgbygxKSxmPTA7ZS5pc0V2ZW4oKSYmci5pc0V2ZW4oKTspZS5pdXNocm4oMSksci5pdXNocm4oMSksKytmO2Zvcih2YXIgYz1yLmNsb25lKCksaD1lLmNsb25lKCk7IWUuaXNaZXJvKCk7KXtmb3IodmFyIGQ9MCxsPTE7MD09KGUud29yZHNbMF0mbCkmJmQ8MjY7KytkLGw8PD0xKTtpZihkPjApZm9yKGUuaXVzaHJuKGQpO2QtLSA+MDspKGkuaXNPZGQoKXx8YS5pc09kZCgpKSYmKGkuaWFkZChjKSxhLmlzdWIoaCkpLGkuaXVzaHJuKDEpLGEuaXVzaHJuKDEpO2Zvcih2YXIgcD0wLGI9MTswPT0oci53b3Jkc1swXSZiKSYmcDwyNjsrK3AsYjw8PTEpO2lmKHA+MClmb3Ioci5pdXNocm4ocCk7cC0tID4wOykocy5pc09kZCgpfHx1LmlzT2RkKCkpJiYocy5pYWRkKGMpLHUuaXN1YihoKSkscy5pdXNocm4oMSksdS5pdXNocm4oMSk7ZS5jbXAocik+PTA/KGUuaXN1YihyKSxpLmlzdWIocyksYS5pc3ViKHUpKTooci5pc3ViKGUpLHMuaXN1YihpKSx1LmlzdWIoYSkpfXJldHVybnthOnMsYjp1LGdjZDpyLml1c2hsbihmKX19LG8ucHJvdG90eXBlLl9pbnZtcD1mdW5jdGlvbih0KXtuKDA9PT10Lm5lZ2F0aXZlKSxuKCF0LmlzWmVybygpKTt2YXIgZT10aGlzLHI9dC5jbG9uZSgpO2U9MCE9PWUubmVnYXRpdmU/ZS51bW9kKHQpOmUuY2xvbmUoKTtmb3IodmFyIGksYT1uZXcgbygxKSxzPW5ldyBvKDApLHU9ci5jbG9uZSgpO2UuY21wbigxKT4wJiZyLmNtcG4oMSk+MDspe2Zvcih2YXIgZj0wLGM9MTswPT0oZS53b3Jkc1swXSZjKSYmZjwyNjsrK2YsYzw8PTEpO2lmKGY+MClmb3IoZS5pdXNocm4oZik7Zi0tID4wOylhLmlzT2RkKCkmJmEuaWFkZCh1KSxhLml1c2hybigxKTtmb3IodmFyIGg9MCxkPTE7MD09KHIud29yZHNbMF0mZCkmJmg8MjY7KytoLGQ8PD0xKTtpZihoPjApZm9yKHIuaXVzaHJuKGgpO2gtLSA+MDspcy5pc09kZCgpJiZzLmlhZGQodSkscy5pdXNocm4oMSk7ZS5jbXAocik+PTA/KGUuaXN1YihyKSxhLmlzdWIocykpOihyLmlzdWIoZSkscy5pc3ViKGEpKX1yZXR1cm4oaT0wPT09ZS5jbXBuKDEpP2E6cykuY21wbigwKTwwJiZpLmlhZGQodCksaX0sby5wcm90b3R5cGUuZ2NkPWZ1bmN0aW9uKHQpe2lmKHRoaXMuaXNaZXJvKCkpcmV0dXJuIHQuYWJzKCk7aWYodC5pc1plcm8oKSlyZXR1cm4gdGhpcy5hYnMoKTt2YXIgZT10aGlzLmNsb25lKCkscj10LmNsb25lKCk7ZS5uZWdhdGl2ZT0wLHIubmVnYXRpdmU9MDtmb3IodmFyIG49MDtlLmlzRXZlbigpJiZyLmlzRXZlbigpO24rKyllLml1c2hybigxKSxyLml1c2hybigxKTtmb3IoOzspe2Zvcig7ZS5pc0V2ZW4oKTspZS5pdXNocm4oMSk7Zm9yKDtyLmlzRXZlbigpOylyLml1c2hybigxKTt2YXIgaT1lLmNtcChyKTtpZihpPDApe3ZhciBvPWU7ZT1yLHI9b31lbHNlIGlmKDA9PT1pfHwwPT09ci5jbXBuKDEpKWJyZWFrO2UuaXN1YihyKX1yZXR1cm4gci5pdXNobG4obil9LG8ucHJvdG90eXBlLmludm09ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuZWdjZCh0KS5hLnVtb2QodCl9LG8ucHJvdG90eXBlLmlzRXZlbj1mdW5jdGlvbigpe3JldHVybiAwPT0oMSZ0aGlzLndvcmRzWzBdKX0sby5wcm90b3R5cGUuaXNPZGQ9ZnVuY3Rpb24oKXtyZXR1cm4gMT09KDEmdGhpcy53b3Jkc1swXSl9LG8ucHJvdG90eXBlLmFuZGxuPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLndvcmRzWzBdJnR9LG8ucHJvdG90eXBlLmJpbmNuPWZ1bmN0aW9uKHQpe24oIm51bWJlciI9PXR5cGVvZiB0KTt2YXIgZT10JTI2LHI9KHQtZSkvMjYsaT0xPDxlO2lmKHRoaXMubGVuZ3RoPD1yKXJldHVybiB0aGlzLl9leHBhbmQocisxKSx0aGlzLndvcmRzW3JdfD1pLHRoaXM7Zm9yKHZhciBvPWksYT1yOzAhPT1vJiZhPHRoaXMubGVuZ3RoO2ErKyl7dmFyIHM9MHx0aGlzLndvcmRzW2FdO289KHMrPW8pPj4+MjYscyY9NjcxMDg4NjMsdGhpcy53b3Jkc1thXT1zfXJldHVybiAwIT09byYmKHRoaXMud29yZHNbYV09byx0aGlzLmxlbmd0aCsrKSx0aGlzfSxvLnByb3RvdHlwZS5pc1plcm89ZnVuY3Rpb24oKXtyZXR1cm4gMT09PXRoaXMubGVuZ3RoJiYwPT09dGhpcy53b3Jkc1swXX0sby5wcm90b3R5cGUuY21wbj1mdW5jdGlvbih0KXt2YXIgZSxyPXQ8MDtpZigwIT09dGhpcy5uZWdhdGl2ZSYmIXIpcmV0dXJuLTE7aWYoMD09PXRoaXMubmVnYXRpdmUmJnIpcmV0dXJuIDE7aWYodGhpcy5zdHJpcCgpLHRoaXMubGVuZ3RoPjEpZT0xO2Vsc2V7ciYmKHQ9LXQpLG4odDw9NjcxMDg4NjMsIk51bWJlciBpcyB0b28gYmlnIik7dmFyIGk9MHx0aGlzLndvcmRzWzBdO2U9aT09PXQ/MDppPHQ/LTE6MX1yZXR1cm4gMCE9PXRoaXMubmVnYXRpdmU/MHwtZTplfSxvLnByb3RvdHlwZS5jbXA9ZnVuY3Rpb24odCl7aWYoMCE9PXRoaXMubmVnYXRpdmUmJjA9PT10Lm5lZ2F0aXZlKXJldHVybi0xO2lmKDA9PT10aGlzLm5lZ2F0aXZlJiYwIT09dC5uZWdhdGl2ZSlyZXR1cm4gMTt2YXIgZT10aGlzLnVjbXAodCk7cmV0dXJuIDAhPT10aGlzLm5lZ2F0aXZlPzB8LWU6ZX0sby5wcm90b3R5cGUudWNtcD1mdW5jdGlvbih0KXtpZih0aGlzLmxlbmd0aD50Lmxlbmd0aClyZXR1cm4gMTtpZih0aGlzLmxlbmd0aDx0Lmxlbmd0aClyZXR1cm4tMTtmb3IodmFyIGU9MCxyPXRoaXMubGVuZ3RoLTE7cj49MDtyLS0pe3ZhciBuPTB8dGhpcy53b3Jkc1tyXSxpPTB8dC53b3Jkc1tyXTtpZihuIT09aSl7bjxpP2U9LTE6bj5pJiYoZT0xKTticmVha319cmV0dXJuIGV9LG8ucHJvdG90eXBlLmd0bj1mdW5jdGlvbih0KXtyZXR1cm4gMT09PXRoaXMuY21wbih0KX0sby5wcm90b3R5cGUuZ3Q9ZnVuY3Rpb24odCl7cmV0dXJuIDE9PT10aGlzLmNtcCh0KX0sby5wcm90b3R5cGUuZ3Rlbj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5jbXBuKHQpPj0wfSxvLnByb3RvdHlwZS5ndGU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY21wKHQpPj0wfSxvLnByb3RvdHlwZS5sdG49ZnVuY3Rpb24odCl7cmV0dXJuLTE9PT10aGlzLmNtcG4odCl9LG8ucHJvdG90eXBlLmx0PWZ1bmN0aW9uKHQpe3JldHVybi0xPT09dGhpcy5jbXAodCl9LG8ucHJvdG90eXBlLmx0ZW49ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuY21wbih0KTw9MH0sby5wcm90b3R5cGUubHRlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmNtcCh0KTw9MH0sby5wcm90b3R5cGUuZXFuPWZ1bmN0aW9uKHQpe3JldHVybiAwPT09dGhpcy5jbXBuKHQpfSxvLnByb3RvdHlwZS5lcT1mdW5jdGlvbih0KXtyZXR1cm4gMD09PXRoaXMuY21wKHQpfSxvLnJlZD1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IE0odCl9LG8ucHJvdG90eXBlLnRvUmVkPWZ1bmN0aW9uKHQpe3JldHVybiBuKCF0aGlzLnJlZCwiQWxyZWFkeSBhIG51bWJlciBpbiByZWR1Y3Rpb24gY29udGV4dCIpLG4oMD09PXRoaXMubmVnYXRpdmUsInJlZCB3b3JrcyBvbmx5IHdpdGggcG9zaXRpdmVzIiksdC5jb252ZXJ0VG8odGhpcykuX2ZvcmNlUmVkKHQpfSxvLnByb3RvdHlwZS5mcm9tUmVkPWZ1bmN0aW9uKCl7cmV0dXJuIG4odGhpcy5yZWQsImZyb21SZWQgd29ya3Mgb25seSB3aXRoIG51bWJlcnMgaW4gcmVkdWN0aW9uIGNvbnRleHQiKSx0aGlzLnJlZC5jb252ZXJ0RnJvbSh0aGlzKX0sby5wcm90b3R5cGUuX2ZvcmNlUmVkPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnJlZD10LHRoaXN9LG8ucHJvdG90eXBlLmZvcmNlUmVkPWZ1bmN0aW9uKHQpe3JldHVybiBuKCF0aGlzLnJlZCwiQWxyZWFkeSBhIG51bWJlciBpbiByZWR1Y3Rpb24gY29udGV4dCIpLHRoaXMuX2ZvcmNlUmVkKHQpfSxvLnByb3RvdHlwZS5yZWRBZGQ9ZnVuY3Rpb24odCl7cmV0dXJuIG4odGhpcy5yZWQsInJlZEFkZCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5hZGQodGhpcyx0KX0sby5wcm90b3R5cGUucmVkSUFkZD1mdW5jdGlvbih0KXtyZXR1cm4gbih0aGlzLnJlZCwicmVkSUFkZCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5pYWRkKHRoaXMsdCl9LG8ucHJvdG90eXBlLnJlZFN1Yj1mdW5jdGlvbih0KXtyZXR1cm4gbih0aGlzLnJlZCwicmVkU3ViIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMucmVkLnN1Yih0aGlzLHQpfSxvLnByb3RvdHlwZS5yZWRJU3ViPWZ1bmN0aW9uKHQpe3JldHVybiBuKHRoaXMucmVkLCJyZWRJU3ViIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMucmVkLmlzdWIodGhpcyx0KX0sby5wcm90b3R5cGUucmVkU2hsPWZ1bmN0aW9uKHQpe3JldHVybiBuKHRoaXMucmVkLCJyZWRTaGwgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiksdGhpcy5yZWQuc2hsKHRoaXMsdCl9LG8ucHJvdG90eXBlLnJlZE11bD1mdW5jdGlvbih0KXtyZXR1cm4gbih0aGlzLnJlZCwicmVkTXVsIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMucmVkLl92ZXJpZnkyKHRoaXMsdCksdGhpcy5yZWQubXVsKHRoaXMsdCl9LG8ucHJvdG90eXBlLnJlZElNdWw9ZnVuY3Rpb24odCl7cmV0dXJuIG4odGhpcy5yZWQsInJlZE11bCB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5fdmVyaWZ5Mih0aGlzLHQpLHRoaXMucmVkLmltdWwodGhpcyx0KX0sby5wcm90b3R5cGUucmVkU3FyPWZ1bmN0aW9uKCl7cmV0dXJuIG4odGhpcy5yZWQsInJlZFNxciB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKSx0aGlzLnJlZC5zcXIodGhpcyl9LG8ucHJvdG90eXBlLnJlZElTcXI9ZnVuY3Rpb24oKXtyZXR1cm4gbih0aGlzLnJlZCwicmVkSVNxciB3b3JrcyBvbmx5IHdpdGggcmVkIG51bWJlcnMiKSx0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKSx0aGlzLnJlZC5pc3FyKHRoaXMpfSxvLnByb3RvdHlwZS5yZWRTcXJ0PWZ1bmN0aW9uKCl7cmV0dXJuIG4odGhpcy5yZWQsInJlZFNxcnQgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiksdGhpcy5yZWQuX3ZlcmlmeTEodGhpcyksdGhpcy5yZWQuc3FydCh0aGlzKX0sby5wcm90b3R5cGUucmVkSW52bT1mdW5jdGlvbigpe3JldHVybiBuKHRoaXMucmVkLCJyZWRJbnZtIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpLHRoaXMucmVkLl92ZXJpZnkxKHRoaXMpLHRoaXMucmVkLmludm0odGhpcyl9LG8ucHJvdG90eXBlLnJlZE5lZz1mdW5jdGlvbigpe3JldHVybiBuKHRoaXMucmVkLCJyZWROZWcgd29ya3Mgb25seSB3aXRoIHJlZCBudW1iZXJzIiksdGhpcy5yZWQuX3ZlcmlmeTEodGhpcyksdGhpcy5yZWQubmVnKHRoaXMpfSxvLnByb3RvdHlwZS5yZWRQb3c9ZnVuY3Rpb24odCl7cmV0dXJuIG4odGhpcy5yZWQmJiF0LnJlZCwicmVkUG93KG5vcm1hbE51bSkiKSx0aGlzLnJlZC5fdmVyaWZ5MSh0aGlzKSx0aGlzLnJlZC5wb3codGhpcyx0KX07dmFyIG09e2syNTY6bnVsbCxwMjI0Om51bGwscDE5MjpudWxsLHAyNTUxOTpudWxsfTtmdW5jdGlvbiB5KHQsZSl7dGhpcy5uYW1lPXQsdGhpcy5wPW5ldyBvKGUsMTYpLHRoaXMubj10aGlzLnAuYml0TGVuZ3RoKCksdGhpcy5rPW5ldyBvKDEpLml1c2hsbih0aGlzLm4pLmlzdWIodGhpcy5wKSx0aGlzLnRtcD10aGlzLl90bXAoKX1mdW5jdGlvbiB2KCl7eS5jYWxsKHRoaXMsImsyNTYiLCJmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZSBmZmZmZmMyZiIpfWZ1bmN0aW9uIGcoKXt5LmNhbGwodGhpcywicDIyNCIsImZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAxIil9ZnVuY3Rpb24gdygpe3kuY2FsbCh0aGlzLCJwMTkyIiwiZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmUgZmZmZmZmZmYgZmZmZmZmZmYiKX1mdW5jdGlvbiBfKCl7eS5jYWxsKHRoaXMsIjI1NTE5IiwiN2ZmZmZmZmZmZmZmZmZmZiBmZmZmZmZmZmZmZmZmZmZmIGZmZmZmZmZmZmZmZmZmZmYgZmZmZmZmZmZmZmZmZmZlZCIpfWZ1bmN0aW9uIE0odCl7aWYoInN0cmluZyI9PXR5cGVvZiB0KXt2YXIgZT1vLl9wcmltZSh0KTt0aGlzLm09ZS5wLHRoaXMucHJpbWU9ZX1lbHNlIG4odC5ndG4oMSksIm1vZHVsdXMgbXVzdCBiZSBncmVhdGVyIHRoYW4gMSIpLHRoaXMubT10LHRoaXMucHJpbWU9bnVsbH1mdW5jdGlvbiB4KHQpe00uY2FsbCh0aGlzLHQpLHRoaXMuc2hpZnQ9dGhpcy5tLmJpdExlbmd0aCgpLHRoaXMuc2hpZnQlMjYhPTAmJih0aGlzLnNoaWZ0Kz0yNi10aGlzLnNoaWZ0JTI2KSx0aGlzLnI9bmV3IG8oMSkuaXVzaGxuKHRoaXMuc2hpZnQpLHRoaXMucjI9dGhpcy5pbW9kKHRoaXMuci5zcXIoKSksdGhpcy5yaW52PXRoaXMuci5faW52bXAodGhpcy5tKSx0aGlzLm1pbnY9dGhpcy5yaW52Lm11bCh0aGlzLnIpLmlzdWJuKDEpLmRpdih0aGlzLm0pLHRoaXMubWludj10aGlzLm1pbnYudW1vZCh0aGlzLnIpLHRoaXMubWludj10aGlzLnIuc3ViKHRoaXMubWludil9eS5wcm90b3R5cGUuX3RtcD1mdW5jdGlvbigpe3ZhciB0PW5ldyBvKG51bGwpO3JldHVybiB0LndvcmRzPW5ldyBBcnJheShNYXRoLmNlaWwodGhpcy5uLzEzKSksdH0seS5wcm90b3R5cGUuaXJlZHVjZT1mdW5jdGlvbih0KXt2YXIgZSxyPXQ7ZG97dGhpcy5zcGxpdChyLHRoaXMudG1wKSxlPShyPShyPXRoaXMuaW11bEsocikpLmlhZGQodGhpcy50bXApKS5iaXRMZW5ndGgoKX13aGlsZShlPnRoaXMubik7dmFyIG49ZTx0aGlzLm4/LTE6ci51Y21wKHRoaXMucCk7cmV0dXJuIDA9PT1uPyhyLndvcmRzWzBdPTAsci5sZW5ndGg9MSk6bj4wP3IuaXN1Yih0aGlzLnApOnIuc3RyaXAoKSxyfSx5LnByb3RvdHlwZS5zcGxpdD1mdW5jdGlvbih0LGUpe3QuaXVzaHJuKHRoaXMubiwwLGUpfSx5LnByb3RvdHlwZS5pbXVsSz1mdW5jdGlvbih0KXtyZXR1cm4gdC5pbXVsKHRoaXMuayl9LGkodix5KSx2LnByb3RvdHlwZS5zcGxpdD1mdW5jdGlvbih0LGUpe2Zvcih2YXIgcj1NYXRoLm1pbih0Lmxlbmd0aCw5KSxuPTA7bjxyO24rKyllLndvcmRzW25dPXQud29yZHNbbl07aWYoZS5sZW5ndGg9cix0Lmxlbmd0aDw9OSlyZXR1cm4gdC53b3Jkc1swXT0wLHZvaWQodC5sZW5ndGg9MSk7dmFyIGk9dC53b3Jkc1s5XTtmb3IoZS53b3Jkc1tlLmxlbmd0aCsrXT00MTk0MzAzJmksbj0xMDtuPHQubGVuZ3RoO24rKyl7dmFyIG89MHx0LndvcmRzW25dO3Qud29yZHNbbi0xMF09KDQxOTQzMDMmbyk8PDR8aT4+PjIyLGk9b31pPj4+PTIyLHQud29yZHNbbi0xMF09aSwwPT09aSYmdC5sZW5ndGg+MTA/dC5sZW5ndGgtPTEwOnQubGVuZ3RoLT05fSx2LnByb3RvdHlwZS5pbXVsSz1mdW5jdGlvbih0KXt0LndvcmRzW3QubGVuZ3RoXT0wLHQud29yZHNbdC5sZW5ndGgrMV09MCx0Lmxlbmd0aCs9Mjtmb3IodmFyIGU9MCxyPTA7cjx0Lmxlbmd0aDtyKyspe3ZhciBuPTB8dC53b3Jkc1tyXTtlKz05Nzcqbix0LndvcmRzW3JdPTY3MTA4ODYzJmUsZT02NCpuKyhlLzY3MTA4ODY0fDApfXJldHVybiAwPT09dC53b3Jkc1t0Lmxlbmd0aC0xXSYmKHQubGVuZ3RoLS0sMD09PXQud29yZHNbdC5sZW5ndGgtMV0mJnQubGVuZ3RoLS0pLHR9LGkoZyx5KSxpKHcseSksaShfLHkpLF8ucHJvdG90eXBlLmltdWxLPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT0wLHI9MDtyPHQubGVuZ3RoO3IrKyl7dmFyIG49MTkqKDB8dC53b3Jkc1tyXSkrZSxpPTY3MTA4ODYzJm47bj4+Pj0yNix0LndvcmRzW3JdPWksZT1ufXJldHVybiAwIT09ZSYmKHQud29yZHNbdC5sZW5ndGgrK109ZSksdH0sby5fcHJpbWU9ZnVuY3Rpb24odCl7aWYobVt0XSlyZXR1cm4gbVt0XTt2YXIgZTtpZigiazI1NiI9PT10KWU9bmV3IHY7ZWxzZSBpZigicDIyNCI9PT10KWU9bmV3IGc7ZWxzZSBpZigicDE5MiI9PT10KWU9bmV3IHc7ZWxzZXtpZigicDI1NTE5IiE9PXQpdGhyb3cgbmV3IEVycm9yKCJVbmtub3duIHByaW1lICIrdCk7ZT1uZXcgX31yZXR1cm4gbVt0XT1lLGV9LE0ucHJvdG90eXBlLl92ZXJpZnkxPWZ1bmN0aW9uKHQpe24oMD09PXQubmVnYXRpdmUsInJlZCB3b3JrcyBvbmx5IHdpdGggcG9zaXRpdmVzIiksbih0LnJlZCwicmVkIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpfSxNLnByb3RvdHlwZS5fdmVyaWZ5Mj1mdW5jdGlvbih0LGUpe24oMD09KHQubmVnYXRpdmV8ZS5uZWdhdGl2ZSksInJlZCB3b3JrcyBvbmx5IHdpdGggcG9zaXRpdmVzIiksbih0LnJlZCYmdC5yZWQ9PT1lLnJlZCwicmVkIHdvcmtzIG9ubHkgd2l0aCByZWQgbnVtYmVycyIpfSxNLnByb3RvdHlwZS5pbW9kPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnByaW1lP3RoaXMucHJpbWUuaXJlZHVjZSh0KS5fZm9yY2VSZWQodGhpcyk6dC51bW9kKHRoaXMubSkuX2ZvcmNlUmVkKHRoaXMpfSxNLnByb3RvdHlwZS5uZWc9ZnVuY3Rpb24odCl7cmV0dXJuIHQuaXNaZXJvKCk/dC5jbG9uZSgpOnRoaXMubS5zdWIodCkuX2ZvcmNlUmVkKHRoaXMpfSxNLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24odCxlKXt0aGlzLl92ZXJpZnkyKHQsZSk7dmFyIHI9dC5hZGQoZSk7cmV0dXJuIHIuY21wKHRoaXMubSk+PTAmJnIuaXN1Yih0aGlzLm0pLHIuX2ZvcmNlUmVkKHRoaXMpfSxNLnByb3RvdHlwZS5pYWRkPWZ1bmN0aW9uKHQsZSl7dGhpcy5fdmVyaWZ5Mih0LGUpO3ZhciByPXQuaWFkZChlKTtyZXR1cm4gci5jbXAodGhpcy5tKT49MCYmci5pc3ViKHRoaXMubSkscn0sTS5wcm90b3R5cGUuc3ViPWZ1bmN0aW9uKHQsZSl7dGhpcy5fdmVyaWZ5Mih0LGUpO3ZhciByPXQuc3ViKGUpO3JldHVybiByLmNtcG4oMCk8MCYmci5pYWRkKHRoaXMubSksci5fZm9yY2VSZWQodGhpcyl9LE0ucHJvdG90eXBlLmlzdWI9ZnVuY3Rpb24odCxlKXt0aGlzLl92ZXJpZnkyKHQsZSk7dmFyIHI9dC5pc3ViKGUpO3JldHVybiByLmNtcG4oMCk8MCYmci5pYWRkKHRoaXMubSkscn0sTS5wcm90b3R5cGUuc2hsPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuX3ZlcmlmeTEodCksdGhpcy5pbW9kKHQudXNobG4oZSkpfSxNLnByb3RvdHlwZS5pbXVsPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuX3ZlcmlmeTIodCxlKSx0aGlzLmltb2QodC5pbXVsKGUpKX0sTS5wcm90b3R5cGUubXVsPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuX3ZlcmlmeTIodCxlKSx0aGlzLmltb2QodC5tdWwoZSkpfSxNLnByb3RvdHlwZS5pc3FyPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmltdWwodCx0LmNsb25lKCkpfSxNLnByb3RvdHlwZS5zcXI9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMubXVsKHQsdCl9LE0ucHJvdG90eXBlLnNxcnQ9ZnVuY3Rpb24odCl7aWYodC5pc1plcm8oKSlyZXR1cm4gdC5jbG9uZSgpO3ZhciBlPXRoaXMubS5hbmRsbigzKTtpZihuKGUlMj09MSksMz09PWUpe3ZhciByPXRoaXMubS5hZGQobmV3IG8oMSkpLml1c2hybigyKTtyZXR1cm4gdGhpcy5wb3codCxyKX1mb3IodmFyIGk9dGhpcy5tLnN1Ym4oMSksYT0wOyFpLmlzWmVybygpJiYwPT09aS5hbmRsbigxKTspYSsrLGkuaXVzaHJuKDEpO24oIWkuaXNaZXJvKCkpO3ZhciBzPW5ldyBvKDEpLnRvUmVkKHRoaXMpLHU9cy5yZWROZWcoKSxmPXRoaXMubS5zdWJuKDEpLml1c2hybigxKSxjPXRoaXMubS5iaXRMZW5ndGgoKTtmb3IoYz1uZXcgbygyKmMqYykudG9SZWQodGhpcyk7MCE9PXRoaXMucG93KGMsZikuY21wKHUpOyljLnJlZElBZGQodSk7Zm9yKHZhciBoPXRoaXMucG93KGMsaSksZD10aGlzLnBvdyh0LGkuYWRkbigxKS5pdXNocm4oMSkpLGw9dGhpcy5wb3codCxpKSxwPWE7MCE9PWwuY21wKHMpOyl7Zm9yKHZhciBiPWwsbT0wOzAhPT1iLmNtcChzKTttKyspYj1iLnJlZFNxcigpO24obTxwKTt2YXIgeT10aGlzLnBvdyhoLG5ldyBvKDEpLml1c2hsbihwLW0tMSkpO2Q9ZC5yZWRNdWwoeSksaD15LnJlZFNxcigpLGw9bC5yZWRNdWwoaCkscD1tfXJldHVybiBkfSxNLnByb3RvdHlwZS5pbnZtPWZ1bmN0aW9uKHQpe3ZhciBlPXQuX2ludm1wKHRoaXMubSk7cmV0dXJuIDAhPT1lLm5lZ2F0aXZlPyhlLm5lZ2F0aXZlPTAsdGhpcy5pbW9kKGUpLnJlZE5lZygpKTp0aGlzLmltb2QoZSl9LE0ucHJvdG90eXBlLnBvdz1mdW5jdGlvbih0LGUpe2lmKGUuaXNaZXJvKCkpcmV0dXJuIG5ldyBvKDEpLnRvUmVkKHRoaXMpO2lmKDA9PT1lLmNtcG4oMSkpcmV0dXJuIHQuY2xvbmUoKTt2YXIgcj1uZXcgQXJyYXkoMTYpO3JbMF09bmV3IG8oMSkudG9SZWQodGhpcyksclsxXT10O2Zvcih2YXIgbj0yO248ci5sZW5ndGg7bisrKXJbbl09dGhpcy5tdWwocltuLTFdLHQpO3ZhciBpPXJbMF0sYT0wLHM9MCx1PWUuYml0TGVuZ3RoKCklMjY7Zm9yKDA9PT11JiYodT0yNiksbj1lLmxlbmd0aC0xO24+PTA7bi0tKXtmb3IodmFyIGY9ZS53b3Jkc1tuXSxjPXUtMTtjPj0wO2MtLSl7dmFyIGg9Zj4+YyYxO2khPT1yWzBdJiYoaT10aGlzLnNxcihpKSksMCE9PWh8fDAhPT1hPyhhPDw9MSxhfD1oLCg0PT09KytzfHwwPT09biYmMD09PWMpJiYoaT10aGlzLm11bChpLHJbYV0pLHM9MCxhPTApKTpzPTB9dT0yNn1yZXR1cm4gaX0sTS5wcm90b3R5cGUuY29udmVydFRvPWZ1bmN0aW9uKHQpe3ZhciBlPXQudW1vZCh0aGlzLm0pO3JldHVybiBlPT09dD9lLmNsb25lKCk6ZX0sTS5wcm90b3R5cGUuY29udmVydEZyb209ZnVuY3Rpb24odCl7dmFyIGU9dC5jbG9uZSgpO3JldHVybiBlLnJlZD1udWxsLGV9LG8ubW9udD1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IHgodCl9LGkoeCxNKSx4LnByb3RvdHlwZS5jb252ZXJ0VG89ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuaW1vZCh0LnVzaGxuKHRoaXMuc2hpZnQpKX0seC5wcm90b3R5cGUuY29udmVydEZyb209ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5pbW9kKHQubXVsKHRoaXMucmludikpO3JldHVybiBlLnJlZD1udWxsLGV9LHgucHJvdG90eXBlLmltdWw9ZnVuY3Rpb24odCxlKXtpZih0LmlzWmVybygpfHxlLmlzWmVybygpKXJldHVybiB0LndvcmRzWzBdPTAsdC5sZW5ndGg9MSx0O3ZhciByPXQuaW11bChlKSxuPXIubWFza24odGhpcy5zaGlmdCkubXVsKHRoaXMubWludikuaW1hc2tuKHRoaXMuc2hpZnQpLm11bCh0aGlzLm0pLGk9ci5pc3ViKG4pLml1c2hybih0aGlzLnNoaWZ0KSxvPWk7cmV0dXJuIGkuY21wKHRoaXMubSk+PTA/bz1pLmlzdWIodGhpcy5tKTppLmNtcG4oMCk8MCYmKG89aS5pYWRkKHRoaXMubSkpLG8uX2ZvcmNlUmVkKHRoaXMpfSx4LnByb3RvdHlwZS5tdWw9ZnVuY3Rpb24odCxlKXtpZih0LmlzWmVybygpfHxlLmlzWmVybygpKXJldHVybiBuZXcgbygwKS5fZm9yY2VSZWQodGhpcyk7dmFyIHI9dC5tdWwoZSksbj1yLm1hc2tuKHRoaXMuc2hpZnQpLm11bCh0aGlzLm1pbnYpLmltYXNrbih0aGlzLnNoaWZ0KS5tdWwodGhpcy5tKSxpPXIuaXN1YihuKS5pdXNocm4odGhpcy5zaGlmdCksYT1pO3JldHVybiBpLmNtcCh0aGlzLm0pPj0wP2E9aS5pc3ViKHRoaXMubSk6aS5jbXBuKDApPDAmJihhPWkuaWFkZCh0aGlzLm0pKSxhLl9mb3JjZVJlZCh0aGlzKX0seC5wcm90b3R5cGUuaW52bT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5pbW9kKHQuX2ludm1wKHRoaXMubSkubXVsKHRoaXMucjIpKS5fZm9yY2VSZWQodGhpcyl9fSh2b2lkIDA9PT1lfHxlLHRoaXMpfSx7YnVmZmVyOjE3fV0sMjQxOltmdW5jdGlvbih0LGUscil7YXJndW1lbnRzWzRdWzE2XVswXS5hcHBseShyLGFyZ3VtZW50cyl9LHtjcnlwdG86MTcsZHVwOjE2fV0sMjQyOltmdW5jdGlvbih0LGUscil7YXJndW1lbnRzWzRdWzE4XVswXS5hcHBseShyLGFyZ3VtZW50cyl9LHtkdXA6MTgsInNhZmUtYnVmZmVyIjozNTB9XSwyNDM6W2Z1bmN0aW9uKHQsZSxyKXthcmd1bWVudHNbNF1bMTldWzBdLmFwcGx5KHIsYXJndW1lbnRzKX0seyIuL2FlcyI6MjQyLCIuL2doYXNoIjoyNDcsIi4vaW5jcjMyIjoyNDgsImJ1ZmZlci14b3IiOjI2OSwiY2lwaGVyLWJhc2UiOjI3MCxkdXA6MTksaW5oZXJpdHM6MzI1LCJzYWZlLWJ1ZmZlciI6MzUwfV0sMjQ0OltmdW5jdGlvbih0LGUscil7YXJndW1lbnRzWzRdWzIwXVswXS5hcHBseShyLGFyZ3VtZW50cyl9LHsiLi9kZWNyeXB0ZXIiOjI0NSwiLi9lbmNyeXB0ZXIiOjI0NiwiLi9tb2Rlcy9saXN0Lmpzb24iOjI1NixkdXA6MjB9XSwyNDU6W2Z1bmN0aW9uKHQsZSxyKXthcmd1bWVudHNbNF1bMjFdWzBdLmFwcGx5KHIsYXJndW1lbnRzKX0seyIuL2FlcyI6MjQyLCIuL2F1dGhDaXBoZXIiOjI0MywiLi9tb2RlcyI6MjU1LCIuL3N0cmVhbUNpcGhlciI6MjU4LCJjaXBoZXItYmFzZSI6MjcwLGR1cDoyMSxldnBfYnl0ZXN0b2tleTozMTAsaW5oZXJpdHM6MzI1LCJzYWZlLWJ1ZmZlciI6MzUwfV0sMjQ2OltmdW5jdGlvbih0LGUscil7YXJndW1lbnRzWzRdWzIyXVswXS5hcHBseShyLGFyZ3VtZW50cyl9LHsiLi9hZXMiOjI0MiwiLi9hdXRoQ2lwaGVyIjoyNDMsIi4vbW9kZXMiOjI1NSwiLi9zdHJlYW1DaXBoZXIiOjI1OCwiY2lwaGVyLWJhc2UiOjI3MCxkdXA6MjIsZXZwX2J5dGVzdG9rZXk6MzEwLGluaGVyaXRzOjMyNSwic2FmZS1idWZmZXIiOjM1MH1dLDI0NzpbZnVuY3Rpb24odCxlLHIpe2FyZ3VtZW50c1s0XVsyM11bMF0uYXBwbHkocixhcmd1bWVudHMpfSx7ZHVwOjIzLCJzYWZlLWJ1ZmZlciI6MzUwfV0sMjQ4OltmdW5jdGlvbih0LGUscil7YXJndW1lbnRzWzRdWzI0XVswXS5hcHBseShyLGFyZ3VtZW50cyl9LHtkdXA6MjR9XSwyNDk6W2Z1bmN0aW9uKHQsZSxyKXthcmd1bWVudHNbNF1bMjVdWzBdLmFwcGx5KHIsYXJndW1lbnRzKX0seyJidWZmZXIteG9yIjoyNjksZHVwOjI1fV0sMjUwOltmdW5jdGlvbih0LGUscil7YXJndW1lbnRzWzRdWzI2XVswXS5hcHBseShyLGFyZ3VtZW50cyl9LHsiYnVmZmVyLXhvciI6MjY5LGR1cDoyNiwic2FmZS1idWZmZXIiOjM1MH1dLDI1MTpbZnVuY3Rpb24odCxlLHIpe2FyZ3VtZW50c1s0XVsyN11bMF0uYXBwbHkocixhcmd1bWVudHMpfSx7ZHVwOjI3LCJzYWZlLWJ1ZmZlciI6MzUwfV0sMjUyOltmdW5jdGlvbih0LGUscil7YXJndW1lbnRzWzRdWzI4XVswXS5hcHBseShyLGFyZ3VtZW50cyl9LHtkdXA6MjgsInNhZmUtYnVmZmVyIjozNTB9XSwyNTM6W2Z1bmN0aW9uKHQsZSxyKXthcmd1bWVudHNbNF1bMjldWzBdLmFwcGx5KHIsYXJndW1lbnRzKX0seyIuLi9pbmNyMzIiOjI0OCwiYnVmZmVyLXhvciI6MjY5LGR1cDoyOSwic2FmZS1idWZmZXIiOjM1MH1dLDI1NDpbZnVuY3Rpb24odCxlLHIpe2FyZ3VtZW50c1s0XVszMF1bMF0uYXBwbHkocixhcmd1bWVudHMpfSx7ZHVwOjMwfV0sMjU1OltmdW5jdGlvbih0LGUscil7YXJndW1lbnRzWzRdWzMxXVswXS5hcHBseShyLGFyZ3VtZW50cyl9LHsiLi9jYmMiOjI0OSwiLi9jZmIiOjI1MCwiLi9jZmIxIjoyNTEsIi4vY2ZiOCI6MjUyLCIuL2N0ciI6MjUzLCIuL2VjYiI6MjU0LCIuL2xpc3QuanNvbiI6MjU2LCIuL29mYiI6MjU3LGR1cDozMX1dLDI1NjpbZnVuY3Rpb24odCxlLHIpe2FyZ3VtZW50c1s0XVszMl1bMF0uYXBwbHkocixhcmd1bWVudHMpfSx7ZHVwOjMyfV0sMjU3OltmdW5jdGlvbih0LGUscil7KGZ1bmN0aW9uKGUpe3ZhciBuPXQoImJ1ZmZlci14b3IiKTtyLmVuY3J5cHQ9ZnVuY3Rpb24odCxyKXtmb3IoO3QuX2NhY2hlLmxlbmd0aDxyLmxlbmd0aDspdC5fY2FjaGU9ZS5jb25jYXQoW3QuX2NhY2hlLChpPXQsaS5fcHJldj1pLl9jaXBoZXIuZW5jcnlwdEJsb2NrKGkuX3ByZXYpLGkuX3ByZXYpXSk7dmFyIGksbz10Ll9jYWNoZS5zbGljZSgwLHIubGVuZ3RoKTtyZXR1cm4gdC5fY2FjaGU9dC5fY2FjaGUuc2xpY2Uoci5sZW5ndGgpLG4ocixvKX19KS5jYWxsKHRoaXMsdCgiYnVmZmVyIikuQnVmZmVyKX0se2J1ZmZlcjo0NywiYnVmZmVyLXhvciI6MjY5fV0sMjU4OltmdW5jdGlvbih0LGUscil7YXJndW1lbnRzWzRdWzM0XVswXS5hcHBseShyLGFyZ3VtZW50cyl9LHsiLi9hZXMiOjI0MiwiY2lwaGVyLWJhc2UiOjI3MCxkdXA6MzQsaW5oZXJpdHM6MzI1LCJzYWZlLWJ1ZmZlciI6MzUwfV0sMjU5OltmdW5jdGlvbih0LGUscil7YXJndW1lbnRzWzRdWzM1XVswXS5hcHBseShyLGFyZ3VtZW50cyl9LHsiYnJvd3NlcmlmeS1hZXMvYnJvd3NlciI6MjQ0LCJicm93c2VyaWZ5LWFlcy9tb2RlcyI6MjU1LCJicm93c2VyaWZ5LWRlcyI6MjYwLCJicm93c2VyaWZ5LWRlcy9tb2RlcyI6MjYxLGR1cDozNSxldnBfYnl0ZXN0b2tleTozMTB9XSwyNjA6W2Z1bmN0aW9uKHQsZSxyKXsoZnVuY3Rpb24ocil7dmFyIG49dCgiY2lwaGVyLWJhc2UiKSxpPXQoImRlcy5qcyIpLG89dCgiaW5oZXJpdHMiKSxhPXsiZGVzLWVkZTMtY2JjIjppLkNCQy5pbnN0YW50aWF0ZShpLkVERSksImRlcy1lZGUzIjppLkVERSwiZGVzLWVkZS1jYmMiOmkuQ0JDLmluc3RhbnRpYXRlKGkuRURFKSwiZGVzLWVkZSI6aS5FREUsImRlcy1jYmMiOmkuQ0JDLmluc3RhbnRpYXRlKGkuREVTKSwiZGVzLWVjYiI6aS5ERVN9O2Z1bmN0aW9uIHModCl7bi5jYWxsKHRoaXMpO3ZhciBlLGk9dC5tb2RlLnRvTG93ZXJDYXNlKCksbz1hW2ldO2U9dC5kZWNyeXB0PyJkZWNyeXB0IjoiZW5jcnlwdCI7dmFyIHM9dC5rZXk7ImRlcy1lZGUiIT09aSYmImRlcy1lZGUtY2JjIiE9PWl8fChzPXIuY29uY2F0KFtzLHMuc2xpY2UoMCw4KV0pKTt2YXIgdT10Lml2O3RoaXMuX2Rlcz1vLmNyZWF0ZSh7a2V5OnMsaXY6dSx0eXBlOmV9KX1hLmRlcz1hWyJkZXMtY2JjIl0sYS5kZXMzPWFbImRlcy1lZGUzLWNiYyJdLGUuZXhwb3J0cz1zLG8ocyxuKSxzLnByb3RvdHlwZS5fdXBkYXRlPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgcih0aGlzLl9kZXMudXBkYXRlKHQpKX0scy5wcm90b3R5cGUuX2ZpbmFsPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyByKHRoaXMuX2Rlcy5maW5hbCgpKX19KS5jYWxsKHRoaXMsdCgiYnVmZmVyIikuQnVmZmVyKX0se2J1ZmZlcjo0NywiY2lwaGVyLWJhc2UiOjI3MCwiZGVzLmpzIjoyNzgsaW5oZXJpdHM6MzI1fV0sMjYxOltmdW5jdGlvbih0LGUscil7YXJndW1lbnRzWzRdWzM3XVswXS5hcHBseShyLGFyZ3VtZW50cyl9LHtkdXA6Mzd9XSwyNjI6W2Z1bmN0aW9uKHQsZSxyKXsoZnVuY3Rpb24ocil7dmFyIG49dCgiYm4uanMiKSxpPXQoInJhbmRvbWJ5dGVzIik7ZnVuY3Rpb24gbyh0LGUpe3ZhciBpLG8scz17YmxpbmRlcjoobz1hKGk9ZSkpLnRvUmVkKG4ubW9udChpLm1vZHVsdXMpKS5yZWRQb3cobmV3IG4oaS5wdWJsaWNFeHBvbmVudCkpLmZyb21SZWQoKSx1bmJsaW5kZXI6by5pbnZtKGkubW9kdWx1cyl9LHU9ZS5tb2R1bHVzLmJ5dGVMZW5ndGgoKSxmPShuLm1vbnQoZS5tb2R1bHVzKSxuZXcgbih0KS5tdWwocy5ibGluZGVyKS51bW9kKGUubW9kdWx1cykpLGM9Zi50b1JlZChuLm1vbnQoZS5wcmltZTEpKSxoPWYudG9SZWQobi5tb250KGUucHJpbWUyKSksZD1lLmNvZWZmaWNpZW50LGw9ZS5wcmltZTEscD1lLnByaW1lMixiPWMucmVkUG93KGUuZXhwb25lbnQxKSxtPWgucmVkUG93KGUuZXhwb25lbnQyKTtiPWIuZnJvbVJlZCgpLG09bS5mcm9tUmVkKCk7dmFyIHk9Yi5pc3ViKG0pLmltdWwoZCkudW1vZChsKTtyZXR1cm4geS5pbXVsKHApLG0uaWFkZCh5KSxuZXcgcihtLmltdWwocy51bmJsaW5kZXIpLnVtb2QoZS5tb2R1bHVzKS50b0FycmF5KCExLHUpKX1mdW5jdGlvbiBhKHQpe2Zvcih2YXIgZT10Lm1vZHVsdXMuYnl0ZUxlbmd0aCgpLHI9bmV3IG4oaShlKSk7ci5jbXAodC5tb2R1bHVzKT49MHx8IXIudW1vZCh0LnByaW1lMSl8fCFyLnVtb2QodC5wcmltZTIpOylyPW5ldyBuKGkoZSkpO3JldHVybiByfWUuZXhwb3J0cz1vLG8uZ2V0cj1hfSkuY2FsbCh0aGlzLHQoImJ1ZmZlciIpLkJ1ZmZlcil9LHsiYm4uanMiOjI0MCxidWZmZXI6NDcscmFuZG9tYnl0ZXM6MzQ3fV0sMjYzOltmdW5jdGlvbih0LGUscil7YXJndW1lbnRzWzRdWzM5XVswXS5hcHBseShyLGFyZ3VtZW50cyl9LHsiLi9icm93c2VyL2FsZ29yaXRobXMuanNvbiI6MjY0LGR1cDozOX1dLDI2NDpbZnVuY3Rpb24odCxlLHIpe2FyZ3VtZW50c1s0XVs0MF1bMF0uYXBwbHkocixhcmd1bWVudHMpfSx7ZHVwOjQwfV0sMjY1OltmdW5jdGlvbih0LGUscil7YXJndW1lbnRzWzRdWzQxXVswXS5hcHBseShyLGFyZ3VtZW50cyl9LHtkdXA6NDF9XSwyNjY6W2Z1bmN0aW9uKHQsZSxyKXsoZnVuY3Rpb24ocil7dmFyIG49dCgiY3JlYXRlLWhhc2giKSxpPXQoInN0cmVhbSIpLG89dCgiaW5oZXJpdHMiKSxhPXQoIi4vc2lnbiIpLHM9dCgiLi92ZXJpZnkiKSx1PXQoIi4vYWxnb3JpdGhtcy5qc29uIik7ZnVuY3Rpb24gZih0KXtpLldyaXRhYmxlLmNhbGwodGhpcyk7dmFyIGU9dVt0XTtpZighZSl0aHJvdyBuZXcgRXJyb3IoIlVua25vd24gbWVzc2FnZSBkaWdlc3QiKTt0aGlzLl9oYXNoVHlwZT1lLmhhc2gsdGhpcy5faGFzaD1uKGUuaGFzaCksdGhpcy5fdGFnPWUuaWQsdGhpcy5fc2lnblR5cGU9ZS5zaWdufWZ1bmN0aW9uIGModCl7aS5Xcml0YWJsZS5jYWxsKHRoaXMpO3ZhciBlPXVbdF07aWYoIWUpdGhyb3cgbmV3IEVycm9yKCJVbmtub3duIG1lc3NhZ2UgZGlnZXN0Iik7dGhpcy5faGFzaD1uKGUuaGFzaCksdGhpcy5fdGFnPWUuaWQsdGhpcy5fc2lnblR5cGU9ZS5zaWdufWZ1bmN0aW9uIGgodCl7cmV0dXJuIG5ldyBmKHQpfWZ1bmN0aW9uIGQodCl7cmV0dXJuIG5ldyBjKHQpfU9iamVjdC5rZXlzKHUpLmZvckVhY2goZnVuY3Rpb24odCl7dVt0XS5pZD1uZXcgcih1W3RdLmlkLCJoZXgiKSx1W3QudG9Mb3dlckNhc2UoKV09dVt0XX0pLG8oZixpLldyaXRhYmxlKSxmLnByb3RvdHlwZS5fd3JpdGU9ZnVuY3Rpb24odCxlLHIpe3RoaXMuX2hhc2gudXBkYXRlKHQpLHIoKX0sZi5wcm90b3R5cGUudXBkYXRlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0JiYodD1uZXcgcih0LGUpKSx0aGlzLl9oYXNoLnVwZGF0ZSh0KSx0aGlzfSxmLnByb3RvdHlwZS5zaWduPWZ1bmN0aW9uKHQsZSl7dGhpcy5lbmQoKTt2YXIgcj10aGlzLl9oYXNoLmRpZ2VzdCgpLG49YShyLHQsdGhpcy5faGFzaFR5cGUsdGhpcy5fc2lnblR5cGUsdGhpcy5fdGFnKTtyZXR1cm4gZT9uLnRvU3RyaW5nKGUpOm59LG8oYyxpLldyaXRhYmxlKSxjLnByb3RvdHlwZS5fd3JpdGU9ZnVuY3Rpb24odCxlLHIpe3RoaXMuX2hhc2gudXBkYXRlKHQpLHIoKX0sYy5wcm90b3R5cGUudXBkYXRlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiB0JiYodD1uZXcgcih0LGUpKSx0aGlzLl9oYXNoLnVwZGF0ZSh0KSx0aGlzfSxjLnByb3RvdHlwZS52ZXJpZnk9ZnVuY3Rpb24odCxlLG4peyJzdHJpbmciPT10eXBlb2YgZSYmKGU9bmV3IHIoZSxuKSksdGhpcy5lbmQoKTt2YXIgaT10aGlzLl9oYXNoLmRpZ2VzdCgpO3JldHVybiBzKGUsaSx0LHRoaXMuX3NpZ25UeXBlLHRoaXMuX3RhZyl9LGUuZXhwb3J0cz17U2lnbjpoLFZlcmlmeTpkLGNyZWF0ZVNpZ246aCxjcmVhdGVWZXJpZnk6ZH19KS5jYWxsKHRoaXMsdCgiYnVmZmVyIikuQnVmZmVyKX0seyIuL2FsZ29yaXRobXMuanNvbiI6MjY0LCIuL3NpZ24iOjI2NywiLi92ZXJpZnkiOjI2OCxidWZmZXI6NDcsImNyZWF0ZS1oYXNoIjoyNzIsaW5oZXJpdHM6MzI1LHN0cmVhbToxNTZ9XSwyNjc6W2Z1bmN0aW9uKHQsZSxyKXsoZnVuY3Rpb24ocil7dmFyIG49dCgiY3JlYXRlLWhtYWMiKSxpPXQoImJyb3dzZXJpZnktcnNhIiksbz10KCJlbGxpcHRpYyIpLmVjLGE9dCgiYm4uanMiKSxzPXQoInBhcnNlLWFzbjEiKSx1PXQoIi4vY3VydmVzLmpzb24iKTtmdW5jdGlvbiBmKHQsZSxpLG8pe2lmKCh0PW5ldyByKHQudG9BcnJheSgpKSkubGVuZ3RoPGUuYnl0ZUxlbmd0aCgpKXt2YXIgYT1uZXcgcihlLmJ5dGVMZW5ndGgoKS10Lmxlbmd0aCk7YS5maWxsKDApLHQ9ci5jb25jYXQoW2EsdF0pfXZhciBzPWkubGVuZ3RoLHU9ZnVuY3Rpb24odCxlKXt0PSh0PWModCxlKSkubW9kKGUpO3ZhciBuPW5ldyByKHQudG9BcnJheSgpKTtpZihuLmxlbmd0aDxlLmJ5dGVMZW5ndGgoKSl7dmFyIGk9bmV3IHIoZS5ieXRlTGVuZ3RoKCktbi5sZW5ndGgpO2kuZmlsbCgwKSxuPXIuY29uY2F0KFtpLG5dKX1yZXR1cm4gbn0oaSxlKSxmPW5ldyByKHMpO2YuZmlsbCgxKTt2YXIgaD1uZXcgcihzKTtyZXR1cm4gaC5maWxsKDApLGg9bihvLGgpLnVwZGF0ZShmKS51cGRhdGUobmV3IHIoWzBdKSkudXBkYXRlKHQpLnVwZGF0ZSh1KS5kaWdlc3QoKSxmPW4obyxoKS51cGRhdGUoZikuZGlnZXN0KCkse2s6aD1uKG8saCkudXBkYXRlKGYpLnVwZGF0ZShuZXcgcihbMV0pKS51cGRhdGUodCkudXBkYXRlKHUpLmRpZ2VzdCgpLHY6Zj1uKG8saCkudXBkYXRlKGYpLmRpZ2VzdCgpfX1mdW5jdGlvbiBjKHQsZSl7dmFyIHI9bmV3IGEodCksbj0odC5sZW5ndGg8PDMpLWUuYml0TGVuZ3RoKCk7cmV0dXJuIG4+MCYmci5pc2hybihuKSxyfWZ1bmN0aW9uIGgodCxlLGkpe3ZhciBvLGE7ZG97Zm9yKG89bmV3IHIoMCk7OCpvLmxlbmd0aDx0LmJpdExlbmd0aCgpOyllLnY9bihpLGUuaykudXBkYXRlKGUudikuZGlnZXN0KCksbz1yLmNvbmNhdChbbyxlLnZdKTthPWMobyx0KSxlLms9bihpLGUuaykudXBkYXRlKGUudikudXBkYXRlKG5ldyByKFswXSkpLmRpZ2VzdCgpLGUudj1uKGksZS5rKS51cGRhdGUoZS52KS5kaWdlc3QoKX13aGlsZSgtMSE9PWEuY21wKHQpKTtyZXR1cm4gYX1lLmV4cG9ydHM9ZnVuY3Rpb24odCxlLG4sZCxsKXt2YXIgcD1zKGUpO2lmKHAuY3VydmUpe2lmKCJlY2RzYSIhPT1kJiYiZWNkc2EvcnNhIiE9PWQpdGhyb3cgbmV3IEVycm9yKCJ3cm9uZyBwcml2YXRlIGtleSB0eXBlIik7cmV0dXJuIGZ1bmN0aW9uKHQsZSl7dmFyIG49dVtlLmN1cnZlLmpvaW4oIi4iKV07aWYoIW4pdGhyb3cgbmV3IEVycm9yKCJ1bmtub3duIGN1cnZlICIrZS5jdXJ2ZS5qb2luKCIuIikpO3ZhciBpPW5ldyBvKG4pLmtleUZyb21Qcml2YXRlKGUucHJpdmF0ZUtleSkuc2lnbih0KTtyZXR1cm4gbmV3IHIoaS50b0RFUigpKX0odCxwKX1pZigiZHNhIj09PXAudHlwZSl7aWYoImRzYSIhPT1kKXRocm93IG5ldyBFcnJvcigid3JvbmcgcHJpdmF0ZSBrZXkgdHlwZSIpO3JldHVybiBmdW5jdGlvbih0LGUsbil7Zm9yKHZhciBpLG8scyx1LGQ9ZS5wYXJhbXMucHJpdl9rZXksbD1lLnBhcmFtcy5wLHA9ZS5wYXJhbXMucSxiPWUucGFyYW1zLmcsbT1uZXcgYSgwKSx5PWModCxwKS5tb2QocCksdj0hMSxnPWYoZCxwLHQsbik7ITE9PT12OylpPWgocCxnLG4pLG89aSxzPWwsdT1wLG09Yi50b1JlZChhLm1vbnQocykpLnJlZFBvdyhvKS5mcm9tUmVkKCkubW9kKHUpLDA9PT0odj1pLmludm0ocCkuaW11bCh5LmFkZChkLm11bChtKSkpLm1vZChwKSkuY21wbigwKSYmKHY9ITEsbT1uZXcgYSgwKSk7cmV0dXJuIGZ1bmN0aW9uKHQsZSl7dD10LnRvQXJyYXkoKSxlPWUudG9BcnJheSgpLDEyOCZ0WzBdJiYodD1bMF0uY29uY2F0KHQpKSwxMjgmZVswXSYmKGU9WzBdLmNvbmNhdChlKSk7dmFyIG49WzQ4LHQubGVuZ3RoK2UubGVuZ3RoKzQsMix0Lmxlbmd0aF07cmV0dXJuIG49bi5jb25jYXQodCxbMixlLmxlbmd0aF0sZSksbmV3IHIobil9KG0sdil9KHQscCxuKX1pZigicnNhIiE9PWQmJiJlY2RzYS9yc2EiIT09ZCl0aHJvdyBuZXcgRXJyb3IoIndyb25nIHByaXZhdGUga2V5IHR5cGUiKTt0PXIuY29uY2F0KFtsLHRdKTtmb3IodmFyIGI9cC5tb2R1bHVzLmJ5dGVMZW5ndGgoKSxtPVswLDFdO3QubGVuZ3RoK20ubGVuZ3RoKzE8YjspbS5wdXNoKDI1NSk7bS5wdXNoKDApO2Zvcih2YXIgeT0tMTsrK3k8dC5sZW5ndGg7KW0ucHVzaCh0W3ldKTtyZXR1cm4gaShtLHApfSxlLmV4cG9ydHMuZ2V0S2V5PWYsZS5leHBvcnRzLm1ha2VLZXk9aH0pLmNhbGwodGhpcyx0KCJidWZmZXIiKS5CdWZmZXIpfSx7Ii4vY3VydmVzLmpzb24iOjI2NSwiYm4uanMiOjI0MCwiYnJvd3NlcmlmeS1yc2EiOjI2MixidWZmZXI6NDcsImNyZWF0ZS1obWFjIjoyNzUsZWxsaXB0aWM6Mjg4LCJwYXJzZS1hc24xIjozMzV9XSwyNjg6W2Z1bmN0aW9uKHQsZSxyKXsoZnVuY3Rpb24ocil7dmFyIG49dCgiYm4uanMiKSxpPXQoImVsbGlwdGljIikuZWMsbz10KCJwYXJzZS1hc24xIiksYT10KCIuL2N1cnZlcy5qc29uIik7ZnVuY3Rpb24gcyh0LGUpe2lmKHQuY21wbigwKTw9MCl0aHJvdyBuZXcgRXJyb3IoImludmFsaWQgc2lnIik7aWYodC5jbXAoZSk+PWUpdGhyb3cgbmV3IEVycm9yKCJpbnZhbGlkIHNpZyIpfWUuZXhwb3J0cz1mdW5jdGlvbih0LGUsdSxmLGMpe3ZhciBoPW8odSk7aWYoImVjIj09PWgudHlwZSl7aWYoImVjZHNhIiE9PWYmJiJlY2RzYS9yc2EiIT09Zil0aHJvdyBuZXcgRXJyb3IoIndyb25nIHB1YmxpYyBrZXkgdHlwZSIpO3JldHVybiBmdW5jdGlvbih0LGUscil7dmFyIG49YVtyLmRhdGEuYWxnb3JpdGhtLmN1cnZlLmpvaW4oIi4iKV07aWYoIW4pdGhyb3cgbmV3IEVycm9yKCJ1bmtub3duIGN1cnZlICIrci5kYXRhLmFsZ29yaXRobS5jdXJ2ZS5qb2luKCIuIikpO3ZhciBvPW5ldyBpKG4pLHM9ci5kYXRhLnN1YmplY3RQcml2YXRlS2V5LmRhdGE7cmV0dXJuIG8udmVyaWZ5KGUsdCxzKX0odCxlLGgpfWlmKCJkc2EiPT09aC50eXBlKXtpZigiZHNhIiE9PWYpdGhyb3cgbmV3IEVycm9yKCJ3cm9uZyBwdWJsaWMga2V5IHR5cGUiKTtyZXR1cm4gZnVuY3Rpb24odCxlLHIpe3ZhciBpPXIuZGF0YS5wLGE9ci5kYXRhLnEsdT1yLmRhdGEuZyxmPXIuZGF0YS5wdWJfa2V5LGM9by5zaWduYXR1cmUuZGVjb2RlKHQsImRlciIpLGg9Yy5zLGQ9Yy5yO3MoaCxhKSxzKGQsYSk7dmFyIGw9bi5tb250KGkpLHA9aC5pbnZtKGEpO3JldHVybiAwPT09dS50b1JlZChsKS5yZWRQb3cobmV3IG4oZSkubXVsKHApLm1vZChhKSkuZnJvbVJlZCgpLm11bChmLnRvUmVkKGwpLnJlZFBvdyhkLm11bChwKS5tb2QoYSkpLmZyb21SZWQoKSkubW9kKGkpLm1vZChhKS5jbXAoZCl9KHQsZSxoKX1pZigicnNhIiE9PWYmJiJlY2RzYS9yc2EiIT09Zil0aHJvdyBuZXcgRXJyb3IoIndyb25nIHB1YmxpYyBrZXkgdHlwZSIpO2U9ci5jb25jYXQoW2MsZV0pO2Zvcih2YXIgZD1oLm1vZHVsdXMuYnl0ZUxlbmd0aCgpLGw9WzFdLHA9MDtlLmxlbmd0aCtsLmxlbmd0aCsyPGQ7KWwucHVzaCgyNTUpLHArKztsLnB1c2goMCk7Zm9yKHZhciBiPS0xOysrYjxlLmxlbmd0aDspbC5wdXNoKGVbYl0pO2w9bmV3IHIobCk7dmFyIG09bi5tb250KGgubW9kdWx1cyk7dD0odD1uZXcgbih0KS50b1JlZChtKSkucmVkUG93KG5ldyBuKGgucHVibGljRXhwb25lbnQpKSx0PW5ldyByKHQuZnJvbVJlZCgpLnRvQXJyYXkoKSk7dmFyIHk9cDw4PzE6MDtmb3IoZD1NYXRoLm1pbih0Lmxlbmd0aCxsLmxlbmd0aCksdC5sZW5ndGghPT1sLmxlbmd0aCYmKHk9MSksYj0tMTsrK2I8ZDspeXw9dFtiXV5sW2JdO3JldHVybiAwPT09eX19KS5jYWxsKHRoaXMsdCgiYnVmZmVyIikuQnVmZmVyKX0seyIuL2N1cnZlcy5qc29uIjoyNjUsImJuLmpzIjoyNDAsYnVmZmVyOjQ3LGVsbGlwdGljOjI4OCwicGFyc2UtYXNuMSI6MzM1fV0sMjY5OltmdW5jdGlvbih0LGUscil7KGZ1bmN0aW9uKHQpe2UuZXhwb3J0cz1mdW5jdGlvbihlLHIpe2Zvcih2YXIgbj1NYXRoLm1pbihlLmxlbmd0aCxyLmxlbmd0aCksaT1uZXcgdChuKSxvPTA7bzxuOysrbylpW29dPWVbb11ecltvXTtyZXR1cm4gaX19KS5jYWxsKHRoaXMsdCgiYnVmZmVyIikuQnVmZmVyKX0se2J1ZmZlcjo0N31dLDI3MDpbZnVuY3Rpb24odCxlLHIpe2FyZ3VtZW50c1s0XVs0OF1bMF0uYXBwbHkocixhcmd1bWVudHMpfSx7ZHVwOjQ4LGluaGVyaXRzOjMyNSwic2FmZS1idWZmZXIiOjM1MCxzdHJlYW06MTU2LHN0cmluZ19kZWNvZGVyOjE1N31dLDI3MTpbZnVuY3Rpb24odCxlLHIpeyhmdW5jdGlvbihyKXt2YXIgbj10KCJlbGxpcHRpYyIpLGk9dCgiYm4uanMiKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBhKHQpfTt2YXIgbz17c2VjcDI1NmsxOntuYW1lOiJzZWNwMjU2azEiLGJ5dGVMZW5ndGg6MzJ9LHNlY3AyMjRyMTp7bmFtZToicDIyNCIsYnl0ZUxlbmd0aDoyOH0scHJpbWUyNTZ2MTp7bmFtZToicDI1NiIsYnl0ZUxlbmd0aDozMn0scHJpbWUxOTJ2MTp7bmFtZToicDE5MiIsYnl0ZUxlbmd0aDoyNH0sZWQyNTUxOTp7bmFtZToiZWQyNTUxOSIsYnl0ZUxlbmd0aDozMn0sc2VjcDM4NHIxOntuYW1lOiJwMzg0IixieXRlTGVuZ3RoOjQ4fSxzZWNwNTIxcjE6e25hbWU6InA1MjEiLGJ5dGVMZW5ndGg6NjZ9fTtmdW5jdGlvbiBhKHQpe3RoaXMuY3VydmVUeXBlPW9bdF0sdGhpcy5jdXJ2ZVR5cGV8fCh0aGlzLmN1cnZlVHlwZT17bmFtZTp0fSksdGhpcy5jdXJ2ZT1uZXcgbi5lYyh0aGlzLmN1cnZlVHlwZS5uYW1lKSx0aGlzLmtleXM9dm9pZCAwfWZ1bmN0aW9uIHModCxlLG4pe0FycmF5LmlzQXJyYXkodCl8fCh0PXQudG9BcnJheSgpKTt2YXIgaT1uZXcgcih0KTtpZihuJiZpLmxlbmd0aDxuKXt2YXIgbz1uZXcgcihuLWkubGVuZ3RoKTtvLmZpbGwoMCksaT1yLmNvbmNhdChbbyxpXSl9cmV0dXJuIGU/aS50b1N0cmluZyhlKTppfW8ucDIyND1vLnNlY3AyMjRyMSxvLnAyNTY9by5zZWNwMjU2cjE9by5wcmltZTI1NnYxLG8ucDE5Mj1vLnNlY3AxOTJyMT1vLnByaW1lMTkydjEsby5wMzg0PW8uc2VjcDM4NHIxLG8ucDUyMT1vLnNlY3A1MjFyMSxhLnByb3RvdHlwZS5nZW5lcmF0ZUtleXM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5rZXlzPXRoaXMuY3VydmUuZ2VuS2V5UGFpcigpLHRoaXMuZ2V0UHVibGljS2V5KHQsZSl9LGEucHJvdG90eXBlLmNvbXB1dGVTZWNyZXQ9ZnVuY3Rpb24odCxlLG4pe3JldHVybiBlPWV8fCJ1dGY4IixyLmlzQnVmZmVyKHQpfHwodD1uZXcgcih0LGUpKSxzKHRoaXMuY3VydmUua2V5RnJvbVB1YmxpYyh0KS5nZXRQdWJsaWMoKS5tdWwodGhpcy5rZXlzLmdldFByaXZhdGUoKSkuZ2V0WCgpLG4sdGhpcy5jdXJ2ZVR5cGUuYnl0ZUxlbmd0aCl9LGEucHJvdG90eXBlLmdldFB1YmxpY0tleT1mdW5jdGlvbih0LGUpe3ZhciByPXRoaXMua2V5cy5nZXRQdWJsaWMoImNvbXByZXNzZWQiPT09ZSwhMCk7cmV0dXJuImh5YnJpZCI9PT1lJiYocltyLmxlbmd0aC0xXSUyP3JbMF09NzpyWzBdPTYpLHMocix0KX0sYS5wcm90b3R5cGUuZ2V0UHJpdmF0ZUtleT1mdW5jdGlvbih0KXtyZXR1cm4gcyh0aGlzLmtleXMuZ2V0UHJpdmF0ZSgpLHQpfSxhLnByb3RvdHlwZS5zZXRQdWJsaWNLZXk9ZnVuY3Rpb24odCxlKXtyZXR1cm4gZT1lfHwidXRmOCIsci5pc0J1ZmZlcih0KXx8KHQ9bmV3IHIodCxlKSksdGhpcy5rZXlzLl9pbXBvcnRQdWJsaWModCksdGhpc30sYS5wcm90b3R5cGUuc2V0UHJpdmF0ZUtleT1mdW5jdGlvbih0LGUpe2U9ZXx8InV0ZjgiLHIuaXNCdWZmZXIodCl8fCh0PW5ldyByKHQsZSkpO3ZhciBuPW5ldyBpKHQpO3JldHVybiBuPW4udG9TdHJpbmcoMTYpLHRoaXMua2V5cy5faW1wb3J0UHJpdmF0ZShuKSx0aGlzfX0pLmNhbGwodGhpcyx0KCJidWZmZXIiKS5CdWZmZXIpfSx7ImJuLmpzIjoyNDAsYnVmZmVyOjQ3LGVsbGlwdGljOjI4OH1dLDI3MjpbZnVuY3Rpb24odCxlLHIpeyhmdW5jdGlvbihyKXt2YXIgbj10KCJpbmhlcml0cyIpLGk9dCgiLi9tZDUiKSxvPXQoInJpcGVtZDE2MCIpLGE9dCgic2hhLmpzIikscz10KCJjaXBoZXItYmFzZSIpO2Z1bmN0aW9uIHUodCl7cy5jYWxsKHRoaXMsImRpZ2VzdCIpLHRoaXMuX2hhc2g9dCx0aGlzLmJ1ZmZlcnM9W119ZnVuY3Rpb24gZih0KXtzLmNhbGwodGhpcywiZGlnZXN0IiksdGhpcy5faGFzaD10fW4odSxzKSx1LnByb3RvdHlwZS5fdXBkYXRlPWZ1bmN0aW9uKHQpe3RoaXMuYnVmZmVycy5wdXNoKHQpfSx1LnByb3RvdHlwZS5fZmluYWw9ZnVuY3Rpb24oKXt2YXIgdD1yLmNvbmNhdCh0aGlzLmJ1ZmZlcnMpLGU9dGhpcy5faGFzaCh0KTtyZXR1cm4gdGhpcy5idWZmZXJzPW51bGwsZX0sbihmLHMpLGYucHJvdG90eXBlLl91cGRhdGU9ZnVuY3Rpb24odCl7dGhpcy5faGFzaC51cGRhdGUodCl9LGYucHJvdG90eXBlLl9maW5hbD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9oYXNoLmRpZ2VzdCgpfSxlLmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIm1kNSI9PT0odD10LnRvTG93ZXJDYXNlKCkpP25ldyB1KGkpOm5ldyBmKCJybWQxNjAiPT09dHx8InJpcGVtZDE2MCI9PT10P25ldyBvOmEodCkpfX0pLmNhbGwodGhpcyx0KCJidWZmZXIiKS5CdWZmZXIpfSx7Ii4vbWQ1IjoyNzQsYnVmZmVyOjQ3LCJjaXBoZXItYmFzZSI6MjcwLGluaGVyaXRzOjMyNSxyaXBlbWQxNjA6MzQ5LCJzaGEuanMiOjM1NH1dLDI3MzpbZnVuY3Rpb24odCxlLHIpeyhmdW5jdGlvbih0KXt2YXIgcj00LG49bmV3IHQocik7bi5maWxsKDApO2UuZXhwb3J0cz1mdW5jdGlvbihlLGkpe3ZhciBvPWkoZnVuY3Rpb24oZSl7aWYoZS5sZW5ndGglciE9MCl7dmFyIGk9ZS5sZW5ndGgrKHItZS5sZW5ndGglcik7ZT10LmNvbmNhdChbZSxuXSxpKX1mb3IodmFyIG89bmV3IEFycmF5KGUubGVuZ3RoPj4+MiksYT0wLHM9MDthPGUubGVuZ3RoO2ErPXIscysrKW9bc109ZS5yZWFkSW50MzJMRShhKTtyZXR1cm4gb30oZSksOCplLmxlbmd0aCk7ZT1uZXcgdCgxNik7Zm9yKHZhciBhPTA7YTxvLmxlbmd0aDthKyspZS53cml0ZUludDMyTEUob1thXSxhPDwyLCEwKTtyZXR1cm4gZX19KS5jYWxsKHRoaXMsdCgiYnVmZmVyIikuQnVmZmVyKX0se2J1ZmZlcjo0N31dLDI3NDpbZnVuY3Rpb24odCxlLHIpe2FyZ3VtZW50c1s0XVs1M11bMF0uYXBwbHkocixhcmd1bWVudHMpfSx7Ii4vbWFrZS1oYXNoIjoyNzMsZHVwOjUzfV0sMjc1OltmdW5jdGlvbih0LGUscil7YXJndW1lbnRzWzRdWzU0XVswXS5hcHBseShyLGFyZ3VtZW50cyl9LHsiLi9sZWdhY3kiOjI3NiwiY2lwaGVyLWJhc2UiOjI3MCwiY3JlYXRlLWhhc2gvbWQ1IjoyNzQsZHVwOjU0LGluaGVyaXRzOjMyNSxyaXBlbWQxNjA6MzQ5LCJzYWZlLWJ1ZmZlciI6MzUwLCJzaGEuanMiOjM1NH1dLDI3NjpbZnVuY3Rpb24odCxlLHIpe2FyZ3VtZW50c1s0XVs1NV1bMF0uYXBwbHkocixhcmd1bWVudHMpfSx7ImNpcGhlci1iYXNlIjoyNzAsZHVwOjU1LGluaGVyaXRzOjMyNSwic2FmZS1idWZmZXIiOjM1MH1dLDI3NzpbZnVuY3Rpb24odCxlLHIpe2FyZ3VtZW50c1s0XVs1Nl1bMF0uYXBwbHkocixhcmd1bWVudHMpfSx7ImJyb3dzZXJpZnktY2lwaGVyIjoyNTksImJyb3dzZXJpZnktc2lnbiI6MjY2LCJicm93c2VyaWZ5LXNpZ24vYWxnb3MiOjI2MywiY3JlYXRlLWVjZGgiOjI3MSwiY3JlYXRlLWhhc2giOjI3MiwiY3JlYXRlLWhtYWMiOjI3NSwiZGlmZmllLWhlbGxtYW4iOjI4NCxkdXA6NTYscGJrZGYyOjMzNiwicHVibGljLWVuY3J5cHQiOjM0MSxyYW5kb21ieXRlczozNDcscmFuZG9tZmlsbDozNDh9XSwyNzg6W2Z1bmN0aW9uKHQsZSxyKXthcmd1bWVudHNbNF1bNTddWzBdLmFwcGx5KHIsYXJndW1lbnRzKX0seyIuL2Rlcy9jYmMiOjI3OSwiLi9kZXMvY2lwaGVyIjoyODAsIi4vZGVzL2RlcyI6MjgxLCIuL2Rlcy9lZGUiOjI4MiwiLi9kZXMvdXRpbHMiOjI4MyxkdXA6NTd9XSwyNzk6W2Z1bmN0aW9uKHQsZSxyKXthcmd1bWVudHNbNF1bNThdWzBdLmFwcGx5KHIsYXJndW1lbnRzKX0se2R1cDo1OCxpbmhlcml0czozMjUsIm1pbmltYWxpc3RpYy1hc3NlcnQiOjMyOX1dLDI4MDpbZnVuY3Rpb24odCxlLHIpe2FyZ3VtZW50c1s0XVs1OV1bMF0uYXBwbHkocixhcmd1bWVudHMpfSx7ZHVwOjU5LCJtaW5pbWFsaXN0aWMtYXNzZXJ0IjozMjl9XSwyODE6W2Z1bmN0aW9uKHQsZSxyKXthcmd1bWVudHNbNF1bNjBdWzBdLmFwcGx5KHIsYXJndW1lbnRzKX0seyIuLi9kZXMiOjI3OCxkdXA6NjAsaW5oZXJpdHM6MzI1LCJtaW5pbWFsaXN0aWMtYXNzZXJ0IjozMjl9XSwyODI6W2Z1bmN0aW9uKHQsZSxyKXthcmd1bWVudHNbNF1bNjFdWzBdLmFwcGx5KHIsYXJndW1lbnRzKX0seyIuLi9kZXMiOjI3OCxkdXA6NjEsaW5oZXJpdHM6MzI1LCJtaW5pbWFsaXN0aWMtYXNzZXJ0IjozMjl9XSwyODM6W2Z1bmN0aW9uKHQsZSxyKXthcmd1bWVudHNbNF1bNjJdWzBdLmFwcGx5KHIsYXJndW1lbnRzKX0se2R1cDo2Mn1dLDI4NDpbZnVuY3Rpb24odCxlLHIpeyhmdW5jdGlvbihlKXt2YXIgbj10KCIuL2xpYi9nZW5lcmF0ZVByaW1lIiksaT10KCIuL2xpYi9wcmltZXMuanNvbiIpLG89dCgiLi9saWIvZGgiKTt2YXIgYT17YmluYXJ5OiEwLGhleDohMCxiYXNlNjQ6ITB9O3IuRGlmZmllSGVsbG1hbkdyb3VwPXIuY3JlYXRlRGlmZmllSGVsbG1hbkdyb3VwPXIuZ2V0RGlmZmllSGVsbG1hbj1mdW5jdGlvbih0KXt2YXIgcj1uZXcgZShpW3RdLnByaW1lLCJoZXgiKSxuPW5ldyBlKGlbdF0uZ2VuLCJoZXgiKTtyZXR1cm4gbmV3IG8ocixuKX0sci5jcmVhdGVEaWZmaWVIZWxsbWFuPXIuRGlmZmllSGVsbG1hbj1mdW5jdGlvbiB0KHIsaSxzLHUpe3JldHVybiBlLmlzQnVmZmVyKGkpfHx2b2lkIDA9PT1hW2ldP3QociwiYmluYXJ5IixpLHMpOihpPWl8fCJiaW5hcnkiLHU9dXx8ImJpbmFyeSIscz1zfHxuZXcgZShbMl0pLGUuaXNCdWZmZXIocyl8fChzPW5ldyBlKHMsdSkpLCJudW1iZXIiPT10eXBlb2Ygcj9uZXcgbyhuKHIscykscywhMCk6KGUuaXNCdWZmZXIocil8fChyPW5ldyBlKHIsaSkpLG5ldyBvKHIscywhMCkpKX19KS5jYWxsKHRoaXMsdCgiYnVmZmVyIikuQnVmZmVyKX0seyIuL2xpYi9kaCI6Mjg1LCIuL2xpYi9nZW5lcmF0ZVByaW1lIjoyODYsIi4vbGliL3ByaW1lcy5qc29uIjoyODcsYnVmZmVyOjQ3fV0sMjg1OltmdW5jdGlvbih0LGUscil7KGZ1bmN0aW9uKHIpe3ZhciBuPXQoImJuLmpzIiksaT1uZXcodCgibWlsbGVyLXJhYmluIikpLG89bmV3IG4oMjQpLGE9bmV3IG4oMTEpLHM9bmV3IG4oMTApLHU9bmV3IG4oMyksZj1uZXcgbig3KSxjPXQoIi4vZ2VuZXJhdGVQcmltZSIpLGg9dCgicmFuZG9tYnl0ZXMiKTtmdW5jdGlvbiBkKHQsZSl7cmV0dXJuIGU9ZXx8InV0ZjgiLHIuaXNCdWZmZXIodCl8fCh0PW5ldyByKHQsZSkpLHRoaXMuX3B1Yj1uZXcgbih0KSx0aGlzfWZ1bmN0aW9uIGwodCxlKXtyZXR1cm4gZT1lfHwidXRmOCIsci5pc0J1ZmZlcih0KXx8KHQ9bmV3IHIodCxlKSksdGhpcy5fcHJpdj1uZXcgbih0KSx0aGlzfWUuZXhwb3J0cz1iO3ZhciBwPXt9O2Z1bmN0aW9uIGIodCxlLHIpe3RoaXMuc2V0R2VuZXJhdG9yKGUpLHRoaXMuX19wcmltZT1uZXcgbih0KSx0aGlzLl9wcmltZT1uLm1vbnQodGhpcy5fX3ByaW1lKSx0aGlzLl9wcmltZUxlbj10Lmxlbmd0aCx0aGlzLl9wdWI9dm9pZCAwLHRoaXMuX3ByaXY9dm9pZCAwLHRoaXMuX3ByaW1lQ29kZT12b2lkIDAscj8odGhpcy5zZXRQdWJsaWNLZXk9ZCx0aGlzLnNldFByaXZhdGVLZXk9bCk6dGhpcy5fcHJpbWVDb2RlPTh9ZnVuY3Rpb24gbSh0LGUpe3ZhciBuPW5ldyByKHQudG9BcnJheSgpKTtyZXR1cm4gZT9uLnRvU3RyaW5nKGUpOm59T2JqZWN0LmRlZmluZVByb3BlcnR5KGIucHJvdG90eXBlLCJ2ZXJpZnlFcnJvciIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIm51bWJlciIhPXR5cGVvZiB0aGlzLl9wcmltZUNvZGUmJih0aGlzLl9wcmltZUNvZGU9ZnVuY3Rpb24odCxlKXt2YXIgcj1lLnRvU3RyaW5nKCJoZXgiKSxuPVtyLHQudG9TdHJpbmcoMTYpXS5qb2luKCJfIik7aWYobiBpbiBwKXJldHVybiBwW25dO3ZhciBoLGQ9MDtpZih0LmlzRXZlbigpfHwhYy5zaW1wbGVTaWV2ZXx8IWMuZmVybWF0VGVzdCh0KXx8IWkudGVzdCh0KSlyZXR1cm4gZCs9MSxkKz0iMDIiPT09cnx8IjA1Ij09PXI/ODo0LHBbbl09ZCxkO3N3aXRjaChpLnRlc3QodC5zaHJuKDEpKXx8KGQrPTIpLHIpe2Nhc2UiMDIiOnQubW9kKG8pLmNtcChhKSYmKGQrPTgpO2JyZWFrO2Nhc2UiMDUiOihoPXQubW9kKHMpKS5jbXAodSkmJmguY21wKGYpJiYoZCs9OCk7YnJlYWs7ZGVmYXVsdDpkKz00fXJldHVybiBwW25dPWQsZH0odGhpcy5fX3ByaW1lLHRoaXMuX19nZW4pKSx0aGlzLl9wcmltZUNvZGV9fSksYi5wcm90b3R5cGUuZ2VuZXJhdGVLZXlzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3ByaXZ8fCh0aGlzLl9wcml2PW5ldyBuKGgodGhpcy5fcHJpbWVMZW4pKSksdGhpcy5fcHViPXRoaXMuX2dlbi50b1JlZCh0aGlzLl9wcmltZSkucmVkUG93KHRoaXMuX3ByaXYpLmZyb21SZWQoKSx0aGlzLmdldFB1YmxpY0tleSgpfSxiLnByb3RvdHlwZS5jb21wdXRlU2VjcmV0PWZ1bmN0aW9uKHQpe3ZhciBlPSh0PSh0PW5ldyBuKHQpKS50b1JlZCh0aGlzLl9wcmltZSkpLnJlZFBvdyh0aGlzLl9wcml2KS5mcm9tUmVkKCksaT1uZXcgcihlLnRvQXJyYXkoKSksbz10aGlzLmdldFByaW1lKCk7aWYoaS5sZW5ndGg8by5sZW5ndGgpe3ZhciBhPW5ldyByKG8ubGVuZ3RoLWkubGVuZ3RoKTthLmZpbGwoMCksaT1yLmNvbmNhdChbYSxpXSl9cmV0dXJuIGl9LGIucHJvdG90eXBlLmdldFB1YmxpY0tleT1mdW5jdGlvbih0KXtyZXR1cm4gbSh0aGlzLl9wdWIsdCl9LGIucHJvdG90eXBlLmdldFByaXZhdGVLZXk9ZnVuY3Rpb24odCl7cmV0dXJuIG0odGhpcy5fcHJpdix0KX0sYi5wcm90b3R5cGUuZ2V0UHJpbWU9ZnVuY3Rpb24odCl7cmV0dXJuIG0odGhpcy5fX3ByaW1lLHQpfSxiLnByb3RvdHlwZS5nZXRHZW5lcmF0b3I9ZnVuY3Rpb24odCl7cmV0dXJuIG0odGhpcy5fZ2VuLHQpfSxiLnByb3RvdHlwZS5zZXRHZW5lcmF0b3I9ZnVuY3Rpb24odCxlKXtyZXR1cm4gZT1lfHwidXRmOCIsci5pc0J1ZmZlcih0KXx8KHQ9bmV3IHIodCxlKSksdGhpcy5fX2dlbj10LHRoaXMuX2dlbj1uZXcgbih0KSx0aGlzfX0pLmNhbGwodGhpcyx0KCJidWZmZXIiKS5CdWZmZXIpfSx7Ii4vZ2VuZXJhdGVQcmltZSI6Mjg2LCJibi5qcyI6MjQwLGJ1ZmZlcjo0NywibWlsbGVyLXJhYmluIjozMjgscmFuZG9tYnl0ZXM6MzQ3fV0sMjg2OltmdW5jdGlvbih0LGUscil7YXJndW1lbnRzWzRdWzY1XVswXS5hcHBseShyLGFyZ3VtZW50cyl9LHsiYm4uanMiOjI0MCxkdXA6NjUsIm1pbGxlci1yYWJpbiI6MzI4LHJhbmRvbWJ5dGVzOjM0N31dLDI4NzpbZnVuY3Rpb24odCxlLHIpe2FyZ3VtZW50c1s0XVs2Nl1bMF0uYXBwbHkocixhcmd1bWVudHMpfSx7ZHVwOjY2fV0sMjg4OltmdW5jdGlvbih0LGUscil7YXJndW1lbnRzWzRdWzY3XVswXS5hcHBseShyLGFyZ3VtZW50cyl9LHsiLi4vcGFja2FnZS5qc29uIjozMDMsIi4vZWxsaXB0aWMvY3VydmUiOjI5MSwiLi9lbGxpcHRpYy9jdXJ2ZXMiOjI5NCwiLi9lbGxpcHRpYy9lYyI6Mjk1LCIuL2VsbGlwdGljL2VkZHNhIjoyOTgsIi4vZWxsaXB0aWMvdXRpbHMiOjMwMixicm9yYW5kOjI0MSxkdXA6Njd9XSwyODk6W2Z1bmN0aW9uKHQsZSxyKXthcmd1bWVudHNbNF1bNjhdWzBdLmFwcGx5KHIsYXJndW1lbnRzKX0seyIuLi8uLi9lbGxpcHRpYyI6Mjg4LCJibi5qcyI6MjQwLGR1cDo2OH1dLDI5MDpbZnVuY3Rpb24odCxlLHIpe2FyZ3VtZW50c1s0XVs2OV1bMF0uYXBwbHkocixhcmd1bWVudHMpfSx7Ii4uLy4uL2VsbGlwdGljIjoyODgsIi4uL2N1cnZlIjoyOTEsImJuLmpzIjoyNDAsZHVwOjY5LGluaGVyaXRzOjMyNX1dLDI5MTpbZnVuY3Rpb24odCxlLHIpe2FyZ3VtZW50c1s0XVs3MF1bMF0uYXBwbHkocixhcmd1bWVudHMpfSx7Ii4vYmFzZSI6Mjg5LCIuL2Vkd2FyZHMiOjI5MCwiLi9tb250IjoyOTIsIi4vc2hvcnQiOjI5MyxkdXA6NzB9XSwyOTI6W2Z1bmN0aW9uKHQsZSxyKXthcmd1bWVudHNbNF1bNzFdWzBdLmFwcGx5KHIsYXJndW1lbnRzKX0seyIuLi8uLi9lbGxpcHRpYyI6Mjg4LCIuLi9jdXJ2ZSI6MjkxLCJibi5qcyI6MjQwLGR1cDo3MSxpbmhlcml0czozMjV9XSwyOTM6W2Z1bmN0aW9uKHQsZSxyKXthcmd1bWVudHNbNF1bNzJdWzBdLmFwcGx5KHIsYXJndW1lbnRzKX0seyIuLi8uLi9lbGxpcHRpYyI6Mjg4LCIuLi9jdXJ2ZSI6MjkxLCJibi5qcyI6MjQwLGR1cDo3Mixpbmhlcml0czozMjV9XSwyOTQ6W2Z1bmN0aW9uKHQsZSxyKXthcmd1bWVudHNbNF1bNzNdWzBdLmFwcGx5KHIsYXJndW1lbnRzKX0seyIuLi9lbGxpcHRpYyI6Mjg4LCIuL3ByZWNvbXB1dGVkL3NlY3AyNTZrMSI6MzAxLGR1cDo3MywiaGFzaC5qcyI6MzEyfV0sMjk1OltmdW5jdGlvbih0LGUscil7YXJndW1lbnRzWzRdWzc0XVswXS5hcHBseShyLGFyZ3VtZW50cyl9LHsiLi4vLi4vZWxsaXB0aWMiOjI4OCwiLi9rZXkiOjI5NiwiLi9zaWduYXR1cmUiOjI5NywiYm4uanMiOjI0MCxkdXA6NzQsImhtYWMtZHJiZyI6MzI0fV0sMjk2OltmdW5jdGlvbih0LGUscil7YXJndW1lbnRzWzRdWzc1XVswXS5hcHBseShyLGFyZ3VtZW50cyl9LHsiLi4vLi4vZWxsaXB0aWMiOjI4OCwiYm4uanMiOjI0MCxkdXA6NzV9XSwyOTc6W2Z1bmN0aW9uKHQsZSxyKXthcmd1bWVudHNbNF1bNzZdWzBdLmFwcGx5KHIsYXJndW1lbnRzKX0seyIuLi8uLi9lbGxpcHRpYyI6Mjg4LCJibi5qcyI6MjQwLGR1cDo3Nn1dLDI5ODpbZnVuY3Rpb24odCxlLHIpe2FyZ3VtZW50c1s0XVs3N11bMF0uYXBwbHkocixhcmd1bWVudHMpfSx7Ii4uLy4uL2VsbGlwdGljIjoyODgsIi4va2V5IjoyOTksIi4vc2lnbmF0dXJlIjozMDAsZHVwOjc3LCJoYXNoLmpzIjozMTJ9XSwyOTk6W2Z1bmN0aW9uKHQsZSxyKXthcmd1bWVudHNbNF1bNzhdWzBdLmFwcGx5KHIsYXJndW1lbnRzKX0seyIuLi8uLi9lbGxpcHRpYyI6Mjg4LGR1cDo3OH1dLDMwMDpbZnVuY3Rpb24odCxlLHIpe2FyZ3VtZW50c1s0XVs3OV1bMF0uYXBwbHkocixhcmd1bWVudHMpfSx7Ii4uLy4uL2VsbGlwdGljIjoyODgsImJuLmpzIjoyNDAsZHVwOjc5fV0sMzAxOltmdW5jdGlvbih0LGUscil7YXJndW1lbnRzWzRdWzgwXVswXS5hcHBseShyLGFyZ3VtZW50cyl9LHtkdXA6ODB9XSwzMDI6W2Z1bmN0aW9uKHQsZSxyKXthcmd1bWVudHNbNF1bODFdWzBdLmFwcGx5KHIsYXJndW1lbnRzKX0seyJibi5qcyI6MjQwLGR1cDo4MSwibWluaW1hbGlzdGljLWFzc2VydCI6MzI5LCJtaW5pbWFsaXN0aWMtY3J5cHRvLXV0aWxzIjozMzB9XSwzMDM6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9e19hcmdzOltbe3JhdzoiZWxsaXB0aWNAXjYuMC4wIixzY29wZTpudWxsLGVzY2FwZWROYW1lOiJlbGxpcHRpYyIsbmFtZToiZWxsaXB0aWMiLHJhd1NwZWM6Il42LjAuMCIsc3BlYzoiPj02LjAuMCA8Ny4wLjAiLHR5cGU6InJhbmdlIn0sIi9Vc2Vycy9mcm96ZW1hbi9TaXRlcy9fZXRoZXJldW0vd2ViMy9wYWNrYWdlcy93ZWIzLWV0aC1hY2NvdW50cy9ub2RlX21vZHVsZXMvYnJvd3NlcmlmeS1zaWduIl1dLF9mcm9tOiJlbGxpcHRpY0A+PTYuMC4wIDw3LjAuMCIsX2lkOiJlbGxpcHRpY0A2LjQuMCIsX2luQ2FjaGU6ITAsX2xvY2F0aW9uOiIvZWxsaXB0aWMiLF9ub2RlVmVyc2lvbjoiNy4wLjAiLF9ucG1PcGVyYXRpb25hbEludGVybmFsOntob3N0OiJwYWNrYWdlcy0xOC1lYXN0LmludGVybmFsLm5wbWpzLmNvbSIsdG1wOiJ0bXAvZWxsaXB0aWMtNi40LjAudGd6XzE0ODc3OTg4NjY0MjhfMC4zMDUxMDYyMDE5MDc2MTk4MyJ9LF9ucG1Vc2VyOntuYW1lOiJpbmR1dG55IixlbWFpbDoiZmVkb3JAaW5kdXRueS5jb20ifSxfbnBtVmVyc2lvbjoiMy4xMC44IixfcGhhbnRvbUNoaWxkcmVuOnt9LF9yZXF1ZXN0ZWQ6e3JhdzoiZWxsaXB0aWNAXjYuMC4wIixzY29wZTpudWxsLGVzY2FwZWROYW1lOiJlbGxpcHRpYyIsbmFtZToiZWxsaXB0aWMiLHJhd1NwZWM6Il42LjAuMCIsc3BlYzoiPj02LjAuMCA8Ny4wLjAiLHR5cGU6InJhbmdlIn0sX3JlcXVpcmVkQnk6WyIvYnJvd3NlcmlmeS1zaWduIiwiL2NyZWF0ZS1lY2RoIiwiL2V0aC1saWIiXSxfcmVzb2x2ZWQ6Imh0dHBzOi8vcmVnaXN0cnkubnBtanMub3JnL2VsbGlwdGljLy0vZWxsaXB0aWMtNi40LjAudGd6Iixfc2hhc3VtOiJjYWM5YWY4NzYyYzg1ODM2MTg3MDAzYzhkZmUxOTNlNWUyZWFlNWRmIixfc2hyaW5rd3JhcDpudWxsLF9zcGVjOiJlbGxpcHRpY0BeNi4wLjAiLF93aGVyZToiL1VzZXJzL2Zyb3plbWFuL1NpdGVzL19ldGhlcmV1bS93ZWIzL3BhY2thZ2VzL3dlYjMtZXRoLWFjY291bnRzL25vZGVfbW9kdWxlcy9icm93c2VyaWZ5LXNpZ24iLGF1dGhvcjp7bmFtZToiRmVkb3IgSW5kdXRueSIsZW1haWw6ImZlZG9yQGluZHV0bnkuY29tIn0sYnVnczp7dXJsOiJodHRwczovL2dpdGh1Yi5jb20vaW5kdXRueS9lbGxpcHRpYy9pc3N1ZXMifSxkZXBlbmRlbmNpZXM6eyJibi5qcyI6Il40LjQuMCIsYnJvcmFuZDoiXjEuMC4xIiwiaGFzaC5qcyI6Il4xLjAuMCIsImhtYWMtZHJiZyI6Il4xLjAuMCIsaW5oZXJpdHM6Il4yLjAuMSIsIm1pbmltYWxpc3RpYy1hc3NlcnQiOiJeMS4wLjAiLCJtaW5pbWFsaXN0aWMtY3J5cHRvLXV0aWxzIjoiXjEuMC4wIn0sZGVzY3JpcHRpb246IkVDIGNyeXB0b2dyYXBoeSIsZGV2RGVwZW5kZW5jaWVzOnticmZzOiJeMS40LjMiLGNvdmVyYWxsczoiXjIuMTEuMyIsZ3J1bnQ6Il4wLjQuNSIsImdydW50LWJyb3dzZXJpZnkiOiJeNS4wLjAiLCJncnVudC1jbGkiOiJeMS4yLjAiLCJncnVudC1jb250cmliLWNvbm5lY3QiOiJeMS4wLjAiLCJncnVudC1jb250cmliLWNvcHkiOiJeMS4wLjAiLCJncnVudC1jb250cmliLXVnbGlmeSI6Il4xLjAuMSIsImdydW50LW1vY2hhLWlzdGFuYnVsIjoiXjMuMC4xIiwiZ3J1bnQtc2F1Y2VsYWJzIjoiXjguNi4yIixpc3RhbmJ1bDoiXjAuNC4yIixqc2NzOiJeMi45LjAiLGpzaGludDoiXjIuNi4wIixtb2NoYToiXjIuMS4wIn0sZGlyZWN0b3JpZXM6e30sZGlzdDp7c2hhc3VtOiJjYWM5YWY4NzYyYzg1ODM2MTg3MDAzYzhkZmUxOTNlNWUyZWFlNWRmIix0YXJiYWxsOiJodHRwczovL3JlZ2lzdHJ5Lm5wbWpzLm9yZy9lbGxpcHRpYy8tL2VsbGlwdGljLTYuNC4wLnRneiJ9LGZpbGVzOlsibGliIl0sZ2l0SGVhZDoiNmIwZDJiNzZjYWFlOTE0NzE2NDljOGUyMWYwYjFkM2JhMGY5NjA5MCIsaG9tZXBhZ2U6Imh0dHBzOi8vZ2l0aHViLmNvbS9pbmR1dG55L2VsbGlwdGljIixrZXl3b3JkczpbIkVDIiwiRWxsaXB0aWMiLCJjdXJ2ZSIsIkNyeXB0b2dyYXBoeSJdLGxpY2Vuc2U6Ik1JVCIsbWFpbjoibGliL2VsbGlwdGljLmpzIixtYWludGFpbmVyczpbe25hbWU6ImluZHV0bnkiLGVtYWlsOiJmZWRvckBpbmR1dG55LmNvbSJ9XSxuYW1lOiJlbGxpcHRpYyIsb3B0aW9uYWxEZXBlbmRlbmNpZXM6e30scmVhZG1lOiJFUlJPUjogTm8gUkVBRE1FIGRhdGEgZm91bmQhIixyZXBvc2l0b3J5Ont0eXBlOiJnaXQiLHVybDoiZ2l0K3NzaDovL2dpdEBnaXRodWIuY29tL2luZHV0bnkvZWxsaXB0aWMuZ2l0In0sc2NyaXB0czp7anNjczoianNjcyBiZW5jaG1hcmtzLyouanMgbGliLyouanMgbGliLyoqLyouanMgbGliLyoqLyoqLyouanMgdGVzdC9pbmRleC5qcyIsanNoaW50OiJqc2NzIGJlbmNobWFya3MvKi5qcyBsaWIvKi5qcyBsaWIvKiovKi5qcyBsaWIvKiovKiovKi5qcyB0ZXN0L2luZGV4LmpzIixsaW50OiJucG0gcnVuIGpzY3MgJiYgbnBtIHJ1biBqc2hpbnQiLHRlc3Q6Im5wbSBydW4gbGludCAmJiBucG0gcnVuIHVuaXQiLHVuaXQ6ImlzdGFuYnVsIHRlc3QgX21vY2hhIC0tcmVwb3J0ZXI9c3BlYyB0ZXN0L2luZGV4LmpzIix2ZXJzaW9uOiJncnVudCBkaXN0ICYmIGdpdCBhZGQgZGlzdC8ifSx2ZXJzaW9uOiI2LjQuMCJ9fSx7fV0sMzA0OltmdW5jdGlvbih0LGUscil7KGZ1bmN0aW9uKHIpe3ZhciBuPWZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKHQsZSl7aWYoQXJyYXkuaXNBcnJheSh0KSlyZXR1cm4gdDtpZihTeW1ib2wuaXRlcmF0b3IgaW4gT2JqZWN0KHQpKXJldHVybiBmdW5jdGlvbih0LGUpe3ZhciByPVtdLG49ITAsaT0hMSxvPXZvaWQgMDt0cnl7Zm9yKHZhciBhLHM9dFtTeW1ib2wuaXRlcmF0b3JdKCk7IShuPShhPXMubmV4dCgpKS5kb25lKSYmKHIucHVzaChhLnZhbHVlKSwhZXx8ci5sZW5ndGghPT1lKTtuPSEwKTt9Y2F0Y2godCl7aT0hMCxvPXR9ZmluYWxseXt0cnl7IW4mJnMucmV0dXJuJiZzLnJldHVybigpfWZpbmFsbHl7aWYoaSl0aHJvdyBvfX1yZXR1cm4gcn0odCxlKTt0aHJvdyBuZXcgVHlwZUVycm9yKCJJbnZhbGlkIGF0dGVtcHQgdG8gZGVzdHJ1Y3R1cmUgbm9uLWl0ZXJhYmxlIGluc3RhbmNlIil9fSgpLGk9dCgiLi9ieXRlcyIpLG89dCgiLi9uYXQiKSxhPXQoImVsbGlwdGljIikscz0odCgiLi9ybHAiKSxuZXcgYS5lYygic2VjcDI1NmsxIikpLHU9dCgiLi9oYXNoIiksZj11LmtlY2NhazI1NixjPXUua2VjY2FrMjU2cyxoPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1jKHQuc2xpY2UoMikpLHI9IjB4IixuPTA7bjw0MDtuKyspcis9cGFyc2VJbnQoZVtuKzJdLDE2KT43P3RbbisyXS50b1VwcGVyQ2FzZSgpOnRbbisyXTtyZXR1cm4gcn0sZD1mdW5jdGlvbih0KXt2YXIgZT1uZXcgcih0LnNsaWNlKDIpLCJoZXgiKSxuPSIweCIrcy5rZXlGcm9tUHJpdmF0ZShlKS5nZXRQdWJsaWMoITEsImhleCIpLnNsaWNlKDIpLGk9ZihuKTtyZXR1cm57YWRkcmVzczpoKCIweCIraS5zbGljZSgtNDApKSxwcml2YXRlS2V5OnR9fSxsPWZ1bmN0aW9uKHQpe3ZhciBlPW4odCwzKSxyPWVbMF0sbz1pLnBhZCgzMixlWzFdKSxhPWkucGFkKDMyLGVbMl0pO3JldHVybiBpLmZsYXR0ZW4oW28sYSxyXSl9LHA9ZnVuY3Rpb24odCl7cmV0dXJuW2kuc2xpY2UoNjQsaS5sZW5ndGgodCksdCksaS5zbGljZSgwLDMyLHQpLGkuc2xpY2UoMzIsNjQsdCldfSxiPWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihlLG4pe3ZhciBhPXMua2V5RnJvbVByaXZhdGUobmV3IHIobi5zbGljZSgyKSwiaGV4IikpLnNpZ24obmV3IHIoZS5zbGljZSgyKSwiaGV4Iikse2Nhbm9uaWNhbDohMH0pO3JldHVybiBsKFtvLmZyb21TdHJpbmcoaS5mcm9tTnVtYmVyKHQrYS5yZWNvdmVyeVBhcmFtKSksaS5wYWQoMzIsaS5mcm9tTmF0KCIweCIrYS5yLnRvU3RyaW5nKDE2KSkpLGkucGFkKDMyLGkuZnJvbU5hdCgiMHgiK2Eucy50b1N0cmluZygxNikpKV0pfX0sbT1iKDI3KTtlLmV4cG9ydHM9e2NyZWF0ZTpmdW5jdGlvbih0KXt2YXIgZT1mKGkuY29uY2F0KGkucmFuZG9tKDMyKSx0fHxpLnJhbmRvbSgzMikpKSxyPWkuY29uY2F0KGkuY29uY2F0KGkucmFuZG9tKDMyKSxlKSxpLnJhbmRvbSgzMikpLG49ZihyKTtyZXR1cm4gZChuKX0sdG9DaGVja3N1bTpoLGZyb21Qcml2YXRlOmQsc2lnbjptLG1ha2VTaWduZXI6YixyZWNvdmVyOmZ1bmN0aW9uKHQsZSl7dmFyIG49cChlKSxvPXt2OmkudG9OdW1iZXIoblswXSkscjpuWzFdLnNsaWNlKDIpLHM6blsyXS5zbGljZSgyKX0sYT0iMHgiK3MucmVjb3ZlclB1YktleShuZXcgcih0LnNsaWNlKDIpLCJoZXgiKSxvLG8udjwyP28udjoxLW8udiUyKS5lbmNvZGUoImhleCIsITEpLnNsaWNlKDIpLHU9ZihhKTtyZXR1cm4gaCgiMHgiK3Uuc2xpY2UoLTQwKSl9LGVuY29kZVNpZ25hdHVyZTpsLGRlY29kZVNpZ25hdHVyZTpwfX0pLmNhbGwodGhpcyx0KCJidWZmZXIiKS5CdWZmZXIpfSx7Ii4vYnl0ZXMiOjMwNiwiLi9oYXNoIjozMDcsIi4vbmF0IjozMDgsIi4vcmxwIjozMDksYnVmZmVyOjQ3LGVsbGlwdGljOjI4OH1dLDMwNTpbZnVuY3Rpb24odCxlLHIpe2FyZ3VtZW50c1s0XVsxNjNdWzBdLmFwcGx5KHIsYXJndW1lbnRzKX0se2R1cDoxNjN9XSwzMDY6W2Z1bmN0aW9uKHQsZSxyKXthcmd1bWVudHNbNF1bMTY0XVswXS5hcHBseShyLGFyZ3VtZW50cyl9LHsiLi9hcnJheS5qcyI6MzA1LGR1cDoxNjR9XSwzMDc6W2Z1bmN0aW9uKHQsZSxyKXthcmd1bWVudHNbNF1bMTY1XVswXS5hcHBseShyLGFyZ3VtZW50cyl9LHtkdXA6MTY1fV0sMzA4OltmdW5jdGlvbih0LGUscil7dmFyIG49dCgiYm4uanMiKSxpPXQoIi4vYnl0ZXMiKSxvPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgbih0LnNsaWNlKDIpLDE2KX0sYT1mdW5jdGlvbih0KXt2YXIgZT0iMHgiKygiMHgiPT09dC5zbGljZSgwLDIpP25ldyBuKHQuc2xpY2UoMiksMTYpOm5ldyBuKHQsMTApKS50b1N0cmluZygiaGV4Iik7cmV0dXJuIjB4MCI9PT1lPyIweCI6ZX0scz1mdW5jdGlvbih0KXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIHQ/L14weC8udGVzdCh0KT90OiIweCIrdDoiMHgiK25ldyBuKHQpLnRvU3RyaW5nKCJoZXgiKX0sdT1mdW5jdGlvbih0KXtyZXR1cm4gbyh0KS50b051bWJlcigpfSxmPWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihlLHIpe3JldHVybiIweCIrbyhlKVt0XShvKHIpKS50b1N0cmluZygiaGV4Iil9fSxjPWYoImFkZCIpLGg9ZigibXVsIiksZD1mKCJkaXYiKSxsPWYoInN1YiIpO2UuZXhwb3J0cz17dG9TdHJpbmc6ZnVuY3Rpb24odCl7cmV0dXJuIG8odCkudG9TdHJpbmcoMTApfSxmcm9tU3RyaW5nOmEsdG9OdW1iZXI6dSxmcm9tTnVtYmVyOnMsdG9FdGhlcjpmdW5jdGlvbih0KXtyZXR1cm4gdShkKHQsYSgiMTAwMDAwMDAwMDAiKSkpLzFlOH0sZnJvbUV0aGVyOmZ1bmN0aW9uKHQpe3JldHVybiBoKHMoTWF0aC5mbG9vcigxZTgqdCkpLGEoIjEwMDAwMDAwMDAwIikpfSx0b1VpbnQyNTY6ZnVuY3Rpb24odCl7cmV0dXJuIGkucGFkKDMyLHQpfSxhZGQ6YyxtdWw6aCxkaXY6ZCxzdWI6bH19LHsiLi9ieXRlcyI6MzA2LCJibi5qcyI6MjQwfV0sMzA5OltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPXtlbmNvZGU6ZnVuY3Rpb24odCl7dmFyIGU9ZnVuY3Rpb24odCl7cmV0dXJuKGU9dC50b1N0cmluZygxNikpLmxlbmd0aCUyPT0wP2U6IjAiK2U7dmFyIGV9LHI9ZnVuY3Rpb24odCxyKXtyZXR1cm4gdDw1Nj9lKHIrdCk6ZShyK2UodCkubGVuZ3RoLzIrNTUpK2UodCl9O3JldHVybiIweCIrZnVuY3Rpb24gdChlKXtpZigic3RyaW5nIj09dHlwZW9mIGUpe3ZhciBuPWUuc2xpY2UoMik7cmV0dXJuKDIhPW4ubGVuZ3RofHxuPj0iODAiP3Iobi5sZW5ndGgvMiwxMjgpOiIiKStufXZhciBpPWUubWFwKHQpLmpvaW4oIiIpO3JldHVybiByKGkubGVuZ3RoLzIsMTkyKStpfSh0KX0sZGVjb2RlOmZ1bmN0aW9uKHQpe3ZhciBlPTIscj1mdW5jdGlvbigpe2lmKGU+PXQubGVuZ3RoKXRocm93IiI7dmFyIHI9dC5zbGljZShlLGUrMik7cmV0dXJuIHI8IjgwIj8oZSs9MiwiMHgiK3IpOnI8ImMwIj9pKCk6bygpfSxuPWZ1bmN0aW9uKCl7dmFyIHI9cGFyc2VJbnQodC5zbGljZShlLGUrPTIpLDE2KSU2NDtyZXR1cm4gcjw1Nj9yOnBhcnNlSW50KHQuc2xpY2UoZSxlKz0yKihyLTU1KSksMTYpfSxpPWZ1bmN0aW9uKCl7dmFyIHI9bigpO3JldHVybiIweCIrdC5zbGljZShlLGUrPTIqcil9LG89ZnVuY3Rpb24oKXtmb3IodmFyIHQ9MipuKCkrZSxpPVtdO2U8dDspaS5wdXNoKHIoKSk7cmV0dXJuIGl9O3RyeXtyZXR1cm4gcigpfWNhdGNoKHQpe3JldHVybltdfX19fSx7fV0sMzEwOltmdW5jdGlvbih0LGUscil7YXJndW1lbnRzWzRdWzg0XVswXS5hcHBseShyLGFyZ3VtZW50cyl9LHtkdXA6ODQsIm1kNS5qcyI6MzI2LCJzYWZlLWJ1ZmZlciI6MzUwfV0sMzExOltmdW5jdGlvbih0LGUscil7KGZ1bmN0aW9uKHIpe3ZhciBuPXQoInN0cmVhbSIpLlRyYW5zZm9ybTtmdW5jdGlvbiBpKHQpe24uY2FsbCh0aGlzKSx0aGlzLl9ibG9jaz1uZXcgcih0KSx0aGlzLl9ibG9ja1NpemU9dCx0aGlzLl9ibG9ja09mZnNldD0wLHRoaXMuX2xlbmd0aD1bMCwwLDAsMF0sdGhpcy5fZmluYWxpemVkPSExfXQoImluaGVyaXRzIikoaSxuKSxpLnByb3RvdHlwZS5fdHJhbnNmb3JtPWZ1bmN0aW9uKHQsZSxuKXt2YXIgaT1udWxsO3RyeXsiYnVmZmVyIiE9PWUmJih0PW5ldyByKHQsZSkpLHRoaXMudXBkYXRlKHQpfWNhdGNoKHQpe2k9dH1uKGkpfSxpLnByb3RvdHlwZS5fZmx1c2g9ZnVuY3Rpb24odCl7dmFyIGU9bnVsbDt0cnl7dGhpcy5wdXNoKHRoaXMuX2RpZ2VzdCgpKX1jYXRjaCh0KXtlPXR9dChlKX0saS5wcm90b3R5cGUudXBkYXRlPWZ1bmN0aW9uKHQsZSl7aWYoIXIuaXNCdWZmZXIodCkmJiJzdHJpbmciIT10eXBlb2YgdCl0aHJvdyBuZXcgVHlwZUVycm9yKCJEYXRhIG11c3QgYmUgYSBzdHJpbmcgb3IgYSBidWZmZXIiKTtpZih0aGlzLl9maW5hbGl6ZWQpdGhyb3cgbmV3IEVycm9yKCJEaWdlc3QgYWxyZWFkeSBjYWxsZWQiKTtyLmlzQnVmZmVyKHQpfHwodD1uZXcgcih0LGV8fCJiaW5hcnkiKSk7Zm9yKHZhciBuPXRoaXMuX2Jsb2NrLGk9MDt0aGlzLl9ibG9ja09mZnNldCt0Lmxlbmd0aC1pPj10aGlzLl9ibG9ja1NpemU7KXtmb3IodmFyIG89dGhpcy5fYmxvY2tPZmZzZXQ7bzx0aGlzLl9ibG9ja1NpemU7KW5bbysrXT10W2krK107dGhpcy5fdXBkYXRlKCksdGhpcy5fYmxvY2tPZmZzZXQ9MH1mb3IoO2k8dC5sZW5ndGg7KW5bdGhpcy5fYmxvY2tPZmZzZXQrK109dFtpKytdO2Zvcih2YXIgYT0wLHM9OCp0Lmxlbmd0aDtzPjA7KythKXRoaXMuX2xlbmd0aFthXSs9cywocz10aGlzLl9sZW5ndGhbYV0vNDI5NDk2NzI5NnwwKT4wJiYodGhpcy5fbGVuZ3RoW2FdLT00Mjk0OTY3Mjk2KnMpO3JldHVybiB0aGlzfSxpLnByb3RvdHlwZS5fdXBkYXRlPWZ1bmN0aW9uKHQpe3Rocm93IG5ldyBFcnJvcigiX3VwZGF0ZSBpcyBub3QgaW1wbGVtZW50ZWQiKX0saS5wcm90b3R5cGUuZGlnZXN0PWZ1bmN0aW9uKHQpe2lmKHRoaXMuX2ZpbmFsaXplZCl0aHJvdyBuZXcgRXJyb3IoIkRpZ2VzdCBhbHJlYWR5IGNhbGxlZCIpO3RoaXMuX2ZpbmFsaXplZD0hMDt2YXIgZT10aGlzLl9kaWdlc3QoKTtyZXR1cm4gdm9pZCAwIT09dCYmKGU9ZS50b1N0cmluZyh0KSksZX0saS5wcm90b3R5cGUuX2RpZ2VzdD1mdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcigiX2RpZ2VzdCBpcyBub3QgaW1wbGVtZW50ZWQiKX0sZS5leHBvcnRzPWl9KS5jYWxsKHRoaXMsdCgiYnVmZmVyIikuQnVmZmVyKX0se2J1ZmZlcjo0Nyxpbmhlcml0czozMjUsc3RyZWFtOjE1Nn1dLDMxMjpbZnVuY3Rpb24odCxlLHIpe2FyZ3VtZW50c1s0XVs4Nl1bMF0uYXBwbHkocixhcmd1bWVudHMpfSx7Ii4vaGFzaC9jb21tb24iOjMxMywiLi9oYXNoL2htYWMiOjMxNCwiLi9oYXNoL3JpcGVtZCI6MzE1LCIuL2hhc2gvc2hhIjozMTYsIi4vaGFzaC91dGlscyI6MzIzLGR1cDo4Nn1dLDMxMzpbZnVuY3Rpb24odCxlLHIpe2FyZ3VtZW50c1s0XVs4N11bMF0uYXBwbHkocixhcmd1bWVudHMpfSx7Ii4vdXRpbHMiOjMyMyxkdXA6ODcsIm1pbmltYWxpc3RpYy1hc3NlcnQiOjMyOX1dLDMxNDpbZnVuY3Rpb24odCxlLHIpe2FyZ3VtZW50c1s0XVs4OF1bMF0uYXBwbHkocixhcmd1bWVudHMpfSx7Ii4vdXRpbHMiOjMyMyxkdXA6ODgsIm1pbmltYWxpc3RpYy1hc3NlcnQiOjMyOX1dLDMxNTpbZnVuY3Rpb24odCxlLHIpe2FyZ3VtZW50c1s0XVs4OV1bMF0uYXBwbHkocixhcmd1bWVudHMpfSx7Ii4vY29tbW9uIjozMTMsIi4vdXRpbHMiOjMyMyxkdXA6ODl9XSwzMTY6W2Z1bmN0aW9uKHQsZSxyKXthcmd1bWVudHNbNF1bOTBdWzBdLmFwcGx5KHIsYXJndW1lbnRzKX0seyIuL3NoYS8xIjozMTcsIi4vc2hhLzIyNCI6MzE4LCIuL3NoYS8yNTYiOjMxOSwiLi9zaGEvMzg0IjozMjAsIi4vc2hhLzUxMiI6MzIxLGR1cDo5MH1dLDMxNzpbZnVuY3Rpb24odCxlLHIpe2FyZ3VtZW50c1s0XVs5MV1bMF0uYXBwbHkocixhcmd1bWVudHMpfSx7Ii4uL2NvbW1vbiI6MzEzLCIuLi91dGlscyI6MzIzLCIuL2NvbW1vbiI6MzIyLGR1cDo5MX1dLDMxODpbZnVuY3Rpb24odCxlLHIpe2FyZ3VtZW50c1s0XVs5Ml1bMF0uYXBwbHkocixhcmd1bWVudHMpfSx7Ii4uL3V0aWxzIjozMjMsIi4vMjU2IjozMTksZHVwOjkyfV0sMzE5OltmdW5jdGlvbih0LGUscil7YXJndW1lbnRzWzRdWzkzXVswXS5hcHBseShyLGFyZ3VtZW50cyl9LHsiLi4vY29tbW9uIjozMTMsIi4uL3V0aWxzIjozMjMsIi4vY29tbW9uIjozMjIsZHVwOjkzLCJtaW5pbWFsaXN0aWMtYXNzZXJ0IjozMjl9XSwzMjA6W2Z1bmN0aW9uKHQsZSxyKXthcmd1bWVudHNbNF1bOTRdWzBdLmFwcGx5KHIsYXJndW1lbnRzKX0seyIuLi91dGlscyI6MzIzLCIuLzUxMiI6MzIxLGR1cDo5NH1dLDMyMTpbZnVuY3Rpb24odCxlLHIpe2FyZ3VtZW50c1s0XVs5NV1bMF0uYXBwbHkocixhcmd1bWVudHMpfSx7Ii4uL2NvbW1vbiI6MzEzLCIuLi91dGlscyI6MzIzLGR1cDo5NSwibWluaW1hbGlzdGljLWFzc2VydCI6MzI5fV0sMzIyOltmdW5jdGlvbih0LGUscil7YXJndW1lbnRzWzRdWzk2XVswXS5hcHBseShyLGFyZ3VtZW50cyl9LHsiLi4vdXRpbHMiOjMyMyxkdXA6OTZ9XSwzMjM6W2Z1bmN0aW9uKHQsZSxyKXthcmd1bWVudHNbNF1bOTddWzBdLmFwcGx5KHIsYXJndW1lbnRzKX0se2R1cDo5Nyxpbmhlcml0czozMjUsIm1pbmltYWxpc3RpYy1hc3NlcnQiOjMyOX1dLDMyNDpbZnVuY3Rpb24odCxlLHIpe2FyZ3VtZW50c1s0XVs5OF1bMF0uYXBwbHkocixhcmd1bWVudHMpfSx7ZHVwOjk4LCJoYXNoLmpzIjozMTIsIm1pbmltYWxpc3RpYy1hc3NlcnQiOjMyOSwibWluaW1hbGlzdGljLWNyeXB0by11dGlscyI6MzMwfV0sMzI1OltmdW5jdGlvbih0LGUscil7YXJndW1lbnRzWzRdWzEwMV1bMF0uYXBwbHkocixhcmd1bWVudHMpfSx7ZHVwOjEwMX1dLDMyNjpbZnVuY3Rpb24odCxlLHIpeyhmdW5jdGlvbihyKXt2YXIgbj10KCJpbmhlcml0cyIpLGk9dCgiaGFzaC1iYXNlIiksbz1uZXcgQXJyYXkoMTYpO2Z1bmN0aW9uIGEoKXtpLmNhbGwodGhpcyw2NCksdGhpcy5fYT0xNzMyNTg0MTkzLHRoaXMuX2I9NDAyMzIzMzQxNyx0aGlzLl9jPTI1NjIzODMxMDIsdGhpcy5fZD0yNzE3MzM4Nzh9ZnVuY3Rpb24gcyh0LGUpe3JldHVybiB0PDxlfHQ+Pj4zMi1lfWZ1bmN0aW9uIHUodCxlLHIsbixpLG8sYSl7cmV0dXJuIHModCsoZSZyfH5lJm4pK2krb3wwLGEpK2V8MH1mdW5jdGlvbiBmKHQsZSxyLG4saSxvLGEpe3JldHVybiBzKHQrKGUmbnxyJn5uKStpK298MCxhKStlfDB9ZnVuY3Rpb24gYyh0LGUscixuLGksbyxhKXtyZXR1cm4gcyh0KyhlXnJebikraStvfDAsYSkrZXwwfWZ1bmN0aW9uIGgodCxlLHIsbixpLG8sYSl7cmV0dXJuIHModCsocl4oZXx+bikpK2krb3wwLGEpK2V8MH1uKGEsaSksYS5wcm90b3R5cGUuX3VwZGF0ZT1mdW5jdGlvbigpe2Zvcih2YXIgdD1vLGU9MDtlPDE2OysrZSl0W2VdPXRoaXMuX2Jsb2NrLnJlYWRJbnQzMkxFKDQqZSk7dmFyIHI9dGhpcy5fYSxuPXRoaXMuX2IsaT10aGlzLl9jLGE9dGhpcy5fZDtuPWgobj1oKG49aChuPWgobj1jKG49YyhuPWMobj1jKG49ZihuPWYobj1mKG49ZihuPXUobj11KG49dShuPXUobixpPXUoaSxhPXUoYSxyPXUocixuLGksYSx0WzBdLDM2MTQwOTAzNjAsNyksbixpLHRbMV0sMzkwNTQwMjcxMCwxMikscixuLHRbMl0sNjA2MTA1ODE5LDE3KSxhLHIsdFszXSwzMjUwNDQxOTY2LDIyKSxpPXUoaSxhPXUoYSxyPXUocixuLGksYSx0WzRdLDQxMTg1NDgzOTksNyksbixpLHRbNV0sMTIwMDA4MDQyNiwxMikscixuLHRbNl0sMjgyMTczNTk1NSwxNyksYSxyLHRbN10sNDI0OTI2MTMxMywyMiksaT11KGksYT11KGEscj11KHIsbixpLGEsdFs4XSwxNzcwMDM1NDE2LDcpLG4saSx0WzldLDIzMzY1NTI4NzksMTIpLHIsbix0WzEwXSw0Mjk0OTI1MjMzLDE3KSxhLHIsdFsxMV0sMjMwNDU2MzEzNCwyMiksaT11KGksYT11KGEscj11KHIsbixpLGEsdFsxMl0sMTgwNDYwMzY4Miw3KSxuLGksdFsxM10sNDI1NDYyNjE5NSwxMikscixuLHRbMTRdLDI3OTI5NjUwMDYsMTcpLGEscix0WzE1XSwxMjM2NTM1MzI5LDIyKSxpPWYoaSxhPWYoYSxyPWYocixuLGksYSx0WzFdLDQxMjkxNzA3ODYsNSksbixpLHRbNl0sMzIyNTQ2NTY2NCw5KSxyLG4sdFsxMV0sNjQzNzE3NzEzLDE0KSxhLHIsdFswXSwzOTIxMDY5OTk0LDIwKSxpPWYoaSxhPWYoYSxyPWYocixuLGksYSx0WzVdLDM1OTM0MDg2MDUsNSksbixpLHRbMTBdLDM4MDE2MDgzLDkpLHIsbix0WzE1XSwzNjM0NDg4OTYxLDE0KSxhLHIsdFs0XSwzODg5NDI5NDQ4LDIwKSxpPWYoaSxhPWYoYSxyPWYocixuLGksYSx0WzldLDU2ODQ0NjQzOCw1KSxuLGksdFsxNF0sMzI3NTE2MzYwNiw5KSxyLG4sdFszXSw0MTA3NjAzMzM1LDE0KSxhLHIsdFs4XSwxMTYzNTMxNTAxLDIwKSxpPWYoaSxhPWYoYSxyPWYocixuLGksYSx0WzEzXSwyODUwMjg1ODI5LDUpLG4saSx0WzJdLDQyNDM1NjM1MTIsOSkscixuLHRbN10sMTczNTMyODQ3MywxNCksYSxyLHRbMTJdLDIzNjgzNTk1NjIsMjApLGk9YyhpLGE9YyhhLHI9YyhyLG4saSxhLHRbNV0sNDI5NDU4ODczOCw0KSxuLGksdFs4XSwyMjcyMzkyODMzLDExKSxyLG4sdFsxMV0sMTgzOTAzMDU2MiwxNiksYSxyLHRbMTRdLDQyNTk2NTc3NDAsMjMpLGk9YyhpLGE9YyhhLHI9YyhyLG4saSxhLHRbMV0sMjc2Mzk3NTIzNiw0KSxuLGksdFs0XSwxMjcyODkzMzUzLDExKSxyLG4sdFs3XSw0MTM5NDY5NjY0LDE2KSxhLHIsdFsxMF0sMzIwMDIzNjY1NiwyMyksaT1jKGksYT1jKGEscj1jKHIsbixpLGEsdFsxM10sNjgxMjc5MTc0LDQpLG4saSx0WzBdLDM5MzY0MzAwNzQsMTEpLHIsbix0WzNdLDM1NzI0NDUzMTcsMTYpLGEscix0WzZdLDc2MDI5MTg5LDIzKSxpPWMoaSxhPWMoYSxyPWMocixuLGksYSx0WzldLDM2NTQ2MDI4MDksNCksbixpLHRbMTJdLDM4NzMxNTE0NjEsMTEpLHIsbix0WzE1XSw1MzA3NDI1MjAsMTYpLGEscix0WzJdLDMyOTk2Mjg2NDUsMjMpLGk9aChpLGE9aChhLHI9aChyLG4saSxhLHRbMF0sNDA5NjMzNjQ1Miw2KSxuLGksdFs3XSwxMTI2ODkxNDE1LDEwKSxyLG4sdFsxNF0sMjg3ODYxMjM5MSwxNSksYSxyLHRbNV0sNDIzNzUzMzI0MSwyMSksaT1oKGksYT1oKGEscj1oKHIsbixpLGEsdFsxMl0sMTcwMDQ4NTU3MSw2KSxuLGksdFszXSwyMzk5OTgwNjkwLDEwKSxyLG4sdFsxMF0sNDI5MzkxNTc3MywxNSksYSxyLHRbMV0sMjI0MDA0NDQ5NywyMSksaT1oKGksYT1oKGEscj1oKHIsbixpLGEsdFs4XSwxODczMzEzMzU5LDYpLG4saSx0WzE1XSw0MjY0MzU1NTUyLDEwKSxyLG4sdFs2XSwyNzM0NzY4OTE2LDE1KSxhLHIsdFsxM10sMTMwOTE1MTY0OSwyMSksaT1oKGksYT1oKGEscj1oKHIsbixpLGEsdFs0XSw0MTQ5NDQ0MjI2LDYpLG4saSx0WzExXSwzMTc0NzU2OTE3LDEwKSxyLG4sdFsyXSw3MTg3ODcyNTksMTUpLGEscix0WzldLDM5NTE0ODE3NDUsMjEpLHRoaXMuX2E9dGhpcy5fYStyfDAsdGhpcy5fYj10aGlzLl9iK258MCx0aGlzLl9jPXRoaXMuX2MraXwwLHRoaXMuX2Q9dGhpcy5fZCthfDB9LGEucHJvdG90eXBlLl9kaWdlc3Q9ZnVuY3Rpb24oKXt0aGlzLl9ibG9ja1t0aGlzLl9ibG9ja09mZnNldCsrXT0xMjgsdGhpcy5fYmxvY2tPZmZzZXQ+NTYmJih0aGlzLl9ibG9jay5maWxsKDAsdGhpcy5fYmxvY2tPZmZzZXQsNjQpLHRoaXMuX3VwZGF0ZSgpLHRoaXMuX2Jsb2NrT2Zmc2V0PTApLHRoaXMuX2Jsb2NrLmZpbGwoMCx0aGlzLl9ibG9ja09mZnNldCw1NiksdGhpcy5fYmxvY2sud3JpdGVVSW50MzJMRSh0aGlzLl9sZW5ndGhbMF0sNTYpLHRoaXMuX2Jsb2NrLndyaXRlVUludDMyTEUodGhpcy5fbGVuZ3RoWzFdLDYwKSx0aGlzLl91cGRhdGUoKTt2YXIgdD1uZXcgcigxNik7cmV0dXJuIHQud3JpdGVJbnQzMkxFKHRoaXMuX2EsMCksdC53cml0ZUludDMyTEUodGhpcy5fYiw0KSx0LndyaXRlSW50MzJMRSh0aGlzLl9jLDgpLHQud3JpdGVJbnQzMkxFKHRoaXMuX2QsMTIpLHR9LGUuZXhwb3J0cz1hfSkuY2FsbCh0aGlzLHQoImJ1ZmZlciIpLkJ1ZmZlcil9LHtidWZmZXI6NDcsImhhc2gtYmFzZSI6MzI3LGluaGVyaXRzOjMyNX1dLDMyNzpbZnVuY3Rpb24odCxlLHIpe2FyZ3VtZW50c1s0XVsxMDVdWzBdLmFwcGx5KHIsYXJndW1lbnRzKX0se2R1cDoxMDUsaW5oZXJpdHM6MzI1LCJzYWZlLWJ1ZmZlciI6MzUwLHN0cmVhbToxNTZ9XSwzMjg6W2Z1bmN0aW9uKHQsZSxyKXthcmd1bWVudHNbNF1bMTA2XVswXS5hcHBseShyLGFyZ3VtZW50cyl9LHsiYm4uanMiOjI0MCxicm9yYW5kOjI0MSxkdXA6MTA2fV0sMzI5OltmdW5jdGlvbih0LGUscil7YXJndW1lbnRzWzRdWzEwN11bMF0uYXBwbHkocixhcmd1bWVudHMpfSx7ZHVwOjEwN31dLDMzMDpbZnVuY3Rpb24odCxlLHIpe2FyZ3VtZW50c1s0XVsxMDhdWzBdLmFwcGx5KHIsYXJndW1lbnRzKX0se2R1cDoxMDh9XSwzMzE6W2Z1bmN0aW9uKHQsZSxyKXthcmd1bWVudHNbNF1bMTA5XVswXS5hcHBseShyLGFyZ3VtZW50cyl9LHtkdXA6MTA5fV0sMzMyOltmdW5jdGlvbih0LGUscil7YXJndW1lbnRzWzRdWzExMF1bMF0uYXBwbHkocixhcmd1bWVudHMpfSx7Ii4vY2VydGlmaWNhdGUiOjMzMywiYXNuMS5qcyI6MjI2LGR1cDoxMTB9XSwzMzM6W2Z1bmN0aW9uKHQsZSxyKXthcmd1bWVudHNbNF1bMTExXVswXS5hcHBseShyLGFyZ3VtZW50cyl9LHsiYXNuMS5qcyI6MjI2LGR1cDoxMTF9XSwzMzQ6W2Z1bmN0aW9uKHQsZSxyKXsoZnVuY3Rpb24ocil7dmFyIG49L1Byb2MtVHlwZTogNCxFTkNSWVBURURcblxyP0RFSy1JbmZvOiBBRVMtKCg/OjEyOCl8KD86MTkyKXwoPzoyNTYpKS1DQkMsKFswLTlBLUhdKylcblxyP1xuXHI/KFswLTlBLXpcblxyXCtcL1w9XSspXG5ccj8vbSxpPS9eLS0tLS1CRUdJTiAoKD86LiogS0VZKXxDRVJUSUZJQ0FURSktLS0tLVxuL20sbz0vXi0tLS0tQkVHSU4gKCg/Oi4qIEtFWSl8Q0VSVElGSUNBVEUpLS0tLS1cblxyPyhbMC05QS16XG5cclwrXC9cPV0rKVxuXHI/LS0tLS1FTkQgXDEtLS0tLSQvbSxhPXQoImV2cF9ieXRlc3Rva2V5Iikscz10KCJicm93c2VyaWZ5LWFlcyIpO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciB1LGY9dC50b1N0cmluZygpLGM9Zi5tYXRjaChuKTtpZihjKXt2YXIgaD0iYWVzIitjWzFdLGQ9bmV3IHIoY1syXSwiaGV4IiksbD1uZXcgcihjWzNdLnJlcGxhY2UoL1xyP1xuL2csIiIpLCJiYXNlNjQiKSxwPWEoZSxkLnNsaWNlKDAsOCkscGFyc2VJbnQoY1sxXSwxMCkpLmtleSxiPVtdLG09cy5jcmVhdGVEZWNpcGhlcml2KGgscCxkKTtiLnB1c2gobS51cGRhdGUobCkpLGIucHVzaChtLmZpbmFsKCkpLHU9ci5jb25jYXQoYil9ZWxzZXt2YXIgeT1mLm1hdGNoKG8pO3U9bmV3IHIoeVsyXS5yZXBsYWNlKC9ccj9cbi9nLCIiKSwiYmFzZTY0Iil9cmV0dXJue3RhZzpmLm1hdGNoKGkpWzFdLGRhdGE6dX19fSkuY2FsbCh0aGlzLHQoImJ1ZmZlciIpLkJ1ZmZlcil9LHsiYnJvd3NlcmlmeS1hZXMiOjI0NCxidWZmZXI6NDcsZXZwX2J5dGVzdG9rZXk6MzEwfV0sMzM1OltmdW5jdGlvbih0LGUscil7KGZ1bmN0aW9uKHIpe3ZhciBuPXQoIi4vYXNuMSIpLGk9dCgiLi9hZXNpZC5qc29uIiksbz10KCIuL2ZpeFByb2MiKSxhPXQoImJyb3dzZXJpZnktYWVzIikscz10KCJwYmtkZjIiKTtmdW5jdGlvbiB1KHQpe3ZhciBlOyJvYmplY3QiIT09KHZvaWQgMD09PXQ/InVuZGVmaW5lZCI6X3R5cGVvZih0KSl8fHIuaXNCdWZmZXIodCl8fChlPXQucGFzc3BocmFzZSx0PXQua2V5KSwic3RyaW5nIj09dHlwZW9mIHQmJih0PW5ldyByKHQpKTt2YXIgdSxmLGMsaCxkLGwscCxiLG0seSx2LGcsdyxfPW8odCxlKSxNPV8udGFnLHg9Xy5kYXRhO3N3aXRjaChNKXtjYXNlIkNFUlRJRklDQVRFIjpmPW4uY2VydGlmaWNhdGUuZGVjb2RlKHgsImRlciIpLnRic0NlcnRpZmljYXRlLnN1YmplY3RQdWJsaWNLZXlJbmZvO2Nhc2UiUFVCTElDIEtFWSI6c3dpdGNoKGZ8fChmPW4uUHVibGljS2V5LmRlY29kZSh4LCJkZXIiKSksdT1mLmFsZ29yaXRobS5hbGdvcml0aG0uam9pbigiLiIpKXtjYXNlIjEuMi44NDAuMTEzNTQ5LjEuMS4xIjpyZXR1cm4gbi5SU0FQdWJsaWNLZXkuZGVjb2RlKGYuc3ViamVjdFB1YmxpY0tleS5kYXRhLCJkZXIiKTtjYXNlIjEuMi44NDAuMTAwNDUuMi4xIjpyZXR1cm4gZi5zdWJqZWN0UHJpdmF0ZUtleT1mLnN1YmplY3RQdWJsaWNLZXkse3R5cGU6ImVjIixkYXRhOmZ9O2Nhc2UiMS4yLjg0MC4xMDA0MC40LjEiOnJldHVybiBmLmFsZ29yaXRobS5wYXJhbXMucHViX2tleT1uLkRTQXBhcmFtLmRlY29kZShmLnN1YmplY3RQdWJsaWNLZXkuZGF0YSwiZGVyIikse3R5cGU6ImRzYSIsZGF0YTpmLmFsZ29yaXRobS5wYXJhbXN9O2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKCJ1bmtub3duIGtleSBpZCAiK3UpfXRocm93IG5ldyBFcnJvcigidW5rbm93biBrZXkgdHlwZSAiK00pO2Nhc2UiRU5DUllQVEVEIFBSSVZBVEUgS0VZIjp4PW4uRW5jcnlwdGVkUHJpdmF0ZUtleS5kZWNvZGUoeCwiZGVyIiksaD1lLGQ9KGM9eCkuYWxnb3JpdGhtLmRlY3J5cHQua2RlLmtkZXBhcmFtcy5zYWx0LGw9cGFyc2VJbnQoYy5hbGdvcml0aG0uZGVjcnlwdC5rZGUua2RlcGFyYW1zLml0ZXJzLnRvU3RyaW5nKCksMTApLHA9aVtjLmFsZ29yaXRobS5kZWNyeXB0LmNpcGhlci5hbGdvLmpvaW4oIi4iKV0sYj1jLmFsZ29yaXRobS5kZWNyeXB0LmNpcGhlci5pdixtPWMuc3ViamVjdFByaXZhdGVLZXkseT1wYXJzZUludChwLnNwbGl0KCItIilbMV0sMTApLzgsdj1zLnBia2RmMlN5bmMoaCxkLGwseSksZz1hLmNyZWF0ZURlY2lwaGVyaXYocCx2LGIpLCh3PVtdKS5wdXNoKGcudXBkYXRlKG0pKSx3LnB1c2goZy5maW5hbCgpKSx4PXIuY29uY2F0KHcpO2Nhc2UiUFJJVkFURSBLRVkiOnN3aXRjaCh1PShmPW4uUHJpdmF0ZUtleS5kZWNvZGUoeCwiZGVyIikpLmFsZ29yaXRobS5hbGdvcml0aG0uam9pbigiLiIpKXtjYXNlIjEuMi44NDAuMTEzNTQ5LjEuMS4xIjpyZXR1cm4gbi5SU0FQcml2YXRlS2V5LmRlY29kZShmLnN1YmplY3RQcml2YXRlS2V5LCJkZXIiKTtjYXNlIjEuMi44NDAuMTAwNDUuMi4xIjpyZXR1cm57Y3VydmU6Zi5hbGdvcml0aG0uY3VydmUscHJpdmF0ZUtleTpuLkVDUHJpdmF0ZUtleS5kZWNvZGUoZi5zdWJqZWN0UHJpdmF0ZUtleSwiZGVyIikucHJpdmF0ZUtleX07Y2FzZSIxLjIuODQwLjEwMDQwLjQuMSI6cmV0dXJuIGYuYWxnb3JpdGhtLnBhcmFtcy5wcml2X2tleT1uLkRTQXBhcmFtLmRlY29kZShmLnN1YmplY3RQcml2YXRlS2V5LCJkZXIiKSx7dHlwZToiZHNhIixwYXJhbXM6Zi5hbGdvcml0aG0ucGFyYW1zfTtkZWZhdWx0OnRocm93IG5ldyBFcnJvcigidW5rbm93biBrZXkgaWQgIit1KX10aHJvdyBuZXcgRXJyb3IoInVua25vd24ga2V5IHR5cGUgIitNKTtjYXNlIlJTQSBQVUJMSUMgS0VZIjpyZXR1cm4gbi5SU0FQdWJsaWNLZXkuZGVjb2RlKHgsImRlciIpO2Nhc2UiUlNBIFBSSVZBVEUgS0VZIjpyZXR1cm4gbi5SU0FQcml2YXRlS2V5LmRlY29kZSh4LCJkZXIiKTtjYXNlIkRTQSBQUklWQVRFIEtFWSI6cmV0dXJue3R5cGU6ImRzYSIscGFyYW1zOm4uRFNBUHJpdmF0ZUtleS5kZWNvZGUoeCwiZGVyIil9O2Nhc2UiRUMgUFJJVkFURSBLRVkiOnJldHVybntjdXJ2ZTooeD1uLkVDUHJpdmF0ZUtleS5kZWNvZGUoeCwiZGVyIikpLnBhcmFtZXRlcnMudmFsdWUscHJpdmF0ZUtleTp4LnByaXZhdGVLZXl9O2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKCJ1bmtub3duIGtleSB0eXBlICIrTSl9fWUuZXhwb3J0cz11LHUuc2lnbmF0dXJlPW4uc2lnbmF0dXJlfSkuY2FsbCh0aGlzLHQoImJ1ZmZlciIpLkJ1ZmZlcil9LHsiLi9hZXNpZC5qc29uIjozMzEsIi4vYXNuMSI6MzMyLCIuL2ZpeFByb2MiOjMzNCwiYnJvd3NlcmlmeS1hZXMiOjI0NCxidWZmZXI6NDcscGJrZGYyOjMzNn1dLDMzNjpbZnVuY3Rpb24odCxlLHIpe2FyZ3VtZW50c1s0XVsxMTRdWzBdLmFwcGx5KHIsYXJndW1lbnRzKX0seyIuL2xpYi9hc3luYyI6MzM3LCIuL2xpYi9zeW5jIjozNDAsZHVwOjExNH1dLDMzNzpbZnVuY3Rpb24odCxlLHIpeyhmdW5jdGlvbihyLG4pe3ZhciBpLG89dCgiLi9wcmVjb25kaXRpb24iKSxhPXQoIi4vZGVmYXVsdC1lbmNvZGluZyIpLHM9dCgiLi9zeW5jIiksdT10KCJzYWZlLWJ1ZmZlciIpLkJ1ZmZlcixmPW4uY3J5cHRvJiZuLmNyeXB0by5zdWJ0bGUsYz17c2hhOiJTSEEtMSIsInNoYS0xIjoiU0hBLTEiLHNoYTE6IlNIQS0xIixzaGEyNTY6IlNIQS0yNTYiLCJzaGEtMjU2IjoiU0hBLTI1NiIsc2hhMzg0OiJTSEEtMzg0Iiwic2hhLTM4NCI6IlNIQS0zODQiLCJzaGEtNTEyIjoiU0hBLTUxMiIsc2hhNTEyOiJTSEEtNTEyIn0saD1bXTtmdW5jdGlvbiBkKHQsZSxyLG4saSl7cmV0dXJuIGYuaW1wb3J0S2V5KCJyYXciLHQse25hbWU6IlBCS0RGMiJ9LCExLFsiZGVyaXZlQml0cyJdKS50aGVuKGZ1bmN0aW9uKHQpe3JldHVybiBmLmRlcml2ZUJpdHMoe25hbWU6IlBCS0RGMiIsc2FsdDplLGl0ZXJhdGlvbnM6cixoYXNoOntuYW1lOml9fSx0LG48PDMpfSkudGhlbihmdW5jdGlvbih0KXtyZXR1cm4gdS5mcm9tKHQpfSl9ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSxsLHAsYixtKXtpZih1LmlzQnVmZmVyKHQpfHwodD11LmZyb20odCxhKSksdS5pc0J1ZmZlcihlKXx8KGU9dS5mcm9tKGUsYSkpLG8obCxwKSwiZnVuY3Rpb24iPT10eXBlb2YgYiYmKG09YixiPXZvaWQgMCksImZ1bmN0aW9uIiE9dHlwZW9mIG0pdGhyb3cgbmV3IEVycm9yKCJObyBjYWxsYmFjayBwcm92aWRlZCB0byBwYmtkZjIiKTt2YXIgeSx2LGc9Y1soYj1ifHwic2hhMSIpLnRvTG93ZXJDYXNlKCldO2lmKCFnfHwiZnVuY3Rpb24iIT10eXBlb2Ygbi5Qcm9taXNlKXJldHVybiByLm5leHRUaWNrKGZ1bmN0aW9uKCl7dmFyIHI7dHJ5e3I9cyh0LGUsbCxwLGIpfWNhdGNoKHQpe3JldHVybiBtKHQpfW0obnVsbCxyKX0pO3k9ZnVuY3Rpb24odCl7aWYobi5wcm9jZXNzJiYhbi5wcm9jZXNzLmJyb3dzZXIpcmV0dXJuIFByb21pc2UucmVzb2x2ZSghMSk7aWYoIWZ8fCFmLmltcG9ydEtleXx8IWYuZGVyaXZlQml0cylyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCExKTtpZih2b2lkIDAhPT1oW3RdKXJldHVybiBoW3RdO3ZhciBlPWQoaT1pfHx1LmFsbG9jKDgpLGksMTAsMTI4LHQpLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4hMH0pLmNhdGNoKGZ1bmN0aW9uKCl7cmV0dXJuITF9KTtyZXR1cm4gaFt0XT1lLGV9KGcpLnRoZW4oZnVuY3Rpb24ocil7cmV0dXJuIHI/ZCh0LGUsbCxwLGcpOnModCxlLGwscCxiKX0pLHY9bSx5LnRoZW4oZnVuY3Rpb24odCl7ci5uZXh0VGljayhmdW5jdGlvbigpe3YobnVsbCx0KX0pfSxmdW5jdGlvbih0KXtyLm5leHRUaWNrKGZ1bmN0aW9uKCl7dih0KX0pfSl9fSkuY2FsbCh0aGlzLHQoIl9wcm9jZXNzIiksInVuZGVmaW5lZCIhPXR5cGVvZiBnbG9iYWw/Z2xvYmFsOiJ1bmRlZmluZWQiIT10eXBlb2Ygc2VsZj9zZWxmOiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93P3dpbmRvdzp7fSl9LHsiLi9kZWZhdWx0LWVuY29kaW5nIjozMzgsIi4vcHJlY29uZGl0aW9uIjozMzksIi4vc3luYyI6MzQwLF9wcm9jZXNzOjEyMCwic2FmZS1idWZmZXIiOjM1MH1dLDMzODpbZnVuY3Rpb24odCxlLHIpeyhmdW5jdGlvbih0KXt2YXIgcjt0LmJyb3dzZXI/cj0idXRmLTgiOnI9cGFyc2VJbnQodC52ZXJzaW9uLnNwbGl0KCIuIilbMF0uc2xpY2UoMSksMTApPj02PyJ1dGYtOCI6ImJpbmFyeSI7ZS5leHBvcnRzPXJ9KS5jYWxsKHRoaXMsdCgiX3Byb2Nlc3MiKSl9LHtfcHJvY2VzczoxMjB9XSwzMzk6W2Z1bmN0aW9uKHQsZSxyKXthcmd1bWVudHNbNF1bMTE3XVswXS5hcHBseShyLGFyZ3VtZW50cyl9LHtkdXA6MTE3fV0sMzQwOltmdW5jdGlvbih0LGUscil7YXJndW1lbnRzWzRdWzExOF1bMF0uYXBwbHkocixhcmd1bWVudHMpfSx7Ii4vZGVmYXVsdC1lbmNvZGluZyI6MzM4LCIuL3ByZWNvbmRpdGlvbiI6MzM5LCJjcmVhdGUtaGFzaC9tZDUiOjI3NCxkdXA6MTE4LHJpcGVtZDE2MDozNDksInNhZmUtYnVmZmVyIjozNTAsInNoYS5qcyI6MzU0fV0sMzQxOltmdW5jdGlvbih0LGUscil7YXJndW1lbnRzWzRdWzEyMV1bMF0uYXBwbHkocixhcmd1bWVudHMpfSx7Ii4vcHJpdmF0ZURlY3J5cHQiOjM0MywiLi9wdWJsaWNFbmNyeXB0IjozNDQsZHVwOjEyMX1dLDM0MjpbZnVuY3Rpb24odCxlLHIpeyhmdW5jdGlvbihyKXt2YXIgbj10KCJjcmVhdGUtaGFzaCIpO2Z1bmN0aW9uIGkodCl7dmFyIGU9bmV3IHIoNCk7cmV0dXJuIGUud3JpdGVVSW50MzJCRSh0LDApLGV9ZS5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBvLGE9bmV3IHIoIiIpLHM9MDthLmxlbmd0aDxlOylvPWkocysrKSxhPXIuY29uY2F0KFthLG4oInNoYTEiKS51cGRhdGUodCkudXBkYXRlKG8pLmRpZ2VzdCgpXSk7cmV0dXJuIGEuc2xpY2UoMCxlKX19KS5jYWxsKHRoaXMsdCgiYnVmZmVyIikuQnVmZmVyKX0se2J1ZmZlcjo0NywiY3JlYXRlLWhhc2giOjI3Mn1dLDM0MzpbZnVuY3Rpb24odCxlLHIpeyhmdW5jdGlvbihyKXt2YXIgbj10KCJwYXJzZS1hc24xIiksaT10KCIuL21nZiIpLG89dCgiLi94b3IiKSxhPXQoImJuLmpzIikscz10KCJicm93c2VyaWZ5LXJzYSIpLHU9dCgiY3JlYXRlLWhhc2giKSxmPXQoIi4vd2l0aFB1YmxpYyIpO2UuZXhwb3J0cz1mdW5jdGlvbih0LGUsYyl7dmFyIGg7aD10LnBhZGRpbmc/dC5wYWRkaW5nOmM/MTo0O3ZhciBkLGw9bih0KSxwPWwubW9kdWx1cy5ieXRlTGVuZ3RoKCk7aWYoZS5sZW5ndGg+cHx8bmV3IGEoZSkuY21wKGwubW9kdWx1cyk+PTApdGhyb3cgbmV3IEVycm9yKCJkZWNyeXB0aW9uIGVycm9yIik7ZD1jP2YobmV3IGEoZSksbCk6cyhlLGwpO3ZhciBiPW5ldyByKHAtZC5sZW5ndGgpO2lmKGIuZmlsbCgwKSxkPXIuY29uY2F0KFtiLGRdLHApLDQ9PT1oKXJldHVybiBmdW5jdGlvbih0LGUpe3QubW9kdWx1czt2YXIgbj10Lm1vZHVsdXMuYnl0ZUxlbmd0aCgpLGE9KGUubGVuZ3RoLHUoInNoYTEiKS51cGRhdGUobmV3IHIoIiIpKS5kaWdlc3QoKSkscz1hLmxlbmd0aDtpZigwIT09ZVswXSl0aHJvdyBuZXcgRXJyb3IoImRlY3J5cHRpb24gZXJyb3IiKTt2YXIgZj1lLnNsaWNlKDEscysxKSxjPWUuc2xpY2UocysxKSxoPW8oZixpKGMscykpLGQ9byhjLGkoaCxuLXMtMSkpO2lmKGZ1bmN0aW9uKHQsZSl7dD1uZXcgcih0KSxlPW5ldyByKGUpO3ZhciBuPTAsaT10Lmxlbmd0aDt0Lmxlbmd0aCE9PWUubGVuZ3RoJiYobisrLGk9TWF0aC5taW4odC5sZW5ndGgsZS5sZW5ndGgpKTt2YXIgbz0tMTtmb3IoOysrbzxpOyluKz10W29dXmVbb107cmV0dXJuIG59KGEsZC5zbGljZSgwLHMpKSl0aHJvdyBuZXcgRXJyb3IoImRlY3J5cHRpb24gZXJyb3IiKTt2YXIgbD1zO2Zvcig7MD09PWRbbF07KWwrKztpZigxIT09ZFtsKytdKXRocm93IG5ldyBFcnJvcigiZGVjcnlwdGlvbiBlcnJvciIpO3JldHVybiBkLnNsaWNlKGwpfShsLGQpO2lmKDE9PT1oKXJldHVybiBmdW5jdGlvbih0LGUscil7dmFyIG49ZS5zbGljZSgwLDIpLGk9MixvPTA7Zm9yKDswIT09ZVtpKytdOylpZihpPj1lLmxlbmd0aCl7bysrO2JyZWFrfXZhciBhPWUuc2xpY2UoMixpLTEpO2Uuc2xpY2UoaS0xLGkpOygiMDAwMiIhPT1uLnRvU3RyaW5nKCJoZXgiKSYmIXJ8fCIwMDAxIiE9PW4udG9TdHJpbmcoImhleCIpJiZyKSYmbysrO2EubGVuZ3RoPDgmJm8rKztpZihvKXRocm93IG5ldyBFcnJvcigiZGVjcnlwdGlvbiBlcnJvciIpO3JldHVybiBlLnNsaWNlKGkpfSgwLGQsYyk7aWYoMz09PWgpcmV0dXJuIGQ7dGhyb3cgbmV3IEVycm9yKCJ1bmtub3duIHBhZGRpbmciKX19KS5jYWxsKHRoaXMsdCgiYnVmZmVyIikuQnVmZmVyKX0seyIuL21nZiI6MzQyLCIuL3dpdGhQdWJsaWMiOjM0NSwiLi94b3IiOjM0NiwiYm4uanMiOjI0MCwiYnJvd3NlcmlmeS1yc2EiOjI2MixidWZmZXI6NDcsImNyZWF0ZS1oYXNoIjoyNzIsInBhcnNlLWFzbjEiOjMzNX1dLDM0NDpbZnVuY3Rpb24odCxlLHIpeyhmdW5jdGlvbihyKXt2YXIgbj10KCJwYXJzZS1hc24xIiksaT10KCJyYW5kb21ieXRlcyIpLG89dCgiY3JlYXRlLWhhc2giKSxhPXQoIi4vbWdmIikscz10KCIuL3hvciIpLHU9dCgiYm4uanMiKSxmPXQoIi4vd2l0aFB1YmxpYyIpLGM9dCgiYnJvd3NlcmlmeS1yc2EiKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlLGgpe3ZhciBkO2Q9dC5wYWRkaW5nP3QucGFkZGluZzpoPzE6NDt2YXIgbCxwPW4odCk7aWYoND09PWQpbD1mdW5jdGlvbih0LGUpe3ZhciBuPXQubW9kdWx1cy5ieXRlTGVuZ3RoKCksZj1lLmxlbmd0aCxjPW8oInNoYTEiKS51cGRhdGUobmV3IHIoIiIpKS5kaWdlc3QoKSxoPWMubGVuZ3RoLGQ9MipoO2lmKGY+bi1kLTIpdGhyb3cgbmV3IEVycm9yKCJtZXNzYWdlIHRvbyBsb25nIik7dmFyIGw9bmV3IHIobi1mLWQtMik7bC5maWxsKDApO3ZhciBwPW4taC0xLGI9aShoKSxtPXMoci5jb25jYXQoW2MsbCxuZXcgcihbMV0pLGVdLHApLGEoYixwKSkseT1zKGIsYShtLGgpKTtyZXR1cm4gbmV3IHUoci5jb25jYXQoW25ldyByKFswXSkseSxtXSxuKSl9KHAsZSk7ZWxzZSBpZigxPT09ZClsPWZ1bmN0aW9uKHQsZSxuKXt2YXIgbyxhPWUubGVuZ3RoLHM9dC5tb2R1bHVzLmJ5dGVMZW5ndGgoKTtpZihhPnMtMTEpdGhyb3cgbmV3IEVycm9yKCJtZXNzYWdlIHRvbyBsb25nIik7bj8obz1uZXcgcihzLWEtMykpLmZpbGwoMjU1KTpvPWZ1bmN0aW9uKHQsZSl7dmFyIG4sbz1uZXcgcih0KSxhPTAscz1pKDIqdCksdT0wO2Zvcig7YTx0Oyl1PT09cy5sZW5ndGgmJihzPWkoMip0KSx1PTApLChuPXNbdSsrXSkmJihvW2ErK109bik7cmV0dXJuIG99KHMtYS0zKTtyZXR1cm4gbmV3IHUoci5jb25jYXQoW25ldyByKFswLG4/MToyXSksbyxuZXcgcihbMF0pLGVdLHMpKX0ocCxlLGgpO2Vsc2V7aWYoMyE9PWQpdGhyb3cgbmV3IEVycm9yKCJ1bmtub3duIHBhZGRpbmciKTtpZigobD1uZXcgdShlKSkuY21wKHAubW9kdWx1cyk+PTApdGhyb3cgbmV3IEVycm9yKCJkYXRhIHRvbyBsb25nIGZvciBtb2R1bHVzIil9cmV0dXJuIGg/YyhsLHApOmYobCxwKX19KS5jYWxsKHRoaXMsdCgiYnVmZmVyIikuQnVmZmVyKX0seyIuL21nZiI6MzQyLCIuL3dpdGhQdWJsaWMiOjM0NSwiLi94b3IiOjM0NiwiYm4uanMiOjI0MCwiYnJvd3NlcmlmeS1yc2EiOjI2MixidWZmZXI6NDcsImNyZWF0ZS1oYXNoIjoyNzIsInBhcnNlLWFzbjEiOjMzNSxyYW5kb21ieXRlczozNDd9XSwzNDU6W2Z1bmN0aW9uKHQsZSxyKXsoZnVuY3Rpb24ocil7dmFyIG49dCgiYm4uanMiKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gbmV3IHIodC50b1JlZChuLm1vbnQoZS5tb2R1bHVzKSkucmVkUG93KG5ldyBuKGUucHVibGljRXhwb25lbnQpKS5mcm9tUmVkKCkudG9BcnJheSgpKX19KS5jYWxsKHRoaXMsdCgiYnVmZmVyIikuQnVmZmVyKX0seyJibi5qcyI6MjQwLGJ1ZmZlcjo0N31dLDM0NjpbZnVuY3Rpb24odCxlLHIpe2FyZ3VtZW50c1s0XVsxMjZdWzBdLmFwcGx5KHIsYXJndW1lbnRzKX0se2R1cDoxMjZ9XSwzNDc6W2Z1bmN0aW9uKHQsZSxyKXsoZnVuY3Rpb24ocixuKXt2YXIgaT10KCJzYWZlLWJ1ZmZlciIpLkJ1ZmZlcixvPW4uY3J5cHRvfHxuLm1zQ3J5cHRvO28mJm8uZ2V0UmFuZG9tVmFsdWVzP2UuZXhwb3J0cz1mdW5jdGlvbih0LGUpe2lmKHQ+NjU1MzYpdGhyb3cgbmV3IEVycm9yKCJyZXF1ZXN0ZWQgdG9vIG1hbnkgcmFuZG9tIGJ5dGVzIik7dmFyIGE9bmV3IG4uVWludDhBcnJheSh0KTt0PjAmJm8uZ2V0UmFuZG9tVmFsdWVzKGEpO3ZhciBzPWkuZnJvbShhLmJ1ZmZlcik7aWYoImZ1bmN0aW9uIj09dHlwZW9mIGUpcmV0dXJuIHIubmV4dFRpY2soZnVuY3Rpb24oKXtlKG51bGwscyl9KTtyZXR1cm4gc306ZS5leHBvcnRzPWZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKCJTZWN1cmUgcmFuZG9tIG51bWJlciBnZW5lcmF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBicm93c2VyLlxuVXNlIENocm9tZSwgRmlyZWZveCBvciBJbnRlcm5ldCBFeHBsb3JlciAxMSIpfX0pLmNhbGwodGhpcyx0KCJfcHJvY2VzcyIpLCJ1bmRlZmluZWQiIT10eXBlb2YgZ2xvYmFsP2dsb2JhbDoidW5kZWZpbmVkIiE9dHlwZW9mIHNlbGY/c2VsZjoidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6e30pfSx7X3Byb2Nlc3M6MTIwLCJzYWZlLWJ1ZmZlciI6MzUwfV0sMzQ4OltmdW5jdGlvbih0LGUscil7KGZ1bmN0aW9uKGUsbil7ZnVuY3Rpb24gaSgpe3Rocm93IG5ldyBFcnJvcigic2VjdXJlIHJhbmRvbSBudW1iZXIgZ2VuZXJhdGlvbiBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMgYnJvd3NlclxudXNlIGNocm9tZSwgRmlyZUZveCBvciBJbnRlcm5ldCBFeHBsb3JlciAxMSIpfXZhciBvPXQoInNhZmUtYnVmZmVyIiksYT10KCJyYW5kb21ieXRlcyIpLHM9by5CdWZmZXIsdT1vLmtNYXhMZW5ndGgsZj1uLmNyeXB0b3x8bi5tc0NyeXB0byxjPU1hdGgucG93KDIsMzIpLTE7ZnVuY3Rpb24gaCh0LGUpe2lmKCJudW1iZXIiIT10eXBlb2YgdHx8dCE9dCl0aHJvdyBuZXcgVHlwZUVycm9yKCJvZmZzZXQgbXVzdCBiZSBhIG51bWJlciIpO2lmKHQ+Y3x8dDwwKXRocm93IG5ldyBUeXBlRXJyb3IoIm9mZnNldCBtdXN0IGJlIGEgdWludDMyIik7aWYodD51fHx0PmUpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIm9mZnNldCBvdXQgb2YgcmFuZ2UiKX1mdW5jdGlvbiBkKHQsZSxyKXtpZigibnVtYmVyIiE9dHlwZW9mIHR8fHQhPXQpdGhyb3cgbmV3IFR5cGVFcnJvcigic2l6ZSBtdXN0IGJlIGEgbnVtYmVyIik7aWYodD5jfHx0PDApdGhyb3cgbmV3IFR5cGVFcnJvcigic2l6ZSBtdXN0IGJlIGEgdWludDMyIik7aWYodCtlPnJ8fHQ+dSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiYnVmZmVyIHRvbyBzbWFsbCIpfWZ1bmN0aW9uIGwodCxyLG4saSl7aWYoZS5icm93c2VyKXt2YXIgbz10LmJ1ZmZlcixzPW5ldyBVaW50OEFycmF5KG8scixuKTtyZXR1cm4gZi5nZXRSYW5kb21WYWx1ZXMocyksaT92b2lkIGUubmV4dFRpY2soZnVuY3Rpb24oKXtpKG51bGwsdCl9KTp0fWlmKCFpKXJldHVybiBhKG4pLmNvcHkodCxyKSx0O2EobixmdW5jdGlvbihlLG4pe2lmKGUpcmV0dXJuIGkoZSk7bi5jb3B5KHQsciksaShudWxsLHQpfSl9ZiYmZi5nZXRSYW5kb21WYWx1ZXN8fCFlLmJyb3dzZXI/KHIucmFuZG9tRmlsbD1mdW5jdGlvbih0LGUscixpKXtpZighKHMuaXNCdWZmZXIodCl8fHQgaW5zdGFuY2VvZiBuLlVpbnQ4QXJyYXkpKXRocm93IG5ldyBUeXBlRXJyb3IoJyJidWYiIGFyZ3VtZW50IG11c3QgYmUgYSBCdWZmZXIgb3IgVWludDhBcnJheScpO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBlKWk9ZSxlPTAscj10Lmxlbmd0aDtlbHNlIGlmKCJmdW5jdGlvbiI9PXR5cGVvZiByKWk9cixyPXQubGVuZ3RoLWU7ZWxzZSBpZigiZnVuY3Rpb24iIT10eXBlb2YgaSl0aHJvdyBuZXcgVHlwZUVycm9yKCciY2IiIGFyZ3VtZW50IG11c3QgYmUgYSBmdW5jdGlvbicpO3JldHVybiBoKGUsdC5sZW5ndGgpLGQocixlLHQubGVuZ3RoKSxsKHQsZSxyLGkpfSxyLnJhbmRvbUZpbGxTeW5jPWZ1bmN0aW9uKHQsZSxyKXt2b2lkIDA9PT1lJiYoZT0wKTtpZighKHMuaXNCdWZmZXIodCl8fHQgaW5zdGFuY2VvZiBuLlVpbnQ4QXJyYXkpKXRocm93IG5ldyBUeXBlRXJyb3IoJyJidWYiIGFyZ3VtZW50IG11c3QgYmUgYSBCdWZmZXIgb3IgVWludDhBcnJheScpO2goZSx0Lmxlbmd0aCksdm9pZCAwPT09ciYmKHI9dC5sZW5ndGgtZSk7cmV0dXJuIGQocixlLHQubGVuZ3RoKSxsKHQsZSxyKX0pOihyLnJhbmRvbUZpbGw9aSxyLnJhbmRvbUZpbGxTeW5jPWkpfSkuY2FsbCh0aGlzLHQoIl9wcm9jZXNzIiksInVuZGVmaW5lZCIhPXR5cGVvZiBnbG9iYWw/Z2xvYmFsOiJ1bmRlZmluZWQiIT10eXBlb2Ygc2VsZj9zZWxmOiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93P3dpbmRvdzp7fSl9LHtfcHJvY2VzczoxMjAscmFuZG9tYnl0ZXM6MzQ3LCJzYWZlLWJ1ZmZlciI6MzUwfV0sMzQ5OltmdW5jdGlvbih0LGUscil7KGZ1bmN0aW9uKHIpe3ZhciBuPXQoImluaGVyaXRzIiksaT10KCJoYXNoLWJhc2UiKTtmdW5jdGlvbiBvKCl7aS5jYWxsKHRoaXMsNjQpLHRoaXMuX2E9MTczMjU4NDE5Myx0aGlzLl9iPTQwMjMyMzM0MTcsdGhpcy5fYz0yNTYyMzgzMTAyLHRoaXMuX2Q9MjcxNzMzODc4LHRoaXMuX2U9MzI4NTM3NzUyMH1mdW5jdGlvbiBhKHQsZSl7cmV0dXJuIHQ8PGV8dD4+PjMyLWV9ZnVuY3Rpb24gcyh0LGUscixuLGksbyxzLHUpe3JldHVybiBhKHQrKGVecl5uKStvK3N8MCx1KStpfDB9ZnVuY3Rpb24gdSh0LGUscixuLGksbyxzLHUpe3JldHVybiBhKHQrKGUmcnx+ZSZuKStvK3N8MCx1KStpfDB9ZnVuY3Rpb24gZih0LGUscixuLGksbyxzLHUpe3JldHVybiBhKHQrKChlfH5yKV5uKStvK3N8MCx1KStpfDB9ZnVuY3Rpb24gYyh0LGUscixuLGksbyxzLHUpe3JldHVybiBhKHQrKGUmbnxyJn5uKStvK3N8MCx1KStpfDB9ZnVuY3Rpb24gaCh0LGUscixuLGksbyxzLHUpe3JldHVybiBhKHQrKGVeKHJ8fm4pKStvK3N8MCx1KStpfDB9bihvLGkpLG8ucHJvdG90eXBlLl91cGRhdGU9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9bmV3IEFycmF5KDE2KSxlPTA7ZTwxNjsrK2UpdFtlXT10aGlzLl9ibG9jay5yZWFkSW50MzJMRSg0KmUpO3ZhciByPXRoaXMuX2Esbj10aGlzLl9iLGk9dGhpcy5fYyxvPXRoaXMuX2QsZD10aGlzLl9lO2Q9cyhkLHI9cyhyLG4saSxvLGQsdFswXSwwLDExKSxuLGk9YShpLDEwKSxvLHRbMV0sMCwxNCksbj1zKG49YShuLDEwKSxpPXMoaSxvPXMobyxkLHIsbixpLHRbMl0sMCwxNSksZCxyPWEociwxMCksbix0WzNdLDAsMTIpLG8sZD1hKGQsMTApLHIsdFs0XSwwLDUpLG89cyhvPWEobywxMCksZD1zKGQscj1zKHIsbixpLG8sZCx0WzVdLDAsOCksbixpPWEoaSwxMCksbyx0WzZdLDAsNykscixuPWEobiwxMCksaSx0WzddLDAsOSkscj1zKHI9YShyLDEwKSxuPXMobixpPXMoaSxvLGQscixuLHRbOF0sMCwxMSksbyxkPWEoZCwxMCkscix0WzldLDAsMTMpLGksbz1hKG8sMTApLGQsdFsxMF0sMCwxNCksaT1zKGk9YShpLDEwKSxvPXMobyxkPXMoZCxyLG4saSxvLHRbMTFdLDAsMTUpLHIsbj1hKG4sMTApLGksdFsxMl0sMCw2KSxkLHI9YShyLDEwKSxuLHRbMTNdLDAsNyksZD11KGQ9YShkLDEwKSxyPXMocixuPXMobixpLG8sZCxyLHRbMTRdLDAsOSksaSxvPWEobywxMCksZCx0WzE1XSwwLDgpLG4saT1hKGksMTApLG8sdFs3XSwxNTE4NTAwMjQ5LDcpLG49dShuPWEobiwxMCksaT11KGksbz11KG8sZCxyLG4saSx0WzRdLDE1MTg1MDAyNDksNiksZCxyPWEociwxMCksbix0WzEzXSwxNTE4NTAwMjQ5LDgpLG8sZD1hKGQsMTApLHIsdFsxXSwxNTE4NTAwMjQ5LDEzKSxvPXUobz1hKG8sMTApLGQ9dShkLHI9dShyLG4saSxvLGQsdFsxMF0sMTUxODUwMDI0OSwxMSksbixpPWEoaSwxMCksbyx0WzZdLDE1MTg1MDAyNDksOSkscixuPWEobiwxMCksaSx0WzE1XSwxNTE4NTAwMjQ5LDcpLHI9dShyPWEociwxMCksbj11KG4saT11KGksbyxkLHIsbix0WzNdLDE1MTg1MDAyNDksMTUpLG8sZD1hKGQsMTApLHIsdFsxMl0sMTUxODUwMDI0OSw3KSxpLG89YShvLDEwKSxkLHRbMF0sMTUxODUwMDI0OSwxMiksaT11KGk9YShpLDEwKSxvPXUobyxkPXUoZCxyLG4saSxvLHRbOV0sMTUxODUwMDI0OSwxNSkscixuPWEobiwxMCksaSx0WzVdLDE1MTg1MDAyNDksOSksZCxyPWEociwxMCksbix0WzJdLDE1MTg1MDAyNDksMTEpLGQ9dShkPWEoZCwxMCkscj11KHIsbj11KG4saSxvLGQscix0WzE0XSwxNTE4NTAwMjQ5LDcpLGksbz1hKG8sMTApLGQsdFsxMV0sMTUxODUwMDI0OSwxMyksbixpPWEoaSwxMCksbyx0WzhdLDE1MTg1MDAyNDksMTIpLG49ZihuPWEobiwxMCksaT1mKGksbz1mKG8sZCxyLG4saSx0WzNdLDE4NTk3NzUzOTMsMTEpLGQscj1hKHIsMTApLG4sdFsxMF0sMTg1OTc3NTM5MywxMyksbyxkPWEoZCwxMCkscix0WzE0XSwxODU5Nzc1MzkzLDYpLG89ZihvPWEobywxMCksZD1mKGQscj1mKHIsbixpLG8sZCx0WzRdLDE4NTk3NzUzOTMsNyksbixpPWEoaSwxMCksbyx0WzldLDE4NTk3NzUzOTMsMTQpLHIsbj1hKG4sMTApLGksdFsxNV0sMTg1OTc3NTM5Myw5KSxyPWYocj1hKHIsMTApLG49ZihuLGk9ZihpLG8sZCxyLG4sdFs4XSwxODU5Nzc1MzkzLDEzKSxvLGQ9YShkLDEwKSxyLHRbMV0sMTg1OTc3NTM5MywxNSksaSxvPWEobywxMCksZCx0WzJdLDE4NTk3NzUzOTMsMTQpLGk9ZihpPWEoaSwxMCksbz1mKG8sZD1mKGQscixuLGksbyx0WzddLDE4NTk3NzUzOTMsOCkscixuPWEobiwxMCksaSx0WzBdLDE4NTk3NzUzOTMsMTMpLGQscj1hKHIsMTApLG4sdFs2XSwxODU5Nzc1MzkzLDYpLGQ9ZihkPWEoZCwxMCkscj1mKHIsbj1mKG4saSxvLGQscix0WzEzXSwxODU5Nzc1MzkzLDUpLGksbz1hKG8sMTApLGQsdFsxMV0sMTg1OTc3NTM5MywxMiksbixpPWEoaSwxMCksbyx0WzVdLDE4NTk3NzUzOTMsNyksbj1jKG49YShuLDEwKSxpPWMoaSxvPWYobyxkLHIsbixpLHRbMTJdLDE4NTk3NzUzOTMsNSksZCxyPWEociwxMCksbix0WzFdLDI0MDA5NTk3MDgsMTEpLG8sZD1hKGQsMTApLHIsdFs5XSwyNDAwOTU5NzA4LDEyKSxvPWMobz1hKG8sMTApLGQ9YyhkLHI9YyhyLG4saSxvLGQsdFsxMV0sMjQwMDk1OTcwOCwxNCksbixpPWEoaSwxMCksbyx0WzEwXSwyNDAwOTU5NzA4LDE1KSxyLG49YShuLDEwKSxpLHRbMF0sMjQwMDk1OTcwOCwxNCkscj1jKHI9YShyLDEwKSxuPWMobixpPWMoaSxvLGQscixuLHRbOF0sMjQwMDk1OTcwOCwxNSksbyxkPWEoZCwxMCkscix0WzEyXSwyNDAwOTU5NzA4LDkpLGksbz1hKG8sMTApLGQsdFs0XSwyNDAwOTU5NzA4LDgpLGk9YyhpPWEoaSwxMCksbz1jKG8sZD1jKGQscixuLGksbyx0WzEzXSwyNDAwOTU5NzA4LDkpLHIsbj1hKG4sMTApLGksdFszXSwyNDAwOTU5NzA4LDE0KSxkLHI9YShyLDEwKSxuLHRbN10sMjQwMDk1OTcwOCw1KSxkPWMoZD1hKGQsMTApLHI9YyhyLG49YyhuLGksbyxkLHIsdFsxNV0sMjQwMDk1OTcwOCw2KSxpLG89YShvLDEwKSxkLHRbMTRdLDI0MDA5NTk3MDgsOCksbixpPWEoaSwxMCksbyx0WzVdLDI0MDA5NTk3MDgsNiksbj1oKG49YShuLDEwKSxpPWMoaSxvPWMobyxkLHIsbixpLHRbNl0sMjQwMDk1OTcwOCw1KSxkLHI9YShyLDEwKSxuLHRbMl0sMjQwMDk1OTcwOCwxMiksbyxkPWEoZCwxMCkscix0WzRdLDI4NDA4NTM4MzgsOSksbz1oKG89YShvLDEwKSxkPWgoZCxyPWgocixuLGksbyxkLHRbMF0sMjg0MDg1MzgzOCwxNSksbixpPWEoaSwxMCksbyx0WzVdLDI4NDA4NTM4MzgsNSkscixuPWEobiwxMCksaSx0WzldLDI4NDA4NTM4MzgsMTEpLHI9aChyPWEociwxMCksbj1oKG4saT1oKGksbyxkLHIsbix0WzddLDI4NDA4NTM4MzgsNiksbyxkPWEoZCwxMCkscix0WzEyXSwyODQwODUzODM4LDgpLGksbz1hKG8sMTApLGQsdFsyXSwyODQwODUzODM4LDEzKSxpPWgoaT1hKGksMTApLG89aChvLGQ9aChkLHIsbixpLG8sdFsxMF0sMjg0MDg1MzgzOCwxMikscixuPWEobiwxMCksaSx0WzE0XSwyODQwODUzODM4LDUpLGQscj1hKHIsMTApLG4sdFsxXSwyODQwODUzODM4LDEyKSxkPWgoZD1hKGQsMTApLHI9aChyLG49aChuLGksbyxkLHIsdFszXSwyODQwODUzODM4LDEzKSxpLG89YShvLDEwKSxkLHRbOF0sMjg0MDg1MzgzOCwxNCksbixpPWEoaSwxMCksbyx0WzExXSwyODQwODUzODM4LDExKSxuPWgobj1hKG4sMTApLGk9aChpLG89aChvLGQscixuLGksdFs2XSwyODQwODUzODM4LDgpLGQscj1hKHIsMTApLG4sdFsxNV0sMjg0MDg1MzgzOCw1KSxvLGQ9YShkLDEwKSxyLHRbMTNdLDI4NDA4NTM4MzgsNiksbz1hKG8sMTApO3ZhciBsPXRoaXMuX2EscD10aGlzLl9iLGI9dGhpcy5fYyxtPXRoaXMuX2QseT10aGlzLl9lO3k9aCh5LGw9aChsLHAsYixtLHksdFs1XSwxMzUyODI5OTI2LDgpLHAsYj1hKGIsMTApLG0sdFsxNF0sMTM1MjgyOTkyNiw5KSxwPWgocD1hKHAsMTApLGI9aChiLG09aChtLHksbCxwLGIsdFs3XSwxMzUyODI5OTI2LDkpLHksbD1hKGwsMTApLHAsdFswXSwxMzUyODI5OTI2LDExKSxtLHk9YSh5LDEwKSxsLHRbOV0sMTM1MjgyOTkyNiwxMyksbT1oKG09YShtLDEwKSx5PWgoeSxsPWgobCxwLGIsbSx5LHRbMl0sMTM1MjgyOTkyNiwxNSkscCxiPWEoYiwxMCksbSx0WzExXSwxMzUyODI5OTI2LDE1KSxsLHA9YShwLDEwKSxiLHRbNF0sMTM1MjgyOTkyNiw1KSxsPWgobD1hKGwsMTApLHA9aChwLGI9aChiLG0seSxsLHAsdFsxM10sMTM1MjgyOTkyNiw3KSxtLHk9YSh5LDEwKSxsLHRbNl0sMTM1MjgyOTkyNiw3KSxiLG09YShtLDEwKSx5LHRbMTVdLDEzNTI4Mjk5MjYsOCksYj1oKGI9YShiLDEwKSxtPWgobSx5PWgoeSxsLHAsYixtLHRbOF0sMTM1MjgyOTkyNiwxMSksbCxwPWEocCwxMCksYix0WzFdLDEzNTI4Mjk5MjYsMTQpLHksbD1hKGwsMTApLHAsdFsxMF0sMTM1MjgyOTkyNiwxNCkseT1jKHk9YSh5LDEwKSxsPWgobCxwPWgocCxiLG0seSxsLHRbM10sMTM1MjgyOTkyNiwxMiksYixtPWEobSwxMCkseSx0WzEyXSwxMzUyODI5OTI2LDYpLHAsYj1hKGIsMTApLG0sdFs2XSwxNTQ4NjAzNjg0LDkpLHA9YyhwPWEocCwxMCksYj1jKGIsbT1jKG0seSxsLHAsYix0WzExXSwxNTQ4NjAzNjg0LDEzKSx5LGw9YShsLDEwKSxwLHRbM10sMTU0ODYwMzY4NCwxNSksbSx5PWEoeSwxMCksbCx0WzddLDE1NDg2MDM2ODQsNyksbT1jKG09YShtLDEwKSx5PWMoeSxsPWMobCxwLGIsbSx5LHRbMF0sMTU0ODYwMzY4NCwxMikscCxiPWEoYiwxMCksbSx0WzEzXSwxNTQ4NjAzNjg0LDgpLGwscD1hKHAsMTApLGIsdFs1XSwxNTQ4NjAzNjg0LDkpLGw9YyhsPWEobCwxMCkscD1jKHAsYj1jKGIsbSx5LGwscCx0WzEwXSwxNTQ4NjAzNjg0LDExKSxtLHk9YSh5LDEwKSxsLHRbMTRdLDE1NDg2MDM2ODQsNyksYixtPWEobSwxMCkseSx0WzE1XSwxNTQ4NjAzNjg0LDcpLGI9YyhiPWEoYiwxMCksbT1jKG0seT1jKHksbCxwLGIsbSx0WzhdLDE1NDg2MDM2ODQsMTIpLGwscD1hKHAsMTApLGIsdFsxMl0sMTU0ODYwMzY4NCw3KSx5LGw9YShsLDEwKSxwLHRbNF0sMTU0ODYwMzY4NCw2KSx5PWMoeT1hKHksMTApLGw9YyhsLHA9YyhwLGIsbSx5LGwsdFs5XSwxNTQ4NjAzNjg0LDE1KSxiLG09YShtLDEwKSx5LHRbMV0sMTU0ODYwMzY4NCwxMykscCxiPWEoYiwxMCksbSx0WzJdLDE1NDg2MDM2ODQsMTEpLHA9ZihwPWEocCwxMCksYj1mKGIsbT1mKG0seSxsLHAsYix0WzE1XSwxODM2MDcyNjkxLDkpLHksbD1hKGwsMTApLHAsdFs1XSwxODM2MDcyNjkxLDcpLG0seT1hKHksMTApLGwsdFsxXSwxODM2MDcyNjkxLDE1KSxtPWYobT1hKG0sMTApLHk9Zih5LGw9ZihsLHAsYixtLHksdFszXSwxODM2MDcyNjkxLDExKSxwLGI9YShiLDEwKSxtLHRbN10sMTgzNjA3MjY5MSw4KSxsLHA9YShwLDEwKSxiLHRbMTRdLDE4MzYwNzI2OTEsNiksbD1mKGw9YShsLDEwKSxwPWYocCxiPWYoYixtLHksbCxwLHRbNl0sMTgzNjA3MjY5MSw2KSxtLHk9YSh5LDEwKSxsLHRbOV0sMTgzNjA3MjY5MSwxNCksYixtPWEobSwxMCkseSx0WzExXSwxODM2MDcyNjkxLDEyKSxiPWYoYj1hKGIsMTApLG09ZihtLHk9Zih5LGwscCxiLG0sdFs4XSwxODM2MDcyNjkxLDEzKSxsLHA9YShwLDEwKSxiLHRbMTJdLDE4MzYwNzI2OTEsNSkseSxsPWEobCwxMCkscCx0WzJdLDE4MzYwNzI2OTEsMTQpLHk9Zih5PWEoeSwxMCksbD1mKGwscD1mKHAsYixtLHksbCx0WzEwXSwxODM2MDcyNjkxLDEzKSxiLG09YShtLDEwKSx5LHRbMF0sMTgzNjA3MjY5MSwxMykscCxiPWEoYiwxMCksbSx0WzRdLDE4MzYwNzI2OTEsNykscD11KHA9YShwLDEwKSxiPXUoYixtPWYobSx5LGwscCxiLHRbMTNdLDE4MzYwNzI2OTEsNSkseSxsPWEobCwxMCkscCx0WzhdLDIwNTM5OTQyMTcsMTUpLG0seT1hKHksMTApLGwsdFs2XSwyMDUzOTk0MjE3LDUpLG09dShtPWEobSwxMCkseT11KHksbD11KGwscCxiLG0seSx0WzRdLDIwNTM5OTQyMTcsOCkscCxiPWEoYiwxMCksbSx0WzFdLDIwNTM5OTQyMTcsMTEpLGwscD1hKHAsMTApLGIsdFszXSwyMDUzOTk0MjE3LDE0KSxsPXUobD1hKGwsMTApLHA9dShwLGI9dShiLG0seSxsLHAsdFsxMV0sMjA1Mzk5NDIxNywxNCksbSx5PWEoeSwxMCksbCx0WzE1XSwyMDUzOTk0MjE3LDYpLGIsbT1hKG0sMTApLHksdFswXSwyMDUzOTk0MjE3LDE0KSxiPXUoYj1hKGIsMTApLG09dShtLHk9dSh5LGwscCxiLG0sdFs1XSwyMDUzOTk0MjE3LDYpLGwscD1hKHAsMTApLGIsdFsxMl0sMjA1Mzk5NDIxNyw5KSx5LGw9YShsLDEwKSxwLHRbMl0sMjA1Mzk5NDIxNywxMikseT11KHk9YSh5LDEwKSxsPXUobCxwPXUocCxiLG0seSxsLHRbMTNdLDIwNTM5OTQyMTcsOSksYixtPWEobSwxMCkseSx0WzldLDIwNTM5OTQyMTcsMTIpLHAsYj1hKGIsMTApLG0sdFs3XSwyMDUzOTk0MjE3LDUpLHA9cyhwPWEocCwxMCksYj11KGIsbT11KG0seSxsLHAsYix0WzEwXSwyMDUzOTk0MjE3LDE1KSx5LGw9YShsLDEwKSxwLHRbMTRdLDIwNTM5OTQyMTcsOCksbSx5PWEoeSwxMCksbCx0WzEyXSwwLDgpLG09cyhtPWEobSwxMCkseT1zKHksbD1zKGwscCxiLG0seSx0WzE1XSwwLDUpLHAsYj1hKGIsMTApLG0sdFsxMF0sMCwxMiksbCxwPWEocCwxMCksYix0WzRdLDAsOSksbD1zKGw9YShsLDEwKSxwPXMocCxiPXMoYixtLHksbCxwLHRbMV0sMCwxMiksbSx5PWEoeSwxMCksbCx0WzVdLDAsNSksYixtPWEobSwxMCkseSx0WzhdLDAsMTQpLGI9cyhiPWEoYiwxMCksbT1zKG0seT1zKHksbCxwLGIsbSx0WzddLDAsNiksbCxwPWEocCwxMCksYix0WzZdLDAsOCkseSxsPWEobCwxMCkscCx0WzJdLDAsMTMpLHk9cyh5PWEoeSwxMCksbD1zKGwscD1zKHAsYixtLHksbCx0WzEzXSwwLDYpLGIsbT1hKG0sMTApLHksdFsxNF0sMCw1KSxwLGI9YShiLDEwKSxtLHRbMF0sMCwxNSkscD1zKHA9YShwLDEwKSxiPXMoYixtPXMobSx5LGwscCxiLHRbM10sMCwxMykseSxsPWEobCwxMCkscCx0WzldLDAsMTEpLG0seT1hKHksMTApLGwsdFsxMV0sMCwxMSksbT1hKG0sMTApO3ZhciB2PXRoaXMuX2IraSttfDA7dGhpcy5fYj10aGlzLl9jK28reXwwLHRoaXMuX2M9dGhpcy5fZCtkK2x8MCx0aGlzLl9kPXRoaXMuX2UrcitwfDAsdGhpcy5fZT10aGlzLl9hK24rYnwwLHRoaXMuX2E9dn0sby5wcm90b3R5cGUuX2RpZ2VzdD1mdW5jdGlvbigpe3RoaXMuX2Jsb2NrW3RoaXMuX2Jsb2NrT2Zmc2V0KytdPTEyOCx0aGlzLl9ibG9ja09mZnNldD41NiYmKHRoaXMuX2Jsb2NrLmZpbGwoMCx0aGlzLl9ibG9ja09mZnNldCw2NCksdGhpcy5fdXBkYXRlKCksdGhpcy5fYmxvY2tPZmZzZXQ9MCksdGhpcy5fYmxvY2suZmlsbCgwLHRoaXMuX2Jsb2NrT2Zmc2V0LDU2KSx0aGlzLl9ibG9jay53cml0ZVVJbnQzMkxFKHRoaXMuX2xlbmd0aFswXSw1NiksdGhpcy5fYmxvY2sud3JpdGVVSW50MzJMRSh0aGlzLl9sZW5ndGhbMV0sNjApLHRoaXMuX3VwZGF0ZSgpO3ZhciB0PW5ldyByKDIwKTtyZXR1cm4gdC53cml0ZUludDMyTEUodGhpcy5fYSwwKSx0LndyaXRlSW50MzJMRSh0aGlzLl9iLDQpLHQud3JpdGVJbnQzMkxFKHRoaXMuX2MsOCksdC53cml0ZUludDMyTEUodGhpcy5fZCwxMiksdC53cml0ZUludDMyTEUodGhpcy5fZSwxNiksdH0sZS5leHBvcnRzPW99KS5jYWxsKHRoaXMsdCgiYnVmZmVyIikuQnVmZmVyKX0se2J1ZmZlcjo0NywiaGFzaC1iYXNlIjozMTEsaW5oZXJpdHM6MzI1fV0sMzUwOltmdW5jdGlvbih0LGUscil7YXJndW1lbnRzWzRdWzE0N11bMF0uYXBwbHkocixhcmd1bWVudHMpfSx7YnVmZmVyOjQ3LGR1cDoxNDd9XSwzNTE6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9dCgic2NyeXB0c3kiKX0se3NjcnlwdHN5OjM1Mn1dLDM1MjpbZnVuY3Rpb24odCxlLHIpeyhmdW5jdGlvbihyKXt2YXIgbj10KCJwYmtkZjIiKS5wYmtkZjJTeW5jLGk9MjE0NzQ4MzY0NztmdW5jdGlvbiBvKHQsZSxuLGksbyl7aWYoci5pc0J1ZmZlcih0KSYmci5pc0J1ZmZlcihuKSl0LmNvcHkobixpLGUsZStvKTtlbHNlIGZvcig7by0tOyluW2krK109dFtlKytdfWUuZXhwb3J0cz1mdW5jdGlvbih0LGUsYSxzLHUsZixjKXtpZigwPT09YXx8MCE9KGEmYS0xKSl0aHJvdyBFcnJvcigiTiBtdXN0IGJlID4gMCBhbmQgYSBwb3dlciBvZiAyIik7aWYoYT5pLzEyOC9zKXRocm93IEVycm9yKCJQYXJhbWV0ZXIgTiBpcyB0b28gbGFyZ2UiKTtpZihzPmkvMTI4L3UpdGhyb3cgRXJyb3IoIlBhcmFtZXRlciByIGlzIHRvbyBsYXJnZSIpO3ZhciBoLGQ9bmV3IHIoMjU2KnMpLGw9bmV3IHIoMTI4KnMqYSkscD1uZXcgSW50MzJBcnJheSgxNiksYj1uZXcgSW50MzJBcnJheSgxNiksbT1uZXcgcig2NCkseT1uKHQsZSwxLDEyOCp1KnMsInNoYTI1NiIpO2lmKGMpe3ZhciB2PXUqYSoyLGc9MDtoPWZ1bmN0aW9uKCl7KytnJTFlMz09MCYmYyh7Y3VycmVudDpnLHRvdGFsOnYscGVyY2VudDpnL3YqMTAwfSl9fWZvcih2YXIgdz0wO3c8dTt3KyspXyh5LDEyOCp3KnMscyxhLGwsZCk7cmV0dXJuIG4odCx5LDEsZiwic2hhMjU2Iik7ZnVuY3Rpb24gXyh0LGUscixuLGksbyl7dmFyIGEscz0xMjgqcjtmb3IodC5jb3B5KG8sMCxlLGUrcyksYT0wO2E8bjthKyspby5jb3B5KGksYSpzLDAsMCtzKSxNKG8sMCxzLHIpLGgmJmgoKTtmb3IoYT0wO2E8bjthKyspe3ZhciB1PTArNjQqKDIqci0xKTtTKGksKG8ucmVhZFVJbnQzMkxFKHUpJm4tMSkqcyxvLDAscyksTShvLDAscyxyKSxoJiZoKCl9by5jb3B5KHQsZSwwLDArcyl9ZnVuY3Rpb24gTSh0LGUscixuKXt2YXIgaTtmb3Iobyh0LGUrNjQqKDIqbi0xKSxtLDAsNjQpLGk9MDtpPDIqbjtpKyspUyh0LDY0KmksbSwwLDY0KSxrKG0pLG8obSwwLHQscis2NCppLDY0KTtmb3IoaT0wO2k8bjtpKyspbyh0LHIrMippKjY0LHQsZSs2NCppLDY0KTtmb3IoaT0wO2k8bjtpKyspbyh0LHIrNjQqKDIqaSsxKSx0LGUrNjQqKGkrbiksNjQpfWZ1bmN0aW9uIHgodCxlKXtyZXR1cm4gdDw8ZXx0Pj4+MzItZX1mdW5jdGlvbiBrKHQpe3ZhciBlO2ZvcihlPTA7ZTwxNjtlKyspcFtlXT0oMjU1JnRbNCplKzBdKTw8MCxwW2VdfD0oMjU1JnRbNCplKzFdKTw8OCxwW2VdfD0oMjU1JnRbNCplKzJdKTw8MTYscFtlXXw9KDI1NSZ0WzQqZSszXSk8PDI0O2ZvcihvKHAsMCxiLDAsMTYpLGU9ODtlPjA7ZS09MiliWzRdXj14KGJbMF0rYlsxMl0sNyksYls4XV49eChiWzRdK2JbMF0sOSksYlsxMl1ePXgoYls4XStiWzRdLDEzKSxiWzBdXj14KGJbMTJdK2JbOF0sMTgpLGJbOV1ePXgoYls1XStiWzFdLDcpLGJbMTNdXj14KGJbOV0rYls1XSw5KSxiWzFdXj14KGJbMTNdK2JbOV0sMTMpLGJbNV1ePXgoYlsxXStiWzEzXSwxOCksYlsxNF1ePXgoYlsxMF0rYls2XSw3KSxiWzJdXj14KGJbMTRdK2JbMTBdLDkpLGJbNl1ePXgoYlsyXStiWzE0XSwxMyksYlsxMF1ePXgoYls2XStiWzJdLDE4KSxiWzNdXj14KGJbMTVdK2JbMTFdLDcpLGJbN11ePXgoYlszXStiWzE1XSw5KSxiWzExXV49eChiWzddK2JbM10sMTMpLGJbMTVdXj14KGJbMTFdK2JbN10sMTgpLGJbMV1ePXgoYlswXStiWzNdLDcpLGJbMl1ePXgoYlsxXStiWzBdLDkpLGJbM11ePXgoYlsyXStiWzFdLDEzKSxiWzBdXj14KGJbM10rYlsyXSwxOCksYls2XV49eChiWzVdK2JbNF0sNyksYls3XV49eChiWzZdK2JbNV0sOSksYls0XV49eChiWzddK2JbNl0sMTMpLGJbNV1ePXgoYls0XStiWzddLDE4KSxiWzExXV49eChiWzEwXStiWzldLDcpLGJbOF1ePXgoYlsxMV0rYlsxMF0sOSksYls5XV49eChiWzhdK2JbMTFdLDEzKSxiWzEwXV49eChiWzldK2JbOF0sMTgpLGJbMTJdXj14KGJbMTVdK2JbMTRdLDcpLGJbMTNdXj14KGJbMTJdK2JbMTVdLDkpLGJbMTRdXj14KGJbMTNdK2JbMTJdLDEzKSxiWzE1XV49eChiWzE0XStiWzEzXSwxOCk7Zm9yKGU9MDtlPDE2OysrZSlwW2VdPWJbZV0rcFtlXTtmb3IoZT0wO2U8MTY7ZSsrKXt2YXIgcj00KmU7dFtyKzBdPXBbZV0+PjAmMjU1LHRbcisxXT1wW2VdPj44JjI1NSx0W3IrMl09cFtlXT4+MTYmMjU1LHRbciszXT1wW2VdPj4yNCYyNTV9fWZ1bmN0aW9uIFModCxlLHIsbixpKXtmb3IodmFyIG89MDtvPGk7bysrKXJbbitvXV49dFtlK29dfX19KS5jYWxsKHRoaXMsdCgiYnVmZmVyIikuQnVmZmVyKX0se2J1ZmZlcjo0NyxwYmtkZjI6MzM2fV0sMzUzOltmdW5jdGlvbih0LGUscil7YXJndW1lbnRzWzRdWzE0OF1bMF0uYXBwbHkocixhcmd1bWVudHMpfSx7ZHVwOjE0OCwic2FmZS1idWZmZXIiOjM1MH1dLDM1NDpbZnVuY3Rpb24odCxlLHIpe2FyZ3VtZW50c1s0XVsxNDldWzBdLmFwcGx5KHIsYXJndW1lbnRzKX0seyIuL3NoYSI6MzU1LCIuL3NoYTEiOjM1NiwiLi9zaGEyMjQiOjM1NywiLi9zaGEyNTYiOjM1OCwiLi9zaGEzODQiOjM1OSwiLi9zaGE1MTIiOjM2MCxkdXA6MTQ5fV0sMzU1OltmdW5jdGlvbih0LGUscil7YXJndW1lbnRzWzRdWzE1MF1bMF0uYXBwbHkocixhcmd1bWVudHMpfSx7Ii4vaGFzaCI6MzUzLGR1cDoxNTAsaW5oZXJpdHM6MzI1LCJzYWZlLWJ1ZmZlciI6MzUwfV0sMzU2OltmdW5jdGlvbih0LGUscil7YXJndW1lbnRzWzRdWzE1MV1bMF0uYXBwbHkocixhcmd1bWVudHMpfSx7Ii4vaGFzaCI6MzUzLGR1cDoxNTEsaW5oZXJpdHM6MzI1LCJzYWZlLWJ1ZmZlciI6MzUwfV0sMzU3OltmdW5jdGlvbih0LGUscil7YXJndW1lbnRzWzRdWzE1Ml1bMF0uYXBwbHkocixhcmd1bWVudHMpfSx7Ii4vaGFzaCI6MzUzLCIuL3NoYTI1NiI6MzU4LGR1cDoxNTIsaW5oZXJpdHM6MzI1LCJzYWZlLWJ1ZmZlciI6MzUwfV0sMzU4OltmdW5jdGlvbih0LGUscil7YXJndW1lbnRzWzRdWzE1M11bMF0uYXBwbHkocixhcmd1bWVudHMpfSx7Ii4vaGFzaCI6MzUzLGR1cDoxNTMsaW5oZXJpdHM6MzI1LCJzYWZlLWJ1ZmZlciI6MzUwfV0sMzU5OltmdW5jdGlvbih0LGUscil7YXJndW1lbnRzWzRdWzE1NF1bMF0uYXBwbHkocixhcmd1bWVudHMpfSx7Ii4vaGFzaCI6MzUzLCIuL3NoYTUxMiI6MzYwLGR1cDoxNTQsaW5oZXJpdHM6MzI1LCJzYWZlLWJ1ZmZlciI6MzUwfV0sMzYwOltmdW5jdGlvbih0LGUscil7YXJndW1lbnRzWzRdWzE1NV1bMF0uYXBwbHkocixhcmd1bWVudHMpfSx7Ii4vaGFzaCI6MzUzLGR1cDoxNTUsaW5oZXJpdHM6MzI1LCJzYWZlLWJ1ZmZlciI6MzUwfV0sMzYxOltmdW5jdGlvbih0LGUscil7YXJndW1lbnRzWzRdWzE3OF1bMF0uYXBwbHkocixhcmd1bWVudHMpfSx7ZHVwOjE3OH1dLDM2MjpbZnVuY3Rpb24odCxlLHIpeyhmdW5jdGlvbih0KXt2YXIgcjtpZih0LmNyeXB0byYmY3J5cHRvLmdldFJhbmRvbVZhbHVlcyl7dmFyIG49bmV3IFVpbnQ4QXJyYXkoMTYpO3I9ZnVuY3Rpb24oKXtyZXR1cm4gY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhuKSxufX1pZighcil7dmFyIGk9bmV3IEFycmF5KDE2KTtyPWZ1bmN0aW9uKCl7Zm9yKHZhciB0LGU9MDtlPDE2O2UrKykwPT0oMyZlKSYmKHQ9NDI5NDk2NzI5NipNYXRoLnJhbmRvbSgpKSxpW2VdPXQ+Pj4oKDMmZSk8PDMpJjI1NTtyZXR1cm4gaX19ZS5leHBvcnRzPXJ9KS5jYWxsKHRoaXMsInVuZGVmaW5lZCIhPXR5cGVvZiBnbG9iYWw/Z2xvYmFsOiJ1bmRlZmluZWQiIT10eXBlb2Ygc2VsZj9zZWxmOiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93P3dpbmRvdzp7fSl9LHt9XSwzNjM6W2Z1bmN0aW9uKHQsZSxyKXtmb3IodmFyIG49dCgiLi9ybmciKSxpPVtdLG89e30sYT0wO2E8MjU2O2ErKylpW2FdPShhKzI1NikudG9TdHJpbmcoMTYpLnN1YnN0cigxKSxvW2lbYV1dPWE7ZnVuY3Rpb24gcyh0LGUpe3ZhciByPWV8fDAsbj1pO3JldHVybiBuW3RbcisrXV0rblt0W3IrK11dK25bdFtyKytdXStuW3RbcisrXV0rIi0iK25bdFtyKytdXStuW3RbcisrXV0rIi0iK25bdFtyKytdXStuW3RbcisrXV0rIi0iK25bdFtyKytdXStuW3RbcisrXV0rIi0iK25bdFtyKytdXStuW3RbcisrXV0rblt0W3IrK11dK25bdFtyKytdXStuW3RbcisrXV0rblt0W3IrK11dfXZhciB1PW4oKSxmPVsxfHVbMF0sdVsxXSx1WzJdLHVbM10sdVs0XSx1WzVdXSxjPTE2MzgzJih1WzZdPDw4fHVbN10pLGg9MCxkPTA7ZnVuY3Rpb24gbCh0LGUscil7dmFyIGk9ZSYmcnx8MDsic3RyaW5nIj09dHlwZW9mIHQmJihlPSJiaW5hcnkiPT10P25ldyBBcnJheSgxNik6bnVsbCx0PW51bGwpO3ZhciBvPSh0PXR8fHt9KS5yYW5kb218fCh0LnJuZ3x8bikoKTtpZihvWzZdPTE1Jm9bNl18NjQsb1s4XT02MyZvWzhdfDEyOCxlKWZvcih2YXIgYT0wO2E8MTY7YSsrKWVbaSthXT1vW2FdO3JldHVybiBlfHxzKG8pfXZhciBwPWw7cC52MT1mdW5jdGlvbih0LGUscil7dmFyIG49ZSYmcnx8MCxpPWV8fFtdLG89dm9pZCAwIT09KHQ9dHx8e30pLmNsb2Nrc2VxP3QuY2xvY2tzZXE6YyxhPXZvaWQgMCE9PXQubXNlY3M/dC5tc2VjczoobmV3IERhdGUpLmdldFRpbWUoKSx1PXZvaWQgMCE9PXQubnNlY3M/dC5uc2VjczpkKzEsbD1hLWgrKHUtZCkvMWU0O2lmKGw8MCYmdm9pZCAwPT09dC5jbG9ja3NlcSYmKG89bysxJjE2MzgzKSwobDwwfHxhPmgpJiZ2b2lkIDA9PT10Lm5zZWNzJiYodT0wKSx1Pj0xZTQpdGhyb3cgbmV3IEVycm9yKCJ1dWlkLnYxKCk6IENhbid0IGNyZWF0ZSBtb3JlIHRoYW4gMTBNIHV1aWRzL3NlYyIpO2g9YSxkPXUsYz1vO3ZhciBwPSgxZTQqKDI2ODQzNTQ1NSYoYSs9MTIyMTkyOTI4ZTUpKSt1KSU0Mjk0OTY3Mjk2O2lbbisrXT1wPj4+MjQmMjU1LGlbbisrXT1wPj4+MTYmMjU1LGlbbisrXT1wPj4+OCYyNTUsaVtuKytdPTI1NSZwO3ZhciBiPWEvNDI5NDk2NzI5NioxZTQmMjY4NDM1NDU1O2lbbisrXT1iPj4+OCYyNTUsaVtuKytdPTI1NSZiLGlbbisrXT1iPj4+MjQmMTV8MTYsaVtuKytdPWI+Pj4xNiYyNTUsaVtuKytdPW8+Pj44fDEyOCxpW24rK109MjU1Jm87Zm9yKHZhciBtPXQubm9kZXx8Zix5PTA7eTw2O3krKylpW24reV09bVt5XTtyZXR1cm4gZXx8cyhpKX0scC52ND1sLHAucGFyc2U9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPWUmJnJ8fDAsaT0wO2ZvcihlPWV8fFtdLHQudG9Mb3dlckNhc2UoKS5yZXBsYWNlKC9bMC05YS1mXXsyfS9nLGZ1bmN0aW9uKHQpe2k8MTYmJihlW24raSsrXT1vW3RdKX0pO2k8MTY7KWVbbitpKytdPTA7cmV0dXJuIGV9LHAudW5wYXJzZT1zLGUuZXhwb3J0cz1wfSx7Ii4vcm5nIjozNjJ9XSwzNjQ6W2Z1bmN0aW9uKHQsZSxyKXsoZnVuY3Rpb24ocixuKXt2YXIgaT10KCJ1bmRlcnNjb3JlIiksbz10KCJ3ZWIzLWNvcmUiKSxhPXQoIndlYjMtY29yZS1tZXRob2QiKSxzPXQoImFueS1wcm9taXNlIiksdT10KCJldGgtbGliL2xpYi9hY2NvdW50IiksZj10KCJldGgtbGliL2xpYi9oYXNoIiksYz10KCJldGgtbGliL2xpYi9ybHAiKSxoPXQoImV0aC1saWIvbGliL25hdCIpLGQ9dCgiZXRoLWxpYi9saWIvYnl0ZXMiKSxsPXQodm9pZCAwPT09cj8iY3J5cHRvLWJyb3dzZXJpZnkiOiJjcnlwdG8iKSxwPXQoInNjcnlwdC5qcyIpLGI9dCgidXVpZCIpLG09dCgid2ViMy11dGlscyIpLHk9dCgid2ViMy1jb3JlLWhlbHBlcnMiKSx2PWZ1bmN0aW9uKHQpe3JldHVybiBpLmlzVW5kZWZpbmVkKHQpfHxpLmlzTnVsbCh0KX0sZz1mdW5jdGlvbih0KXtmb3IoO3QmJnQuc3RhcnRzV2l0aCgiMHgwIik7KXQ9IjB4Iit0LnNsaWNlKDMpO3JldHVybiB0fSx3PWZ1bmN0aW9uKHQpe3JldHVybiB0Lmxlbmd0aCUyPT0xJiYodD10LnJlcGxhY2UoIjB4IiwiMHgwIikpLHR9LF89ZnVuY3Rpb24oKXt2YXIgdD10aGlzO28ucGFja2FnZUluaXQodGhpcyxhcmd1bWVudHMpLGRlbGV0ZSB0aGlzLkJhdGNoUmVxdWVzdCxkZWxldGUgdGhpcy5leHRlbmQ7dmFyIGU9W25ldyBhKHtuYW1lOiJnZXRJZCIsY2FsbDoibmV0X3ZlcnNpb24iLHBhcmFtczowLG91dHB1dEZvcm1hdHRlcjptLmhleFRvTnVtYmVyfSksbmV3IGEoe25hbWU6ImdldEdhc1ByaWNlIixjYWxsOiJldGhfZ2FzUHJpY2UiLHBhcmFtczowfSksbmV3IGEoe25hbWU6ImdldFRyYW5zYWN0aW9uQ291bnQiLGNhbGw6ImV0aF9nZXRUcmFuc2FjdGlvbkNvdW50IixwYXJhbXM6MixpbnB1dEZvcm1hdHRlcjpbZnVuY3Rpb24odCl7aWYobS5pc0FkZHJlc3ModCkpcmV0dXJuIHQ7dGhyb3cgbmV3IEVycm9yKCJBZGRyZXNzICIrdCsnIGlzIG5vdCBhIHZhbGlkIGFkZHJlc3MgdG8gZ2V0IHRoZSAidHJhbnNhY3Rpb25Db3VudCIuJyl9LGZ1bmN0aW9uKCl7cmV0dXJuImxhdGVzdCJ9XX0pXTt0aGlzLl9ldGhlcmV1bUNhbGw9e30saS5lYWNoKGUsZnVuY3Rpb24oZSl7ZS5hdHRhY2hUb09iamVjdCh0Ll9ldGhlcmV1bUNhbGwpLGUuc2V0UmVxdWVzdE1hbmFnZXIodC5fcmVxdWVzdE1hbmFnZXIpfSksdGhpcy53YWxsZXQ9bmV3IE0odGhpcyl9O2Z1bmN0aW9uIE0odCl7dGhpcy5fYWNjb3VudHM9dCx0aGlzLmxlbmd0aD0wLHRoaXMuZGVmYXVsdEtleU5hbWU9IndlYjNqc193YWxsZXQifV8ucHJvdG90eXBlLl9hZGRBY2NvdW50RnVuY3Rpb25zPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXM7cmV0dXJuIHQuc2lnblRyYW5zYWN0aW9uPWZ1bmN0aW9uKHIsbil7cmV0dXJuIGUuc2lnblRyYW5zYWN0aW9uKHIsdC5wcml2YXRlS2V5LG4pfSx0LnNpZ249ZnVuY3Rpb24ocil7cmV0dXJuIGUuc2lnbihyLHQucHJpdmF0ZUtleSl9LHQuZW5jcnlwdD1mdW5jdGlvbihyLG4pe3JldHVybiBlLmVuY3J5cHQodC5wcml2YXRlS2V5LHIsbil9LHR9LF8ucHJvdG90eXBlLmNyZWF0ZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fYWRkQWNjb3VudEZ1bmN0aW9ucyh1LmNyZWF0ZSh0fHxtLnJhbmRvbUhleCgzMikpKX0sXy5wcm90b3R5cGUucHJpdmF0ZUtleVRvQWNjb3VudD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fYWRkQWNjb3VudEZ1bmN0aW9ucyh1LmZyb21Qcml2YXRlKHQpKX0sXy5wcm90b3R5cGUuc2lnblRyYW5zYWN0aW9uPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbixvPSExO2lmKHI9cnx8ZnVuY3Rpb24oKXt9LCF0KXJldHVybiBvPW5ldyBFcnJvcigiTm8gdHJhbnNhY3Rpb24gb2JqZWN0IGdpdmVuISIpLHIobykscy5yZWplY3Qobyk7ZnVuY3Rpb24gYSh0KXtpZih0Lmdhc3x8dC5nYXNMaW1pdHx8KG89bmV3IEVycm9yKCciZ2FzIiBpcyBtaXNzaW5nJykpLCh0Lm5vbmNlPDB8fHQuZ2FzPDB8fHQuZ2FzUHJpY2U8MHx8dC5jaGFpbklkPDApJiYobz1uZXcgRXJyb3IoIkdhcywgZ2FzUHJpY2UsIG5vbmNlIG9yIGNoYWluSWQgaXMgbG93ZXIgdGhhbiAwIikpLG8pcmV0dXJuIHIobykscy5yZWplY3QobmV3IEVycm9yKCciZ2FzIiBpcyBtaXNzaW5nJykpO3RyeXt2YXIgaT10PXkuZm9ybWF0dGVycy5pbnB1dENhbGxGb3JtYXR0ZXIodCk7aS50bz10LnRvfHwiMHgiLGkuZGF0YT10LmRhdGF8fCIweCIsaS52YWx1ZT10LnZhbHVlfHwiMHgiLGkuY2hhaW5JZD1tLm51bWJlclRvSGV4KHQuY2hhaW5JZCk7dmFyIGE9Yy5lbmNvZGUoW2QuZnJvbU5hdChpLm5vbmNlKSxkLmZyb21OYXQoaS5nYXNQcmljZSksZC5mcm9tTmF0KGkuZ2FzKSxpLnRvLnRvTG93ZXJDYXNlKCksZC5mcm9tTmF0KGkudmFsdWUpLGkuZGF0YSxkLmZyb21OYXQoaS5jaGFpbklkfHwiMHgxIiksIjB4IiwiMHgiXSksbD1mLmtlY2NhazI1NihhKSxwPXUubWFrZVNpZ25lcigyKmgudG9OdW1iZXIoaS5jaGFpbklkfHwiMHgxIikrMzUpKGYua2VjY2FrMjU2KGEpLGUpLGI9Yy5kZWNvZGUoYSkuc2xpY2UoMCw2KS5jb25jYXQodS5kZWNvZGVTaWduYXR1cmUocCkpO2JbNl09dyhnKGJbNl0pKSxiWzddPXcoZyhiWzddKSksYls4XT13KGcoYls4XSkpO3ZhciB2PWMuZW5jb2RlKGIpLF89Yy5kZWNvZGUodik7bj17bWVzc2FnZUhhc2g6bCx2OmcoX1s2XSkscjpnKF9bN10pLHM6ZyhfWzhdKSxyYXdUcmFuc2FjdGlvbjp2fX1jYXRjaCh0KXtyZXR1cm4gcih0KSxzLnJlamVjdCh0KX1yZXR1cm4gcihudWxsLG4pLG59cmV0dXJuIHZvaWQgMCE9PXQubm9uY2UmJnZvaWQgMCE9PXQuY2hhaW5JZCYmdm9pZCAwIT09dC5nYXNQcmljZT9zLnJlc29sdmUoYSh0KSk6cy5hbGwoW3YodC5jaGFpbklkKT90aGlzLl9ldGhlcmV1bUNhbGwuZ2V0SWQoKTp0LmNoYWluSWQsdih0Lmdhc1ByaWNlKT90aGlzLl9ldGhlcmV1bUNhbGwuZ2V0R2FzUHJpY2UoKTp0Lmdhc1ByaWNlLHYodC5ub25jZSk/dGhpcy5fZXRoZXJldW1DYWxsLmdldFRyYW5zYWN0aW9uQ291bnQodGhpcy5wcml2YXRlS2V5VG9BY2NvdW50KGUpLmFkZHJlc3MpOnQubm9uY2VdKS50aGVuKGZ1bmN0aW9uKGUpe2lmKHYoZVswXSl8fHYoZVsxXSl8fHYoZVsyXSkpdGhyb3cgbmV3IEVycm9yKCdPbmUgb2YgdGhlIHZhbHVlcyAiY2hhaW5JZCIsICJnYXNQcmljZSIsIG9yICJub25jZSIgY291bGRuXCd0IGJlIGZldGNoZWQ6ICcrSlNPTi5zdHJpbmdpZnkoZSkpO3JldHVybiBhKGkuZXh0ZW5kKHQse2NoYWluSWQ6ZVswXSxnYXNQcmljZTplWzFdLG5vbmNlOmVbMl19KSl9KX0sXy5wcm90b3R5cGUucmVjb3ZlclRyYW5zYWN0aW9uPWZ1bmN0aW9uKHQpe3ZhciBlPWMuZGVjb2RlKHQpLHI9dS5lbmNvZGVTaWduYXR1cmUoZS5zbGljZSg2LDkpKSxuPWQudG9OdW1iZXIoZVs2XSksaT1uPDM1P1tdOltkLmZyb21OdW1iZXIobi0zNT4+MSksIjB4IiwiMHgiXSxvPWUuc2xpY2UoMCw2KS5jb25jYXQoaSksYT1jLmVuY29kZShvKTtyZXR1cm4gdS5yZWNvdmVyKGYua2VjY2FrMjU2KGEpLHIpfSxfLnByb3RvdHlwZS5oYXNoTWVzc2FnZT1mdW5jdGlvbih0KXt2YXIgZT1tLmlzSGV4U3RyaWN0KHQpP20uaGV4VG9CeXRlcyh0KTp0LHI9bi5mcm9tKGUpLGk9IhlFdGhlcmV1bSBTaWduZWQgTWVzc2FnZTpcbiIrZS5sZW5ndGgsbz1uLmZyb20oaSksYT1uLmNvbmNhdChbbyxyXSk7cmV0dXJuIGYua2VjY2FrMjU2cyhhKX0sXy5wcm90b3R5cGUuc2lnbj1mdW5jdGlvbih0LGUpe3ZhciByPXRoaXMuaGFzaE1lc3NhZ2UodCksbj11LnNpZ24ocixlKSxpPXUuZGVjb2RlU2lnbmF0dXJlKG4pO3JldHVybnttZXNzYWdlOnQsbWVzc2FnZUhhc2g6cix2OmlbMF0scjppWzFdLHM6aVsyXSxzaWduYXR1cmU6bn19LF8ucHJvdG90eXBlLnJlY292ZXI9ZnVuY3Rpb24odCxlLHIpe3ZhciBuPVtdLnNsaWNlLmFwcGx5KGFyZ3VtZW50cyk7cmV0dXJuIGkuaXNPYmplY3QodCk/dGhpcy5yZWNvdmVyKHQubWVzc2FnZUhhc2gsdS5lbmNvZGVTaWduYXR1cmUoW3Qudix0LnIsdC5zXSksITApOihyfHwodD10aGlzLmhhc2hNZXNzYWdlKHQpKSxuLmxlbmd0aD49ND8ocj1uLnNsaWNlKC0xKVswXSxyPSEhaS5pc0Jvb2xlYW4ocikmJiEhcix0aGlzLnJlY292ZXIodCx1LmVuY29kZVNpZ25hdHVyZShuLnNsaWNlKDEsNCkpLHIpKTp1LnJlY292ZXIodCxlKSl9LF8ucHJvdG90eXBlLmRlY3J5cHQ9ZnVuY3Rpb24odCxlLHIpe2lmKCFpLmlzU3RyaW5nKGUpKXRocm93IG5ldyBFcnJvcigiTm8gcGFzc3dvcmQgZ2l2ZW4uIik7dmFyIG8sYSxzPWkuaXNPYmplY3QodCk/dDpKU09OLnBhcnNlKHI/dC50b0xvd2VyQ2FzZSgpOnQpO2lmKDMhPT1zLnZlcnNpb24pdGhyb3cgbmV3IEVycm9yKCJOb3QgYSB2YWxpZCBWMyB3YWxsZXQiKTtpZigic2NyeXB0Ij09PXMuY3J5cHRvLmtkZilhPXMuY3J5cHRvLmtkZnBhcmFtcyxvPXAobmV3IG4oZSksbmV3IG4oYS5zYWx0LCJoZXgiKSxhLm4sYS5yLGEucCxhLmRrbGVuKTtlbHNle2lmKCJwYmtkZjIiIT09cy5jcnlwdG8ua2RmKXRocm93IG5ldyBFcnJvcigiVW5zdXBwb3J0ZWQga2V5IGRlcml2YXRpb24gc2NoZW1lIik7aWYoImhtYWMtc2hhMjU2IiE9PShhPXMuY3J5cHRvLmtkZnBhcmFtcykucHJmKXRocm93IG5ldyBFcnJvcigiVW5zdXBwb3J0ZWQgcGFyYW1ldGVycyB0byBQQktERjIiKTtvPWwucGJrZGYyU3luYyhuZXcgbihlKSxuZXcgbihhLnNhbHQsImhleCIpLGEuYyxhLmRrbGVuLCJzaGEyNTYiKX12YXIgdT1uZXcgbihzLmNyeXB0by5jaXBoZXJ0ZXh0LCJoZXgiKTtpZihtLnNoYTMobi5jb25jYXQoW28uc2xpY2UoMTYsMzIpLHVdKSkucmVwbGFjZSgiMHgiLCIiKSE9PXMuY3J5cHRvLm1hYyl0aHJvdyBuZXcgRXJyb3IoIktleSBkZXJpdmF0aW9uIGZhaWxlZCAtIHBvc3NpYmx5IHdyb25nIHBhc3N3b3JkIik7dmFyIGY9bC5jcmVhdGVEZWNpcGhlcml2KHMuY3J5cHRvLmNpcGhlcixvLnNsaWNlKDAsMTYpLG5ldyBuKHMuY3J5cHRvLmNpcGhlcnBhcmFtcy5pdiwiaGV4IikpLGM9IjB4IituLmNvbmNhdChbZi51cGRhdGUodSksZi5maW5hbCgpXSkudG9TdHJpbmcoImhleCIpO3JldHVybiB0aGlzLnByaXZhdGVLZXlUb0FjY291bnQoYyl9LF8ucHJvdG90eXBlLmVuY3J5cHQ9ZnVuY3Rpb24odCxlLHIpe3ZhciBpLG89dGhpcy5wcml2YXRlS2V5VG9BY2NvdW50KHQpLGE9KHI9cnx8e30pLnNhbHR8fGwucmFuZG9tQnl0ZXMoMzIpLHM9ci5pdnx8bC5yYW5kb21CeXRlcygxNiksdT1yLmtkZnx8InNjcnlwdCIsZj17ZGtsZW46ci5ka2xlbnx8MzIsc2FsdDphLnRvU3RyaW5nKCJoZXgiKX07aWYoInBia2RmMiI9PT11KWYuYz1yLmN8fDI2MjE0NCxmLnByZj0iaG1hYy1zaGEyNTYiLGk9bC5wYmtkZjJTeW5jKG5ldyBuKGUpLGEsZi5jLGYuZGtsZW4sInNoYTI1NiIpO2Vsc2V7aWYoInNjcnlwdCIhPT11KXRocm93IG5ldyBFcnJvcigiVW5zdXBwb3J0ZWQga2RmIik7Zi5uPXIubnx8ODE5MixmLnI9ci5yfHw4LGYucD1yLnB8fDEsaT1wKG5ldyBuKGUpLGEsZi5uLGYucixmLnAsZi5ka2xlbil9dmFyIGM9bC5jcmVhdGVDaXBoZXJpdihyLmNpcGhlcnx8ImFlcy0xMjgtY3RyIixpLnNsaWNlKDAsMTYpLHMpO2lmKCFjKXRocm93IG5ldyBFcnJvcigiVW5zdXBwb3J0ZWQgY2lwaGVyIik7dmFyIGg9bi5jb25jYXQoW2MudXBkYXRlKG5ldyBuKG8ucHJpdmF0ZUtleS5yZXBsYWNlKCIweCIsIiIpLCJoZXgiKSksYy5maW5hbCgpXSksZD1tLnNoYTMobi5jb25jYXQoW2kuc2xpY2UoMTYsMzIpLG5ldyBuKGgsImhleCIpXSkpLnJlcGxhY2UoIjB4IiwiIik7cmV0dXJue3ZlcnNpb246MyxpZDpiLnY0KHtyYW5kb206ci51dWlkfHxsLnJhbmRvbUJ5dGVzKDE2KX0pLGFkZHJlc3M6by5hZGRyZXNzLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgiMHgiLCIiKSxjcnlwdG86e2NpcGhlcnRleHQ6aC50b1N0cmluZygiaGV4IiksY2lwaGVycGFyYW1zOntpdjpzLnRvU3RyaW5nKCJoZXgiKX0sY2lwaGVyOnIuY2lwaGVyfHwiYWVzLTEyOC1jdHIiLGtkZjp1LGtkZnBhcmFtczpmLG1hYzpkLnRvU3RyaW5nKCJoZXgiKX19fSxNLnByb3RvdHlwZS5fZmluZFNhZmVJbmRleD1mdW5jdGlvbih0KXtyZXR1cm4gdD10fHwwLGkuaGFzKHRoaXMsdCk/dGhpcy5fZmluZFNhZmVJbmRleCh0KzEpOnR9LE0ucHJvdG90eXBlLl9jdXJyZW50SW5kZXhlcz1mdW5jdGlvbigpe3JldHVybiBPYmplY3Qua2V5cyh0aGlzKS5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIHBhcnNlSW50KHQpfSkuZmlsdGVyKGZ1bmN0aW9uKHQpe3JldHVybiB0PDllMjB9KX0sTS5wcm90b3R5cGUuY3JlYXRlPWZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByPTA7cjx0Oysrcil0aGlzLmFkZCh0aGlzLl9hY2NvdW50cy5jcmVhdGUoZSkucHJpdmF0ZUtleSk7cmV0dXJuIHRoaXN9LE0ucHJvdG90eXBlLmFkZD1mdW5jdGlvbih0KXtyZXR1cm4gaS5pc1N0cmluZyh0KSYmKHQ9dGhpcy5fYWNjb3VudHMucHJpdmF0ZUtleVRvQWNjb3VudCh0KSksdGhpc1t0LmFkZHJlc3NdP3RoaXNbdC5hZGRyZXNzXTooKHQ9dGhpcy5fYWNjb3VudHMucHJpdmF0ZUtleVRvQWNjb3VudCh0LnByaXZhdGVLZXkpKS5pbmRleD10aGlzLl9maW5kU2FmZUluZGV4KCksdGhpc1t0LmluZGV4XT10LHRoaXNbdC5hZGRyZXNzXT10LHRoaXNbdC5hZGRyZXNzLnRvTG93ZXJDYXNlKCldPXQsdGhpcy5sZW5ndGgrKyx0KX0sTS5wcm90b3R5cGUucmVtb3ZlPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXNbdF07cmV0dXJuISghZXx8IWUuYWRkcmVzcykmJih0aGlzW2UuYWRkcmVzc10ucHJpdmF0ZUtleT1udWxsLGRlbGV0ZSB0aGlzW2UuYWRkcmVzc10sdGhpc1tlLmFkZHJlc3MudG9Mb3dlckNhc2UoKV0ucHJpdmF0ZUtleT1udWxsLGRlbGV0ZSB0aGlzW2UuYWRkcmVzcy50b0xvd2VyQ2FzZSgpXSx0aGlzW2UuaW5kZXhdLnByaXZhdGVLZXk9bnVsbCxkZWxldGUgdGhpc1tlLmluZGV4XSx0aGlzLmxlbmd0aC0tLCEwKX0sTS5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXt2YXIgdD10aGlzO3JldHVybiB0aGlzLl9jdXJyZW50SW5kZXhlcygpLmZvckVhY2goZnVuY3Rpb24oZSl7dC5yZW1vdmUoZSl9KSx0aGlzfSxNLnByb3RvdHlwZS5lbmNyeXB0PWZ1bmN0aW9uKHQsZSl7dmFyIHI9dGhpcztyZXR1cm4gdGhpcy5fY3VycmVudEluZGV4ZXMoKS5tYXAoZnVuY3Rpb24obil7cmV0dXJuIHJbbl0uZW5jcnlwdCh0LGUpfSl9LE0ucHJvdG90eXBlLmRlY3J5cHQ9ZnVuY3Rpb24odCxlKXt2YXIgcj10aGlzO3JldHVybiB0LmZvckVhY2goZnVuY3Rpb24odCl7dmFyIG49ci5fYWNjb3VudHMuZGVjcnlwdCh0LGUpO2lmKCFuKXRocm93IG5ldyBFcnJvcigiQ291bGRuJ3QgZGVjcnlwdCBhY2NvdW50cy4gUGFzc3dvcmQgd3Jvbmc/Iik7ci5hZGQobil9KSx0aGlzfSxNLnByb3RvdHlwZS5zYXZlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGxvY2FsU3RvcmFnZS5zZXRJdGVtKGV8fHRoaXMuZGVmYXVsdEtleU5hbWUsSlNPTi5zdHJpbmdpZnkodGhpcy5lbmNyeXB0KHQpKSksITB9LE0ucHJvdG90eXBlLmxvYWQ9ZnVuY3Rpb24odCxlKXt2YXIgcj1sb2NhbFN0b3JhZ2UuZ2V0SXRlbShlfHx0aGlzLmRlZmF1bHRLZXlOYW1lKTtpZihyKXRyeXtyPUpTT04ucGFyc2Uocil9Y2F0Y2godCl7fXJldHVybiB0aGlzLmRlY3J5cHQocnx8W10sdCl9LCJ1bmRlZmluZWQiPT10eXBlb2YgbG9jYWxTdG9yYWdlJiYoZGVsZXRlIE0ucHJvdG90eXBlLnNhdmUsZGVsZXRlIE0ucHJvdG90eXBlLmxvYWQpLGUuZXhwb3J0cz1ffSkuY2FsbCh0aGlzLCJ1bmRlZmluZWQiIT10eXBlb2YgZ2xvYmFsP2dsb2JhbDoidW5kZWZpbmVkIiE9dHlwZW9mIHNlbGY/c2VsZjoidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6e30sdCgiYnVmZmVyIikuQnVmZmVyKX0seyJhbnktcHJvbWlzZSI6MjIzLGJ1ZmZlcjo0NyxjcnlwdG86NTYsImNyeXB0by1icm93c2VyaWZ5IjoyNzcsImV0aC1saWIvbGliL2FjY291bnQiOjMwNCwiZXRoLWxpYi9saWIvYnl0ZXMiOjMwNiwiZXRoLWxpYi9saWIvaGFzaCI6MzA3LCJldGgtbGliL2xpYi9uYXQiOjMwOCwiZXRoLWxpYi9saWIvcmxwIjozMDksInNjcnlwdC5qcyI6MzUxLHVuZGVyc2NvcmU6MzYxLHV1aWQ6MzYzLCJ3ZWIzLWNvcmUiOjIwOSwid2ViMy1jb3JlLWhlbHBlcnMiOjE5MSwid2ViMy1jb3JlLW1ldGhvZCI6MTkzLCJ3ZWIzLXV0aWxzIjozOTN9XSwzNjU6W2Z1bmN0aW9uKHQsZSxyKXthcmd1bWVudHNbNF1bMTc4XVswXS5hcHBseShyLGFyZ3VtZW50cyl9LHtkdXA6MTc4fV0sMzY2OltmdW5jdGlvbih0LGUscil7dmFyIG49dCgidW5kZXJzY29yZSIpLGk9dCgid2ViMy1jb3JlIiksbz10KCJ3ZWIzLWNvcmUtbWV0aG9kIiksYT10KCJ3ZWIzLXV0aWxzIikscz10KCJ3ZWIzLWNvcmUtc3Vic2NyaXB0aW9ucyIpLnN1YnNjcmlwdGlvbix1PXQoIndlYjMtY29yZS1oZWxwZXJzIikuZm9ybWF0dGVycyxmPXQoIndlYjMtY29yZS1oZWxwZXJzIikuZXJyb3JzLGM9dCgid2ViMy1jb3JlLXByb21pZXZlbnQiKSxoPXQoIndlYjMtZXRoLWFiaSIpLGQ9ZnVuY3Rpb24gdChlLHIsbyl7dmFyIHM9dGhpcyxmPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7aWYoISh0aGlzIGluc3RhbmNlb2YgdCkpdGhyb3cgbmV3IEVycm9yKCdQbGVhc2UgdXNlIHRoZSAibmV3IiBrZXl3b3JkIHRvIGluc3RhbnRpYXRlIGEgd2ViMy5ldGguY29udHJhY3QoKSBvYmplY3QhJyk7aWYoaS5wYWNrYWdlSW5pdCh0aGlzLFt0aGlzLmNvbnN0cnVjdG9yLmN1cnJlbnRQcm92aWRlcl0pLHRoaXMuY2xlYXJTdWJzY3JpcHRpb25zPXRoaXMuX3JlcXVlc3RNYW5hZ2VyLmNsZWFyU3Vic2NyaXB0aW9ucywhZXx8IUFycmF5LmlzQXJyYXkoZSkpdGhyb3cgbmV3IEVycm9yKCJZb3UgbXVzdCBwcm92aWRlIHRoZSBqc29uIGludGVyZmFjZSBvZiB0aGUgY29udHJhY3Qgd2hlbiBpbnN0YW50aWF0aW5nIGEgY29udHJhY3Qgb2JqZWN0LiIpO3RoaXMub3B0aW9ucz17fTt2YXIgYz1mW2YubGVuZ3RoLTFdO24uaXNPYmplY3QoYykmJiFuLmlzQXJyYXkoYykmJihvPWMsdGhpcy5vcHRpb25zPW4uZXh0ZW5kKHRoaXMub3B0aW9ucyx0aGlzLl9nZXRPclNldERlZmF1bHRPcHRpb25zKG8pKSxuLmlzT2JqZWN0KHIpJiYocj1udWxsKSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMub3B0aW9ucywiYWRkcmVzcyIse3NldDpmdW5jdGlvbih0KXt0JiYocy5fYWRkcmVzcz1hLnRvQ2hlY2tzdW1BZGRyZXNzKHUuaW5wdXRBZGRyZXNzRm9ybWF0dGVyKHQpKSl9LGdldDpmdW5jdGlvbigpe3JldHVybiBzLl9hZGRyZXNzfSxlbnVtZXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMub3B0aW9ucywianNvbkludGVyZmFjZSIse3NldDpmdW5jdGlvbih0KXtyZXR1cm4gcy5tZXRob2RzPXt9LHMuZXZlbnRzPXt9LHMuX2pzb25JbnRlcmZhY2U9dC5tYXAoZnVuY3Rpb24odCl7dmFyIGUscjtpZih0Lm5hbWUmJihyPWEuX2pzb25JbnRlcmZhY2VNZXRob2RUb1N0cmluZyh0KSksImZ1bmN0aW9uIj09PXQudHlwZSl7aWYodC5zaWduYXR1cmU9aC5lbmNvZGVGdW5jdGlvblNpZ25hdHVyZShyKSxlPXMuX2NyZWF0ZVR4T2JqZWN0LmJpbmQoe21ldGhvZDp0LHBhcmVudDpzfSkscy5tZXRob2RzW3QubmFtZV0pe3ZhciBuPXMuX2NyZWF0ZVR4T2JqZWN0LmJpbmQoe21ldGhvZDp0LHBhcmVudDpzLG5leHRNZXRob2Q6cy5tZXRob2RzW3QubmFtZV19KTtzLm1ldGhvZHNbdC5uYW1lXT1ufWVsc2Ugcy5tZXRob2RzW3QubmFtZV09ZTtzLm1ldGhvZHNbdC5zaWduYXR1cmVdPWUscy5tZXRob2RzW3JdPWV9ZWxzZSBpZigiZXZlbnQiPT09dC50eXBlKXt0LnNpZ25hdHVyZT1oLmVuY29kZUV2ZW50U2lnbmF0dXJlKHIpO3ZhciBpPXMuX29uLmJpbmQocyx0LnNpZ25hdHVyZSk7cy5ldmVudHNbdC5uYW1lXSYmImJvdW5kICIhPT1zLmV2ZW50c1t0Lm5hbWVdLm5hbWV8fChzLmV2ZW50c1t0Lm5hbWVdPWkpLHMuZXZlbnRzW3Quc2lnbmF0dXJlXT1pLHMuZXZlbnRzW3JdPWl9cmV0dXJuIHR9KSxzLmV2ZW50cy5hbGxFdmVudHM9cy5fb24uYmluZChzLCJhbGxldmVudHMiKSxzLl9qc29uSW50ZXJmYWNlfSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gcy5fanNvbkludGVyZmFjZX0sZW51bWVyYWJsZTohMH0pO3ZhciBkPXRoaXMuY29uc3RydWN0b3IuZGVmYXVsdEFjY291bnQsbD10aGlzLmNvbnN0cnVjdG9yLmRlZmF1bHRCbG9ja3x8ImxhdGVzdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsImRlZmF1bHRBY2NvdW50Iix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGR9LHNldDpmdW5jdGlvbih0KXtyZXR1cm4gdCYmKGQ9YS50b0NoZWNrc3VtQWRkcmVzcyh1LmlucHV0QWRkcmVzc0Zvcm1hdHRlcih0KSkpLHR9LGVudW1lcmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywiZGVmYXVsdEJsb2NrIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGx9LHNldDpmdW5jdGlvbih0KXtyZXR1cm4gbD10LHR9LGVudW1lcmFibGU6ITB9KSx0aGlzLm1ldGhvZHM9e30sdGhpcy5ldmVudHM9e30sdGhpcy5fYWRkcmVzcz1udWxsLHRoaXMuX2pzb25JbnRlcmZhY2U9W10sdGhpcy5vcHRpb25zLmFkZHJlc3M9cix0aGlzLm9wdGlvbnMuanNvbkludGVyZmFjZT1lfTtkLnNldFByb3ZpZGVyPWZ1bmN0aW9uKHQsZSl7aS5wYWNrYWdlSW5pdCh0aGlzLFt0XSksdGhpcy5fZXRoQWNjb3VudHM9ZX0sZC5wcm90b3R5cGUuX2dldENhbGxiYWNrPWZ1bmN0aW9uKHQpe2lmKHQmJm4uaXNGdW5jdGlvbih0W3QubGVuZ3RoLTFdKSlyZXR1cm4gdC5wb3AoKX0sZC5wcm90b3R5cGUuX2NoZWNrTGlzdGVuZXI9ZnVuY3Rpb24odCxlKXtpZihlPT09dCl0aHJvdyBuZXcgRXJyb3IoJ1RoZSBldmVudCAiJyt0KyJcIiBpcyBhIHJlc2VydmVkIGV2ZW50IG5hbWUsIHlvdSBjYW4ndCB1c2UgaXQuIil9LGQucHJvdG90eXBlLl9nZXRPclNldERlZmF1bHRPcHRpb25zPWZ1bmN0aW9uKHQpe3ZhciBlPXQuZ2FzUHJpY2U/U3RyaW5nKHQuZ2FzUHJpY2UpOm51bGwscj10LmZyb20/YS50b0NoZWNrc3VtQWRkcmVzcyh1LmlucHV0QWRkcmVzc0Zvcm1hdHRlcih0LmZyb20pKTpudWxsO3JldHVybiB0LmRhdGE9dC5kYXRhfHx0aGlzLm9wdGlvbnMuZGF0YSx0LmZyb209cnx8dGhpcy5vcHRpb25zLmZyb20sdC5nYXNQcmljZT1lfHx0aGlzLm9wdGlvbnMuZ2FzUHJpY2UsdC5nYXM9dC5nYXN8fHQuZ2FzTGltaXR8fHRoaXMub3B0aW9ucy5nYXMsZGVsZXRlIHQuZ2FzTGltaXQsdH0sZC5wcm90b3R5cGUuX2VuY29kZUV2ZW50QUJJPWZ1bmN0aW9uKHQsZSl7dmFyIHI9KGU9ZXx8e30pLmZpbHRlcnx8e30saT17fTtpZihbImZyb21CbG9jayIsInRvQmxvY2siXS5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuIHZvaWQgMCE9PWVbdF19KS5mb3JFYWNoKGZ1bmN0aW9uKHQpe2lbdF09dS5pbnB1dEJsb2NrTnVtYmVyRm9ybWF0dGVyKGVbdF0pfSksbi5pc0FycmF5KGUudG9waWNzKSlpLnRvcGljcz1lLnRvcGljcztlbHNle2lmKGkudG9waWNzPVtdLHQmJiF0LmFub255bW91cyYmIkFMTEVWRU5UUyIhPT10Lm5hbWUmJmkudG9waWNzLnB1c2godC5zaWduYXR1cmUpLCJBTExFVkVOVFMiIT09dC5uYW1lKXt2YXIgbz10LmlucHV0cy5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuITA9PT10LmluZGV4ZWR9KS5tYXAoZnVuY3Rpb24odCl7dmFyIGU9clt0Lm5hbWVdO3JldHVybiBlP24uaXNBcnJheShlKT9lLm1hcChmdW5jdGlvbihlKXtyZXR1cm4gaC5lbmNvZGVQYXJhbWV0ZXIodC50eXBlLGUpfSk6aC5lbmNvZGVQYXJhbWV0ZXIodC50eXBlLGUpOm51bGx9KTtpLnRvcGljcz1pLnRvcGljcy5jb25jYXQobyl9aS50b3BpY3MubGVuZ3RofHxkZWxldGUgaS50b3BpY3N9cmV0dXJuIHRoaXMub3B0aW9ucy5hZGRyZXNzJiYoaS5hZGRyZXNzPXRoaXMub3B0aW9ucy5hZGRyZXNzLnRvTG93ZXJDYXNlKCkpLGl9LGQucHJvdG90eXBlLl9kZWNvZGVFdmVudEFCST1mdW5jdGlvbih0KXt2YXIgZT10aGlzO3QuZGF0YT10LmRhdGF8fCIiLHQudG9waWNzPXQudG9waWNzfHxbXTt2YXIgcj11Lm91dHB1dExvZ0Zvcm1hdHRlcih0KTsiQUxMRVZFTlRTIj09PWUubmFtZSYmKGU9ZS5qc29uSW50ZXJmYWNlLmZpbmQoZnVuY3Rpb24oZSl7cmV0dXJuIGUuc2lnbmF0dXJlPT09dC50b3BpY3NbMF19KXx8e2Fub255bW91czohMH0pLGUuaW5wdXRzPWUuaW5wdXRzfHxbXTt2YXIgbj1lLmFub255bW91cz90LnRvcGljczp0LnRvcGljcy5zbGljZSgxKTtyZXR1cm4gci5yZXR1cm5WYWx1ZXM9aC5kZWNvZGVMb2coZS5pbnB1dHMsdC5kYXRhLG4pLGRlbGV0ZSByLnJldHVyblZhbHVlcy5fX2xlbmd0aF9fLHIuZXZlbnQ9ZS5uYW1lLHIuc2lnbmF0dXJlPWUuYW5vbnltb3VzfHwhdC50b3BpY3NbMF0/bnVsbDp0LnRvcGljc1swXSxyLnJhdz17ZGF0YTpyLmRhdGEsdG9waWNzOnIudG9waWNzfSxkZWxldGUgci5kYXRhLGRlbGV0ZSByLnRvcGljcyxyfSxkLnByb3RvdHlwZS5fZW5jb2RlTWV0aG9kQUJJPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fbWV0aG9kLnNpZ25hdHVyZSxlPXRoaXMuYXJndW1lbnRzfHxbXSxyPSExLGk9dGhpcy5fcGFyZW50Lm9wdGlvbnMuanNvbkludGVyZmFjZS5maWx0ZXIoZnVuY3Rpb24oZSl7cmV0dXJuImNvbnN0cnVjdG9yIj09PXQmJmUudHlwZT09PXR8fChlLnNpZ25hdHVyZT09PXR8fGUuc2lnbmF0dXJlPT09dC5yZXBsYWNlKCIweCIsIiIpfHxlLm5hbWU9PT10KSYmImZ1bmN0aW9uIj09PWUudHlwZX0pLm1hcChmdW5jdGlvbih0KXt2YXIgaT1uLmlzQXJyYXkodC5pbnB1dHMpP3QuaW5wdXRzLmxlbmd0aDowO2lmKGkhPT1lLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIlRoZSBudW1iZXIgb2YgYXJndW1lbnRzIGlzIG5vdCBtYXRjaGluZyB0aGUgbWV0aG9kcyByZXF1aXJlZCBudW1iZXIuIFlvdSBuZWVkIHRvIHBhc3MgIitpKyIgYXJndW1lbnRzLiIpO3JldHVybiJmdW5jdGlvbiI9PT10LnR5cGUmJihyPXQuc2lnbmF0dXJlKSxuLmlzQXJyYXkodC5pbnB1dHMpP3QuaW5wdXRzLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdC50eXBlfSk6W119KS5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIGguZW5jb2RlUGFyYW1ldGVycyh0LGUpLnJlcGxhY2UoIjB4IiwiIil9KVswXXx8IiI7aWYoImNvbnN0cnVjdG9yIj09PXQpe2lmKCF0aGlzLl9kZXBsb3lEYXRhKXRocm93IG5ldyBFcnJvcigiVGhlIGNvbnRyYWN0IGhhcyBubyBjb250cmFjdCBkYXRhIG9wdGlvbiBzZXQuIFRoaXMgaXMgbmVjZXNzYXJ5IHRvIGFwcGVuZCB0aGUgY29uc3RydWN0b3IgcGFyYW1ldGVycy4iKTtyZXR1cm4gdGhpcy5fZGVwbG95RGF0YStpfXZhciBvPXI/citpOmk7aWYobylyZXR1cm4gbzt0aHJvdyBuZXcgRXJyb3IoIkNvdWxkbid0IGZpbmQgYSBtYXRjaGluZyBjb250cmFjdCBtZXRob2QgbmFtZWQgXCIiK3RoaXMuX21ldGhvZC5uYW1lKyciLicpfSxkLnByb3RvdHlwZS5fZGVjb2RlTWV0aG9kUmV0dXJuPWZ1bmN0aW9uKHQsZSl7aWYoIWUpcmV0dXJuIG51bGw7ZT1lLmxlbmd0aD49Mj9lLnNsaWNlKDIpOmU7dmFyIHI9aC5kZWNvZGVQYXJhbWV0ZXJzKHQsZSk7cmV0dXJuIDE9PT1yLl9fbGVuZ3RoX18/clswXTooZGVsZXRlIHIuX19sZW5ndGhfXyxyKX0sZC5wcm90b3R5cGUuZGVwbG95PWZ1bmN0aW9uKHQsZSl7aWYoKHQ9dHx8e30pLmFyZ3VtZW50cz10LmFyZ3VtZW50c3x8W10sISh0PXRoaXMuX2dldE9yU2V0RGVmYXVsdE9wdGlvbnModCkpLmRhdGEpcmV0dXJuIGEuX2ZpcmVFcnJvcihuZXcgRXJyb3IoJ05vICJkYXRhIiBzcGVjaWZpZWQgaW4gbmVpdGhlciB0aGUgZ2l2ZW4gb3B0aW9ucywgbm9yIHRoZSBkZWZhdWx0IG9wdGlvbnMuJyksbnVsbCxudWxsLGUpO3ZhciByPW4uZmluZCh0aGlzLm9wdGlvbnMuanNvbkludGVyZmFjZSxmdW5jdGlvbih0KXtyZXR1cm4iY29uc3RydWN0b3IiPT09dC50eXBlfSl8fHt9O3JldHVybiByLnNpZ25hdHVyZT0iY29uc3RydWN0b3IiLHRoaXMuX2NyZWF0ZVR4T2JqZWN0LmFwcGx5KHttZXRob2Q6cixwYXJlbnQ6dGhpcyxkZXBsb3lEYXRhOnQuZGF0YSxfZXRoQWNjb3VudHM6dGhpcy5jb25zdHJ1Y3Rvci5fZXRoQWNjb3VudHN9LHQuYXJndW1lbnRzKX0sZC5wcm90b3R5cGUuX2dlbmVyYXRlRXZlbnRPcHRpb25zPWZ1bmN0aW9uKCl7dmFyIHQ9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKSxlPXRoaXMuX2dldENhbGxiYWNrKHQpLHI9bi5pc09iamVjdCh0W3QubGVuZ3RoLTFdKT90LnBvcCgpOnt9LGk9bi5pc1N0cmluZyh0WzBdKT90WzBdOiJhbGxldmVudHMiO2lmKCEoaT0iYWxsZXZlbnRzIj09PWkudG9Mb3dlckNhc2UoKT97bmFtZToiQUxMRVZFTlRTIixqc29uSW50ZXJmYWNlOnRoaXMub3B0aW9ucy5qc29uSW50ZXJmYWNlfTp0aGlzLm9wdGlvbnMuanNvbkludGVyZmFjZS5maW5kKGZ1bmN0aW9uKHQpe3JldHVybiJldmVudCI9PT10LnR5cGUmJih0Lm5hbWU9PT1pfHx0LnNpZ25hdHVyZT09PSIweCIraS5yZXBsYWNlKCIweCIsIiIpKX0pKSl0aHJvdyBuZXcgRXJyb3IoJ0V2ZW50ICInK2kubmFtZSsiXCIgZG9lc24ndCBleGlzdCBpbiB0aGlzIGNvbnRyYWN0LiIpO2lmKCFhLmlzQWRkcmVzcyh0aGlzLm9wdGlvbnMuYWRkcmVzcykpdGhyb3cgbmV3IEVycm9yKCJUaGlzIGNvbnRyYWN0IG9iamVjdCBkb2Vzbid0IGhhdmUgYWRkcmVzcyBzZXQgeWV0LCBwbGVhc2Ugc2V0IGFuIGFkZHJlc3MgZmlyc3QuIik7cmV0dXJue3BhcmFtczp0aGlzLl9lbmNvZGVFdmVudEFCSShpLHIpLGV2ZW50OmksY2FsbGJhY2s6ZX19LGQucHJvdG90eXBlLmNsb25lPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyB0aGlzLmNvbnN0cnVjdG9yKHRoaXMub3B0aW9ucy5qc29uSW50ZXJmYWNlLHRoaXMub3B0aW9ucy5hZGRyZXNzLHRoaXMub3B0aW9ucyl9LGQucHJvdG90eXBlLm9uY2U9ZnVuY3Rpb24odCxlLHIpe3ZhciBpPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7aWYoIShyPXRoaXMuX2dldENhbGxiYWNrKGkpKSl0aHJvdyBuZXcgRXJyb3IoIk9uY2UgcmVxdWlyZXMgYSBjYWxsYmFjayBhcyB0aGUgc2Vjb25kIHBhcmFtZXRlci4iKTtlJiZkZWxldGUgZS5mcm9tQmxvY2ssdGhpcy5fb24odCxlLGZ1bmN0aW9uKHQsZSxpKXtpLnVuc3Vic2NyaWJlKCksbi5pc0Z1bmN0aW9uKHIpJiZyKHQsZSxpKX0pfSxkLnByb3RvdHlwZS5fb249ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9nZW5lcmF0ZUV2ZW50T3B0aW9ucy5hcHBseSh0aGlzLGFyZ3VtZW50cyk7dGhpcy5fY2hlY2tMaXN0ZW5lcigibmV3TGlzdGVuZXIiLHQuZXZlbnQubmFtZSx0LmNhbGxiYWNrKSx0aGlzLl9jaGVja0xpc3RlbmVyKCJyZW1vdmVMaXN0ZW5lciIsdC5ldmVudC5uYW1lLHQuY2FsbGJhY2spO3ZhciBlPW5ldyBzKHtzdWJzY3JpcHRpb246e3BhcmFtczoxLGlucHV0Rm9ybWF0dGVyOlt1LmlucHV0TG9nRm9ybWF0dGVyXSxvdXRwdXRGb3JtYXR0ZXI6dGhpcy5fZGVjb2RlRXZlbnRBQkkuYmluZCh0LmV2ZW50KSxzdWJzY3JpcHRpb25IYW5kbGVyOmZ1bmN0aW9uKHQpe3QucmVtb3ZlZD90aGlzLmVtaXQoImNoYW5nZWQiLHQpOnRoaXMuZW1pdCgiZGF0YSIsdCksbi5pc0Z1bmN0aW9uKHRoaXMuY2FsbGJhY2spJiZ0aGlzLmNhbGxiYWNrKG51bGwsdCx0aGlzKX19LHR5cGU6ImV0aCIscmVxdWVzdE1hbmFnZXI6dGhpcy5fcmVxdWVzdE1hbmFnZXJ9KTtyZXR1cm4gZS5zdWJzY3JpYmUoImxvZ3MiLHQucGFyYW1zLHQuY2FsbGJhY2t8fGZ1bmN0aW9uKCl7fSksZX0sZC5wcm90b3R5cGUuZ2V0UGFzdEV2ZW50cz1mdW5jdGlvbigpe3ZhciB0PXRoaXMuX2dlbmVyYXRlRXZlbnRPcHRpb25zLmFwcGx5KHRoaXMsYXJndW1lbnRzKSxlPW5ldyBvKHtuYW1lOiJnZXRQYXN0TG9ncyIsY2FsbDoiZXRoX2dldExvZ3MiLHBhcmFtczoxLGlucHV0Rm9ybWF0dGVyOlt1LmlucHV0TG9nRm9ybWF0dGVyXSxvdXRwdXRGb3JtYXR0ZXI6dGhpcy5fZGVjb2RlRXZlbnRBQkkuYmluZCh0LmV2ZW50KX0pO2Uuc2V0UmVxdWVzdE1hbmFnZXIodGhpcy5fcmVxdWVzdE1hbmFnZXIpO3ZhciByPWUuYnVpbGRDYWxsKCk7cmV0dXJuIGU9bnVsbCxyKHQucGFyYW1zLHQuY2FsbGJhY2spfSxkLnByb3RvdHlwZS5fY3JlYXRlVHhPYmplY3Q9ZnVuY3Rpb24oKXt2YXIgdD1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpLGU9e307aWYoImZ1bmN0aW9uIj09PXRoaXMubWV0aG9kLnR5cGUmJihlLmNhbGw9dGhpcy5wYXJlbnQuX2V4ZWN1dGVNZXRob2QuYmluZChlLCJjYWxsIiksZS5jYWxsLnJlcXVlc3Q9dGhpcy5wYXJlbnQuX2V4ZWN1dGVNZXRob2QuYmluZChlLCJjYWxsIiwhMCkpLGUuc2VuZD10aGlzLnBhcmVudC5fZXhlY3V0ZU1ldGhvZC5iaW5kKGUsInNlbmQiKSxlLnNlbmQucmVxdWVzdD10aGlzLnBhcmVudC5fZXhlY3V0ZU1ldGhvZC5iaW5kKGUsInNlbmQiLCEwKSxlLmVuY29kZUFCST10aGlzLnBhcmVudC5fZW5jb2RlTWV0aG9kQUJJLmJpbmQoZSksZS5lc3RpbWF0ZUdhcz10aGlzLnBhcmVudC5fZXhlY3V0ZU1ldGhvZC5iaW5kKGUsImVzdGltYXRlIiksdCYmdGhpcy5tZXRob2QuaW5wdXRzJiZ0Lmxlbmd0aCE9PXRoaXMubWV0aG9kLmlucHV0cy5sZW5ndGgpe2lmKHRoaXMubmV4dE1ldGhvZClyZXR1cm4gdGhpcy5uZXh0TWV0aG9kLmFwcGx5KG51bGwsdCk7dGhyb3cgZi5JbnZhbGlkTnVtYmVyT2ZQYXJhbXModC5sZW5ndGgsdGhpcy5tZXRob2QuaW5wdXRzLmxlbmd0aCx0aGlzLm1ldGhvZC5uYW1lKX1yZXR1cm4gZS5hcmd1bWVudHM9dHx8W10sZS5fbWV0aG9kPXRoaXMubWV0aG9kLGUuX3BhcmVudD10aGlzLnBhcmVudCxlLl9ldGhBY2NvdW50cz10aGlzLnBhcmVudC5jb25zdHJ1Y3Rvci5fZXRoQWNjb3VudHN8fHRoaXMuX2V0aEFjY291bnRzLHRoaXMuZGVwbG95RGF0YSYmKGUuX2RlcGxveURhdGE9dGhpcy5kZXBsb3lEYXRhKSxlfSxkLnByb3RvdHlwZS5fcHJvY2Vzc0V4ZWN1dGVBcmd1bWVudHM9ZnVuY3Rpb24odCxlKXt2YXIgcj17fTtpZihyLnR5cGU9dC5zaGlmdCgpLHIuY2FsbGJhY2s9dGhpcy5fcGFyZW50Ll9nZXRDYWxsYmFjayh0KSwiY2FsbCI9PT1yLnR5cGUmJiEwIT09dFt0Lmxlbmd0aC0xXSYmKG4uaXNTdHJpbmcodFt0Lmxlbmd0aC0xXSl8fGlzRmluaXRlKHRbdC5sZW5ndGgtMV0pKSYmKHIuZGVmYXVsdEJsb2NrPXQucG9wKCkpLHIub3B0aW9ucz1uLmlzT2JqZWN0KHRbdC5sZW5ndGgtMV0pP3QucG9wKCk6e30sci5nZW5lcmF0ZVJlcXVlc3Q9ITA9PT10W3QubGVuZ3RoLTFdJiZ0LnBvcCgpLHIub3B0aW9ucz10aGlzLl9wYXJlbnQuX2dldE9yU2V0RGVmYXVsdE9wdGlvbnMoci5vcHRpb25zKSxyLm9wdGlvbnMuZGF0YT10aGlzLmVuY29kZUFCSSgpLCF0aGlzLl9kZXBsb3lEYXRhJiYhYS5pc0FkZHJlc3ModGhpcy5fcGFyZW50Lm9wdGlvbnMuYWRkcmVzcykpdGhyb3cgbmV3IEVycm9yKCJUaGlzIGNvbnRyYWN0IG9iamVjdCBkb2Vzbid0IGhhdmUgYWRkcmVzcyBzZXQgeWV0LCBwbGVhc2Ugc2V0IGFuIGFkZHJlc3MgZmlyc3QuIik7cmV0dXJuIHRoaXMuX2RlcGxveURhdGF8fChyLm9wdGlvbnMudG89dGhpcy5fcGFyZW50Lm9wdGlvbnMuYWRkcmVzcyksci5vcHRpb25zLmRhdGE/cjphLl9maXJlRXJyb3IobmV3IEVycm9yKCJDb3VsZG4ndCBmaW5kIGEgbWF0Y2hpbmcgY29udHJhY3QgbWV0aG9kLCBvciB0aGUgbnVtYmVyIG9mIHBhcmFtZXRlcnMgaXMgd3JvbmcuIiksZS5ldmVudEVtaXR0ZXIsZS5yZWplY3Qsci5jYWxsYmFjayl9LGQucHJvdG90eXBlLl9leGVjdXRlTWV0aG9kPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPXRoaXMuX3BhcmVudC5fcHJvY2Vzc0V4ZWN1dGVBcmd1bWVudHMuY2FsbCh0aGlzLEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cykscikscj1jKCJzZW5kIiE9PWUudHlwZSksaT10LmNvbnN0cnVjdG9yLl9ldGhBY2NvdW50c3x8dC5fZXRoQWNjb3VudHM7aWYoZS5nZW5lcmF0ZVJlcXVlc3Qpe3ZhciBzPXtwYXJhbXM6W3UuaW5wdXRDYWxsRm9ybWF0dGVyLmNhbGwodGhpcy5fcGFyZW50LGUub3B0aW9ucyldLGNhbGxiYWNrOmUuY2FsbGJhY2t9O3JldHVybiJjYWxsIj09PWUudHlwZT8ocy5wYXJhbXMucHVzaCh1LmlucHV0RGVmYXVsdEJsb2NrTnVtYmVyRm9ybWF0dGVyLmNhbGwodGhpcy5fcGFyZW50LGUuZGVmYXVsdEJsb2NrKSkscy5tZXRob2Q9ImV0aF9jYWxsIixzLmZvcm1hdD10aGlzLl9wYXJlbnQuX2RlY29kZU1ldGhvZFJldHVybi5iaW5kKG51bGwsdGhpcy5fbWV0aG9kLm91dHB1dHMpKTpzLm1ldGhvZD0iZXRoX3NlbmRUcmFuc2FjdGlvbiIsc31zd2l0Y2goZS50eXBlKXtjYXNlImVzdGltYXRlIjpyZXR1cm4gbmV3IG8oe25hbWU6ImVzdGltYXRlR2FzIixjYWxsOiJldGhfZXN0aW1hdGVHYXMiLHBhcmFtczoxLGlucHV0Rm9ybWF0dGVyOlt1LmlucHV0Q2FsbEZvcm1hdHRlcl0sb3V0cHV0Rm9ybWF0dGVyOmEuaGV4VG9OdW1iZXIscmVxdWVzdE1hbmFnZXI6dC5fcGFyZW50Ll9yZXF1ZXN0TWFuYWdlcixhY2NvdW50czppLGRlZmF1bHRBY2NvdW50OnQuX3BhcmVudC5kZWZhdWx0QWNjb3VudCxkZWZhdWx0QmxvY2s6dC5fcGFyZW50LmRlZmF1bHRCbG9ja30pLmNyZWF0ZUZ1bmN0aW9uKCkoZS5vcHRpb25zLGUuY2FsbGJhY2spO2Nhc2UiY2FsbCI6cmV0dXJuIG5ldyBvKHtuYW1lOiJjYWxsIixjYWxsOiJldGhfY2FsbCIscGFyYW1zOjIsaW5wdXRGb3JtYXR0ZXI6W3UuaW5wdXRDYWxsRm9ybWF0dGVyLHUuaW5wdXREZWZhdWx0QmxvY2tOdW1iZXJGb3JtYXR0ZXJdLG91dHB1dEZvcm1hdHRlcjpmdW5jdGlvbihlKXtyZXR1cm4gdC5fcGFyZW50Ll9kZWNvZGVNZXRob2RSZXR1cm4odC5fbWV0aG9kLm91dHB1dHMsZSl9LHJlcXVlc3RNYW5hZ2VyOnQuX3BhcmVudC5fcmVxdWVzdE1hbmFnZXIsYWNjb3VudHM6aSxkZWZhdWx0QWNjb3VudDp0Ll9wYXJlbnQuZGVmYXVsdEFjY291bnQsZGVmYXVsdEJsb2NrOnQuX3BhcmVudC5kZWZhdWx0QmxvY2t9KS5jcmVhdGVGdW5jdGlvbigpKGUub3B0aW9ucyxlLmRlZmF1bHRCbG9jayxlLmNhbGxiYWNrKTtjYXNlInNlbmQiOmlmKCFhLmlzQWRkcmVzcyhlLm9wdGlvbnMuZnJvbSkpcmV0dXJuIGEuX2ZpcmVFcnJvcihuZXcgRXJyb3IoJ05vICJmcm9tIiBhZGRyZXNzIHNwZWNpZmllZCBpbiBuZWl0aGVyIHRoZSBnaXZlbiBvcHRpb25zLCBub3IgdGhlIGRlZmF1bHQgb3B0aW9ucy4nKSxyLmV2ZW50RW1pdHRlcixyLnJlamVjdCxlLmNhbGxiYWNrKTtpZihuLmlzQm9vbGVhbih0aGlzLl9tZXRob2QucGF5YWJsZSkmJiF0aGlzLl9tZXRob2QucGF5YWJsZSYmZS5vcHRpb25zLnZhbHVlJiZlLm9wdGlvbnMudmFsdWU+MClyZXR1cm4gYS5fZmlyZUVycm9yKG5ldyBFcnJvcigiQ2FuIG5vdCBzZW5kIHZhbHVlIHRvIG5vbi1wYXlhYmxlIGNvbnRyYWN0IG1ldGhvZCBvciBjb25zdHJ1Y3RvciIpLHIuZXZlbnRFbWl0dGVyLHIucmVqZWN0LGUuY2FsbGJhY2spO3ZhciBmPXtyZWNlaXB0Rm9ybWF0dGVyOmZ1bmN0aW9uKGUpe2lmKG4uaXNBcnJheShlLmxvZ3MpKXt2YXIgcj1uLm1hcChlLmxvZ3MsZnVuY3Rpb24oZSl7cmV0dXJuIHQuX3BhcmVudC5fZGVjb2RlRXZlbnRBQkkuY2FsbCh7bmFtZToiQUxMRVZFTlRTIixqc29uSW50ZXJmYWNlOnQuX3BhcmVudC5vcHRpb25zLmpzb25JbnRlcmZhY2V9LGUpfSk7ZS5ldmVudHM9e307dmFyIGk9MDtyLmZvckVhY2goZnVuY3Rpb24odCl7dC5ldmVudD9lLmV2ZW50c1t0LmV2ZW50XT9BcnJheS5pc0FycmF5KGUuZXZlbnRzW3QuZXZlbnRdKT9lLmV2ZW50c1t0LmV2ZW50XS5wdXNoKHQpOmUuZXZlbnRzW3QuZXZlbnRdPVtlLmV2ZW50c1t0LmV2ZW50XSx0XTplLmV2ZW50c1t0LmV2ZW50XT10OihlLmV2ZW50c1tpXT10LGkrKyl9KSxkZWxldGUgZS5sb2dzfXJldHVybiBlfSxjb250cmFjdERlcGxveUZvcm1hdHRlcjpmdW5jdGlvbihlKXt2YXIgcj10Ll9wYXJlbnQuY2xvbmUoKTtyZXR1cm4gci5vcHRpb25zLmFkZHJlc3M9ZS5jb250cmFjdEFkZHJlc3Mscn19O3JldHVybiBuZXcgbyh7bmFtZToic2VuZFRyYW5zYWN0aW9uIixjYWxsOiJldGhfc2VuZFRyYW5zYWN0aW9uIixwYXJhbXM6MSxpbnB1dEZvcm1hdHRlcjpbdS5pbnB1dFRyYW5zYWN0aW9uRm9ybWF0dGVyXSxyZXF1ZXN0TWFuYWdlcjp0Ll9wYXJlbnQuX3JlcXVlc3RNYW5hZ2VyLGFjY291bnRzOnQuY29uc3RydWN0b3IuX2V0aEFjY291bnRzfHx0Ll9ldGhBY2NvdW50cyxkZWZhdWx0QWNjb3VudDp0Ll9wYXJlbnQuZGVmYXVsdEFjY291bnQsZGVmYXVsdEJsb2NrOnQuX3BhcmVudC5kZWZhdWx0QmxvY2ssZXh0cmFGb3JtYXR0ZXJzOmZ9KS5jcmVhdGVGdW5jdGlvbigpKGUub3B0aW9ucyxlLmNhbGxiYWNrKX19LGUuZXhwb3J0cz1kfSx7dW5kZXJzY29yZTozNjUsIndlYjMtY29yZSI6MjA5LCJ3ZWIzLWNvcmUtaGVscGVycyI6MTkxLCJ3ZWIzLWNvcmUtbWV0aG9kIjoxOTMsIndlYjMtY29yZS1wcm9taWV2ZW50IjoxOTgsIndlYjMtY29yZS1zdWJzY3JpcHRpb25zIjoyMDYsIndlYjMtZXRoLWFiaSI6MjEzLCJ3ZWIzLXV0aWxzIjozOTN9XSwzNjc6W2Z1bmN0aW9uKHQsZSxyKXthcmd1bWVudHNbNF1bMjEwXVswXS5hcHBseShyLGFyZ3VtZW50cyl9LHtkdXA6MjEwfV0sMzY4OltmdW5jdGlvbih0LGUscil7dmFyIG49dCgid2ViMy11dGlscyIpLGk9dCgiYm4uanMiKSxvPWZ1bmN0aW9uKHQpe3ZhciBlPSJBIi5jaGFyQ29kZUF0KDApLHI9IloiLmNoYXJDb2RlQXQoMCk7cmV0dXJuKHQ9KHQ9dC50b1VwcGVyQ2FzZSgpKS5zdWJzdHIoNCkrdC5zdWJzdHIoMCw0KSkuc3BsaXQoIiIpLm1hcChmdW5jdGlvbih0KXt2YXIgbj10LmNoYXJDb2RlQXQoMCk7cmV0dXJuIG4+PWUmJm48PXI/bi1lKzEwOnR9KS5qb2luKCIiKX0sYT1mdW5jdGlvbih0KXtmb3IodmFyIGUscj10O3IubGVuZ3RoPjI7KWU9ci5zbGljZSgwLDkpLHI9cGFyc2VJbnQoZSwxMCklOTcrci5zbGljZShlLmxlbmd0aCk7cmV0dXJuIHBhcnNlSW50KHIsMTApJTk3fSxzPWZ1bmN0aW9uKHQpe3RoaXMuX2liYW49dH07cy50b0FkZHJlc3M9ZnVuY3Rpb24odCl7aWYoISh0PW5ldyBzKHQpKS5pc0RpcmVjdCgpKXRocm93IG5ldyBFcnJvcigiSUJBTiBpcyBpbmRpcmVjdCBhbmQgY2FuJ3QgYmUgY29udmVydGVkIik7cmV0dXJuIHQudG9BZGRyZXNzKCl9LHMudG9JYmFuPWZ1bmN0aW9uKHQpe3JldHVybiBzLmZyb21BZGRyZXNzKHQpLnRvU3RyaW5nKCl9LHMuZnJvbUFkZHJlc3M9ZnVuY3Rpb24odCl7aWYoIW4uaXNBZGRyZXNzKHQpKXRocm93IG5ldyBFcnJvcigiUHJvdmlkZWQgYWRkcmVzcyBpcyBub3QgYSB2YWxpZCBhZGRyZXNzOiAiK3QpO3Q9dC5yZXBsYWNlKCIweCIsIiIpLnJlcGxhY2UoIjBYIiwiIik7dmFyIGU9ZnVuY3Rpb24odCxlKXtmb3IodmFyIHI9dDtyLmxlbmd0aDwyKmU7KXI9IjAiK3I7cmV0dXJuIHJ9KG5ldyBpKHQsMTYpLnRvU3RyaW5nKDM2KSwxNSk7cmV0dXJuIHMuZnJvbUJiYW4oZS50b1VwcGVyQ2FzZSgpKX0scy5mcm9tQmJhbj1mdW5jdGlvbih0KXt2YXIgZT0oIjAiKyg5OC1hKG8oIlhFMDAiK3QpKSkpLnNsaWNlKC0yKTtyZXR1cm4gbmV3IHMoIlhFIitlK3QpfSxzLmNyZWF0ZUluZGlyZWN0PWZ1bmN0aW9uKHQpe3JldHVybiBzLmZyb21CYmFuKCJFVEgiK3QuaW5zdGl0dXRpb24rdC5pZGVudGlmaWVyKX0scy5pc1ZhbGlkPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgcyh0KS5pc1ZhbGlkKCl9LHMucHJvdG90eXBlLmlzVmFsaWQ9ZnVuY3Rpb24oKXtyZXR1cm4vXlhFWzAtOV17Mn0oRVRIWzAtOUEtWl17MTN9fFswLTlBLVpdezMwLDMxfSkkLy50ZXN0KHRoaXMuX2liYW4pJiYxPT09YShvKHRoaXMuX2liYW4pKX0scy5wcm90b3R5cGUuaXNEaXJlY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gMzQ9PT10aGlzLl9pYmFuLmxlbmd0aHx8MzU9PT10aGlzLl9pYmFuLmxlbmd0aH0scy5wcm90b3R5cGUuaXNJbmRpcmVjdD1mdW5jdGlvbigpe3JldHVybiAyMD09PXRoaXMuX2liYW4ubGVuZ3RofSxzLnByb3RvdHlwZS5jaGVja3N1bT1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9pYmFuLnN1YnN0cigyLDIpfSxzLnByb3RvdHlwZS5pbnN0aXR1dGlvbj1mdW5jdGlvbigpe3JldHVybiB0aGlzLmlzSW5kaXJlY3QoKT90aGlzLl9pYmFuLnN1YnN0cig3LDQpOiIifSxzLnByb3RvdHlwZS5jbGllbnQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pc0luZGlyZWN0KCk/dGhpcy5faWJhbi5zdWJzdHIoMTEpOiIifSxzLnByb3RvdHlwZS50b0FkZHJlc3M9ZnVuY3Rpb24oKXtpZih0aGlzLmlzRGlyZWN0KCkpe3ZhciB0PXRoaXMuX2liYW4uc3Vic3RyKDQpLGU9bmV3IGkodCwzNik7cmV0dXJuIG4udG9DaGVja3N1bUFkZHJlc3MoZS50b1N0cmluZygxNiwyMCkpfXJldHVybiIifSxzLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9pYmFufSxlLmV4cG9ydHM9c30seyJibi5qcyI6MzY3LCJ3ZWIzLXV0aWxzIjozOTN9XSwzNjk6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbj10KCJ3ZWIzLWNvcmUiKSxpPXQoIndlYjMtY29yZS1tZXRob2QiKSxvPXQoIndlYjMtdXRpbHMiKSxhPXQoIndlYjMtbmV0Iikscz10KCJ3ZWIzLWNvcmUtaGVscGVycyIpLmZvcm1hdHRlcnMsdT1mdW5jdGlvbigpe3ZhciB0PXRoaXM7bi5wYWNrYWdlSW5pdCh0aGlzLGFyZ3VtZW50cyksdGhpcy5uZXQ9bmV3IGEodGhpcy5jdXJyZW50UHJvdmlkZXIpO3ZhciBlPW51bGwscj0ibGF0ZXN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywiZGVmYXVsdEFjY291bnQiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gZX0sc2V0OmZ1bmN0aW9uKHQpe3JldHVybiB0JiYoZT1vLnRvQ2hlY2tzdW1BZGRyZXNzKHMuaW5wdXRBZGRyZXNzRm9ybWF0dGVyKHQpKSksdS5mb3JFYWNoKGZ1bmN0aW9uKHQpe3QuZGVmYXVsdEFjY291bnQ9ZX0pLHR9LGVudW1lcmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywiZGVmYXVsdEJsb2NrIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHJ9LHNldDpmdW5jdGlvbih0KXtyZXR1cm4gcj10LHUuZm9yRWFjaChmdW5jdGlvbih0KXt0LmRlZmF1bHRCbG9jaz1yfSksdH0sZW51bWVyYWJsZTohMH0pO3ZhciB1PVtuZXcgaSh7bmFtZToiZ2V0QWNjb3VudHMiLGNhbGw6InBlcnNvbmFsX2xpc3RBY2NvdW50cyIscGFyYW1zOjAsb3V0cHV0Rm9ybWF0dGVyOm8udG9DaGVja3N1bUFkZHJlc3N9KSxuZXcgaSh7bmFtZToibmV3QWNjb3VudCIsY2FsbDoicGVyc29uYWxfbmV3QWNjb3VudCIscGFyYW1zOjEsaW5wdXRGb3JtYXR0ZXI6W251bGxdLG91dHB1dEZvcm1hdHRlcjpvLnRvQ2hlY2tzdW1BZGRyZXNzfSksbmV3IGkoe25hbWU6InVubG9ja0FjY291bnQiLGNhbGw6InBlcnNvbmFsX3VubG9ja0FjY291bnQiLHBhcmFtczozLGlucHV0Rm9ybWF0dGVyOltzLmlucHV0QWRkcmVzc0Zvcm1hdHRlcixudWxsLG51bGxdfSksbmV3IGkoe25hbWU6ImxvY2tBY2NvdW50IixjYWxsOiJwZXJzb25hbF9sb2NrQWNjb3VudCIscGFyYW1zOjEsaW5wdXRGb3JtYXR0ZXI6W3MuaW5wdXRBZGRyZXNzRm9ybWF0dGVyXX0pLG5ldyBpKHtuYW1lOiJpbXBvcnRSYXdLZXkiLGNhbGw6InBlcnNvbmFsX2ltcG9ydFJhd0tleSIscGFyYW1zOjJ9KSxuZXcgaSh7bmFtZToic2VuZFRyYW5zYWN0aW9uIixjYWxsOiJwZXJzb25hbF9zZW5kVHJhbnNhY3Rpb24iLHBhcmFtczoyLGlucHV0Rm9ybWF0dGVyOltzLmlucHV0VHJhbnNhY3Rpb25Gb3JtYXR0ZXIsbnVsbF19KSxuZXcgaSh7bmFtZToic2lnblRyYW5zYWN0aW9uIixjYWxsOiJwZXJzb25hbF9zaWduVHJhbnNhY3Rpb24iLHBhcmFtczoyLGlucHV0Rm9ybWF0dGVyOltzLmlucHV0VHJhbnNhY3Rpb25Gb3JtYXR0ZXIsbnVsbF19KSxuZXcgaSh7bmFtZToic2lnbiIsY2FsbDoicGVyc29uYWxfc2lnbiIscGFyYW1zOjMsaW5wdXRGb3JtYXR0ZXI6W3MuaW5wdXRTaWduRm9ybWF0dGVyLHMuaW5wdXRBZGRyZXNzRm9ybWF0dGVyLG51bGxdfSksbmV3IGkoe25hbWU6ImVjUmVjb3ZlciIsY2FsbDoicGVyc29uYWxfZWNSZWNvdmVyIixwYXJhbXM6MixpbnB1dEZvcm1hdHRlcjpbcy5pbnB1dFNpZ25Gb3JtYXR0ZXIsbnVsbF19KV07dS5mb3JFYWNoKGZ1bmN0aW9uKGUpe2UuYXR0YWNoVG9PYmplY3QodCksZS5zZXRSZXF1ZXN0TWFuYWdlcih0Ll9yZXF1ZXN0TWFuYWdlciksZS5kZWZhdWx0QmxvY2s9dC5kZWZhdWx0QmxvY2ssZS5kZWZhdWx0QWNjb3VudD10LmRlZmF1bHRBY2NvdW50fSl9O24uYWRkUHJvdmlkZXJzKHUpLGUuZXhwb3J0cz11fSx7IndlYjMtY29yZSI6MjA5LCJ3ZWIzLWNvcmUtaGVscGVycyI6MTkxLCJ3ZWIzLWNvcmUtbWV0aG9kIjoxOTMsIndlYjMtbmV0IjozNzMsIndlYjMtdXRpbHMiOjM5M31dLDM3MDpbZnVuY3Rpb24odCxlLHIpe2FyZ3VtZW50c1s0XVsxNzhdWzBdLmFwcGx5KHIsYXJndW1lbnRzKX0se2R1cDoxNzh9XSwzNzE6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbj10KCJ1bmRlcnNjb3JlIik7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlLHI9dGhpcztyZXR1cm4gdGhpcy5uZXQuZ2V0SWQoKS50aGVuKGZ1bmN0aW9uKHQpe3JldHVybiBlPXQsci5nZXRCbG9jaygwKX0pLnRoZW4oZnVuY3Rpb24ocil7dmFyIGk9InByaXZhdGUiO3JldHVybiIweGQ0ZTU2NzQwZjg3NmFlZjhjMDEwYjg2YTQwZDVmNTY3NDVhMTE4ZDA5MDZhMzRlNjlhZWM4YzBkYjFjYjhmYTMiPT09ci5oYXNoJiYxPT09ZSYmKGk9Im1haW4iKSwiMGNkNzg2YTI0MjVkMTZmMTUyYzY1ODMxNmM0MjNlNmNlMTE4MWUxNWMzMjk1ODI2ZDdjOTkwNGNiYTljZTMwMyI9PT1yLmhhc2gmJjI9PT1lJiYoaT0ibW9yZGVuIiksIjB4NDE5NDEwMjM2ODA5MjNlMGZlNGQ3NGEzNGJkYWM4MTQxZjI1NDBlM2FlOTA2MjM3MThlNDdkNjZkMWNhNGEyZCI9PT1yLmhhc2gmJjM9PT1lJiYoaT0icm9wc3RlbiIpLCIweDYzNDFmZDNkYWY5NGI3NDhjNzJjZWQ1YTViMjYwMjhmMjQ3NGY1ZjAwZDgyNDUwNGU0ZmEzN2E3NTc2N2UxNzciPT09ci5oYXNoJiY0PT09ZSYmKGk9InJpbmtlYnkiKSwiMHhhM2M1NjVmYzE1Yzc0Nzg4NjJkNTBjY2Q2NTYxZTNjMDZiMjRjYzUwOWJmMzg4OTQxYzI1ZWE5ODVjZTMyY2I5Ij09PXIuaGFzaCYmNDI9PT1lJiYoaT0ia292YW4iKSxuLmlzRnVuY3Rpb24odCkmJnQobnVsbCxpKSxpfSkuY2F0Y2goZnVuY3Rpb24oZSl7aWYoIW4uaXNGdW5jdGlvbih0KSl0aHJvdyBlO3QoZSl9KX19LHt1bmRlcnNjb3JlOjM3MH1dLDM3MjpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQoInVuZGVyc2NvcmUiKSxpPXQoIndlYjMtY29yZSIpLG89dCgid2ViMy1jb3JlLWhlbHBlcnMiKSxhPXQoIndlYjMtY29yZS1zdWJzY3JpcHRpb25zIikuc3Vic2NyaXB0aW9ucyxzPXQoIndlYjMtY29yZS1tZXRob2QiKSx1PXQoIndlYjMtdXRpbHMiKSxmPXQoIndlYjMtbmV0IiksYz10KCJ3ZWIzLWV0aC1wZXJzb25hbCIpLGg9dCgid2ViMy1ldGgtY29udHJhY3QiKSxkPXQoIndlYjMtZXRoLWliYW4iKSxsPXQoIndlYjMtZXRoLWFjY291bnRzIikscD10KCJ3ZWIzLWV0aC1hYmkiKSxiPXQoIi4vZ2V0TmV0d29ya1R5cGUuanMiKSxtPW8uZm9ybWF0dGVycyx5PWZ1bmN0aW9uKHQpe3JldHVybiBuLmlzU3RyaW5nKHRbMF0pJiYwPT09dFswXS5pbmRleE9mKCIweCIpPyJldGhfZ2V0QmxvY2tCeUhhc2giOiJldGhfZ2V0QmxvY2tCeU51bWJlciJ9LHY9ZnVuY3Rpb24odCl7cmV0dXJuIG4uaXNTdHJpbmcodFswXSkmJjA9PT10WzBdLmluZGV4T2YoIjB4Iik/ImV0aF9nZXRUcmFuc2FjdGlvbkJ5QmxvY2tIYXNoQW5kSW5kZXgiOiJldGhfZ2V0VHJhbnNhY3Rpb25CeUJsb2NrTnVtYmVyQW5kSW5kZXgifSxnPWZ1bmN0aW9uKHQpe3JldHVybiBuLmlzU3RyaW5nKHRbMF0pJiYwPT09dFswXS5pbmRleE9mKCIweCIpPyJldGhfZ2V0VW5jbGVCeUJsb2NrSGFzaEFuZEluZGV4IjoiZXRoX2dldFVuY2xlQnlCbG9ja051bWJlckFuZEluZGV4In0sdz1mdW5jdGlvbih0KXtyZXR1cm4gbi5pc1N0cmluZyh0WzBdKSYmMD09PXRbMF0uaW5kZXhPZigiMHgiKT8iZXRoX2dldEJsb2NrVHJhbnNhY3Rpb25Db3VudEJ5SGFzaCI6ImV0aF9nZXRCbG9ja1RyYW5zYWN0aW9uQ291bnRCeU51bWJlciJ9LF89ZnVuY3Rpb24odCl7cmV0dXJuIG4uaXNTdHJpbmcodFswXSkmJjA9PT10WzBdLmluZGV4T2YoIjB4Iik/ImV0aF9nZXRVbmNsZUNvdW50QnlCbG9ja0hhc2giOiJldGhfZ2V0VW5jbGVDb3VudEJ5QmxvY2tOdW1iZXIifSxNPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcztpLnBhY2thZ2VJbml0KHRoaXMsYXJndW1lbnRzKTt2YXIgZT10aGlzLnNldFByb3ZpZGVyO3RoaXMuc2V0UHJvdmlkZXI9ZnVuY3Rpb24oKXtlLmFwcGx5KHQsYXJndW1lbnRzKSx0Lm5ldC5zZXRQcm92aWRlci5hcHBseSh0LGFyZ3VtZW50cyksdC5wZXJzb25hbC5zZXRQcm92aWRlci5hcHBseSh0LGFyZ3VtZW50cyksdC5hY2NvdW50cy5zZXRQcm92aWRlci5hcHBseSh0LGFyZ3VtZW50cyksdC5Db250cmFjdC5zZXRQcm92aWRlcih0LmN1cnJlbnRQcm92aWRlcix0LmFjY291bnRzKX07dmFyIHI9bnVsbCxvPSJsYXRlc3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCJkZWZhdWx0QWNjb3VudCIse2dldDpmdW5jdGlvbigpe3JldHVybiByfSxzZXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGUmJihyPXUudG9DaGVja3N1bUFkZHJlc3MobS5pbnB1dEFkZHJlc3NGb3JtYXR0ZXIoZSkpKSx0LkNvbnRyYWN0LmRlZmF1bHRBY2NvdW50PXIsdC5wZXJzb25hbC5kZWZhdWx0QWNjb3VudD1yLHguZm9yRWFjaChmdW5jdGlvbih0KXt0LmRlZmF1bHRBY2NvdW50PXJ9KSxlfSxlbnVtZXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsImRlZmF1bHRCbG9jayIse2dldDpmdW5jdGlvbigpe3JldHVybiBvfSxzZXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIG89ZSx0LkNvbnRyYWN0LmRlZmF1bHRCbG9jaz1vLHQucGVyc29uYWwuZGVmYXVsdEJsb2NrPW8seC5mb3JFYWNoKGZ1bmN0aW9uKHQpe3QuZGVmYXVsdEJsb2NrPW99KSxlfSxlbnVtZXJhYmxlOiEwfSksdGhpcy5jbGVhclN1YnNjcmlwdGlvbnM9dC5fcmVxdWVzdE1hbmFnZXIuY2xlYXJTdWJzY3JpcHRpb25zLHRoaXMubmV0PW5ldyBmKHRoaXMuY3VycmVudFByb3ZpZGVyKSx0aGlzLm5ldC5nZXROZXR3b3JrVHlwZT1iLmJpbmQodGhpcyksdGhpcy5hY2NvdW50cz1uZXcgbCh0aGlzLmN1cnJlbnRQcm92aWRlciksdGhpcy5wZXJzb25hbD1uZXcgYyh0aGlzLmN1cnJlbnRQcm92aWRlciksdGhpcy5wZXJzb25hbC5kZWZhdWx0QWNjb3VudD10aGlzLmRlZmF1bHRBY2NvdW50O3ZhciBNPWZ1bmN0aW9uKCl7aC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9O00uc2V0UHJvdmlkZXI9ZnVuY3Rpb24oKXtoLnNldFByb3ZpZGVyLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sKE0ucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoaC5wcm90b3R5cGUpKS5jb25zdHJ1Y3Rvcj1NLHRoaXMuQ29udHJhY3Q9TSx0aGlzLkNvbnRyYWN0LmRlZmF1bHRBY2NvdW50PXRoaXMuZGVmYXVsdEFjY291bnQsdGhpcy5Db250cmFjdC5kZWZhdWx0QmxvY2s9dGhpcy5kZWZhdWx0QmxvY2ssdGhpcy5Db250cmFjdC5zZXRQcm92aWRlcih0aGlzLmN1cnJlbnRQcm92aWRlcix0aGlzLmFjY291bnRzKSx0aGlzLkliYW49ZCx0aGlzLmFiaT1wO3ZhciB4PVtuZXcgcyh7bmFtZToiZ2V0Tm9kZUluZm8iLGNhbGw6IndlYjNfY2xpZW50VmVyc2lvbiJ9KSxuZXcgcyh7bmFtZToiZ2V0UHJvdG9jb2xWZXJzaW9uIixjYWxsOiJldGhfcHJvdG9jb2xWZXJzaW9uIixwYXJhbXM6MH0pLG5ldyBzKHtuYW1lOiJnZXRDb2luYmFzZSIsY2FsbDoiZXRoX2NvaW5iYXNlIixwYXJhbXM6MH0pLG5ldyBzKHtuYW1lOiJpc01pbmluZyIsY2FsbDoiZXRoX21pbmluZyIscGFyYW1zOjB9KSxuZXcgcyh7bmFtZToiZ2V0SGFzaHJhdGUiLGNhbGw6ImV0aF9oYXNocmF0ZSIscGFyYW1zOjAsb3V0cHV0Rm9ybWF0dGVyOnUuaGV4VG9OdW1iZXJ9KSxuZXcgcyh7bmFtZToiaXNTeW5jaW5nIixjYWxsOiJldGhfc3luY2luZyIscGFyYW1zOjAsb3V0cHV0Rm9ybWF0dGVyOm0ub3V0cHV0U3luY2luZ0Zvcm1hdHRlcn0pLG5ldyBzKHtuYW1lOiJnZXRHYXNQcmljZSIsY2FsbDoiZXRoX2dhc1ByaWNlIixwYXJhbXM6MCxvdXRwdXRGb3JtYXR0ZXI6bS5vdXRwdXRCaWdOdW1iZXJGb3JtYXR0ZXJ9KSxuZXcgcyh7bmFtZToiZ2V0QWNjb3VudHMiLGNhbGw6ImV0aF9hY2NvdW50cyIscGFyYW1zOjAsb3V0cHV0Rm9ybWF0dGVyOnUudG9DaGVja3N1bUFkZHJlc3N9KSxuZXcgcyh7bmFtZToiZ2V0QmxvY2tOdW1iZXIiLGNhbGw6ImV0aF9ibG9ja051bWJlciIscGFyYW1zOjAsb3V0cHV0Rm9ybWF0dGVyOnUuaGV4VG9OdW1iZXJ9KSxuZXcgcyh7bmFtZToiZ2V0QmFsYW5jZSIsY2FsbDoiZXRoX2dldEJhbGFuY2UiLHBhcmFtczoyLGlucHV0Rm9ybWF0dGVyOlttLmlucHV0QWRkcmVzc0Zvcm1hdHRlcixtLmlucHV0RGVmYXVsdEJsb2NrTnVtYmVyRm9ybWF0dGVyXSxvdXRwdXRGb3JtYXR0ZXI6bS5vdXRwdXRCaWdOdW1iZXJGb3JtYXR0ZXJ9KSxuZXcgcyh7bmFtZToiZ2V0U3RvcmFnZUF0IixjYWxsOiJldGhfZ2V0U3RvcmFnZUF0IixwYXJhbXM6MyxpbnB1dEZvcm1hdHRlcjpbbS5pbnB1dEFkZHJlc3NGb3JtYXR0ZXIsdS5udW1iZXJUb0hleCxtLmlucHV0RGVmYXVsdEJsb2NrTnVtYmVyRm9ybWF0dGVyXX0pLG5ldyBzKHtuYW1lOiJnZXRDb2RlIixjYWxsOiJldGhfZ2V0Q29kZSIscGFyYW1zOjIsaW5wdXRGb3JtYXR0ZXI6W20uaW5wdXRBZGRyZXNzRm9ybWF0dGVyLG0uaW5wdXREZWZhdWx0QmxvY2tOdW1iZXJGb3JtYXR0ZXJdfSksbmV3IHMoe25hbWU6ImdldEJsb2NrIixjYWxsOnkscGFyYW1zOjIsaW5wdXRGb3JtYXR0ZXI6W20uaW5wdXRCbG9ja051bWJlckZvcm1hdHRlcixmdW5jdGlvbih0KXtyZXR1cm4hIXR9XSxvdXRwdXRGb3JtYXR0ZXI6bS5vdXRwdXRCbG9ja0Zvcm1hdHRlcn0pLG5ldyBzKHtuYW1lOiJnZXRVbmNsZSIsY2FsbDpnLHBhcmFtczoyLGlucHV0Rm9ybWF0dGVyOlttLmlucHV0QmxvY2tOdW1iZXJGb3JtYXR0ZXIsdS5udW1iZXJUb0hleF0sb3V0cHV0Rm9ybWF0dGVyOm0ub3V0cHV0QmxvY2tGb3JtYXR0ZXJ9KSxuZXcgcyh7bmFtZToiZ2V0QmxvY2tUcmFuc2FjdGlvbkNvdW50IixjYWxsOncscGFyYW1zOjEsaW5wdXRGb3JtYXR0ZXI6W20uaW5wdXRCbG9ja051bWJlckZvcm1hdHRlcl0sb3V0cHV0Rm9ybWF0dGVyOnUuaGV4VG9OdW1iZXJ9KSxuZXcgcyh7bmFtZToiZ2V0QmxvY2tVbmNsZUNvdW50IixjYWxsOl8scGFyYW1zOjEsaW5wdXRGb3JtYXR0ZXI6W20uaW5wdXRCbG9ja051bWJlckZvcm1hdHRlcl0sb3V0cHV0Rm9ybWF0dGVyOnUuaGV4VG9OdW1iZXJ9KSxuZXcgcyh7bmFtZToiZ2V0VHJhbnNhY3Rpb24iLGNhbGw6ImV0aF9nZXRUcmFuc2FjdGlvbkJ5SGFzaCIscGFyYW1zOjEsaW5wdXRGb3JtYXR0ZXI6W251bGxdLG91dHB1dEZvcm1hdHRlcjptLm91dHB1dFRyYW5zYWN0aW9uRm9ybWF0dGVyfSksbmV3IHMoe25hbWU6ImdldFRyYW5zYWN0aW9uRnJvbUJsb2NrIixjYWxsOnYscGFyYW1zOjIsaW5wdXRGb3JtYXR0ZXI6W20uaW5wdXRCbG9ja051bWJlckZvcm1hdHRlcix1Lm51bWJlclRvSGV4XSxvdXRwdXRGb3JtYXR0ZXI6bS5vdXRwdXRUcmFuc2FjdGlvbkZvcm1hdHRlcn0pLG5ldyBzKHtuYW1lOiJnZXRUcmFuc2FjdGlvblJlY2VpcHQiLGNhbGw6ImV0aF9nZXRUcmFuc2FjdGlvblJlY2VpcHQiLHBhcmFtczoxLGlucHV0Rm9ybWF0dGVyOltudWxsXSxvdXRwdXRGb3JtYXR0ZXI6bS5vdXRwdXRUcmFuc2FjdGlvblJlY2VpcHRGb3JtYXR0ZXJ9KSxuZXcgcyh7bmFtZToiZ2V0VHJhbnNhY3Rpb25Db3VudCIsY2FsbDoiZXRoX2dldFRyYW5zYWN0aW9uQ291bnQiLHBhcmFtczoyLGlucHV0Rm9ybWF0dGVyOlttLmlucHV0QWRkcmVzc0Zvcm1hdHRlcixtLmlucHV0RGVmYXVsdEJsb2NrTnVtYmVyRm9ybWF0dGVyXSxvdXRwdXRGb3JtYXR0ZXI6dS5oZXhUb051bWJlcn0pLG5ldyBzKHtuYW1lOiJzZW5kU2lnbmVkVHJhbnNhY3Rpb24iLGNhbGw6ImV0aF9zZW5kUmF3VHJhbnNhY3Rpb24iLHBhcmFtczoxLGlucHV0Rm9ybWF0dGVyOltudWxsXX0pLG5ldyBzKHtuYW1lOiJzaWduVHJhbnNhY3Rpb24iLGNhbGw6ImV0aF9zaWduVHJhbnNhY3Rpb24iLHBhcmFtczoxLGlucHV0Rm9ybWF0dGVyOlttLmlucHV0VHJhbnNhY3Rpb25Gb3JtYXR0ZXJdfSksbmV3IHMoe25hbWU6InNlbmRUcmFuc2FjdGlvbiIsY2FsbDoiZXRoX3NlbmRUcmFuc2FjdGlvbiIscGFyYW1zOjEsaW5wdXRGb3JtYXR0ZXI6W20uaW5wdXRUcmFuc2FjdGlvbkZvcm1hdHRlcl19KSxuZXcgcyh7bmFtZToic2lnbiIsY2FsbDoiZXRoX3NpZ24iLHBhcmFtczoyLGlucHV0Rm9ybWF0dGVyOlttLmlucHV0U2lnbkZvcm1hdHRlcixtLmlucHV0QWRkcmVzc0Zvcm1hdHRlcl0sdHJhbnNmb3JtUGF5bG9hZDpmdW5jdGlvbih0KXtyZXR1cm4gdC5wYXJhbXMucmV2ZXJzZSgpLHR9fSksbmV3IHMoe25hbWU6ImNhbGwiLGNhbGw6ImV0aF9jYWxsIixwYXJhbXM6MixpbnB1dEZvcm1hdHRlcjpbbS5pbnB1dENhbGxGb3JtYXR0ZXIsbS5pbnB1dERlZmF1bHRCbG9ja051bWJlckZvcm1hdHRlcl19KSxuZXcgcyh7bmFtZToiZXN0aW1hdGVHYXMiLGNhbGw6ImV0aF9lc3RpbWF0ZUdhcyIscGFyYW1zOjEsaW5wdXRGb3JtYXR0ZXI6W20uaW5wdXRDYWxsRm9ybWF0dGVyXSxvdXRwdXRGb3JtYXR0ZXI6dS5oZXhUb051bWJlcn0pLG5ldyBzKHtuYW1lOiJnZXRDb21waWxlcnMiLGNhbGw6ImV0aF9nZXRDb21waWxlcnMiLHBhcmFtczowfSksbmV3IHMoe25hbWU6ImNvbXBpbGUuc29saWRpdHkiLGNhbGw6ImV0aF9jb21waWxlU29saWRpdHkiLHBhcmFtczoxfSksbmV3IHMoe25hbWU6ImNvbXBpbGUubGxsIixjYWxsOiJldGhfY29tcGlsZUxMTCIscGFyYW1zOjF9KSxuZXcgcyh7bmFtZToiY29tcGlsZS5zZXJwZW50IixjYWxsOiJldGhfY29tcGlsZVNlcnBlbnQiLHBhcmFtczoxfSksbmV3IHMoe25hbWU6InN1Ym1pdFdvcmsiLGNhbGw6ImV0aF9zdWJtaXRXb3JrIixwYXJhbXM6M30pLG5ldyBzKHtuYW1lOiJnZXRXb3JrIixjYWxsOiJldGhfZ2V0V29yayIscGFyYW1zOjB9KSxuZXcgcyh7bmFtZToiZ2V0UGFzdExvZ3MiLGNhbGw6ImV0aF9nZXRMb2dzIixwYXJhbXM6MSxpbnB1dEZvcm1hdHRlcjpbbS5pbnB1dExvZ0Zvcm1hdHRlcl0sb3V0cHV0Rm9ybWF0dGVyOm0ub3V0cHV0TG9nRm9ybWF0dGVyfSksbmV3IGEoe25hbWU6InN1YnNjcmliZSIsdHlwZToiZXRoIixzdWJzY3JpcHRpb25zOntuZXdCbG9ja0hlYWRlcnM6e3N1YnNjcmlwdGlvbk5hbWU6Im5ld0hlYWRzIixwYXJhbXM6MCxvdXRwdXRGb3JtYXR0ZXI6bS5vdXRwdXRCbG9ja0Zvcm1hdHRlcn0scGVuZGluZ1RyYW5zYWN0aW9uczp7c3Vic2NyaXB0aW9uTmFtZToibmV3UGVuZGluZ1RyYW5zYWN0aW9ucyIscGFyYW1zOjB9LGxvZ3M6e3BhcmFtczoxLGlucHV0Rm9ybWF0dGVyOlttLmlucHV0TG9nRm9ybWF0dGVyXSxvdXRwdXRGb3JtYXR0ZXI6bS5vdXRwdXRMb2dGb3JtYXR0ZXIsc3Vic2NyaXB0aW9uSGFuZGxlcjpmdW5jdGlvbih0KXt0LnJlbW92ZWQ/dGhpcy5lbWl0KCJjaGFuZ2VkIix0KTp0aGlzLmVtaXQoImRhdGEiLHQpLG4uaXNGdW5jdGlvbih0aGlzLmNhbGxiYWNrKSYmdGhpcy5jYWxsYmFjayhudWxsLHQsdGhpcyl9fSxzeW5jaW5nOntwYXJhbXM6MCxvdXRwdXRGb3JtYXR0ZXI6bS5vdXRwdXRTeW5jaW5nRm9ybWF0dGVyLHN1YnNjcmlwdGlvbkhhbmRsZXI6ZnVuY3Rpb24odCl7dmFyIGU9dGhpczshMCE9PXRoaXMuX2lzU3luY2luZz8odGhpcy5faXNTeW5jaW5nPSEwLHRoaXMuZW1pdCgiY2hhbmdlZCIsZS5faXNTeW5jaW5nKSxuLmlzRnVuY3Rpb24odGhpcy5jYWxsYmFjaykmJnRoaXMuY2FsbGJhY2sobnVsbCxlLl9pc1N5bmNpbmcsdGhpcyksc2V0VGltZW91dChmdW5jdGlvbigpe2UuZW1pdCgiZGF0YSIsdCksbi5pc0Z1bmN0aW9uKGUuY2FsbGJhY2spJiZlLmNhbGxiYWNrKG51bGwsdCxlKX0sMCkpOih0aGlzLmVtaXQoImRhdGEiLHQpLG4uaXNGdW5jdGlvbihlLmNhbGxiYWNrKSYmdGhpcy5jYWxsYmFjayhudWxsLHQsdGhpcyksY2xlYXJUaW1lb3V0KHRoaXMuX2lzU3luY2luZ1RpbWVvdXQpLHRoaXMuX2lzU3luY2luZ1RpbWVvdXQ9c2V0VGltZW91dChmdW5jdGlvbigpe3QuY3VycmVudEJsb2NrPnQuaGlnaGVzdEJsb2NrLTIwMCYmKGUuX2lzU3luY2luZz0hMSxlLmVtaXQoImNoYW5nZWQiLGUuX2lzU3luY2luZyksbi5pc0Z1bmN0aW9uKGUuY2FsbGJhY2spJiZlLmNhbGxiYWNrKG51bGwsZS5faXNTeW5jaW5nLGUpKX0sNTAwKSl9fX19KV07eC5mb3JFYWNoKGZ1bmN0aW9uKGUpe2UuYXR0YWNoVG9PYmplY3QodCksZS5zZXRSZXF1ZXN0TWFuYWdlcih0Ll9yZXF1ZXN0TWFuYWdlcix0LmFjY291bnRzKSxlLmRlZmF1bHRCbG9jaz10LmRlZmF1bHRCbG9jayxlLmRlZmF1bHRBY2NvdW50PXQuZGVmYXVsdEFjY291bnR9KX07aS5hZGRQcm92aWRlcnMoTSksZS5leHBvcnRzPU19LHsiLi9nZXROZXR3b3JrVHlwZS5qcyI6MzcxLHVuZGVyc2NvcmU6MzcwLCJ3ZWIzLWNvcmUiOjIwOSwid2ViMy1jb3JlLWhlbHBlcnMiOjE5MSwid2ViMy1jb3JlLW1ldGhvZCI6MTkzLCJ3ZWIzLWNvcmUtc3Vic2NyaXB0aW9ucyI6MjA2LCJ3ZWIzLWV0aC1hYmkiOjIxMywid2ViMy1ldGgtYWNjb3VudHMiOjM2NCwid2ViMy1ldGgtY29udHJhY3QiOjM2Niwid2ViMy1ldGgtaWJhbiI6MzY4LCJ3ZWIzLWV0aC1wZXJzb25hbCI6MzY5LCJ3ZWIzLW5ldCI6MzczLCJ3ZWIzLXV0aWxzIjozOTN9XSwzNzM6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbj10KCJ3ZWIzLWNvcmUiKSxpPXQoIndlYjMtY29yZS1tZXRob2QiKSxvPXQoIndlYjMtdXRpbHMiKSxhPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcztuLnBhY2thZ2VJbml0KHRoaXMsYXJndW1lbnRzKSxbbmV3IGkoe25hbWU6ImdldElkIixjYWxsOiJuZXRfdmVyc2lvbiIscGFyYW1zOjAsb3V0cHV0Rm9ybWF0dGVyOm8uaGV4VG9OdW1iZXJ9KSxuZXcgaSh7bmFtZToiaXNMaXN0ZW5pbmciLGNhbGw6Im5ldF9saXN0ZW5pbmciLHBhcmFtczowfSksbmV3IGkoe25hbWU6ImdldFBlZXJDb3VudCIsY2FsbDoibmV0X3BlZXJDb3VudCIscGFyYW1zOjAsb3V0cHV0Rm9ybWF0dGVyOm8uaGV4VG9OdW1iZXJ9KV0uZm9yRWFjaChmdW5jdGlvbihlKXtlLmF0dGFjaFRvT2JqZWN0KHQpLGUuc2V0UmVxdWVzdE1hbmFnZXIodC5fcmVxdWVzdE1hbmFnZXIpfSl9O24uYWRkUHJvdmlkZXJzKGEpLGUuZXhwb3J0cz1hfSx7IndlYjMtY29yZSI6MjA5LCJ3ZWIzLWNvcmUtbWV0aG9kIjoxOTMsIndlYjMtdXRpbHMiOjM5M31dLDM3NDpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz1YTUxIdHRwUmVxdWVzdH0se31dLDM3NTpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQoIndlYjMtY29yZS1oZWxwZXJzIikuZXJyb3JzLGk9dCgieGhyMiIpLG89ZnVuY3Rpb24odCxlLHIpe3RoaXMuaG9zdD10fHwiaHR0cDovL2xvY2FsaG9zdDo4NTQ1Iix0aGlzLnRpbWVvdXQ9ZXx8MCx0aGlzLmNvbm5lY3RlZD0hMSx0aGlzLmhlYWRlcnM9cn07by5wcm90b3R5cGUuX3ByZXBhcmVSZXF1ZXN0PWZ1bmN0aW9uKCl7dmFyIHQ9bmV3IGk7cmV0dXJuIHQub3BlbigiUE9TVCIsdGhpcy5ob3N0LCEwKSx0LnNldFJlcXVlc3RIZWFkZXIoIkNvbnRlbnQtVHlwZSIsImFwcGxpY2F0aW9uL2pzb24iKSx0aGlzLmhlYWRlcnMmJnRoaXMuaGVhZGVycy5mb3JFYWNoKGZ1bmN0aW9uKGUpe3Quc2V0UmVxdWVzdEhlYWRlcihlLm5hbWUsZS52YWx1ZSl9KSx0fSxvLnByb3RvdHlwZS5zZW5kPWZ1bmN0aW9uKHQsZSl7dmFyIHI9dGhpcyxpPXRoaXMuX3ByZXBhcmVSZXF1ZXN0KCk7aS5vbnJlYWR5c3RhdGVjaGFuZ2U9ZnVuY3Rpb24oKXtpZig0PT09aS5yZWFkeVN0YXRlJiYxIT09aS50aW1lb3V0KXt2YXIgdD1pLnJlc3BvbnNlVGV4dCxvPW51bGw7dHJ5e3Q9SlNPTi5wYXJzZSh0KX1jYXRjaCh0KXtvPW4uSW52YWxpZFJlc3BvbnNlKGkucmVzcG9uc2VUZXh0KX1yLmNvbm5lY3RlZD0hMCxlKG8sdCl9fSxpLm9udGltZW91dD1mdW5jdGlvbigpe3IuY29ubmVjdGVkPSExLGUobi5Db25uZWN0aW9uVGltZW91dCh0aGlzLnRpbWVvdXQpKX07dHJ5e2kuc2VuZChKU09OLnN0cmluZ2lmeSh0KSl9Y2F0Y2godCl7dGhpcy5jb25uZWN0ZWQ9ITEsZShuLkludmFsaWRDb25uZWN0aW9uKHRoaXMuaG9zdCkpfX0sZS5leHBvcnRzPW99LHsid2ViMy1jb3JlLWhlbHBlcnMiOjE5MSx4aHIyOjM3NH1dLDM3NjpbZnVuY3Rpb24odCxlLHIpeyFmdW5jdGlvbih0LG4saSxvLGEscyl7dmFyIHU9bChmdW5jdGlvbih0LGUpe3ZhciByPWUubGVuZ3RoO3JldHVybiBsKGZ1bmN0aW9uKG4pe2Zvcih2YXIgaT0wO2k8bi5sZW5ndGg7aSsrKWVbcitpXT1uW2ldO3JldHVybiBlLmxlbmd0aD1yK24ubGVuZ3RoLHQuYXBwbHkodGhpcyxlKX0pfSk7bChmdW5jdGlvbih0KXt2YXIgZT1FKHQpO2Z1bmN0aW9uIHIodCxlKXtyZXR1cm5bZCh0LGUpXX1yZXR1cm4gbChmdW5jdGlvbih0KXtyZXR1cm4gQihyLHQsZSlbMF19KX0pO2Z1bmN0aW9uIGYodCxlKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdC5jYWxsKHRoaXMsZS5hcHBseSh0aGlzLGFyZ3VtZW50cykpfX1mdW5jdGlvbiBjKHQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gZVt0XX19dmFyIGg9bChmdW5jdGlvbih0KXtyZXR1cm4gbChmdW5jdGlvbihlKXtmb3IodmFyIHIsbj0wO248dih0KTtuKyspaWYocj1kKGUsdFtuXSkpcmV0dXJuIHJ9KX0pO2Z1bmN0aW9uIGQodCxlKXtyZXR1cm4gZS5hcHBseShzLHQpfWZ1bmN0aW9uIGwodCl7dmFyIGU9dC5sZW5ndGgtMSxyPWkucHJvdG90eXBlLnNsaWNlO2lmKDA9PWUpcmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHQuY2FsbCh0aGlzLHIuY2FsbChhcmd1bWVudHMpKX07aWYoMT09ZSlyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdC5jYWxsKHRoaXMsYXJndW1lbnRzWzBdLHIuY2FsbChhcmd1bWVudHMsMSkpfTt2YXIgbj1pKHQubGVuZ3RoKTtyZXR1cm4gZnVuY3Rpb24oKXtmb3IodmFyIGk9MDtpPGU7aSsrKW5baV09YXJndW1lbnRzW2ldO3JldHVybiBuW2VdPXIuY2FsbChhcmd1bWVudHMsZSksdC5hcHBseSh0aGlzLG4pfX1mdW5jdGlvbiBwKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKHIpe3JldHVybiB0KHIpJiZlKHIpfX1mdW5jdGlvbiBiKCl7fWZ1bmN0aW9uIG0oKXtyZXR1cm4hMH1mdW5jdGlvbiB5KHQsZSl7cmV0dXJuIGUmJmUuY29uc3RydWN0b3I9PT10fXZhciB2PWMoImxlbmd0aCIpLGc9dSh5LFN0cmluZyk7ZnVuY3Rpb24gdyh0KXtyZXR1cm4gdCE9PXN9ZnVuY3Rpb24gXyh0LGUpe3JldHVybiBlIGluc3RhbmNlb2YgbiYmZnVuY3Rpb24gdChlLHIpe3JldHVybiFyfHxlKGsocikpJiZ0KGUsUyhyKSl9KGZ1bmN0aW9uKHQpe3JldHVybiB0IGluIGV9LHQpfWZ1bmN0aW9uIE0odCxlKXtyZXR1cm5bdCxlXX12YXIgeD1udWxsLGs9YygwKSxTPWMoMSk7ZnVuY3Rpb24gRSh0KXtyZXR1cm4gQyh0LnJlZHVjZSgoZT1NLGZ1bmN0aW9uKHQscil7cmV0dXJuIGUocix0KX0pLHgpKTt2YXIgZX12YXIgQT1sKEUpO2Z1bmN0aW9uIGoodCl7cmV0dXJuIEIoZnVuY3Rpb24odCxlKXtyZXR1cm4gdC51bnNoaWZ0KGUpLHR9LFtdLHQpfWZ1bmN0aW9uIEkodCxlKXtyZXR1cm4gZT9NKHQoayhlKSksSSh0LFMoZSkpKTp4fWZ1bmN0aW9uIEIodCxlLHIpe3JldHVybiByP3QoQih0LGUsUyhyKSksayhyKSk6ZX1mdW5jdGlvbiBUKHQsZSxyKXtyZXR1cm4gZnVuY3Rpb24gdChyLG4pe3JldHVybiByP2UoayhyKSk/KG4oayhyKSksUyhyKSk6TShrKHIpLHQoUyhyKSxuKSk6eH0odCxyfHxiKX1mdW5jdGlvbiBDKHQpe3JldHVybiBmdW5jdGlvbiB0KGUscil7cmV0dXJuIGU/dChTKGUpLE0oayhlKSxyKSk6cn0odCx4KX1mdW5jdGlvbiBQKHQpe3ZhciBlLHIsbixpPXQoaHQpLmVtaXQsYT10KGR0KS5lbWl0LHU9dChsdCkuZW1pdCxmPXQoaXQpLmVtaXQsYz02NTUzNixoPS9bXFwiXG5dL2csZD0wLGw9ZCsrLHA9ZCsrLGI9ZCsrLG09ZCsrLHk9ZCsrLHY9ZCsrLGc9ZCsrLHc9ZCsrLF89ZCsrLE09ZCsrLHg9ZCsrLGs9ZCsrLFM9ZCsrLEU9ZCsrLEE9ZCsrLGo9ZCsrLEk9ZCsrLEI9ZCsrLFQ9ZCsrLEM9ZCsrLFA9MjAsUj1jLE89cyxOPSIiLEw9ITEsRj0hMSxxPWwsRD1bXSxVPW51bGwsej0wLEs9MCxIPTAsVj0wLFc9MTtmdW5jdGlvbiBYKHQpe08hPT1zJiYoYShPKSx1KCksTz1zKSxlPW8odCsiXG5MbjogIitXKyJcbkNvbDogIitWKyJcbkNocjogIityKSxmKHB0KHMscyxlKSl9ZnVuY3Rpb24gRyh0KXtyZXR1cm4iXHIiPT10fHwiXG4iPT10fHwiICI9PXR8fCJcdCI9PXR9dCh1dCkub24oZnVuY3Rpb24odCl7aWYoZSlyZXR1cm47aWYoRilyZXR1cm4gWCgiQ2Fubm90IHdyaXRlIGFmdGVyIGNsb3NlIik7dmFyIG89MDtyPXRbMF07Zm9yKDtyJiYobj1yLHI9dFtvKytdKTspc3dpdGNoKEgrKywiXG4iPT1yPyhXKyssVj0wKTpWKysscSl7Y2FzZSBsOmlmKCJ7Ij09PXIpcT1iO2Vsc2UgaWYoIlsiPT09cilxPXk7ZWxzZSBpZighRyhyKSlyZXR1cm4gWCgiTm9uLXdoaXRlc3BhY2UgYmVmb3JlIHtbLiIpO2NvbnRpbnVlO2Nhc2UgdzpjYXNlIGI6aWYoRyhyKSljb250aW51ZTtpZihxPT09dylELnB1c2goXyk7ZWxzZXtpZigifSI9PT1yKXthKHt9KSx1KCkscT1ELnBvcCgpfHxwO2NvbnRpbnVlfUQucHVzaChtKX1pZignIichPT1yKXJldHVybiBYKCdNYWxmb3JtZWQgb2JqZWN0IGtleSBzaG91bGQgc3RhcnQgd2l0aCAiICcpO3E9Zztjb250aW51ZTtjYXNlIF86Y2FzZSBtOmlmKEcocikpY29udGludWU7aWYoIjoiPT09cilxPT09bT8oRC5wdXNoKG0pLE8hPT1zJiYoYSh7fSksaShPKSxPPXMpLEsrKyk6TyE9PXMmJihpKE8pLE89cykscT1wO2Vsc2UgaWYoIn0iPT09cilPIT09cyYmKGEoTyksdSgpLE89cyksdSgpLEstLSxxPUQucG9wKCl8fHA7ZWxzZXtpZigiLCIhPT1yKXJldHVybiBYKCJCYWQgb2JqZWN0Iik7cT09PW0mJkQucHVzaChtKSxPIT09cyYmKGEoTyksdSgpLE89cykscT13fWNvbnRpbnVlO2Nhc2UgeTpjYXNlIHA6aWYoRyhyKSljb250aW51ZTtpZihxPT09eSl7aWYoYShbXSksSysrLHE9cCwiXSI9PT1yKXt1KCksSy0tLHE9RC5wb3AoKXx8cDtjb250aW51ZX1ELnB1c2godil9aWYoJyInPT09cilxPWc7ZWxzZSBpZigieyI9PT1yKXE9YjtlbHNlIGlmKCJbIj09PXIpcT15O2Vsc2UgaWYoInQiPT09cilxPU07ZWxzZSBpZigiZiI9PT1yKXE9UztlbHNlIGlmKCJuIj09PXIpcT1JO2Vsc2UgaWYoIi0iPT09cilOKz1yO2Vsc2UgaWYoIjAiPT09cilOKz1yLHE9UDtlbHNle2lmKC0xPT09IjEyMzQ1Njc4OSIuaW5kZXhPZihyKSlyZXR1cm4gWCgiQmFkIHZhbHVlIik7Tis9cixxPVB9Y29udGludWU7Y2FzZSB2OmlmKCIsIj09PXIpRC5wdXNoKHYpLE8hPT1zJiYoYShPKSx1KCksTz1zKSxxPXA7ZWxzZXtpZigiXSIhPT1yKXtpZihHKHIpKWNvbnRpbnVlO3JldHVybiBYKCJCYWQgYXJyYXkiKX1PIT09cyYmKGEoTyksdSgpLE89cyksdSgpLEstLSxxPUQucG9wKCl8fHB9Y29udGludWU7Y2FzZSBnOk89PT1zJiYoTz0iIik7dmFyIGY9by0xO3Q6Zm9yKDs7KXtmb3IoO3o+MDspaWYoVSs9cixyPXQuY2hhckF0KG8rKyksND09PXo/KE8rPVN0cmluZy5mcm9tQ2hhckNvZGUocGFyc2VJbnQoVSwxNikpLHo9MCxmPW8tMSk6eisrLCFyKWJyZWFrIHQ7aWYoJyInPT09ciYmIUwpe3E9RC5wb3AoKXx8cCxPKz10LnN1YnN0cmluZyhmLG8tMSk7YnJlYWt9aWYoISgiXFwiIT09cnx8THx8KEw9ITAsTys9dC5zdWJzdHJpbmcoZixvLTEpLHI9dC5jaGFyQXQobysrKSkpKWJyZWFrO2lmKEwpe2lmKEw9ITEsIm4iPT09cj9PKz0iXG4iOiJyIj09PXI/Tys9IlxyIjoidCI9PT1yP08rPSJcdCI6ImYiPT09cj9PKz0iXGYiOiJiIj09PXI/Tys9IlxiIjoidSI9PT1yPyh6PTEsVT0iIik6Tys9cixyPXQuY2hhckF0KG8rKyksZj1vLTEsciljb250aW51ZTticmVha31oLmxhc3RJbmRleD1vO3ZhciBkPWguZXhlYyh0KTtpZighZCl7bz10Lmxlbmd0aCsxLE8rPXQuc3Vic3RyaW5nKGYsby0xKTticmVha31pZihvPWQuaW5kZXgrMSwhKHI9dC5jaGFyQXQoZC5pbmRleCkpKXtPKz10LnN1YnN0cmluZyhmLG8tMSk7YnJlYWt9fWNvbnRpbnVlO2Nhc2UgTTppZighciljb250aW51ZTtpZigiciIhPT1yKXJldHVybiBYKCJJbnZhbGlkIHRydWUgc3RhcnRlZCB3aXRoIHQiK3IpO3E9eDtjb250aW51ZTtjYXNlIHg6aWYoIXIpY29udGludWU7aWYoInUiIT09cilyZXR1cm4gWCgiSW52YWxpZCB0cnVlIHN0YXJ0ZWQgd2l0aCB0ciIrcik7cT1rO2NvbnRpbnVlO2Nhc2UgazppZighciljb250aW51ZTtpZigiZSIhPT1yKXJldHVybiBYKCJJbnZhbGlkIHRydWUgc3RhcnRlZCB3aXRoIHRydSIrcik7YSghMCksdSgpLHE9RC5wb3AoKXx8cDtjb250aW51ZTtjYXNlIFM6aWYoIXIpY29udGludWU7aWYoImEiIT09cilyZXR1cm4gWCgiSW52YWxpZCBmYWxzZSBzdGFydGVkIHdpdGggZiIrcik7cT1FO2NvbnRpbnVlO2Nhc2UgRTppZighciljb250aW51ZTtpZigibCIhPT1yKXJldHVybiBYKCJJbnZhbGlkIGZhbHNlIHN0YXJ0ZWQgd2l0aCBmYSIrcik7cT1BO2NvbnRpbnVlO2Nhc2UgQTppZighciljb250aW51ZTtpZigicyIhPT1yKXJldHVybiBYKCJJbnZhbGlkIGZhbHNlIHN0YXJ0ZWQgd2l0aCBmYWwiK3IpO3E9ajtjb250aW51ZTtjYXNlIGo6aWYoIXIpY29udGludWU7aWYoImUiIT09cilyZXR1cm4gWCgiSW52YWxpZCBmYWxzZSBzdGFydGVkIHdpdGggZmFscyIrcik7YSghMSksdSgpLHE9RC5wb3AoKXx8cDtjb250aW51ZTtjYXNlIEk6aWYoIXIpY29udGludWU7aWYoInUiIT09cilyZXR1cm4gWCgiSW52YWxpZCBudWxsIHN0YXJ0ZWQgd2l0aCBuIityKTtxPUI7Y29udGludWU7Y2FzZSBCOmlmKCFyKWNvbnRpbnVlO2lmKCJsIiE9PXIpcmV0dXJuIFgoIkludmFsaWQgbnVsbCBzdGFydGVkIHdpdGggbnUiK3IpO3E9VDtjb250aW51ZTtjYXNlIFQ6aWYoIXIpY29udGludWU7aWYoImwiIT09cilyZXR1cm4gWCgiSW52YWxpZCBudWxsIHN0YXJ0ZWQgd2l0aCBudWwiK3IpO2EobnVsbCksdSgpLHE9RC5wb3AoKXx8cDtjb250aW51ZTtjYXNlIEM6aWYoIi4iIT09cilyZXR1cm4gWCgiTGVhZGluZyB6ZXJvIG5vdCBmb2xsb3dlZCBieSAuIik7Tis9cixxPVA7Y29udGludWU7Y2FzZSBQOmlmKC0xIT09IjAxMjM0NTY3ODkiLmluZGV4T2YocikpTis9cjtlbHNlIGlmKCIuIj09PXIpe2lmKC0xIT09Ti5pbmRleE9mKCIuIikpcmV0dXJuIFgoIkludmFsaWQgbnVtYmVyIGhhcyB0d28gZG90cyIpO04rPXJ9ZWxzZSBpZigiZSI9PT1yfHwiRSI9PT1yKXtpZigtMSE9PU4uaW5kZXhPZigiZSIpfHwtMSE9PU4uaW5kZXhPZigiRSIpKXJldHVybiBYKCJJbnZhbGlkIG51bWJlciBoYXMgdHdvIGV4cG9uZW50aWFsIik7Tis9cn1lbHNlIGlmKCIrIj09PXJ8fCItIj09PXIpe2lmKCJlIiE9PW4mJiJFIiE9PW4pcmV0dXJuIFgoIkludmFsaWQgc3ltYm9sIGluIG51bWJlciIpO04rPXJ9ZWxzZSBOJiYoYShwYXJzZUZsb2F0KE4pKSx1KCksTj0iIiksby0tLHE9RC5wb3AoKXx8cDtjb250aW51ZTtkZWZhdWx0OnJldHVybiBYKCJVbmtub3duIHN0YXRlOiAiK3EpfUg+PVImJihKPTAsTyE9PXMmJk8ubGVuZ3RoPmMmJihYKCJNYXggYnVmZmVyIGxlbmd0aCBleGNlZWRlZDogdGV4dE5vZGUiKSxKPU1hdGgubWF4KEosTy5sZW5ndGgpKSxOLmxlbmd0aD5jJiYoWCgiTWF4IGJ1ZmZlciBsZW5ndGggZXhjZWVkZWQ6IG51bWJlck5vZGUiKSxKPU1hdGgubWF4KEosTi5sZW5ndGgpKSxSPWMtSitIKTt2YXIgSn0pLHQoZnQpLm9uKGZ1bmN0aW9uKCl7aWYocT09bClyZXR1cm4gYSh7fSksdSgpLHZvaWQoRj0hMCk7cT09PXAmJjA9PT1LfHxYKCJVbmV4cGVjdGVkIGVuZCIpO08hPT1zJiYoYShPKSx1KCksTz1zKTtGPSEwfSl9dmFyIFIsTyxOLEwsRixxLEQsVSx6LEssSCxWPShSPWwoZnVuY3Rpb24odCl7cmV0dXJuIHQudW5zaGlmdCgvXi8pLChlPVJlZ0V4cCh0Lm1hcChjKCJzb3VyY2UiKSkuam9pbigiIikpKS5leGVjLmJpbmQoZSk7dmFyIGV9KSxMPVIoTz0vKFwkPykvLC8oW1x3LV9dK3xcKikvLE49Lyg/OnsoW1x3IF0qPyl9KT8vKSxGPVIoTywvXFsiKFteIl0rKSJcXS8sTikscT1SKE8sL1xbKFxkK3xcKilcXS8sTiksRD1SKE8sLygpLywveyhbXHcgXSo/KX0vKSxVPVIoL1wuXC4vKSx6PVIoL1wuLyksSz1SKE8sLyEvKSxIPVIoLyQvKSxmdW5jdGlvbih0KXtyZXR1cm4gdChoKEwsRixxLEQpLFUseixLLEgpfSk7ZnVuY3Rpb24gVyh0LGUpe3JldHVybntrZXk6dCxub2RlOmV9fXZhciBYPWMoImtleSIpLEc9Yygibm9kZSIpLEo9e307ZnVuY3Rpb24gWih0KXt2YXIgZT10KHR0KS5lbWl0LHI9dChldCkuZW1pdCxuPXQoYXQpLmVtaXQsbz10KG90KS5lbWl0O2Z1bmN0aW9uIGEodCxlLHIpe0coayh0KSlbZV09cn1mdW5jdGlvbiBzKHQscixuKXt0JiZhKHQscixuKTt2YXIgaT1NKFcocixuKSx0KTtyZXR1cm4gZShpKSxpfXZhciB1PXt9O3JldHVybiB1W2R0XT1mdW5jdGlvbih0LGUpe2lmKCF0KXJldHVybiBuKGUpLHModCxKLGUpO3ZhciByLG8sdSxmPShvPWUsdT1HKGsocj10KSkseShpLHUpP3Mocix2KHUpLG8pOnIpLGM9UyhmKSxoPVgoayhmKSk7cmV0dXJuIGEoYyxoLGUpLE0oVyhoLGUpLGMpfSx1W2x0XT1mdW5jdGlvbih0KXtyZXR1cm4gcih0KSxTKHQpfHxvKEcoayh0KSkpfSx1W2h0XT1zLHV9dmFyICQ9VihmdW5jdGlvbih0LGUscixuLGkpe3ZhciBhPTEscz0yLGM9MyxkPWYoWCxrKSxsPWYoRyxrKTtmdW5jdGlvbiBiKHQsZSl7cmV0dXJuISFlW2FdP3AodCxrKTp0fWZ1bmN0aW9uIHkodCl7aWYodD09bSlyZXR1cm4gbTtyZXR1cm4gcChmdW5jdGlvbih0KXtyZXR1cm4gZCh0KSE9Sn0sZih0LFMpKX1mdW5jdGlvbiBnKCl7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBkKHQpPT1KfX1mdW5jdGlvbiB3KHQsZSxyLG4saSl7dmFyIG8sYT10KHIpO2lmKGEpe3ZhciBzPShvPWEsQihmdW5jdGlvbih0LGUpe3JldHVybiBlKHQsbyl9LG4sZSkpO3JldHVybiBpKHIuc3Vic3RyKHYoYVswXSkpLHMpfX1mdW5jdGlvbiBNKHQsZSl7cmV0dXJuIHUodyx0LGUpfXZhciB4PWgoTSh0LEEoYixmdW5jdGlvbih0LGUpe3ZhciByPWVbY107cmV0dXJuIHI/cChmKHUoXyxFKHIuc3BsaXQoL1xXKy8pKSksbCksdCk6dH0sZnVuY3Rpb24odCxlKXt2YXIgcj1lW3NdO3JldHVybiBwKHImJiIqIiE9cj9mdW5jdGlvbih0KXtyZXR1cm4gZCh0KT09cn06bSx0KX0seSkpLE0oZSxBKGZ1bmN0aW9uKHQpe2lmKHQ9PW0pcmV0dXJuIG07dmFyIGU9ZygpLHI9dCxuPXkoZnVuY3Rpb24odCl7cmV0dXJuIGkodCl9KSxpPWgoZSxyLG4pO3JldHVybiBpfSkpLE0ocixBKCkpLE0obixBKGIsZykpLE0oaSxBKGZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihlKXt2YXIgcj10KGUpO3JldHVybiEwPT09cj9rKGUpOnJ9fSkpLGZ1bmN0aW9uKHQpe3Rocm93IG8oJyInK3QrJyIgY291bGQgbm90IGJlIHRva2VuaXNlZCcpfSk7ZnVuY3Rpb24gaih0LGUpe3JldHVybiBlfWZ1bmN0aW9uIEkodCxlKXtyZXR1cm4geCh0LGUsdD9JOmopfXJldHVybiBmdW5jdGlvbih0KXt0cnl7cmV0dXJuIEkodCxtKX1jYXRjaChlKXt0aHJvdyBvKCdDb3VsZCBub3QgY29tcGlsZSAiJyt0KyciIGJlY2F1c2UgJytlLm1lc3NhZ2UpfX19KTtmdW5jdGlvbiBZKHQsZSxyKXt2YXIgbixpO2Z1bmN0aW9uIG8odCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBlLmlkPT10fX1yZXR1cm57b246ZnVuY3Rpb24ocixvKXt2YXIgYT17bGlzdGVuZXI6cixpZDpvfHxyfTtyZXR1cm4gZSYmZS5lbWl0KHQscixhLmlkKSxuPU0oYSxuKSxpPU0ocixpKSx0aGlzfSxlbWl0OmZ1bmN0aW9uKCl7IWZ1bmN0aW9uIHQoZSxyKXtlJiYoayhlKS5hcHBseShudWxsLHIpLHQoUyhlKSxyKSl9KGksYXJndW1lbnRzKX0sdW46ZnVuY3Rpb24oZSl7dmFyIGE7bj1UKG4sbyhlKSxmdW5jdGlvbih0KXthPXR9KSxhJiYoaT1UKGksZnVuY3Rpb24odCl7cmV0dXJuIHQ9PWEubGlzdGVuZXJ9KSxyJiZyLmVtaXQodCxhLmxpc3RlbmVyLGEuaWQpKX0sbGlzdGVuZXJzOmZ1bmN0aW9uKCl7cmV0dXJuIGl9LGhhc0xpc3RlbmVyOmZ1bmN0aW9uKHQpe3JldHVybiB3KGZ1bmN0aW9uIHQoZSxyKXtyZXR1cm4gciYmKGUoayhyKSk/ayhyKTp0KGUsUyhyKSkpfSh0P28odCk6bSxuKSl9fX12YXIgUT0xLHR0PVErKyxldD1RKysscnQ9USsrLG50PVErKyxpdD0iZmFpbCIsb3Q9USsrLGF0PVErKyxzdD0ic3RhcnQiLHV0PSJkYXRhIixmdD0iZW5kIixjdD1RKyssaHQ9USsrLGR0PVErKyxsdD1RKys7ZnVuY3Rpb24gcHQodCxlLHIpe3RyeXt2YXIgbj1hLnBhcnNlKGUpfWNhdGNoKHQpe31yZXR1cm57c3RhdHVzQ29kZTp0LGJvZHk6ZSxqc29uQm9keTpuLHRocm93bjpyfX1mdW5jdGlvbiBidCh0LGUpe3ZhciByPXtub2RlOnQoZXQpLHBhdGg6dCh0dCl9O2Z1bmN0aW9uIG4oZSxyLG4pe3ZhciBpPXQoZSkuZW1pdDtyLm9uKGZ1bmN0aW9uKHQpe3ZhciBlLHIsbyxhPW4odCk7ITEhPT1hJiYoZT1pLHI9RyhhKSxvPUModCksZShyLGooUyhJKFgsbykpKSxqKEkoRyxvKSkpKX0sZSksdCgicmVtb3ZlTGlzdGVuZXIiKS5vbihmdW5jdGlvbihuKXtuPT1lJiYodChuKS5saXN0ZW5lcnMoKXx8ci51bihlKSl9KX10KCJuZXdMaXN0ZW5lciIpLm9uKGZ1bmN0aW9uKHQpe3ZhciBpPS8obm9kZXxwYXRoKTooLiopLy5leGVjKHQpO2lmKGkpe3ZhciBvPXJbaVsxXV07by5oYXNMaXN0ZW5lcih0KXx8bih0LG8sZShpWzJdKSl9fSl9ZnVuY3Rpb24gbXQodCxlKXt2YXIgcixuPS9eKG5vZGV8cGF0aCk6Li8saT10KG90KSxvPXQobnQpLmVtaXQsYT10KHJ0KS5lbWl0LHM9bChmdW5jdGlvbihlLGkpe2lmKHJbZV0pZChpLHJbZV0pO2Vsc2V7dmFyIG89dChlKSxhPWlbMF07bi50ZXN0KGUpP2YobyxhKTpvLm9uKGEpfXJldHVybiByfSk7ZnVuY3Rpb24gZih0LGUsbil7bj1ufHxlO3ZhciBpPWMoZSk7cmV0dXJuIHQub24oZnVuY3Rpb24oKXt2YXIgZT0hMTtyLmZvcmdldD1mdW5jdGlvbigpe2U9ITB9LGQoYXJndW1lbnRzLGkpLGRlbGV0ZSByLmZvcmdldCxlJiZ0LnVuKG4pfSxuKSxyfWZ1bmN0aW9uIGModCl7cmV0dXJuIGZ1bmN0aW9uKCl7dHJ5e3JldHVybiB0LmFwcGx5KHIsYXJndW1lbnRzKX1jYXRjaCh0KXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dGhyb3cgdH0pfX19ZnVuY3Rpb24gaChlLHIsbil7dmFyIGksczsibm9kZSI9PWU/KHM9bixpPWZ1bmN0aW9uKCl7dmFyIHQ9cy5hcHBseSh0aGlzLGFyZ3VtZW50cyk7dyh0KSYmKHQ9PWd0LmRyb3A/bygpOmEodCkpfSk6aT1uLGYodChlKyI6IityKSxpLG4pfWZ1bmN0aW9uIHAodCxlLG4pe3JldHVybiBnKGUpP2godCxlLG4pOmZ1bmN0aW9uKHQsZSl7Zm9yKHZhciByIGluIGUpaCh0LHIsZVtyXSl9KHQsZSkscn1yZXR1cm4gdChhdCkub24oZnVuY3Rpb24odCl7dmFyIGU7ci5yb290PShlPXQsZnVuY3Rpb24oKXtyZXR1cm4gZX0pfSksdChzdCkub24oZnVuY3Rpb24odCxlKXtyLmhlYWRlcj1mdW5jdGlvbih0KXtyZXR1cm4gdD9lW3RdOmV9fSkscj17b246cyxhZGRMaXN0ZW5lcjpzLHJlbW92ZUxpc3RlbmVyOmZ1bmN0aW9uKGUsbixvKXtpZigiZG9uZSI9PWUpaS51bihuKTtlbHNlIGlmKCJub2RlIj09ZXx8InBhdGgiPT1lKXQudW4oZSsiOiIrbixvKTtlbHNle3ZhciBhPW47dChlKS51bihhKX1yZXR1cm4gcn0sZW1pdDp0LmVtaXQsbm9kZTp1KHAsIm5vZGUiKSxwYXRoOnUocCwicGF0aCIpLGRvbmU6dShmLGkpLHN0YXJ0OnUoZnVuY3Rpb24oZSxuKXtyZXR1cm4gdChlKS5vbihjKG4pLG4pLHJ9LHN0KSxmYWlsOnQoaXQpLm9uLGFib3J0OnQoY3QpLmVtaXQsaGVhZGVyOmIscm9vdDpiLHNvdXJjZTplfX1mdW5jdGlvbiB5dChlLHIsbixpLG8pe3ZhciBhPWZ1bmN0aW9uKCl7dmFyIHQ9e30sZT1uKCJuZXdMaXN0ZW5lciIpLHI9bigicmVtb3ZlTGlzdGVuZXIiKTtmdW5jdGlvbiBuKG4pe3JldHVybiB0W25dPVkobixlLHIpfWZ1bmN0aW9uIGkoZSl7cmV0dXJuIHRbZV18fG4oZSl9cmV0dXJuWyJlbWl0Iiwib24iLCJ1biJdLmZvckVhY2goZnVuY3Rpb24odCl7aVt0XT1sKGZ1bmN0aW9uKGUscil7ZChyLGkoZSlbdF0pfSl9KSxpfSgpO3JldHVybiByJiZmdW5jdGlvbihlLHIsbixpLG8sYSxmKXt2YXIgYyxoPWUodXQpLmVtaXQsZD1lKGl0KS5lbWl0LGw9MCxwPSEwO2Z1bmN0aW9uIGIoKXt2YXIgdD1yLnJlc3BvbnNlVGV4dCxlPXQuc3Vic3RyKGwpO2UmJmgoZSksbD12KHQpfWUoY3QpLm9uKGZ1bmN0aW9uKCl7ci5vbnJlYWR5c3RhdGVjaGFuZ2U9bnVsbCxyLmFib3J0KCl9KSwib25wcm9ncmVzcyJpbiByJiYoci5vbnByb2dyZXNzPWIpLHIub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe3RyeXtwJiZlKHN0KS5lbWl0KHIuc3RhdHVzLCh0PXIuZ2V0QWxsUmVzcG9uc2VIZWFkZXJzKCksbj17fSx0JiZ0LnNwbGl0KCJcclxuIikuZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgZT10LmluZGV4T2YoIjogIik7blt0LnN1YnN0cmluZygwLGUpXT10LnN1YnN0cmluZyhlKzIpfSksbikpLHA9ITF9Y2F0Y2godCl7fXZhciB0LG59c3dpdGNoKHIucmVhZHlTdGF0ZSl7Y2FzZSAyOmNhc2UgMzpyZXR1cm4gdCgpO2Nhc2UgNDp0KCksMj09U3RyaW5nKHIuc3RhdHVzKVswXT8oYigpLGUoZnQpLmVtaXQoKSk6ZChwdChyLnN0YXR1cyxyLnJlc3BvbnNlVGV4dCkpfX07dHJ5e2Zvcih2YXIgbSBpbiByLm9wZW4obixpLCEwKSxhKXIuc2V0UmVxdWVzdEhlYWRlcihtLGFbbV0pOyhmdW5jdGlvbih0LGUpe2Z1bmN0aW9uIHIoZSl7cmV0dXJuIGUucG9ydHx8eyJodHRwOiI6ODAsImh0dHBzOiI6NDQzfVtlLnByb3RvY29sfHx0LnByb3RvY29sXX1yZXR1cm4hIShlLnByb3RvY29sJiZlLnByb3RvY29sIT10LnByb3RvY29sfHxlLmhvc3QmJmUuaG9zdCE9dC5ob3N0fHxlLmhvc3QmJnIoZSkhPXIodCkpfSkodC5sb2NhdGlvbix7cHJvdG9jb2w6KGM9Lyhcdys6KT8oPzpcL1wvKShbXHcuLV0rKT8oPzo6KFxkKykpP1wvPy8uZXhlYyhpKXx8W10pWzFdfHwiIixob3N0OmNbMl18fCIiLHBvcnQ6Y1szXXx8IiJ9KXx8ci5zZXRSZXF1ZXN0SGVhZGVyKCJYLVJlcXVlc3RlZC1XaXRoIiwiWE1MSHR0cFJlcXVlc3QiKSxyLndpdGhDcmVkZW50aWFscz1mLHIuc2VuZChvKX1jYXRjaChlKXt0LnNldFRpbWVvdXQodShkLHB0KHMscyxlKSksMCl9fShhLG5ldyBYTUxIdHRwUmVxdWVzdCxlLHIsbixpLG8pLFAoYSksZnVuY3Rpb24odCxlKXt2YXIgcixuPXt9O2Z1bmN0aW9uIGkodCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3I9dChyLGUpfX1mb3IodmFyIG8gaW4gZSl0KG8pLm9uKGkoZVtvXSksbik7dChydCkub24oZnVuY3Rpb24odCl7dmFyIGU9ayhyKSxuPVgoZSksaT1TKHIpO2kmJihHKGsoaSkpW25dPXQpfSksdChudCkub24oZnVuY3Rpb24oKXt2YXIgdD1rKHIpLGU9WCh0KSxuPVMocik7biYmZGVsZXRlIEcoayhuKSlbZV19KSx0KGN0KS5vbihmdW5jdGlvbigpe2Zvcih2YXIgciBpbiBlKXQocikudW4obil9KX0oYSxaKGEpKSxidChhLCQpLG10KGEscil9ZnVuY3Rpb24gdnQodCxlLHIsbixpLG8scyl7cmV0dXJuIGk9aT9hLnBhcnNlKGEuc3RyaW5naWZ5KGkpKTp7fSxuP2cobil8fChuPWEuc3RyaW5naWZ5KG4pLGlbIkNvbnRlbnQtVHlwZSJdPWlbIkNvbnRlbnQtVHlwZSJdfHwiYXBwbGljYXRpb24vanNvbiIpOm49bnVsbCx0KHJ8fCJHRVQiLCh1PWUsITE9PT1zJiYoLTE9PXUuaW5kZXhPZigiPyIpP3UrPSI/Ijp1Kz0iJiIsdSs9Il89IisobmV3IERhdGUpLmdldFRpbWUoKSksdSksbixpLG98fCExKTt2YXIgdX1mdW5jdGlvbiBndCh0KXt2YXIgZT1BKCJyZXN1bWUiLCJwYXVzZSIsInBpcGUiKSxyPXUoXyxlKTtyZXR1cm4gdD9yKHQpfHxnKHQpP3Z0KHl0LHQpOnZ0KHl0LHQudXJsLHQubWV0aG9kLHQuYm9keSx0LmhlYWRlcnMsdC53aXRoQ3JlZGVudGlhbHMsdC5jYWNoZWQpOnl0KCl9Z3QuZHJvcD1mdW5jdGlvbigpe3JldHVybiBndC5kcm9wfSwiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZSgib2JvZSIsW10sZnVuY3Rpb24oKXtyZXR1cm4gZ3R9KToib2JqZWN0Ij09PSh2b2lkIDA9PT1yPyJ1bmRlZmluZWQiOl90eXBlb2YocikpP2UuZXhwb3J0cz1ndDp0Lm9ib2U9Z3R9KGZ1bmN0aW9uKCl7dHJ5e3JldHVybiB3aW5kb3d9Y2F0Y2godCl7cmV0dXJuIHNlbGZ9fSgpLE9iamVjdCxBcnJheSxFcnJvcixKU09OKX0se31dLDM3NzpbZnVuY3Rpb24odCxlLHIpe2FyZ3VtZW50c1s0XVsxNzhdWzBdLmFwcGx5KHIsYXJndW1lbnRzKX0se2R1cDoxNzh9XSwzNzg6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbj10KCJ1bmRlcnNjb3JlIiksaT10KCJ3ZWIzLWNvcmUtaGVscGVycyIpLmVycm9ycyxvPXQoIm9ib2UiKSxhPWZ1bmN0aW9uKHQsZSl7dmFyIHI9dGhpczt0aGlzLnJlc3BvbnNlQ2FsbGJhY2tzPXt9LHRoaXMubm90aWZpY2F0aW9uQ2FsbGJhY2tzPVtdLHRoaXMucGF0aD10LHRoaXMuY29ubmVjdGlvbj1lLmNvbm5lY3Qoe3BhdGg6dGhpcy5wYXRofSksdGhpcy5hZGREZWZhdWx0RXZlbnRzKCk7dmFyIGk9ZnVuY3Rpb24odCl7dmFyIGU9bnVsbDtuLmlzQXJyYXkodCk/dC5mb3JFYWNoKGZ1bmN0aW9uKHQpe3IucmVzcG9uc2VDYWxsYmFja3NbdC5pZF0mJihlPXQuaWQpfSk6ZT10LmlkLGV8fC0xPT09dC5tZXRob2QuaW5kZXhPZigiX3N1YnNjcmlwdGlvbiIpP3IucmVzcG9uc2VDYWxsYmFja3NbZV0mJihyLnJlc3BvbnNlQ2FsbGJhY2tzW2VdKG51bGwsdCksZGVsZXRlIHIucmVzcG9uc2VDYWxsYmFja3NbZV0pOnIubm90aWZpY2F0aW9uQ2FsbGJhY2tzLmZvckVhY2goZnVuY3Rpb24oZSl7bi5pc0Z1bmN0aW9uKGUpJiZlKHQpfSl9OyJTb2NrZXQiPT09ZS5jb25zdHJ1Y3Rvci5uYW1lP28odGhpcy5jb25uZWN0aW9uKS5kb25lKGkpOnRoaXMuY29ubmVjdGlvbi5vbigiZGF0YSIsZnVuY3Rpb24odCl7ci5fcGFyc2VSZXNwb25zZSh0LnRvU3RyaW5nKCkpLmZvckVhY2goaSl9KX07YS5wcm90b3R5cGUuYWRkRGVmYXVsdEV2ZW50cz1mdW5jdGlvbigpe3ZhciB0PXRoaXM7dGhpcy5jb25uZWN0aW9uLm9uKCJjb25uZWN0IixmdW5jdGlvbigpe30pLHRoaXMuY29ubmVjdGlvbi5vbigiZXJyb3IiLGZ1bmN0aW9uKCl7dC5fdGltZW91dCgpfSksdGhpcy5jb25uZWN0aW9uLm9uKCJlbmQiLGZ1bmN0aW9uKCl7dC5fdGltZW91dCgpfSksdGhpcy5jb25uZWN0aW9uLm9uKCJ0aW1lb3V0IixmdW5jdGlvbigpe3QuX3RpbWVvdXQoKX0pfSxhLnByb3RvdHlwZS5fcGFyc2VSZXNwb25zZT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLHI9W107cmV0dXJuIHQucmVwbGFjZSgvXH1bXG5ccl0/XHsvZywifXwtLXx7IikucmVwbGFjZSgvXH1cXVtcblxyXT9cW1x7L2csIn1dfC0tfFt7IikucmVwbGFjZSgvXH1bXG5ccl0/XFtcey9nLCJ9fC0tfFt7IikucmVwbGFjZSgvXH1cXVtcblxyXT9cey9nLCJ9XXwtLXx7Iikuc3BsaXQoInwtLXwiKS5mb3JFYWNoKGZ1bmN0aW9uKHQpe2UubGFzdENodW5rJiYodD1lLmxhc3RDaHVuayt0KTt2YXIgbj1udWxsO3RyeXtuPUpTT04ucGFyc2UodCl9Y2F0Y2gocil7cmV0dXJuIGUubGFzdENodW5rPXQsY2xlYXJUaW1lb3V0KGUubGFzdENodW5rVGltZW91dCksdm9pZChlLmxhc3RDaHVua1RpbWVvdXQ9c2V0VGltZW91dChmdW5jdGlvbigpe3Rocm93IGUuX3RpbWVvdXQoKSxpLkludmFsaWRSZXNwb25zZSh0KX0sMTVlMykpfWNsZWFyVGltZW91dChlLmxhc3RDaHVua1RpbWVvdXQpLGUubGFzdENodW5rPW51bGwsbiYmci5wdXNoKG4pfSkscn0sYS5wcm90b3R5cGUuX2FkZFJlc3BvbnNlQ2FsbGJhY2s9ZnVuY3Rpb24odCxlKXt2YXIgcj10LmlkfHx0WzBdLmlkLG49dC5tZXRob2R8fHRbMF0ubWV0aG9kO3RoaXMucmVzcG9uc2VDYWxsYmFja3Nbcl09ZSx0aGlzLnJlc3BvbnNlQ2FsbGJhY2tzW3JdLm1ldGhvZD1ufSxhLnByb3RvdHlwZS5fdGltZW91dD1mdW5jdGlvbigpe2Zvcih2YXIgdCBpbiB0aGlzLnJlc3BvbnNlQ2FsbGJhY2tzKXRoaXMucmVzcG9uc2VDYWxsYmFja3MuaGFzT3duUHJvcGVydHkodCkmJih0aGlzLnJlc3BvbnNlQ2FsbGJhY2tzW3RdKGkuSW52YWxpZENvbm5lY3Rpb24oIm9uIElQQyIpKSxkZWxldGUgdGhpcy5yZXNwb25zZUNhbGxiYWNrc1t0XSl9LGEucHJvdG90eXBlLnJlY29ubmVjdD1mdW5jdGlvbigpe3RoaXMuY29ubmVjdGlvbi5jb25uZWN0KHtwYXRoOnRoaXMucGF0aH0pfSxhLnByb3RvdHlwZS5zZW5kPWZ1bmN0aW9uKHQsZSl7dGhpcy5jb25uZWN0aW9uLndyaXRhYmxlfHx0aGlzLmNvbm5lY3Rpb24uY29ubmVjdCh7cGF0aDp0aGlzLnBhdGh9KSx0aGlzLmNvbm5lY3Rpb24ud3JpdGUoSlNPTi5zdHJpbmdpZnkodCkpLHRoaXMuX2FkZFJlc3BvbnNlQ2FsbGJhY2sodCxlKX0sYS5wcm90b3R5cGUub249ZnVuY3Rpb24odCxlKXtpZigiZnVuY3Rpb24iIT10eXBlb2YgZSl0aHJvdyBuZXcgRXJyb3IoIlRoZSBzZWNvbmQgcGFyYW1ldGVyIGNhbGxiYWNrIG11c3QgYmUgYSBmdW5jdGlvbi4iKTtzd2l0Y2godCl7Y2FzZSJkYXRhIjp0aGlzLm5vdGlmaWNhdGlvbkNhbGxiYWNrcy5wdXNoKGUpO2JyZWFrO2RlZmF1bHQ6dGhpcy5jb25uZWN0aW9uLm9uKHQsZSl9fSxhLnByb3RvdHlwZS5vbmNlPWZ1bmN0aW9uKHQsZSl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIGUpdGhyb3cgbmV3IEVycm9yKCJUaGUgc2Vjb25kIHBhcmFtZXRlciBjYWxsYmFjayBtdXN0IGJlIGEgZnVuY3Rpb24uIik7dGhpcy5jb25uZWN0aW9uLm9uY2UodCxlKX0sYS5wcm90b3R5cGUucmVtb3ZlTGlzdGVuZXI9ZnVuY3Rpb24odCxlKXt2YXIgcj10aGlzO3N3aXRjaCh0KXtjYXNlImRhdGEiOnRoaXMubm90aWZpY2F0aW9uQ2FsbGJhY2tzLmZvckVhY2goZnVuY3Rpb24odCxuKXt0PT09ZSYmci5ub3RpZmljYXRpb25DYWxsYmFja3Muc3BsaWNlKG4sMSl9KTticmVhaztkZWZhdWx0OnRoaXMuY29ubmVjdGlvbi5yZW1vdmVMaXN0ZW5lcih0LGUpfX0sYS5wcm90b3R5cGUucmVtb3ZlQWxsTGlzdGVuZXJzPWZ1bmN0aW9uKHQpe3N3aXRjaCh0KXtjYXNlImRhdGEiOnRoaXMubm90aWZpY2F0aW9uQ2FsbGJhY2tzPVtdO2JyZWFrO2RlZmF1bHQ6dGhpcy5jb25uZWN0aW9uLnJlbW92ZUFsbExpc3RlbmVycyh0KX19LGEucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7dGhpcy5fdGltZW91dCgpLHRoaXMubm90aWZpY2F0aW9uQ2FsbGJhY2tzPVtdLHRoaXMuY29ubmVjdGlvbi5yZW1vdmVBbGxMaXN0ZW5lcnMoImVycm9yIiksdGhpcy5jb25uZWN0aW9uLnJlbW92ZUFsbExpc3RlbmVycygiZW5kIiksdGhpcy5jb25uZWN0aW9uLnJlbW92ZUFsbExpc3RlbmVycygidGltZW91dCIpLHRoaXMuYWRkRGVmYXVsdEV2ZW50cygpfSxlLmV4cG9ydHM9YX0se29ib2U6Mzc2LHVuZGVyc2NvcmU6Mzc3LCJ3ZWIzLWNvcmUtaGVscGVycyI6MTkxfV0sMzc5OltmdW5jdGlvbih0LGUscil7YXJndW1lbnRzWzRdWzE3OF1bMF0uYXBwbHkocixhcmd1bWVudHMpfSx7ZHVwOjE3OH1dLDM4MDpbZnVuY3Rpb24odCxlLHIpeyhmdW5jdGlvbihyKXt2YXIgbj10KCJ1bmRlcnNjb3JlIiksaT10KCJ3ZWIzLWNvcmUtaGVscGVycyIpLmVycm9ycyxvPW51bGwsYT1udWxsLHM9bnVsbDsidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdz8obz13aW5kb3cuV2ViU29ja2V0LGE9YnRvYSxzPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgVVJMKHQpfSk6KG89dCgid2Vic29ja2V0IikudzNjd2Vic29ja2V0LGE9ZnVuY3Rpb24odCl7cmV0dXJuIHIodCkudG9TdHJpbmcoImJhc2U2NCIpfSxzPXQoInVybCIpLnBhcnNlKTt2YXIgdT1mdW5jdGlvbih0LGUpe3ZhciByPXRoaXM7dGhpcy5yZXNwb25zZUNhbGxiYWNrcz17fSx0aGlzLm5vdGlmaWNhdGlvbkNhbGxiYWNrcz1bXSxlPWV8fHt9LHRoaXMuX2N1c3RvbVRpbWVvdXQ9ZS50aW1lb3V0O3ZhciBpPXModCksdT1lLmhlYWRlcnN8fHt9O2kudXNlcm5hbWUmJmkucGFzc3dvcmQmJih1LmF1dGhvcml6YXRpb249IkJhc2ljICIrYShpLnVzZXJuYW1lKyI6IitpLnBhc3N3b3JkKSksdGhpcy5jb25uZWN0aW9uPW5ldyBvKHQsdm9pZCAwLHZvaWQgMCx1KSx0aGlzLmFkZERlZmF1bHRFdmVudHMoKSx0aGlzLmNvbm5lY3Rpb24ub25tZXNzYWdlPWZ1bmN0aW9uKHQpe3ZhciBlPSJzdHJpbmciPT10eXBlb2YgdC5kYXRhP3QuZGF0YToiIjtyLl9wYXJzZVJlc3BvbnNlKGUpLmZvckVhY2goZnVuY3Rpb24odCl7dmFyIGU9bnVsbDtuLmlzQXJyYXkodCk/dC5mb3JFYWNoKGZ1bmN0aW9uKHQpe3IucmVzcG9uc2VDYWxsYmFja3NbdC5pZF0mJihlPXQuaWQpfSk6ZT10LmlkLGV8fC0xPT09dC5tZXRob2QuaW5kZXhPZigiX3N1YnNjcmlwdGlvbiIpP3IucmVzcG9uc2VDYWxsYmFja3NbZV0mJihyLnJlc3BvbnNlQ2FsbGJhY2tzW2VdKG51bGwsdCksZGVsZXRlIHIucmVzcG9uc2VDYWxsYmFja3NbZV0pOnIubm90aWZpY2F0aW9uQ2FsbGJhY2tzLmZvckVhY2goZnVuY3Rpb24oZSl7bi5pc0Z1bmN0aW9uKGUpJiZlKHQpfSl9KX19O3UucHJvdG90eXBlLmFkZERlZmF1bHRFdmVudHM9ZnVuY3Rpb24oKXt2YXIgdD10aGlzO3RoaXMuY29ubmVjdGlvbi5vbmVycm9yPWZ1bmN0aW9uKCl7dC5fdGltZW91dCgpfSx0aGlzLmNvbm5lY3Rpb24ub25jbG9zZT1mdW5jdGlvbigpe3QuX3RpbWVvdXQoKSx0LnJlc2V0KCl9fSx1LnByb3RvdHlwZS5fcGFyc2VSZXNwb25zZT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLHI9W107cmV0dXJuIHQucmVwbGFjZSgvXH1bXG5ccl0/XHsvZywifXwtLXx7IikucmVwbGFjZSgvXH1cXVtcblxyXT9cW1x7L2csIn1dfC0tfFt7IikucmVwbGFjZSgvXH1bXG5ccl0/XFtcey9nLCJ9fC0tfFt7IikucmVwbGFjZSgvXH1cXVtcblxyXT9cey9nLCJ9XXwtLXx7Iikuc3BsaXQoInwtLXwiKS5mb3JFYWNoKGZ1bmN0aW9uKHQpe2UubGFzdENodW5rJiYodD1lLmxhc3RDaHVuayt0KTt2YXIgbj1udWxsO3RyeXtuPUpTT04ucGFyc2UodCl9Y2F0Y2gocil7cmV0dXJuIGUubGFzdENodW5rPXQsY2xlYXJUaW1lb3V0KGUubGFzdENodW5rVGltZW91dCksdm9pZChlLmxhc3RDaHVua1RpbWVvdXQ9c2V0VGltZW91dChmdW5jdGlvbigpe3Rocm93IGUuX3RpbWVvdXQoKSxpLkludmFsaWRSZXNwb25zZSh0KX0sMTVlMykpfWNsZWFyVGltZW91dChlLmxhc3RDaHVua1RpbWVvdXQpLGUubGFzdENodW5rPW51bGwsbiYmci5wdXNoKG4pfSkscn0sdS5wcm90b3R5cGUuX2FkZFJlc3BvbnNlQ2FsbGJhY2s9ZnVuY3Rpb24odCxlKXt2YXIgcj10LmlkfHx0WzBdLmlkLG49dC5tZXRob2R8fHRbMF0ubWV0aG9kO3RoaXMucmVzcG9uc2VDYWxsYmFja3Nbcl09ZSx0aGlzLnJlc3BvbnNlQ2FsbGJhY2tzW3JdLm1ldGhvZD1uO3ZhciBvPXRoaXM7dGhpcy5fY3VzdG9tVGltZW91dCYmc2V0VGltZW91dChmdW5jdGlvbigpe28ucmVzcG9uc2VDYWxsYmFja3Nbcl0mJihvLnJlc3BvbnNlQ2FsbGJhY2tzW3JdKGkuQ29ubmVjdGlvblRpbWVvdXQoby5fY3VzdG9tVGltZW91dCkpLGRlbGV0ZSBvLnJlc3BvbnNlQ2FsbGJhY2tzW3JdKX0sdGhpcy5fY3VzdG9tVGltZW91dCl9LHUucHJvdG90eXBlLl90aW1lb3V0PWZ1bmN0aW9uKCl7Zm9yKHZhciB0IGluIHRoaXMucmVzcG9uc2VDYWxsYmFja3MpdGhpcy5yZXNwb25zZUNhbGxiYWNrcy5oYXNPd25Qcm9wZXJ0eSh0KSYmKHRoaXMucmVzcG9uc2VDYWxsYmFja3NbdF0oaS5JbnZhbGlkQ29ubmVjdGlvbigib24gV1MiKSksZGVsZXRlIHRoaXMucmVzcG9uc2VDYWxsYmFja3NbdF0pfSx1LnByb3RvdHlwZS5zZW5kPWZ1bmN0aW9uKHQsZSl7dmFyIHI9dGhpcztpZih0aGlzLmNvbm5lY3Rpb24ucmVhZHlTdGF0ZSE9PXRoaXMuY29ubmVjdGlvbi5DT05ORUNUSU5HKXtpZih0aGlzLmNvbm5lY3Rpb24ucmVhZHlTdGF0ZSE9PXRoaXMuY29ubmVjdGlvbi5PUEVOKXJldHVybiBjb25zb2xlLmVycm9yKCJjb25uZWN0aW9uIG5vdCBvcGVuIG9uIHNlbmQoKSIpLCJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzLmNvbm5lY3Rpb24ub25lcnJvcj90aGlzLmNvbm5lY3Rpb24ub25lcnJvcihuZXcgRXJyb3IoImNvbm5lY3Rpb24gbm90IG9wZW4iKSk6Y29uc29sZS5lcnJvcigibm8gZXJyb3IgY2FsbGJhY2siKSx2b2lkIGUobmV3IEVycm9yKCJjb25uZWN0aW9uIG5vdCBvcGVuIikpO3RoaXMuY29ubmVjdGlvbi5zZW5kKEpTT04uc3RyaW5naWZ5KHQpKSx0aGlzLl9hZGRSZXNwb25zZUNhbGxiYWNrKHQsZSl9ZWxzZSBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ci5zZW5kKHQsZSl9LDEwKX0sdS5wcm90b3R5cGUub249ZnVuY3Rpb24odCxlKXtpZigiZnVuY3Rpb24iIT10eXBlb2YgZSl0aHJvdyBuZXcgRXJyb3IoIlRoZSBzZWNvbmQgcGFyYW1ldGVyIGNhbGxiYWNrIG11c3QgYmUgYSBmdW5jdGlvbi4iKTtzd2l0Y2godCl7Y2FzZSJkYXRhIjp0aGlzLm5vdGlmaWNhdGlvbkNhbGxiYWNrcy5wdXNoKGUpO2JyZWFrO2Nhc2UiY29ubmVjdCI6dGhpcy5jb25uZWN0aW9uLm9ub3Blbj1lO2JyZWFrO2Nhc2UiZW5kIjp0aGlzLmNvbm5lY3Rpb24ub25jbG9zZT1lO2JyZWFrO2Nhc2UiZXJyb3IiOnRoaXMuY29ubmVjdGlvbi5vbmVycm9yPWV9fSx1LnByb3RvdHlwZS5yZW1vdmVMaXN0ZW5lcj1mdW5jdGlvbih0LGUpe3ZhciByPXRoaXM7c3dpdGNoKHQpe2Nhc2UiZGF0YSI6dGhpcy5ub3RpZmljYXRpb25DYWxsYmFja3MuZm9yRWFjaChmdW5jdGlvbih0LG4pe3Q9PT1lJiZyLm5vdGlmaWNhdGlvbkNhbGxiYWNrcy5zcGxpY2UobiwxKX0pfX0sdS5wcm90b3R5cGUucmVtb3ZlQWxsTGlzdGVuZXJzPWZ1bmN0aW9uKHQpe3N3aXRjaCh0KXtjYXNlImRhdGEiOnRoaXMubm90aWZpY2F0aW9uQ2FsbGJhY2tzPVtdO2JyZWFrO2Nhc2UiY29ubmVjdCI6dGhpcy5jb25uZWN0aW9uLm9ub3Blbj1udWxsO2JyZWFrO2Nhc2UiZW5kIjp0aGlzLmNvbm5lY3Rpb24ub25jbG9zZT1udWxsO2JyZWFrO2Nhc2UiZXJyb3IiOnRoaXMuY29ubmVjdGlvbi5vbmVycm9yPW51bGx9fSx1LnByb3RvdHlwZS5yZXNldD1mdW5jdGlvbigpe3RoaXMuX3RpbWVvdXQoKSx0aGlzLm5vdGlmaWNhdGlvbkNhbGxiYWNrcz1bXSx0aGlzLmFkZERlZmF1bHRFdmVudHMoKX0sZS5leHBvcnRzPXV9KS5jYWxsKHRoaXMsdCgiYnVmZmVyIikuQnVmZmVyKX0se2J1ZmZlcjo0Nyx1bmRlcnNjb3JlOjM3OSx1cmw6MTU4LCJ3ZWIzLWNvcmUtaGVscGVycyI6MTkxLHdlYnNvY2tldDo0NX1dLDM4MTpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQoIndlYjMtY29yZSIpLGk9dCgid2ViMy1jb3JlLXN1YnNjcmlwdGlvbnMiKS5zdWJzY3JpcHRpb25zLG89dCgid2ViMy1jb3JlLW1ldGhvZCIpLGE9dCgid2ViMy1uZXQiKSxzPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcztuLnBhY2thZ2VJbml0KHRoaXMsYXJndW1lbnRzKTt2YXIgZT10aGlzLnNldFByb3ZpZGVyO3RoaXMuc2V0UHJvdmlkZXI9ZnVuY3Rpb24oKXtlLmFwcGx5KHQsYXJndW1lbnRzKSx0Lm5ldC5zZXRQcm92aWRlci5hcHBseSh0LGFyZ3VtZW50cyl9LHRoaXMuY2xlYXJTdWJzY3JpcHRpb25zPXQuX3JlcXVlc3RNYW5hZ2VyLmNsZWFyU3Vic2NyaXB0aW9ucyx0aGlzLm5ldD1uZXcgYSh0aGlzLmN1cnJlbnRQcm92aWRlciksW25ldyBpKHtuYW1lOiJzdWJzY3JpYmUiLHR5cGU6InNoaCIsc3Vic2NyaXB0aW9uczp7bWVzc2FnZXM6e3BhcmFtczoxfX19KSxuZXcgbyh7bmFtZToiZ2V0VmVyc2lvbiIsY2FsbDoic2hoX3ZlcnNpb24iLHBhcmFtczowfSksbmV3IG8oe25hbWU6ImdldEluZm8iLGNhbGw6InNoaF9pbmZvIixwYXJhbXM6MH0pLG5ldyBvKHtuYW1lOiJzZXRNYXhNZXNzYWdlU2l6ZSIsY2FsbDoic2hoX3NldE1heE1lc3NhZ2VTaXplIixwYXJhbXM6MX0pLG5ldyBvKHtuYW1lOiJzZXRNaW5Qb1ciLGNhbGw6InNoaF9zZXRNaW5Qb1ciLHBhcmFtczoxfSksbmV3IG8oe25hbWU6Im1hcmtUcnVzdGVkUGVlciIsY2FsbDoic2hoX21hcmtUcnVzdGVkUGVlciIscGFyYW1zOjF9KSxuZXcgbyh7bmFtZToibmV3S2V5UGFpciIsY2FsbDoic2hoX25ld0tleVBhaXIiLHBhcmFtczowfSksbmV3IG8oe25hbWU6ImFkZFByaXZhdGVLZXkiLGNhbGw6InNoaF9hZGRQcml2YXRlS2V5IixwYXJhbXM6MX0pLG5ldyBvKHtuYW1lOiJkZWxldGVLZXlQYWlyIixjYWxsOiJzaGhfZGVsZXRlS2V5UGFpciIscGFyYW1zOjF9KSxuZXcgbyh7bmFtZToiaGFzS2V5UGFpciIsY2FsbDoic2hoX2hhc0tleVBhaXIiLHBhcmFtczoxfSksbmV3IG8oe25hbWU6ImdldFB1YmxpY0tleSIsY2FsbDoic2hoX2dldFB1YmxpY0tleSIscGFyYW1zOjF9KSxuZXcgbyh7bmFtZToiZ2V0UHJpdmF0ZUtleSIsY2FsbDoic2hoX2dldFByaXZhdGVLZXkiLHBhcmFtczoxfSksbmV3IG8oe25hbWU6Im5ld1N5bUtleSIsY2FsbDoic2hoX25ld1N5bUtleSIscGFyYW1zOjB9KSxuZXcgbyh7bmFtZToiYWRkU3ltS2V5IixjYWxsOiJzaGhfYWRkU3ltS2V5IixwYXJhbXM6MX0pLG5ldyBvKHtuYW1lOiJnZW5lcmF0ZVN5bUtleUZyb21QYXNzd29yZCIsY2FsbDoic2hoX2dlbmVyYXRlU3ltS2V5RnJvbVBhc3N3b3JkIixwYXJhbXM6MX0pLG5ldyBvKHtuYW1lOiJoYXNTeW1LZXkiLGNhbGw6InNoaF9oYXNTeW1LZXkiLHBhcmFtczoxfSksbmV3IG8oe25hbWU6ImdldFN5bUtleSIsY2FsbDoic2hoX2dldFN5bUtleSIscGFyYW1zOjF9KSxuZXcgbyh7bmFtZToiZGVsZXRlU3ltS2V5IixjYWxsOiJzaGhfZGVsZXRlU3ltS2V5IixwYXJhbXM6MX0pLG5ldyBvKHtuYW1lOiJuZXdNZXNzYWdlRmlsdGVyIixjYWxsOiJzaGhfbmV3TWVzc2FnZUZpbHRlciIscGFyYW1zOjF9KSxuZXcgbyh7bmFtZToiZ2V0RmlsdGVyTWVzc2FnZXMiLGNhbGw6InNoaF9nZXRGaWx0ZXJNZXNzYWdlcyIscGFyYW1zOjF9KSxuZXcgbyh7bmFtZToiZGVsZXRlTWVzc2FnZUZpbHRlciIsY2FsbDoic2hoX2RlbGV0ZU1lc3NhZ2VGaWx0ZXIiLHBhcmFtczoxfSksbmV3IG8oe25hbWU6InBvc3QiLGNhbGw6InNoaF9wb3N0IixwYXJhbXM6MSxpbnB1dEZvcm1hdHRlcjpbbnVsbF19KV0uZm9yRWFjaChmdW5jdGlvbihlKXtlLmF0dGFjaFRvT2JqZWN0KHQpLGUuc2V0UmVxdWVzdE1hbmFnZXIodC5fcmVxdWVzdE1hbmFnZXIpfSl9O24uYWRkUHJvdmlkZXJzKHMpLGUuZXhwb3J0cz1zfSx7IndlYjMtY29yZSI6MjA5LCJ3ZWIzLWNvcmUtbWV0aG9kIjoxOTMsIndlYjMtY29yZS1zdWJzY3JpcHRpb25zIjoyMDYsIndlYjMtbmV0IjozNzN9XSwzODI6W2Z1bmN0aW9uKHQsZSxyKXthcmd1bWVudHNbNF1bMjEwXVswXS5hcHBseShyLGFyZ3VtZW50cyl9LHtkdXA6MjEwfV0sMzgzOltmdW5jdGlvbih0LGUscil7YXJndW1lbnRzWzRdWzE2NV1bMF0uYXBwbHkocixhcmd1bWVudHMpfSx7ZHVwOjE2NX1dLDM4NDpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQoImJuLmpzIiksaT10KCJudW1iZXItdG8tYm4iKSxvPW5ldyBuKDApLGE9bmV3IG4oLTEpLHM9e25vZXRoZXI6IjAiLHdlaToiMSIsa3dlaToiMTAwMCIsS3dlaToiMTAwMCIsYmFiYmFnZToiMTAwMCIsZmVtdG9ldGhlcjoiMTAwMCIsbXdlaToiMTAwMDAwMCIsTXdlaToiMTAwMDAwMCIsbG92ZWxhY2U6IjEwMDAwMDAiLHBpY29ldGhlcjoiMTAwMDAwMCIsZ3dlaToiMTAwMDAwMDAwMCIsR3dlaToiMTAwMDAwMDAwMCIsc2hhbm5vbjoiMTAwMDAwMDAwMCIsbmFub2V0aGVyOiIxMDAwMDAwMDAwIixuYW5vOiIxMDAwMDAwMDAwIixzemFibzoiMTAwMDAwMDAwMDAwMCIsbWljcm9ldGhlcjoiMTAwMDAwMDAwMDAwMCIsbWljcm86IjEwMDAwMDAwMDAwMDAiLGZpbm5leToiMTAwMDAwMDAwMDAwMDAwMCIsbWlsbGlldGhlcjoiMTAwMDAwMDAwMDAwMDAwMCIsbWlsbGk6IjEwMDAwMDAwMDAwMDAwMDAiLGV0aGVyOiIxMDAwMDAwMDAwMDAwMDAwMDAwIixrZXRoZXI6IjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAiLGdyYW5kOiIxMDAwMDAwMDAwMDAwMDAwMDAwMDAwIixtZXRoZXI6IjEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAiLGdldGhlcjoiMTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCIsdGV0aGVyOiIxMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwIn07ZnVuY3Rpb24gdSh0KXt2YXIgZT10P3QudG9Mb3dlckNhc2UoKToiZXRoZXIiLHI9c1tlXTtpZigic3RyaW5nIiE9dHlwZW9mIHIpdGhyb3cgbmV3IEVycm9yKCJbZXRoanMtdW5pdF0gdGhlIHVuaXQgcHJvdmlkZWQgIit0KyIgZG9lc24ndCBleGlzdHMsIHBsZWFzZSB1c2UgdGhlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHVuaXRzICIrSlNPTi5zdHJpbmdpZnkocyxudWxsLDIpKTtyZXR1cm4gbmV3IG4ociwxMCl9ZnVuY3Rpb24gZih0KXtpZigic3RyaW5nIj09dHlwZW9mIHQpe2lmKCF0Lm1hdGNoKC9eLT9bMC05Ll0rJC8pKXRocm93IG5ldyBFcnJvcigid2hpbGUgY29udmVydGluZyBudW1iZXIgdG8gc3RyaW5nLCBpbnZhbGlkIG51bWJlciB2YWx1ZSAnIit0KyInLCBzaG91bGQgYmUgYSBudW1iZXIgbWF0Y2hpbmcgKF4tP1swLTkuXSspLiIpO3JldHVybiB0fWlmKCJudW1iZXIiPT10eXBlb2YgdClyZXR1cm4gU3RyaW5nKHQpO2lmKCJvYmplY3QiPT09KHZvaWQgMD09PXQ/InVuZGVmaW5lZCI6X3R5cGVvZih0KSkmJnQudG9TdHJpbmcmJih0LnRvVHdvc3x8dC5kaXZpZGVkVG9JbnRlZ2VyQnkpKXJldHVybiB0LnRvUHJlY2lzaW9uP1N0cmluZyh0LnRvUHJlY2lzaW9uKCkpOnQudG9TdHJpbmcoMTApO3Rocm93IG5ldyBFcnJvcigid2hpbGUgY29udmVydGluZyBudW1iZXIgdG8gc3RyaW5nLCBpbnZhbGlkIG51bWJlciB2YWx1ZSAnIit0KyInIHR5cGUgIisodm9pZCAwPT09dD8idW5kZWZpbmVkIjpfdHlwZW9mKHQpKSsiLiIpfWUuZXhwb3J0cz17dW5pdE1hcDpzLG51bWJlclRvU3RyaW5nOmYsZ2V0VmFsdWVPZlVuaXQ6dSxmcm9tV2VpOmZ1bmN0aW9uKHQsZSxyKXt2YXIgbj1pKHQpLGY9bi5sdChvKSxjPXUoZSksaD1zW2VdLmxlbmd0aC0xfHwxLGQ9cnx8e307ZiYmKG49bi5tdWwoYSkpO2Zvcih2YXIgbD1uLm1vZChjKS50b1N0cmluZygxMCk7bC5sZW5ndGg8aDspbD0iMCIrbDtkLnBhZHx8KGw9bC5tYXRjaCgvXihbMC05XSpbMS05XXwwKSgwKikvKVsxXSk7dmFyIHA9bi5kaXYoYykudG9TdHJpbmcoMTApO2QuY29tbWlmeSYmKHA9cC5yZXBsYWNlKC9cQig/PShcZHszfSkrKD8hXGQpKS9nLCIsIikpO3ZhciBiPXArKCIwIj09bD8iIjoiLiIrbCk7cmV0dXJuIGYmJihiPSItIitiKSxifSx0b1dlaTpmdW5jdGlvbih0LGUpe3ZhciByPWYodCksaT11KGUpLG89c1tlXS5sZW5ndGgtMXx8MSxjPSItIj09PXIuc3Vic3RyaW5nKDAsMSk7aWYoYyYmKHI9ci5zdWJzdHJpbmcoMSkpLCIuIj09PXIpdGhyb3cgbmV3IEVycm9yKCJbZXRoanMtdW5pdF0gd2hpbGUgY29udmVydGluZyBudW1iZXIgIit0KyIgdG8gd2VpLCBpbnZhbGlkIHZhbHVlIik7dmFyIGg9ci5zcGxpdCgiLiIpO2lmKGgubGVuZ3RoPjIpdGhyb3cgbmV3IEVycm9yKCJbZXRoanMtdW5pdF0gd2hpbGUgY29udmVydGluZyBudW1iZXIgIit0KyIgdG8gd2VpLCAgdG9vIG1hbnkgZGVjaW1hbCBwb2ludHMiKTt2YXIgZD1oWzBdLGw9aFsxXTtpZihkfHwoZD0iMCIpLGx8fChsPSIwIiksbC5sZW5ndGg+byl0aHJvdyBuZXcgRXJyb3IoIltldGhqcy11bml0XSB3aGlsZSBjb252ZXJ0aW5nIG51bWJlciAiK3QrIiB0byB3ZWksIHRvbyBtYW55IGRlY2ltYWwgcGxhY2VzIik7Zm9yKDtsLmxlbmd0aDxvOylsKz0iMCI7ZD1uZXcgbihkKSxsPW5ldyBuKGwpO3ZhciBwPWQubXVsKGkpLmFkZChsKTtyZXR1cm4gYyYmKHA9cC5tdWwoYSkpLG5ldyBuKHAudG9TdHJpbmcoMTApLDEwKX19fSx7ImJuLmpzIjozODIsIm51bWJlci10by1ibiI6Mzg2fV0sMzg1OltmdW5jdGlvbih0LGUscil7ZS5leHBvcnRzPWZ1bmN0aW9uKHQpe2lmKCJzdHJpbmciIT10eXBlb2YgdCl0aHJvdyBuZXcgRXJyb3IoIltpcy1oZXgtcHJlZml4ZWRdIHZhbHVlIG11c3QgYmUgdHlwZSAnc3RyaW5nJywgaXMgY3VycmVudGx5IHR5cGUgIisodm9pZCAwPT09dD8idW5kZWZpbmVkIjpfdHlwZW9mKHQpKSsiLCB3aGlsZSBjaGVja2luZyBpc0hleFByZWZpeGVkLiIpO3JldHVybiIweCI9PT10LnNsaWNlKDAsMil9fSx7fV0sMzg2OltmdW5jdGlvbih0LGUscil7dmFyIG49dCgiYm4uanMiKSxpPXQoInN0cmlwLWhleC1wcmVmaXgiKTtlLmV4cG9ydHM9ZnVuY3Rpb24odCl7aWYoInN0cmluZyI9PXR5cGVvZiB0fHwibnVtYmVyIj09dHlwZW9mIHQpe3ZhciBlPW5ldyBuKDEpLHI9U3RyaW5nKHQpLnRvTG93ZXJDYXNlKCkudHJpbSgpLG89IjB4Ij09PXIuc3Vic3RyKDAsMil8fCItMHgiPT09ci5zdWJzdHIoMCwzKSxhPWkocik7aWYoIi0iPT09YS5zdWJzdHIoMCwxKSYmKGE9aShhLnNsaWNlKDEpKSxlPW5ldyBuKC0xLDEwKSksIShhPSIiPT09YT8iMCI6YSkubWF0Y2goL14tP1swLTldKyQvKSYmYS5tYXRjaCgvXlswLTlBLUZhLWZdKyQvKXx8YS5tYXRjaCgvXlthLWZBLUZdKyQvKXx8ITA9PT1vJiZhLm1hdGNoKC9eWzAtOUEtRmEtZl0rJC8pKXJldHVybiBuZXcgbihhLDE2KS5tdWwoZSk7aWYoKGEubWF0Y2goL14tP1swLTldKyQvKXx8IiI9PT1hKSYmITE9PT1vKXJldHVybiBuZXcgbihhLDEwKS5tdWwoZSl9ZWxzZSBpZigib2JqZWN0Ij09PSh2b2lkIDA9PT10PyJ1bmRlZmluZWQiOl90eXBlb2YodCkpJiZ0LnRvU3RyaW5nJiYhdC5wb3AmJiF0LnB1c2gmJnQudG9TdHJpbmcoMTApLm1hdGNoKC9eLT9bMC05XSskLykmJih0Lm11bHx8dC5kaXZpZGVkVG9JbnRlZ2VyQnkpKXJldHVybiBuZXcgbih0LnRvU3RyaW5nKDEwKSwxMCk7dGhyb3cgbmV3IEVycm9yKCJbbnVtYmVyLXRvLWJuXSB3aGlsZSBjb252ZXJ0aW5nIG51bWJlciAiK0pTT04uc3RyaW5naWZ5KHQpKyIgdG8gQk4uanMgaW5zdGFuY2UsIGVycm9yOiBpbnZhbGlkIG51bWJlciB2YWx1ZS4gVmFsdWUgbXVzdCBiZSBhbiBpbnRlZ2VyLCBoZXggc3RyaW5nLCBCTiBvciBCaWdOdW1iZXIgaW5zdGFuY2UuIE5vdGUsIGRlY2ltYWxzIGFyZSBub3Qgc3VwcG9ydGVkLiIpfX0seyJibi5qcyI6MzgyLCJzdHJpcC1oZXgtcHJlZml4IjozOTB9XSwzODc6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9d2luZG93LmNyeXB0b30se31dLDM4ODpbZnVuY3Rpb24odCxlLHIpe2UuZXhwb3J0cz10KCJjcnlwdG8iKX0se2NyeXB0bzozODd9XSwzODk6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9ZnVuY3Rpb24oZSxyKXt2YXIgbj10KCIuL2NyeXB0by5qcyIpLGk9ImZ1bmN0aW9uIj09dHlwZW9mIHI7aWYoZT42NTUzNil7aWYoIWkpdGhyb3cgbmV3IEVycm9yKCJSZXF1ZXN0ZWQgdG9vIG1hbnkgcmFuZG9tIGJ5dGVzLiIpO3IobmV3IEVycm9yKCJSZXF1ZXN0ZWQgdG9vIG1hbnkgcmFuZG9tIGJ5dGVzLiIpKX1pZih2b2lkIDAhPT1uJiZuLnJhbmRvbUJ5dGVzKXtpZighaSlyZXR1cm4iMHgiK24ucmFuZG9tQnl0ZXMoZSkudG9TdHJpbmcoImhleCIpO24ucmFuZG9tQnl0ZXMoZSxmdW5jdGlvbih0LGUpe3Q/cih1KTpyKG51bGwsIjB4IitlLnRvU3RyaW5nKCJoZXgiKSl9KX1lbHNle3ZhciBvO2lmKHZvaWQgMCE9PW4/bz1uOiJ1bmRlZmluZWQiIT10eXBlb2YgbXNDcnlwdG8mJihvPW1zQ3J5cHRvKSxvJiZvLmdldFJhbmRvbVZhbHVlcyl7dmFyIGE9by5nZXRSYW5kb21WYWx1ZXMobmV3IFVpbnQ4QXJyYXkoZSkpLHM9IjB4IitBcnJheS5mcm9tKGEpLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdC50b1N0cmluZygxNil9KS5qb2luKCIiKTtpZighaSlyZXR1cm4gcztyKG51bGwscyl9ZWxzZXt2YXIgdT1uZXcgRXJyb3IoJ05vICJjcnlwdG8iIG9iamVjdCBhdmFpbGFibGUuIFRoaXMgQnJvd3NlciBkb2VzblwndCBzdXBwb3J0IGdlbmVyYXRpbmcgc2VjdXJlIHJhbmRvbSBieXRlcy4nKTtpZighaSl0aHJvdyB1O3IodSl9fX19LHsiLi9jcnlwdG8uanMiOjM4OH1dLDM5MDpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQoImlzLWhleC1wcmVmaXhlZCIpO2UuZXhwb3J0cz1mdW5jdGlvbih0KXtyZXR1cm4ic3RyaW5nIiE9dHlwZW9mIHQ/dDpuKHQpP3Quc2xpY2UoMik6dH19LHsiaXMtaGV4LXByZWZpeGVkIjozODV9XSwzOTE6W2Z1bmN0aW9uKHQsZSxyKXthcmd1bWVudHNbNF1bMTc4XVswXS5hcHBseShyLGFyZ3VtZW50cyl9LHtkdXA6MTc4fV0sMzkyOltmdW5jdGlvbih0LGUscil7KGZ1bmN0aW9uKHQpeyFmdW5jdGlvbihuKXt2YXIgaT0ib2JqZWN0Ij09KHZvaWQgMD09PXI/InVuZGVmaW5lZCI6X3R5cGVvZihyKSkmJnIsbz0ib2JqZWN0Ij09KHZvaWQgMD09PWU/InVuZGVmaW5lZCI6X3R5cGVvZihlKSkmJmUmJmUuZXhwb3J0cz09aSYmZSxhPSJvYmplY3QiPT0odm9pZCAwPT09dD8idW5kZWZpbmVkIjpfdHlwZW9mKHQpKSYmdDthLmdsb2JhbCE9PWEmJmEud2luZG93IT09YXx8KG49YSk7dmFyIHMsdSxmLGM9U3RyaW5nLmZyb21DaGFyQ29kZTtmdW5jdGlvbiBoKHQpe2Zvcih2YXIgZSxyLG49W10saT0wLG89dC5sZW5ndGg7aTxvOykoZT10LmNoYXJDb2RlQXQoaSsrKSk+PTU1Mjk2JiZlPD01NjMxOSYmaTxvPzU2MzIwPT0oNjQ1MTImKHI9dC5jaGFyQ29kZUF0KGkrKykpKT9uLnB1c2goKCgxMDIzJmUpPDwxMCkrKDEwMjMmcikrNjU1MzYpOihuLnB1c2goZSksaS0tKTpuLnB1c2goZSk7cmV0dXJuIG59ZnVuY3Rpb24gZCh0KXtpZih0Pj01NTI5NiYmdDw9NTczNDMpdGhyb3cgRXJyb3IoIkxvbmUgc3Vycm9nYXRlIFUrIit0LnRvU3RyaW5nKDE2KS50b1VwcGVyQ2FzZSgpKyIgaXMgbm90IGEgc2NhbGFyIHZhbHVlIil9ZnVuY3Rpb24gbCh0LGUpe3JldHVybiBjKHQ+PmUmNjN8MTI4KX1mdW5jdGlvbiBwKHQpe2lmKDA9PSg0Mjk0OTY3MTY4JnQpKXJldHVybiBjKHQpO3ZhciBlPSIiO3JldHVybiAwPT0oNDI5NDk2NTI0OCZ0KT9lPWModD4+NiYzMXwxOTIpOjA9PSg0Mjk0OTAxNzYwJnQpPyhkKHQpLGU9Yyh0Pj4xMiYxNXwyMjQpLGUrPWwodCw2KSk6MD09KDQyOTI4NzAxNDQmdCkmJihlPWModD4+MTgmN3wyNDApLGUrPWwodCwxMiksZSs9bCh0LDYpKSxlKz1jKDYzJnR8MTI4KX1mdW5jdGlvbiBiKCl7aWYoZj49dSl0aHJvdyBFcnJvcigiSW52YWxpZCBieXRlIGluZGV4Iik7dmFyIHQ9MjU1JnNbZl07aWYoZisrLDEyOD09KDE5MiZ0KSlyZXR1cm4gNjMmdDt0aHJvdyBFcnJvcigiSW52YWxpZCBjb250aW51YXRpb24gYnl0ZSIpfWZ1bmN0aW9uIG0oKXt2YXIgdCxlO2lmKGY+dSl0aHJvdyBFcnJvcigiSW52YWxpZCBieXRlIGluZGV4Iik7aWYoZj09dSlyZXR1cm4hMTtpZih0PTI1NSZzW2ZdLGYrKywwPT0oMTI4JnQpKXJldHVybiB0O2lmKDE5Mj09KDIyNCZ0KSl7aWYoKGU9KDMxJnQpPDw2fGIoKSk+PTEyOClyZXR1cm4gZTt0aHJvdyBFcnJvcigiSW52YWxpZCBjb250aW51YXRpb24gYnl0ZSIpfWlmKDIyND09KDI0MCZ0KSl7aWYoKGU9KDE1JnQpPDwxMnxiKCk8PDZ8YigpKT49MjA0OClyZXR1cm4gZChlKSxlO3Rocm93IEVycm9yKCJJbnZhbGlkIGNvbnRpbnVhdGlvbiBieXRlIil9aWYoMjQwPT0oMjQ4JnQpJiYoZT0oMTUmdCk8PDE4fGIoKTw8MTJ8YigpPDw2fGIoKSk+PTY1NTM2JiZlPD0xMTE0MTExKXJldHVybiBlO3Rocm93IEVycm9yKCJJbnZhbGlkIFVURi04IGRldGVjdGVkIil9dmFyIHk9e3ZlcnNpb246IjIuMC4wIixlbmNvZGU6ZnVuY3Rpb24odCl7Zm9yKHZhciBlPWgodCkscj1lLmxlbmd0aCxuPS0xLGk9IiI7KytuPHI7KWkrPXAoZVtuXSk7cmV0dXJuIGl9LGRlY29kZTpmdW5jdGlvbih0KXtzPWgodCksdT1zLmxlbmd0aCxmPTA7Zm9yKHZhciBlLHI9W107ITEhPT0oZT1tKCkpOylyLnB1c2goZSk7cmV0dXJuIGZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxyPXQubGVuZ3RoLG49LTEsaT0iIjsrK248cjspKGU9dFtuXSk+NjU1MzUmJihpKz1jKChlLT02NTUzNik+Pj4xMCYxMDIzfDU1Mjk2KSxlPTU2MzIwfDEwMjMmZSksaSs9YyhlKTtyZXR1cm4gaX0ocil9fTtpZigiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiYib2JqZWN0Ij09X3R5cGVvZihkZWZpbmUuYW1kKSYmZGVmaW5lLmFtZClkZWZpbmUoZnVuY3Rpb24oKXtyZXR1cm4geX0pO2Vsc2UgaWYoaSYmIWkubm9kZVR5cGUpaWYobylvLmV4cG9ydHM9eTtlbHNle3ZhciB2PXt9Lmhhc093blByb3BlcnR5O2Zvcih2YXIgZyBpbiB5KXYuY2FsbCh5LGcpJiYoaVtnXT15W2ddKX1lbHNlIG4udXRmOD15fSh0aGlzKX0pLmNhbGwodGhpcywidW5kZWZpbmVkIiE9dHlwZW9mIGdsb2JhbD9nbG9iYWw6InVuZGVmaW5lZCIhPXR5cGVvZiBzZWxmP3NlbGY6InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3c/d2luZG93Ont9KX0se31dLDM5MzpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQoInVuZGVyc2NvcmUiKSxpPXQoImV0aGpzLXVuaXQiKSxvPXQoIi4vdXRpbHMuanMiKSxhPXQoIi4vc29saWRpdHlTaGEzLmpzIikscz10KCJyYW5kb21oZXgiKSx1PWZ1bmN0aW9uKHQpe2lmKCFvLmlzSGV4U3RyaWN0KHQpKXRocm93IG5ldyBFcnJvcigiVGhlIHBhcmFtZXRlciBtdXN0IGJlIGEgdmFsaWQgSEVYIHN0cmluZy4iKTt2YXIgZT0iIixyPTAsbj10Lmxlbmd0aDtmb3IoIjB4Ij09PXQuc3Vic3RyaW5nKDAsMikmJihyPTIpO3I8bjtyKz0yKXt2YXIgaT1wYXJzZUludCh0LnN1YnN0cihyLDIpLDE2KTtlKz1TdHJpbmcuZnJvbUNoYXJDb2RlKGkpfXJldHVybiBlfSxmPWZ1bmN0aW9uKHQpe2lmKCF0KXJldHVybiIweDAwIjtmb3IodmFyIGU9IiIscj0wO3I8dC5sZW5ndGg7cisrKXt2YXIgbj10LmNoYXJDb2RlQXQocikudG9TdHJpbmcoMTYpO2UrPW4ubGVuZ3RoPDI/IjAiK246bn1yZXR1cm4iMHgiK2V9LGM9ZnVuY3Rpb24odCl7aWYodD10P3QudG9Mb3dlckNhc2UoKToiZXRoZXIiLCFpLnVuaXRNYXBbdF0pdGhyb3cgbmV3IEVycm9yKCdUaGlzIHVuaXQgIicrdCsiXCIgZG9lc24ndCBleGlzdCwgcGxlYXNlIHVzZSB0aGUgb25lIG9mIHRoZSBmb2xsb3dpbmcgdW5pdHMiK0pTT04uc3RyaW5naWZ5KGkudW5pdE1hcCxudWxsLDIpKTtyZXR1cm4gdH07ZS5leHBvcnRzPXtfZmlyZUVycm9yOmZ1bmN0aW9uKHQsZSxyLGkpe3JldHVybiFuLmlzT2JqZWN0KHQpfHx0IGluc3RhbmNlb2YgRXJyb3J8fCF0LmRhdGF8fCgobi5pc09iamVjdCh0LmRhdGEpfHxuLmlzQXJyYXkodC5kYXRhKSkmJih0LmRhdGE9SlNPTi5zdHJpbmdpZnkodC5kYXRhLG51bGwsMikpLHQ9dC5tZXNzYWdlKyJcbiIrdC5kYXRhKSxuLmlzU3RyaW5nKHQpJiYodD1uZXcgRXJyb3IodCkpLG4uaXNGdW5jdGlvbihpKSYmaSh0KSxuLmlzRnVuY3Rpb24ocikmJigoZSYmbi5pc0Z1bmN0aW9uKGUubGlzdGVuZXJzKSYmZS5saXN0ZW5lcnMoImVycm9yIikubGVuZ3RofHxuLmlzRnVuY3Rpb24oaSkpJiZlLmNhdGNoKGZ1bmN0aW9uKCl7fSksc2V0VGltZW91dChmdW5jdGlvbigpe3IodCl9LDEpKSxlJiZuLmlzRnVuY3Rpb24oZS5lbWl0KSYmc2V0VGltZW91dChmdW5jdGlvbigpe2UuZW1pdCgiZXJyb3IiLHQpLGUucmVtb3ZlQWxsTGlzdGVuZXJzKCl9LDEpLGV9LF9qc29uSW50ZXJmYWNlTWV0aG9kVG9TdHJpbmc6ZnVuY3Rpb24odCl7aWYobi5pc09iamVjdCh0KSYmdC5uYW1lJiYtMSE9PXQubmFtZS5pbmRleE9mKCIoIikpcmV0dXJuIHQubmFtZTt2YXIgZT10LmlucHV0cy5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIHQudHlwZX0pLmpvaW4oIiwiKTtyZXR1cm4gdC5uYW1lKyIoIitlKyIpIn0scmFuZG9tSGV4OnMsXzpuLEJOOm8uQk4saXNCTjpvLmlzQk4saXNCaWdOdW1iZXI6by5pc0JpZ051bWJlcixpc0hleDpvLmlzSGV4LGlzSGV4U3RyaWN0Om8uaXNIZXhTdHJpY3Qsc2hhMzpvLnNoYTMsa2VjY2FrMjU2Om8uc2hhMyxzb2xpZGl0eVNoYTM6YSxpc0FkZHJlc3M6by5pc0FkZHJlc3MsY2hlY2tBZGRyZXNzQ2hlY2tzdW06by5jaGVja0FkZHJlc3NDaGVja3N1bSx0b0NoZWNrc3VtQWRkcmVzczpmdW5jdGlvbih0KXtpZih2b2lkIDA9PT10KXJldHVybiIiO2lmKCEvXigweCk/WzAtOWEtZl17NDB9JC9pLnRlc3QodCkpdGhyb3cgbmV3IEVycm9yKCdHaXZlbiBhZGRyZXNzICInK3QrJyIgaXMgbm90IGEgdmFsaWQgRXRoZXJldW0gYWRkcmVzcy4nKTt0PXQudG9Mb3dlckNhc2UoKS5yZXBsYWNlKC9eMHgvaSwiIik7Zm9yKHZhciBlPW8uc2hhMyh0KS5yZXBsYWNlKC9eMHgvaSwiIikscj0iMHgiLG49MDtuPHQubGVuZ3RoO24rKylwYXJzZUludChlW25dLDE2KT43P3IrPXRbbl0udG9VcHBlckNhc2UoKTpyKz10W25dO3JldHVybiByfSx0b0hleDpvLnRvSGV4LHRvQk46by50b0JOLGJ5dGVzVG9IZXg6by5ieXRlc1RvSGV4LGhleFRvQnl0ZXM6by5oZXhUb0J5dGVzLGhleFRvTnVtYmVyU3RyaW5nOm8uaGV4VG9OdW1iZXJTdHJpbmcsaGV4VG9OdW1iZXI6by5oZXhUb051bWJlcix0b0RlY2ltYWw6by5oZXhUb051bWJlcixudW1iZXJUb0hleDpvLm51bWJlclRvSGV4LGZyb21EZWNpbWFsOm8ubnVtYmVyVG9IZXgsaGV4VG9VdGY4Om8uaGV4VG9VdGY4LGhleFRvU3RyaW5nOm8uaGV4VG9VdGY4LHRvVXRmODpvLmhleFRvVXRmOCx1dGY4VG9IZXg6by51dGY4VG9IZXgsc3RyaW5nVG9IZXg6by51dGY4VG9IZXgsZnJvbVV0Zjg6by51dGY4VG9IZXgsaGV4VG9Bc2NpaTp1LHRvQXNjaWk6dSxhc2NpaVRvSGV4OmYsZnJvbUFzY2lpOmYsdW5pdE1hcDppLnVuaXRNYXAsdG9XZWk6ZnVuY3Rpb24odCxlKXtpZihlPWMoZSksIW8uaXNCTih0KSYmIW4uaXNTdHJpbmcodCkpdGhyb3cgbmV3IEVycm9yKCJQbGVhc2UgcGFzcyBudW1iZXJzIGFzIHN0cmluZ3Mgb3IgQmlnTnVtYmVyIG9iamVjdHMgdG8gYXZvaWQgcHJlY2lzaW9uIGVycm9ycy4iKTtyZXR1cm4gby5pc0JOKHQpP2kudG9XZWkodCxlKTppLnRvV2VpKHQsZSkudG9TdHJpbmcoMTApfSxmcm9tV2VpOmZ1bmN0aW9uKHQsZSl7aWYoZT1jKGUpLCFvLmlzQk4odCkmJiFuLmlzU3RyaW5nKHQpKXRocm93IG5ldyBFcnJvcigiUGxlYXNlIHBhc3MgbnVtYmVycyBhcyBzdHJpbmdzIG9yIEJpZ051bWJlciBvYmplY3RzIHRvIGF2b2lkIHByZWNpc2lvbiBlcnJvcnMuIik7cmV0dXJuIG8uaXNCTih0KT9pLmZyb21XZWkodCxlKTppLmZyb21XZWkodCxlKS50b1N0cmluZygxMCl9LHBhZExlZnQ6by5sZWZ0UGFkLGxlZnRQYWQ6by5sZWZ0UGFkLHBhZFJpZ2h0Om8ucmlnaHRQYWQscmlnaHRQYWQ6by5yaWdodFBhZCx0b1R3b3NDb21wbGVtZW50Om8udG9Ud29zQ29tcGxlbWVudH19LHsiLi9zb2xpZGl0eVNoYTMuanMiOjM5NCwiLi91dGlscy5qcyI6Mzk1LCJldGhqcy11bml0IjozODQscmFuZG9taGV4OjM4OSx1bmRlcnNjb3JlOjM5MX1dLDM5NDpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQoInVuZGVyc2NvcmUiKSxpPXQoImJuLmpzIiksbz10KCIuL3V0aWxzLmpzIiksYT1mdW5jdGlvbih0KXt2YXIgZT12b2lkIDA9PT10PyJ1bmRlZmluZWQiOl90eXBlb2YodCk7aWYoInN0cmluZyI9PT1lKXJldHVybiBvLmlzSGV4U3RyaWN0KHQpP25ldyBpKHQucmVwbGFjZSgvMHgvaSwiIiksMTYpOm5ldyBpKHQsMTApO2lmKCJudW1iZXIiPT09ZSlyZXR1cm4gbmV3IGkodCk7aWYoby5pc0JpZ051bWJlcih0KSlyZXR1cm4gbmV3IGkodC50b1N0cmluZygxMCkpO2lmKG8uaXNCTih0KSlyZXR1cm4gdDt0aHJvdyBuZXcgRXJyb3IodCsiIGlzIG5vdCBhIG51bWJlciIpfSxzPWZ1bmN0aW9uKHQsZSxyKXt2YXIgbixzLHUsZjtpZigiYnl0ZXMiPT09KHQ9KHU9dCkuc3RhcnRzV2l0aCgiaW50WyIpPyJpbnQyNTYiK3Uuc2xpY2UoMyk6ImludCI9PT11PyJpbnQyNTYiOnUuc3RhcnRzV2l0aCgidWludFsiKT8idWludDI1NiIrdS5zbGljZSg0KToidWludCI9PT11PyJ1aW50MjU2Ijp1LnN0YXJ0c1dpdGgoImZpeGVkWyIpPyJmaXhlZDEyOHgxMjgiK3Uuc2xpY2UoNSk6ImZpeGVkIj09PXU/ImZpeGVkMTI4eDEyOCI6dS5zdGFydHNXaXRoKCJ1Zml4ZWRbIik/InVmaXhlZDEyOHgxMjgiK3Uuc2xpY2UoNik6InVmaXhlZCI9PT11PyJ1Zml4ZWQxMjh4MTI4Ijp1KSl7aWYoZS5yZXBsYWNlKC9eMHgvaSwiIikubGVuZ3RoJTIhPTApdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIGJ5dGVzIGNoYXJhY3RlcnMgIitlLmxlbmd0aCk7cmV0dXJuIGV9aWYoInN0cmluZyI9PT10KXJldHVybiBvLnV0ZjhUb0hleChlKTtpZigiYm9vbCI9PT10KXJldHVybiBlPyIwMSI6IjAwIjtpZih0LnN0YXJ0c1dpdGgoImFkZHJlc3MiKSl7aWYobj1yPzY0OjQwLCFvLmlzQWRkcmVzcyhlKSl0aHJvdyBuZXcgRXJyb3IoZSsiIGlzIG5vdCBhIHZhbGlkIGFkZHJlc3MsIG9yIHRoZSBjaGVja3N1bSBpcyBpbnZhbGlkLiIpO3JldHVybiBvLmxlZnRQYWQoZS50b0xvd2VyQ2FzZSgpLG4pfWlmKG49KGY9L15cRCsoXGQrKS4qJC8uZXhlYyh0KSk/cGFyc2VJbnQoZlsxXSwxMCk6bnVsbCx0LnN0YXJ0c1dpdGgoImJ5dGVzIikpe2lmKCFuKXRocm93IG5ldyBFcnJvcigiYnl0ZXNbXSBub3QgeWV0IHN1cHBvcnRlZCBpbiBzb2xpZGl0eSIpO2lmKHImJihuPTMyKSxuPDF8fG4+MzJ8fG48ZS5yZXBsYWNlKC9eMHgvaSwiIikubGVuZ3RoLzIpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIGJ5dGVzIituKyIgZm9yICIrZSk7cmV0dXJuIG8ucmlnaHRQYWQoZSwyKm4pfWlmKHQuc3RhcnRzV2l0aCgidWludCIpKXtpZihuJTh8fG48OHx8bj4yNTYpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIHVpbnQiK24rIiBzaXplIik7aWYoKHM9YShlKSkuYml0TGVuZ3RoKCk+bil0aHJvdyBuZXcgRXJyb3IoIlN1cHBsaWVkIHVpbnQgZXhjZWVkcyB3aWR0aDogIituKyIgdnMgIitzLmJpdExlbmd0aCgpKTtpZihzLmx0KG5ldyBpKDApKSl0aHJvdyBuZXcgRXJyb3IoIlN1cHBsaWVkIHVpbnQgIitzLnRvU3RyaW5nKCkrIiBpcyBuZWdhdGl2ZSIpO3JldHVybiBuP28ubGVmdFBhZChzLnRvU3RyaW5nKCJoZXgiKSxuLzgqMik6c31pZih0LnN0YXJ0c1dpdGgoImludCIpKXtpZihuJTh8fG48OHx8bj4yNTYpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIGludCIrbisiIHNpemUiKTtpZigocz1hKGUpKS5iaXRMZW5ndGgoKT5uKXRocm93IG5ldyBFcnJvcigiU3VwcGxpZWQgaW50IGV4Y2VlZHMgd2lkdGg6ICIrbisiIHZzICIrcy5iaXRMZW5ndGgoKSk7cmV0dXJuIHMubHQobmV3IGkoMCkpP3MudG9Ud29zKG4pLnRvU3RyaW5nKCJoZXgiKTpuP28ubGVmdFBhZChzLnRvU3RyaW5nKCJoZXgiKSxuLzgqMik6c310aHJvdyBuZXcgRXJyb3IoIlVuc3VwcG9ydGVkIG9yIGludmFsaWQgdHlwZTogIit0KX0sdT1mdW5jdGlvbih0KXtpZihuLmlzQXJyYXkodCkpdGhyb3cgbmV3IEVycm9yKCJBdXRvZGV0ZWN0aW9uIG9mIGFycmF5IHR5cGVzIGlzIG5vdCBzdXBwb3J0ZWQuIik7dmFyIGUscixhLHU9IiI7aWYobi5pc09iamVjdCh0KSYmKHQuaGFzT3duUHJvcGVydHkoInYiKXx8dC5oYXNPd25Qcm9wZXJ0eSgidCIpfHx0Lmhhc093blByb3BlcnR5KCJ2YWx1ZSIpfHx0Lmhhc093blByb3BlcnR5KCJ0eXBlIikpPyhlPXQuaGFzT3duUHJvcGVydHkoInQiKT90LnQ6dC50eXBlLHU9dC5oYXNPd25Qcm9wZXJ0eSgidiIpP3Qudjp0LnZhbHVlKTooZT1vLnRvSGV4KHQsITApLHU9by50b0hleCh0KSxlLnN0YXJ0c1dpdGgoImludCIpfHxlLnN0YXJ0c1dpdGgoInVpbnQiKXx8KGU9ImJ5dGVzIikpLCFlLnN0YXJ0c1dpdGgoImludCIpJiYhZS5zdGFydHNXaXRoKCJ1aW50Iil8fCJzdHJpbmciIT10eXBlb2YgdXx8L14oLSk/MHgvaS50ZXN0KHUpfHwodT1uZXcgaSh1KSksbi5pc0FycmF5KHUpKXtpZihhPS9eXEQrXGQqXFsoXGQrKVxdJC8uZXhlYyhlKSwocj1hP3BhcnNlSW50KGFbMV0sMTApOm51bGwpJiZ1Lmxlbmd0aCE9PXIpdGhyb3cgbmV3IEVycm9yKGUrIiBpcyBub3QgbWF0Y2hpbmcgdGhlIGdpdmVuIGFycmF5ICIrSlNPTi5zdHJpbmdpZnkodSkpO3I9dS5sZW5ndGh9cmV0dXJuIG4uaXNBcnJheSh1KT91Lm1hcChmdW5jdGlvbih0KXtyZXR1cm4gcyhlLHQscikudG9TdHJpbmcoImhleCIpLnJlcGxhY2UoIjB4IiwiIil9KS5qb2luKCIiKTpzKGUsdSxyKS50b1N0cmluZygiaGV4IikucmVwbGFjZSgiMHgiLCIiKX07ZS5leHBvcnRzPWZ1bmN0aW9uKCl7dmFyIHQ9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKSxlPW4ubWFwKHQsdSk7cmV0dXJuIG8uc2hhMygiMHgiK2Uuam9pbigiIikpfX0seyIuL3V0aWxzLmpzIjozOTUsImJuLmpzIjozODIsdW5kZXJzY29yZTozOTF9XSwzOTU6W2Z1bmN0aW9uKHQsZSxyKXt2YXIgbj10KCJ1bmRlcnNjb3JlIiksaT10KCJibi5qcyIpLG89dCgibnVtYmVyLXRvLWJuIiksYT10KCJ1dGY4Iikscz10KCJldGgtbGliL2xpYi9oYXNoIiksdT1mdW5jdGlvbih0KXtyZXR1cm4gdCBpbnN0YW5jZW9mIGl8fHQmJnQuY29uc3RydWN0b3ImJiJCTiI9PT10LmNvbnN0cnVjdG9yLm5hbWV9LGY9ZnVuY3Rpb24odCl7cmV0dXJuIHQmJnQuY29uc3RydWN0b3ImJiJCaWdOdW1iZXIiPT09dC5jb25zdHJ1Y3Rvci5uYW1lfSxjPWZ1bmN0aW9uKHQpe3RyeXtyZXR1cm4gby5hcHBseShudWxsLGFyZ3VtZW50cyl9Y2F0Y2goZSl7dGhyb3cgbmV3IEVycm9yKGUrJyBHaXZlbiB2YWx1ZTogIicrdCsnIicpfX0saD1mdW5jdGlvbih0KXtyZXR1cm4hIS9eKDB4KT9bMC05YS1mXXs0MH0kL2kudGVzdCh0KSYmKCEoIS9eKDB4fDBYKT9bMC05YS1mXXs0MH0kLy50ZXN0KHQpJiYhL14oMHh8MFgpP1swLTlBLUZdezQwfSQvLnRlc3QodCkpfHxkKHQpKX0sZD1mdW5jdGlvbih0KXt0PXQucmVwbGFjZSgvXjB4L2ksIiIpO2Zvcih2YXIgZT15KHQudG9Mb3dlckNhc2UoKSkucmVwbGFjZSgvXjB4L2ksIiIpLHI9MDtyPDQwO3IrKylpZihwYXJzZUludChlW3JdLDE2KT43JiZ0W3JdLnRvVXBwZXJDYXNlKCkhPT10W3JdfHxwYXJzZUludChlW3JdLDE2KTw9NyYmdFtyXS50b0xvd2VyQ2FzZSgpIT09dFtyXSlyZXR1cm4hMTtyZXR1cm4hMH0sbD1mdW5jdGlvbih0KXt2YXIgZT0iIjt0PSh0PSh0PSh0PSh0PWEuZW5jb2RlKHQpKS5yZXBsYWNlKC9eKD86XHUwMDAwKSovLCIiKSkuc3BsaXQoIiIpLnJldmVyc2UoKS5qb2luKCIiKSkucmVwbGFjZSgvXig/Olx1MDAwMCkqLywiIikpLnNwbGl0KCIiKS5yZXZlcnNlKCkuam9pbigiIik7Zm9yKHZhciByPTA7cjx0Lmxlbmd0aDtyKyspe3ZhciBuPXQuY2hhckNvZGVBdChyKS50b1N0cmluZygxNik7ZSs9bi5sZW5ndGg8Mj8iMCIrbjpufXJldHVybiIweCIrZX0scD1mdW5jdGlvbih0KXtpZihuLmlzTnVsbCh0KXx8bi5pc1VuZGVmaW5lZCh0KSlyZXR1cm4gdDtpZighaXNGaW5pdGUodCkmJiFtKHQpKXRocm93IG5ldyBFcnJvcignR2l2ZW4gaW5wdXQgIicrdCsnIiBpcyBub3QgYSBudW1iZXIuJyk7dmFyIGU9Yyh0KSxyPWUudG9TdHJpbmcoMTYpO3JldHVybiBlLmx0KG5ldyBpKDApKT8iLTB4IityLnN1YnN0cigxKToiMHgiK3J9LGI9ZnVuY3Rpb24odCl7aWYodD10LnRvU3RyaW5nKDE2KSwhbSh0KSl0aHJvdyBuZXcgRXJyb3IoJ0dpdmVuIHZhbHVlICInK3QrJyIgaXMgbm90IGEgdmFsaWQgaGV4IHN0cmluZy4nKTt0PXQucmVwbGFjZSgvXjB4L2ksIiIpO2Zvcih2YXIgZT1bXSxyPTA7cjx0Lmxlbmd0aDtyKz0yKWUucHVzaChwYXJzZUludCh0LnN1YnN0cihyLDIpLDE2KSk7cmV0dXJuIGV9LG09ZnVuY3Rpb24odCl7cmV0dXJuKG4uaXNTdHJpbmcodCl8fG4uaXNOdW1iZXIodCkpJiYvXigtKT8weFswLTlhLWZdKiQvaS50ZXN0KHQpfSx5PWZ1bmN0aW9uKHQpe20odCkmJi9eMHgvaS50ZXN0KHQudG9TdHJpbmcoKSkmJih0PWIodCkpO3ZhciBlPXMua2VjY2FrMjU2KHQpO3JldHVybiIweGM1ZDI0NjAxODZmNzIzM2M5MjdlN2RiMmRjYzcwM2MwZTUwMGI2NTNjYTgyMjczYjdiZmFkODA0NWQ4NWE0NzAiPT09ZT9udWxsOmV9O3kuX0hhc2g9cyxlLmV4cG9ydHM9e0JOOmksaXNCTjp1LGlzQmlnTnVtYmVyOmYsdG9CTjpjLGlzQWRkcmVzczpoLGlzQmxvb206ZnVuY3Rpb24odCl7cmV0dXJuISghL14oMHgpP1swLTlhLWZdezUxMn0kL2kudGVzdCh0KXx8IS9eKDB4KT9bMC05YS1mXXs1MTJ9JC8udGVzdCh0KSYmIS9eKDB4KT9bMC05QS1GXXs1MTJ9JC8udGVzdCh0KSl9LGlzVG9waWM6ZnVuY3Rpb24odCl7cmV0dXJuISghL14oMHgpP1swLTlhLWZdezY0fSQvaS50ZXN0KHQpfHwhL14oMHgpP1swLTlhLWZdezY0fSQvLnRlc3QodCkmJiEvXigweCk/WzAtOUEtRl17NjR9JC8udGVzdCh0KSl9LGNoZWNrQWRkcmVzc0NoZWNrc3VtOmQsdXRmOFRvSGV4OmwsaGV4VG9VdGY4OmZ1bmN0aW9uKHQpe2lmKCFtKHQpKXRocm93IG5ldyBFcnJvcignVGhlIHBhcmFtZXRlciAiJyt0KyciIG11c3QgYmUgYSB2YWxpZCBIRVggc3RyaW5nLicpO2Zvcih2YXIgZT0iIixyPTAsbj0odD0odD0odD0odD0odD10LnJlcGxhY2UoL14weC9pLCIiKSkucmVwbGFjZSgvXig/OjAwKSovLCIiKSkuc3BsaXQoIiIpLnJldmVyc2UoKS5qb2luKCIiKSkucmVwbGFjZSgvXig/OjAwKSovLCIiKSkuc3BsaXQoIiIpLnJldmVyc2UoKS5qb2luKCIiKSkubGVuZ3RoLGk9MDtpPG47aSs9MilyPXBhcnNlSW50KHQuc3Vic3RyKGksMiksMTYpLGUrPVN0cmluZy5mcm9tQ2hhckNvZGUocik7cmV0dXJuIGEuZGVjb2RlKGUpfSxoZXhUb051bWJlcjpmdW5jdGlvbih0KXtyZXR1cm4gdD9jKHQpLnRvTnVtYmVyKCk6dH0saGV4VG9OdW1iZXJTdHJpbmc6ZnVuY3Rpb24odCl7cmV0dXJuIHQ/Yyh0KS50b1N0cmluZygxMCk6dH0sbnVtYmVyVG9IZXg6cCx0b0hleDpmdW5jdGlvbih0LGUpe2lmKGgodCkpcmV0dXJuIGU/ImFkZHJlc3MiOiIweCIrdC50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL14weC9pLCIiKTtpZihuLmlzQm9vbGVhbih0KSlyZXR1cm4gZT8iYm9vbCI6dD8iMHgwMSI6IjB4MDAiO2lmKG4uaXNPYmplY3QodCkmJiFmKHQpJiYhdSh0KSlyZXR1cm4gZT8ic3RyaW5nIjpsKEpTT04uc3RyaW5naWZ5KHQpKTtpZihuLmlzU3RyaW5nKHQpKXtpZigwPT09dC5pbmRleE9mKCItMHgiKXx8MD09PXQuaW5kZXhPZigiLTBYIikpcmV0dXJuIGU/ImludDI1NiI6cCh0KTtpZigwPT09dC5pbmRleE9mKCIweCIpfHwwPT09dC5pbmRleE9mKCIwWCIpKXJldHVybiBlPyJieXRlcyI6dDtpZighaXNGaW5pdGUodCkpcmV0dXJuIGU/InN0cmluZyI6bCh0KX1yZXR1cm4gZT90PDA/ImludDI1NiI6InVpbnQyNTYiOnAodCl9LGhleFRvQnl0ZXM6YixieXRlc1RvSGV4OmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1bXSxyPTA7cjx0Lmxlbmd0aDtyKyspZS5wdXNoKCh0W3JdPj4+NCkudG9TdHJpbmcoMTYpKSxlLnB1c2goKDE1JnRbcl0pLnRvU3RyaW5nKDE2KSk7cmV0dXJuIjB4IitlLmpvaW4oIiIpfSxpc0hleDpmdW5jdGlvbih0KXtyZXR1cm4obi5pc1N0cmluZyh0KXx8bi5pc051bWJlcih0KSkmJi9eKC0weHwweCk/WzAtOWEtZl0qJC9pLnRlc3QodCl9LGlzSGV4U3RyaWN0Om0sbGVmdFBhZDpmdW5jdGlvbih0LGUscil7dmFyIG49L14weC9pLnRlc3QodCl8fCJudW1iZXIiPT10eXBlb2YgdCxpPWUtKHQ9dC50b1N0cmluZygxNikucmVwbGFjZSgvXjB4L2ksIiIpKS5sZW5ndGgrMT49MD9lLXQubGVuZ3RoKzE6MDtyZXR1cm4obj8iMHgiOiIiKStuZXcgQXJyYXkoaSkuam9pbihyfHwiMCIpK3R9LHJpZ2h0UGFkOmZ1bmN0aW9uKHQsZSxyKXt2YXIgbj0vXjB4L2kudGVzdCh0KXx8Im51bWJlciI9PXR5cGVvZiB0LGk9ZS0odD10LnRvU3RyaW5nKDE2KS5yZXBsYWNlKC9eMHgvaSwiIikpLmxlbmd0aCsxPj0wP2UtdC5sZW5ndGgrMTowO3JldHVybihuPyIweCI6IiIpK3QrbmV3IEFycmF5KGkpLmpvaW4ocnx8IjAiKX0sdG9Ud29zQ29tcGxlbWVudDpmdW5jdGlvbih0KXtyZXR1cm4iMHgiK2ModCkudG9Ud29zKDI1NikudG9TdHJpbmcoMTYsNjQpfSxzaGEzOnl9fSx7ImJuLmpzIjozODIsImV0aC1saWIvbGliL2hhc2giOjM4MywibnVtYmVyLXRvLWJuIjozODYsdW5kZXJzY29yZTozOTEsdXRmODozOTJ9XSwzOTY6W2Z1bmN0aW9uKHQsZSxyKXtlLmV4cG9ydHM9e25hbWU6IndlYjMiLG5hbWVzcGFjZToiZXRoZXJldW0iLHZlcnNpb246IjEuMC4wLWJldGEuMzQiLGRlc2NyaXB0aW9uOiJFdGhlcmV1bSBKYXZhU2NyaXB0IEFQSSIscmVwb3NpdG9yeToiaHR0cHM6Ly9naXRodWIuY29tL2V0aGVyZXVtL3dlYjMuanMvdHJlZS9tYXN0ZXIvcGFja2FnZXMvd2ViMyIsbGljZW5zZToiTEdQTC0zLjAiLG1haW46InNyYy9pbmRleC5qcyIsdHlwZXM6ImluZGV4LmQudHMiLGJ1Z3M6e3VybDoiaHR0cHM6Ly9naXRodWIuY29tL2V0aGVyZXVtL3dlYjMuanMvaXNzdWVzIn0sa2V5d29yZHM6WyJFdGhlcmV1bSIsIkphdmFTY3JpcHQiLCJBUEkiXSxhdXRob3I6ImV0aGVyZXVtLm9yZyIsYXV0aG9yczpbe25hbWU6IkZhYmlhbiBWb2dlbHN0ZWxsZXIiLGVtYWlsOiJmYWJpYW5AZXRoZXJldW0ub3JnIixob21lcGFnZToiaHR0cDovL2Zyb3plbWFuLmRlIn0se25hbWU6Ik1hcmVrIEtvdGV3aWN6IixlbWFpbDoibWFyZWtAcGFyaXR5LmlvIix1cmw6Imh0dHBzOi8vZ2l0aHViLmNvbS9kZWJyaXMifSx7bmFtZToiTWFyaWFuIE9hbmNlYSIsdXJsOiJodHRwczovL2dpdGh1Yi5jb20vY3ViZWRybyJ9LHtuYW1lOiJHYXYgV29vZCIsZW1haWw6ImdAcGFyaXR5LmlvIixob21lcGFnZToiaHR0cDovL2dhdndvb2QuY29tIn0se25hbWU6IkplZmZlcnkgV2lsY2tlIixlbWFpbDoiamVmZnJleS53aWxja2VAZXRoZXJldW0ub3JnIix1cmw6Imh0dHBzOi8vZ2l0aHViLmNvbS9vYnNjdXJlbiJ9XSxkZXBlbmRlbmNpZXM6eyJ3ZWIzLWJ6eiI6IjEuMC4wLWJldGEuMzQiLCJ3ZWIzLWNvcmUiOiIxLjAuMC1iZXRhLjM0Iiwid2ViMy1ldGgiOiIxLjAuMC1iZXRhLjM0Iiwid2ViMy1ldGgtcGVyc29uYWwiOiIxLjAuMC1iZXRhLjM0Iiwid2ViMy1uZXQiOiIxLjAuMC1iZXRhLjM0Iiwid2ViMy1zaGgiOiIxLjAuMC1iZXRhLjM0Iiwid2ViMy11dGlscyI6IjEuMC4wLWJldGEuMzQifX19LHt9XSxCTjpbZnVuY3Rpb24odCxlLHIpe2FyZ3VtZW50c1s0XVsyNDBdWzBdLmFwcGx5KHIsYXJndW1lbnRzKX0se2J1ZmZlcjoxNyxkdXA6MjQwfV0sV2ViMzpbZnVuY3Rpb24odCxlLHIpe3ZhciBuPXQoIi4uL3BhY2thZ2UuanNvbiIpLnZlcnNpb24saT10KCJ3ZWIzLWNvcmUiKSxvPXQoIndlYjMtZXRoIiksYT10KCJ3ZWIzLW5ldCIpLHM9dCgid2ViMy1ldGgtcGVyc29uYWwiKSx1PXQoIndlYjMtc2hoIiksZj10KCJ3ZWIzLWJ6eiIpLGM9dCgid2ViMy11dGlscyIpLGg9ZnVuY3Rpb24oKXt2YXIgdD10aGlzO2kucGFja2FnZUluaXQodGhpcyxhcmd1bWVudHMpLHRoaXMudmVyc2lvbj1uLHRoaXMudXRpbHM9Yyx0aGlzLmV0aD1uZXcgbyh0aGlzKSx0aGlzLnNoaD1uZXcgdSh0aGlzKSx0aGlzLmJ6ej1uZXcgZih0aGlzKTt2YXIgZT10aGlzLnNldFByb3ZpZGVyO3RoaXMuc2V0UHJvdmlkZXI9ZnVuY3Rpb24ocixuKXtyZXR1cm4gZS5hcHBseSh0LGFyZ3VtZW50cyksdGhpcy5ldGguc2V0UHJvdmlkZXIocixuKSx0aGlzLnNoaC5zZXRQcm92aWRlcihyLG4pLHRoaXMuYnp6LnNldFByb3ZpZGVyKHIpLCEwfX07aC52ZXJzaW9uPW4saC51dGlscz1jLGgubW9kdWxlcz17RXRoOm8sTmV0OmEsUGVyc29uYWw6cyxTaGg6dSxCeno6Zn0saS5hZGRQcm92aWRlcnMoaCksZS5leHBvcnRzPWh9LHsiLi4vcGFja2FnZS5qc29uIjozOTYsIndlYjMtYnp6IjoxODcsIndlYjMtY29yZSI6MjA5LCJ3ZWIzLWV0aCI6MzcyLCJ3ZWIzLWV0aC1wZXJzb25hbCI6MzY5LCJ3ZWIzLW5ldCI6MzczLCJ3ZWIzLXNoaCI6MzgxLCJ3ZWIzLXV0aWxzIjozOTN9XX0se30sWyJXZWIzIl0pKCJXZWIzIil9KTs="}},"time_used":134,"timings":{"blocked":-1,"dns":73,"connect":9,"send":0,"wait":10,"receive":25,"ssl":17},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"unpkg.com/fortmatic@2.0.6/dist/fortmatic.js","fqdn":"unpkg.com","domain":"unpkg.com","tld":"com"},"ip":{"addr":"104.18.1.22","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://futurbcvndf.com/","date":"2026-07-27T06:23:00.108Z","timestamp":1785133380108,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"unpkg.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sat, 11 Jul 2026 17:56:32 GMT","end":"Fri, 09 Oct 2026 18:56:21 GMT"},"fingerprint":{"sha1":"81:08:7C:A2:AA:81:B4:77:02:EE:53:FB:23:6F:1D:97:C3:92:2E:A0","sha256":"13:42:07:B0:BF:53:83:27:C3:6E:69:00:B5:F0:1C:58:6C:AD:B4:DD:93:08:84:F0:97:51:3B:60:91:10:85:76"}}},"request":{"raw":"GET /fortmatic@2.0.6/dist/fortmatic.js HTTP/1.1\r\nHost: unpkg.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://futurbcvndf.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ndate: Mon, 27 Jul 2026 06:23:00 GMT\r\ncontent-type: text/javascript; charset=utf-8\r\ncf-ray: a2198d8a2ab08deb-OSL\r\ncf-cache-status: HIT\r\npriority: u=3,i=?0\r\naccess-control-allow-origin: *\r\nage: 3531957\r\ncache-control: public, max-age=31536000\r\nexpires: Tue, 27 Jul 2027 06:23:00 GMT\r\nlast-modified: Tue, 16 Jun 2026 09:17:03 GMT\r\nserver: cloudflare\r\nstrict-transport-security: max-age=31536000; includeSubDomains; preload\r\nvary: accept-encoding\r\nvia: 1.1 fly.io, 1.1 fly.io\r\naccess-control-allow-headers: *\r\naccess-control-allow-methods: GET, HEAD, OPTIONS\r\naccess-control-expose-headers: *\r\ncross-origin-resource-policy: cross-origin\r\nx-content-type-options: nosniff\r\ncontent-digest: sha256=:C4giwsOF/dT2S1qBXmYkOaq6FPea70pYE+EroSLdMXw=:\r\nfly-request-id: 01KTS8G82MV2F9P0JXM1PQB5YX-fra\r\ncontent-encoding: gzip\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"Fly.io","description":"Fly is a platform for running full stack apps and databases.","website":"https://fly.io","common_platform_enumeration":"","icon":"Fly.io.png","categories":["PaaS"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":35960,"size_decoded":8911,"mime_type":"text/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (35960), with no line terminators","md5":"56496a1b18bfee511bccc196538443c1","sha1":"f1a8881c0b7a0d35e2c981c1b42dfbe76e0d8ef2","sha256":"0b8822c2c385fdd4f64b5a815e662439aaba14f79aef4a5813e12ba122dd317c","sha512":"c6dbc3fafe3d2a45a3530dd176f82ae5a662f11b5efb8c65961fb1d44e97e897f6a09117d3170f13f4100cfce58e6721ca21dda69df9622fa40d3a3e61fa6578","ssdeep":"768:59Y8gCBf9euGcilK4aHtQpQR5VWVB4Qplo6g:5Z2ltB4gg","tlshash":"41f2e8c8be85f411836321b9803f540ae33e7d29781c4495e658dad1bc7994ea22bffd","first_seen":"2023-03-07T14:37:40Z","last_seen":"2026-07-27T06:23:39.737431Z","times_seen":217,"resource_available":true,"data":"d2luZG93LkZvcnRtYXRpYz1mdW5jdGlvbihlKXt2YXIgdD17fTtmdW5jdGlvbiByKG4pe2lmKHRbbl0pcmV0dXJuIHRbbl0uZXhwb3J0czt2YXIgbz10W25dPXtpOm4sbDohMSxleHBvcnRzOnt9fTtyZXR1cm4gZVtuXS5jYWxsKG8uZXhwb3J0cyxvLG8uZXhwb3J0cyxyKSxvLmw9ITAsby5leHBvcnRzfXJldHVybiByLm09ZSxyLmM9dCxyLmQ9ZnVuY3Rpb24oZSx0LG4pe3IubyhlLHQpfHxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0LHtlbnVtZXJhYmxlOiEwLGdldDpufSl9LHIucj1mdW5jdGlvbihlKXsidW5kZWZpbmVkIiE9dHlwZW9mIFN5bWJvbCYmU3ltYm9sLnRvU3RyaW5nVGFnJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxTeW1ib2wudG9TdHJpbmdUYWcse3ZhbHVlOiJNb2R1bGUifSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pfSxyLnQ9ZnVuY3Rpb24oZSx0KXtpZigxJnQmJihlPXIoZSkpLDgmdClyZXR1cm4gZTtpZig0JnQmJiJvYmplY3QiPT10eXBlb2YgZSYmZSYmZS5fX2VzTW9kdWxlKXJldHVybiBlO3ZhciBuPU9iamVjdC5jcmVhdGUobnVsbCk7aWYoci5yKG4pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJkZWZhdWx0Iix7ZW51bWVyYWJsZTohMCx2YWx1ZTplfSksMiZ0JiYic3RyaW5nIiE9dHlwZW9mIGUpZm9yKHZhciBvIGluIGUpci5kKG4sbyxmdW5jdGlvbih0KXtyZXR1cm4gZVt0XX0uYmluZChudWxsLG8pKTtyZXR1cm4gbn0sci5uPWZ1bmN0aW9uKGUpe3ZhciB0PWUmJmUuX19lc01vZHVsZT9mdW5jdGlvbigpe3JldHVybiBlLmRlZmF1bHR9OmZ1bmN0aW9uKCl7cmV0dXJuIGV9O3JldHVybiByLmQodCwiYSIsdCksdH0sci5vPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLHQpfSxyLnA9IiIscihyLnM9OCl9KFtmdW5jdGlvbihlLHQscil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIG4oZSl7Zm9yKHZhciByIGluIGUpdC5oYXNPd25Qcm9wZXJ0eShyKXx8KHRbcl09ZVtyXSl9T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLG4ocigxMykpLG4ocigxNykpfSxmdW5jdGlvbihlLHQscil7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj1yKDE4KTtmdW5jdGlvbiBvKGUpe3ZhciByLGk7cmV0dXJuIGUuanNvbnJwYz1lLmpzb25ycGN8fHQuSlNPTl9SUENfVkVSU0lPTixlLmlkPW4uZ2V0UGF5bG9hZElkKCksZS5iYXRjaHx8ImV0aF9iYXRjaFJlcXVlc3QiPT09ZS5tZXRob2Q/KGUubWV0aG9kPSJldGhfYmF0Y2hSZXF1ZXN0IixlLmJhdGNoPW51bGwhPShpPW51bGw9PT0ocj1lLmJhdGNoKXx8dm9pZCAwPT09cj92b2lkIDA6ci5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiBvKGUpfSkpKT9pOltdLGUpOihlLnBhcmFtcz1lLnBhcmFtc3x8W10sZSl9dC5KU09OX1JQQ19WRVJTSU9OPSIyLjAiLHQuY3JlYXRlSnNvblJwY1JlcXVlc3RQYXlsb2FkPWZ1bmN0aW9uKGUscil7dmFyIG89W3t9XTtyZXR1cm4gciYmKG89QXJyYXkuaXNBcnJheShyKT9yOlt7dG86ci50byx2YWx1ZTpyLmFtb3VudH1dKSx7cGFyYW1zOm8sbWV0aG9kOmUsanNvbnJwYzp0LkpTT05fUlBDX1ZFUlNJT04saWQ6bi5nZXRQYXlsb2FkSWQoKX19LHQuY3JlYXRlSnNvblJwY0JhdGNoUmVxdWVzdFBheWxvYWQ9ZnVuY3Rpb24oZSl7dm9pZCAwPT09ZSYmKGU9W10pO3ZhciByPUFycmF5LmlzQXJyYXkoZSk/ZTpbZV07cmV0dXJue21ldGhvZDoiZXRoX2JhdGNoUmVxdWVzdCIsanNvbnJwYzp0LkpTT05fUlBDX1ZFUlNJT04saWQ6bi5nZXRQYXlsb2FkSWQoKSxiYXRjaDpyLmZpbHRlcihCb29sZWFuKS5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiBvKGUpfSkpfX0sdC5zdGFuZGFyZGl6ZVJlcXVlc3RQYXlsb2FkPW99LGZ1bmN0aW9uKGUsdCxyKXsidXNlIHN0cmljdCI7dmFyIG4sbz10aGlzJiZ0aGlzLl9fZXh0ZW5kc3x8KG49ZnVuY3Rpb24oZSx0KXtyZXR1cm4obj1PYmplY3Quc2V0UHJvdG90eXBlT2Z8fHtfX3Byb3RvX186W119aW5zdGFuY2VvZiBBcnJheSYmZnVuY3Rpb24oZSx0KXtlLl9fcHJvdG9fXz10fXx8ZnVuY3Rpb24oZSx0KXtmb3IodmFyIHIgaW4gdCl0Lmhhc093blByb3BlcnR5KHIpJiYoZVtyXT10W3JdKX0pKGUsdCl9LGZ1bmN0aW9uKGUsdCl7ZnVuY3Rpb24gcigpe3RoaXMuY29uc3RydWN0b3I9ZX1uKGUsdCksZS5wcm90b3R5cGU9bnVsbD09PXQ/T2JqZWN0LmNyZWF0ZSh0KTooci5wcm90b3R5cGU9dC5wcm90b3R5cGUsbmV3IHIpfSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBpPXIoMCksYT1yKDQpLHM9ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdChyLG4pe3ZhciBvPWUuY2FsbCh0aGlzLCJGb3J0bWF0aWMgU0RLIEVycm9yOiBbIityKyJdICIrbil8fHRoaXM7cmV0dXJuIG8uY29kZT1yLG8uX19wcm90b19fPUVycm9yLE9iamVjdC5zZXRQcm90b3R5cGVPZihvLHQucHJvdG90eXBlKSxvfXJldHVybiBvKHQsZSksdH0oRXJyb3IpO3QuRm9ydG1hdGljRXJyb3I9czt2YXIgdT1mdW5jdGlvbigpe2Z1bmN0aW9uIGUoZSx0KXt0aGlzLmNvZGU9ZSx0aGlzLm1lc3NhZ2U9IkZvcnRtYXRpYyBTREsgV2FybmluZzogWyIrZSsiXSAiK3R9cmV0dXJuIGUucHJvdG90eXBlLmxvZz1mdW5jdGlvbigpe2NvbnNvbGUud2Fybih0aGlzLm1lc3NhZ2UpfSxlfSgpO3QuRm9ydG1hdGljV2FybmluZz11O3ZhciBjPWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQocil7dmFyIG4sbyxzPWUuY2FsbCh0aGlzKXx8dGhpcztzLl9fcHJvdG9fXz1FcnJvcjt2YXIgdT1OdW1iZXIobnVsbD09PShuPXIpfHx2b2lkIDA9PT1uP3ZvaWQgMDpuLmNvZGUpLGM9KG51bGw9PT0obz1yKXx8dm9pZCAwPT09bz92b2lkIDA6by5tZXNzYWdlKXx8IkludGVybmFsIGVycm9yIjtyZXR1cm4gcy5jb2RlPWEuaXNKc29uUnBjRXJyb3JDb2RlKHUpP3U6aS5SUENFcnJvckNvZGUuSW50ZXJuYWxFcnJvcixzLm1lc3NhZ2U9IkZvcnRtYXRpYyBSUEMgRXJyb3I6IFsiK3MuY29kZSsiXSAiK2MsT2JqZWN0LnNldFByb3RvdHlwZU9mKHMsdC5wcm90b3R5cGUpLHN9cmV0dXJuIG8odCxlKSx0fShFcnJvcik7dC5ScGNFcnJvcj1jLHQuY3JlYXRlTWlzc2luZ0FwaUtleUVycm9yPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBzKGkuU0RLRXJyb3JDb2RlLk1pc3NpbmdBcGlLZXksIlBsZWFzZSBwcm92aWRlIGEgRm9ydG1hdGljIEFQSSBrZXkgdGhhdCB5b3UgYWNxdWlyZWQgZnJvbSB0aGUgZGV2ZWxvcGVyIGRhc2hib2FyZC4iKX0sdC5jcmVhdGVNb2RhbE5vdFJlYWR5RXJyb3I9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IHMoaS5TREtFcnJvckNvZGUuTW9kYWxOb3RSZWFkeSwiTW9kYWwgaXMgbm90IHJlYWR5LiIpfSx0LmNyZWF0ZUludmFsaWRBcmd1bWVudEVycm9yPWZ1bmN0aW9uKGUpe3ZhciB0LHIsbixvO3JldHVybiBuZXcgcyhpLlNES0Vycm9yQ29kZS5JbnZhbGlkQXJndW1lbnQsIkludmFsaWQgIisodD1lLmFyZ0luZGV4LG89KHI9dCsxKSUxMDAsMT09PShuPXIlMTApJiYxMSE9PW8/cisic3QiOjI9PT1uJiYxMiE9PW8/cisibmQiOjM9PT1uJiYxMyE9PW8/cisicmQiOnIrInRoIikrIiBhcmd1bWVudCBnaXZlbiB0byBgIitlLmZ1bmN0aW9uTmFtZSsiYC5cbiAgRXhwZWN0ZWQ6IGAiK2UuZXhwZWN0ZWQrImBcbiAgUmVjZWl2ZWQ6IGAiK2UucmVjZWl2ZWQrImAiKX0sdC5jcmVhdGVTeW5jaHJvbm91c1dlYjNNZXRob2RXYXJuaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyB1KGkuU0RLV2FybmluZ0NvZGUuU3luY1dlYjNNZXRob2QsIk5vbi1hc3luYyB3ZWIzIG1ldGhvZHMgd2lsbCBiZSBkZXByZWNhdGVkIGluIHdlYjMgPiAxLjAgYW5kIGFyZSBub3Qgc3VwcG9ydGVkIGJ5IHRoZSBGb3J0bWF0aWMgcHJvdmlkZXIuIEFuIGFzeW5jIG1ldGhvZCBpcyB0byBiZSB1c2VkIGluc3RlYWQuIil9LHQuY3JlYXRlRHVwbGljYXRlSWZyYW1lV2FybmluZz1mdW5jdGlvbigpe3JldHVybiBuZXcgdShpLlNES1dhcm5pbmdDb2RlLkR1cGxpY2F0ZUlmcmFtZSwiRHVwbGljYXRlIGlmcmFtZXMgZm91bmQuIil9fSxmdW5jdGlvbihlLHQscil7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj1yKDEpO3QuZW1pdFdlYjNQYXlsb2FkPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gdm9pZCAwPT09ciYmKHI9W10pLG5ldyBQcm9taXNlKChmdW5jdGlvbihvLGkpe2Uuc2VuZEFzeW5jKG4uY3JlYXRlSnNvblJwY1JlcXVlc3RQYXlsb2FkKHQsciksKGZ1bmN0aW9uKGUsdCl7ZT9pKGUpOm8odC5yZXN1bHQpfSkpfSkpfSx0LmVtaXRGb3J0bWF0aWNQYXlsb2FkPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbihyLG4pe2Uuc2VuZEZvcnRtYXRpY0FzeW5jKHQsKGZ1bmN0aW9uKGUsdCl7ZT9uKGUpOnIodD90LnJlc3VsdDp7fSl9KSl9KSl9fSxmdW5jdGlvbihlLHQscil7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgbj1yKDApO2Z1bmN0aW9uIG8oZSl7cmV0dXJuISFlJiYhKCFlLmpzb25ycGN8fCFlLmlkfHwhZS5tZXRob2R8fCFlLmJhdGNofHxlLnBhcmFtcyl9ZnVuY3Rpb24gaShlKXtyZXR1cm4hIWUmJiEoIWUuanNvbnJwY3x8IWUuaWR8fCFlLm1ldGhvZHx8IWUucGFyYW1zfHxlLmJhdGNoKX10LmlzSnNvblJwY0JhdGNoUmVxdWVzdFBheWxvYWQ9byx0LmlzSnNvblJwY1JlcXVlc3RQYXlsb2FkPWksdC5pc0pzb25ScGNSZXNwb25zZVBheWxvYWQ9ZnVuY3Rpb24oZSl7cmV0dXJuISFlJiYhKCFlLmpzb25ycGN8fCFlLmlkfHwhZS5yZXN1bHQmJm51bGwhPT1lLnJlc3VsdCYmIWUuZXJyb3IpfSx0LmlzRm1SZXF1ZXN0PWZ1bmN0aW9uKGUpe3JldHVybiEoIWV8fCFlLnBheWxvYWQpJiZpKGUucGF5bG9hZCl9LHQuaXNGbUJhdGNoUmVxdWVzdD1mdW5jdGlvbihlKXtyZXR1cm4hKCFlfHwhZS5wYXlsb2FkKSYmbyhlLnBheWxvYWQpfSx0LmlzRm1QYXlsb2FkTWV0aG9kPWZ1bmN0aW9uKGUpe3JldHVybiEhZSYmKCJzdHJpbmciPT10eXBlb2YgZSYmT2JqZWN0LnZhbHVlcyhuLkZtUGF5bG9hZE1ldGhvZCkuaW5jbHVkZXMoZSkpfSx0LmlzSnNvblJwY0Vycm9yQ29kZT1mdW5jdGlvbihlKXtyZXR1cm4hIWUmJigibnVtYmVyIj09dHlwZW9mIGUmJk9iamVjdC52YWx1ZXMobi5SUENFcnJvckNvZGUpLmluY2x1ZGVzKGUpKX19LGZ1bmN0aW9uKGUsdCxyKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBuPWZ1bmN0aW9uKGUpe3RoaXMuc2RrPWV9O3QuQmFzZU1vZHVsZT1ufSxmdW5jdGlvbihlLHQscil7InVzZSBzdHJpY3QiO3ZhciBuPXRoaXMmJnRoaXMuX19hd2FpdGVyfHxmdW5jdGlvbihlLHQscixuKXtyZXR1cm4gbmV3KHJ8fChyPVByb21pc2UpKSgoZnVuY3Rpb24obyxpKXtmdW5jdGlvbiBhKGUpe3RyeXt1KG4ubmV4dChlKSl9Y2F0Y2goZSl7aShlKX19ZnVuY3Rpb24gcyhlKXt0cnl7dShuLnRocm93KGUpKX1jYXRjaChlKXtpKGUpfX1mdW5jdGlvbiB1KGUpe3ZhciB0O2UuZG9uZT9vKGUudmFsdWUpOih0PWUudmFsdWUsdCBpbnN0YW5jZW9mIHI/dDpuZXcgcigoZnVuY3Rpb24oZSl7ZSh0KX0pKSkudGhlbihhLHMpfXUoKG49bi5hcHBseShlLHR8fFtdKSkubmV4dCgpKX0pKX0sbz10aGlzJiZ0aGlzLl9fZ2VuZXJhdG9yfHxmdW5jdGlvbihlLHQpe3ZhciByLG4sbyxpLGE9e2xhYmVsOjAsc2VudDpmdW5jdGlvbigpe2lmKDEmb1swXSl0aHJvdyBvWzFdO3JldHVybiBvWzFdfSx0cnlzOltdLG9wczpbXX07cmV0dXJuIGk9e25leHQ6cygwKSx0aHJvdzpzKDEpLHJldHVybjpzKDIpfSwiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiYoaVtTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KSxpO2Z1bmN0aW9uIHMoaSl7cmV0dXJuIGZ1bmN0aW9uKHMpe3JldHVybiBmdW5jdGlvbihpKXtpZihyKXRocm93IG5ldyBUeXBlRXJyb3IoIkdlbmVyYXRvciBpcyBhbHJlYWR5IGV4ZWN1dGluZy4iKTtmb3IoO2E7KXRyeXtpZihyPTEsbiYmKG89MiZpWzBdP24ucmV0dXJuOmlbMF0/bi50aHJvd3x8KChvPW4ucmV0dXJuKSYmby5jYWxsKG4pLDApOm4ubmV4dCkmJiEobz1vLmNhbGwobixpWzFdKSkuZG9uZSlyZXR1cm4gbztzd2l0Y2gobj0wLG8mJihpPVsyJmlbMF0sby52YWx1ZV0pLGlbMF0pe2Nhc2UgMDpjYXNlIDE6bz1pO2JyZWFrO2Nhc2UgNDpyZXR1cm4gYS5sYWJlbCsrLHt2YWx1ZTppWzFdLGRvbmU6ITF9O2Nhc2UgNTphLmxhYmVsKyssbj1pWzFdLGk9WzBdO2NvbnRpbnVlO2Nhc2UgNzppPWEub3BzLnBvcCgpLGEudHJ5cy5wb3AoKTtjb250aW51ZTtkZWZhdWx0OmlmKCEobz0obz1hLnRyeXMpLmxlbmd0aD4wJiZvW28ubGVuZ3RoLTFdKSYmKDY9PT1pWzBdfHwyPT09aVswXSkpe2E9MDtjb250aW51ZX1pZigzPT09aVswXSYmKCFvfHxpWzFdPm9bMF0mJmlbMV08b1szXSkpe2EubGFiZWw9aVsxXTticmVha31pZig2PT09aVswXSYmYS5sYWJlbDxvWzFdKXthLmxhYmVsPW9bMV0sbz1pO2JyZWFrfWlmKG8mJmEubGFiZWw8b1syXSl7YS5sYWJlbD1vWzJdLGEub3BzLnB1c2goaSk7YnJlYWt9b1syXSYmYS5vcHMucG9wKCksYS50cnlzLnBvcCgpO2NvbnRpbnVlfWk9dC5jYWxsKGUsYSl9Y2F0Y2goZSl7aT1bNixlXSxuPTB9ZmluYWxseXtyPW89MH1pZig1JmlbMF0pdGhyb3cgaVsxXTtyZXR1cm57dmFsdWU6aVswXT9pWzFdOnZvaWQgMCxkb25lOiEwfX0oW2ksc10pfX19LGk9dGhpcyYmdGhpcy5fX3ZhbHVlc3x8ZnVuY3Rpb24oZSl7dmFyIHQ9ImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmU3ltYm9sLml0ZXJhdG9yLHI9dCYmZVt0XSxuPTA7aWYocilyZXR1cm4gci5jYWxsKGUpO2lmKGUmJiJudW1iZXIiPT10eXBlb2YgZS5sZW5ndGgpcmV0dXJue25leHQ6ZnVuY3Rpb24oKXtyZXR1cm4gZSYmbj49ZS5sZW5ndGgmJihlPXZvaWQgMCkse3ZhbHVlOmUmJmVbbisrXSxkb25lOiFlfX19O3Rocm93IG5ldyBUeXBlRXJyb3IodD8iT2JqZWN0IGlzIG5vdCBpdGVyYWJsZS4iOiJTeW1ib2wuaXRlcmF0b3IgaXMgbm90IGRlZmluZWQuIil9O09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgYT1yKDApLHM9cig0KSx1PXIoNyksYz1yKDIpO2Z1bmN0aW9uIGwoZSx0KXt2YXIgcixuLG8saSxhLGM7IWZ1bmN0aW9uKGUpe3ZhciB0LHIsbixvLGksYSxzPSEhZS5kYXRhLnJlc3BvbnNlLmVycm9yfHwhIWUuZGF0YS5yZXNwb25zZS5tZXNzYWdlfHwhIWUuZGF0YS5yZXNwb25zZS5jb2RlLHU9e21lc3NhZ2U6KHI9bnVsbD09PSh0PWUuZGF0YS5yZXNwb25zZS5lcnJvcil8fHZvaWQgMD09PXQ/dm9pZCAwOnQubWVzc2FnZSxuPW51bGwhPXI/cjplLmRhdGEucmVzcG9uc2UubWVzc2FnZSxudWxsIT1uP246IkZvcnRtYXRpYzogTW9kYWwgd2FzIGNsb3NlZCB3aXRob3V0IGV4ZWN1dGluZyBhY3Rpb24hIiksY29kZTooaT1udWxsPT09KG89ZS5kYXRhLnJlc3BvbnNlLmVycm9yKXx8dm9pZCAwPT09bz92b2lkIDA6by5jb2RlLGE9bnVsbCE9aT9pOmUuZGF0YS5yZXNwb25zZS5jb2RlLG51bGwhPWE/YToxKX07ZS5kYXRhLnJlc3BvbnNlLmVycm9yPXM/dTpudWxsfSh0KTt2YXIgbD1udWxsIT0obj1udWxsPT09KHI9dC5kYXRhLnJlc3BvbnNlKXx8dm9pZCAwPT09cj92b2lkIDA6ci5pZCk/bjp2b2lkIDA7cmV0dXJue3Jlc3BvbnNlOm5ldyB1Lkpzb25ScGNSZXNwb25zZShmdW5jdGlvbihlLHQpe3JldHVybiB0JiZzLmlzSnNvblJwY0JhdGNoUmVxdWVzdFBheWxvYWQoZSkmJmUuYmF0Y2guZmluZCgoZnVuY3Rpb24oZSl7cmV0dXJuIGUuaWQ9PT10fSkpfHxlfShlLGwpKS5hcHBseVJlc3VsdChudWxsPT09KG89dC5kYXRhLnJlc3BvbnNlKXx8dm9pZCAwPT09bz92b2lkIDA6by5yZXN1bHQpLmFwcGx5RXJyb3IobnVsbD09PShpPXQuZGF0YS5yZXNwb25zZSl8fHZvaWQgMD09PWk/dm9pZCAwOmkuZXJyb3IpLGlkOihjPW51bGw9PT0oYT10LmRhdGEucmVzcG9uc2UpfHx2b2lkIDA9PT1hP3ZvaWQgMDphLmlkLG51bGwhPWM/Yzp2b2lkIDApfX12YXIgZD1mdW5jdGlvbigpe2Z1bmN0aW9uIGUoZSx0KXt0aGlzLmVuZHBvaW50PWUsdGhpcy5lbmNvZGVkUXVlcnlQYXJhbXM9dCx0aGlzLm1lc3NhZ2VIYW5kbGVycz1uZXcgU2V0LHRoaXMuaW5pdE1lc3NhZ2VMaXN0ZW5lcigpfXJldHVybiBlLnByb3RvdHlwZS5wb3N0PWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gbih0aGlzLHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKCl7dmFyIG4saT10aGlzO3JldHVybiBvKHRoaXMsKGZ1bmN0aW9uKG8pe3N3aXRjaChvLmxhYmVsKXtjYXNlIDA6cmV0dXJuWzQsZS5pZnJhbWVdO2Nhc2UgMTpyZXR1cm4gbj1vLnNlbnQoKSxbMixuZXcgUHJvbWlzZSgoZnVuY3Rpb24oZSxvKXtpZihuLmNvbnRlbnRXaW5kb3cpe3ZhciBkPVtdLHA9cy5pc0pzb25ScGNCYXRjaFJlcXVlc3RQYXlsb2FkKHIpP3IuYmF0Y2gubWFwKChmdW5jdGlvbihlKXtyZXR1cm4gZS5pZH0pKTpbXTtuLmNvbnRlbnRXaW5kb3cucG9zdE1lc3NhZ2Uoe21zZ1R5cGU6dCsiLSIraS5lbmNvZGVkUXVlcnlQYXJhbXMscGF5bG9hZDpyfSwiKiIpO3ZhciBmPWkub24oYS5GbUluY29taW5nV2luZG93TWVzc2FnZS5GT1JUTUFUSUNfSEFORExFX1JFU1BPTlNFLChoPWZ1bmN0aW9uKCl7ZigpLHkoKX0sZnVuY3Rpb24odCl7dmFyIG49bChyLHQpLG89bi5pZCxpPW4ucmVzcG9uc2U7byYmcy5pc0pzb25ScGNCYXRjaFJlcXVlc3RQYXlsb2FkKHIpJiZwLmluY2x1ZGVzKG8pPyhkLnB1c2goaS5wYXlsb2FkKSxkLmxlbmd0aD09PXIuYmF0Y2gubGVuZ3RoJiYoaCgpLGUoZCkpKTpvJiZvPT09ci5pZCYmKGgoKSxlKGkucGF5bG9hZCkpfSkpLHk9aS5vbihhLkZtSW5jb21pbmdXaW5kb3dNZXNzYWdlLkZPUlRNQVRJQ19VU0VSX0RFTklFRCxmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24obil7dmFyIG89bChyLG4pLGk9by5pZCxhPW8ucmVzcG9uc2UsYz17bWVzc2FnZToiRm9ydG1hdGljOiBNb2RhbCB3YXMgY2xvc2VkIHdpdGhvdXQgZXhlY3V0aW5nIGFjdGlvbiEiLGNvZGU6MX0sZj1hLmhhc0Vycm9yP2EucGF5bG9hZDphLmFwcGx5RXJyb3IoYykucGF5bG9hZDtpZihpJiZzLmlzSnNvblJwY0JhdGNoUmVxdWVzdFBheWxvYWQocikmJnAuaW5jbHVkZXMoaSkpe2QucHVzaChmKTtmb3IodmFyIHk9ZC5sZW5ndGg7eTxyLmJhdGNoLmxlbmd0aDt5KyspZC5wdXNoKG5ldyB1Lkpzb25ScGNSZXNwb25zZShyLmJhdGNoW3ldKS5hcHBseUVycm9yKGMpLnBheWxvYWQpO3QoKSxlKGQpfWVsc2UgaSYmaT09PXIuaWQmJih0KCksZShmKSl9fSgoZnVuY3Rpb24oKXt5KCksZigpfSkpKX1lbHNlIG8oYy5jcmVhdGVNb2RhbE5vdFJlYWR5RXJyb3IoKSk7dmFyIGh9KSldfX0pKX0pKX0sZS5wcm90b3R5cGUub249ZnVuY3Rpb24oZSx0KXt2YXIgcj10aGlzLG49dC5iaW5kKHdpbmRvdyksbz1mdW5jdGlvbih0KXt0LmRhdGEubXNnVHlwZT09PWUrIi0iK3IuZW5jb2RlZFF1ZXJ5UGFyYW1zJiZuKHQpfTtyZXR1cm4gdGhpcy5tZXNzYWdlSGFuZGxlcnMuYWRkKG8pLGZ1bmN0aW9uKCl7cmV0dXJuIHIubWVzc2FnZUhhbmRsZXJzLmRlbGV0ZShvKX19LGUucHJvdG90eXBlLmluaXRNZXNzYWdlTGlzdGVuZXI9ZnVuY3Rpb24oKXt2YXIgZT10aGlzO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIiwoZnVuY3Rpb24odCl7dmFyIHIsbixvO2lmKHQub3JpZ2luPT09ZS5lbmRwb2ludCYmdC5kYXRhJiZ0LmRhdGEubXNnVHlwZSYmZS5tZXNzYWdlSGFuZGxlcnMuc2l6ZSl7dC5kYXRhLnJlc3BvbnNlPW51bGwhPShvPXQuZGF0YS5yZXNwb25zZSk/bzp7fTt0cnl7Zm9yKHZhciBhPWkoZS5tZXNzYWdlSGFuZGxlcnMudmFsdWVzKCkpLHM9YS5uZXh0KCk7IXMuZG9uZTtzPWEubmV4dCgpKXsoMCxzLnZhbHVlKSh0KX19Y2F0Y2goZSl7cj17ZXJyb3I6ZX19ZmluYWxseXt0cnl7cyYmIXMuZG9uZSYmKG49YS5yZXR1cm4pJiZuLmNhbGwoYSl9ZmluYWxseXtpZihyKXRocm93IHIuZXJyb3J9fX19KSl9LGV9KCk7dC5GbVBheWxvYWRUcmFuc3BvcnQ9ZH0sZnVuY3Rpb24oZSx0LHIpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIG49cig0KSxvPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZSh0KXt0IGluc3RhbmNlb2YgZT8odGhpcy5fanNvbnJwYz10LnBheWxvYWQuanNvbnJwYyx0aGlzLl9pZD10LnBheWxvYWQuaWQsdGhpcy5fcmVzdWx0PXQucGF5bG9hZC5yZXN1bHQsdGhpcy5fZXJyb3I9dC5wYXlsb2FkLmVycm9yKTpuLmlzSnNvblJwY1Jlc3BvbnNlUGF5bG9hZCh0KT8odGhpcy5fanNvbnJwYz10Lmpzb25ycGMsdGhpcy5faWQ9dC5pZCx0aGlzLl9yZXN1bHQ9dC5yZXN1bHQsdGhpcy5fZXJyb3I9dC5lcnJvcik6KHRoaXMuX2pzb25ycGM9dC5qc29ucnBjLHRoaXMuX2lkPXQuaWQsdGhpcy5fcmVzdWx0PW51bGwsdGhpcy5fZXJyb3I9bnVsbCl9cmV0dXJuIGUucHJvdG90eXBlLmFwcGx5RXJyb3I9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuX2Vycm9yPWUsdGhpc30sZS5wcm90b3R5cGUuYXBwbHlSZXN1bHQ9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuX3Jlc3VsdD1lLHRoaXN9LE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLnByb3RvdHlwZSwiaGFzRXJyb3IiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdm9pZCAwIT09dGhpcy5fZXJyb3ImJm51bGwhPT10aGlzLl9lcnJvcn0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZS5wcm90b3R5cGUsImhhc1Jlc3VsdCIse2dldDpmdW5jdGlvbigpe3JldHVybiB2b2lkIDAhPT10aGlzLl9yZXN1bHQmJm51bGwhPT10aGlzLl9yZXN1bHR9LGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLCJwYXlsb2FkIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJue2pzb25ycGM6dGhpcy5fanNvbnJwYyxpZDp0aGlzLl9pZCxyZXN1bHQ6dGhpcy5fcmVzdWx0LGVycm9yOnRoaXMuX2Vycm9yfX0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KSxlfSgpO3QuSnNvblJwY1Jlc3BvbnNlPW99LGZ1bmN0aW9uKGUsdCxyKXtlLmV4cG9ydHM9cig5KX0sZnVuY3Rpb24oZSx0LHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10aGlzJiZ0aGlzLl9fYXNzaWdufHxmdW5jdGlvbigpe3JldHVybihuPU9iamVjdC5hc3NpZ258fGZ1bmN0aW9uKGUpe2Zvcih2YXIgdCxyPTEsbj1hcmd1bWVudHMubGVuZ3RoO3I8bjtyKyspZm9yKHZhciBvIGluIHQ9YXJndW1lbnRzW3JdKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LG8pJiYoZVtvXT10W29dKTtyZXR1cm4gZX0pLmFwcGx5KHRoaXMsYXJndW1lbnRzKX07dmFyIG89dGhpcyYmdGhpcy5fX2ltcG9ydFN0YXJ8fGZ1bmN0aW9uKGUpe2lmKGUmJmUuX19lc01vZHVsZSlyZXR1cm4gZTt2YXIgdD17fTtpZihudWxsIT1lKWZvcih2YXIgciBpbiBlKU9iamVjdC5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUscikmJih0W3JdPWVbcl0pO3JldHVybiB0LmRlZmF1bHQ9ZSx0fTtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIGk9cigxMCk7dC5kZWZhdWx0PWkuRm9ydG1hdGljO3ZhciBhPXIoMik7dC5Gb3J0bWF0aWNFcnJvcj1hLkZvcnRtYXRpY0Vycm9yLHQuRm9ydG1hdGljV2FybmluZz1hLkZvcnRtYXRpY1dhcm5pbmcsdC5ScGNFcnJvcj1hLlJwY0Vycm9yO3ZhciBzPW8ocigwKSk7T2JqZWN0LmFzc2lnbihpLkZvcnRtYXRpYyxuKG4oe30scykse0ZvcnRtYXRpY0Vycm9yOmEuRm9ydG1hdGljRXJyb3IsRm9ydG1hdGljV2FybmluZzphLkZvcnRtYXRpY1dhcm5pbmcsUnBjRXJyb3I6YS5ScGNFcnJvcn0pKSxmdW5jdGlvbihlKXtmb3IodmFyIHIgaW4gZSl0Lmhhc093blByb3BlcnR5KHIpfHwodFtyXT1lW3JdKX0ocigwKSl9LGZ1bmN0aW9uKGUsdCxyKXsidXNlIHN0cmljdCI7dmFyIG4sbz10aGlzJiZ0aGlzLl9fZXh0ZW5kc3x8KG49ZnVuY3Rpb24oZSx0KXtyZXR1cm4obj1PYmplY3Quc2V0UHJvdG90eXBlT2Z8fHtfX3Byb3RvX186W119aW5zdGFuY2VvZiBBcnJheSYmZnVuY3Rpb24oZSx0KXtlLl9fcHJvdG9fXz10fXx8ZnVuY3Rpb24oZSx0KXtmb3IodmFyIHIgaW4gdCl0Lmhhc093blByb3BlcnR5KHIpJiYoZVtyXT10W3JdKX0pKGUsdCl9LGZ1bmN0aW9uKGUsdCl7ZnVuY3Rpb24gcigpe3RoaXMuY29uc3RydWN0b3I9ZX1uKGUsdCksZS5wcm90b3R5cGU9bnVsbD09PXQ/T2JqZWN0LmNyZWF0ZSh0KTooci5wcm90b3R5cGU9dC5wcm90b3R5cGUsbmV3IHIpfSksaT10aGlzJiZ0aGlzLl9fYXdhaXRlcnx8ZnVuY3Rpb24oZSx0LHIsbil7cmV0dXJuIG5ldyhyfHwocj1Qcm9taXNlKSkoKGZ1bmN0aW9uKG8saSl7ZnVuY3Rpb24gYShlKXt0cnl7dShuLm5leHQoZSkpfWNhdGNoKGUpe2koZSl9fWZ1bmN0aW9uIHMoZSl7dHJ5e3Uobi50aHJvdyhlKSl9Y2F0Y2goZSl7aShlKX19ZnVuY3Rpb24gdShlKXt2YXIgdDtlLmRvbmU/byhlLnZhbHVlKToodD1lLnZhbHVlLHQgaW5zdGFuY2VvZiByP3Q6bmV3IHIoKGZ1bmN0aW9uKGUpe2UodCl9KSkpLnRoZW4oYSxzKX11KChuPW4uYXBwbHkoZSx0fHxbXSkpLm5leHQoKSl9KSl9LGE9dGhpcyYmdGhpcy5fX2dlbmVyYXRvcnx8ZnVuY3Rpb24oZSx0KXt2YXIgcixuLG8saSxhPXtsYWJlbDowLHNlbnQ6ZnVuY3Rpb24oKXtpZigxJm9bMF0pdGhyb3cgb1sxXTtyZXR1cm4gb1sxXX0sdHJ5czpbXSxvcHM6W119O3JldHVybiBpPXtuZXh0OnMoMCksdGhyb3c6cygxKSxyZXR1cm46cygyKX0sImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmKGlbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSksaTtmdW5jdGlvbiBzKGkpe3JldHVybiBmdW5jdGlvbihzKXtyZXR1cm4gZnVuY3Rpb24oaSl7aWYocil0aHJvdyBuZXcgVHlwZUVycm9yKCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuIik7Zm9yKDthOyl0cnl7aWYocj0xLG4mJihvPTImaVswXT9uLnJldHVybjppWzBdP24udGhyb3d8fCgobz1uLnJldHVybikmJm8uY2FsbChuKSwwKTpuLm5leHQpJiYhKG89by5jYWxsKG4saVsxXSkpLmRvbmUpcmV0dXJuIG87c3dpdGNoKG49MCxvJiYoaT1bMiZpWzBdLG8udmFsdWVdKSxpWzBdKXtjYXNlIDA6Y2FzZSAxOm89aTticmVhaztjYXNlIDQ6cmV0dXJuIGEubGFiZWwrKyx7dmFsdWU6aVsxXSxkb25lOiExfTtjYXNlIDU6YS5sYWJlbCsrLG49aVsxXSxpPVswXTtjb250aW51ZTtjYXNlIDc6aT1hLm9wcy5wb3AoKSxhLnRyeXMucG9wKCk7Y29udGludWU7ZGVmYXVsdDppZighKG89KG89YS50cnlzKS5sZW5ndGg+MCYmb1tvLmxlbmd0aC0xXSkmJig2PT09aVswXXx8Mj09PWlbMF0pKXthPTA7Y29udGludWV9aWYoMz09PWlbMF0mJighb3x8aVsxXT5vWzBdJiZpWzFdPG9bM10pKXthLmxhYmVsPWlbMV07YnJlYWt9aWYoNj09PWlbMF0mJmEubGFiZWw8b1sxXSl7YS5sYWJlbD1vWzFdLG89aTticmVha31pZihvJiZhLmxhYmVsPG9bMl0pe2EubGFiZWw9b1syXSxhLm9wcy5wdXNoKGkpO2JyZWFrfW9bMl0mJmEub3BzLnBvcCgpLGEudHJ5cy5wb3AoKTtjb250aW51ZX1pPXQuY2FsbChlLGEpfWNhdGNoKGUpe2k9WzYsZV0sbj0wfWZpbmFsbHl7cj1vPTB9aWYoNSZpWzBdKXRocm93IGlbMV07cmV0dXJue3ZhbHVlOmlbMF0/aVsxXTp2b2lkIDAsZG9uZTohMH19KFtpLHNdKX19fTtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIHM9cigxMSksdT1yKDEyKSxjPXIoMTkpLGw9cigyMCksZD1yKDApLHA9cigzKSxmPXIoMSkseT1yKDIxKSxoPXIoMjMpLF89cigyNCksbT1yKDIpLHY9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKGUpe2lmKCFlLmFwaUtleSl0aHJvdyBtLmNyZWF0ZU1pc3NpbmdBcGlLZXlFcnJvcigpO3RoaXMuYXBpS2V5PWUuYXBpS2V5LHRoaXMuZW5kcG9pbnQ9bmV3IFVSTChlLmVuZHBvaW50KS5vcmlnaW4sdGhpcy5lbmNvZGVkUXVlcnlQYXJhbXM9aC5lbmNvZGVRdWVyeVBhcmFtZXRlcnMoe0FQSV9LRVk6dGhpcy5hcGlLZXksRE9NQUlOX09SSUdJTjp3aW5kb3cubG9jYXRpb24/d2luZG93LmxvY2F0aW9uLm9yaWdpbjoiIixFVEhfTkVUV09SSzplLmV0aE5ldHdvcmssaG9zdDpuZXcgVVJMKHRoaXMuZW5kcG9pbnQpLmhvc3Qsc2RrOl8ubmFtZSx2ZXJzaW9uOl8udmVyc2lvbn0pfXJldHVybiBlLnByb3RvdHlwZS5nZXRQcm92aWRlcj1mdW5jdGlvbigpe3JldHVybiBlLl9fcHJvdmlkZXJfXy5oYXModGhpcy5lbmNvZGVkUXVlcnlQYXJhbXMpfHxlLl9fcHJvdmlkZXJfXy5zZXQodGhpcy5lbmNvZGVkUXVlcnlQYXJhbXMsbmV3IHkuRm1Qcm92aWRlcih0aGlzLmVuZHBvaW50LHRoaXMuYXBpS2V5LHRoaXMuZW5jb2RlZFF1ZXJ5UGFyYW1zKSksZS5fX3Byb3ZpZGVyX18uZ2V0KHRoaXMuZW5jb2RlZFF1ZXJ5UGFyYW1zKX0sZS5fX3Byb3ZpZGVyX189bmV3IE1hcCxlfSgpO3QuU0RLPXY7dmFyIGc9ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdCh0LHIpe3ZhciBuPWUuY2FsbCh0aGlzLHthcGlLZXk6dCxldGhOZXR3b3JrOnIsZW5kcG9pbnQ6cy5QSEFOVE9NX1VSTH0pfHx0aGlzO3JldHVybiBuLnVzZXI9bmV3IHUuUGhhbnRvbVVzZXIobiksbn1yZXR1cm4gbyh0LGUpLHQucHJvdG90eXBlLmxvZ2luV2l0aE1hZ2ljTGluaz1mdW5jdGlvbihlKXtyZXR1cm4gaSh0aGlzLHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKCl7dmFyIHQscixuLG87cmV0dXJuIGEodGhpcywoZnVuY3Rpb24oaSl7c3dpdGNoKGkubGFiZWwpe2Nhc2UgMDpyZXR1cm4gdD1lLmVtYWlsLHI9ZS5zaG93VUksbj12b2lkIDA9PT1yfHxyLG89Zi5jcmVhdGVKc29uUnBjUmVxdWVzdFBheWxvYWQoZC5GbVBheWxvYWRNZXRob2QuZm1fYXV0aF9sb2dpbl93aXRoX21hZ2ljX2xpbmssW3tlbWFpbDp0LHNob3dVSTpufV0pLFs0LHAuZW1pdEZvcnRtYXRpY1BheWxvYWQodGhpcy5nZXRQcm92aWRlcigpLG8pXTtjYXNlIDE6cmV0dXJuIGkuc2VudCgpLFsyLHRoaXMudXNlcl19fSkpfSkpfSx0fSh2KTt0LlBoYW50b21Nb2RlPWc7dmFyIGI9ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdCh0LHIpe3ZhciBuPWUuY2FsbCh0aGlzLHthcGlLZXk6dCxldGhOZXR3b3JrOnIsZW5kcG9pbnQ6cy5XSURHRVRfVVJMfSl8fHRoaXM7cmV0dXJuIG4udHJhbnNhY3Rpb25zPW5ldyBjLlRyYW5zYWN0aW9uc01vZHVsZShuKSxuLnVzZXI9bmV3IGwuVXNlck1vZHVsZShuKSxufXJldHVybiBvKHQsZSksdC5wcm90b3R5cGUuY29uZmlndXJlPWZ1bmN0aW9uKGUpe3ZvaWQgMD09PWUmJihlPXt9KTt2YXIgdD1mLmNyZWF0ZUpzb25ScGNSZXF1ZXN0UGF5bG9hZChkLkZtUGF5bG9hZE1ldGhvZC5mbV9jb25maWd1cmUsW2VdKTtyZXR1cm4gcC5lbWl0Rm9ydG1hdGljUGF5bG9hZCh0aGlzLmdldFByb3ZpZGVyKCksdCl9LHQuUGhhbnRvbT1nLHR9KHYpO3QuV2lkZ2V0TW9kZT1iLHQuRm9ydG1hdGljPWJ9LGZ1bmN0aW9uKGUsdCxyKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuV0lER0VUX1VSTD0iaHR0cHM6Ly94Mi5mb3J0bWF0aWMuY29tIix0LlBIQU5UT01fVVJMPSJodHRwczovL2F1dGguZm9ydG1hdGljLmNvbSJ9LGZ1bmN0aW9uKGUsdCxyKXsidXNlIHN0cmljdCI7dmFyIG4sbz10aGlzJiZ0aGlzLl9fZXh0ZW5kc3x8KG49ZnVuY3Rpb24oZSx0KXtyZXR1cm4obj1PYmplY3Quc2V0UHJvdG90eXBlT2Z8fHtfX3Byb3RvX186W119aW5zdGFuY2VvZiBBcnJheSYmZnVuY3Rpb24oZSx0KXtlLl9fcHJvdG9fXz10fXx8ZnVuY3Rpb24oZSx0KXtmb3IodmFyIHIgaW4gdCl0Lmhhc093blByb3BlcnR5KHIpJiYoZVtyXT10W3JdKX0pKGUsdCl9LGZ1bmN0aW9uKGUsdCl7ZnVuY3Rpb24gcigpe3RoaXMuY29uc3RydWN0b3I9ZX1uKGUsdCksZS5wcm90b3R5cGU9bnVsbD09PXQ/T2JqZWN0LmNyZWF0ZSh0KTooci5wcm90b3R5cGU9dC5wcm90b3R5cGUsbmV3IHIpfSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBpPXIoMCksYT1yKDMpLHM9cigxKSx1PWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQoKXtyZXR1cm4gbnVsbCE9PWUmJmUuYXBwbHkodGhpcyxhcmd1bWVudHMpfHx0aGlzfXJldHVybiBvKHQsZSksdC5wcm90b3R5cGUuZ2V0SWRUb2tlbj1mdW5jdGlvbihlKXt2YXIgdD1zLmNyZWF0ZUpzb25ScGNSZXF1ZXN0UGF5bG9hZChpLkZtUGF5bG9hZE1ldGhvZC5mbV9hdXRoX2dldF9hY2Nlc3NfdG9rZW4sW2VdKTtyZXR1cm4gYS5lbWl0Rm9ydG1hdGljUGF5bG9hZCh0aGlzLnNkay5nZXRQcm92aWRlcigpLHQpfSx0LnByb3RvdHlwZS5nZXRNZXRhZGF0YT1mdW5jdGlvbigpe3ZhciBlPXMuY3JlYXRlSnNvblJwY1JlcXVlc3RQYXlsb2FkKGkuRm1QYXlsb2FkTWV0aG9kLmZtX2F1dGhfZ2V0X21ldGFkYXRhKTtyZXR1cm4gYS5lbWl0Rm9ydG1hdGljUGF5bG9hZCh0aGlzLnNkay5nZXRQcm92aWRlcigpLGUpfSx0LnByb3RvdHlwZS5pc0xvZ2dlZEluPWZ1bmN0aW9uKCl7dmFyIGU9cy5jcmVhdGVKc29uUnBjUmVxdWVzdFBheWxvYWQoaS5GbVBheWxvYWRNZXRob2QuZm1faXNfbG9nZ2VkX2luKTtyZXR1cm4gYS5lbWl0Rm9ydG1hdGljUGF5bG9hZCh0aGlzLnNkay5nZXRQcm92aWRlcigpLGUpfSx0LnByb3RvdHlwZS5sb2dvdXQ9ZnVuY3Rpb24oKXt2YXIgZT1zLmNyZWF0ZUpzb25ScGNSZXF1ZXN0UGF5bG9hZChpLkZtUGF5bG9hZE1ldGhvZC5mbV9hdXRoX2xvZ291dCk7cmV0dXJuIGEuZW1pdEZvcnRtYXRpY1BheWxvYWQodGhpcy5zZGsuZ2V0UHJvdmlkZXIoKSxlKX0sdH0ocig1KS5CYXNlTW9kdWxlKTt0LlBoYW50b21Vc2VyPXV9LGZ1bmN0aW9uKGUsdCxyKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbihlKXtmb3IodmFyIHIgaW4gZSl0Lmhhc093blByb3BlcnR5KHIpfHwodFtyXT1lW3JdKX1PYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksbihyKDE0KSksbihyKDE1KSksbihyKDE2KSl9LGZ1bmN0aW9uKGUsdCxyKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGZ1bmN0aW9uKGUpe2UuZm1fY29tcG9zZVNlbmQ9ImZtX2NvbXBvc2VTZW5kIixlLmZtX2xvZ291dD0iZm1fbG9nb3V0IixlLmZtX2dldF9iYWxhbmNlcz0iZm1fZ2V0X2JhbGFuY2VzIixlLmZtX2dldF90cmFuc2FjdGlvbnM9ImZtX2dldF90cmFuc2FjdGlvbnMiLGUuZm1faXNfbG9nZ2VkX2luPSJmbV9pc19sb2dnZWRfaW4iLGUuZm1fYWNjb3VudFNldHRpbmdzPSJmbV9hY2NvdW50U2V0dGluZ3MiLGUuZm1fZGVwb3NpdD0iZm1fZGVwb3NpdCIsZS5mbV9nZXRfdXNlcj0iZm1fZ2V0X3VzZXIiLGUuZm1fY29uZmlndXJlPSJmbV9jb25maWd1cmUiLGUuZm1fYXV0aF9sb2dpbl93aXRoX21hZ2ljX2xpbms9ImZtX2F1dGhfbG9naW5fd2l0aF9tYWdpY19saW5rIixlLmZtX2F1dGhfZ2V0X2FjY2Vzc190b2tlbj0iZm1fYXV0aF9nZXRfYWNjZXNzX3Rva2VuIixlLmZtX2F1dGhfZ2V0X21ldGFkYXRhPSJmbV9hdXRoX2dldF9tZXRhZGF0YSIsZS5mbV9hdXRoX2xvZ291dD0iZm1fYXV0aF9sb2dvdXQifSh0LkZtUGF5bG9hZE1ldGhvZHx8KHQuRm1QYXlsb2FkTWV0aG9kPXt9KSl9LGZ1bmN0aW9uKGUsdCxyKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGZ1bmN0aW9uKGUpe2UuRk9SVE1BVElDX0hBTkRMRV9SRVNQT05TRT0iRk9SVE1BVElDX0hBTkRMRV9SRVNQT05TRSIsZS5GT1JUTUFUSUNfT1ZFUkxBWV9SRUFEWT0iRk9SVE1BVElDX09WRVJMQVlfUkVBRFkiLGUuRk9SVE1BVElDX1NIT1dfT1ZFUkxBWT0iRk9SVE1BVElDX1NIT1dfT1ZFUkxBWSIsZS5GT1JUTUFUSUNfSElERV9PVkVSTEFZPSJGT1JUTUFUSUNfSElERV9PVkVSTEFZIixlLkZPUlRNQVRJQ19VU0VSX0RFTklFRD0iRk9SVE1BVElDX1VTRVJfREVOSUVEIixlLkZPUlRNQVRJQ19VU0VSX0xPR09VVD0iRk9SVE1BVElDX1VTRVJfTE9HT1VUIn0odC5GbUluY29taW5nV2luZG93TWVzc2FnZXx8KHQuRm1JbmNvbWluZ1dpbmRvd01lc3NhZ2U9e30pKSxmdW5jdGlvbihlKXtlLkZPUlRNQVRJQ19IQU5ETEVfQkFUQ0hfUkVRVUVTVD0iRk9SVE1BVElDX0hBTkRMRV9CQVRDSF9SRVFVRVNUIixlLkZPUlRNQVRJQ19IQU5ETEVfUkVRVUVTVD0iRk9SVE1BVElDX0hBTkRMRV9SRVFVRVNUIixlLkZPUlRNQVRJQ19IQU5ETEVfRk9SVE1BVElDX1JFUVVFU1Q9IkZPUlRNQVRJQ19IQU5ETEVfRk9SVE1BVElDX1JFUVVFU1QifSh0LkZtT3V0Z29pbmdXaW5kb3dNZXNzYWdlfHwodC5GbU91dGdvaW5nV2luZG93TWVzc2FnZT17fSkpfSxmdW5jdGlvbihlLHQscil7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxmdW5jdGlvbihlKXtlLk1pc3NpbmdBcGlLZXk9Ik1JU1NJTkdfQVBJX0tFWSIsZS5Nb2RhbE5vdFJlYWR5PSJNT0RBTF9OT1RfUkVBRFkiLGUuSW52YWxpZEFyZ3VtZW50PSJJTlZBTElEX0FSR1VNRU5UIn0odC5TREtFcnJvckNvZGV8fCh0LlNES0Vycm9yQ29kZT17fSkpLGZ1bmN0aW9uKGUpe2UuU3luY1dlYjNNZXRob2Q9IlNZTkNfV0VCM19NRVRIT0QiLGUuRHVwbGljYXRlSWZyYW1lPSJEVVBMSUNBVEVfSUZSQU1FIn0odC5TREtXYXJuaW5nQ29kZXx8KHQuU0RLV2FybmluZ0NvZGU9e30pKSxmdW5jdGlvbihlKXtlW2UuUGFyc2VFcnJvcj0tMzI3MDBdPSJQYXJzZUVycm9yIixlW2UuSW52YWxpZFJlcXVlc3Q9LTMyNjAwXT0iSW52YWxpZFJlcXVlc3QiLGVbZS5NZXRob2ROb3RGb3VuZD0tMzI2MDFdPSJNZXRob2ROb3RGb3VuZCIsZVtlLkludmFsaWRQYXJhbXM9LTMyNjAyXT0iSW52YWxpZFBhcmFtcyIsZVtlLkludGVybmFsRXJyb3I9LTMyNjAzXT0iSW50ZXJuYWxFcnJvciIsZVtlLk1hZ2ljTGlua0ZhaWxlZFZlcmlmaWNhdGlvbj0tMWU0XT0iTWFnaWNMaW5rRmFpbGVkVmVyaWZpY2F0aW9uIixlW2UuTWFnaWNMaW5rRXhwaXJlZD0tMTAwMDFdPSJNYWdpY0xpbmtFeHBpcmVkIixlW2UuTWFnaWNMaW5rUmF0ZUxpbWl0ZWQ9LTEwMDAyXT0iTWFnaWNMaW5rUmF0ZUxpbWl0ZWQiLGVbZS5Vc2VyQWxyZWFkeUxvZ2dlZEluPS0xMDAwM109IlVzZXJBbHJlYWR5TG9nZ2VkSW4ifSh0LlJQQ0Vycm9yQ29kZXx8KHQuUlBDRXJyb3JDb2RlPXt9KSl9LGZ1bmN0aW9uKGUsdCxyKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGZ1bmN0aW9uKGUpe2UuTG9naW5XaXRoRW1haWw9ImVtYWlsIixlLkxvZ2luV2l0aFBob25lPSJwaG9uZSJ9KHQuV2lkZ2V0TW9kZVByaW1hcnlMb2dpbk9wdGlvbnx8KHQuV2lkZ2V0TW9kZVByaW1hcnlMb2dpbk9wdGlvbj17fSkpfSxmdW5jdGlvbihlLHQscil7InVzZSBzdHJpY3QiO3ZhciBuPXRoaXMmJnRoaXMuX19nZW5lcmF0b3J8fGZ1bmN0aW9uKGUsdCl7dmFyIHIsbixvLGksYT17bGFiZWw6MCxzZW50OmZ1bmN0aW9uKCl7aWYoMSZvWzBdKXRocm93IG9bMV07cmV0dXJuIG9bMV19LHRyeXM6W10sb3BzOltdfTtyZXR1cm4gaT17bmV4dDpzKDApLHRocm93OnMoMSkscmV0dXJuOnMoMil9LCJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJihpW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30pLGk7ZnVuY3Rpb24gcyhpKXtyZXR1cm4gZnVuY3Rpb24ocyl7cmV0dXJuIGZ1bmN0aW9uKGkpe2lmKHIpdGhyb3cgbmV3IFR5cGVFcnJvcigiR2VuZXJhdG9yIGlzIGFscmVhZHkgZXhlY3V0aW5nLiIpO2Zvcig7YTspdHJ5e2lmKHI9MSxuJiYobz0yJmlbMF0/bi5yZXR1cm46aVswXT9uLnRocm93fHwoKG89bi5yZXR1cm4pJiZvLmNhbGwobiksMCk6bi5uZXh0KSYmIShvPW8uY2FsbChuLGlbMV0pKS5kb25lKXJldHVybiBvO3N3aXRjaChuPTAsbyYmKGk9WzImaVswXSxvLnZhbHVlXSksaVswXSl7Y2FzZSAwOmNhc2UgMTpvPWk7YnJlYWs7Y2FzZSA0OnJldHVybiBhLmxhYmVsKysse3ZhbHVlOmlbMV0sZG9uZTohMX07Y2FzZSA1OmEubGFiZWwrKyxuPWlbMV0saT1bMF07Y29udGludWU7Y2FzZSA3Omk9YS5vcHMucG9wKCksYS50cnlzLnBvcCgpO2NvbnRpbnVlO2RlZmF1bHQ6aWYoIShvPShvPWEudHJ5cykubGVuZ3RoPjAmJm9bby5sZW5ndGgtMV0pJiYoNj09PWlbMF18fDI9PT1pWzBdKSl7YT0wO2NvbnRpbnVlfWlmKDM9PT1pWzBdJiYoIW98fGlbMV0+b1swXSYmaVsxXTxvWzNdKSl7YS5sYWJlbD1pWzFdO2JyZWFrfWlmKDY9PT1pWzBdJiZhLmxhYmVsPG9bMV0pe2EubGFiZWw9b1sxXSxvPWk7YnJlYWt9aWYobyYmYS5sYWJlbDxvWzJdKXthLmxhYmVsPW9bMl0sYS5vcHMucHVzaChpKTticmVha31vWzJdJiZhLm9wcy5wb3AoKSxhLnRyeXMucG9wKCk7Y29udGludWV9aT10LmNhbGwoZSxhKX1jYXRjaChlKXtpPVs2LGVdLG49MH1maW5hbGx5e3I9bz0wfWlmKDUmaVswXSl0aHJvdyBpWzFdO3JldHVybnt2YWx1ZTppWzBdP2lbMV06dm9pZCAwLGRvbmU6ITB9fShbaSxzXSl9fX07T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBvPWZ1bmN0aW9uKCl7dmFyIGU7cmV0dXJuIG4odGhpcywoZnVuY3Rpb24odCl7c3dpdGNoKHQubGFiZWwpe2Nhc2UgMDplPTAsdC5sYWJlbD0xO2Nhc2UgMTpyZXR1cm4gZTxOdW1iZXIuTUFYX1NBRkVfSU5URUdFUj9bNCwrK2VdOlszLDNdO2Nhc2UgMjpyZXR1cm4gdC5zZW50KCksWzMsNF07Y2FzZSAzOmU9MCx0LmxhYmVsPTQ7Y2FzZSA0OnJldHVyblszLDFdO2Nhc2UgNTpyZXR1cm5bMl19fSkpfSgpO3QuZ2V0UGF5bG9hZElkPWZ1bmN0aW9uKCl7cmV0dXJuIG8ubmV4dCgpLnZhbHVlfX0sZnVuY3Rpb24oZSx0LHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbixvPXRoaXMmJnRoaXMuX19leHRlbmRzfHwobj1mdW5jdGlvbihlLHQpe3JldHVybihuPU9iamVjdC5zZXRQcm90b3R5cGVPZnx8e19fcHJvdG9fXzpbXX1pbnN0YW5jZW9mIEFycmF5JiZmdW5jdGlvbihlLHQpe2UuX19wcm90b19fPXR9fHxmdW5jdGlvbihlLHQpe2Zvcih2YXIgciBpbiB0KXQuaGFzT3duUHJvcGVydHkocikmJihlW3JdPXRbcl0pfSkoZSx0KX0sZnVuY3Rpb24oZSx0KXtmdW5jdGlvbiByKCl7dGhpcy5jb25zdHJ1Y3Rvcj1lfW4oZSx0KSxlLnByb3RvdHlwZT1udWxsPT09dD9PYmplY3QuY3JlYXRlKHQpOihyLnByb3RvdHlwZT10LnByb3RvdHlwZSxuZXcgcil9KTtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIGk9cigwKSxhPXIoMSkscz1mdW5jdGlvbihlKXtmdW5jdGlvbiB0KCl7cmV0dXJuIG51bGwhPT1lJiZlLmFwcGx5KHRoaXMsYXJndW1lbnRzKXx8dGhpc31yZXR1cm4gbyh0LGUpLHQucHJvdG90eXBlLnNlbmQ9ZnVuY3Rpb24oZSx0KXt2YXIgcj1hLmNyZWF0ZUpzb25ScGNSZXF1ZXN0UGF5bG9hZChpLkZtUGF5bG9hZE1ldGhvZC5mbV9jb21wb3NlU2VuZCxlKTt0aGlzLnNkay5nZXRQcm92aWRlcigpLnNlbmRGb3J0bWF0aWNBc3luYyhyLHQpfSx0fShyKDUpLkJhc2VNb2R1bGUpO3QuVHJhbnNhY3Rpb25zTW9kdWxlPXN9LGZ1bmN0aW9uKGUsdCxyKXsidXNlIHN0cmljdCI7dmFyIG4sbz10aGlzJiZ0aGlzLl9fZXh0ZW5kc3x8KG49ZnVuY3Rpb24oZSx0KXtyZXR1cm4obj1PYmplY3Quc2V0UHJvdG90eXBlT2Z8fHtfX3Byb3RvX186W119aW5zdGFuY2VvZiBBcnJheSYmZnVuY3Rpb24oZSx0KXtlLl9fcHJvdG9fXz10fXx8ZnVuY3Rpb24oZSx0KXtmb3IodmFyIHIgaW4gdCl0Lmhhc093blByb3BlcnR5KHIpJiYoZVtyXT10W3JdKX0pKGUsdCl9LGZ1bmN0aW9uKGUsdCl7ZnVuY3Rpb24gcigpe3RoaXMuY29uc3RydWN0b3I9ZX1uKGUsdCksZS5wcm90b3R5cGU9bnVsbD09PXQ/T2JqZWN0LmNyZWF0ZSh0KTooci5wcm90b3R5cGU9dC5wcm90b3R5cGUsbmV3IHIpfSksaT10aGlzJiZ0aGlzLl9fYXdhaXRlcnx8ZnVuY3Rpb24oZSx0LHIsbil7cmV0dXJuIG5ldyhyfHwocj1Qcm9taXNlKSkoKGZ1bmN0aW9uKG8saSl7ZnVuY3Rpb24gYShlKXt0cnl7dShuLm5leHQoZSkpfWNhdGNoKGUpe2koZSl9fWZ1bmN0aW9uIHMoZSl7dHJ5e3Uobi50aHJvdyhlKSl9Y2F0Y2goZSl7aShlKX19ZnVuY3Rpb24gdShlKXt2YXIgdDtlLmRvbmU/byhlLnZhbHVlKToodD1lLnZhbHVlLHQgaW5zdGFuY2VvZiByP3Q6bmV3IHIoKGZ1bmN0aW9uKGUpe2UodCl9KSkpLnRoZW4oYSxzKX11KChuPW4uYXBwbHkoZSx0fHxbXSkpLm5leHQoKSl9KSl9LGE9dGhpcyYmdGhpcy5fX2dlbmVyYXRvcnx8ZnVuY3Rpb24oZSx0KXt2YXIgcixuLG8saSxhPXtsYWJlbDowLHNlbnQ6ZnVuY3Rpb24oKXtpZigxJm9bMF0pdGhyb3cgb1sxXTtyZXR1cm4gb1sxXX0sdHJ5czpbXSxvcHM6W119O3JldHVybiBpPXtuZXh0OnMoMCksdGhyb3c6cygxKSxyZXR1cm46cygyKX0sImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmKGlbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSksaTtmdW5jdGlvbiBzKGkpe3JldHVybiBmdW5jdGlvbihzKXtyZXR1cm4gZnVuY3Rpb24oaSl7aWYocil0aHJvdyBuZXcgVHlwZUVycm9yKCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuIik7Zm9yKDthOyl0cnl7aWYocj0xLG4mJihvPTImaVswXT9uLnJldHVybjppWzBdP24udGhyb3d8fCgobz1uLnJldHVybikmJm8uY2FsbChuKSwwKTpuLm5leHQpJiYhKG89by5jYWxsKG4saVsxXSkpLmRvbmUpcmV0dXJuIG87c3dpdGNoKG49MCxvJiYoaT1bMiZpWzBdLG8udmFsdWVdKSxpWzBdKXtjYXNlIDA6Y2FzZSAxOm89aTticmVhaztjYXNlIDQ6cmV0dXJuIGEubGFiZWwrKyx7dmFsdWU6aVsxXSxkb25lOiExfTtjYXNlIDU6YS5sYWJlbCsrLG49aVsxXSxpPVswXTtjb250aW51ZTtjYXNlIDc6aT1hLm9wcy5wb3AoKSxhLnRyeXMucG9wKCk7Y29udGludWU7ZGVmYXVsdDppZighKG89KG89YS50cnlzKS5sZW5ndGg+MCYmb1tvLmxlbmd0aC0xXSkmJig2PT09aVswXXx8Mj09PWlbMF0pKXthPTA7Y29udGludWV9aWYoMz09PWlbMF0mJighb3x8aVsxXT5vWzBdJiZpWzFdPG9bM10pKXthLmxhYmVsPWlbMV07YnJlYWt9aWYoNj09PWlbMF0mJmEubGFiZWw8b1sxXSl7YS5sYWJlbD1vWzFdLG89aTticmVha31pZihvJiZhLmxhYmVsPG9bMl0pe2EubGFiZWw9b1syXSxhLm9wcy5wdXNoKGkpO2JyZWFrfW9bMl0mJmEub3BzLnBvcCgpLGEudHJ5cy5wb3AoKTtjb250aW51ZX1pPXQuY2FsbChlLGEpfWNhdGNoKGUpe2k9WzYsZV0sbj0wfWZpbmFsbHl7cj1vPTB9aWYoNSZpWzBdKXRocm93IGlbMV07cmV0dXJue3ZhbHVlOmlbMF0/aVsxXTp2b2lkIDAsZG9uZTohMH19KFtpLHNdKX19fTtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIHM9cigwKSx1PXIoMyksYz1yKDEpLGw9ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdCgpe3JldHVybiBudWxsIT09ZSYmZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl8fHRoaXN9cmV0dXJuIG8odCxlKSx0LnByb3RvdHlwZS5sb2dpbj1mdW5jdGlvbigpe3JldHVybiBpKHRoaXMsdm9pZCAwLHZvaWQgMCwoZnVuY3Rpb24oKXtyZXR1cm4gYSh0aGlzLChmdW5jdGlvbihlKXtyZXR1cm5bMix0aGlzLnNkay5nZXRQcm92aWRlcigpLmVuYWJsZSgpXX0pKX0pKX0sdC5wcm90b3R5cGUubG9nb3V0PWZ1bmN0aW9uKCl7dmFyIGU9Yy5jcmVhdGVKc29uUnBjUmVxdWVzdFBheWxvYWQocy5GbVBheWxvYWRNZXRob2QuZm1fbG9nb3V0KTtyZXR1cm4gdS5lbWl0Rm9ydG1hdGljUGF5bG9hZCh0aGlzLnNkay5nZXRQcm92aWRlcigpLGUpfSx0LnByb3RvdHlwZS5nZXRVc2VyPWZ1bmN0aW9uKCl7dmFyIGU9Yy5jcmVhdGVKc29uUnBjUmVxdWVzdFBheWxvYWQocy5GbVBheWxvYWRNZXRob2QuZm1fZ2V0X3VzZXIpO3JldHVybiB1LmVtaXRGb3J0bWF0aWNQYXlsb2FkKHRoaXMuc2RrLmdldFByb3ZpZGVyKCksZSl9LHQucHJvdG90eXBlLmdldEJhbGFuY2VzPWZ1bmN0aW9uKCl7dmFyIGU9Yy5jcmVhdGVKc29uUnBjUmVxdWVzdFBheWxvYWQocy5GbVBheWxvYWRNZXRob2QuZm1fZ2V0X2JhbGFuY2VzKTtyZXR1cm4gdS5lbWl0Rm9ydG1hdGljUGF5bG9hZCh0aGlzLnNkay5nZXRQcm92aWRlcigpLGUpfSx0LnByb3RvdHlwZS5nZXRUcmFuc2FjdGlvbnM9ZnVuY3Rpb24oKXt2YXIgZT1jLmNyZWF0ZUpzb25ScGNSZXF1ZXN0UGF5bG9hZChzLkZtUGF5bG9hZE1ldGhvZC5mbV9nZXRfdHJhbnNhY3Rpb25zKTtyZXR1cm4gdS5lbWl0Rm9ydG1hdGljUGF5bG9hZCh0aGlzLnNkay5nZXRQcm92aWRlcigpLGUpfSx0LnByb3RvdHlwZS5pc0xvZ2dlZEluPWZ1bmN0aW9uKCl7dmFyIGU9Yy5jcmVhdGVKc29uUnBjUmVxdWVzdFBheWxvYWQocy5GbVBheWxvYWRNZXRob2QuZm1faXNfbG9nZ2VkX2luKTtyZXR1cm4gdS5lbWl0Rm9ydG1hdGljUGF5bG9hZCh0aGlzLnNkay5nZXRQcm92aWRlcigpLGUpfSx0LnByb3RvdHlwZS5zZXR0aW5ncz1mdW5jdGlvbigpe3ZhciBlPWMuY3JlYXRlSnNvblJwY1JlcXVlc3RQYXlsb2FkKHMuRm1QYXlsb2FkTWV0aG9kLmZtX2FjY291bnRTZXR0aW5ncyk7cmV0dXJuIHUuZW1pdEZvcnRtYXRpY1BheWxvYWQodGhpcy5zZGsuZ2V0UHJvdmlkZXIoKSxlKX0sdC5wcm90b3R5cGUuZGVwb3NpdD1mdW5jdGlvbigpe3ZhciBlPWMuY3JlYXRlSnNvblJwY1JlcXVlc3RQYXlsb2FkKHMuRm1QYXlsb2FkTWV0aG9kLmZtX2RlcG9zaXQpO3JldHVybiB1LmVtaXRGb3J0bWF0aWNQYXlsb2FkKHRoaXMuc2RrLmdldFByb3ZpZGVyKCksZSl9LHR9KHIoNSkuQmFzZU1vZHVsZSk7dC5Vc2VyTW9kdWxlPWx9LGZ1bmN0aW9uKGUsdCxyKXsidXNlIHN0cmljdCI7dmFyIG49dGhpcyYmdGhpcy5fX2F3YWl0ZXJ8fGZ1bmN0aW9uKGUsdCxyLG4pe3JldHVybiBuZXcocnx8KHI9UHJvbWlzZSkpKChmdW5jdGlvbihvLGkpe2Z1bmN0aW9uIGEoZSl7dHJ5e3Uobi5uZXh0KGUpKX1jYXRjaChlKXtpKGUpfX1mdW5jdGlvbiBzKGUpe3RyeXt1KG4udGhyb3coZSkpfWNhdGNoKGUpe2koZSl9fWZ1bmN0aW9uIHUoZSl7dmFyIHQ7ZS5kb25lP28oZS52YWx1ZSk6KHQ9ZS52YWx1ZSx0IGluc3RhbmNlb2Ygcj90Om5ldyByKChmdW5jdGlvbihlKXtlKHQpfSkpKS50aGVuKGEscyl9dSgobj1uLmFwcGx5KGUsdHx8W10pKS5uZXh0KCkpfSkpfSxvPXRoaXMmJnRoaXMuX19nZW5lcmF0b3J8fGZ1bmN0aW9uKGUsdCl7dmFyIHIsbixvLGksYT17bGFiZWw6MCxzZW50OmZ1bmN0aW9uKCl7aWYoMSZvWzBdKXRocm93IG9bMV07cmV0dXJuIG9bMV19LHRyeXM6W10sb3BzOltdfTtyZXR1cm4gaT17bmV4dDpzKDApLHRocm93OnMoMSkscmV0dXJuOnMoMil9LCJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJihpW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30pLGk7ZnVuY3Rpb24gcyhpKXtyZXR1cm4gZnVuY3Rpb24ocyl7cmV0dXJuIGZ1bmN0aW9uKGkpe2lmKHIpdGhyb3cgbmV3IFR5cGVFcnJvcigiR2VuZXJhdG9yIGlzIGFscmVhZHkgZXhlY3V0aW5nLiIpO2Zvcig7YTspdHJ5e2lmKHI9MSxuJiYobz0yJmlbMF0/bi5yZXR1cm46aVswXT9uLnRocm93fHwoKG89bi5yZXR1cm4pJiZvLmNhbGwobiksMCk6bi5uZXh0KSYmIShvPW8uY2FsbChuLGlbMV0pKS5kb25lKXJldHVybiBvO3N3aXRjaChuPTAsbyYmKGk9WzImaVswXSxvLnZhbHVlXSksaVswXSl7Y2FzZSAwOmNhc2UgMTpvPWk7YnJlYWs7Y2FzZSA0OnJldHVybiBhLmxhYmVsKysse3ZhbHVlOmlbMV0sZG9uZTohMX07Y2FzZSA1OmEubGFiZWwrKyxuPWlbMV0saT1bMF07Y29udGludWU7Y2FzZSA3Omk9YS5vcHMucG9wKCksYS50cnlzLnBvcCgpO2NvbnRpbnVlO2RlZmF1bHQ6aWYoIShvPShvPWEudHJ5cykubGVuZ3RoPjAmJm9bby5sZW5ndGgtMV0pJiYoNj09PWlbMF18fDI9PT1pWzBdKSl7YT0wO2NvbnRpbnVlfWlmKDM9PT1pWzBdJiYoIW98fGlbMV0+b1swXSYmaVsxXTxvWzNdKSl7YS5sYWJlbD1pWzFdO2JyZWFrfWlmKDY9PT1pWzBdJiZhLmxhYmVsPG9bMV0pe2EubGFiZWw9b1sxXSxvPWk7YnJlYWt9aWYobyYmYS5sYWJlbDxvWzJdKXthLmxhYmVsPW9bMl0sYS5vcHMucHVzaChpKTticmVha31vWzJdJiZhLm9wcy5wb3AoKSxhLnRyeXMucG9wKCk7Y29udGludWV9aT10LmNhbGwoZSxhKX1jYXRjaChlKXtpPVs2LGVdLG49MH1maW5hbGx5e3I9bz0wfWlmKDUmaVswXSl0aHJvdyBpWzFdO3JldHVybnt2YWx1ZTppWzBdP2lbMV06dm9pZCAwLGRvbmU6ITB9fShbaSxzXSl9fX07T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBpPXIoMCksYT1yKDMpLHM9cigxKSx1PXIoNCksYz1yKDIyKSxsPXIoNiksZD1yKDcpLHA9cigyKSxmPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShlLHQscil7dGhpcy5hcGlLZXk9dCx0aGlzLmlzRm9ydG1hdGljPSEwLHRoaXMucXVldWU9W10sdGhpcy5vdmVybGF5PW5ldyBjLkZtSWZyYW1lQ29udHJvbGxlcihlLHIpLHRoaXMucGF5bG9hZFRyYW5zcG9ydD1uZXcgbC5GbVBheWxvYWRUcmFuc3BvcnQoZSxyKSx0aGlzLmxpc3RlbigpfXJldHVybiBlLnByb3RvdHlwZS5zZW5kQXN5bmM9ZnVuY3Rpb24oZSx0KXtpZighdCl0aHJvdyBwLmNyZWF0ZUludmFsaWRBcmd1bWVudEVycm9yKHtmdW5jdGlvbk5hbWU6InNlbmRBc3luYyIsYXJnSW5kZXg6MSxleHBlY3RlZDoiZnVuY3Rpb24iLHJlY2VpdmVkOm51bGw9PT10PyJudWxsIjp0eXBlb2YgdH0pO2lmKEFycmF5LmlzQXJyYXkoZSkpcmV0dXJuIHRoaXMuZW5xdWV1ZSh7b25SZXF1ZXN0Q29tcGxldGU6dCxwYXlsb2FkOnMuY3JlYXRlSnNvblJwY0JhdGNoUmVxdWVzdFBheWxvYWQoZSl9KTt2YXIgcj1zLnN0YW5kYXJkaXplUmVxdWVzdFBheWxvYWQoZSk7cmV0dXJuIHUuaXNKc29uUnBjQmF0Y2hSZXF1ZXN0UGF5bG9hZChyKSx0aGlzLmVucXVldWUoe29uUmVxdWVzdENvbXBsZXRlOnQscGF5bG9hZDpyfSl9LGUucHJvdG90eXBlLnNlbmRGb3J0bWF0aWNBc3luYz1mdW5jdGlvbihlLHQpe2lmKCF0KXRocm93IHAuY3JlYXRlSW52YWxpZEFyZ3VtZW50RXJyb3Ioe2Z1bmN0aW9uTmFtZToic2VuZEZvcnRtYXRpY0FzeW5jIixhcmdJbmRleDoxLGV4cGVjdGVkOiJmdW5jdGlvbiIscmVjZWl2ZWQ6bnVsbD09PXQ/Im51bGwiOnR5cGVvZiB0fSk7dmFyIHI9cy5zdGFuZGFyZGl6ZVJlcXVlc3RQYXlsb2FkKGUpO3RoaXMuZW5xdWV1ZSh7b25SZXF1ZXN0Q29tcGxldGU6dCxwYXlsb2FkOnIsaXNGb3J0bWF0aWNNZXRob2Q6ITB9KX0sZS5wcm90b3R5cGUuc2VuZD1mdW5jdGlvbihlLHQpe3JldHVybiJzdHJpbmciPT10eXBlb2YgZT9hLmVtaXRXZWIzUGF5bG9hZCh0aGlzLGUsdCk6dD92b2lkIHRoaXMuc2VuZEFzeW5jKGUsdCk6KHAuY3JlYXRlU3luY2hyb25vdXNXZWIzTWV0aG9kV2FybmluZygpLmxvZygpLG5ldyBkLkpzb25ScGNSZXNwb25zZShlKS5hcHBseUVycm9yKHtjb2RlOi0zMjYwMyxtZXNzYWdlOiJOb24tYXN5bmMgd2ViMyBtZXRob2RzIHdpbGwgYmUgZGVwcmVjYXRlZCBpbiB3ZWIzID4gMS4wIGFuZCBhcmUgbm90IHN1cHBvcnRlZCBieSB0aGUgRm9ydG1hdGljIHByb3ZpZGVyLiBBbiBhc3luYyBtZXRob2QgaXMgdG8gYmUgdXNlZCBpbnN0ZWFkLiJ9KS5wYXlsb2FkKX0sZS5wcm90b3R5cGUuZW5hYmxlPWZ1bmN0aW9uKCl7cmV0dXJuIGEuZW1pdFdlYjNQYXlsb2FkKHRoaXMsImV0aF9hY2NvdW50cyIpfSxlLnByb3RvdHlwZS5lbnF1ZXVlPWZ1bmN0aW9uKGUpe2UmJih0aGlzLnF1ZXVlLnB1c2goZSksdGhpcy5vdmVybGF5Lm92ZXJsYXlSZWFkeSYmdGhpcy5kZXF1ZXVlKCkpfSxlLnByb3RvdHlwZS5kZXF1ZXVlPWZ1bmN0aW9uKCl7cmV0dXJuIG4odGhpcyx2b2lkIDAsdm9pZCAwLChmdW5jdGlvbigpe3ZhciBlLHQscixuO3JldHVybiBvKHRoaXMsKGZ1bmN0aW9uKG8pe3N3aXRjaChvLmxhYmVsKXtjYXNlIDA6cmV0dXJuIDA9PT10aGlzLnF1ZXVlLmxlbmd0aD9bMl06KGU9dGhpcy5xdWV1ZS5zaGlmdCgpKT8odD1lLnBheWxvYWQsdS5pc0pzb25ScGNCYXRjaFJlcXVlc3RQYXlsb2FkKHQpPzA9PT10LmJhdGNoLmxlbmd0aD9bMixlLm9uUmVxdWVzdENvbXBsZXRlKG51bGwsW10pXTpbNCx0aGlzLnBheWxvYWRUcmFuc3BvcnQucG9zdCh0aGlzLm92ZXJsYXksaS5GbU91dGdvaW5nV2luZG93TWVzc2FnZS5GT1JUTUFUSUNfSEFORExFX1JFUVVFU1QsdCldOlszLDJdKTpbMyw1XTtjYXNlIDE6cj1vLnNlbnQoKSxlLm9uUmVxdWVzdENvbXBsZXRlKG51bGwsciksby5sYWJlbD0yO2Nhc2UgMjpyZXR1cm4gdS5pc0pzb25ScGNSZXF1ZXN0UGF5bG9hZCh0KT9bNCx0aGlzLnBheWxvYWRUcmFuc3BvcnQucG9zdCh0aGlzLm92ZXJsYXksZS5pc0ZvcnRtYXRpY01ldGhvZD9pLkZtT3V0Z29pbmdXaW5kb3dNZXNzYWdlLkZPUlRNQVRJQ19IQU5ETEVfRk9SVE1BVElDX1JFUVVFU1Q6aS5GbU91dGdvaW5nV2luZG93TWVzc2FnZS5GT1JUTUFUSUNfSEFORExFX1JFUVVFU1QsdCldOlszLDRdO2Nhc2UgMzoobj1vLnNlbnQoKSkuZXJyb3I/ZS5vblJlcXVlc3RDb21wbGV0ZShuZXcgcC5ScGNFcnJvcihuLmVycm9yKSxuKTplLm9uUmVxdWVzdENvbXBsZXRlKG51bGwsbiksby5sYWJlbD00O2Nhc2UgNDp0aGlzLmRlcXVldWUoKSxvLmxhYmVsPTU7Y2FzZSA1OnJldHVyblsyXX19KSl9KSl9LGUucHJvdG90eXBlLmxpc3Rlbj1mdW5jdGlvbigpe3ZhciBlPXRoaXM7dGhpcy5wYXlsb2FkVHJhbnNwb3J0Lm9uKGkuRm1JbmNvbWluZ1dpbmRvd01lc3NhZ2UuRk9SVE1BVElDX09WRVJMQVlfUkVBRFksKGZ1bmN0aW9uKCl7ZS5kZXF1ZXVlKCl9KSksdGhpcy5wYXlsb2FkVHJhbnNwb3J0Lm9uKGkuRm1JbmNvbWluZ1dpbmRvd01lc3NhZ2UuRk9SVE1BVElDX1VTRVJfREVOSUVELChmdW5jdGlvbigpe2UucXVldWUuZm9yRWFjaCgoZnVuY3Rpb24oZSl7dmFyIHQ9bmV3IGQuSnNvblJwY1Jlc3BvbnNlKGUucGF5bG9hZCkscj17bWVzc2FnZToiRm9ydG1hdGljOiBNb2RhbCB3YXMgY2xvc2VkIHdpdGhvdXQgZXhlY3V0aW5nIGFjdGlvbiEiLGNvZGU6MX07ZS5vblJlcXVlc3RDb21wbGV0ZShuZXcgcC5ScGNFcnJvcihyKSx0LmFwcGx5RXJyb3IocikucGF5bG9hZCl9KSksZS5xdWV1ZS5zbGljZSgwKX0pKX0sZX0oKTt0LkZtUHJvdmlkZXI9Zn0sZnVuY3Rpb24oZSx0LHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj10aGlzJiZ0aGlzLl9fYXdhaXRlcnx8ZnVuY3Rpb24oZSx0LHIsbil7cmV0dXJuIG5ldyhyfHwocj1Qcm9taXNlKSkoKGZ1bmN0aW9uKG8saSl7ZnVuY3Rpb24gYShlKXt0cnl7dShuLm5leHQoZSkpfWNhdGNoKGUpe2koZSl9fWZ1bmN0aW9uIHMoZSl7dHJ5e3Uobi50aHJvdyhlKSl9Y2F0Y2goZSl7aShlKX19ZnVuY3Rpb24gdShlKXt2YXIgdDtlLmRvbmU/byhlLnZhbHVlKToodD1lLnZhbHVlLHQgaW5zdGFuY2VvZiByP3Q6bmV3IHIoKGZ1bmN0aW9uKGUpe2UodCl9KSkpLnRoZW4oYSxzKX11KChuPW4uYXBwbHkoZSx0fHxbXSkpLm5leHQoKSl9KSl9LG89dGhpcyYmdGhpcy5fX2dlbmVyYXRvcnx8ZnVuY3Rpb24oZSx0KXt2YXIgcixuLG8saSxhPXtsYWJlbDowLHNlbnQ6ZnVuY3Rpb24oKXtpZigxJm9bMF0pdGhyb3cgb1sxXTtyZXR1cm4gb1sxXX0sdHJ5czpbXSxvcHM6W119O3JldHVybiBpPXtuZXh0OnMoMCksdGhyb3c6cygxKSxyZXR1cm46cygyKX0sImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmKGlbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSksaTtmdW5jdGlvbiBzKGkpe3JldHVybiBmdW5jdGlvbihzKXtyZXR1cm4gZnVuY3Rpb24oaSl7aWYocil0aHJvdyBuZXcgVHlwZUVycm9yKCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuIik7Zm9yKDthOyl0cnl7aWYocj0xLG4mJihvPTImaVswXT9uLnJldHVybjppWzBdP24udGhyb3d8fCgobz1uLnJldHVybikmJm8uY2FsbChuKSwwKTpuLm5leHQpJiYhKG89by5jYWxsKG4saVsxXSkpLmRvbmUpcmV0dXJuIG87c3dpdGNoKG49MCxvJiYoaT1bMiZpWzBdLG8udmFsdWVdKSxpWzBdKXtjYXNlIDA6Y2FzZSAxOm89aTticmVhaztjYXNlIDQ6cmV0dXJuIGEubGFiZWwrKyx7dmFsdWU6aVsxXSxkb25lOiExfTtjYXNlIDU6YS5sYWJlbCsrLG49aVsxXSxpPVswXTtjb250aW51ZTtjYXNlIDc6aT1hLm9wcy5wb3AoKSxhLnRyeXMucG9wKCk7Y29udGludWU7ZGVmYXVsdDppZighKG89KG89YS50cnlzKS5sZW5ndGg+MCYmb1tvLmxlbmd0aC0xXSkmJig2PT09aVswXXx8Mj09PWlbMF0pKXthPTA7Y29udGludWV9aWYoMz09PWlbMF0mJighb3x8aVsxXT5vWzBdJiZpWzFdPG9bM10pKXthLmxhYmVsPWlbMV07YnJlYWt9aWYoNj09PWlbMF0mJmEubGFiZWw8b1sxXSl7YS5sYWJlbD1vWzFdLG89aTticmVha31pZihvJiZhLmxhYmVsPG9bMl0pe2EubGFiZWw9b1syXSxhLm9wcy5wdXNoKGkpO2JyZWFrfW9bMl0mJmEub3BzLnBvcCgpLGEudHJ5cy5wb3AoKTtjb250aW51ZX1pPXQuY2FsbChlLGEpfWNhdGNoKGUpe2k9WzYsZV0sbj0wfWZpbmFsbHl7cj1vPTB9aWYoNSZpWzBdKXRocm93IGlbMV07cmV0dXJue3ZhbHVlOmlbMF0/aVsxXTp2b2lkIDAsZG9uZTohMH19KFtpLHNdKX19fSxpPXRoaXMmJnRoaXMuX192YWx1ZXN8fGZ1bmN0aW9uKGUpe3ZhciB0PSJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJlN5bWJvbC5pdGVyYXRvcixyPXQmJmVbdF0sbj0wO2lmKHIpcmV0dXJuIHIuY2FsbChlKTtpZihlJiYibnVtYmVyIj09dHlwZW9mIGUubGVuZ3RoKXJldHVybntuZXh0OmZ1bmN0aW9uKCl7cmV0dXJuIGUmJm4+PWUubGVuZ3RoJiYoZT12b2lkIDApLHt2YWx1ZTplJiZlW24rK10sZG9uZTohZX19fTt0aHJvdyBuZXcgVHlwZUVycm9yKHQ/Ik9iamVjdCBpcyBub3QgaXRlcmFibGUuIjoiU3ltYm9sLml0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLiIpfSxhPXRoaXMmJnRoaXMuX19yZWFkfHxmdW5jdGlvbihlLHQpe3ZhciByPSJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJmVbU3ltYm9sLml0ZXJhdG9yXTtpZighcilyZXR1cm4gZTt2YXIgbixvLGk9ci5jYWxsKGUpLGE9W107dHJ5e2Zvcig7KHZvaWQgMD09PXR8fHQtLSA+MCkmJiEobj1pLm5leHQoKSkuZG9uZTspYS5wdXNoKG4udmFsdWUpfWNhdGNoKGUpe289e2Vycm9yOmV9fWZpbmFsbHl7dHJ5e24mJiFuLmRvbmUmJihyPWkucmV0dXJuKSYmci5jYWxsKGkpfWZpbmFsbHl7aWYobyl0aHJvdyBvLmVycm9yfX1yZXR1cm4gYX07T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBzPXIoMCksdT1yKDYpLGM9cigyKSxsPXtkaXNwbGF5OiJub25lIixwb3NpdGlvbjoiZml4ZWQiLHRvcDoiMCIscmlnaHQ6IjAiLHdpZHRoOiIxMDAlIixoZWlnaHQ6IjEwMCUiLGJvcmRlclJhZGl1czoiMCIsYm9yZGVyOiJub25lIix6SW5kZXg6IjIxNDc0ODM2NDcifTt2YXIgZD1mdW5jdGlvbigpe2Z1bmN0aW9uIGUoZSx0KXt0aGlzLmVuZHBvaW50PWUsdGhpcy5lbmNvZGVkUXVlcnlQYXJhbXM9dCx0aGlzLl9vdmVybGF5UmVhZHk9ITEsdGhpcy5pZnJhbWU9dGhpcy5pbml0KCksdGhpcy5wYXlsb2FkVHJhbnNwb3J0PW5ldyB1LkZtUGF5bG9hZFRyYW5zcG9ydChlLHQpLHRoaXMubGlzdGVuKCl9cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLnByb3RvdHlwZSwib3ZlcmxheVJlYWR5Iix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX292ZXJsYXlSZWFkeX0sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KSxlLnByb3RvdHlwZS5pbml0PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcztyZXR1cm4gbmV3IFByb21pc2UoKGZ1bmN0aW9uKHQpe3ZhciByPWZ1bmN0aW9uKCl7aWYobz1lLmVuY29kZWRRdWVyeVBhcmFtcyxzPVtdLnNsaWNlLmNhbGwoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiLmZvcnRtYXRpYy1pZnJhbWUiKSksQm9vbGVhbihzLmZpbmQoKGZ1bmN0aW9uKGUpe3ZhciB0O3JldHVybiBudWxsPT09KHQ9ZS5zcmMpfHx2b2lkIDA9PT10P3ZvaWQgMDp0LmluY2x1ZGVzKG8pfSkpKSljLmNyZWF0ZUR1cGxpY2F0ZUlmcmFtZVdhcm5pbmcoKS5sb2coKTtlbHNle3ZhciByPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpO3IuY2xhc3NMaXN0LmFkZCgiZm9ydG1hdGljLWlmcmFtZSIpLHIuZGF0YXNldC5mb3J0bWF0aWNJZnJhbWVMYWJlbD1uZXcgVVJMKGUuZW5kcG9pbnQpLmhvc3Qsci5zcmM9bmV3IFVSTCgiL3NlbmQ/cGFyYW1zPSIrZS5lbmNvZGVkUXVlcnlQYXJhbXMsZS5lbmRwb2ludCkuaHJlZixmdW5jdGlvbihlKXt2YXIgdCxyO3RyeXtmb3IodmFyIG49aShPYmplY3QuZW50cmllcyhsKSksbz1uLm5leHQoKTshby5kb25lO289bi5uZXh0KCkpe3ZhciBzPWEoby52YWx1ZSwyKSx1PXNbMF0sYz1zWzFdO2Uuc3R5bGVbdV09Y319Y2F0Y2goZSl7dD17ZXJyb3I6ZX19ZmluYWxseXt0cnl7byYmIW8uZG9uZSYmKHI9bi5yZXR1cm4pJiZyLmNhbGwobil9ZmluYWxseXtpZih0KXRocm93IHQuZXJyb3J9fX0ociksZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChyKTt2YXIgbj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKTtuLnNyYz0iaHR0cHM6Ly9zdGF0aWMuZm9ydG1hdGljLmNvbS9hc3NldHMvdHJhbnMuZ2lmIixuLnN0eWxlLnBvc2l0aW9uPSJmaXhlZCIsZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChuKSx0KHIpfXZhciBvLHN9O1sibG9hZGVkIiwiaW50ZXJhY3RpdmUiLCJjb21wbGV0ZSJdLmluY2x1ZGVzKGRvY3VtZW50LnJlYWR5U3RhdGUpP3IoKTp3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsciwhMSl9KSl9LGUucHJvdG90eXBlLnNob3dPdmVybGF5PWZ1bmN0aW9uKCl7cmV0dXJuIG4odGhpcyx2b2lkIDAsdm9pZCAwLChmdW5jdGlvbigpe3JldHVybiBvKHRoaXMsKGZ1bmN0aW9uKGUpe3N3aXRjaChlLmxhYmVsKXtjYXNlIDA6cmV0dXJuWzQsdGhpcy5pZnJhbWVdO2Nhc2UgMTpyZXR1cm4gZS5zZW50KCkuc3R5bGUuZGlzcGxheT0iYmxvY2siLFsyXX19KSl9KSl9LGUucHJvdG90eXBlLmhpZGVPdmVybGF5PWZ1bmN0aW9uKCl7cmV0dXJuIG4odGhpcyx2b2lkIDAsdm9pZCAwLChmdW5jdGlvbigpe3JldHVybiBvKHRoaXMsKGZ1bmN0aW9uKGUpe3N3aXRjaChlLmxhYmVsKXtjYXNlIDA6cmV0dXJuWzQsdGhpcy5pZnJhbWVdO2Nhc2UgMTpyZXR1cm4gZS5zZW50KCkuc3R5bGUuZGlzcGxheT0ibm9uZSIsWzJdfX0pKX0pKX0sZS5wcm90b3R5cGUubGlzdGVuPWZ1bmN0aW9uKCl7dmFyIGU9dGhpczt0aGlzLnBheWxvYWRUcmFuc3BvcnQub24ocy5GbUluY29taW5nV2luZG93TWVzc2FnZS5GT1JUTUFUSUNfT1ZFUkxBWV9SRUFEWSwoZnVuY3Rpb24oKXtlLl9vdmVybGF5UmVhZHk9ITB9KSksdGhpcy5wYXlsb2FkVHJhbnNwb3J0Lm9uKHMuRm1JbmNvbWluZ1dpbmRvd01lc3NhZ2UuRk9SVE1BVElDX0hJREVfT1ZFUkxBWSwoZnVuY3Rpb24oKXtlLmhpZGVPdmVybGF5KCl9KSksdGhpcy5wYXlsb2FkVHJhbnNwb3J0Lm9uKHMuRm1JbmNvbWluZ1dpbmRvd01lc3NhZ2UuRk9SVE1BVElDX1NIT1dfT1ZFUkxBWSwoZnVuY3Rpb24oKXtlLnNob3dPdmVybGF5KCl9KSl9LGV9KCk7dC5GbUlmcmFtZUNvbnRyb2xsZXI9ZH0sZnVuY3Rpb24oZSx0LHIpeyJ1c2Ugc3RyaWN0Ijt2YXIgbjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksZnVuY3Rpb24oZSl7ZS5IQVJNT05ZPSJIQVJNT05ZIn0obnx8KG49e30pKSx0LmVuY29kZVF1ZXJ5UGFyYW1ldGVycz1mdW5jdGlvbihlKXtyZXR1cm4gYnRvYShKU09OLnN0cmluZ2lmeShlKSl9LHQuZGVjb2RlUXVlcnlQYXJhbWV0ZXJzPWZ1bmN0aW9uKGUpe3JldHVybiBKU09OLnBhcnNlKGF0b2IoZSkpfX0sZnVuY3Rpb24oZSl7ZS5leHBvcnRzPUpTT04ucGFyc2UoJ3sibmFtZSI6ImZvcnRtYXRpYyIsInZlcnNpb24iOiIyLjAuNiIsImRlc2NyaXB0aW9uIjoiRm9ydG1hdGljIEphdmFzY3JpcHQgU0RLIiwiYXV0aG9yIjoiRm9ydG1hdGljIDx0ZWFtQGZvcnRtYXRpYy5jb20+IChodHRwczovL2ZvcnRtYXRpYy5jb20vKSIsImxpY2Vuc2UiOiJNSVQiLCJyZXBvc2l0b3J5Ijp7InR5cGUiOiJnaXQiLCJ1cmwiOiJodHRwczovL2dpdGh1Yi5jb20vZm9ydG1hdGljL2ZvcnRtYXRpYy1qcyJ9LCJrZXl3b3JkcyI6WyJhdXRoIiwibG9naW4iLCJ3ZWIzIiwiY3J5cHRvIiwiZXRoZXJldW0iLCJtZXRhTWFzayIsIndhbGxldCIsImJsb2NrY2hhaW4iLCJkYXBwIl0sImhvbWVwYWdlIjoiaHR0cHM6Ly93d3cuZm9ydG1hdGljLmNvbSIsIm1haW4iOiJkaXN0L2Nqcy9mb3J0bWF0aWMuanMiLCJ0eXBlcyI6ImRpc3QvY2pzL3NyYy9pbmRleC5kLnRzIiwic2NyaXB0cyI6eyJzdGFydCI6Im5wbSBydW4gY2xlYW46YnVpbGQgJiYgLi9zY3JpcHRzL3N0YXJ0LnNoIiwiYnVpbGQiOiJucG0gcnVuIGNsZWFuOmJ1aWxkICYmIC4vc2NyaXB0cy9idWlsZC5zaCIsInRlc3QiOiJucG0gcnVuIGNsZWFuOnRlc3QtYXJ0aWZhY3RzICYmIC4vc2NyaXB0cy90ZXN0LnNoIiwibGludCI6ImVzbGludCAtLWZpeCBzcmMvKiovKi50cyIsImNsZWFuIjoibnBtLXJ1bi1hbGwgLXMgY2xlYW46KiIsImNsZWFuOnRlc3QtYXJ0aWZhY3RzIjoicmltcmFmIGNvdmVyYWdlICYmIHJpbXJhZiAubnljX291dHB1dCIsImNsZWFuOmJ1aWxkIjoicmltcmFmIGRpc3QiLCJjbGVhbl9ub2RlX21vZHVsZXMiOiJyaW1yYWYgbm9kZV9tb2R1bGVzIn0sImRlcGVuZGVuY2llcyI6e30sImRldkRlcGVuZGVuY2llcyI6eyJAaWtzY29kZXMvYnJvd3Nlci1lbnYiOiJ+MC4zLjEiLCJAaWtzY29kZXMvZXNsaW50LWNvbmZpZyI6In42LjIuMCIsIkBpa3Njb2Rlcy9wcmV0dGllci1jb25maWciOiJeMC4xLjAiLCJAaXN0YW5idWxqcy9ueWMtY29uZmlnLXR5cGVzY3JpcHQiOiJ+MC4xLjMiLCJAdHlwZXMvanNkb20iOiJ+MTIuMi40IiwiQHR5cGVzL3Npbm9uIjoifjcuNS4wIiwiQHR5cGVzL3dlYnBhY2siOiJ+NC40MS4wIiwiQHR5cGVzY3JpcHQtZXNsaW50L2VzbGludC1wbHVnaW4iOiJ+Mi4xNy4wIiwiYXZhIjoiMi4yLjAiLCJjcm9zcy1lbnYiOiJ+Ni4wLjMiLCJlc2xpbnQiOiJ+Ni44LjAiLCJlc2xpbnQtaW1wb3J0LXJlc29sdmVyLXR5cGVzY3JpcHQiOiJ+Mi4wLjAiLCJlc2xpbnQtcGx1Z2luLWltcG9ydCI6In4yLjIwLjAiLCJlc2xpbnQtcGx1Z2luLWpzeC1hMTF5IjoifjYuMi4zIiwiZXNsaW50LXBsdWdpbi1wcmV0dGllciI6In4zLjEuMiIsImVzbGludC1wbHVnaW4tcmVhY3QiOiJ+Ny4xOC4wIiwiZXNsaW50LXBsdWdpbi1yZWFjdC1ob29rcyI6In4xLjcuMCIsImxvZGFzaCI6In40LjE3LjE1IiwibnBtLXJ1bi1hbGwiOiJ+NC4xLjUiLCJueWMiOiIxMy4xLjAiLCJwcmV0dGllciI6In4xLjE5LjEiLCJyaW1yYWYiOiJ+My4wLjAiLCJzaW5vbiI6IjcuMS4xIiwidHMtbG9hZGVyIjoifjYuMi4xIiwidHMtbm9kZSI6In44LjUuMiIsInR5cGVzY3JpcHQiOiJ+My43LjIiLCJ3ZWJwYWNrIjoifjQuNDEuMiIsIndlYnBhY2stY2hhaW4iOiJ+Ni4yLjAiLCJ3ZWJwYWNrLWNsaSI6In4zLjMuMTAifSwiYXZhIjp7InJlcXVpcmUiOlsidHMtbm9kZS9yZWdpc3RlciJdLCJmaWxlcyI6WyJ0ZXN0LyoqLyouc3BlYy50cyJdLCJleHRlbnNpb25zIjpbInRzIl0sImNvbXBpbGVFbmhhbmNlbWVudHMiOmZhbHNlLCJ2ZXJib3NlIjp0cnVlfSwibnljIjp7ImV4dGVuZHMiOiJAaXN0YW5idWxqcy9ueWMtY29uZmlnLXR5cGVzY3JpcHQiLCJhbGwiOmZhbHNlLCJjaGVjay1jb3ZlcmFnZSI6dHJ1ZSwicGVyLWZpbGUiOnRydWUsImxpbmVzIjo5OSwic3RhdGVtZW50cyI6OTksImZ1bmN0aW9ucyI6OTksImJyYW5jaGVzIjo5OSwicmVwb3J0ZXIiOlsiaHRtbCIsImxjb3YiXX19Jyl9XSkuZGVmYXVsdDs="}},"time_used":90,"timings":{"blocked":71,"dns":0,"connect":0,"send":0,"wait":19,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"wss","addr":"wss://futurbcvndf.com/socket.io/?EIO=3\u0026transport=websocket","fqdn":"futurbcvndf.com","domain":"futurbcvndf.com","tld":"com"},"ip":{"addr":"172.67.130.50","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"websocket","requested_by":"https://futurbcvndf.com/","date":"2026-07-27T06:23:01.084Z","timestamp":1785133381084,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"futurbcvndf.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 16 Jul 2026 16:36:02 GMT","end":"Wed, 14 Oct 2026 16:36:01 GMT"},"fingerprint":{"sha1":"46:2D:5F:F0:3D:BD:73:19:93:72:79:62:4A:45:03:09:5D:FB:1E:A5","sha256":"35:31:C4:67:1D:DB:68:C3:FB:49:03:14:DD:4E:76:FE:13:53:8D:98:98:2E:BE:EA:B8:CA:4F:B6:5B:7E:5C:1D"}}},"request":{"raw":"GET /socket.io/?EIO=3\u0026transport=websocket HTTP/1.1\r\nHost: futurbcvndf.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-WebSocket-Version: 13\r\nOrigin: https://futurbcvndf.com\r\nSec-WebSocket-Extensions: permessage-deflate\r\nSec-WebSocket-Key: AGk0gelRlrBzC12rBoVebg==\r\nSec-GPC: 1\r\nConnection: Upgrade\r\nCookie: angela_session=eyJpdiI6IlhnUEZEQ1hLNngxS0t2ZGN3TnJjV1E9PSIsInZhbHVlIjoiVGlYZUpmMXVPdEhuTGtoQzhTS3VXM3BIN3J4ZDZnU2dNTWxTc0NRcHNMTXFyNm1wQTZEQ0RKTWJ0UjRERWZ5aDBaQWxVaVdmN0VVQkNna0M2ZTJ2dTdFZkx3amdIYjZlQzEzMHozajVqTzMybnhMOHo1bEpuaXdQM1R3UVN4QmQiLCJtYWMiOiJiZWIyMTJlYzc4OWUzODk0ODBiOTI5NmU0MjA2MDBmZjJmYzA2MTI3ZjViNmY4NWYxNzIyNDI4MDhhYWMzZmI4In0%3D\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: websocket\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\nUpgrade: websocket\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/1.1 101 Switching Protocols\r\nDate: Mon, 27 Jul 2026 06:23:01 GMT\r\nConnection: upgrade\r\nServer: cloudflare\r\nUpgrade: websocket\r\nSec-WebSocket-Version: 13\r\nSec-WebSocket-Accept: CWvRLFku7INjTwDMMY+udHICt8A=\r\ncf-cache-status: DYNAMIC\r\nReport-To: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=0qdjnZoM3p%2FLecOBG%2B8KXRqIBjmAL2KcxZcYhZ07fQyFuTel4WJY0CNBFfdmhE%2B8gaTH9RVPHI6J%2FfZEdnaxYk4M043tB%2B6UM%2Bburu1QsXlwlirDbzxImKhsi3GEKMw0tR4%3D\"}]}\r\nNel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nCF-RAY: a2198d8fef28c272-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\n\r\n","headers":null,"cookies":null,"status_code":"101","status_text":"Switching Protocols","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":628,"mime_type":"text/plain","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-04T14:30:18.251771Z","times_seen":17709334,"resource_available":true,"data":""}},"time_used":280,"timings":{"blocked":-1,"dns":12,"connect":13,"send":0,"wait":248,"receive":0,"ssl":6},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"futurbcvndf.com/api/menu?lang=en","fqdn":"futurbcvndf.com","domain":"futurbcvndf.com","tld":"com"},"ip":{"addr":"172.67.130.50","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://futurbcvndf.com/","date":"2026-07-27T06:23:01.491Z","timestamp":1785133381491,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"futurbcvndf.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 16 Jul 2026 16:36:02 GMT","end":"Wed, 14 Oct 2026 16:36:01 GMT"},"fingerprint":{"sha1":"46:2D:5F:F0:3D:BD:73:19:93:72:79:62:4A:45:03:09:5D:FB:1E:A5","sha256":"35:31:C4:67:1D:DB:68:C3:FB:49:03:14:DD:4E:76:FE:13:53:8D:98:98:2E:BE:EA:B8:CA:4F:B6:5B:7E:5C:1D"}}},"request":{"raw":"GET /api/menu?lang=en HTTP/1.1\r\nHost: futurbcvndf.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nAuthorization: \r\nContent-Type: application/x-www-form-urlencoded\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://futurbcvndf.com/\r\nCookie: angela_session=eyJpdiI6IlhnUEZEQ1hLNngxS0t2ZGN3TnJjV1E9PSIsInZhbHVlIjoiVGlYZUpmMXVPdEhuTGtoQzhTS3VXM3BIN3J4ZDZnU2dNTWxTc0NRcHNMTXFyNm1wQTZEQ0RKTWJ0UjRERWZ5aDBaQWxVaVdmN0VVQkNna0M2ZTJ2dTdFZkx3amdIYjZlQzEzMHozajVqTzMybnhMOHo1bEpuaXdQM1R3UVN4QmQiLCJtYWMiOiJiZWIyMTJlYzc4OWUzODk0ODBiOTI5NmU0MjA2MDBmZjJmYzA2MTI3ZjViNmY4NWYxNzIyNDI4MDhhYWMzZmI4In0%3D\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\nserver: cloudflare\r\ndate: Mon, 27 Jul 2026 06:23:02 GMT\r\ncontent-type: application/json\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=hyoK16kNv7kYeivQHa5q0CfGfE3FJpi%2FqZPL5emtwA%2BjhoDv7qNCYzheiZa2BAoOz3nr%2BGbuk9mNrIkcvh8c%2BIXQ%2Fx2YVBzT9f525l02wB4Ss4T7a%2FPQl2ohkBvqYLKUGYg%3D\"}]}\r\npriority: u=3,i=?0\r\naccess-control-allow-origin: *\r\naccess-control-allow-methods: POST,GET,OPTIONS,DELETE\r\naccess-control-allow-headers: x-requested-with,content-type,Authorization\r\ncache-control: no-cache, private, no-cache\r\nset-cookie: angela_session=eyJpdiI6IlZTVTFMS3Zlc25LZjY2S1ZNVnZhSGc9PSIsInZhbHVlIjoiWTFyUFhCTVV0cWpiRU9EaUZBa2Mxb0RqbXRlaUZuMElPbXZxM3JxWjhlc29oME5YdkFOY29cLzlNNmlhSGN4RUo3amtEcHo4THZueWJnTW9Jc25Bc3hPckRhOWQrSjUwdXp5XC9qbytFWGpNMlwvV1FOZHo1SG1RelFrQWIwNjcyT2MiLCJtYWMiOiJhZTM0MTM2MGFiMDJmZTBiZWUwZWQyM2I5Y2Q2NTMwOTExYTU1YWU4YTJjOTZiOGY1NjY4MWY4ODg4NGM4MDJlIn0%3D; expires=Mon, 27-Jul-2026 08:23:02 GMT; Max-Age=7200; path=/; httponly\r\nstrict-transport-security: max-age=31536000\r\ncf-cache-status: DYNAMIC\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\ncontent-encoding: zstd\r\ncf-ray: a2198d9259b20daa-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":1664,"size_decoded":1783,"mime_type":"application/json","magic":"JSON text data","md5":"125a917896fa4e12f457a99325d52c8e","sha1":"c65ec9608fc1caff3cf347105d388dca3a758f7a","sha256":"bcd62091a75e5ed60467d4eec765dc9929ff3ad57fd2d84cc0c7d228a8de8a45","sha512":"16fe5c972e19f0cc531b8f7d9181bfbd7af1e0917f31cb977763731e146de39f9caee566ff344a480798800d3ac89070c287e880781299710a2506ba02a1a657","ssdeep":"","tlshash":"cb312aed4dfc3c2dd2f761f158e3265e21860506dde4b5961befaddc02e8181829b4d1","first_seen":"2026-01-06T14:43:54.751856Z","last_seen":"2026-07-27T06:23:39.738259Z","times_seen":88,"resource_available":false,"data":"eyJ0eXBlIjoib2siLCJtZXNzYWdlIjpbeyJpZCI6MSwibmFtZSI6Ilx1NTE0NVx1NTAzYyIsInRpdGxlIjoicmVjaGFyZ2UiLCJpY29uIjoiaG9tZS1uYXYtMSIsInVybCI6IlwvcGFnZXNcL2Z1bmRcL3NlbGVjdD91cmw9cmVjZWl2ZSIsInNvcnQiOjEsInNob3ciOjEsIm9wZW5fdHlwZSI6Im5hdmlnYXRlVG8iLCJpc19maW5hbmNpYWwiOjB9LHsiaWQiOjIsIm5hbWUiOiJcdTYzZDBcdTczYjAiLCJ0aXRsZSI6IndpdGhkcmF3IiwiaWNvbiI6ImhvbWUtbmF2LTIiLCJ1cmwiOiJcL3BhZ2VzXC9mdW5kXC93aXRoZHJhdyIsInNvcnQiOjIsInNob3ciOjEsIm9wZW5fdHlwZSI6Im5hdmlnYXRlVG8iLCJpc19maW5hbmNpYWwiOjB9LHsiaWQiOjMsIm5hbWUiOiJcdTRlYTRcdTY2MTMiLCJ0aXRsZSI6InRyYW5zYWN0aW9uIiwiaWNvbiI6ImhvbWUtbmF2LTMiLCJ1cmwiOiJcL3BhZ2VzXC90cmFuc2FjdGlvblwvaW5kZXgiLCJzb3J0IjozLCJzaG93IjoxLCJvcGVuX3R5cGUiOiJzd2l0Y2hUYWIiLCJpc19maW5hbmNpYWwiOjB9LHsiaWQiOjQsIm5hbWUiOiJJRU8iLCJ0aXRsZSI6ImllbyIsImljb24iOiJob21lLW5hdi05IiwidXJsIjoiXC9wYWdlc1wvaWVvXC9pZW8iLCJzb3J0Ijo0LCJzaG93IjoxLCJvcGVuX3R5cGUiOiJuYXZpZ2F0ZVRvIiwiaXNfZmluYW5jaWFsIjoxfSx7ImlkIjo1LCJuYW1lIjoiXHU5NTAxXHU0ZWQzXHU2MzE2XHU3N2ZmIiwidGl0bGUiOiJsb2NrbWluZyIsImljb24iOiJob21lLW5hdi00IiwidXJsIjoiXC9wYWdlc1wvbG9ja21pbmdcL3dlbGNvbWUiLCJzb3J0Ijo1LCJzaG93IjoxLCJvcGVuX3R5cGUiOiJuYXZpZ2F0ZVRvIiwiaXNfZmluYW5jaWFsIjoxfSx7ImlkIjo2LCJuYW1lIjoiXHU4ZGRmXHU1MzU1IiwidGl0bGUiOiJjb3B5dHJhZGUiLCJpY29uIjoiaG9tZS1uYXYtOCIsInVybCI6IlwvcGFnZXNcL2ZvbGxvd1wvaW5kZXgiLCJzb3J0Ijo2LCJzaG93IjoxLCJvcGVuX3R5cGUiOiJuYXZpZ2F0ZVRvIiwiaXNfZmluYW5jaWFsIjowfSx7ImlkIjo3LCJuYW1lIjoiXHU1ZTAxXHU1ZTAxXHU1MjEyXHU4ZjZjIiwidGl0bGUiOiJ0cmFuc2ZlciIsImljb24iOiJob21lLW5hdi02IiwidXJsIjoiXC9wYWdlc1wvZnVuZFwvdHJhbnNmZXIiLCJzb3J0Ijo3LCJzaG93IjoxLCJvcGVuX3R5cGUiOiJuYXZpZ2F0ZVRvIiwiaXNfZmluYW5jaWFsIjowfSx7ImlkIjo4LCJuYW1lIjoiXHU1ZTJlXHU1MmE5XHU0ZTJkXHU1ZmMzIiwidGl0bGUiOiJiel9Db250ZW4iLCJpY29uIjoic2V0dGluZy1pY29uLTgiLCJ1cmwiOiJcL3BhZ2VzXC9jb21tb25cL2ZhcSIsInNvcnQiOjgsInNob3ciOjEsIm9wZW5fdHlwZSI6Im5hdmlnYXRlVG8iLCJpc19maW5hbmNpYWwiOjB9LHsiaWQiOjksIm5hbWUiOiJORlQiLCJ0aXRsZSI6Im5mdCIsImljb24iOiJob21lLW5hdi0xMCIsInVybCI6IlwvcGFnZXNcL25mdFwvbmZ0Iiwic29ydCI6OSwic2hvdyI6MSwib3Blbl90eXBlIjoibmF2aWdhdGVUbyIsImlzX2ZpbmFuY2lhbCI6MH0seyJpZCI6MTEsIm5hbWUiOiJcdTc0MDZcdThkMjIiLCJ0aXRsZSI6ImludmVzdCIsImljb24iOiJob21lLW5hdi0xMiIsInVybCI6IlwvcGFnZXNcL2ludmVzdFwvaW52ZXN0Iiwic29ydCI6MTAsInNob3ciOjEsIm9wZW5fdHlwZSI6Im5hdmlnYXRlVG8iLCJpc19maW5hbmNpYWwiOjF9XX0="}},"time_used":624,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":624,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null},{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"futurbcvndf.com/api/menu?lang=en","fqdn":"futurbcvndf.com","domain":"futurbcvndf.com","tld":"com"},"ip":{"addr":"172.67.130.50","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://futurbcvndf.com/","date":"2026-07-27T06:23:01.492Z","timestamp":1785133381492,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"futurbcvndf.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 16 Jul 2026 16:36:02 GMT","end":"Wed, 14 Oct 2026 16:36:01 GMT"},"fingerprint":{"sha1":"46:2D:5F:F0:3D:BD:73:19:93:72:79:62:4A:45:03:09:5D:FB:1E:A5","sha256":"35:31:C4:67:1D:DB:68:C3:FB:49:03:14:DD:4E:76:FE:13:53:8D:98:98:2E:BE:EA:B8:CA:4F:B6:5B:7E:5C:1D"}}},"request":{"raw":"GET /api/menu?lang=en HTTP/1.1\r\nHost: futurbcvndf.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nAuthorization: \r\nContent-Type: application/x-www-form-urlencoded\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://futurbcvndf.com/\r\nCookie: angela_session=eyJpdiI6IlhnUEZEQ1hLNngxS0t2ZGN3TnJjV1E9PSIsInZhbHVlIjoiVGlYZUpmMXVPdEhuTGtoQzhTS3VXM3BIN3J4ZDZnU2dNTWxTc0NRcHNMTXFyNm1wQTZEQ0RKTWJ0UjRERWZ5aDBaQWxVaVdmN0VVQkNna0M2ZTJ2dTdFZkx3amdIYjZlQzEzMHozajVqTzMybnhMOHo1bEpuaXdQM1R3UVN4QmQiLCJtYWMiOiJiZWIyMTJlYzc4OWUzODk0ODBiOTI5NmU0MjA2MDBmZjJmYzA2MTI3ZjViNmY4NWYxNzIyNDI4MDhhYWMzZmI4In0%3D\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\nserver: cloudflare\r\ndate: Mon, 27 Jul 2026 06:23:01 GMT\r\ncontent-type: application/json\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=gFHdX1iE1nuJh1Msq%2F6jb9WXlPIaxglms0dY%2BqqxDTtZwiB6Wkx0G%2FlRFqcEAA7wdFtT2xc7qE%2BVZpJWl7nZVr0dXWWPXEkdXULVgBI%2BlO4%2BI2L2CKiUGKicNnO85jfW%2FKU%3D\"}]}\r\npriority: u=3,i=?0\r\naccess-control-allow-origin: *\r\naccess-control-allow-methods: POST,GET,OPTIONS,DELETE\r\naccess-control-allow-headers: x-requested-with,content-type,Authorization\r\ncache-control: no-cache, private, no-cache\r\nset-cookie: angela_session=eyJpdiI6Ikdtd2ZNSlpOTk14ZFNzOFRFdXhRWGc9PSIsInZhbHVlIjoiMG1LTHc1VmFVNWZ5UWJSWHArTzVsc1d2SkpIc2w5Y2dJaW0zczdPUGtTSTY3WElQdW5XRVE5dW5ZRUxheElIWUlXa1FoWnpodTlaSHVsMW5lbFlxVUNDNWZMRGE3YmFUbUpoUWZVUGhPTldCK1VaTWZqaTdXQU9JVUpYWE9rSmEiLCJtYWMiOiI4NGI5YzVkZTM4NTIwZTE1ODQzMTlkZWVjYzY1YmY2ZWQyODE4YTVjNzhmNzkwYTE1MzgwZjRjYzRkM2MyNDlhIn0%3D; expires=Mon, 27-Jul-2026 08:23:01 GMT; Max-Age=7200; path=/; httponly\r\nstrict-transport-security: max-age=31536000\r\ncf-cache-status: DYNAMIC\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\ncontent-encoding: zstd\r\ncf-ray: a2198d9259b30daa-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":1664,"size_decoded":1781,"mime_type":"application/json","magic":"JSON text data","md5":"125a917896fa4e12f457a99325d52c8e","sha1":"c65ec9608fc1caff3cf347105d388dca3a758f7a","sha256":"bcd62091a75e5ed60467d4eec765dc9929ff3ad57fd2d84cc0c7d228a8de8a45","sha512":"16fe5c972e19f0cc531b8f7d9181bfbd7af1e0917f31cb977763731e146de39f9caee566ff344a480798800d3ac89070c287e880781299710a2506ba02a1a657","ssdeep":"","tlshash":"cb312aed4dfc3c2dd2f761f158e3265e21860506dde4b5961befaddc02e8181829b4d1","first_seen":"2026-01-06T14:43:54.751856Z","last_seen":"2026-07-27T06:23:39.738259Z","times_seen":88,"resource_available":false,"data":"eyJ0eXBlIjoib2siLCJtZXNzYWdlIjpbeyJpZCI6MSwibmFtZSI6Ilx1NTE0NVx1NTAzYyIsInRpdGxlIjoicmVjaGFyZ2UiLCJpY29uIjoiaG9tZS1uYXYtMSIsInVybCI6IlwvcGFnZXNcL2Z1bmRcL3NlbGVjdD91cmw9cmVjZWl2ZSIsInNvcnQiOjEsInNob3ciOjEsIm9wZW5fdHlwZSI6Im5hdmlnYXRlVG8iLCJpc19maW5hbmNpYWwiOjB9LHsiaWQiOjIsIm5hbWUiOiJcdTYzZDBcdTczYjAiLCJ0aXRsZSI6IndpdGhkcmF3IiwiaWNvbiI6ImhvbWUtbmF2LTIiLCJ1cmwiOiJcL3BhZ2VzXC9mdW5kXC93aXRoZHJhdyIsInNvcnQiOjIsInNob3ciOjEsIm9wZW5fdHlwZSI6Im5hdmlnYXRlVG8iLCJpc19maW5hbmNpYWwiOjB9LHsiaWQiOjMsIm5hbWUiOiJcdTRlYTRcdTY2MTMiLCJ0aXRsZSI6InRyYW5zYWN0aW9uIiwiaWNvbiI6ImhvbWUtbmF2LTMiLCJ1cmwiOiJcL3BhZ2VzXC90cmFuc2FjdGlvblwvaW5kZXgiLCJzb3J0IjozLCJzaG93IjoxLCJvcGVuX3R5cGUiOiJzd2l0Y2hUYWIiLCJpc19maW5hbmNpYWwiOjB9LHsiaWQiOjQsIm5hbWUiOiJJRU8iLCJ0aXRsZSI6ImllbyIsImljb24iOiJob21lLW5hdi05IiwidXJsIjoiXC9wYWdlc1wvaWVvXC9pZW8iLCJzb3J0Ijo0LCJzaG93IjoxLCJvcGVuX3R5cGUiOiJuYXZpZ2F0ZVRvIiwiaXNfZmluYW5jaWFsIjoxfSx7ImlkIjo1LCJuYW1lIjoiXHU5NTAxXHU0ZWQzXHU2MzE2XHU3N2ZmIiwidGl0bGUiOiJsb2NrbWluZyIsImljb24iOiJob21lLW5hdi00IiwidXJsIjoiXC9wYWdlc1wvbG9ja21pbmdcL3dlbGNvbWUiLCJzb3J0Ijo1LCJzaG93IjoxLCJvcGVuX3R5cGUiOiJuYXZpZ2F0ZVRvIiwiaXNfZmluYW5jaWFsIjoxfSx7ImlkIjo2LCJuYW1lIjoiXHU4ZGRmXHU1MzU1IiwidGl0bGUiOiJjb3B5dHJhZGUiLCJpY29uIjoiaG9tZS1uYXYtOCIsInVybCI6IlwvcGFnZXNcL2ZvbGxvd1wvaW5kZXgiLCJzb3J0Ijo2LCJzaG93IjoxLCJvcGVuX3R5cGUiOiJuYXZpZ2F0ZVRvIiwiaXNfZmluYW5jaWFsIjowfSx7ImlkIjo3LCJuYW1lIjoiXHU1ZTAxXHU1ZTAxXHU1MjEyXHU4ZjZjIiwidGl0bGUiOiJ0cmFuc2ZlciIsImljb24iOiJob21lLW5hdi02IiwidXJsIjoiXC9wYWdlc1wvZnVuZFwvdHJhbnNmZXIiLCJzb3J0Ijo3LCJzaG93IjoxLCJvcGVuX3R5cGUiOiJuYXZpZ2F0ZVRvIiwiaXNfZmluYW5jaWFsIjowfSx7ImlkIjo4LCJuYW1lIjoiXHU1ZTJlXHU1MmE5XHU0ZTJkXHU1ZmMzIiwidGl0bGUiOiJiel9Db250ZW4iLCJpY29uIjoic2V0dGluZy1pY29uLTgiLCJ1cmwiOiJcL3BhZ2VzXC9jb21tb25cL2ZhcSIsInNvcnQiOjgsInNob3ciOjEsIm9wZW5fdHlwZSI6Im5hdmlnYXRlVG8iLCJpc19maW5hbmNpYWwiOjB9LHsiaWQiOjksIm5hbWUiOiJORlQiLCJ0aXRsZSI6Im5mdCIsImljb24iOiJob21lLW5hdi0xMCIsInVybCI6IlwvcGFnZXNcL25mdFwvbmZ0Iiwic29ydCI6OSwic2hvdyI6MSwib3Blbl90eXBlIjoibmF2aWdhdGVUbyIsImlzX2ZpbmFuY2lhbCI6MH0seyJpZCI6MTEsIm5hbWUiOiJcdTc0MDZcdThkMjIiLCJ0aXRsZSI6ImludmVzdCIsImljb24iOiJob21lLW5hdi0xMiIsInVybCI6IlwvcGFnZXNcL2ludmVzdFwvaW52ZXN0Iiwic29ydCI6MTAsInNob3ciOjEsIm9wZW5fdHlwZSI6Im5hdmlnYXRlVG8iLCJpc19maW5hbmNpYWwiOjF9XX0="}},"time_used":438,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":438,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null},{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"futurbcvndf.com/static/js/pages-common-login~pages-common-register~pages-copytrade-copy~pages-follow-index~pages-fund-fundTran~ae8d2e6c.dae2a40e.js","fqdn":"futurbcvndf.com","domain":"futurbcvndf.com","tld":"com"},"ip":{"addr":"172.67.130.50","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://futurbcvndf.com/","date":"2026-07-27T06:23:01.035Z","timestamp":1785133381035,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"futurbcvndf.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 16 Jul 2026 16:36:02 GMT","end":"Wed, 14 Oct 2026 16:36:01 GMT"},"fingerprint":{"sha1":"46:2D:5F:F0:3D:BD:73:19:93:72:79:62:4A:45:03:09:5D:FB:1E:A5","sha256":"35:31:C4:67:1D:DB:68:C3:FB:49:03:14:DD:4E:76:FE:13:53:8D:98:98:2E:BE:EA:B8:CA:4F:B6:5B:7E:5C:1D"}}},"request":{"raw":"GET /static/js/pages-common-login~pages-common-register~pages-copytrade-copy~pages-follow-index~pages-fund-fundTran~ae8d2e6c.dae2a40e.js HTTP/1.1\r\nHost: futurbcvndf.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://futurbcvndf.com/\r\nCookie: angela_session=eyJpdiI6IlhnUEZEQ1hLNngxS0t2ZGN3TnJjV1E9PSIsInZhbHVlIjoiVGlYZUpmMXVPdEhuTGtoQzhTS3VXM3BIN3J4ZDZnU2dNTWxTc0NRcHNMTXFyNm1wQTZEQ0RKTWJ0UjRERWZ5aDBaQWxVaVdmN0VVQkNna0M2ZTJ2dTdFZkx3amdIYjZlQzEzMHozajVqTzMybnhMOHo1bEpuaXdQM1R3UVN4QmQiLCJtYWMiOiJiZWIyMTJlYzc4OWUzODk0ODBiOTI5NmU0MjA2MDBmZjJmYzA2MTI3ZjViNmY4NWYxNzIyNDI4MDhhYWMzZmI4In0%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\nserver: cloudflare\r\ndate: Mon, 27 Jul 2026 06:23:01 GMT\r\ncontent-type: application/javascript\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=3,i=?0\r\nlast-modified: Wed, 13 Aug 2025 19:19:27 GMT\r\nvary: Accept-Encoding\r\netag: \"689ce53f-1dc3b\"\r\nstrict-transport-security: max-age=31536000\r\ncontent-encoding: gzip\r\ncache-control: max-age=14400\r\ncf-cache-status: REVALIDATED\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=w6rtRCJqXt%2BxjAAFWrqH74BrJ4Vf98Li6io3cinNfRF9gwaXtXtyKDBJKoqGrJfYV%2BI%2FJ948TktMjvmqUZMn%2BuTkCeKMs%2FGjA1%2F9OpEhirSvs5%2FgOacOXno9bZVpNdprmVE%3D\"}]}\r\ncf-ray: a2198d8f79310daa-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":121915,"size_decoded":22300,"mime_type":"application/javascript","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (65180), with no line terminators","md5":"2629dccf239e20c43774f7007b170602","sha1":"fba5bbbad190b1624fd8d9143b6e42026812a655","sha256":"b6eecc690c0031eb51e60df8a7b51c7dd25a61720f442d90b7a36a48375755bf","sha512":"9accf7364fd88b854fed65317bbf1750428e110324c0c5a081c95888137466a4c69667edcafab5742f818bbad527b06eccdcd542cdd4eca3d019bbfca905d3a7","ssdeep":"768:UPtEuVOdfFJrZ0Ju8thRrvDXEVUezez5E8:eeDfTrsIWB7","tlshash":"6bc309c6fad82504427bc709d54232feae2feaa742a1edd2e9c16b344e375c7250752c","first_seen":"2025-08-27T01:09:26.224694Z","last_seen":"2026-07-27T06:23:39.740645Z","times_seen":83,"resource_available":true,"data":"KHdpbmRvd1sid2VicGFja0pzb25wIl09d2luZG93WyJ3ZWJwYWNrSnNvbnAiXXx8W10pLnB1c2goW1sicGFnZXMtY29tbW9uLWxvZ2lufnBhZ2VzLWNvbW1vbi1yZWdpc3Rlcn5wYWdlcy1jb3B5dHJhZGUtY29weX5wYWdlcy1mb2xsb3ctaW5kZXh+cGFnZXMtZnVuZC1mdW5kVHJhbn5hZThkMmU2YyJdLHsiMDkxYSI6ZnVuY3Rpb24odCxhLGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1pKCI1MzU5IiksZD1pLm4obik7ZC5hfSwyMjI4OmZ1bmN0aW9uKHQsYSxpKXt2YXIgbj1pKCI0YWU1Iik7bi5fX2VzTW9kdWxlJiYobj1uLmRlZmF1bHQpLCJzdHJpbmciPT09dHlwZW9mIG4mJihuPVtbdC5pLG4sIiJdXSksbi5sb2NhbHMmJih0LmV4cG9ydHM9bi5sb2NhbHMpO3ZhciBkPWkoIjk2N2QiKS5kZWZhdWx0O2QoIjIwNTUxODRlIixuLCEwLHtzb3VyY2VNYXA6ITEsc2hhZG93TW9kZTohMX0pfSwiMmI3YSI6ZnVuY3Rpb24odCxhLGkpeyJ1c2Ugc3RyaWN0IjtpLnIoYSk7dmFyIG49aSgiZTliOSIpLGQ9aSgiZGQyZSIpO2Zvcih2YXIgbyBpbiBkKVsiZGVmYXVsdCJdLmluZGV4T2Yobyk8MCYmZnVuY3Rpb24odCl7aS5kKGEsdCwoZnVuY3Rpb24oKXtyZXR1cm4gZFt0XX0pKX0obyk7aSgiMDkxYSIpO3ZhciByPWkoIjgyOGIiKSxwPU9iamVjdChyWyJhIl0pKGRbImRlZmF1bHQiXSxuWyJiIl0sblsiYyJdLCExLG51bGwsIjdmY2IwMWMwIixudWxsLCExLG5bImEiXSx2b2lkIDApO2FbImRlZmF1bHQiXT1wLmV4cG9ydHN9LCI0MjZlIjpmdW5jdGlvbih0LGEsaSl7InVzZSBzdHJpY3QiO2kucihhKTt2YXIgbj1pKCJkMGQ2IiksZD1pKCJhZTU4Iik7Zm9yKHZhciBvIGluIGQpWyJkZWZhdWx0Il0uaW5kZXhPZihvKTwwJiZmdW5jdGlvbih0KXtpLmQoYSx0LChmdW5jdGlvbigpe3JldHVybiBkW3RdfSkpfShvKTtpKCI0OTdiMSIpO3ZhciByPWkoIjgyOGIiKSxwPU9iamVjdChyWyJhIl0pKGRbImRlZmF1bHQiXSxuWyJiIl0sblsiYyJdLCExLG51bGwsIjEwMTczN2JlIixudWxsLCExLG5bImEiXSx2b2lkIDApO2FbImRlZmF1bHQiXT1wLmV4cG9ydHN9LCI0OTdiMSI6ZnVuY3Rpb24odCxhLGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1pKCIyMjI4IiksZD1pLm4obik7ZC5hfSwiNGFlNSI6ZnVuY3Rpb24odCxhLGkpe3ZhciBuPWkoImM4NmMiKSxkPWkoIjJlYzUiKSxvPWkoIjlmNWYiKTthPW4oITEpO3ZhciByPWQobyk7YS5wdXNoKFt0LmksJ0BjaGFyc2V0ICJVVEYtOCI7XHJcbi8qKlxyXG4gKiDkuIvmlrnlvJXlhaXnmoTkuLp1VmlldyBVSeeahOmbhuaIkOagt+W8j+aWh+S7tu+8jOS4unNjc3PpooTlpITnkIblmajvvIzlhbbkuK3ljIXlkKvkuobkuIDkupsidS0i5byA5aS055qE6Ieq5a6a5LmJ5Y+Y6YePXHJcbiAqIOS9v+eUqOeahOaXtuWAme+8jOivt+WwhuS4i+mdoueahOS4gOihjOWkjeWItuWIsOaCqOeahHVuaWFwcOmhueebruagueebruW9leeahHVuaS5zY3Nz5Lit5Y2z5Y+vXHJcbiAqIHVWaWV36Ieq5a6a5LmJ55qEY3Nz57G75ZCN5ZKMc2Nzc+WPmOmHj++8jOWdh+S7pSJ1LSLlvIDlpLTvvIzkuI3kvJrpgKDmiJDlhrLnqoHvvIzor7fmlL7lv4Pkvb/nlKggXHJcbiAqLy50ZXh0LXN1Y2Nlc3NbZGF0YS12LTEwMTczN2JlXXtjb2xvcjojMjhiYTk4fS50ZXh0LXdhcm5pbmdbZGF0YS12LTEwMTczN2JlXXtjb2xvcjojZDRiYTgzfS50ZXh0LXByaW1hcnlbZGF0YS12LTEwMTczN2JlXXtjb2xvcjojMjI3N2ZjfS50ZXh0LWVycm9yW2RhdGEtdi0xMDE3MzdiZV17Y29sb3I6I2YwNGE1YX0udGV4dC1zZWNvbmRhcnlbZGF0YS12LTEwMTczN2JlXXtjb2xvcjojOTk5fS50ZXh0LWRlZXBibHVlW2RhdGEtdi0xMDE3MzdiZV17Y29sb3I6IzBkMjc1OH0udGV4dC0zMzNbZGF0YS12LTEwMTczN2JlXXtjb2xvcjojMzMzfS5wcmltYXJ5LWJ1dHRvbltkYXRhLXYtMTAxNzM3YmVde2JhY2tncm91bmQtY29sb3I6IzIyNzdmYztjb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6JT8xMD8lO2ZvbnQtc2l6ZTolPzMyPyU7cGFkZGluZzolPzQ/JSAwO2JvcmRlcjpub25lO2NvbG9yOiNmZmY7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCMwMGM2ZmIgMCwjMDA1YmVhKX0ucHJpbWFyeS1idXR0b25bZGF0YS12LTEwMTczN2JlXTphZnRlcntkaXNwbGF5Om5vbmV9LmVycm9yLWJ1dHRvbltkYXRhLXYtMTAxNzM3YmVde2JhY2tncm91bmQtY29sb3I6I2YwNGE1YTtjb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6JT8xMD8lO2ZvbnQtc2l6ZTolPzMyPyU7cGFkZGluZzolPzQ/JSAwO2JvcmRlcjpub25lO2NvbG9yOiNmZmY7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCNmNzcwNjIgMCwjZmU1MTk2KX0uZXJyb3ItYnV0dG9uW2RhdGEtdi0xMDE3MzdiZV06YWZ0ZXJ7ZGlzcGxheTpub25lfS53YXJuaW5nLWJ1dHRvbltkYXRhLXYtMTAxNzM3YmVde2JhY2tncm91bmQtY29sb3I6I2Q0YmE4Mztjb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6JT8xMD8lO2ZvbnQtc2l6ZTolPzMyPyU7cGFkZGluZzolPzQ/JSAwO2JvcmRlcjpub25lO2NvbG9yOiM0ZDRkNGQ7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMWRlZywjZmZjYzhmLCNmZmVkZDgpfS53YXJuaW5nLWJ1dHRvbltkYXRhLXYtMTAxNzM3YmVdOmFmdGVye2Rpc3BsYXk6bm9uZX0uc3VjY2Vzcy1idXR0b25bZGF0YS12LTEwMTczN2JlXXtiYWNrZ3JvdW5kLWNvbG9yOiMyOGJhOTg7Y29sb3I6I2ZmZjtib3JkZXItcmFkaXVzOiU/MTA/JTtmb250LXNpemU6JT8zMj8lO3BhZGRpbmc6JT80PyUgMDtib3JkZXI6bm9uZTtjb2xvcjojZmZmO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDBkZWcsIzBiYTM2MCAwLCMzY2JhOTIpfS5zdWNjZXNzLWJ1dHRvbltkYXRhLXYtMTAxNzM3YmVdOmFmdGVye2Rpc3BsYXk6bm9uZX0uc2Vjb25kYXJ5LWJ1dHRvbltkYXRhLXYtMTAxNzM3YmVde2JhY2tncm91bmQtY29sb3I6cmdiYSg1MSw1MSw1MSwuMDYpO2NvbG9yOiNhZmFmYWY7Ym9yZGVyLXJhZGl1czolPzEwPyU7Zm9udC1zaXplOiU/MzI/JTtwYWRkaW5nOiU/ND8lIDA7Ym9yZGVyOm5vbmU7Y29sb3I6I2IxYjBiMDtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgwZGVnLCNjNGM1YzcgMCwjZGNkZGRmIDUyJSwjZWJlYmViKX0uc2Vjb25kYXJ5LWJ1dHRvbltkYXRhLXYtMTAxNzM3YmVdOmFmdGVye2Rpc3BsYXk6bm9uZX0udGV4dC13aGl0ZVtkYXRhLXYtMTAxNzM3YmVde2NvbG9yOiNmZmYhaW1wb3J0YW50fS50ZXh0LWJsYWNrW2RhdGEtdi0xMDE3MzdiZV17Y29sb3I6IzRkNGQ0ZCFpbXBvcnRhbnR9LmJnLXdoaXRlW2RhdGEtdi0xMDE3MzdiZV17YmFja2dyb3VuZC1jb2xvcjojZmZmIWltcG9ydGFudH0uYmctcHJpbWFyeVtkYXRhLXYtMTAxNzM3YmVde2JhY2tncm91bmQtY29sb3I6IzIyNzdmYyFpbXBvcnRhbnR9LmJnLXNlY29uZGFyeVtkYXRhLXYtMTAxNzM3YmVde2JhY2tncm91bmQtY29sb3I6cmdiYSg1MSw1MSw1MSwuMDYpIWltcG9ydGFudH0uYmctYmxhY2tbZGF0YS12LTEwMTczN2JlXXtiYWNrZ3JvdW5kLWNvbG9yOiM0ZDRkNGQhaW1wb3J0YW50fS5iZy0zMzNbZGF0YS12LTEwMTczN2JlXXtiYWNrZ3JvdW5kLWNvbG9yOiMzMzMhaW1wb3J0YW50fS5tLTBbZGF0YS12LTEwMTczN2JlXXttYXJnaW46JT8wPyUhaW1wb3J0YW50fS5teC0wW2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLWxlZnQ6JT8wPyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzA/JSFpbXBvcnRhbnR9Lm1sLTBbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tbGVmdDolPzA/JSFpbXBvcnRhbnR9Lm1yLTBbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tcmlnaHQ6JT8wPyUhaW1wb3J0YW50fS5teS0wW2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLXRvcDolPzA/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzA/JSFpbXBvcnRhbnR9Lm10LTBbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tdG9wOiU/MD8lIWltcG9ydGFudH0ubWItMFtkYXRhLXYtMTAxNzM3YmVde21hcmdpbi1ib3R0b206JT8wPyUhaW1wb3J0YW50fS5wLTBbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nOiU/MD8lIWltcG9ydGFudH0ucHgtMFtkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctbGVmdDolPzA/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzA/JSFpbXBvcnRhbnR9LnBsLTBbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLWxlZnQ6JT8wPyUhaW1wb3J0YW50fS5wci0wW2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy1yaWdodDolPzA/JSFpbXBvcnRhbnR9LnB5LTBbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLXRvcDolPzA/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT8wPyUhaW1wb3J0YW50fS5wdC0wW2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy10b3A6JT8wPyUhaW1wb3J0YW50fS5wYi0wW2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy1ib3R0b206JT8wPyUhaW1wb3J0YW50fS5ncmlkLWdhcC0wW2RhdGEtdi0xMDE3MzdiZV17Z3JpZC1nYXA6JT8wPyUhaW1wb3J0YW50fS56LWluZGV4LTBbZGF0YS12LTEwMTczN2JlXXt6LWluZGV4OjAhaW1wb3J0YW50fS5tLTJbZGF0YS12LTEwMTczN2JlXXttYXJnaW46JT8yPyUhaW1wb3J0YW50fS5teC0yW2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLWxlZnQ6JT8yPyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzI/JSFpbXBvcnRhbnR9Lm1sLTJbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tbGVmdDolPzI/JSFpbXBvcnRhbnR9Lm1yLTJbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tcmlnaHQ6JT8yPyUhaW1wb3J0YW50fS5teS0yW2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLXRvcDolPzI/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzI/JSFpbXBvcnRhbnR9Lm10LTJbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tdG9wOiU/Mj8lIWltcG9ydGFudH0ubWItMltkYXRhLXYtMTAxNzM3YmVde21hcmdpbi1ib3R0b206JT8yPyUhaW1wb3J0YW50fS5wLTJbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nOiU/Mj8lIWltcG9ydGFudH0ucHgtMltkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctbGVmdDolPzI/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzI/JSFpbXBvcnRhbnR9LnBsLTJbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLWxlZnQ6JT8yPyUhaW1wb3J0YW50fS5wci0yW2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy1yaWdodDolPzI/JSFpbXBvcnRhbnR9LnB5LTJbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLXRvcDolPzI/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT8yPyUhaW1wb3J0YW50fS5wdC0yW2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy10b3A6JT8yPyUhaW1wb3J0YW50fS5wYi0yW2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy1ib3R0b206JT8yPyUhaW1wb3J0YW50fS5ncmlkLWdhcC0yW2RhdGEtdi0xMDE3MzdiZV17Z3JpZC1nYXA6JT8yPyUhaW1wb3J0YW50fS56LWluZGV4LTJbZGF0YS12LTEwMTczN2JlXXt6LWluZGV4OjIhaW1wb3J0YW50fS5tLTRbZGF0YS12LTEwMTczN2JlXXttYXJnaW46JT80PyUhaW1wb3J0YW50fS5teC00W2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLWxlZnQ6JT80PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzQ/JSFpbXBvcnRhbnR9Lm1sLTRbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tbGVmdDolPzQ/JSFpbXBvcnRhbnR9Lm1yLTRbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tcmlnaHQ6JT80PyUhaW1wb3J0YW50fS5teS00W2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLXRvcDolPzQ/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzQ/JSFpbXBvcnRhbnR9Lm10LTRbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tdG9wOiU/ND8lIWltcG9ydGFudH0ubWItNFtkYXRhLXYtMTAxNzM3YmVde21hcmdpbi1ib3R0b206JT80PyUhaW1wb3J0YW50fS5wLTRbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nOiU/ND8lIWltcG9ydGFudH0ucHgtNFtkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctbGVmdDolPzQ/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzQ/JSFpbXBvcnRhbnR9LnBsLTRbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLWxlZnQ6JT80PyUhaW1wb3J0YW50fS5wci00W2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy1yaWdodDolPzQ/JSFpbXBvcnRhbnR9LnB5LTRbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLXRvcDolPzQ/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT80PyUhaW1wb3J0YW50fS5wdC00W2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy10b3A6JT80PyUhaW1wb3J0YW50fS5wYi00W2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy1ib3R0b206JT80PyUhaW1wb3J0YW50fS5ncmlkLWdhcC00W2RhdGEtdi0xMDE3MzdiZV17Z3JpZC1nYXA6JT80PyUhaW1wb3J0YW50fS56LWluZGV4LTRbZGF0YS12LTEwMTczN2JlXXt6LWluZGV4OjQhaW1wb3J0YW50fS5tLTZbZGF0YS12LTEwMTczN2JlXXttYXJnaW46JT82PyUhaW1wb3J0YW50fS5teC02W2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLWxlZnQ6JT82PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzY/JSFpbXBvcnRhbnR9Lm1sLTZbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tbGVmdDolPzY/JSFpbXBvcnRhbnR9Lm1yLTZbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tcmlnaHQ6JT82PyUhaW1wb3J0YW50fS5teS02W2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLXRvcDolPzY/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzY/JSFpbXBvcnRhbnR9Lm10LTZbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tdG9wOiU/Nj8lIWltcG9ydGFudH0ubWItNltkYXRhLXYtMTAxNzM3YmVde21hcmdpbi1ib3R0b206JT82PyUhaW1wb3J0YW50fS5wLTZbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nOiU/Nj8lIWltcG9ydGFudH0ucHgtNltkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctbGVmdDolPzY/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzY/JSFpbXBvcnRhbnR9LnBsLTZbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLWxlZnQ6JT82PyUhaW1wb3J0YW50fS5wci02W2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy1yaWdodDolPzY/JSFpbXBvcnRhbnR9LnB5LTZbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLXRvcDolPzY/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT82PyUhaW1wb3J0YW50fS5wdC02W2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy10b3A6JT82PyUhaW1wb3J0YW50fS5wYi02W2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy1ib3R0b206JT82PyUhaW1wb3J0YW50fS5ncmlkLWdhcC02W2RhdGEtdi0xMDE3MzdiZV17Z3JpZC1nYXA6JT82PyUhaW1wb3J0YW50fS56LWluZGV4LTZbZGF0YS12LTEwMTczN2JlXXt6LWluZGV4OjYhaW1wb3J0YW50fS5tLThbZGF0YS12LTEwMTczN2JlXXttYXJnaW46JT84PyUhaW1wb3J0YW50fS5teC04W2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLWxlZnQ6JT84PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzg/JSFpbXBvcnRhbnR9Lm1sLThbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tbGVmdDolPzg/JSFpbXBvcnRhbnR9Lm1yLThbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tcmlnaHQ6JT84PyUhaW1wb3J0YW50fS5teS04W2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLXRvcDolPzg/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzg/JSFpbXBvcnRhbnR9Lm10LThbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tdG9wOiU/OD8lIWltcG9ydGFudH0ubWItOFtkYXRhLXYtMTAxNzM3YmVde21hcmdpbi1ib3R0b206JT84PyUhaW1wb3J0YW50fS5wLThbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nOiU/OD8lIWltcG9ydGFudH0ucHgtOFtkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctbGVmdDolPzg/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzg/JSFpbXBvcnRhbnR9LnBsLThbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLWxlZnQ6JT84PyUhaW1wb3J0YW50fS5wci04W2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy1yaWdodDolPzg/JSFpbXBvcnRhbnR9LnB5LThbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLXRvcDolPzg/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT84PyUhaW1wb3J0YW50fS5wdC04W2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy10b3A6JT84PyUhaW1wb3J0YW50fS5wYi04W2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy1ib3R0b206JT84PyUhaW1wb3J0YW50fS5ncmlkLWdhcC04W2RhdGEtdi0xMDE3MzdiZV17Z3JpZC1nYXA6JT84PyUhaW1wb3J0YW50fS56LWluZGV4LThbZGF0YS12LTEwMTczN2JlXXt6LWluZGV4OjghaW1wb3J0YW50fS5tLTEwW2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luOiU/MTA/JSFpbXBvcnRhbnR9Lm14LTEwW2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLWxlZnQ6JT8xMD8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT8xMD8lIWltcG9ydGFudH0ubWwtMTBbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tbGVmdDolPzEwPyUhaW1wb3J0YW50fS5tci0xMFtkYXRhLXYtMTAxNzM3YmVde21hcmdpbi1yaWdodDolPzEwPyUhaW1wb3J0YW50fS5teS0xMFtkYXRhLXYtMTAxNzM3YmVde21hcmdpbi10b3A6JT8xMD8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/MTA/JSFpbXBvcnRhbnR9Lm10LTEwW2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLXRvcDolPzEwPyUhaW1wb3J0YW50fS5tYi0xMFtkYXRhLXYtMTAxNzM3YmVde21hcmdpbi1ib3R0b206JT8xMD8lIWltcG9ydGFudH0ucC0xMFtkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmc6JT8xMD8lIWltcG9ydGFudH0ucHgtMTBbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLWxlZnQ6JT8xMD8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/MTA/JSFpbXBvcnRhbnR9LnBsLTEwW2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy1sZWZ0OiU/MTA/JSFpbXBvcnRhbnR9LnByLTEwW2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy1yaWdodDolPzEwPyUhaW1wb3J0YW50fS5weS0xMFtkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctdG9wOiU/MTA/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT8xMD8lIWltcG9ydGFudH0ucHQtMTBbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLXRvcDolPzEwPyUhaW1wb3J0YW50fS5wYi0xMFtkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctYm90dG9tOiU/MTA/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTEwW2RhdGEtdi0xMDE3MzdiZV17Z3JpZC1nYXA6JT8xMD8lIWltcG9ydGFudH0uei1pbmRleC0xMFtkYXRhLXYtMTAxNzM3YmVde3otaW5kZXg6MTAhaW1wb3J0YW50fS5tLTEyW2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luOiU/MTI/JSFpbXBvcnRhbnR9Lm14LTEyW2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLWxlZnQ6JT8xMj8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT8xMj8lIWltcG9ydGFudH0ubWwtMTJbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tbGVmdDolPzEyPyUhaW1wb3J0YW50fS5tci0xMltkYXRhLXYtMTAxNzM3YmVde21hcmdpbi1yaWdodDolPzEyPyUhaW1wb3J0YW50fS5teS0xMltkYXRhLXYtMTAxNzM3YmVde21hcmdpbi10b3A6JT8xMj8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/MTI/JSFpbXBvcnRhbnR9Lm10LTEyW2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLXRvcDolPzEyPyUhaW1wb3J0YW50fS5tYi0xMltkYXRhLXYtMTAxNzM3YmVde21hcmdpbi1ib3R0b206JT8xMj8lIWltcG9ydGFudH0ucC0xMltkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmc6JT8xMj8lIWltcG9ydGFudH0ucHgtMTJbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLWxlZnQ6JT8xMj8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/MTI/JSFpbXBvcnRhbnR9LnBsLTEyW2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy1sZWZ0OiU/MTI/JSFpbXBvcnRhbnR9LnByLTEyW2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy1yaWdodDolPzEyPyUhaW1wb3J0YW50fS5weS0xMltkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctdG9wOiU/MTI/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT8xMj8lIWltcG9ydGFudH0ucHQtMTJbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLXRvcDolPzEyPyUhaW1wb3J0YW50fS5wYi0xMltkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctYm90dG9tOiU/MTI/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTEyW2RhdGEtdi0xMDE3MzdiZV17Z3JpZC1nYXA6JT8xMj8lIWltcG9ydGFudH0uei1pbmRleC0xMltkYXRhLXYtMTAxNzM3YmVde3otaW5kZXg6MTIhaW1wb3J0YW50fS5tLTE0W2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luOiU/MTQ/JSFpbXBvcnRhbnR9Lm14LTE0W2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLWxlZnQ6JT8xND8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT8xND8lIWltcG9ydGFudH0ubWwtMTRbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tbGVmdDolPzE0PyUhaW1wb3J0YW50fS5tci0xNFtkYXRhLXYtMTAxNzM3YmVde21hcmdpbi1yaWdodDolPzE0PyUhaW1wb3J0YW50fS5teS0xNFtkYXRhLXYtMTAxNzM3YmVde21hcmdpbi10b3A6JT8xND8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/MTQ/JSFpbXBvcnRhbnR9Lm10LTE0W2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLXRvcDolPzE0PyUhaW1wb3J0YW50fS5tYi0xNFtkYXRhLXYtMTAxNzM3YmVde21hcmdpbi1ib3R0b206JT8xND8lIWltcG9ydGFudH0ucC0xNFtkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmc6JT8xND8lIWltcG9ydGFudH0ucHgtMTRbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLWxlZnQ6JT8xND8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/MTQ/JSFpbXBvcnRhbnR9LnBsLTE0W2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy1sZWZ0OiU/MTQ/JSFpbXBvcnRhbnR9LnByLTE0W2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy1yaWdodDolPzE0PyUhaW1wb3J0YW50fS5weS0xNFtkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctdG9wOiU/MTQ/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT8xND8lIWltcG9ydGFudH0ucHQtMTRbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLXRvcDolPzE0PyUhaW1wb3J0YW50fS5wYi0xNFtkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctYm90dG9tOiU/MTQ/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTE0W2RhdGEtdi0xMDE3MzdiZV17Z3JpZC1nYXA6JT8xND8lIWltcG9ydGFudH0uei1pbmRleC0xNFtkYXRhLXYtMTAxNzM3YmVde3otaW5kZXg6MTQhaW1wb3J0YW50fS5tLTE2W2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luOiU/MTY/JSFpbXBvcnRhbnR9Lm14LTE2W2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLWxlZnQ6JT8xNj8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT8xNj8lIWltcG9ydGFudH0ubWwtMTZbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tbGVmdDolPzE2PyUhaW1wb3J0YW50fS5tci0xNltkYXRhLXYtMTAxNzM3YmVde21hcmdpbi1yaWdodDolPzE2PyUhaW1wb3J0YW50fS5teS0xNltkYXRhLXYtMTAxNzM3YmVde21hcmdpbi10b3A6JT8xNj8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/MTY/JSFpbXBvcnRhbnR9Lm10LTE2W2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLXRvcDolPzE2PyUhaW1wb3J0YW50fS5tYi0xNltkYXRhLXYtMTAxNzM3YmVde21hcmdpbi1ib3R0b206JT8xNj8lIWltcG9ydGFudH0ucC0xNltkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmc6JT8xNj8lIWltcG9ydGFudH0ucHgtMTZbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLWxlZnQ6JT8xNj8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/MTY/JSFpbXBvcnRhbnR9LnBsLTE2W2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy1sZWZ0OiU/MTY/JSFpbXBvcnRhbnR9LnByLTE2W2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy1yaWdodDolPzE2PyUhaW1wb3J0YW50fS5weS0xNltkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctdG9wOiU/MTY/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT8xNj8lIWltcG9ydGFudH0ucHQtMTZbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLXRvcDolPzE2PyUhaW1wb3J0YW50fS5wYi0xNltkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctYm90dG9tOiU/MTY/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTE2W2RhdGEtdi0xMDE3MzdiZV17Z3JpZC1nYXA6JT8xNj8lIWltcG9ydGFudH0uei1pbmRleC0xNltkYXRhLXYtMTAxNzM3YmVde3otaW5kZXg6MTYhaW1wb3J0YW50fS5tLTE4W2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luOiU/MTg/JSFpbXBvcnRhbnR9Lm14LTE4W2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLWxlZnQ6JT8xOD8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT8xOD8lIWltcG9ydGFudH0ubWwtMThbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tbGVmdDolPzE4PyUhaW1wb3J0YW50fS5tci0xOFtkYXRhLXYtMTAxNzM3YmVde21hcmdpbi1yaWdodDolPzE4PyUhaW1wb3J0YW50fS5teS0xOFtkYXRhLXYtMTAxNzM3YmVde21hcmdpbi10b3A6JT8xOD8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/MTg/JSFpbXBvcnRhbnR9Lm10LTE4W2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLXRvcDolPzE4PyUhaW1wb3J0YW50fS5tYi0xOFtkYXRhLXYtMTAxNzM3YmVde21hcmdpbi1ib3R0b206JT8xOD8lIWltcG9ydGFudH0ucC0xOFtkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmc6JT8xOD8lIWltcG9ydGFudH0ucHgtMThbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLWxlZnQ6JT8xOD8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/MTg/JSFpbXBvcnRhbnR9LnBsLTE4W2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy1sZWZ0OiU/MTg/JSFpbXBvcnRhbnR9LnByLTE4W2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy1yaWdodDolPzE4PyUhaW1wb3J0YW50fS5weS0xOFtkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctdG9wOiU/MTg/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT8xOD8lIWltcG9ydGFudH0ucHQtMThbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLXRvcDolPzE4PyUhaW1wb3J0YW50fS5wYi0xOFtkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctYm90dG9tOiU/MTg/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTE4W2RhdGEtdi0xMDE3MzdiZV17Z3JpZC1nYXA6JT8xOD8lIWltcG9ydGFudH0uei1pbmRleC0xOFtkYXRhLXYtMTAxNzM3YmVde3otaW5kZXg6MTghaW1wb3J0YW50fS5mb250LXNpemUtMThbZGF0YS12LTEwMTczN2JlXXtmb250LXNpemU6JT8xOD8lIWltcG9ydGFudH0ubS0yMFtkYXRhLXYtMTAxNzM3YmVde21hcmdpbjolPzIwPyUhaW1wb3J0YW50fS5teC0yMFtkYXRhLXYtMTAxNzM3YmVde21hcmdpbi1sZWZ0OiU/MjA/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/MjA/JSFpbXBvcnRhbnR9Lm1sLTIwW2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLWxlZnQ6JT8yMD8lIWltcG9ydGFudH0ubXItMjBbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tcmlnaHQ6JT8yMD8lIWltcG9ydGFudH0ubXktMjBbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tdG9wOiU/MjA/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzIwPyUhaW1wb3J0YW50fS5tdC0yMFtkYXRhLXYtMTAxNzM3YmVde21hcmdpbi10b3A6JT8yMD8lIWltcG9ydGFudH0ubWItMjBbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tYm90dG9tOiU/MjA/JSFpbXBvcnRhbnR9LnAtMjBbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nOiU/MjA/JSFpbXBvcnRhbnR9LnB4LTIwW2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy1sZWZ0OiU/MjA/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzIwPyUhaW1wb3J0YW50fS5wbC0yMFtkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctbGVmdDolPzIwPyUhaW1wb3J0YW50fS5wci0yMFtkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctcmlnaHQ6JT8yMD8lIWltcG9ydGFudH0ucHktMjBbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLXRvcDolPzIwPyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/MjA/JSFpbXBvcnRhbnR9LnB0LTIwW2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy10b3A6JT8yMD8lIWltcG9ydGFudH0ucGItMjBbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLWJvdHRvbTolPzIwPyUhaW1wb3J0YW50fS5ncmlkLWdhcC0yMFtkYXRhLXYtMTAxNzM3YmVde2dyaWQtZ2FwOiU/MjA/JSFpbXBvcnRhbnR9LnotaW5kZXgtMjBbZGF0YS12LTEwMTczN2JlXXt6LWluZGV4OjIwIWltcG9ydGFudH0uZm9udC1zaXplLTIwW2RhdGEtdi0xMDE3MzdiZV17Zm9udC1zaXplOiU/MjA/JSFpbXBvcnRhbnR9Lm0tMjJbZGF0YS12LTEwMTczN2JlXXttYXJnaW46JT8yMj8lIWltcG9ydGFudH0ubXgtMjJbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tbGVmdDolPzIyPyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzIyPyUhaW1wb3J0YW50fS5tbC0yMltkYXRhLXYtMTAxNzM3YmVde21hcmdpbi1sZWZ0OiU/MjI/JSFpbXBvcnRhbnR9Lm1yLTIyW2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLXJpZ2h0OiU/MjI/JSFpbXBvcnRhbnR9Lm15LTIyW2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLXRvcDolPzIyPyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT8yMj8lIWltcG9ydGFudH0ubXQtMjJbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tdG9wOiU/MjI/JSFpbXBvcnRhbnR9Lm1iLTIyW2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLWJvdHRvbTolPzIyPyUhaW1wb3J0YW50fS5wLTIyW2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZzolPzIyPyUhaW1wb3J0YW50fS5weC0yMltkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctbGVmdDolPzIyPyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT8yMj8lIWltcG9ydGFudH0ucGwtMjJbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLWxlZnQ6JT8yMj8lIWltcG9ydGFudH0ucHItMjJbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLXJpZ2h0OiU/MjI/JSFpbXBvcnRhbnR9LnB5LTIyW2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy10b3A6JT8yMj8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzIyPyUhaW1wb3J0YW50fS5wdC0yMltkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctdG9wOiU/MjI/JSFpbXBvcnRhbnR9LnBiLTIyW2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy1ib3R0b206JT8yMj8lIWltcG9ydGFudH0uZ3JpZC1nYXAtMjJbZGF0YS12LTEwMTczN2JlXXtncmlkLWdhcDolPzIyPyUhaW1wb3J0YW50fS56LWluZGV4LTIyW2RhdGEtdi0xMDE3MzdiZV17ei1pbmRleDoyMiFpbXBvcnRhbnR9LmZvbnQtc2l6ZS0yMltkYXRhLXYtMTAxNzM3YmVdLCAuaW5wdXQtaXRlbSAuZ2V0LWNvZGVbZGF0YS12LTEwMTczN2JlXXtmb250LXNpemU6JT8yMj8lIWltcG9ydGFudH0ubS0yNFtkYXRhLXYtMTAxNzM3YmVde21hcmdpbjolPzI0PyUhaW1wb3J0YW50fS5teC0yNFtkYXRhLXYtMTAxNzM3YmVde21hcmdpbi1sZWZ0OiU/MjQ/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/MjQ/JSFpbXBvcnRhbnR9Lm1sLTI0W2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLWxlZnQ6JT8yND8lIWltcG9ydGFudH0ubXItMjRbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tcmlnaHQ6JT8yND8lIWltcG9ydGFudH0ubXktMjRbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tdG9wOiU/MjQ/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzI0PyUhaW1wb3J0YW50fS5tdC0yNFtkYXRhLXYtMTAxNzM3YmVde21hcmdpbi10b3A6JT8yND8lIWltcG9ydGFudH0ubWItMjRbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tYm90dG9tOiU/MjQ/JSFpbXBvcnRhbnR9LnAtMjRbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nOiU/MjQ/JSFpbXBvcnRhbnR9LnB4LTI0W2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy1sZWZ0OiU/MjQ/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzI0PyUhaW1wb3J0YW50fS5wbC0yNFtkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctbGVmdDolPzI0PyUhaW1wb3J0YW50fS5wci0yNFtkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctcmlnaHQ6JT8yND8lIWltcG9ydGFudH0ucHktMjRbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLXRvcDolPzI0PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/MjQ/JSFpbXBvcnRhbnR9LnB0LTI0W2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy10b3A6JT8yND8lIWltcG9ydGFudH0ucGItMjRbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLWJvdHRvbTolPzI0PyUhaW1wb3J0YW50fS5ncmlkLWdhcC0yNFtkYXRhLXYtMTAxNzM3YmVde2dyaWQtZ2FwOiU/MjQ/JSFpbXBvcnRhbnR9LnotaW5kZXgtMjRbZGF0YS12LTEwMTczN2JlXXt6LWluZGV4OjI0IWltcG9ydGFudH0uZm9udC1zaXplLTI0W2RhdGEtdi0xMDE3MzdiZV0sIC5sb2dpbi1pbnB1dC1ncm91cCAubGFiZWxbZGF0YS12LTEwMTczN2JlXXtmb250LXNpemU6JT8yND8lIWltcG9ydGFudH0ubS0yNltkYXRhLXYtMTAxNzM3YmVde21hcmdpbjolPzI2PyUhaW1wb3J0YW50fS5teC0yNltkYXRhLXYtMTAxNzM3YmVde21hcmdpbi1sZWZ0OiU/MjY/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/MjY/JSFpbXBvcnRhbnR9Lm1sLTI2W2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLWxlZnQ6JT8yNj8lIWltcG9ydGFudH0ubXItMjZbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tcmlnaHQ6JT8yNj8lIWltcG9ydGFudH0ubXktMjZbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tdG9wOiU/MjY/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzI2PyUhaW1wb3J0YW50fS5tdC0yNltkYXRhLXYtMTAxNzM3YmVde21hcmdpbi10b3A6JT8yNj8lIWltcG9ydGFudH0ubWItMjZbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tYm90dG9tOiU/MjY/JSFpbXBvcnRhbnR9LnAtMjZbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nOiU/MjY/JSFpbXBvcnRhbnR9LnB4LTI2W2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy1sZWZ0OiU/MjY/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzI2PyUhaW1wb3J0YW50fS5wbC0yNltkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctbGVmdDolPzI2PyUhaW1wb3J0YW50fS5wci0yNltkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctcmlnaHQ6JT8yNj8lIWltcG9ydGFudH0ucHktMjZbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLXRvcDolPzI2PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/MjY/JSFpbXBvcnRhbnR9LnB0LTI2W2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy10b3A6JT8yNj8lIWltcG9ydGFudH0ucGItMjZbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLWJvdHRvbTolPzI2PyUhaW1wb3J0YW50fS5ncmlkLWdhcC0yNltkYXRhLXYtMTAxNzM3YmVde2dyaWQtZ2FwOiU/MjY/JSFpbXBvcnRhbnR9LnotaW5kZXgtMjZbZGF0YS12LTEwMTczN2JlXXt6LWluZGV4OjI2IWltcG9ydGFudH0uZm9udC1zaXplLTI2W2RhdGEtdi0xMDE3MzdiZV17Zm9udC1zaXplOiU/MjY/JSFpbXBvcnRhbnR9Lm0tMjhbZGF0YS12LTEwMTczN2JlXXttYXJnaW46JT8yOD8lIWltcG9ydGFudH0ubXgtMjhbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tbGVmdDolPzI4PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzI4PyUhaW1wb3J0YW50fS5tbC0yOFtkYXRhLXYtMTAxNzM3YmVde21hcmdpbi1sZWZ0OiU/Mjg/JSFpbXBvcnRhbnR9Lm1yLTI4W2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLXJpZ2h0OiU/Mjg/JSFpbXBvcnRhbnR9Lm15LTI4W2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLXRvcDolPzI4PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT8yOD8lIWltcG9ydGFudH0ubXQtMjhbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tdG9wOiU/Mjg/JSFpbXBvcnRhbnR9Lm1iLTI4W2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLWJvdHRvbTolPzI4PyUhaW1wb3J0YW50fS5wLTI4W2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZzolPzI4PyUhaW1wb3J0YW50fS5weC0yOFtkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctbGVmdDolPzI4PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT8yOD8lIWltcG9ydGFudH0ucGwtMjhbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLWxlZnQ6JT8yOD8lIWltcG9ydGFudH0ucHItMjhbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLXJpZ2h0OiU/Mjg/JSFpbXBvcnRhbnR9LnB5LTI4W2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy10b3A6JT8yOD8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzI4PyUhaW1wb3J0YW50fS5wdC0yOFtkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctdG9wOiU/Mjg/JSFpbXBvcnRhbnR9LnBiLTI4W2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy1ib3R0b206JT8yOD8lIWltcG9ydGFudH0uZ3JpZC1nYXAtMjhbZGF0YS12LTEwMTczN2JlXXtncmlkLWdhcDolPzI4PyUhaW1wb3J0YW50fS56LWluZGV4LTI4W2RhdGEtdi0xMDE3MzdiZV17ei1pbmRleDoyOCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS0yOFtkYXRhLXYtMTAxNzM3YmVde2ZvbnQtc2l6ZTolPzI4PyUhaW1wb3J0YW50fS5tLTMwW2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luOiU/MzA/JSFpbXBvcnRhbnR9Lm14LTMwW2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLWxlZnQ6JT8zMD8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT8zMD8lIWltcG9ydGFudH0ubWwtMzBbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tbGVmdDolPzMwPyUhaW1wb3J0YW50fS5tci0zMFtkYXRhLXYtMTAxNzM3YmVde21hcmdpbi1yaWdodDolPzMwPyUhaW1wb3J0YW50fS5teS0zMFtkYXRhLXYtMTAxNzM3YmVde21hcmdpbi10b3A6JT8zMD8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/MzA/JSFpbXBvcnRhbnR9Lm10LTMwW2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLXRvcDolPzMwPyUhaW1wb3J0YW50fS5tYi0zMFtkYXRhLXYtMTAxNzM3YmVde21hcmdpbi1ib3R0b206JT8zMD8lIWltcG9ydGFudH0ucC0zMFtkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmc6JT8zMD8lIWltcG9ydGFudH0ucHgtMzBbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLWxlZnQ6JT8zMD8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/MzA/JSFpbXBvcnRhbnR9LnBsLTMwW2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy1sZWZ0OiU/MzA/JSFpbXBvcnRhbnR9LnByLTMwW2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy1yaWdodDolPzMwPyUhaW1wb3J0YW50fS5weS0zMFtkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctdG9wOiU/MzA/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT8zMD8lIWltcG9ydGFudH0ucHQtMzBbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLXRvcDolPzMwPyUhaW1wb3J0YW50fS5wYi0zMFtkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctYm90dG9tOiU/MzA/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTMwW2RhdGEtdi0xMDE3MzdiZV17Z3JpZC1nYXA6JT8zMD8lIWltcG9ydGFudH0uei1pbmRleC0zMFtkYXRhLXYtMTAxNzM3YmVde3otaW5kZXg6MzAhaW1wb3J0YW50fS5mb250LXNpemUtMzBbZGF0YS12LTEwMTczN2JlXXtmb250LXNpemU6JT8zMD8lIWltcG9ydGFudH0ubS0zMltkYXRhLXYtMTAxNzM3YmVde21hcmdpbjolPzMyPyUhaW1wb3J0YW50fS5teC0zMltkYXRhLXYtMTAxNzM3YmVde21hcmdpbi1sZWZ0OiU/MzI/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/MzI/JSFpbXBvcnRhbnR9Lm1sLTMyW2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLWxlZnQ6JT8zMj8lIWltcG9ydGFudH0ubXItMzJbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tcmlnaHQ6JT8zMj8lIWltcG9ydGFudH0ubXktMzJbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tdG9wOiU/MzI/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzMyPyUhaW1wb3J0YW50fS5tdC0zMltkYXRhLXYtMTAxNzM3YmVde21hcmdpbi10b3A6JT8zMj8lIWltcG9ydGFudH0ubWItMzJbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tYm90dG9tOiU/MzI/JSFpbXBvcnRhbnR9LnAtMzJbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nOiU/MzI/JSFpbXBvcnRhbnR9LnB4LTMyW2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy1sZWZ0OiU/MzI/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzMyPyUhaW1wb3J0YW50fS5wbC0zMltkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctbGVmdDolPzMyPyUhaW1wb3J0YW50fS5wci0zMltkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctcmlnaHQ6JT8zMj8lIWltcG9ydGFudH0ucHktMzJbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLXRvcDolPzMyPyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/MzI/JSFpbXBvcnRhbnR9LnB0LTMyW2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy10b3A6JT8zMj8lIWltcG9ydGFudH0ucGItMzJbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLWJvdHRvbTolPzMyPyUhaW1wb3J0YW50fS5ncmlkLWdhcC0zMltkYXRhLXYtMTAxNzM3YmVde2dyaWQtZ2FwOiU/MzI/JSFpbXBvcnRhbnR9LnotaW5kZXgtMzJbZGF0YS12LTEwMTczN2JlXXt6LWluZGV4OjMyIWltcG9ydGFudH0uZm9udC1zaXplLTMyW2RhdGEtdi0xMDE3MzdiZV0sIC5pbnB1dFtkYXRhLXYtMTAxNzM3YmVdLCAubG9naW4taW5wdXQtZ3JvdXAgLmxvZ2luLWlucHV0W2RhdGEtdi0xMDE3MzdiZV0sIC5hcnRpY2xlIHVuaS10ZXh0W2RhdGEtdi0xMDE3MzdiZV17Zm9udC1zaXplOiU/MzI/JSFpbXBvcnRhbnR9Lm0tMzRbZGF0YS12LTEwMTczN2JlXXttYXJnaW46JT8zND8lIWltcG9ydGFudH0ubXgtMzRbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tbGVmdDolPzM0PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzM0PyUhaW1wb3J0YW50fS5tbC0zNFtkYXRhLXYtMTAxNzM3YmVde21hcmdpbi1sZWZ0OiU/MzQ/JSFpbXBvcnRhbnR9Lm1yLTM0W2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLXJpZ2h0OiU/MzQ/JSFpbXBvcnRhbnR9Lm15LTM0W2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLXRvcDolPzM0PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT8zND8lIWltcG9ydGFudH0ubXQtMzRbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tdG9wOiU/MzQ/JSFpbXBvcnRhbnR9Lm1iLTM0W2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLWJvdHRvbTolPzM0PyUhaW1wb3J0YW50fS5wLTM0W2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZzolPzM0PyUhaW1wb3J0YW50fS5weC0zNFtkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctbGVmdDolPzM0PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT8zND8lIWltcG9ydGFudH0ucGwtMzRbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLWxlZnQ6JT8zND8lIWltcG9ydGFudH0ucHItMzRbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLXJpZ2h0OiU/MzQ/JSFpbXBvcnRhbnR9LnB5LTM0W2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy10b3A6JT8zND8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzM0PyUhaW1wb3J0YW50fS5wdC0zNFtkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctdG9wOiU/MzQ/JSFpbXBvcnRhbnR9LnBiLTM0W2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy1ib3R0b206JT8zND8lIWltcG9ydGFudH0uZ3JpZC1nYXAtMzRbZGF0YS12LTEwMTczN2JlXXtncmlkLWdhcDolPzM0PyUhaW1wb3J0YW50fS56LWluZGV4LTM0W2RhdGEtdi0xMDE3MzdiZV17ei1pbmRleDozNCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS0zNFtkYXRhLXYtMTAxNzM3YmVde2ZvbnQtc2l6ZTolPzM0PyUhaW1wb3J0YW50fS5tLTM2W2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luOiU/MzY/JSFpbXBvcnRhbnR9Lm14LTM2W2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLWxlZnQ6JT8zNj8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT8zNj8lIWltcG9ydGFudH0ubWwtMzZbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tbGVmdDolPzM2PyUhaW1wb3J0YW50fS5tci0zNltkYXRhLXYtMTAxNzM3YmVde21hcmdpbi1yaWdodDolPzM2PyUhaW1wb3J0YW50fS5teS0zNltkYXRhLXYtMTAxNzM3YmVde21hcmdpbi10b3A6JT8zNj8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/MzY/JSFpbXBvcnRhbnR9Lm10LTM2W2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLXRvcDolPzM2PyUhaW1wb3J0YW50fS5tYi0zNltkYXRhLXYtMTAxNzM3YmVde21hcmdpbi1ib3R0b206JT8zNj8lIWltcG9ydGFudH0ucC0zNltkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmc6JT8zNj8lIWltcG9ydGFudH0ucHgtMzZbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLWxlZnQ6JT8zNj8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/MzY/JSFpbXBvcnRhbnR9LnBsLTM2W2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy1sZWZ0OiU/MzY/JSFpbXBvcnRhbnR9LnByLTM2W2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy1yaWdodDolPzM2PyUhaW1wb3J0YW50fS5weS0zNltkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctdG9wOiU/MzY/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT8zNj8lIWltcG9ydGFudH0ucHQtMzZbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLXRvcDolPzM2PyUhaW1wb3J0YW50fS5wYi0zNltkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctYm90dG9tOiU/MzY/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTM2W2RhdGEtdi0xMDE3MzdiZV17Z3JpZC1nYXA6JT8zNj8lIWltcG9ydGFudH0uei1pbmRleC0zNltkYXRhLXYtMTAxNzM3YmVde3otaW5kZXg6MzYhaW1wb3J0YW50fS5mb250LXNpemUtMzZbZGF0YS12LTEwMTczN2JlXXtmb250LXNpemU6JT8zNj8lIWltcG9ydGFudH0ubS0zOFtkYXRhLXYtMTAxNzM3YmVde21hcmdpbjolPzM4PyUhaW1wb3J0YW50fS5teC0zOFtkYXRhLXYtMTAxNzM3YmVde21hcmdpbi1sZWZ0OiU/Mzg/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/Mzg/JSFpbXBvcnRhbnR9Lm1sLTM4W2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLWxlZnQ6JT8zOD8lIWltcG9ydGFudH0ubXItMzhbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tcmlnaHQ6JT8zOD8lIWltcG9ydGFudH0ubXktMzhbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tdG9wOiU/Mzg/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzM4PyUhaW1wb3J0YW50fS5tdC0zOFtkYXRhLXYtMTAxNzM3YmVde21hcmdpbi10b3A6JT8zOD8lIWltcG9ydGFudH0ubWItMzhbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tYm90dG9tOiU/Mzg/JSFpbXBvcnRhbnR9LnAtMzhbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nOiU/Mzg/JSFpbXBvcnRhbnR9LnB4LTM4W2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy1sZWZ0OiU/Mzg/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzM4PyUhaW1wb3J0YW50fS5wbC0zOFtkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctbGVmdDolPzM4PyUhaW1wb3J0YW50fS5wci0zOFtkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctcmlnaHQ6JT8zOD8lIWltcG9ydGFudH0ucHktMzhbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLXRvcDolPzM4PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/Mzg/JSFpbXBvcnRhbnR9LnB0LTM4W2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy10b3A6JT8zOD8lIWltcG9ydGFudH0ucGItMzhbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLWJvdHRvbTolPzM4PyUhaW1wb3J0YW50fS5ncmlkLWdhcC0zOFtkYXRhLXYtMTAxNzM3YmVde2dyaWQtZ2FwOiU/Mzg/JSFpbXBvcnRhbnR9LnotaW5kZXgtMzhbZGF0YS12LTEwMTczN2JlXXt6LWluZGV4OjM4IWltcG9ydGFudH0uZm9udC1zaXplLTM4W2RhdGEtdi0xMDE3MzdiZV17Zm9udC1zaXplOiU/Mzg/JSFpbXBvcnRhbnR9Lm0tNDBbZGF0YS12LTEwMTczN2JlXXttYXJnaW46JT80MD8lIWltcG9ydGFudH0ubXgtNDBbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tbGVmdDolPzQwPyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzQwPyUhaW1wb3J0YW50fS5tbC00MFtkYXRhLXYtMTAxNzM3YmVde21hcmdpbi1sZWZ0OiU/NDA/JSFpbXBvcnRhbnR9Lm1yLTQwW2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLXJpZ2h0OiU/NDA/JSFpbXBvcnRhbnR9Lm15LTQwW2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLXRvcDolPzQwPyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT80MD8lIWltcG9ydGFudH0ubXQtNDBbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tdG9wOiU/NDA/JSFpbXBvcnRhbnR9Lm1iLTQwW2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLWJvdHRvbTolPzQwPyUhaW1wb3J0YW50fS5wLTQwW2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZzolPzQwPyUhaW1wb3J0YW50fS5weC00MFtkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctbGVmdDolPzQwPyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT80MD8lIWltcG9ydGFudH0ucGwtNDBbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLWxlZnQ6JT80MD8lIWltcG9ydGFudH0ucHItNDBbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLXJpZ2h0OiU/NDA/JSFpbXBvcnRhbnR9LnB5LTQwW2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy10b3A6JT80MD8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzQwPyUhaW1wb3J0YW50fS5wdC00MFtkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctdG9wOiU/NDA/JSFpbXBvcnRhbnR9LnBiLTQwW2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy1ib3R0b206JT80MD8lIWltcG9ydGFudH0uZ3JpZC1nYXAtNDBbZGF0YS12LTEwMTczN2JlXXtncmlkLWdhcDolPzQwPyUhaW1wb3J0YW50fS56LWluZGV4LTQwW2RhdGEtdi0xMDE3MzdiZV17ei1pbmRleDo0MCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS00MFtkYXRhLXYtMTAxNzM3YmVde2ZvbnQtc2l6ZTolPzQwPyUhaW1wb3J0YW50fS5tLTQyW2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luOiU/NDI/JSFpbXBvcnRhbnR9Lm14LTQyW2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLWxlZnQ6JT80Mj8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT80Mj8lIWltcG9ydGFudH0ubWwtNDJbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tbGVmdDolPzQyPyUhaW1wb3J0YW50fS5tci00MltkYXRhLXYtMTAxNzM3YmVde21hcmdpbi1yaWdodDolPzQyPyUhaW1wb3J0YW50fS5teS00MltkYXRhLXYtMTAxNzM3YmVde21hcmdpbi10b3A6JT80Mj8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/NDI/JSFpbXBvcnRhbnR9Lm10LTQyW2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLXRvcDolPzQyPyUhaW1wb3J0YW50fS5tYi00MltkYXRhLXYtMTAxNzM3YmVde21hcmdpbi1ib3R0b206JT80Mj8lIWltcG9ydGFudH0ucC00MltkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmc6JT80Mj8lIWltcG9ydGFudH0ucHgtNDJbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLWxlZnQ6JT80Mj8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/NDI/JSFpbXBvcnRhbnR9LnBsLTQyW2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy1sZWZ0OiU/NDI/JSFpbXBvcnRhbnR9LnByLTQyW2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy1yaWdodDolPzQyPyUhaW1wb3J0YW50fS5weS00MltkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctdG9wOiU/NDI/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT80Mj8lIWltcG9ydGFudH0ucHQtNDJbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLXRvcDolPzQyPyUhaW1wb3J0YW50fS5wYi00MltkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctYm90dG9tOiU/NDI/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTQyW2RhdGEtdi0xMDE3MzdiZV17Z3JpZC1nYXA6JT80Mj8lIWltcG9ydGFudH0uei1pbmRleC00MltkYXRhLXYtMTAxNzM3YmVde3otaW5kZXg6NDIhaW1wb3J0YW50fS5mb250LXNpemUtNDJbZGF0YS12LTEwMTczN2JlXXtmb250LXNpemU6JT80Mj8lIWltcG9ydGFudH0ubS00NFtkYXRhLXYtMTAxNzM3YmVde21hcmdpbjolPzQ0PyUhaW1wb3J0YW50fS5teC00NFtkYXRhLXYtMTAxNzM3YmVde21hcmdpbi1sZWZ0OiU/NDQ/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/NDQ/JSFpbXBvcnRhbnR9Lm1sLTQ0W2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLWxlZnQ6JT80ND8lIWltcG9ydGFudH0ubXItNDRbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tcmlnaHQ6JT80ND8lIWltcG9ydGFudH0ubXktNDRbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tdG9wOiU/NDQ/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzQ0PyUhaW1wb3J0YW50fS5tdC00NFtkYXRhLXYtMTAxNzM3YmVde21hcmdpbi10b3A6JT80ND8lIWltcG9ydGFudH0ubWItNDRbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tYm90dG9tOiU/NDQ/JSFpbXBvcnRhbnR9LnAtNDRbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nOiU/NDQ/JSFpbXBvcnRhbnR9LnB4LTQ0W2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy1sZWZ0OiU/NDQ/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzQ0PyUhaW1wb3J0YW50fS5wbC00NFtkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctbGVmdDolPzQ0PyUhaW1wb3J0YW50fS5wci00NFtkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctcmlnaHQ6JT80ND8lIWltcG9ydGFudH0ucHktNDRbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLXRvcDolPzQ0PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NDQ/JSFpbXBvcnRhbnR9LnB0LTQ0W2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy10b3A6JT80ND8lIWltcG9ydGFudH0ucGItNDRbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLWJvdHRvbTolPzQ0PyUhaW1wb3J0YW50fS5ncmlkLWdhcC00NFtkYXRhLXYtMTAxNzM3YmVde2dyaWQtZ2FwOiU/NDQ/JSFpbXBvcnRhbnR9LnotaW5kZXgtNDRbZGF0YS12LTEwMTczN2JlXXt6LWluZGV4OjQ0IWltcG9ydGFudH0uZm9udC1zaXplLTQ0W2RhdGEtdi0xMDE3MzdiZV17Zm9udC1zaXplOiU/NDQ/JSFpbXBvcnRhbnR9Lm0tNDZbZGF0YS12LTEwMTczN2JlXXttYXJnaW46JT80Nj8lIWltcG9ydGFudH0ubXgtNDZbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tbGVmdDolPzQ2PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzQ2PyUhaW1wb3J0YW50fS5tbC00NltkYXRhLXYtMTAxNzM3YmVde21hcmdpbi1sZWZ0OiU/NDY/JSFpbXBvcnRhbnR9Lm1yLTQ2W2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLXJpZ2h0OiU/NDY/JSFpbXBvcnRhbnR9Lm15LTQ2W2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLXRvcDolPzQ2PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT80Nj8lIWltcG9ydGFudH0ubXQtNDZbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tdG9wOiU/NDY/JSFpbXBvcnRhbnR9Lm1iLTQ2W2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLWJvdHRvbTolPzQ2PyUhaW1wb3J0YW50fS5wLTQ2W2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZzolPzQ2PyUhaW1wb3J0YW50fS5weC00NltkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctbGVmdDolPzQ2PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT80Nj8lIWltcG9ydGFudH0ucGwtNDZbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLWxlZnQ6JT80Nj8lIWltcG9ydGFudH0ucHItNDZbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLXJpZ2h0OiU/NDY/JSFpbXBvcnRhbnR9LnB5LTQ2W2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy10b3A6JT80Nj8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzQ2PyUhaW1wb3J0YW50fS5wdC00NltkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctdG9wOiU/NDY/JSFpbXBvcnRhbnR9LnBiLTQ2W2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy1ib3R0b206JT80Nj8lIWltcG9ydGFudH0uZ3JpZC1nYXAtNDZbZGF0YS12LTEwMTczN2JlXXtncmlkLWdhcDolPzQ2PyUhaW1wb3J0YW50fS56LWluZGV4LTQ2W2RhdGEtdi0xMDE3MzdiZV17ei1pbmRleDo0NiFpbXBvcnRhbnR9LmZvbnQtc2l6ZS00NltkYXRhLXYtMTAxNzM3YmVde2ZvbnQtc2l6ZTolPzQ2PyUhaW1wb3J0YW50fS5tLTQ4W2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luOiU/NDg/JSFpbXBvcnRhbnR9Lm14LTQ4W2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLWxlZnQ6JT80OD8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT80OD8lIWltcG9ydGFudH0ubWwtNDhbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tbGVmdDolPzQ4PyUhaW1wb3J0YW50fS5tci00OFtkYXRhLXYtMTAxNzM3YmVde21hcmdpbi1yaWdodDolPzQ4PyUhaW1wb3J0YW50fS5teS00OFtkYXRhLXYtMTAxNzM3YmVde21hcmdpbi10b3A6JT80OD8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/NDg/JSFpbXBvcnRhbnR9Lm10LTQ4W2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLXRvcDolPzQ4PyUhaW1wb3J0YW50fS5tYi00OFtkYXRhLXYtMTAxNzM3YmVde21hcmdpbi1ib3R0b206JT80OD8lIWltcG9ydGFudH0ucC00OFtkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmc6JT80OD8lIWltcG9ydGFudH0ucHgtNDhbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLWxlZnQ6JT80OD8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/NDg/JSFpbXBvcnRhbnR9LnBsLTQ4W2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy1sZWZ0OiU/NDg/JSFpbXBvcnRhbnR9LnByLTQ4W2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy1yaWdodDolPzQ4PyUhaW1wb3J0YW50fS5weS00OFtkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctdG9wOiU/NDg/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT80OD8lIWltcG9ydGFudH0ucHQtNDhbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLXRvcDolPzQ4PyUhaW1wb3J0YW50fS5wYi00OFtkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctYm90dG9tOiU/NDg/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTQ4W2RhdGEtdi0xMDE3MzdiZV17Z3JpZC1nYXA6JT80OD8lIWltcG9ydGFudH0uei1pbmRleC00OFtkYXRhLXYtMTAxNzM3YmVde3otaW5kZXg6NDghaW1wb3J0YW50fS5mb250LXNpemUtNDhbZGF0YS12LTEwMTczN2JlXXtmb250LXNpemU6JT80OD8lIWltcG9ydGFudH0ubS01MFtkYXRhLXYtMTAxNzM3YmVde21hcmdpbjolPzUwPyUhaW1wb3J0YW50fS5teC01MFtkYXRhLXYtMTAxNzM3YmVde21hcmdpbi1sZWZ0OiU/NTA/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/NTA/JSFpbXBvcnRhbnR9Lm1sLTUwW2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLWxlZnQ6JT81MD8lIWltcG9ydGFudH0ubXItNTBbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tcmlnaHQ6JT81MD8lIWltcG9ydGFudH0ubXktNTBbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tdG9wOiU/NTA/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzUwPyUhaW1wb3J0YW50fS5tdC01MFtkYXRhLXYtMTAxNzM3YmVde21hcmdpbi10b3A6JT81MD8lIWltcG9ydGFudH0ubWItNTBbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tYm90dG9tOiU/NTA/JSFpbXBvcnRhbnR9LnAtNTBbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nOiU/NTA/JSFpbXBvcnRhbnR9LnB4LTUwW2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy1sZWZ0OiU/NTA/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzUwPyUhaW1wb3J0YW50fS5wbC01MFtkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctbGVmdDolPzUwPyUhaW1wb3J0YW50fS5wci01MFtkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctcmlnaHQ6JT81MD8lIWltcG9ydGFudH0ucHktNTBbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLXRvcDolPzUwPyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NTA/JSFpbXBvcnRhbnR9LnB0LTUwW2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy10b3A6JT81MD8lIWltcG9ydGFudH0ucGItNTBbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLWJvdHRvbTolPzUwPyUhaW1wb3J0YW50fS5ncmlkLWdhcC01MFtkYXRhLXYtMTAxNzM3YmVde2dyaWQtZ2FwOiU/NTA/JSFpbXBvcnRhbnR9LnotaW5kZXgtNTBbZGF0YS12LTEwMTczN2JlXXt6LWluZGV4OjUwIWltcG9ydGFudH0uZm9udC1zaXplLTUwW2RhdGEtdi0xMDE3MzdiZV17Zm9udC1zaXplOiU/NTA/JSFpbXBvcnRhbnR9Lm0tNTJbZGF0YS12LTEwMTczN2JlXXttYXJnaW46JT81Mj8lIWltcG9ydGFudH0ubXgtNTJbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tbGVmdDolPzUyPyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzUyPyUhaW1wb3J0YW50fS5tbC01MltkYXRhLXYtMTAxNzM3YmVde21hcmdpbi1sZWZ0OiU/NTI/JSFpbXBvcnRhbnR9Lm1yLTUyW2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLXJpZ2h0OiU/NTI/JSFpbXBvcnRhbnR9Lm15LTUyW2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLXRvcDolPzUyPyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT81Mj8lIWltcG9ydGFudH0ubXQtNTJbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tdG9wOiU/NTI/JSFpbXBvcnRhbnR9Lm1iLTUyW2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLWJvdHRvbTolPzUyPyUhaW1wb3J0YW50fS5wLTUyW2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZzolPzUyPyUhaW1wb3J0YW50fS5weC01MltkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctbGVmdDolPzUyPyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT81Mj8lIWltcG9ydGFudH0ucGwtNTJbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLWxlZnQ6JT81Mj8lIWltcG9ydGFudH0ucHItNTJbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLXJpZ2h0OiU/NTI/JSFpbXBvcnRhbnR9LnB5LTUyW2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy10b3A6JT81Mj8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzUyPyUhaW1wb3J0YW50fS5wdC01MltkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctdG9wOiU/NTI/JSFpbXBvcnRhbnR9LnBiLTUyW2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy1ib3R0b206JT81Mj8lIWltcG9ydGFudH0uZ3JpZC1nYXAtNTJbZGF0YS12LTEwMTczN2JlXXtncmlkLWdhcDolPzUyPyUhaW1wb3J0YW50fS56LWluZGV4LTUyW2RhdGEtdi0xMDE3MzdiZV17ei1pbmRleDo1MiFpbXBvcnRhbnR9LmZvbnQtc2l6ZS01MltkYXRhLXYtMTAxNzM3YmVde2ZvbnQtc2l6ZTolPzUyPyUhaW1wb3J0YW50fS5tLTU0W2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luOiU/NTQ/JSFpbXBvcnRhbnR9Lm14LTU0W2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLWxlZnQ6JT81ND8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT81ND8lIWltcG9ydGFudH0ubWwtNTRbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tbGVmdDolPzU0PyUhaW1wb3J0YW50fS5tci01NFtkYXRhLXYtMTAxNzM3YmVde21hcmdpbi1yaWdodDolPzU0PyUhaW1wb3J0YW50fS5teS01NFtkYXRhLXYtMTAxNzM3YmVde21hcmdpbi10b3A6JT81ND8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/NTQ/JSFpbXBvcnRhbnR9Lm10LTU0W2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLXRvcDolPzU0PyUhaW1wb3J0YW50fS5tYi01NFtkYXRhLXYtMTAxNzM3YmVde21hcmdpbi1ib3R0b206JT81ND8lIWltcG9ydGFudH0ucC01NFtkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmc6JT81ND8lIWltcG9ydGFudH0ucHgtNTRbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLWxlZnQ6JT81ND8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/NTQ/JSFpbXBvcnRhbnR9LnBsLTU0W2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy1sZWZ0OiU/NTQ/JSFpbXBvcnRhbnR9LnByLTU0W2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy1yaWdodDolPzU0PyUhaW1wb3J0YW50fS5weS01NFtkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctdG9wOiU/NTQ/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT81ND8lIWltcG9ydGFudH0ucHQtNTRbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLXRvcDolPzU0PyUhaW1wb3J0YW50fS5wYi01NFtkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctYm90dG9tOiU/NTQ/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTU0W2RhdGEtdi0xMDE3MzdiZV17Z3JpZC1nYXA6JT81ND8lIWltcG9ydGFudH0uei1pbmRleC01NFtkYXRhLXYtMTAxNzM3YmVde3otaW5kZXg6NTQhaW1wb3J0YW50fS5mb250LXNpemUtNTRbZGF0YS12LTEwMTczN2JlXXtmb250LXNpemU6JT81ND8lIWltcG9ydGFudH0ubS01NltkYXRhLXYtMTAxNzM3YmVde21hcmdpbjolPzU2PyUhaW1wb3J0YW50fS5teC01NltkYXRhLXYtMTAxNzM3YmVde21hcmdpbi1sZWZ0OiU/NTY/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/NTY/JSFpbXBvcnRhbnR9Lm1sLTU2W2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLWxlZnQ6JT81Nj8lIWltcG9ydGFudH0ubXItNTZbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tcmlnaHQ6JT81Nj8lIWltcG9ydGFudH0ubXktNTZbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tdG9wOiU/NTY/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzU2PyUhaW1wb3J0YW50fS5tdC01NltkYXRhLXYtMTAxNzM3YmVde21hcmdpbi10b3A6JT81Nj8lIWltcG9ydGFudH0ubWItNTZbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tYm90dG9tOiU/NTY/JSFpbXBvcnRhbnR9LnAtNTZbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nOiU/NTY/JSFpbXBvcnRhbnR9LnB4LTU2W2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy1sZWZ0OiU/NTY/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzU2PyUhaW1wb3J0YW50fS5wbC01NltkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctbGVmdDolPzU2PyUhaW1wb3J0YW50fS5wci01NltkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctcmlnaHQ6JT81Nj8lIWltcG9ydGFudH0ucHktNTZbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLXRvcDolPzU2PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NTY/JSFpbXBvcnRhbnR9LnB0LTU2W2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy10b3A6JT81Nj8lIWltcG9ydGFudH0ucGItNTZbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLWJvdHRvbTolPzU2PyUhaW1wb3J0YW50fS5ncmlkLWdhcC01NltkYXRhLXYtMTAxNzM3YmVde2dyaWQtZ2FwOiU/NTY/JSFpbXBvcnRhbnR9LnotaW5kZXgtNTZbZGF0YS12LTEwMTczN2JlXXt6LWluZGV4OjU2IWltcG9ydGFudH0uZm9udC1zaXplLTU2W2RhdGEtdi0xMDE3MzdiZV17Zm9udC1zaXplOiU/NTY/JSFpbXBvcnRhbnR9Lm0tNThbZGF0YS12LTEwMTczN2JlXXttYXJnaW46JT81OD8lIWltcG9ydGFudH0ubXgtNThbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tbGVmdDolPzU4PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzU4PyUhaW1wb3J0YW50fS5tbC01OFtkYXRhLXYtMTAxNzM3YmVde21hcmdpbi1sZWZ0OiU/NTg/JSFpbXBvcnRhbnR9Lm1yLTU4W2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLXJpZ2h0OiU/NTg/JSFpbXBvcnRhbnR9Lm15LTU4W2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLXRvcDolPzU4PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT81OD8lIWltcG9ydGFudH0ubXQtNThbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tdG9wOiU/NTg/JSFpbXBvcnRhbnR9Lm1iLTU4W2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLWJvdHRvbTolPzU4PyUhaW1wb3J0YW50fS5wLTU4W2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZzolPzU4PyUhaW1wb3J0YW50fS5weC01OFtkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctbGVmdDolPzU4PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT81OD8lIWltcG9ydGFudH0ucGwtNThbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLWxlZnQ6JT81OD8lIWltcG9ydGFudH0ucHItNThbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLXJpZ2h0OiU/NTg/JSFpbXBvcnRhbnR9LnB5LTU4W2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy10b3A6JT81OD8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzU4PyUhaW1wb3J0YW50fS5wdC01OFtkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctdG9wOiU/NTg/JSFpbXBvcnRhbnR9LnBiLTU4W2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy1ib3R0b206JT81OD8lIWltcG9ydGFudH0uZ3JpZC1nYXAtNThbZGF0YS12LTEwMTczN2JlXXtncmlkLWdhcDolPzU4PyUhaW1wb3J0YW50fS56LWluZGV4LTU4W2RhdGEtdi0xMDE3MzdiZV17ei1pbmRleDo1OCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS01OFtkYXRhLXYtMTAxNzM3YmVde2ZvbnQtc2l6ZTolPzU4PyUhaW1wb3J0YW50fS5tLTYwW2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luOiU/NjA/JSFpbXBvcnRhbnR9Lm14LTYwW2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLWxlZnQ6JT82MD8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT82MD8lIWltcG9ydGFudH0ubWwtNjBbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tbGVmdDolPzYwPyUhaW1wb3J0YW50fS5tci02MFtkYXRhLXYtMTAxNzM3YmVde21hcmdpbi1yaWdodDolPzYwPyUhaW1wb3J0YW50fS5teS02MFtkYXRhLXYtMTAxNzM3YmVde21hcmdpbi10b3A6JT82MD8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/NjA/JSFpbXBvcnRhbnR9Lm10LTYwW2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLXRvcDolPzYwPyUhaW1wb3J0YW50fS5tYi02MFtkYXRhLXYtMTAxNzM3YmVde21hcmdpbi1ib3R0b206JT82MD8lIWltcG9ydGFudH0ucC02MFtkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmc6JT82MD8lIWltcG9ydGFudH0ucHgtNjBbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLWxlZnQ6JT82MD8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/NjA/JSFpbXBvcnRhbnR9LnBsLTYwW2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy1sZWZ0OiU/NjA/JSFpbXBvcnRhbnR9LnByLTYwW2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy1yaWdodDolPzYwPyUhaW1wb3J0YW50fS5weS02MFtkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctdG9wOiU/NjA/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT82MD8lIWltcG9ydGFudH0ucHQtNjBbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLXRvcDolPzYwPyUhaW1wb3J0YW50fS5wYi02MFtkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctYm90dG9tOiU/NjA/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTYwW2RhdGEtdi0xMDE3MzdiZV17Z3JpZC1nYXA6JT82MD8lIWltcG9ydGFudH0uei1pbmRleC02MFtkYXRhLXYtMTAxNzM3YmVde3otaW5kZXg6NjAhaW1wb3J0YW50fS5mb250LXNpemUtNjBbZGF0YS12LTEwMTczN2JlXXtmb250LXNpemU6JT82MD8lIWltcG9ydGFudH0ubS02MltkYXRhLXYtMTAxNzM3YmVde21hcmdpbjolPzYyPyUhaW1wb3J0YW50fS5teC02MltkYXRhLXYtMTAxNzM3YmVde21hcmdpbi1sZWZ0OiU/NjI/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/NjI/JSFpbXBvcnRhbnR9Lm1sLTYyW2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLWxlZnQ6JT82Mj8lIWltcG9ydGFudH0ubXItNjJbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tcmlnaHQ6JT82Mj8lIWltcG9ydGFudH0ubXktNjJbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tdG9wOiU/NjI/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzYyPyUhaW1wb3J0YW50fS5tdC02MltkYXRhLXYtMTAxNzM3YmVde21hcmdpbi10b3A6JT82Mj8lIWltcG9ydGFudH0ubWItNjJbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tYm90dG9tOiU/NjI/JSFpbXBvcnRhbnR9LnAtNjJbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nOiU/NjI/JSFpbXBvcnRhbnR9LnB4LTYyW2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy1sZWZ0OiU/NjI/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzYyPyUhaW1wb3J0YW50fS5wbC02MltkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctbGVmdDolPzYyPyUhaW1wb3J0YW50fS5wci02MltkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctcmlnaHQ6JT82Mj8lIWltcG9ydGFudH0ucHktNjJbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLXRvcDolPzYyPyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NjI/JSFpbXBvcnRhbnR9LnB0LTYyW2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy10b3A6JT82Mj8lIWltcG9ydGFudH0ucGItNjJbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLWJvdHRvbTolPzYyPyUhaW1wb3J0YW50fS5ncmlkLWdhcC02MltkYXRhLXYtMTAxNzM3YmVde2dyaWQtZ2FwOiU/NjI/JSFpbXBvcnRhbnR9LnotaW5kZXgtNjJbZGF0YS12LTEwMTczN2JlXXt6LWluZGV4OjYyIWltcG9ydGFudH0uZm9udC1zaXplLTYyW2RhdGEtdi0xMDE3MzdiZV17Zm9udC1zaXplOiU/NjI/JSFpbXBvcnRhbnR9Lm0tNjRbZGF0YS12LTEwMTczN2JlXXttYXJnaW46JT82ND8lIWltcG9ydGFudH0ubXgtNjRbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tbGVmdDolPzY0PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzY0PyUhaW1wb3J0YW50fS5tbC02NFtkYXRhLXYtMTAxNzM3YmVde21hcmdpbi1sZWZ0OiU/NjQ/JSFpbXBvcnRhbnR9Lm1yLTY0W2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLXJpZ2h0OiU/NjQ/JSFpbXBvcnRhbnR9Lm15LTY0W2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLXRvcDolPzY0PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT82ND8lIWltcG9ydGFudH0ubXQtNjRbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tdG9wOiU/NjQ/JSFpbXBvcnRhbnR9Lm1iLTY0W2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLWJvdHRvbTolPzY0PyUhaW1wb3J0YW50fS5wLTY0W2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZzolPzY0PyUhaW1wb3J0YW50fS5weC02NFtkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctbGVmdDolPzY0PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT82ND8lIWltcG9ydGFudH0ucGwtNjRbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLWxlZnQ6JT82ND8lIWltcG9ydGFudH0ucHItNjRbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLXJpZ2h0OiU/NjQ/JSFpbXBvcnRhbnR9LnB5LTY0W2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy10b3A6JT82ND8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzY0PyUhaW1wb3J0YW50fS5wdC02NFtkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctdG9wOiU/NjQ/JSFpbXBvcnRhbnR9LnBiLTY0W2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy1ib3R0b206JT82ND8lIWltcG9ydGFudH0uZ3JpZC1nYXAtNjRbZGF0YS12LTEwMTczN2JlXXtncmlkLWdhcDolPzY0PyUhaW1wb3J0YW50fS56LWluZGV4LTY0W2RhdGEtdi0xMDE3MzdiZV17ei1pbmRleDo2NCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS02NFtkYXRhLXYtMTAxNzM3YmVde2ZvbnQtc2l6ZTolPzY0PyUhaW1wb3J0YW50fS5tLTY2W2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luOiU/NjY/JSFpbXBvcnRhbnR9Lm14LTY2W2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLWxlZnQ6JT82Nj8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT82Nj8lIWltcG9ydGFudH0ubWwtNjZbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tbGVmdDolPzY2PyUhaW1wb3J0YW50fS5tci02NltkYXRhLXYtMTAxNzM3YmVde21hcmdpbi1yaWdodDolPzY2PyUhaW1wb3J0YW50fS5teS02NltkYXRhLXYtMTAxNzM3YmVde21hcmdpbi10b3A6JT82Nj8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/NjY/JSFpbXBvcnRhbnR9Lm10LTY2W2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLXRvcDolPzY2PyUhaW1wb3J0YW50fS5tYi02NltkYXRhLXYtMTAxNzM3YmVde21hcmdpbi1ib3R0b206JT82Nj8lIWltcG9ydGFudH0ucC02NltkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmc6JT82Nj8lIWltcG9ydGFudH0ucHgtNjZbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLWxlZnQ6JT82Nj8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/NjY/JSFpbXBvcnRhbnR9LnBsLTY2W2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy1sZWZ0OiU/NjY/JSFpbXBvcnRhbnR9LnByLTY2W2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy1yaWdodDolPzY2PyUhaW1wb3J0YW50fS5weS02NltkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctdG9wOiU/NjY/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT82Nj8lIWltcG9ydGFudH0ucHQtNjZbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLXRvcDolPzY2PyUhaW1wb3J0YW50fS5wYi02NltkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctYm90dG9tOiU/NjY/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTY2W2RhdGEtdi0xMDE3MzdiZV17Z3JpZC1nYXA6JT82Nj8lIWltcG9ydGFudH0uei1pbmRleC02NltkYXRhLXYtMTAxNzM3YmVde3otaW5kZXg6NjYhaW1wb3J0YW50fS5mb250LXNpemUtNjZbZGF0YS12LTEwMTczN2JlXXtmb250LXNpemU6JT82Nj8lIWltcG9ydGFudH0ubS02OFtkYXRhLXYtMTAxNzM3YmVde21hcmdpbjolPzY4PyUhaW1wb3J0YW50fS5teC02OFtkYXRhLXYtMTAxNzM3YmVde21hcmdpbi1sZWZ0OiU/Njg/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/Njg/JSFpbXBvcnRhbnR9Lm1sLTY4W2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLWxlZnQ6JT82OD8lIWltcG9ydGFudH0ubXItNjhbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tcmlnaHQ6JT82OD8lIWltcG9ydGFudH0ubXktNjhbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tdG9wOiU/Njg/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzY4PyUhaW1wb3J0YW50fS5tdC02OFtkYXRhLXYtMTAxNzM3YmVde21hcmdpbi10b3A6JT82OD8lIWltcG9ydGFudH0ubWItNjhbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tYm90dG9tOiU/Njg/JSFpbXBvcnRhbnR9LnAtNjhbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nOiU/Njg/JSFpbXBvcnRhbnR9LnB4LTY4W2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy1sZWZ0OiU/Njg/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzY4PyUhaW1wb3J0YW50fS5wbC02OFtkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctbGVmdDolPzY4PyUhaW1wb3J0YW50fS5wci02OFtkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctcmlnaHQ6JT82OD8lIWltcG9ydGFudH0ucHktNjhbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLXRvcDolPzY4PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/Njg/JSFpbXBvcnRhbnR9LnB0LTY4W2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy10b3A6JT82OD8lIWltcG9ydGFudH0ucGItNjhbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLWJvdHRvbTolPzY4PyUhaW1wb3J0YW50fS5ncmlkLWdhcC02OFtkYXRhLXYtMTAxNzM3YmVde2dyaWQtZ2FwOiU/Njg/JSFpbXBvcnRhbnR9LnotaW5kZXgtNjhbZGF0YS12LTEwMTczN2JlXXt6LWluZGV4OjY4IWltcG9ydGFudH0uZm9udC1zaXplLTY4W2RhdGEtdi0xMDE3MzdiZV17Zm9udC1zaXplOiU/Njg/JSFpbXBvcnRhbnR9Lm0tNzBbZGF0YS12LTEwMTczN2JlXXttYXJnaW46JT83MD8lIWltcG9ydGFudH0ubXgtNzBbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tbGVmdDolPzcwPyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzcwPyUhaW1wb3J0YW50fS5tbC03MFtkYXRhLXYtMTAxNzM3YmVde21hcmdpbi1sZWZ0OiU/NzA/JSFpbXBvcnRhbnR9Lm1yLTcwW2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLXJpZ2h0OiU/NzA/JSFpbXBvcnRhbnR9Lm15LTcwW2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLXRvcDolPzcwPyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT83MD8lIWltcG9ydGFudH0ubXQtNzBbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tdG9wOiU/NzA/JSFpbXBvcnRhbnR9Lm1iLTcwW2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLWJvdHRvbTolPzcwPyUhaW1wb3J0YW50fS5wLTcwW2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZzolPzcwPyUhaW1wb3J0YW50fS5weC03MFtkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctbGVmdDolPzcwPyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT83MD8lIWltcG9ydGFudH0ucGwtNzBbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLWxlZnQ6JT83MD8lIWltcG9ydGFudH0ucHItNzBbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLXJpZ2h0OiU/NzA/JSFpbXBvcnRhbnR9LnB5LTcwW2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy10b3A6JT83MD8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzcwPyUhaW1wb3J0YW50fS5wdC03MFtkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctdG9wOiU/NzA/JSFpbXBvcnRhbnR9LnBiLTcwW2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy1ib3R0b206JT83MD8lIWltcG9ydGFudH0uZ3JpZC1nYXAtNzBbZGF0YS12LTEwMTczN2JlXXtncmlkLWdhcDolPzcwPyUhaW1wb3J0YW50fS56LWluZGV4LTcwW2RhdGEtdi0xMDE3MzdiZV17ei1pbmRleDo3MCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS03MFtkYXRhLXYtMTAxNzM3YmVde2ZvbnQtc2l6ZTolPzcwPyUhaW1wb3J0YW50fS5tLTcyW2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luOiU/NzI/JSFpbXBvcnRhbnR9Lm14LTcyW2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLWxlZnQ6JT83Mj8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT83Mj8lIWltcG9ydGFudH0ubWwtNzJbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tbGVmdDolPzcyPyUhaW1wb3J0YW50fS5tci03MltkYXRhLXYtMTAxNzM3YmVde21hcmdpbi1yaWdodDolPzcyPyUhaW1wb3J0YW50fS5teS03MltkYXRhLXYtMTAxNzM3YmVde21hcmdpbi10b3A6JT83Mj8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/NzI/JSFpbXBvcnRhbnR9Lm10LTcyW2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLXRvcDolPzcyPyUhaW1wb3J0YW50fS5tYi03MltkYXRhLXYtMTAxNzM3YmVde21hcmdpbi1ib3R0b206JT83Mj8lIWltcG9ydGFudH0ucC03MltkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmc6JT83Mj8lIWltcG9ydGFudH0ucHgtNzJbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLWxlZnQ6JT83Mj8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/NzI/JSFpbXBvcnRhbnR9LnBsLTcyW2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy1sZWZ0OiU/NzI/JSFpbXBvcnRhbnR9LnByLTcyW2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy1yaWdodDolPzcyPyUhaW1wb3J0YW50fS5weS03MltkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctdG9wOiU/NzI/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT83Mj8lIWltcG9ydGFudH0ucHQtNzJbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLXRvcDolPzcyPyUhaW1wb3J0YW50fS5wYi03MltkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctYm90dG9tOiU/NzI/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTcyW2RhdGEtdi0xMDE3MzdiZV17Z3JpZC1nYXA6JT83Mj8lIWltcG9ydGFudH0uei1pbmRleC03MltkYXRhLXYtMTAxNzM3YmVde3otaW5kZXg6NzIhaW1wb3J0YW50fS5mb250LXNpemUtNzJbZGF0YS12LTEwMTczN2JlXXtmb250LXNpemU6JT83Mj8lIWltcG9ydGFudH0ubS03NFtkYXRhLXYtMTAxNzM3YmVde21hcmdpbjolPzc0PyUhaW1wb3J0YW50fS5teC03NFtkYXRhLXYtMTAxNzM3YmVde21hcmdpbi1sZWZ0OiU/NzQ/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/NzQ/JSFpbXBvcnRhbnR9Lm1sLTc0W2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLWxlZnQ6JT83ND8lIWltcG9ydGFudH0ubXItNzRbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tcmlnaHQ6JT83ND8lIWltcG9ydGFudH0ubXktNzRbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tdG9wOiU/NzQ/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzc0PyUhaW1wb3J0YW50fS5tdC03NFtkYXRhLXYtMTAxNzM3YmVde21hcmdpbi10b3A6JT83ND8lIWltcG9ydGFudH0ubWItNzRbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tYm90dG9tOiU/NzQ/JSFpbXBvcnRhbnR9LnAtNzRbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nOiU/NzQ/JSFpbXBvcnRhbnR9LnB4LTc0W2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy1sZWZ0OiU/NzQ/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzc0PyUhaW1wb3J0YW50fS5wbC03NFtkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctbGVmdDolPzc0PyUhaW1wb3J0YW50fS5wci03NFtkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctcmlnaHQ6JT83ND8lIWltcG9ydGFudH0ucHktNzRbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLXRvcDolPzc0PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NzQ/JSFpbXBvcnRhbnR9LnB0LTc0W2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy10b3A6JT83ND8lIWltcG9ydGFudH0ucGItNzRbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLWJvdHRvbTolPzc0PyUhaW1wb3J0YW50fS5ncmlkLWdhcC03NFtkYXRhLXYtMTAxNzM3YmVde2dyaWQtZ2FwOiU/NzQ/JSFpbXBvcnRhbnR9LnotaW5kZXgtNzRbZGF0YS12LTEwMTczN2JlXXt6LWluZGV4Ojc0IWltcG9ydGFudH0uZm9udC1zaXplLTc0W2RhdGEtdi0xMDE3MzdiZV17Zm9udC1zaXplOiU/NzQ/JSFpbXBvcnRhbnR9Lm0tNzZbZGF0YS12LTEwMTczN2JlXXttYXJnaW46JT83Nj8lIWltcG9ydGFudH0ubXgtNzZbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tbGVmdDolPzc2PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzc2PyUhaW1wb3J0YW50fS5tbC03NltkYXRhLXYtMTAxNzM3YmVde21hcmdpbi1sZWZ0OiU/NzY/JSFpbXBvcnRhbnR9Lm1yLTc2W2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLXJpZ2h0OiU/NzY/JSFpbXBvcnRhbnR9Lm15LTc2W2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLXRvcDolPzc2PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT83Nj8lIWltcG9ydGFudH0ubXQtNzZbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tdG9wOiU/NzY/JSFpbXBvcnRhbnR9Lm1iLTc2W2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLWJvdHRvbTolPzc2PyUhaW1wb3J0YW50fS5wLTc2W2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZzolPzc2PyUhaW1wb3J0YW50fS5weC03NltkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctbGVmdDolPzc2PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT83Nj8lIWltcG9ydGFudH0ucGwtNzZbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLWxlZnQ6JT83Nj8lIWltcG9ydGFudH0ucHItNzZbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLXJpZ2h0OiU/NzY/JSFpbXBvcnRhbnR9LnB5LTc2W2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy10b3A6JT83Nj8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzc2PyUhaW1wb3J0YW50fS5wdC03NltkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctdG9wOiU/NzY/JSFpbXBvcnRhbnR9LnBiLTc2W2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy1ib3R0b206JT83Nj8lIWltcG9ydGFudH0uZ3JpZC1nYXAtNzZbZGF0YS12LTEwMTczN2JlXXtncmlkLWdhcDolPzc2PyUhaW1wb3J0YW50fS56LWluZGV4LTc2W2RhdGEtdi0xMDE3MzdiZV17ei1pbmRleDo3NiFpbXBvcnRhbnR9LmZvbnQtc2l6ZS03NltkYXRhLXYtMTAxNzM3YmVde2ZvbnQtc2l6ZTolPzc2PyUhaW1wb3J0YW50fS5tLTc4W2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luOiU/Nzg/JSFpbXBvcnRhbnR9Lm14LTc4W2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLWxlZnQ6JT83OD8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT83OD8lIWltcG9ydGFudH0ubWwtNzhbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tbGVmdDolPzc4PyUhaW1wb3J0YW50fS5tci03OFtkYXRhLXYtMTAxNzM3YmVde21hcmdpbi1yaWdodDolPzc4PyUhaW1wb3J0YW50fS5teS03OFtkYXRhLXYtMTAxNzM3YmVde21hcmdpbi10b3A6JT83OD8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/Nzg/JSFpbXBvcnRhbnR9Lm10LTc4W2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLXRvcDolPzc4PyUhaW1wb3J0YW50fS5tYi03OFtkYXRhLXYtMTAxNzM3YmVde21hcmdpbi1ib3R0b206JT83OD8lIWltcG9ydGFudH0ucC03OFtkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmc6JT83OD8lIWltcG9ydGFudH0ucHgtNzhbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLWxlZnQ6JT83OD8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/Nzg/JSFpbXBvcnRhbnR9LnBsLTc4W2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy1sZWZ0OiU/Nzg/JSFpbXBvcnRhbnR9LnByLTc4W2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy1yaWdodDolPzc4PyUhaW1wb3J0YW50fS5weS03OFtkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctdG9wOiU/Nzg/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT83OD8lIWltcG9ydGFudH0ucHQtNzhbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLXRvcDolPzc4PyUhaW1wb3J0YW50fS5wYi03OFtkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctYm90dG9tOiU/Nzg/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTc4W2RhdGEtdi0xMDE3MzdiZV17Z3JpZC1nYXA6JT83OD8lIWltcG9ydGFudH0uei1pbmRleC03OFtkYXRhLXYtMTAxNzM3YmVde3otaW5kZXg6NzghaW1wb3J0YW50fS5mb250LXNpemUtNzhbZGF0YS12LTEwMTczN2JlXXtmb250LXNpemU6JT83OD8lIWltcG9ydGFudH0uZmlsdGVyLWdyYXlbZGF0YS12LTEwMTczN2JlXXstd2Via2l0LWZpbHRlcjpncmF5c2NhbGUoMSk7ZmlsdGVyOmdyYXlzY2FsZSgxKX0ubXgtYXV0b1tkYXRhLXYtMTAxNzM3YmVde21hcmdpbi1sZWZ0OmF1dG87bWFyZ2luLXJpZ2h0OmF1dG99LmQtYmxvY2tbZGF0YS12LTEwMTczN2JlXXtkaXNwbGF5OmJsb2NrfS5kLWlubGluZS1ibG9ja1tkYXRhLXYtMTAxNzM3YmVde2Rpc3BsYXk6aW5saW5lLWJsb2NrfS50ZXh0LWNlbnRlcltkYXRhLXYtMTAxNzM3YmVde3RleHQtYWxpZ246Y2VudGVyfS50ZXh0LWxlZnRbZGF0YS12LTEwMTczN2JlXXt0ZXh0LWFsaWduOmxlZnR9LnRleHQtcmlnaHRbZGF0YS12LTEwMTczN2JlXXt0ZXh0LWFsaWduOnJpZ2h0fS5kLWZsZXhbZGF0YS12LTEwMTczN2JlXXtkaXNwbGF5OmZsZXh9LmQtZmxleC1iZXR3ZWVuLWNlbnRlcltkYXRhLXYtMTAxNzM3YmVde2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjthbGlnbi1pdGVtczpjZW50ZXJ9LmZsZXgtd3JhcFtkYXRhLXYtMTAxNzM3YmVde2ZsZXgtd3JhcDp3cmFwfS5qdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbltkYXRhLXYtMTAxNzM3YmVde2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS5qdXN0aWZ5LWNvbnRlbnQtYXJvdW5kW2RhdGEtdi0xMDE3MzdiZV17anVzdGlmeS1jb250ZW50OnNwYWNlLWFyb3VuZH0uanVzdGlmeS1jb250ZW50LWNlbnRlcltkYXRhLXYtMTAxNzM3YmVde2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lmp1c3RpZnktY29udGVudC1lbmRbZGF0YS12LTEwMTczN2JlXXtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmR9LmFsaWduLWl0ZW1zLWNlbnRlcltkYXRhLXYtMTAxNzM3YmVde2FsaWduLWl0ZW1zOmNlbnRlcn0uYWxpZ24taXRlbXMtYmFzZWxpbmVbZGF0YS12LTEwMTczN2JlXXthbGlnbi1pdGVtczpiYXNlbGluZX0uZmxleC1kaXJlY3Rpb24tY29sdW1uW2RhdGEtdi0xMDE3MzdiZV17ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5mb250LXdlaWdodC1ib2xkW2RhdGEtdi0xMDE3MzdiZV17Zm9udC13ZWlnaHQ6NzAwfS5wb3NpdGlvbi1maXhlZFtkYXRhLXYtMTAxNzM3YmVde3Bvc2l0aW9uOmZpeGVkfS5wb3NpdGlvbi1yZWxhdGl2ZVtkYXRhLXYtMTAxNzM3YmVde3Bvc2l0aW9uOnJlbGF0aXZlfS5wb3NpdGlvbi1hYnNvbHV0ZVtkYXRhLXYtMTAxNzM3YmVde3Bvc2l0aW9uOmFic29sdXRlfS5vdmVyZmxvdy1oaWRkZW5bZGF0YS12LTEwMTczN2JlXXtvdmVyZmxvdzpoaWRkZW59LmxpbmUtMVtkYXRhLXYtMTAxNzM3YmVde292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0ubGluZS0yW2RhdGEtdi0xMDE3MzdiZV17b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtbGluZS1jbGFtcDoyO2xpbmUtY2xhbXA6Mjstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7Ym94LW9yaWVudDp2ZXJ0aWNhbDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6Ym94fS5saW5lLTNbZGF0YS12LTEwMTczN2JlXXtvdmVyZmxvdzpoaWRkZW47LXdlYmtpdC1saW5lLWNsYW1wOjM7bGluZS1jbGFtcDozOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDtib3gtb3JpZW50OnZlcnRpY2FsO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpib3h9LmxpbmUtNFtkYXRhLXYtMTAxNzM3YmVde292ZXJmbG93OmhpZGRlbjstd2Via2l0LWxpbmUtY2xhbXA6NDtsaW5lLWNsYW1wOjQ7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO2JveC1vcmllbnQ6dmVydGljYWw7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmJveH0ubGluZS01W2RhdGEtdi0xMDE3MzdiZV17b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtbGluZS1jbGFtcDo1O2xpbmUtY2xhbXA6NTstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7Ym94LW9yaWVudDp2ZXJ0aWNhbDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6Ym94fS53LTEwW2RhdGEtdi0xMDE3MzdiZV17d2lkdGg6MTAlfS5oLTEwW2RhdGEtdi0xMDE3MzdiZV17aGVpZ2h0OjEwJX0ub3BhY2l0eS0xMFtkYXRhLXYtMTAxNzM3YmVde29wYWNpdHk6LjF9LnctMTdbZGF0YS12LTEwMTczN2JlXXt3aWR0aDoxNyV9LmgtMTdbZGF0YS12LTEwMTczN2JlXXtoZWlnaHQ6MTclfS5vcGFjaXR5LTE3W2RhdGEtdi0xMDE3MzdiZV17b3BhY2l0eTouMTd9LnctMThbZGF0YS12LTEwMTczN2JlXXt3aWR0aDoxOCV9LmgtMThbZGF0YS12LTEwMTczN2JlXXtoZWlnaHQ6MTglfS5vcGFjaXR5LTE4W2RhdGEtdi0xMDE3MzdiZV17b3BhY2l0eTouMTh9LnctMTlbZGF0YS12LTEwMTczN2JlXXt3aWR0aDoxOSV9LmgtMTlbZGF0YS12LTEwMTczN2JlXXtoZWlnaHQ6MTklfS5vcGFjaXR5LTE5W2RhdGEtdi0xMDE3MzdiZV17b3BhY2l0eTouMTl9LnctMjBbZGF0YS12LTEwMTczN2JlXXt3aWR0aDoyMCV9LmgtMjBbZGF0YS12LTEwMTczN2JlXXtoZWlnaHQ6MjAlfS5vcGFjaXR5LTIwW2RhdGEtdi0xMDE3MzdiZV17b3BhY2l0eTouMn0udy0yNVtkYXRhLXYtMTAxNzM3YmVde3dpZHRoOjI1JX0uaC0yNVtkYXRhLXYtMTAxNzM3YmVde2hlaWdodDoyNSV9Lm9wYWNpdHktMjVbZGF0YS12LTEwMTczN2JlXXtvcGFjaXR5Oi4yNX0udy0zMFtkYXRhLXYtMTAxNzM3YmVde3dpZHRoOjMwJX0uaC0zMFtkYXRhLXYtMTAxNzM3YmVde2hlaWdodDozMCV9Lm9wYWNpdHktMzBbZGF0YS12LTEwMTczN2JlXXtvcGFjaXR5Oi4zfS53LTMzW2RhdGEtdi0xMDE3MzdiZV17d2lkdGg6MzMlfS5oLTMzW2RhdGEtdi0xMDE3MzdiZV17aGVpZ2h0OjMzJX0ub3BhY2l0eS0zM1tkYXRhLXYtMTAxNzM3YmVde29wYWNpdHk6LjMzfS53LTQwW2RhdGEtdi0xMDE3MzdiZV17d2lkdGg6NDAlfS5oLTQwW2RhdGEtdi0xMDE3MzdiZV17aGVpZ2h0OjQwJX0ub3BhY2l0eS00MFtkYXRhLXYtMTAxNzM3YmVde29wYWNpdHk6LjR9LnctNDRbZGF0YS12LTEwMTczN2JlXXt3aWR0aDo0NCV9LmgtNDRbZGF0YS12LTEwMTczN2JlXXtoZWlnaHQ6NDQlfS5vcGFjaXR5LTQ0W2RhdGEtdi0xMDE3MzdiZV17b3BhY2l0eTouNDR9LnctNDhbZGF0YS12LTEwMTczN2JlXXt3aWR0aDo0OCV9LmgtNDhbZGF0YS12LTEwMTczN2JlXXtoZWlnaHQ6NDglfS5vcGFjaXR5LTQ4W2RhdGEtdi0xMDE3MzdiZV17b3BhY2l0eTouNDh9LnctNDlbZGF0YS12LTEwMTczN2JlXXt3aWR0aDo0OSV9LmgtNDlbZGF0YS12LTEwMTczN2JlXXtoZWlnaHQ6NDklfS5vcGFjaXR5LTQ5W2RhdGEtdi0xMDE3MzdiZV17b3BhY2l0eTouNDl9LnctNTBbZGF0YS12LTEwMTczN2JlXXt3aWR0aDo1MCV9LmgtNTBbZGF0YS12LTEwMTczN2JlXXtoZWlnaHQ6NTAlfS5vcGFjaXR5LTUwW2RhdGEtdi0xMDE3MzdiZV17b3BhY2l0eTouNX0udy02MFtkYXRhLXYtMTAxNzM3YmVde3dpZHRoOjYwJX0uaC02MFtkYXRhLXYtMTAxNzM3YmVde2hlaWdodDo2MCV9Lm9wYWNpdHktNjBbZGF0YS12LTEwMTczN2JlXXtvcGFjaXR5Oi42fS53LTcwW2RhdGEtdi0xMDE3MzdiZV17d2lkdGg6NzAlfS5oLTcwW2RhdGEtdi0xMDE3MzdiZV17aGVpZ2h0OjcwJX0ub3BhY2l0eS03MFtkYXRhLXYtMTAxNzM3YmVde29wYWNpdHk6Ljd9LnctNzVbZGF0YS12LTEwMTczN2JlXXt3aWR0aDo3NSV9LmgtNzVbZGF0YS12LTEwMTczN2JlXXtoZWlnaHQ6NzUlfS5vcGFjaXR5LTc1W2RhdGEtdi0xMDE3MzdiZV17b3BhY2l0eTouNzV9LnctODBbZGF0YS12LTEwMTczN2JlXXt3aWR0aDo4MCV9LmgtODBbZGF0YS12LTEwMTczN2JlXXtoZWlnaHQ6ODAlfS5vcGFjaXR5LTgwW2RhdGEtdi0xMDE3MzdiZV17b3BhY2l0eTouOH0udy05MFtkYXRhLXYtMTAxNzM3YmVde3dpZHRoOjkwJX0uaC05MFtkYXRhLXYtMTAxNzM3YmVde2hlaWdodDo5MCV9Lm9wYWNpdHktOTBbZGF0YS12LTEwMTczN2JlXXtvcGFjaXR5Oi45fS53LTEwMFtkYXRhLXYtMTAxNzM3YmVde3dpZHRoOjEwMCV9LmgtMTAwW2RhdGEtdi0xMDE3MzdiZV17aGVpZ2h0OjEwMCV9Lm9wYWNpdHktMTAwW2RhdGEtdi0xMDE3MzdiZV17b3BhY2l0eTouMX0ucGItNTBbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLWJvdHRvbTolPzUwPyV9Lm10LTUwW2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLXRvcDolPzUwPyV9LnBiLTYwW2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy1ib3R0b206JT82MD8lfS5tdC02MFtkYXRhLXYtMTAxNzM3YmVde21hcmdpbi10b3A6JT82MD8lfS5wYi03MFtkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctYm90dG9tOiU/NzA/JX0ubXQtNzBbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tdG9wOiU/NzA/JX0ucGItODBbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLWJvdHRvbTolPzgwPyV9Lm10LTgwW2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLXRvcDolPzgwPyV9LnBiLTkwW2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy1ib3R0b206JT85MD8lfS5tdC05MFtkYXRhLXYtMTAxNzM3YmVde21hcmdpbi10b3A6JT85MD8lfS5wYi0xMDBbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLWJvdHRvbTolPzEwMD8lfS5tdC0xMDBbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tdG9wOiU/MTAwPyV9LnBiLTExMFtkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctYm90dG9tOiU/MTEwPyV9Lm10LTExMFtkYXRhLXYtMTAxNzM3YmVde21hcmdpbi10b3A6JT8xMTA/JX0ucGItMTIwW2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy1ib3R0b206JT8xMjA/JX0ubXQtMTIwW2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLXRvcDolPzEyMD8lfS5wYi0xMzBbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLWJvdHRvbTolPzEzMD8lfS5tdC0xMzBbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tdG9wOiU/MTMwPyV9LnBiLTE0MFtkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctYm90dG9tOiU/MTQwPyV9Lm10LTE0MFtkYXRhLXYtMTAxNzM3YmVde21hcmdpbi10b3A6JT8xNDA/JX0ucGItMTUwW2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy1ib3R0b206JT8xNTA/JX0ubXQtMTUwW2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLXRvcDolPzE1MD8lfS5wYi0xNjBbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLWJvdHRvbTolPzE2MD8lfS5tdC0xNjBbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tdG9wOiU/MTYwPyV9LnBiLTE3MFtkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctYm90dG9tOiU/MTcwPyV9Lm10LTE3MFtkYXRhLXYtMTAxNzM3YmVde21hcmdpbi10b3A6JT8xNzA/JX0ucGItMTgwW2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZy1ib3R0b206JT8xODA/JX0ubXQtMTgwW2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLXRvcDolPzE4MD8lfS5wYi0xOTBbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nLWJvdHRvbTolPzE5MD8lfS5tdC0xOTBbZGF0YS12LTEwMTczN2JlXXttYXJnaW4tdG9wOiU/MTkwPyV9LnBiLTIwMFtkYXRhLXYtMTAxNzM3YmVde3BhZGRpbmctYm90dG9tOiU/MjAwPyV9Lm10LTIwMFtkYXRhLXYtMTAxNzM3YmVde21hcmdpbi10b3A6JT8yMDA/JX0uaW5wdXRbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nOjAgJT8zMD8lO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMDUpO2JvcmRlci1yYWRpdXM6JT8xMj8lO2hlaWdodDolPzg4PyU7bGluZS1oZWlnaHQ6JT84OD8lO3Bvc2l0aW9uOnJlbGF0aXZlfS5pbnB1dCAuaW5wdXQtcGxhY2Vob2xkZXJbZGF0YS12LTEwMTczN2JlXXtvcGFjaXR5Oi40O2ZvbnQtd2VpZ2h0OjQwMCFpbXBvcnRhbnR9LmJveC1zaGFkb3dbZGF0YS12LTEwMTczN2JlXXtib3gtc2hhZG93OjAgMCAxMHB4IDAgcmdiYSgwLDAsMCwuMDYpfS5ib3JkZXJbZGF0YS12LTEwMTczN2JlXXtib3JkZXI6JT8yPyUgc29saWQgIzRkNGQ0ZH0uYm9yZGVyLXRvcFtkYXRhLXYtMTAxNzM3YmVde2JvcmRlci10b3A6JT8yPyUgc29saWQgIzRkNGQ0ZH0uYm9yZGVyLWJvdHRvbVtkYXRhLXYtMTAxNzM3YmVde2JvcmRlci1ib3R0b206JT8yPyUgc29saWQgIzRkNGQ0ZH0uYm9yZGVyLWJvdHRvbS13aGl0ZVtkYXRhLXYtMTAxNzM3YmVde2JvcmRlci1ib3R0b206JT8yPyUgc29saWQgI2YzZjNmM30uYm9yZGVyLXJhZGl1cy0xMFtkYXRhLXYtMTAxNzM3YmVde2JvcmRlci1yYWRpdXM6JT8xMD8lIWltcG9ydGFudH0uYm9yZGVyLXJhZGl1cy0yMFtkYXRhLXYtMTAxNzM3YmVdLCAuZGVwb3NpdFtkYXRhLXYtMTAxNzM3YmVde2JvcmRlci1yYWRpdXM6JT8yMD8lIWltcG9ydGFudH0uYm9yZGVyLXJhZGl1cy01MHBlcltkYXRhLXYtMTAxNzM3YmVde2JvcmRlci1yYWRpdXM6NTAlIWltcG9ydGFudH0udW5pLWlucHV0LXBsYWNlaG9sZGVyW2RhdGEtdi0xMDE3MzdiZV17Y29sb3I6aHNsYSgwLDAlLDk5LjYlLC41KX0ua2VmdVtkYXRhLXYtMTAxNzM3YmVde3Bvc2l0aW9uOmZpeGVkO3JpZ2h0OiU/NTA/JTtib3R0b206MTYuNXZoO3otaW5kZXg6MTA7Ym9yZGVyLXJhZGl1czo1MCU7Ym94LXNoYWRvdzowIDAgMTVweCAwIHJnYmEoMCwwLDAsLjEpO2JhY2tncm91bmQtY29sb3I6IzMzMzt3aWR0aDolPzcwPyU7aGVpZ2h0OiU/NzA/JTtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9LmxvZ2luLWlucHV0LWdyb3VwW2RhdGEtdi0xMDE3MzdiZV17Ym9yZGVyLWJvdHRvbTolPzI/JSBzb2xpZCBoc2xhKDAsMCUsMTAwJSwuMik7bWFyZ2luLXRvcDolPzUwPyU7cG9zaXRpb246cmVsYXRpdmV9LmxvZ2luLWlucHV0LWdyb3VwIC5sb2dpbi1pbnB1dFtkYXRhLXYtMTAxNzM3YmVde2hlaWdodDolPzcwPyU7bGluZS1oZWlnaHQ6JT83MD8lO3dpZHRoOjEwMCV9LmxvZ2luLWlucHV0LWdyb3VwIC5sYWJlbFtkYXRhLXYtMTAxNzM3YmVde29wYWNpdHk6Ljd9LmJveC1zaGFkb3dbZGF0YS12LTEwMTczN2JlXXtib3gtc2hhZG93OjAgMCAxMHB4IDAgcmdiYSgwLDAsMCwuMSl9LnN1YnNlY3Rpb24gLml0ZW1bZGF0YS12LTEwMTczN2JlXXtwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nLWJvdHRvbTolPzEwPyV9LnN1YnNlY3Rpb24gLml0ZW1bZGF0YS12LTEwMTczN2JlXTo6YWZ0ZXJ7ZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZTtjb250ZW50OiIiO2JvdHRvbTowO2xlZnQ6NTAlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7d2lkdGg6JT8zMD8lO2hlaWdodDolPzQ/JTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9LnN1YnNlY3Rpb24gLml0ZW0uYWN0aXZlW2RhdGEtdi0xMDE3MzdiZV17Y29sb3I6IzIyNzdmY30uc3Vic2VjdGlvbiAuaXRlbS5hY3RpdmVbZGF0YS12LTEwMTczN2JlXTo6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjojMjI3N2ZjfS5kLWdyaWRbZGF0YS12LTEwMTczN2JlXXtkaXNwbGF5OmdyaWR9LmQtZ3JpZC1jb2x1bW5zLTJbZGF0YS12LTEwMTczN2JlXXtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgyLDFmcil9LmQtZ3JpZC1jb2x1bW5zLTNbZGF0YS12LTEwMTczN2JlXXtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgzLDFmcil9LmQtZ3JpZC1jb2x1bW5zLTRbZGF0YS12LTEwMTczN2JlXXtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCg0LDFmcil9LmQtZ3JpZC1jb2x1bW5zLTVbZGF0YS12LTEwMTczN2JlXXtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCg1LDFmcil9LmFydGljbGVbZGF0YS12LTEwMTczN2JlXXtwYWRkaW5nOiU/MzA/JX0uYXJ0aWNsZSB1bmktdGV4dFtkYXRhLXYtMTAxNzM3YmVde2Rpc3BsYXk6YmxvY2s7bWFyZ2luLWJvdHRvbTolPzIwPyV9aWZyYW1lW2RhdGEtdi0xMDE3MzdiZV17bGVmdDowIWltcG9ydGFudDtyaWdodDowIWltcG9ydGFudDttYXJnaW46MCBhdXRvO3RvcDowIWltcG9ydGFudH0ucG9zaXRpb24tcmVsYXRpdmUtemluZGV4LTk5W2RhdGEtdi0xMDE3MzdiZV17cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDo5OX0uc3RhdHVzX2JhcltkYXRhLXYtMTAxNzM3YmVde2hlaWdodDowO3dpZHRoOjEwMCV9LmFmdGVyLWJvcmRlcltkYXRhLXYtMTAxNzM3YmVde3Bvc2l0aW9uOnJlbGF0aXZlfS5hZnRlci1ib3JkZXJbZGF0YS12LTEwMTczN2JlXTphZnRlcntwb3NpdGlvbjphYnNvbHV0ZTtjb250ZW50OiIiO3RvcDowO3JpZ2h0OjA7Ym90dG9tOjA7d2lkdGg6JT8yPyU7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDUxLDUxLDUxLC4xKX0ubG9naW4tbG9nb1tkYXRhLXYtMTAxNzM3YmVde3RleHQtYWxpZ246Y2VudGVyO3BhZGRpbmctdG9wOjQuNXZofS5sb2dpbi1sb2dvIHVuaS1pbWFnZVtkYXRhLXYtMTAxNzM3YmVde3dpZHRoOjE3dmg7aGVpZ2h0OjE3dmg7ZGlzcGxheTpibG9jaztib3JkZXItcmFkaXVzOiU/MjQ/JTtib3gtc2hhZG93OjAgMCAlPzEwPyUgMCByZ2JhKDAsMCwwLC4wNSk7bWFyZ2luOjAgYXV0b30udGFnLXByaW1hcnlbZGF0YS12LTEwMTczN2JlXXtiYWNrZ3JvdW5kLWNvbG9yOiMyMjc3ZmM7Y29sb3I6I2ZmZjtib3JkZXItcmFkaXVzOiU/Nj8lO2ZvbnQtc2l6ZTolPzIwPyU7cGFkZGluZzolPzQ/JSAlPzEwPyU7Ym9yZGVyOiU/Mj8lIHNvbGlkICMyMjc3ZmM7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlcjpub25lO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KC0yMjVkZWcsIzJjZDhkNSwjNmI4ZGQ2IDQ4JSwjOGUzN2Q3KX0udGFnLWVycm9yW2RhdGEtdi0xMDE3MzdiZV0sIC50YWctcGxhaW4tZXJyb3JbZGF0YS12LTEwMTczN2JlXXtiYWNrZ3JvdW5kLWNvbG9yOiNmMDRhNWE7Y29sb3I6I2ZmZjtib3JkZXItcmFkaXVzOiU/Nj8lO2ZvbnQtc2l6ZTolPzIwPyU7cGFkZGluZzolPzQ/JSAlPzEwPyU7Ym9yZGVyOiU/Mj8lIHNvbGlkICNmMDRhNWE7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlcjpub25lO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDI3MGRlZywjZmYwODQ0IDAsI2ZmYjE5OSl9LnRhZy1zZWNvbmRhcnlbZGF0YS12LTEwMTczN2JlXXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoNTEsNTEsNTEsLjA2KTtjb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6JT82PyU7Zm9udC1zaXplOiU/MjA/JTtwYWRkaW5nOiU/ND8lICU/MTA/JTtib3JkZXI6JT8yPyUgc29saWQgcmdiYSg1MSw1MSw1MSwuMDYpO2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXI6bm9uZTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCg0NWRlZywjOTNhNWNmLCNlNGVmZTkpfS50YWctd2FybmluZ1tkYXRhLXYtMTAxNzM3YmVde2JhY2tncm91bmQtY29sb3I6I2Q0YmE4Mztjb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6JT82PyU7Zm9udC1zaXplOiU/MjA/JTtwYWRkaW5nOiU/ND8lICU/MTA/JTtib3JkZXI6JT8yPyUgc29saWQgI2Q0YmE4Mztib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyOm5vbmU7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoMWRlZywjZmZjYzhmLCNmZmVkZDgpfS50YWctc3VjY2Vzc1tkYXRhLXYtMTAxNzM3YmVdLCAudGFnLXBsYWluLXN1Y2Nlc3NbZGF0YS12LTEwMTczN2JlXXtiYWNrZ3JvdW5kLWNvbG9yOiMyOGJhOTg7Y29sb3I6I2ZmZjtib3JkZXItcmFkaXVzOiU/Nj8lO2ZvbnQtc2l6ZTolPzIwPyU7cGFkZGluZzolPzQ/JSAlPzEwPyU7Ym9yZGVyOiU/Mj8lIHNvbGlkICMyOGJhOTg7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlcjpub25lO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDEyMGRlZywjODRmYWIwLCM4ZmQzZjQpfS50YWctcGxhaW4tc3VjY2Vzc1tkYXRhLXYtMTAxNzM3YmVde2JhY2tncm91bmQ6bm9uZTtjb2xvcjojMjhiYTk4O2JvcmRlcjolPzI/JSBzb2xpZCAjMjhiYTk4fS50YWctcGxhaW4tZXJyb3JbZGF0YS12LTEwMTczN2JlXXtiYWNrZ3JvdW5kOm5vbmU7Y29sb3I6I2YwNGE1YTtib3JkZXI6JT8yPyUgc29saWQgI2YwNGE1YX0uYWxlcnRbZGF0YS12LTEwMTczN2JlXXtmb250LXNpemU6JT8yND8lO2JvcmRlci1yYWRpdXM6JT8yMD8lO3BhZGRpbmc6JT8yMD8lO2JvcmRlci1yYWRpdXM6NXB4fS5pbnB1dC1pdGVtW2RhdGEtdi0xMDE3MzdiZV17cG9zaXRpb246cmVsYXRpdmV9LmlucHV0LWl0ZW0gLmlucHV0W2RhdGEtdi0xMDE3MzdiZV17bWFyZ2luLXRvcDolPzIwPyV9LmlucHV0LWl0ZW0gLmV5ZVtkYXRhLXYtMTAxNzM3YmVde3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OiU/MzA/JTt0b3A6NTYlfS5pbnB1dC1pdGVtIC5nZXQtY29kZVtkYXRhLXYtMTAxNzM3YmVde3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OiU/MzA/JTt0b3A6JT83OD8lO2hlaWdodDolPzUwPyU7bGluZS1oZWlnaHQ6JT81MD8lO3BhZGRpbmc6MCAlPzIwPyU7YmFja2dyb3VuZC1jb2xvcjojZjA0YTVhO2JvcmRlci1yYWRpdXM6JT8xMD8lO2NvbG9yOiNmZmZ9LmlucHV0LWl0ZW0gLmdldC1jb2RlLnNlbmRbZGF0YS12LTEwMTczN2JlXXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoNTEsNTEsNTEsLjA2KX0udXBsb2FkLXdyYXBbZGF0YS12LTEwMTczN2JlXXtiYWNrZ3JvdW5kOiM0ZDRkNGQ7d2lkdGg6JT8yNDA/JTtoZWlnaHQ6JT8yNDA/JTtib3JkZXItcmFkaXVzOiU/MTA/JTtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7dGV4dC1hbGlnbjpjZW50ZXI7bWFyZ2luOjAgYXV0bztib3JkZXI6JT8yPyUgc29saWQgcmdiYSg1MSw1MSw1MSwuMDYpO292ZXJmbG93OmhpZGRlbn0ucmlnaHQtZW50ZXJbZGF0YS12LTEwMTczN2JlXXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgxMDAlLDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwMCUsMCwwKX0ucmlnaHQtbGVhdmUtdG9bZGF0YS12LTEwMTczN2JlXSwgLnJpZ2h0LWxlYXZlW2RhdGEtdi0xMDE3MzdiZV17ZGlzcGxheTpub25lfS5yaWdodC1lbnRlci10b1tkYXRhLXYtMTAxNzM3YmVdey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9LnJpZ2h0LWVudGVyLWFjdGl2ZVtkYXRhLXYtMTAxNzM3YmVdLFxyXG4ucmlnaHQtbGVhdmUtYWN0aXZlW2RhdGEtdi0xMDE3MzdiZV17dHJhbnNpdGlvbjphbGwgLjNzfS5kZXBvc2l0W2RhdGEtdi0xMDE3MzdiZV17Y29sb3I6IzMzMztwYWRkaW5nOjAgJT8yOD8lO3BhZGRpbmctdG9wOiU/Mzg/JTtwb3NpdGlvbjpyZWxhdGl2ZX0uZGVwb3NpdCAuZWFybmluZ3Mtd3JhcFtkYXRhLXYtMTAxNzM3YmVde21hcmdpbjowICU/LTI4PyU7bWFyZ2luLXRvcDolPzMwPyV9LmRlcG9zaXQgLmVhcm5pbmdzLXdyYXAgLmVhcm5pbmdzW2RhdGEtdi0xMDE3MzdiZV17cGFkZGluZzolPzMwPyUgJT8yOD8lICU/Mjg/JSAlPzI4PyU7YmFja2dyb3VuZC1jb2xvcjpoc2xhKDAsMCUsMTAwJSwuMSl9LnRyYW5zaXRpb25bZGF0YS12LTEwMTczN2JlXXt0cmFuc2l0aW9uOmFsbCAuM3MgZWFzZSAwc30ud2hpdGUtY2lyY2xlW2RhdGEtdi0xMDE3MzdiZV17d2lkdGg6JT84MD8lO2hlaWdodDolPzgwPyU7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZC1jb2xvcjojZmZmO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0uZmxleC0xW2RhdGEtdi0xMDE3MzdiZV17ZmxleDoxfS5sb2dpbi1oZWFkLWJnW2RhdGEtdi0xMDE3MzdiZV17cG9zaXRpb246Zml4ZWQ7d2lkdGg6MTAwdnc7aGVpZ2h0OjU0LjR2dzt0b3A6MDtsZWZ0OjA7cmlnaHQ6MH0ubGluZWFyLWdyYWRpZW50LXRleHRbZGF0YS12LTEwMTczN2JlXXtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgzZGVnLCNmZmNjOGYsI2ZmZWRkOCk7LXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6dGV4dDtjb2xvcjp0cmFuc3BhcmVudH0ubGluZWFyLWdyYWRpZW50LWJ1dHRvbltkYXRhLXYtMTAxNzM3YmVdLCAuZGVwb3NpdFtkYXRhLXYtMTAxNzM3YmVde2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDFkZWcsI2ZmY2M4ZiwjZmZlZGQ4KX0ud3JhcHBlci1iZ1tkYXRhLXYtMTAxNzM3YmVde3Bvc2l0aW9uOnJlbGF0aXZlfS53cmFwcGVyLWJnW2RhdGEtdi0xMDE3MzdiZV06OmFmdGVye2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3JpZ2h0OjA7dG9wOjA7Ym90dG9tOjA7YmFja2dyb3VuZC1pbWFnZTp1cmwoJytyKyIpO2JhY2tncm91bmQtc2l6ZTpjb250YWluO2JhY2tncm91bmQtcG9zaXRpb246MTAwJSB0b3A7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0fS51LW1hc2tbZGF0YS12LTEwMTczN2JlXXtwb3NpdGlvbjpmaXhlZDt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDtvcGFjaXR5OjA7dHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuM3M7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gLjNzO3RyYW5zaXRpb246dHJhbnNmb3JtIC4zcywtd2Via2l0LXRyYW5zZm9ybSAuM3N9LnUtbWFzay1zaG93W2RhdGEtdi0xMDE3MzdiZV17b3BhY2l0eToxfS51LW1hc2stem9vbVtkYXRhLXYtMTAxNzM3YmVdey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEuMik7dHJhbnNmb3JtOnNjYWxlKDEuMil9IiwiIl0pLHQuZXhwb3J0cz1hfSw1MzU5OmZ1bmN0aW9uKHQsYSxpKXt2YXIgbj1pKCJlYzNkIik7bi5fX2VzTW9kdWxlJiYobj1uLmRlZmF1bHQpLCJzdHJpbmciPT09dHlwZW9mIG4mJihuPVtbdC5pLG4sIiJdXSksbi5sb2NhbHMmJih0LmV4cG9ydHM9bi5sb2NhbHMpO3ZhciBkPWkoIjk2N2QiKS5kZWZhdWx0O2QoIjBmNDdiODgyIixuLCEwLHtzb3VyY2VNYXA6ITEsc2hhZG93TW9kZTohMX0pfSwiNmExNiI6ZnVuY3Rpb24odCxhLGkpeyJ1c2Ugc3RyaWN0IjtpKCI2YTU0IiksT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGEuZGVmYXVsdD12b2lkIDAsaSgiNjRhYSIpLGkoImMyMjMiKSxpKCI1YzQ3IiksaSgiMDUwNiIpO3ZhciBuPXtuYW1lOiJ1LXBvcHVwIixwcm9wczp7c2hvdzp7dHlwZTpCb29sZWFuLGRlZmF1bHQ6ITF9LG1vZGU6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6ImNlbnRlciJ9LG1hc2s6e3R5cGU6Qm9vbGVhbixkZWZhdWx0OiEwfSxsZW5ndGg6e3R5cGU6W051bWJlcixTdHJpbmddLGRlZmF1bHQ6ImF1dG8ifSx6b29tOnt0eXBlOkJvb2xlYW4sZGVmYXVsdDohMH0sc2FmZUFyZWFJbnNldEJvdHRvbTp7dHlwZTpCb29sZWFuLGRlZmF1bHQ6ITF9LG1hc2tDbG9zZUFibGU6e3R5cGU6Qm9vbGVhbixkZWZhdWx0OiEwfSxjdXN0b21TdHlsZTp7dHlwZTpPYmplY3QsZGVmYXVsdDpmdW5jdGlvbigpe3JldHVybnt9fX0sdmFsdWU6e3R5cGU6Qm9vbGVhbixkZWZhdWx0OiExfSxwb3B1cDp7dHlwZTpCb29sZWFuLGRlZmF1bHQ6ITB9LGJvcmRlclJhZGl1czp7dHlwZTpbTnVtYmVyLFN0cmluZ10sZGVmYXVsdDo1MH0sekluZGV4Ont0eXBlOltOdW1iZXIsU3RyaW5nXSxkZWZhdWx0OiIifSxjbG9zZWFibGU6e3R5cGU6Qm9vbGVhbixkZWZhdWx0OiExfSxjbG9zZUljb246e3R5cGU6U3RyaW5nLGRlZmF1bHQ6ImNsb3NlIn0sY2xvc2VJY29uUG9zOnt0eXBlOlN0cmluZyxkZWZhdWx0OiJ0b3AtcmlnaHQifSxjbG9zZUljb25Db2xvcjp7dHlwZTpTdHJpbmcsZGVmYXVsdDoiIzkwOTM5OSJ9LGNsb3NlSWNvblNpemU6e3R5cGU6W1N0cmluZyxOdW1iZXJdLGRlZmF1bHQ6IjMwIn0sd2lkdGg6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6IiJ9LGhlaWdodDp7dHlwZTpTdHJpbmcsZGVmYXVsdDoiIn0sbmVnYXRpdmVUb3A6e3R5cGU6W1N0cmluZyxOdW1iZXJdLGRlZmF1bHQ6MH0sbWFza0N1c3RvbVN0eWxlOnt0eXBlOk9iamVjdCxkZWZhdWx0OmZ1bmN0aW9uKCl7cmV0dXJue319fSxkdXJhdGlvbjp7dHlwZTpbU3RyaW5nLE51bWJlcl0sZGVmYXVsdDoyNTB9LHRpdGxlOnt0eXBlOlN0cmluZyxkZWZhdWx0OiIifSxjb250ZW50QmFja2dyb3VuZENvbG9yOnt0eXBlOlN0cmluZyxkZWZhdWx0OiIifSxjZW50ZXJCYWNrZ3JvdW5kQ29sb3I6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6IiNmZmZmZmYifX0sZGF0YTpmdW5jdGlvbigpe3JldHVybnt2aXNpYmxlU3luYzohMSxzaG93RHJhd2VyOiExLHRpbWVyOm51bGwsY2xvc2VGcm9tSW5uZXI6ITF9fSxjb21wdXRlZDp7c3R5bGU6ZnVuY3Rpb24oKXt2YXIgdD17fTtpZigibGVmdCI9PXRoaXMubW9kZXx8InJpZ2h0Ij09dGhpcy5tb2RlP3Q9e3dpZHRoOnRoaXMud2lkdGg/dGhpcy5nZXRVbml0VmFsdWUodGhpcy53aWR0aCk6dGhpcy5nZXRVbml0VmFsdWUodGhpcy5sZW5ndGgpLGhlaWdodDoiMTAwJSIsdHJhbnNmb3JtOiJ0cmFuc2xhdGUzRCgiLmNvbmNhdCgibGVmdCI9PXRoaXMubW9kZT8iLTEwMCUiOiIxMDAlIiwiLDBweCwwcHgpIil9OiJ0b3AiIT10aGlzLm1vZGUmJiJib3R0b20iIT10aGlzLm1vZGV8fCh0PXt3aWR0aDoiMTAwJSIsaGVpZ2h0OnRoaXMuaGVpZ2h0P3RoaXMuZ2V0VW5pdFZhbHVlKHRoaXMuaGVpZ2h0KTp0aGlzLmdldFVuaXRWYWx1ZSh0aGlzLmxlbmd0aCksdHJhbnNmb3JtOiJ0cmFuc2xhdGUzRCgwcHgsIi5jb25jYXQoInRvcCI9PXRoaXMubW9kZT8iLTEwMCUiOiIxMDAlIiwiLDBweCkiKX0pLHQuekluZGV4PXRoaXMudVppbmRleCx0aGlzLmJvcmRlclJhZGl1cyl7c3dpdGNoKHRoaXMubW9kZSl7Y2FzZSJsZWZ0Ijp0LmJvcmRlclJhZGl1cz0iMCAiLmNvbmNhdCh0aGlzLmJvcmRlclJhZGl1cywicnB4ICIpLmNvbmNhdCh0aGlzLmJvcmRlclJhZGl1cywicnB4IDAiKTticmVhaztjYXNlInRvcCI6dC5ib3JkZXJSYWRpdXM9IjAgMCAiLmNvbmNhdCh0aGlzLmJvcmRlclJhZGl1cywicnB4ICIpLmNvbmNhdCh0aGlzLmJvcmRlclJhZGl1cywicnB4Iik7YnJlYWs7Y2FzZSJyaWdodCI6dC5ib3JkZXJSYWRpdXM9IiIuY29uY2F0KHRoaXMuYm9yZGVyUmFkaXVzLCJycHggMCAwICIpLmNvbmNhdCh0aGlzLmJvcmRlclJhZGl1cywicnB4Iik7YnJlYWs7Y2FzZSJib3R0b20iOnQuYm9yZGVyUmFkaXVzPSIiLmNvbmNhdCh0aGlzLmJvcmRlclJhZGl1cywicnB4ICIpLmNvbmNhdCh0aGlzLmJvcmRlclJhZGl1cywicnB4IDAgMCIpO2JyZWFrO2RlZmF1bHQ6fXQub3ZlcmZsb3c9ImhpZGRlbiJ9cmV0dXJuIHRoaXMuZHVyYXRpb24mJih0LnRyYW5zaXRpb249ImFsbCAiLmNvbmNhdCh0aGlzLmR1cmF0aW9uLzFlMywicyBsaW5lYXIiKSksdH0sY2VudGVyU3R5bGU6ZnVuY3Rpb24oKXt2YXIgdD17fTtyZXR1cm4gdC53aWR0aD10aGlzLndpZHRoP3RoaXMuZ2V0VW5pdFZhbHVlKHRoaXMud2lkdGgpOnRoaXMuZ2V0VW5pdFZhbHVlKHRoaXMubGVuZ3RoKSx0LmhlaWdodD10aGlzLmhlaWdodD90aGlzLmdldFVuaXRWYWx1ZSh0aGlzLmhlaWdodCk6ImF1dG8iLHQuekluZGV4PXRoaXMudVppbmRleCx0Lm1hcmdpblRvcD0iLSIuY29uY2F0KHRoaXMuJHUuYWRkVW5pdCh0aGlzLm5lZ2F0aXZlVG9wKSksdC5iYWNrZ3JvdW5kPXRoaXMuY2VudGVyQmFja2dyb3VuZENvbG9yLHRoaXMuYm9yZGVyUmFkaXVzJiYodC5ib3JkZXJSYWRpdXM9IiIuY29uY2F0KHRoaXMuYm9yZGVyUmFkaXVzLCJycHgiKSx0Lm92ZXJmbG93PSJoaWRkZW4iKSx0fSx1WmluZGV4OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuekluZGV4P3RoaXMuekluZGV4OnRoaXMuJHUuekluZGV4LnBvcHVwfX0sd2F0Y2g6e3ZhbHVlOmZ1bmN0aW9uKHQpe3Q/dGhpcy5vcGVuKCk6dGhpcy5jbG9zZUZyb21Jbm5lcnx8dGhpcy5jbG9zZSgpLHRoaXMuY2xvc2VGcm9tSW5uZXI9ITF9fSxtb3VudGVkOmZ1bmN0aW9uKCl7dGhpcy52YWx1ZSYmdGhpcy5vcGVuKCl9LG1ldGhvZHM6e2dldFVuaXRWYWx1ZTpmdW5jdGlvbih0KXtyZXR1cm4vKCV8cHh8cnB4fGF1dG8pJC8udGVzdCh0KT90OnQrInJweCJ9LG1hc2tDbGljazpmdW5jdGlvbigpe3RoaXMuY2xvc2UoKX0sY2xvc2U6ZnVuY3Rpb24oKXt0aGlzLmNsb3NlRnJvbUlubmVyPSEwLHRoaXMuY2hhbmdlKCJzaG93RHJhd2VyIiwidmlzaWJsZVN5bmMiLCExKX0sbW9kZUNlbnRlckNsb3NlOmZ1bmN0aW9uKHQpeyJjZW50ZXIiPT10JiZ0aGlzLm1hc2tDbG9zZUFibGUmJnRoaXMuY2xvc2UoKX0sb3BlbjpmdW5jdGlvbigpe3RoaXMuY2hhbmdlKCJ2aXNpYmxlU3luYyIsInNob3dEcmF3ZXIiLCEwKX0sY2hhbmdlOmZ1bmN0aW9uKHQsYSxpKXt2YXIgbj10aGlzOzE9PXRoaXMucG9wdXAmJnRoaXMuJGVtaXQoImlucHV0IixpKSx0aGlzW3RdPWksdGhpcy50aW1lcj1pP3NldFRpbWVvdXQoKGZ1bmN0aW9uKCl7blthXT1pLG4uJGVtaXQoaT8ib3BlbiI6ImNsb3NlIil9KSw1MCk6c2V0VGltZW91dCgoZnVuY3Rpb24oKXtuW2FdPWksbi4kZW1pdChpPyJvcGVuIjoiY2xvc2UiKX0pLHRoaXMuZHVyYXRpb24pfX19O2EuZGVmYXVsdD1ufSxhZTU4OmZ1bmN0aW9uKHQsYSxpKXsidXNlIHN0cmljdCI7aS5yKGEpO3ZhciBuPWkoImY1YWEiKSxkPWkubihuKTtmb3IodmFyIG8gaW4gbilbImRlZmF1bHQiXS5pbmRleE9mKG8pPDAmJmZ1bmN0aW9uKHQpe2kuZChhLHQsKGZ1bmN0aW9uKCl7cmV0dXJuIG5bdF19KSl9KG8pO2FbImRlZmF1bHQiXT1kLmF9LGQwZDY6ZnVuY3Rpb24odCxhLGkpeyJ1c2Ugc3RyaWN0IjtpLmQoYSwiYiIsKGZ1bmN0aW9uKCl7cmV0dXJuIG59KSksaS5kKGEsImMiLChmdW5jdGlvbigpe3JldHVybiBkfSkpLGkuZChhLCJhIiwoZnVuY3Rpb24oKXt9KSk7dmFyIG49ZnVuY3Rpb24oKXt2YXIgdD10aGlzLGE9dC4kY3JlYXRlRWxlbWVudCxpPXQuX3NlbGYuX2N8fGE7cmV0dXJuIGkoInYtdW5pLXZpZXciLHtzdGF0aWNDbGFzczoidS1tYXNrIixjbGFzczp7InUtbWFzay16b29tIjp0Lnpvb20sInUtbWFzay1zaG93Ijp0LnNob3d9LHN0eWxlOlt0Lm1hc2tTdHlsZSx0Lnpvb21TdHlsZV0sYXR0cnM6eyJob3Zlci1zdG9wLXByb3BhZ2F0aW9uIjohMH0sb246e3RvdWNobW92ZTpmdW5jdGlvbihhKXthLnN0b3BQcm9wYWdhdGlvbigpLGEucHJldmVudERlZmF1bHQoKSxhcmd1bWVudHNbMF09YT10LiRoYW5kbGVFdmVudChhKSxmdW5jdGlvbigpe30uYXBwbHkodm9pZCAwLGFyZ3VtZW50cyl9LGNsaWNrOmZ1bmN0aW9uKGEpe2FyZ3VtZW50c1swXT1hPXQuJGhhbmRsZUV2ZW50KGEpLHQuY2xpY2suYXBwbHkodm9pZCAwLGFyZ3VtZW50cyl9fX0sW3QuX3QoImRlZmF1bHQiKV0sMil9LGQ9W119LGRkMmU6ZnVuY3Rpb24odCxhLGkpeyJ1c2Ugc3RyaWN0IjtpLnIoYSk7dmFyIG49aSgiNmExNiIpLGQ9aS5uKG4pO2Zvcih2YXIgbyBpbiBuKVsiZGVmYXVsdCJdLmluZGV4T2Yobyk8MCYmZnVuY3Rpb24odCl7aS5kKGEsdCwoZnVuY3Rpb24oKXtyZXR1cm4gblt0XX0pKX0obyk7YVsiZGVmYXVsdCJdPWQuYX0sZTliOTpmdW5jdGlvbih0LGEsaSl7InVzZSBzdHJpY3QiO2kuZChhLCJiIiwoZnVuY3Rpb24oKXtyZXR1cm4gZH0pKSxpLmQoYSwiYyIsKGZ1bmN0aW9uKCl7cmV0dXJuIG99KSksaS5kKGEsImEiLChmdW5jdGlvbigpe3JldHVybiBufSkpO3ZhciBuPXt1TWFzazppKCI0MjZlIikuZGVmYXVsdCx1SWNvbjppKCJjYWFjIikuZGVmYXVsdH0sZD1mdW5jdGlvbigpe3ZhciB0PXRoaXMsYT10LiRjcmVhdGVFbGVtZW50LGk9dC5fc2VsZi5fY3x8YTtyZXR1cm4gdC52aXNpYmxlU3luYz9pKCJ2LXVuaS12aWV3Iix7c3RhdGljQ2xhc3M6InUtZHJhd2VyIixzdHlsZTpbdC5jdXN0b21TdHlsZSx7ekluZGV4OnQudVppbmRleC0xfV0sYXR0cnM6eyJob3Zlci1zdG9wLXByb3BhZ2F0aW9uIjohMH19LFtpKCJ1LW1hc2siLHthdHRyczp7ZHVyYXRpb246dC5kdXJhdGlvbiwiY3VzdG9tLXN0eWxlIjp0Lm1hc2tDdXN0b21TdHlsZSxtYXNrQ2xpY2tBYmxlOnQubWFza0Nsb3NlQWJsZSwiei1pbmRleCI6dC51WmluZGV4LTIsc2hvdzp0LnNob3dEcmF3ZXImJnQubWFza30sb246e2NsaWNrOmZ1bmN0aW9uKGEpe2FyZ3VtZW50c1swXT1hPXQuJGhhbmRsZUV2ZW50KGEpLHQubWFza0NsaWNrLmFwcGx5KHZvaWQgMCxhcmd1bWVudHMpfX19KSxpKCJ2LXVuaS12aWV3Iix7c3RhdGljQ2xhc3M6InUtZHJhd2VyLWNvbnRlbnQiLGNsYXNzOlt0LnNhZmVBcmVhSW5zZXRCb3R0b20/InNhZmUtYXJlYS1pbnNldC1ib3R0b20iOiIiLCJ1LWRyYXdlci0iK3QubW9kZSx0LnNob3dEcmF3ZXI/InUtZHJhd2VyLWNvbnRlbnQtdmlzaWJsZSI6IiIsdC56b29tJiYiY2VudGVyIj09dC5tb2RlPyJ1LWFuaW1hdGlvbi16b29tIjoiIl0sc3R5bGU6W3Quc3R5bGUse2JhY2tncm91bmQ6dC5jb250ZW50QmFja2dyb3VuZENvbG9yfV0sb246e3RvdWNobW92ZTpmdW5jdGlvbihhKXthLnN0b3BQcm9wYWdhdGlvbigpLGEucHJldmVudERlZmF1bHQoKSxhcmd1bWVudHNbMF09YT10LiRoYW5kbGVFdmVudChhKX0sY2xpY2s6W2Z1bmN0aW9uKGEpe2FyZ3VtZW50c1swXT1hPXQuJGhhbmRsZUV2ZW50KGEpLHQubW9kZUNlbnRlckNsb3NlKHQubW9kZSl9LGZ1bmN0aW9uKGEpe2Euc3RvcFByb3BhZ2F0aW9uKCksYS5wcmV2ZW50RGVmYXVsdCgpLGFyZ3VtZW50c1swXT1hPXQuJGhhbmRsZUV2ZW50KGEpfV19fSxbdC50aXRsZT9pKCJ2LXVuaS12aWV3Iix7c3RhdGljQ2xhc3M6InRpdGxlIn0sWyJib3R0b20iPT10Lm1vZGU/aSgidi11bmktdmlldyIse3N0YXRpY0NsYXNzOiJibG9jayIsb246e2NsaWNrOmZ1bmN0aW9uKGEpe2FyZ3VtZW50c1swXT1hPXQuJGhhbmRsZUV2ZW50KGEpLHQuY2xvc2UuYXBwbHkodm9pZCAwLGFyZ3VtZW50cyl9fX0pOnQuX2UoKSxpKCJ2LXVuaS10ZXh0Iix7c3RhdGljQ2xhc3M6InRleHQifSxbdC5fdih0Ll9zKHQudGl0bGUpKV0pXSwxKTp0Ll9lKCksImNlbnRlciI9PXQubW9kZT9pKCJ2LXVuaS12aWV3Iix7c3RhdGljQ2xhc3M6InUtbW9kZS1jZW50ZXItYm94IixzdHlsZTpbdC5jZW50ZXJTdHlsZV0sb246e3RvdWNobW92ZTpmdW5jdGlvbihhKXthLnN0b3BQcm9wYWdhdGlvbigpLGEucHJldmVudERlZmF1bHQoKSxhcmd1bWVudHNbMF09YT10LiRoYW5kbGVFdmVudChhKX0sY2xpY2s6ZnVuY3Rpb24oYSl7YS5zdG9wUHJvcGFnYXRpb24oKSxhLnByZXZlbnREZWZhdWx0KCksYXJndW1lbnRzWzBdPWE9dC4kaGFuZGxlRXZlbnQoYSl9fX0sW3QuY2xvc2VhYmxlP2koInUtaWNvbiIse3N0YXRpY0NsYXNzOiJ1LWNsb3NlIixjbGFzczpbInUtY2xvc2UtLSIrdC5jbG9zZUljb25Qb3NdLGF0dHJzOntuYW1lOnQuY2xvc2VJY29uLGNvbG9yOnQuY2xvc2VJY29uQ29sb3Isc2l6ZTp0LmNsb3NlSWNvblNpemV9LG9uOntjbGljazpmdW5jdGlvbihhKXthcmd1bWVudHNbMF09YT10LiRoYW5kbGVFdmVudChhKSx0LmNsb3NlLmFwcGx5KHZvaWQgMCxhcmd1bWVudHMpfX19KTp0Ll9lKCksaSgidi11bmktc2Nyb2xsLXZpZXciLHtzdGF0aWNDbGFzczoidS1kcmF3ZXJfX3Njcm9sbC12aWV3IixhdHRyczp7InNjcm9sbC15IjoidHJ1ZSJ9fSxbdC5fdCgiZGVmYXVsdCIpXSwyKV0sMSk6aSgidi11bmktc2Nyb2xsLXZpZXciLHtzdGF0aWNDbGFzczoidS1kcmF3ZXJfX3Njcm9sbC12aWV3IixhdHRyczp7InNjcm9sbC15IjoidHJ1ZSJ9fSxbdC5fdCgiZGVmYXVsdCIpXSwyKSxpKCJ2LXVuaS12aWV3Iix7c3RhdGljQ2xhc3M6InUtY2xvc2UiLGNsYXNzOlsidS1jbG9zZS0tIit0LmNsb3NlSWNvblBvc10sb246e2NsaWNrOmZ1bmN0aW9uKGEpe2FyZ3VtZW50c1swXT1hPXQuJGhhbmRsZUV2ZW50KGEpLHQuY2xvc2UuYXBwbHkodm9pZCAwLGFyZ3VtZW50cyl9fX0sWyJjZW50ZXIiIT10Lm1vZGUmJnQuY2xvc2VhYmxlP2koInUtaWNvbiIse2F0dHJzOntuYW1lOnQuY2xvc2VJY29uLGNvbG9yOnQuY2xvc2VJY29uQ29sb3Isc2l6ZTp0LmNsb3NlSWNvblNpemV9fSk6dC5fZSgpXSwxKV0sMSldLDEpOnQuX2UoKX0sbz1bXX0sZWMzZDpmdW5jdGlvbih0LGEsaSl7dmFyIG49aSgiYzg2YyIpLGQ9aSgiMmVjNSIpLG89aSgiOWY1ZiIpO2E9bighMSk7dmFyIHI9ZChvKTthLnB1c2goW3QuaSwnQGNoYXJzZXQgIlVURi04IjtcclxuLyoqXHJcbiAqIOS4i+aWueW8leWFpeeahOS4unVWaWV3IFVJ55qE6ZuG5oiQ5qC35byP5paH5Lu277yM5Li6c2Nzc+mihOWkhOeQhuWZqO+8jOWFtuS4reWMheWQq+S6huS4gOS6myJ1LSLlvIDlpLTnmoToh6rlrprkuYnlj5jph49cclxuICog5L2/55So55qE5pe25YCZ77yM6K+35bCG5LiL6Z2i55qE5LiA6KGM5aSN5Yi25Yiw5oKo55qEdW5pYXBw6aG555uu5qC555uu5b2V55qEdW5pLnNjc3PkuK3ljbPlj69cclxuICogdVZpZXfoh6rlrprkuYnnmoRjc3PnsbvlkI3lkoxzY3Nz5Y+Y6YeP77yM5Z2H5LulInUtIuW8gOWktO+8jOS4jeS8mumAoOaIkOWGsueqge+8jOivt+aUvuW/g+S9v+eUqCBcclxuICovLnRleHQtc3VjY2Vzc1tkYXRhLXYtN2ZjYjAxYzBde2NvbG9yOiMyOGJhOTh9LnRleHQtd2FybmluZ1tkYXRhLXYtN2ZjYjAxYzBde2NvbG9yOiNkNGJhODN9LnRleHQtcHJpbWFyeVtkYXRhLXYtN2ZjYjAxYzBde2NvbG9yOiMyMjc3ZmN9LnRleHQtZXJyb3JbZGF0YS12LTdmY2IwMWMwXXtjb2xvcjojZjA0YTVhfS50ZXh0LXNlY29uZGFyeVtkYXRhLXYtN2ZjYjAxYzBde2NvbG9yOiM5OTl9LnRleHQtZGVlcGJsdWVbZGF0YS12LTdmY2IwMWMwXXtjb2xvcjojMGQyNzU4fS50ZXh0LTMzM1tkYXRhLXYtN2ZjYjAxYzBde2NvbG9yOiMzMzN9LnByaW1hcnktYnV0dG9uW2RhdGEtdi03ZmNiMDFjMF17YmFja2dyb3VuZC1jb2xvcjojMjI3N2ZjO2NvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czolPzEwPyU7Zm9udC1zaXplOiU/MzI/JTtwYWRkaW5nOiU/ND8lIDA7Ym9yZGVyOm5vbmU7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgxODBkZWcsIzAwYzZmYiAwLCMwMDViZWEpfS5wcmltYXJ5LWJ1dHRvbltkYXRhLXYtN2ZjYjAxYzBdOmFmdGVye2Rpc3BsYXk6bm9uZX0uZXJyb3ItYnV0dG9uW2RhdGEtdi03ZmNiMDFjMF17YmFja2dyb3VuZC1jb2xvcjojZjA0YTVhO2NvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czolPzEwPyU7Zm9udC1zaXplOiU/MzI/JTtwYWRkaW5nOiU/ND8lIDA7Ym9yZGVyOm5vbmU7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgxODBkZWcsI2Y3NzA2MiAwLCNmZTUxOTYpfS5lcnJvci1idXR0b25bZGF0YS12LTdmY2IwMWMwXTphZnRlcntkaXNwbGF5Om5vbmV9Lndhcm5pbmctYnV0dG9uW2RhdGEtdi03ZmNiMDFjMF17YmFja2dyb3VuZC1jb2xvcjojZDRiYTgzO2NvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czolPzEwPyU7Zm9udC1zaXplOiU/MzI/JTtwYWRkaW5nOiU/ND8lIDA7Ym9yZGVyOm5vbmU7Y29sb3I6IzRkNGQ0ZDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxZGVnLCNmZmNjOGYsI2ZmZWRkOCl9Lndhcm5pbmctYnV0dG9uW2RhdGEtdi03ZmNiMDFjMF06YWZ0ZXJ7ZGlzcGxheTpub25lfS5zdWNjZXNzLWJ1dHRvbltkYXRhLXYtN2ZjYjAxYzBde2JhY2tncm91bmQtY29sb3I6IzI4YmE5ODtjb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6JT8xMD8lO2ZvbnQtc2l6ZTolPzMyPyU7cGFkZGluZzolPzQ/JSAwO2JvcmRlcjpub25lO2NvbG9yOiNmZmY7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoMGRlZywjMGJhMzYwIDAsIzNjYmE5Mil9LnN1Y2Nlc3MtYnV0dG9uW2RhdGEtdi03ZmNiMDFjMF06YWZ0ZXJ7ZGlzcGxheTpub25lfS5zZWNvbmRhcnktYnV0dG9uW2RhdGEtdi03ZmNiMDFjMF17YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDUxLDUxLDUxLC4wNik7Y29sb3I6I2FmYWZhZjtib3JkZXItcmFkaXVzOiU/MTA/JTtmb250LXNpemU6JT8zMj8lO3BhZGRpbmc6JT80PyUgMDtib3JkZXI6bm9uZTtjb2xvcjojYjFiMGIwO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDBkZWcsI2M0YzVjNyAwLCNkY2RkZGYgNTIlLCNlYmViZWIpfS5zZWNvbmRhcnktYnV0dG9uW2RhdGEtdi03ZmNiMDFjMF06YWZ0ZXJ7ZGlzcGxheTpub25lfS50ZXh0LXdoaXRlW2RhdGEtdi03ZmNiMDFjMF17Y29sb3I6I2ZmZiFpbXBvcnRhbnR9LnRleHQtYmxhY2tbZGF0YS12LTdmY2IwMWMwXXtjb2xvcjojNGQ0ZDRkIWltcG9ydGFudH0uYmctd2hpdGVbZGF0YS12LTdmY2IwMWMwXXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmYhaW1wb3J0YW50fS5iZy1wcmltYXJ5W2RhdGEtdi03ZmNiMDFjMF17YmFja2dyb3VuZC1jb2xvcjojMjI3N2ZjIWltcG9ydGFudH0uYmctc2Vjb25kYXJ5W2RhdGEtdi03ZmNiMDFjMF17YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDUxLDUxLDUxLC4wNikhaW1wb3J0YW50fS5iZy1ibGFja1tkYXRhLXYtN2ZjYjAxYzBde2JhY2tncm91bmQtY29sb3I6IzRkNGQ0ZCFpbXBvcnRhbnR9LmJnLTMzM1tkYXRhLXYtN2ZjYjAxYzBde2JhY2tncm91bmQtY29sb3I6IzMzMyFpbXBvcnRhbnR9Lm0tMFtkYXRhLXYtN2ZjYjAxYzBde21hcmdpbjolPzA/JSFpbXBvcnRhbnR9Lm14LTBbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tbGVmdDolPzA/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/MD8lIWltcG9ydGFudH0ubWwtMFtkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi1sZWZ0OiU/MD8lIWltcG9ydGFudH0ubXItMFtkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi1yaWdodDolPzA/JSFpbXBvcnRhbnR9Lm15LTBbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tdG9wOiU/MD8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/MD8lIWltcG9ydGFudH0ubXQtMFtkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi10b3A6JT8wPyUhaW1wb3J0YW50fS5tYi0wW2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLWJvdHRvbTolPzA/JSFpbXBvcnRhbnR9LnAtMFtkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmc6JT8wPyUhaW1wb3J0YW50fS5weC0wW2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy1sZWZ0OiU/MD8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/MD8lIWltcG9ydGFudH0ucGwtMFtkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctbGVmdDolPzA/JSFpbXBvcnRhbnR9LnByLTBbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLXJpZ2h0OiU/MD8lIWltcG9ydGFudH0ucHktMFtkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctdG9wOiU/MD8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzA/JSFpbXBvcnRhbnR9LnB0LTBbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLXRvcDolPzA/JSFpbXBvcnRhbnR9LnBiLTBbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLWJvdHRvbTolPzA/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTBbZGF0YS12LTdmY2IwMWMwXXtncmlkLWdhcDolPzA/JSFpbXBvcnRhbnR9LnotaW5kZXgtMFtkYXRhLXYtN2ZjYjAxYzBde3otaW5kZXg6MCFpbXBvcnRhbnR9Lm0tMltkYXRhLXYtN2ZjYjAxYzBde21hcmdpbjolPzI/JSFpbXBvcnRhbnR9Lm14LTJbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tbGVmdDolPzI/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/Mj8lIWltcG9ydGFudH0ubWwtMltkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi1sZWZ0OiU/Mj8lIWltcG9ydGFudH0ubXItMltkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi1yaWdodDolPzI/JSFpbXBvcnRhbnR9Lm15LTJbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tdG9wOiU/Mj8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/Mj8lIWltcG9ydGFudH0ubXQtMltkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi10b3A6JT8yPyUhaW1wb3J0YW50fS5tYi0yW2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLWJvdHRvbTolPzI/JSFpbXBvcnRhbnR9LnAtMltkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmc6JT8yPyUhaW1wb3J0YW50fS5weC0yW2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy1sZWZ0OiU/Mj8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/Mj8lIWltcG9ydGFudH0ucGwtMltkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctbGVmdDolPzI/JSFpbXBvcnRhbnR9LnByLTJbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLXJpZ2h0OiU/Mj8lIWltcG9ydGFudH0ucHktMltkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctdG9wOiU/Mj8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzI/JSFpbXBvcnRhbnR9LnB0LTJbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLXRvcDolPzI/JSFpbXBvcnRhbnR9LnBiLTJbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLWJvdHRvbTolPzI/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTJbZGF0YS12LTdmY2IwMWMwXXtncmlkLWdhcDolPzI/JSFpbXBvcnRhbnR9LnotaW5kZXgtMltkYXRhLXYtN2ZjYjAxYzBde3otaW5kZXg6MiFpbXBvcnRhbnR9Lm0tNFtkYXRhLXYtN2ZjYjAxYzBde21hcmdpbjolPzQ/JSFpbXBvcnRhbnR9Lm14LTRbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tbGVmdDolPzQ/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/ND8lIWltcG9ydGFudH0ubWwtNFtkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi1sZWZ0OiU/ND8lIWltcG9ydGFudH0ubXItNFtkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi1yaWdodDolPzQ/JSFpbXBvcnRhbnR9Lm15LTRbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tdG9wOiU/ND8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/ND8lIWltcG9ydGFudH0ubXQtNFtkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi10b3A6JT80PyUhaW1wb3J0YW50fS5tYi00W2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLWJvdHRvbTolPzQ/JSFpbXBvcnRhbnR9LnAtNFtkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmc6JT80PyUhaW1wb3J0YW50fS5weC00W2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy1sZWZ0OiU/ND8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/ND8lIWltcG9ydGFudH0ucGwtNFtkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctbGVmdDolPzQ/JSFpbXBvcnRhbnR9LnByLTRbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLXJpZ2h0OiU/ND8lIWltcG9ydGFudH0ucHktNFtkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctdG9wOiU/ND8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzQ/JSFpbXBvcnRhbnR9LnB0LTRbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLXRvcDolPzQ/JSFpbXBvcnRhbnR9LnBiLTRbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLWJvdHRvbTolPzQ/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTRbZGF0YS12LTdmY2IwMWMwXXtncmlkLWdhcDolPzQ/JSFpbXBvcnRhbnR9LnotaW5kZXgtNFtkYXRhLXYtN2ZjYjAxYzBde3otaW5kZXg6NCFpbXBvcnRhbnR9Lm0tNltkYXRhLXYtN2ZjYjAxYzBde21hcmdpbjolPzY/JSFpbXBvcnRhbnR9Lm14LTZbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tbGVmdDolPzY/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/Nj8lIWltcG9ydGFudH0ubWwtNltkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi1sZWZ0OiU/Nj8lIWltcG9ydGFudH0ubXItNltkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi1yaWdodDolPzY/JSFpbXBvcnRhbnR9Lm15LTZbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tdG9wOiU/Nj8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/Nj8lIWltcG9ydGFudH0ubXQtNltkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi10b3A6JT82PyUhaW1wb3J0YW50fS5tYi02W2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLWJvdHRvbTolPzY/JSFpbXBvcnRhbnR9LnAtNltkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmc6JT82PyUhaW1wb3J0YW50fS5weC02W2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy1sZWZ0OiU/Nj8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/Nj8lIWltcG9ydGFudH0ucGwtNltkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctbGVmdDolPzY/JSFpbXBvcnRhbnR9LnByLTZbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLXJpZ2h0OiU/Nj8lIWltcG9ydGFudH0ucHktNltkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctdG9wOiU/Nj8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzY/JSFpbXBvcnRhbnR9LnB0LTZbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLXRvcDolPzY/JSFpbXBvcnRhbnR9LnBiLTZbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLWJvdHRvbTolPzY/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTZbZGF0YS12LTdmY2IwMWMwXXtncmlkLWdhcDolPzY/JSFpbXBvcnRhbnR9LnotaW5kZXgtNltkYXRhLXYtN2ZjYjAxYzBde3otaW5kZXg6NiFpbXBvcnRhbnR9Lm0tOFtkYXRhLXYtN2ZjYjAxYzBde21hcmdpbjolPzg/JSFpbXBvcnRhbnR9Lm14LThbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tbGVmdDolPzg/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/OD8lIWltcG9ydGFudH0ubWwtOFtkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi1sZWZ0OiU/OD8lIWltcG9ydGFudH0ubXItOFtkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi1yaWdodDolPzg/JSFpbXBvcnRhbnR9Lm15LThbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tdG9wOiU/OD8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/OD8lIWltcG9ydGFudH0ubXQtOFtkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi10b3A6JT84PyUhaW1wb3J0YW50fS5tYi04W2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLWJvdHRvbTolPzg/JSFpbXBvcnRhbnR9LnAtOFtkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmc6JT84PyUhaW1wb3J0YW50fS5weC04W2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy1sZWZ0OiU/OD8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/OD8lIWltcG9ydGFudH0ucGwtOFtkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctbGVmdDolPzg/JSFpbXBvcnRhbnR9LnByLThbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLXJpZ2h0OiU/OD8lIWltcG9ydGFudH0ucHktOFtkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctdG9wOiU/OD8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzg/JSFpbXBvcnRhbnR9LnB0LThbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLXRvcDolPzg/JSFpbXBvcnRhbnR9LnBiLThbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLWJvdHRvbTolPzg/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLThbZGF0YS12LTdmY2IwMWMwXXtncmlkLWdhcDolPzg/JSFpbXBvcnRhbnR9LnotaW5kZXgtOFtkYXRhLXYtN2ZjYjAxYzBde3otaW5kZXg6OCFpbXBvcnRhbnR9Lm0tMTBbZGF0YS12LTdmY2IwMWMwXXttYXJnaW46JT8xMD8lIWltcG9ydGFudH0ubXgtMTBbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tbGVmdDolPzEwPyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzEwPyUhaW1wb3J0YW50fS5tbC0xMFtkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi1sZWZ0OiU/MTA/JSFpbXBvcnRhbnR9Lm1yLTEwW2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLXJpZ2h0OiU/MTA/JSFpbXBvcnRhbnR9Lm15LTEwW2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLXRvcDolPzEwPyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT8xMD8lIWltcG9ydGFudH0ubXQtMTBbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tdG9wOiU/MTA/JSFpbXBvcnRhbnR9Lm1iLTEwW2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLWJvdHRvbTolPzEwPyUhaW1wb3J0YW50fS5wLTEwW2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZzolPzEwPyUhaW1wb3J0YW50fS5weC0xMFtkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctbGVmdDolPzEwPyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT8xMD8lIWltcG9ydGFudH0ucGwtMTBbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLWxlZnQ6JT8xMD8lIWltcG9ydGFudH0ucHItMTBbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLXJpZ2h0OiU/MTA/JSFpbXBvcnRhbnR9LnB5LTEwW2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy10b3A6JT8xMD8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzEwPyUhaW1wb3J0YW50fS5wdC0xMFtkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctdG9wOiU/MTA/JSFpbXBvcnRhbnR9LnBiLTEwW2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy1ib3R0b206JT8xMD8lIWltcG9ydGFudH0uZ3JpZC1nYXAtMTBbZGF0YS12LTdmY2IwMWMwXXtncmlkLWdhcDolPzEwPyUhaW1wb3J0YW50fS56LWluZGV4LTEwW2RhdGEtdi03ZmNiMDFjMF17ei1pbmRleDoxMCFpbXBvcnRhbnR9Lm0tMTJbZGF0YS12LTdmY2IwMWMwXXttYXJnaW46JT8xMj8lIWltcG9ydGFudH0ubXgtMTJbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tbGVmdDolPzEyPyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzEyPyUhaW1wb3J0YW50fS5tbC0xMltkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi1sZWZ0OiU/MTI/JSFpbXBvcnRhbnR9Lm1yLTEyW2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLXJpZ2h0OiU/MTI/JSFpbXBvcnRhbnR9Lm15LTEyW2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLXRvcDolPzEyPyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT8xMj8lIWltcG9ydGFudH0ubXQtMTJbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tdG9wOiU/MTI/JSFpbXBvcnRhbnR9Lm1iLTEyW2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLWJvdHRvbTolPzEyPyUhaW1wb3J0YW50fS5wLTEyW2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZzolPzEyPyUhaW1wb3J0YW50fS5weC0xMltkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctbGVmdDolPzEyPyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT8xMj8lIWltcG9ydGFudH0ucGwtMTJbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLWxlZnQ6JT8xMj8lIWltcG9ydGFudH0ucHItMTJbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLXJpZ2h0OiU/MTI/JSFpbXBvcnRhbnR9LnB5LTEyW2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy10b3A6JT8xMj8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzEyPyUhaW1wb3J0YW50fS5wdC0xMltkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctdG9wOiU/MTI/JSFpbXBvcnRhbnR9LnBiLTEyW2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy1ib3R0b206JT8xMj8lIWltcG9ydGFudH0uZ3JpZC1nYXAtMTJbZGF0YS12LTdmY2IwMWMwXXtncmlkLWdhcDolPzEyPyUhaW1wb3J0YW50fS56LWluZGV4LTEyW2RhdGEtdi03ZmNiMDFjMF17ei1pbmRleDoxMiFpbXBvcnRhbnR9Lm0tMTRbZGF0YS12LTdmY2IwMWMwXXttYXJnaW46JT8xND8lIWltcG9ydGFudH0ubXgtMTRbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tbGVmdDolPzE0PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzE0PyUhaW1wb3J0YW50fS5tbC0xNFtkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi1sZWZ0OiU/MTQ/JSFpbXBvcnRhbnR9Lm1yLTE0W2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLXJpZ2h0OiU/MTQ/JSFpbXBvcnRhbnR9Lm15LTE0W2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLXRvcDolPzE0PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT8xND8lIWltcG9ydGFudH0ubXQtMTRbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tdG9wOiU/MTQ/JSFpbXBvcnRhbnR9Lm1iLTE0W2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLWJvdHRvbTolPzE0PyUhaW1wb3J0YW50fS5wLTE0W2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZzolPzE0PyUhaW1wb3J0YW50fS5weC0xNFtkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctbGVmdDolPzE0PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT8xND8lIWltcG9ydGFudH0ucGwtMTRbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLWxlZnQ6JT8xND8lIWltcG9ydGFudH0ucHItMTRbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLXJpZ2h0OiU/MTQ/JSFpbXBvcnRhbnR9LnB5LTE0W2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy10b3A6JT8xND8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzE0PyUhaW1wb3J0YW50fS5wdC0xNFtkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctdG9wOiU/MTQ/JSFpbXBvcnRhbnR9LnBiLTE0W2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy1ib3R0b206JT8xND8lIWltcG9ydGFudH0uZ3JpZC1nYXAtMTRbZGF0YS12LTdmY2IwMWMwXXtncmlkLWdhcDolPzE0PyUhaW1wb3J0YW50fS56LWluZGV4LTE0W2RhdGEtdi03ZmNiMDFjMF17ei1pbmRleDoxNCFpbXBvcnRhbnR9Lm0tMTZbZGF0YS12LTdmY2IwMWMwXXttYXJnaW46JT8xNj8lIWltcG9ydGFudH0ubXgtMTZbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tbGVmdDolPzE2PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzE2PyUhaW1wb3J0YW50fS5tbC0xNltkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi1sZWZ0OiU/MTY/JSFpbXBvcnRhbnR9Lm1yLTE2W2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLXJpZ2h0OiU/MTY/JSFpbXBvcnRhbnR9Lm15LTE2W2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLXRvcDolPzE2PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT8xNj8lIWltcG9ydGFudH0ubXQtMTZbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tdG9wOiU/MTY/JSFpbXBvcnRhbnR9Lm1iLTE2W2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLWJvdHRvbTolPzE2PyUhaW1wb3J0YW50fS5wLTE2W2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZzolPzE2PyUhaW1wb3J0YW50fS5weC0xNltkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctbGVmdDolPzE2PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT8xNj8lIWltcG9ydGFudH0ucGwtMTZbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLWxlZnQ6JT8xNj8lIWltcG9ydGFudH0ucHItMTZbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLXJpZ2h0OiU/MTY/JSFpbXBvcnRhbnR9LnB5LTE2W2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy10b3A6JT8xNj8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzE2PyUhaW1wb3J0YW50fS5wdC0xNltkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctdG9wOiU/MTY/JSFpbXBvcnRhbnR9LnBiLTE2W2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy1ib3R0b206JT8xNj8lIWltcG9ydGFudH0uZ3JpZC1nYXAtMTZbZGF0YS12LTdmY2IwMWMwXXtncmlkLWdhcDolPzE2PyUhaW1wb3J0YW50fS56LWluZGV4LTE2W2RhdGEtdi03ZmNiMDFjMF17ei1pbmRleDoxNiFpbXBvcnRhbnR9Lm0tMThbZGF0YS12LTdmY2IwMWMwXXttYXJnaW46JT8xOD8lIWltcG9ydGFudH0ubXgtMThbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tbGVmdDolPzE4PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzE4PyUhaW1wb3J0YW50fS5tbC0xOFtkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi1sZWZ0OiU/MTg/JSFpbXBvcnRhbnR9Lm1yLTE4W2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLXJpZ2h0OiU/MTg/JSFpbXBvcnRhbnR9Lm15LTE4W2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLXRvcDolPzE4PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT8xOD8lIWltcG9ydGFudH0ubXQtMThbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tdG9wOiU/MTg/JSFpbXBvcnRhbnR9Lm1iLTE4W2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLWJvdHRvbTolPzE4PyUhaW1wb3J0YW50fS5wLTE4W2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZzolPzE4PyUhaW1wb3J0YW50fS5weC0xOFtkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctbGVmdDolPzE4PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT8xOD8lIWltcG9ydGFudH0ucGwtMThbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLWxlZnQ6JT8xOD8lIWltcG9ydGFudH0ucHItMThbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLXJpZ2h0OiU/MTg/JSFpbXBvcnRhbnR9LnB5LTE4W2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy10b3A6JT8xOD8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzE4PyUhaW1wb3J0YW50fS5wdC0xOFtkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctdG9wOiU/MTg/JSFpbXBvcnRhbnR9LnBiLTE4W2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy1ib3R0b206JT8xOD8lIWltcG9ydGFudH0uZ3JpZC1nYXAtMThbZGF0YS12LTdmY2IwMWMwXXtncmlkLWdhcDolPzE4PyUhaW1wb3J0YW50fS56LWluZGV4LTE4W2RhdGEtdi03ZmNiMDFjMF17ei1pbmRleDoxOCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS0xOFtkYXRhLXYtN2ZjYjAxYzBde2ZvbnQtc2l6ZTolPzE4PyUhaW1wb3J0YW50fS5tLTIwW2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luOiU/MjA/JSFpbXBvcnRhbnR9Lm14LTIwW2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLWxlZnQ6JT8yMD8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT8yMD8lIWltcG9ydGFudH0ubWwtMjBbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tbGVmdDolPzIwPyUhaW1wb3J0YW50fS5tci0yMFtkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi1yaWdodDolPzIwPyUhaW1wb3J0YW50fS5teS0yMFtkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi10b3A6JT8yMD8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/MjA/JSFpbXBvcnRhbnR9Lm10LTIwW2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLXRvcDolPzIwPyUhaW1wb3J0YW50fS5tYi0yMFtkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi1ib3R0b206JT8yMD8lIWltcG9ydGFudH0ucC0yMFtkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmc6JT8yMD8lIWltcG9ydGFudH0ucHgtMjBbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLWxlZnQ6JT8yMD8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/MjA/JSFpbXBvcnRhbnR9LnBsLTIwW2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy1sZWZ0OiU/MjA/JSFpbXBvcnRhbnR9LnByLTIwW2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy1yaWdodDolPzIwPyUhaW1wb3J0YW50fS5weS0yMFtkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctdG9wOiU/MjA/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT8yMD8lIWltcG9ydGFudH0ucHQtMjBbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLXRvcDolPzIwPyUhaW1wb3J0YW50fS5wYi0yMFtkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctYm90dG9tOiU/MjA/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTIwW2RhdGEtdi03ZmNiMDFjMF17Z3JpZC1nYXA6JT8yMD8lIWltcG9ydGFudH0uei1pbmRleC0yMFtkYXRhLXYtN2ZjYjAxYzBde3otaW5kZXg6MjAhaW1wb3J0YW50fS5mb250LXNpemUtMjBbZGF0YS12LTdmY2IwMWMwXXtmb250LXNpemU6JT8yMD8lIWltcG9ydGFudH0ubS0yMltkYXRhLXYtN2ZjYjAxYzBde21hcmdpbjolPzIyPyUhaW1wb3J0YW50fS5teC0yMltkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi1sZWZ0OiU/MjI/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/MjI/JSFpbXBvcnRhbnR9Lm1sLTIyW2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLWxlZnQ6JT8yMj8lIWltcG9ydGFudH0ubXItMjJbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tcmlnaHQ6JT8yMj8lIWltcG9ydGFudH0ubXktMjJbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tdG9wOiU/MjI/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzIyPyUhaW1wb3J0YW50fS5tdC0yMltkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi10b3A6JT8yMj8lIWltcG9ydGFudH0ubWItMjJbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tYm90dG9tOiU/MjI/JSFpbXBvcnRhbnR9LnAtMjJbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nOiU/MjI/JSFpbXBvcnRhbnR9LnB4LTIyW2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy1sZWZ0OiU/MjI/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzIyPyUhaW1wb3J0YW50fS5wbC0yMltkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctbGVmdDolPzIyPyUhaW1wb3J0YW50fS5wci0yMltkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctcmlnaHQ6JT8yMj8lIWltcG9ydGFudH0ucHktMjJbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLXRvcDolPzIyPyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/MjI/JSFpbXBvcnRhbnR9LnB0LTIyW2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy10b3A6JT8yMj8lIWltcG9ydGFudH0ucGItMjJbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLWJvdHRvbTolPzIyPyUhaW1wb3J0YW50fS5ncmlkLWdhcC0yMltkYXRhLXYtN2ZjYjAxYzBde2dyaWQtZ2FwOiU/MjI/JSFpbXBvcnRhbnR9LnotaW5kZXgtMjJbZGF0YS12LTdmY2IwMWMwXXt6LWluZGV4OjIyIWltcG9ydGFudH0uZm9udC1zaXplLTIyW2RhdGEtdi03ZmNiMDFjMF0sIC5pbnB1dC1pdGVtIC5nZXQtY29kZVtkYXRhLXYtN2ZjYjAxYzBde2ZvbnQtc2l6ZTolPzIyPyUhaW1wb3J0YW50fS5tLTI0W2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luOiU/MjQ/JSFpbXBvcnRhbnR9Lm14LTI0W2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLWxlZnQ6JT8yND8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT8yND8lIWltcG9ydGFudH0ubWwtMjRbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tbGVmdDolPzI0PyUhaW1wb3J0YW50fS5tci0yNFtkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi1yaWdodDolPzI0PyUhaW1wb3J0YW50fS5teS0yNFtkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi10b3A6JT8yND8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/MjQ/JSFpbXBvcnRhbnR9Lm10LTI0W2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLXRvcDolPzI0PyUhaW1wb3J0YW50fS5tYi0yNFtkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi1ib3R0b206JT8yND8lIWltcG9ydGFudH0ucC0yNFtkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmc6JT8yND8lIWltcG9ydGFudH0ucHgtMjRbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLWxlZnQ6JT8yND8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/MjQ/JSFpbXBvcnRhbnR9LnBsLTI0W2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy1sZWZ0OiU/MjQ/JSFpbXBvcnRhbnR9LnByLTI0W2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy1yaWdodDolPzI0PyUhaW1wb3J0YW50fS5weS0yNFtkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctdG9wOiU/MjQ/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT8yND8lIWltcG9ydGFudH0ucHQtMjRbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLXRvcDolPzI0PyUhaW1wb3J0YW50fS5wYi0yNFtkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctYm90dG9tOiU/MjQ/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTI0W2RhdGEtdi03ZmNiMDFjMF17Z3JpZC1nYXA6JT8yND8lIWltcG9ydGFudH0uei1pbmRleC0yNFtkYXRhLXYtN2ZjYjAxYzBde3otaW5kZXg6MjQhaW1wb3J0YW50fS5mb250LXNpemUtMjRbZGF0YS12LTdmY2IwMWMwXSwgLmxvZ2luLWlucHV0LWdyb3VwIC5sYWJlbFtkYXRhLXYtN2ZjYjAxYzBde2ZvbnQtc2l6ZTolPzI0PyUhaW1wb3J0YW50fS5tLTI2W2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luOiU/MjY/JSFpbXBvcnRhbnR9Lm14LTI2W2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLWxlZnQ6JT8yNj8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT8yNj8lIWltcG9ydGFudH0ubWwtMjZbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tbGVmdDolPzI2PyUhaW1wb3J0YW50fS5tci0yNltkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi1yaWdodDolPzI2PyUhaW1wb3J0YW50fS5teS0yNltkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi10b3A6JT8yNj8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/MjY/JSFpbXBvcnRhbnR9Lm10LTI2W2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLXRvcDolPzI2PyUhaW1wb3J0YW50fS5tYi0yNltkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi1ib3R0b206JT8yNj8lIWltcG9ydGFudH0ucC0yNltkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmc6JT8yNj8lIWltcG9ydGFudH0ucHgtMjZbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLWxlZnQ6JT8yNj8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/MjY/JSFpbXBvcnRhbnR9LnBsLTI2W2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy1sZWZ0OiU/MjY/JSFpbXBvcnRhbnR9LnByLTI2W2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy1yaWdodDolPzI2PyUhaW1wb3J0YW50fS5weS0yNltkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctdG9wOiU/MjY/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT8yNj8lIWltcG9ydGFudH0ucHQtMjZbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLXRvcDolPzI2PyUhaW1wb3J0YW50fS5wYi0yNltkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctYm90dG9tOiU/MjY/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTI2W2RhdGEtdi03ZmNiMDFjMF17Z3JpZC1nYXA6JT8yNj8lIWltcG9ydGFudH0uei1pbmRleC0yNltkYXRhLXYtN2ZjYjAxYzBde3otaW5kZXg6MjYhaW1wb3J0YW50fS5mb250LXNpemUtMjZbZGF0YS12LTdmY2IwMWMwXXtmb250LXNpemU6JT8yNj8lIWltcG9ydGFudH0ubS0yOFtkYXRhLXYtN2ZjYjAxYzBde21hcmdpbjolPzI4PyUhaW1wb3J0YW50fS5teC0yOFtkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi1sZWZ0OiU/Mjg/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/Mjg/JSFpbXBvcnRhbnR9Lm1sLTI4W2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLWxlZnQ6JT8yOD8lIWltcG9ydGFudH0ubXItMjhbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tcmlnaHQ6JT8yOD8lIWltcG9ydGFudH0ubXktMjhbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tdG9wOiU/Mjg/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzI4PyUhaW1wb3J0YW50fS5tdC0yOFtkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi10b3A6JT8yOD8lIWltcG9ydGFudH0ubWItMjhbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tYm90dG9tOiU/Mjg/JSFpbXBvcnRhbnR9LnAtMjhbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nOiU/Mjg/JSFpbXBvcnRhbnR9LnB4LTI4W2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy1sZWZ0OiU/Mjg/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzI4PyUhaW1wb3J0YW50fS5wbC0yOFtkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctbGVmdDolPzI4PyUhaW1wb3J0YW50fS5wci0yOFtkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctcmlnaHQ6JT8yOD8lIWltcG9ydGFudH0ucHktMjhbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLXRvcDolPzI4PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/Mjg/JSFpbXBvcnRhbnR9LnB0LTI4W2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy10b3A6JT8yOD8lIWltcG9ydGFudH0ucGItMjhbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLWJvdHRvbTolPzI4PyUhaW1wb3J0YW50fS5ncmlkLWdhcC0yOFtkYXRhLXYtN2ZjYjAxYzBde2dyaWQtZ2FwOiU/Mjg/JSFpbXBvcnRhbnR9LnotaW5kZXgtMjhbZGF0YS12LTdmY2IwMWMwXXt6LWluZGV4OjI4IWltcG9ydGFudH0uZm9udC1zaXplLTI4W2RhdGEtdi03ZmNiMDFjMF17Zm9udC1zaXplOiU/Mjg/JSFpbXBvcnRhbnR9Lm0tMzBbZGF0YS12LTdmY2IwMWMwXXttYXJnaW46JT8zMD8lIWltcG9ydGFudH0ubXgtMzBbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tbGVmdDolPzMwPyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzMwPyUhaW1wb3J0YW50fS5tbC0zMFtkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi1sZWZ0OiU/MzA/JSFpbXBvcnRhbnR9Lm1yLTMwW2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLXJpZ2h0OiU/MzA/JSFpbXBvcnRhbnR9Lm15LTMwW2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLXRvcDolPzMwPyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT8zMD8lIWltcG9ydGFudH0ubXQtMzBbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tdG9wOiU/MzA/JSFpbXBvcnRhbnR9Lm1iLTMwW2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLWJvdHRvbTolPzMwPyUhaW1wb3J0YW50fS5wLTMwW2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZzolPzMwPyUhaW1wb3J0YW50fS5weC0zMFtkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctbGVmdDolPzMwPyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT8zMD8lIWltcG9ydGFudH0ucGwtMzBbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLWxlZnQ6JT8zMD8lIWltcG9ydGFudH0ucHItMzBbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLXJpZ2h0OiU/MzA/JSFpbXBvcnRhbnR9LnB5LTMwW2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy10b3A6JT8zMD8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzMwPyUhaW1wb3J0YW50fS5wdC0zMFtkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctdG9wOiU/MzA/JSFpbXBvcnRhbnR9LnBiLTMwW2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy1ib3R0b206JT8zMD8lIWltcG9ydGFudH0uZ3JpZC1nYXAtMzBbZGF0YS12LTdmY2IwMWMwXXtncmlkLWdhcDolPzMwPyUhaW1wb3J0YW50fS56LWluZGV4LTMwW2RhdGEtdi03ZmNiMDFjMF17ei1pbmRleDozMCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS0zMFtkYXRhLXYtN2ZjYjAxYzBde2ZvbnQtc2l6ZTolPzMwPyUhaW1wb3J0YW50fS5tLTMyW2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luOiU/MzI/JSFpbXBvcnRhbnR9Lm14LTMyW2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLWxlZnQ6JT8zMj8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT8zMj8lIWltcG9ydGFudH0ubWwtMzJbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tbGVmdDolPzMyPyUhaW1wb3J0YW50fS5tci0zMltkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi1yaWdodDolPzMyPyUhaW1wb3J0YW50fS5teS0zMltkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi10b3A6JT8zMj8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/MzI/JSFpbXBvcnRhbnR9Lm10LTMyW2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLXRvcDolPzMyPyUhaW1wb3J0YW50fS5tYi0zMltkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi1ib3R0b206JT8zMj8lIWltcG9ydGFudH0ucC0zMltkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmc6JT8zMj8lIWltcG9ydGFudH0ucHgtMzJbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLWxlZnQ6JT8zMj8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/MzI/JSFpbXBvcnRhbnR9LnBsLTMyW2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy1sZWZ0OiU/MzI/JSFpbXBvcnRhbnR9LnByLTMyW2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy1yaWdodDolPzMyPyUhaW1wb3J0YW50fS5weS0zMltkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctdG9wOiU/MzI/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT8zMj8lIWltcG9ydGFudH0ucHQtMzJbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLXRvcDolPzMyPyUhaW1wb3J0YW50fS5wYi0zMltkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctYm90dG9tOiU/MzI/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTMyW2RhdGEtdi03ZmNiMDFjMF17Z3JpZC1nYXA6JT8zMj8lIWltcG9ydGFudH0uei1pbmRleC0zMltkYXRhLXYtN2ZjYjAxYzBde3otaW5kZXg6MzIhaW1wb3J0YW50fS5mb250LXNpemUtMzJbZGF0YS12LTdmY2IwMWMwXSwgLmlucHV0W2RhdGEtdi03ZmNiMDFjMF0sIC5sb2dpbi1pbnB1dC1ncm91cCAubG9naW4taW5wdXRbZGF0YS12LTdmY2IwMWMwXSwgLmFydGljbGUgdW5pLXRleHRbZGF0YS12LTdmY2IwMWMwXXtmb250LXNpemU6JT8zMj8lIWltcG9ydGFudH0ubS0zNFtkYXRhLXYtN2ZjYjAxYzBde21hcmdpbjolPzM0PyUhaW1wb3J0YW50fS5teC0zNFtkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi1sZWZ0OiU/MzQ/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/MzQ/JSFpbXBvcnRhbnR9Lm1sLTM0W2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLWxlZnQ6JT8zND8lIWltcG9ydGFudH0ubXItMzRbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tcmlnaHQ6JT8zND8lIWltcG9ydGFudH0ubXktMzRbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tdG9wOiU/MzQ/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzM0PyUhaW1wb3J0YW50fS5tdC0zNFtkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi10b3A6JT8zND8lIWltcG9ydGFudH0ubWItMzRbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tYm90dG9tOiU/MzQ/JSFpbXBvcnRhbnR9LnAtMzRbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nOiU/MzQ/JSFpbXBvcnRhbnR9LnB4LTM0W2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy1sZWZ0OiU/MzQ/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzM0PyUhaW1wb3J0YW50fS5wbC0zNFtkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctbGVmdDolPzM0PyUhaW1wb3J0YW50fS5wci0zNFtkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctcmlnaHQ6JT8zND8lIWltcG9ydGFudH0ucHktMzRbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLXRvcDolPzM0PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/MzQ/JSFpbXBvcnRhbnR9LnB0LTM0W2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy10b3A6JT8zND8lIWltcG9ydGFudH0ucGItMzRbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLWJvdHRvbTolPzM0PyUhaW1wb3J0YW50fS5ncmlkLWdhcC0zNFtkYXRhLXYtN2ZjYjAxYzBde2dyaWQtZ2FwOiU/MzQ/JSFpbXBvcnRhbnR9LnotaW5kZXgtMzRbZGF0YS12LTdmY2IwMWMwXXt6LWluZGV4OjM0IWltcG9ydGFudH0uZm9udC1zaXplLTM0W2RhdGEtdi03ZmNiMDFjMF17Zm9udC1zaXplOiU/MzQ/JSFpbXBvcnRhbnR9Lm0tMzZbZGF0YS12LTdmY2IwMWMwXXttYXJnaW46JT8zNj8lIWltcG9ydGFudH0ubXgtMzZbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tbGVmdDolPzM2PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzM2PyUhaW1wb3J0YW50fS5tbC0zNltkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi1sZWZ0OiU/MzY/JSFpbXBvcnRhbnR9Lm1yLTM2W2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLXJpZ2h0OiU/MzY/JSFpbXBvcnRhbnR9Lm15LTM2W2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLXRvcDolPzM2PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT8zNj8lIWltcG9ydGFudH0ubXQtMzZbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tdG9wOiU/MzY/JSFpbXBvcnRhbnR9Lm1iLTM2W2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLWJvdHRvbTolPzM2PyUhaW1wb3J0YW50fS5wLTM2W2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZzolPzM2PyUhaW1wb3J0YW50fS5weC0zNltkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctbGVmdDolPzM2PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT8zNj8lIWltcG9ydGFudH0ucGwtMzZbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLWxlZnQ6JT8zNj8lIWltcG9ydGFudH0ucHItMzZbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLXJpZ2h0OiU/MzY/JSFpbXBvcnRhbnR9LnB5LTM2W2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy10b3A6JT8zNj8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzM2PyUhaW1wb3J0YW50fS5wdC0zNltkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctdG9wOiU/MzY/JSFpbXBvcnRhbnR9LnBiLTM2W2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy1ib3R0b206JT8zNj8lIWltcG9ydGFudH0uZ3JpZC1nYXAtMzZbZGF0YS12LTdmY2IwMWMwXXtncmlkLWdhcDolPzM2PyUhaW1wb3J0YW50fS56LWluZGV4LTM2W2RhdGEtdi03ZmNiMDFjMF17ei1pbmRleDozNiFpbXBvcnRhbnR9LmZvbnQtc2l6ZS0zNltkYXRhLXYtN2ZjYjAxYzBde2ZvbnQtc2l6ZTolPzM2PyUhaW1wb3J0YW50fS5tLTM4W2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luOiU/Mzg/JSFpbXBvcnRhbnR9Lm14LTM4W2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLWxlZnQ6JT8zOD8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT8zOD8lIWltcG9ydGFudH0ubWwtMzhbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tbGVmdDolPzM4PyUhaW1wb3J0YW50fS5tci0zOFtkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi1yaWdodDolPzM4PyUhaW1wb3J0YW50fS5teS0zOFtkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi10b3A6JT8zOD8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/Mzg/JSFpbXBvcnRhbnR9Lm10LTM4W2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLXRvcDolPzM4PyUhaW1wb3J0YW50fS5tYi0zOFtkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi1ib3R0b206JT8zOD8lIWltcG9ydGFudH0ucC0zOFtkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmc6JT8zOD8lIWltcG9ydGFudH0ucHgtMzhbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLWxlZnQ6JT8zOD8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/Mzg/JSFpbXBvcnRhbnR9LnBsLTM4W2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy1sZWZ0OiU/Mzg/JSFpbXBvcnRhbnR9LnByLTM4W2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy1yaWdodDolPzM4PyUhaW1wb3J0YW50fS5weS0zOFtkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctdG9wOiU/Mzg/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT8zOD8lIWltcG9ydGFudH0ucHQtMzhbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLXRvcDolPzM4PyUhaW1wb3J0YW50fS5wYi0zOFtkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctYm90dG9tOiU/Mzg/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTM4W2RhdGEtdi03ZmNiMDFjMF17Z3JpZC1nYXA6JT8zOD8lIWltcG9ydGFudH0uei1pbmRleC0zOFtkYXRhLXYtN2ZjYjAxYzBde3otaW5kZXg6MzghaW1wb3J0YW50fS5mb250LXNpemUtMzhbZGF0YS12LTdmY2IwMWMwXXtmb250LXNpemU6JT8zOD8lIWltcG9ydGFudH0ubS00MFtkYXRhLXYtN2ZjYjAxYzBde21hcmdpbjolPzQwPyUhaW1wb3J0YW50fS5teC00MFtkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi1sZWZ0OiU/NDA/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/NDA/JSFpbXBvcnRhbnR9Lm1sLTQwW2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLWxlZnQ6JT80MD8lIWltcG9ydGFudH0ubXItNDBbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tcmlnaHQ6JT80MD8lIWltcG9ydGFudH0ubXktNDBbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tdG9wOiU/NDA/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzQwPyUhaW1wb3J0YW50fS5tdC00MFtkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi10b3A6JT80MD8lIWltcG9ydGFudH0ubWItNDBbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tYm90dG9tOiU/NDA/JSFpbXBvcnRhbnR9LnAtNDBbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nOiU/NDA/JSFpbXBvcnRhbnR9LnB4LTQwW2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy1sZWZ0OiU/NDA/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzQwPyUhaW1wb3J0YW50fS5wbC00MFtkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctbGVmdDolPzQwPyUhaW1wb3J0YW50fS5wci00MFtkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctcmlnaHQ6JT80MD8lIWltcG9ydGFudH0ucHktNDBbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLXRvcDolPzQwPyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NDA/JSFpbXBvcnRhbnR9LnB0LTQwW2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy10b3A6JT80MD8lIWltcG9ydGFudH0ucGItNDBbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLWJvdHRvbTolPzQwPyUhaW1wb3J0YW50fS5ncmlkLWdhcC00MFtkYXRhLXYtN2ZjYjAxYzBde2dyaWQtZ2FwOiU/NDA/JSFpbXBvcnRhbnR9LnotaW5kZXgtNDBbZGF0YS12LTdmY2IwMWMwXXt6LWluZGV4OjQwIWltcG9ydGFudH0uZm9udC1zaXplLTQwW2RhdGEtdi03ZmNiMDFjMF17Zm9udC1zaXplOiU/NDA/JSFpbXBvcnRhbnR9Lm0tNDJbZGF0YS12LTdmY2IwMWMwXXttYXJnaW46JT80Mj8lIWltcG9ydGFudH0ubXgtNDJbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tbGVmdDolPzQyPyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzQyPyUhaW1wb3J0YW50fS5tbC00MltkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi1sZWZ0OiU/NDI/JSFpbXBvcnRhbnR9Lm1yLTQyW2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLXJpZ2h0OiU/NDI/JSFpbXBvcnRhbnR9Lm15LTQyW2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLXRvcDolPzQyPyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT80Mj8lIWltcG9ydGFudH0ubXQtNDJbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tdG9wOiU/NDI/JSFpbXBvcnRhbnR9Lm1iLTQyW2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLWJvdHRvbTolPzQyPyUhaW1wb3J0YW50fS5wLTQyW2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZzolPzQyPyUhaW1wb3J0YW50fS5weC00MltkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctbGVmdDolPzQyPyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT80Mj8lIWltcG9ydGFudH0ucGwtNDJbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLWxlZnQ6JT80Mj8lIWltcG9ydGFudH0ucHItNDJbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLXJpZ2h0OiU/NDI/JSFpbXBvcnRhbnR9LnB5LTQyW2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy10b3A6JT80Mj8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzQyPyUhaW1wb3J0YW50fS5wdC00MltkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctdG9wOiU/NDI/JSFpbXBvcnRhbnR9LnBiLTQyW2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy1ib3R0b206JT80Mj8lIWltcG9ydGFudH0uZ3JpZC1nYXAtNDJbZGF0YS12LTdmY2IwMWMwXXtncmlkLWdhcDolPzQyPyUhaW1wb3J0YW50fS56LWluZGV4LTQyW2RhdGEtdi03ZmNiMDFjMF17ei1pbmRleDo0MiFpbXBvcnRhbnR9LmZvbnQtc2l6ZS00MltkYXRhLXYtN2ZjYjAxYzBde2ZvbnQtc2l6ZTolPzQyPyUhaW1wb3J0YW50fS5tLTQ0W2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luOiU/NDQ/JSFpbXBvcnRhbnR9Lm14LTQ0W2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLWxlZnQ6JT80ND8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT80ND8lIWltcG9ydGFudH0ubWwtNDRbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tbGVmdDolPzQ0PyUhaW1wb3J0YW50fS5tci00NFtkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi1yaWdodDolPzQ0PyUhaW1wb3J0YW50fS5teS00NFtkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi10b3A6JT80ND8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/NDQ/JSFpbXBvcnRhbnR9Lm10LTQ0W2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLXRvcDolPzQ0PyUhaW1wb3J0YW50fS5tYi00NFtkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi1ib3R0b206JT80ND8lIWltcG9ydGFudH0ucC00NFtkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmc6JT80ND8lIWltcG9ydGFudH0ucHgtNDRbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLWxlZnQ6JT80ND8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/NDQ/JSFpbXBvcnRhbnR9LnBsLTQ0W2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy1sZWZ0OiU/NDQ/JSFpbXBvcnRhbnR9LnByLTQ0W2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy1yaWdodDolPzQ0PyUhaW1wb3J0YW50fS5weS00NFtkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctdG9wOiU/NDQ/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT80ND8lIWltcG9ydGFudH0ucHQtNDRbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLXRvcDolPzQ0PyUhaW1wb3J0YW50fS5wYi00NFtkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctYm90dG9tOiU/NDQ/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTQ0W2RhdGEtdi03ZmNiMDFjMF17Z3JpZC1nYXA6JT80ND8lIWltcG9ydGFudH0uei1pbmRleC00NFtkYXRhLXYtN2ZjYjAxYzBde3otaW5kZXg6NDQhaW1wb3J0YW50fS5mb250LXNpemUtNDRbZGF0YS12LTdmY2IwMWMwXXtmb250LXNpemU6JT80ND8lIWltcG9ydGFudH0ubS00NltkYXRhLXYtN2ZjYjAxYzBde21hcmdpbjolPzQ2PyUhaW1wb3J0YW50fS5teC00NltkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi1sZWZ0OiU/NDY/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/NDY/JSFpbXBvcnRhbnR9Lm1sLTQ2W2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLWxlZnQ6JT80Nj8lIWltcG9ydGFudH0ubXItNDZbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tcmlnaHQ6JT80Nj8lIWltcG9ydGFudH0ubXktNDZbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tdG9wOiU/NDY/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzQ2PyUhaW1wb3J0YW50fS5tdC00NltkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi10b3A6JT80Nj8lIWltcG9ydGFudH0ubWItNDZbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tYm90dG9tOiU/NDY/JSFpbXBvcnRhbnR9LnAtNDZbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nOiU/NDY/JSFpbXBvcnRhbnR9LnB4LTQ2W2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy1sZWZ0OiU/NDY/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzQ2PyUhaW1wb3J0YW50fS5wbC00NltkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctbGVmdDolPzQ2PyUhaW1wb3J0YW50fS5wci00NltkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctcmlnaHQ6JT80Nj8lIWltcG9ydGFudH0ucHktNDZbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLXRvcDolPzQ2PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NDY/JSFpbXBvcnRhbnR9LnB0LTQ2W2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy10b3A6JT80Nj8lIWltcG9ydGFudH0ucGItNDZbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLWJvdHRvbTolPzQ2PyUhaW1wb3J0YW50fS5ncmlkLWdhcC00NltkYXRhLXYtN2ZjYjAxYzBde2dyaWQtZ2FwOiU/NDY/JSFpbXBvcnRhbnR9LnotaW5kZXgtNDZbZGF0YS12LTdmY2IwMWMwXXt6LWluZGV4OjQ2IWltcG9ydGFudH0uZm9udC1zaXplLTQ2W2RhdGEtdi03ZmNiMDFjMF17Zm9udC1zaXplOiU/NDY/JSFpbXBvcnRhbnR9Lm0tNDhbZGF0YS12LTdmY2IwMWMwXXttYXJnaW46JT80OD8lIWltcG9ydGFudH0ubXgtNDhbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tbGVmdDolPzQ4PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzQ4PyUhaW1wb3J0YW50fS5tbC00OFtkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi1sZWZ0OiU/NDg/JSFpbXBvcnRhbnR9Lm1yLTQ4W2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLXJpZ2h0OiU/NDg/JSFpbXBvcnRhbnR9Lm15LTQ4W2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLXRvcDolPzQ4PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT80OD8lIWltcG9ydGFudH0ubXQtNDhbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tdG9wOiU/NDg/JSFpbXBvcnRhbnR9Lm1iLTQ4W2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLWJvdHRvbTolPzQ4PyUhaW1wb3J0YW50fS5wLTQ4W2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZzolPzQ4PyUhaW1wb3J0YW50fS5weC00OFtkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctbGVmdDolPzQ4PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT80OD8lIWltcG9ydGFudH0ucGwtNDhbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLWxlZnQ6JT80OD8lIWltcG9ydGFudH0ucHItNDhbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLXJpZ2h0OiU/NDg/JSFpbXBvcnRhbnR9LnB5LTQ4W2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy10b3A6JT80OD8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzQ4PyUhaW1wb3J0YW50fS5wdC00OFtkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctdG9wOiU/NDg/JSFpbXBvcnRhbnR9LnBiLTQ4W2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy1ib3R0b206JT80OD8lIWltcG9ydGFudH0uZ3JpZC1nYXAtNDhbZGF0YS12LTdmY2IwMWMwXXtncmlkLWdhcDolPzQ4PyUhaW1wb3J0YW50fS56LWluZGV4LTQ4W2RhdGEtdi03ZmNiMDFjMF17ei1pbmRleDo0OCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS00OFtkYXRhLXYtN2ZjYjAxYzBde2ZvbnQtc2l6ZTolPzQ4PyUhaW1wb3J0YW50fS5tLTUwW2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luOiU/NTA/JSFpbXBvcnRhbnR9Lm14LTUwW2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLWxlZnQ6JT81MD8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT81MD8lIWltcG9ydGFudH0ubWwtNTBbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tbGVmdDolPzUwPyUhaW1wb3J0YW50fS5tci01MFtkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi1yaWdodDolPzUwPyUhaW1wb3J0YW50fS5teS01MFtkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi10b3A6JT81MD8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/NTA/JSFpbXBvcnRhbnR9Lm10LTUwW2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLXRvcDolPzUwPyUhaW1wb3J0YW50fS5tYi01MFtkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi1ib3R0b206JT81MD8lIWltcG9ydGFudH0ucC01MFtkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmc6JT81MD8lIWltcG9ydGFudH0ucHgtNTBbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLWxlZnQ6JT81MD8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/NTA/JSFpbXBvcnRhbnR9LnBsLTUwW2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy1sZWZ0OiU/NTA/JSFpbXBvcnRhbnR9LnByLTUwW2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy1yaWdodDolPzUwPyUhaW1wb3J0YW50fS5weS01MFtkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctdG9wOiU/NTA/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT81MD8lIWltcG9ydGFudH0ucHQtNTBbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLXRvcDolPzUwPyUhaW1wb3J0YW50fS5wYi01MFtkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctYm90dG9tOiU/NTA/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTUwW2RhdGEtdi03ZmNiMDFjMF17Z3JpZC1nYXA6JT81MD8lIWltcG9ydGFudH0uei1pbmRleC01MFtkYXRhLXYtN2ZjYjAxYzBde3otaW5kZXg6NTAhaW1wb3J0YW50fS5mb250LXNpemUtNTBbZGF0YS12LTdmY2IwMWMwXXtmb250LXNpemU6JT81MD8lIWltcG9ydGFudH0ubS01MltkYXRhLXYtN2ZjYjAxYzBde21hcmdpbjolPzUyPyUhaW1wb3J0YW50fS5teC01MltkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi1sZWZ0OiU/NTI/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/NTI/JSFpbXBvcnRhbnR9Lm1sLTUyW2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLWxlZnQ6JT81Mj8lIWltcG9ydGFudH0ubXItNTJbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tcmlnaHQ6JT81Mj8lIWltcG9ydGFudH0ubXktNTJbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tdG9wOiU/NTI/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzUyPyUhaW1wb3J0YW50fS5tdC01MltkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi10b3A6JT81Mj8lIWltcG9ydGFudH0ubWItNTJbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tYm90dG9tOiU/NTI/JSFpbXBvcnRhbnR9LnAtNTJbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nOiU/NTI/JSFpbXBvcnRhbnR9LnB4LTUyW2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy1sZWZ0OiU/NTI/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzUyPyUhaW1wb3J0YW50fS5wbC01MltkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctbGVmdDolPzUyPyUhaW1wb3J0YW50fS5wci01MltkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctcmlnaHQ6JT81Mj8lIWltcG9ydGFudH0ucHktNTJbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLXRvcDolPzUyPyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NTI/JSFpbXBvcnRhbnR9LnB0LTUyW2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy10b3A6JT81Mj8lIWltcG9ydGFudH0ucGItNTJbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLWJvdHRvbTolPzUyPyUhaW1wb3J0YW50fS5ncmlkLWdhcC01MltkYXRhLXYtN2ZjYjAxYzBde2dyaWQtZ2FwOiU/NTI/JSFpbXBvcnRhbnR9LnotaW5kZXgtNTJbZGF0YS12LTdmY2IwMWMwXXt6LWluZGV4OjUyIWltcG9ydGFudH0uZm9udC1zaXplLTUyW2RhdGEtdi03ZmNiMDFjMF17Zm9udC1zaXplOiU/NTI/JSFpbXBvcnRhbnR9Lm0tNTRbZGF0YS12LTdmY2IwMWMwXXttYXJnaW46JT81ND8lIWltcG9ydGFudH0ubXgtNTRbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tbGVmdDolPzU0PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzU0PyUhaW1wb3J0YW50fS5tbC01NFtkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi1sZWZ0OiU/NTQ/JSFpbXBvcnRhbnR9Lm1yLTU0W2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLXJpZ2h0OiU/NTQ/JSFpbXBvcnRhbnR9Lm15LTU0W2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLXRvcDolPzU0PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT81ND8lIWltcG9ydGFudH0ubXQtNTRbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tdG9wOiU/NTQ/JSFpbXBvcnRhbnR9Lm1iLTU0W2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLWJvdHRvbTolPzU0PyUhaW1wb3J0YW50fS5wLTU0W2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZzolPzU0PyUhaW1wb3J0YW50fS5weC01NFtkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctbGVmdDolPzU0PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT81ND8lIWltcG9ydGFudH0ucGwtNTRbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLWxlZnQ6JT81ND8lIWltcG9ydGFudH0ucHItNTRbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLXJpZ2h0OiU/NTQ/JSFpbXBvcnRhbnR9LnB5LTU0W2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy10b3A6JT81ND8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzU0PyUhaW1wb3J0YW50fS5wdC01NFtkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctdG9wOiU/NTQ/JSFpbXBvcnRhbnR9LnBiLTU0W2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy1ib3R0b206JT81ND8lIWltcG9ydGFudH0uZ3JpZC1nYXAtNTRbZGF0YS12LTdmY2IwMWMwXXtncmlkLWdhcDolPzU0PyUhaW1wb3J0YW50fS56LWluZGV4LTU0W2RhdGEtdi03ZmNiMDFjMF17ei1pbmRleDo1NCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS01NFtkYXRhLXYtN2ZjYjAxYzBde2ZvbnQtc2l6ZTolPzU0PyUhaW1wb3J0YW50fS5tLTU2W2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luOiU/NTY/JSFpbXBvcnRhbnR9Lm14LTU2W2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLWxlZnQ6JT81Nj8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT81Nj8lIWltcG9ydGFudH0ubWwtNTZbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tbGVmdDolPzU2PyUhaW1wb3J0YW50fS5tci01NltkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi1yaWdodDolPzU2PyUhaW1wb3J0YW50fS5teS01NltkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi10b3A6JT81Nj8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/NTY/JSFpbXBvcnRhbnR9Lm10LTU2W2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLXRvcDolPzU2PyUhaW1wb3J0YW50fS5tYi01NltkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi1ib3R0b206JT81Nj8lIWltcG9ydGFudH0ucC01NltkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmc6JT81Nj8lIWltcG9ydGFudH0ucHgtNTZbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLWxlZnQ6JT81Nj8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/NTY/JSFpbXBvcnRhbnR9LnBsLTU2W2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy1sZWZ0OiU/NTY/JSFpbXBvcnRhbnR9LnByLTU2W2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy1yaWdodDolPzU2PyUhaW1wb3J0YW50fS5weS01NltkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctdG9wOiU/NTY/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT81Nj8lIWltcG9ydGFudH0ucHQtNTZbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLXRvcDolPzU2PyUhaW1wb3J0YW50fS5wYi01NltkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctYm90dG9tOiU/NTY/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTU2W2RhdGEtdi03ZmNiMDFjMF17Z3JpZC1nYXA6JT81Nj8lIWltcG9ydGFudH0uei1pbmRleC01NltkYXRhLXYtN2ZjYjAxYzBde3otaW5kZXg6NTYhaW1wb3J0YW50fS5mb250LXNpemUtNTZbZGF0YS12LTdmY2IwMWMwXXtmb250LXNpemU6JT81Nj8lIWltcG9ydGFudH0ubS01OFtkYXRhLXYtN2ZjYjAxYzBde21hcmdpbjolPzU4PyUhaW1wb3J0YW50fS5teC01OFtkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi1sZWZ0OiU/NTg/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/NTg/JSFpbXBvcnRhbnR9Lm1sLTU4W2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLWxlZnQ6JT81OD8lIWltcG9ydGFudH0ubXItNThbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tcmlnaHQ6JT81OD8lIWltcG9ydGFudH0ubXktNThbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tdG9wOiU/NTg/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzU4PyUhaW1wb3J0YW50fS5tdC01OFtkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi10b3A6JT81OD8lIWltcG9ydGFudH0ubWItNThbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tYm90dG9tOiU/NTg/JSFpbXBvcnRhbnR9LnAtNThbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nOiU/NTg/JSFpbXBvcnRhbnR9LnB4LTU4W2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy1sZWZ0OiU/NTg/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzU4PyUhaW1wb3J0YW50fS5wbC01OFtkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctbGVmdDolPzU4PyUhaW1wb3J0YW50fS5wci01OFtkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctcmlnaHQ6JT81OD8lIWltcG9ydGFudH0ucHktNThbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLXRvcDolPzU4PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NTg/JSFpbXBvcnRhbnR9LnB0LTU4W2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy10b3A6JT81OD8lIWltcG9ydGFudH0ucGItNThbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLWJvdHRvbTolPzU4PyUhaW1wb3J0YW50fS5ncmlkLWdhcC01OFtkYXRhLXYtN2ZjYjAxYzBde2dyaWQtZ2FwOiU/NTg/JSFpbXBvcnRhbnR9LnotaW5kZXgtNThbZGF0YS12LTdmY2IwMWMwXXt6LWluZGV4OjU4IWltcG9ydGFudH0uZm9udC1zaXplLTU4W2RhdGEtdi03ZmNiMDFjMF17Zm9udC1zaXplOiU/NTg/JSFpbXBvcnRhbnR9Lm0tNjBbZGF0YS12LTdmY2IwMWMwXXttYXJnaW46JT82MD8lIWltcG9ydGFudH0ubXgtNjBbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tbGVmdDolPzYwPyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzYwPyUhaW1wb3J0YW50fS5tbC02MFtkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi1sZWZ0OiU/NjA/JSFpbXBvcnRhbnR9Lm1yLTYwW2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLXJpZ2h0OiU/NjA/JSFpbXBvcnRhbnR9Lm15LTYwW2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLXRvcDolPzYwPyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT82MD8lIWltcG9ydGFudH0ubXQtNjBbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tdG9wOiU/NjA/JSFpbXBvcnRhbnR9Lm1iLTYwW2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLWJvdHRvbTolPzYwPyUhaW1wb3J0YW50fS5wLTYwW2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZzolPzYwPyUhaW1wb3J0YW50fS5weC02MFtkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctbGVmdDolPzYwPyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT82MD8lIWltcG9ydGFudH0ucGwtNjBbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLWxlZnQ6JT82MD8lIWltcG9ydGFudH0ucHItNjBbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLXJpZ2h0OiU/NjA/JSFpbXBvcnRhbnR9LnB5LTYwW2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy10b3A6JT82MD8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzYwPyUhaW1wb3J0YW50fS5wdC02MFtkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctdG9wOiU/NjA/JSFpbXBvcnRhbnR9LnBiLTYwW2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy1ib3R0b206JT82MD8lIWltcG9ydGFudH0uZ3JpZC1nYXAtNjBbZGF0YS12LTdmY2IwMWMwXXtncmlkLWdhcDolPzYwPyUhaW1wb3J0YW50fS56LWluZGV4LTYwW2RhdGEtdi03ZmNiMDFjMF17ei1pbmRleDo2MCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS02MFtkYXRhLXYtN2ZjYjAxYzBde2ZvbnQtc2l6ZTolPzYwPyUhaW1wb3J0YW50fS5tLTYyW2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luOiU/NjI/JSFpbXBvcnRhbnR9Lm14LTYyW2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLWxlZnQ6JT82Mj8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT82Mj8lIWltcG9ydGFudH0ubWwtNjJbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tbGVmdDolPzYyPyUhaW1wb3J0YW50fS5tci02MltkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi1yaWdodDolPzYyPyUhaW1wb3J0YW50fS5teS02MltkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi10b3A6JT82Mj8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/NjI/JSFpbXBvcnRhbnR9Lm10LTYyW2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLXRvcDolPzYyPyUhaW1wb3J0YW50fS5tYi02MltkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi1ib3R0b206JT82Mj8lIWltcG9ydGFudH0ucC02MltkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmc6JT82Mj8lIWltcG9ydGFudH0ucHgtNjJbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLWxlZnQ6JT82Mj8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/NjI/JSFpbXBvcnRhbnR9LnBsLTYyW2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy1sZWZ0OiU/NjI/JSFpbXBvcnRhbnR9LnByLTYyW2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy1yaWdodDolPzYyPyUhaW1wb3J0YW50fS5weS02MltkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctdG9wOiU/NjI/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT82Mj8lIWltcG9ydGFudH0ucHQtNjJbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLXRvcDolPzYyPyUhaW1wb3J0YW50fS5wYi02MltkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctYm90dG9tOiU/NjI/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTYyW2RhdGEtdi03ZmNiMDFjMF17Z3JpZC1nYXA6JT82Mj8lIWltcG9ydGFudH0uei1pbmRleC02MltkYXRhLXYtN2ZjYjAxYzBde3otaW5kZXg6NjIhaW1wb3J0YW50fS5mb250LXNpemUtNjJbZGF0YS12LTdmY2IwMWMwXXtmb250LXNpemU6JT82Mj8lIWltcG9ydGFudH0ubS02NFtkYXRhLXYtN2ZjYjAxYzBde21hcmdpbjolPzY0PyUhaW1wb3J0YW50fS5teC02NFtkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi1sZWZ0OiU/NjQ/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/NjQ/JSFpbXBvcnRhbnR9Lm1sLTY0W2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLWxlZnQ6JT82ND8lIWltcG9ydGFudH0ubXItNjRbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tcmlnaHQ6JT82ND8lIWltcG9ydGFudH0ubXktNjRbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tdG9wOiU/NjQ/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzY0PyUhaW1wb3J0YW50fS5tdC02NFtkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi10b3A6JT82ND8lIWltcG9ydGFudH0ubWItNjRbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tYm90dG9tOiU/NjQ/JSFpbXBvcnRhbnR9LnAtNjRbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nOiU/NjQ/JSFpbXBvcnRhbnR9LnB4LTY0W2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy1sZWZ0OiU/NjQ/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzY0PyUhaW1wb3J0YW50fS5wbC02NFtkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctbGVmdDolPzY0PyUhaW1wb3J0YW50fS5wci02NFtkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctcmlnaHQ6JT82ND8lIWltcG9ydGFudH0ucHktNjRbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLXRvcDolPzY0PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NjQ/JSFpbXBvcnRhbnR9LnB0LTY0W2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy10b3A6JT82ND8lIWltcG9ydGFudH0ucGItNjRbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLWJvdHRvbTolPzY0PyUhaW1wb3J0YW50fS5ncmlkLWdhcC02NFtkYXRhLXYtN2ZjYjAxYzBde2dyaWQtZ2FwOiU/NjQ/JSFpbXBvcnRhbnR9LnotaW5kZXgtNjRbZGF0YS12LTdmY2IwMWMwXXt6LWluZGV4OjY0IWltcG9ydGFudH0uZm9udC1zaXplLTY0W2RhdGEtdi03ZmNiMDFjMF17Zm9udC1zaXplOiU/NjQ/JSFpbXBvcnRhbnR9Lm0tNjZbZGF0YS12LTdmY2IwMWMwXXttYXJnaW46JT82Nj8lIWltcG9ydGFudH0ubXgtNjZbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tbGVmdDolPzY2PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzY2PyUhaW1wb3J0YW50fS5tbC02NltkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi1sZWZ0OiU/NjY/JSFpbXBvcnRhbnR9Lm1yLTY2W2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLXJpZ2h0OiU/NjY/JSFpbXBvcnRhbnR9Lm15LTY2W2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLXRvcDolPzY2PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT82Nj8lIWltcG9ydGFudH0ubXQtNjZbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tdG9wOiU/NjY/JSFpbXBvcnRhbnR9Lm1iLTY2W2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLWJvdHRvbTolPzY2PyUhaW1wb3J0YW50fS5wLTY2W2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZzolPzY2PyUhaW1wb3J0YW50fS5weC02NltkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctbGVmdDolPzY2PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT82Nj8lIWltcG9ydGFudH0ucGwtNjZbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLWxlZnQ6JT82Nj8lIWltcG9ydGFudH0ucHItNjZbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLXJpZ2h0OiU/NjY/JSFpbXBvcnRhbnR9LnB5LTY2W2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy10b3A6JT82Nj8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzY2PyUhaW1wb3J0YW50fS5wdC02NltkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctdG9wOiU/NjY/JSFpbXBvcnRhbnR9LnBiLTY2W2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy1ib3R0b206JT82Nj8lIWltcG9ydGFudH0uZ3JpZC1nYXAtNjZbZGF0YS12LTdmY2IwMWMwXXtncmlkLWdhcDolPzY2PyUhaW1wb3J0YW50fS56LWluZGV4LTY2W2RhdGEtdi03ZmNiMDFjMF17ei1pbmRleDo2NiFpbXBvcnRhbnR9LmZvbnQtc2l6ZS02NltkYXRhLXYtN2ZjYjAxYzBde2ZvbnQtc2l6ZTolPzY2PyUhaW1wb3J0YW50fS5tLTY4W2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luOiU/Njg/JSFpbXBvcnRhbnR9Lm14LTY4W2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLWxlZnQ6JT82OD8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT82OD8lIWltcG9ydGFudH0ubWwtNjhbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tbGVmdDolPzY4PyUhaW1wb3J0YW50fS5tci02OFtkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi1yaWdodDolPzY4PyUhaW1wb3J0YW50fS5teS02OFtkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi10b3A6JT82OD8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/Njg/JSFpbXBvcnRhbnR9Lm10LTY4W2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLXRvcDolPzY4PyUhaW1wb3J0YW50fS5tYi02OFtkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi1ib3R0b206JT82OD8lIWltcG9ydGFudH0ucC02OFtkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmc6JT82OD8lIWltcG9ydGFudH0ucHgtNjhbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLWxlZnQ6JT82OD8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/Njg/JSFpbXBvcnRhbnR9LnBsLTY4W2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy1sZWZ0OiU/Njg/JSFpbXBvcnRhbnR9LnByLTY4W2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy1yaWdodDolPzY4PyUhaW1wb3J0YW50fS5weS02OFtkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctdG9wOiU/Njg/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT82OD8lIWltcG9ydGFudH0ucHQtNjhbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLXRvcDolPzY4PyUhaW1wb3J0YW50fS5wYi02OFtkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctYm90dG9tOiU/Njg/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTY4W2RhdGEtdi03ZmNiMDFjMF17Z3JpZC1nYXA6JT82OD8lIWltcG9ydGFudH0uei1pbmRleC02OFtkYXRhLXYtN2ZjYjAxYzBde3otaW5kZXg6NjghaW1wb3J0YW50fS5mb250LXNpemUtNjhbZGF0YS12LTdmY2IwMWMwXXtmb250LXNpemU6JT82OD8lIWltcG9ydGFudH0ubS03MFtkYXRhLXYtN2ZjYjAxYzBde21hcmdpbjolPzcwPyUhaW1wb3J0YW50fS5teC03MFtkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi1sZWZ0OiU/NzA/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/NzA/JSFpbXBvcnRhbnR9Lm1sLTcwW2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLWxlZnQ6JT83MD8lIWltcG9ydGFudH0ubXItNzBbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tcmlnaHQ6JT83MD8lIWltcG9ydGFudH0ubXktNzBbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tdG9wOiU/NzA/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzcwPyUhaW1wb3J0YW50fS5tdC03MFtkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi10b3A6JT83MD8lIWltcG9ydGFudH0ubWItNzBbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tYm90dG9tOiU/NzA/JSFpbXBvcnRhbnR9LnAtNzBbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nOiU/NzA/JSFpbXBvcnRhbnR9LnB4LTcwW2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy1sZWZ0OiU/NzA/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzcwPyUhaW1wb3J0YW50fS5wbC03MFtkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctbGVmdDolPzcwPyUhaW1wb3J0YW50fS5wci03MFtkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctcmlnaHQ6JT83MD8lIWltcG9ydGFudH0ucHktNzBbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLXRvcDolPzcwPyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NzA/JSFpbXBvcnRhbnR9LnB0LTcwW2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy10b3A6JT83MD8lIWltcG9ydGFudH0ucGItNzBbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLWJvdHRvbTolPzcwPyUhaW1wb3J0YW50fS5ncmlkLWdhcC03MFtkYXRhLXYtN2ZjYjAxYzBde2dyaWQtZ2FwOiU/NzA/JSFpbXBvcnRhbnR9LnotaW5kZXgtNzBbZGF0YS12LTdmY2IwMWMwXXt6LWluZGV4OjcwIWltcG9ydGFudH0uZm9udC1zaXplLTcwW2RhdGEtdi03ZmNiMDFjMF17Zm9udC1zaXplOiU/NzA/JSFpbXBvcnRhbnR9Lm0tNzJbZGF0YS12LTdmY2IwMWMwXXttYXJnaW46JT83Mj8lIWltcG9ydGFudH0ubXgtNzJbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tbGVmdDolPzcyPyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzcyPyUhaW1wb3J0YW50fS5tbC03MltkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi1sZWZ0OiU/NzI/JSFpbXBvcnRhbnR9Lm1yLTcyW2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLXJpZ2h0OiU/NzI/JSFpbXBvcnRhbnR9Lm15LTcyW2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLXRvcDolPzcyPyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT83Mj8lIWltcG9ydGFudH0ubXQtNzJbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tdG9wOiU/NzI/JSFpbXBvcnRhbnR9Lm1iLTcyW2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLWJvdHRvbTolPzcyPyUhaW1wb3J0YW50fS5wLTcyW2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZzolPzcyPyUhaW1wb3J0YW50fS5weC03MltkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctbGVmdDolPzcyPyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT83Mj8lIWltcG9ydGFudH0ucGwtNzJbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLWxlZnQ6JT83Mj8lIWltcG9ydGFudH0ucHItNzJbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLXJpZ2h0OiU/NzI/JSFpbXBvcnRhbnR9LnB5LTcyW2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy10b3A6JT83Mj8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzcyPyUhaW1wb3J0YW50fS5wdC03MltkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctdG9wOiU/NzI/JSFpbXBvcnRhbnR9LnBiLTcyW2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy1ib3R0b206JT83Mj8lIWltcG9ydGFudH0uZ3JpZC1nYXAtNzJbZGF0YS12LTdmY2IwMWMwXXtncmlkLWdhcDolPzcyPyUhaW1wb3J0YW50fS56LWluZGV4LTcyW2RhdGEtdi03ZmNiMDFjMF17ei1pbmRleDo3MiFpbXBvcnRhbnR9LmZvbnQtc2l6ZS03MltkYXRhLXYtN2ZjYjAxYzBde2ZvbnQtc2l6ZTolPzcyPyUhaW1wb3J0YW50fS5tLTc0W2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luOiU/NzQ/JSFpbXBvcnRhbnR9Lm14LTc0W2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLWxlZnQ6JT83ND8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT83ND8lIWltcG9ydGFudH0ubWwtNzRbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tbGVmdDolPzc0PyUhaW1wb3J0YW50fS5tci03NFtkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi1yaWdodDolPzc0PyUhaW1wb3J0YW50fS5teS03NFtkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi10b3A6JT83ND8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/NzQ/JSFpbXBvcnRhbnR9Lm10LTc0W2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLXRvcDolPzc0PyUhaW1wb3J0YW50fS5tYi03NFtkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi1ib3R0b206JT83ND8lIWltcG9ydGFudH0ucC03NFtkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmc6JT83ND8lIWltcG9ydGFudH0ucHgtNzRbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLWxlZnQ6JT83ND8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/NzQ/JSFpbXBvcnRhbnR9LnBsLTc0W2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy1sZWZ0OiU/NzQ/JSFpbXBvcnRhbnR9LnByLTc0W2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy1yaWdodDolPzc0PyUhaW1wb3J0YW50fS5weS03NFtkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctdG9wOiU/NzQ/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT83ND8lIWltcG9ydGFudH0ucHQtNzRbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLXRvcDolPzc0PyUhaW1wb3J0YW50fS5wYi03NFtkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctYm90dG9tOiU/NzQ/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTc0W2RhdGEtdi03ZmNiMDFjMF17Z3JpZC1nYXA6JT83ND8lIWltcG9ydGFudH0uei1pbmRleC03NFtkYXRhLXYtN2ZjYjAxYzBde3otaW5kZXg6NzQhaW1wb3J0YW50fS5mb250LXNpemUtNzRbZGF0YS12LTdmY2IwMWMwXXtmb250LXNpemU6JT83ND8lIWltcG9ydGFudH0ubS03NltkYXRhLXYtN2ZjYjAxYzBde21hcmdpbjolPzc2PyUhaW1wb3J0YW50fS5teC03NltkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi1sZWZ0OiU/NzY/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/NzY/JSFpbXBvcnRhbnR9Lm1sLTc2W2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLWxlZnQ6JT83Nj8lIWltcG9ydGFudH0ubXItNzZbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tcmlnaHQ6JT83Nj8lIWltcG9ydGFudH0ubXktNzZbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tdG9wOiU/NzY/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzc2PyUhaW1wb3J0YW50fS5tdC03NltkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi10b3A6JT83Nj8lIWltcG9ydGFudH0ubWItNzZbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tYm90dG9tOiU/NzY/JSFpbXBvcnRhbnR9LnAtNzZbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nOiU/NzY/JSFpbXBvcnRhbnR9LnB4LTc2W2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy1sZWZ0OiU/NzY/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzc2PyUhaW1wb3J0YW50fS5wbC03NltkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctbGVmdDolPzc2PyUhaW1wb3J0YW50fS5wci03NltkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctcmlnaHQ6JT83Nj8lIWltcG9ydGFudH0ucHktNzZbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLXRvcDolPzc2PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NzY/JSFpbXBvcnRhbnR9LnB0LTc2W2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy10b3A6JT83Nj8lIWltcG9ydGFudH0ucGItNzZbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLWJvdHRvbTolPzc2PyUhaW1wb3J0YW50fS5ncmlkLWdhcC03NltkYXRhLXYtN2ZjYjAxYzBde2dyaWQtZ2FwOiU/NzY/JSFpbXBvcnRhbnR9LnotaW5kZXgtNzZbZGF0YS12LTdmY2IwMWMwXXt6LWluZGV4Ojc2IWltcG9ydGFudH0uZm9udC1zaXplLTc2W2RhdGEtdi03ZmNiMDFjMF17Zm9udC1zaXplOiU/NzY/JSFpbXBvcnRhbnR9Lm0tNzhbZGF0YS12LTdmY2IwMWMwXXttYXJnaW46JT83OD8lIWltcG9ydGFudH0ubXgtNzhbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tbGVmdDolPzc4PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzc4PyUhaW1wb3J0YW50fS5tbC03OFtkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi1sZWZ0OiU/Nzg/JSFpbXBvcnRhbnR9Lm1yLTc4W2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLXJpZ2h0OiU/Nzg/JSFpbXBvcnRhbnR9Lm15LTc4W2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLXRvcDolPzc4PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT83OD8lIWltcG9ydGFudH0ubXQtNzhbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tdG9wOiU/Nzg/JSFpbXBvcnRhbnR9Lm1iLTc4W2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLWJvdHRvbTolPzc4PyUhaW1wb3J0YW50fS5wLTc4W2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZzolPzc4PyUhaW1wb3J0YW50fS5weC03OFtkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctbGVmdDolPzc4PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT83OD8lIWltcG9ydGFudH0ucGwtNzhbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLWxlZnQ6JT83OD8lIWltcG9ydGFudH0ucHItNzhbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLXJpZ2h0OiU/Nzg/JSFpbXBvcnRhbnR9LnB5LTc4W2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy10b3A6JT83OD8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzc4PyUhaW1wb3J0YW50fS5wdC03OFtkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctdG9wOiU/Nzg/JSFpbXBvcnRhbnR9LnBiLTc4W2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy1ib3R0b206JT83OD8lIWltcG9ydGFudH0uZ3JpZC1nYXAtNzhbZGF0YS12LTdmY2IwMWMwXXtncmlkLWdhcDolPzc4PyUhaW1wb3J0YW50fS56LWluZGV4LTc4W2RhdGEtdi03ZmNiMDFjMF17ei1pbmRleDo3OCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS03OFtkYXRhLXYtN2ZjYjAxYzBde2ZvbnQtc2l6ZTolPzc4PyUhaW1wb3J0YW50fS5maWx0ZXItZ3JheVtkYXRhLXYtN2ZjYjAxYzBdey13ZWJraXQtZmlsdGVyOmdyYXlzY2FsZSgxKTtmaWx0ZXI6Z3JheXNjYWxlKDEpfS5teC1hdXRvW2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0b30uZC1ibG9ja1tkYXRhLXYtN2ZjYjAxYzBde2Rpc3BsYXk6YmxvY2t9LmQtaW5saW5lLWJsb2NrW2RhdGEtdi03ZmNiMDFjMF17ZGlzcGxheTppbmxpbmUtYmxvY2t9LnRleHQtY2VudGVyW2RhdGEtdi03ZmNiMDFjMF17dGV4dC1hbGlnbjpjZW50ZXJ9LnRleHQtbGVmdFtkYXRhLXYtN2ZjYjAxYzBde3RleHQtYWxpZ246bGVmdH0udGV4dC1yaWdodFtkYXRhLXYtN2ZjYjAxYzBde3RleHQtYWxpZ246cmlnaHR9LmQtZmxleFtkYXRhLXYtN2ZjYjAxYzBde2Rpc3BsYXk6ZmxleH0uZC1mbGV4LWJldHdlZW4tY2VudGVyW2RhdGEtdi03ZmNiMDFjMF17ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2FsaWduLWl0ZW1zOmNlbnRlcn0uZmxleC13cmFwW2RhdGEtdi03ZmNiMDFjMF17ZmxleC13cmFwOndyYXB9Lmp1c3RpZnktY29udGVudC1iZXR3ZWVuW2RhdGEtdi03ZmNiMDFjMF17anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59Lmp1c3RpZnktY29udGVudC1hcm91bmRbZGF0YS12LTdmY2IwMWMwXXtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYXJvdW5kfS5qdXN0aWZ5LWNvbnRlbnQtY2VudGVyW2RhdGEtdi03ZmNiMDFjMF17anVzdGlmeS1jb250ZW50OmNlbnRlcn0uanVzdGlmeS1jb250ZW50LWVuZFtkYXRhLXYtN2ZjYjAxYzBde2p1c3RpZnktY29udGVudDpmbGV4LWVuZH0uYWxpZ24taXRlbXMtY2VudGVyW2RhdGEtdi03ZmNiMDFjMF17YWxpZ24taXRlbXM6Y2VudGVyfS5hbGlnbi1pdGVtcy1iYXNlbGluZVtkYXRhLXYtN2ZjYjAxYzBde2FsaWduLWl0ZW1zOmJhc2VsaW5lfS5mbGV4LWRpcmVjdGlvbi1jb2x1bW5bZGF0YS12LTdmY2IwMWMwXXtmbGV4LWRpcmVjdGlvbjpjb2x1bW59LmZvbnQtd2VpZ2h0LWJvbGRbZGF0YS12LTdmY2IwMWMwXXtmb250LXdlaWdodDo3MDB9LnBvc2l0aW9uLWZpeGVkW2RhdGEtdi03ZmNiMDFjMF17cG9zaXRpb246Zml4ZWR9LnBvc2l0aW9uLXJlbGF0aXZlW2RhdGEtdi03ZmNiMDFjMF17cG9zaXRpb246cmVsYXRpdmV9LnBvc2l0aW9uLWFic29sdXRlW2RhdGEtdi03ZmNiMDFjMF17cG9zaXRpb246YWJzb2x1dGV9Lm92ZXJmbG93LWhpZGRlbltkYXRhLXYtN2ZjYjAxYzBde292ZXJmbG93OmhpZGRlbn0ubGluZS0xW2RhdGEtdi03ZmNiMDFjMF17b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS5saW5lLTJbZGF0YS12LTdmY2IwMWMwXXtvdmVyZmxvdzpoaWRkZW47LXdlYmtpdC1saW5lLWNsYW1wOjI7bGluZS1jbGFtcDoyOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDtib3gtb3JpZW50OnZlcnRpY2FsO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpib3h9LmxpbmUtM1tkYXRhLXYtN2ZjYjAxYzBde292ZXJmbG93OmhpZGRlbjstd2Via2l0LWxpbmUtY2xhbXA6MztsaW5lLWNsYW1wOjM7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO2JveC1vcmllbnQ6dmVydGljYWw7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmJveH0ubGluZS00W2RhdGEtdi03ZmNiMDFjMF17b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtbGluZS1jbGFtcDo0O2xpbmUtY2xhbXA6NDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7Ym94LW9yaWVudDp2ZXJ0aWNhbDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6Ym94fS5saW5lLTVbZGF0YS12LTdmY2IwMWMwXXtvdmVyZmxvdzpoaWRkZW47LXdlYmtpdC1saW5lLWNsYW1wOjU7bGluZS1jbGFtcDo1Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDtib3gtb3JpZW50OnZlcnRpY2FsO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpib3h9LnctMTBbZGF0YS12LTdmY2IwMWMwXXt3aWR0aDoxMCV9LmgtMTBbZGF0YS12LTdmY2IwMWMwXXtoZWlnaHQ6MTAlfS5vcGFjaXR5LTEwW2RhdGEtdi03ZmNiMDFjMF17b3BhY2l0eTouMX0udy0xN1tkYXRhLXYtN2ZjYjAxYzBde3dpZHRoOjE3JX0uaC0xN1tkYXRhLXYtN2ZjYjAxYzBde2hlaWdodDoxNyV9Lm9wYWNpdHktMTdbZGF0YS12LTdmY2IwMWMwXXtvcGFjaXR5Oi4xN30udy0xOFtkYXRhLXYtN2ZjYjAxYzBde3dpZHRoOjE4JX0uaC0xOFtkYXRhLXYtN2ZjYjAxYzBde2hlaWdodDoxOCV9Lm9wYWNpdHktMThbZGF0YS12LTdmY2IwMWMwXXtvcGFjaXR5Oi4xOH0udy0xOVtkYXRhLXYtN2ZjYjAxYzBde3dpZHRoOjE5JX0uaC0xOVtkYXRhLXYtN2ZjYjAxYzBde2hlaWdodDoxOSV9Lm9wYWNpdHktMTlbZGF0YS12LTdmY2IwMWMwXXtvcGFjaXR5Oi4xOX0udy0yMFtkYXRhLXYtN2ZjYjAxYzBde3dpZHRoOjIwJX0uaC0yMFtkYXRhLXYtN2ZjYjAxYzBde2hlaWdodDoyMCV9Lm9wYWNpdHktMjBbZGF0YS12LTdmY2IwMWMwXXtvcGFjaXR5Oi4yfS53LTI1W2RhdGEtdi03ZmNiMDFjMF17d2lkdGg6MjUlfS5oLTI1W2RhdGEtdi03ZmNiMDFjMF17aGVpZ2h0OjI1JX0ub3BhY2l0eS0yNVtkYXRhLXYtN2ZjYjAxYzBde29wYWNpdHk6LjI1fS53LTMwW2RhdGEtdi03ZmNiMDFjMF17d2lkdGg6MzAlfS5oLTMwW2RhdGEtdi03ZmNiMDFjMF17aGVpZ2h0OjMwJX0ub3BhY2l0eS0zMFtkYXRhLXYtN2ZjYjAxYzBde29wYWNpdHk6LjN9LnctMzNbZGF0YS12LTdmY2IwMWMwXXt3aWR0aDozMyV9LmgtMzNbZGF0YS12LTdmY2IwMWMwXXtoZWlnaHQ6MzMlfS5vcGFjaXR5LTMzW2RhdGEtdi03ZmNiMDFjMF17b3BhY2l0eTouMzN9LnctNDBbZGF0YS12LTdmY2IwMWMwXXt3aWR0aDo0MCV9LmgtNDBbZGF0YS12LTdmY2IwMWMwXXtoZWlnaHQ6NDAlfS5vcGFjaXR5LTQwW2RhdGEtdi03ZmNiMDFjMF17b3BhY2l0eTouNH0udy00NFtkYXRhLXYtN2ZjYjAxYzBde3dpZHRoOjQ0JX0uaC00NFtkYXRhLXYtN2ZjYjAxYzBde2hlaWdodDo0NCV9Lm9wYWNpdHktNDRbZGF0YS12LTdmY2IwMWMwXXtvcGFjaXR5Oi40NH0udy00OFtkYXRhLXYtN2ZjYjAxYzBde3dpZHRoOjQ4JX0uaC00OFtkYXRhLXYtN2ZjYjAxYzBde2hlaWdodDo0OCV9Lm9wYWNpdHktNDhbZGF0YS12LTdmY2IwMWMwXXtvcGFjaXR5Oi40OH0udy00OVtkYXRhLXYtN2ZjYjAxYzBde3dpZHRoOjQ5JX0uaC00OVtkYXRhLXYtN2ZjYjAxYzBde2hlaWdodDo0OSV9Lm9wYWNpdHktNDlbZGF0YS12LTdmY2IwMWMwXXtvcGFjaXR5Oi40OX0udy01MFtkYXRhLXYtN2ZjYjAxYzBde3dpZHRoOjUwJX0uaC01MFtkYXRhLXYtN2ZjYjAxYzBde2hlaWdodDo1MCV9Lm9wYWNpdHktNTBbZGF0YS12LTdmY2IwMWMwXXtvcGFjaXR5Oi41fS53LTYwW2RhdGEtdi03ZmNiMDFjMF17d2lkdGg6NjAlfS5oLTYwW2RhdGEtdi03ZmNiMDFjMF17aGVpZ2h0OjYwJX0ub3BhY2l0eS02MFtkYXRhLXYtN2ZjYjAxYzBde29wYWNpdHk6LjZ9LnctNzBbZGF0YS12LTdmY2IwMWMwXXt3aWR0aDo3MCV9LmgtNzBbZGF0YS12LTdmY2IwMWMwXXtoZWlnaHQ6NzAlfS5vcGFjaXR5LTcwW2RhdGEtdi03ZmNiMDFjMF17b3BhY2l0eTouN30udy03NVtkYXRhLXYtN2ZjYjAxYzBde3dpZHRoOjc1JX0uaC03NVtkYXRhLXYtN2ZjYjAxYzBde2hlaWdodDo3NSV9Lm9wYWNpdHktNzVbZGF0YS12LTdmY2IwMWMwXXtvcGFjaXR5Oi43NX0udy04MFtkYXRhLXYtN2ZjYjAxYzBde3dpZHRoOjgwJX0uaC04MFtkYXRhLXYtN2ZjYjAxYzBde2hlaWdodDo4MCV9Lm9wYWNpdHktODBbZGF0YS12LTdmY2IwMWMwXXtvcGFjaXR5Oi44fS53LTkwW2RhdGEtdi03ZmNiMDFjMF17d2lkdGg6OTAlfS5oLTkwW2RhdGEtdi03ZmNiMDFjMF17aGVpZ2h0OjkwJX0ub3BhY2l0eS05MFtkYXRhLXYtN2ZjYjAxYzBde29wYWNpdHk6Ljl9LnctMTAwW2RhdGEtdi03ZmNiMDFjMF17d2lkdGg6MTAwJX0uaC0xMDBbZGF0YS12LTdmY2IwMWMwXXtoZWlnaHQ6MTAwJX0ub3BhY2l0eS0xMDBbZGF0YS12LTdmY2IwMWMwXXtvcGFjaXR5Oi4xfS5wYi01MFtkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctYm90dG9tOiU/NTA/JX0ubXQtNTBbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tdG9wOiU/NTA/JX0ucGItNjBbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLWJvdHRvbTolPzYwPyV9Lm10LTYwW2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLXRvcDolPzYwPyV9LnBiLTcwW2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy1ib3R0b206JT83MD8lfS5tdC03MFtkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi10b3A6JT83MD8lfS5wYi04MFtkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctYm90dG9tOiU/ODA/JX0ubXQtODBbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tdG9wOiU/ODA/JX0ucGItOTBbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLWJvdHRvbTolPzkwPyV9Lm10LTkwW2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLXRvcDolPzkwPyV9LnBiLTEwMFtkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctYm90dG9tOiU/MTAwPyV9Lm10LTEwMFtkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi10b3A6JT8xMDA/JX0ucGItMTEwW2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy1ib3R0b206JT8xMTA/JX0ubXQtMTEwW2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLXRvcDolPzExMD8lfS5wYi0xMjBbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLWJvdHRvbTolPzEyMD8lfS5tdC0xMjBbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tdG9wOiU/MTIwPyV9LnBiLTEzMFtkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctYm90dG9tOiU/MTMwPyV9Lm10LTEzMFtkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi10b3A6JT8xMzA/JX0ucGItMTQwW2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy1ib3R0b206JT8xNDA/JX0ubXQtMTQwW2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLXRvcDolPzE0MD8lfS5wYi0xNTBbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLWJvdHRvbTolPzE1MD8lfS5tdC0xNTBbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tdG9wOiU/MTUwPyV9LnBiLTE2MFtkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctYm90dG9tOiU/MTYwPyV9Lm10LTE2MFtkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi10b3A6JT8xNjA/JX0ucGItMTcwW2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy1ib3R0b206JT8xNzA/JX0ubXQtMTcwW2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLXRvcDolPzE3MD8lfS5wYi0xODBbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nLWJvdHRvbTolPzE4MD8lfS5tdC0xODBbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tdG9wOiU/MTgwPyV9LnBiLTE5MFtkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmctYm90dG9tOiU/MTkwPyV9Lm10LTE5MFtkYXRhLXYtN2ZjYjAxYzBde21hcmdpbi10b3A6JT8xOTA/JX0ucGItMjAwW2RhdGEtdi03ZmNiMDFjMF17cGFkZGluZy1ib3R0b206JT8yMDA/JX0ubXQtMjAwW2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luLXRvcDolPzIwMD8lfS5pbnB1dFtkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmc6MCAlPzMwPyU7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4wNSk7Ym9yZGVyLXJhZGl1czolPzEyPyU7aGVpZ2h0OiU/ODg/JTtsaW5lLWhlaWdodDolPzg4PyU7cG9zaXRpb246cmVsYXRpdmV9LmlucHV0IC5pbnB1dC1wbGFjZWhvbGRlcltkYXRhLXYtN2ZjYjAxYzBde29wYWNpdHk6LjQ7Zm9udC13ZWlnaHQ6NDAwIWltcG9ydGFudH0uYm94LXNoYWRvd1tkYXRhLXYtN2ZjYjAxYzBde2JveC1zaGFkb3c6MCAwIDEwcHggMCByZ2JhKDAsMCwwLC4wNil9LmJvcmRlcltkYXRhLXYtN2ZjYjAxYzBde2JvcmRlcjolPzI/JSBzb2xpZCAjNGQ0ZDRkfS5ib3JkZXItdG9wW2RhdGEtdi03ZmNiMDFjMF17Ym9yZGVyLXRvcDolPzI/JSBzb2xpZCAjNGQ0ZDRkfS5ib3JkZXItYm90dG9tW2RhdGEtdi03ZmNiMDFjMF17Ym9yZGVyLWJvdHRvbTolPzI/JSBzb2xpZCAjNGQ0ZDRkfS5ib3JkZXItYm90dG9tLXdoaXRlW2RhdGEtdi03ZmNiMDFjMF17Ym9yZGVyLWJvdHRvbTolPzI/JSBzb2xpZCAjZjNmM2YzfS5ib3JkZXItcmFkaXVzLTEwW2RhdGEtdi03ZmNiMDFjMF17Ym9yZGVyLXJhZGl1czolPzEwPyUhaW1wb3J0YW50fS5ib3JkZXItcmFkaXVzLTIwW2RhdGEtdi03ZmNiMDFjMF0sIC5kZXBvc2l0W2RhdGEtdi03ZmNiMDFjMF17Ym9yZGVyLXJhZGl1czolPzIwPyUhaW1wb3J0YW50fS5ib3JkZXItcmFkaXVzLTUwcGVyW2RhdGEtdi03ZmNiMDFjMF17Ym9yZGVyLXJhZGl1czo1MCUhaW1wb3J0YW50fS51bmktaW5wdXQtcGxhY2Vob2xkZXJbZGF0YS12LTdmY2IwMWMwXXtjb2xvcjpoc2xhKDAsMCUsOTkuNiUsLjUpfS5rZWZ1W2RhdGEtdi03ZmNiMDFjMF17cG9zaXRpb246Zml4ZWQ7cmlnaHQ6JT81MD8lO2JvdHRvbToxNi41dmg7ei1pbmRleDoxMDtib3JkZXItcmFkaXVzOjUwJTtib3gtc2hhZG93OjAgMCAxNXB4IDAgcmdiYSgwLDAsMCwuMSk7YmFja2dyb3VuZC1jb2xvcjojMzMzO3dpZHRoOiU/NzA/JTtoZWlnaHQ6JT83MD8lO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ubG9naW4taW5wdXQtZ3JvdXBbZGF0YS12LTdmY2IwMWMwXXtib3JkZXItYm90dG9tOiU/Mj8lIHNvbGlkIGhzbGEoMCwwJSwxMDAlLC4yKTttYXJnaW4tdG9wOiU/NTA/JTtwb3NpdGlvbjpyZWxhdGl2ZX0ubG9naW4taW5wdXQtZ3JvdXAgLmxvZ2luLWlucHV0W2RhdGEtdi03ZmNiMDFjMF17aGVpZ2h0OiU/NzA/JTtsaW5lLWhlaWdodDolPzcwPyU7d2lkdGg6MTAwJX0ubG9naW4taW5wdXQtZ3JvdXAgLmxhYmVsW2RhdGEtdi03ZmNiMDFjMF17b3BhY2l0eTouN30uYm94LXNoYWRvd1tkYXRhLXYtN2ZjYjAxYzBde2JveC1zaGFkb3c6MCAwIDEwcHggMCByZ2JhKDAsMCwwLC4xKX0uc3Vic2VjdGlvbiAuaXRlbVtkYXRhLXYtN2ZjYjAxYzBde3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmctYm90dG9tOiU/MTA/JX0uc3Vic2VjdGlvbiAuaXRlbVtkYXRhLXYtN2ZjYjAxYzBdOjphZnRlcntkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO2NvbnRlbnQ6IiI7Ym90dG9tOjA7bGVmdDo1MCU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt3aWR0aDolPzMwPyU7aGVpZ2h0OiU/ND8lO2JhY2tncm91bmQtY29sb3I6I2ZmZn0uc3Vic2VjdGlvbiAuaXRlbS5hY3RpdmVbZGF0YS12LTdmY2IwMWMwXXtjb2xvcjojMjI3N2ZjfS5zdWJzZWN0aW9uIC5pdGVtLmFjdGl2ZVtkYXRhLXYtN2ZjYjAxYzBdOjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOiMyMjc3ZmN9LmQtZ3JpZFtkYXRhLXYtN2ZjYjAxYzBde2Rpc3BsYXk6Z3JpZH0uZC1ncmlkLWNvbHVtbnMtMltkYXRhLXYtN2ZjYjAxYzBde2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDIsMWZyKX0uZC1ncmlkLWNvbHVtbnMtM1tkYXRhLXYtN2ZjYjAxYzBde2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDMsMWZyKX0uZC1ncmlkLWNvbHVtbnMtNFtkYXRhLXYtN2ZjYjAxYzBde2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDQsMWZyKX0uZC1ncmlkLWNvbHVtbnMtNVtkYXRhLXYtN2ZjYjAxYzBde2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDUsMWZyKX0uYXJ0aWNsZVtkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmc6JT8zMD8lfS5hcnRpY2xlIHVuaS10ZXh0W2RhdGEtdi03ZmNiMDFjMF17ZGlzcGxheTpibG9jazttYXJnaW4tYm90dG9tOiU/MjA/JX1pZnJhbWVbZGF0YS12LTdmY2IwMWMwXXtsZWZ0OjAhaW1wb3J0YW50O3JpZ2h0OjAhaW1wb3J0YW50O21hcmdpbjowIGF1dG87dG9wOjAhaW1wb3J0YW50fS5wb3NpdGlvbi1yZWxhdGl2ZS16aW5kZXgtOTlbZGF0YS12LTdmY2IwMWMwXXtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4Ojk5fS5zdGF0dXNfYmFyW2RhdGEtdi03ZmNiMDFjMF17aGVpZ2h0OjA7d2lkdGg6MTAwJX0uYWZ0ZXItYm9yZGVyW2RhdGEtdi03ZmNiMDFjMF17cG9zaXRpb246cmVsYXRpdmV9LmFmdGVyLWJvcmRlcltkYXRhLXYtN2ZjYjAxYzBdOmFmdGVye3Bvc2l0aW9uOmFic29sdXRlO2NvbnRlbnQ6IiI7dG9wOjA7cmlnaHQ6MDtib3R0b206MDt3aWR0aDolPzI/JTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoNTEsNTEsNTEsLjEpfS5sb2dpbi1sb2dvW2RhdGEtdi03ZmNiMDFjMF17dGV4dC1hbGlnbjpjZW50ZXI7cGFkZGluZy10b3A6NC41dmh9LmxvZ2luLWxvZ28gdW5pLWltYWdlW2RhdGEtdi03ZmNiMDFjMF17d2lkdGg6MTd2aDtoZWlnaHQ6MTd2aDtkaXNwbGF5OmJsb2NrO2JvcmRlci1yYWRpdXM6JT8yND8lO2JveC1zaGFkb3c6MCAwICU/MTA/JSAwIHJnYmEoMCwwLDAsLjA1KTttYXJnaW46MCBhdXRvfS50YWctcHJpbWFyeVtkYXRhLXYtN2ZjYjAxYzBde2JhY2tncm91bmQtY29sb3I6IzIyNzdmYztjb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6JT82PyU7Zm9udC1zaXplOiU/MjA/JTtwYWRkaW5nOiU/ND8lICU/MTA/JTtib3JkZXI6JT8yPyUgc29saWQgIzIyNzdmYztib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyOm5vbmU7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoLTIyNWRlZywjMmNkOGQ1LCM2YjhkZDYgNDglLCM4ZTM3ZDcpfS50YWctZXJyb3JbZGF0YS12LTdmY2IwMWMwXSwgLnRhZy1wbGFpbi1lcnJvcltkYXRhLXYtN2ZjYjAxYzBde2JhY2tncm91bmQtY29sb3I6I2YwNGE1YTtjb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6JT82PyU7Zm9udC1zaXplOiU/MjA/JTtwYWRkaW5nOiU/ND8lICU/MTA/JTtib3JkZXI6JT8yPyUgc29saWQgI2YwNGE1YTtib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyOm5vbmU7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoMjcwZGVnLCNmZjA4NDQgMCwjZmZiMTk5KX0udGFnLXNlY29uZGFyeVtkYXRhLXYtN2ZjYjAxYzBde2JhY2tncm91bmQtY29sb3I6cmdiYSg1MSw1MSw1MSwuMDYpO2NvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czolPzY/JTtmb250LXNpemU6JT8yMD8lO3BhZGRpbmc6JT80PyUgJT8xMD8lO2JvcmRlcjolPzI/JSBzb2xpZCByZ2JhKDUxLDUxLDUxLC4wNik7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlcjpub25lO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDQ1ZGVnLCM5M2E1Y2YsI2U0ZWZlOSl9LnRhZy13YXJuaW5nW2RhdGEtdi03ZmNiMDFjMF17YmFja2dyb3VuZC1jb2xvcjojZDRiYTgzO2NvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czolPzY/JTtmb250LXNpemU6JT8yMD8lO3BhZGRpbmc6JT80PyUgJT8xMD8lO2JvcmRlcjolPzI/JSBzb2xpZCAjZDRiYTgzO2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXI6bm9uZTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgxZGVnLCNmZmNjOGYsI2ZmZWRkOCl9LnRhZy1zdWNjZXNzW2RhdGEtdi03ZmNiMDFjMF0sIC50YWctcGxhaW4tc3VjY2Vzc1tkYXRhLXYtN2ZjYjAxYzBde2JhY2tncm91bmQtY29sb3I6IzI4YmE5ODtjb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6JT82PyU7Zm9udC1zaXplOiU/MjA/JTtwYWRkaW5nOiU/ND8lICU/MTA/JTtib3JkZXI6JT8yPyUgc29saWQgIzI4YmE5ODtib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyOm5vbmU7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoMTIwZGVnLCM4NGZhYjAsIzhmZDNmNCl9LnRhZy1wbGFpbi1zdWNjZXNzW2RhdGEtdi03ZmNiMDFjMF17YmFja2dyb3VuZDpub25lO2NvbG9yOiMyOGJhOTg7Ym9yZGVyOiU/Mj8lIHNvbGlkICMyOGJhOTh9LnRhZy1wbGFpbi1lcnJvcltkYXRhLXYtN2ZjYjAxYzBde2JhY2tncm91bmQ6bm9uZTtjb2xvcjojZjA0YTVhO2JvcmRlcjolPzI/JSBzb2xpZCAjZjA0YTVhfS5hbGVydFtkYXRhLXYtN2ZjYjAxYzBde2ZvbnQtc2l6ZTolPzI0PyU7Ym9yZGVyLXJhZGl1czolPzIwPyU7cGFkZGluZzolPzIwPyU7Ym9yZGVyLXJhZGl1czo1cHh9LmlucHV0LWl0ZW1bZGF0YS12LTdmY2IwMWMwXXtwb3NpdGlvbjpyZWxhdGl2ZX0uaW5wdXQtaXRlbSAuaW5wdXRbZGF0YS12LTdmY2IwMWMwXXttYXJnaW4tdG9wOiU/MjA/JX0uaW5wdXQtaXRlbSAuZXllW2RhdGEtdi03ZmNiMDFjMF17cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6JT8zMD8lO3RvcDo1NiV9LmlucHV0LWl0ZW0gLmdldC1jb2RlW2RhdGEtdi03ZmNiMDFjMF17cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6JT8zMD8lO3RvcDolPzc4PyU7aGVpZ2h0OiU/NTA/JTtsaW5lLWhlaWdodDolPzUwPyU7cGFkZGluZzowICU/MjA/JTtiYWNrZ3JvdW5kLWNvbG9yOiNmMDRhNWE7Ym9yZGVyLXJhZGl1czolPzEwPyU7Y29sb3I6I2ZmZn0uaW5wdXQtaXRlbSAuZ2V0LWNvZGUuc2VuZFtkYXRhLXYtN2ZjYjAxYzBde2JhY2tncm91bmQtY29sb3I6cmdiYSg1MSw1MSw1MSwuMDYpfS51cGxvYWQtd3JhcFtkYXRhLXYtN2ZjYjAxYzBde2JhY2tncm91bmQ6IzRkNGQ0ZDt3aWR0aDolPzI0MD8lO2hlaWdodDolPzI0MD8lO2JvcmRlci1yYWRpdXM6JT8xMD8lO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjt0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW46MCBhdXRvO2JvcmRlcjolPzI/JSBzb2xpZCByZ2JhKDUxLDUxLDUxLC4wNik7b3ZlcmZsb3c6aGlkZGVufS5yaWdodC1lbnRlcltkYXRhLXYtN2ZjYjAxYzBdey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwMCUsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMTAwJSwwLDApfS5yaWdodC1sZWF2ZS10b1tkYXRhLXYtN2ZjYjAxYzBdLCAucmlnaHQtbGVhdmVbZGF0YS12LTdmY2IwMWMwXXtkaXNwbGF5Om5vbmV9LnJpZ2h0LWVudGVyLXRvW2RhdGEtdi03ZmNiMDFjMF17LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0ucmlnaHQtZW50ZXItYWN0aXZlW2RhdGEtdi03ZmNiMDFjMF0sXHJcbi5yaWdodC1sZWF2ZS1hY3RpdmVbZGF0YS12LTdmY2IwMWMwXXt0cmFuc2l0aW9uOmFsbCAuM3N9LmRlcG9zaXRbZGF0YS12LTdmY2IwMWMwXXtjb2xvcjojMzMzO3BhZGRpbmc6MCAlPzI4PyU7cGFkZGluZy10b3A6JT8zOD8lO3Bvc2l0aW9uOnJlbGF0aXZlfS5kZXBvc2l0IC5lYXJuaW5ncy13cmFwW2RhdGEtdi03ZmNiMDFjMF17bWFyZ2luOjAgJT8tMjg/JTttYXJnaW4tdG9wOiU/MzA/JX0uZGVwb3NpdCAuZWFybmluZ3Mtd3JhcCAuZWFybmluZ3NbZGF0YS12LTdmY2IwMWMwXXtwYWRkaW5nOiU/MzA/JSAlPzI4PyUgJT8yOD8lICU/Mjg/JTtiYWNrZ3JvdW5kLWNvbG9yOmhzbGEoMCwwJSwxMDAlLC4xKX0udHJhbnNpdGlvbltkYXRhLXYtN2ZjYjAxYzBde3RyYW5zaXRpb246YWxsIC4zcyBlYXNlIDBzfS53aGl0ZS1jaXJjbGVbZGF0YS12LTdmY2IwMWMwXXt3aWR0aDolPzgwPyU7aGVpZ2h0OiU/ODA/JTtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5mbGV4LTFbZGF0YS12LTdmY2IwMWMwXXtmbGV4OjF9LmxvZ2luLWhlYWQtYmdbZGF0YS12LTdmY2IwMWMwXXtwb3NpdGlvbjpmaXhlZDt3aWR0aDoxMDB2dztoZWlnaHQ6NTQuNHZ3O3RvcDowO2xlZnQ6MDtyaWdodDowfS5saW5lYXItZ3JhZGllbnQtdGV4dFtkYXRhLXYtN2ZjYjAxYzBde2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDNkZWcsI2ZmY2M4ZiwjZmZlZGQ4KTstd2Via2l0LWJhY2tncm91bmQtY2xpcDp0ZXh0O2NvbG9yOnRyYW5zcGFyZW50fS5saW5lYXItZ3JhZGllbnQtYnV0dG9uW2RhdGEtdi03ZmNiMDFjMF0sIC5kZXBvc2l0W2RhdGEtdi03ZmNiMDFjMF17YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMWRlZywjZmZjYzhmLCNmZmVkZDgpfS53cmFwcGVyLWJnW2RhdGEtdi03ZmNiMDFjMF17cG9zaXRpb246cmVsYXRpdmV9LndyYXBwZXItYmdbZGF0YS12LTdmY2IwMWMwXTo6YWZ0ZXJ7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7cmlnaHQ6MDt0b3A6MDtib3R0b206MDtiYWNrZ3JvdW5kLWltYWdlOnVybCgnK3IrIik7YmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1wb3NpdGlvbjoxMDAlIHRvcDtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXR9LnUtZHJhd2VyW2RhdGEtdi03ZmNiMDFjMF17ZGlzcGxheTpibG9jaztwb3NpdGlvbjpmaXhlZDt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDtvdmVyZmxvdzpoaWRkZW59LnUtZHJhd2VyLWNvbnRlbnRbZGF0YS12LTdmY2IwMWMwXXtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAwMzt0cmFuc2l0aW9uOmFsbCAuMjVzIGxpbmVhcjtjb2xvcjojMzMzfS51LWRyYXdlcl9fc2Nyb2xsLXZpZXdbZGF0YS12LTdmY2IwMWMwXXt3aWR0aDoxMDAlO2hlaWdodDoxMDAlfS51LWRyYXdlci1sZWZ0W2RhdGEtdi03ZmNiMDFjMF17dG9wOjA7Ym90dG9tOjA7bGVmdDowO2JhY2tncm91bmQtY29sb3I6I2ZmZn0udS1kcmF3ZXItcmlnaHRbZGF0YS12LTdmY2IwMWMwXXtyaWdodDowO3RvcDowO2JvdHRvbTowO2JhY2tncm91bmQtY29sb3I6I2ZmZn0udS1kcmF3ZXItdG9wW2RhdGEtdi03ZmNiMDFjMF17dG9wOjA7bGVmdDowO3JpZ2h0OjA7YmFja2dyb3VuZC1jb2xvcjojZmZmfS51LWRyYXdlci1ib3R0b21bZGF0YS12LTdmY2IwMWMwXXtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9LnUtZHJhd2VyLWNlbnRlcltkYXRhLXYtN2ZjYjAxYzBde2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpyb3c7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3RvcDowO2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO29wYWNpdHk6MDt6LWluZGV4Ojk5OTk5fS51LW1vZGUtY2VudGVyLWJveFtkYXRhLXYtN2ZjYjAxYzBde21pbi13aWR0aDolPzEwMD8lO21pbi1oZWlnaHQ6JT8xMDA/JTtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlfS51LWRyYXdlci1jb250ZW50LXZpc2libGUudS1kcmF3ZXItY2VudGVyW2RhdGEtdi03ZmNiMDFjMF17LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNmb3JtOnNjYWxlKDEpO29wYWNpdHk6MX0udS1hbmltYXRpb24tem9vbVtkYXRhLXYtN2ZjYjAxYzBdey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEuMTUpO3RyYW5zZm9ybTpzY2FsZSgxLjE1KX0udS1kcmF3ZXItY29udGVudC12aXNpYmxlW2RhdGEtdi03ZmNiMDFjMF17LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKSFpbXBvcnRhbnQ7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCkhaW1wb3J0YW50fS51LWNsb3NlW2RhdGEtdi03ZmNiMDFjMF17cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDozfS51LWNsb3NlLS10b3AtbGVmdFtkYXRhLXYtN2ZjYjAxYzBde3RvcDolPzMwPyU7bGVmdDolPzMwPyV9LnUtY2xvc2UtLXRvcC1yaWdodFtkYXRhLXYtN2ZjYjAxYzBde3RvcDolPzMwPyU7cmlnaHQ6JT8zMD8lfS51LWNsb3NlLS1ib3R0b20tbGVmdFtkYXRhLXYtN2ZjYjAxYzBde2JvdHRvbTolPzMwPyU7bGVmdDolPzMwPyV9LnUtY2xvc2UtLWJvdHRvbS1yaWdodFtkYXRhLXYtN2ZjYjAxYzBde3JpZ2h0OiU/MzA/JTtib3R0b206JT8zMD8lfS50aXRsZVtkYXRhLXYtN2ZjYjAxYzBde3BhZGRpbmc6JT8yND8lIDAgJT8yNj8lfS50aXRsZSAuYmxvY2tbZGF0YS12LTdmY2IwMWMwXXtkaXNwbGF5OmJsb2NrO3dpZHRoOiU/MTIyPyU7aGVpZ2h0OiU/MTQ/JTttYXJnaW46MCBhdXRvO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMSk7Ym9yZGVyLXJhZGl1czolPzc/JX0udGl0bGUgLnRleHRbZGF0YS12LTdmY2IwMWMwXXtkaXNwbGF5OmJsb2NrO3RleHQtYWxpZ246Y2VudGVyO2ZvbnQtc2l6ZTolPzMyPyU7bWFyZ2luLXRvcDolPzQwPyV9IiwiIl0pLHQuZXhwb3J0cz1hfSxmNWFhOmZ1bmN0aW9uKHQsYSxpKXsidXNlIHN0cmljdCI7aSgiNmE1NCIpO3ZhciBuPWkoImY1YmQiKS5kZWZhdWx0O09iamVjdC5kZWZpbmVQcm9wZXJ0eShhLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxhLmRlZmF1bHQ9dm9pZCAwO3ZhciBkPW4oaSgiOWIxYiIpKTtpKCI2NGFhIiksaSgiZGM4YSIpO3ZhciBvPXtuYW1lOiJ1LW1hc2siLHByb3BzOntzaG93Ont0eXBlOkJvb2xlYW4sZGVmYXVsdDohMX0sekluZGV4Ont0eXBlOltOdW1iZXIsU3RyaW5nXSxkZWZhdWx0OiIifSxjdXN0b21TdHlsZTp7dHlwZTpPYmplY3QsZGVmYXVsdDpmdW5jdGlvbigpe3JldHVybnt9fX0sem9vbTp7dHlwZTpCb29sZWFuLGRlZmF1bHQ6ITB9LGR1cmF0aW9uOnt0eXBlOltOdW1iZXIsU3RyaW5nXSxkZWZhdWx0OjMwMH0sbWFza0NsaWNrQWJsZTp7dHlwZTpCb29sZWFuLGRlZmF1bHQ6ITB9fSxkYXRhOmZ1bmN0aW9uKCl7cmV0dXJue3pvb21TdHlsZTp7dHJhbnNmb3JtOiIifSxzY2FsZToic2NhbGUoMS4yLCAxLjIpIn19LHdhdGNoOntzaG93OmZ1bmN0aW9uKHQpe3QmJnRoaXMuem9vbT90aGlzLnpvb21TdHlsZS50cmFuc2Zvcm09InNjYWxlKDEsIDEpIjohdCYmdGhpcy56b29tJiYodGhpcy56b29tU3R5bGUudHJhbnNmb3JtPXRoaXMuc2NhbGUpfX0sY29tcHV0ZWQ6e21hc2tTdHlsZTpmdW5jdGlvbigpe3ZhciB0PXtiYWNrZ3JvdW5kQ29sb3I6InJnYmEoMCwgMCwgMCwgMC42KSJ9O3JldHVybiB0aGlzLnNob3c/dC56SW5kZXg9dGhpcy56SW5kZXg/dGhpcy56SW5kZXg6dGhpcy4kdS56SW5kZXgubWFzazp0LnpJbmRleD0tMSx0LnRyYW5zaXRpb249ImFsbCAiLmNvbmNhdCh0aGlzLmR1cmF0aW9uLzFlMywicyBlYXNlLWluLW91dCIpLE9iamVjdC5rZXlzKHRoaXMuY3VzdG9tU3R5bGUpLmxlbmd0aCYmKHQ9KDAsZC5kZWZhdWx0KSgoMCxkLmRlZmF1bHQpKHt9LHQpLHRoaXMuY3VzdG9tU3R5bGUpKSx0fX0sbWV0aG9kczp7Y2xpY2s6ZnVuY3Rpb24oKXt0aGlzLm1hc2tDbGlja0FibGUmJnRoaXMuJGVtaXQoImNsaWNrIil9fX07YS5kZWZhdWx0PW99fV0pOw=="}},"time_used":130,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":130,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null},{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"futurbcvndf.com/api/currency/quotation_new?lang=en","fqdn":"futurbcvndf.com","domain":"futurbcvndf.com","tld":"com"},"ip":{"addr":"172.67.130.50","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://futurbcvndf.com/","date":"2026-07-27T06:23:01.487Z","timestamp":1785133381487,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"futurbcvndf.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 16 Jul 2026 16:36:02 GMT","end":"Wed, 14 Oct 2026 16:36:01 GMT"},"fingerprint":{"sha1":"46:2D:5F:F0:3D:BD:73:19:93:72:79:62:4A:45:03:09:5D:FB:1E:A5","sha256":"35:31:C4:67:1D:DB:68:C3:FB:49:03:14:DD:4E:76:FE:13:53:8D:98:98:2E:BE:EA:B8:CA:4F:B6:5B:7E:5C:1D"}}},"request":{"raw":"GET /api/currency/quotation_new?lang=en HTTP/1.1\r\nHost: futurbcvndf.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nAuthorization: \r\nContent-Type: application/x-www-form-urlencoded\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://futurbcvndf.com/\r\nCookie: angela_session=eyJpdiI6IlhnUEZEQ1hLNngxS0t2ZGN3TnJjV1E9PSIsInZhbHVlIjoiVGlYZUpmMXVPdEhuTGtoQzhTS3VXM3BIN3J4ZDZnU2dNTWxTc0NRcHNMTXFyNm1wQTZEQ0RKTWJ0UjRERWZ5aDBaQWxVaVdmN0VVQkNna0M2ZTJ2dTdFZkx3amdIYjZlQzEzMHozajVqTzMybnhMOHo1bEpuaXdQM1R3UVN4QmQiLCJtYWMiOiJiZWIyMTJlYzc4OWUzODk0ODBiOTI5NmU0MjA2MDBmZjJmYzA2MTI3ZjViNmY4NWYxNzIyNDI4MDhhYWMzZmI4In0%3D\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\nserver: cloudflare\r\ndate: Mon, 27 Jul 2026 06:23:01 GMT\r\ncontent-type: application/json\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=mrnFGjUetacHzRuZ0Li5LpIP%2B8jO1FFPnja2yGRH0zMR%2F9eDyD5vtjs468Xj6z7tyGA1PVFq%2FMAsbqERhLcmHoIYGL%2FOYsjuomnJrLnEhtdoY5XBDx1q%2BB9BInI2LcpZx1c%3D\"}]}\r\npriority: u=3,i=?0\r\naccess-control-allow-origin: *\r\naccess-control-allow-methods: POST,GET,OPTIONS,DELETE\r\naccess-control-allow-headers: x-requested-with,content-type,Authorization\r\ncache-control: no-cache, private, no-cache\r\nset-cookie: angela_session=eyJpdiI6Ino2enBnYzJyK0hlaWxMMTlQT3NxNFE9PSIsInZhbHVlIjoiVWZEVElNcmhhc0k1aVI4eGhSMGh2K3pOUVhJM1JYSmV2dUdueXdUVjdTTDJuZWNUc1wva25BSEoxT2p0U09vYXZXdDlcL3B5K09ITE5nSVRIZFpkbXhteVh5RzFJb3dZcHZQU1NcL3JCbUVEZVdKeVpjYU1rdUU0Q1hjc01cL3oranJEIiwibWFjIjoiMzBmNzZlNDc1NzVlYjg2MzZlNzQxZTU4MTkwMTBhMmE0ZDIyMDBkZGI1YjE1Mjk3MmZhYmI1M2ZjM2UxYjA0ZSJ9; expires=Mon, 27-Jul-2026 08:23:01 GMT; Max-Age=7200; path=/; httponly\r\nstrict-transport-security: max-age=31536000\r\ncf-cache-status: DYNAMIC\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\ncontent-encoding: zstd\r\ncf-ray: a2198d9249b00daa-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":23081,"size_decoded":4315,"mime_type":"application/json","magic":"JSON text data","md5":"bb417968cbf0bf47be99326d168dafde","sha1":"e726ba68c042a37982a942f99475f3f633da824f","sha256":"46b3e2b3ad81637436e60abfe59585227c504c334d7099f380f044986fab6b42","sha512":"c8824d2e24e3181aff2892290a35bd8182cbcb058d1b8f8b16c76da6ed8ec60a7313cfec3b9ef9b6eb9a7ed53aa23043c8609da90adabf532cc0165834c73a4e","ssdeep":"384:bX4E/oO+kgJ7XS+HymysFssG3FI/xTz2kW9Ngx:bX4E/ojkgJ7X3Sm3OsG3FUxTz2kW9Ngx","tlshash":"cba2ad5e312c8a78c3e69ec2de9f32a93594b507adc28f85d3dd9fc84284576e30b512","first_seen":"2026-07-27T06:23:39.741399Z","last_seen":"2026-07-27T06:23:39.741399Z","times_seen":1,"resource_available":false,"data":"eyJ0eXBlIjoib2siLCJtZXNzYWdlIjpbeyJpZCI6MywibmFtZSI6IlVTRFQiLCJnZXRfYWRkcmVzcyI6IiIsInNvcnQiOjAsImxvZ28iOiJodHRwczpcL1wvd3d3LmhjZ2xvYmFsLnRvcFwvdXBsb2FkXC8xNjAzMTI0MzAzNzAxMDU4LnBuZyIsImlzX2Rpc3BsYXkiOjEsIm1pbl9udW1iZXIiOiI1MC4wMDAwMDAwMCIsIm1heF9udW1iZXIiOiIxMDAwMDAuMDAwMDAwMDAiLCJyYXRlIjoiMC4wMDAwIiwiaXNfbGV2ZXIiOjEsImlzX2xlZ2FsIjoxLCJpc19tYXRjaCI6MSwiaXNfbWljcm8iOjEsImlzX3RyYW5zZmVyIjoiMSIsImluc3VyYW5jYWJsZSI6MCwic2hvd19sZWdhbCI6MSwidHlwZSI6InVzZHQiLCJibGFja19saW10IjowLCJjb250cmFjdF9hZGRyZXNzIjoiIiwidG90YWxfYWNjb3VudCI6IjAiLCJjb2xsZWN0X2FjY291bnQiOiIwIiwiY3VycmVuY3lfZGVjaW1hbHMiOjgsInJtYl9yZWxhdGlvbiI6IjYuNCIsImRlY2ltYWxfc2NhbGUiOjgsImNoYWluX2ZlZSI6IjAuMDAwMDUwMDAiLCJwcmljZSI6IjEuMDAwMDAwMDAiLCJtaWNyb190cmFkZV9mZWUiOiIwLjAwIiwibWljcm9fbWluIjoiMTAiLCJtaWNyb19tYXgiOiIxMDAwMDAwMCIsIm1pY3JvX2hvbGR0cmFkZV9tYXgiOjEsImNyZWF0ZV90aW1lIjoiMTk2OS0xMi0zMSAxOTowMDowMCIsImlzc3VlX251bSI6IjAiLCJjb250ZW50IjoiIiwic2VsbF9zdGF0dXMiOjEsImFkZHJlc3NfZXJjIjoiMHgxMzBkRmJiNDA0NUNkMzVhQ0Y2RjYzOGVGNjA2Y0I2MDg1QmZjNzExIiwiYWRkcmVzc19vbW5pIjoiVEQ2bkFhVTNScXpVQzE2ZThwdFRSYVh5dGRGdDRKTUMxaiIsInRvX3BiX3ByaWNlIjoiMC4wODE5OTI5MyIsInF1b3RhdGlvbiI6W3siaWQiOjIsImxlZ2FsX2lkIjozLCJjdXJyZW5jeV9pZCI6MSwiaXNfZGlzcGxheSI6MSwibWFya2V0X2Zyb20iOjIsImNhdGVnb3J5IjoxLCJtaW4iOiIwLjAwMDAwMDAwIiwib3Blbl90cmFuc2FjdGlvbiI6MSwib3Blbl9sZXZlciI6MSwib3Blbl9taWNyb3RyYWRlIjoxLCJvcGVuX2NvaW5fdHJhZGUiOjEsImNvaW5fdHJhZGVfc3VjY2VzcyI6MSwic29ydCI6MCwibWljcm9fdHJhZGVfZmVlIjoiMC4wMCIsImxldmVyX3NoYXJlX251bSI6IjEuMDAwMDAwMDAiLCJzcHJlYWQiOiIwLjA1MDAiLCJvdmVybmlnaHQiOiIwLjAyMDAiLCJsZXZlcl90cmFkZV9mZWUiOiIwLjEwMDAiLCJsZXZlcl9taW5fc2hhcmUiOjEsImxldmVyX21heF9zaGFyZSI6MTAwMDAwLCJmbHVjdHVhdGVfbWluIjoiNDYxMDAuMDAwMDAwMDAiLCJmbHVjdHVhdGVfbWF4IjoiNDcwMDAuMDAwMDAwMDAiLCJyaXNrX2dyb3VwX3Jlc3VsdCI6MSwiY3JlYXRlX3RpbWUiOiIyMDIyLTAxLTE2IDEyOjExOjU0IiwibGVnYWxfbmFtZSI6IlVTRFQiLCJjdXJyZW5jeV9uYW1lIjoiQlRDIiwibWFya2V0X2Zyb21fbmFtZSI6Ilx1NzA2Ylx1NWUwMVx1NjNhNVx1NTNlMyIsImNoYW5nZSI6IisxLjE1Iiwidm9sdW1lIjoiMTA0Ny41Mzc1OSIsIm5vd19wcmljZSI6IjY1NTE1LjYxMDAwIiwicm1iX3JlbGF0aW9uIjoiNi40IiwibG9nbyI6Imh0dHBzOlwvXC93d3cuaGNnbG9iYWwudG9wXC91cGxvYWRcLzE2MTQ4NTQ0MjA4MjUzNDAucG5nIiwiY2F0ZWdvcnlfdGV4dCI6Ilx1NGUzYlx1NmQ0MVx1NTMzYSIsImNvbnRlbnQiOiIiLCJpc3N1ZV9udW0iOiIwIiwic2VsbF9zdGF0dXMiOjF9LHsiaWQiOjMsImxlZ2FsX2lkIjozLCJjdXJyZW5jeV9pZCI6MiwiaXNfZGlzcGxheSI6MSwibWFya2V0X2Zyb20iOjIsImNhdGVnb3J5IjoxLCJtaW4iOiIwLjAwMDAwMDAwIiwib3Blbl90cmFuc2FjdGlvbiI6MSwib3Blbl9sZXZlciI6MSwib3Blbl9taWNyb3RyYWRlIjoxLCJvcGVuX2NvaW5fdHJhZGUiOjEsImNvaW5fdHJhZGVfc3VjY2VzcyI6MSwic29ydCI6MCwibWljcm9fdHJhZGVfZmVlIjoiMC4wMCIsImxldmVyX3NoYXJlX251bSI6IjAuMjAwMDAwMDAiLCJzcHJlYWQiOiIwLjUwMDAiLCJvdmVybmlnaHQiOiIwLjAwMDAiLCJsZXZlcl90cmFkZV9mZWUiOiIwLjIwMDAiLCJsZXZlcl9taW5fc2hhcmUiOjEsImxldmVyX21heF9zaGFyZSI6MjUwMCwiZmx1Y3R1YXRlX21pbiI6IjE1OTEuMDAwMDAwMDAiLCJmbHVjdHVhdGVfbWF4IjoiMTYwMC4wMDAwMDAwMCIsInJpc2tfZ3JvdXBfcmVzdWx0IjotMSwiY3JlYXRlX3RpbWUiOiIyMDIxLTAzLTA2IDA3OjE4OjA5IiwibGVnYWxfbmFtZSI6IlVTRFQiLCJjdXJyZW5jeV9uYW1lIjoiRVRIIiwibWFya2V0X2Zyb21fbmFtZSI6Ilx1NzA2Ylx1NWUwMVx1NjNhNVx1NTNlMyIsImNoYW5nZSI6IisyLjYxIiwidm9sdW1lIjoiMTkxODYuNjQ3MzMiLCJub3dfcHJpY2UiOiIxOTY0LjY3MDAwIiwicm1iX3JlbGF0aW9uIjoiNi40IiwibG9nbyI6Imh0dHBzOlwvXC93d3cuaGNnbG9iYWwudG9wXC91cGxvYWRcLzE2MDMxMjM5Njc3MDUwNzMucG5nIiwiY2F0ZWdvcnlfdGV4dCI6Ilx1NGUzYlx1NmQ0MVx1NTMzYSIsImNvbnRlbnQiOiIiLCJpc3N1ZV9udW0iOiIwIiwic2VsbF9zdGF0dXMiOjF9LHsiaWQiOjUsImxlZ2FsX2lkIjozLCJjdXJyZW5jeV9pZCI6NSwiaXNfZGlzcGxheSI6MSwibWFya2V0X2Zyb20iOjIsImNhdGVnb3J5IjoxLCJtaW4iOiIwLjAwMDAwMDAwIiwib3Blbl90cmFuc2FjdGlvbiI6MCwib3Blbl9sZXZlciI6MCwib3Blbl9taWNyb3RyYWRlIjowLCJvcGVuX2NvaW5fdHJhZGUiOjAsImNvaW5fdHJhZGVfc3VjY2VzcyI6MSwic29ydCI6MCwibWljcm9fdHJhZGVfZmVlIjoiMC4wMCIsImxldmVyX3NoYXJlX251bSI6IjEwMC4wMDAwMDAwMCIsInNwcmVhZCI6IjAuMTAwMCIsIm92ZXJuaWdodCI6IjAuMDAwMCIsImxldmVyX3RyYWRlX2ZlZSI6IjAuMjAwMCIsImxldmVyX21pbl9zaGFyZSI6MSwibGV2ZXJfbWF4X3NoYXJlIjo1MDAwLCJmbHVjdHVhdGVfbWluIjoiMC4wMzAwMDAwMCIsImZsdWN0dWF0ZV9tYXgiOiIwLjA5NjAwMDAwIiwicmlza19ncm91cF9yZXN1bHQiOi0xLCJjcmVhdGVfdGltZSI6IjIwMjAtMDUtMDYgMDM6MTY6MTMiLCJsZWdhbF9uYW1lIjoiVVNEVCIsImN1cnJlbmN5X25hbWUiOiJYUlAiLCJtYXJrZXRfZnJvbV9uYW1lIjoiXHU3MDZiXHU1ZTAxXHU2M2E1XHU1M2UzIiwiY2hhbmdlIjoiKzAuNjciLCJ2b2x1bWUiOiIxMzEzNDIwLjQ3MzE3Iiwibm93X3ByaWNlIjoiMS4xMTEwMyIsInJtYl9yZWxhdGlvbiI6IjYuNCIsImxvZ28iOiJodHRwczpcL1wvd3d3LmhjZ2xvYmFsLnRvcFwvdXBsb2FkXC8xNjAzMTI0MDA4MTY5NTA2LnBuZyIsImNhdGVnb3J5X3RleHQiOiJcdTRlM2JcdTZkNDFcdTUzM2EiLCJjb250ZW50IjoiIiwiaXNzdWVfbnVtIjoiMCIsInNlbGxfc3RhdHVzIjoxfSx7ImlkIjo2LCJsZWdhbF9pZCI6MywiY3VycmVuY3lfaWQiOjYsImlzX2Rpc3BsYXkiOjEsIm1hcmtldF9mcm9tIjoyLCJjYXRlZ29yeSI6MSwibWluIjoiMC4wMDAwMDAwMCIsIm9wZW5fdHJhbnNhY3Rpb24iOjAsIm9wZW5fbGV2ZXIiOjAsIm9wZW5fbWljcm90cmFkZSI6MCwib3Blbl9jb2luX3RyYWRlIjowLCJjb2luX3RyYWRlX3N1Y2Nlc3MiOjEsInNvcnQiOjAsIm1pY3JvX3RyYWRlX2ZlZSI6IjAuMDAiLCJsZXZlcl9zaGFyZV9udW0iOiIyLjAwMDAwMDAwIiwic3ByZWFkIjoiMC4zMDAwIiwib3Zlcm5pZ2h0IjoiMC4wMDAwIiwibGV2ZXJfdHJhZGVfZmVlIjoiMC4yMDAwIiwibGV2ZXJfbWluX3NoYXJlIjoxLCJsZXZlcl9tYXhfc2hhcmUiOjEwMDAsImZsdWN0dWF0ZV9taW4iOiIwLjAwMTAwMDAwIiwiZmx1Y3R1YXRlX21heCI6IjAuMDA5MDAwMDAiLCJyaXNrX2dyb3VwX3Jlc3VsdCI6LTEsImNyZWF0ZV90aW1lIjoiMjAyMC0wNi0yMiAwMzozMDo0MSIsImxlZ2FsX25hbWUiOiJVU0RUIiwiY3VycmVuY3lfbmFtZSI6IkxUQyIsIm1hcmtldF9mcm9tX25hbWUiOiJcdTcwNmJcdTVlMDFcdTYzYTVcdTUzZTMiLCJjaGFuZ2UiOiItMC44MCIsInZvbHVtZSI6IjUwNDYxLjYxNzU2Iiwibm93X3ByaWNlIjoiNDcuMzAwMDAiLCJybWJfcmVsYXRpb24iOiI2LjQiLCJsb2dvIjoiaHR0cHM6XC9cL3d3dy5oY2dsb2JhbC50b3BcL3VwbG9hZFwvMTYwMzEyNDAyMTU5MTIzOC5wbmciLCJjYXRlZ29yeV90ZXh0IjoiXHU0ZTNiXHU2ZDQxXHU1MzNhIiwiY29udGVudCI6IiIsImlzc3VlX251bSI6IjAiLCJzZWxsX3N0YXR1cyI6MX0seyJpZCI6OSwibGVnYWxfaWQiOjMsImN1cnJlbmN5X2lkIjo5LCJpc19kaXNwbGF5IjowLCJtYXJrZXRfZnJvbSI6MCwiY2F0ZWdvcnkiOjEsIm1pbiI6IjAuMDAwMDAwMDAiLCJvcGVuX3RyYW5zYWN0aW9uIjowLCJvcGVuX2xldmVyIjowLCJvcGVuX21pY3JvdHJhZGUiOjAsIm9wZW5fY29pbl90cmFkZSI6MCwiY29pbl90cmFkZV9zdWNjZXNzIjowLCJzb3J0IjowLCJtaWNyb190cmFkZV9mZWUiOiIwLjAwIiwibGV2ZXJfc2hhcmVfbnVtIjoiMS4wMDAwMDAwMCIsInNwcmVhZCI6IjAuMDAwMCIsIm92ZXJuaWdodCI6IjAuMDAwMCIsImxldmVyX3RyYWRlX2ZlZSI6IjAuMDAwMCIsImxldmVyX21pbl9zaGFyZSI6MSwibGV2ZXJfbWF4X3NoYXJlIjowLCJmbHVjdHVhdGVfbWluIjoiMS4wMDAwMDAwMCIsImZsdWN0dWF0ZV9tYXgiOiIyLjAwMDAwMDAwIiwicmlza19ncm91cF9yZXN1bHQiOjAsImNyZWF0ZV90aW1lIjoiMjAyMS0xMi0yMSAwNjoyNzowNiIsImxlZ2FsX25hbWUiOiJVU0RUIiwiY3VycmVuY3lfbmFtZSI6IllNVCIsIm1hcmtldF9mcm9tX25hbWUiOiJcdTY1ZTAiLCJjaGFuZ2UiOiItMi40MSIsInZvbHVtZSI6Ijk0Mi43OTAxMyIsIm5vd19wcmljZSI6IjEuMDUwMTEiLCJybWJfcmVsYXRpb24iOiI2LjQiLCJsb2dvIjoiaHR0cHM6XC9cL3d3dy5oY2dsb2JhbC50b3BcL3VwbG9hZFwvMjAxOTA5MTBcL3BocEJJZlJIaCIsImNhdGVnb3J5X3RleHQiOiJcdTRlM2JcdTZkNDFcdTUzM2EiLCJjb250ZW50IjoiIiwiaXNzdWVfbnVtIjoiIiwic2VsbF9zdGF0dXMiOjF9LHsiaWQiOjEwLCJsZWdhbF9pZCI6MywiY3VycmVuY3lfaWQiOjEwLCJpc19kaXNwbGF5IjoxLCJtYXJrZXRfZnJvbSI6MiwiY2F0ZWdvcnkiOjEsIm1pbiI6IjAuMDAwMDAwMDAiLCJvcGVuX3RyYW5zYWN0aW9uIjowLCJvcGVuX2xldmVyIjowLCJvcGVuX21pY3JvdHJhZGUiOjAsIm9wZW5fY29pbl90cmFkZSI6MCwiY29pbl90cmFkZV9zdWNjZXNzIjoxLCJzb3J0IjowLCJtaWNyb190cmFkZV9mZWUiOiIwLjAwIiwibGV2ZXJfc2hhcmVfbnVtIjoiMC41MDAwMDAwMCIsInNwcmVhZCI6IjAuNTAwMCIsIm92ZXJuaWdodCI6IjAuMDAwMCIsImxldmVyX3RyYWRlX2ZlZSI6IjAuMjAwMCIsImxldmVyX21pbl9zaGFyZSI6MSwibGV2ZXJfbWF4X3NoYXJlIjoxMDAwLCJmbHVjdHVhdGVfbWluIjoiMTAuMDAxMDAwMDAiLCJmbHVjdHVhdGVfbWF4IjoiMzUuMDA5MDAwMDAiLCJyaXNrX2dyb3VwX3Jlc3VsdCI6LTEsImNyZWF0ZV90aW1lIjoiMjAyMC0wNC0yOSAxMTowNDo1OSIsImxlZ2FsX25hbWUiOiJVU0RUIiwiY3VycmVuY3lfbmFtZSI6IkJDSCIsIm1hcmtldF9mcm9tX25hbWUiOiJcdTcwNmJcdTVlMDFcdTYzYTVcdTUzZTMiLCJjaGFuZ2UiOiIrMi40MiIsInZvbHVtZSI6IjM0OTAuMTQyNDciLCJub3dfcHJpY2UiOiIyMTcuNTQwMDAiLCJybWJfcmVsYXRpb24iOiI2LjQiLCJsb2dvIjoiaHR0cHM6XC9cL3d3dy5oY2dsb2JhbC50b3BcL3VwbG9hZFwvMTYwMzEyNDA1MjI4NzIzMi5wbmciLCJjYXRlZ29yeV90ZXh0IjoiXHU0ZTNiXHU2ZDQxXHU1MzNhIiwiY29udGVudCI6IiIsImlzc3VlX251bSI6IjAiLCJzZWxsX3N0YXR1cyI6MX0seyJpZCI6MTEsImxlZ2FsX2lkIjozLCJjdXJyZW5jeV9pZCI6MTEsImlzX2Rpc3BsYXkiOjEsIm1hcmtldF9mcm9tIjoyLCJjYXRlZ29yeSI6MSwibWluIjoiMC4wMDAwMDAwMCIsIm9wZW5fdHJhbnNhY3Rpb24iOjAsIm9wZW5fbGV2ZXIiOjAsIm9wZW5fbWljcm90cmFkZSI6MCwib3Blbl9jb2luX3RyYWRlIjowLCJjb2luX3RyYWRlX3N1Y2Nlc3MiOjEsInNvcnQiOjAsIm1pY3JvX3RyYWRlX2ZlZSI6IjAuMDAiLCJsZXZlcl9zaGFyZV9udW0iOiIxMC4wMDAwMDAwMCIsInNwcmVhZCI6IjAuMTAwMCIsIm92ZXJuaWdodCI6IjAuMDAwMCIsImxldmVyX3RyYWRlX2ZlZSI6IjAuMjAwMCIsImxldmVyX21pbl9zaGFyZSI6MSwibGV2ZXJfbWF4X3NoYXJlIjoxNTAwLCJmbHVjdHVhdGVfbWluIjoiMC4wMDEwMDAwMCIsImZsdWN0dWF0ZV9tYXgiOiIwLjAwOTAwMDAwIiwicmlza19ncm91cF9yZXN1bHQiOi0xLCJjcmVhdGVfdGltZSI6IjIwMjAtMDYtMjIgMDM6MzA6NTMiLCJsZWdhbF9uYW1lIjoiVVNEVCIsImN1cnJlbmN5X25hbWUiOiJFVEMiLCJtYXJrZXRfZnJvbV9uYW1lIjoiXHU3MDZiXHU1ZTAxXHU2M2E1XHU1M2UzIiwiY2hhbmdlIjoiKzEuNTAiLCJ2b2x1bWUiOiIxMDI1NDUuOTE3MjUiLCJub3dfcHJpY2UiOiI3LjAzMjAwIiwicm1iX3JlbGF0aW9uIjoiNi40IiwibG9nbyI6Imh0dHBzOlwvXC93d3cuaGNnbG9iYWwudG9wXC91cGxvYWRcLzE2MDMxMjQzMTUxODA5MTgucG5nIiwiY2F0ZWdvcnlfdGV4dCI6Ilx1NGUzYlx1NmQ0MVx1NTMzYSIsImNvbnRlbnQiOiIiLCJpc3N1ZV9udW0iOiIiLCJzZWxsX3N0YXR1cyI6MX0seyJpZCI6MTMsImxlZ2FsX2lkIjozLCJjdXJyZW5jeV9pZCI6MTMsImlzX2Rpc3BsYXkiOjEsIm1hcmtldF9mcm9tIjoyLCJjYXRlZ29yeSI6MSwibWluIjoiMC4wMDAwMDAwMCIsIm9wZW5fdHJhbnNhY3Rpb24iOjAsIm9wZW5fbGV2ZXIiOjAsIm9wZW5fbWljcm90cmFkZSI6MCwib3Blbl9jb2luX3RyYWRlIjowLCJjb2luX3RyYWRlX3N1Y2Nlc3MiOjEsInNvcnQiOjAsIm1pY3JvX3RyYWRlX2ZlZSI6IjAuMDAiLCJsZXZlcl9zaGFyZV9udW0iOiIxMC4wMDAwMDAwMCIsInNwcmVhZCI6IjEuMjMwMCIsIm92ZXJuaWdodCI6IjAuMDAxMCIsImxldmVyX3RyYWRlX2ZlZSI6IjAuMTUwMCIsImxldmVyX21pbl9zaGFyZSI6MSwibGV2ZXJfbWF4X3NoYXJlIjoxMDAwMDAwMCwiZmx1Y3R1YXRlX21pbiI6IjAuNzAwMDAwMDAiLCJmbHVjdHVhdGVfbWF4IjoiMC45ODAwMDAwMCIsInJpc2tfZ3JvdXBfcmVzdWx0IjowLCJjcmVhdGVfdGltZSI6IjIwMjAtMDctMDYgMTM6Mzc6NDYiLCJsZWdhbF9uYW1lIjoiVVNEVCIsImN1cnJlbmN5X25hbWUiOiJIVCIsIm1hcmtldF9mcm9tX25hbWUiOiJcdTcwNmJcdTVlMDFcdTYzYTVcdTUzZTMiLCJjaGFuZ2UiOiIwLjAwIiwidm9sdW1lIjoiMTQzNTAuMjA4OTMiLCJub3dfcHJpY2UiOiIyLjQyMzAwIiwicm1iX3JlbGF0aW9uIjoiNi40IiwibG9nbyI6Imh0dHBzOlwvXC93d3cuaGNnbG9iYWwudG9wXC91cGxvYWRcLzE2MDMxMjQwODY4ODg1MTYucG5nIiwiY2F0ZWdvcnlfdGV4dCI6Ilx1NGUzYlx1NmQ0MVx1NTMzYSIsImNvbnRlbnQiOiIiLCJpc3N1ZV9udW0iOiIwIiwic2VsbF9zdGF0dXMiOjF9LHsiaWQiOjE0LCJsZWdhbF9pZCI6MywiY3VycmVuY3lfaWQiOjE0LCJpc19kaXNwbGF5IjowLCJtYXJrZXRfZnJvbSI6MiwiY2F0ZWdvcnkiOjIsIm1pbiI6IjAuMDAwMDAwMDAiLCJvcGVuX3RyYW5zYWN0aW9uIjowLCJvcGVuX2xldmVyIjowLCJvcGVuX21pY3JvdHJhZGUiOjAsIm9wZW5fY29pbl90cmFkZSI6MCwiY29pbl90cmFkZV9zdWNjZXNzIjoxLCJzb3J0IjowLCJtaWNyb190cmFkZV9mZWUiOiIwLjAwIiwibGV2ZXJfc2hhcmVfbnVtIjoiNTAuMDAwMDAwMDAiLCJzcHJlYWQiOiIwLjgzMDAiLCJvdmVybmlnaHQiOiIwLjAwMTAiLCJsZXZlcl90cmFkZV9mZWUiOiIwLjA5NjAiLCJsZXZlcl9taW5fc2hhcmUiOjEsImxldmVyX21heF9zaGFyZSI6MTAwMDAwMCwiZmx1Y3R1YXRlX21pbiI6IjAuMDc4MDAwMDAiLCJmbHVjdHVhdGVfbWF4IjoiMC4wOTAwMDAwMCIsInJpc2tfZ3JvdXBfcmVzdWx0IjowLCJjcmVhdGVfdGltZSI6IjIwMjEtMDktMDYgMTU6MDA6NDUiLCJsZWdhbF9uYW1lIjoiVVNEVCIsImN1cnJlbmN5X25hbWUiOiJRVFVNIiwibWFya2V0X2Zyb21fbmFtZSI6Ilx1NzA2Ylx1NWUwMVx1NjNhNVx1NTNlMyIsImNoYW5nZSI6IisxLjE0Iiwidm9sdW1lIjoiMTA0NTcwMS41NTA1MCIsIm5vd19wcmljZSI6IjAuNjg1MDAiLCJybWJfcmVsYXRpb24iOiI2LjQiLCJsb2dvIjoiaHR0cHM6XC9cL3d3dy5oY2dsb2JhbC50b3BcL3VwbG9hZFwvMTYwMzEyNDEyNTQ1ODE0My5wbmciLCJjYXRlZ29yeV90ZXh0IjoiXHU1MjFiXHU2NWIwXHU1MzNhIiwiY29udGVudCI6IiIsImlzc3VlX251bSI6IiIsInNlbGxfc3RhdHVzIjoxfSx7ImlkIjoxNiwibGVnYWxfaWQiOjMsImN1cnJlbmN5X2lkIjoxNSwiaXNfZGlzcGxheSI6MSwibWFya2V0X2Zyb20iOjIsImNhdGVnb3J5IjoxLCJtaW4iOiIwLjAwMDAwMDAwIiwib3Blbl90cmFuc2FjdGlvbiI6MCwib3Blbl9sZXZlciI6MCwib3Blbl9taWNyb3RyYWRlIjowLCJvcGVuX2NvaW5fdHJhZGUiOjAsImNvaW5fdHJhZGVfc3VjY2VzcyI6MSwic29ydCI6MCwibWljcm9fdHJhZGVfZmVlIjoiMC4wMCIsImxldmVyX3NoYXJlX251bSI6IjEuMDAwMDAwMDAiLCJzcHJlYWQiOiIwLjIzMDAiLCJvdmVybmlnaHQiOiIwLjAwMTAiLCJsZXZlcl90cmFkZV9mZWUiOiIwLjA4MDAiLCJsZXZlcl9taW5fc2hhcmUiOjEsImxldmVyX21heF9zaGFyZSI6MTAwLCJmbHVjdHVhdGVfbWluIjoiMS4wMDAwMDAwMCIsImZsdWN0dWF0ZV9tYXgiOiIwLjAwMDAwMDAwIiwicmlza19ncm91cF9yZXN1bHQiOjAsImNyZWF0ZV90aW1lIjoiMjAyMS0wOS0wNiAxNToyMDowNyIsImxlZ2FsX25hbWUiOiJVU0RUIiwiY3VycmVuY3lfbmFtZSI6IklPVEEiLCJtYXJrZXRfZnJvbV9uYW1lIjoiXHU3MDZiXHU1ZTAxXHU2M2E1XHU1M2UzIiwiY2hhbmdlIjoiLTAuMjkiLCJ2b2x1bWUiOiIzNTk2OTg3LjIzMzcwIiwibm93X3ByaWNlIjoiMC4wMzQ4MCIsInJtYl9yZWxhdGlvbiI6IjYuNCIsImxvZ28iOiJodHRwczpcL1wvd3d3LmhjZ2xvYmFsLnRvcFwvdXBsb2FkXC8xNjAzMTI0MTQxMjY5MzgxLnBuZyIsImNhdGVnb3J5X3RleHQiOiJcdTRlM2JcdTZkNDFcdTUzM2EiLCJjb250ZW50IjoiIiwiaXNzdWVfbnVtIjoiIiwic2VsbF9zdGF0dXMiOjF9LHsiaWQiOjE3LCJsZWdhbF9pZCI6MywiY3VycmVuY3lfaWQiOjE2LCJpc19kaXNwbGF5IjoxLCJtYXJrZXRfZnJvbSI6MiwiY2F0ZWdvcnkiOjEsIm1pbiI6IjAuMDAwMDAwMDAiLCJvcGVuX3RyYW5zYWN0aW9uIjowLCJvcGVuX2xldmVyIjowLCJvcGVuX21pY3JvdHJhZGUiOjAsIm9wZW5fY29pbl90cmFkZSI6MCwiY29pbl90cmFkZV9zdWNjZXNzIjoxLCJzb3J0IjowLCJtaWNyb190cmFkZV9mZWUiOiIwLjAwIiwibGV2ZXJfc2hhcmVfbnVtIjoiMS4wMDAwMDAwMCIsInNwcmVhZCI6IjAuMjMwMCIsIm92ZXJuaWdodCI6IjAuMDAwMCIsImxldmVyX3RyYWRlX2ZlZSI6IjAuMDAwMCIsImxldmVyX21pbl9zaGFyZSI6MSwibGV2ZXJfbWF4X3NoYXJlIjoxMDAsImZsdWN0dWF0ZV9taW4iOiIxMC4wMDAwMDAwMCIsImZsdWN0dWF0ZV9tYXgiOiIzMC4wMDAwMDAwMCIsInJpc2tfZ3JvdXBfcmVzdWx0IjowLCJjcmVhdGVfdGltZSI6IjIwMjItMDQtMTIgMjM6NDQ6NTMiLCJsZWdhbF9uYW1lIjoiVVNEVCIsImN1cnJlbmN5X25hbWUiOiJORU8iLCJtYXJrZXRfZnJvbV9uYW1lIjoiXHU3MDZiXHU1ZTAxXHU2M2E1XHU1M2UzIiwiY2hhbmdlIjoiLTAuNTEiLCJ2b2x1bWUiOiI5OTEzMC44MDk4MCIsIm5vd19wcmljZSI6IjEuOTcwMDAiLCJybWJfcmVsYXRpb24iOiI2LjQiLCJsb2dvIjoiaHR0cHM6XC9cL3d3dy5oY2dsb2JhbC50b3BcL3VwbG9hZFwvMTYwMzEyNDE2MTkwNTYzLnBuZyIsImNhdGVnb3J5X3RleHQiOiJcdTRlM2JcdTZkNDFcdTUzM2EiLCJjb250ZW50IjoiIiwiaXNzdWVfbnVtIjoiMCIsInNlbGxfc3RhdHVzIjoxfSx7ImlkIjoxOSwibGVnYWxfaWQiOjMsImN1cnJlbmN5X2lkIjoxOSwiaXNfZGlzcGxheSI6MSwibWFya2V0X2Zyb20iOjIsImNhdGVnb3J5IjoxLCJtaW4iOiIwLjAwMDAwMDAwIiwib3Blbl90cmFuc2FjdGlvbiI6MCwib3Blbl9sZXZlciI6MCwib3Blbl9taWNyb3RyYWRlIjowLCJvcGVuX2NvaW5fdHJhZGUiOjAsImNvaW5fdHJhZGVfc3VjY2VzcyI6MSwic29ydCI6MCwibWljcm9fdHJhZGVfZmVlIjoiMC4wMCIsImxldmVyX3NoYXJlX251bSI6IjEuMDAwMDAwMDAiLCJzcHJlYWQiOiIwLjAwMDAiLCJvdmVybmlnaHQiOiIwLjAwMDAiLCJsZXZlcl90cmFkZV9mZWUiOiIwLjAwMDAiLCJsZXZlcl9taW5fc2hhcmUiOjEsImxldmVyX21heF9zaGFyZSI6MCwiZmx1Y3R1YXRlX21pbiI6IjEuMDAwMDAwMDAiLCJmbHVjdHVhdGVfbWF4IjoiMC4wMDAwMDAwMCIsInJpc2tfZ3JvdXBfcmVzdWx0IjotMSwiY3JlYXRlX3RpbWUiOiIyMDIwLTA3LTA2IDEzOjI5OjAzIiwibGVnYWxfbmFtZSI6IlVTRFQiLCJjdXJyZW5jeV9uYW1lIjoiTkFTIiwibWFya2V0X2Zyb21fbmFtZSI6Ilx1NzA2Ylx1NWUwMVx1NjNhNVx1NTNlMyIsImNoYW5nZSI6Ii0yLjAyIiwidm9sdW1lIjoiMTA1NjEuMjU2MjAiLCJub3dfcHJpY2UiOiIwLjAzODgwIiwicm1iX3JlbGF0aW9uIjoiNi40IiwibG9nbyI6Imh0dHBzOlwvXC93d3cuaGNnbG9iYWwudG9wXC91cGxvYWRcLzE2MDMxMjQxODgzNzc5ODEucG5nIiwiY2F0ZWdvcnlfdGV4dCI6Ilx1NGUzYlx1NmQ0MVx1NTMzYSIsImNvbnRlbnQiOiIiLCJpc3N1ZV9udW0iOiIiLCJzZWxsX3N0YXR1cyI6MX0seyJpZCI6MjEsImxlZ2FsX2lkIjozLCJjdXJyZW5jeV9pZCI6MjEsImlzX2Rpc3BsYXkiOjEsIm1hcmtldF9mcm9tIjoyLCJjYXRlZ29yeSI6MSwibWluIjoiMC4wMDAwMDAwMCIsIm9wZW5fdHJhbnNhY3Rpb24iOjAsIm9wZW5fbGV2ZXIiOjAsIm9wZW5fbWljcm90cmFkZSI6MCwib3Blbl9jb2luX3RyYWRlIjowLCJjb2luX3RyYWRlX3N1Y2Nlc3MiOjEsInNvcnQiOjAsIm1pY3JvX3RyYWRlX2ZlZSI6IjAuMDAiLCJsZXZlcl9zaGFyZV9udW0iOiIxLjAwMDAwMDAwIiwic3ByZWFkIjoiMC4wMDAwIiwib3Zlcm5pZ2h0IjoiMC4wMDAwIiwibGV2ZXJfdHJhZGVfZmVlIjoiMC4wMDAwIiwibGV2ZXJfbWluX3NoYXJlIjoxLCJsZXZlcl9tYXhfc2hhcmUiOjAsImZsdWN0dWF0ZV9taW4iOiIxLjAwMDAwMDAwIiwiZmx1Y3R1YXRlX21heCI6IjAuMDAwMDAwMDAiLCJyaXNrX2dyb3VwX3Jlc3VsdCI6MCwiY3JlYXRlX3RpbWUiOiIyMDIwLTA3LTA2IDEzOjI3OjQwIiwibGVnYWxfbmFtZSI6IlVTRFQiLCJjdXJyZW5jeV9uYW1lIjoiRUxBIiwibWFya2V0X2Zyb21fbmFtZSI6Ilx1NzA2Ylx1NWUwMVx1NjNhNVx1NTNlMyIsImNoYW5nZSI6Ii0wLjE2Iiwidm9sdW1lIjoiMTAwNzY3Ljg4MDAwIiwibm93X3ByaWNlIjoiMC4yNTI1MCIsInJtYl9yZWxhdGlvbiI6IjYuNCIsImxvZ28iOiJodHRwczpcL1wvd3d3LmhjZ2xvYmFsLnRvcFwvdXBsb2FkXC8xNjAzMTI0MjAzODc4NDc1LnBuZyIsImNhdGVnb3J5X3RleHQiOiJcdTRlM2JcdTZkNDFcdTUzM2EiLCJjb250ZW50IjoiIiwiaXNzdWVfbnVtIjoiIiwic2VsbF9zdGF0dXMiOjF9LHsiaWQiOjIzLCJsZWdhbF9pZCI6MywiY3VycmVuY3lfaWQiOjIzLCJpc19kaXNwbGF5IjoxLCJtYXJrZXRfZnJvbSI6MiwiY2F0ZWdvcnkiOjEsIm1pbiI6IjAuMDAwMDAwMDAiLCJvcGVuX3RyYW5zYWN0aW9uIjowLCJvcGVuX2xldmVyIjowLCJvcGVuX21pY3JvdHJhZGUiOjAsIm9wZW5fY29pbl90cmFkZSI6MCwiY29pbl90cmFkZV9zdWNjZXNzIjoxLCJzb3J0IjowLCJtaWNyb190cmFkZV9mZWUiOiIwLjAwIiwibGV2ZXJfc2hhcmVfbnVtIjoiMS4wMDAwMDAwMCIsInNwcmVhZCI6IjAuMDAwMCIsIm92ZXJuaWdodCI6IjAuMDAwMCIsImxldmVyX3RyYWRlX2ZlZSI6IjAuMDAwMCIsImxldmVyX21pbl9zaGFyZSI6MSwibGV2ZXJfbWF4X3NoYXJlIjoxMCwiZmx1Y3R1YXRlX21pbiI6IjEuMDAwMDAwMDAiLCJmbHVjdHVhdGVfbWF4IjoiMC4wMDAwMDAwMCIsInJpc2tfZ3JvdXBfcmVzdWx0IjowLCJjcmVhdGVfdGltZSI6IjIwMjAtMDctMDYgMTM6Mjg6MDQiLCJsZWdhbF9uYW1lIjoiVVNEVCIsImN1cnJlbmN5X25hbWUiOiJTTlQiLCJtYXJrZXRfZnJvbV9uYW1lIjoiXHU3MDZiXHU1ZTAxXHU2M2E1XHU1M2UzIiwiY2hhbmdlIjoiLTAuNDkiLCJ2b2x1bWUiOiIxMjMzMjQyNDkuMjk2MTAiLCJub3dfcHJpY2UiOiIwLjAwNzA1Iiwicm1iX3JlbGF0aW9uIjoiNi40IiwibG9nbyI6Imh0dHBzOlwvXC93d3cuaGNnbG9iYWwudG9wXC91cGxvYWRcLzE2MDMxMjQyMzk0MjkwNzYucG5nIiwiY2F0ZWdvcnlfdGV4dCI6Ilx1NGUzYlx1NmQ0MVx1NTMzYSIsImNvbnRlbnQiOiIiLCJpc3N1ZV9udW0iOiIwIiwic2VsbF9zdGF0dXMiOjF9LHsiaWQiOjI0LCJsZWdhbF9pZCI6MywiY3VycmVuY3lfaWQiOjI3LCJpc19kaXNwbGF5IjowLCJtYXJrZXRfZnJvbSI6MiwiY2F0ZWdvcnkiOjEsIm1pbiI6IjAuMDAwMDAwMDAiLCJvcGVuX3RyYW5zYWN0aW9uIjowLCJvcGVuX2xldmVyIjowLCJvcGVuX21pY3JvdHJhZGUiOjAsIm9wZW5fY29pbl90cmFkZSI6MCwiY29pbl90cmFkZV9zdWNjZXNzIjoxLCJzb3J0IjowLCJtaWNyb190cmFkZV9mZWUiOiIwLjAwIiwibGV2ZXJfc2hhcmVfbnVtIjoiMS4wMDAwMDAwMCIsInNwcmVhZCI6IjAuMDAwMCIsIm92ZXJuaWdodCI6IjAuMDAwMCIsImxldmVyX3RyYWRlX2ZlZSI6IjAuMDAwMCIsImxldmVyX21pbl9zaGFyZSI6MSwibGV2ZXJfbWF4X3NoYXJlIjowLCJmbHVjdHVhdGVfbWluIjoiMS4wMDAwMDAwMCIsImZsdWN0dWF0ZV9tYXgiOiIwLjAwMDAwMDAwIiwicmlza19ncm91cF9yZXN1bHQiOi0xLCJjcmVhdGVfdGltZSI6IjIwMjEtMDktMDYgMTU6MTA6MTUiLCJsZWdhbF9uYW1lIjoiVVNEVCIsImN1cnJlbmN5X25hbWUiOiJXSUNDIiwibWFya2V0X2Zyb21fbmFtZSI6Ilx1NzA2Ylx1NWUwMVx1NjNhNVx1NTNlMyIsImNoYW5nZSI6IjAuMDAiLCJ2b2x1bWUiOiIwLjAwMDAwIiwibm93X3ByaWNlIjoiMC4wMDM4NCIsInJtYl9yZWxhdGlvbiI6IjYuNCIsImxvZ28iOiJodHRwczpcL1wvd3d3LmhjZ2xvYmFsLnRvcFwvdXBsb2FkXC8xNjAzMTI0MjU2NzI2NTgucG5nIiwiY2F0ZWdvcnlfdGV4dCI6Ilx1NGUzYlx1NmQ0MVx1NTMzYSIsImNvbnRlbnQiOiIiLCJpc3N1ZV9udW0iOiIiLCJzZWxsX3N0YXR1cyI6MX0seyJpZCI6MjUsImxlZ2FsX2lkIjozLCJjdXJyZW5jeV9pZCI6MjgsImlzX2Rpc3BsYXkiOjAsIm1hcmtldF9mcm9tIjowLCJjYXRlZ29yeSI6MSwibWluIjoiMC4wMDAwMDAwMCIsIm9wZW5fdHJhbnNhY3Rpb24iOjAsIm9wZW5fbGV2ZXIiOjAsIm9wZW5fbWljcm90cmFkZSI6MCwib3Blbl9jb2luX3RyYWRlIjowLCJjb2luX3RyYWRlX3N1Y2Nlc3MiOjAsInNvcnQiOjAsIm1pY3JvX3RyYWRlX2ZlZSI6IjAuMDAiLCJsZXZlcl9zaGFyZV9udW0iOiIxLjAwMDAwMDAwIiwic3ByZWFkIjoiMC4wMDAwIiwib3Zlcm5pZ2h0IjoiMC4wMDAwIiwibGV2ZXJfdHJhZGVfZmVlIjoiMC4wMDAwIiwibGV2ZXJfbWluX3NoYXJlIjoxLCJsZXZlcl9tYXhfc2hhcmUiOjAsImZsdWN0dWF0ZV9taW4iOiIxLjAwMDAwMDAwIiwiZmx1Y3R1YXRlX21heCI6IjMuMDAwMDAwMDAiLCJyaXNrX2dyb3VwX3Jlc3VsdCI6MCwiY3JlYXRlX3RpbWUiOiIyMDIxLTEyLTIxIDA2OjIyOjQ3IiwibGVnYWxfbmFtZSI6IlVTRFQiLCJjdXJyZW5jeV9uYW1lIjoiVU5DIiwibWFya2V0X2Zyb21fbmFtZSI6Ilx1NjVlMCIsImNoYW5nZSI6IiswLjEwIiwidm9sdW1lIjoiMjYxOC44NjE0OSIsIm5vd19wcmljZSI6IjIuNDQ5NzEiLCJybWJfcmVsYXRpb24iOiI2LjQiLCJsb2dvIjoiaHR0cHM6XC9cL3d3dy5oY2dsb2JhbC50b3BcL3VwbG9hZFwvMTU5NzQ4MjgyMDE0MjAzOS5wbmciLCJjYXRlZ29yeV90ZXh0IjoiXHU0ZTNiXHU2ZDQxXHU1MzNhIiwiY29udGVudCI6IiIsImlzc3VlX251bSI6IiIsInNlbGxfc3RhdHVzIjoxfSx7ImlkIjoyNywibGVnYWxfaWQiOjMsImN1cnJlbmN5X2lkIjoyOSwiaXNfZGlzcGxheSI6MCwibWFya2V0X2Zyb20iOjAsImNhdGVnb3J5IjoyLCJtaW4iOiIwLjAwMDAwMDAwIiwib3Blbl90cmFuc2FjdGlvbiI6MCwib3Blbl9sZXZlciI6MCwib3Blbl9taWNyb3RyYWRlIjowLCJvcGVuX2NvaW5fdHJhZGUiOjAsImNvaW5fdHJhZGVfc3VjY2VzcyI6MCwic29ydCI6MCwibWljcm9fdHJhZGVfZmVlIjoiMC4wMCIsImxldmVyX3NoYXJlX251bSI6IjEuMDAwMDAwMDAiLCJzcHJlYWQiOiIwLjAwMDAiLCJvdmVybmlnaHQiOiIwLjAwMDAiLCJsZXZlcl90cmFkZV9mZWUiOiIwLjAwMDAiLCJsZXZlcl9taW5fc2hhcmUiOjEsImxldmVyX21heF9zaGFyZSI6MCwiZmx1Y3R1YXRlX21pbiI6IjEuMzgwMDAwMDAiLCJmbHVjdHVhdGVfbWF4IjoiMS40NTAwMDAwMCIsInJpc2tfZ3JvdXBfcmVzdWx0IjowLCJjcmVhdGVfdGltZSI6IjIwMjAtMTAtMDkgMDQ6MTI6MzAiLCJsZWdhbF9uYW1lIjoiVVNEVCIsImN1cnJlbmN5X25hbWUiOiJBVVRVIiwibWFya2V0X2Zyb21fbmFtZSI6Ilx1NjVlMCIsImNoYW5nZSI6IiswLjI3Iiwidm9sdW1lIjoiMjgyOC4zNzA0MCIsIm5vd19wcmljZSI6IjEuMzk0NjYiLCJybWJfcmVsYXRpb24iOiI2LjQiLCJsb2dvIjoiIiwiY2F0ZWdvcnlfdGV4dCI6Ilx1NTIxYlx1NjViMFx1NTMzYSIsImNvbnRlbnQiOiIiLCJpc3N1ZV9udW0iOiIiLCJzZWxsX3N0YXR1cyI6MX0seyJpZCI6MjgsImxlZ2FsX2lkIjozLCJjdXJyZW5jeV9pZCI6MzAsImlzX2Rpc3BsYXkiOjAsIm1hcmtldF9mcm9tIjowLCJjYXRlZ29yeSI6MywibWluIjoiMC4wMDAwMDAwMCIsIm9wZW5fdHJhbnNhY3Rpb24iOjAsIm9wZW5fbGV2ZXIiOjAsIm9wZW5fbWljcm90cmFkZSI6MCwib3Blbl9jb2luX3RyYWRlIjowLCJjb2luX3RyYWRlX3N1Y2Nlc3MiOjAsInNvcnQiOjAsIm1pY3JvX3RyYWRlX2ZlZSI6IjAuMDAiLCJsZXZlcl9zaGFyZV9udW0iOiIxLjAwMDAwMDAwIiwic3ByZWFkIjoiMC4wMDAwIiwib3Zlcm5pZ2h0IjoiMC4wMDAwIiwibGV2ZXJfdHJhZGVfZmVlIjoiMC4wMDAwIiwibGV2ZXJfbWluX3NoYXJlIjoxLCJsZXZlcl9tYXhfc2hhcmUiOjAsImZsdWN0dWF0ZV9taW4iOiIwLjAzMDAwMDAwIiwiZmx1Y3R1YXRlX21heCI6IjAuMDkwMDAwMDAiLCJyaXNrX2dyb3VwX3Jlc3VsdCI6MCwiY3JlYXRlX3RpbWUiOiIyMDIxLTEyLTIxIDA2OjI3OjUxIiwibGVnYWxfbmFtZSI6IlVTRFQiLCJjdXJyZW5jeV9uYW1lIjoiVE9OIiwibWFya2V0X2Zyb21fbmFtZSI6Ilx1NjVlMCIsImNoYW5nZSI6Ii0wLjI5Iiwidm9sdW1lIjoiMjkzMy4xMjQ4NiIsIm5vd19wcmljZSI6IjAuMDM4NjUiLCJybWJfcmVsYXRpb24iOiI2LjQiLCJsb2dvIjoiIiwiY2F0ZWdvcnlfdGV4dCI6Ilx1NjcyYVx1NzdlNVx1NTMzYSIsImNvbnRlbnQiOiIiLCJpc3N1ZV9udW0iOiIiLCJzZWxsX3N0YXR1cyI6MX0seyJpZCI6MjksImxlZ2FsX2lkIjozLCJjdXJyZW5jeV9pZCI6MzEsImlzX2Rpc3BsYXkiOjAsIm1hcmtldF9mcm9tIjowLCJjYXRlZ29yeSI6MSwibWluIjoiMC4wMDAwMDAwMCIsIm9wZW5fdHJhbnNhY3Rpb24iOjAsIm9wZW5fbGV2ZXIiOjAsIm9wZW5fbWljcm90cmFkZSI6MCwib3Blbl9jb2luX3RyYWRlIjowLCJjb2luX3RyYWRlX3N1Y2Nlc3MiOjEsInNvcnQiOjAsIm1pY3JvX3RyYWRlX2ZlZSI6IjAuMDAiLCJsZXZlcl9zaGFyZV9udW0iOiIxLjAwMDAwMDAwIiwic3ByZWFkIjoiMC4wMDAwIiwib3Zlcm5pZ2h0IjoiMC4wMDAwIiwibGV2ZXJfdHJhZGVfZmVlIjoiMC4xMDAwIiwibGV2ZXJfbWluX3NoYXJlIjoxLCJsZXZlcl9tYXhfc2hhcmUiOjIwMDAsImZsdWN0dWF0ZV9taW4iOiIyLjU2MDAwMDAwIiwiZmx1Y3R1YXRlX21heCI6IjMuNjgwMTAwMDAiLCJyaXNrX2dyb3VwX3Jlc3VsdCI6MCwiY3JlYXRlX3RpbWUiOiIyMDIxLTA5LTA2IDE1OjE1OjQ3IiwibGVnYWxfbmFtZSI6IlVTRFQiLCJjdXJyZW5jeV9uYW1lIjoiR1JUQyIsIm1hcmtldF9mcm9tX25hbWUiOiJcdTY1ZTAiLCJjaGFuZ2UiOiItMC40NyIsInZvbHVtZSI6IjMwMzcuODc5MzIiLCJub3dfcHJpY2UiOiIyLjYwOTEyIiwicm1iX3JlbGF0aW9uIjoiNi40IiwibG9nbyI6Imh0dHBzOlwvXC93d3cuaGNnbG9iYWwudG9wXC91cGxvYWRcLzE2MDIxNzUzNDM5NDgyMjUuanBnIiwiY2F0ZWdvcnlfdGV4dCI6Ilx1NGUzYlx1NmQ0MVx1NTMzYSIsImNvbnRlbnQiOiIiLCJpc3N1ZV9udW0iOiIwIiwic2VsbF9zdGF0dXMiOjB9LHsiaWQiOjMwLCJsZWdhbF9pZCI6MywiY3VycmVuY3lfaWQiOjMyLCJpc19kaXNwbGF5IjoxLCJtYXJrZXRfZnJvbSI6MiwiY2F0ZWdvcnkiOjEsIm1pbiI6IjAuMDAwMDAwMDAiLCJvcGVuX3RyYW5zYWN0aW9uIjowLCJvcGVuX2xldmVyIjowLCJvcGVuX21pY3JvdHJhZGUiOjAsIm9wZW5fY29pbl90cmFkZSI6MCwiY29pbl90cmFkZV9zdWNjZXNzIjoxLCJzb3J0IjowLCJtaWNyb190cmFkZV9mZWUiOiIwLjAwIiwibGV2ZXJfc2hhcmVfbnVtIjoiMTAuMDAwMDAwMDAiLCJzcHJlYWQiOiIwLjUwMDAiLCJvdmVybmlnaHQiOiIwLjAwMDAiLCJsZXZlcl90cmFkZV9mZWUiOiIwLjE4MDAiLCJsZXZlcl9taW5fc2hhcmUiOjEsImxldmVyX21heF9zaGFyZSI6NTAwMCwiZmx1Y3R1YXRlX21pbiI6IjEuMDAwMDAwMDAiLCJmbHVjdHVhdGVfbWF4IjoiMjAwLjAwMDAwMDAwIiwicmlza19ncm91cF9yZXN1bHQiOjAsImNyZWF0ZV90aW1lIjoiMjAyMC0xMC0wOCAwMjoxMzo0MCIsImxlZ2FsX25hbWUiOiJVU0RUIiwiY3VycmVuY3lfbmFtZSI6IlRSWCIsIm1hcmtldF9mcm9tX25hbWUiOiJcdTcwNmJcdTVlMDFcdTYzYTVcdTUzZTMiLCJjaGFuZ2UiOiItMC4yNCIsInZvbHVtZSI6IjMxMzI0MjUuNjE5NjAiLCJub3dfcHJpY2UiOiIwLjMzMTk4Iiwicm1iX3JlbGF0aW9uIjoiNi40IiwibG9nbyI6Imh0dHBzOlwvXC93d3cuaGNnbG9iYWwudG9wXC91cGxvYWRcLzE2MDMxMjQzMzg5MDQ0MDQucG5nIiwiY2F0ZWdvcnlfdGV4dCI6Ilx1NGUzYlx1NmQ0MVx1NTMzYSIsImNvbnRlbnQiOiIiLCJpc3N1ZV9udW0iOiIwIiwic2VsbF9zdGF0dXMiOjF9LHsiaWQiOjMxLCJsZWdhbF9pZCI6MywiY3VycmVuY3lfaWQiOjM0LCJpc19kaXNwbGF5IjowLCJtYXJrZXRfZnJvbSI6MCwiY2F0ZWdvcnkiOjEsIm1pbiI6IjAuMDAwMDAwMDAiLCJvcGVuX3RyYW5zYWN0aW9uIjowLCJvcGVuX2xldmVyIjowLCJvcGVuX21pY3JvdHJhZGUiOjAsIm9wZW5fY29pbl90cmFkZSI6MCwiY29pbl90cmFkZV9zdWNjZXNzIjowLCJzb3J0IjowLCJtaWNyb190cmFkZV9mZWUiOiIwLjAwIiwibGV2ZXJfc2hhcmVfbnVtIjoiMS4wMDAwMDAwMCIsInNwcmVhZCI6IjAuMDAwMCIsIm92ZXJuaWdodCI6IjAuMDAwMCIsImxldmVyX3RyYWRlX2ZlZSI6IjAuMDAwMCIsImxldmVyX21pbl9zaGFyZSI6MSwibGV2ZXJfbWF4X3NoYXJlIjowLCJmbHVjdHVhdGVfbWluIjoiMS4wMDAwMDAwMCIsImZsdWN0dWF0ZV9tYXgiOiI1LjAwMDAwMDAwIiwicmlza19ncm91cF9yZXN1bHQiOjAsImNyZWF0ZV90aW1lIjoiMjAyMS0xMi0yMSAwNjoyODoxOSIsImxlZ2FsX25hbWUiOiJVU0RUIiwiY3VycmVuY3lfbmFtZSI6IkhBU0giLCJtYXJrZXRfZnJvbV9uYW1lIjoiXHU2NWUwIiwiY2hhbmdlIjoiKzEuODEiLCJ2b2x1bWUiOiIzMjQ3LjM4ODI0Iiwibm93X3ByaWNlIjoiMS40NTE4OCIsInJtYl9yZWxhdGlvbiI6IjYuNCIsImxvZ28iOiJodHRwczpcL1wvd3d3LmhjZ2xvYmFsLnRvcFwvdXBsb2FkXC8xNjE0ODU0NTQzNjExNzgzLnBuZyIsImNhdGVnb3J5X3RleHQiOiJcdTRlM2JcdTZkNDFcdTUzM2EiLCJjb250ZW50IjoidGVzdCIsImlzc3VlX251bSI6IjEwMDAwMDAwIiwic2VsbF9zdGF0dXMiOjF9LHsiaWQiOjM1LCJsZWdhbF9pZCI6MywiY3VycmVuY3lfaWQiOjM2LCJpc19kaXNwbGF5IjowLCJtYXJrZXRfZnJvbSI6MCwiY2F0ZWdvcnkiOjEsIm1pbiI6IjAuMDAwMDAwMDAiLCJvcGVuX3RyYW5zYWN0aW9uIjowLCJvcGVuX2xldmVyIjowLCJvcGVuX21pY3JvdHJhZGUiOjAsIm9wZW5fY29pbl90cmFkZSI6MCwiY29pbl90cmFkZV9zdWNjZXNzIjoxLCJzb3J0IjowLCJtaWNyb190cmFkZV9mZWUiOiIwLjAwIiwibGV2ZXJfc2hhcmVfbnVtIjoiMTAuMDAwMDAwMDAiLCJzcHJlYWQiOiIwLjAwMDAiLCJvdmVybmlnaHQiOiIwLjAwMDAiLCJsZXZlcl90cmFkZV9mZWUiOiIwLjEwMDAiLCJsZXZlcl9taW5fc2hhcmUiOjEsImxldmVyX21heF9zaGFyZSI6MTAwMDAsImZsdWN0dWF0ZV9taW4iOiIxMi4xNTAwMDAwMCIsImZsdWN0dWF0ZV9tYXgiOiIxMi4yNTAwMDAwMCIsInJpc2tfZ3JvdXBfcmVzdWx0IjowLCJjcmVhdGVfdGltZSI6IjIwMjEtMTAtMjIgMjE6MDg6MTYiLCJsZWdhbF9uYW1lIjoiVVNEVCIsImN1cnJlbmN5X25hbWUiOiJLS0NDIiwibWFya2V0X2Zyb21fbmFtZSI6Ilx1NjVlMCIsImNoYW5nZSI6Ii0wLjQ0Iiwidm9sdW1lIjoiMzY2Ni40MDYwOCIsIm5vd19wcmljZSI6IjEyLjE5NjE3Iiwicm1iX3JlbGF0aW9uIjoiNi40IiwibG9nbyI6Imh0dHBzOlwvXC93d3cuaGNnbG9iYWwudG9wXC91cGxvYWRcLzE2MTQ4NjM2MTMzMDMyMzkucG5nIiwiY2F0ZWdvcnlfdGV4dCI6Ilx1NGUzYlx1NmQ0MVx1NTMzYSIsImNvbnRlbnQiOiIiLCJpc3N1ZV9udW0iOiIwIiwic2VsbF9zdGF0dXMiOjF9LHsiaWQiOjM4LCJsZWdhbF9pZCI6MywiY3VycmVuY3lfaWQiOjM4LCJpc19kaXNwbGF5IjowLCJtYXJrZXRfZnJvbSI6MCwiY2F0ZWdvcnkiOjEsIm1pbiI6IjAuMDAwMDAwMDAiLCJvcGVuX3RyYW5zYWN0aW9uIjowLCJvcGVuX2xldmVyIjowLCJvcGVuX21pY3JvdHJhZGUiOjAsIm9wZW5fY29pbl90cmFkZSI6MCwiY29pbl90cmFkZV9zdWNjZXNzIjoxLCJzb3J0IjowLCJtaWNyb190cmFkZV9mZWUiOiIwLjAwIiwibGV2ZXJfc2hhcmVfbnVtIjoiMS4wMDAwMDAwMCIsInNwcmVhZCI6IjEuMDAwMCIsIm92ZXJuaWdodCI6IjAuMDAwMCIsImxldmVyX3RyYWRlX2ZlZSI6IjAuNTAwMCIsImxldmVyX21pbl9zaGFyZSI6MSwibGV2ZXJfbWF4X3NoYXJlIjoxMDAwLCJmbHVjdHVhdGVfbWluIjoiMTAuMDAwMDAwMDAiLCJmbHVjdHVhdGVfbWF4IjoiMTAwLjAwMDAwMDAwIiwicmlza19ncm91cF9yZXN1bHQiOjAsImNyZWF0ZV90aW1lIjoiMjAyMS0wOS0wNiAxNTowNDoyMCIsImxlZ2FsX25hbWUiOiJVU0RUIiwiY3VycmVuY3lfbmFtZSI6IkdPTEQiLCJtYXJrZXRfZnJvbV9uYW1lIjoiXHU2NWUwIiwiY2hhbmdlIjoiLTAuMjciLCJ2b2x1bWUiOiIzOTgwLjY2OTQ2Iiwibm93X3ByaWNlIjoiMTAuMDQ0MDYiLCJybWJfcmVsYXRpb24iOiI2LjQiLCJsb2dvIjoiaHR0cHM6XC9cL3d3dy5nb2xkLWV4Y2hhbmdlLmNjXC91cGxvYWRcLzE2NDExMzE5MjMxNTMyNjgucG5nIiwiY2F0ZWdvcnlfdGV4dCI6Ilx1NGUzYlx1NmQ0MVx1NTMzYSIsImNvbnRlbnQiOiIiLCJpc3N1ZV9udW0iOiIwIiwic2VsbF9zdGF0dXMiOjF9LHsiaWQiOjM5LCJsZWdhbF9pZCI6MywiY3VycmVuY3lfaWQiOjQwLCJpc19kaXNwbGF5IjoxLCJtYXJrZXRfZnJvbSI6MiwiY2F0ZWdvcnkiOjEsIm1pbiI6IjAuMDAwMDAwMDAiLCJvcGVuX3RyYW5zYWN0aW9uIjowLCJvcGVuX2xldmVyIjowLCJvcGVuX21pY3JvdHJhZGUiOjAsIm9wZW5fY29pbl90cmFkZSI6MCwiY29pbl90cmFkZV9zdWNjZXNzIjoxLCJzb3J0IjowLCJtaWNyb190cmFkZV9mZWUiOiIwLjAwIiwibGV2ZXJfc2hhcmVfbnVtIjoiMS4wMDAwMDAwMCIsInNwcmVhZCI6IjAuMDAwMCIsIm92ZXJuaWdodCI6IjAuMDAwMCIsImxldmVyX3RyYWRlX2ZlZSI6IjAuMDAwMCIsImxldmVyX21pbl9zaGFyZSI6MSwibGV2ZXJfbWF4X3NoYXJlIjowLCJmbHVjdHVhdGVfbWluIjoiMS4wMDAwMDAwMCIsImZsdWN0dWF0ZV9tYXgiOiIwLjAwMDAwMDAwIiwicmlza19ncm91cF9yZXN1bHQiOjAsImNyZWF0ZV90aW1lIjoiMjAyMS0xMC0xMCAxMDo0MDozMiIsImxlZ2FsX25hbWUiOiJVU0RUIiwiY3VycmVuY3lfbmFtZSI6IkRPR0UiLCJtYXJrZXRfZnJvbV9uYW1lIjoiXHU3MDZiXHU1ZTAxXHU2M2E1XHU1M2UzIiwiY2hhbmdlIjoiKzAuMTkiLCJ2b2x1bWUiOiIyOTI4NTY2LjQxODkzIiwibm93X3ByaWNlIjoiMC4wNzMxNyIsInJtYl9yZWxhdGlvbiI6IjYuNCIsImxvZ28iOiIiLCJjYXRlZ29yeV90ZXh0IjoiXHU0ZTNiXHU2ZDQxXHU1MzNhIiwiY29udGVudCI6IiIsImlzc3VlX251bSI6IjAiLCJzZWxsX3N0YXR1cyI6MX0seyJpZCI6NDAsImxlZ2FsX2lkIjozLCJjdXJyZW5jeV9pZCI6NDEsImlzX2Rpc3BsYXkiOjEsIm1hcmtldF9mcm9tIjowLCJjYXRlZ29yeSI6MSwibWluIjoiMC4wMDAwMDAwMCIsIm9wZW5fdHJhbnNhY3Rpb24iOjAsIm9wZW5fbGV2ZXIiOjAsIm9wZW5fbWljcm90cmFkZSI6MCwib3Blbl9jb2luX3RyYWRlIjowLCJjb2luX3RyYWRlX3N1Y2Nlc3MiOjEsInNvcnQiOjAsIm1pY3JvX3RyYWRlX2ZlZSI6IjAuMDAiLCJsZXZlcl9zaGFyZV9udW0iOiIxLjAwMDAwMDAwIiwic3ByZWFkIjoiMS4wMDAwIiwib3Zlcm5pZ2h0IjoiMS4wMDAwIiwibGV2ZXJfdHJhZGVfZmVlIjoiMC4wMDAwIiwibGV2ZXJfbWluX3NoYXJlIjoxLCJsZXZlcl9tYXhfc2hhcmUiOjAsImZsdWN0dWF0ZV9taW4iOiIxLjAwMDAwMDAwIiwiZmx1Y3R1YXRlX21heCI6IjMuMDAwMDAwMDAiLCJyaXNrX2dyb3VwX3Jlc3VsdCI6MCwiY3JlYXRlX3RpbWUiOiIyMDIxLTEwLTI4IDA5OjQ2OjM3IiwibGVnYWxfbmFtZSI6IlVTRFQiLCJjdXJyZW5jeV9uYW1lIjoiT1BQTyIsIm1hcmtldF9mcm9tX25hbWUiOiJcdTY1ZTAiLCJjaGFuZ2UiOiIrMC40NCIsInZvbHVtZSI6IjQxOTAuMTc4MzgiLCJub3dfcHJpY2UiOiIxLjkwNzI2Iiwicm1iX3JlbGF0aW9uIjoiNi40IiwibG9nbyI6IiIsImNhdGVnb3J5X3RleHQiOiJcdTRlM2JcdTZkNDFcdTUzM2EiLCJjb250ZW50IjoiIiwiaXNzdWVfbnVtIjoiMCIsInNlbGxfc3RhdHVzIjoxfSx7ImlkIjo0MSwibGVnYWxfaWQiOjMsImN1cnJlbmN5X2lkIjo0MiwiaXNfZGlzcGxheSI6MSwibWFya2V0X2Zyb20iOjIsImNhdGVnb3J5IjoxLCJtaW4iOiIwLjAwMDAwMDAwIiwib3Blbl90cmFuc2FjdGlvbiI6MCwib3Blbl9sZXZlciI6MCwib3Blbl9taWNyb3RyYWRlIjowLCJvcGVuX2NvaW5fdHJhZGUiOjAsImNvaW5fdHJhZGVfc3VjY2VzcyI6MSwic29ydCI6MCwibWljcm9fdHJhZGVfZmVlIjoiMC4wMCIsImxldmVyX3NoYXJlX251bSI6IjEuMDAwMDAwMDAiLCJzcHJlYWQiOiIwLjAwMDAiLCJvdmVybmlnaHQiOiIwLjAwMDAiLCJsZXZlcl90cmFkZV9mZWUiOiIwLjAwMDAiLCJsZXZlcl9taW5fc2hhcmUiOjEsImxldmVyX21heF9zaGFyZSI6MCwiZmx1Y3R1YXRlX21pbiI6IjEuMDAwMDAwMDAiLCJmbHVjdHVhdGVfbWF4IjoiMC4wMDAwMDAwMCIsInJpc2tfZ3JvdXBfcmVzdWx0IjowLCJjcmVhdGVfdGltZSI6IjIwMjEtMTEtMDEgMjI6NTE6NTkiLCJsZWdhbF9uYW1lIjoiVVNEVCIsImN1cnJlbmN5X25hbWUiOiJTSElCIiwibWFya2V0X2Zyb21fbmFtZSI6Ilx1NzA2Ylx1NWUwMVx1NjNhNVx1NTNlMyIsImNoYW5nZSI6Ii0xLjE2Iiwidm9sdW1lIjoiMjc3NzM1NDA2NTMuMjUwNjUiLCJub3dfcHJpY2UiOiIwLjAwMDAxIiwicm1iX3JlbGF0aW9uIjoiNi40IiwibG9nbyI6IiIsImNhdGVnb3J5X3RleHQiOiJcdTRlM2JcdTZkNDFcdTUzM2EiLCJjb250ZW50IjoiIiwiaXNzdWVfbnVtIjoiMCIsInNlbGxfc3RhdHVzIjoxfSx7ImlkIjo0NCwibGVnYWxfaWQiOjMsImN1cnJlbmN5X2lkIjo0NCwiaXNfZGlzcGxheSI6MSwibWFya2V0X2Zyb20iOjAsImNhdGVnb3J5IjoxLCJtaW4iOiIwLjAwMDAwMDAwIiwib3Blbl90cmFuc2FjdGlvbiI6MCwib3Blbl9sZXZlciI6MCwib3Blbl9taWNyb3RyYWRlIjowLCJvcGVuX2NvaW5fdHJhZGUiOjAsImNvaW5fdHJhZGVfc3VjY2VzcyI6MSwic29ydCI6MCwibWljcm9fdHJhZGVfZmVlIjoiMC4wMCIsImxldmVyX3NoYXJlX251bSI6IjEwLjAwMDAwMDAwIiwic3ByZWFkIjoiMC4wMDAwIiwib3Zlcm5pZ2h0IjoiMC4wMDAwIiwibGV2ZXJfdHJhZGVfZmVlIjoiMC4wMDAwIiwibGV2ZXJfbWluX3NoYXJlIjoxLCJsZXZlcl9tYXhfc2hhcmUiOjEwMCwiZmx1Y3R1YXRlX21pbiI6IjAuMDU4NzY5MDAiLCJmbHVjdHVhdGVfbWF4IjoiMC4wNjAzNDYwMCIsInJpc2tfZ3JvdXBfcmVzdWx0IjowLCJjcmVhdGVfdGltZSI6IjIwMjEtMTItMDggMDQ6NDY6NDIiLCJsZWdhbF9uYW1lIjoiVVNEVCIsImN1cnJlbmN5X25hbWUiOiJERUVQIiwibWFya2V0X2Zyb21fbmFtZSI6Ilx1NjVlMCIsImNoYW5nZSI6IiswLjA2Iiwidm9sdW1lIjoiNDYwOS4xOTYyMSIsIm5vd19wcmljZSI6IjAuMDYwMTAiLCJybWJfcmVsYXRpb24iOiI2LjQiLCJsb2dvIjoiaHR0cHM6XC9cL2ljZS5odWppbnN1bzAxLnZpcFwvdXBsb2FkXC8xNjM4OTUxNDIxNjc0MTAucG5nIiwiY2F0ZWdvcnlfdGV4dCI6Ilx1NGUzYlx1NmQ0MVx1NTMzYSIsImNvbnRlbnQiOiIiLCJpc3N1ZV9udW0iOiIwIiwic2VsbF9zdGF0dXMiOjF9LHsiaWQiOjQ1LCJsZWdhbF9pZCI6MywiY3VycmVuY3lfaWQiOjQ1LCJpc19kaXNwbGF5IjoxLCJtYXJrZXRfZnJvbSI6MiwiY2F0ZWdvcnkiOjEsIm1pbiI6IjAuMDAwMDAwMDAiLCJvcGVuX3RyYW5zYWN0aW9uIjowLCJvcGVuX2xldmVyIjowLCJvcGVuX21pY3JvdHJhZGUiOjAsIm9wZW5fY29pbl90cmFkZSI6MCwiY29pbl90cmFkZV9zdWNjZXNzIjoxLCJzb3J0IjowLCJtaWNyb190cmFkZV9mZWUiOiIwLjAwIiwibGV2ZXJfc2hhcmVfbnVtIjoiMS4wMDAwMDAwMCIsInNwcmVhZCI6IjAuMDAwMCIsIm92ZXJuaWdodCI6IjAuMDAwMCIsImxldmVyX3RyYWRlX2ZlZSI6IjAuMDAwMCIsImxldmVyX21pbl9zaGFyZSI6MSwibGV2ZXJfbWF4X3NoYXJlIjowLCJmbHVjdHVhdGVfbWluIjoiMS4wMDAwMDAwMCIsImZsdWN0dWF0ZV9tYXgiOiIwLjAwMDAwMDAwIiwicmlza19ncm91cF9yZXN1bHQiOjAsImNyZWF0ZV90aW1lIjoiMjAyMi0wMy0xMyAyMzoyOTowMyIsImxlZ2FsX25hbWUiOiJVU0RUIiwiY3VycmVuY3lfbmFtZSI6bnVsbCwibWFya2V0X2Zyb21fbmFtZSI6Ilx1NzA2Ylx1NWUwMVx1NjNhNVx1NTNlMyIsImNoYW5nZSI6IiswLjAxIiwidm9sdW1lIjoiNzg3NzU4OC4yNjU2OCIsIm5vd19wcmljZSI6IjAuOTk5NzAiLCJybWJfcmVsYXRpb24iOm51bGwsImxvZ28iOm51bGwsImNhdGVnb3J5X3RleHQiOiJcdTRlM2JcdTZkNDFcdTUzM2EiLCJjb250ZW50IjpudWxsLCJpc3N1ZV9udW0iOm51bGwsInNlbGxfc3RhdHVzIjpudWxsfV19XX0="}},"time_used":582,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":497,"receive":85,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null},{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"futurbcvndf.com/api/news/list","fqdn":"futurbcvndf.com","domain":"futurbcvndf.com","tld":"com"},"ip":{"addr":"172.67.130.50","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://futurbcvndf.com/","date":"2026-07-27T06:23:01.495Z","timestamp":1785133381495,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"futurbcvndf.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 16 Jul 2026 16:36:02 GMT","end":"Wed, 14 Oct 2026 16:36:01 GMT"},"fingerprint":{"sha1":"46:2D:5F:F0:3D:BD:73:19:93:72:79:62:4A:45:03:09:5D:FB:1E:A5","sha256":"35:31:C4:67:1D:DB:68:C3:FB:49:03:14:DD:4E:76:FE:13:53:8D:98:98:2E:BE:EA:B8:CA:4F:B6:5B:7E:5C:1D"}}},"request":{"raw":"POST /api/news/list HTTP/1.1\r\nHost: futurbcvndf.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nAuthorization: \r\nContent-Type: application/x-www-form-urlencoded\r\nContent-Length: 14\r\nOrigin: https://futurbcvndf.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://futurbcvndf.com/\r\nCookie: angela_session=eyJpdiI6IlhnUEZEQ1hLNngxS0t2ZGN3TnJjV1E9PSIsInZhbHVlIjoiVGlYZUpmMXVPdEhuTGtoQzhTS3VXM3BIN3J4ZDZnU2dNTWxTc0NRcHNMTXFyNm1wQTZEQ0RKTWJ0UjRERWZ5aDBaQWxVaVdmN0VVQkNna0M2ZTJ2dTdFZkx3amdIYjZlQzEzMHozajVqTzMybnhMOHo1bEpuaXdQM1R3UVN4QmQiLCJtYWMiOiJiZWIyMTJlYzc4OWUzODk0ODBiOTI5NmU0MjA2MDBmZjJmYzA2MTI3ZjViNmY4NWYxNzIyNDI4MDhhYWMzZmI4In0%3D\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"POST","post_data":{"size":14,"data":"c_id=4\u0026lang=en"}},"response":{"raw":"HTTP/3 200 \r\nserver: cloudflare\r\ndate: Mon, 27 Jul 2026 06:23:01 GMT\r\ncontent-type: application/json\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=K2KXgekoEpIJa2nZsAzLP2yvXt1as4H5EqlB%2BkLm59RINEn75eRayUgdi04lf3P%2B69Qgj6Dli%2BNpWT%2B47YNxlO%2FVN1I9tv9J75QIUXEInuECPrUkQKncSXloqPhuZ3N%2BGJ8%3D\"}]}\r\npriority: u=3,i=?0\r\naccess-control-allow-origin: *\r\naccess-control-allow-methods: POST,GET,OPTIONS,DELETE\r\naccess-control-allow-headers: x-requested-with,content-type,Authorization\r\ncache-control: no-cache, private, no-cache\r\nset-cookie: angela_session=eyJpdiI6IkJ1SThvQU9WN1NYbis0SmJONWVzb2c9PSIsInZhbHVlIjoiS3NCSlpJbG5oUE9weDMzSUNyR3dGeUYyZHJSc1FzM1BIbGFtYWg2d0pFTFwvZUVWSnBrZm1oaEpcL3Y2QldQUHlmcFwvZm82UmJDVDE4V1BINnNOdVh5ZW5HR2o2RVNDOVpKTktmYjlzenFzelZ3WlJUWkNjZEhjTzBtREJxVGhsMXYiLCJtYWMiOiJhZDZkMzg0Mjc0NmNhNGQ4NzFmNDc5N2NhMTI4MmI5NTdhYzhiZDRkYjlkMDNiYzY1ZGJjOWFmZGY5MGEzMDkwIn0%3D; expires=Mon, 27-Jul-2026 08:23:01 GMT; Max-Age=7200; path=/; httponly\r\nstrict-transport-security: max-age=31536000\r\ncf-cache-status: DYNAMIC\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\ncontent-encoding: zstd\r\ncf-ray: a2198d9259b40daa-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":364,"size_decoded":1526,"mime_type":"application/json","magic":"JSON text data","md5":"acc0465c9b191704f0e16ea4da632eb4","sha1":"ab8b5c05728203c77b34e2328516fa68b540c4e4","sha256":"ab1452539ca16baf81b010756e2631627eaf05aa680548535b88a11c3307b716","sha512":"e9406f7771e10f7560ed9ce0a7c33a890e42159234281f11f12dcb727cf42256a48fe6b9f7e3a2211050e653f934b920929ab811cb38d1729eb41343d74da90e","ssdeep":"","tlshash":"cee0c0f922205cb7978003c034c9ba89da8d30d1cd51d71f014c492cc36c0e4180b12f","first_seen":"2026-04-17T07:46:54.381363Z","last_seen":"2026-07-27T06:23:39.729973Z","times_seen":81,"resource_available":false,"data":"eyJ0eXBlIjoib2siLCJtZXNzYWdlIjp7InZlcnNpb24iOnsiaWQiOjEsImtleSI6InZlcnNpb24iLCJ2YWx1ZSI6WyJ3Z3QiLCI4MCJdLCJub3RlcyI6Ilx1NzI0OFx1NjcyY1x1NTNmNyIsInVwZGF0ZWRfYXQiOiIyMDI2LTAyLTIwIDE1OjE5OjIxIn0sImxpc3QiOlt7ImlkIjo1LCJjX2lkIjo0LCJsYW5nIjoiZW4iLCJ0aXRsZSI6IlBsYXRmb3JtIG1haW50ZW5hbmNlIiwidGh1bWJuYWlsIjoiaHR0cHM6XC9cL2Z1dHVyZXN4bS5jb21cL2ltYWdlc1wvend0cC5wbmciLCJjb3ZlciI6Imh0dHBzOlwvXC9mdXR1cmVzeG0uY29tXC9pbWFnZXNcL3p3dHAucG5nIiwic29ydHMiOjEyfV0sImNvdW50IjoxLCJwYWdlIjoxLCJsaW1pdCI6MTV9fQ=="}},"time_used":332,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":332,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null},{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"futurbcvndf.com/api/news/list","fqdn":"futurbcvndf.com","domain":"futurbcvndf.com","tld":"com"},"ip":{"addr":"172.67.130.50","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://futurbcvndf.com/","date":"2026-07-27T06:23:01.496Z","timestamp":1785133381496,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"futurbcvndf.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 16 Jul 2026 16:36:02 GMT","end":"Wed, 14 Oct 2026 16:36:01 GMT"},"fingerprint":{"sha1":"46:2D:5F:F0:3D:BD:73:19:93:72:79:62:4A:45:03:09:5D:FB:1E:A5","sha256":"35:31:C4:67:1D:DB:68:C3:FB:49:03:14:DD:4E:76:FE:13:53:8D:98:98:2E:BE:EA:B8:CA:4F:B6:5B:7E:5C:1D"}}},"request":{"raw":"POST /api/news/list HTTP/1.1\r\nHost: futurbcvndf.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nAuthorization: \r\nContent-Type: application/x-www-form-urlencoded\r\nContent-Length: 14\r\nOrigin: https://futurbcvndf.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://futurbcvndf.com/\r\nCookie: angela_session=eyJpdiI6IlhnUEZEQ1hLNngxS0t2ZGN3TnJjV1E9PSIsInZhbHVlIjoiVGlYZUpmMXVPdEhuTGtoQzhTS3VXM3BIN3J4ZDZnU2dNTWxTc0NRcHNMTXFyNm1wQTZEQ0RKTWJ0UjRERWZ5aDBaQWxVaVdmN0VVQkNna0M2ZTJ2dTdFZkx3amdIYjZlQzEzMHozajVqTzMybnhMOHo1bEpuaXdQM1R3UVN4QmQiLCJtYWMiOiJiZWIyMTJlYzc4OWUzODk0ODBiOTI5NmU0MjA2MDBmZjJmYzA2MTI3ZjViNmY4NWYxNzIyNDI4MDhhYWMzZmI4In0%3D\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"POST","post_data":{"size":14,"data":"c_id=5\u0026lang=en"}},"response":{"raw":"HTTP/3 200 \r\nserver: cloudflare\r\ndate: Mon, 27 Jul 2026 06:23:01 GMT\r\ncontent-type: application/json\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=TmM2az0UkAjP3Q%2BtbHFj9kJii4RJ%2FXFTDao5CqMeWLiwZbrpym904aOhq2I%2BgYMDhxi8M6AYGmzi4mwd48VDRQ0KL4W6arew91Zioh%2BaIXnftgij%2BhALwa4vNG6rqht8ZOc%3D\"}]}\r\npriority: u=3,i=?0\r\naccess-control-allow-origin: *\r\naccess-control-allow-methods: POST,GET,OPTIONS,DELETE\r\naccess-control-allow-headers: x-requested-with,content-type,Authorization\r\ncache-control: no-cache, private, no-cache\r\nset-cookie: angela_session=eyJpdiI6IjhvYUZ6aEV2bkgzNEcxRStGRHVGVVE9PSIsInZhbHVlIjoiMXRkaW8xdHlHZkdHTUFiSUZyVmR3em5BalBYUXMyNUZGTGtzc0ZXZEwrS1JwYldXeGo2NnBBTkR4NGVkaStQMUVRMGZyWjh3bXV2UmNzaGEzMGQ1TDVLemRDM0t6aG5GMmRTTDRCOUJJblRmckZFalFiT1VYSGc1amtOWVhEYUciLCJtYWMiOiIzOTg5ZDRhMGI0MmExMDQ1MjU0Zjc5YzljMTBkNmE3YTU3MDU1ZjFiODE0MzYwYWYzZjcxY2FjMTFhZGQ3YzkyIn0%3D; expires=Mon, 27-Jul-2026 08:23:01 GMT; Max-Age=7200; path=/; httponly\r\nstrict-transport-security: max-age=31536000\r\ncf-cache-status: DYNAMIC\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\ncontent-encoding: zstd\r\ncf-ray: a2198d9259b50daa-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":185,"size_decoded":1423,"mime_type":"application/json","magic":"JSON text data","md5":"82e80128fc1ca82a278bfb1c178f4cab","sha1":"2985620a19732f1e7f6e77afb7682dcbc3554957","sha256":"65f197e10060c08087c9c729db9949b3ef87389e722f3c8a74b30d068e21105c","sha512":"0b5ae869bb1aca17bf7e0cdf2e6b7bbdc04f0fe12d0fd0f0648858db503f9967cfb9e1db5ab13336c9979fc5907c7affc67d8d26aeaacedc63f11101632dc7c4","ssdeep":"","tlshash":"1cc0c0ed1211acb3af5803123446b88697ce30c01c420340a2200018836c06c0c1311a","first_seen":"2026-04-17T07:46:54.366002Z","last_seen":"2026-07-27T06:23:39.74299Z","times_seen":81,"resource_available":false,"data":"eyJ0eXBlIjoib2siLCJtZXNzYWdlIjp7InZlcnNpb24iOnsiaWQiOjEsImtleSI6InZlcnNpb24iLCJ2YWx1ZSI6WyJ3Z3QiLCI4MCJdLCJub3RlcyI6Ilx1NzI0OFx1NjcyY1x1NTNmNyIsInVwZGF0ZWRfYXQiOiIyMDI2LTAyLTIwIDE1OjE5OjIxIn0sImxpc3QiOltdLCJjb3VudCI6MCwicGFnZSI6MSwibGltaXQiOjE1fX0="}},"time_used":349,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":349,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null},{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"futurbcvndf.com/static/image/icon/home-icon-6.png","fqdn":"futurbcvndf.com","domain":"futurbcvndf.com","tld":"com"},"ip":{"addr":"172.67.130.50","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://futurbcvndf.com/","date":"2026-07-27T06:23:01.505Z","timestamp":1785133381505,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"futurbcvndf.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 16 Jul 2026 16:36:02 GMT","end":"Wed, 14 Oct 2026 16:36:01 GMT"},"fingerprint":{"sha1":"46:2D:5F:F0:3D:BD:73:19:93:72:79:62:4A:45:03:09:5D:FB:1E:A5","sha256":"35:31:C4:67:1D:DB:68:C3:FB:49:03:14:DD:4E:76:FE:13:53:8D:98:98:2E:BE:EA:B8:CA:4F:B6:5B:7E:5C:1D"}}},"request":{"raw":"GET /static/image/icon/home-icon-6.png HTTP/1.1\r\nHost: futurbcvndf.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://futurbcvndf.com/\r\nCookie: angela_session=eyJpdiI6IlhnUEZEQ1hLNngxS0t2ZGN3TnJjV1E9PSIsInZhbHVlIjoiVGlYZUpmMXVPdEhuTGtoQzhTS3VXM3BIN3J4ZDZnU2dNTWxTc0NRcHNMTXFyNm1wQTZEQ0RKTWJ0UjRERWZ5aDBaQWxVaVdmN0VVQkNna0M2ZTJ2dTdFZkx3amdIYjZlQzEzMHozajVqTzMybnhMOHo1bEpuaXdQM1R3UVN4QmQiLCJtYWMiOiJiZWIyMTJlYzc4OWUzODk0ODBiOTI5NmU0MjA2MDBmZjJmYzA2MTI3ZjViNmY4NWYxNzIyNDI4MDhhYWMzZmI4In0%3D\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\nserver: cloudflare\r\ndate: Mon, 27 Jul 2026 06:23:01 GMT\r\ncontent-type: image/png\r\nserver-timing: cfExtPri\r\npriority: u=5,i\r\nlast-modified: Fri, 20 Jun 2025 15:49:45 GMT\r\netag: \"68558319-aba\"\r\nstrict-transport-security: max-age=31536000\r\naccept-ranges: bytes\r\ncache-control: max-age=14400\r\ncf-cache-status: REVALIDATED\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=%2BcIodjains4G87fhzRdI9J3ND5d5QFcOeQowWUPfNr06xA9r7zYv%2FfI3XeWdqCSuG56GwSjD2F%2BbkY0IuXr%2FC6KavkeaPs7%2BDjOC1vWU75ofrpdN5gzKZZQ10TNwMCDKX%2BI%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\ncf-ray: a2198d9269ba0daa-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\ncontent-length: 2746\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":2746,"size_decoded":3491,"mime_type":"image/png","magic":"PNG image data, 81 x 59, 8-bit/color RGBA, non-interlaced","md5":"425470dd8a1e29c0f15eff66021ddb09","sha1":"6b6d04f134dbe6802d250058a232e7411b306916","sha256":"059f4c1b20b74cef836207419e99301aeedc4784a90aca388a0ee21ab5bc2a87","sha512":"31faab5ead30a5b61f9767379916f61b28ff3ad796840ec1f58894b1cad851e1121ab1b8474342b48c7ce8bfcb04fba47f84e892a4ef92709ab6252755fbcb0f","ssdeep":"","tlshash":"d2512aae32e6eb0ef2994103e4bf3143d2a34a441125ba8c84e43cee07842b3a995131","first_seen":"2023-05-20T12:09:29Z","last_seen":"2026-07-27T14:50:18.129634Z","times_seen":173,"resource_available":false,"data":"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"}},"time_used":234,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":234,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null},{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"futurbcvndf.com/static/image/icon/home-nav-6.png","fqdn":"futurbcvndf.com","domain":"futurbcvndf.com","tld":"com"},"ip":{"addr":"172.67.130.50","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://futurbcvndf.com/","date":"2026-07-27T06:23:01.964Z","timestamp":1785133381964,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"futurbcvndf.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 16 Jul 2026 16:36:02 GMT","end":"Wed, 14 Oct 2026 16:36:01 GMT"},"fingerprint":{"sha1":"46:2D:5F:F0:3D:BD:73:19:93:72:79:62:4A:45:03:09:5D:FB:1E:A5","sha256":"35:31:C4:67:1D:DB:68:C3:FB:49:03:14:DD:4E:76:FE:13:53:8D:98:98:2E:BE:EA:B8:CA:4F:B6:5B:7E:5C:1D"}}},"request":{"raw":"GET /static/image/icon/home-nav-6.png HTTP/1.1\r\nHost: futurbcvndf.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://futurbcvndf.com/\r\nCookie: angela_session=eyJpdiI6IjFkS0NPNkRWc1BpWjBxRlJNYVBRXC93PT0iLCJ2YWx1ZSI6IjYySndyVk1LYzF3Nis0VEpibU5FOU4wemtyY3RIQkpDcXZMWnYxNlUwbmIyUXpCcVR3blwvbGg3bHlSOVJIU1l3dG9wYTNNWGV3Y3Z5bEJCcFdFTVwvSWNFZnFyeWRFTFRWT2lZXC95M2NNVjBlVVM1RlpUUmthSTNLcGNUYk05ZENxIiwibWFjIjoiNDlmMWNhNjVhODQ0ZGMyNWYxZjBlNDZiZTk2ZjNiMWI2ZDQ1NzdkMGI5NDY0MjQyNzUyZWQxMzBmY2UyOTVjMCJ9\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\nserver: cloudflare\r\ndate: Mon, 27 Jul 2026 06:23:02 GMT\r\ncontent-type: image/png\r\nserver-timing: cfExtPri\r\npriority: u=5,i\r\nlast-modified: Fri, 20 Jun 2025 15:49:45 GMT\r\netag: \"68558319-f69\"\r\nstrict-transport-security: max-age=31536000\r\naccept-ranges: bytes\r\ncache-control: max-age=14400\r\ncf-cache-status: REVALIDATED\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=p1qKL4aOG2IROilwhDlnngU%2FOOvvpAQH8zE1NRJyzFDHoJSdnxtISieREXeJtdymIHpB%2FC2XGQUYSUHHVX4Imx6bFJyMRY3HBR4gAJ6D9WRvy68Dz5F4SGGEQ4u%2FWxcXRM4%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\ncf-ray: a2198d954a170daa-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\ncontent-length: 3945\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":3945,"size_decoded":4684,"mime_type":"image/png","magic":"PNG image data, 46 x 46, 8-bit/color RGBA, non-interlaced","md5":"2d5b9a317f20174f750d5524ab61536b","sha1":"a17ac4797bb6584005694177000915727f98540b","sha256":"4fdd7d0112cc4d7c828747212b0eff8b681d07da84d3209a377ed54b67a37c1e","sha512":"9bfc4bc468a804a3bac5a9263161ee81036e7a41d11cdfab57911b8f3459d884e5591c5025146a5e1407d99584e6a53a3016085da7bac065825b709edfcb51d4","ssdeep":"","tlshash":"d0813a06fec178916a89d6c02fe911a64723a7c0ded0a1599ddec01b69b00b8c5df8cb","first_seen":"2023-05-20T12:09:29Z","last_seen":"2026-07-27T14:50:18.090633Z","times_seen":203,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAC4AAAAuCAYAAABXuSs3AAAACXBIWXMAAAsTAAALEwEAmpwYAAAGhWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNi4wLWMwMDYgNzkuZGFiYWNiYiwgMjAyMS8wNC8xNC0wMDozOTo0NCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6NDg0MTQ3MjctNjIzOC00ZDVkLWFiMDEtYmQ1NjE2YjJiMzhjIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjk1OTFFN0M0MkNFODExRUM4NUVGODNFQzk4OENBN0NFIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjBjNzA1NWI1LWNlZTYtNDcxYi1hMzY4LWY3MzFlYTg1ZDZlYyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjIuNCAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMjEtMTAtMTRUMjA6MTY6NDArMDg6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDIyLTAyLTExVDE5OjI1OjQ1KzA4OjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDIyLTAyLTExVDE5OjI1OjQ1KzA4OjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgcGhvdG9zaG9wOklDQ1Byb2ZpbGU9InNSR0IgSUVDNjE5NjYtMi4xIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MzFkNzk4NzQtZWJiMS00MTk5LWE2MDEtYzZmY2I3MDlmYzU5IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjQ4NDE0NzI3LTYyMzgtNGQ1ZC1hYjAxLWJkNTYxNmIyYjM4YyIvPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDowYzcwNTViNS1jZWU2LTQ3MWItYTM2OC1mNzMxZWE4NWQ2ZWMiIHN0RXZ0OndoZW49IjIwMjItMDItMTFUMTk6MjU6NDUrMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyMi40IChNYWNpbnRvc2gpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDwvcmRmOlNlcT4gPC94bXBNTTpIaXN0b3J5PiA8cGhvdG9zaG9wOkRvY3VtZW50QW5jZXN0b3JzPiA8cmRmOkJhZz4gPHJkZjpsaT54bXAuZGlkOjk1OTFFN0M0MkNFODExRUM4NUVGODNFQzk4OENBN0NFPC9yZGY6bGk+IDwvcmRmOkJhZz4gPC9waG90b3Nob3A6RG9jdW1lbnRBbmNlc3RvcnM+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+Truz3QAACIpJREFUaIHVmT2PHFkVhp9TY2m9GKmbhNUiVtMSgnSKJSGbsoQE2TQiIZu2CAnc+ws8zsjcRkhEyD2/wO2Q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"}},"time_used":130,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":130,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null},{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"futurbcvndf.com/api/currency/new_timeshar?from=1785129781\u0026to=1785133381\u0026symbol=BCH%2FUSDT\u0026period=1min\u0026lang=en","fqdn":"futurbcvndf.com","domain":"futurbcvndf.com","tld":"com"},"ip":{"addr":"172.67.130.50","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://futurbcvndf.com/","date":"2026-07-27T06:23:03.543Z","timestamp":1785133383543,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"futurbcvndf.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 16 Jul 2026 16:36:02 GMT","end":"Wed, 14 Oct 2026 16:36:01 GMT"},"fingerprint":{"sha1":"46:2D:5F:F0:3D:BD:73:19:93:72:79:62:4A:45:03:09:5D:FB:1E:A5","sha256":"35:31:C4:67:1D:DB:68:C3:FB:49:03:14:DD:4E:76:FE:13:53:8D:98:98:2E:BE:EA:B8:CA:4F:B6:5B:7E:5C:1D"}}},"request":{"raw":"GET /api/currency/new_timeshar?from=1785129781\u0026to=1785133381\u0026symbol=BCH%2FUSDT\u0026period=1min\u0026lang=en HTTP/1.1\r\nHost: futurbcvndf.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nAuthorization: \r\nContent-Type: application/x-www-form-urlencoded\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://futurbcvndf.com/\r\nCookie: angela_session=eyJpdiI6IkcyaTBiUHNJTFg1N2I2YXl3S3JFYlE9PSIsInZhbHVlIjoiaWF6N0lNQ2pkSGZYOFZBWkRoRHZ3aVZcL1F5RVNub3ZoaDVQeGh4c3VzUUt5b09LTHd2UWd0WkFXeWFWWDhLWjJyQ1k1UFB0UjlhaXFTT2FVR09xSU1jaVI0aFNVdWZSaTNwU2lZREw0RUE4UHExQ096SXlsQ05IbXErSHh1XC9ZWSIsIm1hYyI6IjdlNjliMThjNzdmZjYyMTFhMWMxNTE2OTMwOTJlNzc1MTVlZDU2YWYzNjg4YzQxNWRlMWMyMDg2YTU2MjUyODUifQ%3D%3D\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\nserver: cloudflare\r\ndate: Mon, 27 Jul 2026 06:23:03 GMT\r\ncontent-type: application/json\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=ZhJcdf0Tn699lwTFih1uTRwdVQ6WJrsT8csyB2NCVTdCDrSMa9VJz9nhhi9QptnejHVN%2BqUfyig2ow4pMRdXDyyVo3cSYUPI15VeZLvYbkeHypM7%2Bij1FteH5FLIdIYxYIw%3D\"}]}\r\npriority: u=3,i=?0\r\ncache-control: no-cache, private, no-cache\r\naccess-control-allow-origin: *\r\naccess-control-allow-headers: Origin, Content-Type, Cookie, X-CSRF-TOKEN, Accept, Authorization, X-XSRF-TOKEN\r\naccess-control-expose-headers: Authorization, authenticated\r\naccess-control-allow-methods: GET, POST, PATCH, PUT, OPTIONS\r\naccess-control-allow-credentials: false\r\nset-cookie: angela_session=eyJpdiI6ImV6cUpPMWpvYWxjOE9kYVg0YkR3WUE9PSIsInZhbHVlIjoiZ1p5MUUwcjlRdXJad2FyK2ZzTW1MbTBIS3FHTUNCdlhPcXE2dWZUd05BYkZWXC83RzNiY0dNS2VxQzdnd2hrNFRZdHc5RFF3YStnS2V5eUxsR1ZTZGwyblFnN25XNXlQTTVFNVB0TU9DN2JHdmZuZERBSkFNYlNlTzhxZlV1NVBEIiwibWFjIjoiNWMwNjQ1MjBlNWIyZjBjNzhmNzFjZTExMTFlYjA5NmI5OTA1ZWQzYWYyZjEwNDQ2NzExOWY3Y2IxOTBhZGIxNiJ9; expires=Mon, 27-Jul-2026 08:23:03 GMT; Max-Age=7200; path=/; httponly\r\nstrict-transport-security: max-age=31536000\r\ncf-cache-status: DYNAMIC\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\ncontent-encoding: zstd\r\ncf-ray: a2198d9f2b990daa-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":12253,"size_decoded":3123,"mime_type":"application/json","magic":"JSON text data","md5":"4da4099cecb7d5fc358060bf415d648c","sha1":"c4a48b71f6fbab2f91074c105ef93f4d17efe103","sha256":"cd429179f47c3482afc1af4499d40397396a44f281b3fb363a4c80abab82a122","sha512":"e50dc3a098ee5f0cf401d03f6765c9a26a7cba856604ddec4086f6c05eae35cb7addce953ffdf2912aa7fb0d0260c2765b4497ea17daee7a00187abac75ec215","ssdeep":"96:SZ1gZBFUSZQoaZFoEZFBZp7Z7mZFVkZ0eZvOCjsZZZcZEVTZkZZLDZPjSJZ7ozZP:7sNALTQzXCItYCsFRbWqkZ","tlshash":"c5423940d5b91170d07a74c87ae29d6e42aa2ba764c3cf594ebf25c204e15f6b307a3f","first_seen":"2026-07-27T06:23:39.746306Z","last_seen":"2026-07-27T06:23:39.746306Z","times_seen":1,"resource_available":false,"data":"eyJjb2RlIjoxLCJtc2ciOiJzdWNjZXNzIiwiZGF0YSI6W3siaWQiOjE3ODUxMjk4NDAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiQkNIIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6MjE3LjI2LCJjbG9zZSI6MjE3LjI2LCJoaWdoIjoyMTcuMjYsImxvdyI6MjE3LjI2LCJ2b2wiOjI3OS40NjE1MzgsImFtb3VudCI6MS4yODYzLCJ0aW1lIjoxNzg1MTI5ODQwMDAwLCJ2b2x1bWUiOjEuMjg2M30seyJpZCI6MTc4NTEyOTkwMCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJCQ0giLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoyMTcuMzcsImNsb3NlIjoyMTcuMzcsImhpZ2giOjIxNy4zNywibG93IjoyMTcuMzcsInZvbCI6ODQzLjAyNjA3MSwiYW1vdW50IjozLjg3ODMsInRpbWUiOjE3ODUxMjk5MDAwMDAsInZvbHVtZSI6My44NzgzfSx7ImlkIjoxNzg1MTI5OTYwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkJDSCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjIxNy42NCwiY2xvc2UiOjIxNy42NCwiaGlnaCI6MjE3LjY0LCJsb3ciOjIxNy42NCwidm9sIjo1MC4wNTcyLCJhbW91bnQiOjAuMjMsInRpbWUiOjE3ODUxMjk5NjAwMDAsInZvbHVtZSI6MC4yM30seyJpZCI6MTc4NTEzMDAyMCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJCQ0giLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoyMTcuOTcsImNsb3NlIjoyMTcuOTcsImhpZ2giOjIxNy45NywibG93IjoyMTcuOTcsInZvbCI6MzEzNy40NjAxOCwiYW1vdW50IjoxNC4zOTQsInRpbWUiOjE3ODUxMzAwMjAwMDAsInZvbHVtZSI6MTQuMzk0fSx7ImlkIjoxNzg1MTMwMDgwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkJDSCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjIxNy45NywiY2xvc2UiOjIxNy45NywiaGlnaCI6MjE3Ljk3LCJsb3ciOjIxNy45Nywidm9sIjozMTkuMjE3MDY1LCJhbW91bnQiOjEuNDY0NSwidGltZSI6MTc4NTEzMDA4MDAwMCwidm9sdW1lIjoxLjQ2NDV9LHsiaWQiOjE3ODUxMzAxNDAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiQkNIIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6MjE3Ljc3LCJjbG9zZSI6MjE3Ljc3LCJoaWdoIjoyMTcuNzcsImxvdyI6MjE3Ljc3LCJ2b2wiOjExMDcuNTEyODg5LCJhbW91bnQiOjUuMDg1NywidGltZSI6MTc4NTEzMDE0MDAwMCwidm9sdW1lIjo1LjA4NTd9LHsiaWQiOjE3ODUxMzAyMDAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiQkNIIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6MjE3LjU4LCJjbG9zZSI6MjE3LjU4LCJoaWdoIjoyMTcuNTgsImxvdyI6MjE3LjU4LCJ2b2wiOjMxNi4zMzk1NjIsImFtb3VudCI6MS40NTM5LCJ0aW1lIjoxNzg1MTMwMjAwMDAwLCJ2b2x1bWUiOjEuNDUzOX0seyJpZCI6MTc4NTEzMDI2MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJCQ0giLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoyMTcuNTgsImNsb3NlIjoyMTcuNzgsImhpZ2giOjIxNy43OCwibG93IjoyMTcuNTgsInZvbCI6NzU4LjQ5MzE0OCwiYW1vdW50IjozLjQ4MzYsInRpbWUiOjE3ODUxMzAyNjAwMDAsInZvbHVtZSI6My40ODM2fSx7ImlkIjoxNzg1MTMwMzIwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkJDSCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjIxNy43OCwiY2xvc2UiOjIxNy44OCwiaGlnaCI6MjE3Ljg4LCJsb3ciOjIxNy43OCwidm9sIjoxNzAyLjg2Nzg4NCwiYW1vdW50Ijo3LjgxODMsInRpbWUiOjE3ODUxMzAzMjAwMDAsInZvbHVtZSI6Ny44MTgzfSx7ImlkIjoxNzg1MTMwMzgwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkJDSCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjIxNy44OCwiY2xvc2UiOjIxNy43OCwiaGlnaCI6MjE3Ljg4LCJsb3ciOjIxNy43OCwidm9sIjoxNTI1LjY2Nzg1NCwiYW1vdW50Ijo3LjAwMzgsInRpbWUiOjE3ODUxMzAzODAwMDAsInZvbHVtZSI6Ny4wMDM4fSx7ImlkIjoxNzg1MTMwNDQwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkJDSCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjIxNy41OSwiY2xvc2UiOjIxNy41OSwiaGlnaCI6MjE3LjU5LCJsb3ciOjIxNy41OSwidm9sIjo2NDMuMzcwMTEyLCJhbW91bnQiOjIuOTU2OCwidGltZSI6MTc4NTEzMDQ0MDAwMCwidm9sdW1lIjoyLjk1Njh9LHsiaWQiOjE3ODUxMzA1MDAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiQkNIIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6MjE3LjU5LCJjbG9zZSI6MjE3LjY5LCJoaWdoIjoyMTcuNjksImxvdyI6MjE3LjU5LCJ2b2wiOjc1OS41MzU4NjQsImFtb3VudCI6My40ODk2LCJ0aW1lIjoxNzg1MTMwNTAwMDAwLCJ2b2x1bWUiOjMuNDg5Nn0seyJpZCI6MTc4NTEzMDU2MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJCQ0giLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoyMTcuNjksImNsb3NlIjoyMTcuNTksImhpZ2giOjIxNy42OSwibG93IjoyMTcuNTksInZvbCI6MTU1Ni45MDk3ODcsImFtb3VudCI6Ny4xNTIzLCJ0aW1lIjoxNzg1MTMwNTYwMDAwLCJ2b2x1bWUiOjcuMTUyM30seyJpZCI6MTc4NTEzMDYyMCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJCQ0giLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoyMTcuNDksImNsb3NlIjoyMTcuNDksImhpZ2giOjIxNy41OSwibG93IjoyMTcuNDksInZvbCI6MTI0MC45NzgyMTYsImFtb3VudCI6NS43MDU0LCJ0aW1lIjoxNzg1MTMwNjIwMDAwLCJ2b2x1bWUiOjUuNzA1NH0seyJpZCI6MTc4NTEzMDY4MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJCQ0giLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoyMTcuMjksImNsb3NlIjoyMTcuMjksImhpZ2giOjIxNy4yOSwibG93IjoyMTcuMjksInZvbCI6MTY1LjE0MDQsImFtb3VudCI6MC43NiwidGltZSI6MTc4NTEzMDY4MDAwMCwidm9sdW1lIjowLjc2fSx7ImlkIjoxNzg1MTMwNzQwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkJDSCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjIxNy4xLCJjbG9zZSI6MjE3LjMsImhpZ2giOjIxNy4zLCJsb3ciOjIxNy4xLCJ2b2wiOjY2NjYuMTk3MzMsImFtb3VudCI6MzAuNjkwNywidGltZSI6MTc4NTEzMDc0MDAwMCwidm9sdW1lIjozMC42OTA3fSx7ImlkIjoxNzg1MTMwODAwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkJDSCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjIxNy4zLCJjbG9zZSI6MjE3LjEsImhpZ2giOjIxNy40LCJsb3ciOjIxNy4xLCJ2b2wiOjEzMzIuNTA0MzksImFtb3VudCI6Ni4xMzE4LCJ0aW1lIjoxNzg1MTMwODAwMDAwLCJ2b2x1bWUiOjYuMTMxOH0seyJpZCI6MTc4NTEzMDg2MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJCQ0giLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoyMTcuNDEsImNsb3NlIjoyMTcuMzEsImhpZ2giOjIxNy40MSwibG93IjoyMTcuMzEsInZvbCI6ODMyLjQ3OTM4LCJhbW91bnQiOjMuODMsInRpbWUiOjE3ODUxMzA4NjAwMDAsInZvbHVtZSI6My44M30seyJpZCI6MTc4NTEzMDkyMCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJCQ0giLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoyMTcuNDEsImNsb3NlIjoyMTcuNDEsImhpZ2giOjIxNy40MSwibG93IjoyMTcuNDEsInZvbCI6NTI3LjAwMTg0LCJhbW91bnQiOjIuNDI0LCJ0aW1lIjoxNzg1MTMwOTIwMDAwLCJ2b2x1bWUiOjIuNDI0fSx7ImlkIjoxNzg1MTMwOTgwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkJDSCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjIxNy40MSwiY2xvc2UiOjIxNy40MSwiaGlnaCI6MjE3LjQxLCJsb3ciOjIxNy40MSwidm9sIjozOTAuMTQyMjQ1LCJhbW91bnQiOjEuNzk0NSwidGltZSI6MTc4NTEzMDk4MDAwMCwidm9sdW1lIjoxLjc5NDV9LHsiaWQiOjE3ODUxMzEwNDAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiQkNIIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6MjE3LjUxLCJjbG9zZSI6MjE3LjUxLCJoaWdoIjoyMTcuNTEsImxvdyI6MjE3LjUxLCJ2b2wiOjE3Ni4yNDgzNTMsImFtb3VudCI6MC44MTAzLCJ0aW1lIjoxNzg1MTMxMDQwMDAwLCJ2b2x1bWUiOjAuODEwM30seyJpZCI6MTc4NTEzMTEwMCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJCQ0giLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoyMTcuNTEsImNsb3NlIjoyMTcuNTEsImhpZ2giOjIxNy41MSwibG93IjoyMTcuNTEsInZvbCI6MCwiYW1vdW50IjowLCJ0aW1lIjoxNzg1MTMxMTAwMDAwLCJ2b2x1bWUiOjB9LHsiaWQiOjE3ODUxMzExNjAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiQkNIIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6MjE3LjQsImNsb3NlIjoyMTcuMywiaGlnaCI6MjE3LjQsImxvdyI6MjE3LjMsInZvbCI6MTcxMS45NDQ0MywiYW1vdW50Ijo3Ljg3NiwidGltZSI6MTc4NTEzMTE2MDAwMCwidm9sdW1lIjo3Ljg3Nn0seyJpZCI6MTc4NTEzMTIyMCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJCQ0giLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoyMTcuNSwiY2xvc2UiOjIxNy42LCJoaWdoIjoyMTcuNiwibG93IjoyMTcuNSwidm9sIjozMzEuNDAwODIsImFtb3VudCI6MS41MjMzLCJ0aW1lIjoxNzg1MTMxMjIwMDAwLCJ2b2x1bWUiOjEuNTIzM30seyJpZCI6MTc4NTEzMTI4MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJCQ0giLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoyMTcuNiwiY2xvc2UiOjIxNy42MSwiaGlnaCI6MjE3LjYxLCJsb3ciOjIxNy42LCJ2b2wiOjE4MjQuMzEyMTA1LCJhbW91bnQiOjguMzgzNSwidGltZSI6MTc4NTEzMTI4MDAwMCwidm9sdW1lIjo4LjM4MzV9LHsiaWQiOjE3ODUxMzEzNDAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiQkNIIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6MjE3LjUxLCJjbG9zZSI6MjE3LjUxLCJoaWdoIjoyMTcuNTEsImxvdyI6MjE3LjUxLCJ2b2wiOjE2NS42NzczNjcsImFtb3VudCI6MC43NjE3LCJ0aW1lIjoxNzg1MTMxMzQwMDAwLCJ2b2x1bWUiOjAuNzYxN30seyJpZCI6MTc4NTEzMTQwMCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJCQ0giLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoyMTcuNjEsImNsb3NlIjoyMTcuNjEsImhpZ2giOjIxNy42MSwibG93IjoyMTcuNjEsInZvbCI6MTc4LjY1NzgxLCJhbW91bnQiOjAuODIxLCJ0aW1lIjoxNzg1MTMxNDAwMDAwLCJ2b2x1bWUiOjAuODIxfSx7ImlkIjoxNzg1MTMxNDYwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkJDSCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjIxNy42MSwiY2xvc2UiOjIxNy42MSwiaGlnaCI6MjE3LjYxLCJsb3ciOjIxNy42MSwidm9sIjowLCJhbW91bnQiOjAsInRpbWUiOjE3ODUxMzE0NjAwMDAsInZvbHVtZSI6MH0seyJpZCI6MTc4NTEzMTUyMCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJCQ0giLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoyMTcuNjEsImNsb3NlIjoyMTcuNjEsImhpZ2giOjIxNy42MSwibG93IjoyMTcuNjEsInZvbCI6MCwiYW1vdW50IjowLCJ0aW1lIjoxNzg1MTMxNTIwMDAwLCJ2b2x1bWUiOjB9LHsiaWQiOjE3ODUxMzE1ODAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiQkNIIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6MjE4LjAxLCJjbG9zZSI6MjE4LjAxLCJoaWdoIjoyMTguMDEsImxvdyI6MjE3LjkxLCJ2b2wiOjM2MzEuMzA0NjQ3LCJhbW91bnQiOjE2LjY2MTcsInRpbWUiOjE3ODUxMzE1ODAwMDAsInZvbHVtZSI6MTYuNjYxN30seyJpZCI6MTc4NTEzMTY0MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJCQ0giLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoyMTguMDEsImNsb3NlIjoyMTguMTIsImhpZ2giOjIxOC4xMiwibG93IjoyMTguMDEsInZvbCI6NTc4MS4wMDIwMDMsImFtb3VudCI6MjYuNTEyNiwidGltZSI6MTc4NTEzMTY0MDAwMCwidm9sdW1lIjoyNi41MTI2fSx7ImlkIjoxNzg1MTMxNzAwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkJDSCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjIxOC4xMiwiY2xvc2UiOjIxOC4xMiwiaGlnaCI6MjE4LjEyLCJsb3ciOjIxOC4xMiwidm9sIjowLCJhbW91bnQiOjAsInRpbWUiOjE3ODUxMzE3MDAwMDAsInZvbHVtZSI6MH0seyJpZCI6MTc4NTEzMTc2MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJCQ0giLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoyMTcuNjEsImNsb3NlIjoyMTcuNTIsImhpZ2giOjIxNy42MiwibG93IjoyMTcuNTIsInZvbCI6NTYyMi4yNDc5OTMsImFtb3VudCI6MjUuODQyNiwidGltZSI6MTc4NTEzMTc2MDAwMCwidm9sdW1lIjoyNS44NDI2fSx7ImlkIjoxNzg1MTMxODIwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkJDSCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjIxNy41MiwiY2xvc2UiOjIxNy44MywiaGlnaCI6MjE3LjgzLCJsb3ciOjIxNy41Miwidm9sIjozNDEyLjM2NjExMSwiYW1vdW50IjoxNS42NzYsInRpbWUiOjE3ODUxMzE4MjAwMDAsInZvbHVtZSI6MTUuNjc2fSx7ImlkIjoxNzg1MTMxODgwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkJDSCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjIxNy45MywiY2xvc2UiOjIxOC4wMiwiaGlnaCI6MjE4LjAyLCJsb3ciOjIxNy45Mywidm9sIjozODAuMDUyNzgzLCJhbW91bnQiOjEuNzQzNSwidGltZSI6MTc4NTEzMTg4MDAwMCwidm9sdW1lIjoxLjc0MzV9LHsiaWQiOjE3ODUxMzE5NDAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiQkNIIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6MjE4LjEyLCJjbG9zZSI6MjE4LjEyLCJoaWdoIjoyMTguMTIsImxvdyI6MjE4LjEyLCJ2b2wiOjEwMjcuOTk5NTYsImFtb3VudCI6NC43MTMsInRpbWUiOjE3ODUxMzE5NDAwMDAsInZvbHVtZSI6NC43MTN9LHsiaWQiOjE3ODUxMzIwMDAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiQkNIIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6MjE4LjEyLCJjbG9zZSI6MjE4LjEyLCJoaWdoIjoyMTguMTIsImxvdyI6MjE4LjEyLCJ2b2wiOjAsImFtb3VudCI6MCwidGltZSI6MTc4NTEzMjAwMDAwMCwidm9sdW1lIjowfSx7ImlkIjoxNzg1MTMyMDYwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkJDSCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjIxOC4yMywiY2xvc2UiOjIxOC4yMywiaGlnaCI6MjE4LjIzLCJsb3ciOjIxOC4yMywidm9sIjoxMzc4LjczMzQ5NCwiYW1vdW50Ijo2LjMxNzgsInRpbWUiOjE3ODUxMzIwNjAwMDAsInZvbHVtZSI6Ni4zMTc4fSx7ImlkIjoxNzg1MTMyMTIwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkJDSCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjIxOC4zMiwiY2xvc2UiOjIxOC4zMiwiaGlnaCI6MjE4LjMyLCJsb3ciOjIxOC4zMiwidm9sIjo1MDUuMzIzNDcyLCJhbW91bnQiOjIuMzE0NiwidGltZSI6MTc4NTEzMjEyMDAwMCwidm9sdW1lIjoyLjMxNDZ9LHsiaWQiOjE3ODUxMzIxODAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiQkNIIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6MjE4LjMyLCJjbG9zZSI6MjE4LjA3LCJoaWdoIjoyMTguMzIsImxvdyI6MjE4LjA3LCJ2b2wiOjkwOS43MzQwMDgsImFtb3VudCI6NC4xNjk0LCJ0aW1lIjoxNzg1MTMyMTgwMDAwLCJ2b2x1bWUiOjQuMTY5NH0seyJpZCI6MTc4NTEzMjI0MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJCQ0giLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoyMTguMzEsImNsb3NlIjoyMTguMDksImhpZ2giOjIxOC4zMSwibG93IjoyMTguMDksInZvbCI6OTQ1Ljk1NjU2LCJhbW91bnQiOjQuMzMzMiwidGltZSI6MTc4NTEzMjI0MDAwMCwidm9sdW1lIjo0LjMzMzJ9LHsiaWQiOjE3ODUxMzIzMDAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiQkNIIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6MjE4LjMxLCJjbG9zZSI6MjE3Ljk5LCJoaWdoIjoyMTguMzEsImxvdyI6MjE3Ljk5LCJ2b2wiOjk1NS42NzIzNTcsImFtb3VudCI6NC4zODE5LCJ0aW1lIjoxNzg1MTMyMzAwMDAwLCJ2b2x1bWUiOjQuMzgxOX0seyJpZCI6MTc4NTEzMjM2MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJCQ0giLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoyMTguMjEsImNsb3NlIjoyMTguNjEsImhpZ2giOjIxOC42MSwibG93IjoyMTguMjEsInZvbCI6MTc1Ny40MjcwNzIsImFtb3VudCI6OC4wNDM2LCJ0aW1lIjoxNzg1MTMyMzYwMDAwLCJ2b2x1bWUiOjguMDQzNn0seyJpZCI6MTc4NTEzMjQyMCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJCQ0giLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoyMTguNTEsImNsb3NlIjoyMTguMzEsImhpZ2giOjIxOC41MSwibG93IjoyMTguMDUsInZvbCI6NDM4Mi44MjIxOCwiYW1vdW50IjoyMC4wNzUsInRpbWUiOjE3ODUxMzI0MjAwMDAsInZvbHVtZSI6MjAuMDc1fSx7ImlkIjoxNzg1MTMyNDgwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkJDSCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjIxOC4zMSwiY2xvc2UiOjIxOCwiaGlnaCI6MjE4LjMxLCJsb3ciOjIxOCwidm9sIjoxMTUwLjU3Nzk3MSwiYW1vdW50Ijo1LjI3MzksInRpbWUiOjE3ODUxMzI0ODAwMDAsInZvbHVtZSI6NS4yNzM5fSx7ImlkIjoxNzg1MTMyNTQwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkJDSCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjIxOC4yMiwiY2xvc2UiOjIxOC4zMiwiaGlnaCI6MjE4LjMyLCJsb3ciOjIxOC4yMiwidm9sIjoxMTM0LjczMjU4MiwiYW1vdW50Ijo1LjE5ODEsInRpbWUiOjE3ODUxMzI1NDAwMDAsInZvbHVtZSI6NS4xOTgxfSx7ImlkIjoxNzg1MTMyNjAwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkJDSCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjIxOC4wNywiY2xvc2UiOjIxOC4yMiwiaGlnaCI6MjE4LjIyLCJsb3ciOjIxOC4wNywidm9sIjo0MTQuNDM2NTM0LCJhbW91bnQiOjEuODk5NywidGltZSI6MTc4NTEzMjYwMDAwMCwidm9sdW1lIjoxLjg5OTd9LHsiaWQiOjE3ODUxMzI2NjAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiQkNIIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6MjE4LjMyLCJjbG9zZSI6MjE4LjMyLCJoaWdoIjoyMTguNTIsImxvdyI6MjE4LjMyLCJ2b2wiOjEwNDI3LjExOTM5OCwiYW1vdW50Ijo0Ny43NTA5LCJ0aW1lIjoxNzg1MTMyNjYwMDAwLCJ2b2x1bWUiOjQ3Ljc1MDl9LHsiaWQiOjE3ODUxMzI3MjAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiQkNIIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6MjE4LjUyLCJjbG9zZSI6MjE4LjQzLCJoaWdoIjoyMTguNTIsImxvdyI6MjE4LjQyLCJ2b2wiOjU5MjIuMzUwNjg2LCJhbW91bnQiOjI3LjExMzgsInRpbWUiOjE3ODUxMzI3MjAwMDAsInZvbHVtZSI6MjcuMTEzOH0seyJpZCI6MTc4NTEzMjc4MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJCQ0giLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoyMTguNDIsImNsb3NlIjoyMTguNDIsImhpZ2giOjIxOC40MiwibG93IjoyMTguNDIsInZvbCI6MjM3LjY0MDk2LCJhbW91bnQiOjEuMDg4LCJ0aW1lIjoxNzg1MTMyNzgwMDAwLCJ2b2x1bWUiOjEuMDg4fSx7ImlkIjoxNzg1MTMyODQwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkJDSCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjIxOC4zMywiY2xvc2UiOjIxOC4zMywiaGlnaCI6MjE4LjMzLCJsb3ciOjIxOC4zMywidm9sIjoyOTA0LjI2OTMyNiwiYW1vdW50IjoxMy4zMDIyLCJ0aW1lIjoxNzg1MTMyODQwMDAwLCJ2b2x1bWUiOjEzLjMwMjJ9LHsiaWQiOjE3ODUxMzI5MDAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiQkNIIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6MjE4LjMzLCJjbG9zZSI6MjE4LjMzLCJoaWdoIjoyMTguMzMsImxvdyI6MjE4LjMzLCJ2b2wiOjY1Ni41NjE5NzYsImFtb3VudCI6My4wMDcyLCJ0aW1lIjoxNzg1MTMyOTAwMDAwLCJ2b2x1bWUiOjMuMDA3Mn0seyJpZCI6MTc4NTEzMjk2MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJCQ0giLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoyMTguMzMsImNsb3NlIjoyMTguMzMsImhpZ2giOjIxOC4zMywibG93IjoyMTguMzMsInZvbCI6MTIwMi4zNDMzMSwiYW1vdW50Ijo1LjUwNywidGltZSI6MTc4NTEzMjk2MDAwMCwidm9sdW1lIjo1LjUwN30seyJpZCI6MTc4NTEzMzAyMCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJCQ0giLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoyMTguMzMsImNsb3NlIjoyMTcuOTMsImhpZ2giOjIxOC4zMywibG93IjoyMTcuOTMsInZvbCI6MTQ0Ny4zNzY3NTMsImFtb3VudCI6Ni42MzIxLCJ0aW1lIjoxNzg1MTMzMDIwMDAwLCJ2b2x1bWUiOjYuNjMyMX0seyJpZCI6MTc4NTEzMzA4MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJCQ0giLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoyMTcuOTMsImNsb3NlIjoyMTcuOTMsImhpZ2giOjIxNy45MywibG93IjoyMTcuODMsInZvbCI6MTIyMi4zNjkyNDEsImFtb3VudCI6NS42MDk3LCJ0aW1lIjoxNzg1MTMzMDgwMDAwLCJ2b2x1bWUiOjUuNjA5N30seyJpZCI6MTc4NTEzMzE0MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJCQ0giLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoyMTcuNzQsImNsb3NlIjoyMTcuODMsImhpZ2giOjIxOC4wMywibG93IjoyMTcuNjUsInZvbCI6MTAzMi42MzgxODUsImFtb3VudCI6NC43NDA5LCJ0aW1lIjoxNzg1MTMzMTQwMDAwLCJ2b2x1bWUiOjQuNzQwOX0seyJpZCI6MTc4NTEzMzIwMCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJCQ0giLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoyMTcuNjMsImNsb3NlIjoyMTcuNjMsImhpZ2giOjIxNy42MywibG93IjoyMTcuMzYsInZvbCI6NTcxLjU4MzM0LCJhbW91bnQiOjIuNjI4LCJ0aW1lIjoxNzg1MTMzMjAwMDAwLCJ2b2x1bWUiOjIuNjI4fSx7ImlkIjoxNzg1MTMzMjYwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkJDSCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjIxNy41MywiY2xvc2UiOjIxNy41NCwiaGlnaCI6MjE3LjU0LCJsb3ciOjIxNy41Mywidm9sIjo5MDguNzMwNjMzLCJhbW91bnQiOjQuMTc3NCwidGltZSI6MTc4NTEzMzI2MDAwMCwidm9sdW1lIjo0LjE3NzR9LHsiaWQiOjE3ODUxMzMzMjAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiQkNIIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6MjE3LjU0LCJjbG9zZSI6MjE3LjU0LCJoaWdoIjoyMTcuNTQsImxvdyI6MjE3LjU0LCJ2b2wiOjIyNy40MzgwNywiYW1vdW50IjoxLjA0NTUsInRpbWUiOjE3ODUxMzMzMjAwMDAsInZvbHVtZSI6MS4wNDU1fSx7ImlkIjoxNzg1MTMzMzgwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkJDSCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjIxNy41NCwiY2xvc2UiOjIxNy41NCwiaGlnaCI6MjE3LjU0LCJsb3ciOjIxNy41NCwidm9sIjowLCJhbW91bnQiOjAsInRpbWUiOjE3ODUxMzMzODAwMDAsInZvbHVtZSI6MH1dfQ=="}},"time_used":287,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":202,"receive":85,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null},{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"unpkg.com/evm-chains@0.2.0/lib/index.js","fqdn":"unpkg.com","domain":"unpkg.com","tld":"com"},"ip":{"addr":"104.18.1.22","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://futurbcvndf.com/","date":"2026-07-27T06:23:00.394Z","timestamp":1785133380394,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"unpkg.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sat, 11 Jul 2026 17:56:32 GMT","end":"Fri, 09 Oct 2026 18:56:21 GMT"},"fingerprint":{"sha1":"81:08:7C:A2:AA:81:B4:77:02:EE:53:FB:23:6F:1D:97:C3:92:2E:A0","sha256":"13:42:07:B0:BF:53:83:27:C3:6E:69:00:B5:F0:1C:58:6C:AD:B4:DD:93:08:84:F0:97:51:3B:60:91:10:85:76"}}},"request":{"raw":"GET /evm-chains@0.2.0/lib/index.js HTTP/1.1\r\nHost: unpkg.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://futurbcvndf.com/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 404 \r\ndate: Mon, 27 Jul 2026 06:23:00 GMT\r\ncontent-type: text/plain;charset=UTF-8\r\ncontent-length: 41\r\nstrict-transport-security: max-age=31536000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\npriority: u=3,i=?0\r\nserver: cloudflare\r\ncf-ray: a2198d8b7ed58deb-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"404","status_text":"","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":0,"size_decoded":0,"mime_type":"text/plain; charset=UTF-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-04T14:30:18.251771Z","times_seen":17709334,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"futurbcvndf.com/static/image/nav/nav-4.png","fqdn":"futurbcvndf.com","domain":"futurbcvndf.com","tld":"com"},"ip":{"addr":"172.67.130.50","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://futurbcvndf.com/","date":"2026-07-27T06:23:01.082Z","timestamp":1785133381082,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"futurbcvndf.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 16 Jul 2026 16:36:02 GMT","end":"Wed, 14 Oct 2026 16:36:01 GMT"},"fingerprint":{"sha1":"46:2D:5F:F0:3D:BD:73:19:93:72:79:62:4A:45:03:09:5D:FB:1E:A5","sha256":"35:31:C4:67:1D:DB:68:C3:FB:49:03:14:DD:4E:76:FE:13:53:8D:98:98:2E:BE:EA:B8:CA:4F:B6:5B:7E:5C:1D"}}},"request":{"raw":"GET /static/image/nav/nav-4.png HTTP/1.1\r\nHost: futurbcvndf.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://futurbcvndf.com/\r\nCookie: angela_session=eyJpdiI6IlhnUEZEQ1hLNngxS0t2ZGN3TnJjV1E9PSIsInZhbHVlIjoiVGlYZUpmMXVPdEhuTGtoQzhTS3VXM3BIN3J4ZDZnU2dNTWxTc0NRcHNMTXFyNm1wQTZEQ0RKTWJ0UjRERWZ5aDBaQWxVaVdmN0VVQkNna0M2ZTJ2dTdFZkx3amdIYjZlQzEzMHozajVqTzMybnhMOHo1bEpuaXdQM1R3UVN4QmQiLCJtYWMiOiJiZWIyMTJlYzc4OWUzODk0ODBiOTI5NmU0MjA2MDBmZjJmYzA2MTI3ZjViNmY4NWYxNzIyNDI4MDhhYWMzZmI4In0%3D\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\nserver: cloudflare\r\ndate: Mon, 27 Jul 2026 06:23:01 GMT\r\ncontent-type: image/png\r\nserver-timing: cfExtPri\r\npriority: u=4,i\r\nlast-modified: Fri, 20 Jun 2025 15:49:45 GMT\r\netag: \"68558319-49b\"\r\nstrict-transport-security: max-age=31536000\r\naccept-ranges: bytes\r\ncache-control: max-age=14400\r\ncf-cache-status: REVALIDATED\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=fcsKzgJHfDQGwjOetZnagodAurt37Y6pn3xpc%2FlCH9nO%2F%2FGNjlCNTmiqggGfzJH6xdUwi3tuSIZaiP2QZqHxOIDMiHvZWVmRbWYUvFSIYB7Ia6c197hUclYztEjxj4LlSZE%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\ncf-ray: a2198d8fc9440daa-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\ncontent-length: 1179\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":1179,"size_decoded":1918,"mime_type":"image/png","magic":"PNG image data, 46 x 46, 8-bit/color RGBA, non-interlaced","md5":"3b9bd6a518d868bfdf6bc671def3327d","sha1":"0002af2d238c42d44f95ffdecc0ee1957ead1e8e","sha256":"ba5a50079d685b02f29d59f5f4d16331b8c29fa2aff5eed2ffb116d1dfe572b4","sha512":"a17dc0cecdae39b67412c192887ed80d8295ed87c71d29227b916b4f7a0aa9f382677d226091e185b3a503cc5f57140c38277191a84ac2135efd6eaa085c2ab8","ssdeep":"","tlshash":"f021d7efb1c21012c729e2be1c0e9779b62da302a7b8444225c5f892fd890c33354f4e","first_seen":"2023-05-20T12:09:29Z","last_seen":"2026-07-27T14:50:18.134903Z","times_seen":216,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAC4AAAAuCAYAAABXuSs3AAAEYklEQVRogcXZX4hVRRzA8c+uW7pSFGEZUVSkacXiQxillfTPSioyiCLI3ApNQrEeesigXkSIHswi/1BpZRZk6IP0xw1Nk5aiP5iZWRbVS2QSWZBWu24Pc6733LP3njvn/rEvLHvvnJn5fTl35sxv5nT09fVpEyOT/3+3o/OuFvQxBtficvRgHE5L9T2A/diHXdiB93CgmaAdDd7xEZiJXlyH4wq2H8BmrMYGDBYV6CxYvwOzsAdvYIbi0oRfY0bSxx7ck/QdTRHxHuFnfgnjiwSpw3isSfruiW0UKz4HH2NKYa14piQx5sRUrifeiWVYiVHNeUUxKom1TB23vIudwuSZ3zqvaOYnsUfUqpAn/qwwEf8vZuGZWhdric/BvLboFGOeGmO+mngPlrZVpxhLVXnaZMU78QK6j4VRJN2CU4VrVnwWJh8joSFsF9aFv+rUnSwz39LiXVjUUrXqfIlHcQ6mYTauxJE67RZJ5VbpJGumkCC1miHsxtt4FTur1PkU39eJPw63Yj2V4rNbYZlhEDfhnYi6v0fU6ZWIl4bKKZjekFo+W8RJw7aIOtMF16PiV2lNbp7lxAJ1t0bU6cLVlMWnFTWK5FJhIp6AG7Agp+4H4vLyaZTFL2rGrg6L8acwNvOGzR/CJK3HhZTFJzSlFvgX3+JgjesP45tMWXZ4bomIM4Gy+NhYuxrswpk4HyfjZpV7yk1YlWlzMRZmyt6PiDWWID5acxPzIG4TNsQlNgmr3ef4Bfdn2ozGWsOfZD9GxOtCd7NPkiHcJ+zgs/yAqbhAkE/zFCbiXExSXpR6YwN3CXnCgMbu+jK8mXP9ED7LlN2IB5LPI9GPd4UhcFlEzAEcKo3x7B2JoR+PZMpOwiU5bU7Fiyp39N3CUh4jTeJaEt8b2ajEAdyJf1JlHYnUdmH4VON5nF4wVpa9lMV3F2g4hLvxU6b8IWGSjkwEV6jcYC/ALY2YZviKsnhMnlBiseELyVQsyZTNxdfCHNiBp4s7VmUb5Qm5VdwE3YInMmVj8BqOr1L/7OSvVQwkDkfv+G/CWV4eP+MulflEp/A8PquFcnlsFlwrdkBrchoM4g7Dnz6LcH0rzeqwuvQhLb5B9YUEnhSytzTX4PHWeuWyDxtLX9LiA8LEq8bGzPczsE7OSVMbWCw4Yvgu/2XVU8v04tCF14XD+2PFJ4JbhUSaI7gXH6l8Bi8Rnh57hHziivY5DuOwsKBVnAJUe/x9IaSbK1Jl3XisbWr5LBScKqh1drgSy9uqE8dywWUYeae18/FKW3TiWCvniDtPfFA4a6l51NtGnkti19w813sjcURIjuYKk6TdHBZy9QfV2fHHvgNaJeTZ/c155dKfxKg6prMUeeu2S8gCe9VeYRvhu6TPqUmMKIq+5xwScpqJuB1vaeDlatLmraSPCUmfQ0U6aHSzPCgc8KwXFqbpwuu+SThPWFVHpOruF+7sTnyIPvzaYGy05rzwgJC3rMuUj07+1zu0b4j/AOPM1IsDvvmoAAAAAElFTkSuQmCC"}},"time_used":234,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":234,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null},{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"futurbcvndf.com/api/currency/new_timeshar?from=1785129781\u0026to=1785133381\u0026symbol=BTC%2FUSDT\u0026period=1min\u0026lang=en","fqdn":"futurbcvndf.com","domain":"futurbcvndf.com","tld":"com"},"ip":{"addr":"172.67.130.50","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://futurbcvndf.com/","date":"2026-07-27T06:23:02.078Z","timestamp":1785133382078,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"futurbcvndf.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 16 Jul 2026 16:36:02 GMT","end":"Wed, 14 Oct 2026 16:36:01 GMT"},"fingerprint":{"sha1":"46:2D:5F:F0:3D:BD:73:19:93:72:79:62:4A:45:03:09:5D:FB:1E:A5","sha256":"35:31:C4:67:1D:DB:68:C3:FB:49:03:14:DD:4E:76:FE:13:53:8D:98:98:2E:BE:EA:B8:CA:4F:B6:5B:7E:5C:1D"}}},"request":{"raw":"GET /api/currency/new_timeshar?from=1785129781\u0026to=1785133381\u0026symbol=BTC%2FUSDT\u0026period=1min\u0026lang=en HTTP/1.1\r\nHost: futurbcvndf.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nAuthorization: \r\nContent-Type: application/x-www-form-urlencoded\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://futurbcvndf.com/\r\nCookie: angela_session=eyJpdiI6IlRycDBYVUtzaVAzQWNaSUpUejZ6VGc9PSIsInZhbHVlIjoiNEQ5ZTFpemkzVzNTMnBwb0ZONmZIM24rV3gyYXp0enpMeW9wdDBCTnRiQVFxdGd2NTdHM0NMVGNMTzVLZWJOdEZheHorTERXUUVCSjQxRWJBU2RNRVJNYkZkTTJEQlEyNzRpY3NyYjFxTmZvbllYRFwvVmhwVVBYa0M0QnNFVTkwIiwibWFjIjoiZjhmNjY4Zjg0YTE1NThmYmNkODM1ZWYwM2JiODRlMzg2NjAzNjBjZjdhODhiYjlkN2VmZjVhMTk3MmNhNDVhMiJ9\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\nserver: cloudflare\r\ndate: Mon, 27 Jul 2026 06:23:02 GMT\r\ncontent-type: application/json\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=Go283vSp%2BltUkVN4woy6MMlsrURTVscXfscCg%2BnYAT0rw8gbUOjjtzg3gfT8itCOA%2BbbGCaVmQyufSZdPi13%2BU0nC9ESgH8Fqq8O0cb6FxkZxf9MHnjIb7ZuIbA18tUALR4%3D\"}]}\r\npriority: u=3,i=?0\r\ncache-control: no-cache, private, no-cache\r\naccess-control-allow-origin: *\r\naccess-control-allow-headers: Origin, Content-Type, Cookie, X-CSRF-TOKEN, Accept, Authorization, X-XSRF-TOKEN\r\naccess-control-expose-headers: Authorization, authenticated\r\naccess-control-allow-methods: GET, POST, PATCH, PUT, OPTIONS\r\naccess-control-allow-credentials: false\r\nset-cookie: angela_session=eyJpdiI6ImthVjlKNTkxMWdNdThKcWdidXVcL0FRPT0iLCJ2YWx1ZSI6Ikg3dTFLbHNTNHpaTklMYzh1UmsrTWVyeGVmdkZDS0dhWnVZanVvNUliM0prZzd0NlQ0SmlHUStUbGJHUFZBTEZJWWRRU01wbG52cVczVFh2TU8zQzNWaGMrd1lpbWtEWVRHMFJkWXR4ZFVKWjNVY3JhTXVhemUwV0xPK0J4OEZaIiwibWFjIjoiZmUwMTM0OGEzZDFkYTljN2RjZGRmMmY4N2Y5NjgxNTAxYTEzOGQ1YzVkMmE2ZTQ0MDRmOGEyYjJkNzIyN2NjYyJ9; expires=Mon, 27-Jul-2026 08:23:02 GMT; Max-Age=7200; path=/; httponly\r\nstrict-transport-security: max-age=31536000\r\ncf-cache-status: DYNAMIC\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\ncontent-encoding: zstd\r\ncf-ray: a2198d95fa320daa-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":13414,"size_decoded":3814,"mime_type":"application/json","magic":"JSON text data","md5":"720005e83d2c019079cfd3f666855626","sha1":"adfefe3eb58af0e3ca52faf2a6af6bc254fb25a5","sha256":"25a320761feacf7d8e14f4247644afb8860f4ffd21b3b8f6eedae6cf11aab58e","sha512":"005ca247bc8cb33f92b2a3b26da4581a58d249b19f155b1a9e59a100fe4d544bc15865703da65cd6c9faa5f419018b46662094c7b6a95ea95bcddf45c590b2f3","ssdeep":"96:SrgV/prwhpnrduWrPtCrVlRrzA1HrQmcrjHprc8erBS/ur85RAcrtxJGrUJrSrht:8mAeNgXiKbUev+3Cnh3RnvK7cH","tlshash":"a1526380b1b903f0d47ab5e5adb25d6882bb535b78828e9c91be08c345e19f9f101d3f","first_seen":"2026-07-27T06:23:39.748285Z","last_seen":"2026-07-27T06:23:39.748285Z","times_seen":1,"resource_available":false,"data":"eyJjb2RlIjoxLCJtc2ciOiJzdWNjZXNzIiwiZGF0YSI6W3siaWQiOjE3ODUxMjk4NDAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiQlRDIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6NjU0MTMuNzgsImNsb3NlIjo2NTQwOC4xMSwiaGlnaCI6NjU0MTMuNzgsImxvdyI6NjUzOTUuNTQsInZvbCI6MjMyMjMuMjYxMTI4NjUsImFtb3VudCI6MC4zNTUwMjMsInRpbWUiOjE3ODUxMjk4NDAwMDAsInZvbHVtZSI6MC4zNTUwMjN9LHsiaWQiOjE3ODUxMjk5MDAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiQlRDIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6NjU0MDguMSwiY2xvc2UiOjY1MzkxLjcsImhpZ2giOjY1NDA4LjEsImxvdyI6NjUzOTEuNywidm9sIjoyNzUwLjc4MjE1MTE5LCJhbW91bnQiOjAuMDQyMDU3LCJ0aW1lIjoxNzg1MTI5OTAwMDAwLCJ2b2x1bWUiOjAuMDQyMDU3fSx7ImlkIjoxNzg1MTI5OTYwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkJUQyIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjY1MzkxLjcsImNsb3NlIjo2NTM5MS43LCJoaWdoIjo2NTM5MS43LCJsb3ciOjY1MzkxLjcsInZvbCI6MCwiYW1vdW50IjowLCJ0aW1lIjoxNzg1MTI5OTYwMDAwLCJ2b2x1bWUiOjB9LHsiaWQiOjE3ODUxMzAwMjAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiQlRDIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6NjUzOTEuNzEsImNsb3NlIjo2NTQwNC4wNSwiaGlnaCI6NjU0MDQuMDUsImxvdyI6NjUzOTEuNzEsInZvbCI6MTY5NTQwLjYzNTcyNjU5LCJhbW91bnQiOjIuNTkyNjg5LCJ0aW1lIjoxNzg1MTMwMDIwMDAwLCJ2b2x1bWUiOjIuNTkyNjg5fSx7ImlkIjoxNzg1MTMwMDgwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkJUQyIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjY1NDE2LjA2LCJjbG9zZSI6NjU0MTYuMDYsImhpZ2giOjY1NDE2LjA2LCJsb3ciOjY1NDE2LjA2LCJ2b2wiOjY1LjQxNjA2LCJhbW91bnQiOjAuMDAxLCJ0aW1lIjoxNzg1MTMwMDgwMDAwLCJ2b2x1bWUiOjAuMDAxfSx7ImlkIjoxNzg1MTMwMTQwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkJUQyIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjY1NDE2LjA3LCJjbG9zZSI6NjU0MTYuMDcsImhpZ2giOjY1NDE2LjA3LCJsb3ciOjY1NDE2LjA3LCJ2b2wiOjEyNy42OTgzOTk5OTk5OTk5NiwiYW1vdW50IjowLjAwMTk1MjA5NTI1NzMyNzQ0MiwidGltZSI6MTc4NTEzMDE0MDAwMCwidm9sdW1lIjowLjAwMTk1MjA5NTI1NzMyNzQ0Mn0seyJpZCI6MTc4NTEzMDIwMCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJCVEMiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjo2NTQyOS4zMiwiY2xvc2UiOjY1Mzk2Ljc0LCJoaWdoIjo2NTQyOS4zMiwibG93Ijo2NTM5Ni43NCwidm9sIjo0OTk0MC44NDAxODYxNCwiYW1vdW50IjowLjc2MzMzMiwidGltZSI6MTc4NTEzMDIwMDAwMCwidm9sdW1lIjowLjc2MzMzMn0seyJpZCI6MTc4NTEzMDI2MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJCVEMiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjo2NTQwNC45NiwiY2xvc2UiOjY1NDE1LjQ5LCJoaWdoIjo2NTQxNS40OSwibG93Ijo2NTQwNC45Niwidm9sIjo0NzA5LjE4NjMyNjU1LCJhbW91bnQiOjAuMDcxOTkzLCJ0aW1lIjoxNzg1MTMwMjYwMDAwLCJ2b2x1bWUiOjAuMDcxOTkzfSx7ImlkIjoxNzg1MTMwMzIwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkJUQyIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjY1NDE1LjQ5LCJjbG9zZSI6NjU0MTkuMDIsImhpZ2giOjY1NDE5LjAyLCJsb3ciOjY1Mzk5Ljc4LCJ2b2wiOjI3MzQwLjY5ODI3MjA5LCJhbW91bnQiOjAuNDE3OTksInRpbWUiOjE3ODUxMzAzMjAwMDAsInZvbHVtZSI6MC40MTc5OX0seyJpZCI6MTc4NTEzMDM4MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJCVEMiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjo2NTQyMy44MywiY2xvc2UiOjY1Mzk5LjA1LCJoaWdoIjo2NTQyNy42MywibG93Ijo2NTM5OS4wNSwidm9sIjo5NzAyLjM3MDEzMzUsImFtb3VudCI6MC4xNDgzMDEsInRpbWUiOjE3ODUxMzAzODAwMDAsInZvbHVtZSI6MC4xNDgzMDF9LHsiaWQiOjE3ODUxMzA0NDAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiQlRDIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6NjUzOTkuNDYsImNsb3NlIjo2NTM5Ni43NSwiaGlnaCI6NjUzOTkuNDYsImxvdyI6NjUzOTYuNzQsInZvbCI6MTM0MzkuNTgzMzYwMSwiYW1vdW50IjowLjIwNTUwOCwidGltZSI6MTc4NTEzMDQ0MDAwMCwidm9sdW1lIjowLjIwNTUwOH0seyJpZCI6MTc4NTEzMDUwMCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJCVEMiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjo2NTQwMy4zMSwiY2xvc2UiOjY1Mzk2Ljc2LCJoaWdoIjo2NTQwMy4zMSwibG93Ijo2NTM5Ni43Niwidm9sIjoxMjIwLjQ4MjE1NjQ3LCJhbW91bnQiOjAuMDE4NjYyLCJ0aW1lIjoxNzg1MTMwNTAwMDAwLCJ2b2x1bWUiOjAuMDE4NjYyfSx7ImlkIjoxNzg1MTMwNTYwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkJUQyIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjY1Mzk2Ljc2LCJjbG9zZSI6NjUzOTYuNzUsImhpZ2giOjY1Mzk2Ljc2LCJsb3ciOjY1Mzk2Ljc1LCJ2b2wiOjUzNi44NDE5NjY2MiwiYW1vdW50IjowLjAwODIwOSwidGltZSI6MTc4NTEzMDU2MDAwMCwidm9sdW1lIjowLjAwODIwOX0seyJpZCI6MTc4NTEzMDYyMCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJCVEMiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjo2NTM5MS42LCJjbG9zZSI6NjUzNzUuODIsImhpZ2giOjY1MzkxLjYsImxvdyI6NjUzNzMuMjIsInZvbCI6Nzg2ODAuNzc3NTIyNTUsImFtb3VudCI6MS4yMDMzNTcsInRpbWUiOjE3ODUxMzA2MjAwMDAsInZvbHVtZSI6MS4yMDMzNTd9LHsiaWQiOjE3ODUxMzA2ODAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiQlRDIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6NjUzNzcuNjgsImNsb3NlIjo2NTM5NS44LCJoaWdoIjo2NTM5NS44LCJsb3ciOjY1Mzc3LjY4LCJ2b2wiOjUwMjQzLjkzNzIxMTMsImFtb3VudCI6MC43Njg0NjEsInRpbWUiOjE3ODUxMzA2ODAwMDAsInZvbHVtZSI6MC43Njg0NjF9LHsiaWQiOjE3ODUxMzA3NDAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiQlRDIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6NjUzOTUuOCwiY2xvc2UiOjY1Mzk4LjMyLCJoaWdoIjo2NTQxNy4yNCwibG93Ijo2NTM5NS44LCJ2b2wiOjIxNzg5NS4xMDgwODk0OCwiYW1vdW50IjozLjMzMTU3NiwidGltZSI6MTc4NTEzMDc0MDAwMCwidm9sdW1lIjozLjMzMTU3Nn0seyJpZCI6MTc4NTEzMDgwMCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJCVEMiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjo2NTM5OC4zMywiY2xvc2UiOjY1MzkxLjY3LCJoaWdoIjo2NTM5OC4zMywibG93Ijo2NTM3My45LCJ2b2wiOjE3MjQ2LjA2MjAxNTIsImFtb3VudCI6MC4yNjM3MjYsInRpbWUiOjE3ODUxMzA4MDAwMDAsInZvbHVtZSI6MC4yNjM3MjZ9LHsiaWQiOjE3ODUxMzA4NjAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiQlRDIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6NjUzOTguMjUsImNsb3NlIjo2NTM5Ni45LCJoaWdoIjo2NTM5OC4yNSwibG93Ijo2NTM5Ni45LCJ2b2wiOjI1MzcyLjU2MzQ1ODYyLCJhbW91bnQiOjAuMzg3OTc0LCJ0aW1lIjoxNzg1MTMwODYwMDAwLCJ2b2x1bWUiOjAuMzg3OTc0fSx7ImlkIjoxNzg1MTMwOTIwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkJUQyIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjY1Mzg4LjM0LCJjbG9zZSI6NjUzOTUuNzIsImhpZ2giOjY1Mzk2LjkxLCJsb3ciOjY1Mzg4LjM0LCJ2b2wiOjczNS4zOTI0Njc4OSwiYW1vdW50IjowLjAxMTI0NiwidGltZSI6MTc4NTEzMDkyMDAwMCwidm9sdW1lIjowLjAxMTI0Nn0seyJpZCI6MTc4NTEzMDk4MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJCVEMiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjo2NTM4OC45NCwiY2xvc2UiOjY1NDAzLjMxLCJoaWdoIjo2NTQwMy4zMiwibG93Ijo2NTM4OC45NCwidm9sIjo1ODYzLjE2ODU3MTcxLCJhbW91bnQiOjAuMDg5NjU0LCJ0aW1lIjoxNzg1MTMwOTgwMDAwLCJ2b2x1bWUiOjAuMDg5NjU0fSx7ImlkIjoxNzg1MTMxMDQwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkJUQyIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjY1NDAzLjMxLCJjbG9zZSI6NjUzOTguMDgsImhpZ2giOjY1NDAzLjMxLCJsb3ciOjY1Mzk4LjA4LCJ2b2wiOjU4MTYuMjI0ODU4NTEsImFtb3VudCI6MC4wODg5MzUsInRpbWUiOjE3ODUxMzEwNDAwMDAsInZvbHVtZSI6MC4wODg5MzV9LHsiaWQiOjE3ODUxMzExMDAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiQlRDIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6NjUzNzIuMzUsImNsb3NlIjo2NTM2OC4zNCwiaGlnaCI6NjUzNzcuNTgsImxvdyI6NjUzNjguMzQsInZvbCI6MjAxNzguMzQyMjI2OTYsImFtb3VudCI6MC4zMDg2ODUsInRpbWUiOjE3ODUxMzExMDAwMDAsInZvbHVtZSI6MC4zMDg2ODV9LHsiaWQiOjE3ODUxMzExNjAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiQlRDIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6NjUzNjUuNjIsImNsb3NlIjo2NTM2My41LCJoaWdoIjo2NTM2NS42MiwibG93Ijo2NTM2My40NSwidm9sIjoyNjQxLjM2MDU1Njc0LCJhbW91bnQiOjAuMDQwNDA5NjM0MDU0ODMxNCwidGltZSI6MTc4NTEzMTE2MDAwMCwidm9sdW1lIjowLjA0MDQwOTYzNDA1NDgzMTR9LHsiaWQiOjE3ODUxMzEyMjAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiQlRDIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6NjUzNjMuNDksImNsb3NlIjo2NTM1NS42MiwiaGlnaCI6NjUzNjMuNDksImxvdyI6NjUzNTAuNjUsInZvbCI6MTIwODkuMjg3OTkzNiwiYW1vdW50IjowLjE4NDk1NiwidGltZSI6MTc4NTEzMTIyMDAwMCwidm9sdW1lIjowLjE4NDk1Nn0seyJpZCI6MTc4NTEzMTI4MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJCVEMiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjo2NTM1NS42MywiY2xvc2UiOjY1MzY2LjIzLCJoaWdoIjo2NTM2Ni4yMywibG93Ijo2NTM1NS42Mywidm9sIjo0MTkwNy4yNDEwMTkzNCwiYW1vdW50IjowLjY0MTIxOCwidGltZSI6MTc4NTEzMTI4MDAwMCwidm9sdW1lIjowLjY0MTIxOH0seyJpZCI6MTc4NTEzMTM0MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJCVEMiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjo2NTM2My41NiwiY2xvc2UiOjY1MzY2LjI0LCJoaWdoIjo2NTM2Ni4yNCwibG93Ijo2NTM1NS42Mywidm9sIjoxNjg2NzQuMDQzODkwOTEsImFtb3VudCI6Mi41ODA1NjUsInRpbWUiOjE3ODUxMzEzNDAwMDAsInZvbHVtZSI6Mi41ODA1NjV9LHsiaWQiOjE3ODUxMzE0MDAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiQlRDIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6NjUzNzMuMSwiY2xvc2UiOjY1MzU3LjU2LCJoaWdoIjo2NTM3My4xLCJsb3ciOjY1MzU3LjU2LCJ2b2wiOjM5NjUzNC40MzUzMTE3MSwiYW1vdW50Ijo2LjA2NTcyMywidGltZSI6MTc4NTEzMTQwMDAwMCwidm9sdW1lIjo2LjA2NTcyM30seyJpZCI6MTc4NTEzMTQ2MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJCVEMiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjo2NTM3Mi45NSwiY2xvc2UiOjY1MzgwLjEsImhpZ2giOjY1MzgwLjEsImxvdyI6NjUzNjYuMDYsInZvbCI6NjMyNjUuNzQwNjYzOTcsImFtb3VudCI6MC45Njc4NjMsInRpbWUiOjE3ODUxMzE0NjAwMDAsInZvbHVtZSI6MC45Njc4NjN9LHsiaWQiOjE3ODUxMzE1MjAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiQlRDIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6NjUzODAuNSwiY2xvc2UiOjY1MzgwLjUxLCJoaWdoIjo2NTM4MC41MSwibG93Ijo2NTM4MC41LCJ2b2wiOjkyMDUuMzEyODc4NzYsImFtb3VudCI6MC4xNDA3OTYsInRpbWUiOjE3ODUxMzE1MjAwMDAsInZvbHVtZSI6MC4xNDA3OTZ9LHsiaWQiOjE3ODUxMzE1ODAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiQlRDIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6NjUzODAuNSwiY2xvc2UiOjY1Mzc1Ljk5LCJoaWdoIjo2NTM4MC41LCJsb3ciOjY1MzczLjMsInZvbCI6NDI2NS40NDU4NTA1OCwiYW1vdW50IjowLjA2NTI0NTM2Mjg4NDA4MjY0LCJ0aW1lIjoxNzg1MTMxNTgwMDAwLCJ2b2x1bWUiOjAuMDY1MjQ1MzYyODg0MDgyNjR9LHsiaWQiOjE3ODUxMzE2NDAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiQlRDIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6NjUzNzYsImNsb3NlIjo2NTM5MSwiaGlnaCI6NjUzOTEsImxvdyI6NjUzNzYsInZvbCI6MTg0NTAuNzc2ODg5NjQsImFtb3VudCI6MC4yODIyMDcsInRpbWUiOjE3ODUxMzE2NDAwMDAsInZvbHVtZSI6MC4yODIyMDd9LHsiaWQiOjE3ODUxMzE3MDAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiQlRDIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6NjUzOTAuOTksImNsb3NlIjo2NTQwMC4yNCwiaGlnaCI6NjU0MDAuMjQsImxvdyI6NjUzODYuNzgsInZvbCI6NzQyOTYuNzY4MjM5MzksImFtb3VudCI6MS4xMzYyMTUsInRpbWUiOjE3ODUxMzE3MDAwMDAsInZvbHVtZSI6MS4xMzYyMTV9LHsiaWQiOjE3ODUxMzE3NjAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiQlRDIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6NjU0MDMuOTgsImNsb3NlIjo2NTQwNCwiaGlnaCI6NjU0MDQsImxvdyI6NjU0MDMuOTgsInZvbCI6NDQzLjE3NzQ5NDg0LCJhbW91bnQiOjAuMDA2Nzc2LCJ0aW1lIjoxNzg1MTMxNzYwMDAwLCJ2b2x1bWUiOjAuMDA2Nzc2fSx7ImlkIjoxNzg1MTMxODIwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkJUQyIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjY1NDA2LjMyLCJjbG9zZSI6NjU0NTAuOSwiaGlnaCI6NjU0NTAuOSwibG93Ijo2NTQwNi4zMiwidm9sIjoyMDU4OS45MjYwNTMyMSwiYW1vdW50IjowLjMxNDcxNDE3Nzk5ODQ3MjEsInRpbWUiOjE3ODUxMzE4MjAwMDAsInZvbHVtZSI6MC4zMTQ3MTQxNzc5OTg0NzIxfSx7ImlkIjoxNzg1MTMxODgwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkJUQyIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjY1NDUwLjksImNsb3NlIjo2NTQ2My44MiwiaGlnaCI6NjU1MDYsImxvdyI6NjU0NTAuOSwidm9sIjoxNDU3MjcuMTgyNDc4OTUxOCwiYW1vdW50IjoyLjIyNTA0MTM0NjQ1MTA3LCJ0aW1lIjoxNzg1MTMxODgwMDAwLCJ2b2x1bWUiOjIuMjI1MDQxMzQ2NDUxMDd9LHsiaWQiOjE3ODUxMzE5NDAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiQlRDIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6NjU0NzkuMjIsImNsb3NlIjo2NTQ2Mi43MywiaGlnaCI6NjU0NzkuMjIsImxvdyI6NjU0NjEuMDEsInZvbCI6MjM4NTguMDE4Mzc5OTgsImFtb3VudCI6MC4zNjQ0MDcsInRpbWUiOjE3ODUxMzE5NDAwMDAsInZvbHVtZSI6MC4zNjQ0MDd9LHsiaWQiOjE3ODUxMzIwMDAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiQlRDIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6NjU0NjIuNzQsImNsb3NlIjo2NTQ1NS41MiwiaGlnaCI6NjU0NzEuMDQsImxvdyI6NjU0NTUuNTIsInZvbCI6MTMwODE2LjM0MDYxMTE0LCJhbW91bnQiOjEuOTk4NDM1NjEyNjkzMzY2NCwidGltZSI6MTc4NTEzMjAwMDAwMCwidm9sdW1lIjoxLjk5ODQzNTYxMjY5MzM2NjR9LHsiaWQiOjE3ODUxMzIwNjAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiQlRDIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6NjU0NTUuNTEsImNsb3NlIjo2NTQ1NS41NywiaGlnaCI6NjU0NzEsImxvdyI6NjU0NTUuMywidm9sIjoxMTk3NzE2LjgzNzkyMTUxLCJhbW91bnQiOjE4LjI5ODE2NywidGltZSI6MTc4NTEzMjA2MDAwMCwidm9sdW1lIjoxOC4yOTgxNjd9LHsiaWQiOjE3ODUxMzIxMjAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiQlRDIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6NjU0NTUuNTcsImNsb3NlIjo2NTQ4OS4wNSwiaGlnaCI6NjU0ODkuMDUsImxvdyI6NjU0NTUuNTcsInZvbCI6Nzg1NjEuNjg0NzA2OTYsImFtb3VudCI6MS4xOTk4MTEsInRpbWUiOjE3ODUxMzIxMjAwMDAsInZvbHVtZSI6MS4xOTk4MTF9LHsiaWQiOjE3ODUxMzIxODAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiQlRDIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6NjU1MDMuNzEsImNsb3NlIjo2NTUxMy4xNSwiaGlnaCI6NjU1MTMuMTUsImxvdyI6NjU1MDMuNywidm9sIjoxMzM5MC41OTAwMjc4NywiYW1vdW50IjowLjIwNDQwMDg2MjcyNjI0ODYzLCJ0aW1lIjoxNzg1MTMyMTgwMDAwLCJ2b2x1bWUiOjAuMjA0NDAwODYyNzI2MjQ4NjN9LHsiaWQiOjE3ODUxMzIyNDAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiQlRDIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6NjU1MjIuNjQsImNsb3NlIjo2NTUyNi43OCwiaGlnaCI6NjU1MzMuOTUsImxvdyI6NjU1MjIuNjQsInZvbCI6NTAxNTcuNDYyNzE2Njc3OSwiYW1vdW50IjowLjc2NTQ5MzE5LCJ0aW1lIjoxNzg1MTMyMjQwMDAwLCJ2b2x1bWUiOjAuNzY1NDkzMTl9LHsiaWQiOjE3ODUxMzIzMDAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiQlRDIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6NjU1MjUuMjUsImNsb3NlIjo2NTUwOS42MywiaGlnaCI6NjU1MjUuMjYsImxvdyI6NjU0OTMuMTgsInZvbCI6NDUwMzguNjIyOTk0MywiYW1vdW50IjowLjY4NzQ3OCwidGltZSI6MTc4NTEzMjMwMDAwMCwidm9sdW1lIjowLjY4NzQ3OH0seyJpZCI6MTc4NTEzMjM2MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJCVEMiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjo2NTUxOC45MiwiY2xvc2UiOjY1NjgwLjM0LCJoaWdoIjo2NTcyMy45NCwibG93Ijo2NTUxOC45Miwidm9sIjoyMzE1MTAuNjM3NzMzNTA2NSwiYW1vdW50IjozLjUyNzY4NDM5LCJ0aW1lIjoxNzg1MTMyMzYwMDAwLCJ2b2x1bWUiOjMuNTI3Njg0Mzl9LHsiaWQiOjE3ODUxMzI0MjAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiQlRDIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6NjU2ODEuMjEsImNsb3NlIjo2NTYxOS41OCwiaGlnaCI6NjU2ODEuMjEsImxvdyI6NjU2MDAuNTUsInZvbCI6MTQ1NDcwLjkzMDEzOTksImFtb3VudCI6Mi4yMTU3MjIsInRpbWUiOjE3ODUxMzI0MjAwMDAsInZvbHVtZSI6Mi4yMTU3MjJ9LHsiaWQiOjE3ODUxMzI0ODAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiQlRDIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6NjU2MDcuNTgsImNsb3NlIjo2NTUyNSwiaGlnaCI6NjU2MDcuNTgsImxvdyI6NjU1MjUsInZvbCI6ODU3NDUuNDQ2NjExMTcsImFtb3VudCI6MS4zMDc3MTEsInRpbWUiOjE3ODUxMzI0ODAwMDAsInZvbHVtZSI6MS4zMDc3MTF9LHsiaWQiOjE3ODUxMzI1NDAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiQlRDIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6NjU1MzAuODksImNsb3NlIjo2NTU1Ni42OSwiaGlnaCI6NjU1NTYuNjksImxvdyI6NjU1MDAuMjMsInZvbCI6NTM3NTEuMzMzNjg1ODMsImFtb3VudCI6MC44MjAzMTksInRpbWUiOjE3ODUxMzI1NDAwMDAsInZvbHVtZSI6MC44MjAzMTl9LHsiaWQiOjE3ODUxMzI2MDAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiQlRDIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6NjU1NjguNDIsImNsb3NlIjo2NTU5OC4yNCwiaGlnaCI6NjU2MTcuMjgsImxvdyI6NjU1NjguNDIsInZvbCI6NTAzMTk2LjI4NDQ2MiwiYW1vdW50Ijo3LjY3MjEwMywidGltZSI6MTc4NTEzMjYwMDAwMCwidm9sdW1lIjo3LjY3MjEwM30seyJpZCI6MTc4NTEzMjY2MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJCVEMiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjo2NTU5Ny41NiwiY2xvc2UiOjY1NjExLjgxLCJoaWdoIjo2NTYxMS44MSwibG93Ijo2NTU5Ny41Niwidm9sIjoxMTAxLjY5Mjg0MzY1LCJhbW91bnQiOjAuMDE2NzkzLCJ0aW1lIjoxNzg1MTMyNjYwMDAwLCJ2b2x1bWUiOjAuMDE2NzkzfSx7ImlkIjoxNzg1MTMyNzIwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkJUQyIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjY1NjE4LjQyLCJjbG9zZSI6NjU2MzQuMzUsImhpZ2giOjY1NjU2LjY3LCJsb3ciOjY1NjE4LjQyLCJ2b2wiOjU1ODc2NC43NjA3NjEwNiwiYW1vdW50Ijo4LjUxNDEzNSwidGltZSI6MTc4NTEzMjcyMDAwMCwidm9sdW1lIjo4LjUxNDEzNX0seyJpZCI6MTc4NTEzMjc4MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJCVEMiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjo2NTYxNy4xMSwiY2xvc2UiOjY1NTkzLjgzLCJoaWdoIjo2NTYxNy4xOCwibG93Ijo2NTU4OC45Nywidm9sIjoxMzgxNTMuMDQxNjA1MzcsImFtb3VudCI6Mi4xMDU5MzUsInRpbWUiOjE3ODUxMzI3ODAwMDAsInZvbHVtZSI6Mi4xMDU5MzV9LHsiaWQiOjE3ODUxMzI4NDAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiQlRDIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6NjU1OTMuODMsImNsb3NlIjo2NTU5NS4zNCwiaGlnaCI6NjU1OTkuMTEsImxvdyI6NjU1NzcuNTEsInZvbCI6MzgzMDMxLjk3NjA1MjAyLCJhbW91bnQiOjUuODM5NDUyLCJ0aW1lIjoxNzg1MTMyODQwMDAwLCJ2b2x1bWUiOjUuODM5NDUyfSx7ImlkIjoxNzg1MTMyOTAwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkJUQyIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjY1NTkzLjY1LCJjbG9zZSI6NjU2MTYuNTQsImhpZ2giOjY1NjMxLjM3LCJsb3ciOjY1NTkzLjY1LCJ2b2wiOjU3ODA4LjQzNDc3MTQ0LCJhbW91bnQiOjAuODgxMDc0LCJ0aW1lIjoxNzg1MTMyOTAwMDAwLCJ2b2x1bWUiOjAuODgxMDc0fSx7ImlkIjoxNzg1MTMyOTYwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkJUQyIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjY1NjIwLjkyLCJjbG9zZSI6NjU2MjQuNzksImhpZ2giOjY1NjI0Ljc5LCJsb3ciOjY1NjE1LjY2LCJ2b2wiOjQ1MzcuNzY4NjI3MDc5OTk5NSwiYW1vdW50IjowLjA2OTE1NTI5NDYxNTgwMjQsInRpbWUiOjE3ODUxMzI5NjAwMDAsInZvbHVtZSI6MC4wNjkxNTUyOTQ2MTU4MDI0fSx7ImlkIjoxNzg1MTMzMDIwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkJUQyIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjY1NjM0LjE1LCJjbG9zZSI6NjU2MDIuNTgsImhpZ2giOjY1NjM0LjE1LCJsb3ciOjY1NjAyLjIsInZvbCI6NDcyNTguNDE3NjE2MTIsImFtb3VudCI6MC43MjAyNDksInRpbWUiOjE3ODUxMzMwMjAwMDAsInZvbHVtZSI6MC43MjAyNDl9LHsiaWQiOjE3ODUxMzMwODAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiQlRDIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6NjU1OTYuODUsImNsb3NlIjo2NTU1Mi43OCwiaGlnaCI6NjU1OTYuODUsImxvdyI6NjU1NTIuNzgsInZvbCI6NjA0MTMuNjI4NjcyNjQsImFtb3VudCI6MC45MjE0MDIsInRpbWUiOjE3ODUxMzMwODAwMDAsInZvbHVtZSI6MC45MjE0MDJ9LHsiaWQiOjE3ODUxMzMxNDAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiQlRDIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6NjU1NjEuMjksImNsb3NlIjo2NTU2OS40NSwiaGlnaCI6NjU1NzMuODMsImxvdyI6NjU1NjEuMjksInZvbCI6MjQ1NC40MDIyNTIxNSwiYW1vdW50IjowLjAzNzQzMSwidGltZSI6MTc4NTEzMzE0MDAwMCwidm9sdW1lIjowLjAzNzQzMX0seyJpZCI6MTc4NTEzMzIwMCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJCVEMiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjo2NTU2Ni44NywiY2xvc2UiOjY1NTQwLjk4LCJoaWdoIjo2NTU2Ni44NywibG93Ijo2NTUzOC44NCwidm9sIjo1NjE2OS4yODQ3Mzk5OCwiYW1vdW50IjowLjg1Njg2MSwidGltZSI6MTc4NTEzMzIwMDAwMCwidm9sdW1lIjowLjg1Njg2MX0seyJpZCI6MTc4NTEzMzI2MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJCVEMiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjo2NTUzMS4wNywiY2xvc2UiOjY1NTI1LjQ1LCJoaWdoIjo2NTU0MS40NiwibG93Ijo2NTUyNC42NCwidm9sIjoxODA1MS43NDQ1NzY4OCwiYW1vdW50IjowLjI3NTQ2NiwidGltZSI6MTc4NTEzMzI2MDAwMCwidm9sdW1lIjowLjI3NTQ2Nn0seyJpZCI6MTc4NTEzMzMyMCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJCVEMiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjo2NTUyNS41OCwiY2xvc2UiOjY1NTE1LjYxLCJoaWdoIjo2NTUyNS41OCwibG93Ijo2NTUwOC4xNCwidm9sIjo0MTA5MS4xMDQyNjA3LCJhbW91bnQiOjAuNjI3MjMzLCJ0aW1lIjoxNzg1MTMzMzIwMDAwLCJ2b2x1bWUiOjAuNjI3MjMzfSx7ImlkIjoxNzg1MTMzMzgwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkJUQyIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjY1NTI1LjQzLCJjbG9zZSI6NjU1MjUuNDMsImhpZ2giOjY1NTI1LjQzLCJsb3ciOjY1NTE1LjYxLCJ2b2wiOjQ1OC42NzgwMSwiYW1vdW50IjowLjAwNywidGltZSI6MTc4NTEzMzM4MDAwMCwidm9sdW1lIjowLjAwN31dfQ=="}},"time_used":315,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":230,"receive":85,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null},{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"cdn.dcloud.net.cn/img/shadow-grey.png","fqdn":"cdn.dcloud.net.cn","domain":"dcloud.net.cn","tld":"net.cn"},"ip":{"addr":"124.174.94.0","port":443,"asn":0,"as":"","country":"China","country_code":"CN"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://futurbcvndf.com/","date":"2026-07-27T06:23:03.208Z","timestamp":1785133383208,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.dcloud.net.cn","organization":""},"issuer":{"commonName":"Certum Domain Validation CA SHA2","organization":"Unizeto Technologies S.A."},"validity":{"start":"Tue, 26 Aug 2025 11:47:17 GMT","end":"Fri, 25 Sep 2026 11:47:16 GMT"},"fingerprint":{"sha1":"47:A7:6C:09:6B:1D:CA:2D:7D:39:2E:C1:7F:15:DE:5D:F2:C4:0F:77","sha256":"EA:73:37:83:D0:38:44:D9:3C:0B:26:F0:DD:D1:22:2F:36:F7:F2:86:A1:B0:58:52:DE:4E:0A:21:D6:89:E7:3E"}}},"request":{"raw":"GET /img/shadow-grey.png HTTP/1.1\r\nHost: cdn.dcloud.net.cn\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://futurbcvndf.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\nserver: nginx\r\ndate: Mon, 27 Jul 2026 06:23:04 GMT\r\ncontent-type: image/png\r\ncontent-length: 136\r\nlast-modified: Thu, 06 Jun 2019 06:42:07 GMT\r\netag: \"5cf8b5bf-88\"\r\nexpires: Mon, 27 Jul 2026 15:23:04 GMT\r\ncache-control: max-age=32400\r\nset-cookie: __uni__uid=rBACZWpm+UhtPSTwA0kOAg==; expires=Thu, 31-Dec-37 23:55:55 GMT; domain=dcloud.net.cn; path=/; secure; httponly; samesite=none\r\naccept-ranges: bytes\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Nginx","description":"Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy and HTTP cache.","website":"https://nginx.org/en","common_platform_enumeration":"cpe:2.3:a:f5:nginx:*:*:*:*:*:*:*:*","icon":"Nginx.svg","categories":["Web servers","Reverse proxies"]}],"data":{"size":136,"size_decoded":577,"mime_type":"image/png","magic":"PNG image data, 1 x 6, 4-bit colormap, non-interlaced","md5":"5a962adf74d92ae702467b3f47976547","sha1":"36f74049375584e3fa69b5ef87e9572336ff9e7a","sha256":"ad4ebea1c3496dd2924789ee009174a2c6289d1200e9811f458fd46f172d1d6f","sha512":"4ace23fe7ec6c7271710030fd423aace13eafac68ac3e76366ce4ce9bdc702caf71c9bdc2fb6a32c8e9791546098617cc0259decd8bb8489afdbce43e1b53a73","ssdeep":"","tlshash":"47c09bf3a615dc754a0d153b42e98271f429511e07046d0e5a13c216741e3448d56793","first_seen":"2023-04-15T10:50:30Z","last_seen":"2026-08-04T08:56:54.554246Z","times_seen":20140,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAAEAAAAGBAMAAADwPukCAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAASUExURdnZ2fT09N7e3uzs7OTk5Pr6+vVa4lkAAAAUSURBVAjXY2BgUGBwYDBgEGAIAAAEXADx8btKYQAAAABJRU5ErkJggg=="}},"time_used":973,"timings":{"blocked":0,"dns":3,"connect":240,"send":0,"wait":240,"receive":0,"ssl":490},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"unpkg.com/@walletconnect/web3-provider","fqdn":"unpkg.com","domain":"unpkg.com","tld":"com"},"ip":{"addr":"104.18.1.22","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://futurbcvndf.com/","date":"2026-07-27T06:23:00.106Z","timestamp":1785133380106,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"unpkg.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sat, 11 Jul 2026 17:56:32 GMT","end":"Fri, 09 Oct 2026 18:56:21 GMT"},"fingerprint":{"sha1":"81:08:7C:A2:AA:81:B4:77:02:EE:53:FB:23:6F:1D:97:C3:92:2E:A0","sha256":"13:42:07:B0:BF:53:83:27:C3:6E:69:00:B5:F0:1C:58:6C:AD:B4:DD:93:08:84:F0:97:51:3B:60:91:10:85:76"}}},"request":{"raw":"GET /@walletconnect/web3-provider HTTP/1.1\r\nHost: unpkg.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://futurbcvndf.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 302 \r\ndate: Mon, 27 Jul 2026 06:23:00 GMT\r\ncontent-type: text/plain;charset=UTF-8\r\ncontent-length: 72\r\nlocation: /@walletconnect/web3-provider@1.8.0/dist/umd/index.min.js\r\naccess-control-allow-origin: *\r\ncache-control: public, max-age=60, s-maxage=300\r\ncross-origin-resource-policy: cross-origin\r\nstrict-transport-security: max-age=31536000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\npriority: u=3,i=?0\r\nserver: cloudflare\r\ncf-ray: a2198d8a2aae8deb-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"302","status_text":"","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":0,"size_decoded":0,"mime_type":"text/javascript; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-04T14:30:18.251771Z","times_seen":17709334,"resource_available":true,"data":null}},"time_used":539,"timings":{"blocked":71,"dns":0,"connect":0,"send":0,"wait":468,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"futurbcvndf.com/api/news/list","fqdn":"futurbcvndf.com","domain":"futurbcvndf.com","tld":"com"},"ip":{"addr":"172.67.130.50","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://futurbcvndf.com/","date":"2026-07-27T06:23:01.471Z","timestamp":1785133381471,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"futurbcvndf.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 16 Jul 2026 16:36:02 GMT","end":"Wed, 14 Oct 2026 16:36:01 GMT"},"fingerprint":{"sha1":"46:2D:5F:F0:3D:BD:73:19:93:72:79:62:4A:45:03:09:5D:FB:1E:A5","sha256":"35:31:C4:67:1D:DB:68:C3:FB:49:03:14:DD:4E:76:FE:13:53:8D:98:98:2E:BE:EA:B8:CA:4F:B6:5B:7E:5C:1D"}}},"request":{"raw":"POST /api/news/list HTTP/1.1\r\nHost: futurbcvndf.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nAuthorization: \r\nContent-Type: application/x-www-form-urlencoded\r\nContent-Length: 14\r\nOrigin: https://futurbcvndf.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://futurbcvndf.com/\r\nCookie: angela_session=eyJpdiI6IlhnUEZEQ1hLNngxS0t2ZGN3TnJjV1E9PSIsInZhbHVlIjoiVGlYZUpmMXVPdEhuTGtoQzhTS3VXM3BIN3J4ZDZnU2dNTWxTc0NRcHNMTXFyNm1wQTZEQ0RKTWJ0UjRERWZ5aDBaQWxVaVdmN0VVQkNna0M2ZTJ2dTdFZkx3amdIYjZlQzEzMHozajVqTzMybnhMOHo1bEpuaXdQM1R3UVN4QmQiLCJtYWMiOiJiZWIyMTJlYzc4OWUzODk0ODBiOTI5NmU0MjA2MDBmZjJmYzA2MTI3ZjViNmY4NWYxNzIyNDI4MDhhYWMzZmI4In0%3D\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"POST","post_data":{"size":14,"data":"c_id=5\u0026lang=en"}},"response":{"raw":"HTTP/3 200 \r\nserver: cloudflare\r\ndate: Mon, 27 Jul 2026 06:23:01 GMT\r\ncontent-type: application/json\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=ZySQaS9ta5%2FDocecNpZDAZH6Xx2pok7DzPYSMfle3YY6K3Ch8f50qoyc9kKDIZubQc%2BD6Hxbp%2FKmLrKvBUTJoYDVcEtuE7E86We9qzGl8ESPSdhI%2BiODv%2FP4KnwYE%2BgLuOc%3D\"}]}\r\npriority: u=3,i=?0\r\naccess-control-allow-origin: *\r\naccess-control-allow-methods: POST,GET,OPTIONS,DELETE\r\naccess-control-allow-headers: x-requested-with,content-type,Authorization\r\ncache-control: no-cache, private, no-cache\r\nset-cookie: angela_session=eyJpdiI6IkYyaURXd1wveFRabUN6VjRZTlViSFNnPT0iLCJ2YWx1ZSI6ImE2aEpxR0lyY1JjR1Yxa01sQW1MNkNBMW1xeVhUWXIyWXdKc2txbVlZaXRGNitxRm53ajNJbzFMREFqWWZDc1wvMkZvRWlpXC9wU2MwNWVUckZxaCtZOGxDOERyRldlUzZlVCt1bktoQnlGcTZtdjYzOWJvM0daRGk0ck1adXcrd3YiLCJtYWMiOiI3NDdlZDk1ZTZmNTczODRjNmM3MTU2ZWY0MTM3NjcyZjJkY2Y2N2M2ZTNmYzdkOGQ2ZDk3NzQzOWE2NTE0MzRiIn0%3D; expires=Mon, 27-Jul-2026 08:23:01 GMT; Max-Age=7200; path=/; httponly\r\nstrict-transport-security: max-age=31536000\r\ncf-cache-status: DYNAMIC\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\ncontent-encoding: zstd\r\ncf-ray: a2198d9239ad0daa-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":185,"size_decoded":1432,"mime_type":"application/json","magic":"JSON text data","md5":"82e80128fc1ca82a278bfb1c178f4cab","sha1":"2985620a19732f1e7f6e77afb7682dcbc3554957","sha256":"65f197e10060c08087c9c729db9949b3ef87389e722f3c8a74b30d068e21105c","sha512":"0b5ae869bb1aca17bf7e0cdf2e6b7bbdc04f0fe12d0fd0f0648858db503f9967cfb9e1db5ab13336c9979fc5907c7affc67d8d26aeaacedc63f11101632dc7c4","ssdeep":"","tlshash":"1cc0c0ed1211acb3af5803123446b88697ce30c01c420340a2200018836c06c0c1311a","first_seen":"2026-04-17T07:46:54.366002Z","last_seen":"2026-07-27T06:23:39.74299Z","times_seen":81,"resource_available":false,"data":"eyJ0eXBlIjoib2siLCJtZXNzYWdlIjp7InZlcnNpb24iOnsiaWQiOjEsImtleSI6InZlcnNpb24iLCJ2YWx1ZSI6WyJ3Z3QiLCI4MCJdLCJub3RlcyI6Ilx1NzI0OFx1NjcyY1x1NTNmNyIsInVwZGF0ZWRfYXQiOiIyMDI2LTAyLTIwIDE1OjE5OjIxIn0sImxpc3QiOltdLCJjb3VudCI6MCwicGFnZSI6MSwibGltaXQiOjE1fX0="}},"time_used":288,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":288,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null},{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"futurbcvndf.com/static/js/pages-common-aboutus~pages-common-area~pages-common-article~pages-common-borrowing~pages-common-cont~e26c43f5.71d4b365.js","fqdn":"futurbcvndf.com","domain":"futurbcvndf.com","tld":"com"},"ip":{"addr":"172.67.130.50","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://futurbcvndf.com/","date":"2026-07-27T06:23:01.033Z","timestamp":1785133381033,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"futurbcvndf.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 16 Jul 2026 16:36:02 GMT","end":"Wed, 14 Oct 2026 16:36:01 GMT"},"fingerprint":{"sha1":"46:2D:5F:F0:3D:BD:73:19:93:72:79:62:4A:45:03:09:5D:FB:1E:A5","sha256":"35:31:C4:67:1D:DB:68:C3:FB:49:03:14:DD:4E:76:FE:13:53:8D:98:98:2E:BE:EA:B8:CA:4F:B6:5B:7E:5C:1D"}}},"request":{"raw":"GET /static/js/pages-common-aboutus~pages-common-area~pages-common-article~pages-common-borrowing~pages-common-cont~e26c43f5.71d4b365.js HTTP/1.1\r\nHost: futurbcvndf.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://futurbcvndf.com/\r\nCookie: angela_session=eyJpdiI6IlhnUEZEQ1hLNngxS0t2ZGN3TnJjV1E9PSIsInZhbHVlIjoiVGlYZUpmMXVPdEhuTGtoQzhTS3VXM3BIN3J4ZDZnU2dNTWxTc0NRcHNMTXFyNm1wQTZEQ0RKTWJ0UjRERWZ5aDBaQWxVaVdmN0VVQkNna0M2ZTJ2dTdFZkx3amdIYjZlQzEzMHozajVqTzMybnhMOHo1bEpuaXdQM1R3UVN4QmQiLCJtYWMiOiJiZWIyMTJlYzc4OWUzODk0ODBiOTI5NmU0MjA2MDBmZjJmYzA2MTI3ZjViNmY4NWYxNzIyNDI4MDhhYWMzZmI4In0%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\nserver: cloudflare\r\ndate: Mon, 27 Jul 2026 06:23:01 GMT\r\ncontent-type: application/javascript\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=3,i=?0\r\nlast-modified: Wed, 13 Aug 2025 19:19:23 GMT\r\nvary: Accept-Encoding\r\netag: \"689ce53b-1aaba\"\r\nstrict-transport-security: max-age=31536000\r\ncontent-encoding: gzip\r\ncache-control: max-age=14400\r\ncf-cache-status: REVALIDATED\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=bvEssQOeZBs6%2FsR52fPNgrCpidPY1RDu7ZJ%2FeRRiL%2FrQDkY99yk9wbCI%2FYIa9Oxltp29l9vDc1w9sp3ILZ9toLUyS2E0mZlWGv2x4c2ABgzCedBW5aJ7VuO1LrOI69%2FQ%2FBM%3D\"}]}\r\ncf-ray: a2198d8f79300daa-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":109242,"size_decoded":41000,"mime_type":"application/javascript","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (65272), with no line terminators","md5":"53ff6c37ac6d6fbd26fb3461bc884464","sha1":"b79f435d97d19e6abc76bd670b647c5214ac2be7","sha256":"5677eb616275ef605bb100a73ce7740df31d175e36f1bdb6295ab3006a9367fd","sha512":"8d390313f33160ff91b5b5ef0058987fb6297b52c44ba6daac9d7bc51c83816d6cc222d42766bd5b259b061c05826c893166f2dc4fbc62b2b6047bc80f5691d7","ssdeep":"768:4pgQnKb6QWm4AmCd0tG8e+W1MAbu7N8ChEAh8sd0Q2Z7wXz10tWNjZNztpptzkl4:4psYId0FHoMqu7NdEAaM2Oj27mKbZrDa","tlshash":"04b3dcd2f6cc2840566fcf4e9341a3fcbbbaba2342697877e4622f244f772d62504558","first_seen":"2025-08-27T01:09:26.18446Z","last_seen":"2026-07-27T06:23:39.750375Z","times_seen":83,"resource_available":true,"data":"KHdpbmRvd1sid2VicGFja0pzb25wIl09d2luZG93WyJ3ZWJwYWNrSnNvbnAiXXx8W10pLnB1c2goW1sicGFnZXMtY29tbW9uLWFib3V0dXN+cGFnZXMtY29tbW9uLWFyZWF+cGFnZXMtY29tbW9uLWFydGljbGV+cGFnZXMtY29tbW9uLWJvcnJvd2luZ35wYWdlcy1jb21tb24tY29udH5lMjZjNDNmNSJdLHs1NjY1OmZ1bmN0aW9uKHQsZCxhKXt2YXIgZT1hKCJhZWJlIik7ZS5fX2VzTW9kdWxlJiYoZT1lLmRlZmF1bHQpLCJzdHJpbmciPT09dHlwZW9mIGUmJihlPVtbdC5pLGUsIiJdXSksZS5sb2NhbHMmJih0LmV4cG9ydHM9ZS5sb2NhbHMpO3ZhciBpPWEoIjk2N2QiKS5kZWZhdWx0O2koIjU3NTk4MWI0IixlLCEwLHtzb3VyY2VNYXA6ITEsc2hhZG93TW9kZTohMX0pfSwiOTMyYSI6ZnVuY3Rpb24odCxkLGEpeyJ1c2Ugc3RyaWN0IjthLnIoZCk7dmFyIGU9YSgiZTUyYSIpLGk9YS5uKGUpO2Zvcih2YXIgbiBpbiBlKVsiZGVmYXVsdCJdLmluZGV4T2Yobik8MCYmZnVuY3Rpb24odCl7YS5kKGQsdCwoZnVuY3Rpb24oKXtyZXR1cm4gZVt0XX0pKX0obik7ZFsiZGVmYXVsdCJdPWkuYX0sYWViZTpmdW5jdGlvbih0LGQsYSl7dmFyIGU9YSgiYzg2YyIpLGk9YSgiMmVjNSIpLG49YSgiOWY1ZiIpO2Q9ZSghMSk7dmFyIG89aShuKTtkLnB1c2goW3QuaSwnQGNoYXJzZXQgIlVURi04IjtcclxuLyoqXHJcbiAqIOS4i+aWueW8leWFpeeahOS4unVWaWV3IFVJ55qE6ZuG5oiQ5qC35byP5paH5Lu277yM5Li6c2Nzc+mihOWkhOeQhuWZqO+8jOWFtuS4reWMheWQq+S6huS4gOS6myJ1LSLlvIDlpLTnmoToh6rlrprkuYnlj5jph49cclxuICog5L2/55So55qE5pe25YCZ77yM6K+35bCG5LiL6Z2i55qE5LiA6KGM5aSN5Yi25Yiw5oKo55qEdW5pYXBw6aG555uu5qC555uu5b2V55qEdW5pLnNjc3PkuK3ljbPlj69cclxuICogdVZpZXfoh6rlrprkuYnnmoRjc3PnsbvlkI3lkoxzY3Nz5Y+Y6YeP77yM5Z2H5LulInUtIuW8gOWktO+8jOS4jeS8mumAoOaIkOWGsueqge+8jOivt+aUvuW/g+S9v+eUqCBcclxuICovXHJcblxyXG5cclxuLyog5pSv5LuY5a6d77yM55m+5bqm77yM5aS05p2h5bCP56iL5bqP55uu5YmN6K+75Y+W5aSn55qE5pys5Zyw5a2X5L2T5paH5Lu277yM5a+86Ie05peg5rOV5pi+56S65Zu+5qCH77yM5pWF55So5Zyo57q/5Yqg6L2955qE5pa55byPLTIwMjAtMDUtMTIgKi9cbkBmb250LWZhY2V7Zm9udC1mYW1pbHk6dWljb24taWNvbmZvbnQ7c3JjOnVybCgvL2F0LmFsaWNkbi5jb20vdC9mb250XzE1Mjk0NTVfazRzNmRpMWQxLlZnQ2RBQXFDdjNTQi9YQUJOZ0lrQTRab0M0TTJBQVFnQllSdEI1Y05HK09mZFlhY3h3RUE5ZVl6RXFIYkFhWEMrWkZaV1M4b0tUcjcvMDlMS21Oc3U3RGRFRVZMMDRKa1N0Z1p5T0taL0lMUTJKelFvb1krTzJtbERtODhjd3BydElVSlJZb1ZwOHExTUVlMU93L1dJVWpVTmZuTkg5SEpWNW05MmtXOGRuai8zcEVoQjhhU2dSKzRrajI0eU9ldlB6Zi9peDJ0NUlqNzlGSEpBc2Q1RUZKMkVvQnlVWlBOSHRXWjFWVXc4VENLTnNQemMrdjkvV1ZRSThkR2pocHNSTWtTUmcvWVJpbU1HaURoQ0JrSXlnZ0ZMTUF6QUFzVkEvQk9qQUpVckJNVkZUazlQUVVQSzBEMHJvMVJFTS80YmNrMEdqR0xNQkt3T3pFcU1Ecm0vK0ROdndFQWhUc29BQWtvWUdwQjdlNExNSW5xNFo3ZDIvbFNIbXJraVZDb3dnRk9HQy80QmpMZGpxWkJNSzlma1dtRUpwZ0tneDhFSzluQVBFUE9rMzBwTkNMcTBCbFNLTkxleERydkZuTC9FQmNLbEIvMllQcWx6bTkyck1CS2J4V3hJWGFjRDBUZE1UVGxsVGRmYnRXbmtFdFZnQlVhVmtXNmU2b3FMU3ZncTg0bHVWYXVKVUdhTVFnMjQwQ1BtRVRlKzhlL3RaYWJUekhadld0Wnljb3FISC8vQlFCRkZKdllnNmNTQ0FQSzBQL2xWaVZ2Ym1UV0l6RGkwTjByTGpkb1ZreU9YSklyWEpNZzFoSklwWUpwdXdMOXEycmVuc1NPZEZxN3JmYXYyOWtSM0xFZ1dEMVIwOGgyN3RqeE1hdVJXcWsxeUFxUXhJRW54d2svazlYdnA0bU5KNXVKTFNoQWVQOWViYXRVWTBuYUNnVzBVSVRoNTlhek9xcW9ib01UMzVrK3dVNU1WNkJDL3FXcUo1VW5BOXZ0SFFsZm5PWVhIMEVHcUF1V1Q5by91Q0kvUjZxSDVKRmIyMXIrLzNtS0MyajNmemx5UGFRU2xDa21UZ2hkQnVlRlBPSWdJdUQvcGpWN3VTVlV0UkpIM3IxUWk3OTN5aUVSYnZmUG4xa21meWU1MGoraHQreFJha0tkWFdwUnlGYUVXMnAzdmdxRHg1a21VVjVDL2NlTjh6REJCYUUvSncrY3UwclYrb0ttTm1ScTg4WDBpL1czcTdiK2wzNzMra3pQa0JZR0lDVUNrR2lDVklJbyt3VEtnUUJsRjBFNkJYSWpwZlBsOUlvUklCMEkwbnNGVUE2a2ZBSGNLRzZXOS9Kck4xL016NUNlOS9qYyszMjdyeVZvS3NzMTR2ei9hVnRFRkdKeEtBNnp3OWlzQWN2UXNVTGxtQ0lDTWtTTXI3eThINXYvM0g3SEtzUklzSUU3Sk5SMHY2OE9sYStOaWRQWGdZSzdkNHk1L2tUcngxWWlIM0FDSFk3MjFQcFBFd0I1MmFvcE5QKzI3MjRrcEhoU0FJVHh2MUZEakh6cGdEelpNc0NDb0NldnpBNFpkTnVHd1dhdWIySnNPcjUvK0dmVEFoYklRRVh4ek00ald3dzM2M2N3Y0JmRDM3Q0R0b2JoZFgyNDF3TWlvQ2F5Vlc0K2JZME5pWWV1ZVJCKzlya05qWlBSM1N6RG1QeStEWnVBaXBFREo5NXNydlgxKy9WSFo3M2ttL0N0L3AydXROU1ZwcXU4MmhxQ0JBdVpOcSs4QVRtVmZKVldXSGVZYndTLzA0dFBUTS91d254NS9Xclp5Vlc1SzVvVG8zTlZxUG0xNG0yQk1qVGVtbXU5cmRkenV6TGZlM3RiN25NUHVJZWFENHdhdW1OMzR2OGRUMWxqaWd0NWpJRW40Q2w0QnA2RDVyYTlBRzNOY1BmZWRGMU5Oc3hMVUp1WHpxTmpIWHNGeG5rTjdoL2ZlbUxuVkcvQS9uMTFZWGpybXFPZHQyQzhDWElydEdkSEpUZkJ1MkNtOThEN0lLODdvSTBQd1lHVEI3ZC9CS2Jvb0xLRCtjUnA3MlB3Q2ZnVVBKanRNekRONW9jVFZSR3ZzNlphK0J4OEFiNEVyYlMyNnlzd3lLRkptaG1sZ0FKN1J4aHBzSHB5bmU2bXV4N085TlJMRjczMTBWZEwvZlEzUUJsazlsZ3NyVEJQSVZhb0hORFFNZFJab0RoVFp0Q1lMSmhEZ09rdHRFZ09oaVZaamN1V3IxaTVxaVNpMWpXbHJGMjNmc1BHb2FycVBkSlFtUGFBelFlZmdLOHNaOCtkSCtqQ3hVdVhyMXk5ZHYzR3pWdTM3elRXUkFYK0FnUUtFaXhFS0ZkY2J0eDVBSU55R2pnV1lIVDl2dlpmSURDcWd5bEFFRDRXQXFPQVlId0NoTVNuUUNoOEJvVEc1MEFZZkFHRXhWYUV3NTNDNDBzZ0FuWWdJczRtRXQ0VEdlK0xnck9JaWoySWh0T0lqaU9KZ2ErQVRMQTJrQ25XQVRMRDdUTEg0N0xBQ2NURUU3TEUxMEJXT0pHczhRMlFEVDZRTFo2VUhlNFFDMC9KSHZlSWpUT0lnMitCSFBDZ0hQR0FuTEF1a0ROR0FMbGdQU0JYM0NjdXppYzM3RWp1K0E3SUF5ZVJKMDRtTDR3RTR1RjQ4c1pjK2VCdThiRVNrQURmQS9uaUJ5QS9uRVArK0JFb0FEOEJCV0kwVUJCK0Jnckc5aFNDWDRCQzhaQVc0V21GNFdFSmNaZEUrQlZJak5OSmdwMUppcFdCWkhoRzRSZ0RGSUZkU0k2ZEtCSy9BVVhoZDZCby9BRVVndzhWaS9Nb0RuOEN4ZU5NVXVBMkplQWpKZUlVU3NJcVFFcnNTaXJzUm1yTW9XUnNUU240Q3lnVmZ3T2w0UitnZEd4TGk3RWRMY0c5eXNDL1FKbVBOdzBlVVJaT3BXeHNTVGs0bG5JeERpZ1B4NUVXOXl2L25GWGdxTkQ1WFV0aGZhQWlIRVhGZUZZbDJKTktzUmN0dzk2a3czTXF3ejVVam4ycEFydFRKZmFqNWRpZnFuQUE2YkVOVmVOQXFzRkJ0QUlIVXkyV0JhckRlS0NWV0E1b0ZhWUMxV05KSUFNdW9BWmNTSTJZQU5TRXBZQ2FNUkZvTlZZRVdvTkpRQzJZRE5TS2hZRGFjQkd0eGNXMERnc0RyY2NpUUJ1d0tOQkdEQWRxeHhKQUhWZ2NxQk9MQVczQ1lLQWZNQVJvTTg2bExiaUV0dUpTMm9aaFFEMjRUTnR4dVhaZ0tGQXZydEFlWEtrK1hLWDl1Rm9IY0kwTzRsb2R3dEpBL1JnTE5JRHJOSWpyTllSbGdJN2lCaDNEalRxRG0zUVdOMnNZdDJnVVI5QXZXQlhvQlI3Vk96eG1Qb3pOZ2ZsSWJBSE14ODJ0UGJ3WkpGT3p2SnpNTkRtYjZmSXlNOFEzTTVWZ0RsZXJlVjRQekF2NjNieW81M0FJQ3hMd2tnVXF2R3lCZWw1UnFYbFZPdk9heXMzcldtSGVVSzE1VXczbUxhMDI4OVJpM2xhYmVVZHJ6YnY2eWN6U0ZUTmIvOE1Ld0lBY0d3QURLbXdJRE9UT1Jzb3pHMHRyTmxHKzJWUVZaak5WbXRWVVkxYlhDck9HMXBrMXRjRWZhd0g0RDJEUWRZUC9OMjBTbUQwenZ1Ry9rdWhoU2RCL2Z6MElFaFlhSG1yVHlOR0hncEhEYVVReUV2eWxFaVBocHZBc2dBZGNVcURoQkF6am94REJhbVdXSEVYTFJVazN6UUl4Sm5ScWNXYU5DMUFtaElwQUFWeWFBN2hwSGxBUFRBRXNFQWlrUGt1RjRBckFiRTROS0VOUlY3b0ZBenRhR3BreUxpb0pmYkYzY2JRTm82RmJsQmdIK3hnVWUxZ1JEVlpqRTBoK2ptRktPQTFaSDJhR3FVbzFDTnVUTGRyZXdsNmc1Z1RvaitkUlMwY2taNUp5Tnd6NVZndWgyV2EwdEtqai9rSjBQaThROHlQbFRvY3JucTRoRWEzRkNEb2NLWXN1YlE5amtpeDZPTWxLUVZTS3paaE1meVVQK2hoOExwc1FQYXhOZ1JodWpJNVlwTXRpblo0NDE0ZVNOZUJidzFMczZHcDJhbWdJamp1bmFweFpnU1BLTEtlWFkxQkJpejNreEZqWkxDbUdyZDIwZmF2NGx2V29DRmlGMGk3SC9yQlBQeGNiVFhtcGZmY0VpMGVuOWE0VHJaM2IyOTI1MG15SGFZckViWEoySVFJYktwNjFGWUpUOE14U0dkZWRKc0Z1VmUyMTYycXNjblpidTkzZEhiOWR0dC90SHhPU21od1U0bGlYS0I2c1RoWmRicVpCNjhTVUdGSVVITzloQzRWOTMxUzJtVzQybTdCK1MvRUVnWUtVSmFzbHVNQ0tnV0cwc3lOcTAxbUxMSW1lS1grQ1FlZGgwZ0U4UFExb2FqQnJnMVVxZ3VIZkxCSTRmTHZFSFROcVEwMXJacS8xSjM5b25tZW01WEZHMlBtRlhETi9mN0M4WmwvQ3E2WCtDWkpsc2hvbkpEc3JFL0FJdTBFTUM5c0dsVFFzTHJncTR2Vk1MZGg1TktnTzRyQy9RR2FLV0dJYWNPdzhsNVJ1T2djY2hrTUgxKzkwSU9hLzJOK2F6ckFDakxFdndOWnNpdDBVRjdCY29SV0NiSzY3Rkx0MjRWMFRQYmdjeEczOVFOazF1VU5LR1BSWmNTN1k3SjVrdFpsand4NEFUTHl3bXhwaDdoSHF2UE5maytHZHBQd1FOTWdRd1hRWU81NE1aaWl3dVJRRTJ4QXdPUWdPQXFHZ0UvUlFsNStGZkY3ZURZZm0yakZJaHV1b3o5WFRoZEFEYklDQmZHczFyVGtmYkN0Q0VoeEM1RkVoRmRBOEk2OHh4QjNmREZVOUpaalJxVU1OS2NQbFhEN3BDbTRzSUg4cTIwcG5nSlJFclZmVDJJYWhmKzhYOEx2ZzNBT0JzT3R3dWV2SnhlWG0yU1l2QWJtbGJEa0V4WFBRTkRJV1RhZFVBRWE5OHJxaW9QMlJOQXNMeWxCWUFNRUhxSmdCVmdhTHBnek1IYmpiQkEyTDM5d0VwRVhqekNZN3MwMFcxTGdUMUV3UnhTamp4b0ovb0ZvS2pIUE9ONWFEZmVkaFhsOGRtY2tPMXVJTjEwajFIRm15eGQyU0ZPbkMwVmg5a1ZLd3JBR0pyME91R2xZcFlxdUpyeFl0UTJtbHp6R1ZjVkNMOHN3S0drVFE2NGthZ0Y4ajEwMFc3MThROFZvcENvcGpLNkM0aTY4OVVSSzIwQStJSm5RdXpYTW1SNTJwV1lYTTlIcGkwNGJiYnVqWFhreUk0ck5WYUFXa0tTRFhPUkRKdS83ejBwaXJGczFrRW1RelhwVDZjZmpFVUdiYTV0aEJldTUvY1Z0YjNrSU5YTzkzc05lR2xYZFdEcVc4SGZlNm9zQ3dDb3FyeDJXK1k3dU9rVkE1bExLbEdGQnFpSVRFdy9GVlBJek80b0xWRzVGSU4wUk5CdVYxbkdoN0pNUFpUWFY1SG80SGp0aktVRXJzRnR4VTZRQXdURnZGdGRDckR5L3ZqdGRSMXlGeXE3TDU5WGNWbmZHK1J4OGZOdWd6RzVuNGhTUjhkZlZ4UXRPUExYblYzVTd0eXB5SFJ5OEt2VXJFaXpBR29vQUJKYk9oSUtiZkpwakdNVmgzVXRUUDd6R0sxcklSWmZUYjNMc3cxcjJtQzRJNlF0S2M2Y0Z4T2owZ0ppOGRvSnozaHQzUWZrSkoxd0wva0FHaGN6UEV5RjQxWTJWR24xSTVwYzUxZC82b3ZkV2wvUisrUHpqYkhxMVBIOGFnVFlXWHZES0ZqWWxRdHgvZ2lvdTlLaWpjM0Q1MVJ5OUNaZ3Fab3EyU1JoVm53WmxaUlJSZ0Jta3ZsZ0JVbDlhSWs0RVl6MExkMzFVU2J1QnJBdVgyY0hSTHFMa3ZhQi9FUXQvZGhBaHVTdkkrbFdzUlNFdlVXQzFlRk5JOVZCV284QnlWQmJjUGhDTXB4OWNzZmxvR29JWVdkYWJ6MXFDMTVwS201R2NTWUtEeUJaUERiZHJVNm9rYldML0cwNGNta3FMSzduYTRKVzNtVHRTUTFscDRLemxkT2c3USs3SjNZRUp3di93dXVydTViTmtTZXZieDBYNHBqeWFMeHpUSUZwYjJiVENsVGFZQUs1VkRVNGd3SVEwb2FNSmdzY1hwTXRTUVBXU0puRmxxU1lIVVFqSEdPR1JLVUg4TzM2Y05yOStTb05LanM1WHhTSjVLeStuMkZTM2o4Y2VweUlCa1N6Q25IL0swN3M2cG1YaXphbVYvN1VVT2dFSkRCcVJCcUhPeWdYQklJVkh3Vm9vUldDN3FCSXpQTXV4ZUR1VTViTVd2dDNWOEFwNTFSTlZNSStnaE9Hbkdob2s3dDc1UURiZlgraGxWcjdLWEE5M3NTVVV2ZFZxOGc0aE1rdFg4dWlYcmtkV3lqbWF3a3duUk9qWi95V1NPUkhUMWtaT2VPVTkxOGxERW0wOGZtazVmUW92T1p3NDhuNmxCMEp3aWVqUENWUUhOeStZaTNuU3RSTmRSWXNrMy9LQ2R5ekRPQlBkVDNSY1NFV1RuTWhjMUt0dUFKZU5DRXhDd3hidlNFZCtFV1NMcHFBb2twQlJEeWJJTHcwR1dKNVdJQ0xVeG5yVTN2NzBaSkZRNnNuV2VKS2VqQnlrWERYUks3cG9CUk14Szk2cmV1dm05U1BJL3VGVkcrTGV5TDF3SWlGZEpGQW9iVlU0c0lUc0VqU2tWdlpTdDloRlBGQW1DTUdmUFdvK1dya1JtMWovSUNMdUtyaGpQTVFDQXhRVEtSV01qY1Jsb1FvQXJVWXRBOUxyenRpYkhrTk83a2dmdDN4Z25ORjFER2l4V2NPQ2svZTZEdVZlTDM3c3R1Y1JWS0EvOHRqc1RpYVhsWnU3c29YOG55Uy84U211VlJtZHJWbGxjY0xLR0VON3ZxQ3J0Y2N6djE0amZtVnlReWtBZjNpZzFHVG8xTThGemhYd1JTT3pad3BuczRMbG9HOStTeUhRZ3BWeEs1TGNHVmVWNnBVUXVKRFY2VXFaUDVNa29JTzAvSkFLRC9temdOSGxDdm5nZUZXUHJZSWlHVGNXOVNFQXdQRkpHWjZURitmZ3JWQlpqc0xrQjhvVGJBVU9EWEEvN3QrZUtRaUR0ZGVWcFdPQ3EwNm5qOU5aRW1RaW83VUM3b2NrZUFtMkpZeVFRYWFOajhNYk1vWnF5VDRTNDBCVWhKNXV3UXl3M09lcE9XMVEycklUdDFIZzNlQ3VZRUR1RFRsSWlFb1lTTVNqU1ZIanUzcks4VWoyL2tQZkk3MnJlRUVuNUQ3N1RzeVJ6NDZyYjRGd2M0OXFldjJOc1JPV1NIZm1tSHgzN2JyaXVYRHRaUFdiRmFJYUxyY2RjVUpuSDFVMkc4ZGtrMjR0VmhqUmVIZTNyQ3doc1N0eHhvNnAxcVo1TFcrdTFrdkQrRFRzckZnNERkZnlRQ3JURHV6ZEhPejZETm9XeXFYT29uY0Q4S0xUK0M4cE5pcUUwRGRleVRwcWQ2ejJDSm41akJ1OG16c1hRQTRVMHNwd09rclY2VmFZRTMrOGd1SUtnMGtBRDF5Sm9oNi92UnRDcEtIcGZGeEtsaGpJNVBsTTVOazZsRHVRVVBJa05kRVdhWGsvaTl0ZFdEcHBzeVRzTTl0Mjl5K3NBN0J0WUhFUjVxMmdiT1l2UnRtWmpiTGduZ2hLbUhlU1hLaHJLR3puTzd2MUVnN2ptdnE0c3ZvMVdsMC9FMjB0SDlxR3l4NWVlVkp0cjI3NWVxcmpSUFZjcGx4eDFQN0NxNVc3czBGUC9sc1U4aE0zcVJOTnlsVEJUd25iWWJjMGE1K2xkQjVNOFV4enlWMFZRMnIyV2c0emZ4UjNHQk1Hb241VDM2ZENUTXNYNEdpcUYvMndYazNPaFVKUjZndGRCMTl6QndPRjVMN3poLzhySzhkU0I4ckpHb2xZcWpUbWUrMTd1UURZN3RsL3JMTWlSK21Kd3FFVWJTMDlhNTV5bzJyNFFSRkMyN3RnYW14eHdDWHJIVzJPakt3d3laaHdKVmtRSG9qT01oQ2JWK090RXhCenFXejE0NGJJQXdQWEpXU0RsOVYvQVQzZ3QvRnZWOURMcGE0a2tjWVBLNzVHTlJBMWFEaUhqTU1QQVRUUmlmVmlYSEE5MDlpbjgxcTFYdlgrd2ZIaU42MUpYRkVDRXF6WVFFZnYvSERGWUZGSXR5VWp6NHpLcW03b3Zsb1p3V1BUUUg3MUxNZDYxcXNOQk1UZTdKZW1Td3lIcDRsYXJYUk5DbjdOTWZ1NFUrTk9SbGdBSmp1ZzdlWC9YQUhSUVF4b0NmREd3emY1Z3JpMy9xdlltdTdwUHE1WUVEVmF6KzJ0clpNZ0M3cFZ0VlRkMkhSZ0ZmUE0ya1kyNUxsNlNPYzNRMlJJRlVaYVZ6Y0w1NHErT3pvNE5NMVh3THZpMm9zUEdpV0pVbjlRU2RsbnF5WmdiY085eU00eWlOSU1pakdkUTJ6QlVIRjRVVjZvbTdFV0NLUzV3Uy9KM3hiOGQrU09OeTlqT0x2dTJKb1A2MFZ3a01RTjA3WlE1cXFwTWNkK0NFNFFSUG4rZFgwbXZ2TlprcFZkZlFmaFBldjFWMFozNndXYWNoWVlRM2VSbXZ3MHk1TWFzTzBiMWlpYlBvZjh3Y1dpRWJPWGhCNFhBUDRTK0I0OXErZ0ptWHpOR1RRcUNEeGJ3NVdENjZ5L2ZIclBmeXVUN1lXN2w4S2RuRTRQczR0NzN6eis2MUt4T01PdWp4RmoyYVRURmU3Z25wN2tnQUJnVnNEMTBDdndHcW1BRXJjQ3F0SFpXRytCVDVzK0lJd2hVRHU0aUpBcDR2NHFMSFR3VTV0bmdVSnJ4NEM1WFdCSTIzcXpNNnpJaGxmdVU3UDFDUHFmclorUURWbW1DNE5vS056TDFPRDJhU1dDMDZzMFduMGZxWlNNZHVwaGl5TkMrb2thdHBwU0VBUFdrOHFEK29peDhFWWlDSmQrTE5SQWJTdFVvczFycTE0Z29SVGdlVmg0aTBsNCtSV21NVldRRUpFaEJ0TDRJSTBXZTZVQnhtQ0hnWVNTK0xCQ1FVOHBRYlYzVHdWYVgrd1ZCc1ErQ0QwOTF2VUVmYUFOVGw0Zmd6R3UvYzRybEZoaDV5MlEwN3NuU2J6cHU1UUpnTkxTb2xBR3N6NlUvMFpPaHBwcHBwMGZMQXdGTVZCbG1uVkpGcHRCZ3BtVktHRUNFemczYU9QSm1IMWhJcEdsOTFMa3M4RStnY2pENjRnU1RybHVXV0FBUmo2VVhIaFFuRE51QjdrZVR0MG1nWEtDZVZWc0hCYTB1RnlNYUtpZlNVVUN5ZDAyMGdCRXBBYjZjbVY1SXFPSjZ4dHc0RzJqUEZiVmdkaDk0eGlzNjFoTVZnbFVBN1RWNUxlczl5Tm9peU40N1huRm81bXF3djJMZ2xwNXV6TUVMbk5ROGtHM2ovYjN0K0lqRlY5Y0ZJR3NIc3V0amc2WWJGTXFQVzEzVmRJeEVENWN3T3Y4RW0wREFJVWNSb29uMjZPUVA5MjNpQTQ5RG9iRGN0WFlLeGNSM0FLVUpzRW5mWUlpQW40TktQVloyNUFaMm9sRTUwbld0TFdQL2tuK3JTUUY4NHBiS3RSQ1YrZDBCTEJyZ0pXdVE0UmgxNjhMZ2ZqY3RpUnlxUTFuaitub0d0L3lVd2hnNUhrZUV5NGR3SWM3Q3ZsbTZ5dFFaOEwwRDcveFJqejB3aG9KbkhINUNIM3RuZFdWb3FOd21hTHpReXNNUXZBKzI0eUd6WUQ0WndDYmZUK3RoSjhrbEtJMGZKbER3MVJ3eEtES1dMVVpDTm9Qc3NNZjBvMldzMlBmaURHM2N2Z2NJTFEzOGtDR3VpVkFNV05adGZoQW9wZGRlbStVSlFqNE9udHNZR2tJQ2hHWmxTQy9vL1Vua1RWM3lFREtESkJ2QXFBeVpEY2c3SlBsbUIzei9OdVF4MGJGM0lmY2c5OGpabHRDakdEQUdwUHc0UUV3UndmZ1NKWXZqYXRDeXpHOHkxTmxNeEw0bzVIaWt4S09saDFWWWxUemo5bW5rbDlSQmM0YWhRdEkwd3lNRlhZSk1jMFBnZS9qY3dCUGRSQ0xjK2FKVTNDV2Fxc3RBdWZDSWVvbXJzSjFBRkdZNi9td0hQYWhIVmgveG1mWDJTWmhWNmdZRUpoaW5IUGpzL0R3WDJkNzdCaFdGaHZGdlZyNGpTdWgzb2luNmxqUVJmdmpQK2IvU2xFajVvZGhwQ0NpNGVoTmh6QmhMZExuS0VQN0JqUitaaGQvWTJTRkljVjFyZ0tKd3llMXNyUktaNWJIT3h6TkcyaGdHeEMrLzArUDgwV0t5ZlkrcVFaZGJwUlh1ZTFSMkt4U2wyaTAwWktBNmtIVTQzTVdpcXllQVB3b0FWYk13SG5qaytDSTNhUE81anJtSEpHcCsrdkFlV2pFcVUvYVNra2lwNG40MlV1cnZMTVdxUCtKK3JpRnU2dXhscFFseHhscFFHSDlaanB0T0tmYUcwUDlWZUF5ZUdDK2lxZHMxOFEzMFFNMktoQ1hoSHJva2FMalBrbVg4T0tsU0ZVMUQ4MWh4Uy9kM0FLY3czQXAwU2dUNmo5a1g2QW9XMFZaQ1VTbkU0dytqaEpTbTVtNUVNRkNQNFYvSThSSHpDMEYrSU5qWUNJVmtsWWxTdVVxTmNsblVPZ3RFbWNvZVdod2dsZGpLcWhSUCtwbHFObUlDV3ladWZCb3YxL1pBc1pRR3VaUCtuaHdEdlBKTWVYOGN3dW82b0pmWDZoVjJGRDk5NDFzMXJCUTZuN0RBZEkxNXk2K1g3NHZRSHRQNXl0YjNyOG5KdFptYUM1RWNhQlNMYUFOQ1hrd0RLem5hcUZES1J3ZGw3Yi9QdTZTbzFYMDkwYWtBMW9UcjBiRUVOcVptaWJlWUJodlNVdHcyZ2lsSGpReWwyUS9jdXY2UzQ2MzB4bFlGOHo5cmtCK1pUREV2cGhFYVZLWm1NaXdheWc0U0lIbGhBcEl4RVZYNHExRVNvWTB4ZzdwbktIYXVZVEx3WWtPRnVtTEx1Qi9JdThENVNJYSt3WlRvTnhKUEdPTmRaRW9MSXYxeExqSUpObzRLMHdPSGhqVmpjbXhIU3NuT2pPNDR5UHdqNWxwTE93SnBJTlQ4a1dqVDRXTndlUE9YQURXZVVlcE95WVA5Qnlod29ON0Zac1UydlljQUdvM3NKakViVDA2ZG5WT0tCd0FEb2N6dFo1MGVrTEZ1MjVpUTVFeTZsdXlnUVJWVVN4a1pQWkNnMGhnZDBsN3hjK3pGamlTK0k1aVdESUt4TDdFSWh3cmNTNUJMR2d3aUdKY1B4ajRlNWg0MnBNakRMTThXUTVUZTlZVmYyVE9SdUtMMW9CY2s4Z1lZOWtQV2ZQaDU1eW5WaWkrWkk2VDh2T25YZ1VRV0pBSU5pUGoxcmtjRExkajd4STh4VlNKSS9OTmRUNmJSK1FaTy9xNnNSTWM3eCtDaWZScjlrc1NjNTdXb0RPaXNsYThTbStWaWNMRzlXL1dqbjJTU1FJbnhTNTJiSXE3aWdEU1RxQ2lTNmc2Vkh2OUdTaCtMYjlLRmd0M0ViY0U1bGY2cFNSV3VETnNuelZGcnNMb2VjdENuWGVPcTRYM1d0ZDM3QXh4a08ybzZRQkdBaFIwOUNrQk1wRVNTUnlOME9zRFFCc0lXQ1hXVTVxRFdld2dxSXhYUURwN3E1dWM2b1lhZUNGNnpwakJDVVpLR1NMaWtUazFEWk5iM2Yya2hpZjBQVFFDZVB2Z1Y1QXA4OEV0TWNVbkVzQmp4UmJsNFZYNzgvMTgxbmJic0FuUjlwTzdsMW5zKzRkWTA5dnlrNnhOSjh1T0tjeVQ4WDNqMzhLUTNPTWdNaEJxdWRUOE50YWRVQ2FvT3dBaUZBbXR0SkMydU9Ia01GdGNHemwySkZxSHRmN2lhUjZFZTFDQllGZno0VG1qb1doMU53aE54V25LQWR5b3pKM0RKdlhEME81anZBL1ViSjdPMnpSN2ovTWE4elhXZWxCOEh4dTlWbklFWjhLM1FwN0ZVMEswM1VvTm1wem0yVjlld2tjdFN2aDh0dnp0WkhQMVdjTjlnVHhKTUJCWGlpaWVONUhYMHFBWDNXZEptTStDZytMWExMSFVNTTlKNE5aVTBFS0RRNXkzWlNYYUtuVXdIZVZHVmNXK082R3VXdGdXYTY4RnVlWEhQZEN2MWJ0bGQ5ZGU5RFZzMjM3VVhGU0ZQdTdDMnVZMmE1QlpweVh6UHQrSEUvUERvanEyc2Z6TzVWNit6aXRab3Zqc3Bjd0cxMExZR0xSeURzVVhlRktpM01iV3V2MWpuVjFtVHltTm9rTlhqNWt5ZWdxTkZLcEtpQUgyYndNQUIralFMeHFsUkVCeHFCVTRyUXVaTzdOdzNJc0JUZXlJQ2pTYjJ4RXB6Q0tYT3VIOWRvVFVOc2hJQllSZ2hKR0FRcHJjYlNnd3RubFdlMWpFaURDU1VXN3BiRy80bE5uNlA5YTliMkIrUk9qRTYxNjAyQzNkSnVFbVJCTUFtYWZHOTZjdUJ6SXBCbjhiY3M1T0hmSnVsbkZITURxSW1DcjhGUEUwMTlFSm9sTVFOV2ViaitNWmdkYW9vSmR6cW1hWVVBeGo4RVZ2aTRndGUxYy9QdjBCbWhLU1plaXBFVHFZczB3Z011dGN5YVdHelFjTm9Db1UwSTR6eEZvVGNtL2RtUVhkQ1NJT0pHV3p4WlNWOFBqU2p5VW5hQzhxV0xtU0pHNFJyZzVLL3YzZ3o0a0hjRGtsNWVIdkdNRG5jRVBmb3d4a2dRcVFUNW1KL1BFMjdRcVcxY1FsVjJGZzVMN2g4VndxTXlVSWdaSlM5bnhmTmV3QzA2ci9vc2srSUt5SFdidTJRRWMwaXgycnJVVy9tMkNsTTkyendyNjdsV25zdU9FakkyUlBOS2dMcks5Z0lvYkRZcVZ5L3JLeE1uOThHUVRFL3Z2NnRUbzg4Q3VHZ0hmMGRsVFZuWG13Tit0aWp1UzFyb1d6N0RMRGtSbTNIT1p4ek01MlZjMm5penJ1SEI0VVdycDBaT3dEZ0V1MGgvc2tOZE1ORHdBeDEyRCtpSVdDYWpPTXFpUVlPd0pOSmhtQW5CY085d0trWlFCV0tQcisxYk01Y09ZSEVOakoyMnZuTHN0UGFWQ1UwZzdsUHVkN3RGcHBPNXdhUUZqbklwZnN6RHFUT3VTVGl2VzVYa2VySXNualN2YUdqSWl0ekc4OTJKd1ozY2dPNmk4YzgxSUJLUlduY2pSUWx1R2JVMDI0TmNDdU5VcVhmNWdXYnNra1cyOGtCRDk3MUJJZjJiYUFRYkFKNVNqbVhKcXZMZzQ4T2pnNGd3OFViYnNET25mVGdNdzhydDhKbXJqUnBiZVh5Q29CV2JlLzdnQmRQazI0M08xbjFiTlJhWXdROHk1R2NNTll0QkJMOEZPLzlUNFk3blhKZWJWL05JcDRJKzUyRWpZRHUwQjZsNGdNUHZLYXErTGhTdU1VZHhFMzVQamN3WXVtdEYwbUtxTnlIcGpSNHVnbEtQUnR2ZXg0V1dMR012SmtxQzZqNDhkd3dqeVdBeHNHdGlCTE1FVzNPT2lXYktwWnVWcVR5Mjd0TFlLMDJQWmx1ZjlabUptRFIzRjJjNEVqUVZLd203NU1QYnVzRENtUW0zK0pJTjhPWnFOMjM4eUdtWHhxdDJ6dlgrdU1mSFdRQ1NYTnZTSU1nMnFubFUyaHRaVWhsRDZEdUM0UTJjU0dsNmVPYVQ3WGowY0QyWGRnSHQ1LzdQR0g0ajhIRkU3M2wvSlo5bWlXYkNXbTgvLzVIbnJkMDN1Y3ptRUJoSTVPOS9mMjdXZExZTU1YR2x2VWJPVG9oMTF6dFBFc1g3ekRMVFF6N1hPMEg3K3lnQW0yeHd6b21OdlpRUTVFZ1BYZmJtRDcreVpPZmpSK1VWOGtXSU5zYXZobVExcU12YkNsYmg1N0NSbmRUYnl0dC90K0lsVU0yY3hzUFBCcnc4M3JiWVVJdmV1MHNoeVFEYkczN2dFT2d2L05VWkI3U3JkY05PaUl6L3ZUeDR6UC9pOCtPcWlLVjAxa0szOU1Tenhpei83NGk0Qnl2QXdsQjRMUU05Nkh4Q2EydEoyWjdQOXk3NDJVM0lLa2MzSnlIRG9sbnpFU285cFNFcWZPQWJnTVlQRXErc1ZEOGdvQXBCUjVpWjBUaC8wclErUW8xS2hJOVh6V1FtaEc2WW5ZSndCdDRndHZaWDM1RS9BYnNUSkhXQXNzbUFOeDRkNVhsbTh4TjFPeHgrc0xPcThzeGxCZ29QZ3Z4VXpES0I1K2pLSlY0bnI4TEN4YVg2TjdEcEo3aDFNbklUdStyTGg1c2FzMVpEVnBwUk9vQ2hRNXF0L0htNXNXMVhYQXlwSWtrMlRDeWt3cUJuOXdXWVhJR1hhdTdXOVpWd3Uyc2NLcjBvN0hnMWEwOUo4K2pWSkJ3Rk5uMk95dWNFajl4TVhqVDZXWmV6VFN3Q2FmVWJUVGQzZUZnaUZtVnArNUZBVTA0QzVCcWtqQWoyaFlmdVNHMkM0V3NRQ0hkUWJOemNPTm1pR0RlMnR3Um1jYmNWemxQT3oyZHZhdlhzRm1CQkZlQmlEaG10N0sycWlBS3c4Um9FSmtoNWYrVjdOcEFwY25UWXhvN0NyczAwVlJQSXg4aTZWMGdTNTJiMW1uZTZNZHR0QnpwdkdadDcyZGtvTU02akJ5SGdrRG9CTUlqajRaNVptNmJzZk9KZldPQWJINWgvb3F6OE01NFNRVm9lYzNvSXJCWSs0cVJmQUp0WldJdUZLVHF1T2NBWmJ5M09tS1NUYUtYT1Z2cTkveWRzUVAwblhCd3B1U3VBRnVwYnFYL1dMSFVCMHFqQXlMWiszcG5iRkpUU3Z0QU15cE9KNm5FRWx5ZVlEd2x4ZytDalU3ZkRWUDZVdW9QamN6UDZEMW9Pa1ZRVlY1Witua2VwUFNwcjZEbjIvWHRDRTFtc05iSlN3M1h5TnNkcWFwWWZaNHZ5OVZLZ2NCNnhCWFpUcVFBaXZzSjU0d3hRSk03QUYzN1ZJUG9VRzllVTJyWVFLdWkwQTl6TWFIU2h2dFEzbTFUWlVtZkRQUm9pM0U5ODhQOURtcWp3Vjk5WUlnMU5BTXBIVkpTTFRlL1dwM2R4NmJhanpoSjczb2d2NUliTFJEQjlCaFdSaFljUlpHdjNKWUpEWnlWU1FObHRXNDNJeGhBMTFlZFp5R3g3bW0zZkZkWXhsUjI4bGtnZFJmTSs1a3J2K0prV1RVWjViUHpUK2ZNelVwcjVwVEs1UHdhcFJYVGVZL1EvOFNQVi9aVnJyNHNyVkFyZVRJQmJaZE9ydEtOaXlFdnZCK25EdGtPZkdtNnpwK0V4ZGZxb2M1UEkzazgyUDhpOVZYaHFtNlYwWEhNRFJYVkQxQWgvTWIrSi9RK3FyMnNqYnFGdlRxOXVicGgzTHQ3cWdweHc4d0tQUmk2MzRmMW9iVWNMS3Rtb2pLTjg3QmY1MEprVEZUYUhKSjJFSDhLRFA0UWxZSFdjM28vWVVQVTJ0bGJMUGp5bmZxbzJ0WE14ZGFrMWVsSHNsc2tqbUVrY1FwUktiUmxwZHNucTluVHY3L01odHRMZTlWTk9vLzNiM3U3WGh2Rllvc1c3ZjV6cS9QT012OGxUZUxHTDFSaHJvSm9DWXV3OERZWFo5YThoV3dsSDRPR1c2V0hCMSswUFZLcmdvWi96QU1qTDBrRkwyWTVuNGl6aFNyNUl5bW10OEhvcWM3clo1VGJvYjI1azAyYzdiNTJla2I0UHVFR3Y2eExLNWJwUUNxTGtsZUxZK2pxQVJzNWs0TFpOK0xTQlhzc0oxdXNQcDZSSUVoSU9SVWI5TWR3QTl4WDJ4cG9PeWdUODVFcFNqa0lCbEZUbC9zMlArY1hQbzMzaWhqZXJ4akRmSFI0Snk5ZnU5V1FaM3ljeWExc3BES3ZwWjl3Ukx2ZVl3MXRGVHpGTXl6S1lPb2dkZy92N0R3bjJwODRhSStDYjhnOTloQ3FlVHZvM2s1UHZESThyM2FUSWlWWHA1ZjJHVVpTMitOQlk5UFU2bnhUVTllb3RNZ0VoeGxaNVBqQTYzUW1veGlrUnpmNDFEU1ZGazlmU21tZWhEbEhWV2JUYjJMR1A1Z1JCVFQydjBhRUFXZ1NlOWVoK1NNYVorZUlzREY3TldkVjZrcUtvcWFqQjdsNExoMG4ydHFKeDJSaFhKa3RHcHdWZTduTkZxN2FXSkcxVEFnRUFvQ2pucmpBYmFzNUJlOG15dU1Sb1BlRlVodnBqYzhwVDl1eDFsdnFNYjA5MUFVc1IzUWVaTkVsQlZ6QStjMlpvZTBFcmpKbFFxVFErVURWbzdhTklkSUg1NFJ0RCtTZ3BqWTR4cGNKRm81N0pudytXRHJVVUFvTlQ3WDhEanA5Sm0rd0NDSG9Eb3UwQUo1c2pUbmNHeHBzaHRmZUVRaGJMN1NaZVpVWVQzWmZVa3dTeEhHNU5BRUdaUUpOU0l1N1g5ZWRGcDhNb3lwUDYzaG1TK1dLN2hNakQySm5LK1FwS29wOUsrdk5uV1ZvR05Kclp1VE5CT2xqUGo5cWoxWTg0ajBqQXd1WllSanNHbHBza3lnKzRERmJRclYwWUlXMG45aDdFUUt1Y1lGMUZxakkxRUtWRGFCYzdXMitteG9wZFg2UWdnZHVhRnAxMU4yZWswdUxJbXRDemZOL295S0dvLy9qTGI0eVozTDRHRHhzSWtha2xaTmF3bzd1UGl6UGlRcVp1bnBvbjlOOUJROFFRUHZWeVFVWEtZdlNGMXROZGRvMGIrMnN6MzZnSUkxSGFrbGp3bGVlS0VTdUFwZEladmg3U2krdlRsSXluazloSjdzOTFLcU5URmFhYUowVktzTkFSK3hrRkpMTVE1YlQ2T2c0cnJOcDE5UnRyYzRaNVpudVdMYmF5emRad0ozUnFwWEc3T0VQMFhKZFRVQ3dITXJNcjlUWnVqODdYdTNGalBKZ2VxVC9ubWlqRVpNL1ZuSFM3VzdNaTByR3ZRWmtOSm1haStrOEV4TzdWbkZ1d3lEcExxdGFtSWR0aVh4bG1kSWkwMGtuUm5hVXREOWpiVktkVjlxVk91S08wdkl0c29kZ1I1d0U3dHo4bEVSZ1pYQVd3NG92OUx3c1llZThoOVFtdzhhZ05XTC9LKzlkUWFYSUNMdnFlUWxVSlRLS1hGT0UyNmUzNWQyb0FLY0RoeW56NFpHYjh2NDJDelovdUVFeEtqUHR5T3NEZml0REcvUkxLY2FOMDJLb3lHNDRoZy9LNmhQdGhJbURtcFpBQVp6QTdYTkU1aERLcEZpdVRLM3B6MWNENTIyYm5hQzBLbjZOeXROek8rWm5wUSt0ZVdDWVd3TkhxMmRKaXFsV3FScllKUzFYWHJJcXQ1RnFsRTZ4K0J0K3pWQVUzRVZ6M3gwQ0tBNlhnTjYwb3ovTlR1QTZRZ3VFVTNZNTVwT3VuZTZpaUlOc2oxR3o0UXpabk1YM2k4NjM4c0N2bHB5QUowKzVIWFBuM0ZhMmdxaW03ejFwOWErWlc0KzBJZmdlbSs5NGxQNWpMQzdONDBjZExIQk9OV1dLZmE2YlozSGVrZGhJUXVIZUhSVDZKUUllbU1hMDZSb05LYjVORmFURytRR2x1bHdJMGJwSWRFQkttNTFjRkJ2QXBWRmtMK3Qvbnp1cWdVbG8rUllrR29TSFRVc3I3OE4rQXFKeXFwbU5YeHNWZTNzZTJ6Nm54alVjbFVHTHo3TjA4VVJoS09YaVBpTlp2ZENJc042SXdOM3Q2SEpSSitaZGRjWmNwZncvWjcrZTM5aDRIcms4bTJUUDRzVS9tRmFhZEpwVW1mNndDamZMbnNTdjJtNWE1U2F5czBySFEydVhyUjFmMXJoTWtNaUsxZXRqV1FyN0lVT0ZiaTBybHEwNHlvNVBXYTZhcVRhemp6OGFrZ3p2bXByYUNSTmxGTjdWVi9JY1lIUThocHliUXdaN1RBRzJJeGwrM2ZETm16RFliZ1hvSXo4Zy83ZGpMdVp3ZlJxaUxPMG9CZVMxMVJhdEswZ1pxT1lqM3BTR09EVW1nclNpMWFKNkxXa2ZjWVdlZ0QxZFVpaFlHMVUvOU0xRXUyYW9YdDArUkRZbER4MWNPTHVEOHB4UWJ0NjdkMmlyMWtTN2JRZ0VsNzh3TWNFZW9xMThsN0FWSWJXVm5uVmNhM3ZFckdoRU15bG1hM2ZuOURUazVHbXh0dklyTDB4TndQR2JMUmxadExwT0tBOVJ2bTFiZVdNUkhTRUs1WDNkanl4YVJndWoyNm1iMGRMTFhKRVBSZWZsUlRjVzZtVlFORzhKQkg1K1N2WjkraHVGbW0zbnQ3QUcxOXQ3dXRSTjJJWTRmUnBlUzlUUTVOZVNWZ1MyU3c1dTI0cXRvZmd0d0JReGhmSTdBR1NHdTB5YTVwUnZxT0pPNlZyMFNZeWpBMDhBUW53ZW9wRFFUZ2lGSXJlR3RaSWJ2UGNpVVpUckJUNlRnMVFWbFUrU3pwck9Ta25aekRNRFZjbFNVbytCQVZZdGF3QmNvd3dzMUM0TVVMUVVXYXI2NVlLVUphTytwS3BZU3NwUWk4Z0VLMVdaZVd6Y2dKM0tiaUR1bS9SanNYRXhDQW5jL29CM1Z6MitkR3lRU0xUbWhTaW16YXZOWjh3K1UvTnBKdm5VejBNanhHcml5RkNvSlhFU21wcjZCbjZjWFRpM2N6dlAyZ1k5WTdhVTdIU01NRzgyVDZDSitwMmhudHdiMmd1Nk82RlFWRTd1eEVPSVFsRzZrcmNkSmlNYXgvckdqUGtCWVlIVVIxb2dXSTBFTFFmZVJNcmJJN1pIM3RxOWNkcDdJK054WHpGMzhkOHl1YStsSHhJbU9GeUtTZFhHSERkdUJ1SktaOUkzM0prekZUVVMrenJSa3ZVSTRDY1lFeDJQSU5wcUhtYmNJVEd6eTVMeWRyY05oN3ZmMEE2RnFudzdURHJpT25Bd0kwemwwOEhvaUxvMWlJUHJRdFcrM3VieEhYZ0FNeGFwdk5OTWtWY2FVMWZHWWxwSnJaanl6TVJBS0U1Nm5YejhVSkZiTkVXYVZqendiMEEzb2dXNnpGZjlsREZLLzZ0TW5RQWRqK0hyUnJwOVk0QTJINHB4NDhnSEh3R2FsaFpQeXdQUi8yM2xqSEcyL2hjTjhtaTVOK3hqSWEwV2lzVjl3TGw5Mi91bml3Y3o2d1FMSFNuUG9wNS9QZkw5aDBkQ2wzby80aE96SjBTL2NTZmdPd1cvZVJQbTg3eURnRXkzb2syQ1Nab1Z2UWJlRk9jSjlFejhCb2tZSTNzVVE1d2Z0Z09UWSt5TGR3RVFyYmtYZ2hLNlovdjBOTHh6Mk4wb0pUZGdFVDIrMnhCZDhFUmdndDBiVG1rNElualVPYXoxOFVBS2Z3bFpFMHRlZDQwMTdMRU1yUEFzSGRhay9HdnM4SWlDRmEvYUk5ZnNWcEMveHE5S0RHbTMyYVRsSHpVeXVsVTEwWWErRmlsdU9TL1czU0dXSGk4SlRxT2tzUGhpbkdWeWpQaXg3WmZNUFp1cmMvN0ZRdzNBcUZiNEhpNGNrbnJGclFVSnlFMVBMaCtFRlNXYTBKMjZkSERWSmtUWXdDdEJkRnlkMkFXVVY4aXEzV1BNQVVUMG44WkhMUnptanNEYkdINEV3aVVnQk1PdXI3SFAxUndXYmlzc1ZIZGZoYlFhbEhMc3lST1dkMzM1S3UzdGllTWJlUDlKUGpYQlhTanBrV2ZMR1liZzhaODYzelF2ejB0NDJPYUY1aDhmc0ozWGE1ZVgveDFwNFZ5QWFGdUwwQ0x5MTY3Tmp3Q2lyYzJ0cTBWa3lXWG5XS2dnSDhTQjJJS0NXQ2dPeWkrQWVxN3o4MEY2VTIzVkdpYkhxcXUydk0ycTdVQm5ON1pyejFhQ1ZxKzdyRGpNTlNWTEVJTjRtaldOaERwRW9wT1BDdDhPSUJDRHNucFdZMkR4WmdLVitBMFBnOGdGMlBJYmdTYWVsUWMyZGVJQ0JxVXcvQjVCWTczakFmZ1ZmTmFoSXJDNUk1d0FDTytJUnVKMTdJZEkzMHk3OTN6QWdjREpXZHd4K0R1cmp6Y1BIOE10OUl2NkYzQzc0WG1lMDhYYW81UFlCdVQwRWVzcEd1K0lMZXM3dkJ2SEdxSDBrNDgxWlhpSWt0eEZwVHJpQXJHUENJaTZVdmUzM2lhQ0Via2oxRXVsalpJRUxBRko2VW9DVEVCeVZSRkxnWWdxRzgvY0VoRDVFZkpxQzRpcFg1eEJRNHNGemFJMVFzN1BYQnFmTW1xYXdGUUFDNFYvNzlxZjRBTkpmeTd2VXdFZmlaTmhVUUQyTWdscVdHU0Z1dHgyZzBPaXVqeS9xT0FZRnJsZ2JtQ2ZOK29pcENYUXBrMklFa1RwcHM0U2dnN0hVQ2xVc21sVHlTTGZGQjlCZXI0Z0xZWHZtd2lWbEVEQkp1REZLa0xIN0VrZ0s5dmEycDdVU0hYeHJDWFJ4cVNUazFVbU41TGl5bGlEZ1N4SWs0MlprclFCL0xMYUFMV1VGeG1XTFFtS2M5MUsrRzcrblpBZStNWGdjOE1Yc2NDNHdnOVg4NzJyb2R5Y1ZEMmJ6bVdsckdJV1JoNmtZTW1udStPVnpIMlhaNm5WZEgrMnJXb1NDc3BXUmYyN2hNdUYzSUw5OTI0aE1CdWF0RlhiKzBNRjFJcFBERTRFUnV4Ym5uK3cxYU9reER0MlVGL21peFZIRkpudUFrc0x3aEx6RjZXd044QitnRThQOFZxUGtlcnU2d1NZRG94QWw4MXFIY0R3ejBBZGNEZnZQcThidm9CVTRUeERrTDJRWGwwMnN1cG9VVEcrQ2VGL1lpdndIYjM0NkQ4M3VBcVV0ak82MTZ3M2pCMkdLU3JDaE5tSGthbG9sQnBWNGM0MzR2eXRFcTBUblhSUWd3V2xITGUzZzRzVG0wdWRLSDVSR3l0MkpXekNVY290Q3R2MCtCbVRHWHhuYmtXeCtsNTUyblM2UXovMjh6VmlsYjVqT3RFYjByV2ZnWnZ1UCs1L3dKTHR5cllFLzNQeHdNcWV5OGJ6dTRadGR5UU9qRHhiN1hVWS8yY0dQLzFJcnBGaUVlSjRmUXp0SCtqMDBmNVI5cU5kK3hBS09SMHBFRDdKcC9wdkJMVyszcFUrYWdVMFRGRlBEb1BZaUd4WGI5L2xGa0xvN3RMVkVpZHZ0M0NIL1dCNFVrMyt1MEFVYlVqcERSVUdnZ0ZLT0tzTFdGWDdpSkFQSEtQRExjdWc0YnZKTmdOQUk3WUJQbjg0cFltWTIyMnJCdFFrbTNrUnpLaW04NkcwbWhYcEVQY0JEcHlXL0tQb3gyYlRkRVJORFpUZVFVQlpBMHFEMG10cTBrTmRwYzR1RWZHR0t0UDFrMHBwQndsai9EYnlZMHJyTG5qL2w4M2xXVWIwZWVjTCtDaTRnOW83SGJaOTN1VnZsNmZCOWRwL1hPNEdoeDUveW9pNjQzUUhGdzFiVVR1bVBYY0EvNng5bUtpN1YwSmk3cjdYT2FuWldOSUhrdzRFSS9xMjg5YTBaMWNXeDB6TnUvempmRGVFL0lWblNMa0I3d0Q0VDVpVkhYWjBrcURCNXVtRUJoVldRNXpka3g0V1dTTUpEQTZVa1dna0ljbWU3QVRiSlZ2OVRyYTNvcEZuU2ZaandybDlmSlpNczRLaldZenFUZWdZellwR0VrUkhkbG15RGQweDhzdll4ZlRCdGtWRzhzbnZrNU5DbHBDQkM4c0RBbEd0SldRQmI2cVl6WkpJNkNsRitoQ0xwdER2cnJNV1BGS29NNlovejZhWThvM0cvWjlxREFlbnYvTENJMXF2K2VxMUNVbVk5TjRIcG85NzA0QXdzK01qUERXVWFVZTJzWWJ3ckl6ZXUrYmZxY2xnUHdaMmljWG1BTi9uVThDUVB6Tmt5TTR3ZzAzSHpoZ2NPMzVrSFdCNjdObkIzTlliM3Vrcmgyb0VGd3lwZ2NOQk5UNEI4bXZ4bDJpMUxyWFVpeXhxcTdsTWtTNzhJSlJLaEQ5UXBXQ0FMQ1FYcEhZd0c1eCtNL2ZQcXRqMTRHR1BsY0NxbjBZcnBZZEc2MzluZTk1MDExYlFTQWVuTUVRZnkyN0Z0MG0zcFErekt6Ky96Ykl0RnEwTGJPMmNPa0I0aXFob3J3ejdsMk5BaHFuZUw3S2ZYdDRpQlI3N0RqTk1iL0tTaFNQY2lVTi9UUG5jN2Y4YkFpR2ZLMyt3cUEydkZXZFdQSU9MZ1FkYW5oSGR0NFpYTDN3Y1llWGJIYTd4d1ZuYTRERjEyRTV2TjRLV3FzUFhoTHpFOWR2NisyRkNvb0FrQ0xmSVNXN2JYeWFYb3hNdzJtR1I5M0VIdkM4NkdOTDFLMjZhSlNCSHpmcVpuNEd3bUk3dHB2UlQreW5kM0J1anlQKy9JTThoUjc5OEdRWDJ2d2NBNFpoM2tvaGd6R1NJU3JwSm9nNlpqQUZpbnh2bWtDYThMTVZRRmxOR29vNHh4c0svUWo2R1ZreDBhL1JvenEwUmYwazVWeXdOK3lvbXN4LzdpcVh1MHFaQXlVUUp3c3FxOHNxUzV3TjgyZTY2ajVqZk1SOTVSb3ZmTFl3alFNZDRYcnloQ0d4bHROSjk2akJHTHlPbUxya3V6VW1kRDdVRnNiVjV5a1BzZDFybUpZUDlkTS9TVEhiYXowTmNJMHVML0J3WlUyYnhROTh0eU15TDEwRkl6ZjBzOEpmUVdocmdMS0Z2cXhDKytiRnhMUlN1NlNNelZQWlJzM3haNXB3c25DVXhKZnJLcXYvbkFDbElUNGVrbUJtdkdZeWZTM1pNVEphTHBxUEFyVWJHemdSbWpDQVU1d25pRHVJSkM4V2FaK1h6ZHJJYnpoM09QRmhVcjFCOGNnZnVsSVFFb2NpdUx5eUl2dGtGdktnSFJTaEtTS0MwdmdEK3B4NytZMHZZNGZmYTk5Vm1tOTJJalBNODBTN1VCWnNqZFdTVVg3R05qWnVpaGxscERQS1pwOUwxVUR4Uld2MjdPaWdJY1hTY3BxWFJIWFhjZU9rQWtkMVlCdk80NkluMVcway9YdnFSdFBYbU92RDQ5eEdXbmpWU1h6L0kxcktIdDAxMmU0cWdIaTloT2ZXdXdabHRMb0NUeG1pNTdWVUZSSWlScDRWTnVIcmZYSWZ3bm8zeDhXbldjL0twa3ZoNDBIc2hHcVVUOWdZcHRvNFl1b0Z4NzRKZStLTzF5MXJRVTE1U1Frd1hDN2dIcHFuU2ZZcnlvcWhkMkRUQ1NudC9Ma3ZONC9xemlLdFF5c2EyTGVwZ1owZHV0OTZhSGV2S0FkNjB4OWZTb1JpdE5rYnhnV2RtVERxaW9ydTdBaXhDRVl6cEdqYTYyRW5xeFBaZnNoak5uZzVsZERNVzU2V2JkTEVXczdwTVRIZGIrVXJtY045R01YV1I4U2R0S0dZWFUzOG12TWJ1SEs0RkZnelVreDZMUFR6VFBXZ2RqM1JQRUZLKzJWR3FlS2lRT2c1QUgvcTJBWCtNNVFWcGc5UlkvY1FSM0FSTzhmU05VTEN5cGdQSndnSlJYTEpaUWVPaEF2T0NNY2dYQS93dUxUd3NLc1FNamhHNFc2YUYxNG01bmpVY0xERE5GOGZsbStXdk81WmlPb0gvOE5CK2wybldzdndaL2QrbXBqWnF3SUp0azZIS1Npalk1QTZ3SFRlQmowQnZLK0hrL0pCOG9HRUc2dDAxNzVRNHBYcEFEWVQ0aVFIVlZjT29sSU5NRFJRQnlUTXo1UkJSUXZEV0lqSTFldXQvSHpDb0RMKzdwMjlpbE5kNWxaSktEbFFlVURSeWFoZVdJT3Bxb1NVVTZ1b2NGdXFFTjErN1JHMkFyeWNzQ2QwYnVtUThvZUZQOHowTFRITWdFZ0hmaFRsellROEloT3lxWjZ0QkhxMkRwbjJ4RlhBcG5VMWl2dXYxOWpnSjdPZnRsZFFsdGU1UkhxU2plV3NucVdBYklTRS9vOVl0MnAyMGg2WTE2Q2h0bmVuUWJ3TFpMMGx5enNLNThxUy9GT2ZMR0VyQW9KVGtlRHRzUUVkbjd4ekZ2OHl6VmdnVllObWRVb0xRQjh5ZWtoT0l2cU1mdlRzMGtQOEZ6QU9QcGZHZnVNNjRmTGZuejdrT3orYzU3STh1Y3k3ejNwenZoaWN1SCsxV2gyU0dlWlNhNlpSS25XbXBlMWhtQ0pSWVhMejh0WEFBQ2JkZnVOQ09JRW8wVzBjT0NNR3lBRm9Ub2JYR3VvRmtYZWN1TWhjeVE1YVRKWjcwYVpsc211NHBhSHU4RWpKRjVuWHUxaVRyaHByV0pnTE4rUHc1VzJRbHcwM2dTVGl0QlNZL0kvelM5UWNrSVFZSTEvUjR6eC9qdUJrUnZJL0grRlpHekhZdGpvU2Z3TW1zUk95QlFZMEdQRitMMnBkNk5JT3d4ajBKTStrcUN2ZXVSN1FwUVFTL01TZS93VDhDV08vYjB4aXczUG1hZ2MzWWg2LzVCU0c3Rk56a0hMamNPU05YN0JqZEVCdU5tOEdaRzI3aTRpQk5adThDYkdaMXFjbVo0Z0RucHFDY0RCZmZJQ2x1NW01ckpNc3IvSE5PVkxNZytYVmN5QzlObUlEbEx2VkZMdGdiT0hQY0NKWnk1L0xITE5MU1l3NllPNk5udGdVaC9aUGdKR1d4TGdrWkJ5M05ROGZpcGpVNmZoUG5FQ2tXaXNXUnlQUllkYldjcVR0anBvSmhFZ2hPcUtveHVjbTd4QnN4SWVCbThKL3hNemlDNlREdjB0ZzBxN0ZSU3FPaTVoaEJqTG15bFNvQjVsNW95RzJFZkJQSFpNVEV3Wi9pYkpJamJyK0hIRFNaZ2szTk9LZWZqZlRtK042QlhyeTVOTUs3YVlLaEFkNzAzRmJ6bFRyaXNYSmpsbW5leXVwcTJsekZ0OW5VeGNwNDhvR0t6ZFcvOU5JT3RoYTNwcm1TelQyS1BWRGYrbFlqS1VYMWRwZ3V0aUgwL2VmTFRXUno4ZU9aazRIeHdhQnFOYzFVSVlyYk80b2hvclJDRkt0NFJsak5vWEdBRCt3dzdBR2dCa29WVjgzOXpRRWRMNmxVbGIwcXZLWEo3R1ZPU1pMOWtjbEl4R3lsbWNTc2VSSkdKZ2RLOTNlM29hcXZGN0tBZldyMURaTWE0RCtGcUxoTU16N1ZSTExmNUpSUXdqczFmcEo5amw0T1VmNlMvV2RwMWhJYldyOSt1WWh1UHducS96MU01QUdWakFPSGp2aDhRZzBhR1Y4L1JpTnVwWWxFMUtYVXNLRnRKZExHV0QxaDNRc2tHbWxMaWtoYkNuU0xkTFFMM1dFOVN5T2hJUG43R3RTOFlxbGlIbFh6UGtpZTI3M1liS25aQndqNGlkOXM5TFBLZTdNVEE2QWViMFlhQURVMEJYNTdIc2J4SzQzS1pzRjZpeXFOdC9NNHR3Rm5PU1FTVTZsaU1TVEhQazZQZDAyUnRoYTZWYUZiclh4dWlqRDlNVmJ1V0RBWDF2SzRxOUxRMGVTc1dEVFpHdEk2dVloNmE0ZGhDRjl4Sm15SmJmUjdWN256UUc4LzNPM2NEY3NSOU0wUnpSR0NGVUEwMHZYVUExUzlReFdrcXJ4L3VQSjNjeDZ5TUdMNjZYcUhmT2dxNWZ2c0Vyb2U2cmN3V3ZTREtnYzl1UHJwTytVcWxHK3pyVjluTk8rSEZPd1hydEwwRHZwSGVMcWUzbzgyNmc3UnY1TDBLd3RxbVVBQStaaGVoYlFMUXVZcmFvOU84WWo2aWlROHdPNHpKVmVUVGZkRGxEN2htK0V2eTM3Z1dlNjRoTHI2ZVZmdStxd2ErMHR6TDRWWE9GZXkyd0JuZGhJb3hGVyt1VU5HQXhPK0UzTnJpUlFtaFZTYlM1U1I2NFp5K2ZWRDgrR2ZuZGlXblZ1TkJwcVdtSmpvbUJZTHFrV3JSdE0yWk1Sdzh6RjRiZzU1L0FJdWM5d1dHQnVFWVFQOFk1eTF5emhKL2h1TEh6QzVUKzMraE9KRjY3bjVyci9FcVpUS2pzSEc3c3prYlJyTmlBRXpIQmtkRTlPaUFlanFyS3pXY25IWjlldDk4NGdmQ1VnQ2haQlhTd1JNUUtpZkFZOGtHSW01Z2xVaFFBUGc4NmxTTThzbUo1TFpGQTJaYVRPejVqQnRHTEt2ekFsdDBiUkR2RGxNTjhiYjYrRHg4aTlvaFo5SWdjWlgxQVkzZ0NERHVoekxlTFMvQ0swZ1pCOC9hQmh0SVRWaEg0VWh0UGl4SG9JUUlDS1BXRDdrLzEyWkFDM25mdlg1N2o5VVRsenVEd1RsbXdxeXR2MUt4dFJLTVYwYWNwYXlJRHVLbHFKcHhRQ2Z6bUxscEQwNUdzdGVTYWFUb2trMHN6Uk1GOFllMDRyaGFsQjdmYWV1ekJlclBtMytnbzd6RmNhaDhUbHJBMWNGclZxUmczK3MvWVRvdUM5OW4wcWZUN0pKemZXZ1c0M1R6U1Q2dXczUW52L3lyK1c5ZnQrazJhQ2MrNTRMRXBYZi9JYXlpWG4rZ0s5YmNxSkQ3UzNUbkJLb2ZVa0xCdFA4c2FLZlNlTmU1NTlOUFR2dk5VNjZXbXk1bjc0ZDBYTUFDQkF0UllWN255NUhpNWR1QTNsc0xlMm5oWG5LVDdROGRoNXRqS2FWZjFDbXlQT2ZoSi9teVVMSy9NSVVUYzFXZ1NreWpTd2swU2FGa3pRU0lFZ28wdzdERGsrTXFaMmNHeDJkUi83SG1DYWNCaHhuMXFISHREWndlRGg2OXliazJmMXZ1SklEWW1HTVhMQTQxU0l0OGRtcmNSSWhHZ3EzamdoUGJmOVgrZTdkVFV3bmJSVVJrYXBSZFBmYVRYcEtHaFlyOTAxUHd3QmpvNURBOStQNys3ZkZEYnVDMW90anRua0RlWFlrYTZWU0xJeVFlcXRTelZQRDdqMFlKUkxDSVpHbG8zbVYvaExwcVRLSlRMTGVzbFV1OWNsU2hZOGZYOEM0WGpHeDBxcnk4Z2wyTjNzME15dEs3dTkzYmZ3bXA1VURXTEQ3Q2VUQ1IrUko1SW1GaFJNd3U3S3dnRHdCVkdFOTFkVTlRcFd4QUJ6U3VXaWNzNXl2UmtaSHlYOTJ6bkxLZE5VZEJJV0lqckVMMUMvMGFnaEFlZ2M5blZWTkZ3QXo3SUh6TVpFbkZ6NmVRT0xydjNUQVkyT0lEbU9oQStiTWhiWmxQclVhVFoyUHdJeThSYWN4c3pQTjh2K1ZNcFM0ZmFNMFJIS2g5NG0rMUJMMUhCZ0RoaUlrSDhJNWxvWnB1ZEVvVElGM1ZIMHA5OGNrMktqbWcrM3RZbXZxZmVjc1U1WnBsbTdyOTlXeEpBU1lWMWlmY3BTaVRxSDRpbE1hdnRNcFo1OXB5cW5MK2hyMWxNYkgrWlFUWDNOS3djOUpTQjlSVTE3ODVDbUZEL29VVWlxY1MrcW9kNmF6ajE0b1JaNUMrendHTXhBVUxpVHh1RUpNSXlaTXcvYWw0R09haFZuTkljM1pWVTlCcy93L3Zjd1ZERVZhMFJUTklvZk53dnJvRlB5K01GM0g1SzNqcGJ4MFlMem41a2JYTzdUUTNZQWJ2Y1ZCVDE4ekZQSUlORUJGSUFFa0JGQUFQYmR2a2dKTUZROEcxQU5RTlUwSjZIb0lxQUdrSCszbkV2WUZtUWZ0TTk4YmJCNjh0OTUyRUtCSEJ3ZXFYUTBDUHgzRC9OYjA4OFM2Rzlaci9ycFJNY3hxUjZ4T1dJN1VwaktkZnQ3ZHJiRzZ1YmJRd3VsWHpHOWZZVmZFUDFEM2Y3ZjNYUTltZ29DOVJ5WitMczlFR201OFpiL1c1QU1uaTBJYzVab1RNeldzZE1McTV1dVAvOTMrNy9yT0x0b3U0SE40WTEyMnRJRWlkMjRpcnB5U2preERMcWJNc1FXR0l2ZCttdTBPNTJSSU44a3R2cGY5a20yQXozRzdyQ1FjdDhpOWgwN1NoK3BKRTlBc3ZhZkkzU0JnejNuVm90SlF0WG1IVTJ4U3pNRVpkK1BwQkYyQUxnRlZLclBMeWJXYkErR3U3RG5idWlXTnJMTXRUMFFDaFRQTEZEZVhBWmc5OTcyazAyTXU0ZklNbHpwVXVFdFk5UWk0MUtIR1hzS3BPaTRaOG5DWE1IclNpMzVFbDRoemlWcWt3OHd4Q1BnOE5pZEViMFk5N0NET0RNNzkzY2Q4UXpSMU55V1c2Yjh1bGlzR1o0Z2RxSWR2WEtmdDlqbmlGSEVPQkY5c1k3N1pMRVRQeVpDS25VcnJubGhQV1Q5WnQ4TFM5UTJDT0xjZGdtK3RneUE2M3NKOHdIYjQxQ21SYVpqZUplQUdkZlRXclQvL0ZLQ0NzRDNZNHhqcHg4dGJ0NGNwOUhOZm5UZGk1YWRQRDloK1BURG9sL3A2OTllT3p2VDhqejVVS09mNDhkOStBMTg5Q0p0ZjEzRHhUalprdGxpN0c0ZFB0aVpYZTEyRUhjdmVwaSsyWEp4ZThRYmhlSkdYbjl3MmZOTGQ2TDVOUTN6U3UyVXdqWFhCbjlLeStyeVZjck9xWDZKOU9ZcTJ3d0EvdTlHQnRIM2dxeWNhczJZNThPdzM2VXNzbHpBT0Z4WWt0ekllclFNV0xHNkZiL1U2TnBweHdyRkFMRThSQWpLZi9KazBkY3hweVo3U1BJU2kvSDV4WG5KcGl2U1p6S2YwN2t0bVIrMEt1dGlrUnNIQzI0bFEyWkVJMUs0eEtIRkdOblRnUlBmZjYxeWRzMzMvdHBlYVl6bmhacHptMjN1Qi81NDRKcFRzMDg3NUpHWXVVeSthblUxZWxDbGhmdUo0dHdNMWErSk5rWExVejkyQ1diU3J2aHhVQVBsZmI0c2kyQzd4OXg5S0xBc1cyUVJHVjBYR1lNZXNHWjJXblF6NnFpRFUwVGNmOWNsV3FyWnNEWUJXSXJidGdCb28xckxFUWo0Mk5tSzg0RWJ1dFhqYlh3QUUrQXNtcTFoZHp0Mk1WWXh1NTY2T2ROUW85WSs4N3U2MWtLeTdybTZiR0p6czdsYUgwVWRONTZkZjF0WFdwcVhVMUFRSEdyK2RyZmordlpWZ3FBVkdvU2VpMjBuVDNxbkwvWTZIZ3ZWOXhtSFFZWHJ6MHMzVHpLT1o3d3FXKy9Na3NDMXN4d3p5aHZEV2srWGVUVlhldDZkWll5WGRnZDJIdHdsenZTNGVXN0FYTzhmdW9UMCswRFh3SGhPT2cwaDd0NHN3UmFWYVZ0cmROZU13NGpEejVPREJjTm5Bd0MybkFhZHBEMlNxK2xuNnlvSXNWbVJrbXowK1FwczE0YmdkNWc5RlJGSXN6ZDhyMWV6bEJHdHlTWDlrMitBV1lSTEFMRjBxWjlaRmZVbXVSS3JGM09SQUpTc3FNbERieThzZFowRDlQYkRHRWVsZzdaT2txUXpDTXNOOEhuOTZiWHlYNm1hMmJBNXRaakJEenkwem0zUmJHcU1hZXlyclZaTU9wRTJjU2NNMDFvQ2ROcnhaNHlPVXN0ZHZPWDRNSU5nYk5YcnZGa09sV0RhUE5oMmt5anZhdldFRFZlK2dwOUp5MnZkQ1Q5Q20veTVNV2JON0FCaUxzN0RhUkcxU1htTGVjVmV5WEVRVkVIaFJGbUNnK2xBTnp2c0JXTERiem1YMWlmODdFRnM1T2hZUW5wRDYxRG5KNEhwUUIwSmh2L3hIT2VYbmo1cHduMEQ1KzVsTnU4K1lTZStLR2ZkcGRFbWwyZ0dpSW9Yc0tPMm10Vm1DeVRydHJzcHVXLzVSK1o4L3JMSXlVWW1zeHExRUtoTXJQaDZZWnZlQVFvYjlISjdKR0ZWOE9XTjdKdVJSUnJlMjc4M2xhcUgxdGJQVWpETVphdE5yMWtLMWlXV2E4ODM5RnZ2UlZmQ1NhNFlwSzhPWVFVbWxwVWtROWE4WEJlR0JSdGtDdzFWaUp5c3NsTEVjOTNwVGxNYkF2T1Z4OFZSRTRySmkyMit6ODJUVUo3SDRFNnIvaHl6NXF2dXA2ZHZkUmM2N2R6a1dIL3gyYTZuN1ZXdDdmeW84UlZ0dk1LUUhJVDExOE1VYkVKeXdiL0pRaGNNdllneC9DaDYzdnRXRE4xWExBMUtnYUYrbThqMzduWVV5MGkvRjBGUG5menlybTNFS2xlcFcwVHA3TGI4MUJmNnhmMTVaUFA3WCtNa1cwcXZ1emZ6SS9nenlwTnVIMW1hejZYYk1oSjNhMEN2TExZREY4aXVqeGF0MjY3cVl0NWxkNit3aU9JZzF1dHU2TlE0RVAyMm83dzh3Z0gvd2xSdy93b3FiRkQ1bHQvTzJOSXRjNkcwNnpMMnQzRDRROW9wTG5IUFJhTUZQdDJ4dnMxaTNyWS9jRm1EUWxjUEpKTFkxbS95V0RCcVNmWTV3eE8zSEFYY0NCT2xzKy9yS1hhdkZjTi9qUjMyd0NJOGVCWUcrUjQrZGlhdGRuZnY2Wmx3bVhIaWRleEFyK3ZwV0lHb1JqU0k4QkZvTENJc0ExTk11YkJwRzZaa0IzYytLS1ROcjVkS0t6enZtT2tyS3hJUG1tKzJCdjhMY3h2bHdMOGNMY1J6KytCRjVBbmxjNkhGQXVCdytEcDl3MHpNZDBKdWRONStiK2VsZWFGSzU3cXZzSzgrL3gyOGJoWVBRMWk1c0Q1eWtkb3Z0TWVoaU1VNEovQ05KQXNET2ZaNDczSHhRN0NGU1U2cmZTb096L3JGYTVwRnBnUk9KZk02VDdZaENzRkFvWkZDWGhvY0dpY2JTV0V2TWF2eHlEaHgxREhEdmNhUUtDZ1NvK3ZDQ0xINUVpVWthRFhtY2dYQ2NSVEVFcFU5VWFwSXNOam1ERmZsUUlpclYrSWhFcVJzc1VFWnBjTXVEck1WNEZUTmhpV3NpaU1YVW1DY1JvVzFERks5NFc3VWdKYlMvTWZFcW1uUEloMS9MaW8wVjNMWnFrT0JvdXdXTjNGZ2cyQ0c0TTRwMmo5NjNseDNQZEdaSHlVRUV4aVFmZUNaNXRDcmNYemhtYldWc2ExeTljM1ZUVjVOT3M3UWdKUWF3NEVYbjRDOVhWcGh6RUF3Z3VVZHd4YmxJWWg1UnNsamliL0ZFQ0tLV2VES1BRU1FsTGgyRUhuMzNnNVdWU2FJT2VmU29uMEtKSnBaVysxYjlPdnBlSEdSV1ovdFBPdzcvZCtlek12WXdMWXJWU0VpSGtpU0lDQVR0cHN0clFRUktneEQrMFlwVlFiR0lLaXFMZmtsZ1VoWUZOUUtlRzk3cXcvMlJqYUFpandWcFlLKzB1bHEyTHczVVZWM0xDU0dXMjQ0dEFidWswd2xKWWM5dHExMDdYeDNiZ1dEVU1Ia1ZoWUprQUNCWDVJRUlYNnNqSzNnaXFncTltOWkwQWQzRVFJTC9pa3FpTWRYME50TXRPWXhsS0JRR2krU2JWVlkweG0xSlBpbWttWmpCVmp2SzgrMzl2bUlRRWtMdkpscVk0UTdHM3RmWHdaVU9SRTE3R2MxVlVDWG5rRisvVGdMcC9OZkp3WHhsenQrUlg3OHFMbjA3ZGFhbmpiU3FhYlZwV2ZPbXB4UVc5cy96djhmRnBhUitXNSs1ZHFCdDdIWHpHbUVwV0RYSk9taExnWFhDMGUreDhjbHBrMHMyR3RSYlkxWm0rTlpuLzVUQ3dmNTU0V05zOTBYWFphd2JhSjE4Y0Fjdld3a21MYVhtenFQZll1TlQwc2I0dGxRSHNObDlrU3M5QTFYUGlwcGNTVGtlTDFCbjJFUi9DSFJkbEVHdlIwWFpyYng3bkNLSXoxQkgyd1IrMEhrMWRsRjNMMld0bk1UN1g4cDU1TGR2SThLZVR3ajYrQTN0RVpHck9ib0ZqK0lUWUZjRkZha2dLSkJVaFN0TTRLUHdXNFkwT1NkOTd3N3ZQWTR4M1lVZ3lPQndaZnBaTzgrUzBtR1pFeGJlWllvK3NYZjRraTlZdjZnR2xjTDlPZDN0ZThsWk94TzdSTzZzSVo2OWpyNjllYUNiVGVKU1RDalhTNzRIUi8vTVJhWFV1RjMzeHlQK1JWS0xrUlZ0MjZvUmVrUS9WVkFWeFZUa3Z3aTgvM1h3ZEVObmE3QTJZZFZTSUxPbTVuanQ4UVVWQjRUSmFxUE1FSXpTemE3Y0JNNmlIdTJHVXVtaTRNU0FjdHdlSlM0S0diMnh2SXhZanQyVFJKYmtodkxVaUVtOXd3U1llclc0ZE9xTWtoa1dUbFhmQUtGbnpxd1BCVzdtSzliWUplKzVmK3h5aXZzbE1EVWVzVGdVQlBmcG80STJqT2gvS2M1emI5YzRwV1IzRkhzMFNUeVNTellORlhzMUpDeGUxQkRWTGwwSXFmc2YyMVpCcnltNGV2YmZsSjd4Ly9LdkFlRmVoNmd0b24ycHJsNjBVZmovLzVHalJBbEJQNUwvb1B4eEJTcnFTMGNtNG4weW5nZ1gxWGhlSC9HdjVrS1FJQTZGeGJya1pUMzRZZ3FKZGxlV3FvR3I3MEk0NTQzM3JvYWtIWi9YNWJxOE5sMWxzQU91RnJJRzdxNEx6NTYvMm9NWDlIWmVUN1lVeW1tcGp6ZWlRU0t1SU1sUFd4V2FoRTdDNWlmNWgwOGdDRWVBYWJ6OVlJbTFrQjBSWlZlOXpnNTBtV3o2dXpHUDNnOGlvZmpBN00yT3NkUEJLK1FKWUhSK1hXQlVuOGFGdWRoZjBKdFo0K3NKRE5pRWdMK242aStKa0lsMGtvaVVGZjRqTC9XdkdMNzdRZ3FoMWlTYU9XT1IrTlNVdnpOdnB5L0xiNDJhZzMxcmJHYWxab2dtNi91ZmVsY3ZQN1lZNCt1RVdMbWZhaWc0NFhzaWI5SGN1Y2lnTnhPNkl3bEhTcTZzZlRuMnV6SHo4NDhXNlc4OUl4SE83NWJadUFSc2lrcFBNbXVnWlVFeVd0M0t2NEJYSXZyYmpUcy9MdDczbmZaYjRobWJzNG0vMmZ1WDhMck5lT0paS2dEejZ1UE9oaW5kZTdmM3ZDOXVYOExkMS9tN3BLZ0VTU25KM3VkbmtVSVhSOWRyYXJiZnBRenpvbFBRNmNPRmk0aEN3WFRZVXVwU1I0bkZRT2VRbDRhbnNkQm9HUCtmYXZSeTFmNTJpSmZHaWdMUktLeE83aHhOcDZhbE9PTUFRQlJYVzFUekdENjM1b2wwcU0vYzJVeWZjY2k5QUJWbkdoblY4Y3l2UEdzZGxkZ0NRdGpiVEt2R051L08vTEJkYXFOcjdkUXhLQTdGcjBCZnlwVXEyL2c4dC9qVXUwb0VKRW5JL3BiSHBDT2MwMlVYWDFhNmlNd1NmdDI0Z1g0b0dIRUVNUml6VUFPamJOVHVvVUZlSXRzMEFrMEFhVTZJTEdPOVVkc0dkemVEbnBFODRFQXl1RVY0aUd2alZGZzFNdGNCUnFqNGRsU1cwRUlJTGtFTDlpSm5zL3M2aUdHZmtjanJoTUFka094SkRyTU1zL3BvK2JFemtHUzBKRWo3WVNvdjdwNW16VE5WUytLZHphUS9lY1Y2UVVwRGlRWlNnVldwMVBCZVFpSlVySVZpbWRvT21RTDNsRWxOZ29xWFFCRlFlSEZHRWhRSExjdEFoS1BkSk9xVHVGdjBXempTTi9xM3RiZ1orc3hjbkRuNkhCaDBvWDR5enoyNXNoWnFoYzVzaDZ1QVdGTHlpSlZkRm5pLzBJWTYyOEZCbFBSMCtLZFRsVTRxcDZ0TzkrNHFHQ2xjY1NMYUFTU2NzM3UxYnFQUW9aN1ZpQnhFYmsrekhxSERya25obVN0TUZtV1daSkk0VFBZWU5aR1p0SWZJWi9vTXNjZ3BBc1IvK1loOFlqNHBLaVloQko1OTUvY09sdFd0Si9WbFFmTnlIY0ZzUGJMYWhHYmJFSDdDOWtRZytpU0R5SXM4YTNzMi9BY0lpdDYxbGkwOTRmT2pwTXJVVVFteU4vQmtZOSszNFg4Q1V3RXU1SWVtanJiN1h3N3ppN2VldFUrTUthMGtNYzIzeU8xV1I4THBZTDJuVjdyemF2aTNKQVFIVVZ0Vis0N3pMdWthWnd1U3dTZXo0amlQNDQ5YTMyblNsVjdPMm1GM1h5TlZyMmtRc1R0bGUyT0d5cTZIL1U4dmI1cUVqK2FRRy84c3RSdnhDSGZxQUlXS2szWUlhS2U3TlNKdEM2dytqb0VaU2QvNU1kYm1VU1p4SmZzdDlvV24zRStBeWlFNTlxRHRYY1NGRkVieSs4Q2d0SGdSQzErK0o5cng1QWNyMmNrZEoyazNXaXNiNi9DaTM3UVZZc3VvOHFpT0NvbG45T0xRRXZPM3Y0S2NjYllyczVKSlRKWWVRYjc5Q3o1TGxMT09JUG0zbldJU1FPNE5pa1ZSRVZsQW1aLzdXdmQ5OVVVazllU2ZCM1I3bkFvUXRWMXBKQndRZVpUK2ZPSXU4dVBadzQvYTdSdU9JRFptZVNFUzRSb1YxSVNZNm9sNzlJNVRjQjVFRFhtU1BiMlFYa0QvOElZOVVaNVE4bEt3QkxYbDNxU2ZpNW5GUDF0ZWhmaFZudkhNdWxyQ0xMbHFDUVJ3R20rWnY5bEZNODhZVDArMEorSC84S2dIQ0I1b2k4UUpScjlQUVNsM29URkY5QjgrSm10UFNvV1phSjBwcHBRak84TXVGVyswRjhkVWZWRytYMkRnY2ZtZEpacWJNeTlNaWZUNXgrSjNqcWIzSExQWkc4VDJTdy9heTBvYm5VYTJTSGYxWmhGaS9sT0p2cWJrb1k2RTkxSVZzei90N0VYeXNTUERNUkY5NkY5eDhkbFNvalJONnRQSjJLbVJjaFIyRDlGRmNCcll5V0tKcGUrUlRFSzBXVXhOU1hsQ2xDT3IwUFFIN3hmcDBjUi9HTCt5UkdnU1dvOHFSdWVqOFM3MmtnZEtDd1d4anBYSVlKZWFSU1pHSDVoVktzbGs1Mlpab2ExcVFHVnpyNWZ2OStNTjhCdjdKeWJtQWxqV3VxZVUvcUNTazVIZ3ZZdzBIaFB6cFBvZko5TjJDbEtxU1pZQ1Fma3ZMS1NVMG03cTlFKzFRMVhZUHhEMFR4aGxvRkJKYjBXTXUzTmlSVUVKekpPeEpFMDVpQjlEVkxQeGZxaEFzMGRIdmx2MWNtNFdvc1F4SnprdVlURGNTdU1hWlRjeGlOaFJva2dBbmQ2L1FIeElZK29YOFBDUGZLK2RmdjQxNWo2VGhIeEZ3a1ZZK1QwUllSVWZ2OVpDaklpMEVSNGFsTmxvMk9OVjhZblRqZ01PdCtNVHBFdWNRREE5OThRYVhRUlRHMTlHUzJlMUxML3hBdXVtNGh1b1BhU1k5TTNjemRaUHVXbFJWRTlydkpTb0R0SUc1UVdwY05aU2h1MW5oOCsyanM1MnhrOE5hNkF1Zm9XVlUyR3psenZvU25qYXV3K3hERkhiYU12UmN6aURkczZIVEdjU0RqbC9HbDdrYW5ITmpaa01ieDJWR2liMGo1UE51blpOQnBXVzZ5UDh4d3IyMGZiYTJnSjhNakFKL3BacGp1bEpibG1NWURsRTBmWnVLd2JiQ29zTGV6bmFYZ296SnFhelU4L0U0WTRVT0Q2WjBSL0o3K3Q1U1VhMEJSY0paM2UvdXB3MldkcE5ONmVhTXJvQkM0NFlRd0tBSEtNQVFMQWRsNllZNTIzU1RqMlc3M3d2NFVRUjZmazdVMmY2dDM1R241bUZiWFh1TWlISEp6OTRrUmwrNjhlUVBJeGNJc096QjU2WWdIdUlHZ1NFTnhucDE2elZOdnZKNjFqYkptcFlKbDNPcmRpc1RIM3JEbDVYQkJSMEdOL09VRTN0ZG5WVXlCOW5rS0NBMHlKOUYxbVlBS2RmN0VWTTNHSzdrOENsdCtCdSthUW5iRWlkRWJMY1Z6TzZFUyt3Z2U2RCt2Nng0VTBaZkJhWmVadi9RSEsrWk1Pays5MDcxQXVTVjRMYlNGbXZiam5kR2hpNElJWXFNZTAwSUpGTFloakFucTEwSFpqZDZtY1FOQWl3V2JtNVdkaSt4dUMzWlJaYU4vSlh4MmcxMEtUTkw1UGJYOG9yTFIzaE9WUHI3NThJOGR6MHZIOVM4YWxwazJtQnh2cUpMZFVoMWI4NXdGaXZoaW9xb0RhbHJpaFhJNGlTY0xNS2RYNEZVMHZNeXhma3F4bFRDNVQxVUVTR0poeFNMekl5SVhrV1ZVbDJYRUwxZzlLQWpPS1lTVlpTTno4QkgyZG5Qd0o4T0NmQXgxYnREbEI5RFRWUXhEeU5wUEJWOXBtZG5wdjhtNE44YWoyZFNrT1FoOERzckUvT0lnL3hsRUpuNVAzSU40RWg5SGxmOGp2UTFRUkhOUVgyd2U4S3JBSjN3NU1uNERWQU9iZ2I1aWVSRVJocjdqSWtxckp6YjNWckRDZ1A4cW9nY0xSWTVLNkZ1MWV1RW5lUnU2RHdVVlQvZ1ZQOG9xVlNVcnZQMG8veVlLZjFoZ2NVOUl6SHpCTXozM042Zy9YT0I3YnhYR0JFNzRlbnArSDlSQXJCZHZ4cVNCYU53amZkQTljZVNGZldxVWhxeURyQW9zTElFMGJ6d0hzdWtydmYydDR4SVFOamxFSFlPTGYzR2NNOGtCcHJ0VmdZOHRUQ0JIUEJIVm1ZdGVobkFPN0ozM2ZlTUUvT2Jqd1RjSTFWU1R0T1hjNjQ5bXhBaDZLaGFTZ2QvOE5NZU4vNThIMVBxbFdoN1Fma2hkVUtoZFpOVzlWQXE1OW5KMmF5RStZWjVVUEc1aWVHTHdndldmcU1lQTRobmFYQVMwRDY0L1ZQNEF6NDZmWHpsZ2VVN1RxS2hkcUNvdHRPZWJDVlBPcXBXK1ZaTnRLaUFlYXRBc2YwQWpVVnRKcEI1ZzNMSkZMNVQxY0VWVzZMT1REWFQ0VDFISVl3b2VlZWdvQ3BJN1ZCa2YycVBIQU1mdjhCZVJRKzl1SERNV1FiZEhlcjV3cDBZbE9XVThiT2pJemYvbC8vLy9YTU9YNWsvWkdkU3E5TExmMzJjVzdzdkE5VCtCT1hwMFNDRTZnbTRGL2UyV212Q1NRUTVOWnlvTDJtVTJoRXZvS053bm1oRVg2Rk5Gb0ZZYkR6V013cmpPNmFheFZSUHV5YURsTWYxTGlMTkI1WjJlaXJSWEp2TjU3UTFkdmJSY0IzZytEc1NsRnN0SlliR0Era0x2ODlldlJmdGhZUEFyWGMyR2kzdkVDL1pEc2dpRXROakpFdFQwcmN2ZHhrK2U3RTBWcU1MRFZSRUFmc2t2MENKeERWMFdibS9WQlNXYWtTNmwwU3VIdTN4M3VWMFBaWkNDV1o5MGViSWF2QUgyYk1Ya2RPelpKcFpKSkpvcDA3Z01Ib1RNTkRhM1FhZE40QU5UMUlYdWpjUWJTbXF5dk8wNkFMb1pRbjZVQVFIV3RoY1d2bzdOUGlRT0FOdXhlNi9lY2ZBblRncTlJZDE4aW5CbTBuOXhYZFVMNzk1Umd0aHNhMGkwTmFmRnRLVzNKclNpc3dmbnFZVUU4ays3ZWgrdkhsSVArZ3kza2lGNGdaZ1lPMGNHTzA1VjQyT1I0NzBZbUlJa1dTNElZSkMzSThmVk9NWlNORFRjTmJoRU11M3N2dlJmbEYzbE8zc1FoblFtcVR4aGpMVFd4U3ZNVlRabmgwT0tKendtS3hZTytOdG13MFVVTTQ1bXV1cUkwcmd4WXZCaktpSEpOQjRkd3BDQkxkMmQ3L3Z0cGQ3SHd3R2FoQlE0NVYzTS9KMStJeHRTRmJEV21BVEZpM3NubFRjRW9EbUdqMEsvSkl2ZStSNGxjODBkQUFwWFQ2WnowVTd3TTVuaUJ3eXV1em1kb0o1STE3SFl2ZmlsNFlkZDZ4WjNuaHpVaFJYYTlYOG4xZUJ4Q2lHcTRRNmtSOVM3QUxhOEM5dFo0cnA1WEw0VERpT3ZWNnMyYnZ1NllXNFVzcS9tcVF0YWQ2YmtKR0YyVkVneWhRbklHTWRsWGVsbHF3M1hMZGJTaVNucUFDRGZoZkM0cHlndjNqbDJFVVdVN1o1U3I3QmpWb2JZU2I0cXdlQmNvNUdvbjJFZGwrdXVSZWxFVmlTL284MDMzc1Z4VEZhQWl4TExIY2NkMU9xd2lYTEJrSEZOYmJKU1Y5K2lRUk8zYnY4TTc4aitnQmIrTkt4dm5QNjZ6M2RDVG51KzlOUFJEQmNhZ0ZZcmovenNlOVZtVlA0b2lySTY1VWxkSlBKeS9wakN1ekRzd0d4NUtFOGExM0xTTWI0Z0VMRnB3LzMvY2REbTN1ZTlyczlZY1FHNWVGOW81ai9iVzg1bWVCSXYyeXJLbXJnSkZSRG1Lai83MUZFdnVOeVYxa052VTJYVkpPaHg5SmVBc2JEV0l6eXdzWXRGQ3JNblJnUjR2WGdhZlFGdVQ1TDEvQXlSelc0bjg4Vm9kbE5GTXhFN2VtajZaMk9MSUN2bFRDWGtlaVl6YXlQWVUxVEZsbGRGU3Z3d29KcHhpTkNJY3Q0Ny91bHFZMDJ3a0RpMHpVemRwRVJCYTNoSWt4dlZOdVQ0eDhXZGR4bkRucGVoeDV3M3RabkhlNGs4T2lJYmdhUXZSYVpwWHZGYlkrY2xBdS85QlEzZkNoSE1pQmQ2TDlONWtzMXgvSS9kOVg4YXJlaTEwT2V1bXU1c3pYQVpZQmptbkEyUHBneXcwYmVPTjhRdVFYMUEyRmhZSWNKckNRQ2F1OXJFQ0hsYldKVmRhazY2U2pCdkU4TSs0ek92aGI4R0hSeDdFckJMWGI0UXZua08yMDAzaXZvUnUyTjhad1huZE5aUHVGYyswZlhwMStqNjFGRkxlM0Z3ZUw2QWc2N0lyVEh4YVJHMnV3RktkUFdRSEZWdFd2dHJsbjFkZ0ROUTBJS08vMDlEeWdxOWlHOFBRd2FYTnU1WGw0d0h0eG9vZm5qVUp2TU04Q1VvTzUrU2FGY2ZHRkp2bmM0RlFNRkt2Vkxobm50U0hnTmNlT3R5RFdJSTRmRDBlTWJoWUlLQnZoY0lZL0hYSk9tREYxUG1RM3VBaDZhVE1tNzJyRWp5em05Um9GTjJHWmZrN2dKd0FCM3FmYnJ5MDhDNG85UHN1STVqQmdjYUJKSUVMQzRPQkhSM1N3dnBCRDdsNWJhRGYvNlBrUjFNbDFSR2UyZXhVUmJvNS9sdS9zWlp1RmE1dUQ3NTdmemRzWHJubnV1eGRNam1hODhmTjdreGJrRUpEcWIyWWJ4djlqdkRhbitGUFNvRUo2VmQ5MXZ4dFV2VzRFK0hmc05pZFA3bGJqQmYrS2VkV2V0dTYyMVlFOE1ld0VlcS8rdnUvYjB4RXQ2cGI3TFpSMm1KR2FqZ1o4ODBNOGRISjZxTGZuMXlEd21jbnFacUI3a1BmUENZWEhJZFA0V3k5TlVUM0VFekVXK3hIdEM1djIvL2VGdVAvK2NtUU1KaDgrQWNNUkdHVFVKZjErRUVKcmFJV3pZWlR5MjhNbkxYVG1NMHA1OVBCMm1zWG94eCtRWi9hL3NmbXBweFgzYk83eDQvWk4xUklvTlJXSWdVUWxDY1I3SlVBc1BSWHViN2VpMEpqYWFFRUFQWmI2eEhIQ2FZWkNuWE1hZFhwQ3BkNTJHam1mWkFmTktWWjlXem4xTGwxcW9xMGNROUZ3WXRseGJCQXRkU3pxaXZDYXc4Qk1Ca0pUWDYrQmlGSkdhQmdSbU1Kdi9PUEg1NCtnOVUxaWZXS2tEa1Z2WUdzRHBESFVaNktIblJjZ2hPcUlwdnNSYnFlSERFT24zU0x1WCsycjUzYmYwa1B3ekhMQThwbkF3L0srVy94MzdLc0kxQm1jQVhjR0ZUR2c1TkpicUFQVUZ2cDljTHVzd1FwUzdEWTV2Ym5tQlJuU1cvVGZIdU4vcGNjRmpGTnVYSWJlb1lYQkJWeEdpNE9ld1hWcjJCSlRnTVl1aldaZFNMRmRjdnZLdG5za2Vvc0VYRmNqVFZlcTZFdStxd2NoUGQyTjJ3SUdCaWVBUU9tNHUxZVYzNTFRMkNYakI2NTM4cHQrOHI3SytGR1cwbnV2TUNMYmVyVmpvYm9zbkI1dE82WGN6TSsvMmRPUFZsV05zcnZaRWdEQ2Jwb0l1TWw2NG11Qk1KeVN3ZkRscGtPdU1QN1BIN0hraHZuN3o0OU5yKzIvS3Y2UFUrdUhLS01DMUliekR2RjR3SnRtZVFOZWxuZVdnUDRBZkFlaEJ3RFJ0dG1mS2VNWFd3a3FqUmEvdjZLdmxxQTBxTDllN0xoTzBRZ0hrTTNJQVM3ZEdCNEZ4bm9oL3ZLQnpYT1U4UEgwQmN3UnlzU040VlN6Qm1TK2gzUklZZ2JtSE5oOTJhRWgyRmdGSE1kdDQ1TmZQYytRelp4NDJTN3UrSHpQSGE2d1VKaFhvdmNmd0xCcXBydHFCK3JyaHgva21FZSsvVWVxUXNuNGFteHU2aUszYmJHUnUrZ2JvTUxtcmdLcVVpRWs4c0JDYzd0aFlEVFpveWk1ZjNCQmlGUnhhQUpOUVdsNmZWcXdVTWNBRVV0RTJmcTl5MmlwYVJRVkJlZEg4Q3lhbHZvRC9kek5VN3JZSnYzeEZOQ1lSOXF0enpGZ2ZOZSticjhXT2F6ZmNYTjNlK1l3dVljT2tHM1ZqWUJmbzI1YzRsTGhXdTFhNFNJWk42eTZ5eGtMSzlwUml3NldSSUk0VTlvbE1TNUdIY1JWNHc2aUpMM2d0TGZxSE5ReE9qalY1TDVqUDV6UzRFaGlLNTlLZDNnc0N3VlJ3cWJ6WjZjQ3JHLzg0cFAzSk13SDMrRXFYTDVmdDV1ZlQ1VlNFUWQxOUdQZjFpR3NUVERZRDl0cWJWK0RwYUNmSldYMWdQY1lRVjlqWEROZVlOSmtTYUNmdTdVWmVUeVhLSk01S2o3djk1UlR4N2FkRnphQktBbWYyTmVWcnE2ZkRvem0yVEpJUmdGdmU2VGxGRTJ4eFVheDFTNFpFOHUzVUhKVWNhNXB0QUNwRjJXU1c2bk5DOWVHNTJrclQzN215QzY3NURaUlpEMDUwbGIrRHRTWEJtbmIvdGdreXdrK3BKWURuQ0RlN3NVa0JubkluSlVPM3NKdUZ2VTdMbU9UUWhmd0IxNHNqN01YMlkvaDhVWjVlYlFza2pVWDZ4RkZVRCs1cnVRLytUTElIUWV2WlJWaGJoMjN0Sk5OUTYrWTV0YXMrVm9OamZKTk1HdUtETXg0Y210WEEvWUIyNCtLdTJxWmRPOEJISkQycnZhU3h0LzFFNnIzYzVjblpjODh6MEdySUZjSko0R3lLVjVVbmpFazd2Rktmd3NtdWZid3RvV1p4OVBPVFRLTDVNdGNTdDRiWUVySXdTVEUxMzJrVHlieGJuYmtSWi8zRUk2VEZNT0M5RVIwMlFpR01YRU9STEJoUWVBZ2M2UTdRdm5wbm1uTXlnQlhXMDd5UnpFbVRBY0VuRkticXRjOGxnMmNoSGl1LzVQZmwvck91dExyT01DVlBSVTY2VFpwdTlDY0hubmdYQkZibERMWEhIV2crMHA0WGZRbVlDQWxDTkxvRkRpZWJ1YkVqaHN2OWVqME1KeFN3aVJFaEFzZUhqTndnL2k0Z3dOKzBqbmF6aXNJU0FHOXozSWdISE1zREQ3Y2RKSXZ4RGZkc1IzUDFzNml3ekxaZHoyTjlqRHdNTzJLRHkwUTdIU2xGWTZFQ09mRDNKa09sb0RVT2t1YkpvZzM3ZzY2K01zYk1lbnFpZDNzeVgxQjRSTm1EdEFibXZtUlZmMWoycmtUUXFiRUR5VSs2OHNTL1JUcXpJWlR2dWdGK2psNnVUWjIzT2xWRzIzbDVNNWhKTlEwbVlsODJ5Sk1ZNmlBenBQTXVDU3F2MjJUaUFUeGJYL1I0bk1DYlc5TnBoRTYwTHpMNkJKdlArNHlUaEEvUitvTENybXpaSWcvUS9uKzduMDRKTlh1Tm5YUmpmcndraFE1Wm1wQjBNUXFBUTcwdUlwbnhteWdJQS8wOWdFOGM5TEdNV2JjNXhFNXhKRWlhVTZGWkpDZTJselBSS05MalJJaTFrZGdLRzNEL3B2WGdVaWlVenpPeFhYMERkSDJOc3AvK01lMnFjZTR1WTArSVdLMGFlNUFOWTBPOTRINnpTSVVMN2ZqK203ajRaZWtwb2Z5SmttcWhOaVNIclI5Tm94QmNLa2x4SnNSN3llUjFkRkQxeXNmVmJaUnR1S3ZZVm42alFsMlBhMXU0LzFxRDJRa2lIZExjUldWOVBYeGpLUXQ4K3NHU0RvbVNvbXNsU0lPR1BxSUEvUjVQdFlJbXJjYUMzWTBpR2xNSDNQMWl0c1FrYTJWQ1d2Mk90QkFmS0JmTUQwRThWeUVqM2J6WThEb2IrNk92cEQvbXpBVXdEZDFIUGlLQkR6ejhrZHVDQ0ExZm15YnZYS29odXovRTdYdC9OcUxRM3d3US9HSjZNamJEOURvOE1qK0swYkg4d0U0bWtCbWFQL1lCVnl3aXdENG1ua2ZlR1lUR1VEZTNVbkFSd3hhVU5UM2JkT1VTTDJLQUV2ZzJNL0FzUEVqTEFjbjY3cjdPUkFJL0p5d3d2eTgzTFI2ZlQ0TVV3MEJaVWNCcWxzeDhDRlVsM3dFc2dzK2pPbzlCK2wrNTZPWStjOUhvd2JZeDFNSEJwTkRBcWN3b2xwSVFBc3hiTCtnaTdWVXNYVTZiZnFEL1NnMGJsZmlaLzdIbUxvbXZLUXkwZldmYUJnaWJPWjdmMTJhUWhLcjRXTndiQ2pGZ292OWd0ZWo2UEszcC9RV3JZMUg1dnB3Z2dab0lZYnRGcjZzc3JYMDF0Y3A5c0QvWUQ4S0RjWk9seS83SDJQcUp4NWVIcDlUK0Q3NWxtcW51aGpuZVg5ZFVFMGhqV1dyNThnSHFvWlNMRGk5Mmk5NFBRcUg2bTlQdXl0TGFmbEgrWkg2cVlHdmZidmNOaWJMLzBMQkZHWFoybmttZVZlM3grdnpBNGd3K1pVTWZWR2hVMVVxYmF6elFSakZTWnJsUlZuVlRkdjF3empOeTdydHgzbmR6L3Y5QUFqQlAxYUhuL21MeExPTmlmU3pObGx4dkNCS2IyS1dwMnE2OFR3eGV0dHhmM2IwQXhTRVVaeWtXVjZVVmQyMFhUK00wN3lzMjM2YzEvMjgzdytBRUl5Z0dFNlFGTTJ3SEMrSWtxeThzb2VxRzgvaTNSM2JjVDAvQ0tNNFNiTzhLS3U2YWJ0K0dLZDUrWU93N3U3MmgrUHBmTG5lOEFRaWlVeWgwdWdNSm92TjRmTDRBcUZJN1BtbDI1TEp0YlN2N3RKQi90Qk13UnV6dWRnTzFCeU8wN0hsdXBNdlNtaFJELzE1cC9YeTNFZ0s0eVNUdU9FTUd3RmxubXhNTVFpV01xRVZRY2FlYWFNSmtHWExzQzdSbXlWeEk3WjZNTTFmVHJRb3krK2ljOGllU3FzT1NWL2Q4Q21YcDEwMEpsb3laRnhwQ0g4Y0NGRjl0UHJNZUl1dEdicHVvL3RrQjRKM1dsNm9aNWpsaytac1ROQ2NHcjM5UnVGOXh2N2gxbnhtd2VYMTVLK3ZKTGVnVU9sd3J2QVpwcUo5YU1LTmQ5T1NiME84VXd2Q0tYaFdXVEt1KzZjNFhqYzc5QU9MSmlialZBc2FMbHh3UE51Zll0NFJlN2EzRkZ0dGtRMkdzRnlLNldiR1duTWtGRUJqQkZCam03QXVyRHduczZpY2lCZXVaT0xqcmxXcEZ1L2dRNXZMWEx4RVRKLzJMdWNsZFgrV3lySmtlYjVJNDhOaDgraWJRd3FUajhpb09YMVN3NGU2cExTaUhKSklSN0dkR3JUbmw5M0ZxcXdaU3ZGQ09jNmpNUjZONWRSenRpWmNCWEk0RU9XdTVwVGRFVFY4cjR4WVBjWU9xWjBNMUl6NlBCOHlGV0JaY3JOMjE2aGpJS2lyNTgzNDVWNjB3a1B1VW9FaW5IRnp3TzdlRHMySnNDZHBxaklwWkozekFyOXIxVFZSV2JqRUVDRFI3aU1GU3hIMWs4YkxKeFZFSFpneVVnQ1pCajZKQXN1NEZhd2VlNXM1SFQ2WmZFQ21kSXFLZWdzb09nbEMvMHpKUUFBRm8wN3BQQVdvdWhhSUZuaXdIMlU3RXJWemdZeUJTS3B3RS9MR3EydDNyRVFEWWxKZlhlb2t3R2J0UldNYWdyZDVTM0ZNbXRFdmZQVjBSdHRYVmhQMDBRZ3lOWldtVUxrS1BEVndnWHJNR1VhNk5xZGgwcUJDeWpZc3RRa210QUFqQVh2WmdJWkpCaTdiN3YyRmhCS3RFeFlKNWE0SHUrZDFveFJxL2lLMmVraTBvUGVFajFPV25laDNKcnlHR1ZybHZkcU9wT3FPd0d6NitDV24zdS9UL2EzSUozRkJldkkxeklCZHVrWDhCTDRkczF5N3JVdFNSYm5qRFAxZXR3dlNOMUhVZGJDNXI4ZGRVcXlpd2lGQm14TnY5UnBtZlh0MTBhSkRBRlg1b0g1Q05kSGFidWdkaXhCMXJVdExZZG5tS1h3Y1R5M3lUT0xaR1FKemV0S2l0WmdwSVBqb0x6TUYxVG9uME5STHlodTZkTnlpUVV1RzZHTWxXTzYwUmFPV3pUWDY3dXNLaXVGRUNHTjVveFhwNXJSc1pBRzE0RXl1enNxaTBsY3NJWGJoWlhmRTZFY05aSWJRTWUwb1lBUWdhc05NQnozYjdCVWtIVEZUZzBSSG9RaE1sRlpHR1UvZWpkZU1md3BMZmxUMUhGaUVkN3puYlZmZGF2OTRtZFAzTzFNSXlRRExmdEtUbDRjVlJHMHFIVk1sNjJFL0EyN0QvRklwcnY2QWhQTW5aeUN0a3lpWTIrNnBjUGhzRzA0bllJWkRSNzI2d1EydFBQeWtZL3FpNzJYV2dMSmQvUUE3R05XNUNsRHpmOTNBeDUveER3RjZMSCtPamNiN2cwSFRnWmtoRExnMXN1MnFMdDVTYkxCOThTdjBuN2pTOFhrVTFCSVg2L3daSGkxVSt0d3Z1OVZRM04zK0R3QUFBQT09IikgZm9ybWF0KCJ3b2ZmMiIpLHVybCgvL2F0LmFsaWNkbi5jb20vdC9mb250XzE1Mjk0NTVfazRzNmRpMWQxLndvZmY/dD0xNTk2OTYwMjkyMzg0KSBmb3JtYXQoIndvZmYiKSx1cmwoLy9hdC5hbGljZG4uY29tL3QvZm9udF8xNTI5NDU1X2s0czZkaTFkMS50dGY/dD0xNTk2OTYwMjkyMzg0KSBmb3JtYXQoInRydWV0eXBlIiksdXJsKC8vYXQuYWxpY2RuLmNvbS90L2ZvbnRfMTUyOTQ1NV9rNHM2ZGkxZDEuc3ZnP3Q9MTU5Njk2MDI5MjM4NCNpY29uZm9udCkgZm9ybWF0KCJzdmciKX1cbi51LWljb25mb250W2RhdGEtdi1lNGQ2ZDM2Ml17cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpmbGV4O2ZvbnQ6bm9ybWFsIG5vcm1hbCBub3JtYWwgMTRweC8xIHVpY29uLWljb25mb250O2ZvbnQtc2l6ZTppbmhlcml0O3RleHQtcmVuZGVyaW5nOmF1dG87LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZDstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGV9LnUtaWNvbmZvbnRbZGF0YS12LWU0ZDZkMzYyXTo6YmVmb3Jle2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXJ9LnVpY29uLWVuW2RhdGEtdi1lNGQ2ZDM2Ml06YmVmb3Jle2NvbnRlbnQ6IlxcZTcwYSJ9LnVpY29uLXpoW2RhdGEtdi1lNGQ2ZDM2Ml06YmVmb3Jle2NvbnRlbnQ6IlxcZTY5MiJ9LnVpY29uLWxldmVsW2RhdGEtdi1lNGQ2ZDM2Ml06YmVmb3Jle2NvbnRlbnQ6IlxcZTY5MyJ9LnVpY29uLXdvbWFuW2RhdGEtdi1lNGQ2ZDM2Ml06YmVmb3Jle2NvbnRlbnQ6IlxcZTY5YyJ9LnVpY29uLW1hbltkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU2OTcifS51aWNvbi1jb2x1bW4tbGluZVtkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU2OGUifS51aWNvbi1lbXB0eS1wYWdlW2RhdGEtdi1lNGQ2ZDM2Ml06YmVmb3Jle2NvbnRlbnQ6IlxcZTYyNyJ9LnVpY29uLWVtcHR5LWRhdGFbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlNjJmIn0udWljb24tZW1wdHktY2FyW2RhdGEtdi1lNGQ2ZDM2Ml06YmVmb3Jle2NvbnRlbnQ6IlxcZTYwMiJ9LnVpY29uLWVtcHR5LW9yZGVyW2RhdGEtdi1lNGQ2ZDM2Ml06YmVmb3Jle2NvbnRlbnQ6IlxcZTYzOSJ9LnVpY29uLWVtcHR5LWFkZHJlc3NbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlNjQ2In0udWljb24tZW1wdHktbWVzc2FnZVtkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU2YTkifS51aWNvbi1lbXB0eS1zZWFyY2hbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlNjY0In0udWljb24tZW1wdHktZmF2b3JbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlNjdjIn0udWljb24tZW1wdHktY291cG9uW2RhdGEtdi1lNGQ2ZDM2Ml06YmVmb3Jle2NvbnRlbnQ6IlxcZTY4MiJ9LnVpY29uLWVtcHR5LWhpc3RvcnlbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlNjg0In0udWljb24tZW1wdHktcGVybWlzc2lvbltkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU2ODYifS51aWNvbi1lbXB0eS1uZXdzW2RhdGEtdi1lNGQ2ZDM2Ml06YmVmb3Jle2NvbnRlbnQ6IlxcZTY4NyJ9LnVpY29uLWVtcHR5LXdpZmlbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlNjg4In0udWljb24tZW1wdHktbGlzdFtkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU2OGIifS51aWNvbi1hcnJvdy1sZWZ0LWRvdWJsZVtkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU2OGMifS51aWNvbi1hcnJvdy1yaWdodC1kb3VibGVbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlNjhkIn0udWljb24tcmVkLXBhY2tldFtkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU2OTEifS51aWNvbi1yZWQtcGFja2V0LWZpbGxbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlNjkwIn0udWljb24tb3JkZXJbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlNjhmIn0udWljb24tbmF2LWJhY2stYXJyb3dbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlNjdmIn0udWljb24tbmF2LWJhY2tbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlNjgzIn0udWljb24tY2hlY2tib3gtbWFya1tkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU2YTgifS51aWNvbi1hcnJvdy11cC1maWxsW2RhdGEtdi1lNGQ2ZDM2Ml06YmVmb3Jle2NvbnRlbnQ6IlxcZTZiMCJ9LnVpY29uLWFycm93LWRvd24tZmlsbFtkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU2MDAifS51aWNvbi1iYWNrc3BhY2VbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlNjdiIn0udWljb24tYW5kcm9pZC1jaXJjbGUtZmlsbFtkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU2N2UifS51aWNvbi1hbmRyb2lkLWZpbGxbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlNjdkIn0udWljb24tcXVlc3Rpb25bZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlNzE1In0udWljb24tcGF1c2VbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlOGZhIn0udWljb24tY2xvc2VbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlNjg1In0udWljb24tdm9sdW1lLXVwW2RhdGEtdi1lNGQ2ZDM2Ml06YmVmb3Jle2NvbnRlbnQ6IlxcZTYzMyJ9LnVpY29uLXZvbHVtZS1vZmZbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlNjQ0In0udWljb24taW5mb1tkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU2NTMifS51aWNvbi1lcnJvcltkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU2ZDMifS51aWNvbi1sb2NrLW9wZW5lZC1maWxsW2RhdGEtdi1lNGQ2ZDM2Ml06YmVmb3Jle2NvbnRlbnQ6IlxcZTk3NCJ9LnVpY29uLWxvY2stZmlsbFtkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU5NzkifS51aWNvbi1sb2NrW2RhdGEtdi1lNGQ2ZDM2Ml06YmVmb3Jle2NvbnRlbnQ6IlxcZTk3YSJ9LnVpY29uLXBob3RvLWZpbGxbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlOThiIn0udWljb24tcGhvdG9bZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlOThkIn0udWljb24tYWNjb3VudC1maWxsW2RhdGEtdi1lNGQ2ZDM2Ml06YmVmb3Jle2NvbnRlbnQ6IlxcZTYxNCJ9LnVpY29uLW1pbnVzLXBlb3BsZS1maWxsW2RhdGEtdi1lNGQ2ZDM2Ml06YmVmb3Jle2NvbnRlbnQ6IlxcZTYxNSJ9LnVpY29uLXBsdXMtcGVvcGxlLWZpbGxbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlNjI2In0udWljb24tYWNjb3VudFtkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU2MjgifS51aWNvbi10aHVtYi1kb3duLWZpbGxbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlNzI2In0udWljb24tdGh1bWItZG93bltkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU3MjcifS51aWNvbi10aHVtYi11cC1maWxsW2RhdGEtdi1lNGQ2ZDM2Ml06YmVmb3Jle2NvbnRlbnQ6IlxcZTcyZiJ9LnVpY29uLXRodW1iLXVwW2RhdGEtdi1lNGQ2ZDM2Ml06YmVmb3Jle2NvbnRlbnQ6IlxcZTczMyJ9LnVpY29uLXBlcnNvbi1kZWxldGUtZmlsbFtkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU2NmEifS51aWNvbi1jdXRbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlOTQ4In0udWljb24tZmluZ2VycHJpbnRbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlOTU1In0udWljb24taG9tZS1maWxsW2RhdGEtdi1lNGQ2ZDM2Ml06YmVmb3Jle2NvbnRlbnQ6IlxcZTk2NCJ9LnVpY29uLWhvbWVbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlOTY1In0udWljb24taG91cmdsYXNzLWhhbGYtZmlsbFtkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU5NjYifS51aWNvbi1ob3VyZ2xhc3NbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlOTY3In0udWljb24tbG9jay1vcGVuW2RhdGEtdi1lNGQ2ZDM2Ml06YmVmb3Jle2NvbnRlbnQ6IlxcZTk3MyJ9LnVpY29uLWludGVncmFsLWZpbGxbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlNzAzIn0udWljb24taW50ZWdyYWxbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlNzA0In0udWljb24tY291cG9uW2RhdGEtdi1lNGQ2ZDM2Ml06YmVmb3Jle2NvbnRlbnQ6IlxcZThhZSJ9LnVpY29uLWNvdXBvbi1maWxsW2RhdGEtdi1lNGQ2ZDM2Ml06YmVmb3Jle2NvbnRlbnQ6IlxcZThjNCJ9LnVpY29uLWtlZnUtZXJtYWlbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlNjU2In0udWljb24tc2NhbltkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU2NjIifS51aWNvbi1ybWJbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlNjA4In0udWljb24tcm1iLWNpcmNsZS1maWxsW2RhdGEtdi1lNGQ2ZDM2Ml06YmVmb3Jle2NvbnRlbnQ6IlxcZTY1NyJ9LnVpY29uLXJtYi1jaXJjbGVbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlNjc3In0udWljb24tZ2lmdFtkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU2NWIifS51aWNvbi1naWZ0LWZpbGxbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlNjVjIn0udWljb24tYm9va21hcmstZmlsbFtkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU2M2IifS51aWNvbi16aHVhbmZhW2RhdGEtdi1lNGQ2ZDM2Ml06YmVmb3Jle2NvbnRlbnQ6IlxcZTYwYiJ9LnVpY29uLWV5ZS1vZmYtb3V0bGluZVtkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU2MmIifS51aWNvbi1leWUtb2ZmW2RhdGEtdi1lNGQ2ZDM2Ml06YmVmb3Jle2NvbnRlbnQ6IlxcZTY0OCJ9LnVpY29uLXBhdXNlLWNpcmNsZVtkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU2NDMifS51aWNvbi1wbGF5LWNpcmNsZVtkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU2NDcifS51aWNvbi1wYXVzZS1jaXJjbGUtZmlsbFtkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU2NTQifS51aWNvbi1wbGF5LWNpcmNsZS1maWxsW2RhdGEtdi1lNGQ2ZDM2Ml06YmVmb3Jle2NvbnRlbnQ6IlxcZTY1NSJ9LnVpY29uLWdyaWRbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlNjczIn0udWljb24tcGxheS1yaWdodFtkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU2MTAifS51aWNvbi1wbGF5LWxlZnRbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlNjZkIn0udWljb24tY2FsZW5kYXJbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlNjZlIn0udWljb24tcmV3aW5kLXJpZ2h0W2RhdGEtdi1lNGQ2ZDM2Ml06YmVmb3Jle2NvbnRlbnQ6IlxcZTY2ZiJ9LnVpY29uLXJld2luZC1sZWZ0W2RhdGEtdi1lNGQ2ZDM2Ml06YmVmb3Jle2NvbnRlbnQ6IlxcZTY3MSJ9LnVpY29uLXNraXAtZm9yd2FyZC1yaWdodFtkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU2NzIifS51aWNvbi1za2lwLWJhY2stbGVmdFtkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU2NzQifS51aWNvbi1wbGF5LWxlZnQtZmlsbFtkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU2NzUifS51aWNvbi1wbGF5LXJpZ2h0LWZpbGxbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlNjc2In0udWljb24tZ3JpZC1maWxsW2RhdGEtdi1lNGQ2ZDM2Ml06YmVmb3Jle2NvbnRlbnQ6IlxcZTY3OCJ9LnVpY29uLXJld2luZC1sZWZ0LWZpbGxbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlNjc5In0udWljb24tcmV3aW5kLXJpZ2h0LWZpbGxbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlNjdhIn0udWljb24tcHVzaHBpbltkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU3ZTMifS51aWNvbi1zdGFyW2RhdGEtdi1lNGQ2ZDM2Ml06YmVmb3Jle2NvbnRlbnQ6IlxcZTY1ZiJ9LnVpY29uLXN0YXItZmlsbFtkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU2NjkifS51aWNvbi1zZXJ2ZXItZmlsbFtkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU3NTEifS51aWNvbi1zZXJ2ZXItbWFuW2RhdGEtdi1lNGQ2ZDM2Ml06YmVmb3Jle2NvbnRlbnQ6IlxcZTZiYyJ9LnVpY29uLWVkaXQtcGVuW2RhdGEtdi1lNGQ2ZDM2Ml06YmVmb3Jle2NvbnRlbnQ6IlxcZTYxMiJ9LnVpY29uLWVkaXQtcGVuLWZpbGxbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlNjZiIn0udWljb24td2lmaVtkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU2NjcifS51aWNvbi13aWZpLW9mZltkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU2NjgifS51aWNvbi1maWxlLXRleHRbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlNjYzIn0udWljb24tZmlsZS10ZXh0LWZpbGxbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlNjY1In0udWljb24tbW9yZS1kb3QtZmlsbFtkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU2MzAifS51aWNvbi1taW51c1tkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU2MTgifS51aWNvbi1taW51cy1jaXJjbGVbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlNjFiIn0udWljb24tcGx1c1tkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU2MmQifS51aWNvbi1wbHVzLWNpcmNsZVtkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU2MmUifS51aWNvbi1taW51cy1jaXJjbGUtZmlsbFtkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU2NTIifS51aWNvbi1wbHVzLWNpcmNsZS1maWxsW2RhdGEtdi1lNGQ2ZDM2Ml06YmVmb3Jle2NvbnRlbnQ6IlxcZTY2MSJ9LnVpY29uLWVtYWlsW2RhdGEtdi1lNGQ2ZDM2Ml06YmVmb3Jle2NvbnRlbnQ6IlxcZTYxMSJ9LnVpY29uLWVtYWlsLWZpbGxbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlNjQyIn0udWljb24tcGhvbmVbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlNjIyIn0udWljb24tcGhvbmUtZmlsbFtkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU2NGYifS51aWNvbi1jbG9ja1tkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU2MGYifS51aWNvbi1jYXJbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlNjBjIn0udWljb24tY2FyLWZpbGxbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlNjM2In0udWljb24td2FybmluZ1tkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU2OTQifS51aWNvbi13YXJuaW5nLWZpbGxbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlNjRkIn0udWljb24tc2VhcmNoW2RhdGEtdi1lNGQ2ZDM2Ml06YmVmb3Jle2NvbnRlbnQ6IlxcZTYyYSJ9LnVpY29uLWJhaWR1LWNpcmNsZS1maWxsW2RhdGEtdi1lNGQ2ZDM2Ml06YmVmb3Jle2NvbnRlbnQ6IlxcZTY4MCJ9LnVpY29uLWJhaWR1W2RhdGEtdi1lNGQ2ZDM2Ml06YmVmb3Jle2NvbnRlbnQ6IlxcZTY4MSJ9LnVpY29uLWZhY2Vib29rW2RhdGEtdi1lNGQ2ZDM2Ml06YmVmb3Jle2NvbnRlbnQ6IlxcZTY4OSJ9LnVpY29uLWZhY2Vib29rLWNpcmNsZS1maWxsW2RhdGEtdi1lNGQ2ZDM2Ml06YmVmb3Jle2NvbnRlbnQ6IlxcZTY4YSJ9LnVpY29uLXF6b25lW2RhdGEtdi1lNGQ2ZDM2Ml06YmVmb3Jle2NvbnRlbnQ6IlxcZTY5NSJ9LnVpY29uLXF6b25lLWNpcmNsZS1maWxsW2RhdGEtdi1lNGQ2ZDM2Ml06YmVmb3Jle2NvbnRlbnQ6IlxcZTY5NiJ9LnVpY29uLW1vbWVudHMtY2lyY2VsLWZpbGxbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlNjlhIn0udWljb24tbW9tZW50c1tkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU2OWIifS51aWNvbi1xcS1jaXJjbGUtZmlsbFtkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU2YTAifS51aWNvbi1xcS1maWxsW2RhdGEtdi1lNGQ2ZDM2Ml06YmVmb3Jle2NvbnRlbnQ6IlxcZTZhMSJ9LnVpY29uLXdlaWJvW2RhdGEtdi1lNGQ2ZDM2Ml06YmVmb3Jle2NvbnRlbnQ6IlxcZTZhNCJ9LnVpY29uLXdlaWJvLWNpcmNsZS1maWxsW2RhdGEtdi1lNGQ2ZDM2Ml06YmVmb3Jle2NvbnRlbnQ6IlxcZTZhNSJ9LnVpY29uLXRhb2Jhb1tkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU2YTYifS51aWNvbi10YW9iYW8tY2lyY2xlLWZpbGxbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlNmE3In0udWljb24tdHdpdHRlcltkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU2YWEifS51aWNvbi10d2l0dGVyLWNpcmNsZS1maWxsW2RhdGEtdi1lNGQ2ZDM2Ml06YmVmb3Jle2NvbnRlbnQ6IlxcZTZhYiJ9LnVpY29uLXdlaXhpbi1jaXJjbGUtZmlsbFtkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU2YjEifS51aWNvbi13ZWl4aW4tZmlsbFtkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU2YjIifS51aWNvbi16aGlmdWJhby1jaXJjbGUtZmlsbFtkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU2YjgifS51aWNvbi16aGlmdWJhb1tkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU2YjkifS51aWNvbi16aGlodVtkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU2YmEifS51aWNvbi16aGlodS1jaXJjbGUtZmlsbFtkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU3MDkifS51aWNvbi1saXN0W2RhdGEtdi1lNGQ2ZDM2Ml06YmVmb3Jle2NvbnRlbnQ6IlxcZTY1MCJ9LnVpY29uLWxpc3QtZG90W2RhdGEtdi1lNGQ2ZDM2Ml06YmVmb3Jle2NvbnRlbnQ6IlxcZTYxNiJ9LnVpY29uLXNldHRpbmdbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlNjFmIn0udWljb24tYmVsbFtkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU2MDkifS51aWNvbi1iZWxsLWZpbGxbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlNjQwIn0udWljb24tYXR0YWNoW2RhdGEtdi1lNGQ2ZDM2Ml06YmVmb3Jle2NvbnRlbnQ6IlxcZTYzMiJ9LnVpY29uLXNob3BwaW5nLWNhcnRbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlNjIxIn0udWljb24tc2hvcHBpbmctY2FydC1maWxsW2RhdGEtdi1lNGQ2ZDM2Ml06YmVmb3Jle2NvbnRlbnQ6IlxcZTY1ZCJ9LnVpY29uLXRhZ3NbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlNjI5In0udWljb24tc2hhcmVbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlNjMxIn0udWljb24tcXVlc3Rpb24tY2lyY2xlLWZpbGxbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlNjY2In0udWljb24tcXVlc3Rpb24tY2lyY2xlW2RhdGEtdi1lNGQ2ZDM2Ml06YmVmb3Jle2NvbnRlbnQ6IlxcZTYyNSJ9LnVpY29uLWVycm9yLWNpcmNsZVtkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU2MjQifS51aWNvbi1jaGVja21hcmstY2lyY2xlW2RhdGEtdi1lNGQ2ZDM2Ml06YmVmb3Jle2NvbnRlbnQ6IlxcZTYzZCJ9LnVpY29uLWNsb3NlLWNpcmNsZVtkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU2M2YifS51aWNvbi1pbmZvLWNpcmNsZVtkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU2NjAifS51aWNvbi1tZC1wZXJzb24tYWRkW2RhdGEtdi1lNGQ2ZDM2Ml06YmVmb3Jle2NvbnRlbnQ6IlxcZTZlNCJ9LnVpY29uLW1kLXBlcnNvbi1maWxsW2RhdGEtdi1lNGQ2ZDM2Ml06YmVmb3Jle2NvbnRlbnQ6IlxcZTZlYSJ9LnVpY29uLWJhZy1maWxsW2RhdGEtdi1lNGQ2ZDM2Ml06YmVmb3Jle2NvbnRlbnQ6IlxcZTYxNyJ9LnVpY29uLWJhZ1tkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU2MTkifS51aWNvbi1jaGF0LWZpbGxbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlNjFlIn0udWljb24tY2hhdFtkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU2MjAifS51aWNvbi1tb3JlLWNpcmNsZVtkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU2M2UifS51aWNvbi1tb3JlLWNpcmNsZS1maWxsW2RhdGEtdi1lNGQ2ZDM2Ml06YmVmb3Jle2NvbnRlbnQ6IlxcZTY0NSJ9LnVpY29uLXZvbHVtZVtkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU2NmMifS51aWNvbi12b2x1bWUtZmlsbFtkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU2NzAifS51aWNvbi1yZWxvYWRbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlNzg4In0udWljb24tY2FtZXJhW2RhdGEtdi1lNGQ2ZDM2Ml06YmVmb3Jle2NvbnRlbnQ6IlxcZTdkNyJ9LnVpY29uLWhlYXJ0W2RhdGEtdi1lNGQ2ZDM2Ml06YmVmb3Jle2NvbnRlbnQ6IlxcZTdkZiJ9LnVpY29uLWhlYXJ0LWZpbGxbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlODUxIn0udWljb24tbWludXMtc3F1YXJlLWZpbGxbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlODU1In0udWljb24tcGx1cy1zcXVhcmUtZmlsbFtkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU4NTYifS51aWNvbi1wdXNocGluLWZpbGxbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlODZlIn0udWljb24tY2FtZXJhLWZpbGxbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlODcwIn0udWljb24tc2V0dGluZy1maWxsW2RhdGEtdi1lNGQ2ZDM2Ml06YmVmb3Jle2NvbnRlbnQ6IlxcZTg3MiJ9LnVpY29uLWdvb2dsZVtkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU4N2EifS51aWNvbi1pZVtkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU4N2IifS51aWNvbi1hcHBsZS1maWxsW2RhdGEtdi1lNGQ2ZDM2Ml06YmVmb3Jle2NvbnRlbnQ6IlxcZTg4MSJ9LnVpY29uLWNocm9tZS1jaXJjbGUtZmlsbFtkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU4ODUifS51aWNvbi1naXRodWItY2lyY2xlLWZpbGxbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlODg3In0udWljb24tSUUtY2lyY2xlLWZpbGxbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlODg5In0udWljb24tZ29vZ2xlLWNpcmNsZS1maWxsW2RhdGEtdi1lNGQ2ZDM2Ml06YmVmb3Jle2NvbnRlbnQ6IlxcZTg4YSJ9LnVpY29uLWFycm93LWRvd25bZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlNjBkIn0udWljb24tYXJyb3ctbGVmdFtkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU2MGUifS51aWNvbi1tYXBbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlNjFkIn0udWljb24tbWFuLWFkZC1maWxsW2RhdGEtdi1lNGQ2ZDM2Ml06YmVmb3Jle2NvbnRlbnQ6IlxcZTY0YyJ9LnVpY29uLXRhZ3MtZmlsbFtkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU2NTEifS51aWNvbi1hcnJvdy1sZWZ0d2FyZFtkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU2MDEifS51aWNvbi1hcnJvdy1yaWdodHdhcmRbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlNjAzIn0udWljb24tYXJyb3ctZG93bndhcmRbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlNjA0In0udWljb24tYXJyb3ctcmlnaHRbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlNjA1In0udWljb24tYXJyb3ctdXBbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlNjA2In0udWljb24tYXJyb3ctdXB3YXJkW2RhdGEtdi1lNGQ2ZDM2Ml06YmVmb3Jle2NvbnRlbnQ6IlxcZTYwNyJ9LnVpY29uLWJvb2ttYXJrW2RhdGEtdi1lNGQ2ZDM2Ml06YmVmb3Jle2NvbnRlbnQ6IlxcZTYwYSJ9LnVpY29uLWV5ZVtkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU2MTMifS51aWNvbi1tYW4tZGVsZXRlW2RhdGEtdi1lNGQ2ZDM2Ml06YmVmb3Jle2NvbnRlbnQ6IlxcZTYxYSJ9LnVpY29uLW1hbi1hZGRbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlNjFjIn0udWljb24tdHJhc2hbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlNjIzIn0udWljb24tZXJyb3ItY2lyY2xlLWZpbGxbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlNjJjIn0udWljb24tY2FsZW5kYXItZmlsbFtkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU2MzQifS51aWNvbi1jaGVja21hcmstY2lyY2xlLWZpbGxbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlNjM1In0udWljb24tY2xvc2UtY2lyY2xlLWZpbGxbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlNjM3In0udWljb24tY2xvY2stZmlsbFtkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU2MzgifS51aWNvbi1jaGVja21hcmtbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlNjNhIn0udWljb24tZG93bmxvYWRbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlNjNjIn0udWljb24tZXllLWZpbGxbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlNjQxIn0udWljb24tbWljLW9mZltkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU2NDkifS51aWNvbi1taWNbZGF0YS12LWU0ZDZkMzYyXTpiZWZvcmV7Y29udGVudDoiXFxlNjRhIn0udWljb24taW5mby1jaXJjbGUtZmlsbFtkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU2NGIifS51aWNvbi1tYXAtZmlsbFtkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU2NGUifS51aWNvbi10cmFzaC1maWxsW2RhdGEtdi1lNGQ2ZDM2Ml06YmVmb3Jle2NvbnRlbnQ6IlxcZTY1OCJ9LnVpY29uLXZvbHVtZS1vZmYtZmlsbFtkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU2NTkifS51aWNvbi12b2x1bWUtdXAtZmlsbFtkYXRhLXYtZTRkNmQzNjJdOmJlZm9yZXtjb250ZW50OiJcXGU2NWEifS51aWNvbi1zaGFyZS1maWxsW2RhdGEtdi1lNGQ2ZDM2Ml06YmVmb3Jle2NvbnRlbnQ6IlxcZTY1ZSJ9LnRleHQtc3VjY2Vzc1tkYXRhLXYtZTRkNmQzNjJde2NvbG9yOiMyOGJhOTh9LnRleHQtd2FybmluZ1tkYXRhLXYtZTRkNmQzNjJde2NvbG9yOiNkNGJhODN9LnRleHQtcHJpbWFyeVtkYXRhLXYtZTRkNmQzNjJde2NvbG9yOiMyMjc3ZmN9LnRleHQtZXJyb3JbZGF0YS12LWU0ZDZkMzYyXXtjb2xvcjojZjA0YTVhfS50ZXh0LXNlY29uZGFyeVtkYXRhLXYtZTRkNmQzNjJde2NvbG9yOiM5OTl9LnRleHQtZGVlcGJsdWVbZGF0YS12LWU0ZDZkMzYyXXtjb2xvcjojMGQyNzU4fS50ZXh0LTMzM1tkYXRhLXYtZTRkNmQzNjJde2NvbG9yOiMzMzN9LnByaW1hcnktYnV0dG9uW2RhdGEtdi1lNGQ2ZDM2Ml17YmFja2dyb3VuZC1jb2xvcjojMjI3N2ZjO2NvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czolPzEwPyU7Zm9udC1zaXplOiU/MzI/JTtwYWRkaW5nOiU/ND8lIDA7Ym9yZGVyOm5vbmU7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgxODBkZWcsIzAwYzZmYiAwLCMwMDViZWEpfS5wcmltYXJ5LWJ1dHRvbltkYXRhLXYtZTRkNmQzNjJdOmFmdGVye2Rpc3BsYXk6bm9uZX0uZXJyb3ItYnV0dG9uW2RhdGEtdi1lNGQ2ZDM2Ml17YmFja2dyb3VuZC1jb2xvcjojZjA0YTVhO2NvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czolPzEwPyU7Zm9udC1zaXplOiU/MzI/JTtwYWRkaW5nOiU/ND8lIDA7Ym9yZGVyOm5vbmU7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgxODBkZWcsI2Y3NzA2MiAwLCNmZTUxOTYpfS5lcnJvci1idXR0b25bZGF0YS12LWU0ZDZkMzYyXTphZnRlcntkaXNwbGF5Om5vbmV9Lndhcm5pbmctYnV0dG9uW2RhdGEtdi1lNGQ2ZDM2Ml17YmFja2dyb3VuZC1jb2xvcjojZDRiYTgzO2NvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czolPzEwPyU7Zm9udC1zaXplOiU/MzI/JTtwYWRkaW5nOiU/ND8lIDA7Ym9yZGVyOm5vbmU7Y29sb3I6IzRkNGQ0ZDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxZGVnLCNmZmNjOGYsI2ZmZWRkOCl9Lndhcm5pbmctYnV0dG9uW2RhdGEtdi1lNGQ2ZDM2Ml06YWZ0ZXJ7ZGlzcGxheTpub25lfS5zdWNjZXNzLWJ1dHRvbltkYXRhLXYtZTRkNmQzNjJde2JhY2tncm91bmQtY29sb3I6IzI4YmE5ODtjb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6JT8xMD8lO2ZvbnQtc2l6ZTolPzMyPyU7cGFkZGluZzolPzQ/JSAwO2JvcmRlcjpub25lO2NvbG9yOiNmZmY7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoMGRlZywjMGJhMzYwIDAsIzNjYmE5Mil9LnN1Y2Nlc3MtYnV0dG9uW2RhdGEtdi1lNGQ2ZDM2Ml06YWZ0ZXJ7ZGlzcGxheTpub25lfS5zZWNvbmRhcnktYnV0dG9uW2RhdGEtdi1lNGQ2ZDM2Ml17YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDUxLDUxLDUxLC4wNik7Y29sb3I6I2FmYWZhZjtib3JkZXItcmFkaXVzOiU/MTA/JTtmb250LXNpemU6JT8zMj8lO3BhZGRpbmc6JT80PyUgMDtib3JkZXI6bm9uZTtjb2xvcjojYjFiMGIwO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDBkZWcsI2M0YzVjNyAwLCNkY2RkZGYgNTIlLCNlYmViZWIpfS5zZWNvbmRhcnktYnV0dG9uW2RhdGEtdi1lNGQ2ZDM2Ml06YWZ0ZXJ7ZGlzcGxheTpub25lfS50ZXh0LXdoaXRlW2RhdGEtdi1lNGQ2ZDM2Ml17Y29sb3I6I2ZmZiFpbXBvcnRhbnR9LnRleHQtYmxhY2tbZGF0YS12LWU0ZDZkMzYyXXtjb2xvcjojNGQ0ZDRkIWltcG9ydGFudH0uYmctd2hpdGVbZGF0YS12LWU0ZDZkMzYyXXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmYhaW1wb3J0YW50fS5iZy1wcmltYXJ5W2RhdGEtdi1lNGQ2ZDM2Ml17YmFja2dyb3VuZC1jb2xvcjojMjI3N2ZjIWltcG9ydGFudH0uYmctc2Vjb25kYXJ5W2RhdGEtdi1lNGQ2ZDM2Ml17YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDUxLDUxLDUxLC4wNikhaW1wb3J0YW50fS5iZy1ibGFja1tkYXRhLXYtZTRkNmQzNjJde2JhY2tncm91bmQtY29sb3I6IzRkNGQ0ZCFpbXBvcnRhbnR9LmJnLTMzM1tkYXRhLXYtZTRkNmQzNjJde2JhY2tncm91bmQtY29sb3I6IzMzMyFpbXBvcnRhbnR9Lm0tMFtkYXRhLXYtZTRkNmQzNjJde21hcmdpbjolPzA/JSFpbXBvcnRhbnR9Lm14LTBbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tbGVmdDolPzA/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/MD8lIWltcG9ydGFudH0ubWwtMFtkYXRhLXYtZTRkNmQzNjJde21hcmdpbi1sZWZ0OiU/MD8lIWltcG9ydGFudH0ubXItMFtkYXRhLXYtZTRkNmQzNjJde21hcmdpbi1yaWdodDolPzA/JSFpbXBvcnRhbnR9Lm15LTBbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tdG9wOiU/MD8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/MD8lIWltcG9ydGFudH0ubXQtMFtkYXRhLXYtZTRkNmQzNjJde21hcmdpbi10b3A6JT8wPyUhaW1wb3J0YW50fS5tYi0wW2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLWJvdHRvbTolPzA/JSFpbXBvcnRhbnR9LnAtMFtkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmc6JT8wPyUhaW1wb3J0YW50fS5weC0wW2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy1sZWZ0OiU/MD8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/MD8lIWltcG9ydGFudH0ucGwtMFtkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctbGVmdDolPzA/JSFpbXBvcnRhbnR9LnByLTBbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLXJpZ2h0OiU/MD8lIWltcG9ydGFudH0ucHktMFtkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctdG9wOiU/MD8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzA/JSFpbXBvcnRhbnR9LnB0LTBbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLXRvcDolPzA/JSFpbXBvcnRhbnR9LnBiLTBbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLWJvdHRvbTolPzA/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTBbZGF0YS12LWU0ZDZkMzYyXXtncmlkLWdhcDolPzA/JSFpbXBvcnRhbnR9LnotaW5kZXgtMFtkYXRhLXYtZTRkNmQzNjJde3otaW5kZXg6MCFpbXBvcnRhbnR9Lm0tMltkYXRhLXYtZTRkNmQzNjJde21hcmdpbjolPzI/JSFpbXBvcnRhbnR9Lm14LTJbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tbGVmdDolPzI/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/Mj8lIWltcG9ydGFudH0ubWwtMltkYXRhLXYtZTRkNmQzNjJde21hcmdpbi1sZWZ0OiU/Mj8lIWltcG9ydGFudH0ubXItMltkYXRhLXYtZTRkNmQzNjJde21hcmdpbi1yaWdodDolPzI/JSFpbXBvcnRhbnR9Lm15LTJbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tdG9wOiU/Mj8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/Mj8lIWltcG9ydGFudH0ubXQtMltkYXRhLXYtZTRkNmQzNjJde21hcmdpbi10b3A6JT8yPyUhaW1wb3J0YW50fS5tYi0yW2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLWJvdHRvbTolPzI/JSFpbXBvcnRhbnR9LnAtMltkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmc6JT8yPyUhaW1wb3J0YW50fS5weC0yW2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy1sZWZ0OiU/Mj8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/Mj8lIWltcG9ydGFudH0ucGwtMltkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctbGVmdDolPzI/JSFpbXBvcnRhbnR9LnByLTJbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLXJpZ2h0OiU/Mj8lIWltcG9ydGFudH0ucHktMltkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctdG9wOiU/Mj8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzI/JSFpbXBvcnRhbnR9LnB0LTJbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLXRvcDolPzI/JSFpbXBvcnRhbnR9LnBiLTJbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLWJvdHRvbTolPzI/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTJbZGF0YS12LWU0ZDZkMzYyXXtncmlkLWdhcDolPzI/JSFpbXBvcnRhbnR9LnotaW5kZXgtMltkYXRhLXYtZTRkNmQzNjJde3otaW5kZXg6MiFpbXBvcnRhbnR9Lm0tNFtkYXRhLXYtZTRkNmQzNjJde21hcmdpbjolPzQ/JSFpbXBvcnRhbnR9Lm14LTRbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tbGVmdDolPzQ/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/ND8lIWltcG9ydGFudH0ubWwtNFtkYXRhLXYtZTRkNmQzNjJde21hcmdpbi1sZWZ0OiU/ND8lIWltcG9ydGFudH0ubXItNFtkYXRhLXYtZTRkNmQzNjJde21hcmdpbi1yaWdodDolPzQ/JSFpbXBvcnRhbnR9Lm15LTRbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tdG9wOiU/ND8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/ND8lIWltcG9ydGFudH0ubXQtNFtkYXRhLXYtZTRkNmQzNjJde21hcmdpbi10b3A6JT80PyUhaW1wb3J0YW50fS5tYi00W2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLWJvdHRvbTolPzQ/JSFpbXBvcnRhbnR9LnAtNFtkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmc6JT80PyUhaW1wb3J0YW50fS5weC00W2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy1sZWZ0OiU/ND8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/ND8lIWltcG9ydGFudH0ucGwtNFtkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctbGVmdDolPzQ/JSFpbXBvcnRhbnR9LnByLTRbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLXJpZ2h0OiU/ND8lIWltcG9ydGFudH0ucHktNFtkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctdG9wOiU/ND8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzQ/JSFpbXBvcnRhbnR9LnB0LTRbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLXRvcDolPzQ/JSFpbXBvcnRhbnR9LnBiLTRbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLWJvdHRvbTolPzQ/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTRbZGF0YS12LWU0ZDZkMzYyXXtncmlkLWdhcDolPzQ/JSFpbXBvcnRhbnR9LnotaW5kZXgtNFtkYXRhLXYtZTRkNmQzNjJde3otaW5kZXg6NCFpbXBvcnRhbnR9Lm0tNltkYXRhLXYtZTRkNmQzNjJde21hcmdpbjolPzY/JSFpbXBvcnRhbnR9Lm14LTZbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tbGVmdDolPzY/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/Nj8lIWltcG9ydGFudH0ubWwtNltkYXRhLXYtZTRkNmQzNjJde21hcmdpbi1sZWZ0OiU/Nj8lIWltcG9ydGFudH0ubXItNltkYXRhLXYtZTRkNmQzNjJde21hcmdpbi1yaWdodDolPzY/JSFpbXBvcnRhbnR9Lm15LTZbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tdG9wOiU/Nj8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/Nj8lIWltcG9ydGFudH0ubXQtNltkYXRhLXYtZTRkNmQzNjJde21hcmdpbi10b3A6JT82PyUhaW1wb3J0YW50fS5tYi02W2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLWJvdHRvbTolPzY/JSFpbXBvcnRhbnR9LnAtNltkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmc6JT82PyUhaW1wb3J0YW50fS5weC02W2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy1sZWZ0OiU/Nj8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/Nj8lIWltcG9ydGFudH0ucGwtNltkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctbGVmdDolPzY/JSFpbXBvcnRhbnR9LnByLTZbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLXJpZ2h0OiU/Nj8lIWltcG9ydGFudH0ucHktNltkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctdG9wOiU/Nj8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzY/JSFpbXBvcnRhbnR9LnB0LTZbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLXRvcDolPzY/JSFpbXBvcnRhbnR9LnBiLTZbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLWJvdHRvbTolPzY/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTZbZGF0YS12LWU0ZDZkMzYyXXtncmlkLWdhcDolPzY/JSFpbXBvcnRhbnR9LnotaW5kZXgtNltkYXRhLXYtZTRkNmQzNjJde3otaW5kZXg6NiFpbXBvcnRhbnR9Lm0tOFtkYXRhLXYtZTRkNmQzNjJde21hcmdpbjolPzg/JSFpbXBvcnRhbnR9Lm14LThbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tbGVmdDolPzg/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/OD8lIWltcG9ydGFudH0ubWwtOFtkYXRhLXYtZTRkNmQzNjJde21hcmdpbi1sZWZ0OiU/OD8lIWltcG9ydGFudH0ubXItOFtkYXRhLXYtZTRkNmQzNjJde21hcmdpbi1yaWdodDolPzg/JSFpbXBvcnRhbnR9Lm15LThbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tdG9wOiU/OD8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/OD8lIWltcG9ydGFudH0ubXQtOFtkYXRhLXYtZTRkNmQzNjJde21hcmdpbi10b3A6JT84PyUhaW1wb3J0YW50fS5tYi04W2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLWJvdHRvbTolPzg/JSFpbXBvcnRhbnR9LnAtOFtkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmc6JT84PyUhaW1wb3J0YW50fS5weC04W2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy1sZWZ0OiU/OD8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/OD8lIWltcG9ydGFudH0ucGwtOFtkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctbGVmdDolPzg/JSFpbXBvcnRhbnR9LnByLThbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLXJpZ2h0OiU/OD8lIWltcG9ydGFudH0ucHktOFtkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctdG9wOiU/OD8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzg/JSFpbXBvcnRhbnR9LnB0LThbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLXRvcDolPzg/JSFpbXBvcnRhbnR9LnBiLThbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLWJvdHRvbTolPzg/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLThbZGF0YS12LWU0ZDZkMzYyXXtncmlkLWdhcDolPzg/JSFpbXBvcnRhbnR9LnotaW5kZXgtOFtkYXRhLXYtZTRkNmQzNjJde3otaW5kZXg6OCFpbXBvcnRhbnR9Lm0tMTBbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW46JT8xMD8lIWltcG9ydGFudH0ubXgtMTBbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tbGVmdDolPzEwPyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzEwPyUhaW1wb3J0YW50fS5tbC0xMFtkYXRhLXYtZTRkNmQzNjJde21hcmdpbi1sZWZ0OiU/MTA/JSFpbXBvcnRhbnR9Lm1yLTEwW2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLXJpZ2h0OiU/MTA/JSFpbXBvcnRhbnR9Lm15LTEwW2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLXRvcDolPzEwPyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT8xMD8lIWltcG9ydGFudH0ubXQtMTBbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tdG9wOiU/MTA/JSFpbXBvcnRhbnR9Lm1iLTEwW2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLWJvdHRvbTolPzEwPyUhaW1wb3J0YW50fS5wLTEwW2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZzolPzEwPyUhaW1wb3J0YW50fS5weC0xMFtkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctbGVmdDolPzEwPyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT8xMD8lIWltcG9ydGFudH0ucGwtMTBbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLWxlZnQ6JT8xMD8lIWltcG9ydGFudH0ucHItMTBbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLXJpZ2h0OiU/MTA/JSFpbXBvcnRhbnR9LnB5LTEwW2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy10b3A6JT8xMD8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzEwPyUhaW1wb3J0YW50fS5wdC0xMFtkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctdG9wOiU/MTA/JSFpbXBvcnRhbnR9LnBiLTEwW2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy1ib3R0b206JT8xMD8lIWltcG9ydGFudH0uZ3JpZC1nYXAtMTBbZGF0YS12LWU0ZDZkMzYyXXtncmlkLWdhcDolPzEwPyUhaW1wb3J0YW50fS56LWluZGV4LTEwW2RhdGEtdi1lNGQ2ZDM2Ml17ei1pbmRleDoxMCFpbXBvcnRhbnR9Lm0tMTJbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW46JT8xMj8lIWltcG9ydGFudH0ubXgtMTJbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tbGVmdDolPzEyPyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzEyPyUhaW1wb3J0YW50fS5tbC0xMltkYXRhLXYtZTRkNmQzNjJde21hcmdpbi1sZWZ0OiU/MTI/JSFpbXBvcnRhbnR9Lm1yLTEyW2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLXJpZ2h0OiU/MTI/JSFpbXBvcnRhbnR9Lm15LTEyW2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLXRvcDolPzEyPyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT8xMj8lIWltcG9ydGFudH0ubXQtMTJbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tdG9wOiU/MTI/JSFpbXBvcnRhbnR9Lm1iLTEyW2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLWJvdHRvbTolPzEyPyUhaW1wb3J0YW50fS5wLTEyW2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZzolPzEyPyUhaW1wb3J0YW50fS5weC0xMltkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctbGVmdDolPzEyPyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT8xMj8lIWltcG9ydGFudH0ucGwtMTJbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLWxlZnQ6JT8xMj8lIWltcG9ydGFudH0ucHItMTJbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLXJpZ2h0OiU/MTI/JSFpbXBvcnRhbnR9LnB5LTEyW2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy10b3A6JT8xMj8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzEyPyUhaW1wb3J0YW50fS5wdC0xMltkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctdG9wOiU/MTI/JSFpbXBvcnRhbnR9LnBiLTEyW2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy1ib3R0b206JT8xMj8lIWltcG9ydGFudH0uZ3JpZC1nYXAtMTJbZGF0YS12LWU0ZDZkMzYyXXtncmlkLWdhcDolPzEyPyUhaW1wb3J0YW50fS56LWluZGV4LTEyW2RhdGEtdi1lNGQ2ZDM2Ml17ei1pbmRleDoxMiFpbXBvcnRhbnR9Lm0tMTRbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW46JT8xND8lIWltcG9ydGFudH0ubXgtMTRbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tbGVmdDolPzE0PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzE0PyUhaW1wb3J0YW50fS5tbC0xNFtkYXRhLXYtZTRkNmQzNjJde21hcmdpbi1sZWZ0OiU/MTQ/JSFpbXBvcnRhbnR9Lm1yLTE0W2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLXJpZ2h0OiU/MTQ/JSFpbXBvcnRhbnR9Lm15LTE0W2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLXRvcDolPzE0PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT8xND8lIWltcG9ydGFudH0ubXQtMTRbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tdG9wOiU/MTQ/JSFpbXBvcnRhbnR9Lm1iLTE0W2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLWJvdHRvbTolPzE0PyUhaW1wb3J0YW50fS5wLTE0W2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZzolPzE0PyUhaW1wb3J0YW50fS5weC0xNFtkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctbGVmdDolPzE0PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT8xND8lIWltcG9ydGFudH0ucGwtMTRbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLWxlZnQ6JT8xND8lIWltcG9ydGFudH0ucHItMTRbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLXJpZ2h0OiU/MTQ/JSFpbXBvcnRhbnR9LnB5LTE0W2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy10b3A6JT8xND8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzE0PyUhaW1wb3J0YW50fS5wdC0xNFtkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctdG9wOiU/MTQ/JSFpbXBvcnRhbnR9LnBiLTE0W2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy1ib3R0b206JT8xND8lIWltcG9ydGFudH0uZ3JpZC1nYXAtMTRbZGF0YS12LWU0ZDZkMzYyXXtncmlkLWdhcDolPzE0PyUhaW1wb3J0YW50fS56LWluZGV4LTE0W2RhdGEtdi1lNGQ2ZDM2Ml17ei1pbmRleDoxNCFpbXBvcnRhbnR9Lm0tMTZbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW46JT8xNj8lIWltcG9ydGFudH0ubXgtMTZbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tbGVmdDolPzE2PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzE2PyUhaW1wb3J0YW50fS5tbC0xNltkYXRhLXYtZTRkNmQzNjJde21hcmdpbi1sZWZ0OiU/MTY/JSFpbXBvcnRhbnR9Lm1yLTE2W2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLXJpZ2h0OiU/MTY/JSFpbXBvcnRhbnR9Lm15LTE2W2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLXRvcDolPzE2PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT8xNj8lIWltcG9ydGFudH0ubXQtMTZbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tdG9wOiU/MTY/JSFpbXBvcnRhbnR9Lm1iLTE2W2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLWJvdHRvbTolPzE2PyUhaW1wb3J0YW50fS5wLTE2W2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZzolPzE2PyUhaW1wb3J0YW50fS5weC0xNltkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctbGVmdDolPzE2PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT8xNj8lIWltcG9ydGFudH0ucGwtMTZbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLWxlZnQ6JT8xNj8lIWltcG9ydGFudH0ucHItMTZbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLXJpZ2h0OiU/MTY/JSFpbXBvcnRhbnR9LnB5LTE2W2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy10b3A6JT8xNj8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzE2PyUhaW1wb3J0YW50fS5wdC0xNltkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctdG9wOiU/MTY/JSFpbXBvcnRhbnR9LnBiLTE2W2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy1ib3R0b206JT8xNj8lIWltcG9ydGFudH0uZ3JpZC1nYXAtMTZbZGF0YS12LWU0ZDZkMzYyXXtncmlkLWdhcDolPzE2PyUhaW1wb3J0YW50fS56LWluZGV4LTE2W2RhdGEtdi1lNGQ2ZDM2Ml17ei1pbmRleDoxNiFpbXBvcnRhbnR9Lm0tMThbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW46JT8xOD8lIWltcG9ydGFudH0ubXgtMThbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tbGVmdDolPzE4PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzE4PyUhaW1wb3J0YW50fS5tbC0xOFtkYXRhLXYtZTRkNmQzNjJde21hcmdpbi1sZWZ0OiU/MTg/JSFpbXBvcnRhbnR9Lm1yLTE4W2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLXJpZ2h0OiU/MTg/JSFpbXBvcnRhbnR9Lm15LTE4W2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLXRvcDolPzE4PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT8xOD8lIWltcG9ydGFudH0ubXQtMThbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tdG9wOiU/MTg/JSFpbXBvcnRhbnR9Lm1iLTE4W2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLWJvdHRvbTolPzE4PyUhaW1wb3J0YW50fS5wLTE4W2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZzolPzE4PyUhaW1wb3J0YW50fS5weC0xOFtkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctbGVmdDolPzE4PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT8xOD8lIWltcG9ydGFudH0ucGwtMThbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLWxlZnQ6JT8xOD8lIWltcG9ydGFudH0ucHItMThbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLXJpZ2h0OiU/MTg/JSFpbXBvcnRhbnR9LnB5LTE4W2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy10b3A6JT8xOD8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzE4PyUhaW1wb3J0YW50fS5wdC0xOFtkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctdG9wOiU/MTg/JSFpbXBvcnRhbnR9LnBiLTE4W2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy1ib3R0b206JT8xOD8lIWltcG9ydGFudH0uZ3JpZC1nYXAtMThbZGF0YS12LWU0ZDZkMzYyXXtncmlkLWdhcDolPzE4PyUhaW1wb3J0YW50fS56LWluZGV4LTE4W2RhdGEtdi1lNGQ2ZDM2Ml17ei1pbmRleDoxOCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS0xOFtkYXRhLXYtZTRkNmQzNjJde2ZvbnQtc2l6ZTolPzE4PyUhaW1wb3J0YW50fS5tLTIwW2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luOiU/MjA/JSFpbXBvcnRhbnR9Lm14LTIwW2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLWxlZnQ6JT8yMD8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT8yMD8lIWltcG9ydGFudH0ubWwtMjBbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tbGVmdDolPzIwPyUhaW1wb3J0YW50fS5tci0yMFtkYXRhLXYtZTRkNmQzNjJde21hcmdpbi1yaWdodDolPzIwPyUhaW1wb3J0YW50fS5teS0yMFtkYXRhLXYtZTRkNmQzNjJde21hcmdpbi10b3A6JT8yMD8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/MjA/JSFpbXBvcnRhbnR9Lm10LTIwW2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLXRvcDolPzIwPyUhaW1wb3J0YW50fS5tYi0yMFtkYXRhLXYtZTRkNmQzNjJde21hcmdpbi1ib3R0b206JT8yMD8lIWltcG9ydGFudH0ucC0yMFtkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmc6JT8yMD8lIWltcG9ydGFudH0ucHgtMjBbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLWxlZnQ6JT8yMD8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/MjA/JSFpbXBvcnRhbnR9LnBsLTIwW2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy1sZWZ0OiU/MjA/JSFpbXBvcnRhbnR9LnByLTIwW2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy1yaWdodDolPzIwPyUhaW1wb3J0YW50fS5weS0yMFtkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctdG9wOiU/MjA/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT8yMD8lIWltcG9ydGFudH0ucHQtMjBbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLXRvcDolPzIwPyUhaW1wb3J0YW50fS5wYi0yMFtkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctYm90dG9tOiU/MjA/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTIwW2RhdGEtdi1lNGQ2ZDM2Ml17Z3JpZC1nYXA6JT8yMD8lIWltcG9ydGFudH0uei1pbmRleC0yMFtkYXRhLXYtZTRkNmQzNjJde3otaW5kZXg6MjAhaW1wb3J0YW50fS5mb250LXNpemUtMjBbZGF0YS12LWU0ZDZkMzYyXXtmb250LXNpemU6JT8yMD8lIWltcG9ydGFudH0ubS0yMltkYXRhLXYtZTRkNmQzNjJde21hcmdpbjolPzIyPyUhaW1wb3J0YW50fS5teC0yMltkYXRhLXYtZTRkNmQzNjJde21hcmdpbi1sZWZ0OiU/MjI/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/MjI/JSFpbXBvcnRhbnR9Lm1sLTIyW2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLWxlZnQ6JT8yMj8lIWltcG9ydGFudH0ubXItMjJbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tcmlnaHQ6JT8yMj8lIWltcG9ydGFudH0ubXktMjJbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tdG9wOiU/MjI/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzIyPyUhaW1wb3J0YW50fS5tdC0yMltkYXRhLXYtZTRkNmQzNjJde21hcmdpbi10b3A6JT8yMj8lIWltcG9ydGFudH0ubWItMjJbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tYm90dG9tOiU/MjI/JSFpbXBvcnRhbnR9LnAtMjJbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nOiU/MjI/JSFpbXBvcnRhbnR9LnB4LTIyW2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy1sZWZ0OiU/MjI/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzIyPyUhaW1wb3J0YW50fS5wbC0yMltkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctbGVmdDolPzIyPyUhaW1wb3J0YW50fS5wci0yMltkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctcmlnaHQ6JT8yMj8lIWltcG9ydGFudH0ucHktMjJbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLXRvcDolPzIyPyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/MjI/JSFpbXBvcnRhbnR9LnB0LTIyW2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy10b3A6JT8yMj8lIWltcG9ydGFudH0ucGItMjJbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLWJvdHRvbTolPzIyPyUhaW1wb3J0YW50fS5ncmlkLWdhcC0yMltkYXRhLXYtZTRkNmQzNjJde2dyaWQtZ2FwOiU/MjI/JSFpbXBvcnRhbnR9LnotaW5kZXgtMjJbZGF0YS12LWU0ZDZkMzYyXXt6LWluZGV4OjIyIWltcG9ydGFudH0uZm9udC1zaXplLTIyW2RhdGEtdi1lNGQ2ZDM2Ml0sIC5pbnB1dC1pdGVtIC5nZXQtY29kZVtkYXRhLXYtZTRkNmQzNjJde2ZvbnQtc2l6ZTolPzIyPyUhaW1wb3J0YW50fS5tLTI0W2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luOiU/MjQ/JSFpbXBvcnRhbnR9Lm14LTI0W2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLWxlZnQ6JT8yND8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT8yND8lIWltcG9ydGFudH0ubWwtMjRbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tbGVmdDolPzI0PyUhaW1wb3J0YW50fS5tci0yNFtkYXRhLXYtZTRkNmQzNjJde21hcmdpbi1yaWdodDolPzI0PyUhaW1wb3J0YW50fS5teS0yNFtkYXRhLXYtZTRkNmQzNjJde21hcmdpbi10b3A6JT8yND8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/MjQ/JSFpbXBvcnRhbnR9Lm10LTI0W2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLXRvcDolPzI0PyUhaW1wb3J0YW50fS5tYi0yNFtkYXRhLXYtZTRkNmQzNjJde21hcmdpbi1ib3R0b206JT8yND8lIWltcG9ydGFudH0ucC0yNFtkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmc6JT8yND8lIWltcG9ydGFudH0ucHgtMjRbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLWxlZnQ6JT8yND8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/MjQ/JSFpbXBvcnRhbnR9LnBsLTI0W2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy1sZWZ0OiU/MjQ/JSFpbXBvcnRhbnR9LnByLTI0W2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy1yaWdodDolPzI0PyUhaW1wb3J0YW50fS5weS0yNFtkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctdG9wOiU/MjQ/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT8yND8lIWltcG9ydGFudH0ucHQtMjRbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLXRvcDolPzI0PyUhaW1wb3J0YW50fS5wYi0yNFtkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctYm90dG9tOiU/MjQ/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTI0W2RhdGEtdi1lNGQ2ZDM2Ml17Z3JpZC1nYXA6JT8yND8lIWltcG9ydGFudH0uei1pbmRleC0yNFtkYXRhLXYtZTRkNmQzNjJde3otaW5kZXg6MjQhaW1wb3J0YW50fS5mb250LXNpemUtMjRbZGF0YS12LWU0ZDZkMzYyXSwgLmxvZ2luLWlucHV0LWdyb3VwIC5sYWJlbFtkYXRhLXYtZTRkNmQzNjJde2ZvbnQtc2l6ZTolPzI0PyUhaW1wb3J0YW50fS5tLTI2W2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luOiU/MjY/JSFpbXBvcnRhbnR9Lm14LTI2W2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLWxlZnQ6JT8yNj8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT8yNj8lIWltcG9ydGFudH0ubWwtMjZbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tbGVmdDolPzI2PyUhaW1wb3J0YW50fS5tci0yNltkYXRhLXYtZTRkNmQzNjJde21hcmdpbi1yaWdodDolPzI2PyUhaW1wb3J0YW50fS5teS0yNltkYXRhLXYtZTRkNmQzNjJde21hcmdpbi10b3A6JT8yNj8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/MjY/JSFpbXBvcnRhbnR9Lm10LTI2W2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLXRvcDolPzI2PyUhaW1wb3J0YW50fS5tYi0yNltkYXRhLXYtZTRkNmQzNjJde21hcmdpbi1ib3R0b206JT8yNj8lIWltcG9ydGFudH0ucC0yNltkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmc6JT8yNj8lIWltcG9ydGFudH0ucHgtMjZbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLWxlZnQ6JT8yNj8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/MjY/JSFpbXBvcnRhbnR9LnBsLTI2W2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy1sZWZ0OiU/MjY/JSFpbXBvcnRhbnR9LnByLTI2W2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy1yaWdodDolPzI2PyUhaW1wb3J0YW50fS5weS0yNltkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctdG9wOiU/MjY/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT8yNj8lIWltcG9ydGFudH0ucHQtMjZbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLXRvcDolPzI2PyUhaW1wb3J0YW50fS5wYi0yNltkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctYm90dG9tOiU/MjY/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTI2W2RhdGEtdi1lNGQ2ZDM2Ml17Z3JpZC1nYXA6JT8yNj8lIWltcG9ydGFudH0uei1pbmRleC0yNltkYXRhLXYtZTRkNmQzNjJde3otaW5kZXg6MjYhaW1wb3J0YW50fS5mb250LXNpemUtMjZbZGF0YS12LWU0ZDZkMzYyXXtmb250LXNpemU6JT8yNj8lIWltcG9ydGFudH0ubS0yOFtkYXRhLXYtZTRkNmQzNjJde21hcmdpbjolPzI4PyUhaW1wb3J0YW50fS5teC0yOFtkYXRhLXYtZTRkNmQzNjJde21hcmdpbi1sZWZ0OiU/Mjg/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/Mjg/JSFpbXBvcnRhbnR9Lm1sLTI4W2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLWxlZnQ6JT8yOD8lIWltcG9ydGFudH0ubXItMjhbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tcmlnaHQ6JT8yOD8lIWltcG9ydGFudH0ubXktMjhbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tdG9wOiU/Mjg/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzI4PyUhaW1wb3J0YW50fS5tdC0yOFtkYXRhLXYtZTRkNmQzNjJde21hcmdpbi10b3A6JT8yOD8lIWltcG9ydGFudH0ubWItMjhbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tYm90dG9tOiU/Mjg/JSFpbXBvcnRhbnR9LnAtMjhbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nOiU/Mjg/JSFpbXBvcnRhbnR9LnB4LTI4W2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy1sZWZ0OiU/Mjg/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzI4PyUhaW1wb3J0YW50fS5wbC0yOFtkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctbGVmdDolPzI4PyUhaW1wb3J0YW50fS5wci0yOFtkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctcmlnaHQ6JT8yOD8lIWltcG9ydGFudH0ucHktMjhbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLXRvcDolPzI4PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/Mjg/JSFpbXBvcnRhbnR9LnB0LTI4W2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy10b3A6JT8yOD8lIWltcG9ydGFudH0ucGItMjhbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLWJvdHRvbTolPzI4PyUhaW1wb3J0YW50fS5ncmlkLWdhcC0yOFtkYXRhLXYtZTRkNmQzNjJde2dyaWQtZ2FwOiU/Mjg/JSFpbXBvcnRhbnR9LnotaW5kZXgtMjhbZGF0YS12LWU0ZDZkMzYyXXt6LWluZGV4OjI4IWltcG9ydGFudH0uZm9udC1zaXplLTI4W2RhdGEtdi1lNGQ2ZDM2Ml17Zm9udC1zaXplOiU/Mjg/JSFpbXBvcnRhbnR9Lm0tMzBbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW46JT8zMD8lIWltcG9ydGFudH0ubXgtMzBbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tbGVmdDolPzMwPyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzMwPyUhaW1wb3J0YW50fS5tbC0zMFtkYXRhLXYtZTRkNmQzNjJde21hcmdpbi1sZWZ0OiU/MzA/JSFpbXBvcnRhbnR9Lm1yLTMwW2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLXJpZ2h0OiU/MzA/JSFpbXBvcnRhbnR9Lm15LTMwW2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLXRvcDolPzMwPyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT8zMD8lIWltcG9ydGFudH0ubXQtMzBbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tdG9wOiU/MzA/JSFpbXBvcnRhbnR9Lm1iLTMwW2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLWJvdHRvbTolPzMwPyUhaW1wb3J0YW50fS5wLTMwW2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZzolPzMwPyUhaW1wb3J0YW50fS5weC0zMFtkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctbGVmdDolPzMwPyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT8zMD8lIWltcG9ydGFudH0ucGwtMzBbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLWxlZnQ6JT8zMD8lIWltcG9ydGFudH0ucHItMzBbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLXJpZ2h0OiU/MzA/JSFpbXBvcnRhbnR9LnB5LTMwW2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy10b3A6JT8zMD8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzMwPyUhaW1wb3J0YW50fS5wdC0zMFtkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctdG9wOiU/MzA/JSFpbXBvcnRhbnR9LnBiLTMwW2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy1ib3R0b206JT8zMD8lIWltcG9ydGFudH0uZ3JpZC1nYXAtMzBbZGF0YS12LWU0ZDZkMzYyXXtncmlkLWdhcDolPzMwPyUhaW1wb3J0YW50fS56LWluZGV4LTMwW2RhdGEtdi1lNGQ2ZDM2Ml17ei1pbmRleDozMCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS0zMFtkYXRhLXYtZTRkNmQzNjJde2ZvbnQtc2l6ZTolPzMwPyUhaW1wb3J0YW50fS5tLTMyW2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luOiU/MzI/JSFpbXBvcnRhbnR9Lm14LTMyW2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLWxlZnQ6JT8zMj8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT8zMj8lIWltcG9ydGFudH0ubWwtMzJbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tbGVmdDolPzMyPyUhaW1wb3J0YW50fS5tci0zMltkYXRhLXYtZTRkNmQzNjJde21hcmdpbi1yaWdodDolPzMyPyUhaW1wb3J0YW50fS5teS0zMltkYXRhLXYtZTRkNmQzNjJde21hcmdpbi10b3A6JT8zMj8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/MzI/JSFpbXBvcnRhbnR9Lm10LTMyW2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLXRvcDolPzMyPyUhaW1wb3J0YW50fS5tYi0zMltkYXRhLXYtZTRkNmQzNjJde21hcmdpbi1ib3R0b206JT8zMj8lIWltcG9ydGFudH0ucC0zMltkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmc6JT8zMj8lIWltcG9ydGFudH0ucHgtMzJbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLWxlZnQ6JT8zMj8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/MzI/JSFpbXBvcnRhbnR9LnBsLTMyW2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy1sZWZ0OiU/MzI/JSFpbXBvcnRhbnR9LnByLTMyW2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy1yaWdodDolPzMyPyUhaW1wb3J0YW50fS5weS0zMltkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctdG9wOiU/MzI/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT8zMj8lIWltcG9ydGFudH0ucHQtMzJbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLXRvcDolPzMyPyUhaW1wb3J0YW50fS5wYi0zMltkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctYm90dG9tOiU/MzI/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTMyW2RhdGEtdi1lNGQ2ZDM2Ml17Z3JpZC1nYXA6JT8zMj8lIWltcG9ydGFudH0uei1pbmRleC0zMltkYXRhLXYtZTRkNmQzNjJde3otaW5kZXg6MzIhaW1wb3J0YW50fS5mb250LXNpemUtMzJbZGF0YS12LWU0ZDZkMzYyXSwgLmlucHV0W2RhdGEtdi1lNGQ2ZDM2Ml0sIC5sb2dpbi1pbnB1dC1ncm91cCAubG9naW4taW5wdXRbZGF0YS12LWU0ZDZkMzYyXSwgLmFydGljbGUgdW5pLXRleHRbZGF0YS12LWU0ZDZkMzYyXXtmb250LXNpemU6JT8zMj8lIWltcG9ydGFudH0ubS0zNFtkYXRhLXYtZTRkNmQzNjJde21hcmdpbjolPzM0PyUhaW1wb3J0YW50fS5teC0zNFtkYXRhLXYtZTRkNmQzNjJde21hcmdpbi1sZWZ0OiU/MzQ/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/MzQ/JSFpbXBvcnRhbnR9Lm1sLTM0W2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLWxlZnQ6JT8zND8lIWltcG9ydGFudH0ubXItMzRbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tcmlnaHQ6JT8zND8lIWltcG9ydGFudH0ubXktMzRbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tdG9wOiU/MzQ/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzM0PyUhaW1wb3J0YW50fS5tdC0zNFtkYXRhLXYtZTRkNmQzNjJde21hcmdpbi10b3A6JT8zND8lIWltcG9ydGFudH0ubWItMzRbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tYm90dG9tOiU/MzQ/JSFpbXBvcnRhbnR9LnAtMzRbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nOiU/MzQ/JSFpbXBvcnRhbnR9LnB4LTM0W2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy1sZWZ0OiU/MzQ/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzM0PyUhaW1wb3J0YW50fS5wbC0zNFtkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctbGVmdDolPzM0PyUhaW1wb3J0YW50fS5wci0zNFtkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctcmlnaHQ6JT8zND8lIWltcG9ydGFudH0ucHktMzRbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLXRvcDolPzM0PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/MzQ/JSFpbXBvcnRhbnR9LnB0LTM0W2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy10b3A6JT8zND8lIWltcG9ydGFudH0ucGItMzRbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLWJvdHRvbTolPzM0PyUhaW1wb3J0YW50fS5ncmlkLWdhcC0zNFtkYXRhLXYtZTRkNmQzNjJde2dyaWQtZ2FwOiU/MzQ/JSFpbXBvcnRhbnR9LnotaW5kZXgtMzRbZGF0YS12LWU0ZDZkMzYyXXt6LWluZGV4OjM0IWltcG9ydGFudH0uZm9udC1zaXplLTM0W2RhdGEtdi1lNGQ2ZDM2Ml17Zm9udC1zaXplOiU/MzQ/JSFpbXBvcnRhbnR9Lm0tMzZbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW46JT8zNj8lIWltcG9ydGFudH0ubXgtMzZbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tbGVmdDolPzM2PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzM2PyUhaW1wb3J0YW50fS5tbC0zNltkYXRhLXYtZTRkNmQzNjJde21hcmdpbi1sZWZ0OiU/MzY/JSFpbXBvcnRhbnR9Lm1yLTM2W2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLXJpZ2h0OiU/MzY/JSFpbXBvcnRhbnR9Lm15LTM2W2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLXRvcDolPzM2PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT8zNj8lIWltcG9ydGFudH0ubXQtMzZbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tdG9wOiU/MzY/JSFpbXBvcnRhbnR9Lm1iLTM2W2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLWJvdHRvbTolPzM2PyUhaW1wb3J0YW50fS5wLTM2W2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZzolPzM2PyUhaW1wb3J0YW50fS5weC0zNltkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctbGVmdDolPzM2PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT8zNj8lIWltcG9ydGFudH0ucGwtMzZbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLWxlZnQ6JT8zNj8lIWltcG9ydGFudH0ucHItMzZbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLXJpZ2h0OiU/MzY/JSFpbXBvcnRhbnR9LnB5LTM2W2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy10b3A6JT8zNj8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzM2PyUhaW1wb3J0YW50fS5wdC0zNltkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctdG9wOiU/MzY/JSFpbXBvcnRhbnR9LnBiLTM2W2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy1ib3R0b206JT8zNj8lIWltcG9ydGFudH0uZ3JpZC1nYXAtMzZbZGF0YS12LWU0ZDZkMzYyXXtncmlkLWdhcDolPzM2PyUhaW1wb3J0YW50fS56LWluZGV4LTM2W2RhdGEtdi1lNGQ2ZDM2Ml17ei1pbmRleDozNiFpbXBvcnRhbnR9LmZvbnQtc2l6ZS0zNltkYXRhLXYtZTRkNmQzNjJde2ZvbnQtc2l6ZTolPzM2PyUhaW1wb3J0YW50fS5tLTM4W2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luOiU/Mzg/JSFpbXBvcnRhbnR9Lm14LTM4W2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLWxlZnQ6JT8zOD8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT8zOD8lIWltcG9ydGFudH0ubWwtMzhbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tbGVmdDolPzM4PyUhaW1wb3J0YW50fS5tci0zOFtkYXRhLXYtZTRkNmQzNjJde21hcmdpbi1yaWdodDolPzM4PyUhaW1wb3J0YW50fS5teS0zOFtkYXRhLXYtZTRkNmQzNjJde21hcmdpbi10b3A6JT8zOD8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/Mzg/JSFpbXBvcnRhbnR9Lm10LTM4W2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLXRvcDolPzM4PyUhaW1wb3J0YW50fS5tYi0zOFtkYXRhLXYtZTRkNmQzNjJde21hcmdpbi1ib3R0b206JT8zOD8lIWltcG9ydGFudH0ucC0zOFtkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmc6JT8zOD8lIWltcG9ydGFudH0ucHgtMzhbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLWxlZnQ6JT8zOD8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/Mzg/JSFpbXBvcnRhbnR9LnBsLTM4W2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy1sZWZ0OiU/Mzg/JSFpbXBvcnRhbnR9LnByLTM4W2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy1yaWdodDolPzM4PyUhaW1wb3J0YW50fS5weS0zOFtkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctdG9wOiU/Mzg/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT8zOD8lIWltcG9ydGFudH0ucHQtMzhbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLXRvcDolPzM4PyUhaW1wb3J0YW50fS5wYi0zOFtkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctYm90dG9tOiU/Mzg/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTM4W2RhdGEtdi1lNGQ2ZDM2Ml17Z3JpZC1nYXA6JT8zOD8lIWltcG9ydGFudH0uei1pbmRleC0zOFtkYXRhLXYtZTRkNmQzNjJde3otaW5kZXg6MzghaW1wb3J0YW50fS5mb250LXNpemUtMzhbZGF0YS12LWU0ZDZkMzYyXXtmb250LXNpemU6JT8zOD8lIWltcG9ydGFudH0ubS00MFtkYXRhLXYtZTRkNmQzNjJde21hcmdpbjolPzQwPyUhaW1wb3J0YW50fS5teC00MFtkYXRhLXYtZTRkNmQzNjJde21hcmdpbi1sZWZ0OiU/NDA/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/NDA/JSFpbXBvcnRhbnR9Lm1sLTQwW2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLWxlZnQ6JT80MD8lIWltcG9ydGFudH0ubXItNDBbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tcmlnaHQ6JT80MD8lIWltcG9ydGFudH0ubXktNDBbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tdG9wOiU/NDA/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzQwPyUhaW1wb3J0YW50fS5tdC00MFtkYXRhLXYtZTRkNmQzNjJde21hcmdpbi10b3A6JT80MD8lIWltcG9ydGFudH0ubWItNDBbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tYm90dG9tOiU/NDA/JSFpbXBvcnRhbnR9LnAtNDBbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nOiU/NDA/JSFpbXBvcnRhbnR9LnB4LTQwW2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy1sZWZ0OiU/NDA/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzQwPyUhaW1wb3J0YW50fS5wbC00MFtkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctbGVmdDolPzQwPyUhaW1wb3J0YW50fS5wci00MFtkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctcmlnaHQ6JT80MD8lIWltcG9ydGFudH0ucHktNDBbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLXRvcDolPzQwPyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NDA/JSFpbXBvcnRhbnR9LnB0LTQwW2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy10b3A6JT80MD8lIWltcG9ydGFudH0ucGItNDBbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLWJvdHRvbTolPzQwPyUhaW1wb3J0YW50fS5ncmlkLWdhcC00MFtkYXRhLXYtZTRkNmQzNjJde2dyaWQtZ2FwOiU/NDA/JSFpbXBvcnRhbnR9LnotaW5kZXgtNDBbZGF0YS12LWU0ZDZkMzYyXXt6LWluZGV4OjQwIWltcG9ydGFudH0uZm9udC1zaXplLTQwW2RhdGEtdi1lNGQ2ZDM2Ml17Zm9udC1zaXplOiU/NDA/JSFpbXBvcnRhbnR9Lm0tNDJbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW46JT80Mj8lIWltcG9ydGFudH0ubXgtNDJbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tbGVmdDolPzQyPyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzQyPyUhaW1wb3J0YW50fS5tbC00MltkYXRhLXYtZTRkNmQzNjJde21hcmdpbi1sZWZ0OiU/NDI/JSFpbXBvcnRhbnR9Lm1yLTQyW2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLXJpZ2h0OiU/NDI/JSFpbXBvcnRhbnR9Lm15LTQyW2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLXRvcDolPzQyPyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT80Mj8lIWltcG9ydGFudH0ubXQtNDJbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tdG9wOiU/NDI/JSFpbXBvcnRhbnR9Lm1iLTQyW2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLWJvdHRvbTolPzQyPyUhaW1wb3J0YW50fS5wLTQyW2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZzolPzQyPyUhaW1wb3J0YW50fS5weC00MltkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctbGVmdDolPzQyPyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT80Mj8lIWltcG9ydGFudH0ucGwtNDJbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLWxlZnQ6JT80Mj8lIWltcG9ydGFudH0ucHItNDJbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLXJpZ2h0OiU/NDI/JSFpbXBvcnRhbnR9LnB5LTQyW2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy10b3A6JT80Mj8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzQyPyUhaW1wb3J0YW50fS5wdC00MltkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctdG9wOiU/NDI/JSFpbXBvcnRhbnR9LnBiLTQyW2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy1ib3R0b206JT80Mj8lIWltcG9ydGFudH0uZ3JpZC1nYXAtNDJbZGF0YS12LWU0ZDZkMzYyXXtncmlkLWdhcDolPzQyPyUhaW1wb3J0YW50fS56LWluZGV4LTQyW2RhdGEtdi1lNGQ2ZDM2Ml17ei1pbmRleDo0MiFpbXBvcnRhbnR9LmZvbnQtc2l6ZS00MltkYXRhLXYtZTRkNmQzNjJde2ZvbnQtc2l6ZTolPzQyPyUhaW1wb3J0YW50fS5tLTQ0W2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luOiU/NDQ/JSFpbXBvcnRhbnR9Lm14LTQ0W2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLWxlZnQ6JT80ND8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT80ND8lIWltcG9ydGFudH0ubWwtNDRbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tbGVmdDolPzQ0PyUhaW1wb3J0YW50fS5tci00NFtkYXRhLXYtZTRkNmQzNjJde21hcmdpbi1yaWdodDolPzQ0PyUhaW1wb3J0YW50fS5teS00NFtkYXRhLXYtZTRkNmQzNjJde21hcmdpbi10b3A6JT80ND8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/NDQ/JSFpbXBvcnRhbnR9Lm10LTQ0W2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLXRvcDolPzQ0PyUhaW1wb3J0YW50fS5tYi00NFtkYXRhLXYtZTRkNmQzNjJde21hcmdpbi1ib3R0b206JT80ND8lIWltcG9ydGFudH0ucC00NFtkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmc6JT80ND8lIWltcG9ydGFudH0ucHgtNDRbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLWxlZnQ6JT80ND8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/NDQ/JSFpbXBvcnRhbnR9LnBsLTQ0W2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy1sZWZ0OiU/NDQ/JSFpbXBvcnRhbnR9LnByLTQ0W2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy1yaWdodDolPzQ0PyUhaW1wb3J0YW50fS5weS00NFtkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctdG9wOiU/NDQ/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT80ND8lIWltcG9ydGFudH0ucHQtNDRbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLXRvcDolPzQ0PyUhaW1wb3J0YW50fS5wYi00NFtkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctYm90dG9tOiU/NDQ/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTQ0W2RhdGEtdi1lNGQ2ZDM2Ml17Z3JpZC1nYXA6JT80ND8lIWltcG9ydGFudH0uei1pbmRleC00NFtkYXRhLXYtZTRkNmQzNjJde3otaW5kZXg6NDQhaW1wb3J0YW50fS5mb250LXNpemUtNDRbZGF0YS12LWU0ZDZkMzYyXXtmb250LXNpemU6JT80ND8lIWltcG9ydGFudH0ubS00NltkYXRhLXYtZTRkNmQzNjJde21hcmdpbjolPzQ2PyUhaW1wb3J0YW50fS5teC00NltkYXRhLXYtZTRkNmQzNjJde21hcmdpbi1sZWZ0OiU/NDY/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/NDY/JSFpbXBvcnRhbnR9Lm1sLTQ2W2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLWxlZnQ6JT80Nj8lIWltcG9ydGFudH0ubXItNDZbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tcmlnaHQ6JT80Nj8lIWltcG9ydGFudH0ubXktNDZbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tdG9wOiU/NDY/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzQ2PyUhaW1wb3J0YW50fS5tdC00NltkYXRhLXYtZTRkNmQzNjJde21hcmdpbi10b3A6JT80Nj8lIWltcG9ydGFudH0ubWItNDZbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tYm90dG9tOiU/NDY/JSFpbXBvcnRhbnR9LnAtNDZbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nOiU/NDY/JSFpbXBvcnRhbnR9LnB4LTQ2W2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy1sZWZ0OiU/NDY/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzQ2PyUhaW1wb3J0YW50fS5wbC00NltkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctbGVmdDolPzQ2PyUhaW1wb3J0YW50fS5wci00NltkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctcmlnaHQ6JT80Nj8lIWltcG9ydGFudH0ucHktNDZbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLXRvcDolPzQ2PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NDY/JSFpbXBvcnRhbnR9LnB0LTQ2W2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy10b3A6JT80Nj8lIWltcG9ydGFudH0ucGItNDZbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLWJvdHRvbTolPzQ2PyUhaW1wb3J0YW50fS5ncmlkLWdhcC00NltkYXRhLXYtZTRkNmQzNjJde2dyaWQtZ2FwOiU/NDY/JSFpbXBvcnRhbnR9LnotaW5kZXgtNDZbZGF0YS12LWU0ZDZkMzYyXXt6LWluZGV4OjQ2IWltcG9ydGFudH0uZm9udC1zaXplLTQ2W2RhdGEtdi1lNGQ2ZDM2Ml17Zm9udC1zaXplOiU/NDY/JSFpbXBvcnRhbnR9Lm0tNDhbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW46JT80OD8lIWltcG9ydGFudH0ubXgtNDhbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tbGVmdDolPzQ4PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzQ4PyUhaW1wb3J0YW50fS5tbC00OFtkYXRhLXYtZTRkNmQzNjJde21hcmdpbi1sZWZ0OiU/NDg/JSFpbXBvcnRhbnR9Lm1yLTQ4W2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLXJpZ2h0OiU/NDg/JSFpbXBvcnRhbnR9Lm15LTQ4W2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLXRvcDolPzQ4PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT80OD8lIWltcG9ydGFudH0ubXQtNDhbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tdG9wOiU/NDg/JSFpbXBvcnRhbnR9Lm1iLTQ4W2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLWJvdHRvbTolPzQ4PyUhaW1wb3J0YW50fS5wLTQ4W2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZzolPzQ4PyUhaW1wb3J0YW50fS5weC00OFtkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctbGVmdDolPzQ4PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT80OD8lIWltcG9ydGFudH0ucGwtNDhbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLWxlZnQ6JT80OD8lIWltcG9ydGFudH0ucHItNDhbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLXJpZ2h0OiU/NDg/JSFpbXBvcnRhbnR9LnB5LTQ4W2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy10b3A6JT80OD8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzQ4PyUhaW1wb3J0YW50fS5wdC00OFtkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctdG9wOiU/NDg/JSFpbXBvcnRhbnR9LnBiLTQ4W2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy1ib3R0b206JT80OD8lIWltcG9ydGFudH0uZ3JpZC1nYXAtNDhbZGF0YS12LWU0ZDZkMzYyXXtncmlkLWdhcDolPzQ4PyUhaW1wb3J0YW50fS56LWluZGV4LTQ4W2RhdGEtdi1lNGQ2ZDM2Ml17ei1pbmRleDo0OCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS00OFtkYXRhLXYtZTRkNmQzNjJde2ZvbnQtc2l6ZTolPzQ4PyUhaW1wb3J0YW50fS5tLTUwW2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luOiU/NTA/JSFpbXBvcnRhbnR9Lm14LTUwW2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLWxlZnQ6JT81MD8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT81MD8lIWltcG9ydGFudH0ubWwtNTBbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tbGVmdDolPzUwPyUhaW1wb3J0YW50fS5tci01MFtkYXRhLXYtZTRkNmQzNjJde21hcmdpbi1yaWdodDolPzUwPyUhaW1wb3J0YW50fS5teS01MFtkYXRhLXYtZTRkNmQzNjJde21hcmdpbi10b3A6JT81MD8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/NTA/JSFpbXBvcnRhbnR9Lm10LTUwW2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLXRvcDolPzUwPyUhaW1wb3J0YW50fS5tYi01MFtkYXRhLXYtZTRkNmQzNjJde21hcmdpbi1ib3R0b206JT81MD8lIWltcG9ydGFudH0ucC01MFtkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmc6JT81MD8lIWltcG9ydGFudH0ucHgtNTBbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLWxlZnQ6JT81MD8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/NTA/JSFpbXBvcnRhbnR9LnBsLTUwW2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy1sZWZ0OiU/NTA/JSFpbXBvcnRhbnR9LnByLTUwW2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy1yaWdodDolPzUwPyUhaW1wb3J0YW50fS5weS01MFtkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctdG9wOiU/NTA/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT81MD8lIWltcG9ydGFudH0ucHQtNTBbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLXRvcDolPzUwPyUhaW1wb3J0YW50fS5wYi01MFtkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctYm90dG9tOiU/NTA/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTUwW2RhdGEtdi1lNGQ2ZDM2Ml17Z3JpZC1nYXA6JT81MD8lIWltcG9ydGFudH0uei1pbmRleC01MFtkYXRhLXYtZTRkNmQzNjJde3otaW5kZXg6NTAhaW1wb3J0YW50fS5mb250LXNpemUtNTBbZGF0YS12LWU0ZDZkMzYyXXtmb250LXNpemU6JT81MD8lIWltcG9ydGFudH0ubS01MltkYXRhLXYtZTRkNmQzNjJde21hcmdpbjolPzUyPyUhaW1wb3J0YW50fS5teC01MltkYXRhLXYtZTRkNmQzNjJde21hcmdpbi1sZWZ0OiU/NTI/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/NTI/JSFpbXBvcnRhbnR9Lm1sLTUyW2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLWxlZnQ6JT81Mj8lIWltcG9ydGFudH0ubXItNTJbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tcmlnaHQ6JT81Mj8lIWltcG9ydGFudH0ubXktNTJbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tdG9wOiU/NTI/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzUyPyUhaW1wb3J0YW50fS5tdC01MltkYXRhLXYtZTRkNmQzNjJde21hcmdpbi10b3A6JT81Mj8lIWltcG9ydGFudH0ubWItNTJbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tYm90dG9tOiU/NTI/JSFpbXBvcnRhbnR9LnAtNTJbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nOiU/NTI/JSFpbXBvcnRhbnR9LnB4LTUyW2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy1sZWZ0OiU/NTI/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzUyPyUhaW1wb3J0YW50fS5wbC01MltkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctbGVmdDolPzUyPyUhaW1wb3J0YW50fS5wci01MltkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctcmlnaHQ6JT81Mj8lIWltcG9ydGFudH0ucHktNTJbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLXRvcDolPzUyPyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NTI/JSFpbXBvcnRhbnR9LnB0LTUyW2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy10b3A6JT81Mj8lIWltcG9ydGFudH0ucGItNTJbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLWJvdHRvbTolPzUyPyUhaW1wb3J0YW50fS5ncmlkLWdhcC01MltkYXRhLXYtZTRkNmQzNjJde2dyaWQtZ2FwOiU/NTI/JSFpbXBvcnRhbnR9LnotaW5kZXgtNTJbZGF0YS12LWU0ZDZkMzYyXXt6LWluZGV4OjUyIWltcG9ydGFudH0uZm9udC1zaXplLTUyW2RhdGEtdi1lNGQ2ZDM2Ml17Zm9udC1zaXplOiU/NTI/JSFpbXBvcnRhbnR9Lm0tNTRbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW46JT81ND8lIWltcG9ydGFudH0ubXgtNTRbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tbGVmdDolPzU0PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzU0PyUhaW1wb3J0YW50fS5tbC01NFtkYXRhLXYtZTRkNmQzNjJde21hcmdpbi1sZWZ0OiU/NTQ/JSFpbXBvcnRhbnR9Lm1yLTU0W2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLXJpZ2h0OiU/NTQ/JSFpbXBvcnRhbnR9Lm15LTU0W2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLXRvcDolPzU0PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT81ND8lIWltcG9ydGFudH0ubXQtNTRbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tdG9wOiU/NTQ/JSFpbXBvcnRhbnR9Lm1iLTU0W2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLWJvdHRvbTolPzU0PyUhaW1wb3J0YW50fS5wLTU0W2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZzolPzU0PyUhaW1wb3J0YW50fS5weC01NFtkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctbGVmdDolPzU0PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT81ND8lIWltcG9ydGFudH0ucGwtNTRbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLWxlZnQ6JT81ND8lIWltcG9ydGFudH0ucHItNTRbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLXJpZ2h0OiU/NTQ/JSFpbXBvcnRhbnR9LnB5LTU0W2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy10b3A6JT81ND8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzU0PyUhaW1wb3J0YW50fS5wdC01NFtkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctdG9wOiU/NTQ/JSFpbXBvcnRhbnR9LnBiLTU0W2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy1ib3R0b206JT81ND8lIWltcG9ydGFudH0uZ3JpZC1nYXAtNTRbZGF0YS12LWU0ZDZkMzYyXXtncmlkLWdhcDolPzU0PyUhaW1wb3J0YW50fS56LWluZGV4LTU0W2RhdGEtdi1lNGQ2ZDM2Ml17ei1pbmRleDo1NCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS01NFtkYXRhLXYtZTRkNmQzNjJde2ZvbnQtc2l6ZTolPzU0PyUhaW1wb3J0YW50fS5tLTU2W2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luOiU/NTY/JSFpbXBvcnRhbnR9Lm14LTU2W2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLWxlZnQ6JT81Nj8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT81Nj8lIWltcG9ydGFudH0ubWwtNTZbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tbGVmdDolPzU2PyUhaW1wb3J0YW50fS5tci01NltkYXRhLXYtZTRkNmQzNjJde21hcmdpbi1yaWdodDolPzU2PyUhaW1wb3J0YW50fS5teS01NltkYXRhLXYtZTRkNmQzNjJde21hcmdpbi10b3A6JT81Nj8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/NTY/JSFpbXBvcnRhbnR9Lm10LTU2W2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLXRvcDolPzU2PyUhaW1wb3J0YW50fS5tYi01NltkYXRhLXYtZTRkNmQzNjJde21hcmdpbi1ib3R0b206JT81Nj8lIWltcG9ydGFudH0ucC01NltkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmc6JT81Nj8lIWltcG9ydGFudH0ucHgtNTZbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLWxlZnQ6JT81Nj8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/NTY/JSFpbXBvcnRhbnR9LnBsLTU2W2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy1sZWZ0OiU/NTY/JSFpbXBvcnRhbnR9LnByLTU2W2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy1yaWdodDolPzU2PyUhaW1wb3J0YW50fS5weS01NltkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctdG9wOiU/NTY/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT81Nj8lIWltcG9ydGFudH0ucHQtNTZbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLXRvcDolPzU2PyUhaW1wb3J0YW50fS5wYi01NltkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctYm90dG9tOiU/NTY/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTU2W2RhdGEtdi1lNGQ2ZDM2Ml17Z3JpZC1nYXA6JT81Nj8lIWltcG9ydGFudH0uei1pbmRleC01NltkYXRhLXYtZTRkNmQzNjJde3otaW5kZXg6NTYhaW1wb3J0YW50fS5mb250LXNpemUtNTZbZGF0YS12LWU0ZDZkMzYyXXtmb250LXNpemU6JT81Nj8lIWltcG9ydGFudH0ubS01OFtkYXRhLXYtZTRkNmQzNjJde21hcmdpbjolPzU4PyUhaW1wb3J0YW50fS5teC01OFtkYXRhLXYtZTRkNmQzNjJde21hcmdpbi1sZWZ0OiU/NTg/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/NTg/JSFpbXBvcnRhbnR9Lm1sLTU4W2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLWxlZnQ6JT81OD8lIWltcG9ydGFudH0ubXItNThbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tcmlnaHQ6JT81OD8lIWltcG9ydGFudH0ubXktNThbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tdG9wOiU/NTg/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzU4PyUhaW1wb3J0YW50fS5tdC01OFtkYXRhLXYtZTRkNmQzNjJde21hcmdpbi10b3A6JT81OD8lIWltcG9ydGFudH0ubWItNThbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tYm90dG9tOiU/NTg/JSFpbXBvcnRhbnR9LnAtNThbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nOiU/NTg/JSFpbXBvcnRhbnR9LnB4LTU4W2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy1sZWZ0OiU/NTg/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzU4PyUhaW1wb3J0YW50fS5wbC01OFtkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctbGVmdDolPzU4PyUhaW1wb3J0YW50fS5wci01OFtkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctcmlnaHQ6JT81OD8lIWltcG9ydGFudH0ucHktNThbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLXRvcDolPzU4PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NTg/JSFpbXBvcnRhbnR9LnB0LTU4W2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy10b3A6JT81OD8lIWltcG9ydGFudH0ucGItNThbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLWJvdHRvbTolPzU4PyUhaW1wb3J0YW50fS5ncmlkLWdhcC01OFtkYXRhLXYtZTRkNmQzNjJde2dyaWQtZ2FwOiU/NTg/JSFpbXBvcnRhbnR9LnotaW5kZXgtNThbZGF0YS12LWU0ZDZkMzYyXXt6LWluZGV4OjU4IWltcG9ydGFudH0uZm9udC1zaXplLTU4W2RhdGEtdi1lNGQ2ZDM2Ml17Zm9udC1zaXplOiU/NTg/JSFpbXBvcnRhbnR9Lm0tNjBbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW46JT82MD8lIWltcG9ydGFudH0ubXgtNjBbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tbGVmdDolPzYwPyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzYwPyUhaW1wb3J0YW50fS5tbC02MFtkYXRhLXYtZTRkNmQzNjJde21hcmdpbi1sZWZ0OiU/NjA/JSFpbXBvcnRhbnR9Lm1yLTYwW2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLXJpZ2h0OiU/NjA/JSFpbXBvcnRhbnR9Lm15LTYwW2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLXRvcDolPzYwPyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT82MD8lIWltcG9ydGFudH0ubXQtNjBbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tdG9wOiU/NjA/JSFpbXBvcnRhbnR9Lm1iLTYwW2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLWJvdHRvbTolPzYwPyUhaW1wb3J0YW50fS5wLTYwW2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZzolPzYwPyUhaW1wb3J0YW50fS5weC02MFtkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctbGVmdDolPzYwPyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT82MD8lIWltcG9ydGFudH0ucGwtNjBbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLWxlZnQ6JT82MD8lIWltcG9ydGFudH0ucHItNjBbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLXJpZ2h0OiU/NjA/JSFpbXBvcnRhbnR9LnB5LTYwW2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy10b3A6JT82MD8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzYwPyUhaW1wb3J0YW50fS5wdC02MFtkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctdG9wOiU/NjA/JSFpbXBvcnRhbnR9LnBiLTYwW2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy1ib3R0b206JT82MD8lIWltcG9ydGFudH0uZ3JpZC1nYXAtNjBbZGF0YS12LWU0ZDZkMzYyXXtncmlkLWdhcDolPzYwPyUhaW1wb3J0YW50fS56LWluZGV4LTYwW2RhdGEtdi1lNGQ2ZDM2Ml17ei1pbmRleDo2MCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS02MFtkYXRhLXYtZTRkNmQzNjJde2ZvbnQtc2l6ZTolPzYwPyUhaW1wb3J0YW50fS5tLTYyW2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luOiU/NjI/JSFpbXBvcnRhbnR9Lm14LTYyW2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLWxlZnQ6JT82Mj8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT82Mj8lIWltcG9ydGFudH0ubWwtNjJbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tbGVmdDolPzYyPyUhaW1wb3J0YW50fS5tci02MltkYXRhLXYtZTRkNmQzNjJde21hcmdpbi1yaWdodDolPzYyPyUhaW1wb3J0YW50fS5teS02MltkYXRhLXYtZTRkNmQzNjJde21hcmdpbi10b3A6JT82Mj8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/NjI/JSFpbXBvcnRhbnR9Lm10LTYyW2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLXRvcDolPzYyPyUhaW1wb3J0YW50fS5tYi02MltkYXRhLXYtZTRkNmQzNjJde21hcmdpbi1ib3R0b206JT82Mj8lIWltcG9ydGFudH0ucC02MltkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmc6JT82Mj8lIWltcG9ydGFudH0ucHgtNjJbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLWxlZnQ6JT82Mj8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/NjI/JSFpbXBvcnRhbnR9LnBsLTYyW2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy1sZWZ0OiU/NjI/JSFpbXBvcnRhbnR9LnByLTYyW2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy1yaWdodDolPzYyPyUhaW1wb3J0YW50fS5weS02MltkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctdG9wOiU/NjI/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT82Mj8lIWltcG9ydGFudH0ucHQtNjJbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLXRvcDolPzYyPyUhaW1wb3J0YW50fS5wYi02MltkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctYm90dG9tOiU/NjI/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTYyW2RhdGEtdi1lNGQ2ZDM2Ml17Z3JpZC1nYXA6JT82Mj8lIWltcG9ydGFudH0uei1pbmRleC02MltkYXRhLXYtZTRkNmQzNjJde3otaW5kZXg6NjIhaW1wb3J0YW50fS5mb250LXNpemUtNjJbZGF0YS12LWU0ZDZkMzYyXXtmb250LXNpemU6JT82Mj8lIWltcG9ydGFudH0ubS02NFtkYXRhLXYtZTRkNmQzNjJde21hcmdpbjolPzY0PyUhaW1wb3J0YW50fS5teC02NFtkYXRhLXYtZTRkNmQzNjJde21hcmdpbi1sZWZ0OiU/NjQ/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/NjQ/JSFpbXBvcnRhbnR9Lm1sLTY0W2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLWxlZnQ6JT82ND8lIWltcG9ydGFudH0ubXItNjRbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tcmlnaHQ6JT82ND8lIWltcG9ydGFudH0ubXktNjRbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tdG9wOiU/NjQ/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzY0PyUhaW1wb3J0YW50fS5tdC02NFtkYXRhLXYtZTRkNmQzNjJde21hcmdpbi10b3A6JT82ND8lIWltcG9ydGFudH0ubWItNjRbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tYm90dG9tOiU/NjQ/JSFpbXBvcnRhbnR9LnAtNjRbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nOiU/NjQ/JSFpbXBvcnRhbnR9LnB4LTY0W2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy1sZWZ0OiU/NjQ/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzY0PyUhaW1wb3J0YW50fS5wbC02NFtkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctbGVmdDolPzY0PyUhaW1wb3J0YW50fS5wci02NFtkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctcmlnaHQ6JT82ND8lIWltcG9ydGFudH0ucHktNjRbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLXRvcDolPzY0PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NjQ/JSFpbXBvcnRhbnR9LnB0LTY0W2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy10b3A6JT82ND8lIWltcG9ydGFudH0ucGItNjRbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLWJvdHRvbTolPzY0PyUhaW1wb3J0YW50fS5ncmlkLWdhcC02NFtkYXRhLXYtZTRkNmQzNjJde2dyaWQtZ2FwOiU/NjQ/JSFpbXBvcnRhbnR9LnotaW5kZXgtNjRbZGF0YS12LWU0ZDZkMzYyXXt6LWluZGV4OjY0IWltcG9ydGFudH0uZm9udC1zaXplLTY0W2RhdGEtdi1lNGQ2ZDM2Ml17Zm9udC1zaXplOiU/NjQ/JSFpbXBvcnRhbnR9Lm0tNjZbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW46JT82Nj8lIWltcG9ydGFudH0ubXgtNjZbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tbGVmdDolPzY2PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzY2PyUhaW1wb3J0YW50fS5tbC02NltkYXRhLXYtZTRkNmQzNjJde21hcmdpbi1sZWZ0OiU/NjY/JSFpbXBvcnRhbnR9Lm1yLTY2W2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLXJpZ2h0OiU/NjY/JSFpbXBvcnRhbnR9Lm15LTY2W2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLXRvcDolPzY2PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT82Nj8lIWltcG9ydGFudH0ubXQtNjZbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tdG9wOiU/NjY/JSFpbXBvcnRhbnR9Lm1iLTY2W2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLWJvdHRvbTolPzY2PyUhaW1wb3J0YW50fS5wLTY2W2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZzolPzY2PyUhaW1wb3J0YW50fS5weC02NltkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctbGVmdDolPzY2PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT82Nj8lIWltcG9ydGFudH0ucGwtNjZbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLWxlZnQ6JT82Nj8lIWltcG9ydGFudH0ucHItNjZbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLXJpZ2h0OiU/NjY/JSFpbXBvcnRhbnR9LnB5LTY2W2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy10b3A6JT82Nj8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzY2PyUhaW1wb3J0YW50fS5wdC02NltkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctdG9wOiU/NjY/JSFpbXBvcnRhbnR9LnBiLTY2W2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy1ib3R0b206JT82Nj8lIWltcG9ydGFudH0uZ3JpZC1nYXAtNjZbZGF0YS12LWU0ZDZkMzYyXXtncmlkLWdhcDolPzY2PyUhaW1wb3J0YW50fS56LWluZGV4LTY2W2RhdGEtdi1lNGQ2ZDM2Ml17ei1pbmRleDo2NiFpbXBvcnRhbnR9LmZvbnQtc2l6ZS02NltkYXRhLXYtZTRkNmQzNjJde2ZvbnQtc2l6ZTolPzY2PyUhaW1wb3J0YW50fS5tLTY4W2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luOiU/Njg/JSFpbXBvcnRhbnR9Lm14LTY4W2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLWxlZnQ6JT82OD8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT82OD8lIWltcG9ydGFudH0ubWwtNjhbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tbGVmdDolPzY4PyUhaW1wb3J0YW50fS5tci02OFtkYXRhLXYtZTRkNmQzNjJde21hcmdpbi1yaWdodDolPzY4PyUhaW1wb3J0YW50fS5teS02OFtkYXRhLXYtZTRkNmQzNjJde21hcmdpbi10b3A6JT82OD8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/Njg/JSFpbXBvcnRhbnR9Lm10LTY4W2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLXRvcDolPzY4PyUhaW1wb3J0YW50fS5tYi02OFtkYXRhLXYtZTRkNmQzNjJde21hcmdpbi1ib3R0b206JT82OD8lIWltcG9ydGFudH0ucC02OFtkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmc6JT82OD8lIWltcG9ydGFudH0ucHgtNjhbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLWxlZnQ6JT82OD8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/Njg/JSFpbXBvcnRhbnR9LnBsLTY4W2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy1sZWZ0OiU/Njg/JSFpbXBvcnRhbnR9LnByLTY4W2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy1yaWdodDolPzY4PyUhaW1wb3J0YW50fS5weS02OFtkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctdG9wOiU/Njg/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT82OD8lIWltcG9ydGFudH0ucHQtNjhbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLXRvcDolPzY4PyUhaW1wb3J0YW50fS5wYi02OFtkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctYm90dG9tOiU/Njg/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTY4W2RhdGEtdi1lNGQ2ZDM2Ml17Z3JpZC1nYXA6JT82OD8lIWltcG9ydGFudH0uei1pbmRleC02OFtkYXRhLXYtZTRkNmQzNjJde3otaW5kZXg6NjghaW1wb3J0YW50fS5mb250LXNpemUtNjhbZGF0YS12LWU0ZDZkMzYyXXtmb250LXNpemU6JT82OD8lIWltcG9ydGFudH0ubS03MFtkYXRhLXYtZTRkNmQzNjJde21hcmdpbjolPzcwPyUhaW1wb3J0YW50fS5teC03MFtkYXRhLXYtZTRkNmQzNjJde21hcmdpbi1sZWZ0OiU/NzA/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/NzA/JSFpbXBvcnRhbnR9Lm1sLTcwW2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLWxlZnQ6JT83MD8lIWltcG9ydGFudH0ubXItNzBbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tcmlnaHQ6JT83MD8lIWltcG9ydGFudH0ubXktNzBbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tdG9wOiU/NzA/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzcwPyUhaW1wb3J0YW50fS5tdC03MFtkYXRhLXYtZTRkNmQzNjJde21hcmdpbi10b3A6JT83MD8lIWltcG9ydGFudH0ubWItNzBbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tYm90dG9tOiU/NzA/JSFpbXBvcnRhbnR9LnAtNzBbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nOiU/NzA/JSFpbXBvcnRhbnR9LnB4LTcwW2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy1sZWZ0OiU/NzA/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzcwPyUhaW1wb3J0YW50fS5wbC03MFtkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctbGVmdDolPzcwPyUhaW1wb3J0YW50fS5wci03MFtkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctcmlnaHQ6JT83MD8lIWltcG9ydGFudH0ucHktNzBbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLXRvcDolPzcwPyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NzA/JSFpbXBvcnRhbnR9LnB0LTcwW2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy10b3A6JT83MD8lIWltcG9ydGFudH0ucGItNzBbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLWJvdHRvbTolPzcwPyUhaW1wb3J0YW50fS5ncmlkLWdhcC03MFtkYXRhLXYtZTRkNmQzNjJde2dyaWQtZ2FwOiU/NzA/JSFpbXBvcnRhbnR9LnotaW5kZXgtNzBbZGF0YS12LWU0ZDZkMzYyXXt6LWluZGV4OjcwIWltcG9ydGFudH0uZm9udC1zaXplLTcwW2RhdGEtdi1lNGQ2ZDM2Ml17Zm9udC1zaXplOiU/NzA/JSFpbXBvcnRhbnR9Lm0tNzJbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW46JT83Mj8lIWltcG9ydGFudH0ubXgtNzJbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tbGVmdDolPzcyPyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzcyPyUhaW1wb3J0YW50fS5tbC03MltkYXRhLXYtZTRkNmQzNjJde21hcmdpbi1sZWZ0OiU/NzI/JSFpbXBvcnRhbnR9Lm1yLTcyW2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLXJpZ2h0OiU/NzI/JSFpbXBvcnRhbnR9Lm15LTcyW2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLXRvcDolPzcyPyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT83Mj8lIWltcG9ydGFudH0ubXQtNzJbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tdG9wOiU/NzI/JSFpbXBvcnRhbnR9Lm1iLTcyW2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLWJvdHRvbTolPzcyPyUhaW1wb3J0YW50fS5wLTcyW2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZzolPzcyPyUhaW1wb3J0YW50fS5weC03MltkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctbGVmdDolPzcyPyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT83Mj8lIWltcG9ydGFudH0ucGwtNzJbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLWxlZnQ6JT83Mj8lIWltcG9ydGFudH0ucHItNzJbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLXJpZ2h0OiU/NzI/JSFpbXBvcnRhbnR9LnB5LTcyW2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy10b3A6JT83Mj8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzcyPyUhaW1wb3J0YW50fS5wdC03MltkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctdG9wOiU/NzI/JSFpbXBvcnRhbnR9LnBiLTcyW2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy1ib3R0b206JT83Mj8lIWltcG9ydGFudH0uZ3JpZC1nYXAtNzJbZGF0YS12LWU0ZDZkMzYyXXtncmlkLWdhcDolPzcyPyUhaW1wb3J0YW50fS56LWluZGV4LTcyW2RhdGEtdi1lNGQ2ZDM2Ml17ei1pbmRleDo3MiFpbXBvcnRhbnR9LmZvbnQtc2l6ZS03MltkYXRhLXYtZTRkNmQzNjJde2ZvbnQtc2l6ZTolPzcyPyUhaW1wb3J0YW50fS5tLTc0W2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luOiU/NzQ/JSFpbXBvcnRhbnR9Lm14LTc0W2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLWxlZnQ6JT83ND8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT83ND8lIWltcG9ydGFudH0ubWwtNzRbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tbGVmdDolPzc0PyUhaW1wb3J0YW50fS5tci03NFtkYXRhLXYtZTRkNmQzNjJde21hcmdpbi1yaWdodDolPzc0PyUhaW1wb3J0YW50fS5teS03NFtkYXRhLXYtZTRkNmQzNjJde21hcmdpbi10b3A6JT83ND8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/NzQ/JSFpbXBvcnRhbnR9Lm10LTc0W2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLXRvcDolPzc0PyUhaW1wb3J0YW50fS5tYi03NFtkYXRhLXYtZTRkNmQzNjJde21hcmdpbi1ib3R0b206JT83ND8lIWltcG9ydGFudH0ucC03NFtkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmc6JT83ND8lIWltcG9ydGFudH0ucHgtNzRbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLWxlZnQ6JT83ND8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/NzQ/JSFpbXBvcnRhbnR9LnBsLTc0W2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy1sZWZ0OiU/NzQ/JSFpbXBvcnRhbnR9LnByLTc0W2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy1yaWdodDolPzc0PyUhaW1wb3J0YW50fS5weS03NFtkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctdG9wOiU/NzQ/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT83ND8lIWltcG9ydGFudH0ucHQtNzRbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLXRvcDolPzc0PyUhaW1wb3J0YW50fS5wYi03NFtkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctYm90dG9tOiU/NzQ/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTc0W2RhdGEtdi1lNGQ2ZDM2Ml17Z3JpZC1nYXA6JT83ND8lIWltcG9ydGFudH0uei1pbmRleC03NFtkYXRhLXYtZTRkNmQzNjJde3otaW5kZXg6NzQhaW1wb3J0YW50fS5mb250LXNpemUtNzRbZGF0YS12LWU0ZDZkMzYyXXtmb250LXNpemU6JT83ND8lIWltcG9ydGFudH0ubS03NltkYXRhLXYtZTRkNmQzNjJde21hcmdpbjolPzc2PyUhaW1wb3J0YW50fS5teC03NltkYXRhLXYtZTRkNmQzNjJde21hcmdpbi1sZWZ0OiU/NzY/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/NzY/JSFpbXBvcnRhbnR9Lm1sLTc2W2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLWxlZnQ6JT83Nj8lIWltcG9ydGFudH0ubXItNzZbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tcmlnaHQ6JT83Nj8lIWltcG9ydGFudH0ubXktNzZbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tdG9wOiU/NzY/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzc2PyUhaW1wb3J0YW50fS5tdC03NltkYXRhLXYtZTRkNmQzNjJde21hcmdpbi10b3A6JT83Nj8lIWltcG9ydGFudH0ubWItNzZbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tYm90dG9tOiU/NzY/JSFpbXBvcnRhbnR9LnAtNzZbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nOiU/NzY/JSFpbXBvcnRhbnR9LnB4LTc2W2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy1sZWZ0OiU/NzY/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzc2PyUhaW1wb3J0YW50fS5wbC03NltkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctbGVmdDolPzc2PyUhaW1wb3J0YW50fS5wci03NltkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctcmlnaHQ6JT83Nj8lIWltcG9ydGFudH0ucHktNzZbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLXRvcDolPzc2PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NzY/JSFpbXBvcnRhbnR9LnB0LTc2W2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy10b3A6JT83Nj8lIWltcG9ydGFudH0ucGItNzZbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLWJvdHRvbTolPzc2PyUhaW1wb3J0YW50fS5ncmlkLWdhcC03NltkYXRhLXYtZTRkNmQzNjJde2dyaWQtZ2FwOiU/NzY/JSFpbXBvcnRhbnR9LnotaW5kZXgtNzZbZGF0YS12LWU0ZDZkMzYyXXt6LWluZGV4Ojc2IWltcG9ydGFudH0uZm9udC1zaXplLTc2W2RhdGEtdi1lNGQ2ZDM2Ml17Zm9udC1zaXplOiU/NzY/JSFpbXBvcnRhbnR9Lm0tNzhbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW46JT83OD8lIWltcG9ydGFudH0ubXgtNzhbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tbGVmdDolPzc4PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzc4PyUhaW1wb3J0YW50fS5tbC03OFtkYXRhLXYtZTRkNmQzNjJde21hcmdpbi1sZWZ0OiU/Nzg/JSFpbXBvcnRhbnR9Lm1yLTc4W2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLXJpZ2h0OiU/Nzg/JSFpbXBvcnRhbnR9Lm15LTc4W2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLXRvcDolPzc4PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT83OD8lIWltcG9ydGFudH0ubXQtNzhbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tdG9wOiU/Nzg/JSFpbXBvcnRhbnR9Lm1iLTc4W2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLWJvdHRvbTolPzc4PyUhaW1wb3J0YW50fS5wLTc4W2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZzolPzc4PyUhaW1wb3J0YW50fS5weC03OFtkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctbGVmdDolPzc4PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT83OD8lIWltcG9ydGFudH0ucGwtNzhbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLWxlZnQ6JT83OD8lIWltcG9ydGFudH0ucHItNzhbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLXJpZ2h0OiU/Nzg/JSFpbXBvcnRhbnR9LnB5LTc4W2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy10b3A6JT83OD8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzc4PyUhaW1wb3J0YW50fS5wdC03OFtkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctdG9wOiU/Nzg/JSFpbXBvcnRhbnR9LnBiLTc4W2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy1ib3R0b206JT83OD8lIWltcG9ydGFudH0uZ3JpZC1nYXAtNzhbZGF0YS12LWU0ZDZkMzYyXXtncmlkLWdhcDolPzc4PyUhaW1wb3J0YW50fS56LWluZGV4LTc4W2RhdGEtdi1lNGQ2ZDM2Ml17ei1pbmRleDo3OCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS03OFtkYXRhLXYtZTRkNmQzNjJde2ZvbnQtc2l6ZTolPzc4PyUhaW1wb3J0YW50fS5maWx0ZXItZ3JheVtkYXRhLXYtZTRkNmQzNjJdey13ZWJraXQtZmlsdGVyOmdyYXlzY2FsZSgxKTtmaWx0ZXI6Z3JheXNjYWxlKDEpfS5teC1hdXRvW2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0b30uZC1ibG9ja1tkYXRhLXYtZTRkNmQzNjJde2Rpc3BsYXk6YmxvY2t9LmQtaW5saW5lLWJsb2NrW2RhdGEtdi1lNGQ2ZDM2Ml17ZGlzcGxheTppbmxpbmUtYmxvY2t9LnRleHQtY2VudGVyW2RhdGEtdi1lNGQ2ZDM2Ml17dGV4dC1hbGlnbjpjZW50ZXJ9LnRleHQtbGVmdFtkYXRhLXYtZTRkNmQzNjJde3RleHQtYWxpZ246bGVmdH0udGV4dC1yaWdodFtkYXRhLXYtZTRkNmQzNjJde3RleHQtYWxpZ246cmlnaHR9LmQtZmxleFtkYXRhLXYtZTRkNmQzNjJde2Rpc3BsYXk6ZmxleH0uZC1mbGV4LWJldHdlZW4tY2VudGVyW2RhdGEtdi1lNGQ2ZDM2Ml17ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2FsaWduLWl0ZW1zOmNlbnRlcn0uZmxleC13cmFwW2RhdGEtdi1lNGQ2ZDM2Ml17ZmxleC13cmFwOndyYXB9Lmp1c3RpZnktY29udGVudC1iZXR3ZWVuW2RhdGEtdi1lNGQ2ZDM2Ml17anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59Lmp1c3RpZnktY29udGVudC1hcm91bmRbZGF0YS12LWU0ZDZkMzYyXXtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYXJvdW5kfS5qdXN0aWZ5LWNvbnRlbnQtY2VudGVyW2RhdGEtdi1lNGQ2ZDM2Ml17anVzdGlmeS1jb250ZW50OmNlbnRlcn0uanVzdGlmeS1jb250ZW50LWVuZFtkYXRhLXYtZTRkNmQzNjJde2p1c3RpZnktY29udGVudDpmbGV4LWVuZH0uYWxpZ24taXRlbXMtY2VudGVyW2RhdGEtdi1lNGQ2ZDM2Ml17YWxpZ24taXRlbXM6Y2VudGVyfS5hbGlnbi1pdGVtcy1iYXNlbGluZVtkYXRhLXYtZTRkNmQzNjJde2FsaWduLWl0ZW1zOmJhc2VsaW5lfS5mbGV4LWRpcmVjdGlvbi1jb2x1bW5bZGF0YS12LWU0ZDZkMzYyXXtmbGV4LWRpcmVjdGlvbjpjb2x1bW59LmZvbnQtd2VpZ2h0LWJvbGRbZGF0YS12LWU0ZDZkMzYyXXtmb250LXdlaWdodDo3MDB9LnBvc2l0aW9uLWZpeGVkW2RhdGEtdi1lNGQ2ZDM2Ml17cG9zaXRpb246Zml4ZWR9LnBvc2l0aW9uLXJlbGF0aXZlW2RhdGEtdi1lNGQ2ZDM2Ml17cG9zaXRpb246cmVsYXRpdmV9LnBvc2l0aW9uLWFic29sdXRlW2RhdGEtdi1lNGQ2ZDM2Ml17cG9zaXRpb246YWJzb2x1dGV9Lm92ZXJmbG93LWhpZGRlbltkYXRhLXYtZTRkNmQzNjJde292ZXJmbG93OmhpZGRlbn0ubGluZS0xW2RhdGEtdi1lNGQ2ZDM2Ml17b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS5saW5lLTJbZGF0YS12LWU0ZDZkMzYyXXtvdmVyZmxvdzpoaWRkZW47LXdlYmtpdC1saW5lLWNsYW1wOjI7bGluZS1jbGFtcDoyOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDtib3gtb3JpZW50OnZlcnRpY2FsO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpib3h9LmxpbmUtM1tkYXRhLXYtZTRkNmQzNjJde292ZXJmbG93OmhpZGRlbjstd2Via2l0LWxpbmUtY2xhbXA6MztsaW5lLWNsYW1wOjM7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO2JveC1vcmllbnQ6dmVydGljYWw7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmJveH0ubGluZS00W2RhdGEtdi1lNGQ2ZDM2Ml17b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtbGluZS1jbGFtcDo0O2xpbmUtY2xhbXA6NDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7Ym94LW9yaWVudDp2ZXJ0aWNhbDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6Ym94fS5saW5lLTVbZGF0YS12LWU0ZDZkMzYyXXtvdmVyZmxvdzpoaWRkZW47LXdlYmtpdC1saW5lLWNsYW1wOjU7bGluZS1jbGFtcDo1Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDtib3gtb3JpZW50OnZlcnRpY2FsO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpib3h9LnctMTBbZGF0YS12LWU0ZDZkMzYyXXt3aWR0aDoxMCV9LmgtMTBbZGF0YS12LWU0ZDZkMzYyXXtoZWlnaHQ6MTAlfS5vcGFjaXR5LTEwW2RhdGEtdi1lNGQ2ZDM2Ml17b3BhY2l0eTouMX0udy0xN1tkYXRhLXYtZTRkNmQzNjJde3dpZHRoOjE3JX0uaC0xN1tkYXRhLXYtZTRkNmQzNjJde2hlaWdodDoxNyV9Lm9wYWNpdHktMTdbZGF0YS12LWU0ZDZkMzYyXXtvcGFjaXR5Oi4xN30udy0xOFtkYXRhLXYtZTRkNmQzNjJde3dpZHRoOjE4JX0uaC0xOFtkYXRhLXYtZTRkNmQzNjJde2hlaWdodDoxOCV9Lm9wYWNpdHktMThbZGF0YS12LWU0ZDZkMzYyXXtvcGFjaXR5Oi4xOH0udy0xOVtkYXRhLXYtZTRkNmQzNjJde3dpZHRoOjE5JX0uaC0xOVtkYXRhLXYtZTRkNmQzNjJde2hlaWdodDoxOSV9Lm9wYWNpdHktMTlbZGF0YS12LWU0ZDZkMzYyXXtvcGFjaXR5Oi4xOX0udy0yMFtkYXRhLXYtZTRkNmQzNjJde3dpZHRoOjIwJX0uaC0yMFtkYXRhLXYtZTRkNmQzNjJde2hlaWdodDoyMCV9Lm9wYWNpdHktMjBbZGF0YS12LWU0ZDZkMzYyXXtvcGFjaXR5Oi4yfS53LTI1W2RhdGEtdi1lNGQ2ZDM2Ml17d2lkdGg6MjUlfS5oLTI1W2RhdGEtdi1lNGQ2ZDM2Ml17aGVpZ2h0OjI1JX0ub3BhY2l0eS0yNVtkYXRhLXYtZTRkNmQzNjJde29wYWNpdHk6LjI1fS53LTMwW2RhdGEtdi1lNGQ2ZDM2Ml17d2lkdGg6MzAlfS5oLTMwW2RhdGEtdi1lNGQ2ZDM2Ml17aGVpZ2h0OjMwJX0ub3BhY2l0eS0zMFtkYXRhLXYtZTRkNmQzNjJde29wYWNpdHk6LjN9LnctMzNbZGF0YS12LWU0ZDZkMzYyXXt3aWR0aDozMyV9LmgtMzNbZGF0YS12LWU0ZDZkMzYyXXtoZWlnaHQ6MzMlfS5vcGFjaXR5LTMzW2RhdGEtdi1lNGQ2ZDM2Ml17b3BhY2l0eTouMzN9LnctNDBbZGF0YS12LWU0ZDZkMzYyXXt3aWR0aDo0MCV9LmgtNDBbZGF0YS12LWU0ZDZkMzYyXXtoZWlnaHQ6NDAlfS5vcGFjaXR5LTQwW2RhdGEtdi1lNGQ2ZDM2Ml17b3BhY2l0eTouNH0udy00NFtkYXRhLXYtZTRkNmQzNjJde3dpZHRoOjQ0JX0uaC00NFtkYXRhLXYtZTRkNmQzNjJde2hlaWdodDo0NCV9Lm9wYWNpdHktNDRbZGF0YS12LWU0ZDZkMzYyXXtvcGFjaXR5Oi40NH0udy00OFtkYXRhLXYtZTRkNmQzNjJde3dpZHRoOjQ4JX0uaC00OFtkYXRhLXYtZTRkNmQzNjJde2hlaWdodDo0OCV9Lm9wYWNpdHktNDhbZGF0YS12LWU0ZDZkMzYyXXtvcGFjaXR5Oi40OH0udy00OVtkYXRhLXYtZTRkNmQzNjJde3dpZHRoOjQ5JX0uaC00OVtkYXRhLXYtZTRkNmQzNjJde2hlaWdodDo0OSV9Lm9wYWNpdHktNDlbZGF0YS12LWU0ZDZkMzYyXXtvcGFjaXR5Oi40OX0udy01MFtkYXRhLXYtZTRkNmQzNjJde3dpZHRoOjUwJX0uaC01MFtkYXRhLXYtZTRkNmQzNjJde2hlaWdodDo1MCV9Lm9wYWNpdHktNTBbZGF0YS12LWU0ZDZkMzYyXXtvcGFjaXR5Oi41fS53LTYwW2RhdGEtdi1lNGQ2ZDM2Ml17d2lkdGg6NjAlfS5oLTYwW2RhdGEtdi1lNGQ2ZDM2Ml17aGVpZ2h0OjYwJX0ub3BhY2l0eS02MFtkYXRhLXYtZTRkNmQzNjJde29wYWNpdHk6LjZ9LnctNzBbZGF0YS12LWU0ZDZkMzYyXXt3aWR0aDo3MCV9LmgtNzBbZGF0YS12LWU0ZDZkMzYyXXtoZWlnaHQ6NzAlfS5vcGFjaXR5LTcwW2RhdGEtdi1lNGQ2ZDM2Ml17b3BhY2l0eTouN30udy03NVtkYXRhLXYtZTRkNmQzNjJde3dpZHRoOjc1JX0uaC03NVtkYXRhLXYtZTRkNmQzNjJde2hlaWdodDo3NSV9Lm9wYWNpdHktNzVbZGF0YS12LWU0ZDZkMzYyXXtvcGFjaXR5Oi43NX0udy04MFtkYXRhLXYtZTRkNmQzNjJde3dpZHRoOjgwJX0uaC04MFtkYXRhLXYtZTRkNmQzNjJde2hlaWdodDo4MCV9Lm9wYWNpdHktODBbZGF0YS12LWU0ZDZkMzYyXXtvcGFjaXR5Oi44fS53LTkwW2RhdGEtdi1lNGQ2ZDM2Ml17d2lkdGg6OTAlfS5oLTkwW2RhdGEtdi1lNGQ2ZDM2Ml17aGVpZ2h0OjkwJX0ub3BhY2l0eS05MFtkYXRhLXYtZTRkNmQzNjJde29wYWNpdHk6Ljl9LnctMTAwW2RhdGEtdi1lNGQ2ZDM2Ml17d2lkdGg6MTAwJX0uaC0xMDBbZGF0YS12LWU0ZDZkMzYyXXtoZWlnaHQ6MTAwJX0ub3BhY2l0eS0xMDBbZGF0YS12LWU0ZDZkMzYyXXtvcGFjaXR5Oi4xfS5wYi01MFtkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctYm90dG9tOiU/NTA/JX0ubXQtNTBbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tdG9wOiU/NTA/JX0ucGItNjBbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLWJvdHRvbTolPzYwPyV9Lm10LTYwW2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLXRvcDolPzYwPyV9LnBiLTcwW2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy1ib3R0b206JT83MD8lfS5tdC03MFtkYXRhLXYtZTRkNmQzNjJde21hcmdpbi10b3A6JT83MD8lfS5wYi04MFtkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctYm90dG9tOiU/ODA/JX0ubXQtODBbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tdG9wOiU/ODA/JX0ucGItOTBbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLWJvdHRvbTolPzkwPyV9Lm10LTkwW2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLXRvcDolPzkwPyV9LnBiLTEwMFtkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctYm90dG9tOiU/MTAwPyV9Lm10LTEwMFtkYXRhLXYtZTRkNmQzNjJde21hcmdpbi10b3A6JT8xMDA/JX0ucGItMTEwW2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy1ib3R0b206JT8xMTA/JX0ubXQtMTEwW2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLXRvcDolPzExMD8lfS5wYi0xMjBbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLWJvdHRvbTolPzEyMD8lfS5tdC0xMjBbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tdG9wOiU/MTIwPyV9LnBiLTEzMFtkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctYm90dG9tOiU/MTMwPyV9Lm10LTEzMFtkYXRhLXYtZTRkNmQzNjJde21hcmdpbi10b3A6JT8xMzA/JX0ucGItMTQwW2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy1ib3R0b206JT8xNDA/JX0ubXQtMTQwW2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLXRvcDolPzE0MD8lfS5wYi0xNTBbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLWJvdHRvbTolPzE1MD8lfS5tdC0xNTBbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tdG9wOiU/MTUwPyV9LnBiLTE2MFtkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctYm90dG9tOiU/MTYwPyV9Lm10LTE2MFtkYXRhLXYtZTRkNmQzNjJde21hcmdpbi10b3A6JT8xNjA/JX0ucGItMTcwW2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy1ib3R0b206JT8xNzA/JX0ubXQtMTcwW2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLXRvcDolPzE3MD8lfS5wYi0xODBbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nLWJvdHRvbTolPzE4MD8lfS5tdC0xODBbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tdG9wOiU/MTgwPyV9LnBiLTE5MFtkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmctYm90dG9tOiU/MTkwPyV9Lm10LTE5MFtkYXRhLXYtZTRkNmQzNjJde21hcmdpbi10b3A6JT8xOTA/JX0ucGItMjAwW2RhdGEtdi1lNGQ2ZDM2Ml17cGFkZGluZy1ib3R0b206JT8yMDA/JX0ubXQtMjAwW2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luLXRvcDolPzIwMD8lfS5pbnB1dFtkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmc6MCAlPzMwPyU7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4wNSk7Ym9yZGVyLXJhZGl1czolPzEyPyU7aGVpZ2h0OiU/ODg/JTtsaW5lLWhlaWdodDolPzg4PyU7cG9zaXRpb246cmVsYXRpdmV9LmlucHV0IC5pbnB1dC1wbGFjZWhvbGRlcltkYXRhLXYtZTRkNmQzNjJde29wYWNpdHk6LjQ7Zm9udC13ZWlnaHQ6NDAwIWltcG9ydGFudH0uYm94LXNoYWRvd1tkYXRhLXYtZTRkNmQzNjJde2JveC1zaGFkb3c6MCAwIDEwcHggMCByZ2JhKDAsMCwwLC4wNil9LmJvcmRlcltkYXRhLXYtZTRkNmQzNjJde2JvcmRlcjolPzI/JSBzb2xpZCAjNGQ0ZDRkfS5ib3JkZXItdG9wW2RhdGEtdi1lNGQ2ZDM2Ml17Ym9yZGVyLXRvcDolPzI/JSBzb2xpZCAjNGQ0ZDRkfS5ib3JkZXItYm90dG9tW2RhdGEtdi1lNGQ2ZDM2Ml17Ym9yZGVyLWJvdHRvbTolPzI/JSBzb2xpZCAjNGQ0ZDRkfS5ib3JkZXItYm90dG9tLXdoaXRlW2RhdGEtdi1lNGQ2ZDM2Ml17Ym9yZGVyLWJvdHRvbTolPzI/JSBzb2xpZCAjZjNmM2YzfS5ib3JkZXItcmFkaXVzLTEwW2RhdGEtdi1lNGQ2ZDM2Ml17Ym9yZGVyLXJhZGl1czolPzEwPyUhaW1wb3J0YW50fS5ib3JkZXItcmFkaXVzLTIwW2RhdGEtdi1lNGQ2ZDM2Ml0sIC5kZXBvc2l0W2RhdGEtdi1lNGQ2ZDM2Ml17Ym9yZGVyLXJhZGl1czolPzIwPyUhaW1wb3J0YW50fS5ib3JkZXItcmFkaXVzLTUwcGVyW2RhdGEtdi1lNGQ2ZDM2Ml17Ym9yZGVyLXJhZGl1czo1MCUhaW1wb3J0YW50fS51bmktaW5wdXQtcGxhY2Vob2xkZXJbZGF0YS12LWU0ZDZkMzYyXXtjb2xvcjpoc2xhKDAsMCUsOTkuNiUsLjUpfS5rZWZ1W2RhdGEtdi1lNGQ2ZDM2Ml17cG9zaXRpb246Zml4ZWQ7cmlnaHQ6JT81MD8lO2JvdHRvbToxNi41dmg7ei1pbmRleDoxMDtib3JkZXItcmFkaXVzOjUwJTtib3gtc2hhZG93OjAgMCAxNXB4IDAgcmdiYSgwLDAsMCwuMSk7YmFja2dyb3VuZC1jb2xvcjojMzMzO3dpZHRoOiU/NzA/JTtoZWlnaHQ6JT83MD8lO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ubG9naW4taW5wdXQtZ3JvdXBbZGF0YS12LWU0ZDZkMzYyXXtib3JkZXItYm90dG9tOiU/Mj8lIHNvbGlkIGhzbGEoMCwwJSwxMDAlLC4yKTttYXJnaW4tdG9wOiU/NTA/JTtwb3NpdGlvbjpyZWxhdGl2ZX0ubG9naW4taW5wdXQtZ3JvdXAgLmxvZ2luLWlucHV0W2RhdGEtdi1lNGQ2ZDM2Ml17aGVpZ2h0OiU/NzA/JTtsaW5lLWhlaWdodDolPzcwPyU7d2lkdGg6MTAwJX0ubG9naW4taW5wdXQtZ3JvdXAgLmxhYmVsW2RhdGEtdi1lNGQ2ZDM2Ml17b3BhY2l0eTouN30uYm94LXNoYWRvd1tkYXRhLXYtZTRkNmQzNjJde2JveC1zaGFkb3c6MCAwIDEwcHggMCByZ2JhKDAsMCwwLC4xKX0uc3Vic2VjdGlvbiAuaXRlbVtkYXRhLXYtZTRkNmQzNjJde3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmctYm90dG9tOiU/MTA/JX0uc3Vic2VjdGlvbiAuaXRlbVtkYXRhLXYtZTRkNmQzNjJdOjphZnRlcntkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO2NvbnRlbnQ6IiI7Ym90dG9tOjA7bGVmdDo1MCU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt3aWR0aDolPzMwPyU7aGVpZ2h0OiU/ND8lO2JhY2tncm91bmQtY29sb3I6I2ZmZn0uc3Vic2VjdGlvbiAuaXRlbS5hY3RpdmVbZGF0YS12LWU0ZDZkMzYyXXtjb2xvcjojMjI3N2ZjfS5zdWJzZWN0aW9uIC5pdGVtLmFjdGl2ZVtkYXRhLXYtZTRkNmQzNjJdOjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOiMyMjc3ZmN9LmQtZ3JpZFtkYXRhLXYtZTRkNmQzNjJde2Rpc3BsYXk6Z3JpZH0uZC1ncmlkLWNvbHVtbnMtMltkYXRhLXYtZTRkNmQzNjJde2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDIsMWZyKX0uZC1ncmlkLWNvbHVtbnMtM1tkYXRhLXYtZTRkNmQzNjJde2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDMsMWZyKX0uZC1ncmlkLWNvbHVtbnMtNFtkYXRhLXYtZTRkNmQzNjJde2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDQsMWZyKX0uZC1ncmlkLWNvbHVtbnMtNVtkYXRhLXYtZTRkNmQzNjJde2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDUsMWZyKX0uYXJ0aWNsZVtkYXRhLXYtZTRkNmQzNjJde3BhZGRpbmc6JT8zMD8lfS5hcnRpY2xlIHVuaS10ZXh0W2RhdGEtdi1lNGQ2ZDM2Ml17ZGlzcGxheTpibG9jazttYXJnaW4tYm90dG9tOiU/MjA/JX1pZnJhbWVbZGF0YS12LWU0ZDZkMzYyXXtsZWZ0OjAhaW1wb3J0YW50O3JpZ2h0OjAhaW1wb3J0YW50O21hcmdpbjowIGF1dG87dG9wOjAhaW1wb3J0YW50fS5wb3NpdGlvbi1yZWxhdGl2ZS16aW5kZXgtOTlbZGF0YS12LWU0ZDZkMzYyXXtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4Ojk5fS5zdGF0dXNfYmFyW2RhdGEtdi1lNGQ2ZDM2Ml17aGVpZ2h0OjA7d2lkdGg6MTAwJX0uYWZ0ZXItYm9yZGVyW2RhdGEtdi1lNGQ2ZDM2Ml17cG9zaXRpb246cmVsYXRpdmV9LmFmdGVyLWJvcmRlcltkYXRhLXYtZTRkNmQzNjJdOmFmdGVye3Bvc2l0aW9uOmFic29sdXRlO2NvbnRlbnQ6IiI7dG9wOjA7cmlnaHQ6MDtib3R0b206MDt3aWR0aDolPzI/JTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoNTEsNTEsNTEsLjEpfS5sb2dpbi1sb2dvW2RhdGEtdi1lNGQ2ZDM2Ml17dGV4dC1hbGlnbjpjZW50ZXI7cGFkZGluZy10b3A6NC41dmh9LmxvZ2luLWxvZ28gdW5pLWltYWdlW2RhdGEtdi1lNGQ2ZDM2Ml17d2lkdGg6MTd2aDtoZWlnaHQ6MTd2aDtkaXNwbGF5OmJsb2NrO2JvcmRlci1yYWRpdXM6JT8yND8lO2JveC1zaGFkb3c6MCAwICU/MTA/JSAwIHJnYmEoMCwwLDAsLjA1KTttYXJnaW46MCBhdXRvfS50YWctcHJpbWFyeVtkYXRhLXYtZTRkNmQzNjJde2JhY2tncm91bmQtY29sb3I6IzIyNzdmYztjb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6JT82PyU7Zm9udC1zaXplOiU/MjA/JTtwYWRkaW5nOiU/ND8lICU/MTA/JTtib3JkZXI6JT8yPyUgc29saWQgIzIyNzdmYztib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyOm5vbmU7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoLTIyNWRlZywjMmNkOGQ1LCM2YjhkZDYgNDglLCM4ZTM3ZDcpfS50YWctZXJyb3JbZGF0YS12LWU0ZDZkMzYyXSwgLnRhZy1wbGFpbi1lcnJvcltkYXRhLXYtZTRkNmQzNjJde2JhY2tncm91bmQtY29sb3I6I2YwNGE1YTtjb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6JT82PyU7Zm9udC1zaXplOiU/MjA/JTtwYWRkaW5nOiU/ND8lICU/MTA/JTtib3JkZXI6JT8yPyUgc29saWQgI2YwNGE1YTtib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyOm5vbmU7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoMjcwZGVnLCNmZjA4NDQgMCwjZmZiMTk5KX0udGFnLXNlY29uZGFyeVtkYXRhLXYtZTRkNmQzNjJde2JhY2tncm91bmQtY29sb3I6cmdiYSg1MSw1MSw1MSwuMDYpO2NvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czolPzY/JTtmb250LXNpemU6JT8yMD8lO3BhZGRpbmc6JT80PyUgJT8xMD8lO2JvcmRlcjolPzI/JSBzb2xpZCByZ2JhKDUxLDUxLDUxLC4wNik7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlcjpub25lO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDQ1ZGVnLCM5M2E1Y2YsI2U0ZWZlOSl9LnRhZy13YXJuaW5nW2RhdGEtdi1lNGQ2ZDM2Ml17YmFja2dyb3VuZC1jb2xvcjojZDRiYTgzO2NvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czolPzY/JTtmb250LXNpemU6JT8yMD8lO3BhZGRpbmc6JT80PyUgJT8xMD8lO2JvcmRlcjolPzI/JSBzb2xpZCAjZDRiYTgzO2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXI6bm9uZTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgxZGVnLCNmZmNjOGYsI2ZmZWRkOCl9LnRhZy1zdWNjZXNzW2RhdGEtdi1lNGQ2ZDM2Ml0sIC50YWctcGxhaW4tc3VjY2Vzc1tkYXRhLXYtZTRkNmQzNjJde2JhY2tncm91bmQtY29sb3I6IzI4YmE5ODtjb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6JT82PyU7Zm9udC1zaXplOiU/MjA/JTtwYWRkaW5nOiU/ND8lICU/MTA/JTtib3JkZXI6JT8yPyUgc29saWQgIzI4YmE5ODtib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyOm5vbmU7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoMTIwZGVnLCM4NGZhYjAsIzhmZDNmNCl9LnRhZy1wbGFpbi1zdWNjZXNzW2RhdGEtdi1lNGQ2ZDM2Ml17YmFja2dyb3VuZDpub25lO2NvbG9yOiMyOGJhOTg7Ym9yZGVyOiU/Mj8lIHNvbGlkICMyOGJhOTh9LnRhZy1wbGFpbi1lcnJvcltkYXRhLXYtZTRkNmQzNjJde2JhY2tncm91bmQ6bm9uZTtjb2xvcjojZjA0YTVhO2JvcmRlcjolPzI/JSBzb2xpZCAjZjA0YTVhfS5hbGVydFtkYXRhLXYtZTRkNmQzNjJde2ZvbnQtc2l6ZTolPzI0PyU7Ym9yZGVyLXJhZGl1czolPzIwPyU7cGFkZGluZzolPzIwPyU7Ym9yZGVyLXJhZGl1czo1cHh9LmlucHV0LWl0ZW1bZGF0YS12LWU0ZDZkMzYyXXtwb3NpdGlvbjpyZWxhdGl2ZX0uaW5wdXQtaXRlbSAuaW5wdXRbZGF0YS12LWU0ZDZkMzYyXXttYXJnaW4tdG9wOiU/MjA/JX0uaW5wdXQtaXRlbSAuZXllW2RhdGEtdi1lNGQ2ZDM2Ml17cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6JT8zMD8lO3RvcDo1NiV9LmlucHV0LWl0ZW0gLmdldC1jb2RlW2RhdGEtdi1lNGQ2ZDM2Ml17cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6JT8zMD8lO3RvcDolPzc4PyU7aGVpZ2h0OiU/NTA/JTtsaW5lLWhlaWdodDolPzUwPyU7cGFkZGluZzowICU/MjA/JTtiYWNrZ3JvdW5kLWNvbG9yOiNmMDRhNWE7Ym9yZGVyLXJhZGl1czolPzEwPyU7Y29sb3I6I2ZmZn0uaW5wdXQtaXRlbSAuZ2V0LWNvZGUuc2VuZFtkYXRhLXYtZTRkNmQzNjJde2JhY2tncm91bmQtY29sb3I6cmdiYSg1MSw1MSw1MSwuMDYpfS51cGxvYWQtd3JhcFtkYXRhLXYtZTRkNmQzNjJde2JhY2tncm91bmQ6IzRkNGQ0ZDt3aWR0aDolPzI0MD8lO2hlaWdodDolPzI0MD8lO2JvcmRlci1yYWRpdXM6JT8xMD8lO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjt0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW46MCBhdXRvO2JvcmRlcjolPzI/JSBzb2xpZCByZ2JhKDUxLDUxLDUxLC4wNik7b3ZlcmZsb3c6aGlkZGVufS5yaWdodC1lbnRlcltkYXRhLXYtZTRkNmQzNjJdey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwMCUsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMTAwJSwwLDApfS5yaWdodC1sZWF2ZS10b1tkYXRhLXYtZTRkNmQzNjJdLCAucmlnaHQtbGVhdmVbZGF0YS12LWU0ZDZkMzYyXXtkaXNwbGF5Om5vbmV9LnJpZ2h0LWVudGVyLXRvW2RhdGEtdi1lNGQ2ZDM2Ml17LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0ucmlnaHQtZW50ZXItYWN0aXZlW2RhdGEtdi1lNGQ2ZDM2Ml0sXHJcbi5yaWdodC1sZWF2ZS1hY3RpdmVbZGF0YS12LWU0ZDZkMzYyXXt0cmFuc2l0aW9uOmFsbCAuM3N9LmRlcG9zaXRbZGF0YS12LWU0ZDZkMzYyXXtjb2xvcjojMzMzO3BhZGRpbmc6MCAlPzI4PyU7cGFkZGluZy10b3A6JT8zOD8lO3Bvc2l0aW9uOnJlbGF0aXZlfS5kZXBvc2l0IC5lYXJuaW5ncy13cmFwW2RhdGEtdi1lNGQ2ZDM2Ml17bWFyZ2luOjAgJT8tMjg/JTttYXJnaW4tdG9wOiU/MzA/JX0uZGVwb3NpdCAuZWFybmluZ3Mtd3JhcCAuZWFybmluZ3NbZGF0YS12LWU0ZDZkMzYyXXtwYWRkaW5nOiU/MzA/JSAlPzI4PyUgJT8yOD8lICU/Mjg/JTtiYWNrZ3JvdW5kLWNvbG9yOmhzbGEoMCwwJSwxMDAlLC4xKX0udHJhbnNpdGlvbltkYXRhLXYtZTRkNmQzNjJde3RyYW5zaXRpb246YWxsIC4zcyBlYXNlIDBzfS53aGl0ZS1jaXJjbGVbZGF0YS12LWU0ZDZkMzYyXXt3aWR0aDolPzgwPyU7aGVpZ2h0OiU/ODA/JTtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5mbGV4LTFbZGF0YS12LWU0ZDZkMzYyXXtmbGV4OjF9LmxvZ2luLWhlYWQtYmdbZGF0YS12LWU0ZDZkMzYyXXtwb3NpdGlvbjpmaXhlZDt3aWR0aDoxMDB2dztoZWlnaHQ6NTQuNHZ3O3RvcDowO2xlZnQ6MDtyaWdodDowfS5saW5lYXItZ3JhZGllbnQtdGV4dFtkYXRhLXYtZTRkNmQzNjJde2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDNkZWcsI2ZmY2M4ZiwjZmZlZGQ4KTstd2Via2l0LWJhY2tncm91bmQtY2xpcDp0ZXh0O2NvbG9yOnRyYW5zcGFyZW50fS5saW5lYXItZ3JhZGllbnQtYnV0dG9uW2RhdGEtdi1lNGQ2ZDM2Ml0sIC5kZXBvc2l0W2RhdGEtdi1lNGQ2ZDM2Ml17YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMWRlZywjZmZjYzhmLCNmZmVkZDgpfS53cmFwcGVyLWJnW2RhdGEtdi1lNGQ2ZDM2Ml17cG9zaXRpb246cmVsYXRpdmV9LndyYXBwZXItYmdbZGF0YS12LWU0ZDZkMzYyXTo6YWZ0ZXJ7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7cmlnaHQ6MDt0b3A6MDtib3R0b206MDtiYWNrZ3JvdW5kLWltYWdlOnVybCgnK28rIik7YmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1wb3NpdGlvbjoxMDAlIHRvcDtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXR9LnUtaWNvbltkYXRhLXYtZTRkNmQzNjJde2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyfS51LWljb24tLWxlZnRbZGF0YS12LWU0ZDZkMzYyXXtmbGV4LWRpcmVjdGlvbjpyb3ctcmV2ZXJzZTthbGlnbi1pdGVtczpjZW50ZXJ9LnUtaWNvbi0tcmlnaHRbZGF0YS12LWU0ZDZkMzYyXXtmbGV4LWRpcmVjdGlvbjpyb3c7YWxpZ24taXRlbXM6Y2VudGVyfS51LWljb24tLXRvcFtkYXRhLXYtZTRkNmQzNjJde2ZsZXgtZGlyZWN0aW9uOmNvbHVtbi1yZXZlcnNlO2p1c3RpZnktY29udGVudDpjZW50ZXJ9LnUtaWNvbi0tYm90dG9tW2RhdGEtdi1lNGQ2ZDM2Ml17ZmxleC1kaXJlY3Rpb246Y29sdW1uO2p1c3RpZnktY29udGVudDpjZW50ZXJ9LnUtaWNvbl9faWNvbltkYXRhLXYtZTRkNmQzNjJde3Bvc2l0aW9uOnJlbGF0aXZlfS51LWljb25fX2ljb24tLXByaW1hcnlbZGF0YS12LWU0ZDZkMzYyXXtjb2xvcjojMjk3OWZmfS51LWljb25fX2ljb24tLXN1Y2Nlc3NbZGF0YS12LWU0ZDZkMzYyXXtjb2xvcjojMTliZTZifS51LWljb25fX2ljb24tLWVycm9yW2RhdGEtdi1lNGQ2ZDM2Ml17Y29sb3I6I2ZhMzUzNH0udS1pY29uX19pY29uLS13YXJuaW5nW2RhdGEtdi1lNGQ2ZDM2Ml17Y29sb3I6I2ZmY2M4Zn0udS1pY29uX19pY29uLS1pbmZvW2RhdGEtdi1lNGQ2ZDM2Ml17Y29sb3I6IzkwOTM5OX0udS1pY29uX19kZWNpbWFsW2RhdGEtdi1lNGQ2ZDM2Ml17cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO2Rpc3BsYXk6aW5saW5lLWJsb2NrO292ZXJmbG93OmhpZGRlbn0udS1pY29uX19pbWdbZGF0YS12LWU0ZDZkMzYyXXtoZWlnaHQ6YXV0bzt3aWxsLWNoYW5nZTp0cmFuc2Zvcm19LnUtaWNvbl9fbGFiZWxbZGF0YS12LWU0ZDZkMzYyXXtsaW5lLWhlaWdodDoxfSIsIiJdKSx0LmV4cG9ydHM9ZH0sYzNlZTpmdW5jdGlvbih0LGQsYSl7InVzZSBzdHJpY3QiO3ZhciBlPWEoIjU2NjUiKSxpPWEubihlKTtpLmF9LGNhYWM6ZnVuY3Rpb24odCxkLGEpeyJ1c2Ugc3RyaWN0IjthLnIoZCk7dmFyIGU9YSgiZTEyNSIpLGk9YSgiOTMyYSIpO2Zvcih2YXIgbiBpbiBpKVsiZGVmYXVsdCJdLmluZGV4T2Yobik8MCYmZnVuY3Rpb24odCl7YS5kKGQsdCwoZnVuY3Rpb24oKXtyZXR1cm4gaVt0XX0pKX0obik7YSgiYzNlZSIpO3ZhciBvPWEoIjgyOGIiKSxyPU9iamVjdChvWyJhIl0pKGlbImRlZmF1bHQiXSxlWyJiIl0sZVsiYyJdLCExLG51bGwsImU0ZDZkMzYyIixudWxsLCExLGVbImEiXSx2b2lkIDApO2RbImRlZmF1bHQiXT1yLmV4cG9ydHN9LGUxMjU6ZnVuY3Rpb24odCxkLGEpeyJ1c2Ugc3RyaWN0IjthLmQoZCwiYiIsKGZ1bmN0aW9uKCl7cmV0dXJuIGV9KSksYS5kKGQsImMiLChmdW5jdGlvbigpe3JldHVybiBpfSkpLGEuZChkLCJhIiwoZnVuY3Rpb24oKXt9KSk7dmFyIGU9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLGQ9dC4kY3JlYXRlRWxlbWVudCxhPXQuX3NlbGYuX2N8fGQ7cmV0dXJuIGEoInYtdW5pLXZpZXciLHtzdGF0aWNDbGFzczoidS1pY29uIixjbGFzczpbInUtaWNvbi0tIit0LmxhYmVsUG9zXSxzdHlsZTpbdC5jdXN0b21TdHlsZV0sb246e2NsaWNrOmZ1bmN0aW9uKGQpe2FyZ3VtZW50c1swXT1kPXQuJGhhbmRsZUV2ZW50KGQpLHQuY2xpY2suYXBwbHkodm9pZCAwLGFyZ3VtZW50cyl9fX0sW3QuaXNJbWc/YSgidi11bmktaW1hZ2UiLHtzdGF0aWNDbGFzczoidS1pY29uX19pbWciLHN0eWxlOlt0LmltZ1N0eWxlXSxhdHRyczp7c3JjOnQubmFtZSxtb2RlOnQuaW1nTW9kZX19KTphKCJ2LXVuaS10ZXh0Iix7c3RhdGljQ2xhc3M6InUtaWNvbl9faWNvbiIsY2xhc3M6dC5jdXN0b21DbGFzcyxzdHlsZTpbdC5pY29uU3R5bGVdLGF0dHJzOnsiaG92ZXItY2xhc3MiOnQuaG92ZXJDbGFzc30sb246e3RvdWNoc3RhcnQ6ZnVuY3Rpb24oZCl7YXJndW1lbnRzWzBdPWQ9dC4kaGFuZGxlRXZlbnQoZCksdC50b3VjaHN0YXJ0LmFwcGx5KHZvaWQgMCxhcmd1bWVudHMpfX19LFt0LnNob3dEZWNpbWFsSWNvbj9hKCJ2LXVuaS10ZXh0Iix7c3RhdGljQ2xhc3M6InUtaWNvbl9fZGVjaW1hbCIsY2xhc3M6dC5kZWNpbWFsSWNvbkNsYXNzLHN0eWxlOlt0LmRlY2ltYWxJY29uU3R5bGVdLGF0dHJzOnsiaG92ZXItY2xhc3MiOnQuaG92ZXJDbGFzc319KTp0Ll9lKCldLDEpLCIiIT09dC5sYWJlbD9hKCJ2LXVuaS10ZXh0Iix7c3RhdGljQ2xhc3M6InUtaWNvbl9fbGFiZWwiLHN0eWxlOntjb2xvcjp0LmxhYmVsQ29sb3IsZm9udFNpemU6dC4kdS5hZGRVbml0KHQubGFiZWxTaXplKSxtYXJnaW5MZWZ0OiJyaWdodCI9PXQubGFiZWxQb3M/dC4kdS5hZGRVbml0KHQubWFyZ2luTGVmdCk6MCxtYXJnaW5Ub3A6ImJvdHRvbSI9PXQubGFiZWxQb3M/dC4kdS5hZGRVbml0KHQubWFyZ2luVG9wKTowLG1hcmdpblJpZ2h0OiJsZWZ0Ij09dC5sYWJlbFBvcz90LiR1LmFkZFVuaXQodC5tYXJnaW5SaWdodCk6MCxtYXJnaW5Cb3R0b206InRvcCI9PXQubGFiZWxQb3M/dC4kdS5hZGRVbml0KHQubWFyZ2luQm90dG9tKTowfX0sW3QuX3YodC5fcyh0LmxhYmVsKSldKTp0Ll9lKCldLDEpfSxpPVtdfSxlNTJhOmZ1bmN0aW9uKHQsZCxhKXsidXNlIHN0cmljdCI7YSgiNmE1NCIpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxkLmRlZmF1bHQ9dm9pZCAwLGEoIjY0YWEiKSxhKCJhYTljIiksYSgiNDYyNiIpLGEoIjVhYzciKSxhKCI1ZWYyIik7dmFyIGU9e25hbWU6InUtaWNvbiIscHJvcHM6e25hbWU6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6IiJ9LGNvbG9yOnt0eXBlOlN0cmluZyxkZWZhdWx0OiIifSxzaXplOnt0eXBlOltOdW1iZXIsU3RyaW5nXSxkZWZhdWx0OiJpbmhlcml0In0sYm9sZDp7dHlwZTpCb29sZWFuLGRlZmF1bHQ6ITF9LGluZGV4Ont0eXBlOltOdW1iZXIsU3RyaW5nXSxkZWZhdWx0OiIifSxob3ZlckNsYXNzOnt0eXBlOlN0cmluZyxkZWZhdWx0OiIifSxjdXN0b21QcmVmaXg6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6InVpY29uIn0sbGFiZWw6e3R5cGU6W1N0cmluZyxOdW1iZXJdLGRlZmF1bHQ6IiJ9LGxhYmVsUG9zOnt0eXBlOlN0cmluZyxkZWZhdWx0OiJyaWdodCJ9LGxhYmVsU2l6ZTp7dHlwZTpbU3RyaW5nLE51bWJlcl0sZGVmYXVsdDoiMjgifSxsYWJlbENvbG9yOnt0eXBlOlN0cmluZyxkZWZhdWx0OiIjNjA2MjY2In0sbWFyZ2luTGVmdDp7dHlwZTpbU3RyaW5nLE51bWJlcl0sZGVmYXVsdDoiNiJ9LG1hcmdpblRvcDp7dHlwZTpbU3RyaW5nLE51bWJlcl0sZGVmYXVsdDoiNiJ9LG1hcmdpblJpZ2h0Ont0eXBlOltTdHJpbmcsTnVtYmVyXSxkZWZhdWx0OiI2In0sbWFyZ2luQm90dG9tOnt0eXBlOltTdHJpbmcsTnVtYmVyXSxkZWZhdWx0OiI2In0saW1nTW9kZTp7dHlwZTpTdHJpbmcsZGVmYXVsdDoid2lkdGhGaXgifSxjdXN0b21TdHlsZTp7dHlwZTpPYmplY3QsZGVmYXVsdDpmdW5jdGlvbigpe3JldHVybnt9fX0sd2lkdGg6e3R5cGU6W1N0cmluZyxOdW1iZXJdLGRlZmF1bHQ6IiJ9LGhlaWdodDp7dHlwZTpbU3RyaW5nLE51bWJlcl0sZGVmYXVsdDoiIn0sdG9wOnt0eXBlOltTdHJpbmcsTnVtYmVyXSxkZWZhdWx0OjB9LHNob3dEZWNpbWFsSWNvbjp7dHlwZTpCb29sZWFuLGRlZmF1bHQ6ITF9LGluYWN0aXZlQ29sb3I6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6IiNlY2VjZWMifSxwZXJjZW50Ont0eXBlOltOdW1iZXIsU3RyaW5nXSxkZWZhdWx0OiI1MCJ9fSxjb21wdXRlZDp7Y3VzdG9tQ2xhc3M6ZnVuY3Rpb24oKXt2YXIgdD1bXTtyZXR1cm4gdC5wdXNoKHRoaXMuY3VzdG9tUHJlZml4KyItIit0aGlzLm5hbWUpLCJ1aWNvbiI9PXRoaXMuY3VzdG9tUHJlZml4P3QucHVzaCgidS1pY29uZm9udCIpOnQucHVzaCh0aGlzLmN1c3RvbVByZWZpeCksdGhpcy5zaG93RGVjaW1hbEljb24mJnRoaXMuaW5hY3RpdmVDb2xvciYmdGhpcy4kdS5jb25maWcudHlwZS5pbmNsdWRlcyh0aGlzLmluYWN0aXZlQ29sb3IpP3QucHVzaCgidS1pY29uX19pY29uLS0iK3RoaXMuaW5hY3RpdmVDb2xvcik6dGhpcy5jb2xvciYmdGhpcy4kdS5jb25maWcudHlwZS5pbmNsdWRlcyh0aGlzLmNvbG9yKSYmdC5wdXNoKCJ1LWljb25fX2ljb24tLSIrdGhpcy5jb2xvciksdH0saWNvblN0eWxlOmZ1bmN0aW9uKCl7dmFyIHQ9e307cmV0dXJuIHQ9e2ZvbnRTaXplOiJpbmhlcml0Ij09dGhpcy5zaXplPyJpbmhlcml0Ijp0aGlzLiR1LmFkZFVuaXQodGhpcy5zaXplKSxmb250V2VpZ2h0OnRoaXMuYm9sZD8iYm9sZCI6Im5vcm1hbCIsdG9wOnRoaXMuJHUuYWRkVW5pdCh0aGlzLnRvcCl9LHRoaXMuc2hvd0RlY2ltYWxJY29uJiZ0aGlzLmluYWN0aXZlQ29sb3ImJiF0aGlzLiR1LmNvbmZpZy50eXBlLmluY2x1ZGVzKHRoaXMuaW5hY3RpdmVDb2xvcik/dC5jb2xvcj10aGlzLmluYWN0aXZlQ29sb3I6dGhpcy5jb2xvciYmIXRoaXMuJHUuY29uZmlnLnR5cGUuaW5jbHVkZXModGhpcy5jb2xvcikmJih0LmNvbG9yPXRoaXMuY29sb3IpLHR9LGlzSW1nOmZ1bmN0aW9uKCl7cmV0dXJuLTEhPT10aGlzLm5hbWUuaW5kZXhPZigiLyIpfSxpbWdTdHlsZTpmdW5jdGlvbigpe3ZhciB0PXt9O3JldHVybiB0LndpZHRoPXRoaXMud2lkdGg/dGhpcy4kdS5hZGRVbml0KHRoaXMud2lkdGgpOnRoaXMuJHUuYWRkVW5pdCh0aGlzLnNpemUpLHQuaGVpZ2h0PXRoaXMuaGVpZ2h0P3RoaXMuJHUuYWRkVW5pdCh0aGlzLmhlaWdodCk6dGhpcy4kdS5hZGRVbml0KHRoaXMuc2l6ZSksdH0sZGVjaW1hbEljb25TdHlsZTpmdW5jdGlvbigpe3ZhciB0PXt9O3JldHVybiB0PXtmb250U2l6ZToiaW5oZXJpdCI9PXRoaXMuc2l6ZT8iaW5oZXJpdCI6dGhpcy4kdS5hZGRVbml0KHRoaXMuc2l6ZSksZm9udFdlaWdodDp0aGlzLmJvbGQ/ImJvbGQiOiJub3JtYWwiLHRvcDp0aGlzLiR1LmFkZFVuaXQodGhpcy50b3ApLHdpZHRoOnRoaXMucGVyY2VudCsiJSJ9LHRoaXMuY29sb3ImJiF0aGlzLiR1LmNvbmZpZy50eXBlLmluY2x1ZGVzKHRoaXMuY29sb3IpJiYodC5jb2xvcj10aGlzLmNvbG9yKSx0fSxkZWNpbWFsSWNvbkNsYXNzOmZ1bmN0aW9uKCl7dmFyIHQ9W107cmV0dXJuIHQucHVzaCh0aGlzLmN1c3RvbVByZWZpeCsiLSIrdGhpcy5uYW1lKSwidWljb24iPT10aGlzLmN1c3RvbVByZWZpeD90LnB1c2goInUtaWNvbmZvbnQiKTp0LnB1c2godGhpcy5jdXN0b21QcmVmaXgpLHRoaXMuY29sb3ImJnRoaXMuJHUuY29uZmlnLnR5cGUuaW5jbHVkZXModGhpcy5jb2xvcik/dC5wdXNoKCJ1LWljb25fX2ljb24tLSIrdGhpcy5jb2xvcik6dC5wdXNoKCJ1LWljb25fX2ljb24tLXByaW1hcnkiKSx0fX0sbWV0aG9kczp7Y2xpY2s6ZnVuY3Rpb24oKXt0aGlzLiRlbWl0KCJjbGljayIsdGhpcy5pbmRleCl9LHRvdWNoc3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLiRlbWl0KCJ0b3VjaHN0YXJ0Iix0aGlzLmluZGV4KX19fTtkLmRlZmF1bHQ9ZX19XSk7"}},"time_used":215,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":215,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null},{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"futurbcvndf.com/static/image/icon/home-nav-1.png","fqdn":"futurbcvndf.com","domain":"futurbcvndf.com","tld":"com"},"ip":{"addr":"172.67.130.50","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://futurbcvndf.com/","date":"2026-07-27T06:23:01.953Z","timestamp":1785133381953,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"futurbcvndf.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 16 Jul 2026 16:36:02 GMT","end":"Wed, 14 Oct 2026 16:36:01 GMT"},"fingerprint":{"sha1":"46:2D:5F:F0:3D:BD:73:19:93:72:79:62:4A:45:03:09:5D:FB:1E:A5","sha256":"35:31:C4:67:1D:DB:68:C3:FB:49:03:14:DD:4E:76:FE:13:53:8D:98:98:2E:BE:EA:B8:CA:4F:B6:5B:7E:5C:1D"}}},"request":{"raw":"GET /static/image/icon/home-nav-1.png HTTP/1.1\r\nHost: futurbcvndf.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://futurbcvndf.com/\r\nCookie: angela_session=eyJpdiI6Ikdtd2ZNSlpOTk14ZFNzOFRFdXhRWGc9PSIsInZhbHVlIjoiMG1LTHc1VmFVNWZ5UWJSWHArTzVsc1d2SkpIc2w5Y2dJaW0zczdPUGtTSTY3WElQdW5XRVE5dW5ZRUxheElIWUlXa1FoWnpodTlaSHVsMW5lbFlxVUNDNWZMRGE3YmFUbUpoUWZVUGhPTldCK1VaTWZqaTdXQU9JVUpYWE9rSmEiLCJtYWMiOiI4NGI5YzVkZTM4NTIwZTE1ODQzMTlkZWVjYzY1YmY2ZWQyODE4YTVjNzhmNzkwYTE1MzgwZjRjYzRkM2MyNDlhIn0%3D\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\nserver: cloudflare\r\ndate: Mon, 27 Jul 2026 06:23:02 GMT\r\ncontent-type: image/png\r\nserver-timing: cfExtPri\r\npriority: u=5,i\r\nlast-modified: Fri, 20 Jun 2025 15:49:45 GMT\r\netag: \"68558319-1b25\"\r\nstrict-transport-security: max-age=31536000\r\naccept-ranges: bytes\r\ncache-control: max-age=14400\r\ncf-cache-status: REVALIDATED\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=UwVRKe%2BxiWQQ7NJqDvXg2LvJ%2BAgTLAr9ZvzocCAAjuEWwBoECdUdMycTAYiZ2am6jDRrpmB8ixrQ39ZJRYJ9rJ7ciql%2F5txZdpLzdKNWOe74u%2Bk68pP2ni2Sc3f%2FOzn6UBs%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\ncf-ray: a2198d953a110daa-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\ncontent-length: 6949\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":6949,"size_decoded":7693,"mime_type":"image/png","magic":"PNG image data, 88 x 88, 8-bit/color RGBA, non-interlaced","md5":"e42448179a7e4cfd76149fc4e340c190","sha1":"8c9bf373b329b7cbabb770586167fadc13c34fb6","sha256":"aad8f325c9108c1b4b9a5f5fd40bc6ad910e12a81b6014d4586f6f8e8131da19","sha512":"265b4ef947931ddd88d013c03c50a6546989ef54312ed83bff4dffcbf03588ac5a37ec62e2dfd38760fe8c34a911f5b14973249c06f7a1e2d06522e92b4b4e17","ssdeep":"192:MknihKLD6GjZm0AqoXmXXTEHuh3O4nG5rg2c1sQgl:fnihKtjZm0AqoX05h3O2Wg2ADgl","tlshash":"d5e18e0d78d15ca04e635781ffcd90a30b535581fee0b8427ca6ae5bae702b1ca2d9d7","first_seen":"2023-05-20T12:09:29Z","last_seen":"2026-07-27T14:50:18.13049Z","times_seen":242,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAFgAAABYCAYAAABxlTA0AAAACXBIWXMAABYlAAAWJQFJUiTwAAAGemlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNi4wLWMwMDYgNzkuZGFiYWNiYiwgMjAyMS8wNC8xNC0wMDozOTo0NCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIyLjQgKE1hY2ludG9zaCkiIHhtcDpDcmVhdGVEYXRlPSIyMDIxLTEyLTI0VDE3OjEzOjAxKzA4OjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAyMi0wMi0xMVQxOTozMjo1NiswODowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyMi0wMi0xMVQxOTozMjo1NiswODowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo4ZWNmMmJmYy1mOTMyLTQ5NmQtODYwYi00ZjNlNDQ2NjYyNTMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6OTQ3NTRlZTYtYzA0My00YmFmLWI1OTItNzZjYWZiMWZjMTBlIiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6OTQ3NTRlZTYtYzA0My00YmFmLWI1OTItNzZjYWZiMWZjMTBlIj4gPHBob3Rvc2hvcDpEb2N1bWVudEFuY2VzdG9ycz4gPHJkZjpCYWc+IDxyZGY6bGk+eG1wLmRpZDo5NDc1NGVlNi1jMDQzLTRiYWYtYjU5Mi03NmNhZmIxZmMxMGU8L3JkZjpsaT4gPC9yZGY6QmFnPiA8L3Bob3Rvc2hvcDpEb2N1bWVudEFuY2VzdG9ycz4gPHhtcE1NOkhpc3Rvcnk+IDxyZGY6U2VxPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iY3JlYXRlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDo5NDc1NGVlNi1jMDQzLTRiYWYtYjU5Mi03NmNhZmIxZmMxMGUiIHN0RXZ0OndoZW49IjIwMjEtMTItMjRUMTc6MTM6MDErMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyMi40IChNYWNpbnRvc2gpIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDo4ZWNmMmJmYy1mOTMyLTQ5NmQtODYwYi00ZjNlNDQ2NjYyNTMiIHN0RXZ0OndoZW49IjIwMjItMDItMTFUMTk6MzI6NTYrMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyMi40IChNYWNpbnRvc2gpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDwvcmRmOlNlcT4gPC94bXBNTTpIaXN0b3J5PiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PmZSK20AABRRSURBVHicxZ1Bb2Q3csd/1ZZHm+x41P4EagMJ9hJADeQDTPseQO1PIBnIfeR7APecgpzcvgXIApbOOVj+BG4Bm9NikZ5bLoFb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"}},"time_used":185,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":185,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null},{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"futurbcvndf.com/static/common/js/touch-emulator.js","fqdn":"futurbcvndf.com","domain":"futurbcvndf.com","tld":"com"},"ip":{"addr":"172.67.130.50","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://futurbcvndf.com/","date":"2026-07-27T06:22:59.901Z","timestamp":1785133379901,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"futurbcvndf.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 16 Jul 2026 16:36:02 GMT","end":"Wed, 14 Oct 2026 16:36:01 GMT"},"fingerprint":{"sha1":"46:2D:5F:F0:3D:BD:73:19:93:72:79:62:4A:45:03:09:5D:FB:1E:A5","sha256":"35:31:C4:67:1D:DB:68:C3:FB:49:03:14:DD:4E:76:FE:13:53:8D:98:98:2E:BE:EA:B8:CA:4F:B6:5B:7E:5C:1D"}}},"request":{"raw":"GET /static/common/js/touch-emulator.js HTTP/1.1\r\nHost: futurbcvndf.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://futurbcvndf.com/\r\nCookie: angela_session=eyJpdiI6IlhnUEZEQ1hLNngxS0t2ZGN3TnJjV1E9PSIsInZhbHVlIjoiVGlYZUpmMXVPdEhuTGtoQzhTS3VXM3BIN3J4ZDZnU2dNTWxTc0NRcHNMTXFyNm1wQTZEQ0RKTWJ0UjRERWZ5aDBaQWxVaVdmN0VVQkNna0M2ZTJ2dTdFZkx3amdIYjZlQzEzMHozajVqTzMybnhMOHo1bEpuaXdQM1R3UVN4QmQiLCJtYWMiOiJiZWIyMTJlYzc4OWUzODk0ODBiOTI5NmU0MjA2MDBmZjJmYzA2MTI3ZjViNmY4NWYxNzIyNDI4MDhhYWMzZmI4In0%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\nserver: cloudflare\r\ndate: Mon, 27 Jul 2026 06:23:00 GMT\r\ncontent-type: application/javascript\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=2,i=?0\r\nlast-modified: Fri, 20 Jun 2025 15:49:45 GMT\r\nvary: Accept-Encoding\r\netag: \"68558319-2d94\"\r\nstrict-transport-security: max-age=31536000\r\ncontent-encoding: gzip\r\ncache-control: max-age=14400\r\ncf-cache-status: REVALIDATED\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=2KT71fYYK3G7MIBlZJEaBUHpHyQupm7DwNjN7J%2F516tiWPJAxRyW%2B87hG6eSLbCCyvDwY5bY0yRv9yPrTWD5nlDArHKuhf1fLKba28A0EIbksUSuhtxkzBw7OGg4Y0VDCY0%3D\"}]}\r\ncf-ray: a2198d8868660daa-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":11668,"size_decoded":4154,"mime_type":"application/javascript","magic":"JavaScript source, Unicode text, UTF-8 text, with CRLF line terminators","md5":"178ba7db6232252a555ba6ff953756a8","sha1":"31129606e2c7e395a73184f30e81e835a424cdf5","sha256":"2968f310031c7a0c1d271836caa44aedaa28794289d14c577f0b17033e8c036d","sha512":"dea2f867ed3e1774320ea9494c9fd6fa24a7c7eeba27e50099530d3eabe196b6a34f70cfb7d0ac87aa5c70dcb5172d149de92da8af78725b6090952588041dbd","ssdeep":"96:L+vx+c5tJzNjX/wGiZ27oA2qMrttS7KDWom4RhvYahnT/TCKkTIT1/CoShwqhzcs:yvx+chzxItcKs+LmKk8TqhzwoEPq","tlshash":"1a32314f098a226204bb7329fb9e904af67e85a311012056fcbc5f653f72a758694ecd","first_seen":"2023-03-07T14:41:52Z","last_seen":"2026-07-28T18:14:36.017766Z","times_seen":736,"resource_available":true,"data":"KGZ1bmN0aW9uKHdpbmRvdywgZG9jdW1lbnQsIGV4cG9ydE5hbWUsIHVuZGVmaW5lZCkgew0KICAgICJ1c2Ugc3RyaWN0IjsNCg0KICAgIHZhciBpc011bHRpVG91Y2ggPSBmYWxzZTsNCiAgICB2YXIgbXVsdGlUb3VjaFN0YXJ0UG9zOw0KICAgIHZhciBldmVudFRhcmdldDsNCiAgICB2YXIgdG91Y2hFbGVtZW50cyA9IHt9Ow0KDQogICAgLy8gcG9seWZpbGxzDQogICAgaWYoIWRvY3VtZW50LmNyZWF0ZVRvdWNoKSB7DQogICAgICAgIGRvY3VtZW50LmNyZWF0ZVRvdWNoID0gZnVuY3Rpb24odmlldywgdGFyZ2V0LCBpZGVudGlmaWVyLCBwYWdlWCwgcGFnZVksIHNjcmVlblgsIHNjcmVlblksIGNsaWVudFgsIGNsaWVudFkpIHsNCiAgICAgICAgICAgIC8vIGF1dG8gc2V0DQogICAgICAgICAgICBpZihjbGllbnRYID09IHVuZGVmaW5lZCB8fCBjbGllbnRZID09IHVuZGVmaW5lZCkgew0KICAgICAgICAgICAgICAgIGNsaWVudFggPSBwYWdlWCAtIHdpbmRvdy5wYWdlWE9mZnNldDsNCiAgICAgICAgICAgICAgICBjbGllbnRZID0gcGFnZVkgLSB3aW5kb3cucGFnZVlPZmZzZXQ7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHJldHVybiBuZXcgVG91Y2godGFyZ2V0LCBpZGVudGlmaWVyLCB7DQogICAgICAgICAgICAgICAgcGFnZVg6IHBhZ2VYLA0KICAgICAgICAgICAgICAgIHBhZ2VZOiBwYWdlWSwNCiAgICAgICAgICAgICAgICBzY3JlZW5YOiBzY3JlZW5YLA0KICAgICAgICAgICAgICAgIHNjcmVlblk6IHNjcmVlblksDQogICAgICAgICAgICAgICAgY2xpZW50WDogY2xpZW50WCwNCiAgICAgICAgICAgICAgICBjbGllbnRZOiBjbGllbnRZDQogICAgICAgICAgICB9KTsNCiAgICAgICAgfTsNCiAgICB9DQoNCiAgICBpZighZG9jdW1lbnQuY3JlYXRlVG91Y2hMaXN0KSB7DQogICAgICAgIGRvY3VtZW50LmNyZWF0ZVRvdWNoTGlzdCA9IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgdmFyIHRvdWNoTGlzdCA9IG5ldyBUb3VjaExpc3QoKTsNCiAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7DQogICAgICAgICAgICAgICAgdG91Y2hMaXN0W2ldID0gYXJndW1lbnRzW2ldOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgdG91Y2hMaXN0Lmxlbmd0aCA9IGFyZ3VtZW50cy5sZW5ndGg7DQogICAgICAgICAgICByZXR1cm4gdG91Y2hMaXN0Ow0KICAgICAgICB9Ow0KICAgIH0NCg0KICAgIC8qKg0KICAgICAqIGNyZWF0ZSBhbiB0b3VjaCBwb2ludA0KICAgICAqIEBjb25zdHJ1Y3Rvcg0KICAgICAqIEBwYXJhbSB0YXJnZXQNCiAgICAgKiBAcGFyYW0gaWRlbnRpZmllcg0KICAgICAqIEBwYXJhbSBwb3MNCiAgICAgKiBAcGFyYW0gZGVsdGFYDQogICAgICogQHBhcmFtIGRlbHRhWQ0KICAgICAqIEByZXR1cm5zIHtPYmplY3R9IHRvdWNoUG9pbnQNCiAgICAgKi8NCiAgICBmdW5jdGlvbiBUb3VjaCh0YXJnZXQsIGlkZW50aWZpZXIsIHBvcywgZGVsdGFYLCBkZWx0YVkpIHsNCiAgICAgICAgZGVsdGFYID0gZGVsdGFYIHx8IDA7DQogICAgICAgIGRlbHRhWSA9IGRlbHRhWSB8fCAwOw0KDQogICAgICAgIHRoaXMuaWRlbnRpZmllciA9IGlkZW50aWZpZXI7DQogICAgICAgIHRoaXMudGFyZ2V0ID0gdGFyZ2V0Ow0KICAgICAgICB0aGlzLmNsaWVudFggPSBwb3MuY2xpZW50WCArIGRlbHRhWDsNCiAgICAgICAgdGhpcy5jbGllbnRZID0gcG9zLmNsaWVudFkgKyBkZWx0YVk7DQogICAgICAgIHRoaXMuc2NyZWVuWCA9IHBvcy5zY3JlZW5YICsgZGVsdGFYOw0KICAgICAgICB0aGlzLnNjcmVlblkgPSBwb3Muc2NyZWVuWSArIGRlbHRhWTsNCiAgICAgICAgdGhpcy5wYWdlWCA9IHBvcy5wYWdlWCArIGRlbHRhWDsNCiAgICAgICAgdGhpcy5wYWdlWSA9IHBvcy5wYWdlWSArIGRlbHRhWTsNCiAgICB9DQoNCiAgICAvKioNCiAgICAgKiBjcmVhdGUgZW1wdHkgdG91Y2hsaXN0IHdpdGggdGhlIG1ldGhvZHMNCiAgICAgKiBAY29uc3RydWN0b3INCiAgICAgKiBAcmV0dXJucyB0b3VjaExpc3QNCiAgICAgKi8NCiAgICBmdW5jdGlvbiBUb3VjaExpc3QoKSB7DQogICAgICAgIHZhciB0b3VjaExpc3QgPSBbXTsNCg0KICAgICAgICB0b3VjaExpc3QuaXRlbSA9IGZ1bmN0aW9uKGluZGV4KSB7DQogICAgICAgICAgICByZXR1cm4gdGhpc1tpbmRleF0gfHwgbnVsbDsNCiAgICAgICAgfTsNCg0KICAgICAgICAvLyBzcGVjaWZpZWQgYnkgTW96aWxsYQ0KICAgICAgICB0b3VjaExpc3QuaWRlbnRpZmllZFRvdWNoID0gZnVuY3Rpb24oaWQpIHsNCiAgICAgICAgICAgIHJldHVybiB0aGlzW2lkICsgMV0gfHwgbnVsbDsNCiAgICAgICAgfTsNCg0KICAgICAgICByZXR1cm4gdG91Y2hMaXN0Ow0KICAgIH0NCg0KDQogICAgLyoqDQogICAgICogU2ltcGxlIHRyaWNrIHRvIGZha2UgdG91Y2ggZXZlbnQgc3VwcG9ydA0KICAgICAqIHRoaXMgaXMgZW5vdWdoIGZvciBtb3N0IGxpYnJhcmllcyBsaWtlIE1vZGVybml6ciBhbmQgSGFtbWVyDQogICAgICovDQogICAgZnVuY3Rpb24gZmFrZVRvdWNoU3VwcG9ydCgpIHsNCiAgICAgICAgdmFyIG9ianMgPSBbd2luZG93LCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnRdOw0KICAgICAgICB2YXIgcHJvcHMgPSBbJ29udG91Y2hzdGFydCcsICdvbnRvdWNobW92ZScsICdvbnRvdWNoY2FuY2VsJywgJ29udG91Y2hlbmQnXTsNCg0KICAgICAgICBmb3IodmFyIG89MDsgbzxvYmpzLmxlbmd0aDsgbysrKSB7DQogICAgICAgICAgICBmb3IodmFyIHA9MDsgcDxwcm9wcy5sZW5ndGg7IHArKykgew0KICAgICAgICAgICAgICAgIGlmKG9ianNbb10gJiYgb2Jqc1tvXVtwcm9wc1twXV0gPT0gdW5kZWZpbmVkKSB7DQogICAgICAgICAgICAgICAgICAgIG9ianNbb11bcHJvcHNbcF1dID0gbnVsbDsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICB9DQoNCiAgICAvKioNCiAgICAgKiB3ZSBkb24ndCBoYXZlIHRvIGVtdWxhdGUgb24gYSB0b3VjaCBkZXZpY2UNCiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0NCiAgICAgKi8NCiAgICBmdW5jdGlvbiBoYXNUb3VjaFN1cHBvcnQoKSB7DQogICAgICAgIHJldHVybiAoIm9udG91Y2hzdGFydCIgaW4gd2luZG93KSB8fCAvLyB0b3VjaCBldmVudHMNCiAgICAgICAgICAgICAgICh3aW5kb3cuTW9kZXJuaXpyICYmIHdpbmRvdy5Nb2Rlcm5penIudG91Y2gpIHx8IC8vIG1vZGVybml6cg0KICAgICAgICAgICAgICAgKG5hdmlnYXRvci5tc01heFRvdWNoUG9pbnRzIHx8IG5hdmlnYXRvci5tYXhUb3VjaFBvaW50cykgPiAyOyAvLyBwb2ludGVyIGV2ZW50cw0KICAgIH0NCg0KICAgIC8qKg0KICAgICAqIGRpc2FibGUgbW91c2VldmVudHMgb24gdGhlIHBhZ2UNCiAgICAgKiBAcGFyYW0gZXYNCiAgICAgKi8NCiAgICBmdW5jdGlvbiBwcmV2ZW50TW91c2VFdmVudHMoZXYpIHsNCgkJLy8g5rOo6YeK5ZCv55So6buY6K6k5LqL5Lu2DQogICAgICAgIC8vIGV2LnByZXZlbnREZWZhdWx0KCk7DQogICAgICAgIC8vIGV2LnN0b3BQcm9wYWdhdGlvbigpOw0KICAgIH0NCg0KICAgIC8qKg0KICAgICAqIG9ubHkgdHJpZ2dlciB0b3VjaGVzIHdoZW4gdGhlIGxlZnQgbW91c2VidXR0b24gaGFzIGJlZW4gcHJlc3NlZA0KICAgICAqIEBwYXJhbSB0b3VjaFR5cGUNCiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259DQogICAgICovDQogICAgZnVuY3Rpb24gb25Nb3VzZSh0b3VjaFR5cGUpIHsNCiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKGV2KSB7DQogICAgICAgICAgICAvLyBwcmV2ZW50IG1vdXNlIGV2ZW50cw0KICAgICAgICAgICAgcHJldmVudE1vdXNlRXZlbnRzKGV2KTsNCg0KICAgICAgICAgICAgaWYgKGV2LndoaWNoICE9PSAxKSB7DQogICAgICAgICAgICAgICAgcmV0dXJuOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAvLyBUaGUgRXZlbnRUYXJnZXQgb24gd2hpY2ggdGhlIHRvdWNoIHBvaW50IHN0YXJ0ZWQgd2hlbiBpdCB3YXMgZmlyc3QgcGxhY2VkIG9uIHRoZSBzdXJmYWNlLA0KICAgICAgICAgICAgLy8gZXZlbiBpZiB0aGUgdG91Y2ggcG9pbnQgaGFzIHNpbmNlIG1vdmVkIG91dHNpZGUgdGhlIGludGVyYWN0aXZlIGFyZWEgb2YgdGhhdCBlbGVtZW50Lg0KICAgICAgICAgICAgLy8gYWxzbywgd2hlbiB0aGUgdGFyZ2V0IGRvZXNudCBleGlzdCBhbnltb3JlLCB3ZSB1cGRhdGUgaXQNCiAgICAgICAgICAgIGlmIChldi50eXBlID09ICdtb3VzZWRvd24nIHx8ICFldmVudFRhcmdldCB8fCAoZXZlbnRUYXJnZXQgJiYgIWV2ZW50VGFyZ2V0LmRpc3BhdGNoRXZlbnQpKSB7DQogICAgICAgICAgICAgICAgZXZlbnRUYXJnZXQgPSBldi50YXJnZXQ7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIC8vIHNoaWZ0S2V5IGhhcyBiZWVuIGxvc3QsIHNvIHRyaWdnZXIgYSB0b3VjaGVuZA0KICAgICAgICAgICAgaWYgKGlzTXVsdGlUb3VjaCAmJiAhZXYuc2hpZnRLZXkpIHsNCiAgICAgICAgICAgICAgICB0cmlnZ2VyVG91Y2goJ3RvdWNoZW5kJywgZXYpOw0KICAgICAgICAgICAgICAgIGlzTXVsdGlUb3VjaCA9IGZhbHNlOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICB0cmlnZ2VyVG91Y2godG91Y2hUeXBlLCBldik7DQoNCiAgICAgICAgICAgIC8vIHdlJ3JlIGVudGVyaW5nIHRoZSBtdWx0aS10b3VjaCBtb2RlIQ0KICAgICAgICAgICAgaWYgKCFpc011bHRpVG91Y2ggJiYgZXYuc2hpZnRLZXkpIHsNCiAgICAgICAgICAgICAgICBpc011bHRpVG91Y2ggPSB0cnVlOw0KICAgICAgICAgICAgICAgIG11bHRpVG91Y2hTdGFydFBvcyA9IHsNCiAgICAgICAgICAgICAgICAgICAgcGFnZVg6IGV2LnBhZ2VYLA0KICAgICAgICAgICAgICAgICAgICBwYWdlWTogZXYucGFnZVksDQogICAgICAgICAgICAgICAgICAgIGNsaWVudFg6IGV2LmNsaWVudFgsDQogICAgICAgICAgICAgICAgICAgIGNsaWVudFk6IGV2LmNsaWVudFksDQogICAgICAgICAgICAgICAgICAgIHNjcmVlblg6IGV2LnNjcmVlblgsDQogICAgICAgICAgICAgICAgICAgIHNjcmVlblk6IGV2LnNjcmVlblkNCiAgICAgICAgICAgICAgICB9Ow0KICAgICAgICAgICAgICAgIHRyaWdnZXJUb3VjaCgndG91Y2hzdGFydCcsIGV2KTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgLy8gcmVzZXQNCiAgICAgICAgICAgIGlmIChldi50eXBlID09ICdtb3VzZXVwJykgew0KICAgICAgICAgICAgICAgIG11bHRpVG91Y2hTdGFydFBvcyA9IG51bGw7DQogICAgICAgICAgICAgICAgaXNNdWx0aVRvdWNoID0gZmFsc2U7DQogICAgICAgICAgICAgICAgZXZlbnRUYXJnZXQgPSBudWxsOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgfQ0KDQogICAgLyoqDQogICAgICogdHJpZ2dlciBhIHRvdWNoIGV2ZW50DQogICAgICogQHBhcmFtIGV2ZW50TmFtZQ0KICAgICAqIEBwYXJhbSBtb3VzZUV2DQogICAgICovDQogICAgZnVuY3Rpb24gdHJpZ2dlclRvdWNoKGV2ZW50TmFtZSwgbW91c2VFdikgew0KICAgICAgICB2YXIgdG91Y2hFdmVudCA9IGRvY3VtZW50LmNyZWF0ZUV2ZW50KCdFdmVudCcpOw0KICAgICAgICB0b3VjaEV2ZW50LmluaXRFdmVudChldmVudE5hbWUsIHRydWUsIHRydWUpOw0KDQogICAgICAgIHRvdWNoRXZlbnQuYWx0S2V5ID0gbW91c2VFdi5hbHRLZXk7DQogICAgICAgIHRvdWNoRXZlbnQuY3RybEtleSA9IG1vdXNlRXYuY3RybEtleTsNCiAgICAgICAgdG91Y2hFdmVudC5tZXRhS2V5ID0gbW91c2VFdi5tZXRhS2V5Ow0KICAgICAgICB0b3VjaEV2ZW50LnNoaWZ0S2V5ID0gbW91c2VFdi5zaGlmdEtleTsNCg0KICAgICAgICB0b3VjaEV2ZW50LnRvdWNoZXMgPSBnZXRBY3RpdmVUb3VjaGVzKG1vdXNlRXYsIGV2ZW50TmFtZSk7DQogICAgICAgIHRvdWNoRXZlbnQudGFyZ2V0VG91Y2hlcyA9IGdldEFjdGl2ZVRvdWNoZXMobW91c2VFdiwgZXZlbnROYW1lKTsNCiAgICAgICAgdG91Y2hFdmVudC5jaGFuZ2VkVG91Y2hlcyA9IGdldENoYW5nZWRUb3VjaGVzKG1vdXNlRXYsIGV2ZW50TmFtZSk7DQoNCiAgICAgICAgZXZlbnRUYXJnZXQuZGlzcGF0Y2hFdmVudCh0b3VjaEV2ZW50KTsNCiAgICB9DQoNCiAgICAvKioNCiAgICAgKiBjcmVhdGUgYSB0b3VjaExpc3QgYmFzZWQgb24gdGhlIG1vdXNlIGV2ZW50DQogICAgICogQHBhcmFtIG1vdXNlRXYNCiAgICAgKiBAcmV0dXJucyB7VG91Y2hMaXN0fQ0KICAgICAqLw0KICAgIGZ1bmN0aW9uIGNyZWF0ZVRvdWNoTGlzdChtb3VzZUV2KSB7DQogICAgICAgIHZhciB0b3VjaExpc3QgPSBuZXcgVG91Y2hMaXN0KCk7DQoNCiAgICAgICAgaWYgKGlzTXVsdGlUb3VjaCkgew0KICAgICAgICAgICAgdmFyIGYgPSBUb3VjaEVtdWxhdG9yLm11bHRpVG91Y2hPZmZzZXQ7DQogICAgICAgICAgICB2YXIgZGVsdGFYID0gbXVsdGlUb3VjaFN0YXJ0UG9zLnBhZ2VYIC0gbW91c2VFdi5wYWdlWDsNCiAgICAgICAgICAgIHZhciBkZWx0YVkgPSBtdWx0aVRvdWNoU3RhcnRQb3MucGFnZVkgLSBtb3VzZUV2LnBhZ2VZOw0KDQogICAgICAgICAgICB0b3VjaExpc3QucHVzaChuZXcgVG91Y2goZXZlbnRUYXJnZXQsIDEsIG11bHRpVG91Y2hTdGFydFBvcywgKGRlbHRhWCotMSkgLSBmLCAoZGVsdGFZKi0xKSArIGYpKTsNCiAgICAgICAgICAgIHRvdWNoTGlzdC5wdXNoKG5ldyBUb3VjaChldmVudFRhcmdldCwgMiwgbXVsdGlUb3VjaFN0YXJ0UG9zLCBkZWx0YVgrZiwgZGVsdGFZLWYpKTsNCiAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgIHRvdWNoTGlzdC5wdXNoKG5ldyBUb3VjaChldmVudFRhcmdldCwgMSwgbW91c2VFdiwgMCwgMCkpOw0KICAgICAgICB9DQoNCiAgICAgICAgcmV0dXJuIHRvdWNoTGlzdDsNCiAgICB9DQoNCiAgICAvKioNCiAgICAgKiByZWNlaXZlIGFsbCBhY3RpdmUgdG91Y2hlcw0KICAgICAqIEBwYXJhbSBtb3VzZUV2DQogICAgICogQHJldHVybnMge1RvdWNoTGlzdH0NCiAgICAgKi8NCiAgICBmdW5jdGlvbiBnZXRBY3RpdmVUb3VjaGVzKG1vdXNlRXYsIGV2ZW50TmFtZSkgew0KICAgICAgICAvLyBlbXB0eSBsaXN0DQogICAgICAgIGlmIChtb3VzZUV2LnR5cGUgPT0gJ21vdXNldXAnKSB7DQogICAgICAgICAgICByZXR1cm4gbmV3IFRvdWNoTGlzdCgpOw0KICAgICAgICB9DQoNCiAgICAgICAgdmFyIHRvdWNoTGlzdCA9IGNyZWF0ZVRvdWNoTGlzdChtb3VzZUV2KTsNCiAgICAgICAgaWYoaXNNdWx0aVRvdWNoICYmIG1vdXNlRXYudHlwZSAhPSAnbW91c2V1cCcgJiYgZXZlbnROYW1lID09ICd0b3VjaGVuZCcpIHsNCiAgICAgICAgICAgIHRvdWNoTGlzdC5zcGxpY2UoMSwgMSk7DQogICAgICAgIH0NCiAgICAgICAgcmV0dXJuIHRvdWNoTGlzdDsNCiAgICB9DQoNCiAgICAvKioNCiAgICAgKiByZWNlaXZlIGEgZmlsdGVyZWQgc2V0IG9mIHRvdWNoZXMgd2l0aCBvbmx5IHRoZSBjaGFuZ2VkIHBvaW50ZXJzDQogICAgICogQHBhcmFtIG1vdXNlRXYNCiAgICAgKiBAcGFyYW0gZXZlbnROYW1lDQogICAgICogQHJldHVybnMge1RvdWNoTGlzdH0NCiAgICAgKi8NCiAgICBmdW5jdGlvbiBnZXRDaGFuZ2VkVG91Y2hlcyhtb3VzZUV2LCBldmVudE5hbWUpIHsNCiAgICAgICAgdmFyIHRvdWNoTGlzdCA9IGNyZWF0ZVRvdWNoTGlzdChtb3VzZUV2KTsNCg0KICAgICAgICAvLyB3ZSBvbmx5IHdhbnQgdG8gcmV0dXJuIHRoZSBhZGRlZC9yZW1vdmVkIGl0ZW0gb24gbXVsdGl0b3VjaA0KICAgICAgICAvLyB3aGljaCBpcyB0aGUgc2Vjb25kIHBvaW50ZXIsIHNvIHJlbW92ZSB0aGUgZmlyc3QgcG9pbnRlciBmcm9tIHRoZSB0b3VjaExpc3QNCiAgICAgICAgLy8NCiAgICAgICAgLy8gYnV0IHdoZW4gdGhlIG1vdXNlRXYudHlwZSBpcyBtb3VzZXVwLCB3ZSB3YW50IHRvIHNlbmQgYWxsIHRvdWNoZXMgYmVjYXVzZSB0aGVuDQogICAgICAgIC8vIG5vIG5ldyBpbnB1dCB3aWxsIGJlIHBvc3NpYmxlDQogICAgICAgIGlmKGlzTXVsdGlUb3VjaCAmJiBtb3VzZUV2LnR5cGUgIT0gJ21vdXNldXAnICYmDQogICAgICAgICAgICAoZXZlbnROYW1lID09ICd0b3VjaHN0YXJ0JyB8fCBldmVudE5hbWUgPT0gJ3RvdWNoZW5kJykpIHsNCiAgICAgICAgICAgIHRvdWNoTGlzdC5zcGxpY2UoMCwgMSk7DQogICAgICAgIH0NCg0KICAgICAgICByZXR1cm4gdG91Y2hMaXN0Ow0KICAgIH0NCg0KICAgIC8qKg0KICAgICAqIHNob3cgdGhlIHRvdWNocG9pbnRzIG9uIHRoZSBzY3JlZW4NCiAgICAgKi8NCiAgICBmdW5jdGlvbiBzaG93VG91Y2hlcyhldikgew0KICAgICAgICB2YXIgdG91Y2gsIGksIGVsLCBzdHlsZXM7DQoNCiAgICAgICAgLy8gZmlyc3QgYWxsIHZpc2libGUgdG91Y2hlcw0KICAgICAgICBmb3IoaSA9IDA7IGkgPCBldi50b3VjaGVzLmxlbmd0aDsgaSsrKSB7DQogICAgICAgICAgICB0b3VjaCA9IGV2LnRvdWNoZXNbaV07DQogICAgICAgICAgICBlbCA9IHRvdWNoRWxlbWVudHNbdG91Y2guaWRlbnRpZmllcl07DQogICAgICAgICAgICBpZighZWwpIHsNCiAgICAgICAgICAgICAgICBlbCA9IHRvdWNoRWxlbWVudHNbdG91Y2guaWRlbnRpZmllcl0gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsNCiAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGVsKTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgc3R5bGVzID0gVG91Y2hFbXVsYXRvci50ZW1wbGF0ZSh0b3VjaCk7DQogICAgICAgICAgICBmb3IodmFyIHByb3AgaW4gc3R5bGVzKSB7DQogICAgICAgICAgICAgICAgZWwuc3R5bGVbcHJvcF0gPSBzdHlsZXNbcHJvcF07DQogICAgICAgICAgICB9DQogICAgICAgIH0NCg0KICAgICAgICAvLyByZW1vdmUgYWxsIGVuZGVkIHRvdWNoZXMNCiAgICAgICAgaWYoZXYudHlwZSA9PSAndG91Y2hlbmQnIHx8IGV2LnR5cGUgPT0gJ3RvdWNoY2FuY2VsJykgew0KICAgICAgICAgICAgZm9yKGkgPSAwOyBpIDwgZXYuY2hhbmdlZFRvdWNoZXMubGVuZ3RoOyBpKyspIHsNCiAgICAgICAgICAgICAgICB0b3VjaCA9IGV2LmNoYW5nZWRUb3VjaGVzW2ldOw0KICAgICAgICAgICAgICAgIGVsID0gdG91Y2hFbGVtZW50c1t0b3VjaC5pZGVudGlmaWVyXTsNCiAgICAgICAgICAgICAgICBpZihlbCkgew0KICAgICAgICAgICAgICAgICAgICBlbC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGVsKTsNCiAgICAgICAgICAgICAgICAgICAgZGVsZXRlIHRvdWNoRWxlbWVudHNbdG91Y2guaWRlbnRpZmllcl07DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgfQ0KDQogICAgLyoqDQogICAgICogVG91Y2hFbXVsYXRvciBpbml0aWFsaXplcg0KICAgICAqLw0KICAgIGZ1bmN0aW9uIFRvdWNoRW11bGF0b3IoKSB7DQogICAgICAgIGlmIChoYXNUb3VjaFN1cHBvcnQoKSkgew0KICAgICAgICAgICAgcmV0dXJuOw0KICAgICAgICB9DQoNCiAgICAgICAgZmFrZVRvdWNoU3VwcG9ydCgpOw0KDQogICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLCBvbk1vdXNlKCd0b3VjaHN0YXJ0JyksIHRydWUpOw0KICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIiwgb25Nb3VzZSgndG91Y2htb3ZlJyksIHRydWUpOw0KICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsIG9uTW91c2UoJ3RvdWNoZW5kJyksIHRydWUpOw0KDQogICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWVudGVyIiwgcHJldmVudE1vdXNlRXZlbnRzLCB0cnVlKTsNCiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLCBwcmV2ZW50TW91c2VFdmVudHMsIHRydWUpOw0KICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VvdXQiLCBwcmV2ZW50TW91c2VFdmVudHMsIHRydWUpOw0KICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VvdmVyIiwgcHJldmVudE1vdXNlRXZlbnRzLCB0cnVlKTsNCg0KICAgICAgICAvLyBpdCB1c2VzIGl0c2VsZiENCiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLCBzaG93VG91Y2hlcywgdHJ1ZSk7DQogICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLCBzaG93VG91Y2hlcywgdHJ1ZSk7DQogICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaGVuZCIsIHNob3dUb3VjaGVzLCB0cnVlKTsNCiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoY2FuY2VsIiwgc2hvd1RvdWNoZXMsIHRydWUpOw0KICAgIH0NCg0KICAgIC8vIHN0YXJ0IGRpc3RhbmNlIHdoZW4gZW50ZXJpbmcgdGhlIG11bHRpdG91Y2ggbW9kZQ0KICAgIFRvdWNoRW11bGF0b3IubXVsdGlUb3VjaE9mZnNldCA9IDc1Ow0KDQogICAgLyoqDQogICAgICogY3NzIHRlbXBsYXRlIGZvciB0aGUgdG91Y2ggcmVuZGVyaW5nDQogICAgICogQHBhcmFtIHRvdWNoDQogICAgICogQHJldHVybnMgb2JqZWN0DQogICAgICovDQogICAgVG91Y2hFbXVsYXRvci50ZW1wbGF0ZSA9IGZ1bmN0aW9uKHRvdWNoKSB7DQogICAgICAgIHZhciBzaXplID0gMDsNCiAgICAgICAgdmFyIHRyYW5zZm9ybSA9ICd0cmFuc2xhdGUoJysgKHRvdWNoLmNsaWVudFgtKHNpemUvMikpICsncHgsICcrICh0b3VjaC5jbGllbnRZLShzaXplLzIpKSArJ3B4KSc7DQogICAgICAgIHJldHVybiB7DQogICAgICAgICAgICBwb3NpdGlvbjogJ2ZpeGVkJywNCiAgICAgICAgICAgIGxlZnQ6IDAsDQogICAgICAgICAgICB0b3A6IDAsDQogICAgICAgICAgICBiYWNrZ3JvdW5kOiAnI2ZmZicsDQogICAgICAgICAgICBib3JkZXI6ICdzb2xpZCAxcHggIzk5OScsDQogICAgICAgICAgICBvcGFjaXR5OiAuNiwNCiAgICAgICAgICAgIGJvcmRlclJhZGl1czogJzEwMCUnLA0KICAgICAgICAgICAgaGVpZ2h0OiBzaXplICsgJ3B4JywNCiAgICAgICAgICAgIHdpZHRoOiBzaXplICsgJ3B4JywNCiAgICAgICAgICAgIHBhZGRpbmc6IDAsDQogICAgICAgICAgICBtYXJnaW46IDAsDQogICAgICAgICAgICBkaXNwbGF5OiAnYmxvY2snLA0KICAgICAgICAgICAgb3ZlcmZsb3c6ICdoaWRkZW4nLA0KICAgICAgICAgICAgcG9pbnRlckV2ZW50czogJ25vbmUnLA0KICAgICAgICAgICAgd2Via2l0VXNlclNlbGVjdDogJ25vbmUnLA0KICAgICAgICAgICAgbW96VXNlclNlbGVjdDogJ25vbmUnLA0KICAgICAgICAgICAgdXNlclNlbGVjdDogJ25vbmUnLA0KICAgICAgICAgICAgd2Via2l0VHJhbnNmb3JtOiB0cmFuc2Zvcm0sDQogICAgICAgICAgICBtb3pUcmFuc2Zvcm06IHRyYW5zZm9ybSwNCiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNmb3JtLA0KICAgICAgICAgICAgekluZGV4OiAxMDANCiAgICAgICAgfQ0KICAgIH07DQoNCiAgICAvLyBleHBvcnQNCiAgICBpZiAodHlwZW9mIGRlZmluZSA9PSAiZnVuY3Rpb24iICYmIGRlZmluZS5hbWQpIHsNCiAgICAgICAgZGVmaW5lKGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgcmV0dXJuIFRvdWNoRW11bGF0b3I7DQogICAgICAgIH0pOw0KICAgIH0gZWxzZSBpZiAodHlwZW9mIG1vZHVsZSAhPSAidW5kZWZpbmVkIiAmJiBtb2R1bGUuZXhwb3J0cykgew0KICAgICAgICBtb2R1bGUuZXhwb3J0cyA9IFRvdWNoRW11bGF0b3I7DQogICAgfSBlbHNlIHsNCiAgICAgICAgd2luZG93W2V4cG9ydE5hbWVdID0gVG91Y2hFbXVsYXRvcjsNCiAgICB9DQp9KSh3aW5kb3csIGRvY3VtZW50LCAiVG91Y2hFbXVsYXRvciIpOw=="}},"time_used":250,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":250,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null},{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"unpkg.com/evm-chains/lib/index.js","fqdn":"unpkg.com","domain":"unpkg.com","tld":"com"},"ip":{"addr":"104.18.1.22","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://futurbcvndf.com/","date":"2026-07-27T06:23:00.104Z","timestamp":1785133380104,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"unpkg.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sat, 11 Jul 2026 17:56:32 GMT","end":"Fri, 09 Oct 2026 18:56:21 GMT"},"fingerprint":{"sha1":"81:08:7C:A2:AA:81:B4:77:02:EE:53:FB:23:6F:1D:97:C3:92:2E:A0","sha256":"13:42:07:B0:BF:53:83:27:C3:6E:69:00:B5:F0:1C:58:6C:AD:B4:DD:93:08:84:F0:97:51:3B:60:91:10:85:76"}}},"request":{"raw":"GET /evm-chains/lib/index.js HTTP/1.1\r\nHost: unpkg.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://futurbcvndf.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 302 \r\ndate: Mon, 27 Jul 2026 06:23:00 GMT\r\ncontent-type: text/plain;charset=UTF-8\r\ncontent-length: 45\r\nlocation: /evm-chains@0.2.0/lib/index.js\r\naccess-control-allow-origin: *\r\ncache-control: public, max-age=60, s-maxage=300\r\ncross-origin-resource-policy: cross-origin\r\nstrict-transport-security: max-age=31536000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\npriority: u=3,i=?0\r\nserver: cloudflare\r\ncf-ray: a2198d8a2aac8deb-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"302","status_text":"","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":0,"size_decoded":0,"mime_type":"text/plain; charset=UTF-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-04T14:30:18.251771Z","times_seen":17709334,"resource_available":true,"data":null}},"time_used":262,"timings":{"blocked":71,"dns":0,"connect":0,"send":0,"wait":191,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"futurbcvndf.com/static/image/nav/nav-3.png","fqdn":"futurbcvndf.com","domain":"futurbcvndf.com","tld":"com"},"ip":{"addr":"172.67.130.50","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://futurbcvndf.com/","date":"2026-07-27T06:23:01.081Z","timestamp":1785133381081,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"futurbcvndf.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 16 Jul 2026 16:36:02 GMT","end":"Wed, 14 Oct 2026 16:36:01 GMT"},"fingerprint":{"sha1":"46:2D:5F:F0:3D:BD:73:19:93:72:79:62:4A:45:03:09:5D:FB:1E:A5","sha256":"35:31:C4:67:1D:DB:68:C3:FB:49:03:14:DD:4E:76:FE:13:53:8D:98:98:2E:BE:EA:B8:CA:4F:B6:5B:7E:5C:1D"}}},"request":{"raw":"GET /static/image/nav/nav-3.png HTTP/1.1\r\nHost: futurbcvndf.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://futurbcvndf.com/\r\nCookie: angela_session=eyJpdiI6IlhnUEZEQ1hLNngxS0t2ZGN3TnJjV1E9PSIsInZhbHVlIjoiVGlYZUpmMXVPdEhuTGtoQzhTS3VXM3BIN3J4ZDZnU2dNTWxTc0NRcHNMTXFyNm1wQTZEQ0RKTWJ0UjRERWZ5aDBaQWxVaVdmN0VVQkNna0M2ZTJ2dTdFZkx3amdIYjZlQzEzMHozajVqTzMybnhMOHo1bEpuaXdQM1R3UVN4QmQiLCJtYWMiOiJiZWIyMTJlYzc4OWUzODk0ODBiOTI5NmU0MjA2MDBmZjJmYzA2MTI3ZjViNmY4NWYxNzIyNDI4MDhhYWMzZmI4In0%3D\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\nserver: cloudflare\r\ndate: Mon, 27 Jul 2026 06:23:01 GMT\r\ncontent-type: image/png\r\nserver-timing: cfExtPri\r\npriority: u=4,i\r\nlast-modified: Fri, 20 Jun 2025 15:49:45 GMT\r\netag: \"68558319-4d0\"\r\nstrict-transport-security: max-age=31536000\r\naccept-ranges: bytes\r\ncache-control: max-age=14400\r\ncf-cache-status: REVALIDATED\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=0SiHv%2ByEbVinXw8xvW7hJhIl%2BDcW95JTJjATcl5MqZTR0lCBtIZU2A5zutu680rgbpRVXm48xUov3%2BnKqOpH8l1am5f5n8e0Y2nbhVGtsxEay31STGnhcgVMzcLrExNG4Fo%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\ncf-ray: a2198d8fc9420daa-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\ncontent-length: 1232\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":1232,"size_decoded":1971,"mime_type":"image/png","magic":"PNG image data, 44 x 45, 8-bit/color RGBA, non-interlaced","md5":"fd57dd6dbb1f72619420449aafe1d852","sha1":"bb99e3ba6404a1c00482576775530a0bcbf1d254","sha256":"67989dd943d26961cb26b505d15c64cb24c3ed0aacb607d32ef5d864ec1af3ef","sha512":"dbf4768c4a3c8eb9b84cf98a6086eb518d4c6cd56b57848466b8eb600191eb08c4086f19de41e62d9566ea7ba0fdf857b405108649fce438320f6f8371539181","ssdeep":"","tlshash":"f821b4d98b6c15e3c8e40c8fc53cac1b822ab45a189e2f0a46b999a70453319cf5d280","first_seen":"2023-05-20T12:09:28Z","last_seen":"2026-07-27T14:50:18.09638Z","times_seen":256,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAACwAAAAtCAYAAADV2ImkAAAEl0lEQVRYhcXZXYhUdRjH8c+Ota2bpmhGbzeVVgZ1E7RoBLnla5pvRJlQVlBQRNFNJUF2URQUXQR5EUVkUtqLUtgLS0ZFkYalJFRmmpRbJL2RZlnrdvGcaaez58ycM7ObPxh2z/yfM+c7/3nO83baenp6DLE60Il+/Ia/h/LDj2rx/DMwCxfivOS4I2XzK3ZiK97FG/ih2Qu2NbHDnbg2eXU1cc0+vIknsR6Hy5xcKWHbjjuwG49rDhZGYA5ewnZcWebkosBT8QkewQllLtBAk/E8enBakRMaAbfhTryDc1pCq69L8TEWNDKsB9yOZ/Gg1m/OIhqLl3F3PaM8kHasxfwhhmqkNjyAY7AiyyBvh5/y/8PW6gaMylrIAr4dS4cVp772YRr2Zy2mgc/FQ8NNVEe/Y55INJmq9eE2rBT+W1T9eFpkr/4cmw4sTF711Icl2FTPqBb4apFiy+gJ3FTAbpXIbNfnrPfjOrySsdaNXnzOgEtUcG8Z0kSvlbC9ER/krC0XXyqtLpG+/w11VeAZmFTi4lWdUsK2Dy9kvL9SxPq0JuJVjBa//okMAF9T4sK1WoGLhf8X0eTU8XO4NcNuAl5P/hKuu5QA7tB8zJ2At0UI+gnbcHKO7SIRX6vaiGVi52s1JoGdmHp/cRV4qigZW1GngF4obpC0FojdHJEcfyq+wKGUXbtIz+dnfMYFOK6i+TKxVt+IYL8rB3aNgXC5E7NFYV+rNpFhu3OuMQJdFYP9qqy+TWC/ylibn4Ldl8DuzbB9WOMMe1ZFwTo0R/VgLxcFVBW2Xha7SzQHjTSpIsq6ZlSFzQKYJ0JYFfYQrpCdxZaKCq2Ijq/guHKcCNhu2bBz8aIB2H6R4bKSzHTht0XDYmcFB0uhhv9148uMtbmiV6utR5ZjdYZtNYuVqV0OVuSUcTnaK9wgC7baWNYCPKZ+FisbTg9UxM9bRL3yd3YO1vkv7GrclmGbzmJl9HVFUgU1UK/Y2R0Za7MNht0o/DZdco7BWwZnsaLaURHtez1VdzYPNu2H2+RnsbU4Vcw20utFtKUiaoG84vu7BPaLjLVZBu/sARHS0llMAjgT43A6xgufL6o92FURc66PmoBdL7rbWm0WabqI9osaueioagMD5eUzqcXvBWyWf1d3Ng0LZ+PoggDwM/4saLuKAeDVYjRKwE6TDTtTwKYnlFWdJL58UehLMLKA3VZ8yEBP94sY8C2Tv7ONYKu6SvzM9whfHitmDKNwbHI8WnQ4txSAhfur/9SOW8eLQd9nGSfMED5bZDeGWpsxReLrtV3zj8krrSMJ24eb1dyYjaaX04UbHAlYuA9bat+oBzxd7Gyr7VOz6pFRduYBjxITnSMFu0lky3SDmgu8X0SFrFZmuLUJlyk4DKzVdjG62joMUHlaJ2Jz1s2PxjfdHhFSVsqvN4ZCB0VPt1jUI7kq8lDmDxFaLjI8u71BjHkfVWBTyjz2el8MOBZJ0mQL6hOTyimircrqujNV9mHLYeFn60Shs0T4XFeBzzqA98RDxTWiGiytZp6EZmkkzhT1wTjRWfSJO71XFP+78VerF/oHy437Sfn9AcMAAAAASUVORK5CYII="}},"time_used":242,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":242,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null},{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"futurbcvndf.com/static/image/icon/home-nav-2.png","fqdn":"futurbcvndf.com","domain":"futurbcvndf.com","tld":"com"},"ip":{"addr":"172.67.130.50","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://futurbcvndf.com/","date":"2026-07-27T06:23:01.956Z","timestamp":1785133381956,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"futurbcvndf.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 16 Jul 2026 16:36:02 GMT","end":"Wed, 14 Oct 2026 16:36:01 GMT"},"fingerprint":{"sha1":"46:2D:5F:F0:3D:BD:73:19:93:72:79:62:4A:45:03:09:5D:FB:1E:A5","sha256":"35:31:C4:67:1D:DB:68:C3:FB:49:03:14:DD:4E:76:FE:13:53:8D:98:98:2E:BE:EA:B8:CA:4F:B6:5B:7E:5C:1D"}}},"request":{"raw":"GET /static/image/icon/home-nav-2.png HTTP/1.1\r\nHost: futurbcvndf.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://futurbcvndf.com/\r\nCookie: angela_session=eyJpdiI6Ikdtd2ZNSlpOTk14ZFNzOFRFdXhRWGc9PSIsInZhbHVlIjoiMG1LTHc1VmFVNWZ5UWJSWHArTzVsc1d2SkpIc2w5Y2dJaW0zczdPUGtTSTY3WElQdW5XRVE5dW5ZRUxheElIWUlXa1FoWnpodTlaSHVsMW5lbFlxVUNDNWZMRGE3YmFUbUpoUWZVUGhPTldCK1VaTWZqaTdXQU9JVUpYWE9rSmEiLCJtYWMiOiI4NGI5YzVkZTM4NTIwZTE1ODQzMTlkZWVjYzY1YmY2ZWQyODE4YTVjNzhmNzkwYTE1MzgwZjRjYzRkM2MyNDlhIn0%3D\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\nserver: cloudflare\r\ndate: Mon, 27 Jul 2026 06:23:02 GMT\r\ncontent-type: image/png\r\nserver-timing: cfExtPri\r\npriority: u=5,i\r\nlast-modified: Fri, 20 Jun 2025 15:49:45 GMT\r\netag: \"68558319-17be\"\r\nstrict-transport-security: max-age=31536000\r\naccept-ranges: bytes\r\ncache-control: max-age=14400\r\ncf-cache-status: REVALIDATED\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=v3B2IJa2uVBTrv4NLuzA3WPgXTjnoab%2FghT5aeVTMyN6%2Fku99W%2F83d611CvJxSI6Fo0Z4kxOXq2WFYUzGemZvENl1A3rKvRbvL4ih0B9hdC6ZSwLqvkb4e80hdzdzZJ3qZI%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\ncf-ray: a2198d953a130daa-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\ncontent-length: 6078\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":6078,"size_decoded":6818,"mime_type":"image/png","magic":"PNG image data, 88 x 88, 8-bit/color RGBA, non-interlaced","md5":"8edb61a43ebbac5b1c00c183530722fe","sha1":"602712cb46dbce14c871f2ca1ebd29acf6136368","sha256":"b53157f804ec5e41faf0213dfcf9f05a00d55ec3390266848735d3e62275829c","sha512":"2edb5e4f1ac0068c4225b411d622a9c06162cfa2db87e6658df5b4cb14bc4670a6f64537d25471c27295a05549b89f9c3d5d688738591fd26989506019e6fb78","ssdeep":"96:MknmWIHF/KENGWGMHOzH5ogs4rpHggsBRC70n4wj7isQwtJDvv1Wm1VKUi8s528l:MknEj4+X2bsBsANjmsTDVnbfM5Gy3","tlshash":"cfc15c56d8b059751215e6592add30227f3603c08751ea84ecfedc7ab6600bd9dbcdc3","first_seen":"2023-05-20T12:09:29Z","last_seen":"2026-07-27T14:50:18.100216Z","times_seen":245,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAFgAAABYCAYAAABxlTA0AAAACXBIWXMAABYlAAAWJQFJUiTwAAAGemlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNi4wLWMwMDYgNzkuZGFiYWNiYiwgMjAyMS8wNC8xNC0wMDozOTo0NCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIyLjQgKE1hY2ludG9zaCkiIHhtcDpDcmVhdGVEYXRlPSIyMDIxLTEyLTI0VDE3OjEzOjAxKzA4OjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAyMi0wMi0xMVQxOTozMjoyMyswODowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyMi0wMi0xMVQxOTozMjoyMyswODowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxNjYwNDYwNi0yYjhhLTQ1NTYtYTdiMS0zZjkzZDZiNDkzZGIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MzFiOGYyNWEtZjhiMy00NWQxLWJlMjQtNmE0ZjVmMzQzNTRhIiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6MzFiOGYyNWEtZjhiMy00NWQxLWJlMjQtNmE0ZjVmMzQzNTRhIj4gPHBob3Rvc2hvcDpEb2N1bWVudEFuY2VzdG9ycz4gPHJkZjpCYWc+IDxyZGY6bGk+eG1wLmRpZDozMWI4ZjI1YS1mOGIzLTQ1ZDEtYmUyNC02YTRmNWYzNDM1NGE8L3JkZjpsaT4gPC9yZGY6QmFnPiA8L3Bob3Rvc2hvcDpEb2N1bWVudEFuY2VzdG9ycz4gPHhtcE1NOkhpc3Rvcnk+IDxyZGY6U2VxPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iY3JlYXRlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDozMWI4ZjI1YS1mOGIzLTQ1ZDEtYmUyNC02YTRmNWYzNDM1NGEiIHN0RXZ0OndoZW49IjIwMjEtMTItMjRUMTc6MTM6MDErMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyMi40IChNYWNpbnRvc2gpIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDoxNjYwNDYwNi0yYjhhLTQ1NTYtYTdiMS0zZjkzZDZiNDkzZGIiIHN0RXZ0OndoZW49IjIwMjItMDItMTFUMTk6MzI6MjMrMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyMi40IChNYWNpbnRvc2gpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDwvcmRmOlNlcT4gPC94bXBNTTpIaXN0b3J5PiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PpwG0pQAABDqSURBVHiczZ2/jyXHccc//bQCRUrALhxYzG4VKdxlaMDAPWbObh0ZdsKnv+BWfwH3Iode5gZuGTrS8i/gO8Cpwd2/QKvIdOR3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"}},"time_used":238,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":238,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null},{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"futurbcvndf.com/api/currency/new_timeshar?from=1785129781\u0026to=1785133381\u0026symbol=LTC%2FUSDT\u0026period=1min\u0026lang=en","fqdn":"futurbcvndf.com","domain":"futurbcvndf.com","tld":"com"},"ip":{"addr":"172.67.130.50","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://futurbcvndf.com/","date":"2026-07-27T06:23:02.954Z","timestamp":1785133382954,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"futurbcvndf.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 16 Jul 2026 16:36:02 GMT","end":"Wed, 14 Oct 2026 16:36:01 GMT"},"fingerprint":{"sha1":"46:2D:5F:F0:3D:BD:73:19:93:72:79:62:4A:45:03:09:5D:FB:1E:A5","sha256":"35:31:C4:67:1D:DB:68:C3:FB:49:03:14:DD:4E:76:FE:13:53:8D:98:98:2E:BE:EA:B8:CA:4F:B6:5B:7E:5C:1D"}}},"request":{"raw":"GET /api/currency/new_timeshar?from=1785129781\u0026to=1785133381\u0026symbol=LTC%2FUSDT\u0026period=1min\u0026lang=en HTTP/1.1\r\nHost: futurbcvndf.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nAuthorization: \r\nContent-Type: application/x-www-form-urlencoded\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://futurbcvndf.com/\r\nCookie: angela_session=eyJpdiI6Im5rSUpXYm8yV3hEd0hJN0x5SkFOaVE9PSIsInZhbHVlIjoiWE1oSllXTjdSc1g1blplOVFyWGhZVDJNXC9NSWlIaTNWZDc0NGtnaFRDc010TXp2NXFKS0RNMlc0XC9WZ3NDOW1iWFQrZmExVVNmT0xVNUlxUG5xYnBKd2pkY1pQQXBtWmtUd3FVckluNXo2NDIxKzA0Z2xzd2tzcXF1djVhM3FUZCIsIm1hYyI6Ijk1MGJiZjU0ZjRkNmFlZTE4MzAyOGZkNjkwOTgwNWEzNjEyYmM2NWUzZThkNGU4ZmMyYWM2ZGVjZTg3NjViM2MifQ%3D%3D\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\nserver: cloudflare\r\ndate: Mon, 27 Jul 2026 06:23:03 GMT\r\ncontent-type: application/json\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=wOAWP8NIgjeeO1H3FZs6SAb2EtKe656oIyGeuAXn%2FTLjiTlZRJqfUnfFcNkp4KE8ZjXPXzSogXt%2BhywBkf6YceS%2BpmnRGSOG8bhl7XvO1YP6SY8K0PKni9TYkuo%2B%2FXJi0fY%3D\"}]}\r\npriority: u=3,i=?0\r\ncache-control: no-cache, private, no-cache\r\naccess-control-allow-origin: *\r\naccess-control-allow-headers: Origin, Content-Type, Cookie, X-CSRF-TOKEN, Accept, Authorization, X-XSRF-TOKEN\r\naccess-control-expose-headers: Authorization, authenticated\r\naccess-control-allow-methods: GET, POST, PATCH, PUT, OPTIONS\r\naccess-control-allow-credentials: false\r\nset-cookie: angela_session=eyJpdiI6IlB6YktxaWRHd2FmOG53UHphSWNDN3c9PSIsInZhbHVlIjoiV3AzWENiUVBEWnM3VW9kcmV6RVg5MEhOQjR3cEE4T1NzQmdwTTJoMlFhUTZGN0lwZXpSN3VZMTFCSmxXTE42dElXUVFDSHV6THREaERCVjZhNVhoMm10a1FsZldFZlwvZ0Q0TkMzbTZ6eStRN2ZEZDhZMk83OERvUGY3Mk9jR2tHIiwibWFjIjoiY2IzNmE1ZGQ3ZjkwZDRlYTA3ZWUxY2NlZjJjOGU3M2YyYjViMTUxNjhkYjQ2NWNlMWRjODRiNDBhMWFmNTZjMCJ9; expires=Mon, 27-Jul-2026 08:23:03 GMT; Max-Age=7200; path=/; httponly\r\nstrict-transport-security: max-age=31536000\r\ncf-cache-status: DYNAMIC\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\ncontent-encoding: zstd\r\ncf-ray: a2198d9b7b330daa-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":11968,"size_decoded":3095,"mime_type":"application/json","magic":"JSON text data","md5":"a30f36f89ac139c7a18163f152b6ac09","sha1":"4f74023bb759cea6c4d7e128a5faed1a12a31dc2","sha256":"cdeddb9940d30ff4039184c72eaee457f33a86d3c565c5017919fed006b16970","sha512":"1a3f1b52feb2208d4d0b4776bf6c7b270717ed186fd0b46e88d01b09f3271642995da41bd900418c08958af13c40585f6c0d9ef8aa8748e16aa233b9d8d32d89","ssdeep":"96:SBFtBluBx4BxcB1AB13Bp/BaiBOHIBh1BFjcBTbB1xBhGsBhRBSrB0DB+uBxOcBB:n2ZCCve/FRPefjqOiKg","tlshash":"79320c40917d1273c47a34dc6ef39c6886ae335b60b2ce9592ef048615d29ebb116e3f","first_seen":"2026-07-27T06:23:39.753429Z","last_seen":"2026-07-27T06:23:39.753429Z","times_seen":1,"resource_available":false,"data":"eyJjb2RlIjoxLCJtc2ciOiJzdWNjZXNzIiwiZGF0YSI6W3siaWQiOjE3ODUxMjk4NDAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiTFRDIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6NDcuNTUsImNsb3NlIjo0Ny41NSwiaGlnaCI6NDcuNTUsImxvdyI6NDcuNTUsInZvbCI6MjEwLjM2NTk1NSwiYW1vdW50Ijo0LjQyNDEsInRpbWUiOjE3ODUxMjk4NDAwMDAsInZvbHVtZSI6NC40MjQxfSx7ImlkIjoxNzg1MTI5OTAwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkxUQyIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjQ3LjU2LCJjbG9zZSI6NDcuNTYsImhpZ2giOjQ3LjU2LCJsb3ciOjQ3LjU2LCJ2b2wiOjU3Ni44ODg1MzIsImFtb3VudCI6MTIuMTI5NywidGltZSI6MTc4NTEyOTkwMDAwMCwidm9sdW1lIjoxMi4xMjk3fSx7ImlkIjoxNzg1MTI5OTYwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkxUQyIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjQ3LjU3LCJjbG9zZSI6NDcuNTcsImhpZ2giOjQ3LjU3LCJsb3ciOjQ3LjU3LCJ2b2wiOjExNjYuNDYzOTcsImFtb3VudCI6MjQuNTIxLCJ0aW1lIjoxNzg1MTI5OTYwMDAwLCJ2b2x1bWUiOjI0LjUyMX0seyJpZCI6MTc4NTEzMDAyMCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJMVEMiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjo0Ny41NywiY2xvc2UiOjQ3LjU3LCJoaWdoIjo0Ny41NywibG93Ijo0Ny41Nywidm9sIjowLCJhbW91bnQiOjAsInRpbWUiOjE3ODUxMzAwMjAwMDAsInZvbHVtZSI6MH0seyJpZCI6MTc4NTEzMDA4MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJMVEMiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjo0Ny41OSwiY2xvc2UiOjQ3LjU5LCJoaWdoIjo0Ny41OSwibG93Ijo0Ny41OSwidm9sIjo0NzAuMzQ2MjQ3LCJhbW91bnQiOjkuODgzMywidGltZSI6MTc4NTEzMDA4MDAwMCwidm9sdW1lIjo5Ljg4MzN9LHsiaWQiOjE3ODUxMzAxNDAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiTFRDIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6NDcuNTksImNsb3NlIjo0Ny41OSwiaGlnaCI6NDcuNTksImxvdyI6NDcuNTksInZvbCI6MCwiYW1vdW50IjowLCJ0aW1lIjoxNzg1MTMwMTQwMDAwLCJ2b2x1bWUiOjB9LHsiaWQiOjE3ODUxMzAyMDAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiTFRDIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6NDcuNTgsImNsb3NlIjo0Ny41OCwiaGlnaCI6NDcuNTgsImxvdyI6NDcuNTgsInZvbCI6NTkzLjU2MDUsImFtb3VudCI6MTIuNDc1LCJ0aW1lIjoxNzg1MTMwMjAwMDAwLCJ2b2x1bWUiOjEyLjQ3NX0seyJpZCI6MTc4NTEzMDI2MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJMVEMiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjo0Ny42MSwiY2xvc2UiOjQ3LjU5LCJoaWdoIjo0Ny42NCwibG93Ijo0Ny41OSwidm9sIjoxMzcyLjE1NzMyLCJhbW91bnQiOjI4LjgxODcsInRpbWUiOjE3ODUxMzAyNjAwMDAsInZvbHVtZSI6MjguODE4N30seyJpZCI6MTc4NTEzMDMyMCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJMVEMiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjo0Ny42NSwiY2xvc2UiOjQ3LjU5LCJoaWdoIjo0Ny42NSwibG93Ijo0Ny41OCwidm9sIjoxODE1Ljc3NzkyNSwiYW1vdW50IjozOC4xNDQyLCJ0aW1lIjoxNzg1MTMwMzIwMDAwLCJ2b2x1bWUiOjM4LjE0NDJ9LHsiaWQiOjE3ODUxMzAzODAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiTFRDIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6NDcuNTksImNsb3NlIjo0Ny41NSwiaGlnaCI6NDcuNTksImxvdyI6NDcuNTEsInZvbCI6MjEwMC4xMzIwMSwiYW1vdW50Ijo0NC4xODI2LCJ0aW1lIjoxNzg1MTMwMzgwMDAwLCJ2b2x1bWUiOjQ0LjE4MjZ9LHsiaWQiOjE3ODUxMzA0NDAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiTFRDIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6NDcuNTUsImNsb3NlIjo0Ny41NSwiaGlnaCI6NDcuNTUsImxvdyI6NDcuNTQsInZvbCI6MTQ4MC40ODg5MTksImFtb3VudCI6MzEuMTM3NSwidGltZSI6MTc4NTEzMDQ0MDAwMCwidm9sdW1lIjozMS4xMzc1fSx7ImlkIjoxNzg1MTMwNTAwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkxUQyIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjQ3LjU2LCJjbG9zZSI6NDcuNTQsImhpZ2giOjQ3LjU2LCJsb3ciOjQ3LjU0LCJ2b2wiOjc1OS45NDA5MjgsImFtb3VudCI6MTUuOTgxOCwidGltZSI6MTc4NTEzMDUwMDAwMCwidm9sdW1lIjoxNS45ODE4fSx7ImlkIjoxNzg1MTMwNTYwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkxUQyIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjQ3LjU0LCJjbG9zZSI6NDcuNTgsImhpZ2giOjQ3LjU4LCJsb3ciOjQ3LjU0LCJ2b2wiOjExNzYuOTI4MjI2LCJhbW91bnQiOjI0Ljc1MTEsInRpbWUiOjE3ODUxMzA1NjAwMDAsInZvbHVtZSI6MjQuNzUxMX0seyJpZCI6MTc4NTEzMDYyMCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJMVEMiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjo0Ny41NCwiY2xvc2UiOjQ3LjU0LCJoaWdoIjo0Ny41NCwibG93Ijo0Ny41NCwidm9sIjozOTUuNTEzNzg0LCJhbW91bnQiOjguMzE5NiwidGltZSI6MTc4NTEzMDYyMDAwMCwidm9sdW1lIjo4LjMxOTZ9LHsiaWQiOjE3ODUxMzA2ODAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiTFRDIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6NDcuNTQsImNsb3NlIjo0Ny41NCwiaGlnaCI6NDcuNTQsImxvdyI6NDcuNTQsInZvbCI6MCwiYW1vdW50IjowLCJ0aW1lIjoxNzg1MTMwNjgwMDAwLCJ2b2x1bWUiOjB9LHsiaWQiOjE3ODUxMzA3NDAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiTFRDIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6NDcuNTcsImNsb3NlIjo0Ny41NiwiaGlnaCI6NDcuNTcsImxvdyI6NDcuNTYsInZvbCI6NzgyLjYyODIyNiwiYW1vdW50IjoxNi40NTQzLCJ0aW1lIjoxNzg1MTMwNzQwMDAwLCJ2b2x1bWUiOjE2LjQ1NDN9LHsiaWQiOjE3ODUxMzA4MDAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiTFRDIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6NDcuNTUsImNsb3NlIjo0Ny41NiwiaGlnaCI6NDcuNjMsImxvdyI6NDcuNTUsInZvbCI6ODExNy45NzUxMDMsImFtb3VudCI6MTcwLjU1MjIsInRpbWUiOjE3ODUxMzA4MDAwMDAsInZvbHVtZSI6MTcwLjU1MjJ9LHsiaWQiOjE3ODUxMzA4NjAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiTFRDIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6NDcuNjIsImNsb3NlIjo0Ny41NiwiaGlnaCI6NDcuNjIsImxvdyI6NDcuNTYsInZvbCI6MTA0Ny4wMTkxNTgsImFtb3VudCI6MjIuMDAxMSwidGltZSI6MTc4NTEzMDg2MDAwMCwidm9sdW1lIjoyMi4wMDExfSx7ImlkIjoxNzg1MTMwOTIwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkxUQyIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjQ3LjU3LCJjbG9zZSI6NDcuNTcsImhpZ2giOjQ3LjU3LCJsb3ciOjQ3LjU3LCJ2b2wiOjU5NS45NDc0NDYsImFtb3VudCI6MTIuNTI3OCwidGltZSI6MTc4NTEzMDkyMDAwMCwidm9sdW1lIjoxMi41Mjc4fSx7ImlkIjoxNzg1MTMwOTgwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkxUQyIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjQ3LjU3LCJjbG9zZSI6NDcuNTcsImhpZ2giOjQ3LjU3LCJsb3ciOjQ3LjU3LCJ2b2wiOjAsImFtb3VudCI6MCwidGltZSI6MTc4NTEzMDk4MDAwMCwidm9sdW1lIjowfSx7ImlkIjoxNzg1MTMxMDQwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkxUQyIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjQ3LjU3LCJjbG9zZSI6NDcuNTcsImhpZ2giOjQ3LjU3LCJsb3ciOjQ3LjU3LCJ2b2wiOjE3Mi42NDEwNDQsImFtb3VudCI6My42MjkyLCJ0aW1lIjoxNzg1MTMxMDQwMDAwLCJ2b2x1bWUiOjMuNjI5Mn0seyJpZCI6MTc4NTEzMTEwMCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJMVEMiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjo0Ny41NywiY2xvc2UiOjQ3LjU3LCJoaWdoIjo0Ny41NywibG93Ijo0Ny41Nywidm9sIjowLCJhbW91bnQiOjAsInRpbWUiOjE3ODUxMzExMDAwMDAsInZvbHVtZSI6MH0seyJpZCI6MTc4NTEzMTE2MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJMVEMiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjo0Ny41NywiY2xvc2UiOjQ3LjU3LCJoaWdoIjo0Ny41NywibG93Ijo0Ny41Nywidm9sIjowLCJhbW91bnQiOjAsInRpbWUiOjE3ODUxMzExNjAwMDAsInZvbHVtZSI6MH0seyJpZCI6MTc4NTEzMTIyMCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJMVEMiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjo0Ny41MSwiY2xvc2UiOjQ3LjUxLCJoaWdoIjo0Ny41MSwibG93Ijo0Ny41MSwidm9sIjoyNTEuMDg1NTk5LCJhbW91bnQiOjUuMjg0OSwidGltZSI6MTc4NTEzMTIyMDAwMCwidm9sdW1lIjo1LjI4NDl9LHsiaWQiOjE3ODUxMzEyODAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiTFRDIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6NDcuNSwiY2xvc2UiOjQ3LjQ4LCJoaWdoIjo0Ny41LCJsb3ciOjQ3LjQ4LCJ2b2wiOjgyOC45NDUxNDYsImFtb3VudCI6MTcuNDU0MiwidGltZSI6MTc4NTEzMTI4MDAwMCwidm9sdW1lIjoxNy40NTQyfSx7ImlkIjoxNzg1MTMxMzQwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkxUQyIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjQ3LjQ3LCJjbG9zZSI6NDcuNDcsImhpZ2giOjQ3LjQ3LCJsb3ciOjQ3LjQ3LCJ2b2wiOjM0Ny43NTU3MjYsImFtb3VudCI6Ny4zMjU4LCJ0aW1lIjoxNzg1MTMxMzQwMDAwLCJ2b2x1bWUiOjcuMzI1OH0seyJpZCI6MTc4NTEzMTQwMCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJMVEMiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjo0Ny40NywiY2xvc2UiOjQ3LjQyLCJoaWdoIjo0Ny40OSwibG93Ijo0Ny40Miwidm9sIjo0MzAzLjE0NjQ2NSwiYW1vdW50Ijo5MC42NjcsInRpbWUiOjE3ODUxMzE0MDAwMDAsInZvbHVtZSI6OTAuNjY3fSx7ImlkIjoxNzg1MTMxNDYwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkxUQyIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjQ3LjQyLCJjbG9zZSI6NDcuNDgsImhpZ2giOjQ3LjQ5LCJsb3ciOjQ3LjQyLCJ2b2wiOjUxNTIuMzYyMzczLCJhbW91bnQiOjEwOC41NzY4LCJ0aW1lIjoxNzg1MTMxNDYwMDAwLCJ2b2x1bWUiOjEwOC41NzY4fSx7ImlkIjoxNzg1MTMxNTIwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkxUQyIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjQ3LjQ2LCJjbG9zZSI6NDcuNDIsImhpZ2giOjQ3LjQ3LCJsb3ciOjQ3LjQxLCJ2b2wiOjc1OTEuMzQ2NTM2LCJhbW91bnQiOjE2MC4wMjIyLCJ0aW1lIjoxNzg1MTMxNTIwMDAwLCJ2b2x1bWUiOjE2MC4wMjIyfSx7ImlkIjoxNzg1MTMxNTgwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkxUQyIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjQ3LjQ1LCJjbG9zZSI6NDcuNDQsImhpZ2giOjQ3LjQ1LCJsb3ciOjQ3LjQxLCJ2b2wiOjE3OTcuMTU1NjQyLCJhbW91bnQiOjM3Ljg4MjQsInRpbWUiOjE3ODUxMzE1ODAwMDAsInZvbHVtZSI6MzcuODgyNH0seyJpZCI6MTc4NTEzMTY0MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJMVEMiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjo0Ny40LCJjbG9zZSI6NDcuMzgsImhpZ2giOjQ3LjQ2LCJsb3ciOjQ3LjM4LCJ2b2wiOjUwNzMuMjA3ODUzLCJhbW91bnQiOjEwNy4wMDQ5LCJ0aW1lIjoxNzg1MTMxNjQwMDAwLCJ2b2x1bWUiOjEwNy4wMDQ5fSx7ImlkIjoxNzg1MTMxNzAwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkxUQyIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjQ3LjQ1LCJjbG9zZSI6NDcuNDQsImhpZ2giOjQ3LjQ1LCJsb3ciOjQ3LjM1LCJ2b2wiOjE5NDE1LjQ3MTM0MywiYW1vdW50Ijo0MDkuNDU1OSwidGltZSI6MTc4NTEzMTcwMDAwMCwidm9sdW1lIjo0MDkuNDU1OX0seyJpZCI6MTc4NTEzMTc2MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJMVEMiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjo0Ny40MywiY2xvc2UiOjQ3LjM0LCJoaWdoIjo0Ny40NCwibG93Ijo0Ny4zNCwidm9sIjo3NDQxLjI4Mjg4MSwiYW1vdW50IjoxNTcuMDkyNSwidGltZSI6MTc4NTEzMTc2MDAwMCwidm9sdW1lIjoxNTcuMDkyNX0seyJpZCI6MTc4NTEzMTgyMCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJMVEMiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjo0Ny4zMSwiY2xvc2UiOjQ3LjM3LCJoaWdoIjo0Ny4zOSwibG93Ijo0Ny4zMSwidm9sIjo4MjU1LjMzNTQ1OCwiYW1vdW50IjoxNzQuMzUxNSwidGltZSI6MTc4NTEzMTgyMDAwMCwidm9sdW1lIjoxNzQuMzUxNX0seyJpZCI6MTc4NTEzMTg4MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJMVEMiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjo0Ny40LCJjbG9zZSI6NDcuMzQsImhpZ2giOjQ3LjQsImxvdyI6NDcuMzQsInZvbCI6MjE4MC4yODU2MDcsImFtb3VudCI6NDYuMDI4NywidGltZSI6MTc4NTEzMTg4MDAwMCwidm9sdW1lIjo0Ni4wMjg3fSx7ImlkIjoxNzg1MTMxOTQwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkxUQyIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjQ3LjM4LCJjbG9zZSI6NDcuMzQsImhpZ2giOjQ3LjM4LCJsb3ciOjQ3LjMxLCJ2b2wiOjY0OTMuODMxODksImFtb3VudCI6MTM3LjExMTIsInRpbWUiOjE3ODUxMzE5NDAwMDAsInZvbHVtZSI6MTM3LjExMTJ9LHsiaWQiOjE3ODUxMzIwMDAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiTFRDIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6NDcuMzYsImNsb3NlIjo0Ny4zLCJoaWdoIjo0Ny4zNiwibG93Ijo0Ny4zLCJ2b2wiOjYxODcuNjc4NjE4LCJhbW91bnQiOjEzMC43NTAzLCJ0aW1lIjoxNzg1MTMyMDAwMDAwLCJ2b2x1bWUiOjEzMC43NTAzfSx7ImlkIjoxNzg1MTMyMDYwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkxUQyIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjQ3LjMyLCJjbG9zZSI6NDcuMzMsImhpZ2giOjQ3LjM2LCJsb3ciOjQ3LjI2LCJ2b2wiOjEwNTUwLjY1NjYxMiwiYW1vdW50IjoyMjIuOTU1NSwidGltZSI6MTc4NTEzMjA2MDAwMCwidm9sdW1lIjoyMjIuOTU1NX0seyJpZCI6MTc4NTEzMjEyMCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJMVEMiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjo0Ny4zLCJjbG9zZSI6NDcuMzEsImhpZ2giOjQ3LjM1LCJsb3ciOjQ3LjI2LCJ2b2wiOjE4NDU4LjgzOTAzLCJhbW91bnQiOjM5MC4xNjgzLCJ0aW1lIjoxNzg1MTMyMTIwMDAwLCJ2b2x1bWUiOjM5MC4xNjgzfSx7ImlkIjoxNzg1MTMyMTgwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkxUQyIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjQ3LjI4LCJjbG9zZSI6NDcuMjcsImhpZ2giOjQ3LjMxLCJsb3ciOjQ3LjI2LCJ2b2wiOjQxNDYuMzIyNjY2LCJhbW91bnQiOjg3LjcwNTksInRpbWUiOjE3ODUxMzIxODAwMDAsInZvbHVtZSI6ODcuNzA1OX0seyJpZCI6MTc4NTEzMjI0MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJMVEMiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjo0Ny4zMSwiY2xvc2UiOjQ3LjMyLCJoaWdoIjo0Ny4zNCwibG93Ijo0Ny4yNywidm9sIjoxMjE1My4yOTkyNjYsImFtb3VudCI6MjU2Ljg4ODgsInRpbWUiOjE3ODUxMzIyNDAwMDAsInZvbHVtZSI6MjU2Ljg4ODh9LHsiaWQiOjE3ODUxMzIzMDAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiTFRDIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6NDcuMzQsImNsb3NlIjo0Ny40LCJoaWdoIjo0Ny40LCJsb3ciOjQ3LjI4LCJ2b2wiOjEzNDU3LjgzODkzNCwiYW1vdW50IjoyODQuMzYwNCwidGltZSI6MTc4NTEzMjMwMDAwMCwidm9sdW1lIjoyODQuMzYwNH0seyJpZCI6MTc4NTEzMjM2MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJMVEMiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjo0Ny40MSwiY2xvc2UiOjQ3LjQ0LCJoaWdoIjo0Ny41MSwibG93Ijo0Ny4zNywidm9sIjo2Mzk0LjcxNzg2MiwiYW1vdW50IjoxMzQuODIyNiwidGltZSI6MTc4NTEzMjM2MDAwMCwidm9sdW1lIjoxMzQuODIyNn0seyJpZCI6MTc4NTEzMjQyMCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJMVEMiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjo0Ny40MywiY2xvc2UiOjQ3LjQ1LCJoaWdoIjo0Ny40NywibG93Ijo0Ny40LCJ2b2wiOjY5MTYuNzI0NjMsImFtb3VudCI6MTQ1LjgxMTMsInRpbWUiOjE3ODUxMzI0MjAwMDAsInZvbHVtZSI6MTQ1LjgxMTN9LHsiaWQiOjE3ODUxMzI0ODAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiTFRDIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6NDcuMzgsImNsb3NlIjo0Ny4zMSwiaGlnaCI6NDcuMzksImxvdyI6NDcuMzEsInZvbCI6NTUxOC4yNDc3MiwiYW1vdW50IjoxMTYuNTA5NywidGltZSI6MTc4NTEzMjQ4MDAwMCwidm9sdW1lIjoxMTYuNTA5N30seyJpZCI6MTc4NTEzMjU0MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJMVEMiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjo0Ny4zMiwiY2xvc2UiOjQ3LjQxLCJoaWdoIjo0Ny40MiwibG93Ijo0Ny4zMiwidm9sIjo5MDQzLjA5NTY3OSwiYW1vdW50IjoxOTAuOTAzNiwidGltZSI6MTc4NTEzMjU0MDAwMCwidm9sdW1lIjoxOTAuOTAzNn0seyJpZCI6MTc4NTEzMjYwMCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJMVEMiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjo0Ny40LCJjbG9zZSI6NDcuNCwiaGlnaCI6NDcuNCwibG93Ijo0Ny4zOCwidm9sIjoxNDc2LjY0NDIyNiwiYW1vdW50IjozMS4xNTY5LCJ0aW1lIjoxNzg1MTMyNjAwMDAwLCJ2b2x1bWUiOjMxLjE1Njl9LHsiaWQiOjE3ODUxMzI2NjAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiTFRDIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6NDcuNDQsImNsb3NlIjo0Ny4zOSwiaGlnaCI6NDcuNDQsImxvdyI6NDcuMzksInZvbCI6Mzc5OS42NTMzNzksImFtb3VudCI6ODAuMTQ5MiwidGltZSI6MTc4NTEzMjY2MDAwMCwidm9sdW1lIjo4MC4xNDkyfSx7ImlkIjoxNzg1MTMyNzIwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkxUQyIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjQ3LjQxLCJjbG9zZSI6NDcuNDEsImhpZ2giOjQ3LjQxLCJsb3ciOjQ3LjQxLCJ2b2wiOjY0NS42NDgzNDQsImFtb3VudCI6MTMuNjE4NCwidGltZSI6MTc4NTEzMjcyMDAwMCwidm9sdW1lIjoxMy42MTg0fSx7ImlkIjoxNzg1MTMyNzgwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkxUQyIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjQ3LjQsImNsb3NlIjo0Ny40LCJoaWdoIjo0Ny40LCJsb3ciOjQ3LjQsInZvbCI6NDg5LjAwNjg0LCJhbW91bnQiOjEwLjMxNjYsInRpbWUiOjE3ODUxMzI3ODAwMDAsInZvbHVtZSI6MTAuMzE2Nn0seyJpZCI6MTc4NTEzMjg0MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJMVEMiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjo0Ny4zNywiY2xvc2UiOjQ3LjM5LCJoaWdoIjo0Ny40NCwibG93Ijo0Ny4zNywidm9sIjo2MTAzLjg2NDA3NywiYW1vdW50IjoxMjguNzk0NSwidGltZSI6MTc4NTEzMjg0MDAwMCwidm9sdW1lIjoxMjguNzk0NX0seyJpZCI6MTc4NTEzMjkwMCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJMVEMiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjo0Ny40MiwiY2xvc2UiOjQ3LjM4LCJoaWdoIjo0Ny40MiwibG93Ijo0Ny4zOCwidm9sIjo3NTAuNDI2OTI4LCJhbW91bnQiOjE1LjgzNDgsInRpbWUiOjE3ODUxMzI5MDAwMDAsInZvbHVtZSI6MTUuODM0OH0seyJpZCI6MTc4NTEzMjk2MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJMVEMiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjo0Ny40MSwiY2xvc2UiOjQ3LjQsImhpZ2giOjQ3LjQ1LCJsb3ciOjQ3LjQsInZvbCI6MTIwMy40NzEwMjYsImFtb3VudCI6MjUuMzc1NSwidGltZSI6MTc4NTEzMjk2MDAwMCwidm9sdW1lIjoyNS4zNzU1fSx7ImlkIjoxNzg1MTMzMDIwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkxUQyIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjQ3LjM4LCJjbG9zZSI6NDcuMzcsImhpZ2giOjQ3LjQ0LCJsb3ciOjQ3LjM3LCJ2b2wiOjYzNDQuMDQ0NTM3LCJhbW91bnQiOjEzMy44MjU1LCJ0aW1lIjoxNzg1MTMzMDIwMDAwLCJ2b2x1bWUiOjEzMy44MjU1fSx7ImlkIjoxNzg1MTMzMDgwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkxUQyIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjQ3LjM2LCJjbG9zZSI6NDcuMzUsImhpZ2giOjQ3LjQsImxvdyI6NDcuMzQsInZvbCI6NDM3OS41OTMyMjYsImFtb3VudCI6OTIuNDYxOCwidGltZSI6MTc4NTEzMzA4MDAwMCwidm9sdW1lIjo5Mi40NjE4fSx7ImlkIjoxNzg1MTMzMTQwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkxUQyIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjQ3LjM1LCJjbG9zZSI6NDcuMzQsImhpZ2giOjQ3LjM4LCJsb3ciOjQ3LjMzLCJ2b2wiOjE1ODIuODk4ODEyLCJhbW91bnQiOjMzLjQzMDcsInRpbWUiOjE3ODUxMzMxNDAwMDAsInZvbHVtZSI6MzMuNDMwN30seyJpZCI6MTc4NTEzMzIwMCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJMVEMiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjo0Ny40MSwiY2xvc2UiOjQ3LjMyLCJoaWdoIjo0Ny40MSwibG93Ijo0Ny4zMiwidm9sIjoyMjY3LjAwNzkyLCJhbW91bnQiOjQ3LjkwMTIsInRpbWUiOjE3ODUxMzMyMDAwMDAsInZvbHVtZSI6NDcuOTAxMn0seyJpZCI6MTc4NTEzMzI2MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJMVEMiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjo0Ny4zLCJjbG9zZSI6NDcuMzEsImhpZ2giOjQ3LjM4LCJsb3ciOjQ3LjMsInZvbCI6NDA3MC4zNDg4NzMsImFtb3VudCI6ODUuOTYyNywidGltZSI6MTc4NTEzMzI2MDAwMCwidm9sdW1lIjo4NS45NjI3fSx7ImlkIjoxNzg1MTMzMzIwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkxUQyIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjQ3LjMsImNsb3NlIjo0Ny4zLCJoaWdoIjo0Ny4zLCJsb3ciOjQ3LjMsInZvbCI6NjI0LjMyNjg5LCJhbW91bnQiOjEzLjE5OTMsInRpbWUiOjE3ODUxMzMzMjAwMDAsInZvbHVtZSI6MTMuMTk5M31dfQ=="}},"time_used":281,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":196,"receive":85,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null},{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"unpkg.com/evm-chains/lib/index.js","fqdn":"unpkg.com","domain":"unpkg.com","tld":"com"},"ip":{"addr":"104.18.1.22","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://futurbcvndf.com/","date":"2026-07-27T06:23:00.506Z","timestamp":1785133380506,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"unpkg.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sat, 11 Jul 2026 17:56:32 GMT","end":"Fri, 09 Oct 2026 18:56:21 GMT"},"fingerprint":{"sha1":"81:08:7C:A2:AA:81:B4:77:02:EE:53:FB:23:6F:1D:97:C3:92:2E:A0","sha256":"13:42:07:B0:BF:53:83:27:C3:6E:69:00:B5:F0:1C:58:6C:AD:B4:DD:93:08:84:F0:97:51:3B:60:91:10:85:76"}}},"request":{"raw":"GET /evm-chains/lib/index.js HTTP/1.1\r\nHost: unpkg.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://futurbcvndf.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 302 \r\ndate: Mon, 27 Jul 2026 06:23:00 GMT\r\ncontent-type: text/plain;charset=UTF-8\r\ncontent-length: 45\r\nlocation: /evm-chains@0.2.0/lib/index.js\r\naccess-control-allow-origin: *\r\ncache-control: public, max-age=60, s-maxage=300\r\ncross-origin-resource-policy: cross-origin\r\nstrict-transport-security: max-age=31536000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\npriority: u=3,i=?0\r\nserver: cloudflare\r\ncf-ray: a2198d8c28f58deb-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"302","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":0,"size_decoded":0,"mime_type":"text/plain; charset=UTF-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-04T14:30:18.251771Z","times_seen":17709334,"resource_available":true,"data":null}},"time_used":16,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":16,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"futurbcvndf.com/static/image/nav/nav-2.png","fqdn":"futurbcvndf.com","domain":"futurbcvndf.com","tld":"com"},"ip":{"addr":"172.67.130.50","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://futurbcvndf.com/","date":"2026-07-27T06:23:01.078Z","timestamp":1785133381078,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"futurbcvndf.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 16 Jul 2026 16:36:02 GMT","end":"Wed, 14 Oct 2026 16:36:01 GMT"},"fingerprint":{"sha1":"46:2D:5F:F0:3D:BD:73:19:93:72:79:62:4A:45:03:09:5D:FB:1E:A5","sha256":"35:31:C4:67:1D:DB:68:C3:FB:49:03:14:DD:4E:76:FE:13:53:8D:98:98:2E:BE:EA:B8:CA:4F:B6:5B:7E:5C:1D"}}},"request":{"raw":"GET /static/image/nav/nav-2.png HTTP/1.1\r\nHost: futurbcvndf.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://futurbcvndf.com/\r\nCookie: angela_session=eyJpdiI6IlhnUEZEQ1hLNngxS0t2ZGN3TnJjV1E9PSIsInZhbHVlIjoiVGlYZUpmMXVPdEhuTGtoQzhTS3VXM3BIN3J4ZDZnU2dNTWxTc0NRcHNMTXFyNm1wQTZEQ0RKTWJ0UjRERWZ5aDBaQWxVaVdmN0VVQkNna0M2ZTJ2dTdFZkx3amdIYjZlQzEzMHozajVqTzMybnhMOHo1bEpuaXdQM1R3UVN4QmQiLCJtYWMiOiJiZWIyMTJlYzc4OWUzODk0ODBiOTI5NmU0MjA2MDBmZjJmYzA2MTI3ZjViNmY4NWYxNzIyNDI4MDhhYWMzZmI4In0%3D\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\nserver: cloudflare\r\ndate: Mon, 27 Jul 2026 06:23:01 GMT\r\ncontent-type: image/png\r\nserver-timing: cfExtPri\r\npriority: u=4,i\r\nlast-modified: Fri, 20 Jun 2025 15:49:45 GMT\r\netag: \"68558319-163\"\r\nstrict-transport-security: max-age=31536000\r\naccept-ranges: bytes\r\ncache-control: max-age=14400\r\ncf-cache-status: REVALIDATED\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=aWnC%2BJm4GS6XdfZzAMWTTODA76SUJ4GqeQLoqX4TYvQarDG4PHBdJUpOl340L8GvqmFO6vtjIgkUY1EswoIFkVQL5lfjw68VCikopjTjcfgsDofIV9B4lAD77kM%2Fdg3tHsg%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\ncf-ray: a2198d8fb9410daa-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\ncontent-length: 355\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":355,"size_decoded":1091,"mime_type":"image/png","magic":"PNG image data, 40 x 36, 8-bit/color RGBA, non-interlaced","md5":"bba6863c9929a3858b0fb3c77201ae8d","sha1":"f6d7dfa984b3ccf6d38d9d9051c0462578bfe9fc","sha256":"7519ccca854d4151acb7e3ef7546148612fa8be43bc7af75d98e29d65d7463fa","sha512":"9faabc908c44d52e21e308b116394e8fb4c12e31f3446b4bd8a7f5c7c418d4c064309f6c841614d018649652286b08d4ee6ebd1bf97134eae8fe3b0d9a090591","ssdeep":"","tlshash":"04e0c0c5f7e774c0d39223bf413e08260433c1ad3d55069ca31bcc55592b00b80c00d7","first_seen":"2023-05-20T12:09:29Z","last_seen":"2026-07-27T14:50:18.12163Z","times_seen":256,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAACgAAAAkCAYAAAD7PHgWAAABKklEQVRYhe2YzW0CMRCFv7VyRBFNoFACuUYoBaQaKkA0AwVkck9KIEoT+bvDAYPAWcxYHrMB+ZN88Hj2zdNKflptIyIUYgDMgLHfvwAT4CNF5MbY1JY74A3o79WegAdgBLxrhZytrx1TDs1t6fszNaUMjiNnjylCpQzeRs56KUKlDJpxlQYHwBz48mvua0VIjRmz+NCS+gbN4kNLqkGz+NCSatAsPrRc5S0+Kxdj8KzZ1sLR+Y2ItGUbwCd/s211YlCT2Aft2bqb7+gg2wKi8x0dZFtAdL6jg2wLiM6/mFv8b6kGc6kGc6kGc6kGc6kGc3HAd+T8N9hre800HZsfi8d4DvbaXjPNRkSGwCvtX7T3wHKvpu0103S+eQQsgB+/Fr62DB7S9ppprgHIBFY+AjYq0AAAAABJRU5ErkJggg=="}},"time_used":239,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":239,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null},{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"futurbcvndf.com/static/js/chunk-vendors.84b8efdd.js","fqdn":"futurbcvndf.com","domain":"futurbcvndf.com","tld":"com"},"ip":{"addr":"172.67.130.50","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://futurbcvndf.com/","date":"2026-07-27T06:23:00.110Z","timestamp":1785133380110,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"futurbcvndf.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 16 Jul 2026 16:36:02 GMT","end":"Wed, 14 Oct 2026 16:36:01 GMT"},"fingerprint":{"sha1":"46:2D:5F:F0:3D:BD:73:19:93:72:79:62:4A:45:03:09:5D:FB:1E:A5","sha256":"35:31:C4:67:1D:DB:68:C3:FB:49:03:14:DD:4E:76:FE:13:53:8D:98:98:2E:BE:EA:B8:CA:4F:B6:5B:7E:5C:1D"}}},"request":{"raw":"GET /static/js/chunk-vendors.84b8efdd.js HTTP/1.1\r\nHost: futurbcvndf.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://futurbcvndf.com/\r\nCookie: angela_session=eyJpdiI6IlhnUEZEQ1hLNngxS0t2ZGN3TnJjV1E9PSIsInZhbHVlIjoiVGlYZUpmMXVPdEhuTGtoQzhTS3VXM3BIN3J4ZDZnU2dNTWxTc0NRcHNMTXFyNm1wQTZEQ0RKTWJ0UjRERWZ5aDBaQWxVaVdmN0VVQkNna0M2ZTJ2dTdFZkx3amdIYjZlQzEzMHozajVqTzMybnhMOHo1bEpuaXdQM1R3UVN4QmQiLCJtYWMiOiJiZWIyMTJlYzc4OWUzODk0ODBiOTI5NmU0MjA2MDBmZjJmYzA2MTI3ZjViNmY4NWYxNzIyNDI4MDhhYWMzZmI4In0%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\nserver: cloudflare\r\ndate: Mon, 27 Jul 2026 06:23:00 GMT\r\ncontent-type: application/javascript\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=3,i=?0\r\nlast-modified: Fri, 20 Jun 2025 15:49:45 GMT\r\nvary: Accept-Encoding\r\netag: \"68558319-cb133\"\r\nstrict-transport-security: max-age=31536000\r\ncontent-encoding: gzip\r\ncache-control: max-age=14400\r\ncf-cache-status: REVALIDATED\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=rD6KsBNYxNtnBLspB8A1ze8n2r%2FIEBrDQmR34I8J2IolX039TaUYCBX8Vn9fGoFmSe8NJgrkn%2FcMVajrq6y6BdLPAzNTIyAWvSlLSzGFZA63pz61NHiCeM94boWpHYuT6RI%3D\"}]}\r\ncf-ray: a2198d89b8860daa-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":831795,"size_decoded":291129,"mime_type":"application/javascript","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (44268)","md5":"88f4b25091d0c3e79a216d1ed4dde828","sha1":"15476eb893f95e066550b05a904e2dcfaf0d3974","sha256":"125280d6dca64236baa8ac8bd95f8f0c08f55e0af776f40d34751e29308d1a22","sha512":"03aaec29a37f490370e5a65465f68cd7d7fec2de3b0e58062d867a619bd9103ae24ab36a7c7d7e295346bfa37c996273bce36c20408aa3a467de52c3073b8f82","ssdeep":"6144:f2QCHd/0f+zW8j1Z4BXtwTfFnRb/Cdbv+NT8rY3vm799a/hZxxvQzYKp//y2xIs:fusQcBdwTdgdb+t5w9UvQzD/v","tlshash":"d305f78df282b0b60be761b5403f220ba2376959b40ac4d4f675e4d4ad7894e2237f7d","first_seen":"2025-08-27T01:09:26.232186Z","last_seen":"2026-07-27T06:23:39.755335Z","times_seen":84,"resource_available":true,"data":"KHdpbmRvd1sid2VicGFja0pzb25wIl09d2luZG93WyJ3ZWJwYWNrSnNvbnAiXXx8W10pLnB1c2goW1siY2h1bmstdmVuZG9ycyJdLHsiMDBjMiI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCJiYjgwIiksaT1uKCIzMzhjIiksbz1uKCJmNjYwIiksYT1uKCIwMzZiIikuaW5kZXhPZixzPW4oIjExYmYiKSxjPXIoW10ucHVzaCk7dC5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIG4scj1vKHQpLHU9MCxsPVtdO2ZvcihuIGluIHIpIWkocyxuKSYmaShyLG4pJiZjKGwsbik7d2hpbGUoZS5sZW5ndGg+dSlpKHIsbj1lW3UrK10pJiYofmEobCxuKXx8YyhsLG4pKTtyZXR1cm4gbH19LCIwMGNhIjpmdW5jdGlvbih0LGUsbil7dmFyIHI9bigiNTZjOCIpLGk9bigiZGExZCIpLG89aS5jb25jYXQoImxlbmd0aCIsInByb3RvdHlwZSIpO2UuZj1PYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lc3x8ZnVuY3Rpb24odCl7cmV0dXJuIHIodCxvKX19LCIwMTczIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByLGksbz1uKCI4NWMxIiksYT1uKCIyOWQ4Iikscz1vLnByb2Nlc3MsYz1vLkRlbm8sdT1zJiZzLnZlcnNpb25zfHxjJiZjLnZlcnNpb24sbD11JiZ1LnY4O2wmJihyPWwuc3BsaXQoIi4iKSxpPXJbMF0+MCYmclswXTw0PzE6KyhyWzBdK3JbMV0pKSwhaSYmYSYmKHI9YS5tYXRjaCgvRWRnZVwvKFxkKykvKSwoIXJ8fHJbMV0+PTc0KSYmKHI9YS5tYXRjaCgvQ2hyb21lXC8oXGQrKS8pLHImJihpPStyWzFdKSkpLHQuZXhwb3J0cz1pfSwiMDFhMiI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtuKCIyMjNjIiksbigiZTVkNCIpLG4oIjA3NjgiKSxuKCJkNGI1IiksbigiNjk5NCIpfSwiMDM2YiI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCJmNjYwIiksaT1uKCJlMzRjIiksbz1uKCIxZmMxIiksYT1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSxuLGEpe3ZhciBzPXIoZSksYz1vKHMpO2lmKDA9PT1jKXJldHVybiF0JiYtMTt2YXIgdSxsPWkoYSxjKTtpZih0JiZuIT09bil7d2hpbGUoYz5sKWlmKHU9c1tsKytdLHUhPT11KXJldHVybiEwfWVsc2UgZm9yKDtjPmw7bCsrKWlmKCh0fHxsIGluIHMpJiZzW2xdPT09bilyZXR1cm4gdHx8bHx8MDtyZXR1cm4hdCYmLTF9fTt0LmV4cG9ydHM9e2luY2x1ZGVzOmEoITApLGluZGV4T2Y6YSghMSl9fSwiMDNhMCI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCJiYjgwIiksaT1uKCI0OTdiIiksbz1uKCI5ZTcwIiksYT1uKCI4NjJjIikscz1yKCIiLmNoYXJBdCksYz1yKCIiLmNoYXJDb2RlQXQpLHU9cigiIi5zbGljZSksbD1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSxuKXt2YXIgcixsLGY9byhhKGUpKSxkPWkobiksaD1mLmxlbmd0aDtyZXR1cm4gZDwwfHxkPj1oP3Q/IiI6dm9pZCAwOihyPWMoZixkKSxyPDU1Mjk2fHxyPjU2MzE5fHxkKzE9PT1ofHwobD1jKGYsZCsxKSk8NTYzMjB8fGw+NTczNDM/dD9zKGYsZCk6cjp0P3UoZixkLGQrMik6bC01NjMyMCsoci01NTI5Njw8MTApKzY1NTM2KX19O3QuZXhwb3J0cz17Y29kZUF0OmwoITEpLGNoYXJBdDpsKCEwKX19LCIwM2RjIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjAzYTAiKS5jaGFyQXQ7dC5leHBvcnRzPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gZSsobj9yKHQsZSkubGVuZ3RoOjEpfX0sIjA1MDYiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bigiNWM0NyIpO3ZhciByPW4oIjhiZGIiKSxpPW4oIjcxZTkiKSxvPW4oIjQ3NGYiKSxhPW4oImU3ZTMiKSxzPW4oIjllNzAiKSxjPWZ1bmN0aW9uKCl7dmFyIHQ9ITEsZT0vW2FjXS87cmV0dXJuIGUuZXhlYz1mdW5jdGlvbigpe3JldHVybiB0PSEwLC8uLy5leGVjLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sITA9PT1lLnRlc3QoImFiYyIpJiZ0fSgpLHU9Ly4vLnRlc3Q7cih7dGFyZ2V0OiJSZWdFeHAiLHByb3RvOiEwLGZvcmNlZDohY30se3Rlc3Q6ZnVuY3Rpb24odCl7dmFyIGU9YSh0aGlzKSxuPXModCkscj1lLmV4ZWM7aWYoIW8ocikpcmV0dXJuIGkodSxlLG4pO3ZhciBjPWkocixlLG4pO3JldHVybiBudWxsIT09YyYmKGEoYyksITApfX0pfSwiMDY5OSI6ZnVuY3Rpb24odCxlLG4pe3ZhciByPW4oImQxOTEiKSxpPW4oImQ1Y2EiKSxvPW4oImM2NDYiKSxhPW4oIjI5ZDUiKSxzPWEoInNwZWNpZXMiKTt0LmV4cG9ydHM9ZnVuY3Rpb24odCxlKXt2YXIgbixhPXIodCkuY29uc3RydWN0b3I7cmV0dXJuIHZvaWQgMD09PWF8fG8obj1yKGEpW3NdKT9lOmkobil9fSwiMDc2OCI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCI4YmRiIiksaT1uKCIzMzhjIiksbz1uKCJkZGQzIiksYT1uKCI1MmRmIikscz1uKCI4YjNiIiksYz1uKCI1YjJjIiksdT1zKCJzeW1ib2wtdG8tc3RyaW5nLXJlZ2lzdHJ5Iik7cih7dGFyZ2V0OiJTeW1ib2wiLHN0YXQ6ITAsZm9yY2VkOiFjfSx7a2V5Rm9yOmZ1bmN0aW9uKHQpe2lmKCFvKHQpKXRocm93IG5ldyBUeXBlRXJyb3IoYSh0KSsiIGlzIG5vdCBhIHN5bWJvbCIpO2lmKGkodSx0KSlyZXR1cm4gdVt0XX19KX0sIjA3ZGEiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiNzFlOSIpLGk9bigiZTdlMyIpLG89bigiNDc0ZiIpLGE9bigiYWRhNSIpLHM9bigiOWFkOCIpLGM9VHlwZUVycm9yO3QuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciBuPXQuZXhlYztpZihvKG4pKXt2YXIgdT1yKG4sdCxlKTtyZXR1cm4gbnVsbCE9PXUmJmkodSksdX1pZigiUmVnRXhwIj09PWEodCkpcmV0dXJuIHIocyx0LGUpO3Rocm93IG5ldyBjKCJSZWdFeHAjZXhlYyBjYWxsZWQgb24gaW5jb21wYXRpYmxlIHJlY2VpdmVyIil9fSwiMDhkNyI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCI4YmRiIiksaT1uKCI2YWM5Iik7cih7dGFyZ2V0OiJSZWZsZWN0IixzdGF0OiEwfSx7b3duS2V5czppfSl9LCIwOGViIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjhiZGIiKSxpPW4oIjNkNzciKSxvPW4oIjI5YmEiKSxhPSFvKChmdW5jdGlvbih0KXtBcnJheS5mcm9tKHQpfSkpO3Ioe3RhcmdldDoiQXJyYXkiLHN0YXQ6ITAsZm9yY2VkOmF9LHtmcm9tOml9KX0sIjA5MzEiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiOGMwOCIpLGk9cigibWF0Y2giKTt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7dmFyIGU9Ly4vO3RyeXsiLy4vIlt0XShlKX1jYXRjaChuKXt0cnl7cmV0dXJuIGVbaV09ITEsIi8uLyJbdF0oZSl9Y2F0Y2gocil7fX1yZXR1cm4hMX19LCIwYjVhIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3QuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3JldHVybntlbnVtZXJhYmxlOiEoMSZ0KSxjb25maWd1cmFibGU6ISgyJnQpLHdyaXRhYmxlOiEoNCZ0KSx2YWx1ZTplfX19LCIwYzI2IjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjhiZGIiKSxpPW4oImVlOTgiKS50cmltLG89bigiOGIyNyIpO3Ioe3RhcmdldDoiU3RyaW5nIixwcm90bzohMCxmb3JjZWQ6bygidHJpbSIpfSx7dHJpbTpmdW5jdGlvbigpe3JldHVybiBpKHRoaXMpfX0pfSwiMGNjMiI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCI4YmRiIiksaT1uKCI3MWU5Iiksbz1uKCJhNzM0IiksYT1uKCI4OTQ1Iikscz1uKCI0NzRmIiksYz1uKCI0YWZiIiksdT1uKCJjMzM3IiksbD1uKCI4YzRmIiksZj1uKCIxODFkIiksZD1uKCI2YWNhIiksaD1uKCI4MWE5IikscD1uKCI4YzA4Iiksdj1uKCI3OTlkIiksZz1uKCI1MDU3IiksbT1hLlBST1BFUixiPWEuQ09ORklHVVJBQkxFLHk9Zy5JdGVyYXRvclByb3RvdHlwZSxfPWcuQlVHR1lfU0FGQVJJX0lURVJBVE9SUyx3PXAoIml0ZXJhdG9yIikseD1mdW5jdGlvbigpe3JldHVybiB0aGlzfTt0LmV4cG9ydHM9ZnVuY3Rpb24odCxlLG4sYSxwLGcsUyl7YyhuLGUsYSk7dmFyIGssQyxPLFQ9ZnVuY3Rpb24odCl7aWYodD09PXAmJkkpcmV0dXJuIEk7aWYoIV8mJnQmJnQgaW4gailyZXR1cm4galt0XTtzd2l0Y2godCl7Y2FzZSJrZXlzIjpyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gbmV3IG4odGhpcyx0KX07Y2FzZSJ2YWx1ZXMiOnJldHVybiBmdW5jdGlvbigpe3JldHVybiBuZXcgbih0aGlzLHQpfTtjYXNlImVudHJpZXMiOnJldHVybiBmdW5jdGlvbigpe3JldHVybiBuZXcgbih0aGlzLHQpfX1yZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gbmV3IG4odGhpcyl9fSxFPWUrIiBJdGVyYXRvciIsQT0hMSxqPXQucHJvdG90eXBlLE09alt3XXx8alsiQEBpdGVyYXRvciJdfHxwJiZqW3BdLEk9IV8mJk18fFQocCksUD0iQXJyYXkiPT09ZSYmai5lbnRyaWVzfHxNO2lmKFAmJihrPXUoUC5jYWxsKG5ldyB0KSksayE9PU9iamVjdC5wcm90b3R5cGUmJmsubmV4dCYmKG98fHUoayk9PT15fHwobD9sKGsseSk6cyhrW3ddKXx8aChrLHcseCkpLGYoayxFLCEwLCEwKSxvJiYodltFXT14KSkpLG0mJiJ2YWx1ZXMiPT09cCYmTSYmInZhbHVlcyIhPT1NLm5hbWUmJighbyYmYj9kKGosIm5hbWUiLCJ2YWx1ZXMiKTooQT0hMCxJPWZ1bmN0aW9uKCl7cmV0dXJuIGkoTSx0aGlzKX0pKSxwKWlmKEM9e3ZhbHVlczpUKCJ2YWx1ZXMiKSxrZXlzOmc/STpUKCJrZXlzIiksZW50cmllczpUKCJlbnRyaWVzIil9LFMpZm9yKE8gaW4gQykoX3x8QXx8IShPIGluIGopKSYmaChqLE8sQ1tPXSk7ZWxzZSByKHt0YXJnZXQ6ZSxwcm90bzohMCxmb3JjZWQ6X3x8QX0sQyk7cmV0dXJuIG8mJiFTfHxqW3ddPT09SXx8aChqLHcsSSx7bmFtZTpwfSksdltlXT1JLEN9fSwiMGUzNiI6ZnVuY3Rpb24odCxlLG4pe3ZhciByPW4oImQ5NWIiKSxpPW4oImQ5NzAiKSxvPW4oIjFlNWQiKSxhPWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihlLG4sYSl7dmFyIHMsYz1yKGUpLHU9byhjKSxsPWkoYSx1KTtpZih0JiZuIT1uKXt3aGlsZSh1PmwpaWYocz1jW2wrK10scyE9cylyZXR1cm4hMH1lbHNlIGZvcig7dT5sO2wrKylpZigodHx8bCBpbiBjKSYmY1tsXT09PW4pcmV0dXJuIHR8fGx8fDA7cmV0dXJuIXQmJi0xfX07dC5leHBvcnRzPXtpbmNsdWRlczphKCEwKSxpbmRleE9mOmEoITEpfX0sIjBlNDAiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiODZjYSIpO3QuZXhwb3J0cz1NYXRoLmZyb3VuZHx8ZnVuY3Rpb24odCl7cmV0dXJuIHIodCwxLjE5MjA5Mjg5NTUwNzgxMjVlLTcsMzQwMjgyMzQ2NjM4NTI4ODZlMjIsMTE3NTQ5NDM1MDgyMjI4NzVlLTU0KX19LCIwZWU0IjpmdW5jdGlvbih0LGUpe3ZhciBuO249ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30oKTt0cnl7bj1ufHxuZXcgRnVuY3Rpb24oInJldHVybiB0aGlzIikoKX1jYXRjaChyKXsib2JqZWN0Ij09PXR5cGVvZiB3aW5kb3cmJihuPXdpbmRvdyl9dC5leHBvcnRzPW59LDEwMDE6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCJiYjgwIiksaT1uKCIxMDk5Iiksbz1NYXRoLmZsb29yLGE9cigiIi5jaGFyQXQpLHM9cigiIi5yZXBsYWNlKSxjPXIoIiIuc2xpY2UpLHU9L1wkKFskJidgXXxcZHsxLDJ9fDxbXj5dKj4pL2csbD0vXCQoWyQmJ2BdfFxkezEsMn0pL2c7dC5leHBvcnRzPWZ1bmN0aW9uKHQsZSxuLHIsZixkKXt2YXIgaD1uK3QubGVuZ3RoLHA9ci5sZW5ndGgsdj1sO3JldHVybiB2b2lkIDAhPT1mJiYoZj1pKGYpLHY9dSkscyhkLHYsKGZ1bmN0aW9uKGkscyl7dmFyIHU7c3dpdGNoKGEocywwKSl7Y2FzZSIkIjpyZXR1cm4iJCI7Y2FzZSImIjpyZXR1cm4gdDtjYXNlImAiOnJldHVybiBjKGUsMCxuKTtjYXNlIiciOnJldHVybiBjKGUsaCk7Y2FzZSI8Ijp1PWZbYyhzLDEsLTEpXTticmVhaztkZWZhdWx0OnZhciBsPStzO2lmKDA9PT1sKXJldHVybiBpO2lmKGw+cCl7dmFyIGQ9byhsLzEwKTtyZXR1cm4gMD09PWQ/aTpkPD1wP3ZvaWQgMD09PXJbZC0xXT9hKHMsMSk6cltkLTFdK2EocywxKTppfXU9cltsLTFdfXJldHVybiB2b2lkIDA9PT11PyIiOnV9KSl9fSwxMDk5OmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiODYyYyIpLGk9T2JqZWN0O3QuZXhwb3J0cz1mdW5jdGlvbih0KXtyZXR1cm4gaShyKHQpKX19LCIxMTRlIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjg1YzEiKSxpPW4oIjE4MWQiKTtpKHIuSlNPTiwiSlNPTiIsITApfSwiMTFiZiI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt0LmV4cG9ydHM9e319LDEyOTc6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCJiYjgwIik7dC5leHBvcnRzPXIoe30uaXNQcm90b3R5cGVPZil9LDEyOTczOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiN2RkYiIpLGk9ci5hVHlwZWRBcnJheSxvPXIuZXhwb3J0VHlwZWRBcnJheU1ldGhvZCxhPU1hdGguZmxvb3I7bygicmV2ZXJzZSIsKGZ1bmN0aW9uKCl7dmFyIHQsZT1pKHRoaXMpLmxlbmd0aCxuPWEoZS8yKSxyPTA7d2hpbGUocjxuKXQ9dGhpc1tyXSx0aGlzW3IrK109dGhpc1stLWVdLHRoaXNbZV09dDtyZXR1cm4gdGhpc30pKX0sMTQ4MDpmdW5jdGlvbih0LGUsbil7dmFyIHI9bigiNTA4ZCIpLGk9bigiZTRhOSIpO3Ioe3RhcmdldDoiT2JqZWN0IixzdGF0OiEwLGFyaXR5OjIsZm9yY2VkOk9iamVjdC5hc3NpZ24hPT1pfSx7YXNzaWduOml9KX0sIjE0YmQiOmZ1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKGUpe3JldHVybiB0LmV4cG9ydHM9cj1PYmplY3Quc2V0UHJvdG90eXBlT2Y/T2JqZWN0LmdldFByb3RvdHlwZU9mLmJpbmQoKTpmdW5jdGlvbih0KXtyZXR1cm4gdC5fX3Byb3RvX198fE9iamVjdC5nZXRQcm90b3R5cGVPZih0KX0sdC5leHBvcnRzLl9fZXNNb2R1bGU9ITAsdC5leHBvcnRzWyJkZWZhdWx0Il09dC5leHBvcnRzLHIoZSl9bigiOGE4ZCIpLG4oIjkyNmUiKSx0LmV4cG9ydHM9cix0LmV4cG9ydHMuX19lc01vZHVsZT0hMCx0LmV4cG9ydHNbImRlZmF1bHQiXT10LmV4cG9ydHN9LDE1MDE6ZnVuY3Rpb24odCxlLG4pe3ZhciByPW4oIjY2YjEiKSxpPU1hdGgubWluO3QuZXhwb3J0cz1mdW5jdGlvbih0KXtyZXR1cm4gdD4wP2kocih0KSw5MDA3MTk5MjU0NzQwOTkxKTowfX0sMTUzNTpmdW5jdGlvbih0LGUsbil7dmFyIHI9bigiN2FhNiIpLGk9bigiZmRjYSIpLG89LyN8XC5wcm90b3R5cGVcLi8sYT1mdW5jdGlvbih0LGUpe3ZhciBuPWNbcyh0KV07cmV0dXJuIG49PWx8fG4hPXUmJihpKGUpP3IoZSk6ISFlKX0scz1hLm5vcm1hbGl6ZT1mdW5jdGlvbih0KXtyZXR1cm4gU3RyaW5nKHQpLnJlcGxhY2UobywiLiIpLnRvTG93ZXJDYXNlKCl9LGM9YS5kYXRhPXt9LHU9YS5OQVRJVkU9Ik4iLGw9YS5QT0xZRklMTD0iUCI7dC5leHBvcnRzPWF9LCIxNWQxIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjhiZGIiKSxpPW4oIjg1YzEiKSxvPW4oIjZhYTYiKSxhPW4oImJiODAiKSxzPW4oIjcxZTkiKSxjPW4oImFmOWUiKSx1PW4oIjllNzAiKSxsPW4oIjdmMjgiKSxmPW4oIjNiMTkiKS5jMmksZD0vW15cZCsvYS16XS9pLGg9L1tcdFxuXGZcciBdKy9nLHA9L1s9XXsxLDJ9JC8sdj1vKCJhdG9iIiksZz1TdHJpbmcuZnJvbUNoYXJDb2RlLG09YSgiIi5jaGFyQXQpLGI9YSgiIi5yZXBsYWNlKSx5PWEoZC5leGVjKSxfPSEhdiYmIWMoKGZ1bmN0aW9uKCl7cmV0dXJuImhpIiE9PXYoImFHaz0iKX0pKSx3PV8mJmMoKGZ1bmN0aW9uKCl7cmV0dXJuIiIhPT12KCIgIil9KSkseD1fJiYhYygoZnVuY3Rpb24oKXt2KCJhIil9KSksUz1fJiYhYygoZnVuY3Rpb24oKXt2KCl9KSksaz1fJiYxIT09di5sZW5ndGgsQz0hX3x8d3x8eHx8U3x8aztyKHtnbG9iYWw6ITAsYmluZDohMCxlbnVtZXJhYmxlOiEwLGZvcmNlZDpDfSx7YXRvYjpmdW5jdGlvbih0KXtpZihsKGFyZ3VtZW50cy5sZW5ndGgsMSksXyYmIXcmJiF4KXJldHVybiBzKHYsaSx0KTt2YXIgZSxuLHIsYT1iKHUodCksaCwiIiksYz0iIixTPTAsaz0wO2lmKGEubGVuZ3RoJTQ9PT0wJiYoYT1iKGEscCwiIikpLGU9YS5sZW5ndGgsZSU0PT09MXx8eShkLGEpKXRocm93IG5ldyhvKCJET01FeGNlcHRpb24iKSkoIlRoZSBzdHJpbmcgaXMgbm90IGNvcnJlY3RseSBlbmNvZGVkIiwiSW52YWxpZENoYXJhY3RlckVycm9yIik7d2hpbGUoUzxlKW49bShhLFMrKykscj1rJTQ/NjQqcitmW25dOmZbbl0saysrJTQmJihjKz1nKDI1NSZyPj4oLTIqayY2KSkpO3JldHVybiBjfX0pfSwiMTc1ZiI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCI2YWE2IiksaT1uKCIzMzhjIiksbz1uKCI2YWNhIiksYT1uKCIxMjk3Iikscz1uKCI4YzRmIiksYz1uKCIzZDhhIiksdT1uKCJlMTU3IiksbD1uKCJkY2RhIiksZj1uKCJlN2RhIiksZD1uKCI1MzMwIiksaD1uKCI4Y2IxIikscD1uKCJhYjRhIiksdj1uKCJhNzM0Iik7dC5leHBvcnRzPWZ1bmN0aW9uKHQsZSxuLGcpe3ZhciBtPWc/MjoxLGI9dC5zcGxpdCgiLiIpLHk9YltiLmxlbmd0aC0xXSxfPXIuYXBwbHkobnVsbCxiKTtpZihfKXt2YXIgdz1fLnByb3RvdHlwZTtpZighdiYmaSh3LCJjYXVzZSIpJiZkZWxldGUgdy5jYXVzZSwhbilyZXR1cm4gXzt2YXIgeD1yKCJFcnJvciIpLFM9ZSgoZnVuY3Rpb24odCxlKXt2YXIgbj1mKGc/ZTp0LHZvaWQgMCkscj1nP25ldyBfKHQpOm5ldyBfO3JldHVybiB2b2lkIDAhPT1uJiZvKHIsIm1lc3NhZ2UiLG4pLGgocixTLHIuc3RhY2ssMiksdGhpcyYmYSh3LHRoaXMpJiZsKHIsdGhpcyxTKSxhcmd1bWVudHMubGVuZ3RoPm0mJmQocixhcmd1bWVudHNbbV0pLHJ9KSk7aWYoUy5wcm90b3R5cGU9dywiRXJyb3IiIT09eT9zP3MoUyx4KTpjKFMseCx7bmFtZTohMH0pOnAmJiJzdGFja1RyYWNlTGltaXQiaW4gXyYmKHUoUyxfLCJzdGFja1RyYWNlTGltaXQiKSx1KFMsXywicHJlcGFyZVN0YWNrVHJhY2UiKSksYyhTLF8pLCF2KXRyeXt3Lm5hbWUhPT15JiZvKHcsIm5hbWUiLHkpLHcuY29uc3RydWN0b3I9U31jYXRjaChrKXt9cmV0dXJuIFN9fX0sIjE3N2YiOmZ1bmN0aW9uKHQsZSxuKXt2YXIgcj1uKCI4NWU1IiksaT1uKCJkMTBhIik7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe2lmKCJGdW5jdGlvbiI9PT1yKHQpKXJldHVybiBpKHQpfX0sIjE3ZmMiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiYWM1ZiIpLGk9bigiOGFlMiIpLG89bigiMWMwNiIpLGE9bigiOGMwOCIpLHM9YSgic3BlY2llcyIpLGM9QXJyYXk7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlO3JldHVybiByKHQpJiYoZT10LmNvbnN0cnVjdG9yLGkoZSkmJihlPT09Y3x8cihlLnByb3RvdHlwZSkpP2U9dm9pZCAwOm8oZSkmJihlPWVbc10sbnVsbD09PWUmJihlPXZvaWQgMCkpKSx2b2lkIDA9PT1lP2M6ZX19LCIxODFkIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oImQ2YjEiKS5mLGk9bigiMzM4YyIpLG89bigiOGMwOCIpLGE9bygidG9TdHJpbmdUYWciKTt0LmV4cG9ydHM9ZnVuY3Rpb24odCxlLG4pe3QmJiFuJiYodD10LnByb3RvdHlwZSksdCYmIWkodCxhKSYmcih0LGEse2NvbmZpZ3VyYWJsZTohMCx2YWx1ZTplfSl9fSwxODUxOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiOGJkYiIpLGk9bigiODRkNiIpLG89bigiMWNiNSIpO3Ioe3RhcmdldDoiQXJyYXkiLHByb3RvOiEwfSx7ZmlsbDppfSksbygiZmlsbCIpfSwiMThlNCI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtuKCI2YTU0IiksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGUuZGVmYXVsdD1mdW5jdGlvbih0KXt2YXIgZT0oMCxpLmRlZmF1bHQpKHQsInN0cmluZyIpO3JldHVybiJzeW1ib2wiPT09KDAsci5kZWZhdWx0KShlKT9lOlN0cmluZyhlKX07dmFyIHI9byhuKCJmY2YzIikpLGk9byhuKCJmYWIwIikpO2Z1bmN0aW9uIG8odCl7cmV0dXJuIHQmJnQuX19lc01vZHVsZT90OntkZWZhdWx0OnR9fX0sIjE4ZjciOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiMDNhMCIpLmNoYXJBdCxpPW4oIjllNzAiKSxvPW4oIjIzNWMiKSxhPW4oIjBjYzIiKSxzPW4oIjk3ZWQiKSxjPW8uc2V0LHU9by5nZXR0ZXJGb3IoIlN0cmluZyBJdGVyYXRvciIpO2EoU3RyaW5nLCJTdHJpbmciLChmdW5jdGlvbih0KXtjKHRoaXMse3R5cGU6IlN0cmluZyBJdGVyYXRvciIsc3RyaW5nOmkodCksaW5kZXg6MH0pfSksKGZ1bmN0aW9uKCl7dmFyIHQsZT11KHRoaXMpLG49ZS5zdHJpbmcsaT1lLmluZGV4O3JldHVybiBpPj1uLmxlbmd0aD9zKHZvaWQgMCwhMCk6KHQ9cihuLGkpLGUuaW5kZXgrPXQubGVuZ3RoLHModCwhMSkpfSkpfSwxOTU0OmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiODVjMSIpLGk9bigiOWY5ZSIpLG89bigiN2RkYiIpLGE9bigiYWY5ZSIpLHM9bigiMzdhZCIpLGM9ci5JbnQ4QXJyYXksdT1vLmFUeXBlZEFycmF5LGw9by5leHBvcnRUeXBlZEFycmF5TWV0aG9kLGY9W10udG9Mb2NhbGVTdHJpbmcsZD0hIWMmJmEoKGZ1bmN0aW9uKCl7Zi5jYWxsKG5ldyBjKDEpKX0pKSxoPWEoKGZ1bmN0aW9uKCl7cmV0dXJuWzEsMl0udG9Mb2NhbGVTdHJpbmcoKSE9PW5ldyBjKFsxLDJdKS50b0xvY2FsZVN0cmluZygpfSkpfHwhYSgoZnVuY3Rpb24oKXtjLnByb3RvdHlwZS50b0xvY2FsZVN0cmluZy5jYWxsKFsxLDJdKX0pKTtsKCJ0b0xvY2FsZVN0cmluZyIsKGZ1bmN0aW9uKCl7cmV0dXJuIGkoZixkP3ModSh0aGlzKSk6dSh0aGlzKSxzKGFyZ3VtZW50cykpfSksaCl9LDE5NTk6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCI1MDhkIiksaT1uKCJkN2I4Iiksbz1uKCJmMGI1IiksYT1uKCJmNDM5Iikscz1uKCJhNWM2IiksYz1uKCI3YzI2IiksdT1uKCI1OWY4Iik7cih7dGFyZ2V0OiJQcm9taXNlIixzdGF0OiEwLGZvcmNlZDp1fSx7YWxsOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMsbj1hLmYoZSkscj1uLnJlc29sdmUsdT1uLnJlamVjdCxsPXMoKGZ1bmN0aW9uKCl7dmFyIG49byhlLnJlc29sdmUpLGE9W10scz0wLGw9MTtjKHQsKGZ1bmN0aW9uKHQpe3ZhciBvPXMrKyxjPSExO2wrKyxpKG4sZSx0KS50aGVuKChmdW5jdGlvbih0KXtjfHwoYz0hMCxhW29dPXQsLS1sfHxyKGEpKX0pLHUpfSkpLC0tbHx8cihhKX0pKTtyZXR1cm4gbC5lcnJvciYmdShsLnZhbHVlKSxuLnByb21pc2V9fSl9LCIxOThlIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjdkZGIiKSxpPW4oIjMyM2MiKSxvPW4oImFmOWUiKSxhPW4oIjM3YWQiKSxzPXIuYVR5cGVkQXJyYXksYz1yLmV4cG9ydFR5cGVkQXJyYXlNZXRob2QsdT1vKChmdW5jdGlvbigpe25ldyBJbnQ4QXJyYXkoMSkuc2xpY2UoKX0pKTtjKCJzbGljZSIsKGZ1bmN0aW9uKHQsZSl7dmFyIG49YShzKHRoaXMpLHQsZSkscj1pKHRoaXMpLG89MCxjPW4ubGVuZ3RoLHU9bmV3IHIoYyk7d2hpbGUoYz5vKXVbb109bltvKytdO3JldHVybiB1fSksdSl9LCIxYThhIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oImYyNTkiKTtyKCJzcGVjaWVzIil9LCIxYWFkIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPU1hdGguY2VpbCxpPU1hdGguZmxvb3I7dC5leHBvcnRzPU1hdGgudHJ1bmN8fGZ1bmN0aW9uKHQpe3ZhciBlPSt0O3JldHVybihlPjA/aTpyKShlKX19LCIxYWQ3IjpmdW5jdGlvbih0LGUsbil7dmFyIHI9bigiN2FhNiIpO3QuZXhwb3J0cz0hcigoZnVuY3Rpb24oKXt2YXIgdD1mdW5jdGlvbigpe30uYmluZCgpO3JldHVybiJmdW5jdGlvbiIhPXR5cGVvZiB0fHx0Lmhhc093blByb3BlcnR5KCJwcm90b3R5cGUiKX0pKX0sIjFhZTMiOmZ1bmN0aW9uKHQsZSxuKXt2YXIgcj1uKCJmZGNhIiksaT1uKCJjMmQ3Iiksbz1pLmFsbDt0LmV4cG9ydHM9aS5JU19IVE1MRERBP2Z1bmN0aW9uKHQpe3JldHVybiJvYmplY3QiPT10eXBlb2YgdD9udWxsIT09dDpyKHQpfHx0PT09b306ZnVuY3Rpb24odCl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiB0P251bGwhPT10OnIodCl9fSwiMWI4ZSI6ZnVuY3Rpb24odCxlLG4pe3ZhciByPW4oIjcyMGQiKSxpPW4oIjIxOGQiKSxvPW4oImM2NDYiKSxhPW4oImQ0NTkiKSxzPW4oIjI5ZDUiKSxjPXMoIml0ZXJhdG9yIik7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe2lmKCFvKHQpKXJldHVybiBpKHQsYyl8fGkodCwiQEBpdGVyYXRvciIpfHxhW3IodCldfX0sIjFjMDYiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiNDc0ZiIpO3QuZXhwb3J0cz1mdW5jdGlvbih0KXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIHQ/bnVsbCE9PXQ6cih0KX19LCIxYzE2IjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjNjN2EiKSxpPVJhbmdlRXJyb3I7dC5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIG49cih0KTtpZihuJWUpdGhyb3cgbmV3IGkoIldyb25nIG9mZnNldCIpO3JldHVybiBufX0sIjFjYjUiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiOGMwOCIpLGk9bigiZTM3YyIpLG89bigiZDZiMSIpLmYsYT1yKCJ1bnNjb3BhYmxlcyIpLHM9QXJyYXkucHJvdG90eXBlO3ZvaWQgMD09PXNbYV0mJm8ocyxhLHtjb25maWd1cmFibGU6ITAsdmFsdWU6aShudWxsKX0pLHQuZXhwb3J0cz1mdW5jdGlvbih0KXtzW2FdW3RdPSEwfX0sIjFjZjEiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiN2RkYiIpLmV4cG9ydFR5cGVkQXJyYXlNZXRob2QsaT1uKCJhZjllIiksbz1uKCI4NWMxIiksYT1uKCJiYjgwIikscz1vLlVpbnQ4QXJyYXksYz1zJiZzLnByb3RvdHlwZXx8e30sdT1bXS50b1N0cmluZyxsPWEoW10uam9pbik7aSgoZnVuY3Rpb24oKXt1LmNhbGwoe30pfSkpJiYodT1mdW5jdGlvbigpe3JldHVybiBsKHRoaXMpfSk7dmFyIGY9Yy50b1N0cmluZyE9PXU7cigidG9TdHJpbmciLHUsZil9LCIxZDE4IjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO24oIjZhNTQiKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksZS5kZWZhdWx0PWZ1bmN0aW9uKHQsZSl7dmFyIG49bnVsbD09dD9udWxsOiJ1bmRlZmluZWQiIT10eXBlb2YgU3ltYm9sJiZ0W1N5bWJvbC5pdGVyYXRvcl18fHRbIkBAaXRlcmF0b3IiXTtpZihudWxsIT1uKXt2YXIgcixpLG8sYSxzPVtdLGM9ITAsdT0hMTt0cnl7aWYobz0obj1uLmNhbGwodCkpLm5leHQsMD09PWUpe2lmKE9iamVjdChuKSE9PW4pcmV0dXJuO2M9ITF9ZWxzZSBmb3IoOyEoYz0ocj1vLmNhbGwobikpLmRvbmUpJiYocy5wdXNoKHIudmFsdWUpLHMubGVuZ3RoIT09ZSk7Yz0hMCk7fWNhdGNoKGwpe3U9ITAsaT1sfWZpbmFsbHl7dHJ5e2lmKCFjJiZudWxsIT1uWyJyZXR1cm4iXSYmKGE9blsicmV0dXJuIl0oKSxPYmplY3QoYSkhPT1hKSlyZXR1cm59ZmluYWxseXtpZih1KXRocm93IGl9fXJldHVybiBzfX0sbigiMDFhMiIpLG4oImUzOWMiKSxuKCJiZjBmIiksbigiODQ0ZCIpLG4oIjE4ZjciKSxuKCJkZTZjIiksbigiYWE5YyIpfSwiMWQ1NyI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCJhZjllIik7dC5leHBvcnRzPSFyKChmdW5jdGlvbigpe2Z1bmN0aW9uIHQoKXt9cmV0dXJuIHQucHJvdG90eXBlLmNvbnN0cnVjdG9yPW51bGwsT2JqZWN0LmdldFByb3RvdHlwZU9mKG5ldyB0KSE9PXQucHJvdG90eXBlfSkpfSwiMWRlZCI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCJhYjRhIiksaT1uKCI3MWU5Iiksbz1uKCIzNDZiIiksYT1uKCIwYjVhIikscz1uKCJmNjYwIiksYz1uKCJmOWVkIiksdT1uKCIzMzhjIiksbD1uKCIyYmE3IiksZj1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yO2UuZj1yP2Y6ZnVuY3Rpb24odCxlKXtpZih0PXModCksZT1jKGUpLGwpdHJ5e3JldHVybiBmKHQsZSl9Y2F0Y2gobil7fWlmKHUodCxlKSlyZXR1cm4gYSghaShvLmYsdCxlKSx0W2VdKX19LCIxZTRmIjpmdW5jdGlvbih0LGUsbil7dmFyIHI9bigiMjlkNSIpLGk9bigiZDQ1OSIpLG89cigiaXRlcmF0b3IiKSxhPUFycmF5LnByb3RvdHlwZTt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIHZvaWQgMCE9PXQmJihpLkFycmF5PT09dHx8YVtvXT09PXQpfX0sIjFlNWQiOmZ1bmN0aW9uKHQsZSxuKXt2YXIgcj1uKCIxNTAxIik7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiByKHQubGVuZ3RoKX19LCIxZWEyIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oImFmOWUiKSxpPW4oIjFjMDYiKSxvPW4oImFkYTUiKSxhPW4oIjVkNmUiKSxzPU9iamVjdC5pc0V4dGVuc2libGUsYz1yKChmdW5jdGlvbigpe3MoMSl9KSk7dC5leHBvcnRzPWN8fGE/ZnVuY3Rpb24odCl7cmV0dXJuISFpKHQpJiYoKCFhfHwiQXJyYXlCdWZmZXIiIT09byh0KSkmJighc3x8cyh0KSkpfTpzfSwiMWViOCI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIG51bGw9PT10fHx2b2lkIDA9PT10fX0sIjFmYWEiOmZ1bmN0aW9uKHQsZSxuKXt2YXIgcj1uKCI3YWE2Iik7dC5leHBvcnRzPSFyKChmdW5jdGlvbigpe3JldHVybiA3IT1PYmplY3QuZGVmaW5lUHJvcGVydHkoe30sMSx7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIDd9fSlbMV19KSl9LCIxZmMxIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oImM0MzUiKTt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIHIodC5sZW5ndGgpfX0sIjIwZjMiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiOGJkYiIpLGk9bigiNTE0NSIpO3Ioe3RhcmdldDoiQXJyYXkiLHByb3RvOiEwLGZvcmNlZDppIT09W10ubGFzdEluZGV4T2Z9LHtsYXN0SW5kZXhPZjppfSl9LCIyMThkIjpmdW5jdGlvbih0LGUsbil7dmFyIHI9bigiZjBiNSIpLGk9bigiYzY0NiIpO3QuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciBuPXRbZV07cmV0dXJuIGkobik/dm9pZCAwOnIobil9fSwiMjIzYyI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCI4YmRiIiksaT1uKCI4NWMxIiksbz1uKCI3MWU5IiksYT1uKCJiYjgwIikscz1uKCJhNzM0IiksYz1uKCJhYjRhIiksdT1uKCJhZjcxIiksbD1uKCJhZjllIiksZj1uKCIzMzhjIiksZD1uKCIxMjk3IiksaD1uKCJlN2UzIikscD1uKCJmNjYwIiksdj1uKCJmOWVkIiksZz1uKCI5ZTcwIiksbT1uKCIwYjVhIiksYj1uKCJlMzdjIikseT1uKCJmZjRmIiksXz1uKCI4MGJiIiksdz1uKCI4NDQ5IikseD1uKCI3ZDNjIiksUz1uKCIxZGVkIiksaz1uKCJkNmIxIiksQz1uKCJhM2ZiIiksTz1uKCIzNDZiIiksVD1uKCI4MWE5IiksRT1uKCJlNGNhIiksQT1uKCI4YjNiIiksaj1uKCJiMjIzIiksTT1uKCIxMWJmIiksST1uKCJkN2I0IiksUD1uKCI4YzA4IiksJD1uKCI5OTE3IiksTD1uKCJmMjU5IiksUj1uKCJlZmZiIiksTj1uKCIxODFkIiksRD1uKCIyMzVjIiksQj1uKCI0ZDE2IikuZm9yRWFjaCxGPWooImhpZGRlbiIpLHo9RC5zZXQsVz1ELmdldHRlckZvcigiU3ltYm9sIiksSD1PYmplY3RbInByb3RvdHlwZSJdLFU9aS5TeW1ib2wsVj1VJiZVWyJwcm90b3R5cGUiXSxxPWkuUmFuZ2VFcnJvcixZPWkuVHlwZUVycm9yLFg9aS5RT2JqZWN0LEc9Uy5mLFE9ay5mLEs9dy5mLEo9Ty5mLFo9YShbXS5wdXNoKSx0dD1BKCJzeW1ib2xzIiksZXQ9QSgib3Atc3ltYm9scyIpLG50PUEoIndrcyIpLHJ0PSFYfHwhWFsicHJvdG90eXBlIl18fCFYWyJwcm90b3R5cGUiXS5maW5kQ2hpbGQsaXQ9ZnVuY3Rpb24odCxlLG4pe3ZhciByPUcoSCxlKTtyJiZkZWxldGUgSFtlXSxRKHQsZSxuKSxyJiZ0IT09SCYmUShILGUscil9LG90PWMmJmwoKGZ1bmN0aW9uKCl7cmV0dXJuIDchPT1iKFEoe30sImEiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gUSh0aGlzLCJhIix7dmFsdWU6N30pLmF9fSkpLmF9KSk/aXQ6USxhdD1mdW5jdGlvbih0LGUpe3ZhciBuPXR0W3RdPWIoVik7cmV0dXJuIHoobix7dHlwZToiU3ltYm9sIix0YWc6dCxkZXNjcmlwdGlvbjplfSksY3x8KG4uZGVzY3JpcHRpb249ZSksbn0sc3Q9ZnVuY3Rpb24odCxlLG4pe3Q9PT1IJiZzdChldCxlLG4pLGgodCk7dmFyIHI9dihlKTtyZXR1cm4gaChuKSxmKHR0LHIpPyhuLmVudW1lcmFibGU/KGYodCxGKSYmdFtGXVtyXSYmKHRbRl1bcl09ITEpLG49YihuLHtlbnVtZXJhYmxlOm0oMCwhMSl9KSk6KGYodCxGKXx8USh0LEYsbSgxLGIobnVsbCkpKSx0W0ZdW3JdPSEwKSxvdCh0LHIsbikpOlEodCxyLG4pfSxjdD1mdW5jdGlvbih0LGUpe2godCk7dmFyIG49cChlKSxyPXkobikuY29uY2F0KGR0KG4pKTtyZXR1cm4gQihyLChmdW5jdGlvbihlKXtjJiYhbyh1dCxuLGUpfHxzdCh0LGUsbltlXSl9KSksdH0sdXQ9ZnVuY3Rpb24odCl7dmFyIGU9dih0KSxuPW8oSix0aGlzLGUpO3JldHVybiEodGhpcz09PUgmJmYodHQsZSkmJiFmKGV0LGUpKSYmKCEobnx8IWYodGhpcyxlKXx8IWYodHQsZSl8fGYodGhpcyxGKSYmdGhpc1tGXVtlXSl8fG4pfSxsdD1mdW5jdGlvbih0LGUpe3ZhciBuPXAodCkscj12KGUpO2lmKG4hPT1IfHwhZih0dCxyKXx8ZihldCxyKSl7dmFyIGk9RyhuLHIpO3JldHVybiFpfHwhZih0dCxyKXx8ZihuLEYpJiZuW0ZdW3JdfHwoaS5lbnVtZXJhYmxlPSEwKSxpfX0sZnQ9ZnVuY3Rpb24odCl7dmFyIGU9SyhwKHQpKSxuPVtdO3JldHVybiBCKGUsKGZ1bmN0aW9uKHQpe2YodHQsdCl8fGYoTSx0KXx8WihuLHQpfSkpLG59LGR0PWZ1bmN0aW9uKHQpe3ZhciBlPXQ9PT1ILG49SyhlP2V0OnAodCkpLHI9W107cmV0dXJuIEIobiwoZnVuY3Rpb24odCl7IWYodHQsdCl8fGUmJiFmKEgsdCl8fFoocix0dFt0XSl9KSkscn07dXx8KFU9ZnVuY3Rpb24oKXtpZihkKFYsdGhpcykpdGhyb3cgbmV3IFkoIlN5bWJvbCBpcyBub3QgYSBjb25zdHJ1Y3RvciIpO3ZhciB0PWFyZ3VtZW50cy5sZW5ndGgmJnZvaWQgMCE9PWFyZ3VtZW50c1swXT9nKGFyZ3VtZW50c1swXSk6dm9pZCAwLGU9SSh0KSxuPWZ1bmN0aW9uKHQpe3ZhciByPXZvaWQgMD09PXRoaXM/aTp0aGlzO3I9PT1IJiZvKG4sZXQsdCksZihyLEYpJiZmKHJbRl0sZSkmJihyW0ZdW2VdPSExKTt2YXIgYT1tKDEsdCk7dHJ5e290KHIsZSxhKX1jYXRjaChzKXtpZighKHMgaW5zdGFuY2VvZiBxKSl0aHJvdyBzO2l0KHIsZSxhKX19O3JldHVybiBjJiZydCYmb3QoSCxlLHtjb25maWd1cmFibGU6ITAsc2V0Om59KSxhdChlLHQpfSxWPVVbInByb3RvdHlwZSJdLFQoViwidG9TdHJpbmciLChmdW5jdGlvbigpe3JldHVybiBXKHRoaXMpLnRhZ30pKSxUKFUsIndpdGhvdXRTZXR0ZXIiLChmdW5jdGlvbih0KXtyZXR1cm4gYXQoSSh0KSx0KX0pKSxPLmY9dXQsay5mPXN0LEMuZj1jdCxTLmY9bHQsXy5mPXcuZj1mdCx4LmY9ZHQsJC5mPWZ1bmN0aW9uKHQpe3JldHVybiBhdChQKHQpLHQpfSxjJiYoRShWLCJkZXNjcmlwdGlvbiIse2NvbmZpZ3VyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gVyh0aGlzKS5kZXNjcmlwdGlvbn19KSxzfHxUKEgsInByb3BlcnR5SXNFbnVtZXJhYmxlIix1dCx7dW5zYWZlOiEwfSkpKSxyKHtnbG9iYWw6ITAsY29uc3RydWN0b3I6ITAsd3JhcDohMCxmb3JjZWQ6IXUsc2hhbTohdX0se1N5bWJvbDpVfSksQih5KG50KSwoZnVuY3Rpb24odCl7TCh0KX0pKSxyKHt0YXJnZXQ6IlN5bWJvbCIsc3RhdDohMCxmb3JjZWQ6IXV9LHt1c2VTZXR0ZXI6ZnVuY3Rpb24oKXtydD0hMH0sdXNlU2ltcGxlOmZ1bmN0aW9uKCl7cnQ9ITF9fSkscih7dGFyZ2V0OiJPYmplY3QiLHN0YXQ6ITAsZm9yY2VkOiF1LHNoYW06IWN9LHtjcmVhdGU6ZnVuY3Rpb24odCxlKXtyZXR1cm4gdm9pZCAwPT09ZT9iKHQpOmN0KGIodCksZSl9LGRlZmluZVByb3BlcnR5OnN0LGRlZmluZVByb3BlcnRpZXM6Y3QsZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yOmx0fSkscih7dGFyZ2V0OiJPYmplY3QiLHN0YXQ6ITAsZm9yY2VkOiF1fSx7Z2V0T3duUHJvcGVydHlOYW1lczpmdH0pLFIoKSxOKFUsIlN5bWJvbCIpLE1bRl09ITB9LCIyMmI2IjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjhiZGIiKSxpPW4oImVhMDciKS52YWx1ZXM7cih7dGFyZ2V0OiJPYmplY3QiLHN0YXQ6ITB9LHt2YWx1ZXM6ZnVuY3Rpb24odCl7cmV0dXJuIGkodCl9fSl9LCIyMzVjIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByLGksbyxhPW4oImEyMGIiKSxzPW4oIjg1YzEiKSxjPW4oIjFjMDYiKSx1PW4oIjZhY2EiKSxsPW4oIjMzOGMiKSxmPW4oIjliNTUiKSxkPW4oImIyMjMiKSxoPW4oIjExYmYiKSxwPXMuVHlwZUVycm9yLHY9cy5XZWFrTWFwO2lmKGF8fGYuc3RhdGUpe3ZhciBnPWYuc3RhdGV8fChmLnN0YXRlPW5ldyB2KTtnLmdldD1nLmdldCxnLmhhcz1nLmhhcyxnLnNldD1nLnNldCxyPWZ1bmN0aW9uKHQsZSl7aWYoZy5oYXModCkpdGhyb3cgbmV3IHAoIk9iamVjdCBhbHJlYWR5IGluaXRpYWxpemVkIik7cmV0dXJuIGUuZmFjYWRlPXQsZy5zZXQodCxlKSxlfSxpPWZ1bmN0aW9uKHQpe3JldHVybiBnLmdldCh0KXx8e319LG89ZnVuY3Rpb24odCl7cmV0dXJuIGcuaGFzKHQpfX1lbHNle3ZhciBtPWQoInN0YXRlIik7aFttXT0hMCxyPWZ1bmN0aW9uKHQsZSl7aWYobCh0LG0pKXRocm93IG5ldyBwKCJPYmplY3QgYWxyZWFkeSBpbml0aWFsaXplZCIpO3JldHVybiBlLmZhY2FkZT10LHUodCxtLGUpLGV9LGk9ZnVuY3Rpb24odCl7cmV0dXJuIGwodCxtKT90W21dOnt9fSxvPWZ1bmN0aW9uKHQpe3JldHVybiBsKHQsbSl9fXQuZXhwb3J0cz17c2V0OnIsZ2V0OmksaGFzOm8sZW5mb3JjZTpmdW5jdGlvbih0KXtyZXR1cm4gbyh0KT9pKHQpOnIodCx7fSl9LGdldHRlckZvcjpmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSl7dmFyIG47aWYoIWMoZSl8fChuPWkoZSkpLnR5cGUhPT10KXRocm93IG5ldyBwKCJJbmNvbXBhdGlibGUgcmVjZWl2ZXIsICIrdCsiIHJlcXVpcmVkIik7cmV0dXJuIG59fX19LDIzNzg6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCI3ZGRiIiksaT1uKCI0ZDE2IikuZmluZCxvPXIuYVR5cGVkQXJyYXksYT1yLmV4cG9ydFR5cGVkQXJyYXlNZXRob2Q7YSgiZmluZCIsKGZ1bmN0aW9uKHQpe3JldHVybiBpKG8odGhpcyksdCxhcmd1bWVudHMubGVuZ3RoPjE/YXJndW1lbnRzWzFdOnZvaWQgMCl9KSl9LCIyM2Y0IjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oImFiNGEiKSxpPW4oIjg1YzEiKSxvPW4oImJiODAiKSxhPW4oIjg0NjYiKSxzPW4oImRjZGEiKSxjPW4oIjZhY2EiKSx1PW4oImUzN2MiKSxsPW4oIjgwYmIiKS5mLGY9bigiMTI5NyIpLGQ9bigiZTYyOSIpLGg9bigiOWU3MCIpLHA9bigiNTJhYyIpLHY9bigiZWRiNyIpLGc9bigiZTE1NyIpLG09bigiODFhOSIpLGI9bigiYWY5ZSIpLHk9bigiMzM4YyIpLF89bigiMjM1YyIpLmVuZm9yY2Usdz1uKCI0MzdmIikseD1uKCI4YzA4IiksUz1uKCJiMGE4Iiksaz1uKCJjY2E5IiksQz14KCJtYXRjaCIpLE89aS5SZWdFeHAsVD1PLnByb3RvdHlwZSxFPWkuU3ludGF4RXJyb3IsQT1vKFQuZXhlYyksaj1vKCIiLmNoYXJBdCksTT1vKCIiLnJlcGxhY2UpLEk9bygiIi5pbmRleE9mKSxQPW8oIiIuc2xpY2UpLCQ9L15cPzxbXlxzXGQhIyUmKis8PT5AXl1bXlxzISMlJiorPD0+QF5dKj4vLEw9L2EvZyxSPS9hL2csTj1uZXcgTyhMKSE9PUwsRD12Lk1JU1NFRF9TVElDS1ksQj12LlVOU1VQUE9SVEVEX1ksRj1yJiYoIU58fER8fFN8fGt8fGIoKGZ1bmN0aW9uKCl7cmV0dXJuIFJbQ109ITEsTyhMKSE9PUx8fE8oUik9PT1SfHwiL2EvaSIhPT1TdHJpbmcoTyhMLCJpIikpfSkpKTtpZihhKCJSZWdFeHAiLEYpKXtmb3IodmFyIHo9ZnVuY3Rpb24odCxlKXt2YXIgbixyLGksbyxhLGwsdj1mKFQsdGhpcyksZz1kKHQpLG09dm9pZCAwPT09ZSxiPVtdLHc9dDtpZighdiYmZyYmbSYmdC5jb25zdHJ1Y3Rvcj09PXopcmV0dXJuIHQ7aWYoKGd8fGYoVCx0KSkmJih0PXQuc291cmNlLG0mJihlPXAodykpKSx0PXZvaWQgMD09PXQ/IiI6aCh0KSxlPXZvaWQgMD09PWU/IiI6aChlKSx3PXQsUyYmImRvdEFsbCJpbiBMJiYocj0hIWUmJkkoZSwicyIpPi0xLHImJihlPU0oZSwvcy9nLCIiKSkpLG49ZSxEJiYic3RpY2t5ImluIEwmJihpPSEhZSYmSShlLCJ5Iik+LTEsaSYmQiYmKGU9TShlLC95L2csIiIpKSksayYmKG89ZnVuY3Rpb24odCl7Zm9yKHZhciBlLG49dC5sZW5ndGgscj0wLGk9IiIsbz1bXSxhPXUobnVsbCkscz0hMSxjPSExLGw9MCxmPSIiO3I8PW47cisrKXtpZihlPWoodCxyKSwiXFwiPT09ZSllKz1qKHQsKytyKTtlbHNlIGlmKCJdIj09PWUpcz0hMTtlbHNlIGlmKCFzKXN3aXRjaCghMCl7Y2FzZSJbIj09PWU6cz0hMDticmVhaztjYXNlIigiPT09ZTpBKCQsUCh0LHIrMSkpJiYocis9MixjPSEwKSxpKz1lLGwrKztjb250aW51ZTtjYXNlIj4iPT09ZSYmYzppZigiIj09PWZ8fHkoYSxmKSl0aHJvdyBuZXcgRSgiSW52YWxpZCBjYXB0dXJlIGdyb3VwIG5hbWUiKTthW2ZdPSEwLG9bby5sZW5ndGhdPVtmLGxdLGM9ITEsZj0iIjtjb250aW51ZX1jP2YrPWU6aSs9ZX1yZXR1cm5baSxvXX0odCksdD1vWzBdLGI9b1sxXSksYT1zKE8odCxlKSx2P3RoaXM6VCx6KSwocnx8aXx8Yi5sZW5ndGgpJiYobD1fKGEpLHImJihsLmRvdEFsbD0hMCxsLnJhdz16KGZ1bmN0aW9uKHQpe2Zvcih2YXIgZSxuPXQubGVuZ3RoLHI9MCxpPSIiLG89ITE7cjw9bjtyKyspZT1qKHQsciksIlxcIiE9PWU/b3x8Ii4iIT09ZT8oIlsiPT09ZT9vPSEwOiJdIj09PWUmJihvPSExKSxpKz1lKTppKz0iW1xcc1xcU10iOmkrPWUraih0LCsrcik7cmV0dXJuIGl9KHQpLG4pKSxpJiYobC5zdGlja3k9ITApLGIubGVuZ3RoJiYobC5ncm91cHM9YikpLHQhPT13KXRyeXtjKGEsInNvdXJjZSIsIiI9PT13PyIoPzopIjp3KX1jYXRjaCh4KXt9cmV0dXJuIGF9LFc9bChPKSxIPTA7Vy5sZW5ndGg+SDspZyh6LE8sV1tIKytdKTtULmNvbnN0cnVjdG9yPXosei5wcm90b3R5cGU9VCxtKGksIlJlZ0V4cCIseix7Y29uc3RydWN0b3I6ITB9KX13KCJSZWdFeHAiKX0sMjQyNTpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO24oImU3ZDgiKX0sMjYzNDpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxlLmRlZmF1bHQ9ZnVuY3Rpb24oKXsKLyohIHJlZ2VuZXJhdG9yLXJ1bnRpbWUgLS0gQ29weXJpZ2h0IChjKSAyMDE0LXByZXNlbnQsIEZhY2Vib29rLCBJbmMuIC0tIGxpY2Vuc2UgKE1JVCk6IGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWdlbmVyYXRvci9ibG9iL21haW4vTElDRU5TRSAqLwplLmRlZmF1bHQ9ZnVuY3Rpb24oKXtyZXR1cm4gdH07dmFyIHQ9e30sbj1PYmplY3QucHJvdG90eXBlLGk9bi5oYXNPd25Qcm9wZXJ0eSxvPU9iamVjdC5kZWZpbmVQcm9wZXJ0eXx8ZnVuY3Rpb24odCxlLG4pe3RbZV09bi52YWx1ZX0sYT0iZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sP1N5bWJvbDp7fSxzPWEuaXRlcmF0b3J8fCJAQGl0ZXJhdG9yIixjPWEuYXN5bmNJdGVyYXRvcnx8IkBAYXN5bmNJdGVyYXRvciIsdT1hLnRvU3RyaW5nVGFnfHwiQEB0b1N0cmluZ1RhZyI7ZnVuY3Rpb24gbCh0LGUsbil7cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGUse3ZhbHVlOm4sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITB9KSx0W2VdfXRyeXtsKHt9LCIiKX1jYXRjaChqKXtsPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gdFtlXT1ufX1mdW5jdGlvbiBmKHQsZSxuLHIpe3ZhciBpPWUmJmUucHJvdG90eXBlIGluc3RhbmNlb2YgcD9lOnAsYT1PYmplY3QuY3JlYXRlKGkucHJvdG90eXBlKSxzPW5ldyBUKHJ8fFtdKTtyZXR1cm4gbyhhLCJfaW52b2tlIix7dmFsdWU6Uyh0LG4scyl9KSxhfWZ1bmN0aW9uIGQodCxlLG4pe3RyeXtyZXR1cm57dHlwZToibm9ybWFsIixhcmc6dC5jYWxsKGUsbil9fWNhdGNoKGope3JldHVybnt0eXBlOiJ0aHJvdyIsYXJnOmp9fX10LndyYXA9Zjt2YXIgaD17fTtmdW5jdGlvbiBwKCl7fWZ1bmN0aW9uIHYoKXt9ZnVuY3Rpb24gZygpe312YXIgbT17fTtsKG0scywoZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30pKTt2YXIgYj1PYmplY3QuZ2V0UHJvdG90eXBlT2YseT1iJiZiKGIoRShbXSkpKTt5JiZ5IT09biYmaS5jYWxsKHkscykmJihtPXkpO3ZhciBfPWcucHJvdG90eXBlPXAucHJvdG90eXBlPU9iamVjdC5jcmVhdGUobSk7ZnVuY3Rpb24gdyh0KXtbIm5leHQiLCJ0aHJvdyIsInJldHVybiJdLmZvckVhY2goKGZ1bmN0aW9uKGUpe2wodCxlLChmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5faW52b2tlKGUsdCl9KSl9KSl9ZnVuY3Rpb24geCh0LGUpe3ZhciBuO28odGhpcywiX2ludm9rZSIse3ZhbHVlOmZ1bmN0aW9uKG8sYSl7ZnVuY3Rpb24gcygpe3JldHVybiBuZXcgZSgoZnVuY3Rpb24obixzKXsoZnVuY3Rpb24gbihvLGEscyxjKXt2YXIgdT1kKHRbb10sdCxhKTtpZigidGhyb3ciIT09dS50eXBlKXt2YXIgbD11LmFyZyxmPWwudmFsdWU7cmV0dXJuIGYmJiJvYmplY3QiPT0oMCxyLmRlZmF1bHQpKGYpJiZpLmNhbGwoZiwiX19hd2FpdCIpP2UucmVzb2x2ZShmLl9fYXdhaXQpLnRoZW4oKGZ1bmN0aW9uKHQpe24oIm5leHQiLHQscyxjKX0pLChmdW5jdGlvbih0KXtuKCJ0aHJvdyIsdCxzLGMpfSkpOmUucmVzb2x2ZShmKS50aGVuKChmdW5jdGlvbih0KXtsLnZhbHVlPXQscyhsKX0pLChmdW5jdGlvbih0KXtyZXR1cm4gbigidGhyb3ciLHQscyxjKX0pKX1jKHUuYXJnKX0pKG8sYSxuLHMpfSkpfXJldHVybiBuPW4/bi50aGVuKHMscyk6cygpfX0pfWZ1bmN0aW9uIFModCxlLG4pe3ZhciByPSJzdXNwZW5kZWRTdGFydCI7cmV0dXJuIGZ1bmN0aW9uKGksbyl7aWYoImV4ZWN1dGluZyI9PT1yKXRocm93IG5ldyBFcnJvcigiR2VuZXJhdG9yIGlzIGFscmVhZHkgcnVubmluZyIpO2lmKCJjb21wbGV0ZWQiPT09cil7aWYoInRocm93Ij09PWkpdGhyb3cgbztyZXR1cm4gQSgpfWZvcihuLm1ldGhvZD1pLG4uYXJnPW87Oyl7dmFyIGE9bi5kZWxlZ2F0ZTtpZihhKXt2YXIgcz1rKGEsbik7aWYocyl7aWYocz09PWgpY29udGludWU7cmV0dXJuIHN9fWlmKCJuZXh0Ij09PW4ubWV0aG9kKW4uc2VudD1uLl9zZW50PW4uYXJnO2Vsc2UgaWYoInRocm93Ij09PW4ubWV0aG9kKXtpZigic3VzcGVuZGVkU3RhcnQiPT09cil0aHJvdyByPSJjb21wbGV0ZWQiLG4uYXJnO24uZGlzcGF0Y2hFeGNlcHRpb24obi5hcmcpfWVsc2UicmV0dXJuIj09PW4ubWV0aG9kJiZuLmFicnVwdCgicmV0dXJuIixuLmFyZyk7cj0iZXhlY3V0aW5nIjt2YXIgYz1kKHQsZSxuKTtpZigibm9ybWFsIj09PWMudHlwZSl7aWYocj1uLmRvbmU/ImNvbXBsZXRlZCI6InN1c3BlbmRlZFlpZWxkIixjLmFyZz09PWgpY29udGludWU7cmV0dXJue3ZhbHVlOmMuYXJnLGRvbmU6bi5kb25lfX0idGhyb3ciPT09Yy50eXBlJiYocj0iY29tcGxldGVkIixuLm1ldGhvZD0idGhyb3ciLG4uYXJnPWMuYXJnKX19fWZ1bmN0aW9uIGsodCxlKXt2YXIgbj1lLm1ldGhvZCxyPXQuaXRlcmF0b3Jbbl07aWYodm9pZCAwPT09cilyZXR1cm4gZS5kZWxlZ2F0ZT1udWxsLCJ0aHJvdyI9PT1uJiZ0Lml0ZXJhdG9yWyJyZXR1cm4iXSYmKGUubWV0aG9kPSJyZXR1cm4iLGUuYXJnPXZvaWQgMCxrKHQsZSksInRocm93Ij09PWUubWV0aG9kKXx8InJldHVybiIhPT1uJiYoZS5tZXRob2Q9InRocm93IixlLmFyZz1uZXcgVHlwZUVycm9yKCJUaGUgaXRlcmF0b3IgZG9lcyBub3QgcHJvdmlkZSBhICciK24rIicgbWV0aG9kIikpLGg7dmFyIGk9ZChyLHQuaXRlcmF0b3IsZS5hcmcpO2lmKCJ0aHJvdyI9PT1pLnR5cGUpcmV0dXJuIGUubWV0aG9kPSJ0aHJvdyIsZS5hcmc9aS5hcmcsZS5kZWxlZ2F0ZT1udWxsLGg7dmFyIG89aS5hcmc7cmV0dXJuIG8/by5kb25lPyhlW3QucmVzdWx0TmFtZV09by52YWx1ZSxlLm5leHQ9dC5uZXh0TG9jLCJyZXR1cm4iIT09ZS5tZXRob2QmJihlLm1ldGhvZD0ibmV4dCIsZS5hcmc9dm9pZCAwKSxlLmRlbGVnYXRlPW51bGwsaCk6bzooZS5tZXRob2Q9InRocm93IixlLmFyZz1uZXcgVHlwZUVycm9yKCJpdGVyYXRvciByZXN1bHQgaXMgbm90IGFuIG9iamVjdCIpLGUuZGVsZWdhdGU9bnVsbCxoKX1mdW5jdGlvbiBDKHQpe3ZhciBlPXt0cnlMb2M6dFswXX07MSBpbiB0JiYoZS5jYXRjaExvYz10WzFdKSwyIGluIHQmJihlLmZpbmFsbHlMb2M9dFsyXSxlLmFmdGVyTG9jPXRbM10pLHRoaXMudHJ5RW50cmllcy5wdXNoKGUpfWZ1bmN0aW9uIE8odCl7dmFyIGU9dC5jb21wbGV0aW9ufHx7fTtlLnR5cGU9Im5vcm1hbCIsZGVsZXRlIGUuYXJnLHQuY29tcGxldGlvbj1lfWZ1bmN0aW9uIFQodCl7dGhpcy50cnlFbnRyaWVzPVt7dHJ5TG9jOiJyb290In1dLHQuZm9yRWFjaChDLHRoaXMpLHRoaXMucmVzZXQoITApfWZ1bmN0aW9uIEUodCl7aWYodCl7dmFyIGU9dFtzXTtpZihlKXJldHVybiBlLmNhbGwodCk7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHQubmV4dClyZXR1cm4gdDtpZighaXNOYU4odC5sZW5ndGgpKXt2YXIgbj0tMSxyPWZ1bmN0aW9uIGUoKXtmb3IoOysrbjx0Lmxlbmd0aDspaWYoaS5jYWxsKHQsbikpcmV0dXJuIGUudmFsdWU9dFtuXSxlLmRvbmU9ITEsZTtyZXR1cm4gZS52YWx1ZT12b2lkIDAsZS5kb25lPSEwLGV9O3JldHVybiByLm5leHQ9cn19cmV0dXJue25leHQ6QX19ZnVuY3Rpb24gQSgpe3JldHVybnt2YWx1ZTp2b2lkIDAsZG9uZTohMH19cmV0dXJuIHYucHJvdG90eXBlPWcsbyhfLCJjb25zdHJ1Y3RvciIse3ZhbHVlOmcsY29uZmlndXJhYmxlOiEwfSksbyhnLCJjb25zdHJ1Y3RvciIse3ZhbHVlOnYsY29uZmlndXJhYmxlOiEwfSksdi5kaXNwbGF5TmFtZT1sKGcsdSwiR2VuZXJhdG9yRnVuY3Rpb24iKSx0LmlzR2VuZXJhdG9yRnVuY3Rpb249ZnVuY3Rpb24odCl7dmFyIGU9ImZ1bmN0aW9uIj09dHlwZW9mIHQmJnQuY29uc3RydWN0b3I7cmV0dXJuISFlJiYoZT09PXZ8fCJHZW5lcmF0b3JGdW5jdGlvbiI9PT0oZS5kaXNwbGF5TmFtZXx8ZS5uYW1lKSl9LHQubWFyaz1mdW5jdGlvbih0KXtyZXR1cm4gT2JqZWN0LnNldFByb3RvdHlwZU9mP09iamVjdC5zZXRQcm90b3R5cGVPZih0LGcpOih0Ll9fcHJvdG9fXz1nLGwodCx1LCJHZW5lcmF0b3JGdW5jdGlvbiIpKSx0LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKF8pLHR9LHQuYXdyYXA9ZnVuY3Rpb24odCl7cmV0dXJue19fYXdhaXQ6dH19LHcoeC5wcm90b3R5cGUpLGwoeC5wcm90b3R5cGUsYywoZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30pKSx0LkFzeW5jSXRlcmF0b3I9eCx0LmFzeW5jPWZ1bmN0aW9uKGUsbixyLGksbyl7dm9pZCAwPT09byYmKG89UHJvbWlzZSk7dmFyIGE9bmV3IHgoZihlLG4scixpKSxvKTtyZXR1cm4gdC5pc0dlbmVyYXRvckZ1bmN0aW9uKG4pP2E6YS5uZXh0KCkudGhlbigoZnVuY3Rpb24odCl7cmV0dXJuIHQuZG9uZT90LnZhbHVlOmEubmV4dCgpfSkpfSx3KF8pLGwoXyx1LCJHZW5lcmF0b3IiKSxsKF8scywoZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30pKSxsKF8sInRvU3RyaW5nIiwoZnVuY3Rpb24oKXtyZXR1cm4iW29iamVjdCBHZW5lcmF0b3JdIn0pKSx0LmtleXM9ZnVuY3Rpb24odCl7dmFyIGU9T2JqZWN0KHQpLG49W107Zm9yKHZhciByIGluIGUpbi5wdXNoKHIpO3JldHVybiBuLnJldmVyc2UoKSxmdW5jdGlvbiB0KCl7Zm9yKDtuLmxlbmd0aDspe3ZhciByPW4ucG9wKCk7aWYociBpbiBlKXJldHVybiB0LnZhbHVlPXIsdC5kb25lPSExLHR9cmV0dXJuIHQuZG9uZT0hMCx0fX0sdC52YWx1ZXM9RSxULnByb3RvdHlwZT17Y29uc3RydWN0b3I6VCxyZXNldDpmdW5jdGlvbih0KXtpZih0aGlzLnByZXY9MCx0aGlzLm5leHQ9MCx0aGlzLnNlbnQ9dGhpcy5fc2VudD12b2lkIDAsdGhpcy5kb25lPSExLHRoaXMuZGVsZWdhdGU9bnVsbCx0aGlzLm1ldGhvZD0ibmV4dCIsdGhpcy5hcmc9dm9pZCAwLHRoaXMudHJ5RW50cmllcy5mb3JFYWNoKE8pLCF0KWZvcih2YXIgZSBpbiB0aGlzKSJ0Ij09PWUuY2hhckF0KDApJiZpLmNhbGwodGhpcyxlKSYmIWlzTmFOKCtlLnNsaWNlKDEpKSYmKHRoaXNbZV09dm9pZCAwKX0sc3RvcDpmdW5jdGlvbigpe3RoaXMuZG9uZT0hMDt2YXIgdD10aGlzLnRyeUVudHJpZXNbMF0uY29tcGxldGlvbjtpZigidGhyb3ciPT09dC50eXBlKXRocm93IHQuYXJnO3JldHVybiB0aGlzLnJ2YWx9LGRpc3BhdGNoRXhjZXB0aW9uOmZ1bmN0aW9uKHQpe2lmKHRoaXMuZG9uZSl0aHJvdyB0O3ZhciBlPXRoaXM7ZnVuY3Rpb24gbihuLHIpe3JldHVybiBhLnR5cGU9InRocm93IixhLmFyZz10LGUubmV4dD1uLHImJihlLm1ldGhvZD0ibmV4dCIsZS5hcmc9dm9pZCAwKSwhIXJ9Zm9yKHZhciByPXRoaXMudHJ5RW50cmllcy5sZW5ndGgtMTtyPj0wOy0tcil7dmFyIG89dGhpcy50cnlFbnRyaWVzW3JdLGE9by5jb21wbGV0aW9uO2lmKCJyb290Ij09PW8udHJ5TG9jKXJldHVybiBuKCJlbmQiKTtpZihvLnRyeUxvYzw9dGhpcy5wcmV2KXt2YXIgcz1pLmNhbGwobywiY2F0Y2hMb2MiKSxjPWkuY2FsbChvLCJmaW5hbGx5TG9jIik7aWYocyYmYyl7aWYodGhpcy5wcmV2PG8uY2F0Y2hMb2MpcmV0dXJuIG4oby5jYXRjaExvYywhMCk7aWYodGhpcy5wcmV2PG8uZmluYWxseUxvYylyZXR1cm4gbihvLmZpbmFsbHlMb2MpfWVsc2UgaWYocyl7aWYodGhpcy5wcmV2PG8uY2F0Y2hMb2MpcmV0dXJuIG4oby5jYXRjaExvYywhMCl9ZWxzZXtpZighYyl0aHJvdyBuZXcgRXJyb3IoInRyeSBzdGF0ZW1lbnQgd2l0aG91dCBjYXRjaCBvciBmaW5hbGx5Iik7aWYodGhpcy5wcmV2PG8uZmluYWxseUxvYylyZXR1cm4gbihvLmZpbmFsbHlMb2MpfX19fSxhYnJ1cHQ6ZnVuY3Rpb24odCxlKXtmb3IodmFyIG49dGhpcy50cnlFbnRyaWVzLmxlbmd0aC0xO24+PTA7LS1uKXt2YXIgcj10aGlzLnRyeUVudHJpZXNbbl07aWYoci50cnlMb2M8PXRoaXMucHJldiYmaS5jYWxsKHIsImZpbmFsbHlMb2MiKSYmdGhpcy5wcmV2PHIuZmluYWxseUxvYyl7dmFyIG89cjticmVha319byYmKCJicmVhayI9PT10fHwiY29udGludWUiPT09dCkmJm8udHJ5TG9jPD1lJiZlPD1vLmZpbmFsbHlMb2MmJihvPW51bGwpO3ZhciBhPW8/by5jb21wbGV0aW9uOnt9O3JldHVybiBhLnR5cGU9dCxhLmFyZz1lLG8/KHRoaXMubWV0aG9kPSJuZXh0Iix0aGlzLm5leHQ9by5maW5hbGx5TG9jLGgpOnRoaXMuY29tcGxldGUoYSl9LGNvbXBsZXRlOmZ1bmN0aW9uKHQsZSl7aWYoInRocm93Ij09PXQudHlwZSl0aHJvdyB0LmFyZztyZXR1cm4iYnJlYWsiPT09dC50eXBlfHwiY29udGludWUiPT09dC50eXBlP3RoaXMubmV4dD10LmFyZzoicmV0dXJuIj09PXQudHlwZT8odGhpcy5ydmFsPXRoaXMuYXJnPXQuYXJnLHRoaXMubWV0aG9kPSJyZXR1cm4iLHRoaXMubmV4dD0iZW5kIik6Im5vcm1hbCI9PT10LnR5cGUmJmUmJih0aGlzLm5leHQ9ZSksaH0sZmluaXNoOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10aGlzLnRyeUVudHJpZXMubGVuZ3RoLTE7ZT49MDstLWUpe3ZhciBuPXRoaXMudHJ5RW50cmllc1tlXTtpZihuLmZpbmFsbHlMb2M9PT10KXJldHVybiB0aGlzLmNvbXBsZXRlKG4uY29tcGxldGlvbixuLmFmdGVyTG9jKSxPKG4pLGh9fSxjYXRjaDpmdW5jdGlvbih0KXtmb3IodmFyIGU9dGhpcy50cnlFbnRyaWVzLmxlbmd0aC0xO2U+PTA7LS1lKXt2YXIgbj10aGlzLnRyeUVudHJpZXNbZV07aWYobi50cnlMb2M9PT10KXt2YXIgcj1uLmNvbXBsZXRpb247aWYoInRocm93Ij09PXIudHlwZSl7dmFyIGk9ci5hcmc7TyhuKX1yZXR1cm4gaX19dGhyb3cgbmV3IEVycm9yKCJpbGxlZ2FsIGNhdGNoIGF0dGVtcHQiKX0sZGVsZWdhdGVZaWVsZDpmdW5jdGlvbih0LGUsbil7cmV0dXJuIHRoaXMuZGVsZWdhdGU9e2l0ZXJhdG9yOkUodCkscmVzdWx0TmFtZTplLG5leHRMb2M6bn0sIm5leHQiPT09dGhpcy5tZXRob2QmJih0aGlzLmFyZz12b2lkIDApLGh9fSx0fSxuKCI2YTU0IiksbigiMDFhMiIpLG4oImUzOWMiKSxuKCJiZjBmIiksbigiODQ0ZCIpLG4oIjE4ZjciKSxuKCJkZTZjIiksbigiMzg3MmUiKSxuKCI0ZTliIiksbigiMTE0ZSIpLG4oImMyNDAiKSxuKCI5MjZlIiksbigiN2E3NiIpLG4oImM5YjUiKSxuKCJhYTljIiksbigiMjc5NyIpLG4oIjhhOGQiKSxuKCJkYzY5IiksbigiZjdhNSIpO3ZhciByPWZ1bmN0aW9uKHQpe3JldHVybiB0JiZ0Ll9fZXNNb2R1bGU/dDp7ZGVmYXVsdDp0fX0obigiZmNmMyIpKX0sIjI2NmEiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiYWY5ZSIpLGk9bigiOGMwOCIpLG89bigiYWI0YSIpLGE9bigiYTczNCIpLHM9aSgiaXRlcmF0b3IiKTt0LmV4cG9ydHM9IXIoKGZ1bmN0aW9uKCl7dmFyIHQ9bmV3IFVSTCgiYj9hPTEmYj0yJmM9MyIsImh0dHA6Ly9hIiksZT10LnNlYXJjaFBhcmFtcyxuPW5ldyBVUkxTZWFyY2hQYXJhbXMoImE9MSZhPTImYj0zIikscj0iIjtyZXR1cm4gdC5wYXRobmFtZT0iYyUyMGQiLGUuZm9yRWFjaCgoZnVuY3Rpb24odCxuKXtlWyJkZWxldGUiXSgiYiIpLHIrPW4rdH0pKSxuWyJkZWxldGUiXSgiYSIsMiksblsiZGVsZXRlIl0oImIiLHZvaWQgMCksYSYmKCF0LnRvSlNPTnx8IW4uaGFzKCJhIiwxKXx8bi5oYXMoImEiLDIpfHwhbi5oYXMoImEiLHZvaWQgMCl8fG4uaGFzKCJiIikpfHwhZS5zaXplJiYoYXx8IW8pfHwhZS5zb3J0fHwiaHR0cDovL2EvYyUyMGQ/YT0xJmM9MyIhPT10LmhyZWZ8fCIzIiE9PWUuZ2V0KCJjIil8fCJhPTEiIT09U3RyaW5nKG5ldyBVUkxTZWFyY2hQYXJhbXMoIj9hPTEiKSl8fCFlW3NdfHwiYSIhPT1uZXcgVVJMKCJodHRwczovL2FAYiIpLnVzZXJuYW1lfHwiYiIhPT1uZXcgVVJMU2VhcmNoUGFyYW1zKG5ldyBVUkxTZWFyY2hQYXJhbXMoImE9YiIpKS5nZXQoImEiKXx8InhuLS1lMWF5YmMiIT09bmV3IFVSTCgiaHR0cDovL9GC0LXRgdGCIikuaG9zdHx8IiMlRDAlQjEiIT09bmV3IFVSTCgiaHR0cDovL2Ej0LEiKS5oYXNofHwiYTFjMyIhPT1yfHwieCIhPT1uZXcgVVJMKCJodHRwOi8veCIsdm9pZCAwKS5ob3N0fSkpfSwyNzc5OmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiNTA4ZCIpLGk9bigiYzg2YiIpLG89bigiM2E0YiIpLGE9bigiM2M1ZCIpLHM9bigiODNiMyIpLkNPTlNUUlVDVE9SLGM9bigiNzQ3OCIpLHU9aSgiUHJvbWlzZSIpLGw9byYmIXM7cih7dGFyZ2V0OiJQcm9taXNlIixzdGF0OiEwLGZvcmNlZDpvfHxzfSx7cmVzb2x2ZTpmdW5jdGlvbih0KXtyZXR1cm4gYyhsJiZ0aGlzPT09dT9hOnRoaXMsdCl9fSl9LDI3OTc6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCI4NWMxIiksaT1uKCIzZGU3Iiksbz1uKCJmYjZiIiksYT1uKCJmM2YyIikscz1uKCI2YWNhIiksYz1mdW5jdGlvbih0KXtpZih0JiZ0LmZvckVhY2ghPT1hKXRyeXtzKHQsImZvckVhY2giLGEpfWNhdGNoKGUpe3QuZm9yRWFjaD1hfX07Zm9yKHZhciB1IGluIGkpaVt1XSYmYyhyW3VdJiZyW3VdLnByb3RvdHlwZSk7YyhvKX0sIjI3Y2MiOmZ1bmN0aW9uKHQsZSxuKXt2YXIgcj1uKCJmZGNhIiksaT1uKCI0MTViIiksbz1uKCI0NzJiIiksYT1uKCJhMDMwIik7dC5leHBvcnRzPWZ1bmN0aW9uKHQsZSxuLHMpe3N8fChzPXt9KTt2YXIgYz1zLmVudW1lcmFibGUsdT12b2lkIDAhPT1zLm5hbWU/cy5uYW1lOmU7aWYocihuKSYmbyhuLHUscykscy5nbG9iYWwpYz90W2VdPW46YShlLG4pO2Vsc2V7dHJ5e3MudW5zYWZlP3RbZV0mJihjPSEwKTpkZWxldGUgdFtlXX1jYXRjaChsKXt9Yz90W2VdPW46aS5mKHQsZSx7dmFsdWU6bixlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohcy5ub25Db25maWd1cmFibGUsd3JpdGFibGU6IXMubm9uV3JpdGFibGV9KX1yZXR1cm4gdH19LCIyOWJhIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjhjMDgiKSxpPXIoIml0ZXJhdG9yIiksbz0hMTt0cnl7dmFyIGE9MCxzPXtuZXh0OmZ1bmN0aW9uKCl7cmV0dXJue2RvbmU6ISFhKyt9fSxyZXR1cm46ZnVuY3Rpb24oKXtvPSEwfX07c1tpXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSxBcnJheS5mcm9tKHMsKGZ1bmN0aW9uKCl7dGhyb3cgMn0pKX1jYXRjaChjKXt9dC5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dHJ5e2lmKCFlJiYhbylyZXR1cm4hMX1jYXRjaChjKXtyZXR1cm4hMX12YXIgbj0hMTt0cnl7dmFyIHI9e307cltpXT1mdW5jdGlvbigpe3JldHVybntuZXh0OmZ1bmN0aW9uKCl7cmV0dXJue2RvbmU6bj0hMH19fX0sdChyKX1jYXRjaChjKXt9cmV0dXJuIG59fSwiMjlkNSI6ZnVuY3Rpb24odCxlLG4pe3ZhciByPW4oIjgzOTQiKSxpPW4oImM2MmEiKSxvPW4oIjc3Y2QiKSxhPW4oIjhmYTEiKSxzPW4oImQ5YTciKSxjPW4oIjM0NGYiKSx1PWkoIndrcyIpLGw9ci5TeW1ib2wsZj1sJiZsWyJmb3IiXSxkPWM/bDpsJiZsLndpdGhvdXRTZXR0ZXJ8fGE7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe2lmKCFvKHUsdCl8fCFzJiYic3RyaW5nIiE9dHlwZW9mIHVbdF0pe3ZhciBlPSJTeW1ib2wuIit0O3MmJm8obCx0KT91W3RdPWxbdF06dVt0XT1jJiZmP2YoZSk6ZChlKX1yZXR1cm4gdVt0XX19LCIyOWQ4IjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3QuZXhwb3J0cz0idW5kZWZpbmVkIiE9dHlwZW9mIG5hdmlnYXRvciYmU3RyaW5nKG5hdmlnYXRvci51c2VyQWdlbnQpfHwiIn0sIjJiMDQiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiYWY5ZSIpO3QuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciBuPVtdW3RdO3JldHVybiEhbiYmcigoZnVuY3Rpb24oKXtuLmNhbGwobnVsbCxlfHxmdW5jdGlvbigpe3JldHVybiAxfSwxKX0pKX19LCIyYmE3IjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oImFiNGEiKSxpPW4oImFmOWUiKSxvPW4oIjNmNTciKTt0LmV4cG9ydHM9IXImJiFpKChmdW5jdGlvbigpe3JldHVybiA3IT09T2JqZWN0LmRlZmluZVByb3BlcnR5KG8oImRpdiIpLCJhIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIDd9fSkuYX0pKX0sIjJjMTAiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiNzFlOSIpLGk9bigiN2VkYyIpLG89bigiZTdlMyIpLGE9bigiMWViOCIpLHM9bigiYzQzNSIpLGM9bigiOWU3MCIpLHU9bigiODYyYyIpLGw9bigiNjBiYyIpLGY9bigiMDNkYyIpLGQ9bigiMDdkYSIpO2koIm1hdGNoIiwoZnVuY3Rpb24odCxlLG4pe3JldHVybltmdW5jdGlvbihlKXt2YXIgbj11KHRoaXMpLGk9YShlKT92b2lkIDA6bChlLHQpO3JldHVybiBpP3IoaSxlLG4pOm5ldyBSZWdFeHAoZSlbdF0oYyhuKSl9LGZ1bmN0aW9uKHQpe3ZhciByPW8odGhpcyksaT1jKHQpLGE9bihlLHIsaSk7aWYoYS5kb25lKXJldHVybiBhLnZhbHVlO2lmKCFyLmdsb2JhbClyZXR1cm4gZChyLGkpO3ZhciB1PXIudW5pY29kZTtyLmxhc3RJbmRleD0wO3ZhciBsLGg9W10scD0wO3doaWxlKG51bGwhPT0obD1kKHIsaSkpKXt2YXIgdj1jKGxbMF0pO2hbcF09diwiIj09PXYmJihyLmxhc3RJbmRleD1mKGkscyhyLmxhc3RJbmRleCksdSkpLHArK31yZXR1cm4gMD09PXA/bnVsbDpofV19KSl9LCIyYzU3IjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjg1YzEiKSxpPW4oImFmOWUiKSxvPW4oImJiODAiKSxhPW4oIjllNzAiKSxzPW4oImVlOTgiKS50cmltLGM9bigiZjA3MiIpLHU9ci5wYXJzZUludCxsPXIuU3ltYm9sLGY9bCYmbC5pdGVyYXRvcixkPS9eWystXT8weC9pLGg9byhkLmV4ZWMpLHA9OCE9PXUoYysiMDgiKXx8MjIhPT11KGMrIjB4MTYiKXx8ZiYmIWkoKGZ1bmN0aW9uKCl7dShPYmplY3QoZikpfSkpO3QuZXhwb3J0cz1wP2Z1bmN0aW9uKHQsZSl7dmFyIG49cyhhKHQpKTtyZXR1cm4gdShuLGU+Pj4wfHwoaChkLG4pPzE2OjEwKSl9OnV9LCIyYzZiIjpmdW5jdGlvbih0LGUpe3QuZXhwb3J0cz1mdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcigiZGVmaW5lIGNhbm5vdCBiZSB1c2VkIGluZGlyZWN0Iil9fSwiMmU2NiI6ZnVuY3Rpb24odCxlLG4pe3ZhciByPW4oImZkY2EiKSxpPVN0cmluZyxvPVR5cGVFcnJvcjt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7aWYoIm9iamVjdCI9PXR5cGVvZiB0fHxyKHQpKXJldHVybiB0O3Rocm93IG8oIkNhbid0IHNldCAiK2kodCkrIiBhcyBhIHByb3RvdHlwZSIpfX0sIjJlN2YiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9TWF0aC5sb2csaT1NYXRoLkxPRzEwRTt0LmV4cG9ydHM9TWF0aC5sb2cxMHx8ZnVuY3Rpb24odCl7cmV0dXJuIHIodCkqaX19LCIyZWM1IjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3QuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3JldHVybiBlfHwoZT17fSksdD10JiZ0Ll9fZXNNb2R1bGU/dC5kZWZhdWx0OnQsInN0cmluZyIhPT10eXBlb2YgdD90OigvXlsnIl0uKlsnIl0kLy50ZXN0KHQpJiYodD10LnNsaWNlKDEsLTEpKSxlLmhhc2gmJih0Kz1lLmhhc2gpLC9bIicoKSBcdFxuXS8udGVzdCh0KXx8ZS5uZWVkUXVvdGVzPyciJy5jb25jYXQodC5yZXBsYWNlKC8iL2csJ1xcIicpLnJlcGxhY2UoL1xuL2csIlxcbiIpLCciJyk6dCl9fSwiMmZkYyI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiByKHQsZSxuLHIsaSxvLGEpe3RyeXt2YXIgcz10W29dKGEpLGM9cy52YWx1ZX1jYXRjaCh1KXtyZXR1cm4gdm9pZCBuKHUpfXMuZG9uZT9lKGMpOlByb21pc2UucmVzb2x2ZShjKS50aGVuKHIsaSl9bigiNmE1NCIpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxlLmRlZmF1bHQ9ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGU9dGhpcyxuPWFyZ3VtZW50cztyZXR1cm4gbmV3IFByb21pc2UoKGZ1bmN0aW9uKGksbyl7dmFyIGE9dC5hcHBseShlLG4pO2Z1bmN0aW9uIHModCl7cihhLGksbyxzLGMsIm5leHQiLHQpfWZ1bmN0aW9uIGModCl7cihhLGksbyxzLGMsInRocm93Iix0KX1zKHZvaWQgMCl9KSl9fSxuKCJiZjBmIil9LCIzMjNjIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjdkZGIiKSxpPW4oIjVkZmEiKSxvPXIuYVR5cGVkQXJyYXlDb25zdHJ1Y3RvcixhPXIuZ2V0VHlwZWRBcnJheUNvbnN0cnVjdG9yO3QuZXhwb3J0cz1mdW5jdGlvbih0KXtyZXR1cm4gbyhpKHQsYSh0KSkpfX0sMzI0MjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjE3ZmMiKTt0LmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gbmV3KHIodCkpKDA9PT1lPzA6ZSl9fSwiMzMwZCI6ZnVuY3Rpb24odCxlLG4pe3ZhciByPW4oIjFhZDciKSxpPUZ1bmN0aW9uLnByb3RvdHlwZSxvPWkuYXBwbHksYT1pLmNhbGw7dC5leHBvcnRzPSJvYmplY3QiPT10eXBlb2YgUmVmbGVjdCYmUmVmbGVjdC5hcHBseXx8KHI/YS5iaW5kKG8pOmZ1bmN0aW9uKCl7cmV0dXJuIGEuYXBwbHkobyxhcmd1bWVudHMpfSl9LCIzMzVhIjpmdW5jdGlvbih0LGUsbil7dmFyIHI9bigiZDEwYSIpLGk9bigiZDE5MSIpLG89bigiMmU2NiIpO3QuZXhwb3J0cz1PYmplY3Quc2V0UHJvdG90eXBlT2Z8fCgiX19wcm90b19fImlue30/ZnVuY3Rpb24oKXt2YXIgdCxlPSExLG49e307dHJ5e3Q9cihPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKE9iamVjdC5wcm90b3R5cGUsIl9fcHJvdG9fXyIpLnNldCksdChuLFtdKSxlPW4gaW5zdGFuY2VvZiBBcnJheX1jYXRjaChhKXt9cmV0dXJuIGZ1bmN0aW9uKG4scil7cmV0dXJuIGkobiksbyhyKSxlP3QobixyKTpuLl9fcHJvdG9fXz1yLG59fSgpOnZvaWQgMCl9LCIzMzhjIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oImJiODAiKSxpPW4oIjEwOTkiKSxvPXIoe30uaGFzT3duUHJvcGVydHkpO3QuZXhwb3J0cz1PYmplY3QuaGFzT3dufHxmdW5jdGlvbih0LGUpe3JldHVybiBvKGkodCksZSl9fSwiMzQ0ZiI6ZnVuY3Rpb24odCxlLG4pe3ZhciByPW4oImQ5YTciKTt0LmV4cG9ydHM9ciYmIVN5bWJvbC5zaGFtJiYic3ltYm9sIj09dHlwZW9mIFN5bWJvbC5pdGVyYXRvcn0sMzQ2MjpmdW5jdGlvbih0LGUpe3ZhciBuPWZ1bmN0aW9uKCl7dGhpcy5oZWFkPW51bGwsdGhpcy50YWlsPW51bGx9O24ucHJvdG90eXBlPXthZGQ6ZnVuY3Rpb24odCl7dmFyIGU9e2l0ZW06dCxuZXh0Om51bGx9O3RoaXMuaGVhZD90aGlzLnRhaWwubmV4dD1lOnRoaXMuaGVhZD1lLHRoaXMudGFpbD1lfSxnZXQ6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmhlYWQ7aWYodClyZXR1cm4gdGhpcy5oZWFkPXQubmV4dCx0aGlzLnRhaWw9PT10JiYodGhpcy50YWlsPW51bGwpLHQuaXRlbX19LHQuZXhwb3J0cz1ufSwiMzQ2YiI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj17fS5wcm9wZXJ0eUlzRW51bWVyYWJsZSxpPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Isbz1pJiYhci5jYWxsKHsxOjJ9LDEpO2UuZj1vP2Z1bmN0aW9uKHQpe3ZhciBlPWkodGhpcyx0KTtyZXR1cm4hIWUmJmUuZW51bWVyYWJsZX06cn0sMzQ4NzpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjUwOGQiKSxpPW4oImQ3YjgiKSxvPW4oIjNhNGIiKSxhPW4oIjkzNjAiKSxzPW4oImZkY2EiKSxjPW4oIjkzMjAiKSx1PW4oIjhhMjkiKSxsPW4oIjMzNWEiKSxmPW4oImViZTgiKSxkPW4oImQxYTgiKSxoPW4oIjI3Y2MiKSxwPW4oIjI5ZDUiKSx2PW4oImQ0NTkiKSxnPW4oIjRjNzciKSxtPWEuUFJPUEVSLGI9YS5DT05GSUdVUkFCTEUseT1nLkl0ZXJhdG9yUHJvdG90eXBlLF89Zy5CVUdHWV9TQUZBUklfSVRFUkFUT1JTLHc9cCgiaXRlcmF0b3IiKSx4PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9O3QuZXhwb3J0cz1mdW5jdGlvbih0LGUsbixhLHAsZyxTKXtjKG4sZSxhKTt2YXIgayxDLE8sVD1mdW5jdGlvbih0KXtpZih0PT09cCYmSSlyZXR1cm4gSTtpZighXyYmdCBpbiBqKXJldHVybiBqW3RdO3N3aXRjaCh0KXtjYXNlImtleXMiOnJldHVybiBmdW5jdGlvbigpe3JldHVybiBuZXcgbih0aGlzLHQpfTtjYXNlInZhbHVlcyI6cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBuKHRoaXMsdCl9O2Nhc2UiZW50cmllcyI6cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBuKHRoaXMsdCl9fXJldHVybiBmdW5jdGlvbigpe3JldHVybiBuZXcgbih0aGlzKX19LEU9ZSsiIEl0ZXJhdG9yIixBPSExLGo9dC5wcm90b3R5cGUsTT1qW3ddfHxqWyJAQGl0ZXJhdG9yIl18fHAmJmpbcF0sST0hXyYmTXx8VChwKSxQPSJBcnJheSI9PWUmJmouZW50cmllc3x8TTtpZihQJiYoaz11KFAuY2FsbChuZXcgdCkpLGshPT1PYmplY3QucHJvdG90eXBlJiZrLm5leHQmJihvfHx1KGspPT09eXx8KGw/bChrLHkpOnMoa1t3XSl8fGgoayx3LHgpKSxmKGssRSwhMCwhMCksbyYmKHZbRV09eCkpKSxtJiYidmFsdWVzIj09cCYmTSYmInZhbHVlcyIhPT1NLm5hbWUmJighbyYmYj9kKGosIm5hbWUiLCJ2YWx1ZXMiKTooQT0hMCxJPWZ1bmN0aW9uKCl7cmV0dXJuIGkoTSx0aGlzKX0pKSxwKWlmKEM9e3ZhbHVlczpUKCJ2YWx1ZXMiKSxrZXlzOmc/STpUKCJrZXlzIiksZW50cmllczpUKCJlbnRyaWVzIil9LFMpZm9yKE8gaW4gQykoX3x8QXx8IShPIGluIGopKSYmaChqLE8sQ1tPXSk7ZWxzZSByKHt0YXJnZXQ6ZSxwcm90bzohMCxmb3JjZWQ6X3x8QX0sQyk7cmV0dXJuIG8mJiFTfHxqW3ddPT09SXx8aChqLHcsSSx7bmFtZTpwfSksdltlXT1JLEN9fSwzNjM5OmZ1bmN0aW9uKHQsZSxuKXtuKCJiZjBmIiksbigiMThmNyIpLG4oImQwYWYiKSxuKCJkZTZjIiksbigiNmE1NCIpLG4oIjlhMmMiKTt2YXIgcj1uKCJiZGJiIilbImRlZmF1bHQiXTtmdW5jdGlvbiBpKHQpe2lmKCJmdW5jdGlvbiIhPT10eXBlb2YgV2Vha01hcClyZXR1cm4gbnVsbDt2YXIgZT1uZXcgV2Vha01hcCxuPW5ldyBXZWFrTWFwO3JldHVybihpPWZ1bmN0aW9uKHQpe3JldHVybiB0P246ZX0pKHQpfXQuZXhwb3J0cz1mdW5jdGlvbih0LGUpe2lmKCFlJiZ0JiZ0Ll9fZXNNb2R1bGUpcmV0dXJuIHQ7aWYobnVsbD09PXR8fCJvYmplY3QiIT09cih0KSYmImZ1bmN0aW9uIiE9PXR5cGVvZiB0KXJldHVybntkZWZhdWx0OnR9O3ZhciBuPWkoZSk7aWYobiYmbi5oYXModCkpcmV0dXJuIG4uZ2V0KHQpO3ZhciBvPXt9LGE9T2JqZWN0LmRlZmluZVByb3BlcnR5JiZPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yO2Zvcih2YXIgcyBpbiB0KWlmKCJkZWZhdWx0IiE9PXMmJk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LHMpKXt2YXIgYz1hP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodCxzKTpudWxsO2MmJihjLmdldHx8Yy5zZXQpP09iamVjdC5kZWZpbmVQcm9wZXJ0eShvLHMsYyk6b1tzXT10W3NdfXJldHVybiBvWyJkZWZhdWx0Il09dCxuJiZuLnNldCh0LG8pLG99LHQuZXhwb3J0cy5fX2VzTW9kdWxlPSEwLHQuZXhwb3J0c1siZGVmYXVsdCJdPXQuZXhwb3J0c30sMzY3MTpmdW5jdGlvbih0LGUsbil7dmFyIHI9bigiYzg2YiIpO3QuZXhwb3J0cz1yKCJkb2N1bWVudCIsImRvY3VtZW50RWxlbWVudCIpfSwzNzk0OmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiNmFhNiIpO3QuZXhwb3J0cz1yKCJkb2N1bWVudCIsImRvY3VtZW50RWxlbWVudCIpfSwiMzdhZCI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCJiYjgwIik7dC5leHBvcnRzPXIoW10uc2xpY2UpfSwzODQwOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHIsaSxvLGE9bigiNTA4ZCIpLHM9bigiM2E0YiIpLGM9bigiZThiOCIpLHU9bigiODM5NCIpLGw9bigiZDdiOCIpLGY9bigiMjdjYyIpLGQ9bigiMzM1YSIpLGg9bigiZWJlOCIpLHA9bigiZjgyYyIpLHY9bigiZjBiNSIpLGc9bigiZmRjYSIpLG09bigiMWFlMyIpLGI9bigiOWI4ZiIpLHk9bigiMDY5OSIpLF89bigiZmQxZCIpLnNldCx3PW4oImZhYzEiKSx4PW4oIjQ3NDMiKSxTPW4oImE1YzYiKSxrPW4oIjM0NjIiKSxDPW4oIjdiMDUiKSxPPW4oIjNjNWQiKSxUPW4oIjgzYjMiKSxFPW4oImY0MzkiKSxBPVQuQ09OU1RSVUNUT1Isaj1ULlJFSkVDVElPTl9FVkVOVCxNPVQuU1VCQ0xBU1NJTkcsST1DLmdldHRlckZvcigiUHJvbWlzZSIpLFA9Qy5zZXQsJD1PJiZPLnByb3RvdHlwZSxMPU8sUj0kLE49dS5UeXBlRXJyb3IsRD11LmRvY3VtZW50LEI9dS5wcm9jZXNzLEY9RS5mLHo9RixXPSEhKEQmJkQuY3JlYXRlRXZlbnQmJnUuZGlzcGF0Y2hFdmVudCksSD1mdW5jdGlvbih0KXt2YXIgZTtyZXR1cm4hKCFtKHQpfHwhZyhlPXQudGhlbikpJiZlfSxVPWZ1bmN0aW9uKHQsZSl7dmFyIG4scixpLG89ZS52YWx1ZSxhPTE9PWUuc3RhdGUscz1hP3Qub2s6dC5mYWlsLGM9dC5yZXNvbHZlLHU9dC5yZWplY3QsZj10LmRvbWFpbjt0cnl7cz8oYXx8KDI9PT1lLnJlamVjdGlvbiYmRyhlKSxlLnJlamVjdGlvbj0xKSwhMD09PXM/bj1vOihmJiZmLmVudGVyKCksbj1zKG8pLGYmJihmLmV4aXQoKSxpPSEwKSksbj09PXQucHJvbWlzZT91KE4oIlByb21pc2UtY2hhaW4gY3ljbGUiKSk6KHI9SChuKSk/bChyLG4sYyx1KTpjKG4pKTp1KG8pfWNhdGNoKGQpe2YmJiFpJiZmLmV4aXQoKSx1KGQpfX0sVj1mdW5jdGlvbih0LGUpe3Qubm90aWZpZWR8fCh0Lm5vdGlmaWVkPSEwLHcoKGZ1bmN0aW9uKCl7dmFyIG4scj10LnJlYWN0aW9uczt3aGlsZShuPXIuZ2V0KCkpVShuLHQpO3Qubm90aWZpZWQ9ITEsZSYmIXQucmVqZWN0aW9uJiZZKHQpfSkpKX0scT1mdW5jdGlvbih0LGUsbil7dmFyIHIsaTtXPyhyPUQuY3JlYXRlRXZlbnQoIkV2ZW50Iiksci5wcm9taXNlPWUsci5yZWFzb249bixyLmluaXRFdmVudCh0LCExLCEwKSx1LmRpc3BhdGNoRXZlbnQocikpOnI9e3Byb21pc2U6ZSxyZWFzb246bn0sIWomJihpPXVbIm9uIit0XSk/aShyKToidW5oYW5kbGVkcmVqZWN0aW9uIj09PXQmJngoIlVuaGFuZGxlZCBwcm9taXNlIHJlamVjdGlvbiIsbil9LFk9ZnVuY3Rpb24odCl7bChfLHUsKGZ1bmN0aW9uKCl7dmFyIGUsbj10LmZhY2FkZSxyPXQudmFsdWUsaT1YKHQpO2lmKGkmJihlPVMoKGZ1bmN0aW9uKCl7Yz9CLmVtaXQoInVuaGFuZGxlZFJlamVjdGlvbiIscixuKTpxKCJ1bmhhbmRsZWRyZWplY3Rpb24iLG4scil9KSksdC5yZWplY3Rpb249Y3x8WCh0KT8yOjEsZS5lcnJvcikpdGhyb3cgZS52YWx1ZX0pKX0sWD1mdW5jdGlvbih0KXtyZXR1cm4gMSE9PXQucmVqZWN0aW9uJiYhdC5wYXJlbnR9LEc9ZnVuY3Rpb24odCl7bChfLHUsKGZ1bmN0aW9uKCl7dmFyIGU9dC5mYWNhZGU7Yz9CLmVtaXQoInJlamVjdGlvbkhhbmRsZWQiLGUpOnEoInJlamVjdGlvbmhhbmRsZWQiLGUsdC52YWx1ZSl9KSl9LFE9ZnVuY3Rpb24odCxlLG4pe3JldHVybiBmdW5jdGlvbihyKXt0KGUscixuKX19LEs9ZnVuY3Rpb24odCxlLG4pe3QuZG9uZXx8KHQuZG9uZT0hMCxuJiYodD1uKSx0LnZhbHVlPWUsdC5zdGF0ZT0yLFYodCwhMCkpfSxKPWZ1bmN0aW9uKHQsZSxuKXtpZighdC5kb25lKXt0LmRvbmU9ITAsbiYmKHQ9bik7dHJ5e2lmKHQuZmFjYWRlPT09ZSl0aHJvdyBOKCJQcm9taXNlIGNhbid0IGJlIHJlc29sdmVkIGl0c2VsZiIpO3ZhciByPUgoZSk7cj93KChmdW5jdGlvbigpe3ZhciBuPXtkb25lOiExfTt0cnl7bChyLGUsUShKLG4sdCksUShLLG4sdCkpfWNhdGNoKGkpe0sobixpLHQpfX0pKToodC52YWx1ZT1lLHQuc3RhdGU9MSxWKHQsITEpKX1jYXRjaChpKXtLKHtkb25lOiExfSxpLHQpfX19O2lmKEEmJihMPWZ1bmN0aW9uKHQpe2IodGhpcyxSKSx2KHQpLGwocix0aGlzKTt2YXIgZT1JKHRoaXMpO3RyeXt0KFEoSixlKSxRKEssZSkpfWNhdGNoKG4pe0soZSxuKX19LFI9TC5wcm90b3R5cGUscj1mdW5jdGlvbih0KXtQKHRoaXMse3R5cGU6IlByb21pc2UiLGRvbmU6ITEsbm90aWZpZWQ6ITEscGFyZW50OiExLHJlYWN0aW9uczpuZXcgayxyZWplY3Rpb246ITEsc3RhdGU6MCx2YWx1ZTp2b2lkIDB9KX0sci5wcm90b3R5cGU9ZihSLCJ0aGVuIiwoZnVuY3Rpb24odCxlKXt2YXIgbj1JKHRoaXMpLHI9Rih5KHRoaXMsTCkpO3JldHVybiBuLnBhcmVudD0hMCxyLm9rPSFnKHQpfHx0LHIuZmFpbD1nKGUpJiZlLHIuZG9tYWluPWM/Qi5kb21haW46dm9pZCAwLDA9PW4uc3RhdGU/bi5yZWFjdGlvbnMuYWRkKHIpOncoKGZ1bmN0aW9uKCl7VShyLG4pfSkpLHIucHJvbWlzZX0pKSxpPWZ1bmN0aW9uKCl7dmFyIHQ9bmV3IHIsZT1JKHQpO3RoaXMucHJvbWlzZT10LHRoaXMucmVzb2x2ZT1RKEosZSksdGhpcy5yZWplY3Q9UShLLGUpfSxFLmY9Rj1mdW5jdGlvbih0KXtyZXR1cm4gdD09PUx8fHZvaWQgMD09PXQ/bmV3IGkodCk6eih0KX0sIXMmJmcoTykmJiQhPT1PYmplY3QucHJvdG90eXBlKSl7bz0kLnRoZW4sTXx8ZigkLCJ0aGVuIiwoZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzO3JldHVybiBuZXcgTCgoZnVuY3Rpb24odCxlKXtsKG8sbix0LGUpfSkpLnRoZW4odCxlKX0pLHt1bnNhZmU6ITB9KTt0cnl7ZGVsZXRlICQuY29uc3RydWN0b3J9Y2F0Y2goWil7fWQmJmQoJCxSKX1hKHtnbG9iYWw6ITAsY29uc3RydWN0b3I6ITAsd3JhcDohMCxmb3JjZWQ6QX0se1Byb21pc2U6TH0pLGgoTCwiUHJvbWlzZSIsITEsITApLHAoIlByb21pc2UiKX0sMzg3MjpmdW5jdGlvbih0LGUsbil7dmFyIHI9bigiYzYyYSIpLGk9bigiOGZhMSIpLG89cigia2V5cyIpO3QuZXhwb3J0cz1mdW5jdGlvbih0KXtyZXR1cm4gb1t0XXx8KG9bdF09aSh0KSl9fSwiMzg3MmUiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiZjI1OSIpO3IoImFzeW5jSXRlcmF0b3IiKX0sIjM5ZDgiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGUuZGVmYXVsdD1mdW5jdGlvbih0LGUsbil7ZT0oMCxyLmRlZmF1bHQpKGUpLGUgaW4gdD9PYmplY3QuZGVmaW5lUHJvcGVydHkodCxlLHt2YWx1ZTpuLGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwfSk6dFtlXT1uO3JldHVybiB0fSxuKCI2YTU0Iik7dmFyIHI9ZnVuY3Rpb24odCl7cmV0dXJuIHQmJnQuX19lc01vZHVsZT90OntkZWZhdWx0OnR9fShuKCIxOGU0IikpfSwiM2E0YiI6ZnVuY3Rpb24odCxlKXt0LmV4cG9ydHM9ITF9LCIzYTdlIjpmdW5jdGlvbih0LGUsbil7bigiN2E3NiIpLG4oImM5YjUiKSx0LmV4cG9ydHM9ZnVuY3Rpb24odCl7aWYodm9pZCAwPT09dCl0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZCIpO3JldHVybiB0fSx0LmV4cG9ydHMuX19lc01vZHVsZT0hMCx0LmV4cG9ydHNbImRlZmF1bHQiXT10LmV4cG9ydHN9LCIzYjE5IjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPSJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSIsaT1yKyIrLyIsbz1yKyItXyIsYT1mdW5jdGlvbih0KXtmb3IodmFyIGU9e30sbj0wO248NjQ7bisrKWVbdC5jaGFyQXQobildPW47cmV0dXJuIGV9O3QuZXhwb3J0cz17aTJjOmksYzJpOmEoaSksaTJjVXJsOm8sYzJpVXJsOmEobyl9fSwiM2I3OCI6ZnVuY3Rpb24odCxlLG4pe3ZhciByPW4oIjgzOTQiKSxpPW4oIjFhZTMiKSxvPXIuZG9jdW1lbnQsYT1pKG8pJiZpKG8uY3JlYXRlRWxlbWVudCk7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiBhP28uY3JlYXRlRWxlbWVudCh0KTp7fX19LCIzYzVkIjpmdW5jdGlvbih0LGUsbil7dmFyIHI9bigiODM5NCIpO3QuZXhwb3J0cz1yLlByb21pc2V9LCIzYzdhIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjQ5N2IiKSxpPVJhbmdlRXJyb3I7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlPXIodCk7aWYoZTwwKXRocm93IG5ldyBpKCJUaGUgYXJndW1lbnQgY2FuJ3QgYmUgbGVzcyB0aGFuIDAiKTtyZXR1cm4gZX19LCIzZDc3IjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oImFlNWMiKSxpPW4oIjcxZTkiKSxvPW4oIjEwOTkiKSxhPW4oIjdmNWYiKSxzPW4oIjgxYTciKSxjPW4oIjhhZTIiKSx1PW4oIjFmYzEiKSxsPW4oIjg1ZjciKSxmPW4oImQ2N2MiKSxkPW4oIjUxMTIiKSxoPUFycmF5O3QuZXhwb3J0cz1mdW5jdGlvbih0KXt2YXIgZT1vKHQpLG49Yyh0aGlzKSxwPWFyZ3VtZW50cy5sZW5ndGgsdj1wPjE/YXJndW1lbnRzWzFdOnZvaWQgMCxnPXZvaWQgMCE9PXY7ZyYmKHY9cih2LHA+Mj9hcmd1bWVudHNbMl06dm9pZCAwKSk7dmFyIG0sYix5LF8sdyx4LFM9ZChlKSxrPTA7aWYoIVN8fHRoaXM9PT1oJiZzKFMpKWZvcihtPXUoZSksYj1uP25ldyB0aGlzKG0pOmgobSk7bT5rO2srKyl4PWc/dihlW2tdLGspOmVba10sbChiLGsseCk7ZWxzZSBmb3IoYj1uP25ldyB0aGlzOltdLF89ZihlLFMpLHc9Xy5uZXh0OyEoeT1pKHcsXykpLmRvbmU7aysrKXg9Zz9hKF8sdixbeS52YWx1ZSxrXSwhMCk6eS52YWx1ZSxsKGIsayx4KTtyZXR1cm4gYi5sZW5ndGg9ayxifX0sIjNkOGEiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiMzM4YyIpLGk9bigiNmFjOSIpLG89bigiMWRlZCIpLGE9bigiZDZiMSIpO3QuZXhwb3J0cz1mdW5jdGlvbih0LGUsbil7Zm9yKHZhciBzPWkoZSksYz1hLmYsdT1vLmYsbD0wO2w8cy5sZW5ndGg7bCsrKXt2YXIgZj1zW2xdO3IodCxmKXx8biYmcihuLGYpfHxjKHQsZix1KGUsZikpfX19LCIzZGRlIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oImQ5NWIiKSxpPW4oImQ5YWYiKSxvPW4oImQ0NTkiKSxhPW4oIjdiMDUiKSxzPW4oIjQxNWIiKS5mLGM9bigiMzQ4NyIpLHU9bigiYjg2ZCIpLGw9bigiM2E0YiIpLGY9bigiMWZhYSIpLGQ9YS5zZXQsaD1hLmdldHRlckZvcigiQXJyYXkgSXRlcmF0b3IiKTt0LmV4cG9ydHM9YyhBcnJheSwiQXJyYXkiLChmdW5jdGlvbih0LGUpe2QodGhpcyx7dHlwZToiQXJyYXkgSXRlcmF0b3IiLHRhcmdldDpyKHQpLGluZGV4OjAsa2luZDplfSl9KSwoZnVuY3Rpb24oKXt2YXIgdD1oKHRoaXMpLGU9dC50YXJnZXQsbj10LmtpbmQscj10LmluZGV4Kys7cmV0dXJuIWV8fHI+PWUubGVuZ3RoPyh0LnRhcmdldD12b2lkIDAsdSh2b2lkIDAsITApKTp1KCJrZXlzIj09bj9yOiJ2YWx1ZXMiPT1uP2Vbcl06W3IsZVtyXV0sITEpfSksInZhbHVlcyIpO3ZhciBwPW8uQXJndW1lbnRzPW8uQXJyYXk7aWYoaSgia2V5cyIpLGkoInZhbHVlcyIpLGkoImVudHJpZXMiKSwhbCYmZiYmInZhbHVlcyIhPT1wLm5hbWUpdHJ5e3MocCwibmFtZSIse3ZhbHVlOiJ2YWx1ZXMifSl9Y2F0Y2godil7fX0sIjNkZTciOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dC5leHBvcnRzPXtDU1NSdWxlTGlzdDowLENTU1N0eWxlRGVjbGFyYXRpb246MCxDU1NWYWx1ZUxpc3Q6MCxDbGllbnRSZWN0TGlzdDowLERPTVJlY3RMaXN0OjAsRE9NU3RyaW5nTGlzdDowLERPTVRva2VuTGlzdDoxLERhdGFUcmFuc2Zlckl0ZW1MaXN0OjAsRmlsZUxpc3Q6MCxIVE1MQWxsQ29sbGVjdGlvbjowLEhUTUxDb2xsZWN0aW9uOjAsSFRNTEZvcm1FbGVtZW50OjAsSFRNTFNlbGVjdEVsZW1lbnQ6MCxNZWRpYUxpc3Q6MCxNaW1lVHlwZUFycmF5OjAsTmFtZWROb2RlTWFwOjAsTm9kZUxpc3Q6MSxQYWludFJlcXVlc3RMaXN0OjAsUGx1Z2luOjAsUGx1Z2luQXJyYXk6MCxTVkdMZW5ndGhMaXN0OjAsU1ZHTnVtYmVyTGlzdDowLFNWR1BhdGhTZWdMaXN0OjAsU1ZHUG9pbnRMaXN0OjAsU1ZHU3RyaW5nTGlzdDowLFNWR1RyYW5zZm9ybUxpc3Q6MCxTb3VyY2VCdWZmZXJMaXN0OjAsU3R5bGVTaGVldExpc3Q6MCxUZXh0VHJhY2tDdWVMaXN0OjAsVGV4dFRyYWNrTGlzdDowLFRvdWNoTGlzdDowfX0sIjNlZmQiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiOGJkYiIpLGk9bigiMTA5OSIpLG89bigiMWZjMSIpLGE9bigiYjJiMSIpLHM9bigiYTgzMCIpLGM9bigiNDFjNyIpLHU9MSE9PVtdLnVuc2hpZnQoMCksbD11fHwhZnVuY3Rpb24oKXt0cnl7T2JqZWN0LmRlZmluZVByb3BlcnR5KFtdLCJsZW5ndGgiLHt3cml0YWJsZTohMX0pLnVuc2hpZnQoKX1jYXRjaCh0KXtyZXR1cm4gdCBpbnN0YW5jZW9mIFR5cGVFcnJvcn19KCk7cih7dGFyZ2V0OiJBcnJheSIscHJvdG86ITAsYXJpdHk6MSxmb3JjZWQ6bH0se3Vuc2hpZnQ6ZnVuY3Rpb24odCl7dmFyIGU9aSh0aGlzKSxuPW8oZSkscj1hcmd1bWVudHMubGVuZ3RoO2lmKHIpe2MobityKTt2YXIgdT1uO3doaWxlKHUtLSl7dmFyIGw9dStyO3UgaW4gZT9lW2xdPWVbdV06cyhlLGwpfWZvcih2YXIgZj0wO2Y8cjtmKyspZVtmXT1hcmd1bWVudHNbZl19cmV0dXJuIGEoZSxuK3IpfX0pfSwiM2Y1NyI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCI4NWMxIiksaT1uKCIxYzA2Iiksbz1yLmRvY3VtZW50LGE9aShvKSYmaShvLmNyZWF0ZUVsZW1lbnQpO3QuZXhwb3J0cz1mdW5jdGlvbih0KXtyZXR1cm4gYT9vLmNyZWF0ZUVsZW1lbnQodCk6e319fSw0MTAwOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiOGJkYiIpLGk9bigiYmI4MCIpLG89bigiNzk5MiIpLGE9bigiMTA5OSIpLHM9bigiMWZjMSIpLGM9bigiYTgzMCIpLHU9bigiOWU3MCIpLGw9bigiYWY5ZSIpLGY9bigiYjY0MyIpLGQ9bigiMmIwNCIpLGg9bigiNWZkOSIpLHA9bigiOGQyNCIpLHY9bigiMDE3MyIpLGc9bigiYTcwMCIpLG09W10sYj1pKG0uc29ydCkseT1pKG0ucHVzaCksXz1sKChmdW5jdGlvbigpe20uc29ydCh2b2lkIDApfSkpLHc9bCgoZnVuY3Rpb24oKXttLnNvcnQobnVsbCl9KSkseD1kKCJzb3J0IiksUz0hbCgoZnVuY3Rpb24oKXtpZih2KXJldHVybiB2PDcwO2lmKCEoaCYmaD4zKSl7aWYocClyZXR1cm4hMDtpZihnKXJldHVybiBnPDYwMzt2YXIgdCxlLG4scixpPSIiO2Zvcih0PTY1O3Q8NzY7dCsrKXtzd2l0Y2goZT1TdHJpbmcuZnJvbUNoYXJDb2RlKHQpLHQpe2Nhc2UgNjY6Y2FzZSA2OTpjYXNlIDcwOmNhc2UgNzI6bj0zO2JyZWFrO2Nhc2UgNjg6Y2FzZSA3MTpuPTQ7YnJlYWs7ZGVmYXVsdDpuPTJ9Zm9yKHI9MDtyPDQ3O3IrKyltLnB1c2goe2s6ZStyLHY6bn0pfWZvcihtLnNvcnQoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGUudi10LnZ9KSkscj0wO3I8bS5sZW5ndGg7cisrKWU9bVtyXS5rLmNoYXJBdCgwKSxpLmNoYXJBdChpLmxlbmd0aC0xKSE9PWUmJihpKz1lKTtyZXR1cm4iREdCRUZIQUNJSksiIT09aX19KSksaz1ffHwhd3x8IXh8fCFTO3Ioe3RhcmdldDoiQXJyYXkiLHByb3RvOiEwLGZvcmNlZDprfSx7c29ydDpmdW5jdGlvbih0KXt2b2lkIDAhPT10JiZvKHQpO3ZhciBlPWEodGhpcyk7aWYoUylyZXR1cm4gdm9pZCAwPT09dD9iKGUpOmIoZSx0KTt2YXIgbixyLGk9W10sbD1zKGUpO2ZvcihyPTA7cjxsO3IrKylyIGluIGUmJnkoaSxlW3JdKTtmKGksZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKGUsbil7cmV0dXJuIHZvaWQgMD09PW4/LTE6dm9pZCAwPT09ZT8xOnZvaWQgMCE9PXQ/K3QoZSxuKXx8MDp1KGUpPnUobik/MTotMX19KHQpKSxuPXMoaSkscj0wO3doaWxlKHI8billW3JdPWlbcisrXTt3aGlsZShyPGwpYyhlLHIrKyk7cmV0dXJuIGV9fSl9LCI0MTViIjpmdW5jdGlvbih0LGUsbil7dmFyIHI9bigiMWZhYSIpLGk9bigiYTc5MSIpLG89bigiNjMyZCIpLGE9bigiZDE5MSIpLHM9bigiYjRiOCIpLGM9VHlwZUVycm9yLHU9T2JqZWN0LmRlZmluZVByb3BlcnR5LGw9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjtlLmY9cj9vP2Z1bmN0aW9uKHQsZSxuKXtpZihhKHQpLGU9cyhlKSxhKG4pLCJmdW5jdGlvbiI9PT10eXBlb2YgdCYmInByb3RvdHlwZSI9PT1lJiYidmFsdWUiaW4gbiYmIndyaXRhYmxlImluIG4mJiFuWyJ3cml0YWJsZSJdKXt2YXIgcj1sKHQsZSk7ciYmclsid3JpdGFibGUiXSYmKHRbZV09bi52YWx1ZSxuPXtjb25maWd1cmFibGU6ImNvbmZpZ3VyYWJsZSJpbiBuP25bImNvbmZpZ3VyYWJsZSJdOnJbImNvbmZpZ3VyYWJsZSJdLGVudW1lcmFibGU6ImVudW1lcmFibGUiaW4gbj9uWyJlbnVtZXJhYmxlIl06clsiZW51bWVyYWJsZSJdLHdyaXRhYmxlOiExfSl9cmV0dXJuIHUodCxlLG4pfTp1OmZ1bmN0aW9uKHQsZSxuKXtpZihhKHQpLGU9cyhlKSxhKG4pLGkpdHJ5e3JldHVybiB1KHQsZSxuKX1jYXRjaChyKXt9aWYoImdldCJpbiBufHwic2V0ImluIG4pdGhyb3cgYygiQWNjZXNzb3JzIG5vdCBzdXBwb3J0ZWQiKTtyZXR1cm4idmFsdWUiaW4gbiYmKHRbZV09bi52YWx1ZSksdH19LCI0MTdhIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oImFmOWUiKSxpPW4oIjBiNWEiKTt0LmV4cG9ydHM9IXIoKGZ1bmN0aW9uKCl7dmFyIHQ9bmV3IEVycm9yKCJhIik7cmV0dXJuISgic3RhY2siaW4gdCl8fChPYmplY3QuZGVmaW5lUHJvcGVydHkodCwic3RhY2siLGkoMSw3KSksNyE9PXQuc3RhY2spfSkpfSwiNDFjNyI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1UeXBlRXJyb3I7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe2lmKHQ+OTAwNzE5OTI1NDc0MDk5MSl0aHJvdyByKCJNYXhpbXVtIGFsbG93ZWQgaW5kZXggZXhjZWVkZWQiKTtyZXR1cm4gdH19LDQzNzk6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCJhYzM4IiksaT1uKCIzMjNjIik7dC5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHIoaSh0KSxlKX19LCI0MzdmIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjZhYTYiKSxpPW4oImU0Y2EiKSxvPW4oIjhjMDgiKSxhPW4oImFiNGEiKSxzPW8oInNwZWNpZXMiKTt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7dmFyIGU9cih0KTthJiZlJiYhZVtzXSYmaShlLHMse2NvbmZpZ3VyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc319KX19LDQ1NTA6ZnVuY3Rpb24odCxlLG4pe24oIjZhNTQiKTt2YXIgcj1uKCI4YmNmIik7dC5leHBvcnRzPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gZT1yKGUpLGUgaW4gdD9PYmplY3QuZGVmaW5lUHJvcGVydHkodCxlLHt2YWx1ZTpuLGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwfSk6dFtlXT1uLHR9LHQuZXhwb3J0cy5fX2VzTW9kdWxlPSEwLHQuZXhwb3J0c1siZGVmYXVsdCJdPXQuZXhwb3J0c30sIjQ1ZGEiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiOGJkYiIpLGk9bigiNzFlOSIpLG89bigiYmI4MCIpLGE9bigiODYyYyIpLHM9bigiNDc0ZiIpLGM9bigiMWViOCIpLHU9bigiZTYyOSIpLGw9bigiOWU3MCIpLGY9bigiNjBiYyIpLGQ9bigiNTJhYyIpLGg9bigiMTAwMSIpLHA9bigiOGMwOCIpLHY9bigiYTczNCIpLGc9cCgicmVwbGFjZSIpLG09VHlwZUVycm9yLGI9bygiIi5pbmRleE9mKSx5PW8oIiIucmVwbGFjZSksXz1vKCIiLnNsaWNlKSx3PU1hdGgubWF4O3Ioe3RhcmdldDoiU3RyaW5nIixwcm90bzohMH0se3JlcGxhY2VBbGw6ZnVuY3Rpb24odCxlKXt2YXIgbixyLG8scCx4LFMsayxDLE8sVD1hKHRoaXMpLEU9MCxBPTAsaj0iIjtpZighYyh0KSl7aWYobj11KHQpLG4mJihyPWwoYShkKHQpKSksIX5iKHIsImciKSkpdGhyb3cgbmV3IG0oImAucmVwbGFjZUFsbGAgZG9lcyBub3QgYWxsb3cgbm9uLWdsb2JhbCByZWdleGVzIik7aWYobz1mKHQsZyksbylyZXR1cm4gaShvLHQsVCxlKTtpZih2JiZuKXJldHVybiB5KGwoVCksdCxlKX1wPWwoVCkseD1sKHQpLFM9cyhlKSxTfHwoZT1sKGUpKSxrPXgubGVuZ3RoLEM9dygxLGspLEU9YihwLHgpO3doaWxlKC0xIT09RSlPPVM/bChlKHgsRSxwKSk6aCh4LHAsRSxbXSx2b2lkIDAsZSksais9XyhwLEEsRSkrTyxBPUUrayxFPUUrQz5wLmxlbmd0aD8tMTpiKHAseCxFK0MpO3JldHVybiBBPHAubGVuZ3RoJiYoais9XyhwLEEpKSxqfX0pfSw0NjI2OmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiOGJkYiIpLGk9bigiMDM2YiIpLmluY2x1ZGVzLG89bigiYWY5ZSIpLGE9bigiMWNiNSIpLHM9bygoZnVuY3Rpb24oKXtyZXR1cm4hQXJyYXkoMSkuaW5jbHVkZXMoKX0pKTtyKHt0YXJnZXQ6IkFycmF5Iixwcm90bzohMCxmb3JjZWQ6c30se2luY2x1ZGVzOmZ1bmN0aW9uKHQpe3JldHVybiBpKHRoaXMsdCxhcmd1bWVudHMubGVuZ3RoPjE/YXJndW1lbnRzWzFdOnZvaWQgMCl9fSksYSgiaW5jbHVkZXMiKX0sIjQ3MWQiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiZTdlMyIpO3QuZXhwb3J0cz1mdW5jdGlvbigpe3ZhciB0PXIodGhpcyksZT0iIjtyZXR1cm4gdC5oYXNJbmRpY2VzJiYoZSs9ImQiKSx0Lmdsb2JhbCYmKGUrPSJnIiksdC5pZ25vcmVDYXNlJiYoZSs9ImkiKSx0Lm11bHRpbGluZSYmKGUrPSJtIiksdC5kb3RBbGwmJihlKz0icyIpLHQudW5pY29kZSYmKGUrPSJ1IiksdC51bmljb2RlU2V0cyYmKGUrPSJ2IiksdC5zdGlja3kmJihlKz0ieSIpLGV9fSwiNDcyYiI6ZnVuY3Rpb24odCxlLG4pe3ZhciByPW4oIjdhYTYiKSxpPW4oImZkY2EiKSxvPW4oIjc3Y2QiKSxhPW4oIjFmYWEiKSxzPW4oIjkzNjAiKS5DT05GSUdVUkFCTEUsYz1uKCI5N2NmIiksdT1uKCI3YjA1IiksbD11LmVuZm9yY2UsZj11LmdldCxkPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxoPWEmJiFyKChmdW5jdGlvbigpe3JldHVybiA4IT09ZCgoZnVuY3Rpb24oKXt9KSwibGVuZ3RoIix7dmFsdWU6OH0pLmxlbmd0aH0pKSxwPVN0cmluZyhTdHJpbmcpLnNwbGl0KCJTdHJpbmciKSx2PXQuZXhwb3J0cz1mdW5jdGlvbih0LGUsbil7IlN5bWJvbCgiPT09U3RyaW5nKGUpLnNsaWNlKDAsNykmJihlPSJbIitTdHJpbmcoZSkucmVwbGFjZSgvXlN5bWJvbFwoKFteKV0qKVwpLywiJDEiKSsiXSIpLG4mJm4uZ2V0dGVyJiYoZT0iZ2V0ICIrZSksbiYmbi5zZXR0ZXImJihlPSJzZXQgIitlKSwoIW8odCwibmFtZSIpfHxzJiZ0Lm5hbWUhPT1lKSYmKGE/ZCh0LCJuYW1lIix7dmFsdWU6ZSxjb25maWd1cmFibGU6ITB9KTp0Lm5hbWU9ZSksaCYmbiYmbyhuLCJhcml0eSIpJiZ0Lmxlbmd0aCE9PW4uYXJpdHkmJmQodCwibGVuZ3RoIix7dmFsdWU6bi5hcml0eX0pO3RyeXtuJiZvKG4sImNvbnN0cnVjdG9yIikmJm4uY29uc3RydWN0b3I/YSYmZCh0LCJwcm90b3R5cGUiLHt3cml0YWJsZTohMX0pOnQucHJvdG90eXBlJiYodC5wcm90b3R5cGU9dm9pZCAwKX1jYXRjaChpKXt9dmFyIHI9bCh0KTtyZXR1cm4gbyhyLCJzb3VyY2UiKXx8KHIuc291cmNlPXAuam9pbigic3RyaW5nIj09dHlwZW9mIGU/ZToiIikpLHR9O0Z1bmN0aW9uLnByb3RvdHlwZS50b1N0cmluZz12KChmdW5jdGlvbigpe3JldHVybiBpKHRoaXMpJiZmKHRoaXMpLnNvdXJjZXx8Yyh0aGlzKX0pLCJ0b1N0cmluZyIpfSwiNDczZiI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCI4YmRiIiksaT1uKCI5YTUxIikubGVmdCxvPW4oIjJiMDQiKSxhPW4oIjAxNzMiKSxzPW4oImRiMDYiKSxjPSFzJiZhPjc5JiZhPDgzLHU9Y3x8IW8oInJlZHVjZSIpO3Ioe3RhcmdldDoiQXJyYXkiLHByb3RvOiEwLGZvcmNlZDp1fSx7cmVkdWNlOmZ1bmN0aW9uKHQpe3ZhciBlPWFyZ3VtZW50cy5sZW5ndGg7cmV0dXJuIGkodGhpcyx0LGUsZT4xP2FyZ3VtZW50c1sxXTp2b2lkIDApfX0pfSw0NzQzOmZ1bmN0aW9uKHQsZSxuKXt2YXIgcj1uKCI4Mzk0Iik7dC5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIG49ci5jb25zb2xlO24mJm4uZXJyb3ImJigxPT1hcmd1bWVudHMubGVuZ3RoP24uZXJyb3IodCk6bi5lcnJvcih0LGUpKX19LCI0NzRmIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPSJvYmplY3QiPT10eXBlb2YgZG9jdW1lbnQmJmRvY3VtZW50LmFsbDt0LmV4cG9ydHM9InVuZGVmaW5lZCI9PXR5cGVvZiByJiZ2b2lkIDAhPT1yP2Z1bmN0aW9uKHQpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiB0fHx0PT09cn06ZnVuY3Rpb24odCl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHR9fSw0ODI1OmZ1bmN0aW9uKHQsZSxuKXt2YXIgcj1uKCJkMTBhIiksaT1uKCI3YWE2Iiksbz1uKCJmZGNhIiksYT1uKCI3MjBkIikscz1uKCJjODZiIiksYz1uKCI5N2NmIiksdT1mdW5jdGlvbigpe30sbD1bXSxmPXMoIlJlZmxlY3QiLCJjb25zdHJ1Y3QiKSxkPS9eXHMqKD86Y2xhc3N8ZnVuY3Rpb24pXGIvLGg9cihkLmV4ZWMpLHA9IWQuZXhlYyh1KSx2PWZ1bmN0aW9uKHQpe2lmKCFvKHQpKXJldHVybiExO3RyeXtyZXR1cm4gZih1LGwsdCksITB9Y2F0Y2goZSl7cmV0dXJuITF9fSxnPWZ1bmN0aW9uKHQpe2lmKCFvKHQpKXJldHVybiExO3N3aXRjaChhKHQpKXtjYXNlIkFzeW5jRnVuY3Rpb24iOmNhc2UiR2VuZXJhdG9yRnVuY3Rpb24iOmNhc2UiQXN5bmNHZW5lcmF0b3JGdW5jdGlvbiI6cmV0dXJuITF9dHJ5e3JldHVybiBwfHwhIWgoZCxjKHQpKX1jYXRjaChlKXtyZXR1cm4hMH19O2cuc2hhbT0hMCx0LmV4cG9ydHM9IWZ8fGkoKGZ1bmN0aW9uKCl7dmFyIHQ7cmV0dXJuIHYodi5jYWxsKXx8IXYoT2JqZWN0KXx8IXYoKGZ1bmN0aW9uKCl7dD0hMH0pKXx8dH0pKT9nOnZ9LCI0OTdiIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjFhYWQiKTt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7dmFyIGU9K3Q7cmV0dXJuIGUhPT1lfHwwPT09ZT8wOnIoZSl9fSwiNDlhNSI6ZnVuY3Rpb24odCxlLG4pe3ZhciByPW4oIjgzOTQiKSxpPW4oImEwMzAiKSxvPXJbIl9fY29yZS1qc19zaGFyZWRfXyJdfHxpKCJfX2NvcmUtanNfc2hhcmVkX18iLHt9KTt0LmV4cG9ydHM9b30sIjQ5ZmMiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiYmI4MCIpLGk9L1teXDAtXHUwMDdFXS8sbz0vWy5cdTMwMDJcdUZGMEVcdUZGNjFdL2csYT0iT3ZlcmZsb3c6IGlucHV0IG5lZWRzIHdpZGVyIGludGVnZXJzIHRvIHByb2Nlc3MiLHM9UmFuZ2VFcnJvcixjPXIoby5leGVjKSx1PU1hdGguZmxvb3IsbD1TdHJpbmcuZnJvbUNoYXJDb2RlLGY9cigiIi5jaGFyQ29kZUF0KSxkPXIoW10uam9pbiksaD1yKFtdLnB1c2gpLHA9cigiIi5yZXBsYWNlKSx2PXIoIiIuc3BsaXQpLGc9cigiIi50b0xvd2VyQ2FzZSksbT1mdW5jdGlvbih0KXtyZXR1cm4gdCsyMis3NSoodDwyNil9LGI9ZnVuY3Rpb24odCxlLG4pe3ZhciByPTA7dD1uP3UodC83MDApOnQ+PjEsdCs9dSh0L2UpO3doaWxlKHQ+NDU1KXQ9dSh0LzM1KSxyKz0zNjtyZXR1cm4gdShyKzM2KnQvKHQrMzgpKX0seT1mdW5jdGlvbih0KXt2YXIgZT1bXTt0PWZ1bmN0aW9uKHQpe3ZhciBlPVtdLG49MCxyPXQubGVuZ3RoO3doaWxlKG48cil7dmFyIGk9Zih0LG4rKyk7aWYoaT49NTUyOTYmJmk8PTU2MzE5JiZuPHIpe3ZhciBvPWYodCxuKyspOzU2MzIwPT09KDY0NTEyJm8pP2goZSwoKDEwMjMmaSk8PDEwKSsoMTAyMyZvKSs2NTUzNik6KGgoZSxpKSxuLS0pfWVsc2UgaChlLGkpfXJldHVybiBlfSh0KTt2YXIgbixyLGk9dC5sZW5ndGgsbz0xMjgsYz0wLHA9NzI7Zm9yKG49MDtuPHQubGVuZ3RoO24rKylyPXRbbl0scjwxMjgmJmgoZSxsKHIpKTt2YXIgdj1lLmxlbmd0aCxnPXY7diYmaChlLCItIik7d2hpbGUoZzxpKXt2YXIgeT0yMTQ3NDgzNjQ3O2ZvcihuPTA7bjx0Lmxlbmd0aDtuKyspcj10W25dLHI+PW8mJnI8eSYmKHk9cik7dmFyIF89ZysxO2lmKHktbz51KCgyMTQ3NDgzNjQ3LWMpL18pKXRocm93IG5ldyBzKGEpO2ZvcihjKz0oeS1vKSpfLG89eSxuPTA7bjx0Lmxlbmd0aDtuKyspe2lmKHI9dFtuXSxyPG8mJisrYz4yMTQ3NDgzNjQ3KXRocm93IG5ldyBzKGEpO2lmKHI9PT1vKXt2YXIgdz1jLHg9MzY7d2hpbGUoMSl7dmFyIFM9eDw9cD8xOng+PXArMjY/MjY6eC1wO2lmKHc8UylicmVhazt2YXIgaz13LVMsQz0zNi1TO2goZSxsKG0oUytrJUMpKSksdz11KGsvQykseCs9MzZ9aChlLGwobSh3KSkpLHA9YihjLF8sZz09PXYpLGM9MCxnKyt9fWMrKyxvKyt9cmV0dXJuIGQoZSwiIil9O3QuZXhwb3J0cz1mdW5jdGlvbih0KXt2YXIgZSxuLHI9W10sYT12KHAoZyh0KSxvLCIuIiksIi4iKTtmb3IoZT0wO2U8YS5sZW5ndGg7ZSsrKW49YVtlXSxoKHIsYyhpLG4pPyJ4bi0tIit5KG4pOm4pO3JldHVybiBkKHIsIi4iKX19LCI0YWZiIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjUwNTciKS5JdGVyYXRvclByb3RvdHlwZSxpPW4oImUzN2MiKSxvPW4oIjBiNWEiKSxhPW4oIjE4MWQiKSxzPW4oIjc5OWQiKSxjPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9O3QuZXhwb3J0cz1mdW5jdGlvbih0LGUsbix1KXt2YXIgbD1lKyIgSXRlcmF0b3IiO3JldHVybiB0LnByb3RvdHlwZT1pKHIse25leHQ6bygrIXUsbil9KSxhKHQsbCwhMSwhMCksc1tsXT1jLHR9fSwiNGM3NyI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcixpLG8sYT1uKCI3YWE2Iikscz1uKCJmZGNhIiksYz1uKCIxYWUzIiksdT1uKCI4NDlkIiksbD1uKCI4YTI5IiksZj1uKCIyN2NjIiksZD1uKCIyOWQ1IiksaD1uKCIzYTRiIikscD1kKCJpdGVyYXRvciIpLHY9ITE7W10ua2V5cyYmKG89W10ua2V5cygpLCJuZXh0ImluIG8/KGk9bChsKG8pKSxpIT09T2JqZWN0LnByb3RvdHlwZSYmKHI9aSkpOnY9ITApO3ZhciBnPSFjKHIpfHxhKChmdW5jdGlvbigpe3ZhciB0PXt9O3JldHVybiByW3BdLmNhbGwodCkhPT10fSkpO2c/cj17fTpoJiYocj11KHIpKSxzKHJbcF0pfHxmKHIscCwoZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30pKSx0LmV4cG9ydHM9e0l0ZXJhdG9yUHJvdG90eXBlOnIsQlVHR1lfU0FGQVJJX0lURVJBVE9SUzp2fX0sIjRkMTYiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiYWU1YyIpLGk9bigiYmI4MCIpLG89bigiN2U0MSIpLGE9bigiMTA5OSIpLHM9bigiMWZjMSIpLGM9bigiMzI0MiIpLHU9aShbXS5wdXNoKSxsPWZ1bmN0aW9uKHQpe3ZhciBlPTE9PT10LG49Mj09PXQsaT0zPT09dCxsPTQ9PT10LGY9Nj09PXQsZD03PT09dCxoPTU9PT10fHxmO3JldHVybiBmdW5jdGlvbihwLHYsZyxtKXtmb3IodmFyIGIseSxfPWEocCksdz1vKF8pLHg9cyh3KSxTPXIodixnKSxrPTAsQz1tfHxjLE89ZT9DKHAseCk6bnx8ZD9DKHAsMCk6dm9pZCAwO3g+aztrKyspaWYoKGh8fGsgaW4gdykmJihiPXdba10seT1TKGIsayxfKSx0KSlpZihlKU9ba109eTtlbHNlIGlmKHkpc3dpdGNoKHQpe2Nhc2UgMzpyZXR1cm4hMDtjYXNlIDU6cmV0dXJuIGI7Y2FzZSA2OnJldHVybiBrO2Nhc2UgMjp1KE8sYil9ZWxzZSBzd2l0Y2godCl7Y2FzZSA0OnJldHVybiExO2Nhc2UgNzp1KE8sYil9cmV0dXJuIGY/LTE6aXx8bD9sOk99fTt0LmV4cG9ydHM9e2ZvckVhY2g6bCgwKSxtYXA6bCgxKSxmaWx0ZXI6bCgyKSxzb21lOmwoMyksZXZlcnk6bCg0KSxmaW5kOmwoNSksZmluZEluZGV4OmwoNiksZmlsdGVyUmVqZWN0OmwoNyl9fSwiNGQ4ZiI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCI3ZGRiIiksaT1uKCIxZmMxIiksbz1uKCI0OTdiIiksYT1yLmFUeXBlZEFycmF5LHM9ci5leHBvcnRUeXBlZEFycmF5TWV0aG9kO3MoImF0IiwoZnVuY3Rpb24odCl7dmFyIGU9YSh0aGlzKSxuPWkoZSkscj1vKHQpLHM9cj49MD9yOm4rcjtyZXR1cm4gczwwfHxzPj1uP3ZvaWQgMDplW3NdfSkpfSwiNGRiMiI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCI4YmRiIiksaT1uKCI5ZjY5Iiksbz1uKCJhZjllIiksYT1uKCJlZmE1Iikscz1uKCJlN2UzIiksYz1uKCJlMzRjIiksdT1uKCJjNDM1IiksbD1uKCI1ZGZhIiksZj1hLkFycmF5QnVmZmVyLGQ9YS5EYXRhVmlldyxoPWQucHJvdG90eXBlLHA9aShmLnByb3RvdHlwZS5zbGljZSksdj1pKGguZ2V0VWludDgpLGc9aShoLnNldFVpbnQ4KSxtPW8oKGZ1bmN0aW9uKCl7cmV0dXJuIW5ldyBmKDIpLnNsaWNlKDEsdm9pZCAwKS5ieXRlTGVuZ3RofSkpO3Ioe3RhcmdldDoiQXJyYXlCdWZmZXIiLHByb3RvOiEwLHVuc2FmZTohMCxmb3JjZWQ6bX0se3NsaWNlOmZ1bmN0aW9uKHQsZSl7aWYocCYmdm9pZCAwPT09ZSlyZXR1cm4gcChzKHRoaXMpLHQpO3ZhciBuPXModGhpcykuYnl0ZUxlbmd0aCxyPWModCxuKSxpPWModm9pZCAwPT09ZT9uOmUsbiksbz1uZXcobCh0aGlzLGYpKSh1KGktcikpLGE9bmV3IGQodGhpcyksaD1uZXcgZChvKSxtPTA7d2hpbGUocjxpKWcoaCxtKyssdihhLHIrKykpO3JldHVybiBvfX0pfSwiNGRiNiI6ZnVuY3Rpb24odCxlLG4pe24oIjZhNTQiKTt2YXIgcj1uKCI4YmNmIik7ZnVuY3Rpb24gaSh0LGUpe2Zvcih2YXIgbj0wO248ZS5sZW5ndGg7bisrKXt2YXIgaT1lW25dO2kuZW51bWVyYWJsZT1pLmVudW1lcmFibGV8fCExLGkuY29uZmlndXJhYmxlPSEwLCJ2YWx1ZSJpbiBpJiYoaS53cml0YWJsZT0hMCksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQscihpLmtleSksaSl9fXQuZXhwb3J0cz1mdW5jdGlvbih0LGUsbil7cmV0dXJuIGUmJmkodC5wcm90b3R5cGUsZSksbiYmaSh0LG4pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJwcm90b3R5cGUiLHt3cml0YWJsZTohMX0pLHR9LHQuZXhwb3J0cy5fX2VzTW9kdWxlPSEwLHQuZXhwb3J0c1siZGVmYXVsdCJdPXQuZXhwb3J0c30sIjRlOWIiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiNmFhNiIpLGk9bigiZjI1OSIpLG89bigiMTgxZCIpO2koInRvU3RyaW5nVGFnIiksbyhyKCJTeW1ib2wiKSwiU3ltYm9sIil9LCI0ZWE0IjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjQzN2YiKTtyKCJBcnJheSIpfSwiNGYwNCI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCJhZjcxIik7dC5leHBvcnRzPXImJiFTeW1ib2wuc2hhbSYmInN5bWJvbCI9PXR5cGVvZiBTeW1ib2wuaXRlcmF0b3J9LDUwMTQ6ZnVuY3Rpb24odCxlLG4pe24oImRjOGEiKSxuKCIwMWEyIiksbigiOGY3MSIpLG4oImJmMGYiKSxuKCI5YTJjIiksbigiYWE5YyIpLG4oIjI3OTciKSxuKCJhNjQ0IiksbigiYTAzYSIpLG4oIjZhNTQiKTt2YXIgcj1uKCI0NTUwIik7ZnVuY3Rpb24gaSh0LGUpe3ZhciBuPU9iamVjdC5rZXlzKHQpO2lmKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpe3ZhciByPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHModCk7ZSYmKHI9ci5maWx0ZXIoKGZ1bmN0aW9uKGUpe3JldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHQsZSkuZW51bWVyYWJsZX0pKSksbi5wdXNoLmFwcGx5KG4scil9cmV0dXJuIG59dC5leHBvcnRzPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT0xO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspe3ZhciBuPW51bGwhPWFyZ3VtZW50c1tlXT9hcmd1bWVudHNbZV06e307ZSUyP2koT2JqZWN0KG4pLCEwKS5mb3JFYWNoKChmdW5jdGlvbihlKXtyKHQsZSxuW2VdKX0pKTpPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycz9PYmplY3QuZGVmaW5lUHJvcGVydGllcyh0LE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKG4pKTppKE9iamVjdChuKSkuZm9yRWFjaCgoZnVuY3Rpb24oZSl7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsZSxPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG4sZSkpfSkpfXJldHVybiB0fSx0LmV4cG9ydHMuX19lc01vZHVsZT0hMCx0LmV4cG9ydHNbImRlZmF1bHQiXT10LmV4cG9ydHN9LDUwNTc6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcixpLG8sYT1uKCJhZjllIikscz1uKCI0NzRmIiksYz1uKCIxYzA2IiksdT1uKCJlMzdjIiksbD1uKCJjMzM3IiksZj1uKCI4MWE5IiksZD1uKCI4YzA4IiksaD1uKCJhNzM0IikscD1kKCJpdGVyYXRvciIpLHY9ITE7W10ua2V5cyYmKG89W10ua2V5cygpLCJuZXh0ImluIG8/KGk9bChsKG8pKSxpIT09T2JqZWN0LnByb3RvdHlwZSYmKHI9aSkpOnY9ITApO3ZhciBnPSFjKHIpfHxhKChmdW5jdGlvbigpe3ZhciB0PXt9O3JldHVybiByW3BdLmNhbGwodCkhPT10fSkpO2c/cj17fTpoJiYocj11KHIpKSxzKHJbcF0pfHxmKHIscCwoZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30pKSx0LmV4cG9ydHM9e0l0ZXJhdG9yUHJvdG90eXBlOnIsQlVHR1lfU0FGQVJJX0lURVJBVE9SUzp2fX0sNTA3NTpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oImFlNWMiKSxpPW4oIjcxZTkiKSxvPW4oImU3ZTMiKSxhPW4oIjUyZGYiKSxzPW4oIjgxYTciKSxjPW4oIjFmYzEiKSx1PW4oIjEyOTciKSxsPW4oImQ2N2MiKSxmPW4oIjUxMTIiKSxkPW4oIjdlOTEiKSxoPVR5cGVFcnJvcixwPWZ1bmN0aW9uKHQsZSl7dGhpcy5zdG9wcGVkPXQsdGhpcy5yZXN1bHQ9ZX0sdj1wLnByb3RvdHlwZTt0LmV4cG9ydHM9ZnVuY3Rpb24odCxlLG4pe3ZhciBnLG0sYix5LF8sdyx4LFM9biYmbi50aGF0LGs9ISghbnx8IW4uQVNfRU5UUklFUyksQz0hKCFufHwhbi5JU19SRUNPUkQpLE89ISghbnx8IW4uSVNfSVRFUkFUT1IpLFQ9ISghbnx8IW4uSU5URVJSVVBURUQpLEU9cihlLFMpLEE9ZnVuY3Rpb24odCl7cmV0dXJuIGcmJmQoZywibm9ybWFsIix0KSxuZXcgcCghMCx0KX0saj1mdW5jdGlvbih0KXtyZXR1cm4gaz8obyh0KSxUP0UodFswXSx0WzFdLEEpOkUodFswXSx0WzFdKSk6VD9FKHQsQSk6RSh0KX07aWYoQylnPXQuaXRlcmF0b3I7ZWxzZSBpZihPKWc9dDtlbHNle2lmKG09Zih0KSwhbSl0aHJvdyBuZXcgaChhKHQpKyIgaXMgbm90IGl0ZXJhYmxlIik7aWYocyhtKSl7Zm9yKGI9MCx5PWModCk7eT5iO2IrKylpZihfPWoodFtiXSksXyYmdSh2LF8pKXJldHVybiBfO3JldHVybiBuZXcgcCghMSl9Zz1sKHQsbSl9dz1DP3QubmV4dDpnLm5leHQ7d2hpbGUoISh4PWkodyxnKSkuZG9uZSl7dHJ5e189aih4LnZhbHVlKX1jYXRjaChNKXtkKGcsInRocm93IixNKX1pZigib2JqZWN0Ij09dHlwZW9mIF8mJl8mJnUodixfKSlyZXR1cm4gX31yZXR1cm4gbmV3IHAoITEpfX0sIjUwOGQiOmZ1bmN0aW9uKHQsZSxuKXt2YXIgcj1uKCI4Mzk0IiksaT1uKCJkOTUzIikuZixvPW4oImQxYTgiKSxhPW4oIjI3Y2MiKSxzPW4oImEwMzAiKSxjPW4oImMxOTkiKSx1PW4oIjE1MzUiKTt0LmV4cG9ydHM9ZnVuY3Rpb24odCxlKXt2YXIgbixsLGYsZCxoLHAsdj10LnRhcmdldCxnPXQuZ2xvYmFsLG09dC5zdGF0O2lmKGw9Zz9yOm0/clt2XXx8cyh2LHt9KTooclt2XXx8e30pLnByb3RvdHlwZSxsKWZvcihmIGluIGUpe2lmKGg9ZVtmXSx0LmRvbnRDYWxsR2V0U2V0PyhwPWkobCxmKSxkPXAmJnAudmFsdWUpOmQ9bFtmXSxuPXUoZz9mOnYrKG0/Ii4iOiIjIikrZix0LmZvcmNlZCksIW4mJnZvaWQgMCE9PWQpe2lmKHR5cGVvZiBoPT10eXBlb2YgZCljb250aW51ZTtjKGgsZCl9KHQuc2hhbXx8ZCYmZC5zaGFtKSYmbyhoLCJzaGFtIiwhMCksYShsLGYsaCx0KX19fSwiNTBkNSI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCJjMjE1IiksaT1UeXBlRXJyb3I7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlPXIodCwibnVtYmVyIik7aWYoIm51bWJlciI9PXR5cGVvZiBlKXRocm93IG5ldyBpKCJDYW4ndCBjb252ZXJ0IG51bWJlciB0byBiaWdpbnQiKTtyZXR1cm4gQmlnSW50KGUpfX0sNTExMjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjhlMDIiKSxpPW4oIjYwYmMiKSxvPW4oIjFlYjgiKSxhPW4oIjc5OWQiKSxzPW4oIjhjMDgiKSxjPXMoIml0ZXJhdG9yIik7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe2lmKCFvKHQpKXJldHVybiBpKHQsYyl8fGkodCwiQEBpdGVyYXRvciIpfHxhW3IodCldfX0sNTE0NTpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjlmOWUiKSxpPW4oImY2NjAiKSxvPW4oIjQ5N2IiKSxhPW4oIjFmYzEiKSxzPW4oIjJiMDQiKSxjPU1hdGgubWluLHU9W10ubGFzdEluZGV4T2YsbD0hIXUmJjEvWzFdLmxhc3RJbmRleE9mKDEsLTApPDAsZj1zKCJsYXN0SW5kZXhPZiIpLGQ9bHx8IWY7dC5leHBvcnRzPWQ/ZnVuY3Rpb24odCl7aWYobClyZXR1cm4gcih1LHRoaXMsYXJndW1lbnRzKXx8MDt2YXIgZT1pKHRoaXMpLG49YShlKTtpZigwPT09bilyZXR1cm4tMTt2YXIgcz1uLTE7Zm9yKGFyZ3VtZW50cy5sZW5ndGg+MSYmKHM9YyhzLG8oYXJndW1lbnRzWzFdKSkpLHM8MCYmKHM9bitzKTtzPj0wO3MtLSlpZihzIGluIGUmJmVbc109PT10KXJldHVybiBzfHwwO3JldHVybi0xfTp1fSwiNTFiOSI6ZnVuY3Rpb24odCxlLG4pe2Z1bmN0aW9uIHIoZSxuKXtyZXR1cm4gdC5leHBvcnRzPXI9T2JqZWN0LnNldFByb3RvdHlwZU9mP09iamVjdC5zZXRQcm90b3R5cGVPZi5iaW5kKCk6ZnVuY3Rpb24odCxlKXtyZXR1cm4gdC5fX3Byb3RvX189ZSx0fSx0LmV4cG9ydHMuX19lc01vZHVsZT0hMCx0LmV4cG9ydHNbImRlZmF1bHQiXT10LmV4cG9ydHMscihlLG4pfW4oIjhhOGQiKSx0LmV4cG9ydHM9cix0LmV4cG9ydHMuX19lc01vZHVsZT0hMCx0LmV4cG9ydHNbImRlZmF1bHQiXT10LmV4cG9ydHN9LCI1MmFjIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjcxZTkiKSxpPW4oIjMzOGMiKSxvPW4oIjEyOTciKSxhPW4oIjQ3MWQiKSxzPVJlZ0V4cC5wcm90b3R5cGU7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlPXQuZmxhZ3M7cmV0dXJuIHZvaWQgMCE9PWV8fCJmbGFncyJpbiBzfHxpKHQsImZsYWdzIil8fCFvKHMsdCk/ZTpyKGEsdCl9fSwiNTJkZiI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1TdHJpbmc7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3RyeXtyZXR1cm4gcih0KX1jYXRjaChlKXtyZXR1cm4iT2JqZWN0In19fSw1MzMwOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiMWMwNiIpLGk9bigiNmFjYSIpO3QuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3IoZSkmJiJjYXVzZSJpbiBlJiZpKHQsImNhdXNlIixlLmNhdXNlKX19LDU2Mjg6ZnVuY3Rpb24odCxlLG4pe3ZhciByPW4oIjFmYWEiKSxpPW4oIjYzMmQiKSxvPW4oIjQxNWIiKSxhPW4oImQxOTEiKSxzPW4oImQ5NWIiKSxjPW4oIjkxMDUiKTtlLmY9ciYmIWk/T2JqZWN0LmRlZmluZVByb3BlcnRpZXM6ZnVuY3Rpb24odCxlKXthKHQpO3ZhciBuLHI9cyhlKSxpPWMoZSksdT1pLmxlbmd0aCxsPTA7d2hpbGUodT5sKW8uZih0LG49aVtsKytdLHJbbl0pO3JldHVybiB0fX0sIjU2OWIiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiOGMwOCIpLGk9cigidG9TdHJpbmdUYWciKSxvPXt9O29baV09InoiLHQuZXhwb3J0cz0iW29iamVjdCB6XSI9PT1TdHJpbmcobyl9LCI1NmM4IjpmdW5jdGlvbih0LGUsbil7dmFyIHI9bigiZDEwYSIpLGk9bigiNzdjZCIpLG89bigiZDk1YiIpLGE9bigiMGUzNiIpLmluZGV4T2Yscz1uKCJiZDhhIiksYz1yKFtdLnB1c2gpO3QuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciBuLHI9byh0KSx1PTAsbD1bXTtmb3IobiBpbiByKSFpKHMsbikmJmkocixuKSYmYyhsLG4pO3doaWxlKGUubGVuZ3RoPnUpaShyLG49ZVt1KytdKSYmKH5hKGwsbil8fGMobCxuKSk7cmV0dXJuIGx9fSwiNTZjOSI6ZnVuY3Rpb24odCxlLG4pe24oIjllMTUiKSxuKCI4ODRiIiksbigiMDFhMiIpLG4oImUzOWMiKSxuKCJiZjBmIiksbigiN2E3NiIpLG4oImM5YjUiKSxuKCI2NGFhIik7dmFyIHI9bigiYmRiYiIpWyJkZWZhdWx0Il07dC5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7aWYoIm9iamVjdCIhPT1yKHQpfHxudWxsPT09dClyZXR1cm4gdDt2YXIgbj10W1N5bWJvbC50b1ByaW1pdGl2ZV07aWYodm9pZCAwIT09bil7dmFyIGk9bi5jYWxsKHQsZXx8ImRlZmF1bHQiKTtpZigib2JqZWN0IiE9PXIoaSkpcmV0dXJuIGk7dGhyb3cgbmV3IFR5cGVFcnJvcigiQEB0b1ByaW1pdGl2ZSBtdXN0IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZS4iKX1yZXR1cm4oInN0cmluZyI9PT1lP1N0cmluZzpOdW1iZXIpKHQpfSx0LmV4cG9ydHMuX19lc01vZHVsZT0hMCx0LmV4cG9ydHNbImRlZmF1bHQiXT10LmV4cG9ydHN9LCI1N2UyIjpmdW5jdGlvbih0LGUpe3ZhciBuPU1hdGguY2VpbCxyPU1hdGguZmxvb3I7dC5leHBvcnRzPU1hdGgudHJ1bmN8fGZ1bmN0aW9uKHQpe3ZhciBlPSt0O3JldHVybihlPjA/cjpuKShlKX19LCI1OWE2IjpmdW5jdGlvbih0LGUsbil7bigiN2E3NiIpLG4oImM5YjUiKSxuKCI2YTU0Iik7dmFyIHI9bigiNTFiOSIpO3QuZXhwb3J0cz1mdW5jdGlvbih0LGUpe2lmKCJmdW5jdGlvbiIhPT10eXBlb2YgZSYmbnVsbCE9PWUpdGhyb3cgbmV3IFR5cGVFcnJvcigiU3VwZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb24iKTt0LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGUmJmUucHJvdG90eXBlLHtjb25zdHJ1Y3Rvcjp7dmFsdWU6dCx3cml0YWJsZTohMCxjb25maWd1cmFibGU6ITB9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsInByb3RvdHlwZSIse3dyaXRhYmxlOiExfSksZSYmcih0LGUpfSx0LmV4cG9ydHMuX19lc01vZHVsZT0hMCx0LmV4cG9ydHNbImRlZmF1bHQiXT10LmV4cG9ydHN9LCI1OWY4IjpmdW5jdGlvbih0LGUsbil7dmFyIHI9bigiM2M1ZCIpLGk9bigiZDQ3ZSIpLG89bigiODNiMyIpLkNPTlNUUlVDVE9SO3QuZXhwb3J0cz1vfHwhaSgoZnVuY3Rpb24odCl7ci5hbGwodCkudGhlbih2b2lkIDAsKGZ1bmN0aW9uKCl7fSkpfSkpfSwiNWE1NiI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCI4YmRiIiksaT1uKCI4NWMxIiksbz1uKCI2YWE2IiksYT1uKCIwYjVhIikscz1uKCJkNmIxIikuZixjPW4oIjMzOGMiKSx1PW4oImI3MjAiKSxsPW4oImRjZGEiKSxmPW4oImU3ZGEiKSxkPW4oImU2YTIiKSxoPW4oIjdlODciKSxwPW4oImFiNGEiKSx2PW4oImE3MzQiKSxnPW8oIkVycm9yIiksbT1vKCJET01FeGNlcHRpb24iKSxiPWZ1bmN0aW9uKCl7dSh0aGlzLHkpO3ZhciB0PWFyZ3VtZW50cy5sZW5ndGgsZT1mKHQ8MT92b2lkIDA6YXJndW1lbnRzWzBdKSxuPWYodDwyP3ZvaWQgMDphcmd1bWVudHNbMV0sIkVycm9yIikscj1uZXcgbShlLG4pLGk9bmV3IGcoZSk7cmV0dXJuIGkubmFtZT0iRE9NRXhjZXB0aW9uIixzKHIsInN0YWNrIixhKDEsaChpLnN0YWNrLDEpKSksbChyLHRoaXMsYikscn0seT1iLnByb3RvdHlwZT1tLnByb3RvdHlwZSxfPSJzdGFjayJpbiBuZXcgZygiRE9NRXhjZXB0aW9uIiksdz0ic3RhY2siaW4gbmV3IG0oMSwyKSx4PW0mJnAmJk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoaSwiRE9NRXhjZXB0aW9uIiksUz0hIXgmJiEoeC53cml0YWJsZSYmeC5jb25maWd1cmFibGUpLGs9XyYmIVMmJiF3O3Ioe2dsb2JhbDohMCxjb25zdHJ1Y3RvcjohMCxmb3JjZWQ6dnx8a30se0RPTUV4Y2VwdGlvbjprP2I6bX0pO3ZhciBDPW8oIkRPTUV4Y2VwdGlvbiIpLE89Qy5wcm90b3R5cGU7aWYoTy5jb25zdHJ1Y3RvciE9PUMpZm9yKHZhciBUIGluIHZ8fHMoTywiY29uc3RydWN0b3IiLGEoMSxDKSksZClpZihjKGQsVCkpe3ZhciBFPWRbVF0sQT1FLnM7YyhDLEEpfHxzKEMsQSxhKDYsRS5jKSl9fSwiNWFjNyI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCI4YmRiIiksaT1uKCJiYjgwIiksbz1uKCJiNmExIiksYT1uKCI4NjJjIikscz1uKCI5ZTcwIiksYz1uKCIwOTMxIiksdT1pKCIiLmluZGV4T2YpO3Ioe3RhcmdldDoiU3RyaW5nIixwcm90bzohMCxmb3JjZWQ6IWMoImluY2x1ZGVzIil9LHtpbmNsdWRlczpmdW5jdGlvbih0KXtyZXR1cm4hIX51KHMoYSh0aGlzKSkscyhvKHQpKSxhcmd1bWVudHMubGVuZ3RoPjE/YXJndW1lbnRzWzFdOnZvaWQgMCl9fSl9LCI1YjJjIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oImFmNzEiKTt0LmV4cG9ydHM9ciYmISFTeW1ib2xbImZvciJdJiYhIVN5bWJvbC5rZXlGb3J9LCI1YzQ3IjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjhiZGIiKSxpPW4oIjlhZDgiKTtyKHt0YXJnZXQ6IlJlZ0V4cCIscHJvdG86ITAsZm9yY2VkOi8uLy5leGVjIT09aX0se2V4ZWM6aX0pfSwiNWQ1NiI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCJiYjgwIiksaT1uKCJhYzVmIiksbz1uKCI0NzRmIiksYT1uKCJhZGE1Iikscz1uKCI5ZTcwIiksYz1yKFtdLnB1c2gpO3QuZXhwb3J0cz1mdW5jdGlvbih0KXtpZihvKHQpKXJldHVybiB0O2lmKGkodCkpe2Zvcih2YXIgZT10Lmxlbmd0aCxuPVtdLHI9MDtyPGU7cisrKXt2YXIgdT10W3JdOyJzdHJpbmciPT10eXBlb2YgdT9jKG4sdSk6Im51bWJlciIhPXR5cGVvZiB1JiYiTnVtYmVyIiE9PWEodSkmJiJTdHJpbmciIT09YSh1KXx8YyhuLHModSkpfXZhciBsPW4ubGVuZ3RoLGY9ITA7cmV0dXJuIGZ1bmN0aW9uKHQsZSl7aWYoZilyZXR1cm4gZj0hMSxlO2lmKGkodGhpcykpcmV0dXJuIGU7Zm9yKHZhciByPTA7cjxsO3IrKylpZihuW3JdPT09dClyZXR1cm4gZX19fX0sIjVkNmIiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bigiNmE1NCIpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxlLmRlZmF1bHQ9ZnVuY3Rpb24odCxlKXtpZighdClyZXR1cm47aWYoInN0cmluZyI9PT10eXBlb2YgdClyZXR1cm4oMCxyLmRlZmF1bHQpKHQsZSk7dmFyIG49T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpLnNsaWNlKDgsLTEpOyJPYmplY3QiPT09biYmdC5jb25zdHJ1Y3RvciYmKG49dC5jb25zdHJ1Y3Rvci5uYW1lKTtpZigiTWFwIj09PW58fCJTZXQiPT09bilyZXR1cm4gQXJyYXkuZnJvbSh0KTtpZigiQXJndW1lbnRzIj09PW58fC9eKD86VWl8SSludCg/Ojh8MTZ8MzIpKD86Q2xhbXBlZCk/QXJyYXkkLy50ZXN0KG4pKXJldHVybigwLHIuZGVmYXVsdCkodCxlKX0sbigiZjdhNSIpLG4oImJmMGYiKSxuKCIwOGViIiksbigiMThmNyIpLG4oIjVjNDciKSxuKCIwNTA2Iik7dmFyIHI9ZnVuY3Rpb24odCl7cmV0dXJuIHQmJnQuX19lc01vZHVsZT90OntkZWZhdWx0OnR9fShuKCI4ZDBiIikpfSwiNWQ2ZSI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCJhZjllIik7dC5leHBvcnRzPXIoKGZ1bmN0aW9uKCl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIEFycmF5QnVmZmVyKXt2YXIgdD1uZXcgQXJyYXlCdWZmZXIoOCk7T2JqZWN0LmlzRXh0ZW5zaWJsZSh0KSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsImEiLHt2YWx1ZTo4fSl9fSkpfSwiNWRlNiI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtuKCI2YTU0IiksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGUuZGVmYXVsdD1mdW5jdGlvbih0LGUpe3JldHVybigwLHIuZGVmYXVsdCkodCl8fCgwLGkuZGVmYXVsdCkodCxlKXx8KDAsby5kZWZhdWx0KSh0LGUpfHwoMCxhLmRlZmF1bHQpKCl9O3ZhciByPXMobigiNjI0MiIpKSxpPXMobigiMWQxOCIpKSxvPXMobigiNWQ2YiIpKSxhPXMobigiYjdiMSIpKTtmdW5jdGlvbiBzKHQpe3JldHVybiB0JiZ0Ll9fZXNNb2R1bGU/dDp7ZGVmYXVsdDp0fX19LCI1ZGZhIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oImU3ZTMiKSxpPW4oIjVlZTIiKSxvPW4oIjFlYjgiKSxhPW4oIjhjMDgiKSxzPWEoInNwZWNpZXMiKTt0LmV4cG9ydHM9ZnVuY3Rpb24odCxlKXt2YXIgbixhPXIodCkuY29uc3RydWN0b3I7cmV0dXJuIHZvaWQgMD09PWF8fG8obj1yKGEpW3NdKT9lOmkobil9fSwiNWU1NCI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCI3ZGRiIiksaT1uKCI0ZDE2IikubWFwLG89bigiMzIzYyIpLGE9ci5hVHlwZWRBcnJheSxzPXIuZXhwb3J0VHlwZWRBcnJheU1ldGhvZDtzKCJtYXAiLChmdW5jdGlvbih0KXtyZXR1cm4gaShhKHRoaXMpLHQsYXJndW1lbnRzLmxlbmd0aD4xP2FyZ3VtZW50c1sxXTp2b2lkIDAsKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIG5ldyhvKHQpKShlKX0pKX0pKX0sIjVlZTIiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiOGFlMiIpLGk9bigiNTJkZiIpLG89VHlwZUVycm9yO3QuZXhwb3J0cz1mdW5jdGlvbih0KXtpZihyKHQpKXJldHVybiB0O3Rocm93IG5ldyBvKGkodCkrIiBpcyBub3QgYSBjb25zdHJ1Y3RvciIpfX0sIjVlZjIiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiOGJkYiIpLGk9bigiOWY2OSIpLG89bigiMDM2YiIpLmluZGV4T2YsYT1uKCIyYjA0Iikscz1pKFtdLmluZGV4T2YpLGM9ISFzJiYxL3MoWzFdLDEsLTApPDAsdT1jfHwhYSgiaW5kZXhPZiIpO3Ioe3RhcmdldDoiQXJyYXkiLHByb3RvOiEwLGZvcmNlZDp1fSx7aW5kZXhPZjpmdW5jdGlvbih0KXt2YXIgZT1hcmd1bWVudHMubGVuZ3RoPjE/YXJndW1lbnRzWzFdOnZvaWQgMDtyZXR1cm4gYz9zKHRoaXMsdCxlKXx8MDpvKHRoaXMsdCxlKX19KX0sIjVmZDkiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiMjlkOCIpLGk9ci5tYXRjaCgvZmlyZWZveFwvKFxkKykvaSk7dC5leHBvcnRzPSEhaSYmK2lbMV19LCI2MGJjIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjc5OTIiKSxpPW4oIjFlYjgiKTt0LmV4cG9ydHM9ZnVuY3Rpb24odCxlKXt2YXIgbj10W2VdO3JldHVybiBpKG4pP3ZvaWQgMDpyKG4pfX0sNjE1ODpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oImFlNWMiKSxpPW4oIjdlNDEiKSxvPW4oIjEwOTkiKSxhPW4oIjFmYzEiKSxzPWZ1bmN0aW9uKHQpe3ZhciBlPTE9PT10O3JldHVybiBmdW5jdGlvbihuLHMsYyl7dmFyIHUsbCxmPW8obiksZD1pKGYpLGg9YShkKSxwPXIocyxjKTt3aGlsZShoLS0gPjApaWYodT1kW2hdLGw9cCh1LGgsZiksbClzd2l0Y2godCl7Y2FzZSAwOnJldHVybiB1O2Nhc2UgMTpyZXR1cm4gaH1yZXR1cm4gZT8tMTp2b2lkIDB9fTt0LmV4cG9ydHM9e2ZpbmRMYXN0OnMoMCksZmluZExhc3RJbmRleDpzKDEpfX0sIjYxYTMiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiNTA4ZCIpLGk9bigiZDdiOCIpLG89bigiZjQzOSIpLGE9bigiODNiMyIpLkNPTlNUUlVDVE9SO3Ioe3RhcmdldDoiUHJvbWlzZSIsc3RhdDohMCxmb3JjZWQ6YX0se3JlamVjdDpmdW5jdGlvbih0KXt2YXIgZT1vLmYodGhpcyk7cmV0dXJuIGkoZS5yZWplY3Qsdm9pZCAwLHQpLGUucHJvbWlzZX19KX0sNjI0MjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO24oIjZhNTQiKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksZS5kZWZhdWx0PWZ1bmN0aW9uKHQpe2lmKEFycmF5LmlzQXJyYXkodCkpcmV0dXJuIHR9fSwiNjJmNyI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt0LmV4cG9ydHM9WyJjb25zdHJ1Y3RvciIsImhhc093blByb3BlcnR5IiwiaXNQcm90b3R5cGVPZiIsInByb3BlcnR5SXNFbnVtZXJhYmxlIiwidG9Mb2NhbGVTdHJpbmciLCJ0b1N0cmluZyIsInZhbHVlT2YiXX0sNjMxNDpmdW5jdGlvbih0LGUsbil7dmFyIHI9bigiYzg2YiIpLGk9bigiZDEwYSIpLG89bigiMDBjYSIpLGE9bigiZWQwMSIpLHM9bigiZDE5MSIpLGM9aShbXS5jb25jYXQpO3QuZXhwb3J0cz1yKCJSZWZsZWN0Iiwib3duS2V5cyIpfHxmdW5jdGlvbih0KXt2YXIgZT1vLmYocyh0KSksbj1hLmY7cmV0dXJuIG4/YyhlLG4odCkpOmV9fSwiNjMyZCI6ZnVuY3Rpb24odCxlLG4pe3ZhciByPW4oIjFmYWEiKSxpPW4oIjdhYTYiKTt0LmV4cG9ydHM9ciYmaSgoZnVuY3Rpb24oKXtyZXR1cm4gNDIhPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSgoZnVuY3Rpb24oKXt9KSwicHJvdG90eXBlIix7dmFsdWU6NDIsd3JpdGFibGU6ITF9KS5wcm90b3R5cGV9KSl9LCI2M2IxIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjg1YzEiKSxpPW4oIjlmNjkiKSxvPW4oImFmOWUiKSxhPW4oIjc5OTIiKSxzPW4oImI2NDMiKSxjPW4oIjdkZGIiKSx1PW4oIjVmZDkiKSxsPW4oIjhkMjQiKSxmPW4oIjAxNzMiKSxkPW4oImE3MDAiKSxoPWMuYVR5cGVkQXJyYXkscD1jLmV4cG9ydFR5cGVkQXJyYXlNZXRob2Qsdj1yLlVpbnQxNkFycmF5LGc9diYmaSh2LnByb3RvdHlwZS5zb3J0KSxtPSEhZyYmIShvKChmdW5jdGlvbigpe2cobmV3IHYoMiksbnVsbCl9KSkmJm8oKGZ1bmN0aW9uKCl7ZyhuZXcgdigyKSx7fSl9KSkpLGI9ISFnJiYhbygoZnVuY3Rpb24oKXtpZihmKXJldHVybiBmPDc0O2lmKHUpcmV0dXJuIHU8Njc7aWYobClyZXR1cm4hMDtpZihkKXJldHVybiBkPDYwMjt2YXIgdCxlLG49bmV3IHYoNTE2KSxyPUFycmF5KDUxNik7Zm9yKHQ9MDt0PDUxNjt0KyspZT10JTQsblt0XT01MTUtdCxyW3RdPXQtMiplKzM7Zm9yKGcobiwoZnVuY3Rpb24odCxlKXtyZXR1cm4odC80fDApLShlLzR8MCl9KSksdD0wO3Q8NTE2O3QrKylpZihuW3RdIT09clt0XSlyZXR1cm4hMH0pKTtwKCJzb3J0IiwoZnVuY3Rpb24odCl7cmV0dXJuIHZvaWQgMCE9PXQmJmEodCksYj9nKHRoaXMsdCk6cyhoKHRoaXMpLGZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihlLG4pe3JldHVybiB2b2lkIDAhPT10Pyt0KGUsbil8fDA6biE9PW4/LTE6ZSE9PWU/MTowPT09ZSYmMD09PW4/MS9lPjAmJjEvbjwwPzE6LTE6ZT5ufX0odCkpfSksIWJ8fG0pfSwiNjQxYSI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCI3ZGRiIiksaT1uKCI0ZDE2IikuZmluZEluZGV4LG89ci5hVHlwZWRBcnJheSxhPXIuZXhwb3J0VHlwZWRBcnJheU1ldGhvZDthKCJmaW5kSW5kZXgiLChmdW5jdGlvbih0KXtyZXR1cm4gaShvKHRoaXMpLHQsYXJndW1lbnRzLmxlbmd0aD4xP2FyZ3VtZW50c1sxXTp2b2lkIDApfSkpfSwiNjRhYSI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCI4YmRiIiksaT1uKCJhNzM0Iiksbz1uKCJhYjRhIiksYT1uKCI4NWMxIikscz1uKCJhMWQ0IiksYz1uKCJiYjgwIiksdT1uKCI4NDY2IiksbD1uKCIzMzhjIiksZj1uKCJkY2RhIiksZD1uKCIxMjk3IiksaD1uKCJkZGQzIikscD1uKCJjMjE1Iiksdj1uKCJhZjllIiksZz1uKCI4MGJiIikuZixtPW4oIjFkZWQiKS5mLGI9bigiZDZiMSIpLmYseT1uKCI4M2ZhIiksXz1uKCJlZTk4IikudHJpbSx3PWFbIk51bWJlciJdLHg9c1siTnVtYmVyIl0sUz13LnByb3RvdHlwZSxrPWEuVHlwZUVycm9yLEM9YygiIi5zbGljZSksTz1jKCIiLmNoYXJDb2RlQXQpLFQ9ZnVuY3Rpb24odCl7dmFyIGU9cCh0LCJudW1iZXIiKTtyZXR1cm4iYmlnaW50Ij09dHlwZW9mIGU/ZTpFKGUpfSxFPWZ1bmN0aW9uKHQpe3ZhciBlLG4scixpLG8sYSxzLGMsdT1wKHQsIm51bWJlciIpO2lmKGgodSkpdGhyb3cgbmV3IGsoIkNhbm5vdCBjb252ZXJ0IGEgU3ltYm9sIHZhbHVlIHRvIGEgbnVtYmVyIik7aWYoInN0cmluZyI9PXR5cGVvZiB1JiZ1Lmxlbmd0aD4yKWlmKHU9Xyh1KSxlPU8odSwwKSw0Mz09PWV8fDQ1PT09ZSl7aWYobj1PKHUsMiksODg9PT1ufHwxMjA9PT1uKXJldHVybiBOYU59ZWxzZSBpZig0OD09PWUpe3N3aXRjaChPKHUsMSkpe2Nhc2UgNjY6Y2FzZSA5ODpyPTIsaT00OTticmVhaztjYXNlIDc5OmNhc2UgMTExOnI9OCxpPTU1O2JyZWFrO2RlZmF1bHQ6cmV0dXJuK3V9Zm9yKG89Qyh1LDIpLGE9by5sZW5ndGgscz0wO3M8YTtzKyspaWYoYz1PKG8scyksYzw0OHx8Yz5pKXJldHVybiBOYU47cmV0dXJuIHBhcnNlSW50KG8scil9cmV0dXJuK3V9LEE9dSgiTnVtYmVyIiwhdygiIDBvMSIpfHwhdygiMGIxIil8fHcoIisweDEiKSksaj1mdW5jdGlvbih0KXtyZXR1cm4gZChTLHQpJiZ2KChmdW5jdGlvbigpe3kodCl9KSl9LE09ZnVuY3Rpb24odCl7dmFyIGU9YXJndW1lbnRzLmxlbmd0aDwxPzA6dyhUKHQpKTtyZXR1cm4gaih0aGlzKT9mKE9iamVjdChlKSx0aGlzLE0pOmV9O00ucHJvdG90eXBlPVMsQSYmIWkmJihTLmNvbnN0cnVjdG9yPU0pLHIoe2dsb2JhbDohMCxjb25zdHJ1Y3RvcjohMCx3cmFwOiEwLGZvcmNlZDpBfSx7TnVtYmVyOk19KTt2YXIgST1mdW5jdGlvbih0LGUpe2Zvcih2YXIgbixyPW8/ZyhlKToiTUFYX1ZBTFVFLE1JTl9WQUxVRSxOYU4sTkVHQVRJVkVfSU5GSU5JVFksUE9TSVRJVkVfSU5GSU5JVFksRVBTSUxPTixNQVhfU0FGRV9JTlRFR0VSLE1JTl9TQUZFX0lOVEVHRVIsaXNGaW5pdGUsaXNJbnRlZ2VyLGlzTmFOLGlzU2FmZUludGVnZXIscGFyc2VGbG9hdCxwYXJzZUludCxmcm9tU3RyaW5nLHJhbmdlIi5zcGxpdCgiLCIpLGk9MDtyLmxlbmd0aD5pO2krKylsKGUsbj1yW2ldKSYmIWwodCxuKSYmYih0LG4sbShlLG4pKX07aSYmeCYmSShzWyJOdW1iZXIiXSx4KSwoQXx8aSkmJkkoc1siTnVtYmVyIl0sdyl9LCI2NGUwIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjdkZGIiKSxpPW4oIjYxNTgiKS5maW5kTGFzdCxvPXIuYVR5cGVkQXJyYXksYT1yLmV4cG9ydFR5cGVkQXJyYXlNZXRob2Q7YSgiZmluZExhc3QiLChmdW5jdGlvbih0KXtyZXR1cm4gaShvKHRoaXMpLHQsYXJndW1lbnRzLmxlbmd0aD4xP2FyZ3VtZW50c1sxXTp2b2lkIDApfSkpfSwiNjY4YSI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCI3ZGRiIiksaT1uKCI0ZDE2IikuZXZlcnksbz1yLmFUeXBlZEFycmF5LGE9ci5leHBvcnRUeXBlZEFycmF5TWV0aG9kO2EoImV2ZXJ5IiwoZnVuY3Rpb24odCl7cmV0dXJuIGkobyh0aGlzKSx0LGFyZ3VtZW50cy5sZW5ndGg+MT9hcmd1bWVudHNbMV06dm9pZCAwKX0pKX0sIjY2YjEiOmZ1bmN0aW9uKHQsZSxuKXt2YXIgcj1uKCI1N2UyIik7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlPSt0O3JldHVybiBlIT09ZXx8MD09PWU/MDpyKGUpfX0sIjY2ZWUiOmZ1bmN0aW9uKHQsZSxuKXt2YXIgcj1uKCI3YWE2Iik7dC5leHBvcnRzPSFyKChmdW5jdGlvbigpe2Z1bmN0aW9uIHQoKXt9cmV0dXJuIHQucHJvdG90eXBlLmNvbnN0cnVjdG9yPW51bGwsT2JqZWN0LmdldFByb3RvdHlwZU9mKG5ldyB0KSE9PXQucHJvdG90eXBlfSkpfSw2NzMwOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiOGJkYiIpLGk9bigiNzFlOSIpO3Ioe3RhcmdldDoiVVJMIixwcm90bzohMCxlbnVtZXJhYmxlOiEwfSx7dG9KU09OOmZ1bmN0aW9uKCl7cmV0dXJuIGkoVVJMLnByb3RvdHlwZS50b1N0cmluZyx0aGlzKX19KX0sIjY4ZmQiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiOGUwMiIpO3QuZXhwb3J0cz1mdW5jdGlvbih0KXt2YXIgZT1yKHQpO3JldHVybiJCaWdJbnQ2NEFycmF5Ij09PWV8fCJCaWdVaW50NjRBcnJheSI9PT1lfX0sNjk5NDpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjhiZGIiKSxpPW4oImFmNzEiKSxvPW4oImFmOWUiKSxhPW4oIjdkM2MiKSxzPW4oIjEwOTkiKSxjPSFpfHxvKChmdW5jdGlvbigpe2EuZigxKX0pKTtyKHt0YXJnZXQ6Ik9iamVjdCIsc3RhdDohMCxmb3JjZWQ6Y30se2dldE93blByb3BlcnR5U3ltYm9sczpmdW5jdGlvbih0KXt2YXIgZT1hLmY7cmV0dXJuIGU/ZShzKHQpKTpbXX19KX0sIjZhMmIiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiMTA5OSIpLGk9bigiZTM0YyIpLG89bigiMWZjMSIpLGE9bigiYTgzMCIpLHM9TWF0aC5taW47dC5leHBvcnRzPVtdLmNvcHlXaXRoaW58fGZ1bmN0aW9uKHQsZSl7dmFyIG49cih0aGlzKSxjPW8obiksdT1pKHQsYyksbD1pKGUsYyksZj1hcmd1bWVudHMubGVuZ3RoPjI/YXJndW1lbnRzWzJdOnZvaWQgMCxkPXMoKHZvaWQgMD09PWY/YzppKGYsYykpLWwsYy11KSxoPTE7bDx1JiZ1PGwrZCYmKGg9LTEsbCs9ZC0xLHUrPWQtMSk7d2hpbGUoZC0tID4wKWwgaW4gbj9uW3VdPW5bbF06YShuLHUpLHUrPWgsbCs9aDtyZXR1cm4gbn19LCI2YTUwIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjhiZGIiKSxpPW4oIjg1YzEiKSxvPW4oIjcxZTkiKSxhPW4oImFiNGEiKSxzPW4oIjk4MzkiKSxjPW4oIjdkZGIiKSx1PW4oImVmYTUiKSxsPW4oImI3MjAiKSxmPW4oIjBiNWEiKSxkPW4oIjZhY2EiKSxoPW4oImYyMjEiKSxwPW4oImM0MzUiKSx2PW4oImNjMzYiKSxnPW4oIjFjMTYiKSxtPW4oIjdkZjgiKSxiPW4oImY5ZWQiKSx5PW4oIjMzOGMiKSxfPW4oIjhlMDIiKSx3PW4oIjFjMDYiKSx4PW4oImRkZDMiKSxTPW4oImUzN2MiKSxrPW4oIjEyOTciKSxDPW4oIjhjNGYiKSxPPW4oIjgwYmIiKS5mLFQ9bigiYjMyZSIpLEU9bigiNGQxNiIpLmZvckVhY2gsQT1uKCI0MzdmIiksaj1uKCJlNGNhIiksTT1uKCJkNmIxIiksST1uKCIxZGVkIiksUD1uKCJhYzM4IiksJD1uKCIyMzVjIiksTD1uKCJkY2RhIiksUj0kLmdldCxOPSQuc2V0LEQ9JC5lbmZvcmNlLEI9TS5mLEY9SS5mLHo9aS5SYW5nZUVycm9yLFc9dS5BcnJheUJ1ZmZlcixIPVcucHJvdG90eXBlLFU9dS5EYXRhVmlldyxWPWMuTkFUSVZFX0FSUkFZX0JVRkZFUl9WSUVXUyxxPWMuVFlQRURfQVJSQVlfVEFHLFk9Yy5UeXBlZEFycmF5LFg9Yy5UeXBlZEFycmF5UHJvdG90eXBlLEc9Yy5pc1R5cGVkQXJyYXksUT1mdW5jdGlvbih0LGUpe2oodCxlLHtjb25maWd1cmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIFIodGhpcylbZV19fSl9LEs9ZnVuY3Rpb24odCl7dmFyIGU7cmV0dXJuIGsoSCx0KXx8IkFycmF5QnVmZmVyIj09PShlPV8odCkpfHwiU2hhcmVkQXJyYXlCdWZmZXIiPT09ZX0sSj1mdW5jdGlvbih0LGUpe3JldHVybiBHKHQpJiYheChlKSYmZSBpbiB0JiZoKCtlKSYmZT49MH0sWj1mdW5jdGlvbih0LGUpe3JldHVybiBlPWIoZSksSih0LGUpP2YoMix0W2VdKTpGKHQsZSl9LHR0PWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gZT1iKGUpLCEoSih0LGUpJiZ3KG4pJiZ5KG4sInZhbHVlIikpfHx5KG4sImdldCIpfHx5KG4sInNldCIpfHxuLmNvbmZpZ3VyYWJsZXx8eShuLCJ3cml0YWJsZSIpJiYhbi53cml0YWJsZXx8eShuLCJlbnVtZXJhYmxlIikmJiFuLmVudW1lcmFibGU/Qih0LGUsbik6KHRbZV09bi52YWx1ZSx0KX07YT8oVnx8KEkuZj1aLE0uZj10dCxRKFgsImJ1ZmZlciIpLFEoWCwiYnl0ZU9mZnNldCIpLFEoWCwiYnl0ZUxlbmd0aCIpLFEoWCwibGVuZ3RoIikpLHIoe3RhcmdldDoiT2JqZWN0IixzdGF0OiEwLGZvcmNlZDohVn0se2dldE93blByb3BlcnR5RGVzY3JpcHRvcjpaLGRlZmluZVByb3BlcnR5OnR0fSksdC5leHBvcnRzPWZ1bmN0aW9uKHQsZSxuKXt2YXIgYT10Lm1hdGNoKC9cZCsvKVswXS84LGM9dCsobj8iQ2xhbXBlZCI6IiIpKyJBcnJheSIsdT0iZ2V0Iit0LGY9InNldCIrdCxoPWlbY10sYj1oLHk9YiYmYi5wcm90b3R5cGUsXz17fSx4PWZ1bmN0aW9uKHQsZSl7Qih0LGUse2dldDpmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbih0LGUpe3ZhciBuPVIodCk7cmV0dXJuIG4udmlld1t1XShlKmErbi5ieXRlT2Zmc2V0LCEwKX0odGhpcyxlKX0sc2V0OmZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbih0LGUscil7dmFyIGk9Uih0KTtpLnZpZXdbZl0oZSphK2kuYnl0ZU9mZnNldCxuP20ocik6ciwhMCl9KHRoaXMsZSx0KX0sZW51bWVyYWJsZTohMH0pfTtWP3MmJihiPWUoKGZ1bmN0aW9uKHQsZSxuLHIpe3JldHVybiBsKHQseSksTChmdW5jdGlvbigpe3JldHVybiB3KGUpP0soZSk/dm9pZCAwIT09cj9uZXcgaChlLGcobixhKSxyKTp2b2lkIDAhPT1uP25ldyBoKGUsZyhuLGEpKTpuZXcgaChlKTpHKGUpP1AoYixlKTpvKFQsYixlKTpuZXcgaCh2KGUpKX0oKSx0LGIpfSkpLEMmJkMoYixZKSxFKE8oaCksKGZ1bmN0aW9uKHQpe3QgaW4gYnx8ZChiLHQsaFt0XSl9KSksYi5wcm90b3R5cGU9eSk6KGI9ZSgoZnVuY3Rpb24odCxlLG4scil7bCh0LHkpO3ZhciBpLHMsYyx1PTAsZj0wO2lmKHcoZSkpe2lmKCFLKGUpKXJldHVybiBHKGUpP1AoYixlKTpvKFQsYixlKTtpPWUsZj1nKG4sYSk7dmFyIGQ9ZS5ieXRlTGVuZ3RoO2lmKHZvaWQgMD09PXIpe2lmKGQlYSl0aHJvdyBuZXcgeigiV3JvbmcgbGVuZ3RoIik7aWYocz1kLWYsczwwKXRocm93IG5ldyB6KCJXcm9uZyBsZW5ndGgiKX1lbHNlIGlmKHM9cChyKSphLHMrZj5kKXRocm93IG5ldyB6KCJXcm9uZyBsZW5ndGgiKTtjPXMvYX1lbHNlIGM9dihlKSxzPWMqYSxpPW5ldyBXKHMpO04odCx7YnVmZmVyOmksYnl0ZU9mZnNldDpmLGJ5dGVMZW5ndGg6cyxsZW5ndGg6Yyx2aWV3Om5ldyBVKGkpfSk7d2hpbGUodTxjKXgodCx1KyspfSkpLEMmJkMoYixZKSx5PWIucHJvdG90eXBlPVMoWCkpLHkuY29uc3RydWN0b3IhPT1iJiZkKHksImNvbnN0cnVjdG9yIixiKSxEKHkpLlR5cGVkQXJyYXlDb25zdHJ1Y3Rvcj1iLHEmJmQoeSxxLGMpO3ZhciBrPWIhPT1oO19bY109YixyKHtnbG9iYWw6ITAsY29uc3RydWN0b3I6ITAsZm9yY2VkOmssc2hhbTohVn0sXyksIkJZVEVTX1BFUl9FTEVNRU5UImluIGJ8fGQoYiwiQllURVNfUEVSX0VMRU1FTlQiLGEpLCJCWVRFU19QRVJfRUxFTUVOVCJpbiB5fHxkKHksIkJZVEVTX1BFUl9FTEVNRU5UIixhKSxBKGMpfSk6dC5leHBvcnRzPWZ1bmN0aW9uKCl7fX0sIjZhNTQiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiOGJkYiIpLGk9bigiYWI0YSIpLG89bigiZDZiMSIpLmY7cih7dGFyZ2V0OiJPYmplY3QiLHN0YXQ6ITAsZm9yY2VkOk9iamVjdC5kZWZpbmVQcm9wZXJ0eSE9PW8sc2hhbTohaX0se2RlZmluZVByb3BlcnR5Om99KX0sIjZhODgiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiOGJkYiIpLGk9bigiNmFhNiIpLG89bigiOWY5ZSIpLGE9bigiODU5OCIpLHM9bigiNWVlMiIpLGM9bigiZTdlMyIpLHU9bigiMWMwNiIpLGw9bigiZTM3YyIpLGY9bigiYWY5ZSIpLGQ9aSgiUmVmbGVjdCIsImNvbnN0cnVjdCIpLGg9T2JqZWN0LnByb3RvdHlwZSxwPVtdLnB1c2gsdj1mKChmdW5jdGlvbigpe2Z1bmN0aW9uIHQoKXt9cmV0dXJuIShkKChmdW5jdGlvbigpe30pLFtdLHQpaW5zdGFuY2VvZiB0KX0pKSxnPSFmKChmdW5jdGlvbigpe2QoKGZ1bmN0aW9uKCl7fSkpfSkpLG09dnx8ZztyKHt0YXJnZXQ6IlJlZmxlY3QiLHN0YXQ6ITAsZm9yY2VkOm0sc2hhbTptfSx7Y29uc3RydWN0OmZ1bmN0aW9uKHQsZSl7cyh0KSxjKGUpO3ZhciBuPWFyZ3VtZW50cy5sZW5ndGg8Mz90OnMoYXJndW1lbnRzWzJdKTtpZihnJiYhdilyZXR1cm4gZCh0LGUsbik7aWYodD09PW4pe3N3aXRjaChlLmxlbmd0aCl7Y2FzZSAwOnJldHVybiBuZXcgdDtjYXNlIDE6cmV0dXJuIG5ldyB0KGVbMF0pO2Nhc2UgMjpyZXR1cm4gbmV3IHQoZVswXSxlWzFdKTtjYXNlIDM6cmV0dXJuIG5ldyB0KGVbMF0sZVsxXSxlWzJdKTtjYXNlIDQ6cmV0dXJuIG5ldyB0KGVbMF0sZVsxXSxlWzJdLGVbM10pfXZhciByPVtudWxsXTtyZXR1cm4gbyhwLHIsZSksbmV3KG8oYSx0LHIpKX12YXIgaT1uLnByb3RvdHlwZSxmPWwodShpKT9pOmgpLG09byh0LGYsZSk7cmV0dXJuIHUobSk/bTpmfX0pfSwiNmFhNiI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCI4NWMxIiksaT1uKCI0NzRmIiksbz1mdW5jdGlvbih0KXtyZXR1cm4gaSh0KT90OnZvaWQgMH07dC5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg8Mj9vKHJbdF0pOnJbdF0mJnJbdF1bZV19fSwiNmFjNCI6ZnVuY3Rpb24odCxlLG4pe3ZhciByPW4oImM2NDYiKSxpPVR5cGVFcnJvcjt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7aWYocih0KSl0aHJvdyBpKCJDYW4ndCBjYWxsIG1ldGhvZCBvbiAiK3QpO3JldHVybiB0fX0sIjZhYzkiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiNmFhNiIpLGk9bigiYmI4MCIpLG89bigiODBiYiIpLGE9bigiN2QzYyIpLHM9bigiZTdlMyIpLGM9aShbXS5jb25jYXQpO3QuZXhwb3J0cz1yKCJSZWZsZWN0Iiwib3duS2V5cyIpfHxmdW5jdGlvbih0KXt2YXIgZT1vLmYocyh0KSksbj1hLmY7cmV0dXJuIG4/YyhlLG4odCkpOmV9fSwiNmFjYSI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCJhYjRhIiksaT1uKCJkNmIxIiksbz1uKCIwYjVhIik7dC5leHBvcnRzPXI/ZnVuY3Rpb24odCxlLG4pe3JldHVybiBpLmYodCxlLG8oMSxuKSl9OmZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gdFtlXT1uLHR9fSwiNmFkMSI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtuKCIxOGY3Iik7dmFyIHIsaT1uKCI4YmRiIiksbz1uKCJhYjRhIiksYT1uKCIyNjZhIikscz1uKCI4NWMxIiksYz1uKCJhZTVjIiksdT1uKCJiYjgwIiksbD1uKCI4MWE5IiksZj1uKCJlNGNhIiksZD1uKCJiNzIwIiksaD1uKCIzMzhjIikscD1uKCJlYjlhIiksdj1uKCIzZDc3IiksZz1uKCIzN2FkIiksbT1uKCIwM2EwIikuY29kZUF0LGI9bigiNDlmYyIpLHk9bigiOWU3MCIpLF89bigiMTgxZCIpLHc9bigiN2YyOCIpLHg9bigiZTdkOCIpLFM9bigiMjM1YyIpLGs9Uy5zZXQsQz1TLmdldHRlckZvcigiVVJMIiksTz14LlVSTFNlYXJjaFBhcmFtcyxUPXguZ2V0U3RhdGUsRT1zLlVSTCxBPXMuVHlwZUVycm9yLGo9cy5wYXJzZUludCxNPU1hdGguZmxvb3IsST1NYXRoLnBvdyxQPXUoIiIuY2hhckF0KSwkPXUoLy4vLmV4ZWMpLEw9dShbXS5qb2luKSxSPXUoMS4udG9TdHJpbmcpLE49dShbXS5wb3ApLEQ9dShbXS5wdXNoKSxCPXUoIiIucmVwbGFjZSksRj11KFtdLnNoaWZ0KSx6PXUoIiIuc3BsaXQpLFc9dSgiIi5zbGljZSksSD11KCIiLnRvTG93ZXJDYXNlKSxVPXUoW10udW5zaGlmdCksVj0vW2Etel0vaSxxPS9bXGQrLS5hLXpdL2ksWT0vXGQvLFg9L14weC9pLEc9L15bMC03XSskLyxRPS9eXGQrJC8sSz0vXltcZGEtZl0rJC9pLEo9L1tcMFx0XG5cciAjJS86PD4/QFtcXFxdXnxdLyxaPS9bXDBcdFxuXHIgIy86PD4/QFtcXFxdXnxdLyx0dD0vXltcdTAwMDAtXHUwMDIwXSsvLGV0PS8oXnxbXlx1MDAwMC1cdTAwMjBdKVtcdTAwMDAtXHUwMDIwXSskLyxudD0vW1x0XG5ccl0vZyxydD1mdW5jdGlvbih0KXt2YXIgZSxuLHIsaTtpZigibnVtYmVyIj09dHlwZW9mIHQpe2ZvcihlPVtdLG49MDtuPDQ7bisrKVUoZSx0JTI1NiksdD1NKHQvMjU2KTtyZXR1cm4gTChlLCIuIil9aWYoIm9iamVjdCI9PXR5cGVvZiB0KXtmb3IoZT0iIixyPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1udWxsLG49MSxyPW51bGwsaT0wLG89MDtvPDg7bysrKTAhPT10W29dPyhpPm4mJihlPXIsbj1pKSxyPW51bGwsaT0wKToobnVsbD09PXImJihyPW8pLCsraSk7cmV0dXJuIGk+biYmKGU9cixuPWkpLGV9KHQpLG49MDtuPDg7bisrKWkmJjA9PT10W25dfHwoaSYmKGk9ITEpLHI9PT1uPyhlKz1uPyI6IjoiOjoiLGk9ITApOihlKz1SKHRbbl0sMTYpLG48NyYmKGUrPSI6IikpKTtyZXR1cm4iWyIrZSsiXSJ9cmV0dXJuIHR9LGl0PXt9LG90PXAoe30saXQseyIgIjoxLCciJzoxLCI8IjoxLCI+IjoxLCJgIjoxfSksYXQ9cCh7fSxvdCx7IiMiOjEsIj8iOjEsInsiOjEsIn0iOjF9KSxzdD1wKHt9LGF0LHsiLyI6MSwiOiI6MSwiOyI6MSwiPSI6MSwiQCI6MSwiWyI6MSwiXFwiOjEsIl0iOjEsIl4iOjEsInwiOjF9KSxjdD1mdW5jdGlvbih0LGUpe3ZhciBuPW0odCwwKTtyZXR1cm4gbj4zMiYmbjwxMjcmJiFoKGUsdCk/dDplbmNvZGVVUklDb21wb25lbnQodCl9LHV0PXtmdHA6MjEsZmlsZTpudWxsLGh0dHA6ODAsaHR0cHM6NDQzLHdzOjgwLHdzczo0NDN9LGx0PWZ1bmN0aW9uKHQsZSl7dmFyIG47cmV0dXJuIDI9PT10Lmxlbmd0aCYmJChWLFAodCwwKSkmJigiOiI9PT0obj1QKHQsMSkpfHwhZSYmInwiPT09bil9LGZ0PWZ1bmN0aW9uKHQpe3ZhciBlO3JldHVybiB0Lmxlbmd0aD4xJiZsdChXKHQsMCwyKSkmJigyPT09dC5sZW5ndGh8fCIvIj09PShlPVAodCwyKSl8fCJcXCI9PT1lfHwiPyI9PT1lfHwiIyI9PT1lKX0sZHQ9ZnVuY3Rpb24odCl7cmV0dXJuIi4iPT09dHx8IiUyZSI9PT1IKHQpfSxodD1mdW5jdGlvbih0KXtyZXR1cm4gdD1IKHQpLCIuLiI9PT10fHwiJTJlLiI9PT10fHwiLiUyZSI9PT10fHwiJTJlJTJlIj09PXR9LHB0PXt9LHZ0PXt9LGd0PXt9LG10PXt9LGJ0PXt9LHl0PXt9LF90PXt9LHd0PXt9LHh0PXt9LFN0PXt9LGt0PXt9LEN0PXt9LE90PXt9LFR0PXt9LEV0PXt9LEF0PXt9LGp0PXt9LE10PXt9LEl0PXt9LFB0PXt9LCR0PXt9LEx0PWZ1bmN0aW9uKHQsZSxuKXt2YXIgcixpLG8sYT15KHQpO2lmKGUpe2lmKGk9dGhpcy5wYXJzZShhKSxpKXRocm93IG5ldyBBKGkpO3RoaXMuc2VhcmNoUGFyYW1zPW51bGx9ZWxzZXtpZih2b2lkIDAhPT1uJiYocj1uZXcgTHQobiwhMCkpLGk9dGhpcy5wYXJzZShhLG51bGwsciksaSl0aHJvdyBuZXcgQShpKTtvPVQobmV3IE8pLG8uYmluZFVSTCh0aGlzKSx0aGlzLnNlYXJjaFBhcmFtcz1vfX07THQucHJvdG90eXBlPXt0eXBlOiJVUkwiLHBhcnNlOmZ1bmN0aW9uKHQsZSxuKXt2YXIgaSxvLGEscyxjPXRoaXMsdT1lfHxwdCxsPTAsZj0iIixkPSExLHA9ITEsbT0hMTt0PXkodCksZXx8KGMuc2NoZW1lPSIiLGMudXNlcm5hbWU9IiIsYy5wYXNzd29yZD0iIixjLmhvc3Q9bnVsbCxjLnBvcnQ9bnVsbCxjLnBhdGg9W10sYy5xdWVyeT1udWxsLGMuZnJhZ21lbnQ9bnVsbCxjLmNhbm5vdEJlQUJhc2VVUkw9ITEsdD1CKHQsdHQsIiIpLHQ9Qih0LGV0LCIkMSIpKSx0PUIodCxudCwiIiksaT12KHQpO3doaWxlKGw8PWkubGVuZ3RoKXtzd2l0Y2gobz1pW2xdLHUpe2Nhc2UgcHQ6aWYoIW98fCEkKFYsbykpe2lmKGUpcmV0dXJuIkludmFsaWQgc2NoZW1lIjt1PWd0O2NvbnRpbnVlfWYrPUgobyksdT12dDticmVhaztjYXNlIHZ0OmlmKG8mJigkKHEsbyl8fCIrIj09PW98fCItIj09PW98fCIuIj09PW8pKWYrPUgobyk7ZWxzZXtpZigiOiIhPT1vKXtpZihlKXJldHVybiJJbnZhbGlkIHNjaGVtZSI7Zj0iIix1PWd0LGw9MDtjb250aW51ZX1pZihlJiYoYy5pc1NwZWNpYWwoKSE9PWgodXQsZil8fCJmaWxlIj09PWYmJihjLmluY2x1ZGVzQ3JlZGVudGlhbHMoKXx8bnVsbCE9PWMucG9ydCl8fCJmaWxlIj09PWMuc2NoZW1lJiYhYy5ob3N0KSlyZXR1cm47aWYoYy5zY2hlbWU9ZixlKXJldHVybiB2b2lkKGMuaXNTcGVjaWFsKCkmJnV0W2Muc2NoZW1lXT09PWMucG9ydCYmKGMucG9ydD1udWxsKSk7Zj0iIiwiZmlsZSI9PT1jLnNjaGVtZT91PVR0OmMuaXNTcGVjaWFsKCkmJm4mJm4uc2NoZW1lPT09Yy5zY2hlbWU/dT1tdDpjLmlzU3BlY2lhbCgpP3U9d3Q6Ii8iPT09aVtsKzFdPyh1PWJ0LGwrKyk6KGMuY2Fubm90QmVBQmFzZVVSTD0hMCxEKGMucGF0aCwiIiksdT1JdCl9YnJlYWs7Y2FzZSBndDppZighbnx8bi5jYW5ub3RCZUFCYXNlVVJMJiYiIyIhPT1vKXJldHVybiJJbnZhbGlkIHNjaGVtZSI7aWYobi5jYW5ub3RCZUFCYXNlVVJMJiYiIyI9PT1vKXtjLnNjaGVtZT1uLnNjaGVtZSxjLnBhdGg9ZyhuLnBhdGgpLGMucXVlcnk9bi5xdWVyeSxjLmZyYWdtZW50PSIiLGMuY2Fubm90QmVBQmFzZVVSTD0hMCx1PSR0O2JyZWFrfXU9ImZpbGUiPT09bi5zY2hlbWU/VHQ6eXQ7Y29udGludWU7Y2FzZSBtdDppZigiLyIhPT1vfHwiLyIhPT1pW2wrMV0pe3U9eXQ7Y29udGludWV9dT14dCxsKys7YnJlYWs7Y2FzZSBidDppZigiLyI9PT1vKXt1PVN0O2JyZWFrfXU9TXQ7Y29udGludWU7Y2FzZSB5dDppZihjLnNjaGVtZT1uLnNjaGVtZSxvPT09ciljLnVzZXJuYW1lPW4udXNlcm5hbWUsYy5wYXNzd29yZD1uLnBhc3N3b3JkLGMuaG9zdD1uLmhvc3QsYy5wb3J0PW4ucG9ydCxjLnBhdGg9ZyhuLnBhdGgpLGMucXVlcnk9bi5xdWVyeTtlbHNlIGlmKCIvIj09PW98fCJcXCI9PT1vJiZjLmlzU3BlY2lhbCgpKXU9X3Q7ZWxzZSBpZigiPyI9PT1vKWMudXNlcm5hbWU9bi51c2VybmFtZSxjLnBhc3N3b3JkPW4ucGFzc3dvcmQsYy5ob3N0PW4uaG9zdCxjLnBvcnQ9bi5wb3J0LGMucGF0aD1nKG4ucGF0aCksYy5xdWVyeT0iIix1PVB0O2Vsc2V7aWYoIiMiIT09byl7Yy51c2VybmFtZT1uLnVzZXJuYW1lLGMucGFzc3dvcmQ9bi5wYXNzd29yZCxjLmhvc3Q9bi5ob3N0LGMucG9ydD1uLnBvcnQsYy5wYXRoPWcobi5wYXRoKSxjLnBhdGgubGVuZ3RoLS0sdT1NdDtjb250aW51ZX1jLnVzZXJuYW1lPW4udXNlcm5hbWUsYy5wYXNzd29yZD1uLnBhc3N3b3JkLGMuaG9zdD1uLmhvc3QsYy5wb3J0PW4ucG9ydCxjLnBhdGg9ZyhuLnBhdGgpLGMucXVlcnk9bi5xdWVyeSxjLmZyYWdtZW50PSIiLHU9JHR9YnJlYWs7Y2FzZSBfdDppZighYy5pc1NwZWNpYWwoKXx8Ii8iIT09byYmIlxcIiE9PW8pe2lmKCIvIiE9PW8pe2MudXNlcm5hbWU9bi51c2VybmFtZSxjLnBhc3N3b3JkPW4ucGFzc3dvcmQsYy5ob3N0PW4uaG9zdCxjLnBvcnQ9bi5wb3J0LHU9TXQ7Y29udGludWV9dT1TdH1lbHNlIHU9eHQ7YnJlYWs7Y2FzZSB3dDppZih1PXh0LCIvIiE9PW98fCIvIiE9PVAoZixsKzEpKWNvbnRpbnVlO2wrKzticmVhaztjYXNlIHh0OmlmKCIvIiE9PW8mJiJcXCIhPT1vKXt1PVN0O2NvbnRpbnVlfWJyZWFrO2Nhc2UgU3Q6aWYoIkAiPT09byl7ZCYmKGY9IiU0MCIrZiksZD0hMCxhPXYoZik7Zm9yKHZhciBiPTA7YjxhLmxlbmd0aDtiKyspe3ZhciBfPWFbYl07aWYoIjoiIT09X3x8bSl7dmFyIHc9Y3QoXyxzdCk7bT9jLnBhc3N3b3JkKz13OmMudXNlcm5hbWUrPXd9ZWxzZSBtPSEwfWY9IiJ9ZWxzZSBpZihvPT09cnx8Ii8iPT09b3x8Ij8iPT09b3x8IiMiPT09b3x8IlxcIj09PW8mJmMuaXNTcGVjaWFsKCkpe2lmKGQmJiIiPT09ZilyZXR1cm4iSW52YWxpZCBhdXRob3JpdHkiO2wtPXYoZikubGVuZ3RoKzEsZj0iIix1PWt0fWVsc2UgZis9bzticmVhaztjYXNlIGt0OmNhc2UgQ3Q6aWYoZSYmImZpbGUiPT09Yy5zY2hlbWUpe3U9QXQ7Y29udGludWV9aWYoIjoiIT09b3x8cCl7aWYobz09PXJ8fCIvIj09PW98fCI/Ij09PW98fCIjIj09PW98fCJcXCI9PT1vJiZjLmlzU3BlY2lhbCgpKXtpZihjLmlzU3BlY2lhbCgpJiYiIj09PWYpcmV0dXJuIkludmFsaWQgaG9zdCI7aWYoZSYmIiI9PT1mJiYoYy5pbmNsdWRlc0NyZWRlbnRpYWxzKCl8fG51bGwhPT1jLnBvcnQpKXJldHVybjtpZihzPWMucGFyc2VIb3N0KGYpLHMpcmV0dXJuIHM7aWYoZj0iIix1PWp0LGUpcmV0dXJuO2NvbnRpbnVlfSJbIj09PW8/cD0hMDoiXSI9PT1vJiYocD0hMSksZis9b31lbHNle2lmKCIiPT09ZilyZXR1cm4iSW52YWxpZCBob3N0IjtpZihzPWMucGFyc2VIb3N0KGYpLHMpcmV0dXJuIHM7aWYoZj0iIix1PU90LGU9PT1DdClyZXR1cm59YnJlYWs7Y2FzZSBPdDppZighJChZLG8pKXtpZihvPT09cnx8Ii8iPT09b3x8Ij8iPT09b3x8IiMiPT09b3x8IlxcIj09PW8mJmMuaXNTcGVjaWFsKCl8fGUpe2lmKCIiIT09Zil7dmFyIHg9aihmLDEwKTtpZih4PjY1NTM1KXJldHVybiJJbnZhbGlkIHBvcnQiO2MucG9ydD1jLmlzU3BlY2lhbCgpJiZ4PT09dXRbYy5zY2hlbWVdP251bGw6eCxmPSIifWlmKGUpcmV0dXJuO3U9anQ7Y29udGludWV9cmV0dXJuIkludmFsaWQgcG9ydCJ9Zis9bzticmVhaztjYXNlIFR0OmlmKGMuc2NoZW1lPSJmaWxlIiwiLyI9PT1vfHwiXFwiPT09byl1PUV0O2Vsc2V7aWYoIW58fCJmaWxlIiE9PW4uc2NoZW1lKXt1PU10O2NvbnRpbnVlfXN3aXRjaChvKXtjYXNlIHI6Yy5ob3N0PW4uaG9zdCxjLnBhdGg9ZyhuLnBhdGgpLGMucXVlcnk9bi5xdWVyeTticmVhaztjYXNlIj8iOmMuaG9zdD1uLmhvc3QsYy5wYXRoPWcobi5wYXRoKSxjLnF1ZXJ5PSIiLHU9UHQ7YnJlYWs7Y2FzZSIjIjpjLmhvc3Q9bi5ob3N0LGMucGF0aD1nKG4ucGF0aCksYy5xdWVyeT1uLnF1ZXJ5LGMuZnJhZ21lbnQ9IiIsdT0kdDticmVhaztkZWZhdWx0OmZ0KEwoZyhpLGwpLCIiKSl8fChjLmhvc3Q9bi5ob3N0LGMucGF0aD1nKG4ucGF0aCksYy5zaG9ydGVuUGF0aCgpKSx1PU10O2NvbnRpbnVlfX1icmVhaztjYXNlIEV0OmlmKCIvIj09PW98fCJcXCI9PT1vKXt1PUF0O2JyZWFrfW4mJiJmaWxlIj09PW4uc2NoZW1lJiYhZnQoTChnKGksbCksIiIpKSYmKGx0KG4ucGF0aFswXSwhMCk/RChjLnBhdGgsbi5wYXRoWzBdKTpjLmhvc3Q9bi5ob3N0KSx1PU10O2NvbnRpbnVlO2Nhc2UgQXQ6aWYobz09PXJ8fCIvIj09PW98fCJcXCI9PT1vfHwiPyI9PT1vfHwiIyI9PT1vKXtpZighZSYmbHQoZikpdT1NdDtlbHNlIGlmKCIiPT09Zil7aWYoYy5ob3N0PSIiLGUpcmV0dXJuO3U9anR9ZWxzZXtpZihzPWMucGFyc2VIb3N0KGYpLHMpcmV0dXJuIHM7aWYoImxvY2FsaG9zdCI9PT1jLmhvc3QmJihjLmhvc3Q9IiIpLGUpcmV0dXJuO2Y9IiIsdT1qdH1jb250aW51ZX1mKz1vO2JyZWFrO2Nhc2UganQ6aWYoYy5pc1NwZWNpYWwoKSl7aWYodT1NdCwiLyIhPT1vJiYiXFwiIT09byljb250aW51ZX1lbHNlIGlmKGV8fCI/IiE9PW8paWYoZXx8IiMiIT09byl7aWYobyE9PXImJih1PU10LCIvIiE9PW8pKWNvbnRpbnVlfWVsc2UgYy5mcmFnbWVudD0iIix1PSR0O2Vsc2UgYy5xdWVyeT0iIix1PVB0O2JyZWFrO2Nhc2UgTXQ6aWYobz09PXJ8fCIvIj09PW98fCJcXCI9PT1vJiZjLmlzU3BlY2lhbCgpfHwhZSYmKCI/Ij09PW98fCIjIj09PW8pKXtpZihodChmKT8oYy5zaG9ydGVuUGF0aCgpLCIvIj09PW98fCJcXCI9PT1vJiZjLmlzU3BlY2lhbCgpfHxEKGMucGF0aCwiIikpOmR0KGYpPyIvIj09PW98fCJcXCI9PT1vJiZjLmlzU3BlY2lhbCgpfHxEKGMucGF0aCwiIik6KCJmaWxlIj09PWMuc2NoZW1lJiYhYy5wYXRoLmxlbmd0aCYmbHQoZikmJihjLmhvc3QmJihjLmhvc3Q9IiIpLGY9UChmLDApKyI6IiksRChjLnBhdGgsZikpLGY9IiIsImZpbGUiPT09Yy5zY2hlbWUmJihvPT09cnx8Ij8iPT09b3x8IiMiPT09bykpd2hpbGUoYy5wYXRoLmxlbmd0aD4xJiYiIj09PWMucGF0aFswXSlGKGMucGF0aCk7Ij8iPT09bz8oYy5xdWVyeT0iIix1PVB0KToiIyI9PT1vJiYoYy5mcmFnbWVudD0iIix1PSR0KX1lbHNlIGYrPWN0KG8sYXQpO2JyZWFrO2Nhc2UgSXQ6Ij8iPT09bz8oYy5xdWVyeT0iIix1PVB0KToiIyI9PT1vPyhjLmZyYWdtZW50PSIiLHU9JHQpOm8hPT1yJiYoYy5wYXRoWzBdKz1jdChvLGl0KSk7YnJlYWs7Y2FzZSBQdDplfHwiIyIhPT1vP28hPT1yJiYoIiciPT09byYmYy5pc1NwZWNpYWwoKT9jLnF1ZXJ5Kz0iJTI3IjpjLnF1ZXJ5Kz0iIyI9PT1vPyIlMjMiOmN0KG8saXQpKTooYy5mcmFnbWVudD0iIix1PSR0KTticmVhaztjYXNlICR0Om8hPT1yJiYoYy5mcmFnbWVudCs9Y3QobyxvdCkpO2JyZWFrfWwrK319LHBhcnNlSG9zdDpmdW5jdGlvbih0KXt2YXIgZSxuLHI7aWYoIlsiPT09UCh0LDApKXtpZigiXSIhPT1QKHQsdC5sZW5ndGgtMSkpcmV0dXJuIkludmFsaWQgaG9zdCI7aWYoZT1mdW5jdGlvbih0KXt2YXIgZSxuLHIsaSxvLGEscyxjPVswLDAsMCwwLDAsMCwwLDBdLHU9MCxsPW51bGwsZj0wLGQ9ZnVuY3Rpb24oKXtyZXR1cm4gUCh0LGYpfTtpZigiOiI9PT1kKCkpe2lmKCI6IiE9PVAodCwxKSlyZXR1cm47Zis9Mix1KyssbD11fXdoaWxlKGQoKSl7aWYoOD09PXUpcmV0dXJuO2lmKCI6IiE9PWQoKSl7ZT1uPTA7d2hpbGUobjw0JiYkKEssZCgpKSllPTE2KmUraihkKCksMTYpLGYrKyxuKys7aWYoIi4iPT09ZCgpKXtpZigwPT09bilyZXR1cm47aWYoZi09bix1PjYpcmV0dXJuO3I9MDt3aGlsZShkKCkpe2lmKGk9bnVsbCxyPjApe2lmKCEoIi4iPT09ZCgpJiZyPDQpKXJldHVybjtmKyt9aWYoISQoWSxkKCkpKXJldHVybjt3aGlsZSgkKFksZCgpKSl7aWYobz1qKGQoKSwxMCksbnVsbD09PWkpaT1vO2Vsc2V7aWYoMD09PWkpcmV0dXJuO2k9MTAqaStvfWlmKGk+MjU1KXJldHVybjtmKyt9Y1t1XT0yNTYqY1t1XStpLHIrKywyIT09ciYmNCE9PXJ8fHUrK31pZig0IT09cilyZXR1cm47YnJlYWt9aWYoIjoiPT09ZCgpKXtpZihmKyssIWQoKSlyZXR1cm59ZWxzZSBpZihkKCkpcmV0dXJuO2NbdSsrXT1lfWVsc2V7aWYobnVsbCE9PWwpcmV0dXJuO2YrKyx1KyssbD11fX1pZihudWxsIT09bCl7YT11LWwsdT03O3doaWxlKDAhPT11JiZhPjApcz1jW3VdLGNbdS0tXT1jW2wrYS0xXSxjW2wrLS1hXT1zfWVsc2UgaWYoOCE9PXUpcmV0dXJuO3JldHVybiBjfShXKHQsMSwtMSkpLCFlKXJldHVybiJJbnZhbGlkIGhvc3QiO3RoaXMuaG9zdD1lfWVsc2UgaWYodGhpcy5pc1NwZWNpYWwoKSl7aWYodD1iKHQpLCQoSix0KSlyZXR1cm4iSW52YWxpZCBob3N0IjtpZihlPWZ1bmN0aW9uKHQpe3ZhciBlLG4scixpLG8sYSxzLGM9eih0LCIuIik7aWYoYy5sZW5ndGgmJiIiPT09Y1tjLmxlbmd0aC0xXSYmYy5sZW5ndGgtLSxlPWMubGVuZ3RoLGU+NClyZXR1cm4gdDtmb3Iobj1bXSxyPTA7cjxlO3IrKyl7aWYoaT1jW3JdLCIiPT09aSlyZXR1cm4gdDtpZihvPTEwLGkubGVuZ3RoPjEmJiIwIj09PVAoaSwwKSYmKG89JChYLGkpPzE2OjgsaT1XKGksOD09PW8/MToyKSksIiI9PT1pKWE9MDtlbHNle2lmKCEkKDEwPT09bz9ROjg9PT1vP0c6SyxpKSlyZXR1cm4gdDthPWooaSxvKX1EKG4sYSl9Zm9yKHI9MDtyPGU7cisrKWlmKGE9bltyXSxyPT09ZS0xKXtpZihhPj1JKDI1Niw1LWUpKXJldHVybiBudWxsfWVsc2UgaWYoYT4yNTUpcmV0dXJuIG51bGw7Zm9yKHM9TihuKSxyPTA7cjxuLmxlbmd0aDtyKyspcys9bltyXSpJKDI1NiwzLXIpO3JldHVybiBzfSh0KSxudWxsPT09ZSlyZXR1cm4iSW52YWxpZCBob3N0Ijt0aGlzLmhvc3Q9ZX1lbHNle2lmKCQoWix0KSlyZXR1cm4iSW52YWxpZCBob3N0Ijtmb3IoZT0iIixuPXYodCkscj0wO3I8bi5sZW5ndGg7cisrKWUrPWN0KG5bcl0saXQpO3RoaXMuaG9zdD1lfX0sY2Fubm90SGF2ZVVzZXJuYW1lUGFzc3dvcmRQb3J0OmZ1bmN0aW9uKCl7cmV0dXJuIXRoaXMuaG9zdHx8dGhpcy5jYW5ub3RCZUFCYXNlVVJMfHwiZmlsZSI9PT10aGlzLnNjaGVtZX0saW5jbHVkZXNDcmVkZW50aWFsczpmdW5jdGlvbigpe3JldHVybiIiIT09dGhpcy51c2VybmFtZXx8IiIhPT10aGlzLnBhc3N3b3JkfSxpc1NwZWNpYWw6ZnVuY3Rpb24oKXtyZXR1cm4gaCh1dCx0aGlzLnNjaGVtZSl9LHNob3J0ZW5QYXRoOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5wYXRoLGU9dC5sZW5ndGg7IWV8fCJmaWxlIj09PXRoaXMuc2NoZW1lJiYxPT09ZSYmbHQodFswXSwhMCl8fHQubGVuZ3RoLS19LHNlcmlhbGl6ZTpmdW5jdGlvbigpe3ZhciB0PXRoaXMsZT10LnNjaGVtZSxuPXQudXNlcm5hbWUscj10LnBhc3N3b3JkLGk9dC5ob3N0LG89dC5wb3J0LGE9dC5wYXRoLHM9dC5xdWVyeSxjPXQuZnJhZ21lbnQsdT1lKyI6IjtyZXR1cm4gbnVsbCE9PWk/KHUrPSIvLyIsdC5pbmNsdWRlc0NyZWRlbnRpYWxzKCkmJih1Kz1uKyhyPyI6IityOiIiKSsiQCIpLHUrPXJ0KGkpLG51bGwhPT1vJiYodSs9IjoiK28pKToiZmlsZSI9PT1lJiYodSs9Ii8vIiksdSs9dC5jYW5ub3RCZUFCYXNlVVJMP2FbMF06YS5sZW5ndGg/Ii8iK0woYSwiLyIpOiIiLG51bGwhPT1zJiYodSs9Ij8iK3MpLG51bGwhPT1jJiYodSs9IiMiK2MpLHV9LHNldEhyZWY6ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5wYXJzZSh0KTtpZihlKXRocm93IG5ldyBBKGUpO3RoaXMuc2VhcmNoUGFyYW1zLnVwZGF0ZSgpfSxnZXRPcmlnaW46ZnVuY3Rpb24oKXt2YXIgdD10aGlzLnNjaGVtZSxlPXRoaXMucG9ydDtpZigiYmxvYiI9PT10KXRyeXtyZXR1cm4gbmV3IFJ0KHQucGF0aFswXSkub3JpZ2lufWNhdGNoKG4pe3JldHVybiJudWxsIn1yZXR1cm4iZmlsZSIhPT10JiZ0aGlzLmlzU3BlY2lhbCgpP3QrIjovLyIrcnQodGhpcy5ob3N0KSsobnVsbCE9PWU/IjoiK2U6IiIpOiJudWxsIn0sZ2V0UHJvdG9jb2w6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zY2hlbWUrIjoifSxzZXRQcm90b2NvbDpmdW5jdGlvbih0KXt0aGlzLnBhcnNlKHkodCkrIjoiLHB0KX0sZ2V0VXNlcm5hbWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy51c2VybmFtZX0sc2V0VXNlcm5hbWU6ZnVuY3Rpb24odCl7dmFyIGU9dih5KHQpKTtpZighdGhpcy5jYW5ub3RIYXZlVXNlcm5hbWVQYXNzd29yZFBvcnQoKSl7dGhpcy51c2VybmFtZT0iIjtmb3IodmFyIG49MDtuPGUubGVuZ3RoO24rKyl0aGlzLnVzZXJuYW1lKz1jdChlW25dLHN0KX19LGdldFBhc3N3b3JkOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucGFzc3dvcmR9LHNldFBhc3N3b3JkOmZ1bmN0aW9uKHQpe3ZhciBlPXYoeSh0KSk7aWYoIXRoaXMuY2Fubm90SGF2ZVVzZXJuYW1lUGFzc3dvcmRQb3J0KCkpe3RoaXMucGFzc3dvcmQ9IiI7Zm9yKHZhciBuPTA7bjxlLmxlbmd0aDtuKyspdGhpcy5wYXNzd29yZCs9Y3QoZVtuXSxzdCl9fSxnZXRIb3N0OmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5ob3N0LGU9dGhpcy5wb3J0O3JldHVybiBudWxsPT09dD8iIjpudWxsPT09ZT9ydCh0KTpydCh0KSsiOiIrZX0sc2V0SG9zdDpmdW5jdGlvbih0KXt0aGlzLmNhbm5vdEJlQUJhc2VVUkx8fHRoaXMucGFyc2UodCxrdCl9LGdldEhvc3RuYW1lOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5ob3N0O3JldHVybiBudWxsPT09dD8iIjpydCh0KX0sc2V0SG9zdG5hbWU6ZnVuY3Rpb24odCl7dGhpcy5jYW5ub3RCZUFCYXNlVVJMfHx0aGlzLnBhcnNlKHQsQ3QpfSxnZXRQb3J0OmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5wb3J0O3JldHVybiBudWxsPT09dD8iIjp5KHQpfSxzZXRQb3J0OmZ1bmN0aW9uKHQpe3RoaXMuY2Fubm90SGF2ZVVzZXJuYW1lUGFzc3dvcmRQb3J0KCl8fCh0PXkodCksIiI9PT10P3RoaXMucG9ydD1udWxsOnRoaXMucGFyc2UodCxPdCkpfSxnZXRQYXRobmFtZTpmdW5jdGlvbigpe3ZhciB0PXRoaXMucGF0aDtyZXR1cm4gdGhpcy5jYW5ub3RCZUFCYXNlVVJMP3RbMF06dC5sZW5ndGg/Ii8iK0wodCwiLyIpOiIifSxzZXRQYXRobmFtZTpmdW5jdGlvbih0KXt0aGlzLmNhbm5vdEJlQUJhc2VVUkx8fCh0aGlzLnBhdGg9W10sdGhpcy5wYXJzZSh0LGp0KSl9LGdldFNlYXJjaDpmdW5jdGlvbigpe3ZhciB0PXRoaXMucXVlcnk7cmV0dXJuIHQ/Ij8iK3Q6IiJ9LHNldFNlYXJjaDpmdW5jdGlvbih0KXt0PXkodCksIiI9PT10P3RoaXMucXVlcnk9bnVsbDooIj8iPT09UCh0LDApJiYodD1XKHQsMSkpLHRoaXMucXVlcnk9IiIsdGhpcy5wYXJzZSh0LFB0KSksdGhpcy5zZWFyY2hQYXJhbXMudXBkYXRlKCl9LGdldFNlYXJjaFBhcmFtczpmdW5jdGlvbigpe3JldHVybiB0aGlzLnNlYXJjaFBhcmFtcy5mYWNhZGV9LGdldEhhc2g6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmZyYWdtZW50O3JldHVybiB0PyIjIit0OiIifSxzZXRIYXNoOmZ1bmN0aW9uKHQpe3Q9eSh0KSwiIiE9PXQ/KCIjIj09PVAodCwwKSYmKHQ9Vyh0LDEpKSx0aGlzLmZyYWdtZW50PSIiLHRoaXMucGFyc2UodCwkdCkpOnRoaXMuZnJhZ21lbnQ9bnVsbH0sdXBkYXRlOmZ1bmN0aW9uKCl7dGhpcy5xdWVyeT10aGlzLnNlYXJjaFBhcmFtcy5zZXJpYWxpemUoKXx8bnVsbH19O3ZhciBSdD1mdW5jdGlvbih0KXt2YXIgZT1kKHRoaXMsTnQpLG49dyhhcmd1bWVudHMubGVuZ3RoLDEpPjE/YXJndW1lbnRzWzFdOnZvaWQgMCxyPWsoZSxuZXcgTHQodCwhMSxuKSk7b3x8KGUuaHJlZj1yLnNlcmlhbGl6ZSgpLGUub3JpZ2luPXIuZ2V0T3JpZ2luKCksZS5wcm90b2NvbD1yLmdldFByb3RvY29sKCksZS51c2VybmFtZT1yLmdldFVzZXJuYW1lKCksZS5wYXNzd29yZD1yLmdldFBhc3N3b3JkKCksZS5ob3N0PXIuZ2V0SG9zdCgpLGUuaG9zdG5hbWU9ci5nZXRIb3N0bmFtZSgpLGUucG9ydD1yLmdldFBvcnQoKSxlLnBhdGhuYW1lPXIuZ2V0UGF0aG5hbWUoKSxlLnNlYXJjaD1yLmdldFNlYXJjaCgpLGUuc2VhcmNoUGFyYW1zPXIuZ2V0U2VhcmNoUGFyYW1zKCksZS5oYXNoPXIuZ2V0SGFzaCgpKX0sTnQ9UnQucHJvdG90eXBlLER0PWZ1bmN0aW9uKHQsZSl7cmV0dXJue2dldDpmdW5jdGlvbigpe3JldHVybiBDKHRoaXMpW3RdKCl9LHNldDplJiZmdW5jdGlvbih0KXtyZXR1cm4gQyh0aGlzKVtlXSh0KX0sY29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITB9fTtpZihvJiYoZihOdCwiaHJlZiIsRHQoInNlcmlhbGl6ZSIsInNldEhyZWYiKSksZihOdCwib3JpZ2luIixEdCgiZ2V0T3JpZ2luIikpLGYoTnQsInByb3RvY29sIixEdCgiZ2V0UHJvdG9jb2wiLCJzZXRQcm90b2NvbCIpKSxmKE50LCJ1c2VybmFtZSIsRHQoImdldFVzZXJuYW1lIiwic2V0VXNlcm5hbWUiKSksZihOdCwicGFzc3dvcmQiLER0KCJnZXRQYXNzd29yZCIsInNldFBhc3N3b3JkIikpLGYoTnQsImhvc3QiLER0KCJnZXRIb3N0Iiwic2V0SG9zdCIpKSxmKE50LCJob3N0bmFtZSIsRHQoImdldEhvc3RuYW1lIiwic2V0SG9zdG5hbWUiKSksZihOdCwicG9ydCIsRHQoImdldFBvcnQiLCJzZXRQb3J0IikpLGYoTnQsInBhdGhuYW1lIixEdCgiZ2V0UGF0aG5hbWUiLCJzZXRQYXRobmFtZSIpKSxmKE50LCJzZWFyY2giLER0KCJnZXRTZWFyY2giLCJzZXRTZWFyY2giKSksZihOdCwic2VhcmNoUGFyYW1zIixEdCgiZ2V0U2VhcmNoUGFyYW1zIikpLGYoTnQsImhhc2giLER0KCJnZXRIYXNoIiwic2V0SGFzaCIpKSksbChOdCwidG9KU09OIiwoZnVuY3Rpb24oKXtyZXR1cm4gQyh0aGlzKS5zZXJpYWxpemUoKX0pLHtlbnVtZXJhYmxlOiEwfSksbChOdCwidG9TdHJpbmciLChmdW5jdGlvbigpe3JldHVybiBDKHRoaXMpLnNlcmlhbGl6ZSgpfSkse2VudW1lcmFibGU6ITB9KSxFKXt2YXIgQnQ9RS5jcmVhdGVPYmplY3RVUkwsRnQ9RS5yZXZva2VPYmplY3RVUkw7QnQmJmwoUnQsImNyZWF0ZU9iamVjdFVSTCIsYyhCdCxFKSksRnQmJmwoUnQsInJldm9rZU9iamVjdFVSTCIsYyhGdCxFKSl9XyhSdCwiVVJMIiksaSh7Z2xvYmFsOiEwLGNvbnN0cnVjdG9yOiEwLGZvcmNlZDohYSxzaGFtOiFvfSx7VVJMOlJ0fSl9LCI2YmU3IjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjhiZGIiKSxpPW4oIjcxZTkiKSxvPW4oIjFjMDYiKSxhPW4oImU3ZTMiKSxzPW4oImNmYWYiKSxjPW4oIjFkZWQiKSx1PW4oImMzMzciKTtyKHt0YXJnZXQ6IlJlZmxlY3QiLHN0YXQ6ITB9LHtnZXQ6ZnVuY3Rpb24gdChlLG4pe3ZhciByLGwsZj1hcmd1bWVudHMubGVuZ3RoPDM/ZTphcmd1bWVudHNbMl07cmV0dXJuIGEoZSk9PT1mP2Vbbl06KHI9Yy5mKGUsbikscj9zKHIpP3IudmFsdWU6dm9pZCAwPT09ci5nZXQ/dm9pZCAwOmkoci5nZXQsZik6byhsPXUoZSkpP3QobCxuLGYpOnZvaWQgMCl9fSl9LCI2YmZhIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oImY2NjAiKSxpPW4oIjFjYjUiKSxvPW4oIjc5OWQiKSxhPW4oIjIzNWMiKSxzPW4oImQ2YjEiKS5mLGM9bigiMGNjMiIpLHU9bigiOTdlZCIpLGw9bigiYTczNCIpLGY9bigiYWI0YSIpLGQ9YS5zZXQsaD1hLmdldHRlckZvcigiQXJyYXkgSXRlcmF0b3IiKTt0LmV4cG9ydHM9YyhBcnJheSwiQXJyYXkiLChmdW5jdGlvbih0LGUpe2QodGhpcyx7dHlwZToiQXJyYXkgSXRlcmF0b3IiLHRhcmdldDpyKHQpLGluZGV4OjAsa2luZDplfSl9KSwoZnVuY3Rpb24oKXt2YXIgdD1oKHRoaXMpLGU9dC50YXJnZXQsbj10LmluZGV4Kys7aWYoIWV8fG4+PWUubGVuZ3RoKXJldHVybiB0LnRhcmdldD12b2lkIDAsdSh2b2lkIDAsITApO3N3aXRjaCh0LmtpbmQpe2Nhc2Uia2V5cyI6cmV0dXJuIHUobiwhMSk7Y2FzZSJ2YWx1ZXMiOnJldHVybiB1KGVbbl0sITEpfXJldHVybiB1KFtuLGVbbl1dLCExKX0pLCJ2YWx1ZXMiKTt2YXIgcD1vLkFyZ3VtZW50cz1vLkFycmF5O2lmKGkoImtleXMiKSxpKCJ2YWx1ZXMiKSxpKCJlbnRyaWVzIiksIWwmJmYmJiJ2YWx1ZXMiIT09cC5uYW1lKXRyeXtzKHAsIm5hbWUiLHt2YWx1ZToidmFsdWVzIn0pfWNhdGNoKHYpe319LCI2YzEzIjpmdW5jdGlvbih0LGUsbil7dmFyIHI9bigiYzg2YiIpO3QuZXhwb3J0cz1yKCJuYXZpZ2F0b3IiLCJ1c2VyQWdlbnQiKXx8IiJ9LCI2ZTRhIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjUwOGQiKSxpPW4oIjNhNGIiKSxvPW4oIjNjNWQiKSxhPW4oIjdhYTYiKSxzPW4oImM4NmIiKSxjPW4oImZkY2EiKSx1PW4oIjA2OTkiKSxsPW4oIjc0NzgiKSxmPW4oIjI3Y2MiKSxkPW8mJm8ucHJvdG90eXBlLGg9ISFvJiZhKChmdW5jdGlvbigpe2RbImZpbmFsbHkiXS5jYWxsKHt0aGVuOmZ1bmN0aW9uKCl7fX0sKGZ1bmN0aW9uKCl7fSkpfSkpO2lmKHIoe3RhcmdldDoiUHJvbWlzZSIscHJvdG86ITAscmVhbDohMCxmb3JjZWQ6aH0se2ZpbmFsbHk6ZnVuY3Rpb24odCl7dmFyIGU9dSh0aGlzLHMoIlByb21pc2UiKSksbj1jKHQpO3JldHVybiB0aGlzLnRoZW4obj9mdW5jdGlvbihuKXtyZXR1cm4gbChlLHQoKSkudGhlbigoZnVuY3Rpb24oKXtyZXR1cm4gbn0pKX06dCxuP2Z1bmN0aW9uKG4pe3JldHVybiBsKGUsdCgpKS50aGVuKChmdW5jdGlvbigpe3Rocm93IG59KSl9OnQpfX0pLCFpJiZjKG8pKXt2YXIgcD1zKCJQcm9taXNlIikucHJvdG90eXBlWyJmaW5hbGx5Il07ZFsiZmluYWxseSJdIT09cCYmZihkLCJmaW5hbGx5IixwLHt1bnNhZmU6ITB9KX19LCI2ZjE5IjpmdW5jdGlvbih0LGUsbil7dmFyIHI9bigiNmMxMyIpO3QuZXhwb3J0cz0vKD86aXBhZHxpcGhvbmV8aXBvZCkuKmFwcGxld2Via2l0L2kudGVzdChyKX0sNzA1NDpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oImU3ZTMiKSxpPW4oImRmOTIiKSxvPVR5cGVFcnJvcjt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7aWYocih0aGlzKSwic3RyaW5nIj09PXR8fCJkZWZhdWx0Ij09PXQpdD0ic3RyaW5nIjtlbHNlIGlmKCJudW1iZXIiIT09dCl0aHJvdyBuZXcgbygiSW5jb3JyZWN0IGhpbnQiKTtyZXR1cm4gaSh0aGlzLHQpfX0sIjcwYTUiOmZ1bmN0aW9uKHQsZSxuKXt2YXIgcj1uKCI2YzEzIiksaT1uKCI4Mzk0Iik7dC5leHBvcnRzPS9pcGFkfGlwaG9uZXxpcG9kL2kudGVzdChyKSYmdm9pZCAwIT09aS5QZWJibGV9LCI3MWU5IjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjhmMjYiKSxpPUZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsO3QuZXhwb3J0cz1yP2kuYmluZChpKTpmdW5jdGlvbigpe3JldHVybiBpLmFwcGx5KGksYXJndW1lbnRzKX19LCI3MjBkIjpmdW5jdGlvbih0LGUsbil7dmFyIHI9bigiZDQ1NiIpLGk9bigiZmRjYSIpLG89bigiODVlNSIpLGE9bigiMjlkNSIpLHM9YSgidG9TdHJpbmdUYWciKSxjPU9iamVjdCx1PSJBcmd1bWVudHMiPT1vKGZ1bmN0aW9uKCl7cmV0dXJuIGFyZ3VtZW50c30oKSk7dC5leHBvcnRzPXI/bzpmdW5jdGlvbih0KXt2YXIgZSxuLHI7cmV0dXJuIHZvaWQgMD09PXQ/IlVuZGVmaW5lZCI6bnVsbD09PXQ/Ik51bGwiOiJzdHJpbmciPT10eXBlb2Yobj1mdW5jdGlvbih0LGUpe3RyeXtyZXR1cm4gdFtlXX1jYXRjaChuKXt9fShlPWModCkscykpP246dT9vKGUpOiJPYmplY3QiPT0ocj1vKGUpKSYmaShlLmNhbGxlZSk/IkFyZ3VtZW50cyI6cn19LDcyNTc6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCJkYjA2Iik7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3RyeXtpZihyKXJldHVybiBGdW5jdGlvbigncmV0dXJuIHJlcXVpcmUoIicrdCsnIiknKSgpfWNhdGNoKGUpe319fSwiNzNlMSI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCIyOWQ4Iik7dC5leHBvcnRzPS9WZXJzaW9uXC8xMCg/OlwuXGQrKXsxLDJ9KD86IFtcdy4vXSspPyg/OiBNb2JpbGVcL1x3Kyk/IFNhZmFyaVwvLy50ZXN0KHIpfSw3NDc4OmZ1bmN0aW9uKHQsZSxuKXt2YXIgcj1uKCJkMTkxIiksaT1uKCIxYWUzIiksbz1uKCJmNDM5Iik7dC5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7aWYocih0KSxpKGUpJiZlLmNvbnN0cnVjdG9yPT09dClyZXR1cm4gZTt2YXIgbj1vLmYodCksYT1uLnJlc29sdmU7cmV0dXJuIGEoZSksbi5wcm9taXNlfX0sNzY1ODpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjhiZGIiKSxpPW4oIjg1YzEiKSxvPW4oImJiODAiKSxhPW4oIjg0NjYiKSxzPW4oIjgxYTkiKSxjPW4oImQwYjEiKSx1PW4oIjUwNzUiKSxsPW4oImI3MjAiKSxmPW4oIjQ3NGYiKSxkPW4oIjFlYjgiKSxoPW4oIjFjMDYiKSxwPW4oImFmOWUiKSx2PW4oIjI5YmEiKSxnPW4oIjE4MWQiKSxtPW4oImRjZGEiKTt0LmV4cG9ydHM9ZnVuY3Rpb24odCxlLG4pe3ZhciBiPS0xIT09dC5pbmRleE9mKCJNYXAiKSx5PS0xIT09dC5pbmRleE9mKCJXZWFrIiksXz1iPyJzZXQiOiJhZGQiLHc9aVt0XSx4PXcmJncucHJvdG90eXBlLFM9dyxrPXt9LEM9ZnVuY3Rpb24odCl7dmFyIGU9byh4W3RdKTtzKHgsdCwiYWRkIj09PXQ/ZnVuY3Rpb24odCl7cmV0dXJuIGUodGhpcywwPT09dD8wOnQpLHRoaXN9OiJkZWxldGUiPT09dD9mdW5jdGlvbih0KXtyZXR1cm4hKHkmJiFoKHQpKSYmZSh0aGlzLDA9PT10PzA6dCl9OiJnZXQiPT09dD9mdW5jdGlvbih0KXtyZXR1cm4geSYmIWgodCk/dm9pZCAwOmUodGhpcywwPT09dD8wOnQpfToiaGFzIj09PXQ/ZnVuY3Rpb24odCl7cmV0dXJuISh5JiYhaCh0KSkmJmUodGhpcywwPT09dD8wOnQpfTpmdW5jdGlvbih0LG4pe3JldHVybiBlKHRoaXMsMD09PXQ/MDp0LG4pLHRoaXN9KX0sTz1hKHQsIWYodyl8fCEoeXx8eC5mb3JFYWNoJiYhcCgoZnVuY3Rpb24oKXsobmV3IHcpLmVudHJpZXMoKS5uZXh0KCl9KSkpKTtpZihPKVM9bi5nZXRDb25zdHJ1Y3RvcihlLHQsYixfKSxjLmVuYWJsZSgpO2Vsc2UgaWYoYSh0LCEwKSl7dmFyIFQ9bmV3IFMsRT1UW19dKHk/e306LTAsMSkhPT1ULEE9cCgoZnVuY3Rpb24oKXtULmhhcygxKX0pKSxqPXYoKGZ1bmN0aW9uKHQpe25ldyB3KHQpfSkpLE09IXkmJnAoKGZ1bmN0aW9uKCl7dmFyIHQ9bmV3IHcsZT01O3doaWxlKGUtLSl0W19dKGUsZSk7cmV0dXJuIXQuaGFzKC0wKX0pKTtqfHwoUz1lKChmdW5jdGlvbih0LGUpe2wodCx4KTt2YXIgbj1tKG5ldyB3LHQsUyk7cmV0dXJuIGQoZSl8fHUoZSxuW19dLHt0aGF0Om4sQVNfRU5UUklFUzpifSksbn0pKSxTLnByb3RvdHlwZT14LHguY29uc3RydWN0b3I9UyksKEF8fE0pJiYoQygiZGVsZXRlIiksQygiaGFzIiksYiYmQygiZ2V0IikpLChNfHxFKSYmQyhfKSx5JiZ4LmNsZWFyJiZkZWxldGUgeC5jbGVhcn1yZXR1cm4ga1t0XT1TLHIoe2dsb2JhbDohMCxjb25zdHJ1Y3RvcjohMCxmb3JjZWQ6UyE9PXd9LGspLGcoUyx0KSx5fHxuLnNldFN0cm9uZyhTLHQsYiksU319LCI3N2IyIjpmdW5jdGlvbih0LGUsbil7dmFyIHI9bigiZDEwYSIpO3QuZXhwb3J0cz1yKHt9LmlzUHJvdG90eXBlT2YpfSwiNzdjZCI6ZnVuY3Rpb24odCxlLG4pe3ZhciByPW4oImQxMGEiKSxpPW4oImI1MTAiKSxvPXIoe30uaGFzT3duUHJvcGVydHkpO3QuZXhwb3J0cz1PYmplY3QuaGFzT3dufHxmdW5jdGlvbih0LGUpe3JldHVybiBvKGkodCksZSl9fSw3OTM0OmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiNTY5YiIpLGk9bigiOGUwMiIpO3QuZXhwb3J0cz1yP3t9LnRvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIltvYmplY3QgIitpKHRoaXMpKyJdIn19LCI3OTVjIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjhiZGIiKSxpPW4oImRiMDQiKS5zdGFydCxvPW4oIjczZTEiKTtyKHt0YXJnZXQ6IlN0cmluZyIscHJvdG86ITAsZm9yY2VkOm99LHtwYWRTdGFydDpmdW5jdGlvbih0KXtyZXR1cm4gaSh0aGlzLHQsYXJndW1lbnRzLmxlbmd0aD4xP2FyZ3VtZW50c1sxXTp2b2lkIDApfX0pfSw3OTkyOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiNDc0ZiIpLGk9bigiNTJkZiIpLG89VHlwZUVycm9yO3QuZXhwb3J0cz1mdW5jdGlvbih0KXtpZihyKHQpKXJldHVybiB0O3Rocm93IG5ldyBvKGkodCkrIiBpcyBub3QgYSBmdW5jdGlvbiIpfX0sNzk5NjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjhiZGIiKSxpPW4oIjg1YzEiKSxvPW4oIjE4MWQiKTtyKHtnbG9iYWw6ITB9LHtSZWZsZWN0Ont9fSksbyhpLlJlZmxlY3QsIlJlZmxlY3QiLCEwKX0sIjc5OWQiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dC5leHBvcnRzPXt9fSwiN2E3NiI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCI4YmRiIiksaT1uKCI4NWMxIiksbz1uKCI5ZjllIiksYT1uKCIxNzVmIikscz1pWyJXZWJBc3NlbWJseSJdLGM9NyE9PW5ldyBFcnJvcigiZSIse2NhdXNlOjd9KS5jYXVzZSx1PWZ1bmN0aW9uKHQsZSl7dmFyIG49e307blt0XT1hKHQsZSxjKSxyKHtnbG9iYWw6ITAsY29uc3RydWN0b3I6ITAsYXJpdHk6MSxmb3JjZWQ6Y30sbil9LGw9ZnVuY3Rpb24odCxlKXtpZihzJiZzW3RdKXt2YXIgbj17fTtuW3RdPWEoIldlYkFzc2VtYmx5LiIrdCxlLGMpLHIoe3RhcmdldDoiV2ViQXNzZW1ibHkiLHN0YXQ6ITAsY29uc3RydWN0b3I6ITAsYXJpdHk6MSxmb3JjZWQ6Y30sbil9fTt1KCJFcnJvciIsKGZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gbyh0LHRoaXMsYXJndW1lbnRzKX19KSksdSgiRXZhbEVycm9yIiwoZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBvKHQsdGhpcyxhcmd1bWVudHMpfX0pKSx1KCJSYW5nZUVycm9yIiwoZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBvKHQsdGhpcyxhcmd1bWVudHMpfX0pKSx1KCJSZWZlcmVuY2VFcnJvciIsKGZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gbyh0LHRoaXMsYXJndW1lbnRzKX19KSksdSgiU3ludGF4RXJyb3IiLChmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIG8odCx0aGlzLGFyZ3VtZW50cyl9fSkpLHUoIlR5cGVFcnJvciIsKGZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gbyh0LHRoaXMsYXJndW1lbnRzKX19KSksdSgiVVJJRXJyb3IiLChmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIG8odCx0aGlzLGFyZ3VtZW50cyl9fSkpLGwoIkNvbXBpbGVFcnJvciIsKGZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gbyh0LHRoaXMsYXJndW1lbnRzKX19KSksbCgiTGlua0Vycm9yIiwoZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBvKHQsdGhpcyxhcmd1bWVudHMpfX0pKSxsKCJSdW50aW1lRXJyb3IiLChmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIG8odCx0aGlzLGFyZ3VtZW50cyl9fSkpfSwiN2FhNiI6ZnVuY3Rpb24odCxlKXt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7dHJ5e3JldHVybiEhdCgpfWNhdGNoKGUpe3JldHVybiEwfX19LCI3YjA1IjpmdW5jdGlvbih0LGUsbil7dmFyIHIsaSxvLGE9bigiYzdkZCIpLHM9bigiODM5NCIpLGM9bigiMWFlMyIpLHU9bigiZDFhOCIpLGw9bigiNzdjZCIpLGY9bigiNDlhNSIpLGQ9bigiMzg3MiIpLGg9bigiYmQ4YSIpLHA9cy5UeXBlRXJyb3Isdj1zLldlYWtNYXA7aWYoYXx8Zi5zdGF0ZSl7dmFyIGc9Zi5zdGF0ZXx8KGYuc3RhdGU9bmV3IHYpO2cuZ2V0PWcuZ2V0LGcuaGFzPWcuaGFzLGcuc2V0PWcuc2V0LHI9ZnVuY3Rpb24odCxlKXtpZihnLmhhcyh0KSl0aHJvdyBwKCJPYmplY3QgYWxyZWFkeSBpbml0aWFsaXplZCIpO3JldHVybiBlLmZhY2FkZT10LGcuc2V0KHQsZSksZX0saT1mdW5jdGlvbih0KXtyZXR1cm4gZy5nZXQodCl8fHt9fSxvPWZ1bmN0aW9uKHQpe3JldHVybiBnLmhhcyh0KX19ZWxzZXt2YXIgbT1kKCJzdGF0ZSIpO2hbbV09ITAscj1mdW5jdGlvbih0LGUpe2lmKGwodCxtKSl0aHJvdyBwKCJPYmplY3QgYWxyZWFkeSBpbml0aWFsaXplZCIpO3JldHVybiBlLmZhY2FkZT10LHUodCxtLGUpLGV9LGk9ZnVuY3Rpb24odCl7cmV0dXJuIGwodCxtKT90W21dOnt9fSxvPWZ1bmN0aW9uKHQpe3JldHVybiBsKHQsbSl9fXQuZXhwb3J0cz17c2V0OnIsZ2V0OmksaGFzOm8sZW5mb3JjZTpmdW5jdGlvbih0KXtyZXR1cm4gbyh0KT9pKHQpOnIodCx7fSl9LGdldHRlckZvcjpmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSl7dmFyIG47aWYoIWMoZSl8fChuPWkoZSkpLnR5cGUhPT10KXRocm93IHAoIkluY29tcGF0aWJsZSByZWNlaXZlciwgIit0KyIgcmVxdWlyZWQiKTtyZXR1cm4gbn19fX0sIjdiOTciOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiYmI4MCIpLGk9bigiN2RkYiIpLG89bigiNmEyYiIpLGE9cihvKSxzPWkuYVR5cGVkQXJyYXksYz1pLmV4cG9ydFR5cGVkQXJyYXlNZXRob2Q7YygiY29weVdpdGhpbiIsKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGEocyh0aGlzKSx0LGUsYXJndW1lbnRzLmxlbmd0aD4yP2FyZ3VtZW50c1syXTp2b2lkIDApfSkpfSwiN2MyNiI6ZnVuY3Rpb24odCxlLG4pe3ZhciByPW4oImRiYzMiKSxpPW4oImQ3YjgiKSxvPW4oImQxOTEiKSxhPW4oImUxNTgiKSxzPW4oIjFlNGYiKSxjPW4oIjFlNWQiKSx1PW4oIjc3YjIiKSxsPW4oImJlZjIiKSxmPW4oIjFiOGUiKSxkPW4oImUzOWQiKSxoPVR5cGVFcnJvcixwPWZ1bmN0aW9uKHQsZSl7dGhpcy5zdG9wcGVkPXQsdGhpcy5yZXN1bHQ9ZX0sdj1wLnByb3RvdHlwZTt0LmV4cG9ydHM9ZnVuY3Rpb24odCxlLG4pe3ZhciBnLG0sYix5LF8sdyx4LFM9biYmbi50aGF0LGs9ISghbnx8IW4uQVNfRU5UUklFUyksQz0hKCFufHwhbi5JU19SRUNPUkQpLE89ISghbnx8IW4uSVNfSVRFUkFUT1IpLFQ9ISghbnx8IW4uSU5URVJSVVBURUQpLEU9cihlLFMpLEE9ZnVuY3Rpb24odCl7cmV0dXJuIGcmJmQoZywibm9ybWFsIix0KSxuZXcgcCghMCx0KX0saj1mdW5jdGlvbih0KXtyZXR1cm4gaz8obyh0KSxUP0UodFswXSx0WzFdLEEpOkUodFswXSx0WzFdKSk6VD9FKHQsQSk6RSh0KX07aWYoQylnPXQuaXRlcmF0b3I7ZWxzZSBpZihPKWc9dDtlbHNle2lmKG09Zih0KSwhbSl0aHJvdyBoKGEodCkrIiBpcyBub3QgaXRlcmFibGUiKTtpZihzKG0pKXtmb3IoYj0wLHk9Yyh0KTt5PmI7YisrKWlmKF89aih0W2JdKSxfJiZ1KHYsXykpcmV0dXJuIF87cmV0dXJuIG5ldyBwKCExKX1nPWwodCxtKX13PUM/dC5uZXh0OmcubmV4dDt3aGlsZSghKHg9aSh3LGcpKS5kb25lKXt0cnl7Xz1qKHgudmFsdWUpfWNhdGNoKE0pe2QoZywidGhyb3ciLE0pfWlmKCJvYmplY3QiPT10eXBlb2YgXyYmXyYmdSh2LF8pKXJldHVybiBffXJldHVybiBuZXcgcCghMSl9fSwiN2QyZiI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCJhYjRhIiksaT1uKCJiMGE4Iiksbz1uKCJhZGE1IiksYT1uKCJlNGNhIikscz1uKCIyMzVjIikuZ2V0LGM9UmVnRXhwLnByb3RvdHlwZSx1PVR5cGVFcnJvcjtyJiZpJiZhKGMsImRvdEFsbCIse2NvbmZpZ3VyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtpZih0aGlzIT09Yyl7aWYoIlJlZ0V4cCI9PT1vKHRoaXMpKXJldHVybiEhcyh0aGlzKS5kb3RBbGw7dGhyb3cgbmV3IHUoIkluY29tcGF0aWJsZSByZWNlaXZlciwgUmVnRXhwIHJlcXVpcmVkIil9fX0pfSwiN2QzYyI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtlLmY9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9sc30sIjdkZGIiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHIsaSxvLGE9bigiYzg5YiIpLHM9bigiYWI0YSIpLGM9bigiODVjMSIpLHU9bigiNDc0ZiIpLGw9bigiMWMwNiIpLGY9bigiMzM4YyIpLGQ9bigiOGUwMiIpLGg9bigiNTJkZiIpLHA9bigiNmFjYSIpLHY9bigiODFhOSIpLGc9bigiZTRjYSIpLG09bigiMTI5NyIpLGI9bigiYzMzNyIpLHk9bigiOGM0ZiIpLF89bigiOGMwOCIpLHc9bigiZDdiNCIpLHg9bigiMjM1YyIpLFM9eC5lbmZvcmNlLGs9eC5nZXQsQz1jLkludDhBcnJheSxPPUMmJkMucHJvdG90eXBlLFQ9Yy5VaW50OENsYW1wZWRBcnJheSxFPVQmJlQucHJvdG90eXBlLEE9QyYmYihDKSxqPU8mJmIoTyksTT1PYmplY3QucHJvdG90eXBlLEk9Yy5UeXBlRXJyb3IsUD1fKCJ0b1N0cmluZ1RhZyIpLCQ9dygiVFlQRURfQVJSQVlfVEFHIiksTD1hJiYhIXkmJiJPcGVyYSIhPT1kKGMub3BlcmEpLFI9ITEsTj17SW50OEFycmF5OjEsVWludDhBcnJheToxLFVpbnQ4Q2xhbXBlZEFycmF5OjEsSW50MTZBcnJheToyLFVpbnQxNkFycmF5OjIsSW50MzJBcnJheTo0LFVpbnQzMkFycmF5OjQsRmxvYXQzMkFycmF5OjQsRmxvYXQ2NEFycmF5Ojh9LEQ9e0JpZ0ludDY0QXJyYXk6OCxCaWdVaW50NjRBcnJheTo4fSxCPWZ1bmN0aW9uKHQpe3ZhciBlPWIodCk7aWYobChlKSl7dmFyIG49ayhlKTtyZXR1cm4gbiYmZihuLCJUeXBlZEFycmF5Q29uc3RydWN0b3IiKT9uWyJUeXBlZEFycmF5Q29uc3RydWN0b3IiXTpCKGUpfX0sRj1mdW5jdGlvbih0KXtpZighbCh0KSlyZXR1cm4hMTt2YXIgZT1kKHQpO3JldHVybiBmKE4sZSl8fGYoRCxlKX07Zm9yKHIgaW4gTilpPWNbcl0sbz1pJiZpLnByb3RvdHlwZSxvP1MobylbIlR5cGVkQXJyYXlDb25zdHJ1Y3RvciJdPWk6TD0hMTtmb3IociBpbiBEKWk9Y1tyXSxvPWkmJmkucHJvdG90eXBlLG8mJihTKG8pWyJUeXBlZEFycmF5Q29uc3RydWN0b3IiXT1pKTtpZigoIUx8fCF1KEEpfHxBPT09RnVuY3Rpb24ucHJvdG90eXBlKSYmKEE9ZnVuY3Rpb24oKXt0aHJvdyBuZXcgSSgiSW5jb3JyZWN0IGludm9jYXRpb24iKX0sTCkpZm9yKHIgaW4gTiljW3JdJiZ5KGNbcl0sQSk7aWYoKCFMfHwhanx8aj09PU0pJiYoaj1BLnByb3RvdHlwZSxMKSlmb3IociBpbiBOKWNbcl0mJnkoY1tyXS5wcm90b3R5cGUsaik7aWYoTCYmYihFKSE9PWomJnkoRSxqKSxzJiYhZihqLFApKWZvcihyIGluIFI9ITAsZyhqLFAse2NvbmZpZ3VyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbCh0aGlzKT90aGlzWyRdOnZvaWQgMH19KSxOKWNbcl0mJnAoY1tyXSwkLHIpO3QuZXhwb3J0cz17TkFUSVZFX0FSUkFZX0JVRkZFUl9WSUVXUzpMLFRZUEVEX0FSUkFZX1RBRzpSJiYkLGFUeXBlZEFycmF5OmZ1bmN0aW9uKHQpe2lmKEYodCkpcmV0dXJuIHQ7dGhyb3cgbmV3IEkoIlRhcmdldCBpcyBub3QgYSB0eXBlZCBhcnJheSIpfSxhVHlwZWRBcnJheUNvbnN0cnVjdG9yOmZ1bmN0aW9uKHQpe2lmKHUodCkmJigheXx8bShBLHQpKSlyZXR1cm4gdDt0aHJvdyBuZXcgSShoKHQpKyIgaXMgbm90IGEgdHlwZWQgYXJyYXkgY29uc3RydWN0b3IiKX0sZXhwb3J0VHlwZWRBcnJheU1ldGhvZDpmdW5jdGlvbih0LGUsbixyKXtpZihzKXtpZihuKWZvcih2YXIgaSBpbiBOKXt2YXIgbz1jW2ldO2lmKG8mJmYoby5wcm90b3R5cGUsdCkpdHJ5e2RlbGV0ZSBvLnByb3RvdHlwZVt0XX1jYXRjaChhKXt0cnl7by5wcm90b3R5cGVbdF09ZX1jYXRjaCh1KXt9fX1qW3RdJiYhbnx8dihqLHQsbj9lOkwmJk9bdF18fGUscil9fSxleHBvcnRUeXBlZEFycmF5U3RhdGljTWV0aG9kOmZ1bmN0aW9uKHQsZSxuKXt2YXIgcixpO2lmKHMpe2lmKHkpe2lmKG4pZm9yKHIgaW4gTilpZihpPWNbcl0saSYmZihpLHQpKXRyeXtkZWxldGUgaVt0XX1jYXRjaChvKXt9aWYoQVt0XSYmIW4pcmV0dXJuO3RyeXtyZXR1cm4gdihBLHQsbj9lOkwmJkFbdF18fGUpfWNhdGNoKG8pe319Zm9yKHIgaW4gTilpPWNbcl0sIWl8fGlbdF0mJiFufHx2KGksdCxlKX19LGdldFR5cGVkQXJyYXlDb25zdHJ1Y3RvcjpCLGlzVmlldzpmdW5jdGlvbih0KXtpZighbCh0KSlyZXR1cm4hMTt2YXIgZT1kKHQpO3JldHVybiJEYXRhVmlldyI9PT1lfHxmKE4sZSl8fGYoRCxlKX0saXNUeXBlZEFycmF5OkYsVHlwZWRBcnJheTpBLFR5cGVkQXJyYXlQcm90b3R5cGU6an19LCI3ZGY4IjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPU1hdGgucm91bmQ7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlPXIodCk7cmV0dXJuIGU8MD8wOmU+MjU1PzI1NToyNTUmZX19LCI3ZTQxIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oImJiODAiKSxpPW4oImFmOWUiKSxvPW4oImFkYTUiKSxhPU9iamVjdCxzPXIoIiIuc3BsaXQpO3QuZXhwb3J0cz1pKChmdW5jdGlvbigpe3JldHVybiFhKCJ6IikucHJvcGVydHlJc0VudW1lcmFibGUoMCl9KSk/ZnVuY3Rpb24odCl7cmV0dXJuIlN0cmluZyI9PT1vKHQpP3ModCwiIik6YSh0KX06YX0sIjdlODciOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiYmI4MCIpLGk9RXJyb3Isbz1yKCIiLnJlcGxhY2UpLGE9ZnVuY3Rpb24odCl7cmV0dXJuIFN0cmluZyhuZXcgaSgienhjYXNkIikuc3RhY2spfSgpLHM9L1xuXHMqYXQgW146XSo6W15cbl0qLyxjPXMudGVzdChhKTt0LmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtpZihjJiYic3RyaW5nIj09dHlwZW9mIHQmJiFpLnByZXBhcmVTdGFja1RyYWNlKXdoaWxlKGUtLSl0PW8odCxzLCIiKTtyZXR1cm4gdH19LCI3ZTkxIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjcxZTkiKSxpPW4oImU3ZTMiKSxvPW4oIjYwYmMiKTt0LmV4cG9ydHM9ZnVuY3Rpb24odCxlLG4pe3ZhciBhLHM7aSh0KTt0cnl7aWYoYT1vKHQsInJldHVybiIpLCFhKXtpZigidGhyb3ciPT09ZSl0aHJvdyBuO3JldHVybiBufWE9cihhLHQpfWNhdGNoKGMpe3M9ITAsYT1jfWlmKCJ0aHJvdyI9PT1lKXRocm93IG47aWYocyl0aHJvdyBhO3JldHVybiBpKGEpLG59fSwiN2VkYyI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtuKCI1YzQ3Iik7dmFyIHI9bigiNzFlOSIpLGk9bigiODFhOSIpLG89bigiOWFkOCIpLGE9bigiYWY5ZSIpLHM9bigiOGMwOCIpLGM9bigiNmFjYSIpLHU9cygic3BlY2llcyIpLGw9UmVnRXhwLnByb3RvdHlwZTt0LmV4cG9ydHM9ZnVuY3Rpb24odCxlLG4sZil7dmFyIGQ9cyh0KSxoPSFhKChmdW5jdGlvbigpe3ZhciBlPXt9O3JldHVybiBlW2RdPWZ1bmN0aW9uKCl7cmV0dXJuIDd9LDchPT0iIlt0XShlKX0pKSxwPWgmJiFhKChmdW5jdGlvbigpe3ZhciBlPSExLG49L2EvO3JldHVybiJzcGxpdCI9PT10JiYobj17fSxuLmNvbnN0cnVjdG9yPXt9LG4uY29uc3RydWN0b3JbdV09ZnVuY3Rpb24oKXtyZXR1cm4gbn0sbi5mbGFncz0iIixuW2RdPS8uL1tkXSksbi5leGVjPWZ1bmN0aW9uKCl7cmV0dXJuIGU9ITAsbnVsbH0sbltkXSgiIiksIWV9KSk7aWYoIWh8fCFwfHxuKXt2YXIgdj0vLi9bZF0sZz1lKGQsIiJbdF0sKGZ1bmN0aW9uKHQsZSxuLGksYSl7dmFyIHM9ZS5leGVjO3JldHVybiBzPT09b3x8cz09PWwuZXhlYz9oJiYhYT97ZG9uZTohMCx2YWx1ZTpyKHYsZSxuLGkpfTp7ZG9uZTohMCx2YWx1ZTpyKHQsbixlLGkpfTp7ZG9uZTohMX19KSk7aShTdHJpbmcucHJvdG90eXBlLHQsZ1swXSksaShsLGQsZ1sxXSl9ZiYmYyhsW2RdLCJzaGFtIiwhMCl9fSwiN2VkZCI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCI4NWMxIiksaT1uKCJhZjllIiksbz1uKCJiYjgwIiksYT1uKCI3ZGRiIikscz1uKCI2YmZhIiksYz1uKCI4YzA4IiksdT1jKCJpdGVyYXRvciIpLGw9ci5VaW50OEFycmF5LGY9byhzLnZhbHVlcyksZD1vKHMua2V5cyksaD1vKHMuZW50cmllcykscD1hLmFUeXBlZEFycmF5LHY9YS5leHBvcnRUeXBlZEFycmF5TWV0aG9kLGc9bCYmbC5wcm90b3R5cGUsbT0haSgoZnVuY3Rpb24oKXtnW3VdLmNhbGwoWzFdKX0pKSxiPSEhZyYmZy52YWx1ZXMmJmdbdV09PT1nLnZhbHVlcyYmInZhbHVlcyI9PT1nLnZhbHVlcy5uYW1lLHk9ZnVuY3Rpb24oKXtyZXR1cm4gZihwKHRoaXMpKX07digiZW50cmllcyIsKGZ1bmN0aW9uKCl7cmV0dXJuIGgocCh0aGlzKSl9KSxtKSx2KCJrZXlzIiwoZnVuY3Rpb24oKXtyZXR1cm4gZChwKHRoaXMpKX0pLG0pLHYoInZhbHVlcyIseSxtfHwhYix7bmFtZToidmFsdWVzIn0pLHYodSx5LG18fCFiLHtuYW1lOiJ2YWx1ZXMifSl9LCI3ZjI4IjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPVR5cGVFcnJvcjt0LmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtpZih0PGUpdGhyb3cgbmV3IHIoIk5vdCBlbm91Z2ggYXJndW1lbnRzIik7cmV0dXJuIHR9fSwiN2Y0OCI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCI4YmRiIiksaT1uKCJhZjllIiksbz1uKCI4NDQ5IikuZixhPWkoKGZ1bmN0aW9uKCl7cmV0dXJuIU9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKDEpfSkpO3Ioe3RhcmdldDoiT2JqZWN0IixzdGF0OiEwLGZvcmNlZDphfSx7Z2V0T3duUHJvcGVydHlOYW1lczpvfSl9LCI3ZjVmIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oImU3ZTMiKSxpPW4oIjdlOTEiKTt0LmV4cG9ydHM9ZnVuY3Rpb24odCxlLG4sbyl7dHJ5e3JldHVybiBvP2UocihuKVswXSxuWzFdKTplKG4pfWNhdGNoKGEpe2kodCwidGhyb3ciLGEpfX19LCI4MGIxIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO24oIjZhNTQiKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksZS5kZWZhdWx0PWZ1bmN0aW9uKHQsZSl7aWYoISh0IGluc3RhbmNlb2YgZSkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uIil9LG4oIjdhNzYiKSxuKCJjOWI1Iil9LCI4MGJiIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjAwYzIiKSxpPW4oIjYyZjciKSxvPWkuY29uY2F0KCJsZW5ndGgiLCJwcm90b3R5cGUiKTtlLmY9T2JqZWN0LmdldE93blByb3BlcnR5TmFtZXN8fGZ1bmN0aW9uKHQpe3JldHVybiByKHQsbyl9fSwiODBlMyI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCI4YmRiIiksaT1uKCI4NWMxIiksbz1uKCJlZmE1IiksYT1uKCI0MzdmIikscz1vWyJBcnJheUJ1ZmZlciJdLGM9aVsiQXJyYXlCdWZmZXIiXTtyKHtnbG9iYWw6ITAsY29uc3RydWN0b3I6ITAsZm9yY2VkOmMhPT1zfSx7QXJyYXlCdWZmZXI6c30pLGEoIkFycmF5QnVmZmVyIil9LCI4MWE3IjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjhjMDgiKSxpPW4oIjc5OWQiKSxvPXIoIml0ZXJhdG9yIiksYT1BcnJheS5wcm90b3R5cGU7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiB2b2lkIDAhPT10JiYoaS5BcnJheT09PXR8fGFbb109PT10KX19LCI4MWE5IjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjQ3NGYiKSxpPW4oImQ2YjEiKSxvPW4oImQ2M2EiKSxhPW4oImM5YjciKTt0LmV4cG9ydHM9ZnVuY3Rpb24odCxlLG4scyl7c3x8KHM9e30pO3ZhciBjPXMuZW51bWVyYWJsZSx1PXZvaWQgMCE9PXMubmFtZT9zLm5hbWU6ZTtpZihyKG4pJiZvKG4sdSxzKSxzLmdsb2JhbCljP3RbZV09bjphKGUsbik7ZWxzZXt0cnl7cy51bnNhZmU/dFtlXSYmKGM9ITApOmRlbGV0ZSB0W2VdfWNhdGNoKGwpe31jP3RbZV09bjppLmYodCxlLHt2YWx1ZTpuLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiFzLm5vbkNvbmZpZ3VyYWJsZSx3cml0YWJsZTohcy5ub25Xcml0YWJsZX0pfXJldHVybiB0fX0sIjgyOGIiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcih0LGUsbixyLGksbyxhLHMsYyx1KXt2YXIgbCxmPSJmdW5jdGlvbiI9PT10eXBlb2YgdD90Lm9wdGlvbnM6dDtpZihjKXtmLmNvbXBvbmVudHN8fChmLmNvbXBvbmVudHM9e30pO3ZhciBkPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7Zm9yKHZhciBoIGluIGMpZC5jYWxsKGMsaCkmJiFkLmNhbGwoZi5jb21wb25lbnRzLGgpJiYoZi5jb21wb25lbnRzW2hdPWNbaF0pfWlmKHUmJigiZnVuY3Rpb24iPT09dHlwZW9mIHUuYmVmb3JlQ3JlYXRlJiYodS5iZWZvcmVDcmVhdGU9W3UuYmVmb3JlQ3JlYXRlXSksKHUuYmVmb3JlQ3JlYXRlfHwodS5iZWZvcmVDcmVhdGU9W10pKS51bnNoaWZ0KChmdW5jdGlvbigpe3RoaXNbdS5fX21vZHVsZV09dGhpc30pKSwoZi5taXhpbnN8fChmLm1peGlucz1bXSkpLnB1c2godSkpLGUmJihmLnJlbmRlcj1lLGYuc3RhdGljUmVuZGVyRm5zPW4sZi5fY29tcGlsZWQ9ITApLHImJihmLmZ1bmN0aW9uYWw9ITApLG8mJihmLl9zY29wZUlkPSJkYXRhLXYtIitvKSxhPyhsPWZ1bmN0aW9uKHQpe3Q9dHx8dGhpcy4kdm5vZGUmJnRoaXMuJHZub2RlLnNzckNvbnRleHR8fHRoaXMucGFyZW50JiZ0aGlzLnBhcmVudC4kdm5vZGUmJnRoaXMucGFyZW50LiR2bm9kZS5zc3JDb250ZXh0LHR8fCJ1bmRlZmluZWQiPT09dHlwZW9mIF9fVlVFX1NTUl9DT05URVhUX198fCh0PV9fVlVFX1NTUl9DT05URVhUX18pLGkmJmkuY2FsbCh0aGlzLHQpLHQmJnQuX3JlZ2lzdGVyZWRDb21wb25lbnRzJiZ0Ll9yZWdpc3RlcmVkQ29tcG9uZW50cy5hZGQoYSl9LGYuX3NzclJlZ2lzdGVyPWwpOmkmJihsPXM/ZnVuY3Rpb24oKXtpLmNhbGwodGhpcyx0aGlzLiRyb290LiRvcHRpb25zLnNoYWRvd1Jvb3QpfTppKSxsKWlmKGYuZnVuY3Rpb25hbCl7Zi5faW5qZWN0U3R5bGVzPWw7dmFyIHA9Zi5yZW5kZXI7Zi5yZW5kZXI9ZnVuY3Rpb24odCxlKXtyZXR1cm4gbC5jYWxsKGUpLHAodCxlKX19ZWxzZXt2YXIgdj1mLmJlZm9yZUNyZWF0ZTtmLmJlZm9yZUNyZWF0ZT12P1tdLmNvbmNhdCh2LGwpOltsXX1yZXR1cm57ZXhwb3J0czp0LG9wdGlvbnM6Zn19bi5kKGUsImEiLChmdW5jdGlvbigpe3JldHVybiByfSkpfSw4MzI4OmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiNTA4ZCIpLGk9bigiZDdiOCIpLG89bigiZjBiNSIpLGE9bigiZjQzOSIpLHM9bigiYTVjNiIpLGM9bigiN2MyNiIpLHU9bigiNTlmOCIpO3Ioe3RhcmdldDoiUHJvbWlzZSIsc3RhdDohMCxmb3JjZWQ6dX0se3JhY2U6ZnVuY3Rpb24odCl7dmFyIGU9dGhpcyxuPWEuZihlKSxyPW4ucmVqZWN0LHU9cygoZnVuY3Rpb24oKXt2YXIgYT1vKGUucmVzb2x2ZSk7Yyh0LChmdW5jdGlvbih0KXtpKGEsZSx0KS50aGVuKG4ucmVzb2x2ZSxyKX0pKX0pKTtyZXR1cm4gdS5lcnJvciYmcih1LnZhbHVlKSxuLnByb21pc2V9fSl9LDgzNDU6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCI1MDhkIiksaT1uKCIzYTRiIiksbz1uKCI4M2IzIikuQ09OU1RSVUNUT1IsYT1uKCIzYzVkIikscz1uKCJjODZiIiksYz1uKCJmZGNhIiksdT1uKCIyN2NjIiksbD1hJiZhLnByb3RvdHlwZTtpZihyKHt0YXJnZXQ6IlByb21pc2UiLHByb3RvOiEwLGZvcmNlZDpvLHJlYWw6ITB9LHtjYXRjaDpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy50aGVuKHZvaWQgMCx0KX19KSwhaSYmYyhhKSl7dmFyIGY9cygiUHJvbWlzZSIpLnByb3RvdHlwZVsiY2F0Y2giXTtsWyJjYXRjaCJdIT09ZiYmdShsLCJjYXRjaCIsZix7dW5zYWZlOiEwfSl9fSw4Mzk0OmZ1bmN0aW9uKHQsZSxuKXsoZnVuY3Rpb24oZSl7dmFyIG49ZnVuY3Rpb24odCl7cmV0dXJuIHQmJnQuTWF0aD09TWF0aCYmdH07dC5leHBvcnRzPW4oIm9iamVjdCI9PXR5cGVvZiBnbG9iYWxUaGlzJiZnbG9iYWxUaGlzKXx8bigib2JqZWN0Ij09dHlwZW9mIHdpbmRvdyYmd2luZG93KXx8bigib2JqZWN0Ij09dHlwZW9mIHNlbGYmJnNlbGYpfHxuKCJvYmplY3QiPT10eXBlb2YgZSYmZSl8fGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KCl8fEZ1bmN0aW9uKCJyZXR1cm4gdGhpcyIpKCl9KS5jYWxsKHRoaXMsbigiMGVlNCIpKX0sIjgzYjMiOmZ1bmN0aW9uKHQsZSxuKXt2YXIgcj1uKCI4Mzk0IiksaT1uKCIzYzVkIiksbz1uKCJmZGNhIiksYT1uKCIxNTM1Iikscz1uKCI5N2NmIiksYz1uKCIyOWQ1IiksdT1uKCJhM2YzIiksbD1uKCI5YjhmYiIpLGY9bigiM2E0YiIpLGQ9bigiZGY3YiIpLGg9aSYmaS5wcm90b3R5cGUscD1jKCJzcGVjaWVzIiksdj0hMSxnPW8oci5Qcm9taXNlUmVqZWN0aW9uRXZlbnQpLG09YSgiUHJvbWlzZSIsKGZ1bmN0aW9uKCl7dmFyIHQ9cyhpKSxlPXQhPT1TdHJpbmcoaSk7aWYoIWUmJjY2PT09ZClyZXR1cm4hMDtpZihmJiYoIWhbImNhdGNoIl18fCFoWyJmaW5hbGx5Il0pKXJldHVybiEwO2lmKCFkfHxkPDUxfHwhL25hdGl2ZSBjb2RlLy50ZXN0KHQpKXt2YXIgbj1uZXcgaSgoZnVuY3Rpb24odCl7dCgxKX0pKSxyPWZ1bmN0aW9uKHQpe3QoKGZ1bmN0aW9uKCl7fSksKGZ1bmN0aW9uKCl7fSkpfSxvPW4uY29uc3RydWN0b3I9e307aWYob1twXT1yLHY9bi50aGVuKChmdW5jdGlvbigpe30pKWluc3RhbmNlb2YgciwhdilyZXR1cm4hMH1yZXR1cm4hZSYmKHV8fGwpJiYhZ30pKTt0LmV4cG9ydHM9e0NPTlNUUlVDVE9SOm0sUkVKRUNUSU9OX0VWRU5UOmcsU1VCQ0xBU1NJTkc6dn19LCI4M2ZhIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oImJiODAiKTt0LmV4cG9ydHM9cigxLi52YWx1ZU9mKX0sODQ0OTpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oImFkYTUiKSxpPW4oImY2NjAiKSxvPW4oIjgwYmIiKS5mLGE9bigiMzdhZCIpLHM9Im9iamVjdCI9PXR5cGVvZiB3aW5kb3cmJndpbmRvdyYmT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXM/T2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMod2luZG93KTpbXTt0LmV4cG9ydHMuZj1mdW5jdGlvbih0KXtyZXR1cm4gcyYmIldpbmRvdyI9PT1yKHQpP2Z1bmN0aW9uKHQpe3RyeXtyZXR1cm4gbyh0KX1jYXRjaChlKXtyZXR1cm4gYShzKX19KHQpOm8oaSh0KSl9fSwiODQ0ZCI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCJmMjU5Iik7cigiaXRlcmF0b3IiKX0sODQ2NjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oImFmOWUiKSxpPW4oIjQ3NGYiKSxvPS8jfFwucHJvdG90eXBlXC4vLGE9ZnVuY3Rpb24odCxlKXt2YXIgbj1jW3ModCldO3JldHVybiBuPT09bHx8biE9PXUmJihpKGUpP3IoZSk6ISFlKX0scz1hLm5vcm1hbGl6ZT1mdW5jdGlvbih0KXtyZXR1cm4gU3RyaW5nKHQpLnJlcGxhY2UobywiLiIpLnRvTG93ZXJDYXNlKCl9LGM9YS5kYXRhPXt9LHU9YS5OQVRJVkU9Ik4iLGw9YS5QT0xZRklMTD0iUCI7dC5leHBvcnRzPWF9LCI4NDlkIjpmdW5jdGlvbih0LGUsbil7dmFyIHIsaT1uKCJkMTkxIiksbz1uKCI1NjI4IiksYT1uKCJkYTFkIikscz1uKCJiZDhhIiksYz1uKCIzNjcxIiksdT1uKCIzYjc4IiksbD1uKCIzODcyIiksZj1sKCJJRV9QUk9UTyIpLGQ9ZnVuY3Rpb24oKXt9LGg9ZnVuY3Rpb24odCl7cmV0dXJuIjxzY3JpcHQ+Iit0KyI8XC9zY3JpcHQ+In0scD1mdW5jdGlvbih0KXt0LndyaXRlKGgoIiIpKSx0LmNsb3NlKCk7dmFyIGU9dC5wYXJlbnRXaW5kb3cuT2JqZWN0O3JldHVybiB0PW51bGwsZX0sdj1mdW5jdGlvbigpe3RyeXtyPW5ldyBBY3RpdmVYT2JqZWN0KCJodG1sZmlsZSIpfWNhdGNoKGUpe312PSJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQ/ZG9jdW1lbnQuZG9tYWluJiZyP3Aocik6ZnVuY3Rpb24oKXt2YXIgdCxlPXUoImlmcmFtZSIpO3JldHVybiBlLnN0eWxlLmRpc3BsYXk9Im5vbmUiLGMuYXBwZW5kQ2hpbGQoZSksZS5zcmM9U3RyaW5nKCJqYXZhc2NyaXB0OiIpLHQ9ZS5jb250ZW50V2luZG93LmRvY3VtZW50LHQub3BlbigpLHQud3JpdGUoaCgiZG9jdW1lbnQuRj1PYmplY3QiKSksdC5jbG9zZSgpLHQuRn0oKTpwKHIpO3ZhciB0PWEubGVuZ3RoO3doaWxlKHQtLSlkZWxldGUgdlsicHJvdG90eXBlIl1bYVt0XV07cmV0dXJuIHYoKX07c1tmXT0hMCx0LmV4cG9ydHM9T2JqZWN0LmNyZWF0ZXx8ZnVuY3Rpb24odCxlKXt2YXIgbjtyZXR1cm4gbnVsbCE9PXQ/KGRbInByb3RvdHlwZSJdPWkodCksbj1uZXcgZCxkWyJwcm90b3R5cGUiXT1udWxsLG5bZl09dCk6bj12KCksdm9pZCAwPT09ZT9uOm8uZihuLGUpfX0sIjg0ZDYiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiMTA5OSIpLGk9bigiZTM0YyIpLG89bigiMWZjMSIpO3QuZXhwb3J0cz1mdW5jdGlvbih0KXt2YXIgZT1yKHRoaXMpLG49byhlKSxhPWFyZ3VtZW50cy5sZW5ndGgscz1pKGE+MT9hcmd1bWVudHNbMV06dm9pZCAwLG4pLGM9YT4yP2FyZ3VtZW50c1syXTp2b2lkIDAsdT12b2lkIDA9PT1jP246aShjLG4pO3doaWxlKHU+cyllW3MrK109dDtyZXR1cm4gZX19LDg1NTc6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCI3ZGRiIiksaT1uKCI0ZDE2Iikuc29tZSxvPXIuYVR5cGVkQXJyYXksYT1yLmV4cG9ydFR5cGVkQXJyYXlNZXRob2Q7YSgic29tZSIsKGZ1bmN0aW9uKHQpe3JldHVybiBpKG8odGhpcyksdCxhcmd1bWVudHMubGVuZ3RoPjE/YXJndW1lbnRzWzFdOnZvaWQgMCl9KSl9LDg1OTg6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCJiYjgwIiksaT1uKCI3OTkyIiksbz1uKCIxYzA2IiksYT1uKCIzMzhjIikscz1uKCIzN2FkIiksYz1uKCI4ZjI2IiksdT1GdW5jdGlvbixsPXIoW10uY29uY2F0KSxmPXIoW10uam9pbiksZD17fSxoPWZ1bmN0aW9uKHQsZSxuKXtpZighYShkLGUpKXtmb3IodmFyIHI9W10saT0wO2k8ZTtpKyspcltpXT0iYVsiK2krIl0iO2RbZV09dSgiQyxhIiwicmV0dXJuIG5ldyBDKCIrZihyLCIsIikrIikiKX1yZXR1cm4gZFtlXSh0LG4pfTt0LmV4cG9ydHM9Yz91LmJpbmQ6ZnVuY3Rpb24odCl7dmFyIGU9aSh0aGlzKSxuPWUucHJvdG90eXBlLHI9cyhhcmd1bWVudHMsMSksYT1mdW5jdGlvbigpe3ZhciBuPWwocixzKGFyZ3VtZW50cykpO3JldHVybiB0aGlzIGluc3RhbmNlb2YgYT9oKGUsbi5sZW5ndGgsbik6ZS5hcHBseSh0LG4pfTtyZXR1cm4gbyhuKSYmKGEucHJvdG90eXBlPW4pLGF9fSwiODVjMSI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjsoZnVuY3Rpb24oZSl7dmFyIG49ZnVuY3Rpb24odCl7cmV0dXJuIHQmJnQuTWF0aD09PU1hdGgmJnR9O3QuZXhwb3J0cz1uKCJvYmplY3QiPT10eXBlb2YgZ2xvYmFsVGhpcyYmZ2xvYmFsVGhpcyl8fG4oIm9iamVjdCI9PXR5cGVvZiB3aW5kb3cmJndpbmRvdyl8fG4oIm9iamVjdCI9PXR5cGVvZiBzZWxmJiZzZWxmKXx8bigib2JqZWN0Ij09dHlwZW9mIGUmJmUpfHxuKCJvYmplY3QiPT10eXBlb2YgdGhpcyYmdGhpcyl8fGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KCl8fEZ1bmN0aW9uKCJyZXR1cm4gdGhpcyIpKCl9KS5jYWxsKHRoaXMsbigiMGVlNCIpKX0sIjg1ZTUiOmZ1bmN0aW9uKHQsZSxuKXt2YXIgcj1uKCJkMTBhIiksaT1yKHt9LnRvU3RyaW5nKSxvPXIoIiIuc2xpY2UpO3QuZXhwb3J0cz1mdW5jdGlvbih0KXtyZXR1cm4gbyhpKHQpLDgsLTEpfX0sIjg1ZjciOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiYWI0YSIpLGk9bigiZDZiMSIpLG89bigiMGI1YSIpO3QuZXhwb3J0cz1mdW5jdGlvbih0LGUsbil7cj9pLmYodCxlLG8oMCxuKSk6dFtlXT1ufX0sIjg2MmMiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiMWViOCIpLGk9VHlwZUVycm9yO3QuZXhwb3J0cz1mdW5jdGlvbih0KXtpZihyKHQpKXRocm93IG5ldyBpKCJDYW4ndCBjYWxsIG1ldGhvZCBvbiAiK3QpO3JldHVybiB0fX0sIjg2Y2EiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiZTc4YiIpLGk9TWF0aC5hYnM7dC5leHBvcnRzPWZ1bmN0aW9uKHQsZSxuLG8pe3ZhciBhPSt0LHM9aShhKSxjPXIoYSk7aWYoczxvKXJldHVybiBjKmZ1bmN0aW9uKHQpe3JldHVybiB0KzQ1MDM1OTk2MjczNzA0OTYtNDUwMzU5OTYyNzM3MDQ5Nn0ocy9vL2UpKm8qZTt2YXIgdT0oMStlLzIyMjA0NDYwNDkyNTAzMTNlLTMxKSpzLGw9dS0odS1zKTtyZXR1cm4gbD5ufHxsIT09bD9jKigxLzApOmMqbH19LCI4ODNkIjpmdW5jdGlvbih0LGUsbil7bigiN2E3NiIpLG4oImM5YjUiKSx0LmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtpZighKHQgaW5zdGFuY2VvZiBlKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb24iKX0sdC5leHBvcnRzLl9fZXNNb2R1bGU9ITAsdC5leHBvcnRzWyJkZWZhdWx0Il09dC5leHBvcnRzfSwiODg0YiI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCIzMzhjIiksaT1uKCI4MWE5Iiksbz1uKCI3MDU0IiksYT1uKCI4YzA4Iikscz1hKCJ0b1ByaW1pdGl2ZSIpLGM9RGF0ZS5wcm90b3R5cGU7cihjLHMpfHxpKGMscyxvKX0sODk0NTpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oImFiNGEiKSxpPW4oIjMzOGMiKSxvPUZ1bmN0aW9uLnByb3RvdHlwZSxhPXImJk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iscz1pKG8sIm5hbWUiKSxjPXMmJiJzb21ldGhpbmciPT09ZnVuY3Rpb24oKXt9Lm5hbWUsdT1zJiYoIXJ8fHImJmEobywibmFtZSIpLmNvbmZpZ3VyYWJsZSk7dC5leHBvcnRzPXtFWElTVFM6cyxQUk9QRVI6YyxDT05GSUdVUkFCTEU6dX19LCI4YTI5IjpmdW5jdGlvbih0LGUsbil7dmFyIHI9bigiNzdjZCIpLGk9bigiZmRjYSIpLG89bigiYjUxMCIpLGE9bigiMzg3MiIpLHM9bigiNjZlZSIpLGM9YSgiSUVfUFJPVE8iKSx1PU9iamVjdCxsPXUucHJvdG90eXBlO3QuZXhwb3J0cz1zP3UuZ2V0UHJvdG90eXBlT2Y6ZnVuY3Rpb24odCl7dmFyIGU9byh0KTtpZihyKGUsYykpcmV0dXJuIGVbY107dmFyIG49ZS5jb25zdHJ1Y3RvcjtyZXR1cm4gaShuKSYmZSBpbnN0YW5jZW9mIG4/bi5wcm90b3R5cGU6ZSBpbnN0YW5jZW9mIHU/bDpudWxsfX0sIjhhOGQiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiOGJkYiIpLGk9bigiOGM0ZiIpO3Ioe3RhcmdldDoiT2JqZWN0IixzdGF0OiEwfSx7c2V0UHJvdG90eXBlT2Y6aX0pfSwiOGFlMiI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCJiYjgwIiksaT1uKCJhZjllIiksbz1uKCI0NzRmIiksYT1uKCI4ZTAyIikscz1uKCI2YWE2IiksYz1uKCJjYTk5IiksdT1mdW5jdGlvbigpe30sbD1zKCJSZWZsZWN0IiwiY29uc3RydWN0IiksZj0vXlxzKig/OmNsYXNzfGZ1bmN0aW9uKVxiLyxkPXIoZi5leGVjKSxoPSFmLnRlc3QodSkscD1mdW5jdGlvbih0KXtpZighbyh0KSlyZXR1cm4hMTt0cnl7cmV0dXJuIGwodSxbXSx0KSwhMH1jYXRjaChlKXtyZXR1cm4hMX19LHY9ZnVuY3Rpb24odCl7aWYoIW8odCkpcmV0dXJuITE7c3dpdGNoKGEodCkpe2Nhc2UiQXN5bmNGdW5jdGlvbiI6Y2FzZSJHZW5lcmF0b3JGdW5jdGlvbiI6Y2FzZSJBc3luY0dlbmVyYXRvckZ1bmN0aW9uIjpyZXR1cm4hMX10cnl7cmV0dXJuIGh8fCEhZChmLGModCkpfWNhdGNoKGUpe3JldHVybiEwfX07di5zaGFtPSEwLHQuZXhwb3J0cz0hbHx8aSgoZnVuY3Rpb24oKXt2YXIgdDtyZXR1cm4gcChwLmNhbGwpfHwhcChPYmplY3QpfHwhcCgoZnVuY3Rpb24oKXt0PSEwfSkpfHx0fSkpP3Y6cH0sIjhiMjciOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiODk0NSIpLlBST1BFUixpPW4oImFmOWUiKSxvPW4oImYwNzIiKTt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIGkoKGZ1bmN0aW9uKCl7cmV0dXJuISFvW3RdKCl8fCLigIvCheGgjiIhPT0i4oCLwoXhoI4iW3RdKCl8fHImJm9bdF0ubmFtZSE9PXR9KSl9fSwiOGIzYiI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCI5YjU1Iik7dC5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHJbdF18fChyW3RdPWV8fHt9KX19LCI4YmNmIjpmdW5jdGlvbih0LGUsbil7dmFyIHI9bigiYmRiYiIpWyJkZWZhdWx0Il0saT1uKCI1NmM5Iik7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlPWkodCwic3RyaW5nIik7cmV0dXJuInN5bWJvbCI9PT1yKGUpP2U6U3RyaW5nKGUpfSx0LmV4cG9ydHMuX19lc01vZHVsZT0hMCx0LmV4cG9ydHNbImRlZmF1bHQiXT10LmV4cG9ydHN9LCI4YmRiIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjg1YzEiKSxpPW4oIjFkZWQiKS5mLG89bigiNmFjYSIpLGE9bigiODFhOSIpLHM9bigiYzliNyIpLGM9bigiM2Q4YSIpLHU9bigiODQ2NiIpO3QuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciBuLGwsZixkLGgscCx2PXQudGFyZ2V0LGc9dC5nbG9iYWwsbT10LnN0YXQ7aWYobD1nP3I6bT9yW3ZdfHxzKHYse30pOnJbdl0mJnJbdl0ucHJvdG90eXBlLGwpZm9yKGYgaW4gZSl7aWYoaD1lW2ZdLHQuZG9udENhbGxHZXRTZXQ/KHA9aShsLGYpLGQ9cCYmcC52YWx1ZSk6ZD1sW2ZdLG49dShnP2Y6disobT8iLiI6IiMiKStmLHQuZm9yY2VkKSwhbiYmdm9pZCAwIT09ZCl7aWYodHlwZW9mIGg9PXR5cGVvZiBkKWNvbnRpbnVlO2MoaCxkKX0odC5zaGFtfHxkJiZkLnNoYW0pJiZvKGgsInNoYW0iLCEwKSxhKGwsZixoLHQpfX19LCI4YzA4IjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjg1YzEiKSxpPW4oIjhiM2IiKSxvPW4oIjMzOGMiKSxhPW4oImQ3YjQiKSxzPW4oImFmNzEiKSxjPW4oIjRmMDQiKSx1PXIuU3ltYm9sLGw9aSgid2tzIiksZj1jP3VbImZvciJdfHx1OnUmJnUud2l0aG91dFNldHRlcnx8YTt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIG8obCx0KXx8KGxbdF09cyYmbyh1LHQpP3VbdF06ZigiU3ltYm9sLiIrdCkpLGxbdF19fSwiOGMxOCI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCI3ZGRiIiksaT1uKCI5YTUxIikucmlnaHQsbz1yLmFUeXBlZEFycmF5LGE9ci5leHBvcnRUeXBlZEFycmF5TWV0aG9kO2EoInJlZHVjZVJpZ2h0IiwoZnVuY3Rpb24odCl7dmFyIGU9YXJndW1lbnRzLmxlbmd0aDtyZXR1cm4gaShvKHRoaXMpLHQsZSxlPjE/YXJndW1lbnRzWzFdOnZvaWQgMCl9KSl9LCI4YzRmIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjk2MGMiKSxpPW4oIjFjMDYiKSxvPW4oIjg2MmMiKSxhPW4oImEwNDgiKTt0LmV4cG9ydHM9T2JqZWN0LnNldFByb3RvdHlwZU9mfHwoIl9fcHJvdG9fXyJpbnt9P2Z1bmN0aW9uKCl7dmFyIHQsZT0hMSxuPXt9O3RyeXt0PXIoT2JqZWN0LnByb3RvdHlwZSwiX19wcm90b19fIiwic2V0IiksdChuLFtdKSxlPW4gaW5zdGFuY2VvZiBBcnJheX1jYXRjaChzKXt9cmV0dXJuIGZ1bmN0aW9uKG4scil7cmV0dXJuIG8obiksYShyKSxpKG4pPyhlP3QobixyKTpuLl9fcHJvdG9fXz1yLG4pOm59fSgpOnZvaWQgMCl9LCI4Y2IxIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjZhY2EiKSxpPW4oIjdlODciKSxvPW4oIjQxN2EiKSxhPUVycm9yLmNhcHR1cmVTdGFja1RyYWNlO3QuZXhwb3J0cz1mdW5jdGlvbih0LGUsbixzKXtvJiYoYT9hKHQsZSk6cih0LCJzdGFjayIsaShuLHMpKSl9fSwiOGQwYiI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtuKCI2YTU0IiksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGUuZGVmYXVsdD1mdW5jdGlvbih0LGUpeyhudWxsPT1lfHxlPnQubGVuZ3RoKSYmKGU9dC5sZW5ndGgpO2Zvcih2YXIgbj0wLHI9bmV3IEFycmF5KGUpO248ZTtuKyspcltuXT10W25dO3JldHVybiByfX0sIjhkMjQiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiMjlkOCIpO3QuZXhwb3J0cz0vTVNJRXxUcmlkZW50Ly50ZXN0KHIpfSwiOGUwMiI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCI1NjliIiksaT1uKCI0NzRmIiksbz1uKCJhZGE1IiksYT1uKCI4YzA4Iikscz1hKCJ0b1N0cmluZ1RhZyIpLGM9T2JqZWN0LHU9IkFyZ3VtZW50cyI9PT1vKGZ1bmN0aW9uKCl7cmV0dXJuIGFyZ3VtZW50c30oKSk7dC5leHBvcnRzPXI/bzpmdW5jdGlvbih0KXt2YXIgZSxuLHI7cmV0dXJuIHZvaWQgMD09PXQ/IlVuZGVmaW5lZCI6bnVsbD09PXQ/Ik51bGwiOiJzdHJpbmciPT10eXBlb2Yobj1mdW5jdGlvbih0LGUpe3RyeXtyZXR1cm4gdFtlXX1jYXRjaChuKXt9fShlPWModCkscykpP246dT9vKGUpOiJPYmplY3QiPT09KHI9byhlKSkmJmkoZS5jYWxsZWUpPyJBcmd1bWVudHMiOnJ9fSwiOGYyNiI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCJhZjllIik7dC5leHBvcnRzPSFyKChmdW5jdGlvbigpe3ZhciB0PWZ1bmN0aW9uKCl7fS5iaW5kKCk7cmV0dXJuImZ1bmN0aW9uIiE9dHlwZW9mIHR8fHQuaGFzT3duUHJvcGVydHkoInByb3RvdHlwZSIpfSkpfSwiOGY1OSI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjsoZnVuY3Rpb24oZSl7dmFyIG49InVuZGVmaW5lZCIhPT10eXBlb2Ygd2luZG93P3dpbmRvdzoidW5kZWZpbmVkIiE9PXR5cGVvZiBlP2U6e30scj1uLl9fVlVFX0RFVlRPT0xTX0dMT0JBTF9IT09LX187ZnVuY3Rpb24gaSh0LGUpe2lmKHZvaWQgMD09PWUmJihlPVtdKSxudWxsPT09dHx8Im9iamVjdCIhPT10eXBlb2YgdClyZXR1cm4gdDt2YXIgbj1mdW5jdGlvbih0LGUpe3JldHVybiB0LmZpbHRlcihlKVswXX0oZSwoZnVuY3Rpb24oZSl7cmV0dXJuIGUub3JpZ2luYWw9PT10fSkpO2lmKG4pcmV0dXJuIG4uY29weTt2YXIgcj1BcnJheS5pc0FycmF5KHQpP1tdOnt9O3JldHVybiBlLnB1c2goe29yaWdpbmFsOnQsY29weTpyfSksT2JqZWN0LmtleXModCkuZm9yRWFjaCgoZnVuY3Rpb24obil7cltuXT1pKHRbbl0sZSl9KSkscn1mdW5jdGlvbiBvKHQsZSl7T2JqZWN0LmtleXModCkuZm9yRWFjaCgoZnVuY3Rpb24obil7cmV0dXJuIGUodFtuXSxuKX0pKX1mdW5jdGlvbiBhKHQpe3JldHVybiBudWxsIT09dCYmIm9iamVjdCI9PT10eXBlb2YgdH12YXIgcz1mdW5jdGlvbih0LGUpe3RoaXMucnVudGltZT1lLHRoaXMuX2NoaWxkcmVuPU9iamVjdC5jcmVhdGUobnVsbCksdGhpcy5fcmF3TW9kdWxlPXQ7dmFyIG49dC5zdGF0ZTt0aGlzLnN0YXRlPSgiZnVuY3Rpb24iPT09dHlwZW9mIG4/bigpOm4pfHx7fX0sYz17bmFtZXNwYWNlZDp7Y29uZmlndXJhYmxlOiEwfX07Yy5uYW1lc3BhY2VkLmdldD1mdW5jdGlvbigpe3JldHVybiEhdGhpcy5fcmF3TW9kdWxlLm5hbWVzcGFjZWR9LHMucHJvdG90eXBlLmFkZENoaWxkPWZ1bmN0aW9uKHQsZSl7dGhpcy5fY2hpbGRyZW5bdF09ZX0scy5wcm90b3R5cGUucmVtb3ZlQ2hpbGQ9ZnVuY3Rpb24odCl7ZGVsZXRlIHRoaXMuX2NoaWxkcmVuW3RdfSxzLnByb3RvdHlwZS5nZXRDaGlsZD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fY2hpbGRyZW5bdF19LHMucHJvdG90eXBlLmhhc0NoaWxkPWZ1bmN0aW9uKHQpe3JldHVybiB0IGluIHRoaXMuX2NoaWxkcmVufSxzLnByb3RvdHlwZS51cGRhdGU9ZnVuY3Rpb24odCl7dGhpcy5fcmF3TW9kdWxlLm5hbWVzcGFjZWQ9dC5uYW1lc3BhY2VkLHQuYWN0aW9ucyYmKHRoaXMuX3Jhd01vZHVsZS5hY3Rpb25zPXQuYWN0aW9ucyksdC5tdXRhdGlvbnMmJih0aGlzLl9yYXdNb2R1bGUubXV0YXRpb25zPXQubXV0YXRpb25zKSx0LmdldHRlcnMmJih0aGlzLl9yYXdNb2R1bGUuZ2V0dGVycz10LmdldHRlcnMpfSxzLnByb3RvdHlwZS5mb3JFYWNoQ2hpbGQ9ZnVuY3Rpb24odCl7byh0aGlzLl9jaGlsZHJlbix0KX0scy5wcm90b3R5cGUuZm9yRWFjaEdldHRlcj1mdW5jdGlvbih0KXt0aGlzLl9yYXdNb2R1bGUuZ2V0dGVycyYmbyh0aGlzLl9yYXdNb2R1bGUuZ2V0dGVycyx0KX0scy5wcm90b3R5cGUuZm9yRWFjaEFjdGlvbj1mdW5jdGlvbih0KXt0aGlzLl9yYXdNb2R1bGUuYWN0aW9ucyYmbyh0aGlzLl9yYXdNb2R1bGUuYWN0aW9ucyx0KX0scy5wcm90b3R5cGUuZm9yRWFjaE11dGF0aW9uPWZ1bmN0aW9uKHQpe3RoaXMuX3Jhd01vZHVsZS5tdXRhdGlvbnMmJm8odGhpcy5fcmF3TW9kdWxlLm11dGF0aW9ucyx0KX0sT2JqZWN0LmRlZmluZVByb3BlcnRpZXMocy5wcm90b3R5cGUsYyk7dmFyIHU9ZnVuY3Rpb24odCl7dGhpcy5yZWdpc3RlcihbXSx0LCExKX07dS5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKHQpe3JldHVybiB0LnJlZHVjZSgoZnVuY3Rpb24odCxlKXtyZXR1cm4gdC5nZXRDaGlsZChlKX0pLHRoaXMucm9vdCl9LHUucHJvdG90eXBlLmdldE5hbWVzcGFjZT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLnJvb3Q7cmV0dXJuIHQucmVkdWNlKChmdW5jdGlvbih0LG4pe3JldHVybiBlPWUuZ2V0Q2hpbGQobiksdCsoZS5uYW1lc3BhY2VkP24rIi8iOiIiKX0pLCIiKX0sdS5wcm90b3R5cGUudXBkYXRlPWZ1bmN0aW9uKHQpeyhmdW5jdGlvbiB0KGUsbixyKXswO2lmKG4udXBkYXRlKHIpLHIubW9kdWxlcylmb3IodmFyIGkgaW4gci5tb2R1bGVzKXtpZighbi5nZXRDaGlsZChpKSlyZXR1cm4gdm9pZCAwO3QoZS5jb25jYXQoaSksbi5nZXRDaGlsZChpKSxyLm1vZHVsZXNbaV0pfX0pKFtdLHRoaXMucm9vdCx0KX0sdS5wcm90b3R5cGUucmVnaXN0ZXI9ZnVuY3Rpb24odCxlLG4pe3ZhciByPXRoaXM7dm9pZCAwPT09biYmKG49ITApO3ZhciBpPW5ldyBzKGUsbik7aWYoMD09PXQubGVuZ3RoKXRoaXMucm9vdD1pO2Vsc2V7dmFyIGE9dGhpcy5nZXQodC5zbGljZSgwLC0xKSk7YS5hZGRDaGlsZCh0W3QubGVuZ3RoLTFdLGkpfWUubW9kdWxlcyYmbyhlLm1vZHVsZXMsKGZ1bmN0aW9uKGUsaSl7ci5yZWdpc3Rlcih0LmNvbmNhdChpKSxlLG4pfSkpfSx1LnByb3RvdHlwZS51bnJlZ2lzdGVyPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuZ2V0KHQuc2xpY2UoMCwtMSkpLG49dFt0Lmxlbmd0aC0xXSxyPWUuZ2V0Q2hpbGQobik7ciYmci5ydW50aW1lJiZlLnJlbW92ZUNoaWxkKG4pfSx1LnByb3RvdHlwZS5pc1JlZ2lzdGVyZWQ9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5nZXQodC5zbGljZSgwLC0xKSksbj10W3QubGVuZ3RoLTFdO3JldHVybiEhZSYmZS5oYXNDaGlsZChuKX07dmFyIGw7dmFyIGY9ZnVuY3Rpb24odCl7dmFyIGU9dGhpczt2b2lkIDA9PT10JiYodD17fSksIWwmJiJ1bmRlZmluZWQiIT09dHlwZW9mIHdpbmRvdyYmd2luZG93LlZ1ZSYmeSh3aW5kb3cuVnVlKTt2YXIgbj10LnBsdWdpbnM7dm9pZCAwPT09biYmKG49W10pO3ZhciBpPXQuc3RyaWN0O3ZvaWQgMD09PWkmJihpPSExKSx0aGlzLl9jb21taXR0aW5nPSExLHRoaXMuX2FjdGlvbnM9T2JqZWN0LmNyZWF0ZShudWxsKSx0aGlzLl9hY3Rpb25TdWJzY3JpYmVycz1bXSx0aGlzLl9tdXRhdGlvbnM9T2JqZWN0LmNyZWF0ZShudWxsKSx0aGlzLl93cmFwcGVkR2V0dGVycz1PYmplY3QuY3JlYXRlKG51bGwpLHRoaXMuX21vZHVsZXM9bmV3IHUodCksdGhpcy5fbW9kdWxlc05hbWVzcGFjZU1hcD1PYmplY3QuY3JlYXRlKG51bGwpLHRoaXMuX3N1YnNjcmliZXJzPVtdLHRoaXMuX3dhdGNoZXJWTT1uZXcgbCx0aGlzLl9tYWtlTG9jYWxHZXR0ZXJzQ2FjaGU9T2JqZWN0LmNyZWF0ZShudWxsKTt2YXIgbz10aGlzLGE9dGhpcy5kaXNwYXRjaCxzPXRoaXMuY29tbWl0O3RoaXMuZGlzcGF0Y2g9ZnVuY3Rpb24odCxlKXtyZXR1cm4gYS5jYWxsKG8sdCxlKX0sdGhpcy5jb21taXQ9ZnVuY3Rpb24odCxlLG4pe3JldHVybiBzLmNhbGwobyx0LGUsbil9LHRoaXMuc3RyaWN0PWk7dmFyIGM9dGhpcy5fbW9kdWxlcy5yb290LnN0YXRlO2codGhpcyxjLFtdLHRoaXMuX21vZHVsZXMucm9vdCksdih0aGlzLGMpLG4uZm9yRWFjaCgoZnVuY3Rpb24odCl7cmV0dXJuIHQoZSl9KSk7dmFyIGY9dm9pZCAwIT09dC5kZXZ0b29scz90LmRldnRvb2xzOmwuY29uZmlnLmRldnRvb2xzO2YmJmZ1bmN0aW9uKHQpe3ImJih0Ll9kZXZ0b29sSG9vaz1yLHIuZW1pdCgidnVleDppbml0Iix0KSxyLm9uKCJ2dWV4OnRyYXZlbC10by1zdGF0ZSIsKGZ1bmN0aW9uKGUpe3QucmVwbGFjZVN0YXRlKGUpfSkpLHQuc3Vic2NyaWJlKChmdW5jdGlvbih0LGUpe3IuZW1pdCgidnVleDptdXRhdGlvbiIsdCxlKX0pLHtwcmVwZW5kOiEwfSksdC5zdWJzY3JpYmVBY3Rpb24oKGZ1bmN0aW9uKHQsZSl7ci5lbWl0KCJ2dWV4OmFjdGlvbiIsdCxlKX0pLHtwcmVwZW5kOiEwfSkpfSh0aGlzKX0sZD17c3RhdGU6e2NvbmZpZ3VyYWJsZTohMH19O2Z1bmN0aW9uIGgodCxlLG4pe3JldHVybiBlLmluZGV4T2YodCk8MCYmKG4mJm4ucHJlcGVuZD9lLnVuc2hpZnQodCk6ZS5wdXNoKHQpKSxmdW5jdGlvbigpe3ZhciBuPWUuaW5kZXhPZih0KTtuPi0xJiZlLnNwbGljZShuLDEpfX1mdW5jdGlvbiBwKHQsZSl7dC5fYWN0aW9ucz1PYmplY3QuY3JlYXRlKG51bGwpLHQuX211dGF0aW9ucz1PYmplY3QuY3JlYXRlKG51bGwpLHQuX3dyYXBwZWRHZXR0ZXJzPU9iamVjdC5jcmVhdGUobnVsbCksdC5fbW9kdWxlc05hbWVzcGFjZU1hcD1PYmplY3QuY3JlYXRlKG51bGwpO3ZhciBuPXQuc3RhdGU7Zyh0LG4sW10sdC5fbW9kdWxlcy5yb290LCEwKSx2KHQsbixlKX1mdW5jdGlvbiB2KHQsZSxuKXt2YXIgcj10Ll92bTt0LmdldHRlcnM9e30sdC5fbWFrZUxvY2FsR2V0dGVyc0NhY2hlPU9iamVjdC5jcmVhdGUobnVsbCk7dmFyIGk9dC5fd3JhcHBlZEdldHRlcnMsYT17fTtvKGksKGZ1bmN0aW9uKGUsbil7YVtuXT1mdW5jdGlvbih0LGUpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0KGUpfX0oZSx0KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodC5nZXR0ZXJzLG4se2dldDpmdW5jdGlvbigpe3JldHVybiB0Ll92bVtuXX0sZW51bWVyYWJsZTohMH0pfSkpO3ZhciBzPWwuY29uZmlnLnNpbGVudDtsLmNvbmZpZy5zaWxlbnQ9ITAsdC5fdm09bmV3IGwoe2RhdGE6eyQkc3RhdGU6ZX0sY29tcHV0ZWQ6YX0pLGwuY29uZmlnLnNpbGVudD1zLHQuc3RyaWN0JiZmdW5jdGlvbih0KXt0Ll92bS4kd2F0Y2goKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2RhdGEuJCRzdGF0ZX0pLChmdW5jdGlvbigpezB9KSx7ZGVlcDohMCxzeW5jOiEwfSl9KHQpLHImJihuJiZ0Ll93aXRoQ29tbWl0KChmdW5jdGlvbigpe3IuX2RhdGEuJCRzdGF0ZT1udWxsfSkpLGwubmV4dFRpY2soKGZ1bmN0aW9uKCl7cmV0dXJuIHIuJGRlc3Ryb3koKX0pKSl9ZnVuY3Rpb24gZyh0LGUsbixyLGkpe3ZhciBvPSFuLmxlbmd0aCxhPXQuX21vZHVsZXMuZ2V0TmFtZXNwYWNlKG4pO2lmKHIubmFtZXNwYWNlZCYmKHQuX21vZHVsZXNOYW1lc3BhY2VNYXBbYV0sdC5fbW9kdWxlc05hbWVzcGFjZU1hcFthXT1yKSwhbyYmIWkpe3ZhciBzPW0oZSxuLnNsaWNlKDAsLTEpKSxjPW5bbi5sZW5ndGgtMV07dC5fd2l0aENvbW1pdCgoZnVuY3Rpb24oKXtsLnNldChzLGMsci5zdGF0ZSl9KSl9dmFyIHU9ci5jb250ZXh0PWZ1bmN0aW9uKHQsZSxuKXt2YXIgcj0iIj09PWUsaT17ZGlzcGF0Y2g6cj90LmRpc3BhdGNoOmZ1bmN0aW9uKG4scixpKXt2YXIgbz1iKG4scixpKSxhPW8ucGF5bG9hZCxzPW8ub3B0aW9ucyxjPW8udHlwZTtyZXR1cm4gcyYmcy5yb290fHwoYz1lK2MpLHQuZGlzcGF0Y2goYyxhKX0sY29tbWl0OnI/dC5jb21taXQ6ZnVuY3Rpb24obixyLGkpe3ZhciBvPWIobixyLGkpLGE9by5wYXlsb2FkLHM9by5vcHRpb25zLGM9by50eXBlO3MmJnMucm9vdHx8KGM9ZStjKSx0LmNvbW1pdChjLGEscyl9fTtyZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoaSx7Z2V0dGVyczp7Z2V0OnI/ZnVuY3Rpb24oKXtyZXR1cm4gdC5nZXR0ZXJzfTpmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbih0LGUpe2lmKCF0Ll9tYWtlTG9jYWxHZXR0ZXJzQ2FjaGVbZV0pe3ZhciBuPXt9LHI9ZS5sZW5ndGg7T2JqZWN0LmtleXModC5nZXR0ZXJzKS5mb3JFYWNoKChmdW5jdGlvbihpKXtpZihpLnNsaWNlKDAscik9PT1lKXt2YXIgbz1pLnNsaWNlKHIpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLG8se2dldDpmdW5jdGlvbigpe3JldHVybiB0LmdldHRlcnNbaV19LGVudW1lcmFibGU6ITB9KX19KSksdC5fbWFrZUxvY2FsR2V0dGVyc0NhY2hlW2VdPW59cmV0dXJuIHQuX21ha2VMb2NhbEdldHRlcnNDYWNoZVtlXX0odCxlKX19LHN0YXRlOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbSh0LnN0YXRlLG4pfX19KSxpfSh0LGEsbik7ci5mb3JFYWNoTXV0YXRpb24oKGZ1bmN0aW9uKGUsbil7dmFyIHI9YStuOyhmdW5jdGlvbih0LGUsbixyKXt2YXIgaT10Ll9tdXRhdGlvbnNbZV18fCh0Ll9tdXRhdGlvbnNbZV09W10pO2kucHVzaCgoZnVuY3Rpb24oZSl7bi5jYWxsKHQsci5zdGF0ZSxlKX0pKX0pKHQscixlLHUpfSkpLHIuZm9yRWFjaEFjdGlvbigoZnVuY3Rpb24oZSxuKXt2YXIgcj1lLnJvb3Q/bjphK24saT1lLmhhbmRsZXJ8fGU7KGZ1bmN0aW9uKHQsZSxuLHIpe3ZhciBpPXQuX2FjdGlvbnNbZV18fCh0Ll9hY3Rpb25zW2VdPVtdKTtpLnB1c2goKGZ1bmN0aW9uKGUpe3ZhciBpPW4uY2FsbCh0LHtkaXNwYXRjaDpyLmRpc3BhdGNoLGNvbW1pdDpyLmNvbW1pdCxnZXR0ZXJzOnIuZ2V0dGVycyxzdGF0ZTpyLnN0YXRlLHJvb3RHZXR0ZXJzOnQuZ2V0dGVycyxyb290U3RhdGU6dC5zdGF0ZX0sZSk7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiB0JiYiZnVuY3Rpb24iPT09dHlwZW9mIHQudGhlbn0oaSl8fChpPVByb21pc2UucmVzb2x2ZShpKSksdC5fZGV2dG9vbEhvb2s/aS5jYXRjaCgoZnVuY3Rpb24oZSl7dGhyb3cgdC5fZGV2dG9vbEhvb2suZW1pdCgidnVleDplcnJvciIsZSksZX0pKTppfSkpfSkodCxyLGksdSl9KSksci5mb3JFYWNoR2V0dGVyKChmdW5jdGlvbihlLG4pe3ZhciByPWErbjsoZnVuY3Rpb24odCxlLG4scil7aWYodC5fd3JhcHBlZEdldHRlcnNbZV0pcmV0dXJuIHZvaWQgMDt0Ll93cmFwcGVkR2V0dGVyc1tlXT1mdW5jdGlvbih0KXtyZXR1cm4gbihyLnN0YXRlLHIuZ2V0dGVycyx0LnN0YXRlLHQuZ2V0dGVycyl9fSkodCxyLGUsdSl9KSksci5mb3JFYWNoQ2hpbGQoKGZ1bmN0aW9uKHIsbyl7Zyh0LGUsbi5jb25jYXQobykscixpKX0pKX1mdW5jdGlvbiBtKHQsZSl7cmV0dXJuIGUucmVkdWNlKChmdW5jdGlvbih0LGUpe3JldHVybiB0W2VdfSksdCl9ZnVuY3Rpb24gYih0LGUsbil7cmV0dXJuIGEodCkmJnQudHlwZSYmKG49ZSxlPXQsdD10LnR5cGUpLHt0eXBlOnQscGF5bG9hZDplLG9wdGlvbnM6bn19ZnVuY3Rpb24geSh0KXtsJiZ0PT09bHx8KGw9dCwKLyohCiAqIHZ1ZXggdjMuNi4yCiAqIChjKSAyMDIxIEV2YW4gWW91CiAqIEBsaWNlbnNlIE1JVAogKi8KZnVuY3Rpb24odCl7dmFyIGU9TnVtYmVyKHQudmVyc2lvbi5zcGxpdCgiLiIpWzBdKTtpZihlPj0yKXQubWl4aW4oe2JlZm9yZUNyZWF0ZTpyfSk7ZWxzZXt2YXIgbj10LnByb3RvdHlwZS5faW5pdDt0LnByb3RvdHlwZS5faW5pdD1mdW5jdGlvbih0KXt2b2lkIDA9PT10JiYodD17fSksdC5pbml0PXQuaW5pdD9bcl0uY29uY2F0KHQuaW5pdCk6cixuLmNhbGwodGhpcyx0KX19ZnVuY3Rpb24gcigpe3ZhciB0PXRoaXMuJG9wdGlvbnM7dC5zdG9yZT90aGlzLiRzdG9yZT0iZnVuY3Rpb24iPT09dHlwZW9mIHQuc3RvcmU/dC5zdG9yZSgpOnQuc3RvcmU6dC5wYXJlbnQmJnQucGFyZW50LiRzdG9yZSYmKHRoaXMuJHN0b3JlPXQucGFyZW50LiRzdG9yZSl9fShsKSl9ZC5zdGF0ZS5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fdm0uX2RhdGEuJCRzdGF0ZX0sZC5zdGF0ZS5zZXQ9ZnVuY3Rpb24odCl7MH0sZi5wcm90b3R5cGUuY29tbWl0PWZ1bmN0aW9uKHQsZSxuKXt2YXIgcj10aGlzLGk9Yih0LGUsbiksbz1pLnR5cGUsYT1pLnBheWxvYWQscz0oaS5vcHRpb25zLHt0eXBlOm8scGF5bG9hZDphfSksYz10aGlzLl9tdXRhdGlvbnNbb107YyYmKHRoaXMuX3dpdGhDb21taXQoKGZ1bmN0aW9uKCl7Yy5mb3JFYWNoKChmdW5jdGlvbih0KXt0KGEpfSkpfSkpLHRoaXMuX3N1YnNjcmliZXJzLnNsaWNlKCkuZm9yRWFjaCgoZnVuY3Rpb24odCl7cmV0dXJuIHQocyxyLnN0YXRlKX0pKSl9LGYucHJvdG90eXBlLmRpc3BhdGNoPWZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcyxyPWIodCxlKSxpPXIudHlwZSxvPXIucGF5bG9hZCxhPXt0eXBlOmkscGF5bG9hZDpvfSxzPXRoaXMuX2FjdGlvbnNbaV07aWYocyl7dHJ5e3RoaXMuX2FjdGlvblN1YnNjcmliZXJzLnNsaWNlKCkuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gdC5iZWZvcmV9KSkuZm9yRWFjaCgoZnVuY3Rpb24odCl7cmV0dXJuIHQuYmVmb3JlKGEsbi5zdGF0ZSl9KSl9Y2F0Y2godSl7MH12YXIgYz1zLmxlbmd0aD4xP1Byb21pc2UuYWxsKHMubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gdChvKX0pKSk6c1swXShvKTtyZXR1cm4gbmV3IFByb21pc2UoKGZ1bmN0aW9uKHQsZSl7Yy50aGVuKChmdW5jdGlvbihlKXt0cnl7bi5fYWN0aW9uU3Vic2NyaWJlcnMuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gdC5hZnRlcn0pKS5mb3JFYWNoKChmdW5jdGlvbih0KXtyZXR1cm4gdC5hZnRlcihhLG4uc3RhdGUpfSkpfWNhdGNoKHUpezB9dChlKX0pLChmdW5jdGlvbih0KXt0cnl7bi5fYWN0aW9uU3Vic2NyaWJlcnMuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gdC5lcnJvcn0pKS5mb3JFYWNoKChmdW5jdGlvbihlKXtyZXR1cm4gZS5lcnJvcihhLG4uc3RhdGUsdCl9KSl9Y2F0Y2godSl7MH1lKHQpfSkpfSkpfX0sZi5wcm90b3R5cGUuc3Vic2NyaWJlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGgodCx0aGlzLl9zdWJzY3JpYmVycyxlKX0sZi5wcm90b3R5cGUuc3Vic2NyaWJlQWN0aW9uPWZ1bmN0aW9uKHQsZSl7dmFyIG49ImZ1bmN0aW9uIj09PXR5cGVvZiB0P3tiZWZvcmU6dH06dDtyZXR1cm4gaChuLHRoaXMuX2FjdGlvblN1YnNjcmliZXJzLGUpfSxmLnByb3RvdHlwZS53YXRjaD1mdW5jdGlvbih0LGUsbil7dmFyIHI9dGhpcztyZXR1cm4gdGhpcy5fd2F0Y2hlclZNLiR3YXRjaCgoZnVuY3Rpb24oKXtyZXR1cm4gdChyLnN0YXRlLHIuZ2V0dGVycyl9KSxlLG4pfSxmLnByb3RvdHlwZS5yZXBsYWNlU3RhdGU9ZnVuY3Rpb24odCl7dmFyIGU9dGhpczt0aGlzLl93aXRoQ29tbWl0KChmdW5jdGlvbigpe2UuX3ZtLl9kYXRhLiQkc3RhdGU9dH0pKX0sZi5wcm90b3R5cGUucmVnaXN0ZXJNb2R1bGU9ZnVuY3Rpb24odCxlLG4pe3ZvaWQgMD09PW4mJihuPXt9KSwic3RyaW5nIj09PXR5cGVvZiB0JiYodD1bdF0pLHRoaXMuX21vZHVsZXMucmVnaXN0ZXIodCxlKSxnKHRoaXMsdGhpcy5zdGF0ZSx0LHRoaXMuX21vZHVsZXMuZ2V0KHQpLG4ucHJlc2VydmVTdGF0ZSksdih0aGlzLHRoaXMuc3RhdGUpfSxmLnByb3RvdHlwZS51bnJlZ2lzdGVyTW9kdWxlPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXM7InN0cmluZyI9PT10eXBlb2YgdCYmKHQ9W3RdKSx0aGlzLl9tb2R1bGVzLnVucmVnaXN0ZXIodCksdGhpcy5fd2l0aENvbW1pdCgoZnVuY3Rpb24oKXt2YXIgbj1tKGUuc3RhdGUsdC5zbGljZSgwLC0xKSk7bC5kZWxldGUobix0W3QubGVuZ3RoLTFdKX0pKSxwKHRoaXMpfSxmLnByb3RvdHlwZS5oYXNNb2R1bGU9ZnVuY3Rpb24odCl7cmV0dXJuInN0cmluZyI9PT10eXBlb2YgdCYmKHQ9W3RdKSx0aGlzLl9tb2R1bGVzLmlzUmVnaXN0ZXJlZCh0KX0sZi5wcm90b3R5cGVbWzEwNCwxMTEsMTE2LDg1LDExMiwxMDAsOTcsMTE2LDEwMV0ubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZSh0KX0pKS5qb2luKCIiKV09ZnVuY3Rpb24odCl7dGhpcy5fbW9kdWxlcy51cGRhdGUodCkscCh0aGlzLCEwKX0sZi5wcm90b3R5cGUuX3dpdGhDb21taXQ9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fY29tbWl0dGluZzt0aGlzLl9jb21taXR0aW5nPSEwLHQoKSx0aGlzLl9jb21taXR0aW5nPWV9LE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGYucHJvdG90eXBlLGQpO3ZhciBfPUMoKGZ1bmN0aW9uKHQsZSl7dmFyIG49e307cmV0dXJuIGsoZSkuZm9yRWFjaCgoZnVuY3Rpb24oZSl7dmFyIHI9ZS5rZXksaT1lLnZhbDtuW3JdPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy4kc3RvcmUuc3RhdGUsbj10aGlzLiRzdG9yZS5nZXR0ZXJzO2lmKHQpe3ZhciByPU8odGhpcy4kc3RvcmUsIm1hcFN0YXRlIix0KTtpZighcilyZXR1cm47ZT1yLmNvbnRleHQuc3RhdGUsbj1yLmNvbnRleHQuZ2V0dGVyc31yZXR1cm4iZnVuY3Rpb24iPT09dHlwZW9mIGk/aS5jYWxsKHRoaXMsZSxuKTplW2ldfSxuW3JdLnZ1ZXg9ITB9KSksbn0pKSx3PUMoKGZ1bmN0aW9uKHQsZSl7dmFyIG49e307cmV0dXJuIGsoZSkuZm9yRWFjaCgoZnVuY3Rpb24oZSl7dmFyIHI9ZS5rZXksaT1lLnZhbDtuW3JdPWZ1bmN0aW9uKCl7dmFyIGU9W10sbj1hcmd1bWVudHMubGVuZ3RoO3doaWxlKG4tLSllW25dPWFyZ3VtZW50c1tuXTt2YXIgcj10aGlzLiRzdG9yZS5jb21taXQ7aWYodCl7dmFyIG89Tyh0aGlzLiRzdG9yZSwibWFwTXV0YXRpb25zIix0KTtpZighbylyZXR1cm47cj1vLmNvbnRleHQuY29tbWl0fXJldHVybiJmdW5jdGlvbiI9PT10eXBlb2YgaT9pLmFwcGx5KHRoaXMsW3JdLmNvbmNhdChlKSk6ci5hcHBseSh0aGlzLiRzdG9yZSxbaV0uY29uY2F0KGUpKX19KSksbn0pKSx4PUMoKGZ1bmN0aW9uKHQsZSl7dmFyIG49e307cmV0dXJuIGsoZSkuZm9yRWFjaCgoZnVuY3Rpb24oZSl7dmFyIHI9ZS5rZXksaT1lLnZhbDtpPXQraSxuW3JdPWZ1bmN0aW9uKCl7aWYoIXR8fE8odGhpcy4kc3RvcmUsIm1hcEdldHRlcnMiLHQpKXJldHVybiB0aGlzLiRzdG9yZS5nZXR0ZXJzW2ldfSxuW3JdLnZ1ZXg9ITB9KSksbn0pKSxTPUMoKGZ1bmN0aW9uKHQsZSl7dmFyIG49e307cmV0dXJuIGsoZSkuZm9yRWFjaCgoZnVuY3Rpb24oZSl7dmFyIHI9ZS5rZXksaT1lLnZhbDtuW3JdPWZ1bmN0aW9uKCl7dmFyIGU9W10sbj1hcmd1bWVudHMubGVuZ3RoO3doaWxlKG4tLSllW25dPWFyZ3VtZW50c1tuXTt2YXIgcj10aGlzLiRzdG9yZS5kaXNwYXRjaDtpZih0KXt2YXIgbz1PKHRoaXMuJHN0b3JlLCJtYXBBY3Rpb25zIix0KTtpZighbylyZXR1cm47cj1vLmNvbnRleHQuZGlzcGF0Y2h9cmV0dXJuImZ1bmN0aW9uIj09PXR5cGVvZiBpP2kuYXBwbHkodGhpcyxbcl0uY29uY2F0KGUpKTpyLmFwcGx5KHRoaXMuJHN0b3JlLFtpXS5jb25jYXQoZSkpfX0pKSxufSkpO2Z1bmN0aW9uIGsodCl7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBBcnJheS5pc0FycmF5KHQpfHxhKHQpfSh0KT9BcnJheS5pc0FycmF5KHQpP3QubWFwKChmdW5jdGlvbih0KXtyZXR1cm57a2V5OnQsdmFsOnR9fSkpOk9iamVjdC5rZXlzKHQpLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJue2tleTplLHZhbDp0W2VdfX0pKTpbXX1mdW5jdGlvbiBDKHQpe3JldHVybiBmdW5jdGlvbihlLG4pe3JldHVybiJzdHJpbmciIT09dHlwZW9mIGU/KG49ZSxlPSIiKToiLyIhPT1lLmNoYXJBdChlLmxlbmd0aC0xKSYmKGUrPSIvIiksdChlLG4pfX1mdW5jdGlvbiBPKHQsZSxuKXt2YXIgcj10Ll9tb2R1bGVzTmFtZXNwYWNlTWFwW25dO3JldHVybiByfWZ1bmN0aW9uIFQodCxlLG4pe3ZhciByPW4/dC5ncm91cENvbGxhcHNlZDp0Lmdyb3VwO3RyeXtyLmNhbGwodCxlKX1jYXRjaChpKXt0LmxvZyhlKX19ZnVuY3Rpb24gRSh0KXt0cnl7dC5ncm91cEVuZCgpfWNhdGNoKGUpe3QubG9nKCLigJTigJQgbG9nIGVuZCDigJTigJQiKX19ZnVuY3Rpb24gQSgpe3ZhciB0PW5ldyBEYXRlO3JldHVybiIgQCAiK2oodC5nZXRIb3VycygpLDIpKyI6IitqKHQuZ2V0TWludXRlcygpLDIpKyI6IitqKHQuZ2V0U2Vjb25kcygpLDIpKyIuIitqKHQuZ2V0TWlsbGlzZWNvbmRzKCksMyl9ZnVuY3Rpb24gaih0LGUpe3JldHVybiBmdW5jdGlvbih0LGUpe3JldHVybiBuZXcgQXJyYXkoZSsxKS5qb2luKHQpfSgiMCIsZS10LnRvU3RyaW5nKCkubGVuZ3RoKSt0fXZhciBNPXtTdG9yZTpmLGluc3RhbGw6eSx2ZXJzaW9uOiIzLjYuMiIsbWFwU3RhdGU6XyxtYXBNdXRhdGlvbnM6dyxtYXBHZXR0ZXJzOngsbWFwQWN0aW9uczpTLGNyZWF0ZU5hbWVzcGFjZWRIZWxwZXJzOmZ1bmN0aW9uKHQpe3JldHVybnttYXBTdGF0ZTpfLmJpbmQobnVsbCx0KSxtYXBHZXR0ZXJzOnguYmluZChudWxsLHQpLG1hcE11dGF0aW9uczp3LmJpbmQobnVsbCx0KSxtYXBBY3Rpb25zOlMuYmluZChudWxsLHQpfX0sY3JlYXRlTG9nZ2VyOmZ1bmN0aW9uKHQpe3ZvaWQgMD09PXQmJih0PXt9KTt2YXIgZT10LmNvbGxhcHNlZDt2b2lkIDA9PT1lJiYoZT0hMCk7dmFyIG49dC5maWx0ZXI7dm9pZCAwPT09biYmKG49ZnVuY3Rpb24odCxlLG4pe3JldHVybiEwfSk7dmFyIHI9dC50cmFuc2Zvcm1lcjt2b2lkIDA9PT1yJiYocj1mdW5jdGlvbih0KXtyZXR1cm4gdH0pO3ZhciBvPXQubXV0YXRpb25UcmFuc2Zvcm1lcjt2b2lkIDA9PT1vJiYobz1mdW5jdGlvbih0KXtyZXR1cm4gdH0pO3ZhciBhPXQuYWN0aW9uRmlsdGVyO3ZvaWQgMD09PWEmJihhPWZ1bmN0aW9uKHQsZSl7cmV0dXJuITB9KTt2YXIgcz10LmFjdGlvblRyYW5zZm9ybWVyO3ZvaWQgMD09PXMmJihzPWZ1bmN0aW9uKHQpe3JldHVybiB0fSk7dmFyIGM9dC5sb2dNdXRhdGlvbnM7dm9pZCAwPT09YyYmKGM9ITApO3ZhciB1PXQubG9nQWN0aW9uczt2b2lkIDA9PT11JiYodT0hMCk7dmFyIGw9dC5sb2dnZXI7cmV0dXJuIHZvaWQgMD09PWwmJihsPWNvbnNvbGUpLGZ1bmN0aW9uKHQpe3ZhciBmPWkodC5zdGF0ZSk7InVuZGVmaW5lZCIhPT10eXBlb2YgbCYmKGMmJnQuc3Vic2NyaWJlKChmdW5jdGlvbih0LGEpe3ZhciBzPWkoYSk7aWYobih0LGYscykpe3ZhciBjPUEoKSx1PW8odCksZD0ibXV0YXRpb24gIit0LnR5cGUrYztUKGwsZCxlKSxsLmxvZygiJWMgcHJldiBzdGF0ZSIsImNvbG9yOiAjOUU5RTlFOyBmb250LXdlaWdodDogYm9sZCIscihmKSksbC5sb2coIiVjIG11dGF0aW9uIiwiY29sb3I6ICMwM0E5RjQ7IGZvbnQtd2VpZ2h0OiBib2xkIix1KSxsLmxvZygiJWMgbmV4dCBzdGF0ZSIsImNvbG9yOiAjNENBRjUwOyBmb250LXdlaWdodDogYm9sZCIscihzKSksRShsKX1mPXN9KSksdSYmdC5zdWJzY3JpYmVBY3Rpb24oKGZ1bmN0aW9uKHQsbil7aWYoYSh0LG4pKXt2YXIgcj1BKCksaT1zKHQpLG89ImFjdGlvbiAiK3QudHlwZStyO1QobCxvLGUpLGwubG9nKCIlYyBhY3Rpb24iLCJjb2xvcjogIzAzQTlGNDsgZm9udC13ZWlnaHQ6IGJvbGQiLGkpLEUobCl9fSkpKX19fTt0LmV4cG9ydHM9TX0pLmNhbGwodGhpcyxuKCIwZWU0IikpfSwiOGY3MSI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCI4YmRiIiksaT1uKCI0ZDE2IikuZmlsdGVyLG89bigiYTU1NCIpLGE9bygiZmlsdGVyIik7cih7dGFyZ2V0OiJBcnJheSIscHJvdG86ITAsZm9yY2VkOiFhfSx7ZmlsdGVyOmZ1bmN0aW9uKHQpe3JldHVybiBpKHRoaXMsdCxhcmd1bWVudHMubGVuZ3RoPjE/YXJndW1lbnRzWzFdOnZvaWQgMCl9fSl9LCI4ZmExIjpmdW5jdGlvbih0LGUsbil7dmFyIHI9bigiZDEwYSIpLGk9MCxvPU1hdGgucmFuZG9tKCksYT1yKDEuLnRvU3RyaW5nKTt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIlN5bWJvbCgiKyh2b2lkIDA9PT10PyIiOnQpKyIpXyIrYSgrK2krbywzNil9fSwiOGZmNSI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCI3ZGRiIiksaT1uKCI0ZDE2IikuZmlsdGVyLG89bigiNDM3OSIpLGE9ci5hVHlwZWRBcnJheSxzPXIuZXhwb3J0VHlwZWRBcnJheU1ldGhvZDtzKCJmaWx0ZXIiLChmdW5jdGlvbih0KXt2YXIgZT1pKGEodGhpcyksdCxhcmd1bWVudHMubGVuZ3RoPjE/YXJndW1lbnRzWzFdOnZvaWQgMCk7cmV0dXJuIG8odGhpcyxlKX0pKX0sOTEwNTpmdW5jdGlvbih0LGUsbil7dmFyIHI9bigiNTZjOCIpLGk9bigiZGExZCIpO3QuZXhwb3J0cz1PYmplY3Qua2V5c3x8ZnVuY3Rpb24odCl7cmV0dXJuIHIodCxpKX19LCI5MTFhIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3QuZXhwb3J0cz1PYmplY3QuaXN8fGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQ9PT1lPzAhPT10fHwxL3Q9PT0xL2U6dCE9PXQmJmUhPT1lfX0sIjkyNmUiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiOGJkYiIpLGk9bigiYWY5ZSIpLG89bigiMTA5OSIpLGE9bigiYzMzNyIpLHM9bigiMWQ1NyIpLGM9aSgoZnVuY3Rpb24oKXthKDEpfSkpO3Ioe3RhcmdldDoiT2JqZWN0IixzdGF0OiEwLGZvcmNlZDpjLHNoYW06IXN9LHtnZXRQcm90b3R5cGVPZjpmdW5jdGlvbih0KXtyZXR1cm4gYShvKHQpKX19KX0sIjkyYjMiOmZ1bmN0aW9uKHQsZSl7dC5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7cmV0dXJue2VudW1lcmFibGU6ISgxJnQpLGNvbmZpZ3VyYWJsZTohKDImdCksd3JpdGFibGU6ISg0JnQpLHZhbHVlOmV9fX0sOTMyMDpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjRjNzciKS5JdGVyYXRvclByb3RvdHlwZSxpPW4oIjg0OWQiKSxvPW4oIjkyYjMiKSxhPW4oImViZTgiKSxzPW4oImQ0NTkiKSxjPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9O3QuZXhwb3J0cz1mdW5jdGlvbih0LGUsbix1KXt2YXIgbD1lKyIgSXRlcmF0b3IiO3JldHVybiB0LnByb3RvdHlwZT1pKHIse25leHQ6bygrIXUsbil9KSxhKHQsbCwhMSwhMCksc1tsXT1jLHR9fSw5MzM3OmZ1bmN0aW9uKHQsZSxuKXsoZnVuY3Rpb24odCl7dmFyIHI9bigiYmRiYiIpLmRlZmF1bHQ7bigiNmE1NCIpLG4oIjAxYTIiKSxuKCJlMzljIiksbigiYmYwZiIpLG4oIjRlOWIiKSxuKCIxMTRlIiksbigiYzI0MCIpLG4oIjVlZjIiKSxuKCIyM2Y0IiksbigiN2QyZiIpLG4oIjVjNDciKSxuKCI5YzRlIiksbigiYWI4MCIpLG4oIjA1MDYiKSxuKCJlODM4IiksbigiMmMxMCIpLG4oImExYzEiKSxuKCIwYzI2IiksbigiZTk2NiIpLG4oImMyMjMiKSxuKCJkYzhhIiksbigiMjc5NyIpLG4oImFhOWMiKSxuKCI4ZjcxIiksbigiZmQzYyIpLG4oImRkMmIiKSxuKCI2NGFhIiksbigiZGU2YyIpLG4oIjdhNzYiKSxuKCJjOWI1IiksbigiNDYyNiIpLG4oIjIyYjYiKSxuKCI4MGUzIiksbigiNGRiMiIpLG4oImY3YTUiKSxuKCIxOGY3IiksbigiOWRiNiIpLG4oImFhNzciKSxuKCJkNGI1IiksbigiNDczZiIpLG4oIjE1ZDEiKSxuKCJkNWM2IiksbigiNWE1NiIpLG4oImYwNzQiKSxuKCI0MTAwIiksbigiMDhlYiIpLG4oIjg0NGQiKSxuKCI5YTJjIiksbigiYTY0NCIpLG4oImEwM2EiKSxuKCIzZWZkIiksbigiMzg3MmUiKSxuKCI5MjZlIiksbigiOGE4ZCIpLG4oImRjNjkiKSxuKCI5NDgwIiksbigiNGQ4ZiIpLG4oIjdiOTciKSxuKCI2NjhhIiksbigiYzViNyIpLG4oIjhmZjUiKSxuKCIyMzc4IiksbigiNjQxYSIpLG4oIjY0ZTAiKSxuKCJjY2UzIiksbigiZWZiYSIpLG4oImQwMDkiKSxuKCJiZDdkIiksbigiN2VkZCIpLG4oImQ3OTgiKSxuKCJmNTQ3IiksbigiNWU1NCIpLG4oImI2MGEiKSxuKCI4YzE4IiksbigiMTI5NzMiKSxuKCJmOTkxIiksbigiMTk4ZSIpLG4oIjg1NTciKSxuKCI2M2IxIiksbigiMTk1NCIpLG4oIjFjZjEiKSxuKCI1YWM3IiksbigiYWY4ZiIpLG4oImM5NzYiKSxuKCJkZmNmIiksbigiYmQwNiIpLG4oImRjODkiKSxuKCIyNDI1IiksbigiNmE4OCIpLG4oIjc5OTYiKSxuKCI2YmU3IiksbigiNDVkYSIpLGZ1bmN0aW9uKGksbyl7Im9iamVjdCI9PT1yKGUpJiYib2JqZWN0Ij09PXIodCk/dC5leHBvcnRzPW8obigiZDNiNCIpLG4oIjliOGUiKSxuKCJiY2RiIikpOm4oIjJjNmIiKShbLCxdLG8pfSgidW5kZWZpbmVkIiE9PXR5cGVvZiBzZWxmJiZzZWxmLChmdW5jdGlvbih0LGUsbil7cmV0dXJuIGZ1bmN0aW9uKHQpe3ZhciBlPXt9O2Z1bmN0aW9uIG4ocil7aWYoZVtyXSlyZXR1cm4gZVtyXS5leHBvcnRzO3ZhciBpPWVbcl09e2k6cixsOiExLGV4cG9ydHM6e319O3JldHVybiB0W3JdLmNhbGwoaS5leHBvcnRzLGksaS5leHBvcnRzLG4pLGkubD0hMCxpLmV4cG9ydHN9cmV0dXJuIG4ubT10LG4uYz1lLG4uZD1mdW5jdGlvbih0LGUscil7bi5vKHQsZSl8fE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGUse2VudW1lcmFibGU6ITAsZ2V0OnJ9KX0sbi5yPWZ1bmN0aW9uKHQpeyJ1bmRlZmluZWQiIT09dHlwZW9mIFN5bWJvbCYmU3ltYm9sLnRvU3RyaW5nVGFnJiZPYmplY3QuZGVmaW5lUHJvcGVydHkodCxTeW1ib2wudG9TdHJpbmdUYWcse3ZhbHVlOiJNb2R1bGUifSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pfSxuLnQ9ZnVuY3Rpb24odCxlKXtpZigxJmUmJih0PW4odCkpLDgmZSlyZXR1cm4gdDtpZig0JmUmJiJvYmplY3QiPT09cih0KSYmdCYmdC5fX2VzTW9kdWxlKXJldHVybiB0O3ZhciBpPU9iamVjdC5jcmVhdGUobnVsbCk7aWYobi5yKGkpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShpLCJkZWZhdWx0Iix7ZW51bWVyYWJsZTohMCx2YWx1ZTp0fSksMiZlJiYic3RyaW5nIiE9dHlwZW9mIHQpZm9yKHZhciBvIGluIHQpbi5kKGksbyxmdW5jdGlvbihlKXtyZXR1cm4gdFtlXX0uYmluZChudWxsLG8pKTtyZXR1cm4gaX0sbi5uPWZ1bmN0aW9uKHQpe3ZhciBlPXQmJnQuX19lc01vZHVsZT9mdW5jdGlvbigpe3JldHVybiB0WyJkZWZhdWx0Il19OmZ1bmN0aW9uKCl7cmV0dXJuIHR9O3JldHVybiBuLmQoZSwiYSIsZSksZX0sbi5vPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LGUpfSxuLnA9IiIsbihuLnM9IjM5M2QiKX0oeyIwMDcxIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO24uZChlLCJhIiwoZnVuY3Rpb24oKXtyZXR1cm4gb30pKTt2YXIgcj1uKCIzNDBkIiksaT1uKCI3MWE0Iik7ZnVuY3Rpb24gbyh0KXt2YXIgZT17fTtmb3IodmFyIG4gaW4gdCl7dmFyIG89dFtuXTtPYmplY3QoclsiayJdKShvKSYmKGVbbl09T2JqZWN0KGlbImEiXSkobyksZGVsZXRlIHRbbl0pfXJldHVybiBlfX0sIjAxMjYiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5yKGUpLG4uZChlLCJnZXRMYXVuY2hPcHRpb25zU3luYyIsKGZ1bmN0aW9uKCl7cmV0dXJuIGl9KSksbi5kKGUsImdldEVudGVyT3B0aW9uc1N5bmMiLChmdW5jdGlvbigpe3JldHVybiBvfSkpO3ZhciByPW4oIjNkMWUiKTtmdW5jdGlvbiBpKCl7cmV0dXJuIE9iamVjdChyWyJlIl0pKCl9ZnVuY3Rpb24gbygpe3JldHVybiBPYmplY3QoclsiZCJdKSgpfX0sIjAxYWEiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiZTMyZSIpLGk9bi5uKHIpO2kuYX0sIjAxZmQiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5yKGUpLG4uZChlLCJnZXRUaGVtZSIsKGZ1bmN0aW9uKCl7cmV0dXJuIGl9KSksbi5kKGUsImdldEJyb3dzZXJJbmZvIiwoZnVuY3Rpb24oKXtyZXR1cm4gZH0pKTt2YXIgcj1uKCIzNDBkIik7ZnVuY3Rpb24gaSgpe2lmKCEwIT09X191bmlDb25maWcuZGFya21vZGUpcmV0dXJuIE9iamVjdChyWyJtIl0pKF9fdW5pQ29uZmlnLmRhcmttb2RlKT9fX3VuaUNvbmZpZy5kYXJrbW9kZToibGlnaHQiO3RyeXtyZXR1cm4gd2luZG93Lm1hdGNoTWVkaWEoIihwcmVmZXJzLWNvbG9yLXNjaGVtZTogbGlnaHQpIikubWF0Y2hlcz8ibGlnaHQiOiJkYXJrIn1jYXRjaCh0KXtyZXR1cm4ibGlnaHQifX12YXIgbz1uYXZpZ2F0b3IudXNlckFnZW50LGE9L2FuZHJvaWQvaS50ZXN0KG8pLHM9L2lwaG9uZXxpcGFkfGlwb2QvaS50ZXN0KG8pLGM9by5tYXRjaCgvV2luZG93cyBOVCAoW1xkfFxkLlxkXSopL2kpLHU9L01hY2ludG9zaHxNYWMvaS50ZXN0KG8pLGw9L0xpbnV4fFgxMS9pLnRlc3QobyksZj11JiZuYXZpZ2F0b3IubWF4VG91Y2hQb2ludHM+MDtmdW5jdGlvbiBkKCl7dmFyIHQsZSxuLHI9bmF2aWdhdG9yLmxhbmd1YWdlLGQ9InBob25lIjtpZihzKXt0PSJpT1MiO3ZhciBoPW8ubWF0Y2goL09TXHMoW1x3X10rKVxzbGlrZS8pO2gmJihlPWhbMV0ucmVwbGFjZSgvXy9nLCIuIikpO3ZhciBwPW8ubWF0Y2goL1woKFthLXpBLVpdKyk7Lyk7cCYmKG49cFsxXSl9ZWxzZSBpZihhKXt0PSJBbmRyb2lkIjt2YXIgdj1vLm1hdGNoKC9BbmRyb2lkW1xzL10oW1x3XC5dKylbO1xzXS8pO3YmJihlPXZbMV0pO2Zvcih2YXIgZz1vLm1hdGNoKC9cKCguKz8pXCkvKSxtPWc/Z1sxXS5zcGxpdCgiOyIpOm8uc3BsaXQoIiAiKSxiPVsvXGJBbmRyb2lkXGIvaSwvXGJMaW51eFxiL2ksL1xiVVxiL2ksL15ccz9bYS16XVthLXpdJC9pLC9eXHM/W2Etel1bYS16XS1bYS16XVthLXpdJC9pLC9cYnd2XGIvaSwvXC9bXGRcLixdKyQvLC9eXHM/W1xkXC4sXSskLywvXGJCcm93c2VyXGIvaSwvXGJNb2JpbGVcYi9pXSx5PTA7eTxtLmxlbmd0aDt5Kyspe3ZhciBfPW1beV07aWYoXy5pbmRleE9mKCJCdWlsZCIpPjApe249Xy5zcGxpdCgiQnVpbGQiKVswXS50cmltKCk7YnJlYWt9Zm9yKHZhciB3PXZvaWQgMCx4PTA7eDxiLmxlbmd0aDt4KyspaWYoYlt4XS50ZXN0KF8pKXt3PSEwO2JyZWFrfWlmKCF3KXtuPV8udHJpbSgpO2JyZWFrfX19ZWxzZSBpZihmKXtpZihuPSJpUGFkIix0PSJpT1MiLGU9ImZ1bmN0aW9uIj09PXR5cGVvZiB3aW5kb3cuQmlnSW50PyIxNC4wIjoiMTMuMCIsMTQ9PT1wYXJzZUludChlKSl7dmFyIFM9by5tYXRjaCgvVmVyc2lvblwvKFxTKilcYi8pO1MmJihlPVNbMV0pfWQ9InBhZCJ9ZWxzZSBpZihjfHx1fHxsKXtuPSJQQyIsdD0iUEMiLGQ9InBjIjt2YXIgaz1vLm1hdGNoKC9cKCguKz8pXCkvKVsxXTtpZihjKXtzd2l0Y2godD0iV2luZG93cyIsZT0iIixjWzFdKXtjYXNlIjUuMSI6ZT0iWFAiO2JyZWFrO2Nhc2UiNi4wIjplPSJWaXN0YSI7YnJlYWs7Y2FzZSI2LjEiOmU9IjciO2JyZWFrO2Nhc2UiNi4yIjplPSI4IjticmVhaztjYXNlIjYuMyI6ZT0iOC4xIjticmVhaztjYXNlIjEwLjAiOmU9IjEwIjticmVha312YXIgQz1rLm1hdGNoKC9bV2lufFdPV10oW1xkXSspLyk7QyYmKGUrPSIgeCIuY29uY2F0KENbMV0pKX1lbHNlIHU/KHQ9Im1hY09TIixlPWsubWF0Y2goL01hYyBPUyBYICguKykvKXx8IiIsZSYmKGU9ZVsxXS5yZXBsYWNlKC9fL2csIi4iKSwtMSE9PWUuaW5kZXhPZigiOyIpJiYoZT1lLnNwbGl0KCI7IilbMF0pKSk6bCYmKHQ9IkxpbnV4IixlPWsubWF0Y2goL0xpbnV4ICguKikvKXx8IiIsZSYmKGU9ZVsxXSwtMSE9PWUuaW5kZXhPZigiOyIpJiYoZT1lLnNwbGl0KCI7IilbMF0pKSl9ZWxzZSB0PSJPdGhlciIsZT0iMCIsZD0idW5rbm93biI7dmFyIE89IiIuY29uY2F0KHQsIiAiKS5jb25jYXQoZSksVD10LnRvTG9jYWxlTG93ZXJDYXNlKCksRT0iIixBPVN0cmluZyhmdW5jdGlvbigpe3ZhciB0PW5hdmlnYXRvci51c2VyQWdlbnQsZT10LmluZGV4T2YoImNvbXBhdGlibGUiKT4tMSYmdC5pbmRleE9mKCJNU0lFIik+LTEsbj10LmluZGV4T2YoIkVkZ2UiKT4tMSYmIWUscj10LmluZGV4T2YoIlRyaWRlbnQiKT4tMSYmdC5pbmRleE9mKCJydjoxMS4wIik+LTE7aWYoZSl7dmFyIGk9bmV3IFJlZ0V4cCgiTVNJRSAoXFxkK1xcLlxcZCspOyIpO2kudGVzdCh0KTt2YXIgbz1wYXJzZUZsb2F0KFJlZ0V4cC4kMSk7cmV0dXJuIG8+Nj9vOjZ9cmV0dXJuIG4/LTE6cj8xMTotMX0oKSk7aWYoIi0xIiE9PUEpRT0iSUUiO2Vsc2UgZm9yKHZhciBqPVsiVmVyc2lvbiIsIkZpcmVmb3giLCJDaHJvbWUiLCJFZGdlezAsMX0iXSxNPVsiU2FmYXJpIiwiRmlyZWZveCIsIkNocm9tZSIsIkVkZ2UiXSxJPTA7STxqLmxlbmd0aDtJKyspe3ZhciBQPWpbSV0sJD1uZXcgUmVnRXhwKCIoIi5jb25jYXQoUCwiKS8oXFxTKilcXGIiKSk7JC50ZXN0KG8pJiYoRT1NW0ldLEE9by5tYXRjaCgkKVsyXSl9dmFyIEwsUj0idW5kZWZpbmVkIj09PXR5cGVvZiB3aW5kb3cuc2NyZWVuLm9yaWVudGF0aW9uP3dpbmRvdy5vcmllbnRhdGlvbjp3aW5kb3cuc2NyZWVuLm9yaWVudGF0aW9uLmFuZ2xlO3JldHVybiBMPTkwPT09TWF0aC5hYnMoUik/ImxhbmRzY2FwZSI6InBvcnRyYWl0Iix7ZGV2aWNlQnJhbmQ6dm9pZCAwLGJyYW5kOnZvaWQgMCxkZXZpY2VNb2RlbDpuLGRldmljZU9yaWVudGF0aW9uOkwsbW9kZWw6bixzeXN0ZW06TyxwbGF0Zm9ybTpULGJyb3dzZXJOYW1lOkUudG9Mb2NhbGVMb3dlckNhc2UoKSxicm93c2VyVmVyc2lvbjpBLGxhbmd1YWdlOnIsZGV2aWNlVHlwZTpkLHVhOm8sb3NuYW1lOnQsb3N2ZXJzaW9uOmUsdGhlbWU6aSgpfX19LCIwMmZhIjpmdW5jdGlvbih0LGUpe30sIjAzNzIiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5kKGUsImIiLChmdW5jdGlvbigpe3JldHVybiBnfSkpLG4uZChlLCJnIiwoZnVuY3Rpb24oKXtyZXR1cm4gbX0pKSxuLmQoZSwiYyIsKGZ1bmN0aW9uKCl7cmV0dXJuIGJ9KSksbi5kKGUsImEiLChmdW5jdGlvbigpe3JldHVybiB5fSkpLG4uZChlLCJkIiwoZnVuY3Rpb24oKXtyZXR1cm4gX30pKSxuLmQoZSwiZSIsKGZ1bmN0aW9uKCl7cmV0dXJuIE99KSksbi5kKGUsImYiLChmdW5jdGlvbigpe3JldHVybiBUfSkpO3ZhciByPW4oIjhjN2MiKSxpPW4oIjM0MGQiKSxvPW4oImM4MGMiKSxhPW4oIjBhODAiKSxzPW4oImMxNGIiKSxjPW4oIjBkYmQiKSx1PW4oIjFkYTkiKSxsPW4oIjRlZjUiKTtmdW5jdGlvbiBmKHQsZSxuKXtyZXR1cm4gZSBpbiB0P09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGUse3ZhbHVlOm4sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITB9KTp0W2VdPW4sdH12YXIgZCxoLHA9e307ZnVuY3Rpb24gdigpe2lmKEMoKSl7dmFyIHQ9T2JqZWN0LmtleXMoX191bmlDb25maWcubG9jYWxlcyk7dC5sZW5ndGgmJnQuZm9yRWFjaCgoZnVuY3Rpb24odCl7dmFyIGU9cFt0XSxuPV9fdW5pQ29uZmlnLmxvY2FsZXNbdF07ZT9PYmplY3QuYXNzaWduKGUsbik6cFt0XT1ufSkpfX1PYmplY3QuYXNzaWduKHAsKGQ9e30sZihkLCJlbiIsYSksZihkLCJlcyIscyksZihkLCJmciIsYyksZihkLCJ6aC1IYW5zIix1KSxmKGQsInpoLUhhbnQiLGwpLGQpKSxoPW5hdmlnYXRvci5jb29raWVFbmFibGVkJiZ3aW5kb3cubG9jYWxTdG9yYWdlJiZsb2NhbFN0b3JhZ2Vbb1siZSJdXXx8X191bmlDb25maWcubG9jYWxlfHxuYXZpZ2F0b3IubGFuZ3VhZ2UsdigpO3ZhciBnPU9iamVjdChyWyJpbml0VnVlSTE4biJdKShoLHApLG09Zy50LGI9Zy5taXhpbj17YmVmb3JlQ3JlYXRlOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPWcuaTE4bi53YXRjaExvY2FsZSgoZnVuY3Rpb24oKXt0LiRmb3JjZVVwZGF0ZSgpfSkpO3RoaXMuJG9uY2UoImhvb2s6YmVmb3JlRGVzdHJveSIsKGZ1bmN0aW9uKCl7ZSgpfSkpfSxtZXRob2RzOnskJHQ6ZnVuY3Rpb24odCxlKXtyZXR1cm4gbSh0LGUpfX19LHk9KGcuc2V0TG9jYWxlLGcuZ2V0TG9jYWxlKTtmdW5jdGlvbiBfKHQsZSxuKXt2YXIgcj10Lm9ic2VydmFibGUoe2xvY2FsZTpufHxnLmdldExvY2FsZSgpfSksaT1bXTtlLiR3YXRjaExvY2FsZT1mdW5jdGlvbih0KXtpLnB1c2godCl9LE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCIkbG9jYWxlIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHIubG9jYWxlfSxzZXQ6ZnVuY3Rpb24odCl7ci5sb2NhbGU9dCxpLmZvckVhY2goKGZ1bmN0aW9uKGUpe3JldHVybiBlKHQpfSkpfX0pfXZhciB3PVsiJSIsIiUiXTtmdW5jdGlvbiB4KHQpe3JldHVybiBPYmplY3QoclsiaXNJMThuU3RyIl0pKHQsdyk/Zy5mKHQsZnVuY3Rpb24oKXt2YXIgdD11bmkuZ2V0TG9jYWxlKCksZT1fX3VuaUNvbmZpZy5sb2NhbGVzO3JldHVybiBlW3RdfHxlW19fdW5pQ29uZmlnLmZhbGxiYWNrTG9jYWxlXXx8ZVsiZW4iXXx8e319KCksdyk6dH1mdW5jdGlvbiBTKHQsZSl7aWYoMSE9PWUubGVuZ3RoKXt2YXIgbj1lLnNoaWZ0KCk7cmV0dXJuIFModCYmdFtuXSxlKX1pZih0KXt2YXIgbz1mdW5jdGlvbih0KXtyZXR1cm4gT2JqZWN0KGlbIm0iXSkodCkmJk9iamVjdChyWyJpc0kxOG5TdHIiXSkodCx3KX0sYT1lWzBdLHM9W107aWYoQXJyYXkuaXNBcnJheSh0KSYmKHM9dC5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybiBvKHRbYV0pfSkpKS5sZW5ndGgpcmV0dXJuIHM7dmFyIGM9dFthXTtpZihvKGMpKXJldHVybiB0fX1mdW5jdGlvbiBrKHQsZSl7dmFyIG49Uyh0LGUpO2lmKCFuKXJldHVybiExO3ZhciByPWVbZS5sZW5ndGgtMV07aWYoQXJyYXkuaXNBcnJheShuKSluLmZvckVhY2goKGZ1bmN0aW9uKHQpe3JldHVybiBrKHQsW3JdKX0pKTtlbHNle3ZhciBpPW5bcl07T2JqZWN0LmRlZmluZVByb3BlcnR5KG4scix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHgoaSl9LHNldDpmdW5jdGlvbih0KXtpPXR9fSl9cmV0dXJuITB9ZnVuY3Rpb24gQygpe3JldHVybiJ1bmRlZmluZWQiIT09dHlwZW9mIF9fdW5pQ29uZmlnJiZfX3VuaUNvbmZpZy5sb2NhbGVzJiYhIU9iamVjdC5rZXlzKF9fdW5pQ29uZmlnLmxvY2FsZXMpLmxlbmd0aH1mdW5jdGlvbiBPKHQpe2lmKEMoKSlyZXR1cm4gZnVuY3Rpb24odCxlKXtyZXR1cm4gZS5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiBrKHQsZSl9KSl9KHQsW1sidGl0bGVUZXh0Il0sWyJzZWFyY2hJbnB1dCIsInBsYWNlaG9sZGVyIl0sWyJidXR0b25zIiwidGV4dCJdXSl9ZnVuY3Rpb24gVCh0KXtyZXR1cm4gQygpJiZ0Lmxpc3QmJnQubGlzdC5mb3JFYWNoKChmdW5jdGlvbih0KXtrKHQsWyJ0ZXh0Il0pfSkpLHR9fSwiMDNkMCI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtuLnIoZSksbi5kKGUsInNhdmVJbWFnZVRvUGhvdG9zQWxidW0iLChmdW5jdGlvbigpe3JldHVybiBpfSkpO3ZhciByPW4oIjQ3MzgiKSxpPXtmaWxlUGF0aDp7dHlwZTpTdHJpbmcscmVxdWlyZWQ6ITAsdmFsaWRhdG9yOmZ1bmN0aW9uKHQsZSl7ZS5maWxlUGF0aD1PYmplY3QoclsiYSJdKSh0KX19fX0sIjA0MjYiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5yKGUpLGZ1bmN0aW9uKHQpe24uZChlLCJvblRoZW1lQ2hhbmdlIiwoZnVuY3Rpb24oKXtyZXR1cm4gY30pKSxuLmQoZSwib2ZmVGhlbWVDaGFuZ2UiLChmdW5jdGlvbigpe3JldHVybiB1fSkpLG4uZChlLCJvblVJU3R5bGVDaGFuZ2UiLChmdW5jdGlvbigpe3JldHVybiBsfSkpO3ZhciByPW4oIjkxMzEiKSxpPW4oIjc0NWEiKSxvPW4oImM4MGMiKSxhPVtdLHM9W107ZnVuY3Rpb24gYyh0KXthLnB1c2godCl9ZnVuY3Rpb24gdSh0KXtpZih0KXt2YXIgZT1hLmluZGV4T2YodCk7ZT49MCYmYS5zcGxpY2UoZSwxKX19ZnVuY3Rpb24gbChlKXtzLnB1c2goZSksdC53YXJuKCdUaGUgInVuaS5vblVJU3R5bGVDaGFuZ2UiIEFQSSBpcyBkZXByZWNhdGVkLCBwbGVhc2UgdXNlICJ1bmkub25UaGVtZUNoYW5nZSIuIExlYXJuIG1vcmU6IGh0dHBzOi8vdW5pYXBwLmRjbG91ZC5uZXQuY24vYXBpL3N5c3RlbS90aGVtZS4nKX1PYmplY3QoaVsiZCJdKShvWyJiIl0sKGZ1bmN0aW9uKHQpe2EuZm9yRWFjaCgoZnVuY3Rpb24oZSl7T2JqZWN0KHJbImEiXSkoZSx0KX0pKX0pKSxPYmplY3QoaVsiZCJdKSgib25VSVN0eWxlQ2hhbmdlIiwoZnVuY3Rpb24odCl7cy5mb3JFYWNoKChmdW5jdGlvbihlKXtPYmplY3QoclsiYSJdKShlLHQpfSkpfSkpfS5jYWxsKHRoaXMsbigiNDE4YiIpWyJkZWZhdWx0Il0pfSwiMDRkNCI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCIzNDBkIiksaT1uKCJiNDM1Iik7ZVsiYSJdPXtwcm9wczp7ZGFzaEFycmF5Ont0eXBlOkFycmF5LGRlZmF1bHQ6ZnVuY3Rpb24oKXtyZXR1cm5bMCwwXX19LHBvaW50czp7dHlwZTpBcnJheSxyZXF1aXJlZDohMH0sc3Ryb2tlV2lkdGg6e3R5cGU6TnVtYmVyLGRlZmF1bHQ6MX0sc3Ryb2tlQ29sb3I6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6IiMwMDAwMDAifSxmaWxsQ29sb3I6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6IiMwMDAwMDAwMCJ9LHpJbmRleDp7dHlwZTpOdW1iZXIsZGVmYXVsdDowfX0sbW91bnRlZDpmdW5jdGlvbigpe3ZhciB0PXRoaXMsZT10aGlzLiRwYXJlbnQ7ZS5tYXBSZWFkeSgoZnVuY3Rpb24oKXt0LmRyYXdQb2x5Z29uKCksT2JqZWN0LmtleXModC4kcHJvcHMpLmZvckVhY2goKGZ1bmN0aW9uKGUpe3QuJHdhdGNoKGUsKGZ1bmN0aW9uKCl7dC5kcmF3UG9seWdvbigpfSkse2RlZXA6ITB9KX0pKX0pKX0sbWV0aG9kczp7ZHJhd1BvbHlnb246ZnVuY3Rpb24oKXt2YXIgdD10aGlzLnBvaW50cyxlPXRoaXMuc3Ryb2tlV2lkdGgsbj10aGlzLnN0cm9rZUNvbG9yLG89dGhpcy5kYXNoQXJyYXksYT10aGlzLmZpbGxDb2xvcixzPXRoaXMuekluZGV4LGM9dGhpcy4kcGFyZW50LHU9Yy5fbWFwcyxsPWMuX21hcCxmPXQubWFwKChmdW5jdGlvbih0KXt2YXIgZT10LmxhdGl0dWRlLG49dC5sb25naXR1ZGU7cmV0dXJuIGlbImMiXT9bbixlXTpuZXcgdS5MYXRMbmcoZSxuKX0pKSxkPU9iamVjdChyWyJqIl0pKGEpLGg9ZC5yLHA9ZC5nLHY9ZC5iLGc9ZC5hLG09T2JqZWN0KHJbImoiXSkobiksYj1tLnIseT1tLmcsXz1tLmIsdz1tLmEseD17Y2xpY2thYmxlOiEwLGN1cnNvcjoiY3Jvc3NoYWlyIixlZGl0YWJsZTohMSxtYXA6bCxmaWxsQ29sb3I6IiIscGF0aDpmLHN0cm9rZUNvbG9yOiIiLHN0cm9rZURhc2hTdHlsZTpvLnNvbWUoKGZ1bmN0aW9uKHQpe3JldHVybiB0PjB9KSk/ImRhc2giOiJzb2xpZCIsc3Ryb2tlV2VpZ2h0OmUsdmlzaWJsZTohMCx6SW5kZXg6c307dS5Db2xvcj8oeC5maWxsQ29sb3I9bmV3IHUuQ29sb3IoaCxwLHYsZykseC5zdHJva2VDb2xvcj1uZXcgdS5Db2xvcihiLHksXyx3KSk6KHguZmlsbENvbG9yPSJyZ2IoIi5jb25jYXQoaCwiLCAiKS5jb25jYXQocCwiLCAiKS5jb25jYXQodiwiKSIpLHguZmlsbE9wYWNpdHk9Zyx4LnN0cm9rZUNvbG9yPSJyZ2IoIi5jb25jYXQoYiwiLCAiKS5jb25jYXQoeSwiLCAiKS5jb25jYXQoXywiKSIpLHguc3Ryb2tlT3BhY2l0eT13KSx0aGlzLnBvbHlnb25JbnM/dGhpcy5wb2x5Z29uSW5zLnNldE9wdGlvbnMoeCk6dGhpcy5wb2x5Z29uSW5zPW5ldyB1LlBvbHlnb24oeCl9fSxiZWZvcmVEZXN0cm95OmZ1bmN0aW9uKCl7dGhpcy5wb2x5Z29uSW5zLnNldE1hcChudWxsKSx0aGlzLnBvbHlnb25JbnM9bnVsbH0scmVuZGVyOmZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9fX0sIjA0ZWQiOmZ1bmN0aW9uKHQsZSxuKXt9LCIwNTBmIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPU9iamVjdC5jcmVhdGUobnVsbCksaT1uKCIxZmU5Iik7aS5rZXlzKCkuZm9yRWFjaCgoZnVuY3Rpb24odCl7T2JqZWN0LmFzc2lnbihyLGkodCkpfSkpO3ZhciBvPXIsYT1uKCJiMTVlIik7ZVsiYSJdPU9iamVjdC5hc3NpZ24oT2JqZWN0LmNyZWF0ZShudWxsKSxvLGFbImEiXSl9LCIwNjcxIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjI0ZjIiKSxpPW4ubihyKTtpLmF9LCIwNjgwIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiOyhmdW5jdGlvbih0LGUscil7dmFyIGk9bigiOTUxYyIpLG89bi5uKGkpLGE9bigiZWVmZiIpO2Z1bmN0aW9uIHModCxlKXtmb3IodmFyIG49MDtuPGUubGVuZ3RoO24rKyl7dmFyIHI9ZVtuXTtyLmVudW1lcmFibGU9ci5lbnVtZXJhYmxlfHwhMSxyLmNvbmZpZ3VyYWJsZT0hMCwidmFsdWUiaW4gciYmKHIud3JpdGFibGU9ITApLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LHIua2V5LHIpfX12YXIgYz1mdW5jdGlvbigpe2Z1bmN0aW9uIGkoKXsoZnVuY3Rpb24odCxlKXtpZighKHQgaW5zdGFuY2VvZiBlKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb24iKX0pKHRoaXMsaSksdGhpcy5faW5pdCgpfXJldHVybiBmdW5jdGlvbih0LGUsbil7ZSYmcyh0LnByb3RvdHlwZSxlKSxuJiZzKHQsbil9KGksW3trZXk6Il9pbml0Iix2YWx1ZTpmdW5jdGlvbigpe2UuVW5pVmlld0pTQnJpZGdlPXtzdWJzY3JpYmU6dC5zdWJzY3JpYmUscHVibGlzaEhhbmRsZXI6dC5wdWJsaXNoSGFuZGxlcixzdWJzY3JpYmVIYW5kbGVyOnQuc3Vic2NyaWJlSGFuZGxlcn0sZS5VbmlTZXJ2aWNlSlNCcmlkZ2U9e3N1YnNjcmliZTpyLnN1YnNjcmliZSxwdWJsaXNoSGFuZGxlcjpyLnB1Ymxpc2hIYW5kbGVyLHN1YnNjcmliZUhhbmRsZXI6ci5zdWJzY3JpYmVIYW5kbGVyfTt2YXIgaT1uKCJiN2RlIikscz1pLmRlZmF1bHQsYz1pLmdldEFwcCx1PWkuZ2V0Q3VycmVudFBhZ2VzO1siY2hvb3NlSW1hZ2UiXS5mb3JFYWNoKChmdW5jdGlvbih0KXtPYmplY3QuZGVmaW5lUHJvcGVydHkocyx0LHt3cml0YWJsZTohMSxjb25maWd1cmFibGU6ITF9KX0pKSxlLnVuaT1zLGUud3g9ZS51bmksZS5nZXRBcHA9YyxlLmdldEN1cnJlbnRQYWdlcz11LG8uYS51c2UobigiNTBlYyIpLmRlZmF1bHQse3JvdXRlczpfX3VuaVJvdXRlc30pLG8uYS51c2UobigiOTYwMiIpLmRlZmF1bHQse3JvdXRlczpfX3VuaVJvdXRlc30pLE9iamVjdChhWyJhIl0pKG8uYSksbigiNDVhMiIpLG4oIjUwZDMiKX19XSksaX0oKTtlLlVuaUFwcD1jLGUuX191bmlDb25maWcmJm5ldyBjfSkuY2FsbCh0aGlzLG4oIjMxZDIiKSxuKCIwZWU0IiksbigiMmM5ZiIpKX0sIjA3OTUiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5kKGUsImEiLChmdW5jdGlvbigpe3JldHVybiBpfSkpO3ZhciByPVsiVlVuaUxlZnRXaW5kb3ciLCJWVW5pVG9wV2luZG93IiwiVlVuaVJpZ2h0V2luZG93Il07ZnVuY3Rpb24gaSh0KXt3aGlsZSh0KXtpZigtMSE9PXIuaW5kZXhPZih0LiRvcHRpb25zLm5hbWUpKXJldHVybiEwO3Q9dC4kcGFyZW50fX19LCIwN2I1IjpmdW5jdGlvbih0LGUsbil7fSwiMDg1NCI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjsoZnVuY3Rpb24odCl7dmFyIHI9bigiMzQwZCIpO2VbImEiXT17bW91bnRlZDpmdW5jdGlvbigpe3ZhciBlPXRoaXM7aWYoInRyYW5zcGFyZW50Ij09PXRoaXMudHlwZSl7Zm9yKHZhciBuPXRoaXMuJGVsLnF1ZXJ5U2VsZWN0b3IoIi51bmktcGFnZS1oZWFkLXRyYW5zcGFyZW50Iikuc3R5bGUscj10aGlzLiRlbC5xdWVyeVNlbGVjdG9yKCIudW5pLXBhZ2UtaGVhZF9fdGl0bGUiKSxpPXRoaXMuJGVsLnF1ZXJ5U2VsZWN0b3JBbGwoIi51bmktYnRuLWljb24iKSxvPVtdLGE9dGhpcy50ZXh0Q29sb3Iscz0wO3M8aS5sZW5ndGg7cysrKW8ucHVzaChpW3NdLnN0eWxlKTtmb3IodmFyIGM9dGhpcy4kZWwucXVlcnlTZWxlY3RvckFsbCgiLnVuaS1wYWdlLWhlYWQtYnRuIiksdT1bXSxsPVtdLGY9MDtmPGMubGVuZ3RoO2YrKyl7dmFyIGQ9Y1tmXTt1LnB1c2goZ2V0Q29tcHV0ZWRTdHlsZShkKS5iYWNrZ3JvdW5kQ29sb3IpLGwucHVzaChkLnN0eWxlKX10aGlzLl9BPTAsdC5vbigib25QYWdlU2Nyb2xsIiwoZnVuY3Rpb24odCl7dmFyIGk9dC5zY3JvbGxUb3Ascz1NYXRoLm1pbihpL2Uub2Zmc2V0LDEpOzE9PT1zJiYxPT09ZS5fQXx8KHM+LjUmJmUuX0E8PS41P28uZm9yRWFjaCgoZnVuY3Rpb24odCl7dC5jb2xvcj1hfSkpOnM8PS41JiZlLl9BPi41JiZvLmZvckVhY2goKGZ1bmN0aW9uKHQpe3QuY29sb3I9IiNmZmYifSkpLGUuX0E9cyxyJiYoci5zdHlsZS5vcGFjaXR5PXMpLG4uYmFja2dyb3VuZENvbG9yPSJyZ2JhKCIuY29uY2F0KGUuX1IsIiwiKS5jb25jYXQoZS5fRywiLCIpLmNvbmNhdChlLl9CLCIsIikuY29uY2F0KHMsIikiKSxsLmZvckVhY2goKGZ1bmN0aW9uKHQsZSl7dmFyIG49dVtlXSxyPW4ubWF0Y2goL1tcZCtcLl0rL2cpO3JbM109KDEtcykqKDQ9PT1yLmxlbmd0aD9yWzNdOjEpLHQuYmFja2dyb3VuZENvbG9yPSJyZ2JhKCIuY29uY2F0KHIsIikiKX0pKSl9KSl9ZWxzZSBpZigiZmxvYXQiPT09dGhpcy50eXBlKXtmb3IodmFyIGg9dGhpcy4kZWwucXVlcnlTZWxlY3RvckFsbCgiLnVuaS1idG4taWNvbiIpLHA9W10sdj0wO3Y8aC5sZW5ndGg7disrKXAucHVzaChoW3ZdLnN0eWxlKTtmb3IodmFyIGc9dGhpcy4kZWwucXVlcnlTZWxlY3RvckFsbCgiLnVuaS1wYWdlLWhlYWQtYnRuIiksbT1bXSxiPVtdLHk9MDt5PGcubGVuZ3RoO3krKyl7dmFyIF89Z1t5XTttLnB1c2goZ2V0Q29tcHV0ZWRTdHlsZShfKS5iYWNrZ3JvdW5kQ29sb3IpLGIucHVzaChfLnN0eWxlKX19fSxjb21wdXRlZDp7Y29sb3I6ZnVuY3Rpb24oKXtyZXR1cm4idHJhbnNwYXJlbnQiPT09dGhpcy50eXBlPyIjZmZmIjp0aGlzLnRleHRDb2xvcn0sb2Zmc2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHBhcnNlSW50KHRoaXMuY292ZXJhZ2UpfSxiZ0NvbG9yOmZ1bmN0aW9uKCl7aWYoInRyYW5zcGFyZW50Ij09PXRoaXMudHlwZSl7dmFyIHQ9T2JqZWN0KHJbImoiXSkodGhpcy5iYWNrZ3JvdW5kQ29sb3IpLGU9dC5yLG49dC5nLGk9dC5iO3JldHVybiB0aGlzLl9SPWUsdGhpcy5fRz1uLHRoaXMuX0I9aSwicmdiYSgiLmNvbmNhdChlLCIsIikuY29uY2F0KG4sIiwiKS5jb25jYXQoaSwiLDApIil9cmV0dXJuIHRoaXMuYmFja2dyb3VuZENvbG9yfX19fSkuY2FsbCh0aGlzLG4oIjMxZDIiKSl9LCIwOWYwIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO24ucihlKSxuLmQoZSwib3BlbkRvY3VtZW50IiwoZnVuY3Rpb24oKXtyZXR1cm4gcn0pKTt2YXIgcj17ZmlsZVBhdGg6e3R5cGU6U3RyaW5nLHJlcXVpcmVkOiEwfSxmaWxlVHlwZTp7dHlwZTpTdHJpbmd9fX0sIjBhMTgiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiYzlkNSIpLGk9bi5uKHIpO2kuYX0sIjBhODAiOmZ1bmN0aW9uKHQpe3QuZXhwb3J0cz1KU09OLnBhcnNlKCd7InVuaS5hcHAucXVpdCI6IlByZXNzIGJhY2sgYnV0dG9uIGFnYWluIHRvIGV4aXQiLCJ1bmkuYXN5bmMuZXJyb3IiOiJUaGUgY29ubmVjdGlvbiB0aW1lZCBvdXQsIGNsaWNrIHRoZSBzY3JlZW4gdG8gdHJ5IGFnYWluLiIsInVuaS5zaG93QWN0aW9uU2hlZXQuY2FuY2VsIjoiQ2FuY2VsIiwidW5pLnNob3dUb2FzdC51bnBhaXJlZCI6IlBsZWFzZSBub3RlIHNob3dUb2FzdCBtdXN0IGJlIHBhaXJlZCB3aXRoIGhpZGVUb2FzdCIsInVuaS5zaG93TG9hZGluZy51bnBhaXJlZCI6IlBsZWFzZSBub3RlIHNob3dMb2FkaW5nIG11c3QgYmUgcGFpcmVkIHdpdGggaGlkZUxvYWRpbmciLCJ1bmkuc2hvd01vZGFsLmNhbmNlbCI6IkNhbmNlbCIsInVuaS5zaG93TW9kYWwuY29uZmlybSI6Ik9LIiwidW5pLmNob29zZUltYWdlLmNhbmNlbCI6IkNhbmNlbCIsInVuaS5jaG9vc2VJbWFnZS5zb3VyY2VUeXBlLmFsYnVtIjoiQWxidW0iLCJ1bmkuY2hvb3NlSW1hZ2Uuc291cmNlVHlwZS5jYW1lcmEiOiJDYW1lcmEiLCJ1bmkuY2hvb3NlVmlkZW8uY2FuY2VsIjoiQ2FuY2VsIiwidW5pLmNob29zZVZpZGVvLnNvdXJjZVR5cGUuYWxidW0iOiJBbGJ1bSIsInVuaS5jaG9vc2VWaWRlby5zb3VyY2VUeXBlLmNhbWVyYSI6IkNhbWVyYSIsInVuaS5jaG9vc2VGaWxlLm5vdFVzZXJBY3RpdmF0aW9uIjoiRmlsZSBjaG9vc2VyIGRpYWxvZyBjYW4gb25seSBiZSBzaG93biB3aXRoIGEgdXNlciBhY3RpdmF0aW9uIiwidW5pLnByZXZpZXdJbWFnZS5jYW5jZWwiOiJDYW5jZWwiLCJ1bmkucHJldmlld0ltYWdlLmJ1dHRvbi5zYXZlIjoiU2F2ZSBJbWFnZSIsInVuaS5wcmV2aWV3SW1hZ2Uuc2F2ZS5zdWNjZXNzIjoiU2F2ZWQgc3VjY2Vzc2Z1bGx5IiwidW5pLnByZXZpZXdJbWFnZS5zYXZlLmZhaWwiOiJTYXZlIGZhaWxlZCIsInVuaS5zZXRDbGlwYm9hcmREYXRhLnN1Y2Nlc3MiOiJDb250ZW50IGNvcGllZCIsInVuaS5zY2FuQ29kZS50aXRsZSI6IlNjYW4gY29kZSIsInVuaS5zY2FuQ29kZS5hbGJ1bSI6IkFsYnVtIiwidW5pLnNjYW5Db2RlLmZhaWwiOiJSZWNvZ25pdGlvbiBmYWlsdXJlIiwidW5pLnNjYW5Db2RlLmZsYXNoLm9uIjoiVGFwIHRvIHR1cm4gbGlnaHQgb24iLCJ1bmkuc2NhbkNvZGUuZmxhc2gub2ZmIjoiVGFwIHRvIHR1cm4gbGlnaHQgb2ZmIiwidW5pLnN0YXJ0U290ZXJBdXRoZW50aWNhdGlvbi5hdXRoQ29udGVudCI6IkZpbmdlcnByaW50IHJlY29nbml0aW9uIiwidW5pLnN0YXJ0U290ZXJBdXRoZW50aWNhdGlvbi53YWl0aW5nQ29udGVudCI6IlVucmVjb2duaXphYmxlIiwidW5pLnBpY2tlci5kb25lIjoiRG9uZSIsInVuaS5waWNrZXIuY2FuY2VsIjoiQ2FuY2VsIiwidW5pLnZpZGVvLmRhbm11IjoiRGFubXUiLCJ1bmkudmlkZW8udm9sdW1lIjoiVm9sdW1lIiwidW5pLmJ1dHRvbi5mZWVkYmFjay50aXRsZSI6ImZlZWRiYWNrIiwidW5pLmJ1dHRvbi5mZWVkYmFjay5zZW5kIjoic2VuZCIsInVuaS5jaG9vc2VMb2NhdGlvbi5zZWFyY2giOiJGaW5kIFBsYWNlIiwidW5pLmNob29zZUxvY2F0aW9uLmNhbmNlbCI6IkNhbmNlbCJ9Jyl9LCIwYWJiIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO24ucihlKTt2YXIgcj17bmFtZToiSWNvbiIscHJvcHM6e3R5cGU6e3R5cGU6U3RyaW5nLHJlcXVpcmVkOiEwLGRlZmF1bHQ6IiJ9LHNpemU6e3R5cGU6W1N0cmluZyxOdW1iZXJdLGRlZmF1bHQ6MjN9LGNvbG9yOnt0eXBlOlN0cmluZyxkZWZhdWx0OiIifX0sbWV0aG9kczp7X2NvbnZlclB4OmZ1bmN0aW9uKHQpe3JldHVybi9eLT9cZCtbdXJdcHgkL2kudGVzdCh0KT90LnJlcGxhY2UoLyheLT9cZCspW3VyXXB4JC9pLChmdW5jdGlvbih0LGUpe3JldHVybiIiLmNvbmNhdCh1bmkudXB4MnB4KHBhcnNlRmxvYXQoZSkpLCJweCIpfSkpOi9eLT9bXGRcLl0rJC8udGVzdCh0KT8iIi5jb25jYXQodCwicHgiKTp0fHwiIn19fSxpPXIsbz0obigiNWIzOCIpLG4oIjg4NDQiKSksYT1PYmplY3Qob1siYSJdKShpLChmdW5jdGlvbigpe3ZhciB0PXRoaXMsZT10LiRjcmVhdGVFbGVtZW50LG49dC5fc2VsZi5fY3x8ZTtyZXR1cm4gbigidW5pLWljb24iLHQuX2coe30sdC4kbGlzdGVuZXJzKSxbbigiaSIse2NsYXNzOiJ1bmktaWNvbi0iK3QudHlwZSxzdHlsZTp7ImZvbnQtc2l6ZSI6dC5fY29udmVyUHgodC5zaXplKSxjb2xvcjp0LmNvbG9yfSxhdHRyczp7cm9sZToiaW1nIn19KV0pfSksW10sITEsbnVsbCxudWxsLG51bGwpO2VbImRlZmF1bHQiXT1hLmV4cG9ydHN9LCIwYjYyIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO24uZChlLCJhIiwoZnVuY3Rpb24oKXtyZXR1cm4gaX0pKTt2YXIgcj17fTtmdW5jdGlvbiBpKHQsZSxuKXt2YXIgaT0ic3RyaW5nIj09PXR5cGVvZiB0P3dpbmRvd1t0XTp0O2lmKGkpbigpO2Vsc2V7dmFyIG89cltlXTtpZighbyl7bz1yW2VdPVtdO3ZhciBhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpO2Euc3JjPWUsZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChhKSxhLm9ubG9hZD1mdW5jdGlvbigpe28uZm9yRWFjaCgoZnVuY3Rpb24odCl7cmV0dXJuIHQoKX0pKSxkZWxldGUgcltlXX19by5wdXNoKG4pfX19LCIwYzQwIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiOyhmdW5jdGlvbih0KXt2YXIgcixpPW4oIjM0MGQiKSxvPW4oIjBkYjgiKSxhPW4oIjBlNGEiKSxzPW4oIjg4YTgiKTt0LnN1YnNjcmliZSgiZ2V0U2VsZWN0ZWRUZXh0UmFuZ2UiLChmdW5jdGlvbihlKXt2YXIgbj1lLnBhZ2VJZCxyPWUuY2FsbGJhY2tJZCxpPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQsbz1pLnRhZ05hbWUudG9Mb3dlckNhc2UoKSxhPXt9O1siaW5wdXQiLCJ0ZXh0YXJlYSJdLmluY2x1ZGVzKG8pPyhhLmVyck1zZz0iZ2V0U2VsZWN0ZWRUZXh0UmFuZ2U6b2siLGEuc3RhcnQ9aS5zZWxlY3Rpb25TdGFydCxhLmVuZD1pLnNlbGVjdGlvbkVuZCk6YS5lcnJNc2c9ImdldFNlbGVjdGVkVGV4dFJhbmdlOmZhaWwgbm8gZm9jdXNlZCIsdC5wdWJsaXNoSGFuZGxlcigib25HZXRTZWxlY3RlZFRleHRSYW5nZSIse2NhbGxiYWNrSWQ6cixkYXRhOmF9LG4pfSkpLGVbImEiXT17bmFtZToiRmllbGQiLG1peGluczpbb1siYSJdLGFbImEiXSxzWyJhIl1dLG1vZGVsOntwcm9wOiJ2YWx1ZSIsZXZlbnQ6InVwZGF0ZTp2YWx1ZSJ9LHByb3BzOnt2YWx1ZTp7dHlwZTpbU3RyaW5nLE51bWJlcl0sZGVmYXVsdDoiIn0sYXV0b0ZvY3VzOnt0eXBlOltCb29sZWFuLFN0cmluZ10sZGVmYXVsdDohMX0sZm9jdXM6e3R5cGU6W0Jvb2xlYW4sU3RyaW5nXSxkZWZhdWx0OiExfSxjdXJzb3I6e3R5cGU6W051bWJlcixTdHJpbmddLGRlZmF1bHQ6LTF9LHNlbGVjdGlvblN0YXJ0Ont0eXBlOltOdW1iZXIsU3RyaW5nXSxkZWZhdWx0Oi0xfSxzZWxlY3Rpb25FbmQ6e3R5cGU6W051bWJlcixTdHJpbmddLGRlZmF1bHQ6LTF9LGNvbmZpcm1Ib2xkOnt0eXBlOkJvb2xlYW4sZGVmYXVsdDohMX0saWdub3JlQ29tcG9zaXRpb25FdmVudDp7dHlwZTpCb29sZWFuLGRlZmF1bHQ6ITB9fSxkYXRhOmZ1bmN0aW9uKCl7cmV0dXJue2NvbXBvc2luZzohMSx2YWx1ZVN5bmM6dGhpcy5fZ2V0VmFsdWVTdHJpbmcodGhpcy52YWx1ZSx0aGlzLnR5cGUpLGZvY3VzU3luYzp0aGlzLmZvY3VzLGZpeENvbG9yOjA9PT1TdHJpbmcobmF2aWdhdG9yLnZlbmRvcikuaW5kZXhPZigiQXBwbGUiKSYmQ1NTLnN1cHBvcnRzKCJpbWFnZS1vcmllbnRhdGlvbjpmcm9tLWltYWdlIil9fSx3YXRjaDp7Zm9jdXM6ZnVuY3Rpb24odCl7dD90aGlzLl9mb2N1cygpOnRoaXMuX2JsdXIoKX0sZm9jdXNTeW5jOmZ1bmN0aW9uKHQpe3RoaXMuJGVtaXQoInVwZGF0ZTpmb2N1cyIsdCl9LGN1cnNvck51bWJlcjpmdW5jdGlvbigpe3RoaXMuX2NoZWNrQ3Vyc29yKCl9LHNlbGVjdGlvblN0YXJ0TnVtYmVyOmZ1bmN0aW9uKCl7dGhpcy5fY2hlY2tTZWxlY3Rpb24oKX0sc2VsZWN0aW9uRW5kTnVtYmVyOmZ1bmN0aW9uKCl7dGhpcy5fY2hlY2tTZWxlY3Rpb24oKX19LGNvbXB1dGVkOntuZWVkRm9jdXM6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hdXRvRm9jdXN8fHRoaXMuZm9jdXN9LGN1cnNvck51bWJlcjpmdW5jdGlvbigpe3ZhciB0PU51bWJlcih0aGlzLmN1cnNvcik7cmV0dXJuIGlzTmFOKHQpPy0xOnR9LHNlbGVjdGlvblN0YXJ0TnVtYmVyOmZ1bmN0aW9uKCl7dmFyIHQ9TnVtYmVyKHRoaXMuc2VsZWN0aW9uU3RhcnQpO3JldHVybiBpc05hTih0KT8tMTp0fSxzZWxlY3Rpb25FbmROdW1iZXI6ZnVuY3Rpb24oKXt2YXIgdD1OdW1iZXIodGhpcy5zZWxlY3Rpb25FbmQpO3JldHVybiBpc05hTih0KT8tMTp0fX0sY3JlYXRlZDpmdW5jdGlvbigpe3ZhciB0PXRoaXMsZT10aGlzLl9fdmFsdWVDaGFuZ2U9T2JqZWN0KGlbImQiXSkoKGZ1bmN0aW9uKGUpe3QudmFsdWVTeW5jPXQuX2dldFZhbHVlU3RyaW5nKGUsdC50eXBlKX0pLDEwMCk7dGhpcy4kd2F0Y2goInZhbHVlIixlKSx0aGlzLl9fdHJpZ2dlcklucHV0PU9iamVjdChpWyJ1Il0pKChmdW5jdGlvbihlLG4pe3QuX192YWx1ZUNoYW5nZS5jYW5jZWwoKSx0LiRlbWl0KCJ1cGRhdGU6dmFsdWUiLG4udmFsdWUpLHQuJHRyaWdnZXIoImlucHV0IixlLG4pfSksMTAwKSx0aGlzLiR0cmlnZ2VySW5wdXQ9ZnVuY3Rpb24oZSxuLHIpe3QuX192YWx1ZUNoYW5nZS5jYW5jZWwoKSx0Ll9fdHJpZ2dlcklucHV0KGUsbiksciYmdC5fX3RyaWdnZXJJbnB1dC5mbHVzaCgpfX0sYmVmb3JlRGVzdHJveTpmdW5jdGlvbigpe3RoaXMuX192YWx1ZUNoYW5nZS5jYW5jZWwoKSx0aGlzLl9fdHJpZ2dlcklucHV0LmNhbmNlbCgpfSxkaXJlY3RpdmVzOntmaWVsZDp7aW5zZXJ0ZWQ6ZnVuY3Rpb24odCxlLG4pe24uY29udGV4dC5faW5pdEZpZWxkKHQpfX19LG1ldGhvZHM6e19nZXRWYWx1ZVN0cmluZzpmdW5jdGlvbih0LGUpe3JldHVybiJudW1iZXIiPT09ZSYmaXNOYU4oTnVtYmVyKHQpKSYmKHQ9IiIpLG51bGw9PT10PyIiOlN0cmluZyh0KX0sX2luaXRGaWVsZDpmdW5jdGlvbih0KXt2YXIgZT10aGlzO3RoaXMuX2ZpZWxkPXQscj1yfHxEYXRlLm5vdygpLHRoaXMubmVlZEZvY3VzJiZzZXRUaW1lb3V0KChmdW5jdGlvbigpe2UuX2ZvY3VzKCl9KSl9LF9mb2N1czpmdW5jdGlvbigpe2lmKHRoaXMubmVlZEZvY3VzKXt2YXIgdD10aGlzLl9maWVsZDt0P3QuZm9jdXMoKTpzZXRUaW1lb3V0KHRoaXMuX2ZvY3VzLmJpbmQodGhpcyksMTAwKX19LF9ibHVyOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fZmllbGQ7dCYmdC5ibHVyKCl9LF9vbkZvY3VzOmZ1bmN0aW9uKHQpe3RoaXMuZm9jdXNTeW5jPSEwLHRoaXMuJHRyaWdnZXIoImZvY3VzIix0LHt2YWx1ZTp0aGlzLnZhbHVlU3luY30pLHRoaXMuX2NoZWNrU2VsZWN0aW9uKCksdGhpcy5fY2hlY2tDdXJzb3IoKX0sX29uQmx1cjpmdW5jdGlvbih0KXt0aGlzLmNvbXBvc2luZyYmKHRoaXMuY29tcG9zaW5nPSExLHRoaXMuX29uSW5wdXQodCwhMCkpLHRoaXMuZm9jdXNTeW5jPSExO3ZhciBlLG49dC50YXJnZXQ7Im51bWJlciI9PT1uLnR5cGU/KG4udHlwZT0idGV4dCIsZT1uLnNlbGVjdGlvbkVuZCxuLnR5cGU9Im51bWJlciIpOmU9bi5zZWxlY3Rpb25FbmQsdGhpcy4kdHJpZ2dlcigiYmx1ciIsdCx7dmFsdWU6dGhpcy52YWx1ZVN5bmMsY3Vyc29yOmV9KX0sX2NoZWNrU2VsZWN0aW9uOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fZmllbGQ7dGhpcy5mb2N1c1N5bmMmJnRoaXMuc2VsZWN0aW9uU3RhcnROdW1iZXI+LTEmJnRoaXMuc2VsZWN0aW9uRW5kTnVtYmVyPi0xJiYibnVtYmVyIiE9PXQudHlwZSYmKHQuc2VsZWN0aW9uU3RhcnQ9dGhpcy5zZWxlY3Rpb25TdGFydE51bWJlcix0LnNlbGVjdGlvbkVuZD10aGlzLnNlbGVjdGlvbkVuZE51bWJlcil9LF9jaGVja0N1cnNvcjpmdW5jdGlvbigpe3ZhciB0PXRoaXMuX2ZpZWxkO3RoaXMuZm9jdXNTeW5jJiZ0aGlzLnNlbGVjdGlvblN0YXJ0TnVtYmVyPDAmJnRoaXMuc2VsZWN0aW9uRW5kTnVtYmVyPDAmJnRoaXMuY3Vyc29yTnVtYmVyPi0xJiYibnVtYmVyIiE9PXQudHlwZSYmKHQuc2VsZWN0aW9uRW5kPXQuc2VsZWN0aW9uU3RhcnQ9dGhpcy5jdXJzb3JOdW1iZXIpfX19fSkuY2FsbCh0aGlzLG4oIjMxZDIiKSl9LCIwYzYxIjpmdW5jdGlvbih0LGUsbil7fSwiMGNhYyI6ZnVuY3Rpb24odCxlLG4pe30sIjBkYjMiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7KGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIHIoZSxuKXtyZXR1cm4gbj9lP2UuJGVsOm4uJGVsOnQuZXJyb3IoInBhZ2UgaXMgbm90IHJlYWR5Iil9ZnVuY3Rpb24gaSh0KXtyZXR1cm4gdC5tYXRjaGVzfHwodC5tYXRjaGVzPXQubWF0Y2hlc1NlbGVjdG9yfHx0Lm1vek1hdGNoZXNTZWxlY3Rvcnx8dC5tc01hdGNoZXNTZWxlY3Rvcnx8dC5vTWF0Y2hlc1NlbGVjdG9yfHx0LndlYmtpdE1hdGNoZXNTZWxlY3Rvcnx8ZnVuY3Rpb24odCl7dmFyIGU9KHRoaXMuZG9jdW1lbnR8fHRoaXMub3duZXJEb2N1bWVudCkucXVlcnlTZWxlY3RvckFsbCh0KSxuPWUubGVuZ3RoO3doaWxlKC0tbj49MCYmZS5pdGVtKG4pIT09dGhpcyk7cmV0dXJuIG4+LTF9KSx0fW4uZChlLCJiIiwoZnVuY3Rpb24oKXtyZXR1cm4gcn0pKSxuLmQoZSwiYSIsKGZ1bmN0aW9uKCl7cmV0dXJuIGl9KSl9KS5jYWxsKHRoaXMsbigiNDE4YiIpWyJkZWZhdWx0Il0pfSwiMGRiOCI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiByKHQsZSl7Zm9yKHZhciBuPXRoaXMuJGNoaWxkcmVuLGk9bi5sZW5ndGgsbz1hcmd1bWVudHMubGVuZ3RoLGE9bmV3IEFycmF5KG8+Mj9vLTI6MCkscz0yO3M8bztzKyspYVtzLTJdPWFyZ3VtZW50c1tzXTtmb3IodmFyIGM9MDtjPGk7YysrKXt2YXIgdT1uW2NdLGw9dS4kb3B0aW9ucy5uYW1lJiZ1LiRvcHRpb25zLm5hbWUuc3Vic3RyKDQpO2lmKH50LmluZGV4T2YobCkpcmV0dXJuIHUuJGVtaXQuYXBwbHkodSxbZV0uY29uY2F0KGEpKSwhMTtpZighMT09PXIuYXBwbHkodSxbdCxlXS5jb25jYXQoW2FdKSkpcmV0dXJuITF9fWVbImEiXT17bWV0aG9kczp7JGRpc3BhdGNoOmZ1bmN0aW9uKHQsZSl7InN0cmluZyI9PT10eXBlb2YgdCYmKHQ9W3RdKTt2YXIgbj10aGlzLiRwYXJlbnR8fHRoaXMuJHJvb3Qscj1uLiRvcHRpb25zLm5hbWUmJm4uJG9wdGlvbnMubmFtZS5zdWJzdHIoNCk7d2hpbGUobiYmKCFyfHwhfnQuaW5kZXhPZihyKSkpbj1uLiRwYXJlbnQsbiYmKHI9bi4kb3B0aW9ucy5uYW1lJiZuLiRvcHRpb25zLm5hbWUuc3Vic3RyKDQpKTtpZihuKXtmb3IodmFyIGk9YXJndW1lbnRzLmxlbmd0aCxvPW5ldyBBcnJheShpPjI/aS0yOjApLGE9MjthPGk7YSsrKW9bYS0yXT1hcmd1bWVudHNbYV07bi4kZW1pdC5hcHBseShuLFtlXS5jb25jYXQobykpfX0sJGJyb2FkY2FzdDpmdW5jdGlvbih0LGUpeyJzdHJpbmciPT09dHlwZW9mIHQmJih0PVt0XSk7Zm9yKHZhciBuPWFyZ3VtZW50cy5sZW5ndGgsaT1uZXcgQXJyYXkobj4yP24tMjowKSxvPTI7bzxuO28rKylpW28tMl09YXJndW1lbnRzW29dO3IuYXBwbHkodGhpcyxbdCxlXS5jb25jYXQoaSkpfX19fSwiMGRiZCI6ZnVuY3Rpb24odCl7dC5leHBvcnRzPUpTT04ucGFyc2UoJ3sidW5pLmFwcC5xdWl0IjoiQXBwdXlleiDDoCBub3V2ZWF1IHBvdXIgcXVpdHRlciBsXCdhcHBsaWNhdGlvbiIsInVuaS5hc3luYy5lcnJvciI6IkxhIGNvbm5leGlvbiBhIGV4cGlyw6ksIGNsaXF1ZXogc3VyIGxcJ8OpY3JhbiBwb3VyIHLDqWVzc2F5ZXIuIiwidW5pLnNob3dBY3Rpb25TaGVldC5jYW5jZWwiOiJBbm51bGVyIiwidW5pLnNob3dUb2FzdC51bnBhaXJlZCI6IlZldWlsbGV6IG5vdGVyIHF1ZSBzaG93VG9hc3QgZG9pdCDDqnRyZSBhc3NvY2nDqSDDoCBoaWRlVG9hc3QiLCJ1bmkuc2hvd0xvYWRpbmcudW5wYWlyZWQiOiJWZXVpbGxleiBub3RlciBxdWUgc2hvd0xvYWRpbmcgZG9pdCDDqnRyZSBhc3NvY2nDqSDDoCBoaWRlTG9hZGluZyIsInVuaS5zaG93TW9kYWwuY2FuY2VsIjoiQW5udWxlciIsInVuaS5zaG93TW9kYWwuY29uZmlybSI6Ik9LIiwidW5pLmNob29zZUltYWdlLmNhbmNlbCI6IkFubnVsZXIiLCJ1bmkuY2hvb3NlSW1hZ2Uuc291cmNlVHlwZS5hbGJ1bSI6IkFsYnVtIiwidW5pLmNob29zZUltYWdlLnNvdXJjZVR5cGUuY2FtZXJhIjoiQ2Ftw6lyYSIsInVuaS5jaG9vc2VWaWRlby5jYW5jZWwiOiJBbm51bGVyIiwidW5pLmNob29zZVZpZGVvLnNvdXJjZVR5cGUuYWxidW0iOiJBbGJ1bSIsInVuaS5jaG9vc2VWaWRlby5zb3VyY2VUeXBlLmNhbWVyYSI6IkNhbcOpcmEiLCJ1bmkuY2hvb3NlRmlsZS5ub3RVc2VyQWN0aXZhdGlvbiI6IkxhIGJvw650ZSBkZSBkaWFsb2d1ZSBkdSBzw6lsZWN0ZXVyIGRlIGZpY2hpZXIgbmUgcGV1dCDDqnRyZSBhZmZpY2jDqWUgcXVcJ2F2ZWMgdW5lIGFjdGl2YXRpb24gcGFyIGxcJ3V0aWxpc2F0ZXVyIiwidW5pLnByZXZpZXdJbWFnZS5jYW5jZWwiOiJBbm51bGVyIiwidW5pLnByZXZpZXdJbWFnZS5idXR0b24uc2F2ZSI6Ikd1YXJkYXIgaW1hZ2VuIiwidW5pLnByZXZpZXdJbWFnZS5zYXZlLnN1Y2Nlc3MiOiJFbnJlZ2lzdHLDqSBhdmVjIHN1Y2PDqHMiLCJ1bmkucHJldmlld0ltYWdlLnNhdmUuZmFpbCI6IsOJY2hlYyBkZSBsYSBzYXV2ZWdhcmRlIiwidW5pLnNldENsaXBib2FyZERhdGEuc3VjY2VzcyI6IkNvbnRlbnUgY29wacOpIiwidW5pLnNjYW5Db2RlLnRpdGxlIjoiQ29kZSBk4oCZYW5hbHlzZSIsInVuaS5zY2FuQ29kZS5hbGJ1bSI6IkFsYnVtIiwidW5pLnNjYW5Db2RlLmZhaWwiOiJGYWxsbyBkZSByZWNvbm9jaW1pZW50byIsInVuaS5zY2FuQ29kZS5mbGFzaC5vbiI6IkFwcHV5ZXogcG91ciBhY3RpdmVyIGxcJ8OpY2xhaXJhZ2UiLCJ1bmkuc2NhbkNvZGUuZmxhc2gub2ZmIjoiQXBwdXlleiBwb3VyIGTDqXNhY3RpdmVyIGxcJ8OpY2xhaXJhZ2UiLCJ1bmkuc3RhcnRTb3RlckF1dGhlbnRpY2F0aW9uLmF1dGhDb250ZW50IjoiUmVjb25uYWlzc2FuY2UgZGUgbFwnZW1wcmVpbnRlIGRpZ2l0YWxlIiwidW5pLnN0YXJ0U290ZXJBdXRoZW50aWNhdGlvbi53YWl0aW5nQ29udGVudCI6Ik3DqWNvbm5haXNzYWJsZSIsInVuaS5waWNrZXIuZG9uZSI6Ik9LIiwidW5pLnBpY2tlci5jYW5jZWwiOiJBbm51bGVyIiwidW5pLnZpZGVvLmRhbm11IjoiRGFubXUiLCJ1bmkudmlkZW8udm9sdW1lIjoiTGUgVm9sdW1lIiwidW5pLmJ1dHRvbi5mZWVkYmFjay50aXRsZSI6InJldG91ciBkXCdpbmZvcm1hdGlvbiIsInVuaS5idXR0b24uZmVlZGJhY2suc2VuZCI6ImVudm95ZXIiLCJ1bmkuY2hvb3NlTG9jYXRpb24uc2VhcmNoIjoiVHJvdXZlIiwidW5pLmNob29zZUxvY2F0aW9uLmNhbmNlbCI6IkFubnVsZXIifScpfSwiMGU0YSI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtuKCIzNDBkIik7dmFyIHI9bigiMGRiOCIpO2Z1bmN0aW9uIGkoKXt9ZVsiYSJdPXtuYW1lOiJLZXlib2FyZCIsbWl4aW5zOltyWyJhIl1dLHByb3BzOntjdXJzb3JTcGFjaW5nOnt0eXBlOltOdW1iZXIsU3RyaW5nXSxkZWZhdWx0OjB9LHNob3dDb25maXJtQmFyOnt0eXBlOltCb29sZWFuLFN0cmluZ10sZGVmYXVsdDoiYXV0byJ9LGFkanVzdFBvc2l0aW9uOnt0eXBlOltCb29sZWFuLFN0cmluZ10sZGVmYXVsdDohMH0sYXV0b0JsdXI6e3R5cGU6W0Jvb2xlYW4sU3RyaW5nXSxkZWZhdWx0OiExfX0sY29tcHV0ZWQ6e2lzQXBwbGU6ZnVuY3Rpb24oKXtyZXR1cm4gMD09PVN0cmluZyhuYXZpZ2F0b3IudmVuZG9yKS5pbmRleE9mKCJBcHBsZSIpfX0sZGlyZWN0aXZlczp7a2V5Ym9hcmQ6e2luc2VydGVkOmZ1bmN0aW9uKHQsZSxuKXtuLmNvbnRleHQuaW5pdEtleWJvYXJkKHQpfX19LG1ldGhvZHM6e2luaXRLZXlib2FyZDpmdW5jdGlvbih0KXt2YXIgZT10aGlzO3QuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLChmdW5jdGlvbigpe2NsZWFyVGltZW91dCh2b2lkIDApLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixpLCExKX0pKTt0LmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLChmdW5jdGlvbigpe2UuaXNBcHBsZSYmdC5ibHVyKCksZnVuY3Rpb24oKXtkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJjbGljayIsaSwhMSksZS5pc0FwcGxlJiZkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG8oZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbExlZnQsZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcCl9KCl9KSl9fX19LCIwZWU0IjpmdW5jdGlvbih0LGUpe3ZhciBuO249ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30oKTt0cnl7bj1ufHxuZXcgRnVuY3Rpb24oInJldHVybiB0aGlzIikoKX1jYXRjaChpKXsib2JqZWN0Ij09PSgidW5kZWZpbmVkIj09PXR5cGVvZiB3aW5kb3c/InVuZGVmaW5lZCI6cih3aW5kb3cpKSYmKG49d2luZG93KX10LmV4cG9ydHM9bn0sIjExZGYiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiZjgyOSIpLGk9bi5uKHIpO2kuYX0sIjEyMGYiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5yKGUpO3ZhciByPTFlNSxpPXtuYW1lOiJSZXNpemVTZW5zb3IiLHByb3BzOntpbml0aWFsOnt0eXBlOltCb29sZWFuLFN0cmluZ10sZGVmYXVsdDohMX19LGRhdGE6ZnVuY3Rpb24oKXtyZXR1cm57c2l6ZTp7d2lkdGg6LTEsaGVpZ2h0Oi0xfX19LHdhdGNoOntzaXplOntkZWVwOiEwLGhhbmRsZXI6ZnVuY3Rpb24odCl7dGhpcy4kZW1pdCgicmVzaXplIixPYmplY3QuYXNzaWduKHt9LHQpKX19fSxtb3VudGVkOmZ1bmN0aW9uKCl7ITA9PT10aGlzLmluaXRpYWwmJnRoaXMuJG5leHRUaWNrKHRoaXMudXBkYXRlKSx0aGlzLiRlbC5vZmZzZXRQYXJlbnQhPT10aGlzLiRlbC5wYXJlbnROb2RlJiYodGhpcy4kZWwucGFyZW50Tm9kZS5zdHlsZS5wb3NpdGlvbj0icmVsYXRpdmUiKSwiQW5pbWF0aW9uRXZlbnQiaW4gd2luZG93fHx0aGlzLnJlc2V0KCl9LGFjdGl2YXRlZDpmdW5jdGlvbigpe3RoaXMucmVzZXQoKX0sbWV0aG9kczp7cmVzZXQ6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLiRlbC5maXJzdENoaWxkO3Quc2Nyb2xsTGVmdD1yLHQuc2Nyb2xsVG9wPXI7dmFyIGU9dGhpcy4kZWwubGFzdENoaWxkO2Uuc2Nyb2xsTGVmdD1yLGUuc2Nyb2xsVG9wPXJ9LHVwZGF0ZTpmdW5jdGlvbigpe3RoaXMuc2l6ZS53aWR0aD10aGlzLiRlbC5vZmZzZXRXaWR0aCx0aGlzLnNpemUuaGVpZ2h0PXRoaXMuJGVsLm9mZnNldEhlaWdodCx0aGlzLnJlc2V0KCl9fX0sbz1pLGE9KG4oIjJlYjEiKSxuKCI4ODQ0IikpLHM9T2JqZWN0KGFbImEiXSkobywoZnVuY3Rpb24oKXt2YXIgdD10aGlzLGU9dC4kY3JlYXRlRWxlbWVudCxuPXQuX3NlbGYuX2N8fGU7cmV0dXJuIG4oInVuaS1yZXNpemUtc2Vuc29yIix7b246eyJ+YW5pbWF0aW9uc3RhcnQiOmZ1bmN0aW9uKGUpe3JldHVybiB0LnVwZGF0ZShlKX19fSxbbigiZGl2Iix7b246e3Njcm9sbDp0LnVwZGF0ZX19LFtuKCJkaXYiKV0pLG4oImRpdiIse29uOntzY3JvbGw6dC51cGRhdGV9fSxbbigiZGl2IildKV0pfSksW10sITEsbnVsbCxudWxsLG51bGwpO2VbImRlZmF1bHQiXT1zLmV4cG9ydHN9LCIxMjNjIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO24ucihlKSxuLmQoZSwiY29ubmVjdFNvY2tldCIsKGZ1bmN0aW9uKCl7cmV0dXJuIGl9KSksbi5kKGUsInNlbmRTb2NrZXRNZXNzYWdlIiwoZnVuY3Rpb24oKXtyZXR1cm4gb30pKSxuLmQoZSwiY2xvc2VTb2NrZXQiLChmdW5jdGlvbigpe3JldHVybiBhfSkpO3ZhciByPXtPUFRJT05TOiJPUFRJT05TIixHRVQ6IkdFVCIsSEVBRDoiSEVBRCIsUE9TVDoiUE9TVCIsUFVUOiJQVVQiLERFTEVURToiREVMRVRFIixUUkFDRToiVFJBQ0UiLENPTk5FQ1Q6IkNPTk5FQ1QifSxpPXt1cmw6e3R5cGU6U3RyaW5nLHJlcXVpcmVkOiEwfSxoZWFkZXI6e3R5cGU6T2JqZWN0LHZhbGlkYXRvcjpmdW5jdGlvbih0LGUpe2UuaGVhZGVyPXR8fHt9fX0sbWV0aG9kOnt0eXBlOlN0cmluZyx2YWxpZGF0b3I6ZnVuY3Rpb24odCxlKXt0PSh0fHwiIikudG9VcHBlckNhc2UoKSxlLm1ldGhvZD1PYmplY3QudmFsdWVzKHIpLmluZGV4T2YodCk8MD9yLkdFVDp0fX0scHJvdG9jb2xzOnt0eXBlOltBcnJheSxTdHJpbmddLHZhbGlkYXRvcjpmdW5jdGlvbih0LGUpeyJzdHJpbmciPT09dHlwZW9mIHQmJih0PVt0XSksZS5wcm90b2NvbHM9KHR8fFtdKS5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybiJzdHJpbmciPT09dHlwZW9mIHR9KSl9fX0sbz17ZGF0YTp7dHlwZTpbU3RyaW5nLEFycmF5QnVmZmVyXX19LGE9e2NvZGU6e3R5cGU6TnVtYmVyfSxyZWFzb246e3R5cGU6U3RyaW5nfX19LCIxMmUyIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO24ucihlKSxuLmQoZSwiY3JlYXRlSW5uZXJBdWRpb0NvbnRleHQiLChmdW5jdGlvbigpe3JldHVybiBjfSkpO3ZhciByPW4oIjQ3MzgiKTtmdW5jdGlvbiBpKHQsZSl7Zm9yKHZhciBuPTA7bjxlLmxlbmd0aDtuKyspe3ZhciByPWVbbl07ci5lbnVtZXJhYmxlPXIuZW51bWVyYWJsZXx8ITEsci5jb25maWd1cmFibGU9ITAsInZhbHVlImluIHImJihyLndyaXRhYmxlPSEwKSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCxyLmtleSxyKX19ZnVuY3Rpb24gbyh0LGUsbil7cmV0dXJuIGUgaW4gdD9PYmplY3QuZGVmaW5lUHJvcGVydHkodCxlLHt2YWx1ZTpuLGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwfSk6dFtlXT1uLHR9dmFyIGE9WyJvbkNhbnBsYXkiLCJvblBsYXkiLCJvblBhdXNlIiwib25TdG9wIiwib25FbmRlZCIsIm9uVGltZVVwZGF0ZSIsIm9uRXJyb3IiLCJvbldhaXRpbmciLCJvblNlZWtpbmciLCJvblNlZWtlZCJdLHM9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7dmFyIGU9dGhpczsoZnVuY3Rpb24odCxlKXtpZighKHQgaW5zdGFuY2VvZiBlKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb24iKX0pKHRoaXMsdCksbyh0aGlzLCJfYXVkaW8iLHZvaWQgMCksbyh0aGlzLCJfc3RvcGluZyIsdm9pZCAwKSxvKHRoaXMsInN0YXJ0VGltZSIsdm9pZCAwKSxvKHRoaXMsIl9ldmVudHMiLHZvaWQgMCksbyh0aGlzLCJfc3JjIix2b2lkIDApO3ZhciBuPXRoaXMuX2F1ZGlvPW5ldyBBdWRpbzt0aGlzLl9zdG9waW5nPSExO1sic3JjIiwiYXV0b3BsYXkiLCJsb29wIiwiZHVyYXRpb24iLCJjdXJyZW50VGltZSIsInBhdXNlZCIsInZvbHVtZSJdLmZvckVhY2goKGZ1bmN0aW9uKHQpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHQse3NldDoic3JjIj09PXQ/ZnVuY3Rpb24odCl7cmV0dXJuIG4uc3JjPU9iamVjdChyWyJhIl0pKHQpLGUuX3NyYz10LHR9OmZ1bmN0aW9uKGUpe3JldHVybiBuW3RdPWUsZX0sZ2V0OiJzcmMiPT09dD9mdW5jdGlvbigpe3JldHVybiBlLl9zcmN9OmZ1bmN0aW9uKCl7cmV0dXJuIG5bdF19fSl9KSksdGhpcy5zdGFydFRpbWU9MCxPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywib2JleU11dGVTd2l0Y2giLHtzZXQ6ZnVuY3Rpb24odCl7cmV0dXJuITF9LGdldDpmdW5jdGlvbigpe3JldHVybiExfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCJidWZmZXJlZCIse2dldDpmdW5jdGlvbigpe3ZhciB0PW4uYnVmZmVyZWQ7cmV0dXJuIHQubGVuZ3RoP3QuZW5kKHQubGVuZ3RoLTEpOjB9fSksdGhpcy5fZXZlbnRzPXt9LGEuZm9yRWFjaCgoZnVuY3Rpb24odCl7ZS5fZXZlbnRzW3RdPVtdfSkpLG4uYWRkRXZlbnRMaXN0ZW5lcigibG9hZGVkbWV0YWRhdGEiLChmdW5jdGlvbigpe3ZhciB0PU51bWJlcihlLnN0YXJ0VGltZSl8fDA7dD4wJiYobi5jdXJyZW50VGltZT10KX0pKTt2YXIgaT1bImNhbnBsYXkiLCJwYXVzZSIsInNlZWtpbmciLCJzZWVrZWQiLCJ0aW1lVXBkYXRlIl07WyJjYW5wbGF5IiwicGxheSIsInBhdXNlIiwiZW5kZWQiLCJ0aW1lVXBkYXRlIiwiZXJyb3IiLCJ3YWl0aW5nIiwic2Vla2luZyIsInNlZWtlZCJdLmZvckVhY2goKGZ1bmN0aW9uKHQpe24uYWRkRXZlbnRMaXN0ZW5lcih0LnRvTG93ZXJDYXNlKCksKGZ1bmN0aW9uKCl7ZS5fc3RvcGluZyYmaS5pbmRleE9mKHQpPj0wfHxlLl9ldmVudHNbIm9uIi5jb25jYXQodC5zdWJzdHIoMCwxKS50b1VwcGVyQ2FzZSgpKS5jb25jYXQodC5zdWJzdHIoMSkpXS5mb3JFYWNoKChmdW5jdGlvbih0KXt0KCl9KSl9KSwhMSl9KSl9cmV0dXJuIGZ1bmN0aW9uKHQsZSxuKXtlJiZpKHQucHJvdG90eXBlLGUpLG4mJmkodCxuKX0odCxbe2tleToicGxheSIsdmFsdWU6ZnVuY3Rpb24oKXt0aGlzLl9zdG9waW5nPSExLHRoaXMuX2F1ZGlvLnBsYXkoKX19LHtrZXk6InBhdXNlIix2YWx1ZTpmdW5jdGlvbigpe3RoaXMuX2F1ZGlvLnBhdXNlKCl9fSx7a2V5OiJzdG9wIix2YWx1ZTpmdW5jdGlvbigpe3RoaXMuX3N0b3Bpbmc9ITAsdGhpcy5fYXVkaW8ucGF1c2UoKSx0aGlzLl9hdWRpby5jdXJyZW50VGltZT0wLHRoaXMuX2V2ZW50cy5vblN0b3AuZm9yRWFjaCgoZnVuY3Rpb24odCl7dCgpfSkpfX0se2tleToic2VlayIsdmFsdWU6ZnVuY3Rpb24odCl7dGhpcy5fc3RvcGluZz0hMSx0PU51bWJlcih0KSwibnVtYmVyIiE9PXR5cGVvZiB0fHxpc05hTih0KXx8KHRoaXMuX2F1ZGlvLmN1cnJlbnRUaW1lPXQpfX0se2tleToiZGVzdHJveSIsdmFsdWU6ZnVuY3Rpb24oKXt0aGlzLnN0b3AoKX19XSksdH0oKTtmdW5jdGlvbiBjKCl7cmV0dXJuIG5ldyBzfWEuZm9yRWFjaCgoZnVuY3Rpb24odCl7cy5wcm90b3R5cGVbdF09ZnVuY3Rpb24oZSl7ImZ1bmN0aW9uIj09PXR5cGVvZiBlJiZ0aGlzLl9ldmVudHNbdF0ucHVzaChlKX19KSksWyJvZmZDYW5wbGF5Iiwib2ZmUGxheSIsIm9mZlBhdXNlIiwib2ZmU3RvcCIsIm9mZkVuZGVkIiwib2ZmVGltZVVwZGF0ZSIsIm9mZkVycm9yIiwib2ZmV2FpdGluZyIsIm9mZlNlZWtpbmciLCJvZmZTZWVrZWQiXS5mb3JFYWNoKChmdW5jdGlvbih0KXtzLnByb3RvdHlwZVt0XT1mdW5jdGlvbihlKXt2YXIgbj10aGlzLl9ldmVudHNbdC5yZXBsYWNlKCJvZmYiLCJvbiIpXSxyPW4uaW5kZXhPZihlKTtyPj0wJiZuLnNwbGljZShyLDEpfX0pKX0sMTMzMjpmdW5jdGlvbih0LGUsbil7fSwxNzIwOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiYTE4NyIpLGk9bi5uKHIpO2kuYX0sMTg2NzpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjlhNzgiKSxpPW4ubihyKTtpLmF9LCIxYzNlIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO24ucihlKSxuLmQoZSwib25OZXR3b3JrU3RhdHVzQ2hhbmdlIiwoZnVuY3Rpb24oKXtyZXR1cm4gYX0pKSxuLmQoZSwib2ZmTmV0d29ya1N0YXR1c0NoYW5nZSIsKGZ1bmN0aW9uKCl7cmV0dXJuIHN9KSk7dmFyIHI9bigiOTEzMSIpLGk9bigiNzQ1YSIpLG89W107ZnVuY3Rpb24gYSh0KXtvLnB1c2godCl9ZnVuY3Rpb24gcyh0KXtpZih0KXt2YXIgZT1vLmluZGV4T2YodCk7ZT49MCYmby5zcGxpY2UoZSwxKX19T2JqZWN0KGlbImQiXSkoIm9uTmV0d29ya1N0YXR1c0NoYW5nZSIsKGZ1bmN0aW9uKHQpe28uZm9yRWFjaCgoZnVuY3Rpb24oZSl7T2JqZWN0KHJbImEiXSkoZSx0KX0pKX0pKX0sIjFkMmUiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5yKGUpLGZ1bmN0aW9uKHQscil7dmFyIGk9bigiMDM3MiIpO2VbImRlZmF1bHQiXT17ZGF0YTpmdW5jdGlvbigpe3JldHVybntzaG93VG9hc3Q6e3Zpc2libGU6ITF9fX0sY3JlYXRlZDpmdW5jdGlvbigpe3ZhciBlPXRoaXMsbj0iIixvPWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihyKXtuPXQsc2V0VGltZW91dCgoZnVuY3Rpb24oKXtlLnNob3dUb2FzdD1yfSksMTApfX07dC5vbigib25TaG93VG9hc3QiLG8oIm9uU2hvd1RvYXN0IikpLHQub24oIm9uU2hvd0xvYWRpbmciLG8oIm9uU2hvd0xvYWRpbmciKSk7dmFyIGE9ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7aWYobil7dmFyIG89IiI7aWYoIm9uSGlkZVRvYXN0Ij09PXQmJiJvblNob3dUb2FzdCIhPT1uP289T2JqZWN0KGlbImciXSkoInVuaS5zaG93VG9hc3QudW5wYWlyZWQiKToib25IaWRlTG9hZGluZyI9PT10JiYib25TaG93TG9hZGluZyIhPT1uJiYobz1PYmplY3QoaVsiZyJdKSgidW5pLnNob3dMb2FkaW5nLnVucGFpcmVkIikpLG8pcmV0dXJuIHIud2FybihvKTtuPSIiLHNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7ZS5zaG93VG9hc3QudmlzaWJsZT0hMX0pLDEwKX19fTt0Lm9uKCJvbkhpZGVQb3B1cCIsYSgib25IaWRlUG9wdXAiKSksdC5vbigib25IaWRlVG9hc3QiLGEoIm9uSGlkZVRvYXN0IikpLHQub24oIm9uSGlkZUxvYWRpbmciLGEoIm9uSGlkZUxvYWRpbmciKSl9fX0uY2FsbCh0aGlzLG4oIjJjOWYiKSxuKCI0MThiIilbImRlZmF1bHQiXSl9LCIxZGE5IjpmdW5jdGlvbih0KXt0LmV4cG9ydHM9SlNPTi5wYXJzZSgneyJ1bmkuYXBwLnF1aXQiOiLlho3mjInkuIDmrKHpgIDlh7rlupTnlKgiLCJ1bmkuYXN5bmMuZXJyb3IiOiLov57mjqXmnI3liqHlmajotoXml7bvvIzngrnlh7vlsY/luZXph43or5UiLCJ1bmkuc2hvd0FjdGlvblNoZWV0LmNhbmNlbCI6IuWPlua2iCIsInVuaS5zaG93VG9hc3QudW5wYWlyZWQiOiLor7fms6jmhI8gc2hvd1RvYXN0IOS4jiBoaWRlVG9hc3Qg5b+F6aG76YWN5a+55L2/55SoIiwidW5pLnNob3dMb2FkaW5nLnVucGFpcmVkIjoi6K+35rOo5oSPIHNob3dMb2FkaW5nIOS4jiBoaWRlTG9hZGluZyDlv4XpobvphY3lr7nkvb/nlKgiLCJ1bmkuc2hvd01vZGFsLmNhbmNlbCI6IuWPlua2iCIsInVuaS5zaG93TW9kYWwuY29uZmlybSI6IuehruWumiIsInVuaS5jaG9vc2VJbWFnZS5jYW5jZWwiOiLlj5bmtogiLCJ1bmkuY2hvb3NlSW1hZ2Uuc291cmNlVHlwZS5hbGJ1bSI6IuS7juebuOWGjOmAieaLqSIsInVuaS5jaG9vc2VJbWFnZS5zb3VyY2VUeXBlLmNhbWVyYSI6IuaLjeaRhCIsInVuaS5jaG9vc2VWaWRlby5jYW5jZWwiOiLlj5bmtogiLCJ1bmkuY2hvb3NlVmlkZW8uc291cmNlVHlwZS5hbGJ1bSI6IuS7juebuOWGjOmAieaLqSIsInVuaS5jaG9vc2VWaWRlby5zb3VyY2VUeXBlLmNhbWVyYSI6IuaLjeaRhCIsInVuaS5jaG9vc2VGaWxlLm5vdFVzZXJBY3RpdmF0aW9uIjoi5paH5Lu26YCJ5oup5Zmo5a+56K+d5qGG5Y+q6IO95Zyo55Sx55So5oi35r+A5rS75pe25pi+56S6IiwidW5pLnByZXZpZXdJbWFnZS5jYW5jZWwiOiLlj5bmtogiLCJ1bmkucHJldmlld0ltYWdlLmJ1dHRvbi5zYXZlIjoi5L+d5a2Y5Zu+5YOPIiwidW5pLnByZXZpZXdJbWFnZS5zYXZlLnN1Y2Nlc3MiOiLkv53lrZjlm77lg4/liLDnm7jlhozmiJDlip8iLCJ1bmkucHJldmlld0ltYWdlLnNhdmUuZmFpbCI6IuS/neWtmOWbvuWDj+WIsOebuOWGjOWksei0pSIsInVuaS5zZXRDbGlwYm9hcmREYXRhLnN1Y2Nlc3MiOiLlhoXlrrnlt7LlpI3liLYiLCJ1bmkuc2NhbkNvZGUudGl0bGUiOiLmiavnoIEiLCJ1bmkuc2NhbkNvZGUuYWxidW0iOiLnm7jlhowiLCJ1bmkuc2NhbkNvZGUuZmFpbCI6IuivhuWIq+Wksei0pSIsInVuaS5zY2FuQ29kZS5mbGFzaC5vbiI6Iui9u+inpueFp+S6riIsInVuaS5zY2FuQ29kZS5mbGFzaC5vZmYiOiLovbvop6blhbPpl60iLCJ1bmkuc3RhcnRTb3RlckF1dGhlbnRpY2F0aW9uLmF1dGhDb250ZW50Ijoi5oyH57q56K+G5Yir5LitLi4uIiwidW5pLnN0YXJ0U290ZXJBdXRoZW50aWNhdGlvbi53YWl0aW5nQ29udGVudCI6IuaXoOazleivhuWIqyIsInVuaS5waWNrZXIuZG9uZSI6IuWujOaIkCIsInVuaS5waWNrZXIuY2FuY2VsIjoi5Y+W5raIIiwidW5pLnZpZGVvLmRhbm11Ijoi5by55bmVIiwidW5pLnZpZGVvLnZvbHVtZSI6Iumfs+mHjyIsInVuaS5idXR0b24uZmVlZGJhY2sudGl0bGUiOiLpl67popjlj43ppogiLCJ1bmkuYnV0dG9uLmZlZWRiYWNrLnNlbmQiOiLlj5HpgIEiLCJ1bmkuY2hvb3NlTG9jYXRpb24uc2VhcmNoIjoi5pCc57Si5Zyw54K5IiwidW5pLmNob29zZUxvY2F0aW9uLmNhbmNlbCI6IuWPlua2iCJ9Jyl9LCIxZGFhIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIodCxlLG4scil7dmFyIGksbz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKSxhPWUuY2FsbGJhY2t8fCJjYWxsYmFjayIscz0iX19jYWxsYmFjayIrRGF0ZS5ub3coKStNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKCkuc2xpY2UoMiksYz1lLnRpbWVvdXR8fDNlNDtmdW5jdGlvbiB1KCl7Y2xlYXJUaW1lb3V0KGkpLGRlbGV0ZSB3aW5kb3dbc10sby5yZW1vdmUoKX13aW5kb3dbc109ZnVuY3Rpb24odCl7ImZ1bmN0aW9uIj09PXR5cGVvZiBuJiZuKHQpLHUoKX0sby5vbmVycm9yPWZ1bmN0aW9uKCl7ImZ1bmN0aW9uIj09PXR5cGVvZiByJiZyKCksdSgpfSxpPXNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7ImZ1bmN0aW9uIj09PXR5cGVvZiByJiZyKCksdSgpfSksYyksby5zcmM9dCsodC5pbmRleE9mKCI/Iik+PTA/IiYiOiI/IikrYSsiPSIrcyxkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKG8pfW4uZChlLCJhIiwoZnVuY3Rpb24oKXtyZXR1cm4gcn0pKX0sIjFlZmQiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5yKGUpLG4uZChlLCJnZXRXaW5kb3dJbmZvIiwoZnVuY3Rpb24oKXtyZXR1cm4gYX0pKTt2YXIgcj1uKCI4ZDdkIiksaT1uKCJmNjIxIiksbz1uLm4oaSk7ZnVuY3Rpb24gYSgpe3ZhciB0PXdpbmRvdy5zY3JlZW4sZT13aW5kb3cuZGV2aWNlUGl4ZWxSYXRpbyxuPS9eQXBwbGUvLnRlc3QobmF2aWdhdG9yLnZlbmRvcikmJiJudW1iZXIiPT09dHlwZW9mIHdpbmRvdy5vcmllbnRhdGlvbixpPW4mJjkwPT09TWF0aC5hYnMod2luZG93Lm9yaWVudGF0aW9uKSxhPW4/TWF0aFtpPyJtYXgiOiJtaW4iXSh0LndpZHRoLHQuaGVpZ2h0KTp0LndpZHRoLHM9bj9NYXRoW2k/Im1pbiI6Im1heCJdKHQuaGVpZ2h0LHQud2lkdGgpOnQuaGVpZ2h0LGM9TWF0aC5taW4od2luZG93LmlubmVyV2lkdGgsZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoLGEpfHxhLHU9d2luZG93LmlubmVySGVpZ2h0LGw9by5hLnRvcCxmPXtsZWZ0Om8uYS5sZWZ0LHJpZ2h0OmMtby5hLnJpZ2h0LHRvcDpvLmEudG9wLGJvdHRvbTp1LW8uYS5ib3R0b20sd2lkdGg6Yy1vLmEubGVmdC1vLmEucmlnaHQsaGVpZ2h0OnUtby5hLnRvcC1vLmEuYm90dG9tfSxkPU9iamVjdChyWyJhIl0pKCksaD1kLnRvcCxwPWQuYm90dG9tO3JldHVybiB1LT1oLHUtPXAse3dpbmRvd1RvcDpoLHdpbmRvd0JvdHRvbTpwLHdpbmRvd1dpZHRoOmMsd2luZG93SGVpZ2h0OnUscGl4ZWxSYXRpbzplLHNjcmVlbldpZHRoOmEsc2NyZWVuSGVpZ2h0OnMsc3RhdHVzQmFySGVpZ2h0Omwsc2FmZUFyZWE6ZixzYWZlQXJlYUluc2V0czp7dG9wOm8uYS50b3AscmlnaHQ6by5hLnJpZ2h0LGJvdHRvbTpvLmEuYm90dG9tLGxlZnQ6by5hLmxlZnR9LHNjcmVlblRvcDpzLXV9fX0sIjFmOGEiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5yKGUpO3ZhciByPW4oIjkwOWUiKSxpPXtuYW1lOiJSYWRpbyIsbWl4aW5zOltyWyJhIl0sclsiZiJdXSxwcm9wczp7Y2hlY2tlZDp7dHlwZTpbQm9vbGVhbixTdHJpbmddLGRlZmF1bHQ6ITF9LGlkOnt0eXBlOlN0cmluZyxkZWZhdWx0OiIifSxkaXNhYmxlZDp7dHlwZTpbQm9vbGVhbixTdHJpbmddLGRlZmF1bHQ6ITF9LHZhbHVlOnt0eXBlOlN0cmluZyxkZWZhdWx0OiIifSxjb2xvcjp7dHlwZTpTdHJpbmcsZGVmYXVsdDoiIzAwN0FGRiJ9LGJhY2tncm91bmRDb2xvcjp7dHlwZTpTdHJpbmcsZGVmYXVsdDoiIn0sYm9yZGVyQ29sb3I6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6IiJ9LGFjdGl2ZUJhY2tncm91bmRDb2xvcjp7dHlwZTpTdHJpbmcsZGVmYXVsdDoiIn0sYWN0aXZlQm9yZGVyQ29sb3I6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6IiJ9LGljb25Db2xvcjp7dHlwZTpTdHJpbmcsZGVmYXVsdDoiI2ZmZmZmZiJ9fSxkYXRhOmZ1bmN0aW9uKCl7cmV0dXJue3JhZGlvQ2hlY2tlZDp0aGlzLmNoZWNrZWQscmFkaW9WYWx1ZTp0aGlzLnZhbHVlfX0sY29tcHV0ZWQ6e3JhZGlvU3R5bGU6ZnVuY3Rpb24oKXtpZih0aGlzLmRpc2FibGVkKXJldHVybntiYWNrZ3JvdW5kQ29sb3I6IiNFMUUxRTEiLGJvcmRlckNvbG9yOiIjRDFEMUQxIn07dmFyIHQ9e307cmV0dXJuIHRoaXMucmFkaW9DaGVja2VkPyh0LmNvbG9yPXRoaXMuaWNvbkNvbG9yLHQuYmFja2dyb3VuZENvbG9yPXRoaXMuYWN0aXZlQmFja2dyb3VuZENvbG9yfHx0aGlzLmNvbG9yLHQuYm9yZGVyQ29sb3I9dGhpcy5hY3RpdmVCb3JkZXJDb2xvcnx8dC5iYWNrZ3JvdW5kQ29sb3IpOih0aGlzLmJvcmRlckNvbG9yJiYodC5ib3JkZXJDb2xvcj10aGlzLmJvcmRlckNvbG9yKSx0aGlzLmJhY2tncm91bmRDb2xvciYmKHQuYmFja2dyb3VuZENvbG9yPXRoaXMuYmFja2dyb3VuZENvbG9yKSksdH19LHdhdGNoOntjaGVja2VkOmZ1bmN0aW9uKHQpe3RoaXMucmFkaW9DaGVja2VkPXR9LHZhbHVlOmZ1bmN0aW9uKHQpe3RoaXMucmFkaW9WYWx1ZT10fX0sbGlzdGVuZXJzOnsibGFiZWwtY2xpY2siOiJfb25DbGljayIsIkBsYWJlbC1jbGljayI6Il9vbkNsaWNrIn0sY3JlYXRlZDpmdW5jdGlvbigpe3RoaXMuJGRpc3BhdGNoKCJSYWRpb0dyb3VwIiwidW5pLXJhZGlvLWdyb3VwLXVwZGF0ZSIse3R5cGU6ImFkZCIsdm06dGhpc30pLHRoaXMuJGRpc3BhdGNoKCJGb3JtIiwidW5pLWZvcm0tZ3JvdXAtdXBkYXRlIix7dHlwZToiYWRkIix2bTp0aGlzfSl9LGJlZm9yZURlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLiRkaXNwYXRjaCgiUmFkaW9Hcm91cCIsInVuaS1yYWRpby1ncm91cC11cGRhdGUiLHt0eXBlOiJyZW1vdmUiLHZtOnRoaXN9KSx0aGlzLiRkaXNwYXRjaCgiRm9ybSIsInVuaS1mb3JtLWdyb3VwLXVwZGF0ZSIse3R5cGU6InJlbW92ZSIsdm06dGhpc30pfSxtZXRob2RzOntfb25DbGljazpmdW5jdGlvbih0KXt0aGlzLmRpc2FibGVkfHx0aGlzLnJhZGlvQ2hlY2tlZHx8KHRoaXMucmFkaW9DaGVja2VkPSEwLHRoaXMuJGRpc3BhdGNoKCJSYWRpb0dyb3VwIiwidW5pLXJhZGlvLWNoYW5nZSIsdCx0aGlzKSl9LF9yZXNldEZvcm1EYXRhOmZ1bmN0aW9uKCl7dGhpcy5yYWRpb0NoZWNrZWQ9dGhpcy5taW59fX0sbz1pLGE9KG4oIjk4NTQiKSxuKCI4ODQ0IikpLHM9T2JqZWN0KGFbImEiXSkobywoZnVuY3Rpb24oKXt2YXIgdD10aGlzLGU9dC4kY3JlYXRlRWxlbWVudCxuPXQuX3NlbGYuX2N8fGU7cmV0dXJuIG4oInVuaS1yYWRpbyIsdC5fZyh7YXR0cnM6e2Rpc2FibGVkOnQuZGlzYWJsZWR9LG9uOntjbGljazp0Ll9vbkNsaWNrfX0sdC4kbGlzdGVuZXJzKSxbbigiZGl2Iix7c3RhdGljQ2xhc3M6InVuaS1yYWRpby13cmFwcGVyIixzdHlsZTp7Ii0tSE9WRVItQkQtQ09MT1IiOnQucmFkaW9DaGVja2VkP3QucmFkaW9TdHlsZS5ib3JkZXJDb2xvcjp0LmFjdGl2ZUJvcmRlckNvbG9yfX0sW24oImRpdiIse3N0YXRpY0NsYXNzOiJ1bmktcmFkaW8taW5wdXQiLGNsYXNzOnsidW5pLXJhZGlvLWlucHV0LWNoZWNrZWQiOnQucmFkaW9DaGVja2VkLCJ1bmktcmFkaW8taW5wdXQtZGlzYWJsZWQiOnQuZGlzYWJsZWR9LHN0eWxlOnQucmFkaW9TdHlsZX0pLHQuX3QoImRlZmF1bHQiKV0sMildKX0pLFtdLCExLG51bGwsbnVsbCxudWxsKTtlWyJkZWZhdWx0Il09cy5leHBvcnRzfSwiMWZkZiI6ZnVuY3Rpb24odCxlLG4pe30sIjFmZTkiOmZ1bmN0aW9uKHQsZSxuKXt2YXIgcj17Ii4vYmFzZS9iYXNlNjQuanMiOiI3OGI3IiwiLi9iYXNlL2Nhbi1pLXVzZS5qcyI6IjliZDkiLCIuL2Jhc2UvaW50ZXJjZXB0b3IuanMiOiJjOWRhIiwiLi9iYXNlL3VweDJweC5qcyI6ImMxNjUiLCIuL2NvbnRleHQvYXVkaW8uanMiOiJlNzQ4IiwiLi9jb250ZXh0L2JhY2tncm91bmQtYXVkaW8uanMiOiI4NmQzIiwiLi9jb250ZXh0L2NhbnZhcy5qcyI6IjYzNTIiLCIuL2NvbnRleHQvY3JlYXRlLW1hcC1jb250ZXh0LmpzIjoiZWQyYyIsIi4vY29udGV4dC9jcmVhdGUtdmlkZW8tY29udGV4dC5qcyI6ImU2OGEiLCIuL2NvbnRleHQvZWRpdG9yLmpzIjoiNTg4MyIsIi4vY29udGV4dC9pbm5lci1hdWRpby5qcyI6ImJlYWIiLCIuL2RldmljZS9uZXR3b3JrLmpzIjoiMWMzZSIsIi4vZGV2aWNlL3RoZW1lLmpzIjoiMDQyNiIsIi4va2V5Ym9hcmQvZ2V0LXNlbGVjdGVkLXRleHQtcmFuZ2UuanMiOiI3OTU4IiwiLi9rZXlib2FyZC9rZXlib2FyZC5qcyI6IjcwNjgiLCIuL21lZGlhL3ByZXZpZXctaW1hZ2UuanMiOiI3MzE3IiwiLi9tZWRpYS9yZWNvcmRlci5qcyI6ImQ5MWEiLCIuL25ldHdvcmsvZG93bmxvYWQtZmlsZS5qcyI6ImNmOTciLCIuL25ldHdvcmsvcmVxdWVzdC5qcyI6ImRjMDIiLCIuL25ldHdvcmsvc29ja2V0LmpzIjoiMzJhMCIsIi4vbmV0d29yay91cGRhdGUuanMiOiJjNGNkIiwiLi9uZXR3b3JrL3VwbG9hZC1maWxlLmpzIjoiYmNlYiIsIi4vcGx1Z2luL19fZl9fLmpzIjoiNjFhNSIsIi4vcGx1Z2luL3B1c2guanMiOiI5ZjU2IiwiLi91aS9jcmVhdGUtYW5pbWF0aW9uLmpzIjoiYTJmNiIsIi4vdWkvY3JlYXRlLWludGVyc2VjdGlvbi1vYnNlcnZlci5qcyI6ImE2ZjIiLCIuL3VpL2NyZWF0ZS1tZWRpYS1xdWVyeS1vYnNlcnZlci5qcyI6ImE4NzQiLCIuL3VpL2NyZWF0ZS1zZWxlY3Rvci1xdWVyeS5qcyI6IjgzNzkiLCIuL3VpL2xvYWQtZm9udC1mYWNlLmpzIjoiZmRjZCIsIi4vdWkvbG9jYWxlLmpzIjoiZWJkYSIsIi4vdWkvcGFnZS1zY3JvbGwtdG8uanMiOiIzMzEzIiwiLi91aS9zZXQtcGFnZS1tZXRhLmpzIjoiYmU5MiIsIi4vdWkvdGFiLWJhci5qcyI6ImU4N2YiLCIuL3VpL3dpbmRvdy5qcyI6ImNjZGYifTtmdW5jdGlvbiBpKHQpe3ZhciBlPW8odCk7cmV0dXJuIG4oZSl9ZnVuY3Rpb24gbyh0KXtpZighbi5vKHIsdCkpe3ZhciBlPW5ldyBFcnJvcigiQ2Fubm90IGZpbmQgbW9kdWxlICciK3QrIiciKTt0aHJvdyBlLmNvZGU9Ik1PRFVMRV9OT1RfRk9VTkQiLGV9cmV0dXJuIHJbdF19aS5rZXlzPWZ1bmN0aW9uKCl7cmV0dXJuIE9iamVjdC5rZXlzKHIpfSxpLnJlc29sdmU9byx0LmV4cG9ydHM9aSxpLmlkPSIxZmU5In0sMjA2NjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO24ucihlKTt2YXIgcj17bmFtZToiU3dpcGVySXRlbSIscHJvcHM6e2l0ZW1JZDp7dHlwZTpTdHJpbmcsZGVmYXVsdDoiIn19LG1vdW50ZWQ6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLiRlbDt0LnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsdC5zdHlsZS53aWR0aD0iMTAwJSIsdC5zdHlsZS5oZWlnaHQ9IjEwMCUiO3ZhciBlPXRoaXMuJHZub2RlLl9jYWxsYmFja3M7ZSYmZS5mb3JFYWNoKChmdW5jdGlvbih0KXt0KCl9KSl9fSxpPXIsbz0obigiOTViZCIpLG4oIjg4NDQiKSksYT1PYmplY3Qob1siYSJdKShpLChmdW5jdGlvbigpe3ZhciB0PXRoaXMsZT10LiRjcmVhdGVFbGVtZW50LG49dC5fc2VsZi5fY3x8ZTtyZXR1cm4gbigidW5pLXN3aXBlci1pdGVtIix0Ll9nKHt9LHQuJGxpc3RlbmVycyksW3QuX3QoImRlZmF1bHQiKV0sMil9KSxbXSwhMSxudWxsLG51bGwsbnVsbCk7ZVsiZGVmYXVsdCJdPWEuZXhwb3J0c30sIjIxMWYiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5yKGUpLGZ1bmN0aW9uKHQpe24uZChlLCJ1cGxvYWRGaWxlIiwoZnVuY3Rpb24oKXtyZXR1cm4gc30pKTt2YXIgcj1uKCJiZGVlIik7ZnVuY3Rpb24gaSh0LGUpe2Zvcih2YXIgbj0wO248ZS5sZW5ndGg7bisrKXt2YXIgcj1lW25dO3IuZW51bWVyYWJsZT1yLmVudW1lcmFibGV8fCExLHIuY29uZmlndXJhYmxlPSEwLCJ2YWx1ZSJpbiByJiYoci53cml0YWJsZT0hMCksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsci5rZXkscil9fWZ1bmN0aW9uIG8odCxlLG4pe3JldHVybiBlIGluIHQ/T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsZSx7dmFsdWU6bixlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMH0pOnRbZV09bix0fXZhciBhPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdChlLG4peyhmdW5jdGlvbih0LGUpe2lmKCEodCBpbnN0YW5jZW9mIGUpKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvbiIpfSkodGhpcyx0KSxvKHRoaXMsIl94aHIiLHZvaWQgMCksbyh0aGlzLCJfaXNBYm9ydCIsdm9pZCAwKSxvKHRoaXMsIl9jYWxsYmFja3MiLFtdKSx0aGlzLl94aHI9ZSx0aGlzLl9jYWxsYmFja0lkPW59cmV0dXJuIGZ1bmN0aW9uKHQsZSxuKXtlJiZpKHQucHJvdG90eXBlLGUpLG4mJmkodCxuKX0odCxbe2tleToib25Qcm9ncmVzc1VwZGF0ZSIsdmFsdWU6ZnVuY3Rpb24odCl7ImZ1bmN0aW9uIj09PXR5cGVvZiB0JiZ0aGlzLl9jYWxsYmFja3MucHVzaCh0KX19LHtrZXk6Im9mZlByb2dyZXNzVXBkYXRlIix2YWx1ZTpmdW5jdGlvbih0KXt2YXIgZT10aGlzLl9jYWxsYmFja3MuaW5kZXhPZih0KTtlPj0wJiZ0aGlzLl9jYWxsYmFja3Muc3BsaWNlKGUsMSl9fSx7a2V5OiJhYm9ydCIsdmFsdWU6ZnVuY3Rpb24oKXt0aGlzLl9pc0Fib3J0PSEwLHRoaXMuX3hociYmKHRoaXMuX3hoci5hYm9ydCgpLGRlbGV0ZSB0aGlzLl94aHIpfX1dKSx0fSgpO2Z1bmN0aW9uIHMoZSxuKXt2YXIgaT1lLnVybCxvPWUuZmlsZSxzPWUuZmlsZVBhdGgsYz1lLm5hbWUsdT1lLmZpbGVzLGw9ZS5oZWFkZXIsZj1lLmZvcm1EYXRhLGQ9ZS50aW1lb3V0LGg9dm9pZCAwPT09ZD9fX3VuaUNvbmZpZy5uZXR3b3JrVGltZW91dCYmX191bmlDb25maWcubmV0d29ya1RpbWVvdXQudXBsb2FkRmlsZXx8NmU0OmQscD10LHY9cC5pbnZva2VDYWxsYmFja0hhbmRsZXIsZz1uZXcgYShudWxsLG4pO3JldHVybiBBcnJheS5pc0FycmF5KHUpJiZ1Lmxlbmd0aHx8KHU9W3tuYW1lOmMsZmlsZTpvLHVyaTpzfV0pLFByb21pc2UuYWxsKHUubWFwKChmdW5jdGlvbih0KXt2YXIgZT10LmZpbGUsbj10LnVyaTtyZXR1cm4gZSBpbnN0YW5jZW9mIEJsb2I/UHJvbWlzZS5yZXNvbHZlKE9iamVjdChyWyJhIl0pKGUpKTpPYmplY3QoclsiZiJdKShuKX0pKSkudGhlbigoZnVuY3Rpb24odCl7dmFyIGUscj1uZXcgWE1MSHR0cFJlcXVlc3Qsbz1uZXcgRm9ybURhdGE7T2JqZWN0LmtleXMoZikuZm9yRWFjaCgoZnVuY3Rpb24odCl7by5hcHBlbmQodCxmW3RdKX0pKSxPYmplY3QudmFsdWVzKHUpLmZvckVhY2goKGZ1bmN0aW9uKGUsbil7dmFyIHI9ZS5uYW1lLGk9dFtuXTtvLmFwcGVuZChyfHwiZmlsZSIsaSxpLm5hbWV8fCJmaWxlLSIuY29uY2F0KERhdGUubm93KCkpKX0pKSxyLm9wZW4oIlBPU1QiLGkpLE9iamVjdC5rZXlzKGwpLmZvckVhY2goKGZ1bmN0aW9uKHQpe3Iuc2V0UmVxdWVzdEhlYWRlcih0LGxbdF0pfSkpLHIudXBsb2FkLm9ucHJvZ3Jlc3M9ZnVuY3Rpb24odCl7Zy5fY2FsbGJhY2tzLmZvckVhY2goKGZ1bmN0aW9uKGUpe3ZhciBuPXQubG9hZGVkLHI9dC50b3RhbCxpPU1hdGgucm91bmQobi9yKjEwMCk7ZSh7cHJvZ3Jlc3M6aSx0b3RhbEJ5dGVzU2VudDpuLHRvdGFsQnl0ZXNFeHBlY3RlZFRvU2VuZDpyfSl9KSl9LHIub25lcnJvcj1mdW5jdGlvbigpe2NsZWFyVGltZW91dChlKSx2KG4se2Vyck1zZzoidXBsb2FkRmlsZTpmYWlsIn0pfSxyLm9uYWJvcnQ9ZnVuY3Rpb24oKXtjbGVhclRpbWVvdXQoZSksdihuLHtlcnJNc2c6InVwbG9hZEZpbGU6ZmFpbCBhYm9ydCJ9KX0sci5vbmxvYWQ9ZnVuY3Rpb24oKXtjbGVhclRpbWVvdXQoZSk7dmFyIHQ9ci5zdGF0dXM7dihuLHtlcnJNc2c6InVwbG9hZEZpbGU6b2siLHN0YXR1c0NvZGU6dCxkYXRhOnIucmVzcG9uc2VUZXh0fHxyLnJlc3BvbnNlfSl9LGcuX2lzQWJvcnQ/dihuLHtlcnJNc2c6InVwbG9hZEZpbGU6ZmFpbCBhYm9ydCJ9KTooZT1zZXRUaW1lb3V0KChmdW5jdGlvbigpe3IudXBsb2FkLm9ucHJvZ3Jlc3M9ci5vbmxvYWQ9ci5vbmFib3J0PXIub25lcnJvcj1udWxsLGcuYWJvcnQoKSx2KG4se2Vyck1zZzoidXBsb2FkRmlsZTpmYWlsIHRpbWVvdXQifSl9KSxoKSxyLnNlbmQobyksZy5feGhyPXIpfSkpLmNhdGNoKChmdW5jdGlvbigpe3NldFRpbWVvdXQoKGZ1bmN0aW9uKCl7dihuLHtlcnJNc2c6InVwbG9hZEZpbGU6ZmFpbCBmaWxlIGVycm9yIn0pfSksMCl9KSksZ319LmNhbGwodGhpcyxuKCIyYzlmIikpfSwiMjFmNSI6ZnVuY3Rpb24odCxlLG4pe30sMjIxNDpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiOyhmdW5jdGlvbih0KXtuLmQoZSwiYSIsKGZ1bmN0aW9uKCl7cmV0dXJuIHl9KSksbi5kKGUsImIiLChmdW5jdGlvbigpe3JldHVybiBffSkpLG4uZChlLCJkIiwoZnVuY3Rpb24oKXtyZXR1cm4gd30pKSxuLmQoZSwiYyIsKGZ1bmN0aW9uKCl7cmV0dXJuIGt9KSk7dmFyIHI9bigiMzQwZCIpLGk9bigiNzFhNCIpLG89bigiZDMzNCIpLGE9bigiMDA3MSIpLHM9bigiOGI4MiIpLGM9bigiNDFjYiIpO2Z1bmN0aW9uIHUodCxlLG4pe3ZhciByPSIiLmNvbmNhdChlLCI6ZmFpbCAiKS5jb25jYXQodCk7aWYoLTE9PT1uKXRocm93IG5ldyBFcnJvcihyKTtyZXR1cm4ibnVtYmVyIj09PXR5cGVvZiBuJiZ5KG4se2Vyck1zZzpyfSksITF9dmFyIGw9W3tuYW1lOiJjYWxsYmFjayIsdHlwZTpGdW5jdGlvbixyZXF1aXJlZDohMH1dLGY9WyJiZWZvcmVWYWxpZGF0ZSIsImJlZm9yZUFsbCIsImJlZm9yZVN1Y2Nlc3MiXTtmdW5jdGlvbiBkKHQsZSxuKXt2YXIgaT1zWyJhIl1bdF07aWYoIWkmJk9iamVjdChvWyJhIl0pKHQpJiYoaT1sKSxpKXtpZihBcnJheS5pc0FycmF5KGkpJiZBcnJheS5pc0FycmF5KGUpKXt2YXIgYT1PYmplY3QuY3JlYXRlKG51bGwpLGQ9T2JqZWN0LmNyZWF0ZShudWxsKSxoPWUubGVuZ3RoO2kuZm9yRWFjaCgoZnVuY3Rpb24odCxuKXthW3QubmFtZV09dCxoPm4mJihkW3QubmFtZV09ZVtuXSl9KSksaT1hLGU9ZH1pZihPYmplY3QoclsiayJdKShpLmJlZm9yZVZhbGlkYXRlKSl7dmFyIHA9aS5iZWZvcmVWYWxpZGF0ZShlKTtpZihwKXJldHVybiB1KHAsdCxuKX1mb3IodmFyIHY9T2JqZWN0LmtleXMoaSksZz0wO2c8di5sZW5ndGg7ZysrKWlmKC0xPT09Zi5pbmRleE9mKHZbZ10pKXt2YXIgbT1PYmplY3QoY1siYSJdKSh2W2ddLGksZSk7aWYobSlyZXR1cm4gdShtLHQsbil9fXJldHVybiEwfXZhciBoPTEscD17fTtmdW5jdGlvbiB2KHQsZSl7dmFyIG49aCsrLHI9ImFwaS4iK3QrIi4iK247cmV0dXJuIHBbbl09e25hbWU6cixrZWVwQWxpdmU6ITAsY2FsbGJhY2s6ZX0sbn1mdW5jdGlvbiBnKHQsZSl7Zm9yKHZhciBuIGluIHApe3ZhciByPXBbbl07aWYoci5uYW1lLnN0YXJ0c1dpdGgoImFwaS4iK3QucmVwbGFjZSgvXm9mZi8sIm9uIikpJiZyLmNhbGxiYWNrPT09ZSlyZXR1cm4gZGVsZXRlIHBbbl0sTnVtYmVyKG4pfXJldHVybiJmYWlsIn1mdW5jdGlvbiBtKHQpe3ZhciBlPWFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXTp7fSxuPWFyZ3VtZW50cy5sZW5ndGg+MiYmdm9pZCAwIT09YXJndW1lbnRzWzJdP2FyZ3VtZW50c1syXTp7fTtpZighT2JqZWN0KHJbImwiXSkoZSkpcmV0dXJue3BhcmFtczplfTtlPU9iamVjdC5hc3NpZ24oe30sZSk7dmFyIG89T2JqZWN0KGFbImEiXSkoZSkscz1vLnN1Y2Nlc3MsYz1vLmZhaWwsdT1vLmNhbmNlbCxsPW8uY29tcGxldGUsZj1PYmplY3QoclsiayJdKShzKSxkPU9iamVjdChyWyJrIl0pKGMpLHY9T2JqZWN0KHJbImsiXSkodSksZz1PYmplY3QoclsiayJdKShsKTtpZighZiYmIWQmJiF2JiYhZylyZXR1cm57cGFyYW1zOmV9O3ZhciBtPXt9O2Zvcih2YXIgYiBpbiBuKXt2YXIgeT1uW2JdO09iamVjdChyWyJrIl0pKHkpJiYobVtiXT1PYmplY3QoaVsiYiJdKSh5KSl9dmFyIF89bS5iZWZvcmVTdWNjZXNzLHc9bS5hZnRlclN1Y2Nlc3MseD1tLmJlZm9yZUZhaWwsUz1tLmFmdGVyRmFpbCxrPW0uYmVmb3JlQ2FuY2VsLEM9bS5hZnRlckNhbmNlbCxPPW0uYmVmb3JlQWxsLFQ9bS5hZnRlckFsbCxFPWgrKyxBPSJhcGkuIit0KyIuIitFLGo9ZnVuY3Rpb24obil7aWYobi5lcnJNc2c9bi5lcnJNc2d8fHQrIjpvayIsLTEhPT1uLmVyck1zZy5pbmRleE9mKCI6b2siKSluLmVyck1zZz10KyI6b2siO2Vsc2UgaWYoLTEhPT1uLmVyck1zZy5pbmRleE9mKCI6Y2FuY2VsIikpbi5lcnJNc2c9dCsiOmNhbmNlbCI7ZWxzZSBpZigtMSE9PW4uZXJyTXNnLmluZGV4T2YoIjpmYWlsIikpe3ZhciBpPSIiLG89bi5lcnJNc2cuaW5kZXhPZigiICIpO28+LTEmJihpPW4uZXJyTXNnLnN1YnN0cihvKSksbi5lcnJNc2c9dCsiOmZhaWwiK2l9T2JqZWN0KHJbImsiXSkoTykmJk8obik7dmFyIGE9bi5lcnJNc2c7MD09PWEuaW5kZXhPZih0KyI6b2siKT8oT2JqZWN0KHJbImsiXSkoXykmJl8obixlKSxmJiZzKG4pLE9iamVjdChyWyJrIl0pKHcpJiZ3KG4pKTowPT09YS5pbmRleE9mKHQrIjpjYW5jZWwiKT8obi5lcnJNc2c9bi5lcnJNc2cucmVwbGFjZSh0KyI6Y2FuY2VsIix0KyI6ZmFpbCBjYW5jZWwiKSxkJiZjKG4pLE9iamVjdChyWyJrIl0pKGspJiZrKG4pLHYmJnUobiksT2JqZWN0KHJbImsiXSkoQykmJkMobikpOjA9PT1hLmluZGV4T2YodCsiOmZhaWwiKSYmKE9iamVjdChyWyJrIl0pKHgpJiZ4KG4pLGQmJmMobiksT2JqZWN0KHJbImsiXSkoUykmJlMobikpLGcmJmwobiksT2JqZWN0KHJbImsiXSkoVCkmJlQobil9O3JldHVybiBwW0VdPXtuYW1lOkEsY2FsbGJhY2s6an0se3BhcmFtczplLGNhbGxiYWNrSWQ6RX19ZnVuY3Rpb24gYih0KXt2YXIgZT1hcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXT9hcmd1bWVudHNbMV06e30sbj1hcmd1bWVudHMubGVuZ3RoPjImJnZvaWQgMCE9PWFyZ3VtZW50c1syXT9hcmd1bWVudHNbMl06e30saT1tKHQsZSxuKSxvPWkucGFyYW1zLGE9aS5jYWxsYmFja0lkO3JldHVybiBPYmplY3QoclsibCJdKShvKSYmIWQodCxvLGEpP3twYXJhbXM6byxjYWxsYmFja0lkOiExfTp7cGFyYW1zOm8sY2FsbGJhY2tJZDphfX1mdW5jdGlvbiB5KHQsZSxuKXtpZigibnVtYmVyIj09PXR5cGVvZiB0KXt2YXIgcj1wW3RdO2lmKHIpcmV0dXJuIHIua2VlcEFsaXZlfHxkZWxldGUgcFt0XSxyLmNhbGxiYWNrKGUsbil9cmV0dXJuIGV9ZnVuY3Rpb24gXyh0KXtkZWxldGUgcFt0XX1mdW5jdGlvbiB3KGUpe3JldHVybiBmdW5jdGlvbihuKXt0LmVycm9yKCJBUEkgYCIrZSsiYCBpcyBub3QgeWV0IGltcGxlbWVudGVkIil9fWZ1bmN0aW9uIHgodCxlKXt2YXIgbj1zWyJhIl1bdF07biYmKE9iamVjdChyWyJrIl0pKG4uYmVmb3JlQWxsKSYmKGUuYmVmb3JlQWxsPW4uYmVmb3JlQWxsKSxPYmplY3QoclsiayJdKShuLmJlZm9yZVN1Y2Nlc3MpJiYoZS5iZWZvcmVTdWNjZXNzPW4uYmVmb3JlU3VjY2VzcykpfXZhciBTPVsiZ2V0UHVzaENsaWVudElkIiwib25QdXNoTWVzc2FnZSIsIm9mZlB1c2hNZXNzYWdlIl07ZnVuY3Rpb24gayh0LGUpe3ZhciBuPWFyZ3VtZW50cy5sZW5ndGg+MiYmdm9pZCAwIT09YXJndW1lbnRzWzJdP2FyZ3VtZW50c1syXTp7fTtyZXR1cm4gUy5pbmRleE9mKHQpPi0xfHwhT2JqZWN0KHJbImsiXSkoZSk/ZTooeCh0LG4pLGZ1bmN0aW9uKCl7Zm9yKHZhciBpPWFyZ3VtZW50cy5sZW5ndGgsYT1uZXcgQXJyYXkoaSkscz0wO3M8aTtzKyspYVtzXT1hcmd1bWVudHNbc107aWYoT2JqZWN0KG9bImIiXSkodCkpe2lmKGQodCxhLC0xKSlyZXR1cm4gZS5hcHBseShudWxsLGEpfWVsc2UgaWYoT2JqZWN0KG9bImEiXSkodCkpe2lmKGQodCxhLC0xKSlyZXR1cm4gZSgodC5zdGFydHNXaXRoKCJvZmYiKT9nOnYpKHQsYVswXSkpfWVsc2V7dmFyIGM9e307YS5sZW5ndGgmJihjPWFbMF0pO3ZhciB1LGw9Yih0LGMsbiksZj1sLnBhcmFtcyxoPWwuY2FsbGJhY2tJZDtpZighMSE9PWgpcmV0dXJuIHU9T2JqZWN0KHJbImsiXSkoZik/ZShoKTplKGYsaCksdSYmIU9iamVjdChvWyJjIl0pKHQpJiYodT15KGgsdSksT2JqZWN0KHJbImwiXSkodSkmJih1LmVyck1zZz11LmVyck1zZ3x8dCsiOm9rIikpLHV9fSl9fSkuY2FsbCh0aGlzLG4oIjQxOGIiKVsiZGVmYXVsdCJdKX0sMjI4ODpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO24ucihlKSxmdW5jdGlvbih0KXt2YXIgcj1uKCIzNDBkIik7ZVsiZGVmYXVsdCJdPXtkYXRhOmZ1bmN0aW9uKCl7cmV0dXJue3ByZXZpZXdJbWFnZTp7dmlzaWJsZTohMX19fSxjcmVhdGVkOmZ1bmN0aW9uKCl7dmFyIGU9dGhpczt0Lm9uKCJvblNob3dQcmV2aWV3SW1hZ2UiLChmdW5jdGlvbih0LG4pe2UucHJldmlld0ltYWdlPU9iamVjdC5hc3NpZ24oe30sdCx7dmlzaWJsZTohMH0pLE9iamVjdChyWyJrIl0pKG4pJiZlLiRuZXh0VGljayhuKX0pKSx0Lm9uKCJvbkNsb3NlUHJldmlld0ltYWdlIiwoZnVuY3Rpb24odCl7ZS5fb25QcmV2aWV3Q2xvc2UoKSxPYmplY3QoclsiayJdKSh0KSYmZS4kbmV4dFRpY2sodCl9KSksdC5vbigib25IaWRlUG9wdXAiLChmdW5jdGlvbih0KXtlLnByZXZpZXdJbWFnZS52aXNpYmxlPSExfSkpfSxtZXRob2RzOntfb25QcmV2aWV3Q2xvc2U6ZnVuY3Rpb24odCl7dGhpcy5wcmV2aWV3SW1hZ2UudmlzaWJsZT0hMX19fX0uY2FsbCh0aGlzLG4oIjJjOWYiKSl9LCIyM2ExIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiOyhmdW5jdGlvbih0KXt2YXIgcj1uKCIzNDBkIik7ZVsiYSJdPXttb3VudGVkOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpczt0aGlzLl90b2dnbGVMaXN0ZW5lcnMoInN1YnNjcmliZSIsdGhpcy5pZCksdGhpcy4kd2F0Y2goImlkIiwoZnVuY3Rpb24oZSxuKXt0Ll90b2dnbGVMaXN0ZW5lcnMoInVuc3Vic2NyaWJlIixuLCEwKSx0Ll90b2dnbGVMaXN0ZW5lcnMoInN1YnNjcmliZSIsZSwhMCl9KSl9LGJlZm9yZURlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLl90b2dnbGVMaXN0ZW5lcnMoInVuc3Vic2NyaWJlIix0aGlzLmlkKSx0aGlzLl9jb250ZXh0SWQmJnRoaXMuX3RvZ2dsZUxpc3RlbmVycygidW5zdWJzY3JpYmUiLHRoaXMuX2NvbnRleHRJZCl9LG1ldGhvZHM6e190b2dnbGVMaXN0ZW5lcnM6ZnVuY3Rpb24oZSxuLGkpe2kmJiFufHxPYmplY3QoclsiayJdKSh0aGlzLl9oYW5kbGVTdWJzY3JpYmUpJiZ0W2VdKHRoaXMuJHBhZ2UuaWQrIi0iK3RoaXMuJG9wdGlvbnMubmFtZS5yZXBsYWNlKC9WVW5pKFtBLVpdKS8sIiQxIikudG9Mb3dlckNhc2UoKSsiLSIrbix0aGlzLl9oYW5kbGVTdWJzY3JpYmUpfSxfZ2V0Q29udGV4dEluZm86ZnVuY3Rpb24oKXt2YXIgdD0iY29udGV4dC0iLmNvbmNhdCh0aGlzLl91aWQpO3JldHVybiB0aGlzLl9jb250ZXh0SWR8fCh0aGlzLl90b2dnbGVMaXN0ZW5lcnMoInN1YnNjcmliZSIsdCksdGhpcy5fY29udGV4dElkPXQpLHtuYW1lOnRoaXMuJG9wdGlvbnMubmFtZS5yZXBsYWNlKC9WVW5pKFtBLVpdKS8sIiQxIikudG9Mb3dlckNhc2UoKSxpZDp0LHBhZ2U6dGhpcy4kcGFnZS5pZH19fX19KS5jYWxsKHRoaXMsbigiMzFkMiIpKX0sMjQzMjpmdW5jdGlvbih0LGUsbil7dmFyIHI9eyIuL2FjdGlvbi1zaGVldC5qcyI6IjllMzAiLCIuL2luZGV4LmpzIjoiNDlkZiIsIi4vbW9kYWwuanMiOiI0ZmNiIiwiLi9wb3B1cC5qcyI6ImEyMDIiLCIuL3ByZXZpZXctaW1hZ2UuanMiOiIyMjg4IiwiLi90b2FzdC5qcyI6IjFkMmUiLCIuL3RyYW5zaXRpb24uanMiOiJhNDA5In07ZnVuY3Rpb24gaSh0KXt2YXIgZT1vKHQpO3JldHVybiBuKGUpfWZ1bmN0aW9uIG8odCl7aWYoIW4ubyhyLHQpKXt2YXIgZT1uZXcgRXJyb3IoIkNhbm5vdCBmaW5kIG1vZHVsZSAnIit0KyInIik7dGhyb3cgZS5jb2RlPSJNT0RVTEVfTk9UX0ZPVU5EIixlfXJldHVybiByW3RdfWkua2V5cz1mdW5jdGlvbigpe3JldHVybiBPYmplY3Qua2V5cyhyKX0saS5yZXNvbHZlPW8sdC5leHBvcnRzPWksaS5pZD0iMjQzMiJ9LCIyNGYyIjpmdW5jdGlvbih0LGUsbil7fSwyNjI2OmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7KGZ1bmN0aW9uKHQpe24uZChlLCJiIiwoZnVuY3Rpb24oKXtyZXR1cm4gYX0pKSxuLmQoZSwiYyIsKGZ1bmN0aW9uKCl7cmV0dXJuIHN9KSksbi5kKGUsImEiLChmdW5jdGlvbigpe3JldHVybiBjfSkpO3ZhciByPW4oIjAzNzIiKSxpPW4oIjk3YWYiKSxvPSExO2Z1bmN0aW9uIGEoKXtyZXR1cm4gb31mdW5jdGlvbiBzKCl7dmFyIGU9YXJndW1lbnRzLmxlbmd0aD4wJiZ2b2lkIDAhPT1hcmd1bWVudHNbMF0mJmFyZ3VtZW50c1swXSxuPWFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdJiZhcmd1bWVudHNbMV0scj1bXSxpPWEoKTtpZighaSlyZXR1cm4gbiYmdC5lcnJvcigiYXBwIGlzIG5vdCByZWFkeSIpLFtdO3ZhciBvPWkuJGNoaWxkcmVuWzBdO2lmKG8mJm8uJGNoaWxkcmVuLmxlbmd0aCl7dmFyIHM9by4kY2hpbGRyZW4uZmluZCgoZnVuY3Rpb24odCl7cmV0dXJuIlRhYkJhciI9PT10LiRvcHRpb25zLm5hbWV9KSksYz1vLiRjaGlsZHJlbi5maW5kKChmdW5jdGlvbih0KXtyZXR1cm4iTGF5b3V0Ij09PXQuJG9wdGlvbnMubmFtZX0pKTtjJiYobz1jKSxvLiRjaGlsZHJlbi5mb3JFYWNoKChmdW5jdGlvbih0KXtpZihzIT09dCYmdC4kY2hpbGRyZW4ubGVuZ3RoJiYiUGFnZSI9PT10LiRjaGlsZHJlblswXS4kb3B0aW9ucy5uYW1lJiZ0LiRjaGlsZHJlblswXS4kc2xvdHMucGFnZSl7dmFyIG49dC4kY2hpbGRyZW5bMF0uJGNoaWxkcmVuLmZpbmQoKGZ1bmN0aW9uKHQpe3JldHVybiJQYWdlQm9keSI9PT10LiRvcHRpb25zLm5hbWV9KSksbz1uJiZuLiRjaGlsZHJlbi5maW5kKChmdW5jdGlvbih0KXtyZXR1cm4hIXQuJHBhZ2V9KSk7aWYobyl7dmFyIGE9ITA7IWUmJnMmJm8uJHBhZ2UmJm8uJHBhZ2UubWV0YS5pc1RhYkJhciYmKGkuJHJvdXRlLm1ldGEmJmkuJHJvdXRlLm1ldGEuaXNUYWJCYXI/aS4kcm91dGUucGF0aCE9PW8uJHBhZ2UucGF0aCYmKGE9ITEpOnMuX19wYXRoX18hPT1vLiRwYWdlLnBhdGgmJihhPSExKSksYSYmci5wdXNoKG8pfX19KSl9dmFyIHU9ci5sZW5ndGg7aWYodT4xKXt2YXIgbD1yW3UtMV07bC4kcGFnZS5wYXRoIT09aS4kcm91dGUucGF0aCYmci5zcGxpY2UodS0xLDEpfXJldHVybiByfWZ1bmN0aW9uIGModCxlLG4pe289ZSxvLiR2bT1lLG8uZ2xvYmFsRGF0YT1vLiRvcHRpb25zLmdsb2JhbERhdGF8fHt9LE9iamVjdChyWyJkIl0pKHQsbyksT2JqZWN0KGlbImEiXSkobyxuKX19KS5jYWxsKHRoaXMsbigiNDE4YiIpWyJkZWZhdWx0Il0pfSwiMjdkMiI6ZnVuY3Rpb24odCxlLG4pe30sIjI4M2QiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiYjYyYSIpLGk9bi5uKHIpO2kuYX0sIjI4NmUiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5yKGUpLGZ1bmN0aW9uKHQpe24uZChlLCJnZXRGaWxlSW5mbyIsKGZ1bmN0aW9uKCl7cmV0dXJuIGF9KSk7dmFyIHI9bigiYmRlZSIpLGk9dCxvPWkuaW52b2tlQ2FsbGJhY2tIYW5kbGVyO2Z1bmN0aW9uIGEoKXt2YXIgdD1hcmd1bWVudHMubGVuZ3RoPjAmJnZvaWQgMCE9PWFyZ3VtZW50c1swXT9hcmd1bWVudHNbMF06e30sZT10LmZpbGVQYXRoLG49YXJndW1lbnRzLmxlbmd0aD4xP2FyZ3VtZW50c1sxXTp2b2lkIDA7T2JqZWN0KHJbImYiXSkoZSkudGhlbigoZnVuY3Rpb24odCl7byhuLHtlcnJNc2c6ImdldEZpbGVJbmZvOm9rIixzaXplOnQuc2l6ZX0pfSkpLmNhdGNoKChmdW5jdGlvbih0KXtvKG4se2Vyck1zZzoiZ2V0RmlsZUluZm86ZmFpbCAiK3QubWVzc2FnZX0pfSkpfX0uY2FsbCh0aGlzLG4oIjJjOWYiKSl9LCIyYTc4IjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO24ucihlKTt2YXIgcj1uKCI5ZjYyIiksaT1yWyJhIl0sbz0obigiZDYzOCIpLG4oIjg4NDQiKSksYT1PYmplY3Qob1siYSJdKShpLChmdW5jdGlvbigpe3ZhciB0PXRoaXMsZT10LiRjcmVhdGVFbGVtZW50LG49dC5fc2VsZi5fY3x8ZTtyZXR1cm4gbigidW5pLWxhYmVsIix0Ll9nKHtjbGFzczp7InVuaS1sYWJlbC1wb2ludGVyIjp0LnBvaW50ZXJ9LG9uOntjbGljazp0Ll9vbkNsaWNrfX0sdC4kbGlzdGVuZXJzKSxbdC5fdCgiZGVmYXVsdCIpXSwyKX0pLFtdLCExLG51bGwsbnVsbCxudWxsKTtlWyJkZWZhdWx0Il09YS5leHBvcnRzfSwiMmFjZSI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjsoZnVuY3Rpb24odCl7dmFyIHI9bigiMzQwZCIpO2VbImEiXT17cHJvcHM6e2lkOnt0eXBlOlN0cmluZyxkZWZhdWx0OiIifX0sY3JlYXRlZDpmdW5jdGlvbigpe3ZhciB0PXRoaXM7dGhpcy5fYWRkTGlzdGVuZXJzKHRoaXMuaWQpLHRoaXMuJHdhdGNoKCJpZCIsKGZ1bmN0aW9uKGUsbil7dC5fcmVtb3ZlTGlzdGVuZXJzKG4sITApLHQuX2FkZExpc3RlbmVycyhlLCEwKX0pKX0sYmVmb3JlRGVzdHJveTpmdW5jdGlvbigpe3RoaXMuX3JlbW92ZUxpc3RlbmVycyh0aGlzLmlkKX0sbWV0aG9kczp7X2FkZExpc3RlbmVyczpmdW5jdGlvbihlLG4pe3ZhciBpPXRoaXM7aWYoIW58fGUpe3ZhciBvPXRoaXMuJG9wdGlvbnMubGlzdGVuZXJzO09iamVjdChyWyJsIl0pKG8pJiZPYmplY3Qua2V5cyhvKS5mb3JFYWNoKChmdW5jdGlvbihyKXtuPzAhPT1yLmluZGV4T2YoIkAiKSYmMCE9PXIuaW5kZXhPZigidW5pLSIpJiZ0Lm9uKCJ1bmktIi5jb25jYXQociwiLSIpLmNvbmNhdChpLiRwYWdlLmlkLCItIikuY29uY2F0KGUpLGlbb1tyXV0pOjA9PT1yLmluZGV4T2YoIkAiKT9pLiRvbigidW5pLSIuY29uY2F0KHIuc3Vic3RyKDEpKSxpW29bcl1dKTowPT09ci5pbmRleE9mKCJ1bmktIik/dC5vbihyLGlbb1tyXV0pOmUmJnQub24oInVuaS0iLmNvbmNhdChyLCItIikuY29uY2F0KGkuJHBhZ2UuaWQsIi0iKS5jb25jYXQoZSksaVtvW3JdXSl9KSl9fSxfcmVtb3ZlTGlzdGVuZXJzOmZ1bmN0aW9uKGUsbil7dmFyIGk9dGhpcztpZighbnx8ZSl7dmFyIG89dGhpcy4kb3B0aW9ucy5saXN0ZW5lcnM7T2JqZWN0KHJbImwiXSkobykmJk9iamVjdC5rZXlzKG8pLmZvckVhY2goKGZ1bmN0aW9uKHIpe24/MCE9PXIuaW5kZXhPZigiQCIpJiYwIT09ci5pbmRleE9mKCJ1bmktIikmJnQub2ZmKCJ1bmktIi5jb25jYXQociwiLSIpLmNvbmNhdChpLiRwYWdlLmlkLCItIikuY29uY2F0KGUpLGlbb1tyXV0pOjA9PT1yLmluZGV4T2YoIkAiKT9pLiRvZmYoInVuaS0iLmNvbmNhdChyLnN1YnN0cigxKSksaVtvW3JdXSk6MD09PXIuaW5kZXhPZigidW5pLSIpP3Qub2ZmKHIsaVtvW3JdXSk6ZSYmdC5vZmYoInVuaS0iLmNvbmNhdChyLCItIikuY29uY2F0KGkuJHBhZ2UuaWQsIi0iKS5jb25jYXQoZSksaVtvW3JdXSl9KSl9fX19fSkuY2FsbCh0aGlzLG4oIjMxZDIiKSl9LCIyYmUwIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO24uZChlLCJhIiwoZnVuY3Rpb24oKXtyZXR1cm4gdX0pKTt2YXIgcj1uKCIzNDBkIiksaT1uKCI5MDllIik7ZnVuY3Rpb24gbygpe3RoaXMuJGRpc3BhdGNoKCJGb3JtIiwidW5pLWZvcm0tZ3JvdXAtdXBkYXRlIix7dHlwZToiYWRkIix2bTp0aGlzfSl9ZnVuY3Rpb24gYSgpe3RoaXMuJGRpc3BhdGNoKCJGb3JtIiwidW5pLWZvcm0tZ3JvdXAtdXBkYXRlIix7dHlwZToicmVtb3ZlIix2bTp0aGlzfSl9dmFyIHM9e25hbWU6InVuaTovL2Zvcm0tZmllbGQiLGluaXQ6ZnVuY3Rpb24odCxlKXtlLmNvbnN0cnVjdG9yLm9wdGlvbnMucHJvcHMmJmUuY29uc3RydWN0b3Iub3B0aW9ucy5wcm9wcy5uYW1lJiZlLmNvbnN0cnVjdG9yLm9wdGlvbnMucHJvcHMudmFsdWV8fChlLmNvbnN0cnVjdG9yLm9wdGlvbnMucHJvcHN8fChlLmNvbnN0cnVjdG9yLm9wdGlvbnMucHJvcHM9e30pLGUuY29uc3RydWN0b3Iub3B0aW9ucy5wcm9wcy5uYW1lfHwoZS5jb25zdHJ1Y3Rvci5vcHRpb25zLnByb3BzLm5hbWU9dC5wcm9wcy5uYW1lPXt0eXBlOlN0cmluZ30pLGUuY29uc3RydWN0b3Iub3B0aW9ucy5wcm9wcy52YWx1ZXx8KGUuY29uc3RydWN0b3Iub3B0aW9ucy5wcm9wcy52YWx1ZT10LnByb3BzLnZhbHVlPXt0eXBlOm51bGx9KSksdC5wcm9wc0RhdGF8fCh0LnByb3BzRGF0YT17fSk7dmFyIG49ZS4kdm5vZGU7aWYobiYmbi5kYXRhJiZuLmRhdGEuYXR0cnMmJihPYmplY3QoclsiaSJdKShuLmRhdGEuYXR0cnMsIm5hbWUiKSYmKHQucHJvcHNEYXRhLm5hbWU9bi5kYXRhLmF0dHJzLm5hbWUpLE9iamVjdChyWyJpIl0pKG4uZGF0YS5hdHRycywidmFsdWUiKSYmKHQucHJvcHNEYXRhLnZhbHVlPW4uZGF0YS5hdHRycy52YWx1ZSkpLCFlLmNvbnN0cnVjdG9yLm9wdGlvbnMubWV0aG9kc3x8IWUuY29uc3RydWN0b3Iub3B0aW9ucy5tZXRob2RzLl9nZXRGb3JtRGF0YSl7ZS5jb25zdHJ1Y3Rvci5vcHRpb25zLm1ldGhvZHN8fChlLmNvbnN0cnVjdG9yLm9wdGlvbnMubWV0aG9kcz17fSksdC5tZXRob2RzfHwodC5tZXRob2RzPXt9KTt2YXIgcz17X2dldEZvcm1EYXRhOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubmFtZT97a2V5OnRoaXMubmFtZSx2YWx1ZTp0aGlzLnZhbHVlfTp7fX0sX3Jlc2V0Rm9ybURhdGE6ZnVuY3Rpb24oKXt0aGlzLnZhbHVlPSIifX07T2JqZWN0LmFzc2lnbihlLmNvbnN0cnVjdG9yLm9wdGlvbnMubWV0aG9kcyxzKSxPYmplY3QuYXNzaWduKHQubWV0aG9kcyxzKSxPYmplY3QuYXNzaWduKGUuY29uc3RydWN0b3Iub3B0aW9ucy5tZXRob2RzLGlbImEiXS5tZXRob2RzKSxPYmplY3QuYXNzaWduKHQubWV0aG9kcyxpWyJhIl0ubWV0aG9kcyk7dmFyIGM9dC5jcmVhdGVkO2UuY29uc3RydWN0b3Iub3B0aW9ucy5jcmVhdGVkPXQuY3JlYXRlZD1jP1tdLmNvbmNhdChvLGMpOltvXTt2YXIgdT10LmJlZm9yZURlc3Ryb3k7ZS5jb25zdHJ1Y3Rvci5vcHRpb25zLmJlZm9yZURlc3Ryb3k9dC5iZWZvcmVEZXN0cm95PXU/W10uY29uY2F0KGEsdSk6W2FdfX19O3ZhciBjPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gZSBpbiB0P09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGUse3ZhbHVlOm4sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITB9KTp0W2VdPW4sdH0oe30scy5uYW1lLHMpO2Z1bmN0aW9uIHUodCxlKXt0LmJlaGF2aW9ycy5mb3JFYWNoKChmdW5jdGlvbihuKXt2YXIgcj1jW25dO3ImJnIuaW5pdCh0LGUpfSkpfX0sIjJjOWYiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5yKGUpLG4uZChlLCJvbiIsKGZ1bmN0aW9uKCl7cmV0dXJuIGN9KSksbi5kKGUsIm9mZiIsKGZ1bmN0aW9uKCl7cmV0dXJuIHV9KSksbi5kKGUsIm9uY2UiLChmdW5jdGlvbigpe3JldHVybiBsfSkpLG4uZChlLCJlbWl0IiwoZnVuY3Rpb24oKXtyZXR1cm4gZn0pKSxuLmQoZSwic3Vic2NyaWJlIiwoZnVuY3Rpb24oKXtyZXR1cm4gZH0pKSxuLmQoZSwidW5zdWJzY3JpYmUiLChmdW5jdGlvbigpe3JldHVybiBofSkpLG4uZChlLCJzdWJzY3JpYmVIYW5kbGVyIiwoZnVuY3Rpb24oKXtyZXR1cm4gcH0pKTt2YXIgcj1uKCI5NTFjIiksaT1uLm4ociksbz1uKCIyMjE0Iik7bi5kKGUsImludm9rZUNhbGxiYWNrSGFuZGxlciIsKGZ1bmN0aW9uKCl7cmV0dXJuIG9bImEiXX0pKSxuLmQoZSwicmVtb3ZlQ2FsbGJhY2tIYW5kbGVyIiwoZnVuY3Rpb24oKXtyZXR1cm4gb1siYiJdfSkpO3ZhciBhPW4oIjg5ZWMiKTtuLmQoZSwicHVibGlzaEhhbmRsZXIiLChmdW5jdGlvbigpe3JldHVybiBhWyJiIl19KSk7dmFyIHM9bmV3IGkuYSxjPXMuJG9uLmJpbmQocyksdT1zLiRvZmYuYmluZChzKSxsPXMuJG9uY2UuYmluZChzKSxmPXMuJGVtaXQuYmluZChzKTtmdW5jdGlvbiBkKHQsZSl7cmV0dXJuIGMoInZpZXcuIit0LGUpfWZ1bmN0aW9uIGgodCxlKXtyZXR1cm4gdSgidmlldy4iK3QsZSl9ZnVuY3Rpb24gcCh0LGUsbil7cmV0dXJuIGYoInZpZXcuIit0LGUsbil9fSwiMmQxMCI6ZnVuY3Rpb24odCxlLG4pe30sIjJkYWYiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5yKGUpLGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIHIoKXtyZXR1cm4gd2luZG93LmxvY2F0aW9uLnByb3RvY29sKyIvLyIrd2luZG93LmxvY2F0aW9uLmhvc3R9ZnVuY3Rpb24gaShlLG4pe3ZhciBpPWUuc3JjLG89dCxhPW8uaW52b2tlQ2FsbGJhY2tIYW5kbGVyLHM9bmV3IEltYWdlLGM9aTtzLm9ubG9hZD1mdW5jdGlvbigpe2Eobix7ZXJyTXNnOiJnZXRJbWFnZUluZm86b2siLHdpZHRoOnMubmF0dXJhbFdpZHRoLGhlaWdodDpzLm5hdHVyYWxIZWlnaHQscGF0aDowPT09Yy5pbmRleE9mKCIvIik/cigpK2M6Y30pfSxzLm9uZXJyb3I9ZnVuY3Rpb24odCl7YShuLHtlcnJNc2c6ImdldEltYWdlSW5mbzpmYWlsIn0pfSxzLnNyYz1pfW4uZChlLCJnZXRJbWFnZUluZm8iLChmdW5jdGlvbigpe3JldHVybiBpfSkpfS5jYWxsKHRoaXMsbigiMmM5ZiIpKX0sIjJlYjEiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiMGM2MSIpLGk9bi5uKHIpO2kuYX0sIjJmNWMiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5yKGUpLG4uZChlLCJURU1QX1BBVEgiLChmdW5jdGlvbigpe3JldHVybiByfSkpO3ZhciByPSIifSwiMzFkMiI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtuLnIoZSksbi5kKGUsIm9uIiwoZnVuY3Rpb24oKXtyZXR1cm4gcH0pKSxuLmQoZSwib2ZmIiwoZnVuY3Rpb24oKXtyZXR1cm4gdn0pKSxuLmQoZSwib25jZSIsKGZ1bmN0aW9uKCl7cmV0dXJuIGd9KSksbi5kKGUsImVtaXQiLChmdW5jdGlvbigpe3JldHVybiBtfSkpLG4uZChlLCJzdWJzY3JpYmUiLChmdW5jdGlvbigpe3JldHVybiBifSkpLG4uZChlLCJ1bnN1YnNjcmliZSIsKGZ1bmN0aW9uKCl7cmV0dXJuIHl9KSksbi5kKGUsInN1YnNjcmliZUhhbmRsZXIiLChmdW5jdGlvbigpe3JldHVybiBffSkpLG4uZChlLCJwdWJsaXNoSGFuZGxlciIsKGZ1bmN0aW9uKCl7cmV0dXJuIGRbImEiXX0pKTt2YXIgcj1uKCI5NTFjIiksaT1uLm4ocik7dmFyIG89bigiNDljMiIpLGE9bigiZDY2MSIpLHM9bigiYzA4ZiIpLGM9e3NldFBhZ2VNZXRhOmZ1bmN0aW9uKHQpe3ZhciBlPXQucGFnZVN0eWxlLG49dC5yb290Rm9udFNpemUscj1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJ1bmktcGFnZS1ib2R5Iil8fGRvY3VtZW50LmJvZHk7ci5zZXRBdHRyaWJ1dGUoInN0eWxlIixlKSxuJiZkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuZm9udFNpemUhPT1uJiYoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLmZvbnRTaXplPW4pfSxyZXF1ZXN0Q29tcG9uZW50SW5mbzpvWyJhIl0scmVxdWVzdENvbXBvbmVudE9ic2VydmVyOmFbImIiXSxkZXN0cm95Q29tcG9uZW50T2JzZXJ2ZXI6YVsiYSJdLHJlcXVlc3RNZWRpYVF1ZXJ5T2JzZXJ2ZXI6c1siYiJdLGRlc3Ryb3lNZWRpYVF1ZXJ5T2JzZXJ2ZXI6c1siYSJdfSx1PW4oIjQ5M2YiKSxsPW4oImZhOTUiKSxmPW4oIjgzZWUiKTt2YXIgZD1uKCJhODA1IiksaD1uZXcgaS5hLHA9aC4kb24uYmluZChoKSx2PWguJG9mZi5iaW5kKGgpLGc9aC4kb25jZS5iaW5kKGgpLG09aC4kZW1pdC5iaW5kKGgpO2Z1bmN0aW9uIGIodCxlKXtyZXR1cm4gcCgic2VydmljZS4iK3QsZSl9ZnVuY3Rpb24geSh0LGUpe3JldHVybiB2KCJzZXJ2aWNlLiIrdCxlKX1mdW5jdGlvbiBfKHQsZSxuKXttKCJzZXJ2aWNlLiIrdCxlLG4pfShmdW5jdGlvbih0KXtPYmplY3Qua2V5cyhjKS5mb3JFYWNoKChmdW5jdGlvbihlKXt0KGUsY1tlXSl9KSksdCgicGFnZVNjcm9sbFRvIix1WyJjIl0pLHQoImxvYWRGb250RmFjZSIsbFsiYSJdKSxPYmplY3QoZlsiYSJdKSh0KX0pKGIpfSwiMzJhMCI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtuLnIoZSksbi5kKGUsImNvbm5lY3RTb2NrZXQiLChmdW5jdGlvbigpe3JldHVybiBsfSkpLG4uZChlLCJzZW5kU29ja2V0TWVzc2FnZSIsKGZ1bmN0aW9uKCl7cmV0dXJuIGZ9KSksbi5kKGUsImNsb3NlU29ja2V0IiwoZnVuY3Rpb24oKXtyZXR1cm4gZH0pKSxuLmQoZSwib25Tb2NrZXRPcGVuIiwoZnVuY3Rpb24oKXtyZXR1cm4gaH0pKSxuLmQoZSwib25Tb2NrZXRFcnJvciIsKGZ1bmN0aW9uKCl7cmV0dXJuIHB9KSksbi5kKGUsIm9uU29ja2V0TWVzc2FnZSIsKGZ1bmN0aW9uKCl7cmV0dXJuIHZ9KSksbi5kKGUsIm9uU29ja2V0Q2xvc2UiLChmdW5jdGlvbigpe3JldHVybiBnfSkpO3ZhciByPW4oIjkxMzEiKSxpPW4oIjc0NWEiKTtmdW5jdGlvbiBvKHQsZSl7Zm9yKHZhciBuPTA7bjxlLmxlbmd0aDtuKyspe3ZhciByPWVbbl07ci5lbnVtZXJhYmxlPXIuZW51bWVyYWJsZXx8ITEsci5jb25maWd1cmFibGU9ITAsInZhbHVlImluIHImJihyLndyaXRhYmxlPSEwKSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCxyLmtleSxyKX19dmFyIGE9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KGUpeyhmdW5jdGlvbih0LGUpe2lmKCEodCBpbnN0YW5jZW9mIGUpKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvbiIpfSkodGhpcyx0KSx0aGlzLmlkPWUsdGhpcy5fY2FsbGJhY2tzPXtvcGVuOltdLGNsb3NlOltdLGVycm9yOltdLG1lc3NhZ2U6W119LHRoaXMuQ0xPU0VEPTMsdGhpcy5DTE9TSU5HPTIsdGhpcy5DT05ORUNUSU5HPTAsdGhpcy5PUEVOPTEsdGhpcy5yZWFkeVN0YXRlPXRoaXMuQ0xPU0VEfXJldHVybiBmdW5jdGlvbih0LGUsbil7ZSYmbyh0LnByb3RvdHlwZSxlKSxuJiZvKHQsbil9KHQsW3trZXk6InNlbmQiLHZhbHVlOmZ1bmN0aW9uKHQpe3RoaXMucmVhZHlTdGF0ZSE9PXRoaXMuT1BFTiYmdGhpcy5fY2FsbGJhY2sodCwic2VuZFNvY2tldE1lc3NhZ2U6ZmFpbCBXZWJTb2NrZXQgaXMgbm90IGNvbm5lY3RlZCIpO3ZhciBlPU9iamVjdChpWyJjIl0pKCJvcGVyYXRlU29ja2V0VGFzayIsT2JqZWN0LmFzc2lnbih7fSx0LHtvcGVyYXRpb25UeXBlOiJzZW5kIixzb2NrZXRUYXNrSWQ6dGhpcy5pZH0pKSxuPWUuZXJyTXNnO3RoaXMuX2NhbGxiYWNrKHQsbi5yZXBsYWNlKCJvcGVyYXRlU29ja2V0VGFzayIsInNlbmRTb2NrZXRNZXNzYWdlIikpfX0se2tleToiY2xvc2UiLHZhbHVlOmZ1bmN0aW9uKHQpe3RoaXMucmVhZHlTdGF0ZT10aGlzLkNMT1NJTkc7dmFyIGU9T2JqZWN0KGlbImMiXSkoIm9wZXJhdGVTb2NrZXRUYXNrIixPYmplY3QuYXNzaWduKHt9LHQse29wZXJhdGlvblR5cGU6ImNsb3NlIixzb2NrZXRUYXNrSWQ6dGhpcy5pZH0pKSxuPWUuZXJyTXNnO3RoaXMuX2NhbGxiYWNrKHQsbi5yZXBsYWNlKCJvcGVyYXRlU29ja2V0VGFzayIsImNsb3NlU29ja2V0IikpfX0se2tleToib25PcGVuIix2YWx1ZTpmdW5jdGlvbih0KXt0aGlzLl9jYWxsYmFja3Mub3Blbi5wdXNoKHQpfX0se2tleToib25DbG9zZSIsdmFsdWU6ZnVuY3Rpb24odCl7dGhpcy5fY2FsbGJhY2tzLmNsb3NlLnB1c2godCl9fSx7a2V5OiJvbkVycm9yIix2YWx1ZTpmdW5jdGlvbih0KXt0aGlzLl9jYWxsYmFja3MuZXJyb3IucHVzaCh0KX19LHtrZXk6Im9uTWVzc2FnZSIsdmFsdWU6ZnVuY3Rpb24odCl7dGhpcy5fY2FsbGJhY2tzLm1lc3NhZ2UucHVzaCh0KX19LHtrZXk6Il9jYWxsYmFjayIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgdD1hcmd1bWVudHMubGVuZ3RoPjAmJnZvaWQgMCE9PWFyZ3VtZW50c1swXT9hcmd1bWVudHNbMF06e30sZT10LnN1Y2Nlc3Msbj10LmZhaWwscj10LmNvbXBsZXRlLGk9YXJndW1lbnRzLmxlbmd0aD4xP2FyZ3VtZW50c1sxXTp2b2lkIDAsbz17ZXJyTXNnOml9Oy86b2skLy50ZXN0KGkpPyJmdW5jdGlvbiI9PT10eXBlb2YgZSYmZShvKToiZnVuY3Rpb24iPT09dHlwZW9mIG4mJm4obyksImZ1bmN0aW9uIj09PXR5cGVvZiByJiZyKG8pfX1dKSx0fSgpLHM9T2JqZWN0LmNyZWF0ZShudWxsKSxjPVtdLHU9T2JqZWN0LmNyZWF0ZShudWxsKTtmdW5jdGlvbiBsKHQsZSl7dmFyIG49T2JqZWN0KGlbImMiXSkoImNyZWF0ZVNvY2tldFRhc2siLHQpLG89bi5zb2NrZXRUYXNrSWQsdT1uZXcgYShvKTtyZXR1cm4gc1tvXT11LGMucHVzaCh1KSxzZXRUaW1lb3V0KChmdW5jdGlvbigpe09iamVjdChyWyJhIl0pKGUse2Vyck1zZzoiY29ubmVjdFNvY2tldDpvayJ9KX0pLDApLHV9ZnVuY3Rpb24gZih0LGUpe3ZhciBuPWNbMF07aWYobiYmbi5yZWFkeVN0YXRlPT09bi5PUEVOKXJldHVybiBPYmplY3QoaVsiYyJdKSgib3BlcmF0ZVNvY2tldFRhc2siLE9iamVjdC5hc3NpZ24oe30sdCx7b3BlcmF0aW9uVHlwZToic2VuZCIsc29ja2V0VGFza0lkOm4uaWR9KSk7T2JqZWN0KHJbImEiXSkoZSx7ZXJyTXNnOiJzZW5kU29ja2V0TWVzc2FnZTpmYWlsIFdlYlNvY2tldCBpcyBub3QgY29ubmVjdGVkIn0pfWZ1bmN0aW9uIGQodCxlKXt2YXIgbj1jWzBdO2lmKG4pcmV0dXJuIG4ucmVhZHlTdGF0ZT1uLkNMT1NJTkcsT2JqZWN0KGlbImMiXSkoIm9wZXJhdGVTb2NrZXRUYXNrIixPYmplY3QuYXNzaWduKHt9LHQse29wZXJhdGlvblR5cGU6ImNsb3NlIixzb2NrZXRUYXNrSWQ6bi5pZH0pKTtPYmplY3QoclsiYSJdKShlLHtlcnJNc2c6ImNsb3NlU29ja2V0OmZhaWwgV2ViU29ja2V0IGlzIG5vdCBjb25uZWN0ZWQifSl9ZnVuY3Rpb24gaCh0KXt1Lm9wZW49dH1mdW5jdGlvbiBwKHQpe3UuZXJyb3I9dH1mdW5jdGlvbiB2KHQpe3UubWVzc2FnZT10fWZ1bmN0aW9uIGcodCl7dS5jbG9zZT10fU9iamVjdChpWyJkIl0pKCJvblNvY2tldFRhc2tTdGF0ZUNoYW5nZSIsKGZ1bmN0aW9uKHQpe3ZhciBlPXQuc29ja2V0VGFza0lkLG49dC5zdGF0ZSxpPXQuZGF0YSxvPXQuY29kZSxhPXQucmVhc29uLGw9KHQuZXJyTXNnLHNbZV0pO2lmKGwpe3ZhciBmPSJtZXNzYWdlIj09PW4/e2RhdGE6aX06ImNsb3NlIj09PW4/e2NvZGU6byxyZWFzb246YX06e307aWYoIm9wZW4iPT09biYmKGwucmVhZHlTdGF0ZT1sLk9QRU4pLGw9PT1jWzBdJiZ1W25dJiZPYmplY3QoclsiYSJdKSh1W25dLGYpLCJlcnJvciI9PT1ufHwiY2xvc2UiPT09bil7bC5yZWFkeVN0YXRlPWwuQ0xPU0VELGRlbGV0ZSBzW2VdO3ZhciBkPWMuaW5kZXhPZihsKTtkPj0wJiZjLnNwbGljZShkLDEpfWwuX2NhbGxiYWNrc1tuXS5mb3JFYWNoKChmdW5jdGlvbih0KXsiZnVuY3Rpb24iPT09dHlwZW9mIHQmJnQoZil9KSl9fSkpfSwzMzEzOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5yKGUpLGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIHIoZSl7dmFyIG49Z2V0Q3VycmVudFBhZ2VzKCk7cmV0dXJuIG4ubGVuZ3RoJiZ0LnB1Ymxpc2hIYW5kbGVyKCJwYWdlU2Nyb2xsVG8iLGUsbltuLmxlbmd0aC0xXS4kcGFnZS5pZCkse319bi5kKGUsInBhZ2VTY3JvbGxUbyIsKGZ1bmN0aW9uKCl7cmV0dXJuIHJ9KSl9LmNhbGwodGhpcyxuKCIyYzlmIikpfSwiMzNiMiI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiByKHQpe3ZhciBlPXQuc2VydmljZTtyZXR1cm57c2VydmljZTplLHByb3ZpZGVyOltdfX1uLnIoZSksbi5kKGUsImdldFByb3ZpZGVyIiwoZnVuY3Rpb24oKXtyZXR1cm4gcn0pKX0sIjMzZTIiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5yKGUpO3ZhciByPW4oIjQ0ZjEiKSxpPW4ubihyKSxvPW4oIjkwOWUiKTtmdW5jdGlvbiBhKHQsZSxuLHIsaSxvLGEpe3RyeXt2YXIgcz10W29dKGEpLGM9cy52YWx1ZX1jYXRjaCh1KXtyZXR1cm4gdm9pZCBuKHUpfXMuZG9uZT9lKGMpOlByb21pc2UucmVzb2x2ZShjKS50aGVuKHIsaSl9ZnVuY3Rpb24gcyh0LGUpe2lmKCEodCBpbnN0YW5jZW9mIGUpKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvbiIpfWZ1bmN0aW9uIGModCxlKXtmb3IodmFyIG49MDtuPGUubGVuZ3RoO24rKyl7dmFyIHI9ZVtuXTtyLmVudW1lcmFibGU9ci5lbnVtZXJhYmxlfHwhMSxyLmNvbmZpZ3VyYWJsZT0hMCwidmFsdWUiaW4gciYmKHIud3JpdGFibGU9ITApLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LHIua2V5LHIpfX1mdW5jdGlvbiB1KHQsZSxuKXtyZXR1cm4gZSYmYyh0LnByb3RvdHlwZSxlKSxuJiZjKHQsbiksdH1mdW5jdGlvbiBsKHQsZSxuKXtyZXR1cm4gZSBpbiB0P09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGUse3ZhbHVlOm4sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITB9KTp0W2VdPW4sdH12YXIgZj1mdW5jdGlvbigpe2Z1bmN0aW9uIHQoKXtzKHRoaXMsdCksdGhpcy5faW5zdGFuY2U9bnVsbCx0aGlzLl9hZENvbmZpZz1udWxsLHRoaXMuX2lzTG9hZGluZz0hMSx0aGlzLl9sYXN0RXJyb3I9bnVsbCx0aGlzLl9jYWxsYmFja3M9W119cmV0dXJuIHUodCxudWxsLFt7a2V5OiJpbnN0YW5jZSIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG51bGw9PXRoaXMuX2luc3RhbmNlJiYodGhpcy5faW5zdGFuY2U9bmV3IHQsdGhpcy5faW5zdGFuY2UuX2luaXQoKSksdGhpcy5faW5zdGFuY2V9fV0pLHUodCxbe2tleToiX2luaXQiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fZ2V0Q29uZmlnKCk7bnVsbCE9PXQmJnQubGFzdCYmKHRoaXMuaXNFeHBpcmVkfHwodGhpcy5fYWRDb25maWc9dC5kYXRhKSl9fSx7a2V5OiJnZXQiLHZhbHVlOmZ1bmN0aW9uKGUsbixyKXtpZih0LklDKyssbnVsbCE9dGhpcy5fYWRDb25maWcpcmV0dXJuIHRoaXMuX2RvQ2FsbGJhY2soZSxuLHIpLHZvaWQodGhpcy5pc0V4cGlyZWQmJnRoaXMuX2xvYWRBZENvbmZpZyhlKSk7dGhpcy5fY2FsbGJhY2tzLnB1c2goe2FkcGlkOmUsc3VjY2VzczpuLGZhaWw6cn0pLHRoaXMuX2xvYWRBZENvbmZpZyhlKX19LHtrZXk6Il9kb0NhbGxiYWNrIix2YWx1ZTpmdW5jdGlvbihlLG4scil7dC5JUysrO3ZhciBpPXRoaXMuX2FkQ29uZmlnLG89aS5hLGE9aS5iO29bZV0/bihhLG9bZV0pOnIodGhpcy5FUlJPUl9JTlZBTElEX0FEUElEKX19LHtrZXk6Il9sb2FkQWRDb25maWciLHZhbHVlOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXM7ITAhPT10aGlzLl9pc0xvYWRpbmcmJih0aGlzLl9pc0xvYWRpbmc9ITAsdW5pLnJlcXVlc3Qoe3VybDp0aGlzLlVSTCxtZXRob2Q6IkdFVCIsdGltZW91dDo4ZTMsZGF0YTp7ZDpsb2NhdGlvbi5ob3N0bmFtZSxhOnR9LGRhdGFUeXBlOiJqc29uIixzdWNjZXNzOmZ1bmN0aW9uKHQpe3ZhciBuPXQuZGF0YTtpZigwPT09bi5yZXQpe3ZhciByPW4uZGF0YTtlLl9hZENvbmZpZz1yLGUuX3NldENvbmZpZyhyKSxlLl9jYWxsYmFja3MuZm9yRWFjaCgoZnVuY3Rpb24odCl7dmFyIG49dC5hZHBpZCxyPXQuc3VjY2VzcyxpPXQuZmFpbDtlLl9kb0NhbGxiYWNrKG4scixpKX0pKX1lbHNlIGUuX2NhbGxiYWNrcy5mb3JFYWNoKChmdW5jdGlvbih0KXt0LmZhaWwoe2VyckNvZGU6bi5yZXQsZXJyTXNnOm4ubXNnfSl9KSk7ZS5fY2FsbGJhY2tzPVtdfSxmYWlsOmZ1bmN0aW9uKHQpe2UuX2NhbGxiYWNrcy5mb3JFYWNoKChmdW5jdGlvbihlKXtlLmZhaWwodCl9KSksZS5fY2FsbGJhY2tzPVtdfSxjb21wbGV0ZTpmdW5jdGlvbih0KXtlLl9pc0xvYWRpbmc9ITF9fSkpfX0se2tleToiX2dldENvbmZpZyIsdmFsdWU6ZnVuY3Rpb24oKXtpZighbmF2aWdhdG9yLmNvb2tpZUVuYWJsZWR8fCF3aW5kb3cubG9jYWxTdG9yYWdlKXJldHVybiBudWxsO3ZhciB0PWxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMuS0VZKTtyZXR1cm4gdD9KU09OLnBhcnNlKHQpOm51bGx9fSx7a2V5OiJfc2V0Q29uZmlnIix2YWx1ZTpmdW5jdGlvbih0KXtpZighbmF2aWdhdG9yLmNvb2tpZUVuYWJsZWR8fCF3aW5kb3cubG9jYWxTdG9yYWdlKXJldHVybiBudWxsO2xvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMuS0VZLEpTT04uc3RyaW5naWZ5KHtsYXN0OkRhdGUubm93KCksZGF0YTp0fSkpfX0se2tleToiYWRDb25maWciLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9hZENvbmZpZ319LHtrZXk6ImlzRXhwaXJlZCIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG51bGw9PXRoaXMuX2FkQ29uZmlnfHxNYXRoLmFicyhEYXRlLm5vdygpLXRoaXMuX2FkQ29uZmlnLmxhc3QpPnRoaXMuQ0FDSEVfVElNRX19XSksdH0oKTtsKGYsIklDIiwwKSxsKGYsIklTIiwwKSxPYmplY3QuYXNzaWduKGYucHJvdG90eXBlLHtVUkw6Imh0dHBzOi8vaGFjMS5kY2xvdWQubmV0LmNuL2FoNSIsS0VZOiJ1bmlfYXBwX2FkX2NvbmZpZyIsQ0FDSEVfVElNRTo2ZTUsRVJST1JfSU5WQUxJRF9BRFBJRDp7Ii01MDAyIjoiaW52YWxpZCBhZHBpZCJ9fSk7dmFyIGQ9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7cyh0aGlzLHQpLHRoaXMuX2luc3RhbmNlPW51bGwsdGhpcy5fYWRDb25maWc9bnVsbCx0aGlzLl9ndWlkPW51bGx9cmV0dXJuIHUodCxudWxsLFt7a2V5OiJpbnN0YW5jZSIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG51bGw9PXRoaXMuX2luc3RhbmNlJiYodGhpcy5faW5zdGFuY2U9bmV3IHQsdGhpcy5faW5zdGFuY2UuX2luaXQoKSksdGhpcy5faW5zdGFuY2V9fV0pLHUodCxbe2tleToiX2luaXQiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fZ2V0Q29uZmlnKCk7bnVsbCE9PXQmJnQuZ3VpZD90aGlzLl9ndWlkPXQuZ3VpZDoodGhpcy5fZ3VpZD10aGlzLl9uZXdHVUlEKCksdGhpcy5fc2V0Q29uZmlnKHRoaXMuX2d1aWQpKX19LHtrZXk6ImdldCIsdmFsdWU6ZnVuY3Rpb24odCl7dGhpcy5fcHJvY2VzcyhPYmplY3QuYXNzaWduKHQse2Q6bG9jYXRpb24uaG9zdG5hbWUsaTp0aGlzLl9ndWlkfSkpfX0se2tleToiX3Byb2Nlc3MiLHZhbHVlOmZ1bmN0aW9uKHQpe3VuaS5yZXF1ZXN0KHt1cmw6dGhpcy5VUkwsbWV0aG9kOiJHRVQiLGRhdGE6dCxkYXRhVHlwZToianNvbiIsc3VjY2VzczpmdW5jdGlvbigpe319KX19LHtrZXk6Il9uZXdHVUlEIix2YWx1ZTpmdW5jdGlvbigpe2Zvcih2YXIgdD0iIixlPSJ4eHh4eHh4eC14eHh4LTR4eHgteHh4eC14eHh4eHh4eHh4eHgiLG49MDtuPGUubGVuZ3RoO24rKyl0Kz0ieCI9PT1lW25dPygxNipNYXRoLnJhbmRvbSgpfDApLnRvU3RyaW5nKDE2KTplW25dO3JldHVybiB0LnRvVXBwZXJDYXNlKCl9fSx7a2V5OiJfZ2V0Q29uZmlnIix2YWx1ZTpmdW5jdGlvbigpe2lmKCFuYXZpZ2F0b3IuY29va2llRW5hYmxlZHx8IXdpbmRvdy5sb2NhbFN0b3JhZ2UpcmV0dXJuIG51bGw7dmFyIHQ9bG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5LRVkpO3JldHVybiB0P0pTT04ucGFyc2UodCk6bnVsbH19LHtrZXk6Il9zZXRDb25maWciLHZhbHVlOmZ1bmN0aW9uKHQpe2lmKCFuYXZpZ2F0b3IuY29va2llRW5hYmxlZHx8IXdpbmRvdy5sb2NhbFN0b3JhZ2UpcmV0dXJuIG51bGw7bG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5LRVksSlNPTi5zdHJpbmdpZnkoe2xhc3Q6RGF0ZS5ub3coKSxndWlkOnR9KSl9fV0pLHR9KCk7T2JqZWN0LmFzc2lnbihkLnByb3RvdHlwZSx7VVJMOiJodHRwczovL2hhczEuZGNsb3VkLm5ldC5jbi9haGwiLEtFWToidW5pX2FwcF9hZF9ndWlkIn0pO3ZhciBoPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe3ModGhpcyx0KSx0aGlzLl9pbnN0YW5jZT1udWxsLHRoaXMuX2NhbGxiYWNrPXt9LHRoaXMuX2NhY2hlPXt9fXJldHVybiB1KHQsbnVsbCxbe2tleToiaW5zdGFuY2UiLGdldDpmdW5jdGlvbigpe3JldHVybiBudWxsPT10aGlzLl9pbnN0YW5jZSYmKHRoaXMuX2luc3RhbmNlPW5ldyB0KSx0aGlzLl9pbnN0YW5jZX19XSksdSh0LFt7a2V5OiJsb2FkIix2YWx1ZTpmdW5jdGlvbih0LGUsbixyKXt2b2lkIDA9PT10aGlzLl9jYWNoZVt0XSYmdGhpcy5sb2FkU2NyaXB0KHQsZSksMT09PXRoaXMuX2NhY2hlW3RdP24oKToodGhpcy5fY2FsbGJhY2tbdF18fCh0aGlzLl9jYWxsYmFja1t0XT1bXSksdGhpcy5fY2FsbGJhY2tbdF0ucHVzaCh7c3VjY2VzczpuLGZhaWw6cn0pKX19LHtrZXk6ImxvYWRTY3JpcHQiLHZhbHVlOmZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpczt0aGlzLl9jYWNoZVt0XT0wO3ZhciByPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpO2Zvcih2YXIgaSBpbiByLnNldEF0dHJpYnV0ZSgiaWQiLCJ1bmlhZF9wcm92aWRlciIrdCksZSlyLnNldEF0dHJpYnV0ZShpLGVbaV0pO3Iub25sb2FkPWZ1bmN0aW9uKCl7bi5fY2FjaGVbdF09MSxuLl9jYWxsYmFja1t0XS5mb3JFYWNoKChmdW5jdGlvbih0KXt2YXIgZT10LnN1Y2Nlc3M7ZSgpfSkpLG4uX2NhbGxiYWNrW3RdLmxlbmd0aD0wfSxyLm9uZXJyb3I9ZnVuY3Rpb24oZSl7bi5fY2FjaGVbdF09dm9pZCAwLG4uX2NhbGxiYWNrW3RdLmZvckVhY2goKGZ1bmN0aW9uKHQpe3ZhciBuPXQuZmFpbDtuKGUpfSkpLG4uX2NhbGxiYWNrW3RdLmxlbmd0aD0wfSxkb2N1bWVudC5ib2R5LmFwcGVuZChyKX19XSksdH0oKSxwPXtuYW1lOiJBZCIsbWl4aW5zOltvWyJnIl1dLHByb3BzOnthZHBpZDp7dHlwZTpbTnVtYmVyLFN0cmluZ10sZGVmYXVsdDoiIn0sYWRwaWRXaWRlc2NyZWVuOnt0eXBlOltOdW1iZXIsU3RyaW5nXSxkZWZhdWx0OiIifSx3aWRlc2NyZWVuV2lkdGg6e3R5cGU6W051bWJlcixTdHJpbmddLGRlZmF1bHQ6NzUwfX0sd2F0Y2g6e2FkcGlkOmZ1bmN0aW9uKHQpe3QmJnRoaXMuX2xvYWREYXRhKHQpfSxhZHBpZFdpZGVzY3JlZW46ZnVuY3Rpb24odCl7dCYmdGhpcy5fbG9hZERhdGEodCl9fSxtb3VudGVkOmZ1bmN0aW9uKCl7dGhpcy5fcGQ9e30sdGhpcy5fcGw9W10sdGhpcy5fcGk9MCx0aGlzLl9jaGVja1RpbWVyPW51bGwsdGhpcy5fY2hlY2tUaW1lckNvdW50PTAsdGhpcy5faXNXaWRlc2NyZWVuPXRoaXMuJHJlZnMuY29udGFpbmVyLmNsaWVudFdpZHRoPnBhcnNlSW50KHRoaXMud2lkZXNjcmVlbldpZHRoKSx0aGlzLl9sb2FkRGF0YSgpLGQuaW5zdGFuY2UuZ2V0KHtoOl9fdW5pQ29uZmlnLmNvbXBpbGVyVmVyc2lvbixhOnRoaXMuYWRwaWQsYXQ6LTMsaWM6Zi5JQyxpczpmLklTfSl9LGJlZm9yZURlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLl9jbGVhckNoZWNrVGltZXIoKSx0aGlzLiRyZWZzLmNvbnRhaW5lci5pbm5lckhUTUw9IiIsdGhpcy5fc2hhbmh1QWQmJmRlbGV0ZSB0aGlzLl9zaGFuaHVBZH0sbWV0aG9kczp7X29uaGFuZGxlOmZ1bmN0aW9uKHQpe3RoaXMuX3JlcG9ydCg0MSl9LF9yZXNldDpmdW5jdGlvbigpe3RoaXMuX3BkPXt9LHRoaXMuX3BsPVtdLHRoaXMuX3BpPTAsdGhpcy5fY2xlYXJDaGVja1RpbWVyKCksdGhpcy4kcmVmcy5jb250YWluZXIuaW5uZXJIVE1MPSIiLHRoaXMuX2lzUmVhZHk9ITF9LF9sb2FkRGF0YTpmdW5jdGlvbih0KXt2YXIgZT10aGlzO3RoaXMuX3Jlc2V0KCk7dmFyIG49dHx8dGhpcy5hZHBpZCxyPXRoaXMuX2lzV2lkZXNjcmVlbiYmdGhpcy5hZHBpZFdpZGVzY3JlZW58fG47Zi5pbnN0YW5jZS5nZXQociwoZnVuY3Rpb24odCxuKXtlLl9hYj10LGUuX3BsPW4sZS5fcmVuZGVyQWQoKX0pLChmdW5jdGlvbih0KXtlLiR0cmlnZ2VyKCJlcnJvciIse30sdCl9KSl9LF9yZW5kZXJBZDpmdW5jdGlvbigpe3ZhciB0PXRoaXM7aWYoISh0aGlzLl9waT50aGlzLl9wbC5sZW5ndGgtMSkpe3ZhciBlPXRoaXMuX3BsW3RoaXMuX3BpXSxuPXRoaXMuX2FiW2UuYTFdW2UudF0scj1uLnNjcmlwdDt0aGlzLl9jdXJyZW50Q2hhbm5lbD1lLmExO3ZhciBpPXRoaXMuX3JhbmRvbUlkKCksbz10aGlzLl9jcmVhdGVWaWV3KGkpOyIxMDAyMyI9PT1lLmExP2guaW5zdGFuY2UubG9hZChlLnQsciwoZnVuY3Rpb24oKXt0Ll9yZW5kZXJTaGFuaHUoaSxlKX0pLChmdW5jdGlvbihlKXt0LiR0cmlnZ2VyKCJlcnJvciIse30sZSl9KSk6IjEwMDEwIj09PWUuYTE/aC5pbnN0YW5jZS5sb2FkKGUudCxyLChmdW5jdGlvbigpe3QuX3JlbmRlckJhaWR1KGksZS5hMil9KSwoZnVuY3Rpb24oZSl7dC4kdHJpZ2dlcigiZXJyb3IiLHt9LGUpfSkpOiIxMDAxMiI9PT1lLmExP3RoaXMuX3JlbmRlclNjcmlwdChvLHIpOmguaW5zdGFuY2UubG9hZChlLnQsciwoZnVuY3Rpb24oKXt0Ll9yZW5kZXJBZFZpZXcoaSxyLnMsZSl9KSwoZnVuY3Rpb24oZSl7dC4kdHJpZ2dlcigiZXJyb3IiLHt9LGUpfSkpfX0sX2NyZWF0ZVZpZXc6ZnVuY3Rpb24odCl7dmFyIGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIGUuc2V0QXR0cmlidXRlKCJpZCIsdCksZS5zZXRBdHRyaWJ1dGUoImNsYXNzIix0KSx0aGlzLiRyZWZzLmNvbnRhaW5lci5pbm5lckhUTUw9IiIsdGhpcy4kcmVmcy5jb250YWluZXIuYXBwZW5kKGUpLGV9LF9yZW5kZXJTY3JpcHQ6ZnVuY3Rpb24odCxlKXt2YXIgbj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtmb3IodmFyIHIgaW4gZSluLnNldEF0dHJpYnV0ZShyLGVbcl0pO3QuYXBwZW5kQ2hpbGQobiksdGhpcy5fc3RhcnRDaGVja1RpbWVyKCl9LF9yZW5kZXJCYWlkdTpmdW5jdGlvbih0LGUpeyh3aW5kb3cuc2xvdGJ5ZHVwPXdpbmRvdy5zbG90YnlkdXB8fFtdKS5wdXNoKHtpZDplLGNvbnRhaW5lcjp0LGFzeW5jOiEwfSksdGhpcy5fc3RhcnRDaGVja1RpbWVyKCl9LF9yZW5kZXJBZFZpZXc6ZnVuY3Rpb24odCxlLG4pe3ZhciByPXdpbmRvdztlLnNwbGl0KCIuIikucmVkdWNlKChmdW5jdGlvbih0LGUpe3JldHVybiByPXQsdFtlXX0pLHdpbmRvdykuYmluZChyKShuLmEyLHQsMiksdGhpcy5fc3RhcnRDaGVja1RpbWVyKCl9LF9yZW5kZXJTaGFuaHU6ZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzLHI9bmV3IHdpbmRvdy5Db3JhbEFkdih7YXBwX2lkOmUuYTIscGxhY2VtZW50X2lkOmUuYTMsdHlwZTplLmE0LGRpc3BsYXlfdHlwZTplLmE1LGNvbnRhaW5lcl9pZDp0LGNvdW50OmUuYTZ8fDF9KTtyLnJlYWR5KCkudGhlbihmdW5jdGlvbigpe3ZhciB0PWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbigpe3ZhciBlPXRoaXMsbj1hcmd1bWVudHM7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbihyLGkpe3ZhciBvPXQuYXBwbHkoZSxuKTtmdW5jdGlvbiBzKHQpe2EobyxyLGkscyxjLCJuZXh0Iix0KX1mdW5jdGlvbiBjKHQpe2EobyxyLGkscyxjLCJ0aHJvdyIsdCl9cyh2b2lkIDApfSkpfX0oaS5hLm1hcmsoKGZ1bmN0aW9uIHQoZSl7cmV0dXJuIGkuYS53cmFwKChmdW5jdGlvbih0KXt3aGlsZSgxKXN3aXRjaCh0LnByZXY9dC5uZXh0KXtjYXNlIDA6MD09PWUucmV0P24uJHRyaWdnZXIoImxvYWQiLHt9LHt9KTpuLiR0cmlnZ2VyKCJlcnJvciIse30sZSk7Y2FzZSAxOmNhc2UiZW5kIjpyZXR1cm4gdC5zdG9wKCl9fSksdCl9KSkpO3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSgpKS5jYXRjaCgoZnVuY3Rpb24odCl7bi4kdHJpZ2dlcigiZXJyb3IiLHt9LHQpfSkpLHRoaXMuX3N0YXJ0Q2hlY2tUaW1lcigpfSxfcmVuZGVyTmV4dDpmdW5jdGlvbigpe3RoaXMuX3BpPj10aGlzLl9wbC5sZW5ndGgtMXx8KHRoaXMuX3BpKyssdGhpcy5fcmVuZGVyQWQoKSl9LF9jaGVja1JlbmRlcjpmdW5jdGlvbigpe3ZhciB0PXRoaXMuJHJlZnMuY29udGFpbmVyLmNoaWxkcmVuLmxlbmd0aD4wJiZ0aGlzLiRyZWZzLmNvbnRhaW5lci5jbGllbnRIZWlnaHQ+NDA7cmV0dXJuIHQmJnRoaXMuX3JlcG9ydCg0MCx0aGlzLl9jdXJyZW50Q2hhbm5lbCksdH0sX3N0YXJ0Q2hlY2tUaW1lcjpmdW5jdGlvbigpe3ZhciB0PXRoaXM7dGhpcy5fY2xlYXJDaGVja1RpbWVyKCksdGhpcy5fY2hlY2tUaW1lcj1zZXRJbnRlcnZhbCgoZnVuY3Rpb24oKXtpZih0Ll9jaGVja1RpbWVyQ291bnQrKyx0Ll9jaGVja1RpbWVyQ291bnQ+PTUpcmV0dXJuIHQuX2NsZWFyQ2hlY2tUaW1lcigpLHZvaWQgdC5fcmVuZGVyTmV4dCgpO3QuX2NoZWNrUmVuZGVyKCkmJnQuX2NsZWFyQ2hlY2tUaW1lcigpfSksMWUzKX0sX2NsZWFyQ2hlY2tUaW1lcjpmdW5jdGlvbigpe3RoaXMuX2NoZWNrVGltZXJDb3VudD0wLG51bGwhPXRoaXMuX2NoZWNrVGltZXImJih3aW5kb3cuY2xlYXJJbnRlcnZhbCh0aGlzLl9jaGVja1RpbWVyKSx0aGlzLl9jaGVja1RpbWVyPW51bGwpfSxfcmVwb3J0OmZ1bmN0aW9uKHQsZSl7dmFyIG49e2g6X191bmlDb25maWcuY29tcGlsZXJWZXJzaW9uLGE6dGhpcy5hZHBpZCxhdDp0fTtlJiYobi50PWUpLGQuaW5zdGFuY2UuZ2V0KG4pfSxfcmFuZG9tSWQ6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9IiIsZT0wO2U8NDtlKyspdCs9KDY1NTM2KigxK01hdGgucmFuZG9tKCkpfDApLnRvU3RyaW5nKDE2KS5zdWJzdHJpbmcoMSk7cmV0dXJuIl91Iit0fX19LHY9cCxnPShuKCJjODg1IiksbigiODg0NCIpKSxtPU9iamVjdChnWyJhIl0pKHYsKGZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPXQuJGNyZWF0ZUVsZW1lbnQsbj10Ll9zZWxmLl9jfHxlO3JldHVybiBuKCJ1bmktYWQiLHQuX2codC5fYih7fSwidW5pLWFkIix0LmF0dHJzLCExKSx0LiRsaXN0ZW5lcnMpLFtuKCJkaXYiLHtyZWY6ImNvbnRhaW5lciIsc3RhdGljQ2xhc3M6InVuaS1hZC1jb250YWluZXIiLG9uOntjbGljazp0Ll9vbmhhbmRsZX19KV0pfSksW10sITEsbnVsbCxudWxsLG51bGwpO2VbImRlZmF1bHQiXT1tLmV4cG9ydHN9LCIzNDBkIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO24uZChlLCJ0IiwoZnVuY3Rpb24oKXtyZXR1cm4gaX0pKSxuLmQoZSwiayIsKGZ1bmN0aW9uKCl7cmV0dXJuIHB9KSksbi5kKGUsIm0iLChmdW5jdGlvbigpe3JldHVybiB2fSkpLG4uZChlLCJsIiwoZnVuY3Rpb24oKXtyZXR1cm4gbX0pKSxuLmQoZSwiaSIsKGZ1bmN0aW9uKCl7cmV0dXJuIGJ9KSksbi5kKGUsInYiLChmdW5jdGlvbigpe3JldHVybiB5fSkpLG4uZChlLCJwIiwoZnVuY3Rpb24oKXtyZXR1cm4gd30pKSxuLmQoZSwiYiIsKGZ1bmN0aW9uKCl7cmV0dXJuIFN9KSksbi5kKGUsImMiLChmdW5jdGlvbigpe3JldHVybiBrfSkpLG4uZChlLCJyIiwoZnVuY3Rpb24oKXtyZXR1cm4gQ30pKSxuLmQoZSwiaCIsKGZ1bmN0aW9uKCl7cmV0dXJuIE99KSksbi5kKGUsImciLChmdW5jdGlvbigpe3JldHVybiBUfSkpLG4uZChlLCJ4IiwoZnVuY3Rpb24oKXtyZXR1cm4gRX0pKSxuLmQoZSwiZCIsKGZ1bmN0aW9uKCl7cmV0dXJuIEF9KSksbi5kKGUsInUiLChmdW5jdGlvbigpe3JldHVybiBqfSkpLG4uZChlLCJuIiwoZnVuY3Rpb24oKXtyZXR1cm4gTX0pKSxuLmQoZSwiZiIsKGZ1bmN0aW9uKCl7cmV0dXJuIEl9KSksbi5kKGUsInciLChmdW5jdGlvbigpe3JldHVybiB1fSkpLG4uZChlLCJzIiwoZnVuY3Rpb24oKXtyZXR1cm4gUH0pKSxuLmQoZSwiaiIsKGZ1bmN0aW9uKCl7cmV0dXJuIFJ9KSksbi5kKGUsImUiLChmdW5jdGlvbigpe3JldHVybiBEfSkpLG4uZChlLCJxIiwoZnVuY3Rpb24oKXtyZXR1cm4gQn0pKSxuLmQoZSwiYSIsKGZ1bmN0aW9uKCl7cmV0dXJuIEh9KSksbi5kKGUsIm8iLChmdW5jdGlvbigpe3JldHVybiBxfSkpO3ZhciByLGk9ITE7dHJ5e3ZhciBvPXt9O09iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCJwYXNzaXZlIix7Z2V0OmZ1bmN0aW9uKCl7aT0hMH19KSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigidGVzdC1wYXNzaXZlIixudWxsLG8pfWNhdGNoKFkpe312YXIgYT0iQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLz0iLHM9L14oPzpbQS1aYS16XGQrL117NH0pKj8oPzpbQS1aYS16XGQrL117Mn0oPzo9PSk/fFtBLVphLXpcZCsvXXszfT0/KT8kLztmdW5jdGlvbiBjKCl7dmFyIHQsZT11bmkuZ2V0U3RvcmFnZVN5bmMoInVuaV9pZF90b2tlbiIpfHwiIixuPWUuc3BsaXQoIi4iKTtpZighZXx8MyE9PW4ubGVuZ3RoKXJldHVybnt1aWQ6bnVsbCxyb2xlOltdLHBlcm1pc3Npb246W10sdG9rZW5FeHBpcmVkOjB9O3RyeXt0PUpTT04ucGFyc2UoZnVuY3Rpb24odCl7cmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudChyKHQpLnNwbGl0KCIiKS5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiIlIisoIjAwIit0LmNoYXJDb2RlQXQoMCkudG9TdHJpbmcoMTYpKS5zbGljZSgtMil9KSkuam9pbigiIikpfShuWzFdKSl9Y2F0Y2gocil7dGhyb3cgbmV3IEVycm9yKCLojrflj5blvZPliY3nlKjmiLfkv6Hmga/lh7rplJnvvIzor6bnu4bplJnor6/kv6Hmga/kuLrvvJoiK3IubWVzc2FnZSl9cmV0dXJuIHQudG9rZW5FeHBpcmVkPTFlMyp0LmV4cCxkZWxldGUgdC5leHAsZGVsZXRlIHQuaWF0LHR9ZnVuY3Rpb24gdSh0KXt0LnByb3RvdHlwZS51bmlJREhhc1JvbGU9ZnVuY3Rpb24odCl7dmFyIGU9YygpLG49ZS5yb2xlO3JldHVybiBuLmluZGV4T2YodCk+LTF9LHQucHJvdG90eXBlLnVuaUlESGFzUGVybWlzc2lvbj1mdW5jdGlvbih0KXt2YXIgZT1jKCksbj1lLnBlcm1pc3Npb247cmV0dXJuIHRoaXMudW5pSURIYXNSb2xlKCJhZG1pbiIpfHxuLmluZGV4T2YodCk+LTF9LHQucHJvdG90eXBlLnVuaUlEVG9rZW5WYWxpZD1mdW5jdGlvbigpe3ZhciB0PWMoKSxlPXQudG9rZW5FeHBpcmVkO3JldHVybiBlPkRhdGUubm93KCl9fXI9ImZ1bmN0aW9uIiE9PXR5cGVvZiBhdG9iP2Z1bmN0aW9uKHQpe2lmKHQ9U3RyaW5nKHQpLnJlcGxhY2UoL1tcdFxuXGZcciBdKy9nLCIiKSwhcy50ZXN0KHQpKXRocm93IG5ldyBFcnJvcigiRmFpbGVkIHRvIGV4ZWN1dGUgJ2F0b2InIG9uICdXaW5kb3cnOiBUaGUgc3RyaW5nIHRvIGJlIGRlY29kZWQgaXMgbm90IGNvcnJlY3RseSBlbmNvZGVkLiIpO3ZhciBlO3QrPSI9PSIuc2xpY2UoMi0oMyZ0Lmxlbmd0aCkpO2Zvcih2YXIgbixyLGk9IiIsbz0wO288dC5sZW5ndGg7KWU9YS5pbmRleE9mKHQuY2hhckF0KG8rKykpPDwxOHxhLmluZGV4T2YodC5jaGFyQXQobysrKSk8PDEyfChuPWEuaW5kZXhPZih0LmNoYXJBdChvKyspKSk8PDZ8KHI9YS5pbmRleE9mKHQuY2hhckF0KG8rKykpKSxpKz02ND09PW4/U3RyaW5nLmZyb21DaGFyQ29kZShlPj4xNiYyNTUpOjY0PT09cj9TdHJpbmcuZnJvbUNoYXJDb2RlKGU+PjE2JjI1NSxlPj44JjI1NSk6U3RyaW5nLmZyb21DaGFyQ29kZShlPj4xNiYyNTUsZT4+OCYyNTUsMjU1JmUpO3JldHVybiBpfTphdG9iO3ZhciBsPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcsZj1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LGQ9ZnVuY3Rpb24odCl7cmV0dXJuIHQ+OT90OiIwIit0fSxoPUFycmF5LmlzQXJyYXk7ZnVuY3Rpb24gcCh0KXtyZXR1cm4iZnVuY3Rpb24iPT09dHlwZW9mIHR9ZnVuY3Rpb24gdih0KXtyZXR1cm4ic3RyaW5nIj09PXR5cGVvZiB0fU9iamVjdC5hc3NpZ247dmFyIGc9djtmdW5jdGlvbiBtKHQpe3JldHVybiJbb2JqZWN0IE9iamVjdF0iPT09bC5jYWxsKHQpfWZ1bmN0aW9uIGIodCxlKXtyZXR1cm4gZi5jYWxsKHQsZSl9ZnVuY3Rpb24geSh0KXtyZXR1cm4gbC5jYWxsKHQpLnNsaWNlKDgsLTEpfWZ1bmN0aW9uIF8odCl7dmFyIGU9T2JqZWN0LmNyZWF0ZShudWxsKTtyZXR1cm4gZnVuY3Rpb24obil7dmFyIHI9ZVtuXTtyZXR1cm4gcnx8KGVbbl09dChuKSl9fWZ1bmN0aW9uIHcodCl7dmFyIGUsbj1hcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXT9hcmd1bWVudHNbMV06bnVsbDtyZXR1cm4gZnVuY3Rpb24oKXtpZih0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aCxpPW5ldyBBcnJheShyKSxvPTA7bzxyO28rKylpW29dPWFyZ3VtZW50c1tvXTtlPXQuYXBwbHkobixpKSx0PW51bGx9cmV0dXJuIGV9fXZhciB4PS8tKFx3KS9nLFM9XygoZnVuY3Rpb24odCl7cmV0dXJuIHQucmVwbGFjZSh4LChmdW5jdGlvbih0LGUpe3JldHVybiBlP2UudG9VcHBlckNhc2UoKToiIn0pKX0pKSxrPV8oKGZ1bmN0aW9uKHQpe3JldHVybiB0LmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpK3Quc2xpY2UoMSl9KSk7ZnVuY3Rpb24gQyh0LGUsbil7ZS5mb3JFYWNoKChmdW5jdGlvbihlKXtiKG4sZSkmJih0W2VdPW5bZV0pfSkpfWZ1bmN0aW9uIE8oKXt2YXIgdD1hcmd1bWVudHMubGVuZ3RoPjAmJnZvaWQgMCE9PWFyZ3VtZW50c1swXT9hcmd1bWVudHNbMF06IiI7cmV0dXJuKCIiK3QpLnJlcGxhY2UoL1teXHgwMC1ceGZmXS9nLCIqKiIpLmxlbmd0aH1mdW5jdGlvbiBUKHQpe3ZhciBlPXQuZGF0ZSxuPXZvaWQgMD09PWU/bmV3IERhdGU6ZSxyPXQubW9kZSxpPXZvaWQgMD09PXI/ImRhdGUiOnI7cmV0dXJuInRpbWUiPT09aT9kKG4uZ2V0SG91cnMoKSkrIjoiK2Qobi5nZXRNaW51dGVzKCkpOm4uZ2V0RnVsbFllYXIoKSsiLSIrZChuLmdldE1vbnRoKCkrMSkrIi0iK2Qobi5nZXREYXRlKCkpfWZ1bmN0aW9uIEUodCxlKXtmb3IodmFyIG4gaW4gZSl0LnN0eWxlW25dPWVbbl19ZnVuY3Rpb24gQSh0LGUpe3ZhciBuLHI9ZnVuY3Rpb24oKXt2YXIgcj1hcmd1bWVudHMsaT10aGlzO2NsZWFyVGltZW91dChuKTt2YXIgbz1mdW5jdGlvbigpe3JldHVybiB0LmFwcGx5KGkscil9O249c2V0VGltZW91dChvLGUpfTtyZXR1cm4gci5jYW5jZWw9ZnVuY3Rpb24oKXtjbGVhclRpbWVvdXQobil9LHJ9ZnVuY3Rpb24gaih0LGUpe3ZhciBuLHIsaT0wLG89ZnVuY3Rpb24oKXtmb3IodmFyIG89dGhpcyxhPWFyZ3VtZW50cy5sZW5ndGgscz1uZXcgQXJyYXkoYSksYz0wO2M8YTtjKyspc1tjXT1hcmd1bWVudHNbY107dmFyIHU9RGF0ZS5ub3coKTtjbGVhclRpbWVvdXQobikscj1mdW5jdGlvbigpe3I9bnVsbCxpPXUsdC5hcHBseShvLHMpfSx1LWk8ZT9uPXNldFRpbWVvdXQocixlLSh1LWkpKTpyKCl9O3JldHVybiBvLmNhbmNlbD1mdW5jdGlvbigpe2NsZWFyVGltZW91dChuKSxyPW51bGx9LG8uZmx1c2g9ZnVuY3Rpb24oKXtjbGVhclRpbWVvdXQobiksciYmcigpfSxvfWZ1bmN0aW9uIE0odCl7cmV0dXJuIHQucmVwbGFjZSgvW0EtWl0vZywoZnVuY3Rpb24odCl7cmV0dXJuIi0iK3QudG9Mb3dlckNhc2UoKX0pKX1mdW5jdGlvbiBJKHQsZSl7cmV0dXJuIHQubWFwKChmdW5jdGlvbiB0KG4pe3ZhciByPW4uY2hpbGRyZW4mJm4uY2hpbGRyZW4ubWFwKHQpLGk9ZShuLnRhZyxuLmRhdGEscik7cmV0dXJuIGkudGV4dD1uLnRleHQsaS5pc0NvbW1lbnQ9bi5pc0NvbW1lbnQsaS5jb21wb25lbnRPcHRpb25zPW4uY29tcG9uZW50T3B0aW9ucyxpLmVsbT1uLmVsbSxpLmNvbnRleHQ9bi5jb250ZXh0LGkubnM9bi5ucyxpLmlzU3RhdGljPW4uaXNTdGF0aWMsaS5rZXk9bi5rZXksaX0pKX1mdW5jdGlvbiBQKHQpe3ZhciBlPXt9O3JldHVybiBtKHQpJiZPYmplY3Qua2V5cyh0KS5zb3J0KCkuZm9yRWFjaCgoZnVuY3Rpb24obil7ZVtuXT10W25dfSkpLE9iamVjdC5rZXlzKGUpP2U6dH1mdW5jdGlvbiAkKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKHQpe2lmKEFycmF5LmlzQXJyYXkodCkpcmV0dXJuIHR9KHQpfHxmdW5jdGlvbih0LGUpe2lmKCJ1bmRlZmluZWQiIT09dHlwZW9mIFN5bWJvbCYmU3ltYm9sLml0ZXJhdG9yIGluIE9iamVjdCh0KSl7dmFyIG49W10scj0hMCxpPSExLG89dm9pZCAwO3RyeXtmb3IodmFyIGEscz10W1N5bWJvbC5pdGVyYXRvcl0oKTshKHI9KGE9cy5uZXh0KCkpLmRvbmUpO3I9ITApaWYobi5wdXNoKGEudmFsdWUpLGUmJm4ubGVuZ3RoPT09ZSlicmVha31jYXRjaChjKXtpPSEwLG89Y31maW5hbGx5e3RyeXtyfHxudWxsPT1zWyJyZXR1cm4iXXx8c1sicmV0dXJuIl0oKX1maW5hbGx5e2lmKGkpdGhyb3cgb319cmV0dXJuIG59fSh0LGUpfHxmdW5jdGlvbih0LGUpe2lmKHQpe2lmKCJzdHJpbmciPT09dHlwZW9mIHQpcmV0dXJuIEwodCxlKTt2YXIgbj1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodCkuc2xpY2UoOCwtMSk7cmV0dXJuIk9iamVjdCI9PT1uJiZ0LmNvbnN0cnVjdG9yJiYobj10LmNvbnN0cnVjdG9yLm5hbWUpLCJNYXAiPT09bnx8IlNldCI9PT1uP0FycmF5LmZyb20obik6IkFyZ3VtZW50cyI9PT1ufHwvXig/OlVpfEkpbnQoPzo4fDE2fDMyKSg/OkNsYW1wZWQpP0FycmF5JC8udGVzdChuKT9MKHQsZSk6dm9pZCAwfX0odCxlKXx8ZnVuY3Rpb24oKXt0aHJvdyBuZXcgVHlwZUVycm9yKCJJbnZhbGlkIGF0dGVtcHQgdG8gZGVzdHJ1Y3R1cmUgbm9uLWl0ZXJhYmxlIGluc3RhbmNlLlxuSW4gb3JkZXIgdG8gYmUgaXRlcmFibGUsIG5vbi1hcnJheSBvYmplY3RzIG11c3QgaGF2ZSBhIFtTeW1ib2wuaXRlcmF0b3JdKCkgbWV0aG9kLiIpfSgpfWZ1bmN0aW9uIEwodCxlKXsobnVsbD09ZXx8ZT50Lmxlbmd0aCkmJihlPXQubGVuZ3RoKTtmb3IodmFyIG49MCxyPW5ldyBBcnJheShlKTtuPGU7bisrKXJbbl09dFtuXTtyZXR1cm4gcn1mdW5jdGlvbiBSKHQpe2lmKCF0KXJldHVybntyOjAsZzowLGI6MCxhOjB9O3ZhciBlPXQuc2xpY2UoMSksbj1lLmxlbmd0aDtpZighWzMsNCw2LDhdLmluY2x1ZGVzKG4pKXJldHVybntyOjAsZzowLGI6MCxhOjB9OzMhPT1uJiY0IT09bnx8KGU9ZS5yZXBsYWNlKC8oXHd7MX0pL2csIiQxJDEiKSk7dmFyIHI9ZS5tYXRjaCgvKFx3ezJ9KS9nKSxpPSQociw0KSxvPWlbMF0sYT1pWzFdLHM9aVsyXSxjPWlbM10sdT1wYXJzZUludChvLDE2KSxsPXBhcnNlSW50KGEsMTYpLGY9cGFyc2VJbnQocywxNik7cmV0dXJuIGM/e3I6dSxnOmwsYjpmLGE6KCIweDEwMCIuY29uY2F0KGMpLTY1NTM2KS8yNTV9OntyOnUsZzpsLGI6ZixhOjF9fXZhciBOPWRlY29kZVVSSUNvbXBvbmVudDtmdW5jdGlvbiBEKCl7dmFyIHQ9YXJndW1lbnRzLmxlbmd0aD4wJiZ2b2lkIDAhPT1hcmd1bWVudHNbMF0/YXJndW1lbnRzWzBdOnt9LGU9e307cmV0dXJuIE9iamVjdC5rZXlzKHQpLmZvckVhY2goKGZ1bmN0aW9uKG4pe3RyeXtlW25dPU4odFtuXSl9Y2F0Y2goWSl7ZVtuXT10W25dfX0pKSxlfWZ1bmN0aW9uIEIodCl7aWYoImZ1bmN0aW9uIj09PXR5cGVvZiB0KXJldHVybiB3aW5kb3cucGx1cz90KCk6dm9pZCBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJwbHVzcmVhZHkiLHQpfXZhciBGPTAsej17fTtmdW5jdGlvbiBXKHQsZSl7dmFyIG49elt0XXx8e307ZGVsZXRlIHpbdF07dmFyIHI9ZS5lcnJNc2d8fCIiO25ldyBSZWdFeHAoIlxcOlxccypmYWlsIikudGVzdChyKT9uLmZhaWwmJm4uZmFpbChlKTpuLnN1Y2Nlc3MmJm4uc3VjY2VzcyhlKSxuLmNvbXBsZXRlJiZuLmNvbXBsZXRlKGUpfXZhciBIPXt3YXJwOmZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbigpe3ZhciBlPWFyZ3VtZW50cy5sZW5ndGg+MCYmdm9pZCAwIT09YXJndW1lbnRzWzBdP2FyZ3VtZW50c1swXTp7fSxuPVN0cmluZyhGKyspO3pbbl09e3N1Y2Nlc3M6ZS5zdWNjZXNzLGZhaWw6ZS5mYWlsLGNvbXBsZXRlOmUuY29tcGxldGV9O3ZhciByPU9iamVjdC5hc3NpZ24oe30sZSksaT10LmJpbmQodGhpcykocixuKTtpJiZXKG4saSl9fSxpbnZva2U6V30sVT17YmxhY2s6InJnYmEoMCwwLDAsMC40KSIsd2hpdGU6InJnYmEoMjU1LDI1NSwyNTUsMC40KSJ9O2Z1bmN0aW9uIFYodCxlLG4pe2lmKGcoZSkmJmUuc3RhcnRzV2l0aCgiQCIpKXt2YXIgcj1lLnJlcGxhY2UoIkAiLCIiKSxpPXRbcl18fGU7c3dpdGNoKG4pe2Nhc2UidGl0bGVDb2xvciI6aT1mdW5jdGlvbih0KXtyZXR1cm4iYmxhY2siPT09dD8iIzAwMDAwMCI6IiNmZmZmZmYifShpKTticmVhaztjYXNlImJvcmRlclN0eWxlIjppPWZ1bmN0aW9uKHQpe3JldHVybiB0JiZ0IGluIFU/VVt0XTp0fShpKTticmVhaztkZWZhdWx0OmJyZWFrfXJldHVybiBpfXJldHVybiBlfWZ1bmN0aW9uIHEodCl7dmFyIGU9YXJndW1lbnRzLmxlbmd0aD4xJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0/YXJndW1lbnRzWzFdOnt9LG49YXJndW1lbnRzLmxlbmd0aD4yJiZ2b2lkIDAhPT1hcmd1bWVudHNbMl0/YXJndW1lbnRzWzJdOiJsaWdodCIscj1lW25dLGk9e307cmV0dXJuInVuZGVmaW5lZCIhPT10eXBlb2YgciYmdD8oT2JqZWN0LmtleXModCkuZm9yRWFjaCgoZnVuY3Rpb24obyl7dmFyIGE9dFtvXTtpW29dPWZ1bmN0aW9uKCl7cmV0dXJuIG0oYSk/cShhLGUsbik6aChhKT9hLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIG0odCk/cSh0LGUsbik6VihyLHQpfSkpOlYocixhLG8pfSgpfSkpLGkpOnR9fSwzNTk2OmZ1bmN0aW9uKHQsZSxuKXt9LCIzNmE2IjpmdW5jdGlvbih0LGUsbil7fSwiMzgzZSI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtuLnIoZSk7dmFyIHI9bigiMzliZCIpLGk9bigiMzQwZCIpO2Z1bmN0aW9uIG8odCxlKXt2YXIgbj1PYmplY3Qua2V5cyh0KTtpZihPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKXt2YXIgcj1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHQpO2UmJihyPXIuZmlsdGVyKChmdW5jdGlvbihlKXtyZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0LGUpLmVudW1lcmFibGV9KSkpLG4ucHVzaC5hcHBseShuLHIpfXJldHVybiBufWZ1bmN0aW9uIGEodCl7Zm9yKHZhciBlPTE7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKyl7dmFyIG49bnVsbCE9YXJndW1lbnRzW2VdP2FyZ3VtZW50c1tlXTp7fTtlJTI/byhPYmplY3QobiksITApLmZvckVhY2goKGZ1bmN0aW9uKGUpe3ModCxlLG5bZV0pfSkpOk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzP09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHQsT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMobikpOm8oT2JqZWN0KG4pKS5mb3JFYWNoKChmdW5jdGlvbihlKXtPYmplY3QuZGVmaW5lUHJvcGVydHkodCxlLE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IobixlKSl9KSl9cmV0dXJuIHR9ZnVuY3Rpb24gcyh0LGUsbil7cmV0dXJuIGUgaW4gdD9PYmplY3QuZGVmaW5lUHJvcGVydHkodCxlLHt2YWx1ZTpuLGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwfSk6dFtlXT1uLHR9dmFyIGM9e25hbWU6IlN3aXBlciIsbWl4aW5zOltyWyJhIl1dLHByb3BzOntpbmRpY2F0b3JEb3RzOnt0eXBlOltCb29sZWFuLFN0cmluZ10sZGVmYXVsdDohMX0sdmVydGljYWw6e3R5cGU6W0Jvb2xlYW4sU3RyaW5nXSxkZWZhdWx0OiExfSxhdXRvcGxheTp7dHlwZTpbQm9vbGVhbixTdHJpbmddLGRlZmF1bHQ6ITF9LGNpcmN1bGFyOnt0eXBlOltCb29sZWFuLFN0cmluZ10sZGVmYXVsdDohMX0saW50ZXJ2YWw6e3R5cGU6W051bWJlcixTdHJpbmddLGRlZmF1bHQ6NWUzfSxkdXJhdGlvbjp7dHlwZTpbTnVtYmVyLFN0cmluZ10sZGVmYXVsdDo1MDB9LGN1cnJlbnQ6e3R5cGU6W051bWJlcixTdHJpbmddLGRlZmF1bHQ6MH0saW5kaWNhdG9yQ29sb3I6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6IiJ9LGluZGljYXRvckFjdGl2ZUNvbG9yOnt0eXBlOlN0cmluZyxkZWZhdWx0OiIifSxwcmV2aW91c01hcmdpbjp7dHlwZTpTdHJpbmcsZGVmYXVsdDoiIn0sbmV4dE1hcmdpbjp7dHlwZTpTdHJpbmcsZGVmYXVsdDoiIn0sY3VycmVudEl0ZW1JZDp7dHlwZTpTdHJpbmcsZGVmYXVsdDoiIn0sc2tpcEhpZGRlbkl0ZW1MYXlvdXQ6e3R5cGU6W0Jvb2xlYW4sU3RyaW5nXSxkZWZhdWx0OiExfSxkaXNwbGF5TXVsdGlwbGVJdGVtczp7dHlwZTpbTnVtYmVyLFN0cmluZ10sZGVmYXVsdDoxfSxkaXNhYmxlVG91Y2g6e3R5cGU6W0Jvb2xlYW4sU3RyaW5nXSxkZWZhdWx0OiExfSxuYXZpZ2F0aW9uOnt0eXBlOltCb29sZWFuLFN0cmluZ10sZGVmYXVsdDohMX0sbmF2aWdhdGlvbkNvbG9yOnt0eXBlOlN0cmluZyxkZWZhdWx0OiIjZmZmIn0sbmF2aWdhdGlvbkFjdGl2ZUNvbG9yOnt0eXBlOlN0cmluZyxkZWZhdWx0OiJyZ2JhKDUzLCA1MywgNTMsIDAuNikifX0sZGF0YTpmdW5jdGlvbigpe3JldHVybntjdXJyZW50U3luYzpNYXRoLnJvdW5kKHRoaXMuY3VycmVudCl8fDAsY3VycmVudEl0ZW1JZFN5bmM6dGhpcy5jdXJyZW50SXRlbUlkfHwiIix1c2VyVHJhY2tpbmc6ITEsY3VycmVudENoYW5nZVNvdXJjZToiIixpdGVtczpbXSxpc05hdmlnYXRpb25BdXRvOiExLGhpZGVOYXZpZ2F0aW9uOiExLHByZXZEaXNhYmxlZDohMSxuZXh0RGlzYWJsZWQ6ITF9fSxjb21wdXRlZDp7aW50ZXJ2YWxOdW1iZXI6ZnVuY3Rpb24oKXt2YXIgdD1OdW1iZXIodGhpcy5pbnRlcnZhbCk7cmV0dXJuIGlzTmFOKHQpPzVlMzp0fSxkdXJhdGlvbk51bWJlcjpmdW5jdGlvbigpe3ZhciB0PU51bWJlcih0aGlzLmR1cmF0aW9uKTtyZXR1cm4gaXNOYU4odCk/NTAwOnR9LGRpc3BsYXlNdWx0aXBsZUl0ZW1zTnVtYmVyOmZ1bmN0aW9uKCl7dmFyIHQ9TWF0aC5yb3VuZCh0aGlzLmRpc3BsYXlNdWx0aXBsZUl0ZW1zKTtyZXR1cm4gaXNOYU4odCk/MTp0fSxzbGlkZXNTdHlsZTpmdW5jdGlvbigpe3ZhciB0PXt9O3JldHVybih0aGlzLm5leHRNYXJnaW58fHRoaXMucHJldmlvdXNNYXJnaW4pJiYodD10aGlzLnZlcnRpY2FsP3tsZWZ0OjAscmlnaHQ6MCx0b3A6dGhpcy5fdXB4MnB4KHRoaXMucHJldmlvdXNNYXJnaW4pLGJvdHRvbTp0aGlzLl91cHgycHgodGhpcy5uZXh0TWFyZ2luKX06e3RvcDowLGJvdHRvbTowLGxlZnQ6dGhpcy5fdXB4MnB4KHRoaXMucHJldmlvdXNNYXJnaW4pLHJpZ2h0OnRoaXMuX3VweDJweCh0aGlzLm5leHRNYXJnaW4pfSksdH0sc2xpZGVGcmFtZVN0eWxlOmZ1bmN0aW9uKCl7dmFyIHQ9TWF0aC5hYnMoMTAwL3RoaXMuZGlzcGxheU11bHRpcGxlSXRlbXNOdW1iZXIpKyIlIjtyZXR1cm57d2lkdGg6dGhpcy52ZXJ0aWNhbD8iMTAwJSI6dCxoZWlnaHQ6dGhpcy52ZXJ0aWNhbD90OiIxMDAlIn19LHN3aXBlckVuYWJsZWQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pdGVtcy5sZW5ndGg+dGhpcy5kaXNwbGF5TXVsdGlwbGVJdGVtc051bWJlcn0sY2lyY3VsYXJFbmFibGVkOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2lyY3VsYXImJnRoaXMuc3dpcGVyRW5hYmxlZH19LHdhdGNoOnt2ZXJ0aWNhbDpmdW5jdGlvbigpe3RoaXMuX3Jlc2V0TGF5b3V0KCl9LGNpcmN1bGFyOmZ1bmN0aW9uKCl7dGhpcy5fcmVzZXRMYXlvdXQoKX0saW50ZXJ2YWxOdW1iZXI6ZnVuY3Rpb24odCl7dGhpcy5fdGltZXImJih0aGlzLl9jYW5jZWxTY2hlZHVsZSgpLHRoaXMuX3NjaGVkdWxlQXV0b3BsYXkoKSl9LGN1cnJlbnQ6ZnVuY3Rpb24odCl7dGhpcy5fY3VycmVudENoZWNrKCl9LGN1cnJlbnRTeW5jOmZ1bmN0aW9uKHQsZSl7dGhpcy5fY3VycmVudENoYW5nZWQodCxlKSx0aGlzLiRlbWl0KCJ1cGRhdGU6Y3VycmVudCIsdCksdGhpcy5fc2V0TmF2aWdhdGlvblN0YXRlKCl9LGN1cnJlbnRJdGVtSWQ6ZnVuY3Rpb24odCl7dGhpcy5fY3VycmVudENoZWNrKCl9LGN1cnJlbnRJdGVtSWRTeW5jOmZ1bmN0aW9uKHQpe3RoaXMuJGVtaXQoInVwZGF0ZTpjdXJyZW50SXRlbUlkIix0KX0sZGlzcGxheU11bHRpcGxlSXRlbXNOdW1iZXI6ZnVuY3Rpb24oKXt0aGlzLl9yZXNldExheW91dCgpfSxuYXZpZ2F0aW9uOntpbW1lZGlhdGU6ITAsaGFuZGxlcjpmdW5jdGlvbih0KXt0aGlzLmlzTmF2aWdhdGlvbkF1dG89ImF1dG8iPT09dCx0aGlzLmhpZGVOYXZpZ2F0aW9uPSEwIT09dHx8dGhpcy5pc05hdmlnYXRpb25BdXRvLHRoaXMuX25hdmlnYXRpb25Td2lwZXJBZGRNb3VzZUV2ZW50KCl9fSxpdGVtczpmdW5jdGlvbigpe3RoaXMuX3NldE5hdmlnYXRpb25TdGF0ZSgpfSxzd2lwZXJFbmFibGVkOmZ1bmN0aW9uKHQpe3R8fCh0aGlzLnByZXZEaXNhYmxlZD0hMCx0aGlzLm5leHREaXNhYmxlZD0hMCx0aGlzLmlzTmF2aWdhdGlvbkF1dG8mJih0aGlzLmhpZGVOYXZpZ2F0aW9uPSEwKSl9fSxjcmVhdGVkOmZ1bmN0aW9uKCl7dGhpcy5faW52YWxpZD0hMCx0aGlzLl92aWV3cG9ydFBvc2l0aW9uPTAsdGhpcy5fdmlld3BvcnRNb3ZlUmF0aW89MSx0aGlzLl9hbmltYXRpbmc9bnVsbCx0aGlzLl9yZXF1ZXN0ZWRBbmltYXRpb249ITEsdGhpcy5fdXNlckRpcmVjdGlvbkNoZWNrZWQ9ITEsdGhpcy5fY29udGVudFRyYWNrVmlld3BvcnQ9MCx0aGlzLl9jb250ZW50VHJhY2tTcGVlZD0wLHRoaXMuX2NvbnRlbnRUcmFja1Q9MH0sbW91bnRlZDpmdW5jdGlvbigpe3ZhciB0PXRoaXM7dGhpcy5fY3VycmVudENoZWNrKCksdGhpcy50b3VjaHRyYWNrKHRoaXMuJHJlZnMuc2xpZGVzV3JhcHBlciwiX2hhbmRsZUNvbnRlbnRUcmFjayIsITApLHRoaXMuX3Jlc2V0TGF5b3V0KCksdGhpcy4kd2F0Y2goKGZ1bmN0aW9uKCl7cmV0dXJuIHQuYXV0b3BsYXkmJiF0LnVzZXJUcmFja2luZ30pLHRoaXMuX2luaW50QXV0b3BsYXkpLHRoaXMuX2luaW50QXV0b3BsYXkodGhpcy5hdXRvcGxheSYmIXRoaXMudXNlclRyYWNraW5nKSx0aGlzLiR3YXRjaCgiaXRlbXMubGVuZ3RoIix0aGlzLl9yZXNldExheW91dCksdGhpcy5fbmF2aWdhdGlvblN3aXBlckFkZE1vdXNlRXZlbnQoKX0sYmVmb3JlRGVzdHJveTpmdW5jdGlvbigpe3RoaXMuX2NhbmNlbFNjaGVkdWxlKCksY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy5fYW5pbWF0aW9uRnJhbWUpfSxtZXRob2RzOntfaW5pbnRBdXRvcGxheTpmdW5jdGlvbih0KXt0P3RoaXMuX3NjaGVkdWxlQXV0b3BsYXkoKTp0aGlzLl9jYW5jZWxTY2hlZHVsZSgpfSxfY3VycmVudENoZWNrOmZ1bmN0aW9uKCl7dmFyIHQ9LTE7aWYodGhpcy5jdXJyZW50SXRlbUlkKWZvcih2YXIgZT0wLG49dGhpcy5pdGVtcztlPG4ubGVuZ3RoO2UrKyl7dmFyIHI9bltlXS5jb21wb25lbnRJbnN0YW5jZTtpZihyJiZyLml0ZW1JZD09PXRoaXMuY3VycmVudEl0ZW1JZCl7dD1lO2JyZWFrfX10PDAmJih0PU1hdGgucm91bmQodGhpcy5jdXJyZW50KXx8MCksdD10PDA/MDp0LHRoaXMuY3VycmVudFN5bmMhPT10JiYodGhpcy5jdXJyZW50Q2hhbmdlU291cmNlPSIiLHRoaXMuY3VycmVudFN5bmM9dCl9LF9pdGVtUmVhZHk6ZnVuY3Rpb24odCxlKXt0LmNvbXBvbmVudEluc3RhbmNlJiZ0LmNvbXBvbmVudEluc3RhbmNlLl9pc01vdW50ZWQ/ZSgpOih0Ll9jYWxsYmFja3M9dC5fY2FsbGJhY2tzfHxbXSx0Ll9jYWxsYmFja3MucHVzaChlKSl9LF9jdXJyZW50Q2hhbmdlZDpmdW5jdGlvbih0LGUpe3ZhciBuPXRoaXMscj10aGlzLmN1cnJlbnRDaGFuZ2VTb3VyY2U7aWYodGhpcy5jdXJyZW50Q2hhbmdlU291cmNlPSIiLCFyKXt2YXIgaT10aGlzLml0ZW1zLmxlbmd0aDt0aGlzLl9hbmltYXRlVmlld3BvcnQodCwiIix0aGlzLmNpcmN1bGFyRW5hYmxlZCYmZSsoaS10KSVpPmkvMj8xOjApfXZhciBvPXRoaXMuaXRlbXNbdF07byYmdGhpcy5faXRlbVJlYWR5KG8sKGZ1bmN0aW9uKCl7dmFyIHQ9bi5jdXJyZW50SXRlbUlkU3luYz1vLmNvbXBvbmVudEluc3RhbmNlLml0ZW1JZHx8IiI7bi4kdHJpZ2dlcigiY2hhbmdlIix7fSx7Y3VycmVudDpuLmN1cnJlbnRTeW5jLGN1cnJlbnRJdGVtSWQ6dCxzb3VyY2U6cn0pfSkpfSxfc2NoZWR1bGVBdXRvcGxheTpmdW5jdGlvbigpe3ZhciB0PXRoaXM7dGhpcy5fY2FuY2VsU2NoZWR1bGUoKSwhdGhpcy5faXNNb3VudGVkfHx0aGlzLl9pbnZhbGlkfHx0aGlzLml0ZW1zLmxlbmd0aDw9dGhpcy5kaXNwbGF5TXVsdGlwbGVJdGVtc051bWJlcnx8KHRoaXMuX3RpbWVyPXNldFRpbWVvdXQoKGZ1bmN0aW9uIGUoKXt0Ll90aW1lcj1udWxsLHQuY3VycmVudENoYW5nZVNvdXJjZT0iYXV0b3BsYXkiLHQuY2lyY3VsYXJFbmFibGVkP3QuY3VycmVudFN5bmM9dC5fbm9ybWFsaXplQ3VycmVudFZhbHVlKHQuY3VycmVudFN5bmMrMSk6dC5jdXJyZW50U3luYz10LmN1cnJlbnRTeW5jK3QuZGlzcGxheU11bHRpcGxlSXRlbXNOdW1iZXI8dC5pdGVtcy5sZW5ndGg/dC5jdXJyZW50U3luYysxOjAsdC5fYW5pbWF0ZVZpZXdwb3J0KHQuY3VycmVudFN5bmMsImF1dG9wbGF5Iix0LmNpcmN1bGFyRW5hYmxlZD8xOjApLHQuX3RpbWVyPXNldFRpbWVvdXQoZSx0LmludGVydmFsTnVtYmVyKX0pLHRoaXMuaW50ZXJ2YWxOdW1iZXIpKX0sX2NhbmNlbFNjaGVkdWxlOmZ1bmN0aW9uKCl7dGhpcy5fdGltZXImJihjbGVhclRpbWVvdXQodGhpcy5fdGltZXIpLHRoaXMuX3RpbWVyPW51bGwpfSxfbm9ybWFsaXplQ3VycmVudFZhbHVlOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuaXRlbXMubGVuZ3RoO2lmKCFlKXJldHVybi0xO3ZhciBuPShNYXRoLnJvdW5kKHQpJWUrZSklZTtpZih0aGlzLmNpcmN1bGFyRW5hYmxlZCl7aWYoZTw9dGhpcy5kaXNwbGF5TXVsdGlwbGVJdGVtc051bWJlcilyZXR1cm4gMH1lbHNlIGlmKG4+ZS10aGlzLmRpc3BsYXlNdWx0aXBsZUl0ZW1zTnVtYmVyKXJldHVybiBlLXRoaXMuZGlzcGxheU11bHRpcGxlSXRlbXNOdW1iZXI7cmV0dXJuIG59LF91cHgycHg6ZnVuY3Rpb24odCl7cmV0dXJuL1xkK1t1cl1weCQvaS50ZXN0KHQpJiZ0LnJlcGxhY2UoL1xkK1t1cl1weCQvaSwoZnVuY3Rpb24odCl7cmV0dXJuIiIuY29uY2F0KHVuaS51cHgycHgocGFyc2VGbG9hdCh0KSksInB4Iil9KSksdHx8IiJ9LF9yZXNldExheW91dDpmdW5jdGlvbigpe2lmKHRoaXMuX2lzTW91bnRlZCl7dGhpcy5fY2FuY2VsU2NoZWR1bGUoKSx0aGlzLl9lbmRWaWV3cG9ydEFuaW1hdGlvbigpO2Zvcih2YXIgdD10aGlzLml0ZW1zLGU9MDtlPHQubGVuZ3RoO2UrKyl0aGlzLl91cGRhdGVJdGVtUG9zKGUsZSk7aWYodGhpcy5fdmlld3BvcnRNb3ZlUmF0aW89MSwxPT09dGhpcy5kaXNwbGF5TXVsdGlwbGVJdGVtc051bWJlciYmdC5sZW5ndGgpe3ZhciBuPXRbMF0uY29tcG9uZW50SW5zdGFuY2UuJGVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHI9dGhpcy4kcmVmcy5zbGlkZUZyYW1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3RoaXMuX3ZpZXdwb3J0TW92ZVJhdGlvPW4ud2lkdGgvci53aWR0aCx0aGlzLl92aWV3cG9ydE1vdmVSYXRpbz4wJiZ0aGlzLl92aWV3cG9ydE1vdmVSYXRpbzwxfHwodGhpcy5fdmlld3BvcnRNb3ZlUmF0aW89MSl9dmFyIGk9dGhpcy5fdmlld3BvcnRQb3NpdGlvbjt0aGlzLl92aWV3cG9ydFBvc2l0aW9uPS0yO3ZhciBvPXRoaXMuY3VycmVudFN5bmM7bz49MD8odGhpcy5faW52YWxpZD0hMSx0aGlzLnVzZXJUcmFja2luZz8odGhpcy5fdXBkYXRlVmlld3BvcnQoaStvLXRoaXMuX2NvbnRlbnRUcmFja1ZpZXdwb3J0KSx0aGlzLl9jb250ZW50VHJhY2tWaWV3cG9ydD1vKToodGhpcy5fdXBkYXRlVmlld3BvcnQobyksdGhpcy5hdXRvcGxheSYmdGhpcy5fc2NoZWR1bGVBdXRvcGxheSgpKSk6KHRoaXMuX2ludmFsaWQ9ITAsdGhpcy5fdXBkYXRlVmlld3BvcnQoLXRoaXMuZGlzcGxheU11bHRpcGxlSXRlbXNOdW1iZXItMSkpfX0sX2NoZWNrQ2lyY3VsYXJMYXlvdXQ6ZnVuY3Rpb24odCl7aWYoIXRoaXMuX2ludmFsaWQpZm9yKHZhciBlPXRoaXMuaXRlbXMsbj1lLmxlbmd0aCxyPXQrdGhpcy5kaXNwbGF5TXVsdGlwbGVJdGVtc051bWJlcixpPTA7aTxuO2krKyl7dmFyIG89ZVtpXSxhPW8uX3Bvc2l0aW9uLHM9TWF0aC5mbG9vcih0L24pKm4raSxjPXMrbix1PXMtbixsPU1hdGgubWF4KHQtKHMrMSkscy1yLDApLGY9TWF0aC5tYXgodC0oYysxKSxjLXIsMCksZD1NYXRoLm1heCh0LSh1KzEpLHUtciwwKSxoPU1hdGgubWluKGwsZixkKSxwPVtzLGMsdV1bW2wsZixkXS5pbmRleE9mKGgpXTthIT09cCYmdGhpcy5fdXBkYXRlSXRlbVBvcyhpLHApfX0sX3VwZGF0ZUl0ZW1Qb3M6ZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzLnZlcnRpY2FsPyIwIjoxMDAqZSsiJSIscj10aGlzLnZlcnRpY2FsPzEwMCplKyIlIjoiMCIsaT0idHJhbnNsYXRlKCIrbisiLCAiK3IrIikgdHJhbnNsYXRlWigwKSIsbz10aGlzLml0ZW1zW3RdO3RoaXMuX2l0ZW1SZWFkeShvLChmdW5jdGlvbigpe3ZhciB0PW8uY29tcG9uZW50SW5zdGFuY2UuJGVsO3Quc3R5bGVbIi13ZWJraXQtdHJhbnNmb3JtIl09aSx0LnN0eWxlLnRyYW5zZm9ybT1pLHQuX3Bvc2l0aW9uPWV9KSl9LF91cGRhdGVWaWV3cG9ydDpmdW5jdGlvbih0KXtNYXRoLmZsb29yKDIqdGhpcy5fdmlld3BvcnRQb3NpdGlvbik9PT1NYXRoLmZsb29yKDIqdCkmJk1hdGguY2VpbCgyKnRoaXMuX3ZpZXdwb3J0UG9zaXRpb24pPT09TWF0aC5jZWlsKDIqdCl8fHRoaXMuY2lyY3VsYXJFbmFibGVkJiZ0aGlzLl9jaGVja0NpcmN1bGFyTGF5b3V0KHQpO3ZhciBlPXRoaXMudmVydGljYWw/IjAiOjEwMCotdCp0aGlzLl92aWV3cG9ydE1vdmVSYXRpbysiJSIsbj10aGlzLnZlcnRpY2FsPzEwMCotdCp0aGlzLl92aWV3cG9ydE1vdmVSYXRpbysiJSI6IjAiLHI9InRyYW5zbGF0ZSgiK2UrIiwgIituKyIpIHRyYW5zbGF0ZVooMCkiLGk9dGhpcy4kcmVmcy5zbGlkZUZyYW1lO2lmKGkmJihpLnN0eWxlWyItd2Via2l0LXRyYW5zZm9ybSJdPXIsaS5zdHlsZS50cmFuc2Zvcm09ciksdGhpcy5fdmlld3BvcnRQb3NpdGlvbj10LCF0aGlzLl90cmFuc2l0aW9uU3RhcnQpe2lmKHQlMT09PTApcmV0dXJuO3RoaXMuX3RyYW5zaXRpb25TdGFydD10fXQtPU1hdGguZmxvb3IodGhpcy5fdHJhbnNpdGlvblN0YXJ0KSx0PD0tKHRoaXMuaXRlbXMubGVuZ3RoLTEpP3QrPXRoaXMuaXRlbXMubGVuZ3RoOnQ+PXRoaXMuaXRlbXMubGVuZ3RoJiYodC09dGhpcy5pdGVtcy5sZW5ndGgpLHQ9dGhpcy5fdHJhbnNpdGlvblN0YXJ0JTE+LjV8fHRoaXMuX3RyYW5zaXRpb25TdGFydDwwP3QtMTp0LHRoaXMuJHRyaWdnZXIoInRyYW5zaXRpb24iLHt9LHtkeDp0aGlzLnZlcnRpY2FsPzA6dCppLm9mZnNldFdpZHRoLGR5OnRoaXMudmVydGljYWw/dCppLm9mZnNldEhlaWdodDowfSl9LF9hbmltYXRlRnJhbWVGdW5jUHJvdG86ZnVuY3Rpb24oKXt2YXIgdD10aGlzO2lmKHRoaXMuX2FuaW1hdGluZyl7dmFyIGU9dGhpcy5fYW5pbWF0aW5nLG49ZS50b1BvcyxyPWUuYWNjLGk9ZS5lbmRUaW1lLG89ZS5zb3VyY2UsYT1pLURhdGUubm93KCk7aWYoYTw9MCl7dGhpcy5fdXBkYXRlVmlld3BvcnQobiksdGhpcy5fYW5pbWF0aW5nPW51bGwsdGhpcy5fcmVxdWVzdGVkQW5pbWF0aW9uPSExLHRoaXMuX3RyYW5zaXRpb25TdGFydD1udWxsO3ZhciBzPXRoaXMuaXRlbXNbdGhpcy5jdXJyZW50U3luY107cyYmdGhpcy5faXRlbVJlYWR5KHMsKGZ1bmN0aW9uKCl7dmFyIGU9cy5jb21wb25lbnRJbnN0YW5jZS5pdGVtSWR8fCIiO3QuJHRyaWdnZXIoImFuaW1hdGlvbmZpbmlzaCIse30se2N1cnJlbnQ6dC5jdXJyZW50U3luYyxjdXJyZW50SXRlbUlkOmUsc291cmNlOm99KX0pKX1lbHNle3ZhciBjPXIqYSphLzIsdT1uK2M7dGhpcy5fdXBkYXRlVmlld3BvcnQodSksdGhpcy5fYW5pbWF0aW9uRnJhbWU9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKHRoaXMuX2FuaW1hdGVGcmFtZUZ1bmNQcm90by5iaW5kKHRoaXMpKX19ZWxzZSB0aGlzLl9yZXF1ZXN0ZWRBbmltYXRpb249ITF9LF9hbmltYXRlVmlld3BvcnQ6ZnVuY3Rpb24odCxlLG4pe3RoaXMuX2NhbmNlbFZpZXdwb3J0QW5pbWF0aW9uKCk7dmFyIHI9dGhpcy5kdXJhdGlvbk51bWJlcixpPXRoaXMuaXRlbXMubGVuZ3RoLG89dGhpcy5fdmlld3BvcnRQb3NpdGlvbjtpZih0aGlzLmNpcmN1bGFyRW5hYmxlZClpZihuPDApe2Zvcig7bzx0OylvKz1pO2Zvcig7by1pPnQ7KW8tPWl9ZWxzZSBpZihuPjApe2Zvcig7bz50OylvLT1pO2Zvcig7bytpPHQ7KW8rPWk7bytpLXQ8dC1vJiYobys9aSl9ZWxzZXtmb3IoO28raTx0OylvKz1pO2Zvcig7by1pPnQ7KW8tPWk7bytpLXQ8dC1vJiYobys9aSl9ZWxzZSJjbGljayI9PT1lJiYodD10K3RoaXMuZGlzcGxheU11bHRpcGxlSXRlbXNOdW1iZXItMTxpP3Q6MCk7dGhpcy5fYW5pbWF0aW5nPXt0b1Bvczp0LGFjYzoyKihvLXQpLyhyKnIpLGVuZFRpbWU6RGF0ZS5ub3coKStyLHNvdXJjZTplfSx0aGlzLl9yZXF1ZXN0ZWRBbmltYXRpb258fCh0aGlzLl9yZXF1ZXN0ZWRBbmltYXRpb249ITAsdGhpcy5fYW5pbWF0aW9uRnJhbWU9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKHRoaXMuX2FuaW1hdGVGcmFtZUZ1bmNQcm90by5iaW5kKHRoaXMpKSl9LF9jYW5jZWxWaWV3cG9ydEFuaW1hdGlvbjpmdW5jdGlvbigpe3RoaXMuX2FuaW1hdGluZz1udWxsfSxfZW5kVmlld3BvcnRBbmltYXRpb246ZnVuY3Rpb24oKXt0aGlzLl9hbmltYXRpbmcmJih0aGlzLl91cGRhdGVWaWV3cG9ydCh0aGlzLl9hbmltYXRpbmcudG9Qb3MpLHRoaXMuX2FuaW1hdGluZz1udWxsKX0sX2hhbmRsZVRyYWNrU3RhcnQ6ZnVuY3Rpb24oKXt0aGlzLl9jYW5jZWxTY2hlZHVsZSgpLHRoaXMuX2NvbnRlbnRUcmFja1ZpZXdwb3J0PXRoaXMuX3ZpZXdwb3J0UG9zaXRpb24sdGhpcy5fY29udGVudFRyYWNrU3BlZWQ9MCx0aGlzLl9jb250ZW50VHJhY2tUPURhdGUubm93KCksdGhpcy5fY2FuY2VsVmlld3BvcnRBbmltYXRpb24oKX0sX2hhbmRsZVRyYWNrTW92ZTpmdW5jdGlvbih0KXt2YXIgZT10aGlzLG49dGhpcy5fY29udGVudFRyYWNrVDt0aGlzLl9jb250ZW50VHJhY2tUPURhdGUubm93KCk7dmFyIHI9dGhpcy5pdGVtcy5sZW5ndGgsaT1yLXRoaXMuZGlzcGxheU11bHRpcGxlSXRlbXNOdW1iZXI7ZnVuY3Rpb24gbyh0KXtyZXR1cm4uNS0uMjUvKHQrLjUpfWZ1bmN0aW9uIGEodCxuKXt2YXIgcj1lLl9jb250ZW50VHJhY2tWaWV3cG9ydCt0O2UuX2NvbnRlbnRUcmFja1NwZWVkPS42KmUuX2NvbnRlbnRUcmFja1NwZWVkKy40Km4sZS5jaXJjdWxhckVuYWJsZWR8fChyPDB8fHI+aSkmJihyPDA/cj0tbygtcik6cj5pJiYocj1pK28oci1pKSksZS5fY29udGVudFRyYWNrU3BlZWQ9MCksZS5fdXBkYXRlVmlld3BvcnQocil9dmFyIHM9dGhpcy5fY29udGVudFRyYWNrVC1ufHwxO3RoaXMudmVydGljYWw/YSgtdC5keS90aGlzLiRyZWZzLnNsaWRlRnJhbWUub2Zmc2V0SGVpZ2h0LC10LmRkeS9zKTphKC10LmR4L3RoaXMuJHJlZnMuc2xpZGVGcmFtZS5vZmZzZXRXaWR0aCwtdC5kZHgvcyl9LF9oYW5kbGVUcmFja0VuZDpmdW5jdGlvbih0KXt0aGlzLnVzZXJUcmFja2luZz0hMTt2YXIgZT10aGlzLl9jb250ZW50VHJhY2tTcGVlZC9NYXRoLmFicyh0aGlzLl9jb250ZW50VHJhY2tTcGVlZCksbj0wOyF0JiZNYXRoLmFicyh0aGlzLl9jb250ZW50VHJhY2tTcGVlZCk+LjImJihuPS41KmUpO3ZhciByPXRoaXMuX25vcm1hbGl6ZUN1cnJlbnRWYWx1ZSh0aGlzLl92aWV3cG9ydFBvc2l0aW9uK24pO3Q/dGhpcy5fdXBkYXRlVmlld3BvcnQodGhpcy5fY29udGVudFRyYWNrVmlld3BvcnQpOih0aGlzLmN1cnJlbnRDaGFuZ2VTb3VyY2U9InRvdWNoIix0aGlzLmN1cnJlbnRTeW5jPXIsdGhpcy5fYW5pbWF0ZVZpZXdwb3J0KHIsInRvdWNoIiwwIT09bj9uOjA9PT1yJiZ0aGlzLmNpcmN1bGFyRW5hYmxlZCYmdGhpcy5fdmlld3BvcnRQb3NpdGlvbj49MT8xOjApKX0sX2hhbmRsZUNvbnRlbnRUcmFjazpmdW5jdGlvbih0KXtpZighdGhpcy5kaXNhYmxlVG91Y2gmJnRoaXMuaXRlbXMubGVuZ3RoJiYhdGhpcy5faW52YWxpZCl7aWYoInN0YXJ0Ij09PXQuZGV0YWlsLnN0YXRlKXJldHVybiB0aGlzLnVzZXJUcmFja2luZz0hMCx0aGlzLl91c2VyRGlyZWN0aW9uQ2hlY2tlZD0hMSx0aGlzLl9oYW5kbGVUcmFja1N0YXJ0KCk7aWYoImVuZCI9PT10LmRldGFpbC5zdGF0ZSlyZXR1cm4gdGhpcy5faGFuZGxlVHJhY2tFbmQoITEpO2lmKCJjYW5jZWwiPT09dC5kZXRhaWwuc3RhdGUpcmV0dXJuIHRoaXMuX2hhbmRsZVRyYWNrRW5kKCEwKTtpZih0aGlzLnVzZXJUcmFja2luZyl7aWYoIXRoaXMuX3VzZXJEaXJlY3Rpb25DaGVja2VkKXt0aGlzLl91c2VyRGlyZWN0aW9uQ2hlY2tlZD0hMDt2YXIgZT1NYXRoLmFicyh0LmRldGFpbC5keCksbj1NYXRoLmFicyh0LmRldGFpbC5keSk7aWYoKGU+PW4mJnRoaXMudmVydGljYWx8fGU8PW4mJiF0aGlzLnZlcnRpY2FsKSYmKHRoaXMudXNlclRyYWNraW5nPSExKSwhdGhpcy51c2VyVHJhY2tpbmcpcmV0dXJuIHZvaWQodGhpcy5hdXRvcGxheSYmdGhpcy5fc2NoZWR1bGVBdXRvcGxheSgpKX1yZXR1cm4gdGhpcy5faGFuZGxlVHJhY2tNb3ZlKHQuZGV0YWlsKSwhMX19fSxfb25Td2lwZXJEb3RDbGljazpmdW5jdGlvbih0KXt0aGlzLl9hbmltYXRlVmlld3BvcnQodGhpcy5jdXJyZW50U3luYz10LHRoaXMuY3VycmVudENoYW5nZVNvdXJjZT0iY2xpY2siLHRoaXMuY2lyY3VsYXJFbmFibGVkPzE6MCl9LF9uYXZpZ2F0aW9uQ2xpY2s6ZnVuY3Rpb24odCxlLG4pe2lmKHQuc3RvcFByb3BhZ2F0aW9uKCksIW4pe3ZhciByPXRoaXMuaXRlbXMubGVuZ3RoLGk9dGhpcy5jdXJyZW50U3luYztzd2l0Y2goZSl7Y2FzZSJwcmV2IjppLS0saTwwJiZ0aGlzLmNpcmN1bGFyRW5hYmxlZCYmKGk9ci0xKTticmVhaztjYXNlIm5leHQiOmkrKyxpPj1yJiZ0aGlzLmNpcmN1bGFyRW5hYmxlZCYmKGk9MCk7YnJlYWt9dGhpcy5fb25Td2lwZXJEb3RDbGljayhpKX19LF9uYXZpZ2F0aW9uTW91c2VNb3ZlOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXM7Y2xlYXJUaW1lb3V0KHRoaXMuaGlkZU5hdmlnYXRpb25UaW1lcik7dmFyIG4scj10LmNsaWVudFgsaT10LmNsaWVudFksbz10aGlzLiRyZWZzLnNsaWRlc1dyYXBwZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksYT1vLmxlZnQscz1vLnJpZ2h0LGM9by50b3AsdT1vLmJvdHRvbSxsPW8ud2lkdGgsZj1vLmhlaWdodDtuPXRoaXMudmVydGljYWw/IShpLWM8Zi8zfHx1LWk8Zi8zKTohKHItYTxsLzN8fHMtcjxsLzMpLG4/dGhpcy5oaWRlTmF2aWdhdGlvblRpbWVyPXNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7ZS5oaWRlTmF2aWdhdGlvbj1ufSksMzAwKTp0aGlzLmhpZGVOYXZpZ2F0aW9uPW59LF9uYXZpZ2F0aW9uTW91c2VPdXQ6ZnVuY3Rpb24oKXt0aGlzLmhpZGVOYXZpZ2F0aW9uPSEwfSxfbmF2aWdhdGlvblN3aXBlckFkZE1vdXNlRXZlbnQ6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLiRyZWZzLnNsaWRlc1dyYXBwZXI7dCYmKHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIix0aGlzLl9uYXZpZ2F0aW9uTW91c2VNb3ZlKSx0LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLHRoaXMuX25hdmlnYXRpb25Nb3VzZU91dCksdGhpcy5pc05hdmlnYXRpb25BdXRvJiYodC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHRoaXMuX25hdmlnYXRpb25Nb3VzZU1vdmUpLHQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsdGhpcy5fbmF2aWdhdGlvbk1vdXNlT3V0KSkpfSxfbmF2aWdhdGlvbkhvdmVyOmZ1bmN0aW9uKHQsZSl7dmFyIG49dC5jdXJyZW50VGFyZ2V0O24mJihuLnN0eWxlLmJhY2tncm91bmRDb2xvcj0ib3ZlciI9PT1lP3RoaXMubmF2aWdhdGlvbkFjdGl2ZUNvbG9yOiIiKX0sX3NldE5hdmlnYXRpb25TdGF0ZTpmdW5jdGlvbigpe3ZhciB0PXRoaXMuaXRlbXMubGVuZ3RoLGU9IXRoaXMuY2lyY3VsYXJFbmFibGVkO3RoaXMucHJldkRpc2FibGVkPTA9PT10aGlzLmN1cnJlbnRTeW5jJiZlLHRoaXMubmV4dERpc2FibGVkPXRoaXMuY3VycmVudFN5bmM9PT10LTEmJmV8fGUmJnRoaXMuY3VycmVudFN5bmMrdGhpcy5kaXNwbGF5TXVsdGlwbGVJdGVtc051bWJlcj49dH19LHJlbmRlcjpmdW5jdGlvbih0KXt2YXIgZT10aGlzLG49W10scj1bXTt0aGlzLiRzbG90cy5kZWZhdWx0JiZPYmplY3QoaVsiZiJdKSh0aGlzLiRzbG90cy5kZWZhdWx0LHQpLmZvckVhY2goKGZ1bmN0aW9uKHQpe3QuY29tcG9uZW50T3B0aW9ucyYmInYtdW5pLXN3aXBlci1pdGVtIj09PXQuY29tcG9uZW50T3B0aW9ucy50YWcmJnIucHVzaCh0KX0pKTtmb3IodmFyIG89ZnVuY3Rpb24ocixpKXt2YXIgbz1lLmN1cnJlbnRTeW5jO24ucHVzaCh0KCJkaXYiLHtvbjp7Y2xpY2s6ZnVuY3Rpb24oKXtyZXR1cm4gZS5fb25Td2lwZXJEb3RDbGljayhyKX19LGNsYXNzOnsidW5pLXN3aXBlci1kb3QiOiEwLCJ1bmktc3dpcGVyLWRvdC1hY3RpdmUiOnI8bytlLmRpc3BsYXlNdWx0aXBsZUl0ZW1zTnVtYmVyJiZyPj1vfHxyPG8rZS5kaXNwbGF5TXVsdGlwbGVJdGVtc051bWJlci1pfSxzdHlsZTp7YmFja2dyb3VuZDpyPT09bz9lLmluZGljYXRvckFjdGl2ZUNvbG9yOmUuaW5kaWNhdG9yQ29sb3J9fSkpfSxzPTAsYz1yLmxlbmd0aDtzPGM7cysrKW8ocyxjKTt0aGlzLml0ZW1zPXI7dmFyIHU9W3QoImRpdiIse3JlZjoic2xpZGVzIixzdHlsZTp0aGlzLnNsaWRlc1N0eWxlLGNsYXNzOiJ1bmktc3dpcGVyLXNsaWRlcyJ9LFt0KCJkaXYiLHtyZWY6InNsaWRlRnJhbWUiLGNsYXNzOiJ1bmktc3dpcGVyLXNsaWRlLWZyYW1lIixzdHlsZTp0aGlzLnNsaWRlRnJhbWVTdHlsZX0scildKV07aWYodGhpcy5pbmRpY2F0b3JEb3RzJiZ1LnB1c2godCgiZGl2Iix7cmVmOiJzbGlkZXNEb3RzIixjbGFzczpbInVuaS1zd2lwZXItZG90cyIsdGhpcy52ZXJ0aWNhbD8idW5pLXN3aXBlci1kb3RzLXZlcnRpY2FsIjoidW5pLXN3aXBlci1kb3RzLWhvcml6b250YWwiXX0sbikpLHRoaXMubmF2aWdhdGlvbil7dmFyIGw9eyJ1bmktc3dpcGVyLW5hdmlnYXRpb24taGlkZSI6dGhpcy5oaWRlTmF2aWdhdGlvbiwidW5pLXN3aXBlci1uYXZpZ2F0aW9uLXZlcnRpY2FsIjp0aGlzLnZlcnRpY2FsfSxmPXQoImkiLHtkb21Qcm9wczp7aW5uZXJIVE1MOiImI3hlNjAxOyJ9LGNsYXNzOiJ1bmktYnRuLWljb24iLHN0eWxlOntjb2xvcjp0aGlzLm5hdmlnYXRpb25Db2xvcixmb250U2l6ZToiMjZweCJ9fSksZD17bW91c2VvdmVyOmZ1bmN0aW9uKHQpe3JldHVybiBlLl9uYXZpZ2F0aW9uSG92ZXIodCwib3ZlciIpfSxtb3VzZW91dDpmdW5jdGlvbih0KXtyZXR1cm4gZS5fbmF2aWdhdGlvbkhvdmVyKHQsIm91dCIpfX07dS5wdXNoKHQoImRpdiIse29uOmEoe2NsaWNrOmZ1bmN0aW9uKHQpe3JldHVybiBlLl9uYXZpZ2F0aW9uQ2xpY2sodCwicHJldiIsZS5wcmV2RGlzYWJsZWQpfX0sZCksY2xhc3M6WyJ1bmktc3dpcGVyLW5hdmlnYXRpb24iLCJ1bmktc3dpcGVyLW5hdmlnYXRpb24tcHJldiIsYSh7InVuaS1zd2lwZXItbmF2aWdhdGlvbi1kaXNhYmxlZCI6dGhpcy5wcmV2RGlzYWJsZWR9LGwpXX0sW2ZdKSx0KCJkaXYiLHtvbjphKHtjbGljazpmdW5jdGlvbih0KXtyZXR1cm4gZS5fbmF2aWdhdGlvbkNsaWNrKHQsIm5leHQiLGUubmV4dERpc2FibGVkKX19LGQpLGNsYXNzOlsidW5pLXN3aXBlci1uYXZpZ2F0aW9uIiwidW5pLXN3aXBlci1uYXZpZ2F0aW9uLW5leHQiLGEoeyJ1bmktc3dpcGVyLW5hdmlnYXRpb24tZGlzYWJsZWQiOnRoaXMubmV4dERpc2FibGVkfSxsKV19LFtmXSkpfXJldHVybiB0KCJ1bmktc3dpcGVyIix7b246dGhpcy4kbGlzdGVuZXJzfSxbdCgiZGl2Iix7cmVmOiJzbGlkZXNXcmFwcGVyIixjbGFzczoidW5pLXN3aXBlci13cmFwcGVyIn0sdSldKX19LHU9YyxsPShuKCI5YmJiIiksbigiODg0NCIpKSxmPU9iamVjdChsWyJhIl0pKHUsdm9pZCAwLHZvaWQgMCwhMSxudWxsLG51bGwsbnVsbCk7ZVsiZGVmYXVsdCJdPWYuZXhwb3J0c30sIjM4Y2UiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5kKGUsImQiLChmdW5jdGlvbigpe3JldHVybiBvfSkpLG4uZChlLCJjIiwoZnVuY3Rpb24oKXtyZXR1cm4gYX0pKSxuLmQoZSwiYiIsKGZ1bmN0aW9uKCl7cmV0dXJuIHN9KSksbi5kKGUsImUiLChmdW5jdGlvbigpe3JldHVybiBjfSkpLG4uZChlLCJhIiwoZnVuY3Rpb24oKXtyZXR1cm4gdX0pKTt2YXIgcj1uKCIzNDBkIiksaT1bIlN5c3RlbUFzeW5jTG9hZGluZyIsIlN5c3RlbUFzeW5jRXJyb3IiXTtmdW5jdGlvbiBvKHQpe3JldHVybiEoIXQuJHBhcmVudHx8IlBhZ2VCb2R5IiE9PXQuJHBhcmVudC4kb3B0aW9ucy5uYW1lKSYmLTE9PT1pLmluZGV4T2YodC4kb3B0aW9ucy5uYW1lKX1mdW5jdGlvbiBhKCl7dmFyIHQ9YXJndW1lbnRzLmxlbmd0aD4wJiZ2b2lkIDAhPT1hcmd1bWVudHNbMF0/YXJndW1lbnRzWzBdOnt9LGU9YXJndW1lbnRzLmxlbmd0aD4xP2FyZ3VtZW50c1sxXTp2b2lkIDA7cmV0dXJuIEFycmF5LmlzQXJyYXkodFtlXSkmJnRbZV0ubGVuZ3RofWZ1bmN0aW9uIHModCl7dmFyIGU9e30sbj10Ll9fdnVlX187ZnVuY3Rpb24gaSh0LG4pe3ZhciBpPXQuJGF0dHJzO2Zvcih2YXIgbyBpbiBpKWlmKG8uc3RhcnRzV2l0aCgiZGF0YS0iKSl7dmFyIGE9T2JqZWN0KHJbImIiXSkoby5zdWJzdHIoNSkudG9Mb3dlckNhc2UoKSkscz1pW29dO2VbYV09bj9zOmVbYV18fHN9fWlmKG4pe3ZhciBvPW47d2hpbGUobyYmby4kZWw9PT10KWkobyksbz1vLiRjaGlsZHJlblswXTt2YXIgYT1uLiRwYXJlbnQ7d2hpbGUoYSYmYS4kZWw9PT10KWkoYSwhMCksYT1hLiRwYXJlbnR9ZWxzZSBlPU9iamVjdC5hc3NpZ24oe30sdC5kYXRhc2V0LHQuX191bmlEYXRhc2V0KTtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgdD1hcmd1bWVudHMubGVuZ3RoPjAmJnZvaWQgMCE9PWFyZ3VtZW50c1swXT9hcmd1bWVudHNbMF06e30sZT1KU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHQpKSxuPU9iamVjdC5rZXlzKGUpLHI9bi5sZW5ndGg7aWYocilmb3IodmFyIGk9MDtpPHI7aSsrKXt2YXIgbz1uW2ldLGE9by5sZW5ndGg7InYiIT09by5zdWJzdHIoMCwxKXx8OSE9PWEmJjEwIT09YXx8ZGVsZXRlIGVbb119cmV0dXJuIGV9KGUpfWZ1bmN0aW9uIGModCl7cmV0dXJuIHQrPSIiLC0xIT09dC5pbmRleE9mKCJ1cHgiKT91bmkudXB4MnB4KHBhcnNlSW50KHQpfHwwKTpwYXJzZUludCh0KXx8MH1mdW5jdGlvbiB1KHQpe3ZhciBlPWdldEN1cnJlbnRQYWdlcygpLG49ZS5sZW5ndGg7d2hpbGUobi0tKXt2YXIgcj1lW25dO2lmKHIuJHBhZ2UmJnIuJHBhZ2UuZnVsbFBhdGg9PT10KXJldHVybiBufXJldHVybi0xfX0sMzkzNDpmdW5jdGlvbih0LGUsbil7fSwiMzkzZCI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtpZihuLnIoZSksInVuZGVmaW5lZCIhPT10eXBlb2Ygd2luZG93KXt2YXIgcj13aW5kb3cuZG9jdW1lbnQuY3VycmVudFNjcmlwdCxpPW4oImE5NDQiKTtyPWkoKSwiY3VycmVudFNjcmlwdCJpbiBkb2N1bWVudHx8T2JqZWN0LmRlZmluZVByb3BlcnR5KGRvY3VtZW50LCJjdXJyZW50U2NyaXB0Iix7Z2V0Oml9KTt2YXIgbz1yJiZyLnNyYy5tYXRjaCgvKC4rXC8pW14vXStcLmpzKFw/LiopPyQvKTtvJiYobi5wPW9bMV0pfW4oIjA2ODAiKX0sIjM5YTAiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5yKGUpLGZ1bmN0aW9uKHQscil7bi5kKGUsImNob29zZVZpZGVvIiwoZnVuY3Rpb24oKXtyZXR1cm4gZn0pKTt2YXIgaT1uKCJiZGVlIiksbz1uKCIwMzcyIiksYT1uKCI0OTNkIikscz1uKCI5MDllIiksYz10LHU9Yy5pbnZva2VDYWxsYmFja0hhbmRsZXIsbD1udWxsO2Z1bmN0aW9uIGYodCxlKXt2YXIgbj10LnNvdXJjZVR5cGUsYz10LmV4dGVuc2lvbjtsJiYoZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChsKSxsPW51bGwpLGw9T2JqZWN0KGFbImRlZmF1bHQiXSkoe3NvdXJjZVR5cGU6bixleHRlbnNpb246Yyx0eXBlOiJ2aWRlbyJ9KSxkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGwpLGwuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIiwoZnVuY3Rpb24odCl7dmFyIG4scj10LnRhcmdldC5maWxlc1swXSxvPXtlcnJNc2c6ImNob29zZVZpZGVvOm9rIix0ZW1wRmlsZTpyLHNpemU6ci5zaXplLGR1cmF0aW9uOjAsd2lkdGg6MCxoZWlnaHQ6MCxuYW1lOnIubmFtZX07T2JqZWN0LmRlZmluZVByb3BlcnR5KG8sInRlbXBGaWxlUGF0aCIse2dldDpmdW5jdGlvbigpe3JldHVybiBuPW58fE9iamVjdChpWyJiIl0pKHRoaXMudGVtcEZpbGUpLG59fSk7dmFyIGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidmlkZW8iKTtpZih2b2lkIDAhPT1hLm9ubG9hZGVkbWV0YWRhdGEpe3ZhciBzPU9iamVjdChpWyJiIl0pKHIpO2Eub25sb2FkZWRtZXRhZGF0YT1mdW5jdGlvbigpe09iamVjdChpWyJlIl0pKHMpLHUoZSxPYmplY3QuYXNzaWduKG8se2R1cmF0aW9uOmEuZHVyYXRpb258fDAsd2lkdGg6YS52aWRlb1dpZHRofHwwLGhlaWdodDphLnZpZGVvSGVpZ2h0fHwwfSkpfSxzZXRUaW1lb3V0KChmdW5jdGlvbigpe2Eub25sb2FkZWRtZXRhZGF0YT1udWxsLE9iamVjdChpWyJlIl0pKHMpLHUoZSxvKX0pLDMwMCksYS5zcmM9c31lbHNlIHUoZSxvKX0pKSxsLmNsaWNrKCksc1siZCJdLmdldFN0YXR1cygpfHxyLndhcm4oIiIuY29uY2F0KE9iamVjdChvWyJnIl0pKCJ1bmkuY2hvb3NlRmlsZS5ub3RVc2VyQWN0aXZhdGlvbiIpKSl9fS5jYWxsKHRoaXMsbigiMmM5ZiIpLG4oIjQxOGIiKVsiZGVmYXVsdCJdKX0sIjM5YTIiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5yKGUpLGZ1bmN0aW9uKHQpe3ZhciByO24uZChlLCJzdGFydENvbXBhc3MiLChmdW5jdGlvbigpe3JldHVybiBvfSkpLG4uZChlLCJzdG9wQ29tcGFzcyIsKGZ1bmN0aW9uKCl7cmV0dXJuIGF9KSksbi5kKGUsIm9uQ29tcGFzc0NoYW5nZSIsKGZ1bmN0aW9uKCl7cmV0dXJuIHN9KSksbi5kKGUsIm9mZkNvbXBhc3NDaGFuZ2UiLChmdW5jdGlvbigpe3JldHVybiBjfSkpO3ZhciBpPVtdO2Z1bmN0aW9uIG8oZSxuKXt2YXIgbz10LGE9by5pbnZva2VDYWxsYmFja0hhbmRsZXI7aWYoIXdpbmRvdy5EZXZpY2VPcmllbnRhdGlvbkV2ZW50KXJldHVybntlcnJNc2c6InN0YXJ0Q29tcGFzczpmYWlsIn07ZnVuY3Rpb24gcygpe3I9ZnVuY3Rpb24odCl7dmFyIGU9MzYwLXQuYWxwaGE7aS5mb3JFYWNoKChmdW5jdGlvbih0KXthKHQse2RpcmVjdGlvbjplfHwwfSl9KSl9LHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJkZXZpY2VvcmllbnRhdGlvbiIsciwhMSl9aWYoIXIpe2lmKERldmljZU9yaWVudGF0aW9uRXZlbnQucmVxdWVzdFBlcm1pc3Npb24pcmV0dXJuIHZvaWQgRGV2aWNlT3JpZW50YXRpb25FdmVudC5yZXF1ZXN0UGVybWlzc2lvbigpLnRoZW4oKGZ1bmN0aW9uKHQpeyJncmFudGVkIj09PXQ/KHMoKSxhKG4se2Vyck1zZzoic3RhcnRDb21wYXNzOm9rIn0pKTphKG4se2Vyck1zZzoic3RhcnRDb21wYXNzOmZhaWwgIi5jb25jYXQodCl9KX0pKS5jYXRjaCgoZnVuY3Rpb24odCl7YShuLHtlcnJNc2c6InN0YXJ0Q29tcGFzczpmYWlsICIuY29uY2F0KHQpfSl9KSk7cygpfXJldHVybnt9fWZ1bmN0aW9uIGEoKXtyZXR1cm4gciYmKHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJkZXZpY2VvcmllbnRhdGlvbiIsciwhMSkscj1udWxsKSx7fX1mdW5jdGlvbiBzKHQpe2kubGVuZ3RofHxvKCksaS5wdXNoKHQpfWZ1bmN0aW9uIGModCl7aWYodCl7dmFyIGU9aS5pbmRleE9mKHQpO2U+PTAmJmkuc3BsaWNlKGUsMSl9aS5sZW5ndGh8fGEoKX19LmNhbGwodGhpcyxuKCIyYzlmIikpfSwiMzliZCI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1mdW5jdGlvbih0LGUsbixyKXt0LmFkZEV2ZW50TGlzdGVuZXIoZSwoZnVuY3Rpb24odCl7ImZ1bmN0aW9uIj09PXR5cGVvZiBuJiYhMT09PW4odCkmJih0LnByZXZlbnREZWZhdWx0KCksdC5zdG9wUHJvcGFnYXRpb24oKSl9KSx7Y2FwdHVyZTpyLHBhc3NpdmU6ITF9KX07ZVsiYSJdPXtiZWZvcmVEZXN0cm95OmZ1bmN0aW9uKCl7ZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIix0aGlzLl9fbW91c2VNb3ZlRXZlbnRMaXN0ZW5lciksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsdGhpcy5fX21vdXNlVXBFdmVudExpc3RlbmVyKX0sbWV0aG9kczp7dG91Y2h0cmFjazpmdW5jdGlvbih0LGUsbil7dmFyIGksbyxhLHM9dGhpcyxjPXRoaXMsdT0wLGw9MCxmPTAsZD0wLGg9ZnVuY3Rpb24odCxuLHIsaSl7aWYoITE9PT1jW2VdKHt0YXJnZXQ6dC50YXJnZXQsY3VycmVudFRhcmdldDp0LmN1cnJlbnRUYXJnZXQscHJldmVudERlZmF1bHQ6dC5wcmV2ZW50RGVmYXVsdC5iaW5kKHQpLHN0b3BQcm9wYWdhdGlvbjp0LnN0b3BQcm9wYWdhdGlvbi5iaW5kKHQpLHRvdWNoZXM6dC50b3VjaGVzLGNoYW5nZWRUb3VjaGVzOnQuY2hhbmdlZFRvdWNoZXMsZGV0YWlsOntzdGF0ZTpuLHg6cix5OmksZHg6ci11LGR5OmktbCxkZHg6ci1mLGRkeTppLWQsdGltZVN0YW1wOnQudGltZVN0YW1wfX0pKXJldHVybiExfSxwPW51bGw7cih0LCJ0b3VjaHN0YXJ0IiwoZnVuY3Rpb24odCl7aWYobz0hMCwxPT09dC50b3VjaGVzLmxlbmd0aCYmIXApcmV0dXJuIHA9dCx1PWY9dC50b3VjaGVzWzBdLnBhZ2VYLGw9ZD10LnRvdWNoZXNbMF0ucGFnZVksaCh0LCJzdGFydCIsdSxsKX0pKSxyKHQsIm1vdXNlZG93biIsKGZ1bmN0aW9uKHQpe2lmKGE9ITAsIW8mJiFwKXJldHVybiBwPXQsdT1mPXQucGFnZVgsbD1kPXQucGFnZVksaCh0LCJzdGFydCIsdSxsKX0pKSxyKHQsInRvdWNobW92ZSIsKGZ1bmN0aW9uKHQpe2lmKDE9PT10LnRvdWNoZXMubGVuZ3RoJiZwKXt2YXIgZT1oKHQsIm1vdmUiLHQudG91Y2hlc1swXS5wYWdlWCx0LnRvdWNoZXNbMF0ucGFnZVkpO3JldHVybiBmPXQudG91Y2hlc1swXS5wYWdlWCxkPXQudG91Y2hlc1swXS5wYWdlWSxlfX0pKTt2YXIgdj10aGlzLl9fY2xpY2tFdmVudExpc3RlbmVyPWZ1bmN0aW9uKHQpe3QucHJldmVudERlZmF1bHQoKSx0LnN0b3BQcm9wYWdhdGlvbigpfSxnPXRoaXMuX19tb3VzZU1vdmVFdmVudExpc3RlbmVyPWZ1bmN0aW9uKHQpe2lmKCFvJiZhJiZwKXshaSYmKE1hdGguYWJzKGYtdSk+Mnx8TWF0aC5hYnMoZC1sKT4yKSYmKGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIix2LCEwKSxpPSEwKTt2YXIgZT1oKHQsIm1vdmUiLHQucGFnZVgsdC5wYWdlWSk7cmV0dXJuIGY9dC5wYWdlWCxkPXQucGFnZVksZX19O2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsZykscih0LCJ0b3VjaGVuZCIsKGZ1bmN0aW9uKHQpe2lmKDA9PT10LnRvdWNoZXMubGVuZ3RoJiZwKXJldHVybiBvPSExLHA9bnVsbCxoKHQsImVuZCIsdC5jaGFuZ2VkVG91Y2hlc1swXS5wYWdlWCx0LmNoYW5nZWRUb3VjaGVzWzBdLnBhZ2VZKX0pKTt2YXIgbT10aGlzLl9fbW91c2VVcEV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24odCl7aWYoYT0hMSwhbyYmcClyZXR1cm4gaSYmc2V0VGltZW91dCgoZnVuY3Rpb24oKXtkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJjbGljayIscy5fX2NsaWNrRXZlbnRMaXN0ZW5lciwhMCksaT0hMX0pLDApLHA9bnVsbCxoKHQsImVuZCIsdC5wYWdlWCx0LnBhZ2VZKX07ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsbSkscih0LCJ0b3VjaGNhbmNlbCIsKGZ1bmN0aW9uKHQpe2lmKHApe289ITE7dmFyIGU9cDtyZXR1cm4gcD1udWxsLGgodCxuPyJjYW5jZWwiOiJlbmQiLGUudG91Y2hlc1swXS5wYWdlWCxlLnRvdWNoZXNbMF0ucGFnZVkpfX0pKX19fX0sIjNhM2UiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5yKGUpO3ZhciByPW4oIjkwOWUiKSxpPXtuYW1lOiJSYWRpb0dyb3VwIixtaXhpbnM6W3JbImEiXSxyWyJmIl1dLHByb3BzOntuYW1lOnt0eXBlOlN0cmluZyxkZWZhdWx0OiIifX0sZGF0YTpmdW5jdGlvbigpe3JldHVybntyYWRpb0xpc3Q6W119fSxsaXN0ZW5lcnM6eyJAcmFkaW8tY2hhbmdlIjoiX2NoYW5nZUhhbmRsZXIiLCJAcmFkaW8tZ3JvdXAtdXBkYXRlIjoiX3JhZGlvR3JvdXBVcGRhdGVIYW5kbGVyIn0sbW91bnRlZDpmdW5jdGlvbigpe3RoaXMuX3Jlc2V0UmFkaW9Hcm91cFZhbHVlKHRoaXMucmFkaW9MaXN0Lmxlbmd0aC0xKX0sY3JlYXRlZDpmdW5jdGlvbigpe3RoaXMuJGRpc3BhdGNoKCJGb3JtIiwidW5pLWZvcm0tZ3JvdXAtdXBkYXRlIix7dHlwZToiYWRkIix2bTp0aGlzfSl9LGJlZm9yZURlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLiRkaXNwYXRjaCgiRm9ybSIsInVuaS1mb3JtLWdyb3VwLXVwZGF0ZSIse3R5cGU6InJlbW92ZSIsdm06dGhpc30pfSxtZXRob2RzOntfY2hhbmdlSGFuZGxlcjpmdW5jdGlvbih0LGUpe3ZhciBuPXRoaXMucmFkaW9MaXN0LmluZGV4T2YoZSk7dGhpcy5fcmVzZXRSYWRpb0dyb3VwVmFsdWUobiwhMCksdGhpcy4kdHJpZ2dlcigiY2hhbmdlIix0LHt2YWx1ZTplLnJhZGlvVmFsdWV9KX0sX3JhZGlvR3JvdXBVcGRhdGVIYW5kbGVyOmZ1bmN0aW9uKHQpe2lmKCJhZGQiPT09dC50eXBlKXRoaXMucmFkaW9MaXN0LnB1c2godC52bSk7ZWxzZXt2YXIgZT10aGlzLnJhZGlvTGlzdC5pbmRleE9mKHQudm0pO3RoaXMucmFkaW9MaXN0LnNwbGljZShlLDEpfX0sX3Jlc2V0UmFkaW9Hcm91cFZhbHVlOmZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpczt0aGlzLnJhZGlvTGlzdC5mb3JFYWNoKChmdW5jdGlvbihyLGkpe2khPT10JiYoZT9uLnJhZGlvTGlzdFtpXS5yYWRpb0NoZWNrZWQ9ITE6bi5yYWRpb0xpc3QuZm9yRWFjaCgoZnVuY3Rpb24odCxlKXtpPj1lfHxuLnJhZGlvTGlzdFtlXS5yYWRpb0NoZWNrZWQmJihuLnJhZGlvTGlzdFtpXS5yYWRpb0NoZWNrZWQ9ITEpfSkpKX0pKX0sX2dldEZvcm1EYXRhOmZ1bmN0aW9uKCl7dmFyIHQ9e307aWYoIiIhPT10aGlzLm5hbWUpe3ZhciBlPSIiO3RoaXMucmFkaW9MaXN0LmZvckVhY2goKGZ1bmN0aW9uKHQpe3QucmFkaW9DaGVja2VkJiYoZT10LnZhbHVlKX0pKSx0LnZhbHVlPWUsdC5rZXk9dGhpcy5uYW1lfXJldHVybiB0fX19LG89aSxhPShuKCIwMWFhIiksbigiODg0NCIpKSxzPU9iamVjdChhWyJhIl0pKG8sKGZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPXQuJGNyZWF0ZUVsZW1lbnQsbj10Ll9zZWxmLl9jfHxlO3JldHVybiBuKCJ1bmktcmFkaW8tZ3JvdXAiLHQuX2coe30sdC4kbGlzdGVuZXJzKSxbdC5fdCgiZGVmYXVsdCIpXSwyKX0pLFtdLCExLG51bGwsbnVsbCxudWxsKTtlWyJkZWZhdWx0Il09cy5leHBvcnRzfSwiM2FjZiI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtuLnIoZSksbi5kKGUsInBhZ2VTY3JvbGxUbyIsKGZ1bmN0aW9uKCl7cmV0dXJuIHJ9KSk7dmFyIHI9e3Njcm9sbFRvcDp7dHlwZTpOdW1iZXJ9LGR1cmF0aW9uOnt0eXBlOk51bWJlcixkZWZhdWx0OjMwMCx2YWxpZGF0b3I6ZnVuY3Rpb24odCxlKXtlLmR1cmF0aW9uPU1hdGgubWF4KDAsdCl9fX19LCIzYjJkIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO24ucihlKSxuLmQoZSwiJG9uIiwoZnVuY3Rpb24oKXtyZXR1cm4gc30pKSxuLmQoZSwiJG9mZiIsKGZ1bmN0aW9uKCl7cmV0dXJuIGN9KSksbi5kKGUsIiRvbmNlIiwoZnVuY3Rpb24oKXtyZXR1cm4gdX0pKSxuLmQoZSwiJGVtaXQiLChmdW5jdGlvbigpe3JldHVybiBsfSkpO3ZhciByPW4oIjk1MWMiKSxpPW4ubihyKSxvPW5ldyBpLmE7ZnVuY3Rpb24gYSh0LGUsbil7cmV0dXJuIHRbZV0uYXBwbHkodCxuKX1mdW5jdGlvbiBzKCl7cmV0dXJuIGEobywiJG9uIixBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpKX1mdW5jdGlvbiBjKCl7cmV0dXJuIGEobywiJG9mZiIsQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKSl9ZnVuY3Rpb24gdSgpe3JldHVybiBhKG8sIiRvbmNlIixBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpKX1mdW5jdGlvbiBsKCl7cmV0dXJuIGEobywiJGVtaXQiLEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cykpfX0sIjNiOGQiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5yKGUpLG4uZChlLCJzY2FuQ29kZSIsKGZ1bmN0aW9uKCl7cmV0dXJuIHJ9KSk7dmFyIHI9e29ubHlGcm9tQ2FtZXJhOnt0eXBlOkJvb2xlYW59LHNjYW5UeXBlOnt0eXBlOkFycmF5fSxhdXRvRGVjb2RlQ2hhclNldDp7dHlwZTpCb29sZWFufSxzb3VuZDp7dHlwZTpTdHJpbmcsZGVmYXVsdDoibm9uZSJ9LGF1dG9ab29tOnt0eXBlOkJvb2xlYW4sZGVmYXVsdDohMH19fSwiM2JiYiI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtuLnIoZSksbi5kKGUsImNvbXByZXNzVmlkZW8iLChmdW5jdGlvbigpe3JldHVybiBpfSkpO3ZhciByPW4oIjQ3MzgiKSxpPXtzcmM6e3R5cGU6U3RyaW5nLHJlcXVpcmVkOiEwLHZhbGlkYXRvcjpmdW5jdGlvbih0LGUpe2Uuc3JjPU9iamVjdChyWyJhIl0pKHQpfX0scXVhbGl0eTp7dHlwZTpTdHJpbmd9LGJpdHJhdGU6e3R5cGU6TnVtYmVyfSxmcHM6e3R5cGU6TnVtYmVyfSxyZXNvbHV0aW9uOnt0eXBlOk51bWJlcn19fSwiM2JkNiI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtuLnIoZSksbi5kKGUsInNldFRhYkJhckl0ZW0iLChmdW5jdGlvbigpe3JldHVybiBhfSkpLG4uZChlLCJzZXRUYWJCYXJTdHlsZSIsKGZ1bmN0aW9uKCl7cmV0dXJuIHN9KSksbi5kKGUsImhpZGVUYWJCYXIiLChmdW5jdGlvbigpe3JldHVybiBjfSkpLG4uZChlLCJzaG93VGFiQmFyIiwoZnVuY3Rpb24oKXtyZXR1cm4gdX0pKSxuLmQoZSwiaGlkZVRhYkJhclJlZERvdCIsKGZ1bmN0aW9uKCl7cmV0dXJuIGx9KSksbi5kKGUsInNob3dUYWJCYXJSZWREb3QiLChmdW5jdGlvbigpe3JldHVybiBmfSkpLG4uZChlLCJyZW1vdmVUYWJCYXJCYWRnZSIsKGZ1bmN0aW9uKCl7cmV0dXJuIGR9KSksbi5kKGUsInNldFRhYkJhckJhZGdlIiwoZnVuY3Rpb24oKXtyZXR1cm4gaH0pKTt2YXIgcj1uKCIzNDBkIiksaT1uKCI0NzM4Iiksbz17dHlwZTpOdW1iZXIscmVxdWlyZWQ6ITB9LGE9e2luZGV4Om8sdGV4dDp7dHlwZTpTdHJpbmd9LGljb25QYXRoOnt0eXBlOlN0cmluZ30sc2VsZWN0ZWRJY29uUGF0aDp7dHlwZTpTdHJpbmd9LHBhZ2VQYXRoOnt0eXBlOlN0cmluZ319LHM9e2NvbG9yOnt0eXBlOlN0cmluZ30sc2VsZWN0ZWRDb2xvcjp7dHlwZTpTdHJpbmd9LGJhY2tncm91bmRDb2xvcjp7dHlwZTpTdHJpbmd9LGJhY2tncm91bmRJbWFnZTp7dHlwZTpTdHJpbmcsdmFsaWRhdG9yOmZ1bmN0aW9uKHQsZSl7dCYmIS9eKGxpbmVhcnxyYWRpYWwpLWdyYWRpZW50XCguKz9cKTs/JC8udGVzdCh0KSYmKGUuYmFja2dyb3VuZEltYWdlPU9iamVjdChpWyJhIl0pKHQpKX19LGJhY2tncm91bmRSZXBlYXQ6e3R5cGU6U3RyaW5nfSxib3JkZXJTdHlsZTp7dHlwZTpTdHJpbmcsdmFsaWRhdG9yOmZ1bmN0aW9uKHQsZSl7dCYmKGUuYm9yZGVyU3R5bGU9ImJsYWNrIj09PXQ/ImJsYWNrIjoid2hpdGUiKX19fSxjPXthbmltYXRpb246e3R5cGU6Qm9vbGVhbixkZWZhdWx0OiExfX0sdT17YW5pbWF0aW9uOnt0eXBlOkJvb2xlYW4sZGVmYXVsdDohMX19LGw9e2luZGV4Om99LGY9e2luZGV4Om99LGQ9e2luZGV4Om99LGg9e2luZGV4Om8sdGV4dDp7dHlwZTpTdHJpbmcscmVxdWlyZWQ6ITAsdmFsaWRhdG9yOmZ1bmN0aW9uKHQsZSl7T2JqZWN0KHJbImgiXSkodCk+PTQmJihlLnRleHQ9Ii4uLiIpfX19fSwiM2M1ZiI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCJkZjUwIiksaT1uLm4ocik7aS5hfSwiM2QxZSI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjsoZnVuY3Rpb24odCl7bi5kKGUsImUiLChmdW5jdGlvbigpe3JldHVybiB1fSkpLG4uZChlLCJkIiwoZnVuY3Rpb24oKXtyZXR1cm4gbH0pKSxuLmQoZSwiYSIsKGZ1bmN0aW9uKCl7cmV0dXJuIGR9KSk7dmFyIHI9bigiY2ZmOSIpLGk9bigiMjYyNiIpO24uZChlLCJiIiwoZnVuY3Rpb24oKXtyZXR1cm4gaVsiYiJdfSkpLG4uZChlLCJjIiwoZnVuY3Rpb24oKXtyZXR1cm4gaVsiYyJdfSkpO3ZhciBvPU9iamVjdC5hc3NpZ247ZnVuY3Rpb24gYSgpe3JldHVybntwYXRoOiIiLHF1ZXJ5Ont9LHNjZW5lOjEwMDEscmVmZXJyZXJJbmZvOnthcHBJZDoiIixleHRyYURhdGE6e319fX12YXIgcz1hKCksYz1hKCk7ZnVuY3Rpb24gdSgpe3JldHVybiBjfWZ1bmN0aW9uIGwoKXtyZXR1cm4gc31mdW5jdGlvbiBmKHQpe3ZhciBlPXQucGF0aCxuPXQucXVlcnkscj10LnJlZmVycmVySW5mbztyZXR1cm4gbyhjLHtwYXRoOmUscXVlcnk6bnx8e30scmVmZXJyZXJJbmZvOnJ8fHt9fSksbyhzLGMpLGN9ZnVuY3Rpb24gZChlLG4sbyl7cmV0dXJue2NyZWF0ZWQ6ZnVuY3Rpb24oKXtPYmplY3QoaVsiYSJdKShlLHRoaXMsbiksby5tZXRhLm5hbWV8fHQuZW1pdCgib25QYWdlTm90Rm91bmQiLHtwYXRoOm8ucGF0aCxxdWVyeTpvLnF1ZXJ5LGlzRW50cnlQYWdlOiEwfSl9LGJlZm9yZU1vdW50OmZ1bmN0aW9uKCl7dGhpcy4kZWw9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFwcCIpfSxtb3VudGVkOmZ1bmN0aW9uKCl7Zih7cGF0aDp0aGlzLiRyb3V0ZS5tZXRhJiZ0aGlzLiRyb3V0ZS5tZXRhLnBhZ2VQYXRoLHF1ZXJ5OnRoaXMuJHJvdXRlLnF1ZXJ5fSksT2JqZWN0KHJbImEiXSkodGhpcywib25MYXVuY2giLGMpLE9iamVjdChyWyJhIl0pKHRoaXMsIm9uU2hvdyIscyl9fX19KS5jYWxsKHRoaXMsbigiMmM5ZiIpKX0sIjNkOGYiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiZjVlNyIpLGk9bi5uKHIpO2kuYX0sIjNlOTIiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiZDBhYSIpLGk9bi5uKHIpO2kuYX0sIjNmYzUiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5yKGUpLG4uZChlLCJkb3dubG9hZEZpbGUiLChmdW5jdGlvbigpe3JldHVybiByfSkpO3ZhciByPXt1cmw6e3R5cGU6U3RyaW5nLHJlcXVpcmVkOiEwfSxoZWFkZXI6e3R5cGU6T2JqZWN0LHZhbGlkYXRvcjpmdW5jdGlvbih0LGUpe2UuaGVhZGVyPXR8fHt9fX19fSwiNDE4YiI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtuLnIoZSksZnVuY3Rpb24odCl7dmFyIG49QXJyYXkucHJvdG90eXBlLnVuc2hpZnQ7ZnVuY3Rpb24gcih0KXtyZXR1cm4gbi5jYWxsKHQsIltzeXN0ZW1dIiksdH1mdW5jdGlvbiBpKGUpe3JldHVybiBmdW5jdGlvbigpe3ZhciBuPSEwOyJkZWJ1ZyIhPT1lfHxfX3VuaUNvbmZpZy5kZWJ1Z3x8KG49ITEpLG4mJnQuY29uc29sZVtlXS5hcHBseSh0LmNvbnNvbGUscihhcmd1bWVudHMpKX19ZVsiZGVmYXVsdCJdPXtsb2c6aSgibG9nIiksaW5mbzppKCJpbmZvIiksd2FybjppKCJ3YXJuIiksZGVidWc6aSgiZGVidWciKSxlcnJvcjppKCJlcnJvciIpfX0uY2FsbCh0aGlzLG4oIjBlZTQiKSl9LCI0MThjIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO24ucihlKSxmdW5jdGlvbih0KXtuLmQoZSwic2V0TmF2aWdhdGlvbkJhckNvbG9yIiwoZnVuY3Rpb24oKXtyZXR1cm4gb30pKSxuLmQoZSwic2hvd05hdmlnYXRpb25CYXJMb2FkaW5nIiwoZnVuY3Rpb24oKXtyZXR1cm4gYX0pKSxuLmQoZSwiaGlkZU5hdmlnYXRpb25CYXJMb2FkaW5nIiwoZnVuY3Rpb24oKXtyZXR1cm4gc30pKSxuLmQoZSwic2V0TmF2aWdhdGlvbkJhclRpdGxlIiwoZnVuY3Rpb24oKXtyZXR1cm4gY30pKTt2YXIgcj1uKCJkNGVlIik7ZnVuY3Rpb24gaShlKXt2YXIgbj1hcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXT9hcmd1bWVudHNbMV06e30saT1PYmplY3QoclsiZ2V0UGFnZUhvbGRlciJdKShuLl9fcGFnZV9fKTtpZihpKXN3aXRjaChlKXtjYXNlInNldE5hdmlnYXRpb25CYXJDb2xvciI6dmFyIG89bi5mcm9udENvbG9yLGE9bi5iYWNrZ3JvdW5kQ29sb3Iscz1uLmFuaW1hdGlvbixjPXMuZHVyYXRpb24sdT1zLnRpbWluZ0Z1bmM7byYmKGkubmF2aWdhdGlvbkJhci50ZXh0Q29sb3I9IiMwMDAwMDAiPT09bz8iYmxhY2siOiJ3aGl0ZSIpLGEmJihpLm5hdmlnYXRpb25CYXIuYmFja2dyb3VuZENvbG9yPWEpLHQuZW1pdCgib25OYXZpZ2F0aW9uQmFyQ2hhbmdlIix7dGV4dENvbG9yOiIjMDAwMDAwIj09PW8/IiMwMDAiOiIjZmZmIixiYWNrZ3JvdW5kQ29sb3I6aS5uYXZpZ2F0aW9uQmFyLmJhY2tncm91bmRDb2xvcn0pLGkubmF2aWdhdGlvbkJhci5kdXJhdGlvbj1jKyJtcyIsaS5uYXZpZ2F0aW9uQmFyLnRpbWluZ0Z1bmM9dTticmVhaztjYXNlInNob3dOYXZpZ2F0aW9uQmFyTG9hZGluZyI6aS5uYXZpZ2F0aW9uQmFyLmxvYWRpbmc9ITA7YnJlYWs7Y2FzZSJoaWRlTmF2aWdhdGlvbkJhckxvYWRpbmciOmkubmF2aWdhdGlvbkJhci5sb2FkaW5nPSExO2JyZWFrO2Nhc2Uic2V0TmF2aWdhdGlvbkJhclRpdGxlIjp2YXIgbD1uLnRpdGxlO2kubmF2aWdhdGlvbkJhci50aXRsZVRleHQ9bCxPYmplY3QoclsiaXNDdXJyZW50UGFnZSJdKShpKSYmKGRvY3VtZW50LnRpdGxlPWwpLHQuZW1pdCgib25OYXZpZ2F0aW9uQmFyQ2hhbmdlIix7dGl0bGVUZXh0Omx9KTticmVha31yZXR1cm57fX1mdW5jdGlvbiBvKHQpe3JldHVybiBpKCJzZXROYXZpZ2F0aW9uQmFyQ29sb3IiLHQpfWZ1bmN0aW9uIGEodCl7cmV0dXJuIGkoInNob3dOYXZpZ2F0aW9uQmFyTG9hZGluZyIsdCl9ZnVuY3Rpb24gcyh0KXtyZXR1cm4gaSgiaGlkZU5hdmlnYXRpb25CYXJMb2FkaW5nIix0KX1mdW5jdGlvbiBjKHQpe3JldHVybiBpKCJzZXROYXZpZ2F0aW9uQmFyVGl0bGUiLHQpfX0uY2FsbCh0aGlzLG4oIjJjOWYiKSl9LCI0MWNiIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO24uZChlLCJhIiwoZnVuY3Rpb24oKXtyZXR1cm4gYX0pKTt2YXIgaT1uKCIzNDBkIik7ZnVuY3Rpb24gbyh0KXtyZXR1cm4gbz0iZnVuY3Rpb24iPT09dHlwZW9mIFN5bWJvbCYmInN5bWJvbCI9PT1yKFN5bWJvbC5pdGVyYXRvcik/ZnVuY3Rpb24odCl7cmV0dXJuIHIodCl9OmZ1bmN0aW9uKHQpe3JldHVybiB0JiYiZnVuY3Rpb24iPT09dHlwZW9mIFN5bWJvbCYmdC5jb25zdHJ1Y3Rvcj09PVN5bWJvbCYmdCE9PVN5bWJvbC5wcm90b3R5cGU/InN5bWJvbCI6cih0KX0sbyh0KX1mdW5jdGlvbiBhKHQsZSxuKXt2YXIgcj1lW3RdLG89IU9iamVjdChpWyJpIl0pKG4sdCksYT1uW3RdLGM9ZnVuY3Rpb24odCxlKXtpZighQXJyYXkuaXNBcnJheShlKSlyZXR1cm4gZihlLHQpPzA6LTE7Zm9yKHZhciBuPTAscj1lLmxlbmd0aDtuPHI7bisrKWlmKGYoZVtuXSx0KSlyZXR1cm4gbjtyZXR1cm4tMX0oQm9vbGVhbixyLnR5cGUpO2lmKGM+LTEmJm8mJiFPYmplY3QoaVsiaSJdKShyLCJkZWZhdWx0IikmJihhPSExKSx2b2lkIDA9PT1hJiZPYmplY3QoaVsiaSJdKShyLCJkZWZhdWx0Iikpe3ZhciB1PXIuZGVmYXVsdDthPU9iamVjdChpWyJrIl0pKHUpP3UoKTp1LG5bdF09YX1yZXR1cm4gcyhyLHQsYSxvLG4pfWZ1bmN0aW9uIHModCxlLG4scixpKXtpZih0LnJlcXVpcmVkJiZyKXJldHVybiJNaXNzaW5nIHJlcXVpcmVkIHBhcmFtZXRlciBgIi5jb25jYXQoZSwiYCIpO2lmKG51bGw9PW4mJiF0LnJlcXVpcmVkKXt2YXIgbz10LnZhbGlkYXRvcjtyZXR1cm4gbz9vKG4saSk6dm9pZCAwfXZhciBhPXQudHlwZSxzPSFhfHwhMD09PWEsYz1bXTtpZihhKXtBcnJheS5pc0FycmF5KGEpfHwoYT1bYV0pO2Zvcih2YXIgbD0wO2w8YS5sZW5ndGgmJiFzO2wrKyl7dmFyIGY9dShuLGFbbF0pO2MucHVzaChmLmV4cGVjdGVkVHlwZXx8IiIpLHM9Zi52YWxpZH19aWYoIXMpcmV0dXJuIGQoZSxuLGMpO3ZhciBoPXQudmFsaWRhdG9yO3JldHVybiBoP2gobixpKTp2b2lkIDB9dmFyIGM9L14oU3RyaW5nfE51bWJlcnxCb29sZWFufEZ1bmN0aW9ufFN5bWJvbCkkLztmdW5jdGlvbiB1KHQsZSl7dmFyIG4scj1sKGUpO2lmKGMudGVzdChyKSl7dmFyIGE9byh0KTtuPWE9PT1yLnRvTG93ZXJDYXNlKCksbnx8Im9iamVjdCIhPT1hfHwobj10IGluc3RhbmNlb2YgZSl9ZWxzZSBuPXQuYnl0ZUxlbmd0aD49MHx8KCJPYmplY3QiPT09cj9PYmplY3QoaVsibCJdKSh0KToiQXJyYXkiPT09cj9BcnJheS5pc0FycmF5KHQpOnQgaW5zdGFuY2VvZiBlfHxPYmplY3QoaVsidiJdKSh0KT09PWwoZSkpO3JldHVybnt2YWxpZDpuLGV4cGVjdGVkVHlwZTpyfX1mdW5jdGlvbiBsKHQpe3ZhciBlPXQmJnQudG9TdHJpbmcoKS5tYXRjaCgvXlxzKmZ1bmN0aW9uIChcdyspLyk7cmV0dXJuIGU/ZVsxXToiIn1mdW5jdGlvbiBmKHQsZSl7cmV0dXJuIGwodCk9PT1sKGUpfWZ1bmN0aW9uIGQodCxlLG4pe3ZhciByPSJwYXJhbWV0ZXIgYCIuY29uY2F0KHQsImAuIikrIiBFeHBlY3RlZCAiLmNvbmNhdChuLmpvaW4oIiwgIikpLG89blswXSxhPU9iamVjdChpWyJ2Il0pKGUpLHM9aChlLG8pLGM9aChlLGEpO3JldHVybiAxPT09bi5sZW5ndGgmJnYobykmJiFmdW5jdGlvbigpe2Zvcih2YXIgdD1hcmd1bWVudHMubGVuZ3RoLGU9bmV3IEFycmF5KHQpLG49MDtuPHQ7bisrKWVbbl09YXJndW1lbnRzW25dO3JldHVybiBlLnNvbWUoKGZ1bmN0aW9uKHQpe3JldHVybiJib29sZWFuIj09PXQudG9Mb3dlckNhc2UoKX0pKX0obyxhKSYmKHIrPSIgd2l0aCB2YWx1ZSAiLmNvbmNhdChzKSkscis9IiwgZ290ICIuY29uY2F0KGEsIiAiKSx2KGEpJiYocis9IndpdGggdmFsdWUgIi5jb25jYXQoYywiLiIpKSxyfWZ1bmN0aW9uIGgodCxlKXtyZXR1cm4iU3RyaW5nIj09PWU/JyInLmNvbmNhdCh0LCciJyk6IiIuY29uY2F0KCJOdW1iZXIiPT09ZT9OdW1iZXIodCk6dCl9dmFyIHA9WyJzdHJpbmciLCJudW1iZXIiLCJib29sZWFuIl07ZnVuY3Rpb24gdih0KXtyZXR1cm4gcC5zb21lKChmdW5jdGlvbihlKXtyZXR1cm4gdC50b0xvd2VyQ2FzZSgpPT09ZX0pKX19LDQyMTM6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCJmNGFjIiksaT1uLm4ocik7aS5hfSwiNDJiZiI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj17bmFtZToiUGFnZVJlZnJlc2giLHByb3BzOntjb2xvcjp7dHlwZTpTdHJpbmcsZGVmYXVsdDoiIzJCRDAwOSJ9LG9mZnNldDp7dHlwZTpOdW1iZXIsZGVmYXVsdDowfX19LGk9cixvPShuKCJhMjJmIiksbigiODg0NCIpKSxhPU9iamVjdChvWyJhIl0pKGksKGZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPXQuJGNyZWF0ZUVsZW1lbnQsbj10Ll9zZWxmLl9jfHxlO3JldHVybiBuKCJ1bmktcGFnZS1yZWZyZXNoIixbbigiZGl2Iix7c3RhdGljQ2xhc3M6InVuaS1wYWdlLXJlZnJlc2giLHN0eWxlOnsibWFyZ2luLXRvcCI6dC5vZmZzZXQrInB4In19LFtuKCJkaXYiLHtzdGF0aWNDbGFzczoidW5pLXBhZ2UtcmVmcmVzaC1pbm5lciJ9LFtuKCJzdmciLHtzdGF0aWNDbGFzczoidW5pLXBhZ2UtcmVmcmVzaF9faWNvbiIsYXR0cnM6e2ZpbGw6dC5jb2xvcix3aWR0aDoiMjQiLGhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCJ9fSxbbigicGF0aCIse2F0dHJzOntkOiJNMTcuNjUgNi4zNUMxNi4yIDQuOSAxNC4yMSA0IDEyIDRjLTQuNDIgMC03Ljk5IDMuNTgtNy45OSA4czMuNTcgOCA3Ljk5IDhjMy43MyAwIDYuODQtMi41NSA3LjczLTZoLTIuMDhjLS44MiAyLjMzLTMuMDQgNC01LjY1IDQtMy4zMSAwLTYtMi42OS02LTZzMi42OS02IDYtNmMxLjY2IDAgMy4xNC42OSA0LjIyIDEuNzhMMTMgMTFoN1Y0bC0yLjM1IDIuMzV6In19KSxuKCJwYXRoIix7YXR0cnM6e2Q6Ik0wIDBoMjR2MjRIMHoiLGZpbGw6Im5vbmUifX0pXSksbigic3ZnIix7c3RhdGljQ2xhc3M6InVuaS1wYWdlLXJlZnJlc2hfX3NwaW5uZXIiLGF0dHJzOnt3aWR0aDoiMjQiLGhlaWdodDoiMjQiLHZpZXdCb3g6IjI1IDI1IDUwIDUwIn19LFtuKCJjaXJjbGUiLHtzdGF0aWNDbGFzczoidW5pLXBhZ2UtcmVmcmVzaF9fcGF0aCIsYXR0cnM6e3N0cm9rZTp0LmNvbG9yLGN4OiI1MCIsY3k6IjUwIixyOiIyMCIsZmlsbDoibm9uZSIsInN0cm9rZS13aWR0aCI6IjQiLCJzdHJva2UtbWl0ZXJsaW1pdCI6IjEwIn19KV0pXSldKV0pfSksW10sITEsbnVsbCxudWxsLG51bGwpO2VbImEiXT1hLmV4cG9ydHN9LDQzMzU6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtlWyJhIl09e2RhdGE6ZnVuY3Rpb24oKXtyZXR1cm57aG92ZXJpbmc6ITF9fSxwcm9wczp7aG92ZXJDbGFzczp7dHlwZTpTdHJpbmcsZGVmYXVsdDoibm9uZSJ9LGhvdmVyU3RvcFByb3BhZ2F0aW9uOnt0eXBlOkJvb2xlYW4sZGVmYXVsdDohMX0saG92ZXJTdGFydFRpbWU6e3R5cGU6W051bWJlcixTdHJpbmddLGRlZmF1bHQ6NTB9LGhvdmVyU3RheVRpbWU6e3R5cGU6W051bWJlcixTdHJpbmddLGRlZmF1bHQ6NDAwfX0sbWV0aG9kczp7X2hvdmVyVG91Y2hTdGFydDpmdW5jdGlvbih0KXt0LnRvdWNoZXMubGVuZ3RoPjF8fHRoaXMuX2hhbmRsZUhvdmVyU3RhcnQodCl9LF9ob3Zlck1vdXNlZG93bjpmdW5jdGlvbih0KXt0aGlzLl9ob3ZlclRvdWNofHwodGhpcy5faGFuZGxlSG92ZXJTdGFydCh0KSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsdGhpcy5faG92ZXJNb3VzZXVwKSl9LF9oYW5kbGVIb3ZlclN0YXJ0OmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXM7dC5faG92ZXJQcm9wYWdhdGlvblN0b3BwZWR8fHRoaXMuaG92ZXJDbGFzcyYmIm5vbmUiIT09dGhpcy5ob3ZlckNsYXNzJiYhdGhpcy5kaXNhYmxlZCYmKHRoaXMuaG92ZXJTdG9wUHJvcGFnYXRpb24mJih0Ll9ob3ZlclByb3BhZ2F0aW9uU3RvcHBlZD0hMCksdGhpcy5faG92ZXJUb3VjaD0hMCx0aGlzLl9ob3ZlclN0YXJ0VGltZXI9c2V0VGltZW91dCgoZnVuY3Rpb24oKXtlLmhvdmVyaW5nPSEwLGUuX2hvdmVyVG91Y2h8fGUuX2hvdmVyUmVzZXQoKX0pLHRoaXMuaG92ZXJTdGFydFRpbWUpKX0sX2hvdmVyTW91c2V1cDpmdW5jdGlvbigpe3RoaXMuX2hvdmVyVG91Y2gmJih0aGlzLl9oYW5kbGVIb3ZlckVuZCgpLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZXVwIix0aGlzLl9ob3Zlck1vdXNldXApKX0sX2hvdmVyVG91Y2hFbmQ6ZnVuY3Rpb24oKXt0aGlzLl9oYW5kbGVIb3ZlckVuZCgpfSxfaGFuZGxlSG92ZXJFbmQ6ZnVuY3Rpb24oKXt0aGlzLl9ob3ZlclRvdWNoPSExLHRoaXMuaG92ZXJpbmcmJnRoaXMuX2hvdmVyUmVzZXQoKX0sX2hvdmVyUmVzZXQ6ZnVuY3Rpb24oKXt2YXIgdD10aGlzO3JlcXVlc3RBbmltYXRpb25GcmFtZSgoZnVuY3Rpb24oKXtjbGVhclRpbWVvdXQodC5faG92ZXJTdGF5VGltZXIpLHQuX2hvdmVyU3RheVRpbWVyPXNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7dC5ob3ZlcmluZz0hMX0pLHQuaG92ZXJTdGF5VGltZSl9KSl9LF9ob3ZlclRvdWNoQ2FuY2VsOmZ1bmN0aW9uKCl7dGhpcy5faG92ZXJUb3VjaD0hMSx0aGlzLmhvdmVyaW5nPSExLGNsZWFyVGltZW91dCh0aGlzLl9ob3ZlclN0YXJ0VGltZXIpfX19fSwiNDNkZiI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtuLnIoZSksbi5kKGUsInNhdmVGaWxlIiwoZnVuY3Rpb24oKXtyZXR1cm4gaX0pKSxuLmQoZSwiZ2V0RmlsZUluZm8iLChmdW5jdGlvbigpe3JldHVybiBhfSkpLG4uZChlLCJnZXRTYXZlZEZpbGVJbmZvIiwoZnVuY3Rpb24oKXtyZXR1cm4gc30pKSxuLmQoZSwicmVtb3ZlU2F2ZWRGaWxlIiwoZnVuY3Rpb24oKXtyZXR1cm4gY30pKTt2YXIgcj1uKCI0NzM4IiksaT17dGVtcEZpbGVQYXRoOnt0eXBlOlN0cmluZyxyZXF1aXJlZDohMCx2YWxpZGF0b3I6ZnVuY3Rpb24odCxlKXtlLnRlbXBGaWxlUGF0aD1PYmplY3QoclsiYSJdKSh0KX19fSxvPVsibWQ1Iiwic2hhMSJdLGE9e2ZpbGVQYXRoOnt0eXBlOlN0cmluZyxyZXF1aXJlZDohMCx2YWxpZGF0b3I6ZnVuY3Rpb24odCxlKXtlLmZpbGVQYXRoPU9iamVjdChyWyJhIl0pKHQpfX0sZGlnZXN0QWxnb3JpdGhtOnt0eXBlOlN0cmluZyx2YWxpZGF0b3I6ZnVuY3Rpb24odCxlKXtlLmRpZ2VzdEFsZ29yaXRobT1vLmluY2x1ZGVzKHQpP3Q6b1swXX0sZGVmYXVsdDpvWzBdfX0scz17ZmlsZVBhdGg6e3R5cGU6U3RyaW5nLHJlcXVpcmVkOiEwLHZhbGlkYXRvcjpmdW5jdGlvbih0LGUpe2UuZmlsZVBhdGg9T2JqZWN0KHJbImEiXSkodCl9fX0sYz17ZmlsZVBhdGg6e3R5cGU6U3RyaW5nLHJlcXVpcmVkOiEwLHZhbGlkYXRvcjpmdW5jdGlvbih0LGUpe2UuZmlsZVBhdGg9T2JqZWN0KHJbImEiXSkodCl9fX19LDQ0NDI6ZnVuY3Rpb24odCxlLG4pe3ZhciBpPWZ1bmN0aW9uKHQpeyJ1c2Ugc3RyaWN0Ijt2YXIgZSxuPU9iamVjdC5wcm90b3R5cGUsaT1uLmhhc093blByb3BlcnR5LG89ImZ1bmN0aW9uIj09PXR5cGVvZiBTeW1ib2w/U3ltYm9sOnt9LGE9by5pdGVyYXRvcnx8IkBAaXRlcmF0b3IiLHM9by5hc3luY0l0ZXJhdG9yfHwiQEBhc3luY0l0ZXJhdG9yIixjPW8udG9TdHJpbmdUYWd8fCJAQHRvU3RyaW5nVGFnIjtmdW5jdGlvbiB1KHQsZSxuLHIpe3ZhciBpPWUmJmUucHJvdG90eXBlIGluc3RhbmNlb2Ygdj9lOnYsbz1PYmplY3QuY3JlYXRlKGkucHJvdG90eXBlKSxhPW5ldyBUKHJ8fFtdKTtyZXR1cm4gby5faW52b2tlPWZ1bmN0aW9uKHQsZSxuKXt2YXIgcj1mO3JldHVybiBmdW5jdGlvbihpLG8pe2lmKHI9PT1kKXRocm93IG5ldyBFcnJvcigiR2VuZXJhdG9yIGlzIGFscmVhZHkgcnVubmluZyIpO2lmKHI9PT1oKXtpZigidGhyb3ciPT09aSl0aHJvdyBvO3JldHVybiBBKCl9bi5tZXRob2Q9aSxuLmFyZz1vO3doaWxlKDEpe3ZhciBhPW4uZGVsZWdhdGU7aWYoYSl7dmFyIHM9ayhhLG4pO2lmKHMpe2lmKHM9PT1wKWNvbnRpbnVlO3JldHVybiBzfX1pZigibmV4dCI9PT1uLm1ldGhvZCluLnNlbnQ9bi5fc2VudD1uLmFyZztlbHNlIGlmKCJ0aHJvdyI9PT1uLm1ldGhvZCl7aWYocj09PWYpdGhyb3cgcj1oLG4uYXJnO24uZGlzcGF0Y2hFeGNlcHRpb24obi5hcmcpfWVsc2UicmV0dXJuIj09PW4ubWV0aG9kJiZuLmFicnVwdCgicmV0dXJuIixuLmFyZyk7cj1kO3ZhciBjPWwodCxlLG4pO2lmKCJub3JtYWwiPT09Yy50eXBlKXtpZihyPW4uZG9uZT9oOiJzdXNwZW5kZWRZaWVsZCIsYy5hcmc9PT1wKWNvbnRpbnVlO3JldHVybnt2YWx1ZTpjLmFyZyxkb25lOm4uZG9uZX19InRocm93Ij09PWMudHlwZSYmKHI9aCxuLm1ldGhvZD0idGhyb3ciLG4uYXJnPWMuYXJnKX19fSh0LG4sYSksb31mdW5jdGlvbiBsKHQsZSxuKXt0cnl7cmV0dXJue3R5cGU6Im5vcm1hbCIsYXJnOnQuY2FsbChlLG4pfX1jYXRjaChpKXtyZXR1cm57dHlwZToidGhyb3ciLGFyZzppfX19dC53cmFwPXU7dmFyIGY9InN1c3BlbmRlZFN0YXJ0IixkPSJleGVjdXRpbmciLGg9ImNvbXBsZXRlZCIscD17fTtmdW5jdGlvbiB2KCl7fWZ1bmN0aW9uIGcoKXt9ZnVuY3Rpb24gbSgpe312YXIgYj17fTtiW2FdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9O3ZhciB5PU9iamVjdC5nZXRQcm90b3R5cGVPZixfPXkmJnkoeShFKFtdKSkpO18mJl8hPT1uJiZpLmNhbGwoXyxhKSYmKGI9Xyk7dmFyIHc9bS5wcm90b3R5cGU9di5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShiKTtmdW5jdGlvbiB4KHQpe1sibmV4dCIsInRocm93IiwicmV0dXJuIl0uZm9yRWFjaCgoZnVuY3Rpb24oZSl7dFtlXT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5faW52b2tlKGUsdCl9fSkpfWZ1bmN0aW9uIFModCxlKXtmdW5jdGlvbiBuKG8sYSxzLGMpe3ZhciB1PWwodFtvXSx0LGEpO2lmKCJ0aHJvdyIhPT11LnR5cGUpe3ZhciBmPXUuYXJnLGQ9Zi52YWx1ZTtyZXR1cm4gZCYmIm9iamVjdCI9PT1yKGQpJiZpLmNhbGwoZCwiX19hd2FpdCIpP2UucmVzb2x2ZShkLl9fYXdhaXQpLnRoZW4oKGZ1bmN0aW9uKHQpe24oIm5leHQiLHQscyxjKX0pLChmdW5jdGlvbih0KXtuKCJ0aHJvdyIsdCxzLGMpfSkpOmUucmVzb2x2ZShkKS50aGVuKChmdW5jdGlvbih0KXtmLnZhbHVlPXQscyhmKX0pLChmdW5jdGlvbih0KXtyZXR1cm4gbigidGhyb3ciLHQscyxjKX0pKX1jKHUuYXJnKX12YXIgbzt0aGlzLl9pbnZva2U9ZnVuY3Rpb24odCxyKXtmdW5jdGlvbiBpKCl7cmV0dXJuIG5ldyBlKChmdW5jdGlvbihlLGkpe24odCxyLGUsaSl9KSl9cmV0dXJuIG89bz9vLnRoZW4oaSxpKTppKCl9fWZ1bmN0aW9uIGsodCxuKXt2YXIgcj10Lml0ZXJhdG9yW24ubWV0aG9kXTtpZihyPT09ZSl7aWYobi5kZWxlZ2F0ZT1udWxsLCJ0aHJvdyI9PT1uLm1ldGhvZCl7aWYodC5pdGVyYXRvclsicmV0dXJuIl0mJihuLm1ldGhvZD0icmV0dXJuIixuLmFyZz1lLGsodCxuKSwidGhyb3ciPT09bi5tZXRob2QpKXJldHVybiBwO24ubWV0aG9kPSJ0aHJvdyIsbi5hcmc9bmV3IFR5cGVFcnJvcigiVGhlIGl0ZXJhdG9yIGRvZXMgbm90IHByb3ZpZGUgYSAndGhyb3cnIG1ldGhvZCIpfXJldHVybiBwfXZhciBpPWwocix0Lml0ZXJhdG9yLG4uYXJnKTtpZigidGhyb3ciPT09aS50eXBlKXJldHVybiBuLm1ldGhvZD0idGhyb3ciLG4uYXJnPWkuYXJnLG4uZGVsZWdhdGU9bnVsbCxwO3ZhciBvPWkuYXJnO3JldHVybiBvP28uZG9uZT8oblt0LnJlc3VsdE5hbWVdPW8udmFsdWUsbi5uZXh0PXQubmV4dExvYywicmV0dXJuIiE9PW4ubWV0aG9kJiYobi5tZXRob2Q9Im5leHQiLG4uYXJnPWUpLG4uZGVsZWdhdGU9bnVsbCxwKTpvOihuLm1ldGhvZD0idGhyb3ciLG4uYXJnPW5ldyBUeXBlRXJyb3IoIml0ZXJhdG9yIHJlc3VsdCBpcyBub3QgYW4gb2JqZWN0Iiksbi5kZWxlZ2F0ZT1udWxsLHApfWZ1bmN0aW9uIEModCl7dmFyIGU9e3RyeUxvYzp0WzBdfTsxIGluIHQmJihlLmNhdGNoTG9jPXRbMV0pLDIgaW4gdCYmKGUuZmluYWxseUxvYz10WzJdLGUuYWZ0ZXJMb2M9dFszXSksdGhpcy50cnlFbnRyaWVzLnB1c2goZSl9ZnVuY3Rpb24gTyh0KXt2YXIgZT10LmNvbXBsZXRpb258fHt9O2UudHlwZT0ibm9ybWFsIixkZWxldGUgZS5hcmcsdC5jb21wbGV0aW9uPWV9ZnVuY3Rpb24gVCh0KXt0aGlzLnRyeUVudHJpZXM9W3t0cnlMb2M6InJvb3QifV0sdC5mb3JFYWNoKEMsdGhpcyksdGhpcy5yZXNldCghMCl9ZnVuY3Rpb24gRSh0KXtpZih0KXt2YXIgbj10W2FdO2lmKG4pcmV0dXJuIG4uY2FsbCh0KTtpZigiZnVuY3Rpb24iPT09dHlwZW9mIHQubmV4dClyZXR1cm4gdDtpZighaXNOYU4odC5sZW5ndGgpKXt2YXIgcj0tMSxvPWZ1bmN0aW9uIG4oKXt3aGlsZSgrK3I8dC5sZW5ndGgpaWYoaS5jYWxsKHQscikpcmV0dXJuIG4udmFsdWU9dFtyXSxuLmRvbmU9ITEsbjtyZXR1cm4gbi52YWx1ZT1lLG4uZG9uZT0hMCxufTtyZXR1cm4gby5uZXh0PW99fXJldHVybntuZXh0OkF9fWZ1bmN0aW9uIEEoKXtyZXR1cm57dmFsdWU6ZSxkb25lOiEwfX1yZXR1cm4gZy5wcm90b3R5cGU9dy5jb25zdHJ1Y3Rvcj1tLG0uY29uc3RydWN0b3I9ZyxtW2NdPWcuZGlzcGxheU5hbWU9IkdlbmVyYXRvckZ1bmN0aW9uIix0LmlzR2VuZXJhdG9yRnVuY3Rpb249ZnVuY3Rpb24odCl7dmFyIGU9ImZ1bmN0aW9uIj09PXR5cGVvZiB0JiZ0LmNvbnN0cnVjdG9yO3JldHVybiEhZSYmKGU9PT1nfHwiR2VuZXJhdG9yRnVuY3Rpb24iPT09KGUuZGlzcGxheU5hbWV8fGUubmFtZSkpfSx0Lm1hcms9ZnVuY3Rpb24odCl7cmV0dXJuIE9iamVjdC5zZXRQcm90b3R5cGVPZj9PYmplY3Quc2V0UHJvdG90eXBlT2YodCxtKToodC5fX3Byb3RvX189bSxjIGluIHR8fCh0W2NdPSJHZW5lcmF0b3JGdW5jdGlvbiIpKSx0LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHcpLHR9LHQuYXdyYXA9ZnVuY3Rpb24odCl7cmV0dXJue19fYXdhaXQ6dH19LHgoUy5wcm90b3R5cGUpLFMucHJvdG90eXBlW3NdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9LHQuQXN5bmNJdGVyYXRvcj1TLHQuYXN5bmM9ZnVuY3Rpb24oZSxuLHIsaSxvKXt2b2lkIDA9PT1vJiYobz1Qcm9taXNlKTt2YXIgYT1uZXcgUyh1KGUsbixyLGkpLG8pO3JldHVybiB0LmlzR2VuZXJhdG9yRnVuY3Rpb24obik/YTphLm5leHQoKS50aGVuKChmdW5jdGlvbih0KXtyZXR1cm4gdC5kb25lP3QudmFsdWU6YS5uZXh0KCl9KSl9LHgodyksd1tjXT0iR2VuZXJhdG9yIix3W2FdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9LHcudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4iW29iamVjdCBHZW5lcmF0b3JdIn0sdC5rZXlzPWZ1bmN0aW9uKHQpe3ZhciBlPVtdO2Zvcih2YXIgbiBpbiB0KWUucHVzaChuKTtyZXR1cm4gZS5yZXZlcnNlKCksZnVuY3Rpb24gbigpe3doaWxlKGUubGVuZ3RoKXt2YXIgcj1lLnBvcCgpO2lmKHIgaW4gdClyZXR1cm4gbi52YWx1ZT1yLG4uZG9uZT0hMSxufXJldHVybiBuLmRvbmU9ITAsbn19LHQudmFsdWVzPUUsVC5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOlQscmVzZXQ6ZnVuY3Rpb24odCl7aWYodGhpcy5wcmV2PTAsdGhpcy5uZXh0PTAsdGhpcy5zZW50PXRoaXMuX3NlbnQ9ZSx0aGlzLmRvbmU9ITEsdGhpcy5kZWxlZ2F0ZT1udWxsLHRoaXMubWV0aG9kPSJuZXh0Iix0aGlzLmFyZz1lLHRoaXMudHJ5RW50cmllcy5mb3JFYWNoKE8pLCF0KWZvcih2YXIgbiBpbiB0aGlzKSJ0Ij09PW4uY2hhckF0KDApJiZpLmNhbGwodGhpcyxuKSYmIWlzTmFOKCtuLnNsaWNlKDEpKSYmKHRoaXNbbl09ZSl9LHN0b3A6ZnVuY3Rpb24oKXt0aGlzLmRvbmU9ITA7dmFyIHQ9dGhpcy50cnlFbnRyaWVzWzBdLGU9dC5jb21wbGV0aW9uO2lmKCJ0aHJvdyI9PT1lLnR5cGUpdGhyb3cgZS5hcmc7cmV0dXJuIHRoaXMucnZhbH0sZGlzcGF0Y2hFeGNlcHRpb246ZnVuY3Rpb24odCl7aWYodGhpcy5kb25lKXRocm93IHQ7dmFyIG49dGhpcztmdW5jdGlvbiByKHIsaSl7cmV0dXJuIHMudHlwZT0idGhyb3ciLHMuYXJnPXQsbi5uZXh0PXIsaSYmKG4ubWV0aG9kPSJuZXh0IixuLmFyZz1lKSwhIWl9Zm9yKHZhciBvPXRoaXMudHJ5RW50cmllcy5sZW5ndGgtMTtvPj0wOy0tbyl7dmFyIGE9dGhpcy50cnlFbnRyaWVzW29dLHM9YS5jb21wbGV0aW9uO2lmKCJyb290Ij09PWEudHJ5TG9jKXJldHVybiByKCJlbmQiKTtpZihhLnRyeUxvYzw9dGhpcy5wcmV2KXt2YXIgYz1pLmNhbGwoYSwiY2F0Y2hMb2MiKSx1PWkuY2FsbChhLCJmaW5hbGx5TG9jIik7aWYoYyYmdSl7aWYodGhpcy5wcmV2PGEuY2F0Y2hMb2MpcmV0dXJuIHIoYS5jYXRjaExvYywhMCk7aWYodGhpcy5wcmV2PGEuZmluYWxseUxvYylyZXR1cm4gcihhLmZpbmFsbHlMb2MpfWVsc2UgaWYoYyl7aWYodGhpcy5wcmV2PGEuY2F0Y2hMb2MpcmV0dXJuIHIoYS5jYXRjaExvYywhMCl9ZWxzZXtpZighdSl0aHJvdyBuZXcgRXJyb3IoInRyeSBzdGF0ZW1lbnQgd2l0aG91dCBjYXRjaCBvciBmaW5hbGx5Iik7aWYodGhpcy5wcmV2PGEuZmluYWxseUxvYylyZXR1cm4gcihhLmZpbmFsbHlMb2MpfX19fSxhYnJ1cHQ6ZnVuY3Rpb24odCxlKXtmb3IodmFyIG49dGhpcy50cnlFbnRyaWVzLmxlbmd0aC0xO24+PTA7LS1uKXt2YXIgcj10aGlzLnRyeUVudHJpZXNbbl07aWYoci50cnlMb2M8PXRoaXMucHJldiYmaS5jYWxsKHIsImZpbmFsbHlMb2MiKSYmdGhpcy5wcmV2PHIuZmluYWxseUxvYyl7dmFyIG89cjticmVha319byYmKCJicmVhayI9PT10fHwiY29udGludWUiPT09dCkmJm8udHJ5TG9jPD1lJiZlPD1vLmZpbmFsbHlMb2MmJihvPW51bGwpO3ZhciBhPW8/by5jb21wbGV0aW9uOnt9O3JldHVybiBhLnR5cGU9dCxhLmFyZz1lLG8/KHRoaXMubWV0aG9kPSJuZXh0Iix0aGlzLm5leHQ9by5maW5hbGx5TG9jLHApOnRoaXMuY29tcGxldGUoYSl9LGNvbXBsZXRlOmZ1bmN0aW9uKHQsZSl7aWYoInRocm93Ij09PXQudHlwZSl0aHJvdyB0LmFyZztyZXR1cm4iYnJlYWsiPT09dC50eXBlfHwiY29udGludWUiPT09dC50eXBlP3RoaXMubmV4dD10LmFyZzoicmV0dXJuIj09PXQudHlwZT8odGhpcy5ydmFsPXRoaXMuYXJnPXQuYXJnLHRoaXMubWV0aG9kPSJyZXR1cm4iLHRoaXMubmV4dD0iZW5kIik6Im5vcm1hbCI9PT10LnR5cGUmJmUmJih0aGlzLm5leHQ9ZSkscH0sZmluaXNoOmZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10aGlzLnRyeUVudHJpZXMubGVuZ3RoLTE7ZT49MDstLWUpe3ZhciBuPXRoaXMudHJ5RW50cmllc1tlXTtpZihuLmZpbmFsbHlMb2M9PT10KXJldHVybiB0aGlzLmNvbXBsZXRlKG4uY29tcGxldGlvbixuLmFmdGVyTG9jKSxPKG4pLHB9fSxjYXRjaDpmdW5jdGlvbih0KXtmb3IodmFyIGU9dGhpcy50cnlFbnRyaWVzLmxlbmd0aC0xO2U+PTA7LS1lKXt2YXIgbj10aGlzLnRyeUVudHJpZXNbZV07aWYobi50cnlMb2M9PT10KXt2YXIgcj1uLmNvbXBsZXRpb247aWYoInRocm93Ij09PXIudHlwZSl7dmFyIGk9ci5hcmc7TyhuKX1yZXR1cm4gaX19dGhyb3cgbmV3IEVycm9yKCJpbGxlZ2FsIGNhdGNoIGF0dGVtcHQiKX0sZGVsZWdhdGVZaWVsZDpmdW5jdGlvbih0LG4scil7cmV0dXJuIHRoaXMuZGVsZWdhdGU9e2l0ZXJhdG9yOkUodCkscmVzdWx0TmFtZTpuLG5leHRMb2M6cn0sIm5leHQiPT09dGhpcy5tZXRob2QmJih0aGlzLmFyZz1lKSxwfX0sdH0odC5leHBvcnRzKTt0cnl7cmVnZW5lcmF0b3JSdW50aW1lPWl9Y2F0Y2gobyl7RnVuY3Rpb24oInIiLCJyZWdlbmVyYXRvclJ1bnRpbWUgPSByIikoaSl9fSw0NDk4OmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcigpe3ZhciB0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCIjY2xpcGJvYXJkIiksZT10P3QudmFsdWU6dm9pZCAwO3JldHVybiBlP3tkYXRhOmUsZXJyTXNnOiJnZXRDbGlwYm9hcmREYXRhOm9rIn06e2Vyck1zZzoiZ2V0Q2xpcGJvYXJkRGF0YTpmYWlsIn19ZnVuY3Rpb24gaSh0KXt2YXIgZT10LmRhdGEsbj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiI2NsaXBib2FyZCIpO24mJm4ucmVtb3ZlKCk7dmFyIHI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGV4dGFyZWEiKTtyLnNldEF0dHJpYnV0ZSgiaW5wdXRtb2RlIiwibm9uZSIpLHIuaWQ9IiNjbGlwYm9hcmQiLHIuc3R5bGUucG9zaXRpb249ImZpeGVkIixyLnN0eWxlLnRvcD0iLTk5OTlweCIsci5zdHlsZS56SW5kZXg9Ii05OTk5Iixkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHIpLHIudmFsdWU9ZSxyLnNlbGVjdCgpLHIuc2V0U2VsZWN0aW9uUmFuZ2UoMCxyLnZhbHVlLmxlbmd0aCk7dmFyIGk9ZG9jdW1lbnQuZXhlY0NvbW1hbmQoIkNvcHkiLCExLG51bGwpO3JldHVybiByLmJsdXIoKSxpP3tlcnJNc2c6InNldENsaXBib2FyZERhdGE6b2sifTp7ZXJyTXNnOiJzZXRDbGlwYm9hcmREYXRhOmZhaWwifX1uLnIoZSksbi5kKGUsImdldENsaXBib2FyZERhdGEiLChmdW5jdGlvbigpe3JldHVybiByfSkpLG4uZChlLCJzZXRDbGlwYm9hcmREYXRhIiwoZnVuY3Rpb24oKXtyZXR1cm4gaX0pKX0sIjQ0YjkiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5yKGUpLG4uZChlLCJjb21wcmVzc0ltYWdlIiwoZnVuY3Rpb24oKXtyZXR1cm4gaX0pKTt2YXIgcj1uKCI0NzM4IiksaT17c3JjOnt0eXBlOlN0cmluZyxyZXF1aXJlZDohMCx2YWxpZGF0b3I6ZnVuY3Rpb24odCxlKXtlLnNyYz1PYmplY3QoclsiYSJdKSh0KX19fX0sIjQ0ZjEiOmZ1bmN0aW9uKHQsZSxuKXt0LmV4cG9ydHM9bigiNDQ0MiIpfSwiNDVhMiI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtuLnIoZSk7dmFyIHI9bigiOTUxYyIpLGk9bi5uKHIpLG89bigiN2Q5NiIpLGE9b1siYSJdLHM9KG4oIjhhMjQiKSxuKCI4ODQ0IikpLGM9T2JqZWN0KHNbImEiXSkoYSwoZnVuY3Rpb24oKXt2YXIgdD10aGlzLGU9dC4kY3JlYXRlRWxlbWVudCxuPXQuX3NlbGYuX2N8fGU7cmV0dXJuIG4oInVuaS1hcHAiLHtjbGFzczp7InVuaS1hcHAtLXNob3d0YWJiYXIiOnQuc2hvd1RhYkJhciwidW5pLWFwcC0tbWF4d2lkdGgiOnQuc2hvd01heFdpZHRofX0sW24oImxheW91dCIse3JlZjoibGF5b3V0IixhdHRyczp7InJvdXRlci1rZXkiOnQua2V5LCJrZWVwLWFsaXZlLWluY2x1ZGUiOnQua2VlcEFsaXZlSW5jbHVkZX0sb246e21heFdpZHRoOnQub25NYXhXaWR0aCxsYXlvdXQ6dC5vbkxheW91dH19KSx0Lmhhc1RhYkJhcj9uKCJ0YWItYmFyIix0Ll9iKHtkaXJlY3RpdmVzOlt7bmFtZToic2hvdyIscmF3TmFtZToidi1zaG93Iix2YWx1ZTp0LnNob3dUYWJCYXIsZXhwcmVzc2lvbjoic2hvd1RhYkJhciJ9XSxyZWY6InRhYkJhciJ9LCJ0YWItYmFyIix0LnRhYkJhck9wdGlvbnMsITEpKTp0Ll9lKCksdC4kb3B0aW9ucy5jb21wb25lbnRzLlRvYXN0P24oInRvYXN0Iix0Ll9iKHt9LCJ0b2FzdCIsdC5zaG93VG9hc3QsITEpKTp0Ll9lKCksdC4kb3B0aW9ucy5jb21wb25lbnRzLkFjdGlvblNoZWV0P24oImFjdGlvbi1zaGVldCIsdC5fYih7b246e2Nsb3NlOnQuX29uQWN0aW9uU2hlZXRDbG9zZX19LCJhY3Rpb24tc2hlZXQiLHQuc2hvd0FjdGlvblNoZWV0LCExKSk6dC5fZSgpLHQuJG9wdGlvbnMuY29tcG9uZW50cy5Nb2RhbD9uKCJtb2RhbCIsdC5fYih7b246e2Nsb3NlOnQuX29uTW9kYWxDbG9zZX19LCJtb2RhbCIsdC5zaG93TW9kYWwsITEpKTp0Ll9lKCksdC4kb3B0aW9ucy5jb21wb25lbnRzLlByZXZpZXdJbWFnZT9uKCJwcmV2aWV3LWltYWdlIix0Ll9iKHtvbjp7Y2xvc2U6dC5fb25QcmV2aWV3Q2xvc2V9fSwicHJldmlldy1pbWFnZSIsdC5wcmV2aWV3SW1hZ2UsITEpKTp0Ll9lKCksdC5zeXNDb21wb25lbnRzJiZ0LnN5c0NvbXBvbmVudHMubGVuZ3RoP3QuX2wodC5zeXNDb21wb25lbnRzLChmdW5jdGlvbih0LGUpe3JldHVybiBuKHQse2tleTplLHRhZzoiY29tcG9uZW50In0pfSkpOnQuX2UoKV0sMil9KSxbXSwhMSxudWxsLG51bGwsbnVsbCksdT1jLmV4cG9ydHMsbD1uKCJlNWIzIiksZj1sWyJhIl0sZD0obigiZmM3YyIpLE9iamVjdChzWyJhIl0pKGYsKGZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPXQuJGNyZWF0ZUVsZW1lbnQsbj10Ll9zZWxmLl9jfHxlO3JldHVybiBuKCJ1bmktcGFnZSIse2F0dHJzOnsiZGF0YS1wYWdlIjp0LiRyb3V0ZS5tZXRhLnBhZ2VQYXRofX0sWyJub25lIiE9PXQubmF2aWdhdGlvbkJhci50eXBlP24oInBhZ2UtaGVhZCIsdC5fYih7fSwicGFnZS1oZWFkIix0Lm5hdmlnYXRpb25CYXIsITEpKTp0Ll9lKCksdC5lbmFibGVQdWxsRG93blJlZnJlc2g/bigicGFnZS1yZWZyZXNoIix7cmVmOiJyZWZyZXNoIixhdHRyczp7Y29sb3I6dC5yZWZyZXNoT3B0aW9ucy5jb2xvcixvZmZzZXQ6dC5yZWZyZXNoT3B0aW9ucy5vZmZzZXR9fSk6dC5fZSgpLHQuZW5hYmxlUHVsbERvd25SZWZyZXNoP24oInBhZ2UtYm9keSIse25hdGl2ZU9uOnt0b3VjaHN0YXJ0OmZ1bmN0aW9uKGUpe3JldHVybiB0Ll90b3VjaHN0YXJ0KGUpfSx0b3VjaG1vdmU6ZnVuY3Rpb24oZSl7cmV0dXJuIHQuX3RvdWNobW92ZShlKX0sdG91Y2hlbmQ6ZnVuY3Rpb24oZSl7cmV0dXJuIHQuX3RvdWNoZW5kKGUpfSx0b3VjaGNhbmNlbDpmdW5jdGlvbihlKXtyZXR1cm4gdC5fdG91Y2hlbmQoZSl9fX0sW3QuX3QoInBhZ2UiKV0sMik6bigicGFnZS1ib2R5IixbdC5fdCgicGFnZSIpXSwyKV0sMSl9KSxbXSwhMSxudWxsLG51bGwsbnVsbCkpLGg9ZC5leHBvcnRzLHA9bigiMDM3MiIpLHY9e25hbWU6IkFzeW5jRXJyb3IiLG1peGluczpbcFsiYyJdXSxtZXRob2RzOntfb25DbGljazpmdW5jdGlvbigpe3dpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKX19fSxnPXYsbT0obigiNTUwNSIpLE9iamVjdChzWyJhIl0pKGcsKGZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPXQuJGNyZWF0ZUVsZW1lbnQsbj10Ll9zZWxmLl9jfHxlO3JldHVybiBuKCJkaXYiLHtzdGF0aWNDbGFzczoidW5pLWFzeW5jLWVycm9yIixvbjp7Y2xpY2s6dC5fb25DbGlja319LFt0Ll92KCIgIit0Ll9zKHQuJCR0KCJ1bmkuYXN5bmMuZXJyb3IiKSkrIiAiKV0pfSksW10sITEsbnVsbCxudWxsLG51bGwpKSxiPW0uZXhwb3J0cyx5PXtuYW1lOiJBc3luY0xvYWRpbmcifSxfPShuKCJkOTM3IiksT2JqZWN0KHNbImEiXSkoeSwoZnVuY3Rpb24oKXt2YXIgdD10aGlzO3QuJGNyZWF0ZUVsZW1lbnQ7cmV0dXJuIHQuX3NlbGYuX2MsdC5fbSgwKX0pLFtmdW5jdGlvbigpe3ZhciB0PXRoaXMuJGNyZWF0ZUVsZW1lbnQsZT10aGlzLl9zZWxmLl9jfHx0O3JldHVybiBlKCJkaXYiLHtzdGF0aWNDbGFzczoidW5pLWFzeW5jLWxvYWRpbmcifSxbZSgiaSIse3N0YXRpY0NsYXNzOiJ1bmktbG9hZGluZyJ9KV0pfV0sITEsbnVsbCxudWxsLG51bGwpKSx3PV8uZXhwb3J0cyx4PW4oIjhiNzciKSxTPXhbImEiXSxrPU9iamVjdChzWyJhIl0pKFMsKGZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPXQuJGNyZWF0ZUVsZW1lbnQsbj10Ll9zZWxmLl9jfHxlO3JldHVybiB0Lmhhc1RhYkJhcj9uKCJ1bmktdGFiYmFyIix7ZGlyZWN0aXZlczpbe25hbWU6InNob3ciLHJhd05hbWU6InYtc2hvdyIsdmFsdWU6dC5zaG93VGFiQmFyLGV4cHJlc3Npb246InNob3dUYWJCYXIifV19LFtuKCJkaXYiLHtzdGF0aWNDbGFzczoidW5pLXRhYmJhciIsc3R5bGU6eyJmbGV4LWRpcmVjdGlvbiI6InZlcnRpY2FsIj09PXQuZGlyZWN0aW9uPyJjb2x1bW4iOiJyb3ciLGJhY2tncm91bmRDb2xvcjp0LnRhYkJhck9wdGlvbnMuYmFja2dyb3VuZENvbG9yfX0sW3QuX2wodC50YWJCYXJPcHRpb25zLmxpc3QsKGZ1bmN0aW9uKGUscil7cmV0dXJuWyExIT09ZS52aXNpYmxlP24oImRpdiIse2tleTplLnBhZ2VQYXRoLHN0YXRpY0NsYXNzOiJ1bmktdGFiYmFyX19pdGVtIixvbjp7Y2xpY2s6ZnVuY3Rpb24obil7cmV0dXJuIHQuX3N3aXRjaFRhYihlLHIpfX19LFtuKCJkaXYiLHtzdGF0aWNDbGFzczoidW5pLXRhYmJhcl9fYmQifSxbdC5zaG93SWNvbiYmZS5pY29uUGF0aD9uKCJkaXYiLHtzdGF0aWNDbGFzczoidW5pLXRhYmJhcl9faWNvbiIsY2xhc3M6eyJ1bmktdGFiYmFyX19pY29uX19kaWZmIjohZS50ZXh0fX0sW24oImltZyIse2F0dHJzOntzcmM6dC5fZ2V0UmVhbFBhdGgodC5zZWxlY3RlZEluZGV4PT09cj9lLnNlbGVjdGVkSWNvblBhdGg6ZS5pY29uUGF0aCl9fSksZS5yZWREb3Q/bigiZGl2Iix7c3RhdGljQ2xhc3M6InVuaS10YWJiYXJfX3JlZGRvdCIsY2xhc3M6eyJ1bmktdGFiYmFyX19iYWRnZSI6ISFlLmJhZGdlfX0sW3QuX3YoIiAiK3QuX3MoZS5iYWRnZSkrIiAiKV0pOnQuX2UoKV0pOnQuX2UoKSxlLnRleHQ/bigiZGl2Iix7c3RhdGljQ2xhc3M6InVuaS10YWJiYXJfX2xhYmVsIixzdHlsZTp7Y29sb3I6dC5zZWxlY3RlZEluZGV4PT09cj90LnRhYkJhck9wdGlvbnMuc2VsZWN0ZWRDb2xvcjp0LnRhYkJhck9wdGlvbnMuY29sb3IsZm9udFNpemU6dC5zaG93SWNvbiYmZS5pY29uUGF0aD8iMTBweCI6IjE0cHgifX0sW3QuX3YoIiAiK3QuX3MoZS50ZXh0KSsiICIpLCFlLnJlZERvdHx8dC5zaG93SWNvbiYmZS5pY29uUGF0aD90Ll9lKCk6bigiZGl2Iix7c3RhdGljQ2xhc3M6InVuaS10YWJiYXJfX3JlZGRvdCIsY2xhc3M6eyJ1bmktdGFiYmFyX19iYWRnZSI6ISFlLmJhZGdlfX0sW3QuX3YoIiAiK3QuX3MoZS5iYWRnZSkrIiAiKV0pXSk6dC5fZSgpXSldKTp0Ll9lKCldfSkpXSwyKV0pOnQuX2UoKX0pLFtdLCExLG51bGwsbnVsbCxudWxsKSxDPWsuZXhwb3J0cyxPPW4oIjRlZDQiKSxUPU9bImEiXSxFPShuKCJiMTZiIiksT2JqZWN0KHNbImEiXSkoVCwoZnVuY3Rpb24oKXt2YXIgdD10aGlzLGU9dC4kY3JlYXRlRWxlbWVudCxuPXQuX3NlbGYuX2N8fGU7cmV0dXJuIG4oImRpdiIse3N0YXRpY0NsYXNzOiJ1bmktc3lzdGVtLWNob29zZS1sb2NhdGlvbiJ9LFtuKCJ2LXVuaS1tYXAiLHtzdGF0aWNDbGFzczoibWFwIixhdHRyczp7bGF0aXR1ZGU6dC5sYXRpdHVkZSxsb25naXR1ZGU6dC5sb25naXR1ZGUsInNob3ctbG9jYXRpb24iOiIiLGxpYnJhcmllczpbInBsYWNlcyJdfSxvbjp7dXBkYXRlZDp0LmdldExpc3QscmVnaW9uY2hhbmdlOnQub25SZWdpb25DaGFuZ2V9fSxbbigiZGl2Iix7c3RhdGljQ2xhc3M6Im1hcC1sb2NhdGlvbiIsc3R5bGU6dC5sb2NhdGlvblN0eWxlfSksbigiZGl2Iix7c3RhdGljQ2xhc3M6Im1hcC1tb3ZlIixvbjp7Y2xpY2s6dC5tb3ZlVG9Mb2NhdGlvbn19LFtuKCJpIixbdC5fdigi7rCyIildKV0pXSksbigiZGl2Iix7c3RhdGljQ2xhc3M6Im5hdiJ9LFtuKCJkaXYiLHtzdGF0aWNDbGFzczoibmF2LWJ0biBiYWNrIixvbjp7Y2xpY2s6dC5iYWNrfX0sW24oImkiLHtzdGF0aWNDbGFzczoidW5pLWJ0bi1pY29uIn0sW3QuX3YoIu6ZkCIpXSldKSxuKCJkaXYiLHtzdGF0aWNDbGFzczoibmF2LWJ0biBjb25maXJtIixjbGFzczp7ZGlzYWJsZTohdC5zZWxlY3RlZH0sb246e2NsaWNrOnQuY2hvb3NlfX0sW24oImkiLHtzdGF0aWNDbGFzczoidW5pLWJ0bi1pY29uIn0sW3QuX3YoIu6ZkSIpXSldKV0pLG4oImRpdiIse3N0YXRpY0NsYXNzOiJtZW51In0sW24oImRpdiIse3N0YXRpY0NsYXNzOiJzZWFyY2gifSxbbigidi11bmktaW5wdXQiLHtzdGF0aWNDbGFzczoic2VhcmNoLWlucHV0IixhdHRyczp7cGxhY2Vob2xkZXI6dC4kJHQoInVuaS5jaG9vc2VMb2NhdGlvbi5zZWFyY2giKX0sb246e2ZvY3VzOmZ1bmN0aW9uKGUpe3Quc2VhcmNoaW5nPSEwfSxpbnB1dDp0LmlucHV0fSxtb2RlbDp7dmFsdWU6dC5rZXl3b3JkLGNhbGxiYWNrOmZ1bmN0aW9uKGUpe3Qua2V5d29yZD1lfSxleHByZXNzaW9uOiJrZXl3b3JkIn19KSx0LnNlYXJjaGluZz9uKCJkaXYiLHtzdGF0aWNDbGFzczoic2VhcmNoLWJ0biIsb246e2NsaWNrOmZ1bmN0aW9uKGUpe3Quc2VhcmNoaW5nPSExLHQua2V5d29yZD0iIn19fSxbdC5fdigiICIrdC5fcyh0LiQkdCgidW5pLmNob29zZUxvY2F0aW9uLmNhbmNlbCIpKSsiICIpXSk6dC5fZSgpXSwxKSxuKCJ2LXVuaS1zY3JvbGwtdmlldyIse3N0YXRpY0NsYXNzOiJsaXN0IixhdHRyczp7InNjcm9sbC15IjoiIn0sb246e3Njcm9sbHRvbG93ZXI6dC5sb2FkTW9yZX19LFt0LmxvYWRpbmc/bigiZGl2Iix7c3RhdGljQ2xhc3M6Imxpc3QtbG9hZGluZyJ9LFtuKCJpIix7c3RhdGljQ2xhc3M6InVuaS1sb2FkaW5nIn0pXSk6dC5fZSgpLHQuX2wodC5saXN0LChmdW5jdGlvbihlLHIpe3JldHVybiBuKCJkaXYiLHtrZXk6cixzdGF0aWNDbGFzczoibGlzdC1pdGVtIixjbGFzczp7c2VsZWN0ZWQ6dC5zZWxlY3RlZEluZGV4PT09cn0sb246e2NsaWNrOmZ1bmN0aW9uKG4pe3Quc2VsZWN0ZWRJbmRleD1yLHQubGF0aXR1ZGU9ZS5sYXRpdHVkZSx0LmxvbmdpdHVkZT1lLmxvbmdpdHVkZX19fSxbbigiZGl2Iix7c3RhdGljQ2xhc3M6Imxpc3QtaXRlbS10aXRsZSJ9LFt0Ll92KCIgIit0Ll9zKGUubmFtZSkrIiAiKV0pLG4oImRpdiIse3N0YXRpY0NsYXNzOiJsaXN0LWl0ZW0tZGV0YWlsIn0sW3QuX3YoIiAiK3QuX3ModC5fZigiZGlzdGFuY2UiKShlLmRpc3RhbmNlKSkrdC5fcyhlLmFkZHJlc3MpKyIgIildKV0pfSkpXSwyKV0sMSldLDEpfSksW10sITEsbnVsbCxudWxsLG51bGwpKSxBPUUuZXhwb3J0cyxqPW4oImI0MzUiKSxNPXtuYW1lOiJTeXN0ZW1PcGVuTG9jYXRpb24iLGRhdGE6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLiRyb3V0ZS5xdWVyeSxlPXQubGF0aXR1ZGUsbj10LmxvbmdpdHVkZSxyPXQuc2NhbGUsaT12b2lkIDA9PT1yPzE4OnIsbz10Lm5hbWUsYT12b2lkIDA9PT1vPyIiOm8scz10LmFkZHJlc3MsYz12b2lkIDA9PT1zPyIiOnM7cmV0dXJue2xhdGl0dWRlOmUsbG9uZ2l0dWRlOm4sc2NhbGU6aSxuYW1lOmEsYWRkcmVzczpjLGNlbnRlcjp7bGF0aXR1ZGU6ZSxsb25naXR1ZGU6bn0sbWFya2VyOntpZDoxLGxhdGl0dWRlOmUsbG9uZ2l0dWRlOm4saWNvblBhdGg6alsiYiJdLHdpZHRoOjMyLGhlaWdodDo1Mn0sbG9jYXRpb246e2lkOjIsbGF0aXR1ZGU6MCxsb25naXR1ZGU6MCxpY29uUGF0aDpqWyJhIl0sd2lkdGg6NDQsaGVpZ2h0OjQ0fX19LG1vdW50ZWQ6ZnVuY3Rpb24oKXt2YXIgdD10aGlzO3VuaS5nZXRMb2NhdGlvbih7dHlwZToiZ2NqMDIiLHN1Y2Nlc3M6ZnVuY3Rpb24oZSl7dmFyIG49ZS5sYXRpdHVkZSxyPWUubG9uZ2l0dWRlO3QubG9jYXRpb24ubGF0aXR1ZGU9bix0LmxvY2F0aW9uLmxvbmdpdHVkZT1yfX0pfSxtZXRob2RzOntvblJlZ2lvbkNoYW5nZTpmdW5jdGlvbih0KXt2YXIgZT10LmRldGFpbC5jZW50ZXJMb2NhdGlvbjtlJiYodGhpcy5jZW50ZXIubGF0aXR1ZGU9ZS5sYXRpdHVkZSx0aGlzLmNlbnRlci5sb25naXR1ZGU9ZS5sb25naXR1ZGUpfSxzZXRDZW50ZXI6ZnVuY3Rpb24odCl7dmFyIGU9dC5sYXRpdHVkZSxuPXQubG9uZ2l0dWRlO3RoaXMuY2VudGVyLmxhdGl0dWRlPWUsdGhpcy5jZW50ZXIubG9uZ2l0dWRlPW59LGJhY2s6ZnVuY3Rpb24oKXtnZXRBcHAoKS4kcm91dGVyLmJhY2soKX0sbmF2OmZ1bmN0aW9uKCl7dmFyIHQ9T2JqZWN0KGpbImUiXSkoKSxlPSIiO2lmKHQudHlwZT09PWpbImQiXS5HT09HTEUpe3ZhciBuPXRoaXMubG9jYXRpb24ubGF0aXR1ZGU/IiZvcmlnaW49Ii5jb25jYXQodGhpcy5sb2NhdGlvbi5sYXRpdHVkZSwiJTJDIikuY29uY2F0KHRoaXMubG9jYXRpb24ubG9uZ2l0dWRlKToiIjtlPSJodHRwczovL3d3dy5nb29nbGUuY29tL21hcHMvZGlyLz9hcGk9MSIuY29uY2F0KG4sIiZkZXN0aW5hdGlvbj0iKS5jb25jYXQodGhpcy5sYXRpdHVkZSwiJTJDIikuY29uY2F0KHRoaXMubG9uZ2l0dWRlKX1lbHNlIGlmKHQudHlwZT09PWpbImQiXS5RUSl7dmFyIHI9dGhpcy5sb2NhdGlvbi5sYXRpdHVkZT8iJmZyb21jb29yZD0iLmNvbmNhdCh0aGlzLmxvY2F0aW9uLmxhdGl0dWRlLCIlMkMiKS5jb25jYXQodGhpcy5sb2NhdGlvbi5sb25naXR1ZGUsIiZmcm9tPSIpLmNvbmNhdChlbmNvZGVVUklDb21wb25lbnQoIuaIkeeahOS9jee9riIpKToiIjtlPSJodHRwczovL2FwaXMubWFwLnFxLmNvbS91cmkvdjEvcm91dGVwbGFuP3R5cGU9ZHJpdmUiLmNvbmNhdChyLCImdG9jb29yZD0iKS5jb25jYXQodGhpcy5sYXRpdHVkZSwiJTJDIikuY29uY2F0KHRoaXMubG9uZ2l0dWRlLCImdG89IikuY29uY2F0KGVuY29kZVVSSUNvbXBvbmVudCh0aGlzLm5hbWV8fCLnm67nmoTlnLAiKSwiJnJlZj0iKS5jb25jYXQodC5rZXkpfWVsc2UgaWYodC50eXBlPT09alsiZCJdLkFNQVApe3ZhciBpPXRoaXMubG9jYXRpb24ubGF0aXR1ZGU/ImZyb209Ii5jb25jYXQodGhpcy5sb2NhdGlvbi5sb25naXR1ZGUsIiwiKS5jb25jYXQodGhpcy5sb2NhdGlvbi5sYXRpdHVkZSwiLCIpLmNvbmNhdChlbmNvZGVVUklDb21wb25lbnQoIuaIkeeahOS9jee9riIpLCImIik6IiI7ZT0iaHR0cHM6Ly91cmkuYW1hcC5jb20vbmF2aWdhdGlvbj8iLmNvbmNhdChpLCJ0bz0iKS5jb25jYXQodGhpcy5sb25naXR1ZGUsIiwiKS5jb25jYXQodGhpcy5sYXRpdHVkZSwiLCIpLmNvbmNhdChlbmNvZGVVUklDb21wb25lbnQodGhpcy5uYW1lfHwi55uu55qE5ZywIikpfXdpbmRvdy5vcGVuKGUpfX19LEk9TSxQPShuKCI3MjRjIiksT2JqZWN0KHNbImEiXSkoSSwoZnVuY3Rpb24oKXt2YXIgdD10aGlzLGU9dC4kY3JlYXRlRWxlbWVudCxuPXQuX3NlbGYuX2N8fGU7cmV0dXJuIG4oImRpdiIse3N0YXRpY0NsYXNzOiJ1bmktc3lzdGVtLW9wZW4tbG9jYXRpb24ifSxbbigidi11bmktbWFwIix7c3RhdGljQ2xhc3M6Im1hcCIsYXR0cnM6e2xhdGl0dWRlOnQuY2VudGVyLmxhdGl0dWRlLGxvbmdpdHVkZTp0LmNlbnRlci5sb25naXR1ZGUsbWFya2VyczpbdC5tYXJrZXIsdC5sb2NhdGlvbl19LG9uOntyZWdpb25jaGFuZ2U6dC5vblJlZ2lvbkNoYW5nZX19LFtuKCJkaXYiLHtzdGF0aWNDbGFzczoibWFwLW1vdmUiLG9uOntjbGljazpmdW5jdGlvbihlKXtyZXR1cm4gdC5zZXRDZW50ZXIodC5sb2NhdGlvbil9fX0sW24oImkiLFt0Ll92KCLusLIiKV0pXSldKSxuKCJkaXYiLHtzdGF0aWNDbGFzczoiaW5mbyJ9LFtuKCJkaXYiLHtzdGF0aWNDbGFzczoibmFtZSIsb246e2NsaWNrOmZ1bmN0aW9uKGUpe3JldHVybiB0LnNldENlbnRlcih0Lm1hcmtlcil9fX0sW3QuX3YoIiAiK3QuX3ModC5uYW1lKSsiICIpXSksbigiZGl2Iix7c3RhdGljQ2xhc3M6ImFkZHJlc3MiLG9uOntjbGljazpmdW5jdGlvbihlKXtyZXR1cm4gdC5zZXRDZW50ZXIodC5tYXJrZXIpfX19LFt0Ll92KCIgIit0Ll9zKHQuYWRkcmVzcykrIiAiKV0pLG4oImRpdiIse3N0YXRpY0NsYXNzOiJuYXYiLG9uOntjbGljazp0Lm5hdn19LFtuKCJzdmciLHthdHRyczp7d2lkdGg6IjI2IixoZWlnaHQ6IjI2Iix2aWV3Qm94OiIwIDAgMTAyNCAxMDI0Iix2ZXJzaW9uOiIxLjEiLHhtbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyJ9fSxbbigicGF0aCIse2F0dHJzOntkOiJNODk2IDU0NGMtMjA3LjgwNyAwLTM4OC4zOTEgODIuMjUzLTQ4MCAyMDMuMTQ5VjE3My4xMzZsMjAxLjU1NSAyMDEuNTU1YzEyLjQxMiAxMi40MTIgMzIuNzIzIDEyLjQxMiA0NS4xMzYgMCAxMi40MTItMTIuNDEyIDEyLjQxMi0zMi43MjMgMC00NS4xMzZMNDA4LjkxMyA3NS43NzdhMzEuOTMgMzEuOTMgMCAwIDAtMi4yMjItMi40NjhjLTYuMjIyLTYuMjIyLTE0LjQyOS05LjMyNC0yMi42MzEtOS4zMDhsLTAuMDU5LTAuMDAyLTAuMDU5IDAuMDAyYy04LjIwMi0wLjAxNi0xNi40MDkgMy4wODUtMjIuNjMxIDkuMzA4YTMxLjkzIDMxLjkzIDAgMCAwLTIuMjIyIDIuNDY4bC0yNTMuNzggMjUzLjc3OGMtMTIuNDEyIDEyLjQxMi0xMi40MTIgMzIuNzIzIDAgNDUuMTM2IDEyLjQxMiAxMi40MTIgMzIuNzIzIDEyLjQxMiA0NS4xMzYgMEwzNTIgMTczLjEzNlY5MjhjMCAxNy42IDE0LjQgMzIgMzIgMzJzMzItMTQuNCAzMi0zMmMwLTE3Ni43MzEgMjE0LjkwMy0zMjAgNDgwLTMyMCAxNy42NzMgMCAzMi0xNC4zMjcgMzItMzIgMC0xNy42NzMtMTQuMzI3LTMyLTMyLTMyeiIsZmlsbDoiI2ZmZmZmZiJ9fSldKV0pXSksbigiZGl2Iix7c3RhdGljQ2xhc3M6Im5hdi1idG4tYmFjayIsb246e2NsaWNrOnQuYmFja319LFtuKCJpIix7c3RhdGljQ2xhc3M6InVuaS1idG4taWNvbiJ9LFt0Ll92KCLumIEiKV0pXSldLDEpfSksW10sITEsbnVsbCxudWxsLG51bGwpKSwkPVAuZXhwb3J0cyxMPXtDaG9vc2VMb2NhdGlvbjpBLE9wZW5Mb2NhdGlvbjokfTtpLmEuY29tcG9uZW50KHUubmFtZSx1KSxpLmEuY29tcG9uZW50KGgubmFtZSxoKSxpLmEuY29tcG9uZW50KGIubmFtZSxiKSxpLmEuY29tcG9uZW50KHcubmFtZSx3KSxpLmEuY29tcG9uZW50KEMubmFtZSxDKSxPYmplY3Qua2V5cyhMKS5mb3JFYWNoKChmdW5jdGlvbih0KXt2YXIgZT1MW3RdO2kuYS5jb21wb25lbnQoZS5uYW1lLGUpfSkpfSwiNDY2YiI6ZnVuY3Rpb24odCxlLG4pe30sNDcwNTpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiOyhmdW5jdGlvbih0KXt2YXIgcixpPW4oIjkwOWUiKSxvPW4oIjdjY2UiKSxhPW4oImRmYTciKSxzPW4oImJkZWUiKTtmdW5jdGlvbiBjKHQpe3JldHVybiBmdW5jdGlvbih0KXtpZihBcnJheS5pc0FycmF5KHQpKXJldHVybiB1KHQpfSh0KXx8ZnVuY3Rpb24odCl7aWYoInVuZGVmaW5lZCIhPT10eXBlb2YgU3ltYm9sJiZTeW1ib2wuaXRlcmF0b3IgaW4gT2JqZWN0KHQpKXJldHVybiBBcnJheS5mcm9tKHQpfSh0KXx8ZnVuY3Rpb24odCxlKXtpZih0KXtpZigic3RyaW5nIj09PXR5cGVvZiB0KXJldHVybiB1KHQsZSk7dmFyIG49T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpLnNsaWNlKDgsLTEpO3JldHVybiJPYmplY3QiPT09biYmdC5jb25zdHJ1Y3RvciYmKG49dC5jb25zdHJ1Y3Rvci5uYW1lKSwiTWFwIj09PW58fCJTZXQiPT09bj9BcnJheS5mcm9tKG4pOiJBcmd1bWVudHMiPT09bnx8L14oPzpVaXxJKW50KD86OHwxNnwzMikoPzpDbGFtcGVkKT9BcnJheSQvLnRlc3Qobik/dSh0LGUpOnZvaWQgMH19KHQpfHxmdW5jdGlvbigpe3Rocm93IG5ldyBUeXBlRXJyb3IoIkludmFsaWQgYXR0ZW1wdCB0byBzcHJlYWQgbm9uLWl0ZXJhYmxlIGluc3RhbmNlLlxuSW4gb3JkZXIgdG8gYmUgaXRlcmFibGUsIG5vbi1hcnJheSBvYmplY3RzIG11c3QgaGF2ZSBhIFtTeW1ib2wuaXRlcmF0b3JdKCkgbWV0aG9kLiIpfSgpfWZ1bmN0aW9uIHUodCxlKXsobnVsbD09ZXx8ZT50Lmxlbmd0aCkmJihlPXQubGVuZ3RoKTtmb3IodmFyIG49MCxyPW5ldyBBcnJheShlKTtuPGU7bisrKXJbbl09dFtuXTtyZXR1cm4gcn1mdW5jdGlvbiBsKHQpe3JldHVybiB0PXQuc2xpY2UoMCksdFszXT10WzNdLzI1NSwicmdiYSgiK3Quam9pbigiLCIpKyIpIn1mdW5jdGlvbiBmKHQsZSl7cmV0dXJuW10ubWFwLmNhbGwoZSwoZnVuY3Rpb24oZSl7dmFyIG49dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtyZXR1cm57aWRlbnRpZmllcjplLmlkZW50aWZpZXIseDplLmNsaWVudFgtbi5sZWZ0LHk6ZS5jbGllbnRZLW4udG9wfX0pKX1mdW5jdGlvbiBkKCl7dmFyIHQ9YXJndW1lbnRzLmxlbmd0aD4wJiZ2b2lkIDAhPT1hcmd1bWVudHNbMF0/YXJndW1lbnRzWzBdOjAsZT1hcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXT9hcmd1bWVudHNbMV06MDtyZXR1cm4gcnx8KHI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIikpLHIud2lkdGg9dCxyLmhlaWdodD1lLHJ9ZVsiYSJdPXtuYW1lOiJDYW52YXMiLG1peGluczpbaVsiZyJdXSxwcm9wczp7Y2FudmFzSWQ6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6IiJ9LGRpc2FibGVTY3JvbGw6e3R5cGU6W0Jvb2xlYW4sU3RyaW5nXSxkZWZhdWx0OiExfSxoaWRwaTp7dHlwZTpCb29sZWFuLGRlZmF1bHQ6ITB9fSxkYXRhOmZ1bmN0aW9uKCl7cmV0dXJue2FjdGlvbnNXYWl0aW5nOiExfX0sY29tcHV0ZWQ6e2lkOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2FudmFzSWR9LF9saXN0ZW5lcnM6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLGU9T2JqZWN0LmFzc2lnbih7fSx0aGlzLiRsaXN0ZW5lcnMpO3JldHVyblsidG91Y2hzdGFydCIsInRvdWNobW92ZSIsInRvdWNoZW5kIl0uZm9yRWFjaCgoZnVuY3Rpb24obil7dmFyIHI9ZVtuXSxpPVtdO3ImJmkucHVzaCgoZnVuY3Rpb24oZSl7dC4kdHJpZ2dlcihuLE9iamVjdC5hc3NpZ24oe30sZSx7dG91Y2hlczpmKGUuY3VycmVudFRhcmdldCxlLnRvdWNoZXMpLGNoYW5nZWRUb3VjaGVzOmYoZS5jdXJyZW50VGFyZ2V0LGUuY2hhbmdlZFRvdWNoZXMpfSkpfSkpLHQuZGlzYWJsZVNjcm9sbCYmInRvdWNobW92ZSI9PT1uJiZpLnB1c2godC5fdG91Y2htb3ZlKSxlW25dPWl9KSksZX0scGl4ZWxSYXRpbzpmdW5jdGlvbigpe3JldHVybiB0aGlzLmhpZHBpP29bImEiXToxfX0sY3JlYXRlZDpmdW5jdGlvbigpe3RoaXMuX2FjdGlvbnNEZWZlcj1bXSx0aGlzLl9pbWFnZXM9e319LG1vdW50ZWQ6ZnVuY3Rpb24oKXt0aGlzLl9yZXNpemUoKX0sYmVmb3JlRGVzdHJveTpmdW5jdGlvbigpe3ZhciB0PXRoaXMuJHJlZnMuY2FudmFzO3QuaGVpZ2h0PXQud2lkdGg9MH0sbWV0aG9kczp7X2hhbmRsZVN1YnNjcmliZTpmdW5jdGlvbih0KXt2YXIgZT10LnR5cGUsbj10LmRhdGEscj12b2lkIDA9PT1uP3t9Om4saT10aGlzW2VdOzAhPT1lLmluZGV4T2YoIl8iKSYmImZ1bmN0aW9uIj09PXR5cGVvZiBpJiZpKHIpfSxfcmVzaXplOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuJHJlZnMuY2FudmFzLG49IXR8fGUud2lkdGghPT1NYXRoLmZsb29yKHQud2lkdGgqdGhpcy5waXhlbFJhdGlvKXx8ZS5oZWlnaHQhPT1NYXRoLmZsb29yKHQuaGVpZ2h0KnRoaXMucGl4ZWxSYXRpbyk7aWYobilpZihlLndpZHRoPjAmJmUuaGVpZ2h0PjApe3ZhciByPWUuZ2V0Q29udGV4dCgiMmQiKSxpPXIuZ2V0SW1hZ2VEYXRhKDAsMCxlLndpZHRoLGUuaGVpZ2h0KTtPYmplY3Qob1siYiJdKShlLHRoaXMuaGlkcGkpLHIucHV0SW1hZ2VEYXRhKGksMCwwKX1lbHNlIE9iamVjdChvWyJiIl0pKGUsdGhpcy5oaWRwaSl9LF90b3VjaG1vdmU6ZnVuY3Rpb24odCl7dC5wcmV2ZW50RGVmYXVsdCgpfSxhY3Rpb25zQ2hhbmdlZDpmdW5jdGlvbihlKXt2YXIgbj10aGlzLHI9ZS5hY3Rpb25zLGk9ZS5yZXNlcnZlLG89ZS5jYWxsYmFja0lkLGE9dGhpcztpZihyKWlmKHRoaXMuYWN0aW9uc1dhaXRpbmcpdGhpcy5fYWN0aW9uc0RlZmVyLnB1c2goW3IsaSxvXSk7ZWxzZXt2YXIgcz10aGlzLiRyZWZzLmNhbnZhcyx1PXMuZ2V0Q29udGV4dCgiMmQiKTtpfHwodS5maWxsU3R5bGU9IiMwMDAwMDAiLHUuc3Ryb2tlU3R5bGU9IiMwMDAwMDAiLHUuc2hhZG93Q29sb3I9IiMwMDAwMDAiLHUuc2hhZG93Qmx1cj0wLHUuc2hhZG93T2Zmc2V0WD0wLHUuc2hhZG93T2Zmc2V0WT0wLHUuc2V0VHJhbnNmb3JtKDEsMCwwLDEsMCwwKSx1LmNsZWFyUmVjdCgwLDAscy53aWR0aCxzLmhlaWdodCkpLHRoaXMucHJlbG9hZEltYWdlKHIpO3ZhciBmPWZ1bmN0aW9uKHQpe3ZhciBlPXJbdF0saT1lLm1ldGhvZCxzPWUuZGF0YTtpZigvXnNldC8udGVzdChpKSYmInNldFRyYW5zZm9ybSIhPT1pKXt2YXIgZixkPWlbM10udG9Mb3dlckNhc2UoKStpLnNsaWNlKDQpO2lmKCJmaWxsU3R5bGUiPT09ZHx8InN0cm9rZVN0eWxlIj09PWQpe2lmKCJub3JtYWwiPT09c1swXSlmPWwoc1sxXSk7ZWxzZSBpZigibGluZWFyIj09PXNbMF0pe3ZhciB2PXUuY3JlYXRlTGluZWFyR3JhZGllbnQuYXBwbHkodSxjKHNbMV0pKTtzWzJdLmZvckVhY2goKGZ1bmN0aW9uKHQpe3ZhciBlPXRbMF0sbj1sKHRbMV0pO3YuYWRkQ29sb3JTdG9wKGUsbil9KSksZj12fWVsc2UgaWYoInJhZGlhbCI9PT1zWzBdKXt2YXIgZz1zWzFdWzBdLG09c1sxXVsxXSxiPXNbMV1bMl0seT11LmNyZWF0ZVJhZGlhbEdyYWRpZW50KGcsbSwwLGcsbSxiKTtzWzJdLmZvckVhY2goKGZ1bmN0aW9uKHQpe3ZhciBlPXRbMF0sbj1sKHRbMV0pO3kuYWRkQ29sb3JTdG9wKGUsbil9KSksZj15fWVsc2UgaWYoInBhdHRlcm4iPT09c1swXSl7dmFyIF89bi5jaGVja0ltYWdlTG9hZGVkKHNbMV0sci5zbGljZSh0KzEpLG8sKGZ1bmN0aW9uKHQpe3QmJih1W2RdPXUuY3JlYXRlUGF0dGVybih0LHNbMl0pKX0pKTtyZXR1cm4gXz8iY29udGludWUiOiJicmVhayJ9dVtkXT1mfWVsc2UgaWYoImdsb2JhbEFscGhhIj09PWQpdVtkXT1zWzBdLzI1NTtlbHNlIGlmKCJzaGFkb3ciPT09ZCloPVsic2hhZG93T2Zmc2V0WCIsInNoYWRvd09mZnNldFkiLCJzaGFkb3dCbHVyIiwic2hhZG93Q29sb3IiXSxzLmZvckVhY2goKGZ1bmN0aW9uKHQsZSl7dVtoW2VdXT0ic2hhZG93Q29sb3IiPT09aFtlXT9sKHQpOnR9KSk7ZWxzZSBpZigiZm9udFNpemUiPT09ZCl7dmFyIHc9dS5fX2ZvbnRfX3x8dS5mb250O3UuX19mb250X189dS5mb250PXcucmVwbGFjZSgvXGQrXC4/XGQqcHgvLHNbMF0rInB4Iil9ZWxzZSJsaW5lRGFzaCI9PT1kPyh1LnNldExpbmVEYXNoKHNbMF0pLHUubGluZURhc2hPZmZzZXQ9c1sxXXx8MCk6InRleHRCYXNlbGluZSI9PT1kPygibm9ybWFsIj09PXNbMF0mJihzWzBdPSJhbHBoYWJldGljIiksdVtkXT1zWzBdKToiZm9udCI9PT1kP3UuX19mb250X189dS5mb250PXNbMF06dVtkXT1zWzBdfWVsc2UgaWYoImZpbGxQYXRoIj09PWl8fCJzdHJva2VQYXRoIj09PWkpaT1pLnJlcGxhY2UoL1BhdGgvLCIiKSx1LmJlZ2luUGF0aCgpLHMuZm9yRWFjaCgoZnVuY3Rpb24odCl7dVt0Lm1ldGhvZF0uYXBwbHkodSx0LmRhdGEpfSkpLHVbaV0oKTtlbHNlIGlmKCJmaWxsVGV4dCI9PT1pKXUuZmlsbFRleHQuYXBwbHkodSxzKTtlbHNlIGlmKCJkcmF3SW1hZ2UiPT09aSl7aWYocD1mdW5jdGlvbigpe3ZhciBlPWMocyksbj1lWzBdLGk9ZS5zbGljZSgxKTtpZihhLl9pbWFnZXM9YS5faW1hZ2VzfHx7fSwhYS5jaGVja0ltYWdlTG9hZGVkKG4sci5zbGljZSh0KzEpLG8sKGZ1bmN0aW9uKHQpe3QmJnUuZHJhd0ltYWdlLmFwcGx5KHUsW3RdLmNvbmNhdChjKGkuc2xpY2UoNCw4KSksYyhpLnNsaWNlKDAsNCkpKSl9KSkpcmV0dXJuImJyZWFrIn0oKSwiYnJlYWsiPT09cClyZXR1cm4iYnJlYWsifWVsc2UiY2xpcCI9PT1pPyhzLmZvckVhY2goKGZ1bmN0aW9uKHQpe3VbdC5tZXRob2RdLmFwcGx5KHUsdC5kYXRhKX0pKSx1LmNsaXAoKSk6dVtpXS5hcHBseSh1LHMpfTt0OmZvcih2YXIgZD0wO2Q8ci5sZW5ndGg7ZCsrKXt2YXIgaCxwLHY9ZihkKTtzd2l0Y2godil7Y2FzZSJicmVhayI6YnJlYWsgdDtjYXNlImNvbnRpbnVlIjpjb250aW51ZX19IXRoaXMuYWN0aW9uc1dhaXRpbmcmJm8mJnQucHVibGlzaEhhbmRsZXIoIm9uQ2FudmFzTWV0aG9kQ2FsbGJhY2siLHtjYWxsYmFja0lkOm8sZGF0YTp7ZXJyTXNnOiJkcmF3Q2FudmFzOm9rIn19LHRoaXMuJHBhZ2UuaWQpfX0scHJlbG9hZEltYWdlOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXM7dC5mb3JFYWNoKChmdW5jdGlvbih0KXt2YXIgbj10Lm1ldGhvZCxyPXQuZGF0YSxpPSIiOyJkcmF3SW1hZ2UiPT09bj8oaT1yWzBdLGk9ZS4kZ2V0UmVhbFBhdGgoaSksclswXT1pKToic2V0RmlsbFN0eWxlIj09PW4mJiJwYXR0ZXJuIj09PXJbMF0mJihpPXJbMV0saT1lLiRnZXRSZWFsUGF0aChpKSxyWzFdPWkpLGkmJiFlLl9pbWFnZXNbaV0mJmZ1bmN0aW9uKCl7dmFyIHQ9ZS5faW1hZ2VzW2ldPW5ldyBJbWFnZTt0Lm9ubG9hZD1mdW5jdGlvbigpe3QucmVhZHk9ITB9LE9iamVjdChzWyJkIl0pKGkpLnRoZW4oKGZ1bmN0aW9uKGUpe3Quc3JjPWV9KSkuY2F0Y2goKGZ1bmN0aW9uKCl7dC5zcmM9aX0pKX0oKX0pKX0sY2hlY2tJbWFnZUxvYWRlZDpmdW5jdGlvbih0LGUsbixyKXt2YXIgaT10aGlzLG89dGhpcy5faW1hZ2VzW3RdO3JldHVybiBvLnJlYWR5PyhyKG8pLCEwKToodGhpcy5fYWN0aW9uc0RlZmVyLnVuc2hpZnQoW2UsITBdKSx0aGlzLmFjdGlvbnNXYWl0aW5nPSEwLG8ub25sb2FkPWZ1bmN0aW9uKCl7by5yZWFkeT0hMCxyKG8pLGkuYWN0aW9uc1dhaXRpbmc9ITE7dmFyIHQ9aS5fYWN0aW9uc0RlZmVyLnNsaWNlKDApO2kuX2FjdGlvbnNEZWZlcj1bXTtmb3IodmFyIGU9dC5zaGlmdCgpO2U7KWkuYWN0aW9uc0NoYW5nZWQoe2FjdGlvbnM6ZVswXSxyZXNlcnZlOmVbMV0sY2FsbGJhY2tJZDpufSksZT10LnNoaWZ0KCl9LCExKX0sZ2V0SW1hZ2VEYXRhOmZ1bmN0aW9uKGUpe3ZhciBuLHI9ZS54LGk9dm9pZCAwPT09cj8wOnIsbz1lLnksYT12b2lkIDA9PT1vPzA6byxzPWUud2lkdGgsYz1lLmhlaWdodCx1PWUuZGVzdFdpZHRoLGw9ZS5kZXN0SGVpZ2h0LGY9ZS5oaWRwaSxoPXZvaWQgMD09PWZ8fGYscD1lLmRhdGFUeXBlLHY9ZS5xdWFsaXR5LGc9dm9pZCAwPT09dj8xOnYsbT1lLnR5cGUsYj12b2lkIDA9PT1tPyJwbmciOm0seT1lLmNhbGxiYWNrSWQsXz10aGlzLiRyZWZzLmNhbnZhcyx3PV8ub2Zmc2V0V2lkdGgtaTtzPXM/TWF0aC5taW4ocyx3KTp3O3ZhciB4PV8ub2Zmc2V0SGVpZ2h0LWE7Yz1jP01hdGgubWluKGMseCk6eCxoPyh1PXMsbD1jKTp1fHxsP3U/bHx8KGw9TWF0aC5yb3VuZChjL3MqdSkpOnU9TWF0aC5yb3VuZChzL2MqbCk6KHU9TWF0aC5yb3VuZChzKnRoaXMucGl4ZWxSYXRpbyksbD1NYXRoLnJvdW5kKGMqdGhpcy5waXhlbFJhdGlvKSk7dmFyIFMsaz1kKHUsbCksQz1rLmdldENvbnRleHQoIjJkIik7ImpwZWciIT09YiYmImpwZyIhPT1ifHwoYj0ianBlZyIsQy5maWxsU3R5bGU9IiNmZmYiLEMuZmlsbFJlY3QoMCwwLHUsbCkpLEMuX19oaWRwaV9fPSEwLEMuZHJhd0ltYWdlQnlDYW52YXMoXyxpLGEscyxjLDAsMCx1LGwsITEpO3RyeXtpZigiYmFzZTY0Ij09PXApbj1rLnRvRGF0YVVSTCgiaW1hZ2UvIi5jb25jYXQoYiksZyk7ZWxzZXt2YXIgTz1DLmdldEltYWdlRGF0YSgwLDAsdSxsKTtuPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKE8uZGF0YSl9Uz17ZXJyTXNnOiJjYW52YXNHZXRJbWFnZURhdGE6b2siLGRhdGE6bixjb21wcmVzc2VkOnZvaWQgMCx3aWR0aDp1LGhlaWdodDpsfX1jYXRjaChUKXtTPXtlcnJNc2c6ImNhbnZhc0dldEltYWdlRGF0YTpmYWlsICIuY29uY2F0KFQpfX1pZihrLmhlaWdodD1rLndpZHRoPTAsQy5fX2hpZHBpX189ITEsIXkpcmV0dXJuIFM7dC5wdWJsaXNoSGFuZGxlcigib25DYW52YXNNZXRob2RDYWxsYmFjayIse2NhbGxiYWNrSWQ6eSxkYXRhOlN9LHRoaXMuJHBhZ2UuaWQpfSxwdXRJbWFnZURhdGE6ZnVuY3Rpb24oZSl7dmFyIG49ZS5kYXRhLHI9ZS54LGk9ZS55LG89ZS53aWR0aCxhPWUuaGVpZ2h0LHM9KGUuY29tcHJlc3NlZCxlLmNhbGxiYWNrSWQpO3RyeXthfHwoYT1NYXRoLnJvdW5kKG4ubGVuZ3RoLzQvbykpO3ZhciBjPWQobyxhKSx1PWMuZ2V0Q29udGV4dCgiMmQiKTt1LnB1dEltYWdlRGF0YShuZXcgSW1hZ2VEYXRhKG5ldyBVaW50OENsYW1wZWRBcnJheShuKSxvLGEpLDAsMCksdGhpcy4kcmVmcy5jYW52YXMuZ2V0Q29udGV4dCgiMmQiKS5kcmF3SW1hZ2UoYyxyLGksbyxhKSxjLmhlaWdodD1jLndpZHRoPTB9Y2F0Y2gobCl7cmV0dXJuIHZvaWQgdC5wdWJsaXNoSGFuZGxlcigib25DYW52YXNNZXRob2RDYWxsYmFjayIse2NhbGxiYWNrSWQ6cyxkYXRhOntlcnJNc2c6ImNhbnZhc1B1dEltYWdlRGF0YTpmYWlsIn19LHRoaXMuJHBhZ2UuaWQpfXQucHVibGlzaEhhbmRsZXIoIm9uQ2FudmFzTWV0aG9kQ2FsbGJhY2siLHtjYWxsYmFja0lkOnMsZGF0YTp7ZXJyTXNnOiJjYW52YXNQdXRJbWFnZURhdGE6b2sifX0sdGhpcy4kcGFnZS5pZCl9LHRvVGVtcEZpbGVQYXRoOmZ1bmN0aW9uKGUpe3ZhciBuPXRoaXMscj1lLngsaT12b2lkIDA9PT1yPzA6cixvPWUueSxzPXZvaWQgMD09PW8/MDpvLGM9ZS53aWR0aCx1PWUuaGVpZ2h0LGw9ZS5kZXN0V2lkdGgsZj1lLmRlc3RIZWlnaHQsZD1lLmZpbGVUeXBlLGg9ZS5xdWFsaXR5LHA9ZS5kaXJuYW1lLHY9ZS5jYWxsYmFja0lkLGc9dGhpcy5nZXRJbWFnZURhdGEoe3g6aSx5OnMsd2lkdGg6YyxoZWlnaHQ6dSxkZXN0V2lkdGg6bCxkZXN0SGVpZ2h0OmYsaGlkcGk6ITEsZGF0YVR5cGU6ImJhc2U2NCIsdHlwZTpkLHF1YWxpdHk6aH0pO2cuZGF0YSYmZy5kYXRhLmxlbmd0aD9PYmplY3QoYVsiYSJdKShnLmRhdGEscCwoZnVuY3Rpb24oZSxyKXt2YXIgaT0idG9UZW1wRmlsZVBhdGg6Ii5jb25jYXQoZT8iZmFpbCI6Im9rIik7ZSYmKGkrPSIgIi5jb25jYXQoZS5tZXNzYWdlKSksdC5wdWJsaXNoSGFuZGxlcigib25DYW52YXNNZXRob2RDYWxsYmFjayIse2NhbGxiYWNrSWQ6dixkYXRhOntlcnJNc2c6aSx0ZW1wRmlsZVBhdGg6cn19LG4uJHBhZ2UuaWQpfSkpOnQucHVibGlzaEhhbmRsZXIoIm9uQ2FudmFzTWV0aG9kQ2FsbGJhY2siLHtjYWxsYmFja0lkOnYsZGF0YTp7ZXJyTXNnOmcuZXJyTXNnLnJlcGxhY2UoImNhbnZhc1B1dEltYWdlRGF0YSIsInRvVGVtcEZpbGVQYXRoIil9fSx0aGlzLiRwYWdlLmlkKX19fX0pLmNhbGwodGhpcyxuKCIzMWQyIikpfSw0NzM4OmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5kKGUsImEiLChmdW5jdGlvbigpe3JldHVybiBzfSkpO3ZhciByPW4oIjhmMmYiKSxpPS9eKFthLXotXSs6KT9cL1wvL2ksbz0vXmRhdGE6LiosLiovO2Z1bmN0aW9uIGEodCl7dmFyIGU9X191bmlDb25maWcucm91dGVyLmJhc2U7cmV0dXJuIGU/Ii8iIT09ZSYmMD09PSgiLyIrdCkuaW5kZXhPZihlKT8iLyIrdDplK3Q6dH1mdW5jdGlvbiBzKHQpe2lmKCIuLyI9PT1fX3VuaUNvbmZpZy5yb3V0ZXIuYmFzZSYmKDAhPT10LmluZGV4T2YoIi4vIil8fCF0LmluY2x1ZGVzKCIvc3RhdGljLyIpJiYwIT09dC5pbmRleE9mKCIuL2Fzc2V0cy8iKXx8KHQ9dC5zbGljZSgxKSkpLDA9PT10LmluZGV4T2YoIi8iKSl7aWYoMCE9PXQuaW5kZXhPZigiLy8iKSlyZXR1cm4gYSh0LnN1YnN0cigxKSk7dD0iaHR0cHM6Iit0fWlmKGkudGVzdCh0KXx8by50ZXN0KHQpfHwwPT09dC5pbmRleE9mKCJibG9iOiIpKXJldHVybiB0O3ZhciBlPWdldEN1cnJlbnRQYWdlcygpO3JldHVybiBlLmxlbmd0aD9hKE9iamVjdChyWyJhIl0pKGVbZS5sZW5ndGgtMV0uJHBhZ2Uucm91dGUsdCkuc3Vic3RyKDEpKTp0fX0sIjQ4ZmUiOmZ1bmN0aW9uKHQsZSxuKXt9LCI0OTNkIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO24ucihlKTt2YXIgcj1uKCIzNDBkIiksaT1uKCI4NDZlIiksbz1uKCI5MDllIik7b1siZCJdLmFkZEludGVyYWN0TGlzdGVuZXIoKTtlWyJkZWZhdWx0Il09ZnVuY3Rpb24odCl7dmFyIGU9dC5jb3VudCxuPXQuc291cmNlVHlwZSxvPXQudHlwZSxhPXQuZXh0ZW5zaW9uLHM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKTtyZXR1cm4gcy50eXBlPSJmaWxlIixPYmplY3QoclsieCJdKShzLHtwb3NpdGlvbjoiYWJzb2x1dGUiLHZpc2liaWxpdHk6ImhpZGRlbiIsInotaW5kZXgiOi05OTksd2lkdGg6MCxoZWlnaHQ6MCx0b3A6MCxsZWZ0OjB9KSxzLmFjY2VwdD1hLm1hcCgoZnVuY3Rpb24odCl7aWYoIioiIT09byl7dmFyIGU9dC5yZXBsYWNlKCIuIiwiIik7cmV0dXJuIiIuY29uY2F0KG8sIi8iKS5jb25jYXQoaVsiZGVmYXVsdCJdW29dW2VdfHxlKX1yZXR1cm4gZnVuY3Rpb24oKXt2YXIgdD13aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpO3JldHVybiEoIXQubWF0Y2goL01pY3JvTWVzc2VuZ2VyL2kpfHwibWljcm9tZXNzZW5nZXIiIT09dC5tYXRjaCgvTWljcm9NZXNzZW5nZXIvaSlbMF0pfSgpPyIuIjowPT09dC5pbmRleE9mKCIuIik/dDoiLiIuY29uY2F0KHQpfSkpLmpvaW4oIiwiKSxlPjEmJihzLm11bHRpcGxlPSJtdWx0aXBsZSIpLDE9PT1uLmxlbmd0aCYmImNhbWVyYSI9PT1uWzBdJiYocy5jYXB0dXJlPSJjYW1lcmEiKSxzfX0sIjQ5M2YiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7KGZ1bmN0aW9uKHQpe24uZChlLCJiIiwoZnVuY3Rpb24oKXtyZXR1cm4gb30pKSxuLmQoZSwiYyIsKGZ1bmN0aW9uKCl7cmV0dXJuIGF9KSksbi5kKGUsImEiLChmdW5jdGlvbigpe3JldHVybiBjfSkpO3ZhciByLGk9bigiYTgwNSIpO2Z1bmN0aW9uIG8odCl7dC5wcmV2ZW50RGVmYXVsdCgpfWZ1bmN0aW9uIGEodCl7dmFyIGU9dC5zY3JvbGxUb3Asbj10LnNlbGVjdG9yLHI9dC5kdXJhdGlvbjtpZigidW5kZWZpbmVkIj09PXR5cGVvZiBlKXt2YXIgaT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKG4pO2lmKGkpe3ZhciBvPWkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksYT1vLnRvcCxzPW8uaGVpZ2h0O2U9YSt3aW5kb3cucGFnZVlPZmZzZXQsZS09c319dmFyIGM9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LHU9Yy5jbGllbnRIZWlnaHQsbD1jLnNjcm9sbEhlaWdodDtlPU1hdGgubWluKGUsbC11KSwwIT09cj93aW5kb3cuc2Nyb2xsWSE9PWUmJmZ1bmN0aW9uIHQobil7aWYobjw9MCl3aW5kb3cuc2Nyb2xsVG8oMCxlKTtlbHNle3ZhciByPWUtd2luZG93LnNjcm9sbFk7cmVxdWVzdEFuaW1hdGlvbkZyYW1lKChmdW5jdGlvbigpe3dpbmRvdy5zY3JvbGxUbygwLHdpbmRvdy5zY3JvbGxZK3IvbioxMCksdChuLTEwKX0pKX19KHIpOmMuc2Nyb2xsVG9wPWRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wPWV9dmFyIHM9MDtmdW5jdGlvbiBjKGUsbil7dmFyIG89bi5lbmFibGVQYWdlU2Nyb2xsLGE9bi5lbmFibGVQYWdlUmVhY2hCb3R0b20sYz1uLm9uUmVhY2hCb3R0b21EaXN0YW5jZSx1PW4uZW5hYmxlVHJhbnNwYXJlbnRUaXRsZU5WaWV3LGw9ITEsZj0hMSxkPSEwO2Z1bmN0aW9uIGgoKXt2YXIgdD1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsSGVpZ2h0LGU9d2luZG93LmlubmVySGVpZ2h0LG49d2luZG93LnNjcm9sbFkscj1uPjAmJnQ+ZSYmbitlK2M+PXQsaT1NYXRoLmFicyh0LXMpPmM7cmV0dXJuIXJ8fGYmJiFpPyghciYmZiYmKGY9ITEpLCExKToocz10LGY9ITAsITApfWZ1bmN0aW9uIHAoKXt2YXIgbj1nZXRDdXJyZW50UGFnZXMoKTtpZihuLmxlbmd0aCYmbltuLmxlbmd0aC0xXS4kcGFnZS5pZD09PWUpe3ZhciBzPXdpbmRvdy5wYWdlWU9mZnNldDtvJiZPYmplY3QoaVsiYSJdKSgib25QYWdlU2Nyb2xsIix7c2Nyb2xsVG9wOnN9LGUpLHUmJnQuZW1pdCgib25QYWdlU2Nyb2xsIix7c2Nyb2xsVG9wOnN9KSxhJiZkJiYoYygpfHwocj1zZXRUaW1lb3V0KGMsMzAwKSkpLGw9ITF9ZnVuY3Rpb24gYygpe2lmKGgoKSlyZXR1cm4gT2JqZWN0KGlbImEiXSkoIm9uUmVhY2hCb3R0b20iLHt9LGUpLGQ9ITEsc2V0VGltZW91dCgoZnVuY3Rpb24oKXtkPSEwfSksMzUwKSwhMH19cmV0dXJuIGZ1bmN0aW9uKCl7Y2xlYXJUaW1lb3V0KHIpLGx8fHJlcXVlc3RBbmltYXRpb25GcmFtZShwKSxsPSEwfX19KS5jYWxsKHRoaXMsbigiMzFkMiIpKX0sIjQ5YzIiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7KGZ1bmN0aW9uKHQpe24uZChlLCJhIiwoZnVuY3Rpb24oKXtyZXR1cm4gdX0pKTt2YXIgcj1uKCIzOGNlIiksaT1uKCIzNDBkIiksbz1uKCI4ZDdkIiksYT1uKCIwZGIzIik7ZnVuY3Rpb24gcyh0LGUpe3ZhciBuPXt9LGE9T2JqZWN0KG9bImEiXSkoKSxzPWEudG9wO2lmKGUuaWQmJihuLmlkPXQuaWQpLGUuZGF0YXNldCYmKG4uZGF0YXNldD1PYmplY3QoclsiYiJdKSh0KSksZS5yZWN0fHxlLnNpemUpe3ZhciBjPXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7ZS5yZWN0JiYobi5sZWZ0PWMubGVmdCxuLnJpZ2h0PWMucmlnaHQsbi50b3A9Yy50b3AtcyxuLmJvdHRvbT1jLmJvdHRvbS1zKSxlLnNpemUmJihuLndpZHRoPWMud2lkdGgsbi5oZWlnaHQ9Yy5oZWlnaHQpfWlmKEFycmF5LmlzQXJyYXkoZS5wcm9wZXJ0aWVzKSl7dmFyIHU9dC5fX3Z1ZV9fJiZ0Ll9fdnVlX18uJHByb3BzO3UmJmUucHJvcGVydGllcy5mb3JFYWNoKChmdW5jdGlvbih0KXsic3RyaW5nIj09PXR5cGVvZiB0JiYodD1PYmplY3QoaVsiYiJdKSh0KSxudWxsIT11W3RdJiYoblt0XT11W3RdKSl9KSl9aWYoZS5zY3JvbGxPZmZzZXQmJigiVU5JLVNDUk9MTC1WSUVXIj09PXQudGFnTmFtZSYmdC5fX3Z1ZV9fJiZ0Ll9fdnVlX18uZ2V0U2Nyb2xsUG9zaXRpb24/T2JqZWN0LmFzc2lnbihuLHQuX192dWVfXy5nZXRTY3JvbGxQb3NpdGlvbigpKToobi5zY3JvbGxMZWZ0PTAsbi5zY3JvbGxUb3A9MCxuLnNjcm9sbEhlaWdodD0wLG4uc2Nyb2xsV2lkdGg9MCkpLEFycmF5LmlzQXJyYXkoZS5jb21wdXRlZFN0eWxlKSl7dmFyIGw9Z2V0Q29tcHV0ZWRTdHlsZSh0KTtlLmNvbXB1dGVkU3R5bGUuZm9yRWFjaCgoZnVuY3Rpb24odCl7blt0XT1sW3RdfSkpfXJldHVybiBlLmNvbnRleHQmJnQuX192dWVfXyYmdC5fX3Z1ZV9fLl9nZXRDb250ZXh0SW5mbyYmKG4uY29udGV4dD10Ll9fdnVlX18uX2dldENvbnRleHRJbmZvKCkpLG59ZnVuY3Rpb24gYyh0LGUsbixyLGkpe3ZhciBvPU9iamVjdChhWyJhIl0pKE9iamVjdChhWyJiIl0pKGUsdCkpO2lmKCFvfHxvJiY4PT09by5ub2RlVHlwZSlyZXR1cm4gcj9udWxsOltdO2lmKHIpe3ZhciBjPW8ubWF0Y2hlcyhuKT9vOm8ucXVlcnlTZWxlY3RvcihuKTtyZXR1cm4gYz9zKGMsaSk6bnVsbH12YXIgdT1bXSxsPW8ucXVlcnlTZWxlY3RvckFsbChuKTtyZXR1cm4gbCYmbC5sZW5ndGgmJih1PVtdLm1hcC5jYWxsKGwsKGZ1bmN0aW9uKHQpe3JldHVybiBzKHQsaSl9KSkpLG8ubWF0Y2hlcyhuKSYmdS51bnNoaWZ0KHMobyxpKSksdX1mdW5jdGlvbiB1KGUsbil7dmFyIHIsaT1lLnJlcUlkLG89ZS5yZXFzO2lmKG4uX2lzVnVlKXI9bjtlbHNle3ZhciBhPWdldEN1cnJlbnRQYWdlcygpLHM9YS5maW5kKChmdW5jdGlvbih0KXtyZXR1cm4gdC4kcGFnZS5pZD09PW59KSk7aWYoIXMpdGhyb3cgbmV3IEVycm9yKCJOb3QgRm91bmTvvJpQYWdlWyIuY29uY2F0KG4sIl0iKSk7cj1zLiR2bX12YXIgdT1bXTtvLmZvckVhY2goKGZ1bmN0aW9uKHQpe3ZhciBlPXQuY29tcG9uZW50LG49dC5zZWxlY3RvcixpPXQuc2luZ2xlLG89dC5maWVsZHM7MD09PWU/dS5wdXNoKGZ1bmN0aW9uKHQpe3ZhciBlPXt9O2lmKHQuaWQmJihlLmlkPSIiKSx0LmRhdGFzZXQmJihlLmRhdGFzZXQ9e30pLHQucmVjdCYmKGUubGVmdD0wLGUucmlnaHQ9MCxlLnRvcD0wLGUuYm90dG9tPTApLHQuc2l6ZSYmKGUud2lkdGg9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoLGUuaGVpZ2h0PWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQpLHQuc2Nyb2xsT2Zmc2V0KXt2YXIgbj1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQscj1kb2N1bWVudC5ib2R5O2Uuc2Nyb2xsTGVmdD1uLnNjcm9sbExlZnR8fHIuc2Nyb2xsTGVmdHx8MCxlLnNjcm9sbFRvcD1uLnNjcm9sbFRvcHx8ci5zY3JvbGxUb3B8fDAsZS5zY3JvbGxIZWlnaHQ9bi5zY3JvbGxIZWlnaHR8fHIuc2Nyb2xsSGVpZ2h0fHwwLGUuc2Nyb2xsV2lkdGg9bi5zY3JvbGxXaWR0aHx8ci5zY3JvbGxXaWR0aHx8MH1yZXR1cm4gZX0obykpOnUucHVzaChjKHIsZSxuLGksbykpfSkpLHQucHVibGlzaEhhbmRsZXIoIm9uUmVxdWVzdENvbXBvbmVudEluZm8iLHtyZXFJZDppLHJlczp1fSl9fSkuY2FsbCh0aGlzLG4oIjMxZDIiKSl9LCI0OWRmIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO24ucihlKTt2YXIgcj1bXSxpPW4oIjI0MzIiKTtpLmtleXMoKS5mb3JFYWNoKChmdW5jdGlvbih0KXsiLi9pbmRleC5qcyIhPT10JiZyLnB1c2goaSh0KS5kZWZhdWx0KX0pKSxlWyJkZWZhdWx0Il09cn0sIjRhM2YiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5yKGUpLGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIHIoZSxuKXt2YXIgcj1lLmZpbGVQYXRoLGk9dCxvPWkuaW52b2tlQ2FsbGJhY2tIYW5kbGVyO3dpbmRvdy5vcGVuKHIpLG8obix7ZXJyTXNnOiJvcGVuRG9jdW1lbnQ6b2sifSl9bi5kKGUsIm9wZW5Eb2N1bWVudCIsKGZ1bmN0aW9uKCl7cmV0dXJuIHJ9KSl9LmNhbGwodGhpcyxuKCIyYzlmIikpfSwiNGIyMSI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjsoZnVuY3Rpb24odCl7bi5kKGUsImEiLChmdW5jdGlvbigpe3JldHVybiBpfSkpO3ZhciByPW4oImQ5N2QiKTtmdW5jdGlvbiBpKGUpe2U9ZnVuY3Rpb24odCl7cmV0dXJuIHQucmVwbGFjZSgvPFw/eG1sLipcPz5cbi8sIiIpLnJlcGxhY2UoLzwhZG9jdHlwZS4qPlxuLywiIikucmVwbGFjZSgvPCFET0NUWVBFLio+XG4vLCIiKX0oZSk7dmFyIG49W10saT17bm9kZToicm9vdCIsY2hpbGRyZW46W119O3JldHVybiBPYmplY3QoclsiYSJdKShlLHtzdGFydDpmdW5jdGlvbih0LGUscil7dmFyIG89e25hbWU6dH07aWYoMCE9PWUubGVuZ3RoJiYoby5hdHRycz1mdW5jdGlvbih0KXtyZXR1cm4gdC5yZWR1Y2UoKGZ1bmN0aW9uKHQsZSl7dmFyIG49ZS52YWx1ZSxyPWUubmFtZTtyZXR1cm4gbi5tYXRjaCgvIC8pJiYtMT09PVsic3R5bGUiLCJzcmMiXS5pbmRleE9mKHIpJiYobj1uLnNwbGl0KCIgIikpLHRbcl0/QXJyYXkuaXNBcnJheSh0W3JdKT90W3JdLnB1c2gobik6dFtyXT1bdFtyXSxuXTp0W3JdPW4sdH0pLHt9KX0oZSkpLHIpe3ZhciBhPW5bMF18fGk7YS5jaGlsZHJlbnx8KGEuY2hpbGRyZW49W10pLGEuY2hpbGRyZW4ucHVzaChvKX1lbHNlIG4udW5zaGlmdChvKX0sZW5kOmZ1bmN0aW9uKGUpe3ZhciByPW4uc2hpZnQoKTtpZihyLm5hbWUhPT1lJiZ0LmVycm9yKCJpbnZhbGlkIHN0YXRlOiBtaXNtYXRjaCBlbmQgdGFnIiksMD09PW4ubGVuZ3RoKWkuY2hpbGRyZW4ucHVzaChyKTtlbHNle3ZhciBvPW5bMF07by5jaGlsZHJlbnx8KG8uY2hpbGRyZW49W10pLG8uY2hpbGRyZW4ucHVzaChyKX19LGNoYXJzOmZ1bmN0aW9uKHQpe3ZhciBlPXt0eXBlOiJ0ZXh0Iix0ZXh0OnR9O2lmKDA9PT1uLmxlbmd0aClpLmNoaWxkcmVuLnB1c2goZSk7ZWxzZXt2YXIgcj1uWzBdO3IuY2hpbGRyZW58fChyLmNoaWxkcmVuPVtdKSxyLmNoaWxkcmVuLnB1c2goZSl9fSxjb21tZW50OmZ1bmN0aW9uKHQpe3ZhciBlPXtub2RlOiJjb21tZW50Iix0ZXh0OnR9LHI9blswXTtyJiYoci5jaGlsZHJlbnx8KHIuY2hpbGRyZW49W10pLHIuY2hpbGRyZW4ucHVzaChlKSl9fSksaS5jaGlsZHJlbn19KS5jYWxsKHRoaXMsbigiNDE4YiIpWyJkZWZhdWx0Il0pfSwiNGI3ZSI6ZnVuY3Rpb24odCxlLG4pe3ZhciByPXsiLi9iYXNlL2Jhc2U2NC5qcyI6IjUzZjkiLCIuL2Jhc2UvY2FuLWktdXNlLmpzIjoiNWJjZiIsIi4vYmFzZS9ldmVudC1idXMuanMiOiJmZDVkIiwiLi9iYXNlL2ludGVyY2VwdG9yLmpzIjoiOTg3OSIsIi4vYmFzZS91cHgycHguanMiOiI2ODU2IiwiLi9jb250ZXh0L2NhbnZhcy5qcyI6ImUwZWMiLCIuL2NvbnRleHQvY29udGV4dC5qcyI6IjY2MjUiLCIuL2RldmljZS9hZGQtcGhvbmUtY29udGFjdC5qcyI6ImNlZGMiLCIuL2RldmljZS9tYWtlLXBob25lLWNhbGwuanMiOiI2ZjczIiwiLi9kZXZpY2Uvc2Nhbi1jb2RlLmpzIjoiM2I4ZCIsIi4vZGV2aWNlL3NldC1jbGlwYm9hcmQtZGF0YS5qcyI6IjUxZTUiLCIuL2ZpbGUvZmlsZS5qcyI6IjQzZGYiLCIuL2ZpbGUvb3Blbi1kb2N1bWVudC5qcyI6IjA5ZjAiLCIuL2xvY2F0aW9uL2Nob29zZS1sb2NhdGlvbi5qcyI6ImVjNjAiLCIuL2xvY2F0aW9uL2dldC1sb2NhdGlvbi5qcyI6ImUwZjkiLCIuL2xvY2F0aW9uL29wZW4tbG9jYXRpb24uanMiOiJkMjgwIiwiLi9tZWRpYS9jaG9vc2UtZmlsZS5qcyI6IjkyNWYiLCIuL21lZGlhL2Nob29zZS1pbWFnZS5qcyI6ImRhYzkiLCIuL21lZGlhL2Nob29zZS12aWRlby5qcyI6ImExMTEiLCIuL21lZGlhL2NvbXByZXNzLWltYWdlLmpzIjoiNDRiOSIsIi4vbWVkaWEvY29tcHJlc3MtdmlkZW8uanMiOiIzYmJiIiwiLi9tZWRpYS9nZXQtaW1hZ2UtaW5mby5qcyI6IjYxZDgiLCIuL21lZGlhL2dldC12aWRlby1pbmZvLmpzIjoiOWJmZSIsIi4vbWVkaWEvcHJldmlldy1pbWFnZS5qcyI6IjRjYTEiLCIuL21lZGlhL3NhdmUtaW1hZ2UtdG8tcGhvdG9zLWFsYnVtLmpzIjoiMDNkMCIsIi4vbmV0d29yay9kb3dubG9hZC1maWxlLmpzIjoiM2ZjNSIsIi4vbmV0d29yay9yZXF1ZXN0LmpzIjoiYjMyZiIsIi4vbmV0d29yay9zb2NrZXQuanMiOiIxMjNjIiwiLi9uZXR3b3JrL3VwbG9hZC1maWxlLmpzIjoiYjc1YSIsIi4vcGx1Z2luL2dldC1wcm92aWRlci5qcyI6IjkwZjAiLCIuL3BsdWdpbi9sb2FkLXN1Yi1wYWNrYWdlLmpzIjoiYThhNyIsIi4vcGx1Z2luL3ByZS1sb2dpbi5qcyI6IjVmMzAiLCIuL3JvdXRlL3JvdXRlLmpzIjoiNmJkNyIsIi4vc3RvcmFnZS9zdG9yYWdlLmpzIjoiNjdjMyIsIi4vdWkvbG9hZC1mb250LWZhY2UuanMiOiJjNmViIiwiLi91aS9uYXZpZ2F0aW9uLWJhci5qcyI6Ijc5NmMiLCIuL3VpL3BhZ2Utc2Nyb2xsLXRvLmpzIjoiM2FjZiIsIi4vdWkvcG9wdXAuanMiOiJmNjBiIiwiLi91aS90YWItYmFyLmpzIjoiM2JkNiJ9O2Z1bmN0aW9uIGkodCl7dmFyIGU9byh0KTtyZXR1cm4gbihlKX1mdW5jdGlvbiBvKHQpe2lmKCFuLm8ocix0KSl7dmFyIGU9bmV3IEVycm9yKCJDYW5ub3QgZmluZCBtb2R1bGUgJyIrdCsiJyIpO3Rocm93IGUuY29kZT0iTU9EVUxFX05PVF9GT1VORCIsZX1yZXR1cm4gclt0XX1pLmtleXM9ZnVuY3Rpb24oKXtyZXR1cm4gT2JqZWN0LmtleXMocil9LGkucmVzb2x2ZT1vLHQuZXhwb3J0cz1pLGkuaWQ9IjRiN2UifSwiNGJhNiI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiByKHQsZSxuKXtyZXR1cm4gdD5lLW4mJnQ8ZStufWZ1bmN0aW9uIGkodCxlKXtyZXR1cm4gcih0LDAsZSl9ZnVuY3Rpb24gbyh0LGUsbil7dGhpcy5fbT10LHRoaXMuX2s9ZSx0aGlzLl9jPW4sdGhpcy5fc29sdXRpb249bnVsbCx0aGlzLl9lbmRQb3NpdGlvbj0wLHRoaXMuX3N0YXJ0VGltZT0wfW4uZChlLCJhIiwoZnVuY3Rpb24oKXtyZXR1cm4gb30pKSxvLnByb3RvdHlwZS5fc29sdmU9ZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzLl9jLHI9dGhpcy5fbSxpPXRoaXMuX2ssbz1uKm4tNCpyKmk7aWYoMD09PW8pe3ZhciBhPS1uLygyKnIpLHM9dCxjPWUvKGEqdCk7cmV0dXJue3g6ZnVuY3Rpb24odCl7cmV0dXJuKHMrYyp0KSpNYXRoLnBvdyhNYXRoLkUsYSp0KX0sZHg6ZnVuY3Rpb24odCl7dmFyIGU9TWF0aC5wb3coTWF0aC5FLGEqdCk7cmV0dXJuIGEqKHMrYyp0KSplK2MqZX19fWlmKG8+MCl7dmFyIHU9KC1uLU1hdGguc3FydChvKSkvKDIqciksbD0oLW4rTWF0aC5zcXJ0KG8pKS8oMipyKSxmPShlLXUqdCkvKGwtdSksZD10LWY7cmV0dXJue3g6ZnVuY3Rpb24odCl7dmFyIGUsbjtyZXR1cm4gdD09PXRoaXMuX3QmJihlPXRoaXMuX3Bvd0VSMVQsbj10aGlzLl9wb3dFUjJUKSx0aGlzLl90PXQsZXx8KGU9dGhpcy5fcG93RVIxVD1NYXRoLnBvdyhNYXRoLkUsdSp0KSksbnx8KG49dGhpcy5fcG93RVIyVD1NYXRoLnBvdyhNYXRoLkUsbCp0KSksZCplK2Yqbn0sZHg6ZnVuY3Rpb24odCl7dmFyIGUsbjtyZXR1cm4gdD09PXRoaXMuX3QmJihlPXRoaXMuX3Bvd0VSMVQsbj10aGlzLl9wb3dFUjJUKSx0aGlzLl90PXQsZXx8KGU9dGhpcy5fcG93RVIxVD1NYXRoLnBvdyhNYXRoLkUsdSp0KSksbnx8KG49dGhpcy5fcG93RVIyVD1NYXRoLnBvdyhNYXRoLkUsbCp0KSksZCp1KmUrZipsKm59fX12YXIgaD1NYXRoLnNxcnQoNCpyKmktbipuKS8oMipyKSxwPS1uLzIqcix2PXQsZz0oZS1wKnQpL2g7cmV0dXJue3g6ZnVuY3Rpb24odCl7cmV0dXJuIE1hdGgucG93KE1hdGguRSxwKnQpKih2Kk1hdGguY29zKGgqdCkrZypNYXRoLnNpbihoKnQpKX0sZHg6ZnVuY3Rpb24odCl7dmFyIGU9TWF0aC5wb3coTWF0aC5FLHAqdCksbj1NYXRoLmNvcyhoKnQpLHI9TWF0aC5zaW4oaCp0KTtyZXR1cm4gZSooZypoKm4tdipoKnIpK3AqZSooZypyK3Yqbil9fX0sby5wcm90b3R5cGUueD1mdW5jdGlvbih0KXtyZXR1cm4gdm9pZCAwPT09dCYmKHQ9KChuZXcgRGF0ZSkuZ2V0VGltZSgpLXRoaXMuX3N0YXJ0VGltZSkvMWUzKSx0aGlzLl9zb2x1dGlvbj90aGlzLl9lbmRQb3NpdGlvbit0aGlzLl9zb2x1dGlvbi54KHQpOjB9LG8ucHJvdG90eXBlLmR4PWZ1bmN0aW9uKHQpe3JldHVybiB2b2lkIDA9PT10JiYodD0oKG5ldyBEYXRlKS5nZXRUaW1lKCktdGhpcy5fc3RhcnRUaW1lKS8xZTMpLHRoaXMuX3NvbHV0aW9uP3RoaXMuX3NvbHV0aW9uLmR4KHQpOjB9LG8ucHJvdG90eXBlLnNldEVuZD1mdW5jdGlvbih0LGUsbil7aWYobnx8KG49KG5ldyBEYXRlKS5nZXRUaW1lKCkpLHQhPT10aGlzLl9lbmRQb3NpdGlvbnx8IWkoZSwuNCkpe2U9ZXx8MDt2YXIgcj10aGlzLl9lbmRQb3NpdGlvbjt0aGlzLl9zb2x1dGlvbiYmKGkoZSwuNCkmJihlPXRoaXMuX3NvbHV0aW9uLmR4KChuLXRoaXMuX3N0YXJ0VGltZSkvMWUzKSkscj10aGlzLl9zb2x1dGlvbi54KChuLXRoaXMuX3N0YXJ0VGltZSkvMWUzKSxpKGUsLjQpJiYoZT0wKSxpKHIsLjQpJiYocj0wKSxyKz10aGlzLl9lbmRQb3NpdGlvbiksdGhpcy5fc29sdXRpb24mJmkoci10LC40KSYmaShlLC40KXx8KHRoaXMuX2VuZFBvc2l0aW9uPXQsdGhpcy5fc29sdXRpb249dGhpcy5fc29sdmUoci10aGlzLl9lbmRQb3NpdGlvbixlKSx0aGlzLl9zdGFydFRpbWU9bil9fSxvLnByb3RvdHlwZS5zbmFwPWZ1bmN0aW9uKHQpe3RoaXMuX3N0YXJ0VGltZT0obmV3IERhdGUpLmdldFRpbWUoKSx0aGlzLl9lbmRQb3NpdGlvbj10LHRoaXMuX3NvbHV0aW9uPXt4OmZ1bmN0aW9uKCl7cmV0dXJuIDB9LGR4OmZ1bmN0aW9uKCl7cmV0dXJuIDB9fX0sby5wcm90b3R5cGUuZG9uZT1mdW5jdGlvbih0KXtyZXR1cm4gdHx8KHQ9KG5ldyBEYXRlKS5nZXRUaW1lKCkpLHIodGhpcy54KCksdGhpcy5fZW5kUG9zaXRpb24sLjQpJiZpKHRoaXMuZHgoKSwuNCl9LG8ucHJvdG90eXBlLnJlY29uZmlndXJlPWZ1bmN0aW9uKHQsZSxuKXt0aGlzLl9tPXQsdGhpcy5faz1lLHRoaXMuX2M9bix0aGlzLmRvbmUoKXx8KHRoaXMuX3NvbHV0aW9uPXRoaXMuX3NvbHZlKHRoaXMueCgpLXRoaXMuX2VuZFBvc2l0aW9uLHRoaXMuZHgoKSksdGhpcy5fc3RhcnRUaW1lPShuZXcgRGF0ZSkuZ2V0VGltZSgpKX0sby5wcm90b3R5cGUuc3ByaW5nQ29uc3RhbnQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fa30sby5wcm90b3R5cGUuZGFtcGluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9jfSxvLnByb3RvdHlwZS5jb25maWd1cmF0aW9uPWZ1bmN0aW9uKCl7cmV0dXJuW3tsYWJlbDoiU3ByaW5nIENvbnN0YW50IixyZWFkOnRoaXMuc3ByaW5nQ29uc3RhbnQuYmluZCh0aGlzKSx3cml0ZTpmdW5jdGlvbih0LGUpe3QucmVjb25maWd1cmUoMSxlLHQuZGFtcGluZygpKX0uYmluZCh0aGlzLHRoaXMpLG1pbjoxMDAsbWF4OjFlM30se2xhYmVsOiJEYW1waW5nIixyZWFkOnRoaXMuZGFtcGluZy5iaW5kKHRoaXMpLHdyaXRlOmZ1bmN0aW9uKHQsZSl7dC5yZWNvbmZpZ3VyZSgxLHQuc3ByaW5nQ29uc3RhbnQoKSxlKX0uYmluZCh0aGlzLHRoaXMpLG1pbjoxLG1heDo1MDB9XX19LCI0YzY4IjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO24ucihlKTt2YXIgcj1uKCI5MDllIiksaT1uKCIzNDBkIiksbz1uKCIwMzcyIiksYT0hIWlbInQiXSYme3Bhc3NpdmU6ITF9LHM9e05PTkU6Im5vbmUiLFNUT1A6InN0b3AiLFZPTFVNRToidm9sdW1lIixQUk9HUkVTUzoicHJvZ3Jlc3MifSxjPXtuYW1lOiJWaWRlbyIsZmlsdGVyczp7dGltZTpmdW5jdGlvbih0KXt0PXQ+MCYmdDwxLzA/dDowO3ZhciBlPU1hdGguZmxvb3IodC8zNjAwKSxuPU1hdGguZmxvb3IodCUzNjAwLzYwKSxyPU1hdGguZmxvb3IodCUzNjAwJTYwKTtlPShlPDEwPyIwIjoiIikrZSxuPShuPDEwPyIwIjoiIikrbixyPShyPDEwPyIwIjoiIikrcjt2YXIgaT1uKyI6IityO3JldHVybiIwMCIhPT1lJiYoaT1lKyI6IitpKSxpfX0sbWl4aW5zOltvWyJjIl0sclsiZyJdLHJbImQiXV0scHJvcHM6e2lkOnt0eXBlOlN0cmluZyxkZWZhdWx0OiIifSxzcmM6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6IiJ9LGR1cmF0aW9uOnt0eXBlOltOdW1iZXIsU3RyaW5nXSxkZWZhdWx0OiIifSxjb250cm9sczp7dHlwZTpbQm9vbGVhbixTdHJpbmddLGRlZmF1bHQ6ITB9LGRhbm11TGlzdDp7dHlwZTpBcnJheSxkZWZhdWx0OmZ1bmN0aW9uKCl7cmV0dXJuW119fSxkYW5tdUJ0bjp7dHlwZTpbQm9vbGVhbixTdHJpbmddLGRlZmF1bHQ6ITF9LGVuYWJsZURhbm11Ont0eXBlOltCb29sZWFuLFN0cmluZ10sZGVmYXVsdDohMX0sYXV0b3BsYXk6e3R5cGU6W0Jvb2xlYW4sU3RyaW5nXSxkZWZhdWx0OiExfSxsb29wOnt0eXBlOltCb29sZWFuLFN0cmluZ10sZGVmYXVsdDohMX0sbXV0ZWQ6e3R5cGU6W0Jvb2xlYW4sU3RyaW5nXSxkZWZhdWx0OiExfSxvYmplY3RGaXQ6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6ImNvbnRhaW4ifSxwb3N0ZXI6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6IiJ9LGRpcmVjdGlvbjp7dHlwZTpbU3RyaW5nLE51bWJlcl0sZGVmYXVsdDoiIn0sc2hvd1Byb2dyZXNzOnt0eXBlOkJvb2xlYW4sZGVmYXVsdDohMH0saW5pdGlhbFRpbWU6e3R5cGU6W1N0cmluZyxOdW1iZXJdLGRlZmF1bHQ6MH0sc2hvd0Z1bGxzY3JlZW5CdG46e3R5cGU6W0Jvb2xlYW4sU3RyaW5nXSxkZWZhdWx0OiEwfSxwYWdlR2VzdHVyZTp7dHlwZTpbQm9vbGVhbixTdHJpbmddLGRlZmF1bHQ6ITF9LGVuYWJsZVByb2dyZXNzR2VzdHVyZTp7dHlwZTpbQm9vbGVhbixTdHJpbmddLGRlZmF1bHQ6ITB9LHNob3dQbGF5QnRuOnt0eXBlOltCb29sZWFuLFN0cmluZ10sZGVmYXVsdDohMH0sc2hvd0NlbnRlclBsYXlCdG46e3R5cGU6W0Jvb2xlYW4sU3RyaW5nXSxkZWZhdWx0OiEwfX0sZGF0YTpmdW5jdGlvbigpe3JldHVybntzdGFydDohMSxwbGF5aW5nOiExLGN1cnJlbnRUaW1lOjAsZHVyYXRpb25UaW1lOjAscHJvZ3Jlc3M6MCx0b3VjaGluZzohMSxlbmFibGVEYW5tdVN5bmM6Qm9vbGVhbih0aGlzLmVuYWJsZURhbm11KSxjb250cm9sc1Zpc2libGU6ITAsZnVsbHNjcmVlbjohMSxjb250cm9sc1RvdWNoaW5nOiExLHRvdWNoU3RhcnRPcmlnaW46e3g6MCx5OjB9LGdlc3R1cmVUeXBlOnMuTk9ORSxjdXJyZW50VGltZU9sZDowLGN1cnJlbnRUaW1lTmV3OjAsdm9sdW1lT2xkOm51bGwsdm9sdW1lTmV3Om51bGwsYnVmZmVyZWQ6MCxpc1NhZmFyaTovXkFwcGxlLy50ZXN0KG5hdmlnYXRvci52ZW5kb3IpfX0sY29tcHV0ZWQ6e2NlbnRlclBsYXlCdG5TaG93OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc2hvd0NlbnRlclBsYXlCdG4mJiF0aGlzLnN0YXJ0fSxjb250cm9sc1Nob3c6ZnVuY3Rpb24oKXtyZXR1cm4hdGhpcy5jZW50ZXJQbGF5QnRuU2hvdyYmdGhpcy5jb250cm9scyYmdGhpcy5jb250cm9sc1Zpc2libGV9LGF1dG9IaWRlQ29udG9ybHM6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jb250cm9sc1Nob3cmJnRoaXMucGxheWluZyYmIXRoaXMuY29udHJvbHNUb3VjaGluZ30sc3JjU3luYzpmdW5jdGlvbigpe3JldHVybiB0aGlzLiRnZXRSZWFsUGF0aCh0aGlzLnNyYyl9fSx3YXRjaDp7ZW5hYmxlRGFubXVTeW5jOmZ1bmN0aW9uKHQpe3RoaXMuJGVtaXQoInVwZGF0ZTplbmFibGVEYW5tdSIsdCl9LGF1dG9IaWRlQ29udG9ybHM6ZnVuY3Rpb24odCl7dD90aGlzLmF1dG9IaWRlU3RhcnQoKTp0aGlzLmF1dG9IaWRlRW5kKCl9LHNyY1N5bmM6ZnVuY3Rpb24odCl7dGhpcy5wbGF5aW5nPSExLHRoaXMuY3VycmVudFRpbWU9MH0sY3VycmVudFRpbWU6ZnVuY3Rpb24oKXt0aGlzLnVwZGF0ZVByb2dyZXNzKCl9LGR1cmF0aW9uOmZ1bmN0aW9uKCl7dGhpcy51cGRhdGVQcm9ncmVzcygpfSxidWZmZXJlZDpmdW5jdGlvbih0KXswIT09dCYmdGhpcy4kdHJpZ2dlcigicHJvZ3Jlc3MiLHt9LHtidWZmZXJlZDp0fSl9fSxjcmVhdGVkOmZ1bmN0aW9uKCl7dGhpcy5vdGhlckRhdGE9e2Rhbm11TGlzdDpbXSxkYW5tdUluZGV4Ont0aW1lOjAsaW5kZXg6LTF9LGhpZGVUaW1pbmc6bnVsbH07dmFyIHQ9dGhpcy5vdGhlckRhdGEuZGFubXVMaXN0PUpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5kYW5tdUxpc3R8fFtdKSk7dC5zb3J0KChmdW5jdGlvbih0LGUpe3JldHVybih0LnRpbWV8fDApLShlLnRpbWV8fDApfSkpfSxtb3VudGVkOmZ1bmN0aW9uKCl7dmFyIHQsZSxuLHI9dGhpcyxpPXRoaXMsbz0hMCxzPXRoaXMuJHJlZnMuYmFsbDtmdW5jdGlvbiBjKHIpe3ZhciBhPXIudGFyZ2V0VG91Y2hlc1swXSxzPWEucGFnZVgsYz1hLnBhZ2VZO2lmKG8mJk1hdGguYWJzKHMtdCk8TWF0aC5hYnMoYy1lKSl1KCk7ZWxzZXtvPSExO3ZhciBsPWkuJHJlZnMucHJvZ3Jlc3Mub2Zmc2V0V2lkdGgsZj1uKyhzLXQpL2wqMTAwO2Y8MD9mPTA6Zj4xMDAmJihmPTEwMCksaS5wcm9ncmVzcz1mLHIucHJldmVudERlZmF1bHQoKSxyLnN0b3BQcm9wYWdhdGlvbigpfX1mdW5jdGlvbiB1KHQpe2kuY29udHJvbHNUb3VjaGluZz0hMSxpLnRvdWNoaW5nJiYocy5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLGMsYSksb3x8KHQucHJldmVudERlZmF1bHQoKSx0LnN0b3BQcm9wYWdhdGlvbigpLGkuc2VlayhpLiRyZWZzLnZpZGVvLmR1cmF0aW9uKmkucHJvZ3Jlc3MvMTAwKSksaS50b3VjaGluZz0hMSl9cy5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0IiwoZnVuY3Rpb24oaSl7ci5jb250cm9sc1RvdWNoaW5nPSEwO3ZhciB1PWkudGFyZ2V0VG91Y2hlc1swXTt0PXUucGFnZVgsZT11LnBhZ2VZLG49ci5wcm9ncmVzcyxvPSEwLHIudG91Y2hpbmc9ITAscy5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLGMsYSl9KSkscy5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaGVuZCIsdSkscy5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaGNhbmNlbCIsdSl9LGJlZm9yZURlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLnRyaWdnZXJGdWxsc2NyZWVuKCExKSxjbGVhclRpbWVvdXQodGhpcy5vdGhlckRhdGEuaGlkZVRpbWluZyl9LG1ldGhvZHM6e19oYW5kbGVTdWJzY3JpYmU6ZnVuY3Rpb24odCl7dmFyIGUsbj10LnR5cGUscj10LmRhdGEsaT12b2lkIDA9PT1yP3t9OnI7c3dpdGNoKG4pe2Nhc2Uic2VlayI6ZT1pLnBvc2l0aW9uO2JyZWFrO2Nhc2Uic2VuZERhbm11IjplPWk7YnJlYWs7Y2FzZSJwbGF5YmFja1JhdGUiOmU9aS5yYXRlO2JyZWFrfVsicGxheSIsInBhdXNlIiwic2VlayIsInNlbmREYW5tdSIsInBsYXliYWNrUmF0ZSIsInJlcXVlc3RGdWxsU2NyZWVuIiwiZXhpdEZ1bGxTY3JlZW4iXS5pbmRleE9mKG4pPj0wJiZ0aGlzW25dKGUpfSx0cmlnZ2VyOmZ1bmN0aW9uKCl7dGhpcy5wbGF5aW5nP3RoaXMuJHJlZnMudmlkZW8ucGF1c2UoKTp0aGlzLiRyZWZzLnZpZGVvLnBsYXkoKX0scGxheTpmdW5jdGlvbigpe3RoaXMuc3RhcnQ9ITAsdGhpcy4kcmVmcy52aWRlby5wbGF5KCl9LHBhdXNlOmZ1bmN0aW9uKCl7dGhpcy4kcmVmcy52aWRlby5wYXVzZSgpfSxzZWVrOmZ1bmN0aW9uKHQpe3Q9TnVtYmVyKHQpLCJudW1iZXIiIT09dHlwZW9mIHR8fGlzTmFOKHQpfHwodGhpcy4kcmVmcy52aWRlby5jdXJyZW50VGltZT10KX0sY2xpY2tQcm9ncmVzczpmdW5jdGlvbih0KXt2YXIgZT10aGlzLiRyZWZzLnByb2dyZXNzLG49dC50YXJnZXQscj10Lm9mZnNldFg7d2hpbGUobiE9PWUpcis9bi5vZmZzZXRMZWZ0LG49bi5wYXJlbnROb2RlO3ZhciBpPWUub2Zmc2V0V2lkdGgsbz0wO3I+PTAmJnI8PWkmJihvPXIvaSx0aGlzLnNlZWsodGhpcy4kcmVmcy52aWRlby5kdXJhdGlvbipvKSl9LHRyaWdnZXJEYW5tdTpmdW5jdGlvbigpe3RoaXMuZW5hYmxlRGFubXVTeW5jPSF0aGlzLmVuYWJsZURhbm11U3luY30scGxheURhbm11OmZ1bmN0aW9uKHQpe3ZhciBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInAiKTtlLmNsYXNzTmFtZT0idW5pLXZpZGVvLWRhbm11LWl0ZW0iLGUuaW5uZXJUZXh0PXQudGV4dDt2YXIgbj0iYm90dG9tOiAiLmNvbmNhdCgxMDAqTWF0aC5yYW5kb20oKSwiJTtjb2xvcjogIikuY29uY2F0KHQuY29sb3IsIjsiKTtlLnNldEF0dHJpYnV0ZSgic3R5bGUiLG4pLHRoaXMuJHJlZnMuZGFubXUuYXBwZW5kQ2hpbGQoZSksc2V0VGltZW91dCgoZnVuY3Rpb24oKXtuKz0ibGVmdDogMDstd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsiLGUuc2V0QXR0cmlidXRlKCJzdHlsZSIsbiksc2V0VGltZW91dCgoZnVuY3Rpb24oKXtlLnJlbW92ZSgpfSksNGUzKX0pLDE3KX0sc2VuZERhbm11OmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMub3RoZXJEYXRhO2UuZGFubXVMaXN0LnNwbGljZShlLmRhbm11SW5kZXguaW5kZXgrMSwwLHt0ZXh0OlN0cmluZyh0LnRleHQpLGNvbG9yOnQuY29sb3IsdGltZTp0aGlzLiRyZWZzLnZpZGVvLmN1cnJlbnRUaW1lfHwwfSl9LHBsYXliYWNrUmF0ZTpmdW5jdGlvbih0KXt0aGlzLiRyZWZzLnZpZGVvLnBsYXliYWNrUmF0ZT10fSx0cmlnZ2VyRnVsbHNjcmVlbjpmdW5jdGlvbih0KXt2YXIgZSxuPXRoaXMuJHJlZnMuY29udGFpbmVyLHI9dGhpcy4kcmVmcy52aWRlbzt0PyFkb2N1bWVudC5mdWxsc2NyZWVuRW5hYmxlZCYmIWRvY3VtZW50LndlYmtpdEZ1bGxzY3JlZW5FbmFibGVkfHx0aGlzLmlzU2FmYXJpJiYhdGhpcy51c2VySW50ZXJhY3Q/ci53ZWJraXRFbnRlckZ1bGxTY3JlZW4/ci53ZWJraXRFbnRlckZ1bGxTY3JlZW4oKTooZT0hMCxuLnJlbW92ZSgpLG4uY2xhc3NMaXN0LmFkZCgidW5pLXZpZGVvLXR5cGUtZnVsbHNjcmVlbiIpLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobikpOm5bZG9jdW1lbnQuZnVsbHNjcmVlbkVuYWJsZWQ/InJlcXVlc3RGdWxsc2NyZWVuIjoid2Via2l0UmVxdWVzdEZ1bGxzY3JlZW4iXSgpOmRvY3VtZW50LmZ1bGxzY3JlZW5FbmFibGVkfHxkb2N1bWVudC53ZWJraXRGdWxsc2NyZWVuRW5hYmxlZD9kb2N1bWVudC5mdWxsc2NyZWVuRWxlbWVudD9kb2N1bWVudC5leGl0RnVsbHNjcmVlbigpOmRvY3VtZW50LndlYmtpdEZ1bGxzY3JlZW5FbGVtZW50JiZkb2N1bWVudC53ZWJraXRFeGl0RnVsbHNjcmVlbigpOnIud2Via2l0RXhpdEZ1bGxTY3JlZW4/ci53ZWJraXRFeGl0RnVsbFNjcmVlbigpOihlPSEwLG4ucmVtb3ZlKCksbi5jbGFzc0xpc3QucmVtb3ZlKCJ1bmktdmlkZW8tdHlwZS1mdWxsc2NyZWVuIiksdGhpcy4kZWwuYXBwZW5kQ2hpbGQobikpLGUmJnRoaXMuZW1pdEZ1bGxzY3JlZW5DaGFuZ2UodCl9LG9uRnVsbHNjcmVlbkNoYW5nZTpmdW5jdGlvbih0LGUpe2UmJmRvY3VtZW50LmZ1bGxzY3JlZW5FbmFibGVkfHx0aGlzLmVtaXRGdWxsc2NyZWVuQ2hhbmdlKCEoIWRvY3VtZW50LmZ1bGxzY3JlZW5FbGVtZW50JiYhZG9jdW1lbnQud2Via2l0RnVsbHNjcmVlbkVsZW1lbnQpKX0sZW1pdEZ1bGxzY3JlZW5DaGFuZ2U6ZnVuY3Rpb24odCl7dGhpcy5mdWxsc2NyZWVuPXQsdGhpcy4kdHJpZ2dlcigiZnVsbHNjcmVlbmNoYW5nZSIse30se2Z1bGxTY3JlZW46dCxkaXJlY3Rpb246InZlcnRpY2FsIn0pfSxyZXF1ZXN0RnVsbFNjcmVlbjpmdW5jdGlvbigpe3RoaXMudHJpZ2dlckZ1bGxzY3JlZW4oITApfSxleGl0RnVsbFNjcmVlbjpmdW5jdGlvbigpe3RoaXMudHJpZ2dlckZ1bGxzY3JlZW4oITEpfSxvbkR1cmF0aW9uQ2hhbmdlOmZ1bmN0aW9uKHQpe3ZhciBlPXQudGFyZ2V0O3RoaXMuZHVyYXRpb25UaW1lPWUuZHVyYXRpb259LG9uTG9hZGVkTWV0YWRhdGE6ZnVuY3Rpb24odCl7dmFyIGU9TnVtYmVyKHRoaXMuaW5pdGlhbFRpbWUpfHwwLG49dC50YXJnZXQ7ZT4wJiYobi5jdXJyZW50VGltZT1lKSx0aGlzLiR0cmlnZ2VyKCJsb2FkZWRtZXRhZGF0YSIsdCx7d2lkdGg6bi52aWRlb1dpZHRoLGhlaWdodDpuLnZpZGVvSGVpZ2h0LGR1cmF0aW9uOm4uZHVyYXRpb259KSx0aGlzLm9uUHJvZ3Jlc3ModCl9LG9uUHJvZ3Jlc3M6ZnVuY3Rpb24odCl7dmFyIGU9dC50YXJnZXQsbj1lLmJ1ZmZlcmVkO24ubGVuZ3RoJiYodGhpcy5idWZmZXJlZD1uLmVuZChuLmxlbmd0aC0xKS9lLmR1cmF0aW9uKjEwMCl9LG9uV2FpdGluZzpmdW5jdGlvbih0KXt0aGlzLiR0cmlnZ2VyKCJ3YWl0aW5nIix0LHt9KX0sb25WaWRlb0Vycm9yOmZ1bmN0aW9uKHQpe3RoaXMucGxheWluZz0hMSx0aGlzLiR0cmlnZ2VyKCJlcnJvciIsdCx7fSl9LG9uUGxheTpmdW5jdGlvbih0KXt0aGlzLnN0YXJ0PSEwLHRoaXMucGxheWluZz0hMCx0aGlzLiR0cmlnZ2VyKCJwbGF5Iix0LHt9KX0sb25QYXVzZTpmdW5jdGlvbih0KXt0aGlzLnBsYXlpbmc9ITEsdGhpcy4kdHJpZ2dlcigicGF1c2UiLHQse30pfSxvbkVuZGVkOmZ1bmN0aW9uKHQpe3RoaXMucGxheWluZz0hMSx0aGlzLiR0cmlnZ2VyKCJlbmRlZCIsdCx7fSl9LG9uVGltZVVwZGF0ZTpmdW5jdGlvbih0KXt2YXIgZT10LnRhcmdldCxuPXRoaXMub3RoZXJEYXRhLHI9dGhpcy5jdXJyZW50VGltZT1lLmN1cnJlbnRUaW1lLGk9bi5kYW5tdUluZGV4LG89e3RpbWU6cixpbmRleDppLmluZGV4fSxhPW4uZGFubXVMaXN0O2lmKHI+aS50aW1lKWZvcih2YXIgcz1pLmluZGV4KzE7czxhLmxlbmd0aDtzKyspe3ZhciBjPWFbc107aWYoIShyPj0oYy50aW1lfHwwKSkpYnJlYWs7by5pbmRleD1zLHRoaXMucGxheWluZyYmdGhpcy5lbmFibGVEYW5tdVN5bmMmJnRoaXMucGxheURhbm11KGMpfWVsc2UgaWYocjxpLnRpbWUpZm9yKHZhciB1PWkuaW5kZXgtMTt1Pi0xO3UtLSl7dmFyIGw9YVt1XTtpZighKHI8PShsLnRpbWV8fDApKSlicmVhaztvLmluZGV4PXUtMX1uLmRhbm11SW5kZXg9byx0aGlzLiR0cmlnZ2VyKCJ0aW1ldXBkYXRlIix0LHtjdXJyZW50VGltZTpyLGR1cmF0aW9uOmUuZHVyYXRpb259KX0sdHJpZ2dlckNvbnRyb2xzOmZ1bmN0aW9uKCl7dGhpcy5jb250cm9sc1Zpc2libGU9IXRoaXMuY29udHJvbHNWaXNpYmxlfSx0b3VjaHN0YXJ0OmZ1bmN0aW9uKHQpe3ZhciBlPXQudGFyZ2V0VG91Y2hlc1swXTt0aGlzLnRvdWNoU3RhcnRPcmlnaW49e3g6ZS5wYWdlWCx5OmUucGFnZVl9LHRoaXMuZ2VzdHVyZVR5cGU9cy5OT05FLHRoaXMudm9sdW1lT2xkPW51bGwsdGhpcy5jdXJyZW50VGltZU9sZD10aGlzLmN1cnJlbnRUaW1lTmV3PTB9LHRvdWNobW92ZTpmdW5jdGlvbih0KXtmdW5jdGlvbiBlKCl7dC5zdG9wUHJvcGFnYXRpb24oKSx0LnByZXZlbnREZWZhdWx0KCl9dGhpcy5mdWxsc2NyZWVuJiZlKCk7dmFyIG49dGhpcy5nZXN0dXJlVHlwZTtpZihuIT09cy5TVE9QKXt2YXIgcj10LnRhcmdldFRvdWNoZXNbMF0saT1yLnBhZ2VYLG89ci5wYWdlWSxhPXRoaXMudG91Y2hTdGFydE9yaWdpbjtpZihuPT09cy5QUk9HUkVTUz90aGlzLmNoYW5nZVByb2dyZXNzKGktYS54KTpuPT09cy5WT0xVTUUmJnRoaXMuY2hhbmdlVm9sdW1lKG8tYS55KSxuPT09cy5OT05FKWlmKE1hdGguYWJzKGktYS54KT5NYXRoLmFicyhvLWEueSkpe2lmKCF0aGlzLmVuYWJsZVByb2dyZXNzR2VzdHVyZSlyZXR1cm4gdm9pZCh0aGlzLmdlc3R1cmVUeXBlPXMuU1RPUCk7dGhpcy5nZXN0dXJlVHlwZT1zLlBST0dSRVNTLHRoaXMuY3VycmVudFRpbWVPbGQ9dGhpcy5jdXJyZW50VGltZU5ldz10aGlzLiRyZWZzLnZpZGVvLmN1cnJlbnRUaW1lLHRoaXMuZnVsbHNjcmVlbnx8ZSgpfWVsc2V7aWYoIXRoaXMucGFnZUdlc3R1cmUpcmV0dXJuIHZvaWQodGhpcy5nZXN0dXJlVHlwZT1zLlNUT1ApO3RoaXMuZ2VzdHVyZVR5cGU9cy5WT0xVTUUsdGhpcy52b2x1bWVPbGQ9dGhpcy4kcmVmcy52aWRlby52b2x1bWUsdGhpcy5mdWxsc2NyZWVufHxlKCl9fX0sdG91Y2hlbmQ6ZnVuY3Rpb24odCl7dGhpcy5nZXN0dXJlVHlwZSE9PXMuTk9ORSYmdGhpcy5nZXN0dXJlVHlwZSE9PXMuU1RPUCYmKHQuc3RvcFByb3BhZ2F0aW9uKCksdC5wcmV2ZW50RGVmYXVsdCgpKSx0aGlzLmdlc3R1cmVUeXBlPT09cy5QUk9HUkVTUyYmdGhpcy5jdXJyZW50VGltZU9sZCE9PXRoaXMuY3VycmVudFRpbWVOZXcmJih0aGlzLiRyZWZzLnZpZGVvLmN1cnJlbnRUaW1lPXRoaXMuY3VycmVudFRpbWVOZXcpLHRoaXMuZ2VzdHVyZVR5cGU9cy5OT05FfSxjaGFuZ2VQcm9ncmVzczpmdW5jdGlvbih0KXt2YXIgZT10aGlzLiRyZWZzLnZpZGVvLmR1cmF0aW9uLG49dC82MDAqZSt0aGlzLmN1cnJlbnRUaW1lT2xkO248MD9uPTA6bj5lJiYobj1lKSx0aGlzLmN1cnJlbnRUaW1lTmV3PW59LGNoYW5nZVZvbHVtZTpmdW5jdGlvbih0KXt2YXIgZSxuPXRoaXMudm9sdW1lT2xkOyJudW1iZXIiPT09dHlwZW9mIG4mJihlPW4tdC8yMDAsZTwwP2U9MDplPjEmJihlPTEpLHRoaXMuJHJlZnMudmlkZW8udm9sdW1lPWUsdGhpcy52b2x1bWVOZXc9ZSl9LGF1dG9IaWRlU3RhcnQ6ZnVuY3Rpb24oKXt2YXIgdD10aGlzO3RoaXMub3RoZXJEYXRhLmhpZGVUaW1pbmc9c2V0VGltZW91dCgoZnVuY3Rpb24oKXt0LmNvbnRyb2xzVmlzaWJsZT0hMX0pLDNlMyl9LGF1dG9IaWRlRW5kOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5vdGhlckRhdGE7dC5oaWRlVGltaW5nJiYoY2xlYXJUaW1lb3V0KHQuaGlkZVRpbWluZyksdC5oaWRlVGltaW5nPW51bGwpfSx1cGRhdGVQcm9ncmVzczpmdW5jdGlvbigpe3RoaXMudG91Y2hpbmd8fCh0aGlzLnByb2dyZXNzPXRoaXMuY3VycmVudFRpbWUvdGhpcy5kdXJhdGlvblRpbWUqMTAwKX19fSx1PWMsbD0obigiYTYxZCIpLG4oIjg4NDQiKSksZj1PYmplY3QobFsiYSJdKSh1LChmdW5jdGlvbigpe3ZhciB0PXRoaXMsZT10LiRjcmVhdGVFbGVtZW50LG49dC5fc2VsZi5fY3x8ZTtyZXR1cm4gbigidW5pLXZpZGVvIix0Ll9nKHthdHRyczp7aWQ6dC5pZH19LHQuJGxpc3RlbmVycyksW24oImRpdiIse3JlZjoiY29udGFpbmVyIixzdGF0aWNDbGFzczoidW5pLXZpZGVvLWNvbnRhaW5lciIsb246e3RvdWNoc3RhcnQ6dC50b3VjaHN0YXJ0LHRvdWNoZW5kOnQudG91Y2hlbmQsdG91Y2htb3ZlOnQudG91Y2htb3ZlLGZ1bGxzY3JlZW5jaGFuZ2U6ZnVuY3Rpb24oZSl7cmV0dXJuIGUuc3RvcFByb3BhZ2F0aW9uKCksdC5vbkZ1bGxzY3JlZW5DaGFuZ2UoZSl9LHdlYmtpdGZ1bGxzY3JlZW5jaGFuZ2U6ZnVuY3Rpb24oZSl7cmV0dXJuIGUuc3RvcFByb3BhZ2F0aW9uKCksdC5vbkZ1bGxzY3JlZW5DaGFuZ2UoZSwhMCl9fX0sW24oInZpZGVvIix0Ll9iKHtyZWY6InZpZGVvIixzdGF0aWNDbGFzczoidW5pLXZpZGVvLXZpZGVvIixzdHlsZTp7b2JqZWN0Rml0OnQub2JqZWN0Rml0fSxhdHRyczp7bG9vcDp0Lmxvb3Asc3JjOnQuc3JjU3luYyxwb3N0ZXI6dC5wb3N0ZXIsYXV0b3BsYXk6dC5hdXRvcGxheSwid2Via2l0LXBsYXlzaW5saW5lIjoiIixwbGF5c2lubGluZToiIn0sZG9tUHJvcHM6e211dGVkOnQubXV0ZWR9LG9uOntjbGljazp0LnRyaWdnZXJDb250cm9scyxkdXJhdGlvbmNoYW5nZTp0Lm9uRHVyYXRpb25DaGFuZ2UsbG9hZGVkbWV0YWRhdGE6dC5vbkxvYWRlZE1ldGFkYXRhLHByb2dyZXNzOnQub25Qcm9ncmVzcyx3YWl0aW5nOnQub25XYWl0aW5nLGVycm9yOnQub25WaWRlb0Vycm9yLHBsYXk6dC5vblBsYXkscGF1c2U6dC5vblBhdXNlLGVuZGVkOnQub25FbmRlZCx0aW1ldXBkYXRlOnQub25UaW1lVXBkYXRlLHdlYmtpdGJlZ2luZnVsbHNjcmVlbjpmdW5jdGlvbihlKXtyZXR1cm4gdC5lbWl0RnVsbHNjcmVlbkNoYW5nZSghMCl9LHg1dmlkZW9lbnRlcmZ1bGxzY3JlZW46ZnVuY3Rpb24oZSl7cmV0dXJuIHQuZW1pdEZ1bGxzY3JlZW5DaGFuZ2UoITApfSx3ZWJraXRlbmRmdWxsc2NyZWVuOmZ1bmN0aW9uKGUpe3JldHVybiB0LmVtaXRGdWxsc2NyZWVuQ2hhbmdlKCExKX0seDV2aWRlb2V4aXRmdWxsc2NyZWVuOmZ1bmN0aW9uKGUpe3JldHVybiB0LmVtaXRGdWxsc2NyZWVuQ2hhbmdlKCExKX19fSwidmlkZW8iLHQuJGF0dHJzLCExKSksbigiZGl2Iix7ZGlyZWN0aXZlczpbe25hbWU6InNob3ciLHJhd05hbWU6InYtc2hvdyIsdmFsdWU6dC5jb250cm9sc1Nob3csZXhwcmVzc2lvbjoiY29udHJvbHNTaG93In1dLHN0YXRpY0NsYXNzOiJ1bmktdmlkZW8tYmFyIHVuaS12aWRlby1iYXItZnVsbCIsb246e2NsaWNrOmZ1bmN0aW9uKHQpe3Quc3RvcFByb3BhZ2F0aW9uKCl9fX0sW24oImRpdiIse3N0YXRpY0NsYXNzOiJ1bmktdmlkZW8tY29udHJvbHMifSxbbigiZGl2Iix7ZGlyZWN0aXZlczpbe25hbWU6InNob3ciLHJhd05hbWU6InYtc2hvdyIsdmFsdWU6dC5zaG93UGxheUJ0bixleHByZXNzaW9uOiJzaG93UGxheUJ0biJ9XSxzdGF0aWNDbGFzczoidW5pLXZpZGVvLWNvbnRyb2wtYnV0dG9uIixjbGFzczp7InVuaS12aWRlby1jb250cm9sLWJ1dHRvbi1wbGF5IjohdC5wbGF5aW5nLCJ1bmktdmlkZW8tY29udHJvbC1idXR0b24tcGF1c2UiOnQucGxheWluZ30sb246e2NsaWNrOmZ1bmN0aW9uKGUpe3JldHVybiBlLnN0b3BQcm9wYWdhdGlvbigpLHQudHJpZ2dlcihlKX19fSksbigiZGl2Iix7ZGlyZWN0aXZlczpbe25hbWU6InNob3ciLHJhd05hbWU6InYtc2hvdyIsdmFsdWU6dC5zaG93UHJvZ3Jlc3MsZXhwcmVzc2lvbjoic2hvd1Byb2dyZXNzIn1dLHN0YXRpY0NsYXNzOiJ1bmktdmlkZW8tY3VycmVudC10aW1lIn0sW3QuX3YoIiAiK3QuX3ModC5fZigidGltZSIpKHQuY3VycmVudFRpbWUpKSsiICIpXSksbigiZGl2Iix7ZGlyZWN0aXZlczpbe25hbWU6InNob3ciLHJhd05hbWU6InYtc2hvdyIsdmFsdWU6dC5zaG93UHJvZ3Jlc3MsZXhwcmVzc2lvbjoic2hvd1Byb2dyZXNzIn1dLHJlZjoicHJvZ3Jlc3MiLHN0YXRpY0NsYXNzOiJ1bmktdmlkZW8tcHJvZ3Jlc3MtY29udGFpbmVyIixvbjp7Y2xpY2s6ZnVuY3Rpb24oZSl7cmV0dXJuIGUuc3RvcFByb3BhZ2F0aW9uKCksdC5jbGlja1Byb2dyZXNzKGUpfX19LFtuKCJkaXYiLHtzdGF0aWNDbGFzczoidW5pLXZpZGVvLXByb2dyZXNzIn0sW24oImRpdiIse3N0YXRpY0NsYXNzOiJ1bmktdmlkZW8tcHJvZ3Jlc3MtYnVmZmVyZWQiLHN0eWxlOnt3aWR0aDp0LmJ1ZmZlcmVkKyIlIn19KSxuKCJkaXYiLHtyZWY6ImJhbGwiLHN0YXRpY0NsYXNzOiJ1bmktdmlkZW8tYmFsbCIsc3R5bGU6e2xlZnQ6dC5wcm9ncmVzcysiJSJ9fSxbbigiZGl2Iix7c3RhdGljQ2xhc3M6InVuaS12aWRlby1pbm5lciJ9KV0pXSldKSxuKCJkaXYiLHtkaXJlY3RpdmVzOlt7bmFtZToic2hvdyIscmF3TmFtZToidi1zaG93Iix2YWx1ZTp0LnNob3dQcm9ncmVzcyxleHByZXNzaW9uOiJzaG93UHJvZ3Jlc3MifV0sc3RhdGljQ2xhc3M6InVuaS12aWRlby1kdXJhdGlvbiJ9LFt0Ll92KCIgIit0Ll9zKHQuX2YoInRpbWUiKSh0LmR1cmF0aW9ufHx0LmR1cmF0aW9uVGltZSkpKyIgIildKV0pLHQuZGFubXVCdG4/bigiZGl2Iix7c3RhdGljQ2xhc3M6InVuaS12aWRlby1kYW5tdS1idXR0b24iLGNsYXNzOnsidW5pLXZpZGVvLWRhbm11LWJ1dHRvbi1hY3RpdmUiOnQuZW5hYmxlRGFubXVTeW5jfSxvbjp7Y2xpY2s6ZnVuY3Rpb24oZSl7cmV0dXJuIGUuc3RvcFByb3BhZ2F0aW9uKCksdC50cmlnZ2VyRGFubXUoZSl9fX0sW3QuX3YoIiAiK3QuX3ModC4kJHQoInVuaS52aWRlby5kYW5tdSIpKSsiICIpXSk6dC5fZSgpLG4oImRpdiIse2RpcmVjdGl2ZXM6W3tuYW1lOiJzaG93IixyYXdOYW1lOiJ2LXNob3ciLHZhbHVlOnQuc2hvd0Z1bGxzY3JlZW5CdG4sZXhwcmVzc2lvbjoic2hvd0Z1bGxzY3JlZW5CdG4ifV0sc3RhdGljQ2xhc3M6InVuaS12aWRlby1mdWxsc2NyZWVuIixjbGFzczp7InVuaS12aWRlby10eXBlLWZ1bGxzY3JlZW4iOnQuZnVsbHNjcmVlbn0sb246e2NsaWNrOmZ1bmN0aW9uKGUpe3JldHVybiBlLnN0b3BQcm9wYWdhdGlvbigpLHQudHJpZ2dlckZ1bGxzY3JlZW4oIXQuZnVsbHNjcmVlbil9fX0pXSksbigiZGl2Iix7ZGlyZWN0aXZlczpbe25hbWU6InNob3ciLHJhd05hbWU6InYtc2hvdyIsdmFsdWU6dC5zdGFydCYmdC5lbmFibGVEYW5tdVN5bmMsZXhwcmVzc2lvbjoic3RhcnQmJmVuYWJsZURhbm11U3luYyJ9XSxyZWY6ImRhbm11IixzdGF0aWNDbGFzczoidW5pLXZpZGVvLWRhbm11IixzdGF0aWNTdHlsZTp7InotaW5kZXgiOiIwIn19KSx0LmNlbnRlclBsYXlCdG5TaG93P24oImRpdiIse3N0YXRpY0NsYXNzOiJ1bmktdmlkZW8tY292ZXIiLG9uOntjbGljazpmdW5jdGlvbih0KXt0LnN0b3BQcm9wYWdhdGlvbigpfX19LFtuKCJkaXYiLHtzdGF0aWNDbGFzczoidW5pLXZpZGVvLWNvdmVyLXBsYXktYnV0dG9uIixvbjp7Y2xpY2s6ZnVuY3Rpb24oZSl7cmV0dXJuIGUuc3RvcFByb3BhZ2F0aW9uKCksdC5wbGF5KGUpfX19KSxuKCJwIix7c3RhdGljQ2xhc3M6InVuaS12aWRlby1jb3Zlci1kdXJhdGlvbiJ9LFt0Ll92KCIgIit0Ll9zKHQuX2YoInRpbWUiKSh0LmR1cmF0aW9ufHx0LmR1cmF0aW9uVGltZSkpKyIgIildKV0pOnQuX2UoKSxuKCJkaXYiLHtzdGF0aWNDbGFzczoidW5pLXZpZGVvLXRvYXN0IixjbGFzczp7InVuaS12aWRlby10b2FzdC12b2x1bWUiOiJ2b2x1bWUiPT09dC5nZXN0dXJlVHlwZX19LFtuKCJkaXYiLHtzdGF0aWNDbGFzczoidW5pLXZpZGVvLXRvYXN0LXRpdGxlIn0sW3QuX3YoIiAiK3QuX3ModC4kJHQoInVuaS52aWRlby52b2x1bWUiKSkrIiAiKV0pLG4oInN2ZyIse3N0YXRpY0NsYXNzOiJ1bmktdmlkZW8tdG9hc3QtaWNvbiIsYXR0cnM6e3dpZHRoOiIyMDBweCIsaGVpZ2h0OiIyMDBweCIsdmlld0JveDoiMCAwIDEwMjQgMTAyNCIsdmVyc2lvbjoiMS4xIix4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcifX0sW24oInBhdGgiLHthdHRyczp7ZDoiTTQ3NS40MDA3MDQgMjAxLjE5NTUybDAgNjIxLjY3NDQ5NnEwIDE0Ljg1NjE5Mi0xMC44NTY0NDggMjUuNzEyNjR0LTI1LjcxMjY0IDEwLjg1NjQ0OC0yNS43MTI2NC0xMC44NTY0NDhsLTE5MC4yNzM1MzYtMTkwLjI3MzUzNi0xNDkuNzA0NzA0IDBxLTE0Ljg1NjE5MiAwLTI1LjcxMjY0LTEwLjg1NjQ0OHQtMTAuODU2NDQ4LTI1LjcxMjY0bDAtMjE5LjQxNDUyOHEwLTE0Ljg1NjE5MiAxMC44NTY0NDgtMjUuNzEyNjR0MjUuNzEyNjQtMTAuODU2NDQ4bDE0OS43MDQ3MDQgMCAxOTAuMjczNTM2LTE5MC4yNzM1MzZxMTAuODU2NDQ4LTEwLjg1NjQ0OCAyNS43MTI2NC0xMC44NTY0NDh0MjUuNzEyNjQgMTAuODU2NDQ4IDEwLjg1NjQ0OCAyNS43MTI2NHptMjE5LjQxNDUyOCAzMTAuODM3MjQ4cTAgNDMuNDI1NzkyLTI0LjI4NDE2IDgwLjg1MTk2OHQtNjQuMjgxNiA1My40MjUxNTJxLTUuNzEzOTIgMi44NTY5Ni0xNC4yODQ4IDIuODU2OTYtMTQuODU2MTkyIDAtMjUuNzEyNjQtMTAuNTcwNzUydC0xMC44NTY0NDgtMjUuOTk4MzM2cTAtMTEuOTk5MjMyIDYuODU2NzA0LTIwLjI4NDQxNnQxNi41NzAzNjgtMTQuMjg0OCAxOS40MjczMjgtMTMuMTQyMDE2IDE2LjU3MDM2OC0yMC4yODQ0MTYgNi44NTY3MDQtMzIuNTY5MzQ0LTYuODU2NzA0LTMyLjU2OTM0NC0xNi41NzAzNjgtMjAuMjg0NDE2LTE5LjQyNzMyOC0xMy4xNDIwMTYtMTYuNTcwMzY4LTE0LjI4NDgtNi44NTY3MDQtMjAuMjg0NDE2cTAtMTUuNDI3NTg0IDEwLjg1NjQ0OC0yNS45OTgzMzZ0MjUuNzEyNjQtMTAuNTcwNzUycTguNTcwODggMCAxNC4yODQ4IDIuODU2OTYgMzkuOTk3NDQgMTUuNDI3NTg0IDY0LjI4MTYgNTMuMTM5NDU2dDI0LjI4NDE2IDgxLjEzNzY2NHptMTQ2LjI3NjM1MiAwcTAgODcuNDIyOTc2LTQ4LjU2ODMyIDE2MS40MTgyNHQtMTI4LjU2MzIgMTA3LjcwNzM5MnEtNy40MjgwOTYgMi44NTY5Ni0xNC4yODQ4IDIuODU2OTYtMTUuNDI3NTg0IDAtMjYuMjg0MDMyLTEwLjg1NjQ0OHQtMTAuODU2NDQ4LTI1LjcxMjY0cTAtMjIuMjg0Mjg4IDIyLjI4NDI4OC0zMy43MTIxMjggMzEuOTk3OTUyLTE2LjU3MDM2OCA0My40MjU3OTItMjUuMTQxMjQ4IDQyLjI4MzAwOC0zMC44NTUxNjggNjUuOTk1Nzc2LTc3LjQyMzYxNnQyMy43MTI3NjgtOTkuMTM2NTEyLTIzLjcxMjc2OC05OS4xMzY1MTItNjUuOTk1Nzc2LTc3LjQyMzYxNnEtMTEuNDI3ODQtOC41NzA4OC00My40MjU3OTItMjUuMTQxMjQ4LTIyLjI4NDI4OC0xMS40Mjc4NC0yMi4yODQyODgtMzMuNzEyMTI4IDAtMTQuODU2MTkyIDEwLjg1NjQ0OC0yNS43MTI2NHQyNS43MTI2NC0xMC44NTY0NDhxNy40MjgwOTYgMCAxNC44NTYxOTIgMi44NTY5NiA3OS45OTQ4OCAzMy43MTIxMjggMTI4LjU2MzIgMTA3LjcwNzM5MnQ0OC41NjgzMiAxNjEuNDE4MjR6bTE0Ni4yNzYzNTIgMHEwIDEzMS40MjAxNi03Mi41NjY3ODQgMjQxLjQxMzEydC0xOTMuMTMwNDk2IDE2MS45ODk2MzJxLTcuNDI4MDk2IDIuODU2OTYtMTQuODU2MTkyIDIuODU2OTYtMTQuODU2MTkyIDAtMjUuNzEyNjQtMTAuODU2NDQ4dC0xMC44NTY0NDgtMjUuNzEyNjRxMC0yMC41NzAxMTIgMjIuMjg0Mjg4LTMzLjcxMjEyOCAzLjk5OTc0NC0yLjI4NTU2OCAxMi44NTYzMi01Ljk5OTYxNnQxMi44NTYzMi01Ljk5OTYxNnEyNi4yODQwMzItMTQuMjg0OCA0Ni44NTQxNDQtMjkuMTQwOTkyIDcwLjI4MTIxNi01MS45OTY2NzIgMTA5LjcwNzI2NC0xMjkuNzA1OTg0dDM5LjQyNjA0OC0xNjUuMTMyMjg4LTM5LjQyNjA0OC0xNjUuMTMyMjg4LTEwOS43MDcyNjQtMTI5LjcwNTk4NHEtMjAuNTcwMTEyLTE0Ljg1NjE5Mi00Ni44NTQxNDQtMjkuMTQwOTkyLTMuOTk5NzQ0LTIuMjg1NTY4LTEyLjg1NjMyLTUuOTk5NjE2dC0xMi44NTYzMi01Ljk5OTYxNnEtMjIuMjg0Mjg4LTEzLjE0MjAxNi0yMi4yODQyODgtMzMuNzEyMTI4IDAtMTQuODU2MTkyIDEwLjg1NjQ0OC0yNS43MTI2NHQyNS43MTI2NC0xMC44NTY0NDhxNy40MjgwOTYgMCAxNC44NTYxOTIgMi44NTY5NiAxMjAuNTYzNzEyIDUxLjk5NjY3MiAxOTMuMTMwNDk2IDE2MS45ODk2MzJ0NzIuNTY2Nzg0IDI0MS40MTMxMnoifX0pXSksbigiZGl2Iix7c3RhdGljQ2xhc3M6InVuaS12aWRlby10b2FzdC12YWx1ZSJ9LFtuKCJkaXYiLHtzdGF0aWNDbGFzczoidW5pLXZpZGVvLXRvYXN0LXZhbHVlLWNvbnRlbnQiLHN0eWxlOnt3aWR0aDoxMDAqdC52b2x1bWVOZXcrIiUifX0sW24oImRpdiIse3N0YXRpY0NsYXNzOiJ1bmktdmlkZW8tdG9hc3Qtdm9sdW1lLWdyaWRzIn0sdC5fbCgxMCwoZnVuY3Rpb24odCxlKXtyZXR1cm4gbigiZGl2Iix7a2V5OmUsc3RhdGljQ2xhc3M6InVuaS12aWRlby10b2FzdC12b2x1bWUtZ3JpZHMtaXRlbSJ9KX0pKSwwKV0pXSldKSxuKCJkaXYiLHtzdGF0aWNDbGFzczoidW5pLXZpZGVvLXRvYXN0IixjbGFzczp7InVuaS12aWRlby10b2FzdC1wcm9ncmVzcyI6InByb2dyZXNzIj09dC5nZXN0dXJlVHlwZX19LFtuKCJkaXYiLHtzdGF0aWNDbGFzczoidW5pLXZpZGVvLXRvYXN0LXRpdGxlIn0sW3QuX3YoIiAiK3QuX3ModC5fZigidGltZSIpKHQuY3VycmVudFRpbWVOZXcpKSsiIC8gIit0Ll9zKHQuX2YoInRpbWUiKSh0LmR1cmF0aW9uVGltZSkpKyIgIildKV0pLG4oImRpdiIse3N0YXRpY0NsYXNzOiJ1bmktdmlkZW8tc2xvdHMifSxbdC5fdCgiZGVmYXVsdCIpXSwyKV0pXSl9KSxbXSwhMSxudWxsLG51bGwsbnVsbCk7ZVsiZGVmYXVsdCJdPWYuZXhwb3J0c30sIjRjYTEiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5yKGUpLG4uZChlLCJwcmV2aWV3SW1hZ2UiLChmdW5jdGlvbigpe3JldHVybiBpfSkpO3ZhciByPW4oIjQ3MzgiKSxpPXt1cmxzOnt0eXBlOkFycmF5LHJlcXVpcmVkOiEwLHZhbGlkYXRvcjpmdW5jdGlvbih0LGUpe3ZhciBuO2lmKGUudXJscz10Lm1hcCgoZnVuY3Rpb24odCl7aWYoInN0cmluZyI9PT10eXBlb2YgdClyZXR1cm4gT2JqZWN0KHJbImEiXSkodCk7bj0hMH0pKSxuKXJldHVybiJ1cmwgaXMgbm90IHN0cmluZyJ9fSxjdXJyZW50Ont0eXBlOltTdHJpbmcsTnVtYmVyXSx2YWxpZGF0b3I6ZnVuY3Rpb24odCxlKXsibnVtYmVyIj09PXR5cGVvZiB0P2UuY3VycmVudD10PjAmJnQ8ZS51cmxzLmxlbmd0aD90OjA6InN0cmluZyI9PT10eXBlb2YgdCYmdCYmKGUuY3VycmVudD1PYmplY3QoclsiYSJdKSh0KSl9LGRlZmF1bHQ6MH19fSwiNGNhMTMiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5yKGUpLGZ1bmN0aW9uKHQpe24uZChlLCJkb3dubG9hZEZpbGUiLChmdW5jdGlvbigpe3JldHVybiBzfSkpO3ZhciByPW4oImJkZWUiKTtmdW5jdGlvbiBpKHQsZSl7Zm9yKHZhciBuPTA7bjxlLmxlbmd0aDtuKyspe3ZhciByPWVbbl07ci5lbnVtZXJhYmxlPXIuZW51bWVyYWJsZXx8ITEsci5jb25maWd1cmFibGU9ITAsInZhbHVlImluIHImJihyLndyaXRhYmxlPSEwKSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCxyLmtleSxyKX19ZnVuY3Rpb24gbyh0LGUsbil7cmV0dXJuIGUgaW4gdD9PYmplY3QuZGVmaW5lUHJvcGVydHkodCxlLHt2YWx1ZTpuLGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwfSk6dFtlXT1uLHR9dmFyIGE9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KGUpeyhmdW5jdGlvbih0LGUpe2lmKCEodCBpbnN0YW5jZW9mIGUpKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvbiIpfSkodGhpcyx0KSxvKHRoaXMsIl94aHIiLHZvaWQgMCksbyh0aGlzLCJfY2FsbGJhY2tzIixbXSksdGhpcy5feGhyPWV9cmV0dXJuIGZ1bmN0aW9uKHQsZSxuKXtlJiZpKHQucHJvdG90eXBlLGUpLG4mJmkodCxuKX0odCxbe2tleToib25Qcm9ncmVzc1VwZGF0ZSIsdmFsdWU6ZnVuY3Rpb24odCl7ImZ1bmN0aW9uIj09PXR5cGVvZiB0JiZ0aGlzLl9jYWxsYmFja3MucHVzaCh0KX19LHtrZXk6Im9mZlByb2dyZXNzVXBkYXRlIix2YWx1ZTpmdW5jdGlvbih0KXt2YXIgZT10aGlzLl9jYWxsYmFja3MuaW5kZXhPZih0KTtlPj0wJiZ0aGlzLl9jYWxsYmFja3Muc3BsaWNlKGUsMSl9fSx7a2V5OiJhYm9ydCIsdmFsdWU6ZnVuY3Rpb24oKXt0aGlzLl94aHImJih0aGlzLl94aHIuYWJvcnQoKSxkZWxldGUgdGhpcy5feGhyKX19XSksdH0oKTtmdW5jdGlvbiBzKGUsbil7dmFyIGksbz1lLnVybCxzPWUuaGVhZGVyLGM9ZS50aW1lb3V0LHU9dm9pZCAwPT09Yz9fX3VuaUNvbmZpZy5uZXR3b3JrVGltZW91dCYmX191bmlDb25maWcubmV0d29ya1RpbWVvdXQucmVxdWVzdHx8NmU0OmMsbD10LGY9bC5pbnZva2VDYWxsYmFja0hhbmRsZXIsZD1uZXcgWE1MSHR0cFJlcXVlc3QsaD1uZXcgYShkKTtyZXR1cm4gZC5vcGVuKCJHRVQiLG8sITApLE9iamVjdC5rZXlzKHMpLmZvckVhY2goKGZ1bmN0aW9uKHQpe2Quc2V0UmVxdWVzdEhlYWRlcih0LHNbdF0pfSkpLGQucmVzcG9uc2VUeXBlPSJibG9iIixkLm9ubG9hZD1mdW5jdGlvbigpe2NsZWFyVGltZW91dChpKTt2YXIgdCxlPWQuc3RhdHVzLGE9dGhpcy5yZXNwb25zZSxzPWQuZ2V0UmVzcG9uc2VIZWFkZXIoImNvbnRlbnQtZGlzcG9zaXRpb24iKTtpZihzKXt2YXIgYz1zLm1hdGNoKC9maWxlbmFtZT0iPyhcUyspIj9cYi8pO2MmJih0PWNbMV0pfWEubmFtZT10fHxPYmplY3QoclsiYyJdKShvKSxmKG4se2Vyck1zZzoiZG93bmxvYWRGaWxlOm9rIixzdGF0dXNDb2RlOmUsdGVtcEZpbGVQYXRoOk9iamVjdChyWyJiIl0pKGEpfSl9LGQub25hYm9ydD1mdW5jdGlvbigpe2NsZWFyVGltZW91dChpKSxmKG4se2Vyck1zZzoiZG93bmxvYWRGaWxlOmZhaWwgYWJvcnQifSl9LGQub25lcnJvcj1mdW5jdGlvbigpe2NsZWFyVGltZW91dChpKSxmKG4se2Vyck1zZzoiZG93bmxvYWRGaWxlOmZhaWwifSl9LGQub25wcm9ncmVzcz1mdW5jdGlvbih0KXtoLl9jYWxsYmFja3MuZm9yRWFjaCgoZnVuY3Rpb24oZSl7dmFyIG49dC5sb2FkZWQscj10LnRvdGFsLGk9TWF0aC5yb3VuZChuL3IqMTAwKTtlKHtwcm9ncmVzczppLHRvdGFsQnl0ZXNXcml0dGVuOm4sdG90YWxCeXRlc0V4cGVjdGVkVG9Xcml0ZTpyfSl9KSl9LGQuc2VuZCgpLGk9c2V0VGltZW91dCgoZnVuY3Rpb24oKXtkLm9ucHJvZ3Jlc3M9ZC5vbmxvYWQ9ZC5vbmFib3J0PWQub25lcnJvcj1udWxsLGguYWJvcnQoKSxmKG4se2Vyck1zZzoiZG93bmxvYWRGaWxlOmZhaWwgdGltZW91dCJ9KX0pLHUpLGh9fS5jYWxsKHRoaXMsbigiMmM5ZiIpKX0sIjRkNWEiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5yKGUpLGZ1bmN0aW9uKHQpe24uZChlLCJyZWRpcmVjdFRvIiwoZnVuY3Rpb24oKXtyZXR1cm4gY30pKSxuLmQoZSwibmF2aWdhdGVUbyIsKGZ1bmN0aW9uKCl7cmV0dXJuIHV9KSksbi5kKGUsIm5hdmlnYXRlQmFjayIsKGZ1bmN0aW9uKCl7cmV0dXJuIGx9KSksbi5kKGUsInJlTGF1bmNoIiwoZnVuY3Rpb24oKXtyZXR1cm4gZn0pKSxuLmQoZSwic3dpdGNoVGFiIiwoZnVuY3Rpb24oKXtyZXR1cm4gZH0pKSxuLmQoZSwicHJlbG9hZFBhZ2UiLChmdW5jdGlvbigpe3JldHVybiBofSkpO3ZhciByPW4oIjM4Y2UiKSxpPW4oImM4NzkiKSxvPXQsYT1vLmludm9rZUNhbGxiYWNrSGFuZGxlcjtmdW5jdGlvbiBzKHQpe3ZhciBlPWFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXTp7fSxuPWUudXJsLG89ZS5kZWx0YSxhPWUuZXZlbnRzLGM9ZS5leGlzdHMsdT1lLmFuaW1hdGlvblR5cGUsbD1lLmFuaW1hdGlvbkR1cmF0aW9uLGY9ZS5mcm9tLGQ9dm9pZCAwPT09Zj8ibmF2aWdhdGVCYWNrIjpmLGg9ZS5kZXRhaWwscD1nZXRBcHAoKS4kcm91dGVyO3N3aXRjaChkZWxldGUgcC4kZXZlbnRDaGFubmVsLHQpe2Nhc2UicmVkaXJlY3RUbyI6aWYoImJhY2siPT09Yyl7dmFyIHY9T2JqZWN0KHJbImEiXSkobik7aWYoLTEhPT12KXt2YXIgZz1nZXRDdXJyZW50UGFnZXMoKS5sZW5ndGgtMS12O2lmKGc+MClyZXR1cm4gcygibmF2aWdhdGVCYWNrIix7ZGVsdGE6Z30pfX1wLnJlcGxhY2Uoe3R5cGU6dCxwYXRoOm59KTticmVhaztjYXNlIm5hdmlnYXRlVG8iOnJldHVybiBwLiRldmVudENoYW5uZWw9T2JqZWN0KGlbImEiXSkoYSkscC5wdXNoKHt0eXBlOnQscGF0aDpuLGFuaW1hdGlvblR5cGU6dSxhbmltYXRpb25EdXJhdGlvbjpsfSkse2Vyck1zZzp0KyI6b2siLGV2ZW50Q2hhbm5lbDpwLiRldmVudENoYW5uZWx9O2Nhc2UibmF2aWdhdGVCYWNrIjp2YXIgbT0hMCxiPWdldEN1cnJlbnRQYWdlcygpO2lmKGIubGVuZ3RoKXt2YXIgeT1iW2IubGVuZ3RoLTFdO09iamVjdChyWyJjIl0pKHkuJG9wdGlvbnMsIm9uQmFja1ByZXNzIikmJiEwPT09eS5fX2NhbGxfaG9vaygib25CYWNrUHJlc3MiLHtmcm9tOmR9KSYmKG09ITEpfW0mJihvPjEmJihwLl8kZGVsdGE9bykscC5nbygtbyx7YW5pbWF0aW9uVHlwZTp1LGFuaW1hdGlvbkR1cmF0aW9uOmx9KSk7YnJlYWs7Y2FzZSJyZUxhdW5jaCI6cC5yZXBsYWNlKHt0eXBlOnQscGF0aDpufSk7YnJlYWs7Y2FzZSJzd2l0Y2hUYWIiOnAucmVwbGFjZSh7dHlwZTp0LHBhdGg6bixwYXJhbXM6e2RldGFpbDpofX0pO2JyZWFrfXJldHVybntlcnJNc2c6dCsiOm9rIn19ZnVuY3Rpb24gYyh0KXtyZXR1cm4gcygicmVkaXJlY3RUbyIsdCl9ZnVuY3Rpb24gdSh0KXtyZXR1cm4gcygibmF2aWdhdGVUbyIsdCl9ZnVuY3Rpb24gbCh0KXtyZXR1cm4gcygibmF2aWdhdGVCYWNrIix0KX1mdW5jdGlvbiBmKHQpe3JldHVybiBzKCJyZUxhdW5jaCIsdCl9ZnVuY3Rpb24gZCh0KXtyZXR1cm4gcygic3dpdGNoVGFiIix0KX1mdW5jdGlvbiBoKHQsZSl7dmFyIG49dC51cmwscj1uLnNwbGl0KCI/IilbMF0ucmVwbGFjZSgvXC8vZywiLSIpO19fdW5pQ29uZmlnLl9fd2VicGFja19jaHVua19sb2FkX18oci5zdWJzdHIoMSkpLnRoZW4oKGZ1bmN0aW9uKCl7YShlLHt1cmw6bixlcnJNc2c6InByZWxvYWRQYWdlOm9rIn0pfSkpLmNhdGNoKChmdW5jdGlvbih0KXthKGUse3VybDpuLGVyck1zZzoicHJlbG9hZFBhZ2U6ZmFpbCAiK3R9KX0pKX19LmNhbGwodGhpcyxuKCIyYzlmIikpfSwiNGRjNiI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCI2NTVkIiksaT1uLm4ocik7aS5hfSwiNGU0NiI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtuLmQoZSwiYSIsKGZ1bmN0aW9uKCl7cmV0dXJuIGN9KSk7dmFyIHI9bigiOTUxYyIpLGk9bi5uKHIpLG89bigiMDM3MiIpLGE9bigiYjQwNSIpLHM9X191bmlDb25maWcudGFiQmFyfHx7fTtfX3VuaUNvbmZpZy50YWJCYXI9aS5hLm9ic2VydmFibGUoT2JqZWN0KGFbImQiXSkoT2JqZWN0KG9bImYiXSkocykpKSxPYmplY3QoYVsiYyJdKSgoZnVuY3Rpb24oKXt2YXIgdD1PYmplY3QoYVsiZCJdKShPYmplY3Qob1siZiJdKShzKSk7X191bmlDb25maWcudGFiQmFyLmJhY2tncm91bmRDb2xvcj10LmJhY2tncm91bmRDb2xvcixfX3VuaUNvbmZpZy50YWJCYXIuYm9yZGVyU3R5bGU9dC5ib3JkZXJTdHlsZSxfX3VuaUNvbmZpZy50YWJCYXIuY29sb3I9dC5jb2xvcixfX3VuaUNvbmZpZy50YWJCYXIuc2VsZWN0ZWRDb2xvcj10LnNlbGVjdGVkQ29sb3IsX191bmlDb25maWcudGFiQmFyLmJsdXJFZmZlY3Q9dC5ibHVyRWZmZWN0LF9fdW5pQ29uZmlnLnRhYkJhci5taWRCdXR0b249dC5taWRCdXR0b24sdC5saXN0JiZ0Lmxpc3QubGVuZ3RoJiZfX3VuaUNvbmZpZy50YWJCYXIubGlzdC5sZW5ndGgmJnQubGlzdC5mb3JFYWNoKChmdW5jdGlvbih0LGUpe19fdW5pQ29uZmlnLnRhYkJhci5saXN0W2VdLmljb25QYXRoPXQuaWNvblBhdGgsX191bmlDb25maWcudGFiQmFyLmxpc3RbZV0uc2VsZWN0ZWRJY29uUGF0aD10LnNlbGVjdGVkSWNvblBhdGh9KSl9KSk7dmFyIGM9X191bmlDb25maWcudGFiQmFyfSwiNGVkNCI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjsoZnVuY3Rpb24odCxyKXt2YXIgaT1uKCIzNDBkIiksbz1uKCIxZGFhIiksYT1uKCIwMzcyIikscz1uKCJiNDM1Iik7ZVsiYSJdPXtuYW1lOiJTeXN0ZW1DaG9vc2VMb2NhdGlvbiIsZmlsdGVyczp7ZGlzdGFuY2U6ZnVuY3Rpb24odCl7cmV0dXJuIHQ+MTAwPyIiLmNvbmNhdCh0PjFlMz8odC8xZTMpLnRvRml4ZWQoMSkrImsiOnQudG9GaXhlZCgwKSwibSB8ICIpOnQ+MD8iPDEwMG0gfCAiOiIifX0sbWl4aW5zOlthWyJjIl1dLGRhdGE6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLiRyb3V0ZS5xdWVyeSxlPXQubGF0aXR1ZGUsbj10LmxvbmdpdHVkZTtyZXR1cm57bGF0aXR1ZGU6ZSxsb25naXR1ZGU6bixwYWdlU2l6ZToyMCxwYWdlSW5kZXg6MSxoYXNOZXh0UGFnZTohMCxuZXh0UGFnZTpudWxsLHNlbGVjdGVkSW5kZXg6LTEsbGlzdDpbXSxrZXl3b3JkOiIiLHNlYXJjaGluZzohMSxsb2FkaW5nOiEwLGFkY29kZToiIixsb2NhdGlvblN0eWxlOidiYWNrZ3JvdW5kLWltYWdlOiB1cmwoIicuY29uY2F0KHNbImIiXSwnIiknKX19LGNvbXB1dGVkOntzZWxlY3RlZDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmxpc3RbdGhpcy5zZWxlY3RlZEluZGV4XX0sYm91bmRhcnk6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hZGNvZGU/InJlZ2lvbigiLmNvbmNhdCh0aGlzLmFkY29kZSwiLDEsIikuY29uY2F0KHRoaXMubGF0aXR1ZGUsIiwiKS5jb25jYXQodGhpcy5sb25naXR1ZGUsIikiKToibmVhcmJ5KCIuY29uY2F0KHRoaXMubGF0aXR1ZGUsIiwiKS5jb25jYXQodGhpcy5sb25naXR1ZGUsIiw1MDAwKSIpfX0sY3JlYXRlZDpmdW5jdGlvbigpe3ZhciB0PXRoaXM7dGhpcy5sYXRpdHVkZSYmdGhpcy5sb25naXR1ZGV8fHRoaXMubW92ZVRvTG9jYXRpb24oKSx0aGlzLnNlYXJjaD1PYmplY3QoaVsiZCJdKSgoZnVuY3Rpb24oKXt0LnJlc2V0KCksdC5rZXl3b3JkJiZ0LmdldExpc3QoKX0pLDFlMyksdGhpcy4kd2F0Y2goInNlYXJjaGluZyIsKGZ1bmN0aW9uKGUpe3QucmVzZXQoKSxlfHx0LmdldExpc3QoKX0pKX0sbWV0aG9kczp7Y2hvb3NlOmZ1bmN0aW9uKCl7dGhpcy5zZWxlY3RlZCYmKHQucHVibGlzaEhhbmRsZXIoIm9uQ2hvb3NlTG9jYXRpb24iLE9iamVjdC5hc3NpZ24oe30sdGhpcy5zZWxlY3RlZCkpLGdldEFwcCgpLiRyb3V0ZXIuYmFjaygpKX0sYmFjazpmdW5jdGlvbigpe3QucHVibGlzaEhhbmRsZXIoIm9uQ2hvb3NlTG9jYXRpb24iLG51bGwpLGdldEFwcCgpLiRyb3V0ZXIuYmFjaygpfSxtb3ZlVG9Mb2NhdGlvbjpmdW5jdGlvbigpe3VuaS5nZXRMb2NhdGlvbih7dHlwZToiZ2NqMDIiLHN1Y2Nlc3M6dGhpcy5tb3ZlLmJpbmQodGhpcyksZmFpbDpmdW5jdGlvbigpe319KX0sb25SZWdpb25DaGFuZ2U6ZnVuY3Rpb24odCl7dmFyIGU9dC5kZXRhaWwuY2VudGVyTG9jYXRpb247ZSYmdGhpcy5tb3ZlKGUpfSxwdXNoRGF0YTpmdW5jdGlvbih0KXt2YXIgZT10aGlzO3QuZm9yRWFjaCgoZnVuY3Rpb24odCl7ZS5saXN0LnB1c2goe25hbWU6dC50aXRsZXx8dC5uYW1lLGFkZHJlc3M6dC5hZGRyZXNzLGRpc3RhbmNlOnQuX2Rpc3RhbmNlfHx0LmRpc3RhbmNlLGxhdGl0dWRlOnQubG9jYXRpb24ubGF0LGxvbmdpdHVkZTp0LmxvY2F0aW9uLmxuZ30pfSkpfSxnZXRMaXN0OmZ1bmN0aW9uKCl7dmFyIHQ9dGhpczt0aGlzLmxvYWRpbmc9ITA7dmFyIGU9T2JqZWN0KHNbImUiXSkoKTtpZihlLnR5cGU9PT1zWyJkIl0uR09PR0xFKXtpZih0aGlzLnBhZ2VJbmRleD4xJiZ0aGlzLm5leHRQYWdlKXJldHVybiB2b2lkIHRoaXMubmV4dFBhZ2UoKTt2YXIgbj1uZXcgd2luZG93Lmdvb2dsZS5tYXBzLnBsYWNlcy5QbGFjZXNTZXJ2aWNlKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpKTtuW3RoaXMuc2VhcmNoaW5nPyJ0ZXh0U2VhcmNoIjoibmVhcmJ5U2VhcmNoIl0oe2xvY2F0aW9uOntsYXQ6dGhpcy5sYXRpdHVkZSxsbmc6dGhpcy5sb25naXR1ZGV9LHF1ZXJ5OnRoaXMua2V5d29yZCxyYWRpdXM6NWUzfSwoZnVuY3Rpb24oZSxuLHIpe3QubG9hZGluZz0hMSxlJiZlLmxlbmd0aCYmZS5mb3JFYWNoKChmdW5jdGlvbihlKXt0Lmxpc3QucHVzaCh7bmFtZTplLm5hbWV8fCIiLGFkZHJlc3M6ZS52aWNpbml0eXx8ZS5mb3JtYXR0ZWRfYWRkcmVzc3x8IiIsZGlzdGFuY2U6MCxsYXRpdHVkZTplLmdlb21ldHJ5LmxvY2F0aW9uLmxhdCgpLGxvbmdpdHVkZTplLmdlb21ldHJ5LmxvY2F0aW9uLmxuZygpfSl9KSksciYmKHIuaGFzTmV4dFBhZ2U/dC5uZXh0UGFnZT1mdW5jdGlvbigpe3IubmV4dFBhZ2UoKX06dC5oYXNOZXh0UGFnZT0hMSl9KSl9ZWxzZSBpZihlLnR5cGU9PT1zWyJkIl0uUVEpe3ZhciBpPXRoaXMuc2VhcmNoaW5nPyJodHRwczovL2FwaXMubWFwLnFxLmNvbS93cy9wbGFjZS92MS9zZWFyY2g/b3V0cHV0PWpzb25wJmtleT0iLmNvbmNhdChlLmtleSwiJmJvdW5kYXJ5PSIpLmNvbmNhdCh0aGlzLmJvdW5kYXJ5LCIma2V5d29yZD0iKS5jb25jYXQodGhpcy5rZXl3b3JkLCImcGFnZV9zaXplPSIpLmNvbmNhdCh0aGlzLnBhZ2VTaXplLCImcGFnZV9pbmRleD0iKS5jb25jYXQodGhpcy5wYWdlSW5kZXgpOiJodHRwczovL2FwaXMubWFwLnFxLmNvbS93cy9nZW9jb2Rlci92MS8/b3V0cHV0PWpzb25wJmtleT0iLmNvbmNhdChlLmtleSwiJmxvY2F0aW9uPSIpLmNvbmNhdCh0aGlzLmxhdGl0dWRlLCIsIikuY29uY2F0KHRoaXMubG9uZ2l0dWRlLCImZ2V0X3BvaT0xJnBvaV9vcHRpb25zPXBhZ2Vfc2l6ZT0iKS5jb25jYXQodGhpcy5wYWdlU2l6ZSwiO3BhZ2VfaW5kZXg9IikuY29uY2F0KHRoaXMucGFnZUluZGV4KTtPYmplY3Qob1siYSJdKShpLHtjYWxsYmFjazoiY2FsbGJhY2sifSwoZnVuY3Rpb24oZSl7aWYodC5sb2FkaW5nPSExLHQuc2VhcmNoaW5nJiYiZGF0YSJpbiBlJiZlLmRhdGEubGVuZ3RoKXQucHVzaERhdGEoZS5kYXRhKTtlbHNlIGlmKCJyZXN1bHQiaW4gZSl7dmFyIG49ZS5yZXN1bHQ7dC5hZGNvZGU9bi5hZF9pbmZvP24uYWRfaW5mby5hZGNvZGU6IiIsbi5wb2lzJiZ0LnB1c2hEYXRhKG4ucG9pcyksdC5saXN0Lmxlbmd0aD09PXQucGFnZVNpemUqdC5wYWdlSW5kZXgmJih0Lmhhc05leHRQYWdlPSExKX19KSwoZnVuY3Rpb24oKXt0LmxvYWRpbmc9ITF9KSl9ZWxzZSBpZihlLnR5cGU9PT1zWyJkIl0uQU1BUCl7dmFyIGE9dGhpczt3aW5kb3cuQU1hcC5wbHVnaW4oIkFNYXAuUGxhY2VTZWFyY2giLChmdW5jdGlvbigpe2lmKGEubG9uZ2l0dWRlJiZhLmxhdGl0dWRlKXt2YXIgdD1uZXcgd2luZG93LkFNYXAuUGxhY2VTZWFyY2goe2NpdHk6IuWFqOWbvSIscGFnZVNpemU6MTAscGFnZUluZGV4OmEucGFnZUluZGV4fSksZT1hLnNlYXJjaGluZz9hLmtleXdvcmQ6IiIsbj1hLnNlYXJjaGluZz81ZTQ6NWUzO3Quc2VhcmNoTmVhckJ5KGUsW2EubG9uZ2l0dWRlLGEubGF0aXR1ZGVdLG4sKGZ1bmN0aW9uKHQsZSl7ImVycm9yIj09PXQ/ci5lcnJvcihlKToibm9fZGF0YSI9PT10P2EuaGFzTmV4dFBhZ2U9ITE6YS5wdXNoRGF0YShlLnBvaUxpc3QucG9pcyl9KSl9YS5sb2FkaW5nPSExfSkpfX0sbG9hZE1vcmU6ZnVuY3Rpb24oKXshdGhpcy5sb2FkaW5nJiZ0aGlzLmhhc05leHRQYWdlJiYodGhpcy5wYWdlSW5kZXgrKyx0aGlzLmdldExpc3QoKSl9LHJlc2V0OmZ1bmN0aW9uKCl7dGhpcy5zZWxlY3RlZEluZGV4PS0xLHRoaXMucGFnZUluZGV4PTEsdGhpcy5oYXNOZXh0UGFnZT0hMCx0aGlzLm5leHRQYWdlPW51bGwsdGhpcy5saXN0PVtdfSxtb3ZlOmZ1bmN0aW9uKHQpe3ZhciBlPXQubGF0aXR1ZGUsbj10LmxvbmdpdHVkZTt0aGlzLmxhdGl0dWRlPWUsdGhpcy5sb25naXR1ZGU9bix0aGlzLnNlYXJjaGluZ3x8KHRoaXMucmVzZXQoKSx0aGlzLmdldExpc3QoKSl9LGlucHV0OmZ1bmN0aW9uKCl7dGhpcy5zZWFyY2goKX19fX0pLmNhbGwodGhpcyxuKCIzMWQyIiksbigiNDE4YiIpWyJkZWZhdWx0Il0pfSwiNGVmNSI6ZnVuY3Rpb24odCl7dC5leHBvcnRzPUpTT04ucGFyc2UoJ3sidW5pLmFwcC5xdWl0Ijoi5YaN5oyJ5LiA5qyh6YCA5Ye65oeJ55SoIiwidW5pLmFzeW5jLmVycm9yIjoi6YCj5o6l5pyN5YuZ5Zmo6LaF5pmC77yM6bue5pOK5bGP5bmV6YeN6KmmIiwidW5pLnNob3dBY3Rpb25TaGVldC5jYW5jZWwiOiLlj5bmtogiLCJ1bmkuc2hvd1RvYXN0LnVucGFpcmVkIjoi6KuL5rOo5oSPIHNob3dUb2FzdCDoiIcgaGlkZVRvYXN0IOW/hemgiOmFjeWwjeS9v+eUqCIsInVuaS5zaG93TG9hZGluZy51bnBhaXJlZCI6Iuiri+azqOaEjyBzaG93TG9hZGluZyDoiIcgaGlkZUxvYWRpbmcg5b+F6aCI6YWN5bCN5L2/55SoIiwidW5pLnNob3dNb2RhbC5jYW5jZWwiOiLlj5bmtogiLCJ1bmkuc2hvd01vZGFsLmNvbmZpcm0iOiLnorrlrpoiLCJ1bmkuY2hvb3NlSW1hZ2UuY2FuY2VsIjoi5Y+W5raIIiwidW5pLmNob29zZUltYWdlLnNvdXJjZVR5cGUuYWxidW0iOiLlvp7nm7jlhorpgbjmk4ciLCJ1bmkuY2hvb3NlSW1hZ2Uuc291cmNlVHlwZS5jYW1lcmEiOiLmi43mlJ0iLCJ1bmkuY2hvb3NlVmlkZW8uY2FuY2VsIjoi5Y+W5raIIiwidW5pLmNob29zZVZpZGVvLnNvdXJjZVR5cGUuYWxidW0iOiLlvp7nm7jlhorpgbjmk4ciLCJ1bmkuY2hvb3NlVmlkZW8uc291cmNlVHlwZS5jYW1lcmEiOiLmi43mlJ0iLCJ1bmkuY2hvb3NlRmlsZS5ub3RVc2VyQWN0aXZhdGlvbiI6IuaWh+S7tumBuOaTh+WZqOWwjeipseahhuWPquiDveWcqOeUseeUqOaItua/gOa0u+aZgumhr+ekuiIsInVuaS5wcmV2aWV3SW1hZ2UuY2FuY2VsIjoi5Y+W5raIIiwidW5pLnByZXZpZXdJbWFnZS5idXR0b24uc2F2ZSI6IuS/neWtmOWcluWDjyIsInVuaS5wcmV2aWV3SW1hZ2Uuc2F2ZS5zdWNjZXNzIjoi5L+d5a2Y5ZyW5YOP5Yiw55u45YaK5oiQ5YqfIiwidW5pLnByZXZpZXdJbWFnZS5zYXZlLmZhaWwiOiLkv53lrZjlnJblg4/liLDnm7jlhorlpLHmlZciLCJ1bmkuc2V0Q2xpcGJvYXJkRGF0YS5zdWNjZXNzIjoi5YWn5a655bey5b6p5Yi2IiwidW5pLnNjYW5Db2RlLnRpdGxlIjoi5o6D56K8IiwidW5pLnNjYW5Db2RlLmFsYnVtIjoi55u45YaKIiwidW5pLnNjYW5Db2RlLmZhaWwiOiLorZjliKXlpLHmlZciLCJ1bmkuc2NhbkNvZGUuZmxhc2gub24iOiLovJXop7jnhafkuq4iLCJ1bmkuc2NhbkNvZGUuZmxhc2gub2ZmIjoi6LyV6Ke46Zec6ZaJIiwidW5pLnN0YXJ0U290ZXJBdXRoZW50aWNhdGlvbi5hdXRoQ29udGVudCI6IuaMh+e0i+itmOWIpeS4rS4uLiIsInVuaS5zdGFydFNvdGVyQXV0aGVudGljYXRpb24ud2FpdGluZ0NvbnRlbnQiOiLnhKHms5XorZjliKUiLCJ1bmkucGlja2VyLmRvbmUiOiLlrozmiJAiLCJ1bmkucGlja2VyLmNhbmNlbCI6IuWPlua2iCIsInVuaS52aWRlby5kYW5tdSI6IuW9iOW5lSIsInVuaS52aWRlby52b2x1bWUiOiLpn7Pph48iLCJ1bmkuYnV0dG9uLmZlZWRiYWNrLnRpdGxlIjoi5ZWP6aGM5Y+N6aWLIiwidW5pLmJ1dHRvbi5mZWVkYmFjay5zZW5kIjoi55m86YCBIiwidW5pLmNob29zZUxvY2F0aW9uLnNlYXJjaCI6IuaQnOe0ouWcsOm7niIsInVuaS5jaG9vc2VMb2NhdGlvbi5jYW5jZWwiOiLlj5bmtogifScpfSwiNGYyZSI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtuLnIoZSk7dmFyIHI9e25hbWU6IkNvdmVyVmlldyIscHJvcHM6e3Njcm9sbFRvcDp7dHlwZTpbU3RyaW5nLE51bWJlcl0sZGVmYXVsdDowfX0sd2F0Y2g6e3Njcm9sbFRvcDpmdW5jdGlvbih0KXt0aGlzLnNldFNjcm9sbFRvcCh0KX19LG1vdW50ZWQ6ZnVuY3Rpb24oKXt0aGlzLnNldFNjcm9sbFRvcCh0aGlzLnNjcm9sbFRvcCl9LG1ldGhvZHM6e3NldFNjcm9sbFRvcDpmdW5jdGlvbih0KXt2YXIgZT10aGlzLiRyZWZzLmNvbnRlbnQ7InNjcm9sbCI9PT1nZXRDb21wdXRlZFN0eWxlKGUpLm92ZXJmbG93WSYmKGUuc2Nyb2xsVG9wPXRoaXMuX3VweDJweE51bSh0KSl9LF91cHgycHhOdW06ZnVuY3Rpb24odCl7cmV0dXJuL1xkK1t1cl1weCQvaS50ZXN0KHQpJiZ0LnJlcGxhY2UoL1xkK1t1cl1weCQvaSwoZnVuY3Rpb24odCl7cmV0dXJuIHVuaS51cHgycHgocGFyc2VGbG9hdCh0KSl9KSkscGFyc2VGbG9hdCh0KXx8MH19fSxpPXIsbz0obigiY2E1NCIpLG4oIjg4NDQiKSksYT1PYmplY3Qob1siYSJdKShpLChmdW5jdGlvbigpe3ZhciB0PXRoaXMsZT10LiRjcmVhdGVFbGVtZW50LG49dC5fc2VsZi5fY3x8ZTtyZXR1cm4gbigidW5pLWNvdmVyLXZpZXciLHQuX2coe2F0dHJzOnsic2Nyb2xsLXRvcCI6dC5zY3JvbGxUb3B9fSx0LiRsaXN0ZW5lcnMpLFtuKCJkaXYiLHtyZWY6ImNvbnRlbnQiLHN0YXRpY0NsYXNzOiJ1bmktY292ZXItdmlldyJ9LFt0Ll90KCJkZWZhdWx0IildLDIpXSl9KSxbXSwhMSxudWxsLG51bGwsbnVsbCk7ZVsiZGVmYXVsdCJdPWEuZXhwb3J0c30sIjRmY2IiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5yKGUpLGZ1bmN0aW9uKHQpe3ZhciByPW4oIjM0MGQiKTtlWyJkZWZhdWx0Il09e2RhdGE6ZnVuY3Rpb24oKXtyZXR1cm57c2hvd01vZGFsOnt2aXNpYmxlOiExfX19LGNyZWF0ZWQ6ZnVuY3Rpb24oKXt2YXIgZT10aGlzO3Qub24oIm9uU2hvd01vZGFsIiwoZnVuY3Rpb24odCxuKXtlLnNob3dNb2RhbD10LGUub25Nb2RhbENsb3NlQ2FsbGJhY2s9bn0pKSx0Lm9uKCJvbkhpZGVQb3B1cCIsKGZ1bmN0aW9uKHQpe2Uuc2hvd01vZGFsLnZpc2libGU9ITF9KSl9LG1ldGhvZHM6e19vbk1vZGFsQ2xvc2U6ZnVuY3Rpb24odCl7dGhpcy5zaG93TW9kYWwudmlzaWJsZT0hMSxPYmplY3QoclsiayJdKSh0aGlzLm9uTW9kYWxDbG9zZUNhbGxiYWNrKSYmdGhpcy5vbk1vZGFsQ2xvc2VDYWxsYmFjayh0KX19fX0uY2FsbCh0aGlzLG4oIjJjOWYiKSl9LCI1MDhlIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO24uZChlLCJhIiwoZnVuY3Rpb24oKXtyZXR1cm4gYX0pKTt2YXIgcj1uKCJjZmY5IiksaT1uKCI2NTY0Iik7ZnVuY3Rpb24gbyh0LGUpe3ZhciBuPXQubmFtZSxyPXQuYXJnOyJwb3N0TWVzc2FnZSI9PT1ufHx1bmlbbl0ocil9ZnVuY3Rpb24gYSh0LGUpe3ZhciBuPWUuZ2V0QXBwLGE9ZS5nZXRDdXJyZW50UGFnZXM7ZnVuY3Rpb24gcyh0LGUpe3ZhciBuPWEoKTtuLmxlbmd0aCYmT2JqZWN0KHJbImIiXSkobltuLmxlbmd0aC0xXSx0LGUpfWZ1bmN0aW9uIGModCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3ModCxlKX19dCgib25FcnJvciIsKGZ1bmN0aW9uKHQpe09iamVjdChyWyJhIl0pKG4oKSwib25FcnJvciIsdCl9KSksdCgib25QYWdlTm90Rm91bmQiLChmdW5jdGlvbih0KXtPYmplY3QoclsiYSJdKShuKCksIm9uUGFnZU5vdEZvdW5kIix0KX0pKSx0KCJvbkFwcEVudGVyQmFja2dyb3VuZCIsKGZ1bmN0aW9uKCl7T2JqZWN0KHJbImEiXSkobigpLCJvbkhpZGUiKSxzKCJvbkhpZGUiKX0pKSx0KCJvbkFwcEVudGVyRm9yZWdyb3VuZCIsKGZ1bmN0aW9uKHQpe09iamVjdChyWyJhIl0pKG4oKSwib25TaG93Iix0KTt2YXIgZT1hKCk7MCE9PWUubGVuZ3RoJiZzKCJvblNob3ciKX0pKSx0KCJvblJlc2l6ZSIsKGZ1bmN0aW9uKHQsZSl7dmFyIG49YSgpLmZpbmQoKGZ1bmN0aW9uKHQpe3JldHVybiB0LiRwYWdlLmlkPT09ZX0pKTtuJiZPYmplY3QoclsiYiJdKShuLCJvblJlc2l6ZSIsdCl9KSksdCgib25QdWxsRG93blJlZnJlc2giLChmdW5jdGlvbih0LGUpe3ZhciBuPWEoKS5maW5kKChmdW5jdGlvbih0KXtyZXR1cm4gdC4kcGFnZS5pZD09PWV9KSk7biYmKE9iamVjdChpWyJzZXRQdWxsRG93blJlZnJlc2hQYWdlSWQiXSkoZSksT2JqZWN0KHJbImIiXSkobiwib25QdWxsRG93blJlZnJlc2giKSl9KSksdCgib25UYWJJdGVtVGFwIixjKCJvblRhYkl0ZW1UYXAiKSksdCgib25OYXZpZ2F0aW9uQmFyQnV0dG9uVGFwIixjKCJvbk5hdmlnYXRpb25CYXJCdXR0b25UYXAiKSksdCgib25OYXZpZ2F0aW9uQmFyU2VhcmNoSW5wdXRDaGFuZ2VkIixjKCJvbk5hdmlnYXRpb25CYXJTZWFyY2hJbnB1dENoYW5nZWQiKSksdCgib25OYXZpZ2F0aW9uQmFyU2VhcmNoSW5wdXRDb25maXJtZWQiLGMoIm9uTmF2aWdhdGlvbkJhclNlYXJjaElucHV0Q29uZmlybWVkIikpLHQoIm9uTmF2aWdhdGlvbkJhclNlYXJjaElucHV0Q2xpY2tlZCIsYygib25OYXZpZ2F0aW9uQmFyU2VhcmNoSW5wdXRDbGlja2VkIikpLHQoIm9uTmF2aWdhdGlvbkJhclNlYXJjaElucHV0Rm9jdXNDaGFuZ2VkIixjKCJvbk5hdmlnYXRpb25CYXJTZWFyY2hJbnB1dEZvY3VzQ2hhbmdlZCIpKSx0KCJvbldlYkludm9rZUFwcFNlcnZpY2UiLG8pfX0sIjUwZDMiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5yKGUpO3ZhciByPW4oIjk1MWMiKSxpPW4ubihyKSxvPW4oIjQ3MzgiKSxhPW4oImNjZTIiKSxzPXttZXRob2RzOnskZ2V0UmVhbFBhdGg6ZnVuY3Rpb24odCl7cmV0dXJuIHQ/T2JqZWN0KG9bImEiXSkodCk6dH0sJHRyaWdnZXI6ZnVuY3Rpb24odCxlLG4pe3RoaXMuJGVtaXQodCxhWyJiIl0uY2FsbCh0aGlzLHQsZSxuLHRoaXMuJGVsLHRoaXMuJGVsKSl9fX07ZnVuY3Rpb24gYyh0KXtyZXR1cm4gZnVuY3Rpb24odCl7aWYoQXJyYXkuaXNBcnJheSh0KSlyZXR1cm4gdSh0KX0odCl8fGZ1bmN0aW9uKHQpe2lmKCJ1bmRlZmluZWQiIT09dHlwZW9mIFN5bWJvbCYmU3ltYm9sLml0ZXJhdG9yIGluIE9iamVjdCh0KSlyZXR1cm4gQXJyYXkuZnJvbSh0KX0odCl8fGZ1bmN0aW9uKHQsZSl7aWYodCl7aWYoInN0cmluZyI9PT10eXBlb2YgdClyZXR1cm4gdSh0LGUpO3ZhciBuPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KS5zbGljZSg4LC0xKTtyZXR1cm4iT2JqZWN0Ij09PW4mJnQuY29uc3RydWN0b3ImJihuPXQuY29uc3RydWN0b3IubmFtZSksIk1hcCI9PT1ufHwiU2V0Ij09PW4/QXJyYXkuZnJvbShuKToiQXJndW1lbnRzIj09PW58fC9eKD86VWl8SSludCg/Ojh8MTZ8MzIpKD86Q2xhbXBlZCk/QXJyYXkkLy50ZXN0KG4pP3UodCxlKTp2b2lkIDB9fSh0KXx8ZnVuY3Rpb24oKXt0aHJvdyBuZXcgVHlwZUVycm9yKCJJbnZhbGlkIGF0dGVtcHQgdG8gc3ByZWFkIG5vbi1pdGVyYWJsZSBpbnN0YW5jZS5cbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC4iKX0oKX1mdW5jdGlvbiB1KHQsZSl7KG51bGw9PWV8fGU+dC5sZW5ndGgpJiYoZT10Lmxlbmd0aCk7Zm9yKHZhciBuPTAscj1uZXcgQXJyYXkoZSk7bjxlO24rKylyW25dPXRbbl07cmV0dXJuIHJ9ZnVuY3Rpb24gbCh0KXtyZXR1cm4vXi0/XGQrW3VyXXB4JC9pLnRlc3QodCk/dC5yZXBsYWNlKC8oXi0/XGQrKVt1cl1weCQvaSwoZnVuY3Rpb24odCxlKXtyZXR1cm4iIi5jb25jYXQodW5pLnVweDJweChwYXJzZUZsb2F0KGUpKSwicHgiKX0pKTovXi0/W1xkXC5dKyQvLnRlc3QodCk/IiIuY29uY2F0KHQsInB4Iik6dHx8IiJ9ZnVuY3Rpb24gZih0KXt2YXIgZT10LmFuaW1hdGlvbjtpZihlJiZlLmFjdGlvbnMmJmUuYWN0aW9ucy5sZW5ndGgpe3ZhciBuPTAscj1lLmFjdGlvbnMsaT1lLmFjdGlvbnMubGVuZ3RoO3NldFRpbWVvdXQoKGZ1bmN0aW9uKCl7bygpfSksMCl9ZnVuY3Rpb24gbygpe3ZhciBlPXJbbl0sYT1lLm9wdGlvbi50cmFuc2l0aW9uLHM9ZnVuY3Rpb24odCl7dmFyIGU9WyJtYXRyaXgiLCJtYXRyaXgzZCIsInNjYWxlIiwic2NhbGUzZCIsInJvdGF0ZTNkIiwic2tldyIsInRyYW5zbGF0ZSIsInRyYW5zbGF0ZTNkIl0sbj1bInNjYWxlWCIsInNjYWxlWSIsInNjYWxlWiIsInJvdGF0ZSIsInJvdGF0ZVgiLCJyb3RhdGVZIiwicm90YXRlWiIsInNrZXdYIiwic2tld1kiLCJ0cmFuc2xhdGVYIiwidHJhbnNsYXRlWSIsInRyYW5zbGF0ZVoiXSxyPVsib3BhY2l0eSIsImJhY2tncm91bmQtY29sb3IiXSxpPVsid2lkdGgiLCJoZWlnaHQiLCJsZWZ0IiwicmlnaHQiLCJ0b3AiLCJib3R0b20iXSxvPXQuYW5pbWF0ZXMsYT10Lm9wdGlvbixzPWEudHJhbnNpdGlvbix1PXt9LGY9W107cmV0dXJuIG8uZm9yRWFjaCgoZnVuY3Rpb24odCl7dmFyIG89dC50eXBlLGE9Yyh0LmFyZ3MpO2lmKGUuY29uY2F0KG4pLmluY2x1ZGVzKG8pKW8uc3RhcnRzV2l0aCgicm90YXRlIil8fG8uc3RhcnRzV2l0aCgic2tldyIpP2E9YS5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiBwYXJzZUZsb2F0KHQpKyJkZWcifSkpOm8uc3RhcnRzV2l0aCgidHJhbnNsYXRlIikmJihhPWEubWFwKGwpKSxuLmluZGV4T2Yobyk+PTAmJihhLmxlbmd0aD0xKSxmLnB1c2goIiIuY29uY2F0KG8sIigiKS5jb25jYXQoYS5qb2luKCIsIiksIikiKSk7ZWxzZSBpZihyLmNvbmNhdChpKS5pbmNsdWRlcyhhWzBdKSl7bz1hWzBdO3ZhciBzPWFbMV07dVtvXT1pLmluY2x1ZGVzKG8pP2wocyk6c319KSksdS50cmFuc2Zvcm09dS53ZWJraXRUcmFuc2Zvcm09Zi5qb2luKCIgIiksdS50cmFuc2l0aW9uPXUud2Via2l0VHJhbnNpdGlvbj1PYmplY3Qua2V5cyh1KS5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiIiLmNvbmNhdChmdW5jdGlvbih0KXtyZXR1cm4gdC5yZXBsYWNlKC9bQS1aXS9nLChmdW5jdGlvbih0KXtyZXR1cm4iLSIuY29uY2F0KHQudG9Mb3dlckNhc2UoKSl9KSkucmVwbGFjZSgid2Via2l0IiwiLXdlYmtpdCIpfSh0KSwiICIpLmNvbmNhdChzLmR1cmF0aW9uLCJtcyAiKS5jb25jYXQocy50aW1pbmdGdW5jdGlvbiwiICIpLmNvbmNhdChzLmRlbGF5LCJtcyIpfSkpLmpvaW4oIiwiKSx1LnRyYW5zZm9ybU9yaWdpbj11LndlYmtpdFRyYW5zZm9ybU9yaWdpbj1hLnRyYW5zZm9ybU9yaWdpbix1fShlKTtPYmplY3Qua2V5cyhzKS5mb3JFYWNoKChmdW5jdGlvbihlKXt0LiRlbC5zdHlsZVtlXT1zW2VdfSkpLG4rPTEsbjxpJiZzZXRUaW1lb3V0KG8sYS5kdXJhdGlvbithLmRlbGF5KX19dmFyIGQ9e3Byb3BzOlsiYW5pbWF0aW9uIl0sd2F0Y2g6e2FuaW1hdGlvbjpmdW5jdGlvbigpe2YodGhpcyl9fSxtb3VudGVkOmZ1bmN0aW9uKCl7Zih0aGlzKX19LGg9W24oImExZDciKSxuKCI3NWUyIildO2guZm9yRWFjaCgoZnVuY3Rpb24odCxlKXt0LmtleXMoKS5mb3JFYWNoKChmdW5jdGlvbihlKXt2YXIgbj10KGUpLHI9bi5kZWZhdWx0fHxuO3IubWl4aW5zPXIubWl4aW5zP1tdLmNvbmNhdChzLHIubWl4aW5zKTpbc10sci5mdW5jdGlvbmFsfHxyLm1peGlucy5wdXNoKGQpLHIubmFtZT0iVlVuaSIrci5uYW1lLHIuaXNSZXNlcnZlZD0hMCxpLmEuY29tcG9uZW50KHIubmFtZSxyKX0pKX0pKX0sIjUwZWMiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5yKGUpLGZ1bmN0aW9uKHQpe3ZhciByPW4oImE1MTMiKSxpPW4ubihyKSxvPW4oIjM4Y2UiKSxhPW4oIjNkMWUiKSxzPW4oIjcxYmUiKSxjPW4oIjU5MjgiKSx1PW4oIjk3YzMiKSxsPW4oIjk3YWYiKSxmPW4oIjM0MGQiKTtmdW5jdGlvbiBkKHQpe3ZhciBlPTA7cmV0dXJuIHQuZm9yRWFjaCgoZnVuY3Rpb24odCl7dC5tZXRhLmlkJiZlKyt9KSksZX1mdW5jdGlvbiBoKCl7dmFyIHQ9d2luZG93LmxvY2F0aW9uLmhyZWYsZT10LmluZGV4T2YoIiMiKTtyZXR1cm4tMT09PWU/IiI6ZGVjb2RlVVJJKHQuc2xpY2UoZSsxKSl9ZnVuY3Rpb24gcCgpe3ZhciB0PWFyZ3VtZW50cy5sZW5ndGg+MCYmdm9pZCAwIT09YXJndW1lbnRzWzBdP2FyZ3VtZW50c1swXToiLyIsZT1kZWNvZGVVUkkod2luZG93LmxvY2F0aW9uLnBhdGhuYW1lKSxuPXdpbmRvdy5sb2NhdGlvbi5zZWFyY2gscj13aW5kb3cubG9jYXRpb24uaGFzaDtyZXR1cm4iLyI9PT10W3QubGVuZ3RoLTFdJiZlPT09dC5zdWJzdHJpbmcoMCx0Lmxlbmd0aC0xKSYmKGU9dCx3aW5kb3cuaGlzdG9yeS5yZXBsYWNlU3RhdGUoe30sIiIsdCtuK3IpKSx0JiYwPT09ZS5pbmRleE9mKHQpJiYoZT1lLnNsaWNlKHQubGVuZ3RoKSksKGV8fCIvIikrbityfWVbImRlZmF1bHQiXT17aW5zdGFsbDpmdW5jdGlvbihlKXt2YXIgbj1hcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXT9hcmd1bWVudHNbMV06e30scj1uLnJvdXRlcztlLmNvbmZpZy5kZXZ0b29scyYmInVuZGVmaW5lZCIhPT10eXBlb2Ygd2luZG93JiYtMSE9PXdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkuaW5kZXhPZigiaGJ1aWxkZXJ4IikmJihlLmNvbmZpZy5kZXZ0b29scz0hMSksT2JqZWN0KHVbImEiXSkoZSksT2JqZWN0KGNbImEiXSkoZSksT2JqZWN0KGZbInciXSkoZSksInVuZGVmaW5lZCIhPT10eXBlb2YgX19VTklfUk9VVEVSX0JBU0VfXyYmKF9fdW5pQ29uZmlnLnJvdXRlci5iYXNlPV9fVU5JX1JPVVRFUl9CQVNFX18pO3ZhciB2PWQociksZz1uZXcgaS5hKHtpZDp2LG1vZGU6X191bmlDb25maWcucm91dGVyLm1vZGUsYmFzZTpfX3VuaUNvbmZpZy5yb3V0ZXIuYmFzZSxyb3V0ZXM6cixzY3JvbGxCZWhhdmlvcjpmdW5jdGlvbih0LGUsbil7aWYobilyZXR1cm4gbjtpZih0JiZlJiZ0Lm1ldGEuaXNUYWJCYXImJmUubWV0YS5pc1RhYkJhcil7dmFyIHI9T2JqZWN0KGxbImIiXSkodC5wYXJhbXMuX19pZF9fKTtpZihyKXJldHVybiByfXJldHVybnt4OjAseTowfX19KSxtPVtdLGI9Zy5tYXRjaCgiaGlzdG9yeSI9PT1fX3VuaUNvbmZpZy5yb3V0ZXIubW9kZT9wKF9fdW5pQ29uZmlnLnJvdXRlci5iYXNlKTpoKCkpO2lmKGIubWV0YS5uYW1lJiYoYi5tZXRhLmlkP20ucHVzaChiLm1ldGEubmFtZSsiLSIrYi5tZXRhLmlkKTptLnB1c2goYi5tZXRhLm5hbWUrIi0iKyh2KzEpKSksYi5tZXRhJiZiLm1ldGEubmFtZSYmKGRvY3VtZW50LmJvZHkuY2xhc3NOYW1lPSJ1bmktYm9keSAiK2IubWV0YS5uYW1lLGIubWV0YS5pc05WdWUpKXt2YXIgeT0ibnZ1ZS1kaXItIitfX3VuaUNvbmZpZy5udnVlWyJmbGV4LWRpcmVjdGlvbiJdO2RvY3VtZW50LmJvZHkuc2V0QXR0cmlidXRlKCJudnVlIiwiIiksZG9jdW1lbnQuYm9keS5zZXRBdHRyaWJ1dGUoeSwiIil9ZS5taXhpbih7YmVmb3JlQ3JlYXRlOmZ1bmN0aW9uKCl7dmFyIG49dGhpcy4kb3B0aW9ucztpZigiYXBwIj09PW4ubXBUeXBlKXtuLmRhdGE9ZnVuY3Rpb24oKXtyZXR1cm57a2VlcEFsaXZlSW5jbHVkZTptfX07dmFyIGk9T2JqZWN0KGFbImEiXSkoZSxyLGIpO09iamVjdC5rZXlzKGkpLmZvckVhY2goKGZ1bmN0aW9uKHQpe25bdF09blt0XT9bXS5jb25jYXQoaVt0XSxuW3RdKTpbaVt0XV19KSksbi5yb3V0ZXI9ZyxBcnJheS5pc0FycmF5KG4ub25FcnJvcikmJjAhPT1uLm9uRXJyb3IubGVuZ3RofHwobi5vbkVycm9yPVtmdW5jdGlvbihlKXt0LmVycm9yKGUpfV0pfWVsc2UgaWYoT2JqZWN0KG9bImQiXSkodGhpcykpe3ZhciBjPU9iamVjdChzWyJhIl0pKCk7T2JqZWN0LmtleXMoYykuZm9yRWFjaCgoZnVuY3Rpb24odCl7bi5tcE9wdGlvbnM/blt0XT1uW3RdP1tdLmNvbmNhdChuW3RdLGNbdF0pOltjW3RdXTpuW3RdPW5bdF0/W10uY29uY2F0KGNbdF0sblt0XSk6W2NbdF1dfSkpfWVsc2UgdGhpcy4kcGFyZW50JiZ0aGlzLiRwYXJlbnQuX19wYWdlX18mJih0aGlzLl9fcGFnZV9fPXRoaXMuJHBhcmVudC5fX3BhZ2VfXyl9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLCIkcGFnZSIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9fcGFnZV9ffX0pLGUucHJvdG90eXBlLmNyZWF0ZVNlbGVjdG9yUXVlcnk9ZnVuY3Rpb24oKXtyZXR1cm4gdW5pLmNyZWF0ZVNlbGVjdG9yUXVlcnkoKS5pbih0aGlzKX0sZS5wcm90b3R5cGUuY3JlYXRlSW50ZXJzZWN0aW9uT2JzZXJ2ZXI9ZnVuY3Rpb24odCl7cmV0dXJuIHVuaS5jcmVhdGVJbnRlcnNlY3Rpb25PYnNlcnZlcih0aGlzLHQpfSxlLnByb3RvdHlwZS5jcmVhdGVNZWRpYVF1ZXJ5T2JzZXJ2ZXI9ZnVuY3Rpb24odCl7cmV0dXJuIHVuaS5jcmVhdGVNZWRpYVF1ZXJ5T2JzZXJ2ZXIodGhpcyx0KX0sZS51c2UoaS5hKX19fS5jYWxsKHRoaXMsbigiNDE4YiIpWyJkZWZhdWx0Il0pfSwiNTFlNSI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtuLnIoZSksbi5kKGUsInNldENsaXBib2FyZERhdGEiLChmdW5jdGlvbigpe3JldHVybiBpfSkpO3ZhciByPW4oIjAzNzIiKSxpPXtkYXRhOnt0eXBlOlN0cmluZyxyZXF1aXJlZDohMH0sc2hvd1RvYXN0Ont0eXBlOkJvb2xlYW4sZGVmYXVsdDohMH0sYmVmb3JlU3VjY2VzczpmdW5jdGlvbih0LGUpe2lmKGUuc2hvd1RvYXN0KXt2YXIgbj1PYmplY3QoclsiZyJdKSgidW5pLnNldENsaXBib2FyZERhdGEuc3VjY2VzcyIpO24mJnVuaS5zaG93VG9hc3Qoe3RpdGxlOm4saWNvbjoic3VjY2VzcyIsbWFzazohMSxzdHlsZTp7d2lkdGg6dm9pZCAwfX0pfX19fSwiNTI2YyI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCJiOTFkIiksaT1uLm4ocik7aS5hfSwiNTNmOSI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtuLnIoZSksbi5kKGUsImJhc2U2NFRvQXJyYXlCdWZmZXIiLChmdW5jdGlvbigpe3JldHVybiByfSkpLG4uZChlLCJhcnJheUJ1ZmZlclRvQmFzZTY0IiwoZnVuY3Rpb24oKXtyZXR1cm4gaX0pKTt2YXIgcj1be25hbWU6ImJhc2U2NCIsdHlwZTpTdHJpbmcscmVxdWlyZWQ6ITB9XSxpPVt7bmFtZToiYXJyYXlCdWZmZXIiLHR5cGU6W0FycmF5QnVmZmVyLFVpbnQ4QXJyYXldLHJlcXVpcmVkOiEwfV19LCI1NDFjIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO24ucihlKSxmdW5jdGlvbih0KXtmdW5jdGlvbiByKGUsbixyLGkpe3ZhciBvPW4uJHBhZ2UuaWQ7dC5wdWJsaXNoSGFuZGxlcihvKyItbWFwLSIrZSx7bWFwSWQ6ZSx0eXBlOnIsZGF0YTppfSxvKX1uLmQoZSwib3BlcmF0ZU1hcFBsYXllciIsKGZ1bmN0aW9uKCl7cmV0dXJuIHJ9KSl9LmNhbGwodGhpcyxuKCIyYzlmIikpfSw1NTA1OmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiYzkzZiIpLGk9bi5uKHIpO2kuYX0sNTU1NjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjY4ZDIiKSxpPW4ubihyKTtpLmF9LCI1NmFlIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGkodCl7cmV0dXJuIGk9ImZ1bmN0aW9uIj09PXR5cGVvZiBTeW1ib2wmJiJzeW1ib2wiPT09cihTeW1ib2wuaXRlcmF0b3IpP2Z1bmN0aW9uKHQpe3JldHVybiByKHQpfTpmdW5jdGlvbih0KXtyZXR1cm4gdCYmImZ1bmN0aW9uIj09PXR5cGVvZiBTeW1ib2wmJnQuY29uc3RydWN0b3I9PT1TeW1ib2wmJnQhPT1TeW1ib2wucHJvdG90eXBlPyJzeW1ib2wiOnIodCl9LGkodCl9bi5yKGUpLG4uZChlLCJzZXRTdG9yYWdlIiwoZnVuY3Rpb24oKXtyZXR1cm4gYX0pKSxuLmQoZSwic2V0U3RvcmFnZVN5bmMiLChmdW5jdGlvbigpe3JldHVybiBzfSkpLG4uZChlLCJnZXRTdG9yYWdlIiwoZnVuY3Rpb24oKXtyZXR1cm4gY30pKSxuLmQoZSwiZ2V0U3RvcmFnZVN5bmMiLChmdW5jdGlvbigpe3JldHVybiB1fSkpLG4uZChlLCJyZW1vdmVTdG9yYWdlIiwoZnVuY3Rpb24oKXtyZXR1cm4gbH0pKSxuLmQoZSwicmVtb3ZlU3RvcmFnZVN5bmMiLChmdW5jdGlvbigpe3JldHVybiBmfSkpLG4uZChlLCJjbGVhclN0b3JhZ2UiLChmdW5jdGlvbigpe3JldHVybiBkfSkpLG4uZChlLCJjbGVhclN0b3JhZ2VTeW5jIiwoZnVuY3Rpb24oKXtyZXR1cm4gaH0pKSxuLmQoZSwiZ2V0U3RvcmFnZUluZm8iLChmdW5jdGlvbigpe3JldHVybiBwfSkpLG4uZChlLCJnZXRTdG9yYWdlSW5mb1N5bmMiLChmdW5jdGlvbigpe3JldHVybiB2fSkpO2Z1bmN0aW9uIG8odCl7dHJ5e3ZhciBlPSJzdHJpbmciPT09dHlwZW9mIHQ/SlNPTi5wYXJzZSh0KTp0LG49ZS50eXBlO2lmKFsib2JqZWN0Iiwic3RyaW5nIiwibnVtYmVyIiwiYm9vbGVhbiIsInVuZGVmaW5lZCJdLmluZGV4T2Yobik+PTApe3ZhciByPU9iamVjdC5rZXlzKGUpO2lmKDI9PT1yLmxlbmd0aCYmImRhdGEiaW4gZSl7aWYoaShlLmRhdGEpPT09bilyZXR1cm4gZS5kYXRhO2lmKCJvYmplY3QiPT09biYmL15cZHs0fS1cZHsyfS1cZHsyfVRcZHsyfVw6XGR7Mn1cOlxkezJ9XC5cZHszfVokLy50ZXN0KGUuZGF0YSkpcmV0dXJuIG5ldyBEYXRlKGUuZGF0YSl9ZWxzZSBpZigxPT09ci5sZW5ndGgpcmV0dXJuIiJ9fWNhdGNoKGEpe319ZnVuY3Rpb24gYSgpe3ZhciB0PWFyZ3VtZW50cy5sZW5ndGg+MCYmdm9pZCAwIT09YXJndW1lbnRzWzBdP2FyZ3VtZW50c1swXTp7fSxlPXQua2V5LG49dC5kYXRhLHI9aShuKSxvPSJzdHJpbmciPT09cj9uOkpTT04uc3RyaW5naWZ5KHt0eXBlOnIsZGF0YTpufSk7dHJ5e2xvY2FsU3RvcmFnZS5zZXRJdGVtKGUsbyl9Y2F0Y2goYSl7cmV0dXJue2Vyck1zZzoic2V0U3RvcmFnZTpmYWlsICIuY29uY2F0KGEpfX1yZXR1cm57ZXJyTXNnOiJzZXRTdG9yYWdlOm9rIn19ZnVuY3Rpb24gcyh0LGUpe2Eoe2tleTp0LGRhdGE6ZX0pfWZ1bmN0aW9uIGMoKXt2YXIgdD1hcmd1bWVudHMubGVuZ3RoPjAmJnZvaWQgMCE9PWFyZ3VtZW50c1swXT9hcmd1bWVudHNbMF06e30sZT10LmtleSxuPWxvY2FsU3RvcmFnZSYmbG9jYWxTdG9yYWdlLmdldEl0ZW0oZSk7aWYoInN0cmluZyIhPT10eXBlb2YgbilyZXR1cm57ZGF0YToiIixlcnJNc2c6ImdldFN0b3JhZ2U6ZmFpbCJ9O3ZhciByPW47dHJ5e3ZhciBpPUpTT04ucGFyc2UobiksYT1vKGkpO3ZvaWQgMCE9PWEmJihyPWEpfWNhdGNoKHMpe31yZXR1cm57ZGF0YTpyLGVyck1zZzoiZ2V0U3RvcmFnZTpvayJ9fWZ1bmN0aW9uIHUodCl7dmFyIGU9Yyh7a2V5OnR9KTtyZXR1cm4gZS5kYXRhfWZ1bmN0aW9uIGwoKXt2YXIgdD1hcmd1bWVudHMubGVuZ3RoPjAmJnZvaWQgMCE9PWFyZ3VtZW50c1swXT9hcmd1bWVudHNbMF06e30sZT10LmtleTtyZXR1cm4gbG9jYWxTdG9yYWdlJiZsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShlKSx7ZXJyTXNnOiJyZW1vdmVTdG9yYWdlOm9rIn19ZnVuY3Rpb24gZih0KXtsKHtrZXk6dH0pfWZ1bmN0aW9uIGQoKXtyZXR1cm4gbG9jYWxTdG9yYWdlJiZsb2NhbFN0b3JhZ2UuY2xlYXIoKSx7ZXJyTXNnOiJjbGVhclN0b3JhZ2U6b2sifX1mdW5jdGlvbiBoKCl7ZCgpfWZ1bmN0aW9uIHAoKXtmb3IodmFyIHQ9bG9jYWxTdG9yYWdlJiZsb2NhbFN0b3JhZ2UubGVuZ3RofHwwLGU9W10sbj0wLHI9MDtyPHQ7cisrKXt2YXIgaT1sb2NhbFN0b3JhZ2Uua2V5KHIpLG89bG9jYWxTdG9yYWdlLmdldEl0ZW0oaSk7bis9aS5sZW5ndGgrby5sZW5ndGgsInVuaS1zdG9yYWdlLWtleXMiIT09aSYmZS5wdXNoKGkpfXJldHVybntrZXlzOmUsY3VycmVudFNpemU6TWF0aC5jZWlsKDIqbi8xMDI0KSxsaW1pdFNpemU6TnVtYmVyLk1BWF9WQUxVRSxlcnJNc2c6ImdldFN0b3JhZ2VJbmZvOm9rIn19ZnVuY3Rpb24gdigpe3ZhciB0PXAoKTtyZXR1cm4gZGVsZXRlIHQuZXJyTXNnLHR9fSwiNTc2YyI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCI3YWE0IiksaT1uLm4ocik7aS5hfSw1ODQ0OmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5kKGUsImIiLChmdW5jdGlvbigpe3JldHVybiBhfSkpLG4uZChlLCJhIiwoZnVuY3Rpb24oKXtyZXR1cm4gc30pKTt2YXIgaT1uKCIzNDBkIik7ZnVuY3Rpb24gbyh0KXtyZXR1cm4gbz0iZnVuY3Rpb24iPT09dHlwZW9mIFN5bWJvbCYmInN5bWJvbCI9PT1yKFN5bWJvbC5pdGVyYXRvcik/ZnVuY3Rpb24odCl7cmV0dXJuIHIodCl9OmZ1bmN0aW9uKHQpe3JldHVybiB0JiYiZnVuY3Rpb24iPT09dHlwZW9mIFN5bWJvbCYmdC5jb25zdHJ1Y3Rvcj09PVN5bWJvbCYmdCE9PVN5bWJvbC5wcm90b3R5cGU/InN5bWJvbCI6cih0KX0sbyh0KX1mdW5jdGlvbiBhKHQpe3JldHVybiB0Lm1wPU9iamVjdC5hc3NpZ24oeyJAd2FybmluZyI6Im1wIGlzIGRlcHJlY2F0ZWQifSx0KSx0Ll9wcm9jZXNzZWQ9ITAsdH1mdW5jdGlvbiBzKHQsZSl7cmV0dXJuIE9iamVjdChpWyJsIl0pKGUpJiYoT2JqZWN0KGlbImkiXSkoZSwiYmFja2dyb3VuZENvbG9yIikmJih0LmJhY2tncm91bmRDb2xvcj1lLmJhY2tncm91bmRDb2xvciksT2JqZWN0KGlbImkiXSkoZSwiYnV0dG9ucyIpJiYodC5idXR0b25zPWUuYnV0dG9ucyksT2JqZWN0KGlbImkiXSkoZSwidGl0bGVDb2xvciIpJiYodC50ZXh0Q29sb3I9ZS50aXRsZUNvbG9yKSxPYmplY3QoaVsiaSJdKShlLCJ0aXRsZVRleHQiKSYmKHQudGl0bGVUZXh0PWUudGl0bGVUZXh0KSxPYmplY3QoaVsiaSJdKShlLCJ0aXRsZVNpemUiKSYmKHQudGl0bGVTaXplPWUudGl0bGVTaXplKSxPYmplY3QoaVsiaSJdKShlLCJ0eXBlIikmJih0LnR5cGU9ZS50eXBlKSxPYmplY3QoaVsiaSJdKShlLCJzZWFyY2hJbnB1dCIpJiYib2JqZWN0Ij09PW8oZS5zZWFyY2hJbnB1dCkmJih0LnNlYXJjaElucHV0PU9iamVjdC5hc3NpZ24oe2F1dG9Gb2N1czohMSxhbGlnbjoiY2VudGVyIixjb2xvcjoiIzAwMDAwMCIsYmFja2dyb3VuZENvbG9yOiJyZ2JhKDI1NSwyNTUsMjU1LDAuNSkiLGJvcmRlclJhZGl1czoiMHB4IixwbGFjZWhvbGRlcjoiIixwbGFjZWhvbGRlckNvbG9yOiIjQ0NDQ0NDIixkaXNhYmxlZDohMX0sZS5zZWFyY2hJbnB1dCkpKSx0fX0sNTg4MzpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO24ucihlKSxmdW5jdGlvbih0KXtuLmQoZSwiRWRpdG9yQ29udGV4dCIsKGZ1bmN0aW9uKCl7cmV0dXJuIGF9KSk7dmFyIHI9bigiMzQwZCIpO2Z1bmN0aW9uIGkodCxlKXtmb3IodmFyIG49MDtuPGUubGVuZ3RoO24rKyl7dmFyIHI9ZVtuXTtyLmVudW1lcmFibGU9ci5lbnVtZXJhYmxlfHwhMSxyLmNvbmZpZ3VyYWJsZT0hMCwidmFsdWUiaW4gciYmKHIud3JpdGFibGU9ITApLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LHIua2V5LHIpfX1mdW5jdGlvbiBvKGUsbixyLGkpe3QucHVibGlzaEhhbmRsZXIobisiLWVkaXRvci0iK2Use2NvbXBvbmVudElkOmUsdHlwZTpyLGRhdGE6aX0sbil9dC5zdWJzY3JpYmUoIm9uRWRpdG9yTWV0aG9kQ2FsbGJhY2siLChmdW5jdGlvbih0KXt2YXIgZT10LmNhbGxiYWNrSWQsbj10LmRhdGE7clsiYSJdLmludm9rZShlLG4pfSkpO3ZhciBhPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdChlLG4peyhmdW5jdGlvbih0LGUpe2lmKCEodCBpbnN0YW5jZW9mIGUpKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvbiIpfSkodGhpcyx0KSx0aGlzLmlkPWUsdGhpcy5wYWdlSWQ9bn1yZXR1cm4gZnVuY3Rpb24odCxlLG4pe2UmJmkodC5wcm90b3R5cGUsZSksbiYmaSh0LG4pfSh0LFt7a2V5OiJmb3JtYXQiLHZhbHVlOmZ1bmN0aW9uKHQsZSl7byh0aGlzLmlkLHRoaXMucGFnZUlkLCJmb3JtYXQiLHtvcHRpb25zOntuYW1lOnQsdmFsdWU6ZX19KX19XSksdH0oKTtbImluc2VydERpdmlkZXIiLCJpbnNlcnRJbWFnZSIsImluc2VydFRleHQiLCJzZXRDb250ZW50cyIsImdldENvbnRlbnRzIiwiY2xlYXIiLCJyZW1vdmVGb3JtYXQiLCJ1bmRvIiwicmVkbyIsImJsdXIiLCJnZXRTZWxlY3Rpb25UZXh0Iiwic2Nyb2xsSW50b1ZpZXciXS5mb3JFYWNoKChmdW5jdGlvbih0KXthLnByb3RvdHlwZVt0XT1yWyJhIl0ud2FycCgoZnVuY3Rpb24oZSxuKXtvKHRoaXMuaWQsdGhpcy5wYWdlSWQsdCx7b3B0aW9uczplLGNhbGxiYWNrSWQ6bn0pfSkpfSkpfS5jYWxsKHRoaXMsbigiMmM5ZiIpKX0sIjU4ZTMiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5kKGUsImEiLChmdW5jdGlvbigpe3JldHVybiBjfSkpO3ZhciByPW4oImM4OGUiKSxpPW4ubihyKSxvPW4oIjIyMTQiKSxhPW4oImQzMzQiKSxzPW4oIjA1MGYiKSxjPU9iamVjdC5jcmVhdGUobnVsbCk7aS5hLmZvckVhY2goKGZ1bmN0aW9uKHQpe3NbImEiXVt0XT9jW3RdPU9iamVjdChhWyJkIl0pKHQsT2JqZWN0KG9bImMiXSkodCxzWyJhIl1bdF0pKTpjW3RdPU9iamVjdChvWyJkIl0pKHQpfSkpfSw1OTI4OmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcih0KXtyZXR1cm4gZnVuY3Rpb24odCl7aWYoQXJyYXkuaXNBcnJheSh0KSlyZXR1cm4gaSh0KX0odCl8fGZ1bmN0aW9uKHQpe2lmKCJ1bmRlZmluZWQiIT09dHlwZW9mIFN5bWJvbCYmU3ltYm9sLml0ZXJhdG9yIGluIE9iamVjdCh0KSlyZXR1cm4gQXJyYXkuZnJvbSh0KX0odCl8fGZ1bmN0aW9uKHQsZSl7aWYodCl7aWYoInN0cmluZyI9PT10eXBlb2YgdClyZXR1cm4gaSh0LGUpO3ZhciBuPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KS5zbGljZSg4LC0xKTtyZXR1cm4iT2JqZWN0Ij09PW4mJnQuY29uc3RydWN0b3ImJihuPXQuY29uc3RydWN0b3IubmFtZSksIk1hcCI9PT1ufHwiU2V0Ij09PW4/QXJyYXkuZnJvbShuKToiQXJndW1lbnRzIj09PW58fC9eKD86VWl8SSludCg/Ojh8MTZ8MzIpKD86Q2xhbXBlZCk/QXJyYXkkLy50ZXN0KG4pP2kodCxlKTp2b2lkIDB9fSh0KXx8ZnVuY3Rpb24oKXt0aHJvdyBuZXcgVHlwZUVycm9yKCJJbnZhbGlkIGF0dGVtcHQgdG8gc3ByZWFkIG5vbi1pdGVyYWJsZSBpbnN0YW5jZS5cbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC4iKX0oKX1mdW5jdGlvbiBpKHQsZSl7KG51bGw9PWV8fGU+dC5sZW5ndGgpJiYoZT10Lmxlbmd0aCk7Zm9yKHZhciBuPTAscj1uZXcgQXJyYXkoZSk7bjxlO24rKylyW25dPXRbbl07cmV0dXJuIHJ9bi5kKGUsImEiLChmdW5jdGlvbigpe3JldHVybiBjfSkpO3ZhciBvPVsib25MYXVuY2giLCJvblNob3ciLCJvbkhpZGUiLCJvblVuaU5WaWV3TWVzc2FnZSIsIm9uUGFnZU5vdEZvdW5kIiwib25UaGVtZUNoYW5nZSIsIm9uRXJyb3IiLCJvblVuaGFuZGxlZFJlamVjdGlvbiIsIm9uSW5pdCIsIm9uTG9hZCIsIm9uUmVhZHkiLCJvblVubG9hZCIsIm9uUHVsbERvd25SZWZyZXNoIiwib25SZWFjaEJvdHRvbSIsIm9uVGFiSXRlbVRhcCIsIm9uQWRkVG9GYXZvcml0ZXMiLCJvblNoYXJlVGltZWxpbmUiLCJvblNoYXJlQXBwTWVzc2FnZSIsIm9uUmVzaXplIiwib25QYWdlU2Nyb2xsIiwib25OYXZpZ2F0aW9uQmFyQnV0dG9uVGFwIiwib25CYWNrUHJlc3MiLCJvbk5hdmlnYXRpb25CYXJTZWFyY2hJbnB1dENoYW5nZWQiLCJvbk5hdmlnYXRpb25CYXJTZWFyY2hJbnB1dENvbmZpcm1lZCIsIm9uTmF2aWdhdGlvbkJhclNlYXJjaElucHV0Q2xpY2tlZCIsIm9uTmF2aWdhdGlvbkJhclNlYXJjaElucHV0Rm9jdXNDaGFuZ2VkIiwib25QYWdlU2hvdyIsIm9uUGFnZUhpZGUiLCJvblBhZ2VSZXNpemUiLCJvblNlcnZpY2VDcmVhdGVkIiwib25TZXJ2aWNlQXR0YWNoZWQiXSxhPVsiZGF0YSIsInByb3BlcnRpZXMiLCJvcHRpb25zIiwicmVsYXRpb25zIl07ZnVuY3Rpb24gcyh0LGUpe2EuZm9yRWFjaCgoZnVuY3Rpb24obil7KGZ1bmN0aW9uKHQsZSxuKXtlW25dJiZPYmplY3QuYXNzaWduKHRbbl18fCh0W25dPXt9KSxlW25dKX0pKHQsZSxuKX0pKSxlLmV4dGVybmFsQ2xhc3NlcyYmZnVuY3Rpb24odCxlKXt0LnB1c2guYXBwbHkodCxyKGUpKX0odC5leHRlcm5hbENsYXNzZXN8fCh0LmV4dGVybmFsQ2xhc3Nlcz1bXSksZS5leHRlcm5hbENsYXNzZXMpLGUucGF0aCYmKHQucGF0aD1lLnBhdGgpfWZ1bmN0aW9uIGModCl7dmFyIGU9dC5leHRlbmQ7dC5leHRlbmQ9ZnVuY3Rpb24odCl7dD10fHx7fTt2YXIgbj10Lm1ldGhvZHM7biYmT2JqZWN0LmtleXMobikuZm9yRWFjaCgoZnVuY3Rpb24oZSl7LTEhPT1vLmluZGV4T2YoZSkmJih0W2VdPW5bZV0sZGVsZXRlIG5bZV0pfSkpO3ZhciByPXQuc2V0dXA7aWYocil7dmFyIGk9IiI7dHJ5e2k9ci50b1N0cmluZygpfWNhdGNoKGEpe31bIm9uUGFnZVNjcm9sbCIsIm9uUmVhY2hCb3R0b20iXS5mb3JFYWNoKChmdW5jdGlvbihlKXtpLmluZGV4T2YoInVuaUFwcC4iLmNvbmNhdChlKSkmJiF0W2VdJiYodFtlXT1bZnVuY3Rpb24oKXt9XSl9KSl9cmV0dXJuIGUuY2FsbCh0aGlzLHQpfTt2YXIgbj10LmNvbmZpZy5vcHRpb25NZXJnZVN0cmF0ZWdpZXMscj1uLmNyZWF0ZWQ7by5mb3JFYWNoKChmdW5jdGlvbih0KXtuW3RdPXJ9KSksbi5tcE9wdGlvbnM9ZnVuY3Rpb24odCxlKXtpZighdClyZXR1cm4gZTt2YXIgbj1PYmplY3QuY3JlYXRlKG51bGwpO3JldHVybiBzKG4sdCksZSYmcyhuLGUpLG59fX0sIjVhMmQiOmZ1bmN0aW9uKHQsZSxuKXt9LCI1YjM4IjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjQ2NmIiKSxpPW4ubihyKTtpLmF9LCI1YjVmIjpmdW5jdGlvbih0LGUsbil7fSwiNWJjZiI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtuLnIoZSksbi5kKGUsImNhbklVc2UiLChmdW5jdGlvbigpe3JldHVybiByfSkpO3ZhciByPVt7bmFtZToic2NoZW1hIix0eXBlOlN0cmluZyxyZXF1aXJlZDohMH1dfSwiNWMxZiI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtuLnIoZSk7dmFyIHI9bigiNWQyMSIpLGk9clsiYSJdLG89KG4oIjk4NDgiKSxuKCI4ODQ0IikpLGE9T2JqZWN0KG9bImEiXSkoaSwoZnVuY3Rpb24oKXt2YXIgdD10aGlzLGU9dC4kY3JlYXRlRWxlbWVudCxuPXQuX3NlbGYuX2N8fGU7cmV0dXJuIHQuaG92ZXJDbGFzcyYmIm5vbmUiIT09dC5ob3ZlckNsYXNzP24oInVuaS1uYXZpZ2F0b3IiLHQuX2coe2NsYXNzOlt0LmhvdmVyaW5nP3QuaG92ZXJDbGFzczoiIl0sb246e3RvdWNoc3RhcnQ6dC5faG92ZXJUb3VjaFN0YXJ0LHRvdWNoZW5kOnQuX2hvdmVyVG91Y2hFbmQsdG91Y2hjYW5jZWw6dC5faG92ZXJUb3VjaENhbmNlbCxtb3VzZWRvd246dC5faG92ZXJNb3VzZWRvd24sbW91c2V1cDp0Ll9ob3Zlck1vdXNldXAsY2xpY2s6dC5fb25DbGlja319LHQuJGxpc3RlbmVycyksW3QuX3QoImRlZmF1bHQiKV0sMik6bigidW5pLW5hdmlnYXRvciIsdC5fZyh7b246e2NsaWNrOnQuX29uQ2xpY2t9fSx0LiRsaXN0ZW5lcnMpLFt0Ll90KCJkZWZhdWx0IildLDIpfSksW10sITEsbnVsbCxudWxsLG51bGwpO2VbImRlZmF1bHQiXT1hLmV4cG9ydHN9LCI1ZDIxIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiOyhmdW5jdGlvbih0KXt2YXIgcj1uKCI5MDllIiksaT1bIm5hdmlnYXRlIiwicmVkaXJlY3QiLCJzd2l0Y2hUYWIiLCJyZUxhdW5jaCIsIm5hdmlnYXRlQmFjayJdLG89WyJzbGlkZS1pbi1yaWdodCIsInNsaWRlLWluLWxlZnQiLCJzbGlkZS1pbi10b3AiLCJzbGlkZS1pbi1ib3R0b20iLCJmYWRlLWluIiwiem9vbS1vdXQiLCJ6b29tLWZhZGUtb3V0IiwicG9wLWluIiwibm9uZSJdLGE9WyJzbGlkZS1vdXQtcmlnaHQiLCJzbGlkZS1vdXQtbGVmdCIsInNsaWRlLW91dC10b3AiLCJzbGlkZS1vdXQtYm90dG9tIiwiZmFkZS1vdXQiLCJ6b29tLWluIiwiem9vbS1mYWRlLWluIiwicG9wLW91dCIsIm5vbmUiXTtlWyJhIl09e25hbWU6Ik5hdmlnYXRvciIsbWl4aW5zOltyWyJjIl1dLHByb3BzOntob3ZlckNsYXNzOnt0eXBlOlN0cmluZyxkZWZhdWx0OiJuYXZpZ2F0b3ItaG92ZXIifSx1cmw6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6IiJ9LG9wZW5UeXBlOnt0eXBlOlN0cmluZyxkZWZhdWx0OiJuYXZpZ2F0ZSIsdmFsaWRhdG9yOmZ1bmN0aW9uKHQpe3JldHVybn5pLmluZGV4T2YodCl9fSxkZWx0YTp7dHlwZTpOdW1iZXIsZGVmYXVsdDoxfSxob3ZlclN0YXJ0VGltZTp7dHlwZTpbTnVtYmVyLFN0cmluZ10sZGVmYXVsdDo1MH0saG92ZXJTdGF5VGltZTp7dHlwZTpbTnVtYmVyLFN0cmluZ10sZGVmYXVsdDo2MDB9LGV4aXN0czp7dHlwZTpTdHJpbmcsZGVmYXVsdDoiIn0sYW5pbWF0aW9uVHlwZTp7dHlwZTpTdHJpbmcsdmFsaWRhdG9yOmZ1bmN0aW9uKHQpe3JldHVybiF0fHx+by5jb25jYXQoYSkuaW5kZXhPZih0KX0sZGVmYXVsdDoiIn0sYW5pbWF0aW9uRHVyYXRpb246e3R5cGU6W1N0cmluZyxOdW1iZXJdLGRlZmF1bHQ6MzAwfX0sbWV0aG9kczp7X29uQ2xpY2s6ZnVuY3Rpb24oZSl7aWYoIm5hdmlnYXRlQmFjayI9PT10aGlzLm9wZW5UeXBlfHx0aGlzLnVybCl7dmFyIG49cGFyc2VJbnQodGhpcy5hbmltYXRpb25EdXJhdGlvbik7c3dpdGNoKHRoaXMub3BlblR5cGUpe2Nhc2UibmF2aWdhdGUiOnVuaS5uYXZpZ2F0ZVRvKHt1cmw6dGhpcy51cmwsYW5pbWF0aW9uVHlwZTp0aGlzLmFuaW1hdGlvblR5cGV8fCJwb3AtaW4iLGFuaW1hdGlvbkR1cmF0aW9uOm59KTticmVhaztjYXNlInJlZGlyZWN0Ijp1bmkucmVkaXJlY3RUbyh7dXJsOnRoaXMudXJsLGV4aXN0czp0aGlzLmV4aXN0c30pO2JyZWFrO2Nhc2Uic3dpdGNoVGFiIjp1bmkuc3dpdGNoVGFiKHt1cmw6dGhpcy51cmx9KTticmVhaztjYXNlInJlTGF1bmNoIjp1bmkucmVMYXVuY2goe3VybDp0aGlzLnVybH0pO2JyZWFrO2Nhc2UibmF2aWdhdGVCYWNrIjp1bmkubmF2aWdhdGVCYWNrKHtkZWx0YTp0aGlzLmRlbHRhLGFuaW1hdGlvblR5cGU6dGhpcy5hbmltYXRpb25UeXBlfHwicG9wLW91dCIsYW5pbWF0aW9uRHVyYXRpb246bn0pO2JyZWFrO2RlZmF1bHQ6YnJlYWt9fWVsc2UgdC5lcnJvcigiPG5hdmlnYXRvci8+IHNob3VsZCBoYXZlIHVybCBhdHRyaWJ1dGUgd2hlbiB1c2luZyBuYXZpZ2F0ZVRvLCByZWRpcmVjdFRvLCByZUxhdW5jaCBvciBzd2l0Y2hUYWIiKX19fX0pLmNhbGwodGhpcyxuKCI0MThiIilbImRlZmF1bHQiXSl9LCI1ZGI5IjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oImVhNzIiKSxpPXJbImEiXSxvPShuKCI1Zjc3IiksbigiODg0NCIpKSxhPU9iamVjdChvWyJhIl0pKGksKGZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPXQuJGNyZWF0ZUVsZW1lbnQsbj10Ll9zZWxmLl9jfHxlO3JldHVybiBuKCJ1bmktdGFiYmFyIix7Y2xhc3M6WyJ1bmktdGFiYmFyLSIrdC5wb3NpdGlvbl19LFtuKCJkaXYiLHtzdGF0aWNDbGFzczoidW5pLXRhYmJhciIsc3R5bGU6e2JhY2tncm91bmRDb2xvcjp0LnRhYmJhckJhY2tncm91bmRDb2xvciwiYmFja2Ryb3AtZmlsdGVyIjoibm9uZSIhPT10LmJsdXJFZmZlY3Q/ImJsdXIoMTBweCkiOnQuYmx1ckVmZmVjdH19LFtuKCJkaXYiLHtzdGF0aWNDbGFzczoidW5pLXRhYmJhci1ib3JkZXIiLHN0eWxlOntiYWNrZ3JvdW5kQ29sb3I6dC5ib3JkZXJDb2xvcn19KSx0Ll9sKHQudmlzaWJsZUxpc3QsKGZ1bmN0aW9uKGUscil7cmV0dXJuIG4oImRpdiIse2tleTplLmlzTWlkQnV0dG9uP3I6ZS5wYWdlUGF0aCxzdGF0aWNDbGFzczoidW5pLXRhYmJhcl9faXRlbSIsc3R5bGU6ZS5pc01pZEJ1dHRvbj97ZmxleDoiMCAwICIrZS53aWR0aCxwb3NpdGlvbjoicmVsYXRpdmUifTp7fSxvbjp7Y2xpY2s6ZnVuY3Rpb24obil7cmV0dXJuIHQuX3N3aXRjaFRhYihlLHIpfX19LFtlLmlzTWlkQnV0dG9uP24oImRpdiIse3N0YXRpY0NsYXNzOiJ1bmktdGFiYmFyX19taWQiLHN0eWxlOnQuX3VuaVRhYmJhckJkU3R5bGUoZSl9LFtlLmljb25QYXRoP24oImltZyIse3N0eWxlOnt3aWR0aDplLmljb25XaWR0aCxoZWlnaHQ6ZS5pY29uV2lkdGh9LGF0dHJzOntzcmM6dC5fZ2V0UmVhbFBhdGgoZS5pY29uUGF0aCl9fSk6dC5fZSgpXSk6dC5fZSgpLG4oImRpdiIse3N0YXRpY0NsYXNzOiJ1bmktdGFiYmFyX19iZCIsc3R5bGU6e2hlaWdodDp0LmhlaWdodH19LFt0LmdldEljb25QYXRoKGUscil8fGUuaWNvbmZvbnR8fGUuaWNvblBhdGh8fGUuaXNNaWRCdXR0b24/bigiZGl2Iix7c3RhdGljQ2xhc3M6InVuaS10YWJiYXJfX2ljb24iLGNsYXNzOnsidW5pLXRhYmJhcl9faWNvbl9fZGlmZiI6IWUudGV4dH0sc3R5bGU6e3dpZHRoOnQuaWNvbldpZHRoLGhlaWdodDp0Lmljb25XaWR0aH19LFtlLmljb25mb250P24oImRpdiIse3N0YXRpY0NsYXNzOiJ1bmktdGFiYmFyX19pY29uZm9udCIsc3R5bGU6e2NvbG9yOnQuc2VsZWN0ZWRJbmRleD09PXI/ZS5pY29uZm9udC5zZWxlY3RlZENvbG9yOmUuaWNvbmZvbnQuY29sb3IsZm9udFNpemU6ZS5pY29uZm9udC5mb250U2l6ZXx8dC5pY29uV2lkdGh9fSxbdC5fdigiICIrdC5fcyh0LnNlbGVjdGVkSW5kZXg9PT1yP2UuaWNvbmZvbnQuc2VsZWN0ZWRUZXh0OmUuaWNvbmZvbnQudGV4dCkrIiAiKV0pOmUuaXNNaWRCdXR0b24/dC5fZSgpOm4oImltZyIse2F0dHJzOntzcmM6dC5fZ2V0UmVhbFBhdGgodC5nZXRJY29uUGF0aChlLHIpKX19KV0pOnQuX2UoKSxlLnRleHQ/bigiZGl2Iix7c3RhdGljQ2xhc3M6InVuaS10YWJiYXJfX2xhYmVsIixzdHlsZTp7Y29sb3I6dC5zZWxlY3RlZEluZGV4PT09cj90LnNlbGVjdGVkQ29sb3I6dC5jb2xvcixmb250U2l6ZTp0LmZvbnRTaXplLGxpbmVIZWlnaHQ6ZS5pY29uUGF0aD8ibm9ybWFsIjoxLjgsbWFyZ2luVG9wOmUuaWNvblBhdGg/dC5zcGFjaW5nOiJpbmhlcml0In19LFt0Ll92KCIgIit0Ll9zKGUudGV4dCkrIiAiKV0pOnQuX2UoKSxlLnJlZERvdD9uKCJkaXYiLHtzdGF0aWNDbGFzczoidW5pLXRhYmJhcl9fcmVkZG90IixjbGFzczp7InVuaS10YWJiYXJfX2JhZGdlIjohIWUuYmFkZ2V9fSxbdC5fdigiICIrdC5fcyhlLmJhZGdlKSsiICIpXSk6dC5fZSgpXSldKX0pKV0sMiksbigiZGl2Iix7c3RhdGljQ2xhc3M6InVuaS1wbGFjZWhvbGRlciIsc3R5bGU6e2hlaWdodDp0LmhlaWdodH19KV0pfSksW10sITEsbnVsbCxudWxsLG51bGwpLHM9YS5leHBvcnRzLGM9bigiZTE2ZSIpLHU9Y1siYSJdLGw9KG4oIjU1NTYiKSxPYmplY3Qob1siYSJdKSh1LChmdW5jdGlvbigpe3ZhciB0PXRoaXMsZT10LiRjcmVhdGVFbGVtZW50LG49dC5fc2VsZi5fY3x8ZTtyZXR1cm4gdC5yZXNwb25zaXZlP24oInVuaS1sYXlvdXQiLHtjbGFzczp7InVuaS1hcHAtLXNob3dsYXlvdXQiOnQuc2hvd0xheW91dCwidW5pLWFwcC0tc2hvd3RvcHdpbmRvdyI6dC5zaG93VG9wV2luZG93LCJ1bmktYXBwLS1zaG93bGVmdHdpbmRvdyI6dC5zaG93TGVmdFdpbmRvdywidW5pLWFwcC0tc2hvd3JpZ2h0d2luZG93Ijp0LnNob3dSaWdodFdpbmRvd319LFt0LnRvcFdpbmRvdz9uKCJ1bmktdG9wLXdpbmRvdyIse2RpcmVjdGl2ZXM6W3tuYW1lOiJzaG93IixyYXdOYW1lOiJ2LXNob3ciLHZhbHVlOnQuc2hvd1RvcFdpbmRvd3x8dC5hcGlTaG93VG9wV2luZG93LGV4cHJlc3Npb246InNob3dUb3BXaW5kb3cgfHwgYXBpU2hvd1RvcFdpbmRvdyJ9XX0sW24oImRpdiIse3JlZjoidG9wV2luZG93IixzdGF0aWNDbGFzczoidW5pLXRvcC13aW5kb3ciLHN0eWxlOnQudG9wV2luZG93U3R5bGV9LFtuKCJ2LXVuaS10b3Atd2luZG93Iix0Ll9iKHtyZWY6InRvcCIsYXR0cnM6eyJuYXZpZ2F0aW9uLWJhci10aXRsZS10ZXh0Ijp0Lm5hdmlnYXRpb25CYXJUaXRsZVRleHR9LG9uOnsiaG9vazptb3VudGVkIjp0Lm9uVG9wV2luZG93SW5pdH19LCJ2LXVuaS10b3Atd2luZG93Iix0LmJpbmRXaW5kb3csITEpKV0sMSksbigiZGl2Iix7c3RhdGljQ2xhc3M6InVuaS10b3Atd2luZG93LS1wbGFjZWhvbGRlciIsc3R5bGU6e2hlaWdodDp0LnRvcFdpbmRvd0hlaWdodH19KV0pOnQuX2UoKSxuKCJ1bmktY29udGVudCIsW24oInVuaS1tYWluIixbbigia2VlcC1hbGl2ZSIse2F0dHJzOntpbmNsdWRlOnQua2VlcEFsaXZlSW5jbHVkZX19LFtuKCJyb3V0ZXItdmlldyIse2tleTp0LnJvdXRlcktleX0pXSwxKV0sMSksdC5sZWZ0V2luZG93P24oInVuaS1sZWZ0LXdpbmRvdyIse2RpcmVjdGl2ZXM6W3tuYW1lOiJzaG93IixyYXdOYW1lOiJ2LXNob3ciLHZhbHVlOnQuc2hvd0xlZnRXaW5kb3d8fHQuYXBpU2hvd0xlZnRXaW5kb3csZXhwcmVzc2lvbjoic2hvd0xlZnRXaW5kb3cgfHwgYXBpU2hvd0xlZnRXaW5kb3cifV0scmVmOiJsZWZ0V2luZG93IixzdHlsZTp0LmxlZnRXaW5kb3dTdHlsZSxhdHRyczp7ImRhdGEtc2hvdyI6dC5hcGlTaG93TGVmdFdpbmRvd319LFt0LmFwaVNob3dMZWZ0V2luZG93P24oImRpdiIse3N0YXRpY0NsYXNzOiJ1bmktbWFzayIsb246e2NsaWNrOmZ1bmN0aW9uKGUpe3QuYXBpU2hvd0xlZnRXaW5kb3c9ITF9fX0pOnQuX2UoKSxuKCJkaXYiLHtzdGF0aWNDbGFzczoidW5pLWxlZnQtd2luZG93In0sW24oInYtdW5pLWxlZnQtd2luZG93Iix0Ll9iKHtyZWY6ImxlZnQiLG9uOnsiaG9vazptb3VudGVkIjp0Lm9uTGVmdFdpbmRvd0luaXR9fSwidi11bmktbGVmdC13aW5kb3ciLHQuYmluZFdpbmRvdywhMSkpXSwxKV0pOnQuX2UoKSx0LnJpZ2h0V2luZG93P24oInVuaS1yaWdodC13aW5kb3ciLHtkaXJlY3RpdmVzOlt7bmFtZToic2hvdyIscmF3TmFtZToidi1zaG93Iix2YWx1ZTp0LnNob3dSaWdodFdpbmRvd3x8dC5hcGlTaG93UmlnaHRXaW5kb3csZXhwcmVzc2lvbjoic2hvd1JpZ2h0V2luZG93IHx8IGFwaVNob3dSaWdodFdpbmRvdyJ9XSxyZWY6InJpZ2h0V2luZG93IixzdHlsZTp0LnJpZ2h0V2luZG93U3R5bGUsYXR0cnM6eyJkYXRhLXNob3ciOnQuYXBpU2hvd1JpZ2h0V2luZG93fX0sW3QuYXBpU2hvd1JpZ2h0V2luZG93P24oImRpdiIse3N0YXRpY0NsYXNzOiJ1bmktbWFzayIsb246e2NsaWNrOmZ1bmN0aW9uKGUpe3QuYXBpU2hvd1JpZ2h0V2luZG93PSExfX19KTp0Ll9lKCksbigiZGl2Iix7c3RhdGljQ2xhc3M6InVuaS1yaWdodC13aW5kb3cifSxbbigidi11bmktcmlnaHQtd2luZG93Iix0Ll9iKHtyZWY6InJpZ2h0Iixvbjp7Imhvb2s6bW91bnRlZCI6dC5vblJpZ2h0V2luZG93SW5pdH19LCJ2LXVuaS1yaWdodC13aW5kb3ciLHQuYmluZFdpbmRvdywhMSkpXSwxKV0pOnQuX2UoKV0sMSldLDEpOm4oImtlZXAtYWxpdmUiLHthdHRyczp7aW5jbHVkZTp0LmtlZXBBbGl2ZUluY2x1ZGV9fSxbbigicm91dGVyLXZpZXciLHtrZXk6dC5yb3V0ZXJLZXl9KV0sMSl9KSxbXSwhMSxudWxsLG51bGwsbnVsbCkpLGY9bC5leHBvcnRzLGQ9bigiZGFkNiIpLGg9ZFsiYSJdLHA9KG4oImNiZDAiKSxPYmplY3Qob1siYSJdKShoLChmdW5jdGlvbigpe3ZhciB0PXRoaXMsZT10LiRjcmVhdGVFbGVtZW50LG49dC5fc2VsZi5fY3x8ZTtyZXR1cm4gbigidHJhbnNpdGlvbiIse2F0dHJzOntuYW1lOiJ1bmktZmFkZSJ9fSxbdC52aXNpYmxlP24oInVuaS10b2FzdCIse2F0dHJzOnsiZGF0YS1kdXJhdGlvbiI6dC5kdXJhdGlvbn19LFt0Lm1hc2s/bigiZGl2Iix7c3RhdGljQ2xhc3M6InVuaS1tYXNrIixzdGF0aWNTdHlsZTp7YmFja2dyb3VuZDoidHJhbnNwYXJlbnQifSxvbjp7dG91Y2htb3ZlOmZ1bmN0aW9uKHQpe3QucHJldmVudERlZmF1bHQoKX19fSk6dC5fZSgpLHQuaW1hZ2V8fHQuaWNvbkNsYXNzP24oImRpdiIse3N0YXRpY0NsYXNzOiJ1bmktdG9hc3QifSxbdC5pbWFnZT9uKCJpbWciLHtzdGF0aWNDbGFzczoidW5pLXRvYXN0X19pY29uIixhdHRyczp7c3JjOnQuaW1hZ2V9fSk6bigiaSIse3N0YXRpY0NsYXNzOiJ1bmktaWNvbl90b2FzdCIsY2xhc3M6dC5pY29uQ2xhc3N9KSxuKCJwIix7c3RhdGljQ2xhc3M6InVuaS10b2FzdF9fY29udGVudCJ9LFt0Ll92KCIgIit0Ll9zKHQudGl0bGUpKyIgIildKV0pOm4oImRpdiIse3N0YXRpY0NsYXNzOiJ1bmktc2FtcGxlLXRvYXN0In0sW24oInAiLHtzdGF0aWNDbGFzczoidW5pLXNpbXBsZS10b2FzdF9fdGV4dCJ9LFt0Ll92KCIgIit0Ll9zKHQudGl0bGUpKyIgIildKV0pXSk6dC5fZSgpXSwxKX0pLFtdLCExLG51bGwsbnVsbCxudWxsKSksdj1wLmV4cG9ydHMsZz1uKCJhNDA5IiksbT1uKCI3Njg3IiksYj1uKCJiNDA1Iik7dmFyIHk9e2xpZ2h0OntjYW5jZWxDb2xvcjoiIzAwMDAwMCJ9LGRhcms6e2NhbmNlbENvbG9yOiJyZ2IoMTcwLCAxNzAsIDE3MCkifX07ZnVuY3Rpb24gXyh0KXt0aGlzLmNhbmNlbENvbG9yXz15W3RdLmNhbmNlbENvbG9yfXZhciB3PXtuYW1lOiJNb2RhbCIsY29tcG9uZW50czp7a2V5cHJlc3M6bVsiYSJdfSxtaXhpbnM6W2dbImRlZmF1bHQiXV0scHJvcHM6e3RpdGxlOnt0eXBlOlN0cmluZyxkZWZhdWx0OiIifSxjb250ZW50Ont0eXBlOlN0cmluZyxkZWZhdWx0OiIifSxzaG93Q2FuY2VsOnt0eXBlOkJvb2xlYW4sZGVmYXVsdDohMH0sY2FuY2VsVGV4dDp7dHlwZTpTdHJpbmcsZGVmYXVsdDoiQ2FuY2VsIn0sY2FuY2VsQ29sb3I6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6IiMwMDAwMDAifSxjb25maXJtVGV4dDp7dHlwZTpTdHJpbmcsZGVmYXVsdDoiT0sifSxjb25maXJtQ29sb3I6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6IiMwMDdhZmYifSx2aXNpYmxlOnt0eXBlOkJvb2xlYW4sZGVmYXVsdDohMX0sZWRpdGFibGU6e3R5cGU6Qm9vbGVhbixkZWZhdWx0OiExfSxwbGFjZWhvbGRlclRleHQ6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6IiJ9fSxkYXRhOmZ1bmN0aW9uKCl7cmV0dXJue2NhbmNlbENvbG9yXzoiIzAwMCJ9fSx3YXRjaDp7dmlzaWJsZTpmdW5jdGlvbih0KXt0Pyh0aGlzLmNhbmNlbENvbG9yXz10aGlzLiRwYXJlbnQuc2hvd01vZGFsLmNhbmNlbENvbG9yLCIjMDAwIj09PXRoaXMuJHBhcmVudC5zaG93TW9kYWwuY2FuY2VsQ29sb3ImJigiZGFyayI9PT1PYmplY3QoYlsiYSJdKSgpJiZ0aGlzLl9vblRoZW1lQ2hhbmdlKHt0aGVtZToiZGFyayJ9KSxPYmplY3QoYlsiYyJdKSh0aGlzLl9vblRoZW1lQ2hhbmdlKSkpOk9iamVjdChiWyJiIl0pKHRoaXMuX29uVGhlbWVDaGFuZ2UpfX0sbWV0aG9kczp7X29uVGhlbWVDaGFuZ2U6ZnVuY3Rpb24odCl7dmFyIGU9dC50aGVtZTtfLmNhbGwodGhpcyxlKX0sX2Nsb3NlOmZ1bmN0aW9uKHQpe3ZhciBlPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gZSBpbiB0P09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGUse3ZhbHVlOm4sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITB9KTp0W2VdPW4sdH0oe30sdCwhMCk7dGhpcy5lZGl0YWJsZSYmImNvbmZpcm0iPT09dCYmKGUuY29udGVudD10aGlzLiRyZWZzLmVkaXRDb250ZW50LnZhbHVlKSx0aGlzLiRlbWl0KCJjbG9zZSIsZSl9fX0seD13LFM9KG4oIjk2YjkiKSxPYmplY3Qob1siYSJdKSh4LChmdW5jdGlvbigpe3ZhciB0PXRoaXMsZT10LiRjcmVhdGVFbGVtZW50LG49dC5fc2VsZi5fY3x8ZTtyZXR1cm4gbigidHJhbnNpdGlvbiIse2F0dHJzOntuYW1lOiJ1bmktZmFkZSJ9fSxbbigidW5pLW1vZGFsIix7ZGlyZWN0aXZlczpbe25hbWU6InNob3ciLHJhd05hbWU6InYtc2hvdyIsdmFsdWU6dC52aXNpYmxlLGV4cHJlc3Npb246InZpc2libGUifV0sb246e3RvdWNobW92ZTpmdW5jdGlvbih0KXt0LnByZXZlbnREZWZhdWx0KCl9fX0sW24oImRpdiIse3N0YXRpY0NsYXNzOiJ1bmktbWFzayJ9KSxuKCJkaXYiLHtzdGF0aWNDbGFzczoidW5pLW1vZGFsIn0sW3QudGl0bGU/bigiZGl2Iix7c3RhdGljQ2xhc3M6InVuaS1tb2RhbF9faGQifSxbbigic3Ryb25nIix7c3RhdGljQ2xhc3M6InVuaS1tb2RhbF9fdGl0bGUiLGRvbVByb3BzOnt0ZXh0Q29udGVudDp0Ll9zKHQudGl0bGUpfX0pXSk6dC5fZSgpLHQuZWRpdGFibGU/bigidGV4dGFyZWEiLHtyZWY6ImVkaXRDb250ZW50IixzdGF0aWNDbGFzczoidW5pLW1vZGFsX190ZXh0YXJlYSIsYXR0cnM6e3Jvd3M6IjEiLHBsYWNlaG9sZGVyOnQucGxhY2Vob2xkZXJUZXh0fSxkb21Qcm9wczp7dmFsdWU6dC5jb250ZW50fX0pOm4oImRpdiIse3N0YXRpY0NsYXNzOiJ1bmktbW9kYWxfX2JkIixkb21Qcm9wczp7dGV4dENvbnRlbnQ6dC5fcyh0LmNvbnRlbnQpfSxvbjp7dG91Y2htb3ZlOmZ1bmN0aW9uKHQpe3Quc3RvcFByb3BhZ2F0aW9uKCl9fX0pLG4oImRpdiIse3N0YXRpY0NsYXNzOiJ1bmktbW9kYWxfX2Z0In0sW3Quc2hvd0NhbmNlbD9uKCJkaXYiLHtzdGF0aWNDbGFzczoidW5pLW1vZGFsX19idG4gdW5pLW1vZGFsX19idG5fZGVmYXVsdCIsc3R5bGU6e2NvbG9yOnQuY2FuY2VsQ29sb3JffSxvbjp7Y2xpY2s6ZnVuY3Rpb24oZSl7cmV0dXJuIHQuX2Nsb3NlKCJjYW5jZWwiKX19fSxbdC5fdigiICIrdC5fcyh0LmNhbmNlbFRleHQpKyIgIildKTp0Ll9lKCksbigiZGl2Iix7c3RhdGljQ2xhc3M6InVuaS1tb2RhbF9fYnRuIHVuaS1tb2RhbF9fYnRuX3ByaW1hcnkiLHN0eWxlOntjb2xvcjp0LmNvbmZpcm1Db2xvcn0sb246e2NsaWNrOmZ1bmN0aW9uKGUpe3JldHVybiB0Ll9jbG9zZSgiY29uZmlybSIpfX19LFt0Ll92KCIgIit0Ll9zKHQuY29uZmlybVRleHQpKyIgIildKV0pXSksbigia2V5cHJlc3MiLHthdHRyczp7ZGlzYWJsZTohdC52aXNpYmxlfSxvbjp7ZXNjOmZ1bmN0aW9uKGUpe3JldHVybiB0Ll9jbG9zZSgiY2FuY2VsIil9LGVudGVyOmZ1bmN0aW9uKGUpeyF0LmVkaXRhYmxlJiZ0Ll9jbG9zZSgiY29uZmlybSIpfX19KV0sMSldLDEpfSksW10sITEsbnVsbCxudWxsLG51bGwpKSxrPVMuZXhwb3J0cyxDPW4oImEyMDIiKSxPPW4oIjAzNzIiKSxUPW4oIjM5YmQiKSxFPW4oImM3MDAiKSxBPW4oImQ0YzkiKSxqPW4oIjRiYTYiKSxNPW4oIjZmNzUiKTt2YXIgST17bGlnaHQ6e2xpc3RJdGVtQ29sb3I6IiMwMDAwMDAiLGNhbmNlbEl0ZW1Db2xvcjoiIzAwMDAwMCJ9LGRhcms6e2xpc3RJdGVtQ29sb3I6InJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KSIsY2FuY2VsSXRlbUNvbG9yOiJyZ2JhKDI1NSwgMjU1LCAyNTUpIn19O2Z1bmN0aW9uIFAodCl7dmFyIGU9dGhpcztbImxpc3RJdGVtQ29sb3IiLCJjYW5jZWxJdGVtQ29sb3IiXS5mb3JFYWNoKChmdW5jdGlvbihuKXtlW25dPUlbdF1bbl19KSl9dmFyICQ9e25hbWU6IkFjdGlvblNoZWV0Iixjb21wb25lbnRzOntrZXlwcmVzczptWyJhIl19LG1peGluczpbT1siYyJdLENbImRlZmF1bHQiXSxUWyJhIl0sRVsiYSJdXSxwcm9wczp7dGl0bGU6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6IiJ9LGl0ZW1MaXN0Ont0eXBlOkFycmF5LGRlZmF1bHQ6ZnVuY3Rpb24oKXtyZXR1cm5bXX19LGl0ZW1Db2xvcjp7dHlwZTpTdHJpbmcsZGVmYXVsdDoiIzAwMDAwMCJ9LHBvcG92ZXI6e3R5cGU6T2JqZWN0LGRlZmF1bHQ6bnVsbH0sdmlzaWJsZTp7dHlwZTpCb29sZWFuLGRlZmF1bHQ6ITF9fSxkYXRhOmZ1bmN0aW9uKCl7cmV0dXJue0hFSUdIVDoyNjAsY29udGVudEhlaWdodDowLHRpdGxlSGVpZ2h0OjAsZGVsdGFZOjAsc2Nyb2xsVG9wOjAsbGlzdEl0ZW1Db2xvcjoiIzAwMDAwMCIsY2FuY2VsSXRlbUNvbG9yOiIjMDAwMDAwIn19LHdhdGNoOnt2aXNpYmxlOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXM7dD8odGhpcy4kbmV4dFRpY2soKGZ1bmN0aW9uKCl7ZS50aXRsZSYmKGUudGl0bGVIZWlnaHQ9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiLnVuaS1hY3Rpb25zaGVldF9fdGl0bGUiKS5vZmZzZXRIZWlnaHQpLGUuX3Njcm9sbGVyLnVwZGF0ZSgpLGUuY29udGVudEhlaWdodD1lLiRyZWZzLmNvbnRlbnQuY2xpZW50SGVpZ2h0LWUuSEVJR0hULGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi51bmktYWN0aW9uc2hlZXRfX2NlbGwiKS5mb3JFYWNoKChmdW5jdGlvbih0KXsoZnVuY3Rpb24odCl7dmFyIGU9MCxuPTA7dC5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0IiwoZnVuY3Rpb24odCl7dmFyIHI9dC5jaGFuZ2VkVG91Y2hlc1swXTtlPXIuY2xpZW50WCxuPXIuY2xpZW50WX0pKSx0LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIiwoZnVuY3Rpb24odCl7dmFyIHI9dC5jaGFuZ2VkVG91Y2hlc1swXTtpZihNYXRoLmFicyhyLmNsaWVudFgtZSk8MjAmJk1hdGguYWJzKHIuY2xpZW50WS1uKTwyMCl7dmFyIGk9bmV3IEN1c3RvbUV2ZW50KCJjbGljayIse2J1YmJsZXM6ITAsY2FuY2VsYWJsZTohMCx0YXJnZXQ6dC50YXJnZXQsY3VycmVudFRhcmdldDp0LmN1cnJlbnRUYXJnZXR9KTtbInNjcmVlblgiLCJzY3JlZW5ZIiwiY2xpZW50WCIsImNsaWVudFkiLCJwYWdlWCIsInBhZ2VZIl0uZm9yRWFjaCgoZnVuY3Rpb24odCl7aVt0XT1yW3RdfSkpLHQudGFyZ2V0LmRpc3BhdGNoRXZlbnQoaSl9fSkpfSkodCl9KSl9KSksdGhpcy5saXN0SXRlbUNvbG9yPXRoaXMuY2FuY2VsSXRlbUNvbG9yPXRoaXMuaXRlbUNvbG9yLCIjMDAwIj09PXRoaXMuJHBhcmVudC5zaG93QWN0aW9uU2hlZXQuaXRlbUNvbG9yJiYoImRhcmsiPT09T2JqZWN0KGJbImEiXSkoKSYmdGhpcy5fb25UaGVtZUNoYW5nZSh7dGhlbWU6ImRhcmsifSksT2JqZWN0KGJbImMiXSkodGhpcy5fb25UaGVtZUNoYW5nZSkpKTpPYmplY3QoYlsiYiJdKSh0aGlzLl9vblRoZW1lQ2hhbmdlKX19LG1vdW50ZWQ6ZnVuY3Rpb24oKXt2YXIgdD10aGlzO3RoaXMudG91Y2h0cmFjayh0aGlzLiRyZWZzLmNvbnRlbnQsIl9oYW5kbGVUcmFjayIsITApLHRoaXMuJG5leHRUaWNrKChmdW5jdGlvbigpe3QuaW5pdFNjcm9sbGVyKHQuJHJlZnMuY29udGVudCx7ZW5hYmxlWTohMCxmcmljdGlvbjpuZXcgQVsiYSJdKDFlLTQpLHNwcmluZzpuZXcgalsiYSJdKDIsOTAsMjApLG9uU2Nyb2xsOmZ1bmN0aW9uKGUpe3Quc2Nyb2xsVG9wPWUudGFyZ2V0LnNjcm9sbFRvcH19KX0pKSxPYmplY3QoTVsiYiJdKSgpfSxtZXRob2RzOntfb25UaGVtZUNoYW5nZTpmdW5jdGlvbih0KXt2YXIgZT10LnRoZW1lO1AuY2FsbCh0aGlzLGUpfSxfY2xvc2U6ZnVuY3Rpb24odCl7dGhpcy4kZW1pdCgiY2xvc2UiLHQpfSxfaGFuZGxlVHJhY2s6ZnVuY3Rpb24odCl7aWYodGhpcy5fc2Nyb2xsZXIpc3dpdGNoKHQuZGV0YWlsLnN0YXRlKXtjYXNlInN0YXJ0Ijp0aGlzLl9oYW5kbGVUb3VjaFN0YXJ0KHQpLE9iamVjdChNWyJhIl0pKHtkaXNhYmxlOiEwfSk7YnJlYWs7Y2FzZSJtb3ZlIjp0aGlzLl9oYW5kbGVUb3VjaE1vdmUodCk7YnJlYWs7Y2FzZSJlbmQiOmNhc2UiY2FuY2VsIjp0aGlzLl9oYW5kbGVUb3VjaEVuZCh0KSxPYmplY3QoTVsiYSJdKSh7ZGlzYWJsZTohMX0pfX0sX2hhbmRsZVdoZWVsOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuZGVsdGFZK3QuZGVsdGFZO01hdGguYWJzKGUpPjEwPyh0aGlzLnNjcm9sbFRvcCs9ZS8zLHRoaXMuc2Nyb2xsVG9wPXRoaXMuc2Nyb2xsVG9wPj10aGlzLmNvbnRlbnRIZWlnaHQ/dGhpcy5jb250ZW50SGVpZ2h0OnRoaXMuc2Nyb2xsVG9wPD0wPzA6dGhpcy5zY3JvbGxUb3AsdGhpcy5fc2Nyb2xsZXIuc2Nyb2xsVG8odGhpcy5zY3JvbGxUb3ApKTp0aGlzLmRlbHRhWT1lLHQucHJldmVudERlZmF1bHQoKX19fSxMPSQsUj0obigiNWZlOCIpLE9iamVjdChvWyJhIl0pKEwsKGZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPXQuJGNyZWF0ZUVsZW1lbnQsbj10Ll9zZWxmLl9jfHxlO3JldHVybiBuKCJ1bmktYWN0aW9uc2hlZXQiLHtvbjp7dG91Y2htb3ZlOmZ1bmN0aW9uKHQpe3QucHJldmVudERlZmF1bHQoKX19fSxbbigidHJhbnNpdGlvbiIse2F0dHJzOntuYW1lOiJ1bmktZmFkZSJ9fSxbbigiZGl2Iix7ZGlyZWN0aXZlczpbe25hbWU6InNob3ciLHJhd05hbWU6InYtc2hvdyIsdmFsdWU6dC52aXNpYmxlLGV4cHJlc3Npb246InZpc2libGUifV0sc3RhdGljQ2xhc3M6InVuaS1tYXNrIHVuaS1hY3Rpb25zaGVldF9fbWFzayIsb246e2NsaWNrOmZ1bmN0aW9uKGUpe3JldHVybiB0Ll9jbG9zZSgtMSl9fX0pXSksbigiZGl2Iix7c3RhdGljQ2xhc3M6InVuaS1hY3Rpb25zaGVldCIsY2xhc3M6eyJ1bmktYWN0aW9uc2hlZXRfdG9nZ2xlIjp0LnZpc2libGV9LHN0eWxlOnQucG9wdXBTdHlsZS5jb250ZW50fSxbbigiZGl2Iix7cmVmOiJtYWluIixzdGF0aWNDbGFzczoidW5pLWFjdGlvbnNoZWV0X19tZW51Iixvbjp7d2hlZWw6dC5faGFuZGxlV2hlZWx9fSxbdC50aXRsZT9uKCJkaXYiLHtzdGF0aWNDbGFzczoidW5pLWFjdGlvbnNoZWV0X19jZWxsIixzdHlsZTp7aGVpZ2h0OnQudGl0bGVIZWlnaHQrInB4In19KTp0Ll9lKCksdC50aXRsZT9uKCJkaXYiLHtzdGF0aWNDbGFzczoidW5pLWFjdGlvbnNoZWV0X190aXRsZSJ9LFt0Ll92KCIgIit0Ll9zKHQudGl0bGUpKyIgIildKTp0Ll9lKCksbigiZGl2Iix7c3R5bGU6e21heEhlaWdodDp0LkhFSUdIVCsicHgiLG92ZXJmbG93OiJoaWRkZW4ifX0sW24oImRpdiIse3JlZjoiY29udGVudCJ9LHQuX2wodC5pdGVtTGlzdCwoZnVuY3Rpb24oZSxyKXtyZXR1cm4gbigiZGl2Iix7a2V5OnIsc3RhdGljQ2xhc3M6InVuaS1hY3Rpb25zaGVldF9fY2VsbCIsc3R5bGU6e2NvbG9yOnQubGlzdEl0ZW1Db2xvcn0sb246e2NsaWNrOmZ1bmN0aW9uKGUpe3JldHVybiB0Ll9jbG9zZShyKX19fSxbdC5fdigiICIrdC5fcyhlKSsiICIpXSl9KSksMCldKV0pLG4oImRpdiIse3N0YXRpY0NsYXNzOiJ1bmktYWN0aW9uc2hlZXRfX2FjdGlvbiJ9LFtuKCJkaXYiLHtzdGF0aWNDbGFzczoidW5pLWFjdGlvbnNoZWV0X19jZWxsIixzdHlsZTp7Y29sb3I6dC5jYW5jZWxJdGVtQ29sb3J9LG9uOntjbGljazpmdW5jdGlvbihlKXtyZXR1cm4gdC5fY2xvc2UoLTEpfX19LFt0Ll92KCIgIit0Ll9zKHQuJCR0KCJ1bmkuc2hvd0FjdGlvblNoZWV0LmNhbmNlbCIpKSsiICIpXSldKSxuKCJkaXYiLHtzdHlsZTp0LnBvcHVwU3R5bGUudHJpYW5nbGV9KV0pLG4oImtleXByZXNzIix7YXR0cnM6e2Rpc2FibGU6IXQudmlzaWJsZX0sb246e2VzYzpmdW5jdGlvbihlKXtyZXR1cm4gdC5fY2xvc2UoLTEpfX19KV0sMSl9KSxbXSwhMSxudWxsLG51bGwsbnVsbCkpLE49Ui5leHBvcnRzLEQ9e25hbWU6IkltYWdlVmlldyIscHJvcHM6e3NyYzp7dHlwZTpTdHJpbmcsZGVmYXVsdDoiIn19LGRhdGE6ZnVuY3Rpb24oKXtyZXR1cm57ZGlyZWN0aW9uOiJub25lIn19LGNyZWF0ZWQ6ZnVuY3Rpb24oKXt0aGlzLnNjYWxlPTEsdGhpcy5pbWdXaWR0aD0wLHRoaXMuaW1nSGVpZ2h0PTAsdGhpcy53aWR0aD0wLHRoaXMuaGVpZ2h0PTB9LG1ldGhvZHM6e29uU2NhbGU6ZnVuY3Rpb24odCl7dmFyIGU9dC5kZXRhaWwuc2NhbGU7dGhpcy5zY2FsZT1lfSxvbkltZ0xvYWQ6ZnVuY3Rpb24odCl7dmFyIGU9dC50YXJnZXQsbj1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3RoaXMuaW1nV2lkdGg9bi53aWR0aCx0aGlzLmltZ0hlaWdodD1uLmhlaWdodH0sb25Ub3VjaFN0YXJ0OmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuJGVsLG49ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTt0aGlzLndpZHRoPW4ud2lkdGgsdGhpcy5oZWlnaHQ9bi5oZWlnaHQsdGhpcy5jaGVja0RpcmVjdGlvbih0KX0sb25Ub3VjaEVuZDpmdW5jdGlvbih0KXt2YXIgZT10aGlzLnNjYWxlLG49ZSp0aGlzLmltZ1dpZHRoPnRoaXMud2lkdGgscj1lKnRoaXMuaW1nSGVpZ2h0PnRoaXMuaGVpZ2h0O3RoaXMuZGlyZWN0aW9uPW4mJnI/ImFsbCI6bj8iaG9yaXpvbnRhbCI6cj8idmVydGljYWwiOiJub25lIix0aGlzLmNoZWNrRGlyZWN0aW9uKHQpfSxjaGVja0RpcmVjdGlvbjpmdW5jdGlvbih0KXt2YXIgZT10aGlzLmRpcmVjdGlvbjsiYWxsIiE9PWUmJiJob3Jpem9udGFsIiE9PWV8fHQuc3RvcFByb3BhZ2F0aW9uKCl9fX0sQj1ELEY9KG4oIjE4NjciKSxPYmplY3Qob1siYSJdKShCLChmdW5jdGlvbigpe3ZhciB0PXRoaXMsZT10LiRjcmVhdGVFbGVtZW50LG49dC5fc2VsZi5fY3x8ZTtyZXR1cm4gbigidi11bmktbW92YWJsZS1hcmVhIix7c3RhdGljQ2xhc3M6ImltYWdlLXZpZXctYXJlYSIsbmF0aXZlT246e3RvdWNoc3RhcnQ6ZnVuY3Rpb24oZSl7cmV0dXJuIHQub25Ub3VjaFN0YXJ0KGUpfSx0b3VjaG1vdmU6ZnVuY3Rpb24oZSl7cmV0dXJuIHQuY2hlY2tEaXJlY3Rpb24oZSl9LHRvdWNoZW5kOmZ1bmN0aW9uKGUpe3JldHVybiB0Lm9uVG91Y2hFbmQoZSl9fX0sW24oInYtdW5pLW1vdmFibGUtdmlldyIse3N0YXRpY0NsYXNzOiJpbWFnZS12aWV3LXZpZXciLGF0dHJzOntkaXJlY3Rpb246dC5kaXJlY3Rpb24saW5lcnRpYToiIixzY2FsZToiIiwic2NhbGUtbWluIjoiMSIsInNjYWxlLW1heCI6IjQifSxvbjp7c2NhbGU6dC5vblNjYWxlfX0sW24oImltZyIse3N0YXRpY0NsYXNzOiJpbWFnZS12aWV3LWltZyIsYXR0cnM6e3NyYzp0LnNyY30sb246e2xvYWQ6dC5vbkltZ0xvYWR9fSldKV0sMSl9KSxbXSwhMSxudWxsLG51bGwsbnVsbCkpLHo9Ri5leHBvcnRzLFc9e25hbWU6IlByZXZpZXdJbWFnZSIsY29tcG9uZW50czp7aW1hZ2VWaWV3Onp9LHByb3BzOnt2aXNpYmxlOnt0eXBlOkJvb2xlYW4sZGVmYXVsdDohMX0sdXJsczp7dHlwZTpBcnJheSxkZWZhdWx0OmZ1bmN0aW9uKCl7cmV0dXJuW119fSxjdXJyZW50Ont0eXBlOltTdHJpbmcsTnVtYmVyXSxkZWZhdWx0OjB9fSxkYXRhOmZ1bmN0aW9uKCl7cmV0dXJue2luZGV4OjB9fSx3YXRjaDp7dmlzaWJsZTpmdW5jdGlvbih0KXtpZih0KXt2YXIgZT0ibnVtYmVyIj09PXR5cGVvZiB0aGlzLmN1cnJlbnQ/dGhpcy5jdXJyZW50OnRoaXMudXJscy5pbmRleE9mKHRoaXMuY3VycmVudCk7dGhpcy5pbmRleD1lPDA/MDplfX19LG1vdW50ZWQ6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLGU9MCxuPTA7dGhpcy4kZWwuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIiwoZnVuY3Rpb24ocil7dC5wcmV2ZW50RGVmYXVsdD0hMSxlPXIuY2xpZW50WCxuPXIuY2xpZW50WX0pKSx0aGlzLiRlbC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZXVwIiwoZnVuY3Rpb24ocil7KE1hdGguYWJzKHIuY2xpZW50WC1lKT4yMHx8TWF0aC5hYnMoci5jbGllbnRZLW4pPjIwKSYmKHQucHJldmVudERlZmF1bHQ9ITApfSkpfSxtZXRob2RzOntfY2xpY2s6ZnVuY3Rpb24oKXt0aGlzLnByZXZlbnREZWZhdWx0fHx0aGlzLiRlbWl0KCJjbG9zZSIpfX19LEg9VyxVPShuKCI0MjEzIiksT2JqZWN0KG9bImEiXSkoSCwoZnVuY3Rpb24oKXt2YXIgdD10aGlzLGU9dC4kY3JlYXRlRWxlbWVudCxuPXQuX3NlbGYuX2N8fGU7cmV0dXJuIHQudmlzaWJsZT9uKCJkaXYiLHtzdGF0aWNDbGFzczoidW5pLXN5c3RlbS1wcmV2aWV3LWltYWdlIixvbjp7Y2xpY2s6dC5fY2xpY2t9fSxbbigidi11bmktc3dpcGVyIix7c3RhdGljQ2xhc3M6InVuaS1zeXN0ZW0tcHJldmlldy1pbWFnZS1zd2lwZXIiLGF0dHJzOntuYXZpZ2F0aW9uOiJhdXRvIixjdXJyZW50OnQuaW5kZXgsImluZGljYXRvci1kb3RzIjohMSxhdXRvcGxheTohMX0sb246eyJ1cGRhdGU6Y3VycmVudCI6ZnVuY3Rpb24oZSl7dC5pbmRleD1lfX19LHQuX2wodC51cmxzLChmdW5jdGlvbih0LGUpe3JldHVybiBuKCJ2LXVuaS1zd2lwZXItaXRlbSIse2tleTplfSxbbigiaW1hZ2UtdmlldyIse2F0dHJzOntzcmM6dH19KV0sMSl9KSksMSksdC5fbSgwKV0sMSk6dC5fZSgpfSksW2Z1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPXQuJGNyZWF0ZUVsZW1lbnQsbj10Ll9zZWxmLl9jfHxlO3JldHVybiBuKCJkaXYiLHtzdGF0aWNDbGFzczoibmF2LWJ0bi1iYWNrIn0sW24oImkiLHtzdGF0aWNDbGFzczoidW5pLWJ0bi1pY29uIn0sW3QuX3YoIu6ZkCIpXSldKX1dLCExLG51bGwsbnVsbCxudWxsKSksVj1VLmV4cG9ydHMscT17VG9hc3Q6dixNb2RhbDprLEFjdGlvblNoZWV0Ok4sUHJldmlld0ltYWdlOlZ9O2Z1bmN0aW9uIFkodCxlKXt2YXIgbj1PYmplY3Qua2V5cyh0KTtpZihPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKXt2YXIgcj1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHQpO2UmJihyPXIuZmlsdGVyKChmdW5jdGlvbihlKXtyZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0LGUpLmVudW1lcmFibGV9KSkpLG4ucHVzaC5hcHBseShuLHIpfXJldHVybiBufWZ1bmN0aW9uIFgodCxlLG4pe3JldHVybiBlIGluIHQ/T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsZSx7dmFsdWU6bixlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMH0pOnRbZV09bix0fWVbImEiXT1mdW5jdGlvbih0KXtmb3IodmFyIGU9MTtlPGFyZ3VtZW50cy5sZW5ndGg7ZSsrKXt2YXIgbj1udWxsIT1hcmd1bWVudHNbZV0/YXJndW1lbnRzW2VdOnt9O2UlMj9ZKE9iamVjdChuKSwhMCkuZm9yRWFjaCgoZnVuY3Rpb24oZSl7WCh0LGUsbltlXSl9KSk6T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnM/T2JqZWN0LmRlZmluZVByb3BlcnRpZXModCxPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyhuKSk6WShPYmplY3QobikpLmZvckVhY2goKGZ1bmN0aW9uKGUpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGUsT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihuLGUpKX0pKX1yZXR1cm4gdH0oe1RhYkJhcjpzLExheW91dDpmfSxxKX0sIjVlMjciOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiMmQxMCIpLGk9bi5uKHIpO2kuYX0sIjVmMzAiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5yKGUpLG4uZChlLCJwcmVMb2dpbiIsKGZ1bmN0aW9uKCl7cmV0dXJuIGl9KSk7dmFyIHI9e1VOSVZFUklGWToidW5pdmVyaWZ5In0saT17cHJvdmlkZXI6e3R5cGU6U3RyaW5nLHJlcXVpcmVkOiEwLGRlZmF1bHQ6ci5VTklWRVJJRlksdmFsaWRhdG9yOmZ1bmN0aW9uKHQsZSl7aWYoT2JqZWN0LnZhbHVlcyhyKS5pbmRleE9mKHQpPDApcmV0dXJuInByb3ZpZGVyIGVycm9yIn19fX0sIjVmNzciOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiMDRlZCIpLGk9bi5uKHIpO2kuYX0sIjVmZTgiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiZTI4MyIpLGk9bi5uKHIpO2kuYX0sNjE0MDpmdW5jdGlvbih0LGUsbil7fSwiNjFhNSI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtuLnIoZSksZnVuY3Rpb24odCl7ZnVuY3Rpb24gcihlKXtmb3IodmFyIG49YXJndW1lbnRzLmxlbmd0aCxyPW5ldyBBcnJheShuPjE/bi0xOjApLGk9MTtpPG47aSsrKXJbaS0xXT1hcmd1bWVudHNbaV07dFtlXS5hcHBseSh0LHIpfW4uZChlLCJfX2ZfXyIsKGZ1bmN0aW9uKCl7cmV0dXJuIHJ9KSl9LmNhbGwodGhpcyxuKCI0MThiIilbImRlZmF1bHQiXSl9LCI2MWQ4IjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO24ucihlKSxuLmQoZSwiZ2V0SW1hZ2VJbmZvIiwoZnVuY3Rpb24oKXtyZXR1cm4gaX0pKTt2YXIgcj1uKCI0NzM4IiksaT17c3JjOnt0eXBlOlN0cmluZyxyZXF1aXJlZDohMCx2YWxpZGF0b3I6ZnVuY3Rpb24odCxlKXtlLnNyYz1PYmplY3QoclsiYSJdKSh0KX19fX0sIjYyY2IiOmZ1bmN0aW9uKHQsZSxuKXt9LDYzNTI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtuLnIoZSksZnVuY3Rpb24odCxpKXtuLmQoZSwiQ2FudmFzQ29udGV4dCIsKGZ1bmN0aW9uKCl7cmV0dXJuIFN9KSksbi5kKGUsImNyZWF0ZUNhbnZhc0NvbnRleHQiLChmdW5jdGlvbigpe3JldHVybiBrfSkpLG4uZChlLCJjYW52YXNHZXRJbWFnZURhdGEiLChmdW5jdGlvbigpe3JldHVybiBDfSkpLG4uZChlLCJjYW52YXNQdXRJbWFnZURhdGEiLChmdW5jdGlvbigpe3JldHVybiBPfSkpLG4uZChlLCJjYW52YXNUb1RlbXBGaWxlUGF0aCIsKGZ1bmN0aW9uKCl7cmV0dXJuIFR9KSk7dmFyIG89bigiMzQwZCIpLGE9bigiNzU1MyIpLHM9bigiNzQ1YSIpLGM9bigiOTEzMSIpLHU9bigiMmY1YyIpO2Z1bmN0aW9uIGwodCl7cmV0dXJuIGw9ImZ1bmN0aW9uIj09PXR5cGVvZiBTeW1ib2wmJiJzeW1ib2wiPT09cihTeW1ib2wuaXRlcmF0b3IpP2Z1bmN0aW9uKHQpe3JldHVybiByKHQpfTpmdW5jdGlvbih0KXtyZXR1cm4gdCYmImZ1bmN0aW9uIj09PXR5cGVvZiBTeW1ib2wmJnQuY29uc3RydWN0b3I9PT1TeW1ib2wmJnQhPT1TeW1ib2wucHJvdG90eXBlPyJzeW1ib2wiOnIodCl9LGwodCl9ZnVuY3Rpb24gZih0KXtyZXR1cm4gZnVuY3Rpb24odCl7aWYoQXJyYXkuaXNBcnJheSh0KSlyZXR1cm4gZCh0KX0odCl8fGZ1bmN0aW9uKHQpe2lmKCJ1bmRlZmluZWQiIT09dHlwZW9mIFN5bWJvbCYmU3ltYm9sLml0ZXJhdG9yIGluIE9iamVjdCh0KSlyZXR1cm4gQXJyYXkuZnJvbSh0KX0odCl8fGZ1bmN0aW9uKHQsZSl7aWYodCl7aWYoInN0cmluZyI9PT10eXBlb2YgdClyZXR1cm4gZCh0LGUpO3ZhciBuPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KS5zbGljZSg4LC0xKTtyZXR1cm4iT2JqZWN0Ij09PW4mJnQuY29uc3RydWN0b3ImJihuPXQuY29uc3RydWN0b3IubmFtZSksIk1hcCI9PT1ufHwiU2V0Ij09PW4/QXJyYXkuZnJvbShuKToiQXJndW1lbnRzIj09PW58fC9eKD86VWl8SSludCg/Ojh8MTZ8MzIpKD86Q2xhbXBlZCk/QXJyYXkkLy50ZXN0KG4pP2QodCxlKTp2b2lkIDB9fSh0KXx8ZnVuY3Rpb24oKXt0aHJvdyBuZXcgVHlwZUVycm9yKCJJbnZhbGlkIGF0dGVtcHQgdG8gc3ByZWFkIG5vbi1pdGVyYWJsZSBpbnN0YW5jZS5cbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC4iKX0oKX1mdW5jdGlvbiBkKHQsZSl7KG51bGw9PWV8fGU+dC5sZW5ndGgpJiYoZT10Lmxlbmd0aCk7Zm9yKHZhciBuPTAscj1uZXcgQXJyYXkoZSk7bjxlO24rKylyW25dPXRbbl07cmV0dXJuIHJ9ZnVuY3Rpb24gaCh0LGUpe2lmKCEodCBpbnN0YW5jZW9mIGUpKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvbiIpfWZ1bmN0aW9uIHAodCxlKXtmb3IodmFyIG49MDtuPGUubGVuZ3RoO24rKyl7dmFyIHI9ZVtuXTtyLmVudW1lcmFibGU9ci5lbnVtZXJhYmxlfHwhMSxyLmNvbmZpZ3VyYWJsZT0hMCwidmFsdWUiaW4gciYmKHIud3JpdGFibGU9ITApLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LHIua2V5LHIpfX1mdW5jdGlvbiB2KHQsZSxuKXtyZXR1cm4gZSYmcCh0LnByb3RvdHlwZSxlKSxuJiZwKHQsbiksdH12YXIgZz1PYmplY3QoYVsiYSJdKSgiY2FudmFzRXZlbnQiKTtmdW5jdGlvbiBtKGUsbixyLGkpe3QucHVibGlzaEhhbmRsZXIobisiLWNhbnZhcy0iK2Use2NhbnZhc0lkOmUsdHlwZTpyLGRhdGE6aX0sbil9dC5zdWJzY3JpYmUoIm9uQ2FudmFzTWV0aG9kQ2FsbGJhY2siLChmdW5jdGlvbih0KXt2YXIgZT10LmNhbGxiYWNrSWQsbj10LmRhdGEscj1nLnBvcChlKTtyJiZyKG4pfSkpO3ZhciBiPXthbGljZWJsdWU6IiNmMGY4ZmYiLGFudGlxdWV3aGl0ZToiI2ZhZWJkNyIsYXF1YToiIzAwZmZmZiIsYXF1YW1hcmluZToiIzdmZmZkNCIsYXp1cmU6IiNmMGZmZmYiLGJlaWdlOiIjZjVmNWRjIixiaXNxdWU6IiNmZmU0YzQiLGJsYWNrOiIjMDAwMDAwIixibGFuY2hlZGFsbW9uZDoiI2ZmZWJjZCIsYmx1ZToiIzAwMDBmZiIsYmx1ZXZpb2xldDoiIzhhMmJlMiIsYnJvd246IiNhNTJhMmEiLGJ1cmx5d29vZDoiI2RlYjg4NyIsY2FkZXRibHVlOiIjNWY5ZWEwIixjaGFydHJldXNlOiIjN2ZmZjAwIixjaG9jb2xhdGU6IiNkMjY5MWUiLGNvcmFsOiIjZmY3ZjUwIixjb3JuZmxvd2VyYmx1ZToiIzY0OTVlZCIsY29ybnNpbGs6IiNmZmY4ZGMiLGNyaW1zb246IiNkYzE0M2MiLGN5YW46IiMwMGZmZmYiLGRhcmtibHVlOiIjMDAwMDhiIixkYXJrY3lhbjoiIzAwOGI4YiIsZGFya2dvbGRlbnJvZDoiI2I4ODYwYiIsZGFya2dyYXk6IiNhOWE5YTkiLGRhcmtncmV5OiIjYTlhOWE5IixkYXJrZ3JlZW46IiMwMDY0MDAiLGRhcmtraGFraToiI2JkYjc2YiIsZGFya21hZ2VudGE6IiM4YjAwOGIiLGRhcmtvbGl2ZWdyZWVuOiIjNTU2YjJmIixkYXJrb3JhbmdlOiIjZmY4YzAwIixkYXJrb3JjaGlkOiIjOTkzMmNjIixkYXJrcmVkOiIjOGIwMDAwIixkYXJrc2FsbW9uOiIjZTk5NjdhIixkYXJrc2VhZ3JlZW46IiM4ZmJjOGYiLGRhcmtzbGF0ZWJsdWU6IiM0ODNkOGIiLGRhcmtzbGF0ZWdyYXk6IiMyZjRmNGYiLGRhcmtzbGF0ZWdyZXk6IiMyZjRmNGYiLGRhcmt0dXJxdW9pc2U6IiMwMGNlZDEiLGRhcmt2aW9sZXQ6IiM5NDAwZDMiLGRlZXBwaW5rOiIjZmYxNDkzIixkZWVwc2t5Ymx1ZToiIzAwYmZmZiIsZGltZ3JheToiIzY5Njk2OSIsZGltZ3JleToiIzY5Njk2OSIsZG9kZ2VyYmx1ZToiIzFlOTBmZiIsZmlyZWJyaWNrOiIjYjIyMjIyIixmbG9yYWx3aGl0ZToiI2ZmZmFmMCIsZm9yZXN0Z3JlZW46IiMyMjhiMjIiLGZ1Y2hzaWE6IiNmZjAwZmYiLGdhaW5zYm9ybzoiI2RjZGNkYyIsZ2hvc3R3aGl0ZToiI2Y4ZjhmZiIsZ29sZDoiI2ZmZDcwMCIsZ29sZGVucm9kOiIjZGFhNTIwIixncmF5OiIjODA4MDgwIixncmV5OiIjODA4MDgwIixncmVlbjoiIzAwODAwMCIsZ3JlZW55ZWxsb3c6IiNhZGZmMmYiLGhvbmV5ZGV3OiIjZjBmZmYwIixob3RwaW5rOiIjZmY2OWI0IixpbmRpYW5yZWQ6IiNjZDVjNWMiLGluZGlnbzoiIzRiMDA4MiIsaXZvcnk6IiNmZmZmZjAiLGtoYWtpOiIjZjBlNjhjIixsYXZlbmRlcjoiI2U2ZTZmYSIsbGF2ZW5kZXJibHVzaDoiI2ZmZjBmNSIsbGF3bmdyZWVuOiIjN2NmYzAwIixsZW1vbmNoaWZmb246IiNmZmZhY2QiLGxpZ2h0Ymx1ZToiI2FkZDhlNiIsbGlnaHRjb3JhbDoiI2YwODA4MCIsbGlnaHRjeWFuOiIjZTBmZmZmIixsaWdodGdvbGRlbnJvZHllbGxvdzoiI2ZhZmFkMiIsbGlnaHRncmF5OiIjZDNkM2QzIixsaWdodGdyZXk6IiNkM2QzZDMiLGxpZ2h0Z3JlZW46IiM5MGVlOTAiLGxpZ2h0cGluazoiI2ZmYjZjMSIsbGlnaHRzYWxtb246IiNmZmEwN2EiLGxpZ2h0c2VhZ3JlZW46IiMyMGIyYWEiLGxpZ2h0c2t5Ymx1ZToiIzg3Y2VmYSIsbGlnaHRzbGF0ZWdyYXk6IiM3Nzg4OTkiLGxpZ2h0c2xhdGVncmV5OiIjNzc4ODk5IixsaWdodHN0ZWVsYmx1ZToiI2IwYzRkZSIsbGlnaHR5ZWxsb3c6IiNmZmZmZTAiLGxpbWU6IiMwMGZmMDAiLGxpbWVncmVlbjoiIzMyY2QzMiIsbGluZW46IiNmYWYwZTYiLG1hZ2VudGE6IiNmZjAwZmYiLG1hcm9vbjoiIzgwMDAwMCIsbWVkaXVtYXF1YW1hcmluZToiIzY2Y2RhYSIsbWVkaXVtYmx1ZToiIzAwMDBjZCIsbWVkaXVtb3JjaGlkOiIjYmE1NWQzIixtZWRpdW1wdXJwbGU6IiM5MzcwZGIiLG1lZGl1bXNlYWdyZWVuOiIjM2NiMzcxIixtZWRpdW1zbGF0ZWJsdWU6IiM3YjY4ZWUiLG1lZGl1bXNwcmluZ2dyZWVuOiIjMDBmYTlhIixtZWRpdW10dXJxdW9pc2U6IiM0OGQxY2MiLG1lZGl1bXZpb2xldHJlZDoiI2M3MTU4NSIsbWlkbmlnaHRibHVlOiIjMTkxOTcwIixtaW50Y3JlYW06IiNmNWZmZmEiLG1pc3R5cm9zZToiI2ZmZTRlMSIsbW9jY2FzaW46IiNmZmU0YjUiLG5hdmFqb3doaXRlOiIjZmZkZWFkIixuYXZ5OiIjMDAwMDgwIixvbGRsYWNlOiIjZmRmNWU2IixvbGl2ZToiIzgwODAwMCIsb2xpdmVkcmFiOiIjNmI4ZTIzIixvcmFuZ2U6IiNmZmE1MDAiLG9yYW5nZXJlZDoiI2ZmNDUwMCIsb3JjaGlkOiIjZGE3MGQ2IixwYWxlZ29sZGVucm9kOiIjZWVlOGFhIixwYWxlZ3JlZW46IiM5OGZiOTgiLHBhbGV0dXJxdW9pc2U6IiNhZmVlZWUiLHBhbGV2aW9sZXRyZWQ6IiNkYjcwOTMiLHBhcGF5YXdoaXA6IiNmZmVmZDUiLHBlYWNocHVmZjoiI2ZmZGFiOSIscGVydToiI2NkODUzZiIscGluazoiI2ZmYzBjYiIscGx1bToiI2RkYTBkZCIscG93ZGVyYmx1ZToiI2IwZTBlNiIscHVycGxlOiIjODAwMDgwIixyZWJlY2NhcHVycGxlOiIjNjYzMzk5IixyZWQ6IiNmZjAwMDAiLHJvc3licm93bjoiI2JjOGY4ZiIscm95YWxibHVlOiIjNDE2OWUxIixzYWRkbGVicm93bjoiIzhiNDUxMyIsc2FsbW9uOiIjZmE4MDcyIixzYW5keWJyb3duOiIjZjRhNDYwIixzZWFncmVlbjoiIzJlOGI1NyIsc2Vhc2hlbGw6IiNmZmY1ZWUiLHNpZW5uYToiI2EwNTIyZCIsc2lsdmVyOiIjYzBjMGMwIixza3libHVlOiIjODdjZWViIixzbGF0ZWJsdWU6IiM2YTVhY2QiLHNsYXRlZ3JheToiIzcwODA5MCIsc2xhdGVncmV5OiIjNzA4MDkwIixzbm93OiIjZmZmYWZhIixzcHJpbmdncmVlbjoiIzAwZmY3ZiIsc3RlZWxibHVlOiIjNDY4MmI0Iix0YW46IiNkMmI0OGMiLHRlYWw6IiMwMDgwODAiLHRoaXN0bGU6IiNkOGJmZDgiLHRvbWF0bzoiI2ZmNjM0NyIsdHVycXVvaXNlOiIjNDBlMGQwIix2aW9sZXQ6IiNlZTgyZWUiLHdoZWF0OiIjZjVkZWIzIix3aGl0ZToiI2ZmZmZmZiIsd2hpdGVzbW9rZToiI2Y1ZjVmNSIseWVsbG93OiIjZmZmZjAwIix5ZWxsb3dncmVlbjoiIzlhY2QzMiIsdHJhbnNwYXJlbnQ6IiMwMDAwMDAwMCJ9O2Z1bmN0aW9uIHkodCl7dD10fHwiIzAwMDAwMCI7dmFyIGU9bnVsbDtpZihudWxsIT0oZT0vXiMoWzAtOXxBLUZ8YS1mXXs2fSkkLy5leGVjKHQpKSl7dmFyIG49cGFyc2VJbnQoZVsxXS5zbGljZSgwLDIpLDE2KSxyPXBhcnNlSW50KGVbMV0uc2xpY2UoMiw0KSwxNiksYT1wYXJzZUludChlWzFdLnNsaWNlKDQpLDE2KTtyZXR1cm5bbixyLGEsMjU1XX1pZihudWxsIT0oZT0vXiMoWzAtOXxBLUZ8YS1mXXszfSkkLy5leGVjKHQpKSl7dmFyIHM9ZVsxXS5zbGljZSgwLDEpLGM9ZVsxXS5zbGljZSgxLDIpLHU9ZVsxXS5zbGljZSgyLDMpO3JldHVybiBzPXBhcnNlSW50KHMrcywxNiksYz1wYXJzZUludChjK2MsMTYpLHU9cGFyc2VJbnQodSt1LDE2KSxbcyxjLHUsMjU1XX1pZihudWxsIT0oZT0vXnJnYlwoKC4rKVwpJC8uZXhlYyh0KSkpcmV0dXJuIGVbMV0uc3BsaXQoIiwiKS5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiBNYXRoLm1pbigyNTUscGFyc2VJbnQodC50cmltKCkpKX0pKS5jb25jYXQoMjU1KTtpZihudWxsIT0oZT0vXnJnYmFcKCguKylcKSQvLmV4ZWModCkpKXJldHVybiBlWzFdLnNwbGl0KCIsIikubWFwKChmdW5jdGlvbih0LGUpe3JldHVybiAzPT09ZT9NYXRoLmZsb29yKDI1NSpwYXJzZUZsb2F0KHQudHJpbSgpKSk6TWF0aC5taW4oMjU1LHBhcnNlSW50KHQudHJpbSgpKSl9KSk7dmFyIGw9dC50b0xvd2VyQ2FzZSgpO2lmKE9iamVjdChvWyJpIl0pKGIsbCkpe2U9L14jKFswLTl8QS1GfGEtZl17Niw4fSkkLy5leGVjKGJbbF0pO3ZhciBmPXBhcnNlSW50KGVbMV0uc2xpY2UoMCwyKSwxNiksZD1wYXJzZUludChlWzFdLnNsaWNlKDIsNCksMTYpLGg9cGFyc2VJbnQoZVsxXS5zbGljZSg0LDYpLDE2KSxwPXBhcnNlSW50KGVbMV0uc2xpY2UoNiw4KSwxNik7cmV0dXJuIHA9cD49MD9wOjI1NSxbZixkLGgscF19cmV0dXJuIGkuZXJyb3IoInVuc3VwcG9ydGVkIGNvbG9yOiIrdCksWzAsMCwwLDI1NV19ZnVuY3Rpb24gXyh0LGUpe3RoaXMudHlwZT0icGF0dGVybiIsdGhpcy5kYXRhPXQsdGhpcy5jb2xvclN0b3A9ZX12YXIgdz1mdW5jdGlvbigpe2Z1bmN0aW9uIHQoZSxuKXtoKHRoaXMsdCksdGhpcy50eXBlPWUsdGhpcy5kYXRhPW4sdGhpcy5jb2xvclN0b3A9W119cmV0dXJuIHYodCxbe2tleToiYWRkQ29sb3JTdG9wIix2YWx1ZTpmdW5jdGlvbih0LGUpe3RoaXMuY29sb3JTdG9wLnB1c2goW3QseShlKV0pfX1dKSx0fSgpO2Z1bmN0aW9uIHgodCl7dGhpcy53aWR0aD10fXZhciBTPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdChlLG4pe2godGhpcyx0KSx0aGlzLmlkPWUsdGhpcy5wYWdlSWQ9bix0aGlzLmFjdGlvbnM9W10sdGhpcy5wYXRoPVtdLHRoaXMuc3VicGF0aD1bXSx0aGlzLmN1cnJlbnRUcmFuc2Zvcm09W10sdGhpcy5jdXJyZW50U3RlcEFuaW1hdGVzPVtdLHRoaXMuZHJhd2luZ1N0YXRlPVtdLHRoaXMuc3RhdGU9e2xpbmVEYXNoOlswLDBdLHNoYWRvd09mZnNldFg6MCxzaGFkb3dPZmZzZXRZOjAsc2hhZG93Qmx1cjowLHNoYWRvd0NvbG9yOlswLDAsMCwwXSxmb250OiIxMHB4IHNhbnMtc2VyaWYiLGZvbnRTaXplOjEwLGZvbnRXZWlnaHQ6Im5vcm1hbCIsZm9udFN0eWxlOiJub3JtYWwiLGZvbnRGYW1pbHk6InNhbnMtc2VyaWYifX1yZXR1cm4gdih0LFt7a2V5OiJkcmF3Iix2YWx1ZTpmdW5jdGlvbigpe3ZhciB0LGU9YXJndW1lbnRzLmxlbmd0aD4wJiZ2b2lkIDAhPT1hcmd1bWVudHNbMF0mJmFyZ3VtZW50c1swXSxuPWFyZ3VtZW50cy5sZW5ndGg+MT9hcmd1bWVudHNbMV06dm9pZCAwLHI9Zih0aGlzLmFjdGlvbnMpO3RoaXMuYWN0aW9ucz1bXSx0aGlzLnBhdGg9W10sImZ1bmN0aW9uIj09PXR5cGVvZiBuJiYodD1nLnB1c2gobikpLG0odGhpcy5pZCx0aGlzLnBhZ2VJZCwiYWN0aW9uc0NoYW5nZWQiLHthY3Rpb25zOnIscmVzZXJ2ZTplLGNhbGxiYWNrSWQ6dH0pfX0se2tleToiY3JlYXRlTGluZWFyR3JhZGllbnQiLHZhbHVlOmZ1bmN0aW9uKHQsZSxuLHIpe3JldHVybiBuZXcgdygibGluZWFyIixbdCxlLG4scl0pfX0se2tleToiY3JlYXRlQ2lyY3VsYXJHcmFkaWVudCIsdmFsdWU6ZnVuY3Rpb24odCxlLG4pe3JldHVybiBuZXcgdygicmFkaWFsIixbdCxlLG5dKX19LHtrZXk6ImNyZWF0ZVBhdHRlcm4iLHZhbHVlOmZ1bmN0aW9uKHQsZSl7aWYodm9pZCAwPT09ZSlpLmVycm9yKCJGYWlsZWQgdG8gZXhlY3V0ZSAnY3JlYXRlUGF0dGVybicgb24gJ0NhbnZhc0NvbnRleHQnOiAyIGFyZ3VtZW50cyByZXF1aXJlZCwgYnV0IG9ubHkgMSBwcmVzZW50LiIpO2Vsc2V7aWYoIShbInJlcGVhdCIsInJlcGVhdC14IiwicmVwZWF0LXkiLCJuby1yZXBlYXQiXS5pbmRleE9mKGUpPDApKXJldHVybiBuZXcgXyh0LGUpO2kuZXJyb3IoIkZhaWxlZCB0byBleGVjdXRlICdjcmVhdGVQYXR0ZXJuJyBvbiAnQ2FudmFzQ29udGV4dCc6IFRoZSBwcm92aWRlZCB0eXBlICgnIitlKyInKSBpcyBub3Qgb25lIG9mICdyZXBlYXQnLCAnbm8tcmVwZWF0JywgJ3JlcGVhdC14Jywgb3IgJ3JlcGVhdC15Jy4iKX19fSx7a2V5OiJtZWFzdXJlVGV4dCIsdmFsdWU6ZnVuY3Rpb24odCl7dmFyIGUsbj10aGlzLnN0YXRlLmZvbnQ7cmV0dXJuIGU9ZnVuY3Rpb24odCxlKXt2YXIgbj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKSxyPW4uZ2V0Q29udGV4dCgiMmQiKTtyZXR1cm4gci5mb250PWUsci5tZWFzdXJlVGV4dCh0KS53aWR0aHx8MH0odCxuKSxuZXcgeChlKX19LHtrZXk6InNhdmUiLHZhbHVlOmZ1bmN0aW9uKCl7dGhpcy5hY3Rpb25zLnB1c2goe21ldGhvZDoic2F2ZSIsZGF0YTpbXX0pLHRoaXMuZHJhd2luZ1N0YXRlLnB1c2godGhpcy5zdGF0ZSl9fSx7a2V5OiJyZXN0b3JlIix2YWx1ZTpmdW5jdGlvbigpe3RoaXMuYWN0aW9ucy5wdXNoKHttZXRob2Q6InJlc3RvcmUiLGRhdGE6W119KSx0aGlzLnN0YXRlPXRoaXMuZHJhd2luZ1N0YXRlLnBvcCgpfHx7bGluZURhc2g6WzAsMF0sc2hhZG93T2Zmc2V0WDowLHNoYWRvd09mZnNldFk6MCxzaGFkb3dCbHVyOjAsc2hhZG93Q29sb3I6WzAsMCwwLDBdLGZvbnQ6IjEwcHggc2Fucy1zZXJpZiIsZm9udFNpemU6MTAsZm9udFdlaWdodDoibm9ybWFsIixmb250U3R5bGU6Im5vcm1hbCIsZm9udEZhbWlseToic2Fucy1zZXJpZiJ9fX0se2tleToiYmVnaW5QYXRoIix2YWx1ZTpmdW5jdGlvbigpe3RoaXMucGF0aD1bXSx0aGlzLnN1YnBhdGg9W10sdGhpcy5wYXRoLnB1c2goe21ldGhvZDoiYmVnaW5QYXRoIixkYXRhOltdfSl9fSx7a2V5OiJtb3ZlVG8iLHZhbHVlOmZ1bmN0aW9uKHQsZSl7dGhpcy5wYXRoLnB1c2goe21ldGhvZDoibW92ZVRvIixkYXRhOlt0LGVdfSksdGhpcy5zdWJwYXRoPVtbdCxlXV19fSx7a2V5OiJsaW5lVG8iLHZhbHVlOmZ1bmN0aW9uKHQsZSl7MD09PXRoaXMucGF0aC5sZW5ndGgmJjA9PT10aGlzLnN1YnBhdGgubGVuZ3RoP3RoaXMucGF0aC5wdXNoKHttZXRob2Q6Im1vdmVUbyIsZGF0YTpbdCxlXX0pOnRoaXMucGF0aC5wdXNoKHttZXRob2Q6ImxpbmVUbyIsZGF0YTpbdCxlXX0pLHRoaXMuc3VicGF0aC5wdXNoKFt0LGVdKX19LHtrZXk6InF1YWRyYXRpY0N1cnZlVG8iLHZhbHVlOmZ1bmN0aW9uKHQsZSxuLHIpe3RoaXMucGF0aC5wdXNoKHttZXRob2Q6InF1YWRyYXRpY0N1cnZlVG8iLGRhdGE6W3QsZSxuLHJdfSksdGhpcy5zdWJwYXRoLnB1c2goW24scl0pfX0se2tleToiYmV6aWVyQ3VydmVUbyIsdmFsdWU6ZnVuY3Rpb24odCxlLG4scixpLG8pe3RoaXMucGF0aC5wdXNoKHttZXRob2Q6ImJlemllckN1cnZlVG8iLGRhdGE6W3QsZSxuLHIsaSxvXX0pLHRoaXMuc3VicGF0aC5wdXNoKFtpLG9dKX19LHtrZXk6ImFyYyIsdmFsdWU6ZnVuY3Rpb24odCxlLG4scixpKXt2YXIgbz1hcmd1bWVudHMubGVuZ3RoPjUmJnZvaWQgMCE9PWFyZ3VtZW50c1s1XSYmYXJndW1lbnRzWzVdO3RoaXMucGF0aC5wdXNoKHttZXRob2Q6ImFyYyIsZGF0YTpbdCxlLG4scixpLG9dfSksdGhpcy5zdWJwYXRoLnB1c2goW3QsZV0pfX0se2tleToicmVjdCIsdmFsdWU6ZnVuY3Rpb24odCxlLG4scil7dGhpcy5wYXRoLnB1c2goe21ldGhvZDoicmVjdCIsZGF0YTpbdCxlLG4scl19KSx0aGlzLnN1YnBhdGg9W1t0LGVdXX19LHtrZXk6ImFyY1RvIix2YWx1ZTpmdW5jdGlvbih0LGUsbixyLGkpe3RoaXMucGF0aC5wdXNoKHttZXRob2Q6ImFyY1RvIixkYXRhOlt0LGUsbixyLGldfSksdGhpcy5zdWJwYXRoLnB1c2goW24scl0pfX0se2tleToiY2xpcCIsdmFsdWU6ZnVuY3Rpb24oKXt0aGlzLmFjdGlvbnMucHVzaCh7bWV0aG9kOiJjbGlwIixkYXRhOmYodGhpcy5wYXRoKX0pfX0se2tleToiY2xvc2VQYXRoIix2YWx1ZTpmdW5jdGlvbigpe3RoaXMucGF0aC5wdXNoKHttZXRob2Q6ImNsb3NlUGF0aCIsZGF0YTpbXX0pLHRoaXMuc3VicGF0aC5sZW5ndGgmJih0aGlzLnN1YnBhdGg9W3RoaXMuc3VicGF0aC5zaGlmdCgpXSl9fSx7a2V5OiJjbGVhckFjdGlvbnMiLHZhbHVlOmZ1bmN0aW9uKCl7dGhpcy5hY3Rpb25zPVtdLHRoaXMucGF0aD1bXSx0aGlzLnN1YnBhdGg9W119fSx7a2V5OiJnZXRBY3Rpb25zIix2YWx1ZTpmdW5jdGlvbigpe3ZhciB0PWYodGhpcy5hY3Rpb25zKTtyZXR1cm4gdGhpcy5jbGVhckFjdGlvbnMoKSx0fX0se2tleToibGluZURhc2hPZmZzZXQiLHNldDpmdW5jdGlvbih0KXt0aGlzLmFjdGlvbnMucHVzaCh7bWV0aG9kOiJzZXRMaW5lRGFzaE9mZnNldCIsZGF0YTpbdF19KX19LHtrZXk6Imdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiIsc2V0OmZ1bmN0aW9uKHQpe3RoaXMuYWN0aW9ucy5wdXNoKHttZXRob2Q6InNldEdsb2JhbENvbXBvc2l0ZU9wZXJhdGlvbiIsZGF0YTpbdF19KX19LHtrZXk6InNoYWRvd0JsdXIiLHNldDpmdW5jdGlvbih0KXt0aGlzLmFjdGlvbnMucHVzaCh7bWV0aG9kOiJzZXRTaGFkb3dCbHVyIixkYXRhOlt0XX0pfX0se2tleToic2hhZG93Q29sb3IiLHNldDpmdW5jdGlvbih0KXt0aGlzLmFjdGlvbnMucHVzaCh7bWV0aG9kOiJzZXRTaGFkb3dDb2xvciIsZGF0YTpbdF19KX19LHtrZXk6InNoYWRvd09mZnNldFgiLHNldDpmdW5jdGlvbih0KXt0aGlzLmFjdGlvbnMucHVzaCh7bWV0aG9kOiJzZXRTaGFkb3dPZmZzZXRYIixkYXRhOlt0XX0pfX0se2tleToic2hhZG93T2Zmc2V0WSIsc2V0OmZ1bmN0aW9uKHQpe3RoaXMuYWN0aW9ucy5wdXNoKHttZXRob2Q6InNldFNoYWRvd09mZnNldFkiLGRhdGE6W3RdfSl9fSx7a2V5OiJmb250IixzZXQ6ZnVuY3Rpb24odCl7dmFyIGU9dGhpczt0aGlzLnN0YXRlLmZvbnQ9dDt2YXIgbj10Lm1hdGNoKC9eKChbXHdcLV0rXHMpKikoXGQrcj9weCkoXC8oXGQrXC4/XGQqKHI/cHgpPykpP1xzKyguKikvKTtpZihuKXt2YXIgcj1uWzFdLnRyaW0oKS5zcGxpdCgvXHMvKSxvPXBhcnNlRmxvYXQoblszXSksYT1uWzddLHM9W107ci5mb3JFYWNoKChmdW5jdGlvbih0LG4pe1siaXRhbGljIiwib2JsaXF1ZSIsIm5vcm1hbCJdLmluZGV4T2YodCk+LTE/KHMucHVzaCh7bWV0aG9kOiJzZXRGb250U3R5bGUiLGRhdGE6W3RdfSksZS5zdGF0ZS5mb250U3R5bGU9dCk6WyJib2xkIiwibm9ybWFsIl0uaW5kZXhPZih0KT4tMT8ocy5wdXNoKHttZXRob2Q6InNldEZvbnRXZWlnaHQiLGRhdGE6W3RdfSksZS5zdGF0ZS5mb250V2VpZ2h0PXQpOjA9PT1uPyhzLnB1c2goe21ldGhvZDoic2V0Rm9udFN0eWxlIixkYXRhOlsibm9ybWFsIl19KSxlLnN0YXRlLmZvbnRTdHlsZT0ibm9ybWFsIik6MT09PW4mJmMoKX0pKSwxPT09ci5sZW5ndGgmJmMoKSxyPXMubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gdC5kYXRhWzBdfSkpLmpvaW4oIiAiKSx0aGlzLnN0YXRlLmZvbnRTaXplPW8sdGhpcy5zdGF0ZS5mb250RmFtaWx5PWEsdGhpcy5hY3Rpb25zLnB1c2goe21ldGhvZDoic2V0Rm9udCIsZGF0YTpbIiIuY29uY2F0KHIsIiAiKS5jb25jYXQobywicHggIikuY29uY2F0KGEpXX0pfWVsc2UgaS53YXJuKCJGYWlsZWQgdG8gc2V0ICdmb250JyBvbiAnQ2FudmFzQ29udGV4dCc6IGludmFsaWQgZm9ybWF0LiIpO2Z1bmN0aW9uIGMoKXtzLnB1c2goe21ldGhvZDoic2V0Rm9udFdlaWdodCIsZGF0YTpbIm5vcm1hbCJdfSksZS5zdGF0ZS5mb250V2VpZ2h0PSJub3JtYWwifX0sZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc3RhdGUuZm9udH19LHtrZXk6ImZpbGxTdHlsZSIsc2V0OmZ1bmN0aW9uKHQpe3RoaXMuc2V0RmlsbFN0eWxlKHQpfX0se2tleToic3Ryb2tlU3R5bGUiLHNldDpmdW5jdGlvbih0KXt0aGlzLnNldFN0cm9rZVN0eWxlKHQpfX0se2tleToiZ2xvYmFsQWxwaGEiLHNldDpmdW5jdGlvbih0KXt0PU1hdGguZmxvb3IoMjU1KnBhcnNlRmxvYXQodCkpLHRoaXMuYWN0aW9ucy5wdXNoKHttZXRob2Q6InNldEdsb2JhbEFscGhhIixkYXRhOlt0XX0pfX0se2tleToidGV4dEFsaWduIixzZXQ6ZnVuY3Rpb24odCl7dGhpcy5hY3Rpb25zLnB1c2goe21ldGhvZDoic2V0VGV4dEFsaWduIixkYXRhOlt0XX0pfX0se2tleToibGluZUNhcCIsc2V0OmZ1bmN0aW9uKHQpe3RoaXMuYWN0aW9ucy5wdXNoKHttZXRob2Q6InNldExpbmVDYXAiLGRhdGE6W3RdfSl9fSx7a2V5OiJsaW5lSm9pbiIsc2V0OmZ1bmN0aW9uKHQpe3RoaXMuYWN0aW9ucy5wdXNoKHttZXRob2Q6InNldExpbmVKb2luIixkYXRhOlt0XX0pfX0se2tleToibGluZVdpZHRoIixzZXQ6ZnVuY3Rpb24odCl7dGhpcy5hY3Rpb25zLnB1c2goe21ldGhvZDoic2V0TGluZVdpZHRoIixkYXRhOlt0XX0pfX0se2tleToibWl0ZXJMaW1pdCIsc2V0OmZ1bmN0aW9uKHQpe3RoaXMuYWN0aW9ucy5wdXNoKHttZXRob2Q6InNldE1pdGVyTGltaXQiLGRhdGE6W3RdfSl9fSx7a2V5OiJ0ZXh0QmFzZWxpbmUiLHNldDpmdW5jdGlvbih0KXt0aGlzLmFjdGlvbnMucHVzaCh7bWV0aG9kOiJzZXRUZXh0QmFzZWxpbmUiLGRhdGE6W3RdfSl9fV0pLHR9KCk7ZnVuY3Rpb24gayhlLG4pe2lmKG4pcmV0dXJuIG5ldyBTKGUsbi4kcGFnZS5pZCk7dmFyIHI9T2JqZWN0KHNbImEiXSkoKTtpZihyKXJldHVybiBuZXcgUyhlLHIpO3QuZW1pdCgib25FcnJvciIsImNyZWF0ZUNhbnZhc0NvbnRleHQ6ZmFpbCIpfWZ1bmN0aW9uIEModCxlKXt2YXIgbj10LmNhbnZhc0lkLHI9dC54LGk9dC55LG89dC53aWR0aCxhPXQuaGVpZ2h0LHU9T2JqZWN0KHNbImEiXSkoKTtpZih1KXt2YXIgbD1nLnB1c2goKGZ1bmN0aW9uKHQpe3ZhciBuPXQuZGF0YTtuJiZuLmxlbmd0aCYmKHQuZGF0YT1uZXcgVWludDhDbGFtcGVkQXJyYXkobikpLE9iamVjdChjWyJhIl0pKGUsdCl9KSk7bShuLHUsImdldEltYWdlRGF0YSIse3g6cix5Omksd2lkdGg6byxoZWlnaHQ6YSxjYWxsYmFja0lkOmx9KX1lbHNlIE9iamVjdChjWyJhIl0pKGUse2Vyck1zZzoiY2FudmFzR2V0SW1hZ2VEYXRhOmZhaWwifSl9ZnVuY3Rpb24gTyh0LGUpe3ZhciBuPXQuY2FudmFzSWQscj10LmRhdGEsaT10Lngsbz10LnksYT10LndpZHRoLHU9dC5oZWlnaHQsbD1PYmplY3Qoc1siYSJdKSgpO2lmKGwpe3ZhciBmPWcucHVzaCgoZnVuY3Rpb24odCl7T2JqZWN0KGNbImEiXSkoZSx0KX0pKTtyPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKHIpLG0obixsLCJwdXRJbWFnZURhdGEiLHtkYXRhOnIseDppLHk6byx3aWR0aDphLGhlaWdodDp1LGNvbXByZXNzZWQ6dm9pZCAwLGNhbGxiYWNrSWQ6Zn0pfWVsc2UgT2JqZWN0KGNbImEiXSkoZSx7ZXJyTXNnOiJjYW52YXNQdXRJbWFnZURhdGE6ZmFpbCJ9KX1mdW5jdGlvbiBUKHQsZSl7dmFyIG49dC54LHI9dm9pZCAwPT09bj8wOm4saT10Lnksbz12b2lkIDA9PT1pPzA6aSxhPXQud2lkdGgsbD10LmhlaWdodCxmPXQuZGVzdFdpZHRoLGQ9dC5kZXN0SGVpZ2h0LGg9dC5jYW52YXNJZCxwPXQuZmlsZVR5cGUsdj10LnF1YWxpdHksYj1PYmplY3Qoc1siYSJdKSgpO2lmKGIpe3ZhciB5PWcucHVzaCgoZnVuY3Rpb24odCl7T2JqZWN0KGNbImEiXSkoZSx0KX0pKSxfPSIiLmNvbmNhdCh1WyJURU1QX1BBVEgiXSwiL2NhbnZhcyIpO20oaCxiLCJ0b1RlbXBGaWxlUGF0aCIse3g6cix5Om8sd2lkdGg6YSxoZWlnaHQ6bCxkZXN0V2lkdGg6ZixkZXN0SGVpZ2h0OmQsZmlsZVR5cGU6cCxxdWFsaXR5OnYsZGlybmFtZTpfLGNhbGxiYWNrSWQ6eX0pfWVsc2UgT2JqZWN0KGNbImEiXSkoZSx7ZXJyTXNnOiJjYW52YXNUb1RlbXBGaWxlUGF0aDpmYWlsIn0pfVtdLmNvbmNhdChbInNjYWxlIiwicm90YXRlIiwidHJhbnNsYXRlIiwic2V0VHJhbnNmb3JtIiwidHJhbnNmb3JtIl0sWyJkcmF3SW1hZ2UiLCJmaWxsVGV4dCIsImZpbGwiLCJzdHJva2UiLCJmaWxsUmVjdCIsInN0cm9rZVJlY3QiLCJjbGVhclJlY3QiLCJzdHJva2VUZXh0Il0pLmZvckVhY2goKGZ1bmN0aW9uKHQpe1MucHJvdG90eXBlW3RdPWZ1bmN0aW9uKHQpe3N3aXRjaCh0KXtjYXNlImZpbGwiOmNhc2Uic3Ryb2tlIjpyZXR1cm4gZnVuY3Rpb24oKXt0aGlzLmFjdGlvbnMucHVzaCh7bWV0aG9kOnQrIlBhdGgiLGRhdGE6Zih0aGlzLnBhdGgpfSl9O2Nhc2UiZmlsbFJlY3QiOnJldHVybiBmdW5jdGlvbih0LGUsbixyKXt0aGlzLmFjdGlvbnMucHVzaCh7bWV0aG9kOiJmaWxsUGF0aCIsZGF0YTpbe21ldGhvZDoicmVjdCIsZGF0YTpbdCxlLG4scl19XX0pfTtjYXNlInN0cm9rZVJlY3QiOnJldHVybiBmdW5jdGlvbih0LGUsbixyKXt0aGlzLmFjdGlvbnMucHVzaCh7bWV0aG9kOiJzdHJva2VQYXRoIixkYXRhOlt7bWV0aG9kOiJyZWN0IixkYXRhOlt0LGUsbixyXX1dfSl9O2Nhc2UiZmlsbFRleHQiOmNhc2Uic3Ryb2tlVGV4dCI6cmV0dXJuIGZ1bmN0aW9uKGUsbixyLGkpe3ZhciBvPVtlLnRvU3RyaW5nKCksbixyXTsibnVtYmVyIj09PXR5cGVvZiBpJiZvLnB1c2goaSksdGhpcy5hY3Rpb25zLnB1c2goe21ldGhvZDp0LGRhdGE6b30pfTtjYXNlImRyYXdJbWFnZSI6cmV0dXJuIGZ1bmN0aW9uKGUsbixyLGksbyxhLHMsYyx1KXt2YXIgbDtmdW5jdGlvbiBmKHQpe3JldHVybiJudW1iZXIiPT09dHlwZW9mIHR9dm9pZCAwPT09dSYmKGE9bixzPXIsYz1pLHU9byxuPXZvaWQgMCxyPXZvaWQgMCxpPXZvaWQgMCxvPXZvaWQgMCksbD1mKG4pJiZmKHIpJiZmKGkpJiZmKG8pP1tlLGEscyxjLHUsbixyLGksb106ZihjKSYmZih1KT9bZSxhLHMsYyx1XTpbZSxhLHNdLHRoaXMuYWN0aW9ucy5wdXNoKHttZXRob2Q6dCxkYXRhOmx9KX07ZGVmYXVsdDpyZXR1cm4gZnVuY3Rpb24oKXtmb3IodmFyIGU9YXJndW1lbnRzLmxlbmd0aCxuPW5ldyBBcnJheShlKSxyPTA7cjxlO3IrKyluW3JdPWFyZ3VtZW50c1tyXTt0aGlzLmFjdGlvbnMucHVzaCh7bWV0aG9kOnQsZGF0YTpufSl9fX0odCl9KSksWyJzZXRGaWxsU3R5bGUiLCJzZXRUZXh0QWxpZ24iLCJzZXRTdHJva2VTdHlsZSIsInNldEdsb2JhbEFscGhhIiwic2V0U2hhZG93Iiwic2V0Rm9udFNpemUiLCJzZXRMaW5lQ2FwIiwic2V0TGluZUpvaW4iLCJzZXRMaW5lV2lkdGgiLCJzZXRNaXRlckxpbWl0Iiwic2V0VGV4dEJhc2VsaW5lIiwic2V0TGluZURhc2giXS5mb3JFYWNoKChmdW5jdGlvbih0KXtTLnByb3RvdHlwZVt0XT1mdW5jdGlvbih0KXtzd2l0Y2godCl7Y2FzZSJzZXRGaWxsU3R5bGUiOmNhc2Uic2V0U3Ryb2tlU3R5bGUiOnJldHVybiBmdW5jdGlvbihlKXsib2JqZWN0IiE9PWwoZSk/dGhpcy5hY3Rpb25zLnB1c2goe21ldGhvZDp0LGRhdGE6WyJub3JtYWwiLHkoZSldfSk6dGhpcy5hY3Rpb25zLnB1c2goe21ldGhvZDp0LGRhdGE6W2UudHlwZSxlLmRhdGEsZS5jb2xvclN0b3BdfSl9O2Nhc2Uic2V0R2xvYmFsQWxwaGEiOnJldHVybiBmdW5jdGlvbihlKXtlPU1hdGguZmxvb3IoMjU1KnBhcnNlRmxvYXQoZSkpLHRoaXMuYWN0aW9ucy5wdXNoKHttZXRob2Q6dCxkYXRhOltlXX0pfTtjYXNlInNldFNoYWRvdyI6cmV0dXJuIGZ1bmN0aW9uKGUsbixyLGkpe2k9eShpKSx0aGlzLmFjdGlvbnMucHVzaCh7bWV0aG9kOnQsZGF0YTpbZSxuLHIsaV19KSx0aGlzLnN0YXRlLnNoYWRvd0JsdXI9cix0aGlzLnN0YXRlLnNoYWRvd0NvbG9yPWksdGhpcy5zdGF0ZS5zaGFkb3dPZmZzZXRYPWUsdGhpcy5zdGF0ZS5zaGFkb3dPZmZzZXRZPW59O2Nhc2Uic2V0TGluZURhc2giOnJldHVybiBmdW5jdGlvbihlLG4pe2U9ZXx8WzAsMF0sbj1ufHwwLHRoaXMuYWN0aW9ucy5wdXNoKHttZXRob2Q6dCxkYXRhOltlLG5dfSksdGhpcy5zdGF0ZS5saW5lRGFzaD1lfTtjYXNlInNldEZvbnRTaXplIjpyZXR1cm4gZnVuY3Rpb24oZSl7dGhpcy5zdGF0ZS5mb250PXRoaXMuc3RhdGUuZm9udC5yZXBsYWNlKC9cZCtcLj9cZCpweC8sZSsicHgiKSx0aGlzLnN0YXRlLmZvbnRTaXplPWUsdGhpcy5hY3Rpb25zLnB1c2goe21ldGhvZDp0LGRhdGE6W2VdfSl9O2RlZmF1bHQ6cmV0dXJuIGZ1bmN0aW9uKCl7Zm9yKHZhciBlPWFyZ3VtZW50cy5sZW5ndGgsbj1uZXcgQXJyYXkoZSkscj0wO3I8ZTtyKyspbltyXT1hcmd1bWVudHNbcl07dGhpcy5hY3Rpb25zLnB1c2goe21ldGhvZDp0LGRhdGE6bn0pfX19KHQpfSkpfS5jYWxsKHRoaXMsbigiMmM5ZiIpLG4oIjQxOGIiKVsiZGVmYXVsdCJdKX0sNjM4MzpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIodCl7dmFyIGU9dC5waG9uZU51bWJlcjtyZXR1cm4gd2luZG93LmxvY2F0aW9uLmhyZWY9InRlbDoiLmNvbmNhdChlKSx7ZXJyTXNnOiJtYWtlUGhvbmVDYWxsOm9rIn19bi5yKGUpLG4uZChlLCJtYWtlUGhvbmVDYWxsIiwoZnVuY3Rpb24oKXtyZXR1cm4gcn0pKX0sIjYzYjEiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5yKGUpO3ZhciByPW4oIjQ3MDUiKSxpPXJbImEiXSxvPShuKCJlYmM1IiksbigiODg0NCIpKSxhPU9iamVjdChvWyJhIl0pKGksKGZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPXQuJGNyZWF0ZUVsZW1lbnQsbj10Ll9zZWxmLl9jfHxlO3JldHVybiBuKCJ1bmktY2FudmFzIix0Ll9nKHthdHRyczp7ImNhbnZhcy1pZCI6dC5jYW52YXNJZCwiZGlzYWJsZS1zY3JvbGwiOnQuZGlzYWJsZVNjcm9sbH19LHQuX2xpc3RlbmVycyksW24oImNhbnZhcyIse3JlZjoiY2FudmFzIixhdHRyczp7d2lkdGg6IjMwMCIsaGVpZ2h0OiIxNTAifX0pLG4oImRpdiIse3N0YXRpY1N0eWxlOntwb3NpdGlvbjoiYWJzb2x1dGUiLHRvcDoiMCIsbGVmdDoiMCIsd2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSIsb3ZlcmZsb3c6ImhpZGRlbiJ9fSxbdC5fdCgiZGVmYXVsdCIpXSwyKSxuKCJ2LXVuaS1yZXNpemUtc2Vuc29yIix7cmVmOiJzZW5zb3IiLG9uOntyZXNpemU6dC5fcmVzaXplfX0pXSwxKX0pLFtdLCExLG51bGwsbnVsbCxudWxsKTtlWyJkZWZhdWx0Il09YS5leHBvcnRzfSwiNjU1ZCI6ZnVuY3Rpb24odCxlLG4pe30sNjU2NDpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO24ucihlKSxmdW5jdGlvbih0KXt2YXIgcjtmdW5jdGlvbiBpKHQpe3I9dH1mdW5jdGlvbiBvKCl7ciYmdC5lbWl0KHIrIi5zdG9wUHVsbERvd25SZWZyZXNoIix7fSxyKTt2YXIgZT1nZXRDdXJyZW50UGFnZXMoKTtyZXR1cm4gZS5sZW5ndGgmJihyPWVbZS5sZW5ndGgtMV0uJHBhZ2UuaWQsdC5lbWl0KHIrIi5zdGFydFB1bGxEb3duUmVmcmVzaCIse30scikpLHt9fWZ1bmN0aW9uIGEoKXtpZihyKXQuZW1pdChyKyIuc3RvcFB1bGxEb3duUmVmcmVzaCIse30scikscj1udWxsO2Vsc2V7dmFyIGU9Z2V0Q3VycmVudFBhZ2VzKCk7ZS5sZW5ndGgmJihyPWVbZS5sZW5ndGgtMV0uJHBhZ2UuaWQsdC5lbWl0KHIrIi5zdG9wUHVsbERvd25SZWZyZXNoIix7fSxyKSl9cmV0dXJue319bi5kKGUsInNldFB1bGxEb3duUmVmcmVzaFBhZ2VJZCIsKGZ1bmN0aW9uKCl7cmV0dXJuIGl9KSksbi5kKGUsInN0YXJ0UHVsbERvd25SZWZyZXNoIiwoZnVuY3Rpb24oKXtyZXR1cm4gb30pKSxuLmQoZSwic3RvcFB1bGxEb3duUmVmcmVzaCIsKGZ1bmN0aW9uKCl7cmV0dXJuIGF9KSl9LmNhbGwodGhpcyxuKCIyYzlmIikpfSwiNjVjZCI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtuLnIoZSksZnVuY3Rpb24odCl7bi5kKGUsInNob3dNb2RhbCIsKGZ1bmN0aW9uKCl7cmV0dXJuIGF9KSksbi5kKGUsInNob3dUb2FzdCIsKGZ1bmN0aW9uKCl7cmV0dXJuIHN9KSksbi5kKGUsImhpZGVUb2FzdCIsKGZ1bmN0aW9uKCl7cmV0dXJuIGN9KSksbi5kKGUsInNob3dMb2FkaW5nIiwoZnVuY3Rpb24oKXtyZXR1cm4gdX0pKSxuLmQoZSwiaGlkZUxvYWRpbmciLChmdW5jdGlvbigpe3JldHVybiBsfSkpLG4uZChlLCJzaG93QWN0aW9uU2hlZXQiLChmdW5jdGlvbigpe3JldHVybiBmfSkpO3ZhciByPXQsaT1yLmVtaXQsbz1yLmludm9rZUNhbGxiYWNrSGFuZGxlcjtmdW5jdGlvbiBhKHQsZSl7aSgib25TaG93TW9kYWwiLHQsKGZ1bmN0aW9uKHQpe28oZSx0KX0pKX1mdW5jdGlvbiBzKHQpe3JldHVybiBpKCJvblNob3dUb2FzdCIsdCkse319ZnVuY3Rpb24gYygpe3JldHVybiBpKCJvbkhpZGVUb2FzdCIpLHt9fWZ1bmN0aW9uIHUodCl7cmV0dXJuIGkoIm9uU2hvd0xvYWRpbmciLHQpLHt9fWZ1bmN0aW9uIGwoKXtyZXR1cm4gaSgib25IaWRlTG9hZGluZyIpLHt9fWZ1bmN0aW9uIGYodCxlKXtpKCJvblNob3dBY3Rpb25TaGVldCIsdCwoZnVuY3Rpb24odCl7byhlLC0xPT09dD97ZXJyTXNnOiJzaG93QWN0aW9uU2hlZXQ6ZmFpbCBjYW5jZWwifTp7dGFwSW5kZXg6dH0pfSkpfX0uY2FsbCh0aGlzLG4oIjJjOWYiKSl9LCI2NWNlIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO24ucihlKTt2YXIgcj1uKCIzOWJkIik7ZnVuY3Rpb24gaSh0LGUsbil7cmV0dXJuIHQ+ZS1uJiZ0PGUrbn1mdW5jdGlvbiBvKHQsZSl7cmV0dXJuIGkodCwwLGUpfWZ1bmN0aW9uIGEoKXt9ZnVuY3Rpb24gcyh0LGUpe3RoaXMuX209dCx0aGlzLl9mPTFlMyplLHRoaXMuX3N0YXJ0VGltZT0wLHRoaXMuX3Y9MH1mdW5jdGlvbiBjKHQsZSxuKXt0aGlzLl9tPXQsdGhpcy5faz1lLHRoaXMuX2M9bix0aGlzLl9zb2x1dGlvbj1udWxsLHRoaXMuX2VuZFBvc2l0aW9uPTAsdGhpcy5fc3RhcnRUaW1lPTB9ZnVuY3Rpb24gdSh0LGUsbil7dGhpcy5fc3ByaW5nWD1uZXcgYyh0LGUsbiksdGhpcy5fc3ByaW5nWT1uZXcgYyh0LGUsbiksdGhpcy5fc3ByaW5nU2NhbGU9bmV3IGModCxlLG4pLHRoaXMuX3N0YXJ0VGltZT0wfWEucHJvdG90eXBlLng9ZnVuY3Rpb24odCl7cmV0dXJuIE1hdGguc3FydCh0KX0scy5wcm90b3R5cGUuc2V0Vj1mdW5jdGlvbih0LGUpe3ZhciBuPU1hdGgucG93KE1hdGgucG93KHQsMikrTWF0aC5wb3coZSwyKSwuNSk7dGhpcy5feF92PXQsdGhpcy5feV92PWUsdGhpcy5feF9hPS10aGlzLl9mKnRoaXMuX3hfdi9uLHRoaXMuX3lfYT0tdGhpcy5fZip0aGlzLl95X3Yvbix0aGlzLl90PU1hdGguYWJzKHQvdGhpcy5feF9hKXx8TWF0aC5hYnMoZS90aGlzLl95X2EpLHRoaXMuX2xhc3REdD1udWxsLHRoaXMuX3N0YXJ0VGltZT0obmV3IERhdGUpLmdldFRpbWUoKX0scy5wcm90b3R5cGUuc2V0Uz1mdW5jdGlvbih0LGUpe3RoaXMuX3hfcz10LHRoaXMuX3lfcz1lfSxzLnByb3RvdHlwZS5zPWZ1bmN0aW9uKHQpe3ZvaWQgMD09PXQmJih0PSgobmV3IERhdGUpLmdldFRpbWUoKS10aGlzLl9zdGFydFRpbWUpLzFlMyksdD50aGlzLl90JiYodD10aGlzLl90LHRoaXMuX2xhc3REdD10KTt2YXIgZT10aGlzLl94X3YqdCsuNSp0aGlzLl94X2EqTWF0aC5wb3codCwyKSt0aGlzLl94X3Msbj10aGlzLl95X3YqdCsuNSp0aGlzLl95X2EqTWF0aC5wb3codCwyKSt0aGlzLl95X3M7cmV0dXJuKHRoaXMuX3hfYT4wJiZlPHRoaXMuX2VuZFBvc2l0aW9uWHx8dGhpcy5feF9hPDAmJmU+dGhpcy5fZW5kUG9zaXRpb25YKSYmKGU9dGhpcy5fZW5kUG9zaXRpb25YKSwodGhpcy5feV9hPjAmJm48dGhpcy5fZW5kUG9zaXRpb25ZfHx0aGlzLl95X2E8MCYmbj50aGlzLl9lbmRQb3NpdGlvblkpJiYobj10aGlzLl9lbmRQb3NpdGlvblkpLHt4OmUseTpufX0scy5wcm90b3R5cGUuZHM9ZnVuY3Rpb24odCl7cmV0dXJuIHZvaWQgMD09PXQmJih0PSgobmV3IERhdGUpLmdldFRpbWUoKS10aGlzLl9zdGFydFRpbWUpLzFlMyksdD50aGlzLl90JiYodD10aGlzLl90KSx7ZHg6dGhpcy5feF92K3RoaXMuX3hfYSp0LGR5OnRoaXMuX3lfdit0aGlzLl95X2EqdH19LHMucHJvdG90eXBlLmRlbHRhPWZ1bmN0aW9uKCl7cmV0dXJue3g6LTEuNSpNYXRoLnBvdyh0aGlzLl94X3YsMikvdGhpcy5feF9hfHwwLHk6LTEuNSpNYXRoLnBvdyh0aGlzLl95X3YsMikvdGhpcy5feV9hfHwwfX0scy5wcm90b3R5cGUuZHQ9ZnVuY3Rpb24oKXtyZXR1cm4tdGhpcy5feF92L3RoaXMuX3hfYX0scy5wcm90b3R5cGUuZG9uZT1mdW5jdGlvbigpe3ZhciB0PWkodGhpcy5zKCkueCx0aGlzLl9lbmRQb3NpdGlvblgpfHxpKHRoaXMucygpLnksdGhpcy5fZW5kUG9zaXRpb25ZKXx8dGhpcy5fbGFzdER0PT09dGhpcy5fdDtyZXR1cm4gdGhpcy5fbGFzdER0PW51bGwsdH0scy5wcm90b3R5cGUuc2V0RW5kPWZ1bmN0aW9uKHQsZSl7dGhpcy5fZW5kUG9zaXRpb25YPXQsdGhpcy5fZW5kUG9zaXRpb25ZPWV9LHMucHJvdG90eXBlLnJlY29uZmlndXJlPWZ1bmN0aW9uKHQsZSl7dGhpcy5fbT10LHRoaXMuX2Y9MWUzKmV9LGMucHJvdG90eXBlLl9zb2x2ZT1mdW5jdGlvbih0LGUpe3ZhciBuPXRoaXMuX2Mscj10aGlzLl9tLGk9dGhpcy5fayxvPW4qbi00KnIqaTtpZigwPT09byl7dmFyIGE9LW4vKDIqcikscz10LGM9ZS8oYSp0KTtyZXR1cm57eDpmdW5jdGlvbih0KXtyZXR1cm4ocytjKnQpKk1hdGgucG93KE1hdGguRSxhKnQpfSxkeDpmdW5jdGlvbih0KXt2YXIgZT1NYXRoLnBvdyhNYXRoLkUsYSp0KTtyZXR1cm4gYSoocytjKnQpKmUrYyplfX19aWYobz4wKXt2YXIgdT0oLW4tTWF0aC5zcXJ0KG8pKS8oMipyKSxsPSgtbitNYXRoLnNxcnQobykpLygyKnIpLGY9KGUtdSp0KS8obC11KSxkPXQtZjtyZXR1cm57eDpmdW5jdGlvbih0KXt2YXIgZSxuO3JldHVybiB0PT09dGhpcy5fdCYmKGU9dGhpcy5fcG93RVIxVCxuPXRoaXMuX3Bvd0VSMlQpLHRoaXMuX3Q9dCxlfHwoZT10aGlzLl9wb3dFUjFUPU1hdGgucG93KE1hdGguRSx1KnQpKSxufHwobj10aGlzLl9wb3dFUjJUPU1hdGgucG93KE1hdGguRSxsKnQpKSxkKmUrZipufSxkeDpmdW5jdGlvbih0KXt2YXIgZSxuO3JldHVybiB0PT09dGhpcy5fdCYmKGU9dGhpcy5fcG93RVIxVCxuPXRoaXMuX3Bvd0VSMlQpLHRoaXMuX3Q9dCxlfHwoZT10aGlzLl9wb3dFUjFUPU1hdGgucG93KE1hdGguRSx1KnQpKSxufHwobj10aGlzLl9wb3dFUjJUPU1hdGgucG93KE1hdGguRSxsKnQpKSxkKnUqZStmKmwqbn19fXZhciBoPU1hdGguc3FydCg0KnIqaS1uKm4pLygyKnIpLHA9LW4vMipyLHY9dCxnPShlLXAqdCkvaDtyZXR1cm57eDpmdW5jdGlvbih0KXtyZXR1cm4gTWF0aC5wb3coTWF0aC5FLHAqdCkqKHYqTWF0aC5jb3MoaCp0KStnKk1hdGguc2luKGgqdCkpfSxkeDpmdW5jdGlvbih0KXt2YXIgZT1NYXRoLnBvdyhNYXRoLkUscCp0KSxuPU1hdGguY29zKGgqdCkscj1NYXRoLnNpbihoKnQpO3JldHVybiBlKihnKmgqbi12KmgqcikrcCplKihnKnIrdipuKX19fSxjLnByb3RvdHlwZS54PWZ1bmN0aW9uKHQpe3JldHVybiB2b2lkIDA9PT10JiYodD0oKG5ldyBEYXRlKS5nZXRUaW1lKCktdGhpcy5fc3RhcnRUaW1lKS8xZTMpLHRoaXMuX3NvbHV0aW9uP3RoaXMuX2VuZFBvc2l0aW9uK3RoaXMuX3NvbHV0aW9uLngodCk6MH0sYy5wcm90b3R5cGUuZHg9ZnVuY3Rpb24odCl7cmV0dXJuIHZvaWQgMD09PXQmJih0PSgobmV3IERhdGUpLmdldFRpbWUoKS10aGlzLl9zdGFydFRpbWUpLzFlMyksdGhpcy5fc29sdXRpb24/dGhpcy5fc29sdXRpb24uZHgodCk6MH0sYy5wcm90b3R5cGUuc2V0RW5kPWZ1bmN0aW9uKHQsZSxuKXtpZihufHwobj0obmV3IERhdGUpLmdldFRpbWUoKSksdCE9PXRoaXMuX2VuZFBvc2l0aW9ufHwhbyhlLC4xKSl7ZT1lfHwwO3ZhciByPXRoaXMuX2VuZFBvc2l0aW9uO3RoaXMuX3NvbHV0aW9uJiYobyhlLC4xKSYmKGU9dGhpcy5fc29sdXRpb24uZHgoKG4tdGhpcy5fc3RhcnRUaW1lKS8xZTMpKSxyPXRoaXMuX3NvbHV0aW9uLngoKG4tdGhpcy5fc3RhcnRUaW1lKS8xZTMpLG8oZSwuMSkmJihlPTApLG8ociwuMSkmJihyPTApLHIrPXRoaXMuX2VuZFBvc2l0aW9uKSx0aGlzLl9zb2x1dGlvbiYmbyhyLXQsLjEpJiZvKGUsLjEpfHwodGhpcy5fZW5kUG9zaXRpb249dCx0aGlzLl9zb2x1dGlvbj10aGlzLl9zb2x2ZShyLXRoaXMuX2VuZFBvc2l0aW9uLGUpLHRoaXMuX3N0YXJ0VGltZT1uKX19LGMucHJvdG90eXBlLnNuYXA9ZnVuY3Rpb24odCl7dGhpcy5fc3RhcnRUaW1lPShuZXcgRGF0ZSkuZ2V0VGltZSgpLHRoaXMuX2VuZFBvc2l0aW9uPXQsdGhpcy5fc29sdXRpb249e3g6ZnVuY3Rpb24oKXtyZXR1cm4gMH0sZHg6ZnVuY3Rpb24oKXtyZXR1cm4gMH19fSxjLnByb3RvdHlwZS5kb25lPWZ1bmN0aW9uKHQpe3JldHVybiB0fHwodD0obmV3IERhdGUpLmdldFRpbWUoKSksaSh0aGlzLngoKSx0aGlzLl9lbmRQb3NpdGlvbiwuMSkmJm8odGhpcy5keCgpLC4xKX0sYy5wcm90b3R5cGUucmVjb25maWd1cmU9ZnVuY3Rpb24odCxlLG4pe3RoaXMuX209dCx0aGlzLl9rPWUsdGhpcy5fYz1uLHRoaXMuZG9uZSgpfHwodGhpcy5fc29sdXRpb249dGhpcy5fc29sdmUodGhpcy54KCktdGhpcy5fZW5kUG9zaXRpb24sdGhpcy5keCgpKSx0aGlzLl9zdGFydFRpbWU9KG5ldyBEYXRlKS5nZXRUaW1lKCkpfSxjLnByb3RvdHlwZS5zcHJpbmdDb25zdGFudD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9rfSxjLnByb3RvdHlwZS5kYW1waW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2N9LGMucHJvdG90eXBlLmNvbmZpZ3VyYXRpb249ZnVuY3Rpb24oKXtyZXR1cm5be2xhYmVsOiJTcHJpbmcgQ29uc3RhbnQiLHJlYWQ6dGhpcy5zcHJpbmdDb25zdGFudC5iaW5kKHRoaXMpLHdyaXRlOmZ1bmN0aW9uKHQsZSl7dC5yZWNvbmZpZ3VyZSgxLGUsdC5kYW1waW5nKCkpfS5iaW5kKHRoaXMsdGhpcyksbWluOjEwMCxtYXg6MWUzfSx7bGFiZWw6IkRhbXBpbmciLHJlYWQ6dGhpcy5kYW1waW5nLmJpbmQodGhpcyksd3JpdGU6ZnVuY3Rpb24odCxlKXt0LnJlY29uZmlndXJlKDEsdC5zcHJpbmdDb25zdGFudCgpLGUpfS5iaW5kKHRoaXMsdGhpcyksbWluOjEsbWF4OjUwMH1dfSx1LnByb3RvdHlwZS5zZXRFbmQ9ZnVuY3Rpb24odCxlLG4scil7dmFyIGk9KG5ldyBEYXRlKS5nZXRUaW1lKCk7dGhpcy5fc3ByaW5nWC5zZXRFbmQodCxyLGkpLHRoaXMuX3NwcmluZ1kuc2V0RW5kKGUscixpKSx0aGlzLl9zcHJpbmdTY2FsZS5zZXRFbmQobixyLGkpLHRoaXMuX3N0YXJ0VGltZT1pfSx1LnByb3RvdHlwZS54PWZ1bmN0aW9uKCl7dmFyIHQ9KChuZXcgRGF0ZSkuZ2V0VGltZSgpLXRoaXMuX3N0YXJ0VGltZSkvMWUzO3JldHVybnt4OnRoaXMuX3NwcmluZ1gueCh0KSx5OnRoaXMuX3NwcmluZ1kueCh0KSxzY2FsZTp0aGlzLl9zcHJpbmdTY2FsZS54KHQpfX0sdS5wcm90b3R5cGUuZG9uZT1mdW5jdGlvbigpe3ZhciB0PShuZXcgRGF0ZSkuZ2V0VGltZSgpO3JldHVybiB0aGlzLl9zcHJpbmdYLmRvbmUodCkmJnRoaXMuX3NwcmluZ1kuZG9uZSh0KSYmdGhpcy5fc3ByaW5nU2NhbGUuZG9uZSh0KX0sdS5wcm90b3R5cGUucmVjb25maWd1cmU9ZnVuY3Rpb24odCxlLG4pe3RoaXMuX3NwcmluZ1gucmVjb25maWd1cmUodCxlLG4pLHRoaXMuX3NwcmluZ1kucmVjb25maWd1cmUodCxlLG4pLHRoaXMuX3NwcmluZ1NjYWxlLnJlY29uZmlndXJlKHQsZSxuKX07dmFyIGw9bigiNmY3NSIpLGY9ITE7ZnVuY3Rpb24gZCh0KXtmfHwoZj0hMCxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKGZ1bmN0aW9uKCl7dCgpLGY9ITF9KSkpfWZ1bmN0aW9uIGgodCxlKXtyZXR1cm4rKCgxZTMqdC0xZTMqZSkvMWUzKS50b0ZpeGVkKDEpfWZ1bmN0aW9uIHAodCxlLG4pe3ZhciByPXtpZDowLGNhbmNlbGxlZDohMX07cmV0dXJuIGZ1bmN0aW9uIGUobixyLGksbyl7aWYoIW58fCFuLmNhbmNlbGxlZCl7aShyKTt2YXIgYT10LmRvbmUoKTthfHxuLmNhbmNlbGxlZHx8KG4uaWQ9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKGUuYmluZChudWxsLG4scixpLG8pKSksYSYmbyYmbyhyKX19KHIsdCxlLG4pLHtjYW5jZWw6ZnVuY3Rpb24odCl7dCYmdC5pZCYmY2FuY2VsQW5pbWF0aW9uRnJhbWUodC5pZCksdCYmKHQuY2FuY2VsbGVkPSEwKX0uYmluZChudWxsLHIpLG1vZGVsOnR9fXZhciB2PXtuYW1lOiJNb3ZhYmxlVmlldyIsbWl4aW5zOltyWyJhIl1dLHByb3BzOntkaXJlY3Rpb246e3R5cGU6U3RyaW5nLGRlZmF1bHQ6Im5vbmUifSxpbmVydGlhOnt0eXBlOltCb29sZWFuLFN0cmluZ10sZGVmYXVsdDohMX0sb3V0T2ZCb3VuZHM6e3R5cGU6W0Jvb2xlYW4sU3RyaW5nXSxkZWZhdWx0OiExfSx4Ont0eXBlOltOdW1iZXIsU3RyaW5nXSxkZWZhdWx0OjB9LHk6e3R5cGU6W051bWJlcixTdHJpbmddLGRlZmF1bHQ6MH0sZGFtcGluZzp7dHlwZTpbTnVtYmVyLFN0cmluZ10sZGVmYXVsdDoyMH0sZnJpY3Rpb246e3R5cGU6W051bWJlcixTdHJpbmddLGRlZmF1bHQ6Mn0sZGlzYWJsZWQ6e3R5cGU6W0Jvb2xlYW4sU3RyaW5nXSxkZWZhdWx0OiExfSxzY2FsZTp7dHlwZTpbQm9vbGVhbixTdHJpbmddLGRlZmF1bHQ6ITF9LHNjYWxlTWluOnt0eXBlOltOdW1iZXIsU3RyaW5nXSxkZWZhdWx0Oi4xfSxzY2FsZU1heDp7dHlwZTpbTnVtYmVyLFN0cmluZ10sZGVmYXVsdDoxMH0sc2NhbGVWYWx1ZTp7dHlwZTpbTnVtYmVyLFN0cmluZ10sZGVmYXVsdDoxfSxhbmltYXRpb246e3R5cGU6W0Jvb2xlYW4sU3RyaW5nXSxkZWZhdWx0OiEwfX0sZGF0YTpmdW5jdGlvbigpe3JldHVybnt4U3luYzp0aGlzLl9nZXRQeCh0aGlzLngpLHlTeW5jOnRoaXMuX2dldFB4KHRoaXMueSksc2NhbGVWYWx1ZVN5bmM6TnVtYmVyKHRoaXMuc2NhbGVWYWx1ZSl8fDEsd2lkdGg6MCxoZWlnaHQ6MCxtaW5YOjAsbWluWTowLG1heFg6MCxtYXhZOjB9fSxjb21wdXRlZDp7ZGFtcGluZ051bWJlcjpmdW5jdGlvbigpe3ZhciB0PU51bWJlcih0aGlzLmRhbXBpbmcpO3JldHVybiBpc05hTih0KT8yMDp0fSxmcmljdGlvbk51bWJlcjpmdW5jdGlvbigpe3ZhciB0PU51bWJlcih0aGlzLmZyaWN0aW9uKTtyZXR1cm4gaXNOYU4odCl8fHQ8PTA/Mjp0fSxzY2FsZU1pbk51bWJlcjpmdW5jdGlvbigpe3ZhciB0PU51bWJlcih0aGlzLnNjYWxlTWluKTtyZXR1cm4gaXNOYU4odCk/LjE6dH0sc2NhbGVNYXhOdW1iZXI6ZnVuY3Rpb24oKXt2YXIgdD1OdW1iZXIodGhpcy5zY2FsZU1heCk7cmV0dXJuIGlzTmFOKHQpPzEwOnR9LHhNb3ZlOmZ1bmN0aW9uKCl7cmV0dXJuImFsbCI9PT10aGlzLmRpcmVjdGlvbnx8Imhvcml6b250YWwiPT09dGhpcy5kaXJlY3Rpb259LHlNb3ZlOmZ1bmN0aW9uKCl7cmV0dXJuImFsbCI9PT10aGlzLmRpcmVjdGlvbnx8InZlcnRpY2FsIj09PXRoaXMuZGlyZWN0aW9ufX0sd2F0Y2g6e3g6ZnVuY3Rpb24odCl7dGhpcy54U3luYz10aGlzLl9nZXRQeCh0KX0seFN5bmM6ZnVuY3Rpb24odCl7dGhpcy5fc2V0WCh0KX0seTpmdW5jdGlvbih0KXt0aGlzLnlTeW5jPXRoaXMuX2dldFB4KHQpfSx5U3luYzpmdW5jdGlvbih0KXt0aGlzLl9zZXRZKHQpfSxkaXNhYmxlZDpmdW5jdGlvbigpe3RoaXMuX19oYW5kbGVUb3VjaFN0YXJ0KCl9LHNjYWxlVmFsdWU6ZnVuY3Rpb24odCl7dGhpcy5zY2FsZVZhbHVlU3luYz1OdW1iZXIodCl8fDB9LHNjYWxlVmFsdWVTeW5jOmZ1bmN0aW9uKHQpe3RoaXMuX3NldFNjYWxlVmFsdWUodCl9LHNjYWxlTWluTnVtYmVyOmZ1bmN0aW9uKCl7dGhpcy5fc2V0U2NhbGVNaW5Pck1heCgpfSxzY2FsZU1heE51bWJlcjpmdW5jdGlvbigpe3RoaXMuX3NldFNjYWxlTWluT3JNYXgoKX19LGNyZWF0ZWQ6ZnVuY3Rpb24oKXt0aGlzLl9vZmZzZXQ9e3g6MCx5OjB9LHRoaXMuX3NjYWxlT2Zmc2V0PXt4OjAseTowfSx0aGlzLl90cmFuc2xhdGVYPTAsdGhpcy5fdHJhbnNsYXRlWT0wLHRoaXMuX3NjYWxlPTEsdGhpcy5fb2xkU2NhbGU9MSx0aGlzLl9TVEQ9bmV3IHUoMSw5Kk1hdGgucG93KHRoaXMuZGFtcGluZ051bWJlciwyKS80MCx0aGlzLmRhbXBpbmdOdW1iZXIpLHRoaXMuX2ZyaWN0aW9uPW5ldyBzKDEsdGhpcy5mcmljdGlvbk51bWJlciksdGhpcy5fZGVjbGluZVg9bmV3IGEsdGhpcy5fZGVjbGluZVk9bmV3IGEsdGhpcy5fX3RvdWNoSW5mbz17aGlzdG9yeVg6WzAsMF0saGlzdG9yeVk6WzAsMF0saGlzdG9yeVQ6WzAsMF19fSxtb3VudGVkOmZ1bmN0aW9uKCl7dGhpcy50b3VjaHRyYWNrKHRoaXMuJGVsLCJfb25UcmFjayIpLHRoaXMuc2V0UGFyZW50KCksdGhpcy5fZnJpY3Rpb24ucmVjb25maWd1cmUoMSx0aGlzLmZyaWN0aW9uTnVtYmVyKSx0aGlzLl9TVEQucmVjb25maWd1cmUoMSw5Kk1hdGgucG93KHRoaXMuZGFtcGluZ051bWJlciwyKS80MCx0aGlzLmRhbXBpbmdOdW1iZXIpLHRoaXMuJGVsLnN0eWxlLnRyYW5zZm9ybU9yaWdpbj0iY2VudGVyIixPYmplY3QobFsiYiJdKSgpfSxtZXRob2RzOntfZ2V0UHg6ZnVuY3Rpb24odCl7cmV0dXJuL1xkK1t1cl1weCQvaS50ZXN0KHQpP3VuaS51cHgycHgocGFyc2VGbG9hdCh0KSk6TnVtYmVyKHQpfHwwfSxfc2V0WDpmdW5jdGlvbih0KXtpZih0aGlzLnhNb3ZlKXtpZih0K3RoaXMuX3NjYWxlT2Zmc2V0Lng9PT10aGlzLl90cmFuc2xhdGVYKXJldHVybiB0aGlzLl90cmFuc2xhdGVYO3RoaXMuX1NGQSYmdGhpcy5fU0ZBLmNhbmNlbCgpLHRoaXMuX2FuaW1hdGlvblRvKHQrdGhpcy5fc2NhbGVPZmZzZXQueCx0aGlzLnlTeW5jK3RoaXMuX3NjYWxlT2Zmc2V0LnksdGhpcy5fc2NhbGUpfXJldHVybiB0fSxfc2V0WTpmdW5jdGlvbih0KXtpZih0aGlzLnlNb3ZlKXtpZih0K3RoaXMuX3NjYWxlT2Zmc2V0Lnk9PT10aGlzLl90cmFuc2xhdGVZKXJldHVybiB0aGlzLl90cmFuc2xhdGVZO3RoaXMuX1NGQSYmdGhpcy5fU0ZBLmNhbmNlbCgpLHRoaXMuX2FuaW1hdGlvblRvKHRoaXMueFN5bmMrdGhpcy5fc2NhbGVPZmZzZXQueCx0K3RoaXMuX3NjYWxlT2Zmc2V0LnksdGhpcy5fc2NhbGUpfXJldHVybiB0fSxfc2V0U2NhbGVNaW5Pck1heDpmdW5jdGlvbigpe2lmKCF0aGlzLnNjYWxlKXJldHVybiExO3RoaXMuX3VwZGF0ZVNjYWxlKHRoaXMuX3NjYWxlLCEwKSx0aGlzLl91cGRhdGVPbGRTY2FsZSh0aGlzLl9zY2FsZSl9LF9zZXRTY2FsZVZhbHVlOmZ1bmN0aW9uKHQpe3JldHVybiEhdGhpcy5zY2FsZSYmKHQ9dGhpcy5fYWRqdXN0U2NhbGUodCksdGhpcy5fdXBkYXRlU2NhbGUodCwhMCksdGhpcy5fdXBkYXRlT2xkU2NhbGUodCksdCl9LF9faGFuZGxlVG91Y2hTdGFydDpmdW5jdGlvbigpe3RoaXMuX2lzU2NhbGluZ3x8dGhpcy5kaXNhYmxlZHx8KE9iamVjdChsWyJhIl0pKHtkaXNhYmxlOiEwfSksdGhpcy5fRkEmJnRoaXMuX0ZBLmNhbmNlbCgpLHRoaXMuX1NGQSYmdGhpcy5fU0ZBLmNhbmNlbCgpLHRoaXMuX190b3VjaEluZm8uaGlzdG9yeVg9WzAsMF0sdGhpcy5fX3RvdWNoSW5mby5oaXN0b3J5WT1bMCwwXSx0aGlzLl9fdG91Y2hJbmZvLmhpc3RvcnlUPVswLDBdLHRoaXMueE1vdmUmJih0aGlzLl9fYmFzZVg9dGhpcy5fdHJhbnNsYXRlWCksdGhpcy55TW92ZSYmKHRoaXMuX19iYXNlWT10aGlzLl90cmFuc2xhdGVZKSx0aGlzLiRlbC5zdHlsZS53aWxsQ2hhbmdlPSJ0cmFuc2Zvcm0iLHRoaXMuX2NoZWNrQ2FuTW92ZT1udWxsLHRoaXMuX2ZpcnN0TW92ZURpcmVjdGlvbj1udWxsLHRoaXMuX2lzVG91Y2hpbmc9ITApfSxfX2hhbmRsZVRvdWNoTW92ZTpmdW5jdGlvbih0KXt2YXIgZT10aGlzO2lmKCF0aGlzLl9pc1NjYWxpbmcmJiF0aGlzLmRpc2FibGVkJiZ0aGlzLl9pc1RvdWNoaW5nKXt2YXIgbj10aGlzLl90cmFuc2xhdGVYLHI9dGhpcy5fdHJhbnNsYXRlWTtpZihudWxsPT09dGhpcy5fZmlyc3RNb3ZlRGlyZWN0aW9uJiYodGhpcy5fZmlyc3RNb3ZlRGlyZWN0aW9uPU1hdGguYWJzKHQuZGV0YWlsLmR4L3QuZGV0YWlsLmR5KT4xPyJodG91Y2htb3ZlIjoidnRvdWNobW92ZSIpLHRoaXMueE1vdmUmJihuPXQuZGV0YWlsLmR4K3RoaXMuX19iYXNlWCx0aGlzLl9fdG91Y2hJbmZvLmhpc3RvcnlYLnNoaWZ0KCksdGhpcy5fX3RvdWNoSW5mby5oaXN0b3J5WC5wdXNoKG4pLHRoaXMueU1vdmV8fG51bGwhPT10aGlzLl9jaGVja0Nhbk1vdmV8fCh0aGlzLl9jaGVja0Nhbk1vdmU9TWF0aC5hYnModC5kZXRhaWwuZHgvdC5kZXRhaWwuZHkpPDEpKSx0aGlzLnlNb3ZlJiYocj10LmRldGFpbC5keSt0aGlzLl9fYmFzZVksdGhpcy5fX3RvdWNoSW5mby5oaXN0b3J5WS5zaGlmdCgpLHRoaXMuX190b3VjaEluZm8uaGlzdG9yeVkucHVzaChyKSx0aGlzLnhNb3ZlfHxudWxsIT09dGhpcy5fY2hlY2tDYW5Nb3ZlfHwodGhpcy5fY2hlY2tDYW5Nb3ZlPU1hdGguYWJzKHQuZGV0YWlsLmR5L3QuZGV0YWlsLmR4KTwxKSksdGhpcy5fX3RvdWNoSW5mby5oaXN0b3J5VC5zaGlmdCgpLHRoaXMuX190b3VjaEluZm8uaGlzdG9yeVQucHVzaCh0LmRldGFpbC50aW1lU3RhbXApLCF0aGlzLl9jaGVja0Nhbk1vdmUpe3QucHJldmVudERlZmF1bHQoKTt2YXIgaT0idG91Y2giO248dGhpcy5taW5YP3RoaXMub3V0T2ZCb3VuZHM/KGk9InRvdWNoLW91dC1vZi1ib3VuZHMiLG49dGhpcy5taW5YLXRoaXMuX2RlY2xpbmVYLngodGhpcy5taW5YLW4pKTpuPXRoaXMubWluWDpuPnRoaXMubWF4WCYmKHRoaXMub3V0T2ZCb3VuZHM/KGk9InRvdWNoLW91dC1vZi1ib3VuZHMiLG49dGhpcy5tYXhYK3RoaXMuX2RlY2xpbmVYLngobi10aGlzLm1heFgpKTpuPXRoaXMubWF4WCkscjx0aGlzLm1pblk/dGhpcy5vdXRPZkJvdW5kcz8oaT0idG91Y2gtb3V0LW9mLWJvdW5kcyIscj10aGlzLm1pblktdGhpcy5fZGVjbGluZVkueCh0aGlzLm1pblktcikpOnI9dGhpcy5taW5ZOnI+dGhpcy5tYXhZJiYodGhpcy5vdXRPZkJvdW5kcz8oaT0idG91Y2gtb3V0LW9mLWJvdW5kcyIscj10aGlzLm1heFkrdGhpcy5fZGVjbGluZVkueChyLXRoaXMubWF4WSkpOnI9dGhpcy5tYXhZKSxkKChmdW5jdGlvbigpe2UuX3NldFRyYW5zZm9ybShuLHIsZS5fc2NhbGUsaSl9KSl9fX0sX19oYW5kbGVUb3VjaEVuZDpmdW5jdGlvbigpe3ZhciB0PXRoaXM7aWYoIXRoaXMuX2lzU2NhbGluZyYmIXRoaXMuZGlzYWJsZWQmJnRoaXMuX2lzVG91Y2hpbmcmJihPYmplY3QobFsiYSJdKSh7ZGlzYWJsZTohMX0pLHRoaXMuJGVsLnN0eWxlLndpbGxDaGFuZ2U9ImF1dG8iLHRoaXMuX2lzVG91Y2hpbmc9ITEsIXRoaXMuX2NoZWNrQ2FuTW92ZSYmIXRoaXMuX3JldmlzZSgib3V0LW9mLWJvdW5kcyIpJiZ0aGlzLmluZXJ0aWEpKXt2YXIgZT0xZTMqKHRoaXMuX190b3VjaEluZm8uaGlzdG9yeVhbMV0tdGhpcy5fX3RvdWNoSW5mby5oaXN0b3J5WFswXSkvKHRoaXMuX190b3VjaEluZm8uaGlzdG9yeVRbMV0tdGhpcy5fX3RvdWNoSW5mby5oaXN0b3J5VFswXSksbj0xZTMqKHRoaXMuX190b3VjaEluZm8uaGlzdG9yeVlbMV0tdGhpcy5fX3RvdWNoSW5mby5oaXN0b3J5WVswXSkvKHRoaXMuX190b3VjaEluZm8uaGlzdG9yeVRbMV0tdGhpcy5fX3RvdWNoSW5mby5oaXN0b3J5VFswXSk7dGhpcy5fZnJpY3Rpb24uc2V0VihlLG4pLHRoaXMuX2ZyaWN0aW9uLnNldFModGhpcy5fdHJhbnNsYXRlWCx0aGlzLl90cmFuc2xhdGVZKTt2YXIgcj10aGlzLl9mcmljdGlvbi5kZWx0YSgpLngsaT10aGlzLl9mcmljdGlvbi5kZWx0YSgpLnksbz1yK3RoaXMuX3RyYW5zbGF0ZVgsYT1pK3RoaXMuX3RyYW5zbGF0ZVk7bzx0aGlzLm1pblg/KG89dGhpcy5taW5YLGE9dGhpcy5fdHJhbnNsYXRlWSsodGhpcy5taW5YLXRoaXMuX3RyYW5zbGF0ZVgpKmkvcik6bz50aGlzLm1heFgmJihvPXRoaXMubWF4WCxhPXRoaXMuX3RyYW5zbGF0ZVkrKHRoaXMubWF4WC10aGlzLl90cmFuc2xhdGVYKSppL3IpLGE8dGhpcy5taW5ZPyhhPXRoaXMubWluWSxvPXRoaXMuX3RyYW5zbGF0ZVgrKHRoaXMubWluWS10aGlzLl90cmFuc2xhdGVZKSpyL2kpOmE+dGhpcy5tYXhZJiYoYT10aGlzLm1heFksbz10aGlzLl90cmFuc2xhdGVYKyh0aGlzLm1heFktdGhpcy5fdHJhbnNsYXRlWSkqci9pKSx0aGlzLl9mcmljdGlvbi5zZXRFbmQobyxhKSx0aGlzLl9GQT1wKHRoaXMuX2ZyaWN0aW9uLChmdW5jdGlvbigpe3ZhciBlPXQuX2ZyaWN0aW9uLnMoKSxuPWUueCxyPWUueTt0Ll9zZXRUcmFuc2Zvcm0obixyLHQuX3NjYWxlLCJmcmljdGlvbiIpfSksKGZ1bmN0aW9uKCl7dC5fRkEuY2FuY2VsKCl9KSl9fSxfb25UcmFjazpmdW5jdGlvbih0KXtzd2l0Y2godC5kZXRhaWwuc3RhdGUpe2Nhc2Uic3RhcnQiOnRoaXMuX19oYW5kbGVUb3VjaFN0YXJ0KCk7YnJlYWs7Y2FzZSJtb3ZlIjp0aGlzLl9faGFuZGxlVG91Y2hNb3ZlKHQpO2JyZWFrO2Nhc2UiZW5kIjp0aGlzLl9faGFuZGxlVG91Y2hFbmQoKX19LF9nZXRMaW1pdFhZOmZ1bmN0aW9uKHQsZSl7dmFyIG49ITE7cmV0dXJuIHQ+dGhpcy5tYXhYPyh0PXRoaXMubWF4WCxuPSEwKTp0PHRoaXMubWluWCYmKHQ9dGhpcy5taW5YLG49ITApLGU+dGhpcy5tYXhZPyhlPXRoaXMubWF4WSxuPSEwKTplPHRoaXMubWluWSYmKGU9dGhpcy5taW5ZLG49ITApLHt4OnQseTplLG91dE9mQm91bmRzOm59fSxzZXRQYXJlbnQ6ZnVuY3Rpb24oKXtpZih0aGlzLiRwYXJlbnQuX2lzTW91bnRlZCl7dGhpcy5fRkEmJnRoaXMuX0ZBLmNhbmNlbCgpLHRoaXMuX1NGQSYmdGhpcy5fU0ZBLmNhbmNlbCgpO3ZhciB0PXRoaXMuc2NhbGU/dGhpcy5zY2FsZVZhbHVlU3luYzoxO3RoaXMuX3VwZGF0ZU9mZnNldCgpLHRoaXMuX3VwZGF0ZVdIKHQpLHRoaXMuX3VwZGF0ZUJvdW5kYXJ5KCksdGhpcy5fdHJhbnNsYXRlWD10aGlzLnhTeW5jK3RoaXMuX3NjYWxlT2Zmc2V0LngsdGhpcy5fdHJhbnNsYXRlWT10aGlzLnlTeW5jK3RoaXMuX3NjYWxlT2Zmc2V0Lnk7dmFyIGU9dGhpcy5fZ2V0TGltaXRYWSh0aGlzLl90cmFuc2xhdGVYLHRoaXMuX3RyYW5zbGF0ZVkpLG49ZS54LHI9ZS55O3RoaXMuX3NldFRyYW5zZm9ybShuLHIsdCwiIiwhMCksdGhpcy5fdXBkYXRlT2xkU2NhbGUodCl9fSxfdXBkYXRlT2Zmc2V0OmZ1bmN0aW9uKCl7dGhpcy5fb2Zmc2V0Lng9ZnVuY3Rpb24gdChlLG4pe2lmKGU9PT1uKXJldHVybiAwO3ZhciByPWUub2Zmc2V0TGVmdDtyZXR1cm4gZS5vZmZzZXRQYXJlbnQ/cis9dChlLm9mZnNldFBhcmVudCxuKTowfSh0aGlzLiRlbCx0aGlzLiRwYXJlbnQuJGVsKSx0aGlzLl9vZmZzZXQueT1mdW5jdGlvbiB0KGUsbil7aWYoZT09PW4pcmV0dXJuIDA7dmFyIHI9ZS5vZmZzZXRUb3A7cmV0dXJuIGUub2Zmc2V0UGFyZW50P3IrPXQoZS5vZmZzZXRQYXJlbnQsbik6MH0odGhpcy4kZWwsdGhpcy4kcGFyZW50LiRlbCl9LF91cGRhdGVXSDpmdW5jdGlvbih0KXt0PXR8fHRoaXMuX3NjYWxlLHQ9dGhpcy5fYWRqdXN0U2NhbGUodCk7dmFyIGU9dGhpcy4kZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7dGhpcy5oZWlnaHQ9ZS5oZWlnaHQvdGhpcy5fc2NhbGUsdGhpcy53aWR0aD1lLndpZHRoL3RoaXMuX3NjYWxlO3ZhciBuPXRoaXMuaGVpZ2h0KnQscj10aGlzLndpZHRoKnQ7dGhpcy5fc2NhbGVPZmZzZXQueD0oci10aGlzLndpZHRoKS8yLHRoaXMuX3NjYWxlT2Zmc2V0Lnk9KG4tdGhpcy5oZWlnaHQpLzJ9LF91cGRhdGVCb3VuZGFyeTpmdW5jdGlvbigpe3ZhciB0PTAtdGhpcy5fb2Zmc2V0LngrdGhpcy5fc2NhbGVPZmZzZXQueCxlPXRoaXMuJHBhcmVudC53aWR0aC10aGlzLndpZHRoLXRoaXMuX29mZnNldC54LXRoaXMuX3NjYWxlT2Zmc2V0Lng7dGhpcy5taW5YPU1hdGgubWluKHQsZSksdGhpcy5tYXhYPU1hdGgubWF4KHQsZSk7dmFyIG49MC10aGlzLl9vZmZzZXQueSt0aGlzLl9zY2FsZU9mZnNldC55LHI9dGhpcy4kcGFyZW50LmhlaWdodC10aGlzLmhlaWdodC10aGlzLl9vZmZzZXQueS10aGlzLl9zY2FsZU9mZnNldC55O3RoaXMubWluWT1NYXRoLm1pbihuLHIpLHRoaXMubWF4WT1NYXRoLm1heChuLHIpfSxfYmVnaW5TY2FsZTpmdW5jdGlvbigpe3RoaXMuX2lzU2NhbGluZz0hMH0sX2VuZFNjYWxlOmZ1bmN0aW9uKCl7dGhpcy5faXNTY2FsaW5nPSExLHRoaXMuX3VwZGF0ZU9sZFNjYWxlKHRoaXMuX3NjYWxlKX0sX3NldFNjYWxlOmZ1bmN0aW9uKHQpe3RoaXMuc2NhbGUmJih0PXRoaXMuX29sZFNjYWxlKnQsdGhpcy5fYmVnaW5TY2FsZSgpLHRoaXMuX3VwZGF0ZVNjYWxlKHQpKX0sX3VwZGF0ZVNjYWxlOmZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcztpZih0aGlzLnNjYWxlKXt0PXRoaXMuX2FkanVzdFNjYWxlKHQpLHRoaXMuX3VwZGF0ZVdIKHQpLHRoaXMuX3VwZGF0ZUJvdW5kYXJ5KCk7dmFyIHI9dGhpcy5fZ2V0TGltaXRYWSh0aGlzLl90cmFuc2xhdGVYLHRoaXMuX3RyYW5zbGF0ZVkpLGk9ci54LG89ci55O2U/dGhpcy5fYW5pbWF0aW9uVG8oaSxvLHQsIiIsITAsITApOmQoKGZ1bmN0aW9uKCl7bi5fc2V0VHJhbnNmb3JtKGksbyx0LCIiLCEwLCEwKX0pKX19LF91cGRhdGVPbGRTY2FsZTpmdW5jdGlvbih0KXt0aGlzLl9vbGRTY2FsZT10fSxfYWRqdXN0U2NhbGU6ZnVuY3Rpb24odCl7cmV0dXJuIHQ9TWF0aC5tYXgoLjEsdGhpcy5zY2FsZU1pbk51bWJlcix0KSx0PU1hdGgubWluKDEwLHRoaXMuc2NhbGVNYXhOdW1iZXIsdCksdH0sX2FuaW1hdGlvblRvOmZ1bmN0aW9uKHQsZSxuLHIsaSxvKXt2YXIgYT10aGlzO3RoaXMuX0ZBJiZ0aGlzLl9GQS5jYW5jZWwoKSx0aGlzLl9TRkEmJnRoaXMuX1NGQS5jYW5jZWwoKSx0aGlzLnhNb3ZlfHwodD10aGlzLl90cmFuc2xhdGVYKSx0aGlzLnlNb3ZlfHwoZT10aGlzLl90cmFuc2xhdGVZKSx0aGlzLnNjYWxlfHwobj10aGlzLl9zY2FsZSk7dmFyIHM9dGhpcy5fZ2V0TGltaXRYWSh0LGUpO3Q9cy54LGU9cy55LHRoaXMuYW5pbWF0aW9uPyh0aGlzLl9TVEQuX3NwcmluZ1guX3NvbHV0aW9uPW51bGwsdGhpcy5fU1RELl9zcHJpbmdZLl9zb2x1dGlvbj1udWxsLHRoaXMuX1NURC5fc3ByaW5nU2NhbGUuX3NvbHV0aW9uPW51bGwsdGhpcy5fU1RELl9zcHJpbmdYLl9lbmRQb3NpdGlvbj10aGlzLl90cmFuc2xhdGVYLHRoaXMuX1NURC5fc3ByaW5nWS5fZW5kUG9zaXRpb249dGhpcy5fdHJhbnNsYXRlWSx0aGlzLl9TVEQuX3NwcmluZ1NjYWxlLl9lbmRQb3NpdGlvbj10aGlzLl9zY2FsZSx0aGlzLl9TVEQuc2V0RW5kKHQsZSxuLDEpLHRoaXMuX1NGQT1wKHRoaXMuX1NURCwoZnVuY3Rpb24oKXt2YXIgdD1hLl9TVEQueCgpLGU9dC54LG49dC55LHM9dC5zY2FsZTthLl9zZXRUcmFuc2Zvcm0oZSxuLHMscixpLG8pfSksKGZ1bmN0aW9uKCl7YS5fU0ZBLmNhbmNlbCgpfSkpKTp0aGlzLl9zZXRUcmFuc2Zvcm0odCxlLG4scixpLG8pfSxfcmV2aXNlOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX2dldExpbWl0WFkodGhpcy5fdHJhbnNsYXRlWCx0aGlzLl90cmFuc2xhdGVZKSxuPWUueCxyPWUueSxpPWUub3V0T2ZCb3VuZHM7cmV0dXJuIGkmJnRoaXMuX2FuaW1hdGlvblRvKG4scix0aGlzLl9zY2FsZSx0KSxpfSxfc2V0VHJhbnNmb3JtOmZ1bmN0aW9uKHQsZSxuKXt2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjMmJnZvaWQgMCE9PWFyZ3VtZW50c1szXT9hcmd1bWVudHNbM106IiIsaT1hcmd1bWVudHMubGVuZ3RoPjQ/YXJndW1lbnRzWzRdOnZvaWQgMCxvPWFyZ3VtZW50cy5sZW5ndGg+NT9hcmd1bWVudHNbNV06dm9pZCAwO251bGwhPT10JiYiTmFOIiE9PXQudG9TdHJpbmcoKSYmIm51bWJlciI9PT10eXBlb2YgdHx8KHQ9dGhpcy5fdHJhbnNsYXRlWHx8MCksbnVsbCE9PWUmJiJOYU4iIT09ZS50b1N0cmluZygpJiYibnVtYmVyIj09PXR5cGVvZiBlfHwoZT10aGlzLl90cmFuc2xhdGVZfHwwKSx0PU51bWJlcih0LnRvRml4ZWQoMSkpLGU9TnVtYmVyKGUudG9GaXhlZCgxKSksbj1OdW1iZXIobi50b0ZpeGVkKDEpKSx0aGlzLl90cmFuc2xhdGVYPT09dCYmdGhpcy5fdHJhbnNsYXRlWT09PWV8fGl8fHRoaXMuJHRyaWdnZXIoImNoYW5nZSIse30se3g6aCh0LHRoaXMuX3NjYWxlT2Zmc2V0LngpLHk6aChlLHRoaXMuX3NjYWxlT2Zmc2V0LnkpLHNvdXJjZTpyfSksdGhpcy5zY2FsZXx8KG49dGhpcy5fc2NhbGUpLG49dGhpcy5fYWRqdXN0U2NhbGUobiksbj0rbi50b0ZpeGVkKDMpLG8mJm4hPT10aGlzLl9zY2FsZSYmdGhpcy4kdHJpZ2dlcigic2NhbGUiLHt9LHt4OnQseTplLHNjYWxlOm59KTt2YXIgYT0idHJhbnNsYXRlWCgiK3QrInB4KSB0cmFuc2xhdGVZKCIrZSsicHgpIHRyYW5zbGF0ZVooMHB4KSBzY2FsZSgiK24rIikiO3RoaXMuJGVsLnN0eWxlLnRyYW5zZm9ybT1hLHRoaXMuJGVsLnN0eWxlLndlYmtpdFRyYW5zZm9ybT1hLHRoaXMuX3RyYW5zbGF0ZVg9dCx0aGlzLl90cmFuc2xhdGVZPWUsdGhpcy5fc2NhbGU9bn19fSxnPXYsbT0obigiNWUyNyIpLG4oIjg4NDQiKSksYj1PYmplY3QobVsiYSJdKShnLChmdW5jdGlvbigpe3ZhciB0PXRoaXMsZT10LiRjcmVhdGVFbGVtZW50LG49dC5fc2VsZi5fY3x8ZTtyZXR1cm4gbigidW5pLW1vdmFibGUtdmlldyIsdC5fZyh7fSx0LiRsaXN0ZW5lcnMpLFtuKCJ2LXVuaS1yZXNpemUtc2Vuc29yIix7b246e3Jlc2l6ZTp0LnNldFBhcmVudH19KSx0Ll90KCJkZWZhdWx0IildLDIpfSksW10sITEsbnVsbCxudWxsLG51bGwpO2VbImRlZmF1bHQiXT1iLmV4cG9ydHN9LCI2NWRiIjpmdW5jdGlvbih0LGUsbil7fSw2NjI1OmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5yKGUpLG4uZChlLCJjcmVhdGVBdWRpb0NvbnRleHQiLChmdW5jdGlvbigpe3JldHVybiBpfSkpLG4uZChlLCJjcmVhdGVWaWRlb0NvbnRleHQiLChmdW5jdGlvbigpe3JldHVybiBvfSkpLG4uZChlLCJjcmVhdGVNYXBDb250ZXh0IiwoZnVuY3Rpb24oKXtyZXR1cm4gYX0pKSxuLmQoZSwiY3JlYXRlQ2FudmFzQ29udGV4dCIsKGZ1bmN0aW9uKCl7cmV0dXJuIHN9KSk7dmFyIHI9W3tuYW1lOiJpZCIsdHlwZTpTdHJpbmcscmVxdWlyZWQ6ITB9XSxpPXIsbz1yLGE9cixzPVt7bmFtZToiY2FudmFzSWQiLHR5cGU6U3RyaW5nLHJlcXVpcmVkOiEwfSx7bmFtZToiY29tcG9uZW50SW5zdGFuY2UiLHR5cGU6T2JqZWN0fV19LDY3Mjk6ZnVuY3Rpb24odCxlLG4pe30sNjc3MzpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO24ucihlKSxmdW5jdGlvbih0LHIpe24uZChlLCJjaG9vc2VJbWFnZSIsKGZ1bmN0aW9uKCl7cmV0dXJuIGZ9KSk7dmFyIGk9bigiYmRlZSIpLG89bigiMDM3MiIpLGE9bigiNDkzZCIpLHM9bigiOTA5ZSIpLGM9dCx1PWMuaW52b2tlQ2FsbGJhY2tIYW5kbGVyLGw9bnVsbDtmdW5jdGlvbiBmKHQsZSl7dmFyIG49dC5jb3VudCxjPXQuc291cmNlVHlwZSxmPXQuZXh0ZW5zaW9uO2wmJihkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGwpLGw9bnVsbCksbD1PYmplY3QoYVsiZGVmYXVsdCJdKSh7Y291bnQ6bixzb3VyY2VUeXBlOmMsZXh0ZW5zaW9uOmYsdHlwZToiaW1hZ2UifSksZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChsKSxsLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsKGZ1bmN0aW9uKHQpe2Zvcih2YXIgcj1bXSxvPXQudGFyZ2V0LmZpbGVzLmxlbmd0aCxhPWZ1bmN0aW9uKGUpe3ZhciBvPXQudGFyZ2V0LmZpbGVzW2VdLGE9dm9pZCAwO09iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCJwYXRoIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGE9YXx8T2JqZWN0KGlbImIiXSkobyksYX19KSxlPG4mJnIucHVzaChvKX0scz0wO3M8bztzKyspYShzKTt2YXIgYz17ZXJyTXNnOiJjaG9vc2VJbWFnZTpvayIsZ2V0IHRlbXBGaWxlUGF0aHMoKXtyZXR1cm4gci5tYXAoKGZ1bmN0aW9uKHQpe3ZhciBlPXQucGF0aDtyZXR1cm4gZX0pKX0sdGVtcEZpbGVzOnJ9O3UoZSxjKX0pKSxsLmNsaWNrKCksc1siZCJdLmdldFN0YXR1cygpfHxyLndhcm4oIiIuY29uY2F0KE9iamVjdChvWyJnIl0pKCJ1bmkuY2hvb3NlRmlsZS5ub3RVc2VyQWN0aXZhdGlvbiIpKSl9fS5jYWxsKHRoaXMsbigiMmM5ZiIpLG4oIjQxOGIiKVsiZGVmYXVsdCJdKX0sIjY3YzMiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5yKGUpLG4uZChlLCJnZXRTdG9yYWdlIiwoZnVuY3Rpb24oKXtyZXR1cm4gcn0pKSxuLmQoZSwiZ2V0U3RvcmFnZVN5bmMiLChmdW5jdGlvbigpe3JldHVybiBpfSkpLG4uZChlLCJzZXRTdG9yYWdlIiwoZnVuY3Rpb24oKXtyZXR1cm4gb30pKSxuLmQoZSwic2V0U3RvcmFnZVN5bmMiLChmdW5jdGlvbigpe3JldHVybiBhfSkpLG4uZChlLCJyZW1vdmVTdG9yYWdlIiwoZnVuY3Rpb24oKXtyZXR1cm4gc30pKSxuLmQoZSwicmVtb3ZlU3RvcmFnZVN5bmMiLChmdW5jdGlvbigpe3JldHVybiBjfSkpO3ZhciByPXtrZXk6e3R5cGU6U3RyaW5nLHJlcXVpcmVkOiEwfX0saT1be25hbWU6ImtleSIsdHlwZTpTdHJpbmcscmVxdWlyZWQ6ITB9XSxvPXtrZXk6e3R5cGU6U3RyaW5nLHJlcXVpcmVkOiEwfSxkYXRhOntyZXF1aXJlZDohMH19LGE9W3tuYW1lOiJrZXkiLHR5cGU6U3RyaW5nLHJlcXVpcmVkOiEwfSx7bmFtZToiZGF0YSIscmVxdWlyZWQ6ITB9XSxzPXIsYz1pfSw2ODU2OmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5yKGUpLG4uZChlLCJ1cHgycHgiLChmdW5jdGlvbigpe3JldHVybiByfSkpO3ZhciByPVt7bmFtZToidXB4Iix0eXBlOltOdW1iZXIsU3RyaW5nXSxyZXF1aXJlZDohMH1dfSwiNjhiNSI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCI5ZDE3IiksaT1uLm4ocik7aS5hfSwiNjhkMiI6ZnVuY3Rpb24odCxlLG4pe30sIjY5NWMiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5yKGUpO3ZhciByPXtuYW1lOiJXZWJWaWV3Iixwcm9wczp7c3JjOnt0eXBlOlN0cmluZyxkZWZhdWx0OiIifSxmdWxsc2NyZWVuOnt0eXBlOkJvb2xlYW4sZGVmYXVsdDohMH19LHdhdGNoOntzcmM6ZnVuY3Rpb24odCxlKXt0aGlzLmlmcmFtZSYmKHRoaXMuaWZyYW1lLnNyYz10aGlzLiRnZXRSZWFsUGF0aCh0aGlzLnNyYykpfX0sbW91bnRlZDpmdW5jdGlvbigpe3ZhciB0PXRoaXM7dGhpcy5pZnJhbWU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIiksT2JqZWN0LmtleXModGhpcy4kYXR0cnMpLmZvckVhY2goKGZ1bmN0aW9uKGUpe3QuaWZyYW1lW2VdPXQuJGF0dHJzW2VdfSkpLHRoaXMuaWZyYW1lLnNyYz10aGlzLiRnZXRSZWFsUGF0aCh0aGlzLnNyYyksdGhpcy5mdWxsc2NyZWVuP2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGhpcy5pZnJhbWUpOnRoaXMuJHJlZnMud2Vidmlld0NvbnRhaW5lci5hcHBlbmRDaGlsZCh0aGlzLmlmcmFtZSksdGhpcy5fcmVzaXplKCl9LGFjdGl2YXRlZDpmdW5jdGlvbigpe3RoaXMuZnVsbHNjcmVlbiYmKHRoaXMuaWZyYW1lLnN0eWxlLmRpc3BsYXk9ImJsb2NrIil9LGRlYWN0aXZhdGVkOmZ1bmN0aW9uKCl7dGhpcy5mdWxsc2NyZWVuJiYodGhpcy5pZnJhbWUuc3R5bGUuZGlzcGxheT0ibm9uZSIpfSxiZWZvcmVEZXN0cm95OmZ1bmN0aW9uKCl7dGhpcy5mdWxsc2NyZWVuJiZkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHRoaXMuaWZyYW1lKX0sbWV0aG9kczp7X3Jlc2l6ZTpmdW5jdGlvbigpe2lmKHRoaXMuZnVsbHNjcmVlbil7dmFyIHQ9dGhpcy4kZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksZT10LnRvcCxuPXQubGVmdCxyPXQud2lkdGgsaT10LmhlaWdodDt0aGlzLmlmcmFtZS5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiLHRoaXMuaWZyYW1lLnN0eWxlLmRpc3BsYXk9ImJsb2NrIix0aGlzLmlmcmFtZS5zdHlsZS5ib3JkZXI9MCx0aGlzLmlmcmFtZS5zdHlsZS50b3A9ZSsicHgiLHRoaXMuaWZyYW1lLnN0eWxlLmxlZnQ9bisicHgiLHRoaXMuaWZyYW1lLnN0eWxlLndpZHRoPXIrInB4Iix0aGlzLmlmcmFtZS5zdHlsZS5oZWlnaHQ9aSsicHgifWVsc2UgdGhpcy5pZnJhbWUuc3R5bGUud2lkdGg9dGhpcy4kcmVmcy53ZWJ2aWV3Q29udGFpbmVyLnN0eWxlLndpZHRofHwiMzAwcHgiLHRoaXMuaWZyYW1lLnN0eWxlLmhlaWdodD10aGlzLiRyZWZzLndlYnZpZXdDb250YWluZXIuc3R5bGUuaGVpZ2h0fHwiMTUwcHgifX19LGk9cixvPShuKCI1MjZjIiksbigiODg0NCIpKSxhPU9iamVjdChvWyJhIl0pKGksKGZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPXQuJGNyZWF0ZUVsZW1lbnQsbj10Ll9zZWxmLl9jfHxlO3JldHVybiBuKCJ1bmktd2ViLXZpZXciLHQuX2coe3JlZjoid2Vidmlld0NvbnRhaW5lciIsY2xhc3M6eyJ1bmktd2Vidmlldy0tZnVsbHNjcmVlbiI6dC5mdWxsc2NyZWVufX0sdC4kbGlzdGVuZXJzKSxbbigidi11bmktcmVzaXplLXNlbnNvciIse3JlZjoic2Vuc29yIixvbjp7cmVzaXplOnQuX3Jlc2l6ZX19KV0sMSl9KSxbXSwhMSxudWxsLG51bGwsbnVsbCk7ZVsiZGVmYXVsdCJdPWEuZXhwb3J0c30sIjZiZDciOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5yKGUpLG4uZChlLCJyZWRpcmVjdFRvIiwoZnVuY3Rpb24oKXtyZXR1cm4gY30pKSxuLmQoZSwicmVMYXVuY2giLChmdW5jdGlvbigpe3JldHVybiB1fSkpLG4uZChlLCJuYXZpZ2F0ZVRvIiwoZnVuY3Rpb24oKXtyZXR1cm4gbH0pKSxuLmQoZSwic3dpdGNoVGFiIiwoZnVuY3Rpb24oKXtyZXR1cm4gZn0pKSxuLmQoZSwibmF2aWdhdGVCYWNrIiwoZnVuY3Rpb24oKXtyZXR1cm4gZH0pKSxuLmQoZSwicHJlbG9hZFBhZ2UiLChmdW5jdGlvbigpe3JldHVybiBofSkpLG4uZChlLCJ1blByZWxvYWRQYWdlIiwoZnVuY3Rpb24oKXtyZXR1cm4gcH0pKTt2YXIgcixpPW4oIjhmMmYiKTtmdW5jdGlvbiBvKHQpe3JldHVybiBmdW5jdGlvbihlLG4pe2U9T2JqZWN0KGlbImEiXSkoZSk7dmFyIG89ZS5zcGxpdCgiPyIpWzBdLGE9X191bmlSb3V0ZXMuZmluZCgoZnVuY3Rpb24odCl7dmFyIGU9dC5wYXRoLG49dC5hbGlhcztyZXR1cm4gZT09PW98fG49PT1vfSkpO2lmKCFhKXJldHVybiJwYWdlIGAiK2UrImAgaXMgbm90IGZvdW5kIjtpZigibmF2aWdhdGVUbyI9PT10fHwicmVkaXJlY3RUbyI9PT10KXtpZihhLm1ldGEuaXNUYWJCYXIpcmV0dXJuImNhbiBub3QgIi5jb25jYXQodCwiIGEgdGFiYmFyIHBhZ2UiKX1lbHNlIGlmKCJzd2l0Y2hUYWIiPT09dCYmIWEubWV0YS5pc1RhYkJhcilyZXR1cm4iY2FuIG5vdCBzd2l0Y2ggdG8gbm8tdGFiQmFyIHBhZ2UiO2lmKCJzd2l0Y2hUYWIiIT09dCYmInByZWxvYWRQYWdlIiE9PXR8fCFhLm1ldGEuaXNUYWJCYXJ8fCJhcHBMYXVuY2giPT09bi5vcGVuVHlwZXx8KGU9byksYS5tZXRhLmlzRW50cnkmJihlPWUucmVwbGFjZShhLmFsaWFzLCIvIikpLG4udXJsPWZ1bmN0aW9uKHQpe2lmKCJzdHJpbmciIT09dHlwZW9mIHQpcmV0dXJuIHQ7dmFyIGU9dC5pbmRleE9mKCI/Iik7aWYoLTE9PT1lKXJldHVybiB0O3ZhciBuPXQuc3Vic3RyKGUrMSkudHJpbSgpLnJlcGxhY2UoL14oXD98I3wmKS8sIiIpO2lmKCFuKXJldHVybiB0O3Q9dC5zdWJzdHIoMCxlKTt2YXIgcj1bXTtyZXR1cm4gbi5zcGxpdCgiJiIpLmZvckVhY2goKGZ1bmN0aW9uKHQpe3ZhciBlPXQucmVwbGFjZSgvXCsvZywiICIpLnNwbGl0KCI9Iiksbj1lLnNoaWZ0KCksaT1lLmxlbmd0aD4wP2Uuam9pbigiPSIpOiIiO3IucHVzaChuKyI9IitlbmNvZGVVUklDb21wb25lbnQoaSkpfSkpLHIubGVuZ3RoP3QrIj8iK3Iuam9pbigiJiIpOnR9KGUpLCJ1blByZWxvYWRQYWdlIiE9PXQpaWYoInByZWxvYWRQYWdlIiE9PXQpe2lmKHI9PT1lJiYiYXBwTGF1bmNoIiE9PW4ub3BlblR5cGUpcmV0dXJuIiIuY29uY2F0KHIsIiBsb2NrZWQiKTtfX3VuaUNvbmZpZy5yZWFkeSYmITEhPT1fX3VuaUNvbmZpZy5lbmFibGVOYXZpZ2F0b3JMb2NrJiYocj1lKX1lbHNlIGlmKGEubWV0YS5pc1RhYkJhcil7dmFyIHM9Z2V0Q3VycmVudFBhZ2VzKCEwKSxjPShhLmFsaWFzfHxhLnBhdGgpLnN1YnN0cigxKTtpZihzLmZpbmQoKGZ1bmN0aW9uKHQpe3JldHVybiB0LnJvdXRlPT09Y30pKSlyZXR1cm4idGFiQmFyIHBhZ2UgYCIrYysiYCBhbHJlYWR5IGV4aXN0cyJ9fX1mdW5jdGlvbiBhKHQpe3ZhciBlPWFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXTp7fTtyZXR1cm4gT2JqZWN0LmFzc2lnbih7dXJsOnt0eXBlOlN0cmluZyxyZXF1aXJlZDohMCx2YWxpZGF0b3I6byh0KX0sYmVmb3JlQWxsOmZ1bmN0aW9uKCl7cj0iIn19LGUpfWZ1bmN0aW9uIHModCl7cmV0dXJue2FuaW1hdGlvblR5cGU6e3R5cGU6U3RyaW5nLHZhbGlkYXRvcjpmdW5jdGlvbihlKXtpZihlJiYtMT09PXQuaW5kZXhPZihlKSlyZXR1cm4iYCIrZSsiYCBpcyBub3Qgc3VwcG9ydGVkIGZvciBgYW5pbWF0aW9uVHlwZWAgKHN1cHBvcnRlZCB2YWx1ZXMgYXJlOiBgIit0LmpvaW4oImB8YCIpKyJgKSJ9fSxhbmltYXRpb25EdXJhdGlvbjp7dHlwZTpOdW1iZXJ9fX12YXIgYz1hKCJyZWRpcmVjdFRvIiksdT1hKCJyZUxhdW5jaCIpLGw9YSgibmF2aWdhdGVUbyIscyhbInNsaWRlLWluLXJpZ2h0Iiwic2xpZGUtaW4tbGVmdCIsInNsaWRlLWluLXRvcCIsInNsaWRlLWluLWJvdHRvbSIsImZhZGUtaW4iLCJ6b29tLW91dCIsInpvb20tZmFkZS1vdXQiLCJwb3AtaW4iLCJub25lIl0pKSxmPWEoInN3aXRjaFRhYiIpLGQ9T2JqZWN0LmFzc2lnbih7ZGVsdGE6e3R5cGU6TnVtYmVyLHZhbGlkYXRvcjpmdW5jdGlvbih0LGUpe3Q9cGFyc2VJbnQodCl8fDEsZS5kZWx0YT1NYXRoLm1pbihnZXRDdXJyZW50UGFnZXMoKS5sZW5ndGgtMSx0KX19fSxzKFsic2xpZGUtb3V0LXJpZ2h0Iiwic2xpZGUtb3V0LWxlZnQiLCJzbGlkZS1vdXQtdG9wIiwic2xpZGUtb3V0LWJvdHRvbSIsImZhZGUtb3V0Iiwiem9vbS1pbiIsInpvb20tZmFkZS1pbiIsInBvcC1vdXQiLCJub25lIl0pKSxoPXt1cmw6e3R5cGU6U3RyaW5nLHJlcXVpcmVkOiEwLHZhbGlkYXRvcjpvKCJwcmVsb2FkUGFnZSIpfX0scD17dXJsOnt0eXBlOlN0cmluZyxyZXF1aXJlZDohMCx2YWxpZGF0b3I6bygidW5QcmVsb2FkUGFnZSIpfX19LCI2YzM2IjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO24ucihlKSxmdW5jdGlvbih0KXtmdW5jdGlvbiByKGUsbil7dmFyIHI9dCxpPXIuaW52b2tlQ2FsbGJhY2tIYW5kbGVyO2dldEFwcCgpLiRyb3V0ZXIucHVzaCh7dHlwZToibmF2aWdhdGVUbyIscGF0aDoiL2Nob29zZS1sb2NhdGlvbiIscXVlcnk6ZX0sKGZ1bmN0aW9uKCl7dC5zdWJzY3JpYmUoIm9uQ2hvb3NlTG9jYXRpb24iLChmdW5jdGlvbiBlKHIpe3QudW5zdWJzY3JpYmUoIm9uQ2hvb3NlTG9jYXRpb24iLGUpLGkobixyP09iamVjdC5hc3NpZ24ocix7ZXJyTXNnOiJjaG9vc2VMb2NhdGlvbjpvayJ9KTp7ZXJyTXNnOiJjaG9vc2VMb2NhdGlvbjpmYWlsIn0pfSkpfSksKGZ1bmN0aW9uKCl7aShuLHtlcnJNc2c6ImNob29zZUxvY2F0aW9uOmZhaWwifSl9KSl9bi5kKGUsImNob29zZUxvY2F0aW9uIiwoZnVuY3Rpb24oKXtyZXR1cm4gcn0pKX0uY2FsbCh0aGlzLG4oIjJjOWYiKSl9LCI2ZDRiIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiOyhmdW5jdGlvbih0KXtuLmQoZSwiYSIsKGZ1bmN0aW9uKCl7cmV0dXJuIHN9KSk7dmFyIHIsaT1uKCJiNDM1Iiksbz1uKCJkMzU5IiksYT17fTtmdW5jdGlvbiBzKGUsbil7dmFyIHM9T2JqZWN0KGlbImUiXSkoKTtpZihzLmtleSl7dmFyIGM9YVtzLnR5cGVdPWFbcy50eXBlXXx8W107aWYociluKHIpO2Vsc2UgaWYod2luZG93W3MudHlwZV0mJndpbmRvd1tzLnR5cGVdLm1hcHMpcj1pWyJjIl0/d2luZG93W3MudHlwZV06d2luZG93W3MudHlwZV0ubWFwcyxyLkNhbGxvdXQ9ci5DYWxsb3V0fHxPYmplY3Qob1siYSJdKShyKSxuKHIpO2Vsc2UgaWYoYy5sZW5ndGgpYy5wdXNoKG4pO2Vsc2V7Yy5wdXNoKG4pO3ZhciB1PXdpbmRvdyxsPSJfX21hcF9jYWxsYmFja19fIitzLnR5cGU7dVtsXT1mdW5jdGlvbigpe2RlbGV0ZSB1W2xdLHI9aVsiYyJdP3dpbmRvd1tzLnR5cGVdOndpbmRvd1tzLnR5cGVdLm1hcHMsci5DYWxsb3V0PU9iamVjdChvWyJhIl0pKHIpLGMuZm9yRWFjaCgoZnVuY3Rpb24odCl7cmV0dXJuIHQocil9KSksYy5sZW5ndGg9MH07dmFyIGY9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0IiksZD1mdW5jdGlvbih0KXtyZXR1cm57cXE6Imh0dHBzOi8vbWFwLnFxLmNvbS9hcGkvanM/dj0yLmV4cCYiLGdvb2dsZToiaHR0cHM6Ly9tYXBzLmdvb2dsZWFwaXMuY29tL21hcHMvYXBpL2pzPyIsQU1hcDoiaHR0cHM6Ly93ZWJhcGkuYW1hcC5jb20vbWFwcz92PTIuMCYifVt0XX0ocy50eXBlKTtzLnR5cGU9PT1pWyJkIl0uUVEmJmUucHVzaCgiZ2VvbWV0cnkiKSxlLmxlbmd0aCYmKGQrPSJsaWJyYXJpZXM9Ii5jb25jYXQoZS5qb2luKCIlMkMiKSwiJiIpKSxpWyJjIl0mJmZ1bmN0aW9uKHQpe3dpbmRvdy5fQU1hcFNlY3VyaXR5Q29uZmlnPXtzZWN1cml0eUpzQ29kZTp0LnNlY3VyaXR5SnNDb2RlfHwiIixzZXJ2aWNlSG9zdDp0LnNlcnZpY2VIb3N0fHwiIn19KHMpLGYuc3JjPSIiLmNvbmNhdChkLCJrZXk9IikuY29uY2F0KHMua2V5LCImY2FsbGJhY2s9IikuY29uY2F0KGwpLGYub25lcnJvcj1mdW5jdGlvbigpe3QuZXJyb3IoIk1hcCBsb2FkIGZhaWxlZC4iKX0sZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChmKX19ZWxzZSB0LmVycm9yKCJNYXAga2V5IG5vdCBjb25maWd1cmVkLiIpfX0pLmNhbGwodGhpcyxuKCI0MThiIilbImRlZmF1bHQiXSl9LCI2ZGRkIjpmdW5jdGlvbih0LGUsbil7fSwiNmY3MyI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtuLnIoZSksbi5kKGUsIm1ha2VQaG9uZUNhbGwiLChmdW5jdGlvbigpe3JldHVybiByfSkpO3ZhciByPXtwaG9uZU51bWJlcjp7dHlwZTpTdHJpbmcscmVxdWlyZWQ6ITAsdmFsaWRhdG9yOmZ1bmN0aW9uKHQpe2lmKCF0KXJldHVybiJtYWtlUGhvbmVDYWxsOmZhaWwgcGFyYW1ldGVyIGVycm9yOiBwYXJhbWV0ZXIucGhvbmVOdW1iZXIgc2hvdWxkIG5vdCBiZSBlbXB0eSBTdHJpbmc7In19fX0sIjZmNzUiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcigpe31mdW5jdGlvbiBpKHQpe3QuZGlzYWJsZX1uLmQoZSwiYiIsKGZ1bmN0aW9uKCl7cmV0dXJuIHJ9KSksbi5kKGUsImEiLChmdW5jdGlvbigpe3JldHVybiBpfSkpfSw3MDY4OmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5yKGUpLG4uZChlLCJvbktleWJvYXJkSGVpZ2h0Q2hhbmdlIiwoZnVuY3Rpb24oKXtyZXR1cm4gYX0pKSxuLmQoZSwib2ZmS2V5Ym9hcmRIZWlnaHRDaGFuZ2UiLChmdW5jdGlvbigpe3JldHVybiBzfSkpO3ZhciByLGk9bigiOTEzMSIpLG89bigiNzQ1YSIpO2Z1bmN0aW9uIGEodCl7T2JqZWN0KGlbImIiXSkocikscj10fWZ1bmN0aW9uIHMoKXtyPW51bGx9T2JqZWN0KG9bImQiXSkoIm9uS2V5Ym9hcmRIZWlnaHRDaGFuZ2UiLChmdW5jdGlvbih0KXtyJiZPYmplY3QoaVsiYSJdKShyLHQpfSkpfSwiNzBiYyI6ZnVuY3Rpb24odCxlLG4pe30sIjcxYTQiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7KGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIHIoZSl7cmV0dXJuIGZ1bmN0aW9uKCl7dHJ5e3JldHVybiBlLmFwcGx5KGUsYXJndW1lbnRzKX1jYXRjaChuKXt0LmVycm9yKG4pfX19ZnVuY3Rpb24gaShlKXtyZXR1cm4gZnVuY3Rpb24oKXt0cnl7cmV0dXJuIGUuYXBwbHkoZSxhcmd1bWVudHMpfWNhdGNoKG4pe3QuZXJyb3Iobil9fX1uLmQoZSwiYiIsKGZ1bmN0aW9uKCl7cmV0dXJuIHJ9KSksbi5kKGUsImEiLChmdW5jdGlvbigpe3JldHVybiBpfSkpfSkuY2FsbCh0aGlzLG4oIjQxOGIiKVsiZGVmYXVsdCJdKX0sIjcxYmUiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5kKGUsImEiLChmdW5jdGlvbigpe3JldHVybiBhfSkpO3ZhciByPW4oIjM0MGQiKSxpPW4oImNmZjkiKSxvPW4oIjk3OTgiKTtmdW5jdGlvbiBhKCl7cmV0dXJue2NyZWF0ZWQ6ZnVuY3Rpb24oKXt2YXIgdD1PYmplY3QoclsiZSJdKSh0aGlzLiRyb3V0ZS5xdWVyeSk7KGZ1bmN0aW9uKHQsZSl7dmFyIG49dC4kcm91dGU7dC5yb3V0ZT1uLm1ldGEucGFnZVBhdGgsdC5vcHRpb25zfHwodC5vcHRpb25zPWUpO3ZhciBpPU9iamVjdChyWyJpIl0pKG4ucGFyYW1zLCJfX2lkX18iKT9uLnBhcmFtcy5fX2lkX186bi5tZXRhLmlkLGE9bi5mdWxsUGF0aDtuLm1ldGEuaXNFbnRyeSYmLTE9PT1hLmluZGV4T2Yobi5tZXRhLnBhZ2VQYXRoKSYmKGE9Ii8iK24ubWV0YS5wYWdlUGF0aCthLnJlcGxhY2UoIi8iLCIiKSksdC5fX3BhZ2VfXz17aWQ6aSxwYXRoOm4ucGF0aCxyb3V0ZTpuLm1ldGEucGFnZVBhdGgsZnVsbFBhdGg6YSxvcHRpb25zOmUsbWV0YTpPYmplY3QuYXNzaWduKHt9LG4ubWV0YSl9O3ZhciBzPXQuJHJvdXRlci4kZXZlbnRDaGFubmVsfHxuZXcgb1siYSJdO3QuZ2V0T3BlbmVyRXZlbnRDaGFubmVsPWZ1bmN0aW9uKCl7cmV0dXJuIHN9LHQuJHZtPXQsdC4kcm9vdD10LHQuJGhvbGRlcj10LiRwYXJlbnQuJHBhcmVudCx0LiRtcD17bXBUeXBlOiJwYWdlIixwYWdlOnQscXVlcnk6e30sc3RhdHVzOiIifX0pKHRoaXMsdCksT2JqZWN0KGlbImIiXSkodGhpcywib25Mb2FkIix0KSxPYmplY3QoaVsiYiJdKSh0aGlzLCJvblNob3ciKX19fX0sIjcyNGMiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiNWEyZCIpLGk9bi5uKHIpO2kuYX0sNzMxNzpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO24ucihlKSxuLmQoZSwicHJldmlld0ltYWdlIiwoZnVuY3Rpb24oKXtyZXR1cm4gYX0pKSxuLmQoZSwiY2xvc2VQcmV2aWV3SW1hZ2UiLChmdW5jdGlvbigpe3JldHVybiBzfSkpO3ZhciByPW4oIjc0NWEiKSxpPSJsb25nUHJlc3NBY3Rpb25zQ2FsbGJhY2siLG89e307ZnVuY3Rpb24gYSgpe3ZhciB0PWFyZ3VtZW50cy5sZW5ndGg+MCYmdm9pZCAwIT09YXJndW1lbnRzWzBdP2FyZ3VtZW50c1swXTp7fTtyZXR1cm4gbz10LmxvbmdQcmVzc0FjdGlvbnN8fHt9LChvLnN1Y2Nlc3N8fG8uZmFpbHx8by5jb21wbGV0ZSkmJihvLmNhbGxiYWNrSWQ9aSksT2JqZWN0KHJbImMiXSkoInByZXZpZXdJbWFnZVBsdXMiLHQpfWZ1bmN0aW9uIHMoKXt2YXIgdD1hcmd1bWVudHMubGVuZ3RoPjAmJnZvaWQgMCE9PWFyZ3VtZW50c1swXT9hcmd1bWVudHNbMF06e307cmV0dXJuIE9iamVjdChyWyJjIl0pKCJjbG9zZVByZXZpZXdJbWFnZVBsdXMiLHQpfU9iamVjdChyWyJkIl0pKGksKGZ1bmN0aW9uKHQpe3ZhciBlPXQuZXJyTXNnfHwiIjtuZXcgUmVnRXhwKCJcXDpcXHMqZmFpbCIpLnRlc3QoZSk/by5mYWlsJiZvLmZhaWwodCk6by5zdWNjZXNzJiZvLnN1Y2Nlc3ModCksby5jb21wbGV0ZSYmby5jb21wbGV0ZSh0KX0pKX0sIjc0NWEiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7KGZ1bmN0aW9uKHQpe24uZChlLCJjIiwoZnVuY3Rpb24oKXtyZXR1cm4gaX0pKSxuLmQoZSwiZCIsKGZ1bmN0aW9uKCl7cmV0dXJuIG99KSksbi5kKGUsImIiLChmdW5jdGlvbigpe3JldHVybiBhfSkpLG4uZChlLCJhIiwoZnVuY3Rpb24oKXtyZXR1cm4gc30pKTt2YXIgcj1uKCJiMTVlIik7ZnVuY3Rpb24gaSh0KXtmb3IodmFyIGU9YXJndW1lbnRzLmxlbmd0aCxuPW5ldyBBcnJheShlPjE/ZS0xOjApLGk9MTtpPGU7aSsrKW5baS0xXT1hcmd1bWVudHNbaV07cmV0dXJuIHJbImEiXVt0XS5hcHBseShudWxsLG4pfWZ1bmN0aW9uIG8oZSxuKXtyZXR1cm4gdC5vbigiYXBpLiIrZSxuKX1mdW5jdGlvbiBhKGUpe3ZhciBuPWdldEN1cnJlbnRQYWdlcygpLHI9bi5sZW5ndGg7cnx8dC5lbWl0KCJvbkVycm9yIiwiIi5jb25jYXQoZSwiOmZhaWwiKSk7dmFyIGk9bltyLTFdO3JldHVybiBpLiR2bX1mdW5jdGlvbiBzKCl7dmFyIHQ9Z2V0Q3VycmVudFBhZ2VzKCksZT10W3QubGVuZ3RoLTFdO3JldHVybiBlJiZlLiRwYWdlLmlkfX0pLmNhbGwodGhpcyxuKCIyYzlmIikpfSw3NTUzOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5kKGUsImEiLChmdW5jdGlvbigpe3JldHVybiBpfSkpO3ZhciByPXt9O2Z1bmN0aW9uIGkodCl7dmFyIGU9clt0XTtyZXR1cm4gZXx8KGU9e2lkOjEsY2FsbGJhY2tzOk9iamVjdC5jcmVhdGUobnVsbCl9LHJbdF09ZSkse2dldDpmdW5jdGlvbih0KXtyZXR1cm4gZS5jYWxsYmFja3NbdF19LHBvcDpmdW5jdGlvbih0KXt2YXIgbj1lLmNhbGxiYWNrc1t0XTtyZXR1cm4gbiYmZGVsZXRlIGUuY2FsbGJhY2tzW3RdLG59LHB1c2g6ZnVuY3Rpb24odCl7dmFyIG49ZS5pZCsrO3JldHVybiBlLmNhbGxiYWNrc1tuXT10LG59fX19LCI3NWRkIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO24ucihlKTt2YXIgaT1uKCI5MDllIiksbz1uKCIzNDBkIiksYT1uKCJhMjAyIikscz1uKCI3Njg3IiksYz1uKCIwMzcyIik7ZnVuY3Rpb24gdSh0KXtyZXR1cm4gZnVuY3Rpb24odCl7aWYoQXJyYXkuaXNBcnJheSh0KSlyZXR1cm4gbCh0KX0odCl8fGZ1bmN0aW9uKHQpe2lmKCJ1bmRlZmluZWQiIT09dHlwZW9mIFN5bWJvbCYmU3ltYm9sLml0ZXJhdG9yIGluIE9iamVjdCh0KSlyZXR1cm4gQXJyYXkuZnJvbSh0KX0odCl8fGZ1bmN0aW9uKHQsZSl7aWYodCl7aWYoInN0cmluZyI9PT10eXBlb2YgdClyZXR1cm4gbCh0LGUpO3ZhciBuPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KS5zbGljZSg4LC0xKTtyZXR1cm4iT2JqZWN0Ij09PW4mJnQuY29uc3RydWN0b3ImJihuPXQuY29uc3RydWN0b3IubmFtZSksIk1hcCI9PT1ufHwiU2V0Ij09PW4/QXJyYXkuZnJvbShuKToiQXJndW1lbnRzIj09PW58fC9eKD86VWl8SSludCg/Ojh8MTZ8MzIpKD86Q2xhbXBlZCk/QXJyYXkkLy50ZXN0KG4pP2wodCxlKTp2b2lkIDB9fSh0KXx8ZnVuY3Rpb24oKXt0aHJvdyBuZXcgVHlwZUVycm9yKCJJbnZhbGlkIGF0dGVtcHQgdG8gc3ByZWFkIG5vbi1pdGVyYWJsZSBpbnN0YW5jZS5cbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC4iKX0oKX1mdW5jdGlvbiBsKHQsZSl7KG51bGw9PWV8fGU+dC5sZW5ndGgpJiYoZT10Lmxlbmd0aCk7Zm9yKHZhciBuPTAscj1uZXcgQXJyYXkoZSk7bjxlO24rKylyW25dPXRbbl07cmV0dXJuIHJ9ZnVuY3Rpb24gZigpe2lmKHRoaXMubW9kZT09PWguVElNRSlyZXR1cm4iMDA6MDAiO2lmKHRoaXMubW9kZT09PWguREFURSl7dmFyIHQ9KG5ldyBEYXRlKS5nZXRGdWxsWWVhcigpLTE1MDtzd2l0Y2godGhpcy5maWVsZHMpe2Nhc2UgcC5ZRUFSOnJldHVybiB0LnRvU3RyaW5nKCk7Y2FzZSBwLk1PTlRIOnJldHVybiB0KyItMDEiO2RlZmF1bHQ6cmV0dXJuIHQrIi0wMS0wMSJ9fXJldHVybiIifWZ1bmN0aW9uIGQoKXtpZih0aGlzLm1vZGU9PT1oLlRJTUUpcmV0dXJuIjIzOjU5IjtpZih0aGlzLm1vZGU9PT1oLkRBVEUpe3ZhciB0PShuZXcgRGF0ZSkuZ2V0RnVsbFllYXIoKSsxNTA7c3dpdGNoKHRoaXMuZmllbGRzKXtjYXNlIHAuWUVBUjpyZXR1cm4gdC50b1N0cmluZygpO2Nhc2UgcC5NT05USDpyZXR1cm4gdCsiLTEyIjtkZWZhdWx0OnJldHVybiB0KyItMTItMzEifX1yZXR1cm4iIn12YXIgaD17U0VMRUNUT1I6InNlbGVjdG9yIixNVUxUSVNFTEVDVE9SOiJtdWx0aVNlbGVjdG9yIixUSU1FOiJ0aW1lIixEQVRFOiJkYXRlIn0scD17WUVBUjoieWVhciIsTU9OVEg6Im1vbnRoIixEQVk6ImRheSJ9LHY9e1BJQ0tFUjoicGlja2VyIixTRUxFQ1Q6InNlbGVjdCJ9LGc9e25hbWU6IlBpY2tlciIsY29tcG9uZW50czp7a2V5cHJlc3M6c1siYSJdfSxtaXhpbnM6W2NbImMiXSxpWyJhIl0sYVsiZGVmYXVsdCJdXSxwcm9wczp7bmFtZTp7dHlwZTpTdHJpbmcsZGVmYXVsdDoiIn0scmFuZ2U6e3R5cGU6QXJyYXksZGVmYXVsdDpmdW5jdGlvbigpe3JldHVybltdfX0scmFuZ2VLZXk6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6IiJ9LHZhbHVlOnt0eXBlOltOdW1iZXIsU3RyaW5nLEFycmF5XSxkZWZhdWx0OjB9LG1vZGU6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6aC5TRUxFQ1RPUix2YWxpZGF0b3I6ZnVuY3Rpb24odCl7cmV0dXJuIE9iamVjdC52YWx1ZXMoaCkuaW5jbHVkZXModCl9fSxmaWVsZHM6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6IiJ9LHN0YXJ0Ont0eXBlOlN0cmluZyxkZWZhdWx0OmZ9LGVuZDp7dHlwZTpTdHJpbmcsZGVmYXVsdDpkfSxkaXNhYmxlZDp7dHlwZTpbQm9vbGVhbixTdHJpbmddLGRlZmF1bHQ6ITF9LHNlbGVjdG9yVHlwZTp7dHlwZTpTdHJpbmcsZGVmYXVsdDoiIn19LGRhdGE6ZnVuY3Rpb24oKXtyZXR1cm57dmFsdWVTeW5jOm51bGwsdmlzaWJsZTohMSxjb250ZW50VmlzaWJsZTohMSxwb3BvdmVyOm51bGwsdmFsdWVDaGFuZ2VTb3VyY2U6IiIsdGltZUFycmF5OltdLGRhdGVBcnJheTpbXSx2YWx1ZUFycmF5OltdLG9sZFZhbHVlQXJyYXk6W119fSxjb21wdXRlZDp7cmFuZ2VBcnJheTpmdW5jdGlvbigpe3ZhciB0PXRoaXMucmFuZ2U7c3dpdGNoKHRoaXMubW9kZSl7Y2FzZSBoLlNFTEVDVE9SOnJldHVyblt0XTtjYXNlIGguTVVMVElTRUxFQ1RPUjpyZXR1cm4gdDtjYXNlIGguVElNRTpyZXR1cm4gdGhpcy50aW1lQXJyYXk7Y2FzZSBoLkRBVEU6dmFyIGU9dGhpcy5kYXRlQXJyYXk7c3dpdGNoKHRoaXMuZmllbGRzKXtjYXNlIHAuWUVBUjpyZXR1cm5bZVswXV07Y2FzZSBwLk1PTlRIOnJldHVybltlWzBdLGVbMV1dO2RlZmF1bHQ6cmV0dXJuW2VbMF0sZVsxXSxlWzJdXX19cmV0dXJuW119LHN0YXJ0QXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZ2V0RGF0ZVZhbHVlQXJyYXkodGhpcy5zdGFydCxmLmJpbmQodGhpcykoKSl9LGVuZEFycmF5OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2dldERhdGVWYWx1ZUFycmF5KHRoaXMuZW5kLGQuYmluZCh0aGlzKSgpKX0sc2VsZWN0b3JUeXBlQ29tcHV0ZWQ6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLnNlbGVjdG9yVHlwZTtyZXR1cm4gT2JqZWN0LnZhbHVlcyh2KS5pbmNsdWRlcyh0KT90OjA9PT1TdHJpbmcobmF2aWdhdG9yLnZlbmRvcikuaW5kZXhPZigiQXBwbGUiKSYmbmF2aWdhdG9yLm1heFRvdWNoUG9pbnRzPjA/di5QSUNLRVI6di5TRUxFQ1R9LHN5c3RlbTpmdW5jdGlvbigpe2lmKHRoaXMubW9kZT09PWguREFURSYmIU9iamVjdC52YWx1ZXMocCkuaW5jbHVkZXModGhpcy5maWVsZHMpJiZ0aGlzLmlzRGVza3RvcCYmL3dpbnxtYWMvaS50ZXN0KG5hdmlnYXRvci5wbGF0Zm9ybSkpe2lmKCJHb29nbGUgSW5jLiI9PT1uYXZpZ2F0b3IudmVuZG9yKXJldHVybiJjaHJvbWUiO2lmKC9GaXJlZm94Ly50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpKXJldHVybiJmaXJlZm94In1yZXR1cm4iIn19LHdhdGNoOnt2aXNpYmxlOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXM7dD8oY2xlYXJUaW1lb3V0KHRoaXMuX19jb250ZW50VmlzaWJsZURlbGF5KSx0aGlzLmNvbnRlbnRWaXNpYmxlPXQsdGhpcy5fc2VsZWN0KCkpOnRoaXMuX19jb250ZW50VmlzaWJsZURlbGF5PXNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7ZS5jb250ZW50VmlzaWJsZT10fSksMzAwKX0sdmFsdWU6ZnVuY3Rpb24oKXt0aGlzLl9zZXRWYWx1ZVN5bmMoKX0sbW9kZTpmdW5jdGlvbigpe3RoaXMuX3NldFZhbHVlU3luYygpfSxyYW5nZTpmdW5jdGlvbigpe3RoaXMuX3NldFZhbHVlU3luYygpfSx2YWx1ZVN5bmM6ZnVuY3Rpb24oKXt0aGlzLl9zZXRWYWx1ZUFycmF5KCl9LHZhbHVlQXJyYXk6ZnVuY3Rpb24odCl7dmFyIGU9dGhpcztpZih0aGlzLm1vZGU9PT1oLlRJTUV8fHRoaXMubW9kZT09PWguREFURSl7dmFyIG49dGhpcy5tb2RlPT09aC5USU1FP3RoaXMuX2dldFRpbWVWYWx1ZTp0aGlzLl9nZXREYXRlVmFsdWUscj10aGlzLnZhbHVlQXJyYXksaT10aGlzLnN0YXJ0QXJyYXksbz10aGlzLmVuZEFycmF5O2lmKHRoaXMubW9kZT09PWguREFURSl7dmFyIGE9dGhpcy5kYXRlQXJyYXkscz1hWzJdLmxlbmd0aCxjPU51bWJlcihhWzJdW3JbMl1dKXx8MSx1PW5ldyBEYXRlKCIiLmNvbmNhdChhWzBdW3JbMF1dLCIvIikuY29uY2F0KGFbMV1bclsxXV0sIi8iKS5jb25jYXQoYykpLmdldERhdGUoKTt1PGMmJihyWzJdLT11K3MtYyl9bihyKTxuKGkpP3RoaXMuX2Nsb25lQXJyYXkocixpKTpuKHIpPm4obykmJnRoaXMuX2Nsb25lQXJyYXkocixvKX10LmZvckVhY2goKGZ1bmN0aW9uKHQsbil7dCE9PWUub2xkVmFsdWVBcnJheVtuXSYmKGUub2xkVmFsdWVBcnJheVtuXT10LGUubW9kZT09PWguTVVMVElTRUxFQ1RPUiYmZS4kdHJpZ2dlcigiY29sdW1uY2hhbmdlIix7fSx7Y29sdW1uOm4sdmFsdWU6dH0pKX0pKX19LGNyZWF0ZWQ6ZnVuY3Rpb24oKXt0aGlzLiRkaXNwYXRjaCgiRm9ybSIsInVuaS1mb3JtLWdyb3VwLXVwZGF0ZSIse3R5cGU6ImFkZCIsdm06dGhpc30pLHRoaXMuX2NyZWF0ZVRpbWUoKSx0aGlzLl9jcmVhdGVEYXRlKCksdGhpcy5fc2V0VmFsdWVTeW5jKCl9LGJlZm9yZURlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLiRyZWZzLnBpY2tlci5yZW1vdmUoKSx0aGlzLiRkaXNwYXRjaCgiRm9ybSIsInVuaS1mb3JtLWdyb3VwLXVwZGF0ZSIse3R5cGU6InJlbW92ZSIsdm06dGhpc30pfSxtZXRob2RzOntfc2hvdzpmdW5jdGlvbih0KXt2YXIgZT10aGlzO2lmKCF0aGlzLmRpc2FibGVkKXt0aGlzLnZhbHVlQ2hhbmdlU291cmNlPSIiO3ZhciBuPXRoaXMuJHJlZnMucGlja2VyO24ucmVtb3ZlKCksKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoInVuaS1hcHAiKXx8ZG9jdW1lbnQuYm9keSkuYXBwZW5kQ2hpbGQobiksbi5zdHlsZS5kaXNwbGF5PSJibG9jayI7dmFyIHI9dC5jdXJyZW50VGFyZ2V0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3RoaXMucG9wb3Zlcj17dG9wOnIudG9wLGxlZnQ6ci5sZWZ0LHdpZHRoOnIud2lkdGgsaGVpZ2h0OnIuaGVpZ2h0fSxzZXRUaW1lb3V0KChmdW5jdGlvbigpe2UudmlzaWJsZT0hMH0pLDIwKX19LF9nZXRGb3JtRGF0YTpmdW5jdGlvbigpe3JldHVybnt2YWx1ZTp0aGlzLnZhbHVlU3luYyxrZXk6dGhpcy5uYW1lfX0sX3Jlc2V0Rm9ybURhdGE6ZnVuY3Rpb24oKXtzd2l0Y2godGhpcy5tb2RlKXtjYXNlIGguU0VMRUNUT1I6dGhpcy52YWx1ZVN5bmM9MDticmVhaztjYXNlIGguTVVMVElTRUxFQ1RPUjp0aGlzLnZhbHVlU3luYz10aGlzLnZhbHVlLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIDB9KSk7YnJlYWs7Y2FzZSBoLkRBVEU6Y2FzZSBoLlRJTUU6dGhpcy52YWx1ZVN5bmM9IiI7YnJlYWs7ZGVmYXVsdDpicmVha319LF9jcmVhdGVUaW1lOmZ1bmN0aW9uKCl7dmFyIHQ9W10sZT1bXTt0LnNwbGljZSgwLHQubGVuZ3RoKTtmb3IodmFyIG49MDtuPDI0O24rKyl0LnB1c2goKG48MTA/IjAiOiIiKStuKTtlLnNwbGljZSgwLGUubGVuZ3RoKTtmb3IodmFyIHI9MDtyPDYwO3IrKyllLnB1c2goKHI8MTA/IjAiOiIiKStyKTt0aGlzLnRpbWVBcnJheS5wdXNoKHQsZSl9LF9jcmVhdGVEYXRlOmZ1bmN0aW9uKCl7Zm9yKHZhciB0PVtdLGU9ZnVuY3Rpb24odCl7dmFyIGU9KG5ldyBEYXRlKS5nZXRGdWxsWWVhcigpLG49ZS0xNTAscj1lKzE1MDtpZih0LnN0YXJ0KXt2YXIgaT1uZXcgRGF0ZSh0LnN0YXJ0KS5nZXRGdWxsWWVhcigpOyFpc05hTihpKSYmaTxuJiYobj1pKX1pZih0LmVuZCl7dmFyIG89bmV3IERhdGUodC5lbmQpLmdldEZ1bGxZZWFyKCk7IWlzTmFOKG8pJiZvPnImJihyPW8pfXJldHVybntzdGFydDpuLGVuZDpyfX0odGhpcyksbj1lLnN0YXJ0LHI9ZS5lbmQ7bjw9cjtuKyspdC5wdXNoKFN0cmluZyhuKSk7Zm9yKHZhciBpPVtdLG89MTtvPD0xMjtvKyspaS5wdXNoKChvPDEwPyIwIjoiIikrbyk7Zm9yKHZhciBhPVtdLHM9MTtzPD0zMTtzKyspYS5wdXNoKChzPDEwPyIwIjoiIikrcyk7dGhpcy5kYXRlQXJyYXkucHVzaCh0LGksYSl9LF9nZXRUaW1lVmFsdWU6ZnVuY3Rpb24odCl7cmV0dXJuIDYwKnRbMF0rdFsxXX0sX2dldERhdGVWYWx1ZTpmdW5jdGlvbih0KXtyZXR1cm4gMzEqdFswXSoxMiszMSoodFsxXXx8MCkrKHRbMl18fDApfSxfY2xvbmVBcnJheTpmdW5jdGlvbih0LGUpe2Zvcih2YXIgbj0wO248dC5sZW5ndGgmJm48ZS5sZW5ndGg7bisrKXRbbl09ZVtuXX0sX3NldFZhbHVlU3luYzpmdW5jdGlvbigpe3ZhciB0PXRoaXMudmFsdWU7c3dpdGNoKHRoaXMubW9kZSl7Y2FzZSBoLk1VTFRJU0VMRUNUT1I6QXJyYXkuaXNBcnJheSh0KXx8KHQ9dGhpcy52YWx1ZUFycmF5KSxBcnJheS5pc0FycmF5KHRoaXMudmFsdWVTeW5jKXx8KHRoaXMudmFsdWVTeW5jPVtdKTtmb3IodmFyIGU9dGhpcy52YWx1ZVN5bmMubGVuZ3RoPU1hdGgubWF4KHQubGVuZ3RoLHRoaXMucmFuZ2UubGVuZ3RoKSxuPTA7bjxlO24rKyl7dmFyIHI9TnVtYmVyKHRbbl0pLGk9TnVtYmVyKHRoaXMudmFsdWVTeW5jW25dKSxvPWlzTmFOKHIpP2lzTmFOKGkpPzA6aTpyLGE9dGhpcy5yYW5nZVtuXT90aGlzLnJhbmdlW25dLmxlbmd0aC0xOjA7dGhpcy52YWx1ZVN5bmMuc3BsaWNlKG4sMSxvPDB8fG8+YT8wOm8pfWJyZWFrO2Nhc2UgaC5USU1FOmNhc2UgaC5EQVRFOnRoaXMudmFsdWVTeW5jPVN0cmluZyh0KTticmVhaztkZWZhdWx0OnZhciBzPU51bWJlcih0KTt0aGlzLnZhbHVlU3luYz1zPDA/MDpzO2JyZWFrfX0sX3NldFZhbHVlQXJyYXk6ZnVuY3Rpb24oKXt2YXIgdCxlPXRoaXMudmFsdWVTeW5jO3N3aXRjaCh0aGlzLm1vZGUpe2Nhc2UgaC5NVUxUSVNFTEVDVE9SOnQ9dShlKTticmVhaztjYXNlIGguVElNRTp0PXRoaXMuX2dldERhdGVWYWx1ZUFycmF5KGUsT2JqZWN0KG9bImciXSkoe21vZGU6aC5USU1FfSkpO2JyZWFrO2Nhc2UgaC5EQVRFOnQ9dGhpcy5fZ2V0RGF0ZVZhbHVlQXJyYXkoZSxPYmplY3Qob1siZyJdKSh7bW9kZTpoLkRBVEV9KSk7YnJlYWs7ZGVmYXVsdDp0PVtlXTticmVha310aGlzLm9sZFZhbHVlQXJyYXk9dSh0KSx0aGlzLnZhbHVlQXJyYXk9dSh0KX0sX2dldFZhbHVlOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPXRoaXMudmFsdWVBcnJheTtzd2l0Y2godGhpcy5tb2RlKXtjYXNlIGguU0VMRUNUT1I6cmV0dXJuIGVbMF07Y2FzZSBoLk1VTFRJU0VMRUNUT1I6cmV0dXJuIGUubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gdH0pKTtjYXNlIGguVElNRTpyZXR1cm4gdGhpcy52YWx1ZUFycmF5Lm1hcCgoZnVuY3Rpb24oZSxuKXtyZXR1cm4gdC50aW1lQXJyYXlbbl1bZV19KSkuam9pbigiOiIpO2Nhc2UgaC5EQVRFOnJldHVybiB0aGlzLnZhbHVlQXJyYXkubWFwKChmdW5jdGlvbihlLG4pe3JldHVybiB0LmRhdGVBcnJheVtuXVtlXX0pKS5qb2luKCItIil9fSxfZ2V0RGF0ZVZhbHVlQXJyYXk6ZnVuY3Rpb24odCxlKXt2YXIgbixyPXRoaXMubW9kZT09PWguREFURT8iLSI6IjoiLGk9dGhpcy5tb2RlPT09aC5EQVRFP3RoaXMuZGF0ZUFycmF5OnRoaXMudGltZUFycmF5O2lmKHRoaXMubW9kZT09PWguVElNRSluPTI7ZWxzZSBzd2l0Y2godGhpcy5maWVsZHMpe2Nhc2UgcC5ZRUFSOm49MTticmVhaztjYXNlIHAuTU9OVEg6bj0yO2JyZWFrO2RlZmF1bHQ6bj0zO2JyZWFrfWZvcih2YXIgbz1TdHJpbmcodCkuc3BsaXQociksYT1bXSxzPTA7czxuO3MrKyl7dmFyIGM9b1tzXTthLnB1c2goaVtzXS5pbmRleE9mKGMpKX1yZXR1cm4gYS5pbmRleE9mKC0xKT49MCYmKGE9ZT90aGlzLl9nZXREYXRlVmFsdWVBcnJheShlKTphLm1hcCgoZnVuY3Rpb24oKXtyZXR1cm4gMH0pKSksYX0sX2NoYW5nZTpmdW5jdGlvbigpe3RoaXMuX2Nsb3NlKCksdGhpcy52YWx1ZUNoYW5nZVNvdXJjZT0iY2xpY2siO3ZhciB0PXRoaXMuX2dldFZhbHVlKCk7dGhpcy52YWx1ZVN5bmM9QXJyYXkuaXNBcnJheSh0KT90Lm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIHR9KSk6dCx0aGlzLiR0cmlnZ2VyKCJjaGFuZ2UiLHt9LHt2YWx1ZTp0fSl9LF9jYW5jZWw6ZnVuY3Rpb24odCl7aWYoImZpcmVmb3giPT09dGhpcy5zeXN0ZW0pe3ZhciBlPXRoaXMucG9wb3ZlcixuPWUudG9wLHI9ZS5sZWZ0LGk9ZS53aWR0aCxvPWUuaGVpZ2h0LGE9dC5wYWdlWCxzPXQucGFnZVk7aWYoYT5yJiZhPHIraSYmcz5uJiZzPG4rbylyZXR1cm59dGhpcy5fY2xvc2UoKSx0aGlzLiR0cmlnZ2VyKCJjYW5jZWwiLHt9LHt9KX0sX2Nsb3NlOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpczt0aGlzLnZpc2libGU9ITEsc2V0VGltZW91dCgoZnVuY3Rpb24oKXt2YXIgZT10LiRyZWZzLnBpY2tlcjtlLnJlbW92ZSgpLHQuJGVsLnByZXBlbmQoZSksZS5zdHlsZS5kaXNwbGF5PSJub25lIn0pLDI2MCl9LF9zZWxlY3Q6ZnVuY3Rpb24oKXt0aGlzLm1vZGU9PT1oLlNFTEVDVE9SJiZ0aGlzLnNlbGVjdG9yVHlwZUNvbXB1dGVkPT09di5TRUxFQ1QmJih0aGlzLiRyZWZzLnNlbGVjdC5zY3JvbGxUb3A9MzQqdGhpcy52YWx1ZUFycmF5WzBdKX0sX2lucHV0OmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXM7dGhpcy52YWx1ZVN5bmM9dC50YXJnZXQudmFsdWUsdGhpcy4kbmV4dFRpY2soKGZ1bmN0aW9uKCl7ZS5fY2hhbmdlKCl9KSl9LF9maXhJbnB1dFBvc2l0aW9uOmZ1bmN0aW9uKHQpe2lmKCJjaHJvbWUiPT09dGhpcy5zeXN0ZW0pe3ZhciBlPXRoaXMuJGVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLG49dGhpcy4kcmVmcy5pbnB1dC5zdHlsZTtuLmxlZnQ9IiIuY29uY2F0KHQuY2xpZW50WC1lLmxlZnQtNDgsInB4Iiksbi50b3A9IiIuY29uY2F0KHQuY2xpZW50WS1lLnRvcC0xNiwicHgiKX19LF9waWNrZXJWaWV3Q2hhbmdlOmZ1bmN0aW9uKHQpe3RoaXMudmFsdWVBcnJheT10aGlzLl9sMTBuQ29sdW1uKHQuZGV0YWlsLnZhbHVlLCEwKX0sX2wxMG5Db2x1bW46ZnVuY3Rpb24odCxlKXtpZih0aGlzLm1vZGU9PT1oLkRBVEUpe3ZhciBuPU9iamVjdChjWyJhIl0pKCk7aWYoIW4uc3RhcnRzV2l0aCgiemgiKSlzd2l0Y2godGhpcy5maWVsZHMpe2Nhc2UgcC5ZRUFSOnJldHVybiB0O2Nhc2UgcC5NT05USDpyZXR1cm5bdFsxXSx0WzBdXTtkZWZhdWx0OnN3aXRjaChuKXtjYXNlImVzIjpjYXNlImZyIjpyZXR1cm5bdFsyXSx0WzFdLHRbMF1dO2RlZmF1bHQ6cmV0dXJuIGU/W3RbMl0sdFswXSx0WzFdXTpbdFsxXSx0WzJdLHRbMF1dfX19cmV0dXJuIHR9LF9sMTBuSXRlbTpmdW5jdGlvbih0LGUpe2lmKHRoaXMubW9kZT09PWguREFURSl7dmFyIG49T2JqZWN0KGNbImEiXSkoKTtpZihuLnN0YXJ0c1dpdGgoInpoIikpe3JldHVybiB0K1si5bm0Iiwi5pyIIiwi5pelIl1bZV19aWYodGhpcy5maWVsZHMhPT1wLllFQVImJmU9PT0odGhpcy5maWVsZHM9PT1wLk1PTlRIfHwiZXMiIT09biYmImZyIiE9PW4/MDoxKSl7dmFyIHI7c3dpdGNoKG4pe2Nhc2UiZXMiOnI9WyJlbmVybyIsImZlYnJlcm8iLCJtYXJ6byIsImFicmlsIiwibWF5byIsImp1bmlvIiwi4oCL4oCLanVsaW8iLCJhZ29zdG8iLCJzZXB0aWVtYnJlIiwib2N0dWJyZSIsIm5vdmllbWJyZSIsImRpY2llbWJyZSJdO2JyZWFrO2Nhc2UiZnIiOnI9WyJqYW52aWVyIiwiZsOpdnJpZXIiLCJtYXJzIiwiYXZyaWwiLCJtYWkiLCJqdWluIiwianVpbGxldCIsImFvw7t0Iiwic2VwdGVtYnJlIiwib2N0b2JyZSIsIm5vdmVtYnJlIiwiZMOpY2VtYnJlIl07YnJlYWs7ZGVmYXVsdDpyPVsiSmFudWFyeSIsIkZlYnJ1YXJ5IiwiTWFyY2giLCJBcHJpbCIsIk1heSIsIkp1bmUiLCJKdWx5IiwiQXVndXN0IiwiU2VwdGVtYmVyIiwiT2N0b2JlciIsIk5vdmVtYmVyIiwiRGVjZW1iZXIiXTticmVha31yZXR1cm4gcltOdW1iZXIodCktMV19fXJldHVybiB0fX19LG09ZyxiPShuKCI2OGI1IiksbigiODg0NCIpKSx5PU9iamVjdChiWyJhIl0pKG0sKGZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPXQuJGNyZWF0ZUVsZW1lbnQsbj10Ll9zZWxmLl9jfHxlO3JldHVybiBuKCJ1bmktcGlja2VyIix0Ll9nKHthdHRyczp7ZGlzYWJsZWQ6dC5kaXNhYmxlZH0sb246e2NsaWNrOnQuX3Nob3d9fSx0LiRsaXN0ZW5lcnMpLFtuKCJkaXYiLHtyZWY6InBpY2tlciIsc3RhdGljQ2xhc3M6InVuaS1waWNrZXItY29udGFpbmVyIixjbGFzczoidW5pLSIrdC5tb2RlKyItIit0LnNlbGVjdG9yVHlwZUNvbXB1dGVkLG9uOnt3aGVlbDpmdW5jdGlvbih0KXt0LnByZXZlbnREZWZhdWx0KCl9LHRvdWNobW92ZTpmdW5jdGlvbih0KXt0LnByZXZlbnREZWZhdWx0KCl9fX0sW24oInRyYW5zaXRpb24iLHthdHRyczp7bmFtZToidW5pLWZhZGUifX0sW24oImRpdiIse2RpcmVjdGl2ZXM6W3tuYW1lOiJzaG93IixyYXdOYW1lOiJ2LXNob3ciLHZhbHVlOnQudmlzaWJsZSxleHByZXNzaW9uOiJ2aXNpYmxlIn1dLHN0YXRpY0NsYXNzOiJ1bmktbWFzayB1bmktcGlja2VyLW1hc2siLG9uOntjbGljazp0Ll9jYW5jZWwsbW91c2Vtb3ZlOnQuX2ZpeElucHV0UG9zaXRpb259fSldKSx0LnN5c3RlbT90Ll9lKCk6bigiZGl2Iix7c3RhdGljQ2xhc3M6InVuaS1waWNrZXItY3VzdG9tIixjbGFzczp7InVuaS1waWNrZXItdG9nZ2xlIjp0LnZpc2libGV9LHN0eWxlOnQucG9wdXBTdHlsZS5jb250ZW50fSxbbigiZGl2Iix7c3RhdGljQ2xhc3M6InVuaS1waWNrZXItaGVhZGVyIixvbjp7Y2xpY2s6ZnVuY3Rpb24odCl7dC5zdG9wUHJvcGFnYXRpb24oKX19fSxbbigiZGl2Iix7c3RhdGljQ2xhc3M6InVuaS1waWNrZXItYWN0aW9uIHVuaS1waWNrZXItYWN0aW9uLWNhbmNlbCIsb246e2NsaWNrOnQuX2NhbmNlbH19LFt0Ll92KCIgIit0Ll9zKHQuJCR0KCJ1bmkucGlja2VyLmNhbmNlbCIpKSsiICIpXSksbigiZGl2Iix7c3RhdGljQ2xhc3M6InVuaS1waWNrZXItYWN0aW9uIHVuaS1waWNrZXItYWN0aW9uLWNvbmZpcm0iLG9uOntjbGljazp0Ll9jaGFuZ2V9fSxbdC5fdigiICIrdC5fcyh0LiQkdCgidW5pLnBpY2tlci5kb25lIikpKyIgIildKV0pLHQuY29udGVudFZpc2libGU/bigidi11bmktcGlja2VyLXZpZXciLHtzdGF0aWNDbGFzczoidW5pLXBpY2tlci1jb250ZW50IixhdHRyczp7dmFsdWU6dC5fbDEwbkNvbHVtbih0LnZhbHVlQXJyYXkpfSxvbjp7Y2hhbmdlOnQuX3BpY2tlclZpZXdDaGFuZ2V9fSx0Ll9sKHQuX2wxMG5Db2x1bW4odC5yYW5nZUFycmF5KSwoZnVuY3Rpb24oZSxpKXtyZXR1cm4gbigidi11bmktcGlja2VyLXZpZXctY29sdW1uIix7a2V5Oml9LHQuX2woZSwoZnVuY3Rpb24oZSxvKXtyZXR1cm4gbigiZGl2Iix7a2V5Om8sc3RhdGljQ2xhc3M6InVuaS1waWNrZXItaXRlbSJ9LFt0Ll92KCIgIit0Ll9zKCJvYmplY3QiPT09cihlKT9lW3QucmFuZ2VLZXldfHwiIjp0Ll9sMTBuSXRlbShlLGkpKSsiICIpXSl9KSksMCl9KSksMSk6dC5fZSgpLG4oImRpdiIse3JlZjoic2VsZWN0IixzdGF0aWNDbGFzczoidW5pLXBpY2tlci1zZWxlY3QiLG9uOnt3aGVlbDpmdW5jdGlvbih0KXt0LnN0b3BQcm9wYWdhdGlvbigpfSx0b3VjaG1vdmU6ZnVuY3Rpb24odCl7dC5zdG9wUHJvcGFnYXRpb24oKX19fSx0Ll9sKHQucmFuZ2VBcnJheVswXSwoZnVuY3Rpb24oZSxpKXtyZXR1cm4gbigiZGl2Iix7a2V5Omksc3RhdGljQ2xhc3M6InVuaS1waWNrZXItaXRlbSIsY2xhc3M6e3NlbGVjdGVkOnQudmFsdWVBcnJheVswXT09PWl9LG9uOntjbGljazpmdW5jdGlvbihlKXt0LnZhbHVlQXJyYXlbMF09aSx0Ll9jaGFuZ2UoKX19fSxbdC5fdigiICIrdC5fcygib2JqZWN0Ij09PXIoZSk/ZVt0LnJhbmdlS2V5XXx8IiI6ZSkrIiAiKV0pfSkpLDApLG4oImRpdiIse3N0eWxlOnQucG9wdXBTdHlsZS50cmlhbmdsZX0pXSwxKV0sMSksbigiZGl2IixbdC5fdCgiZGVmYXVsdCIpXSwyKSx0LnN5c3RlbT9uKCJkaXYiLHtzdGF0aWNDbGFzczoidW5pLXBpY2tlci1zeXN0ZW0iLG9uOnttb3VzZW1vdmU6dC5fZml4SW5wdXRQb3NpdGlvbn19LFtuKCJpbnB1dCIse3JlZjoiaW5wdXQiLGNsYXNzOlt0LnN5c3RlbSx0LnBvcHVwU3R5bGUuZG9ja10sYXR0cnM6e3R5cGU6dC5tb2RlLHRhYmluZGV4OiItMSIsbWluOnQuc3RhcnQsbWF4OnQuZW5kfSxkb21Qcm9wczp7dmFsdWU6dC52YWx1ZVN5bmN9LG9uOntjaGFuZ2U6ZnVuY3Rpb24oZSl7cmV0dXJuIGUuc3RvcFByb3BhZ2F0aW9uKCksdC5faW5wdXQoZSl9fX0pXSk6dC5fZSgpLG4oImtleXByZXNzIix7YXR0cnM6e2Rpc2FibGU6IXQudmlzaWJsZX0sb246e2VzYzp0Ll9jYW5jZWwsZW50ZXI6dC5fY2hhbmdlfX0pXSwxKX0pLFtdLCExLG51bGwsbnVsbCxudWxsKTtlWyJkZWZhdWx0Il09eS5leHBvcnRzfSwiNzVlMiI6ZnVuY3Rpb24odCxlLG4pe3ZhciByPXsiLi9hZC9pbmRleC52dWUiOiIzM2UyIiwiLi9jb3Zlci1pbWFnZS9pbmRleC52dWUiOiJmZjVkIiwiLi9jb3Zlci12aWV3L2luZGV4LnZ1ZSI6IjRmMmUiLCIuL21hcC9pbmRleC52dWUiOiJkZTQzIiwiLi9waWNrZXIvaW5kZXgudnVlIjoiNzVkZCIsIi4vdmlkZW8vaW5kZXgudnVlIjoiNGM2OCIsIi4vdmlldy9pbmRleC52dWUiOiJlZmRkIiwiLi93ZWItdmlldy9pbmRleC52dWUiOiI2OTVjIn07ZnVuY3Rpb24gaSh0KXt2YXIgZT1vKHQpO3JldHVybiBuKGUpfWZ1bmN0aW9uIG8odCl7aWYoIW4ubyhyLHQpKXt2YXIgZT1uZXcgRXJyb3IoIkNhbm5vdCBmaW5kIG1vZHVsZSAnIit0KyInIik7dGhyb3cgZS5jb2RlPSJNT0RVTEVfTk9UX0ZPVU5EIixlfXJldHVybiByW3RdfWkua2V5cz1mdW5jdGlvbigpe3JldHVybiBPYmplY3Qua2V5cyhyKX0saS5yZXNvbHZlPW8sdC5leHBvcnRzPWksaS5pZD0iNzVlMiJ9LDc2ODc6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtlWyJhIl09e25hbWU6IktleXByZXNzIixwcm9wczp7ZGlzYWJsZTp7dHlwZTpCb29sZWFuLGRlZmF1bHQ6ITF9fSxtb3VudGVkOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPXtlc2M6WyJFc2MiLCJFc2NhcGUiXSx0YWI6IlRhYiIsZW50ZXI6IkVudGVyIixzcGFjZTpbIiAiLCJTcGFjZWJhciJdLHVwOlsiVXAiLCJBcnJvd1VwIl0sbGVmdDpbIkxlZnQiLCJBcnJvd0xlZnQiXSxyaWdodDpbIlJpZ2h0IiwiQXJyb3dSaWdodCJdLGRvd246WyJEb3duIiwiQXJyb3dEb3duIl0sZGVsZXRlOlsiQmFja3NwYWNlIiwiRGVsZXRlIiwiRGVsIl19LG49ZnVuY3Rpb24obil7aWYoIXQuZGlzYWJsZSl7dmFyIHI9T2JqZWN0LmtleXMoZSkuZmluZCgoZnVuY3Rpb24odCl7dmFyIHI9bi5rZXksaT1lW3RdO3JldHVybiBpPT09cnx8QXJyYXkuaXNBcnJheShpKSYmaS5pbmNsdWRlcyhyKX0pKTtyJiZzZXRUaW1lb3V0KChmdW5jdGlvbigpe3QuJGVtaXQocixuKX0pLDApfX07ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigia2V5dXAiLG4pLHRoaXMuJG9uY2UoImhvb2s6YmVmb3JlRGVzdHJveSIsKGZ1bmN0aW9uKCl7ZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigia2V5dXAiLG4pfSkpfSxyZW5kZXI6ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbH19fSwiNzZkNyI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCIzOTM0IiksaT1uLm4ocik7aS5hfSw3ODIxOmZ1bmN0aW9uKHQsZSxuKXt9LCI3OGI3IjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO24ucihlKSxuLmQoZSwiYmFzZTY0VG9BcnJheUJ1ZmZlciIsKGZ1bmN0aW9uKCl7cmV0dXJuIGl9KSksbi5kKGUsImFycmF5QnVmZmVyVG9CYXNlNjQiLChmdW5jdGlvbigpe3JldHVybiBvfSkpO3ZhciByPW4oIjkxNTEiKTtmdW5jdGlvbiBpKHQpe3JldHVybiBPYmplY3QoclsiZGVjb2RlIl0pKHQpfWZ1bmN0aW9uIG8odCl7cmV0dXJuIE9iamVjdChyWyJlbmNvZGUiXSkodCl9fSwiNzkzYyI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtuLnIoZSksZnVuY3Rpb24odCl7ZnVuY3Rpb24gcihlLG4pe3ZhciByPWUubGF0aXR1ZGUsaT1lLmxvbmdpdHVkZSxvPWUuc2NhbGUsYT1lLm5hbWUscz1lLmFkZHJlc3MsYz10LHU9Yy5pbnZva2VDYWxsYmFja0hhbmRsZXI7Z2V0QXBwKCkuJHJvdXRlci5wdXNoKHt0eXBlOiJuYXZpZ2F0ZVRvIixwYXRoOiIvb3Blbi1sb2NhdGlvbiIscXVlcnk6e2xhdGl0dWRlOnIsbG9uZ2l0dWRlOmksc2NhbGU6byxuYW1lOmEsYWRkcmVzczpzfX0sKGZ1bmN0aW9uKCl7dShuLHtlcnJNc2c6Im9wZW5Mb2NhdGlvbjpvayJ9KX0pLChmdW5jdGlvbigpe3Uobix7ZXJyTXNnOiJvcGVuTG9jYXRpb246ZmFpbCJ9KX0pKX1uLmQoZSwib3BlbkxvY2F0aW9uIiwoZnVuY3Rpb24oKXtyZXR1cm4gcn0pKX0uY2FsbCh0aGlzLG4oIjJjOWYiKSl9LDc5NTg6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtuLnIoZSksZnVuY3Rpb24odCxyKXtuLmQoZSwiZ2V0U2VsZWN0ZWRUZXh0UmFuZ2UiLChmdW5jdGlvbigpe3JldHVybiBjfSkpO3ZhciBpPW4oIjc1NTMiKSxvPW4oIjc0NWEiKSxhPW4oIjkxMzEiKSxzPU9iamVjdChpWyJhIl0pKCJnZXRTZWxlY3RlZFRleHRSYW5nZUV2ZW50Iik7ZnVuY3Rpb24gYyhlLG4pe3ZhciByPU9iamVjdChvWyJhIl0pKCk7dC5wdWJsaXNoSGFuZGxlcigiZ2V0U2VsZWN0ZWRUZXh0UmFuZ2UiLHtwYWdlSWQ6cixjYWxsYmFja0lkOnMucHVzaCgoZnVuY3Rpb24odCl7T2JqZWN0KGFbImEiXSkobix0KX0pKX0scil9dC5zdWJzY3JpYmUoIm9uR2V0U2VsZWN0ZWRUZXh0UmFuZ2UiLChmdW5jdGlvbih0KXt2YXIgZT10LmNhbGxiYWNrSWQsbj10LmRhdGE7ci5sb2coIm9uR2V0U2VsZWN0ZWRUZXh0UmFuZ2UiKTt2YXIgaT1zLnBvcChlKTtpJiZpKG4pfSkpfS5jYWxsKHRoaXMsbigiMmM5ZiIpLG4oIjQxOGIiKVsiZGVmYXVsdCJdKX0sIjc5NmMiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5yKGUpLG4uZChlLCJzZXROYXZpZ2F0aW9uQmFyQ29sb3IiLChmdW5jdGlvbigpe3JldHVybiBpfSkpLG4uZChlLCJzZXROYXZpZ2F0aW9uQmFyVGl0bGUiLChmdW5jdGlvbigpe3JldHVybiBvfSkpO3ZhciByPVsiI2ZmZmZmZiIsIiMwMDAwMDAiXSxpPXtmcm9udENvbG9yOnt0eXBlOlN0cmluZyxyZXF1aXJlZDohMCx2YWxpZGF0b3I6ZnVuY3Rpb24odCxlKXtpZigtMT09PXIuaW5kZXhPZih0KSlyZXR1cm4naW52YWxpZCBmcm9udENvbG9yICInLmNvbmNhdCh0LCciJyl9fSxiYWNrZ3JvdW5kQ29sb3I6e3R5cGU6U3RyaW5nLHJlcXVpcmVkOiEwfSxhbmltYXRpb246e3R5cGU6T2JqZWN0LGRlZmF1bHQ6ZnVuY3Rpb24oKXtyZXR1cm57ZHVyYXRpb246MCx0aW1pbmdGdW5jOiJsaW5lYXIifX0sdmFsaWRhdG9yOmZ1bmN0aW9uKCl7dmFyIHQ9YXJndW1lbnRzLmxlbmd0aD4wJiZ2b2lkIDAhPT1hcmd1bWVudHNbMF0/YXJndW1lbnRzWzBdOnt9LGU9YXJndW1lbnRzLmxlbmd0aD4xP2FyZ3VtZW50c1sxXTp2b2lkIDA7ZS5hbmltYXRpb249e2R1cmF0aW9uOnQuZHVyYXRpb258fDAsdGltaW5nRnVuYzp0LnRpbWluZ0Z1bmN8fCJsaW5lYXIifX19fSxvPXt0aXRsZTp7dHlwZTpTdHJpbmcscmVxdWlyZWQ6ITB9fX0sIjdhYTQiOmZ1bmN0aW9uKHQsZSxuKXt9LCI3YWE5IjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO24ucihlKTt2YXIgcj1uKCI0YjIxIiksaT1uKCIzNDBkIiksbz1uKCI0NzM4IiksYT17YToiIixhYmJyOiIiLGFkZHJlc3M6IiIsYXJ0aWNsZToiIixhc2lkZToiIixiOiIiLGJkaToiIixiZG86WyJkaXIiXSxiaWc6IiIsYmxvY2txdW90ZToiIixicjoiIixjYXB0aW9uOiIiLGNlbnRlcjoiIixjaXRlOiIiLGNvZGU6IiIsY29sOlsic3BhbiIsIndpZHRoIl0sY29sZ3JvdXA6WyJzcGFuIiwid2lkdGgiXSxkZDoiIixkZWw6IiIsZGl2OiIiLGRsOiIiLGR0OiIiLGVtOiIiLGZpZWxkc2V0OiIiLGZvbnQ6IiIsZm9vdGVyOiIiLGgxOiIiLGgyOiIiLGgzOiIiLGg0OiIiLGg1OiIiLGg2OiIiLGhlYWRlcjoiIixocjoiIixpOiIiLGltZzpbImFsdCIsInNyYyIsImhlaWdodCIsIndpZHRoIl0saW5zOiIiLGxhYmVsOiIiLGxlZ2VuZDoiIixsaToiIixtYXJrOiIiLG5hdjoiIixvbDpbInN0YXJ0IiwidHlwZSJdLHA6IiIscHJlOiIiLHE6IiIscnQ6IiIscnVieToiIixzOiIiLHNlY3Rpb246IiIsc21hbGw6IiIsc3BhbjoiIixzdHJvbmc6IiIsc3ViOiIiLHN1cDoiIix0YWJsZTpbIndpZHRoIl0sdGJvZHk6IiIsdGQ6WyJjb2xzcGFuIiwiaGVpZ2h0Iiwicm93c3BhbiIsIndpZHRoIl0sdGZvb3Q6IiIsdGg6WyJjb2xzcGFuIiwiaGVpZ2h0Iiwicm93c3BhbiIsIndpZHRoIl0sdGhlYWQ6IiIsdHI6WyJjb2xzcGFuIiwiaGVpZ2h0Iiwicm93c3BhbiIsIndpZHRoIl0sdHQ6IiIsdToiIix1bDoiIn0scz17YW1wOiImIixndDoiPiIsbHQ6IjwiLG5ic3A6IiAiLHF1b3Q6JyInLGFwb3M6IicifTtmdW5jdGlvbiBjKHQpe3JldHVybiB0LnJlcGxhY2UoLyYoKFthLXpBLVpdKyl8KCN4ezAsMX1bXGRhLXpBLVpdKykpOy9naSwoZnVuY3Rpb24odCxlKXtpZihPYmplY3QoaVsiaSJdKShzLGUpJiZzW2VdKXJldHVybiBzW2VdO2lmKC9eI1swLTldezEsNH0kLy50ZXN0KGUpKXJldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlKGUuc2xpY2UoMSkpO2lmKC9eI3hbMC05YS1mXXsxLDR9JC9pLnRlc3QoZSkpcmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUoIjAiK2Uuc2xpY2UoMSkpO3ZhciBuPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3JldHVybiBuLmlubmVySFRNTD10LG4uaW5uZXJUZXh0fHxuLnRleHRDb250ZW50fSkpfWZ1bmN0aW9uIHUodCxlLG4pe3JldHVybiJpbWciPT09dCYmInNyYyI9PT1lP09iamVjdChvWyJhIl0pKG4pOm59ZnVuY3Rpb24gbCh0LGUsbixyKXtyZXR1cm4gdC5mb3JFYWNoKChmdW5jdGlvbih0KXtpZihPYmplY3QoaVsibCJdKSh0KSlpZihPYmplY3QoaVsiaSJdKSh0LCJ0eXBlIikmJiJub2RlIiE9PXQudHlwZSkidGV4dCI9PT10LnR5cGUmJiJzdHJpbmciPT09dHlwZW9mIHQudGV4dCYmIiIhPT10LnRleHQmJmUuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoYyh0LnRleHQpKSk7ZWxzZXtpZigic3RyaW5nIiE9PXR5cGVvZiB0Lm5hbWV8fCF0Lm5hbWUpcmV0dXJuO3ZhciBvPXQubmFtZS50b0xvd2VyQ2FzZSgpO2lmKCFPYmplY3QoaVsiaSJdKShhLG8pKXJldHVybjt2YXIgcz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KG8pO2lmKCFzKXJldHVybjt2YXIgZj10LmF0dHJzO2lmKG4mJnMuc2V0QXR0cmlidXRlKG4sIiIpLE9iamVjdChpWyJsIl0pKGYpKXt2YXIgZD1hW29dfHxbXTtPYmplY3Qua2V5cyhmKS5mb3JFYWNoKChmdW5jdGlvbih0KXt2YXIgZT1mW3RdO3N3aXRjaCh0KXtjYXNlImNsYXNzIjpBcnJheS5pc0FycmF5KGUpJiYoZT1lLmpvaW4oIiAiKSk7Y2FzZSJzdHlsZSI6cy5zZXRBdHRyaWJ1dGUodCxlKTticmVhaztkZWZhdWx0Oi0xIT09ZC5pbmRleE9mKHQpJiZzLnNldEF0dHJpYnV0ZSh0LHUobyx0LGUpKX19KSl9KGZ1bmN0aW9uKHQsZSxuKXtbImEiLCJpbWciXS5pbmNsdWRlcyh0Lm5hbWUpJiZuJiYoZS5zZXRBdHRyaWJ1dGUoIm9uQ2xpY2siLCJyZXR1cm4gZmFsc2U7IiksZS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKGZ1bmN0aW9uKGUpe24oZSx7bm9kZTp0fSksZS5zdG9wUHJvcGFnYXRpb24oKX0pLCEwKSl9KSh0LHMscik7dmFyIGg9dC5jaGlsZHJlbjtBcnJheS5pc0FycmF5KGgpJiZoLmxlbmd0aCYmbCh0LmNoaWxkcmVuLHMsbixyKSxlLmFwcGVuZENoaWxkKHMpfX0pKSxlfXZhciBmPXtuYW1lOiJSaWNoVGV4dCIscHJvcHM6e25vZGVzOnt0eXBlOltBcnJheSxTdHJpbmddLGRlZmF1bHQ6ZnVuY3Rpb24oKXtyZXR1cm5bXX19fSx3YXRjaDp7bm9kZXM6ZnVuY3Rpb24odCl7dGhpcy5fcmVuZGVyTm9kZXModCl9fSxtb3VudGVkOmZ1bmN0aW9uKCl7dGhpcy5fcmVuZGVyTm9kZXModGhpcy5ub2Rlcyl9LG1ldGhvZHM6e19yZW5kZXJOb2RlczpmdW5jdGlvbih0KXt2YXIgZT0iIixuPXRoaXM7d2hpbGUobikhZSYmKGU9bi4kb3B0aW9ucy5fc2NvcGVJZCksbj1uLiRwYXJlbnQ7dmFyIGk9ISF0aGlzLiRsaXN0ZW5lcnMuaXRlbWNsaWNrO2lmKHRoaXMuX2lzTW91bnRlZCl7InN0cmluZyI9PT10eXBlb2YgdCYmKHQ9T2JqZWN0KHJbImEiXSkodCkpO3ZhciBvPWwodCxkb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCksZSxpJiZ0aGlzLnRyaWdnZXJJdGVtQ2xpY2spO28uYXBwZW5kQ2hpbGQodGhpcy4kcmVmcy5zZW5zb3IuJGVsKTt2YXIgYT10aGlzLiRyZWZzLmNvbnRlbnQ7YS5pbm5lckhUTUw9IiIsYS5hcHBlbmRDaGlsZChvKX19LF91cGRhdGVWaWV3OmZ1bmN0aW9uKCl7d2luZG93LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJ1cGRhdGV2aWV3IikpfSx0cmlnZ2VySXRlbUNsaWNrOmZ1bmN0aW9uKHQpe3ZhciBlPWFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXTp7fTt0aGlzLiR0cmlnZ2VyKCJpdGVtY2xpY2siLHQsZSl9fX0sZD1mLGg9bigiODg0NCIpLHA9T2JqZWN0KGhbImEiXSkoZCwoZnVuY3Rpb24oKXt2YXIgdD10aGlzLGU9dC4kY3JlYXRlRWxlbWVudCxuPXQuX3NlbGYuX2N8fGU7cmV0dXJuIG4oInVuaS1yaWNoLXRleHQiLHQuX2coe30sdC4kbGlzdGVuZXJzKSxbbigiZGl2Iix7cmVmOiJjb250ZW50In0sW24oInYtdW5pLXJlc2l6ZS1zZW5zb3IiLHtyZWY6InNlbnNvciIsb246e3Jlc2l6ZTpmdW5jdGlvbihlKXtyZXR1cm4gdC5fdXBkYXRlVmlldygpfX19KV0sMSldKX0pLFtdLCExLG51bGwsbnVsbCxudWxsKTtlWyJkZWZhdWx0Il09cC5leHBvcnRzfSwiN2NjZSI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtuLmQoZSwiYSIsKGZ1bmN0aW9uKCl7cmV0dXJuIGl9KSksbi5kKGUsImIiLChmdW5jdGlvbigpe3JldHVybiBhfSkpO3ZhciByPW4oIjM0MGQiKSxpPWZ1bmN0aW9uKCl7dmFyIHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIik7dC5oZWlnaHQ9dC53aWR0aD0wO3ZhciBlPXQuZ2V0Q29udGV4dCgiMmQiKSxuPWUuYmFja2luZ1N0b3JlUGl4ZWxSYXRpb3x8ZS53ZWJraXRCYWNraW5nU3RvcmVQaXhlbFJhdGlvfHxlLm1vekJhY2tpbmdTdG9yZVBpeGVsUmF0aW98fGUubXNCYWNraW5nU3RvcmVQaXhlbFJhdGlvfHxlLm9CYWNraW5nU3RvcmVQaXhlbFJhdGlvfHxlLmJhY2tpbmdTdG9yZVBpeGVsUmF0aW98fDE7cmV0dXJuKHdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvfHwxKS9ufSgpLG89Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJELnByb3RvdHlwZTtmdW5jdGlvbiBhKHQpe3ZhciBlPSEoYXJndW1lbnRzLmxlbmd0aD4xJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0pfHxhcmd1bWVudHNbMV07dC53aWR0aD10Lm9mZnNldFdpZHRoKihlP2k6MSksdC5oZWlnaHQ9dC5vZmZzZXRIZWlnaHQqKGU/aToxKSx0Ll9faGlkcGlfXz1lLHQuX19jb250ZXh0MmRfXz10LmdldENvbnRleHQoIjJkIiksdC5fX2NvbnRleHQyZF9fLl9faGlkcGlfXz1lfW8uZHJhd0ltYWdlQnlDYW52YXM9ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKGUsbixyLG8sYSxzLGMsdSxsLGYpe2lmKCF0aGlzLl9faGlkcGlfXylyZXR1cm4gdC5hcHBseSh0aGlzLGFyZ3VtZW50cyk7bio9aSxyKj1pLG8qPWksYSo9aSxzKj1pLGMqPWksdT1mP3UqaTp1LGw9Zj9sKmk6bCx0LmNhbGwodGhpcyxlLG4scixvLGEscyxjLHUsbCl9fShvLmRyYXdJbWFnZSksMSE9PWkmJihmdW5jdGlvbih0LGUpe2Zvcih2YXIgbiBpbiB0KU9iamVjdChyWyJpIl0pKHQsbikmJmUodFtuXSxuKX0oe2ZpbGxSZWN0OiJhbGwiLGNsZWFyUmVjdDoiYWxsIixzdHJva2VSZWN0OiJhbGwiLG1vdmVUbzoiYWxsIixsaW5lVG86ImFsbCIsYXJjOlswLDEsMl0sYXJjVG86ImFsbCIsYmV6aWVyQ3VydmVUbzoiYWxsIixpc1BvaW50aW5QYXRoOiJhbGwiLGlzUG9pbnRpblN0cm9rZToiYWxsIixxdWFkcmF0aWNDdXJ2ZVRvOiJhbGwiLHJlY3Q6ImFsbCIsdHJhbnNsYXRlOiJhbGwiLGNyZWF0ZVJhZGlhbEdyYWRpZW50OiJhbGwiLGNyZWF0ZUxpbmVhckdyYWRpZW50OiJhbGwiLHRyYW5zZm9ybTpbNCw1XSxzZXRUcmFuc2Zvcm06WzQsNV19LChmdW5jdGlvbih0LGUpe29bZV09ZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKCl7aWYoIXRoaXMuX19oaWRwaV9fKXJldHVybiBlLmFwcGx5KHRoaXMsYXJndW1lbnRzKTt2YXIgbj1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpO2lmKCJhbGwiPT09dCluPW4ubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gdCppfSkpO2Vsc2UgaWYoQXJyYXkuaXNBcnJheSh0KSlmb3IodmFyIHI9MDtyPHQubGVuZ3RoO3IrKyluW3Rbcl1dKj1pO3JldHVybiBlLmFwcGx5KHRoaXMsbil9fShvW2VdKX0pKSxvLnN0cm9rZT1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oKXtpZighdGhpcy5fX2hpZHBpX18pcmV0dXJuIHQuYXBwbHkodGhpcyxhcmd1bWVudHMpO3RoaXMubGluZVdpZHRoKj1pLHQuYXBwbHkodGhpcyxhcmd1bWVudHMpLHRoaXMubGluZVdpZHRoLz1pfX0oby5zdHJva2UpLG8uZmlsbFRleHQ9ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7aWYoIXRoaXMuX19oaWRwaV9fKXJldHVybiB0LmFwcGx5KHRoaXMsYXJndW1lbnRzKTt2YXIgZT1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpO2VbMV0qPWksZVsyXSo9aSxlWzNdKj1pLGlzTmFOKGVbM10pJiYoZS5sZW5ndGg9Myk7dmFyIG49dGhpcy5fX2ZvbnRfX3x8dGhpcy5mb250O3RoaXMuZm9udD1uLnJlcGxhY2UoLyhcZCtcLj9cZCopKHB4fGVtfHJlbXxwdCkvZywoZnVuY3Rpb24odCxlLG4pe3JldHVybiBlKmkrbn0pKSx0LmFwcGx5KHRoaXMsZSksdGhpcy5mb250PW59fShvLmZpbGxUZXh0KSxvLnN0cm9rZVRleHQ9ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7aWYoIXRoaXMuX19oaWRwaV9fKXJldHVybiB0LmFwcGx5KHRoaXMsYXJndW1lbnRzKTt2YXIgZT1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpO2VbMV0qPWksZVsyXSo9aSxlWzNdKj1pLGlzTmFOKGVbM10pJiYoZS5sZW5ndGg9Myk7dmFyIG49dGhpcy5fX2ZvbnRfX3x8dGhpcy5mb250O3RoaXMuZm9udD1uLnJlcGxhY2UoLyhcZCtcLj9cZCopKHB4fGVtfHJlbXxwdCkvZywoZnVuY3Rpb24odCxlLG4pe3JldHVybiBlKmkrbn0pKSx0LmFwcGx5KHRoaXMsZSksdGhpcy5mb250PW59fShvLnN0cm9rZVRleHQpLG8uZHJhd0ltYWdlPWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbigpe2lmKCF0aGlzLl9faGlkcGlfXylyZXR1cm4gdC5hcHBseSh0aGlzLGFyZ3VtZW50cyk7dGhpcy5zY2FsZShpLGkpLHQuYXBwbHkodGhpcyxhcmd1bWVudHMpLHRoaXMuc2NhbGUoMS9pLDEvaSl9fShvLmRyYXdJbWFnZSkpfSwiN2Q5NiI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjsoZnVuY3Rpb24odCxyKXt2YXIgaT1uKCIzNDBkIiksbz1uKCJjODBjIiksYT1uKCI1ZGI5Iikscz1uKCI0OWRmIiksYz1uKCI0ZTQ2Iik7ZVsiYSJdPXtuYW1lOiJBcHAiLGNvbXBvbmVudHM6YVsiYSJdLG1peGluczpzWyJkZWZhdWx0Il0scHJvcHM6e2tlZXBBbGl2ZUluY2x1ZGU6e3R5cGU6QXJyYXksZGVmYXVsdDpmdW5jdGlvbigpe3JldHVybltdfX19LGRhdGE6ZnVuY3Rpb24oKXtyZXR1cm57dHJhbnNpdGlvbk5hbWU6ImZhZGUiLGhpZGVUYWJCYXI6ITEsc3lzQ29tcG9uZW50czp0aGlzLiRzeXNDb21wb25lbnRzLHNob3dMYXlvdXQ6ITEsc2hvd01heFdpZHRoOiExLHRhYkJhck1lZGlhUXVlcnk6ITF9fSxjb21wdXRlZDp7a2V5OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuJHJvdXRlLm1ldGEubmFtZSsiLSIrdGhpcy4kcm91dGUucGFyYW1zLl9faWRfXysiLSIrKF9fdW5pQ29uZmlnLnJlTGF1bmNofHwxKX0sdGFiQmFyT3B0aW9uczpmdW5jdGlvbigpe3JldHVybiBjWyJhIl19LGhhc1RhYkJhcjpmdW5jdGlvbigpe3JldHVybiBjWyJhIl0ubGlzdCYmY1siYSJdLmxpc3QubGVuZ3RofSxzaG93VGFiQmFyOmZ1bmN0aW9uKCl7cmV0dXJuIXRoaXMuaGlkZVRhYkJhciYmKHRoaXMuJHJvdXRlLm1ldGEuaXNUYWJCYXJ8fHRoaXMudGFiQmFyTWVkaWFRdWVyeSl9fSx3YXRjaDp7JHJvdXRlOmZ1bmN0aW9uKGUsbil7dC5lbWl0KCJvbkhpZGVQb3B1cCIpfSxoaWRlVGFiQmFyOmZ1bmN0aW9uKHQsZSl7aWYodW5pLmNhbklVc2UoImNzcy52YXIiKSl7dmFyIG49dD8wOm9bImQiXSxpPXVuaS5jYW5JVXNlKCJjc3MuZW52Iik/ImVudiI6dW5pLmNhbklVc2UoImNzcy5jb25zdGFudCIpPyJjb25zdGFudCI6IiIsYT1uJiZpPyJjYWxjKCIuY29uY2F0KG4sInB4ICsgIikuY29uY2F0KGksIihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKSkiKToiIi5jb25jYXQobiwicHgiKTtkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoIi0td2luZG93LWJvdHRvbSIsYSksci5kZWJ1ZygidW5pLiIuY29uY2F0KGE/InNob3dUYWJCYXIiOiJoaWRlVGFiQmFyIiwi77yaLS13aW5kb3ctYm90dG9tPSIpLmNvbmNhdChhKSl9d2luZG93LmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJyZXNpemUiKSl9fSxjcmVhdGVkOmZ1bmN0aW9uKCl7dW5pLmNhbklVc2UoImNzcy52YXIiKSYmZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCItLXN0YXR1cy1iYXItaGVpZ2h0IiwiMHB4IiksdGhpcy5pbml0TWVkaWFRdWVyeSgpfSxtb3VudGVkOmZ1bmN0aW9uKCl7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLChmdW5jdGlvbihlKXtPYmplY3QoaVsibCJdKShlLmRhdGEpJiYiV0VCX0lOVk9LRV9BUFBTRVJWSUNFIj09PWUuZGF0YS50eXBlJiZ0LmVtaXQoIm9uV2ViSW52b2tlQXBwU2VydmljZSIsZS5kYXRhLmRhdGEsZS5kYXRhLnBhZ2VJZCl9KSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidmlzaWJpbGl0eWNoYW5nZSIsKGZ1bmN0aW9uKCl7InZpc2libGUiPT09ZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlP3QuZW1pdCgib25BcHBFbnRlckZvcmVncm91bmQiLHt9KTp0LmVtaXQoIm9uQXBwRW50ZXJCYWNrZ3JvdW5kIil9KSksZnVuY3Rpb24oKXt2YXIgZT1udWxsO3RyeXtlPXdpbmRvdy5tYXRjaE1lZGlhKCIocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIil9Y2F0Y2gocil7fWlmKGUpe3ZhciBuPWZ1bmN0aW9uKGUpe3QuZW1pdCgiYXBpLiIrb1siYiJdLHt0aGVtZTplLm1hdGNoZXM/ImRhcmsiOiJsaWdodCJ9KX07ZS5hZGRFdmVudExpc3RlbmVyP2UuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixuKTplLmFkZExpc3RlbmVyKG4pfX0oKX0sbWV0aG9kczp7b25MYXlvdXQ6ZnVuY3Rpb24odCl7dGhpcy5zaG93TGF5b3V0PXR9LG9uTWF4V2lkdGg6ZnVuY3Rpb24odCl7dGhpcy5zaG93TWF4V2lkdGg9dH0saW5pdE1lZGlhUXVlcnk6ZnVuY3Rpb24oKXt2YXIgdD10aGlzO2lmKHdpbmRvdy5tYXRjaE1lZGlhJiZjWyJhIl0ubWF0Y2hNZWRpYSYmT2JqZWN0KGlbImkiXSkoY1siYSJdLm1hdGNoTWVkaWEsIm1pbldpZHRoIikpe3ZhciBlPXdpbmRvdy5tYXRjaE1lZGlhKCIobWluLXdpZHRoOiAiK2NbImEiXS5tYXRjaE1lZGlhLm1pbldpZHRoKyJweCkiKTtlLmFkZExpc3RlbmVyKChmdW5jdGlvbihlKXt0LnRhYkJhck1lZGlhUXVlcnk9ZS5tYXRjaGVzfSkpLHRoaXMudGFiQmFyTWVkaWFRdWVyeT1lLm1hdGNoZXN9fX19fSkuY2FsbCh0aGlzLG4oIjJjOWYiKSxuKCI0MThiIilbImRlZmF1bHQiXSl9LCI3ZWZhIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO24ucihlKTtmdW5jdGlvbiBpKHQpe3JldHVybiBpPSJmdW5jdGlvbiI9PT10eXBlb2YgU3ltYm9sJiYic3ltYm9sIj09PXIoU3ltYm9sLml0ZXJhdG9yKT9mdW5jdGlvbih0KXtyZXR1cm4gcih0KX06ZnVuY3Rpb24odCl7cmV0dXJuIHQmJiJmdW5jdGlvbiI9PT10eXBlb2YgU3ltYm9sJiZ0LmNvbnN0cnVjdG9yPT09U3ltYm9sJiZ0IT09U3ltYm9sLnByb3RvdHlwZT8ic3ltYm9sIjpyKHQpfSxpKHQpfWZ1bmN0aW9uIG8odCl7cmV0dXJuKCJ1bmRlZmluZWQiPT09dHlwZW9mIG5hdmlnYXRvcnx8aShuYXZpZ2F0b3IpKSYmIkdvb2dsZSBJbmMuIj09PW5hdmlnYXRvci52ZW5kb3ImJnQ+MTAmJih0PTIqTWF0aC5yb3VuZCh0LzIpKSx0fXZhciBhPXtuYW1lOiJJbWFnZSIscHJvcHM6e3NyYzp7dHlwZTpTdHJpbmcsZGVmYXVsdDoiIn0sbW9kZTp7dHlwZTpTdHJpbmcsZGVmYXVsdDoic2NhbGVUb0ZpbGwifSxsYXp5TG9hZDp7dHlwZTpbQm9vbGVhbixTdHJpbmddLGRlZmF1bHQ6ITF9LGRyYWdnYWJsZTp7dHlwZTpCb29sZWFuLGRlZmF1bHQ6ITF9fSxkYXRhOmZ1bmN0aW9uKCl7cmV0dXJue29yaWdpbmFsV2lkdGg6MCxvcmlnaW5hbEhlaWdodDowLG9yaWdpbmFsU3R5bGU6e3dpZHRoOiIiLGhlaWdodDoiIn0sY29udGVudFBhdGg6IiJ9fSxjb21wdXRlZDp7cmF0aW86ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5vcmlnaW5hbFdpZHRoJiZ0aGlzLm9yaWdpbmFsSGVpZ2h0P3RoaXMub3JpZ2luYWxXaWR0aC90aGlzLm9yaWdpbmFsSGVpZ2h0OjB9LHN0eWxlOmZ1bmN0aW9uKCl7dmFyIHQ9ImF1dG8iLGU9IiI7c3dpdGNoKHRoaXMubW9kZSl7Y2FzZSJhc3BlY3RGaXQiOnQ9ImNvbnRhaW4iLGU9ImNlbnRlciBjZW50ZXIiO2JyZWFrO2Nhc2UiYXNwZWN0RmlsbCI6dD0iY292ZXIiLGU9ImNlbnRlciBjZW50ZXIiO2JyZWFrO2Nhc2Uid2lkdGhGaXgiOmNhc2UiaGVpZ2h0Rml4Ijp0PSIxMDAlIDEwMCUiO2JyZWFrO2Nhc2UidG9wIjplPSJjZW50ZXIgdG9wIjticmVhaztjYXNlImJvdHRvbSI6ZT0iY2VudGVyIGJvdHRvbSI7YnJlYWs7Y2FzZSJjZW50ZXIiOmU9ImNlbnRlciBjZW50ZXIiO2JyZWFrO2Nhc2UibGVmdCI6ZT0ibGVmdCBjZW50ZXIiO2JyZWFrO2Nhc2UicmlnaHQiOmU9InJpZ2h0IGNlbnRlciI7YnJlYWs7Y2FzZSJ0b3AgbGVmdCI6ZT0ibGVmdCB0b3AiO2JyZWFrO2Nhc2UidG9wIHJpZ2h0IjplPSJyaWdodCB0b3AiO2JyZWFrO2Nhc2UiYm90dG9tIGxlZnQiOmU9ImxlZnQgYm90dG9tIjticmVhaztjYXNlImJvdHRvbSByaWdodCI6ZT0icmlnaHQgYm90dG9tIjticmVhaztkZWZhdWx0OnQ9IjEwMCUgMTAwJSIsZT0iMCUgMCUiO2JyZWFrfXJldHVybnsiYmFja2dyb3VuZC1pbWFnZSI6dGhpcy5jb250ZW50UGF0aD8ndXJsKCInLmNvbmNhdCh0aGlzLmNvbnRlbnRQYXRoLCciKScpOiJub25lIiwiYmFja2dyb3VuZC1wb3NpdGlvbiI6ZSwiYmFja2dyb3VuZC1zaXplIjp0LCJiYWNrZ3JvdW5kLXJlcGVhdCI6Im5vLXJlcGVhdCJ9fX0sd2F0Y2g6e3NyYzpmdW5jdGlvbih0LGUpe3RoaXMuX2xvYWRJbWFnZSgpfSxtb2RlOmZ1bmN0aW9uKHQsZSl7IndpZHRoRml4IiE9PWUmJiJoZWlnaHRGaXgiIT09ZXx8dGhpcy5fcmVzZXRTaXplKCksIndpZHRoRml4IiE9PXQmJiJoZWlnaHRGaXgiIT09dHx8dGhpcy5fZml4U2l6ZSgpfSxjb250ZW50UGF0aDpmdW5jdGlvbih0KXshdCYmdGhpcy5fX2ltZyYmKHRoaXMuX19pbWcucmVtb3ZlKCksZGVsZXRlIHRoaXMuX19pbWcpfX0sbW91bnRlZDpmdW5jdGlvbigpe3RoaXMub3JpZ2luYWxTdHlsZS53aWR0aD10aGlzLiRlbC5zdHlsZS53aWR0aHx8IiIsdGhpcy5vcmlnaW5hbFN0eWxlLmhlaWdodD10aGlzLiRlbC5zdHlsZS5oZWlnaHR8fCIiLHRoaXMuX2xvYWRJbWFnZSgpfSxiZWZvcmVEZXN0cm95OmZ1bmN0aW9uKCl7dGhpcy5fY2xlYXJJbWFnZSgpfSxtZXRob2RzOntfZml4U2l6ZTpmdW5jdGlvbigpe2lmKHRoaXMucmF0aW8pe3ZhciB0PXRoaXMuJGVsO2lmKCJ3aWR0aEZpeCI9PT10aGlzLm1vZGUpe3ZhciBlPXQub2Zmc2V0V2lkdGg7ZSYmKHQuc3R5bGUuaGVpZ2h0PW8oZS90aGlzLnJhdGlvKSsicHgiKX1lbHNlIGlmKCJoZWlnaHRGaXgiPT09dGhpcy5tb2RlKXt2YXIgbj10Lm9mZnNldEhlaWdodDtuJiYodC5zdHlsZS53aWR0aD1vKG4qdGhpcy5yYXRpbykrInB4Iil9fXdpbmRvdy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgidXBkYXRldmlldyIpKX0sX3Jlc2V0U2l6ZTpmdW5jdGlvbigpe3RoaXMuJGVsLnN0eWxlLndpZHRoPXRoaXMub3JpZ2luYWxTdHlsZS53aWR0aCx0aGlzLiRlbC5zdHlsZS5oZWlnaHQ9dGhpcy5vcmlnaW5hbFN0eWxlLmhlaWdodH0sX3Jlc2V0RGF0YTpmdW5jdGlvbigpe3RoaXMub3JpZ2luYWxXaWR0aD0wLHRoaXMub3JpZ2luYWxIZWlnaHQ9MCx0aGlzLmNvbnRlbnRQYXRoPSIifSxfbG9hZEltYWdlOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPXRoaXMuJGdldFJlYWxQYXRoKHRoaXMuc3JjKTtpZihlKXt2YXIgbj10aGlzLl9pbWc9dGhpcy5faW1nfHxuZXcgSW1hZ2U7bi5vbmxvYWQ9ZnVuY3Rpb24ocil7dC5faW1nPW51bGw7dmFyIGk9dC5vcmlnaW5hbFdpZHRoPW4ud2lkdGgsbz10Lm9yaWdpbmFsSGVpZ2h0PW4uaGVpZ2h0O3QuX2ZpeFNpemUoKSx0LmNvbnRlbnRQYXRoPWUsbi5kcmFnZ2FibGU9dC5kcmFnZ2FibGUsdC5fX2ltZyYmdC5fX2ltZy5yZW1vdmUoKSx0Ll9faW1nPW4sdC4kZWwuYXBwZW5kQ2hpbGQobiksdC4kdHJpZ2dlcigibG9hZCIscix7d2lkdGg6aSxoZWlnaHQ6b30pfSxuLm9uZXJyb3I9ZnVuY3Rpb24oZSl7dC5faW1nPW51bGwsdC5fcmVzZXREYXRhKCksdC4kdHJpZ2dlcigiZXJyb3IiLGUse2Vyck1zZzoiR0VUICIuY29uY2F0KHQuc3JjLCIgNDA0IChOb3QgRm91bmQpIil9KX0sbi5zcmM9ZX1lbHNlIHRoaXMuX2NsZWFySW1hZ2UoKSx0aGlzLl9yZXNldERhdGEoKX0sX2NsZWFySW1hZ2U6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9pbWc7dCYmKHQub25sb2FkPW51bGwsdC5vbmVycm9yPW51bGwsdGhpcy5faW1nPW51bGwpfX19LHM9YSxjPShuKCI0ZGM2IiksbigiODg0NCIpKSx1PU9iamVjdChjWyJhIl0pKHMsKGZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPXQuJGNyZWF0ZUVsZW1lbnQsbj10Ll9zZWxmLl9jfHxlO3JldHVybiBuKCJ1bmktaW1hZ2UiLHQuX2coe30sdC4kbGlzdGVuZXJzKSxbbigiZGl2Iix7cmVmOiJjb250ZW50IixzdHlsZTp0LnN0eWxlfSksIndpZHRoRml4Ij09PXQubW9kZXx8ImhlaWdodEZpeCI9PT10Lm1vZGU/bigidi11bmktcmVzaXplLXNlbnNvciIse3JlZjoic2Vuc29yIixvbjp7cmVzaXplOmZ1bmN0aW9uKGUpe3JldHVybiB0Ll9maXhTaXplKCl9fX0pOnQuX2UoKV0sMSl9KSxbXSwhMSxudWxsLG51bGwsbnVsbCk7ZVsiZGVmYXVsdCJdPXUuZXhwb3J0c30sIjdmZDIiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5yKGUpLGZ1bmN0aW9uKHQscil7bi5kKGUsImNob29zZUZpbGUiLChmdW5jdGlvbigpe3JldHVybiBmfSkpO3ZhciBpPW4oImJkZWUiKSxvPW4oIjAzNzIiKSxhPW4oIjQ5M2QiKSxzPW4oIjkwOWUiKSxjPXQsdT1jLmludm9rZUNhbGxiYWNrSGFuZGxlcixsPW51bGw7ZnVuY3Rpb24gZih0LGUpe3ZhciBuPXQuY291bnQsYz10LnNvdXJjZVR5cGUsZj10LnR5cGUsZD10LmV4dGVuc2lvbjtsJiYoZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChsKSxsPW51bGwpLGw9T2JqZWN0KGFbImRlZmF1bHQiXSkoe2NvdW50Om4sc291cmNlVHlwZTpjLHR5cGU6ZixleHRlbnNpb246ZH0pLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQobCksbC5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLChmdW5jdGlvbih0KXtmb3IodmFyIHI9W10sbz10LnRhcmdldC5maWxlcy5sZW5ndGgsYT1mdW5jdGlvbihlKXt2YXIgbz10LnRhcmdldC5maWxlc1tlXSxhPXZvaWQgMDtPYmplY3QuZGVmaW5lUHJvcGVydHkobywicGF0aCIse2dldDpmdW5jdGlvbigpe3JldHVybiBhPWF8fE9iamVjdChpWyJiIl0pKG8pLGF9fSksZTxuJiZyLnB1c2gobyl9LHM9MDtzPG87cysrKWEocyk7dmFyIGM9e2Vyck1zZzoiY2hvb3NlRmlsZTpvayIsZ2V0IHRlbXBGaWxlUGF0aHMoKXtyZXR1cm4gci5tYXAoKGZ1bmN0aW9uKHQpe3ZhciBlPXQucGF0aDtyZXR1cm4gZX0pKX0sdGVtcEZpbGVzOnJ9O3UoZSxjKX0pKSxsLmNsaWNrKCksc1siZCJdLmdldFN0YXR1cygpfHxyLndhcm4oIiIuY29uY2F0KE9iamVjdChvWyJnIl0pKCJ1bmkuY2hvb3NlRmlsZS5ub3RVc2VyQWN0aXZhdGlvbiIpKSl9fS5jYWxsKHRoaXMsbigiMmM5ZiIpLG4oIjQxOGIiKVsiZGVmYXVsdCJdKX0sIjgwMWIiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5yKGUpO3ZhciByPXthY3RpdmVDb2xvcjoiIzAwN0FGRiIsYmFja2dyb3VuZENvbG9yOiIjRUJFQkVCIixhY3RpdmVNb2RlOiJiYWNrd2FyZHMifSxpPXtuYW1lOiJQcm9ncmVzcyIscHJvcHM6e3BlcmNlbnQ6e3R5cGU6W051bWJlcixTdHJpbmddLGRlZmF1bHQ6MCx2YWxpZGF0b3I6ZnVuY3Rpb24odCl7cmV0dXJuIWlzTmFOKHBhcnNlRmxvYXQodCwxMCkpfX0sc2hvd0luZm86e3R5cGU6W0Jvb2xlYW4sU3RyaW5nXSxkZWZhdWx0OiExfSxzdHJva2VXaWR0aDp7dHlwZTpbTnVtYmVyLFN0cmluZ10sZGVmYXVsdDo2LHZhbGlkYXRvcjpmdW5jdGlvbih0KXtyZXR1cm4haXNOYU4ocGFyc2VGbG9hdCh0LDEwKSl9fSxjb2xvcjp7dHlwZTpTdHJpbmcsZGVmYXVsdDpyLmFjdGl2ZUNvbG9yfSxhY3RpdmVDb2xvcjp7dHlwZTpTdHJpbmcsZGVmYXVsdDpyLmFjdGl2ZUNvbG9yfSxiYWNrZ3JvdW5kQ29sb3I6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6ci5iYWNrZ3JvdW5kQ29sb3J9LGFjdGl2ZTp7dHlwZTpbQm9vbGVhbixTdHJpbmddLGRlZmF1bHQ6ITF9LGFjdGl2ZU1vZGU6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6ci5hY3RpdmVNb2RlfSxkdXJhdGlvbjp7dHlwZTpbTnVtYmVyLFN0cmluZ10sZGVmYXVsdDozMCx2YWxpZGF0b3I6ZnVuY3Rpb24odCl7cmV0dXJuIWlzTmFOKHBhcnNlRmxvYXQodCwxMCkpfX19LGRhdGE6ZnVuY3Rpb24oKXtyZXR1cm57Y3VycmVudFBlcmNlbnQ6MCxzdHJva2VUaW1lcjowLGxhc3RQZXJjZW50OjB9fSxjb21wdXRlZDp7b3V0ZXJCYXJTdHlsZTpmdW5jdGlvbigpe3JldHVybiJiYWNrZ3JvdW5kLWNvbG9yOiAiLmNvbmNhdCh0aGlzLmJhY2tncm91bmRDb2xvciwiOyBoZWlnaHQ6ICIpLmNvbmNhdCh0aGlzLnN0cm9rZVdpZHRoLCJweDsiKX0saW5uZXJCYXJTdHlsZTpmdW5jdGlvbigpe3ZhciB0O3JldHVybiB0PXRoaXMuY29sb3IhPT1yLmFjdGl2ZUNvbG9yJiZ0aGlzLmFjdGl2ZUNvbG9yPT09ci5hY3RpdmVDb2xvcj90aGlzLmNvbG9yOnRoaXMuYWN0aXZlQ29sb3IsIndpZHRoOiAiLmNvbmNhdCh0aGlzLmN1cnJlbnRQZXJjZW50LCIlO2JhY2tncm91bmQtY29sb3I6ICIpLmNvbmNhdCh0KX0scmVhbFBlcmNlbnQ6ZnVuY3Rpb24oKXt2YXIgdD1wYXJzZUZsb2F0KHRoaXMucGVyY2VudCwxMCk7cmV0dXJuIHQ8MCYmKHQ9MCksdD4xMDAmJih0PTEwMCksdH19LHdhdGNoOntyZWFsUGVyY2VudDpmdW5jdGlvbih0LGUpe3RoaXMuc3Ryb2tlVGltZXImJmNsZWFySW50ZXJ2YWwodGhpcy5zdHJva2VUaW1lciksdGhpcy5sYXN0UGVyY2VudD1lfHwwLHRoaXMuX2FjdGl2ZUFuaW1hdGlvbigpfX0sY3JlYXRlZDpmdW5jdGlvbigpe3RoaXMuX2FjdGl2ZUFuaW1hdGlvbigpfSxtZXRob2RzOntfYWN0aXZlQW5pbWF0aW9uOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpczt0aGlzLmFjdGl2ZT8odGhpcy5jdXJyZW50UGVyY2VudD10aGlzLmFjdGl2ZU1vZGU9PT1yLmFjdGl2ZU1vZGU/MDp0aGlzLmxhc3RQZXJjZW50LHRoaXMuc3Ryb2tlVGltZXI9c2V0SW50ZXJ2YWwoKGZ1bmN0aW9uKCl7dC5jdXJyZW50UGVyY2VudCsxPnQucmVhbFBlcmNlbnQ/KHQuY3VycmVudFBlcmNlbnQ9dC5yZWFsUGVyY2VudCx0LnN0cm9rZVRpbWVyJiZjbGVhckludGVydmFsKHQuc3Ryb2tlVGltZXIpKTp0LmN1cnJlbnRQZXJjZW50Kz0xfSkscGFyc2VGbG9hdCh0aGlzLmR1cmF0aW9uKSkpOnRoaXMuY3VycmVudFBlcmNlbnQ9dGhpcy5yZWFsUGVyY2VudH19fSxvPWksYT0obigiYTE4ZCIpLG4oIjg4NDQiKSkscz1PYmplY3QoYVsiYSJdKShvLChmdW5jdGlvbigpe3ZhciB0PXRoaXMsZT10LiRjcmVhdGVFbGVtZW50LG49dC5fc2VsZi5fY3x8ZTtyZXR1cm4gbigidW5pLXByb2dyZXNzIix0Ll9nKHtzdGF0aWNDbGFzczoidW5pLXByb2dyZXNzIn0sdC4kbGlzdGVuZXJzKSxbbigiZGl2Iix7c3RhdGljQ2xhc3M6InVuaS1wcm9ncmVzcy1iYXIiLHN0eWxlOnQub3V0ZXJCYXJTdHlsZX0sW24oImRpdiIse3N0YXRpY0NsYXNzOiJ1bmktcHJvZ3Jlc3MtaW5uZXItYmFyIixzdHlsZTp0LmlubmVyQmFyU3R5bGV9KV0pLHQuc2hvd0luZm8/W24oInAiLHtzdGF0aWNDbGFzczoidW5pLXByb2dyZXNzLWluZm8ifSxbdC5fdigiICIrdC5fcyh0LmN1cnJlbnRQZXJjZW50KSsiJSAiKV0pXTp0Ll9lKCldLDIpfSksW10sITEsbnVsbCxudWxsLG51bGwpO2VbImRlZmF1bHQiXT1zLmV4cG9ydHN9LDgwNzY6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtuLnIoZSksZnVuY3Rpb24odCl7bi5kKGUsInByZXZpZXdJbWFnZSIsKGZ1bmN0aW9uKCl7cmV0dXJuIGF9KSksbi5kKGUsImNsb3NlUHJldmlld0ltYWdlIiwoZnVuY3Rpb24oKXtyZXR1cm4gc30pKTt2YXIgcj10LGk9ci5lbWl0LG89ci5pbnZva2VDYWxsYmFja0hhbmRsZXI7ZnVuY3Rpb24gYSh0LGUpe2koIm9uU2hvd1ByZXZpZXdJbWFnZSIsdCwoZnVuY3Rpb24odCl7byhlLHtlcnJNc2c6InByZXZpZXdJbWFnZTpvayJ9KX0pKX1mdW5jdGlvbiBzKHQsZSl7aSgib25DbG9zZVByZXZpZXdJbWFnZSIsKGZ1bmN0aW9uKCl7byhlLHtlcnJNc2c6ImNsb3NlUHJldmlld0ltYWdlOm9rIn0pfSkpfX0uY2FsbCh0aGlzLG4oIjJjOWYiKSl9LCI4MWZmIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO24ucihlKSxuLmQoZSwidmlicmF0ZUxvbmciLChmdW5jdGlvbigpe3JldHVybiBpfSkpLG4uZChlLCJ2aWJyYXRlU2hvcnQiLChmdW5jdGlvbigpe3JldHVybiBvfSkpO3ZhciByPSEhd2luZG93Lm5hdmlnYXRvci52aWJyYXRlO2Z1bmN0aW9uIGkoKXtyZXR1cm4gciYmd2luZG93Lm5hdmlnYXRvci52aWJyYXRlKDQwMCk/e2Vyck1zZzoidmlicmF0ZUxvbmc6b2sifTp7ZXJyTXNnOiJ2aWJyYXRlTG9uZzpmYWlsIn19ZnVuY3Rpb24gbygpe3JldHVybiByJiZ3aW5kb3cubmF2aWdhdG9yLnZpYnJhdGUoMTUpP3tlcnJNc2c6InZpYnJhdGVTaG9ydDpvayJ9OntlcnJNc2c6InZpYnJhdGVTaG9ydDpmYWlsIn19fSwiODJmMSI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtuLnIoZSksZnVuY3Rpb24odCl7bi5kKGUsImdldFZpZGVvSW5mbyIsKGZ1bmN0aW9uKCl7cmV0dXJuIGl9KSk7dmFyIHI9bigiYmRlZSIpO2Z1bmN0aW9uIGkoZSxuKXt2YXIgaT1lLnNyYyxvPXQsYT1vLmludm9rZUNhbGxiYWNrSGFuZGxlcjtPYmplY3QoclsiZiJdKShpLCEwKS50aGVuKChmdW5jdGlvbih0KXtyZXR1cm4gdH0pKS5jYXRjaCgoZnVuY3Rpb24oKXtyZXR1cm57fX0pKS50aGVuKChmdW5jdGlvbih0KXt2YXIgZT10LnNpemU/e3NpemU6dC5zaXplLGVyck1zZzoiZ2V0VmlkZW9JbmZvOm9rIn06e2Vyck1zZzoiZ2V0VmlkZW9JbmZvOmZhaWwifSxyPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInZpZGVvIik7aWYodm9pZCAwIT09ci5vbmxvYWRlZG1ldGFkYXRhKXt2YXIgbz1zZXRUaW1lb3V0KChmdW5jdGlvbigpe3Iub25sb2FkZWRtZXRhZGF0YT1udWxsLHIub25lcnJvcj1udWxsLGEobixlKX0pLGkuc3RhcnRzV2l0aCgiZGF0YToiKXx8aS5zdGFydHNXaXRoKCJibG9iOiIpPzMwMDozZTMpO3Iub25sb2FkZWRtZXRhZGF0YT1mdW5jdGlvbigpe2NsZWFyVGltZW91dChvKSxyLm9uZXJyb3I9bnVsbCxhKG4sT2JqZWN0LmFzc2lnbihlLHtzaXplOk1hdGguY2VpbCgodD90LnNpemU6MCkvMTAyNCksZHVyYXRpb246ci5kdXJhdGlvbnx8MCx3aWR0aDpyLnZpZGVvV2lkdGh8fDAsaGVpZ2h0OnIudmlkZW9IZWlnaHR8fDAsZXJyTXNnOiJnZXRWaWRlb0luZm86b2sifSkpfSxyLm9uZXJyb3I9ZnVuY3Rpb24oKXtjbGVhclRpbWVvdXQobyksci5vbmxvYWRlZG1ldGFkYXRhPW51bGwsYShuLGUpfSxyLnNyYz1pfWVsc2UgYShuLGUpfSkpfX0uY2FsbCh0aGlzLG4oIjJjOWYiKSl9LDgzNzk6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtuLnIoZSksbi5kKGUsImNyZWF0ZVNlbGVjdG9yUXVlcnkiLChmdW5jdGlvbigpe3JldHVybiBnfSkpO3ZhciByPW4oIjM0MGQiKSxpPW4oIjc0NWEiKSxvPW4oIjYzNTIiKSxhPW4oImVkMmMiKSxzPW4oImU2OGEiKSxjPW4oIjU4ODMiKTtmdW5jdGlvbiB1KHQsZSl7aWYoISh0IGluc3RhbmNlb2YgZSkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uIil9ZnVuY3Rpb24gbCh0LGUpe2Zvcih2YXIgbj0wO248ZS5sZW5ndGg7bisrKXt2YXIgcj1lW25dO3IuZW51bWVyYWJsZT1yLmVudW1lcmFibGV8fCExLHIuY29uZmlndXJhYmxlPSEwLCJ2YWx1ZSJpbiByJiYoci53cml0YWJsZT0hMCksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsci5rZXkscil9fWZ1bmN0aW9uIGYodCxlLG4pe3JldHVybiBlJiZsKHQucHJvdG90eXBlLGUpLG4mJmwodCxuKSx0fXZhciBkPXtjYW52YXM6b1siQ2FudmFzQ29udGV4dCJdLG1hcDphWyJNYXBDb250ZXh0Il0sdmlkZW86c1siVmlkZW9Db250ZXh0Il0sZWRpdG9yOmNbIkVkaXRvckNvbnRleHQiXX07ZnVuY3Rpb24gaCh0KXtpZih0JiZ0LmNvbnRleHQpe3ZhciBlPXQuY29udGV4dCxuPWUuaWQscj1lLm5hbWUsaT1lLnBhZ2Usbz1kW3JdO3QuY29udGV4dD1vJiZuZXcgbyhuLGkpfX12YXIgcD1mdW5jdGlvbigpe2Z1bmN0aW9uIHQoZSxuLHIsaSl7dSh0aGlzLHQpLHRoaXMuX3NlbGVjdG9yUXVlcnk9ZSx0aGlzLl9jb21wb25lbnQ9bix0aGlzLl9zZWxlY3Rvcj1yLHRoaXMuX3NpbmdsZT1pfXJldHVybiBmKHQsW3trZXk6ImJvdW5kaW5nQ2xpZW50UmVjdCIsdmFsdWU6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX3NlbGVjdG9yUXVlcnkuX3B1c2godGhpcy5fc2VsZWN0b3IsdGhpcy5fY29tcG9uZW50LHRoaXMuX3NpbmdsZSx7aWQ6ITAsZGF0YXNldDohMCxyZWN0OiEwLHNpemU6ITB9LHQpLHRoaXMuX3NlbGVjdG9yUXVlcnl9fSx7a2V5OiJmaWVsZHMiLHZhbHVlOmZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMuX3NlbGVjdG9yUXVlcnkuX3B1c2godGhpcy5fc2VsZWN0b3IsdGhpcy5fY29tcG9uZW50LHRoaXMuX3NpbmdsZSx0LGUpLHRoaXMuX3NlbGVjdG9yUXVlcnl9fSx7a2V5OiJzY3JvbGxPZmZzZXQiLHZhbHVlOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9zZWxlY3RvclF1ZXJ5Ll9wdXNoKHRoaXMuX3NlbGVjdG9yLHRoaXMuX2NvbXBvbmVudCx0aGlzLl9zaW5nbGUse2lkOiEwLGRhdGFzZXQ6ITAsc2Nyb2xsT2Zmc2V0OiEwfSx0KSx0aGlzLl9zZWxlY3RvclF1ZXJ5fX0se2tleToiY29udGV4dCIsdmFsdWU6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX3NlbGVjdG9yUXVlcnkuX3B1c2godGhpcy5fc2VsZWN0b3IsdGhpcy5fY29tcG9uZW50LHRoaXMuX3NpbmdsZSx7Y29udGV4dDohMH0sdCksdGhpcy5fc2VsZWN0b3JRdWVyeX19XSksdH0oKSx2PWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdChlKXt1KHRoaXMsdCksdGhpcy5fcGFnZT1lLHRoaXMuX3F1ZXVlPVtdLHRoaXMuX3F1ZXVlQ2I9W10sdGhpcy5fbm9kZXNSZWY9bnVsbH1yZXR1cm4gZih0LFt7a2V5OiJleGVjIix2YWx1ZTpmdW5jdGlvbih0KXt2YXIgZT10aGlzO3JldHVybiBPYmplY3QoaVsiYyJdKSgicmVxdWVzdENvbXBvbmVudEluZm8iLHRoaXMuX3BhZ2UsdGhpcy5fcXVldWUsKGZ1bmN0aW9uKG4pe3ZhciBpPWUuX3F1ZXVlQ2I7bi5mb3JFYWNoKChmdW5jdGlvbih0LG4pe0FycmF5LmlzQXJyYXkodCk/dC5mb3JFYWNoKGgpOmgodCk7dmFyIG89aVtuXTtPYmplY3QoclsiayJdKShvKSYmby5jYWxsKGUsdCl9KSksT2JqZWN0KHJbImsiXSkodCkmJnQuY2FsbChlLG4pfSkpLHRoaXMuX25vZGVzUmVmfX0se2tleToiaW4iLHZhbHVlOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9jb21wb25lbnQ9dC5fJGlkfHx0LHRoaXN9fSx7a2V5OiJzZWxlY3QiLHZhbHVlOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9ub2Rlc1JlZj1uZXcgcCh0aGlzLHRoaXMuX2NvbXBvbmVudCx0LCEwKX19LHtrZXk6InNlbGVjdEFsbCIsdmFsdWU6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX25vZGVzUmVmPW5ldyBwKHRoaXMsdGhpcy5fY29tcG9uZW50LHQsITEpfX0se2tleToic2VsZWN0Vmlld3BvcnQiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX25vZGVzUmVmPW5ldyBwKHRoaXMsMCwiIiwhMCl9fSx7a2V5OiJfcHVzaCIsdmFsdWU6ZnVuY3Rpb24odCxlLG4scixpKXt0aGlzLl9xdWV1ZS5wdXNoKHtjb21wb25lbnQ6ZSxzZWxlY3Rvcjp0LHNpbmdsZTpuLGZpZWxkczpyfSksdGhpcy5fcXVldWVDYi5wdXNoKGkpfX1dKSx0fSgpO2Z1bmN0aW9uIGcodCl7cmV0dXJuIG5ldyB2KHR8fE9iamVjdChpWyJiIl0pKCJjcmVhdGVTZWxlY3RvclF1ZXJ5IikpfX0sIjgzYzIiOmZ1bmN0aW9uKHQsZSxuKXt9LCI4M2VlIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiOyhmdW5jdGlvbih0KXtuLmQoZSwiYSIsKGZ1bmN0aW9uKCl7cmV0dXJuIHV9KSk7dmFyIHI9bigiMzQwZCIpLGk9bigiMzhjZSIpLG89bigiYzgwYyIpLGE9bigiNDkzZiIpLHM9ISFyWyJ0Il0mJntwYXNzaXZlOiExfTtmdW5jdGlvbiBjKGUpe2lmKHVuaS5jYW5JVXNlKCJjc3MudmFyIikpe3ZhciBuPXBhcnNlRmxvYXQoX191bmlDb25maWcudGFiQmFyLmhlaWdodCkscj1lLiRwYXJlbnQuJHBhcmVudCxpPXIubmF2aWdhdGlvbkJhci50eXBlLGE9ImRlZmF1bHQiPT09aXx8ImZsb2F0Ij09PWk/b1siYSJdOjAscz1nZXRBcHAoKS4kY2hpbGRyZW5bMF0uc2hvd1RhYkJhcj9pc05hTihuKT9vWyJkIl06bjowLGM9dW5pLmNhbklVc2UoImNzcy5lbnYiKT8iZW52Ijp1bmkuY2FuSVVzZSgiY3NzLmNvbnN0YW50Iik/ImNvbnN0YW50IjoiIix1PWEmJmM/ImNhbGMoIi5jb25jYXQoYSwicHggKyAiKS5jb25jYXQoYywiKHNhZmUtYXJlYS1pbnNldC10b3ApKSIpOiIiLmNvbmNhdChhLCJweCIpLGw9cyYmYz8iY2FsYygiLmNvbmNhdChzLCJweCArICIpLmNvbmNhdChjLCIoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSkpIik6IiIuY29uY2F0KHMsInB4IiksZj1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGU7Zi5zZXRQcm9wZXJ0eSgiLS13aW5kb3ctdG9wIiwiY2FsYyh2YXIoLS10b3Atd2luZG93LWhlaWdodCkgKyAiLmNvbmNhdCh1LCIpIikpLGYuc2V0UHJvcGVydHkoIi0td2luZG93LWJvdHRvbSIsbCksdC5kZWJ1ZygiIi5jb25jYXQoZS4kcGFnZS5yb3V0ZSwiWyIpLmNvbmNhdChlLiRwYWdlLmlkLCJd77yaLS13aW5kb3ctdG9wPSIpLmNvbmNhdCh1KSksdC5kZWJ1ZygiIi5jb25jYXQoZS4kcGFnZS5yb3V0ZSwiWyIpLmNvbmNhdChlLiRwYWdlLmlkLCJd77yaLS13aW5kb3ctYm90dG9tPSIpLmNvbmNhdChsKSl9fWZ1bmN0aW9uIHUodCl7dmFyIGU9ITEsbj0hMTt0KCJvblBhZ2VMb2FkIiwoZnVuY3Rpb24odCl7Yyh0KX0pKSx0KCJvblBhZ2VTaG93IiwoZnVuY3Rpb24odCl7dmFyIG89dC4kcGFyZW50LiRwYXJlbnQ7dC5faXNNb3VudGVkJiZjKHQpLG4mJmRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsbixzKSxvLmRpc2FibGVTY3JvbGwmJihuPWFbImIiXSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLG4scykpO3ZhciB1PU9iamVjdChpWyJjIl0pKHQuJG9wdGlvbnMsIm9uUGFnZVNjcm9sbCIpLGw9T2JqZWN0KGlbImMiXSkodC4kb3B0aW9ucywib25SZWFjaEJvdHRvbSIpLGY9by5vblJlYWNoQm90dG9tRGlzdGFuY2UsZD1PYmplY3QoclsibCJdKShvLnRpdGxlTlZpZXcpJiYidHJhbnNwYXJlbnQiPT09by50aXRsZU5WaWV3LnR5cGV8fE9iamVjdChyWyJsIl0pKG8ubmF2aWdhdGlvbkJhcikmJiJ0cmFuc3BhcmVudCI9PT1vLm5hdmlnYXRpb25CYXIudHlwZTtlJiZkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLGUpLChkfHx1fHxsKSYmKGU9T2JqZWN0KGFbImEiXSkodC4kcGFnZS5pZCx7ZW5hYmxlUGFnZVNjcm9sbDp1LGVuYWJsZVBhZ2VSZWFjaEJvdHRvbTpsLG9uUmVhY2hCb3R0b21EaXN0YW5jZTpmLGVuYWJsZVRyYW5zcGFyZW50VGl0bGVOVmlldzpkfSkscmVxdWVzdEFuaW1hdGlvbkZyYW1lKChmdW5jdGlvbigpe2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsZSl9KSkpfSkpfX0pLmNhbGwodGhpcyxuKCI0MThiIilbImRlZmF1bHQiXSl9LCI4NDZlIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO24ucihlKSxlWyJkZWZhdWx0Il09e2ltYWdlOntqcGc6ImpwZWciLGpwZToianBlZyIscGJtOiJ4LXBvcnRhYmxlLWJpdG1hcCIscGdtOiJ4LXBvcnRhYmxlLWdyYXltYXAiLHBubToieC1wb3J0YWJsZS1hbnltYXAiLHBwbToieC1wb3J0YWJsZS1waXhtYXAiLHBzZDoidm5kLmFkb2JlLnBob3Rvc2hvcCIscGljOiJ4LXBpY3QiLHJnYjoieC1yZ2IiLHN2Zzoic3ZnK3htbCIsc3Znejoic3ZnK3htbCIsdGlmOiJ0aWZmIix4aWY6InZuZC54aWZmIix3Ym1wOiJ2bmQud2FwLndibXAiLHdkcDoidm5kLm1zLXBob3RvIix4Ym06IngteGJpdG1hcCIsaWNvOiJ4LWljb24ifSx2aWRlbzp7IjNnMiI6IjNncHAyIiwiM2dwIjoiM2dwcCIsYXZpOiJ4LW1zdmlkZW8iLGY0djoieC1mNHYiLGZsdjoieC1mbHYiLGpwZ206ImpwbSIsanBndjoianBlZyIsbTF2OiJtcGVnIixtMnY6Im1wZWciLG1wZToibXBlZyIsbXBnOiJtcGVnIixtcGc0OiJtcGVnIixtNHY6IngtbTR2Iixta3Y6IngtbWF0cm9za2EiLG1vdjoicXVpY2t0aW1lIixxdDoicXVpY2t0aW1lIixtb3ZpZToieC1zZ2ktbW92aWUiLG1wNHY6Im1wNCIsb2d2OiJvZ2ciLHNtdjoieC1zbXYiLHdtOiJ4LW1zLXdtIix3bXY6IngtbXMtd212Iix3bXg6IngtbXMtd214Iix3dng6IngtbXMtd3Z4In19fSwiODRlZCI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiByKHQsZSl7dmFyIG49YXJndW1lbnRzLmxlbmd0aD4yJiZ2b2lkIDAhPT1hcmd1bWVudHNbMl0mJmFyZ3VtZW50c1syXSxyPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGUpO3ImJm4mJihyLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQocikscj1udWxsKSxyfHwocj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpLHIudHlwZT0idGV4dC9jc3MiLGUmJihyLmlkPWUpLGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF0uYXBwZW5kQ2hpbGQocikpLHIuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUodCkpfW4uZChlLCJhIiwoZnVuY3Rpb24oKXtyZXR1cm4gcn0pKX0sIjg2ZDMiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5yKGUpLG4uZChlLCJnZXRCYWNrZ3JvdW5kQXVkaW9NYW5hZ2VyIiwoZnVuY3Rpb24oKXtyZXR1cm4gZn0pKTt2YXIgcj1uKCI3NDVhIik7ZnVuY3Rpb24gaSh0LGUpe2Zvcih2YXIgbj0wO248ZS5sZW5ndGg7bisrKXt2YXIgcj1lW25dO3IuZW51bWVyYWJsZT1yLmVudW1lcmFibGV8fCExLHIuY29uZmlndXJhYmxlPSEwLCJ2YWx1ZSJpbiByJiYoci53cml0YWJsZT0hMCksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsci5rZXkscil9fXZhciBvPVsiY2FucGxheSIsInBsYXkiLCJwYXVzZSIsInN0b3AiLCJlbmRlZCIsInRpbWVVcGRhdGUiLCJwcmV2IiwibmV4dCIsImVycm9yIiwid2FpdGluZyJdLGE9e307by5mb3JFYWNoKChmdW5jdGlvbih0KXthW3RdPVtdfSkpO3ZhciBzLGM9W3tuYW1lOiJkdXJhdGlvbiIscmVhZG9ubHk6ITB9LHtuYW1lOiJjdXJyZW50VGltZSIscmVhZG9ubHk6ITB9LHtuYW1lOiJwYXVzZWQiLHJlYWRvbmx5OiEwfSx7bmFtZToic3JjIixjYWNoZTohMH0se25hbWU6InN0YXJ0VGltZSIsZGVmYXVsdDowLGNhY2hlOiEwfSx7bmFtZToiYnVmZmVyZWQiLHJlYWRvbmx5OiEwfSx7bmFtZToidGl0bGUiLGNhY2hlOiEwfSx7bmFtZToiZXBuYW1lIixjYWNoZTohMH0se25hbWU6InNpbmdlciIsY2FjaGU6ITB9LHtuYW1lOiJjb3ZlckltZ1VybCIsY2FjaGU6ITB9LHtuYW1lOiJ3ZWJVcmwiLGNhY2hlOiEwfSx7bmFtZToicHJvdG9jb2wiLHJlYWRvbmx5OiEwLGRlZmF1bHQ6Imh0dHAifSx7bmFtZToicGxheWJhY2tSYXRlIixkZWZhdWx0OjEsY2FjaGU6ITB9XSx1PVsicHJldiIsIm5leHQiXSxsPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe3ZhciBlPXRoaXM7KGZ1bmN0aW9uKHQsZSl7aWYoISh0IGluc3RhbmNlb2YgZSkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uIil9KSh0aGlzLHQpLHRoaXMuX29wdGlvbnM9e30sT2JqZWN0KHJbImQiXSkoIm9uQmFja2dyb3VuZEF1ZGlvU3RhdGVDaGFuZ2UiLChmdW5jdGlvbih0KXt2YXIgZT10LnN0YXRlLG49dC5lcnJNc2cscj10LmVyckNvZGU7YVtlXS5mb3JFYWNoKChmdW5jdGlvbih0KXsiZnVuY3Rpb24iPT09dHlwZW9mIHQmJnQoImVycm9yIj09PWU/e2Vyck1zZzpuLGVyckNvZGU6cn06e30pfSkpfSkpLHUuZm9yRWFjaCgoZnVuY3Rpb24odCl7T2JqZWN0KHJbImQiXSkoIm9uQmFja2dyb3VuZEF1ZGlvIi5jb25jYXQodFswXS50b1VwcGVyQ2FzZSgpK3Quc3Vic3RyKDEpKSwoZnVuY3Rpb24oKXthW3RdLmZvckVhY2goKGZ1bmN0aW9uKHQpeyJmdW5jdGlvbiI9PT10eXBlb2YgdCYmdCh7fSl9KSl9KSl9KSksYy5mb3JFYWNoKChmdW5jdGlvbih0KXt2YXIgbj10Lm5hbWUsaT17Z2V0OmZ1bmN0aW9uKCl7dmFyIGU9dC5jYWNoZT90aGlzLl9vcHRpb25zOk9iamVjdChyWyJjIl0pKCJnZXRCYWNrZ3JvdW5kQXVkaW9TdGF0ZSIpO3JldHVybiBuIGluIGU/ZVtuXTp0LmRlZmF1bHR9fTt0LnJlYWRvbmx5fHwoaS5zZXQ9ZnVuY3Rpb24odCl7dGhpcy5fb3B0aW9uc1tuXT10LE9iamVjdChyWyJjIl0pKCJzZXRCYWNrZ3JvdW5kQXVkaW9TdGF0ZSIsT2JqZWN0LmFzc2lnbih7fSx0aGlzLl9vcHRpb25zLHthdWRpb0lkOnRoaXMuaWR9KSxuKX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG4saSl9KSl9cmV0dXJuIGZ1bmN0aW9uKHQsZSxuKXtlJiZpKHQucHJvdG90eXBlLGUpLG4mJmkodCxuKX0odCxbe2tleToicGxheSIsdmFsdWU6ZnVuY3Rpb24oKXt0aGlzLl9vcGVyYXRlKCJwbGF5Iil9fSx7a2V5OiJwYXVzZSIsdmFsdWU6ZnVuY3Rpb24oKXt0aGlzLl9vcGVyYXRlKCJwYXVzZSIpfX0se2tleToic3RvcCIsdmFsdWU6ZnVuY3Rpb24oKXt0aGlzLl9vcGVyYXRlKCJzdG9wIil9fSx7a2V5OiJzZWVrIix2YWx1ZTpmdW5jdGlvbih0KXt0aGlzLl9vcGVyYXRlKCJzZWVrIix7Y3VycmVudFRpbWU6dH0pfX0se2tleToiX29wZXJhdGUiLHZhbHVlOmZ1bmN0aW9uKHQsZSl7T2JqZWN0KHJbImMiXSkoIm9wZXJhdGVCYWNrZ3JvdW5kQXVkaW8iLE9iamVjdC5hc3NpZ24oe30sZSx7b3BlcmF0aW9uVHlwZTp0fSkpfX1dKSx0fSgpO2Z1bmN0aW9uIGYoKXtyZXR1cm4gc3x8KHM9bmV3IGwpfW8uZm9yRWFjaCgoZnVuY3Rpb24odCl7dmFyIGU9dFswXS50b1VwcGVyQ2FzZSgpK3Quc3Vic3RyKDEpO2wucHJvdG90eXBlWyJvbiIuY29uY2F0KGUpXT1mdW5jdGlvbihlKXthW3RdLnB1c2goZSl9fSkpfSw4ODQ0OmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcih0LGUsbixyLGksbyxhLHMpe3ZhciBjLHU9ImZ1bmN0aW9uIj09PXR5cGVvZiB0P3Qub3B0aW9uczp0O2lmKGUmJih1LnJlbmRlcj1lLHUuc3RhdGljUmVuZGVyRm5zPW4sdS5fY29tcGlsZWQ9ITApLHImJih1LmZ1bmN0aW9uYWw9ITApLG8mJih1Ll9zY29wZUlkPSJkYXRhLXYtIitvKSxhPyhjPWZ1bmN0aW9uKHQpe3Q9dHx8dGhpcy4kdm5vZGUmJnRoaXMuJHZub2RlLnNzckNvbnRleHR8fHRoaXMucGFyZW50JiZ0aGlzLnBhcmVudC4kdm5vZGUmJnRoaXMucGFyZW50LiR2bm9kZS5zc3JDb250ZXh0LHR8fCJ1bmRlZmluZWQiPT09dHlwZW9mIF9fVlVFX1NTUl9DT05URVhUX198fCh0PV9fVlVFX1NTUl9DT05URVhUX18pLGkmJmkuY2FsbCh0aGlzLHQpLHQmJnQuX3JlZ2lzdGVyZWRDb21wb25lbnRzJiZ0Ll9yZWdpc3RlcmVkQ29tcG9uZW50cy5hZGQoYSl9LHUuX3NzclJlZ2lzdGVyPWMpOmkmJihjPXM/ZnVuY3Rpb24oKXtpLmNhbGwodGhpcyx0aGlzLiRyb290LiRvcHRpb25zLnNoYWRvd1Jvb3QpfTppKSxjKWlmKHUuZnVuY3Rpb25hbCl7dS5faW5qZWN0U3R5bGVzPWM7dmFyIGw9dS5yZW5kZXI7dS5yZW5kZXI9ZnVuY3Rpb24odCxlKXtyZXR1cm4gYy5jYWxsKGUpLGwodCxlKX19ZWxzZXt2YXIgZj11LmJlZm9yZUNyZWF0ZTt1LmJlZm9yZUNyZWF0ZT1mP1tdLmNvbmNhdChmLGMpOltjXX1yZXR1cm57ZXhwb3J0czp0LG9wdGlvbnM6dX19bi5kKGUsImEiLChmdW5jdGlvbigpe3JldHVybiByfSkpfSwiODhhOCI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcixpPW4oIjM0MGQiKSxvPSFpWyJ0Il18fHtwYXNzaXZlOiEwLGNhcHR1cmU6ITB9LGE9W10scz0wO2Z1bmN0aW9uIGModCl7YS5mb3JFYWNoKChmdW5jdGlvbihlKXtyZXR1cm4gZS51c2VySW50ZXJhY3Q9dH0pKX1mdW5jdGlvbiB1KCl7dmFyIHQ9YXJndW1lbnRzLmxlbmd0aD4wJiZ2b2lkIDAhPT1hcmd1bWVudHNbMF0/YXJndW1lbnRzWzBdOnt9O2lmKCFyKXt2YXIgZT1bInRvdWNoc3RhcnQiLCJ0b3VjaG1vdmUiLCJ0b3VjaGVuZCIsIm1vdXNlZG93biIsIm1vdXNldXAiXTtlLmZvckVhY2goKGZ1bmN0aW9uKHQpe2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIodCwoZnVuY3Rpb24oKXshcyYmYyghMCkscysrLHNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7IS0tcyYmYyghMSl9KSwwKX0pLG8pfSkpLHI9ITB9YS5wdXNoKHQpfWVbImEiXT17ZGF0YTpmdW5jdGlvbigpe3JldHVybnt1c2VySW50ZXJhY3Q6ITF9fSxtb3VudGVkOmZ1bmN0aW9uKCl7dSh0aGlzKX0sYmVmb3JlRGVzdHJveTpmdW5jdGlvbigpeyhmdW5jdGlvbih0KXt2YXIgZT1hLmluZGV4T2YodCk7ZT49MCYmYS5zcGxpY2UoZSwxKX0pKHRoaXMpfSxhZGRJbnRlcmFjdExpc3RlbmVyOnUsZ2V0U3RhdHVzOmZ1bmN0aW9uKCl7cmV0dXJuISFzfX19LCI4OWNlIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO24ucihlKSxmdW5jdGlvbih0KXtuLmQoZSwicmVxdWVzdCIsKGZ1bmN0aW9uKCl7cmV0dXJuIHN9KSk7dmFyIHI9bigiMzQwZCIpO2Z1bmN0aW9uIGkodCxlKXtmb3IodmFyIG49MDtuPGUubGVuZ3RoO24rKyl7dmFyIHI9ZVtuXTtyLmVudW1lcmFibGU9ci5lbnVtZXJhYmxlfHwhMSxyLmNvbmZpZ3VyYWJsZT0hMCwidmFsdWUiaW4gciYmKHIud3JpdGFibGU9ITApLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LHIua2V5LHIpfX12YXIgbz1mdW5jdGlvbigpe2Z1bmN0aW9uIHQoZSl7KGZ1bmN0aW9uKHQsZSl7aWYoISh0IGluc3RhbmNlb2YgZSkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uIil9KSh0aGlzLHQpLGZ1bmN0aW9uKHQsZSxuKXtlIGluIHQ/T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsZSx7dmFsdWU6bixlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMH0pOnRbZV09bn0odGhpcywiX3hociIsdm9pZCAwKSx0aGlzLl94aHI9ZX1yZXR1cm4gZnVuY3Rpb24odCxlLG4pe2UmJmkodC5wcm90b3R5cGUsZSksbiYmaSh0LG4pfSh0LFt7a2V5OiJhYm9ydCIsdmFsdWU6ZnVuY3Rpb24oKXt0aGlzLl94aHImJih0aGlzLl94aHIuYWJvcnQoKSxkZWxldGUgdGhpcy5feGhyKX19XSksdH0oKTtmdW5jdGlvbiBhKHQpe3ZhciBlPXt9LG49dC5zcGxpdCgiXG4iKTtyZXR1cm4gbi5mb3JFYWNoKChmdW5jdGlvbih0KXt2YXIgbj10Lm1hdGNoKC8oXFMrXHMqKTpccyooLiopLyk7aWYobiYmMz09PW4ubGVuZ3RoKXt2YXIgcj1uWzFdLGk9blsyXTtlW3JdPWl9fSkpLGV9ZnVuY3Rpb24gcyhlLG4pe3ZhciBpLHM9ZS51cmwsYz1lLmRhdGEsdT1lLmhlYWRlcixsPWUubWV0aG9kLGY9ZS5kYXRhVHlwZSxkPWUucmVzcG9uc2VUeXBlLGg9ZS53aXRoQ3JlZGVudGlhbHMscD1lLnRpbWVvdXQsdj12b2lkIDA9PT1wP19fdW5pQ29uZmlnLm5ldHdvcmtUaW1lb3V0JiZfX3VuaUNvbmZpZy5uZXR3b3JrVGltZW91dC5yZXF1ZXN0fHw2ZTQ6cCxnPXQsbT1nLmludm9rZUNhbGxiYWNrSGFuZGxlcixiPW51bGw7Zm9yKHZhciB5IGluIHUpaWYoT2JqZWN0KHJbImkiXSkodSx5KSYmImNvbnRlbnQtdHlwZSI9PT15LnRvTG93ZXJDYXNlKCkpe2k9dVt5XSxpPTA9PT1pLmluZGV4T2YoImFwcGxpY2F0aW9uL2pzb24iKT8ianNvbiI6MD09PWkuaW5kZXhPZigiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIik/InVybGVuY29kZWQiOiJzdHJpbmciO2JyZWFrfWlmKCJHRVQiIT09bClpZigic3RyaW5nIj09PXR5cGVvZiBjfHxjIGluc3RhbmNlb2YgQXJyYXlCdWZmZXIpYj1jO2Vsc2UgaWYoImpzb24iPT09aSl0cnl7Yj1KU09OLnN0cmluZ2lmeShjKX1jYXRjaChPKXtiPWMudG9TdHJpbmcoKX1lbHNlIGlmKCJ1cmxlbmNvZGVkIj09PWkpe3ZhciBfPVtdO2Zvcih2YXIgdyBpbiBjKU9iamVjdChyWyJpIl0pKGMsdykmJl8ucHVzaChlbmNvZGVVUklDb21wb25lbnQodykrIj0iK2VuY29kZVVSSUNvbXBvbmVudChjW3ddKSk7Yj1fLmpvaW4oIiYiKX1lbHNlIGI9Yy50b1N0cmluZygpO3ZhciB4PW5ldyBYTUxIdHRwUmVxdWVzdCxTPW5ldyBvKHgpO2Zvcih2YXIgayBpbiB4Lm9wZW4obCxzKSx1KU9iamVjdChyWyJpIl0pKHUsaykmJnguc2V0UmVxdWVzdEhlYWRlcihrLHVba10pO3ZhciBDPXNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7eC5vbmxvYWQ9eC5vbmFib3J0PXgub25lcnJvcj1udWxsLFMuYWJvcnQoKSxtKG4se2Vyck1zZzoicmVxdWVzdDpmYWlsIHRpbWVvdXQifSl9KSx2KTtyZXR1cm4geC5yZXNwb25zZVR5cGU9ZCx4Lm9ubG9hZD1mdW5jdGlvbigpe2NsZWFyVGltZW91dChDKTt2YXIgdD14LnN0YXR1cyxlPSJ0ZXh0Ij09PWQ/eC5yZXNwb25zZVRleHQ6eC5yZXNwb25zZTtpZigidGV4dCI9PT1kJiYianNvbiI9PT1mKXRyeXtlPUpTT04ucGFyc2UoZSl9Y2F0Y2goTyl7fW0obix7ZGF0YTplLHN0YXR1c0NvZGU6dCxoZWFkZXI6YSh4LmdldEFsbFJlc3BvbnNlSGVhZGVycygpKSxlcnJNc2c6InJlcXVlc3Q6b2sifSl9LHgub25hYm9ydD1mdW5jdGlvbigpe2NsZWFyVGltZW91dChDKSxtKG4se2Vyck1zZzoicmVxdWVzdDpmYWlsIGFib3J0In0pfSx4Lm9uZXJyb3I9ZnVuY3Rpb24oKXtjbGVhclRpbWVvdXQoQyksbShuLHtlcnJNc2c6InJlcXVlc3Q6ZmFpbCJ9KX0seC53aXRoQ3JlZGVudGlhbHM9aCx4LnNlbmQoYiksU319LmNhbGwodGhpcyxuKCIyYzlmIikpfSwiODllYyI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjsoZnVuY3Rpb24odCxyKXtmdW5jdGlvbiBpKGUsbil7cmV0dXJuIHQuZW1pdCgiYXBpLiIrZSxuKX1mdW5jdGlvbiBvKHQsZSxuKXtyLlVuaVZpZXdKU0JyaWRnZS5zdWJzY3JpYmVIYW5kbGVyKHQsZSxuKX1uLmQoZSwiYSIsKGZ1bmN0aW9uKCl7cmV0dXJuIGl9KSksbi5kKGUsImIiLChmdW5jdGlvbigpe3JldHVybiBvfSkpfSkuY2FsbCh0aGlzLG4oIjJjOWYiKSxuKCIwZWU0IikpfSwiOGEyNCI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCIwY2FjIiksaT1uLm4ocik7aS5hfSwiOGE5MiI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCI5MjNkIiksaT1yWyJhIl0sbz0obigiMjgzZCIpLG4oIjg4NDQiKSksYT1PYmplY3Qob1siYSJdKShpLChmdW5jdGlvbigpe3ZhciB0PXRoaXMsZT10LiRjcmVhdGVFbGVtZW50LG49dC5fc2VsZi5fY3x8ZTtyZXR1cm4gbigidW5pLXBhZ2UtaGVhZCIse2F0dHJzOnsidW5pLXBhZ2UtaGVhZC10eXBlIjp0LnR5cGV9fSxbbigiZGl2Iix7c3RhdGljQ2xhc3M6InVuaS1wYWdlLWhlYWQiLGNsYXNzOnQuaGVhZENsYXNzLHN0eWxlOnt0cmFuc2l0aW9uRHVyYXRpb246dC5kdXJhdGlvbix0cmFuc2l0aW9uVGltaW5nRnVuY3Rpb246dC50aW1pbmdGdW5jLGJhY2tncm91bmRDb2xvcjp0LmJnQ29sb3IsY29sb3I6dC50ZXh0Q29sb3J9fSxbbigiZGl2Iix7c3RhdGljQ2xhc3M6InVuaS1wYWdlLWhlYWQtaGQifSxbbigiZGl2Iix7ZGlyZWN0aXZlczpbe25hbWU6InNob3ciLHJhd05hbWU6InYtc2hvdyIsdmFsdWU6dC5iYWNrQnV0dG9uLGV4cHJlc3Npb246ImJhY2tCdXR0b24ifV0sc3RhdGljQ2xhc3M6InVuaS1wYWdlLWhlYWQtYnRuIixvbjp7Y2xpY2s6dC5fYmFja319LFtuKCJpIix7c3RhdGljQ2xhc3M6InVuaS1idG4taWNvbiIsc3R5bGU6e2NvbG9yOnQuY29sb3IsZm9udFNpemU6IjI3cHgifX0sW3QuX3YoIu6YgSIpXSldKSxuKCJkaXYiLHtzdGF0aWNDbGFzczoidW5pLXBhZ2UtaGVhZC1mdCJ9LFt0Ll9sKHQuYnRucywoZnVuY3Rpb24oZSxyKXtyZXR1cm5bImxlZnQiPT09ZS5mbG9hdD9uKCJkaXYiLHtrZXk6cixzdGF0aWNDbGFzczoidW5pLXBhZ2UtaGVhZC1idG4iLGNsYXNzOnsidW5pLXBhZ2UtaGVhZC1idG4tcmVkLWRvdCI6ZS5yZWREb3R8fGUuYmFkZ2VUZXh0LCJ1bmktcGFnZS1oZWFkLWJ0bi1zZWxlY3QiOmUuc2VsZWN0fSxzdHlsZTp7YmFja2dyb3VuZENvbG9yOiJ0cmFuc3BhcmVudCI9PT10LnR5cGU/ZS5iYWNrZ3JvdW5kOiJ0cmFuc3BhcmVudCIsd2lkdGg6ZS53aWR0aH0sYXR0cnM6eyJiYWRnZS10ZXh0IjplLmJhZGdlVGV4dH19LFtuKCJpIix7c3RhdGljQ2xhc3M6InVuaS1idG4taWNvbiIsc3R5bGU6dC5fZm9ybWF0QnRuU3R5bGUoZSksZG9tUHJvcHM6e2lubmVySFRNTDp0Ll9zKHQuX2Zvcm1hdEJ0bkZvbnRUZXh0KGUpKX0sb246e2NsaWNrOmZ1bmN0aW9uKGUpe3JldHVybiB0Ll9vbkJ0bkNsaWNrKHIpfX19KV0pOnQuX2UoKV19KSldLDIpXSksdC5zZWFyY2hJbnB1dD90Ll9lKCk6bigiZGl2Iix7c3RhdGljQ2xhc3M6InVuaS1wYWdlLWhlYWQtYmQifSxbbigiZGl2Iix7c3RhdGljQ2xhc3M6InVuaS1wYWdlLWhlYWRfX3RpdGxlIixzdHlsZTp7Zm9udFNpemU6dC50aXRsZVNpemUsb3BhY2l0eToidHJhbnNwYXJlbnQiPT09dC50eXBlPzA6MX19LFt0LmxvYWRpbmc/bigiaSIse3N0YXRpY0NsYXNzOiJ1bmktbG9hZGluZyJ9KTp0Ll9lKCksIiIhPT10LnRpdGxlSW1hZ2U/bigiaW1nIix7c3RhdGljQ2xhc3M6InVuaS1wYWdlLWhlYWRfX3RpdGxlX2ltYWdlIixhdHRyczp7c3JjOnQudGl0bGVJbWFnZX19KTpbdC5fdigiICIrdC5fcyh0LnRpdGxlVGV4dCkrIiAiKV1dLDIpXSksdC5zZWFyY2hJbnB1dD9uKCJkaXYiLHtzdGF0aWNDbGFzczoidW5pLXBhZ2UtaGVhZC1zZWFyY2giLHN0eWxlOnsiYm9yZGVyLXJhZGl1cyI6dC5zZWFyY2hJbnB1dC5ib3JkZXJSYWRpdXMsImJhY2tncm91bmQtY29sb3IiOnQuc2VhcmNoSW5wdXQuYmFja2dyb3VuZENvbG9yfX0sW24oImRpdiIse3N0YXRpY0NsYXNzOiJ1bmktcGFnZS1oZWFkLXNlYXJjaC1wbGFjZWhvbGRlciIsY2xhc3M6WyJ1bmktcGFnZS1oZWFkLXNlYXJjaC1wbGFjZWhvbGRlci0iKyh0LmZvY3VzfHx0LnNob3dQbGFjZWhvbGRlcj8ibGVmdCI6dC5zZWFyY2hJbnB1dC5hbGlnbildLHN0eWxlOntjb2xvcjp0LnNlYXJjaElucHV0LnBsYWNlaG9sZGVyQ29sb3J9LGRvbVByb3BzOnt0ZXh0Q29udGVudDp0Ll9zKHQuc2hvd1BsYWNlaG9sZGVyfHx0LmNvbXBvc2luZz8iIjp0LnNlYXJjaElucHV0LnBsYWNlaG9sZGVyKX19KSxuKCJ2LXVuaS1pbnB1dCIse3JlZjoiaW5wdXQiLHN0YXRpY0NsYXNzOiJ1bmktcGFnZS1oZWFkLXNlYXJjaC1pbnB1dCIsc3R5bGU6e2NvbG9yOnQuc2VhcmNoSW5wdXQuY29sb3J9LGF0dHJzOntmb2N1czp0LnNlYXJjaElucHV0LmF1dG9Gb2N1cyxkaXNhYmxlZDp0LnNlYXJjaElucHV0LmRpc2FibGVkLCJwbGFjZWhvbGRlci1zdHlsZSI6ImNvbG9yOiIrdC5zZWFyY2hJbnB1dC5wbGFjZWhvbGRlckNvbG9yLCJjb25maXJtLXR5cGUiOiJzZWFyY2gifSxvbjp7Zm9jdXM6dC5fZm9jdXMsYmx1cjp0Ll9ibHVyLCJ1cGRhdGU6dmFsdWUiOnQuX2lucHV0fSxtb2RlbDp7dmFsdWU6dC50ZXh0LGNhbGxiYWNrOmZ1bmN0aW9uKGUpe3QudGV4dD1lfSxleHByZXNzaW9uOiJ0ZXh0In19KSx0LnRleHQ/bigiaSIse3N0YXRpY0NsYXNzOiJ1bmktaWNvbi1jbGVhciIsb246e2NsaWNrOnQuX2NsZWFySW5wdXR9fSk6dC5fZSgpXSwxKTp0Ll9lKCksbigiZGl2Iix7c3RhdGljQ2xhc3M6InVuaS1wYWdlLWhlYWQtZnQifSxbdC5fbCh0LmJ0bnMsKGZ1bmN0aW9uKGUscil7cmV0dXJuWyJsZWZ0IiE9PWUuZmxvYXQ/bigiZGl2Iix7a2V5OnIsc3RhdGljQ2xhc3M6InVuaS1wYWdlLWhlYWQtYnRuIixjbGFzczp7InVuaS1wYWdlLWhlYWQtYnRuLXJlZC1kb3QiOmUucmVkRG90fHxlLmJhZGdlVGV4dCwidW5pLXBhZ2UtaGVhZC1idG4tc2VsZWN0IjplLnNlbGVjdH0sc3R5bGU6e2JhY2tncm91bmRDb2xvcjoidHJhbnNwYXJlbnQiPT09dC50eXBlP2UuYmFja2dyb3VuZDoidHJhbnNwYXJlbnQiLHdpZHRoOmUud2lkdGh9LGF0dHJzOnsiYmFkZ2UtdGV4dCI6ZS5iYWRnZVRleHR9fSxbbigiaSIse3N0YXRpY0NsYXNzOiJ1bmktYnRuLWljb24iLHN0eWxlOnQuX2Zvcm1hdEJ0blN0eWxlKGUpLGRvbVByb3BzOntpbm5lckhUTUw6dC5fcyh0Ll9mb3JtYXRCdG5Gb250VGV4dChlKSl9LG9uOntjbGljazpmdW5jdGlvbihlKXtyZXR1cm4gdC5fb25CdG5DbGljayhyKX19fSldKTp0Ll9lKCldfSkpXSwyKV0pLCJ0cmFuc3BhcmVudCIhPT10LnR5cGUmJiJmbG9hdCIhPT10LnR5cGU/bigiZGl2Iix7c3RhdGljQ2xhc3M6InVuaS1wbGFjZWhvbGRlciIsY2xhc3M6eyJ1bmktcGxhY2Vob2xkZXItdGl0bGVQZW5ldHJhdGUiOnQudGl0bGVQZW5ldHJhdGV9fSk6dC5fZSgpXSl9KSxbXSwhMSxudWxsLG51bGwsbnVsbCk7ZVsiYSJdPWEuZXhwb3J0c30sIjhiNzciOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7KGZ1bmN0aW9uKHQpe3ZhciByPW4oIjQ3MzgiKSxpPW4oIjRlNDYiKTtlWyJhIl09e25hbWU6IkN1c3RvbVRhYkJhciIscHJvcHM6e3NlbGVjdGVkOnt0eXBlOk51bWJlcixkZWZhdWx0OjB9LHNob3dJY29uOnt0eXBlOkJvb2xlYW4sZGVmYXVsdDohMH0sZGlyZWN0aW9uOnt0eXBlOlN0cmluZyxkZWZhdWx0OiJob3Jpem9udGFsIn19LGRhdGE6ZnVuY3Rpb24oKXtyZXR1cm57c2VsZWN0ZWRJbmRleDp0aGlzLnNlbGVjdGVkfX0sY29tcHV0ZWQ6e3RhYkJhck9wdGlvbnM6ZnVuY3Rpb24oKXtyZXR1cm4gaVsiYSJdfSxoYXNUYWJCYXI6ZnVuY3Rpb24oKXtyZXR1cm4gaVsiYSJdLmxpc3QmJmlbImEiXS5saXN0Lmxlbmd0aH0sc2hvd1RhYkJhcjpmdW5jdGlvbigpe3ZhciB0PWdldEFwcCgpO3JldHVybiF0fHwhdC4kY2hpbGRyZW5bMF0uaGlkZVRhYkJhcn19LHdhdGNoOntzZWxlY3RlZDpmdW5jdGlvbih0KXt0aGlzLnNlbGVjdGVkSW5kZXg9dDt2YXIgZT1nZXRBcHAoKS4kY2hpbGRyZW5bMF0uJHJlZnMudGFiQmFyO2UmJihlLnNlbGVjdGVkSW5kZXg9dCl9LCRyb3V0ZTpmdW5jdGlvbih0LGUpe2lmKHQubWV0YS5pc1RhYkJhcil7dmFyIG49aVsiYSJdLmxpc3QuZmluZEluZGV4KChmdW5jdGlvbihlKXtyZXR1cm4gdC5tZXRhLnBhZ2VQYXRoPT09ZS5wYWdlUGF0aH0pKTtuPi0xJiYodGhpcy5zZWxlY3RlZEluZGV4PW4pfX19LG1ldGhvZHM6e19nZXRSZWFsUGF0aDpmdW5jdGlvbih0KXtyZXR1cm4vXihbYS16LV0rOik/XC9cLy9pLnRlc3QodCl8fC9eZGF0YTouKiwuKi8udGVzdCh0KXx8MD09PXQuaW5kZXhPZigiLyIpfHwodD0iLyIrdCksT2JqZWN0KHJbImEiXSkodCl9LF9zd2l0Y2hUYWI6ZnVuY3Rpb24oZSxuKXt2YXIgcj1lLnRleHQsaT1lLnBhZ2VQYXRoO3RoaXMuc2VsZWN0ZWRJbmRleD1uO3ZhciBvPSIvIitpO289PT1fX3VuaVJvdXRlc1swXS5hbGlhcyYmKG89Ii8iKTt2YXIgYT17aW5kZXg6bix0ZXh0OnIscGFnZVBhdGg6aX07dGhpcy4kZW1pdCgib25UYWJJdGVtVGFwIixhKSx0aGlzLiRyb3V0ZS5wYXRoPT09byYmdC5lbWl0KCJvblRhYkl0ZW1UYXAiLGEpfX19fSkuY2FsbCh0aGlzLG4oIjJjOWYiKSl9LCI4YjgyIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPU9iamVjdC5jcmVhdGUobnVsbCksaT1uKCI0YjdlIik7aS5rZXlzKCkuZm9yRWFjaCgoZnVuY3Rpb24odCl7T2JqZWN0LmFzc2lnbihyLGkodCkpfSkpLGVbImEiXT1yfSwiOGM3YyI6ZnVuY3Rpb24oZSxuKXtlLmV4cG9ydHM9dH0sIjhjYmIiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiMjdkMiIpLGk9bi5uKHIpO2kuYX0sIjhkN2QiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5kKGUsImEiLChmdW5jdGlvbigpe3JldHVybiBhfSkpO3ZhciByPW4oImM4MGMiKSxpPW4oImY2MjEiKSxvPW4ubihpKTtmdW5jdGlvbiBhKCl7aWYodW5pLmNhbklVc2UoImNzcy52YXIiKSl7dmFyIHQ9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLGU9cGFyc2VJbnQoKHQuZ2V0UHJvcGVydHlWYWx1ZSgiLS13aW5kb3ctdG9wIikubWF0Y2goL1xkKy8pfHxbIjAiXSlbMF0pLG49cGFyc2VJbnQoKHQuZ2V0UHJvcGVydHlWYWx1ZSgiLS13aW5kb3ctYm90dG9tIikubWF0Y2goL1xkKy8pfHxbIjAiXSlbMF0pLGk9cGFyc2VJbnQoKHQuZ2V0UHJvcGVydHlWYWx1ZSgiLS13aW5kb3ctbGVmdCIpLm1hdGNoKC9cZCsvKXx8WyIwIl0pWzBdKSxhPXBhcnNlSW50KCh0LmdldFByb3BlcnR5VmFsdWUoIi0td2luZG93LXJpZ2h0IikubWF0Y2goL1xkKy8pfHxbIjAiXSlbMF0pLHM9cGFyc2VJbnQoKHQuZ2V0UHJvcGVydHlWYWx1ZSgiLS10b3Atd2luZG93LWhlaWdodCIpLm1hdGNoKC9cZCsvKXx8WyIwIl0pWzBdKTtyZXR1cm57dG9wOihlP2Urby5hLnRvcDowKSsoc3x8MCksYm90dG9tOm4/bitvLmEuYm90dG9tOjAsbGVmdDppP2krby5hLmxlZnQ6MCxyaWdodDphP2Erby5hLnJpZ2h0OjB9fXZhciBjPTAsdT0wLGw9Z2V0Q3VycmVudFBhZ2VzKCk7aWYobC5sZW5ndGgpe3ZhciBmPWxbbC5sZW5ndGgtMV0uJHBhcmVudC4kcGFyZW50LGQ9Zi5uYXZpZ2F0aW9uQmFyLnR5cGU7Yz0iZGVmYXVsdCI9PT1kfHwiZmxvYXQiPT09ZD9yWyJhIl06MH12YXIgaD1nZXRBcHAoKTtyZXR1cm4gaCYmKHU9aC4kY2hpbGRyZW5bMF0mJmguJGNoaWxkcmVuWzBdLnNob3dUYWJCYXI/clsiZCJdOjApLHt0b3A6Yyxib3R0b206dSxsZWZ0OjAscmlnaHQ6MH19fSwiOGRlZiI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCI3MGJjIiksaT1uLm4ocik7aS5hfSwiOGYyZiI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiByKHQsZSl7aWYoZSl7aWYoMD09PWUuaW5kZXhPZigiLyIpKXJldHVybiBlfWVsc2V7aWYoZT10LDA9PT1lLmluZGV4T2YoIi8iKSlyZXR1cm4gZTt2YXIgbj1nZXRDdXJyZW50UGFnZXMoKTt0PW4ubGVuZ3RoP25bbi5sZW5ndGgtMV0uJHBhZ2Uucm91dGU6IiJ9aWYoMD09PWUuaW5kZXhPZigiLi8iKSlyZXR1cm4gcih0LGUuc3Vic3RyKDIpKTtmb3IodmFyIGk9ZS5zcGxpdCgiLyIpLG89aS5sZW5ndGgsYT0wO2E8byYmIi4uIj09PWlbYV07YSsrKTtpLnNwbGljZSgwLGEpLGU9aS5qb2luKCIvIik7dmFyIHM9dC5sZW5ndGg+MD90LnNwbGl0KCIvIik6W107cmV0dXJuIHMuc3BsaWNlKHMubGVuZ3RoLWEtMSxhKzEpLCIvIitzLmNvbmNhdChpKS5qb2luKCIvIil9bi5kKGUsImEiLChmdW5jdGlvbigpe3JldHVybiByfSkpfSwiOGY4MCI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtuLnIoZSk7dmFyIHI9bigiZmE1NCIpLGk9clsiYSJdLG89KG4oImYwOGUiKSxuKCI4ODQ0IikpLGE9T2JqZWN0KG9bImEiXSkoaSwoZnVuY3Rpb24oKXt2YXIgdD10aGlzLGU9dC4kY3JlYXRlRWxlbWVudCxuPXQuX3NlbGYuX2N8fGU7cmV0dXJuIG4oInVuaS1zY3JvbGwtdmlldyIsdC5fZyh7fSx0LiRsaXN0ZW5lcnMpLFtuKCJkaXYiLHtyZWY6IndyYXAiLHN0YXRpY0NsYXNzOiJ1bmktc2Nyb2xsLXZpZXcifSxbbigiZGl2Iix7cmVmOiJtYWluIixzdGF0aWNDbGFzczoidW5pLXNjcm9sbC12aWV3IixzdHlsZTp7Im92ZXJmbG93LXgiOnQuc2Nyb2xsWD8iYXV0byI6ImhpZGRlbiIsIm92ZXJmbG93LXkiOnQuc2Nyb2xsWT8iYXV0byI6ImhpZGRlbiJ9fSxbbigiZGl2Iix7cmVmOiJjb250ZW50IixzdGF0aWNDbGFzczoidW5pLXNjcm9sbC12aWV3LWNvbnRlbnQifSxbdC5yZWZyZXNoZXJFbmFibGVkP24oImRpdiIse3JlZjoicmVmcmVzaGVyaW5uZXIiLHN0YXRpY0NsYXNzOiJ1bmktc2Nyb2xsLXZpZXctcmVmcmVzaGVyIixzdHlsZTp7ImJhY2tncm91bmQtY29sb3IiOnQucmVmcmVzaGVyQmFja2dyb3VuZCxoZWlnaHQ6dC5yZWZyZXNoZXJIZWlnaHQrInB4In19LFsibm9uZSIhPT10LnJlZnJlc2hlckRlZmF1bHRTdHlsZT9uKCJkaXYiLHtzdGF0aWNDbGFzczoidW5pLXNjcm9sbC12aWV3LXJlZnJlc2gifSxbbigiZGl2Iix7c3RhdGljQ2xhc3M6InVuaS1zY3JvbGwtdmlldy1yZWZyZXNoLWlubmVyIn0sWyJwdWxsaW5nIj09dC5yZWZyZXNoU3RhdGU/bigic3ZnIix7a2V5OiJyZWZyZXNoX19pY29uIixzdGF0aWNDbGFzczoidW5pLXNjcm9sbC12aWV3LXJlZnJlc2hfX2ljb24iLHN0eWxlOnt0cmFuc2Zvcm06InJvdGF0ZSgiK3QucmVmcmVzaFJvdGF0ZSsiZGVnKSJ9LGF0dHJzOntmaWxsOiIjMkJEMDA5Iix3aWR0aDoiMjQiLGhlaWdodDoiMjQiLHZpZXdCb3g6IjAgMCAyNCAyNCJ9fSxbbigicGF0aCIse2F0dHJzOntkOiJNMTcuNjUgNi4zNUMxNi4yIDQuOSAxNC4yMSA0IDEyIDRjLTQuNDIgMC03Ljk5IDMuNTgtNy45OSA4czMuNTcgOCA3Ljk5IDhjMy43MyAwIDYuODQtMi41NSA3LjczLTZoLTIuMDhjLS44MiAyLjMzLTMuMDQgNC01LjY1IDQtMy4zMSAwLTYtMi42OS02LTZzMi42OS02IDYtNmMxLjY2IDAgMy4xNC42OSA0LjIyIDEuNzhMMTMgMTFoN1Y0bC0yLjM1IDIuMzV6In19KSxuKCJwYXRoIix7YXR0cnM6e2Q6Ik0wIDBoMjR2MjRIMHoiLGZpbGw6Im5vbmUifX0pXSk6dC5fZSgpLCJyZWZyZXNoaW5nIj09dC5yZWZyZXNoU3RhdGU/bigic3ZnIix7a2V5OiJyZWZyZXNoX19zcGlubmVyIixzdGF0aWNDbGFzczoidW5pLXNjcm9sbC12aWV3LXJlZnJlc2hfX3NwaW5uZXIiLGF0dHJzOnt3aWR0aDoiMjQiLGhlaWdodDoiMjQiLHZpZXdCb3g6IjI1IDI1IDUwIDUwIn19LFtuKCJjaXJjbGUiLHtzdGF0aWNTdHlsZTp7Y29sb3I6IiMyYmQwMDkifSxhdHRyczp7Y3g6IjUwIixjeToiNTAiLHI6IjIwIixmaWxsOiJub25lIiwic3Ryb2tlLXdpZHRoIjoiMyJ9fSldKTp0Ll9lKCldKV0pOnQuX2UoKSwibm9uZSI9PXQucmVmcmVzaGVyRGVmYXVsdFN0eWxlP3QuX3QoInJlZnJlc2hlciIpOnQuX2UoKV0sMik6dC5fZSgpLHQuX3QoImRlZmF1bHQiKV0sMildKV0pXSl9KSxbXSwhMSxudWxsLG51bGwsbnVsbCk7ZVsiZGVmYXVsdCJdPWEuZXhwb3J0c30sIjhmYzYiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5kKGUsImEiLChmdW5jdGlvbigpe3JldHVybiBvfSkpO3ZhciByPW4oIjc1NTMiKSxpPW4oImNmZjkiKTtmdW5jdGlvbiBvKHQsZSl7ZS5nZXRBcHA7dmFyIG49ZS5nZXRDdXJyZW50UGFnZXM7ZnVuY3Rpb24gbyh0KXtyZXR1cm4gZnVuY3Rpb24oZSxyKXtyPXBhcnNlSW50KHIpO3ZhciBvPW4oKSxhPW8uZmluZCgoZnVuY3Rpb24odCl7cmV0dXJuIHQuJHBhZ2UuaWQ9PT1yfSkpO2EmJk9iamVjdChpWyJiIl0pKGEsdCxlKX19dmFyIGE9T2JqZWN0KHJbImEiXSkoInJlcXVlc3RDb21wb25lbnRJbmZvIik7dmFyIHM9T2JqZWN0KHJbImEiXSkoInJlcXVlc3RDb21wb25lbnRPYnNlcnZlciIpO3ZhciBjPU9iamVjdChyWyJhIl0pKCJyZXF1ZXN0TWVkaWFRdWVyeU9ic2VydmVyIik7dCgib25QYWdlUmVhZHkiLG8oIm9uUmVhZHkiKSksdCgib25QYWdlU2Nyb2xsIixvKCJvblBhZ2VTY3JvbGwiKSksdCgib25SZWFjaEJvdHRvbSIsbygib25SZWFjaEJvdHRvbSIpKSx0KCJvblJlcXVlc3RDb21wb25lbnRJbmZvIiwoZnVuY3Rpb24odCl7dmFyIGU9dC5yZXFJZCxuPXQucmVzLHI9YS5wb3AoZSk7ciYmcihuKX0pKSx0KCJvblJlcXVlc3RDb21wb25lbnRPYnNlcnZlciIsKGZ1bmN0aW9uKHQpe3ZhciBlPXQucmVxSWQsbj10LnJlcUVuZCxyPXQucmVzLGk9cy5nZXQoZSk7aWYoaSl7aWYobilyZXR1cm4gdm9pZCBzLnBvcChlKTtpKHIpfX0pKSx0KCJvblJlcXVlc3RNZWRpYVF1ZXJ5T2JzZXJ2ZXIiLChmdW5jdGlvbih0KXt2YXIgZT10LnJlcUlkLG49dC5yZXFFbmQscj10LnJlcyxpPWMuZ2V0KGUpO2lmKGkpe2lmKG4pcmV0dXJuIHZvaWQgYy5wb3AoZSk7aShyKX19KSl9fSwiOTA5ZSI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCIwZGI4Iik7bi5kKGUsImEiLChmdW5jdGlvbigpe3JldHVybiByWyJhIl19KSk7dmFyIGk9bigiMmFjZSIpO24uZChlLCJmIiwoZnVuY3Rpb24oKXtyZXR1cm4gaVsiYSJdfSkpO3ZhciBvPW4oIjQzMzUiKTtuLmQoZSwiYyIsKGZ1bmN0aW9uKCl7cmV0dXJuIG9bImEiXX0pKTt2YXIgYT1uKCIyM2ExIik7bi5kKGUsImciLChmdW5jdGlvbigpe3JldHVybiBhWyJhIl19KSk7dmFyIHM9bigiMGU0YSIpO24uZChlLCJlIiwoZnVuY3Rpb24oKXtyZXR1cm4gc1siYSJdfSkpO3ZhciBjPW4oIjBjNDAiKTtuLmQoZSwiYiIsKGZ1bmN0aW9uKCl7cmV0dXJuIGNbImEiXX0pKTt2YXIgdT1uKCI4OGE4Iik7bi5kKGUsImQiLChmdW5jdGlvbigpe3JldHVybiB1WyJhIl19KSl9LCI5MGYwIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO24ucihlKSxuLmQoZSwiZ2V0UHJvdmlkZXIiLChmdW5jdGlvbigpe3JldHVybiBpfSkpO3ZhciByPXtPQVVUSDoiT0FVVEgiLFNIQVJFOiJTSEFSRSIsUEFZTUVOVDoiUEFZTUVOVCIsUFVTSDoiUFVTSCJ9LGk9e3NlcnZpY2U6e3R5cGU6U3RyaW5nLHJlcXVpcmVkOiEwLHZhbGlkYXRvcjpmdW5jdGlvbih0LGUpe2lmKHQ9KHR8fCIiKS50b1VwcGVyQ2FzZSgpLHQmJk9iamVjdC52YWx1ZXMocikuaW5kZXhPZih0KTwwKXJldHVybiJzZXJ2aWNlIGVycm9yIn19fX0sOTEzMTpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiOyhmdW5jdGlvbih0KXtmdW5jdGlvbiByKCl7dmFyIGU7cmV0dXJuKGU9dCkuaW52b2tlQ2FsbGJhY2tIYW5kbGVyLmFwcGx5KGUsYXJndW1lbnRzKX1mdW5jdGlvbiBpKGUpe3JldHVybiB0LnJlbW92ZUNhbGxiYWNrSGFuZGxlcihlKX1uLmQoZSwiYSIsKGZ1bmN0aW9uKCl7cmV0dXJuIHJ9KSksbi5kKGUsImIiLChmdW5jdGlvbigpe3JldHVybiBpfSkpfSkuY2FsbCh0aGlzLG4oIjJjOWYiKSl9LDkxNTE6ZnVuY3Rpb24odCxlKXsoZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7Zm9yKHZhciB0PSJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvIixuPW5ldyBVaW50OEFycmF5KDI1Nikscj0wO3I8dC5sZW5ndGg7cisrKW5bdC5jaGFyQ29kZUF0KHIpXT1yO2UuZW5jb2RlPWZ1bmN0aW9uKGUpe3ZhciBuLHI9bmV3IFVpbnQ4QXJyYXkoZSksaT1yLmxlbmd0aCxvPSIiO2ZvcihuPTA7bjxpO24rPTMpbys9dFtyW25dPj4yXSxvKz10WygzJnJbbl0pPDw0fHJbbisxXT4+NF0sbys9dFsoMTUmcltuKzFdKTw8MnxyW24rMl0+PjZdLG8rPXRbNjMmcltuKzJdXTtyZXR1cm4gaSUzPT09Mj9vPW8uc3Vic3RyaW5nKDAsby5sZW5ndGgtMSkrIj0iOmklMz09PTEmJihvPW8uc3Vic3RyaW5nKDAsby5sZW5ndGgtMikrIj09Iiksb30sZS5kZWNvZGU9ZnVuY3Rpb24odCl7dmFyIGUscixpLG8sYSxzPS43NSp0Lmxlbmd0aCxjPXQubGVuZ3RoLHU9MDsiPSI9PT10W3QubGVuZ3RoLTFdJiYocy0tLCI9Ij09PXRbdC5sZW5ndGgtMl0mJnMtLSk7dmFyIGw9bmV3IEFycmF5QnVmZmVyKHMpLGY9bmV3IFVpbnQ4QXJyYXkobCk7Zm9yKGU9MDtlPGM7ZSs9NClyPW5bdC5jaGFyQ29kZUF0KGUpXSxpPW5bdC5jaGFyQ29kZUF0KGUrMSldLG89blt0LmNoYXJDb2RlQXQoZSsyKV0sYT1uW3QuY2hhckNvZGVBdChlKzMpXSxmW3UrK109cjw8MnxpPj40LGZbdSsrXT0oMTUmaSk8PDR8bz4+MixmW3UrK109KDMmbyk8PDZ8NjMmYTtyZXR1cm4gbH19KSgpfSwiOTIzZCI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjsoZnVuY3Rpb24odCl7dmFyIHI9bigiODRlZCIpLGk9bigiNDczOCIpLG89bigiMDg1NCIpLGE9e2ZvcndhcmQ6IiYjeGU2MDA7IixiYWNrOiImI3hlNjAxOyIsc2hhcmU6IiYjeGU2MDI7IixmYXZvcml0ZToiJiN4ZTYwNDsiLGhvbWU6IiYjeGU2MDU7IixtZW51OiImI3hlNjA2OyIsY2xvc2U6IiYjeGU2NTA7In07ZVsiYSJdPXtuYW1lOiJQYWdlSGVhZCIsbWl4aW5zOltvWyJhIl1dLHByb3BzOntiYWNrQnV0dG9uOnt0eXBlOkJvb2xlYW4sZGVmYXVsdDohMH0sYmFja2dyb3VuZENvbG9yOnt0eXBlOlN0cmluZyxkZWZhdWx0OmZ1bmN0aW9uKCl7cmV0dXJuInRyYW5zcGFyZW50Ij09PXRoaXMudHlwZT8iIzAwMCI6IiNGOEY4RjgifX0sdGV4dENvbG9yOnt0eXBlOlN0cmluZyxkZWZhdWx0OiIjZmZmIn0sdGl0bGVUZXh0Ont0eXBlOlN0cmluZyxkZWZhdWx0OiIifSxkdXJhdGlvbjp7dHlwZTpTdHJpbmcsZGVmYXVsdDoiMCJ9LHRpbWluZ0Z1bmM6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6IiJ9LGxvYWRpbmc6e3R5cGU6Qm9vbGVhbixkZWZhdWx0OiExfSx0aXRsZVNpemU6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6IjE2cHgifSx0eXBlOntkZWZhdWx0OiJkZWZhdWx0Iix2YWxpZGF0b3I6ZnVuY3Rpb24odCl7cmV0dXJuLTEhPT1bImRlZmF1bHQiLCJ0cmFuc3BhcmVudCIsImZsb2F0Il0uaW5kZXhPZih0KX19LGNvdmVyYWdlOnt0eXBlOlN0cmluZyxkZWZhdWx0OiIxMzJweCJ9LGJ1dHRvbnM6e3R5cGU6QXJyYXksZGVmYXVsdDpmdW5jdGlvbigpe3JldHVybltdfX0sc2VhcmNoSW5wdXQ6e3R5cGU6W09iamVjdCxCb29sZWFuXSxkZWZhdWx0OmZ1bmN0aW9uKCl7cmV0dXJuITF9fSx0aXRsZUltYWdlOnt0eXBlOlN0cmluZyxkZWZhdWx0OiIifSx0aXRsZVBlbmV0cmF0ZTp7dHlwZTpCb29sZWFuLGRlZmF1bHQ6ITF9LHNoYWRvdzp7dHlwZTpPYmplY3QsZGVmYXVsdDpmdW5jdGlvbigpe3JldHVybnt9fX19LGRhdGE6ZnVuY3Rpb24oKXtyZXR1cm57Zm9jdXM6ITEsdGV4dDoiIixjb21wb3Npbmc6ITEsc2hvd1BsYWNlaG9sZGVyOiExfX0sY29tcHV0ZWQ6e2J0bnM6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLGU9W10sbj17fTtyZXR1cm4gdGhpcy5idXR0b25zLmxlbmd0aCYmdGhpcy5idXR0b25zLmZvckVhY2goKGZ1bmN0aW9uKG8pe3ZhciBhPU9iamVjdC5hc3NpZ24oe30sbyk7aWYoYS5mb250U3JjJiYhYS5mb250RmFtaWx5KXt2YXIgcyxjPWEuZm9udFNyYz1PYmplY3QoaVsiYSJdKShhLmZvbnRTcmMpO2lmKGMgaW4gbilzPW5bY107ZWxzZXtzPSJmb250Ii5jb25jYXQoRGF0ZS5ub3coKSksbltjXT1zO3ZhciB1PSdAZm9udC1mYWNle2ZvbnQtZmFtaWx5OiAiJy5jb25jYXQocywnIjtzcmM6IHVybCgiJykuY29uY2F0KGMsJyIpIGZvcm1hdCgidHJ1ZXR5cGUiKX0nKTtPYmplY3QoclsiYSJdKSh1LCJ1bmktYnRuLWZvbnQtIitzKX1hLmZvbnRGYW1pbHk9c31hLmNvbG9yPSJ0cmFuc3BhcmVudCI9PT10LnR5cGU/IiNmZmYiOmEuY29sb3J8fHQudGV4dENvbG9yO3ZhciBsPWEuZm9udFNpemV8fCgidHJhbnNwYXJlbnQiPT09dC50eXBlfHwvXFx1Ly50ZXN0KGEudGV4dCk/IjIycHgiOiIyN3B4Iik7L1xkJC8udGVzdChsKSYmKGwrPSJweCIpLGEuZm9udFNpemU9bCxhLmZvbnRXZWlnaHQ9YS5mb250V2VpZ2h0fHwibm9ybWFsIixlLnB1c2goYSl9KSksZX0saGVhZENsYXNzOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5zaGFkb3cuY29sb3JUeXBlLGU9eyJ1bmktcGFnZS1oZWFkLXRyYW5zcGFyZW50IjoidHJhbnNwYXJlbnQiPT09dGhpcy50eXBlLCJ1bmktcGFnZS1oZWFkLXRpdGxlUGVuZXRyYXRlIjp0aGlzLnRpdGxlUGVuZXRyYXRlLCJ1bmktcGFnZS1oZWFkLXNoYWRvdyI6dH07cmV0dXJuIHQmJihlWyJ1bmktcGFnZS1oZWFkLXNoYWRvdy0iLmNvbmNhdCh0KV09dCksZX19LG1vdW50ZWQ6ZnVuY3Rpb24oKXt2YXIgZT10aGlzO2lmKHRoaXMuc2VhcmNoSW5wdXQpe3ZhciBuPXRoaXMuJHJlZnMuaW5wdXQ7bi4kd2F0Y2goImNvbXBvc2luZyIsKGZ1bmN0aW9uKHQpe2UuY29tcG9zaW5nPXR9KSksbi4kd2F0Y2goInZhbHVlU3luYyIsKGZ1bmN0aW9uKHQpe2Uuc2hvd1BsYWNlaG9sZGVyPSEhdH0pKSx0aGlzLnNlYXJjaElucHV0LmRpc2FibGVkP24uJGVsLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoZnVuY3Rpb24oKXt0LmVtaXQoIm9uTmF2aWdhdGlvbkJhclNlYXJjaElucHV0Q2xpY2tlZCIsIiIpfSkpOihuLiRyZWZzLmlucHV0LmFkZEV2ZW50TGlzdGVuZXIoImtleXVwIiwoZnVuY3Rpb24obil7IkVOVEVSIj09PW4ua2V5LnRvVXBwZXJDYXNlKCkmJnQuZW1pdCgib25OYXZpZ2F0aW9uQmFyU2VhcmNoSW5wdXRDb25maXJtZWQiLHt0ZXh0OmUudGV4dH0pfSkpLG4uJHJlZnMuaW5wdXQuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLChmdW5jdGlvbigpe3QuZW1pdCgib25OYXZpZ2F0aW9uQmFyU2VhcmNoSW5wdXRGb2N1c0NoYW5nZWQiLHtmb2N1czohMH0pfSkpLG4uJHJlZnMuaW5wdXQuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsKGZ1bmN0aW9uKCl7dC5lbWl0KCJvbk5hdmlnYXRpb25CYXJTZWFyY2hJbnB1dEZvY3VzQ2hhbmdlZCIse2ZvY3VzOiExfSl9KSkpfX0sbWV0aG9kczp7X2JhY2s6ZnVuY3Rpb24oKXsxPT09Z2V0Q3VycmVudFBhZ2VzKCkubGVuZ3RoP3VuaS5yZUxhdW5jaCh7dXJsOiIvIn0pOnVuaS5uYXZpZ2F0ZUJhY2soe2Zyb206ImJhY2tidXR0b24ifSl9LF9vbkJ0bkNsaWNrOmZ1bmN0aW9uKGUpe3QuZW1pdCgib25OYXZpZ2F0aW9uQmFyQnV0dG9uVGFwIixPYmplY3QuYXNzaWduKHt9LHRoaXMuYnRuc1tlXSx7aW5kZXg6ZX0pKX0sX2Zvcm1hdEJ0bkZvbnRUZXh0OmZ1bmN0aW9uKHQpe3JldHVybiB0LmZvbnRTcmMmJnQuZm9udEZhbWlseT90LnRleHQucmVwbGFjZSgiXFx1IiwiJiN4Iik6YVt0LnR5cGVdP2FbdC50eXBlXTp0LnRleHR8fCIifSxfZm9ybWF0QnRuU3R5bGU6ZnVuY3Rpb24odCl7dmFyIGU9e2NvbG9yOnQuY29sb3IsZm9udFNpemU6dC5mb250U2l6ZSxmb250V2VpZ2h0OnQuZm9udFdlaWdodH07cmV0dXJuIHQuZm9udEZhbWlseSYmKGUuZm9udEZhbWlseT10LmZvbnRGYW1pbHkpLGV9LF9mb2N1czpmdW5jdGlvbigpe3RoaXMuZm9jdXM9ITB9LF9ibHVyOmZ1bmN0aW9uKCl7dGhpcy5mb2N1cz0hMX0sX2lucHV0OmZ1bmN0aW9uKGUpe3QuZW1pdCgib25OYXZpZ2F0aW9uQmFyU2VhcmNoSW5wdXRDaGFuZ2VkIix7dGV4dDplfSl9LF9jbGVhcklucHV0OmZ1bmN0aW9uKCl7dGhpcy50ZXh0PSIiLHRoaXMuX2lucHV0KHRoaXMudGV4dCl9fX19KS5jYWxsKHRoaXMsbigiMmM5ZiIpKX0sIjkyNWYiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5yKGUpLG4uZChlLCJjaG9vc2VGaWxlIiwoZnVuY3Rpb24oKXtyZXR1cm4gb30pKTt2YXIgcj1bImFsbCIsImltYWdlIiwidmlkZW8iXSxpPVsiYWxidW0iLCJjYW1lcmEiXSxvPXtjb3VudDp7dHlwZTpOdW1iZXIscmVxdWlyZWQ6ITEsZGVmYXVsdDoxMDAsdmFsaWRhdG9yOmZ1bmN0aW9uKHQsZSl7dDw9MCYmKGUuY291bnQ9MTAwKX19LHNvdXJjZVR5cGU6e3R5cGU6QXJyYXkscmVxdWlyZWQ6ITEsZGVmYXVsdDppLHZhbGlkYXRvcjpmdW5jdGlvbih0LGUpe3Q9dC5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybiBpLmluY2x1ZGVzKHQpfSkpLGUuc291cmNlVHlwZT10Lmxlbmd0aD90Oml9fSx0eXBlOnt0eXBlOlN0cmluZyxyZXF1aXJlZDohMSxkZWZhdWx0OiJhbGwiLHZhbGlkYXRvcjpmdW5jdGlvbih0LGUpe3IuaW5jbHVkZXModCl8fChlLnR5cGU9clswXSksZS50eXBlPSJhbGwiPT09ZS50eXBlP2UudHlwZT0iKiI6ZS50eXBlfX0sZXh0ZW5zaW9uOnt0eXBlOkFycmF5LHZhbGlkYXRvcjpmdW5jdGlvbih0LGUpe2lmKHQpe2lmKDA9PT10Lmxlbmd0aClyZXR1cm4icGFyYW0gZXh0ZW5zaW9uIHNob3VsZCBub3QgYmUgZW1wdHkuIn1lbHNlImFsbCIhPT1lLnR5cGUmJiIqIiE9PWUudHlwZSYmZS50eXBlP2UuZXh0ZW5zaW9uPVsiKiJdOmUuZXh0ZW5zaW9uPVsiIl19fX19LCI5NTFjIjpmdW5jdGlvbih0LG4pe3QuZXhwb3J0cz1lfSw5NTkzOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiODNjMiIpLGk9bi5uKHIpO2kuYX0sIjk1YmQiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiMWZkZiIpLGk9bi5uKHIpO2kuYX0sOTYwMjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO24ucihlKSxmdW5jdGlvbih0KXt2YXIgcj1uKCIzOGNlIiksaT1uKCJjY2UyIiksbz1uKCIyYmUwIiksYT1uKCJmOThjIik7ZnVuY3Rpb24gcygpe3QucHVibGlzaEhhbmRsZXIoIm9uUGFnZVJlYWR5Iix7fSx0aGlzLiRwYWdlLmlkKX1lWyJkZWZhdWx0Il09e2luc3RhbGw6ZnVuY3Rpb24odCl7dmFyIGU9YXJndW1lbnRzLmxlbmd0aD4xJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0/YXJndW1lbnRzWzFdOnt9O2Uucm91dGVzLE9iamVjdChpWyJhIl0pKCk7dmFyIG49ZnVuY3Rpb24odCxlKXtmb3IodmFyIG49dC50YXJnZXQ7biYmbiE9PWU7bj1uLnBhcmVudE5vZGUpaWYobi50YWdOYW1lJiYwPT09bi50YWdOYW1lLmluZGV4T2YoIlVOSS0iKSlicmVhaztyZXR1cm4gbn07dC5wcm90b3R5cGUuJGhhbmRsZUV2ZW50PWZ1bmN0aW9uKHQpe2lmKHQgaW5zdGFuY2VvZiBFdmVudCl7dmFyIGU9bih0LHRoaXMuJGVsKTt0PWlbImIiXS5jYWxsKHRoaXMsdC50eXBlLHQse30sZXx8dC50YXJnZXQsdC5jdXJyZW50VGFyZ2V0KX1yZXR1cm4gdH0sdC5wcm90b3R5cGUuJGdldENvbXBvbmVudERlc2NyaXB0b3I9ZnVuY3Rpb24odCxlKXtyZXR1cm4gT2JqZWN0KGFbImEiXSkodHx8dGhpcyxlKX0sT2JqZWN0LmRlZmluZVByb3BlcnR5KHQucHJvdG90eXBlLCIkb3duZXJJbnN0YW5jZSIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLiRnZXRDb21wb25lbnREZXNjcmlwdG9yKHRoaXMpfX0pLHQucHJvdG90eXBlLiRoYW5kbGVXeHNFdmVudD1mdW5jdGlvbih0KXtpZih0IGluc3RhbmNlb2YgRXZlbnQpe3ZhciBlPXQuY3VycmVudFRhcmdldCxyPWUmJihlLl9fdnVlX198fGUpLG89ZSYmci4kZ2V0Q29tcG9uZW50RGVzY3JpcHRvciYmci4kZ2V0Q29tcG9uZW50RGVzY3JpcHRvcihyLCExKSxhPXQ7dD1pWyJiIl0uY2FsbCh0aGlzLGEudHlwZSxhLHt9LG4oYSx0aGlzLiRlbCl8fGEudGFyZ2V0LGEuY3VycmVudFRhcmdldCksdC5pbnN0YW5jZT1vLHQucHJldmVudERlZmF1bHQ9ZnVuY3Rpb24oKXtyZXR1cm4gYS5wcmV2ZW50RGVmYXVsdCgpfSx0LnN0b3BQcm9wYWdhdGlvbj1mdW5jdGlvbigpe3JldHVybiBhLnN0b3BQcm9wYWdhdGlvbigpfX1yZXR1cm4gdH0sdC5taXhpbih7YmVmb3JlQ3JlYXRlOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPXRoaXMuJG9wdGlvbnMsbj1lLnd4cztuJiZPYmplY3Qua2V5cyhuKS5mb3JFYWNoKChmdW5jdGlvbihlKXt0W2VdPW5bZV19KSksZS5iZWhhdmlvcnMmJmUuYmVoYXZpb3JzLmxlbmd0aCYmT2JqZWN0KG9bImEiXSkoZSx0aGlzKSxPYmplY3QoclsiZCJdKSh0aGlzKSYmKGUubW91bnRlZD1lLm1vdW50ZWQ/W10uY29uY2F0KHMsZS5tb3VudGVkKTpbc10pfX0pfX19LmNhbGwodGhpcyxuKCIzMWQyIikpfSwiOTZiOSI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCJjMTk0IiksaT1uLm4ocik7aS5hfSw5Nzk4OmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcih0LGUpe2Zvcih2YXIgbj0wO248ZS5sZW5ndGg7bisrKXt2YXIgcj1lW25dO3IuZW51bWVyYWJsZT1yLmVudW1lcmFibGV8fCExLHIuY29uZmlndXJhYmxlPSEwLCJ2YWx1ZSJpbiByJiYoci53cml0YWJsZT0hMCksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsci5rZXkscil9fW4uZChlLCJhIiwoZnVuY3Rpb24oKXtyZXR1cm4gaX0pKTt2YXIgaT1mdW5jdGlvbigpe2Z1bmN0aW9uIHQoZSxuKXt2YXIgcj10aGlzOyhmdW5jdGlvbih0LGUpe2lmKCEodCBpbnN0YW5jZW9mIGUpKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvbiIpfSkodGhpcyx0KSx0aGlzLmlkPWUsdGhpcy5saXN0ZW5lcj17fSx0aGlzLmVtaXRDYWNoZT17fSxuJiZPYmplY3Qua2V5cyhuKS5mb3JFYWNoKChmdW5jdGlvbih0KXtyLm9uKHQsblt0XSl9KSl9cmV0dXJuIGZ1bmN0aW9uKHQsZSxuKXtlJiZyKHQucHJvdG90eXBlLGUpLG4mJnIodCxuKX0odCxbe2tleToiZW1pdCIsdmFsdWU6ZnVuY3Rpb24odCl7Zm9yKHZhciBlPWFyZ3VtZW50cy5sZW5ndGgsbj1uZXcgQXJyYXkoZT4xP2UtMTowKSxyPTE7cjxlO3IrKyluW3ItMV09YXJndW1lbnRzW3JdO3ZhciBpPXRoaXMubGlzdGVuZXJbdF07aWYoIWkpcmV0dXJuKHRoaXMuZW1pdENhY2hlW3RdfHwodGhpcy5lbWl0Q2FjaGVbdF09W10pKS5wdXNoKG4pO2kuZm9yRWFjaCgoZnVuY3Rpb24odCl7dC5mbi5hcHBseSh0LmZuLG4pfSkpLHRoaXMubGlzdGVuZXJbdF09aS5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybiJvbmNlIiE9PXQudHlwZX0pKX19LHtrZXk6Im9uIix2YWx1ZTpmdW5jdGlvbih0LGUpe3RoaXMuX2FkZExpc3RlbmVyKHQsIm9uIixlKSx0aGlzLl9jbGVhckNhY2hlKHQpfX0se2tleToib25jZSIsdmFsdWU6ZnVuY3Rpb24odCxlKXt0aGlzLl9hZGRMaXN0ZW5lcih0LCJvbmNlIixlKSx0aGlzLl9jbGVhckNhY2hlKHQpfX0se2tleToib2ZmIix2YWx1ZTpmdW5jdGlvbih0LGUpe3ZhciBuPXRoaXMubGlzdGVuZXJbdF07aWYobilpZihlKWZvcih2YXIgcj0wO3I8bi5sZW5ndGg7KW5bcl0uZm49PT1lJiYobi5zcGxpY2UociwxKSxyLS0pLHIrKztlbHNlIGRlbGV0ZSB0aGlzLmxpc3RlbmVyW3RdfX0se2tleToiX2NsZWFyQ2FjaGUiLHZhbHVlOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuZW1pdENhY2hlW3RdO2lmKGUpZm9yKDtlLmxlbmd0aD4wOyl0aGlzLmVtaXQuYXBwbHkodGhpcyxbdF0uY29uY2F0KGUuc2hpZnQoKSkpfX0se2tleToiX2FkZExpc3RlbmVyIix2YWx1ZTpmdW5jdGlvbih0LGUsbil7KHRoaXMubGlzdGVuZXJbdF18fCh0aGlzLmxpc3RlbmVyW3RdPVtdKSkucHVzaCh7Zm46bix0eXBlOmV9KX19XSksdH0oKX0sIjk3YWYiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7KGZ1bmN0aW9uKHQpe24uZChlLCJiIiwoZnVuY3Rpb24oKXtyZXR1cm4gY30pKSxuLmQoZSwiYSIsKGZ1bmN0aW9uKCl7cmV0dXJuIHZ9KSk7dmFyIHI9bigiY2ZmOSIpO2Z1bmN0aW9uIGkodCl7LTE9PT10aGlzLmtlZXBBbGl2ZUluY2x1ZGUuaW5kZXhPZih0KSYmdGhpcy5rZWVwQWxpdmVJbmNsdWRlLnB1c2godCl9dmFyIG89W107ZnVuY3Rpb24gYSh0KXtpZigibnVtYmVyIj09PXR5cGVvZiB0KW89dGhpcy5rZWVwQWxpdmVJbmNsdWRlLnNwbGljZSgtKHQtMSkpLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIHBhcnNlSW50KHQuc3BsaXQoIi0iKS5wb3AoKSl9KSk7ZWxzZXt2YXIgZT10aGlzLmtlZXBBbGl2ZUluY2x1ZGUuaW5kZXhPZih0KTstMSE9PWUmJnRoaXMua2VlcEFsaXZlSW5jbHVkZS5zcGxpY2UoZSwxKX19dmFyIHM9T2JqZWN0LmNyZWF0ZShudWxsKTtmdW5jdGlvbiBjKHQpe3JldHVybiBzW3RdfWZ1bmN0aW9uIHUodCl7c1t0XT17eDp3aW5kb3cucGFnZVhPZmZzZXQseTp3aW5kb3cucGFnZVlPZmZzZXR9fWZ1bmN0aW9uIGwodCxlLG4pe2UmJm4mJmUubWV0YS5pc1RhYkJhciYmbi5tZXRhLmlzVGFiQmFyJiZ1KG4ucGFyYW1zLl9faWRfXyk7Zm9yKHZhciBpPWdldEN1cnJlbnRQYWdlcygpLG89aS5sZW5ndGgtMTtvPj0wO28tLSl7dmFyIHM9aVtvXSxjPXMuJHBhZ2UubWV0YTtjLmlzVGFiQmFyfHwoYS5jYWxsKHRoaXMsYy5uYW1lKyItIitzLiRwYWdlLmlkKSxPYmplY3QoclsiYiJdKShzLCJvblVubG9hZCIpKX19ZnVuY3Rpb24gZih0KXtfX3VuaUNvbmZpZy5yZUxhdW5jaD0oX191bmlDb25maWcucmVMYXVuY2h8fDEpKzE7Zm9yKHZhciBlPWdldEN1cnJlbnRQYWdlcyghMCksbj1lLmxlbmd0aC0xO24+PTA7bi0tKU9iamVjdChyWyJiIl0pKGVbbl0sIm9uVW5sb2FkIiksZVtuXS4kZGVzdHJveSgpO3RoaXMua2VlcEFsaXZlSW5jbHVkZT1bXSxzPU9iamVjdC5jcmVhdGUobnVsbCl9dmFyIGQ9W107ZnVuY3Rpb24gaCh0LGUsbixyKXtkPWdldEN1cnJlbnRQYWdlcyghMCk7dmFyIG89ZS5wYXJhbXMuX19pZF9fLHM9dC5wYXJhbXMuX19pZF9fLGM9dC5tZXRhLm5hbWUrIi0iK3M7aWYocz09PW8mJiJyZUxhdW5jaCIhPT10LnR5cGUpdC5mdWxsUGF0aCE9PWUuZnVsbFBhdGg/KGkuY2FsbCh0aGlzLGMpLG4oKSk6bighMSk7ZWxzZSBpZih0Lm1ldGEuaWQmJnQubWV0YS5pZCE9PXMpbih7cGF0aDp0LnBhdGgscmVwbGFjZTohMH0pO2Vsc2V7dmFyIHU9ZS5tZXRhLm5hbWUrIi0iK287c3dpdGNoKHQudHlwZSl7Y2FzZSJuYXZpZ2F0ZVRvIjpicmVhaztjYXNlInJlZGlyZWN0VG8iOmEuY2FsbCh0aGlzLHUpLGUubWV0YSYmZS5tZXRhLmlzUXVpdCYmKHQubWV0YS5pc1F1aXQ9ITAsdC5tZXRhLmlzRW50cnk9ISFlLm1ldGEuaXNFbnRyeSk7YnJlYWs7Y2FzZSJzd2l0Y2hUYWIiOmwuY2FsbCh0aGlzLHIsdCxlKTticmVhaztjYXNlInJlTGF1bmNoIjpmLmNhbGwodGhpcyxjKSx0Lm1ldGEuaXNRdWl0PSEwO2JyZWFrO2RlZmF1bHQ6byYmbz5zJiYoYS5jYWxsKHRoaXMsdSksdGhpcy4kcm91dGVyLl8kZGVsdGE+MSYmYS5jYWxsKHRoaXMsdGhpcy4kcm91dGVyLl8kZGVsdGEpKTticmVha31pZigicmVMYXVuY2giIT09dC50eXBlJiYicmVkaXJlY3RUbyIhPT10LnR5cGUmJmUubWV0YS5pZCYmaS5jYWxsKHRoaXMsdSksaS5jYWxsKHRoaXMsYyksdC5tZXRhJiZ0Lm1ldGEubmFtZSl7ZG9jdW1lbnQuYm9keS5jbGFzc05hbWU9InVuaS1ib2R5ICIrdC5tZXRhLm5hbWU7dmFyIGg9Im52dWUtZGlyLSIrX191bmlDb25maWcubnZ1ZVsiZmxleC1kaXJlY3Rpb24iXTt0Lm1ldGEuaXNOVnVlPyhkb2N1bWVudC5ib2R5LnNldEF0dHJpYnV0ZSgibnZ1ZSIsIiIpLGRvY3VtZW50LmJvZHkuc2V0QXR0cmlidXRlKGgsIiIpKTooZG9jdW1lbnQuYm9keS5yZW1vdmVBdHRyaWJ1dGUoIm52dWUiKSxkb2N1bWVudC5ib2R5LnJlbW92ZUF0dHJpYnV0ZShoKSl9bigpfX1mdW5jdGlvbiBwKGUsbil7dmFyIGksYT1uLnBhcmFtcy5fX2lkX18scz1lLnBhcmFtcy5fX2lkX187ZnVuY3Rpb24gYyh0KXtpZih0KXtPYmplY3QoclsiYiJdKSh0LCJvblVubG9hZCIpO3ZhciBlPWQuaW5kZXhPZih0KTtlPj0wJiZkLnNwbGljZShlLDEpfX1zd2l0Y2goaT1uLm1ldGEuaXNTZXQ/ZC5maW5kKChmdW5jdGlvbih0KXtyZXR1cm4gdC4kcGFnZS5tZXRhLnBhZ2VQYXRoPT09bi5tZXRhLnBhZ2VQYXRofSkpOmQuZmluZCgoZnVuY3Rpb24odCl7cmV0dXJuIHQuJHBhZ2UuaWQ9PT1hfSkpLGUudHlwZSl7Y2FzZSJuYXZpZ2F0ZVRvIjppJiZPYmplY3QoclsiYiJdKShpLCJvbkhpZGUiKTticmVhaztjYXNlInJlZGlyZWN0VG8iOmMoaSk7YnJlYWs7Y2FzZSJzd2l0Y2hUYWIiOm4ubWV0YS5pc1RhYkJhciYmaSYmT2JqZWN0KHJbImIiXSkoaSwib25IaWRlIik7YnJlYWs7Y2FzZSJyZUxhdW5jaCI6YnJlYWs7ZGVmYXVsdDphJiZhPnMmJihjKGkpLHRoaXMuJHJvdXRlci5fJGRlbHRhPjEmJm8ucmV2ZXJzZSgpLmZvckVhY2goKGZ1bmN0aW9uKHQpe3ZhciBlPWQuZmluZCgoZnVuY3Rpb24oZSl7cmV0dXJuIGUuJHBhZ2UuaWQ9PT10fSkpO2MoZSl9KSkpO2JyZWFrfWlmKGRlbGV0ZSB0aGlzLiRyb3V0ZXIuXyRkZWx0YSxvLmxlbmd0aD0wLCJyZUxhdW5jaCIhPT1lLnR5cGUpe3ZhciB1LGw9Z2V0Q3VycmVudFBhZ2VzKCEwKTt1PWUubWV0YS5pc1NldD9sLmZpbmQoKGZ1bmN0aW9uKHQpe3JldHVybiB0LiRwYWdlLm1ldGEucGFnZVBhdGg9PT1lLm1ldGEucGFnZVBhdGh9KSk6bC5maW5kKChmdW5jdGlvbih0KXtyZXR1cm4gdC4kcGFnZS5pZD09PXN9KSksdSYmKHNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7dC5lbWl0KCJvbk5hdmlnYXRpb25CYXJDaGFuZ2UiLHUuJHBhcmVudC4kcGFyZW50Lm5hdmlnYXRpb25CYXIpLE9iamVjdChyWyJiIl0pKHUsIm9uU2hvdyIpfSksMCksZG9jdW1lbnQudGl0bGU9dS4kcGFyZW50LiRwYXJlbnQubmF2aWdhdGlvbkJhci50aXRsZVRleHQpfX1mdW5jdGlvbiB2KHQsZSl7dC4kcm91dGVyLmJlZm9yZUVhY2goKGZ1bmN0aW9uKG4scixpKXtoLmNhbGwodCxuLHIsaSxlKX0pKSx0LiRyb3V0ZXIuYWZ0ZXJFYWNoKChmdW5jdGlvbihlLG4pe3AuY2FsbCh0LGUsbil9KSl9fSkuY2FsbCh0aGlzLG4oIjJjOWYiKSl9LCI5N2MzIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIodCl7aWYoMD09PXQuaW5kZXhPZigiIyIpKXt2YXIgZT10LnN1YnN0cigxKTtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuISghdC5jb21wb25lbnRJbnN0YW5jZXx8dC5jb21wb25lbnRJbnN0YW5jZS5pZCE9PWUpfHwhKCF0LmRhdGF8fCF0LmRhdGEuYXR0cnN8fHQuZGF0YS5hdHRycy5pZCE9PWUpfX1pZigwPT09dC5pbmRleE9mKCIuIikpe3ZhciBuPXQuc3Vic3RyKDEpO3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gdC5kYXRhJiZmdW5jdGlvbih0KXt2YXIgZT1hcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXT9hcmd1bWVudHNbMV06IiIsbj1hcmd1bWVudHMubGVuZ3RoPjImJnZvaWQgMCE9PWFyZ3VtZW50c1syXT9hcmd1bWVudHNbMl06IiI7cmV0dXJuIGU/LTEhPT1lLnNwbGl0KGkpLmluZGV4T2YodCk6biYmInN0cmluZyI9PT10eXBlb2Ygbj8tMSE9PW4uc3BsaXQoaSkuaW5kZXhPZih0KTp2b2lkIDB9KG4sdC5kYXRhLnN0YXRpY0NsYXNzLHQuZGF0YS5jbGFzcyl9fX1uLmQoZSwiYSIsKGZ1bmN0aW9uKCl7cmV0dXJuIG99KSk7dmFyIGk9L1xzKy87ZnVuY3Rpb24gbyh0KXt0LnByb3RvdHlwZS5jcmVhdGVJbnRlcnNlY3Rpb25PYnNlcnZlcj1mdW5jdGlvbih0KXtyZXR1cm4gdW5pLmNyZWF0ZUludGVyc2VjdGlvbk9ic2VydmVyKHRoaXMsdCl9LHQucHJvdG90eXBlLmNyZWF0ZU1lZGlhUXVlcnlPYnNlcnZlcj1mdW5jdGlvbih0KXtyZXR1cm4gdW5pLmNyZWF0ZU1lZGlhUXVlcnlPYnNlcnZlcih0aGlzLHQpfSx0LnByb3RvdHlwZS5zZWxlY3RDb21wb25lbnQ9ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uIHQoZSxuKXtpZihuKGUuJHZub2RlfHxlLl92bm9kZSkpcmV0dXJuIGU7Zm9yKHZhciByPWUuJGNoaWxkcmVuLGk9MDtpPHIubGVuZ3RoO2krKyl7dmFyIG89dChyW2ldLG4pO2lmKG8pcmV0dXJuIG99fSh0aGlzLHIodCkpfSx0LnByb3RvdHlwZS5zZWxlY3RBbGxDb21wb25lbnRzPWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbiB0KGUsbixyKXtuKGUuJHZub2RlfHxlLl92bm9kZSkmJnIucHVzaChlKTtmb3IodmFyIGk9ZS4kY2hpbGRyZW4sbz0wO288aS5sZW5ndGg7bysrKXQoaVtvXSxuLHIpO3JldHVybiByfSh0aGlzLHIodCksW10pfX19LDk4NDg6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCI2NWRiIiksaT1uLm4ocik7aS5hfSw5ODU0OmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiZjY2OSIpLGk9bi5uKHIpO2kuYX0sOTg3OTpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO24ucihlKSxuLmQoZSwiYWRkSW50ZXJjZXB0b3IiLChmdW5jdGlvbigpe3JldHVybiByfSkpLG4uZChlLCJyZW1vdmVJbnRlcmNlcHRvciIsKGZ1bmN0aW9uKCl7cmV0dXJuIGl9KSk7dmFyIHI9W3tuYW1lOiJtZXRob2QiLHR5cGU6W1N0cmluZyxPYmplY3RdLHJlcXVpcmVkOiEwfV0saT1yfSwiOTg4ZSI6ZnVuY3Rpb24odCxlLG4pe3ZhciByPXsiLi9iYXNlL2V2ZW50LWJ1cy5qcyI6IjNiMmQiLCIuL2Jhc2UvZ2V0LWJyb3dzZXItaW5mby5qcyI6IjAxZmQiLCIuL2NvbnN0YW50cy5qcyI6IjJmNWMiLCIuL2NvbnRleHQvaW5uZXItYXVkaW8uanMiOiIxMmUyIiwiLi9jb250ZXh0L29wZXJhdGUtbWFwLXBsYXllci5qcyI6IjU0MWMiLCIuL2NvbnRleHQvb3BlcmF0ZS12aWRlby1wbGF5ZXIuanMiOiJiY2FjIiwiLi9kZXZpY2UvYWNjZWxlcm9tZXRlci5qcyI6ImU0NDQiLCIuL2RldmljZS9jbGlwYm9hcmQuanMiOiI0NDk4IiwiLi9kZXZpY2UvY29tcGFzcy5qcyI6IjM5YTIiLCIuL2RldmljZS9nZXQtc3lzdGVtLWluZm8uanMiOiJlZjRlIiwiLi9kZXZpY2UvZ2V0LXdpbmRvdy1pbmZvLmpzIjoiMWVmZCIsIi4vZGV2aWNlL21ha2UtcGhvbmUtY2FsbC5qcyI6IjYzODMiLCIuL2RldmljZS9uZXR3b3JrLWluZm8uanMiOiJjMjMzIiwiLi9kZXZpY2UvdmlicmF0ZS5qcyI6IjgxZmYiLCIuL2ZpbGUvZmlsZS5qcyI6IjI4NmUiLCIuL2ZpbGUvb3Blbi1kb2N1bWVudC5qcyI6IjRhM2YiLCIuL2luZGV4LmpzIjoiMDJmYSIsIi4va2V5Ym9hcmQva2V5Ym9hcmQuanMiOiJjMTlkIiwiLi9sb2NhdGlvbi9jaG9vc2UtbG9jYXRpb24uanMiOiI2YzM2IiwiLi9sb2NhdGlvbi9nZXQtbG9jYXRpb24uanMiOiJhZjk1IiwiLi9sb2NhdGlvbi9sb2NhdGlvbi1jaGFuZ2UuanMiOiI5ZjY5IiwiLi9sb2NhdGlvbi9vcGVuLWxvY2F0aW9uLmpzIjoiNzkzYyIsIi4vbWVkaWEvTUlNRVR5cGUuanMiOiI4NDZlIiwiLi9tZWRpYS9jaG9vc2UtZmlsZS5qcyI6IjdmZDIiLCIuL21lZGlhL2Nob29zZS1pbWFnZS5qcyI6IjY3NzMiLCIuL21lZGlhL2Nob29zZS12aWRlby5qcyI6IjM5YTAiLCIuL21lZGlhL2NyZWF0ZV9pbnB1dC5qcyI6IjQ5M2QiLCIuL21lZGlhL2dldC1pbWFnZS1pbmZvLmpzIjoiMmRhZiIsIi4vbWVkaWEvZ2V0LXZpZGVvLWluZm8uanMiOiI4MmYxIiwiLi9tZWRpYS9wcmV2aWV3LWltYWdlLmpzIjoiODA3NiIsIi4vbmV0d29yay9kb3dubG9hZC1maWxlLmpzIjoiNGNhMTMiLCIuL25ldHdvcmsvcmVxdWVzdC5qcyI6Ijg5Y2UiLCIuL25ldHdvcmsvc29ja2V0LmpzIjoiYzg1NiIsIi4vbmV0d29yay91cGxvYWQtZmlsZS5qcyI6IjIxMWYiLCIuL3BsdWdpbi9nZXQtbGF1bmNoLW9wdGlvbnMtc3luYy5qcyI6IjAxMjYiLCIuL3BsdWdpbi9nZXQtcHJvdmlkZXIuanMiOiIzM2IyIiwiLi9yb3V0ZS9yb3V0ZS5qcyI6IjRkNWEiLCIuL3N0b3JhZ2Uvc3RvcmFnZS5qcyI6IjU2YWUiLCIuL3VpL25hdmlnYXRpb24tYmFyLmpzIjoiNDE4YyIsIi4vdWkvcG9wdXAuanMiOiI2NWNkIiwiLi91aS9wdWxsLWRvd24tcmVmcmVzaC5qcyI6IjY1NjQiLCIuL3VpL3JlcXVlc3QtY29tcG9uZW50LWluZm8uanMiOiJlMWIwIiwiLi91aS90YWItYmFyLmpzIjoiYThkOSIsIi4vdWkvd2luZG93LmpzIjoiYzFhYSIsIi4vdWkvd2luZG93cy5qcyI6ImYxOTIiLCIuL3V0aWwuanMiOiJkNGVlIn07ZnVuY3Rpb24gaSh0KXt2YXIgZT1vKHQpO3JldHVybiBuKGUpfWZ1bmN0aW9uIG8odCl7aWYoIW4ubyhyLHQpKXt2YXIgZT1uZXcgRXJyb3IoIkNhbm5vdCBmaW5kIG1vZHVsZSAnIit0KyInIik7dGhyb3cgZS5jb2RlPSJNT0RVTEVfTk9UX0ZPVU5EIixlfXJldHVybiByW3RdfWkua2V5cz1mdW5jdGlvbigpe3JldHVybiBPYmplY3Qua2V5cyhyKX0saS5yZXNvbHZlPW8sdC5leHBvcnRzPWksaS5pZD0iOTg4ZSJ9LCI5YTc4IjpmdW5jdGlvbih0LGUsbil7fSwiOWI2ZCI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCI0NzM4IiksaT17cHJvcHM6e2lkOnt0eXBlOltOdW1iZXIsU3RyaW5nXSxkZWZhdWx0OiIifSxwb3NpdGlvbjp7dHlwZTpPYmplY3QscmVxdWlyZWQ6ITB9LGljb25QYXRoOnt0eXBlOlN0cmluZyxyZXF1aXJlZDohMH0sY2xpY2thYmxlOnt0eXBlOkJvb2xlYW4sZGVmYXVsdDohMX19LGNvbXB1dGVkOntpbWdQYXRoOmZ1bmN0aW9uKCl7cmV0dXJuIE9iamVjdChyWyJhIl0pKHRoaXMuaWNvblBhdGgpfSxwb3NpdGlvblN0eWxlOmZ1bmN0aW9uKCl7dmFyIHQ9InRvcDoiLmNvbmNhdCh0aGlzLnBvc2l0aW9uLnRvcHx8MCwicHg7bGVmdDoiKS5jb25jYXQodGhpcy5wb3NpdGlvbi5sZWZ0fHwwLCJweDsiKTtyZXR1cm4gdGhpcy5wb3NpdGlvbi53aWR0aCYmKHQrPSJ3aWR0aDoiLmNvbmNhdCh0aGlzLnBvc2l0aW9uLndpZHRoLCJweDsiKSksdGhpcy5wb3NpdGlvbi5oZWlnaHQmJih0Kz0iaGVpZ2h0OiIuY29uY2F0KHRoaXMucG9zaXRpb24uaGVpZ2h0LCJweDsiKSksdH19LG1ldGhvZHM6e2hhbmRsZUNsaWNrOmZ1bmN0aW9uKHQpe3RoaXMuY2xpY2thYmxlJiZ0aGlzLiRwYXJlbnQuJHRyaWdnZXIoImNvbnRyb2x0YXAiLHQse2NvbnRyb2xJZDp0aGlzLmlkfSksdC5zdG9wUHJvcGFnYXRpb24oKX19fSxvPWksYT0obigiMTFkZiIpLG4oIjg4NDQiKSkscz1PYmplY3QoYVsiYSJdKShvLChmdW5jdGlvbigpe3ZhciB0PXRoaXMsZT10LiRjcmVhdGVFbGVtZW50LG49dC5fc2VsZi5fY3x8ZTtyZXR1cm4gbigiZGl2Iix7c3RhdGljQ2xhc3M6InVuaS1tYXAtY29udHJvbCJ9LFtuKCJpbWciLHtzdGF0aWNDbGFzczoidW5pLW1hcC1jb250cm9sLWljb24iLHN0eWxlOnQucG9zaXRpb25TdHlsZSxhdHRyczp7c3JjOnQuaW1nUGF0aH0sb246e2NsaWNrOnQuaGFuZGxlQ2xpY2t9fSldKX0pLFtdLCExLG51bGwsbnVsbCxudWxsKTtlWyJhIl09cy5leHBvcnRzfSwiOWJiYiI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCIzNTk2IiksaT1uLm4ocik7aS5hfSwiOWJkOSI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtuLnIoZSksbi5kKGUsImNhbklVc2UiLChmdW5jdGlvbigpe3JldHVybiBzfSkpO3ZhciByPW4oIjM0MGQiKTtmdW5jdGlvbiBpKHQpe3JldHVybiB3aW5kb3cuQ1NTJiZDU1Muc3VwcG9ydHMmJihDU1Muc3VwcG9ydHModCl8fENTUy5zdXBwb3J0cy5hcHBseShDU1MsdC5zcGxpdCgiOiIpKSl9dmFyIG89eyJjc3MudmFyIjppKCItLWE6MCIpLCJjc3MuZW52IjppKCJ0b3A6ZW52KGEpIiksImNzcy5jb25zdGFudCI6aSgidG9wOmNvbnN0YW50KGEpIil9LGE9bigiMDUwZiIpO2Z1bmN0aW9uIHModCl7cmV0dXJuIE9iamVjdChyWyJpIl0pKG8sdCk/b1t0XTohIU9iamVjdChyWyJpIl0pKGFbImEiXSx0KX19LCI5YmZlIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO24ucihlKSxuLmQoZSwiZ2V0VmlkZW9JbmZvIiwoZnVuY3Rpb24oKXtyZXR1cm4gaX0pKTt2YXIgcj1uKCI0NzM4IiksaT17c3JjOnt0eXBlOlN0cmluZyxyZXF1aXJlZDohMCx2YWxpZGF0b3I6ZnVuY3Rpb24odCxlKXtlLnNyYz1PYmplY3QoclsiYSJdKSh0KX19fX0sIjlkMTciOmZ1bmN0aW9uKHQsZSxuKXt9LCI5ZTMwIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO24ucihlKSxmdW5jdGlvbih0KXt2YXIgcj1uKCIzNDBkIik7ZVsiZGVmYXVsdCJdPXtkYXRhOmZ1bmN0aW9uKCl7cmV0dXJue3Nob3dBY3Rpb25TaGVldDp7dmlzaWJsZTohMX19fSxjcmVhdGVkOmZ1bmN0aW9uKCl7dmFyIGU9dGhpczt0Lm9uKCJvblNob3dBY3Rpb25TaGVldCIsKGZ1bmN0aW9uKHQsbil7ZS5zaG93QWN0aW9uU2hlZXQ9dCxlLm9uQWN0aW9uU2hlZXRDbG9zZUNhbGxiYWNrPW59KSksdC5vbigib25IaWRlUG9wdXAiLChmdW5jdGlvbih0KXtlLnNob3dBY3Rpb25TaGVldC52aXNpYmxlPSExfSkpfSxtZXRob2RzOntfb25BY3Rpb25TaGVldENsb3NlOmZ1bmN0aW9uKHQpe3RoaXMuc2hvd0FjdGlvblNoZWV0LnZpc2libGU9ITEsT2JqZWN0KHJbImsiXSkodGhpcy5vbkFjdGlvblNoZWV0Q2xvc2VDYWxsYmFjaykmJnRoaXMub25BY3Rpb25TaGVldENsb3NlQ2FsbGJhY2sodCl9fX19LmNhbGwodGhpcyxuKCIyYzlmIikpfSwiOWViYSI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtuLnIoZSk7dmFyIHI9bigiMzQwZCIpO2Z1bmN0aW9uIGkodCl7cmV0dXJuIGZ1bmN0aW9uKHQpe2lmKEFycmF5LmlzQXJyYXkodCkpcmV0dXJuIG8odCl9KHQpfHxmdW5jdGlvbih0KXtpZigidW5kZWZpbmVkIiE9PXR5cGVvZiBTeW1ib2wmJlN5bWJvbC5pdGVyYXRvciBpbiBPYmplY3QodCkpcmV0dXJuIEFycmF5LmZyb20odCl9KHQpfHxmdW5jdGlvbih0LGUpe2lmKHQpe2lmKCJzdHJpbmciPT09dHlwZW9mIHQpcmV0dXJuIG8odCxlKTt2YXIgbj1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodCkuc2xpY2UoOCwtMSk7cmV0dXJuIk9iamVjdCI9PT1uJiZ0LmNvbnN0cnVjdG9yJiYobj10LmNvbnN0cnVjdG9yLm5hbWUpLCJNYXAiPT09bnx8IlNldCI9PT1uP0FycmF5LmZyb20obik6IkFyZ3VtZW50cyI9PT1ufHwvXig/OlVpfEkpbnQoPzo4fDE2fDMyKSg/OkNsYW1wZWQpP0FycmF5JC8udGVzdChuKT9vKHQsZSk6dm9pZCAwfX0odCl8fGZ1bmN0aW9uKCl7dGhyb3cgbmV3IFR5cGVFcnJvcigiSW52YWxpZCBhdHRlbXB0IHRvIHNwcmVhZCBub24taXRlcmFibGUgaW5zdGFuY2UuXG5JbiBvcmRlciB0byBiZSBpdGVyYWJsZSwgbm9uLWFycmF5IG9iamVjdHMgbXVzdCBoYXZlIGEgW1N5bWJvbC5pdGVyYXRvcl0oKSBtZXRob2QuIil9KCl9ZnVuY3Rpb24gbyh0LGUpeyhudWxsPT1lfHxlPnQubGVuZ3RoKSYmKGU9dC5sZW5ndGgpO2Zvcih2YXIgbj0wLHI9bmV3IEFycmF5KGUpO248ZTtuKyspcltuXT10W25dO3JldHVybiByfXZhciBhPXtuYW1lOiJQaWNrZXJWaWV3Iixwcm9wczp7dmFsdWU6e3R5cGU6QXJyYXksZGVmYXVsdDpmdW5jdGlvbigpe3JldHVybltdfSx2YWxpZGF0b3I6ZnVuY3Rpb24odCl7cmV0dXJuIEFycmF5LmlzQXJyYXkodCkmJnQuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4ibnVtYmVyIj09PXR5cGVvZiB0fSkpLmxlbmd0aD09PXQubGVuZ3RofX0saW5kaWNhdG9yU3R5bGU6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6IiJ9LGluZGljYXRvckNsYXNzOnt0eXBlOlN0cmluZyxkZWZhdWx0OiIifSxtYXNrU3R5bGU6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6IiJ9LG1hc2tDbGFzczp7dHlwZTpTdHJpbmcsZGVmYXVsdDoiIn19LGRhdGE6ZnVuY3Rpb24oKXtyZXR1cm57dmFsdWVTeW5jOmkodGhpcy52YWx1ZSksaGVpZ2h0OjM0LGl0ZW1zOltdLGNoYW5nZVNvdXJjZToiIn19LHdhdGNoOnt2YWx1ZTpmdW5jdGlvbih0LGUpe3ZhciBuPXRoaXM7dGhpcy52YWx1ZVN5bmMubGVuZ3RoPXQubGVuZ3RoLHQuZm9yRWFjaCgoZnVuY3Rpb24odCxlKXt0IT09bi52YWx1ZVN5bmNbZV0mJm4uJHNldChuLnZhbHVlU3luYyxlLHQpfSkpfSx2YWx1ZVN5bmM6e2RlZXA6ITAsaGFuZGxlcjpmdW5jdGlvbih0LGUpe2lmKCIiPT09dGhpcy5jaGFuZ2VTb3VyY2UpdGhpcy5fdmFsdWVDaGFuZ2VkKHQpO2Vsc2V7dGhpcy5jaGFuZ2VTb3VyY2U9IiI7dmFyIG49dC5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiB0fSkpO3RoaXMuJGVtaXQoInVwZGF0ZTp2YWx1ZSIsbiksdGhpcy4kdHJpZ2dlcigiY2hhbmdlIix7fSx7dmFsdWU6bn0pfX19fSxtZXRob2RzOntnZXRJdGVtSW5kZXg6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuaXRlbXMuaW5kZXhPZih0KX0sZ2V0SXRlbVZhbHVlOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnZhbHVlU3luY1t0aGlzLmdldEl0ZW1JbmRleCh0LiR2bm9kZSldfHwwfSxzZXRJdGVtVmFsdWU6ZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzLmdldEl0ZW1JbmRleCh0LiR2bm9kZSkscj10aGlzLnZhbHVlU3luY1tuXTtyIT09ZSYmKHRoaXMuY2hhbmdlU291cmNlPSJ0b3VjaCIsdGhpcy4kc2V0KHRoaXMudmFsdWVTeW5jLG4sZSkpfSxfdmFsdWVDaGFuZ2VkOmZ1bmN0aW9uKHQpe3RoaXMuaXRlbXMuZm9yRWFjaCgoZnVuY3Rpb24oZSxuKXtlLmNvbXBvbmVudEluc3RhbmNlLnNldEN1cnJlbnQodFtuXXx8MCl9KSl9LF9yZXNpemU6ZnVuY3Rpb24odCl7dmFyIGU9dC5oZWlnaHQ7dGhpcy5oZWlnaHQ9ZX19LHJlbmRlcjpmdW5jdGlvbih0KXt2YXIgZT1bXTtyZXR1cm4gdGhpcy4kc2xvdHMuZGVmYXVsdCYmT2JqZWN0KHJbImYiXSkodGhpcy4kc2xvdHMuZGVmYXVsdCx0KS5mb3JFYWNoKChmdW5jdGlvbih0KXt0LmNvbXBvbmVudE9wdGlvbnMmJiJ2LXVuaS1waWNrZXItdmlldy1jb2x1bW4iPT09dC5jb21wb25lbnRPcHRpb25zLnRhZyYmZS5wdXNoKHQpfSkpLHRoaXMuaXRlbXM9ZSx0KCJ1bmktcGlja2VyLXZpZXciLHtvbjp0aGlzLiRsaXN0ZW5lcnN9LFt0KCJ2LXVuaS1yZXNpemUtc2Vuc29yIix7YXR0cnM6e2luaXRpYWw6ITB9LG9uOntyZXNpemU6dGhpcy5fcmVzaXplfX0pLHQoImRpdiIse3JlZjoid3JhcHBlciIsY2xhc3M6InVuaS1waWNrZXItdmlldy13cmFwcGVyIn0sZSldKX19LHM9YSxjPShuKCIxNzIwIiksbigiODg0NCIpKSx1PU9iamVjdChjWyJhIl0pKHMsdm9pZCAwLHZvaWQgMCwhMSxudWxsLG51bGwsbnVsbCk7ZVsiZGVmYXVsdCJdPXUuZXhwb3J0c30sIjlmNTYiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5yKGUpLG4uZChlLCJpbnZva2VQdXNoQ2FsbGJhY2siLChmdW5jdGlvbigpe3JldHVybiB1fSkpLG4uZChlLCJnZXRQdXNoQ2xpZW50SWQiLChmdW5jdGlvbigpe3JldHVybiBkfSkpLG4uZChlLCJvblB1c2hNZXNzYWdlIiwoZnVuY3Rpb24oKXtyZXR1cm4gcH0pKSxuLmQoZSwib2ZmUHVzaE1lc3NhZ2UiLChmdW5jdGlvbigpe3JldHVybiB2fSkpO3ZhciByLGksbyxhPW4oIjM0MGQiKSxzPW4oIjAwNzEiKTtmdW5jdGlvbiBjKHQpe3RyeXtyZXR1cm4gSlNPTi5wYXJzZSh0KX1jYXRjaChlKXt9cmV0dXJuIHR9ZnVuY3Rpb24gdSh0KXtpZigiZW5hYmxlZCI9PT10LnR5cGUpbz0hMDtlbHNlIGlmKCJjbGllbnRJZCI9PT10LnR5cGUpcj10LmNpZCxpPXQuZXJyTXNnLGYocix0LmVyck1zZyk7ZWxzZSBpZigicHVzaE1zZyI9PT10LnR5cGUpZm9yKHZhciBlPXt0eXBlOiJyZWNlaXZlIixkYXRhOmModC5tZXNzYWdlKX0sbj0wO248aC5sZW5ndGg7bisrKXt2YXIgYT1oW25dO2lmKGEoZSksZS5zdG9wcGVkKWJyZWFrfWVsc2UiY2xpY2siPT09dC50eXBlJiZoLmZvckVhY2goKGZ1bmN0aW9uKGUpe2Uoe3R5cGU6ImNsaWNrIixkYXRhOmModC5tZXNzYWdlKX0pfSkpfXZhciBsPVtdO2Z1bmN0aW9uIGYodCxlKXtsLmZvckVhY2goKGZ1bmN0aW9uKG4pe24odCxlKX0pKSxsLmxlbmd0aD0wfWZ1bmN0aW9uIGQodCl7T2JqZWN0KGFbImwiXSkodCl8fCh0PXt9KTt2YXIgZT1PYmplY3Qoc1siYSJdKSh0KSxuPWUuc3VjY2VzcyxjPWUuZmFpbCx1PWUuY29tcGxldGUsZD1PYmplY3QoYVsiayJdKShuKSxoPU9iamVjdChhWyJrIl0pKGMpLHA9T2JqZWN0KGFbImsiXSkodSk7UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoZnVuY3Rpb24oKXsidW5kZWZpbmVkIj09PXR5cGVvZiBvJiYobz0hMSxyPSIiLGk9InVuaVB1c2ggaXMgbm90IGVuYWJsZWQiKSxsLnB1c2goKGZ1bmN0aW9uKHQsZSl7dmFyIHI7dD8ocj17ZXJyTXNnOiJnZXRQdXNoQ2xpZW50SWQ6b2siLGNpZDp0fSxkJiZuKHIpKToocj17ZXJyTXNnOiJnZXRQdXNoQ2xpZW50SWQ6ZmFpbCIrKGU/IiAiK2U6IiIpfSxoJiZjKHIpKSxwJiZ1KHIpfSkpLCJ1bmRlZmluZWQiIT09dHlwZW9mIHImJmYocixpKX0pKX12YXIgaD1bXSxwPWZ1bmN0aW9uKHQpey0xPT09aC5pbmRleE9mKHQpJiZoLnB1c2godCl9LHY9ZnVuY3Rpb24odCl7aWYodCl7dmFyIGU9aC5pbmRleE9mKHQpO2U+LTEmJmguc3BsaWNlKGUsMSl9ZWxzZSBoLmxlbmd0aD0wfX0sIjlmNjIiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7KGZ1bmN0aW9uKHQpe3ZhciByPW4oIjkwOWUiKTtlWyJhIl09e25hbWU6IkxhYmVsIixtaXhpbnM6W3JbImEiXV0scHJvcHM6e2Zvcjp7dHlwZTpTdHJpbmcsZGVmYXVsdDoiIn19LGNvbXB1dGVkOntwb2ludGVyOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZm9yfHx0aGlzLiRzbG90cy5kZWZhdWx0JiZ0aGlzLiRzbG90cy5kZWZhdWx0Lmxlbmd0aH19LG1ldGhvZHM6e19vbkNsaWNrOmZ1bmN0aW9uKGUpe3ZhciBuPS9edW5pLShjaGVja2JveHxyYWRpb3xzd2l0Y2gpLS8udGVzdChlLnRhcmdldC5jbGFzc05hbWUpO258fChuPS9edW5pLShjaGVja2JveHxyYWRpb3xzd2l0Y2h8YnV0dG9uKSQvaS50ZXN0KGUudGFyZ2V0LnRhZ05hbWUpKSxufHwodGhpcy5mb3I/dC5lbWl0KCJ1bmktbGFiZWwtY2xpY2stIit0aGlzLiRwYWdlLmlkKyItIit0aGlzLmZvcixlLCEwKTp0aGlzLiRicm9hZGNhc3QoWyJDaGVja2JveCIsIlJhZGlvIiwiU3dpdGNoIiwiQnV0dG9uIl0sInVuaS1sYWJlbC1jbGljayIsZSwhMCkpfX19fSkuY2FsbCh0aGlzLG4oIjMxZDIiKSl9LCI5ZjY5IjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO24ucihlKSxmdW5jdGlvbih0KXtuLmQoZSwic3RhcnRMb2NhdGlvblVwZGF0ZSIsKGZ1bmN0aW9uKCl7cmV0dXJuIGx9KSksbi5kKGUsInN0b3BMb2NhdGlvblVwZGF0ZSIsKGZ1bmN0aW9uKCl7cmV0dXJuIGZ9KSksbi5kKGUsIm9uTG9jYXRpb25DaGFuZ2UiLChmdW5jdGlvbigpe3JldHVybiBkfSkpLG4uZChlLCJvZmZMb2NhdGlvbkNoYW5nZSIsKGZ1bmN0aW9uKCl7cmV0dXJuIGh9KSksbi5kKGUsIm9uTG9jYXRpb25DaGFuZ2VFcnJvciIsKGZ1bmN0aW9uKCl7cmV0dXJuIHB9KSksbi5kKGUsIm9mZkxvY2F0aW9uQ2hhbmdlRXJyb3IiLChmdW5jdGlvbigpe3JldHVybiB2fSkpO3ZhciByPW4oImI0MzUiKSxpPXQsbz1pLmludm9rZUNhbGxiYWNrSGFuZGxlcixhPVtdLHM9W10sYz0hMSx1PTA7ZnVuY3Rpb24gbCh0LGUpe3ZhciBuPXQudHlwZSxpPXZvaWQgMD09PW4/ImdjajAyIjpuO2lmKCFuYXZpZ2F0b3IuZ2VvbG9jYXRpb24pcmV0dXJue2Vyck1zZzoic3RhcnRMb2NhdGlvblVwZGF0ZTpmYWlsIn07dT11fHxuYXZpZ2F0b3IuZ2VvbG9jYXRpb24ud2F0Y2hQb3NpdGlvbigoZnVuY3Rpb24odCl7Yz0hMCxPYmplY3QoclsiZiJdKShpLHQuY29vcmRzKS50aGVuKChmdW5jdGlvbih0KXthLmZvckVhY2goKGZ1bmN0aW9uKGUpe28oZSx0KX0pKX0pKS5jYXRjaCgoZnVuY3Rpb24odCl7cy5mb3JFYWNoKChmdW5jdGlvbihlKXtvKGUse2Vyck1zZzoib25Mb2NhdGlvbkNoYW5nZTpmYWlsICIuY29uY2F0KHQubWVzc2FnZSl9KX0pKX0pKX0pLChmdW5jdGlvbih0KXtjfHwobyhlLHtlcnJNc2c6InN0YXJ0TG9jYXRpb25VcGRhdGU6ZmFpbCAiLmNvbmNhdCh0Lm1lc3NhZ2UpfSksYz0hMCkscy5mb3JFYWNoKChmdW5jdGlvbihlKXtvKGUse2Vyck1zZzoib25Mb2NhdGlvbkNoYW5nZTpmYWlsICIuY29uY2F0KHQubWVzc2FnZSl9KX0pKX0pKSxzZXRUaW1lb3V0KChmdW5jdGlvbigpe28oZSx7ZXJyTXNnOiJzdGFydExvY2F0aW9uVXBkYXRlOm9rIn0pfSksMTAwKX1mdW5jdGlvbiBmKCl7cmV0dXJuIDAhPT11JiYobmF2aWdhdG9yLmdlb2xvY2F0aW9uLmNsZWFyV2F0Y2godSksYz0hMSx1PTApLHt9fWZ1bmN0aW9uIGQodCl7YS5wdXNoKHQpfWZ1bmN0aW9uIGgodCl7aWYodCl7dmFyIGU9YS5pbmRleE9mKHQpO2U+PTAmJmEuc3BsaWNlKGUsMSl9ZWxzZSBhPVtdfWZ1bmN0aW9uIHAodCl7cy5wdXNoKHQpfWZ1bmN0aW9uIHYodCl7aWYodCl7dmFyIGU9cy5pbmRleE9mKHQpO2U+PTAmJnMuc3BsaWNlKGUsMSl9ZWxzZSBzPVtdfX0uY2FsbCh0aGlzLG4oIjJjOWYiKSl9LGEwMDQ6ZnVuY3Rpb24odCxlKXt0LmV4cG9ydHM9WyJ1bmktYXBwIiwidW5pLWxheW91dCIsInVuaS1jb250ZW50IiwidW5pLW1haW4iLCJ1bmktdG9wLXdpbmRvdyIsInVuaS1sZWZ0LXdpbmRvdyIsInVuaS1yaWdodC13aW5kb3ciLCJ1bmktdGFiYmFyIiwidW5pLXBhZ2UiLCJ1bmktcGFnZS1oZWFkIiwidW5pLXBhZ2Utd3JhcHBlciIsInVuaS1wYWdlLWJvZHkiLCJ1bmktcGFnZS1yZWZyZXNoIiwidW5pLWFjdGlvbnNoZWV0IiwidW5pLW1vZGFsIiwidW5pLXRvYXN0IiwidW5pLXJlc2l6ZS1zZW5zb3IiLCJ1bmktc2hhZG93LXJvb3QiLCJ1bmktYWQiLCJ1bmktYXVkaW8iLCJ1bmktYnV0dG9uIiwidW5pLWNhbWVyYSIsInVuaS1jYW52YXMiLCJ1bmktY2hlY2tib3giLCJ1bmktY2hlY2tib3gtZ3JvdXAiLCJ1bmktY292ZXItaW1hZ2UiLCJ1bmktY292ZXItdmlldyIsInVuaS1lZGl0b3IiLCJ1bmktZm9ybSIsInVuaS1mdW5jdGlvbmFsLXBhZ2UtbmF2aWdhdG9yIiwidW5pLWljb24iLCJ1bmktaW1hZ2UiLCJ1bmktaW5wdXQiLCJ1bmktbGFiZWwiLCJ1bmktbGl2ZS1wbGF5ZXIiLCJ1bmktbGl2ZS1wdXNoZXIiLCJ1bmktbWFwIiwidW5pLW1vdmFibGUtYXJlYSIsInVuaS1tb3ZhYmxlLXZpZXciLCJ1bmktbmF2aWdhdG9yIiwidW5pLW9mZmljaWFsLWFjY291bnQiLCJ1bmktb3Blbi1kYXRhIiwidW5pLXBpY2tlciIsInVuaS1waWNrZXItdmlldyIsInVuaS1waWNrZXItdmlldy1jb2x1bW4iLCJ1bmktcHJvZ3Jlc3MiLCJ1bmktcmFkaW8iLCJ1bmktcmFkaW8tZ3JvdXAiLCJ1bmktcmljaC10ZXh0IiwidW5pLXNjcm9sbC12aWV3IiwidW5pLXNsaWRlciIsInVuaS1zd2lwZXIiLCJ1bmktc3dpcGVyLWl0ZW0iLCJ1bmktc3dpdGNoIiwidW5pLXRleHQiLCJ1bmktdGV4dGFyZWEiLCJ1bmktdmlkZW8iLCJ1bmktdmlldyIsInVuaS13ZWItdmlldyJdfSxhMDUwOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5yKGUpO3ZhciByPW4oIjkwOWUiKSxpPW4oIjM5YmQiKSxvPXthZGQ6ZnVuY3Rpb24odCl7dmFyIGUsbixyO3RyeXtlPXRoaXMudG9TdHJpbmcoKS5zcGxpdCgiLiIpWzFdLmxlbmd0aH1jYXRjaChpKXtlPTB9dHJ5e249dC50b1N0cmluZygpLnNwbGl0KCIuIilbMV0ubGVuZ3RofWNhdGNoKGkpe249MH1yZXR1cm4gcj1NYXRoLnBvdygxMCxNYXRoLm1heChlLG4pKSwodGhpcypyK3Qqcikvcn0sc3ViOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmFkZCgtdCl9LG11bDpmdW5jdGlvbih0KXt2YXIgZT0wLG49dGhpcy50b1N0cmluZygpLHI9dC50b1N0cmluZygpO3RyeXtlKz1uLnNwbGl0KCIuIilbMV0ubGVuZ3RofWNhdGNoKGkpe310cnl7ZSs9ci5zcGxpdCgiLiIpWzFdLmxlbmd0aH1jYXRjaChpKXt9cmV0dXJuIE51bWJlcihuLnJlcGxhY2UoIi4iLCIiKSkqTnVtYmVyKHIucmVwbGFjZSgiLiIsIiIpKS9NYXRoLnBvdygxMCxlKX0sZGl2OmZ1bmN0aW9uKHQpe3ZhciBlLG4saT0wLG89MDt0cnl7aT10aGlzLnRvU3RyaW5nKCkuc3BsaXQoIi4iKVsxXS5sZW5ndGh9Y2F0Y2gocil7fXRyeXtvPXQudG9TdHJpbmcoKS5zcGxpdCgiLiIpWzFdLmxlbmd0aH1jYXRjaChyKXt9cmV0dXJuIGU9TnVtYmVyKHRoaXMudG9TdHJpbmcoKS5yZXBsYWNlKCIuIiwiIikpLG49TnVtYmVyKHQudG9TdHJpbmcoKS5yZXBsYWNlKCIuIiwiIikpLGUvbipNYXRoLnBvdygxMCxvLWkpfSxtb2Q6ZnVuY3Rpb24odCl7dmFyIGUsbixyPTAsaT0wO3RyeXtyPXRoaXMudG9TdHJpbmcoKS5zcGxpdCgiLiIpWzFdLmxlbmd0aH1jYXRjaChvKXt9dHJ5e2k9dC50b1N0cmluZygpLnNwbGl0KCIuIilbMV0ubGVuZ3RofWNhdGNoKG8pe312YXIgYT1NYXRoLnBvdygxMCxNYXRoLmFicyhyLWkpKTsxPT1hJiYoYT1NYXRoLnBvdygxMCxyKSksZT0odGhpcyphKS50b1N0cmluZygpLnNwbGl0KCIuIilbMF0sbj10KmE7dmFyIHM9KHRoaXMqYSkudG9TdHJpbmcoKS5zcGxpdCgiLiIpWzFdPyh0aGlzKmEpLnRvU3RyaW5nKCkuc3BsaXQoIi4iKVsxXToiIjtyZXR1cm4oZSVuK3MpL2F9fSxhPXtuYW1lOiJTbGlkZXIiLG1peGluczpbclsiYSJdLHJbImYiXSxpWyJhIl1dLHByb3BzOntuYW1lOnt0eXBlOlN0cmluZyxkZWZhdWx0OiIifSxtaW46e3R5cGU6W051bWJlcixTdHJpbmddLGRlZmF1bHQ6MH0sbWF4Ont0eXBlOltOdW1iZXIsU3RyaW5nXSxkZWZhdWx0OjEwMH0sdmFsdWU6e3R5cGU6W051bWJlcixTdHJpbmddLGRlZmF1bHQ6MH0sc3RlcDp7dHlwZTpbTnVtYmVyLFN0cmluZ10sZGVmYXVsdDoxfSxkaXNhYmxlZDp7dHlwZTpbQm9vbGVhbixTdHJpbmddLGRlZmF1bHQ6ITF9LGNvbG9yOnt0eXBlOlN0cmluZyxkZWZhdWx0OiIjZTllOWU5In0sYmFja2dyb3VuZENvbG9yOnt0eXBlOlN0cmluZyxkZWZhdWx0OiIjZTllOWU5In0sYWN0aXZlQ29sb3I6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6IiMwMDdhZmYifSxzZWxlY3RlZENvbG9yOnt0eXBlOlN0cmluZyxkZWZhdWx0OiIjMDA3YWZmIn0sYmxvY2tDb2xvcjp7dHlwZTpTdHJpbmcsZGVmYXVsdDoiI2ZmZmZmZiJ9LGJsb2NrU2l6ZTp7dHlwZTpbTnVtYmVyLFN0cmluZ10sZGVmYXVsdDoyOH0sc2hvd1ZhbHVlOnt0eXBlOltCb29sZWFuLFN0cmluZ10sZGVmYXVsdDohMX19LGRhdGE6ZnVuY3Rpb24oKXtyZXR1cm57c2xpZGVyVmFsdWU6TnVtYmVyKHRoaXMudmFsdWUpfX0sY29tcHV0ZWQ6e3NldEJsb2NrU3R5bGU6ZnVuY3Rpb24oKXtyZXR1cm57d2lkdGg6dGhpcy5ibG9ja1NpemUrInB4IixoZWlnaHQ6dGhpcy5ibG9ja1NpemUrInB4IixtYXJnaW5MZWZ0Oi10aGlzLmJsb2NrU2l6ZS8yKyJweCIsbWFyZ2luVG9wOi10aGlzLmJsb2NrU2l6ZS8yKyJweCIsbGVmdDp0aGlzLl9nZXRWYWx1ZVdpZHRoKCksYmFja2dyb3VuZENvbG9yOnRoaXMuYmxvY2tDb2xvcn19LHNldEJnQ29sb3I6ZnVuY3Rpb24oKXtyZXR1cm57YmFja2dyb3VuZENvbG9yOnRoaXMuX2dldEJnQ29sb3IoKX19LHNldEJsb2NrQmc6ZnVuY3Rpb24oKXtyZXR1cm57bGVmdDp0aGlzLl9nZXRWYWx1ZVdpZHRoKCl9fSxzZXRBY3RpdmVDb2xvcjpmdW5jdGlvbigpe3JldHVybntiYWNrZ3JvdW5kQ29sb3I6dGhpcy5fZ2V0QWN0aXZlQ29sb3IoKSx3aWR0aDp0aGlzLl9nZXRWYWx1ZVdpZHRoKCl9fX0sd2F0Y2g6e3ZhbHVlOmZ1bmN0aW9uKHQpe3RoaXMuc2xpZGVyVmFsdWU9TnVtYmVyKHQpfX0sbW91bnRlZDpmdW5jdGlvbigpe3RoaXMudG91Y2h0cmFjayh0aGlzLiRyZWZzWyJ1bmktc2xpZGVyLWhhbmRsZSJdLCJfb25UcmFjayIpfSxjcmVhdGVkOmZ1bmN0aW9uKCl7dGhpcy4kZGlzcGF0Y2goIkZvcm0iLCJ1bmktZm9ybS1ncm91cC11cGRhdGUiLHt0eXBlOiJhZGQiLHZtOnRoaXN9KX0sYmVmb3JlRGVzdHJveTpmdW5jdGlvbigpe3RoaXMuJGRpc3BhdGNoKCJGb3JtIiwidW5pLWZvcm0tZ3JvdXAtdXBkYXRlIix7dHlwZToicmVtb3ZlIix2bTp0aGlzfSl9LG1ldGhvZHM6e19vblVzZXJDaGFuZ2VkVmFsdWU6ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy4kcmVmc1sidW5pLXNsaWRlci12YWx1ZSJdLG49Z2V0Q29tcHV0ZWRTdHlsZShlLG51bGwpLm1hcmdpbkxlZnQscj1lLm9mZnNldFdpZHRoO3IrPXBhcnNlSW50KG4pO3ZhciBpPXRoaXMuJHJlZnNbInVuaS1zbGlkZXIiXSxvPWkub2Zmc2V0V2lkdGgtKHRoaXMuc2hvd1ZhbHVlP3I6MCksYT1pLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnQscz0odC54LWEpKih0aGlzLm1heC10aGlzLm1pbikvbytOdW1iZXIodGhpcy5taW4pO3RoaXMuc2xpZGVyVmFsdWU9dGhpcy5fZmlsdGVyVmFsdWUocyl9LF9maWx0ZXJWYWx1ZTpmdW5jdGlvbih0KXt2YXIgZT1OdW1iZXIodGhpcy5tYXgpLG49TnVtYmVyKHRoaXMubWluKTtyZXR1cm4gdDxuP246dD5lP2U6by5tdWwuY2FsbChNYXRoLnJvdW5kKCh0LW4pL3RoaXMuc3RlcCksdGhpcy5zdGVwKStufSxfZ2V0VmFsdWVXaWR0aDpmdW5jdGlvbigpe3JldHVybiAxMDAqKHRoaXMuc2xpZGVyVmFsdWUtdGhpcy5taW4pLyh0aGlzLm1heC10aGlzLm1pbikrIiUifSxfZ2V0QmdDb2xvcjpmdW5jdGlvbigpe3JldHVybiIjZTllOWU5IiE9PXRoaXMuYmFja2dyb3VuZENvbG9yP3RoaXMuYmFja2dyb3VuZENvbG9yOiIjMDA3YWZmIiE9PXRoaXMuY29sb3I/dGhpcy5jb2xvcjoiIzAwN2FmZiJ9LF9nZXRBY3RpdmVDb2xvcjpmdW5jdGlvbigpe3JldHVybiIjMDA3YWZmIiE9PXRoaXMuYWN0aXZlQ29sb3I/dGhpcy5hY3RpdmVDb2xvcjoiI2U5ZTllOSIhPT10aGlzLnNlbGVjdGVkQ29sb3I/dGhpcy5zZWxlY3RlZENvbG9yOiIjZTllOWU5In0sX29uVHJhY2s6ZnVuY3Rpb24odCl7aWYoIXRoaXMuZGlzYWJsZWQpcmV0dXJuIm1vdmUiPT09dC5kZXRhaWwuc3RhdGU/KHRoaXMuX29uVXNlckNoYW5nZWRWYWx1ZSh7eDp0LmRldGFpbC54fSksdGhpcy4kdHJpZ2dlcigiY2hhbmdpbmciLHQse3ZhbHVlOnRoaXMuc2xpZGVyVmFsdWV9KSwhMSk6ImVuZCI9PT10LmRldGFpbC5zdGF0ZSYmdGhpcy4kdHJpZ2dlcigiY2hhbmdlIix0LHt2YWx1ZTp0aGlzLnNsaWRlclZhbHVlfSl9LF9vbkNsaWNrOmZ1bmN0aW9uKHQpe3RoaXMuZGlzYWJsZWR8fCh0aGlzLl9vblVzZXJDaGFuZ2VkVmFsdWUodCksdGhpcy4kdHJpZ2dlcigiY2hhbmdlIix0LHt2YWx1ZTp0aGlzLnNsaWRlclZhbHVlfSkpfSxfcmVzZXRGb3JtRGF0YTpmdW5jdGlvbigpe3RoaXMuc2xpZGVyVmFsdWU9dGhpcy5taW59LF9nZXRGb3JtRGF0YTpmdW5jdGlvbigpe3ZhciB0PXt9O3JldHVybiIiIT09dGhpcy5uYW1lJiYodC52YWx1ZT10aGlzLnNsaWRlclZhbHVlLHQua2V5PXRoaXMubmFtZSksdH19fSxzPWEsYz0obigiZjJhOSIpLG4oIjg4NDQiKSksdT1PYmplY3QoY1siYSJdKShzLChmdW5jdGlvbigpe3ZhciB0PXRoaXMsZT10LiRjcmVhdGVFbGVtZW50LG49dC5fc2VsZi5fY3x8ZTtyZXR1cm4gbigidW5pLXNsaWRlciIsdC5fZyh7cmVmOiJ1bmktc2xpZGVyIixvbjp7Y2xpY2s6dC5fb25DbGlja319LHQuJGxpc3RlbmVycyksW24oImRpdiIse3N0YXRpY0NsYXNzOiJ1bmktc2xpZGVyLXdyYXBwZXIifSxbbigiZGl2Iix7c3RhdGljQ2xhc3M6InVuaS1zbGlkZXItdGFwLWFyZWEifSxbbigiZGl2Iix7c3RhdGljQ2xhc3M6InVuaS1zbGlkZXItaGFuZGxlLXdyYXBwZXIiLHN0eWxlOnQuc2V0QmdDb2xvcn0sW24oImRpdiIse3JlZjoidW5pLXNsaWRlci1oYW5kbGUiLHN0YXRpY0NsYXNzOiJ1bmktc2xpZGVyLWhhbmRsZSIsc3R5bGU6dC5zZXRCbG9ja0JnfSksbigiZGl2Iix7c3RhdGljQ2xhc3M6InVuaS1zbGlkZXItdGh1bWIiLHN0eWxlOnQuc2V0QmxvY2tTdHlsZX0pLG4oImRpdiIse3N0YXRpY0NsYXNzOiJ1bmktc2xpZGVyLXRyYWNrIixzdHlsZTp0LnNldEFjdGl2ZUNvbG9yfSldKV0pLG4oInNwYW4iLHtkaXJlY3RpdmVzOlt7bmFtZToic2hvdyIscmF3TmFtZToidi1zaG93Iix2YWx1ZTp0LnNob3dWYWx1ZSxleHByZXNzaW9uOiJzaG93VmFsdWUifV0scmVmOiJ1bmktc2xpZGVyLXZhbHVlIixzdGF0aWNDbGFzczoidW5pLXNsaWRlci12YWx1ZSJ9LFt0Ll92KHQuX3ModC5zbGlkZXJWYWx1ZSkpXSldKSx0Ll90KCJkZWZhdWx0IildLDIpfSksW10sITEsbnVsbCxudWxsLG51bGwpO2VbImRlZmF1bHQiXT11LmV4cG9ydHN9LGExMTE6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtuLnIoZSksbi5kKGUsImNob29zZVZpZGVvIiwoZnVuY3Rpb24oKXtyZXR1cm4gaX0pKTt2YXIgcj1bImFsYnVtIiwiY2FtZXJhIl0saT17c291cmNlVHlwZTp7dHlwZTpBcnJheSxyZXF1aXJlZDohMSxkZWZhdWx0OnIsdmFsaWRhdG9yOmZ1bmN0aW9uKHQsZSl7dD10LmZpbHRlcigoZnVuY3Rpb24odCl7cmV0dXJuIHIuaW5jbHVkZXModCl9KSksZS5zb3VyY2VUeXBlPXQubGVuZ3RoP3Q6cn19LGNvbXByZXNzZWQ6e3R5cGU6Qm9vbGVhbixkZWZhdWx0OiEwfSxtYXhEdXJhdGlvbjp7dHlwZTpOdW1iZXIsZGVmYXVsdDo2MH0sY2FtZXJhOnt0eXBlOlN0cmluZyxkZWZhdWx0OiJiYWNrIn0sZXh0ZW5zaW9uOnt0eXBlOkFycmF5LGRlZmF1bHQ6WyIqIl0sdmFsaWRhdG9yOmZ1bmN0aW9uKHQsZSl7aWYoMD09PXQubGVuZ3RoKXJldHVybiJwYXJhbSBleHRlbnNpb24gc2hvdWxkIG5vdCBiZSBlbXB0eS4ifX19fSxhMTg3OmZ1bmN0aW9uKHQsZSxuKXt9LGExOGQ6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCIwN2I1IiksaT1uLm4ocik7aS5hfSxhMWQ3OmZ1bmN0aW9uKHQsZSxuKXt2YXIgcj17Ii4vYXVkaW8vaW5kZXgudnVlIjoiZDU1ZiIsIi4vYnV0dG9uL2luZGV4LnZ1ZSI6ImQ2ZmIiLCIuL2NhbnZhcy9pbmRleC52dWUiOiI2M2IxIiwiLi9jaGVja2JveC1ncm91cC9pbmRleC52dWUiOiJkNTE0IiwiLi9jaGVja2JveC9pbmRleC52dWUiOiJjYTM3IiwiLi9lZGl0b3IvaW5kZXgudnVlIjoiYjFkMiIsIi4vZm9ybS9pbmRleC52dWUiOiJiYWExIiwiLi9pY29uL2luZGV4LnZ1ZSI6IjBhYmIiLCIuL2ltYWdlL2luZGV4LnZ1ZSI6IjdlZmEiLCIuL2lucHV0L2luZGV4LnZ1ZSI6ImUwZTEiLCIuL2xhYmVsL2luZGV4LnZ1ZSI6IjJhNzgiLCIuL21vdmFibGUtYXJlYS9pbmRleC52dWUiOiJkYmU4IiwiLi9tb3ZhYmxlLXZpZXcvaW5kZXgudnVlIjoiNjVjZSIsIi4vbmF2aWdhdG9yL2luZGV4LnZ1ZSI6IjVjMWYiLCIuL3BpY2tlci12aWV3LWNvbHVtbi9pbmRleC52dWUiOiJlNTEwIiwiLi9waWNrZXItdmlldy9pbmRleC52dWUiOiI5ZWJhIiwiLi9wcm9ncmVzcy9pbmRleC52dWUiOiI4MDFiIiwiLi9yYWRpby1ncm91cC9pbmRleC52dWUiOiIzYTNlIiwiLi9yYWRpby9pbmRleC52dWUiOiIxZjhhIiwiLi9yZXNpemUtc2Vuc29yL2luZGV4LnZ1ZSI6IjEyMGYiLCIuL3JpY2gtdGV4dC9pbmRleC52dWUiOiI3YWE5IiwiLi9zY3JvbGwtdmlldy9pbmRleC52dWUiOiI4ZjgwIiwiLi9zbGlkZXIvaW5kZXgudnVlIjoiYTA1MCIsIi4vc3dpcGVyLWl0ZW0vaW5kZXgudnVlIjoiMjA2NiIsIi4vc3dpcGVyL2luZGV4LnZ1ZSI6IjM4M2UiLCIuL3N3aXRjaC9pbmRleC52dWUiOiJjMWYxIiwiLi90ZXh0L2luZGV4LnZ1ZSI6ImU5ZDEiLCIuL3RleHRhcmVhL2luZGV4LnZ1ZSI6ImRhOWQifTtmdW5jdGlvbiBpKHQpe3ZhciBlPW8odCk7cmV0dXJuIG4oZSl9ZnVuY3Rpb24gbyh0KXtpZighbi5vKHIsdCkpe3ZhciBlPW5ldyBFcnJvcigiQ2Fubm90IGZpbmQgbW9kdWxlICciK3QrIiciKTt0aHJvdyBlLmNvZGU9Ik1PRFVMRV9OT1RfRk9VTkQiLGV9cmV0dXJuIHJbdF19aS5rZXlzPWZ1bmN0aW9uKCl7cmV0dXJuIE9iamVjdC5rZXlzKHIpfSxpLnJlc29sdmU9byx0LmV4cG9ydHM9aSxpLmlkPSJhMWQ3In0sYTIwMjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO24ucihlKSxlWyJkZWZhdWx0Il09e2RhdGE6ZnVuY3Rpb24oKXtyZXR1cm57cG9wdXBXaWR0aDowLHBvcHVwSGVpZ2h0OjB9fSxjb21wdXRlZDp7aXNEZXNrdG9wOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucG9wdXBXaWR0aD49NTAwJiZ0aGlzLnBvcHVwSGVpZ2h0Pj01MDB9LHBvcHVwU3R5bGU6ZnVuY3Rpb24oKXt2YXIgdD17fSxlPXQuY29udGVudD17fSxuPXQudHJpYW5nbGU9e30scj10aGlzLnBvcG92ZXI7ZnVuY3Rpb24gaSh0KXtyZXR1cm4gTnVtYmVyKHQpfHwwfWlmKHRoaXMuaXNEZXNrdG9wJiZyKXtPYmplY3QuYXNzaWduKG4se3Bvc2l0aW9uOiJhYnNvbHV0ZSIsd2lkdGg6IjAiLGhlaWdodDoiMCIsIm1hcmdpbi1sZWZ0IjoiLTZweCIsImJvcmRlci1zdHlsZSI6InNvbGlkIn0pO3ZhciBvPWkoci5sZWZ0KSxhPWkoci53aWR0aCkscz1pKHIudG9wKSxjPWkoci5oZWlnaHQpLHU9bythLzI7ZS50cmFuc2Zvcm09Im5vbmUgIWltcG9ydGFudCI7dmFyIGw9TWF0aC5tYXgoMCx1LTE1MCk7ZS5sZWZ0PSIiLmNvbmNhdChsLCJweCIpO3ZhciBmPU1hdGgubWF4KDEyLHUtbCk7Zj1NYXRoLm1pbigyODgsZiksbi5sZWZ0PSIiLmNvbmNhdChmLCJweCIpO3ZhciBkPXRoaXMucG9wdXBIZWlnaHQvMjtzK2MtZD5kLXM/KGUudG9wPSJhdXRvIixlLmJvdHRvbT0iIi5jb25jYXQodGhpcy5wb3B1cEhlaWdodC1zKzYsInB4Iiksbi5ib3R0b209Ii02cHgiLG5bImJvcmRlci13aWR0aCJdPSI2cHggNnB4IDAgNnB4IixuWyJib3JkZXItY29sb3IiXT0iI2ZjZmNmZCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCIpOihlLnRvcD0iIi5jb25jYXQocytjKzYsInB4Iiksbi50b3A9Ii02cHgiLG5bImJvcmRlci13aWR0aCJdPSIwIDZweCA2cHggNnB4IixuWyJib3JkZXItY29sb3IiXT0idHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2ZjZmNmZCB0cmFuc3BhcmVudCIpfXJldHVybiB0fX0sbW91bnRlZDpmdW5jdGlvbigpe3ZhciB0PXRoaXMsZT1mdW5jdGlvbigpe3ZhciBlPXVuaS5nZXRTeXN0ZW1JbmZvU3luYygpLG49ZS53aW5kb3dXaWR0aCxyPWUud2luZG93SGVpZ2h0LGk9ZS53aW5kb3dUb3A7dC5wb3B1cFdpZHRoPW4sdC5wb3B1cEhlaWdodD1yK2l9O3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLGUpLGUoKSx0aGlzLiRvbmNlKCJob29rOmJlZm9yZURlc3Ryb3kiLChmdW5jdGlvbigpe3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXNpemUiLGUpfSkpfX19LGEyMmY6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCIyMWY1IiksaT1uLm4ocik7aS5hfSxhMmY2OmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcih0LGUpe2Zvcih2YXIgbj0wO248ZS5sZW5ndGg7bisrKXt2YXIgcj1lW25dO3IuZW51bWVyYWJsZT1yLmVudW1lcmFibGV8fCExLHIuY29uZmlndXJhYmxlPSEwLCJ2YWx1ZSJpbiByJiYoci53cml0YWJsZT0hMCksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsci5rZXkscil9fW4ucihlKSxuLmQoZSwiY3JlYXRlQW5pbWF0aW9uIiwoZnVuY3Rpb24oKXtyZXR1cm4gY30pKTt2YXIgaT17ZHVyYXRpb246NDAwLHRpbWluZ0Z1bmN0aW9uOiJsaW5lYXIiLGRlbGF5OjAsdHJhbnNmb3JtT3JpZ2luOiI1MCUgNTAlIDAifSxvPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdChlKXsoZnVuY3Rpb24odCxlKXtpZighKHQgaW5zdGFuY2VvZiBlKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb24iKX0pKHRoaXMsdCksdGhpcy5hY3Rpb25zPVtdLHRoaXMuY3VycmVudFRyYW5zZm9ybT17fSx0aGlzLmN1cnJlbnRTdGVwQW5pbWF0ZXM9W10sdGhpcy5vcHRpb249T2JqZWN0LmFzc2lnbih7fSxpLGUpfXJldHVybiBmdW5jdGlvbih0LGUsbil7ZSYmcih0LnByb3RvdHlwZSxlKSxuJiZyKHQsbil9KHQsW3trZXk6Il9nZXRPcHRpb24iLHZhbHVlOmZ1bmN0aW9uKHQpe3ZhciBlPXt0cmFuc2l0aW9uOk9iamVjdC5hc3NpZ24oe30sdGhpcy5vcHRpb24sdCl9O3JldHVybiBlLnRyYW5zZm9ybU9yaWdpbj1lLnRyYW5zaXRpb24udHJhbnNmb3JtT3JpZ2luLGRlbGV0ZSBlLnRyYW5zaXRpb24udHJhbnNmb3JtT3JpZ2luLGV9fSx7a2V5OiJfcHVzaEFuaW1hdGVzIix2YWx1ZTpmdW5jdGlvbih0LGUpe3RoaXMuY3VycmVudFN0ZXBBbmltYXRlcy5wdXNoKHt0eXBlOnQsYXJnczplfSl9fSx7a2V5OiJfY29udmVyVHlwZSIsdmFsdWU6ZnVuY3Rpb24odCl7cmV0dXJuIHQucmVwbGFjZSgvW0EtWl0vZywoZnVuY3Rpb24odCl7cmV0dXJuIi0iLmNvbmNhdCh0LnRvTG93ZXJDYXNlKCkpfSkpfX0se2tleToiX2dldFZhbHVlIix2YWx1ZTpmdW5jdGlvbih0KXtyZXR1cm4ibnVtYmVyIj09PXR5cGVvZiB0PyIiLmNvbmNhdCh0LCJweCIpOnR9fSx7a2V5OiJleHBvcnQiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5hY3Rpb25zO3JldHVybiB0aGlzLmFjdGlvbnM9W10se2FjdGlvbnM6dH19fSx7a2V5OiJzdGVwIix2YWx1ZTpmdW5jdGlvbih0KXt2YXIgZT10aGlzO3JldHVybiB0aGlzLmN1cnJlbnRTdGVwQW5pbWF0ZXMuZm9yRWFjaCgoZnVuY3Rpb24odCl7InN0eWxlIiE9PXQudHlwZT9lLmN1cnJlbnRUcmFuc2Zvcm1bdC50eXBlXT10OmUuY3VycmVudFRyYW5zZm9ybVsiIi5jb25jYXQodC50eXBlLCIuIikuY29uY2F0KHQuYXJnc1swXSldPXR9KSksdGhpcy5hY3Rpb25zLnB1c2goe2FuaW1hdGVzOk9iamVjdC52YWx1ZXModGhpcy5jdXJyZW50VHJhbnNmb3JtKSxvcHRpb246dGhpcy5fZ2V0T3B0aW9uKHQpfSksdGhpcy5jdXJyZW50U3RlcEFuaW1hdGVzPVtdLHRoaXN9fV0pLHR9KCksYT1bIm9wYWNpdHkiLCJiYWNrZ3JvdW5kQ29sb3IiXSxzPVsid2lkdGgiLCJoZWlnaHQiLCJsZWZ0IiwicmlnaHQiLCJ0b3AiLCJib3R0b20iXTtmdW5jdGlvbiBjKHQpe3JldHVybiBuZXcgbyh0KX1bIm1hdHJpeCIsIm1hdHJpeDNkIiwicm90YXRlIiwicm90YXRlM2QiLCJyb3RhdGVYIiwicm90YXRlWSIsInJvdGF0ZVoiLCJzY2FsZSIsInNjYWxlM2QiLCJzY2FsZVgiLCJzY2FsZVkiLCJzY2FsZVoiLCJza2V3Iiwic2tld1giLCJza2V3WSIsInRyYW5zbGF0ZSIsInRyYW5zbGF0ZTNkIiwidHJhbnNsYXRlWCIsInRyYW5zbGF0ZVkiLCJ0cmFuc2xhdGVaIl0uY29uY2F0KGEscykuZm9yRWFjaCgoZnVuY3Rpb24odCl7by5wcm90b3R5cGVbdF09ZnVuY3Rpb24oKXtmb3IodmFyIGU9YXJndW1lbnRzLmxlbmd0aCxuPW5ldyBBcnJheShlKSxyPTA7cjxlO3IrKyluW3JdPWFyZ3VtZW50c1tyXTtyZXR1cm4gYS5jb25jYXQocykuaW5jbHVkZXModCk/dGhpcy5fcHVzaEFuaW1hdGVzKCJzdHlsZSIsW3RoaXMuX2NvbnZlclR5cGUodCkscy5pbmNsdWRlcyh0KT90aGlzLl9nZXRWYWx1ZShuWzBdKTpuWzBdXSk6dGhpcy5fcHVzaEFuaW1hdGVzKHQsbiksdGhpc319KSl9LGE0MDk6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtuLnIoZSksZVsiZGVmYXVsdCJdPXttZXRob2RzOntiZWZvcmVUcmFuc2l0aW9uOmZ1bmN0aW9uKCl7fSxhZnRlclRyYW5zaXRpb246ZnVuY3Rpb24oKXt9fX19LGE1MTM6ZnVuY3Rpb24odCxlKXt0LmV4cG9ydHM9bn0sYTYxZDpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oImUwNTMiKSxpPW4ubihyKTtpLmF9LGE2ZjI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtuLnIoZSksZnVuY3Rpb24odCl7bi5kKGUsImNyZWF0ZUludGVyc2VjdGlvbk9ic2VydmVyIiwoZnVuY3Rpb24oKXtyZXR1cm4gbH0pKTt2YXIgcj1uKCI3NTUzIiksaT1uKCIwNzk1Iiksbz1uKCI3NDVhIik7ZnVuY3Rpb24gYSh0LGUpe2Zvcih2YXIgbj0wO248ZS5sZW5ndGg7bisrKXt2YXIgcj1lW25dO3IuZW51bWVyYWJsZT1yLmVudW1lcmFibGV8fCExLHIuY29uZmlndXJhYmxlPSEwLCJ2YWx1ZSJpbiByJiYoci53cml0YWJsZT0hMCksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsci5rZXkscil9fXZhciBzPU9iamVjdChyWyJhIl0pKCJyZXF1ZXN0Q29tcG9uZW50T2JzZXJ2ZXIiKSxjPXt0aHJlc2hvbGRzOlswXSxpbml0aWFsUmF0aW86MCxvYnNlcnZlQWxsOiExfSx1PWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZSh0LG4peyhmdW5jdGlvbih0LGUpe2lmKCEodCBpbnN0YW5jZW9mIGUpKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvbiIpfSkodGhpcyxlKSx0aGlzLnBhZ2VJZD10LiRwYWdlJiZ0LiRwYWdlLmlkLHRoaXMuY29tcG9uZW50PXQuXyRpZHx8dCx0aGlzLm9wdGlvbnM9T2JqZWN0LmFzc2lnbih7fSxjLG4pfXJldHVybiBmdW5jdGlvbih0LGUsbil7ZSYmYSh0LnByb3RvdHlwZSxlKSxuJiZhKHQsbil9KGUsW3trZXk6Il9tYWtlUm9vdE1hcmdpbiIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgdD1hcmd1bWVudHMubGVuZ3RoPjAmJnZvaWQgMCE9PWFyZ3VtZW50c1swXT9hcmd1bWVudHNbMF06e307dGhpcy5vcHRpb25zLnJvb3RNYXJnaW49WyJ0b3AiLCJyaWdodCIsImJvdHRvbSIsImxlZnQiXS5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiIiLmNvbmNhdChOdW1iZXIodFtlXSl8fDAsInB4Iil9KSkuam9pbigiICIpfX0se2tleToicmVsYXRpdmVUbyIsdmFsdWU6ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5vcHRpb25zLnJlbGF0aXZlVG9TZWxlY3Rvcj10LHRoaXMuX21ha2VSb290TWFyZ2luKGUpLHRoaXN9fSx7a2V5OiJyZWxhdGl2ZVRvVmlld3BvcnQiLHZhbHVlOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnMucmVsYXRpdmVUb1NlbGVjdG9yPW51bGwsdGhpcy5fbWFrZVJvb3RNYXJnaW4odCksdGhpc319LHtrZXk6Im9ic2VydmUiLHZhbHVlOmZ1bmN0aW9uKGUsbil7ImZ1bmN0aW9uIj09PXR5cGVvZiBuJiYodGhpcy5vcHRpb25zLnNlbGVjdG9yPWUsdGhpcy5yZXFJZD1zLnB1c2gobiksdC5wdWJsaXNoSGFuZGxlcigicmVxdWVzdENvbXBvbmVudE9ic2VydmVyIix7cmVxSWQ6dGhpcy5yZXFJZCxjb21wb25lbnQ6dGhpcy5jb21wb25lbnQsb3B0aW9uczp0aGlzLm9wdGlvbnN9LE9iamVjdChpWyJhIl0pKHRoaXMuY29tcG9uZW50KT90aGlzLmNvbXBvbmVudDp0aGlzLnBhZ2VJZCkpfX0se2tleToiZGlzY29ubmVjdCIsdmFsdWU6ZnVuY3Rpb24oKXt0LnB1Ymxpc2hIYW5kbGVyKCJkZXN0cm95Q29tcG9uZW50T2JzZXJ2ZXIiLHtyZXFJZDp0aGlzLnJlcUlkfSxPYmplY3QoaVsiYSJdKSh0aGlzLmNvbXBvbmVudCk/dGhpcy5jb21wb25lbnQ6dGhpcy5wYWdlSWQpfX1dKSxlfSgpO2Z1bmN0aW9uIGwodCxlKXtyZXR1cm4gdC5faXNWdWV8fChlPXQsdD1udWxsKSxuZXcgdSh0fHxPYmplY3Qob1siYiJdKSgiY3JlYXRlSW50ZXJzZWN0aW9uT2JzZXJ2ZXIiKSxlKX19LmNhbGwodGhpcyxuKCIyYzlmIikpfSxhNzcwOmZ1bmN0aW9uKHQsZSl7KGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO2lmKCJvYmplY3QiPT09KCJ1bmRlZmluZWQiPT09dHlwZW9mIHdpbmRvdz8idW5kZWZpbmVkIjpyKHdpbmRvdykpKWlmKCJJbnRlcnNlY3Rpb25PYnNlcnZlciJpbiB3aW5kb3cmJiJJbnRlcnNlY3Rpb25PYnNlcnZlckVudHJ5ImluIHdpbmRvdyYmImludGVyc2VjdGlvblJhdGlvImluIHdpbmRvdy5JbnRlcnNlY3Rpb25PYnNlcnZlckVudHJ5LnByb3RvdHlwZSkiaXNJbnRlcnNlY3RpbmciaW4gd2luZG93LkludGVyc2VjdGlvbk9ic2VydmVyRW50cnkucHJvdG90eXBlfHxPYmplY3QuZGVmaW5lUHJvcGVydHkod2luZG93LkludGVyc2VjdGlvbk9ic2VydmVyRW50cnkucHJvdG90eXBlLCJpc0ludGVyc2VjdGluZyIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmludGVyc2VjdGlvblJhdGlvPjB9fSk7ZWxzZXt2YXIgdD13aW5kb3cuZG9jdW1lbnQsZT1bXTtpLnByb3RvdHlwZS5USFJPVFRMRV9USU1FT1VUPTEwMCxpLnByb3RvdHlwZS5QT0xMX0lOVEVSVkFMPW51bGwsaS5wcm90b3R5cGUuVVNFX01VVEFUSU9OX09CU0VSVkVSPSEwLGkucHJvdG90eXBlLm9ic2VydmU9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fb2JzZXJ2YXRpb25UYXJnZXRzLnNvbWUoKGZ1bmN0aW9uKGUpe3JldHVybiBlLmVsZW1lbnQ9PXR9KSk7aWYoIWUpe2lmKCF0fHwxIT10Lm5vZGVUeXBlKXRocm93IG5ldyBFcnJvcigidGFyZ2V0IG11c3QgYmUgYW4gRWxlbWVudCIpO3RoaXMuX3JlZ2lzdGVySW5zdGFuY2UoKSx0aGlzLl9vYnNlcnZhdGlvblRhcmdldHMucHVzaCh7ZWxlbWVudDp0LGVudHJ5Om51bGx9KSx0aGlzLl9tb25pdG9ySW50ZXJzZWN0aW9ucygpLHRoaXMuX2NoZWNrRm9ySW50ZXJzZWN0aW9ucygpfX0saS5wcm90b3R5cGUudW5vYnNlcnZlPWZ1bmN0aW9uKHQpe3RoaXMuX29ic2VydmF0aW9uVGFyZ2V0cz10aGlzLl9vYnNlcnZhdGlvblRhcmdldHMuZmlsdGVyKChmdW5jdGlvbihlKXtyZXR1cm4gZS5lbGVtZW50IT10fSkpLHRoaXMuX29ic2VydmF0aW9uVGFyZ2V0cy5sZW5ndGh8fCh0aGlzLl91bm1vbml0b3JJbnRlcnNlY3Rpb25zKCksdGhpcy5fdW5yZWdpc3Rlckluc3RhbmNlKCkpfSxpLnByb3RvdHlwZS5kaXNjb25uZWN0PWZ1bmN0aW9uKCl7dGhpcy5fb2JzZXJ2YXRpb25UYXJnZXRzPVtdLHRoaXMuX3VubW9uaXRvckludGVyc2VjdGlvbnMoKSx0aGlzLl91bnJlZ2lzdGVySW5zdGFuY2UoKX0saS5wcm90b3R5cGUudGFrZVJlY29yZHM9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9xdWV1ZWRFbnRyaWVzLnNsaWNlKCk7cmV0dXJuIHRoaXMuX3F1ZXVlZEVudHJpZXM9W10sdH0saS5wcm90b3R5cGUuX2luaXRUaHJlc2hvbGRzPWZ1bmN0aW9uKHQpe3ZhciBlPXR8fFswXTtyZXR1cm4gQXJyYXkuaXNBcnJheShlKXx8KGU9W2VdKSxlLnNvcnQoKS5maWx0ZXIoKGZ1bmN0aW9uKHQsZSxuKXtpZigibnVtYmVyIiE9dHlwZW9mIHR8fGlzTmFOKHQpfHx0PDB8fHQ+MSl0aHJvdyBuZXcgRXJyb3IoInRocmVzaG9sZCBtdXN0IGJlIGEgbnVtYmVyIGJldHdlZW4gMCBhbmQgMSBpbmNsdXNpdmVseSIpO3JldHVybiB0IT09bltlLTFdfSkpfSxpLnByb3RvdHlwZS5fcGFyc2VSb290TWFyZ2luPWZ1bmN0aW9uKHQpe3ZhciBlPXR8fCIwcHgiLG49ZS5zcGxpdCgvXHMrLykubWFwKChmdW5jdGlvbih0KXt2YXIgZT0vXigtP1xkKlwuP1xkKykocHh8JSkkLy5leGVjKHQpO2lmKCFlKXRocm93IG5ldyBFcnJvcigicm9vdE1hcmdpbiBtdXN0IGJlIHNwZWNpZmllZCBpbiBwaXhlbHMgb3IgcGVyY2VudCIpO3JldHVybnt2YWx1ZTpwYXJzZUZsb2F0KGVbMV0pLHVuaXQ6ZVsyXX19KSk7cmV0dXJuIG5bMV09blsxXXx8blswXSxuWzJdPW5bMl18fG5bMF0sblszXT1uWzNdfHxuWzFdLG59LGkucHJvdG90eXBlLl9tb25pdG9ySW50ZXJzZWN0aW9ucz1mdW5jdGlvbigpe3RoaXMuX21vbml0b3JpbmdJbnRlcnNlY3Rpb25zfHwodGhpcy5fbW9uaXRvcmluZ0ludGVyc2VjdGlvbnM9ITAsdGhpcy5QT0xMX0lOVEVSVkFMP3RoaXMuX21vbml0b3JpbmdJbnRlcnZhbD1zZXRJbnRlcnZhbCh0aGlzLl9jaGVja0ZvckludGVyc2VjdGlvbnMsdGhpcy5QT0xMX0lOVEVSVkFMKTooYSh3aW5kb3csInJlc2l6ZSIsdGhpcy5fY2hlY2tGb3JJbnRlcnNlY3Rpb25zLCEwKSxhKHQsInNjcm9sbCIsdGhpcy5fY2hlY2tGb3JJbnRlcnNlY3Rpb25zLCEwKSx0aGlzLlVTRV9NVVRBVElPTl9PQlNFUlZFUiYmIk11dGF0aW9uT2JzZXJ2ZXIiaW4gd2luZG93JiYodGhpcy5fZG9tT2JzZXJ2ZXI9bmV3IE11dGF0aW9uT2JzZXJ2ZXIodGhpcy5fY2hlY2tGb3JJbnRlcnNlY3Rpb25zKSx0aGlzLl9kb21PYnNlcnZlci5vYnNlcnZlKHQse2F0dHJpYnV0ZXM6ITAsY2hpbGRMaXN0OiEwLGNoYXJhY3RlckRhdGE6ITAsc3VidHJlZTohMH0pKSkpfSxpLnByb3RvdHlwZS5fdW5tb25pdG9ySW50ZXJzZWN0aW9ucz1mdW5jdGlvbigpe3RoaXMuX21vbml0b3JpbmdJbnRlcnNlY3Rpb25zJiYodGhpcy5fbW9uaXRvcmluZ0ludGVyc2VjdGlvbnM9ITEsY2xlYXJJbnRlcnZhbCh0aGlzLl9tb25pdG9yaW5nSW50ZXJ2YWwpLHRoaXMuX21vbml0b3JpbmdJbnRlcnZhbD1udWxsLHMod2luZG93LCJyZXNpemUiLHRoaXMuX2NoZWNrRm9ySW50ZXJzZWN0aW9ucywhMCkscyh0LCJzY3JvbGwiLHRoaXMuX2NoZWNrRm9ySW50ZXJzZWN0aW9ucywhMCksdGhpcy5fZG9tT2JzZXJ2ZXImJih0aGlzLl9kb21PYnNlcnZlci5kaXNjb25uZWN0KCksdGhpcy5fZG9tT2JzZXJ2ZXI9bnVsbCkpfSxpLnByb3RvdHlwZS5fY2hlY2tGb3JJbnRlcnNlY3Rpb25zPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fcm9vdElzSW5Eb20oKSxlPXQ/dGhpcy5fZ2V0Um9vdFJlY3QoKTpsKCk7dGhpcy5fb2JzZXJ2YXRpb25UYXJnZXRzLmZvckVhY2goKGZ1bmN0aW9uKHIpe3ZhciBpPXIuZWxlbWVudCxhPXUoaSkscz10aGlzLl9yb290Q29udGFpbnNUYXJnZXQoaSksYz1yLmVudHJ5LGw9dCYmcyYmdGhpcy5fY29tcHV0ZVRhcmdldEFuZFJvb3RJbnRlcnNlY3Rpb24oaSxlKSxmPXIuZW50cnk9bmV3IG4oe3RpbWU6bygpLHRhcmdldDppLGJvdW5kaW5nQ2xpZW50UmVjdDphLHJvb3RCb3VuZHM6ZSxpbnRlcnNlY3Rpb25SZWN0Omx9KTtjP3QmJnM/dGhpcy5faGFzQ3Jvc3NlZFRocmVzaG9sZChjLGYpJiZ0aGlzLl9xdWV1ZWRFbnRyaWVzLnB1c2goZik6YyYmYy5pc0ludGVyc2VjdGluZyYmdGhpcy5fcXVldWVkRW50cmllcy5wdXNoKGYpOnRoaXMuX3F1ZXVlZEVudHJpZXMucHVzaChmKX0pLHRoaXMpLHRoaXMuX3F1ZXVlZEVudHJpZXMubGVuZ3RoJiZ0aGlzLl9jYWxsYmFjayh0aGlzLnRha2VSZWNvcmRzKCksdGhpcyl9LGkucHJvdG90eXBlLl9jb21wdXRlVGFyZ2V0QW5kUm9vdEludGVyc2VjdGlvbj1mdW5jdGlvbihlLG4pe2lmKCJub25lIiE9d2luZG93LmdldENvbXB1dGVkU3R5bGUoZSkuZGlzcGxheSl7dmFyIHI9dShlKSxpPXIsbz1kKGUpLGE9ITE7d2hpbGUoIWEpe3ZhciBzPW51bGwsbD0xPT1vLm5vZGVUeXBlP3dpbmRvdy5nZXRDb21wdXRlZFN0eWxlKG8pOnt9O2lmKCJub25lIj09bC5kaXNwbGF5KXJldHVybjtpZihvPT10aGlzLnJvb3R8fG89PXQ/KGE9ITAscz1uKTpvIT10LmJvZHkmJm8hPXQuZG9jdW1lbnRFbGVtZW50JiYidmlzaWJsZSIhPWwub3ZlcmZsb3cmJihzPXUobykpLHMmJihpPWMocyxpKSwhaSkpYnJlYWs7bz1kKG8pfXJldHVybiBpfX0saS5wcm90b3R5cGUuX2dldFJvb3RSZWN0PWZ1bmN0aW9uKCl7dmFyIGU7aWYodGhpcy5yb290KWU9dSh0aGlzLnJvb3QpO2Vsc2V7dmFyIG49dC5kb2N1bWVudEVsZW1lbnQscj10LmJvZHk7ZT17dG9wOjAsbGVmdDowLHJpZ2h0Om4uY2xpZW50V2lkdGh8fHIuY2xpZW50V2lkdGgsd2lkdGg6bi5jbGllbnRXaWR0aHx8ci5jbGllbnRXaWR0aCxib3R0b206bi5jbGllbnRIZWlnaHR8fHIuY2xpZW50SGVpZ2h0LGhlaWdodDpuLmNsaWVudEhlaWdodHx8ci5jbGllbnRIZWlnaHR9fXJldHVybiB0aGlzLl9leHBhbmRSZWN0QnlSb290TWFyZ2luKGUpfSxpLnByb3RvdHlwZS5fZXhwYW5kUmVjdEJ5Um9vdE1hcmdpbj1mdW5jdGlvbih0KXt2YXIgZT10aGlzLl9yb290TWFyZ2luVmFsdWVzLm1hcCgoZnVuY3Rpb24oZSxuKXtyZXR1cm4icHgiPT1lLnVuaXQ/ZS52YWx1ZTplLnZhbHVlKihuJTI/dC53aWR0aDp0LmhlaWdodCkvMTAwfSkpLG49e3RvcDp0LnRvcC1lWzBdLHJpZ2h0OnQucmlnaHQrZVsxXSxib3R0b206dC5ib3R0b20rZVsyXSxsZWZ0OnQubGVmdC1lWzNdfTtyZXR1cm4gbi53aWR0aD1uLnJpZ2h0LW4ubGVmdCxuLmhlaWdodD1uLmJvdHRvbS1uLnRvcCxufSxpLnByb3RvdHlwZS5faGFzQ3Jvc3NlZFRocmVzaG9sZD1mdW5jdGlvbih0LGUpe3ZhciBuPXQmJnQuaXNJbnRlcnNlY3Rpbmc/dC5pbnRlcnNlY3Rpb25SYXRpb3x8MDotMSxyPWUuaXNJbnRlcnNlY3Rpbmc/ZS5pbnRlcnNlY3Rpb25SYXRpb3x8MDotMTtpZihuIT09cilmb3IodmFyIGk9MDtpPHRoaXMudGhyZXNob2xkcy5sZW5ndGg7aSsrKXt2YXIgbz10aGlzLnRocmVzaG9sZHNbaV07aWYobz09bnx8bz09cnx8bzxuIT09bzxyKXJldHVybiEwfX0saS5wcm90b3R5cGUuX3Jvb3RJc0luRG9tPWZ1bmN0aW9uKCl7cmV0dXJuIXRoaXMucm9vdHx8Zih0LHRoaXMucm9vdCl9LGkucHJvdG90eXBlLl9yb290Q29udGFpbnNUYXJnZXQ9ZnVuY3Rpb24oZSl7cmV0dXJuIGYodGhpcy5yb290fHx0LGUpfSxpLnByb3RvdHlwZS5fcmVnaXN0ZXJJbnN0YW5jZT1mdW5jdGlvbigpe2UuaW5kZXhPZih0aGlzKTwwJiZlLnB1c2godGhpcyl9LGkucHJvdG90eXBlLl91bnJlZ2lzdGVySW5zdGFuY2U9ZnVuY3Rpb24oKXt2YXIgdD1lLmluZGV4T2YodGhpcyk7LTEhPXQmJmUuc3BsaWNlKHQsMSl9LHdpbmRvdy5JbnRlcnNlY3Rpb25PYnNlcnZlcj1pLHdpbmRvdy5JbnRlcnNlY3Rpb25PYnNlcnZlckVudHJ5PW59ZnVuY3Rpb24gbih0KXt0aGlzLnRpbWU9dC50aW1lLHRoaXMudGFyZ2V0PXQudGFyZ2V0LHRoaXMucm9vdEJvdW5kcz10LnJvb3RCb3VuZHMsdGhpcy5ib3VuZGluZ0NsaWVudFJlY3Q9dC5ib3VuZGluZ0NsaWVudFJlY3QsdGhpcy5pbnRlcnNlY3Rpb25SZWN0PXQuaW50ZXJzZWN0aW9uUmVjdHx8bCgpLHRoaXMuaXNJbnRlcnNlY3Rpbmc9ISF0LmludGVyc2VjdGlvblJlY3Q7dmFyIGU9dGhpcy5ib3VuZGluZ0NsaWVudFJlY3Qsbj1lLndpZHRoKmUuaGVpZ2h0LHI9dGhpcy5pbnRlcnNlY3Rpb25SZWN0LGk9ci53aWR0aCpyLmhlaWdodDt0aGlzLmludGVyc2VjdGlvblJhdGlvPW4/TnVtYmVyKChpL24pLnRvRml4ZWQoNCkpOnRoaXMuaXNJbnRlcnNlY3Rpbmc/MTowfWZ1bmN0aW9uIGkodCxlKXt2YXIgbj1lfHx7fTtpZigiZnVuY3Rpb24iIT10eXBlb2YgdCl0aHJvdyBuZXcgRXJyb3IoImNhbGxiYWNrIG11c3QgYmUgYSBmdW5jdGlvbiIpO2lmKG4ucm9vdCYmMSE9bi5yb290Lm5vZGVUeXBlKXRocm93IG5ldyBFcnJvcigicm9vdCBtdXN0IGJlIGFuIEVsZW1lbnQiKTt0aGlzLl9jaGVja0ZvckludGVyc2VjdGlvbnM9ZnVuY3Rpb24odCxlKXt2YXIgbj1udWxsO3JldHVybiBmdW5jdGlvbigpe258fChuPXNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7dCgpLG49bnVsbH0pLGUpKX19KHRoaXMuX2NoZWNrRm9ySW50ZXJzZWN0aW9ucy5iaW5kKHRoaXMpLHRoaXMuVEhST1RUTEVfVElNRU9VVCksdGhpcy5fY2FsbGJhY2s9dCx0aGlzLl9vYnNlcnZhdGlvblRhcmdldHM9W10sdGhpcy5fcXVldWVkRW50cmllcz1bXSx0aGlzLl9yb290TWFyZ2luVmFsdWVzPXRoaXMuX3BhcnNlUm9vdE1hcmdpbihuLnJvb3RNYXJnaW4pLHRoaXMudGhyZXNob2xkcz10aGlzLl9pbml0VGhyZXNob2xkcyhuLnRocmVzaG9sZCksdGhpcy5yb290PW4ucm9vdHx8bnVsbCx0aGlzLnJvb3RNYXJnaW49dGhpcy5fcm9vdE1hcmdpblZhbHVlcy5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiB0LnZhbHVlK3QudW5pdH0pKS5qb2luKCIgIil9ZnVuY3Rpb24gbygpe3JldHVybiB3aW5kb3cucGVyZm9ybWFuY2UmJnBlcmZvcm1hbmNlLm5vdyYmcGVyZm9ybWFuY2Uubm93KCl9ZnVuY3Rpb24gYSh0LGUsbixyKXsiZnVuY3Rpb24iPT10eXBlb2YgdC5hZGRFdmVudExpc3RlbmVyP3QuYWRkRXZlbnRMaXN0ZW5lcihlLG4scnx8ITEpOiJmdW5jdGlvbiI9PXR5cGVvZiB0LmF0dGFjaEV2ZW50JiZ0LmF0dGFjaEV2ZW50KCJvbiIrZSxuKX1mdW5jdGlvbiBzKHQsZSxuLHIpeyJmdW5jdGlvbiI9PXR5cGVvZiB0LnJlbW92ZUV2ZW50TGlzdGVuZXI/dC5yZW1vdmVFdmVudExpc3RlbmVyKGUsbixyfHwhMSk6ImZ1bmN0aW9uIj09dHlwZW9mIHQuZGV0YXRjaEV2ZW50JiZ0LmRldGF0Y2hFdmVudCgib24iK2Usbil9ZnVuY3Rpb24gYyh0LGUpe3ZhciBuPU1hdGgubWF4KHQudG9wLGUudG9wKSxyPU1hdGgubWluKHQuYm90dG9tLGUuYm90dG9tKSxpPU1hdGgubWF4KHQubGVmdCxlLmxlZnQpLG89TWF0aC5taW4odC5yaWdodCxlLnJpZ2h0KSxhPW8taSxzPXItbjtyZXR1cm4gYT49MCYmcz49MCYme3RvcDpuLGJvdHRvbTpyLGxlZnQ6aSxyaWdodDpvLHdpZHRoOmEsaGVpZ2h0OnN9fWZ1bmN0aW9uIHUodCl7dmFyIGU7dHJ5e2U9dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKX1jYXRjaChuKXt9cmV0dXJuIGU/KGUud2lkdGgmJmUuaGVpZ2h0fHwoZT17dG9wOmUudG9wLHJpZ2h0OmUucmlnaHQsYm90dG9tOmUuYm90dG9tLGxlZnQ6ZS5sZWZ0LHdpZHRoOmUucmlnaHQtZS5sZWZ0LGhlaWdodDplLmJvdHRvbS1lLnRvcH0pLGUpOmwoKX1mdW5jdGlvbiBsKCl7cmV0dXJue3RvcDowLGJvdHRvbTowLGxlZnQ6MCxyaWdodDowLHdpZHRoOjAsaGVpZ2h0OjB9fWZ1bmN0aW9uIGYodCxlKXt2YXIgbj1lO3doaWxlKG4pe2lmKG49PXQpcmV0dXJuITA7bj1kKG4pfXJldHVybiExfWZ1bmN0aW9uIGQodCl7dmFyIGU9dC5wYXJlbnROb2RlO3JldHVybiBlJiYxMT09ZS5ub2RlVHlwZSYmZS5ob3N0P2UuaG9zdDplJiZlLmFzc2lnbmVkU2xvdD9lLmFzc2lnbmVkU2xvdC5wYXJlbnROb2RlOmV9fSkoKX0sYTdmYjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjg0ZWQiKSxpPW4oIjRlNDYiKSxvPXtuYW1lOiJQYWdlQm9keSIsbW91bnRlZDpmdW5jdGlvbigpe3ZhciB0PWlbImEiXS5oZWlnaHR8fCI1MHB4IixlPSIudW5pLWFwcC0tc2hvd3RhYmJhciB1bmktcGFnZS13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gIi5jb25jYXQodCwiKTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAiKS5jb25jYXQodCwiIC0gY29uc3RhbnQoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSkpO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtICIpLmNvbmNhdCh0LCIgLSBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSkpO1xuICAgICAgICAgICAgICAgICAgfSIpO2UrPSJcbiIsZSs9Jy51bmktYXBwLS1zaG93dGFiYmFyIHVuaS1wYWdlLXdyYXBwZXI6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICIiO1xuICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogJy5jb25jYXQodCwiO1xuICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKCIpLmNvbmNhdCh0LCIgKyBjb25zdGFudChzYWZlLWFyZWEtaW5zZXQtYm90dG9tKSk7XG4gICAgICAgICAgICAgICAgICBoZWlnaHQ6IGNhbGMoIikuY29uY2F0KHQsIiArIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKSk7XG4gICAgICAgICAgICAgICAgfSIpLGUrPSJcbiIsZSs9Jy51bmktYXBwLS1zaG93dGFiYmFyIHVuaS1wYWdlLWhlYWRbdW5pLXBhZ2UtaGVhZC10eXBlPSJkZWZhdWx0Il0gfiB1bmktcGFnZS13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gNDRweCAtICcuY29uY2F0KHQsIik7XG4gICAgICAgICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDQ0cHggLSBjb25zdGFudChzYWZlLWFyZWEtaW5zZXQtdG9wKSAtICIpLmNvbmNhdCh0LCIgLSBjb25zdGFudChzYWZlLWFyZWEtaW5zZXQtYm90dG9tKSk7XG4gICAgICAgICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDQ0cHggLSBlbnYoc2FmZS1hcmVhLWluc2V0LXRvcCkgLSAiKS5jb25jYXQodCwiIC0gZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pKTtcbiAgICAgICAgICAgICAgICB9IiksT2JqZWN0KHJbImEiXSkoZSl9fSxhPW8scz0obigiOGNiYiIpLG4oIjg4NDQiKSksYz1PYmplY3Qoc1siYSJdKShhLChmdW5jdGlvbigpe3ZhciB0PXRoaXMsZT10LiRjcmVhdGVFbGVtZW50LG49dC5fc2VsZi5fY3x8ZTtyZXR1cm4gbigidW5pLXBhZ2Utd3JhcHBlciIsW24oInVuaS1wYWdlLWJvZHkiLFt0Ll90KCJkZWZhdWx0IildLDIpXSwxKX0pLFtdLCExLG51bGwsbnVsbCxudWxsKTtlWyJhIl09Yy5leHBvcnRzfSxhODA1OmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7KGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIHIoZSxuLHIpe3QuVW5pU2VydmljZUpTQnJpZGdlLnN1YnNjcmliZUhhbmRsZXIoZSxuLHIpfW4uZChlLCJhIiwoZnVuY3Rpb24oKXtyZXR1cm4gcn0pKX0pLmNhbGwodGhpcyxuKCIwZWU0IikpfSxhODc0OmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5yKGUpLGZ1bmN0aW9uKHQpe24uZChlLCJjcmVhdGVNZWRpYVF1ZXJ5T2JzZXJ2ZXIiLChmdW5jdGlvbigpe3JldHVybiB1fSkpO3ZhciByPW4oIjc1NTMiKSxpPW4oIjc0NWEiKSxvPW4oIjA3OTUiKTtmdW5jdGlvbiBhKHQsZSl7Zm9yKHZhciBuPTA7bjxlLmxlbmd0aDtuKyspe3ZhciByPWVbbl07ci5lbnVtZXJhYmxlPXIuZW51bWVyYWJsZXx8ITEsci5jb25maWd1cmFibGU9ITAsInZhbHVlImluIHImJihyLndyaXRhYmxlPSEwKSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCxyLmtleSxyKX19dmFyIHM9T2JqZWN0KHJbImEiXSkoInJlcXVlc3RNZWRpYVF1ZXJ5T2JzZXJ2ZXIiKSxjPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZSh0LG4peyhmdW5jdGlvbih0LGUpe2lmKCEodCBpbnN0YW5jZW9mIGUpKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvbiIpfSkodGhpcyxlKSx0aGlzLnBhZ2VJZD10LiRwYWdlJiZ0LiRwYWdlLmlkLHRoaXMuY29tcG9uZW50PXQuXyRpZHx8dCx0aGlzLm9wdGlvbnM9bn1yZXR1cm4gZnVuY3Rpb24odCxlLG4pe2UmJmEodC5wcm90b3R5cGUsZSksbiYmYSh0LG4pfShlLFt7a2V5OiJvYnNlcnZlIix2YWx1ZTpmdW5jdGlvbihlLG4peyJmdW5jdGlvbiI9PT10eXBlb2YgbiYmKHRoaXMub3B0aW9ucz1lLHRoaXMucmVxSWQ9cy5wdXNoKG4pLHQucHVibGlzaEhhbmRsZXIoInJlcXVlc3RNZWRpYVF1ZXJ5T2JzZXJ2ZXIiLHtyZXFJZDp0aGlzLnJlcUlkLGNvbXBvbmVudDp0aGlzLmNvbXBvbmVudCxvcHRpb25zOnRoaXMub3B0aW9uc30sT2JqZWN0KG9bImEiXSkodGhpcy5jb21wb25lbnQpP3RoaXMuY29tcG9uZW50OnRoaXMucGFnZUlkKSl9fSx7a2V5OiJkaXNjb25uZWN0Iix2YWx1ZTpmdW5jdGlvbigpe3QucHVibGlzaEhhbmRsZXIoImRlc3Ryb3lNZWRpYVF1ZXJ5T2JzZXJ2ZXIiLHtyZXFJZDp0aGlzLnJlcUlkfSxPYmplY3Qob1siYSJdKSh0aGlzLmNvbXBvbmVudCk/dGhpcy5jb21wb25lbnQ6dGhpcy5wYWdlSWQpfX1dKSxlfSgpO2Z1bmN0aW9uIHUodCxlKXtyZXR1cm4gdC5faXNWdWV8fChlPXQsdD1udWxsKSxuZXcgYyh0fHxPYmplY3QoaVsiYiJdKSgiY3JlYXRlTWVkaWFRdWVyeU9ic2VydmVyIiksZSl9fS5jYWxsKHRoaXMsbigiMmM5ZiIpKX0sYThhNzpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO24ucihlKSxuLmQoZSwibG9hZFN1YlBhY2thZ2UiLChmdW5jdGlvbigpe3JldHVybiByfSkpO3ZhciByPXtyb290Ont0eXBlOlN0cmluZyxyZXF1aXJlZDohMCx2YWxpZGF0b3I6ZnVuY3Rpb24odCxlKXt2YXIgbj1fX3VuaUNvbmZpZy5zdWJQYWNrYWdlcztyZXR1cm4gQXJyYXkuaXNBcnJheShuKSYmMCE9PW4ubGVuZ3RoP24uZmluZCgoZnVuY3Rpb24oZSl7cmV0dXJuIGUucm9vdD09PXR9KSk/dm9pZCAwOiJyb290IGAiK3QrImAgaXMgbm90IGZvdW5kIjoibm8gc3ViUGFja2FnZXMifX19fSxhOGQ5OmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5yKGUpLG4uZChlLCJzZXRUYWJCYXJJdGVtIiwoZnVuY3Rpb24oKXtyZXR1cm4gdX0pKSxuLmQoZSwic2V0VGFiQmFyU3R5bGUiLChmdW5jdGlvbigpe3JldHVybiBsfSkpLG4uZChlLCJoaWRlVGFiQmFyIiwoZnVuY3Rpb24oKXtyZXR1cm4gZn0pKSxuLmQoZSwic2hvd1RhYkJhciIsKGZ1bmN0aW9uKCl7cmV0dXJuIGR9KSksbi5kKGUsImhpZGVUYWJCYXJSZWREb3QiLChmdW5jdGlvbigpe3JldHVybiBofSkpLG4uZChlLCJzaG93VGFiQmFyUmVkRG90IiwoZnVuY3Rpb24oKXtyZXR1cm4gcH0pKSxuLmQoZSwicmVtb3ZlVGFiQmFyQmFkZ2UiLChmdW5jdGlvbigpe3JldHVybiB2fSkpLG4uZChlLCJzZXRUYWJCYXJCYWRnZSIsKGZ1bmN0aW9uKCl7cmV0dXJuIGd9KSk7dmFyIHI9bigiMzQwZCIpLGk9WyJ0ZXh0IiwiaWNvblBhdGgiLCJpY29uZm9udCIsInNlbGVjdGVkSWNvblBhdGgiLCJ2aXNpYmxlIl0sbz1bImNvbG9yIiwic2VsZWN0ZWRDb2xvciIsImJhY2tncm91bmRDb2xvciIsImJvcmRlclN0eWxlIiwibWlkQnV0dG9uIl0sYT1bImJhZGdlIiwicmVkRG90Il0scz1bInRleHQiLCJzZWxlY3RlZFRleHQiLCJmb250U2l6ZSIsImNvbG9yIiwic2VsZWN0ZWRDb2xvciJdO2Z1bmN0aW9uIGModCl7dmFyIGU9YXJndW1lbnRzLmxlbmd0aD4xJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0/YXJndW1lbnRzWzFdOnt9LG49Z2V0QXBwKCk7aWYobil7dmFyIGM9ITEsdT1nZXRDdXJyZW50UGFnZXMoKTtpZih1Lmxlbmd0aD91W3UubGVuZ3RoLTFdLiRwYWdlLm1ldGEuaXNUYWJCYXImJihjPSEwKTpuLiRjaGlsZHJlblswXS5oYXNUYWJCYXImJihjPSEwKSwhYylyZXR1cm57ZXJyTXNnOiIiLmNvbmNhdCh0LCI6ZmFpbCBub3QgVGFiQmFyIHBhZ2UiKX07dmFyIGw9ZS5pbmRleCxmPV9fdW5pQ29uZmlnLnRhYkJhcjtpZihsPj1fX3VuaUNvbmZpZy50YWJCYXIubGlzdC5sZW5ndGgpcmV0dXJue2Vyck1zZzoiIi5jb25jYXQodCwiOmZhaWwgdGFiYmFyIGl0ZW0gbm90IGZvdW5kIil9O3N3aXRjaCh0KXtjYXNlInNob3dUYWJCYXIiOm4uJGNoaWxkcmVuWzBdLmhpZGVUYWJCYXI9ITE7YnJlYWs7Y2FzZSJoaWRlVGFiQmFyIjpuLiRjaGlsZHJlblswXS5oaWRlVGFiQmFyPSEwO2JyZWFrO2Nhc2Uic2V0VGFiQmFySXRlbSI6ZS5pY29uZm9udCYmKE9iamVjdChyWyJyIl0pKGYubGlzdFtsXS5pY29uZm9udCxzLGUuaWNvbmZvbnQpLGUuaWNvbmZvbnQ9Zi5saXN0W2xdLmljb25mb250KSxPYmplY3QoclsiciJdKShmLmxpc3RbbF0saSxlKTt2YXIgZD1lLnBhZ2VQYXRoLGg9ZCYmX191bmlSb3V0ZXMuZmluZCgoZnVuY3Rpb24odCl7dmFyIGU9dC5wYXRoO3JldHVybiBlPT09ZH0pKTtpZihoKXt2YXIgcD1oLm1ldGE7cC5pc1RhYkJhcj0hMCxwLnRhYkJhckluZGV4PWwscC5pc1F1aXQ9ITAscC5pc1NldD0hMCxwLmlkPWwrMTt2YXIgdj1fX3VuaUNvbmZpZy50YWJCYXI7diYmdi5saXN0JiZ2Lmxpc3RbbF0mJih2Lmxpc3RbbF0ucGFnZVBhdGg9ZC5zdGFydHNXaXRoKCIvIik/ZC5zdWJzdHJpbmcoMSk6ZCl9YnJlYWs7Y2FzZSJzZXRUYWJCYXJTdHlsZSI6T2JqZWN0KHJbInIiXSkoZixvLGUpO2JyZWFrO2Nhc2Uic2hvd1RhYkJhclJlZERvdCI6T2JqZWN0KHJbInIiXSkoZi5saXN0W2xdLGEse2JhZGdlOiIiLHJlZERvdDohMH0pO2JyZWFrO2Nhc2Uic2V0VGFiQmFyQmFkZ2UiOk9iamVjdChyWyJyIl0pKGYubGlzdFtsXSxhLHtiYWRnZTplLnRleHQscmVkRG90OiEwfSk7YnJlYWs7Y2FzZSJoaWRlVGFiQmFyUmVkRG90IjpjYXNlInJlbW92ZVRhYkJhckJhZGdlIjpPYmplY3QoclsiciJdKShmLmxpc3RbbF0sYSx7YmFkZ2U6IiIscmVkRG90OiExfSk7YnJlYWt9fXJldHVybnt9fWZ1bmN0aW9uIHUodCl7cmV0dXJuIGMoInNldFRhYkJhckl0ZW0iLHQpfWZ1bmN0aW9uIGwodCl7cmV0dXJuIGMoInNldFRhYkJhclN0eWxlIix0KX1mdW5jdGlvbiBmKHQpe3JldHVybiBjKCJoaWRlVGFiQmFyIix0KX1mdW5jdGlvbiBkKHQpe3JldHVybiBjKCJzaG93VGFiQmFyIix0KX1mdW5jdGlvbiBoKHQpe3JldHVybiBjKCJoaWRlVGFiQmFyUmVkRG90Iix0KX1mdW5jdGlvbiBwKHQpe3JldHVybiBjKCJzaG93VGFiQmFyUmVkRG90Iix0KX1mdW5jdGlvbiB2KHQpe3JldHVybiBjKCJyZW1vdmVUYWJCYXJCYWRnZSIsdCl9ZnVuY3Rpb24gZyh0KXtyZXR1cm4gYygic2V0VGFiQmFyQmFkZ2UiLHQpfX0sYTk0NDpmdW5jdGlvbih0LGUsbil7dmFyIHIsaSxvOyhmdW5jdGlvbihuLGEpe2k9W10scj1mdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbigpe2lmKGRvY3VtZW50LmN1cnJlbnRTY3JpcHQpcmV0dXJuIGRvY3VtZW50LmN1cnJlbnRTY3JpcHQ7dHJ5e3Rocm93IG5ldyBFcnJvcn1jYXRjaCh1KXt2YXIgdCxlLG4scj0vLiphdCBbXihdKlwoKC4qKTooLispOiguKylcKSQvZ2kuZXhlYyh1LnN0YWNrKXx8L0AoW15AXSopOihcZCspOihcZCspXHMqJC9naS5leGVjKHUuc3RhY2spLGk9ciYmclsxXXx8ITEsbz1yJiZyWzJdfHwhMSxhPWRvY3VtZW50LmxvY2F0aW9uLmhyZWYucmVwbGFjZShkb2N1bWVudC5sb2NhdGlvbi5oYXNoLCIiKSxzPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJzY3JpcHQiKTtpPT09YSYmKHQ9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50Lm91dGVySFRNTCxlPW5ldyBSZWdFeHAoIig/OlteXFxuXSs/XFxuKXswLCIrKG8tMikrIn1bXjxdKjxzY3JpcHQ+KFtcXGRcXERdKj8pPFxcL3NjcmlwdD5bXFxkXFxEXSoiLCJpIiksbj10LnJlcGxhY2UoZSwiJDEiKS50cmltKCkpO2Zvcih2YXIgYz0wO2M8cy5sZW5ndGg7YysrKXtpZigiaW50ZXJhY3RpdmUiPT09c1tjXS5yZWFkeVN0YXRlKXJldHVybiBzW2NdO2lmKHNbY10uc3JjPT09aSlyZXR1cm4gc1tjXTtpZihpPT09YSYmc1tjXS5pbm5lckhUTUwmJnNbY10uaW5uZXJIVE1MLnRyaW0oKT09PW4pcmV0dXJuIHNbY119cmV0dXJuIG51bGx9fX0sbz0iZnVuY3Rpb24iPT09dHlwZW9mIHI/ci5hcHBseShlLGkpOnIsdm9pZCAwPT09b3x8KHQuZXhwb3J0cz1vKX0pKCJ1bmRlZmluZWQiIT09dHlwZW9mIHNlbGYmJnNlbGYpfSxhOThmOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7KGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIG4odCxlLG4pe3ZhciByPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKHQuY2hhbmdlZFRvdWNoZXMpLmZpbHRlcigoZnVuY3Rpb24odCl7cmV0dXJuIHQuaWRlbnRpZmllcj09PWV9KSlbMF07cmV0dXJuISFyJiYodC5kZWx0YVk9ci5wYWdlWS1uLCEwKX12YXIgcj0icHVsbGluZyIsaT0icmVhY2hlZCIsbz0iYWJvcnRpbmciLGE9InJlZnJlc2hpbmciLHM9InJlc3RvcmluZyI7ZVsiYSJdPXttb3VudGVkOmZ1bmN0aW9uKCl7dmFyIGU9dGhpczt0aGlzLmVuYWJsZVB1bGxEb3duUmVmcmVzaCYmKHRoaXMucmVmcmVzaENvbnRhaW5lckVsZW09dGhpcy4kcmVmcy5yZWZyZXNoLiRlbCx0aGlzLnJlZnJlc2hDb250cm9sbGVyRWxlbT10aGlzLnJlZnJlc2hDb250YWluZXJFbGVtLnF1ZXJ5U2VsZWN0b3IoIi51bmktcGFnZS1yZWZyZXNoIiksdGhpcy5yZWZyZXNoSW5uZXJFbGVtU3R5bGU9dGhpcy5yZWZyZXNoQ29udHJvbGxlckVsZW0ucXVlcnlTZWxlY3RvcigiLnVuaS1wYWdlLXJlZnJlc2gtaW5uZXIiKS5zdHlsZSx0Lm9uKHRoaXMuJHJvdXRlLnBhcmFtcy5fX2lkX18rIi5zdGFydFB1bGxEb3duUmVmcmVzaCIsKGZ1bmN0aW9uKCl7ZS5zdGF0ZXx8KGUuc3RhdGU9YSxlLl9hZGRDbGFzcygpLHNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7ZS5fcmVmcmVzaGluZygpfSksNTApKX0pKSx0Lm9uKHRoaXMuJHJvdXRlLnBhcmFtcy5fX2lkX18rIi5zdG9wUHVsbERvd25SZWZyZXNoIiwoZnVuY3Rpb24oKXtlLnN0YXRlPT09YSYmKGUuX3JlbW92ZUNsYXNzKCksZS5zdGF0ZT1zLGUuX2FkZENsYXNzKCksZS5fcmVzdG9yaW5nKChmdW5jdGlvbigpe2UuX3JlbW92ZUNsYXNzKCksZS5zdGF0ZT1lLmRpc3RhbmNlPWUub2Zmc2V0PW51bGx9KSkpfSkpKX0sbWV0aG9kczp7X3RvdWNoc3RhcnQ6ZnVuY3Rpb24odCl7dmFyIGU9dC5jaGFuZ2VkVG91Y2hlc1swXTt0aGlzLnRvdWNoSWQ9ZS5pZGVudGlmaWVyLHRoaXMuc3RhcnRZPWUucGFnZVksW28sYSxzXS5pbmRleE9mKHRoaXMuc3RhdGUpPj0wP3RoaXMuY2FuUmVmcmVzaD0hMTp0aGlzLmNhblJlZnJlc2g9ITB9LF90b3VjaG1vdmU6ZnVuY3Rpb24odCl7aWYodGhpcy5jYW5SZWZyZXNoJiZuKHQsdGhpcy50b3VjaElkLHRoaXMuc3RhcnRZKSl7dmFyIGU9dC5kZWx0YVk7aWYoMD09PShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wfHxkb2N1bWVudC5ib2R5LnNjcm9sbFRvcCkpe2lmKCEoZTwwKXx8dGhpcy5zdGF0ZSl7dC5wcmV2ZW50RGVmYXVsdCgpLG51bGw9PXRoaXMuZGlzdGFuY2UmJih0aGlzLm9mZnNldD1lLHRoaXMuc3RhdGU9cix0aGlzLl9hZGRDbGFzcygpKSxlLT10aGlzLm9mZnNldCxlPDAmJihlPTApLHRoaXMuZGlzdGFuY2U9ZTt2YXIgbz1lPj10aGlzLnJlZnJlc2hPcHRpb25zLnJhbmdlJiZ0aGlzLnN0YXRlIT09aSxhPWU8dGhpcy5yZWZyZXNoT3B0aW9ucy5yYW5nZSYmdGhpcy5zdGF0ZSE9PXI7KG98fGEpJiYodGhpcy5fcmVtb3ZlQ2xhc3MoKSx0aGlzLnN0YXRlPXRoaXMuc3RhdGU9PT1pP3I6aSx0aGlzLl9hZGRDbGFzcygpKSx0aGlzLl9wdWxsaW5nKGUpfX1lbHNlIHRoaXMudG91Y2hJZD1udWxsfX0sX3RvdWNoZW5kOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXM7bih0LHRoaXMudG91Y2hJZCx0aGlzLnN0YXJ0WSkmJm51bGwhPT10aGlzLnN0YXRlJiYodGhpcy5zdGF0ZT09PXI/KHRoaXMuX3JlbW92ZUNsYXNzKCksdGhpcy5zdGF0ZT1vLHRoaXMuX2FkZENsYXNzKCksdGhpcy5fYWJvcnRpbmcoKGZ1bmN0aW9uKCl7ZS5fcmVtb3ZlQ2xhc3MoKSxlLnN0YXRlPWUuZGlzdGFuY2U9ZS5vZmZzZXQ9bnVsbH0pKSk6dGhpcy5zdGF0ZT09PWkmJih0aGlzLl9yZW1vdmVDbGFzcygpLHRoaXMuc3RhdGU9YSx0aGlzLl9hZGRDbGFzcygpLHRoaXMuX3JlZnJlc2hpbmcoKSkpfSxfdG9nZ2xlQ2xhc3M6ZnVuY3Rpb24odCl7aWYodGhpcy5zdGF0ZSl7dmFyIGU9dGhpcy5yZWZyZXNoQ29udGFpbmVyRWxlbTtlJiZlLmNsYXNzTGlzdFt0XSgidW5pLXBhZ2UtcmVmcmVzaC0tIit0aGlzLnN0YXRlKX19LF9hZGRDbGFzczpmdW5jdGlvbigpe3RoaXMuX3RvZ2dsZUNsYXNzKCJhZGQiKX0sX3JlbW92ZUNsYXNzOmZ1bmN0aW9uKCl7dGhpcy5fdG9nZ2xlQ2xhc3MoInJlbW92ZSIpfSxfcHVsbGluZzpmdW5jdGlvbih0KXt2YXIgZT10aGlzLnJlZnJlc2hDb250cm9sbGVyRWxlbTtpZihlKXt2YXIgbj1lLnN0eWxlLHI9dC90aGlzLnJlZnJlc2hPcHRpb25zLnJhbmdlO3I+MT9yPTE6cio9cipyO3ZhciBpPU1hdGgucm91bmQodC8odGhpcy5yZWZyZXNoT3B0aW9ucy5yYW5nZS90aGlzLnJlZnJlc2hPcHRpb25zLmhlaWdodCkpLG89aT8idHJhbnNsYXRlM2QoLTUwJSwgIitpKyJweCwgMCkiOjA7bi53ZWJraXRUcmFuc2Zvcm09byxuLmNsaXA9InJlY3QoIisoNDUtaSkrInB4LDQ1cHgsNDVweCwtNXB4KSIsdGhpcy5yZWZyZXNoSW5uZXJFbGVtU3R5bGUud2Via2l0VHJhbnNmb3JtPSJyb3RhdGUoIiszNjAqcisiZGVnKSJ9fSxfYWJvcnRpbmc6ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5yZWZyZXNoQ29udHJvbGxlckVsZW07aWYoZSl7dmFyIG49ZS5zdHlsZTtpZihuLndlYmtpdFRyYW5zZm9ybSl7bi53ZWJraXRUcmFuc2l0aW9uPSItd2Via2l0LXRyYW5zZm9ybSAwLjNzIixuLndlYmtpdFRyYW5zZm9ybT0idHJhbnNsYXRlM2QoLTUwJSwgMCwgMCkiO3ZhciByPWZ1bmN0aW9uIHIoKXtpJiZjbGVhclRpbWVvdXQoaSksZS5yZW1vdmVFdmVudExpc3RlbmVyKCJ3ZWJraXRUcmFuc2l0aW9uRW5kIixyKSxuLndlYmtpdFRyYW5zaXRpb249IiIsdCgpfTtlLmFkZEV2ZW50TGlzdGVuZXIoIndlYmtpdFRyYW5zaXRpb25FbmQiLHIpO3ZhciBpPXNldFRpbWVvdXQociwzNTApfWVsc2UgdCgpfX0sX3JlZnJlc2hpbmc6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLnJlZnJlc2hDb250cm9sbGVyRWxlbTtpZihlKXt2YXIgbj1lLnN0eWxlO24ud2Via2l0VHJhbnNpdGlvbj0iLXdlYmtpdC10cmFuc2Zvcm0gMC4ycyIsbi53ZWJraXRUcmFuc2Zvcm09InRyYW5zbGF0ZTNkKC01MCUsICIrdGhpcy5yZWZyZXNoT3B0aW9ucy5oZWlnaHQrInB4LCAwKSIsdC5lbWl0KCJvblB1bGxEb3duUmVmcmVzaCIse30sdGhpcy4kcm91dGUucGFyYW1zLl9faWRfXyl9fSxfcmVzdG9yaW5nOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMucmVmcmVzaENvbnRyb2xsZXJFbGVtO2lmKGUpe3ZhciBuPWUuc3R5bGU7bi53ZWJraXRUcmFuc2l0aW9uPSItd2Via2l0LXRyYW5zZm9ybSAwLjNzIixuLndlYmtpdFRyYW5zZm9ybSs9IiBzY2FsZSgwLjAxKSI7dmFyIHI9ZnVuY3Rpb24gcigpe2kmJmNsZWFyVGltZW91dChpKSxlLnJlbW92ZUV2ZW50TGlzdGVuZXIoIndlYmtpdFRyYW5zaXRpb25FbmQiLHIpLG4ud2Via2l0VHJhbnNpdGlvbj0iIixuLndlYmtpdFRyYW5zZm9ybT0idHJhbnNsYXRlM2QoLTUwJSwgMCwgMCkiLHQoKX07ZS5hZGRFdmVudExpc3RlbmVyKCJ3ZWJraXRUcmFuc2l0aW9uRW5kIixyKTt2YXIgaT1zZXRUaW1lb3V0KHIsMzUwKX19fX19KS5jYWxsKHRoaXMsbigiMmM5ZiIpKX0sYWY5NTpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO24ucihlKSxmdW5jdGlvbih0KXtuLmQoZSwiZ2V0TG9jYXRpb24iLChmdW5jdGlvbigpe3JldHVybiBhfSkpO3ZhciByPW4oIjFkYWEiKSxpPW4oImI0MzUiKSxvPW4oIjZkNGIiKTtmdW5jdGlvbiBhKGUsbil7dmFyIGE9ZS50eXBlLHM9ZS5hbHRpdHVkZSxjPWUuaXNIaWdoQWNjdXJhY3ksdT1lLmhpZ2hBY2N1cmFjeUV4cGlyZVRpbWUsbD10LGY9bC5pbnZva2VDYWxsYmFja0hhbmRsZXIsZD1PYmplY3QoaVsiZSJdKSgpO25ldyBQcm9taXNlKChmdW5jdGlvbih0LGUpe25hdmlnYXRvci5nZW9sb2NhdGlvbj9uYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9uKChmdW5jdGlvbihlKXtyZXR1cm4gdCh7Y29vcmRzOmUuY29vcmRzfSl9KSxlLHtlbmFibGVIaWdoQWNjdXJhY3k6Y3x8cyx0aW1lb3V0OnV8fDFlNX0pOmUobmV3IEVycm9yKCJkZXZpY2Ugbm9uc3VwcG9ydCBnZW9sb2NhdGlvbiIpKX0pKS5jYXRjaCgoZnVuY3Rpb24oKXtyZXR1cm4gbmV3IFByb21pc2UoKGZ1bmN0aW9uKHQsZSl7ZC50eXBlPT09aVsiZCJdLlFRP09iamVjdChyWyJhIl0pKCJodHRwczovL2FwaXMubWFwLnFxLmNvbS93cy9sb2NhdGlvbi92MS9pcD9vdXRwdXQ9anNvbnAma2V5PSIuY29uY2F0KGQua2V5KSx7Y2FsbGJhY2s6ImNhbGxiYWNrIn0sKGZ1bmN0aW9uKG4pe2lmKCJyZXN1bHQiaW4gbiYmbi5yZXN1bHQubG9jYXRpb24pe3ZhciByPW4ucmVzdWx0LmxvY2F0aW9uO3Qoe2Nvb3Jkczp7bGF0aXR1ZGU6ci5sYXQsbG9uZ2l0dWRlOnIubG5nfSxza2lwOiEwfSl9ZWxzZSBlKG5ldyBFcnJvcihuLm1lc3NhZ2V8fEpTT04uc3RyaW5naWZ5KG4pKSl9KSwoZnVuY3Rpb24oKXtyZXR1cm4gZShuZXcgRXJyb3IoIm5ldHdvcmsgZXJyb3IiKSl9KSk6ZC50eXBlPT09aVsiZCJdLkdPT0dMRT91bmkucmVxdWVzdCh7bWV0aG9kOiJQT1NUIix1cmw6Imh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL2dlb2xvY2F0aW9uL3YxL2dlb2xvY2F0ZT9rZXk9Ii5jb25jYXQoZC5rZXkpLHN1Y2Nlc3M6ZnVuY3Rpb24obil7dmFyIHI9bi5kYXRhOyJsb2NhdGlvbiJpbiByP3Qoe2Nvb3Jkczp7bGF0aXR1ZGU6ci5sb2NhdGlvbi5sYXQsbG9uZ2l0dWRlOnIubG9jYXRpb24ubG5nLGFjY3VyYWN5OnIuYWNjdXJhY3l9LHNraXA6ITB9KTplKG5ldyBFcnJvcihyLmVycm9yJiZyLmVycm9yLm1lc3NhZ2V8fEpTT04uc3RyaW5naWZ5KG4pKSl9LGZhaWw6ZnVuY3Rpb24oKXtlKG5ldyBFcnJvcigibmV0d29yayBlcnJvciIpKX19KTpkLnR5cGU9PT1pWyJkIl0uQU1BUD9PYmplY3Qob1siYSJdKShbXSwoZnVuY3Rpb24oKXt3aW5kb3cuQU1hcC5wbHVnaW4oIkFNYXAuR2VvbG9jYXRpb24iLChmdW5jdGlvbigpe3ZhciBuPW5ldyB3aW5kb3cuQU1hcC5HZW9sb2NhdGlvbih7ZW5hYmxlSGlnaEFjY3VyYWN5OiEwLHRpbWVvdXQ6MWU0fSk7bi5nZXRDdXJyZW50UG9zaXRpb24oKGZ1bmN0aW9uKG4scil7ImNvbXBsZXRlIj09PW4/dCh7Y29vcmRzOntsYXRpdHVkZTpyLnBvc2l0aW9uLmxhdCxsb25naXR1ZGU6ci5wb3NpdGlvbi5sbmcsYWNjdXJhY3k6ci5hY2N1cmFjeX0sc2tpcDohMH0pOmUobmV3IEVycm9yKHIubWVzc2FnZSkpfSkpfSkpfSkpOmUobmV3IEVycm9yKCJuZXR3b3JrIGVycm9yIikpfSkpfSkpLnRoZW4oKGZ1bmN0aW9uKHQpe3ZhciBlPXQuY29vcmRzLHI9dC5za2lwO09iamVjdChpWyJmIl0pKGEsZSxyKS50aGVuKChmdW5jdGlvbih0KXtmKG4sT2JqZWN0LmFzc2lnbih0LHtlcnJNc2c6ImdldExvY2F0aW9uOm9rIix2ZXJ0aWNhbEFjY3VyYWN5OnQuYWx0aXR1ZGVBY2N1cmFjeXx8MCxob3Jpem9udGFsQWNjdXJhY3k6dC5hY2N1cmFjeX0pKX0pKS5jYXRjaCgoZnVuY3Rpb24odCl7ZihuLHtlcnJNc2c6ImdldExvY2F0aW9uOmZhaWwgIit0Lm1lc3NhZ2V9KX0pKX0pKS5jYXRjaCgoZnVuY3Rpb24odCl7ZihuLHtlcnJNc2c6ImdldExvY2F0aW9uOmZhaWwgIit0Lm1lc3NhZ2V8fCExfSl9KSl9fS5jYWxsKHRoaXMsbigiMmM5ZiIpKX0sYjE1ZTpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPU9iamVjdC5jcmVhdGUobnVsbCksaT1uKCI5ODhlIik7aS5rZXlzKCkuZm9yRWFjaCgoZnVuY3Rpb24odCl7T2JqZWN0LmFzc2lnbihyLGkodCkpfSkpLGVbImEiXT1yfSxiMTZiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiNmRkZCIpLGk9bi5uKHIpO2kuYX0sYjFkMjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO24ucihlKTt2YXIgcj1uKCJmZTZhIiksaT1yWyJhIl0sbz0obigiYzJlZiIpLG4oIjg4NDQiKSksYT1PYmplY3Qob1siYSJdKShpLChmdW5jdGlvbigpe3ZhciB0PXRoaXMsZT10LiRjcmVhdGVFbGVtZW50LG49dC5fc2VsZi5fY3x8ZTtyZXR1cm4gbigidW5pLWVkaXRvciIsdC5fZyh7c3RhdGljQ2xhc3M6InFsLWNvbnRhaW5lciIsYXR0cnM6e2lkOnQuaWR9fSx0LiRsaXN0ZW5lcnMpKX0pLFtdLCExLG51bGwsbnVsbCxudWxsKTtlWyJkZWZhdWx0Il09YS5leHBvcnRzfSxiMzJmOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5yKGUpLG4uZChlLCJyZXF1ZXN0IiwoZnVuY3Rpb24oKXtyZXR1cm4gY30pKSxuLmQoZSwiY29uZmlnTVRMUyIsKGZ1bmN0aW9uKCl7cmV0dXJuIHV9KSk7dmFyIHI9bigiMzQwZCIpLGk9e09QVElPTlM6Ik9QVElPTlMiLEdFVDoiR0VUIixIRUFEOiJIRUFEIixQT1NUOiJQT1NUIixQVVQ6IlBVVCIsREVMRVRFOiJERUxFVEUiLFRSQUNFOiJUUkFDRSIsQ09OTkVDVDoiQ09OTkVDVCIsUEFUQ0g6IlBBVENIIn0sbz17SlNPTjoianNvbiJ9LGE9e1RFWFQ6InRleHQiLEFSUkFZQlVGRkVSOiJhcnJheWJ1ZmZlciJ9LHM9ZW5jb2RlVVJJQ29tcG9uZW50O3ZhciBjPXttZXRob2Q6e3R5cGU6U3RyaW5nLHZhbGlkYXRvcjpmdW5jdGlvbih0LGUpe3Q9KHR8fCIiKS50b1VwcGVyQ2FzZSgpLGUubWV0aG9kPU9iamVjdC52YWx1ZXMoaSkuaW5kZXhPZih0KTwwP2kuR0VUOnR9fSxkYXRhOnt0eXBlOltPYmplY3QsU3RyaW5nLEFycmF5LEFycmF5QnVmZmVyXSx2YWxpZGF0b3I6ZnVuY3Rpb24odCxlKXtlLmRhdGE9dHx8IiJ9fSx1cmw6e3R5cGU6U3RyaW5nLHJlcXVpcmVkOiEwLHZhbGlkYXRvcjpmdW5jdGlvbih0LGUpe2UubWV0aG9kPT09aS5HRVQmJk9iamVjdChyWyJsIl0pKGUuZGF0YSkmJk9iamVjdC5rZXlzKGUuZGF0YSkubGVuZ3RoJiYoZS51cmw9ZnVuY3Rpb24odCxlKXt2YXIgbj10LnNwbGl0KCIjIiksaT1uWzFdfHwiIjtuPW5bMF0uc3BsaXQoIj8iKTt2YXIgbz1uWzFdfHwiIjt0PW5bMF07dmFyIGE9by5zcGxpdCgiJiIpLmZpbHRlcigoZnVuY3Rpb24odCl7cmV0dXJuIHR9KSk7Zm9yKHZhciBjIGluIG89e30sYS5mb3JFYWNoKChmdW5jdGlvbih0KXt0PXQuc3BsaXQoIj0iKSxvW3RbMF1dPXRbMV19KSksZSlpZihPYmplY3QoclsiaSJdKShlLGMpKXt2YXIgdT1lW2NdOyJ1bmRlZmluZWQiPT09dHlwZW9mIHV8fG51bGw9PT11P3U9IiI6T2JqZWN0KHJbImwiXSkodSkmJih1PUpTT04uc3RyaW5naWZ5KHUpKSxvW3MoYyldPXModSl9cmV0dXJuIG89T2JqZWN0LmtleXMobykubWFwKChmdW5jdGlvbih0KXtyZXR1cm4iIi5jb25jYXQodCwiPSIpLmNvbmNhdChvW3RdKX0pKS5qb2luKCImIiksdCsobz8iPyIrbzoiIikrKGk/IiMiK2k6IiIpfSh0LGUuZGF0YSkpfX0saGVhZGVyOnt0eXBlOk9iamVjdCx2YWxpZGF0b3I6ZnVuY3Rpb24odCxlKXt2YXIgbj1lLmhlYWRlcj10fHx7fTtlLm1ldGhvZCE9PWkuR0VUJiYoT2JqZWN0LmtleXMobikuZmluZCgoZnVuY3Rpb24odCl7cmV0dXJuImNvbnRlbnQtdHlwZSI9PT10LnRvTG93ZXJDYXNlKCl9KSl8fChuWyJDb250ZW50LVR5cGUiXT0iYXBwbGljYXRpb24vanNvbiIpKX19LGRhdGFUeXBlOnt0eXBlOlN0cmluZyx2YWxpZGF0b3I6ZnVuY3Rpb24odCxlKXtlLmRhdGFUeXBlPSh0fHxvLkpTT04pLnRvTG93ZXJDYXNlKCl9fSxyZXNwb25zZVR5cGU6e3R5cGU6U3RyaW5nLHZhbGlkYXRvcjpmdW5jdGlvbih0LGUpe3Q9KHR8fCIiKS50b0xvd2VyQ2FzZSgpLGUucmVzcG9uc2VUeXBlPU9iamVjdC52YWx1ZXMoYSkuaW5kZXhPZih0KTwwP2EuVEVYVDp0fX0sd2l0aENyZWRlbnRpYWxzOnt0eXBlOkJvb2xlYW59LHRpbWVvdXQ6e3R5cGU6TnVtYmVyfX0sdT17Y2VydGlmaWNhdGVzOnt0eXBlOkFycmF5LHJlcXVpcmVkOiEwLHZhbGlkYXRvcjpmdW5jdGlvbih0KXtpZih0LnNvbWUoKGZ1bmN0aW9uKHQpe3JldHVybiJTdHJpbmciIT09T2JqZWN0KHJbInYiXSkodC5ob3N0KX0pKSlyZXR1cm4i5Y+C5pWw6YWN572u6ZSZ6K+v77yM6K+356Gu6K6k5ZCO6YeN6K+VIn19fX0sYjQwNTpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiOyhmdW5jdGlvbih0KXtuLmQoZSwiYyIsKGZ1bmN0aW9uKCl7cmV0dXJuIGF9KSksbi5kKGUsImIiLChmdW5jdGlvbigpe3JldHVybiBzfSkpLG4uZChlLCJkIiwoZnVuY3Rpb24oKXtyZXR1cm4gY30pKTt2YXIgcj1uKCIzNDBkIiksaT1uKCIwMWZkIik7bi5kKGUsImEiLChmdW5jdGlvbigpe3JldHVybiBpWyJnZXRUaGVtZSJdfSkpO3ZhciBvPW4oImM4MGMiKTtmdW5jdGlvbiBhKCl7dmFyIGU9YXJndW1lbnRzLmxlbmd0aD4wJiZ2b2lkIDAhPT1hcmd1bWVudHNbMF0/YXJndW1lbnRzWzBdOmZ1bmN0aW9uKCl7fTtfX3VuaUNvbmZpZy5kYXJrbW9kZSYmdC5vbigiYXBpLiIrb1siYiJdLGUpfWZ1bmN0aW9uIHMoKXt2YXIgZT1hcmd1bWVudHMubGVuZ3RoPjAmJnZvaWQgMCE9PWFyZ3VtZW50c1swXT9hcmd1bWVudHNbMF06ZnVuY3Rpb24oKXt9O3Qub2ZmKCJhcGkuIitvWyJiIl0sZSl9ZnVuY3Rpb24gYyh0KXt2YXIgZT17fTtpZihfX3VuaUNvbmZpZy5kYXJrbW9kZSl7dmFyIG49T2JqZWN0KGlbImdldFRoZW1lIl0pKCk7ZT1PYmplY3QoclsibyJdKSh0LF9fdW5pQ29uZmlnLnRoZW1lQ29uZmlnLG4pfXJldHVybiBfX3VuaUNvbmZpZy5kYXJrbW9kZT9lOnR9fSkuY2FsbCh0aGlzLG4oIjJjOWYiKSl9LGI0MzU6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtuLmQoZSwiYSIsKGZ1bmN0aW9uKCl7cmV0dXJuIG99KSksbi5kKGUsImIiLChmdW5jdGlvbigpe3JldHVybiBhfSkpLG4uZChlLCJkIiwoZnVuY3Rpb24oKXtyZXR1cm4gc30pKSxuLmQoZSwiZSIsKGZ1bmN0aW9uKCl7cmV0dXJuIGN9KSksbi5kKGUsImMiLChmdW5jdGlvbigpe3JldHVybiB1fSkpLG4uZChlLCJmIiwoZnVuY3Rpb24oKXtyZXR1cm4gbH0pKTt2YXIgcj1uKCIxZGFhIiksaT1uKCI2ZDRiIiksbz0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFJUUFBQUNFQ0FNQUFBQm1tbk9WQUFBQzAxQk1WRVVBQUFBQWVmOEFlZjhBZWY4QWVmOEFlZjhBZWY4QWVmOEFlZjhBZWY4QWVmOEFlZjhBZWY4QWVmOEFlZjhBZWY4QWVmOEFlZjhBZWY4QWVmOEFlZjhBZWY4QWVmOEFlZjhBZWY4QWVmOEFlZjhBZWY4QWVmOEFlZjhBZWY4QWVmOEFlZjhBZWY4QWVmOEFlZjhBZWY4QWVmOEFlZjhBZWY4QWVmOEFlZjhBZWY4QWVmOEFlZjhBZWY4QWVmOEFlZjhBZWY4QWVmOTZxdUdTdGRxU3RkcGJudWpNek16Q3lNN0d5YzdLeTgzTXpNek16TXpNek16TXpNek16TXpNek16TXpNek16TXpNek16TXpNek16TXpNek16TXpNek16TXpNek16TXpNek16TXpNek16TXpNek16TXpNek16TXpNek16TXpNek16TXpNek16TXpNek16TXpNek16TXpNek16TXpNek16TXpNek16TXpNek16TXpNek16TXpNek16TXpNek16TXpNek16TXpNek16TXpNek16TXpNek16TXpNek16TXpNek16TXpNek16TXpNek16TXpNek16TXpNek16TXpNek16TXpNek16TXpNek16TXpNek16TXpNek16TXpNek16TXpNek16TXpNek16TXpNek16TXpNek16TXpNek16TXpNek16TXpNek16TXpNek16TXpNek16TXpNek16TXpNek16TXpNek16TXpNek16TXpNek16TXpNek16TXpNek16TXpNd0FlZjhHZlAweWpmTlduT3AwcU9LS3NkeVl0OW1qdTlhWnQ5bU1zdHgxcWVKWW5la3lqdklJZlAwcWl2Vm1vdWFXdHRuTXpNeWF0OWxwcE9VdWpQUUtmZnhob09mTnpjM1kyTmpoNGVIcDZlbnU3dTd5OHZMMTlmWHY3Ky9pNHVMWjJkbk96czZhdU5nT2Yvc0tmZjE1cXVIUjBkSHg4Zkg5L2YzLy8vL2o0K042cXVGZG4raXl3ZFBiMjl2dzhQRCsvdjdjM055eXd0TGEydHIyOXZiUzB0TGQzZDM4L1B6ZjM5L282T2pjN2YrcTB2K0h3UDlyc2Y5ZHF2OUhudjlWcHYvcTZ1cmo4UCtWeC85QW0vOFBnZjhJZmYvejgvT0F2UDk1dWYvbjUrYzVsLy9WNmYrNTJ2K3kxLy83Ky92dDdlMHJrUC8wOVBUUTBORHE5UDhXaGYrY3kvL1cxdGJlM3Q3QTN2L201dWJzN094T292L3I2K3ZrNU9RaWFQaktBQUFBa25SU1RsTUFDQlo5b0I3MS9qaXF5d0pCWkFUVDZoQnVrUlh2K3pEQ0FWcmtESWY0SmJRc1RiN2VWZUpMYndmYThSaDRHL09sUFMvNi9reFE5L3hkbVp1ZG9KeE5WaG5nN0I2d3RXZHpBdFFPaXBjRjEzMjl3UzQ0ZG9LL0JBa3lQMXB2Z1pPc3JibkdYQXJBZzM0RzJJc0QxZU1SZTdiaTdrNVlucUZUOVYwY3N5UGVkUXlZRDNwL0ZqZStoRHBza3EvTXdwUkJDNnlLcDJNQUFBUWRTVVJCVkhqYTdabjFleE14R0lBUEhicmhEc1BkbmVIdU50emQzZDNkSWJqTGg5M28ybzRpN1RwZ0cxSmswZzBtTU53ZC9nVGE1cnExMjlyZUhuSzVlL2JrL1RGTmsvZEo3cjU4OTRYakdBd0dnOEdnVFphc0NwRElsbDEraHh3NXZYTEpMcEVib1R4NVpYYkloeXprbDlmQjI4Y3FVYUNnckJLRmtJM0Njam9VS1lvbGloV1hVU0k3RWloUlVqYUhYRjUyQ1ZSS0xvZThlWklkVU9reU1rbmtSdzZVbGNlaFlBRkhpWEsrc2tnVVJrNlVsOE9oUWpGbkNWUlJCb2xLcVJ4UTVTelVIYXFnTkdTajdWQ21hbHFKbkRrb1M1UkY2WkNicm9OdnVmUWtVRDZxRXVYVGRVQSszaFFkcWlFWFZLZm5VS09tSzRsYXRhbEoxRUV1b1paNjE2MkhKOXgvNE9DaHcwZU9IajEyL01USlU2ZHhHN1hVdTc1MXRqTm56NEVUNXk5Y3RMWlRTcjBiZUtGTGw4OWJwdVVEcnFnQzFScU5XcXNLdXFxek5GdzdlNTFTNnUzdGMrT21aVUo5a0NIWTZFQ3dPa1J2YWI1MWlVcnFYZWoySFlEUXNIQmpXZ3gzQWU3ZHBwQjZOMndFY0Y5amRNR0RVSURHVGFSMmFOb005RnFqRzdRbWFONUNXZ2MvZ0llUGpHNTU5QmlncFpRT3JZQi80akJmUkdSVXREa21Kalk2S2pMQ29ma3BENjJsYzJnRGZNcFdQSXVMZHd5VjhYRXBIZ2FkZEJaK3dCdVNGY3dKcVNOMm92bVovZGZuT3ZDVHhxR3R3enE4U0VqdjRFaElTbjQ4ZVdnbmhVUDdEdkRTdmd6eHJzNnZWNitGTGlybzJFa0NpYzRRS2t6d0pzSDFLWXJlQ3AwZVFoZnlEbDFCL3c0UC94YTVKVko0VTAzUWpiUkQ5eDd3WGxnSDVJRTN3bU1CSFhvU2x1Z0ZBY0k2Zi9Ba2tTaThxNkhRbTZ4RG43N3dFUThkalR3U2ozdHFBTWd1UlRlNGlrZU9ReUo0WVYrS2ZrUWwrb05XNUdiWTRnV09XZ2J3Sitrd0FENkZpOTBNSzJac3JJZUJCQ1VHd1JYYnFKKy9pSk1RbGlJRUJoT1U2QUpodGxHL0lwSEUyYnFyWVFnNWg2SEE0eVFpUnF3RWZrR0NkVENNbU1SdytJYlBEQ1FhSENzQ1lBUXhpWkh3M1RibUQvRVNPSGdId1NoaUVxUGhwL2dnZ1lrU3p0SXh4Q1Jhd3kvYm1FbmlKYUp0ZndpRXNjUWt4a0ZnUnFKRVNxUXd3SGhpRXVNQnAzVm04UksvY1pvSEV6S1hoQ0syUXhFUHBpSmUwWWxLQ0ZhS0NOdi9jWUJOVXNCUlBsa0pTYzBVK2RNN0U5SDBUaEdKYmdaVC9pUjd5aitWcU1TMDZRcjQrT0ZtMkpkQ3hJYThsdWd6a0pzNUs2TWZ4QWFZUFVjQnBZRzVraFpKRWtVVVNiN0RQQ25LUmZQQlhqNk04Rnd1ZWdvTHBDZ1hjUXN6VmpoYkpGVUpVZWUyaEJoTG9ZVEljWXRCNTdLWStvcFNNZFZxd2F0U2xaVmowNWFWLy9Dd0pMTVgyRGx1YVVjd2hYbTRhbGkyWE9vTGp4VXJQVjI2ekZ0RjRmNXAwR3AzMTArejEzQlVXTnZiZWhFWG9uYTZpQXRYL3pWWm10Zk40V2l4ZnNOa3k0UzZnQ0NWVnEzUlBMZGZTZnB2M01SUlpmUG9MYzZYcy81YnQzRXlNR3pFOWgwNy9YZnQydDE1ejZpOSt6Z0dnOEZnTUJnTUJvUEJZREFZREFZajgvQVBHNjdSaWU4cFVEc0FBQUFBU1VWT1JLNUNZSUk9IixhPSJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUdBQUFBQ2NDQU1BQUFDM0ZsNW9BQUFCM1ZCTVZFVk1hWEgvQUFEL0FBRC9BQUQvQUFEL0FBRC9BQUQvQUFEL0FBRC9BQUQvQUFEL0FBRC9BQUQvQUFEL0FBRC9BQUQvQUFEL0FBRC9BQUQvQUFEL0FBRC9BQUQvQUFEL0FBRC9BQUQvQUFEL0FBRC9BQUQvQUFEL0FBRC9BQUQvQUFEL0FBRC9BQUQvQUFEL0FBRC9BQUQvQUFEL0FBRC9BQUQvQUFEL0FBRC9BQUQvQUFEL0FBRC9BQUQvQUFEL0FBRC9BQUQvQUFEL0FBRC9BQUQvQUFEL0FBRC9BQUQvQUFEL0FBRC9BQUQvQUFEL0FBRC9BQUQvQUFEL0FBRC9BQUQvRWhML0FBRC9BQUQvQUFEL0FBRC9BQUQvQUFEL0FBRC9BQUQvQUFEL0FBRC9BQUQvQUFEL0FBRC9BQUQvRHcvL0FBRC9BQUQvQUFEL0FBRC9BQUQvQUFEL0FBRC9BQUQvQUFEL0dSbi9OVFgvRHcvL0ZoYi9BQUQvQUFEL0FBRC9HUm4vR1JuL1kyUC9BQUQvQUFEL0V4UC9HaHIvQUFEL0FBRC9NelAvR1JuL0FBRC9IaDcvQUFEL1JVWC9BQUQvQUFEL0FBRC9BQUQvQUFEL0FBRC9EZzcvQUFEL0hSMy9Edy8vRlJYL1NVbi9BQUQvLy8vL2tKRC9EUTMvWm1iLysvdi93TUQvbUpqLzZlbi92YjMvMU5ULy9Qei9PRGovK2ZuLzNOei9uSnovajQvLzkvZi83ZTMvOXZiLzdPei8yTmoveDhmL096di8rUGovM2QzL25aMy8yZG4vL2YzLzZPai8ydHIvdjcvLzA5UC92cjcvbVpuL2w1Y2RTdlAzQUFBQWUzUlNUbE1BQWhMaVpnVGIvdnp0Qi9KTVJobHA2bFFXODZnOG1RNEtGUHMzVUNINVU4aHV3bGVzV3RUWUdJN1JzZFZlSkdmVFc1cnhudXRMc3ZYV0Y4dlFOZG82cVFidXo3RDRoZ1ZJeDJ4dHc4R0MxVHRaYUl3MGk4NFA5OHRVMC9mc2o3UEthQWdpWlp4ZVZmbzhaNTJlZzFQMG5FU3JFTm5qWFZQVWd3L3V1U21EQUFBRHNVbEVRVlI0MnUzYVozY1RSeGdGNEd0YllsZVNMZG5HY3NFTkcyT0RqYkV4RUhydmhBUUNJYjFCZW0rUWRrZXV1Rk1OQkJKSWZtdU9ja3paSTgvc3JIWW1IM0xtK1FOWEs2MzJMVHZRMDNUdS9JV2VVL3RUR1RLVDJuK3E1OEw1YzAwd3BYSmQ0N0RIRXQ1dzQ3cEt4TGJoZExkUEtiLzdkQll4Vkx4dzFHY0kvMmgxQmNwektORkhMWDJKUTRndW1haWl0cXBFRWhFZE9NSkk5aDVBRkMzZmVZekkrN0lGMnRwU0xFT3FEWHBPYlBSWUZtL2pDV2hvLzRCbGU3TWRvVDdmemhocTl5SEV6Mjh3bHRVMVVQckpaMHdkNjZId2ljZll2RUZJZmVQVEFQOHRTTFR1cEJIdnRHSkZIOWJTa05yTldFSHpFUnJUMzR4U0g5T2dyMUNpamtiVkFVSDFLUnFWcWtkUUF3MDdpSUFhR2xjVHFJKy8wTGplSko1SjBJSUVua3BYTWR6czRzVHRXOWRuWnE3ZnVqMnhPTXR3VldrODhSSERqQlllall2bmpEOHFqT3BmUXNVcWh2ajdvU2p4Y0pJaFZqM3B5S3FwTmpZdlZqUS9SclhxNVlBQktpM01DWW01QlNydFdPNXYxMURsbWxDNFJwVTFXUlM5U0pVN1F1a09WYnBROUpMdTU0OStEZDBBVU9sVGJrR0V1azg1dnhMQUs1UWJ1eXRDM1IyajNIb0FqWlNiRnhybUtUY0NvSmRTazBMTEpLVjZnU2FQTXFOVFFzdlVLR1c4SnJ4S3FVV2hhWkZTZVd5aDFMVFFORTJwSEY2bXpPeTQwRFErUzVtTGltSmNFTm9LbE9uQldzcjhLYlJOVUdZdDVMWGdkNkh0RDNsTlFJb3lONFMyRzVSSklVT1ptMExiVGNxc0JxVm1oTFlaU2xrUHNQNFZXZitScmQrbTF2OW85aDhWdjVwNDJDMVI1cUwxeDdXUmdsT2dWTjUyeWZ3Tk9CdTc2UCtsTFBvWWlkdTIzS1BjaUlIR2EwN1plSVcxanZjTnRJN3E1dmV4Q1BHWUNtZittL1k5YTNzQXdRNWJJOVQ3dWtQZ1BjbjlHVG9FYW8reGsxT2l4SlQrR0lzdk5BYng2ZUFnUHEweGlGK0t0a3BZS2hSWENROGVGRmNKaFNXR3Uzclo4akprQ004a3o5SzRUVW5yQzZtQWd6VHNCOXRMd1EyVzE1cWZvc1EyR3JRTnBacjdhY3pielZqQlpzdkxjYUMxZzBic2JJVkVuVThET3I2SDFLREgyTHd0VUJpMC9KSUk2RHhtOXpVWGtIK1hNV3pmaDFEdGUxaTJQZTNRa0M3N1plbDdhZWhwTzh3eUhHNkR0dDBOakt4aE42STR1U2xpL1RxSmlKSkRVUTRORENVUlhUclhSeTFYY3VteUQyNE0rQXpoRDFSWElJWnNsL0xveVptdXJKSERNN3M4bHZCMkZRL1BtUEo2UHNlQVhQNUhHTVlBQUM3QUJiZ0FGK0FDWElBTGNBRXV3QVc0QUJmZ0FseUFDM0FCTHNBRnVJRC9kOEN4NE5FdDgvYnlPZjB3TG5pczh6ak1xOS9LcDdiV3c0Sk9qOHU4VGxoUmwrRy9NcDJ3cE9YNDhHZmZ2dloxQ3lMNEI1M0xBUzZ6YjA4RUFBQUFBRWxGVGtTdVFtQ0MiLHM9e1FROiJxcSIsR09PR0xFOiJnb29nbGUiLEFNQVA6IkFNYXAiLFVOS05PV046IiJ9O2Z1bmN0aW9uIGMoKXtyZXR1cm4gX191bmlDb25maWcucXFNYXBLZXk/e3R5cGU6cy5RUSxrZXk6X191bmlDb25maWcucXFNYXBLZXl9Ol9fdW5pQ29uZmlnLmdvb2dsZU1hcEtleT97dHlwZTpzLkdPT0dMRSxrZXk6X191bmlDb25maWcuZ29vZ2xlTWFwS2V5fTpfX3VuaUNvbmZpZy5hTWFwS2V5P3t0eXBlOnMuQU1BUCxrZXk6X191bmlDb25maWcuYU1hcEtleSxzZWN1cml0eUpzQ29kZTpfX3VuaUNvbmZpZy5hTWFwU2VjdXJpdHlKc0NvZGUsc2VydmljZUhvc3Q6X191bmlDb25maWcuYU1hcFNlcnZpY2VIb3N0fTp7dHlwZTpzLlVOS05PV04sa2V5OiIifX12YXIgdT1jKCkudHlwZT09PXMuQU1BUDtmdW5jdGlvbiBsKHQsZSxuKXt2YXIgbz1jKCksYT1bcy5HT09HTEVdO3JldHVybiJXR1M4NCI9PT10LnRvVXBwZXJDYXNlKCl8fGEuaW5jbHVkZXMoby50eXBlKXx8bj9Qcm9taXNlLnJlc29sdmUoZSk6by50eXBlPT09cy5RUT9uZXcgUHJvbWlzZSgoZnVuY3Rpb24odCxuKXtPYmplY3QoclsiYSJdKSgiaHR0cHM6Ly9hcGlzLm1hcC5xcS5jb20vd3MvY29vcmQvdjEvdHJhbnNsYXRlP3R5cGU9MSZsb2NhdGlvbnM9Ii5jb25jYXQoZS5sYXRpdHVkZSwiLCIpLmNvbmNhdChlLmxvbmdpdHVkZSwiJmtleT0iKS5jb25jYXQoby5rZXksIiZvdXRwdXQ9anNvbnAiKSx7Y2FsbGJhY2s6ImNhbGxiYWNrIn0sKGZ1bmN0aW9uKHIpe2lmKCJsb2NhdGlvbnMiaW4gciYmci5sb2NhdGlvbnMubGVuZ3RoKXt2YXIgaT1yLmxvY2F0aW9uc1swXTt0KHtsb25naXR1ZGU6aS5sbmcsbGF0aXR1ZGU6aS5sYXQsYWx0aXR1ZGU6ZS5hbHRpdHVkZSxhY2N1cmFjeTplLmFjY3VyYWN5LGFsdGl0dWRlQWNjdXJhY3k6ZS5hbHRpdHVkZUFjY3VyYWN5LGhlYWRpbmc6ZS5oZWFkaW5nLHNwZWVkOmUuc3BlZWR9KX1lbHNlIG4obmV3IEVycm9yKCJ0cmFuc2xhdGUgY29vcmRpbmF0ZSBzeXN0ZW0gZmFpbCIpKX0pLChmdW5jdGlvbigpe3JldHVybiBuKG5ldyBFcnJvcigidHJhbnNsYXRlIGNvb3JkaW5hdGUgc3lzdGVtIGZhaWwiKSl9KSl9KSk6by50eXBlPT09cy5BTUFQP25ldyBQcm9taXNlKChmdW5jdGlvbih0LG4pe09iamVjdChpWyJhIl0pKFtdLChmdW5jdGlvbigpe3dpbmRvdy5BTWFwLmNvbnZlcnRGcm9tKFtlLmxvbmdpdHVkZSxlLmxhdGl0dWRlXSwiZ3BzIiwoZnVuY3Rpb24ocixpKXtpZigib2siPT09aS5pbmZvJiZpLmxvY2F0aW9ucy5sZW5ndGgpe3ZhciBvPWkubG9jYXRpb25zWzBdLGE9by5sYXQscz1vLmxuZzt0KHtsb25naXR1ZGU6cyxsYXRpdHVkZTphLGFsdGl0dWRlOmUuYWx0aXR1ZGUsYWNjdXJhY3k6ZS5hY2N1cmFjeSxhbHRpdHVkZUFjY3VyYWN5OmUuYWx0aXR1ZGVBY2N1cmFjeSxoZWFkaW5nOmUuaGVhZGluZyxzcGVlZDplLnNwZWVkfSl9ZWxzZSBuKG5ldyBFcnJvcigidHJhbnNsYXRlIGNvb3JkaW5hdGUgc3lzdGVtIGZhaWwiKSl9KSl9KSl9KSk6dm9pZCAwfX0sYjYyYTpmdW5jdGlvbih0LGUsbil7fSxiNzVhOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5yKGUpLG4uZChlLCJ1cGxvYWRGaWxlIiwoZnVuY3Rpb24oKXtyZXR1cm4gaX0pKTt2YXIgcj1uKCI0NzM4IiksaT17dXJsOnt0eXBlOlN0cmluZyxyZXF1aXJlZDohMH0sZmlsZXM6e3R5cGU6QXJyYXl9LGZpbGVQYXRoOnt0eXBlOlN0cmluZyx2YWxpZGF0b3I6ZnVuY3Rpb24odCxlKXt0JiYoZS5maWxlUGF0aD1PYmplY3QoclsiYSJdKSh0KSl9fSxuYW1lOnt0eXBlOlN0cmluZ30saGVhZGVyOnt0eXBlOk9iamVjdCx2YWxpZGF0b3I6ZnVuY3Rpb24odCxlKXtlLmhlYWRlcj10fHx7fX19LGZvcm1EYXRhOnt0eXBlOk9iamVjdCx2YWxpZGF0b3I6ZnVuY3Rpb24odCxlKXtlLmZvcm1EYXRhPXR8fHt9fX19fSxiN2M5OmZ1bmN0aW9uKHQsZSxuKXt9LGI3ZGU6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtuLnIoZSksZnVuY3Rpb24odCl7dmFyIHI9bigiNTA4ZSIpLGk9bigiOGZjNiIpLG89bigiNThlMyIpLGE9bigiM2QxZSIpO24uZChlLCJnZXRBcHAiLChmdW5jdGlvbigpe3JldHVybiBhWyJiIl19KSksbi5kKGUsImdldEN1cnJlbnRQYWdlcyIsKGZ1bmN0aW9uKCl7cmV0dXJuIGFbImMiXX0pKSxPYmplY3QoclsiYSJdKSh0Lm9uLHtnZXRBcHA6YVsiYiJdLGdldEN1cnJlbnRQYWdlczphWyJjIl19KSxPYmplY3QoaVsiYSJdKSh0LnN1YnNjcmliZSx7Z2V0QXBwOmFbImIiXSxnZXRDdXJyZW50UGFnZXM6YVsiYyJdfSksZVsiZGVmYXVsdCJdPW9bImEiXX0uY2FsbCh0aGlzLG4oIjJjOWYiKSl9LGI5MWQ6ZnVuY3Rpb24odCxlLG4pe30sYmFhMTpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO24ucihlKTt2YXIgcj1uKCI5MDllIiksaT17bmFtZToiRm9ybSIsbWl4aW5zOltyWyJmIl1dLGRhdGE6ZnVuY3Rpb24oKXtyZXR1cm57Y2hpbGRyZW5MaXN0OltdfX0sbGlzdGVuZXJzOnsiQGZvcm0tc3VibWl0IjoiX29uU3VibWl0IiwiQGZvcm0tcmVzZXQiOiJfb25SZXNldCIsIkBmb3JtLWdyb3VwLXVwZGF0ZSI6Il9mb3JtR3JvdXBVcGRhdGVIYW5kbGVyIn0sbWV0aG9kczp7X29uU3VibWl0OmZ1bmN0aW9uKHQpe3ZhciBlPXt9O3RoaXMuY2hpbGRyZW5MaXN0LmZvckVhY2goKGZ1bmN0aW9uKHQpe3QuX2dldEZvcm1EYXRhJiZ0Ll9nZXRGb3JtRGF0YSgpLmtleSYmKGVbdC5fZ2V0Rm9ybURhdGEoKS5rZXldPXQuX2dldEZvcm1EYXRhKCkudmFsdWUpfSkpLHRoaXMuJHRyaWdnZXIoInN1Ym1pdCIsdCx7dmFsdWU6ZX0pfSxfb25SZXNldDpmdW5jdGlvbih0KXt0aGlzLiR0cmlnZ2VyKCJyZXNldCIsdCx7fSksdGhpcy5jaGlsZHJlbkxpc3QuZm9yRWFjaCgoZnVuY3Rpb24odCl7dC5fcmVzZXRGb3JtRGF0YSYmdC5fcmVzZXRGb3JtRGF0YSgpfSkpfSxfZm9ybUdyb3VwVXBkYXRlSGFuZGxlcjpmdW5jdGlvbih0KXtpZigiYWRkIj09PXQudHlwZSl0aGlzLmNoaWxkcmVuTGlzdC5wdXNoKHQudm0pO2Vsc2V7dmFyIGU9dGhpcy5jaGlsZHJlbkxpc3QuaW5kZXhPZih0LnZtKTt0aGlzLmNoaWxkcmVuTGlzdC5zcGxpY2UoZSwxKX19fX0sbz1pLGE9bigiODg0NCIpLHM9T2JqZWN0KGFbImEiXSkobywoZnVuY3Rpb24oKXt2YXIgdD10aGlzLGU9dC4kY3JlYXRlRWxlbWVudCxuPXQuX3NlbGYuX2N8fGU7cmV0dXJuIG4oInVuaS1mb3JtIix0Ll9nKHt9LHQuJGxpc3RlbmVycyksW24oInNwYW4iLFt0Ll90KCJkZWZhdWx0IildLDIpXSl9KSxbXSwhMSxudWxsLG51bGwsbnVsbCk7ZVsiZGVmYXVsdCJdPXMuZXhwb3J0c30sYmNhYzpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO24ucihlKSxmdW5jdGlvbih0KXtmdW5jdGlvbiByKGUsbixyLGkpe3ZhciBvPW4uJHBhZ2UuaWQ7dC5wdWJsaXNoSGFuZGxlcihvKyItdmlkZW8tIitlLHt2aWRlb0lkOmUsdHlwZTpyLGRhdGE6aX0sbyl9bi5kKGUsIm9wZXJhdGVWaWRlb1BsYXllciIsKGZ1bmN0aW9uKCl7cmV0dXJuIHJ9KSl9LmNhbGwodGhpcyxuKCIyYzlmIikpfSxiY2ViOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5yKGUpLG4uZChlLCJ1cGxvYWRGaWxlIiwoZnVuY3Rpb24oKXtyZXR1cm4gY30pKTt2YXIgcj1uKCI5MTMxIiksaT1uKCI3NDVhIik7ZnVuY3Rpb24gbyh0LGUpe2Zvcih2YXIgbj0wO248ZS5sZW5ndGg7bisrKXt2YXIgcj1lW25dO3IuZW51bWVyYWJsZT1yLmVudW1lcmFibGV8fCExLHIuY29uZmlndXJhYmxlPSEwLCJ2YWx1ZSJpbiByJiYoci53cml0YWJsZT0hMCksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsci5rZXkscil9fXZhciBhPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdChlLG4peyhmdW5jdGlvbih0LGUpe2lmKCEodCBpbnN0YW5jZW9mIGUpKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvbiIpfSkodGhpcyx0KSx0aGlzLmlkPWUsdGhpcy5fY2FsbGJhY2tJZD1uLHRoaXMuX2NhbGxiYWNrcz1bXX1yZXR1cm4gZnVuY3Rpb24odCxlLG4pe2UmJm8odC5wcm90b3R5cGUsZSksbiYmbyh0LG4pfSh0LFt7a2V5OiJhYm9ydCIsdmFsdWU6ZnVuY3Rpb24oKXtPYmplY3QoaVsiYyJdKSgib3BlcmF0ZVVwbG9hZFRhc2siLHt1cGxvYWRUYXNrSWQ6dGhpcy5pZCxvcGVyYXRpb25UeXBlOiJhYm9ydCJ9KX19LHtrZXk6Im9uUHJvZ3Jlc3NVcGRhdGUiLHZhbHVlOmZ1bmN0aW9uKHQpeyJmdW5jdGlvbiI9PT10eXBlb2YgdCYmdGhpcy5fY2FsbGJhY2tzLnB1c2godCl9fSx7a2V5OiJvbkhlYWRlcnNSZWNlaXZlZCIsdmFsdWU6ZnVuY3Rpb24oKXt9fSx7a2V5OiJvZmZQcm9ncmVzc1VwZGF0ZSIsdmFsdWU6ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fY2FsbGJhY2tzLmluZGV4T2YodCk7ZT49MCYmdGhpcy5fY2FsbGJhY2tzLnNwbGljZShlLDEpfX0se2tleToib2ZmSGVhZGVyc1JlY2VpdmVkIix2YWx1ZTpmdW5jdGlvbigpe319XSksdH0oKSxzPU9iamVjdC5jcmVhdGUobnVsbCk7ZnVuY3Rpb24gYyh0LGUpe3ZhciBuPU9iamVjdChpWyJjIl0pKCJjcmVhdGVVcGxvYWRUYXNrIix0KSxyPW4udXBsb2FkVGFza0lkLG89bmV3IGEocixlKTtyZXR1cm4gc1tyXT1vLG99T2JqZWN0KGlbImQiXSkoIm9uVXBsb2FkVGFza1N0YXRlQ2hhbmdlIiwoZnVuY3Rpb24odCl7dmFyIGU9dC51cGxvYWRUYXNrSWQsbj10LnN0YXRlLGk9dC5kYXRhLG89dC5zdGF0dXNDb2RlLGE9dC5wcm9ncmVzcyxjPXQudG90YWxCeXRlc1NlbnQsdT10LnRvdGFsQnl0ZXNFeHBlY3RlZFRvU2VuZCxsPXQuZXJyTXNnLGY9c1tlXSxkPWYuX2NhbGxiYWNrSWQ7c3dpdGNoKG4pe2Nhc2UicHJvZ3Jlc3NVcGRhdGUiOmYuX2NhbGxiYWNrcy5mb3JFYWNoKChmdW5jdGlvbih0KXt0KHtwcm9ncmVzczphLHRvdGFsQnl0ZXNTZW50OmMsdG90YWxCeXRlc0V4cGVjdGVkVG9TZW5kOnV9KX0pKTticmVhaztjYXNlInN1Y2Nlc3MiOk9iamVjdChyWyJhIl0pKGQse2RhdGE6aSxzdGF0dXNDb2RlOm8sZXJyTXNnOiJyZXF1ZXN0Om9rIn0pO2Nhc2UiZmFpbCI6T2JqZWN0KHJbImEiXSkoZCx7ZXJyTXNnOiJyZXF1ZXN0OmZhaWwgIitsfSk7ZGVmYXVsdDpzZXRUaW1lb3V0KChmdW5jdGlvbigpe2RlbGV0ZSBzW2VdfSksMTAwKTticmVha319KSl9LGJkZWU6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtuLmQoZSwiZiIsKGZ1bmN0aW9uKCl7cmV0dXJuIG99KSksbi5kKGUsImMiLChmdW5jdGlvbigpe3JldHVybiBhfSkpLG4uZChlLCJhIiwoZnVuY3Rpb24oKXtyZXR1cm4gc30pKSxuLmQoZSwiYiIsKGZ1bmN0aW9uKCl7cmV0dXJuIGN9KSksbi5kKGUsImQiLChmdW5jdGlvbigpe3JldHVybiB1fSkpLG4uZChlLCJlIiwoZnVuY3Rpb24oKXtyZXR1cm4gbH0pKTt2YXIgcj1uKCIzNDBkIiksaT17fTtmdW5jdGlvbiBvKHQsZSl7dmFyIG49aVt0XTtyZXR1cm4gbj9Qcm9taXNlLnJlc29sdmUobik6L15kYXRhOlthLXotXStcL1thLXotXSs7YmFzZTY0LC8udGVzdCh0KT9Qcm9taXNlLnJlc29sdmUoZnVuY3Rpb24odCl7dD10LnNwbGl0KCIsIik7dmFyIGU9dFswXS5tYXRjaCgvOiguKj8pOy8pWzFdLG49YXRvYih0WzFdKSxyPW4ubGVuZ3RoLGk9bmV3IFVpbnQ4QXJyYXkocik7d2hpbGUoci0tKWlbcl09bi5jaGFyQ29kZUF0KHIpO3JldHVybiBzKGksZSl9KHQpKTplP1Byb21pc2UucmVqZWN0KG5ldyBFcnJvcigibm90IGZpbmQiKSk6bmV3IFByb21pc2UoKGZ1bmN0aW9uKGUsbil7dmFyIHI9bmV3IFhNTEh0dHBSZXF1ZXN0O3Iub3BlbigiR0VUIix0LCEwKSxyLnJlc3BvbnNlVHlwZT0iYmxvYiIsci5vbmxvYWQ9ZnVuY3Rpb24oKXtlKHRoaXMucmVzcG9uc2UpfSxyLm9uZXJyb3I9bixyLnNlbmQoKX0pKX1mdW5jdGlvbiBhKHQpe3Q9dC5zcGxpdCgiIyIpWzBdLnNwbGl0KCI/IilbMF07dmFyIGU9dC5zcGxpdCgiLyIpO3JldHVybiBlW2UubGVuZ3RoLTFdfWZ1bmN0aW9uIHModCxlKXtpZighKHQgaW5zdGFuY2VvZiBGaWxlKSl7ZT1lfHx0LnR5cGV8fCIiO3ZhciBuPSIiLmNvbmNhdChEYXRlLm5vdygpKS5jb25jYXQoZnVuY3Rpb24odCl7dmFyIGU9dC5zcGxpdCgiLyIpWzFdO3JldHVybiBlPyIuIi5jb25jYXQoZSk6IiJ9KGUpKTt0cnl7dD1uZXcgRmlsZShbdF0sbix7dHlwZTplfSl9Y2F0Y2gocil7dD10IGluc3RhbmNlb2YgQmxvYj90Om5ldyBCbG9iKFt0XSx7dHlwZTplfSksdC5uYW1lPXQubmFtZXx8bn19cmV0dXJuIHR9ZnVuY3Rpb24gYyh0KXtmb3IodmFyIGUgaW4gaSlpZihPYmplY3QoclsiaSJdKShpLGUpKXt2YXIgbj1pW2VdO2lmKG49PT10KXJldHVybiBlfXZhciBvPSh3aW5kb3cuVVJMfHx3aW5kb3cud2Via2l0VVJMKS5jcmVhdGVPYmplY3RVUkwodCk7cmV0dXJuIGlbb109dCxvfWZ1bmN0aW9uIHUodCl7dmFyIGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpO3JldHVybiBlLmhyZWY9dCxlLm9yaWdpbj09PWxvY2F0aW9uLm9yaWdpbj9Qcm9taXNlLnJlc29sdmUodCk6byh0KS50aGVuKGMpfWZ1bmN0aW9uIGwodCl7KHdpbmRvdy5VUkx8fHdpbmRvdy53ZWJraXRVUkwpLnJldm9rZU9iamVjdFVSTCh0KSxkZWxldGUgaVt0XX19LGJlOTI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtuLnIoZSksZnVuY3Rpb24odCl7ZnVuY3Rpb24gcihlKXt2YXIgbj1nZXRDdXJyZW50UGFnZXMoKTtyZXR1cm4gbi5sZW5ndGgmJnQucHVibGlzaEhhbmRsZXIoInNldFBhZ2VNZXRhIixlLG5bbi5sZW5ndGgtMV0uJHBhZ2UuaWQpLHt9fW4uZChlLCJzZXRQYWdlTWV0YSIsKGZ1bmN0aW9uKCl7cmV0dXJuIHJ9KSl9LmNhbGwodGhpcyxuKCIyYzlmIikpfSxiZWFiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5yKGUpLG4uZChlLCJjcmVhdGVJbm5lckF1ZGlvQ29udGV4dCIsKGZ1bmN0aW9uKCl7cmV0dXJuIGx9KSk7dmFyIHI9bigiNzQ1YSIpO2Z1bmN0aW9uIGkodCxlKXtmb3IodmFyIG49MDtuPGUubGVuZ3RoO24rKyl7dmFyIHI9ZVtuXTtyLmVudW1lcmFibGU9ci5lbnVtZXJhYmxlfHwhMSxyLmNvbmZpZ3VyYWJsZT0hMCwidmFsdWUiaW4gciYmKHIud3JpdGFibGU9ITApLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LHIua2V5LHIpfX12YXIgbz1bImNhbnBsYXkiLCJwbGF5IiwicGF1c2UiLCJzdG9wIiwiZW5kZWQiLCJ0aW1lVXBkYXRlIiwiZXJyb3IiLCJ3YWl0aW5nIiwic2Vla2luZyIsInNlZWtlZCJdLGE9W3tuYW1lOiJzcmMiLGNhY2hlOiEwfSx7bmFtZToic3RhcnRUaW1lIixkZWZhdWx0OjAsY2FjaGU6ITB9LHtuYW1lOiJhdXRvcGxheSIsZGVmYXVsdDohMSxjYWNoZTohMH0se25hbWU6Imxvb3AiLGRlZmF1bHQ6ITEsY2FjaGU6ITB9LHtuYW1lOiJvYmV5TXV0ZVN3aXRjaCIsZGVmYXVsdDohMCxyZWFkb25seTohMCxjYWNoZTohMH0se25hbWU6ImR1cmF0aW9uIixyZWFkb25seTohMH0se25hbWU6ImN1cnJlbnRUaW1lIixyZWFkb25seTohMH0se25hbWU6InBhdXNlZCIscmVhZG9ubHk6ITB9LHtuYW1lOiJidWZmZXJlZCIscmVhZG9ubHk6ITB9LHtuYW1lOiJ2b2x1bWUifSx7bmFtZToic2Vzc2lvbkNhdGVnb3J5In0se25hbWU6InBsYXliYWNrUmF0ZSIsY2FjaGU6ITB9XSxzPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdChlKXt2YXIgbj10aGlzOyhmdW5jdGlvbih0LGUpe2lmKCEodCBpbnN0YW5jZW9mIGUpKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvbiIpfSkodGhpcyx0KSx0aGlzLmlkPWUsdGhpcy5fY2FsbGJhY2tzPXt9LHRoaXMuX29wdGlvbnM9e30sby5mb3JFYWNoKChmdW5jdGlvbih0KXtuLl9jYWxsYmFja3NbdC50b0xvd2VyQ2FzZSgpXT1bXX0pKSxhLmZvckVhY2goKGZ1bmN0aW9uKHQpe3ZhciBlPXQubmFtZSxpPXtnZXQ6ZnVuY3Rpb24oKXt2YXIgbj10LmNhY2hlP3RoaXMuX29wdGlvbnM6T2JqZWN0KHJbImMiXSkoImdldEF1ZGlvU3RhdGUiLHthdWRpb0lkOnRoaXMuaWR9KSxpPWUgaW4gbj9uW2VdOnQuZGVmYXVsdDtyZXR1cm4ibnVtYmVyIj09PXR5cGVvZiBpJiYidm9sdW1lIiE9PWU/aS8xZTM6aX19O3QucmVhZG9ubHl8fChpLnNldD1mdW5jdGlvbih0KXt0aGlzLl9vcHRpb25zW2VdPXQsT2JqZWN0KHJbImMiXSkoInNldEF1ZGlvU3RhdGUiLE9iamVjdC5hc3NpZ24oe30sdGhpcy5fb3B0aW9ucyx7YXVkaW9JZDp0aGlzLmlkfSkpfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KG4sZSxpKX0pKX1yZXR1cm4gZnVuY3Rpb24odCxlLG4pe2UmJmkodC5wcm90b3R5cGUsZSksbiYmaSh0LG4pfSh0LFt7a2V5OiJwbGF5Iix2YWx1ZTpmdW5jdGlvbigpe3RoaXMuX29wZXJhdGUoInBsYXkiKX19LHtrZXk6InBhdXNlIix2YWx1ZTpmdW5jdGlvbigpe3RoaXMuX29wZXJhdGUoInBhdXNlIil9fSx7a2V5OiJzdG9wIix2YWx1ZTpmdW5jdGlvbigpe3RoaXMuX29wZXJhdGUoInN0b3AiKX19LHtrZXk6InNlZWsiLHZhbHVlOmZ1bmN0aW9uKHQpe3RoaXMuX29wZXJhdGUoInNlZWsiLHtjdXJyZW50VGltZToxZTMqdH0pfX0se2tleToiZGVzdHJveSIsdmFsdWU6ZnVuY3Rpb24oKXtjbGVhckludGVydmFsKHRoaXMuX190aW1pbmcpLE9iamVjdChyWyJjIl0pKCJkZXN0cm95QXVkaW9JbnN0YW5jZSIse2F1ZGlvSWQ6dGhpcy5pZH0pLGRlbGV0ZSB1W3RoaXMuaWRdfX0se2tleToiX29wZXJhdGUiLHZhbHVlOmZ1bmN0aW9uKHQsZSl7T2JqZWN0KHJbImMiXSkoIm9wZXJhdGVBdWRpbyIsT2JqZWN0LmFzc2lnbih7fSxlLHthdWRpb0lkOnRoaXMuaWQsb3BlcmF0aW9uVHlwZTp0fSkpfX1dKSx0fSgpO2Z1bmN0aW9uIGModCxlLG4scil7dC5fY2FsbGJhY2tzW2VdLmZvckVhY2goKGZ1bmN0aW9uKHQpeyJmdW5jdGlvbiI9PT10eXBlb2YgdCYmdCgiZXJyb3IiPT09ZT97ZXJyTXNnOm4sZXJyQ29kZTpyfTp7fSl9KSl9by5mb3JFYWNoKChmdW5jdGlvbih0KXt2YXIgZT10WzBdLnRvVXBwZXJDYXNlKCkrdC5zdWJzdHIoMSk7dD10LnRvTG93ZXJDYXNlKCkscy5wcm90b3R5cGVbIm9uIi5jb25jYXQoZSldPWZ1bmN0aW9uKGUpe3RoaXMuX2NhbGxiYWNrc1t0XS5wdXNoKGUpfSxzLnByb3RvdHlwZVsib2ZmIi5jb25jYXQoZSldPWZ1bmN0aW9uKGUpe3ZhciBuPXRoaXMuX2NhbGxiYWNrc1t0XSxyPW4uaW5kZXhPZihlKTtyPj0wJiZuLnNwbGljZShyLDEpfX0pKSxPYmplY3QoclsiZCJdKSgib25BdWRpb1N0YXRlQ2hhbmdlIiwoZnVuY3Rpb24odCl7dmFyIGU9dC5zdGF0ZSxuPXQuYXVkaW9JZCxyPXQuZXJyTXNnLGk9dC5lcnJDb2RlLG89dVtuXTtpZihvKWlmKGMobyxlLHIsaSksInBsYXkiPT09ZSl7dmFyIGE9by5jdXJyZW50VGltZTtjKG8sInRpbWV1cGRhdGUiKSxvLl9fdGltaW5nPXNldEludGVydmFsKChmdW5jdGlvbigpe3ZhciB0PW8uY3VycmVudFRpbWU7dCE9PWEmJmMobywidGltZXVwZGF0ZSIpfSksMjAwKX1lbHNlInBhdXNlIiE9PWUmJiJzdG9wIiE9PWUmJiJlcnJvciIhPT1lfHxjbGVhckludGVydmFsKG8uX190aW1pbmcpfSkpO3ZhciB1PU9iamVjdC5jcmVhdGUobnVsbCk7ZnVuY3Rpb24gbCgpe3ZhciB0PU9iamVjdChyWyJjIl0pKCJjcmVhdGVBdWRpb0luc3RhbmNlIiksZT10LmF1ZGlvSWQsbj1uZXcgcyhlKTtyZXR1cm4gdVtlXT1uLG59fSxjMDgxOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiZGI4NyIpLGk9bi5uKHIpO2kuYX0sYzA4ZjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiOyhmdW5jdGlvbih0KXtuLmQoZSwiYiIsKGZ1bmN0aW9uKCl7cmV0dXJuIHN9KSksbi5kKGUsImEiLChmdW5jdGlvbigpe3JldHVybiBjfSkpO3ZhciByPXt9LGk9e307ZnVuY3Rpb24gbyh0KXtmb3IodmFyIGU9W10sbj0wLHI9WyJ3aWR0aCIsIm1pbldpZHRoIiwibWF4V2lkdGgiLCJoZWlnaHQiLCJtaW5IZWlnaHQiLCJtYXhIZWlnaHQiLCJvcmllbnRhdGlvbiJdO248ci5sZW5ndGg7bisrKXt2YXIgaT1yW25dOyJvcmllbnRhdGlvbiIhPT1pJiYiIiE9PXRbaV0mJk51bWJlcih0W2ldKT49MCYmZS5wdXNoKCIoIi5jb25jYXQoYShpKSwiOiAiKS5jb25jYXQoTnVtYmVyKHRbaV0pLCJweCkiKSksIm9yaWVudGF0aW9uIj09PWkmJnRbaV0mJmUucHVzaCgiKCIuY29uY2F0KGEoaSksIjogIikuY29uY2F0KHRbaV0sIikiKSl9cmV0dXJuIGU9ZS5qb2luKCIgYW5kICIpLGV9ZnVuY3Rpb24gYSh0KXtyZXR1cm4gdC5yZXBsYWNlKC8oW0EtWl0pL2csIi0kMSIpLnRvTG93ZXJDYXNlKCl9ZnVuY3Rpb24gcyhlKXt2YXIgbj1lLnJlcUlkLGE9ZS5vcHRpb25zLHM9cltuXT13aW5kb3cubWF0Y2hNZWRpYShvKGEpKSxjPWlbbl09ZnVuY3Rpb24oZSl7dC5wdWJsaXNoSGFuZGxlcigib25SZXF1ZXN0TWVkaWFRdWVyeU9ic2VydmVyIix7cmVxSWQ6bixyZXM6ZS5tYXRjaGVzfSl9O2Mocykscy5hZGRMaXN0ZW5lcihjKX1mdW5jdGlvbiBjKGUpe3ZhciBuPWUucmVxSWQsbz1pW25dLGE9cltuXTthJiYoYS5yZW1vdmVMaXN0ZW5lcihvKSxkZWxldGUgcltuXSx0LnB1Ymxpc2hIYW5kbGVyKCJvblJlcXVlc3RNZWRpYVF1ZXJ5T2JzZXJ2ZXIiLHtyZXFJZDpuLHJlcUVuZDohMH0pKX19KS5jYWxsKHRoaXMsbigiMzFkMiIpKX0sYzE0YjpmdW5jdGlvbih0KXt0LmV4cG9ydHM9SlNPTi5wYXJzZSgneyJ1bmkuYXBwLnF1aXQiOiJQdWxzZSBvdHJhIHZleiBwYXJhIHNhbGlyIiwidW5pLmFzeW5jLmVycm9yIjoiU2UgYWdvdMOzIGVsIHRpZW1wbyBkZSBjb25leGnDs24sIGhhZ2EgY2xpYyBlbiBsYSBwYW50YWxsYSBwYXJhIHZvbHZlciBhIGludGVudGFybG8uIiwidW5pLnNob3dBY3Rpb25TaGVldC5jYW5jZWwiOiJDYW5jZWxhciIsInVuaS5zaG93VG9hc3QudW5wYWlyZWQiOiJUZW5nYSBlbiBjdWVudGEgcXVlIHNob3dUb2FzdCBkZWJlIGVzdGFyIGVtcGFyZWphZG8gY29uIGhpZGVUb2FzdCIsInVuaS5zaG93TG9hZGluZy51bnBhaXJlZCI6IlRlbmdhIGVuIGN1ZW50YSBxdWUgc2hvd0xvYWRpbmcgZGViZSBlc3RhciBlbXBhcmVqYWRvIGNvbiBoaWRlTG9hZGluZyIsInVuaS5zaG93TW9kYWwuY2FuY2VsIjoiQ2FuY2VsYXIiLCJ1bmkuc2hvd01vZGFsLmNvbmZpcm0iOiJPSyIsInVuaS5jaG9vc2VJbWFnZS5jYW5jZWwiOiJDYW5jZWxhciIsInVuaS5jaG9vc2VJbWFnZS5zb3VyY2VUeXBlLmFsYnVtIjoiw4FsYnVtIiwidW5pLmNob29zZUltYWdlLnNvdXJjZVR5cGUuY2FtZXJhIjoiQ8OhbWFyYSIsInVuaS5jaG9vc2VWaWRlby5jYW5jZWwiOiJDYW5jZWxhciIsInVuaS5jaG9vc2VWaWRlby5zb3VyY2VUeXBlLmFsYnVtIjoiw4FsYnVtIiwidW5pLmNob29zZVZpZGVvLnNvdXJjZVR5cGUuY2FtZXJhIjoiQ8OhbWFyYSIsInVuaS5jaG9vc2VGaWxlLm5vdFVzZXJBY3RpdmF0aW9uIjoiRWwgY3VhZHJvIGRlIGRpw6Fsb2dvIGRlbCBzZWxlY3RvciBkZSBhcmNoaXZvcyBzb2xvIHNlIHB1ZWRlIG1vc3RyYXIgY29uIGxhIGFjdGl2YWNpw7NuIGRlbCB1c3VhcmlvIiwidW5pLnByZXZpZXdJbWFnZS5jYW5jZWwiOiJDYW5jZWxhciIsInVuaS5wcmV2aWV3SW1hZ2UuYnV0dG9uLnNhdmUiOiJHdWFyZGFyIGltYWdlbiIsInVuaS5wcmV2aWV3SW1hZ2Uuc2F2ZS5zdWNjZXNzIjoiR3VhcmRhZG8gZXhpdG9zYW1lbnRlIiwidW5pLnByZXZpZXdJbWFnZS5zYXZlLmZhaWwiOiJFcnJvciBhbCBndWFyZGFyIiwidW5pLnNldENsaXBib2FyZERhdGEuc3VjY2VzcyI6IkNvbnRlbmlkbyBjb3BpYWRvIiwidW5pLnNjYW5Db2RlLnRpdGxlIjoiQ8OzZGlnbyBkZSBlc2NhbmVvIiwidW5pLnNjYW5Db2RlLmFsYnVtIjoiw4FsYnVtIiwidW5pLnNjYW5Db2RlLmZhaWwiOiLDiWNoZWMgZGUgbGEgcmVjb25uYWlzc2FuY2UiLCJ1bmkuc2NhbkNvZGUuZmxhc2gub24iOiJUb3F1ZSBwYXJhIGVuY2VuZGVyIGxhIGx1eiIsInVuaS5zY2FuQ29kZS5mbGFzaC5vZmYiOiJUb3F1ZSBwYXJhIGFwYWdhciBsYSBsdXoiLCJ1bmkuc3RhcnRTb3RlckF1dGhlbnRpY2F0aW9uLmF1dGhDb250ZW50IjoiUmVjb25vY2ltaWVudG8gZGUgaHVlbGxhcyBkYWN0aWxhcmVzIiwidW5pLnN0YXJ0U290ZXJBdXRoZW50aWNhdGlvbi53YWl0aW5nQ29udGVudCI6IklycmVjb25vY2libGUiLCJ1bmkucGlja2VyLmRvbmUiOiJPSyIsInVuaS5waWNrZXIuY2FuY2VsIjoiQ2FuY2VsYXIiLCJ1bmkudmlkZW8uZGFubXUiOiJEYW5tdSIsInVuaS52aWRlby52b2x1bWUiOiJWb2x1bWVuIiwidW5pLmJ1dHRvbi5mZWVkYmFjay50aXRsZSI6InJlYWxpbWVudGFjacOzbiIsInVuaS5idXR0b24uZmVlZGJhY2suc2VuZCI6ImVudmlhciIsInVuaS5jaG9vc2VMb2NhdGlvbi5zZWFyY2giOiJFbmNvbnRyYXIiLCJ1bmkuY2hvb3NlTG9jYXRpb24uY2FuY2VsIjoiQ2FuY2VsYXIifScpfSxjMTY1OmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5yKGUpLG4uZChlLCJ1cHgycHgiLChmdW5jdGlvbigpe3JldHVybiBzfSkpO3ZhciByPSExLGk9MCxvPTA7ZnVuY3Rpb24gYSh0LGUpe3JldHVybiB0PU51bWJlcih0KSxpc05hTih0KT9lOnR9ZnVuY3Rpb24gcyh0LGUpe2lmKDA9PT1pJiZmdW5jdGlvbigpe3ZhciB0PXVuaS5nZXRTeXN0ZW1JbmZvU3luYygpLGU9dC5wbGF0Zm9ybSxuPXQucGl4ZWxSYXRpbyxhPXQud2luZG93V2lkdGg7aT1hLG89bixyPSJpb3MiPT09ZX0oKSx0PU51bWJlcih0KSwwPT09dClyZXR1cm4gMDt2YXIgbj1fX3VuaUNvbmZpZy5nbG9iYWxTdHlsZXx8X191bmlDb25maWcud2luZG93fHx7fSxzPWEobi5ycHhDYWxjTWF4RGV2aWNlV2lkdGgsOTYwKSxjPWEobi5ycHhDYWxjQmFzZURldmljZVdpZHRoLDM3NSksdT1hKG4ucnB4Q2FsY0luY2x1ZGVXaWR0aCw3NTApLGw9ZXx8aTtsPXQ9PT11fHxsPD1zP2w6Yzt2YXIgZj10Lzc1MCpsO3JldHVybiBmPDAmJihmPS1mKSxmPU1hdGguZmxvb3IoZisxZS00KSwwPT09ZiYmKGY9MSE9PW8mJnI/LjU6MSksdDwwPy1mOmZ9fSxjMTk0OmZ1bmN0aW9uKHQsZSxuKXt9LGMxOWQ6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiByKCl7dmFyIHQ9ZG9jdW1lbnQuYWN0aXZlRWxlbWVudDshdHx8IlRFWFRBUkVBIiE9PXQudGFnTmFtZSYmIklOUFVUIiE9PXQudGFnTmFtZXx8dC5ibHVyKCl9bi5yKGUpLG4uZChlLCJoaWRlS2V5Ym9hcmQiLChmdW5jdGlvbigpe3JldHVybiByfSkpfSxjMWFhOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5yKGUpLGZ1bmN0aW9uKHQpe24uZChlLCJvbldpbmRvd1Jlc2l6ZSIsKGZ1bmN0aW9uKCl7cmV0dXJuIGF9KSksbi5kKGUsIm9mZldpbmRvd1Jlc2l6ZSIsKGZ1bmN0aW9uKCl7cmV0dXJuIHN9KSk7dmFyIHI9W10saT1bXTtmdW5jdGlvbiBvKCl7aS5wdXNoKHNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7aS5mb3JFYWNoKChmdW5jdGlvbih0KXtyZXR1cm4gY2xlYXJUaW1lb3V0KHQpfSkpLGkubGVuZ3RoPTA7dmFyIGU9dCxuPWUuaW52b2tlQ2FsbGJhY2tIYW5kbGVyLG89dW5pLmdldFN5c3RlbUluZm9TeW5jKCksYT1vLndpbmRvd1dpZHRoLHM9by53aW5kb3dIZWlnaHQsYz1vLnNjcmVlbldpZHRoLHU9by5zY3JlZW5IZWlnaHQsbD05MD09PU1hdGguYWJzKHdpbmRvdy5vcmllbnRhdGlvbiksZj1sPyJsYW5kc2NhcGUiOiJwb3J0cmFpdCI7ci5mb3JFYWNoKChmdW5jdGlvbih0KXtuKHQse2RldmljZU9yaWVudGF0aW9uOmYsc2l6ZTp7d2luZG93V2lkdGg6YSx3aW5kb3dIZWlnaHQ6cyxzY3JlZW5XaWR0aDpjLHNjcmVlbkhlaWdodDp1fX0pfSkpfSksMjApKX1mdW5jdGlvbiBhKHQpe3IubGVuZ3RofHx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIixvKSxyLnB1c2godCl9ZnVuY3Rpb24gcyh0KXtyLnNwbGljZShyLmluZGV4T2YodCksMSksci5sZW5ndGh8fHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXNpemUiLG8pfX0uY2FsbCh0aGlzLG4oIjJjOWYiKSl9LGMxZjE6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtuLnIoZSk7dmFyIHI9bigiOTA5ZSIpLGk9e25hbWU6IlN3aXRjaCIsbWl4aW5zOltyWyJhIl0sclsiZiJdXSxwcm9wczp7bmFtZTp7dHlwZTpTdHJpbmcsZGVmYXVsdDoiIn0sY2hlY2tlZDp7dHlwZTpbQm9vbGVhbixTdHJpbmddLGRlZmF1bHQ6ITF9LHR5cGU6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6InN3aXRjaCJ9LGlkOnt0eXBlOlN0cmluZyxkZWZhdWx0OiIifSxkaXNhYmxlZDp7dHlwZTpbQm9vbGVhbixTdHJpbmddLGRlZmF1bHQ6ITF9LGNvbG9yOnt0eXBlOlN0cmluZyxkZWZhdWx0OiIifX0sZGF0YTpmdW5jdGlvbigpe3JldHVybntzd2l0Y2hDaGVja2VkOnRoaXMuY2hlY2tlZH19LGNvbXB1dGVkOntjaGVja2VkQ29sb3I6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zd2l0Y2hDaGVja2VkJiZ0aGlzLmNvbG9yP3tiYWNrZ3JvdW5kQ29sb3I6dGhpcy5jb2xvcixib3JkZXJDb2xvcjp0aGlzLmNvbG9yfTp7fX19LHdhdGNoOntjaGVja2VkOmZ1bmN0aW9uKHQpe3RoaXMuc3dpdGNoQ2hlY2tlZD10fX0sY3JlYXRlZDpmdW5jdGlvbigpe3RoaXMuJGRpc3BhdGNoKCJGb3JtIiwidW5pLWZvcm0tZ3JvdXAtdXBkYXRlIix7dHlwZToiYWRkIix2bTp0aGlzfSl9LGJlZm9yZURlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLiRkaXNwYXRjaCgiRm9ybSIsInVuaS1mb3JtLWdyb3VwLXVwZGF0ZSIse3R5cGU6InJlbW92ZSIsdm06dGhpc30pfSxsaXN0ZW5lcnM6eyJsYWJlbC1jbGljayI6Il9vbkNsaWNrIiwiQGxhYmVsLWNsaWNrIjoiX29uQ2xpY2sifSxtZXRob2RzOntfb25DbGljazpmdW5jdGlvbih0KXt0aGlzLmRpc2FibGVkfHwodGhpcy5zd2l0Y2hDaGVja2VkPSF0aGlzLnN3aXRjaENoZWNrZWQsdGhpcy4kdHJpZ2dlcigiY2hhbmdlIix0LHt2YWx1ZTp0aGlzLnN3aXRjaENoZWNrZWR9KSl9LF9yZXNldEZvcm1EYXRhOmZ1bmN0aW9uKCl7dGhpcy5zd2l0Y2hDaGVja2VkPSExfSxfZ2V0Rm9ybURhdGE6ZnVuY3Rpb24oKXt2YXIgdD17fTtyZXR1cm4iIiE9PXRoaXMubmFtZSYmKHQudmFsdWU9dGhpcy5zd2l0Y2hDaGVja2VkLHQua2V5PXRoaXMubmFtZSksdH19fSxvPWksYT0obigiMGExOCIpLG4oIjg4NDQiKSkscz1PYmplY3QoYVsiYSJdKShvLChmdW5jdGlvbigpe3ZhciB0PXRoaXMsZT10LiRjcmVhdGVFbGVtZW50LG49dC5fc2VsZi5fY3x8ZTtyZXR1cm4gbigidW5pLXN3aXRjaCIsdC5fZyh7YXR0cnM6e2Rpc2FibGVkOnQuZGlzYWJsZWR9LG9uOntjbGljazp0Ll9vbkNsaWNrfX0sdC4kbGlzdGVuZXJzKSxbbigiZGl2Iix7c3RhdGljQ2xhc3M6InVuaS1zd2l0Y2gtd3JhcHBlciJ9LFtuKCJkaXYiLHtkaXJlY3RpdmVzOlt7bmFtZToic2hvdyIscmF3TmFtZToidi1zaG93Iix2YWx1ZToic3dpdGNoIj09PXQudHlwZSxleHByZXNzaW9uOiJ0eXBlID09PSAnc3dpdGNoJyJ9XSxzdGF0aWNDbGFzczoidW5pLXN3aXRjaC1pbnB1dCIsY2xhc3M6W3Quc3dpdGNoQ2hlY2tlZD8idW5pLXN3aXRjaC1pbnB1dC1jaGVja2VkIjoiIl0sc3R5bGU6dC5jaGVja2VkQ29sb3J9KSxuKCJkaXYiLHtkaXJlY3RpdmVzOlt7bmFtZToic2hvdyIscmF3TmFtZToidi1zaG93Iix2YWx1ZToiY2hlY2tib3giPT09dC50eXBlLGV4cHJlc3Npb246InR5cGUgPT09ICdjaGVja2JveCcifV0sc3RhdGljQ2xhc3M6InVuaS1jaGVja2JveC1pbnB1dCIsY2xhc3M6W3Quc3dpdGNoQ2hlY2tlZD8idW5pLWNoZWNrYm94LWlucHV0LWNoZWNrZWQiOiIiXSxzdHlsZTp7Y29sb3I6dC5jb2xvcn19KV0pXSl9KSxbXSwhMSxudWxsLG51bGwsbnVsbCk7ZVsiZGVmYXVsdCJdPXMuZXhwb3J0c30sYzIzMzpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO24ucihlKSxmdW5jdGlvbih0KXtuLmQoZSwib25OZXR3b3JrU3RhdHVzQ2hhbmdlIiwoZnVuY3Rpb24oKXtyZXR1cm4gc30pKSxuLmQoZSwib2ZmTmV0d29ya1N0YXR1c0NoYW5nZSIsKGZ1bmN0aW9uKCl7cmV0dXJuIGN9KSksbi5kKGUsImdldE5ldHdvcmtUeXBlIiwoZnVuY3Rpb24oKXtyZXR1cm4gdX0pKTt2YXIgcj10LGk9ci5pbnZva2VDYWxsYmFja0hhbmRsZXIsbz1bXTtmdW5jdGlvbiBhKCl7dmFyIHQ9dSgpLGU9dC5uZXR3b3JrVHlwZTtvLmZvckVhY2goKGZ1bmN0aW9uKHQpe2kodCx7ZXJyTXNnOiJvbk5ldHdvcmtTdGF0dXNDaGFuZ2U6b2siLGlzQ29ubmVjdGVkOiJub25lIiE9PWUsbmV0d29ya1R5cGU6ZX0pfSkpfWZ1bmN0aW9uIHModCl7dmFyIGU9bmF2aWdhdG9yLmNvbm5lY3Rpb258fG5hdmlnYXRvci53ZWJraXRDb25uZWN0aW9uO28ucHVzaCh0KSxlP2UuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixhKTood2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm9mZmxpbmUiLGEpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJvbmxpbmUiLGEpKX1mdW5jdGlvbiBjKHQpe2lmKHQpe3ZhciBlPW8uaW5kZXhPZih0KTtlPj0wJiZvLnNwbGljZShlLDEpfWlmKCFvLmxlbmd0aCl7dmFyIG49bmF2aWdhdG9yLmNvbm5lY3Rpb258fG5hdmlnYXRvci53ZWJraXRDb25uZWN0aW9uO24/bi5yZW1vdmVFdmVudExpc3RlbmVyKCJjaGFuZ2UiLGEpOih3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigib2ZmbGluZSIsYSksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm9ubGluZSIsYSkpfX1mdW5jdGlvbiB1KCl7dmFyIHQ9bmF2aWdhdG9yLmNvbm5lY3Rpb258fG5hdmlnYXRvci53ZWJraXRDb25uZWN0aW9uLGU9InVua25vd24iO3JldHVybiB0PyhlPXQudHlwZSwiY2VsbHVsYXIiPT09ZSYmdC5lZmZlY3RpdmVUeXBlP2U9dC5lZmZlY3RpdmVUeXBlLnJlcGxhY2UoInNsb3ctIiwiIik6WyJub25lIiwid2lmaSJdLmluY2x1ZGVzKGUpfHwoZT0idW5rbm93biIpKTohMT09PW5hdmlnYXRvci5vbkxpbmUmJihlPSJub25lIikse2Vyck1zZzoiZ2V0TmV0d29ya1R5cGU6b2siLG5ldHdvcmtUeXBlOmV9fX0uY2FsbCh0aGlzLG4oIjJjOWYiKSl9LGMyZWY6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCI2MTQwIiksaT1uLm4ocik7aS5hfSxjNDkwOmZ1bmN0aW9uKHQsZSxuKXt9LGM0Y2Q6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiByKHQsZSl7Zm9yKHZhciBuPTA7bjxlLmxlbmd0aDtuKyspe3ZhciByPWVbbl07ci5lbnVtZXJhYmxlPXIuZW51bWVyYWJsZXx8ITEsci5jb25maWd1cmFibGU9ITAsInZhbHVlImluIHImJihyLndyaXRhYmxlPSEwKSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCxyLmtleSxyKX19bi5yKGUpLG4uZChlLCJnZXRVcGRhdGVNYW5hZ2VyIiwoZnVuY3Rpb24oKXtyZXR1cm4gYX0pKTt2YXIgaSxvPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpeyhmdW5jdGlvbih0LGUpe2lmKCEodCBpbnN0YW5jZW9mIGUpKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvbiIpfSkodGhpcyx0KX1yZXR1cm4gZnVuY3Rpb24odCxlLG4pe2UmJnIodC5wcm90b3R5cGUsZSksbiYmcih0LG4pfSh0LFt7a2V5OiJvbkNoZWNrRm9yVXBkYXRlIix2YWx1ZTpmdW5jdGlvbigpe319LHtrZXk6Im9uVXBkYXRlUmVhZHkiLHZhbHVlOmZ1bmN0aW9uKCl7fX0se2tleToib25VcGRhdGVGYWlsZWQiLHZhbHVlOmZ1bmN0aW9uKCl7fX0se2tleToiYXBwbHlVcGRhdGUiLHZhbHVlOmZ1bmN0aW9uKCl7fX1dKSx0fSgpO2Z1bmN0aW9uIGEoKXtyZXR1cm4gaXx8KGk9bmV3IG8pfX0sYzZlYjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO24ucihlKSxuLmQoZSwibG9hZEZvbnRGYWNlIiwoZnVuY3Rpb24oKXtyZXR1cm4gcn0pKTt2YXIgcj17ZmFtaWx5Ont0eXBlOlN0cmluZyxyZXF1aXJlZDohMH0sc291cmNlOnt0eXBlOlN0cmluZyxyZXF1aXJlZDohMH0sZGVzYzp7dHlwZTpPYmplY3QscmVxdWlyZWQ6ITF9LHN1Y2Nlc3M6e3R5cGU6RnVuY3Rpb24scmVxdWlyZWQ6ITF9LGZhaWw6e3R5cGU6RnVuY3Rpb24scmVxdWlyZWQ6ITF9LGNvbXBsZXRlOnt0eXBlOkZ1bmN0aW9uLHJlcXVpcmVkOiExfX19LGM3MDA6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCJkNGM5IiksaT1uKCI0YmE2Iik7ZnVuY3Rpb24gbyh0LGUsbil7dGhpcy5fZXh0ZW50PXQsdGhpcy5fZnJpY3Rpb249ZXx8bmV3IHJbImEiXSguMDEpLHRoaXMuX3NwcmluZz1ufHxuZXcgaVsiYSJdKDEsOTAsMjApLHRoaXMuX3N0YXJ0VGltZT0wLHRoaXMuX3NwcmluZ2luZz0hMSx0aGlzLl9zcHJpbmdPZmZzZXQ9MH1mdW5jdGlvbiBhKHQsZSl7ZT1lfHx7fSx0aGlzLl9lbGVtZW50PXQsdGhpcy5fb3B0aW9ucz1lLHRoaXMuX2VuYWJsZVNuYXA9ZS5lbmFibGVTbmFwfHwhMSx0aGlzLl9pdGVtU2l6ZT1lLml0ZW1TaXplfHwwLHRoaXMuX2VuYWJsZVg9ZS5lbmFibGVYfHwhMSx0aGlzLl9lbmFibGVZPWUuZW5hYmxlWXx8ITEsdGhpcy5fc2hvdWxkRGlzcGF0Y2hTY3JvbGxFdmVudD0hIWUub25TY3JvbGwsdGhpcy5fZW5hYmxlWD8odGhpcy5fZXh0ZW50PShlLnNjcm9sbFdpZHRofHx0aGlzLl9lbGVtZW50Lm9mZnNldFdpZHRoKS10aGlzLl9lbGVtZW50LnBhcmVudEVsZW1lbnQub2Zmc2V0V2lkdGgsdGhpcy5fc2Nyb2xsV2lkdGg9ZS5zY3JvbGxXaWR0aCk6KHRoaXMuX2V4dGVudD0oZS5zY3JvbGxIZWlnaHR8fHRoaXMuX2VsZW1lbnQub2Zmc2V0SGVpZ2h0KS10aGlzLl9lbGVtZW50LnBhcmVudEVsZW1lbnQub2Zmc2V0SGVpZ2h0LHRoaXMuX3Njcm9sbEhlaWdodD1lLnNjcm9sbEhlaWdodCksdGhpcy5fcG9zaXRpb249MCx0aGlzLl9zY3JvbGw9bmV3IG8odGhpcy5fZXh0ZW50LGUuZnJpY3Rpb24sZS5zcHJpbmcpLHRoaXMuX29uVHJhbnNpdGlvbkVuZD10aGlzLm9uVHJhbnNpdGlvbkVuZC5iaW5kKHRoaXMpLHRoaXMudXBkYXRlUG9zaXRpb24oKX1vLnByb3RvdHlwZS5zbmFwPWZ1bmN0aW9uKHQsZSl7dGhpcy5fc3ByaW5nT2Zmc2V0PTAsdGhpcy5fc3ByaW5naW5nPSEwLHRoaXMuX3NwcmluZy5zbmFwKHQpLHRoaXMuX3NwcmluZy5zZXRFbmQoZSl9LG8ucHJvdG90eXBlLnNldD1mdW5jdGlvbih0LGUpe3RoaXMuX2ZyaWN0aW9uLnNldCh0LGUpLHQ+MCYmZT49MD8odGhpcy5fc3ByaW5nT2Zmc2V0PTAsdGhpcy5fc3ByaW5naW5nPSEwLHRoaXMuX3NwcmluZy5zbmFwKHQpLHRoaXMuX3NwcmluZy5zZXRFbmQoMCkpOnQ8LXRoaXMuX2V4dGVudCYmZTw9MD8odGhpcy5fc3ByaW5nT2Zmc2V0PTAsdGhpcy5fc3ByaW5naW5nPSEwLHRoaXMuX3NwcmluZy5zbmFwKHQpLHRoaXMuX3NwcmluZy5zZXRFbmQoLXRoaXMuX2V4dGVudCkpOnRoaXMuX3NwcmluZ2luZz0hMSx0aGlzLl9zdGFydFRpbWU9KG5ldyBEYXRlKS5nZXRUaW1lKCl9LG8ucHJvdG90eXBlLng9ZnVuY3Rpb24odCl7aWYoIXRoaXMuX3N0YXJ0VGltZSlyZXR1cm4gMDtpZih0fHwodD0oKG5ldyBEYXRlKS5nZXRUaW1lKCktdGhpcy5fc3RhcnRUaW1lKS8xZTMpLHRoaXMuX3NwcmluZ2luZylyZXR1cm4gdGhpcy5fc3ByaW5nLngoKSt0aGlzLl9zcHJpbmdPZmZzZXQ7dmFyIGU9dGhpcy5fZnJpY3Rpb24ueCh0KSxuPXRoaXMuZHgodCk7cmV0dXJuKGU+MCYmbj49MHx8ZTwtdGhpcy5fZXh0ZW50JiZuPD0wKSYmKHRoaXMuX3NwcmluZ2luZz0hMCx0aGlzLl9zcHJpbmcuc2V0RW5kKDAsbiksZTwtdGhpcy5fZXh0ZW50P3RoaXMuX3NwcmluZ09mZnNldD0tdGhpcy5fZXh0ZW50OnRoaXMuX3NwcmluZ09mZnNldD0wLGU9dGhpcy5fc3ByaW5nLngoKSt0aGlzLl9zcHJpbmdPZmZzZXQpLGV9LG8ucHJvdG90eXBlLmR4PWZ1bmN0aW9uKHQpe3ZhciBlO3JldHVybiBlPXRoaXMuX2xhc3RUaW1lPT09dD90aGlzLl9sYXN0RHg6dGhpcy5fc3ByaW5naW5nP3RoaXMuX3NwcmluZy5keCh0KTp0aGlzLl9mcmljdGlvbi5keCh0KSx0aGlzLl9sYXN0VGltZT10LHRoaXMuX2xhc3REeD1lLGV9LG8ucHJvdG90eXBlLmRvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc3ByaW5naW5nP3RoaXMuX3NwcmluZy5kb25lKCk6dGhpcy5fZnJpY3Rpb24uZG9uZSgpfSxvLnByb3RvdHlwZS5zZXRWZWxvY2l0eUJ5RW5kPWZ1bmN0aW9uKHQpe3RoaXMuX2ZyaWN0aW9uLnNldFZlbG9jaXR5QnlFbmQodCl9LG8ucHJvdG90eXBlLmNvbmZpZ3VyYXRpb249ZnVuY3Rpb24oKXt2YXIgdD10aGlzLl9mcmljdGlvbi5jb25maWd1cmF0aW9uKCk7cmV0dXJuIHQucHVzaC5hcHBseSh0LHRoaXMuX3NwcmluZy5jb25maWd1cmF0aW9uKCkpLHR9LGEucHJvdG90eXBlLm9uVG91Y2hTdGFydD1mdW5jdGlvbigpe3RoaXMuX3N0YXJ0UG9zaXRpb249dGhpcy5fcG9zaXRpb24sdGhpcy5fbGFzdENoYW5nZVBvcz10aGlzLl9zdGFydFBvc2l0aW9uLHRoaXMuX3N0YXJ0UG9zaXRpb24+MD90aGlzLl9zdGFydFBvc2l0aW9uLz0uNTp0aGlzLl9zdGFydFBvc2l0aW9uPC10aGlzLl9leHRlbnQmJih0aGlzLl9zdGFydFBvc2l0aW9uPSh0aGlzLl9zdGFydFBvc2l0aW9uK3RoaXMuX2V4dGVudCkvLjUtdGhpcy5fZXh0ZW50KSx0aGlzLl9hbmltYXRpb24mJih0aGlzLl9hbmltYXRpb24uY2FuY2VsKCksdGhpcy5fc2Nyb2xsaW5nPSExKSx0aGlzLnVwZGF0ZVBvc2l0aW9uKCl9LGEucHJvdG90eXBlLm9uVG91Y2hNb3ZlPWZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcy5fc3RhcnRQb3NpdGlvbjt0aGlzLl9lbmFibGVYP24rPXQ6dGhpcy5fZW5hYmxlWSYmKG4rPWUpLG4+MD9uKj0uNTpuPC10aGlzLl9leHRlbnQmJihuPS41KihuK3RoaXMuX2V4dGVudCktdGhpcy5fZXh0ZW50KSx0aGlzLl9wb3NpdGlvbj1uLHRoaXMudXBkYXRlUG9zaXRpb24oKSx0aGlzLmRpc3BhdGNoU2Nyb2xsKCl9LGEucHJvdG90eXBlLm9uVG91Y2hFbmQ9ZnVuY3Rpb24odCxlLG4pe3ZhciByPXRoaXM7aWYodGhpcy5fZW5hYmxlU25hcCYmdGhpcy5fcG9zaXRpb24+LXRoaXMuX2V4dGVudCYmdGhpcy5fcG9zaXRpb248MCl7aWYodGhpcy5fZW5hYmxlWSYmKE1hdGguYWJzKGUpPHRoaXMuX2l0ZW1TaXplJiZNYXRoLmFicyhuLnkpPDMwMHx8TWF0aC5hYnMobi55KTwxNTApKXJldHVybiB2b2lkIHRoaXMuc25hcCgpO2lmKHRoaXMuX2VuYWJsZVgmJihNYXRoLmFicyh0KTx0aGlzLl9pdGVtU2l6ZSYmTWF0aC5hYnMobi54KTwzMDB8fE1hdGguYWJzKG4ueCk8MTUwKSlyZXR1cm4gdm9pZCB0aGlzLnNuYXAoKX1pZih0aGlzLl9lbmFibGVYP3RoaXMuX3Njcm9sbC5zZXQodGhpcy5fcG9zaXRpb24sbi54KTp0aGlzLl9lbmFibGVZJiZ0aGlzLl9zY3JvbGwuc2V0KHRoaXMuX3Bvc2l0aW9uLG4ueSksdGhpcy5fZW5hYmxlU25hcCl7dmFyIGk9dGhpcy5fc2Nyb2xsLl9mcmljdGlvbi54KDEwMCksbz1pJXRoaXMuX2l0ZW1TaXplLGE9TWF0aC5hYnMobyk+dGhpcy5faXRlbVNpemUvMj9pLSh0aGlzLl9pdGVtU2l6ZS1NYXRoLmFicyhvKSk6aS1vO2E8PTAmJmE+PS10aGlzLl9leHRlbnQmJnRoaXMuX3Njcm9sbC5zZXRWZWxvY2l0eUJ5RW5kKGEpfXRoaXMuX2xhc3RUaW1lPURhdGUubm93KCksdGhpcy5fbGFzdERlbGF5PTAsdGhpcy5fc2Nyb2xsaW5nPSEwLHRoaXMuX2xhc3RDaGFuZ2VQb3M9dGhpcy5fcG9zaXRpb24sdGhpcy5fbGFzdElkeD1NYXRoLmZsb29yKE1hdGguYWJzKHRoaXMuX3Bvc2l0aW9uL3RoaXMuX2l0ZW1TaXplKSksdGhpcy5fYW5pbWF0aW9uPWZ1bmN0aW9uKHQsZSxuKXt2YXIgcj17aWQ6MCxjYW5jZWxsZWQ6ITF9O3JldHVybiBmdW5jdGlvbiB0KGUsbixyLGkpe2lmKCFlfHwhZS5jYW5jZWxsZWQpe3Iobik7dmFyIG89bi5kb25lKCk7b3x8ZS5jYW5jZWxsZWR8fChlLmlkPXJlcXVlc3RBbmltYXRpb25GcmFtZSh0LmJpbmQobnVsbCxlLG4scixpKSkpLG8mJmkmJmkobil9fShyLHQsZSxuKSx7Y2FuY2VsOmZ1bmN0aW9uKHQpe3QmJnQuaWQmJmNhbmNlbEFuaW1hdGlvbkZyYW1lKHQuaWQpLHQmJih0LmNhbmNlbGxlZD0hMCl9LmJpbmQobnVsbCxyKSxtb2RlbDp0fX0odGhpcy5fc2Nyb2xsLChmdW5jdGlvbigpe3ZhciB0PURhdGUubm93KCksZT0odC1yLl9zY3JvbGwuX3N0YXJ0VGltZSkvMWUzLG49ci5fc2Nyb2xsLngoZSk7ci5fcG9zaXRpb249bixyLnVwZGF0ZVBvc2l0aW9uKCk7dmFyIGk9ci5fc2Nyb2xsLmR4KGUpO3IuX3Nob3VsZERpc3BhdGNoU2Nyb2xsRXZlbnQmJnQtci5fbGFzdFRpbWU+ci5fbGFzdERlbGF5JiYoci5kaXNwYXRjaFNjcm9sbCgpLHIuX2xhc3REZWxheT1NYXRoLmFicygyZTMvaSksci5fbGFzdFRpbWU9dCl9KSwoZnVuY3Rpb24oKXtyLl9lbmFibGVTbmFwJiYoYTw9MCYmYT49LXIuX2V4dGVudCYmKHIuX3Bvc2l0aW9uPWEsci51cGRhdGVQb3NpdGlvbigpKSwiZnVuY3Rpb24iPT09dHlwZW9mIHIuX29wdGlvbnMub25TbmFwJiZyLl9vcHRpb25zLm9uU25hcChNYXRoLmZsb29yKE1hdGguYWJzKHIuX3Bvc2l0aW9uKS9yLl9pdGVtU2l6ZSkpKSxyLl9zaG91bGREaXNwYXRjaFNjcm9sbEV2ZW50JiZyLmRpc3BhdGNoU2Nyb2xsKCksci5fc2Nyb2xsaW5nPSExfSkpfSxhLnByb3RvdHlwZS5vblRyYW5zaXRpb25FbmQ9ZnVuY3Rpb24oKXt0aGlzLl9lbGVtZW50LnN0eWxlLnRyYW5zaXRpb249IiIsdGhpcy5fZWxlbWVudC5zdHlsZS53ZWJraXRUcmFuc2l0aW9uPSIiLHRoaXMuX2VsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidHJhbnNpdGlvbmVuZCIsdGhpcy5fb25UcmFuc2l0aW9uRW5kKSx0aGlzLl9lbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIndlYmtpdFRyYW5zaXRpb25FbmQiLHRoaXMuX29uVHJhbnNpdGlvbkVuZCksdGhpcy5fc25hcHBpbmcmJih0aGlzLl9zbmFwcGluZz0hMSksdGhpcy5kaXNwYXRjaFNjcm9sbCgpfSxhLnByb3RvdHlwZS5zbmFwPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5faXRlbVNpemUsZT10aGlzLl9wb3NpdGlvbiV0LG49TWF0aC5hYnMoZSk+dGhpcy5faXRlbVNpemUvMj90aGlzLl9wb3NpdGlvbi0odC1NYXRoLmFicyhlKSk6dGhpcy5fcG9zaXRpb24tZTt0aGlzLl9wb3NpdGlvbiE9PW4mJih0aGlzLl9zbmFwcGluZz0hMCx0aGlzLnNjcm9sbFRvKC1uKSwiZnVuY3Rpb24iPT09dHlwZW9mIHRoaXMuX29wdGlvbnMub25TbmFwJiZ0aGlzLl9vcHRpb25zLm9uU25hcChNYXRoLmZsb29yKE1hdGguYWJzKHRoaXMuX3Bvc2l0aW9uKS90aGlzLl9pdGVtU2l6ZSkpKX0sYS5wcm90b3R5cGUuc2Nyb2xsVG89ZnVuY3Rpb24odCxlKXt0aGlzLl9hbmltYXRpb24mJih0aGlzLl9hbmltYXRpb24uY2FuY2VsKCksdGhpcy5fc2Nyb2xsaW5nPSExKSwibnVtYmVyIj09PXR5cGVvZiB0JiYodGhpcy5fcG9zaXRpb249LXQpLHRoaXMuX3Bvc2l0aW9uPC10aGlzLl9leHRlbnQ/dGhpcy5fcG9zaXRpb249LXRoaXMuX2V4dGVudDp0aGlzLl9wb3NpdGlvbj4wJiYodGhpcy5fcG9zaXRpb249MCksdGhpcy5fZWxlbWVudC5zdHlsZS50cmFuc2l0aW9uPSJ0cmFuc2Zvcm0gIisoZXx8LjIpKyJzIGVhc2Utb3V0Iix0aGlzLl9lbGVtZW50LnN0eWxlLndlYmtpdFRyYW5zaXRpb249Ii13ZWJraXQtdHJhbnNmb3JtICIrKGV8fC4yKSsicyBlYXNlLW91dCIsdGhpcy51cGRhdGVQb3NpdGlvbigpLHRoaXMuX2VsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidHJhbnNpdGlvbmVuZCIsdGhpcy5fb25UcmFuc2l0aW9uRW5kKSx0aGlzLl9lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoIndlYmtpdFRyYW5zaXRpb25FbmQiLHRoaXMuX29uVHJhbnNpdGlvbkVuZCl9LGEucHJvdG90eXBlLmRpc3BhdGNoU2Nyb2xsPWZ1bmN0aW9uKCl7aWYoImZ1bmN0aW9uIj09PXR5cGVvZiB0aGlzLl9vcHRpb25zLm9uU2Nyb2xsJiZNYXRoLnJvdW5kKHRoaXMuX2xhc3RQb3MpIT09TWF0aC5yb3VuZCh0aGlzLl9wb3NpdGlvbikpe3RoaXMuX2xhc3RQb3M9dGhpcy5fcG9zaXRpb247dmFyIHQ9e3RhcmdldDp7c2Nyb2xsTGVmdDp0aGlzLl9lbmFibGVYPy10aGlzLl9wb3NpdGlvbjowLHNjcm9sbFRvcDp0aGlzLl9lbmFibGVZPy10aGlzLl9wb3NpdGlvbjowLHNjcm9sbEhlaWdodDp0aGlzLl9zY3JvbGxIZWlnaHR8fHRoaXMuX2VsZW1lbnQub2Zmc2V0SGVpZ2h0LHNjcm9sbFdpZHRoOnRoaXMuX3Njcm9sbFdpZHRofHx0aGlzLl9lbGVtZW50Lm9mZnNldFdpZHRoLG9mZnNldEhlaWdodDp0aGlzLl9lbGVtZW50LnBhcmVudEVsZW1lbnQub2Zmc2V0SGVpZ2h0LG9mZnNldFdpZHRoOnRoaXMuX2VsZW1lbnQucGFyZW50RWxlbWVudC5vZmZzZXRXaWR0aH19O3RoaXMuX29wdGlvbnMub25TY3JvbGwodCl9fSxhLnByb3RvdHlwZS51cGRhdGU9ZnVuY3Rpb24odCxlLG4pe3ZhciByPTAsaT10aGlzLl9wb3NpdGlvbjt0aGlzLl9lbmFibGVYPyhyPXRoaXMuX2VsZW1lbnQuY2hpbGROb2Rlcy5sZW5ndGg/KGV8fHRoaXMuX2VsZW1lbnQub2Zmc2V0V2lkdGgpLXRoaXMuX2VsZW1lbnQucGFyZW50RWxlbWVudC5vZmZzZXRXaWR0aDowLHRoaXMuX3Njcm9sbFdpZHRoPWUpOihyPXRoaXMuX2VsZW1lbnQuY2hpbGROb2Rlcy5sZW5ndGg/KGV8fHRoaXMuX2VsZW1lbnQub2Zmc2V0SGVpZ2h0KS10aGlzLl9lbGVtZW50LnBhcmVudEVsZW1lbnQub2Zmc2V0SGVpZ2h0OjAsdGhpcy5fc2Nyb2xsSGVpZ2h0PWUpLCJudW1iZXIiPT09dHlwZW9mIHQmJih0aGlzLl9wb3NpdGlvbj0tdCksdGhpcy5fcG9zaXRpb248LXI/dGhpcy5fcG9zaXRpb249LXI6dGhpcy5fcG9zaXRpb24+MCYmKHRoaXMuX3Bvc2l0aW9uPTApLHRoaXMuX2l0ZW1TaXplPW58fHRoaXMuX2l0ZW1TaXplLHRoaXMudXBkYXRlUG9zaXRpb24oKSxpIT09dGhpcy5fcG9zaXRpb24mJih0aGlzLmRpc3BhdGNoU2Nyb2xsKCksImZ1bmN0aW9uIj09PXR5cGVvZiB0aGlzLl9vcHRpb25zLm9uU25hcCYmdGhpcy5fb3B0aW9ucy5vblNuYXAoTWF0aC5mbG9vcihNYXRoLmFicyh0aGlzLl9wb3NpdGlvbikvdGhpcy5faXRlbVNpemUpKSksdGhpcy5fZXh0ZW50PXIsdGhpcy5fc2Nyb2xsLl9leHRlbnQ9cn0sYS5wcm90b3R5cGUudXBkYXRlUG9zaXRpb249ZnVuY3Rpb24oKXt2YXIgdD0iIjt0aGlzLl9lbmFibGVYP3Q9InRyYW5zbGF0ZVgoIit0aGlzLl9wb3NpdGlvbisicHgpIHRyYW5zbGF0ZVooMCkiOnRoaXMuX2VuYWJsZVkmJih0PSJ0cmFuc2xhdGVZKCIrdGhpcy5fcG9zaXRpb24rInB4KSB0cmFuc2xhdGVaKDApIiksdGhpcy5fZWxlbWVudC5zdHlsZS53ZWJraXRUcmFuc2Zvcm09dCx0aGlzLl9lbGVtZW50LnN0eWxlLnRyYW5zZm9ybT10fSxhLnByb3RvdHlwZS5pc1Njcm9sbGluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9zY3JvbGxpbmd8fHRoaXMuX3NuYXBwaW5nfSxlWyJhIl09e21ldGhvZHM6e2luaXRTY3JvbGxlcjpmdW5jdGlvbih0LGUpe3RoaXMuX3RvdWNoSW5mbz17dHJhY2tpbmdJRDotMSxtYXhEeTowLG1heER4OjB9LHRoaXMuX3Njcm9sbGVyPW5ldyBhKHQsZSksdGhpcy5fX2hhbmRsZVRvdWNoU3RhcnQ9dGhpcy5faGFuZGxlVG91Y2hTdGFydC5iaW5kKHRoaXMpLHRoaXMuX19oYW5kbGVUb3VjaE1vdmU9dGhpcy5faGFuZGxlVG91Y2hNb3ZlLmJpbmQodGhpcyksdGhpcy5fX2hhbmRsZVRvdWNoRW5kPXRoaXMuX2hhbmRsZVRvdWNoRW5kLmJpbmQodGhpcyksdGhpcy5faW5pdGVkU2Nyb2xsZXI9ITB9LF9maW5kRGVsdGE6ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fdG91Y2hJbmZvO3JldHVybiJtb3ZlIj09PXQuZGV0YWlsLnN0YXRlfHwiZW5kIj09PXQuZGV0YWlsLnN0YXRlP3t4OnQuZGV0YWlsLmR4LHk6dC5kZXRhaWwuZHl9Ont4OnQuc2NyZWVuWC1lLngseTp0LnNjcmVlblktZS55fX0sX2hhbmRsZVRvdWNoU3RhcnQ6ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fdG91Y2hJbmZvLG49dGhpcy5fc2Nyb2xsZXI7biYmKCJzdGFydCI9PT10LmRldGFpbC5zdGF0ZT8oZS50cmFja2luZ0lEPSJ0b3VjaCIsZS54PXQuZGV0YWlsLngsZS55PXQuZGV0YWlsLnkpOihlLnRyYWNraW5nSUQ9Im1vdXNlIixlLng9dC5zY3JlZW5YLGUueT10LnNjcmVlblkpLGUubWF4RHg9MCxlLm1heER5PTAsZS5oaXN0b3J5WD1bMF0sZS5oaXN0b3J5WT1bMF0sZS5oaXN0b3J5VGltZT1bdC5kZXRhaWwudGltZVN0YW1wXSxlLmxpc3RlbmVyPW4sbi5vblRvdWNoU3RhcnQmJm4ub25Ub3VjaFN0YXJ0KCksdC5wcmV2ZW50RGVmYXVsdCgpKX0sX2hhbmRsZVRvdWNoTW92ZTpmdW5jdGlvbih0KXt2YXIgZT10aGlzLl90b3VjaEluZm87aWYoLTEhPT1lLnRyYWNraW5nSUQpe3QucHJldmVudERlZmF1bHQoKTt2YXIgbj10aGlzLl9maW5kRGVsdGEodCk7aWYobil7Zm9yKGUubWF4RHk9TWF0aC5tYXgoZS5tYXhEeSxNYXRoLmFicyhuLnkpKSxlLm1heER4PU1hdGgubWF4KGUubWF4RHgsTWF0aC5hYnMobi54KSksZS5oaXN0b3J5WC5wdXNoKG4ueCksZS5oaXN0b3J5WS5wdXNoKG4ueSksZS5oaXN0b3J5VGltZS5wdXNoKHQuZGV0YWlsLnRpbWVTdGFtcCk7ZS5oaXN0b3J5VGltZS5sZW5ndGg+MTA7KWUuaGlzdG9yeVRpbWUuc2hpZnQoKSxlLmhpc3RvcnlYLnNoaWZ0KCksZS5oaXN0b3J5WS5zaGlmdCgpO2UubGlzdGVuZXImJmUubGlzdGVuZXIub25Ub3VjaE1vdmUmJmUubGlzdGVuZXIub25Ub3VjaE1vdmUobi54LG4ueSx0LmRldGFpbC50aW1lU3RhbXApfX19LF9oYW5kbGVUb3VjaEVuZDpmdW5jdGlvbih0KXt2YXIgZT10aGlzLl90b3VjaEluZm87aWYoLTEhPT1lLnRyYWNraW5nSUQpe3QucHJldmVudERlZmF1bHQoKTt2YXIgbj10aGlzLl9maW5kRGVsdGEodCk7aWYobil7dmFyIHI9ZS5saXN0ZW5lcjtlLnRyYWNraW5nSUQ9LTEsZS5saXN0ZW5lcj1udWxsO3ZhciBpPWUuaGlzdG9yeVRpbWUubGVuZ3RoLG89e3g6MCx5OjB9O2lmKGk+Milmb3IodmFyIGE9ZS5oaXN0b3J5VGltZS5sZW5ndGgtMSxzPWUuaGlzdG9yeVRpbWVbYV0sYz1lLmhpc3RvcnlYW2FdLHU9ZS5oaXN0b3J5WVthXTthPjA7KXthLS07dmFyIGw9ZS5oaXN0b3J5VGltZVthXSxmPXMtbDtpZihmPjMwJiZmPDUwKXtvLng9KGMtZS5oaXN0b3J5WFthXSkvKGYvMWUzKSxvLnk9KHUtZS5oaXN0b3J5WVthXSkvKGYvMWUzKTticmVha319ZS5oaXN0b3J5VGltZT1bXSxlLmhpc3RvcnlYPVtdLGUuaGlzdG9yeVk9W10sciYmci5vblRvdWNoRW5kJiZyLm9uVG91Y2hFbmQobi54LG4ueSxvKX19fX19fSxjODBjOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5kKGUsImEiLChmdW5jdGlvbigpe3JldHVybiByfSkpLG4uZChlLCJkIiwoZnVuY3Rpb24oKXtyZXR1cm4gaX0pKSxuLmQoZSwiYyIsKGZ1bmN0aW9uKCl7cmV0dXJuIG99KSksbi5kKGUsImUiLChmdW5jdGlvbigpe3JldHVybiBhfSkpLG4uZChlLCJiIiwoZnVuY3Rpb24oKXtyZXR1cm4gc30pKTt2YXIgcj00NCxpPTUwLG89NzY4LGE9IlVOSV9MT0NBTEUiLHM9Im9uVGhlbWVDaGFuZ2UifSxjODU2OmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5yKGUpLGZ1bmN0aW9uKHQscil7ZnVuY3Rpb24gaSh0LGUpe2Zvcih2YXIgbj0wO248ZS5sZW5ndGg7bisrKXt2YXIgcj1lW25dO3IuZW51bWVyYWJsZT1yLmVudW1lcmFibGV8fCExLHIuY29uZmlndXJhYmxlPSEwLCJ2YWx1ZSJpbiByJiYoci53cml0YWJsZT0hMCksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsci5rZXkscil9fW4uZChlLCJjb25uZWN0U29ja2V0IiwoZnVuY3Rpb24oKXtyZXR1cm4gZn0pKSxuLmQoZSwic2VuZFNvY2tldE1lc3NhZ2UiLChmdW5jdGlvbigpe3JldHVybiBkfSkpLG4uZChlLCJjbG9zZVNvY2tldCIsKGZ1bmN0aW9uKCl7cmV0dXJuIGh9KSksbi5kKGUsIm9uU29ja2V0T3BlbiIsKGZ1bmN0aW9uKCl7cmV0dXJuIHZ9KSksbi5kKGUsIm9uU29ja2V0RXJyb3IiLChmdW5jdGlvbigpe3JldHVybiBnfSkpLG4uZChlLCJvblNvY2tldE1lc3NhZ2UiLChmdW5jdGlvbigpe3JldHVybiBtfSkpLG4uZChlLCJvblNvY2tldENsb3NlIiwoZnVuY3Rpb24oKXtyZXR1cm4gYn0pKTt2YXIgbz10LGE9by5pbnZva2VDYWxsYmFja0hhbmRsZXIscz1bIm9wZW4iLCJjbG9zZSIsImVycm9yIiwibWVzc2FnZSJdLGM9e30sdT1bXSxsPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdChlLG4saSl7dmFyIG8sbD10aGlzOyhmdW5jdGlvbih0LGUpe2lmKCEodCBpbnN0YW5jZW9mIGUpKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvbiIpfSkodGhpcyx0KSxmdW5jdGlvbih0LGUsbil7ZSBpbiB0P09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGUse3ZhbHVlOm4sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITB9KTp0W2VdPW59KHRoaXMsIl93ZWJTb2NrZXQiLHZvaWQgMCk7dHJ5e3ZhciBmPXRoaXMuX3dlYlNvY2tldD1uZXcgV2ViU29ja2V0KGUsbik7Zi5iaW5hcnlUeXBlPSJhcnJheWJ1ZmZlciIsdGhpcy5fY2FsbGJhY2tzPXt9LHMuZm9yRWFjaCgoZnVuY3Rpb24odCl7bC5fY2FsbGJhY2tzW3RdPVtdLGYuYWRkRXZlbnRMaXN0ZW5lcih0LChmdW5jdGlvbihlKXt2YXIgbj1lLmRhdGEsaT1lLmNvZGUsbz1lLnJlYXNvbixzPSJtZXNzYWdlIj09PXQ/e2RhdGE6bn06ImNsb3NlIj09PXQ/e2NvZGU6aSxyZWFzb246b306e307aWYobC5fY2FsbGJhY2tzW3RdLmZvckVhY2goKGZ1bmN0aW9uKGUpe3RyeXtlKHMpfWNhdGNoKG4pe3IuZXJyb3IoInRoaXJkU2NyaXB0RXJyb3JcbiIuY29uY2F0KG4sIjthdCBzb2NrZXRUYXNrLm9uIikuY29uY2F0KHRbMF0udG9VcHBlckNhc2UoKSt0LnN1YnN0cigxKSwiIGNhbGxiYWNrIGZ1bmN0aW9uXG4iKSxuKX19KSksbD09PXVbMF0mJmNbdF0mJmEoY1t0XSxzKSwiZXJyb3IiPT09dHx8ImNsb3NlIj09PXQpe3ZhciBmPXUuaW5kZXhPZihsKTtmPj0wJiZ1LnNwbGljZShmLDEpfX0pKX0pKTtbIkNMT1NFRCIsIkNMT1NJTkciLCJDT05ORUNUSU5HIiwiT1BFTiIsInJlYWR5U3RhdGUiXS5mb3JFYWNoKChmdW5jdGlvbih0KXtPYmplY3QuZGVmaW5lUHJvcGVydHkobCx0LHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gZlt0XX19KX0pKX1jYXRjaChkKXtvPWR9aShvLHRoaXMpfXJldHVybiBmdW5jdGlvbih0LGUsbil7ZSYmaSh0LnByb3RvdHlwZSxlKSxuJiZpKHQsbil9KHQsW3trZXk6InNlbmQiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIHQ9YXJndW1lbnRzLmxlbmd0aD4wJiZ2b2lkIDAhPT1hcmd1bWVudHNbMF0/YXJndW1lbnRzWzBdOnt9LGU9dC5kYXRhLG49dGhpcy5fd2ViU29ja2V0O3RyeXtpZihuLnJlYWR5U3RhdGUhPT1uLk9QRU4pdGhyb3cgbmV3IEVycm9yKCJTb2NrZXRUYXNrLnJlYWR5U3RhdGUgaXMgbm90IE9QRU4iKTtuLnNlbmQoZSksdGhpcy5fY2FsbGJhY2sodCwic2VuZFNvY2tldE1lc3NhZ2U6b2siKX1jYXRjaChyKXt0aGlzLl9jYWxsYmFjayh0LCJzZW5kU29ja2V0TWVzc2FnZTpmYWlsICIuY29uY2F0KHIpKX19fSx7a2V5OiJjbG9zZSIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgdD1hcmd1bWVudHMubGVuZ3RoPjAmJnZvaWQgMCE9PWFyZ3VtZW50c1swXT9hcmd1bWVudHNbMF06e30sZT10aGlzLl93ZWJTb2NrZXQsbj1bXTtuLnB1c2godC5jb2RlfHwxZTMpLCJzdHJpbmciPT09dHlwZW9mIHQucmVhc29uJiZuLnB1c2godC5yZWFzb24pO3RyeXtlLmNsb3NlLmFwcGx5KGUsbiksdGhpcy5fY2FsbGJhY2sodCwiY2xvc2VTb2NrZXQ6b2siKX1jYXRjaChyKXt0aGlzLl9jYWxsYmFjayh0LCJjbG9zZVNvY2tldDpmYWlsICIuY29uY2F0KHIpKX19fSx7a2V5OiJfY2FsbGJhY2siLHZhbHVlOmZ1bmN0aW9uKHQsZSl7dmFyIG49dC5zdWNjZXNzLHI9dC5mYWlsLGk9dC5jb21wbGV0ZSxvPXtlcnJNc2c6ZX07LzpvayQvLnRlc3QoZSk/ImZ1bmN0aW9uIj09PXR5cGVvZiBuJiZuKG8pOiJmdW5jdGlvbiI9PT10eXBlb2YgciYmcihvKSwiZnVuY3Rpb24iPT09dHlwZW9mIGkmJmkobyl9fV0pLHR9KCk7ZnVuY3Rpb24gZih0LGUpe3ZhciBuPXQudXJsLHI9dC5wcm90b2NvbHM7cmV0dXJuIG5ldyBsKG4sciwoZnVuY3Rpb24odCxuKXt0fHx1LnB1c2gobiksYShlLHtlcnJNc2c6ImNvbm5lY3RTb2NrZXQ6IisodD8iZmFpbCAiLmNvbmNhdCh0KToib2siKX0pfSkpfWZ1bmN0aW9uIGQodCxlKXt2YXIgbj11WzBdO24mJm4ucmVhZHlTdGF0ZT09PW4uT1BFTj9uLnNlbmQoT2JqZWN0LmFzc2lnbih7fSx0LHtjb21wbGV0ZTpmdW5jdGlvbih0KXthKGUsdCl9fSkpOmEoZSx7ZXJyTXNnOiJzZW5kU29ja2V0TWVzc2FnZTpmYWlsIFdlYlNvY2tldCBpcyBub3QgY29ubmVjdGVkICJ9KX1mdW5jdGlvbiBoKHQsZSl7dmFyIG49dVswXTtuP24uY2xvc2UoT2JqZWN0LmFzc2lnbih7fSx0LHtjb21wbGV0ZTpmdW5jdGlvbih0KXthKGUsdCl9fSkpOmEoZSx7ZXJyTXNnOiJjbG9zZVNvY2tldDpmYWlsIFdlYlNvY2tldCBpcyBub3QgY29ubmVjdGVkIn0pfWZ1bmN0aW9uIHAodCl7cmV0dXJuIGZ1bmN0aW9uKGUpe2NbdF09ZX19cy5mb3JFYWNoKChmdW5jdGlvbih0KXt2YXIgZT10WzBdLnRvVXBwZXJDYXNlKCkrdC5zdWJzdHIoMSk7bC5wcm90b3R5cGVbIm9uIi5jb25jYXQoZSldPWZ1bmN0aW9uKGUpe3RoaXMuX2NhbGxiYWNrc1t0XS5wdXNoKGUpfX0pKTt2YXIgdj1wKCJvcGVuIiksZz1wKCJlcnJvciIpLG09cCgibWVzc2FnZSIpLGI9cCgiY2xvc2UiKX0uY2FsbCh0aGlzLG4oIjJjOWYiKSxuKCI0MThiIilbImRlZmF1bHQiXSl9LGM4Nzk6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtuLmQoZSwiYSIsKGZ1bmN0aW9uKCl7cmV0dXJuIGF9KSk7dmFyIHI9bigiOTc5OCIpLGk9e30sbz0wO2Z1bmN0aW9uIGEodCl7dmFyIGU9IShhcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXSl8fGFyZ3VtZW50c1sxXTtvKys7dmFyIG49bmV3IHJbImEiXShvLHQpO3JldHVybiBlJiYoaVtvXT1uKSxufX0sYzg4NTpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjViNWYiKSxpPW4ubihyKTtpLmF9LGM4OGU6ZnVuY3Rpb24odCxlKXt2YXIgbj1bXS5jb25jYXQoWyJiYXNlNjRUb0FycmF5QnVmZmVyIiwiYXJyYXlCdWZmZXJUb0Jhc2U2NCIsImFkZEludGVyY2VwdG9yIiwicmVtb3ZlSW50ZXJjZXB0b3IiLCJpbnRlcmNlcHRvcnMiXSxbInJlcXVlc3QiLCJ1cGxvYWRGaWxlIiwiZG93bmxvYWRGaWxlIiwiY29ubmVjdFNvY2tldCIsIm9uU29ja2V0T3BlbiIsIm9uU29ja2V0RXJyb3IiLCJzZW5kU29ja2V0TWVzc2FnZSIsIm9uU29ja2V0TWVzc2FnZSIsImNsb3NlU29ja2V0Iiwib25Tb2NrZXRDbG9zZSIsImdldFVwZGF0ZU1hbmFnZXIiLCJjb25maWdNVExTIl0sWyJuYXZpZ2F0ZVRvIiwicmVkaXJlY3RUbyIsInJlTGF1bmNoIiwic3dpdGNoVGFiIiwibmF2aWdhdGVCYWNrIl0sWyJzZXRTdG9yYWdlIiwic2V0U3RvcmFnZVN5bmMiLCJnZXRTdG9yYWdlIiwiZ2V0U3RvcmFnZVN5bmMiLCJnZXRTdG9yYWdlSW5mbyIsImdldFN0b3JhZ2VJbmZvU3luYyIsInJlbW92ZVN0b3JhZ2UiLCJyZW1vdmVTdG9yYWdlU3luYyIsImNsZWFyU3RvcmFnZSIsImNsZWFyU3RvcmFnZVN5bmMiXSxbImdldExvY2F0aW9uIiwiY2hvb3NlTG9jYXRpb24iLCJvcGVuTG9jYXRpb24iLCJjcmVhdGVNYXBDb250ZXh0Iiwib25Mb2NhdGlvbkNoYW5nZSIsIm9uTG9jYXRpb25DaGFuZ2VFcnJvciIsInN0YXJ0TG9jYXRpb25VcGRhdGUiLCJzdG9wTG9jYXRpb25VcGRhdGUiLCJvZmZMb2NhdGlvbkNoYW5nZSIsIm9mZkxvY2F0aW9uQ2hhbmdlRXJyb3IiXSxbImNob29zZUltYWdlIiwiY2hvb3NlRmlsZSIsInByZXZpZXdJbWFnZSIsImNsb3NlUHJldmlld0ltYWdlIiwiZ2V0SW1hZ2VJbmZvIiwiZ2V0VmlkZW9JbmZvIiwic2F2ZUltYWdlVG9QaG90b3NBbGJ1bSIsImNvbXByZXNzSW1hZ2UiLCJjb21wcmVzc1ZpZGVvIiwiZ2V0UmVjb3JkZXJNYW5hZ2VyIiwiZ2V0QmFja2dyb3VuZEF1ZGlvTWFuYWdlciIsImNyZWF0ZUF1ZGlvQ29udGV4dCIsImNyZWF0ZUlubmVyQXVkaW9Db250ZXh0IiwiY2hvb3NlVmlkZW8iLCJzYXZlVmlkZW9Ub1Bob3Rvc0FsYnVtIiwiY3JlYXRlVmlkZW9Db250ZXh0IiwiY3JlYXRlQ2FtZXJhQ29udGV4dCIsImNyZWF0ZUxpdmVQbGF5ZXJDb250ZXh0IiwiY3JlYXRlTGl2ZVB1c2hlckNvbnRleHQiXSxbImdldFN5c3RlbUluZm8iLCJnZXRTeXN0ZW1JbmZvU3luYyIsImdldFdpbmRvd0luZm8iLCJnZXREZXZpY2VJbmZvIiwiZ2V0QXBwQmFzZUluZm8iLCJjYW5JVXNlIiwib25NZW1vcnlXYXJuaW5nIiwiZ2V0TmV0d29ya1R5cGUiLCJvbk5ldHdvcmtTdGF0dXNDaGFuZ2UiLCJvZmZOZXR3b3JrU3RhdHVzQ2hhbmdlIiwib25BY2NlbGVyb21ldGVyQ2hhbmdlIiwib2ZmQWNjZWxlcm9tZXRlckNoYW5nZSIsInN0YXJ0QWNjZWxlcm9tZXRlciIsInN0b3BBY2NlbGVyb21ldGVyIiwib25Db21wYXNzQ2hhbmdlIiwib2ZmQ29tcGFzc0NoYW5nZSIsInN0YXJ0Q29tcGFzcyIsInN0b3BDb21wYXNzIiwib25HeXJvc2NvcGVDaGFuZ2UiLCJzdGFydEd5cm9zY29wZSIsInN0b3BHeXJvc2NvcGUiLCJtYWtlUGhvbmVDYWxsIiwic2NhbkNvZGUiLCJzZXRDbGlwYm9hcmREYXRhIiwiZ2V0Q2xpcGJvYXJkRGF0YSIsInNldFNjcmVlbkJyaWdodG5lc3MiLCJnZXRTY3JlZW5CcmlnaHRuZXNzIiwic2V0S2VlcFNjcmVlbk9uIiwib25Vc2VyQ2FwdHVyZVNjcmVlbiIsInZpYnJhdGVMb25nIiwidmlicmF0ZVNob3J0IiwiYWRkUGhvbmVDb250YWN0Iiwib3BlbkJsdWV0b290aEFkYXB0ZXIiLCJzdGFydEJsdWV0b290aERldmljZXNEaXNjb3ZlcnkiLCJvbkJsdWV0b290aERldmljZUZvdW5kIiwic3RvcEJsdWV0b290aERldmljZXNEaXNjb3ZlcnkiLCJvbkJsdWV0b290aEFkYXB0ZXJTdGF0ZUNoYW5nZSIsImdldENvbm5lY3RlZEJsdWV0b290aERldmljZXMiLCJnZXRCbHVldG9vdGhEZXZpY2VzIiwiZ2V0Qmx1ZXRvb3RoQWRhcHRlclN0YXRlIiwiY2xvc2VCbHVldG9vdGhBZGFwdGVyIiwid3JpdGVCTEVDaGFyYWN0ZXJpc3RpY1ZhbHVlIiwicmVhZEJMRUNoYXJhY3RlcmlzdGljVmFsdWUiLCJvbkJMRUNvbm5lY3Rpb25TdGF0ZUNoYW5nZSIsIm9uQkxFQ2hhcmFjdGVyaXN0aWNWYWx1ZUNoYW5nZSIsIm5vdGlmeUJMRUNoYXJhY3RlcmlzdGljVmFsdWVDaGFuZ2UiLCJnZXRCTEVEZXZpY2VTZXJ2aWNlcyIsImdldEJMRURldmljZUNoYXJhY3RlcmlzdGljcyIsImNyZWF0ZUJMRUNvbm5lY3Rpb24iLCJjbG9zZUJMRUNvbm5lY3Rpb24iLCJzZXRCTEVNVFUiLCJnZXRCTEVEZXZpY2VSU1NJIiwib25CZWFjb25TZXJ2aWNlQ2hhbmdlIiwib25CZWFjb25VcGRhdGUiLCJnZXRCZWFjb25zIiwic3RhcnRCZWFjb25EaXNjb3ZlcnkiLCJzdG9wQmVhY29uRGlzY292ZXJ5IiwiY2hlY2tJc1N1cHBvcnRTb3RlckF1dGhlbnRpY2F0aW9uIiwiY2hlY2tJc1NvdGVyRW5yb2xsZWRJbkRldmljZSIsInN0YXJ0U290ZXJBdXRoZW50aWNhdGlvbiIsIm9uVGhlbWVDaGFuZ2UiLCJvZmZUaGVtZUNoYW5nZSIsIm9uVUlTdHlsZUNoYW5nZSIsImdldFN5c3RlbVNldHRpbmciLCJnZXRBcHBBdXRob3JpemVTZXR0aW5nIiwib3BlbkFwcEF1dGhvcml6ZVNldHRpbmciXSxbImhpZGVLZXlib2FyZCIsIm9uS2V5Ym9hcmRIZWlnaHRDaGFuZ2UiLCJvZmZLZXlib2FyZEhlaWdodENoYW5nZSIsImdldFNlbGVjdGVkVGV4dFJhbmdlIl0sWyJzaG93VG9hc3QiLCJoaWRlVG9hc3QiLCJzaG93TG9hZGluZyIsImhpZGVMb2FkaW5nIiwic2hvd01vZGFsIiwic2hvd0FjdGlvblNoZWV0Iiwic2V0TmF2aWdhdGlvbkJhclRpdGxlIiwic2V0TmF2aWdhdGlvbkJhckNvbG9yIiwic2hvd05hdmlnYXRpb25CYXJMb2FkaW5nIiwiaGlkZU5hdmlnYXRpb25CYXJMb2FkaW5nIiwic2V0VGFiQmFySXRlbSIsInNldFRhYkJhclN0eWxlIiwiaGlkZVRhYkJhciIsInNob3dUYWJCYXIiLCJzZXRUYWJCYXJCYWRnZSIsInJlbW92ZVRhYkJhckJhZGdlIiwic2hvd1RhYkJhclJlZERvdCIsImhpZGVUYWJCYXJSZWREb3QiLCJvblRhYkJhck1pZEJ1dHRvblRhcCIsInNldEJhY2tncm91bmRDb2xvciIsInNldEJhY2tncm91bmRUZXh0U3R5bGUiLCJjcmVhdGVBbmltYXRpb24iLCJwYWdlU2Nyb2xsVG8iLCJvbldpbmRvd1Jlc2l6ZSIsIm9mZldpbmRvd1Jlc2l6ZSIsImxvYWRGb250RmFjZSIsInN0YXJ0UHVsbERvd25SZWZyZXNoIiwic3RvcFB1bGxEb3duUmVmcmVzaCIsImNyZWF0ZVNlbGVjdG9yUXVlcnkiLCJjcmVhdGVJbnRlcnNlY3Rpb25PYnNlcnZlciIsImNyZWF0ZU1lZGlhUXVlcnlPYnNlcnZlciIsImdldE1lbnVCdXR0b25Cb3VuZGluZ0NsaWVudFJlY3QiLCJzaG93VG9wV2luZG93Iiwic2hvd0xlZnRXaW5kb3ciLCJzaG93UmlnaHRXaW5kb3ciLCJoaWRlVG9wV2luZG93IiwiaGlkZUxlZnRXaW5kb3ciLCJoaWRlUmlnaHRXaW5kb3ciLCJnZXRUb3BXaW5kb3dTdHlsZSIsImdldExlZnRXaW5kb3dTdHlsZSIsImdldFJpZ2h0V2luZG93U3R5bGUiLCJzZXRUb3BXaW5kb3dTdHlsZSIsInNldExlZnRXaW5kb3dTdHlsZSIsInNldFJpZ2h0V2luZG93U3R5bGUiLCJnZXRMb2NhbGUiLCJzZXRMb2NhbGUiLCJvbkxvY2FsZUNoYW5nZSJdLFsiJGVtaXQiLCIkb24iLCIkb25jZSIsIiRvZmYiXSxbInNhdmVGaWxlIiwiZ2V0U2F2ZWRGaWxlTGlzdCIsImdldFNhdmVkRmlsZUluZm8iLCJyZW1vdmVTYXZlZEZpbGUiLCJnZXRGaWxlSW5mbyIsIm9wZW5Eb2N1bWVudCIsImdldEZpbGVTeXN0ZW1NYW5hZ2VyIl0sWyJjcmVhdGVPZmZzY3JlZW5DYW52YXMiLCJjcmVhdGVDYW52YXNDb250ZXh0IiwiY2FudmFzVG9UZW1wRmlsZVBhdGgiLCJjYW52YXNQdXRJbWFnZURhdGEiLCJjYW52YXNHZXRJbWFnZURhdGEiXSxbImdldFByb3ZpZGVyIiwibG9naW4iLCJjaGVja1Nlc3Npb24iLCJnZXRVc2VySW5mbyIsImdldFVzZXJQcm9maWxlIiwicHJlTG9naW4iLCJjbG9zZUF1dGhWaWV3IiwiZ2V0Q2hlY2tCb3hTdGF0ZSIsImdldFVuaXZlcmlmeU1hbmFnZXIiLCJzaGFyZSIsInNoYXJlV2l0aFN5c3RlbSIsInNob3dTaGFyZU1lbnUiLCJoaWRlU2hhcmVNZW51IiwicmVxdWVzdFBheW1lbnQiLCJzdWJzY3JpYmVQdXNoIiwidW5zdWJzY3JpYmVQdXNoIiwib25QdXNoIiwib2ZmUHVzaCIsInJlcXVpcmVOYXRpdmVQbHVnaW4iLCJ1cHgycHgiLCJyZXN0b3JlR2xvYmFsIiwicmVxdWlyZUdsb2JhbCIsImdldFN1Yk5WdWVCeUlkIiwiZ2V0Q3VycmVudFN1Yk5WdWUiLCJzZXRQYWdlTWV0YSIsIm9uSG9zdEV2ZW50UmVjZWl2ZSIsIm9uTmF0aXZlRXZlbnRSZWNlaXZlIiwic2VuZE5hdGl2ZUV2ZW50IiwicHJlbG9hZFBhZ2UiLCJ1blByZWxvYWRQYWdlIiwibG9hZFN1YlBhY2thZ2UiLCJzZW5kSG9zdEV2ZW50IiwibmF2aWdhdGVUb01pbmlQcm9ncmFtIiwiZ2V0TGF1bmNoT3B0aW9uc1N5bmMiLCJnZXRFbnRlck9wdGlvbnNTeW5jIiwiaW5pdFVUU1Byb3h5Q2xhc3MiLCJpbml0VVRTUHJveHlGdW5jdGlvbiIsImluaXRVVFNJbmRleENsYXNzTmFtZSIsImluaXRVVFNDbGFzc05hbWUiLCJpbml0VVRTUGFja2FnZU5hbWUiLCJyZXF1aXJlVVRTUGx1Z2luIiwicmVnaXN0ZXJVVFNQbHVnaW4iLCJyZWdpc3RlclVUU0ludGVyZmFjZSJdLFsiY3JlYXRlUmV3YXJkZWRWaWRlb0FkIiwiY3JlYXRlRnVsbFNjcmVlblZpZGVvQWQiLCJjcmVhdGVJbnRlcnN0aXRpYWxBZCIsImNyZWF0ZUludGVyYWN0aXZlQWQiXSxbImludm9rZVB1c2hDYWxsYmFjayIsImdldFB1c2hDbGllbnRJZCIsIm9uUHVzaE1lc3NhZ2UiLCJvZmZQdXNoTWVzc2FnZSIsImNyZWF0ZVB1c2hNZXNzYWdlIiwiZ2V0Q2hhbm5lbE1hbmFnZXIiXSk7dC5leHBvcnRzPW59LGM5M2Y6ZnVuY3Rpb24odCxlLG4pe30sYzlkNTpmdW5jdGlvbih0LGUsbil7fSxjOWRhOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5yKGUpLG4uZChlLCJpbnRlcmNlcHRvcnMiLChmdW5jdGlvbigpe3JldHVybiBpfSkpO3ZhciByPW4oImY0NGMiKTtuLmQoZSwiYWRkSW50ZXJjZXB0b3IiLChmdW5jdGlvbigpe3JldHVybiByWyJhIl19KSksbi5kKGUsInJlbW92ZUludGVyY2VwdG9yIiwoZnVuY3Rpb24oKXtyZXR1cm4gclsiZCJdfSkpO3ZhciBpPXtwcm9taXNlSW50ZXJjZXB0b3I6clsiYyJdfX0sY2EzNzpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO24ucihlKTt2YXIgcj1uKCI5MDllIiksaT17bmFtZToiQ2hlY2tib3giLG1peGluczpbclsiYSJdLHJbImYiXV0scHJvcHM6e2NoZWNrZWQ6e3R5cGU6W0Jvb2xlYW4sU3RyaW5nXSxkZWZhdWx0OiExfSxpZDp7dHlwZTpTdHJpbmcsZGVmYXVsdDoiIn0sZGlzYWJsZWQ6e3R5cGU6W0Jvb2xlYW4sU3RyaW5nXSxkZWZhdWx0OiExfSx2YWx1ZTp7dHlwZTpTdHJpbmcsZGVmYXVsdDoiIn0sY29sb3I6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6IiMwMDdhZmYifSxiYWNrZ3JvdW5kQ29sb3I6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6IiJ9LGJvcmRlckNvbG9yOnt0eXBlOlN0cmluZyxkZWZhdWx0OiIifSxhY3RpdmVCYWNrZ3JvdW5kQ29sb3I6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6IiJ9LGFjdGl2ZUJvcmRlckNvbG9yOnt0eXBlOlN0cmluZyxkZWZhdWx0OiIifSxpY29uQ29sb3I6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6IiJ9fSxkYXRhOmZ1bmN0aW9uKCl7cmV0dXJue2NoZWNrYm94Q2hlY2tlZDp0aGlzLmNoZWNrZWQsY2hlY2tib3hWYWx1ZTp0aGlzLnZhbHVlfX0sY29tcHV0ZWQ6e2NoZWNrYm94U3R5bGU6ZnVuY3Rpb24oKXtpZih0aGlzLmRpc2FibGVkKXJldHVybntiYWNrZ3JvdW5kQ29sb3I6IiNFMUUxRTEiLGJvcmRlckNvbG9yOiIjRDFEMUQxIn07dmFyIHQ9e307cmV0dXJuIHRoaXMuY2hlY2tib3hDaGVja2VkPyh0LmNvbG9yPXRoaXMuaWNvbkNvbG9yfHx0aGlzLmNvbG9yLHRoaXMuYWN0aXZlQm9yZGVyQ29sb3ImJih0LmJvcmRlckNvbG9yPXRoaXMuYWN0aXZlQm9yZGVyQ29sb3IpLHRoaXMuYWN0aXZlQmFja2dyb3VuZENvbG9yJiYodC5iYWNrZ3JvdW5kQ29sb3I9dGhpcy5hY3RpdmVCYWNrZ3JvdW5kQ29sb3IpKToodGhpcy5ib3JkZXJDb2xvciYmKHQuYm9yZGVyQ29sb3I9dGhpcy5ib3JkZXJDb2xvciksdGhpcy5iYWNrZ3JvdW5kQ29sb3ImJih0LmJhY2tncm91bmRDb2xvcj10aGlzLmJhY2tncm91bmRDb2xvcikpLHR9fSx3YXRjaDp7Y2hlY2tlZDpmdW5jdGlvbih0KXt0aGlzLmNoZWNrYm94Q2hlY2tlZD10fSx2YWx1ZTpmdW5jdGlvbih0KXt0aGlzLmNoZWNrYm94VmFsdWU9dH19LGxpc3RlbmVyczp7ImxhYmVsLWNsaWNrIjoiX29uQ2xpY2siLCJAbGFiZWwtY2xpY2siOiJfb25DbGljayJ9LGNyZWF0ZWQ6ZnVuY3Rpb24oKXt0aGlzLiRkaXNwYXRjaCgiQ2hlY2tib3hHcm91cCIsInVuaS1jaGVja2JveC1ncm91cC11cGRhdGUiLHt0eXBlOiJhZGQiLHZtOnRoaXN9KSx0aGlzLiRkaXNwYXRjaCgiRm9ybSIsInVuaS1mb3JtLWdyb3VwLXVwZGF0ZSIse3R5cGU6ImFkZCIsdm06dGhpc30pfSxiZWZvcmVEZXN0cm95OmZ1bmN0aW9uKCl7dGhpcy4kZGlzcGF0Y2goIkNoZWNrYm94R3JvdXAiLCJ1bmktY2hlY2tib3gtZ3JvdXAtdXBkYXRlIix7dHlwZToicmVtb3ZlIix2bTp0aGlzfSksdGhpcy4kZGlzcGF0Y2goIkZvcm0iLCJ1bmktZm9ybS1ncm91cC11cGRhdGUiLHt0eXBlOiJyZW1vdmUiLHZtOnRoaXN9KX0sbWV0aG9kczp7X29uQ2xpY2s6ZnVuY3Rpb24odCl7dGhpcy5kaXNhYmxlZHx8KHRoaXMuY2hlY2tib3hDaGVja2VkPSF0aGlzLmNoZWNrYm94Q2hlY2tlZCx0aGlzLiRkaXNwYXRjaCgiQ2hlY2tib3hHcm91cCIsInVuaS1jaGVja2JveC1jaGFuZ2UiLHQpKX0sX3Jlc2V0Rm9ybURhdGE6ZnVuY3Rpb24oKXt0aGlzLmNoZWNrYm94Q2hlY2tlZD0hMX19fSxvPWksYT0obigiY2IzNSIpLG4oIjg4NDQiKSkscz1PYmplY3QoYVsiYSJdKShvLChmdW5jdGlvbigpe3ZhciB0PXRoaXMsZT10LiRjcmVhdGVFbGVtZW50LG49dC5fc2VsZi5fY3x8ZTtyZXR1cm4gbigidW5pLWNoZWNrYm94Iix0Ll9nKHthdHRyczp7ZGlzYWJsZWQ6dC5kaXNhYmxlZH0sb246e2NsaWNrOnQuX29uQ2xpY2t9fSx0LiRsaXN0ZW5lcnMpLFtuKCJkaXYiLHtzdGF0aWNDbGFzczoidW5pLWNoZWNrYm94LXdyYXBwZXIiLHN0eWxlOnsiLS1IT1ZFUi1CRC1DT0xPUiI6dC5hY3RpdmVCb3JkZXJDb2xvcn19LFtuKCJkaXYiLHtzdGF0aWNDbGFzczoidW5pLWNoZWNrYm94LWlucHV0IixjbGFzczp7InVuaS1jaGVja2JveC1pbnB1dC1jaGVja2VkIjp0LmNoZWNrYm94Q2hlY2tlZCwidW5pLWNoZWNrYm94LWlucHV0LWRpc2FibGVkIjp0LmRpc2FibGVkfSxzdHlsZTp0LmNoZWNrYm94U3R5bGV9KSx0Ll90KCJkZWZhdWx0IildLDIpXSl9KSxbXSwhMSxudWxsLG51bGwsbnVsbCk7ZVsiZGVmYXVsdCJdPXMuZXhwb3J0c30sY2E1NDpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oImM0OTAiKSxpPW4ubihyKTtpLmF9LGNiMzU6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCJjZGIxIiksaT1uLm4ocik7aS5hfSxjYmQwOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiZDRmYyIpLGk9bi5uKHIpO2kuYX0sY2JlMjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjY3MjkiKSxpPW4ubihyKTtpLmF9LGNjZGY6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtuLnIoZSksbi5kKGUsIm9uV2luZG93UmVzaXplIiwoZnVuY3Rpb24oKXtyZXR1cm4gYX0pKSxuLmQoZSwib2ZmV2luZG93UmVzaXplIiwoZnVuY3Rpb24oKXtyZXR1cm4gc30pKTt2YXIgcj1uKCI5MTMxIiksaT1uKCI3NDVhIiksbz1bXTtmdW5jdGlvbiBhKHQpe28ucHVzaCh0KX1mdW5jdGlvbiBzKHQpe28uc3BsaWNlKG8uaW5kZXhPZih0KSwxKX1PYmplY3QoaVsiZCJdKSgib25WaWV3RGlkUmVzaXplIiwoZnVuY3Rpb24odCl7by5mb3JFYWNoKChmdW5jdGlvbihlKXtPYmplY3QoclsiYSJdKShlLHQpfSkpfSkpfSxjY2UyOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5kKGUsImIiLChmdW5jdGlvbigpe3JldHVybiBsfSkpLG4uZChlLCJhIiwoZnVuY3Rpb24oKXtyZXR1cm4gYn0pKTt2YXIgcj1uKCIzNDBkIiksaT1uKCIzOGNlIiksbz1uKCI1ODQ0IiksYT1uKCI4ZDdkIik7ZnVuY3Rpb24gcyh0LGUpe3ZhciBuPXtpZDp0LmlkLG9mZnNldExlZnQ6dC5vZmZzZXRMZWZ0LG9mZnNldFRvcDp0Lm9mZnNldFRvcCxkYXRhc2V0Ok9iamVjdChpWyJiIl0pKHQpfTtyZXR1cm4gZSYmT2JqZWN0LmFzc2lnbihuLGUpLG59ZnVuY3Rpb24gYyh0KXtpZih0KXtmb3IodmFyIGU9W10sbj1PYmplY3QoYVsiYSJdKSgpLHI9bi50b3AsaT0wO2k8dC5sZW5ndGg7aSsrKXt2YXIgbz10W2ldO2UucHVzaCh7aWRlbnRpZmllcjpvLmlkZW50aWZpZXIscGFnZVg6by5wYWdlWCxwYWdlWTpvLnBhZ2VZLXIsY2xpZW50WDpvLmNsaWVudFgsY2xpZW50WTpvLmNsaWVudFktcixmb3JjZTpvLmZvcmNlfHwwfSl9cmV0dXJuIGV9cmV0dXJuW119ZnVuY3Rpb24gdSh0KXtyZXR1cm4gdC5zdGFydHNXaXRoKCJtb3VzZSIpfHxbImNvbnRleHRtZW51Il0uaW5jbHVkZXModCl9ZnVuY3Rpb24gbCh0KXt2YXIgZT1hcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXT9hcmd1bWVudHNbMV06e30sbj1hcmd1bWVudHMubGVuZ3RoPjImJnZvaWQgMCE9PWFyZ3VtZW50c1syXT9hcmd1bWVudHNbMl06e30scj1hcmd1bWVudHMubGVuZ3RoPjMmJnZvaWQgMCE9PWFyZ3VtZW50c1szXT9hcmd1bWVudHNbM106e30saT1hcmd1bWVudHMubGVuZ3RoPjQmJnZvaWQgMCE9PWFyZ3VtZW50c1s0XT9hcmd1bWVudHNbNF06e307aWYoZS5fcHJvY2Vzc2VkKXJldHVybiBlLnR5cGU9bi50eXBlfHx0LGU7aWYoImNsaWNrIj09PXQpe3ZhciBsPU9iamVjdChhWyJhIl0pKCksZj1sLnRvcDtuPXt4OmUueCx5OmUueS1mfSxlLnRvdWNoZXM9ZS5jaGFuZ2VkVG91Y2hlcz1be2ZvcmNlOjEsaWRlbnRpZmllcjowLGNsaWVudFg6ZS5jbGllbnRYLGNsaWVudFk6ZS5jbGllbnRZLHBhZ2VYOmUucGFnZVgscGFnZVk6ZS5wYWdlWX1dfXZhciBkPU9iamVjdChvWyJiIl0pKHt0eXBlOm4udHlwZXx8dCx0aW1lU3RhbXA6ZS50aW1lU3RhbXB8fDAsZGV0YWlsOm4sdGFyZ2V0OnMocixuKSxjdXJyZW50VGFyZ2V0OnMoaSwhMSwhMCksdG91Y2hlczplIGluc3RhbmNlb2YgRXZlbnR8fGUgaW5zdGFuY2VvZiBDdXN0b21FdmVudD9jKGUudG91Y2hlcyk6ZS50b3VjaGVzLGNoYW5nZWRUb3VjaGVzOmUgaW5zdGFuY2VvZiBFdmVudHx8ZSBpbnN0YW5jZW9mIEN1c3RvbUV2ZW50P2MoZS5jaGFuZ2VkVG91Y2hlcyk6ZS5jaGFuZ2VkVG91Y2hlcyxwcmV2ZW50RGVmYXVsdDpmdW5jdGlvbigpe30sc3RvcFByb3BhZ2F0aW9uOmZ1bmN0aW9uKCl7fX0pO2lmKHUodCkpe3ZhciBoPU9iamVjdChhWyJhIl0pKCkscD1oLnRvcDtkLnBhZ2VYPWUucGFnZVgsZC5wYWdlWT1lLnBhZ2VZLXAsZC5jbGllbnRYPWUuY2xpZW50WCxkLmNsaWVudFk9ZS5jbGllbnRZLXB9cmV0dXJuIGR9dmFyIGY9ISFyWyJ0Il0mJntwYXNzaXZlOiEwfSxkPSExO2Z1bmN0aW9uIGgoKXtkJiYoY2xlYXJUaW1lb3V0KGQpLGQ9ITEpfXZhciBwPTAsdj0wO2Z1bmN0aW9uIGcodCl7aWYoaCgpLDE9PT10LnRvdWNoZXMubGVuZ3RoKXt2YXIgZT10LnRvdWNoZXNbMF0sbj1lLnBhZ2VYLHI9ZS5wYWdlWTtwPW4sdj1yLGQ9c2V0VGltZW91dCgoZnVuY3Rpb24oKXt2YXIgZT1uZXcgQ3VzdG9tRXZlbnQoImxvbmdwcmVzcyIse2J1YmJsZXM6ITAsY2FuY2VsYWJsZTohMCx0YXJnZXQ6dC50YXJnZXQsY3VycmVudFRhcmdldDp0LmN1cnJlbnRUYXJnZXR9KTtlLnRvdWNoZXM9dC50b3VjaGVzLGUuY2hhbmdlZFRvdWNoZXM9dC5jaGFuZ2VkVG91Y2hlcyx0LnRhcmdldC5kaXNwYXRjaEV2ZW50KGUpfSksMzUwKX19ZnVuY3Rpb24gbSh0KXtpZihkKXtpZigxIT09dC50b3VjaGVzLmxlbmd0aClyZXR1cm4gaCgpO3ZhciBlPXQudG91Y2hlc1swXSxuPWUucGFnZVgscj1lLnBhZ2VZO3JldHVybiBNYXRoLmFicyhuLXApPjEwfHxNYXRoLmFicyhyLXYpPjEwP2goKTp2b2lkIDB9fWZ1bmN0aW9uIGIoKXt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsZyxmKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIixtLGYpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaGVuZCIsaCxmKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hjYW5jZWwiLGgsZil9fSxjZGIxOmZ1bmN0aW9uKHQsZSxuKXt9LGNlZGM6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtuLnIoZSksbi5kKGUsImFkZFBob25lQ29udGFjdCIsKGZ1bmN0aW9uKCl7cmV0dXJuIHJ9KSk7dmFyIHI9e2ZpcnN0TmFtZTp7dHlwZTpTdHJpbmcscmVxdWlyZWQ6ITAsdmFsaWRhdG9yOmZ1bmN0aW9uKHQpe2lmKCF0KXJldHVybiJhZGRQaG9uZUNvbnRhY3Q6ZmFpbCBwYXJhbWV0ZXIgZXJyb3I6IHBhcmFtZXRlci5maXJzdE5hbWUgc2hvdWxkIG5vdCBiZSBlbXB0eSBTdHJpbmc7In19fX0sY2Y5NzpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO24ucihlKSxuLmQoZSwiZG93bmxvYWRGaWxlIiwoZnVuY3Rpb24oKXtyZXR1cm4gY30pKTt2YXIgcj1uKCI5MTMxIiksaT1uKCI3NDVhIik7ZnVuY3Rpb24gbyh0LGUpe2Zvcih2YXIgbj0wO248ZS5sZW5ndGg7bisrKXt2YXIgcj1lW25dO3IuZW51bWVyYWJsZT1yLmVudW1lcmFibGV8fCExLHIuY29uZmlndXJhYmxlPSEwLCJ2YWx1ZSJpbiByJiYoci53cml0YWJsZT0hMCksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsci5rZXkscil9fXZhciBhPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdChlLG4peyhmdW5jdGlvbih0LGUpe2lmKCEodCBpbnN0YW5jZW9mIGUpKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvbiIpfSkodGhpcyx0KSx0aGlzLmlkPWUsdGhpcy5fY2FsbGJhY2tJZD1uLHRoaXMuX2NhbGxiYWNrcz1bXX1yZXR1cm4gZnVuY3Rpb24odCxlLG4pe2UmJm8odC5wcm90b3R5cGUsZSksbiYmbyh0LG4pfSh0LFt7a2V5OiJhYm9ydCIsdmFsdWU6ZnVuY3Rpb24oKXtPYmplY3QoaVsiYyJdKSgib3BlcmF0ZURvd25sb2FkVGFzayIse2Rvd25sb2FkVGFza0lkOnRoaXMuaWQsb3BlcmF0aW9uVHlwZToiYWJvcnQifSl9fSx7a2V5OiJvblByb2dyZXNzVXBkYXRlIix2YWx1ZTpmdW5jdGlvbih0KXsiZnVuY3Rpb24iPT09dHlwZW9mIHQmJnRoaXMuX2NhbGxiYWNrcy5wdXNoKHQpfX0se2tleToib25IZWFkZXJzUmVjZWl2ZWQiLHZhbHVlOmZ1bmN0aW9uKCl7fX0se2tleToib2ZmUHJvZ3Jlc3NVcGRhdGUiLHZhbHVlOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX2NhbGxiYWNrcy5pbmRleE9mKHQpO2U+PTAmJnRoaXMuX2NhbGxiYWNrcy5zcGxpY2UoZSwxKX19LHtrZXk6Im9mZkhlYWRlcnNSZWNlaXZlZCIsdmFsdWU6ZnVuY3Rpb24oKXt9fV0pLHR9KCkscz1PYmplY3QuY3JlYXRlKG51bGwpO2Z1bmN0aW9uIGModCxlKXt2YXIgbj1PYmplY3QoaVsiYyJdKSgiY3JlYXRlRG93bmxvYWRUYXNrIix0KSxyPW4uZG93bmxvYWRUYXNrSWQsbz1uZXcgYShyLGUpO3JldHVybiBzW3JdPW8sb31PYmplY3QoaVsiZCJdKSgib25Eb3dubG9hZFRhc2tTdGF0ZUNoYW5nZSIsKGZ1bmN0aW9uKHQpe3ZhciBlPXQuZG93bmxvYWRUYXNrSWQsbj10LnN0YXRlLGk9dC50ZW1wRmlsZVBhdGgsbz10LnN0YXR1c0NvZGUsYT10LnByb2dyZXNzLGM9dC50b3RhbEJ5dGVzV3JpdHRlbix1PXQudG90YWxCeXRlc0V4cGVjdGVkVG9Xcml0ZSxsPXQuZXJyTXNnLGY9c1tlXSxkPWYuX2NhbGxiYWNrSWQ7c3dpdGNoKG4pe2Nhc2UicHJvZ3Jlc3NVcGRhdGUiOmYuX2NhbGxiYWNrcy5mb3JFYWNoKChmdW5jdGlvbih0KXt0KHtwcm9ncmVzczphLHRvdGFsQnl0ZXNXcml0dGVuOmMsdG90YWxCeXRlc0V4cGVjdGVkVG9Xcml0ZTp1fSl9KSk7YnJlYWs7Y2FzZSJzdWNjZXNzIjpPYmplY3QoclsiYSJdKShkLHt0ZW1wRmlsZVBhdGg6aSxzdGF0dXNDb2RlOm8sZXJyTXNnOiJyZXF1ZXN0Om9rIn0pO2Nhc2UiZmFpbCI6T2JqZWN0KHJbImEiXSkoZCx7ZXJyTXNnOiJyZXF1ZXN0OmZhaWwgIitsfSk7ZGVmYXVsdDpzZXRUaW1lb3V0KChmdW5jdGlvbigpe2RlbGV0ZSBzW2VdfSksMTAwKTticmVha319KSl9LGNmZjk6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjsoZnVuY3Rpb24odCxyKXtmdW5jdGlvbiBpKGUsbixyKXtyZXR1cm4ib25FcnJvciIhPT1uJiZ0LmRlYnVnKCJBcHDvvJoiLmNvbmNhdChuLCIgaGF2ZSBiZWVuIGludm9rZWQiKSsocj8iICIuY29uY2F0KEpTT04uc3RyaW5naWZ5KHIpKToiIikpLGU9ZS4kdm18fGUsZS5fX2NhbGxfaG9vayYmZS5fX2NhbGxfaG9vayhuLHIpfWZ1bmN0aW9uIG8oZSxuLGkpe3JldHVybiJvbkxvYWQiPT09biYmKGUuJG1wLnF1ZXJ5PWksci5wdWJsaXNoSGFuZGxlcigib25QYWdlTG9hZCIsZSxlLiRwYWdlLmlkKSksIm9uU2hvdyI9PT1uJiYoZS4kcm91dGUubWV0YS5pc1RhYkJhciYmZS4kcm91dGUucGFyYW1zLmRldGFpbCYmc2V0VGltZW91dCgoZnVuY3Rpb24oKXtyLmVtaXQoIm9uVGFiSXRlbVRhcCIsZS4kcm91dGUucGFyYW1zLmRldGFpbCl9KSwwKSxyLnB1Ymxpc2hIYW5kbGVyKCJvblBhZ2VTaG93IixlLGUuJHBhZ2UuaWQpKSwib25QYWdlU2Nyb2xsIiE9PW4mJnQuZGVidWcoIiIuY29uY2F0KGUuJHBhZ2Uucm91dGUsIlsiKS5jb25jYXQoZS4kcGFnZS5pZCwiXe+8miIpLmNvbmNhdChuLCIgaGF2ZSBiZWVuIGludm9rZWQiKSksZnVuY3Rpb24odCxlLG4pe3JldHVybiB0PXQuJHZtfHx0LHQuX19jYWxsX2hvb2smJnQuX19jYWxsX2hvb2soZSxuKX0oZSxuLGkpfW4uZChlLCJhIiwoZnVuY3Rpb24oKXtyZXR1cm4gaX0pKSxuLmQoZSwiYiIsKGZ1bmN0aW9uKCl7cmV0dXJuIG99KSl9KS5jYWxsKHRoaXMsbigiNDE4YiIpWyJkZWZhdWx0Il0sbigiMmM5ZiIpKX0sZDA0MjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiOyhmdW5jdGlvbih0KXt2YXIgcj1uKCI5MDllIiksaT1uKCIzNDBkIiksbz1uKCI2ZDRiIiksYT1uKCJlNzZiIikscz1uKCI5YjZkIiksYz1uKCIwNGQ0IiksdT1uKCJiNDM1Iik7ZnVuY3Rpb24gbCh0LGUsbil7cmV0dXJuIGw9ZigpP1JlZmxlY3QuY29uc3RydWN0OmZ1bmN0aW9uKHQsZSxuKXt2YXIgcj1bbnVsbF07ci5wdXNoLmFwcGx5KHIsZSk7dmFyIGk9RnVuY3Rpb24uYmluZC5hcHBseSh0LHIpLG89bmV3IGk7cmV0dXJuIG4mJmQobyxuLnByb3RvdHlwZSksb30sbC5hcHBseShudWxsLGFyZ3VtZW50cyl9ZnVuY3Rpb24gZigpe2lmKCJ1bmRlZmluZWQiPT09dHlwZW9mIFJlZmxlY3R8fCFSZWZsZWN0LmNvbnN0cnVjdClyZXR1cm4hMTtpZihSZWZsZWN0LmNvbnN0cnVjdC5zaGFtKXJldHVybiExO2lmKCJmdW5jdGlvbiI9PT10eXBlb2YgUHJveHkpcmV0dXJuITA7dHJ5e3JldHVybiBEYXRlLnByb3RvdHlwZS50b1N0cmluZy5jYWxsKFJlZmxlY3QuY29uc3RydWN0KERhdGUsW10sKGZ1bmN0aW9uKCl7fSkpKSwhMH1jYXRjaCh0KXtyZXR1cm4hMX19ZnVuY3Rpb24gZCh0LGUpe3JldHVybiBkPU9iamVjdC5zZXRQcm90b3R5cGVPZnx8ZnVuY3Rpb24odCxlKXtyZXR1cm4gdC5fX3Byb3RvX189ZSx0fSxkKHQsZSl9ZnVuY3Rpb24gaCh0LGUsbil7cmV0dXJuIG5ldyB0LkxhdExuZyhlLG4pfWZ1bmN0aW9uIHAodCxlLG4pe3JldHVybiB1WyJjIl0/ZnVuY3Rpb24odCxlLG4pe3JldHVybiBuZXcgdC5MbmdMYXQobixlKX0odCxlLG4pOmgodCxlLG4pfWZ1bmN0aW9uIHYodCl7cmV0dXJuImdldExhdCJpbiB0P3QuZ2V0TGF0KCk6dC5sYXQoKX1mdW5jdGlvbiBnKHQpe3JldHVybiJnZXRMbmciaW4gdD90LmdldExuZygpOnQubG5nKCl9ZVsiYSJdPXtuYW1lOiJNYXAiLGNvbXBvbmVudHM6e21hcE1hcmtlcjphWyJhIl0sbWFwQ29udHJvbDpzWyJhIl0sbWFwUG9seWdvbjpjWyJhIl19LG1peGluczpbclsiZyJdXSxwcm9wczp7aWQ6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6IiJ9LGxhdGl0dWRlOnt0eXBlOltTdHJpbmcsTnVtYmVyXSxkZWZhdWx0OjM5LjkyfSxsb25naXR1ZGU6e3R5cGU6W1N0cmluZyxOdW1iZXJdLGRlZmF1bHQ6MTE2LjQ2fSxzY2FsZTp7dHlwZTpbU3RyaW5nLE51bWJlcl0sZGVmYXVsdDoxNn0sbWFya2Vyczp7dHlwZTpBcnJheSxkZWZhdWx0OmZ1bmN0aW9uKCl7cmV0dXJuW119fSxjb3ZlcnM6e3R5cGU6QXJyYXksZGVmYXVsdDpmdW5jdGlvbigpe3JldHVybltdfX0saW5jbHVkZVBvaW50czp7dHlwZTpBcnJheSxkZWZhdWx0OmZ1bmN0aW9uKCl7cmV0dXJuW119fSxwb2x5bGluZTp7dHlwZTpBcnJheSxkZWZhdWx0OmZ1bmN0aW9uKCl7cmV0dXJuW119fSxjaXJjbGVzOnt0eXBlOkFycmF5LGRlZmF1bHQ6ZnVuY3Rpb24oKXtyZXR1cm5bXX19LGNvbnRyb2xzOnt0eXBlOkFycmF5LGRlZmF1bHQ6ZnVuY3Rpb24oKXtyZXR1cm5bXX19LHNob3dMb2NhdGlvbjp7dHlwZTpbQm9vbGVhbixTdHJpbmddLGRlZmF1bHQ6ITF9LGxpYnJhcmllczp7dHlwZTpBcnJheSxkZWZhdWx0OmZ1bmN0aW9uKCl7cmV0dXJuW119fSxwb2x5Z29uczp7dHlwZTpBcnJheSxkZWZhdWx0OmZ1bmN0aW9uKCl7cmV0dXJuW119fX0sZGF0YTpmdW5jdGlvbigpe3JldHVybntjZW50ZXI6e2xhdGl0dWRlOjExNi40Nixsb25naXR1ZGU6MTE2LjQ2fSxpc01hcFJlYWR5OiExLGlzQm91bmRzUmVhZHk6ITEscG9seWxpbmVTeW5jOltdLGNpcmNsZXNTeW5jOltdfX0sd2F0Y2g6e2xhdGl0dWRlOmZ1bmN0aW9uKCl7dGhpcy5jZW50ZXJDaGFuZ2UoKX0sbG9uZ2l0dWRlOmZ1bmN0aW9uKCl7dGhpcy5jZW50ZXJDaGFuZ2UoKX0sc2NhbGU6ZnVuY3Rpb24odCl7dmFyIGU9dGhpczt0aGlzLm1hcFJlYWR5KChmdW5jdGlvbigpe2UuX21hcC5zZXRab29tKE51bWJlcih0KXx8MTYpfSkpfSxwb2x5bGluZTpmdW5jdGlvbih0KXt2YXIgZT10aGlzO3RoaXMubWFwUmVhZHkoKGZ1bmN0aW9uKCl7ZS5jcmVhdGVQb2x5bGluZSgpfSkpfSxjaXJjbGVzOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpczt0aGlzLm1hcFJlYWR5KChmdW5jdGlvbigpe3QuY3JlYXRlQ2lyY2xlcygpfSkpfSxpbmNsdWRlUG9pbnRzOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpczt0aGlzLm1hcFJlYWR5KChmdW5jdGlvbigpe3QuZml0Qm91bmRzKHQuaW5jbHVkZVBvaW50cyl9KSl9LHNob3dMb2NhdGlvbjpmdW5jdGlvbih0KXt2YXIgZT10aGlzO3RoaXMubWFwUmVhZHkoKGZ1bmN0aW9uKCl7ZVt0PyJjcmVhdGVMb2NhdGlvbiI6InJlbW92ZUxvY2F0aW9uIl0oKX0pKX19LGNyZWF0ZWQ6ZnVuY3Rpb24oKXt0aGlzLl9tYXJrZXJzPXt9O3ZhciB0PXRoaXMubGF0aXR1ZGUsZT10aGlzLmxvbmdpdHVkZTt0JiZlJiYodGhpcy5jZW50ZXIubGF0aXR1ZGU9dCx0aGlzLmNlbnRlci5sb25naXR1ZGU9ZSl9LG1vdW50ZWQ6ZnVuY3Rpb24oKXt2YXIgdD10aGlzO09iamVjdChvWyJhIl0pKHRoaXMubGlicmFyaWVzLChmdW5jdGlvbihlKXtlLmV2ZW50PWUuZXZlbnR8fGUuRXZlbnQsZS5Qb2ludD1lLlBvaW50fHxlLkJ1cnlQb2ludCx0Ll9tYXBzPWUsdC5pbml0KCl9KSl9LGJlZm9yZURlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLnJlbW92ZVBvbHlsaW5lKCksdGhpcy5yZW1vdmVDaXJjbGVzKCksdGhpcy5yZW1vdmVMb2NhdGlvbigpfSxtZXRob2RzOntfaGFuZGxlU3Vic2NyaWJlOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMsbj10LnR5cGUscj10LmRhdGEsaT12b2lkIDA9PT1yP3t9OnIsbz10aGlzLl9tYXBzO2Z1bmN0aW9uIGEodCxlKXt0PXR8fHt9LHQuZXJyTXNnPSIiLmNvbmNhdChuLCI6IikuY29uY2F0KGU/ImZhaWwiK2U6Im9rIik7dmFyIHI9ZT9pLmZhaWw6aS5zdWNjZXNzOyJmdW5jdGlvbiI9PT10eXBlb2YgciYmcih0KSwiZnVuY3Rpb24iPT09dHlwZW9mIGkuY29tcGxldGUmJmkuY29tcGxldGUodCl9c3dpdGNoKG4pe2Nhc2UiZ2V0Q2VudGVyTG9jYXRpb24iOnRoaXMubWFwUmVhZHkoKGZ1bmN0aW9uKCl7dmFyIHQsbixyPWUuX21hcC5nZXRDZW50ZXIoKTt0PXYociksbj1nKHIpLGEoe2xhdGl0dWRlOnQsbG9uZ2l0dWRlOm59KX0pKTticmVhaztjYXNlIm1vdmVUb0xvY2F0aW9uIjp2YXIgcz1pLmxhdGl0dWRlLGM9aS5sb25naXR1ZGUsbD1zJiZjP3AobyxzLGMpOnRoaXMuX2xvY2F0aW9uUG9zaXRpb247bCYmKHRoaXMuX21hcC5zZXRDZW50ZXIobCksYSh7bGF0aXR1ZGU6cyxsb25naXR1ZGU6Y30pKTticmVhaztjYXNlInRyYW5zbGF0ZU1hcmtlciI6dGhpcy5tYXBSZWFkeSgoZnVuY3Rpb24oKXt0cnl7dmFyIHQ9ZS5nZXRNYXJrZXIoaS5tYXJrZXJJZCk7dVsiYyJdJiZvLnBsdWdpbigiQU1hcC5Nb3ZlQW5pbWF0aW9uIiwoZnVuY3Rpb24oKXt9KSk7dmFyIG49aS5kZXN0aW5hdGlvbixyPWkuZHVyYXRpb24scz0hIWkuYXV0b1JvdGF0ZSxjPU51bWJlcihpLnJvdGF0ZSk/aS5yb3RhdGU6MCxsPTA7ImdldFJvdGF0aW9uImluIHQmJihsPXQuZ2V0Um90YXRpb24oKSk7dmFyIGYsZD10LmdldFBvc2l0aW9uKCksaD1wKG8sbi5sYXRpdHVkZSxuLmxvbmdpdHVkZSk7Zj11WyJjIl0/by5HZW9tZXRyeVV0aWwuZGlzdGFuY2UoZCxoKTpvLmdlb21ldHJ5LnNwaGVyaWNhbC5jb21wdXRlRGlzdGFuY2VCZXR3ZWVuKGQsaCkvMWUzO3ZhciB2PSgibnVtYmVyIj09PXR5cGVvZiByP3I6MWUzKS8zNmU1LGc9Zi92LG09by5ldmVudC5hZGRMaXN0ZW5lcih0LCJtb3ZpbmciLChmdW5jdGlvbihlKXt2YXIgbj1lLmxhdExuZyxyPXQubGFiZWw7ciYmci5zZXRQb3NpdGlvbihuKTt2YXIgaT10LmNhbGxvdXQ7aSYmaS5zZXRQb3NpdGlvbihuKX0pKSxiPW8uZXZlbnQuYWRkTGlzdGVuZXIodCwibW92ZWVuZCIsKGZ1bmN0aW9uKGUpe3VbImMiXXx8KGIucmVtb3ZlKCksbS5yZW1vdmUoKSksdC5sYXN0UG9zaXRpb249ZCx0LnNldFBvc2l0aW9uKGgpO3ZhciBuPXQubGFiZWw7biYmbi5zZXRQb3NpdGlvbihoKTt2YXIgcj10LmNhbGxvdXQ7ciYmci5zZXRQb3NpdGlvbihoKTt2YXIgbz1pLmFuaW1hdGlvbkVuZDsiZnVuY3Rpb24iPT09dHlwZW9mIG8mJm8oKX0pKSx5PTA7cyYmIXVbImMiXSYmKHQubGFzdFBvc2l0aW9uJiYoeT1vLmdlb21ldHJ5LnNwaGVyaWNhbC5jb21wdXRlSGVhZGluZyh0Lmxhc3RQb3NpdGlvbixkKSksYz1vLmdlb21ldHJ5LnNwaGVyaWNhbC5jb21wdXRlSGVhZGluZyhkLGgpLXkpLCJzZXRSb3RhdGlvbiJpbiB0JiZ0LnNldFJvdGF0aW9uKGwrYyksIm1vdmVUbyJpbiB0P3VbImMiXT90Lm1vdmVUbyhoLHtkdXJhdGlvbjpyLGF1dG9Sb3RhdGlvbjpzfSk6dC5tb3ZlVG8oaCxnKToodC5zZXRQb3NpdGlvbihoKSxvLmV2ZW50LnRyaWdnZXIodCwibW92ZWVuZCIse30pKX1jYXRjaChfKXthKG51bGwsXyl9fSkpO2JyZWFrO2Nhc2UiaW5jbHVkZVBvaW50cyI6dGhpcy5maXRCb3VuZHMoaS5wb2ludHMpO2JyZWFrO2Nhc2UiZ2V0UmVnaW9uIjp0aGlzLm1hcFJlYWR5KChmdW5jdGlvbigpe2UuYm91bmRzUmVhZHkoKGZ1bmN0aW9uKCl7dmFyIHQ9ZS5fbWFwLmdldEJvdW5kcygpLG49dC5nZXRTb3V0aFdlc3QoKSxyPXQuZ2V0Tm9ydGhFYXN0KCk7YSh7c291dGh3ZXN0OntsYXRpdHVkZTp2KG4pLGxvbmdpdHVkZTpnKG4pfSxub3J0aGVhc3Q6e2xhdGl0dWRlOnYociksbG9uZ2l0dWRlOmcocil9fSl9KSksdVsiYyJdJiYoZS5pc0JvdW5kc1JlYWR5PSEwLGUuJGVtaXQoImJvdW5kc3JlYWR5IikpfSkpO2JyZWFrO2Nhc2UiZ2V0U2NhbGUiOnRoaXMubWFwUmVhZHkoKGZ1bmN0aW9uKCl7YSh7c2NhbGU6ZS5fbWFwLmdldFpvb20oKX0pfSkpO2JyZWFrfX0saW5pdDpmdW5jdGlvbigpe3ZhciB0PXRoaXMsZT10aGlzLl9tYXBzLG49cChlLHRoaXMuY2VudGVyLmxhdGl0dWRlLHRoaXMuY2VudGVyLmxvbmdpdHVkZSkscj10aGlzLl9tYXA9bmV3IGUuTWFwKHRoaXMuJHJlZnMubWFwLHtjZW50ZXI6bix6b29tOk51bWJlcih0aGlzLnNjYWxlKSxkaXNhYmxlRG91YmxlQ2xpY2tab29tOiEwLG1hcFR5cGVDb250cm9sOiExLHpvb21Db250cm9sOiExLHNjYWxlQ29udHJvbDohMSxwYW5Db250cm9sOiExLGZ1bGxzY3JlZW5Db250cm9sOiExLHN0cmVldFZpZXdDb250cm9sOiExLGtleWJvYXJkU2hvcnRjdXRzOiExLG1pblpvb206NSxtYXhab29tOjE4LGRyYWdnYWJsZTohMH0pLGk9ZS5ldmVudC5hZGRMaXN0ZW5lcihyLCJib3VuZHNfY2hhbmdlZCIsKGZ1bmN0aW9uKGUpe2kucmVtb3ZlKCksdC5pc0JvdW5kc1JlYWR5PSEwLHQuJGVtaXQoImJvdW5kc3JlYWR5Iil9KSk7ZnVuY3Rpb24gbygpe3ZhciB0PXIuZ2V0Q2VudGVyKCk7cmV0dXJue3NjYWxlOnIuZ2V0Wm9vbSgpLGNlbnRlckxvY2F0aW9uOntsYXRpdHVkZTp2KHQpLGxvbmdpdHVkZTpnKHQpfX19ZS5ldmVudC5hZGRMaXN0ZW5lcihyLCJjbGljayIsKGZ1bmN0aW9uKGUpe3QuJHRyaWdnZXIoImNsaWNrIix7fSx7fSl9KSksZS5ldmVudC5hZGRMaXN0ZW5lcihyLCJkcmFnc3RhcnQiLChmdW5jdGlvbigpe3QuJHRyaWdnZXIoInJlZ2lvbmNoYW5nZSIse30se3R5cGU6ImJlZ2luIixjYXVzZWRCeToiZ2VzdHVyZSJ9KX0pKSxlLmV2ZW50LmFkZExpc3RlbmVyKHIsImRyYWdlbmQiLChmdW5jdGlvbigpe3QuJHRyaWdnZXIoInJlZ2lvbmNoYW5nZSIse30sT2JqZWN0LmFzc2lnbih7dHlwZToiZW5kIixjYXVzZWRCeToiZHJhZyJ9LG8oKSkpfSkpO3ZhciBhPWZ1bmN0aW9uKCl7dC4kZW1pdCgidXBkYXRlOnNjYWxlIixyLmdldFpvb20oKSksdC4kdHJpZ2dlcigicmVnaW9uY2hhbmdlIix7fSxPYmplY3QuYXNzaWduKHt0eXBlOiJlbmQiLGNhdXNlZEJ5OiJzY2FsZSJ9LG8oKSkpfTtlLmV2ZW50LmFkZExpc3RlbmVyKHIsInpvb21fY2hhbmdlZCIsYSksZS5ldmVudC5hZGRMaXN0ZW5lcihyLCJ6b29tZW5kIixhKSxlLmV2ZW50LmFkZExpc3RlbmVyKHIsImNlbnRlcl9jaGFuZ2VkIiwoZnVuY3Rpb24oKXt2YXIgZSxuLGk9ci5nZXRDZW50ZXIoKTtlPXYoaSksbj1nKGkpLHQuJGVtaXQoInVwZGF0ZTpsYXRpdHVkZSIsZSksdC4kZW1pdCgidXBkYXRlOmxvbmdpdHVkZSIsbil9KSksdGhpcy5wb2x5bGluZSYmQXJyYXkuaXNBcnJheSh0aGlzLnBvbHlsaW5lKSYmdGhpcy5wb2x5bGluZS5sZW5ndGgmJnRoaXMuY3JlYXRlUG9seWxpbmUoKSx0aGlzLmNpcmNsZXMmJkFycmF5LmlzQXJyYXkodGhpcy5jaXJjbGVzKSYmdGhpcy5jaXJjbGVzLmxlbmd0aCYmdGhpcy5jcmVhdGVDaXJjbGVzKCksdGhpcy5zaG93TG9jYXRpb24mJnRoaXMuY3JlYXRlTG9jYXRpb24oKSx0aGlzLmluY2x1ZGVQb2ludHMmJkFycmF5LmlzQXJyYXkodGhpcy5pbmNsdWRlUG9pbnRzKSYmdGhpcy5pbmNsdWRlUG9pbnRzLmxlbmd0aCYmdGhpcy5maXRCb3VuZHModGhpcy5pbmNsdWRlUG9pbnRzLChmdW5jdGlvbigpe3Iuc2V0Q2VudGVyKG4pfSkpLHRoaXMuaXNNYXBSZWFkeT0hMCx0aGlzLiRlbWl0KCJtYXByZWFkeSIpLHRoaXMuJHRyaWdnZXIoInVwZGF0ZWQiLHt9LHt9KX0sY2VudGVyQ2hhbmdlOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPXRoaXMuX21hcHMsbj1OdW1iZXIodGhpcy5sYXRpdHVkZSkscj1OdW1iZXIodGhpcy5sb25naXR1ZGUpO249PT10aGlzLmNlbnRlci5sYXRpdHVkZSYmcj09PXRoaXMuY2VudGVyLmxvbmdpdHVkZXx8KHRoaXMuY2VudGVyLmxhdGl0dWRlPW4sdGhpcy5jZW50ZXIubG9uZ2l0dWRlPXIsdGhpcy5fbWFwJiZ0aGlzLm1hcFJlYWR5KChmdW5jdGlvbigpe3ZhciBpPXAoZSxuLHIpO3QuX21hcC5zZXRDZW50ZXIoaSl9KSkpfSxjcmVhdGVQb2x5bGluZTpmdW5jdGlvbigpe3ZhciB0PXRoaXMuX21hcHMsZT10aGlzLl9tYXAsbj10aGlzLnBvbHlsaW5lU3luYzt0aGlzLnJlbW92ZVBvbHlsaW5lKCksdGhpcy5wb2x5bGluZS5mb3JFYWNoKChmdW5jdGlvbihyKXt2YXIgbz1bXTtyLnBvaW50cy5mb3JFYWNoKChmdW5jdGlvbihlKXt2YXIgbj11WyJjIl0/W2UubG9uZ2l0dWRlLGUubGF0aXR1ZGVdOmgodCxlLmxhdGl0dWRlLGUubG9uZ2l0dWRlKTtvLnB1c2gobil9KSk7dmFyIGE9TnVtYmVyKHIuYm9yZGVyV2lkdGgpfHwwLHM9T2JqZWN0KGlbImoiXSkoci5jb2xvciksYz1zLnIsbD1zLmcsZj1zLmIsZD1zLmEscD1PYmplY3QoaVsiaiJdKShyLmJvcmRlckNvbG9yKSx2PXAucixnPXAuZyxtPXAuYixiPXAuYSx5PXttYXA6ZSxjbGlja2FibGU6ITEscGF0aDpvLHN0cm9rZVdlaWdodDooTnVtYmVyKHIud2lkdGgpfHwwKSthfHw2LHN0cm9rZURhc2hTdHlsZTpyLmRvdHRlZExpbmU/ImRhc2giOiJzb2xpZCJ9O3VbImMiXSYmKHkuc3Ryb2tlQ29sb3I9ci5zdHJva2VDb2xvcix5LnN0cm9rZVN0eWxlPXIuZG90dGVkTGluZT8iZGFzaGVkIjoic29saWQiLHkuaXNPdXRsaW5lPSEhci5ib3JkZXJXaWR0aCx5LmJvcmRlcldlaWdodD1yLmJvcmRlcldpZHRoLHkub3V0bGluZUNvbG9yPXIuYm9yZGVyQ29sb3IpO3ZhciBfPXttYXA6ZSxjbGlja2FibGU6ITEscGF0aDpvLHN0cm9rZVdlaWdodDpyLndpZHRofHw2LHN0cm9rZURhc2hTdHlsZTpyLmRvdHRlZExpbmU/ImRhc2giOiJzb2xpZCJ9OyJDb2xvciJpbiB0Pyh5LnN0cm9rZUNvbG9yPW5ldyB0LkNvbG9yKGMsbCxmLGQpLF8uc3Ryb2tlQ29sb3I9bmV3IHQuQ29sb3IodixnLG0sYikpOih5LnN0cm9rZUNvbG9yPSJyZ2IoIi5jb25jYXQoYywiLCAiKS5jb25jYXQobCwiLCAiKS5jb25jYXQoZiwiKSIpLHkuc3Ryb2tlT3BhY2l0eT1kLF8uc3Ryb2tlQ29sb3I9InJnYigiLmNvbmNhdCh2LCIsICIpLmNvbmNhdChnLCIsICIpLmNvbmNhdChtLCIpIiksXy5zdHJva2VPcGFjaXR5PWIpLGEmJm4ucHVzaChuZXcgdC5Qb2x5bGluZShfKSk7dmFyIHc9bmV3IHQuUG9seWxpbmUoeSk7dVsiYyJdJiZlLmFkZCh3KSxuLnB1c2godyl9KSl9LHJlbW92ZVBvbHlsaW5lOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5wb2x5bGluZVN5bmM7dC5mb3JFYWNoKChmdW5jdGlvbih0KXt0LnNldE1hcChudWxsKX0pKSx0LnNwbGljZSgwLHQubGVuZ3RoKX0sY3JlYXRlQ2lyY2xlczpmdW5jdGlvbigpe3ZhciB0PXRoaXMuX21hcHMsZT10aGlzLl9tYXAsbj10aGlzLmNpcmNsZXNTeW5jO3RoaXMucmVtb3ZlQ2lyY2xlcygpLHRoaXMuY2lyY2xlcy5mb3JFYWNoKChmdW5jdGlvbihyKXt2YXIgbz11WyJjIl0/W3IubG9uZ2l0dWRlLHIubGF0aXR1ZGVdOmgodCxyLmxhdGl0dWRlLHIubG9uZ2l0dWRlKSxhPXttYXA6ZSxjZW50ZXI6byxjbGlja2FibGU6ITEscmFkaXVzOnIucmFkaXVzLHN0cm9rZVdlaWdodDpOdW1iZXIoci5zdHJva2VXaWR0aCl8fDEsc3Ryb2tlRGFzaFN0eWxlOiJzb2xpZCJ9LHM9T2JqZWN0KGlbImoiXSkoci5maWxsQ29sb3J8fCIjMDAwMDAwMDAiKSxjPXMucixsPXMuZyxmPXMuYixkPXMuYSxwPU9iamVjdChpWyJqIl0pKHIuY29sb3J8fCIjMDAwMDAwIiksdj1wLnIsZz1wLmcsbT1wLmIsYj1wLmE7IkNvbG9yImluIHQ/KGEuZmlsbENvbG9yPW5ldyB0LkNvbG9yKGMsbCxmLGQpLGEuc3Ryb2tlQ29sb3I9bmV3IHQuQ29sb3IodixnLG0sYikpOihhLmZpbGxDb2xvcj0icmdiKCIuY29uY2F0KGMsIiwgIikuY29uY2F0KGwsIiwgIikuY29uY2F0KGYsIikiKSxhLmZpbGxPcGFjaXR5PWQsYS5zdHJva2VDb2xvcj0icmdiKCIuY29uY2F0KHYsIiwgIikuY29uY2F0KGcsIiwgIikuY29uY2F0KG0sIikiKSxhLnN0cm9rZU9wYWNpdHk9Yik7dmFyIHk9bmV3IHQuQ2lyY2xlKGEpO3VbImMiXSYmZS5hZGQoeSksbi5wdXNoKHkpfSkpfSxyZW1vdmVDaXJjbGVzOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5jaXJjbGVzU3luYzt0LmZvckVhY2goKGZ1bmN0aW9uKHQpe3Quc2V0TWFwKG51bGwpfSkpLHQuc3BsaWNlKDAsdC5sZW5ndGgpfSxjcmVhdGVMb2NhdGlvbjpmdW5jdGlvbigpe3ZhciBlPXRoaXMsbj10aGlzLl9tYXBzLHI9dGhpcy5fbWFwLGk9dGhpcy5fbG9jYXRpb247aSYmdGhpcy5yZW1vdmVMb2NhdGlvbigpLHVuaS5nZXRMb2NhdGlvbih7dHlwZToiZ2NqMDIiLHN1Y2Nlc3M6ZnVuY3Rpb24odCl7aWYoaT09PWUuX2xvY2F0aW9uKXt2YXIgbz1wKG4sdC5sYXRpdHVkZSx0LmxvbmdpdHVkZSk7aWYodVsiYyJdKXtpPW5ldyBuLk1hcmtlcih7cG9zaXRpb246byxtYXA6cixmbGF0OiEwLHJvdGF0aW9uOjB9KTt2YXIgcz1uZXcgbi5JY29uKHtzaXplOm5ldyBuLlNpemUoNDQsNDQpLGltYWdlOnVbImEiXSxpbWFnZVNpemU6bmV3IG4uU2l6ZSg0NCw0NCl9KTtpLnNldEljb24ocyksci5hZGQoaSl9ZWxzZSBpPW5ldyBuLk1hcmtlcih7cG9zaXRpb246byxtYXA6cixpY29uOm5ldyBuLk1hcmtlckltYWdlKHVbImEiXSxudWxsLG51bGwsbmV3IG4uUG9pbnQoMjIsMjIpLG5ldyBuLlNpemUoNDQsNDQpKSxmbGF0OiEwLHJvdGF0aW9uOjB9KTtlLl9sb2NhdGlvbj1pLGEoKSxlLl9fb25Db21wYXNzQ2hhbmdlPWZ1bmN0aW9uKHQpeyJzZXRSb3RhdGlvbiJpbiBpJiZpLnNldFJvdGF0aW9uKHQuZGlyZWN0aW9uKX0sdW5pLm9uQ29tcGFzc0NoYW5nZShlLl9fb25Db21wYXNzQ2hhbmdlKX19LGZhaWw6ZnVuY3Rpb24oZSl7dC5lcnJvcihlKX19KTt2YXIgbz10aGlzO2Z1bmN0aW9uIGEoKXtpPT09by5fbG9jYXRpb24mJnNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7dW5pLmdldExvY2F0aW9uKHt0eXBlOiJnY2owMiIsc3VjY2VzczpmdW5jdGlvbih0KXt2YXIgZT1vLl9sb2NhdGlvblBvc2l0aW9uPXAobix0LmxhdGl0dWRlLHQubG9uZ2l0dWRlKTtpLnNldFBvc2l0aW9uKGUpfSxmYWlsOmZ1bmN0aW9uKGUpe3QuZXJyb3IoZSl9LGNvbXBsZXRlOmZ1bmN0aW9uKCl7YSgpfX0pfSksM2U0KX19LHJlbW92ZUxvY2F0aW9uOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fbG9jYXRpb247dCYmKHQuc2V0TWFwKG51bGwpLHRoaXMuX2xvY2F0aW9uPW51bGwsdGhpcy5fbG9jYXRpb25Qb3NpdGlvbj1udWxsLHVuaS5vZmZDb21wYXNzQ2hhbmdlKHRoaXMuX19vbkNvbXBhc3NDaGFuZ2UpKX0sZml0Qm91bmRzOmZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcyxyPXRoaXMuX21hcHM7dGhpcy5ib3VuZHNSZWFkeSgoZnVuY3Rpb24oKXt2YXIgaT1uLl9tYXA7aWYodVsiYyJdKXt2YXIgbz1bXTt0LmZvckVhY2goKGZ1bmN0aW9uKHQpe28ucHVzaChbdC5sb25naXR1ZGUsdC5sYXRpdHVkZV0pfSkpO3ZhciBhPWwoci5Cb3VuZHMsbyk7aS5zZXRCb3VuZHMoYSl9ZWxzZXt2YXIgcz1uZXcgci5MYXRMbmdCb3VuZHM7dC5mb3JFYWNoKChmdW5jdGlvbih0KXt2YXIgZT10LmxvbmdpdHVkZSxuPXQubGF0aXR1ZGUsaT1oKHIsbixlKTtzLmV4dGVuZChpKX0pKSxpLmZpdEJvdW5kcyhzKX0iZnVuY3Rpb24iPT09dHlwZW9mIGUmJmUoKX0pKSx1WyJjIl0mJih0aGlzLmlzQm91bmRzUmVhZHk9ITAsdGhpcy4kZW1pdCgiYm91bmRzcmVhZHkiKSl9LG1hcFJlYWR5OmZ1bmN0aW9uKHQpe3RoaXMuaXNNYXBSZWFkeT90KCk6dGhpcy4kb25jZSgibWFwcmVhZHkiLChmdW5jdGlvbigpe3QoKX0pKX0sYm91bmRzUmVhZHk6ZnVuY3Rpb24odCl7dGhpcy5pc0JvdW5kc1JlYWR5P3QoKTp0aGlzLiRvbmNlKCJib3VuZHNyZWFkeSIsKGZ1bmN0aW9uKCl7dCgpfSkpfSxnZXRNYXJrZXI6ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fbWFya2Vyc1t0XTtpZighZSl0aHJvdyBuZXcgRXJyb3IoInRyYW5zbGF0ZU1hcmtlcjogZmFpbCBjYW5ub3QgZmluZCBtYXJrZXIgd2l0aCBpZCAiK3QpO3JldHVybiBlfX19fSkuY2FsbCh0aGlzLG4oIjQxOGIiKVsiZGVmYXVsdCJdKX0sZDBhYTpmdW5jdGlvbih0LGUsbil7fSxkMjgwOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5yKGUpLG4uZChlLCJvcGVuTG9jYXRpb24iLChmdW5jdGlvbigpe3JldHVybiByfSkpO3ZhciByPXtsYXRpdHVkZTp7dHlwZTpOdW1iZXIscmVxdWlyZWQ6ITB9LGxvbmdpdHVkZTp7dHlwZTpOdW1iZXIscmVxdWlyZWQ6ITB9LHNjYWxlOnt0eXBlOk51bWJlcix2YWxpZGF0b3I6ZnVuY3Rpb24odCxlKXt0PU1hdGguZmxvb3IodCksZS5zY2FsZT10Pj01JiZ0PD0xOD90OjE4fSxkZWZhdWx0OjE4fSxuYW1lOnt0eXBlOlN0cmluZ30sYWRkcmVzczp7dHlwZTpTdHJpbmd9fX0sZDMzNDpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO24uZChlLCJiIiwoZnVuY3Rpb24oKXtyZXR1cm4gZn0pKSxuLmQoZSwiYSIsKGZ1bmN0aW9uKCl7cmV0dXJuIGR9KSksbi5kKGUsImMiLChmdW5jdGlvbigpe3JldHVybiBofSkpLG4uZChlLCJkIiwoZnVuY3Rpb24oKXtyZXR1cm4gZ30pKTt2YXIgcj1uKCIzNDBkIiksaT1uKCJmNDRjIiksbz0vXlwkfF9fZl9ffFdpbmRvdyR8V2luZG93U3R5bGUkfHNlbmRIb3N0RXZlbnR8c2VuZE5hdGl2ZUV2ZW50fHJlc3RvcmVHbG9iYWx8cmVxdWlyZUdsb2JhbHxnZXRDdXJyZW50U3ViTlZ1ZXxnZXRNZW51QnV0dG9uQm91bmRpbmdDbGllbnRSZWN0fF5yZXBvcnR8aW50ZXJjZXB0b3JzfEludGVyY2VwdG9yJHxnZXRTdWJOVnVlQnlJZHxyZXF1aXJlTmF0aXZlUGx1Z2lufHJweDJweHx1cHgycHh8aGlkZUtleWJvYXJkfGNhbklVc2V8XmNyZWF0ZXxTeW5jJHxNYW5hZ2VyJHxiYXNlNjRUb0FycmF5QnVmZmVyfGFycmF5QnVmZmVyVG9CYXNlNjR8Z2V0TG9jYWxlfHNldExvY2FsZXxpbnZva2VQdXNoQ2FsbGJhY2t8Z2V0V2luZG93SW5mb3xnZXREZXZpY2VJbmZvfGdldEFwcEJhc2VJbmZvfGdldFN5c3RlbVNldHRpbmd8Z2V0QXBwQXV0aG9yaXplU2V0dGluZ3xpbml0VVRTfHJlcXVpcmVVVFN8cmVnaXN0ZXJVVFMvLGE9L15jcmVhdGV8TWFuYWdlciQvLHM9WyJjcmVhdGVCTEVDb25uZWN0aW9uIl0sYz1bInJlcXVlc3QiLCJkb3dubG9hZEZpbGUiLCJ1cGxvYWRGaWxlIiwiY29ubmVjdFNvY2tldCJdLHU9WyJjcmVhdGVCTEVDb25uZWN0aW9uIiwiY3JlYXRlUHVzaE1lc3NhZ2UiXSxsPS9eb258Xm9mZi87ZnVuY3Rpb24gZih0KXtyZXR1cm4gby50ZXN0KHQpJiYtMT09PXUuaW5kZXhPZih0KX1mdW5jdGlvbiBkKHQpe3JldHVybiBsLnRlc3QodCkmJiJvblB1c2giIT09dH1mdW5jdGlvbiBoKHQpe3JldHVybi0xIT09Yy5pbmRleE9mKHQpfWZ1bmN0aW9uIHAodCl7cmV0dXJuIHQudGhlbigoZnVuY3Rpb24odCl7cmV0dXJuW251bGwsdF19KSkuY2F0Y2goKGZ1bmN0aW9uKHQpe3JldHVyblt0XX0pKX1mdW5jdGlvbiB2KHQpe3JldHVybiEoZnVuY3Rpb24odCl7cmV0dXJuIGEudGVzdCh0KSYmLTE9PT1zLmluZGV4T2YodCl9KHQpfHxmKHQpfHxkKHQpKX1mdW5jdGlvbiBnKHQsZSl7cmV0dXJuIHYodCkmJk9iamVjdChyWyJrIl0pKGUpP2Z1bmN0aW9uKCl7Zm9yKHZhciBuPWFyZ3VtZW50cy5sZW5ndGg+MCYmdm9pZCAwIT09YXJndW1lbnRzWzBdP2FyZ3VtZW50c1swXTp7fSxvPWFyZ3VtZW50cy5sZW5ndGgsYT1uZXcgQXJyYXkobz4xP28tMTowKSxzPTE7czxvO3MrKylhW3MtMV09YXJndW1lbnRzW3NdO3JldHVybiBPYmplY3QoclsiayJdKShuLnN1Y2Nlc3MpfHxPYmplY3QoclsiayJdKShuLmZhaWwpfHxPYmplY3QoclsiayJdKShuLmNvbXBsZXRlKT9PYmplY3QoaVsiZSJdKSh0LGlbImIiXS5hcHBseSh2b2lkIDAsW3QsZSxuXS5jb25jYXQoYSkpKTpPYmplY3QoaVsiZSJdKSh0LHAobmV3IFByb21pc2UoKGZ1bmN0aW9uKHIsbyl7aVsiYiJdLmFwcGx5KHZvaWQgMCxbdCxlLE9iamVjdC5hc3NpZ24oe30sbix7c3VjY2VzczpyLGZhaWw6b30pXS5jb25jYXQoYSkpfSkpKSl9OmV9UHJvbWlzZS5wcm90b3R5cGUuZmluYWxseXx8KFByb21pc2UucHJvdG90eXBlLmZpbmFsbHk9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5jb25zdHJ1Y3RvcjtyZXR1cm4gdGhpcy50aGVuKChmdW5jdGlvbihuKXtyZXR1cm4gZS5yZXNvbHZlKHQoKSkudGhlbigoZnVuY3Rpb24oKXtyZXR1cm4gbn0pKX0pLChmdW5jdGlvbihuKXtyZXR1cm4gZS5yZXNvbHZlKHQoKSkudGhlbigoZnVuY3Rpb24oKXt0aHJvdyBufSkpfSkpfSl9LGQzNTk6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtuLmQoZSwiYSIsKGZ1bmN0aW9uKCl7cmV0dXJuIGN9KSk7dmFyIHI9bigiYjQzNSIpO2Z1bmN0aW9uIGkodCxlKXtpZighKHQgaW5zdGFuY2VvZiBlKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb24iKX1mdW5jdGlvbiBvKHQsZSl7Zm9yKHZhciBuPTA7bjxlLmxlbmd0aDtuKyspe3ZhciByPWVbbl07ci5lbnVtZXJhYmxlPXIuZW51bWVyYWJsZXx8ITEsci5jb25maWd1cmFibGU9ITAsInZhbHVlImluIHImJihyLndyaXRhYmxlPSEwKSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCxyLmtleSxyKX19ZnVuY3Rpb24gYSh0LGUsbil7cmV0dXJuIGUmJm8odC5wcm90b3R5cGUsZSksbiYmbyh0LG4pLHR9ZnVuY3Rpb24gcyh0LGUsbil7cmV0dXJuIGUgaW4gdD9PYmplY3QuZGVmaW5lUHJvcGVydHkodCxlLHt2YWx1ZTpuLGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwfSk6dFtlXT1uLHR9ZnVuY3Rpb24gYyh0KXtmdW5jdGlvbiBlKCl7dmFyIHQ9dGhpcy5kaXYsZT10aGlzLmdldFBhbmVzKCk7ZS5mbG9hdFBhbmUuYXBwZW5kQ2hpbGQodCl9ZnVuY3Rpb24gbigpe3ZhciB0PXRoaXMuZGl2LnBhcmVudE5vZGU7dCYmdC5yZW1vdmVDaGlsZCh0aGlzLmRpdil9ZnVuY3Rpb24gbygpe3ZhciBlPXRoaXMsbj10aGlzLm9wdGlvbjt0aGlzLlRleHQ9bmV3IHQuVGV4dCh7dGV4dDpuLmNvbnRlbnQsYW5jaG9yOiJib3R0b20tY2VudGVyIixvZmZzZXQ6bmV3IHQuUGl4ZWwoMCxuLm9mZnNldFktMTYpLHN0eWxlOntwYWRkaW5nOihuLnBhZGRpbmd8fDgpKyJweCIsImxpbmUtaGVpZ2h0Ijoobi5mb250U2l6ZXx8MTQpKyJweCIsImJvcmRlci1yYWRpdXMiOihuLmJvcmRlclJhZGl1c3x8MCkrInB4IiwiYm9yZGVyLWNvbG9yIjoiIi5jb25jYXQobi5iZ0NvbG9yfHwiI2ZmZiIsIiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCIpLCJiYWNrZ3JvdW5kLWNvbG9yIjpuLmJnQ29sb3J8fCIjZmZmIiwiYm94LXNoYWRvdyI6IjAgMnB4IDZweCAwIHJnYmEoMTE0LCAxMjQsIDI0NSwgLjUpIiwidGV4dC1hbGlnbiI6ImNlbnRlciIsImZvbnQtc2l6ZSI6KG4uZm9udFNpemV8fDE0KSsicHgiLGNvbG9yOm4uY29sb3J8fCIjMDAwIn0scG9zaXRpb246bi5wb3NpdGlvbn0pLHRoaXMuVGV4dC5kb20uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLChmdW5jdGlvbih0KXtjKGUsdCl9KSksdGhpcy5UZXh0LmRvbS5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaGVuZCIsKGZ1bmN0aW9uKHQpe2MoZSx0KX0pKSx0aGlzLlRleHQuc2V0TWFwKG4ubWFwKX1mdW5jdGlvbiBjKHQsZSl7dC5jYWxsYmFjayhlLHQucGFyZW50KSxlLnN0b3BQcm9wYWdhdGlvbigpfWZ1bmN0aW9uIHUoKXt0aGlzLlRleHQmJnRoaXMub3B0aW9uLm1hcC5yZW1vdmUodGhpcy5UZXh0KX12YXIgbD1mdW5jdGlvbigpe2Z1bmN0aW9uIHQoKXt2YXIgYT1hcmd1bWVudHMubGVuZ3RoPjAmJnZvaWQgMCE9PWFyZ3VtZW50c1swXT9hcmd1bWVudHNbMF06e30sYz1hcmd1bWVudHMubGVuZ3RoPjE/YXJndW1lbnRzWzFdOnZvaWQgMCxsPWFyZ3VtZW50cy5sZW5ndGg+Mj9hcmd1bWVudHNbMl06dm9pZCAwO2lmKGkodGhpcyx0KSxzKHRoaXMsIm9wdGlvbiIsdm9pZCAwKSxzKHRoaXMsInBvc2l0aW9uIix2b2lkIDApLHModGhpcywiaW5kZXgiLHZvaWQgMCkscyh0aGlzLCJ2aXNpYmxlIix2b2lkIDApLHModGhpcywiYWx3YXlzVmlzaWJsZSIsdm9pZCAwKSxzKHRoaXMsImRpdiIsdm9pZCAwKSxzKHRoaXMsInRyaWFuZ2xlIix2b2lkIDApLHModGhpcywiY2FsbGJhY2siLHZvaWQgMCkscyh0aGlzLCJwYXJlbnQiLHZvaWQgMCkscyh0aGlzLCJUZXh0Iix2b2lkIDApLHModGhpcywiY3JlYXRlQU1hcFRleHQiLG8pLHModGhpcywicmVtb3ZlQU1hcFRleHQiLHUpLHModGhpcywib25BZGQiLGUpLHModGhpcywiY29uc3RydWN0IixlKSxzKHRoaXMsIm9uUmVtb3ZlIixuKSxzKHRoaXMsImRlc3Ryb3kiLG4pLHRoaXMub3B0aW9uPWF8fHt9LHRoaXMudmlzaWJsZT10aGlzLmFsd2F5c1Zpc2libGU9IkFMV0FZUyI9PT1hLmRpc3BsYXksclsiYyJdKXRoaXMuY2FsbGJhY2s9Yyx0aGlzLnBhcmVudD1sLHRoaXMudmlzaWJsZSYmdGhpcy5jcmVhdGVBTWFwVGV4dCgpO2Vsc2V7dmFyIGY9YS5tYXA7dGhpcy5wb3NpdGlvbj1hLnBvc2l0aW9uLHRoaXMuaW5kZXg9MTt2YXIgZD10aGlzLmRpdj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSxoPWQuc3R5bGU7aC5wb3NpdGlvbj0iYWJzb2x1dGUiLGgud2hpdGVTcGFjZT0ibm93cmFwIixoLnRyYW5zZm9ybT0idHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC0xMDAlKSIsaC56SW5kZXg9IjEiLGguYm94U2hhZG93PWEuYm94U2hhZG93fHwibm9uZSIsaC5kaXNwbGF5PXRoaXMudmlzaWJsZT8iYmxvY2siOiJub25lIjt2YXIgcD10aGlzLnRyaWFuZ2xlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3Auc2V0QXR0cmlidXRlKCJzdHlsZSIsInBvc2l0aW9uOiBhYnNvbHV0ZTt3aGl0ZS1zcGFjZTogbm93cmFwO2JvcmRlci13aWR0aDogNHB4O2JvcmRlci1zdHlsZTogc29saWQ7Ym9yZGVyLWNvbG9yOiAjZmZmIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O2JvcmRlci1pbWFnZTogaW5pdGlhbDtmb250LXNpemU6IDEycHg7cGFkZGluZzogMHB4O2JhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O3dpZHRoOiAwcHg7aGVpZ2h0OiAwcHg7dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMTAwJSk7bGVmdDogNTAlO2JvdHRvbTogMDsiKSx0aGlzLnNldFN0eWxlKGEpLGQuYXBwZW5kQ2hpbGQocCksZiYmdGhpcy5zZXRNYXAoZil9fXJldHVybiBhKHQsW3trZXk6Im9uY2xpY2siLHNldDpmdW5jdGlvbih0KXt0aGlzLmRpdi5vbmNsaWNrPXR9LGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmRpdi5vbmNsaWNrfX1dKSxhKHQsW3trZXk6InNldE9wdGlvbiIsdmFsdWU6ZnVuY3Rpb24odCl7dGhpcy5vcHRpb249dCwiQUxXQVlTIj09PXQuZGlzcGxheT90aGlzLmFsd2F5c1Zpc2libGU9dGhpcy52aXNpYmxlPSEwOnRoaXMuYWx3YXlzVmlzaWJsZT0hMSxyWyJjIl0/dGhpcy52aXNpYmxlJiZ0aGlzLmNyZWF0ZUFNYXBUZXh0KCk6KHRoaXMuc2V0UG9zaXRpb24odC5wb3NpdGlvbiksdGhpcy5zZXRTdHlsZSh0KSl9fSx7a2V5OiJzZXRTdHlsZSIsdmFsdWU6ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5kaXYsbj1lLnN0eWxlO2UuaW5uZXJUZXh0PXQuY29udGVudHx8IiIsbi5saW5lSGVpZ2h0PSh0LmZvbnRTaXplfHwxNCkrInB4IixuLmZvbnRTaXplPSh0LmZvbnRTaXplfHwxNCkrInB4IixuLnBhZGRpbmc9KHQucGFkZGluZ3x8OCkrInB4IixuLmNvbG9yPXQuY29sb3J8fCIjMDAwIixuLmJvcmRlclJhZGl1cz0odC5ib3JkZXJSYWRpdXN8fDApKyJweCIsbi5iYWNrZ3JvdW5kQ29sb3I9dC5iZ0NvbG9yfHwiI2ZmZiIsbi5tYXJnaW5Ub3A9Ii0iKygodC50b3B8fDApKzUpKyJweCIsdGhpcy50cmlhbmdsZS5zdHlsZS5ib3JkZXJDb2xvcj0iIi5jb25jYXQodC5iZ0NvbG9yfHwiI2ZmZiIsIiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCIpfX0se2tleToic2V0UG9zaXRpb24iLHZhbHVlOmZ1bmN0aW9uKHQpe3RoaXMucG9zaXRpb249dCx0aGlzLmRyYXcoKX19LHtrZXk6ImRyYXciLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5nZXRQcm9qZWN0aW9uKCk7aWYodGhpcy5wb3NpdGlvbiYmdGhpcy5kaXYmJnQpe3ZhciBlPXQuZnJvbUxhdExuZ1RvRGl2UGl4ZWwodGhpcy5wb3NpdGlvbiksbj10aGlzLmRpdi5zdHlsZTtuLmxlZnQ9ZS54KyJweCIsbi50b3A9ZS55KyJweCJ9fX0se2tleToiY2hhbmdlZCIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmRpdi5zdHlsZTt0LmRpc3BsYXk9dGhpcy52aXNpYmxlPyJibG9jayI6Im5vbmUifX1dKSx0fSgpO2lmKCFyWyJjIl0pe3ZhciBmPWwucHJvdG90eXBlLGQ9bmV3KHQuT3ZlcmxheVZpZXd8fHQuT3ZlcmxheSk7Zm9yKHZhciBoIGluIGQpaCBpbiBmfHwoZltoXT1kW2hdKX1yZXR1cm4gbH19LGQ0Yzk6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiByKHQpe3RoaXMuX2RyYWc9dCx0aGlzLl9kcmFnTG9nPU1hdGgubG9nKHQpLHRoaXMuX3g9MCx0aGlzLl92PTAsdGhpcy5fc3RhcnRUaW1lPTB9bi5kKGUsImEiLChmdW5jdGlvbigpe3JldHVybiByfSkpLHIucHJvdG90eXBlLnNldD1mdW5jdGlvbih0LGUpe3RoaXMuX3g9dCx0aGlzLl92PWUsdGhpcy5fc3RhcnRUaW1lPShuZXcgRGF0ZSkuZ2V0VGltZSgpfSxyLnByb3RvdHlwZS5zZXRWZWxvY2l0eUJ5RW5kPWZ1bmN0aW9uKHQpe3RoaXMuX3Y9KHQtdGhpcy5feCkqdGhpcy5fZHJhZ0xvZy8oTWF0aC5wb3codGhpcy5fZHJhZywxMDApLTEpfSxyLnByb3RvdHlwZS54PWZ1bmN0aW9uKHQpe3ZhciBlO3JldHVybiB2b2lkIDA9PT10JiYodD0oKG5ldyBEYXRlKS5nZXRUaW1lKCktdGhpcy5fc3RhcnRUaW1lKS8xZTMpLGU9dD09PXRoaXMuX2R0JiZ0aGlzLl9wb3dEcmFnRHQ/dGhpcy5fcG93RHJhZ0R0OnRoaXMuX3Bvd0RyYWdEdD1NYXRoLnBvdyh0aGlzLl9kcmFnLHQpLHRoaXMuX2R0PXQsdGhpcy5feCt0aGlzLl92KmUvdGhpcy5fZHJhZ0xvZy10aGlzLl92L3RoaXMuX2RyYWdMb2d9LHIucHJvdG90eXBlLmR4PWZ1bmN0aW9uKHQpe3ZhciBlO3JldHVybiB2b2lkIDA9PT10JiYodD0oKG5ldyBEYXRlKS5nZXRUaW1lKCktdGhpcy5fc3RhcnRUaW1lKS8xZTMpLGU9dD09PXRoaXMuX2R0JiZ0aGlzLl9wb3dEcmFnRHQ/dGhpcy5fcG93RHJhZ0R0OnRoaXMuX3Bvd0RyYWdEdD1NYXRoLnBvdyh0aGlzLl9kcmFnLHQpLHRoaXMuX2R0PXQsdGhpcy5fdiplfSxyLnByb3RvdHlwZS5kb25lPWZ1bmN0aW9uKCl7cmV0dXJuIE1hdGguYWJzKHRoaXMuZHgoKSk8M30sci5wcm90b3R5cGUucmVjb25maWd1cmU9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy54KCksbj10aGlzLmR4KCk7dGhpcy5fZHJhZz10LHRoaXMuX2RyYWdMb2c9TWF0aC5sb2codCksdGhpcy5zZXQoZSxuKX0sci5wcm90b3R5cGUuY29uZmlndXJhdGlvbj1mdW5jdGlvbigpe3ZhciB0PXRoaXM7cmV0dXJuW3tsYWJlbDoiRnJpY3Rpb24iLHJlYWQ6ZnVuY3Rpb24oKXtyZXR1cm4gdC5fZHJhZ30sd3JpdGU6ZnVuY3Rpb24oZSl7dC5yZWNvbmZpZ3VyZShlKX0sbWluOi4wMDEsbWF4Oi4xLHN0ZXA6LjAwMX1dfX0sZDRlZTpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIodCl7aWYodClyZXR1cm4gdC4kaG9sZGVyO3ZhciBlPWdldEN1cnJlbnRQYWdlcygpLG49ZS5sZW5ndGg7cmV0dXJuIG4/ZVtuLTFdLiRob2xkZXI6dm9pZCAwfWZ1bmN0aW9uIGkodCl7dmFyIGU9Z2V0Q3VycmVudFBhZ2VzKCksbj1lLmxlbmd0aDtyZXR1cm4hIW4mJmVbbi0xXS4kaG9sZGVyPT09dH1uLnIoZSksbi5kKGUsImdldFBhZ2VIb2xkZXIiLChmdW5jdGlvbigpe3JldHVybiByfSkpLG4uZChlLCJpc0N1cnJlbnRQYWdlIiwoZnVuY3Rpb24oKXtyZXR1cm4gaX0pKX0sZDRmYzpmdW5jdGlvbih0LGUsbil7fSxkNTE0OmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5yKGUpO3ZhciByPW4oIjkwOWUiKSxpPXtuYW1lOiJDaGVja2JveEdyb3VwIixtaXhpbnM6W3JbImEiXSxyWyJmIl1dLHByb3BzOntuYW1lOnt0eXBlOlN0cmluZyxkZWZhdWx0OiIifX0sZGF0YTpmdW5jdGlvbigpe3JldHVybntjaGVja2JveExpc3Q6W119fSxsaXN0ZW5lcnM6eyJAY2hlY2tib3gtY2hhbmdlIjoiX2NoYW5nZUhhbmRsZXIiLCJAY2hlY2tib3gtZ3JvdXAtdXBkYXRlIjoiX2NoZWNrYm94R3JvdXBVcGRhdGVIYW5kbGVyIn0sY3JlYXRlZDpmdW5jdGlvbigpe3RoaXMuJGRpc3BhdGNoKCJGb3JtIiwidW5pLWZvcm0tZ3JvdXAtdXBkYXRlIix7dHlwZToiYWRkIix2bTp0aGlzfSl9LGJlZm9yZURlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLiRkaXNwYXRjaCgiRm9ybSIsInVuaS1mb3JtLWdyb3VwLXVwZGF0ZSIse3R5cGU6InJlbW92ZSIsdm06dGhpc30pfSxtZXRob2RzOntfY2hhbmdlSGFuZGxlcjpmdW5jdGlvbih0KXt2YXIgZT1bXTt0aGlzLmNoZWNrYm94TGlzdC5mb3JFYWNoKChmdW5jdGlvbih0KXt0LmNoZWNrYm94Q2hlY2tlZCYmZS5wdXNoKHQudmFsdWUpfSkpLHRoaXMuJHRyaWdnZXIoImNoYW5nZSIsdCx7dmFsdWU6ZX0pfSxfY2hlY2tib3hHcm91cFVwZGF0ZUhhbmRsZXI6ZnVuY3Rpb24odCl7aWYoImFkZCI9PT10LnR5cGUpdGhpcy5jaGVja2JveExpc3QucHVzaCh0LnZtKTtlbHNle3ZhciBlPXRoaXMuY2hlY2tib3hMaXN0LmluZGV4T2YodC52bSk7dGhpcy5jaGVja2JveExpc3Quc3BsaWNlKGUsMSl9fSxfZ2V0Rm9ybURhdGE6ZnVuY3Rpb24oKXt2YXIgdD17fTtpZigiIiE9PXRoaXMubmFtZSl7dmFyIGU9W107dGhpcy5jaGVja2JveExpc3QuZm9yRWFjaCgoZnVuY3Rpb24odCl7dC5jaGVja2JveENoZWNrZWQmJmUucHVzaCh0LnZhbHVlKX0pKSx0LnZhbHVlPWUsdC5rZXk9dGhpcy5uYW1lfXJldHVybiB0fX19LG89aSxhPShuKCI3NmQ3IiksbigiODg0NCIpKSxzPU9iamVjdChhWyJhIl0pKG8sKGZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPXQuJGNyZWF0ZUVsZW1lbnQsbj10Ll9zZWxmLl9jfHxlO3JldHVybiBuKCJ1bmktY2hlY2tib3gtZ3JvdXAiLHQuX2coe30sdC4kbGlzdGVuZXJzKSxbdC5fdCgiZGVmYXVsdCIpXSwyKX0pLFtdLCExLG51bGwsbnVsbCxudWxsKTtlWyJkZWZhdWx0Il09cy5leHBvcnRzfSxkNTVmOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5yKGUpO3ZhciByPW4oIjkwOWUiKSxpPXtuYW1lOiJBdWRpbyIsbWl4aW5zOltyWyJnIl1dLHByb3BzOntpZDp7dHlwZTpTdHJpbmcsZGVmYXVsdDoiIn0sc3JjOnt0eXBlOlN0cmluZyxkZWZhdWx0OiIifSxsb29wOnt0eXBlOltCb29sZWFuLFN0cmluZ10sZGVmYXVsdDohMX0sY29udHJvbHM6e3R5cGU6W0Jvb2xlYW4sU3RyaW5nXSxkZWZhdWx0OiExfSxwb3N0ZXI6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6IiJ9LG5hbWU6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6IiJ9LGF1dGhvcjp7dHlwZTpTdHJpbmcsZGVmYXVsdDoiIn19LGRhdGE6ZnVuY3Rpb24oKXtyZXR1cm57cGxheWluZzohMSxjdXJyZW50VGltZTp0aGlzLmdldFRpbWUoMCl9fSx3YXRjaDp7c3JjOmZ1bmN0aW9uKHQpe3RoaXMuJHJlZnMuYXVkaW8mJih0aGlzLiRyZWZzLmF1ZGlvLnNyYz10aGlzLiRnZXRSZWFsUGF0aCh0KSl9fSxtb3VudGVkOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPXRoaXMuJHJlZnMuYXVkaW87ZS5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsKGZ1bmN0aW9uKGUpe3QucGxheWluZz0hMSx0LiR0cmlnZ2VyKCJlcnJvciIsZSx7fSl9KSksZS5hZGRFdmVudExpc3RlbmVyKCJwbGF5IiwoZnVuY3Rpb24oZSl7dC5wbGF5aW5nPSEwLHQuJHRyaWdnZXIoInBsYXkiLGUse30pfSkpLGUuYWRkRXZlbnRMaXN0ZW5lcigicGF1c2UiLChmdW5jdGlvbihlKXt0LnBsYXlpbmc9ITEsdC4kdHJpZ2dlcigicGF1c2UiLGUse30pfSkpLGUuYWRkRXZlbnRMaXN0ZW5lcigiZW5kZWQiLChmdW5jdGlvbihlKXt0LnBsYXlpbmc9ITEsdC4kdHJpZ2dlcigiZW5kZWQiLGUse30pfSkpLGUuYWRkRXZlbnRMaXN0ZW5lcigidGltZXVwZGF0ZSIsKGZ1bmN0aW9uKG4pe3ZhciByPWUuY3VycmVudFRpbWU7dC5jdXJyZW50VGltZT10LmdldFRpbWUocik7dmFyIGk9ZS5kdXJhdGlvbjt0LiR0cmlnZ2VyKCJ0aW1ldXBkYXRlIixuLHtjdXJyZW50VGltZTpyLGR1cmF0aW9uOml9KX0pKSxlLnNyYz10aGlzLiRnZXRSZWFsUGF0aCh0aGlzLnNyYyl9LG1ldGhvZHM6e19oYW5kbGVTdWJzY3JpYmU6ZnVuY3Rpb24odCl7dmFyIGU9dC50eXBlLG49dC5kYXRhLHI9dm9pZCAwPT09bj97fTpuLGk9dGhpcy4kcmVmcy5hdWRpbztzd2l0Y2goZSl7Y2FzZSJzZXRTcmMiOmkuc3JjPXRoaXMuJGdldFJlYWxQYXRoKHIuc3JjKSx0aGlzLiRlbWl0KCJ1cGRhdGU6c3JjIixyLnNyYyk7YnJlYWs7Y2FzZSJwbGF5IjppLnBsYXkoKTticmVhaztjYXNlInBhdXNlIjppLnBhdXNlKCk7YnJlYWs7Y2FzZSJzZWVrIjppLmN1cnJlbnRUaW1lPXIucG9zaXRpb247YnJlYWt9fSx0cmlnZ2VyOmZ1bmN0aW9uKCl7dGhpcy5wbGF5aW5nP3RoaXMuJHJlZnMuYXVkaW8ucGF1c2UoKTp0aGlzLiRyZWZzLmF1ZGlvLnBsYXkoKX0sZ2V0VGltZTpmdW5jdGlvbih0KXt2YXIgZT1NYXRoLmZsb29yKHQvMzYwMCksbj1NYXRoLmZsb29yKHQlMzYwMC82MCkscj1NYXRoLmZsb29yKHQlMzYwMCU2MCk7ZT0oZTwxMD8iMCI6IiIpK2Usbj0objwxMD8iMCI6IiIpK24scj0ocjwxMD8iMCI6IiIpK3I7dmFyIGk9bisiOiIrcjtyZXR1cm4iMDAiIT09ZSYmKGk9ZSsiOiIraSksaX19fSxvPWksYT0obigiY2JlMiIpLG4oIjg4NDQiKSkscz1PYmplY3QoYVsiYSJdKShvLChmdW5jdGlvbigpe3ZhciB0PXRoaXMsZT10LiRjcmVhdGVFbGVtZW50LG49dC5fc2VsZi5fY3x8ZTtyZXR1cm4gbigidW5pLWF1ZGlvIix0Ll9nKHthdHRyczp7aWQ6dC5pZCxjb250cm9sczohIXQuY29udHJvbHN9fSx0LiRsaXN0ZW5lcnMpLFtuKCJhdWRpbyIse3JlZjoiYXVkaW8iLHN0YXRpY1N0eWxlOntkaXNwbGF5OiJub25lIn0sYXR0cnM6e2xvb3A6dC5sb29wfX0pLG4oImRpdiIse3N0YXRpY0NsYXNzOiJ1bmktYXVkaW8tZGVmYXVsdCJ9LFtuKCJkaXYiLHtzdGF0aWNDbGFzczoidW5pLWF1ZGlvLWxlZnQiLHN0eWxlOiJiYWNrZ3JvdW5kLWltYWdlOiB1cmwoIit0LiRnZXRSZWFsUGF0aCh0LnBvc3RlcikrIik7In0sW24oImRpdiIse3N0YXRpY0NsYXNzOiJ1bmktYXVkaW8tYnV0dG9uIixjbGFzczp7cGxheTohdC5wbGF5aW5nLHBhdXNlOnQucGxheWluZ30sb246e2NsaWNrOnQudHJpZ2dlcn19KV0pLG4oImRpdiIse3N0YXRpY0NsYXNzOiJ1bmktYXVkaW8tcmlnaHQifSxbbigiZGl2Iix7c3RhdGljQ2xhc3M6InVuaS1hdWRpby10aW1lIn0sW3QuX3YoIiAiK3QuX3ModC5jdXJyZW50VGltZSkrIiAiKV0pLG4oImRpdiIse3N0YXRpY0NsYXNzOiJ1bmktYXVkaW8taW5mbyJ9LFtuKCJkaXYiLHtzdGF0aWNDbGFzczoidW5pLWF1ZGlvLW5hbWUifSxbdC5fdigiICIrdC5fcyh0Lm5hbWUpKyIgIildKSxuKCJkaXYiLHtzdGF0aWNDbGFzczoidW5pLWF1ZGlvLWF1dGhvciJ9LFt0Ll92KCIgIit0Ll9zKHQuYXV0aG9yKSsiICIpXSldKV0pXSldKX0pLFtdLCExLG51bGwsbnVsbCxudWxsKTtlWyJkZWZhdWx0Il09cy5leHBvcnRzfSxkNjM4OmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiMTMzMiIpLGk9bi5uKHIpO2kuYX0sZDY2MTpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiOyhmdW5jdGlvbih0LHIpe24uZChlLCJiIiwoZnVuY3Rpb24oKXtyZXR1cm4gdX0pKSxuLmQoZSwiYSIsKGZ1bmN0aW9uKCl7cmV0dXJuIGx9KSksbigiYTc3MCIpO3ZhciBpPW4oIjM4Y2UiKSxvPW4oIjBkYjMiKTtmdW5jdGlvbiBhKHQpe3JldHVybntib3R0b206dC5ib3R0b20saGVpZ2h0OnQuaGVpZ2h0LGxlZnQ6dC5sZWZ0LHJpZ2h0OnQucmlnaHQsdG9wOnQudG9wLHdpZHRoOnQud2lkdGh9fWZ1bmN0aW9uIHModCl7dmFyIGU9dC5pbnRlcnNlY3Rpb25SYXRpbyxuPXQuYm91bmRpbmdDbGllbnRSZWN0LHI9bi5oZWlnaHQsaT1uLndpZHRoLG89dC5pbnRlcnNlY3Rpb25SZWN0LGE9by5oZWlnaHQscz1vLndpZHRoO3JldHVybiAwIT09ZT9lOmE9PT1yP3MvaTphL3J9dmFyIGM9e307ZnVuY3Rpb24gdShlLG4pe3ZhciB1LGw9ZS5yZXFJZCxmPWUuY29tcG9uZW50LGQ9ZS5vcHRpb25zO2lmKG4uX2lzVnVlKXU9bjtlbHNle3ZhciBoPWdldEN1cnJlbnRQYWdlcygpLHA9aC5maW5kKChmdW5jdGlvbih0KXtyZXR1cm4gdC4kcGFnZS5pZD09PW59KSk7aWYoIXApdGhyb3cgbmV3IEVycm9yKCJOb3QgRm91bmTvvJpQYWdlWyIuY29uY2F0KG4sIl0iKSk7dT1wLiR2bX12YXIgdj1PYmplY3Qob1siYiJdKShmLHUpLGc9ZC5yZWxhdGl2ZVRvU2VsZWN0b3I/di5xdWVyeVNlbGVjdG9yKGQucmVsYXRpdmVUb1NlbGVjdG9yKTpudWxsLG09Y1tsXT1uZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKGZ1bmN0aW9uKGUsbil7ZS5mb3JFYWNoKChmdW5jdGlvbihlKXt0LnB1Ymxpc2hIYW5kbGVyKCJvblJlcXVlc3RDb21wb25lbnRPYnNlcnZlciIse3JlcUlkOmwscmVzOntpbnRlcnNlY3Rpb25SYXRpbzpzKGUpLGludGVyc2VjdGlvblJlY3Q6YShlLmludGVyc2VjdGlvblJlY3QpLGJvdW5kaW5nQ2xpZW50UmVjdDphKGUuYm91bmRpbmdDbGllbnRSZWN0KSxyZWxhdGl2ZVJlY3Q6YShlLnJvb3RCb3VuZHMpLHRpbWU6RGF0ZS5ub3coKSxkYXRhc2V0Ok9iamVjdChpWyJiIl0pKGUudGFyZ2V0KSxpZDplLnRhcmdldC5pZH19KX0pKX0pLHtyb290Omcscm9vdE1hcmdpbjpkLnJvb3RNYXJnaW4sdGhyZXNob2xkOmQudGhyZXNob2xkc30pO2lmKGQub2JzZXJ2ZUFsbCltLlVTRV9NVVRBVElPTl9PQlNFUlZFUj0hMCxBcnJheS5wcm90b3R5cGUubWFwLmNhbGwodi5xdWVyeVNlbGVjdG9yQWxsKGQuc2VsZWN0b3IpLChmdW5jdGlvbih0KXt0P20ub2JzZXJ2ZSh0KTpyLndhcm4oIk5vZGUgIi5jb25jYXQoZC5zZWxlY3RvciwiIGlzIG5vdCBmb3VuZC4gSW50ZXJzZWN0aW9uIG9ic2VydmVyIHdpbGwgbm90IHRyaWdnZXIuIikpfSkpO2Vsc2V7bS5VU0VfTVVUQVRJT05fT0JTRVJWRVI9ITE7dmFyIGI9di5xdWVyeVNlbGVjdG9yKGQuc2VsZWN0b3IpO2lmKCFiKXJldHVybiB2b2lkIHIud2FybigiTm9kZSAiLmNvbmNhdChkLnNlbGVjdG9yLCIgaXMgbm90IGZvdW5kLiBJbnRlcnNlY3Rpb24gb2JzZXJ2ZXIgd2lsbCBub3QgdHJpZ2dlci4iKSk7bS5vYnNlcnZlKGIpfX1mdW5jdGlvbiBsKGUpe3ZhciBuPWUucmVxSWQscj1jW25dO3ImJihyLmRpc2Nvbm5lY3QoKSxkZWxldGUgY1tuXSx0LnB1Ymxpc2hIYW5kbGVyKCJvblJlcXVlc3RDb21wb25lbnRPYnNlcnZlciIse3JlcUlkOm4scmVxRW5kOiEwfSkpfX0pLmNhbGwodGhpcyxuKCIzMWQyIiksbigiNDE4YiIpWyJkZWZhdWx0Il0pfSxkNmZiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5yKGUpLG4oIjAzNzIiKTt2YXIgcj1uKCI5MDllIiksaT17bmFtZToiQnV0dG9uIixtaXhpbnM6W3JbImMiXSxyWyJhIl0sclsiZiJdXSxwcm9wczp7aG92ZXJDbGFzczp7dHlwZTpTdHJpbmcsZGVmYXVsdDoiYnV0dG9uLWhvdmVyIn0sZGlzYWJsZWQ6e3R5cGU6W0Jvb2xlYW4sU3RyaW5nXSxkZWZhdWx0OiExfSxpZDp7dHlwZTpTdHJpbmcsZGVmYXVsdDoiIn0saG92ZXJTdG9wUHJvcGFnYXRpb246e3R5cGU6Qm9vbGVhbixkZWZhdWx0OiExfSxob3ZlclN0YXJ0VGltZTp7dHlwZTpbTnVtYmVyLFN0cmluZ10sZGVmYXVsdDoyMH0saG92ZXJTdGF5VGltZTp7dHlwZTpbTnVtYmVyLFN0cmluZ10sZGVmYXVsdDo3MH0sZm9ybVR5cGU6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6IiIsdmFsaWRhdG9yOmZ1bmN0aW9uKHQpe3JldHVybn5bIiIsInN1Ym1pdCIsInJlc2V0Il0uaW5kZXhPZih0KX19LG9wZW5UeXBlOnt0eXBlOlN0cmluZyxkZWZhdWx0OiIifX0sZGF0YTpmdW5jdGlvbigpe3JldHVybntjbGlja0Z1bmN0aW9uOm51bGx9fSxtZXRob2RzOntfb25DbGljazpmdW5jdGlvbih0LGUpe3RoaXMuZGlzYWJsZWR8fChlJiZ0aGlzLiRlbC5jbGljaygpLHRoaXMuZm9ybVR5cGU/dGhpcy4kZGlzcGF0Y2goIkZvcm0iLCJzdWJtaXQiPT09dGhpcy5mb3JtVHlwZT8idW5pLWZvcm0tc3VibWl0IjoidW5pLWZvcm0tcmVzZXQiLHt0eXBlOnRoaXMuZm9ybVR5cGV9KTp0aGlzLm9wZW5UeXBlKX0sX2JpbmRPYmplY3RMaXN0ZW5lcnM6ZnVuY3Rpb24odCxlKXtpZihlKWZvcih2YXIgbiBpbiBlKXt2YXIgcj10Lm9uW25dLGk9ZVtuXTt0Lm9uW25dPXI/W10uY29uY2F0KHIsaSk6aX1yZXR1cm4gdH19LHJlbmRlcjpmdW5jdGlvbih0KXt2YXIgZT10aGlzLG49T2JqZWN0LmNyZWF0ZShudWxsKTtyZXR1cm4gdGhpcy4kbGlzdGVuZXJzJiZPYmplY3Qua2V5cyh0aGlzLiRsaXN0ZW5lcnMpLmZvckVhY2goKGZ1bmN0aW9uKHQpeyghZS5kaXNhYmxlZHx8ImNsaWNrIiE9PXQmJiJ0YXAiIT09dCkmJihuW3RdPWUuJGxpc3RlbmVyc1t0XSl9KSksdGhpcy5ob3ZlckNsYXNzJiYibm9uZSIhPT10aGlzLmhvdmVyQ2xhc3M/dCgidW5pLWJ1dHRvbiIsdGhpcy5fYmluZE9iamVjdExpc3RlbmVycyh7Y2xhc3M6W3RoaXMuaG92ZXJpbmc/dGhpcy5ob3ZlckNsYXNzOiIiXSxhdHRyczp7ZGlzYWJsZWQ6dGhpcy5kaXNhYmxlZH0sb246e3RvdWNoc3RhcnQ6dGhpcy5faG92ZXJUb3VjaFN0YXJ0LHRvdWNoZW5kOnRoaXMuX2hvdmVyVG91Y2hFbmQsdG91Y2hjYW5jZWw6dGhpcy5faG92ZXJUb3VjaENhbmNlbCxtb3VzZWRvd246dGhpcy5faG92ZXJNb3VzZWRvd24sbW91c2V1cDp0aGlzLl9ob3Zlck1vdXNldXAsY2xpY2s6dGhpcy5fb25DbGlja319LG4pLHRoaXMuJHNsb3RzLmRlZmF1bHQpOnQoInVuaS1idXR0b24iLHRoaXMuX2JpbmRPYmplY3RMaXN0ZW5lcnMoe2NsYXNzOlt0aGlzLmhvdmVyaW5nP3RoaXMuaG92ZXJDbGFzczoiIl0sYXR0cnM6e2Rpc2FibGVkOnRoaXMuZGlzYWJsZWR9LG9uOntjbGljazp0aGlzLl9vbkNsaWNrfX0sbiksdGhpcy4kc2xvdHMuZGVmYXVsdCl9LGxpc3RlbmVyczp7ImxhYmVsLWNsaWNrIjoiX29uQ2xpY2siLCJAbGFiZWwtY2xpY2siOiJfb25DbGljayJ9fSxvPWksYT0obigiM2U5MiIpLG4oIjg4NDQiKSkscz1PYmplY3QoYVsiYSJdKShvLHZvaWQgMCx2b2lkIDAsITEsbnVsbCxudWxsLG51bGwpO2VbImRlZmF1bHQiXT1zLmV4cG9ydHN9LGQ5MWE6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtuLnIoZSksbi5kKGUsImdldFJlY29yZGVyTWFuYWdlciIsKGZ1bmN0aW9uKCl7cmV0dXJuIGN9KSk7dmFyIHI9bigiNzQ1YSIpO2Z1bmN0aW9uIGkodCxlKXtmb3IodmFyIG49MDtuPGUubGVuZ3RoO24rKyl7dmFyIHI9ZVtuXTtyLmVudW1lcmFibGU9ci5lbnVtZXJhYmxlfHwhMSxyLmNvbmZpZ3VyYWJsZT0hMCwidmFsdWUiaW4gciYmKHIud3JpdGFibGU9ITApLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LHIua2V5LHIpfX12YXIgbyxhPXtwYXVzZTpudWxsLHJlc3VtZTpudWxsLHN0YXJ0Om51bGwsc3RvcDpudWxsLGVycm9yOm51bGx9LHM9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7KGZ1bmN0aW9uKHQsZSl7aWYoISh0IGluc3RhbmNlb2YgZSkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uIil9KSh0aGlzLHQpLE9iamVjdChyWyJkIl0pKCJvblJlY29yZGVyU3RhdGVDaGFuZ2UiLChmdW5jdGlvbih0KXt2YXIgZT10LnN0YXRlO2RlbGV0ZSB0LnN0YXRlLGRlbGV0ZSB0LmVyck1zZywiZnVuY3Rpb24iPT09dHlwZW9mIGFbZV0mJmFbZV0odCl9KSl9cmV0dXJuIGZ1bmN0aW9uKHQsZSxuKXtlJiZpKHQucHJvdG90eXBlLGUpLG4mJmkodCxuKX0odCxbe2tleToib25FcnJvciIsdmFsdWU6ZnVuY3Rpb24odCl7YS5lcnJvcj10fX0se2tleToib25GcmFtZVJlY29yZGVkIix2YWx1ZTpmdW5jdGlvbih0KXt9fSx7a2V5OiJvbkludGVycnVwdGlvbkJlZ2luIix2YWx1ZTpmdW5jdGlvbih0KXt9fSx7a2V5OiJvbkludGVycnVwdGlvbkVuZCIsdmFsdWU6ZnVuY3Rpb24odCl7fX0se2tleToib25QYXVzZSIsdmFsdWU6ZnVuY3Rpb24odCl7YS5wYXVzZT10fX0se2tleToib25SZXN1bWUiLHZhbHVlOmZ1bmN0aW9uKHQpe2EucmVzdW1lPXR9fSx7a2V5OiJvblN0YXJ0Iix2YWx1ZTpmdW5jdGlvbih0KXthLnN0YXJ0PXR9fSx7a2V5OiJvblN0b3AiLHZhbHVlOmZ1bmN0aW9uKHQpe2Euc3RvcD10fX0se2tleToicGF1c2UiLHZhbHVlOmZ1bmN0aW9uKCl7T2JqZWN0KHJbImMiXSkoIm9wZXJhdGVSZWNvcmRlciIse29wZXJhdGlvblR5cGU6InBhdXNlIn0pfX0se2tleToicmVzdW1lIix2YWx1ZTpmdW5jdGlvbigpe09iamVjdChyWyJjIl0pKCJvcGVyYXRlUmVjb3JkZXIiLHtvcGVyYXRpb25UeXBlOiJyZXN1bWUifSl9fSx7a2V5OiJzdGFydCIsdmFsdWU6ZnVuY3Rpb24odCl7T2JqZWN0KHJbImMiXSkoIm9wZXJhdGVSZWNvcmRlciIsT2JqZWN0LmFzc2lnbih7fSx0LHtvcGVyYXRpb25UeXBlOiJzdGFydCJ9KSl9fSx7a2V5OiJzdG9wIix2YWx1ZTpmdW5jdGlvbigpe09iamVjdChyWyJjIl0pKCJvcGVyYXRlUmVjb3JkZXIiLHtvcGVyYXRpb25UeXBlOiJzdG9wIn0pfX1dKSx0fSgpO2Z1bmN0aW9uIGMoKXtyZXR1cm4gb3x8KG89bmV3IHMpfX0sZDkzNzpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjc4MjEiKSxpPW4ubihyKTtpLmF9LGQ5N2Q6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtuLmQoZSwiYSIsKGZ1bmN0aW9uKCl7cmV0dXJuIGR9KSk7dmFyIHI9L148KFstQS1aYS16MC05X10rKSgoPzpccytbYS16QS1aXzpdWy1hLXpBLVowLTlfOi5dKig/OlxzKj1ccyooPzooPzoiW14iXSoiKXwoPzonW14nXSonKXxbXj5cc10rKSk/KSopXHMqKFwvPyk+LyxpPS9ePFwvKFstQS1aYS16MC05X10rKVtePl0qPi8sbz0vKFthLXpBLVpfOl1bLWEtekEtWjAtOV86Ll0qKSg/OlxzKj1ccyooPzooPzoiKCg/OlxcLnxbXiJdKSopIil8KD86JygoPzpcXC58W14nXSkqKScpfChbXj5cc10rKSkpPy9nLGE9aCgiYXJlYSxiYXNlLGJhc2Vmb250LGJyLGNvbCxmcmFtZSxocixpbWcsaW5wdXQsbGluayxtZXRhLHBhcmFtLGVtYmVkLGNvbW1hbmQsa2V5Z2VuLHNvdXJjZSx0cmFjayx3YnIiKSxzPWgoImEsYWRkcmVzcyxhcnRpY2xlLGFwcGxldCxhc2lkZSxhdWRpbyxibG9ja3F1b3RlLGJ1dHRvbixjYW52YXMsY2VudGVyLGRkLGRlbCxkaXIsZGl2LGRsLGR0LGZpZWxkc2V0LGZpZ2NhcHRpb24sZmlndXJlLGZvb3Rlcixmb3JtLGZyYW1lc2V0LGgxLGgyLGgzLGg0LGg1LGg2LGhlYWRlcixoZ3JvdXAsaHIsaWZyYW1lLGlzaW5kZXgsbGksbWFwLG1lbnUsbm9mcmFtZXMsbm9zY3JpcHQsb2JqZWN0LG9sLG91dHB1dCxwLHByZSxzZWN0aW9uLHNjcmlwdCx0YWJsZSx0Ym9keSx0ZCx0Zm9vdCx0aCx0aGVhZCx0cix1bCx2aWRlbyIpLGM9aCgiYWJicixhY3JvbnltLGFwcGxldCxiLGJhc2Vmb250LGJkbyxiaWcsYnIsYnV0dG9uLGNpdGUsY29kZSxkZWwsZGZuLGVtLGZvbnQsaSxpZnJhbWUsaW1nLGlucHV0LGlucyxrYmQsbGFiZWwsbWFwLG9iamVjdCxxLHMsc2FtcCxzY3JpcHQsc2VsZWN0LHNtYWxsLHNwYW4sc3RyaWtlLHN0cm9uZyxzdWIsc3VwLHRleHRhcmVhLHR0LHUsdmFyIiksdT1oKCJjb2xncm91cCxkZCxkdCxsaSxvcHRpb25zLHAsdGQsdGZvb3QsdGgsdGhlYWQsdHIiKSxsPWgoImNoZWNrZWQsY29tcGFjdCxkZWNsYXJlLGRlZmVyLGRpc2FibGVkLGlzbWFwLG11bHRpcGxlLG5vaHJlZixub3Jlc2l6ZSxub3NoYWRlLG5vd3JhcCxyZWFkb25seSxzZWxlY3RlZCIpLGY9aCgic2NyaXB0LHN0eWxlIik7ZnVuY3Rpb24gZCh0LGUpe3ZhciBuLGQsaCxwPVtdLHY9dDtwLmxhc3Q9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc1t0aGlzLmxlbmd0aC0xXX07d2hpbGUodCl7aWYoZD0hMCxwLmxhc3QoKSYmZltwLmxhc3QoKV0pdD10LnJlcGxhY2UobmV3IFJlZ0V4cCgiKFtcXHNcXFNdKj8pPC8iK3AubGFzdCgpKyJbXj5dKj4iKSwoZnVuY3Rpb24odCxuKXtyZXR1cm4gbj1uLnJlcGxhY2UoLzwhLS0oW1xzXFNdKj8pLS0+fDwhXFtDREFUQVxbKFtcc1xTXSo/KV1dPi9nLCIkMSQyIiksZS5jaGFycyYmZS5jaGFycyhuKSwiIn0pKSxiKCIiLHAubGFzdCgpKTtlbHNlIGlmKDA9PXQuaW5kZXhPZigiXHgzYyEtLSIpPyhuPXQuaW5kZXhPZigiLS1ceDNlIiksbj49MCYmKGUuY29tbWVudCYmZS5jb21tZW50KHQuc3Vic3RyaW5nKDQsbikpLHQ9dC5zdWJzdHJpbmcobiszKSxkPSExKSk6MD09dC5pbmRleE9mKCI8LyIpPyhoPXQubWF0Y2goaSksaCYmKHQ9dC5zdWJzdHJpbmcoaFswXS5sZW5ndGgpLGhbMF0ucmVwbGFjZShpLGIpLGQ9ITEpKTowPT10LmluZGV4T2YoIjwiKSYmKGg9dC5tYXRjaChyKSxoJiYodD10LnN1YnN0cmluZyhoWzBdLmxlbmd0aCksaFswXS5yZXBsYWNlKHIsbSksZD0hMSkpLGQpe249dC5pbmRleE9mKCI8Iik7dmFyIGc9bjwwP3Q6dC5zdWJzdHJpbmcoMCxuKTt0PW48MD8iIjp0LnN1YnN0cmluZyhuKSxlLmNoYXJzJiZlLmNoYXJzKGcpfWlmKHQ9PXYpdGhyb3ciUGFyc2UgRXJyb3I6ICIrdDt2PXR9ZnVuY3Rpb24gbSh0LG4scixpKXtpZihuPW4udG9Mb3dlckNhc2UoKSxzW25dKXdoaWxlKHAubGFzdCgpJiZjW3AubGFzdCgpXSliKCIiLHAubGFzdCgpKTtpZih1W25dJiZwLmxhc3QoKT09biYmYigiIixuKSxpPWFbbl18fCEhaSxpfHxwLnB1c2gobiksZS5zdGFydCl7dmFyIGY9W107ci5yZXBsYWNlKG8sKGZ1bmN0aW9uKHQsZSl7dmFyIG49YXJndW1lbnRzWzJdP2FyZ3VtZW50c1syXTphcmd1bWVudHNbM10/YXJndW1lbnRzWzNdOmFyZ3VtZW50c1s0XT9hcmd1bWVudHNbNF06bFtlXT9lOiIiO2YucHVzaCh7bmFtZTplLHZhbHVlOm4sZXNjYXBlZDpuLnJlcGxhY2UoLyhefFteXFxdKSIvZywnJDFcXCInKX0pfSkpLGUuc3RhcnQmJmUuc3RhcnQobixmLGkpfX1mdW5jdGlvbiBiKHQsbil7aWYobil7Zm9yKHI9cC5sZW5ndGgtMTtyPj0wO3ItLSlpZihwW3JdPT1uKWJyZWFrfWVsc2UgdmFyIHI9MDtpZihyPj0wKXtmb3IodmFyIGk9cC5sZW5ndGgtMTtpPj1yO2ktLSllLmVuZCYmZS5lbmQocFtpXSk7cC5sZW5ndGg9cn19YigpfWZ1bmN0aW9uIGgodCl7Zm9yKHZhciBlPXt9LG49dC5zcGxpdCgiLCIpLHI9MDtyPG4ubGVuZ3RoO3IrKyllW25bcl1dPSEwO3JldHVybiBlfX0sZGE5ZDpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO24ucihlKTt2YXIgcj1uKCI5MDllIiksaT0iKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSIsbz1bImRvbmUiLCJnbyIsIm5leHQiLCJzZWFyY2giLCJzZW5kIl0sYT1bIm5vbmUiLCJ0ZXh0IiwiZGVjaW1hbCIsIm51bWVyaWMiLCJ0ZWwiLCJzZWFyY2giLCJlbWFpbCIsInVybCJdLHM9e25hbWU6IlRleHRhcmVhIixtaXhpbnM6W3JbImIiXV0scHJvcHM6e25hbWU6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6IiJ9LG1heGxlbmd0aDp7dHlwZTpbTnVtYmVyLFN0cmluZ10sZGVmYXVsdDoxNDB9LHBsYWNlaG9sZGVyOnt0eXBlOlN0cmluZyxkZWZhdWx0OiIifSxkaXNhYmxlZDp7dHlwZTpbQm9vbGVhbixTdHJpbmddLGRlZmF1bHQ6ITF9LHBsYWNlaG9sZGVyQ2xhc3M6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6InRleHRhcmVhLXBsYWNlaG9sZGVyIn0scGxhY2Vob2xkZXJTdHlsZTp7dHlwZTpTdHJpbmcsZGVmYXVsdDoiIn0sYXV0b0hlaWdodDp7dHlwZTpbQm9vbGVhbixTdHJpbmddLGRlZmF1bHQ6ITF9LGNvbmZpcm1UeXBlOnt0eXBlOlN0cmluZyxkZWZhdWx0OiJyZXR1cm4iLHZhbGlkYXRvcjpmdW5jdGlvbih0KXtyZXR1cm4gby5jb25jYXQoInJldHVybiIpLmluY2x1ZGVzKHQpfX0saW5wdXRtb2RlOnt0eXBlOlN0cmluZyxkZWZhdWx0OnZvaWQgMCx2YWxpZGF0b3I6ZnVuY3Rpb24odCl7cmV0dXJuISF+YS5pbmRleE9mKHQpfX0sY3Vyc29yQ29sb3I6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6IiJ9fSxkYXRhOmZ1bmN0aW9uKCl7cmV0dXJue3ZhbHVlQ29tcG9zaXRpb246IiIsaGVpZ2h0OjAsZm9jdXNDaGFuZ2VTb3VyY2U6IiIsZml4TWFyZ2luOjA9PT1TdHJpbmcobmF2aWdhdG9yLnBsYXRmb3JtKS5pbmRleE9mKCJpUCIpJiYwPT09U3RyaW5nKG5hdmlnYXRvci52ZW5kb3IpLmluZGV4T2YoIkFwcGxlIikmJndpbmRvdy5tYXRjaE1lZGlhKGkpLm1lZGlhIT09aX19LGNvbXB1dGVkOnttYXhsZW5ndGhOdW1iZXI6ZnVuY3Rpb24oKXt2YXIgdD1OdW1iZXIodGhpcy5tYXhsZW5ndGgpO3JldHVybiBpc05hTih0KT8xNDA6dH0sdmFsdWVDb21wdXRlOmZ1bmN0aW9uKCl7cmV0dXJuKHRoaXMuY29tcG9zaW5nP3RoaXMudmFsdWVDb21wb3NpdGlvbjp0aGlzLnZhbHVlU3luYykuc3BsaXQoIlxuIil9LGlzRG9uZTpmdW5jdGlvbigpe3JldHVybiBvLmluY2x1ZGVzKHRoaXMuY29uZmlybVR5cGUpfX0sd2F0Y2g6e2ZvY3VzOmZ1bmN0aW9uKHQpe3QmJih0aGlzLmZvY3VzQ2hhbmdlU291cmNlPSJmb2N1cyIpfSxoZWlnaHQ6ZnVuY3Rpb24odCl7dmFyIGU9cGFyc2VGbG9hdChnZXRDb21wdXRlZFN0eWxlKHRoaXMuJGVsKS5saW5lSGVpZ2h0KTtpc05hTihlKSYmKGU9dGhpcy4kcmVmcy5saW5lLm9mZnNldEhlaWdodCk7dmFyIG49TWF0aC5yb3VuZCh0L2UpO3RoaXMuJHRyaWdnZXIoImxpbmVjaGFuZ2UiLHt9LHtoZWlnaHQ6dCxoZWlnaHRScHg6NzUwL3dpbmRvdy5pbm5lcldpZHRoKnQsbGluZUNvdW50Om59KSx0aGlzLmF1dG9IZWlnaHQmJih0aGlzLiRlbC5zdHlsZS5oZWlnaHQ9ImF1dG8iLHRoaXMuJHJlZnMud3JhcHBlci5zdHlsZS5oZWlnaHQ9dGhpcy5oZWlnaHQrInB4Iil9fSxjcmVhdGVkOmZ1bmN0aW9uKCl7dGhpcy4kZGlzcGF0Y2goIkZvcm0iLCJ1bmktZm9ybS1ncm91cC11cGRhdGUiLHt0eXBlOiJhZGQiLHZtOnRoaXN9KX0sbW91bnRlZDpmdW5jdGlvbigpe3RoaXMuX3Jlc2l6ZSh7aGVpZ2h0OnRoaXMuJHJlZnMuc2Vuc29yLiRlbC5vZmZzZXRIZWlnaHR9KTt2YXIgdD10aGlzO3doaWxlKHQpe3ZhciBlPXQuJG9wdGlvbnMuX3Njb3BlSWQ7ZSYmdGhpcy4kcmVmcy5wbGFjZWhvbGRlci5zZXRBdHRyaWJ1dGUoZSwiIiksdD10LiRwYXJlbnR9fSxiZWZvcmVEZXN0cm95OmZ1bmN0aW9uKCl7dGhpcy4kZGlzcGF0Y2goIkZvcm0iLCJ1bmktZm9ybS1ncm91cC11cGRhdGUiLHt0eXBlOiJyZW1vdmUiLHZtOnRoaXN9KX0sbWV0aG9kczp7X29uS2V5RG93bkVudGVyOmZ1bmN0aW9uKHQpe3RoaXMuaXNEb25lJiZ0LnByZXZlbnREZWZhdWx0KCl9LF9vbktleVVwRW50ZXI6ZnVuY3Rpb24odCl7dGhpcy5pc0RvbmUmJih0aGlzLl9jb25maXJtKHQpLCF0aGlzLmNvbmZpcm1Ib2xkJiZ0aGlzLiRyZWZzLnRleHRhcmVhLmJsdXIoKSl9LF9vbkNvbXBvc2l0aW9uOmZ1bmN0aW9uKHQpe3N3aXRjaCh0LnR5cGUpe2Nhc2UiY29tcG9zaXRpb25zdGFydCI6dGhpcy5jb21wb3Npbmc9ITA7YnJlYWs7Y2FzZSJjb21wb3NpdGlvbmVuZCI6dGhpcy5jb21wb3NpbmcmJih0aGlzLmNvbXBvc2luZz0hMSx0aGlzLl9vbklucHV0KHQpKTticmVha30hdGhpcy5pZ25vcmVDb21wb3NpdGlvbkV2ZW50JiZ0aGlzLiR0cmlnZ2VyKHQudHlwZSx0LHtkYXRhOnQuZGF0YX0pfSxfY29uZmlybTpmdW5jdGlvbih0KXt0aGlzLiR0cmlnZ2VyKCJjb25maXJtIix0LHt2YWx1ZTp0aGlzLnZhbHVlU3luY30pfSxfbGluZWNoYW5nZTpmdW5jdGlvbih0KXt0aGlzLiR0cmlnZ2VyKCJsaW5lY2hhbmdlIix0LHt2YWx1ZTp0aGlzLnZhbHVlU3luY30pfSxfb25Ub3VjaHN0YXJ0OmZ1bmN0aW9uKCl7dGhpcy5mb2N1c0NoYW5nZVNvdXJjZT0idG91Y2gifSxfcmVzaXplOmZ1bmN0aW9uKHQpe3ZhciBlPXQuaGVpZ2h0O3RoaXMuaGVpZ2h0PWV9LF9vbklucHV0OmZ1bmN0aW9uKHQsZSl7dGhpcy5jb21wb3NpbmcmJnRoaXMuaWdub3JlQ29tcG9zaXRpb25FdmVudD90aGlzLnZhbHVlQ29tcG9zaXRpb249dC50YXJnZXQudmFsdWU6KHRoaXMuaWdub3JlQ29tcG9zaXRpb25FdmVudHx8KHRoaXMudmFsdWVTeW5jPXRoaXMuJHJlZnMudGV4dGFyZWEudmFsdWUpLHRoaXMuJHRyaWdnZXJJbnB1dCh0LHt2YWx1ZTp0aGlzLnZhbHVlU3luYyxjdXJzb3I6dGhpcy4kcmVmcy50ZXh0YXJlYS5zZWxlY3Rpb25FbmR9LGUpKX0sX2dldEZvcm1EYXRhOmZ1bmN0aW9uKCl7cmV0dXJue3ZhbHVlOnRoaXMudmFsdWVTeW5jLGtleTp0aGlzLm5hbWV9fSxfcmVzZXRGb3JtRGF0YTpmdW5jdGlvbigpe3RoaXMudmFsdWVTeW5jPSIifX19LGM9cyx1PShuKCIzYzVmIiksbigiODg0NCIpKSxsPU9iamVjdCh1WyJhIl0pKGMsKGZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPXQuJGNyZWF0ZUVsZW1lbnQsbj10Ll9zZWxmLl9jfHxlO3JldHVybiBuKCJ1bmktdGV4dGFyZWEiLHQuX2coe30sdC4kbGlzdGVuZXJzKSxbbigiZGl2Iix7cmVmOiJ3cmFwcGVyIixzdGF0aWNDbGFzczoidW5pLXRleHRhcmVhLXdyYXBwZXIifSxbbigiZGl2Iix7ZGlyZWN0aXZlczpbe25hbWU6InNob3ciLHJhd05hbWU6InYtc2hvdyIsdmFsdWU6ISh0LmNvbXBvc2luZ3x8dC52YWx1ZVN5bmMubGVuZ3RoKSxleHByZXNzaW9uOiIhKGNvbXBvc2luZyB8fCB2YWx1ZVN5bmMubGVuZ3RoKSJ9XSxyZWY6InBsYWNlaG9sZGVyIixzdGF0aWNDbGFzczoidW5pLXRleHRhcmVhLXBsYWNlaG9sZGVyIixjbGFzczp0LnBsYWNlaG9sZGVyQ2xhc3Msc3R5bGU6dC5wbGFjZWhvbGRlclN0eWxlLGRvbVByb3BzOnt0ZXh0Q29udGVudDp0Ll9zKHQucGxhY2Vob2xkZXIpfX0pLG4oImRpdiIse3JlZjoibGluZSIsc3RhdGljQ2xhc3M6InVuaS10ZXh0YXJlYS1saW5lIixkb21Qcm9wczp7dGV4dENvbnRlbnQ6dC5fcygiICIpfX0pLG4oImRpdiIse3N0YXRpY0NsYXNzOiJ1bmktdGV4dGFyZWEtY29tcHV0ZSJ9LFt0Ll9sKHQudmFsdWVDb21wdXRlLChmdW5jdGlvbihlLHIpe3JldHVybiBuKCJkaXYiLHtrZXk6cixkb21Qcm9wczp7dGV4dENvbnRlbnQ6dC5fcyhlLnRyaW0oKT9lOiIuIil9fSl9KSksbigidi11bmktcmVzaXplLXNlbnNvciIse3JlZjoic2Vuc29yIixvbjp7cmVzaXplOnQuX3Jlc2l6ZX19KV0sMiksdC5kaXNhYmxlZCYmdC5maXhDb2xvcj90Ll9lKCk6bigidGV4dGFyZWEiLHtkaXJlY3RpdmVzOlt7bmFtZToibW9kZWwiLHJhd05hbWU6InYtbW9kZWwiLHZhbHVlOnQudmFsdWVTeW5jLGV4cHJlc3Npb246InZhbHVlU3luYyJ9LHtuYW1lOiJrZXlib2FyZCIscmF3TmFtZToidi1rZXlib2FyZCJ9LHtuYW1lOiJmaWVsZCIscmF3TmFtZToidi1maWVsZCJ9XSxyZWY6InRleHRhcmVhIixzdGF0aWNDbGFzczoidW5pLXRleHRhcmVhLXRleHRhcmVhIixjbGFzczp7InVuaS10ZXh0YXJlYS10ZXh0YXJlYS1maXgtbWFyZ2luIjp0LmZpeE1hcmdpbn0sc3R5bGU6T2JqZWN0LmFzc2lnbih7fSx7Im92ZXJmbG93LXkiOnQuYXV0b0hlaWdodD8iaGlkZGVuIjoiYXV0byJ9LHQuY3Vyc29yQ29sb3ImJntjYXJldENvbG9yOnQuY3Vyc29yQ29sb3J9KSxhdHRyczp7ZGlzYWJsZWQ6dC5kaXNhYmxlZCxtYXhsZW5ndGg6dC5tYXhsZW5ndGhOdW1iZXIsZW50ZXJrZXloaW50OnQuY29uZmlybVR5cGUsaW5wdXRtb2RlOnQuaW5wdXRtb2RlfSxkb21Qcm9wczp7dmFsdWU6dC52YWx1ZVN5bmN9LG9uOntjaGFuZ2U6ZnVuY3Rpb24odCl7dC5zdG9wUHJvcGFnYXRpb24oKX0sY29tcG9zaXRpb25zdGFydDpmdW5jdGlvbihlKXtyZXR1cm4gZS5zdG9wUHJvcGFnYXRpb24oKSx0Ll9vbkNvbXBvc2l0aW9uKGUpfSxjb21wb3NpdGlvbmVuZDpmdW5jdGlvbihlKXtyZXR1cm4gZS5zdG9wUHJvcGFnYXRpb24oKSx0Ll9vbkNvbXBvc2l0aW9uKGUpfSxjb21wb3NpdGlvbnVwZGF0ZTpmdW5jdGlvbihlKXtyZXR1cm4gZS5zdG9wUHJvcGFnYXRpb24oKSx0Ll9vbkNvbXBvc2l0aW9uKGUpfSxpbnB1dDpbZnVuY3Rpb24oZSl7ZS50YXJnZXQuY29tcG9zaW5nfHwodC52YWx1ZVN5bmM9ZS50YXJnZXQudmFsdWUpfSxmdW5jdGlvbihlKXtyZXR1cm4gZS5zdG9wUHJvcGFnYXRpb24oKSx0Ll9vbklucHV0KGUpfV0sZm9jdXM6dC5fb25Gb2N1cyxibHVyOnQuX29uQmx1ciwiJnRvdWNoc3RhcnQiOmZ1bmN0aW9uKGUpe3JldHVybiB0Ll9vblRvdWNoc3RhcnQoZSl9LGtleXVwOmZ1bmN0aW9uKGUpe3JldHVybiFlLnR5cGUuaW5kZXhPZigia2V5IikmJnQuX2soZS5rZXlDb2RlLCJlbnRlciIsMTMsZS5rZXksIkVudGVyIik/bnVsbDp0Ll9vbktleVVwRW50ZXIoZSl9LGtleWRvd246ZnVuY3Rpb24oZSl7cmV0dXJuIWUudHlwZS5pbmRleE9mKCJrZXkiKSYmdC5fayhlLmtleUNvZGUsImVudGVyIiwxMyxlLmtleSwiRW50ZXIiKT9udWxsOnQuX29uS2V5RG93bkVudGVyKGUpfX19KSx0Ll92KCIgIiksdC5kaXNhYmxlZCYmdC5maXhDb2xvcj9uKCJ0ZXh0YXJlYSIse3JlZjoidGV4dGFyZWEiLHN0YXRpY0NsYXNzOiJ1bmktdGV4dGFyZWEtdGV4dGFyZWEiLGNsYXNzOnsidW5pLXRleHRhcmVhLXRleHRhcmVhLWZpeC1tYXJnaW4iOnQuZml4TWFyZ2lufSxzdHlsZTpPYmplY3QuYXNzaWduKHt9LHsib3ZlcmZsb3cteSI6dC5hdXRvSGVpZ2h0PyJoaWRkZW4iOiJhdXRvIn0sdC5jdXJzb3JDb2xvciYme2NhcmV0Q29sb3I6dC5jdXJzb3JDb2xvcn0pLGF0dHJzOnt0YWJpbmRleDoiLTEiLHJlYWRvbmx5OnQuZGlzYWJsZWQsbWF4bGVuZ3RoOnQubWF4bGVuZ3RoTnVtYmVyfSxkb21Qcm9wczp7dmFsdWU6dC52YWx1ZVN5bmN9LG9uOntmb2N1czpmdW5jdGlvbih0KXtyZXR1cm4gdC50YXJnZXQuYmx1cigpfX19KTp0Ll9lKCldKV0pfSksW10sITEsbnVsbCxudWxsLG51bGwpO2VbImRlZmF1bHQiXT1sLmV4cG9ydHN9LGRhYzk6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtuLnIoZSksbi5kKGUsImNob29zZUltYWdlIiwoZnVuY3Rpb24oKXtyZXR1cm4gb30pKTt2YXIgcj1bIm9yaWdpbmFsIiwiY29tcHJlc3NlZCJdLGk9WyJhbGJ1bSIsImNhbWVyYSJdLG89e2NvdW50Ont0eXBlOk51bWJlcixyZXF1aXJlZDohMSxkZWZhdWx0OjksdmFsaWRhdG9yOmZ1bmN0aW9uKHQsZSl7dDw9MCYmKGUuY291bnQ9OSl9fSxzaXplVHlwZTp7dHlwZTpbQXJyYXksU3RyaW5nXSxyZXF1aXJlZDohMSxkZWZhdWx0OnIsdmFsaWRhdG9yOmZ1bmN0aW9uKHQsZSl7dD0ic3RyaW5nIj09PXR5cGVvZiB0P1t0XTp0LHQ9dC5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybiByLmluY2x1ZGVzKHQpfSkpLGUuc2l6ZVR5cGU9dC5sZW5ndGg/dDpyfX0sc291cmNlVHlwZTp7dHlwZTpBcnJheSxyZXF1aXJlZDohMSxkZWZhdWx0OmksdmFsaWRhdG9yOmZ1bmN0aW9uKHQsZSl7dD10LmZpbHRlcigoZnVuY3Rpb24odCl7cmV0dXJuIGkuaW5jbHVkZXModCl9KSksZS5zb3VyY2VUeXBlPXQubGVuZ3RoP3Q6aX19LGV4dGVuc2lvbjp7dHlwZTpBcnJheSxkZWZhdWx0OlsiKiJdLHZhbGlkYXRvcjpmdW5jdGlvbih0LGUpe2lmKDA9PT10Lmxlbmd0aClyZXR1cm4icGFyYW0gZXh0ZW5zaW9uIHNob3VsZCBub3QgYmUgZW1wdHkuIn19fX0sZGFkNjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiOyhmdW5jdGlvbih0KXt2YXIgcj1uKCJhNDA5Iik7ZVsiYSJdPXtuYW1lOiJUb2FzdCIsbWl4aW5zOltyWyJkZWZhdWx0Il1dLHByb3BzOnt0aXRsZTp7dHlwZTpTdHJpbmcsZGVmYXVsdDoiIn0saWNvbjp7ZGVmYXVsdDoic3VjY2VzcyIsdmFsaWRhdG9yOmZ1bmN0aW9uKHQpe3JldHVybi0xIT09WyJzdWNjZXNzIiwibG9hZGluZyIsImVycm9yIiwibm9uZSJdLmluZGV4T2YodCl9fSxpbWFnZTp7dHlwZTpTdHJpbmcsZGVmYXVsdDoiIn0sZHVyYXRpb246e3R5cGU6TnVtYmVyLGRlZmF1bHQ6MTUwMH0sbWFzazp7dHlwZTpCb29sZWFuLGRlZmF1bHQ6ITF9LHZpc2libGU6e3R5cGU6Qm9vbGVhbixkZWZhdWx0OiExfX0sY29tcHV0ZWQ6e2ljb25DbGFzczpmdW5jdGlvbigpe3JldHVybiJzdWNjZXNzIj09PXRoaXMuaWNvbj8idW5pLWljb24tc3VjY2Vzcy1uby1jaXJjbGUiOiJsb2FkaW5nIj09PXRoaXMuaWNvbj8idW5pLWxvYWRpbmciOiJlcnJvciI9PT10aGlzLmljb24/InVuaS1pY29uLWVycm9yIjoiIn19LGJlZm9yZVVwZGF0ZTpmdW5jdGlvbigpe3RoaXMudmlzaWJsZSYmKHRoaXMudGltZW91dElkJiZjbGVhclRpbWVvdXQodGhpcy50aW1lb3V0SWQpLHRoaXMudGltZW91dElkPXNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7dC5lbWl0KCJvbkhpZGVUb2FzdCIpfSksdGhpcy5kdXJhdGlvbikpfX19KS5jYWxsKHRoaXMsbigiMmM5ZiIpKX0sZGI4NzpmdW5jdGlvbih0LGUsbil7fSxkYmU4OmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5yKGUpO3ZhciByPW4oIjM0MGQiKSxpPW4oIjZmNzUiKTtmdW5jdGlvbiBvKHQpe3JldHVybiBNYXRoLnNxcnQodC54KnQueCt0LnkqdC55KX12YXIgYT17bmFtZToiTW92YWJsZUFyZWEiLHByb3BzOntzY2FsZUFyZWE6e3R5cGU6Qm9vbGVhbixkZWZhdWx0OiExfX0sZGF0YTpmdW5jdGlvbigpe3JldHVybnt3aWR0aDowLGhlaWdodDowLGl0ZW1zOltdfX0sY3JlYXRlZDpmdW5jdGlvbigpe3RoaXMuZ2FwVj17eDpudWxsLHk6bnVsbH0sdGhpcy5waW5jaFN0YXJ0TGVuPW51bGx9LG1vdW50ZWQ6ZnVuY3Rpb24oKXt0aGlzLl9yZXNpemUoKSxPYmplY3QoaVsiYiJdKSgpfSxtZXRob2RzOntfcmVzaXplOmZ1bmN0aW9uKCl7dGhpcy5fZ2V0V0goKSx0aGlzLml0ZW1zLmZvckVhY2goKGZ1bmN0aW9uKHQsZSl7dC5jb21wb25lbnRJbnN0YW5jZS5zZXRQYXJlbnQoKX0pKX0sX2ZpbmQ6ZnVuY3Rpb24odCl7dmFyIGU9YXJndW1lbnRzLmxlbmd0aD4xJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0/YXJndW1lbnRzWzFdOnRoaXMuaXRlbXMsbj10aGlzLiRlbDtmdW5jdGlvbiByKHQpe2Zvcih2YXIgaT0wO2k8ZS5sZW5ndGg7aSsrKXt2YXIgbz1lW2ldO2lmKHQ9PT1vLmNvbXBvbmVudEluc3RhbmNlLiRlbClyZXR1cm4gb31yZXR1cm4gdD09PW58fHQ9PT1kb2N1bWVudC5ib2R5fHx0PT09ZG9jdW1lbnQ/bnVsbDpyKHQucGFyZW50Tm9kZSl9cmV0dXJuIHIodCl9LF90b3VjaHN0YXJ0OmZ1bmN0aW9uKHQpe09iamVjdChpWyJhIl0pKHtkaXNhYmxlOiEwfSk7dmFyIGU9dC50b3VjaGVzO2lmKGUmJmUubGVuZ3RoPjEpe3ZhciBuPXt4OmVbMV0ucGFnZVgtZVswXS5wYWdlWCx5OmVbMV0ucGFnZVktZVswXS5wYWdlWX07aWYodGhpcy5waW5jaFN0YXJ0TGVuPW8obiksdGhpcy5nYXBWPW4sIXRoaXMuc2NhbGVBcmVhKXt2YXIgcj10aGlzLl9maW5kKGVbMF0udGFyZ2V0KSxhPXRoaXMuX2ZpbmQoZVsxXS50YXJnZXQpO3RoaXMuX3NjYWxlTW92YWJsZVZpZXc9ciYmcj09PWE/cjpudWxsfX19LF90b3VjaG1vdmU6ZnVuY3Rpb24odCl7dmFyIGU9dC50b3VjaGVzO2lmKGUmJmUubGVuZ3RoPjEpe3QucHJldmVudERlZmF1bHQoKTt2YXIgbj17eDplWzFdLnBhZ2VYLWVbMF0ucGFnZVgseTplWzFdLnBhZ2VZLWVbMF0ucGFnZVl9O2lmKG51bGwhPT10aGlzLmdhcFYueCYmdGhpcy5waW5jaFN0YXJ0TGVuPjApe3ZhciByPW8obikvdGhpcy5waW5jaFN0YXJ0TGVuO3RoaXMuX3VwZGF0ZVNjYWxlKHIpfXRoaXMuZ2FwVj1ufX0sX3RvdWNoZW5kOmZ1bmN0aW9uKHQpe09iamVjdChpWyJhIl0pKHtkaXNhYmxlOiExfSk7dmFyIGU9dC50b3VjaGVzO2UmJmUubGVuZ3RofHx0LmNoYW5nZWRUb3VjaGVzJiYodGhpcy5nYXBWLng9MCx0aGlzLmdhcFYueT0wLHRoaXMucGluY2hTdGFydExlbj1udWxsLHRoaXMuc2NhbGVBcmVhP3RoaXMuaXRlbXMuZm9yRWFjaCgoZnVuY3Rpb24odCl7dC5jb21wb25lbnRJbnN0YW5jZS5fZW5kU2NhbGUoKX0pKTp0aGlzLl9zY2FsZU1vdmFibGVWaWV3JiZ0aGlzLl9zY2FsZU1vdmFibGVWaWV3LmNvbXBvbmVudEluc3RhbmNlLl9lbmRTY2FsZSgpKX0sX3VwZGF0ZVNjYWxlOmZ1bmN0aW9uKHQpe3QmJjEhPT10JiYodGhpcy5zY2FsZUFyZWE/dGhpcy5pdGVtcy5mb3JFYWNoKChmdW5jdGlvbihlKXtlLmNvbXBvbmVudEluc3RhbmNlLl9zZXRTY2FsZSh0KX0pKTp0aGlzLl9zY2FsZU1vdmFibGVWaWV3JiZ0aGlzLl9zY2FsZU1vdmFibGVWaWV3LmNvbXBvbmVudEluc3RhbmNlLl9zZXRTY2FsZSh0KSl9LF9nZXRXSDpmdW5jdGlvbigpe3ZhciB0PXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRoaXMuJGVsKSxlPXRoaXMuJGVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3RoaXMud2lkdGg9ZS53aWR0aC1bIkxlZnQiLCJSaWdodCJdLnJlZHVjZSgoZnVuY3Rpb24oZSxuKXtyZXR1cm4gZStwYXJzZUZsb2F0KHRbImJvcmRlciIrbisiV2lkdGgiXSkrcGFyc2VGbG9hdCh0WyJwYWRkaW5nIituXSl9KSwwKSx0aGlzLmhlaWdodD1lLmhlaWdodC1bIlRvcCIsIkJvdHRvbSJdLnJlZHVjZSgoZnVuY3Rpb24oZSxuKXtyZXR1cm4gZStwYXJzZUZsb2F0KHRbImJvcmRlciIrbisiV2lkdGgiXSkrcGFyc2VGbG9hdCh0WyJwYWRkaW5nIituXSl9KSwwKX19LHJlbmRlcjpmdW5jdGlvbih0KXt2YXIgZT10aGlzLG49W10saT10aGlzLiRzbG90cy5kZWZhdWx0JiZPYmplY3QoclsiZiJdKSh0aGlzLiRzbG90cy5kZWZhdWx0LHQpO2kmJmkuZm9yRWFjaCgoZnVuY3Rpb24odCl7dC5jb21wb25lbnRPcHRpb25zJiYidi11bmktbW92YWJsZS12aWV3Ij09PXQuY29tcG9uZW50T3B0aW9ucy50YWcmJm4ucHVzaCh0KX0pKSx0aGlzLml0ZW1zPW47dmFyIG89T2JqZWN0LmFzc2lnbih7fSx0aGlzLiRsaXN0ZW5lcnMpO3JldHVyblsidG91Y2hzdGFydCIsInRvdWNobW92ZSIsInRvdWNoZW5kIl0uZm9yRWFjaCgoZnVuY3Rpb24odCl7dmFyIG49b1t0XSxyPWVbIl8iLmNvbmNhdCh0KV07b1t0XT1uP1tdLmNvbmNhdChuLHIpOnJ9KSksdCgidW5pLW1vdmFibGUtYXJlYSIse29uOm99LFt0KCJ2LXVuaS1yZXNpemUtc2Vuc29yIix7b246e3Jlc2l6ZTp0aGlzLl9yZXNpemV9fSksaV0pfX0scz1hLGM9KG4oIjk1OTMiKSxuKCI4ODQ0IikpLHU9T2JqZWN0KGNbImEiXSkocyx2b2lkIDAsdm9pZCAwLCExLG51bGwsbnVsbCxudWxsKTtlWyJkZWZhdWx0Il09dS5leHBvcnRzfSxkYzAyOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5yKGUpLG4uZChlLCJyZXF1ZXN0IiwoZnVuY3Rpb24oKXtyZXR1cm4gbH0pKTt2YXIgcj1uKCIzNDBkIiksaT1uKCI5MTMxIiksbz1uKCI3NDVhIik7ZnVuY3Rpb24gYSh0LGUpe2Zvcih2YXIgbj0wO248ZS5sZW5ndGg7bisrKXt2YXIgcj1lW25dO3IuZW51bWVyYWJsZT1yLmVudW1lcmFibGV8fCExLHIuY29uZmlndXJhYmxlPSEwLCJ2YWx1ZSJpbiByJiYoci53cml0YWJsZT0hMCksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsci5rZXkscil9fXZhciBzPU9iamVjdC5jcmVhdGUobnVsbCk7ZnVuY3Rpb24gYyh0LGUpe2lmKCJzdHJpbmciPT09dHlwZW9mIHQuZGF0YSYmNjUyNzk9PT10LmRhdGEuY2hhckNvZGVBdCgwKSYmKHQuZGF0YT10LmRhdGEuc3Vic3RyKDEpKSx0LnN0YXR1c0NvZGU9cGFyc2VJbnQodC5zdGF0dXNDb2RlLDEwKSxPYmplY3QoclsibCJdKSh0LmhlYWRlcikmJih0LmhlYWRlcj1PYmplY3Qua2V5cyh0LmhlYWRlcikucmVkdWNlKChmdW5jdGlvbihlLG4pe3ZhciByPXQuaGVhZGVyW25dO3JldHVybiBBcnJheS5pc0FycmF5KHIpP2Vbbl09ci5qb2luKCIsIik6InN0cmluZyI9PT10eXBlb2YgciYmKGVbbl09ciksZX0pLHt9KSksZS5kYXRhVHlwZSYmImpzb24iPT09ZS5kYXRhVHlwZS50b0xvd2VyQ2FzZSgpKXRyeXt0LmRhdGE9SlNPTi5wYXJzZSh0LmRhdGEpfWNhdGNoKG4pe31yZXR1cm4gdH1PYmplY3Qob1siZCJdKSgib25SZXF1ZXN0VGFza1N0YXRlQ2hhbmdlIiwoZnVuY3Rpb24odCl7dmFyIGU9dC5yZXF1ZXN0VGFza0lkLG49dC5zdGF0ZSxyPXQuZGF0YSxvPXQuc3RhdHVzQ29kZSxhPXQuaGVhZGVyLHU9dC5lcnJNc2csbD10LmNvb2tpZXMsZj1zW2VdfHx7fSxkPWYuYXJncyxoPWYuY2FsbGJhY2tJZDtpZihoKXN3aXRjaChkZWxldGUgc1tlXSxuKXtjYXNlInN1Y2Nlc3MiOk9iamVjdChpWyJhIl0pKGgsYyh7ZGF0YTpyLHN0YXR1c0NvZGU6byxoZWFkZXI6YSxlcnJNc2c6InJlcXVlc3Q6b2siLGNvb2tpZXM6bH0sZCkpO2JyZWFrO2Nhc2UiZmFpbCI6T2JqZWN0KGlbImEiXSkoaCx7ZXJyTXNnOiJyZXF1ZXN0OmZhaWwgIit1fSk7YnJlYWt9fSkpO3ZhciB1PWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdChlKXsoZnVuY3Rpb24odCxlKXtpZighKHQgaW5zdGFuY2VvZiBlKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb24iKX0pKHRoaXMsdCksdGhpcy5pZD1lfXJldHVybiBmdW5jdGlvbih0LGUsbil7ZSYmYSh0LnByb3RvdHlwZSxlKSxuJiZhKHQsbil9KHQsW3trZXk6ImFib3J0Iix2YWx1ZTpmdW5jdGlvbigpe09iamVjdChvWyJjIl0pKCJvcGVyYXRlUmVxdWVzdFRhc2siLHtyZXF1ZXN0VGFza0lkOnRoaXMuaWQsb3BlcmF0aW9uVHlwZToiYWJvcnQifSl9fSx7a2V5OiJvZmZIZWFkZXJzUmVjZWl2ZWQiLHZhbHVlOmZ1bmN0aW9uKCl7fX0se2tleToib25IZWFkZXJzUmVjZWl2ZWQiLHZhbHVlOmZ1bmN0aW9uKCl7fX1dKSx0fSgpO2Z1bmN0aW9uIGwodCxlKXt2YXIgbjtmb3IodmFyIGkgaW4gdC5oZWFkZXIpaWYoImNvbnRlbnQtdHlwZSI9PT1pLnRvTG93ZXJDYXNlKCkpe249dC5oZWFkZXJbaV07YnJlYWt9IkdFVCIhPT10Lm1ldGhvZCYmMD09PW4uaW5kZXhPZigiYXBwbGljYXRpb24vanNvbiIpJiZPYmplY3QoclsibCJdKSh0LmRhdGEpJiYodC5kYXRhPUpTT04uc3RyaW5naWZ5KHQuZGF0YSkpO3ZhciBhPU9iamVjdChvWyJjIl0pKCJjcmVhdGVSZXF1ZXN0VGFzayIsdCksYz1hLnJlcXVlc3RUYXNrSWQ7cmV0dXJuIHNbY109e2FyZ3M6dCxjYWxsYmFja0lkOmV9LG5ldyB1KGMpfX0sZGU0MzpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO24ucihlKTt2YXIgcj1uKCJkMDQyIiksaT1yWyJhIl0sbz0obigiMDY3MSIpLG4oIjg4NDQiKSksYT1PYmplY3Qob1siYSJdKShpLChmdW5jdGlvbigpe3ZhciB0PXRoaXMsZT10LiRjcmVhdGVFbGVtZW50LG49dC5fc2VsZi5fY3x8ZTtyZXR1cm4gbigidW5pLW1hcCIsdC5fZyh7cmVmOiJtYXBDb250YWluZXIiLGF0dHJzOntpZDp0LmlkfX0sdC4kbGlzdGVuZXJzKSxbdC5fbCh0Lm1hcmtlcnMsKGZ1bmN0aW9uKGUpe3JldHVybiBuKCJtYXAtbWFya2VyIix0Ll9iKHtrZXk6ZS5pZH0sIm1hcC1tYXJrZXIiLGUsITEpKX0pKSx0Ll9sKHQuY29udHJvbHMsKGZ1bmN0aW9uKGUscil7cmV0dXJuIG4oIm1hcC1jb250cm9sIix0Ll9iKHtrZXk6ZS5pZHx8cn0sIm1hcC1jb250cm9sIixlLCExKSl9KSksdC5fbCh0LnBvbHlnb25zLChmdW5jdGlvbihlKXtyZXR1cm4gbigibWFwLXBvbHlnb24iLHQuX2Ioe2tleTpKU09OLnN0cmluZ2lmeShlLnBvaW50cyl9LCJtYXAtcG9seWdvbiIsZSwhMSkpfSkpLG4oImRpdiIse3JlZjoibWFwIixzdGF0aWNTdHlsZTp7d2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSIscG9zaXRpb246InJlbGF0aXZlIixvdmVyZmxvdzoiaGlkZGVuIn0sb246e2NsaWNrOmZ1bmN0aW9uKHQpe3Quc3RvcFByb3BhZ2F0aW9uKCl9fX0pLG4oImRpdiIse3N0YXRpY1N0eWxlOntwb3NpdGlvbjoiYWJzb2x1dGUiLHRvcDoiMCIsd2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSIsb3ZlcmZsb3c6ImhpZGRlbiIsInBvaW50ZXItZXZlbnRzIjoibm9uZSJ9fSxbdC5fdCgiZGVmYXVsdCIpXSwyKV0sMil9KSxbXSwhMSxudWxsLG51bGwsbnVsbCk7ZVsiZGVmYXVsdCJdPWEuZXhwb3J0c30sZGY1MDpmdW5jdGlvbih0LGUsbil7fSxkZjVhOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaSh0KXtyZXR1cm4gaT0iZnVuY3Rpb24iPT09dHlwZW9mIFN5bWJvbCYmInN5bWJvbCI9PT1yKFN5bWJvbC5pdGVyYXRvcik/ZnVuY3Rpb24odCl7cmV0dXJuIHIodCl9OmZ1bmN0aW9uKHQpe3JldHVybiB0JiYiZnVuY3Rpb24iPT09dHlwZW9mIFN5bWJvbCYmdC5jb25zdHJ1Y3Rvcj09PVN5bWJvbCYmdCE9PVN5bWJvbC5wcm90b3R5cGU/InN5bWJvbCI6cih0KX0saSh0KX1mdW5jdGlvbiBvKHQsZSl7aWYoISh0IGluc3RhbmNlb2YgZSkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uIil9ZnVuY3Rpb24gYSh0LGUpe3JldHVybiBhPU9iamVjdC5zZXRQcm90b3R5cGVPZnx8ZnVuY3Rpb24odCxlKXtyZXR1cm4gdC5fX3Byb3RvX189ZSx0fSxhKHQsZSl9ZnVuY3Rpb24gcyh0LGUpe3JldHVybiFlfHwib2JqZWN0IiE9PWkoZSkmJiJmdW5jdGlvbiIhPT10eXBlb2YgZT9mdW5jdGlvbih0KXtpZih2b2lkIDA9PT10KXRocm93IG5ldyBSZWZlcmVuY2VFcnJvcigidGhpcyBoYXNuJ3QgYmVlbiBpbml0aWFsaXNlZCAtIHN1cGVyKCkgaGFzbid0IGJlZW4gY2FsbGVkIik7cmV0dXJuIHR9KHQpOmV9ZnVuY3Rpb24gYygpe2lmKCJ1bmRlZmluZWQiPT09dHlwZW9mIFJlZmxlY3R8fCFSZWZsZWN0LmNvbnN0cnVjdClyZXR1cm4hMTtpZihSZWZsZWN0LmNvbnN0cnVjdC5zaGFtKXJldHVybiExO2lmKCJmdW5jdGlvbiI9PT10eXBlb2YgUHJveHkpcmV0dXJuITA7dHJ5e3JldHVybiBEYXRlLnByb3RvdHlwZS50b1N0cmluZy5jYWxsKFJlZmxlY3QuY29uc3RydWN0KERhdGUsW10sKGZ1bmN0aW9uKCl7fSkpKSwhMH1jYXRjaCh0KXtyZXR1cm4hMX19ZnVuY3Rpb24gdSh0KXtyZXR1cm4gdT1PYmplY3Quc2V0UHJvdG90eXBlT2Y/T2JqZWN0LmdldFByb3RvdHlwZU9mOmZ1bmN0aW9uKHQpe3JldHVybiB0Ll9fcHJvdG9fX3x8T2JqZWN0LmdldFByb3RvdHlwZU9mKHQpfSx1KHQpfW4uZChlLCJhIiwoZnVuY3Rpb24oKXtyZXR1cm4gTn0pKTt2YXIgbD1mdW5jdGlvbih0KXt2YXIgZT10LmltcG9ydCgiYmxvdHMvYmxvY2svZW1iZWQiKSxuPWZ1bmN0aW9uKHQpeyhmdW5jdGlvbih0LGUpe2lmKCJmdW5jdGlvbiIhPT10eXBlb2YgZSYmbnVsbCE9PWUpdGhyb3cgbmV3IFR5cGVFcnJvcigiU3VwZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb24iKTt0LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGUmJmUucHJvdG90eXBlLHtjb25zdHJ1Y3Rvcjp7dmFsdWU6dCx3cml0YWJsZTohMCxjb25maWd1cmFibGU6ITB9fSksZSYmYSh0LGUpfSkobix0KTt2YXIgZT1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZSxuPXUodCk7aWYoYygpKXt2YXIgcj11KHRoaXMpLmNvbnN0cnVjdG9yO2U9UmVmbGVjdC5jb25zdHJ1Y3Qobixhcmd1bWVudHMscil9ZWxzZSBlPW4uYXBwbHkodGhpcyxhcmd1bWVudHMpO3JldHVybiBzKHRoaXMsZSl9fShuKTtmdW5jdGlvbiBuKCl7cmV0dXJuIG8odGhpcyxuKSxlLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1yZXR1cm4gbn0oZSk7cmV0dXJuIG4uYmxvdE5hbWU9ImRpdmlkZXIiLG4udGFnTmFtZT0iSFIiLHsiZm9ybWF0cy9kaXZpZGVyIjpufX07ZnVuY3Rpb24gZih0KXtyZXR1cm4gZj0iZnVuY3Rpb24iPT09dHlwZW9mIFN5bWJvbCYmInN5bWJvbCI9PT1yKFN5bWJvbC5pdGVyYXRvcik/ZnVuY3Rpb24odCl7cmV0dXJuIHIodCl9OmZ1bmN0aW9uKHQpe3JldHVybiB0JiYiZnVuY3Rpb24iPT09dHlwZW9mIFN5bWJvbCYmdC5jb25zdHJ1Y3Rvcj09PVN5bWJvbCYmdCE9PVN5bWJvbC5wcm90b3R5cGU/InN5bWJvbCI6cih0KX0sZih0KX1mdW5jdGlvbiBkKHQsZSl7aWYoISh0IGluc3RhbmNlb2YgZSkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uIil9ZnVuY3Rpb24gaCh0LGUpe3JldHVybiBoPU9iamVjdC5zZXRQcm90b3R5cGVPZnx8ZnVuY3Rpb24odCxlKXtyZXR1cm4gdC5fX3Byb3RvX189ZSx0fSxoKHQsZSl9ZnVuY3Rpb24gcCh0LGUpe3JldHVybiFlfHwib2JqZWN0IiE9PWYoZSkmJiJmdW5jdGlvbiIhPT10eXBlb2YgZT9mdW5jdGlvbih0KXtpZih2b2lkIDA9PT10KXRocm93IG5ldyBSZWZlcmVuY2VFcnJvcigidGhpcyBoYXNuJ3QgYmVlbiBpbml0aWFsaXNlZCAtIHN1cGVyKCkgaGFzbid0IGJlZW4gY2FsbGVkIik7cmV0dXJuIHR9KHQpOmV9ZnVuY3Rpb24gdigpe2lmKCJ1bmRlZmluZWQiPT09dHlwZW9mIFJlZmxlY3R8fCFSZWZsZWN0LmNvbnN0cnVjdClyZXR1cm4hMTtpZihSZWZsZWN0LmNvbnN0cnVjdC5zaGFtKXJldHVybiExO2lmKCJmdW5jdGlvbiI9PT10eXBlb2YgUHJveHkpcmV0dXJuITA7dHJ5e3JldHVybiBEYXRlLnByb3RvdHlwZS50b1N0cmluZy5jYWxsKFJlZmxlY3QuY29uc3RydWN0KERhdGUsW10sKGZ1bmN0aW9uKCl7fSkpKSwhMH1jYXRjaCh0KXtyZXR1cm4hMX19ZnVuY3Rpb24gZyh0KXtyZXR1cm4gZz1PYmplY3Quc2V0UHJvdG90eXBlT2Y/T2JqZWN0LmdldFByb3RvdHlwZU9mOmZ1bmN0aW9uKHQpe3JldHVybiB0Ll9fcHJvdG9fX3x8T2JqZWN0LmdldFByb3RvdHlwZU9mKHQpfSxnKHQpfXZhciBtPWZ1bmN0aW9uKHQpe3ZhciBlPXQuaW1wb3J0KCJibG90cy9pbmxpbmUiKSxuPWZ1bmN0aW9uKHQpeyhmdW5jdGlvbih0LGUpe2lmKCJmdW5jdGlvbiIhPT10eXBlb2YgZSYmbnVsbCE9PWUpdGhyb3cgbmV3IFR5cGVFcnJvcigiU3VwZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb24iKTt0LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGUmJmUucHJvdG90eXBlLHtjb25zdHJ1Y3Rvcjp7dmFsdWU6dCx3cml0YWJsZTohMCxjb25maWd1cmFibGU6ITB9fSksZSYmaCh0LGUpfSkobix0KTt2YXIgZT1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZSxuPWcodCk7aWYodigpKXt2YXIgcj1nKHRoaXMpLmNvbnN0cnVjdG9yO2U9UmVmbGVjdC5jb25zdHJ1Y3Qobixhcmd1bWVudHMscil9ZWxzZSBlPW4uYXBwbHkodGhpcyxhcmd1bWVudHMpO3JldHVybiBwKHRoaXMsZSl9fShuKTtmdW5jdGlvbiBuKCl7cmV0dXJuIGQodGhpcyxuKSxlLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1yZXR1cm4gbn0oZSk7cmV0dXJuIG4uYmxvdE5hbWU9ImlucyIsbi50YWdOYW1lPSJJTlMiLHsiZm9ybWF0cy9pbnMiOm59fSxiPWZ1bmN0aW9uKHQpe3ZhciBlPXQuaW1wb3J0KCJwYXJjaG1lbnQiKSxuPWUuU2NvcGUscj1lLkF0dHJpYnV0b3IsaT17c2NvcGU6bi5CTE9DSyx3aGl0ZWxpc3Q6WyJsZWZ0IiwicmlnaHQiLCJjZW50ZXIiLCJqdXN0aWZ5Il19LG89bmV3IHIuU3R5bGUoImFsaWduIiwidGV4dC1hbGlnbiIsaSk7cmV0dXJueyJmb3JtYXRzL2FsaWduIjpvfX0seT1mdW5jdGlvbih0KXt2YXIgZT10LmltcG9ydCgicGFyY2htZW50Iiksbj1lLlNjb3BlLHI9ZS5BdHRyaWJ1dG9yLGk9e3Njb3BlOm4uQkxPQ0ssd2hpdGVsaXN0OlsicnRsIl19LG89bmV3IHIuU3R5bGUoImRpcmVjdGlvbiIsImRpcmVjdGlvbiIsaSk7cmV0dXJueyJmb3JtYXRzL2RpcmVjdGlvbiI6b319O2Z1bmN0aW9uIF8odCl7cmV0dXJuIF89ImZ1bmN0aW9uIj09PXR5cGVvZiBTeW1ib2wmJiJzeW1ib2wiPT09cihTeW1ib2wuaXRlcmF0b3IpP2Z1bmN0aW9uKHQpe3JldHVybiByKHQpfTpmdW5jdGlvbih0KXtyZXR1cm4gdCYmImZ1bmN0aW9uIj09PXR5cGVvZiBTeW1ib2wmJnQuY29uc3RydWN0b3I9PT1TeW1ib2wmJnQhPT1TeW1ib2wucHJvdG90eXBlPyJzeW1ib2wiOnIodCl9LF8odCl9ZnVuY3Rpb24gdyh0LGUpe2Zvcih2YXIgbj0wO248ZS5sZW5ndGg7bisrKXt2YXIgcj1lW25dO3IuZW51bWVyYWJsZT1yLmVudW1lcmFibGV8fCExLHIuY29uZmlndXJhYmxlPSEwLCJ2YWx1ZSJpbiByJiYoci53cml0YWJsZT0hMCksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsci5rZXkscil9fWZ1bmN0aW9uIHgodCxlLG4pe3JldHVybiBlJiZ3KHQucHJvdG90eXBlLGUpLG4mJncodCxuKSx0fWZ1bmN0aW9uIFModCxlKXtyZXR1cm4gUz1PYmplY3Quc2V0UHJvdG90eXBlT2Z8fGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQuX19wcm90b19fPWUsdH0sUyh0LGUpfWZ1bmN0aW9uIGsodCxlKXtyZXR1cm4hZXx8Im9iamVjdCIhPT1fKGUpJiYiZnVuY3Rpb24iIT09dHlwZW9mIGU/ZnVuY3Rpb24odCl7aWYodm9pZCAwPT09dCl0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZCIpO3JldHVybiB0fSh0KTplfWZ1bmN0aW9uIEMoKXtpZigidW5kZWZpbmVkIj09PXR5cGVvZiBSZWZsZWN0fHwhUmVmbGVjdC5jb25zdHJ1Y3QpcmV0dXJuITE7aWYoUmVmbGVjdC5jb25zdHJ1Y3Quc2hhbSlyZXR1cm4hMTtpZigiZnVuY3Rpb24iPT09dHlwZW9mIFByb3h5KXJldHVybiEwO3RyeXtyZXR1cm4gRGF0ZS5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChSZWZsZWN0LmNvbnN0cnVjdChEYXRlLFtdLChmdW5jdGlvbigpe30pKSksITB9Y2F0Y2godCl7cmV0dXJuITF9fWZ1bmN0aW9uIE8odCxlLG4pe3JldHVybiBPPSJ1bmRlZmluZWQiIT09dHlwZW9mIFJlZmxlY3QmJlJlZmxlY3QuZ2V0P1JlZmxlY3QuZ2V0OmZ1bmN0aW9uKHQsZSxuKXt2YXIgcj1mdW5jdGlvbih0LGUpe3doaWxlKCFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxlKSlpZih0PVQodCksbnVsbD09PXQpYnJlYWs7cmV0dXJuIHR9KHQsZSk7aWYocil7dmFyIGk9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihyLGUpO3JldHVybiBpLmdldD9pLmdldC5jYWxsKG4pOmkudmFsdWV9fSxPKHQsZSxufHx0KX1mdW5jdGlvbiBUKHQpe3JldHVybiBUPU9iamVjdC5zZXRQcm90b3R5cGVPZj9PYmplY3QuZ2V0UHJvdG90eXBlT2Y6ZnVuY3Rpb24odCl7cmV0dXJuIHQuX19wcm90b19ffHxPYmplY3QuZ2V0UHJvdG90eXBlT2YodCl9LFQodCl9dmFyIEU9ZnVuY3Rpb24odCl7dmFyIGU9dC5pbXBvcnQoInBhcmNobWVudCIpLG49dC5pbXBvcnQoImJsb3RzL2NvbnRhaW5lciIpLHI9dC5pbXBvcnQoImZvcm1hdHMvbGlzdC9pdGVtIiksaT1mdW5jdGlvbih0KXsoZnVuY3Rpb24odCxlKXtpZigiZnVuY3Rpb24iIT09dHlwZW9mIGUmJm51bGwhPT1lKXRocm93IG5ldyBUeXBlRXJyb3IoIlN1cGVyIGV4cHJlc3Npb24gbXVzdCBlaXRoZXIgYmUgbnVsbCBvciBhIGZ1bmN0aW9uIik7dC5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShlJiZlLnByb3RvdHlwZSx7Y29uc3RydWN0b3I6e3ZhbHVlOnQsd3JpdGFibGU6ITAsY29uZmlndXJhYmxlOiEwfX0pLGUmJlModCxlKX0pKGksdCk7dmFyIG49ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGUsbj1UKHQpO2lmKEMoKSl7dmFyIHI9VCh0aGlzKS5jb25zdHJ1Y3RvcjtlPVJlZmxlY3QuY29uc3RydWN0KG4sYXJndW1lbnRzLHIpfWVsc2UgZT1uLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtyZXR1cm4gayh0aGlzLGUpfX0oaSk7ZnVuY3Rpb24gaSh0KXt2YXIgcjsoZnVuY3Rpb24odCxlKXtpZighKHQgaW5zdGFuY2VvZiBlKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb24iKX0pKHRoaXMsaSkscj1uLmNhbGwodGhpcyx0KTtyZXR1cm4gdC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKGZ1bmN0aW9uKG4pe2lmKG4udGFyZ2V0LnBhcmVudE5vZGU9PT10KXt2YXIgaT1yLnN0YXRpY3MuZm9ybWF0cyh0KSxvPWUuZmluZChuLnRhcmdldCk7ImNoZWNrZWQiPT09aT9vLmZvcm1hdCgibGlzdCIsInVuY2hlY2tlZCIpOiJ1bmNoZWNrZWQiPT09aSYmby5mb3JtYXQoImxpc3QiLCJjaGVja2VkIil9fSkpLHJ9cmV0dXJuIHgoaSxudWxsLFt7a2V5OiJjcmVhdGUiLHZhbHVlOmZ1bmN0aW9uKHQpe3ZhciBlPSJvcmRlcmVkIj09PXQ/Ik9MIjoiVUwiLG49TyhUKGkpLCJjcmVhdGUiLHRoaXMpLmNhbGwodGhpcyxlKTtyZXR1cm4iY2hlY2tlZCIhPT10JiYidW5jaGVja2VkIiE9PXR8fG4uc2V0QXR0cmlidXRlKCJkYXRhLWNoZWNrZWQiLCJjaGVja2VkIj09PXQpLG59fSx7a2V5OiJmb3JtYXRzIix2YWx1ZTpmdW5jdGlvbih0KXtyZXR1cm4iT0wiPT09dC50YWdOYW1lPyJvcmRlcmVkIjoiVUwiPT09dC50YWdOYW1lP3QuaGFzQXR0cmlidXRlKCJkYXRhLWNoZWNrZWQiKT8idHJ1ZSI9PT10LmdldEF0dHJpYnV0ZSgiZGF0YS1jaGVja2VkIik/ImNoZWNrZWQiOiJ1bmNoZWNrZWQiOiJidWxsZXQiOnZvaWQgMH19XSkseChpLFt7a2V5OiJmb3JtYXQiLHZhbHVlOmZ1bmN0aW9uKHQsZSl7dGhpcy5jaGlsZHJlbi5sZW5ndGg+MCYmdGhpcy5jaGlsZHJlbi50YWlsLmZvcm1hdCh0LGUpfX0se2tleToiZm9ybWF0cyIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24odCxlLG4pe3JldHVybiBlIGluIHQ/T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsZSx7dmFsdWU6bixlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMH0pOnRbZV09bix0fSh7fSx0aGlzLnN0YXRpY3MuYmxvdE5hbWUsdGhpcy5zdGF0aWNzLmZvcm1hdHModGhpcy5kb21Ob2RlKSl9fSx7a2V5OiJpbnNlcnRCZWZvcmUiLHZhbHVlOmZ1bmN0aW9uKHQsZSl7aWYodCBpbnN0YW5jZW9mIHIpTyhUKGkucHJvdG90eXBlKSwiaW5zZXJ0QmVmb3JlIix0aGlzKS5jYWxsKHRoaXMsdCxlKTtlbHNle3ZhciBuPW51bGw9PWU/dGhpcy5sZW5ndGgoKTplLm9mZnNldCh0aGlzKSxvPXRoaXMuc3BsaXQobik7by5wYXJlbnQuaW5zZXJ0QmVmb3JlKHQsbyl9fX0se2tleToib3B0aW1pemUiLHZhbHVlOmZ1bmN0aW9uKHQpe08oVChpLnByb3RvdHlwZSksIm9wdGltaXplIix0aGlzKS5jYWxsKHRoaXMsdCk7dmFyIGU9dGhpcy5uZXh0O251bGwhPWUmJmUucHJldj09PXRoaXMmJmUuc3RhdGljcy5ibG90TmFtZT09PXRoaXMuc3RhdGljcy5ibG90TmFtZSYmZS5kb21Ob2RlLnRhZ05hbWU9PT10aGlzLmRvbU5vZGUudGFnTmFtZSYmZS5kb21Ob2RlLmdldEF0dHJpYnV0ZSgiZGF0YS1jaGVja2VkIik9PT10aGlzLmRvbU5vZGUuZ2V0QXR0cmlidXRlKCJkYXRhLWNoZWNrZWQiKSYmKGUubW92ZUNoaWxkcmVuKHRoaXMpLGUucmVtb3ZlKCkpfX0se2tleToicmVwbGFjZSIsdmFsdWU6ZnVuY3Rpb24odCl7aWYodC5zdGF0aWNzLmJsb3ROYW1lIT09dGhpcy5zdGF0aWNzLmJsb3ROYW1lKXt2YXIgbj1lLmNyZWF0ZSh0aGlzLnN0YXRpY3MuZGVmYXVsdENoaWxkKTt0Lm1vdmVDaGlsZHJlbihuKSx0aGlzLmFwcGVuZENoaWxkKG4pfU8oVChpLnByb3RvdHlwZSksInJlcGxhY2UiLHRoaXMpLmNhbGwodGhpcyx0KX19XSksaX0obik7cmV0dXJuIGkuYmxvdE5hbWU9Imxpc3QiLGkuc2NvcGU9ZS5TY29wZS5CTE9DS19CTE9ULGkudGFnTmFtZT1bIk9MIiwiVUwiXSxpLmRlZmF1bHRDaGlsZD0ibGlzdC1pdGVtIixpLmFsbG93ZWRDaGlsZHJlbj1bcl0seyJmb3JtYXRzL2xpc3QiOml9fSxBPWZ1bmN0aW9uKHQpe3ZhciBlPXQuaW1wb3J0KCJwYXJjaG1lbnQiKSxuPWUuU2NvcGUscj10LmltcG9ydCgiZm9ybWF0cy9iYWNrZ3JvdW5kIiksaT1uZXcgci5jb25zdHJ1Y3RvcigiYmFja2dyb3VuZENvbG9yIiwiYmFja2dyb3VuZC1jb2xvciIse3Njb3BlOm4uSU5MSU5FfSk7cmV0dXJueyJmb3JtYXRzL2JhY2tncm91bmRDb2xvciI6aX19LGo9bigiMzQwZCIpLE09ZnVuY3Rpb24odCl7dmFyIGU9dC5pbXBvcnQoInBhcmNobWVudCIpLG49ZS5TY29wZSxyPWUuQXR0cmlidXRvcixpPXtzY29wZTpuLkJMT0NLfSxvPXt9O3JldHVyblsibWFyZ2luIiwibWFyZ2luVG9wIiwibWFyZ2luQm90dG9tIiwibWFyZ2luTGVmdCIsIm1hcmdpblJpZ2h0Il0uY29uY2F0KFsicGFkZGluZyIsInBhZGRpbmdUb3AiLCJwYWRkaW5nQm90dG9tIiwicGFkZGluZ0xlZnQiLCJwYWRkaW5nUmlnaHQiXSkuZm9yRWFjaCgoZnVuY3Rpb24odCl7b1siZm9ybWF0cy8iLmNvbmNhdCh0KV09bmV3IHIuU3R5bGUodCxPYmplY3QoalsibiJdKSh0KSxpKX0pKSxvfSxJPWZ1bmN0aW9uKHQpe3ZhciBlPXQuaW1wb3J0KCJwYXJjaG1lbnQiKSxuPWUuU2NvcGUscj1lLkF0dHJpYnV0b3IsaT17c2NvcGU6bi5JTkxJTkV9LG89e307cmV0dXJuWyJmb250IiwiZm9udFNpemUiLCJmb250U3R5bGUiLCJmb250VmFyaWFudCIsImZvbnRXZWlnaHQiLCJmb250RmFtaWx5Il0uZm9yRWFjaCgoZnVuY3Rpb24odCl7b1siZm9ybWF0cy8iLmNvbmNhdCh0KV09bmV3IHIuU3R5bGUodCxPYmplY3QoalsibiJdKSh0KSxpKX0pKSxvfSxQPWZ1bmN0aW9uKHQpe3ZhciBlPXQuaW1wb3J0KCJwYXJjaG1lbnQiKSxuPWUuU2NvcGUscj1lLkF0dHJpYnV0b3IsaT1be25hbWU6ImxpbmVIZWlnaHQiLHNjb3BlOm4uQkxPQ0t9LHtuYW1lOiJsZXR0ZXJTcGFjaW5nIixzY29wZTpuLklOTElORX0se25hbWU6InRleHREZWNvcmF0aW9uIixzY29wZTpuLklOTElORX0se25hbWU6InRleHRJbmRlbnQiLHNjb3BlOm4uQkxPQ0t9XSxvPXt9O3JldHVybiBpLmZvckVhY2goKGZ1bmN0aW9uKHQpe3ZhciBlPXQubmFtZSxuPXQuc2NvcGU7b1siZm9ybWF0cy8iLmNvbmNhdChlKV09bmV3IHIuU3R5bGUoZSxPYmplY3QoalsibiJdKShlKSx7c2NvcGU6bn0pfSkpLG99LCQ9bigiNDczOCIpLEw9ZnVuY3Rpb24odCl7dmFyIGU9dC5pbXBvcnQoImZvcm1hdHMvaW1hZ2UiKSxuPVsiYWx0IiwiaGVpZ2h0Iiwid2lkdGgiLCJkYXRhLWN1c3RvbSIsImNsYXNzIiwiZGF0YS1sb2NhbCJdO2Uuc2FuaXRpemU9ZnVuY3Rpb24odCl7cmV0dXJuIHQ/T2JqZWN0KCRbImEiXSkodCk6dH0sZS5mb3JtYXRzPWZ1bmN0aW9uKHQpe3JldHVybiBuLnJlZHVjZSgoZnVuY3Rpb24oZSxuKXtyZXR1cm4gdC5oYXNBdHRyaWJ1dGUobikmJihlW25dPXQuZ2V0QXR0cmlidXRlKG4pKSxlfSkse30pfTt2YXIgcj1lLnByb3RvdHlwZS5mb3JtYXQ7ZS5wcm90b3R5cGUuZm9ybWF0PWZ1bmN0aW9uKHQsZSl7bi5pbmRleE9mKHQpPi0xP2U/dGhpcy5kb21Ob2RlLnNldEF0dHJpYnV0ZSh0LGUpOnRoaXMuZG9tTm9kZS5yZW1vdmVBdHRyaWJ1dGUodCk6ci5jYWxsKHRoaXMsdCxlKX19LFI9ZnVuY3Rpb24odCl7dmFyIGU9dC5pbXBvcnQoImZvcm1hdHMvbGluayIpO2Uuc2FuaXRpemU9ZnVuY3Rpb24odCl7dmFyIG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpO24uaHJlZj10O3ZhciByPW4uaHJlZi5zbGljZSgwLG4uaHJlZi5pbmRleE9mKCI6IikpO3JldHVybiBlLlBST1RPQ09MX1dISVRFTElTVC5jb25jYXQoImZpbGUiKS5pbmRleE9mKHIpPi0xP3Q6ZS5TQU5JVElaRURfVVJMfX07ZnVuY3Rpb24gTih0KXt2YXIgZT17ZGl2aWRlcjpsLGluczptLGFsaWduOmIsZGlyZWN0aW9uOnksbGlzdDpFLGJhY2tncm91bmQ6QSxib3g6TSxmb250OkksdGV4dDpQLGltYWdlOkwsbGluazpSfSxuPXt9O09iamVjdC52YWx1ZXMoZSkuZm9yRWFjaCgoZnVuY3Rpb24oZSl7cmV0dXJuIE9iamVjdC5hc3NpZ24obixlKHQpKX0pKSx0LnJlZ2lzdGVyKG4sITApfX0sZGZhNzpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIodCxlLG4pe24obnVsbCx0KX1uLmQoZSwiYSIsKGZ1bmN0aW9uKCl7cmV0dXJuIHJ9KSl9LGUwNTM6ZnVuY3Rpb24odCxlLG4pe30sZTA3OTpmdW5jdGlvbih0LGUsbil7fSxlMGUxOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5yKGUpO3ZhciByPW4oIjkwOWUiKSxpPW4oIjM0MGQiKSxvPVsidGV4dCIsIm51bWJlciIsImlkY2FyZCIsImRpZ2l0IiwicGFzc3dvcmQiLCJ0ZWwiXSxhPVsibnVtYmVyIiwiZGlnaXQiXSxzPVsib2ZmIiwib25lLXRpbWUtY29kZSJdLGM9WyJub25lIiwidGV4dCIsImRlY2ltYWwiLCJudW1lcmljIiwidGVsIiwic2VhcmNoIiwiZW1haWwiLCJ1cmwiXSx1PU9iamVjdChpWyJwIl0pKChmdW5jdGlvbigpe3ZhciB0PW5hdmlnYXRvci51c2VyQWdlbnQsZT0iIixuPXQubWF0Y2goL09TXHMoW1x3X10rKVxzbGlrZS8pO2lmKG4pZT1uWzFdLnJlcGxhY2UoL18vZywiLiIpO2Vsc2UgaWYoL01hY2ludG9zaHxNYWMvaS50ZXN0KHQpJiZuYXZpZ2F0b3IubWF4VG91Y2hQb2ludHM+MCl7dmFyIHI9dC5tYXRjaCgvVmVyc2lvblwvKFxTKilcYi8pO3ImJihlPXJbMV0pfXJldHVybiEhZSYmcGFyc2VJbnQoZSk+PTE2JiZwYXJzZUZsb2F0KGUpPDE3LjJ9KSksbD17bmFtZToiSW5wdXQiLG1peGluczpbclsiYiJdXSxwcm9wczp7bmFtZTp7dHlwZTpTdHJpbmcsZGVmYXVsdDoiIn0sdHlwZTp7dHlwZTpTdHJpbmcsZGVmYXVsdDoidGV4dCJ9LHBhc3N3b3JkOnt0eXBlOltCb29sZWFuLFN0cmluZ10sZGVmYXVsdDohMX0scGxhY2Vob2xkZXI6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6IiJ9LHBsYWNlaG9sZGVyU3R5bGU6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6IiJ9LHBsYWNlaG9sZGVyQ2xhc3M6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6ImlucHV0LXBsYWNlaG9sZGVyIn0sZGlzYWJsZWQ6e3R5cGU6W0Jvb2xlYW4sU3RyaW5nXSxkZWZhdWx0OiExfSxtYXhsZW5ndGg6e3R5cGU6W051bWJlcixTdHJpbmddLGRlZmF1bHQ6MTQwfSxjb25maXJtVHlwZTp7dHlwZTpTdHJpbmcsZGVmYXVsdDoiZG9uZSJ9LHRleHRDb250ZW50VHlwZTp7dHlwZTpTdHJpbmcsZGVmYXVsdDoiIn0sc3RlcDp7dHlwZTpTdHJpbmcsZGVmYXVsdDoiMC4wMDAwMDAwMDAwMDAwMDAwMDEifSxpbnB1dG1vZGU6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6dm9pZCAwLHZhbGlkYXRvcjpmdW5jdGlvbih0KXtyZXR1cm4hIX5jLmluZGV4T2YodCl9fSxjdXJzb3JDb2xvcjp7dHlwZTpTdHJpbmcsZGVmYXVsdDoiIn19LGRhdGE6ZnVuY3Rpb24oKXtyZXR1cm57d3JhcHBlckhlaWdodDowLGNhY2hlZFZhbHVlOiIifX0sY29tcHV0ZWQ6e2lucHV0VHlwZTpmdW5jdGlvbigpe3ZhciB0PSIiO3N3aXRjaCh0aGlzLnR5cGUpe2Nhc2UidGV4dCI6dD0idGV4dCIsInNlYXJjaCI9PT10aGlzLmNvbmZpcm1UeXBlJiYodD0ic2VhcmNoIik7YnJlYWs7Y2FzZSJpZGNhcmQiOnQ9InRleHQiO2JyZWFrO2Nhc2UiZGlnaXQiOnQ9Im51bWJlciI7YnJlYWs7ZGVmYXVsdDp0PX5vLmluZGV4T2YodGhpcy50eXBlKT90aGlzLnR5cGU6InRleHQiO2JyZWFrfXJldHVybiB0aGlzLnBhc3N3b3JkPyJwYXNzd29yZCI6dH0sX3N0ZXA6ZnVuY3Rpb24oKXtyZXR1cm5+YS5pbmRleE9mKHRoaXMudHlwZSk/dGhpcy5zdGVwOiIifSxhdXRvY29tcGxldGU6ZnVuY3Rpb24oKXt2YXIgdD1zLmluZGV4T2YodGhpcy50ZXh0Q29udGVudFR5cGUpLGU9cy5pbmRleE9mKE9iamVjdChpWyJuIl0pKHRoaXMudGV4dENvbnRlbnRUeXBlKSksbj0tMSE9PXQ/dDotMSE9PWU/ZTowO3JldHVybiBzW25dfSxzaG93UGxhY2Vob2xkZXI6ZnVuY3Rpb24oKXt2YXIgdD0iZGlnaXQiPT09dGhpcy50eXBlP3RoaXMuY2FjaGVkVmFsdWUuaW5kZXhPZigiLiIpOi0xO3JldHVybiEodGhpcy5jb21wb3Npbmd8fHRoaXMudmFsdWVTeW5jLmxlbmd0aHx8Ii0iPT09dGhpcy5jYWNoZWRWYWx1ZXx8LTEhPT10JiZ0PT09dGhpcy5jYWNoZWRWYWx1ZS5sZW5ndGgtMSl9fSx3YXRjaDp7bWF4bGVuZ3RoOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMudmFsdWVTeW5jLnNsaWNlKDAscGFyc2VJbnQodCwxMCkpO2UhPT10aGlzLnZhbHVlU3luYyYmKHRoaXMudmFsdWVTeW5jPWUpfSx2YWx1ZVN5bmM6ZnVuY3Rpb24odCl7Im51bWJlciIhPT10aGlzLnR5cGV8fCItIj09PXRoaXMuY2FjaGVkVmFsdWUmJiIiPT09dHx8KHRoaXMuY2FjaGVkVmFsdWU9dC50b1N0cmluZygpKX0sdmFsdWU6ZnVuY3Rpb24odCl7Im51bWJlciI9PT10aGlzLmlucHV0VHlwZSYmdCYmKHRoaXMuY2FjaGVkVmFsdWU9dC50b1N0cmluZygpKX19LGNyZWF0ZWQ6ZnVuY3Rpb24oKXt0aGlzLiRkaXNwYXRjaCgiRm9ybSIsInVuaS1mb3JtLWdyb3VwLXVwZGF0ZSIse3R5cGU6ImFkZCIsdm06dGhpc30pLCJudW1iZXIiPT09dGhpcy5pbnB1dFR5cGUmJiJ1bmRlZmluZWQiIT09dHlwZW9mIHRoaXMudmFsdWUmJm51bGwhPT10aGlzLnZhbHVlJiYodGhpcy5jYWNoZWRWYWx1ZT10aGlzLnZhbHVlLnRvU3RyaW5nKCkpfSxtb3VudGVkOmZ1bmN0aW9uKCl7aWYoInNlYXJjaCI9PT10aGlzLmNvbmZpcm1UeXBlKXt2YXIgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJmb3JtIik7dC5hY3Rpb249IiIsdC5vbnN1Ym1pdD1mdW5jdGlvbigpe3JldHVybiExfSx0LmNsYXNzTmFtZT0idW5pLWlucHV0LWZvcm0iLHQuYXBwZW5kQ2hpbGQodGhpcy4kcmVmcy5pbnB1dCksdGhpcy4kcmVmcy53cmFwcGVyLmFwcGVuZENoaWxkKHQpfXZhciBlPXRoaXM7d2hpbGUoZSl7dmFyIG49ZS4kb3B0aW9ucy5fc2NvcGVJZDtuJiZ0aGlzLiRyZWZzLnBsYWNlaG9sZGVyLnNldEF0dHJpYnV0ZShuLCIiKSxlPWUuJHBhcmVudH19LGJlZm9yZURlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLiRkaXNwYXRjaCgiRm9ybSIsInVuaS1mb3JtLWdyb3VwLXVwZGF0ZSIse3R5cGU6InJlbW92ZSIsdm06dGhpc30pfSxtZXRob2RzOntfb25LZXl1cDpmdW5jdGlvbih0KXt2YXIgZT10LnRhcmdldDt0aGlzLiR0cmlnZ2VyKCJjb25maXJtIix0LHt2YWx1ZTplLnZhbHVlfSksdGhpcy5jb25maXJtSG9sZHx8ZS5ibHVyKCl9LF9yZXNvbHZlRGlnaXREZWNpbWFsUG9pbnQ6ZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzO2lmKHRoaXMuY2FjaGVkVmFsdWUpaWYoIi4iPT09dC5kYXRhKXtpZigiLiI9PT10aGlzLmNhY2hlZFZhbHVlLnNsaWNlKC0xKSlyZXR1cm4gdGhpcy52YWx1ZVN5bmM9dC50YXJnZXQudmFsdWU9dGhpcy5jYWNoZWRWYWx1ZT10aGlzLmNhY2hlZFZhbHVlLnNsaWNlKDAsLTEpLCExO2lmKCF0aGlzLmNhY2hlZFZhbHVlLmluY2x1ZGVzKCIuIikpcmV0dXJuIHRoaXMuY2FjaGVkVmFsdWUrPSIuIix0aGlzLl9fY2xlYXJDYWNoZWRWYWx1ZT1mdW5jdGlvbigpe24uY2FjaGVkVmFsdWU9bi52YWx1ZVN5bmM9dC50YXJnZXQudmFsdWU9bi5jYWNoZWRWYWx1ZS5zbGljZSgwLC0xKSx0LnRhcmdldC5yZW1vdmVFdmVudExpc3RlbmVyKCJibHVyIixuLl9fY2xlYXJDYWNoZWRWYWx1ZSl9LHQudGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLHRoaXMuX19jbGVhckNhY2hlZFZhbHVlKSwhMX1lbHNlIGlmKCJkZWxldGVDb250ZW50QmFja3dhcmQiPT09dC5pbnB1dFR5cGUmJnUoKSYmIi4iPT09dGhpcy5jYWNoZWRWYWx1ZS5zbGljZSgtMiwtMSkpcmV0dXJuIHRoaXMuY2FjaGVkVmFsdWU9dGhpcy52YWx1ZVN5bmM9dC50YXJnZXQudmFsdWU9dGhpcy5jYWNoZWRWYWx1ZS5zbGljZSgwLC0yKSx0aGlzLiR0cmlnZ2VySW5wdXQodCx7dmFsdWU6dGhpcy52YWx1ZVN5bmN9LGUpLCExfSxfb25JbnB1dDpmdW5jdGlvbih0LGUpe3ZhciBuPXRoaXMscj0hMTtpZighdGhpcy5jb21wb3Npbmd8fCF0aGlzLmlnbm9yZUNvbXBvc2l0aW9uRXZlbnQpe2lmKCJudW1iZXIiPT09dGhpcy5pbnB1dFR5cGUpe3ZhciBpPXBhcnNlSW50KHRoaXMubWF4bGVuZ3RoLDEwKTtpZihpPjAmJnQudGFyZ2V0LnZhbHVlLmxlbmd0aD5pKXt0LnRhcmdldC52YWx1ZT10LnRhcmdldC52YWx1ZS5zbGljZSgwLGkpLHRoaXMudmFsdWVTeW5jPXQudGFyZ2V0LnZhbHVlO3ZhciBvPW51bGwhPT10aGlzLnZhbHVlJiZ2b2lkIDAhPT10aGlzLnZhbHVlP3RoaXMudmFsdWUudG9TdHJpbmcoKToiIjtvPT09dC50YXJnZXQudmFsdWUmJihyPSEwKX1pZih0aGlzLl9fY2xlYXJDYWNoZWRWYWx1ZSYmdC50YXJnZXQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiYmx1ciIsdGhpcy5fX2NsZWFyQ2FjaGVkVmFsdWUpLHQudGFyZ2V0LnZhbGlkaXR5JiYhdC50YXJnZXQudmFsaWRpdHkudmFsaWQpe2lmKCghdGhpcy5jYWNoZWRWYWx1ZXx8IXQudGFyZ2V0LnZhbHVlKSYmIi0iPT09dC5kYXRhfHwiLSI9PT10aGlzLmNhY2hlZFZhbHVlWzBdJiYiZGVsZXRlQ29udGVudEJhY2t3YXJkIj09PXQuaW5wdXRUeXBlKXt0aGlzLmNhY2hlZFZhbHVlPSItIix0aGlzLnZhbHVlU3luYz0iIjt2YXIgYT10aGlzLl9fY2xlYXJDYWNoZWRWYWx1ZT1mdW5jdGlvbigpe24uY2FjaGVkVmFsdWU9dC50YXJnZXQudmFsdWU9IiJ9O3JldHVybiB2b2lkIHQudGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLGEpfXZhciBzPXRoaXMuX3Jlc29sdmVEaWdpdERlY2ltYWxQb2ludCh0LGUpO3JldHVybiJib29sZWFuIj09PXR5cGVvZiBzP3M6dm9pZCh0aGlzLmNhY2hlZFZhbHVlPXRoaXMudmFsdWVTeW5jPXQudGFyZ2V0LnZhbHVlPSItIj09PXRoaXMuY2FjaGVkVmFsdWU/IiI6dGhpcy5jYWNoZWRWYWx1ZSl9dmFyIGM9dGhpcy5fcmVzb2x2ZURpZ2l0RGVjaW1hbFBvaW50KHQsZSk7aWYoImJvb2xlYW4iPT09dHlwZW9mIGMpcmV0dXJuIGM7dGhpcy5jYWNoZWRWYWx1ZT10aGlzLnZhbHVlU3luY31yfHwodGhpcy52YWx1ZVN5bmM9dGhpcy4kcmVmcy5pbnB1dC52YWx1ZSx0aGlzLiR0cmlnZ2VySW5wdXQodCx7dmFsdWU6dGhpcy52YWx1ZVN5bmN9LGUpKX19LF9vbkNvbXBvc2l0aW9uOmZ1bmN0aW9uKHQpe3N3aXRjaCh0LnR5cGUpe2Nhc2UiY29tcG9zaXRpb25zdGFydCI6dGhpcy5jb21wb3Npbmc9ITA7YnJlYWs7Y2FzZSJjb21wb3NpdGlvbmVuZCI6dGhpcy5jb21wb3NpbmcmJih0aGlzLmNvbXBvc2luZz0hMSx0aGlzLl9vbklucHV0KHQpKTticmVha30hdGhpcy5pZ25vcmVDb21wb3NpdGlvbkV2ZW50JiZ0aGlzLiR0cmlnZ2VyKHQudHlwZSx0LHtkYXRhOnQuZGF0YX0pfSxfcmVzZXRGb3JtRGF0YTpmdW5jdGlvbigpe3RoaXMudmFsdWVTeW5jPSIifSxfZ2V0Rm9ybURhdGE6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5uYW1lP3t2YWx1ZTp0aGlzLnZhbHVlU3luYyxrZXk6dGhpcy5uYW1lfTp7fX19fSxmPWwsZD0obigiYzA4MSIpLG4oIjg4NDQiKSksaD1PYmplY3QoZFsiYSJdKShmLChmdW5jdGlvbigpe3ZhciB0PXRoaXMsZT10LiRjcmVhdGVFbGVtZW50LG49dC5fc2VsZi5fY3x8ZTtyZXR1cm4gbigidW5pLWlucHV0Iix0Ll9nKHt9LHQuJGxpc3RlbmVycyksW24oImRpdiIse3JlZjoid3JhcHBlciIsc3RhdGljQ2xhc3M6InVuaS1pbnB1dC13cmFwcGVyIn0sW24oImRpdiIse2RpcmVjdGl2ZXM6W3tuYW1lOiJzaG93IixyYXdOYW1lOiJ2LXNob3ciLHZhbHVlOnQuc2hvd1BsYWNlaG9sZGVyLGV4cHJlc3Npb246InNob3dQbGFjZWhvbGRlciJ9XSxyZWY6InBsYWNlaG9sZGVyIixzdGF0aWNDbGFzczoidW5pLWlucHV0LXBsYWNlaG9sZGVyIixjbGFzczp0LnBsYWNlaG9sZGVyQ2xhc3Msc3R5bGU6dC5wbGFjZWhvbGRlclN0eWxlLGRvbVByb3BzOnt0ZXh0Q29udGVudDp0Ll9zKHQucGxhY2Vob2xkZXIpfX0pLCJjaGVja2JveCIhPT10LmlucHV0VHlwZXx8dC5kaXNhYmxlZCYmdC5maXhDb2xvcj8icmFkaW8iIT09dC5pbnB1dFR5cGV8fHQuZGlzYWJsZWQmJnQuZml4Q29sb3I/dC5kaXNhYmxlZCYmdC5maXhDb2xvcj90Ll9lKCk6bigiaW5wdXQiLHtkaXJlY3RpdmVzOlt7bmFtZToibW9kZWwiLHJhd05hbWU6InYtbW9kZWwiLHZhbHVlOnQudmFsdWVTeW5jLGV4cHJlc3Npb246InZhbHVlU3luYyJ9LHtuYW1lOiJrZXlib2FyZCIscmF3TmFtZToidi1rZXlib2FyZCJ9LHtuYW1lOiJmaWVsZCIscmF3TmFtZToidi1maWVsZCJ9XSxyZWY6ImlucHV0IixzdGF0aWNDbGFzczoidW5pLWlucHV0LWlucHV0IixzdHlsZTp0LmN1cnNvckNvbG9yP3tjYXJldENvbG9yOnQuY3Vyc29yQ29sb3J9Ont9LGF0dHJzOntkaXNhYmxlZDp0LmRpc2FibGVkLG1heGxlbmd0aDp0Lm1heGxlbmd0aCxzdGVwOnQuX3N0ZXAsZW50ZXJrZXloaW50OnQuY29uZmlybVR5cGUscGF0dGVybjoibnVtYmVyIj09PXQudHlwZT8iWzAtOV0qIjpudWxsLGF1dG9jb21wbGV0ZTp0LmF1dG9jb21wbGV0ZSxpbnB1dG1vZGU6dC5pbnB1dG1vZGUsdHlwZTp0LmlucHV0VHlwZX0sZG9tUHJvcHM6e3ZhbHVlOnQudmFsdWVTeW5jfSxvbjp7Y2hhbmdlOmZ1bmN0aW9uKHQpe3Quc3RvcFByb3BhZ2F0aW9uKCl9LGZvY3VzOnQuX29uRm9jdXMsYmx1cjp0Ll9vbkJsdXIsaW5wdXQ6W2Z1bmN0aW9uKGUpe2UudGFyZ2V0LmNvbXBvc2luZ3x8KHQudmFsdWVTeW5jPWUudGFyZ2V0LnZhbHVlKX0sZnVuY3Rpb24oZSl7cmV0dXJuIGUuc3RvcFByb3BhZ2F0aW9uKCksdC5fb25JbnB1dChlKX1dLGNvbXBvc2l0aW9uc3RhcnQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGUuc3RvcFByb3BhZ2F0aW9uKCksdC5fb25Db21wb3NpdGlvbihlKX0sY29tcG9zaXRpb25lbmQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGUuc3RvcFByb3BhZ2F0aW9uKCksdC5fb25Db21wb3NpdGlvbihlKX0sY29tcG9zaXRpb251cGRhdGU6ZnVuY3Rpb24oZSl7cmV0dXJuIGUuc3RvcFByb3BhZ2F0aW9uKCksdC5fb25Db21wb3NpdGlvbihlKX0sa2V5dXA6ZnVuY3Rpb24oZSl7cmV0dXJuIWUudHlwZS5pbmRleE9mKCJrZXkiKSYmdC5fayhlLmtleUNvZGUsImVudGVyIiwxMyxlLmtleSwiRW50ZXIiKT9udWxsOihlLnN0b3BQcm9wYWdhdGlvbigpLHQuX29uS2V5dXAoZSkpfX19KTpuKCJpbnB1dCIse2RpcmVjdGl2ZXM6W3tuYW1lOiJtb2RlbCIscmF3TmFtZToidi1tb2RlbCIsdmFsdWU6dC52YWx1ZVN5bmMsZXhwcmVzc2lvbjoidmFsdWVTeW5jIn0se25hbWU6ImtleWJvYXJkIixyYXdOYW1lOiJ2LWtleWJvYXJkIn0se25hbWU6ImZpZWxkIixyYXdOYW1lOiJ2LWZpZWxkIn1dLHJlZjoiaW5wdXQiLHN0YXRpY0NsYXNzOiJ1bmktaW5wdXQtaW5wdXQiLHN0eWxlOnQuY3Vyc29yQ29sb3I/e2NhcmV0Q29sb3I6dC5jdXJzb3JDb2xvcn06e30sYXR0cnM6e2Rpc2FibGVkOnQuZGlzYWJsZWQsbWF4bGVuZ3RoOnQubWF4bGVuZ3RoLHN0ZXA6dC5fc3RlcCxlbnRlcmtleWhpbnQ6dC5jb25maXJtVHlwZSxwYXR0ZXJuOiJudW1iZXIiPT09dC50eXBlPyJbMC05XSoiOm51bGwsYXV0b2NvbXBsZXRlOnQuYXV0b2NvbXBsZXRlLGlucHV0bW9kZTp0LmlucHV0bW9kZSx0eXBlOiJyYWRpbyJ9LGRvbVByb3BzOntjaGVja2VkOnQuX3EodC52YWx1ZVN5bmMsbnVsbCl9LG9uOntjaGFuZ2U6W2Z1bmN0aW9uKGUpe3QudmFsdWVTeW5jPW51bGx9LGZ1bmN0aW9uKHQpe3Quc3RvcFByb3BhZ2F0aW9uKCl9XSxmb2N1czp0Ll9vbkZvY3VzLGJsdXI6dC5fb25CbHVyLGlucHV0OmZ1bmN0aW9uKGUpe3JldHVybiBlLnN0b3BQcm9wYWdhdGlvbigpLHQuX29uSW5wdXQoZSl9LGNvbXBvc2l0aW9uc3RhcnQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGUuc3RvcFByb3BhZ2F0aW9uKCksdC5fb25Db21wb3NpdGlvbihlKX0sY29tcG9zaXRpb25lbmQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGUuc3RvcFByb3BhZ2F0aW9uKCksdC5fb25Db21wb3NpdGlvbihlKX0sY29tcG9zaXRpb251cGRhdGU6ZnVuY3Rpb24oZSl7cmV0dXJuIGUuc3RvcFByb3BhZ2F0aW9uKCksdC5fb25Db21wb3NpdGlvbihlKX0sa2V5dXA6ZnVuY3Rpb24oZSl7cmV0dXJuIWUudHlwZS5pbmRleE9mKCJrZXkiKSYmdC5fayhlLmtleUNvZGUsImVudGVyIiwxMyxlLmtleSwiRW50ZXIiKT9udWxsOihlLnN0b3BQcm9wYWdhdGlvbigpLHQuX29uS2V5dXAoZSkpfX19KTpuKCJpbnB1dCIse2RpcmVjdGl2ZXM6W3tuYW1lOiJtb2RlbCIscmF3TmFtZToidi1tb2RlbCIsdmFsdWU6dC52YWx1ZVN5bmMsZXhwcmVzc2lvbjoidmFsdWVTeW5jIn0se25hbWU6ImtleWJvYXJkIixyYXdOYW1lOiJ2LWtleWJvYXJkIn0se25hbWU6ImZpZWxkIixyYXdOYW1lOiJ2LWZpZWxkIn1dLHJlZjoiaW5wdXQiLHN0YXRpY0NsYXNzOiJ1bmktaW5wdXQtaW5wdXQiLHN0eWxlOnQuY3Vyc29yQ29sb3I/e2NhcmV0Q29sb3I6dC5jdXJzb3JDb2xvcn06e30sYXR0cnM6e2Rpc2FibGVkOnQuZGlzYWJsZWQsbWF4bGVuZ3RoOnQubWF4bGVuZ3RoLHN0ZXA6dC5fc3RlcCxlbnRlcmtleWhpbnQ6dC5jb25maXJtVHlwZSxwYXR0ZXJuOiJudW1iZXIiPT09dC50eXBlPyJbMC05XSoiOm51bGwsYXV0b2NvbXBsZXRlOnQuYXV0b2NvbXBsZXRlLGlucHV0bW9kZTp0LmlucHV0bW9kZSx0eXBlOiJjaGVja2JveCJ9LGRvbVByb3BzOntjaGVja2VkOkFycmF5LmlzQXJyYXkodC52YWx1ZVN5bmMpP3QuX2kodC52YWx1ZVN5bmMsbnVsbCk+LTE6dC52YWx1ZVN5bmN9LG9uOntjaGFuZ2U6W2Z1bmN0aW9uKGUpe3ZhciBuPXQudmFsdWVTeW5jLHI9ZS50YXJnZXQsaT0hIXIuY2hlY2tlZDtpZihBcnJheS5pc0FycmF5KG4pKXt2YXIgbz10Ll9pKG4sbnVsbCk7ci5jaGVja2VkP288MCYmKHQudmFsdWVTeW5jPW4uY29uY2F0KFtudWxsXSkpOm8+LTEmJih0LnZhbHVlU3luYz1uLnNsaWNlKDAsbykuY29uY2F0KG4uc2xpY2UobysxKSkpfWVsc2UgdC52YWx1ZVN5bmM9aX0sZnVuY3Rpb24odCl7dC5zdG9wUHJvcGFnYXRpb24oKX1dLGZvY3VzOnQuX29uRm9jdXMsYmx1cjp0Ll9vbkJsdXIsaW5wdXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGUuc3RvcFByb3BhZ2F0aW9uKCksdC5fb25JbnB1dChlKX0sY29tcG9zaXRpb25zdGFydDpmdW5jdGlvbihlKXtyZXR1cm4gZS5zdG9wUHJvcGFnYXRpb24oKSx0Ll9vbkNvbXBvc2l0aW9uKGUpfSxjb21wb3NpdGlvbmVuZDpmdW5jdGlvbihlKXtyZXR1cm4gZS5zdG9wUHJvcGFnYXRpb24oKSx0Ll9vbkNvbXBvc2l0aW9uKGUpfSxjb21wb3NpdGlvbnVwZGF0ZTpmdW5jdGlvbihlKXtyZXR1cm4gZS5zdG9wUHJvcGFnYXRpb24oKSx0Ll9vbkNvbXBvc2l0aW9uKGUpfSxrZXl1cDpmdW5jdGlvbihlKXtyZXR1cm4hZS50eXBlLmluZGV4T2YoImtleSIpJiZ0Ll9rKGUua2V5Q29kZSwiZW50ZXIiLDEzLGUua2V5LCJFbnRlciIpP251bGw6KGUuc3RvcFByb3BhZ2F0aW9uKCksdC5fb25LZXl1cChlKSl9fX0pLHQuZGlzYWJsZWQmJnQuZml4Q29sb3I/bigiaW5wdXQiLHtyZWY6ImlucHV0IixzdGF0aWNDbGFzczoidW5pLWlucHV0LWlucHV0IixzdHlsZTp0LmN1cnNvckNvbG9yP3tjYXJldENvbG9yOnQuY3Vyc29yQ29sb3J9Ont9LGF0dHJzOnt0YWJpbmRleDoiLTEiLHJlYWRvbmx5OnQuZGlzYWJsZWQsdHlwZTp0LmlucHV0VHlwZSxtYXhsZW5ndGg6dC5tYXhsZW5ndGgsc3RlcDp0Ll9zdGVwfSxkb21Qcm9wczp7dmFsdWU6dC52YWx1ZVN5bmN9LG9uOntmb2N1czpmdW5jdGlvbih0KXtyZXR1cm4gdC50YXJnZXQuYmx1cigpfX19KTp0Ll9lKCldKV0pfSksW10sITEsbnVsbCxudWxsLG51bGwpO2VbImRlZmF1bHQiXT1oLmV4cG9ydHN9LGUwZWM6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiByKHQpe3JldHVybiBmdW5jdGlvbihlLG4pe2UmJihuW3RdPU1hdGgucm91bmQoZSkpfX1uLnIoZSksbi5kKGUsImNhbnZhc0dldEltYWdlRGF0YSIsKGZ1bmN0aW9uKCl7cmV0dXJuIGl9KSksbi5kKGUsImNhbnZhc1B1dEltYWdlRGF0YSIsKGZ1bmN0aW9uKCl7cmV0dXJuIG99KSksbi5kKGUsImNhbnZhc1RvVGVtcEZpbGVQYXRoIiwoZnVuY3Rpb24oKXtyZXR1cm4gc30pKSxuLmQoZSwiZHJhd0NhbnZhcyIsKGZ1bmN0aW9uKCl7cmV0dXJuIGN9KSk7dmFyIGk9e2NhbnZhc0lkOnt0eXBlOlN0cmluZyxyZXF1aXJlZDohMH0seDp7dHlwZTpOdW1iZXIscmVxdWlyZWQ6ITAsdmFsaWRhdG9yOnIoIngiKX0seTp7dHlwZTpOdW1iZXIscmVxdWlyZWQ6ITAsdmFsaWRhdG9yOnIoInkiKX0sd2lkdGg6e3R5cGU6TnVtYmVyLHJlcXVpcmVkOiEwLHZhbGlkYXRvcjpyKCJ3aWR0aCIpfSxoZWlnaHQ6e3R5cGU6TnVtYmVyLHJlcXVpcmVkOiEwLHZhbGlkYXRvcjpyKCJoZWlnaHQiKX19LG89e2NhbnZhc0lkOnt0eXBlOlN0cmluZyxyZXF1aXJlZDohMH0sZGF0YTp7dHlwZTpVaW50OENsYW1wZWRBcnJheSxyZXF1aXJlZDohMH0seDp7dHlwZTpOdW1iZXIscmVxdWlyZWQ6ITAsdmFsaWRhdG9yOnIoIngiKX0seTp7dHlwZTpOdW1iZXIscmVxdWlyZWQ6ITAsdmFsaWRhdG9yOnIoInkiKX0sd2lkdGg6e3R5cGU6TnVtYmVyLHJlcXVpcmVkOiEwLHZhbGlkYXRvcjpyKCJ3aWR0aCIpfSxoZWlnaHQ6e3R5cGU6TnVtYmVyLHZhbGlkYXRvcjpyKCJoZWlnaHQiKX19LGE9e1BORzoicG5nIixKUEc6ImpwZyIsSlBFRzoianBnIn0scz17eDp7dHlwZTpOdW1iZXIsZGVmYXVsdDowLHZhbGlkYXRvcjpyKCJ4Iil9LHk6e3R5cGU6TnVtYmVyLGRlZmF1bHQ6MCx2YWxpZGF0b3I6cigieSIpfSx3aWR0aDp7dHlwZTpOdW1iZXIsdmFsaWRhdG9yOnIoIndpZHRoIil9LGhlaWdodDp7dHlwZTpOdW1iZXIsdmFsaWRhdG9yOnIoImhlaWdodCIpfSxkZXN0V2lkdGg6e3R5cGU6TnVtYmVyLHZhbGlkYXRvcjpyKCJkZXN0V2lkdGgiKX0sZGVzdEhlaWdodDp7dHlwZTpOdW1iZXIsdmFsaWRhdG9yOnIoImRlc3RIZWlnaHQiKX0sY2FudmFzSWQ6e3R5cGU6U3RyaW5nLHJlcXVpcmVkOiEwfSxmaWxlVHlwZTp7dHlwZTpTdHJpbmcsdmFsaWRhdG9yOmZ1bmN0aW9uKHQsZSl7dD0odHx8IiIpLnRvVXBwZXJDYXNlKCksZS5maWxlVHlwZT10IGluIGE/YVt0XTphLlBOR319LHF1YWxpdHk6e3R5cGU6TnVtYmVyLHZhbGlkYXRvcjpmdW5jdGlvbih0LGUpe2UucXVhbGl0eT10PjAmJnQ8MT90OjF9fX0sYz17Y2FudmFzSWQ6e3R5cGU6U3RyaW5nLHJlcXVpcmVkOiEwfSxhY3Rpb25zOnt0eXBlOkFycmF5LHJlcXVpcmVkOiEwfSxyZXNlcnZlOnt0eXBlOkJvb2xlYW4sZGVmYXVsdDohMX19fSxlMGY5OmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5yKGUpLG4uZChlLCJnZXRMb2NhdGlvbiIsKGZ1bmN0aW9uKCl7cmV0dXJuIGl9KSk7dmFyIHI9WyJ3Z3M4NCIsImdjajAyIl0saT17dHlwZTp7dHlwZTpTdHJpbmcsdmFsaWRhdG9yOmZ1bmN0aW9uKHQsZSl7dD0odHx8IiIpLnRvTG93ZXJDYXNlKCksZS50eXBlPXIuaW5kZXhPZih0KTwwP3JbMF06dH19LGFsdGl0dWRlOnt0eXBlOkJvb2xlYW4sZGVmYXVsdDohMX19fSxlMTZlOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7KGZ1bmN0aW9uKHQpe3ZhciByLGk9bigiOTUxYyIpLG89bi5uKGkpLGE9bigiMzQwZCIpLHM9bigiYzgwYyIpLGM9WyJ0b3AiLCJsZWZ0IiwicmlnaHQiXSx1PWRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtmdW5jdGlvbiBsKHQsZSl7cnx8KHI9dS5zdHlsZSksci5zZXRQcm9wZXJ0eSh0LGUpfWVbImEiXT17bmFtZToiTGF5b3V0Iixwcm9wczp7cm91dGVyS2V5Ont0eXBlOlN0cmluZyxkZWZhdWx0OiIifSxrZWVwQWxpdmVJbmNsdWRlOnt0eXBlOkFycmF5LGRlZmF1bHQ6ZnVuY3Rpb24oKXtyZXR1cm5bXX19fSxkYXRhOmZ1bmN0aW9uKCl7cmV0dXJue21hcmdpbldpZHRoOjAsbGVmdFdpbmRvd1N0eWxlOiIiLHJpZ2h0V2luZG93U3R5bGU6IiIsdG9wV2luZG93U3R5bGU6IiIsdG9wV2luZG93TWVkaWFRdWVyeTohMSxsZWZ0V2luZG93TWVkaWFRdWVyeTohMSxyaWdodFdpbmRvd01lZGlhUXVlcnk6ITEsdG9wV2luZG93SGVpZ2h0OiIwcHgiLGFwaVNob3dUb3BXaW5kb3c6ITEsYXBpU2hvd0xlZnRXaW5kb3c6ITEsYXBpU2hvd1JpZ2h0V2luZG93OiExLG5hdmlnYXRpb25CYXJUaXRsZVRleHQ6IiIsbWF4V2lkdGhNZWlkYVF1ZXJ5OiExfX0sY29tcHV0ZWQ6e2JpbmRXaW5kb3c6ZnVuY3Rpb24oKXtyZXR1cm57bWF0Y2hUb3BXaW5kb3c6dGhpcy50b3BXaW5kb3dNZWRpYVF1ZXJ5LHNob3dUb3BXaW5kb3c6dGhpcy5zaG93VG9wV2luZG93fHx0aGlzLmFwaVNob3dUb3BXaW5kb3csbWF0Y2hMZWZ0V2luZG93OnRoaXMubGVmdFdpbmRvd01lZGlhUXVlcnksc2hvd0xlZnRXaW5kb3c6dGhpcy5zaG93TGVmdFdpbmRvd3x8dGhpcy5hcGlTaG93TGVmdFdpbmRvdyxtYXRjaFJpZ2h0V2luZG93OnRoaXMucmlnaHRXaW5kb3dNZWRpYVF1ZXJ5LHNob3dSaWdodFdpbmRvdzp0aGlzLnNob3dSaWdodFdpbmRvd3x8dGhpcy5hcGlTaG93UmlnaHRXaW5kb3d9fSxzaG93TGF5b3V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc2hvd1RvcFdpbmRvd3x8dGhpcy5zaG93TGVmdFdpbmRvd3x8dGhpcy5zaG93UmlnaHRXaW5kb3d9LHNob3dUb3BXaW5kb3c6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5yZXNldEFwaVNob3dXaW5kb3coKSwhMSE9PXRoaXMuJHJvdXRlLm1ldGEudG9wV2luZG93JiZ0aGlzLnRvcFdpbmRvd01lZGlhUXVlcnl9LHNob3dMZWZ0V2luZG93OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucmVzZXRBcGlTaG93V2luZG93KCksITEhPT10aGlzLiRyb3V0ZS5tZXRhLmxlZnRXaW5kb3cmJnRoaXMubGVmdFdpbmRvd01lZGlhUXVlcnl9LHNob3dSaWdodFdpbmRvdzpmdW5jdGlvbigpe3JldHVybiB0aGlzLnJlc2V0QXBpU2hvd1dpbmRvdygpLCExIT09dGhpcy4kcm91dGUubWV0YS5yaWdodFdpbmRvdyYmdGhpcy5yaWdodFdpbmRvd01lZGlhUXVlcnl9fSx3YXRjaDp7JHJvdXRlOmZ1bmN0aW9uKCl7dGhpcy5jaGVja01heFdpZHRoKCl9LHNob3dMYXlvdXQ6ZnVuY3Rpb24oKXt0aGlzLmNoZWNrTGF5b3V0KCl9LHNob3dUb3BXaW5kb3c6ZnVuY3Rpb24odCxlKXt0P3RoaXMuJG5leHRUaWNrKHRoaXMub25Ub3BXaW5kb3dJbml0KTpsKCItLXRvcC13aW5kb3ctaGVpZ2h0IiwiMHB4Iil9LHNob3dMZWZ0V2luZG93OmZ1bmN0aW9uKHQsZSl7dD90aGlzLiRuZXh0VGljayh0aGlzLm9uTGVmdFdpbmRvd0luaXQpOmwoIi0td2luZG93LWxlZnQiLCIwcHgiKX0sc2hvd1JpZ2h0V2luZG93OmZ1bmN0aW9uKHQsZSl7dD90aGlzLiRuZXh0VGljayh0aGlzLm9uUmlnaHRXaW5kb3dJbml0KTpsKCItLXdpbmRvdy1yaWdodCIsIjBweCIpfSxtYXJnaW5XaWR0aDpmdW5jdGlvbih0KXtsKCItLXdpbmRvdy1tYXJnaW4iLHQrInB4Iil9fSxiZWZvcmVDcmVhdGU6ZnVuY3Rpb24oKXtsKCItLXRvcC13aW5kb3ctaGVpZ2h0IiwiMHB4IiksbCgiLS13aW5kb3ctbGVmdCIsIjBweCIpLGwoIi0td2luZG93LXJpZ2h0IiwiMHB4IiksbCgiLS13aW5kb3ctbWFyZ2luIiwiMHB4Iil9LGNyZWF0ZWQ6ZnVuY3Rpb24oKXt2YXIgZT10aGlzO3RoaXMudG9wV2luZG93PW8uYS5jb21wb25lbnQoIlZVbmlUb3BXaW5kb3ciKSx0aGlzLmxlZnRXaW5kb3c9by5hLmNvbXBvbmVudCgiVlVuaUxlZnRXaW5kb3ciKSx0aGlzLnJpZ2h0V2luZG93PW8uYS5jb21wb25lbnQoIlZVbmlSaWdodFdpbmRvdyIpLCh0aGlzLnRvcFdpbmRvd3x8dGhpcy5sZWZ0V2luZG93fHx0aGlzLnJpZ2h0V2luZG93KSYmdW5pLmNhbklVc2UoImNzcy52YXIiKSYmd2luZG93Lm1hdGNoTWVkaWEmJihjLmZvckVhY2goKGZ1bmN0aW9uKHQpe3JldHVybiBlLmluaXRXaW5kb3dNaW5XaWR0aCh0KX0pKSx0aGlzLnJlc3BvbnNpdmU9ZnVuY3Rpb24odCl7dmFyIGU9d2luZG93LnNjcmVlbixuPVt3aW5kb3cub3V0ZXJXaWR0aCx3aW5kb3cub3V0ZXJIZWlnaHQsZS53aWR0aCxlLmhlaWdodCx1LmNsaWVudFdpZHRoLHUuY2xpZW50SGVpZ2h0XTtyZXR1cm4gTWF0aC5tYXguYXBwbHkobnVsbCxuKT50fSh0aGlzLm1pbldpZHRoKSx0aGlzLnJlc3BvbnNpdmUmJih0aGlzLnRvcFdpbmRvdyYmdGhpcy50b3BXaW5kb3cub3B0aW9ucy5zdHlsZSYmKHRoaXMudG9wV2luZG93U3R5bGU9dGhpcy50b3BXaW5kb3cub3B0aW9ucy5zdHlsZSksdGhpcy5sZWZ0V2luZG93JiZ0aGlzLmxlZnRXaW5kb3cub3B0aW9ucy5zdHlsZSYmKHRoaXMubGVmdFdpbmRvd1N0eWxlPXRoaXMubGVmdFdpbmRvdy5vcHRpb25zLnN0eWxlKSx0aGlzLnJpZ2h0V2luZG93JiZ0aGlzLnJpZ2h0V2luZG93Lm9wdGlvbnMuc3R5bGUmJih0aGlzLnJpZ2h0V2luZG93U3R5bGU9dGhpcy5yaWdodFdpbmRvdy5vcHRpb25zLnN0eWxlKSxjLmZvckVhY2goKGZ1bmN0aW9uKHQpe3JldHVybiBlLmluaXRNZWRpYVF1ZXJ5KHQpfSkpLHQub24oIm9uTmF2aWdhdGlvbkJhckNoYW5nZSIsKGZ1bmN0aW9uKHQpe2UubmF2aWdhdGlvbkJhclRpdGxlVGV4dD10LnRpdGxlVGV4dH0pKSkpLHRoaXMuaW5pdE1heFdpZHRoKCl9LG1vdW50ZWQ6ZnVuY3Rpb24oKXt0aGlzLmNoZWNrTGF5b3V0KCksdGhpcy5jaGVja01heFdpZHRoKCl9LG1ldGhvZHM6e3Jlc2V0QXBpU2hvd1dpbmRvdzpmdW5jdGlvbigpe3RoaXMuYXBpU2hvd0xlZnRXaW5kb3c9ITEsdGhpcy5hcGlTaG93UmlnaHRXaW5kb3c9ITF9LHNob3dXaW5kb3c6ZnVuY3Rpb24odCl7dmFyIGU9IShhcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXSl8fGFyZ3VtZW50c1sxXTtpZighdGhpc1t0KyJXaW5kb3ciXSlyZXR1cm4gdCsiV2luZG93IG5vdCBmb3VuZCI7dmFyIG49T2JqZWN0KGFbImMiXSkodCk7aWYoIXRoaXNbInNob3ciK24rIldpbmRvdyJdKXt2YXIgcj0iYXBpU2hvdyIrbisiV2luZG93Ijt0aGlzW3JdIT09ZSYmKHRoaXNbcl09ZSwidG9wIj09PXQmJihlP3RoaXMuJG5leHRUaWNrKHRoaXMub25Ub3BXaW5kb3dJbml0KTpsKCItLXRvcC13aW5kb3ctaGVpZ2h0IiwiMHB4IikpKX19LGdldFdpbmRvd1N0eWxlOmZ1bmN0aW9uKHQpe2lmKCF0aGlzW3QrIldpbmRvdyJdKXJldHVybiB0KyJXaW5kb3cgbm90IGZvdW5kIjt2YXIgZT1PYmplY3QuYXNzaWduKHt9LHRoaXNbdCsiV2luZG93U3R5bGUiXSk7cmV0dXJuIGV9LHNldFdpbmRvd1N0eWxlOmZ1bmN0aW9uKHQsZSl7aWYoIXRoaXNbdCsiV2luZG93Il0pcmV0dXJuIHQrIldpbmRvdyBub3QgZm91bmQiO2UmJih0aGlzW3QrIldpbmRvd1N0eWxlIl09ZSx0aGlzLiRuZXh0VGljayh0aGlzWyJvbiIrT2JqZWN0KGFbImMiXSkodCkrIldpbmRvd0luaXQiXSkpfSxpbml0TWF4V2lkdGg6ZnVuY3Rpb24oKXt2YXIgdD10aGlzO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLChmdW5jdGlvbigpe3QuY2hlY2tNYXhXaWR0aCgpfSkpfSxjaGVja0xheW91dDpmdW5jdGlvbigpe3RoaXMuJGVtaXQoImxheW91dCIsdGhpcy5zaG93TGF5b3V0KX0sY2hlY2tNYXhXaWR0aDpmdW5jdGlvbigpe3ZhciB0LGU9dGhpcyxuPWRvY3VtZW50LmJvZHkuY2xpZW50V2lkdGgscj1wYXJzZUludCh0aGlzLiRyb3V0ZS5tZXRhLm1heFdpZHRoKTt0PW4+cix0aGlzLiRlbWl0KCJtYXhXaWR0aCIsdCksdGhpcy4kY29udGFpbmVyRWxlbXx8KHRoaXMuJGNvbnRhaW5lckVsZW09ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigidW5pLWFwcCIpKSx0aGlzLiRjb250YWluZXJFbGVtJiYodCYmcj8odGhpcy5tYXJnaW5XaWR0aD0obi1yKS8yLHRoaXMuJG5leHRUaWNrKChmdW5jdGlvbigpe2Uub25MZWZ0V2luZG93SW5pdCgpLGUub25SaWdodFdpbmRvd0luaXQoKSxlLiRjb250YWluZXJFbGVtLnNldEF0dHJpYnV0ZSgic3R5bGUiLCJtYXgtd2lkdGg6IityKyJweDttYXJnaW46MCBhdXRvOyIpfSkpKToodGhpcy5tYXJnaW5XaWR0aD0wLHRoaXMuJG5leHRUaWNrKChmdW5jdGlvbigpe2Uub25MZWZ0V2luZG93SW5pdCgpLGUub25SaWdodFdpbmRvd0luaXQoKSxlLiRjb250YWluZXJFbGVtLnJlbW92ZUF0dHJpYnV0ZSgic3R5bGUiKX0pKSkpfSxpbml0V2luZG93TWluV2lkdGg6ZnVuY3Rpb24odCl7dmFyIGU9dCsiV2luZG93IjtpZih0aGlzW2VdKXt2YXIgbj10KyJXaW5kb3dNaW5XaWR0aCI7dGhpc1tuXT1zWyJjIl07dmFyIHI9X191bmlDb25maWdbZV07ciYmci5tYXRjaE1lZGlhJiZPYmplY3QoYVsiaSJdKShyLm1hdGNoTWVkaWEsIm1pbldpZHRoIikmJih0aGlzW25dPXIubWF0Y2hNZWRpYS5taW5XaWR0aCksKCJ1bmRlZmluZWQiPT09dHlwZW9mIHRoaXMubWluV2lkdGh8fHRoaXMubWluV2lkdGg+dGhpc1tuXSkmJih0aGlzLm1pbldpZHRoPXRoaXNbbl0pfX0saW5pdE1lZGlhUXVlcnk6ZnVuY3Rpb24odCl7dmFyIGU9dGhpcztpZih0aGlzW3QrIldpbmRvdyJdKXt2YXIgbj10KyJXaW5kb3dNZWRpYVF1ZXJ5IixyPXdpbmRvdy5tYXRjaE1lZGlhKCIobWluLXdpZHRoOiAiK3RoaXNbdCsiV2luZG93TWluV2lkdGgiXSsicHgpIik7ci5hZGRMaXN0ZW5lcigoZnVuY3Rpb24ocil7ZVtuXT1yLm1hdGNoZXMsZS4kbmV4dFRpY2soKGZ1bmN0aW9uKCl7ZVsib24iK09iamVjdChhWyJjIl0pKHQpKyJXaW5kb3dJbml0Il0oKX0pKX0pKSx0aGlzW25dPXIubWF0Y2hlc319LG9uVG9wV2luZG93SW5pdDpmdW5jdGlvbigpe2lmKHRoaXMucmVzcG9uc2l2ZSYmdGhpcy50b3BXaW5kb3cpe3ZhciB0O3Q9dGhpcy50b3BXaW5kb3dTdHlsZSYmdGhpcy50b3BXaW5kb3dTdHlsZS5oZWlnaHQ/dGhpcy4kcmVmcy50b3BXaW5kb3cub2Zmc2V0SGVpZ2h0KyJweCI6dGhpcy4kcmVmcy50b3AuJGVsLm9mZnNldEhlaWdodCsicHgiLHRoaXMudG9wV2luZG93SGVpZ2h0PXQsbCgiLS10b3Atd2luZG93LWhlaWdodCIsdCl9fSxvbkxlZnRXaW5kb3dJbml0OmZ1bmN0aW9uKCl7dGhpcy5yZXNwb25zaXZlJiZ0aGlzLmxlZnRXaW5kb3c/dGhpcy5sZWZ0V2luZG93U3R5bGUmJnRoaXMubGVmdFdpbmRvd1N0eWxlLndpZHRoP2woIi0td2luZG93LWxlZnQiLHRoaXMuJHJlZnMubGVmdFdpbmRvdy5vZmZzZXRXaWR0aCt0aGlzLm1hcmdpbldpZHRoKyJweCIpOmwoIi0td2luZG93LWxlZnQiLHRoaXMuJHJlZnMubGVmdC4kZWwub2Zmc2V0V2lkdGgrdGhpcy5tYXJnaW5XaWR0aCsicHgiKTpsKCItLXdpbmRvdy1sZWZ0Iix0aGlzLm1hcmdpbldpZHRoKyJweCIpfSxvblJpZ2h0V2luZG93SW5pdDpmdW5jdGlvbigpe3RoaXMucmVzcG9uc2l2ZSYmdGhpcy5yaWdodFdpbmRvdz90aGlzLnJpZ2h0V2luZG93U3R5bGUmJnRoaXMucmlnaHRXaW5kb3dTdHlsZS53aWR0aD9sKCItLXdpbmRvdy1yaWdodCIsdGhpcy4kcmVmcy5yaWdodFdpbmRvdy5vZmZzZXRXaWR0aCt0aGlzLm1hcmdpbldpZHRoKyJweCIpOmwoIi0td2luZG93LXJpZ2h0Iix0aGlzLiRyZWZzLnJpZ2h0LiRlbC5vZmZzZXRXaWR0aCt0aGlzLm1hcmdpbldpZHRoKyJweCIpOmwoIi0td2luZG93LXJpZ2h0Iix0aGlzLm1hcmdpbldpZHRoKyJweCIpfX19fSkuY2FsbCh0aGlzLG4oIjJjOWYiKSl9LGUxYjA6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtuLnIoZSksZnVuY3Rpb24odCl7bi5kKGUsInJlcXVlc3RDb21wb25lbnRJbmZvIiwoZnVuY3Rpb24oKXtyZXR1cm4gYX0pKTt2YXIgcj1uKCI3NTUzIiksaT1uKCIwNzk1Iiksbz1PYmplY3QoclsiYSJdKSgicmVxdWVzdENvbXBvbmVudEluZm8iKTtmdW5jdGlvbiBhKGUsbixyKXt0LnB1Ymxpc2hIYW5kbGVyKCJyZXF1ZXN0Q29tcG9uZW50SW5mbyIse3JlcUlkOm8ucHVzaChyKSxyZXFzOm59LE9iamVjdChpWyJhIl0pKGUpP2U6ZS4kcGFnZS5pZCl9fS5jYWxsKHRoaXMsbigiMmM5ZiIpKX0sZTI4MzpmdW5jdGlvbih0LGUsbil7fSxlMzJlOmZ1bmN0aW9uKHQsZSxuKXt9LGU0NDQ6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtuLnIoZSksZnVuY3Rpb24odCl7dmFyIHI7bi5kKGUsInN0YXJ0QWNjZWxlcm9tZXRlciIsKGZ1bmN0aW9uKCl7cmV0dXJuIG99KSksbi5kKGUsInN0b3BBY2NlbGVyb21ldGVyIiwoZnVuY3Rpb24oKXtyZXR1cm4gYX0pKSxuLmQoZSwib25BY2NlbGVyb21ldGVyQ2hhbmdlIiwoZnVuY3Rpb24oKXtyZXR1cm4gc30pKSxuLmQoZSwib2ZmQWNjZWxlcm9tZXRlckNoYW5nZSIsKGZ1bmN0aW9uKCl7cmV0dXJuIGN9KSk7dmFyIGk9W107ZnVuY3Rpb24gbyhlLG4pe3ZhciBvPXQsYT1vLmludm9rZUNhbGxiYWNrSGFuZGxlcjtpZighd2luZG93LkRldmljZU1vdGlvbkV2ZW50KXJldHVybntlcnJNc2c6InN0YXJ0QWNjZWxlcm9tZXRlcjpmYWlsIn07ZnVuY3Rpb24gcygpe3I9ZnVuY3Rpb24odCl7dmFyIGU9dC5hY2NlbGVyYXRpb258fHQuYWNjZWxlcmF0aW9uSW5jbHVkaW5nR3Jhdml0eTtpLmZvckVhY2goKGZ1bmN0aW9uKHQpe2EodCx7eDplLnh8fDAseTplLnl8fDAsejplLnp8fDB9KX0pKX0sd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImRldmljZW1vdGlvbiIsciwhMSl9aWYoIXIpe2lmKERldmljZU1vdGlvbkV2ZW50LnJlcXVlc3RQZXJtaXNzaW9uKXJldHVybiB2b2lkIERldmljZU1vdGlvbkV2ZW50LnJlcXVlc3RQZXJtaXNzaW9uKCkudGhlbigoZnVuY3Rpb24odCl7ImdyYW50ZWQiPT09dD8ocygpLGEobix7ZXJyTXNnOiJzdGFydEFjY2VsZXJvbWV0ZXI6b2sifSkpOmEobix7ZXJyTXNnOiJzdGFydEFjY2VsZXJvbWV0ZXI6ZmFpbCAiLmNvbmNhdCh0KX0pfSkpLmNhdGNoKChmdW5jdGlvbih0KXthKG4se2Vyck1zZzoic3RhcnRBY2NlbGVyb21ldGVyOmZhaWwgIi5jb25jYXQodCl9KX0pKTtzKCl9cmV0dXJue319ZnVuY3Rpb24gYSgpe3JldHVybiByJiYod2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoImRldmljZW1vdGlvbiIsciwhMSkscj1udWxsKSx7fX1mdW5jdGlvbiBzKHQpe2kubGVuZ3RofHxvKCksaS5wdXNoKHQpfWZ1bmN0aW9uIGModCl7aWYodCl7dmFyIGU9aS5pbmRleE9mKHQpO2U+PTAmJmkuc3BsaWNlKGUsMSl9aS5sZW5ndGh8fGEoKX19LmNhbGwodGhpcyxuKCIyYzlmIikpfSxlNTEwOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5yKGUpO3ZhciByPW4oIjM5YmQiKSxpPW4oImM3MDAiKSxvPW4oImQ0YzkiKSxhPW4oIjRiYTYiKSxzPW4oIjZmNzUiKTt2YXIgYz17bmFtZToiUGlja2VyVmlld0NvbHVtbiIsbWl4aW5zOltyWyJhIl0saVsiYSJdXSxkYXRhOmZ1bmN0aW9uKCl7cmV0dXJue3Njb3BlOiJwaWNrZXItdmlldy1jb2x1bW4tIi5jb25jYXQoRGF0ZS5ub3coKSksaW5pdGVkOiExLGluZGljYXRvclN0eWxlOiIiLGluZGljYXRvckNsYXNzOiIiLGluZGljYXRvckhlaWdodDozNCxtYXNrU3R5bGU6IiIsbWFza0NsYXNzOiIiLGN1cnJlbnQ6dGhpcy4kcGFyZW50LmdldEl0ZW1WYWx1ZSh0aGlzKSxsZW5ndGg6MH19LGNvbXB1dGVkOntoZWlnaHQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy4kcGFyZW50LmhlaWdodH0sbWFza1NpemU6ZnVuY3Rpb24oKXtyZXR1cm4odGhpcy5oZWlnaHQtdGhpcy5pbmRpY2F0b3JIZWlnaHQpLzJ9fSx3YXRjaDp7aW5kaWNhdG9ySGVpZ2h0OmZ1bmN0aW9uKHQpe3RoaXMuX3NldEl0ZW1IZWlnaHQodCksdGhpcy5pbml0ZWQmJnRoaXMudXBkYXRlKCl9LGN1cnJlbnQ6ZnVuY3Rpb24odCl7dGhpcy4kcGFyZW50LnNldEl0ZW1WYWx1ZSh0aGlzLHQpfSxsZW5ndGg6ZnVuY3Rpb24odCl7dGhpcy5pbml0ZWQmJnRoaXMudXBkYXRlKHQpfX0sY3JlYXRlZDpmdW5jdGlvbigpe3ZhciB0PXRoaXMuJHBhcmVudDt0aGlzLmluZGljYXRvclN0eWxlPXQuaW5kaWNhdG9yU3R5bGUsdGhpcy5pbmRpY2F0b3JDbGFzcz10LmluZGljYXRvckNsYXNzLHRoaXMubWFza1N0eWxlPXQubWFza1N0eWxlLHRoaXMubWFza0NsYXNzPXQubWFza0NsYXNzLHRoaXMuZGVsdGFZPTB9LG1vdW50ZWQ6ZnVuY3Rpb24oKXt2YXIgdD10aGlzO3RoaXMudG91Y2h0cmFjayh0aGlzLiRyZWZzLm1haW4sIl9oYW5kbGVUcmFjayIsITApLHRoaXMuc2V0Q3VycmVudCh0aGlzLmN1cnJlbnQpLHRoaXMuJG5leHRUaWNrKChmdW5jdGlvbigpe3QuaW5pdCgpLHQudXBkYXRlKCl9KSksZnVuY3Rpb24odCl7dmFyIGU9MCxuPTA7dC5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0IiwoZnVuY3Rpb24odCl7dmFyIHI9dC5jaGFuZ2VkVG91Y2hlc1swXTtlPXIuY2xpZW50WCxuPXIuY2xpZW50WX0pKSx0LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIiwoZnVuY3Rpb24odCl7dmFyIHI9dC5jaGFuZ2VkVG91Y2hlc1swXTtpZihNYXRoLmFicyhyLmNsaWVudFgtZSk8MjAmJk1hdGguYWJzKHIuY2xpZW50WS1uKTwyMCl7dmFyIGk9bmV3IEN1c3RvbUV2ZW50KCJjbGljayIse2J1YmJsZXM6ITAsY2FuY2VsYWJsZTohMCx0YXJnZXQ6dC50YXJnZXQsY3VycmVudFRhcmdldDp0LmN1cnJlbnRUYXJnZXR9KTtbInNjcmVlblgiLCJzY3JlZW5ZIiwiY2xpZW50WCIsImNsaWVudFkiLCJwYWdlWCIsInBhZ2VZIl0uZm9yRWFjaCgoZnVuY3Rpb24odCl7aVt0XT1yW3RdfSkpLHQudGFyZ2V0LmRpc3BhdGNoRXZlbnQoaSl9fSkpfSh0aGlzLiRlbCksT2JqZWN0KHNbImIiXSkoKTt2YXIgZT10aGlzO3doaWxlKGUpe3ZhciBuPWUuJG9wdGlvbnMuX3Njb3BlSWQ7biYmdGhpcy4kcmVmcy5pbmRpY2F0b3Iuc2V0QXR0cmlidXRlKG4sIiIpLGU9ZS4kcGFyZW50fX0sbWV0aG9kczp7X3NldEl0ZW1IZWlnaHQ6ZnVuY3Rpb24odCl7dmFyIGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKTtlLmlubmVyVGV4dD0iLnVuaS1waWNrZXItdmlldy1jb250ZW50LiIuY29uY2F0KHRoaXMuc2NvcGUsIj4qe2hlaWdodDogIikuY29uY2F0KHQsInB4O292ZXJmbG93OiBoaWRkZW47fSIpLGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoZSl9LF9oYW5kbGVUcmFjazpmdW5jdGlvbih0KXtpZih0aGlzLl9zY3JvbGxlcilzd2l0Y2godC5kZXRhaWwuc3RhdGUpe2Nhc2Uic3RhcnQiOnRoaXMuX2hhbmRsZVRvdWNoU3RhcnQodCksT2JqZWN0KHNbImEiXSkoe2Rpc2FibGU6ITB9KTticmVhaztjYXNlIm1vdmUiOnRoaXMuX2hhbmRsZVRvdWNoTW92ZSh0KSx0LnN0b3BQcm9wYWdhdGlvbigpO2JyZWFrO2Nhc2UiZW5kIjpjYXNlImNhbmNlbCI6dGhpcy5faGFuZGxlVG91Y2hFbmQodCksT2JqZWN0KHNbImEiXSkoe2Rpc2FibGU6ITF9KX19LF9oYW5kbGVUYXA6ZnVuY3Rpb24odCl7dmFyIGU9dC5jbGllbnRZO2lmKCF0aGlzLl9zY3JvbGxlci5pc1Njcm9sbGluZygpKXt2YXIgbj10aGlzLiRlbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxyPWUtbi50b3AtdGhpcy5oZWlnaHQvMixpPXRoaXMuaW5kaWNhdG9ySGVpZ2h0LzI7aWYoIShNYXRoLmFicyhyKTw9aSkpe3ZhciBvPU1hdGguY2VpbCgoTWF0aC5hYnMociktaSkvdGhpcy5pbmRpY2F0b3JIZWlnaHQpLGE9cjwwPy1vOm8scz1NYXRoLm1pbih0aGlzLmN1cnJlbnQrYSx0aGlzLmxlbmd0aC0xKTt0aGlzLmN1cnJlbnQ9cz1NYXRoLm1heChzLDApLHRoaXMuX3Njcm9sbGVyLnNjcm9sbFRvKHMqdGhpcy5pbmRpY2F0b3JIZWlnaHQpfX19LF9oYW5kbGVXaGVlbDpmdW5jdGlvbih0KXt2YXIgZT10aGlzLmRlbHRhWSt0LmRlbHRhWTtpZihNYXRoLmFicyhlKT4xMCl7dGhpcy5kZWx0YVk9MDt2YXIgbj1NYXRoLm1pbih0aGlzLmN1cnJlbnQrKGU8MD8tMToxKSx0aGlzLmxlbmd0aC0xKTt0aGlzLmN1cnJlbnQ9bj1NYXRoLm1heChuLDApLHRoaXMuX3Njcm9sbGVyLnNjcm9sbFRvKG4qdGhpcy5pbmRpY2F0b3JIZWlnaHQpfWVsc2UgdGhpcy5kZWx0YVk9ZTt0LnByZXZlbnREZWZhdWx0KCl9LHNldEN1cnJlbnQ6ZnVuY3Rpb24odCl7dCE9PXRoaXMuY3VycmVudCYmKHRoaXMuY3VycmVudD10LHRoaXMuaW5pdGVkJiZ0aGlzLnVwZGF0ZSgpKX0saW5pdDpmdW5jdGlvbigpe3ZhciB0PXRoaXM7dGhpcy5pbml0U2Nyb2xsZXIodGhpcy4kcmVmcy5jb250ZW50LHtlbmFibGVZOiEwLGVuYWJsZVg6ITEsZW5hYmxlU25hcDohMCxpdGVtU2l6ZTp0aGlzLmluZGljYXRvckhlaWdodCxmcmljdGlvbjpuZXcgb1siYSJdKDFlLTQpLHNwcmluZzpuZXcgYVsiYSJdKDIsOTAsMjApLG9uU25hcDpmdW5jdGlvbihlKXtpc05hTihlKXx8ZT09PXQuY3VycmVudHx8KHQuY3VycmVudD1lKX19KSx0aGlzLmluaXRlZD0hMH0sdXBkYXRlOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpczt0aGlzLiRuZXh0VGljaygoZnVuY3Rpb24oKXt2YXIgZT1NYXRoLm1pbih0LmN1cnJlbnQsdC5sZW5ndGgtMSk7ZT1NYXRoLm1heChlLDApLHQuX3Njcm9sbGVyLnVwZGF0ZShlKnQuaW5kaWNhdG9ySGVpZ2h0LHZvaWQgMCx0LmluZGljYXRvckhlaWdodCl9KSl9LF9yZXNpemU6ZnVuY3Rpb24odCl7dmFyIGU9dC5oZWlnaHQ7dGhpcy5pbmRpY2F0b3JIZWlnaHQ9ZX19LHJlbmRlcjpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5sZW5ndGg9dGhpcy4kc2xvdHMuZGVmYXVsdCYmdGhpcy4kc2xvdHMuZGVmYXVsdC5sZW5ndGh8fDAsdCgidW5pLXBpY2tlci12aWV3LWNvbHVtbiIse29uOntvbjp0aGlzLiRsaXN0ZW5lcnN9fSxbdCgiZGl2Iix7cmVmOiJtYWluIixzdGF0aWNDbGFzczoidW5pLXBpY2tlci12aWV3LWdyb3VwIixvbjp7d2hlZWw6dGhpcy5faGFuZGxlV2hlZWwsY2xpY2s6dGhpcy5faGFuZGxlVGFwfX0sW3QoImRpdiIse3JlZjoibWFzayIsc3RhdGljQ2xhc3M6InVuaS1waWNrZXItdmlldy1tYXNrIixjbGFzczp0aGlzLm1hc2tDbGFzcyxzdHlsZToiYmFja2dyb3VuZC1zaXplOiAxMDAlICIuY29uY2F0KHRoaXMubWFza1NpemUsInB4OyIpLmNvbmNhdCh0aGlzLm1hc2tTdHlsZSl9KSx0KCJkaXYiLHtyZWY6ImluZGljYXRvciIsc3RhdGljQ2xhc3M6InVuaS1waWNrZXItdmlldy1pbmRpY2F0b3IiLGNsYXNzOnRoaXMuaW5kaWNhdG9yQ2xhc3Msc3R5bGU6dGhpcy5pbmRpY2F0b3JTdHlsZX0sW3QoInYtdW5pLXJlc2l6ZS1zZW5zb3IiLHthdHRyczp7aW5pdGlhbDohMH0sb246e3Jlc2l6ZTp0aGlzLl9yZXNpemV9fSldKSx0KCJkaXYiLHtyZWY6ImNvbnRlbnQiLHN0YXRpY0NsYXNzOiJ1bmktcGlja2VyLXZpZXctY29udGVudCIsY2xhc3M6dGhpcy5zY29wZSxzdHlsZToicGFkZGluZzogIi5jb25jYXQodGhpcy5tYXNrU2l6ZSwicHggMDsiKX0sW3RoaXMuJHNsb3RzLmRlZmF1bHRdKV0pXSl9fSx1PWMsbD0obigiNTc2YyIpLG4oIjg4NDQiKSksZj1PYmplY3QobFsiYSJdKSh1LHZvaWQgMCx2b2lkIDAsITEsbnVsbCxudWxsLG51bGwpO2VbImRlZmF1bHQiXT1mLmV4cG9ydHN9LGU1YjM6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjsoZnVuY3Rpb24odCl7dmFyIGk9bigiMzhjZSIpLG89bigiMDM3MiIpLGE9bigiYzgwYyIpLHM9bigiMzQwZCIpLGM9bigiNTg0NCIpLHU9bigiOGE5MiIpLGw9bigiYTdmYiIpLGY9bigiNDJiZiIpLGQ9bigiYTk4ZiIpLGg9bigiZjYyMSIpLHA9bi5uKGgpLHY9bigiYjQwNSIpO2Z1bmN0aW9uIGcodCl7cmV0dXJuIGc9ImZ1bmN0aW9uIj09PXR5cGVvZiBTeW1ib2wmJiJzeW1ib2wiPT09cihTeW1ib2wuaXRlcmF0b3IpP2Z1bmN0aW9uKHQpe3JldHVybiByKHQpfTpmdW5jdGlvbih0KXtyZXR1cm4gdCYmImZ1bmN0aW9uIj09PXR5cGVvZiBTeW1ib2wmJnQuY29uc3RydWN0b3I9PT1TeW1ib2wmJnQhPT1TeW1ib2wucHJvdG90eXBlPyJzeW1ib2wiOnIodCl9LGcodCl9ZnVuY3Rpb24gbSgpe3ZhciB0PXt9LGU9e25vbmU6ImRlZmF1bHQiLGF1dG86InRyYW5zcGFyZW50IixhbHdheXM6ImZsb2F0In0sbj10aGlzLnRpdGxlTlZpZXc7bj0hMT09PW58fCJmYWxzZSI9PT1ufHwiY3VzdG9tIj09PXRoaXMubmF2aWdhdGlvblN0eWxlJiYhT2JqZWN0KHNbImwiXSkobil8fCJhbHdheXMiPT09dGhpcy50cmFuc3BhcmVudFRpdGxlJiYhT2JqZWN0KHNbImwiXSkobik/e3R5cGU6Im5vbmUifTpPYmplY3QuYXNzaWduKHt9LHt0eXBlOiJjdXN0b20iPT09dGhpcy5uYXZpZ2F0aW9uU3R5bGU/Im5vbmUiOiJkZWZhdWx0In0sdGhpcy50cmFuc3BhcmVudFRpdGxlIGluIGU/e3R5cGU6ZVt0aGlzLnRyYW5zcGFyZW50VGl0bGVdfTpudWxsLCJvYmplY3QiPT09ZyhuKT9uOiJib29sZWFuIj09PXR5cGVvZiBuP3t0eXBlOm4/ImRlZmF1bHQiOiJub25lIn06bnVsbCk7cmV0dXJuIHQ9T2JqZWN0KGNbImEiXSkoe2xvYWRpbmc6ITEsYmFja0J1dHRvbjohdGhpcy5pc1F1aXQmJiF0aGlzLiRyb3V0ZS5tZXRhLmlzUXVpdCxiYWNrZ3JvdW5kQ29sb3I6dGhpcy5uYXZpZ2F0aW9uQmFyQmFja2dyb3VuZENvbG9yLHRleHRDb2xvcjoid2hpdGUiPT09T2JqZWN0KHZbImQiXSkoe3Rlc3RTdHlsZTp0aGlzLm5hdmlnYXRpb25CYXJUZXh0U3R5bGV9KS50ZXN0U3R5bGU/IiNmZmYiOiIjMDAwIix0aXRsZVRleHQ6dGhpcy5uYXZpZ2F0aW9uQmFyVGl0bGVUZXh0LHRpdGxlSW1hZ2U6dGhpcy50aXRsZUltYWdlLGR1cmF0aW9uOiIwIix0aW1pbmdGdW5jOiIiLHRpdGxlUGVuZXRyYXRlOntZRVM6ITAsTk86ITF9W3RoaXMudGl0bGVQZW5ldHJhdGVdfSxuKSx0LnNoYWRvdz10aGlzLm5hdmlnYXRpb25CYXJTaGFkb3csT2JqZWN0KG9bImUiXSkodCkse25hdmlnYXRpb25CYXI6X191bmlDb25maWcuZGFya21vZGU/T2JqZWN0KHZbImQiXSkodCk6dCx0aXRsZU5WaWV3Om59fWZ1bmN0aW9uIGIodCl7dmFyIGU9T2JqZWN0LmFzc2lnbih7c3VwcG9ydDohMCxjb2xvcjoiIzJCRDAwOSIsc3R5bGU6ImNpcmNsZSIsaGVpZ2h0OjcwLHJhbmdlOjE1MCxvZmZzZXQ6MH0sdGhpcy5wdWxsVG9SZWZyZXNoKSxuPU9iamVjdChpWyJlIl0pKGUub2Zmc2V0KTtyZXR1cm4ibm9uZSIhPT10LnR5cGUmJiJ0cmFuc3BhcmVudCIhPT10LnR5cGUmJihuKz1hWyJhIl0rcC5hLnRvcCksZS5vZmZzZXQ9bixlLmhlaWdodD1PYmplY3QoaVsiZSJdKShlLmhlaWdodCksZS5yYW5nZT1PYmplY3QoaVsiZSJdKShlLnJhbmdlKSxlfWVbImEiXT17bmFtZToiUGFnZSIsbXBUeXBlOiJwYWdlIixjb21wb25lbnRzOntQYWdlSGVhZDp1WyJhIl0sUGFnZUJvZHk6bFsiYSJdLFBhZ2VSZWZyZXNoOmZbImEiXX0sbWl4aW5zOltkWyJhIl1dLHByb3BzOntpc1F1aXQ6e3R5cGU6Qm9vbGVhbixkZWZhdWx0OiExfSxpc0VudHJ5Ont0eXBlOkJvb2xlYW4sZGVmYXVsdDohMX0saXNUYWJCYXI6e3R5cGU6Qm9vbGVhbixkZWZhdWx0OiExfSx0YWJCYXJJbmRleDp7dHlwZTpOdW1iZXIsZGVmYXVsdDotMX0sbmF2aWdhdGlvbkJhckJhY2tncm91bmRDb2xvcjp7dHlwZTpTdHJpbmcsZGVmYXVsdDoiI2Y4ZjhmOCJ9LG5hdmlnYXRpb25CYXJUZXh0U3R5bGU6e2RlZmF1bHQ6ImJsYWNrIix2YWxpZGF0b3I6ZnVuY3Rpb24odCl7cmV0dXJuLTEhPT1bIndoaXRlIiwiYmxhY2siXS5pbmRleE9mKHQpfHwwPT09dC5pbmRleE9mKCJAIil9fSxuYXZpZ2F0aW9uQmFyVGl0bGVUZXh0Ont0eXBlOlN0cmluZyxkZWZhdWx0OiIifSxuYXZpZ2F0aW9uU3R5bGU6e2RlZmF1bHQ6ImRlZmF1bHQiLHZhbGlkYXRvcjpmdW5jdGlvbih0KXtyZXR1cm4tMSE9PVsiZGVmYXVsdCIsImN1c3RvbSJdLmluZGV4T2YodCl9fSxiYWNrZ3JvdW5kQ29sb3I6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6IiNmZmZmZmYifSxiYWNrZ3JvdW5kVGV4dFN0eWxlOntkZWZhdWx0OiJkYXJrIix2YWxpZGF0b3I6ZnVuY3Rpb24odCl7cmV0dXJuLTEhPT1bImRhcmsiLCJsaWdodCJdLmluZGV4T2YodCl9fSxiYWNrZ3JvdW5kQ29sb3JUb3A6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6IiNmZmYifSxiYWNrZ3JvdW5kQ29sb3JCb3R0b206e3R5cGU6U3RyaW5nLGRlZmF1bHQ6IiNmZmYifSxlbmFibGVQdWxsRG93blJlZnJlc2g6e3R5cGU6Qm9vbGVhbixkZWZhdWx0OiExfSxvblJlYWNoQm90dG9tRGlzdGFuY2U6e3R5cGU6TnVtYmVyLGRlZmF1bHQ6NTB9LGRpc2FibGVTY3JvbGw6e3R5cGU6Qm9vbGVhbixkZWZhdWx0OiExfSx0aXRsZU5WaWV3Ont0eXBlOltCb29sZWFuLE9iamVjdCxTdHJpbmddLGRlZmF1bHQ6IiJ9LHB1bGxUb1JlZnJlc2g6e3R5cGU6T2JqZWN0LGRlZmF1bHQ6ZnVuY3Rpb24oKXtyZXR1cm57fX19LHRpdGxlSW1hZ2U6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6IiJ9LHRyYW5zcGFyZW50VGl0bGU6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6IiJ9LHRpdGxlUGVuZXRyYXRlOnt0eXBlOlN0cmluZyxkZWZhdWx0OiJOTyJ9LG5hdmlnYXRpb25CYXJTaGFkb3c6e3R5cGU6T2JqZWN0LGRlZmF1bHQ6ZnVuY3Rpb24oKXtyZXR1cm57fX19LHRvcFdpbmRvdzp7dHlwZTpCb29sZWFuLGRlZmF1bHQ6ITB9fSxkYXRhOmZ1bmN0aW9uKCl7dmFyIHQ9bS5jYWxsKHRoaXMpLGU9dC5uYXZpZ2F0aW9uQmFyLG49dC50aXRsZU5WaWV3O3JldHVybntuYXZpZ2F0aW9uQmFyOmUscmVmcmVzaE9wdGlvbnM6Yi5jYWxsKHRoaXMsbil9fSxjcmVhdGVkOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcyxuPXRoaXMubmF2aWdhdGlvbkJhcjtkb2N1bWVudC50aXRsZT1uLnRpdGxlVGV4dCx0LmVtaXQoIm9uTmF2aWdhdGlvbkJhckNoYW5nZSIsbiksT2JqZWN0KHZbImMiXSkoKGZ1bmN0aW9uKCl7ZS5uYXZpZ2F0aW9uQmFyPW0uY2FsbChlKS5uYXZpZ2F0aW9uQmFyfSkpfX19KS5jYWxsKHRoaXMsbigiMmM5ZiIpKX0sZTY4YTpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO24ucihlKSxuLmQoZSwiVmlkZW9Db250ZXh0IiwoZnVuY3Rpb24oKXtyZXR1cm4gc30pKSxuLmQoZSwiY3JlYXRlVmlkZW9Db250ZXh0IiwoZnVuY3Rpb24oKXtyZXR1cm4gY30pKTt2YXIgcj1uKCI3NDVhIik7ZnVuY3Rpb24gaSh0LGUpe2Zvcih2YXIgbj0wO248ZS5sZW5ndGg7bisrKXt2YXIgcj1lW25dO3IuZW51bWVyYWJsZT1yLmVudW1lcmFibGV8fCExLHIuY29uZmlndXJhYmxlPSEwLCJ2YWx1ZSJpbiByJiYoci53cml0YWJsZT0hMCksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsci5rZXkscil9fXZhciBvPVsuNSwuOCwxLDEuMjUsMS41LDJdO2Z1bmN0aW9uIGEodCxlLG4saSl7T2JqZWN0KHJbImMiXSkoIm9wZXJhdGVWaWRlb1BsYXllciIsdCxlLG4saSl9dmFyIHM9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KGUsbil7KGZ1bmN0aW9uKHQsZSl7aWYoISh0IGluc3RhbmNlb2YgZSkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uIil9KSh0aGlzLHQpLHRoaXMuaWQ9ZSx0aGlzLnBhZ2VWbT1ufXJldHVybiBmdW5jdGlvbih0LGUsbil7ZSYmaSh0LnByb3RvdHlwZSxlKSxuJiZpKHQsbil9KHQsW3trZXk6InBsYXkiLHZhbHVlOmZ1bmN0aW9uKCl7YSh0aGlzLmlkLHRoaXMucGFnZVZtLCJwbGF5Iil9fSx7a2V5OiJwYXVzZSIsdmFsdWU6ZnVuY3Rpb24oKXthKHRoaXMuaWQsdGhpcy5wYWdlVm0sInBhdXNlIil9fSx7a2V5OiJzdG9wIix2YWx1ZTpmdW5jdGlvbigpe2EodGhpcy5pZCx0aGlzLnBhZ2VWbSwic3RvcCIpfX0se2tleToic2VlayIsdmFsdWU6ZnVuY3Rpb24odCl7YSh0aGlzLmlkLHRoaXMucGFnZVZtLCJzZWVrIix7cG9zaXRpb246dH0pfX0se2tleToic2VuZERhbm11Iix2YWx1ZTpmdW5jdGlvbih0KXthKHRoaXMuaWQsdGhpcy5wYWdlVm0sInNlbmREYW5tdSIsdCl9fSx7a2V5OiJwbGF5YmFja1JhdGUiLHZhbHVlOmZ1bmN0aW9uKHQpe35vLmluZGV4T2YodCl8fCh0PTEpLGEodGhpcy5pZCx0aGlzLnBhZ2VWbSwicGxheWJhY2tSYXRlIix7cmF0ZTp0fSl9fSx7a2V5OiJyZXF1ZXN0RnVsbFNjcmVlbiIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgdD1hcmd1bWVudHMubGVuZ3RoPjAmJnZvaWQgMCE9PWFyZ3VtZW50c1swXT9hcmd1bWVudHNbMF06e307YSh0aGlzLmlkLHRoaXMucGFnZVZtLCJyZXF1ZXN0RnVsbFNjcmVlbiIsdCl9fSx7a2V5OiJleGl0RnVsbFNjcmVlbiIsdmFsdWU6ZnVuY3Rpb24oKXthKHRoaXMuaWQsdGhpcy5wYWdlVm0sImV4aXRGdWxsU2NyZWVuIil9fSx7a2V5OiJzaG93U3RhdHVzQmFyIix2YWx1ZTpmdW5jdGlvbigpe2EodGhpcy5pZCx0aGlzLnBhZ2VWbSwic2hvd1N0YXR1c0JhciIpfX0se2tleToiaGlkZVN0YXR1c0JhciIsdmFsdWU6ZnVuY3Rpb24oKXthKHRoaXMuaWQsdGhpcy5wYWdlVm0sImhpZGVTdGF0dXNCYXIiKX19XSksdH0oKTtmdW5jdGlvbiBjKHQsZSl7cmV0dXJuIG5ldyBzKHQsZXx8T2JqZWN0KHJbImIiXSkoImNyZWF0ZVZpZGVvQ29udGV4dCIpKX19LGU3NDg6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtuLnIoZSksZnVuY3Rpb24odCl7ZnVuY3Rpb24gcih0LGUpe2Zvcih2YXIgbj0wO248ZS5sZW5ndGg7bisrKXt2YXIgcj1lW25dO3IuZW51bWVyYWJsZT1yLmVudW1lcmFibGV8fCExLHIuY29uZmlndXJhYmxlPSEwLCJ2YWx1ZSJpbiByJiYoci53cml0YWJsZT0hMCksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsci5rZXkscil9fWZ1bmN0aW9uIGkoZSxuLHIsaSl7dC5wdWJsaXNoSGFuZGxlcihuKyItYXVkaW8tIitlLHthdWRpb0lkOmUsdHlwZTpyLGRhdGE6aX0sbil9bi5kKGUsImNyZWF0ZUF1ZGlvQ29udGV4dCIsKGZ1bmN0aW9uKCl7cmV0dXJuIGF9KSk7dmFyIG89ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KGUsbil7KGZ1bmN0aW9uKHQsZSl7aWYoISh0IGluc3RhbmNlb2YgZSkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uIil9KSh0aGlzLHQpLHRoaXMuaWQ9ZSx0aGlzLnBhZ2VJZD1ufXJldHVybiBmdW5jdGlvbih0LGUsbil7ZSYmcih0LnByb3RvdHlwZSxlKSxuJiZyKHQsbil9KHQsW3trZXk6InNldFNyYyIsdmFsdWU6ZnVuY3Rpb24odCl7aSh0aGlzLmlkLHRoaXMucGFnZUlkLCJzZXRTcmMiLHtzcmM6dH0pfX0se2tleToicGxheSIsdmFsdWU6ZnVuY3Rpb24oKXtpKHRoaXMuaWQsdGhpcy5wYWdlSWQsInBsYXkiKX19LHtrZXk6InBhdXNlIix2YWx1ZTpmdW5jdGlvbigpe2kodGhpcy5pZCx0aGlzLnBhZ2VJZCwicGF1c2UiKX19LHtrZXk6InNlZWsiLHZhbHVlOmZ1bmN0aW9uKHQpe2kodGhpcy5pZCx0aGlzLnBhZ2VJZCwic2VlayIse3Bvc2l0aW9uOnR9KX19XSksdH0oKTtmdW5jdGlvbiBhKGUsbil7aWYobilyZXR1cm4gbmV3IG8oZSxuLiRwYWdlLmlkKTt2YXIgcj1nZXRBcHAoKTtpZihyLiRyb3V0ZSYmci4kcm91dGUucGFyYW1zLl9faWRfXylyZXR1cm4gbmV3IG8oZSxyLiRyb3V0ZS5wYXJhbXMuX19pZF9fKTt0LmVtaXQoIm9uRXJyb3IiLCJjcmVhdGVBdWRpb0NvbnRleHQ6ZmFpbCIpfX0uY2FsbCh0aGlzLG4oIjJjOWYiKSl9LGU3NmI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjsoZnVuY3Rpb24odCl7dmFyIHI9bigiYjQzNSIpLGk9bigiNDczOCIpO2VbImEiXT17cHJvcHM6e2lkOnt0eXBlOltOdW1iZXIsU3RyaW5nXSxkZWZhdWx0OiIifSxsYXRpdHVkZTp7dHlwZTpbTnVtYmVyLFN0cmluZ10scmVxdWlyZTohMH0sbG9uZ2l0dWRlOnt0eXBlOltOdW1iZXIsU3RyaW5nXSxyZXF1aXJlOiEwfSx0aXRsZTp7dHlwZTpTdHJpbmcsZGVmYXVsdDoiIn0saWNvblBhdGg6e3R5cGU6U3RyaW5nLHJlcXVpcmU6ITB9LHJvdGF0ZTp7dHlwZTpbTnVtYmVyLFN0cmluZ10sZGVmYXVsdDowfSxhbHBoYTp7dHlwZTpbTnVtYmVyLFN0cmluZ10sZGVmYXVsdDoxfSx3aWR0aDp7dHlwZTpbTnVtYmVyLFN0cmluZ10sZGVmYXVsdDoiIn0saGVpZ2h0Ont0eXBlOltOdW1iZXIsU3RyaW5nXSxkZWZhdWx0OiIifSxjYWxsb3V0Ont0eXBlOk9iamVjdCxkZWZhdWx0Om51bGx9LGxhYmVsOnt0eXBlOk9iamVjdCxkZWZhdWx0Om51bGx9LGFuY2hvcjp7dHlwZTpPYmplY3QsZGVmYXVsdDpudWxsfSxjbHVzdGVySWQ6e3R5cGU6W051bWJlcixTdHJpbmddLGRlZmF1bHQ6IiJ9LGN1c3RvbUNhbGxvdXQ6e3R5cGU6T2JqZWN0LGRlZmF1bHQ6bnVsbH0sYXJpYUxhYmVsOnt0eXBlOlN0cmluZyxkZWZhdWx0OiIifX0sZGF0YTpmdW5jdGlvbigpe3JldHVybntpZFN0cmluZzpTdHJpbmcoaXNOYU4oTnVtYmVyKHRoaXMuaWQpKT8iIjp0aGlzLmlkKX19LG1vdW50ZWQ6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLGU9dGhpcy4kcGFyZW50O2UubWFwUmVhZHkoKGZ1bmN0aW9uKCl7dC5fbWFwcz1lLl9tYXBzLHQuX21hcD1lLl9tYXAsdC5hZGRNYXJrZXIodC4kcHJvcHMpLE9iamVjdC5rZXlzKHQuJHByb3BzKS5mb3JFYWNoKChmdW5jdGlvbihlKXt0LiR3YXRjaChlLChmdW5jdGlvbigpe3QudXBkYXRlTWFya2VyKHQuJHByb3BzKX0pKX0pKX0pKX0sYmVmb3JlRGVzdHJveTpmdW5jdGlvbigpe3RoaXMucmVtb3ZlTWFya2VyKCl9LG1ldGhvZHM6e2FkZE1hcmtlcjpmdW5jdGlvbih0KXt2YXIgZT10aGlzLG49dGhpcy5fbWFwcyxpPXRoaXMuX21hcCxvPXRoaXMuX21hcmtlcj1uZXcgbi5NYXJrZXIoe21hcDppLGZsYXQ6ITAsYXV0b1JvdGF0aW9uOiExfSk7aWYodGhpcy4kcGFyZW50Ll9tYXJrZXJzW3RoaXMuaWRTdHJpbmddPW8sdGhpcy51cGRhdGVNYXJrZXIodCksclsiYyJdKXtvLmRvbS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKGZ1bmN0aW9uKHQpe2UuaGFuZGxlQU1hcE1hcmtlckNsaWNrKHQsbyl9KSk7dmFyIGE9e307by5kb20uYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsKGZ1bmN0aW9uKHQpe2E9dC50b3VjaGVzWzBdfSkpLG8uZG9tLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIiwoZnVuY3Rpb24odCl7dmFyIG49dC5jaGFuZ2VkVG91Y2hlc1swXTthLmNsaWVudFg9PT1uLmNsaWVudFgmJmEuY2xpZW50WT09PW4uY2xpZW50WSYmZS5oYW5kbGVBTWFwTWFya2VyQ2xpY2sodCxvKX0pKX1lbHNlIG4uZXZlbnQuYWRkTGlzdGVuZXIobywiY2xpY2siLChmdW5jdGlvbih0KXt2YXIgbj1vLmNhbGxvdXQ7aWYobiYmIW4uYWx3YXlzVmlzaWJsZSYmKG4uc2V0KCJ2aXNpYmxlIiwhbi52aXNpYmxlKSxuLnZpc2libGUpKXt2YXIgcj1uLmRpdixpPXIucGFyZW50Tm9kZTtpLnJlbW92ZUNoaWxkKHIpLGkuYXBwZW5kQ2hpbGQocil9dmFyIGE9dC5ldmVudHx8dC5kb21FdmVudDtpZihlLmlkU3RyaW5nKXt2YXIgcz1lLmdldE1hcmtlckxhdGl0dWRlTG9uZ2l0dWRlKHQpLGM9cy5sYXRpdHVkZSx1PXMubG9uZ2l0dWRlO2UuJHBhcmVudC4kdHJpZ2dlcigibWFya2VydGFwIixhLHttYXJrZXJJZDpOdW1iZXIoZS5pZFN0cmluZyksbGF0aXR1ZGU6Yyxsb25naXR1ZGU6dX0pfWEuc3RvcFByb3BhZ2F0aW9uKCl9KSl9LHVwZGF0ZU1hcmtlcjpmdW5jdGlvbihlKXt2YXIgbj10aGlzLG89dGhpcy5fbWFwLGE9dGhpcy5fbWFwcyxzPXRoaXMuX21hcmtlcixjPWUudGl0bGUsdT1yWyJjIl0/bmV3IGEuTG5nTGF0KGUubG9uZ2l0dWRlLGUubGF0aXR1ZGUpOm5ldyBhLkxhdExuZyhlLmxhdGl0dWRlLGUubG9uZ2l0dWRlKSxsPW5ldyBJbWFnZSxmPTA7bC5vbmxvYWQ9ZnVuY3Rpb24oKXt2YXIgdCxpLGQsaD1lLmFuY2hvcnx8e30scD0ibnVtYmVyIj09PXR5cGVvZiBoLng/aC54Oi41LHY9Im51bWJlciI9PT10eXBlb2YgaC55P2gueToxO2UuaWNvblBhdGgmJihlLndpZHRofHxlLmhlaWdodCk/KGk9ZS53aWR0aHx8bC53aWR0aC9sLmhlaWdodCplLmhlaWdodCxkPWUuaGVpZ2h0fHxsLmhlaWdodC9sLndpZHRoKmUud2lkdGgpOihpPWwud2lkdGgvMixkPWwuaGVpZ2h0LzIpLGY9ZDt2YXIgZz1kLShkLXYqZCk7dD0iTWFya2VySW1hZ2UiaW4gYT9uZXcgYS5NYXJrZXJJbWFnZShsLnNyYyxudWxsLG51bGwsbmV3IGEuUG9pbnQocCppLHYqZCksbmV3IGEuU2l6ZShpLGQpKToiSWNvbiJpbiBhP25ldyBhLkljb24oe2ltYWdlOmwuc3JjLHNpemU6bmV3IGEuU2l6ZShpLGQpLGltYWdlU2l6ZTpuZXcgYS5TaXplKGksZCksaW1hZ2VPZmZzZXQ6bmV3IGEuUGl4ZWwocCppLHYqZCl9KTp7dXJsOmwuc3JjLGFuY2hvcjpuZXcgYS5Qb2ludChwLHYpLHNpemU6bmV3IGEuU2l6ZShpLGQpfSxzLnNldFBvc2l0aW9uKHUpLHMuc2V0SWNvbih0KSwic2V0Um90YXRpb24iaW4gcyYmcy5zZXRSb3RhdGlvbihlLnJvdGF0ZXx8MCk7dmFyIG0sYj1lLmxhYmVsfHx7fTtpZigibGFiZWwiaW4gcyYmKHMubGFiZWwuc2V0TWFwKG51bGwpLGRlbGV0ZSBzLmxhYmVsKSxiLmNvbnRlbnQpe3ZhciB5PXtib3JkZXJDb2xvcjpiLmJvcmRlckNvbG9yLGJvcmRlcldpZHRoOihOdW1iZXIoYi5ib3JkZXJXaWR0aCl8fDApKyJweCIscGFkZGluZzooTnVtYmVyKGIucGFkZGluZyl8fDApKyJweCIsYm9yZGVyUmFkaXVzOihOdW1iZXIoYi5ib3JkZXJSYWRpdXMpfHwwKSsicHgiLGJhY2tncm91bmRDb2xvcjpiLmJnQ29sb3IsY29sb3I6Yi5jb2xvcixmb250U2l6ZTooYi5mb250U2l6ZXx8MTQpKyJweCIsbGluZUhlaWdodDooYi5mb250U2l6ZXx8MTQpKyJweCIsbWFyZ2luTGVmdDooTnVtYmVyKGIuYW5jaG9yWHx8Yi54KXx8MCkrInB4IixtYXJnaW5Ub3A6KE51bWJlcihiLmFuY2hvcll8fGIueSl8fDApKyJweCJ9O2lmKCJMYWJlbCJpbiBhKW09bmV3IGEuTGFiZWwoe3Bvc2l0aW9uOnUsbWFwOm8sY2xpY2thYmxlOiExLGNvbnRlbnQ6Yi5jb250ZW50LHN0eWxlOnl9KSxzLmxhYmVsPW07ZWxzZSBpZigic2V0TGFiZWwiaW4gcylpZihyWyJjIl0pe3ZhciBfPSc8ZGl2IHN0eWxlPSJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDonLmNvbmNhdCh5Lm1hcmdpbkxlZnQsIjtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiIpLmNvbmNhdCh5Lm1hcmdpblRvcCwiO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IikuY29uY2F0KHkucGFkZGluZywiO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IikuY29uY2F0KHkuYmFja2dyb3VuZENvbG9yLCI7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czoiKS5jb25jYXQoeS5ib3JkZXJSYWRpdXMsIjtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDoiKS5jb25jYXQoeS5saW5lSGVpZ2h0LCI7XG4gICAgICAgICAgICAgICAgY29sb3I6IikuY29uY2F0KHkuY29sb3IsIjtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IikuY29uY2F0KHkuZm9udFNpemUsJztcblxuICAgICAgICAgICAgICAgICI+XG4gICAgICAgICAgICAgICAgJykuY29uY2F0KGIuY29udGVudCwiXG4gICAgICAgICAgICAgIDxkaXY+Iik7cy5zZXRMYWJlbCh7Y29udGVudDpfLGRpcmVjdGlvbjoiYm90dG9tLXJpZ2h0In0pfWVsc2V7dmFyIHc9bi51cGRhdGVNYXJrZXJMYWJlbFN0eWxlKG4uaWRTdHJpbmcseSk7cy5zZXRMYWJlbCh7dGV4dDpiLmNvbnRlbnQsY29sb3I6eS5jb2xvcixmb250U2l6ZTp5LmZvbnRTaXplLGNsYXNzTmFtZTp3fSl9fXZhciB4LFM9ZS5jYWxsb3V0fHx7fSxrPXMuY2FsbG91dDtpZihTLmNvbnRlbnR8fGMpe3JbImMiXSYmUy5jb250ZW50JiYoUy5jb250ZW50PVMuY29udGVudC5yZXBsYWNlQWxsKCJcbiIsIjxici8+IikpO3ZhciBDPSIwcHggMHB4IDNweCAxcHggcmdiYSgwLDAsMCwwLjUpIixPPS1mLzI7aWYoKGUud2lkdGh8fGUuaGVpZ2h0KSYmKE8rPTE0LWYvMikseD1TLmNvbnRlbnQ/e3Bvc2l0aW9uOnUsbWFwOm8sdG9wOmcsb2Zmc2V0WTpPLGNvbnRlbnQ6Uy5jb250ZW50LGNvbG9yOlMuY29sb3IsZm9udFNpemU6Uy5mb250U2l6ZSxib3JkZXJSYWRpdXM6Uy5ib3JkZXJSYWRpdXMsYmdDb2xvcjpTLmJnQ29sb3IscGFkZGluZzpTLnBhZGRpbmcsYm94U2hhZG93OlMuYm94U2hhZG93fHxDLGRpc3BsYXk6Uy5kaXNwbGF5fTp7cG9zaXRpb246dSxtYXA6byx0b3A6ZyxvZmZzZXRZOk8sY29udGVudDpjLGJveFNoYWRvdzpDfSxrKWsuc2V0T3B0aW9uKHgpO2Vsc2UgaWYoclsiYyJdKXtrPXMuY2FsbG91dD1uZXcgYS5DYWxsb3V0KHgsKGZ1bmN0aW9uKHQsZSl7ZS5pZFN0cmluZyYmZS4kcGFyZW50LiR0cmlnZ2VyKCJjYWxsb3V0dGFwIix0LHttYXJrZXJJZDpOdW1iZXIoZS5pZFN0cmluZyl9KX0pLG4pfWVsc2Ugaz1zLmNhbGxvdXQ9bmV3IGEuQ2FsbG91dCh4KSxrLmRpdi5vbmNsaWNrPWZ1bmN0aW9uKHQpe24uaWRTdHJpbmcmJm4uJHBhcmVudC4kdHJpZ2dlcigiY2FsbG91dHRhcCIsdCx7bWFya2VySWQ6TnVtYmVyKG4uaWRTdHJpbmcpfSksdC5zdG9wUHJvcGFnYXRpb24oKSx0LnByZXZlbnREZWZhdWx0KCl9LE9iamVjdChyWyJlIl0pKCkudHlwZT09PXJbImQiXS5HT09HTEUmJihrLmRpdi5vbnBvaW50ZXJkb3duPWZ1bmN0aW9uKHQpe3Quc3RvcFByb3BhZ2F0aW9uKCl9LGsuZGl2Lm9udG91Y2hzdGFydD1mdW5jdGlvbih0KXt0LnN0b3BQcm9wYWdhdGlvbigpfSl9ZWxzZSBrJiYobi5yZW1vdmVNYXJrZXJDYWxsb3V0KHMuY2FsbG91dCksZGVsZXRlIHMuY2FsbG91dCl9LGUuaWNvblBhdGg/bC5zcmM9T2JqZWN0KGlbImEiXSkoZS5pY29uUGF0aCk6dC5lcnJvcigiTWFya2VyLmljb25QYXRoIGlzIHJlcXVpcmVkLiIpfSxoYW5kbGVBTWFwTWFya2VyQ2xpY2s6ZnVuY3Rpb24odCxlKXt2YXIgbj1lLmNhbGxvdXQ7biYmIW4uYWx3YXlzVmlzaWJsZSYmKG4udmlzaWJsZT0hbi52aXNpYmxlLG4udmlzaWJsZT9lLmNhbGxvdXQuY3JlYXRlQU1hcFRleHQoKTplLmNhbGxvdXQucmVtb3ZlQU1hcFRleHQoKSksdGhpcy5pZFN0cmluZyYmdGhpcy4kcGFyZW50LiR0cmlnZ2VyKCJtYXJrZXJ0YXAiLHQse21hcmtlcklkOk51bWJlcih0aGlzLmlkU3RyaW5nKSxsYXRpdHVkZTplLl9wb3NpdGlvbi5sYXQsbG9uZ2l0dWRlOmUuX3Bvc2l0aW9uLmxuZ30pLHQuc3RvcFByb3BhZ2F0aW9uKCl9LHVwZGF0ZU1hcmtlckxhYmVsU3R5bGU6ZnVuY3Rpb24odCxlKXt2YXIgbj0idW5pLW1hcC1tYXJrZXItbGFiZWwtIit0LHI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQobik7cnx8KHI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKSxyLmlkPW4sZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChyKSx0aGlzLiRvbmNlKCJob29rOmRlc3Ryb3llZCIsKGZ1bmN0aW9uKCl7ci5yZW1vdmUoKX0pKSk7dmFyIGk9T2JqZWN0LmFzc2lnbih7fSxlLHtwb3NpdGlvbjoiYWJzb2x1dGUiLHRvcDoiNzBweCIsYm9yZGVyU3R5bGU6InNvbGlkIn0pLG89ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIE9iamVjdC5rZXlzKGkpLmZvckVhY2goKGZ1bmN0aW9uKHQpe28uc3R5bGVbdF09aVt0XXx8IiJ9KSksci5pbm5lclRleHQ9Ii4iLmNvbmNhdChuLCJ7IikuY29uY2F0KG8uZ2V0QXR0cmlidXRlKCJzdHlsZSIpLCJ9Iiksbn0sZ2V0TWFya2VyTGF0aXR1ZGVMb25naXR1ZGU6ZnVuY3Rpb24odCl7dmFyIGUsbixpPU9iamVjdChyWyJlIl0pKCk7cmV0dXJuIHJbImMiXT8oZT10LmxuZ2xhdC5sYXQsbj10LmxuZ2xhdC5sbmcpOmkudHlwZT09PXJbImQiXS5RUT8oZT10LmxhdExuZy5sYXQsbj10LmxhdExuZy5sbmcpOmkudHlwZT09PXJbImQiXS5HT09HTEUmJihlPXQubGF0TG5nLmxhdCgpLG49dC5sYXRMbmcubG5nKCkpLHtsYXRpdHVkZTplLGxvbmdpdHVkZTpufX0scmVtb3ZlTWFya2VyOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fbWFya2VyO3QmJih0LmxhYmVsJiYic2V0TWFwImluIHQubGFiZWwmJnQubGFiZWwuc2V0TWFwKG51bGwpLHQuY2FsbG91dCYmdGhpcy5yZW1vdmVNYXJrZXJDYWxsb3V0KHQuY2FsbG91dCksdC5zZXRNYXAobnVsbCkpLGRlbGV0ZSB0aGlzLiRwYXJlbnQuX21hcmtlcnNbdGhpcy5pZFN0cmluZ10sdGhpcy5fbWFya2VyPW51bGx9LHJlbW92ZU1hcmtlckNhbGxvdXQ6ZnVuY3Rpb24odCl7clsiYyJdP3QucmVtb3ZlQU1hcFRleHQoKTp0LnNldE1hcChudWxsKX19LHJlbmRlcjpmdW5jdGlvbigpe3JldHVybiBudWxsfX19KS5jYWxsKHRoaXMsbigiNDE4YiIpWyJkZWZhdWx0Il0pfSxlODdmOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5yKGUpLG4uZChlLCJyZW1vdmVUYWJCYXJCYWRnZSIsKGZ1bmN0aW9uKCl7cmV0dXJuIG99KSksbi5kKGUsInNob3dUYWJCYXJSZWREb3QiLChmdW5jdGlvbigpe3JldHVybiBhfSkpLG4uZChlLCJoaWRlVGFiQmFyUmVkRG90IiwoZnVuY3Rpb24oKXtyZXR1cm4gc30pKSxuLmQoZSwib25UYWJCYXJNaWRCdXR0b25UYXAiLChmdW5jdGlvbigpe3JldHVybiB1fSkpO3ZhciByPW4oIjc0NWEiKSxpPW4oIjkxMzEiKTtmdW5jdGlvbiBvKHQpe3ZhciBlPXQuaW5kZXg7cmV0dXJuIE9iamVjdChyWyJjIl0pKCJzZXRUYWJCYXJCYWRnZSIse2luZGV4OmUsdHlwZToibm9uZSJ9KX1mdW5jdGlvbiBhKHQpe3ZhciBlPXQuaW5kZXg7cmV0dXJuIE9iamVjdChyWyJjIl0pKCJzZXRUYWJCYXJCYWRnZSIse2luZGV4OmUsdHlwZToicmVkRG90In0pfXZhciBzPW8sYz1bXTtmdW5jdGlvbiB1KHQpe2MucHVzaCh0KX1PYmplY3QoclsiZCJdKSgib25UYWJCYXJNaWRCdXR0b25UYXAiLChmdW5jdGlvbih0KXtjLmZvckVhY2goKGZ1bmN0aW9uKGUpe09iamVjdChpWyJhIl0pKGUsdCl9KSl9KSl9LGU5ZDE6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtuLnIoZSk7dmFyIHI9bigiZjM3MCIpLGk9clsiYSJdLG89KG4oImYxZGIiKSxuKCI4ODQ0IikpLGE9T2JqZWN0KG9bImEiXSkoaSx2b2lkIDAsdm9pZCAwLCExLG51bGwsbnVsbCxudWxsKTtlWyJkZWZhdWx0Il09YS5leHBvcnRzfSxlYTcyOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7KGZ1bmN0aW9uKHQpe3ZhciByPW4oIjQ3MzgiKSxpPW4oIjM0MGQiKSxvPW4oIjg5ZWMiKSxhPW4oImZhOTUiKTtlWyJhIl09e25hbWU6IlRhYkJhciIscHJvcHM6e3Bvc2l0aW9uOntkZWZhdWx0OiJib3R0b20iLHZhbGlkYXRvcjpmdW5jdGlvbih0KXtyZXR1cm4tMSE9PVsiYm90dG9tIiwidG9wIl0uaW5kZXhPZih0KX19LGNvbG9yOnt0eXBlOlN0cmluZyxkZWZhdWx0OiIjOTk5In0sc2VsZWN0ZWRDb2xvcjp7dHlwZTpTdHJpbmcsZGVmYXVsdDoiIzAwN2FmZiJ9LGJhY2tncm91bmRDb2xvcjp7dHlwZTpTdHJpbmcsZGVmYXVsdDoiIn0sYm9yZGVyU3R5bGU6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6ImJsYWNrIn0saWNvbmZvbnRTcmM6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6IiJ9LGxpc3Q6e3R5cGU6QXJyYXksZGVmYXVsdDpmdW5jdGlvbigpe3JldHVybltdfX0sbWF0Y2hNZWRpYTp7dHlwZTpPYmplY3QsZGVmYXVsdDpmdW5jdGlvbigpe3JldHVybnt9fX0sYmx1ckVmZmVjdDp7dHlwZTpTdHJpbmcsZGVmYXVsdDoibm9uZSJ9LGZvbnRTaXplOnt0eXBlOlN0cmluZyxkZWZhdWx0OiIxMHB4In0saWNvbldpZHRoOnt0eXBlOlN0cmluZyxkZWZhdWx0OiIyNHB4In0sc3BhY2luZzp7dHlwZTpTdHJpbmcsZGVmYXVsdDoiM3B4In0saGVpZ2h0Ont0eXBlOlN0cmluZyxkZWZhdWx0OiI1MHB4In0sbWlkQnV0dG9uOnt0eXBlOk9iamVjdCxkZWZhdWx0Om51bGx9fSxkYXRhOmZ1bmN0aW9uKCl7cmV0dXJue3NlbGVjdGVkSW5kZXg6MCx2aXNpYmxlTGlzdDpbXSxpbnRlcm5hbE1pZEJ1dHRvbjp7fX19LGNvbXB1dGVkOnt0YWJiYXJCYWNrZ3JvdW5kQ29sb3I6ZnVuY3Rpb24oKXtpZih0aGlzLmJhY2tncm91bmRDb2xvcilyZXR1cm4gdGhpcy5iYWNrZ3JvdW5kQ29sb3I7aWYoZnVuY3Rpb24odCl7cmV0dXJuIHdpbmRvdy5DU1MmJkNTUy5zdXBwb3J0cyYmKENTUy5zdXBwb3J0cyh0KXx8Q1NTLnN1cHBvcnRzLmFwcGx5KENTUyx0LnNwbGl0KCI6IikpKX0oImJhY2tkcm9wLWZpbHRlcjpibHVyKDEwcHgpIikmJiJub25lIiE9PXRoaXMuYmx1ckVmZmVjdCl7aWYoImRhcmsiPT09dGhpcy5ibHVyRWZmZWN0KXJldHVybiJyZ2IoMCwgMCwgMCwgMC44KSI7aWYoWyJsaWdodCIsImV4dHJhbGlnaHQiXS5pbmNsdWRlcyh0aGlzLmJsdXJFZmZlY3QpKXJldHVybiJyZ2IoMjUwLCAyNTAsIDI1MCwgMC44KSJ9cmV0dXJuIiNmN2Y3ZmEifSxib3JkZXJDb2xvcjpmdW5jdGlvbigpe3JldHVybiJ3aGl0ZSI9PT10aGlzLmJvcmRlclN0eWxlPyJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzMpIjoiYmxhY2siPT09dGhpcy5ib3JkZXJTdHlsZT8icmdiYSgwLCAwLCAwLCAwLjMzKSI6dGhpcy5ib3JkZXJTdHlsZX19LHdhdGNoOnskcm91dGU6e2ltbWVkaWF0ZTohMCxoYW5kbGVyOmZ1bmN0aW9uKCl7dGhpcy52aXNpYmxlTGlzdC5sZW5ndGh8fHRoaXMuX2luaXRWaXNpYmxlTGlzdCgpLHRoaXMuc2V0U2VsZWN0ZWRJbmRleCgpfX0sbGlzdDp7ZGVlcDohMCxoYW5kbGVyOmZ1bmN0aW9uKCl7dGhpcy5faW5pdFZpc2libGVMaXN0KCksdGhpcy5zZXRTZWxlY3RlZEluZGV4KCl9fSxtaWRCdXR0b246ZnVuY3Rpb24odCl7dGhpcy5faW5pdFZpc2libGVMaXN0KCl9fSxjcmVhdGVkOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpczt0aGlzLmxpc3QuZm9yRWFjaCgoZnVuY3Rpb24oZSl7dm9pZCAwPT09ZS52aXNpYmxlJiZ0LiRzZXQoZSwidmlzaWJsZSIsITApfSkpLHRoaXMuaWNvbmZvbnRTcmMmJk9iamVjdChhWyJhIl0pKHtvcHRpb25zOntmYW1pbHk6IlVuaVRhYmJhckljb25Gb250Iixzb3VyY2U6J3VybCgiJy5jb25jYXQodGhpcy5pY29uZm9udFNyYywnIiknKX19KX0sYmVmb3JlQ3JlYXRlOmZ1bmN0aW9uKCl7dGhpcy5fX3BhdGhfXz10aGlzLiRyb3V0ZS5wYXRofSxtZXRob2RzOntnZXRJY29uUGF0aDpmdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLnNlbGVjdGVkSW5kZXg9PT1lJiZ0LnNlbGVjdGVkSWNvblBhdGh8fHQuaWNvblBhdGh8fCIifSxzZXRTZWxlY3RlZEluZGV4OmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcztpZih0aGlzLiRyb3V0ZS5tZXRhLmlzVGFiQmFyKXt0aGlzLl9fcGF0aF9fPXRoaXMuJHJvdXRlLnBhdGg7dmFyIGU9dGhpcy52aXNpYmxlTGlzdC5maW5kSW5kZXgoKGZ1bmN0aW9uKGUpe3JldHVybiB0LiRyb3V0ZS5tZXRhLnBhZ2VQYXRoPT09ZS5wYWdlUGF0aH0pKTt0aGlzLnNlbGVjdGVkSW5kZXg9ZX19LF9pbml0VmlzaWJsZUxpc3Q6ZnVuY3Rpb24oKXt0aGlzLnZpc2libGVMaXN0PXRoaXMuX2luaXRNaWRCdXR0b24odGhpcy5saXN0LmZpbHRlcigoZnVuY3Rpb24odCl7cmV0dXJuITEhPT10LnZpc2libGV9KSkpfSxfZ2V0UmVhbFBhdGg6ZnVuY3Rpb24oKXt2YXIgdD1hcmd1bWVudHMubGVuZ3RoPjAmJnZvaWQgMCE9PWFyZ3VtZW50c1swXT9hcmd1bWVudHNbMF06IiIsZT0vXihbYS16LV0rOik/XC9cLy9pLG49L15kYXRhOi4qLC4qLztyZXR1cm4gZS50ZXN0KHQpfHxuLnRlc3QodCl8fDA9PT10LmluZGV4T2YoIi8iKXx8KHQ9Ii8iK3QpLE9iamVjdChyWyJhIl0pKHQpfSxfc3dpdGNoVGFiOmZ1bmN0aW9uKGUsbil7dmFyIHI9ZS50ZXh0LGk9ZS5wYWdlUGF0aCxhPWUuaXNNaWRCdXR0b24scz12b2lkIDAhPT1hJiZhO2lmKHMpT2JqZWN0KG9bImEiXSkoIm9uVGFiQmFyTWlkQnV0dG9uVGFwIik7ZWxzZXt0aGlzLnNlbGVjdGVkSW5kZXg9bjt2YXIgYz0iLyIraTtjPT09X191bmlSb3V0ZXNbMF0uYWxpYXMmJihjPSIvIik7dmFyIHU9e2luZGV4Om4sdGV4dDpyLHBhZ2VQYXRoOml9O3RoaXMuJHJvdXRlLnBhdGghPT1jPyh0aGlzLl9fcGF0aF9fPXRoaXMuJHJvdXRlLnBhdGgsdW5pLnN3aXRjaFRhYih7ZnJvbToidGFiQmFyIix1cmw6YyxkZXRhaWw6dX0pKTp0LmVtaXQoIm9uVGFiSXRlbVRhcCIsdSl9fSxfaW5pdE1pZEJ1dHRvbjpmdW5jdGlvbih0KXt2YXIgZT10Lmxlbmd0aDtyZXR1cm4gZSUyPT09MCYmT2JqZWN0KGlbImwiXSkodGhpcy5taWRCdXR0b24pJiYodGhpcy5pbnRlcm5hbE1pZEJ1dHRvbj1PYmplY3QuYXNzaWduKHt3aWR0aDoiNTBweCIsaGVpZ2h0OiI1MHB4IixpY29uV2lkdGg6IjI0cHgifSx0aGlzLmludGVybmFsTWlkQnV0dG9uLHRoaXMubWlkQnV0dG9uKSx0LnNwbGljZSh+fihlLzIpLDAsT2JqZWN0LmFzc2lnbih7fSx0aGlzLmludGVybmFsTWlkQnV0dG9uLHtpc01pZEJ1dHRvbjohMH0pKSksdH0sX3VuaVRhYmJhckJkU3R5bGU6ZnVuY3Rpb24odCl7cmV0dXJuIE9iamVjdC5hc3NpZ24oe30se3dpZHRoOnQud2lkdGgsaGVpZ2h0OnQuaGVpZ2h0LGJhY2tncm91bmRJbWFnZTp0LmJhY2tncm91bmRJbWFnZT8idXJsKCciK3RoaXMuX2dldFJlYWxQYXRoKHQuYmFja2dyb3VuZEltYWdlKSsiJykiOiIifSl9fX19KS5jYWxsKHRoaXMsbigiMmM5ZiIpKX0sZWJjNTpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjM2YTYiKSxpPW4ubihyKTtpLmF9LGViZGE6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtuLnIoZSksbi5kKGUsImdldExvY2FsZSIsKGZ1bmN0aW9uKCl7cmV0dXJuIGF9KSksbi5kKGUsInNldExvY2FsZSIsKGZ1bmN0aW9uKCl7cmV0dXJuIHN9KSksbi5kKGUsIm9uTG9jYWxlQ2hhbmdlIiwoZnVuY3Rpb24oKXtyZXR1cm4gdX0pKTt2YXIgcj1uKCI5MTMxIiksaT1uKCIwMzcyIiksbz1uKCJjODBjIik7ZnVuY3Rpb24gYSgpe3ZhciB0PWdldEFwcCh7YWxsb3dEZWZhdWx0OiEwfSk7cmV0dXJuIHQmJnQuJHZtP3QuJHZtLiRsb2NhbGU6aVsiYiJdLmdldExvY2FsZSgpfWZ1bmN0aW9uIHModCl7dmFyIGU9Z2V0QXBwKCkuJHZtLiRsb2NhbGU7cmV0dXJuIGUhPT10JiYoZ2V0QXBwKCkuJHZtLiRsb2NhbGU9dCxuYXZpZ2F0b3IuY29va2llRW5hYmxlZCYmd2luZG93LmxvY2FsU3RvcmFnZSYmKGxvY2FsU3RvcmFnZVtvWyJlIl1dPXQpLGMuZm9yRWFjaCgoZnVuY3Rpb24oZSl7T2JqZWN0KHJbImEiXSkoZSx7bG9jYWxlOnR9KX0pKSwhMCl9dmFyIGM9W107ZnVuY3Rpb24gdSh0KXtjLnB1c2godCl9fSxlYzYwOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5yKGUpLG4uZChlLCJjaG9vc2VMb2NhdGlvbiIsKGZ1bmN0aW9uKCl7cmV0dXJuIHJ9KSk7dmFyIHI9e2tleXdvcmQ6e3R5cGU6U3RyaW5nfX19LGVkMmM6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtuLnIoZSksZnVuY3Rpb24odCl7bi5kKGUsIk1hcENvbnRleHQiLChmdW5jdGlvbigpe3JldHVybiBzfSkpLG4uZChlLCJjcmVhdGVNYXBDb250ZXh0IiwoZnVuY3Rpb24oKXtyZXR1cm4gY30pKTt2YXIgcj1uKCI3NDVhIiksaT1uKCIzNDBkIik7ZnVuY3Rpb24gbyh0LGUpe2Zvcih2YXIgbj0wO248ZS5sZW5ndGg7bisrKXt2YXIgcj1lW25dO3IuZW51bWVyYWJsZT1yLmVudW1lcmFibGV8fCExLHIuY29uZmlndXJhYmxlPSEwLCJ2YWx1ZSJpbiByJiYoci53cml0YWJsZT0hMCksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsci5rZXkscil9fWZ1bmN0aW9uIGEodCxlLG4saSl7T2JqZWN0KHJbImMiXSkoIm9wZXJhdGVNYXBQbGF5ZXIiLHQsZSxuLGkpfXQuc3Vic2NyaWJlKCJvbk1hcE1ldGhvZENhbGxiYWNrIiwoZnVuY3Rpb24odCl7dmFyIGU9dC5jYWxsYmFja0lkLG49dC5kYXRhO2lbImEiXS5pbnZva2UoZSxuKX0pKTt2YXIgcz1mdW5jdGlvbigpe2Z1bmN0aW9uIHQoZSxuKXsoZnVuY3Rpb24odCxlKXtpZighKHQgaW5zdGFuY2VvZiBlKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb24iKX0pKHRoaXMsdCksdGhpcy5pZD1lLHRoaXMucGFnZVZtPW59cmV0dXJuIGZ1bmN0aW9uKHQsZSxuKXtlJiZvKHQucHJvdG90eXBlLGUpLG4mJm8odCxuKX0odCxbe2tleToib24iLHZhbHVlOmZ1bmN0aW9uKHQsZSl7YSh0aGlzLmlkLHRoaXMucGFnZVZtLCJvbiIse25hbWU6dCxjYWxsYmFjazplfSl9fV0pLHR9KCk7ZnVuY3Rpb24gYyh0LGUpe3JldHVybiBuZXcgcyh0LGV8fE9iamVjdChyWyJiIl0pKCJjcmVhdGVNYXBDb250ZXh0IikpfXMucHJvdG90eXBlLiRnZXRBcHBNYXA9ZnVuY3Rpb24oKXt9LFsiZ2V0Q2VudGVyTG9jYXRpb24iLCJtb3ZlVG9Mb2NhdGlvbiIsImdldFNjYWxlIiwiZ2V0UmVnaW9uIiwiaW5jbHVkZVBvaW50cyIsInRyYW5zbGF0ZU1hcmtlciIsImFkZEN1c3RvbUxheWVyIiwicmVtb3ZlQ3VzdG9tTGF5ZXIiLCJhZGRHcm91bmRPdmVybGF5IiwicmVtb3ZlR3JvdW5kT3ZlcmxheSIsInVwZGF0ZUdyb3VuZE92ZXJsYXkiLCJpbml0TWFya2VyQ2x1c3RlciIsImFkZE1hcmtlcnMiLCJyZW1vdmVNYXJrZXJzIiwibW92ZUFsb25nIiwic2V0TG9jTWFya2VySWNvbiIsIm9wZW5NYXBBcHAiXS5mb3JFYWNoKChmdW5jdGlvbih0KXtzLnByb3RvdHlwZVt0XT1pWyJhIl0ud2FycCgoZnVuY3Rpb24oZSxuKXtlLmNhbGxiYWNrSWQ9bixhKHRoaXMuaWQsdGhpcy5wYWdlVm0sdCxlKX0pKX0pKX0uY2FsbCh0aGlzLG4oIjJjOWYiKSl9LGVlZmY6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjsoZnVuY3Rpb24odCl7bi5kKGUsImEiLChmdW5jdGlvbigpe3JldHVybiBzfSkpO3ZhciByPW4oImEwMDQiKSxpPW4ubihyKSxvPW4oIjM4Y2UiKSxhPW4oIjM0MGQiKTtmdW5jdGlvbiBzKGUpe2UuY29uZmlnLmVycm9ySGFuZGxlcj1mdW5jdGlvbihuLHIsaSl7dmFyIHM9T2JqZWN0KGFbInYiXSkobik7ZS51dGlsLndhcm4oIkVycm9yIGluICIuY29uY2F0KGksJzogIicpLmNvbmNhdCgiRXJyb3IiPT09cz9uLnRvU3RyaW5nKCk6biwnIicpLHIpO3ZhciBjPSJmdW5jdGlvbiI9PT10eXBlb2YgZ2V0QXBwJiZnZXRBcHAoKTtjJiZPYmplY3Qob1siYyJdKShjLiRvcHRpb25zLCJvbkVycm9yIik/Yy5fX2NhbGxfaG9vaygib25FcnJvciIsbik6dC5lcnJvcihuKX07dmFyIG49ZS5jb25maWcuaXNSZXNlcnZlZFRhZztlLmNvbmZpZy5pc1Jlc2VydmVkVGFnPWZ1bmN0aW9uKHQpe3JldHVybi0xIT09aS5hLmluZGV4T2YodCl8fG4odCl9LGUuY29uZmlnLmlnbm9yZWRFbGVtZW50cz1pLmE7dmFyIHI9ZS5jb25maWcuZ2V0VGFnTmFtZXNwYWNlLHM9WyJzd2l0Y2giLCJpbWFnZSIsInRleHQiLCJ2aWV3Il07ZS5jb25maWcuZ2V0VGFnTmFtZXNwYWNlPWZ1bmN0aW9uKHQpe3JldHVybiF+cy5pbmRleE9mKHQpJiZyKHQpfX19KS5jYWxsKHRoaXMsbigiNDE4YiIpWyJkZWZhdWx0Il0pfSxlZjRlOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5yKGUpLG4uZChlLCJnZXREZXZpY2VJbmZvIiwoZnVuY3Rpb24oKXtyZXR1cm4gaH0pKSxuLmQoZSwiZ2V0QXBwQmFzZUluZm8iLChmdW5jdGlvbigpe3JldHVybiBwfSkpLG4uZChlLCJnZXRTeXN0ZW1JbmZvU3luYyIsKGZ1bmN0aW9uKCl7cmV0dXJuIHZ9KSksbi5kKGUsImdldFN5c3RlbUluZm8iLChmdW5jdGlvbigpe3JldHVybiBnfSkpO3ZhciByLGk9bigiMWVmZCIpLG89Il9fRENfU1RBVF9VVUlEIixhPW5hdmlnYXRvci5jb29raWVFbmFibGVkJiYod2luZG93LmxvY2FsU3RvcmFnZXx8d2luZG93LnNlc3Npb25TdG9yYWdlKXx8e30scz1mdW5jdGlvbigpe2lmKHI9cnx8YVtvXSwhcil7cj1EYXRlLm5vdygpKyIiK01hdGguZmxvb3IoMWU3Kk1hdGgucmFuZG9tKCkpO3RyeXthW29dPXJ9Y2F0Y2godCl7fX1yZXR1cm4gcn0sYz1uKCIwMWZkIiksdT1uKCIzNDBkIiksbD17fSxmPSEwO2Z1bmN0aW9uIGQoKXtmJiYobD1PYmplY3QoY1siZ2V0QnJvd3NlckluZm8iXSkoKSl9ZnVuY3Rpb24gaCgpe2QoKTt2YXIgdD1sLGU9dC5kZXZpY2VCcmFuZCxuPXQuZGV2aWNlTW9kZWwscj10LmJyYW5kLGk9dC5tb2RlbCxvPXQucGxhdGZvcm0sYT10LnN5c3RlbSxjPXQuZGV2aWNlT3JpZW50YXRpb24sdT10LmRldmljZVR5cGUsZj10Lm9zbmFtZSxoPXQub3N2ZXJzaW9uO3JldHVybnticmFuZDpyLGRldmljZUJyYW5kOmUsZGV2aWNlTW9kZWw6bixkZXZpY2VQaXhlbFJhdGlvOndpbmRvdy5kZXZpY2VQaXhlbFJhdGlvLGRldmljZUlkOnMoKSxkZXZpY2VPcmllbnRhdGlvbjpjLGRldmljZVR5cGU6dSxtb2RlbDppLHBsYXRmb3JtOm8sc3lzdGVtOmEsb3NOYW1lOmY/Zi50b0xvY2FsZUxvd2VyQ2FzZSgpOnZvaWQgMCxvc1ZlcnNpb246aH19ZnVuY3Rpb24gcCgpe2QoKTt2YXIgdD1sLGU9dC50aGVtZSxuPXQubGFuZ3VhZ2Uscj10LmJyb3dzZXJOYW1lLGk9dC5icm93c2VyVmVyc2lvbixvPXVuaSYmdW5pLmdldExvY2FsZT91bmkuZ2V0TG9jYWxlKCk6bjtyZXR1cm57YXBwSWQ6X191bmlDb25maWcuYXBwSWQsYXBwTmFtZTpfX3VuaUNvbmZpZy5hcHBOYW1lLGFwcFZlcnNpb246X191bmlDb25maWcuYXBwVmVyc2lvbixhcHBWZXJzaW9uQ29kZTpfX3VuaUNvbmZpZy5hcHBWZXJzaW9uQ29kZSxhcHBMYW5ndWFnZTpvLGVuYWJsZURlYnVnOiExLGhvc3RTREtWZXJzaW9uOnZvaWQgMCxob3N0UGFja2FnZU5hbWU6dm9pZCAwLGhvc3RGb250U2l6ZVNldHRpbmc6dm9pZCAwLGhvc3ROYW1lOnIsaG9zdFZlcnNpb246aSxob3N0VGhlbWU6ZSxob3N0TGFuZ3VhZ2U6bixsYW5ndWFnZTpuLFNES1ZlcnNpb246IiIsdGhlbWU6ZSx2ZXJzaW9uOiIiLHVuaVBsYXRmb3JtOiJ3ZWIiLGlzVW5pQXBwWDohMSx1bmlDb21waWxlVmVyc2lvbjpfX3VuaUNvbmZpZy5jb21waWxlclZlcnNpb24sdW5pQ29tcGlsZXJWZXJzaW9uOl9fdW5pQ29uZmlnLmNvbXBpbGVyVmVyc2lvbix1bmlSdW50aW1lVmVyc2lvbjpfX3VuaUNvbmZpZy5jb21waWxlclZlcnNpb259fWZ1bmN0aW9uIHYoKXtmPSEwLGQoKSxmPSExO3ZhciB0PU9iamVjdChpWyJnZXRXaW5kb3dJbmZvIl0pKCksZT1oKCksbj1wKCk7Zj0hMDt2YXIgcj1sLG89ci51YSxhPXIuYnJvd3Nlck5hbWUscz1yLmJyb3dzZXJWZXJzaW9uLGM9ci5vc25hbWUsdj1yLm9zdmVyc2lvbixnPU9iamVjdC5hc3NpZ24oe30sdCxlLG4se2Jyb3dzZXJOYW1lOmEsYnJvd3NlclZlcnNpb246cyxmb250U2l6ZVNldHRpbmc6bi5ob3N0Rm9udFNpemVTZXR0aW5nLG9zTmFtZTpjLnRvTG9jYWxlTG93ZXJDYXNlKCksb3NWZXJzaW9uOnYsb3NMYW5ndWFnZTp2b2lkIDAsb3NUaGVtZTp2b2lkIDAsdW5pUGxhdGZvcm06IndlYiIsdW5pQ29tcGlsZVZlcnNpb246X191bmlDb25maWcuY29tcGlsZXJWZXJzaW9uLHVuaVJ1bnRpbWVWZXJzaW9uOl9fdW5pQ29uZmlnLmNvbXBpbGVyVmVyc2lvbix1YTpvfSk7cmV0dXJuIGRlbGV0ZSBnLnNjcmVlblRvcCxkZWxldGUgZy5lbmFibGVEZWJ1ZyxfX3VuaUNvbmZpZy5kYXJrbW9kZXx8ZGVsZXRlIGcudGhlbWUsT2JqZWN0KHVbInMiXSkoZyl9ZnVuY3Rpb24gZygpe3JldHVybiB2KCl9fSxlZmRkOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5yKGUpO3ZhciByPW4oIjQzMzUiKSxpPXtuYW1lOiJWaWV3IixtaXhpbnM6W3JbImEiXV0sbGlzdGVuZXJzOnsibGFiZWwtY2xpY2siOiJjbGlja0hhbmRsZXIifX0sbz1pLGE9KG4oIjhkZWYiKSxuKCI4ODQ0IikpLHM9T2JqZWN0KGFbImEiXSkobywoZnVuY3Rpb24oKXt2YXIgdD10aGlzLGU9dC4kY3JlYXRlRWxlbWVudCxuPXQuX3NlbGYuX2N8fGU7cmV0dXJuIHQuaG92ZXJDbGFzcyYmIm5vbmUiIT09dC5ob3ZlckNsYXNzP24oInVuaS12aWV3Iix0Ll9nKHtjbGFzczpbdC5ob3ZlcmluZz90LmhvdmVyQ2xhc3M6IiJdLG9uOnt0b3VjaHN0YXJ0OnQuX2hvdmVyVG91Y2hTdGFydCx0b3VjaGVuZDp0Ll9ob3ZlclRvdWNoRW5kLHRvdWNoY2FuY2VsOnQuX2hvdmVyVG91Y2hDYW5jZWwsbW91c2Vkb3duOnQuX2hvdmVyTW91c2Vkb3duLG1vdXNldXA6dC5faG92ZXJNb3VzZXVwfX0sdC4kbGlzdGVuZXJzKSxbdC5fdCgiZGVmYXVsdCIpXSwyKTpuKCJ1bmktdmlldyIsdC5fZyh7fSx0LiRsaXN0ZW5lcnMpLFt0Ll90KCJkZWZhdWx0IildLDIpfSksW10sITEsbnVsbCxudWxsLG51bGwpO2VbImRlZmF1bHQiXT1zLmV4cG9ydHN9LGYwOGU6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCI2MmNiIiksaT1uLm4ocik7aS5hfSxmMTkyOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7bi5yKGUpLG4uZChlLCJzaG93VG9wV2luZG93IiwoZnVuY3Rpb24oKXtyZXR1cm4gb30pKSxuLmQoZSwiaGlkZVRvcFdpbmRvdyIsKGZ1bmN0aW9uKCl7cmV0dXJuIGF9KSksbi5kKGUsInNob3dMZWZ0V2luZG93IiwoZnVuY3Rpb24oKXtyZXR1cm4gc30pKSxuLmQoZSwiaGlkZUxlZnRXaW5kb3ciLChmdW5jdGlvbigpe3JldHVybiBjfSkpLG4uZChlLCJzaG93UmlnaHRXaW5kb3ciLChmdW5jdGlvbigpe3JldHVybiB1fSkpLG4uZChlLCJoaWRlUmlnaHRXaW5kb3ciLChmdW5jdGlvbigpe3JldHVybiBsfSkpLG4uZChlLCJnZXRUb3BXaW5kb3dTdHlsZSIsKGZ1bmN0aW9uKCl7cmV0dXJuIGR9KSksbi5kKGUsImdldExlZnRXaW5kb3dTdHlsZSIsKGZ1bmN0aW9uKCl7cmV0dXJuIGh9KSksbi5kKGUsImdldFJpZ2h0V2luZG93U3R5bGUiLChmdW5jdGlvbigpe3JldHVybiBwfSkpLG4uZChlLCJzZXRUb3BXaW5kb3dTdHlsZSIsKGZ1bmN0aW9uKCl7cmV0dXJuIGd9KSksbi5kKGUsInNldExlZnRXaW5kb3dTdHlsZSIsKGZ1bmN0aW9uKCl7cmV0dXJuIG19KSksbi5kKGUsInNldFJpZ2h0V2luZG93U3R5bGUiLChmdW5jdGlvbigpe3JldHVybiBifSkpO3ZhciByPW4oIjM0MGQiKTtmdW5jdGlvbiBpKHQsZSl7dmFyIG49ZT8ic2hvdyI6ImhpZGUiK09iamVjdChyWyJjIl0pKHQpKyJXaW5kb3ciLGk9Z2V0QXBwKCk7aWYoaSl7dmFyIG89aS4kY2hpbGRyZW5bMF0uJHJlZnMubGF5b3V0LnNob3dXaW5kb3codCxlKTtyZXR1cm4gbz97ZXJyTXNnOiIiLmNvbmNhdChuLCI6ZmFpbCAiKS5jb25jYXQobyl9Ont9fXJldHVybntlcnJNc2c6IiIuY29uY2F0KG4sIjpmYWlsIGFwcCBub3QgcmVhZHkiKX19ZnVuY3Rpb24gbygpe3JldHVybiBpKCJ0b3AiLCEwKX1mdW5jdGlvbiBhKCl7cmV0dXJuIGkoInRvcCIsITEpfWZ1bmN0aW9uIHMoKXtyZXR1cm4gaSgibGVmdCIsITApfWZ1bmN0aW9uIGMoKXtyZXR1cm4gaSgibGVmdCIsITEpfWZ1bmN0aW9uIHUoKXtyZXR1cm4gaSgicmlnaHQiLCEwKX1mdW5jdGlvbiBsKCl7cmV0dXJuIGkoInJpZ2h0IiwhMSl9ZnVuY3Rpb24gZih0KXt2YXIgZT0iZ2V0IitPYmplY3QoclsiYyJdKSh0KSsiV2luZG93U3R5bGUiLG49Z2V0QXBwKCk7aWYoIW4pcmV0dXJue2Vyck1zZzoiIi5jb25jYXQoZSwiOmZhaWwgYXBwIG5vdCByZWFkeSIpfTt2YXIgaT1uLiRjaGlsZHJlblswXS4kcmVmcy5sYXlvdXQuZ2V0V2luZG93U3R5bGUodCk7cmV0dXJuInN0cmluZyI9PT10eXBlb2YgaSYmLTEhPT1pLmluZGV4T2YoIldpbmRvdyBub3QgZm91bmQiKT97ZXJyTXNnOiIiLmNvbmNhdChlLCI6ZmFpbCAiKS5jb25jYXQoaSl9Oml9ZnVuY3Rpb24gZCh0KXtyZXR1cm4gZigidG9wIil9ZnVuY3Rpb24gaCh0KXtyZXR1cm4gZigibGVmdCIpfWZ1bmN0aW9uIHAodCl7cmV0dXJuIGYoInJpZ2h0Iil9ZnVuY3Rpb24gdih0LGUpe3ZhciBuPSJzZXQiK09iamVjdChyWyJjIl0pKHQpKyJXaW5kb3dTdHlsZSIsaT1nZXRBcHAoKTtpZighaSlyZXR1cm57ZXJyTXNnOiIiLmNvbmNhdChuLCI6ZmFpbCBhcHAgbm90IHJlYWR5Iil9O3ZhciBvPWkuJGNoaWxkcmVuWzBdLiRyZWZzLmxheW91dC5zZXRXaW5kb3dTdHlsZSh0LGUpO3JldHVybiBvP3tlcnJNc2c6IiIuY29uY2F0KG4sIjpmYWlsICIpLmNvbmNhdChvKX06e319ZnVuY3Rpb24gZyh0KXtyZXR1cm4gdigidG9wIix0KX1mdW5jdGlvbiBtKHQpe3JldHVybiB2KCJsZWZ0Iix0KX1mdW5jdGlvbiBiKHQpe3JldHVybiB2KCJyaWdodCIsdCl9fSxmMWRiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiZTA3OSIpLGk9bi5uKHIpO2kuYX0sZjJhOTpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjQ4ZmUiKSxpPW4ubihyKTtpLmF9LGYzNzA6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjsoZnVuY3Rpb24odCl7dmFyIG49e2Vuc3A6IuKAgiIsZW1zcDoi4oCDIixuYnNwOiLCoCJ9O2VbImEiXT17bmFtZToiVGV4dCIscHJvcHM6e3NlbGVjdGFibGU6e3R5cGU6W0Jvb2xlYW4sU3RyaW5nXSxkZWZhdWx0OiExfSxzcGFjZTp7dHlwZTpTdHJpbmcsZGVmYXVsdDoiIn0sZGVjb2RlOnt0eXBlOltCb29sZWFuLFN0cmluZ10sZGVmYXVsdDohMX19LG1ldGhvZHM6e19kZWNvZGVIdG1sOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnNwYWNlJiZuW3RoaXMuc3BhY2VdJiYodD10LnJlcGxhY2UoLyAvZyxuW3RoaXMuc3BhY2VdKSksdGhpcy5kZWNvZGUmJih0PXQucmVwbGFjZSgvJm5ic3A7L2csbi5uYnNwKS5yZXBsYWNlKC8mZW5zcDsvZyxuLmVuc3ApLnJlcGxhY2UoLyZlbXNwOy9nLG4uZW1zcCkucmVwbGFjZSgvJmx0Oy9nLCI8IikucmVwbGFjZSgvJmd0Oy9nLCI+IikucmVwbGFjZSgvJmFtcDsvZywiJiIpLnJlcGxhY2UoLyZxdW90Oy9nLCciJykucmVwbGFjZSgvJmFwb3M7L2csIiciKSksdH19LHJlbmRlcjpmdW5jdGlvbihlKXt2YXIgbj10aGlzLHI9W107cmV0dXJuIHRoaXMuJHNsb3RzLmRlZmF1bHQmJnRoaXMuJHNsb3RzLmRlZmF1bHQuZm9yRWFjaCgoZnVuY3Rpb24oaSl7aWYoaS50ZXh0KXt2YXIgbz1pLnRleHQucmVwbGFjZSgvXFxuL2csIlxuIiksYT1vLnNwbGl0KCJcbiIpO2EuZm9yRWFjaCgoZnVuY3Rpb24odCxpKXtyLnB1c2gobi5fZGVjb2RlSHRtbCh0KSksaSE9PWEubGVuZ3RoLTEmJnIucHVzaChlKCJiciIpKX0pKX1lbHNlIGkuY29tcG9uZW50T3B0aW9ucyYmInYtdW5pLXRleHQiIT09aS5jb21wb25lbnRPcHRpb25zLnRhZyYmdC53YXJuKCJEbyBub3QgbmVzdCBvdGhlciBjb21wb25lbnRzIGluIHRoZSB0ZXh0IGNvbXBvbmVudCwgYXMgdGhlcmUgbWF5IGJlIGRpc3BsYXkgZGlmZmVyZW5jZXMgb24gZGlmZmVyZW50IHBsYXRmb3Jtcy4iKSxyLnB1c2goaSl9KSksZSgidW5pLXRleHQiLHtvbjp0aGlzLiRsaXN0ZW5lcnMsYXR0cnM6e3NlbGVjdGFibGU6ISF0aGlzLnNlbGVjdGFibGV9fSxbZSgic3BhbiIse30scildKX19fSkuY2FsbCh0aGlzLG4oIjQxOGIiKVsiZGVmYXVsdCJdKX0sZjQ0YzpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO24uZChlLCJhIiwoZnVuY3Rpb24oKXtyZXR1cm4gaH0pKSxuLmQoZSwiZCIsKGZ1bmN0aW9uKCl7cmV0dXJuIHB9KSksbi5kKGUsImUiLChmdW5jdGlvbigpe3JldHVybiB5fSkpLG4uZChlLCJiIiwoZnVuY3Rpb24oKXtyZXR1cm4gd30pKSxuLmQoZSwiYyIsKGZ1bmN0aW9uKCl7cmV0dXJuIHh9KSk7dmFyIGk9bigiMzQwZCIpO2Z1bmN0aW9uIG8odCl7cmV0dXJuIGZ1bmN0aW9uKHQpe2lmKEFycmF5LmlzQXJyYXkodCkpcmV0dXJuIGEodCl9KHQpfHxmdW5jdGlvbih0KXtpZigidW5kZWZpbmVkIiE9PXR5cGVvZiBTeW1ib2wmJlN5bWJvbC5pdGVyYXRvciBpbiBPYmplY3QodCkpcmV0dXJuIEFycmF5LmZyb20odCl9KHQpfHxmdW5jdGlvbih0LGUpe2lmKHQpe2lmKCJzdHJpbmciPT09dHlwZW9mIHQpcmV0dXJuIGEodCxlKTt2YXIgbj1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodCkuc2xpY2UoOCwtMSk7cmV0dXJuIk9iamVjdCI9PT1uJiZ0LmNvbnN0cnVjdG9yJiYobj10LmNvbnN0cnVjdG9yLm5hbWUpLCJNYXAiPT09bnx8IlNldCI9PT1uP0FycmF5LmZyb20obik6IkFyZ3VtZW50cyI9PT1ufHwvXig/OlVpfEkpbnQoPzo4fDE2fDMyKSg/OkNsYW1wZWQpP0FycmF5JC8udGVzdChuKT9hKHQsZSk6dm9pZCAwfX0odCl8fGZ1bmN0aW9uKCl7dGhyb3cgbmV3IFR5cGVFcnJvcigiSW52YWxpZCBhdHRlbXB0IHRvIHNwcmVhZCBub24taXRlcmFibGUgaW5zdGFuY2UuXG5JbiBvcmRlciB0byBiZSBpdGVyYWJsZSwgbm9uLWFycmF5IG9iamVjdHMgbXVzdCBoYXZlIGEgW1N5bWJvbC5pdGVyYXRvcl0oKSBtZXRob2QuIil9KCl9ZnVuY3Rpb24gYSh0LGUpeyhudWxsPT1lfHxlPnQubGVuZ3RoKSYmKGU9dC5sZW5ndGgpO2Zvcih2YXIgbj0wLHI9bmV3IEFycmF5KGUpO248ZTtuKyspcltuXT10W25dO3JldHVybiByfWZ1bmN0aW9uIHModCl7cmV0dXJuIHM9ImZ1bmN0aW9uIj09PXR5cGVvZiBTeW1ib2wmJiJzeW1ib2wiPT09cihTeW1ib2wuaXRlcmF0b3IpP2Z1bmN0aW9uKHQpe3JldHVybiByKHQpfTpmdW5jdGlvbih0KXtyZXR1cm4gdCYmImZ1bmN0aW9uIj09PXR5cGVvZiBTeW1ib2wmJnQuY29uc3RydWN0b3I9PT1TeW1ib2wmJnQhPT1TeW1ib2wucHJvdG90eXBlPyJzeW1ib2wiOnIodCl9LHModCl9dmFyIGM9WyJpbnZva2UiLCJzdWNjZXNzIiwiZmFpbCIsImNvbXBsZXRlIiwicmV0dXJuVmFsdWUiXSx1PXt9LGw9e307ZnVuY3Rpb24gZih0LGUpe09iamVjdC5rZXlzKGUpLmZvckVhY2goKGZ1bmN0aW9uKG4pey0xIT09Yy5pbmRleE9mKG4pJiZPYmplY3QoaVsiayJdKShlW25dKSYmKHRbbl09ZnVuY3Rpb24odCxlKXt2YXIgbj1lP3Q/dC5jb25jYXQoZSk6QXJyYXkuaXNBcnJheShlKT9lOltlXTp0O3JldHVybiBuP2Z1bmN0aW9uKHQpe2Zvcih2YXIgZT1bXSxuPTA7bjx0Lmxlbmd0aDtuKyspLTE9PT1lLmluZGV4T2YodFtuXSkmJmUucHVzaCh0W25dKTtyZXR1cm4gZX0obik6bn0odFtuXSxlW25dKSl9KSl9ZnVuY3Rpb24gZCh0LGUpe3QmJmUmJk9iamVjdC5rZXlzKGUpLmZvckVhY2goKGZ1bmN0aW9uKG4pey0xIT09Yy5pbmRleE9mKG4pJiZPYmplY3QoaVsiayJdKShlW25dKSYmZnVuY3Rpb24odCxlKXt2YXIgbj10LmluZGV4T2YoZSk7LTEhPT1uJiZ0LnNwbGljZShuLDEpfSh0W25dLGVbbl0pfSkpfWZ1bmN0aW9uIGgodCxlKXsic3RyaW5nIj09PXR5cGVvZiB0JiZPYmplY3QoaVsibCJdKShlKT9mKGxbdF18fChsW3RdPXt9KSxlKTpPYmplY3QoaVsibCJdKSh0KSYmZih1LHQpfWZ1bmN0aW9uIHAodCxlKXsic3RyaW5nIj09PXR5cGVvZiB0P09iamVjdChpWyJsIl0pKGUpP2QobFt0XSxlKTpkZWxldGUgbFt0XTpPYmplY3QoaVsibCJdKSh0KSYmZCh1LHQpfWZ1bmN0aW9uIHYodCxlKXtyZXR1cm4gZnVuY3Rpb24obil7cmV0dXJuIHQobixlKXx8bn19ZnVuY3Rpb24gZyh0KXtyZXR1cm4hIXQmJigib2JqZWN0Ij09PXModCl8fCJmdW5jdGlvbiI9PT10eXBlb2YgdCkmJiJmdW5jdGlvbiI9PT10eXBlb2YgdC50aGVufWZ1bmN0aW9uIG0odCxlLG4pe2Zvcih2YXIgcj0hMSxpPTA7aTx0Lmxlbmd0aDtpKyspe3ZhciBvPXRbaV07aWYocilyPVByb21pc2UucmVzb2x2ZSh2KG8sbikpO2Vsc2V7dmFyIGE9byhlLG4pO2lmKGcoYSkmJihyPVByb21pc2UucmVzb2x2ZShhKSksITE9PT1hKXJldHVybnt0aGVuOmZ1bmN0aW9uKCl7fX19fXJldHVybiByfHx7dGhlbjpmdW5jdGlvbih0KXtyZXR1cm4gdChlKX19fWZ1bmN0aW9uIGIodCl7dmFyIGU9YXJndW1lbnRzLmxlbmd0aD4xJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0/YXJndW1lbnRzWzFdOnt9O3JldHVyblsic3VjY2VzcyIsImZhaWwiLCJjb21wbGV0ZSJdLmZvckVhY2goKGZ1bmN0aW9uKG4pe2lmKEFycmF5LmlzQXJyYXkodFtuXSkpe3ZhciByPWVbbl07ZVtuXT1mdW5jdGlvbihvKXttKHRbbl0sbyxlKS50aGVuKChmdW5jdGlvbih0KXtyZXR1cm4gT2JqZWN0KGlbImsiXSkocikmJnIodCl8fHR9KSl9fX0pKSxlfWZ1bmN0aW9uIHkodCxlKXt2YXIgbj1bXTtBcnJheS5pc0FycmF5KHUucmV0dXJuVmFsdWUpJiZuLnB1c2guYXBwbHkobixvKHUucmV0dXJuVmFsdWUpKTt2YXIgcj1sW3RdO3JldHVybiByJiZBcnJheS5pc0FycmF5KHIucmV0dXJuVmFsdWUpJiZuLnB1c2guYXBwbHkobixvKHIucmV0dXJuVmFsdWUpKSxuLmZvckVhY2goKGZ1bmN0aW9uKHQpe2U9dChlKXx8ZX0pKSxlfWZ1bmN0aW9uIF8odCl7dmFyIGU9T2JqZWN0LmNyZWF0ZShudWxsKTtPYmplY3Qua2V5cyh1KS5mb3JFYWNoKChmdW5jdGlvbih0KXsicmV0dXJuVmFsdWUiIT09dCYmKGVbdF09dVt0XS5zbGljZSgpKX0pKTt2YXIgbj1sW3RdO3JldHVybiBuJiZPYmplY3Qua2V5cyhuKS5mb3JFYWNoKChmdW5jdGlvbih0KXsicmV0dXJuVmFsdWUiIT09dCYmKGVbdF09KGVbdF18fFtdKS5jb25jYXQoblt0XSkpfSkpLGV9ZnVuY3Rpb24gdyh0LGUsbil7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGgsaT1uZXcgQXJyYXkocj4zP3ItMzowKSxvPTM7bzxyO28rKylpW28tM109YXJndW1lbnRzW29dO3ZhciBhPV8odCk7aWYoYSYmT2JqZWN0LmtleXMoYSkubGVuZ3RoKXtpZihBcnJheS5pc0FycmF5KGEuaW52b2tlKSl7dmFyIHM9bShhLmludm9rZSxuKTtyZXR1cm4gcy50aGVuKChmdW5jdGlvbihuKXtyZXR1cm4gZS5hcHBseSh2b2lkIDAsW2IoXyh0KSxuKV0uY29uY2F0KGkpKX0pKX1yZXR1cm4gZS5hcHBseSh2b2lkIDAsW2IoYSxuKV0uY29uY2F0KGkpKX1yZXR1cm4gZS5hcHBseSh2b2lkIDAsW25dLmNvbmNhdChpKSl9dmFyIHg9e3JldHVyblZhbHVlOmZ1bmN0aW9uKHQpe3JldHVybiBnKHQpP25ldyBQcm9taXNlKChmdW5jdGlvbihlLG4pe3QudGhlbigoZnVuY3Rpb24odCl7dD90WzBdP24odFswXSk6ZSh0WzFdKTplKHQpfSkpfSkpOnR9fX0sZjRhYzpmdW5jdGlvbih0LGUsbil7fSxmNWU3OmZ1bmN0aW9uKHQsZSxuKXt9LGY2MGI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtuLnIoZSksbi5kKGUsInNob3dNb2RhbCIsKGZ1bmN0aW9uKCl7cmV0dXJuIG99KSksbi5kKGUsInNob3dUb2FzdCIsKGZ1bmN0aW9uKCl7cmV0dXJuIGF9KSksbi5kKGUsInNob3dMb2FkaW5nIiwoZnVuY3Rpb24oKXtyZXR1cm4gc30pKSxuLmQoZSwic2hvd0FjdGlvblNoZWV0IiwoZnVuY3Rpb24oKXtyZXR1cm4gY30pKTt2YXIgcj1uKCIwMzcyIiksaT1uKCI0NzM4Iiksbz17dGl0bGU6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6IiJ9LGNvbnRlbnQ6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6IiJ9LHNob3dDYW5jZWw6e3R5cGU6Qm9vbGVhbixkZWZhdWx0OiEwfSxjYW5jZWxUZXh0Ont0eXBlOlN0cmluZyxkZWZhdWx0OmZ1bmN0aW9uKCl7cmV0dXJuIE9iamVjdChyWyJnIl0pKCJ1bmkuc2hvd01vZGFsLmNhbmNlbCIpfX0sY2FuY2VsQ29sb3I6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6IiMwMDAifSxjb25maXJtVGV4dDp7dHlwZTpTdHJpbmcsZGVmYXVsdDpmdW5jdGlvbigpe3JldHVybiBPYmplY3QoclsiZyJdKSgidW5pLnNob3dNb2RhbC5jb25maXJtIil9fSxjb25maXJtQ29sb3I6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6IiMwMDdhZmYifSx2aXNpYmxlOnt0eXBlOkJvb2xlYW4sZGVmYXVsdDohMH19LGE9e3RpdGxlOnt0eXBlOlN0cmluZyxkZWZhdWx0OiIifSxpY29uOntkZWZhdWx0OiJzdWNjZXNzIix2YWxpZGF0b3I6ZnVuY3Rpb24odCxlKXstMT09PVsic3VjY2VzcyIsImxvYWRpbmciLCJlcnJvciIsIm5vbmUiXS5pbmRleE9mKHQpJiYoZS5pY29uPSJzdWNjZXNzIil9fSxpbWFnZTp7dHlwZTpTdHJpbmcsZGVmYXVsdDoiIix2YWxpZGF0b3I6ZnVuY3Rpb24odCxlKXt0JiYoZS5pbWFnZT1PYmplY3QoaVsiYSJdKSh0KSl9fSxkdXJhdGlvbjp7dHlwZTpOdW1iZXIsZGVmYXVsdDoxNTAwfSxtYXNrOnt0eXBlOkJvb2xlYW4sZGVmYXVsdDohMX0sdmlzaWJsZTp7dHlwZTpCb29sZWFuLGRlZmF1bHQ6ITB9fSxzPXt0aXRsZTp7dHlwZTpTdHJpbmcsZGVmYXVsdDoiIn0saWNvbjp7dHlwZTpTdHJpbmcsZGVmYXVsdDoibG9hZGluZyJ9LGR1cmF0aW9uOnt0eXBlOk51bWJlcixkZWZhdWx0OjFlOH0sbWFzazp7dHlwZTpCb29sZWFuLGRlZmF1bHQ6ITF9LHZpc2libGU6e3R5cGU6Qm9vbGVhbixkZWZhdWx0OiEwfX0sYz17aXRlbUxpc3Q6e3R5cGU6QXJyYXkscmVxdWlyZWQ6ITAsdmFsaWRhdG9yOmZ1bmN0aW9uKHQsZSl7aWYoIXQubGVuZ3RoKXJldHVybiJwYXJhbWV0ZXIuaXRlbUxpc3Qgc2hvdWxkIGhhdmUgYXQgbGVhc3QgMSBpdGVtIn19LGl0ZW1Db2xvcjp7dHlwZTpTdHJpbmcsZGVmYXVsdDoiIzAwMCJ9LHZpc2libGU6e3R5cGU6Qm9vbGVhbixkZWZhdWx0OiEwfSxwb3BvdmVyOnt0eXBlOk9iamVjdH19fSxmNjIxOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHIsaSxvPVsidG9wIiwibGVmdCIsInJpZ2h0IiwiYm90dG9tIl0sYT17fTtmdW5jdGlvbiBzKCl7cmV0dXJuIGk9IkNTUyJpbiB3aW5kb3cmJiJmdW5jdGlvbiI9PXR5cGVvZiBDU1Muc3VwcG9ydHM/Q1NTLnN1cHBvcnRzKCJ0b3A6IGVudihzYWZlLWFyZWEtaW5zZXQtdG9wKSIpPyJlbnYiOkNTUy5zdXBwb3J0cygidG9wOiBjb25zdGFudChzYWZlLWFyZWEtaW5zZXQtdG9wKSIpPyJjb25zdGFudCI6IiI6IiIsaX1mdW5jdGlvbiBjKCl7aWYoaT0ic3RyaW5nIj09PXR5cGVvZiBpP2k6cygpLGkpe3ZhciB0PVtdLGU9ITE7dHJ5e3ZhciBuPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7fSwicGFzc2l2ZSIse2dldDpmdW5jdGlvbigpe2U9e3Bhc3NpdmU6ITB9fX0pO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJ0ZXN0IixudWxsLG4pfWNhdGNoKGQpe312YXIgYz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTt1KGMse3Bvc2l0aW9uOiJhYnNvbHV0ZSIsbGVmdDoiMCIsdG9wOiIwIix3aWR0aDoiMCIsaGVpZ2h0OiIwIix6SW5kZXg6Ii0xIixvdmVyZmxvdzoiaGlkZGVuIix2aXNpYmlsaXR5OiJoaWRkZW4ifSksby5mb3JFYWNoKChmdW5jdGlvbih0KXsoZnVuY3Rpb24odCxuKXt2YXIgcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSxvPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksYz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSxkPXtwb3NpdGlvbjoiYWJzb2x1dGUiLHdpZHRoOiIxMDBweCIsaGVpZ2h0OiIyMDBweCIsYm94U2l6aW5nOiJib3JkZXItYm94IixvdmVyZmxvdzoiaGlkZGVuIixwYWRkaW5nQm90dG9tOmkrIihzYWZlLWFyZWEtaW5zZXQtIituKyIpIn07dShyLGQpLHUobyxkKSx1KHMse3RyYW5zaXRpb246IjBzIixhbmltYXRpb246Im5vbmUiLHdpZHRoOiI0MDBweCIsaGVpZ2h0OiI0MDBweCJ9KSx1KGMse3RyYW5zaXRpb246IjBzIixhbmltYXRpb246Im5vbmUiLHdpZHRoOiIyNTAlIixoZWlnaHQ6IjI1MCUifSksci5hcHBlbmRDaGlsZChzKSxvLmFwcGVuZENoaWxkKGMpLHQuYXBwZW5kQ2hpbGQociksdC5hcHBlbmRDaGlsZChvKSxsKChmdW5jdGlvbigpe3Iuc2Nyb2xsVG9wPW8uc2Nyb2xsVG9wPTFlNDt2YXIgdD1yLnNjcm9sbFRvcCxpPW8uc2Nyb2xsVG9wO2Z1bmN0aW9uIGEoKXt0aGlzLnNjcm9sbFRvcCE9PSh0aGlzPT09cj90OmkpJiYoci5zY3JvbGxUb3A9by5zY3JvbGxUb3A9MWU0LHQ9ci5zY3JvbGxUb3AsaT1vLnNjcm9sbFRvcCxmKG4pKX1yLmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsYSxlKSxvLmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsYSxlKX0pKTt2YXIgaD1nZXRDb21wdXRlZFN0eWxlKHIpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShhLG4se2NvbmZpZ3VyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gcGFyc2VGbG9hdChoLnBhZGRpbmdCb3R0b20pfX0pfSkoYyx0KX0pKSxkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGMpLGwoKSxyPSEwfWVsc2Ugby5mb3JFYWNoKChmdW5jdGlvbih0KXthW3RdPTB9KSk7ZnVuY3Rpb24gdSh0LGUpe3ZhciBuPXQuc3R5bGU7T2JqZWN0LmtleXMoZSkuZm9yRWFjaCgoZnVuY3Rpb24odCl7dmFyIHI9ZVt0XTtuW3RdPXJ9KSl9ZnVuY3Rpb24gbChlKXtlP3QucHVzaChlKTp0LmZvckVhY2goKGZ1bmN0aW9uKHQpe3QoKX0pKX19ZnVuY3Rpb24gdSh0KXtyZXR1cm4gcnx8YygpLGFbdF19dmFyIGw9W107ZnVuY3Rpb24gZih0KXtsLmxlbmd0aHx8c2V0VGltZW91dCgoZnVuY3Rpb24oKXt2YXIgdD17fTtsLmZvckVhY2goKGZ1bmN0aW9uKGUpe3RbZV09YVtlXX0pKSxsLmxlbmd0aD0wLGQuZm9yRWFjaCgoZnVuY3Rpb24oZSl7ZSh0KX0pKX0pLDApLGwucHVzaCh0KX12YXIgZD1bXTt2YXIgaD17Z2V0IHN1cHBvcnQoKXtyZXR1cm4gMCE9KCJzdHJpbmciPT09dHlwZW9mIGk/aTpzKCkpLmxlbmd0aH0sZ2V0IHRvcCgpe3JldHVybiB1KCJ0b3AiKX0sZ2V0IGxlZnQoKXtyZXR1cm4gdSgibGVmdCIpfSxnZXQgcmlnaHQoKXtyZXR1cm4gdSgicmlnaHQiKX0sZ2V0IGJvdHRvbSgpe3JldHVybiB1KCJib3R0b20iKX0sb25DaGFuZ2U6ZnVuY3Rpb24odCl7cygpJiYocnx8YygpLCJmdW5jdGlvbiI9PT10eXBlb2YgdCYmZC5wdXNoKHQpKX0sb2ZmQ2hhbmdlOmZ1bmN0aW9uKHQpe3ZhciBlPWQuaW5kZXhPZih0KTtlPj0wJiZkLnNwbGljZShlLDEpfX07dC5leHBvcnRzPWh9LGY2Njk6ZnVuY3Rpb24odCxlLG4pe30sZjgyOTpmdW5jdGlvbih0LGUsbil7fSxmOThjOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7KGZ1bmN0aW9uKHQscil7bi5kKGUsImEiLChmdW5jdGlvbigpe3JldHVybiBsfSkpO3ZhciBpPW4oIjM0MGQiKTtmdW5jdGlvbiBvKHQsZSl7Zm9yKHZhciBuPTA7bjxlLmxlbmd0aDtuKyspe3ZhciByPWVbbl07ci5lbnVtZXJhYmxlPXIuZW51bWVyYWJsZXx8ITEsci5jb25maWd1cmFibGU9ITAsInZhbHVlImluIHImJihyLndyaXRhYmxlPSEwKSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCxyLmtleSxyKX19dmFyIGE9L15ccyt8XHMrJC9nLHM9L1xzKy87ZnVuY3Rpb24gYyh0LGUsbil7dmFyIHI9W10saT1mdW5jdGlvbih0KXtyZXR1cm4gaT1uP2Z1bmN0aW9uKHQpe3JldHVybiFlLmNvbnRhaW5zKHQpfTpmdW5jdGlvbih0KXtyZXR1cm4gZS5jb250YWlucyh0KX0saSh0KX07cmV0dXJuIHQuZm9yRWFjaCgoZnVuY3Rpb24odCl7dD10LnJlcGxhY2UoYSwiIiksaSh0KSYmci5wdXNoKHQpfSkpLHJ9dmFyIHU9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKHQpeyhmdW5jdGlvbih0LGUpe2lmKCEodCBpbnN0YW5jZW9mIGUpKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvbiIpfSkodGhpcyxlKSx0aGlzLiR2bT10LE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCIkZWwiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdC4kZWx9fSl9cmV0dXJuIGZ1bmN0aW9uKHQsZSxuKXtlJiZvKHQucHJvdG90eXBlLGUpLG4mJm8odCxuKX0oZSxbe2tleToic2VsZWN0Q29tcG9uZW50Iix2YWx1ZTpmdW5jdGlvbih0KXtpZih0aGlzLiRlbCYmdCl7dmFyIGU9dGhpcy4kZWwucXVlcnlTZWxlY3Rvcih0KSxuPWUuX192dWVfX3x8ZTtyZXR1cm4gbi4kZ2V0Q29tcG9uZW50RGVzY3JpcHRvciYmbi4kZ2V0Q29tcG9uZW50RGVzY3JpcHRvcihuLCExKX19fSx7a2V5OiJzZWxlY3RBbGxDb21wb25lbnRzIix2YWx1ZTpmdW5jdGlvbih0KXtpZighdGhpcy4kZWx8fCF0KXJldHVybltdO2Zvcih2YXIgZT1bXSxuPXRoaXMuJGVsLnF1ZXJ5U2VsZWN0b3JBbGwodCkscj0wO3I8bi5sZW5ndGg7cisrKXt2YXIgaT1uW3JdLG89aS5fX3Z1ZV9ffHxpO28uJGdldENvbXBvbmVudERlc2NyaXB0b3ImJmUucHVzaChvLiRnZXRDb21wb25lbnREZXNjcmlwdG9yKG8sITEpKX1yZXR1cm4gZX19LHtrZXk6InNldFN0eWxlIix2YWx1ZTpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy4kZWwmJnQ/KCJzdHJpbmciPT09dHlwZW9mIHQmJih0PWZ1bmN0aW9uKHQpe3ZhciBlPXt9LG49LzooLispLztyZXR1cm4gdC5zcGxpdCgvOyg/IVteKF0qXCkpL2cpLmZvckVhY2goKGZ1bmN0aW9uKHQpe2lmKHQpe3ZhciByPXQuc3BsaXQobik7ci5sZW5ndGg+MSYmKGVbclswXS50cmltKCldPXJbMV0udHJpbSgpKX19KSksZX0odCkpLE9iamVjdChpWyJsIl0pKHQpJiYodGhpcy4kZWwuX193eHNTdHlsZT10LHRoaXMuJHZtLiRmb3JjZVVwZGF0ZSgpKSx0aGlzKTp0aGlzfX0se2tleToiYWRkQ2xhc3MiLHZhbHVlOmZ1bmN0aW9uKCl7Zm9yKHZhciB0PWFyZ3VtZW50cy5sZW5ndGgsZT1uZXcgQXJyYXkodCksbj0wO248dDtuKyspZVtuXT1hcmd1bWVudHNbbl07aWYoIXRoaXMuJGVsfHwhZS5sZW5ndGgpcmV0dXJuIHRoaXM7dmFyIHI9YyhlLHRoaXMuJGVsLmNsYXNzTGlzdCwhMCk7aWYoci5sZW5ndGgpe3ZhciBpPXRoaXMuJGVsLl9fd3hzQWRkQ2xhc3N8fCIiO3RoaXMuJGVsLl9fd3hzQWRkQ2xhc3M9aSsoaT8iICI6IiIpK3Iuam9pbigiICIpLHRoaXMuJHZtLiRmb3JjZVVwZGF0ZSgpfXJldHVybiB0aGlzfX0se2tleToicmVtb3ZlQ2xhc3MiLHZhbHVlOmZ1bmN0aW9uKCl7Zm9yKHZhciB0PWFyZ3VtZW50cy5sZW5ndGgsZT1uZXcgQXJyYXkodCksbj0wO248dDtuKyspZVtuXT1hcmd1bWVudHNbbl07aWYoIXRoaXMuJGVsfHwhZS5sZW5ndGgpcmV0dXJuIHRoaXM7dmFyIHI9dGhpcy4kZWwuY2xhc3NMaXN0LGk9dGhpcy4kZWwuX193eHNBZGRDbGFzcz90aGlzLiRlbC5fX3d4c0FkZENsYXNzLnNwbGl0KHMpOltdLG89YyhlLHIsITEpO2lmKG8ubGVuZ3RoKXt2YXIgYT1bXTtvLmZvckVhY2goKGZ1bmN0aW9uKHQpe3ZhciBlPWkuZmluZEluZGV4KChmdW5jdGlvbihlKXtyZXR1cm4gZT09PXR9KSk7LTEhPT1lJiZpLnNwbGljZShlLDEpLGEucHVzaCh0KX0pKSx0aGlzLiRlbC5fX3d4c1JlbW92ZUNsYXNzPWEsdGhpcy4kZWwuX193eHNBZGRDbGFzcz1pLmpvaW4oIiAiKSx0aGlzLiR2bS4kZm9yY2VVcGRhdGUoKX1yZXR1cm4gdGhpc319LHtrZXk6Imhhc0NsYXNzIix2YWx1ZTpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy4kZWwmJnRoaXMuJGVsLmNsYXNzTGlzdC5jb250YWlucyh0KX19LHtrZXk6ImdldENvbXB1dGVkU3R5bGUiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuJGVsP3dpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRoaXMuJGVsKTp7fX19LHtrZXk6ImdldERhdGFzZXQiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuJGVsJiZ0aGlzLiRlbC5kYXRhc2V0fX0se2tleToiY2FsbE1ldGhvZCIsdmFsdWU6ZnVuY3Rpb24oZSl7dmFyIG49YXJndW1lbnRzLmxlbmd0aD4xJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0/YXJndW1lbnRzWzFdOnt9O2UgaW4gdGhpcy4kdm0/dGhpcy4kdm1bZV0oSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShuKSkpOnRoaXMuJHZtLl8kaWQmJnQucHVibGlzaEhhbmRsZXIoIm9uV3hzSW52b2tlQ2FsbE1ldGhvZCIse2NpZDp0aGlzLiR2bS5fJGlkLG1ldGhvZDplLGFyZ3M6bn0pfX0se2tleToicmVxdWVzdEFuaW1hdGlvbkZyYW1lIix2YWx1ZTpmdW5jdGlvbih0KXtyZXR1cm4gci5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUodCksdGhpc319LHtrZXk6ImdldFN0YXRlIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLiRlbCYmKHRoaXMuJGVsLl9fd3hzU3RhdGV8fCh0aGlzLiRlbC5fX3d4c1N0YXRlPXt9KSl9fSx7a2V5OiJ0cmlnZ2VyRXZlbnQiLHZhbHVlOmZ1bmN0aW9uKHQpe3ZhciBlPWFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXTp7fTtyZXR1cm4gdGhpcy4kdm0uJGVtaXQodCxlKSx0aGlzfX0se2tleToic2V0VGltZW91dCIsdmFsdWU6ZnVuY3Rpb24odCxlKXtyZXR1cm4gd2luZG93LnNldFRpbWVvdXQodCxlKX19LHtrZXk6ImNsZWFyVGltZW91dCIsdmFsdWU6ZnVuY3Rpb24odCl7cmV0dXJuIHdpbmRvdy5jbGVhclRpbWVvdXQodCl9fSx7a2V5OiJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuJGVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpfX1dKSxlfSgpO2Z1bmN0aW9uIGwodCl7dmFyIGU9IShhcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXSl8fGFyZ3VtZW50c1sxXTtpZihlJiZ0JiZ0LiRvcHRpb25zLm5hbWUmJjA9PT10LiRvcHRpb25zLm5hbWUuaW5kZXhPZigiVlVuaSIpJiYodD10LiRwYXJlbnQpLHQpcmV0dXJuIl9fd3hzQ29tcG9uZW50RGVzY3JpcHRvciJpbiB0fHwodC5fX3d4c0NvbXBvbmVudERlc2NyaXB0b3I9bmV3IHUodCkpLHQuX193eHNDb21wb25lbnREZXNjcmlwdG9yfX0pLmNhbGwodGhpcyxuKCIzMWQyIiksbigiMGVlNCIpKX0sZmE1NDpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiOyhmdW5jdGlvbih0KXt2YXIgcj1uKCJjNzAwIiksaT1uKCIzNDBkIiksbz1uKCI2Zjc1IiksYT1mdW5jdGlvbigpe3ZhciB0PSEoYXJndW1lbnRzLmxlbmd0aD4wJiZ2b2lkIDAhPT1hcmd1bWVudHNbMF0pfHxhcmd1bWVudHNbMF07cmV0dXJuISFpWyJ0Il0mJntwYXNzaXZlOnR9fSxzPWEoKTtlWyJhIl09e25hbWU6IlNjcm9sbFZpZXciLG1peGluczpbclsiYSJdXSxwcm9wczp7c2Nyb2xsWDp7dHlwZTpbQm9vbGVhbixTdHJpbmddLGRlZmF1bHQ6ITF9LHNjcm9sbFk6e3R5cGU6W0Jvb2xlYW4sU3RyaW5nXSxkZWZhdWx0OiExfSx1cHBlclRocmVzaG9sZDp7dHlwZTpbTnVtYmVyLFN0cmluZ10sZGVmYXVsdDo1MH0sbG93ZXJUaHJlc2hvbGQ6e3R5cGU6W051bWJlcixTdHJpbmddLGRlZmF1bHQ6NTB9LHNjcm9sbFRvcDp7dHlwZTpbTnVtYmVyLFN0cmluZ10sZGVmYXVsdDowfSxzY3JvbGxMZWZ0Ont0eXBlOltOdW1iZXIsU3RyaW5nXSxkZWZhdWx0OjB9LHNjcm9sbEludG9WaWV3Ont0eXBlOlN0cmluZyxkZWZhdWx0OiIifSxzY3JvbGxXaXRoQW5pbWF0aW9uOnt0eXBlOltCb29sZWFuLFN0cmluZ10sZGVmYXVsdDohMX0sZW5hYmxlQmFja1RvVG9wOnt0eXBlOltCb29sZWFuLFN0cmluZ10sZGVmYXVsdDohMX0scmVmcmVzaGVyRW5hYmxlZDp7dHlwZTpbQm9vbGVhbixTdHJpbmddLGRlZmF1bHQ6ITF9LHJlZnJlc2hlclRocmVzaG9sZDp7dHlwZTpOdW1iZXIsZGVmYXVsdDo0NX0scmVmcmVzaGVyRGVmYXVsdFN0eWxlOnt0eXBlOlN0cmluZyxkZWZhdWx0OiJiYWNrIn0scmVmcmVzaGVyQmFja2dyb3VuZDp7dHlwZTpTdHJpbmcsZGVmYXVsdDoiI2ZmZiJ9LHJlZnJlc2hlclRyaWdnZXJlZDp7dHlwZTpbQm9vbGVhbixTdHJpbmddLGRlZmF1bHQ6ITF9fSxkYXRhOmZ1bmN0aW9uKCl7cmV0dXJue2xhc3RTY3JvbGxUb3A6dGhpcy5zY3JvbGxUb3BOdW1iZXIsbGFzdFNjcm9sbExlZnQ6dGhpcy5zY3JvbGxMZWZ0TnVtYmVyLGxhc3RTY3JvbGxUb1VwcGVyVGltZTowLGxhc3RTY3JvbGxUb0xvd2VyVGltZTowLHJlZnJlc2hlckhlaWdodDowLHJlZnJlc2hSb3RhdGU6MCxyZWZyZXNoU3RhdGU6IiJ9fSxjb21wdXRlZDp7dXBwZXJUaHJlc2hvbGROdW1iZXI6ZnVuY3Rpb24oKXt2YXIgdD1OdW1iZXIodGhpcy51cHBlclRocmVzaG9sZCk7cmV0dXJuIGlzTmFOKHQpPzUwOnR9LGxvd2VyVGhyZXNob2xkTnVtYmVyOmZ1bmN0aW9uKCl7dmFyIHQ9TnVtYmVyKHRoaXMubG93ZXJUaHJlc2hvbGQpO3JldHVybiBpc05hTih0KT81MDp0fSxzY3JvbGxUb3BOdW1iZXI6ZnVuY3Rpb24oKXtyZXR1cm4gTnVtYmVyKHRoaXMuc2Nyb2xsVG9wKXx8MH0sc2Nyb2xsTGVmdE51bWJlcjpmdW5jdGlvbigpe3JldHVybiBOdW1iZXIodGhpcy5zY3JvbGxMZWZ0KXx8MH19LHdhdGNoOntzY3JvbGxUb3BOdW1iZXI6ZnVuY3Rpb24odCl7dGhpcy5fc2Nyb2xsVG9wQ2hhbmdlZCh0KX0sc2Nyb2xsTGVmdE51bWJlcjpmdW5jdGlvbih0KXt0aGlzLl9zY3JvbGxMZWZ0Q2hhbmdlZCh0KX0sc2Nyb2xsSW50b1ZpZXc6ZnVuY3Rpb24odCl7dGhpcy5fc2Nyb2xsSW50b1ZpZXdDaGFuZ2VkKHQpfSxyZWZyZXNoZXJUcmlnZ2VyZWQ6ZnVuY3Rpb24odCl7ITA9PT10P3RoaXMuX3NldFJlZnJlc2hTdGF0ZSgicmVmcmVzaGluZyIpOiExPT09dCYmdGhpcy5fc2V0UmVmcmVzaFN0YXRlKCJyZXN0b3JlIil9fSxtb3VudGVkOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPW51bGwsbj1udWxsO3RoaXMuX2F0dGFjaGVkPSEwLHRoaXMudG9VcHBlck51bWJlcj0wLHRoaXMudHJpZ2dlckFib3J0PSExLHRoaXMuYmVmb3JlUmVmcmVzaGluZz0hMSx0aGlzLl9zY3JvbGxUb3BDaGFuZ2VkKHRoaXMuc2Nyb2xsVG9wTnVtYmVyKSx0aGlzLl9zY3JvbGxMZWZ0Q2hhbmdlZCh0aGlzLnNjcm9sbExlZnROdW1iZXIpLHRoaXMuX3Njcm9sbEludG9WaWV3Q2hhbmdlZCh0aGlzLnNjcm9sbEludG9WaWV3KSx0aGlzLl9faGFuZGxlU2Nyb2xsPWZ1bmN0aW9uKGUpe2UucHJldmVudERlZmF1bHQoKSxlLnN0b3BQcm9wYWdhdGlvbigpLHQuX2hhbmRsZVNjcm9sbC5iaW5kKHQsZSkoKX0sdGhpcy5fX2hhbmRsZVRvdWNoTW92ZT1mdW5jdGlvbihyKXtpZihudWxsIT09ZSl7dmFyIGk9ci50b3VjaGVzWzBdLnBhZ2VYLG89ci50b3VjaGVzWzBdLnBhZ2VZLGE9dC4kcmVmcy5tYWluO2lmKE1hdGguYWJzKGktZS54KT5NYXRoLmFicyhvLWUueSkpaWYodC5zY3JvbGxYKXtpZigwPT09YS5zY3JvbGxMZWZ0JiZpPmUueClyZXR1cm4gdm9pZChuPSExKTtpZihhLnNjcm9sbFdpZHRoPT09YS5vZmZzZXRXaWR0aCthLnNjcm9sbExlZnQmJmk8ZS54KXJldHVybiB2b2lkKG49ITEpO249ITB9ZWxzZSBuPSExO2Vsc2UgaWYodC5zY3JvbGxZKWlmKDA9PT1hLnNjcm9sbFRvcCYmbz5lLnkpbj0hMSx0LnJlZnJlc2hlckVuYWJsZWQmJiExIT09ci5jYW5jZWxhYmxlJiZyLnByZXZlbnREZWZhdWx0KCk7ZWxzZXtpZihhLnNjcm9sbEhlaWdodD09PWEub2Zmc2V0SGVpZ2h0K2Euc2Nyb2xsVG9wJiZvPGUueSlyZXR1cm4gdm9pZChuPSExKTtuPSEwfWVsc2Ugbj0hMTtpZihuJiZyLnN0b3BQcm9wYWdhdGlvbigpLDA9PT1hLnNjcm9sbFRvcCYmMT09PXIudG91Y2hlcy5sZW5ndGgmJih0LnJlZnJlc2hTdGF0ZT0icHVsbGluZyIpLHQucmVmcmVzaGVyRW5hYmxlZCYmInB1bGxpbmciPT09dC5yZWZyZXNoU3RhdGUpe3ZhciBzPW8tZS55OzA9PT10LnRvVXBwZXJOdW1iZXImJih0LnRvVXBwZXJOdW1iZXI9byksdC5iZWZvcmVSZWZyZXNoaW5nPyh0LnJlZnJlc2hlckhlaWdodD1zK3QucmVmcmVzaGVyVGhyZXNob2xkLHQudHJpZ2dlckFib3J0PSExKToodC5yZWZyZXNoZXJIZWlnaHQ9by10LnRvVXBwZXJOdW1iZXIsdC5yZWZyZXNoZXJIZWlnaHQ+MCYmKHQudHJpZ2dlckFib3J0PSEwLHQuJHRyaWdnZXIoInJlZnJlc2hlcnB1bGxpbmciLHIse2RlbHRhWTpzfSkpKTt2YXIgYz10LnJlZnJlc2hlckhlaWdodC90LnJlZnJlc2hlclRocmVzaG9sZDt0LnJlZnJlc2hSb3RhdGU9MzYwKihjPjE/MTpjKX19fSx0aGlzLl9faGFuZGxlVG91Y2hTdGFydD1mdW5jdGlvbih0KXsxPT09dC50b3VjaGVzLmxlbmd0aCYmKE9iamVjdChvWyJhIl0pKHtkaXNhYmxlOiEwfSksZT17eDp0LnRvdWNoZXNbMF0ucGFnZVgseTp0LnRvdWNoZXNbMF0ucGFnZVl9KX0sdGhpcy5fX2hhbmRsZVRvdWNoRW5kPWZ1bmN0aW9uKG4pe2U9bnVsbCxPYmplY3Qob1siYSJdKSh7ZGlzYWJsZTohMX0pLHQucmVmcmVzaGVySGVpZ2h0Pj10LnJlZnJlc2hlclRocmVzaG9sZD90Ll9zZXRSZWZyZXNoU3RhdGUoInJlZnJlc2hpbmciKTp0Ll9zZXRSZWZyZXNoU3RhdGUoInJlZnJlc2hlcmFib3J0Iil9LHRoaXMuJHJlZnMubWFpbi5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0Iix0aGlzLl9faGFuZGxlVG91Y2hTdGFydCxzKSx0aGlzLiRyZWZzLm1haW4uYWRkRXZlbnRMaXN0ZW5lcigidG91Y2htb3ZlIix0aGlzLl9faGFuZGxlVG91Y2hNb3ZlLGEoITEpKSx0aGlzLiRyZWZzLm1haW4uYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIix0aGlzLl9faGFuZGxlU2Nyb2xsLGEoITEpKSx0aGlzLiRyZWZzLm1haW4uYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hlbmQiLHRoaXMuX19oYW5kbGVUb3VjaEVuZCxzKSxPYmplY3Qob1siYiJdKSgpfSxhY3RpdmF0ZWQ6ZnVuY3Rpb24oKXt0aGlzLnNjcm9sbFkmJih0aGlzLiRyZWZzLm1haW4uc2Nyb2xsVG9wPXRoaXMubGFzdFNjcm9sbFRvcCksdGhpcy5zY3JvbGxYJiYodGhpcy4kcmVmcy5tYWluLnNjcm9sbExlZnQ9dGhpcy5sYXN0U2Nyb2xsTGVmdCl9LGJlZm9yZURlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLiRyZWZzLm1haW4ucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsdGhpcy5fX2hhbmRsZVRvdWNoU3RhcnQscyksdGhpcy4kcmVmcy5tYWluLnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsdGhpcy5fX2hhbmRsZVRvdWNoTW92ZSxzKSx0aGlzLiRyZWZzLm1haW4ucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Nyb2xsIix0aGlzLl9faGFuZGxlU2Nyb2xsLGEoITEpKSx0aGlzLiRyZWZzLm1haW4ucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2hlbmQiLHRoaXMuX19oYW5kbGVUb3VjaEVuZCxzKX0sbWV0aG9kczp7c2Nyb2xsVG86ZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzLiRyZWZzLm1haW47dDwwP3Q9MDoieCI9PT1lJiZ0Pm4uc2Nyb2xsV2lkdGgtbi5vZmZzZXRXaWR0aD90PW4uc2Nyb2xsV2lkdGgtbi5vZmZzZXRXaWR0aDoieSI9PT1lJiZ0Pm4uc2Nyb2xsSGVpZ2h0LW4ub2Zmc2V0SGVpZ2h0JiYodD1uLnNjcm9sbEhlaWdodC1uLm9mZnNldEhlaWdodCk7dmFyIHI9MCxpPSIiOyJ4Ij09PWU/cj1uLnNjcm9sbExlZnQtdDoieSI9PT1lJiYocj1uLnNjcm9sbFRvcC10KSwwIT09ciYmKHRoaXMuJHJlZnMuY29udGVudC5zdHlsZS50cmFuc2l0aW9uPSJ0cmFuc2Zvcm0gLjNzIGVhc2Utb3V0Iix0aGlzLiRyZWZzLmNvbnRlbnQuc3R5bGUud2Via2l0VHJhbnNpdGlvbj0iLXdlYmtpdC10cmFuc2Zvcm0gLjNzIGVhc2Utb3V0IiwieCI9PT1lP2k9InRyYW5zbGF0ZVgoIityKyJweCkgdHJhbnNsYXRlWigwKSI6InkiPT09ZSYmKGk9InRyYW5zbGF0ZVkoIityKyJweCkgdHJhbnNsYXRlWigwKSIpLHRoaXMuJHJlZnMuY29udGVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0cmFuc2l0aW9uZW5kIix0aGlzLl9fdHJhbnNpdGlvbkVuZCksdGhpcy4kcmVmcy5jb250ZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIndlYmtpdFRyYW5zaXRpb25FbmQiLHRoaXMuX190cmFuc2l0aW9uRW5kKSx0aGlzLl9fdHJhbnNpdGlvbkVuZD10aGlzLl90cmFuc2l0aW9uRW5kLmJpbmQodGhpcyx0LGUpLHRoaXMuJHJlZnMuY29udGVudC5hZGRFdmVudExpc3RlbmVyKCJ0cmFuc2l0aW9uZW5kIix0aGlzLl9fdHJhbnNpdGlvbkVuZCksdGhpcy4kcmVmcy5jb250ZW50LmFkZEV2ZW50TGlzdGVuZXIoIndlYmtpdFRyYW5zaXRpb25FbmQiLHRoaXMuX190cmFuc2l0aW9uRW5kKSwieCI9PT1lP24uc3R5bGUub3ZlcmZsb3dYPSJoaWRkZW4iOiJ5Ij09PWUmJihuLnN0eWxlLm92ZXJmbG93WT0iaGlkZGVuIiksdGhpcy4kcmVmcy5jb250ZW50LnN0eWxlLnRyYW5zZm9ybT1pLHRoaXMuJHJlZnMuY29udGVudC5zdHlsZS53ZWJraXRUcmFuc2Zvcm09aSl9LF9oYW5kbGVUcmFjazpmdW5jdGlvbih0KXtpZigic3RhcnQiPT09dC5kZXRhaWwuc3RhdGUpcmV0dXJuIHRoaXMuX3g9dC5kZXRhaWwueCx0aGlzLl95PXQuZGV0YWlsLnksdm9pZCh0aGlzLl9ub0J1YmJsZT1udWxsKTsiZW5kIj09PXQuZGV0YWlsLnN0YXRlJiYodGhpcy5fbm9CdWJibGU9ITEpLG51bGw9PT10aGlzLl9ub0J1YmJsZSYmdGhpcy5zY3JvbGxZJiYoTWF0aC5hYnModGhpcy5feS10LmRldGFpbC55KS9NYXRoLmFicyh0aGlzLl94LXQuZGV0YWlsLngpPjE/dGhpcy5fbm9CdWJibGU9ITA6dGhpcy5fbm9CdWJibGU9ITEpLG51bGw9PT10aGlzLl9ub0J1YmJsZSYmdGhpcy5zY3JvbGxYJiYoTWF0aC5hYnModGhpcy5feC10LmRldGFpbC54KS9NYXRoLmFicyh0aGlzLl95LXQuZGV0YWlsLnkpPjE/dGhpcy5fbm9CdWJibGU9ITA6dGhpcy5fbm9CdWJibGU9ITEpLHRoaXMuX3g9dC5kZXRhaWwueCx0aGlzLl95PXQuZGV0YWlsLnksdGhpcy5fbm9CdWJibGUmJnQuc3RvcFByb3BhZ2F0aW9uKCl9LF9oYW5kbGVTY3JvbGw6ZnVuY3Rpb24odCl7dmFyIGU9dC50YXJnZXQ7dGhpcy4kdHJpZ2dlcigic2Nyb2xsIix0LHtzY3JvbGxMZWZ0OmUuc2Nyb2xsTGVmdCxzY3JvbGxUb3A6ZS5zY3JvbGxUb3Asc2Nyb2xsSGVpZ2h0OmUuc2Nyb2xsSGVpZ2h0LHNjcm9sbFdpZHRoOmUuc2Nyb2xsV2lkdGgsZGVsdGFYOnRoaXMubGFzdFNjcm9sbExlZnQtZS5zY3JvbGxMZWZ0LGRlbHRhWTp0aGlzLmxhc3RTY3JvbGxUb3AtZS5zY3JvbGxUb3B9KSx0aGlzLnNjcm9sbFkmJihlLnNjcm9sbFRvcDw9dGhpcy51cHBlclRocmVzaG9sZE51bWJlciYmdGhpcy5sYXN0U2Nyb2xsVG9wLWUuc2Nyb2xsVG9wPjAmJnQudGltZVN0YW1wLXRoaXMubGFzdFNjcm9sbFRvVXBwZXJUaW1lPjIwMCYmKHRoaXMuJHRyaWdnZXIoInNjcm9sbHRvdXBwZXIiLHQse2RpcmVjdGlvbjoidG9wIn0pLHRoaXMubGFzdFNjcm9sbFRvVXBwZXJUaW1lPXQudGltZVN0YW1wKSxlLnNjcm9sbFRvcCtlLm9mZnNldEhlaWdodCt0aGlzLmxvd2VyVGhyZXNob2xkTnVtYmVyPj1lLnNjcm9sbEhlaWdodCYmdGhpcy5sYXN0U2Nyb2xsVG9wLWUuc2Nyb2xsVG9wPDAmJnQudGltZVN0YW1wLXRoaXMubGFzdFNjcm9sbFRvTG93ZXJUaW1lPjIwMCYmKHRoaXMuJHRyaWdnZXIoInNjcm9sbHRvbG93ZXIiLHQse2RpcmVjdGlvbjoiYm90dG9tIn0pLHRoaXMubGFzdFNjcm9sbFRvTG93ZXJUaW1lPXQudGltZVN0YW1wKSksdGhpcy5zY3JvbGxYJiYoZS5zY3JvbGxMZWZ0PD10aGlzLnVwcGVyVGhyZXNob2xkTnVtYmVyJiZ0aGlzLmxhc3RTY3JvbGxMZWZ0LWUuc2Nyb2xsTGVmdD4wJiZ0LnRpbWVTdGFtcC10aGlzLmxhc3RTY3JvbGxUb1VwcGVyVGltZT4yMDAmJih0aGlzLiR0cmlnZ2VyKCJzY3JvbGx0b3VwcGVyIix0LHtkaXJlY3Rpb246ImxlZnQifSksdGhpcy5sYXN0U2Nyb2xsVG9VcHBlclRpbWU9dC50aW1lU3RhbXApLGUuc2Nyb2xsTGVmdCtlLm9mZnNldFdpZHRoK3RoaXMubG93ZXJUaHJlc2hvbGROdW1iZXI+PWUuc2Nyb2xsV2lkdGgmJnRoaXMubGFzdFNjcm9sbExlZnQtZS5zY3JvbGxMZWZ0PDAmJnQudGltZVN0YW1wLXRoaXMubGFzdFNjcm9sbFRvTG93ZXJUaW1lPjIwMCYmKHRoaXMuJHRyaWdnZXIoInNjcm9sbHRvbG93ZXIiLHQse2RpcmVjdGlvbjoicmlnaHQifSksdGhpcy5sYXN0U2Nyb2xsVG9Mb3dlclRpbWU9dC50aW1lU3RhbXApKSx0aGlzLmxhc3RTY3JvbGxUb3A9ZS5zY3JvbGxUb3AsdGhpcy5sYXN0U2Nyb2xsTGVmdD1lLnNjcm9sbExlZnR9LF9zY3JvbGxUb3BDaGFuZ2VkOmZ1bmN0aW9uKHQpe3RoaXMuc2Nyb2xsWSYmKHRoaXMuX2lubmVyU2V0U2Nyb2xsVG9wP3RoaXMuX2lubmVyU2V0U2Nyb2xsVG9wPSExOnRoaXMuc2Nyb2xsV2l0aEFuaW1hdGlvbj90aGlzLnNjcm9sbFRvKHQsInkiKTp0aGlzLiRyZWZzLm1haW4uc2Nyb2xsVG9wPXQpfSxfc2Nyb2xsTGVmdENoYW5nZWQ6ZnVuY3Rpb24odCl7dGhpcy5zY3JvbGxYJiYodGhpcy5faW5uZXJTZXRTY3JvbGxMZWZ0P3RoaXMuX2lubmVyU2V0U2Nyb2xsTGVmdD0hMTp0aGlzLnNjcm9sbFdpdGhBbmltYXRpb24/dGhpcy5zY3JvbGxUbyh0LCJ4Iik6dGhpcy4kcmVmcy5tYWluLnNjcm9sbExlZnQ9dCl9LF9zY3JvbGxJbnRvVmlld0NoYW5nZWQ6ZnVuY3Rpb24oZSl7aWYoZSl7aWYoIS9eW19hLXpBLVpdWy1fYS16QS1aMC05Ol0qJC8udGVzdChlKSlyZXR1cm4gdm9pZCB0LmVycm9yKCJpZCBlcnJvcjogc2Nyb2xsLWludG8tdmlldz0iLmNvbmNhdChlKSk7dmFyIG49dGhpcy4kZWwucXVlcnlTZWxlY3RvcigiIyIrZSk7aWYobil7dmFyIHI9dGhpcy4kcmVmcy5tYWluLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGk9bi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtpZih0aGlzLnNjcm9sbFgpe3ZhciBvPWkubGVmdC1yLmxlZnQsYT10aGlzLiRyZWZzLm1haW4uc2Nyb2xsTGVmdCxzPWErbzt0aGlzLnNjcm9sbFdpdGhBbmltYXRpb24/dGhpcy5zY3JvbGxUbyhzLCJ4Iik6dGhpcy4kcmVmcy5tYWluLnNjcm9sbExlZnQ9c31pZih0aGlzLnNjcm9sbFkpe3ZhciBjPWkudG9wLXIudG9wLHU9dGhpcy4kcmVmcy5tYWluLnNjcm9sbFRvcCxsPXUrYzt0aGlzLnNjcm9sbFdpdGhBbmltYXRpb24/dGhpcy5zY3JvbGxUbyhsLCJ5Iik6dGhpcy4kcmVmcy5tYWluLnNjcm9sbFRvcD1sfX19fSxfdHJhbnNpdGlvbkVuZDpmdW5jdGlvbih0LGUpe3RoaXMuJHJlZnMuY29udGVudC5zdHlsZS50cmFuc2l0aW9uPSIiLHRoaXMuJHJlZnMuY29udGVudC5zdHlsZS53ZWJraXRUcmFuc2l0aW9uPSIiLHRoaXMuJHJlZnMuY29udGVudC5zdHlsZS50cmFuc2Zvcm09IiIsdGhpcy4kcmVmcy5jb250ZW50LnN0eWxlLndlYmtpdFRyYW5zZm9ybT0iIjt2YXIgbj10aGlzLiRyZWZzLm1haW47IngiPT09ZT8obi5zdHlsZS5vdmVyZmxvd1g9dGhpcy5zY3JvbGxYPyJhdXRvIjoiaGlkZGVuIixuLnNjcm9sbExlZnQ9dCk6InkiPT09ZSYmKG4uc3R5bGUub3ZlcmZsb3dZPXRoaXMuc2Nyb2xsWT8iYXV0byI6ImhpZGRlbiIsbi5zY3JvbGxUb3A9dCksdGhpcy4kcmVmcy5jb250ZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRyYW5zaXRpb25lbmQiLHRoaXMuX190cmFuc2l0aW9uRW5kKSx0aGlzLiRyZWZzLmNvbnRlbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigid2Via2l0VHJhbnNpdGlvbkVuZCIsdGhpcy5fX3RyYW5zaXRpb25FbmQpfSxfc2V0UmVmcmVzaFN0YXRlOmZ1bmN0aW9uKHQpe3N3aXRjaCh0KXtjYXNlInJlZnJlc2hpbmciOnRoaXMucmVmcmVzaGVySGVpZ2h0PXRoaXMucmVmcmVzaGVyVGhyZXNob2xkLHRoaXMuYmVmb3JlUmVmcmVzaGluZ3x8KHRoaXMuYmVmb3JlUmVmcmVzaGluZz0hMCx0aGlzLiR0cmlnZ2VyKCJyZWZyZXNoZXJyZWZyZXNoIix7fSx7fSkpO2JyZWFrO2Nhc2UicmVzdG9yZSI6Y2FzZSJyZWZyZXNoZXJhYm9ydCI6dGhpcy5iZWZvcmVSZWZyZXNoaW5nPSExLHRoaXMucmVmcmVzaGVySGVpZ2h0PXRoaXMudG9VcHBlck51bWJlcj0wLCJyZXN0b3JlIj09PXQmJih0aGlzLnRyaWdnZXJBYm9ydD0hMSx0aGlzLiR0cmlnZ2VyKCJyZWZyZXNoZXJyZXN0b3JlIix7fSx7fSkpLCJyZWZyZXNoZXJhYm9ydCI9PT10JiZ0aGlzLnRyaWdnZXJBYm9ydCYmKHRoaXMudHJpZ2dlckFib3J0PSExLHRoaXMuJHRyaWdnZXIoInJlZnJlc2hlcmFib3J0Iix7fSx7fSkpO2JyZWFrfXRoaXMucmVmcmVzaFN0YXRlPXR9LGdldFNjcm9sbFBvc2l0aW9uOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy4kcmVmcy5tYWluO3JldHVybntzY3JvbGxMZWZ0OnQuc2Nyb2xsTGVmdCxzY3JvbGxUb3A6dC5zY3JvbGxUb3Asc2Nyb2xsSGVpZ2h0OnQuc2Nyb2xsSGVpZ2h0LHNjcm9sbFdpZHRoOnQuc2Nyb2xsV2lkdGh9fX19fSkuY2FsbCh0aGlzLG4oIjQxOGIiKVsiZGVmYXVsdCJdKX0sZmE5NTpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiOyhmdW5jdGlvbih0KXtuLmQoZSwiYSIsKGZ1bmN0aW9uKCl7cmV0dXJuIGl9KSk7dmFyIHI9bigiNDczOCIpO2Z1bmN0aW9uIGkoZSl7dmFyIG49ZS5vcHRpb25zLGk9ZS5jYWxsYmFja0lkLG89bi5mYW1pbHksYT1uLnNvdXJjZSxzPW4uZGVzYyxjPXZvaWQgMD09PXM/e306czthPWEuc3RhcnRzV2l0aCgndXJsKCInKXx8YS5zdGFydHNXaXRoKCJ1cmwoJyIpPyJ1cmwoJyIuY29uY2F0KE9iamVjdChyWyJhIl0pKGEuc3Vic3RyaW5nKDUsYS5sZW5ndGgtMikpLCInKSIpOmEuc3RhcnRzV2l0aCgidXJsKCIpPyJ1cmwoJyIuY29uY2F0KE9iamVjdChyWyJhIl0pKGEuc3Vic3RyaW5nKDQsYS5sZW5ndGgtMSkpLCInKSIpOk9iamVjdChyWyJhIl0pKGEpO3ZhciB1PWRvY3VtZW50LmZvbnRzO2lmKHUpe3ZhciBsPW5ldyBGb250RmFjZShvLGEsYyk7bC5sb2FkKCkudGhlbigoZnVuY3Rpb24oKXt1LmFkZChsKSx0LnB1Ymxpc2hIYW5kbGVyKCJvbkxvYWRGb250RmFjZUNhbGxiYWNrIix7Y2FsbGJhY2tJZDppLGRhdGE6e2Vyck1zZzoibG9hZEZvbnRGYWNlOm9rIn19KX0pKS5jYXRjaCgoZnVuY3Rpb24oZSl7dC5wdWJsaXNoSGFuZGxlcigib25Mb2FkRm9udEZhY2VDYWxsYmFjayIse2NhbGxiYWNrSWQ6aSxkYXRhOntlcnJNc2c6ImxvYWRGb250RmFjZTpmYWlsICIuY29uY2F0KGUpfX0pfSkpfWVsc2V7dmFyIGY9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKTtmLmlubmVyVGV4dD0nQGZvbnQtZmFjZXtmb250LWZhbWlseToiJy5jb25jYXQobywnIjtzcmM6JykuY29uY2F0KGEsIjtmb250LXN0eWxlOiIpLmNvbmNhdChjLnN0eWxlLCI7Zm9udC13ZWlnaHQ6IikuY29uY2F0KGMud2VpZ2h0LCI7Zm9udC1zdHJldGNoOiIpLmNvbmNhdChjLnN0cmV0Y2gsIjt1bmljb2RlLXJhbmdlOiIpLmNvbmNhdChjLnVuaWNvZGVSYW5nZSwiO2ZvbnQtdmFyaWFudDoiKS5jb25jYXQoYy52YXJpYW50LCI7Zm9udC1mZWF0dXJlLXNldHRpbmdzOiIpLmNvbmNhdChjLmZlYXR1cmVTZXR0aW5ncywiO30iKSxkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKGYpLHQucHVibGlzaEhhbmRsZXIoIm9uTG9hZEZvbnRGYWNlQ2FsbGJhY2siLHtjYWxsYmFja0lkOmksZGF0YTp7ZXJyTXNnOiJsb2FkRm9udEZhY2U6b2sifX0pfX19KS5jYWxsKHRoaXMsbigiMzFkMiIpKX0sZmM3YzpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oImI3YzkiKSxpPW4ubihyKTtpLmF9LGZkNWQ6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtuLnIoZSksbi5kKGUsIiRvbiIsKGZ1bmN0aW9uKCl7cmV0dXJuIHJ9KSksbi5kKGUsIiRvbmNlIiwoZnVuY3Rpb24oKXtyZXR1cm4gaX0pKSxuLmQoZSwiJG9mZiIsKGZ1bmN0aW9uKCl7cmV0dXJuIG99KSksbi5kKGUsIiRlbWl0IiwoZnVuY3Rpb24oKXtyZXR1cm4gYX0pKTt2YXIgcj1be25hbWU6ImV2ZW50Iix0eXBlOltTdHJpbmcsQXJyYXldLHJlcXVpcmVkOiEwfSx7bmFtZToiY2FsbGJhY2siLHR5cGU6RnVuY3Rpb24scmVxdWlyZWQ6ITB9XSxpPXIsbz1be25hbWU6ImV2ZW50Iix0eXBlOltTdHJpbmcsQXJyYXldfSx7bmFtZToiY2FsbGJhY2siLHR5cGU6RnVuY3Rpb259XSxhPVt7bmFtZToiZXZlbnQiLHR5cGU6U3RyaW5nLHJlcXVpcmVkOiEwfV19LGZkY2Q6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtuLnIoZSksZnVuY3Rpb24odCl7bi5kKGUsImxvYWRGb250RmFjZSIsKGZ1bmN0aW9uKCl7cmV0dXJuIG99KSk7dmFyIHI9bigiOTEzMSIpLGk9bigiNzQ1YSIpO2Z1bmN0aW9uIG8oZSxuKXt2YXIgcj1PYmplY3QoaVsiYSJdKSgpO2lmKCFyKXJldHVybntlcnJNc2c6ImxvYWRGb250RmFjZTpmYWlsIG5vdCBmb250IHBhZ2UifTt0LnB1Ymxpc2hIYW5kbGVyKCJsb2FkRm9udEZhY2UiLHtvcHRpb25zOmUsY2FsbGJhY2tJZDpufSxyKX10LnN1YnNjcmliZSgib25Mb2FkRm9udEZhY2VDYWxsYmFjayIsKGZ1bmN0aW9uKHQpe3ZhciBlPXQuY2FsbGJhY2tJZCxuPXQuZGF0YTtPYmplY3QoclsiYSJdKShlLG4pfSkpfS5jYWxsKHRoaXMsbigiMmM5ZiIpKX0sZmU2YTpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiOyhmdW5jdGlvbih0KXt2YXIgaT1uKCI5MDllIiksbz1uKCJkOTdkIiksYT1uKCJkZjVhIikscz1uKCIwYjYyIik7ZnVuY3Rpb24gYyh0KXtyZXR1cm4gYz0iZnVuY3Rpb24iPT09dHlwZW9mIFN5bWJvbCYmInN5bWJvbCI9PT1yKFN5bWJvbC5pdGVyYXRvcik/ZnVuY3Rpb24odCl7cmV0dXJuIHIodCl9OmZ1bmN0aW9uKHQpe3JldHVybiB0JiYiZnVuY3Rpb24iPT09dHlwZW9mIFN5bWJvbCYmdC5jb25zdHJ1Y3Rvcj09PVN5bWJvbCYmdCE9PVN5bWJvbC5wcm90b3R5cGU/InN5bWJvbCI6cih0KX0sYyh0KX1lWyJhIl09e25hbWU6IkVkaXRvciIsbWl4aW5zOltpWyJnIl0saVsiYSJdLGlbImUiXV0scHJvcHM6e2lkOnt0eXBlOlN0cmluZyxkZWZhdWx0OiIifSxyZWFkT25seTp7dHlwZTpbQm9vbGVhbixTdHJpbmddLGRlZmF1bHQ6ITF9LHBsYWNlaG9sZGVyOnt0eXBlOlN0cmluZyxkZWZhdWx0OiIifSxzaG93SW1nU2l6ZTp7dHlwZTpbQm9vbGVhbixTdHJpbmddLGRlZmF1bHQ6ITF9LHNob3dJbWdUb29sYmFyOnt0eXBlOltCb29sZWFuLFN0cmluZ10sZGVmYXVsdDohMX0sc2hvd0ltZ1Jlc2l6ZTp7dHlwZTpbQm9vbGVhbixTdHJpbmddLGRlZmF1bHQ6ITF9fSxkYXRhOmZ1bmN0aW9uKCl7cmV0dXJue3F1aWxsUmVhZHk6ITF9fSxjb21wdXRlZDp7fSx3YXRjaDp7cmVhZE9ubHk6ZnVuY3Rpb24odCl7aWYodGhpcy5xdWlsbFJlYWR5KXt2YXIgZT10aGlzLnF1aWxsO2UuZW5hYmxlKCF0KSx0fHxlLmJsdXIoKX19LHBsYWNlaG9sZGVyOmZ1bmN0aW9uKHQpe3RoaXMucXVpbGxSZWFkeSYmdGhpcy5zZXRQbGFjZUhvbGRlcih0KX19LG1vdW50ZWQ6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLGU9W107dGhpcy5zaG93SW1nU2l6ZSYmZS5wdXNoKCJEaXNwbGF5U2l6ZSIpLHRoaXMuc2hvd0ltZ1Rvb2xiYXImJmUucHVzaCgiVG9vbGJhciIpLHRoaXMuc2hvd0ltZ1Jlc2l6ZSYmZS5wdXNoKCJSZXNpemUiKTtPYmplY3Qoc1siYSJdKSh3aW5kb3cuUXVpbGwsImh0dHBzOi8vdW5wa2cuY29tL3F1aWxsQDEuMy43L2Rpc3QvcXVpbGwubWluLmpzIiwoZnVuY3Rpb24oKXtpZihlLmxlbmd0aCl7T2JqZWN0KHNbImEiXSkod2luZG93LkltYWdlUmVzaXplLCJodHRwczovL3VucGtnLmNvbS9xdWlsbC1pbWFnZS1yZXNpemUtbXBAMy4wLjEvaW1hZ2UtcmVzaXplLm1pbi5qcyIsKGZ1bmN0aW9uKCl7dC5pbml0UXVpbGwoZSl9KSl9ZWxzZSB0LmluaXRRdWlsbChlKX0pKX0sbWV0aG9kczp7X3RleHRDaGFuZ2VIYW5kbGVyOmZ1bmN0aW9uKCl7dGhpcy4kdHJpZ2dlcigiaW5wdXQiLHt9LHRoaXMuZ2V0Q29udGVudHMoKSl9LF9oYW5kbGVTdWJzY3JpYmU6ZnVuY3Rpb24oZSl7dmFyIG4scixpLG89dGhpcyxhPWUudHlwZSxzPWUuZGF0YSx1PXMub3B0aW9ucyxsPXMuY2FsbGJhY2tJZCxmPXRoaXMucXVpbGwsZD13aW5kb3cuUXVpbGw7aWYodGhpcy5xdWlsbFJlYWR5KXtzd2l0Y2goYSl7Y2FzZSJmb3JtYXQiOnZhciBoPXUubmFtZSxwPXZvaWQgMD09PWg/IiI6aCx2PXUudmFsdWUsZz12b2lkIDAhPT12JiZ2O3I9Zi5nZXRTZWxlY3Rpb24oITApO3ZhciBtPWYuZ2V0Rm9ybWF0KHIpW3BdfHwhMTtpZihbImJvbGQiLCJpdGFsaWMiLCJ1bmRlcmxpbmUiLCJzdHJpa2UiLCJpbnMiXS5pbmNsdWRlcyhwKSlnPSFtO2Vsc2UgaWYoImRpcmVjdGlvbiI9PT1wKXtnPSgicnRsIiE9PWd8fCFtKSYmZzt2YXIgYj1mLmdldEZvcm1hdChyKS5hbGlnbjsicnRsIiE9PWd8fGI/Z3x8InJpZ2h0IiE9PWJ8fGYuZm9ybWF0KCJhbGlnbiIsITEsZC5zb3VyY2VzLlVTRVIpOmYuZm9ybWF0KCJhbGlnbiIsInJpZ2h0IixkLnNvdXJjZXMuVVNFUil9ZWxzZSBpZigiaW5kZW50Ij09PXApe3ZhciB5PSJydGwiPT09Zi5nZXRGb3JtYXQocikuZGlyZWN0aW9uO2c9IisxIj09PWcseSYmKGc9IWcpLGc9Zz8iKzEiOiItMSJ9ZWxzZSJsaXN0Ij09PXAmJihnPSJjaGVjayI9PT1nPyJ1bmNoZWNrZWQiOmcsbT0iY2hlY2tlZCI9PT1tPyJ1bmNoZWNrZWQiOm0pLGc9bSYmbSE9PShnfHwhMSl8fCFtJiZnP2c6IW07Zi5mb3JtYXQocCxnLGQuc291cmNlcy5VU0VSKTticmVhaztjYXNlImluc2VydERpdmlkZXIiOnI9Zi5nZXRTZWxlY3Rpb24oITApLGYuaW5zZXJ0VGV4dChyLmluZGV4LCJcbiIsZC5zb3VyY2VzLlVTRVIpLGYuaW5zZXJ0RW1iZWQoci5pbmRleCsxLCJkaXZpZGVyIiwhMCxkLnNvdXJjZXMuVVNFUiksZi5zZXRTZWxlY3Rpb24oci5pbmRleCsyLGQuc291cmNlcy5TSUxFTlQpO2JyZWFrO2Nhc2UiaW5zZXJ0SW1hZ2UiOnI9Zi5nZXRTZWxlY3Rpb24oITApO3ZhciBfPXUuc3JjLHc9dm9pZCAwPT09Xz8iIjpfLHg9dS5hbHQsUz12b2lkIDA9PT14PyIiOngsaz11LndpZHRoLEM9dm9pZCAwPT09az8iIjprLE89dS5oZWlnaHQsVD12b2lkIDA9PT1PPyIiOk8sRT11LmV4dENsYXNzLEE9dm9pZCAwPT09RT8iIjpFLGo9dS5kYXRhLE09dm9pZCAwPT09aj97fTpqLEk9dGhpcy4kZ2V0UmVhbFBhdGgodyk7Zi5pbnNlcnRFbWJlZChyLmluZGV4LCJpbWFnZSIsSSxkLnNvdXJjZXMuU0lMRU5UKTt2YXIgUD0hIS9eKGZpbGV8YmxvYik6Ly50ZXN0KEkpJiZJO2YuZm9ybWF0VGV4dChyLmluZGV4LDEsImRhdGEtbG9jYWwiLFAsZC5zb3VyY2VzLlNJTEVOVCksZi5mb3JtYXRUZXh0KHIuaW5kZXgsMSwiYWx0IixTLGQuc291cmNlcy5TSUxFTlQpLGYuZm9ybWF0VGV4dChyLmluZGV4LDEsIndpZHRoIixDLGQuc291cmNlcy5TSUxFTlQpLGYuZm9ybWF0VGV4dChyLmluZGV4LDEsImhlaWdodCIsVCxkLnNvdXJjZXMuU0lMRU5UKSxmLmZvcm1hdFRleHQoci5pbmRleCwxLCJjbGFzcyIsQSxkLnNvdXJjZXMuU0lMRU5UKSxmLmZvcm1hdFRleHQoci5pbmRleCwxLCJkYXRhLWN1c3RvbSIsT2JqZWN0LmtleXMoTSkubWFwKChmdW5jdGlvbih0KXtyZXR1cm4iIi5jb25jYXQodCwiPSIpLmNvbmNhdChNW3RdKX0pKS5qb2luKCImIiksZC5zb3VyY2VzLlNJTEVOVCksZi5zZXRTZWxlY3Rpb24oci5pbmRleCsxLGQuc291cmNlcy5TSUxFTlQpLGYuc2Nyb2xsSW50b1ZpZXcoKSxzZXRUaW1lb3V0KChmdW5jdGlvbigpe28uX3RleHRDaGFuZ2VIYW5kbGVyKCl9KSwxZTMpO2JyZWFrO2Nhc2UiaW5zZXJ0VGV4dCI6cj1mLmdldFNlbGVjdGlvbighMCk7dmFyICQ9dS50ZXh0LEw9dm9pZCAwPT09JD8iIjokO2YuaW5zZXJ0VGV4dChyLmluZGV4LEwsZC5zb3VyY2VzLlVTRVIpLGYuc2V0U2VsZWN0aW9uKHIuaW5kZXgrTC5sZW5ndGgsMCxkLnNvdXJjZXMuU0lMRU5UKTticmVhaztjYXNlInNldENvbnRlbnRzIjp2YXIgUj11LmRlbHRhLE49dS5odG1sOyJvYmplY3QiPT09YyhSKT9mLnNldENvbnRlbnRzKFIsZC5zb3VyY2VzLlNJTEVOVCk6InN0cmluZyI9PT10eXBlb2YgTj9mLnNldENvbnRlbnRzKHRoaXMuaHRtbDJkZWx0YShOKSxkLnNvdXJjZXMuU0lMRU5UKTppPSJjb250ZW50cyBpcyBtaXNzaW5nIjticmVhaztjYXNlImdldENvbnRlbnRzIjpuPXRoaXMuZ2V0Q29udGVudHMoKTticmVhaztjYXNlImNsZWFyIjpmLnNldENvbnRlbnRzKFtdKTticmVhaztjYXNlInJlbW92ZUZvcm1hdCI6cj1mLmdldFNlbGVjdGlvbighMCk7dmFyIEQ9ZC5pbXBvcnQoInBhcmNobWVudCIpO3IubGVuZ3RoP2YucmVtb3ZlRm9ybWF0KHIsZC5zb3VyY2VzLlVTRVIpOk9iamVjdC5rZXlzKGYuZ2V0Rm9ybWF0KHIpKS5mb3JFYWNoKChmdW5jdGlvbih0KXtELnF1ZXJ5KHQsRC5TY29wZS5JTkxJTkUpJiZmLmZvcm1hdCh0LCExKX0pKTticmVhaztjYXNlInVuZG8iOmYuaGlzdG9yeS51bmRvKCk7YnJlYWs7Y2FzZSJyZWRvIjpmLmhpc3RvcnkucmVkbygpO2JyZWFrO2Nhc2UiYmx1ciI6Zi5ibHVyKCk7YnJlYWs7Y2FzZSJnZXRTZWxlY3Rpb25UZXh0IjpyPWYuc2VsZWN0aW9uLnNhdmVkUmFuZ2Usbj17dGV4dDoiIn0sciYmMCE9PXIubGVuZ3RoJiYobi50ZXh0PWYuZ2V0VGV4dChyLmluZGV4LHIubGVuZ3RoKSk7YnJlYWs7Y2FzZSJzY3JvbGxJbnRvVmlldyI6Zi5zY3JvbGxJbnRvVmlldygpO2JyZWFrO2RlZmF1bHQ6YnJlYWt9dGhpcy51cGRhdGVTdGF0dXMocil9ZWxzZSBpPSJub3QgcmVhZHkiO2wmJnQucHVibGlzaEhhbmRsZXIoIm9uRWRpdG9yTWV0aG9kQ2FsbGJhY2siLHtjYWxsYmFja0lkOmwsZGF0YTpPYmplY3QuYXNzaWduKHt9LG4se2Vyck1zZzoiIi5jb25jYXQoYSwiOiIpLmNvbmNhdChpPyJmYWlsICIraToib2siKX0pfSx0aGlzLiRwYWdlLmlkKX0sc2V0UGxhY2VIb2xkZXI6ZnVuY3Rpb24odCl7dmFyIGU9ImRhdGEtcGxhY2Vob2xkZXIiLG49dGhpcy5xdWlsbC5yb290O24uZ2V0QXR0cmlidXRlKGUpIT09dCYmbi5zZXRBdHRyaWJ1dGUoZSx0KX0saW5pdFF1aWxsOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMsbj13aW5kb3cuUXVpbGw7YVsiYSJdKG4pO3ZhciByPXt0b29sYmFyOiExLHJlYWRPbmx5OnRoaXMucmVhZE9ubHkscGxhY2Vob2xkZXI6dGhpcy5wbGFjZWhvbGRlcixtb2R1bGVzOnt9fTt0Lmxlbmd0aCYmKG4ucmVnaXN0ZXIoIm1vZHVsZXMvSW1hZ2VSZXNpemUiLHdpbmRvdy5JbWFnZVJlc2l6ZS5kZWZhdWx0KSxyLm1vZHVsZXMuSW1hZ2VSZXNpemU9e21vZHVsZXM6dH0pO3ZhciBpPXRoaXMucXVpbGw9bmV3IG4odGhpcy4kZWwsciksbz1pLnJvb3Q7WyJmb2N1cyIsImJsdXIiLCJpbnB1dCJdLmZvckVhY2goKGZ1bmN0aW9uKHQpe28uYWRkRXZlbnRMaXN0ZW5lcih0LChmdW5jdGlvbihuKXt2YXIgcj1lLmdldENvbnRlbnRzKCk7aWYoImlucHV0Ij09PXQpe2lmKGZ1bmN0aW9uKCl7dmFyIHQ9bmF2aWdhdG9yLnVzZXJBZ2VudCxlPS9pcGhvbmV8aXBhZHxpcG9kL2kudGVzdCh0KSxuPS9NYWNpbnRvc2h8TWFjL2kudGVzdCh0KSxyPW4mJm5hdmlnYXRvci5tYXhUb3VjaFBvaW50cz4wO3JldHVybiBlfHxyfSgpKXt2YXIgaT0oci5odG1sLm1hdGNoKC88c3BhbiBbXHNcU10qPihbXHNcU10qKTxcL3NwYW4+Lyl8fFtdKVsxXSxvPWkmJmkucmVwbGFjZSgvXHMvZywiIik/IiI6ZS5wbGFjZWhvbGRlcjtlLnNldFBsYWNlSG9sZGVyKG8pfW4uc3RvcFByb3BhZ2F0aW9uKCl9ZWxzZSBlLiR0cmlnZ2VyKHQsbixyKX0pKX0pKSxpLm9uKG4uZXZlbnRzLlRFWFRfQ0hBTkdFLHRoaXMuX3RleHRDaGFuZ2VIYW5kbGVyKSxpLm9uKG4uZXZlbnRzLlNFTEVDVElPTl9DSEFOR0UsdGhpcy51cGRhdGVTdGF0dXMuYmluZCh0aGlzKSksaS5vbihuLmV2ZW50cy5TQ1JPTExfT1BUSU1JWkUsKGZ1bmN0aW9uKCl7dmFyIHQ9aS5zZWxlY3Rpb24uZ2V0UmFuZ2UoKVswXTtlLnVwZGF0ZVN0YXR1cyh0KX0pKSxpLmNsaXBib2FyZC5hZGRNYXRjaGVyKE5vZGUuRUxFTUVOVF9OT0RFLChmdW5jdGlvbih0LG4pe3JldHVybiBlLnNraXBNYXRjaGVyfHwobi5vcHM9bi5vcHMuZmlsdGVyKChmdW5jdGlvbih0KXt2YXIgZT10Lmluc2VydDtyZXR1cm4ic3RyaW5nIj09PXR5cGVvZiBlfSkpLm1hcCgoZnVuY3Rpb24odCl7dmFyIGU9dC5pbnNlcnQ7cmV0dXJue2luc2VydDplfX0pKSksbn0pKSx0aGlzLmluaXRLZXlib2FyZChvKSx0aGlzLnF1aWxsUmVhZHk9ITAsdGhpcy4kdHJpZ2dlcigicmVhZHkiLGV2ZW50LHt9KX0sZ2V0Q29udGVudHM6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLnF1aWxsLGU9dC5yb290LmlubmVySFRNTCxuPXQuZ2V0VGV4dCgpLHI9dC5nZXRDb250ZW50cygpO3JldHVybntodG1sOmUsdGV4dDpuLGRlbHRhOnJ9fSxodG1sMmRlbHRhOmZ1bmN0aW9uKHQpe3ZhciBlLG49WyJzcGFuIiwic3Ryb25nIiwiYiIsImlucyIsImVtIiwiaSIsInUiLCJhIiwiZGVsIiwicyIsInN1YiIsInN1cCIsImltZyIsImRpdiIsInAiLCJoMSIsImgyIiwiaDMiLCJoNCIsImg1IiwiaDYiLCJociIsIm9sIiwidWwiLCJsaSIsImJyIl0scj0iIjtPYmplY3Qob1siYSJdKSh0LHtzdGFydDpmdW5jdGlvbih0LGksbyl7aWYobi5pbmNsdWRlcyh0KSl7ZT0hMTt2YXIgYT1pLm1hcCgoZnVuY3Rpb24odCl7dmFyIGU9dC5uYW1lLG49dC52YWx1ZTtyZXR1cm4iIi5jb25jYXQoZSwnPSInKS5jb25jYXQobiwnIicpfSkpLmpvaW4oIiAiKSxzPSI8Ii5jb25jYXQodCwiICIpLmNvbmNhdChhLCIgIikuY29uY2F0KG8/Ii8iOiIiLCI+Iik7cis9c31lbHNlIGU9IW99LGVuZDpmdW5jdGlvbih0KXtlfHwocis9IjwvIi5jb25jYXQodCwiPiIpKX0sY2hhcnM6ZnVuY3Rpb24odCl7ZXx8KHIrPXQpfX0pLHRoaXMuc2tpcE1hdGNoZXI9ITA7dmFyIGk9dGhpcy5xdWlsbC5jbGlwYm9hcmQuY29udmVydChyKTtyZXR1cm4gdGhpcy5za2lwTWF0Y2hlcj0hMSxpfSx1cGRhdGVTdGF0dXM6ZnVuY3Rpb24odCl7dmFyIGU9dGhpcyxuPXQ/dGhpcy5xdWlsbC5nZXRGb3JtYXQodCk6e30scj1PYmplY3Qua2V5cyhuKTsoci5sZW5ndGghPT1PYmplY3Qua2V5cyh0aGlzLl9fc3RhdHVzfHx7fSkubGVuZ3RofHxyLmZpbmQoKGZ1bmN0aW9uKHQpe3JldHVybiBuW3RdIT09ZS5fX3N0YXR1c1t0XX0pKSkmJih0aGlzLl9fc3RhdHVzPW4sdGhpcy4kdHJpZ2dlcigic3RhdHVzY2hhbmdlIix7fSxuKSl9fX19KS5jYWxsKHRoaXMsbigiMzFkMiIpKX0sZmY1ZDpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO24ucihlKTt2YXIgcj17bmFtZToiQ292ZXJJbWFnZSIscHJvcHM6e3NyYzp7dHlwZTpTdHJpbmcsZGVmYXVsdDoiIn19LG1ldGhvZHM6e19sb2FkOmZ1bmN0aW9uKHQpe3RoaXMuJHRyaWdnZXIoImxvYWQiLHQpfSxfZXJyb3I6ZnVuY3Rpb24odCl7dGhpcy4kdHJpZ2dlcigiZXJyb3IiLHQpfX19LGk9cixvPShuKCIzZDhmIiksbigiODg0NCIpKSxhPU9iamVjdChvWyJhIl0pKGksKGZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPXQuJGNyZWF0ZUVsZW1lbnQsbj10Ll9zZWxmLl9jfHxlO3JldHVybiBuKCJ1bmktY292ZXItaW1hZ2UiLHQuX2coe2F0dHJzOntzcmM6dC5zcmN9fSx0LiRsaXN0ZW5lcnMpLFtuKCJkaXYiLHtzdGF0aWNDbGFzczoidW5pLWNvdmVyLWltYWdlIn0sW3Quc3JjP24oImltZyIse2F0dHJzOntzcmM6dC4kZ2V0UmVhbFBhdGgodC5zcmMpfSxvbjp7bG9hZDp0Ll9sb2FkLGVycm9yOnQuX2Vycm9yfX0pOnQuX2UoKV0pXSl9KSxbXSwhMSxudWxsLG51bGwsbnVsbCk7ZVsiZGVmYXVsdCJdPWEuZXhwb3J0c319KX0pKX0pLmNhbGwodGhpcyxuKCJkYzg0IikodCkpfSw5MzYwOmZ1bmN0aW9uKHQsZSxuKXt2YXIgcj1uKCIxZmFhIiksaT1uKCI3N2NkIiksbz1GdW5jdGlvbi5wcm90b3R5cGUsYT1yJiZPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLHM9aShvLCJuYW1lIiksYz1zJiYic29tZXRoaW5nIj09PWZ1bmN0aW9uKCl7fS5uYW1lLHU9cyYmKCFyfHxyJiZhKG8sIm5hbWUiKS5jb25maWd1cmFibGUpO3QuZXhwb3J0cz17RVhJU1RTOnMsUFJPUEVSOmMsQ09ORklHVVJBQkxFOnV9fSw5MzcwOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiOGJkYiIpLGk9bigiYWY5ZSIpLG89bigiMTA5OSIpLGE9bigiYzIxNSIpLHM9aSgoZnVuY3Rpb24oKXtyZXR1cm4gbnVsbCE9PW5ldyBEYXRlKE5hTikudG9KU09OKCl8fDEhPT1EYXRlLnByb3RvdHlwZS50b0pTT04uY2FsbCh7dG9JU09TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gMX19KX0pKTtyKHt0YXJnZXQ6IkRhdGUiLHByb3RvOiEwLGFyaXR5OjEsZm9yY2VkOnN9LHt0b0pTT046ZnVuY3Rpb24odCl7dmFyIGU9byh0aGlzKSxuPWEoZSwibnVtYmVyIik7cmV0dXJuIm51bWJlciIhPXR5cGVvZiBufHxpc0Zpbml0ZShuKT9lLnRvSVNPU3RyaW5nKCk6bnVsbH19KX0sIjkzYzIiOmZ1bmN0aW9uKHQsZSxuKXt2YXIgcj1uKCJjODZiIiksaT1uKCJmZGNhIiksbz1uKCI3N2IyIiksYT1uKCIzNDRmIikscz1PYmplY3Q7dC5leHBvcnRzPWE/ZnVuY3Rpb24odCl7cmV0dXJuInN5bWJvbCI9PXR5cGVvZiB0fTpmdW5jdGlvbih0KXt2YXIgZT1yKCJTeW1ib2wiKTtyZXR1cm4gaShlKSYmbyhlLnByb3RvdHlwZSxzKHQpKX19LDk0ODA6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCI2YTUwIik7cigiVWludDgiLChmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSxuLHIpe3JldHVybiB0KHRoaXMsZSxuLHIpfX0pLCEwKX0sIjk2MGMiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiYmI4MCIpLGk9bigiNzk5MiIpO3QuZXhwb3J0cz1mdW5jdGlvbih0LGUsbil7dHJ5e3JldHVybiByKGkoT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0LGUpW25dKSl9Y2F0Y2gobyl7fX19LCI5NjdkIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIodCxlKXtmb3IodmFyIG49W10scj17fSxpPTA7aTxlLmxlbmd0aDtpKyspe3ZhciBvPWVbaV0sYT1vWzBdLHM9b1sxXSxjPW9bMl0sdT1vWzNdLGw9e2lkOnQrIjoiK2ksY3NzOnMsbWVkaWE6Yyxzb3VyY2VNYXA6dX07clthXT9yW2FdLnBhcnRzLnB1c2gobCk6bi5wdXNoKHJbYV09e2lkOmEscGFydHM6W2xdfSl9cmV0dXJuIG59bi5yKGUpLG4uZChlLCJkZWZhdWx0IiwoZnVuY3Rpb24oKXtyZXR1cm4gaH0pKTt2YXIgaT0idW5kZWZpbmVkIiE9PXR5cGVvZiBkb2N1bWVudDtpZigidW5kZWZpbmVkIiE9PXR5cGVvZiBERUJVRyYmREVCVUcmJiFpKXRocm93IG5ldyBFcnJvcigidnVlLXN0eWxlLWxvYWRlciBjYW5ub3QgYmUgdXNlZCBpbiBhIG5vbi1icm93c2VyIGVudmlyb25tZW50LiBVc2UgeyB0YXJnZXQ6ICdub2RlJyB9IGluIHlvdXIgV2VicGFjayBjb25maWcgdG8gaW5kaWNhdGUgYSBzZXJ2ZXItcmVuZGVyaW5nIGVudmlyb25tZW50LiIpO3ZhciBvPXt9LGE9aSYmKGRvY3VtZW50LmhlYWR8fGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF0pLHM9bnVsbCxjPTAsdT0hMSxsPWZ1bmN0aW9uKCl7fSxmPW51bGwsZD0idW5kZWZpbmVkIiE9PXR5cGVvZiBuYXZpZ2F0b3ImJi9tc2llIFs2LTldXGIvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpKTtmdW5jdGlvbiBoKHQsZSxuLGkpe3U9bixmPWl8fHt9O3ZhciBhPXIodCxlKTtyZXR1cm4gcChhKSxmdW5jdGlvbihlKXtmb3IodmFyIG49W10saT0wO2k8YS5sZW5ndGg7aSsrKXt2YXIgcz1hW2ldLGM9b1tzLmlkXTtjLnJlZnMtLSxuLnB1c2goYyl9ZT8oYT1yKHQsZSkscChhKSk6YT1bXTtmb3IoaT0wO2k8bi5sZW5ndGg7aSsrKXtjPW5baV07aWYoMD09PWMucmVmcyl7Zm9yKHZhciB1PTA7dTxjLnBhcnRzLmxlbmd0aDt1KyspYy5wYXJ0c1t1XSgpO2RlbGV0ZSBvW2MuaWRdfX19fWZ1bmN0aW9uIHAodCl7Zm9yKHZhciBlPTA7ZTx0Lmxlbmd0aDtlKyspe3ZhciBuPXRbZV0scj1vW24uaWRdO2lmKHIpe3IucmVmcysrO2Zvcih2YXIgaT0wO2k8ci5wYXJ0cy5sZW5ndGg7aSsrKXIucGFydHNbaV0obi5wYXJ0c1tpXSk7Zm9yKDtpPG4ucGFydHMubGVuZ3RoO2krKylyLnBhcnRzLnB1c2goZyhuLnBhcnRzW2ldKSk7ci5wYXJ0cy5sZW5ndGg+bi5wYXJ0cy5sZW5ndGgmJihyLnBhcnRzLmxlbmd0aD1uLnBhcnRzLmxlbmd0aCl9ZWxzZXt2YXIgYT1bXTtmb3IoaT0wO2k8bi5wYXJ0cy5sZW5ndGg7aSsrKWEucHVzaChnKG4ucGFydHNbaV0pKTtvW24uaWRdPXtpZDpuLmlkLHJlZnM6MSxwYXJ0czphfX19fWZ1bmN0aW9uIHYoKXt2YXIgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpO3JldHVybiB0LnR5cGU9InRleHQvY3NzIixhLmFwcGVuZENoaWxkKHQpLHR9ZnVuY3Rpb24gZyh0KXt2YXIgZSxuLHI9ZG9jdW1lbnQucXVlcnlTZWxlY3Rvcignc3R5bGVbZGF0YS12dWUtc3NyLWlkfj0iJyt0LmlkKyciXScpO2lmKHIpe2lmKHUpcmV0dXJuIGw7ci5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHIpfWlmKGQpe3ZhciBpPWMrKztyPXN8fChzPXYoKSksZT1iLmJpbmQobnVsbCxyLGksITEpLG49Yi5iaW5kKG51bGwscixpLCEwKX1lbHNlIHI9digpLGU9eS5iaW5kKG51bGwsciksbj1mdW5jdGlvbigpe3IucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChyKX07cmV0dXJuIGUodCksZnVuY3Rpb24ocil7aWYocil7aWYoci5jc3M9PT10LmNzcyYmci5tZWRpYT09PXQubWVkaWEmJnIuc291cmNlTWFwPT09dC5zb3VyY2VNYXApcmV0dXJuO2UodD1yKX1lbHNlIG4oKX19dmFyIG09ZnVuY3Rpb24oKXt2YXIgdD1bXTtyZXR1cm4gZnVuY3Rpb24oZSxuKXtyZXR1cm4gdFtlXT1uLHQuZmlsdGVyKEJvb2xlYW4pLmpvaW4oIlxuIil9fSgpO2Z1bmN0aW9uIGIodCxlLG4scil7dmFyIGk9bj8iIjpBKHIuY3NzKTtpZih0LnN0eWxlU2hlZXQpdC5zdHlsZVNoZWV0LmNzc1RleHQ9bShlLGkpO2Vsc2V7dmFyIG89ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoaSksYT10LmNoaWxkTm9kZXM7YVtlXSYmdC5yZW1vdmVDaGlsZChhW2VdKSxhLmxlbmd0aD90Lmluc2VydEJlZm9yZShvLGFbZV0pOnQuYXBwZW5kQ2hpbGQobyl9fWZ1bmN0aW9uIHkodCxlKXt2YXIgbj1BKGUuY3NzKSxyPWUubWVkaWEsaT1lLnNvdXJjZU1hcDtpZihyJiZ0LnNldEF0dHJpYnV0ZSgibWVkaWEiLHIpLGYuc3NySWQmJnQuc2V0QXR0cmlidXRlKCJkYXRhLXZ1ZS1zc3ItaWQiLGUuaWQpLGkmJihuKz0iXG4vKiMgc291cmNlVVJMPSIraS5zb3VyY2VzWzBdKyIgKi8iLG4rPSJcbi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsIitidG9hKHVuZXNjYXBlKGVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShpKSkpKSsiICovIiksdC5zdHlsZVNoZWV0KXQuc3R5bGVTaGVldC5jc3NUZXh0PW47ZWxzZXt3aGlsZSh0LmZpcnN0Q2hpbGQpdC5yZW1vdmVDaGlsZCh0LmZpcnN0Q2hpbGQpO3QuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUobikpfX12YXIgXz0vJVw/KFsrLV0/XGQrKFwuXGQrKT8pXD8lL2csdz0vXC5cPyVQQUdFXD8lL2cseD0vXD8lUEFHRVw/JVxbZGF0YS12LVthLXowLTldezh9XF0vZyxTPS91bmktcGFnZS1ib2R5XFtkYXRhLXYtW2EtejAtOV17OH1cXS9nLGs9L3ZhclwoLS1zdGF0dXMtYmFyLWhlaWdodFwpL2dpLEM9L3ZhclwoLS13aW5kb3ctdG9wXCkvZ2ksTz0vdmFyXCgtLXdpbmRvdy1ib3R0b21cKS9naSxUPS92YXJcKC0td2luZG93LWxlZnRcKS9naSxFPS92YXJcKC0td2luZG93LXJpZ2h0XCkvZ2k7ZnVuY3Rpb24gQSh0KXt2YXIgZT1mdW5jdGlvbigpe3ZhciB0PSJmdW5jdGlvbiI9PT10eXBlb2YgZ2V0QXBwJiZnZXRBcHAoKTtyZXR1cm4gdCYmdC4kcm91dGUmJnQuJHJvdXRlLm1ldGEmJnQuJHJvdXRlLm1ldGEubmFtZXx8IiJ9KCk7aWYoInVuZGVmaW5lZCIhPT10eXBlb2YgdW5pJiYhdW5pLmNhbklVc2UoImNzcy52YXIiKSl7dmFyIG49ZnVuY3Rpb24oKXt2YXIgdD0iZnVuY3Rpb24iPT09dHlwZW9mIGdldEFwcCYmZ2V0QXBwKCk7aWYodCYmdC4kcm91dGUmJnQuJHJvdXRlLm1ldGEmJnQuJHJvdXRlLm1ldGEubmFtZSlyZXR1cm57dG9wOnQuJHJvdXRlLm1ldGEud2luZG93VG9wLGJvdHRvbTp0LiRyb3V0ZS5tZXRhLmlzVGFiQmFyPzUwOjB9O3JldHVybnt0b3A6MCxib3R0b206MH19KCk7dD10LnJlcGxhY2UoaywiMHB4IikucmVwbGFjZShDLG4udG9wKyJweCIpLnJlcGxhY2UoTyxuLmJvdHRvbSsicHgiKS5yZXBsYWNlKFQsIjBweCIpLnJlcGxhY2UoRSwiMHB4Iil9cmV0dXJuIHQucmVwbGFjZSh4LGUpLnJlcGxhY2UodywiIikucmVwbGFjZShTLCJib2R5LiIrZSsiIHVuaS1wYWdlLWJvZHkiKS5yZXBsYWNlKC9ce1tcc1xTXSs/XH18QG1lZGlhLis/XHsvZywoZnVuY3Rpb24odCl7cmV0dXJuInVuZGVmaW5lZCI9PT10eXBlb2YgdW5pP3Q6dC5yZXBsYWNlKF8sKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHVuaS51cHgycHgoZSkrInB4In0pKX0pKX19LCI5N2NmIjpmdW5jdGlvbih0LGUsbil7dmFyIHI9bigiZDEwYSIpLGk9bigiZmRjYSIpLG89bigiNDlhNSIpLGE9cihGdW5jdGlvbi50b1N0cmluZyk7aShvLmluc3BlY3RTb3VyY2UpfHwoby5pbnNwZWN0U291cmNlPWZ1bmN0aW9uKHQpe3JldHVybiBhKHQpfSksdC5leHBvcnRzPW8uaW5zcGVjdFNvdXJjZX0sIjk3ZWQiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dC5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7cmV0dXJue3ZhbHVlOnQsZG9uZTplfX19LDk4Mzk6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCI4NWMxIiksaT1uKCJhZjllIiksbz1uKCIyOWJhIiksYT1uKCI3ZGRiIikuTkFUSVZFX0FSUkFZX0JVRkZFUl9WSUVXUyxzPXIuQXJyYXlCdWZmZXIsYz1yLkludDhBcnJheTt0LmV4cG9ydHM9IWF8fCFpKChmdW5jdGlvbigpe2MoMSl9KSl8fCFpKChmdW5jdGlvbigpe25ldyBjKC0xKX0pKXx8IW8oKGZ1bmN0aW9uKHQpe25ldyBjLG5ldyBjKG51bGwpLG5ldyBjKDEuNSksbmV3IGModCl9KSwhMCl8fGkoKGZ1bmN0aW9uKCl7cmV0dXJuIDEhPT1uZXcgYyhuZXcgcygyKSwxLHZvaWQgMCkubGVuZ3RofSkpfSw5OTE3OmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiOGMwOCIpO2UuZj1yfSwiOWEyYyI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCI4YmRiIiksaT1uKCJhZjllIiksbz1uKCJmNjYwIiksYT1uKCIxZGVkIikuZixzPW4oImFiNGEiKSxjPSFzfHxpKChmdW5jdGlvbigpe2EoMSl9KSk7cih7dGFyZ2V0OiJPYmplY3QiLHN0YXQ6ITAsZm9yY2VkOmMsc2hhbTohc30se2dldE93blByb3BlcnR5RGVzY3JpcHRvcjpmdW5jdGlvbih0LGUpe3JldHVybiBhKG8odCksZSl9fSl9LCI5YTUxIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjc5OTIiKSxpPW4oIjEwOTkiKSxvPW4oIjdlNDEiKSxhPW4oIjFmYzEiKSxzPVR5cGVFcnJvcixjPSJSZWR1Y2Ugb2YgZW1wdHkgYXJyYXkgd2l0aCBubyBpbml0aWFsIHZhbHVlIix1PWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihlLG4sdSxsKXt2YXIgZj1pKGUpLGQ9byhmKSxoPWEoZik7aWYocihuKSwwPT09aCYmdTwyKXRocm93IG5ldyBzKGMpO3ZhciBwPXQ/aC0xOjAsdj10Py0xOjE7aWYodTwyKXdoaWxlKDEpe2lmKHAgaW4gZCl7bD1kW3BdLHArPXY7YnJlYWt9aWYocCs9dix0P3A8MDpoPD1wKXRocm93IG5ldyBzKGMpfWZvcig7dD9wPj0wOmg+cDtwKz12KXAgaW4gZCYmKGw9bihsLGRbcF0scCxmKSk7cmV0dXJuIGx9fTt0LmV4cG9ydHM9e2xlZnQ6dSghMSkscmlnaHQ6dSghMCl9fSwiOWFkOCI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCI3MWU5IiksaT1uKCJiYjgwIiksbz1uKCI5ZTcwIiksYT1uKCI0NzFkIikscz1uKCJlZGI3IiksYz1uKCI4YjNiIiksdT1uKCJlMzdjIiksbD1uKCIyMzVjIikuZ2V0LGY9bigiYjBhOCIpLGQ9bigiY2NhOSIpLGg9YygibmF0aXZlLXN0cmluZy1yZXBsYWNlIixTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UpLHA9UmVnRXhwLnByb3RvdHlwZS5leGVjLHY9cCxnPWkoIiIuY2hhckF0KSxtPWkoIiIuaW5kZXhPZiksYj1pKCIiLnJlcGxhY2UpLHk9aSgiIi5zbGljZSksXz1mdW5jdGlvbigpe3ZhciB0PS9hLyxlPS9iKi9nO3JldHVybiByKHAsdCwiYSIpLHIocCxlLCJhIiksMCE9PXQubGFzdEluZGV4fHwwIT09ZS5sYXN0SW5kZXh9KCksdz1zLkJST0tFTl9DQVJFVCx4PXZvaWQgMCE9PS8oKT8/Ly5leGVjKCIiKVsxXSxTPV98fHh8fHd8fGZ8fGQ7UyYmKHY9ZnVuY3Rpb24odCl7dmFyIGUsbixpLHMsYyxmLGQsUz10aGlzLGs9bChTKSxDPW8odCksTz1rLnJhdztpZihPKXJldHVybiBPLmxhc3RJbmRleD1TLmxhc3RJbmRleCxlPXIodixPLEMpLFMubGFzdEluZGV4PU8ubGFzdEluZGV4LGU7dmFyIFQ9ay5ncm91cHMsRT13JiZTLnN0aWNreSxBPXIoYSxTKSxqPVMuc291cmNlLE09MCxJPUM7aWYoRSYmKEE9YihBLCJ5IiwiIiksLTE9PT1tKEEsImciKSYmKEErPSJnIiksST15KEMsUy5sYXN0SW5kZXgpLFMubGFzdEluZGV4PjAmJighUy5tdWx0aWxpbmV8fFMubXVsdGlsaW5lJiYiXG4iIT09ZyhDLFMubGFzdEluZGV4LTEpKSYmKGo9Iig/OiAiK2orIikiLEk9IiAiK0ksTSsrKSxuPW5ldyBSZWdFeHAoIl4oPzoiK2orIikiLEEpKSx4JiYobj1uZXcgUmVnRXhwKCJeIitqKyIkKD8hXFxzKSIsQSkpLF8mJihpPVMubGFzdEluZGV4KSxzPXIocCxFP246UyxJKSxFP3M/KHMuaW5wdXQ9eShzLmlucHV0LE0pLHNbMF09eShzWzBdLE0pLHMuaW5kZXg9Uy5sYXN0SW5kZXgsUy5sYXN0SW5kZXgrPXNbMF0ubGVuZ3RoKTpTLmxhc3RJbmRleD0wOl8mJnMmJihTLmxhc3RJbmRleD1TLmdsb2JhbD9zLmluZGV4K3NbMF0ubGVuZ3RoOmkpLHgmJnMmJnMubGVuZ3RoPjEmJnIoaCxzWzBdLG4sKGZ1bmN0aW9uKCl7Zm9yKGM9MTtjPGFyZ3VtZW50cy5sZW5ndGgtMjtjKyspdm9pZCAwPT09YXJndW1lbnRzW2NdJiYoc1tjXT12b2lkIDApfSkpLHMmJlQpZm9yKHMuZ3JvdXBzPWY9dShudWxsKSxjPTA7YzxULmxlbmd0aDtjKyspZD1UW2NdLGZbZFswXV09c1tkWzFdXTtyZXR1cm4gc30pLHQuZXhwb3J0cz12fSwiOWIxYiI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksZS5kZWZhdWx0PWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT0xO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspe3ZhciBuPW51bGwhPWFyZ3VtZW50c1tlXT9hcmd1bWVudHNbZV06e307ZSUyP2koT2JqZWN0KG4pLCEwKS5mb3JFYWNoKChmdW5jdGlvbihlKXsoMCxyLmRlZmF1bHQpKHQsZSxuW2VdKX0pKTpPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycz9PYmplY3QuZGVmaW5lUHJvcGVydGllcyh0LE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKG4pKTppKE9iamVjdChuKSkuZm9yRWFjaCgoZnVuY3Rpb24oZSl7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsZSxPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG4sZSkpfSkpfXJldHVybiB0fSxuKCJkYzhhIiksbigiMDFhMiIpLG4oIjhmNzEiKSxuKCJiZjBmIiksbigiOWEyYyIpLG4oImFhOWMiKSxuKCIyNzk3IiksbigiYTY0NCIpLG4oImEwM2EiKSxuKCI2YTU0Iik7dmFyIHI9ZnVuY3Rpb24odCl7cmV0dXJuIHQmJnQuX19lc01vZHVsZT90OntkZWZhdWx0OnR9fShuKCIzOWQ4IikpO2Z1bmN0aW9uIGkodCxlKXt2YXIgbj1PYmplY3Qua2V5cyh0KTtpZihPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKXt2YXIgcj1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHQpO2UmJihyPXIuZmlsdGVyKChmdW5jdGlvbihlKXtyZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0LGUpLmVudW1lcmFibGV9KSkpLG4ucHVzaC5hcHBseShuLHIpfXJldHVybiBufX0sIjliNTUiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiYTczNCIpLGk9bigiODVjMSIpLG89bigiYzliNyIpLGE9dC5leHBvcnRzPWlbIl9fY29yZS1qc19zaGFyZWRfXyJdfHxvKCJfX2NvcmUtanNfc2hhcmVkX18iLHt9KTsoYS52ZXJzaW9uc3x8KGEudmVyc2lvbnM9W10pKS5wdXNoKHt2ZXJzaW9uOiIzLjM2LjEiLG1vZGU6cj8icHVyZSI6Imdsb2JhbCIsY29weXJpZ2h0OiLCqSAyMDE0LTIwMjQgRGVuaXMgUHVzaGthcmV2ICh6bG9pcm9jay5ydSkiLGxpY2Vuc2U6Imh0dHBzOi8vZ2l0aHViLmNvbS96bG9pcm9jay9jb3JlLWpzL2Jsb2IvdjMuMzYuMS9MSUNFTlNFIixzb3VyY2U6Imh0dHBzOi8vZ2l0aHViLmNvbS96bG9pcm9jay9jb3JlLWpzIn0pfSwiOWI4ZSI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtuLnIoZSksZnVuY3Rpb24odCl7Ci8qIQogKiBWdWUuanMgdjIuNi4xMQogKiAoYykgMjAxNC0yMDIyIEV2YW4gWW91CiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4KICovCnZhciBuPU9iamVjdC5mcmVlemUoe30pO2Z1bmN0aW9uIHIodCl7cmV0dXJuIHZvaWQgMD09PXR8fG51bGw9PT10fWZ1bmN0aW9uIGkodCl7cmV0dXJuIHZvaWQgMCE9PXQmJm51bGwhPT10fWZ1bmN0aW9uIG8odCl7cmV0dXJuITA9PT10fWZ1bmN0aW9uIGEodCl7cmV0dXJuInN0cmluZyI9PT10eXBlb2YgdHx8Im51bWJlciI9PT10eXBlb2YgdHx8InN5bWJvbCI9PT10eXBlb2YgdHx8ImJvb2xlYW4iPT09dHlwZW9mIHR9ZnVuY3Rpb24gcyh0KXtyZXR1cm4gbnVsbCE9PXQmJiJvYmplY3QiPT09dHlwZW9mIHR9dmFyIGM9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZztmdW5jdGlvbiB1KHQpe3JldHVybiJbb2JqZWN0IE9iamVjdF0iPT09Yy5jYWxsKHQpfWZ1bmN0aW9uIGwodCl7cmV0dXJuIltvYmplY3QgUmVnRXhwXSI9PT1jLmNhbGwodCl9ZnVuY3Rpb24gZih0KXt2YXIgZT1wYXJzZUZsb2F0KFN0cmluZyh0KSk7cmV0dXJuIGU+PTAmJk1hdGguZmxvb3IoZSk9PT1lJiZpc0Zpbml0ZSh0KX1mdW5jdGlvbiBkKHQpe3JldHVybiBpKHQpJiYiZnVuY3Rpb24iPT09dHlwZW9mIHQudGhlbiYmImZ1bmN0aW9uIj09PXR5cGVvZiB0LmNhdGNofWZ1bmN0aW9uIGgodCl7cmV0dXJuIG51bGw9PXQ/IiI6QXJyYXkuaXNBcnJheSh0KXx8dSh0KSYmdC50b1N0cmluZz09PWM/SlNPTi5zdHJpbmdpZnkodCxudWxsLDIpOlN0cmluZyh0KX1mdW5jdGlvbiBwKHQpe3ZhciBlPXBhcnNlRmxvYXQodCk7cmV0dXJuIGlzTmFOKGUpP3Q6ZX1mdW5jdGlvbiB2KHQsZSl7Zm9yKHZhciBuPU9iamVjdC5jcmVhdGUobnVsbCkscj10LnNwbGl0KCIsIiksaT0wO2k8ci5sZW5ndGg7aSsrKW5bcltpXV09ITA7cmV0dXJuIGU/ZnVuY3Rpb24odCl7cmV0dXJuIG5bdC50b0xvd2VyQ2FzZSgpXX06ZnVuY3Rpb24odCl7cmV0dXJuIG5bdF19fXYoInNsb3QsY29tcG9uZW50IiwhMCk7dmFyIGc9digia2V5LHJlZixzbG90LHNsb3Qtc2NvcGUsaXMiKTtmdW5jdGlvbiBtKHQsZSl7aWYodC5sZW5ndGgpe3ZhciBuPXQuaW5kZXhPZihlKTtpZihuPi0xKXJldHVybiB0LnNwbGljZShuLDEpfX12YXIgYj1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O2Z1bmN0aW9uIHkodCxlKXtyZXR1cm4gYi5jYWxsKHQsZSl9ZnVuY3Rpb24gXyh0KXt2YXIgZT1PYmplY3QuY3JlYXRlKG51bGwpO3JldHVybiBmdW5jdGlvbihuKXt2YXIgcj1lW25dO3JldHVybiByfHwoZVtuXT10KG4pKX19dmFyIHc9Ly0oXHcpL2cseD1fKChmdW5jdGlvbih0KXtyZXR1cm4gdC5yZXBsYWNlKHcsKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGU/ZS50b1VwcGVyQ2FzZSgpOiIifSkpfSkpLFM9XygoZnVuY3Rpb24odCl7cmV0dXJuIHQuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkrdC5zbGljZSgxKX0pKSxrPS9cQihbQS1aXSkvZyxDPV8oKGZ1bmN0aW9uKHQpe3JldHVybiB0LnJlcGxhY2UoaywiLSQxIikudG9Mb3dlckNhc2UoKX0pKTt2YXIgTz1GdW5jdGlvbi5wcm90b3R5cGUuYmluZD9mdW5jdGlvbih0LGUpe3JldHVybiB0LmJpbmQoZSl9OmZ1bmN0aW9uKHQsZSl7ZnVuY3Rpb24gbihuKXt2YXIgcj1hcmd1bWVudHMubGVuZ3RoO3JldHVybiByP3I+MT90LmFwcGx5KGUsYXJndW1lbnRzKTp0LmNhbGwoZSxuKTp0LmNhbGwoZSl9cmV0dXJuIG4uX2xlbmd0aD10Lmxlbmd0aCxufTtmdW5jdGlvbiBUKHQsZSl7ZT1lfHwwO3ZhciBuPXQubGVuZ3RoLWUscj1uZXcgQXJyYXkobik7d2hpbGUobi0tKXJbbl09dFtuK2VdO3JldHVybiByfWZ1bmN0aW9uIEUodCxlKXtmb3IodmFyIG4gaW4gZSl0W25dPWVbbl07cmV0dXJuIHR9ZnVuY3Rpb24gQSh0KXtmb3IodmFyIGU9e30sbj0wO248dC5sZW5ndGg7bisrKXRbbl0mJkUoZSx0W25dKTtyZXR1cm4gZX1mdW5jdGlvbiBqKHQsZSxuKXt9dmFyIE09ZnVuY3Rpb24odCxlLG4pe3JldHVybiExfSxJPWZ1bmN0aW9uKHQpe3JldHVybiB0fTtmdW5jdGlvbiBQKHQsZSl7aWYodD09PWUpcmV0dXJuITA7dmFyIG49cyh0KSxyPXMoZSk7aWYoIW58fCFyKXJldHVybiFuJiYhciYmU3RyaW5nKHQpPT09U3RyaW5nKGUpO3RyeXt2YXIgaT1BcnJheS5pc0FycmF5KHQpLG89QXJyYXkuaXNBcnJheShlKTtpZihpJiZvKXJldHVybiB0Lmxlbmd0aD09PWUubGVuZ3RoJiZ0LmV2ZXJ5KChmdW5jdGlvbih0LG4pe3JldHVybiBQKHQsZVtuXSl9KSk7aWYodCBpbnN0YW5jZW9mIERhdGUmJmUgaW5zdGFuY2VvZiBEYXRlKXJldHVybiB0LmdldFRpbWUoKT09PWUuZ2V0VGltZSgpO2lmKGl8fG8pcmV0dXJuITE7dmFyIGE9T2JqZWN0LmtleXModCksYz1PYmplY3Qua2V5cyhlKTtyZXR1cm4gYS5sZW5ndGg9PT1jLmxlbmd0aCYmYS5ldmVyeSgoZnVuY3Rpb24obil7cmV0dXJuIFAodFtuXSxlW25dKX0pKX1jYXRjaCh1KXtyZXR1cm4hMX19ZnVuY3Rpb24gJCh0LGUpe2Zvcih2YXIgbj0wO248dC5sZW5ndGg7bisrKWlmKFAodFtuXSxlKSlyZXR1cm4gbjtyZXR1cm4tMX1mdW5jdGlvbiBMKHQpe3ZhciBlPSExO3JldHVybiBmdW5jdGlvbigpe2V8fChlPSEwLHQuYXBwbHkodGhpcyxhcmd1bWVudHMpKX19dmFyIFI9WyJjb21wb25lbnQiLCJkaXJlY3RpdmUiLCJmaWx0ZXIiXSxOPVsiYmVmb3JlQ3JlYXRlIiwiY3JlYXRlZCIsImJlZm9yZU1vdW50IiwibW91bnRlZCIsImJlZm9yZVVwZGF0ZSIsInVwZGF0ZWQiLCJiZWZvcmVEZXN0cm95IiwiZGVzdHJveWVkIiwiYWN0aXZhdGVkIiwiZGVhY3RpdmF0ZWQiLCJlcnJvckNhcHR1cmVkIiwic2VydmVyUHJlZmV0Y2giXSxEPXtvcHRpb25NZXJnZVN0cmF0ZWdpZXM6T2JqZWN0LmNyZWF0ZShudWxsKSxzaWxlbnQ6ITEscHJvZHVjdGlvblRpcDohMSxkZXZ0b29sczohMSxwZXJmb3JtYW5jZTohMSxlcnJvckhhbmRsZXI6bnVsbCx3YXJuSGFuZGxlcjpudWxsLGlnbm9yZWRFbGVtZW50czpbXSxrZXlDb2RlczpPYmplY3QuY3JlYXRlKG51bGwpLGlzUmVzZXJ2ZWRUYWc6TSxpc1Jlc2VydmVkQXR0cjpNLGlzVW5rbm93bkVsZW1lbnQ6TSxnZXRUYWdOYW1lc3BhY2U6aixwYXJzZVBsYXRmb3JtVGFnTmFtZTpJLG11c3RVc2VQcm9wOk0sYXN5bmM6ITAsX2xpZmVjeWNsZUhvb2tzOk59LEI9L2EtekEtWlx1MDBCN1x1MDBDMC1cdTAwRDZcdTAwRDgtXHUwMEY2XHUwMEY4LVx1MDM3RFx1MDM3Ri1cdTFGRkZcdTIwMEMtXHUyMDBEXHUyMDNGLVx1MjA0MFx1MjA3MC1cdTIxOEZcdTJDMDAtXHUyRkVGXHUzMDAxLVx1RDdGRlx1RjkwMC1cdUZEQ0ZcdUZERjAtXHVGRkZELztmdW5jdGlvbiBGKHQpe3ZhciBlPSh0KyIiKS5jaGFyQ29kZUF0KDApO3JldHVybiAzNj09PWV8fDk1PT09ZX1mdW5jdGlvbiB6KHQsZSxuLHIpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGUse3ZhbHVlOm4sZW51bWVyYWJsZTohIXIsd3JpdGFibGU6ITAsY29uZmlndXJhYmxlOiEwfSl9dmFyIFc9bmV3IFJlZ0V4cCgiW14iK0Iuc291cmNlKyIuJF9cXGRdIik7dmFyIEgsVT0iX19wcm90b19fImlue30sVj0idW5kZWZpbmVkIiE9PXR5cGVvZiB3aW5kb3cscT0idW5kZWZpbmVkIiE9PXR5cGVvZiBXWEVudmlyb25tZW50JiYhIVdYRW52aXJvbm1lbnQucGxhdGZvcm0sWT1xJiZXWEVudmlyb25tZW50LnBsYXRmb3JtLnRvTG93ZXJDYXNlKCksWD1WJiZ3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpLEc9WCYmL21zaWV8dHJpZGVudC8udGVzdChYKSxRPVgmJlguaW5kZXhPZigibXNpZSA5LjAiKT4wLEs9WCYmWC5pbmRleE9mKCJlZGdlLyIpPjAsSj0oWCYmWC5pbmRleE9mKCJhbmRyb2lkIiksWCYmL2lwaG9uZXxpcGFkfGlwb2R8aW9zLy50ZXN0KFgpfHwiaW9zIj09PVkpLFo9KFgmJi9jaHJvbWVcL1xkKy8udGVzdChYKSxYJiYvcGhhbnRvbWpzLy50ZXN0KFgpLFgmJlgubWF0Y2goL2ZpcmVmb3hcLyhcZCspLykpLHR0PXt9LndhdGNoLGV0PSExO2lmKFYpdHJ5e3ZhciBudD17fTtPYmplY3QuZGVmaW5lUHJvcGVydHkobnQsInBhc3NpdmUiLHtnZXQ6ZnVuY3Rpb24oKXtldD0hMH19KSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigidGVzdC1wYXNzaXZlIixudWxsLG50KX1jYXRjaChIaSl7fXZhciBydD1mdW5jdGlvbigpe3JldHVybiB2b2lkIDA9PT1IJiYoSD0hViYmIXEmJiJ1bmRlZmluZWQiIT09dHlwZW9mIHQmJih0WyJwcm9jZXNzIl0mJiJzZXJ2ZXIiPT09dFsicHJvY2VzcyJdLmVudi5WVUVfRU5WKSksSH0saXQ9ViYmd2luZG93Ll9fVlVFX0RFVlRPT0xTX0dMT0JBTF9IT09LX187ZnVuY3Rpb24gb3QodCl7cmV0dXJuImZ1bmN0aW9uIj09PXR5cGVvZiB0JiYvbmF0aXZlIGNvZGUvLnRlc3QodC50b1N0cmluZygpKX12YXIgYXQsc3Q9InVuZGVmaW5lZCIhPT10eXBlb2YgU3ltYm9sJiZvdChTeW1ib2wpJiYidW5kZWZpbmVkIiE9PXR5cGVvZiBSZWZsZWN0JiZvdChSZWZsZWN0Lm93bktleXMpO2F0PSJ1bmRlZmluZWQiIT09dHlwZW9mIFNldCYmb3QoU2V0KT9TZXQ6ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7dGhpcy5zZXQ9T2JqZWN0LmNyZWF0ZShudWxsKX1yZXR1cm4gdC5wcm90b3R5cGUuaGFzPWZ1bmN0aW9uKHQpe3JldHVybiEwPT09dGhpcy5zZXRbdF19LHQucHJvdG90eXBlLmFkZD1mdW5jdGlvbih0KXt0aGlzLnNldFt0XT0hMH0sdC5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLnNldD1PYmplY3QuY3JlYXRlKG51bGwpfSx0fSgpO3ZhciBjdD1qLHV0PTAsbHQ9ZnVuY3Rpb24oKXt0aGlzLmlkPXV0KyssdGhpcy5zdWJzPVtdfTtmdW5jdGlvbiBmdCh0KXtsdC5TaGFyZWRPYmplY3QudGFyZ2V0U3RhY2sucHVzaCh0KSxsdC5TaGFyZWRPYmplY3QudGFyZ2V0PXQsbHQudGFyZ2V0PXR9ZnVuY3Rpb24gZHQoKXtsdC5TaGFyZWRPYmplY3QudGFyZ2V0U3RhY2sucG9wKCksbHQuU2hhcmVkT2JqZWN0LnRhcmdldD1sdC5TaGFyZWRPYmplY3QudGFyZ2V0U3RhY2tbbHQuU2hhcmVkT2JqZWN0LnRhcmdldFN0YWNrLmxlbmd0aC0xXSxsdC50YXJnZXQ9bHQuU2hhcmVkT2JqZWN0LnRhcmdldH1sdC5wcm90b3R5cGUuYWRkU3ViPWZ1bmN0aW9uKHQpe3RoaXMuc3Vicy5wdXNoKHQpfSxsdC5wcm90b3R5cGUucmVtb3ZlU3ViPWZ1bmN0aW9uKHQpe20odGhpcy5zdWJzLHQpfSxsdC5wcm90b3R5cGUuZGVwZW5kPWZ1bmN0aW9uKCl7bHQuU2hhcmVkT2JqZWN0LnRhcmdldCYmbHQuU2hhcmVkT2JqZWN0LnRhcmdldC5hZGREZXAodGhpcyl9LGx0LnByb3RvdHlwZS5ub3RpZnk9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLnN1YnMuc2xpY2UoKTtmb3IodmFyIGU9MCxuPXQubGVuZ3RoO2U8bjtlKyspdFtlXS51cGRhdGUoKX0sbHQuU2hhcmVkT2JqZWN0PXt9LGx0LlNoYXJlZE9iamVjdC50YXJnZXQ9bnVsbCxsdC5TaGFyZWRPYmplY3QudGFyZ2V0U3RhY2s9W107dmFyIGh0PWZ1bmN0aW9uKHQsZSxuLHIsaSxvLGEscyl7dGhpcy50YWc9dCx0aGlzLmRhdGE9ZSx0aGlzLmNoaWxkcmVuPW4sdGhpcy50ZXh0PXIsdGhpcy5lbG09aSx0aGlzLm5zPXZvaWQgMCx0aGlzLmNvbnRleHQ9byx0aGlzLmZuQ29udGV4dD12b2lkIDAsdGhpcy5mbk9wdGlvbnM9dm9pZCAwLHRoaXMuZm5TY29wZUlkPXZvaWQgMCx0aGlzLmtleT1lJiZlLmtleSx0aGlzLmNvbXBvbmVudE9wdGlvbnM9YSx0aGlzLmNvbXBvbmVudEluc3RhbmNlPXZvaWQgMCx0aGlzLnBhcmVudD12b2lkIDAsdGhpcy5yYXc9ITEsdGhpcy5pc1N0YXRpYz0hMSx0aGlzLmlzUm9vdEluc2VydD0hMCx0aGlzLmlzQ29tbWVudD0hMSx0aGlzLmlzQ2xvbmVkPSExLHRoaXMuaXNPbmNlPSExLHRoaXMuYXN5bmNGYWN0b3J5PXMsdGhpcy5hc3luY01ldGE9dm9pZCAwLHRoaXMuaXNBc3luY1BsYWNlaG9sZGVyPSExfSxwdD17Y2hpbGQ6e2NvbmZpZ3VyYWJsZTohMH19O3B0LmNoaWxkLmdldD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmNvbXBvbmVudEluc3RhbmNlfSxPYmplY3QuZGVmaW5lUHJvcGVydGllcyhodC5wcm90b3R5cGUscHQpO3ZhciB2dD1mdW5jdGlvbih0KXt2b2lkIDA9PT10JiYodD0iIik7dmFyIGU9bmV3IGh0O3JldHVybiBlLnRleHQ9dCxlLmlzQ29tbWVudD0hMCxlfTtmdW5jdGlvbiBndCh0KXtyZXR1cm4gbmV3IGh0KHZvaWQgMCx2b2lkIDAsdm9pZCAwLFN0cmluZyh0KSl9ZnVuY3Rpb24gbXQodCl7dmFyIGU9bmV3IGh0KHQudGFnLHQuZGF0YSx0LmNoaWxkcmVuJiZ0LmNoaWxkcmVuLnNsaWNlKCksdC50ZXh0LHQuZWxtLHQuY29udGV4dCx0LmNvbXBvbmVudE9wdGlvbnMsdC5hc3luY0ZhY3RvcnkpO3JldHVybiBlLm5zPXQubnMsZS5pc1N0YXRpYz10LmlzU3RhdGljLGUua2V5PXQua2V5LGUuaXNDb21tZW50PXQuaXNDb21tZW50LGUuZm5Db250ZXh0PXQuZm5Db250ZXh0LGUuZm5PcHRpb25zPXQuZm5PcHRpb25zLGUuZm5TY29wZUlkPXQuZm5TY29wZUlkLGUuYXN5bmNNZXRhPXQuYXN5bmNNZXRhLGUuaXNDbG9uZWQ9ITAsZX12YXIgYnQ9QXJyYXkucHJvdG90eXBlLHl0PU9iamVjdC5jcmVhdGUoYnQpO1sicHVzaCIsInBvcCIsInNoaWZ0IiwidW5zaGlmdCIsInNwbGljZSIsInNvcnQiLCJyZXZlcnNlIl0uZm9yRWFjaCgoZnVuY3Rpb24odCl7dmFyIGU9YnRbdF07eih5dCx0LChmdW5jdGlvbigpe3ZhciBuPVtdLHI9YXJndW1lbnRzLmxlbmd0aDt3aGlsZShyLS0pbltyXT1hcmd1bWVudHNbcl07dmFyIGksbz1lLmFwcGx5KHRoaXMsbiksYT10aGlzLl9fb2JfXztzd2l0Y2godCl7Y2FzZSJwdXNoIjpjYXNlInVuc2hpZnQiOmk9bjticmVhaztjYXNlInNwbGljZSI6aT1uLnNsaWNlKDIpO2JyZWFrfXJldHVybiBpJiZhLm9ic2VydmVBcnJheShpKSxhLmRlcC5ub3RpZnkoKSxvfSkpfSkpO3ZhciBfdD1PYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh5dCksd3Q9ITA7ZnVuY3Rpb24geHQodCl7d3Q9dH12YXIgU3Q9ZnVuY3Rpb24odCl7dGhpcy52YWx1ZT10LHRoaXMuZGVwPW5ldyBsdCx0aGlzLnZtQ291bnQ9MCx6KHQsIl9fb2JfXyIsdGhpcyksQXJyYXkuaXNBcnJheSh0KT8oVT9mdW5jdGlvbih0LGUpe3QuX19wcm90b19fPWV9KHQseXQpOmZ1bmN0aW9uKHQsZSxuKXtmb3IodmFyIHI9MCxpPW4ubGVuZ3RoO3I8aTtyKyspe3ZhciBvPW5bcl07eih0LG8sZVtvXSl9fSh0LHl0LF90KSx0aGlzLm9ic2VydmVBcnJheSh0KSk6dGhpcy53YWxrKHQpfTtmdW5jdGlvbiBrdCh0LGUpe3ZhciBuO2lmKHModCkmJiEodCBpbnN0YW5jZW9mIGh0KSlyZXR1cm4geSh0LCJfX29iX18iKSYmdC5fX29iX18gaW5zdGFuY2VvZiBTdD9uPXQuX19vYl9fOnd0JiYhcnQoKSYmKEFycmF5LmlzQXJyYXkodCl8fHUodCkpJiZPYmplY3QuaXNFeHRlbnNpYmxlKHQpJiYhdC5faXNWdWUmJihuPW5ldyBTdCh0KSksZSYmbiYmbi52bUNvdW50Kyssbn1mdW5jdGlvbiBDdCh0LGUsbixyLGkpe3ZhciBvPW5ldyBsdCxhPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodCxlKTtpZighYXx8ITEhPT1hLmNvbmZpZ3VyYWJsZSl7dmFyIHM9YSYmYS5nZXQsYz1hJiZhLnNldDtzJiYhY3x8MiE9PWFyZ3VtZW50cy5sZW5ndGh8fChuPXRbZV0pO3ZhciB1PSFpJiZrdChuKTtPYmplY3QuZGVmaW5lUHJvcGVydHkodCxlLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXt2YXIgZT1zP3MuY2FsbCh0KTpuO3JldHVybiBsdC5TaGFyZWRPYmplY3QudGFyZ2V0JiYoby5kZXBlbmQoKSx1JiYodS5kZXAuZGVwZW5kKCksQXJyYXkuaXNBcnJheShlKSYmRXQoZSkpKSxlfSxzZXQ6ZnVuY3Rpb24oZSl7dmFyIHI9cz9zLmNhbGwodCk6bjtlPT09cnx8ZSE9PWUmJnIhPT1yfHxzJiYhY3x8KGM/Yy5jYWxsKHQsZSk6bj1lLHU9IWkmJmt0KGUpLG8ubm90aWZ5KCkpfX0pfX1mdW5jdGlvbiBPdCh0LGUsbil7aWYoQXJyYXkuaXNBcnJheSh0KSYmZihlKSlyZXR1cm4gdC5sZW5ndGg9TWF0aC5tYXgodC5sZW5ndGgsZSksdC5zcGxpY2UoZSwxLG4pLG47aWYoZSBpbiB0JiYhKGUgaW4gT2JqZWN0LnByb3RvdHlwZSkpcmV0dXJuIHRbZV09bixuO3ZhciByPXQuX19vYl9fO3JldHVybiB0Ll9pc1Z1ZXx8ciYmci52bUNvdW50P246cj8oQ3Qoci52YWx1ZSxlLG4pLHIuZGVwLm5vdGlmeSgpLG4pOih0W2VdPW4sbil9ZnVuY3Rpb24gVHQodCxlKXtpZihBcnJheS5pc0FycmF5KHQpJiZmKGUpKXQuc3BsaWNlKGUsMSk7ZWxzZXt2YXIgbj10Ll9fb2JfXzt0Ll9pc1Z1ZXx8biYmbi52bUNvdW50fHx5KHQsZSkmJihkZWxldGUgdFtlXSxuJiZuLmRlcC5ub3RpZnkoKSl9fWZ1bmN0aW9uIEV0KHQpe2Zvcih2YXIgZT12b2lkIDAsbj0wLHI9dC5sZW5ndGg7bjxyO24rKyllPXRbbl0sZSYmZS5fX29iX18mJmUuX19vYl9fLmRlcC5kZXBlbmQoKSxBcnJheS5pc0FycmF5KGUpJiZFdChlKX1TdC5wcm90b3R5cGUud2Fsaz1mdW5jdGlvbih0KXtmb3IodmFyIGU9T2JqZWN0LmtleXModCksbj0wO248ZS5sZW5ndGg7bisrKUN0KHQsZVtuXSl9LFN0LnByb3RvdHlwZS5vYnNlcnZlQXJyYXk9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPTAsbj10Lmxlbmd0aDtlPG47ZSsrKWt0KHRbZV0pfTt2YXIgQXQ9RC5vcHRpb25NZXJnZVN0cmF0ZWdpZXM7ZnVuY3Rpb24ganQodCxlKXtpZighZSlyZXR1cm4gdDtmb3IodmFyIG4scixpLG89c3Q/UmVmbGVjdC5vd25LZXlzKGUpOk9iamVjdC5rZXlzKGUpLGE9MDthPG8ubGVuZ3RoO2ErKyluPW9bYV0sIl9fb2JfXyIhPT1uJiYocj10W25dLGk9ZVtuXSx5KHQsbik/ciE9PWkmJnUocikmJnUoaSkmJmp0KHIsaSk6T3QodCxuLGkpKTtyZXR1cm4gdH1mdW5jdGlvbiBNdCh0LGUsbil7cmV0dXJuIG4/ZnVuY3Rpb24oKXt2YXIgcj0iZnVuY3Rpb24iPT09dHlwZW9mIGU/ZS5jYWxsKG4sbik6ZSxpPSJmdW5jdGlvbiI9PT10eXBlb2YgdD90LmNhbGwobixuKTp0O3JldHVybiByP2p0KHIsaSk6aX06ZT90P2Z1bmN0aW9uKCl7cmV0dXJuIGp0KCJmdW5jdGlvbiI9PT10eXBlb2YgZT9lLmNhbGwodGhpcyx0aGlzKTplLCJmdW5jdGlvbiI9PT10eXBlb2YgdD90LmNhbGwodGhpcyx0aGlzKTp0KX06ZTp0fWZ1bmN0aW9uIEl0KHQsZSl7dmFyIG49ZT90P3QuY29uY2F0KGUpOkFycmF5LmlzQXJyYXkoZSk/ZTpbZV06dDtyZXR1cm4gbj9mdW5jdGlvbih0KXtmb3IodmFyIGU9W10sbj0wO248dC5sZW5ndGg7bisrKS0xPT09ZS5pbmRleE9mKHRbbl0pJiZlLnB1c2godFtuXSk7cmV0dXJuIGV9KG4pOm59ZnVuY3Rpb24gUHQodCxlLG4scil7dmFyIGk9T2JqZWN0LmNyZWF0ZSh0fHxudWxsKTtyZXR1cm4gZT9FKGksZSk6aX1BdC5kYXRhPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gbj9NdCh0LGUsbik6ZSYmImZ1bmN0aW9uIiE9PXR5cGVvZiBlP3Q6TXQodCxlKX0sTi5mb3JFYWNoKChmdW5jdGlvbih0KXtBdFt0XT1JdH0pKSxSLmZvckVhY2goKGZ1bmN0aW9uKHQpe0F0W3QrInMiXT1QdH0pKSxBdC53YXRjaD1mdW5jdGlvbih0LGUsbixyKXtpZih0PT09dHQmJih0PXZvaWQgMCksZT09PXR0JiYoZT12b2lkIDApLCFlKXJldHVybiBPYmplY3QuY3JlYXRlKHR8fG51bGwpO2lmKCF0KXJldHVybiBlO3ZhciBpPXt9O2Zvcih2YXIgbyBpbiBFKGksdCksZSl7dmFyIGE9aVtvXSxzPWVbb107YSYmIUFycmF5LmlzQXJyYXkoYSkmJihhPVthXSksaVtvXT1hP2EuY29uY2F0KHMpOkFycmF5LmlzQXJyYXkocyk/czpbc119cmV0dXJuIGl9LEF0LnByb3BzPUF0Lm1ldGhvZHM9QXQuaW5qZWN0PUF0LmNvbXB1dGVkPWZ1bmN0aW9uKHQsZSxuLHIpe2lmKCF0KXJldHVybiBlO3ZhciBpPU9iamVjdC5jcmVhdGUobnVsbCk7cmV0dXJuIEUoaSx0KSxlJiZFKGksZSksaX0sQXQucHJvdmlkZT1NdDt2YXIgJHQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdm9pZCAwPT09ZT90OmV9O2Z1bmN0aW9uIEx0KHQsZSxuKXtpZigiZnVuY3Rpb24iPT09dHlwZW9mIGUmJihlPWUub3B0aW9ucyksZnVuY3Rpb24odCxlKXt2YXIgbj10LnByb3BzO2lmKG4pe3ZhciByLGksbyxhPXt9O2lmKEFycmF5LmlzQXJyYXkobikpe3I9bi5sZW5ndGg7d2hpbGUoci0tKWk9bltyXSwic3RyaW5nIj09PXR5cGVvZiBpJiYobz14KGkpLGFbb109e3R5cGU6bnVsbH0pfWVsc2UgaWYodShuKSlmb3IodmFyIHMgaW4gbilpPW5bc10sbz14KHMpLGFbb109dShpKT9pOnt0eXBlOml9O2Vsc2UgMDt0LnByb3BzPWF9fShlKSxmdW5jdGlvbih0LGUpe3ZhciBuPXQuaW5qZWN0O2lmKG4pe3ZhciByPXQuaW5qZWN0PXt9O2lmKEFycmF5LmlzQXJyYXkobikpZm9yKHZhciBpPTA7aTxuLmxlbmd0aDtpKyspcltuW2ldXT17ZnJvbTpuW2ldfTtlbHNlIGlmKHUobikpZm9yKHZhciBvIGluIG4pe3ZhciBhPW5bb107cltvXT11KGEpP0Uoe2Zyb206b30sYSk6e2Zyb206YX19ZWxzZSAwfX0oZSksZnVuY3Rpb24odCl7dmFyIGU9dC5kaXJlY3RpdmVzO2lmKGUpZm9yKHZhciBuIGluIGUpe3ZhciByPWVbbl07ImZ1bmN0aW9uIj09PXR5cGVvZiByJiYoZVtuXT17YmluZDpyLHVwZGF0ZTpyfSl9fShlKSwhZS5fYmFzZSYmKGUuZXh0ZW5kcyYmKHQ9THQodCxlLmV4dGVuZHMsbikpLGUubWl4aW5zKSlmb3IodmFyIHI9MCxpPWUubWl4aW5zLmxlbmd0aDtyPGk7cisrKXQ9THQodCxlLm1peGluc1tyXSxuKTt2YXIgbyxhPXt9O2ZvcihvIGluIHQpcyhvKTtmb3IobyBpbiBlKXkodCxvKXx8cyhvKTtmdW5jdGlvbiBzKHIpe3ZhciBpPUF0W3JdfHwkdDthW3JdPWkodFtyXSxlW3JdLG4scil9cmV0dXJuIGF9ZnVuY3Rpb24gUnQodCxlLG4scil7aWYoInN0cmluZyI9PT10eXBlb2Ygbil7dmFyIGk9dFtlXTtpZih5KGksbikpcmV0dXJuIGlbbl07dmFyIG89eChuKTtpZih5KGksbykpcmV0dXJuIGlbb107dmFyIGE9UyhvKTtpZih5KGksYSkpcmV0dXJuIGlbYV07dmFyIHM9aVtuXXx8aVtvXXx8aVthXTtyZXR1cm4gc319ZnVuY3Rpb24gTnQodCxlLG4scil7dmFyIGk9ZVt0XSxvPSF5KG4sdCksYT1uW3RdLHM9RnQoQm9vbGVhbixpLnR5cGUpO2lmKHM+LTEpaWYobyYmIXkoaSwiZGVmYXVsdCIpKWE9ITE7ZWxzZSBpZigiIj09PWF8fGE9PT1DKHQpKXt2YXIgYz1GdChTdHJpbmcsaS50eXBlKTsoYzwwfHxzPGMpJiYoYT0hMCl9aWYodm9pZCAwPT09YSl7YT1mdW5jdGlvbih0LGUsbil7aWYoIXkoZSwiZGVmYXVsdCIpKXJldHVybjt2YXIgcj1lLmRlZmF1bHQ7MDtpZih0JiZ0LiRvcHRpb25zLnByb3BzRGF0YSYmdm9pZCAwPT09dC4kb3B0aW9ucy5wcm9wc0RhdGFbbl0mJnZvaWQgMCE9PXQuX3Byb3BzW25dKXJldHVybiB0Ll9wcm9wc1tuXTtyZXR1cm4iZnVuY3Rpb24iPT09dHlwZW9mIHImJiJGdW5jdGlvbiIhPT1EdChlLnR5cGUpP3IuY2FsbCh0KTpyfShyLGksdCk7dmFyIHU9d3Q7eHQoITApLGt0KGEpLHh0KHUpfXJldHVybiBhfWZ1bmN0aW9uIER0KHQpe3ZhciBlPXQmJnQudG9TdHJpbmcoKS5tYXRjaCgvXlxzKmZ1bmN0aW9uIChcdyspLyk7cmV0dXJuIGU/ZVsxXToiIn1mdW5jdGlvbiBCdCh0LGUpe3JldHVybiBEdCh0KT09PUR0KGUpfWZ1bmN0aW9uIEZ0KHQsZSl7aWYoIUFycmF5LmlzQXJyYXkoZSkpcmV0dXJuIEJ0KGUsdCk/MDotMTtmb3IodmFyIG49MCxyPWUubGVuZ3RoO248cjtuKyspaWYoQnQoZVtuXSx0KSlyZXR1cm4gbjtyZXR1cm4tMX1mdW5jdGlvbiB6dCh0LGUsbil7ZnQoKTt0cnl7aWYoZSl7dmFyIHI9ZTt3aGlsZShyPXIuJHBhcmVudCl7dmFyIGk9ci4kb3B0aW9ucy5lcnJvckNhcHR1cmVkO2lmKGkpZm9yKHZhciBvPTA7bzxpLmxlbmd0aDtvKyspdHJ5e3ZhciBhPSExPT09aVtvXS5jYWxsKHIsdCxlLG4pO2lmKGEpcmV0dXJufWNhdGNoKEhpKXtIdChIaSxyLCJlcnJvckNhcHR1cmVkIGhvb2siKX19fUh0KHQsZSxuKX1maW5hbGx5e2R0KCl9fWZ1bmN0aW9uIFd0KHQsZSxuLHIsaSl7dmFyIG87dHJ5e289bj90LmFwcGx5KGUsbik6dC5jYWxsKGUpLG8mJiFvLl9pc1Z1ZSYmZChvKSYmIW8uX2hhbmRsZWQmJihvLmNhdGNoKChmdW5jdGlvbih0KXtyZXR1cm4genQodCxyLGkrIiAoUHJvbWlzZS9hc3luYykiKX0pKSxvLl9oYW5kbGVkPSEwKX1jYXRjaChIaSl7enQoSGkscixpKX1yZXR1cm4gb31mdW5jdGlvbiBIdCh0LGUsbil7aWYoRC5lcnJvckhhbmRsZXIpdHJ5e3JldHVybiBELmVycm9ySGFuZGxlci5jYWxsKG51bGwsdCxlLG4pfWNhdGNoKEhpKXtIaSE9PXQmJlV0KEhpLG51bGwsImNvbmZpZy5lcnJvckhhbmRsZXIiKX1VdCh0LGUsbil9ZnVuY3Rpb24gVXQodCxlLG4pe2lmKCFWJiYhcXx8InVuZGVmaW5lZCI9PT10eXBlb2YgY29uc29sZSl0aHJvdyB0O2NvbnNvbGUuZXJyb3IodCl9dmFyIFZ0LHF0PSExLFl0PVtdLFh0PSExO2Z1bmN0aW9uIEd0KCl7WHQ9ITE7dmFyIHQ9WXQuc2xpY2UoMCk7WXQubGVuZ3RoPTA7Zm9yKHZhciBlPTA7ZTx0Lmxlbmd0aDtlKyspdFtlXSgpfWlmKCJ1bmRlZmluZWQiIT09dHlwZW9mIFByb21pc2UmJm90KFByb21pc2UpKXt2YXIgUXQ9UHJvbWlzZS5yZXNvbHZlKCk7VnQ9ZnVuY3Rpb24oKXtRdC50aGVuKEd0KSxKJiZzZXRUaW1lb3V0KGopfSxxdD0hMH1lbHNlIGlmKEd8fCJ1bmRlZmluZWQiPT09dHlwZW9mIE11dGF0aW9uT2JzZXJ2ZXJ8fCFvdChNdXRhdGlvbk9ic2VydmVyKSYmIltvYmplY3QgTXV0YXRpb25PYnNlcnZlckNvbnN0cnVjdG9yXSIhPT1NdXRhdGlvbk9ic2VydmVyLnRvU3RyaW5nKCkpVnQ9InVuZGVmaW5lZCIhPT10eXBlb2Ygc2V0SW1tZWRpYXRlJiZvdChzZXRJbW1lZGlhdGUpP2Z1bmN0aW9uKCl7c2V0SW1tZWRpYXRlKEd0KX06ZnVuY3Rpb24oKXtzZXRUaW1lb3V0KEd0LDApfTtlbHNle3ZhciBLdD0xLEp0PW5ldyBNdXRhdGlvbk9ic2VydmVyKEd0KSxadD1kb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShTdHJpbmcoS3QpKTtKdC5vYnNlcnZlKFp0LHtjaGFyYWN0ZXJEYXRhOiEwfSksVnQ9ZnVuY3Rpb24oKXtLdD0oS3QrMSklMixadC5kYXRhPVN0cmluZyhLdCl9LHF0PSEwfWZ1bmN0aW9uIHRlKHQsZSl7dmFyIG47aWYoWXQucHVzaCgoZnVuY3Rpb24oKXtpZih0KXRyeXt0LmNhbGwoZSl9Y2F0Y2goSGkpe3p0KEhpLGUsIm5leHRUaWNrIil9ZWxzZSBuJiZuKGUpfSkpLFh0fHwoWHQ9ITAsVnQoKSksIXQmJiJ1bmRlZmluZWQiIT09dHlwZW9mIFByb21pc2UpcmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbih0KXtuPXR9KSl9dmFyIGVlPW5ldyBhdDtmdW5jdGlvbiBuZSh0KXsoZnVuY3Rpb24gdChlLG4pe3ZhciByLGksbz1BcnJheS5pc0FycmF5KGUpO2lmKCFvJiYhcyhlKXx8T2JqZWN0LmlzRnJvemVuKGUpfHxlIGluc3RhbmNlb2YgaHQpcmV0dXJuO2lmKGUuX19vYl9fKXt2YXIgYT1lLl9fb2JfXy5kZXAuaWQ7aWYobi5oYXMoYSkpcmV0dXJuO24uYWRkKGEpfWlmKG8pe3I9ZS5sZW5ndGg7d2hpbGUoci0tKXQoZVtyXSxuKX1lbHNle2k9T2JqZWN0LmtleXMoZSkscj1pLmxlbmd0aDt3aGlsZShyLS0pdChlW2lbcl1dLG4pfX0pKHQsZWUpLGVlLmNsZWFyKCl9dmFyIHJlPV8oKGZ1bmN0aW9uKHQpe3ZhciBlPSImIj09PXQuY2hhckF0KDApO3Q9ZT90LnNsaWNlKDEpOnQ7dmFyIG49In4iPT09dC5jaGFyQXQoMCk7dD1uP3Quc2xpY2UoMSk6dDt2YXIgcj0iISI9PT10LmNoYXJBdCgwKTtyZXR1cm4gdD1yP3Quc2xpY2UoMSk6dCx7bmFtZTp0LG9uY2U6bixjYXB0dXJlOnIscGFzc2l2ZTplfX0pKTtmdW5jdGlvbiBpZSh0LGUpe2Z1bmN0aW9uIG4oKXt2YXIgdD1hcmd1bWVudHMscj1uLmZucztpZighQXJyYXkuaXNBcnJheShyKSlyZXR1cm4gV3QocixudWxsLGFyZ3VtZW50cyxlLCJ2LW9uIGhhbmRsZXIiKTtmb3IodmFyIGk9ci5zbGljZSgpLG89MDtvPGkubGVuZ3RoO28rKylXdChpW29dLG51bGwsdCxlLCJ2LW9uIGhhbmRsZXIiKX1yZXR1cm4gbi5mbnM9dCxufWZ1bmN0aW9uIG9lKHQsZSxuLGksYSxzKXt2YXIgYyx1LGwsZjtmb3IoYyBpbiB0KXU9dFtjXSxsPWVbY10sZj1yZShjKSxyKHUpfHwocihsKT8ocih1LmZucykmJih1PXRbY109aWUodSxzKSksbyhmLm9uY2UpJiYodT10W2NdPWEoZi5uYW1lLHUsZi5jYXB0dXJlKSksbihmLm5hbWUsdSxmLmNhcHR1cmUsZi5wYXNzaXZlLGYucGFyYW1zKSk6dSE9PWwmJihsLmZucz11LHRbY109bCkpO2ZvcihjIGluIGUpcih0W2NdKSYmKGY9cmUoYyksaShmLm5hbWUsZVtjXSxmLmNhcHR1cmUpKX1mdW5jdGlvbiBhZSh0LGUsbil7dmFyIGE7dCBpbnN0YW5jZW9mIGh0JiYodD10LmRhdGEuaG9va3x8KHQuZGF0YS5ob29rPXt9KSk7dmFyIHM9dFtlXTtmdW5jdGlvbiBjKCl7bi5hcHBseSh0aGlzLGFyZ3VtZW50cyksbShhLmZucyxjKX1yKHMpP2E9aWUoW2NdKTppKHMuZm5zKSYmbyhzLm1lcmdlZCk/KGE9cyxhLmZucy5wdXNoKGMpKTphPWllKFtzLGNdKSxhLm1lcmdlZD0hMCx0W2VdPWF9ZnVuY3Rpb24gc2UodCxlLG4sbyl7dmFyIGE9ZS5vcHRpb25zLm1wT3B0aW9ucyYmZS5vcHRpb25zLm1wT3B0aW9ucy5wcm9wZXJ0aWVzO2lmKHIoYSkpcmV0dXJuIG47dmFyIHM9ZS5vcHRpb25zLm1wT3B0aW9ucy5leHRlcm5hbENsYXNzZXN8fFtdLGM9dC5hdHRycyx1PXQucHJvcHM7aWYoaShjKXx8aSh1KSlmb3IodmFyIGwgaW4gYSl7dmFyIGY9QyhsKSxkPWNlKG4sdSxsLGYsITApfHxjZShuLGMsbCxmLCExKTtkJiZuW2xdJiYtMSE9PXMuaW5kZXhPZihmKSYmb1t4KG5bbF0pXSYmKG5bbF09b1t4KG5bbF0pXSl9cmV0dXJuIG59ZnVuY3Rpb24gY2UodCxlLG4scixvKXtpZihpKGUpKXtpZih5KGUsbikpcmV0dXJuIHRbbl09ZVtuXSxvfHxkZWxldGUgZVtuXSwhMDtpZih5KGUscikpcmV0dXJuIHRbbl09ZVtyXSxvfHxkZWxldGUgZVtyXSwhMH1yZXR1cm4hMX1mdW5jdGlvbiB1ZSh0KXtyZXR1cm4gYSh0KT9bZ3QodCldOkFycmF5LmlzQXJyYXkodCk/ZnVuY3Rpb24gdChlLG4pe3ZhciBzLGMsdSxsLGY9W107Zm9yKHM9MDtzPGUubGVuZ3RoO3MrKyljPWVbc10scihjKXx8ImJvb2xlYW4iPT09dHlwZW9mIGN8fCh1PWYubGVuZ3RoLTEsbD1mW3VdLEFycmF5LmlzQXJyYXkoYyk/Yy5sZW5ndGg+MCYmKGM9dChjLChufHwiIikrIl8iK3MpLGxlKGNbMF0pJiZsZShsKSYmKGZbdV09Z3QobC50ZXh0K2NbMF0udGV4dCksYy5zaGlmdCgpKSxmLnB1c2guYXBwbHkoZixjKSk6YShjKT9sZShsKT9mW3VdPWd0KGwudGV4dCtjKToiIiE9PWMmJmYucHVzaChndChjKSk6bGUoYykmJmxlKGwpP2ZbdV09Z3QobC50ZXh0K2MudGV4dCk6KG8oZS5faXNWTGlzdCkmJmkoYy50YWcpJiZyKGMua2V5KSYmaShuKSYmKGMua2V5PSJfX3ZsaXN0IituKyJfIitzKyJfXyIpLGYucHVzaChjKSkpO3JldHVybiBmfSh0KTp2b2lkIDB9ZnVuY3Rpb24gbGUodCl7cmV0dXJuIGkodCkmJmkodC50ZXh0KSYmZnVuY3Rpb24odCl7cmV0dXJuITE9PT10fSh0LmlzQ29tbWVudCl9ZnVuY3Rpb24gZmUodCxlKXtpZih0KXtmb3IodmFyIG49T2JqZWN0LmNyZWF0ZShudWxsKSxyPXN0P1JlZmxlY3Qub3duS2V5cyh0KTpPYmplY3Qua2V5cyh0KSxpPTA7aTxyLmxlbmd0aDtpKyspe3ZhciBvPXJbaV07aWYoIl9fb2JfXyIhPT1vKXt2YXIgYT10W29dLmZyb20scz1lO3doaWxlKHMpe2lmKHMuX3Byb3ZpZGVkJiZ5KHMuX3Byb3ZpZGVkLGEpKXtuW29dPXMuX3Byb3ZpZGVkW2FdO2JyZWFrfXM9cy4kcGFyZW50fWlmKCFzKWlmKCJkZWZhdWx0ImluIHRbb10pe3ZhciBjPXRbb10uZGVmYXVsdDtuW29dPSJmdW5jdGlvbiI9PT10eXBlb2YgYz9jLmNhbGwoZSk6Y31lbHNlIDB9fXJldHVybiBufX1mdW5jdGlvbiBkZSh0LGUpe2lmKCF0fHwhdC5sZW5ndGgpcmV0dXJue307Zm9yKHZhciBuPXt9LHI9MCxpPXQubGVuZ3RoO3I8aTtyKyspe3ZhciBvPXRbcl0sYT1vLmRhdGE7aWYoYSYmYS5hdHRycyYmYS5hdHRycy5zbG90JiZkZWxldGUgYS5hdHRycy5zbG90LG8uY29udGV4dCE9PWUmJm8uZm5Db250ZXh0IT09ZXx8IWF8fG51bGw9PWEuc2xvdClvLmFzeW5jTWV0YSYmby5hc3luY01ldGEuZGF0YSYmInBhZ2UiPT09by5hc3luY01ldGEuZGF0YS5zbG90PyhuWyJwYWdlIl18fChuWyJwYWdlIl09W10pKS5wdXNoKG8pOihuLmRlZmF1bHR8fChuLmRlZmF1bHQ9W10pKS5wdXNoKG8pO2Vsc2V7dmFyIHM9YS5zbG90LGM9bltzXXx8KG5bc109W10pOyJ0ZW1wbGF0ZSI9PT1vLnRhZz9jLnB1c2guYXBwbHkoYyxvLmNoaWxkcmVufHxbXSk6Yy5wdXNoKG8pfX1mb3IodmFyIHUgaW4gbiluW3VdLmV2ZXJ5KGhlKSYmZGVsZXRlIG5bdV07cmV0dXJuIG59ZnVuY3Rpb24gaGUodCl7cmV0dXJuIHQuaXNDb21tZW50JiYhdC5hc3luY0ZhY3Rvcnl8fCIgIj09PXQudGV4dH1mdW5jdGlvbiBwZSh0LGUscil7dmFyIGksbz1PYmplY3Qua2V5cyhlKS5sZW5ndGg+MCxhPXQ/ISF0LiRzdGFibGU6IW8scz10JiZ0LiRrZXk7aWYodCl7aWYodC5fbm9ybWFsaXplZClyZXR1cm4gdC5fbm9ybWFsaXplZDtpZihhJiZyJiZyIT09biYmcz09PXIuJGtleSYmIW8mJiFyLiRoYXNOb3JtYWwpcmV0dXJuIHI7Zm9yKHZhciBjIGluIGk9e30sdCl0W2NdJiYiJCIhPT1jWzBdJiYoaVtjXT12ZShlLGMsdFtjXSkpfWVsc2UgaT17fTtmb3IodmFyIHUgaW4gZSl1IGluIGl8fChpW3VdPWdlKGUsdSkpO3JldHVybiB0JiZPYmplY3QuaXNFeHRlbnNpYmxlKHQpJiYodC5fbm9ybWFsaXplZD1pKSx6KGksIiRzdGFibGUiLGEpLHooaSwiJGtleSIscykseihpLCIkaGFzTm9ybWFsIixvKSxpfWZ1bmN0aW9uIHZlKHQsZSxuKXt2YXIgcj1mdW5jdGlvbigpe3ZhciB0PWFyZ3VtZW50cy5sZW5ndGg/bi5hcHBseShudWxsLGFyZ3VtZW50cyk6bih7fSk7cmV0dXJuIHQ9dCYmIm9iamVjdCI9PT10eXBlb2YgdCYmIUFycmF5LmlzQXJyYXkodCk/W3RdOnVlKHQpLHQmJigwPT09dC5sZW5ndGh8fDE9PT10Lmxlbmd0aCYmdFswXS5pc0NvbW1lbnQpP3ZvaWQgMDp0fTtyZXR1cm4gbi5wcm94eSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsZSx7Z2V0OnIsZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KSxyfWZ1bmN0aW9uIGdlKHQsZSl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHRbZV19fWZ1bmN0aW9uIG1lKHQsZSl7dmFyIG4scixvLGEsYztpZihBcnJheS5pc0FycmF5KHQpfHwic3RyaW5nIj09PXR5cGVvZiB0KWZvcihuPW5ldyBBcnJheSh0Lmxlbmd0aCkscj0wLG89dC5sZW5ndGg7cjxvO3IrKyluW3JdPWUodFtyXSxyLHIscik7ZWxzZSBpZigibnVtYmVyIj09PXR5cGVvZiB0KWZvcihuPW5ldyBBcnJheSh0KSxyPTA7cjx0O3IrKyluW3JdPWUocisxLHIscixyKTtlbHNlIGlmKHModCkpaWYoc3QmJnRbU3ltYm9sLml0ZXJhdG9yXSl7bj1bXTt2YXIgdT10W1N5bWJvbC5pdGVyYXRvcl0oKSxsPXUubmV4dCgpO3doaWxlKCFsLmRvbmUpbi5wdXNoKGUobC52YWx1ZSxuLmxlbmd0aCxyLHIrKykpLGw9dS5uZXh0KCl9ZWxzZSBmb3IoYT1PYmplY3Qua2V5cyh0KSxuPW5ldyBBcnJheShhLmxlbmd0aCkscj0wLG89YS5sZW5ndGg7cjxvO3IrKyljPWFbcl0sbltyXT1lKHRbY10sYyxyLHIpO3JldHVybiBpKG4pfHwobj1bXSksbi5faXNWTGlzdD0hMCxufWZ1bmN0aW9uIGJlKHQsZSxuLHIpe3ZhciBpLG89dGhpcy4kc2NvcGVkU2xvdHNbdF07bz8obj1ufHx7fSxyJiYobj1FKEUoe30sciksbikpLGk9byhuLHRoaXMsbi5faSl8fGUpOmk9dGhpcy4kc2xvdHNbdF18fGU7dmFyIGE9biYmbi5zbG90O3JldHVybiBhP3RoaXMuJGNyZWF0ZUVsZW1lbnQoInRlbXBsYXRlIix7c2xvdDphfSxpKTppfWZ1bmN0aW9uIHllKHQpe3JldHVybiBSdCh0aGlzLiRvcHRpb25zLCJmaWx0ZXJzIix0KXx8SX1mdW5jdGlvbiBfZSh0LGUpe3JldHVybiBBcnJheS5pc0FycmF5KHQpPy0xPT09dC5pbmRleE9mKGUpOnQhPT1lfWZ1bmN0aW9uIHdlKHQsZSxuLHIsaSl7dmFyIG89RC5rZXlDb2Rlc1tlXXx8bjtyZXR1cm4gaSYmciYmIUQua2V5Q29kZXNbZV0/X2UoaSxyKTpvP19lKG8sdCk6cj9DKHIpIT09ZTp2b2lkIDB9ZnVuY3Rpb24geGUodCxlLG4scixpKXtpZihuKWlmKHMobikpe3ZhciBvO0FycmF5LmlzQXJyYXkobikmJihuPUEobikpO3ZhciBhPWZ1bmN0aW9uKGEpe2lmKCJjbGFzcyI9PT1hfHwic3R5bGUiPT09YXx8ZyhhKSlvPXQ7ZWxzZXt2YXIgcz10LmF0dHJzJiZ0LmF0dHJzLnR5cGU7bz1yfHxELm11c3RVc2VQcm9wKGUscyxhKT90LmRvbVByb3BzfHwodC5kb21Qcm9wcz17fSk6dC5hdHRyc3x8KHQuYXR0cnM9e30pfXZhciBjPXgoYSksdT1DKGEpO2lmKCEoYyBpbiBvKSYmISh1IGluIG8pJiYob1thXT1uW2FdLGkpKXt2YXIgbD10Lm9ufHwodC5vbj17fSk7bFsidXBkYXRlOiIrYV09ZnVuY3Rpb24odCl7blthXT10fX19O2Zvcih2YXIgYyBpbiBuKWEoYyl9ZWxzZTtyZXR1cm4gdH1mdW5jdGlvbiBTZSh0LGUpe3ZhciBuPXRoaXMuX3N0YXRpY1RyZWVzfHwodGhpcy5fc3RhdGljVHJlZXM9W10pLHI9blt0XTtyZXR1cm4gciYmIWV8fChyPW5bdF09dGhpcy4kb3B0aW9ucy5zdGF0aWNSZW5kZXJGbnNbdF0uY2FsbCh0aGlzLl9yZW5kZXJQcm94eSxudWxsLHRoaXMpLENlKHIsIl9fc3RhdGljX18iK3QsITEpKSxyfWZ1bmN0aW9uIGtlKHQsZSxuKXtyZXR1cm4gQ2UodCwiX19vbmNlX18iK2UrKG4/Il8iK246IiIpLCEwKSx0fWZ1bmN0aW9uIENlKHQsZSxuKXtpZihBcnJheS5pc0FycmF5KHQpKWZvcih2YXIgcj0wO3I8dC5sZW5ndGg7cisrKXRbcl0mJiJzdHJpbmciIT09dHlwZW9mIHRbcl0mJk9lKHRbcl0sZSsiXyIrcixuKTtlbHNlIE9lKHQsZSxuKX1mdW5jdGlvbiBPZSh0LGUsbil7dC5pc1N0YXRpYz0hMCx0LmtleT1lLHQuaXNPbmNlPW59ZnVuY3Rpb24gVGUodCxlKXtpZihlKWlmKHUoZSkpe3ZhciBuPXQub249dC5vbj9FKHt9LHQub24pOnt9O2Zvcih2YXIgciBpbiBlKXt2YXIgaT1uW3JdLG89ZVtyXTtuW3JdPWk/W10uY29uY2F0KGksbyk6b319ZWxzZTtyZXR1cm4gdH1mdW5jdGlvbiBFZSh0LGUsbixyKXtlPWV8fHskc3RhYmxlOiFufTtmb3IodmFyIGk9MDtpPHQubGVuZ3RoO2krKyl7dmFyIG89dFtpXTtBcnJheS5pc0FycmF5KG8pP0VlKG8sZSxuKTpvJiYoby5wcm94eSYmKG8uZm4ucHJveHk9ITApLGVbby5rZXldPW8uZm4pfXJldHVybiByJiYoZS4ka2V5PXIpLGV9ZnVuY3Rpb24gQWUodCxlKXtmb3IodmFyIG49MDtuPGUubGVuZ3RoO24rPTIpe3ZhciByPWVbbl07InN0cmluZyI9PT10eXBlb2YgciYmciYmKHRbZVtuXV09ZVtuKzFdKX1yZXR1cm4gdH1mdW5jdGlvbiBqZSh0LGUpe3JldHVybiJzdHJpbmciPT09dHlwZW9mIHQ/ZSt0OnR9ZnVuY3Rpb24gTWUodCl7dC5fbz1rZSx0Ll9uPXAsdC5fcz1oLHQuX2w9bWUsdC5fdD1iZSx0Ll9xPVAsdC5faT0kLHQuX209U2UsdC5fZj15ZSx0Ll9rPXdlLHQuX2I9eGUsdC5fdj1ndCx0Ll9lPXZ0LHQuX3U9RWUsdC5fZz1UZSx0Ll9kPUFlLHQuX3A9amV9ZnVuY3Rpb24gSWUodCxlLHIsaSxhKXt2YXIgcyxjPXRoaXMsdT1hLm9wdGlvbnM7eShpLCJfdWlkIik/KHM9T2JqZWN0LmNyZWF0ZShpKSxzLl9vcmlnaW5hbD1pKToocz1pLGk9aS5fb3JpZ2luYWwpO3ZhciBsPW8odS5fY29tcGlsZWQpLGY9IWw7dGhpcy5kYXRhPXQsdGhpcy5wcm9wcz1lLHRoaXMuY2hpbGRyZW49cix0aGlzLnBhcmVudD1pLHRoaXMubGlzdGVuZXJzPXQub258fG4sdGhpcy5pbmplY3Rpb25zPWZlKHUuaW5qZWN0LGkpLHRoaXMuc2xvdHM9ZnVuY3Rpb24oKXtyZXR1cm4gYy4kc2xvdHN8fHBlKHQuc2NvcGVkU2xvdHMsYy4kc2xvdHM9ZGUocixpKSksYy4kc2xvdHN9LE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCJzY29wZWRTbG90cyIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHBlKHQuc2NvcGVkU2xvdHMsdGhpcy5zbG90cygpKX19KSxsJiYodGhpcy4kb3B0aW9ucz11LHRoaXMuJHNsb3RzPXRoaXMuc2xvdHMoKSx0aGlzLiRzY29wZWRTbG90cz1wZSh0LnNjb3BlZFNsb3RzLHRoaXMuJHNsb3RzKSksdS5fc2NvcGVJZD90aGlzLl9jPWZ1bmN0aW9uKHQsZSxuLHIpe3ZhciBvPUJlKHMsdCxlLG4scixmKTtyZXR1cm4gbyYmIUFycmF5LmlzQXJyYXkobykmJihvLmZuU2NvcGVJZD11Ll9zY29wZUlkLG8uZm5Db250ZXh0PWkpLG99OnRoaXMuX2M9ZnVuY3Rpb24odCxlLG4scil7cmV0dXJuIEJlKHMsdCxlLG4scixmKX19ZnVuY3Rpb24gUGUodCxlLG4scixpKXt2YXIgbz1tdCh0KTtyZXR1cm4gby5mbkNvbnRleHQ9bixvLmZuT3B0aW9ucz1yLGUuc2xvdCYmKChvLmRhdGF8fChvLmRhdGE9e30pKS5zbG90PWUuc2xvdCksb31mdW5jdGlvbiAkZSh0LGUpe2Zvcih2YXIgbiBpbiBlKXRbeChuKV09ZVtuXX1NZShJZS5wcm90b3R5cGUpO3ZhciBMZT17aW5pdDpmdW5jdGlvbih0LGUpe2lmKHQuY29tcG9uZW50SW5zdGFuY2UmJiF0LmNvbXBvbmVudEluc3RhbmNlLl9pc0Rlc3Ryb3llZCYmdC5kYXRhLmtlZXBBbGl2ZSl7dmFyIG49dDtMZS5wcmVwYXRjaChuLG4pfWVsc2V7dmFyIHI9dC5jb21wb25lbnRJbnN0YW5jZT1mdW5jdGlvbih0LGUpe3ZhciBuPXtfaXNDb21wb25lbnQ6ITAsX3BhcmVudFZub2RlOnQscGFyZW50OmV9LHI9dC5kYXRhLmlubGluZVRlbXBsYXRlO2kocikmJihuLnJlbmRlcj1yLnJlbmRlcixuLnN0YXRpY1JlbmRlckZucz1yLnN0YXRpY1JlbmRlckZucyk7cmV0dXJuIG5ldyB0LmNvbXBvbmVudE9wdGlvbnMuQ3RvcihuKX0odCxHZSk7ci4kbW91bnQoZT90LmVsbTp2b2lkIDAsZSl9fSxwcmVwYXRjaDpmdW5jdGlvbih0LGUpe3ZhciByPWUuY29tcG9uZW50T3B0aW9ucyxpPWUuY29tcG9uZW50SW5zdGFuY2U9dC5jb21wb25lbnRJbnN0YW5jZTsoZnVuY3Rpb24odCxlLHIsaSxvKXswO3ZhciBhPWkuZGF0YS5zY29wZWRTbG90cyxzPXQuJHNjb3BlZFNsb3RzLGM9ISEoYSYmIWEuJHN0YWJsZXx8cyE9PW4mJiFzLiRzdGFibGV8fGEmJnQuJHNjb3BlZFNsb3RzLiRrZXkhPT1hLiRrZXkpLHU9ISEob3x8dC4kb3B0aW9ucy5fcmVuZGVyQ2hpbGRyZW58fGMpO3QuJG9wdGlvbnMuX3BhcmVudFZub2RlPWksdC4kdm5vZGU9aSx0Ll92bm9kZSYmKHQuX3Zub2RlLnBhcmVudD1pKTtpZih0LiRvcHRpb25zLl9yZW5kZXJDaGlsZHJlbj1vLHQuJGF0dHJzPWkuZGF0YS5hdHRyc3x8bix0LiRsaXN0ZW5lcnM9cnx8bixlJiZ0LiRvcHRpb25zLnByb3BzKXt4dCghMSk7Zm9yKHZhciBsPXQuX3Byb3BzLGY9dC4kb3B0aW9ucy5fcHJvcEtleXN8fFtdLGQ9MDtkPGYubGVuZ3RoO2QrKyl7dmFyIGg9ZltkXSxwPXQuJG9wdGlvbnMucHJvcHM7bFtoXT1OdChoLHAsZSx0KX14dCghMCksdC4kb3B0aW9ucy5wcm9wc0RhdGE9ZX10Ll8kdXBkYXRlUHJvcGVydGllcyYmdC5fJHVwZGF0ZVByb3BlcnRpZXModCkscj1yfHxuO3ZhciB2PXQuJG9wdGlvbnMuX3BhcmVudExpc3RlbmVyczt0LiRvcHRpb25zLl9wYXJlbnRMaXN0ZW5lcnM9cixYZSh0LHIsdiksdSYmKHQuJHNsb3RzPWRlKG8saS5jb250ZXh0KSx0LiRmb3JjZVVwZGF0ZSgpKTswfSkoaSxyLnByb3BzRGF0YSxyLmxpc3RlbmVycyxlLHIuY2hpbGRyZW4pfSxpbnNlcnQ6ZnVuY3Rpb24odCl7dmFyIGU9dC5jb250ZXh0LG49dC5jb21wb25lbnRJbnN0YW5jZTtuLl9pc01vdW50ZWR8fChaZShuLCJvblNlcnZpY2VDcmVhdGVkIiksWmUobiwib25TZXJ2aWNlQXR0YWNoZWQiKSxuLl9pc01vdW50ZWQ9ITAsWmUobiwibW91bnRlZCIpKSx0LmRhdGEua2VlcEFsaXZlJiYoZS5faXNNb3VudGVkP2Z1bmN0aW9uKHQpe3QuX2luYWN0aXZlPSExLGVuLnB1c2godCl9KG4pOkplKG4sITApKX0sZGVzdHJveTpmdW5jdGlvbih0KXt2YXIgZT10LmNvbXBvbmVudEluc3RhbmNlO2UuX2lzRGVzdHJveWVkfHwodC5kYXRhLmtlZXBBbGl2ZT9mdW5jdGlvbiB0KGUsbil7aWYobiYmKGUuX2RpcmVjdEluYWN0aXZlPSEwLEtlKGUpKSlyZXR1cm47aWYoIWUuX2luYWN0aXZlKXtlLl9pbmFjdGl2ZT0hMDtmb3IodmFyIHI9MDtyPGUuJGNoaWxkcmVuLmxlbmd0aDtyKyspdChlLiRjaGlsZHJlbltyXSk7WmUoZSwiZGVhY3RpdmF0ZWQiKX19KGUsITApOmUuJGRlc3Ryb3koKSl9fSxSZT1PYmplY3Qua2V5cyhMZSk7ZnVuY3Rpb24gTmUodCxlLGEsYyx1KXtpZighcih0KSl7dmFyIGw9YS4kb3B0aW9ucy5fYmFzZTtpZihzKHQpJiYodD1sLmV4dGVuZCh0KSksImZ1bmN0aW9uIj09PXR5cGVvZiB0KXt2YXIgZjtpZihyKHQuY2lkKSYmKGY9dCx0PWZ1bmN0aW9uKHQsZSl7aWYobyh0LmVycm9yKSYmaSh0LmVycm9yQ29tcCkpcmV0dXJuIHQuZXJyb3JDb21wO2lmKGkodC5yZXNvbHZlZCkpcmV0dXJuIHQucmVzb2x2ZWQ7dmFyIG49emU7biYmaSh0Lm93bmVycykmJi0xPT09dC5vd25lcnMuaW5kZXhPZihuKSYmdC5vd25lcnMucHVzaChuKTtpZihvKHQubG9hZGluZykmJmkodC5sb2FkaW5nQ29tcCkpcmV0dXJuIHQubG9hZGluZ0NvbXA7aWYobiYmIWkodC5vd25lcnMpKXt2YXIgYT10Lm93bmVycz1bbl0sYz0hMCx1PW51bGwsbD1udWxsO24uJG9uKCJob29rOmRlc3Ryb3llZCIsKGZ1bmN0aW9uKCl7cmV0dXJuIG0oYSxuKX0pKTt2YXIgZj1mdW5jdGlvbih0KXtmb3IodmFyIGU9MCxuPWEubGVuZ3RoO2U8bjtlKyspYVtlXS4kZm9yY2VVcGRhdGUoKTt0JiYoYS5sZW5ndGg9MCxudWxsIT09dSYmKGNsZWFyVGltZW91dCh1KSx1PW51bGwpLG51bGwhPT1sJiYoY2xlYXJUaW1lb3V0KGwpLGw9bnVsbCkpfSxoPUwoKGZ1bmN0aW9uKG4pe3QucmVzb2x2ZWQ9V2UobixlKSxjP2EubGVuZ3RoPTA6ZighMCl9KSkscD1MKChmdW5jdGlvbihlKXtpKHQuZXJyb3JDb21wKSYmKHQuZXJyb3I9ITAsZighMCkpfSkpLHY9dChoLHApO3JldHVybiBzKHYpJiYoZCh2KT9yKHQucmVzb2x2ZWQpJiZ2LnRoZW4oaCxwKTpkKHYuY29tcG9uZW50KSYmKHYuY29tcG9uZW50LnRoZW4oaCxwKSxpKHYuZXJyb3IpJiYodC5lcnJvckNvbXA9V2Uodi5lcnJvcixlKSksaSh2LmxvYWRpbmcpJiYodC5sb2FkaW5nQ29tcD1XZSh2LmxvYWRpbmcsZSksMD09PXYuZGVsYXk/dC5sb2FkaW5nPSEwOnU9c2V0VGltZW91dCgoZnVuY3Rpb24oKXt1PW51bGwscih0LnJlc29sdmVkKSYmcih0LmVycm9yKSYmKHQubG9hZGluZz0hMCxmKCExKSl9KSx2LmRlbGF5fHwyMDApKSxpKHYudGltZW91dCkmJihsPXNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7bD1udWxsLHIodC5yZXNvbHZlZCkmJnAobnVsbCl9KSx2LnRpbWVvdXQpKSkpLGM9ITEsdC5sb2FkaW5nP3QubG9hZGluZ0NvbXA6dC5yZXNvbHZlZH19KGYsbCksdm9pZCAwPT09dCkpcmV0dXJuIGZ1bmN0aW9uKHQsZSxuLHIsaSl7dmFyIG89dnQoKTtyZXR1cm4gby5hc3luY0ZhY3Rvcnk9dCxvLmFzeW5jTWV0YT17ZGF0YTplLGNvbnRleHQ6bixjaGlsZHJlbjpyLHRhZzppfSxvfShmLGUsYSxjLHUpO2U9ZXx8e30seG4odCksaShlLm1vZGVsKSYmZnVuY3Rpb24odCxlKXt2YXIgbj10Lm1vZGVsJiZ0Lm1vZGVsLnByb3B8fCJ2YWx1ZSIscj10Lm1vZGVsJiZ0Lm1vZGVsLmV2ZW50fHwiaW5wdXQiOyhlLmF0dHJzfHwoZS5hdHRycz17fSkpW25dPWUubW9kZWwudmFsdWU7dmFyIG89ZS5vbnx8KGUub249e30pLGE9b1tyXSxzPWUubW9kZWwuY2FsbGJhY2s7aShhKT8oQXJyYXkuaXNBcnJheShhKT8tMT09PWEuaW5kZXhPZihzKTphIT09cykmJihvW3JdPVtzXS5jb25jYXQoYSkpOm9bcl09c30odC5vcHRpb25zLGUpO3ZhciBoPWZ1bmN0aW9uKHQsZSxuLG8pe3ZhciBhPWUub3B0aW9ucy5wcm9wcztpZihyKGEpKXJldHVybiBzZSh0LGUse30sbyk7dmFyIHM9e30sYz10LmF0dHJzLHU9dC5wcm9wcztpZihpKGMpfHxpKHUpKWZvcih2YXIgbCBpbiBhKXt2YXIgZj1DKGwpO2NlKHMsdSxsLGYsITApfHxjZShzLGMsbCxmLCExKX1yZXR1cm4gc2UodCxlLHMsbyl9KGUsdCwwLGEpO2lmKG8odC5vcHRpb25zLmZ1bmN0aW9uYWwpKXJldHVybiBmdW5jdGlvbih0LGUscixvLGEpe3ZhciBzPXQub3B0aW9ucyxjPXt9LHU9cy5wcm9wcztpZihpKHUpKWZvcih2YXIgbCBpbiB1KWNbbF09TnQobCx1LGV8fG4pO2Vsc2UgaShyLmF0dHJzKSYmJGUoYyxyLmF0dHJzKSxpKHIucHJvcHMpJiYkZShjLHIucHJvcHMpO3ZhciBmPW5ldyBJZShyLGMsYSxvLHQpLGQ9cy5yZW5kZXIuY2FsbChudWxsLGYuX2MsZik7aWYoZCBpbnN0YW5jZW9mIGh0KXJldHVybiBQZShkLHIsZi5wYXJlbnQscyxmKTtpZihBcnJheS5pc0FycmF5KGQpKXtmb3IodmFyIGg9dWUoZCl8fFtdLHA9bmV3IEFycmF5KGgubGVuZ3RoKSx2PTA7djxoLmxlbmd0aDt2KyspcFt2XT1QZShoW3ZdLHIsZi5wYXJlbnQscyxmKTtyZXR1cm4gcH19KHQsaCxlLGEsYyk7dmFyIHA9ZS5vbjtpZihlLm9uPWUubmF0aXZlT24sbyh0Lm9wdGlvbnMuYWJzdHJhY3QpKXt2YXIgdj1lLnNsb3Q7ZT17fSx2JiYoZS5zbG90PXYpfShmdW5jdGlvbih0KXtmb3IodmFyIGU9dC5ob29rfHwodC5ob29rPXt9KSxuPTA7bjxSZS5sZW5ndGg7bisrKXt2YXIgcj1SZVtuXSxpPWVbcl0sbz1MZVtyXTtpPT09b3x8aSYmaS5fbWVyZ2VkfHwoZVtyXT1pP0RlKG8saSk6byl9fSkoZSk7dmFyIGc9dC5vcHRpb25zLm5hbWV8fHUsYj1uZXcgaHQoInZ1ZS1jb21wb25lbnQtIit0LmNpZCsoZz8iLSIrZzoiIiksZSx2b2lkIDAsdm9pZCAwLHZvaWQgMCxhLHtDdG9yOnQscHJvcHNEYXRhOmgsbGlzdGVuZXJzOnAsdGFnOnUsY2hpbGRyZW46Y30sZik7cmV0dXJuIGJ9fX1mdW5jdGlvbiBEZSh0LGUpe3ZhciBuPWZ1bmN0aW9uKG4scil7dChuLHIpLGUobixyKX07cmV0dXJuIG4uX21lcmdlZD0hMCxufWZ1bmN0aW9uIEJlKHQsZSxuLGMsdSxsKXtyZXR1cm4oQXJyYXkuaXNBcnJheShuKXx8YShuKSkmJih1PWMsYz1uLG49dm9pZCAwKSxvKGwpJiYodT0yKSxmdW5jdGlvbih0LGUsbixhLGMpe2lmKGkobikmJmkobi5fX29iX18pKXJldHVybiB2dCgpO2kobikmJmkobi5pcykmJihlPW4uaXMpO2lmKCFlKXJldHVybiB2dCgpOzA7QXJyYXkuaXNBcnJheShhKSYmImZ1bmN0aW9uIj09PXR5cGVvZiBhWzBdJiYobj1ufHx7fSxuLnNjb3BlZFNsb3RzPXtkZWZhdWx0OmFbMF19LGEubGVuZ3RoPTApOzI9PT1jP2E9dWUoYSk6MT09PWMmJihhPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT0wO2U8dC5sZW5ndGg7ZSsrKWlmKEFycmF5LmlzQXJyYXkodFtlXSkpcmV0dXJuIEFycmF5LnByb3RvdHlwZS5jb25jYXQuYXBwbHkoW10sdCk7cmV0dXJuIHR9KGEpKTt2YXIgdSxsO2lmKCJzdHJpbmciPT09dHlwZW9mIGUpe3ZhciBmO2w9dC4kdm5vZGUmJnQuJHZub2RlLm5zfHxELmdldFRhZ05hbWVzcGFjZShlKSx1PUQuaXNSZXNlcnZlZFRhZyhlKT9uZXcgaHQoRC5wYXJzZVBsYXRmb3JtVGFnTmFtZShlKSxuLGEsdm9pZCAwLHZvaWQgMCx0KTpuJiZuLnByZXx8IWkoZj1SdCh0LiRvcHRpb25zLCJjb21wb25lbnRzIixlKSk/bmV3IGh0KGUsbixhLHZvaWQgMCx2b2lkIDAsdCk6TmUoZixuLHQsYSxlKX1lbHNlIHU9TmUoZSxuLHQsYSk7cmV0dXJuIEFycmF5LmlzQXJyYXkodSk/dTppKHUpPyhpKGwpJiZmdW5jdGlvbiB0KGUsbixhKXtlLm5zPW4sImZvcmVpZ25PYmplY3QiPT09ZS50YWcmJihuPXZvaWQgMCxhPSEwKTtpZihpKGUuY2hpbGRyZW4pKWZvcih2YXIgcz0wLGM9ZS5jaGlsZHJlbi5sZW5ndGg7czxjO3MrKyl7dmFyIHU9ZS5jaGlsZHJlbltzXTtpKHUudGFnKSYmKHIodS5ucyl8fG8oYSkmJiJzdmciIT09dS50YWcpJiZ0KHUsbixhKX19KHUsbCksaShuKSYmZnVuY3Rpb24odCl7cyh0LnN0eWxlKSYmbmUodC5zdHlsZSk7cyh0LmNsYXNzKSYmbmUodC5jbGFzcyl9KG4pLHUpOnZ0KCl9KHQsZSxuLGMsdSl9dmFyIEZlLHplPW51bGw7ZnVuY3Rpb24gV2UodCxlKXtyZXR1cm4odC5fX2VzTW9kdWxlfHxzdCYmIk1vZHVsZSI9PT10W1N5bWJvbC50b1N0cmluZ1RhZ10pJiYodD10LmRlZmF1bHQpLHModCk/ZS5leHRlbmQodCk6dH1mdW5jdGlvbiBIZSh0KXtyZXR1cm4gdC5pc0NvbW1lbnQmJnQuYXN5bmNGYWN0b3J5fWZ1bmN0aW9uIFVlKHQpe2lmKEFycmF5LmlzQXJyYXkodCkpZm9yKHZhciBlPTA7ZTx0Lmxlbmd0aDtlKyspe3ZhciBuPXRbZV07aWYoaShuKSYmKGkobi5jb21wb25lbnRPcHRpb25zKXx8SGUobikpKXJldHVybiBufX1mdW5jdGlvbiBWZSh0LGUpe0ZlLiRvbih0LGUpfWZ1bmN0aW9uIHFlKHQsZSl7RmUuJG9mZih0LGUpfWZ1bmN0aW9uIFllKHQsZSl7dmFyIG49RmU7cmV0dXJuIGZ1bmN0aW9uIHIoKXt2YXIgaT1lLmFwcGx5KG51bGwsYXJndW1lbnRzKTtudWxsIT09aSYmbi4kb2ZmKHQscil9fWZ1bmN0aW9uIFhlKHQsZSxuKXtGZT10LG9lKGUsbnx8e30sVmUscWUsWWUsdCksRmU9dm9pZCAwfXZhciBHZT1udWxsO2Z1bmN0aW9uIFFlKHQpe3ZhciBlPUdlO3JldHVybiBHZT10LGZ1bmN0aW9uKCl7R2U9ZX19ZnVuY3Rpb24gS2UodCl7d2hpbGUodCYmKHQ9dC4kcGFyZW50KSlpZih0Ll9pbmFjdGl2ZSlyZXR1cm4hMDtyZXR1cm4hMX1mdW5jdGlvbiBKZSh0LGUpe2lmKGUpe2lmKHQuX2RpcmVjdEluYWN0aXZlPSExLEtlKHQpKXJldHVybn1lbHNlIGlmKHQuX2RpcmVjdEluYWN0aXZlKXJldHVybjtpZih0Ll9pbmFjdGl2ZXx8bnVsbD09PXQuX2luYWN0aXZlKXt0Ll9pbmFjdGl2ZT0hMTtmb3IodmFyIG49MDtuPHQuJGNoaWxkcmVuLmxlbmd0aDtuKyspSmUodC4kY2hpbGRyZW5bbl0pO1plKHQsImFjdGl2YXRlZCIpfX1mdW5jdGlvbiBaZSh0LGUpe2Z0KCk7dmFyIG49dC4kb3B0aW9uc1tlXSxyPWUrIiBob29rIjtpZihuKWZvcih2YXIgaT0wLG89bi5sZW5ndGg7aTxvO2krKylXdChuW2ldLHQsbnVsbCx0LHIpO3QuX2hhc0hvb2tFdmVudCYmdC4kZW1pdCgiaG9vazoiK2UpLGR0KCl9dmFyIHRuPVtdLGVuPVtdLG5uPXt9LHJuPSExLG9uPSExLGFuPTA7dmFyIHNuPTAsY249RGF0ZS5ub3c7aWYoViYmIUcpe3ZhciB1bj13aW5kb3cucGVyZm9ybWFuY2U7dW4mJiJmdW5jdGlvbiI9PT10eXBlb2YgdW4ubm93JiZjbigpPmRvY3VtZW50LmNyZWF0ZUV2ZW50KCJFdmVudCIpLnRpbWVTdGFtcCYmKGNuPWZ1bmN0aW9uKCl7cmV0dXJuIHVuLm5vdygpfSl9ZnVuY3Rpb24gbG4oKXt2YXIgdCxlO2Zvcihzbj1jbigpLG9uPSEwLHRuLnNvcnQoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQuaWQtZS5pZH0pKSxhbj0wO2FuPHRuLmxlbmd0aDthbisrKXQ9dG5bYW5dLHQuYmVmb3JlJiZ0LmJlZm9yZSgpLGU9dC5pZCxubltlXT1udWxsLHQucnVuKCk7dmFyIG49ZW4uc2xpY2UoKSxyPXRuLnNsaWNlKCk7KGZ1bmN0aW9uKCl7YW49dG4ubGVuZ3RoPWVuLmxlbmd0aD0wLG5uPXt9LHJuPW9uPSExfSkoKSxmdW5jdGlvbih0KXtmb3IodmFyIGU9MDtlPHQubGVuZ3RoO2UrKyl0W2VdLl9pbmFjdGl2ZT0hMCxKZSh0W2VdLCEwKX0obiksZnVuY3Rpb24odCl7dmFyIGU9dC5sZW5ndGg7d2hpbGUoZS0tKXt2YXIgbj10W2VdLHI9bi52bTtyLl93YXRjaGVyPT09biYmci5faXNNb3VudGVkJiYhci5faXNEZXN0cm95ZWQmJlplKHIsInVwZGF0ZWQiKX19KHIpLGl0JiZELmRldnRvb2xzJiZpdC5lbWl0KCJmbHVzaCIpfXZhciBmbj0wLGRuPWZ1bmN0aW9uKHQsZSxuLHIsaSl7dGhpcy52bT10LGkmJih0Ll93YXRjaGVyPXRoaXMpLHQuX3dhdGNoZXJzLnB1c2godGhpcykscj8odGhpcy5kZWVwPSEhci5kZWVwLHRoaXMudXNlcj0hIXIudXNlcix0aGlzLmxhenk9ISFyLmxhenksdGhpcy5zeW5jPSEhci5zeW5jLHRoaXMuYmVmb3JlPXIuYmVmb3JlKTp0aGlzLmRlZXA9dGhpcy51c2VyPXRoaXMubGF6eT10aGlzLnN5bmM9ITEsdGhpcy5jYj1uLHRoaXMuaWQ9Kytmbix0aGlzLmFjdGl2ZT0hMCx0aGlzLmRpcnR5PXRoaXMubGF6eSx0aGlzLmRlcHM9W10sdGhpcy5uZXdEZXBzPVtdLHRoaXMuZGVwSWRzPW5ldyBhdCx0aGlzLm5ld0RlcElkcz1uZXcgYXQsdGhpcy5leHByZXNzaW9uPSIiLCJmdW5jdGlvbiI9PT10eXBlb2YgZT90aGlzLmdldHRlcj1lOih0aGlzLmdldHRlcj1mdW5jdGlvbih0KXtpZighVy50ZXN0KHQpKXt2YXIgZT10LnNwbGl0KCIuIik7cmV0dXJuIGZ1bmN0aW9uKHQpe2Zvcih2YXIgbj0wO248ZS5sZW5ndGg7bisrKXtpZighdClyZXR1cm47dD10W2Vbbl1dfXJldHVybiB0fX19KGUpLHRoaXMuZ2V0dGVyfHwodGhpcy5nZXR0ZXI9aikpLHRoaXMudmFsdWU9dGhpcy5sYXp5P3ZvaWQgMDp0aGlzLmdldCgpfTtkbi5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKCl7dmFyIHQ7ZnQodGhpcyk7dmFyIGU9dGhpcy52bTt0cnl7dD10aGlzLmdldHRlci5jYWxsKGUsZSl9Y2F0Y2goSGkpe2lmKCF0aGlzLnVzZXIpdGhyb3cgSGk7enQoSGksZSwnZ2V0dGVyIGZvciB3YXRjaGVyICInK3RoaXMuZXhwcmVzc2lvbisnIicpfWZpbmFsbHl7dGhpcy5kZWVwJiZuZSh0KSxkdCgpLHRoaXMuY2xlYW51cERlcHMoKX1yZXR1cm4gdH0sZG4ucHJvdG90eXBlLmFkZERlcD1mdW5jdGlvbih0KXt2YXIgZT10LmlkO3RoaXMubmV3RGVwSWRzLmhhcyhlKXx8KHRoaXMubmV3RGVwSWRzLmFkZChlKSx0aGlzLm5ld0RlcHMucHVzaCh0KSx0aGlzLmRlcElkcy5oYXMoZSl8fHQuYWRkU3ViKHRoaXMpKX0sZG4ucHJvdG90eXBlLmNsZWFudXBEZXBzPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5kZXBzLmxlbmd0aDt3aGlsZSh0LS0pe3ZhciBlPXRoaXMuZGVwc1t0XTt0aGlzLm5ld0RlcElkcy5oYXMoZS5pZCl8fGUucmVtb3ZlU3ViKHRoaXMpfXZhciBuPXRoaXMuZGVwSWRzO3RoaXMuZGVwSWRzPXRoaXMubmV3RGVwSWRzLHRoaXMubmV3RGVwSWRzPW4sdGhpcy5uZXdEZXBJZHMuY2xlYXIoKSxuPXRoaXMuZGVwcyx0aGlzLmRlcHM9dGhpcy5uZXdEZXBzLHRoaXMubmV3RGVwcz1uLHRoaXMubmV3RGVwcy5sZW5ndGg9MH0sZG4ucHJvdG90eXBlLnVwZGF0ZT1mdW5jdGlvbigpe3RoaXMubGF6eT90aGlzLmRpcnR5PSEwOnRoaXMuc3luYz90aGlzLnJ1bigpOmZ1bmN0aW9uKHQpe3ZhciBlPXQuaWQ7aWYobnVsbD09bm5bZV0pe2lmKG5uW2VdPSEwLG9uKXt2YXIgbj10bi5sZW5ndGgtMTt3aGlsZShuPmFuJiZ0bltuXS5pZD50LmlkKW4tLTt0bi5zcGxpY2UobisxLDAsdCl9ZWxzZSB0bi5wdXNoKHQpO3JufHwocm49ITAsdGUobG4pKX19KHRoaXMpfSxkbi5wcm90b3R5cGUucnVuPWZ1bmN0aW9uKCl7aWYodGhpcy5hY3RpdmUpe3ZhciB0PXRoaXMuZ2V0KCk7aWYodCE9PXRoaXMudmFsdWV8fHModCl8fHRoaXMuZGVlcCl7dmFyIGU9dGhpcy52YWx1ZTtpZih0aGlzLnZhbHVlPXQsdGhpcy51c2VyKXRyeXt0aGlzLmNiLmNhbGwodGhpcy52bSx0LGUpfWNhdGNoKEhpKXt6dChIaSx0aGlzLnZtLCdjYWxsYmFjayBmb3Igd2F0Y2hlciAiJyt0aGlzLmV4cHJlc3Npb24rJyInKX1lbHNlIHRoaXMuY2IuY2FsbCh0aGlzLnZtLHQsZSl9fX0sZG4ucHJvdG90eXBlLmV2YWx1YXRlPWZ1bmN0aW9uKCl7dGhpcy52YWx1ZT10aGlzLmdldCgpLHRoaXMuZGlydHk9ITF9LGRuLnByb3RvdHlwZS5kZXBlbmQ9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmRlcHMubGVuZ3RoO3doaWxlKHQtLSl0aGlzLmRlcHNbdF0uZGVwZW5kKCl9LGRuLnByb3RvdHlwZS50ZWFyZG93bj1mdW5jdGlvbigpe2lmKHRoaXMuYWN0aXZlKXt0aGlzLnZtLl9pc0JlaW5nRGVzdHJveWVkfHxtKHRoaXMudm0uX3dhdGNoZXJzLHRoaXMpO3ZhciB0PXRoaXMuZGVwcy5sZW5ndGg7d2hpbGUodC0tKXRoaXMuZGVwc1t0XS5yZW1vdmVTdWIodGhpcyk7dGhpcy5hY3RpdmU9ITF9fTt2YXIgaG49e2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLGdldDpqLHNldDpqfTtmdW5jdGlvbiBwbih0LGUsbil7aG4uZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXNbZV1bbl19LGhuLnNldD1mdW5jdGlvbih0KXt0aGlzW2VdW25dPXR9LE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LG4saG4pfWZ1bmN0aW9uIHZuKHQpe3QuX3dhdGNoZXJzPVtdO3ZhciBlPXQuJG9wdGlvbnM7ZS5wcm9wcyYmZnVuY3Rpb24odCxlKXt2YXIgbj10LiRvcHRpb25zLnByb3BzRGF0YXx8e30scj10Ll9wcm9wcz17fSxpPXQuJG9wdGlvbnMuX3Byb3BLZXlzPVtdLG89IXQuJHBhcmVudDtvfHx4dCghMSk7dmFyIGE9ZnVuY3Rpb24obyl7aS5wdXNoKG8pO3ZhciBhPU50KG8sZSxuLHQpO0N0KHIsbyxhKSxvIGluIHR8fHBuKHQsIl9wcm9wcyIsbyl9O2Zvcih2YXIgcyBpbiBlKWEocyk7eHQoITApfSh0LGUucHJvcHMpLGUubWV0aG9kcyYmZnVuY3Rpb24odCxlKXt0LiRvcHRpb25zLnByb3BzO2Zvcih2YXIgbiBpbiBlKXRbbl09ImZ1bmN0aW9uIiE9PXR5cGVvZiBlW25dP2o6TyhlW25dLHQpfSh0LGUubWV0aG9kcyksZS5kYXRhP2Z1bmN0aW9uKHQpe3ZhciBlPXQuJG9wdGlvbnMuZGF0YTtlPXQuX2RhdGE9ImZ1bmN0aW9uIj09PXR5cGVvZiBlP2Z1bmN0aW9uKHQsZSl7ZnQoKTt0cnl7cmV0dXJuIHQuY2FsbChlLGUpfWNhdGNoKEhpKXtyZXR1cm4genQoSGksZSwiZGF0YSgpIikse319ZmluYWxseXtkdCgpfX0oZSx0KTplfHx7fSx1KGUpfHwoZT17fSk7dmFyIG49T2JqZWN0LmtleXMoZSkscj10LiRvcHRpb25zLnByb3BzLGk9KHQuJG9wdGlvbnMubWV0aG9kcyxuLmxlbmd0aCk7d2hpbGUoaS0tKXt2YXIgbz1uW2ldOzAsciYmeShyLG8pfHxGKG8pfHxwbih0LCJfZGF0YSIsbyl9a3QoZSwhMCl9KHQpOmt0KHQuX2RhdGE9e30sITApLGUuY29tcHV0ZWQmJmZ1bmN0aW9uKHQsZSl7dmFyIG49dC5fY29tcHV0ZWRXYXRjaGVycz1PYmplY3QuY3JlYXRlKG51bGwpLHI9cnQoKTtmb3IodmFyIGkgaW4gZSl7dmFyIG89ZVtpXSxhPSJmdW5jdGlvbiI9PT10eXBlb2Ygbz9vOm8uZ2V0OzAscnx8KG5baV09bmV3IGRuKHQsYXx8aixqLGduKSksaSBpbiB0fHxtbih0LGksbyl9fSh0LGUuY29tcHV0ZWQpLGUud2F0Y2gmJmUud2F0Y2ghPT10dCYmZnVuY3Rpb24odCxlKXtmb3IodmFyIG4gaW4gZSl7dmFyIHI9ZVtuXTtpZihBcnJheS5pc0FycmF5KHIpKWZvcih2YXIgaT0wO2k8ci5sZW5ndGg7aSsrKV9uKHQsbixyW2ldKTtlbHNlIF9uKHQsbixyKX19KHQsZS53YXRjaCl9dmFyIGduPXtsYXp5OiEwfTtmdW5jdGlvbiBtbih0LGUsbil7dmFyIHI9IXJ0KCk7ImZ1bmN0aW9uIj09PXR5cGVvZiBuPyhobi5nZXQ9cj9ibihlKTp5bihuKSxobi5zZXQ9aik6KGhuLmdldD1uLmdldD9yJiYhMSE9PW4uY2FjaGU/Ym4oZSk6eW4obi5nZXQpOmosaG4uc2V0PW4uc2V0fHxqKSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCxlLGhuKX1mdW5jdGlvbiBibih0KXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgZT10aGlzLl9jb21wdXRlZFdhdGNoZXJzJiZ0aGlzLl9jb21wdXRlZFdhdGNoZXJzW3RdO2lmKGUpcmV0dXJuIGUuZGlydHkmJmUuZXZhbHVhdGUoKSxsdC5TaGFyZWRPYmplY3QudGFyZ2V0JiZlLmRlcGVuZCgpLGUudmFsdWV9fWZ1bmN0aW9uIHluKHQpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0LmNhbGwodGhpcyx0aGlzKX19ZnVuY3Rpb24gX24odCxlLG4scil7cmV0dXJuIHUobikmJihyPW4sbj1uLmhhbmRsZXIpLCJzdHJpbmciPT09dHlwZW9mIG4mJihuPXRbbl0pLHQuJHdhdGNoKGUsbixyKX12YXIgd249MDtmdW5jdGlvbiB4bih0KXt2YXIgZT10Lm9wdGlvbnM7aWYodC5zdXBlcil7dmFyIG49eG4odC5zdXBlcikscj10LnN1cGVyT3B0aW9ucztpZihuIT09cil7dC5zdXBlck9wdGlvbnM9bjt2YXIgaT1mdW5jdGlvbih0KXt2YXIgZSxuPXQub3B0aW9ucyxyPXQuc2VhbGVkT3B0aW9ucztmb3IodmFyIGkgaW4gbiluW2ldIT09cltpXSYmKGV8fChlPXt9KSxlW2ldPW5baV0pO3JldHVybiBlfSh0KTtpJiZFKHQuZXh0ZW5kT3B0aW9ucyxpKSxlPXQub3B0aW9ucz1MdChuLHQuZXh0ZW5kT3B0aW9ucyksZS5uYW1lJiYoZS5jb21wb25lbnRzW2UubmFtZV09dCl9fXJldHVybiBlfWZ1bmN0aW9uIFNuKHQpe3RoaXMuX2luaXQodCl9ZnVuY3Rpb24ga24odCl7dC5jaWQ9MDt2YXIgZT0xO3QuZXh0ZW5kPWZ1bmN0aW9uKHQpe3Q9dHx8e307dmFyIG49dGhpcyxyPW4uY2lkLGk9dC5fQ3Rvcnx8KHQuX0N0b3I9e30pO2lmKGlbcl0pcmV0dXJuIGlbcl07dmFyIG89dC5uYW1lfHxuLm9wdGlvbnMubmFtZTt2YXIgYT1mdW5jdGlvbih0KXt0aGlzLl9pbml0KHQpfTtyZXR1cm4gYS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShuLnByb3RvdHlwZSksYS5wcm90b3R5cGUuY29uc3RydWN0b3I9YSxhLmNpZD1lKyssYS5vcHRpb25zPUx0KG4ub3B0aW9ucyx0KSxhWyJzdXBlciJdPW4sYS5vcHRpb25zLnByb3BzJiZmdW5jdGlvbih0KXt2YXIgZT10Lm9wdGlvbnMucHJvcHM7Zm9yKHZhciBuIGluIGUpcG4odC5wcm90b3R5cGUsIl9wcm9wcyIsbil9KGEpLGEub3B0aW9ucy5jb21wdXRlZCYmZnVuY3Rpb24odCl7dmFyIGU9dC5vcHRpb25zLmNvbXB1dGVkO2Zvcih2YXIgbiBpbiBlKW1uKHQucHJvdG90eXBlLG4sZVtuXSl9KGEpLGEuZXh0ZW5kPW4uZXh0ZW5kLGEubWl4aW49bi5taXhpbixhLnVzZT1uLnVzZSxSLmZvckVhY2goKGZ1bmN0aW9uKHQpe2FbdF09blt0XX0pKSxvJiYoYS5vcHRpb25zLmNvbXBvbmVudHNbb109YSksYS5zdXBlck9wdGlvbnM9bi5vcHRpb25zLGEuZXh0ZW5kT3B0aW9ucz10LGEuc2VhbGVkT3B0aW9ucz1FKHt9LGEub3B0aW9ucyksaVtyXT1hLGF9fWZ1bmN0aW9uIENuKHQpe3JldHVybiB0JiYodC5DdG9yLm9wdGlvbnMubmFtZXx8dC50YWcpfWZ1bmN0aW9uIE9uKHQsZSl7cmV0dXJuIEFycmF5LmlzQXJyYXkodCk/dC5pbmRleE9mKGUpPi0xOiJzdHJpbmciPT09dHlwZW9mIHQ/dC5zcGxpdCgiLCIpLmluZGV4T2YoZSk+LTE6ISFsKHQpJiZ0LnRlc3QoZSl9ZnVuY3Rpb24gVG4odCxlKXt2YXIgbj10LmNhY2hlLHI9dC5rZXlzLGk9dC5fdm5vZGU7Zm9yKHZhciBvIGluIG4pe3ZhciBhPW5bb107aWYoYSl7dmFyIHM9Q24oYS5jb21wb25lbnRPcHRpb25zKTtzJiYhZShzKSYmRW4obixvLHIsaSl9fX1mdW5jdGlvbiBFbih0LGUsbixyKXt2YXIgaT10W2VdOyFpfHxyJiZpLnRhZz09PXIudGFnfHxpLmNvbXBvbmVudEluc3RhbmNlLiRkZXN0cm95KCksdFtlXT1udWxsLG0obixlKX0oZnVuY3Rpb24odCl7dC5wcm90b3R5cGUuX2luaXQ9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcztlLl91aWQ9d24rKyxlLl9pc1Z1ZT0hMCx0JiZ0Ll9pc0NvbXBvbmVudD9mdW5jdGlvbih0LGUpe3ZhciBuPXQuJG9wdGlvbnM9T2JqZWN0LmNyZWF0ZSh0LmNvbnN0cnVjdG9yLm9wdGlvbnMpLHI9ZS5fcGFyZW50Vm5vZGU7bi5wYXJlbnQ9ZS5wYXJlbnQsbi5fcGFyZW50Vm5vZGU9cjt2YXIgaT1yLmNvbXBvbmVudE9wdGlvbnM7bi5wcm9wc0RhdGE9aS5wcm9wc0RhdGEsbi5fcGFyZW50TGlzdGVuZXJzPWkubGlzdGVuZXJzLG4uX3JlbmRlckNoaWxkcmVuPWkuY2hpbGRyZW4sbi5fY29tcG9uZW50VGFnPWkudGFnLGUucmVuZGVyJiYobi5yZW5kZXI9ZS5yZW5kZXIsbi5zdGF0aWNSZW5kZXJGbnM9ZS5zdGF0aWNSZW5kZXJGbnMpfShlLHQpOmUuJG9wdGlvbnM9THQoeG4oZS5jb25zdHJ1Y3RvciksdHx8e30sZSksZS5fcmVuZGVyUHJveHk9ZSxlLl9zZWxmPWUsZnVuY3Rpb24odCl7dmFyIGU9dC4kb3B0aW9ucyxuPWUucGFyZW50O2lmKG4mJiFlLmFic3RyYWN0KXt3aGlsZShuLiRvcHRpb25zLmFic3RyYWN0JiZuLiRwYXJlbnQpbj1uLiRwYXJlbnQ7bi4kY2hpbGRyZW4ucHVzaCh0KX10LiRwYXJlbnQ9bix0LiRyb290PW4/bi4kcm9vdDp0LHQuJGNoaWxkcmVuPVtdLHQuJHJlZnM9e30sdC5fd2F0Y2hlcj1udWxsLHQuX2luYWN0aXZlPW51bGwsdC5fZGlyZWN0SW5hY3RpdmU9ITEsdC5faXNNb3VudGVkPSExLHQuX2lzRGVzdHJveWVkPSExLHQuX2lzQmVpbmdEZXN0cm95ZWQ9ITF9KGUpLGZ1bmN0aW9uKHQpe3QuX2V2ZW50cz1PYmplY3QuY3JlYXRlKG51bGwpLHQuX2hhc0hvb2tFdmVudD0hMTt2YXIgZT10LiRvcHRpb25zLl9wYXJlbnRMaXN0ZW5lcnM7ZSYmWGUodCxlKX0oZSksZnVuY3Rpb24odCl7dC5fdm5vZGU9bnVsbCx0Ll9zdGF0aWNUcmVlcz1udWxsO3ZhciBlPXQuJG9wdGlvbnMscj10LiR2bm9kZT1lLl9wYXJlbnRWbm9kZSxpPXImJnIuY29udGV4dDt0LiRzbG90cz1kZShlLl9yZW5kZXJDaGlsZHJlbixpKSx0LiRzY29wZWRTbG90cz1uLHQuX2M9ZnVuY3Rpb24oZSxuLHIsaSl7cmV0dXJuIEJlKHQsZSxuLHIsaSwhMSl9LHQuJGNyZWF0ZUVsZW1lbnQ9ZnVuY3Rpb24oZSxuLHIsaSl7cmV0dXJuIEJlKHQsZSxuLHIsaSwhMCl9O3ZhciBvPXImJnIuZGF0YTtDdCh0LCIkYXR0cnMiLG8mJm8uYXR0cnN8fG4sbnVsbCwhMCksQ3QodCwiJGxpc3RlbmVycyIsZS5fcGFyZW50TGlzdGVuZXJzfHxuLG51bGwsITApfShlKSxaZShlLCJiZWZvcmVDcmVhdGUiKSwhZS5fJGZhbGxiYWNrJiZmdW5jdGlvbih0KXt2YXIgZT1mZSh0LiRvcHRpb25zLmluamVjdCx0KTtlJiYoeHQoITEpLE9iamVjdC5rZXlzKGUpLmZvckVhY2goKGZ1bmN0aW9uKG4pe0N0KHQsbixlW25dKX0pKSx4dCghMCkpfShlKSx2bihlKSwhZS5fJGZhbGxiYWNrJiZmdW5jdGlvbih0KXt2YXIgZT10LiRvcHRpb25zLnByb3ZpZGU7ZSYmKHQuX3Byb3ZpZGVkPSJmdW5jdGlvbiI9PT10eXBlb2YgZT9lLmNhbGwodCk6ZSl9KGUpLCFlLl8kZmFsbGJhY2smJlplKGUsImNyZWF0ZWQiKSxlLiRvcHRpb25zLmVsJiZlLiRtb3VudChlLiRvcHRpb25zLmVsKX19KShTbiksZnVuY3Rpb24odCl7dmFyIGU9e2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9kYXRhfX0sbj17Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3Byb3BzfX07T2JqZWN0LmRlZmluZVByb3BlcnR5KHQucHJvdG90eXBlLCIkZGF0YSIsZSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQucHJvdG90eXBlLCIkcHJvcHMiLG4pLHQucHJvdG90eXBlLiRzZXQ9T3QsdC5wcm90b3R5cGUuJGRlbGV0ZT1UdCx0LnByb3RvdHlwZS4kd2F0Y2g9ZnVuY3Rpb24odCxlLG4pe2lmKHUoZSkpcmV0dXJuIF9uKHRoaXMsdCxlLG4pO249bnx8e30sbi51c2VyPSEwO3ZhciByPW5ldyBkbih0aGlzLHQsZSxuKTtpZihuLmltbWVkaWF0ZSl0cnl7ZS5jYWxsKHRoaXMsci52YWx1ZSl9Y2F0Y2goaSl7enQoaSx0aGlzLCdjYWxsYmFjayBmb3IgaW1tZWRpYXRlIHdhdGNoZXIgIicrci5leHByZXNzaW9uKyciJyl9cmV0dXJuIGZ1bmN0aW9uKCl7ci50ZWFyZG93bigpfX19KFNuKSxmdW5jdGlvbih0KXt2YXIgZT0vXmhvb2s6Lzt0LnByb3RvdHlwZS4kb249ZnVuY3Rpb24odCxuKXt2YXIgcj10aGlzO2lmKEFycmF5LmlzQXJyYXkodCkpZm9yKHZhciBpPTAsbz10Lmxlbmd0aDtpPG87aSsrKXIuJG9uKHRbaV0sbik7ZWxzZShyLl9ldmVudHNbdF18fChyLl9ldmVudHNbdF09W10pKS5wdXNoKG4pLGUudGVzdCh0KSYmKHIuX2hhc0hvb2tFdmVudD0hMCk7cmV0dXJuIHJ9LHQucHJvdG90eXBlLiRvbmNlPWZ1bmN0aW9uKHQsZSl7dmFyIG49dGhpcztmdW5jdGlvbiByKCl7bi4kb2ZmKHQsciksZS5hcHBseShuLGFyZ3VtZW50cyl9cmV0dXJuIHIuZm49ZSxuLiRvbih0LHIpLG59LHQucHJvdG90eXBlLiRvZmY9ZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzO2lmKCFhcmd1bWVudHMubGVuZ3RoKXJldHVybiBuLl9ldmVudHM9T2JqZWN0LmNyZWF0ZShudWxsKSxuO2lmKEFycmF5LmlzQXJyYXkodCkpe2Zvcih2YXIgcj0wLGk9dC5sZW5ndGg7cjxpO3IrKyluLiRvZmYodFtyXSxlKTtyZXR1cm4gbn12YXIgbyxhPW4uX2V2ZW50c1t0XTtpZighYSlyZXR1cm4gbjtpZighZSlyZXR1cm4gbi5fZXZlbnRzW3RdPW51bGwsbjt2YXIgcz1hLmxlbmd0aDt3aGlsZShzLS0paWYobz1hW3NdLG89PT1lfHxvLmZuPT09ZSl7YS5zcGxpY2UocywxKTticmVha31yZXR1cm4gbn0sdC5wcm90b3R5cGUuJGVtaXQ9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcyxuPWUuX2V2ZW50c1t0XTtpZihuKXtuPW4ubGVuZ3RoPjE/VChuKTpuO2Zvcih2YXIgcj1UKGFyZ3VtZW50cywxKSxpPSdldmVudCBoYW5kbGVyIGZvciAiJyt0KyciJyxvPTAsYT1uLmxlbmd0aDtvPGE7bysrKVd0KG5bb10sZSxyLGUsaSl9cmV0dXJuIGV9fShTbiksZnVuY3Rpb24odCl7dC5wcm90b3R5cGUuX3VwZGF0ZT1mdW5jdGlvbih0LGUpe3ZhciBuPXRoaXMscj1uLiRlbCxpPW4uX3Zub2RlLG89UWUobik7bi5fdm5vZGU9dCxuLiRlbD1pP24uX19wYXRjaF9fKGksdCk6bi5fX3BhdGNoX18obi4kZWwsdCxlLCExKSxvKCksciYmKHIuX192dWVfXz1udWxsKSxuLiRlbCYmKG4uJGVsLl9fdnVlX189biksbi4kdm5vZGUmJm4uJHBhcmVudCYmbi4kdm5vZGU9PT1uLiRwYXJlbnQuX3Zub2RlJiYobi4kcGFyZW50LiRlbD1uLiRlbCl9LHQucHJvdG90eXBlLiRmb3JjZVVwZGF0ZT1mdW5jdGlvbigpe3RoaXMuX3dhdGNoZXImJnRoaXMuX3dhdGNoZXIudXBkYXRlKCl9LHQucHJvdG90eXBlLiRkZXN0cm95PWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcztpZighdC5faXNCZWluZ0Rlc3Ryb3llZCl7WmUodCwiYmVmb3JlRGVzdHJveSIpLHQuX2lzQmVpbmdEZXN0cm95ZWQ9ITA7dmFyIGU9dC4kcGFyZW50OyFlfHxlLl9pc0JlaW5nRGVzdHJveWVkfHx0LiRvcHRpb25zLmFic3RyYWN0fHxtKGUuJGNoaWxkcmVuLHQpLHQuX3dhdGNoZXImJnQuX3dhdGNoZXIudGVhcmRvd24oKTt2YXIgbj10Ll93YXRjaGVycy5sZW5ndGg7d2hpbGUobi0tKXQuX3dhdGNoZXJzW25dLnRlYXJkb3duKCk7dC5fZGF0YS5fX29iX18mJnQuX2RhdGEuX19vYl9fLnZtQ291bnQtLSx0Ll9pc0Rlc3Ryb3llZD0hMCx0Ll9fcGF0Y2hfXyh0Ll92bm9kZSxudWxsKSxaZSh0LCJkZXN0cm95ZWQiKSx0LiRvZmYoKSx0LiRlbCYmKHQuJGVsLl9fdnVlX189bnVsbCksdC4kdm5vZGUmJih0LiR2bm9kZS5wYXJlbnQ9bnVsbCl9fX0oU24pLGZ1bmN0aW9uKHQpe01lKHQucHJvdG90eXBlKSx0LnByb3RvdHlwZS4kbmV4dFRpY2s9ZnVuY3Rpb24odCl7cmV0dXJuIHRlKHQsdGhpcyl9LHQucHJvdG90eXBlLl9yZW5kZXI9ZnVuY3Rpb24oKXt2YXIgdCxlPXRoaXMsbj1lLiRvcHRpb25zLHI9bi5yZW5kZXIsaT1uLl9wYXJlbnRWbm9kZTtpJiYoZS4kc2NvcGVkU2xvdHM9cGUoaS5kYXRhLnNjb3BlZFNsb3RzLGUuJHNsb3RzLGUuJHNjb3BlZFNsb3RzKSksZS4kdm5vZGU9aTt0cnl7emU9ZSx0PXIuY2FsbChlLl9yZW5kZXJQcm94eSxlLiRjcmVhdGVFbGVtZW50KX1jYXRjaChIaSl7enQoSGksZSwicmVuZGVyIiksdD1lLl92bm9kZX1maW5hbGx5e3plPW51bGx9cmV0dXJuIEFycmF5LmlzQXJyYXkodCkmJjE9PT10Lmxlbmd0aCYmKHQ9dFswXSksdCBpbnN0YW5jZW9mIGh0fHwodD12dCgpKSx0LnBhcmVudD1pLHR9fShTbik7dmFyIEFuPVtTdHJpbmcsUmVnRXhwLEFycmF5XSxqbj17bmFtZToia2VlcC1hbGl2ZSIsYWJzdHJhY3Q6ITAscHJvcHM6e2luY2x1ZGU6QW4sZXhjbHVkZTpBbixtYXg6W1N0cmluZyxOdW1iZXJdfSxjcmVhdGVkOmZ1bmN0aW9uKCl7dGhpcy5jYWNoZT1PYmplY3QuY3JlYXRlKG51bGwpLHRoaXMua2V5cz1bXX0sZGVzdHJveWVkOmZ1bmN0aW9uKCl7Zm9yKHZhciB0IGluIHRoaXMuY2FjaGUpRW4odGhpcy5jYWNoZSx0LHRoaXMua2V5cyl9LG1vdW50ZWQ6ZnVuY3Rpb24oKXt2YXIgdD10aGlzO3RoaXMuJHdhdGNoKCJpbmNsdWRlIiwoZnVuY3Rpb24oZSl7VG4odCwoZnVuY3Rpb24odCl7cmV0dXJuIE9uKGUsdCl9KSl9KSksdGhpcy4kd2F0Y2goImV4Y2x1ZGUiLChmdW5jdGlvbihlKXtUbih0LChmdW5jdGlvbih0KXtyZXR1cm4hT24oZSx0KX0pKX0pKX0scmVuZGVyOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy4kc2xvdHMuZGVmYXVsdCxlPVVlKHQpLG49ZSYmZS5jb21wb25lbnRPcHRpb25zO2lmKG4pe3ZhciByPUNuKG4pLGk9dGhpcy5pbmNsdWRlLG89dGhpcy5leGNsdWRlO2lmKGkmJighcnx8IU9uKGkscikpfHxvJiZyJiZPbihvLHIpKXJldHVybiBlO3ZhciBhPXRoaXMuY2FjaGUscz10aGlzLmtleXMsYz1udWxsPT1lLmtleT9uLkN0b3IuY2lkKyhuLnRhZz8iOjoiK24udGFnOiIiKTplLmtleTthW2NdPyhlLmNvbXBvbmVudEluc3RhbmNlPWFbY10uY29tcG9uZW50SW5zdGFuY2UsbShzLGMpLHMucHVzaChjKSk6KGFbY109ZSxzLnB1c2goYyksdGhpcy5tYXgmJnMubGVuZ3RoPnBhcnNlSW50KHRoaXMubWF4KSYmRW4oYSxzWzBdLHMsdGhpcy5fdm5vZGUpKSxlLmRhdGEua2VlcEFsaXZlPSEwfXJldHVybiBlfHx0JiZ0WzBdfX0sTW49e0tlZXBBbGl2ZTpqbn07KGZ1bmN0aW9uKHQpe3ZhciBlPXtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gRH19O09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJjb25maWciLGUpLHQudXRpbD17d2FybjpjdCxleHRlbmQ6RSxtZXJnZU9wdGlvbnM6THQsZGVmaW5lUmVhY3RpdmU6Q3R9LHQuc2V0PU90LHQuZGVsZXRlPVR0LHQubmV4dFRpY2s9dGUsdC5vYnNlcnZhYmxlPWZ1bmN0aW9uKHQpe3JldHVybiBrdCh0KSx0fSx0Lm9wdGlvbnM9T2JqZWN0LmNyZWF0ZShudWxsKSxSLmZvckVhY2goKGZ1bmN0aW9uKGUpe3Qub3B0aW9uc1tlKyJzIl09T2JqZWN0LmNyZWF0ZShudWxsKX0pKSx0Lm9wdGlvbnMuX2Jhc2U9dCxFKHQub3B0aW9ucy5jb21wb25lbnRzLE1uKSxmdW5jdGlvbih0KXt0LnVzZT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLl9pbnN0YWxsZWRQbHVnaW5zfHwodGhpcy5faW5zdGFsbGVkUGx1Z2lucz1bXSk7aWYoZS5pbmRleE9mKHQpPi0xKXJldHVybiB0aGlzO3ZhciBuPVQoYXJndW1lbnRzLDEpO3JldHVybiBuLnVuc2hpZnQodGhpcyksImZ1bmN0aW9uIj09PXR5cGVvZiB0Lmluc3RhbGw/dC5pbnN0YWxsLmFwcGx5KHQsbik6ImZ1bmN0aW9uIj09PXR5cGVvZiB0JiZ0LmFwcGx5KG51bGwsbiksZS5wdXNoKHQpLHRoaXN9fSh0KSxmdW5jdGlvbih0KXt0Lm1peGluPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLm9wdGlvbnM9THQodGhpcy5vcHRpb25zLHQpLHRoaXN9fSh0KSxrbih0KSxmdW5jdGlvbih0KXtSLmZvckVhY2goKGZ1bmN0aW9uKGUpe3RbZV09ZnVuY3Rpb24odCxuKXtyZXR1cm4gbj8oImNvbXBvbmVudCI9PT1lJiZ1KG4pJiYobi5uYW1lPW4ubmFtZXx8dCxuPXRoaXMub3B0aW9ucy5fYmFzZS5leHRlbmQobikpLCJkaXJlY3RpdmUiPT09ZSYmImZ1bmN0aW9uIj09PXR5cGVvZiBuJiYobj17YmluZDpuLHVwZGF0ZTpufSksdGhpcy5vcHRpb25zW2UrInMiXVt0XT1uLG4pOnRoaXMub3B0aW9uc1tlKyJzIl1bdF19fSkpfSh0KX0pKFNuKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoU24ucHJvdG90eXBlLCIkaXNTZXJ2ZXIiLHtnZXQ6cnR9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoU24ucHJvdG90eXBlLCIkc3NyQ29udGV4dCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLiR2bm9kZSYmdGhpcy4kdm5vZGUuc3NyQ29udGV4dH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoU24sIkZ1bmN0aW9uYWxSZW5kZXJDb250ZXh0Iix7dmFsdWU6SWV9KSxTbi52ZXJzaW9uPSIyLjYuMTEiO3ZhciBJbj12KCJzdHlsZSxjbGFzcyIpLFBuPXYoImlucHV0LHRleHRhcmVhLG9wdGlvbixzZWxlY3QscHJvZ3Jlc3MiKSwkbj12KCJjb250ZW50ZWRpdGFibGUsZHJhZ2dhYmxlLHNwZWxsY2hlY2siKSxMbj12KCJldmVudHMsY2FyZXQsdHlwaW5nLHBsYWludGV4dC1vbmx5IiksUm49digiYWxsb3dmdWxsc2NyZWVuLGFzeW5jLGF1dG9mb2N1cyxhdXRvcGxheSxjaGVja2VkLGNvbXBhY3QsY29udHJvbHMsZGVjbGFyZSxkZWZhdWx0LGRlZmF1bHRjaGVja2VkLGRlZmF1bHRtdXRlZCxkZWZhdWx0c2VsZWN0ZWQsZGVmZXIsZGlzYWJsZWQsZW5hYmxlZCxmb3Jtbm92YWxpZGF0ZSxoaWRkZW4saW5kZXRlcm1pbmF0ZSxpbmVydCxpc21hcCxpdGVtc2NvcGUsbG9vcCxtdWx0aXBsZSxtdXRlZCxub2hyZWYsbm9yZXNpemUsbm9zaGFkZSxub3ZhbGlkYXRlLG5vd3JhcCxvcGVuLHBhdXNlb25leGl0LHJlYWRvbmx5LHJlcXVpcmVkLHJldmVyc2VkLHNjb3BlZCxzZWFtbGVzcyxzZWxlY3RlZCxzb3J0YWJsZSx0cmFuc2xhdGUsdHJ1ZXNwZWVkLHR5cGVtdXN0bWF0Y2gsdmlzaWJsZSIpLE5uPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIixEbj1mdW5jdGlvbih0KXtyZXR1cm4iOiI9PT10LmNoYXJBdCg1KSYmInhsaW5rIj09PXQuc2xpY2UoMCw1KX0sQm49ZnVuY3Rpb24odCl7cmV0dXJuIERuKHQpP3Quc2xpY2UoNix0Lmxlbmd0aCk6IiJ9LEZuPWZ1bmN0aW9uKHQpe3JldHVybiBudWxsPT10fHwhMT09PXR9O2Z1bmN0aW9uIHpuKHQpe3ZhciBlPXQuZGF0YSxuPXQscj10O3doaWxlKGkoci5jb21wb25lbnRJbnN0YW5jZSkpcj1yLmNvbXBvbmVudEluc3RhbmNlLl92bm9kZSxyJiZyLmRhdGEmJihlPVduKHIuZGF0YSxlKSk7d2hpbGUoaShuPW4ucGFyZW50KSluJiZuLmRhdGEmJihlPVduKGUsbi5kYXRhKSk7cmV0dXJuIGZ1bmN0aW9uKHQsZSl7aWYoaSh0KXx8aShlKSlyZXR1cm4gSG4odCxVbihlKSk7cmV0dXJuIiJ9KGUuc3RhdGljQ2xhc3MsZS5jbGFzcyl9ZnVuY3Rpb24gV24odCxlKXtyZXR1cm57c3RhdGljQ2xhc3M6SG4odC5zdGF0aWNDbGFzcyxlLnN0YXRpY0NsYXNzKSxjbGFzczppKHQuY2xhc3MpP1t0LmNsYXNzLGUuY2xhc3NdOmUuY2xhc3N9fWZ1bmN0aW9uIEhuKHQsZSl7cmV0dXJuIHQ/ZT90KyIgIitlOnQ6ZXx8IiJ9ZnVuY3Rpb24gVW4odCl7cmV0dXJuIEFycmF5LmlzQXJyYXkodCk/ZnVuY3Rpb24odCl7Zm9yKHZhciBlLG49IiIscj0wLG89dC5sZW5ndGg7cjxvO3IrKylpKGU9VW4odFtyXSkpJiYiIiE9PWUmJihuJiYobis9IiAiKSxuKz1lKTtyZXR1cm4gbn0odCk6cyh0KT9mdW5jdGlvbih0KXt2YXIgZT0iIjtmb3IodmFyIG4gaW4gdCl0W25dJiYoZSYmKGUrPSIgIiksZSs9bik7cmV0dXJuIGV9KHQpOiJzdHJpbmciPT09dHlwZW9mIHQ/dDoiIn12YXIgVm49e3N2ZzoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLG1hdGg6Imh0dHA6Ly93d3cudzMub3JnLzE5OTgvTWF0aC9NYXRoTUwifSxxbj12KCJodG1sLGJvZHksYmFzZSxoZWFkLGxpbmssbWV0YSxzdHlsZSx0aXRsZSxhZGRyZXNzLGFydGljbGUsYXNpZGUsZm9vdGVyLGhlYWRlcixoMSxoMixoMyxoNCxoNSxoNixoZ3JvdXAsbmF2LHNlY3Rpb24sZGl2LGRkLGRsLGR0LGZpZ2NhcHRpb24sZmlndXJlLHBpY3R1cmUsaHIsaW1nLGxpLG1haW4sb2wscCxwcmUsdWwsYSxiLGFiYnIsYmRpLGJkbyxicixjaXRlLGNvZGUsZGF0YSxkZm4sZW0saSxrYmQsbWFyayxxLHJwLHJ0LHJ0YyxydWJ5LHMsc2FtcCxzbWFsbCxzcGFuLHN0cm9uZyxzdWIsc3VwLHRpbWUsdSx2YXIsd2JyLGFyZWEsYXVkaW8sbWFwLHRyYWNrLHZpZGVvLGVtYmVkLG9iamVjdCxwYXJhbSxzb3VyY2UsY2FudmFzLHNjcmlwdCxub3NjcmlwdCxkZWwsaW5zLGNhcHRpb24sY29sLGNvbGdyb3VwLHRhYmxlLHRoZWFkLHRib2R5LHRkLHRoLHRyLGJ1dHRvbixkYXRhbGlzdCxmaWVsZHNldCxmb3JtLGlucHV0LGxhYmVsLGxlZ2VuZCxtZXRlcixvcHRncm91cCxvcHRpb24sb3V0cHV0LHByb2dyZXNzLHNlbGVjdCx0ZXh0YXJlYSxkZXRhaWxzLGRpYWxvZyxtZW51LG1lbnVpdGVtLHN1bW1hcnksY29udGVudCxlbGVtZW50LHNoYWRvdyx0ZW1wbGF0ZSxibG9ja3F1b3RlLGlmcmFtZSx0Zm9vdCIpLFluPXYoInN2ZyxhbmltYXRlLGNpcmNsZSxjbGlwcGF0aCxjdXJzb3IsZGVmcyxkZXNjLGVsbGlwc2UsZmlsdGVyLGZvbnQtZmFjZSxmb3JlaWduT2JqZWN0LGcsZ2x5cGgsaW1hZ2UsbGluZSxtYXJrZXIsbWFzayxtaXNzaW5nLWdseXBoLHBhdGgscGF0dGVybixwb2x5Z29uLHBvbHlsaW5lLHJlY3Qsc3dpdGNoLHN5bWJvbCx0ZXh0LHRleHRwYXRoLHRzcGFuLHVzZSx2aWV3IiwhMCksWG49ZnVuY3Rpb24odCl7cmV0dXJuIHFuKHQpfHxZbih0KX07dmFyIEduPU9iamVjdC5jcmVhdGUobnVsbCk7dmFyIFFuPXYoInRleHQsbnVtYmVyLHBhc3N3b3JkLHNlYXJjaCxlbWFpbCx0ZWwsdXJsIik7dmFyIEtuPU9iamVjdC5mcmVlemUoe2NyZWF0ZUVsZW1lbnQ6ZnVuY3Rpb24odCxlKXt2YXIgbj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KHQpO3JldHVybiJzZWxlY3QiIT09dHx8ZS5kYXRhJiZlLmRhdGEuYXR0cnMmJnZvaWQgMCE9PWUuZGF0YS5hdHRycy5tdWx0aXBsZSYmbi5zZXRBdHRyaWJ1dGUoIm11bHRpcGxlIiwibXVsdGlwbGUiKSxufSxjcmVhdGVFbGVtZW50TlM6ZnVuY3Rpb24odCxlKXtyZXR1cm4gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKFZuW3RdLGUpfSxjcmVhdGVUZXh0Tm9kZTpmdW5jdGlvbih0KXtyZXR1cm4gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUodCl9LGNyZWF0ZUNvbW1lbnQ6ZnVuY3Rpb24odCl7cmV0dXJuIGRvY3VtZW50LmNyZWF0ZUNvbW1lbnQodCl9LGluc2VydEJlZm9yZTpmdW5jdGlvbih0LGUsbil7dC5pbnNlcnRCZWZvcmUoZSxuKX0scmVtb3ZlQ2hpbGQ6ZnVuY3Rpb24odCxlKXt0LnJlbW92ZUNoaWxkKGUpfSxhcHBlbmRDaGlsZDpmdW5jdGlvbih0LGUpe3QuYXBwZW5kQ2hpbGQoZSl9LHBhcmVudE5vZGU6ZnVuY3Rpb24odCl7cmV0dXJuIHQucGFyZW50Tm9kZX0sbmV4dFNpYmxpbmc6ZnVuY3Rpb24odCl7cmV0dXJuIHQubmV4dFNpYmxpbmd9LHRhZ05hbWU6ZnVuY3Rpb24odCl7cmV0dXJuIHQudGFnTmFtZX0sc2V0VGV4dENvbnRlbnQ6ZnVuY3Rpb24odCxlKXt0LnRleHRDb250ZW50PWV9LHNldFN0eWxlU2NvcGU6ZnVuY3Rpb24odCxlKXt0LnNldEF0dHJpYnV0ZShlLCIiKX19KSxKbj17Y3JlYXRlOmZ1bmN0aW9uKHQsZSl7Wm4oZSl9LHVwZGF0ZTpmdW5jdGlvbih0LGUpe3QuZGF0YS5yZWYhPT1lLmRhdGEucmVmJiYoWm4odCwhMCksWm4oZSkpfSxkZXN0cm95OmZ1bmN0aW9uKHQpe1puKHQsITApfX07ZnVuY3Rpb24gWm4odCxlKXt2YXIgbj10LmRhdGEucmVmO2lmKGkobikpe3ZhciByPXQuY29udGV4dCxvPXQuY29tcG9uZW50SW5zdGFuY2V8fHQuZWxtLGE9ci4kcmVmcztlP0FycmF5LmlzQXJyYXkoYVtuXSk/bShhW25dLG8pOmFbbl09PT1vJiYoYVtuXT12b2lkIDApOnQuZGF0YS5yZWZJbkZvcj9BcnJheS5pc0FycmF5KGFbbl0pP2Fbbl0uaW5kZXhPZihvKTwwJiZhW25dLnB1c2gobyk6YVtuXT1bb106YVtuXT1vfX12YXIgdHI9bmV3IGh0KCIiLHt9LFtdKSxlcj1bImNyZWF0ZSIsImFjdGl2YXRlIiwidXBkYXRlIiwicmVtb3ZlIiwiZGVzdHJveSJdO2Z1bmN0aW9uIG5yKHQsZSl7cmV0dXJuIHQua2V5PT09ZS5rZXkmJih0LnRhZz09PWUudGFnJiZ0LmlzQ29tbWVudD09PWUuaXNDb21tZW50JiZpKHQuZGF0YSk9PT1pKGUuZGF0YSkmJmZ1bmN0aW9uKHQsZSl7aWYoImlucHV0IiE9PXQudGFnKXJldHVybiEwO3ZhciBuLHI9aShuPXQuZGF0YSkmJmkobj1uLmF0dHJzKSYmbi50eXBlLG89aShuPWUuZGF0YSkmJmkobj1uLmF0dHJzKSYmbi50eXBlO3JldHVybiByPT09b3x8UW4ocikmJlFuKG8pfSh0LGUpfHxvKHQuaXNBc3luY1BsYWNlaG9sZGVyKSYmdC5hc3luY0ZhY3Rvcnk9PT1lLmFzeW5jRmFjdG9yeSYmcihlLmFzeW5jRmFjdG9yeS5lcnJvcikpfWZ1bmN0aW9uIHJyKHQsZSxuKXt2YXIgcixvLGE9e307Zm9yKHI9ZTtyPD1uOysrcilvPXRbcl0ua2V5LGkobykmJihhW29dPXIpO3JldHVybiBhfXZhciBpcj17Y3JlYXRlOm9yLHVwZGF0ZTpvcixkZXN0cm95OmZ1bmN0aW9uKHQpe29yKHQsdHIpfX07ZnVuY3Rpb24gb3IodCxlKXsodC5kYXRhLmRpcmVjdGl2ZXN8fGUuZGF0YS5kaXJlY3RpdmVzKSYmZnVuY3Rpb24odCxlKXt2YXIgbixyLGksbz10PT09dHIsYT1lPT09dHIscz1zcih0LmRhdGEuZGlyZWN0aXZlcyx0LmNvbnRleHQpLGM9c3IoZS5kYXRhLmRpcmVjdGl2ZXMsZS5jb250ZXh0KSx1PVtdLGw9W107Zm9yKG4gaW4gYylyPXNbbl0saT1jW25dLHI/KGkub2xkVmFsdWU9ci52YWx1ZSxpLm9sZEFyZz1yLmFyZyx1cihpLCJ1cGRhdGUiLGUsdCksaS5kZWYmJmkuZGVmLmNvbXBvbmVudFVwZGF0ZWQmJmwucHVzaChpKSk6KHVyKGksImJpbmQiLGUsdCksaS5kZWYmJmkuZGVmLmluc2VydGVkJiZ1LnB1c2goaSkpO2lmKHUubGVuZ3RoKXt2YXIgZj1mdW5jdGlvbigpe2Zvcih2YXIgbj0wO248dS5sZW5ndGg7bisrKXVyKHVbbl0sImluc2VydGVkIixlLHQpfTtvP2FlKGUsImluc2VydCIsZik6ZigpfWwubGVuZ3RoJiZhZShlLCJwb3N0cGF0Y2giLChmdW5jdGlvbigpe2Zvcih2YXIgbj0wO248bC5sZW5ndGg7bisrKXVyKGxbbl0sImNvbXBvbmVudFVwZGF0ZWQiLGUsdCl9KSk7aWYoIW8pZm9yKG4gaW4gcyljW25dfHx1cihzW25dLCJ1bmJpbmQiLHQsdCxhKX0odCxlKX12YXIgYXI9T2JqZWN0LmNyZWF0ZShudWxsKTtmdW5jdGlvbiBzcih0LGUpe3ZhciBuLHIsaT1PYmplY3QuY3JlYXRlKG51bGwpO2lmKCF0KXJldHVybiBpO2ZvcihuPTA7bjx0Lmxlbmd0aDtuKyspcj10W25dLHIubW9kaWZpZXJzfHwoci5tb2RpZmllcnM9YXIpLGlbY3IocildPXIsci5kZWY9UnQoZS4kb3B0aW9ucywiZGlyZWN0aXZlcyIsci5uYW1lKTtyZXR1cm4gaX1mdW5jdGlvbiBjcih0KXtyZXR1cm4gdC5yYXdOYW1lfHx0Lm5hbWUrIi4iK09iamVjdC5rZXlzKHQubW9kaWZpZXJzfHx7fSkuam9pbigiLiIpfWZ1bmN0aW9uIHVyKHQsZSxuLHIsaSl7dmFyIG89dC5kZWYmJnQuZGVmW2VdO2lmKG8pdHJ5e28obi5lbG0sdCxuLHIsaSl9Y2F0Y2goSGkpe3p0KEhpLG4uY29udGV4dCwiZGlyZWN0aXZlICIrdC5uYW1lKyIgIitlKyIgaG9vayIpfX12YXIgbHI9W0puLGlyXTtmdW5jdGlvbiBmcih0LGUpe2lmKCFyKHQuZGF0YS53eHNQcm9wcyl8fCFyKGUuZGF0YS53eHNQcm9wcykpe3ZhciBuPXQuJHd4c1dhdGNoZXMsaT1PYmplY3Qua2V5cyhlLmRhdGEud3hzUHJvcHMpO2lmKG58fGkubGVuZ3RoKXtufHwobj17fSk7dmFyIG89ZnVuY3Rpb24odCxlKXt2YXIgbj17fTtyZXR1cm4gT2JqZWN0LmtleXModCkuZm9yRWFjaCgoZnVuY3Rpb24ocil7ZVtyXSYmKG5bdFtyXV09ZVtyXSxkZWxldGUgZVtyXSl9KSksbn0oZS5kYXRhLnd4c1Byb3BzLGUuZGF0YS5hdHRycyksYT1lLmNvbnRleHQ7ZS4kd3hzV2F0Y2hlcz17fSxPYmplY3Qua2V5cyhvKS5mb3JFYWNoKChmdW5jdGlvbih0KXt2YXIgcj10O2UuY29udGV4dC53eHNQcm9wcyYmKHI9Ind4c1Byb3BzLiIrdCksZS4kd3hzV2F0Y2hlc1t0XT1uW3RdfHxlLmNvbnRleHQuJHdhdGNoKHIsKGZ1bmN0aW9uKG4scil7dmFyIGk9ZS5lbG0uX192dWVfX3x8ZS5lbG07b1t0XShuLHIsYS4kZ2V0Q29tcG9uZW50RGVzY3JpcHRvcihhLCEwKSxpLiRnZXRDb21wb25lbnREZXNjcmlwdG9yJiZpLiRnZXRDb21wb25lbnREZXNjcmlwdG9yKGksITEpKX0pLHtpbW1lZGlhdGU6ITAsZGVlcDohMH0pfSkpLE9iamVjdC5rZXlzKG4pLmZvckVhY2goKGZ1bmN0aW9uKHQpe2UuJHd4c1dhdGNoZXNbdF18fChuW3RdKCksZGVsZXRlIG5bdF0pfSkpfX19dmFyIGRyPXtjcmVhdGU6ZnIsdXBkYXRlOmZyfTtmdW5jdGlvbiBocih0LGUpe3ZhciBuPWUuY29tcG9uZW50T3B0aW9ucztpZigoIWkobil8fCExIT09bi5DdG9yLm9wdGlvbnMuaW5oZXJpdEF0dHJzKSYmKCFyKHQuZGF0YS5hdHRycyl8fCFyKGUuZGF0YS5hdHRycykpKXt2YXIgbyxhLHMsYz1lLmVsbSx1PXQuZGF0YS5hdHRyc3x8e30sbD1lLmRhdGEuYXR0cnN8fHt9O2ZvcihvIGluIGkobC5fX29iX18pJiYobD1lLmRhdGEuYXR0cnM9RSh7fSxsKSksbClhPWxbb10scz11W29dLHMhPT1hJiZwcihjLG8sYSk7Zm9yKG8gaW4oR3x8SykmJmwudmFsdWUhPT11LnZhbHVlJiZwcihjLCJ2YWx1ZSIsbC52YWx1ZSksdSlyKGxbb10pJiYoRG4obyk/Yy5yZW1vdmVBdHRyaWJ1dGVOUyhObixCbihvKSk6JG4obyl8fGMucmVtb3ZlQXR0cmlidXRlKG8pKX19ZnVuY3Rpb24gcHIodCxlLG4pe3QudGFnTmFtZS5pbmRleE9mKCItIik+LTE/dnIodCxlLG4pOlJuKGUpP0ZuKG4pP3QucmVtb3ZlQXR0cmlidXRlKGUpOihuPSJhbGxvd2Z1bGxzY3JlZW4iPT09ZSYmIkVNQkVEIj09PXQudGFnTmFtZT8idHJ1ZSI6ZSx0LnNldEF0dHJpYnV0ZShlLG4pKTokbihlKT90LnNldEF0dHJpYnV0ZShlLGZ1bmN0aW9uKHQsZSl7cmV0dXJuIEZuKGUpfHwiZmFsc2UiPT09ZT8iZmFsc2UiOiJjb250ZW50ZWRpdGFibGUiPT09dCYmTG4oZSk/ZToidHJ1ZSJ9KGUsbikpOkRuKGUpP0ZuKG4pP3QucmVtb3ZlQXR0cmlidXRlTlMoTm4sQm4oZSkpOnQuc2V0QXR0cmlidXRlTlMoTm4sZSxuKTp2cih0LGUsbil9ZnVuY3Rpb24gdnIodCxlLG4pe2lmKEZuKG4pKXQucmVtb3ZlQXR0cmlidXRlKGUpO2Vsc2V7aWYoRyYmIVEmJiJURVhUQVJFQSI9PT10LnRhZ05hbWUmJiJwbGFjZWhvbGRlciI9PT1lJiYiIiE9PW4mJiF0Ll9faWVwaCl7dmFyIHI9ZnVuY3Rpb24oZSl7ZS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKSx0LnJlbW92ZUV2ZW50TGlzdGVuZXIoImlucHV0IixyKX07dC5hZGRFdmVudExpc3RlbmVyKCJpbnB1dCIsciksdC5fX2llcGg9ITB9dC5zZXRBdHRyaWJ1dGUoZSxuKX19dmFyIGdyPXtjcmVhdGU6aHIsdXBkYXRlOmhyfTtmdW5jdGlvbiBtcih0LGUpe3ZhciBuPWUuZWxtLG89ZS5kYXRhLGE9dC5kYXRhO2lmKCEocihvLnN0YXRpY0NsYXNzKSYmcihvLmNsYXNzKSYmKHIoYSl8fHIoYS5zdGF0aWNDbGFzcykmJnIoYS5jbGFzcykpJiZyKG4uX193eHNBZGRDbGFzcykmJnIobi5fX3d4c1JlbW92ZUNsYXNzKSkpe3ZhciBzPXpuKGUpLGM9bi5fdHJhbnNpdGlvbkNsYXNzZXM7aWYoaShjKSYmKHM9SG4ocyxVbihjKSkpLEFycmF5LmlzQXJyYXkobi5fX3d4c1JlbW92ZUNsYXNzKSYmbi5fX3d4c1JlbW92ZUNsYXNzLmxlbmd0aCl7dmFyIHU9cy5zcGxpdCgvXHMrLyk7bi5fX3d4c1JlbW92ZUNsYXNzLmZvckVhY2goKGZ1bmN0aW9uKHQpe3ZhciBlPXUuZmluZEluZGV4KChmdW5jdGlvbihlKXtyZXR1cm4gZT09PXR9KSk7LTEhPT1lJiZ1LnNwbGljZShlLDEpfSkpLHM9dS5qb2luKCIgIiksbi5fX3d4c1JlbW92ZUNsYXNzLmxlbmd0aD0wfWlmKG4uX193eHNBZGRDbGFzcyl7dmFyIGw9cy5zcGxpdCgvXHMrLykuY29uY2F0KG4uX193eHNBZGRDbGFzcy5zcGxpdCgvXHMrLykpLGY9T2JqZWN0LmNyZWF0ZShudWxsKTtsLmZvckVhY2goKGZ1bmN0aW9uKHQpe3QmJihmW3RdPTEpfSkpLHM9T2JqZWN0LmtleXMoZikuam9pbigiICIpfXZhciBkPWUuY29udGV4dCxoPWQuJG9wdGlvbnMubXBPcHRpb25zJiZkLiRvcHRpb25zLm1wT3B0aW9ucy5leHRlcm5hbENsYXNzZXM7QXJyYXkuaXNBcnJheShoKSYmaC5mb3JFYWNoKChmdW5jdGlvbih0KXt2YXIgZT1kW3godCldO2UmJihzPXMucmVwbGFjZSh0LGUpKX0pKSxzIT09bi5fcHJldkNsYXNzJiYobi5zZXRBdHRyaWJ1dGUoImNsYXNzIixzKSxuLl9wcmV2Q2xhc3M9cyl9fXZhciBicix5cj17Y3JlYXRlOm1yLHVwZGF0ZTptcn07ZnVuY3Rpb24gX3IodCxlLG4pe3ZhciByPWJyO3JldHVybiBmdW5jdGlvbiBpKCl7dmFyIG89ZS5hcHBseShudWxsLGFyZ3VtZW50cyk7bnVsbCE9PW8mJlNyKHQsaSxuLHIpfX12YXIgd3I9cXQmJiEoWiYmTnVtYmVyKFpbMV0pPD01Myk7ZnVuY3Rpb24geHIodCxlLG4scil7aWYod3Ipe3ZhciBpPXNuLG89ZTtlPW8uX3dyYXBwZXI9ZnVuY3Rpb24odCl7aWYodC50YXJnZXQ9PT10LmN1cnJlbnRUYXJnZXR8fHQudGltZVN0YW1wPj1pfHx0LnRpbWVTdGFtcDw9MHx8dC50YXJnZXQub3duZXJEb2N1bWVudCE9PWRvY3VtZW50KXJldHVybiBvLmFwcGx5KHRoaXMsYXJndW1lbnRzKX19YnIuYWRkRXZlbnRMaXN0ZW5lcih0LGUsZXQ/e2NhcHR1cmU6bixwYXNzaXZlOnJ9Om4pfWZ1bmN0aW9uIFNyKHQsZSxuLHIpeyhyfHxicikucmVtb3ZlRXZlbnRMaXN0ZW5lcih0LGUuX3dyYXBwZXJ8fGUsbil9ZnVuY3Rpb24ga3IodCxlKXtpZighcih0LmRhdGEub24pfHwhcihlLmRhdGEub24pKXt2YXIgbj1lLmRhdGEub258fHt9LG89dC5kYXRhLm9ufHx7fTticj1lLmVsbSxmdW5jdGlvbih0KXtpZihpKHRbIl9fciJdKSl7dmFyIGU9Rz8iY2hhbmdlIjoiaW5wdXQiO3RbZV09W10uY29uY2F0KHRbIl9fciJdLHRbZV18fFtdKSxkZWxldGUgdFsiX19yIl19aSh0WyJfX2MiXSkmJih0LmNoYW5nZT1bXS5jb25jYXQodFsiX19jIl0sdC5jaGFuZ2V8fFtdKSxkZWxldGUgdFsiX19jIl0pfShuKSxvZShuLG8seHIsU3IsX3IsZS5jb250ZXh0KSxicj12b2lkIDB9fXZhciBDcixPcj17Y3JlYXRlOmtyLHVwZGF0ZTprcn07ZnVuY3Rpb24gVHIodCxlKXtpZighcih0LmRhdGEuZG9tUHJvcHMpfHwhcihlLmRhdGEuZG9tUHJvcHMpKXt2YXIgbixvLGE9ZS5lbG0scz10LmRhdGEuZG9tUHJvcHN8fHt9LGM9ZS5kYXRhLmRvbVByb3BzfHx7fTtmb3IobiBpbiBpKGMuX19vYl9fKSYmKGM9ZS5kYXRhLmRvbVByb3BzPUUoe30sYykpLHMpbiBpbiBjfHwoYVtuXT0iIik7Zm9yKG4gaW4gYyl7aWYobz1jW25dLCJ0ZXh0Q29udGVudCI9PT1ufHwiaW5uZXJIVE1MIj09PW4pe2lmKGUuY2hpbGRyZW4mJihlLmNoaWxkcmVuLmxlbmd0aD0wKSxvPT09c1tuXSljb250aW51ZTsxPT09YS5jaGlsZE5vZGVzLmxlbmd0aCYmYS5yZW1vdmVDaGlsZChhLmNoaWxkTm9kZXNbMF0pfWlmKCJ2YWx1ZSI9PT1uJiYiUFJPR1JFU1MiIT09YS50YWdOYW1lKXthLl92YWx1ZT1vO3ZhciB1PXIobyk/IiI6U3RyaW5nKG8pO0VyKGEsdSkmJihhLnZhbHVlPXUpfWVsc2UgaWYoImlubmVySFRNTCI9PT1uJiZZbihhLnRhZ05hbWUpJiZyKGEuaW5uZXJIVE1MKSl7Q3I9Q3J8fGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLENyLmlubmVySFRNTD0iPHN2Zz4iK28rIjwvc3ZnPiI7dmFyIGw9Q3IuZmlyc3RDaGlsZDt3aGlsZShhLmZpcnN0Q2hpbGQpYS5yZW1vdmVDaGlsZChhLmZpcnN0Q2hpbGQpO3doaWxlKGwuZmlyc3RDaGlsZClhLmFwcGVuZENoaWxkKGwuZmlyc3RDaGlsZCl9ZWxzZSBpZihvIT09c1tuXSl0cnl7YVtuXT1vfWNhdGNoKEhpKXt9fX19ZnVuY3Rpb24gRXIodCxlKXtyZXR1cm4hdC5jb21wb3NpbmcmJigiT1BUSU9OIj09PXQudGFnTmFtZXx8ZnVuY3Rpb24odCxlKXt2YXIgbj0hMDt0cnl7bj1kb2N1bWVudC5hY3RpdmVFbGVtZW50IT09dH1jYXRjaChIaSl7fXJldHVybiBuJiZ0LnZhbHVlIT09ZX0odCxlKXx8ZnVuY3Rpb24odCxlKXt2YXIgbj10LnZhbHVlLHI9dC5fdk1vZGlmaWVycztpZihpKHIpKXtpZihyLm51bWJlcilyZXR1cm4gcChuKSE9PXAoZSk7aWYoci50cmltKXJldHVybiBuLnRyaW0oKSE9PWUudHJpbSgpfXJldHVybiBuIT09ZX0odCxlKSl9dmFyIEFyPXtjcmVhdGU6VHIsdXBkYXRlOlRyfSxqcj1fKChmdW5jdGlvbih0KXt2YXIgZT17fSxuPS86KC4rKS87cmV0dXJuIHQuc3BsaXQoLzsoPyFbXihdKlwpKS9nKS5mb3JFYWNoKChmdW5jdGlvbih0KXtpZih0KXt2YXIgcj10LnNwbGl0KG4pO3IubGVuZ3RoPjEmJihlW3JbMF0udHJpbSgpXT1yWzFdLnRyaW0oKSl9fSkpLGV9KSk7ZnVuY3Rpb24gTXIodCl7dmFyIGU9SXIodC5zdHlsZSk7cmV0dXJuIHQuc3RhdGljU3R5bGU/RSh0LnN0YXRpY1N0eWxlLGUpOmV9ZnVuY3Rpb24gSXIodCl7cmV0dXJuIEFycmF5LmlzQXJyYXkodCk/QSh0KToic3RyaW5nIj09PXR5cGVvZiB0P2pyKHQpOnR9dmFyIFByLCRyPS9eLS0vLExyPS9ccyohaW1wb3J0YW50JC8sUnI9L1xiKFsrLV0/XGQrKFwuXGQrKT8pW3J8dV1weFxiL2csTnI9ZnVuY3Rpb24odCl7cmV0dXJuInN0cmluZyI9PT10eXBlb2YgdD90LnJlcGxhY2UoUnIsKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHVuaS51cHgycHgoZSkrInB4In0pKTp0fSxEcj0vdXJsXChccypbJyJdKC4rP1wuKGpwZ3xnaWZ8cG5nKSlbJyJdXHMqXCkvLEJyPS91cmxcKFxzKihbYS16QS1aMC05XC5cLVxfXC9dKz9cLihqcGd8Z2lmfHBuZykpXHMqXCkvLEZyPWZ1bmN0aW9uKHQsZSxuLHIpe2lmKHImJnIuXyRnZXRSZWFsUGF0aCYmbiYmKG49ZnVuY3Rpb24odCxlKXtpZigic3RyaW5nIj09PXR5cGVvZiB0JiYtMSE9PXQuaW5kZXhPZigidXJsKCIpKXt2YXIgbj10Lm1hdGNoKERyKXx8dC5tYXRjaChCcik7biYmMz09PW4ubGVuZ3RoJiYodD10LnJlcGxhY2UoblsxXSxlLl8kZ2V0UmVhbFBhdGgoblsxXSkpKX1yZXR1cm4gdH0obixyKSksJHIudGVzdChlKSl0LnN0eWxlLnNldFByb3BlcnR5KGUsbik7ZWxzZSBpZihMci50ZXN0KG4pKXQuc3R5bGUuc2V0UHJvcGVydHkoQyhlKSxuLnJlcGxhY2UoTHIsIiIpLCJpbXBvcnRhbnQiKTtlbHNle3ZhciBpPVdyKGUpO2lmKEFycmF5LmlzQXJyYXkobikpZm9yKHZhciBvPTAsYT1uLmxlbmd0aDtvPGE7bysrKXQuc3R5bGVbaV09TnIobltvXSk7ZWxzZSB0LnN0eWxlW2ldPU5yKG4pfX0senI9WyJXZWJraXQiLCJNb3oiLCJtcyJdLFdyPV8oKGZ1bmN0aW9uKHQpe2lmKFByPVByfHxkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKS5zdHlsZSx0PXgodCksImZpbHRlciIhPT10JiZ0IGluIFByKXJldHVybiB0O2Zvcih2YXIgZT10LmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpK3Quc2xpY2UoMSksbj0wO248enIubGVuZ3RoO24rKyl7dmFyIHI9enJbbl0rZTtpZihyIGluIFByKXJldHVybiByfX0pKTtmdW5jdGlvbiBIcih0LGUpe3ZhciBuPWUuZGF0YSxvPXQuZGF0YSxhPWUuZWxtO2lmKCEocihuLnN0YXRpY1N0eWxlKSYmcihuLnN0eWxlKSYmcihvLnN0YXRpY1N0eWxlKSYmcihvLnN0eWxlKSYmcihhLl9fd3hzU3R5bGUpKSl7dmFyIHMsYyx1PW8uc3RhdGljU3R5bGUsbD1vLm5vcm1hbGl6ZWRTdHlsZXx8by5zdHlsZXx8e30sZj11fHxsLGQ9SXIoZS5kYXRhLnN0eWxlKXx8e307ZS5kYXRhLm5vcm1hbGl6ZWRTdHlsZT1pKGQuX19vYl9fKT9FKHt9LGQpOmQ7dmFyIGg9ZnVuY3Rpb24odCxlKXt2YXIgbixyPXt9O2lmKGUpe3ZhciBpPXQ7d2hpbGUoaS5jb21wb25lbnRJbnN0YW5jZSlpPWkuY29tcG9uZW50SW5zdGFuY2UuX3Zub2RlLGkmJmkuZGF0YSYmKG49TXIoaS5kYXRhKSkmJkUocixuKX0obj1Ncih0LmRhdGEpKSYmRShyLG4pO3ZhciBvPXQ7d2hpbGUobz1vLnBhcmVudClvLmRhdGEmJihuPU1yKG8uZGF0YSkpJiZFKHIsbik7cmV0dXJuIHJ9KGUsITApO2ZvcihjIGluIGEuX193eHNTdHlsZSYmKE9iamVjdC5hc3NpZ24oZS5kYXRhLm5vcm1hbGl6ZWRTdHlsZSxhLl9fd3hzU3R5bGUpLE9iamVjdC5hc3NpZ24oaCxhLl9fd3hzU3R5bGUpKSxmKXIoaFtjXSkmJkZyKGEsYywiIik7Zm9yKGMgaW4gaClzPWhbY10scyE9PWZbY10mJkZyKGEsYyxudWxsPT1zPyIiOnMsZS5jb250ZXh0KX19dmFyIFVyPXtjcmVhdGU6SHIsdXBkYXRlOkhyfSxWcj0vXHMrLztmdW5jdGlvbiBxcih0LGUpe2lmKGUmJihlPWUudHJpbSgpKSlpZih0LmNsYXNzTGlzdCllLmluZGV4T2YoIiAiKT4tMT9lLnNwbGl0KFZyKS5mb3JFYWNoKChmdW5jdGlvbihlKXtyZXR1cm4gdC5jbGFzc0xpc3QuYWRkKGUpfSkpOnQuY2xhc3NMaXN0LmFkZChlKTtlbHNle3ZhciBuPSIgIisodC5nZXRBdHRyaWJ1dGUoImNsYXNzIil8fCIiKSsiICI7bi5pbmRleE9mKCIgIitlKyIgIik8MCYmdC5zZXRBdHRyaWJ1dGUoImNsYXNzIiwobitlKS50cmltKCkpfX1mdW5jdGlvbiBZcih0LGUpe2lmKGUmJihlPWUudHJpbSgpKSlpZih0LmNsYXNzTGlzdCllLmluZGV4T2YoIiAiKT4tMT9lLnNwbGl0KFZyKS5mb3JFYWNoKChmdW5jdGlvbihlKXtyZXR1cm4gdC5jbGFzc0xpc3QucmVtb3ZlKGUpfSkpOnQuY2xhc3NMaXN0LnJlbW92ZShlKSx0LmNsYXNzTGlzdC5sZW5ndGh8fHQucmVtb3ZlQXR0cmlidXRlKCJjbGFzcyIpO2Vsc2V7dmFyIG49IiAiKyh0LmdldEF0dHJpYnV0ZSgiY2xhc3MiKXx8IiIpKyIgIixyPSIgIitlKyIgIjt3aGlsZShuLmluZGV4T2Yocik+PTApbj1uLnJlcGxhY2UociwiICIpO249bi50cmltKCksbj90LnNldEF0dHJpYnV0ZSgiY2xhc3MiLG4pOnQucmVtb3ZlQXR0cmlidXRlKCJjbGFzcyIpfX1mdW5jdGlvbiBYcih0KXtpZih0KXtpZigib2JqZWN0Ij09PXR5cGVvZiB0KXt2YXIgZT17fTtyZXR1cm4hMSE9PXQuY3NzJiZFKGUsR3IodC5uYW1lfHwidiIpKSxFKGUsdCksZX1yZXR1cm4ic3RyaW5nIj09PXR5cGVvZiB0P0dyKHQpOnZvaWQgMH19dmFyIEdyPV8oKGZ1bmN0aW9uKHQpe3JldHVybntlbnRlckNsYXNzOnQrIi1lbnRlciIsZW50ZXJUb0NsYXNzOnQrIi1lbnRlci10byIsZW50ZXJBY3RpdmVDbGFzczp0KyItZW50ZXItYWN0aXZlIixsZWF2ZUNsYXNzOnQrIi1sZWF2ZSIsbGVhdmVUb0NsYXNzOnQrIi1sZWF2ZS10byIsbGVhdmVBY3RpdmVDbGFzczp0KyItbGVhdmUtYWN0aXZlIn19KSksUXI9ViYmIVEsS3I9InRyYW5zaXRpb24iLEpyPSJ0cmFuc2l0aW9uZW5kIixacj0iYW5pbWF0aW9uIix0aT0iYW5pbWF0aW9uZW5kIjtRciYmKHZvaWQgMD09PXdpbmRvdy5vbnRyYW5zaXRpb25lbmQmJnZvaWQgMCE9PXdpbmRvdy5vbndlYmtpdHRyYW5zaXRpb25lbmQmJihLcj0iV2Via2l0VHJhbnNpdGlvbiIsSnI9IndlYmtpdFRyYW5zaXRpb25FbmQiKSx2b2lkIDA9PT13aW5kb3cub25hbmltYXRpb25lbmQmJnZvaWQgMCE9PXdpbmRvdy5vbndlYmtpdGFuaW1hdGlvbmVuZCYmKFpyPSJXZWJraXRBbmltYXRpb24iLHRpPSJ3ZWJraXRBbmltYXRpb25FbmQiKSk7dmFyIGVpPVY/d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZT93aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lLmJpbmQod2luZG93KTpzZXRUaW1lb3V0OmZ1bmN0aW9uKHQpe3JldHVybiB0KCl9O2Z1bmN0aW9uIG5pKHQpe2VpKChmdW5jdGlvbigpe2VpKHQpfSkpfWZ1bmN0aW9uIHJpKHQsZSl7dmFyIG49dC5fdHJhbnNpdGlvbkNsYXNzZXN8fCh0Ll90cmFuc2l0aW9uQ2xhc3Nlcz1bXSk7bi5pbmRleE9mKGUpPDAmJihuLnB1c2goZSkscXIodCxlKSl9ZnVuY3Rpb24gaWkodCxlKXt0Ll90cmFuc2l0aW9uQ2xhc3NlcyYmbSh0Ll90cmFuc2l0aW9uQ2xhc3NlcyxlKSxZcih0LGUpfWZ1bmN0aW9uIG9pKHQsZSxuKXt2YXIgcj1zaSh0LGUpLGk9ci50eXBlLG89ci50aW1lb3V0LGE9ci5wcm9wQ291bnQ7aWYoIWkpcmV0dXJuIG4oKTt2YXIgcz0idHJhbnNpdGlvbiI9PT1pP0pyOnRpLGM9MCx1PWZ1bmN0aW9uKCl7dC5yZW1vdmVFdmVudExpc3RlbmVyKHMsbCksbigpfSxsPWZ1bmN0aW9uKGUpe2UudGFyZ2V0PT09dCYmKytjPj1hJiZ1KCl9O3NldFRpbWVvdXQoKGZ1bmN0aW9uKCl7YzxhJiZ1KCl9KSxvKzEpLHQuYWRkRXZlbnRMaXN0ZW5lcihzLGwpfXZhciBhaT0vXGIodHJhbnNmb3JtfGFsbCkoLHwkKS87ZnVuY3Rpb24gc2kodCxlKXt2YXIgbixyPXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHQpLGk9KHJbS3IrIkRlbGF5Il18fCIiKS5zcGxpdCgiLCAiKSxvPShyW0tyKyJEdXJhdGlvbiJdfHwiIikuc3BsaXQoIiwgIiksYT1jaShpLG8pLHM9KHJbWnIrIkRlbGF5Il18fCIiKS5zcGxpdCgiLCAiKSxjPShyW1pyKyJEdXJhdGlvbiJdfHwiIikuc3BsaXQoIiwgIiksdT1jaShzLGMpLGw9MCxmPTA7InRyYW5zaXRpb24iPT09ZT9hPjAmJihuPSJ0cmFuc2l0aW9uIixsPWEsZj1vLmxlbmd0aCk6ImFuaW1hdGlvbiI9PT1lP3U+MCYmKG49ImFuaW1hdGlvbiIsbD11LGY9Yy5sZW5ndGgpOihsPU1hdGgubWF4KGEsdSksbj1sPjA/YT51PyJ0cmFuc2l0aW9uIjoiYW5pbWF0aW9uIjpudWxsLGY9bj8idHJhbnNpdGlvbiI9PT1uP28ubGVuZ3RoOmMubGVuZ3RoOjApO3ZhciBkPSJ0cmFuc2l0aW9uIj09PW4mJmFpLnRlc3QocltLcisiUHJvcGVydHkiXSk7cmV0dXJue3R5cGU6bix0aW1lb3V0OmwscHJvcENvdW50OmYsaGFzVHJhbnNmb3JtOmR9fWZ1bmN0aW9uIGNpKHQsZSl7d2hpbGUodC5sZW5ndGg8ZS5sZW5ndGgpdD10LmNvbmNhdCh0KTtyZXR1cm4gTWF0aC5tYXguYXBwbHkobnVsbCxlLm1hcCgoZnVuY3Rpb24oZSxuKXtyZXR1cm4gdWkoZSkrdWkodFtuXSl9KSkpfWZ1bmN0aW9uIHVpKHQpe3JldHVybiAxZTMqTnVtYmVyKHQuc2xpY2UoMCwtMSkucmVwbGFjZSgiLCIsIi4iKSl9ZnVuY3Rpb24gbGkodCxlKXt2YXIgbj10LmVsbTtpKG4uX2xlYXZlQ2IpJiYobi5fbGVhdmVDYi5jYW5jZWxsZWQ9ITAsbi5fbGVhdmVDYigpKTt2YXIgbz1Ycih0LmRhdGEudHJhbnNpdGlvbik7aWYoIXIobykmJiFpKG4uX2VudGVyQ2IpJiYxPT09bi5ub2RlVHlwZSl7dmFyIGE9by5jc3MsYz1vLnR5cGUsdT1vLmVudGVyQ2xhc3MsbD1vLmVudGVyVG9DbGFzcyxmPW8uZW50ZXJBY3RpdmVDbGFzcyxkPW8uYXBwZWFyQ2xhc3MsaD1vLmFwcGVhclRvQ2xhc3Msdj1vLmFwcGVhckFjdGl2ZUNsYXNzLGc9by5iZWZvcmVFbnRlcixtPW8uZW50ZXIsYj1vLmFmdGVyRW50ZXIseT1vLmVudGVyQ2FuY2VsbGVkLF89by5iZWZvcmVBcHBlYXIsdz1vLmFwcGVhcix4PW8uYWZ0ZXJBcHBlYXIsUz1vLmFwcGVhckNhbmNlbGxlZCxrPW8uZHVyYXRpb24sQz1HZSxPPUdlLiR2bm9kZTt3aGlsZShPJiZPLnBhcmVudClDPU8uY29udGV4dCxPPU8ucGFyZW50O3ZhciBUPSFDLl9pc01vdW50ZWR8fCF0LmlzUm9vdEluc2VydDtpZighVHx8d3x8IiI9PT13KXt2YXIgRT1UJiZkP2Q6dSxBPVQmJnY/djpmLGo9VCYmaD9oOmwsTT1UJiZffHxnLEk9VCYmImZ1bmN0aW9uIj09PXR5cGVvZiB3P3c6bSxQPVQmJnh8fGIsJD1UJiZTfHx5LFI9cChzKGspP2suZW50ZXI6ayk7MDt2YXIgTj0hMSE9PWEmJiFRLEQ9aGkoSSksQj1uLl9lbnRlckNiPUwoKGZ1bmN0aW9uKCl7TiYmKGlpKG4saiksaWkobixBKSksQi5jYW5jZWxsZWQ/KE4mJmlpKG4sRSksJCYmJChuKSk6UCYmUChuKSxuLl9lbnRlckNiPW51bGx9KSk7dC5kYXRhLnNob3d8fGFlKHQsImluc2VydCIsKGZ1bmN0aW9uKCl7dmFyIGU9bi5wYXJlbnROb2RlLHI9ZSYmZS5fcGVuZGluZyYmZS5fcGVuZGluZ1t0LmtleV07ciYmci50YWc9PT10LnRhZyYmci5lbG0uX2xlYXZlQ2ImJnIuZWxtLl9sZWF2ZUNiKCksSSYmSShuLEIpfSkpLE0mJk0obiksTiYmKHJpKG4sRSkscmkobixBKSxuaSgoZnVuY3Rpb24oKXtpaShuLEUpLEIuY2FuY2VsbGVkfHwocmkobixqKSxEfHwoZGkoUik/c2V0VGltZW91dChCLFIpOm9pKG4sYyxCKSkpfSkpKSx0LmRhdGEuc2hvdyYmKGUmJmUoKSxJJiZJKG4sQikpLE58fER8fEIoKX19fWZ1bmN0aW9uIGZpKHQsZSl7dmFyIG49dC5lbG07aShuLl9lbnRlckNiKSYmKG4uX2VudGVyQ2IuY2FuY2VsbGVkPSEwLG4uX2VudGVyQ2IoKSk7dmFyIG89WHIodC5kYXRhLnRyYW5zaXRpb24pO2lmKHIobyl8fDEhPT1uLm5vZGVUeXBlKXJldHVybiBlKCk7aWYoIWkobi5fbGVhdmVDYikpe3ZhciBhPW8uY3NzLGM9by50eXBlLHU9by5sZWF2ZUNsYXNzLGw9by5sZWF2ZVRvQ2xhc3MsZj1vLmxlYXZlQWN0aXZlQ2xhc3MsZD1vLmJlZm9yZUxlYXZlLGg9by5sZWF2ZSx2PW8uYWZ0ZXJMZWF2ZSxnPW8ubGVhdmVDYW5jZWxsZWQsbT1vLmRlbGF5TGVhdmUsYj1vLmR1cmF0aW9uLHk9ITEhPT1hJiYhUSxfPWhpKGgpLHc9cChzKGIpP2IubGVhdmU6Yik7MDt2YXIgeD1uLl9sZWF2ZUNiPUwoKGZ1bmN0aW9uKCl7bi5wYXJlbnROb2RlJiZuLnBhcmVudE5vZGUuX3BlbmRpbmcmJihuLnBhcmVudE5vZGUuX3BlbmRpbmdbdC5rZXldPW51bGwpLHkmJihpaShuLGwpLGlpKG4sZikpLHguY2FuY2VsbGVkPyh5JiZpaShuLHUpLGcmJmcobikpOihlKCksdiYmdihuKSksbi5fbGVhdmVDYj1udWxsfSkpO20/bShTKTpTKCl9ZnVuY3Rpb24gUygpe3guY2FuY2VsbGVkfHwoIXQuZGF0YS5zaG93JiZuLnBhcmVudE5vZGUmJigobi5wYXJlbnROb2RlLl9wZW5kaW5nfHwobi5wYXJlbnROb2RlLl9wZW5kaW5nPXt9KSlbdC5rZXldPXQpLGQmJmQobikseSYmKHJpKG4sdSkscmkobixmKSxuaSgoZnVuY3Rpb24oKXtpaShuLHUpLHguY2FuY2VsbGVkfHwocmkobixsKSxffHwoZGkodyk/c2V0VGltZW91dCh4LHcpOm9pKG4sYyx4KSkpfSkpKSxoJiZoKG4seCkseXx8X3x8eCgpKX19ZnVuY3Rpb24gZGkodCl7cmV0dXJuIm51bWJlciI9PT10eXBlb2YgdCYmIWlzTmFOKHQpfWZ1bmN0aW9uIGhpKHQpe2lmKHIodCkpcmV0dXJuITE7dmFyIGU9dC5mbnM7cmV0dXJuIGkoZSk/aGkoQXJyYXkuaXNBcnJheShlKT9lWzBdOmUpOih0Ll9sZW5ndGh8fHQubGVuZ3RoKT4xfWZ1bmN0aW9uIHBpKHQsZSl7ITAhPT1lLmRhdGEuc2hvdyYmbGkoZSl9dmFyIHZpPVY/e2NyZWF0ZTpwaSxhY3RpdmF0ZTpwaSxyZW1vdmU6ZnVuY3Rpb24odCxlKXshMCE9PXQuZGF0YS5zaG93P2ZpKHQsZSk6ZSgpfX06e30sZ2k9W2RyLGdyLHlyLE9yLEFyLFVyLHZpXSxtaT1naS5jb25jYXQobHIpLGJpPWZ1bmN0aW9uKHQpe3ZhciBlLG4scz17fSxjPXQubW9kdWxlcyx1PXQubm9kZU9wcztmb3IoZT0wO2U8ZXIubGVuZ3RoOysrZSlmb3Ioc1tlcltlXV09W10sbj0wO248Yy5sZW5ndGg7KytuKWkoY1tuXVtlcltlXV0pJiZzW2VyW2VdXS5wdXNoKGNbbl1bZXJbZV1dKTtmdW5jdGlvbiBsKHQpe3ZhciBlPXUucGFyZW50Tm9kZSh0KTtpKGUpJiZ1LnJlbW92ZUNoaWxkKGUsdCl9ZnVuY3Rpb24gZih0LGUsbixyLGEsYyxsKXtpZihpKHQuZWxtKSYmaShjKSYmKHQ9Y1tsXT1tdCh0KSksdC5pc1Jvb3RJbnNlcnQ9IWEsIWZ1bmN0aW9uKHQsZSxuLHIpe3ZhciBhPXQuZGF0YTtpZihpKGEpKXt2YXIgYz1pKHQuY29tcG9uZW50SW5zdGFuY2UpJiZhLmtlZXBBbGl2ZTtpZihpKGE9YS5ob29rKSYmaShhPWEuaW5pdCkmJmEodCwhMSksaSh0LmNvbXBvbmVudEluc3RhbmNlKSlyZXR1cm4gZCh0LGUpLGgobix0LmVsbSxyKSxvKGMpJiZmdW5jdGlvbih0LGUsbixyKXt2YXIgbyxhPXQ7d2hpbGUoYS5jb21wb25lbnRJbnN0YW5jZSlpZihhPWEuY29tcG9uZW50SW5zdGFuY2UuX3Zub2RlLGkobz1hLmRhdGEpJiZpKG89by50cmFuc2l0aW9uKSl7Zm9yKG89MDtvPHMuYWN0aXZhdGUubGVuZ3RoOysrbylzLmFjdGl2YXRlW29dKHRyLGEpO2UucHVzaChhKTticmVha31oKG4sdC5lbG0scil9KHQsZSxuLHIpLCEwfX0odCxlLG4scikpe3ZhciBmPXQuZGF0YSx2PXQuY2hpbGRyZW4sZz10LnRhZztpKGcpPyh0LmVsbT10Lm5zP3UuY3JlYXRlRWxlbWVudE5TKHQubnMsZyk6dS5jcmVhdGVFbGVtZW50KGcsdCksYih0KSxwKHQsdixlKSxpKGYpJiZtKHQsZSksaChuLHQuZWxtLHIpKTpvKHQuaXNDb21tZW50KT8odC5lbG09dS5jcmVhdGVDb21tZW50KHQudGV4dCksaChuLHQuZWxtLHIpKToodC5lbG09dS5jcmVhdGVUZXh0Tm9kZSh0LnRleHQpLGgobix0LmVsbSxyKSl9fWZ1bmN0aW9uIGQodCxlKXtpKHQuZGF0YS5wZW5kaW5nSW5zZXJ0KSYmKGUucHVzaC5hcHBseShlLHQuZGF0YS5wZW5kaW5nSW5zZXJ0KSx0LmRhdGEucGVuZGluZ0luc2VydD1udWxsKSx0LmVsbT10LmNvbXBvbmVudEluc3RhbmNlLiRlbCxnKHQpPyhtKHQsZSksYih0KSk6KFpuKHQpLGUucHVzaCh0KSl9ZnVuY3Rpb24gaCh0LGUsbil7aSh0KSYmKGkobik/dS5wYXJlbnROb2RlKG4pPT09dCYmdS5pbnNlcnRCZWZvcmUodCxlLG4pOnUuYXBwZW5kQ2hpbGQodCxlKSl9ZnVuY3Rpb24gcCh0LGUsbil7aWYoQXJyYXkuaXNBcnJheShlKSl7MDtmb3IodmFyIHI9MDtyPGUubGVuZ3RoOysrcilmKGVbcl0sbix0LmVsbSxudWxsLCEwLGUscil9ZWxzZSBhKHQudGV4dCkmJnUuYXBwZW5kQ2hpbGQodC5lbG0sdS5jcmVhdGVUZXh0Tm9kZShTdHJpbmcodC50ZXh0KSkpfWZ1bmN0aW9uIGcodCl7d2hpbGUodC5jb21wb25lbnRJbnN0YW5jZSl0PXQuY29tcG9uZW50SW5zdGFuY2UuX3Zub2RlO3JldHVybiBpKHQudGFnKX1mdW5jdGlvbiBtKHQsbil7Zm9yKHZhciByPTA7cjxzLmNyZWF0ZS5sZW5ndGg7KytyKXMuY3JlYXRlW3JdKHRyLHQpO2U9dC5kYXRhLmhvb2ssaShlKSYmKGkoZS5jcmVhdGUpJiZlLmNyZWF0ZSh0cix0KSxpKGUuaW5zZXJ0KSYmbi5wdXNoKHQpKX1mdW5jdGlvbiBiKHQpe3ZhciBlO2lmKGkoZT10LmZuU2NvcGVJZCkpdS5zZXRTdHlsZVNjb3BlKHQuZWxtLGUpO2Vsc2V7dmFyIG49dDt3aGlsZShuKWkoZT1uLmNvbnRleHQpJiZpKGU9ZS4kb3B0aW9ucy5fc2NvcGVJZCkmJnUuc2V0U3R5bGVTY29wZSh0LmVsbSxlKSxuPW4ucGFyZW50fWkoZT1HZSkmJmUhPT10LmNvbnRleHQmJmUhPT10LmZuQ29udGV4dCYmaShlPWUuJG9wdGlvbnMuX3Njb3BlSWQpJiYhR2UuX3Zub2RlLmVsbS5fX3VuaURhdGFzZXQmJnUuc2V0U3R5bGVTY29wZSh0LmVsbSxlKX1mdW5jdGlvbiB5KHQsZSxuLHIsaSxvKXtmb3IoO3I8PWk7KytyKWYobltyXSxvLHQsZSwhMSxuLHIpfWZ1bmN0aW9uIF8odCl7dmFyIGUsbixyPXQuZGF0YTtpZihpKHIpKWZvcihpKGU9ci5ob29rKSYmaShlPWUuZGVzdHJveSkmJmUodCksZT0wO2U8cy5kZXN0cm95Lmxlbmd0aDsrK2Upcy5kZXN0cm95W2VdKHQpO2lmKGkoZT10LmNoaWxkcmVuKSlmb3Iobj0wO248dC5jaGlsZHJlbi5sZW5ndGg7KytuKV8odC5jaGlsZHJlbltuXSl9ZnVuY3Rpb24gdyh0LGUsbil7Zm9yKDtlPD1uOysrZSl7dmFyIHI9dFtlXTtpKHIpJiYoaShyLnRhZyk/KHgociksXyhyKSk6bChyLmVsbSkpfX1mdW5jdGlvbiB4KHQsZSl7aWYoaShlKXx8aSh0LmRhdGEpKXt2YXIgbixyPXMucmVtb3ZlLmxlbmd0aCsxO2ZvcihpKGUpP2UubGlzdGVuZXJzKz1yOmU9ZnVuY3Rpb24odCxlKXtmdW5jdGlvbiBuKCl7MD09PS0tbi5saXN0ZW5lcnMmJmwodCl9cmV0dXJuIG4ubGlzdGVuZXJzPWUsbn0odC5lbG0sciksaShuPXQuY29tcG9uZW50SW5zdGFuY2UpJiZpKG49bi5fdm5vZGUpJiZpKG4uZGF0YSkmJngobixlKSxuPTA7bjxzLnJlbW92ZS5sZW5ndGg7KytuKXMucmVtb3ZlW25dKHQsZSk7aShuPXQuZGF0YS5ob29rKSYmaShuPW4ucmVtb3ZlKT9uKHQsZSk6ZSgpfWVsc2UgbCh0LmVsbSl9ZnVuY3Rpb24gUyh0LGUsbixyKXtmb3IodmFyIG89bjtvPHI7bysrKXt2YXIgYT1lW29dO2lmKGkoYSkmJm5yKHQsYSkpcmV0dXJuIG99fWZ1bmN0aW9uIGsodCxlLG4sYSxjLGwpe2lmKHQhPT1lKXtpKGUuZWxtKSYmaShhKSYmKGU9YVtjXT1tdChlKSk7dmFyIGQ9ZS5lbG09dC5lbG07aWYobyh0LmlzQXN5bmNQbGFjZWhvbGRlcikpaShlLmFzeW5jRmFjdG9yeS5yZXNvbHZlZCk/VCh0LmVsbSxlLG4pOmUuaXNBc3luY1BsYWNlaG9sZGVyPSEwO2Vsc2UgaWYobyhlLmlzU3RhdGljKSYmbyh0LmlzU3RhdGljKSYmZS5rZXk9PT10LmtleSYmKG8oZS5pc0Nsb25lZCl8fG8oZS5pc09uY2UpKSllLmNvbXBvbmVudEluc3RhbmNlPXQuY29tcG9uZW50SW5zdGFuY2U7ZWxzZXt2YXIgaCxwPWUuZGF0YTtpKHApJiZpKGg9cC5ob29rKSYmaShoPWgucHJlcGF0Y2gpJiZoKHQsZSk7dmFyIHY9dC5jaGlsZHJlbixtPWUuY2hpbGRyZW47aWYoaShwKSYmZyhlKSl7Zm9yKGg9MDtoPHMudXBkYXRlLmxlbmd0aDsrK2gpcy51cGRhdGVbaF0odCxlKTtpKGg9cC5ob29rKSYmaShoPWgudXBkYXRlKSYmaCh0LGUpfXIoZS50ZXh0KT9pKHYpJiZpKG0pP3YhPT1tJiZmdW5jdGlvbih0LGUsbixvLGEpe3ZhciBzLGMsbCxkLGg9MCxwPTAsdj1lLmxlbmd0aC0xLGc9ZVswXSxtPWVbdl0sYj1uLmxlbmd0aC0xLF89blswXSx4PW5bYl0sQz0hYTt3aGlsZShoPD12JiZwPD1iKXIoZyk/Zz1lWysraF06cihtKT9tPWVbLS12XTpucihnLF8pPyhrKGcsXyxvLG4scCksZz1lWysraF0sXz1uWysrcF0pOm5yKG0seCk/KGsobSx4LG8sbixiKSxtPWVbLS12XSx4PW5bLS1iXSk6bnIoZyx4KT8oayhnLHgsbyxuLGIpLEMmJnUuaW5zZXJ0QmVmb3JlKHQsZy5lbG0sdS5uZXh0U2libGluZyhtLmVsbSkpLGc9ZVsrK2hdLHg9blstLWJdKTpucihtLF8pPyhrKG0sXyxvLG4scCksQyYmdS5pbnNlcnRCZWZvcmUodCxtLmVsbSxnLmVsbSksbT1lWy0tdl0sXz1uWysrcF0pOihyKHMpJiYocz1ycihlLGgsdikpLGM9aShfLmtleSk/c1tfLmtleV06UyhfLGUsaCx2KSxyKGMpP2YoXyxvLHQsZy5lbG0sITEsbixwKToobD1lW2NdLG5yKGwsXyk/KGsobCxfLG8sbixwKSxlW2NdPXZvaWQgMCxDJiZ1Lmluc2VydEJlZm9yZSh0LGwuZWxtLGcuZWxtKSk6ZihfLG8sdCxnLmVsbSwhMSxuLHApKSxfPW5bKytwXSk7aD52PyhkPXIobltiKzFdKT9udWxsOm5bYisxXS5lbG0seSh0LGQsbixwLGIsbykpOnA+YiYmdyhlLGgsdil9KGQsdixtLG4sbCk6aShtKT8oaSh0LnRleHQpJiZ1LnNldFRleHRDb250ZW50KGQsIiIpLHkoZCxudWxsLG0sMCxtLmxlbmd0aC0xLG4pKTppKHYpP3codiwwLHYubGVuZ3RoLTEpOmkodC50ZXh0KSYmdS5zZXRUZXh0Q29udGVudChkLCIiKTp0LnRleHQhPT1lLnRleHQmJnUuc2V0VGV4dENvbnRlbnQoZCxlLnRleHQpLGkocCkmJmkoaD1wLmhvb2spJiZpKGg9aC5wb3N0cGF0Y2gpJiZoKHQsZSl9fX1mdW5jdGlvbiBDKHQsZSxuKXtpZihvKG4pJiZpKHQucGFyZW50KSl0LnBhcmVudC5kYXRhLnBlbmRpbmdJbnNlcnQ9ZTtlbHNlIGZvcih2YXIgcj0wO3I8ZS5sZW5ndGg7KytyKWVbcl0uZGF0YS5ob29rLmluc2VydChlW3JdKX12YXIgTz12KCJhdHRycyxjbGFzcyxzdGF0aWNDbGFzcyxzdGF0aWNTdHlsZSxrZXkiKTtmdW5jdGlvbiBUKHQsZSxuLHIpe3ZhciBhLHM9ZS50YWcsYz1lLmRhdGEsdT1lLmNoaWxkcmVuO2lmKHI9cnx8YyYmYy5wcmUsZS5lbG09dCxvKGUuaXNDb21tZW50KSYmaShlLmFzeW5jRmFjdG9yeSkpcmV0dXJuIGUuaXNBc3luY1BsYWNlaG9sZGVyPSEwLCEwO2lmKGkoYykmJihpKGE9Yy5ob29rKSYmaShhPWEuaW5pdCkmJmEoZSwhMCksaShhPWUuY29tcG9uZW50SW5zdGFuY2UpKSlyZXR1cm4gZChlLG4pLCEwO2lmKGkocykpe2lmKGkodSkpaWYodC5oYXNDaGlsZE5vZGVzKCkpaWYoaShhPWMpJiZpKGE9YS5kb21Qcm9wcykmJmkoYT1hLmlubmVySFRNTCkpe2lmKGEhPT10LmlubmVySFRNTClyZXR1cm4hMX1lbHNle2Zvcih2YXIgbD0hMCxmPXQuZmlyc3RDaGlsZCxoPTA7aDx1Lmxlbmd0aDtoKyspe2lmKCFmfHwhVChmLHVbaF0sbixyKSl7bD0hMTticmVha31mPWYubmV4dFNpYmxpbmd9aWYoIWx8fGYpcmV0dXJuITF9ZWxzZSBwKGUsdSxuKTtpZihpKGMpKXt2YXIgdj0hMTtmb3IodmFyIGcgaW4gYylpZighTyhnKSl7dj0hMCxtKGUsbik7YnJlYWt9IXYmJmNbImNsYXNzIl0mJm5lKGNbImNsYXNzIl0pfX1lbHNlIHQuZGF0YSE9PWUudGV4dCYmKHQuZGF0YT1lLnRleHQpO3JldHVybiEwfXJldHVybiBmdW5jdGlvbih0LGUsbixhKXtpZighcihlKSl7dmFyIGM9ITEsbD1bXTtpZihyKHQpKWM9ITAsZihlLGwpO2Vsc2V7dmFyIGQ9aSh0Lm5vZGVUeXBlKTtpZighZCYmbnIodCxlKSlrKHQsZSxsLG51bGwsbnVsbCxhKTtlbHNle2lmKGQpe2lmKDE9PT10Lm5vZGVUeXBlJiZ0Lmhhc0F0dHJpYnV0ZSgiZGF0YS1zZXJ2ZXItcmVuZGVyZWQiKSYmKHQucmVtb3ZlQXR0cmlidXRlKCJkYXRhLXNlcnZlci1yZW5kZXJlZCIpLG49ITApLG8obikmJlQodCxlLGwpKXJldHVybiBDKGUsbCwhMCksdDt0PWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgaHQodS50YWdOYW1lKHQpLnRvTG93ZXJDYXNlKCkse30sW10sdm9pZCAwLHQpfSh0KX12YXIgaD10LmVsbSxwPXUucGFyZW50Tm9kZShoKTtpZihmKGUsbCxoLl9sZWF2ZUNiP251bGw6cCx1Lm5leHRTaWJsaW5nKGgpKSxpKGUucGFyZW50KSl7dmFyIHY9ZS5wYXJlbnQsbT1nKGUpO3doaWxlKHYpe2Zvcih2YXIgYj0wO2I8cy5kZXN0cm95Lmxlbmd0aDsrK2Ipcy5kZXN0cm95W2JdKHYpO2lmKHYuZWxtPWUuZWxtLG0pe2Zvcih2YXIgeT0wO3k8cy5jcmVhdGUubGVuZ3RoOysreSlzLmNyZWF0ZVt5XSh0cix2KTt2YXIgeD12LmRhdGEuaG9vay5pbnNlcnQ7aWYoeC5tZXJnZWQpZm9yKHZhciBTPTE7Uzx4LmZucy5sZW5ndGg7UysrKXguZm5zW1NdKCl9ZWxzZSBabih2KTt2PXYucGFyZW50fX1pKHApP3coW3RdLDAsMCk6aSh0LnRhZykmJl8odCl9fXJldHVybiBDKGUsbCxjKSxlLmVsbX1pKHQpJiZfKHQpfX0oe25vZGVPcHM6S24sbW9kdWxlczptaX0pO1EmJmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInNlbGVjdGlvbmNoYW5nZSIsKGZ1bmN0aW9uKCl7dmFyIHQ9ZG9jdW1lbnQuYWN0aXZlRWxlbWVudDt0JiZ0LnZtb2RlbCYmT2kodCwiaW5wdXQiKX0pKTt2YXIgeWk9e2luc2VydGVkOmZ1bmN0aW9uKHQsZSxuLHIpeyJzZWxlY3QiPT09bi50YWc/KHIuZWxtJiYhci5lbG0uX3ZPcHRpb25zP2FlKG4sInBvc3RwYXRjaCIsKGZ1bmN0aW9uKCl7eWkuY29tcG9uZW50VXBkYXRlZCh0LGUsbil9KSk6X2kodCxlLG4uY29udGV4dCksdC5fdk9wdGlvbnM9W10ubWFwLmNhbGwodC5vcHRpb25zLFNpKSk6KCJ0ZXh0YXJlYSI9PT1uLnRhZ3x8UW4odC50eXBlKSkmJih0Ll92TW9kaWZpZXJzPWUubW9kaWZpZXJzLGUubW9kaWZpZXJzLmxhenl8fCh0LmFkZEV2ZW50TGlzdGVuZXIoImNvbXBvc2l0aW9uc3RhcnQiLGtpKSx0LmFkZEV2ZW50TGlzdGVuZXIoImNvbXBvc2l0aW9uZW5kIixDaSksdC5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLENpKSxRJiYodC52bW9kZWw9ITApKSl9LGNvbXBvbmVudFVwZGF0ZWQ6ZnVuY3Rpb24odCxlLG4pe2lmKCJzZWxlY3QiPT09bi50YWcpe19pKHQsZSxuLmNvbnRleHQpO3ZhciByPXQuX3ZPcHRpb25zLGk9dC5fdk9wdGlvbnM9W10ubWFwLmNhbGwodC5vcHRpb25zLFNpKTtpZihpLnNvbWUoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIVAodCxyW2VdKX0pKSl7dmFyIG89dC5tdWx0aXBsZT9lLnZhbHVlLnNvbWUoKGZ1bmN0aW9uKHQpe3JldHVybiB4aSh0LGkpfSkpOmUudmFsdWUhPT1lLm9sZFZhbHVlJiZ4aShlLnZhbHVlLGkpO28mJk9pKHQsImNoYW5nZSIpfX19fTtmdW5jdGlvbiBfaSh0LGUsbil7d2kodCxlLG4pLChHfHxLKSYmc2V0VGltZW91dCgoZnVuY3Rpb24oKXt3aSh0LGUsbil9KSwwKX1mdW5jdGlvbiB3aSh0LGUsbil7dmFyIHI9ZS52YWx1ZSxpPXQubXVsdGlwbGU7aWYoIWl8fEFycmF5LmlzQXJyYXkocikpe2Zvcih2YXIgbyxhLHM9MCxjPXQub3B0aW9ucy5sZW5ndGg7czxjO3MrKylpZihhPXQub3B0aW9uc1tzXSxpKW89JChyLFNpKGEpKT4tMSxhLnNlbGVjdGVkIT09byYmKGEuc2VsZWN0ZWQ9byk7ZWxzZSBpZihQKFNpKGEpLHIpKXJldHVybiB2b2lkKHQuc2VsZWN0ZWRJbmRleCE9PXMmJih0LnNlbGVjdGVkSW5kZXg9cykpO2l8fCh0LnNlbGVjdGVkSW5kZXg9LTEpfX1mdW5jdGlvbiB4aSh0LGUpe3JldHVybiBlLmV2ZXJ5KChmdW5jdGlvbihlKXtyZXR1cm4hUChlLHQpfSkpfWZ1bmN0aW9uIFNpKHQpe3JldHVybiJfdmFsdWUiaW4gdD90Ll92YWx1ZTp0LnZhbHVlfWZ1bmN0aW9uIGtpKHQpe3QudGFyZ2V0LmNvbXBvc2luZz0hMH1mdW5jdGlvbiBDaSh0KXt0LnRhcmdldC5jb21wb3NpbmcmJih0LnRhcmdldC5jb21wb3Npbmc9ITEsT2kodC50YXJnZXQsImlucHV0IikpfWZ1bmN0aW9uIE9pKHQsZSl7dmFyIG49ZG9jdW1lbnQuY3JlYXRlRXZlbnQoIkhUTUxFdmVudHMiKTtuLmluaXRFdmVudChlLCEwLCEwKSx0LmRpc3BhdGNoRXZlbnQobil9ZnVuY3Rpb24gVGkodCl7cmV0dXJuIXQuY29tcG9uZW50SW5zdGFuY2V8fHQuZGF0YSYmdC5kYXRhLnRyYW5zaXRpb24/dDpUaSh0LmNvbXBvbmVudEluc3RhbmNlLl92bm9kZSl9dmFyIEVpPXtiaW5kOmZ1bmN0aW9uKHQsZSxuKXt2YXIgcj1lLnZhbHVlO249VGkobik7dmFyIGk9bi5kYXRhJiZuLmRhdGEudHJhbnNpdGlvbixvPXQuX192T3JpZ2luYWxEaXNwbGF5PSJub25lIj09PXQuc3R5bGUuZGlzcGxheT8iIjp0LnN0eWxlLmRpc3BsYXk7ciYmaT8obi5kYXRhLnNob3c9ITAsbGkobiwoZnVuY3Rpb24oKXt0LnN0eWxlLmRpc3BsYXk9b30pKSk6dC5zdHlsZS5kaXNwbGF5PXI/bzoibm9uZSJ9LHVwZGF0ZTpmdW5jdGlvbih0LGUsbil7dmFyIHI9ZS52YWx1ZSxpPWUub2xkVmFsdWU7aWYoIXIhPT0haSl7bj1UaShuKTt2YXIgbz1uLmRhdGEmJm4uZGF0YS50cmFuc2l0aW9uO28/KG4uZGF0YS5zaG93PSEwLHI/bGkobiwoZnVuY3Rpb24oKXt0LnN0eWxlLmRpc3BsYXk9dC5fX3ZPcmlnaW5hbERpc3BsYXl9KSk6ZmkobiwoZnVuY3Rpb24oKXt0LnN0eWxlLmRpc3BsYXk9Im5vbmUifSkpKTp0LnN0eWxlLmRpc3BsYXk9cj90Ll9fdk9yaWdpbmFsRGlzcGxheToibm9uZSJ9fSx1bmJpbmQ6ZnVuY3Rpb24odCxlLG4scixpKXtpfHwodC5zdHlsZS5kaXNwbGF5PXQuX192T3JpZ2luYWxEaXNwbGF5KX19LEFpPXttb2RlbDp5aSxzaG93OkVpfSxqaT17bmFtZTpTdHJpbmcsYXBwZWFyOkJvb2xlYW4sY3NzOkJvb2xlYW4sbW9kZTpTdHJpbmcsdHlwZTpTdHJpbmcsZW50ZXJDbGFzczpTdHJpbmcsbGVhdmVDbGFzczpTdHJpbmcsZW50ZXJUb0NsYXNzOlN0cmluZyxsZWF2ZVRvQ2xhc3M6U3RyaW5nLGVudGVyQWN0aXZlQ2xhc3M6U3RyaW5nLGxlYXZlQWN0aXZlQ2xhc3M6U3RyaW5nLGFwcGVhckNsYXNzOlN0cmluZyxhcHBlYXJBY3RpdmVDbGFzczpTdHJpbmcsYXBwZWFyVG9DbGFzczpTdHJpbmcsZHVyYXRpb246W051bWJlcixTdHJpbmcsT2JqZWN0XX07ZnVuY3Rpb24gTWkodCl7dmFyIGU9dCYmdC5jb21wb25lbnRPcHRpb25zO3JldHVybiBlJiZlLkN0b3Iub3B0aW9ucy5hYnN0cmFjdD9NaShVZShlLmNoaWxkcmVuKSk6dH1mdW5jdGlvbiBJaSh0KXt2YXIgZT17fSxuPXQuJG9wdGlvbnM7Zm9yKHZhciByIGluIG4ucHJvcHNEYXRhKWVbcl09dFtyXTt2YXIgaT1uLl9wYXJlbnRMaXN0ZW5lcnM7Zm9yKHZhciBvIGluIGkpZVt4KG8pXT1pW29dO3JldHVybiBlfWZ1bmN0aW9uIFBpKHQsZSl7aWYoL1xkLWtlZXAtYWxpdmUkLy50ZXN0KGUudGFnKSlyZXR1cm4gdCgia2VlcC1hbGl2ZSIse3Byb3BzOmUuY29tcG9uZW50T3B0aW9ucy5wcm9wc0RhdGF9KX12YXIgJGk9ZnVuY3Rpb24odCl7cmV0dXJuIHQudGFnfHxIZSh0KX0sTGk9ZnVuY3Rpb24odCl7cmV0dXJuInNob3ciPT09dC5uYW1lfSxSaT17bmFtZToidHJhbnNpdGlvbiIscHJvcHM6amksYWJzdHJhY3Q6ITAscmVuZGVyOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMsbj10aGlzLiRzbG90cy5kZWZhdWx0O2lmKG4mJihuPW4uZmlsdGVyKCRpKSxuLmxlbmd0aCkpezA7dmFyIHI9dGhpcy5tb2RlOzA7dmFyIGk9blswXTtpZihmdW5jdGlvbih0KXt3aGlsZSh0PXQucGFyZW50KWlmKHQuZGF0YS50cmFuc2l0aW9uKXJldHVybiEwfSh0aGlzLiR2bm9kZSkpcmV0dXJuIGk7dmFyIG89TWkoaSk7aWYoIW8pcmV0dXJuIGk7aWYodGhpcy5fbGVhdmluZylyZXR1cm4gUGkodCxpKTt2YXIgcz0iX190cmFuc2l0aW9uLSIrdGhpcy5fdWlkKyItIjtvLmtleT1udWxsPT1vLmtleT9vLmlzQ29tbWVudD9zKyJjb21tZW50IjpzK28udGFnOmEoby5rZXkpPzA9PT1TdHJpbmcoby5rZXkpLmluZGV4T2Yocyk/by5rZXk6cytvLmtleTpvLmtleTt2YXIgYz0oby5kYXRhfHwoby5kYXRhPXt9KSkudHJhbnNpdGlvbj1JaSh0aGlzKSx1PXRoaXMuX3Zub2RlLGw9TWkodSk7aWYoby5kYXRhLmRpcmVjdGl2ZXMmJm8uZGF0YS5kaXJlY3RpdmVzLnNvbWUoTGkpJiYoby5kYXRhLnNob3c9ITApLGwmJmwuZGF0YSYmIWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGUua2V5PT09dC5rZXkmJmUudGFnPT09dC50YWd9KG8sbCkmJiFIZShsKSYmKCFsLmNvbXBvbmVudEluc3RhbmNlfHwhbC5jb21wb25lbnRJbnN0YW5jZS5fdm5vZGUuaXNDb21tZW50KSl7dmFyIGY9bC5kYXRhLnRyYW5zaXRpb249RSh7fSxjKTtpZigib3V0LWluIj09PXIpcmV0dXJuIHRoaXMuX2xlYXZpbmc9ITAsYWUoZiwiYWZ0ZXJMZWF2ZSIsKGZ1bmN0aW9uKCl7ZS5fbGVhdmluZz0hMSxlLiRmb3JjZVVwZGF0ZSgpfSkpLFBpKHQsaSk7aWYoImluLW91dCI9PT1yKXtpZihIZShvKSlyZXR1cm4gdTt2YXIgZCxoPWZ1bmN0aW9uKCl7ZCgpfTthZShjLCJhZnRlckVudGVyIixoKSxhZShjLCJlbnRlckNhbmNlbGxlZCIsaCksYWUoZiwiZGVsYXlMZWF2ZSIsKGZ1bmN0aW9uKHQpe2Q9dH0pKX19cmV0dXJuIGl9fX0sTmk9RSh7dGFnOlN0cmluZyxtb3ZlQ2xhc3M6U3RyaW5nfSxqaSk7ZGVsZXRlIE5pLm1vZGU7dmFyIERpPXtwcm9wczpOaSxiZWZvcmVNb3VudDpmdW5jdGlvbigpe3ZhciB0PXRoaXMsZT10aGlzLl91cGRhdGU7dGhpcy5fdXBkYXRlPWZ1bmN0aW9uKG4scil7dmFyIGk9UWUodCk7dC5fX3BhdGNoX18odC5fdm5vZGUsdC5rZXB0LCExLCEwKSx0Ll92bm9kZT10LmtlcHQsaSgpLGUuY2FsbCh0LG4scil9fSxyZW5kZXI6ZnVuY3Rpb24odCl7Zm9yKHZhciBlPXRoaXMudGFnfHx0aGlzLiR2bm9kZS5kYXRhLnRhZ3x8InNwYW4iLG49T2JqZWN0LmNyZWF0ZShudWxsKSxyPXRoaXMucHJldkNoaWxkcmVuPXRoaXMuY2hpbGRyZW4saT10aGlzLiRzbG90cy5kZWZhdWx0fHxbXSxvPXRoaXMuY2hpbGRyZW49W10sYT1JaSh0aGlzKSxzPTA7czxpLmxlbmd0aDtzKyspe3ZhciBjPWlbc107aWYoYy50YWcpaWYobnVsbCE9Yy5rZXkmJjAhPT1TdHJpbmcoYy5rZXkpLmluZGV4T2YoIl9fdmxpc3QiKSlvLnB1c2goYyksbltjLmtleV09YywoYy5kYXRhfHwoYy5kYXRhPXt9KSkudHJhbnNpdGlvbj1hO2Vsc2U7fWlmKHIpe2Zvcih2YXIgdT1bXSxsPVtdLGY9MDtmPHIubGVuZ3RoO2YrKyl7dmFyIGQ9cltmXTtkLmRhdGEudHJhbnNpdGlvbj1hLGQuZGF0YS5wb3M9ZC5lbG0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksbltkLmtleV0/dS5wdXNoKGQpOmwucHVzaChkKX10aGlzLmtlcHQ9dChlLG51bGwsdSksdGhpcy5yZW1vdmVkPWx9cmV0dXJuIHQoZSxudWxsLG8pfSx1cGRhdGVkOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5wcmV2Q2hpbGRyZW4sZT10aGlzLm1vdmVDbGFzc3x8KHRoaXMubmFtZXx8InYiKSsiLW1vdmUiO3QubGVuZ3RoJiZ0aGlzLmhhc01vdmUodFswXS5lbG0sZSkmJih0LmZvckVhY2goQmkpLHQuZm9yRWFjaChGaSksdC5mb3JFYWNoKHppKSx0aGlzLl9yZWZsb3c9ZG9jdW1lbnQuYm9keS5vZmZzZXRIZWlnaHQsdC5mb3JFYWNoKChmdW5jdGlvbih0KXtpZih0LmRhdGEubW92ZWQpe3ZhciBuPXQuZWxtLHI9bi5zdHlsZTtyaShuLGUpLHIudHJhbnNmb3JtPXIuV2Via2l0VHJhbnNmb3JtPXIudHJhbnNpdGlvbkR1cmF0aW9uPSIiLG4uYWRkRXZlbnRMaXN0ZW5lcihKcixuLl9tb3ZlQ2I9ZnVuY3Rpb24gdChyKXtyJiZyLnRhcmdldCE9PW58fHImJiEvdHJhbnNmb3JtJC8udGVzdChyLnByb3BlcnR5TmFtZSl8fChuLnJlbW92ZUV2ZW50TGlzdGVuZXIoSnIsdCksbi5fbW92ZUNiPW51bGwsaWkobixlKSl9KX19KSkpfSxtZXRob2RzOntoYXNNb3ZlOmZ1bmN0aW9uKHQsZSl7aWYoIVFyKXJldHVybiExO2lmKHRoaXMuX2hhc01vdmUpcmV0dXJuIHRoaXMuX2hhc01vdmU7dmFyIG49dC5jbG9uZU5vZGUoKTt0Ll90cmFuc2l0aW9uQ2xhc3NlcyYmdC5fdHJhbnNpdGlvbkNsYXNzZXMuZm9yRWFjaCgoZnVuY3Rpb24odCl7WXIobix0KX0pKSxxcihuLGUpLG4uc3R5bGUuZGlzcGxheT0ibm9uZSIsdGhpcy4kZWwuYXBwZW5kQ2hpbGQobik7dmFyIHI9c2kobik7cmV0dXJuIHRoaXMuJGVsLnJlbW92ZUNoaWxkKG4pLHRoaXMuX2hhc01vdmU9ci5oYXNUcmFuc2Zvcm19fX07ZnVuY3Rpb24gQmkodCl7dC5lbG0uX21vdmVDYiYmdC5lbG0uX21vdmVDYigpLHQuZWxtLl9lbnRlckNiJiZ0LmVsbS5fZW50ZXJDYigpfWZ1bmN0aW9uIEZpKHQpe3QuZGF0YS5uZXdQb3M9dC5lbG0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCl9ZnVuY3Rpb24gemkodCl7dmFyIGU9dC5kYXRhLnBvcyxuPXQuZGF0YS5uZXdQb3Mscj1lLmxlZnQtbi5sZWZ0LGk9ZS50b3Atbi50b3A7aWYocnx8aSl7dC5kYXRhLm1vdmVkPSEwO3ZhciBvPXQuZWxtLnN0eWxlO28udHJhbnNmb3JtPW8uV2Via2l0VHJhbnNmb3JtPSJ0cmFuc2xhdGUoIityKyJweCwiK2krInB4KSIsby50cmFuc2l0aW9uRHVyYXRpb249IjBzIn19dmFyIFdpPXtUcmFuc2l0aW9uOlJpLFRyYW5zaXRpb25Hcm91cDpEaX07U24uY29uZmlnLm11c3RVc2VQcm9wPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4idmFsdWUiPT09biYmUG4odCkmJiJidXR0b24iIT09ZXx8InNlbGVjdGVkIj09PW4mJiJvcHRpb24iPT09dHx8ImNoZWNrZWQiPT09biYmImlucHV0Ij09PXR8fCJtdXRlZCI9PT1uJiYidmlkZW8iPT09dH0sU24uY29uZmlnLmlzUmVzZXJ2ZWRUYWc9WG4sU24uY29uZmlnLmlzUmVzZXJ2ZWRBdHRyPUluLFNuLmNvbmZpZy5nZXRUYWdOYW1lc3BhY2U9ZnVuY3Rpb24odCl7cmV0dXJuIFluKHQpPyJzdmciOiJtYXRoIj09PXQ/Im1hdGgiOnZvaWQgMH0sU24uY29uZmlnLmlzVW5rbm93bkVsZW1lbnQ9ZnVuY3Rpb24odCl7aWYoIVYpcmV0dXJuITA7aWYoWG4odCkpcmV0dXJuITE7aWYodD10LnRvTG93ZXJDYXNlKCksbnVsbCE9R25bdF0pcmV0dXJuIEduW3RdO3ZhciBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodCk7cmV0dXJuIHQuaW5kZXhPZigiLSIpPi0xP0duW3RdPWUuY29uc3RydWN0b3I9PT13aW5kb3cuSFRNTFVua25vd25FbGVtZW50fHxlLmNvbnN0cnVjdG9yPT09d2luZG93LkhUTUxFbGVtZW50OkduW3RdPS9IVE1MVW5rbm93bkVsZW1lbnQvLnRlc3QoZS50b1N0cmluZygpKX0sRShTbi5vcHRpb25zLmRpcmVjdGl2ZXMsQWkpLEUoU24ub3B0aW9ucy5jb21wb25lbnRzLFdpKSxTbi5wcm90b3R5cGUuX19wYXRjaF9fPVY/Ymk6aixTbi5wcm90b3R5cGUuX19jYWxsX2hvb2s9ZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzO2Z0KCk7dmFyIHIsaT1uLiRvcHRpb25zW3RdLG89dCsiIGhvb2siO2lmKGkpZm9yKHZhciBhPTAscz1pLmxlbmd0aDthPHM7YSsrKXI9V3QoaVthXSxuLGU/W2VdOm51bGwsbixvKTtyZXR1cm4gbi5faGFzSG9va0V2ZW50JiZuLiRlbWl0KCJob29rOiIrdCxlKSxkdCgpLHJ9LFNuLnByb3RvdHlwZS4kbW91bnQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdD10JiZWP2Z1bmN0aW9uKHQpe2lmKCJzdHJpbmciPT09dHlwZW9mIHQpe3ZhciBlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IodCk7cmV0dXJuIGV8fGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpfXJldHVybiB0fSh0KTp2b2lkIDAsZnVuY3Rpb24odCxlLG4pe3ZhciByO3JldHVybiB0LiRlbD1lLHQuJG9wdGlvbnMucmVuZGVyfHwodC4kb3B0aW9ucy5yZW5kZXI9dnQpLFplKHQsImJlZm9yZU1vdW50Iikscj1mdW5jdGlvbigpe3QuX3VwZGF0ZSh0Ll9yZW5kZXIoKSxuKX0sbmV3IGRuKHQscixqLHtiZWZvcmU6ZnVuY3Rpb24oKXt0Ll9pc01vdW50ZWQmJiF0Ll9pc0Rlc3Ryb3llZCYmWmUodCwiYmVmb3JlVXBkYXRlIil9fSwhMCksbj0hMSxudWxsPT10LiR2bm9kZSYmKFplKHQsIm9uU2VydmljZUNyZWF0ZWQiKSxaZSh0LCJvblNlcnZpY2VBdHRhY2hlZCIpLHQuX2lzTW91bnRlZD0hMCxaZSh0LCJtb3VudGVkIikpLHR9KHRoaXMsdCxlKX0sViYmc2V0VGltZW91dCgoZnVuY3Rpb24oKXtELmRldnRvb2xzJiZpdCYmaXQuZW1pdCgiaW5pdCIsU24pfSksMCksZVsiZGVmYXVsdCJdPVNufS5jYWxsKHRoaXMsbigiMGVlNCIpKX0sIjliOGYiOmZ1bmN0aW9uKHQsZSxuKXt2YXIgcj1uKCI3N2IyIiksaT1UeXBlRXJyb3I7dC5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7aWYocihlLHQpKXJldHVybiB0O3Rocm93IGkoIkluY29ycmVjdCBpbnZvY2F0aW9uIil9fSwiOWI4ZmIiOmZ1bmN0aW9uKHQsZSl7dC5leHBvcnRzPSJvYmplY3QiPT10eXBlb2YgRGVubyYmRGVubyYmIm9iamVjdCI9PXR5cGVvZiBEZW5vLnZlcnNpb259LCI5YzRlIjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oImFiNGEiKSxpPW4oImVkYjciKS5NSVNTRURfU1RJQ0tZLG89bigiYWRhNSIpLGE9bigiZTRjYSIpLHM9bigiMjM1YyIpLmdldCxjPVJlZ0V4cC5wcm90b3R5cGUsdT1UeXBlRXJyb3I7ciYmaSYmYShjLCJzdGlja3kiLHtjb25maWd1cmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7aWYodGhpcyE9PWMpe2lmKCJSZWdFeHAiPT09byh0aGlzKSlyZXR1cm4hIXModGhpcykuc3RpY2t5O3Rocm93IG5ldyB1KCJJbmNvbXBhdGlibGUgcmVjZWl2ZXIsIFJlZ0V4cCByZXF1aXJlZCIpfX19KX0sIjlkYjYiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiOGJkYiIpLGk9bigiOWY2OSIpLG89bigiMWRlZCIpLmYsYT1uKCJjNDM1Iikscz1uKCI5ZTcwIiksYz1uKCJiNmExIiksdT1uKCI4NjJjIiksbD1uKCIwOTMxIiksZj1uKCJhNzM0IiksZD1pKCIiLnNsaWNlKSxoPU1hdGgubWluLHA9bCgic3RhcnRzV2l0aCIpLHY9IWYmJiFwJiYhIWZ1bmN0aW9uKCl7dmFyIHQ9byhTdHJpbmcucHJvdG90eXBlLCJzdGFydHNXaXRoIik7cmV0dXJuIHQmJiF0LndyaXRhYmxlfSgpO3Ioe3RhcmdldDoiU3RyaW5nIixwcm90bzohMCxmb3JjZWQ6IXYmJiFwfSx7c3RhcnRzV2l0aDpmdW5jdGlvbih0KXt2YXIgZT1zKHUodGhpcykpO2ModCk7dmFyIG49YShoKGFyZ3VtZW50cy5sZW5ndGg+MT9hcmd1bWVudHNbMV06dm9pZCAwLGUubGVuZ3RoKSkscj1zKHQpO3JldHVybiBkKGUsbixuK3IubGVuZ3RoKT09PXJ9fSl9LCI5ZTE1IjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oImYyNTkiKSxpPW4oImVmZmIiKTtyKCJ0b1ByaW1pdGl2ZSIpLGkoKX0sIjllNzAiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiOGUwMiIpLGk9U3RyaW5nO3QuZXhwb3J0cz1mdW5jdGlvbih0KXtpZigiU3ltYm9sIj09PXIodCkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGNvbnZlcnQgYSBTeW1ib2wgdmFsdWUgdG8gYSBzdHJpbmciKTtyZXR1cm4gaSh0KX19LCI5ZjY5IjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oImFkYTUiKSxpPW4oImJiODAiKTt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7aWYoIkZ1bmN0aW9uIj09PXIodCkpcmV0dXJuIGkodCl9fSwiOWY5ZSI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCI4ZjI2IiksaT1GdW5jdGlvbi5wcm90b3R5cGUsbz1pLmFwcGx5LGE9aS5jYWxsO3QuZXhwb3J0cz0ib2JqZWN0Ij09dHlwZW9mIFJlZmxlY3QmJlJlZmxlY3QuYXBwbHl8fChyP2EuYmluZChvKTpmdW5jdGlvbigpe3JldHVybiBhLmFwcGx5KG8sYXJndW1lbnRzKX0pfSxhMDMwOmZ1bmN0aW9uKHQsZSxuKXt2YXIgcj1uKCI4Mzk0IiksaT1PYmplY3QuZGVmaW5lUHJvcGVydHk7dC5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dHJ5e2kocix0LHt2YWx1ZTplLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMH0pfWNhdGNoKG4pe3JbdF09ZX1yZXR1cm4gZX19LGEwM2E6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCI4YmRiIiksaT1uKCJhYjRhIiksbz1uKCJhM2ZiIikuZjtyKHt0YXJnZXQ6Ik9iamVjdCIsc3RhdDohMCxmb3JjZWQ6T2JqZWN0LmRlZmluZVByb3BlcnRpZXMhPT1vLHNoYW06IWl9LHtkZWZpbmVQcm9wZXJ0aWVzOm99KX0sYTA0ODpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oImJkYTUiKSxpPVN0cmluZyxvPVR5cGVFcnJvcjt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7aWYocih0KSlyZXR1cm4gdDt0aHJvdyBuZXcgbygiQ2FuJ3Qgc2V0ICIraSh0KSsiIGFzIGEgcHJvdG90eXBlIil9fSxhMWMxOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiOWY5ZSIpLGk9bigiNzFlOSIpLG89bigiYmI4MCIpLGE9bigiN2VkYyIpLHM9bigiYWY5ZSIpLGM9bigiZTdlMyIpLHU9bigiNDc0ZiIpLGw9bigiMWViOCIpLGY9bigiNDk3YiIpLGQ9bigiYzQzNSIpLGg9bigiOWU3MCIpLHA9bigiODYyYyIpLHY9bigiMDNkYyIpLGc9bigiNjBiYyIpLG09bigiMTAwMSIpLGI9bigiMDdkYSIpLHk9bigiOGMwOCIpLF89eSgicmVwbGFjZSIpLHc9TWF0aC5tYXgseD1NYXRoLm1pbixTPW8oW10uY29uY2F0KSxrPW8oW10ucHVzaCksQz1vKCIiLmluZGV4T2YpLE89bygiIi5zbGljZSksVD1mdW5jdGlvbih0KXtyZXR1cm4gdm9pZCAwPT09dD90OlN0cmluZyh0KX0sRT1mdW5jdGlvbigpe3JldHVybiIkMCI9PT0iYSIucmVwbGFjZSgvLi8sIiQwIil9KCksQT1mdW5jdGlvbigpe3JldHVybiEhLy4vW19dJiYiIj09PS8uL1tfXSgiYSIsIiQwIil9KCksaj0hcygoZnVuY3Rpb24oKXt2YXIgdD0vLi87cmV0dXJuIHQuZXhlYz1mdW5jdGlvbigpe3ZhciB0PVtdO3JldHVybiB0Lmdyb3Vwcz17YToiNyJ9LHR9LCI3IiE9PSIiLnJlcGxhY2UodCwiJDxhPiIpfSkpO2EoInJlcGxhY2UiLChmdW5jdGlvbih0LGUsbil7dmFyIG89QT8iJCI6IiQwIjtyZXR1cm5bZnVuY3Rpb24odCxuKXt2YXIgcj1wKHRoaXMpLG89bCh0KT92b2lkIDA6Zyh0LF8pO3JldHVybiBvP2kobyx0LHIsbik6aShlLGgociksdCxuKX0sZnVuY3Rpb24odCxpKXt2YXIgYT1jKHRoaXMpLHM9aCh0KTtpZigic3RyaW5nIj09dHlwZW9mIGkmJi0xPT09QyhpLG8pJiYtMT09PUMoaSwiJDwiKSl7dmFyIGw9bihlLGEscyxpKTtpZihsLmRvbmUpcmV0dXJuIGwudmFsdWV9dmFyIHA9dShpKTtwfHwoaT1oKGkpKTt2YXIgZyx5PWEuZ2xvYmFsO3kmJihnPWEudW5pY29kZSxhLmxhc3RJbmRleD0wKTt2YXIgXyxFPVtdO3doaWxlKDEpe2lmKF89YihhLHMpLG51bGw9PT1fKWJyZWFrO2lmKGsoRSxfKSwheSlicmVhazt2YXIgQT1oKF9bMF0pOyIiPT09QSYmKGEubGFzdEluZGV4PXYocyxkKGEubGFzdEluZGV4KSxnKSl9Zm9yKHZhciBqPSIiLE09MCxJPTA7STxFLmxlbmd0aDtJKyspe189RVtJXTtmb3IodmFyIFAsJD1oKF9bMF0pLEw9dyh4KGYoXy5pbmRleCkscy5sZW5ndGgpLDApLFI9W10sTj0xO048Xy5sZW5ndGg7TisrKWsoUixUKF9bTl0pKTt2YXIgRD1fLmdyb3VwcztpZihwKXt2YXIgQj1TKFskXSxSLEwscyk7dm9pZCAwIT09RCYmayhCLEQpLFA9aChyKGksdm9pZCAwLEIpKX1lbHNlIFA9bSgkLHMsTCxSLEQsaSk7TD49TSYmKGorPU8ocyxNLEwpK1AsTT1MKyQubGVuZ3RoKX1yZXR1cm4gaitPKHMsTSl9XX0pLCFqfHwhRXx8QSl9LGExZDQ6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCI4NWMxIik7dC5leHBvcnRzPXJ9LGEyMGI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCI4NWMxIiksaT1uKCI0NzRmIiksbz1yLldlYWtNYXA7dC5leHBvcnRzPWkobykmJi9uYXRpdmUgY29kZS8udGVzdChTdHJpbmcobykpfSxhMzRmOmZ1bmN0aW9uKHQsZSxuKXt2YXIgcj1uKCJkN2I4IiksaT1uKCIxYWUzIiksbz1uKCI5M2MyIiksYT1uKCIyMThkIikscz1uKCJlMzUyIiksYz1uKCIyOWQ1IiksdT1UeXBlRXJyb3IsbD1jKCJ0b1ByaW1pdGl2ZSIpO3QuZXhwb3J0cz1mdW5jdGlvbih0LGUpe2lmKCFpKHQpfHxvKHQpKXJldHVybiB0O3ZhciBuLGM9YSh0LGwpO2lmKGMpe2lmKHZvaWQgMD09PWUmJihlPSJkZWZhdWx0Iiksbj1yKGMsdCxlKSwhaShuKXx8byhuKSlyZXR1cm4gbjt0aHJvdyB1KCJDYW4ndCBjb252ZXJ0IG9iamVjdCB0byBwcmltaXRpdmUgdmFsdWUiKX1yZXR1cm4gdm9pZCAwPT09ZSYmKGU9Im51bWJlciIpLHModCxlKX19LGEzNjI6ZnVuY3Rpb24odCxlLG4pe24oIjdhNzYiKSxuKCJjOWI1Iik7dmFyIHI9bigiYmRiYiIpWyJkZWZhdWx0Il0saT1uKCIzYTdlIik7dC5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7aWYoZSYmKCJvYmplY3QiPT09cihlKXx8ImZ1bmN0aW9uIj09PXR5cGVvZiBlKSlyZXR1cm4gZTtpZih2b2lkIDAhPT1lKXRocm93IG5ldyBUeXBlRXJyb3IoIkRlcml2ZWQgY29uc3RydWN0b3JzIG1heSBvbmx5IHJldHVybiBvYmplY3Qgb3IgdW5kZWZpbmVkIik7cmV0dXJuIGkodCl9LHQuZXhwb3J0cy5fX2VzTW9kdWxlPSEwLHQuZXhwb3J0c1siZGVmYXVsdCJdPXQuZXhwb3J0c30sYTNmMzpmdW5jdGlvbih0LGUsbil7dmFyIHI9bigiOWI4ZmIiKSxpPW4oImU4YjgiKTt0LmV4cG9ydHM9IXImJiFpJiYib2JqZWN0Ij09dHlwZW9mIHdpbmRvdyYmIm9iamVjdCI9PXR5cGVvZiBkb2N1bWVudH0sYTNmYjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oImFiNGEiKSxpPW4oImZlYzMiKSxvPW4oImQ2YjEiKSxhPW4oImU3ZTMiKSxzPW4oImY2NjAiKSxjPW4oImZmNGYiKTtlLmY9ciYmIWk/T2JqZWN0LmRlZmluZVByb3BlcnRpZXM6ZnVuY3Rpb24odCxlKXthKHQpO3ZhciBuLHI9cyhlKSxpPWMoZSksdT1pLmxlbmd0aCxsPTA7d2hpbGUodT5sKW8uZih0LG49aVtsKytdLHJbbl0pO3JldHVybiB0fX0sYTU1NDpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oImFmOWUiKSxpPW4oIjhjMDgiKSxvPW4oIjAxNzMiKSxhPWkoInNwZWNpZXMiKTt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIG8+PTUxfHwhcigoZnVuY3Rpb24oKXt2YXIgZT1bXSxuPWUuY29uc3RydWN0b3I9e307cmV0dXJuIG5bYV09ZnVuY3Rpb24oKXtyZXR1cm57Zm9vOjF9fSwxIT09ZVt0XShCb29sZWFuKS5mb299KSl9fSxhNWM2OmZ1bmN0aW9uKHQsZSl7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3RyeXtyZXR1cm57ZXJyb3I6ITEsdmFsdWU6dCgpfX1jYXRjaChlKXtyZXR1cm57ZXJyb3I6ITAsdmFsdWU6ZX19fX0sYTY0NDpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjhiZGIiKSxpPW4oImFiNGEiKSxvPW4oIjZhYzkiKSxhPW4oImY2NjAiKSxzPW4oIjFkZWQiKSxjPW4oIjg1ZjciKTtyKHt0YXJnZXQ6Ik9iamVjdCIsc3RhdDohMCxzaGFtOiFpfSx7Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yczpmdW5jdGlvbih0KXt2YXIgZSxuLHI9YSh0KSxpPXMuZix1PW8ociksbD17fSxmPTA7d2hpbGUodS5sZW5ndGg+ZiluPWkocixlPXVbZisrXSksdm9pZCAwIT09biYmYyhsLGUsbik7cmV0dXJuIGx9fSl9LGE3MDA6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCIyOWQ4IiksaT1yLm1hdGNoKC9BcHBsZVdlYktpdFwvKFxkKylcLi8pO3QuZXhwb3J0cz0hIWkmJitpWzFdfSxhNzM0OmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dC5leHBvcnRzPSExfSxhNzRjOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiODFhOSIpO3QuZXhwb3J0cz1mdW5jdGlvbih0LGUsbil7Zm9yKHZhciBpIGluIGUpcih0LGksZVtpXSxuKTtyZXR1cm4gdH19LGE3OTE6ZnVuY3Rpb24odCxlLG4pe3ZhciByPW4oIjFmYWEiKSxpPW4oIjdhYTYiKSxvPW4oIjNiNzgiKTt0LmV4cG9ydHM9IXImJiFpKChmdW5jdGlvbigpe3JldHVybiA3IT1PYmplY3QuZGVmaW5lUHJvcGVydHkobygiZGl2IiksImEiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gN319KS5hfSkpfSxhODMwOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiNTJkZiIpLGk9VHlwZUVycm9yO3QuZXhwb3J0cz1mdW5jdGlvbih0LGUpe2lmKCFkZWxldGUgdFtlXSl0aHJvdyBuZXcgaSgiQ2Fubm90IGRlbGV0ZSBwcm9wZXJ0eSAiK3IoZSkrIiBvZiAiK3IodCkpfX0sYThiMjpmdW5jdGlvbih0LGUsbil7bigiMzg0MCIpLG4oIjE5NTkiKSxuKCI4MzQ1IiksbigiODMyOCIpLG4oIjYxYTMiKSxuKCIyNzc5Iil9LGE5ZWU6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCI4NWMxIiksaT1uKCJhZjllIiksbz1uKCJiYjgwIiksYT1uKCI5ZTcwIikscz1uKCJlZTk4IikudHJpbSxjPW4oImYwNzIiKSx1PW8oIiIuY2hhckF0KSxsPXIucGFyc2VGbG9hdCxmPXIuU3ltYm9sLGQ9ZiYmZi5pdGVyYXRvcixoPTEvbChjKyItMCIpIT09LTEvMHx8ZCYmIWkoKGZ1bmN0aW9uKCl7bChPYmplY3QoZCkpfSkpO3QuZXhwb3J0cz1oP2Z1bmN0aW9uKHQpe3ZhciBlPXMoYSh0KSksbj1sKGUpO3JldHVybiAwPT09biYmIi0iPT09dShlLDApPy0wOm59Omx9LGFhNzc6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCI4YmRiIiksaT1uKCI0ZDE2IikuZmluZCxvPW4oIjFjYjUiKSxhPSEwOyJmaW5kImluW10mJkFycmF5KDEpWyJmaW5kIl0oKGZ1bmN0aW9uKCl7YT0hMX0pKSxyKHt0YXJnZXQ6IkFycmF5Iixwcm90bzohMCxmb3JjZWQ6YX0se2ZpbmQ6ZnVuY3Rpb24odCl7cmV0dXJuIGkodGhpcyx0LGFyZ3VtZW50cy5sZW5ndGg+MT9hcmd1bWVudHNbMV06dm9pZCAwKX19KSxvKCJmaW5kIil9LGFhOWM6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCI4YmRiIiksaT1uKCIxMDk5Iiksbz1uKCIxZmMxIiksYT1uKCJiMmIxIikscz1uKCI0MWM3IiksYz1uKCJhZjllIiksdT1jKChmdW5jdGlvbigpe3JldHVybiA0Mjk0OTY3Mjk3IT09W10ucHVzaC5jYWxsKHtsZW5ndGg6NDI5NDk2NzI5Nn0sMSl9KSksbD11fHwhZnVuY3Rpb24oKXt0cnl7T2JqZWN0LmRlZmluZVByb3BlcnR5KFtdLCJsZW5ndGgiLHt3cml0YWJsZTohMX0pLnB1c2goKX1jYXRjaCh0KXtyZXR1cm4gdCBpbnN0YW5jZW9mIFR5cGVFcnJvcn19KCk7cih7dGFyZ2V0OiJBcnJheSIscHJvdG86ITAsYXJpdHk6MSxmb3JjZWQ6bH0se3B1c2g6ZnVuY3Rpb24odCl7dmFyIGU9aSh0aGlzKSxuPW8oZSkscj1hcmd1bWVudHMubGVuZ3RoO3MobityKTtmb3IodmFyIGM9MDtjPHI7YysrKWVbbl09YXJndW1lbnRzW2NdLG4rKztyZXR1cm4gYShlLG4pLG59fSl9LGFiNGE6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCJhZjllIik7dC5leHBvcnRzPSFyKChmdW5jdGlvbigpe3JldHVybiA3IT09T2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LDEse2dldDpmdW5jdGlvbigpe3JldHVybiA3fX0pWzFdfSkpfSxhYjdmOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiOGJkYiIpLGk9bigiOWY5ZSIpLG89bigiNzk5MiIpLGE9bigiZTdlMyIpLHM9bigiYWY5ZSIpLGM9IXMoKGZ1bmN0aW9uKCl7UmVmbGVjdC5hcHBseSgoZnVuY3Rpb24oKXt9KSl9KSk7cih7dGFyZ2V0OiJSZWZsZWN0IixzdGF0OiEwLGZvcmNlZDpjfSx7YXBwbHk6ZnVuY3Rpb24odCxlLG4pe3JldHVybiBpKG8odCksZSxhKG4pKX19KX0sYWI4MDpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjg5NDUiKS5QUk9QRVIsaT1uKCI4MWE5Iiksbz1uKCJlN2UzIiksYT1uKCI5ZTcwIikscz1uKCJhZjllIiksYz1uKCI1MmFjIiksdT1SZWdFeHAucHJvdG90eXBlLGw9dVsidG9TdHJpbmciXSxmPXMoKGZ1bmN0aW9uKCl7cmV0dXJuIi9hL2IiIT09bC5jYWxsKHtzb3VyY2U6ImEiLGZsYWdzOiJiIn0pfSkpLGQ9ciYmInRvU3RyaW5nIiE9PWwubmFtZTsoZnx8ZCkmJmkodSwidG9TdHJpbmciLChmdW5jdGlvbigpe3ZhciB0PW8odGhpcyksZT1hKHQuc291cmNlKSxuPWEoYyh0KSk7cmV0dXJuIi8iK2UrIi8iK259KSx7dW5zYWZlOiEwfSl9LGFjMzg6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCIxZmMxIik7dC5leHBvcnRzPWZ1bmN0aW9uKHQsZSxuKXt2YXIgaT0wLG89YXJndW1lbnRzLmxlbmd0aD4yP246cihlKSxhPW5ldyB0KG8pO3doaWxlKG8+aSlhW2ldPWVbaSsrXTtyZXR1cm4gYX19LGFjNWY6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCJhZGE1Iik7dC5leHBvcnRzPUFycmF5LmlzQXJyYXl8fGZ1bmN0aW9uKHQpe3JldHVybiJBcnJheSI9PT1yKHQpfX0sYWRhNTpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oImJiODAiKSxpPXIoe30udG9TdHJpbmcpLG89cigiIi5zbGljZSk7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiBvKGkodCksOCwtMSl9fSxhZTVjOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiOWY2OSIpLGk9bigiNzk5MiIpLG89bigiOGYyNiIpLGE9cihyLmJpbmQpO3QuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3JldHVybiBpKHQpLHZvaWQgMD09PWU/dDpvP2EodCxlKTpmdW5jdGlvbigpe3JldHVybiB0LmFwcGx5KGUsYXJndW1lbnRzKX19fSxhZjZhOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiODVjMSIpLGk9bigiYWI0YSIpLG89T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7aWYoIWkpcmV0dXJuIHJbdF07dmFyIGU9byhyLHQpO3JldHVybiBlJiZlLnZhbHVlfX0sYWY3MTpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjAxNzMiKSxpPW4oImFmOWUiKSxvPW4oIjg1YzEiKSxhPW8uU3RyaW5nO3QuZXhwb3J0cz0hIU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMmJiFpKChmdW5jdGlvbigpe3ZhciB0PVN5bWJvbCgic3ltYm9sIGRldGVjdGlvbiIpO3JldHVybiFhKHQpfHwhKE9iamVjdCh0KWluc3RhbmNlb2YgU3ltYm9sKXx8IVN5bWJvbC5zaGFtJiZyJiZyPDQxfSkpfSxhZjhmOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiNzFlOSIpLGk9bigiN2VkYyIpLG89bigiZTdlMyIpLGE9bigiMWViOCIpLHM9bigiODYyYyIpLGM9bigiOTExYSIpLHU9bigiOWU3MCIpLGw9bigiNjBiYyIpLGY9bigiMDdkYSIpO2koInNlYXJjaCIsKGZ1bmN0aW9uKHQsZSxuKXtyZXR1cm5bZnVuY3Rpb24oZSl7dmFyIG49cyh0aGlzKSxpPWEoZSk/dm9pZCAwOmwoZSx0KTtyZXR1cm4gaT9yKGksZSxuKTpuZXcgUmVnRXhwKGUpW3RdKHUobikpfSxmdW5jdGlvbih0KXt2YXIgcj1vKHRoaXMpLGk9dSh0KSxhPW4oZSxyLGkpO2lmKGEuZG9uZSlyZXR1cm4gYS52YWx1ZTt2YXIgcz1yLmxhc3RJbmRleDtjKHMsMCl8fChyLmxhc3RJbmRleD0wKTt2YXIgbD1mKHIsaSk7cmV0dXJuIGMoci5sYXN0SW5kZXgscyl8fChyLmxhc3RJbmRleD1zKSxudWxsPT09bD8tMTpsLmluZGV4fV19KSl9LGFmOWU6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7dHJ5e3JldHVybiEhdCgpfWNhdGNoKGUpe3JldHVybiEwfX19LGIwYTg6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCJhZjllIiksaT1uKCI4NWMxIiksbz1pLlJlZ0V4cDt0LmV4cG9ydHM9cigoZnVuY3Rpb24oKXt2YXIgdD1vKCIuIiwicyIpO3JldHVybiEodC5kb3RBbGwmJnQudGVzdCgiXG4iKSYmInMiPT09dC5mbGFncyl9KSl9LGIxMzA6ZnVuY3Rpb24odCxlLG4pe3ZhciByPW4oImQxMGEiKTt0LmV4cG9ydHM9cihbXS5zbGljZSl9LGIyMjM6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCI4YjNiIiksaT1uKCJkN2I0Iiksbz1yKCJrZXlzIik7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiBvW3RdfHwob1t0XT1pKHQpKX19LGIyYjE6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCJhYjRhIiksaT1uKCJhYzVmIiksbz1UeXBlRXJyb3IsYT1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLHM9ciYmIWZ1bmN0aW9uKCl7aWYodm9pZCAwIT09dGhpcylyZXR1cm4hMDt0cnl7T2JqZWN0LmRlZmluZVByb3BlcnR5KFtdLCJsZW5ndGgiLHt3cml0YWJsZTohMX0pLmxlbmd0aD0xfWNhdGNoKHQpe3JldHVybiB0IGluc3RhbmNlb2YgVHlwZUVycm9yfX0oKTt0LmV4cG9ydHM9cz9mdW5jdGlvbih0LGUpe2lmKGkodCkmJiFhKHQsImxlbmd0aCIpLndyaXRhYmxlKXRocm93IG5ldyBvKCJDYW5ub3Qgc2V0IHJlYWQgb25seSAubGVuZ3RoIik7cmV0dXJuIHQubGVuZ3RoPWV9OmZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQubGVuZ3RoPWV9fSxiMzJlOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiYWU1YyIpLGk9bigiNzFlOSIpLG89bigiNWVlMiIpLGE9bigiMTA5OSIpLHM9bigiMWZjMSIpLGM9bigiZDY3YyIpLHU9bigiNTExMiIpLGw9bigiODFhNyIpLGY9bigiNjhmZCIpLGQ9bigiN2RkYiIpLmFUeXBlZEFycmF5Q29uc3RydWN0b3IsaD1uKCI1MGQ1Iik7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlLG4scCx2LGcsbSxiLHksXz1vKHRoaXMpLHc9YSh0KSx4PWFyZ3VtZW50cy5sZW5ndGgsUz14PjE/YXJndW1lbnRzWzFdOnZvaWQgMCxrPXZvaWQgMCE9PVMsQz11KHcpO2lmKEMmJiFsKEMpKXtiPWModyxDKSx5PWIubmV4dCx3PVtdO3doaWxlKCEobT1pKHksYikpLmRvbmUpdy5wdXNoKG0udmFsdWUpfWZvcihrJiZ4PjImJihTPXIoUyxhcmd1bWVudHNbMl0pKSxuPXModykscD1uZXcoZChfKSkobiksdj1mKHApLGU9MDtuPmU7ZSsrKWc9az9TKHdbZV0sZSk6d1tlXSxwW2VdPXY/aChnKTorZztyZXR1cm4gcH19LGIzNzc6ZnVuY3Rpb24odCxlLG4pe3ZhciByPW4oImQxMGEiKSxpPW4oIjdhYTYiKSxvPW4oIjg1ZTUiKSxhPU9iamVjdCxzPXIoIiIuc3BsaXQpO3QuZXhwb3J0cz1pKChmdW5jdGlvbigpe3JldHVybiFhKCJ6IikucHJvcGVydHlJc0VudW1lcmFibGUoMCl9KSk/ZnVuY3Rpb24odCl7cmV0dXJuIlN0cmluZyI9PW8odCk/cyh0LCIiKTphKHQpfTphfSxiM2UyOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHIsaT1uKCJjMjM4Iiksbz1uKCI4NWMxIiksYT1uKCJiYjgwIikscz1uKCJhNzRjIiksYz1uKCJkMGIxIiksdT1uKCI3NjU4IiksbD1uKCJkODcxIiksZj1uKCIxYzA2IiksZD1uKCIyMzVjIikuZW5mb3JjZSxoPW4oImFmOWUiKSxwPW4oImEyMGIiKSx2PU9iamVjdCxnPUFycmF5LmlzQXJyYXksbT12LmlzRXh0ZW5zaWJsZSxiPXYuaXNGcm96ZW4seT12LmlzU2VhbGVkLF89di5mcmVlemUsdz12LnNlYWwseD0hby5BY3RpdmVYT2JqZWN0JiYiQWN0aXZlWE9iamVjdCJpbiBvLFM9ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHQodGhpcyxhcmd1bWVudHMubGVuZ3RoP2FyZ3VtZW50c1swXTp2b2lkIDApfX0saz11KCJXZWFrTWFwIixTLGwpLEM9ay5wcm90b3R5cGUsTz1hKEMuc2V0KTtpZihwKWlmKHgpe3I9bC5nZXRDb25zdHJ1Y3RvcihTLCJXZWFrTWFwIiwhMCksYy5lbmFibGUoKTt2YXIgVD1hKENbImRlbGV0ZSJdKSxFPWEoQy5oYXMpLEE9YShDLmdldCk7cyhDLHtkZWxldGU6ZnVuY3Rpb24odCl7aWYoZih0KSYmIW0odCkpe3ZhciBlPWQodGhpcyk7cmV0dXJuIGUuZnJvemVufHwoZS5mcm96ZW49bmV3IHIpLFQodGhpcyx0KXx8ZS5mcm96ZW5bImRlbGV0ZSJdKHQpfXJldHVybiBUKHRoaXMsdCl9LGhhczpmdW5jdGlvbih0KXtpZihmKHQpJiYhbSh0KSl7dmFyIGU9ZCh0aGlzKTtyZXR1cm4gZS5mcm96ZW58fChlLmZyb3plbj1uZXcgciksRSh0aGlzLHQpfHxlLmZyb3plbi5oYXModCl9cmV0dXJuIEUodGhpcyx0KX0sZ2V0OmZ1bmN0aW9uKHQpe2lmKGYodCkmJiFtKHQpKXt2YXIgZT1kKHRoaXMpO3JldHVybiBlLmZyb3plbnx8KGUuZnJvemVuPW5ldyByKSxFKHRoaXMsdCk/QSh0aGlzLHQpOmUuZnJvemVuLmdldCh0KX1yZXR1cm4gQSh0aGlzLHQpfSxzZXQ6ZnVuY3Rpb24odCxlKXtpZihmKHQpJiYhbSh0KSl7dmFyIG49ZCh0aGlzKTtuLmZyb3plbnx8KG4uZnJvemVuPW5ldyByKSxFKHRoaXMsdCk/Tyh0aGlzLHQsZSk6bi5mcm96ZW4uc2V0KHQsZSl9ZWxzZSBPKHRoaXMsdCxlKTtyZXR1cm4gdGhpc319KX1lbHNlKGZ1bmN0aW9uKCl7cmV0dXJuIGkmJmgoKGZ1bmN0aW9uKCl7dmFyIHQ9XyhbXSk7cmV0dXJuIE8obmV3IGssdCwxKSwhYih0KX0pKX0pKCkmJnMoQyx7c2V0OmZ1bmN0aW9uKHQsZSl7dmFyIG47cmV0dXJuIGcodCkmJihiKHQpP249Xzp5KHQpJiYobj13KSksTyh0aGlzLHQsZSksbiYmbih0KSx0aGlzfX0pfSxiNGI4OmZ1bmN0aW9uKHQsZSxuKXt2YXIgcj1uKCJhMzRmIiksaT1uKCI5M2MyIik7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlPXIodCwic3RyaW5nIik7cmV0dXJuIGkoZSk/ZTplKyIifX0sYjUxMDpmdW5jdGlvbih0LGUsbil7dmFyIHI9bigiNmFjNCIpLGk9T2JqZWN0O3QuZXhwb3J0cz1mdW5jdGlvbih0KXtyZXR1cm4gaShyKHQpKX19LGI2MGE6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCI3ZGRiIiksaT1uKCI5YTUxIikubGVmdCxvPXIuYVR5cGVkQXJyYXksYT1yLmV4cG9ydFR5cGVkQXJyYXlNZXRob2Q7YSgicmVkdWNlIiwoZnVuY3Rpb24odCl7dmFyIGU9YXJndW1lbnRzLmxlbmd0aDtyZXR1cm4gaShvKHRoaXMpLHQsZSxlPjE/YXJndW1lbnRzWzFdOnZvaWQgMCl9KSl9LGI2NDM6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCIzN2FkIiksaT1NYXRoLmZsb29yLG89ZnVuY3Rpb24odCxlKXt2YXIgbj10Lmxlbmd0aDtpZihuPDgpe3ZhciBhLHMsYz0xO3doaWxlKGM8bil7cz1jLGE9dFtjXTt3aGlsZShzJiZlKHRbcy0xXSxhKT4wKXRbc109dFstLXNdO3MhPT1jKysmJih0W3NdPWEpfX1lbHNle3ZhciB1PWkobi8yKSxsPW8ocih0LDAsdSksZSksZj1vKHIodCx1KSxlKSxkPWwubGVuZ3RoLGg9Zi5sZW5ndGgscD0wLHY9MDt3aGlsZShwPGR8fHY8aCl0W3Ardl09cDxkJiZ2PGg/ZShsW3BdLGZbdl0pPD0wP2xbcCsrXTpmW3YrK106cDxkP2xbcCsrXTpmW3YrK119cmV0dXJuIHR9O3QuZXhwb3J0cz1vfSxiNjY2OmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiYWI0YSIpLGk9bigiYWY5ZSIpLG89bigiZTdlMyIpLGE9bigiZTdkYSIpLHM9RXJyb3IucHJvdG90eXBlLnRvU3RyaW5nLGM9aSgoZnVuY3Rpb24oKXtpZihyKXt2YXIgdD1PYmplY3QuY3JlYXRlKE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7fSwibmFtZSIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzPT09dH19KSk7aWYoInRydWUiIT09cy5jYWxsKHQpKXJldHVybiEwfXJldHVybiIyOiAxIiE9PXMuY2FsbCh7bWVzc2FnZToxLG5hbWU6Mn0pfHwiRXJyb3IiIT09cy5jYWxsKHt9KX0pKTt0LmV4cG9ydHM9Yz9mdW5jdGlvbigpe3ZhciB0PW8odGhpcyksZT1hKHQubmFtZSwiRXJyb3IiKSxuPWEodC5tZXNzYWdlKTtyZXR1cm4gZT9uP2UrIjogIituOmU6bn06c30sYjZhMTpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oImU2MjkiKSxpPVR5cGVFcnJvcjt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7aWYocih0KSl0aHJvdyBuZXcgaSgiVGhlIG1ldGhvZCBkb2Vzbid0IGFjY2VwdCByZWd1bGFyIGV4cHJlc3Npb25zIik7cmV0dXJuIHR9fSxiNzIwOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiMTI5NyIpLGk9VHlwZUVycm9yO3QuZXhwb3J0cz1mdW5jdGlvbih0LGUpe2lmKHIoZSx0KSlyZXR1cm4gdDt0aHJvdyBuZXcgaSgiSW5jb3JyZWN0IGludm9jYXRpb24iKX19LGI3YjE6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtuKCI2YTU0IiksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGUuZGVmYXVsdD1mdW5jdGlvbigpe3Rocm93IG5ldyBUeXBlRXJyb3IoIkludmFsaWQgYXR0ZW1wdCB0byBkZXN0cnVjdHVyZSBub24taXRlcmFibGUgaW5zdGFuY2UuXG5JbiBvcmRlciB0byBiZSBpdGVyYWJsZSwgbm9uLWFycmF5IG9iamVjdHMgbXVzdCBoYXZlIGEgW1N5bWJvbC5pdGVyYXRvcl0oKSBtZXRob2QuIil9LG4oIjdhNzYiKSxuKCJjOWI1Iil9LGI4NmQ6ZnVuY3Rpb24odCxlKXt0LmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtyZXR1cm57dmFsdWU6dCxkb25lOmV9fX0sYmI4MDpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjhmMjYiKSxpPUZ1bmN0aW9uLnByb3RvdHlwZSxvPWkuY2FsbCxhPXImJmkuYmluZC5iaW5kKG8sbyk7dC5leHBvcnRzPXI/YTpmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gby5hcHBseSh0LGFyZ3VtZW50cyl9fX0sYmNkYjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIodCl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KS5pbmRleE9mKCJFcnJvciIpPi0xfWZ1bmN0aW9uIGkodCxlKXtmb3IodmFyIG4gaW4gZSl0W25dPWVbbl07cmV0dXJuIHR9bi5yKGUpO3ZhciBvPXtuYW1lOiJSb3V0ZXJWaWV3IixmdW5jdGlvbmFsOiEwLHByb3BzOntuYW1lOnt0eXBlOlN0cmluZyxkZWZhdWx0OiJkZWZhdWx0In19LHJlbmRlcjpmdW5jdGlvbih0LGUpe3ZhciBuPWUucHJvcHMscj1lLmNoaWxkcmVuLG89ZS5wYXJlbnQsYT1lLmRhdGE7YS5yb3V0ZXJWaWV3PSEwO3ZhciBzPW8uJGNyZWF0ZUVsZW1lbnQsYz1uLm5hbWUsdT1vLiRyb3V0ZSxsPW8uX3JvdXRlclZpZXdDYWNoZXx8KG8uX3JvdXRlclZpZXdDYWNoZT17fSksZj0wLGQ9ITE7d2hpbGUobyYmby5fcm91dGVyUm9vdCE9PW8pby4kdm5vZGUmJm8uJHZub2RlLmRhdGEucm91dGVyVmlldyYmZisrLG8uX2luYWN0aXZlJiYoZD0hMCksbz1vLiRwYXJlbnQ7aWYoYS5yb3V0ZXJWaWV3RGVwdGg9ZixkKXJldHVybiBzKGxbY10sYSxyKTt2YXIgaD11Lm1hdGNoZWRbZl07aWYoIWgpcmV0dXJuIGxbY109bnVsbCxzKCk7dmFyIHA9bFtjXT1oLmNvbXBvbmVudHNbY107YS5yZWdpc3RlclJvdXRlSW5zdGFuY2U9ZnVuY3Rpb24odCxlKXt2YXIgbj1oLmluc3RhbmNlc1tjXTsoZSYmbiE9PXR8fCFlJiZuPT09dCkmJihoLmluc3RhbmNlc1tjXT1lKX0sKGEuaG9va3x8KGEuaG9vaz17fSkpLnByZXBhdGNoPWZ1bmN0aW9uKHQsZSl7aC5pbnN0YW5jZXNbY109ZS5jb21wb25lbnRJbnN0YW5jZX07dmFyIHY9YS5wcm9wcz1mdW5jdGlvbih0LGUpe3N3aXRjaCh0eXBlb2YgZSl7Y2FzZSJ1bmRlZmluZWQiOnJldHVybjtjYXNlIm9iamVjdCI6cmV0dXJuIGU7Y2FzZSJmdW5jdGlvbiI6cmV0dXJuIGUodCk7Y2FzZSJib29sZWFuIjpyZXR1cm4gZT90LnBhcmFtczp2b2lkIDA7ZGVmYXVsdDowfX0odSxoLnByb3BzJiZoLnByb3BzW2NdKTtpZih2KXt2PWEucHJvcHM9aSh7fSx2KTt2YXIgZz1hLmF0dHJzPWEuYXR0cnN8fHt9O2Zvcih2YXIgbSBpbiB2KXAucHJvcHMmJm0gaW4gcC5wcm9wc3x8KGdbbV09dlttXSxkZWxldGUgdlttXSl9cmV0dXJuIHMocCxhLHIpfX07dmFyIGE9L1shJygpKl0vZyxzPWZ1bmN0aW9uKHQpe3JldHVybiIlIit0LmNoYXJDb2RlQXQoMCkudG9TdHJpbmcoMTYpfSxjPS8lMkMvZyx1PWZ1bmN0aW9uKHQpe3JldHVybiBlbmNvZGVVUklDb21wb25lbnQodCkucmVwbGFjZShhLHMpLnJlcGxhY2UoYywiLCIpfSxsPWRlY29kZVVSSUNvbXBvbmVudDtmdW5jdGlvbiBmKHQsZSxuKXt2b2lkIDA9PT1lJiYoZT17fSk7dmFyIHIsaT1ufHxkO3RyeXtyPWkodHx8IiIpfWNhdGNoKGEpe3I9e319Zm9yKHZhciBvIGluIGUpcltvXT1lW29dO3JldHVybiByfWZ1bmN0aW9uIGQodCl7dmFyIGU9e307cmV0dXJuIHQ9dC50cmltKCkucmVwbGFjZSgvXihcP3wjfCYpLywiIiksdD8odC5zcGxpdCgiJiIpLmZvckVhY2goKGZ1bmN0aW9uKHQpe3ZhciBuPXQucmVwbGFjZSgvXCsvZywiICIpLnNwbGl0KCI9Iikscj1sKG4uc2hpZnQoKSksaT1uLmxlbmd0aD4wP2wobi5qb2luKCI9IikpOm51bGw7dm9pZCAwPT09ZVtyXT9lW3JdPWk6QXJyYXkuaXNBcnJheShlW3JdKT9lW3JdLnB1c2goaSk6ZVtyXT1bZVtyXSxpXX0pKSxlKTplfWZ1bmN0aW9uIGgodCl7dmFyIGU9dD9PYmplY3Qua2V5cyh0KS5tYXAoKGZ1bmN0aW9uKGUpe3ZhciBuPXRbZV07aWYodm9pZCAwPT09bilyZXR1cm4iIjtpZihudWxsPT09bilyZXR1cm4gdShlKTtpZihBcnJheS5pc0FycmF5KG4pKXt2YXIgcj1bXTtyZXR1cm4gbi5mb3JFYWNoKChmdW5jdGlvbih0KXt2b2lkIDAhPT10JiYobnVsbD09PXQ/ci5wdXNoKHUoZSkpOnIucHVzaCh1KGUpKyI9Iit1KHQpKSl9KSksci5qb2luKCImIil9cmV0dXJuIHUoZSkrIj0iK3Uobil9KSkuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gdC5sZW5ndGg+MH0pKS5qb2luKCImIik6bnVsbDtyZXR1cm4gZT8iPyIrZToiIn12YXIgcD0vXC8/JC87ZnVuY3Rpb24gdih0LGUsbixyKXt2YXIgaT1yJiZyLm9wdGlvbnMuc3RyaW5naWZ5UXVlcnksbz1lLnF1ZXJ5fHx7fTt0cnl7bz1nKG8pfWNhdGNoKHMpe312YXIgYT17bmFtZTplLm5hbWV8fHQmJnQubmFtZSxtZXRhOnQmJnQubWV0YXx8e30scGF0aDplLnBhdGh8fCIvIixoYXNoOmUuaGFzaHx8IiIsdHlwZTplLnR5cGUscXVlcnk6byxwYXJhbXM6ZS5wYXJhbXN8fHt9LGZ1bGxQYXRoOnkoZSxpKSxtYXRjaGVkOnQ/Yih0KTpbXX07cmV0dXJuIG4mJihhLnJlZGlyZWN0ZWRGcm9tPXkobixpKSksT2JqZWN0LmZyZWV6ZShhKX1mdW5jdGlvbiBnKHQpe2lmKEFycmF5LmlzQXJyYXkodCkpcmV0dXJuIHQubWFwKGcpO2lmKHQmJiJvYmplY3QiPT09dHlwZW9mIHQpe3ZhciBlPXt9O2Zvcih2YXIgbiBpbiB0KWVbbl09Zyh0W25dKTtyZXR1cm4gZX1yZXR1cm4gdH12YXIgbT12KG51bGwse3BhdGg6Ii8ifSk7ZnVuY3Rpb24gYih0KXt2YXIgZT1bXTt3aGlsZSh0KWUudW5zaGlmdCh0KSx0PXQucGFyZW50O3JldHVybiBlfWZ1bmN0aW9uIHkodCxlKXt2YXIgbj10LnBhdGgscj10LnF1ZXJ5O3ZvaWQgMD09PXImJihyPXt9KTt2YXIgaT10Lmhhc2g7dm9pZCAwPT09aSYmKGk9IiIpO3ZhciBvPWV8fGg7cmV0dXJuKG58fCIvIikrbyhyKStpfWZ1bmN0aW9uIF8odCxlKXtpZih2b2lkIDA9PT10JiYodD17fSksdm9pZCAwPT09ZSYmKGU9e30pLCF0fHwhZSlyZXR1cm4gdD09PWU7dmFyIG49T2JqZWN0LmtleXModCkscj1PYmplY3Qua2V5cyhlKTtyZXR1cm4gbi5sZW5ndGg9PT1yLmxlbmd0aCYmbi5ldmVyeSgoZnVuY3Rpb24obil7dmFyIHI9dFtuXSxpPWVbbl07cmV0dXJuIm9iamVjdCI9PT10eXBlb2YgciYmIm9iamVjdCI9PT10eXBlb2YgaT9fKHIsaSk6U3RyaW5nKHIpPT09U3RyaW5nKGkpfSkpfXZhciB3LHg9W1N0cmluZyxPYmplY3RdLFM9W1N0cmluZyxBcnJheV0saz17bmFtZToiUm91dGVyTGluayIscHJvcHM6e3RvOnt0eXBlOngscmVxdWlyZWQ6ITB9LHRhZzp7dHlwZTpTdHJpbmcsZGVmYXVsdDoiYSJ9LGV4YWN0OkJvb2xlYW4sYXBwZW5kOkJvb2xlYW4scmVwbGFjZTpCb29sZWFuLGFjdGl2ZUNsYXNzOlN0cmluZyxleGFjdEFjdGl2ZUNsYXNzOlN0cmluZyxldmVudDp7dHlwZTpTLGRlZmF1bHQ6ImNsaWNrIn19LHJlbmRlcjpmdW5jdGlvbih0KXt2YXIgZT10aGlzLG49dGhpcy4kcm91dGVyLHI9dGhpcy4kcm91dGUsbz1uLnJlc29sdmUodGhpcy50byxyLHRoaXMuYXBwZW5kKSxhPW8ubG9jYXRpb24scz1vLnJvdXRlLGM9by5ocmVmLHU9e30sbD1uLm9wdGlvbnMubGlua0FjdGl2ZUNsYXNzLGY9bi5vcHRpb25zLmxpbmtFeGFjdEFjdGl2ZUNsYXNzLGQ9bnVsbD09bD8icm91dGVyLWxpbmstYWN0aXZlIjpsLGg9bnVsbD09Zj8icm91dGVyLWxpbmstZXhhY3QtYWN0aXZlIjpmLGc9bnVsbD09dGhpcy5hY3RpdmVDbGFzcz9kOnRoaXMuYWN0aXZlQ2xhc3MsYj1udWxsPT10aGlzLmV4YWN0QWN0aXZlQ2xhc3M/aDp0aGlzLmV4YWN0QWN0aXZlQ2xhc3MseT1hLnBhdGg/dihudWxsLGEsbnVsbCxuKTpzO3VbYl09ZnVuY3Rpb24odCxlKXtyZXR1cm4gZT09PW0/dD09PWU6ISFlJiYodC5wYXRoJiZlLnBhdGg/dC5wYXRoLnJlcGxhY2UocCwiIik9PT1lLnBhdGgucmVwbGFjZShwLCIiKSYmdC5oYXNoPT09ZS5oYXNoJiZfKHQucXVlcnksZS5xdWVyeSk6ISghdC5uYW1lfHwhZS5uYW1lKSYmKHQubmFtZT09PWUubmFtZSYmdC5oYXNoPT09ZS5oYXNoJiZfKHQucXVlcnksZS5xdWVyeSkmJl8odC5wYXJhbXMsZS5wYXJhbXMpKSl9KHIseSksdVtnXT10aGlzLmV4YWN0P3VbYl06ZnVuY3Rpb24odCxlKXtyZXR1cm4gMD09PXQucGF0aC5yZXBsYWNlKHAsIi8iKS5pbmRleE9mKGUucGF0aC5yZXBsYWNlKHAsIi8iKSkmJighZS5oYXNofHx0Lmhhc2g9PT1lLmhhc2gpJiZmdW5jdGlvbih0LGUpe2Zvcih2YXIgbiBpbiBlKWlmKCEobiBpbiB0KSlyZXR1cm4hMTtyZXR1cm4hMH0odC5xdWVyeSxlLnF1ZXJ5KX0ocix5KTt2YXIgdz1mdW5jdGlvbih0KXtDKHQpJiYoZS5yZXBsYWNlP24ucmVwbGFjZShhKTpuLnB1c2goYSkpfSx4PXtjbGljazpDfTtBcnJheS5pc0FycmF5KHRoaXMuZXZlbnQpP3RoaXMuZXZlbnQuZm9yRWFjaCgoZnVuY3Rpb24odCl7eFt0XT13fSkpOnhbdGhpcy5ldmVudF09dzt2YXIgUz17Y2xhc3M6dX07aWYoImEiPT09dGhpcy50YWcpUy5vbj14LFMuYXR0cnM9e2hyZWY6Y307ZWxzZXt2YXIgaz1mdW5jdGlvbiB0KGUpe3ZhciBuO2lmKGUpZm9yKHZhciByPTA7cjxlLmxlbmd0aDtyKyspe2lmKG49ZVtyXSwiYSI9PT1uLnRhZylyZXR1cm4gbjtpZihuLmNoaWxkcmVuJiYobj10KG4uY2hpbGRyZW4pKSlyZXR1cm4gbn19KHRoaXMuJHNsb3RzLmRlZmF1bHQpO2lmKGspe2suaXNTdGF0aWM9ITE7dmFyIE89ay5kYXRhPWkoe30say5kYXRhKTtPLm9uPXg7dmFyIFQ9ay5kYXRhLmF0dHJzPWkoe30say5kYXRhLmF0dHJzKTtULmhyZWY9Y31lbHNlIFMub249eH1yZXR1cm4gdCh0aGlzLnRhZyxTLHRoaXMuJHNsb3RzLmRlZmF1bHQpfX07ZnVuY3Rpb24gQyh0KXtpZighKHQubWV0YUtleXx8dC5hbHRLZXl8fHQuY3RybEtleXx8dC5zaGlmdEtleSkmJiF0LmRlZmF1bHRQcmV2ZW50ZWQmJih2b2lkIDA9PT10LmJ1dHRvbnx8MD09PXQuYnV0dG9uKSl7aWYodC5jdXJyZW50VGFyZ2V0JiZ0LmN1cnJlbnRUYXJnZXQuZ2V0QXR0cmlidXRlKXt2YXIgZT10LmN1cnJlbnRUYXJnZXQuZ2V0QXR0cmlidXRlKCJ0YXJnZXQiKTtpZigvXGJfYmxhbmtcYi9pLnRlc3QoZSkpcmV0dXJufXJldHVybiB0LnByZXZlbnREZWZhdWx0JiZ0LnByZXZlbnREZWZhdWx0KCksITB9fXZhciBPPSJ1bmRlZmluZWQiIT09dHlwZW9mIHdpbmRvdztmdW5jdGlvbiBUKHQsZSxuKXt2YXIgcj10LmNoYXJBdCgwKTtpZigiLyI9PT1yKXJldHVybiB0O2lmKCI/Ij09PXJ8fCIjIj09PXIpcmV0dXJuIGUrdDt2YXIgaT1lLnNwbGl0KCIvIik7biYmaVtpLmxlbmd0aC0xXXx8aS5wb3AoKTtmb3IodmFyIG89dC5yZXBsYWNlKC9eXC8vLCIiKS5zcGxpdCgiLyIpLGE9MDthPG8ubGVuZ3RoO2ErKyl7dmFyIHM9b1thXTsiLi4iPT09cz9pLnBvcCgpOiIuIiE9PXMmJmkucHVzaChzKX1yZXR1cm4iIiE9PWlbMF0mJmkudW5zaGlmdCgiIiksaS5qb2luKCIvIil9ZnVuY3Rpb24gRSh0KXtyZXR1cm4gdC5yZXBsYWNlKC9cL1wvL2csIi8iKX12YXIgQT1BcnJheS5pc0FycmF5fHxmdW5jdGlvbih0KXtyZXR1cm4iW29iamVjdCBBcnJheV0iPT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodCl9LGo9VixNPVIsST1mdW5jdGlvbih0LGUpe3JldHVybiBCKFIodCxlKSl9LFA9QiwkPVUsTD1uZXcgUmVnRXhwKFsiKFxcXFwuKSIsIihbXFwvLl0pPyg/Oig/OlxcOihcXHcrKSg/OlxcKCgoPzpcXFxcLnxbXlxcXFwoKV0pKylcXCkpP3xcXCgoKD86XFxcXC58W15cXFxcKCldKSspXFwpKShbKyo/XSk/fChcXCopKSJdLmpvaW4oInwiKSwiZyIpO2Z1bmN0aW9uIFIodCxlKXt2YXIgbixyPVtdLGk9MCxvPTAsYT0iIixzPWUmJmUuZGVsaW1pdGVyfHwiLyI7d2hpbGUobnVsbCE9KG49TC5leGVjKHQpKSl7dmFyIGM9blswXSx1PW5bMV0sbD1uLmluZGV4O2lmKGErPXQuc2xpY2UobyxsKSxvPWwrYy5sZW5ndGgsdSlhKz11WzFdO2Vsc2V7dmFyIGY9dFtvXSxkPW5bMl0saD1uWzNdLHA9bls0XSx2PW5bNV0sZz1uWzZdLG09bls3XTthJiYoci5wdXNoKGEpLGE9IiIpO3ZhciBiPW51bGwhPWQmJm51bGwhPWYmJmYhPT1kLHk9IisiPT09Z3x8IioiPT09ZyxfPSI/Ij09PWd8fCIqIj09PWcsdz1uWzJdfHxzLHg9cHx8djtyLnB1c2goe25hbWU6aHx8aSsrLHByZWZpeDpkfHwiIixkZWxpbWl0ZXI6dyxvcHRpb25hbDpfLHJlcGVhdDp5LHBhcnRpYWw6Yixhc3RlcmlzazohIW0scGF0dGVybjp4P3ooeCk6bT8iLioiOiJbXiIrRih3KSsiXSs/In0pfX1yZXR1cm4gbzx0Lmxlbmd0aCYmKGErPXQuc3Vic3RyKG8pKSxhJiZyLnB1c2goYSkscn1mdW5jdGlvbiBOKHQpe3JldHVybiBlbmNvZGVVUkkodCkucmVwbGFjZSgvW1wvPyNdL2csKGZ1bmN0aW9uKHQpe3JldHVybiIlIit0LmNoYXJDb2RlQXQoMCkudG9TdHJpbmcoMTYpLnRvVXBwZXJDYXNlKCl9KSl9ZnVuY3Rpb24gRCh0KXtyZXR1cm4gZW5jb2RlVVJJKHQpLnJlcGxhY2UoL1s/I10vZywoZnVuY3Rpb24odCl7cmV0dXJuIiUiK3QuY2hhckNvZGVBdCgwKS50b1N0cmluZygxNikudG9VcHBlckNhc2UoKX0pKX1mdW5jdGlvbiBCKHQpe2Zvcih2YXIgZT1uZXcgQXJyYXkodC5sZW5ndGgpLG49MDtuPHQubGVuZ3RoO24rKykib2JqZWN0Ij09PXR5cGVvZiB0W25dJiYoZVtuXT1uZXcgUmVnRXhwKCJeKD86Iit0W25dLnBhdHRlcm4rIikkIikpO3JldHVybiBmdW5jdGlvbihuLHIpe2Zvcih2YXIgaT0iIixvPW58fHt9LGE9cnx8e30scz1hLnByZXR0eT9OOmVuY29kZVVSSUNvbXBvbmVudCxjPTA7Yzx0Lmxlbmd0aDtjKyspe3ZhciB1PXRbY107aWYoInN0cmluZyIhPT10eXBlb2YgdSl7dmFyIGwsZj1vW3UubmFtZV07aWYobnVsbD09Zil7aWYodS5vcHRpb25hbCl7dS5wYXJ0aWFsJiYoaSs9dS5wcmVmaXgpO2NvbnRpbnVlfXRocm93IG5ldyBUeXBlRXJyb3IoJ0V4cGVjdGVkICInK3UubmFtZSsnIiB0byBiZSBkZWZpbmVkJyl9aWYoQShmKSl7aWYoIXUucmVwZWF0KXRocm93IG5ldyBUeXBlRXJyb3IoJ0V4cGVjdGVkICInK3UubmFtZSsnIiB0byBub3QgcmVwZWF0LCBidXQgcmVjZWl2ZWQgYCcrSlNPTi5zdHJpbmdpZnkoZikrImAiKTtpZigwPT09Zi5sZW5ndGgpe2lmKHUub3B0aW9uYWwpY29udGludWU7dGhyb3cgbmV3IFR5cGVFcnJvcignRXhwZWN0ZWQgIicrdS5uYW1lKyciIHRvIG5vdCBiZSBlbXB0eScpfWZvcih2YXIgZD0wO2Q8Zi5sZW5ndGg7ZCsrKXtpZihsPXMoZltkXSksIWVbY10udGVzdChsKSl0aHJvdyBuZXcgVHlwZUVycm9yKCdFeHBlY3RlZCBhbGwgIicrdS5uYW1lKyciIHRvIG1hdGNoICInK3UucGF0dGVybisnIiwgYnV0IHJlY2VpdmVkIGAnK0pTT04uc3RyaW5naWZ5KGwpKyJgIik7aSs9KDA9PT1kP3UucHJlZml4OnUuZGVsaW1pdGVyKStsfX1lbHNle2lmKGw9dS5hc3Rlcmlzaz9EKGYpOnMoZiksIWVbY10udGVzdChsKSl0aHJvdyBuZXcgVHlwZUVycm9yKCdFeHBlY3RlZCAiJyt1Lm5hbWUrJyIgdG8gbWF0Y2ggIicrdS5wYXR0ZXJuKyciLCBidXQgcmVjZWl2ZWQgIicrbCsnIicpO2krPXUucHJlZml4K2x9fWVsc2UgaSs9dX1yZXR1cm4gaX19ZnVuY3Rpb24gRih0KXtyZXR1cm4gdC5yZXBsYWNlKC8oWy4rKj89XiE6JHt9KClbXF18XC9cXF0pL2csIlxcJDEiKX1mdW5jdGlvbiB6KHQpe3JldHVybiB0LnJlcGxhY2UoLyhbPSE6JFwvKCldKS9nLCJcXCQxIil9ZnVuY3Rpb24gVyh0LGUpe3JldHVybiB0LmtleXM9ZSx0fWZ1bmN0aW9uIEgodCl7cmV0dXJuIHQuc2Vuc2l0aXZlPyIiOiJpIn1mdW5jdGlvbiBVKHQsZSxuKXtBKGUpfHwobj1lfHxuLGU9W10pLG49bnx8e307Zm9yKHZhciByPW4uc3RyaWN0LGk9ITEhPT1uLmVuZCxvPSIiLGE9MDthPHQubGVuZ3RoO2ErKyl7dmFyIHM9dFthXTtpZigic3RyaW5nIj09PXR5cGVvZiBzKW8rPUYocyk7ZWxzZXt2YXIgYz1GKHMucHJlZml4KSx1PSIoPzoiK3MucGF0dGVybisiKSI7ZS5wdXNoKHMpLHMucmVwZWF0JiYodSs9Iig/OiIrYyt1KyIpKiIpLHU9cy5vcHRpb25hbD9zLnBhcnRpYWw/YysiKCIrdSsiKT8iOiIoPzoiK2MrIigiK3UrIikpPyI6YysiKCIrdSsiKSIsbys9dX19dmFyIGw9RihuLmRlbGltaXRlcnx8Ii8iKSxmPW8uc2xpY2UoLWwubGVuZ3RoKT09PWw7cmV0dXJuIHJ8fChvPShmP28uc2xpY2UoMCwtbC5sZW5ndGgpOm8pKyIoPzoiK2wrIig/PSQpKT8iKSxvKz1pPyIkIjpyJiZmPyIiOiIoPz0iK2wrInwkKSIsVyhuZXcgUmVnRXhwKCJeIitvLEgobikpLGUpfWZ1bmN0aW9uIFYodCxlLG4pe3JldHVybiBBKGUpfHwobj1lfHxuLGU9W10pLG49bnx8e30sdCBpbnN0YW5jZW9mIFJlZ0V4cD9mdW5jdGlvbih0LGUpe3ZhciBuPXQuc291cmNlLm1hdGNoKC9cKCg/IVw/KS9nKTtpZihuKWZvcih2YXIgcj0wO3I8bi5sZW5ndGg7cisrKWUucHVzaCh7bmFtZTpyLHByZWZpeDpudWxsLGRlbGltaXRlcjpudWxsLG9wdGlvbmFsOiExLHJlcGVhdDohMSxwYXJ0aWFsOiExLGFzdGVyaXNrOiExLHBhdHRlcm46bnVsbH0pO3JldHVybiBXKHQsZSl9KHQsZSk6QSh0KT9mdW5jdGlvbih0LGUsbil7Zm9yKHZhciByPVtdLGk9MDtpPHQubGVuZ3RoO2krKylyLnB1c2goVih0W2ldLGUsbikuc291cmNlKTt2YXIgbz1uZXcgUmVnRXhwKCIoPzoiK3Iuam9pbigifCIpKyIpIixIKG4pKTtyZXR1cm4gVyhvLGUpfSh0LGUsbik6ZnVuY3Rpb24odCxlLG4pe3JldHVybiBVKFIodCxuKSxlLG4pfSh0LGUsbil9ai5wYXJzZT1NLGouY29tcGlsZT1JLGoudG9rZW5zVG9GdW5jdGlvbj1QLGoudG9rZW5zVG9SZWdFeHA9JDt2YXIgcT1PYmplY3QuY3JlYXRlKG51bGwpO2Z1bmN0aW9uIFkodCxlLG4pe3RyeXt2YXIgcj1xW3RdfHwocVt0XT1qLmNvbXBpbGUodCkpO3JldHVybiByKGV8fHt9LHtwcmV0dHk6ITB9KX1jYXRjaChpKXtyZXR1cm4iIn19ZnVuY3Rpb24gWCh0LGUsbixyKXt2YXIgaT1lfHxbXSxvPW58fE9iamVjdC5jcmVhdGUobnVsbCksYT1yfHxPYmplY3QuY3JlYXRlKG51bGwpO3QuZm9yRWFjaCgoZnVuY3Rpb24odCl7KGZ1bmN0aW9uIHQoZSxuLHIsaSxvLGEpe3ZhciBzPWkucGF0aCxjPWkubmFtZTswO3ZhciB1PWkucGF0aFRvUmVnZXhwT3B0aW9uc3x8e30sbD1mdW5jdGlvbih0LGUsbil7bnx8KHQ9dC5yZXBsYWNlKC9cLyQvLCIiKSk7aWYoIi8iPT09dFswXSlyZXR1cm4gdDtpZihudWxsPT1lKXJldHVybiB0O3JldHVybiBFKGUucGF0aCsiLyIrdCl9KHMsbyx1LnN0cmljdCk7ImJvb2xlYW4iPT09dHlwZW9mIGkuY2FzZVNlbnNpdGl2ZSYmKHUuc2Vuc2l0aXZlPWkuY2FzZVNlbnNpdGl2ZSk7dmFyIGY9e3BhdGg6bCxyZWdleDpHKGwsdSksY29tcG9uZW50czppLmNvbXBvbmVudHN8fHtkZWZhdWx0OmkuY29tcG9uZW50fSxpbnN0YW5jZXM6e30sbmFtZTpjLHBhcmVudDpvLG1hdGNoQXM6YSxyZWRpcmVjdDppLnJlZGlyZWN0LGJlZm9yZUVudGVyOmkuYmVmb3JlRW50ZXIsbWV0YTppLm1ldGF8fHt9LHByb3BzOm51bGw9PWkucHJvcHM/e306aS5jb21wb25lbnRzP2kucHJvcHM6e2RlZmF1bHQ6aS5wcm9wc319O2kuY2hpbGRyZW4mJmkuY2hpbGRyZW4uZm9yRWFjaCgoZnVuY3Rpb24oaSl7dmFyIG89YT9FKGErIi8iK2kucGF0aCk6dm9pZCAwO3QoZSxuLHIsaSxmLG8pfSkpO2lmKHZvaWQgMCE9PWkuYWxpYXMpe3ZhciBkPUFycmF5LmlzQXJyYXkoaS5hbGlhcyk/aS5hbGlhczpbaS5hbGlhc107ZC5mb3JFYWNoKChmdW5jdGlvbihhKXt2YXIgcz17cGF0aDphLGNoaWxkcmVuOmkuY2hpbGRyZW59O3QoZSxuLHIscyxvLGYucGF0aHx8Ii8iKX0pKX1uW2YucGF0aF18fChlLnB1c2goZi5wYXRoKSxuW2YucGF0aF09Zik7YyYmKHJbY118fChyW2NdPWYpKX0pKGksbyxhLHQpfSkpO2Zvcih2YXIgcz0wLGM9aS5sZW5ndGg7czxjO3MrKykiKiI9PT1pW3NdJiYoaS5wdXNoKGkuc3BsaWNlKHMsMSlbMF0pLGMtLSxzLS0pO3JldHVybntwYXRoTGlzdDppLHBhdGhNYXA6byxuYW1lTWFwOmF9fWZ1bmN0aW9uIEcodCxlKXt2YXIgbj1qKHQsW10sZSk7cmV0dXJuIG59ZnVuY3Rpb24gUSh0LGUsbixyKXt2YXIgbz0ic3RyaW5nIj09PXR5cGVvZiB0P3twYXRoOnR9OnQ7aWYoby5uYW1lfHxvLl9ub3JtYWxpemVkKXJldHVybiBvO2lmKCFvLnBhdGgmJm8ucGFyYW1zJiZlKXtvPWkoe30sbyksby5fbm9ybWFsaXplZD0hMDt2YXIgYT1pKGkoe30sZS5wYXJhbXMpLG8ucGFyYW1zKTtpZihlLm5hbWUpby5uYW1lPWUubmFtZSxvLnBhcmFtcz1hO2Vsc2UgaWYoZS5tYXRjaGVkLmxlbmd0aCl7dmFyIHM9ZS5tYXRjaGVkW2UubWF0Y2hlZC5sZW5ndGgtMV0ucGF0aDtvLnBhdGg9WShzLGEsZS5wYXRoKX1lbHNlIDA7cmV0dXJuIG99dmFyIGM9ZnVuY3Rpb24odCl7dmFyIGU9IiIsbj0iIixyPXQuaW5kZXhPZigiIyIpO3I+PTAmJihlPXQuc2xpY2UociksdD10LnNsaWNlKDAscikpO3ZhciBpPXQuaW5kZXhPZigiPyIpO3JldHVybiBpPj0wJiYobj10LnNsaWNlKGkrMSksdD10LnNsaWNlKDAsaSkpLHtwYXRoOnQscXVlcnk6bixoYXNoOmV9fShvLnBhdGh8fCIiKSx1PWUmJmUucGF0aHx8Ii8iLGw9Yy5wYXRoP1QoYy5wYXRoLHUsbnx8by5hcHBlbmQpOnUsZD1mKGMucXVlcnksby5xdWVyeSxyJiZyLm9wdGlvbnMucGFyc2VRdWVyeSksaD1vLmhhc2h8fGMuaGFzaDtyZXR1cm4gaCYmIiMiIT09aC5jaGFyQXQoMCkmJihoPSIjIitoKSx7X25vcm1hbGl6ZWQ6ITAsdHlwZTpvLnR5cGUscGFyYW1zOm8ucGFyYW1zfHx7fSxwYXRoOmwscXVlcnk6ZCxoYXNoOmh9fWZ1bmN0aW9uIEsodCxlKXt2YXIgbj1YKHQpLHI9bi5wYXRoTGlzdCxvPW4ucGF0aE1hcCxhPW4ubmFtZU1hcDtmdW5jdGlvbiBzKHQsbixpKXt2YXIgcz1RKHQsbiwhMSxlKSxjPXMubmFtZTtpZihjKXt2YXIgbD1hW2NdO2lmKCFsKXJldHVybiB1KG51bGwscyk7dmFyIGY9bC5yZWdleC5rZXlzLmZpbHRlcigoZnVuY3Rpb24odCl7cmV0dXJuIXQub3B0aW9uYWx9KSkubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gdC5uYW1lfSkpO2lmKCJvYmplY3QiIT09dHlwZW9mIHMucGFyYW1zJiYocy5wYXJhbXM9e30pLG4mJiJvYmplY3QiPT09dHlwZW9mIG4ucGFyYW1zKWZvcih2YXIgZCBpbiBuLnBhcmFtcykhKGQgaW4gcy5wYXJhbXMpJiZmLmluZGV4T2YoZCk+LTEmJihzLnBhcmFtc1tkXT1uLnBhcmFtc1tkXSk7aWYobClyZXR1cm4gcy5wYXRoPVkobC5wYXRoLHMucGFyYW1zKSx1KGwscyxpKX1lbHNlIGlmKHMucGF0aCl7cy5wYXJhbXM9cy5wYXJhbXN8fHt9O2Zvcih2YXIgaD0wO2g8ci5sZW5ndGg7aCsrKXt2YXIgcD1yW2hdLHY9b1twXTtpZihKKHYucmVnZXgscy5wYXRoLHMucGFyYW1zKSlyZXR1cm4gdSh2LHMsaSl9fXJldHVybiB1KG51bGwscyl9ZnVuY3Rpb24gYyh0LG4pe3ZhciByPXQucmVkaXJlY3QsaT0iZnVuY3Rpb24iPT09dHlwZW9mIHI/cih2KHQsbixudWxsLGUpKTpyO2lmKCJzdHJpbmciPT09dHlwZW9mIGkmJihpPXtwYXRoOml9KSwhaXx8Im9iamVjdCIhPT10eXBlb2YgaSlyZXR1cm4gdShudWxsLG4pO3ZhciBvPWksYz1vLm5hbWUsbD1vLnBhdGgsZj1uLnF1ZXJ5LGQ9bi5oYXNoLGg9bi5wYXJhbXM7aWYoZj1vLmhhc093blByb3BlcnR5KCJxdWVyeSIpP28ucXVlcnk6ZixkPW8uaGFzT3duUHJvcGVydHkoImhhc2giKT9vLmhhc2g6ZCxoPW8uaGFzT3duUHJvcGVydHkoInBhcmFtcyIpP28ucGFyYW1zOmgsYyl7YVtjXTtyZXR1cm4gcyh7X25vcm1hbGl6ZWQ6ITAsbmFtZTpjLHF1ZXJ5OmYsaGFzaDpkLHBhcmFtczpofSx2b2lkIDAsbil9aWYobCl7dmFyIHA9ZnVuY3Rpb24odCxlKXtyZXR1cm4gVCh0LGUucGFyZW50P2UucGFyZW50LnBhdGg6Ii8iLCEwKX0obCx0KSxnPVkocCxoKTtyZXR1cm4gcyh7X25vcm1hbGl6ZWQ6ITAscGF0aDpnLHF1ZXJ5OmYsaGFzaDpkfSx2b2lkIDAsbil9cmV0dXJuIHUobnVsbCxuKX1mdW5jdGlvbiB1KHQsbixyKXtyZXR1cm4gdCYmdC5yZWRpcmVjdD9jKHQscnx8bik6dCYmdC5tYXRjaEFzP2Z1bmN0aW9uKHQsZSxuKXt2YXIgcj1ZKG4sZS5wYXJhbXMpLGk9cyh7X25vcm1hbGl6ZWQ6ITAscGF0aDpyfSk7aWYoaSl7dmFyIG89aS5tYXRjaGVkLGE9b1tvLmxlbmd0aC0xXTtyZXR1cm4gZS5wYXJhbXM9aS5wYXJhbXMsdShhLGUpfXJldHVybiB1KG51bGwsZSl9KDAsbix0Lm1hdGNoQXMpOihuLnBhcmFtcz1uLnBhcmFtc3x8e30sdCYmdC5tZXRhJiZ0Lm1ldGEuaWQ/bi5wYXJhbXMuX19pZF9fPXQubWV0YS5pZDpuLnBhcmFtcy5fX2lkX198fChuLnBhcmFtcy5fX2lkX189ZS5pZCksdCYmdC5tZXRhJiZ0Lm1ldGEubmFtZSYmKHQubWV0YS5pZD90LmNvbXBvbmVudHMuZGVmYXVsdC5uYW1lPXQubWV0YS5uYW1lKyItIituLnBhcmFtcy5fX2lkX186KHQ9aSh7fSx0KSx0LmNvbXBvbmVudHM9e2RlZmF1bHQ6e25hbWU6dC5tZXRhLm5hbWUrIi0iK24ucGFyYW1zLl9faWRfXyxyZW5kZXI6dC5jb21wb25lbnRzWyJkZWZhdWx0Il0ucmVuZGVyfX0pKSx2KHQsbixyLGUpKX1yZXR1cm57bWF0Y2g6cyxhZGRSb3V0ZXM6ZnVuY3Rpb24odCl7WCh0LHIsbyxhKX19fWZ1bmN0aW9uIEoodCxlLG4pe3ZhciByPWUubWF0Y2godCk7aWYoIXIpcmV0dXJuITE7aWYoIW4pcmV0dXJuITA7Zm9yKHZhciBpPTEsbz1yLmxlbmd0aDtpPG87KytpKXt2YXIgYT10LmtleXNbaS0xXSxzPSJzdHJpbmciPT09dHlwZW9mIHJbaV0/ZGVjb2RlVVJJQ29tcG9uZW50KHJbaV0pOnJbaV07YSYmKG5bYS5uYW1lfHwicGF0aE1hdGNoIl09cyl9cmV0dXJuITB9dmFyIFo9T2JqZWN0LmNyZWF0ZShudWxsKTtmdW5jdGlvbiB0dCh0KXt3aW5kb3cuaGlzdG9yeS5yZXBsYWNlU3RhdGUoe2tleTpmdCgpLGlkOnQuY3VycmVudFJvdXRlJiZ0LmN1cnJlbnRSb3V0ZS5wYXJhbXMuX19pZF9ffHx0LmlkfSwiIix3aW5kb3cubG9jYXRpb24uaHJlZi5yZXBsYWNlKHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4sIiIpKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicG9wc3RhdGUiLChmdW5jdGlvbih0KXtudCgpLHQuc3RhdGUmJnQuc3RhdGUua2V5JiZmdW5jdGlvbih0KXt1dD10fSh0LnN0YXRlLmtleSl9KSl9ZnVuY3Rpb24gZXQodCxlLG4scil7aWYodC5hcHApe3ZhciBpPXQub3B0aW9ucy5zY3JvbGxCZWhhdmlvcjtpJiZ0LmFwcC4kbmV4dFRpY2soKGZ1bmN0aW9uKCl7dmFyIG89ZnVuY3Rpb24oKXt2YXIgdD1mdCgpO2lmKHQpcmV0dXJuIFpbdF19KCksYT1pLmNhbGwodCxlLG4scj9vOm51bGwpO2EmJigiZnVuY3Rpb24iPT09dHlwZW9mIGEudGhlbj9hLnRoZW4oKGZ1bmN0aW9uKHQpe2F0KHQsbyl9KSkuY2F0Y2goKGZ1bmN0aW9uKHQpezB9KSk6YXQoYSxvKSl9KSl9fWZ1bmN0aW9uIG50KCl7dmFyIHQ9ZnQoKTt0JiYoWlt0XT17eDp3aW5kb3cucGFnZVhPZmZzZXQseTp3aW5kb3cucGFnZVlPZmZzZXR9KX1mdW5jdGlvbiBydCh0KXtyZXR1cm4gb3QodC54KXx8b3QodC55KX1mdW5jdGlvbiBpdCh0KXtyZXR1cm57eDpvdCh0LngpP3QueDp3aW5kb3cucGFnZVhPZmZzZXQseTpvdCh0LnkpP3QueTp3aW5kb3cucGFnZVlPZmZzZXR9fWZ1bmN0aW9uIG90KHQpe3JldHVybiJudW1iZXIiPT09dHlwZW9mIHR9ZnVuY3Rpb24gYXQodCxlKXt2YXIgbj0ib2JqZWN0Ij09PXR5cGVvZiB0O2lmKG4mJiJzdHJpbmciPT09dHlwZW9mIHQuc2VsZWN0b3Ipe3ZhciByPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IodC5zZWxlY3Rvcik7aWYocil7dmFyIGk9dC5vZmZzZXQmJiJvYmplY3QiPT09dHlwZW9mIHQub2Zmc2V0P3Qub2Zmc2V0Ont9O2k9ZnVuY3Rpb24odCl7cmV0dXJue3g6b3QodC54KT90Lng6MCx5Om90KHQueSk/dC55OjB9fShpKSxlPWZ1bmN0aW9uKHQsZSl7dmFyIG49ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LHI9bi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxpPXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7cmV0dXJue3g6aS5sZWZ0LXIubGVmdC1lLngseTppLnRvcC1yLnRvcC1lLnl9fShyLGkpfWVsc2UgcnQodCkmJihlPWl0KHQpKX1lbHNlIG4mJnJ0KHQpJiYoZT1pdCh0KSk7ZSYmd2luZG93LnNjcm9sbFRvKGUueCxlLnkpfXZhciBzdD1PJiZmdW5jdGlvbigpe3ZhciB0PXdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50O3JldHVybigtMT09PXQuaW5kZXhPZigiQW5kcm9pZCAyLiIpJiYtMT09PXQuaW5kZXhPZigiQW5kcm9pZCA0LjAiKXx8LTE9PT10LmluZGV4T2YoIk1vYmlsZSBTYWZhcmkiKXx8LTEhPT10LmluZGV4T2YoIkNocm9tZSIpfHwtMSE9PXQuaW5kZXhPZigiV2luZG93cyBQaG9uZSIpKSYmKHdpbmRvdy5oaXN0b3J5JiYicHVzaFN0YXRlImluIHdpbmRvdy5oaXN0b3J5KX0oKSxjdD1PJiZ3aW5kb3cucGVyZm9ybWFuY2UmJndpbmRvdy5wZXJmb3JtYW5jZS5ub3c/d2luZG93LnBlcmZvcm1hbmNlOkRhdGUsdXQ9bHQoKTtmdW5jdGlvbiBsdCgpe3JldHVybiBjdC5ub3coKS50b0ZpeGVkKDMpfWZ1bmN0aW9uIGZ0KCl7cmV0dXJuIHV0fWZ1bmN0aW9uIGR0KHQsZSxuKXtudCgpO3ZhciByPXdpbmRvdy5oaXN0b3J5O3RyeXtuP3IucmVwbGFjZVN0YXRlKHtpZDplLGtleTp1dH0sIiIsdCk6KHV0PWx0KCksci5wdXNoU3RhdGUoe2lkOmUsa2V5OnV0fSwiIix0KSl9Y2F0Y2goaSl7d2luZG93LmxvY2F0aW9uW24/InJlcGxhY2UiOiJhc3NpZ24iXSh0KX19ZnVuY3Rpb24gaHQodCxlKXtkdCh0LGUsITApfWZ1bmN0aW9uIHB0KHQsZSxuKXt2YXIgcj1mdW5jdGlvbihpKXtpPj10Lmxlbmd0aD9uKCk6dFtpXT9lKHRbaV0sKGZ1bmN0aW9uKCl7cihpKzEpfSkpOnIoaSsxKX07cigwKX1mdW5jdGlvbiB2dCh0KXtyZXR1cm4gZnVuY3Rpb24oZSxuLGkpe3ZhciBvPSExLGE9MCxzPW51bGw7Z3QodCwoZnVuY3Rpb24odCxlLG4sYyl7aWYoImZ1bmN0aW9uIj09PXR5cGVvZiB0JiZ2b2lkIDA9PT10LmNpZCl7bz0hMCxhKys7dmFyIHUsbD15dCgoZnVuY3Rpb24oZSl7KGZ1bmN0aW9uKHQpe3JldHVybiB0Ll9fZXNNb2R1bGV8fGJ0JiYiTW9kdWxlIj09PXRbU3ltYm9sLnRvU3RyaW5nVGFnXX0pKGUpJiYoZT1lLmRlZmF1bHQpLHQucmVzb2x2ZWQ9ImZ1bmN0aW9uIj09PXR5cGVvZiBlP2U6dy5leHRlbmQoZSksbi5jb21wb25lbnRzW2NdPWUsYS0tLGE8PTAmJmkoKX0pKSxmPXl0KChmdW5jdGlvbih0KXt2YXIgZT0iRmFpbGVkIHRvIHJlc29sdmUgYXN5bmMgY29tcG9uZW50ICIrYysiOiAiK3Q7c3x8KHM9cih0KT90Om5ldyBFcnJvcihlKSxpKHMpKX0pKTt0cnl7dT10KGwsZil9Y2F0Y2goaCl7ZihoKX1pZih1KWlmKCJmdW5jdGlvbiI9PT10eXBlb2YgdS50aGVuKXUudGhlbihsLGYpO2Vsc2V7dmFyIGQ9dS5jb21wb25lbnQ7ZCYmImZ1bmN0aW9uIj09PXR5cGVvZiBkLnRoZW4mJmQudGhlbihsLGYpfX19KSksb3x8aSgpfX1mdW5jdGlvbiBndCh0LGUpe3JldHVybiBtdCh0Lm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIE9iamVjdC5rZXlzKHQuY29tcG9uZW50cykubWFwKChmdW5jdGlvbihuKXtyZXR1cm4gZSh0LmNvbXBvbmVudHNbbl0sdC5pbnN0YW5jZXNbbl0sdCxuKX0pKX0pKSl9ZnVuY3Rpb24gbXQodCl7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5jb25jYXQuYXBwbHkoW10sdCl9dmFyIGJ0PSJmdW5jdGlvbiI9PT10eXBlb2YgU3ltYm9sJiYic3ltYm9sIj09PXR5cGVvZiBTeW1ib2wudG9TdHJpbmdUYWc7ZnVuY3Rpb24geXQodCl7dmFyIGU9ITE7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIG49W10scj1hcmd1bWVudHMubGVuZ3RoO3doaWxlKHItLSluW3JdPWFyZ3VtZW50c1tyXTtpZighZSlyZXR1cm4gZT0hMCx0LmFwcGx5KHRoaXMsbil9fXZhciBfdD1mdW5jdGlvbih0LGUpe3RoaXMucm91dGVyPXQsdGhpcy5iYXNlPWZ1bmN0aW9uKHQpe2lmKCF0KWlmKE8pe3ZhciBlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImJhc2UiKTt0PWUmJmUuZ2V0QXR0cmlidXRlKCJocmVmIil8fCIvIix0PXQucmVwbGFjZSgvXmh0dHBzPzpcL1wvW15cL10rLywiIil9ZWxzZSB0PSIvIjsiLyIhPT10LmNoYXJBdCgwKSYmKHQ9Ii8iK3QpO3JldHVybiB0LnJlcGxhY2UoL1wvJC8sIiIpfShlKSx0aGlzLmN1cnJlbnQ9bSx0aGlzLnBlbmRpbmc9bnVsbCx0aGlzLnJlYWR5PSExLHRoaXMucmVhZHlDYnM9W10sdGhpcy5yZWFkeUVycm9yQ2JzPVtdLHRoaXMuZXJyb3JDYnM9W119O2Z1bmN0aW9uIHd0KHQsZSxuLHIpe3ZhciBpPWd0KHQsKGZ1bmN0aW9uKHQscixpLG8pe3ZhciBhPWZ1bmN0aW9uKHQsZSl7ImZ1bmN0aW9uIiE9PXR5cGVvZiB0JiYodD13LmV4dGVuZCh0KSk7cmV0dXJuIHQub3B0aW9uc1tlXX0odCxlKTtpZihhKXJldHVybiBBcnJheS5pc0FycmF5KGEpP2EubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gbih0LHIsaSxvKX0pKTpuKGEscixpLG8pfSkpO3JldHVybiBtdChyP2kucmV2ZXJzZSgpOmkpfWZ1bmN0aW9uIHh0KHQsZSl7aWYoZSlyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdC5hcHBseShlLGFyZ3VtZW50cyl9fV90LnByb3RvdHlwZS5saXN0ZW49ZnVuY3Rpb24odCl7dGhpcy5jYj10fSxfdC5wcm90b3R5cGUub25SZWFkeT1mdW5jdGlvbih0LGUpe3RoaXMucmVhZHk/dCgpOih0aGlzLnJlYWR5Q2JzLnB1c2godCksZSYmdGhpcy5yZWFkeUVycm9yQ2JzLnB1c2goZSkpfSxfdC5wcm90b3R5cGUub25FcnJvcj1mdW5jdGlvbih0KXt0aGlzLmVycm9yQ2JzLnB1c2godCl9LF90LnByb3RvdHlwZS50cmFuc2l0aW9uVG89ZnVuY3Rpb24odCxlLG4pe3ZhciByPXRoaXMsaT10aGlzLnJvdXRlci5tYXRjaCh0LHRoaXMuY3VycmVudCk7dGhpcy5jb25maXJtVHJhbnNpdGlvbihpLChmdW5jdGlvbigpe3IudXBkYXRlUm91dGUoaSksZSYmZShpKSxyLmVuc3VyZVVSTCgpLHIucmVhZHl8fChyLnJlYWR5PSEwLHIucmVhZHlDYnMuZm9yRWFjaCgoZnVuY3Rpb24odCl7dChpKX0pKSl9KSwoZnVuY3Rpb24odCl7biYmbih0KSx0JiYhci5yZWFkeSYmKHIucmVhZHk9ITAsci5yZWFkeUVycm9yQ2JzLmZvckVhY2goKGZ1bmN0aW9uKGUpe2UodCl9KSkpfSkpfSxfdC5wcm90b3R5cGUuY29uZmlybVRyYW5zaXRpb249ZnVuY3Rpb24odCxlLG4pe3ZhciBpPXRoaXMsbz10aGlzLmN1cnJlbnQsYT1mdW5jdGlvbih0KXtyKHQpJiYoaS5lcnJvckNicy5sZW5ndGg/aS5lcnJvckNicy5mb3JFYWNoKChmdW5jdGlvbihlKXtlKHQpfSkpOihmdW5jdGlvbih0LGUpezB9KCksY29uc29sZS5lcnJvcih0KSkpLG4mJm4odCl9LHM9ZnVuY3Rpb24odCxlKXt2YXIgbixyPU1hdGgubWF4KHQubGVuZ3RoLGUubGVuZ3RoKTtmb3Iobj0wO248cjtuKyspaWYodFtuXSE9PWVbbl0pYnJlYWs7cmV0dXJue3VwZGF0ZWQ6ZS5zbGljZSgwLG4pLGFjdGl2YXRlZDplLnNsaWNlKG4pLGRlYWN0aXZhdGVkOnQuc2xpY2Uobil9fSh0aGlzLmN1cnJlbnQubWF0Y2hlZCx0Lm1hdGNoZWQpLGM9cy51cGRhdGVkLHU9cy5kZWFjdGl2YXRlZCxsPXMuYWN0aXZhdGVkLGY9W10uY29uY2F0KGZ1bmN0aW9uKHQpe3JldHVybiB3dCh0LCJiZWZvcmVSb3V0ZUxlYXZlIix4dCwhMCl9KHUpLHRoaXMucm91dGVyLmJlZm9yZUhvb2tzLGZ1bmN0aW9uKHQpe3JldHVybiB3dCh0LCJiZWZvcmVSb3V0ZVVwZGF0ZSIseHQpfShjKSxsLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIHQuYmVmb3JlRW50ZXJ9KSksdnQobCkpO3RoaXMucGVuZGluZz10O3ZhciBkPWZ1bmN0aW9uKGUsbil7aWYoaS5wZW5kaW5nIT09dClyZXR1cm4gYSgpO3RyeXtlKHQsbywoZnVuY3Rpb24odCl7ITE9PT10fHxyKHQpPyhpLmVuc3VyZVVSTCghMCksYSh0KSk6InN0cmluZyI9PT10eXBlb2YgdHx8Im9iamVjdCI9PT10eXBlb2YgdCYmKCJzdHJpbmciPT09dHlwZW9mIHQucGF0aHx8InN0cmluZyI9PT10eXBlb2YgdC5uYW1lKT8oYSgpLCJvYmplY3QiPT09dHlwZW9mIHQmJnQucmVwbGFjZT9pLnJlcGxhY2UodCk6aS5wdXNoKHQpKTpuKHQpfSkpfWNhdGNoKHMpe2Eocyl9fTtwdChmLGQsKGZ1bmN0aW9uKCl7dmFyIG49W10scj1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHd0KHQsImJlZm9yZVJvdXRlRW50ZXIiLChmdW5jdGlvbih0LHIsaSxvKXtyZXR1cm4gZnVuY3Rpb24odCxlLG4scixpKXtyZXR1cm4gZnVuY3Rpb24obyxhLHMpe3JldHVybiB0KG8sYSwoZnVuY3Rpb24odCl7cyh0KSwiZnVuY3Rpb24iPT09dHlwZW9mIHQmJnIucHVzaCgoZnVuY3Rpb24oKXsoZnVuY3Rpb24gdChlLG4scixpKXtuW3JdJiYhbltyXS5faXNCZWluZ0Rlc3Ryb3llZD9lKG5bcl0pOmkoKSYmc2V0VGltZW91dCgoZnVuY3Rpb24oKXt0KGUsbixyLGkpfSksMTYpfSkodCxlLmluc3RhbmNlcyxuLGkpfSkpfSkpfX0odCxpLG8sZSxuKX0pKX0obCxuLChmdW5jdGlvbigpe3JldHVybiBpLmN1cnJlbnQ9PT10fSkpLG89ci5jb25jYXQoaS5yb3V0ZXIucmVzb2x2ZUhvb2tzKTtwdChvLGQsKGZ1bmN0aW9uKCl7aWYoaS5wZW5kaW5nIT09dClyZXR1cm4gYSgpO2kucGVuZGluZz1udWxsLGUodCksaS5yb3V0ZXIuYXBwJiZpLnJvdXRlci5hcHAuJG5leHRUaWNrKChmdW5jdGlvbigpe24uZm9yRWFjaCgoZnVuY3Rpb24odCl7dCgpfSkpfSkpfSkpfSkpfSxfdC5wcm90b3R5cGUudXBkYXRlUm91dGU9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5jdXJyZW50O3RoaXMuY3VycmVudD10LHRoaXMuY2ImJnRoaXMuY2IodCksdGhpcy5yb3V0ZXIuYWZ0ZXJIb29rcy5mb3JFYWNoKChmdW5jdGlvbihuKXtuJiZuKHQsZSl9KSl9O3ZhciBTdD1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKCl7dC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9cmV0dXJuIHQmJihlLl9fcHJvdG9fXz10KSxlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHQmJnQucHJvdG90eXBlKSxlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lLGUucHJvdG90eXBlLnNldHVwTGlzdGVuZXJzPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPXRoaXMucm91dGVyLG49ZS5vcHRpb25zLnNjcm9sbEJlaGF2aW9yLHI9c3QmJm47ciYmdHQoZSk7dmFyIGk9a3QodGhpcy5iYXNlKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicG9wc3RhdGUiLChmdW5jdGlvbihuKXt2YXIgbz10LmN1cnJlbnQsYT1rdCh0LmJhc2UpO2lmKHQuY3VycmVudCE9PW18fGEhPT1pKXt2YXIgcz1uLnN0YXRlJiZuLnN0YXRlLmlkO2lmKCFzKXJldHVybiB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7dC50cmFuc2l0aW9uVG8oe3BhdGg6YSxwYXJhbXM6e19faWRfXzpzfX0sKGZ1bmN0aW9uKHQpe3ImJmV0KGUsdCxvLCEwKX0pKX19KSl9LGUucHJvdG90eXBlLmdvPWZ1bmN0aW9uKHQpe3dpbmRvdy5oaXN0b3J5LmdvKHQpfSxlLnByb3RvdHlwZS5wdXNoPWZ1bmN0aW9uKHQsZSxuKXt2YXIgcj10aGlzO2lmKCJvYmplY3QiPT09dHlwZW9mIHQpe3QucGFyYW1zPXQucGFyYW1zfHx7fTt2YXIgaT10LnBhcmFtcy5fX2lkX187c3dpdGNoKHQudHlwZSl7Y2FzZSJuYXZpZ2F0ZVRvIjppfHx0aGlzLnJvdXRlci5pZCsrO2JyZWFrO2Nhc2UicmVkaXJlY3RUbyI6Y2FzZSJyZUxhdW5jaCI6dGhpcy5yb3V0ZXIuaWQrKzticmVhaztjYXNlInN3aXRjaFRhYiI6YnJlYWt9aXx8KHQucGFyYW1zLl9faWRfXz10aGlzLnJvdXRlci5pZCl9dmFyIG89dGhpcy5jdXJyZW50O3RoaXMudHJhbnNpdGlvblRvKHQsKGZ1bmN0aW9uKG4pe2R0KEUoci5iYXNlK24uZnVsbFBhdGgpLHQucGFyYW1zLl9faWRfXyksZXQoci5yb3V0ZXIsbixvLCExKSxlJiZlKG4pfSksbil9LGUucHJvdG90eXBlLnJlcGxhY2U9ZnVuY3Rpb24odCxlLG4pe3ZhciByPXRoaXM7aWYoIm9iamVjdCI9PT10eXBlb2YgdCl7c3dpdGNoKHQudHlwZSl7Y2FzZSJuYXZpZ2F0ZVRvIjpjYXNlInJlZGlyZWN0VG8iOmNhc2UicmVMYXVuY2giOnRoaXMucm91dGVyLmlkKys7YnJlYWs7Y2FzZSJzd2l0Y2hUYWIiOmJyZWFrfXQucGFyYW1zPXQucGFyYW1zfHx7fSx0LnBhcmFtcy5fX2lkX189dGhpcy5yb3V0ZXIuaWR9dmFyIGk9dGhpcy5jdXJyZW50O3RoaXMudHJhbnNpdGlvblRvKHQsKGZ1bmN0aW9uKG4pe2h0KEUoci5iYXNlK24uZnVsbFBhdGgpLHQucGFyYW1zLl9faWRfXyksZXQoci5yb3V0ZXIsbixpLCExKSxlJiZlKG4pfSksbil9LGUucHJvdG90eXBlLmVuc3VyZVVSTD1mdW5jdGlvbih0KXtpZihrdCh0aGlzLmJhc2UpIT09dGhpcy5jdXJyZW50LmZ1bGxQYXRoKXt2YXIgZT1FKHRoaXMuYmFzZSt0aGlzLmN1cnJlbnQuZnVsbFBhdGgpLG49dGhpcy5jdXJyZW50LnBhcmFtcy5fX2lkX187dD9kdChlLG4pOmh0KGUsbil9fSxlLnByb3RvdHlwZS5nZXRDdXJyZW50TG9jYXRpb249ZnVuY3Rpb24oKXtyZXR1cm57cGF0aDprdCh0aGlzLmJhc2UpLHBhcmFtczp7X19pZF9fOisrdGhpcy5yb3V0ZXIuaWR9fX0sZX0oX3QpO2Z1bmN0aW9uIGt0KHQpe3ZhciBlPWRlY29kZVVSSSh3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUpO3JldHVybiB0JiYwPT09ZS5pbmRleE9mKHQpJiYoZT1lLnNsaWNlKHQubGVuZ3RoKSksKGV8fCIvIikraChmKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gpKSt3aW5kb3cubG9jYXRpb24uaGFzaH12YXIgQ3Q9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZShlLG4scil7dC5jYWxsKHRoaXMsZSxuKSxyJiZmdW5jdGlvbih0KXt2YXIgZT1rdCh0KTtpZighL15cLyMvLnRlc3QoZSkpcmV0dXJuIHdpbmRvdy5sb2NhdGlvbi5yZXBsYWNlKEUodCsiLyMiK2UpKSwhMH0odGhpcy5iYXNlKXx8T3QoKX1yZXR1cm4gdCYmKGUuX19wcm90b19fPXQpLGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodCYmdC5wcm90b3R5cGUpLGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPWUsZS5wcm90b3R5cGUuc2V0dXBMaXN0ZW5lcnM9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLGU9dGhpcy5yb3V0ZXIsbj1lLm9wdGlvbnMuc2Nyb2xsQmVoYXZpb3Iscj1zdCYmbjtyJiZ0dChlKSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihzdD8icG9wc3RhdGUiOiJoYXNoY2hhbmdlIiwoZnVuY3Rpb24oZSl7dmFyIG49dC5jdXJyZW50O2lmKE90KCkpe3ZhciBpPWUuc3RhdGUmJmUuc3RhdGUuaWQ7aWYoIWkpcmV0dXJuIHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKTt0LnRyYW5zaXRpb25Ubyh7cGF0aDpUdCgpLHBhcmFtczp7X19pZF9fOml9fSwoZnVuY3Rpb24oZSl7ciYmZXQodC5yb3V0ZXIsZSxuLCEwKSxzdHx8anQoZS5mdWxsUGF0aCxlLnBhcmFtcy5fX2lkX18pfSkpfX0pKX0sZS5wcm90b3R5cGUucHVzaD1mdW5jdGlvbih0LGUsbil7dmFyIHI9dGhpcztpZigib2JqZWN0Ij09PXR5cGVvZiB0KXt0LnBhcmFtcz10LnBhcmFtc3x8e307dmFyIGk9dC5wYXJhbXMuX19pZF9fO3N3aXRjaCh0LnR5cGUpe2Nhc2UibmF2aWdhdGVUbyI6aXx8dGhpcy5yb3V0ZXIuaWQrKzticmVhaztjYXNlInJlZGlyZWN0VG8iOmNhc2UicmVMYXVuY2giOnRoaXMucm91dGVyLmlkKys7YnJlYWs7Y2FzZSJzd2l0Y2hUYWIiOmJyZWFrfWl8fCh0LnBhcmFtcy5fX2lkX189dGhpcy5yb3V0ZXIuaWQpfXZhciBvPXRoaXMuY3VycmVudCxhPXRoaXMucm91dGVyLmlkO3RoaXMudHJhbnNpdGlvblRvKHQsKGZ1bmN0aW9uKHQpe0F0KHQuZnVsbFBhdGgsYSksZXQoci5yb3V0ZXIsdCxvLCExKSxlJiZlKHQpfSksbil9LGUucHJvdG90eXBlLnJlcGxhY2U9ZnVuY3Rpb24odCxlLG4pe3ZhciByPXRoaXM7aWYoIm9iamVjdCI9PT10eXBlb2YgdCl7c3dpdGNoKHQudHlwZSl7Y2FzZSJuYXZpZ2F0ZVRvIjpjYXNlInJlZGlyZWN0VG8iOmNhc2UicmVMYXVuY2giOnRoaXMucm91dGVyLmlkKys7YnJlYWs7Y2FzZSJzd2l0Y2hUYWIiOmJyZWFrfXQucGFyYW1zPXQucGFyYW1zfHx7fSx0LnBhcmFtcy5fX2lkX189dGhpcy5yb3V0ZXIuaWR9dmFyIGk9dGhpcy5jdXJyZW50LG89dGhpcy5yb3V0ZXIuaWQ7dGhpcy50cmFuc2l0aW9uVG8odCwoZnVuY3Rpb24odCl7anQodC5mdWxsUGF0aCxvKSxldChyLnJvdXRlcix0LGksITEpLGUmJmUodCl9KSxuKX0sZS5wcm90b3R5cGUuZ289ZnVuY3Rpb24odCl7d2luZG93Lmhpc3RvcnkuZ28odCl9LGUucHJvdG90eXBlLmVuc3VyZVVSTD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmN1cnJlbnQuZnVsbFBhdGg7VHQoKSE9PWUmJih0P0F0KGUsdGhpcy5jdXJyZW50LnBhcmFtcy5fX2lkX18pOmp0KGUsdGhpcy5jdXJyZW50LnBhcmFtcy5fX2lkX18pKX0sZS5wcm90b3R5cGUuZ2V0Q3VycmVudExvY2F0aW9uPWZ1bmN0aW9uKCl7cmV0dXJue3BhdGg6VHQoKSxwYXJhbXM6e19faWRfXzorK3RoaXMucm91dGVyLmlkfX19LGV9KF90KTtmdW5jdGlvbiBPdCgpe3ZhciB0PVR0KCk7cmV0dXJuIi8iPT09dC5jaGFyQXQoMCl8fChqdCgiLyIrdCksITEpfWZ1bmN0aW9uIFR0KCl7dmFyIHQ9d2luZG93LmxvY2F0aW9uLmhyZWYsZT10LmluZGV4T2YoIiMiKTtyZXR1cm4tMT09PWU/IiI6ZGVjb2RlVVJJKHQuc2xpY2UoZSsxKSl9ZnVuY3Rpb24gRXQodCl7dmFyIGU9d2luZG93LmxvY2F0aW9uLmhyZWYsbj1lLmluZGV4T2YoIiMiKSxyPW4+PTA/ZS5zbGljZSgwLG4pOmU7cmV0dXJuIHIrIiMiK3R9ZnVuY3Rpb24gQXQodCxlKXtzdD9kdChFdCh0KSxlKTp3aW5kb3cubG9jYXRpb24uaGFzaD10fWZ1bmN0aW9uIGp0KHQsZSl7c3Q/aHQoRXQodCksZSk6d2luZG93LmxvY2F0aW9uLnJlcGxhY2UoRXQodCkpfXZhciBNdD1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKGUsbil7dC5jYWxsKHRoaXMsZSxuKSx0aGlzLnN0YWNrPVtdLHRoaXMuaW5kZXg9LTF9cmV0dXJuIHQmJihlLl9fcHJvdG9fXz10KSxlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKHQmJnQucHJvdG90eXBlKSxlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lLGUucHJvdG90eXBlLnB1c2g9ZnVuY3Rpb24odCxlLG4pe3ZhciByPXRoaXM7dGhpcy50cmFuc2l0aW9uVG8odCwoZnVuY3Rpb24odCl7ci5zdGFjaz1yLnN0YWNrLnNsaWNlKDAsci5pbmRleCsxKS5jb25jYXQodCksci5pbmRleCsrLGUmJmUodCl9KSxuKX0sZS5wcm90b3R5cGUucmVwbGFjZT1mdW5jdGlvbih0LGUsbil7dmFyIHI9dGhpczt0aGlzLnRyYW5zaXRpb25Ubyh0LChmdW5jdGlvbih0KXtyLnN0YWNrPXIuc3RhY2suc2xpY2UoMCxyLmluZGV4KS5jb25jYXQodCksZSYmZSh0KX0pLG4pfSxlLnByb3RvdHlwZS5nbz1mdW5jdGlvbih0KXt2YXIgZT10aGlzLG49dGhpcy5pbmRleCt0O2lmKCEobjwwfHxuPj10aGlzLnN0YWNrLmxlbmd0aCkpe3ZhciByPXRoaXMuc3RhY2tbbl07dGhpcy5jb25maXJtVHJhbnNpdGlvbihyLChmdW5jdGlvbigpe2UuaW5kZXg9bixlLnVwZGF0ZVJvdXRlKHIpfSkpfX0sZS5wcm90b3R5cGUuZ2V0Q3VycmVudExvY2F0aW9uPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC0xXTtyZXR1cm4gdD90LmZ1bGxQYXRoOiIvIn0sZS5wcm90b3R5cGUuZW5zdXJlVVJMPWZ1bmN0aW9uKCl7fSxlfShfdCksSXQ9ZnVuY3Rpb24odCl7dm9pZCAwPT09dCYmKHQ9e30pLHRoaXMuYXBwPW51bGwsdGhpcy5hcHBzPVtdLHRoaXMub3B0aW9ucz10LHRoaXMuYmVmb3JlSG9va3M9W10sdGhpcy5yZXNvbHZlSG9va3M9W10sdGhpcy5hZnRlckhvb2tzPVtdLHRoaXMubWF0Y2hlcj1LKHQucm91dGVzfHxbXSx0aGlzKSx0aGlzLmlkPXQuaWR8fDEsdGhpcy5taW5JZD10LmlkfHwxO3ZhciBlPXQubW9kZXx8Imhhc2giO3N3aXRjaCh0aGlzLmZhbGxiYWNrPSJoaXN0b3J5Ij09PWUmJiFzdCYmITEhPT10LmZhbGxiYWNrLHRoaXMuZmFsbGJhY2smJihlPSJoYXNoIiksT3x8KGU9ImFic3RyYWN0IiksdGhpcy5tb2RlPWUsZSl7Y2FzZSJoaXN0b3J5Ijp0aGlzLmhpc3Rvcnk9bmV3IFN0KHRoaXMsdC5iYXNlKTticmVhaztjYXNlImhhc2giOnRoaXMuaGlzdG9yeT1uZXcgQ3QodGhpcyx0LmJhc2UsdGhpcy5mYWxsYmFjayk7YnJlYWs7Y2FzZSJhYnN0cmFjdCI6dGhpcy5oaXN0b3J5PW5ldyBNdCh0aGlzLHQuYmFzZSk7YnJlYWs7ZGVmYXVsdDowfX0sUHQ9e2N1cnJlbnRSb3V0ZTp7Y29uZmlndXJhYmxlOiEwfX07ZnVuY3Rpb24gJHQodCxlKXtyZXR1cm4gdC5wdXNoKGUpLGZ1bmN0aW9uKCl7dmFyIG49dC5pbmRleE9mKGUpO24+LTEmJnQuc3BsaWNlKG4sMSl9fUl0LnByb3RvdHlwZS5tYXRjaD1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHRoaXMubWF0Y2hlci5tYXRjaCh0LGUsbil9LFB0LmN1cnJlbnRSb3V0ZS5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5oaXN0b3J5JiZ0aGlzLmhpc3RvcnkuY3VycmVudH0sSXQucHJvdG90eXBlLmluaXQ9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcztpZih0aGlzLmFwcHMucHVzaCh0KSwhdGhpcy5hcHApe3RoaXMuYXBwPXQ7dmFyIG49dGhpcy5oaXN0b3J5O2lmKG4gaW5zdGFuY2VvZiBTdCl7dmFyIHI9ZnVuY3Rpb24oKXtuLnNldHVwTGlzdGVuZXJzKCl9O24udHJhbnNpdGlvblRvKG4uZ2V0Q3VycmVudExvY2F0aW9uKCkscixyKX1lbHNlIGlmKG4gaW5zdGFuY2VvZiBDdCl7dmFyIGk9ZnVuY3Rpb24oKXtuLnNldHVwTGlzdGVuZXJzKCl9O24udHJhbnNpdGlvblRvKG4uZ2V0Q3VycmVudExvY2F0aW9uKCksaSxpKX1uLmxpc3RlbigoZnVuY3Rpb24odCl7ZS5hcHBzLmZvckVhY2goKGZ1bmN0aW9uKGUpe2UuX3JvdXRlPXR9KSl9KSl9fSxJdC5wcm90b3R5cGUuYmVmb3JlRWFjaD1mdW5jdGlvbih0KXtyZXR1cm4gJHQodGhpcy5iZWZvcmVIb29rcyx0KX0sSXQucHJvdG90eXBlLmJlZm9yZVJlc29sdmU9ZnVuY3Rpb24odCl7cmV0dXJuICR0KHRoaXMucmVzb2x2ZUhvb2tzLHQpfSxJdC5wcm90b3R5cGUuYWZ0ZXJFYWNoPWZ1bmN0aW9uKHQpe3JldHVybiAkdCh0aGlzLmFmdGVySG9va3MsdCl9LEl0LnByb3RvdHlwZS5vblJlYWR5PWZ1bmN0aW9uKHQsZSl7dGhpcy5oaXN0b3J5Lm9uUmVhZHkodCxlKX0sSXQucHJvdG90eXBlLm9uRXJyb3I9ZnVuY3Rpb24odCl7dGhpcy5oaXN0b3J5Lm9uRXJyb3IodCl9LEl0LnByb3RvdHlwZS5wdXNoPWZ1bmN0aW9uKHQsZSxuKXt0aGlzLmhpc3RvcnkucHVzaCh0LGUsbil9LEl0LnByb3RvdHlwZS5yZXBsYWNlPWZ1bmN0aW9uKHQsZSxuKXt0aGlzLmhpc3RvcnkucmVwbGFjZSh0LGUsbil9LEl0LnByb3RvdHlwZS5nbz1mdW5jdGlvbih0KXt0aGlzLmhpc3RvcnkuZ28odCl9LEl0LnByb3RvdHlwZS5iYWNrPWZ1bmN0aW9uKCl7dGhpcy5nbygtMSl9LEl0LnByb3RvdHlwZS5mb3J3YXJkPWZ1bmN0aW9uKCl7dGhpcy5nbygxKX0sSXQucHJvdG90eXBlLmdldE1hdGNoZWRDb21wb25lbnRzPWZ1bmN0aW9uKHQpe3ZhciBlPXQ/dC5tYXRjaGVkP3Q6dGhpcy5yZXNvbHZlKHQpLnJvdXRlOnRoaXMuY3VycmVudFJvdXRlO3JldHVybiBlP1tdLmNvbmNhdC5hcHBseShbXSxlLm1hdGNoZWQubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gT2JqZWN0LmtleXModC5jb21wb25lbnRzKS5tYXAoKGZ1bmN0aW9uKGUpe3JldHVybiB0LmNvbXBvbmVudHNbZV19KSl9KSkpOltdfSxJdC5wcm90b3R5cGUucmVzb2x2ZT1mdW5jdGlvbih0LGUsbil7dmFyIHI9USh0LGV8fHRoaXMuaGlzdG9yeS5jdXJyZW50LG4sdGhpcyksaT10aGlzLm1hdGNoKHIsZSksbz1pLnJlZGlyZWN0ZWRGcm9tfHxpLmZ1bGxQYXRoLGE9dGhpcy5oaXN0b3J5LmJhc2Uscz1mdW5jdGlvbih0LGUsbil7dmFyIHI9Imhhc2giPT09bj8iIyIrZTplO3JldHVybiB0P0UodCsiLyIrcik6cn0oYSxvLHRoaXMubW9kZSk7cmV0dXJue2xvY2F0aW9uOnIscm91dGU6aSxocmVmOnMsbm9ybWFsaXplZFRvOnIscmVzb2x2ZWQ6aX19LEl0LnByb3RvdHlwZS5hZGRSb3V0ZXM9ZnVuY3Rpb24odCl7dGhpcy5tYXRjaGVyLmFkZFJvdXRlcyh0KSx0aGlzLmhpc3RvcnkuY3VycmVudCE9PW0mJnRoaXMuaGlzdG9yeS50cmFuc2l0aW9uVG8odGhpcy5oaXN0b3J5LmdldEN1cnJlbnRMb2NhdGlvbigpKX0sT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoSXQucHJvdG90eXBlLFB0KSxJdC5pbnN0YWxsPWZ1bmN0aW9uIHQoZSl7aWYoIXQuaW5zdGFsbGVkfHx3IT09ZSl7dC5pbnN0YWxsZWQ9ITAsdz1lO3ZhciBuPWZ1bmN0aW9uKHQpe3JldHVybiB2b2lkIDAhPT10fSxyPWZ1bmN0aW9uKHQsZSl7dmFyIHI9dC4kb3B0aW9ucy5fcGFyZW50Vm5vZGU7bihyKSYmbihyPXIuZGF0YSkmJm4ocj1yLnJlZ2lzdGVyUm91dGVJbnN0YW5jZSkmJnIodCxlKX07ZS5taXhpbih7YmVmb3JlQ3JlYXRlOmZ1bmN0aW9uKCl7bih0aGlzLiRvcHRpb25zLnJvdXRlcik/KHRoaXMuX3JvdXRlclJvb3Q9dGhpcyx0aGlzLl9yb3V0ZXI9dGhpcy4kb3B0aW9ucy5yb3V0ZXIsdGhpcy5fcm91dGVyLmluaXQodGhpcyksZS51dGlsLmRlZmluZVJlYWN0aXZlKHRoaXMsIl9yb3V0ZSIsdGhpcy5fcm91dGVyLmhpc3RvcnkuY3VycmVudCkpOnRoaXMuX3JvdXRlclJvb3Q9dGhpcy4kcGFyZW50JiZ0aGlzLiRwYXJlbnQuX3JvdXRlclJvb3R8fHRoaXMscih0aGlzLHRoaXMpfSxkZXN0cm95ZWQ6ZnVuY3Rpb24oKXtyKHRoaXMpfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLnByb3RvdHlwZSwiJHJvdXRlciIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9yb3V0ZXJSb290Ll9yb3V0ZXJ9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLCIkcm91dGUiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcm91dGVyUm9vdC5fcm91dGV9fSksZS5jb21wb25lbnQoIlJvdXRlclZpZXciLG8pLGUuY29tcG9uZW50KCJSb3V0ZXJMaW5rIixrKTt2YXIgaT1lLmNvbmZpZy5vcHRpb25NZXJnZVN0cmF0ZWdpZXM7aS5iZWZvcmVSb3V0ZUVudGVyPWkuYmVmb3JlUm91dGVMZWF2ZT1pLmJlZm9yZVJvdXRlVXBkYXRlPWkuY3JlYXRlZH19LEl0LnZlcnNpb249IjMuMC4xIixlWyJkZWZhdWx0Il09SXR9LGJkMDY6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCI4YmRiIiksaT1uKCI0ZDE2IikuZmluZEluZGV4LG89bigiMWNiNSIpLGE9ITA7ImZpbmRJbmRleCJpbltdJiZBcnJheSgxKVsiZmluZEluZGV4Il0oKGZ1bmN0aW9uKCl7YT0hMX0pKSxyKHt0YXJnZXQ6IkFycmF5Iixwcm90bzohMCxmb3JjZWQ6YX0se2ZpbmRJbmRleDpmdW5jdGlvbih0KXtyZXR1cm4gaSh0aGlzLHQsYXJndW1lbnRzLmxlbmd0aD4xP2FyZ3VtZW50c1sxXTp2b2lkIDApfX0pLG8oImZpbmRJbmRleCIpfSxiZDdkOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiN2RkYiIpLGk9bigiMDM2YiIpLmluZGV4T2Ysbz1yLmFUeXBlZEFycmF5LGE9ci5leHBvcnRUeXBlZEFycmF5TWV0aG9kO2EoImluZGV4T2YiLChmdW5jdGlvbih0KXtyZXR1cm4gaShvKHRoaXMpLHQsYXJndW1lbnRzLmxlbmd0aD4xP2FyZ3VtZW50c1sxXTp2b2lkIDApfSkpfSxiZDhhOmZ1bmN0aW9uKHQsZSl7dC5leHBvcnRzPXt9fSxiZGE1OmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiMWMwNiIpO3QuZXhwb3J0cz1mdW5jdGlvbih0KXtyZXR1cm4gcih0KXx8bnVsbD09PXR9fSxiZGJiOmZ1bmN0aW9uKHQsZSxuKXtmdW5jdGlvbiByKGUpe3JldHVybiB0LmV4cG9ydHM9cj0iZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiYic3ltYm9sIj09dHlwZW9mIFN5bWJvbC5pdGVyYXRvcj9mdW5jdGlvbih0KXtyZXR1cm4gdHlwZW9mIHR9OmZ1bmN0aW9uKHQpe3JldHVybiB0JiYiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiZ0LmNvbnN0cnVjdG9yPT09U3ltYm9sJiZ0IT09U3ltYm9sLnByb3RvdHlwZT8ic3ltYm9sIjp0eXBlb2YgdH0sdC5leHBvcnRzLl9fZXNNb2R1bGU9ITAsdC5leHBvcnRzWyJkZWZhdWx0Il09dC5leHBvcnRzLHIoZSl9bigiMDFhMiIpLG4oImUzOWMiKSxuKCJiZjBmIiksbigiODQ0ZCIpLG4oIjE4ZjciKSxuKCJkZTZjIiksdC5leHBvcnRzPXIsdC5leHBvcnRzLl9fZXNNb2R1bGU9ITAsdC5leHBvcnRzWyJkZWZhdWx0Il09dC5leHBvcnRzfSxiZWYyOmZ1bmN0aW9uKHQsZSxuKXt2YXIgcj1uKCJkN2I4IiksaT1uKCJmMGI1Iiksbz1uKCJkMTkxIiksYT1uKCJlMTU4Iikscz1uKCIxYjhlIiksYz1UeXBlRXJyb3I7dC5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIG49YXJndW1lbnRzLmxlbmd0aDwyP3ModCk6ZTtpZihpKG4pKXJldHVybiBvKHIobix0KSk7dGhyb3cgYyhhKHQpKyIgaXMgbm90IGl0ZXJhYmxlIil9fSxiZjBmOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiNTY5YiIpLGk9bigiODFhOSIpLG89bigiNzkzNCIpO3J8fGkoT2JqZWN0LnByb3RvdHlwZSwidG9TdHJpbmciLG8se3Vuc2FmZTohMH0pfSxjMTk5OmZ1bmN0aW9uKHQsZSxuKXt2YXIgcj1uKCI3N2NkIiksaT1uKCI2MzE0Iiksbz1uKCJkOTUzIiksYT1uKCI0MTViIik7dC5leHBvcnRzPWZ1bmN0aW9uKHQsZSxuKXtmb3IodmFyIHM9aShlKSxjPWEuZix1PW8uZixsPTA7bDxzLmxlbmd0aDtsKyspe3ZhciBmPXNbbF07cih0LGYpfHxuJiZyKG4sZil8fGModCxmLHUoZSxmKSl9fX0sYzIxNTpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjcxZTkiKSxpPW4oIjFjMDYiKSxvPW4oImRkZDMiKSxhPW4oIjYwYmMiKSxzPW4oImRmOTIiKSxjPW4oIjhjMDgiKSx1PVR5cGVFcnJvcixsPWMoInRvUHJpbWl0aXZlIik7dC5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7aWYoIWkodCl8fG8odCkpcmV0dXJuIHQ7dmFyIG4sYz1hKHQsbCk7aWYoYyl7aWYodm9pZCAwPT09ZSYmKGU9ImRlZmF1bHQiKSxuPXIoYyx0LGUpLCFpKG4pfHxvKG4pKXJldHVybiBuO3Rocm93IG5ldyB1KCJDYW4ndCBjb252ZXJ0IG9iamVjdCB0byBwcmltaXRpdmUgdmFsdWUiKX1yZXR1cm4gdm9pZCAwPT09ZSYmKGU9Im51bWJlciIpLHModCxlKX19LGMyMjM6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCI4YmRiIiksaT1uKCJhZjllIiksbz1uKCJhYzVmIiksYT1uKCIxYzA2Iikscz1uKCIxMDk5IiksYz1uKCIxZmMxIiksdT1uKCI0MWM3IiksbD1uKCI4NWY3IiksZj1uKCIzMjQyIiksZD1uKCJhNTU0IiksaD1uKCI4YzA4IikscD1uKCIwMTczIiksdj1oKCJpc0NvbmNhdFNwcmVhZGFibGUiKSxnPXA+PTUxfHwhaSgoZnVuY3Rpb24oKXt2YXIgdD1bXTtyZXR1cm4gdFt2XT0hMSx0LmNvbmNhdCgpWzBdIT09dH0pKSxtPWZ1bmN0aW9uKHQpe2lmKCFhKHQpKXJldHVybiExO3ZhciBlPXRbdl07cmV0dXJuIHZvaWQgMCE9PWU/ISFlOm8odCl9LGI9IWd8fCFkKCJjb25jYXQiKTtyKHt0YXJnZXQ6IkFycmF5Iixwcm90bzohMCxhcml0eToxLGZvcmNlZDpifSx7Y29uY2F0OmZ1bmN0aW9uKHQpe3ZhciBlLG4scixpLG8sYT1zKHRoaXMpLGQ9ZihhLDApLGg9MDtmb3IoZT0tMSxyPWFyZ3VtZW50cy5sZW5ndGg7ZTxyO2UrKylpZihvPS0xPT09ZT9hOmFyZ3VtZW50c1tlXSxtKG8pKWZvcihpPWMobyksdShoK2kpLG49MDtuPGk7bisrLGgrKyluIGluIG8mJmwoZCxoLG9bbl0pO2Vsc2UgdShoKzEpLGwoZCxoKyssbyk7cmV0dXJuIGQubGVuZ3RoPWgsZH19KX0sYzIzODpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oImFmOWUiKTt0LmV4cG9ydHM9IXIoKGZ1bmN0aW9uKCl7cmV0dXJuIE9iamVjdC5pc0V4dGVuc2libGUoT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKHt9KSl9KSl9LGMyNDA6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCIxODFkIik7cihNYXRoLCJNYXRoIiwhMCl9LGMyZDc6ZnVuY3Rpb24odCxlKXt2YXIgbj0ib2JqZWN0Ij09dHlwZW9mIGRvY3VtZW50JiZkb2N1bWVudC5hbGwscj0idW5kZWZpbmVkIj09dHlwZW9mIG4mJnZvaWQgMCE9PW47dC5leHBvcnRzPXthbGw6bixJU19IVE1MRERBOnJ9fSxjMzM3OmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiMzM4YyIpLGk9bigiNDc0ZiIpLG89bigiMTA5OSIpLGE9bigiYjIyMyIpLHM9bigiMWQ1NyIpLGM9YSgiSUVfUFJPVE8iKSx1PU9iamVjdCxsPXUucHJvdG90eXBlO3QuZXhwb3J0cz1zP3UuZ2V0UHJvdG90eXBlT2Y6ZnVuY3Rpb24odCl7dmFyIGU9byh0KTtpZihyKGUsYykpcmV0dXJuIGVbY107dmFyIG49ZS5jb25zdHJ1Y3RvcjtyZXR1cm4gaShuKSYmZSBpbnN0YW5jZW9mIG4/bi5wcm90b3R5cGU6ZSBpbnN0YW5jZW9mIHU/bDpudWxsfX0sYzQzNTpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjQ5N2IiKSxpPU1hdGgubWluO3QuZXhwb3J0cz1mdW5jdGlvbih0KXt2YXIgZT1yKHQpO3JldHVybiBlPjA/aShlLDkwMDcxOTkyNTQ3NDA5OTEpOjB9fSxjNWI3OmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiN2RkYiIpLGk9bigiODRkNiIpLG89bigiNTBkNSIpLGE9bigiOGUwMiIpLHM9bigiNzFlOSIpLGM9bigiYmI4MCIpLHU9bigiYWY5ZSIpLGw9ci5hVHlwZWRBcnJheSxmPXIuZXhwb3J0VHlwZWRBcnJheU1ldGhvZCxkPWMoIiIuc2xpY2UpLGg9dSgoZnVuY3Rpb24oKXt2YXIgdD0wO3JldHVybiBuZXcgSW50OEFycmF5KDIpLmZpbGwoe3ZhbHVlT2Y6ZnVuY3Rpb24oKXtyZXR1cm4gdCsrfX0pLDEhPT10fSkpO2YoImZpbGwiLChmdW5jdGlvbih0KXt2YXIgZT1hcmd1bWVudHMubGVuZ3RoO2wodGhpcyk7dmFyIG49IkJpZyI9PT1kKGEodGhpcyksMCwzKT9vKHQpOit0O3JldHVybiBzKGksdGhpcyxuLGU+MT9hcmd1bWVudHNbMV06dm9pZCAwLGU+Mj9hcmd1bWVudHNbMl06dm9pZCAwKX0pLGgpfSxjNjJhOmZ1bmN0aW9uKHQsZSxuKXt2YXIgcj1uKCIzYTRiIiksaT1uKCI0OWE1Iik7KHQuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3JldHVybiBpW3RdfHwoaVt0XT12b2lkIDAhPT1lP2U6e30pfSkoInZlcnNpb25zIixbXSkucHVzaCh7dmVyc2lvbjoiMy4yNi4xIixtb2RlOnI/InB1cmUiOiJnbG9iYWwiLGNvcHlyaWdodDoiwqkgMjAxNC0yMDIyIERlbmlzIFB1c2hrYXJldiAoemxvaXJvY2sucnUpIixsaWNlbnNlOiJodHRwczovL2dpdGh1Yi5jb20vemxvaXJvY2svY29yZS1qcy9ibG9iL3YzLjI2LjEvTElDRU5TRSIsc291cmNlOiJodHRwczovL2dpdGh1Yi5jb20vemxvaXJvY2svY29yZS1qcyJ9KX0sYzY0NjpmdW5jdGlvbih0LGUpe3QuZXhwb3J0cz1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09PXR8fHZvaWQgMD09PXR9fSxjNzUzOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiOGJkYiIpLGk9bigiN2RkYiIpLG89aS5OQVRJVkVfQVJSQVlfQlVGRkVSX1ZJRVdTO3Ioe3RhcmdldDoiQXJyYXlCdWZmZXIiLHN0YXQ6ITAsZm9yY2VkOiFvfSx7aXNWaWV3OmkuaXNWaWV3fSl9LGM3ZGQ6ZnVuY3Rpb24odCxlLG4pe3ZhciByPW4oIjgzOTQiKSxpPW4oImZkY2EiKSxvPXIuV2Vha01hcDt0LmV4cG9ydHM9aShvKSYmL25hdGl2ZSBjb2RlLy50ZXN0KFN0cmluZyhvKSl9LGM4MjA6ZnVuY3Rpb24odCxlLG4pe3ZhciByPW4oIjZjMTMiKTt0LmV4cG9ydHM9L3dlYjBzKD8hLipjaHJvbWUpL2kudGVzdChyKX0sYzg2YjpmdW5jdGlvbih0LGUsbil7dmFyIHI9bigiODM5NCIpLGk9bigiZmRjYSIpLG89ZnVuY3Rpb24odCl7cmV0dXJuIGkodCk/dDp2b2lkIDB9O3QuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPDI/byhyW3RdKTpyW3RdJiZyW3RdW2VdfX0sYzg2YzpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3QuZXhwb3J0cz1mdW5jdGlvbih0KXt2YXIgZT1bXTtyZXR1cm4gZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLm1hcCgoZnVuY3Rpb24oZSl7dmFyIG49ZnVuY3Rpb24odCxlKXt2YXIgbj10WzFdfHwiIixyPXRbM107aWYoIXIpcmV0dXJuIG47aWYoZSYmImZ1bmN0aW9uIj09PXR5cGVvZiBidG9hKXt2YXIgaT1mdW5jdGlvbih0KXt2YXIgZT1idG9hKHVuZXNjYXBlKGVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeSh0KSkpKSxuPSJzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCwiLmNvbmNhdChlKTtyZXR1cm4iLyojICIuY29uY2F0KG4sIiAqLyIpfShyKSxvPXIuc291cmNlcy5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiIvKiMgc291cmNlVVJMPSIuY29uY2F0KHIuc291cmNlUm9vdHx8IiIpLmNvbmNhdCh0LCIgKi8iKX0pKTtyZXR1cm5bbl0uY29uY2F0KG8pLmNvbmNhdChbaV0pLmpvaW4oIlxuIil9cmV0dXJuW25dLmpvaW4oIlxuIil9KGUsdCk7cmV0dXJuIGVbMl0/IkBtZWRpYSAiLmNvbmNhdChlWzJdLCIgeyIpLmNvbmNhdChuLCJ9Iik6bn0pKS5qb2luKCIiKX0sZS5pPWZ1bmN0aW9uKHQsbixyKXsic3RyaW5nIj09PXR5cGVvZiB0JiYodD1bW251bGwsdCwiIl1dKTt2YXIgaT17fTtpZihyKWZvcih2YXIgbz0wO288dGhpcy5sZW5ndGg7bysrKXt2YXIgYT10aGlzW29dWzBdO251bGwhPWEmJihpW2FdPSEwKX1mb3IodmFyIHM9MDtzPHQubGVuZ3RoO3MrKyl7dmFyIGM9W10uY29uY2F0KHRbc10pO3ImJmlbY1swXV18fChuJiYoY1syXT9jWzJdPSIiLmNvbmNhdChuLCIgYW5kICIpLmNvbmNhdChjWzJdKTpjWzJdPW4pLGUucHVzaChjKSl9fSxlfX0sYzg5YjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3QuZXhwb3J0cz0idW5kZWZpbmVkIiE9dHlwZW9mIEFycmF5QnVmZmVyJiYidW5kZWZpbmVkIiE9dHlwZW9mIERhdGFWaWV3fSxjOTc2OmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiNmE1MCIpO3IoIlVpbnQ4IiwoZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKGUsbixyKXtyZXR1cm4gdCh0aGlzLGUsbixyKX19KSl9LGM5YjU6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCI4MWE5IiksaT1uKCJiNjY2Iiksbz1FcnJvci5wcm90b3R5cGU7by50b1N0cmluZyE9PWkmJnIobywidG9TdHJpbmciLGkpfSxjOWI3OmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiODVjMSIpLGk9T2JqZWN0LmRlZmluZVByb3BlcnR5O3QuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3RyeXtpKHIsdCx7dmFsdWU6ZSxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITB9KX1jYXRjaChuKXtyW3RdPWV9cmV0dXJuIGV9fSxjYTk5OmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiYmI4MCIpLGk9bigiNDc0ZiIpLG89bigiOWI1NSIpLGE9cihGdW5jdGlvbi50b1N0cmluZyk7aShvLmluc3BlY3RTb3VyY2UpfHwoby5pbnNwZWN0U291cmNlPWZ1bmN0aW9uKHQpe3JldHVybiBhKHQpfSksdC5leHBvcnRzPW8uaW5zcGVjdFNvdXJjZX0sY2MzNjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjQ5N2IiKSxpPW4oImM0MzUiKSxvPVJhbmdlRXJyb3I7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe2lmKHZvaWQgMD09PXQpcmV0dXJuIDA7dmFyIGU9cih0KSxuPWkoZSk7aWYoZSE9PW4pdGhyb3cgbmV3IG8oIldyb25nIGxlbmd0aCBvciBpbmRleCIpO3JldHVybiBufX0sY2NhOTpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oImFmOWUiKSxpPW4oIjg1YzEiKSxvPWkuUmVnRXhwO3QuZXhwb3J0cz1yKChmdW5jdGlvbigpe3ZhciB0PW8oIig/PGE+YikiLCJnIik7cmV0dXJuImIiIT09dC5leGVjKCJiIikuZ3JvdXBzLmF8fCJiYyIhPT0iYiIucmVwbGFjZSh0LCIkPGE+YyIpfSkpfSxjY2UzOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiN2RkYiIpLGk9bigiNjE1OCIpLmZpbmRMYXN0SW5kZXgsbz1yLmFUeXBlZEFycmF5LGE9ci5leHBvcnRUeXBlZEFycmF5TWV0aG9kO2EoImZpbmRMYXN0SW5kZXgiLChmdW5jdGlvbih0KXtyZXR1cm4gaShvKHRoaXMpLHQsYXJndW1lbnRzLmxlbmd0aD4xP2FyZ3VtZW50c1sxXTp2b2lkIDApfSkpfSxjZGI3OmZ1bmN0aW9uKHQsZSxuKXtuKCJiZjBmIiksbigiNzk5NiIpLG4oIjZhODgiKSx0LmV4cG9ydHM9ZnVuY3Rpb24oKXtpZigidW5kZWZpbmVkIj09PXR5cGVvZiBSZWZsZWN0fHwhUmVmbGVjdC5jb25zdHJ1Y3QpcmV0dXJuITE7aWYoUmVmbGVjdC5jb25zdHJ1Y3Quc2hhbSlyZXR1cm4hMTtpZigiZnVuY3Rpb24iPT09dHlwZW9mIFByb3h5KXJldHVybiEwO3RyeXtyZXR1cm4gQm9vbGVhbi5wcm90b3R5cGUudmFsdWVPZi5jYWxsKFJlZmxlY3QuY29uc3RydWN0KEJvb2xlYW4sW10sKGZ1bmN0aW9uKCl7fSkpKSwhMH1jYXRjaCh0KXtyZXR1cm4hMX19LHQuZXhwb3J0cy5fX2VzTW9kdWxlPSEwLHQuZXhwb3J0c1siZGVmYXVsdCJdPXQuZXhwb3J0c30sY2ZhZjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjMzOGMiKTt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIHZvaWQgMCE9PXQmJihyKHQsInZhbHVlIil8fHIodCwid3JpdGFibGUiKSl9fSxkMDA5OmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiN2RkYiIpLGk9bigiMDM2YiIpLmluY2x1ZGVzLG89ci5hVHlwZWRBcnJheSxhPXIuZXhwb3J0VHlwZWRBcnJheU1ldGhvZDthKCJpbmNsdWRlcyIsKGZ1bmN0aW9uKHQpe3JldHVybiBpKG8odGhpcyksdCxhcmd1bWVudHMubGVuZ3RoPjE/YXJndW1lbnRzWzFdOnZvaWQgMCl9KSl9LGQwYWY6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtuKCJiM2UyIil9LGQwYjE6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCI4YmRiIiksaT1uKCJiYjgwIiksbz1uKCIxMWJmIiksYT1uKCIxYzA2Iikscz1uKCIzMzhjIiksYz1uKCJkNmIxIikuZix1PW4oIjgwYmIiKSxsPW4oIjg0NDkiKSxmPW4oIjFlYTIiKSxkPW4oImQ3YjQiKSxoPW4oImMyMzgiKSxwPSExLHY9ZCgibWV0YSIpLGc9MCxtPWZ1bmN0aW9uKHQpe2ModCx2LHt2YWx1ZTp7b2JqZWN0SUQ6Ik8iK2crKyx3ZWFrRGF0YTp7fX19KX0sYj10LmV4cG9ydHM9e2VuYWJsZTpmdW5jdGlvbigpe2IuZW5hYmxlPWZ1bmN0aW9uKCl7fSxwPSEwO3ZhciB0PXUuZixlPWkoW10uc3BsaWNlKSxuPXt9O25bdl09MSx0KG4pLmxlbmd0aCYmKHUuZj1mdW5jdGlvbihuKXtmb3IodmFyIHI9dChuKSxpPTAsbz1yLmxlbmd0aDtpPG87aSsrKWlmKHJbaV09PT12KXtlKHIsaSwxKTticmVha31yZXR1cm4gcn0scih7dGFyZ2V0OiJPYmplY3QiLHN0YXQ6ITAsZm9yY2VkOiEwfSx7Z2V0T3duUHJvcGVydHlOYW1lczpsLmZ9KSl9LGZhc3RLZXk6ZnVuY3Rpb24odCxlKXtpZighYSh0KSlyZXR1cm4ic3ltYm9sIj09dHlwZW9mIHQ/dDooInN0cmluZyI9PXR5cGVvZiB0PyJTIjoiUCIpK3Q7aWYoIXModCx2KSl7aWYoIWYodCkpcmV0dXJuIkYiO2lmKCFlKXJldHVybiJFIjttKHQpfXJldHVybiB0W3ZdLm9iamVjdElEfSxnZXRXZWFrRGF0YTpmdW5jdGlvbih0LGUpe2lmKCFzKHQsdikpe2lmKCFmKHQpKXJldHVybiEwO2lmKCFlKXJldHVybiExO20odCl9cmV0dXJuIHRbdl0ud2Vha0RhdGF9LG9uRnJlZXplOmZ1bmN0aW9uKHQpe3JldHVybiBoJiZwJiZmKHQpJiYhcyh0LHYpJiZtKHQpLHR9fTtvW3ZdPSEwfSxkMTBhOmZ1bmN0aW9uKHQsZSxuKXt2YXIgcj1uKCIxYWQ3IiksaT1GdW5jdGlvbi5wcm90b3R5cGUsbz1pLmNhbGwsYT1yJiZpLmJpbmQuYmluZChvLG8pO3QuZXhwb3J0cz1yP2E6ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIG8uYXBwbHkodCxhcmd1bWVudHMpfX19LGQxOTE6ZnVuY3Rpb24odCxlLG4pe3ZhciByPW4oIjFhZTMiKSxpPVN0cmluZyxvPVR5cGVFcnJvcjt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7aWYocih0KSlyZXR1cm4gdDt0aHJvdyBvKGkodCkrIiBpcyBub3QgYW4gb2JqZWN0Iil9fSxkMWE4OmZ1bmN0aW9uKHQsZSxuKXt2YXIgcj1uKCIxZmFhIiksaT1uKCI0MTViIiksbz1uKCI5MmIzIik7dC5leHBvcnRzPXI/ZnVuY3Rpb24odCxlLG4pe3JldHVybiBpLmYodCxlLG8oMSxuKSl9OmZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gdFtlXT1uLHR9fSxkM2I0OmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7KGZ1bmN0aW9uKHQpe24oIjZhNTQiKTt2YXIgcj1uKCJmNWJkIikuZGVmYXVsdDtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksZS5MT0NBTEVfWkhfSEFOVD1lLkxPQ0FMRV9aSF9IQU5TPWUuTE9DQUxFX0ZSPWUuTE9DQUxFX0VTPWUuTE9DQUxFX0VOPWUuSTE4bj1lLkZvcm1hdHRlcj12b2lkIDAsZS5jb21waWxlSTE4bkpzb25TdHI9ZnVuY3Rpb24odCxlKXt2YXIgbj1lLmxvY2FsZSxyPWUubG9jYWxlcyxpPWUuZGVsaW1pdGVycztpZighayh0LGkpKXJldHVybiB0O3h8fCh4PW5ldyBsKTt2YXIgbz1bXTtPYmplY3Qua2V5cyhyKS5mb3JFYWNoKChmdW5jdGlvbih0KXt0IT09biYmby5wdXNoKHtsb2NhbGU6dCx2YWx1ZXM6clt0XX0pfSkpLG8udW5zaGlmdCh7bG9jYWxlOm4sdmFsdWVzOnJbbl19KTt0cnl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KE8oSlNPTi5wYXJzZSh0KSxvLGkpLG51bGwsMil9Y2F0Y2goYSl7fXJldHVybiB0fSxlLmhhc0kxOG5Kc29uPWZ1bmN0aW9uIHQoZSxuKXt4fHwoeD1uZXcgbCk7cmV0dXJuIFQoZSwoZnVuY3Rpb24oZSxyKXt2YXIgaT1lW3JdO3JldHVybiBTKGkpPyEhayhpLG4pfHx2b2lkIDA6dChpLG4pfSkpfSxlLmluaXRWdWVJMThuPWZ1bmN0aW9uKHQpe3ZhciBlPWFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXTp7fSxuPWFyZ3VtZW50cy5sZW5ndGg+Mj9hcmd1bWVudHNbMl06dm9pZCAwLHI9YXJndW1lbnRzLmxlbmd0aD4zP2FyZ3VtZW50c1szXTp2b2lkIDA7aWYoInN0cmluZyIhPT10eXBlb2YgdCl7dmFyIGk9W2UsdF07dD1pWzBdLGU9aVsxXX0ic3RyaW5nIiE9PXR5cGVvZiB0JiYodD13KCkpOyJzdHJpbmciIT09dHlwZW9mIG4mJihuPSJ1bmRlZmluZWQiIT09dHlwZW9mIF9fdW5pQ29uZmlnJiZfX3VuaUNvbmZpZy5mYWxsYmFja0xvY2FsZXx8ImVuIik7dmFyIG89bmV3IHkoe2xvY2FsZTp0LGZhbGxiYWNrTG9jYWxlOm4sbWVzc2FnZXM6ZSx3YXRjaGVyOnJ9KSxhPWZ1bmN0aW9uKHQsZSl7aWYoImZ1bmN0aW9uIiE9PXR5cGVvZiBnZXRBcHApYT1mdW5jdGlvbih0LGUpe3JldHVybiBvLnQodCxlKX07ZWxzZXt2YXIgbj0hMTthPWZ1bmN0aW9uKHQsZSl7dmFyIHI9Z2V0QXBwKCkuJHZtO3JldHVybiByJiYoci4kbG9jYWxlLG58fChuPSEwLF8ocixvKSkpLG8udCh0LGUpfX1yZXR1cm4gYSh0LGUpfTtyZXR1cm57aTE4bjpvLGY6ZnVuY3Rpb24odCxlLG4pe3JldHVybiBvLmYodCxlLG4pfSx0OmZ1bmN0aW9uKHQsZSl7cmV0dXJuIGEodCxlKX0sYWRkOmZ1bmN0aW9uKHQsZSl7dmFyIG49IShhcmd1bWVudHMubGVuZ3RoPjImJnZvaWQgMCE9PWFyZ3VtZW50c1syXSl8fGFyZ3VtZW50c1syXTtyZXR1cm4gby5hZGQodCxlLG4pfSx3YXRjaDpmdW5jdGlvbih0KXtyZXR1cm4gby53YXRjaExvY2FsZSh0KX0sZ2V0TG9jYWxlOmZ1bmN0aW9uKCl7cmV0dXJuIG8uZ2V0TG9jYWxlKCl9LHNldExvY2FsZTpmdW5jdGlvbih0KXtyZXR1cm4gby5zZXRMb2NhbGUodCl9fX0sZS5pc0kxOG5TdHI9ayxlLmlzU3RyaW5nPXZvaWQgMCxlLm5vcm1hbGl6ZUxvY2FsZT1iLGUucGFyc2VJMThuSnNvbj1mdW5jdGlvbiB0KGUsbixyKXt4fHwoeD1uZXcgbCk7cmV0dXJuIFQoZSwoZnVuY3Rpb24oZSxpKXt2YXIgbz1lW2ldO1Mobyk/ayhvLHIpJiYoZVtpXT1DKG8sbixyKSk6dChvLG4scil9KSksZX0sZS5yZXNvbHZlTG9jYWxlPWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gZT8oZT1iKGUpfHxlLGZ1bmN0aW9uKHQpe3ZhciBlPVtdLG49dC5zcGxpdCgiLSIpO3doaWxlKG4ubGVuZ3RoKWUucHVzaChuLmpvaW4oIi0iKSksbi5wb3AoKTtyZXR1cm4gZX0oZSkuZmluZCgoZnVuY3Rpb24oZSl7cmV0dXJuIHQuaW5kZXhPZihlKT4tMX0pKSk6ZX19LG4oImFhOWMiKSxuKCI1YzQ3IiksbigiMDUwNiIpLG4oImU5NjYiKSxuKCJjMjIzIiksbigiYWE3NyIpLG4oImJmMGYiKSxuKCI1ZWYyIiksbigiYTFjMSIpLG4oIjBjMjYiKSxuKCJkYzhhIiksbigiMjc5NyIpLG4oImRkMmIiKSxuKCIzZWZkIiksbigiZDRiNSIpLG4oImRlNmMiKTt2YXIgaT1yKG4oIjVkZTYiKSksbz1yKG4oIjgwYjEiKSksYT1yKG4oImVmZTUiKSkscz1yKG4oImZjZjMiKSksYz1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbCE9PXQmJiJvYmplY3QiPT09KDAscy5kZWZhdWx0KSh0KX0sdT1bInsiLCJ9Il0sbD1mdW5jdGlvbigpe2Z1bmN0aW9uIHQoKXsoMCxvLmRlZmF1bHQpKHRoaXMsdCksdGhpcy5fY2FjaGVzPU9iamVjdC5jcmVhdGUobnVsbCl9cmV0dXJuKDAsYS5kZWZhdWx0KSh0LFt7a2V5OiJpbnRlcnBvbGF0ZSIsdmFsdWU6ZnVuY3Rpb24odCxlKXt2YXIgbj1hcmd1bWVudHMubGVuZ3RoPjImJnZvaWQgMCE9PWFyZ3VtZW50c1syXT9hcmd1bWVudHNbMl06dTtpZighZSlyZXR1cm5bdF07dmFyIHI9dGhpcy5fY2FjaGVzW3RdO3JldHVybiByfHwocj1oKHQsbiksdGhpcy5fY2FjaGVzW3RdPXIpLHAocixlKX19XSksdH0oKTtlLkZvcm1hdHRlcj1sO3ZhciBmPS9eKD86XGQpKy8sZD0vXig/Olx3KSsvO2Z1bmN0aW9uIGgodCxlKXt2YXIgbj0oMCxpLmRlZmF1bHQpKGUsMikscj1uWzBdLG89blsxXSxhPVtdLHM9MCxjPSIiO3doaWxlKHM8dC5sZW5ndGgpe3ZhciB1PXRbcysrXTtpZih1PT09cil7YyYmYS5wdXNoKHt0eXBlOiJ0ZXh0Iix2YWx1ZTpjfSksYz0iIjt2YXIgbD0iIjt1PXRbcysrXTt3aGlsZSh2b2lkIDAhPT11JiZ1IT09bylsKz11LHU9dFtzKytdO3ZhciBoPXU9PT1vLHA9Zi50ZXN0KGwpPyJsaXN0IjpoJiZkLnRlc3QobCk/Im5hbWVkIjoidW5rbm93biI7YS5wdXNoKHt2YWx1ZTpsLHR5cGU6cH0pfWVsc2UgYys9dX1yZXR1cm4gYyYmYS5wdXNoKHt0eXBlOiJ0ZXh0Iix2YWx1ZTpjfSksYX1mdW5jdGlvbiBwKHQsZSl7dmFyIG49W10scj0wLGk9QXJyYXkuaXNBcnJheShlKT8ibGlzdCI6YyhlKT8ibmFtZWQiOiJ1bmtub3duIjtpZigidW5rbm93biI9PT1pKXJldHVybiBuO3doaWxlKHI8dC5sZW5ndGgpe3ZhciBvPXRbcl07c3dpdGNoKG8udHlwZSl7Y2FzZSJ0ZXh0IjpuLnB1c2goby52YWx1ZSk7YnJlYWs7Y2FzZSJsaXN0IjpuLnB1c2goZVtwYXJzZUludChvLnZhbHVlLDEwKV0pO2JyZWFrO2Nhc2UibmFtZWQiOiJuYW1lZCI9PT1pJiZuLnB1c2goZVtvLnZhbHVlXSk7YnJlYWs7Y2FzZSJ1bmtub3duIjowO2JyZWFrfXIrK31yZXR1cm4gbn1lLkxPQ0FMRV9aSF9IQU5TPSJ6aC1IYW5zIjtlLkxPQ0FMRV9aSF9IQU5UPSJ6aC1IYW50IjtlLkxPQ0FMRV9FTj0iZW4iO2UuTE9DQUxFX0ZSPSJmciI7ZS5MT0NBTEVfRVM9ImVzIjt2YXIgdj1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LGc9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdi5jYWxsKHQsZSl9LG09bmV3IGw7ZnVuY3Rpb24gYih0LGUpe2lmKHQpe2lmKHQ9dC50cmltKCkucmVwbGFjZSgvXy9nLCItIiksZSYmZVt0XSlyZXR1cm4gdDtpZih0PXQudG9Mb3dlckNhc2UoKSwiY2hpbmVzZSI9PT10KXJldHVybiJ6aC1IYW5zIjtpZigwPT09dC5pbmRleE9mKCJ6aCIpKXJldHVybiB0LmluZGV4T2YoIi1oYW5zIik+LTE/InpoLUhhbnMiOnQuaW5kZXhPZigiLWhhbnQiKT4tMXx8ZnVuY3Rpb24odCxlKXtyZXR1cm4hIWUuZmluZCgoZnVuY3Rpb24oZSl7cmV0dXJuLTEhPT10LmluZGV4T2YoZSl9KSl9KHQsWyItdHciLCItaGsiLCItbW8iLCItY2h0Il0pPyJ6aC1IYW50IjoiemgtSGFucyI7dmFyIG49WyJlbiIsImZyIiwiZXMiXTtlJiZPYmplY3Qua2V5cyhlKS5sZW5ndGg+MCYmKG49T2JqZWN0LmtleXMoZSkpO3ZhciByPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGUuZmluZCgoZnVuY3Rpb24oZSl7cmV0dXJuIDA9PT10LmluZGV4T2YoZSl9KSl9KHQsbik7cmV0dXJuIHJ8fHZvaWQgMH19dmFyIHk9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KGUpe3ZhciBuPWUubG9jYWxlLHI9ZS5mYWxsYmFja0xvY2FsZSxpPWUubWVzc2FnZXMsYT1lLndhdGNoZXIscz1lLmZvcm1hdGVyOygwLG8uZGVmYXVsdCkodGhpcyx0KSx0aGlzLmxvY2FsZT0iZW4iLHRoaXMuZmFsbGJhY2tMb2NhbGU9ImVuIix0aGlzLm1lc3NhZ2U9e30sdGhpcy5tZXNzYWdlcz17fSx0aGlzLndhdGNoZXJzPVtdLHImJih0aGlzLmZhbGxiYWNrTG9jYWxlPXIpLHRoaXMuZm9ybWF0ZXI9c3x8bSx0aGlzLm1lc3NhZ2VzPWl8fHt9LHRoaXMuc2V0TG9jYWxlKG58fCJlbiIpLGEmJnRoaXMud2F0Y2hMb2NhbGUoYSl9cmV0dXJuKDAsYS5kZWZhdWx0KSh0LFt7a2V5OiJzZXRMb2NhbGUiLHZhbHVlOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMsbj10aGlzLmxvY2FsZTt0aGlzLmxvY2FsZT1iKHQsdGhpcy5tZXNzYWdlcyl8fHRoaXMuZmFsbGJhY2tMb2NhbGUsdGhpcy5tZXNzYWdlc1t0aGlzLmxvY2FsZV18fCh0aGlzLm1lc3NhZ2VzW3RoaXMubG9jYWxlXT17fSksdGhpcy5tZXNzYWdlPXRoaXMubWVzc2FnZXNbdGhpcy5sb2NhbGVdLG4hPT10aGlzLmxvY2FsZSYmdGhpcy53YXRjaGVycy5mb3JFYWNoKChmdW5jdGlvbih0KXt0KGUubG9jYWxlLG4pfSkpfX0se2tleToiZ2V0TG9jYWxlIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmxvY2FsZX19LHtrZXk6IndhdGNoTG9jYWxlIix2YWx1ZTpmdW5jdGlvbih0KXt2YXIgZT10aGlzLG49dGhpcy53YXRjaGVycy5wdXNoKHQpLTE7cmV0dXJuIGZ1bmN0aW9uKCl7ZS53YXRjaGVycy5zcGxpY2UobiwxKX19fSx7a2V5OiJhZGQiLHZhbHVlOmZ1bmN0aW9uKHQsZSl7dmFyIG49IShhcmd1bWVudHMubGVuZ3RoPjImJnZvaWQgMCE9PWFyZ3VtZW50c1syXSl8fGFyZ3VtZW50c1syXSxyPXRoaXMubWVzc2FnZXNbdF07cj9uP09iamVjdC5hc3NpZ24ocixlKTpPYmplY3Qua2V5cyhlKS5mb3JFYWNoKChmdW5jdGlvbih0KXtnKHIsdCl8fChyW3RdPWVbdF0pfSkpOnRoaXMubWVzc2FnZXNbdF09ZX19LHtrZXk6ImYiLHZhbHVlOmZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gdGhpcy5mb3JtYXRlci5pbnRlcnBvbGF0ZSh0LGUsbikuam9pbigiIil9fSx7a2V5OiJ0Iix2YWx1ZTpmdW5jdGlvbih0LGUsbil7dmFyIHI9dGhpcy5tZXNzYWdlO3JldHVybiJzdHJpbmciPT09dHlwZW9mIGU/KGU9YihlLHRoaXMubWVzc2FnZXMpLGUmJihyPXRoaXMubWVzc2FnZXNbZV0pKTpuPWUsZyhyLHQpP3RoaXMuZm9ybWF0ZXIuaW50ZXJwb2xhdGUoclt0XSxuKS5qb2luKCIiKTooY29uc29sZS53YXJuKCJDYW5ub3QgdHJhbnNsYXRlIHRoZSB2YWx1ZSBvZiBrZXlwYXRoICIuY29uY2F0KHQsIi4gVXNlIHRoZSB2YWx1ZSBvZiBrZXlwYXRoIGFzIGRlZmF1bHQuIikpLHQpfX1dKSx0fSgpO2Z1bmN0aW9uIF8odCxlKXt0LiR3YXRjaExvY2FsZT90LiR3YXRjaExvY2FsZSgoZnVuY3Rpb24odCl7ZS5zZXRMb2NhbGUodCl9KSk6dC4kd2F0Y2goKGZ1bmN0aW9uKCl7cmV0dXJuIHQuJGxvY2FsZX0pLChmdW5jdGlvbih0KXtlLnNldExvY2FsZSh0KX0pKX1mdW5jdGlvbiB3KCl7cmV0dXJuInVuZGVmaW5lZCIhPT10eXBlb2YgdW5pJiZ1bmkuZ2V0TG9jYWxlP3VuaS5nZXRMb2NhbGUoKToidW5kZWZpbmVkIiE9PXR5cGVvZiB0JiZ0LmdldExvY2FsZT90LmdldExvY2FsZSgpOiJlbiJ9ZS5JMThuPXk7dmFyIHgsUz1mdW5jdGlvbih0KXtyZXR1cm4ic3RyaW5nIj09PXR5cGVvZiB0fTtmdW5jdGlvbiBrKHQsZSl7cmV0dXJuIHQuaW5kZXhPZihlWzBdKT4tMX1mdW5jdGlvbiBDKHQsZSxuKXtyZXR1cm4geC5pbnRlcnBvbGF0ZSh0LGUsbikuam9pbigiIil9ZnVuY3Rpb24gTyh0LGUsbil7cmV0dXJuIFQodCwoZnVuY3Rpb24odCxyKXsoZnVuY3Rpb24odCxlLG4scil7dmFyIGk9dFtlXTtpZihTKGkpKXtpZihrKGkscikmJih0W2VdPUMoaSxuWzBdLnZhbHVlcyxyKSxuLmxlbmd0aD4xKSl7dmFyIG89dFtlKyJMb2NhbGVzIl09e307bi5mb3JFYWNoKChmdW5jdGlvbih0KXtvW3QubG9jYWxlXT1DKGksdC52YWx1ZXMscil9KSl9fWVsc2UgTyhpLG4scil9KSh0LHIsZSxuKX0pKSx0fWZ1bmN0aW9uIFQodCxlKXtpZihBcnJheS5pc0FycmF5KHQpKXtmb3IodmFyIG49MDtuPHQubGVuZ3RoO24rKylpZihlKHQsbikpcmV0dXJuITB9ZWxzZSBpZihjKHQpKWZvcih2YXIgciBpbiB0KWlmKGUodCxyKSlyZXR1cm4hMDtyZXR1cm4hMX1lLmlzU3RyaW5nPVN9KS5jYWxsKHRoaXMsbigiMGVlNCIpKX0sZDQ1NjpmdW5jdGlvbih0LGUsbil7dmFyIHI9bigiMjlkNSIpLGk9cigidG9TdHJpbmdUYWciKSxvPXt9O29baV09InoiLHQuZXhwb3J0cz0iW29iamVjdCB6XSI9PT1TdHJpbmcobyl9LGQ0NTk6ZnVuY3Rpb24odCxlKXt0LmV4cG9ydHM9e319LGQ0N2U6ZnVuY3Rpb24odCxlLG4pe3ZhciByPW4oIjI5ZDUiKSxpPXIoIml0ZXJhdG9yIiksbz0hMTt0cnl7dmFyIGE9MCxzPXtuZXh0OmZ1bmN0aW9uKCl7cmV0dXJue2RvbmU6ISFhKyt9fSxyZXR1cm46ZnVuY3Rpb24oKXtvPSEwfX07c1tpXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSxBcnJheS5mcm9tKHMsKGZ1bmN0aW9uKCl7dGhyb3cgMn0pKX1jYXRjaChjKXt9dC5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7aWYoIWUmJiFvKXJldHVybiExO3ZhciBuPSExO3RyeXt2YXIgcj17fTtyW2ldPWZ1bmN0aW9uKCl7cmV0dXJue25leHQ6ZnVuY3Rpb24oKXtyZXR1cm57ZG9uZTpuPSEwfX19fSx0KHIpfWNhdGNoKGMpe31yZXR1cm4gbn19LGQ0YjU6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCI4YmRiIiksaT1uKCI2YWE2Iiksbz1uKCI5ZjllIiksYT1uKCI3MWU5Iikscz1uKCJiYjgwIiksYz1uKCJhZjllIiksdT1uKCI0NzRmIiksbD1uKCJkZGQzIiksZj1uKCIzN2FkIiksZD1uKCI1ZDU2IiksaD1uKCJhZjcxIikscD1TdHJpbmcsdj1pKCJKU09OIiwic3RyaW5naWZ5IiksZz1zKC8uLy5leGVjKSxtPXMoIiIuY2hhckF0KSxiPXMoIiIuY2hhckNvZGVBdCkseT1zKCIiLnJlcGxhY2UpLF89cygxLi50b1N0cmluZyksdz0vW1x1RDgwMC1cdURGRkZdL2cseD0vXltcdUQ4MDAtXHVEQkZGXSQvLFM9L15bXHVEQzAwLVx1REZGRl0kLyxrPSFofHxjKChmdW5jdGlvbigpe3ZhciB0PWkoIlN5bWJvbCIpKCJzdHJpbmdpZnkgZGV0ZWN0aW9uIik7cmV0dXJuIltudWxsXSIhPT12KFt0XSl8fCJ7fSIhPT12KHthOnR9KXx8Int9IiE9PXYoT2JqZWN0KHQpKX0pKSxDPWMoKGZ1bmN0aW9uKCl7cmV0dXJuJyJcXHVkZjA2XFx1ZDgzNCInIT09digiXHVkZjA2XHVkODM0Iil8fCciXFx1ZGVhZCInIT09digiXHVkZWFkIil9KSksTz1mdW5jdGlvbih0LGUpe3ZhciBuPWYoYXJndW1lbnRzKSxyPWQoZSk7aWYodShyKXx8dm9pZCAwIT09dCYmIWwodCkpcmV0dXJuIG5bMV09ZnVuY3Rpb24odCxlKXtpZih1KHIpJiYoZT1hKHIsdGhpcyxwKHQpLGUpKSwhbChlKSlyZXR1cm4gZX0sbyh2LG51bGwsbil9LFQ9ZnVuY3Rpb24odCxlLG4pe3ZhciByPW0obixlLTEpLGk9bShuLGUrMSk7cmV0dXJuIGcoeCx0KSYmIWcoUyxpKXx8ZyhTLHQpJiYhZyh4LHIpPyJcXHUiK18oYih0LDApLDE2KTp0fTt2JiZyKHt0YXJnZXQ6IkpTT04iLHN0YXQ6ITAsYXJpdHk6Myxmb3JjZWQ6a3x8Q30se3N0cmluZ2lmeTpmdW5jdGlvbih0LGUsbil7dmFyIHI9Zihhcmd1bWVudHMpLGk9byhrP086dixudWxsLHIpO3JldHVybiBDJiYic3RyaW5nIj09dHlwZW9mIGk/eShpLHcsVCk6aX19KX0sZDVjNjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjhiZGIiKSxpPW4oIjcyNTciKSxvPW4oIjZhYTYiKSxhPW4oImFmOWUiKSxzPW4oImUzN2MiKSxjPW4oIjBiNWEiKSx1PW4oImQ2YjEiKS5mLGw9bigiODFhOSIpLGY9bigiZTRjYSIpLGQ9bigiMzM4YyIpLGg9bigiYjcyMCIpLHA9bigiZTdlMyIpLHY9bigiYjY2NiIpLGc9bigiZTdkYSIpLG09bigiZTZhMiIpLGI9bigiN2U4NyIpLHk9bigiMjM1YyIpLF89bigiYWI0YSIpLHc9bigiYTczNCIpLHg9bygiRXJyb3IiKSxTPW8oIkRPTUV4Y2VwdGlvbiIpfHxmdW5jdGlvbigpe3RyeXt2YXIgdD1vKCJNZXNzYWdlQ2hhbm5lbCIpfHxpKCJ3b3JrZXJfdGhyZWFkcyIpLk1lc3NhZ2VDaGFubmVsOyhuZXcgdCkucG9ydDEucG9zdE1lc3NhZ2UobmV3IFdlYWtNYXApfWNhdGNoKGUpe2lmKCJEQVRBX0NMT05FX0VSUiI9PT1lLm5hbWUmJjI1PT09ZS5jb2RlKXJldHVybiBlLmNvbnN0cnVjdG9yfX0oKSxrPVMmJlMucHJvdG90eXBlLEM9eC5wcm90b3R5cGUsTz15LnNldCxUPXkuZ2V0dGVyRm9yKCJET01FeGNlcHRpb24iKSxFPSJzdGFjayJpbiBuZXcgeCgiRE9NRXhjZXB0aW9uIiksQT1mdW5jdGlvbih0KXtyZXR1cm4gZChtLHQpJiZtW3RdLm0/bVt0XS5jOjB9LGo9ZnVuY3Rpb24oKXtoKHRoaXMsTSk7dmFyIHQ9YXJndW1lbnRzLmxlbmd0aCxlPWcodDwxP3ZvaWQgMDphcmd1bWVudHNbMF0pLG49Zyh0PDI/dm9pZCAwOmFyZ3VtZW50c1sxXSwiRXJyb3IiKSxyPUEobik7aWYoTyh0aGlzLHt0eXBlOiJET01FeGNlcHRpb24iLG5hbWU6bixtZXNzYWdlOmUsY29kZTpyfSksX3x8KHRoaXMubmFtZT1uLHRoaXMubWVzc2FnZT1lLHRoaXMuY29kZT1yKSxFKXt2YXIgaT1uZXcgeChlKTtpLm5hbWU9IkRPTUV4Y2VwdGlvbiIsdSh0aGlzLCJzdGFjayIsYygxLGIoaS5zdGFjaywxKSkpfX0sTT1qLnByb3RvdHlwZT1zKEMpLEk9ZnVuY3Rpb24odCl7cmV0dXJue2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLGdldDp0fX0sUD1mdW5jdGlvbih0KXtyZXR1cm4gSSgoZnVuY3Rpb24oKXtyZXR1cm4gVCh0aGlzKVt0XX0pKX07XyYmKGYoTSwiY29kZSIsUCgiY29kZSIpKSxmKE0sIm1lc3NhZ2UiLFAoIm1lc3NhZ2UiKSksZihNLCJuYW1lIixQKCJuYW1lIikpKSx1KE0sImNvbnN0cnVjdG9yIixjKDEsaikpO3ZhciAkPWEoKGZ1bmN0aW9uKCl7cmV0dXJuIShuZXcgUyBpbnN0YW5jZW9mIHgpfSkpLEw9JHx8YSgoZnVuY3Rpb24oKXtyZXR1cm4gQy50b1N0cmluZyE9PXZ8fCIyOiAxIiE9PVN0cmluZyhuZXcgUygxLDIpKX0pKSxSPSR8fGEoKGZ1bmN0aW9uKCl7cmV0dXJuIDI1IT09bmV3IFMoMSwiRGF0YUNsb25lRXJyb3IiKS5jb2RlfSkpLE49JHx8MjUhPT1TWyJEQVRBX0NMT05FX0VSUiJdfHwyNSE9PWtbIkRBVEFfQ0xPTkVfRVJSIl0sRD13P0x8fFJ8fE46JDtyKHtnbG9iYWw6ITAsY29uc3RydWN0b3I6ITAsZm9yY2VkOkR9LHtET01FeGNlcHRpb246RD9qOlN9KTt2YXIgQj1vKCJET01FeGNlcHRpb24iKSxGPUIucHJvdG90eXBlO2Zvcih2YXIgeiBpbiBMJiYod3x8Uz09PUIpJiZsKEYsInRvU3RyaW5nIix2KSxSJiZfJiZTPT09QiYmZihGLCJjb2RlIixJKChmdW5jdGlvbigpe3JldHVybiBBKHAodGhpcykubmFtZSl9KSkpLG0paWYoZChtLHopKXt2YXIgVz1tW3pdLEg9Vy5zLFU9Yyg2LFcuYyk7ZChCLEgpfHx1KEIsSCxVKSxkKEYsSCl8fHUoRixILFUpfX0sZDVjYTpmdW5jdGlvbih0LGUsbil7dmFyIHI9bigiNDgyNSIpLGk9bigiZTE1OCIpLG89VHlwZUVycm9yO3QuZXhwb3J0cz1mdW5jdGlvbih0KXtpZihyKHQpKXJldHVybiB0O3Rocm93IG8oaSh0KSsiIGlzIG5vdCBhIGNvbnN0cnVjdG9yIil9fSxkNjNhOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiYmI4MCIpLGk9bigiYWY5ZSIpLG89bigiNDc0ZiIpLGE9bigiMzM4YyIpLHM9bigiYWI0YSIpLGM9bigiODk0NSIpLkNPTkZJR1VSQUJMRSx1PW4oImNhOTkiKSxsPW4oIjIzNWMiKSxmPWwuZW5mb3JjZSxkPWwuZ2V0LGg9U3RyaW5nLHA9T2JqZWN0LmRlZmluZVByb3BlcnR5LHY9cigiIi5zbGljZSksZz1yKCIiLnJlcGxhY2UpLG09cihbXS5qb2luKSxiPXMmJiFpKChmdW5jdGlvbigpe3JldHVybiA4IT09cCgoZnVuY3Rpb24oKXt9KSwibGVuZ3RoIix7dmFsdWU6OH0pLmxlbmd0aH0pKSx5PVN0cmluZyhTdHJpbmcpLnNwbGl0KCJTdHJpbmciKSxfPXQuZXhwb3J0cz1mdW5jdGlvbih0LGUsbil7IlN5bWJvbCgiPT09dihoKGUpLDAsNykmJihlPSJbIitnKGgoZSksL15TeW1ib2xcKChbXildKilcKS4qJC8sIiQxIikrIl0iKSxuJiZuLmdldHRlciYmKGU9ImdldCAiK2UpLG4mJm4uc2V0dGVyJiYoZT0ic2V0ICIrZSksKCFhKHQsIm5hbWUiKXx8YyYmdC5uYW1lIT09ZSkmJihzP3AodCwibmFtZSIse3ZhbHVlOmUsY29uZmlndXJhYmxlOiEwfSk6dC5uYW1lPWUpLGImJm4mJmEobiwiYXJpdHkiKSYmdC5sZW5ndGghPT1uLmFyaXR5JiZwKHQsImxlbmd0aCIse3ZhbHVlOm4uYXJpdHl9KTt0cnl7biYmYShuLCJjb25zdHJ1Y3RvciIpJiZuLmNvbnN0cnVjdG9yP3MmJnAodCwicHJvdG90eXBlIix7d3JpdGFibGU6ITF9KTp0LnByb3RvdHlwZSYmKHQucHJvdG90eXBlPXZvaWQgMCl9Y2F0Y2goaSl7fXZhciByPWYodCk7cmV0dXJuIGEociwic291cmNlIil8fChyLnNvdXJjZT1tKHksInN0cmluZyI9PXR5cGVvZiBlP2U6IiIpKSx0fTtGdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmc9XygoZnVuY3Rpb24oKXtyZXR1cm4gbyh0aGlzKSYmZCh0aGlzKS5zb3VyY2V8fHUodGhpcyl9KSwidG9TdHJpbmciKX0sZDY3YzpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjcxZTkiKSxpPW4oIjc5OTIiKSxvPW4oImU3ZTMiKSxhPW4oIjUyZGYiKSxzPW4oIjUxMTIiKSxjPVR5cGVFcnJvcjt0LmV4cG9ydHM9ZnVuY3Rpb24odCxlKXt2YXIgbj1hcmd1bWVudHMubGVuZ3RoPDI/cyh0KTplO2lmKGkobikpcmV0dXJuIG8ocihuLHQpKTt0aHJvdyBuZXcgYyhhKHQpKyIgaXMgbm90IGl0ZXJhYmxlIil9fSxkNmIxOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiYWI0YSIpLGk9bigiMmJhNyIpLG89bigiZmVjMyIpLGE9bigiZTdlMyIpLHM9bigiZjllZCIpLGM9VHlwZUVycm9yLHU9T2JqZWN0LmRlZmluZVByb3BlcnR5LGw9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjtlLmY9cj9vP2Z1bmN0aW9uKHQsZSxuKXtpZihhKHQpLGU9cyhlKSxhKG4pLCJmdW5jdGlvbiI9PT10eXBlb2YgdCYmInByb3RvdHlwZSI9PT1lJiYidmFsdWUiaW4gbiYmIndyaXRhYmxlImluIG4mJiFuWyJ3cml0YWJsZSJdKXt2YXIgcj1sKHQsZSk7ciYmclsid3JpdGFibGUiXSYmKHRbZV09bi52YWx1ZSxuPXtjb25maWd1cmFibGU6ImNvbmZpZ3VyYWJsZSJpbiBuP25bImNvbmZpZ3VyYWJsZSJdOnJbImNvbmZpZ3VyYWJsZSJdLGVudW1lcmFibGU6ImVudW1lcmFibGUiaW4gbj9uWyJlbnVtZXJhYmxlIl06clsiZW51bWVyYWJsZSJdLHdyaXRhYmxlOiExfSl9cmV0dXJuIHUodCxlLG4pfTp1OmZ1bmN0aW9uKHQsZSxuKXtpZihhKHQpLGU9cyhlKSxhKG4pLGkpdHJ5e3JldHVybiB1KHQsZSxuKX1jYXRjaChyKXt9aWYoImdldCJpbiBufHwic2V0ImluIG4pdGhyb3cgbmV3IGMoIkFjY2Vzc29ycyBub3Qgc3VwcG9ydGVkIik7cmV0dXJuInZhbHVlImluIG4mJih0W2VdPW4udmFsdWUpLHR9fSxkNzk4OmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiN2RkYiIpLGk9bigiYmI4MCIpLG89ci5hVHlwZWRBcnJheSxhPXIuZXhwb3J0VHlwZWRBcnJheU1ldGhvZCxzPWkoW10uam9pbik7YSgiam9pbiIsKGZ1bmN0aW9uKHQpe3JldHVybiBzKG8odGhpcyksdCl9KSl9LGQ3YjQ6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCJiYjgwIiksaT0wLG89TWF0aC5yYW5kb20oKSxhPXIoMS4udG9TdHJpbmcpO3QuZXhwb3J0cz1mdW5jdGlvbih0KXtyZXR1cm4iU3ltYm9sKCIrKHZvaWQgMD09PXQ/IiI6dCkrIilfIithKCsraStvLDM2KX19LGQ3Yjg6ZnVuY3Rpb24odCxlLG4pe3ZhciByPW4oIjFhZDciKSxpPUZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsO3QuZXhwb3J0cz1yP2kuYmluZChpKTpmdW5jdGlvbigpe3JldHVybiBpLmFwcGx5KGksYXJndW1lbnRzKX19LGQ4NzE6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCJiYjgwIiksaT1uKCJhNzRjIiksbz1uKCJkMGIxIikuZ2V0V2Vha0RhdGEsYT1uKCJiNzIwIikscz1uKCJlN2UzIiksYz1uKCIxZWI4IiksdT1uKCIxYzA2IiksbD1uKCI1MDc1IiksZj1uKCI0ZDE2IiksZD1uKCIzMzhjIiksaD1uKCIyMzVjIikscD1oLnNldCx2PWguZ2V0dGVyRm9yLGc9Zi5maW5kLG09Zi5maW5kSW5kZXgsYj1yKFtdLnNwbGljZSkseT0wLF89ZnVuY3Rpb24odCl7cmV0dXJuIHQuZnJvemVufHwodC5mcm96ZW49bmV3IHcpfSx3PWZ1bmN0aW9uKCl7dGhpcy5lbnRyaWVzPVtdfSx4PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGcodC5lbnRyaWVzLChmdW5jdGlvbih0KXtyZXR1cm4gdFswXT09PWV9KSl9O3cucHJvdG90eXBlPXtnZXQ6ZnVuY3Rpb24odCl7dmFyIGU9eCh0aGlzLHQpO2lmKGUpcmV0dXJuIGVbMV19LGhhczpmdW5jdGlvbih0KXtyZXR1cm4hIXgodGhpcyx0KX0sc2V0OmZ1bmN0aW9uKHQsZSl7dmFyIG49eCh0aGlzLHQpO24/blsxXT1lOnRoaXMuZW50cmllcy5wdXNoKFt0LGVdKX0sZGVsZXRlOmZ1bmN0aW9uKHQpe3ZhciBlPW0odGhpcy5lbnRyaWVzLChmdW5jdGlvbihlKXtyZXR1cm4gZVswXT09PXR9KSk7cmV0dXJufmUmJmIodGhpcy5lbnRyaWVzLGUsMSksISF+ZX19LHQuZXhwb3J0cz17Z2V0Q29uc3RydWN0b3I6ZnVuY3Rpb24odCxlLG4scil7dmFyIGY9dCgoZnVuY3Rpb24odCxpKXthKHQsaCkscCh0LHt0eXBlOmUsaWQ6eSsrLGZyb3plbjp2b2lkIDB9KSxjKGkpfHxsKGksdFtyXSx7dGhhdDp0LEFTX0VOVFJJRVM6bn0pfSkpLGg9Zi5wcm90b3R5cGUsZz12KGUpLG09ZnVuY3Rpb24odCxlLG4pe3ZhciByPWcodCksaT1vKHMoZSksITApO3JldHVybiEwPT09aT9fKHIpLnNldChlLG4pOmlbci5pZF09bix0fTtyZXR1cm4gaShoLHtkZWxldGU6ZnVuY3Rpb24odCl7dmFyIGU9Zyh0aGlzKTtpZighdSh0KSlyZXR1cm4hMTt2YXIgbj1vKHQpO3JldHVybiEwPT09bj9fKGUpWyJkZWxldGUiXSh0KTpuJiZkKG4sZS5pZCkmJmRlbGV0ZSBuW2UuaWRdfSxoYXM6ZnVuY3Rpb24odCl7dmFyIGU9Zyh0aGlzKTtpZighdSh0KSlyZXR1cm4hMTt2YXIgbj1vKHQpO3JldHVybiEwPT09bj9fKGUpLmhhcyh0KTpuJiZkKG4sZS5pZCl9fSksaShoLG4/e2dldDpmdW5jdGlvbih0KXt2YXIgZT1nKHRoaXMpO2lmKHUodCkpe3ZhciBuPW8odCk7cmV0dXJuITA9PT1uP18oZSkuZ2V0KHQpOm4/bltlLmlkXTp2b2lkIDB9fSxzZXQ6ZnVuY3Rpb24odCxlKXtyZXR1cm4gbSh0aGlzLHQsZSl9fTp7YWRkOmZ1bmN0aW9uKHQpe3JldHVybiBtKHRoaXMsdCwhMCl9fSksZn19fSxkODcxOTpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPXt9LnByb3BlcnR5SXNFbnVtZXJhYmxlLGk9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcixvPWkmJiFyLmNhbGwoezE6Mn0sMSk7ZS5mPW8/ZnVuY3Rpb24odCl7dmFyIGU9aSh0aGlzLHQpO3JldHVybiEhZSYmZS5lbnVtZXJhYmxlfTpyfSxkOTM3OmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiOGJkYiIpLGk9bigiYmI4MCIpLG89bigiNDk3YiIpLGE9bigiODNmYSIpLHM9bigiZjI5OCIpLGM9bigiMmU3ZiIpLHU9bigiYWY5ZSIpLGw9UmFuZ2VFcnJvcixmPVN0cmluZyxkPWlzRmluaXRlLGg9TWF0aC5hYnMscD1NYXRoLmZsb29yLHY9TWF0aC5wb3csZz1NYXRoLnJvdW5kLG09aSgxLi50b0V4cG9uZW50aWFsKSxiPWkocykseT1pKCIiLnNsaWNlKSxfPSItNi45MDAwZS0xMSI9PT1tKC02OWUtMTIsNCkmJiIxLjI1ZSswIj09PW0oMS4yNTUsMikmJiIxLjIzNWUrNCI9PT1tKDEyMzQ1LDMpJiYiM2UrMSI9PT1tKDI1LDApLHc9IV98fCFmdW5jdGlvbigpe3JldHVybiB1KChmdW5jdGlvbigpe20oMSwxLzApfSkpJiZ1KChmdW5jdGlvbigpe20oMSwtMS8wKX0pKX0oKXx8IWZ1bmN0aW9uKCl7cmV0dXJuIXUoKGZ1bmN0aW9uKCl7bSgxLzAsMS8wKSxtKE5hTiwxLzApfSkpfSgpO3Ioe3RhcmdldDoiTnVtYmVyIixwcm90bzohMCxmb3JjZWQ6d30se3RvRXhwb25lbnRpYWw6ZnVuY3Rpb24odCl7dmFyIGU9YSh0aGlzKTtpZih2b2lkIDA9PT10KXJldHVybiBtKGUpO3ZhciBuPW8odCk7aWYoIWQoZSkpcmV0dXJuIFN0cmluZyhlKTtpZihuPDB8fG4+MjApdGhyb3cgbmV3IGwoIkluY29ycmVjdCBmcmFjdGlvbiBkaWdpdHMiKTtpZihfKXJldHVybiBtKGUsbik7dmFyIHI9IiIsaT0iIixzPTAsdT0iIix3PSIiO2lmKGU8MCYmKHI9Ii0iLGU9LWUpLDA9PT1lKXM9MCxpPWIoIjAiLG4rMSk7ZWxzZXt2YXIgeD1jKGUpO3M9cCh4KTt2YXIgUz0wLGs9digxMCxzLW4pO1M9ZyhlL2spLDIqZT49KDIqUysxKSprJiYoUys9MSksUz49digxMCxuKzEpJiYoUy89MTAscys9MSksaT1mKFMpfXJldHVybiAwIT09biYmKGk9eShpLDAsMSkrIi4iK3koaSwxKSksMD09PXM/KHU9IisiLHc9IjAiKToodT1zPjA/IisiOiItIix3PWYoaChzKSkpLGkrPSJlIit1K3cscitpfX0pfSxkOTUzOmZ1bmN0aW9uKHQsZSxuKXt2YXIgcj1uKCIxZmFhIiksaT1uKCJkN2I4Iiksbz1uKCJkODcxOSIpLGE9bigiOTJiMyIpLHM9bigiZDk1YiIpLGM9bigiYjRiOCIpLHU9bigiNzdjZCIpLGw9bigiYTc5MSIpLGY9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjtlLmY9cj9mOmZ1bmN0aW9uKHQsZSl7aWYodD1zKHQpLGU9YyhlKSxsKXRyeXtyZXR1cm4gZih0LGUpfWNhdGNoKG4pe31pZih1KHQsZSkpcmV0dXJuIGEoIWkoby5mLHQsZSksdFtlXSl9fSxkOTViOmZ1bmN0aW9uKHQsZSxuKXt2YXIgcj1uKCJiMzc3IiksaT1uKCI2YWM0Iik7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiByKGkodCkpfX0sZDk3MDpmdW5jdGlvbih0LGUsbil7dmFyIHI9bigiNjZiMSIpLGk9TWF0aC5tYXgsbz1NYXRoLm1pbjt0LmV4cG9ydHM9ZnVuY3Rpb24odCxlKXt2YXIgbj1yKHQpO3JldHVybiBuPDA/aShuK2UsMCk6byhuLGUpfX0sZDlhNzpmdW5jdGlvbih0LGUsbil7dmFyIHI9bigiZGY3YiIpLGk9bigiN2FhNiIpO3QuZXhwb3J0cz0hIU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMmJiFpKChmdW5jdGlvbigpe3ZhciB0PVN5bWJvbCgpO3JldHVybiFTdHJpbmcodCl8fCEoT2JqZWN0KHQpaW5zdGFuY2VvZiBTeW1ib2wpfHwhU3ltYm9sLnNoYW0mJnImJnI8NDF9KSl9LGQ5YWY6ZnVuY3Rpb24odCxlLG4pe3ZhciByPW4oIjI5ZDUiKSxpPW4oIjg0OWQiKSxvPW4oIjQxNWIiKS5mLGE9cigidW5zY29wYWJsZXMiKSxzPUFycmF5LnByb3RvdHlwZTt2b2lkIDA9PXNbYV0mJm8ocyxhLHtjb25maWd1cmFibGU6ITAsdmFsdWU6aShudWxsKX0pLHQuZXhwb3J0cz1mdW5jdGlvbih0KXtzW2FdW3RdPSEwfX0sZGExZDpmdW5jdGlvbih0LGUpe3QuZXhwb3J0cz1bImNvbnN0cnVjdG9yIiwiaGFzT3duUHJvcGVydHkiLCJpc1Byb3RvdHlwZU9mIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJ0b0xvY2FsZVN0cmluZyIsInRvU3RyaW5nIiwidmFsdWVPZiJdfSxkYWNmOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9QXJyYXksaT1NYXRoLmFicyxvPU1hdGgucG93LGE9TWF0aC5mbG9vcixzPU1hdGgubG9nLGM9TWF0aC5MTjI7dC5leHBvcnRzPXtwYWNrOmZ1bmN0aW9uKHQsZSxuKXt2YXIgdSxsLGYsZD1yKG4pLGg9OCpuLWUtMSxwPSgxPDxoKS0xLHY9cD4+MSxnPTIzPT09ZT9vKDIsLTI0KS1vKDIsLTc3KTowLG09dDwwfHwwPT09dCYmMS90PDA/MTowLGI9MDt0PWkodCksdCE9PXR8fHQ9PT0xLzA/KGw9dCE9PXQ/MTowLHU9cCk6KHU9YShzKHQpL2MpLGY9bygyLC11KSx0KmY8MSYmKHUtLSxmKj0yKSx0Kz11K3Y+PTE/Zy9mOmcqbygyLDEtdiksdCpmPj0yJiYodSsrLGYvPTIpLHUrdj49cD8obD0wLHU9cCk6dSt2Pj0xPyhsPSh0KmYtMSkqbygyLGUpLHUrPXYpOihsPXQqbygyLHYtMSkqbygyLGUpLHU9MCkpO3doaWxlKGU+PTgpZFtiKytdPTI1NSZsLGwvPTI1NixlLT04O3U9dTw8ZXxsLGgrPWU7d2hpbGUoaD4wKWRbYisrXT0yNTUmdSx1Lz0yNTYsaC09ODtyZXR1cm4gZFstLWJdfD0xMjgqbSxkfSx1bnBhY2s6ZnVuY3Rpb24odCxlKXt2YXIgbixyPXQubGVuZ3RoLGk9OCpyLWUtMSxhPSgxPDxpKS0xLHM9YT4+MSxjPWktNyx1PXItMSxsPXRbdS0tXSxmPTEyNyZsO2w+Pj03O3doaWxlKGM+MClmPTI1NipmK3RbdS0tXSxjLT04O249ZiYoMTw8LWMpLTEsZj4+PS1jLGMrPWU7d2hpbGUoYz4wKW49MjU2Km4rdFt1LS1dLGMtPTg7aWYoMD09PWYpZj0xLXM7ZWxzZXtpZihmPT09YSlyZXR1cm4gbj9OYU46bD8tMS8wOjEvMDtuKz1vKDIsZSksZi09c31yZXR1cm4obD8tMToxKSpuKm8oMixmLWUpfX19LGRiMDQ6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCJiYjgwIiksaT1uKCJjNDM1Iiksbz1uKCI5ZTcwIiksYT1uKCJmMjk4Iikscz1uKCI4NjJjIiksYz1yKGEpLHU9cigiIi5zbGljZSksbD1NYXRoLmNlaWwsZj1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSxuLHIpe3ZhciBhLGYsZD1vKHMoZSkpLGg9aShuKSxwPWQubGVuZ3RoLHY9dm9pZCAwPT09cj8iICI6byhyKTtyZXR1cm4gaDw9cHx8IiI9PT12P2Q6KGE9aC1wLGY9Yyh2LGwoYS92Lmxlbmd0aCkpLGYubGVuZ3RoPmEmJihmPXUoZiwwLGEpKSx0P2QrZjpmK2QpfX07dC5leHBvcnRzPXtzdGFydDpmKCExKSxlbmQ6ZighMCl9fSxkYjA2OmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiODVjMSIpLGk9bigiYWRhNSIpO3QuZXhwb3J0cz0icHJvY2VzcyI9PT1pKHIucHJvY2Vzcyl9LGRiYzM6ZnVuY3Rpb24odCxlLG4pe3ZhciByPW4oIjE3N2YiKSxpPW4oImYwYjUiKSxvPW4oIjFhZDciKSxhPXIoci5iaW5kKTt0LmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gaSh0KSx2b2lkIDA9PT1lP3Q6bz9hKHQsZSk6ZnVuY3Rpb24oKXtyZXR1cm4gdC5hcHBseShlLGFyZ3VtZW50cyl9fX0sZGM2OTpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjhiZGIiKSxpPW4oImJiODAiKSxvPW4oImFjNWYiKSxhPWkoW10ucmV2ZXJzZSkscz1bMSwyXTtyKHt0YXJnZXQ6IkFycmF5Iixwcm90bzohMCxmb3JjZWQ6U3RyaW5nKHMpPT09U3RyaW5nKHMucmV2ZXJzZSgpKX0se3JldmVyc2U6ZnVuY3Rpb24oKXtyZXR1cm4gbyh0aGlzKSYmKHRoaXMubGVuZ3RoPXRoaXMubGVuZ3RoKSxhKHRoaXMpfX0pfSxkYzg0OmZ1bmN0aW9uKHQsZSl7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiB0LndlYnBhY2tQb2x5ZmlsbHx8KHQuZGVwcmVjYXRlPWZ1bmN0aW9uKCl7fSx0LnBhdGhzPVtdLHQuY2hpbGRyZW58fCh0LmNoaWxkcmVuPVtdKSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwibG9hZGVkIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdC5sfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJpZCIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHQuaX19KSx0LndlYnBhY2tQb2x5ZmlsbD0xKSx0fX0sZGM4OTpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO24oIjZhZDEiKX0sZGM4YTpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjhiZGIiKSxpPW4oIjEwOTkiKSxvPW4oImZmNGYiKSxhPW4oImFmOWUiKSxzPWEoKGZ1bmN0aW9uKCl7bygxKX0pKTtyKHt0YXJnZXQ6Ik9iamVjdCIsc3RhdDohMCxmb3JjZWQ6c30se2tleXM6ZnVuY3Rpb24odCl7cmV0dXJuIG8oaSh0KSl9fSl9LGRjZGE6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCI0NzRmIiksaT1uKCIxYzA2Iiksbz1uKCI4YzRmIik7dC5leHBvcnRzPWZ1bmN0aW9uKHQsZSxuKXt2YXIgYSxzO3JldHVybiBvJiZyKGE9ZS5jb25zdHJ1Y3RvcikmJmEhPT1uJiZpKHM9YS5wcm90b3R5cGUpJiZzIT09bi5wcm90b3R5cGUmJm8odCxzKSx0fX0sZGQyYjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjhiZGIiKSxpPW4oIjEwOTkiKSxvPW4oImUzNGMiKSxhPW4oIjQ5N2IiKSxzPW4oIjFmYzEiKSxjPW4oImIyYjEiKSx1PW4oIjQxYzciKSxsPW4oIjMyNDIiKSxmPW4oIjg1ZjciKSxkPW4oImE4MzAiKSxoPW4oImE1NTQiKSxwPWgoInNwbGljZSIpLHY9TWF0aC5tYXgsZz1NYXRoLm1pbjtyKHt0YXJnZXQ6IkFycmF5Iixwcm90bzohMCxmb3JjZWQ6IXB9LHtzcGxpY2U6ZnVuY3Rpb24odCxlKXt2YXIgbixyLGgscCxtLGIseT1pKHRoaXMpLF89cyh5KSx3PW8odCxfKSx4PWFyZ3VtZW50cy5sZW5ndGg7Zm9yKDA9PT14P249cj0wOjE9PT14PyhuPTAscj1fLXcpOihuPXgtMixyPWcodihhKGUpLDApLF8tdykpLHUoXytuLXIpLGg9bCh5LHIpLHA9MDtwPHI7cCsrKW09dytwLG0gaW4geSYmZihoLHAseVttXSk7aWYoaC5sZW5ndGg9cixuPHIpe2ZvcihwPXc7cDxfLXI7cCsrKW09cCtyLGI9cCtuLG0gaW4geT95W2JdPXlbbV06ZCh5LGIpO2ZvcihwPV87cD5fLXIrbjtwLS0pZCh5LHAtMSl9ZWxzZSBpZihuPnIpZm9yKHA9Xy1yO3A+dztwLS0pbT1wK3ItMSxiPXArbi0xLG0gaW4geT95W2JdPXlbbV06ZCh5LGIpO2ZvcihwPTA7cDxuO3ArKyl5W3Ard109YXJndW1lbnRzW3ArMl07cmV0dXJuIGMoeSxfLXIrbiksaH19KX0sZGRkMzpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjZhYTYiKSxpPW4oIjQ3NGYiKSxvPW4oIjEyOTciKSxhPW4oIjRmMDQiKSxzPU9iamVjdDt0LmV4cG9ydHM9YT9mdW5jdGlvbih0KXtyZXR1cm4ic3ltYm9sIj09dHlwZW9mIHR9OmZ1bmN0aW9uKHQpe3ZhciBlPXIoIlN5bWJvbCIpO3JldHVybiBpKGUpJiZvKGUucHJvdG90eXBlLHModCkpfX0sZGU2YzpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjg1YzEiKSxpPW4oIjNkZTciKSxvPW4oImZiNmIiKSxhPW4oIjZiZmEiKSxzPW4oIjZhY2EiKSxjPW4oIjE4MWQiKSx1PW4oIjhjMDgiKSxsPXUoIml0ZXJhdG9yIiksZj1hLnZhbHVlcyxkPWZ1bmN0aW9uKHQsZSl7aWYodCl7aWYodFtsXSE9PWYpdHJ5e3ModCxsLGYpfWNhdGNoKHIpe3RbbF09Zn1pZihjKHQsZSwhMCksaVtlXSlmb3IodmFyIG4gaW4gYSlpZih0W25dIT09YVtuXSl0cnl7cyh0LG4sYVtuXSl9Y2F0Y2gocil7dFtuXT1hW25dfX19O2Zvcih2YXIgaCBpbiBpKWQocltoXSYmcltoXS5wcm90b3R5cGUsaCk7ZChvLCJET01Ub2tlbkxpc3QiKX0sZGY3YjpmdW5jdGlvbih0LGUsbil7dmFyIHIsaSxvPW4oIjgzOTQiKSxhPW4oIjZjMTMiKSxzPW8ucHJvY2VzcyxjPW8uRGVubyx1PXMmJnMudmVyc2lvbnN8fGMmJmMudmVyc2lvbixsPXUmJnUudjg7bCYmKHI9bC5zcGxpdCgiLiIpLGk9clswXT4wJiZyWzBdPDQ/MTorKHJbMF0rclsxXSkpLCFpJiZhJiYocj1hLm1hdGNoKC9FZGdlXC8oXGQrKS8pLCghcnx8clsxXT49NzQpJiYocj1hLm1hdGNoKC9DaHJvbWVcLyhcZCspLyksciYmKGk9K3JbMV0pKSksdC5leHBvcnRzPWl9LGRmOTI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCI3MWU5IiksaT1uKCI0NzRmIiksbz1uKCIxYzA2IiksYT1UeXBlRXJyb3I7dC5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIG4scztpZigic3RyaW5nIj09PWUmJmkobj10LnRvU3RyaW5nKSYmIW8ocz1yKG4sdCkpKXJldHVybiBzO2lmKGkobj10LnZhbHVlT2YpJiYhbyhzPXIobix0KSkpcmV0dXJuIHM7aWYoInN0cmluZyIhPT1lJiZpKG49dC50b1N0cmluZykmJiFvKHM9cihuLHQpKSlyZXR1cm4gczt0aHJvdyBuZXcgYSgiQ2FuJ3QgY29udmVydCBvYmplY3QgdG8gcHJpbWl0aXZlIHZhbHVlIil9fSxkZmNmOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiNzFlOSIpLGk9bigiYmI4MCIpLG89bigiN2VkYyIpLGE9bigiZTdlMyIpLHM9bigiMWViOCIpLGM9bigiODYyYyIpLHU9bigiNWRmYSIpLGw9bigiMDNkYyIpLGY9bigiYzQzNSIpLGQ9bigiOWU3MCIpLGg9bigiNjBiYyIpLHA9bigiMDdkYSIpLHY9bigiZWRiNyIpLGc9bigiYWY5ZSIpLG09di5VTlNVUFBPUlRFRF9ZLGI9TWF0aC5taW4seT1pKFtdLnB1c2gpLF89aSgiIi5zbGljZSksdz0hZygoZnVuY3Rpb24oKXt2YXIgdD0vKD86KS8sZT10LmV4ZWM7dC5leGVjPWZ1bmN0aW9uKCl7cmV0dXJuIGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfTt2YXIgbj0iYWIiLnNwbGl0KHQpO3JldHVybiAyIT09bi5sZW5ndGh8fCJhIiE9PW5bMF18fCJiIiE9PW5bMV19KSkseD0iYyI9PT0iYWJiYyIuc3BsaXQoLyhiKSovKVsxXXx8NCE9PSJ0ZXN0Ii5zcGxpdCgvKD86KS8sLTEpLmxlbmd0aHx8MiE9PSJhYiIuc3BsaXQoLyg/OmFiKSovKS5sZW5ndGh8fDQhPT0iLiIuc3BsaXQoLyguPykoLj8pLykubGVuZ3RofHwiLiIuc3BsaXQoLygpKCkvKS5sZW5ndGg+MXx8IiIuc3BsaXQoLy4/LykubGVuZ3RoO28oInNwbGl0IiwoZnVuY3Rpb24odCxlLG4pe3ZhciBpPSIwIi5zcGxpdCh2b2lkIDAsMCkubGVuZ3RoP2Z1bmN0aW9uKHQsbil7cmV0dXJuIHZvaWQgMD09PXQmJjA9PT1uP1tdOnIoZSx0aGlzLHQsbil9OmU7cmV0dXJuW2Z1bmN0aW9uKGUsbil7dmFyIG89Yyh0aGlzKSxhPXMoZSk/dm9pZCAwOmgoZSx0KTtyZXR1cm4gYT9yKGEsZSxvLG4pOnIoaSxkKG8pLGUsbil9LGZ1bmN0aW9uKHQscil7dmFyIG89YSh0aGlzKSxzPWQodCk7aWYoIXgpe3ZhciBjPW4oaSxvLHMscixpIT09ZSk7aWYoYy5kb25lKXJldHVybiBjLnZhbHVlfXZhciBoPXUobyxSZWdFeHApLHY9by51bmljb2RlLGc9KG8uaWdub3JlQ2FzZT8iaSI6IiIpKyhvLm11bHRpbGluZT8ibSI6IiIpKyhvLnVuaWNvZGU/InUiOiIiKSsobT8iZyI6InkiKSx3PW5ldyBoKG0/Il4oPzoiK28uc291cmNlKyIpIjpvLGcpLFM9dm9pZCAwPT09cj80Mjk0OTY3Mjk1OnI+Pj4wO2lmKDA9PT1TKXJldHVybltdO2lmKDA9PT1zLmxlbmd0aClyZXR1cm4gbnVsbD09PXAodyxzKT9bc106W107dmFyIGs9MCxDPTAsTz1bXTt3aGlsZShDPHMubGVuZ3RoKXt3Lmxhc3RJbmRleD1tPzA6Qzt2YXIgVCxFPXAodyxtP18ocyxDKTpzKTtpZihudWxsPT09RXx8KFQ9YihmKHcubGFzdEluZGV4KyhtP0M6MCkpLHMubGVuZ3RoKSk9PT1rKUM9bChzLEMsdik7ZWxzZXtpZih5KE8sXyhzLGssQykpLE8ubGVuZ3RoPT09UylyZXR1cm4gTztmb3IodmFyIEE9MTtBPD1FLmxlbmd0aC0xO0ErKylpZih5KE8sRVtBXSksTy5sZW5ndGg9PT1TKXJldHVybiBPO0M9az1UfX1yZXR1cm4geShPLF8ocyxrKSksT31dfSkseHx8IXcsbSl9LGUxNTc6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCJkNmIxIikuZjt0LmV4cG9ydHM9ZnVuY3Rpb24odCxlLG4pe24gaW4gdHx8cih0LG4se2NvbmZpZ3VyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gZVtuXX0sc2V0OmZ1bmN0aW9uKHQpe2Vbbl09dH19KX19LGUxNTg6ZnVuY3Rpb24odCxlKXt2YXIgbj1TdHJpbmc7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3RyeXtyZXR1cm4gbih0KX1jYXRjaChlKXtyZXR1cm4iT2JqZWN0In19fSxlMzRjOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiNDk3YiIpLGk9TWF0aC5tYXgsbz1NYXRoLm1pbjt0LmV4cG9ydHM9ZnVuY3Rpb24odCxlKXt2YXIgbj1yKHQpO3JldHVybiBuPDA/aShuK2UsMCk6byhuLGUpfX0sZTM1MjpmdW5jdGlvbih0LGUsbil7dmFyIHI9bigiZDdiOCIpLGk9bigiZmRjYSIpLG89bigiMWFlMyIpLGE9VHlwZUVycm9yO3QuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciBuLHM7aWYoInN0cmluZyI9PT1lJiZpKG49dC50b1N0cmluZykmJiFvKHM9cihuLHQpKSlyZXR1cm4gcztpZihpKG49dC52YWx1ZU9mKSYmIW8ocz1yKG4sdCkpKXJldHVybiBzO2lmKCJzdHJpbmciIT09ZSYmaShuPXQudG9TdHJpbmcpJiYhbyhzPXIobix0KSkpcmV0dXJuIHM7dGhyb3cgYSgiQ2FuJ3QgY29udmVydCBvYmplY3QgdG8gcHJpbWl0aXZlIHZhbHVlIil9fSxlMzdjOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHIsaT1uKCJlN2UzIiksbz1uKCJhM2ZiIiksYT1uKCI2MmY3Iikscz1uKCIxMWJmIiksYz1uKCIzNzk0IiksdT1uKCIzZjU3IiksbD1uKCJiMjIzIiksZj1sKCJJRV9QUk9UTyIpLGQ9ZnVuY3Rpb24oKXt9LGg9ZnVuY3Rpb24odCl7cmV0dXJuIjxzY3JpcHQ+Iit0KyI8XC9zY3JpcHQ+In0scD1mdW5jdGlvbih0KXt0LndyaXRlKGgoIiIpKSx0LmNsb3NlKCk7dmFyIGU9dC5wYXJlbnRXaW5kb3cuT2JqZWN0O3JldHVybiB0PW51bGwsZX0sdj1mdW5jdGlvbigpe3RyeXtyPW5ldyBBY3RpdmVYT2JqZWN0KCJodG1sZmlsZSIpfWNhdGNoKGUpe312PSJ1bmRlZmluZWQiIT10eXBlb2YgZG9jdW1lbnQ/ZG9jdW1lbnQuZG9tYWluJiZyP3Aocik6ZnVuY3Rpb24oKXt2YXIgdCxlPXUoImlmcmFtZSIpO3JldHVybiBlLnN0eWxlLmRpc3BsYXk9Im5vbmUiLGMuYXBwZW5kQ2hpbGQoZSksZS5zcmM9U3RyaW5nKCJqYXZhc2NyaXB0OiIpLHQ9ZS5jb250ZW50V2luZG93LmRvY3VtZW50LHQub3BlbigpLHQud3JpdGUoaCgiZG9jdW1lbnQuRj1PYmplY3QiKSksdC5jbG9zZSgpLHQuRn0oKTpwKHIpO3ZhciB0PWEubGVuZ3RoO3doaWxlKHQtLSlkZWxldGUgdlsicHJvdG90eXBlIl1bYVt0XV07cmV0dXJuIHYoKX07c1tmXT0hMCx0LmV4cG9ydHM9T2JqZWN0LmNyZWF0ZXx8ZnVuY3Rpb24odCxlKXt2YXIgbjtyZXR1cm4gbnVsbCE9PXQ/KGRbInByb3RvdHlwZSJdPWkodCksbj1uZXcgZCxkWyJwcm90b3R5cGUiXT1udWxsLG5bZl09dCk6bj12KCksdm9pZCAwPT09ZT9uOm8uZihuLGUpfX0sZTM5YzpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjhiZGIiKSxpPW4oImFiNGEiKSxvPW4oIjg1YzEiKSxhPW4oImJiODAiKSxzPW4oIjMzOGMiKSxjPW4oIjQ3NGYiKSx1PW4oIjEyOTciKSxsPW4oIjllNzAiKSxmPW4oImU0Y2EiKSxkPW4oIjNkOGEiKSxoPW8uU3ltYm9sLHA9aCYmaC5wcm90b3R5cGU7aWYoaSYmYyhoKSYmKCEoImRlc2NyaXB0aW9uImluIHApfHx2b2lkIDAhPT1oKCkuZGVzY3JpcHRpb24pKXt2YXIgdj17fSxnPWZ1bmN0aW9uKCl7dmFyIHQ9YXJndW1lbnRzLmxlbmd0aDwxfHx2b2lkIDA9PT1hcmd1bWVudHNbMF0/dm9pZCAwOmwoYXJndW1lbnRzWzBdKSxlPXUocCx0aGlzKT9uZXcgaCh0KTp2b2lkIDA9PT10P2goKTpoKHQpO3JldHVybiIiPT09dCYmKHZbZV09ITApLGV9O2QoZyxoKSxnLnByb3RvdHlwZT1wLHAuY29uc3RydWN0b3I9Zzt2YXIgbT0iU3ltYm9sKGRlc2NyaXB0aW9uIGRldGVjdGlvbikiPT09U3RyaW5nKGgoImRlc2NyaXB0aW9uIGRldGVjdGlvbiIpKSxiPWEocC52YWx1ZU9mKSx5PWEocC50b1N0cmluZyksXz0vXlN5bWJvbFwoKC4qKVwpW14pXSskLyx3PWEoIiIucmVwbGFjZSkseD1hKCIiLnNsaWNlKTtmKHAsImRlc2NyaXB0aW9uIix7Y29uZmlndXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3ZhciB0PWIodGhpcyk7aWYocyh2LHQpKXJldHVybiIiO3ZhciBlPXkodCksbj1tP3goZSw3LC0xKTp3KGUsXywiJDEiKTtyZXR1cm4iIj09PW4/dm9pZCAwOm59fSkscih7Z2xvYmFsOiEwLGNvbnN0cnVjdG9yOiEwLGZvcmNlZDohMH0se1N5bWJvbDpnfSl9fSxlMzlkOmZ1bmN0aW9uKHQsZSxuKXt2YXIgcj1uKCJkN2I4IiksaT1uKCJkMTkxIiksbz1uKCIyMThkIik7dC5leHBvcnRzPWZ1bmN0aW9uKHQsZSxuKXt2YXIgYSxzO2kodCk7dHJ5e2lmKGE9byh0LCJyZXR1cm4iKSwhYSl7aWYoInRocm93Ij09PWUpdGhyb3cgbjtyZXR1cm4gbn1hPXIoYSx0KX1jYXRjaChjKXtzPSEwLGE9Y31pZigidGhyb3ciPT09ZSl0aHJvdyBuO2lmKHMpdGhyb3cgYTtyZXR1cm4gaShhKSxufX0sZTRhOTpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjFmYWEiKSxpPW4oImQxMGEiKSxvPW4oImQ3YjgiKSxhPW4oIjdhYTYiKSxzPW4oIjkxMDUiKSxjPW4oImVkMDEiKSx1PW4oImQ4NzE5IiksbD1uKCJiNTEwIiksZj1uKCJiMzc3IiksZD1PYmplY3QuYXNzaWduLGg9T2JqZWN0LmRlZmluZVByb3BlcnR5LHA9aShbXS5jb25jYXQpO3QuZXhwb3J0cz0hZHx8YSgoZnVuY3Rpb24oKXtpZihyJiYxIT09ZCh7YjoxfSxkKGgoe30sImEiLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe2godGhpcywiYiIse3ZhbHVlOjMsZW51bWVyYWJsZTohMX0pfX0pLHtiOjJ9KSkuYilyZXR1cm4hMDt2YXIgdD17fSxlPXt9LG49U3ltYm9sKCk7cmV0dXJuIHRbbl09NywiYWJjZGVmZ2hpamtsbW5vcHFyc3QiLnNwbGl0KCIiKS5mb3JFYWNoKChmdW5jdGlvbih0KXtlW3RdPXR9KSksNyE9ZCh7fSx0KVtuXXx8ImFiY2RlZmdoaWprbG1ub3BxcnN0IiE9cyhkKHt9LGUpKS5qb2luKCIiKX0pKT9mdW5jdGlvbih0LGUpe3ZhciBuPWwodCksaT1hcmd1bWVudHMubGVuZ3RoLGE9MSxkPWMuZixoPXUuZjt3aGlsZShpPmEpe3ZhciB2LGc9Zihhcmd1bWVudHNbYSsrXSksbT1kP3AocyhnKSxkKGcpKTpzKGcpLGI9bS5sZW5ndGgseT0wO3doaWxlKGI+eSl2PW1beSsrXSxyJiYhbyhoLGcsdil8fChuW3ZdPWdbdl0pfXJldHVybiBufTpkfSxlNGNhOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiZDYzYSIpLGk9bigiZDZiMSIpO3QuZXhwb3J0cz1mdW5jdGlvbih0LGUsbil7cmV0dXJuIG4uZ2V0JiZyKG4uZ2V0LGUse2dldHRlcjohMH0pLG4uc2V0JiZyKG4uc2V0LGUse3NldHRlcjohMH0pLGkuZih0LGUsbil9fSxlNWQ0OmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiOGJkYiIpLGk9bigiNmFhNiIpLG89bigiMzM4YyIpLGE9bigiOWU3MCIpLHM9bigiOGIzYiIpLGM9bigiNWIyYyIpLHU9cygic3RyaW5nLXRvLXN5bWJvbC1yZWdpc3RyeSIpLGw9cygic3ltYm9sLXRvLXN0cmluZy1yZWdpc3RyeSIpO3Ioe3RhcmdldDoiU3ltYm9sIixzdGF0OiEwLGZvcmNlZDohY30se2ZvcjpmdW5jdGlvbih0KXt2YXIgZT1hKHQpO2lmKG8odSxlKSlyZXR1cm4gdVtlXTt2YXIgbj1pKCJTeW1ib2wiKShlKTtyZXR1cm4gdVtlXT1uLGxbbl09ZSxufX0pfSxlNjI5OmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiMWMwNiIpLGk9bigiYWRhNSIpLG89bigiOGMwOCIpLGE9bygibWF0Y2giKTt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7dmFyIGU7cmV0dXJuIHIodCkmJih2b2lkIDAhPT0oZT10W2FdKT8hIWU6IlJlZ0V4cCI9PT1pKHQpKX19LGU2YTI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt0LmV4cG9ydHM9e0luZGV4U2l6ZUVycm9yOntzOiJJTkRFWF9TSVpFX0VSUiIsYzoxLG06MX0sRE9NU3RyaW5nU2l6ZUVycm9yOntzOiJET01TVFJJTkdfU0laRV9FUlIiLGM6MixtOjB9LEhpZXJhcmNoeVJlcXVlc3RFcnJvcjp7czoiSElFUkFSQ0hZX1JFUVVFU1RfRVJSIixjOjMsbToxfSxXcm9uZ0RvY3VtZW50RXJyb3I6e3M6IldST05HX0RPQ1VNRU5UX0VSUiIsYzo0LG06MX0sSW52YWxpZENoYXJhY3RlckVycm9yOntzOiJJTlZBTElEX0NIQVJBQ1RFUl9FUlIiLGM6NSxtOjF9LE5vRGF0YUFsbG93ZWRFcnJvcjp7czoiTk9fREFUQV9BTExPV0VEX0VSUiIsYzo2LG06MH0sTm9Nb2RpZmljYXRpb25BbGxvd2VkRXJyb3I6e3M6Ik5PX01PRElGSUNBVElPTl9BTExPV0VEX0VSUiIsYzo3LG06MX0sTm90Rm91bmRFcnJvcjp7czoiTk9UX0ZPVU5EX0VSUiIsYzo4LG06MX0sTm90U3VwcG9ydGVkRXJyb3I6e3M6Ik5PVF9TVVBQT1JURURfRVJSIixjOjksbToxfSxJblVzZUF0dHJpYnV0ZUVycm9yOntzOiJJTlVTRV9BVFRSSUJVVEVfRVJSIixjOjEwLG06MX0sSW52YWxpZFN0YXRlRXJyb3I6e3M6IklOVkFMSURfU1RBVEVfRVJSIixjOjExLG06MX0sU3ludGF4RXJyb3I6e3M6IlNZTlRBWF9FUlIiLGM6MTIsbToxfSxJbnZhbGlkTW9kaWZpY2F0aW9uRXJyb3I6e3M6IklOVkFMSURfTU9ESUZJQ0FUSU9OX0VSUiIsYzoxMyxtOjF9LE5hbWVzcGFjZUVycm9yOntzOiJOQU1FU1BBQ0VfRVJSIixjOjE0LG06MX0sSW52YWxpZEFjY2Vzc0Vycm9yOntzOiJJTlZBTElEX0FDQ0VTU19FUlIiLGM6MTUsbToxfSxWYWxpZGF0aW9uRXJyb3I6e3M6IlZBTElEQVRJT05fRVJSIixjOjE2LG06MH0sVHlwZU1pc21hdGNoRXJyb3I6e3M6IlRZUEVfTUlTTUFUQ0hfRVJSIixjOjE3LG06MX0sU2VjdXJpdHlFcnJvcjp7czoiU0VDVVJJVFlfRVJSIixjOjE4LG06MX0sTmV0d29ya0Vycm9yOntzOiJORVRXT1JLX0VSUiIsYzoxOSxtOjF9LEFib3J0RXJyb3I6e3M6IkFCT1JUX0VSUiIsYzoyMCxtOjF9LFVSTE1pc21hdGNoRXJyb3I6e3M6IlVSTF9NSVNNQVRDSF9FUlIiLGM6MjEsbToxfSxRdW90YUV4Y2VlZGVkRXJyb3I6e3M6IlFVT1RBX0VYQ0VFREVEX0VSUiIsYzoyMixtOjF9LFRpbWVvdXRFcnJvcjp7czoiVElNRU9VVF9FUlIiLGM6MjMsbToxfSxJbnZhbGlkTm9kZVR5cGVFcnJvcjp7czoiSU5WQUxJRF9OT0RFX1RZUEVfRVJSIixjOjI0LG06MX0sRGF0YUNsb25lRXJyb3I6e3M6IkRBVEFfQ0xPTkVfRVJSIixjOjI1LG06MX19fSxlNzhiOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dC5leHBvcnRzPU1hdGguc2lnbnx8ZnVuY3Rpb24odCl7dmFyIGU9K3Q7cmV0dXJuIDA9PT1lfHxlIT09ZT9lOmU8MD8tMToxfX0sZTdkODpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO24oIjZiZmEiKTt2YXIgcj1uKCI4YmRiIiksaT1uKCI4NWMxIiksbz1uKCJhZjZhIiksYT1uKCI3MWU5Iikscz1uKCJiYjgwIiksYz1uKCJhYjRhIiksdT1uKCIyNjZhIiksbD1uKCI4MWE5IiksZj1uKCJlNGNhIiksZD1uKCJhNzRjIiksaD1uKCIxODFkIikscD1uKCI0YWZiIiksdj1uKCIyMzVjIiksZz1uKCJiNzIwIiksbT1uKCI0NzRmIiksYj1uKCIzMzhjIikseT1uKCJhZTVjIiksXz1uKCI4ZTAyIiksdz1uKCJlN2UzIikseD1uKCIxYzA2IiksUz1uKCI5ZTcwIiksaz1uKCJlMzdjIiksQz1uKCIwYjVhIiksTz1uKCJkNjdjIiksVD1uKCI1MTEyIiksRT1uKCI5N2VkIiksQT1uKCI3ZjI4Iiksaj1uKCI4YzA4IiksTT1uKCJiNjQzIiksST1qKCJpdGVyYXRvciIpLFA9di5zZXQsJD12LmdldHRlckZvcigiVVJMU2VhcmNoUGFyYW1zIiksTD12LmdldHRlckZvcigiVVJMU2VhcmNoUGFyYW1zSXRlcmF0b3IiKSxSPW8oImZldGNoIiksTj1vKCJSZXF1ZXN0IiksRD1vKCJIZWFkZXJzIiksQj1OJiZOLnByb3RvdHlwZSxGPUQmJkQucHJvdG90eXBlLHo9aS5SZWdFeHAsVz1pLlR5cGVFcnJvcixIPWkuZGVjb2RlVVJJQ29tcG9uZW50LFU9aS5lbmNvZGVVUklDb21wb25lbnQsVj1zKCIiLmNoYXJBdCkscT1zKFtdLmpvaW4pLFk9cyhbXS5wdXNoKSxYPXMoIiIucmVwbGFjZSksRz1zKFtdLnNoaWZ0KSxRPXMoW10uc3BsaWNlKSxLPXMoIiIuc3BsaXQpLEo9cygiIi5zbGljZSksWj0vXCsvZyx0dD1BcnJheSg0KSxldD1mdW5jdGlvbih0KXtyZXR1cm4gdHRbdC0xXXx8KHR0W3QtMV09eigiKCg/OiVbXFxkYS1mXXsyfSl7Iit0KyJ9KSIsImdpIikpfSxudD1mdW5jdGlvbih0KXt0cnl7cmV0dXJuIEgodCl9Y2F0Y2goZSl7cmV0dXJuIHR9fSxydD1mdW5jdGlvbih0KXt2YXIgZT1YKHQsWiwiICIpLG49NDt0cnl7cmV0dXJuIEgoZSl9Y2F0Y2gocil7d2hpbGUobillPVgoZSxldChuLS0pLG50KTtyZXR1cm4gZX19LGl0PS9bIScoKX5dfCUyMC9nLG90PXsiISI6IiUyMSIsIiciOiIlMjciLCIoIjoiJTI4IiwiKSI6IiUyOSIsIn4iOiIlN0UiLCIlMjAiOiIrIn0sYXQ9ZnVuY3Rpb24odCl7cmV0dXJuIG90W3RdfSxzdD1mdW5jdGlvbih0KXtyZXR1cm4gWChVKHQpLGl0LGF0KX0sY3Q9cCgoZnVuY3Rpb24odCxlKXtQKHRoaXMse3R5cGU6IlVSTFNlYXJjaFBhcmFtc0l0ZXJhdG9yIix0YXJnZXQ6JCh0KS5lbnRyaWVzLGluZGV4OjAsa2luZDplfSl9KSwiVVJMU2VhcmNoUGFyYW1zIiwoZnVuY3Rpb24oKXt2YXIgdD1MKHRoaXMpLGU9dC50YXJnZXQsbj10LmluZGV4Kys7aWYoIWV8fG4+PWUubGVuZ3RoKXJldHVybiB0LnRhcmdldD12b2lkIDAsRSh2b2lkIDAsITApO3ZhciByPWVbbl07c3dpdGNoKHQua2luZCl7Y2FzZSJrZXlzIjpyZXR1cm4gRShyLmtleSwhMSk7Y2FzZSJ2YWx1ZXMiOnJldHVybiBFKHIudmFsdWUsITEpfXJldHVybiBFKFtyLmtleSxyLnZhbHVlXSwhMSl9KSwhMCksdXQ9ZnVuY3Rpb24odCl7dGhpcy5lbnRyaWVzPVtdLHRoaXMudXJsPW51bGwsdm9pZCAwIT09dCYmKHgodCk/dGhpcy5wYXJzZU9iamVjdCh0KTp0aGlzLnBhcnNlUXVlcnkoInN0cmluZyI9PXR5cGVvZiB0PyI/Ij09PVYodCwwKT9KKHQsMSk6dDpTKHQpKSl9O3V0LnByb3RvdHlwZT17dHlwZToiVVJMU2VhcmNoUGFyYW1zIixiaW5kVVJMOmZ1bmN0aW9uKHQpe3RoaXMudXJsPXQsdGhpcy51cGRhdGUoKX0scGFyc2VPYmplY3Q6ZnVuY3Rpb24odCl7dmFyIGUsbixyLGksbyxzLGMsdT10aGlzLmVudHJpZXMsbD1UKHQpO2lmKGwpe2U9Tyh0LGwpLG49ZS5uZXh0O3doaWxlKCEocj1hKG4sZSkpLmRvbmUpe2lmKGk9Tyh3KHIudmFsdWUpKSxvPWkubmV4dCwocz1hKG8saSkpLmRvbmV8fChjPWEobyxpKSkuZG9uZXx8IWEobyxpKS5kb25lKXRocm93IG5ldyBXKCJFeHBlY3RlZCBzZXF1ZW5jZSB3aXRoIGxlbmd0aCAyIik7WSh1LHtrZXk6UyhzLnZhbHVlKSx2YWx1ZTpTKGMudmFsdWUpfSl9fWVsc2UgZm9yKHZhciBmIGluIHQpYih0LGYpJiZZKHUse2tleTpmLHZhbHVlOlModFtmXSl9KX0scGFyc2VRdWVyeTpmdW5jdGlvbih0KXtpZih0KXt2YXIgZSxuLHI9dGhpcy5lbnRyaWVzLGk9Syh0LCImIiksbz0wO3doaWxlKG88aS5sZW5ndGgpZT1pW28rK10sZS5sZW5ndGgmJihuPUsoZSwiPSIpLFkocix7a2V5OnJ0KEcobikpLHZhbHVlOnJ0KHEobiwiPSIpKX0pKX19LHNlcmlhbGl6ZTpmdW5jdGlvbigpe3ZhciB0LGU9dGhpcy5lbnRyaWVzLG49W10scj0wO3doaWxlKHI8ZS5sZW5ndGgpdD1lW3IrK10sWShuLHN0KHQua2V5KSsiPSIrc3QodC52YWx1ZSkpO3JldHVybiBxKG4sIiYiKX0sdXBkYXRlOmZ1bmN0aW9uKCl7dGhpcy5lbnRyaWVzLmxlbmd0aD0wLHRoaXMucGFyc2VRdWVyeSh0aGlzLnVybC5xdWVyeSl9LHVwZGF0ZVVSTDpmdW5jdGlvbigpe3RoaXMudXJsJiZ0aGlzLnVybC51cGRhdGUoKX19O3ZhciBsdD1mdW5jdGlvbigpe2codGhpcyxmdCk7dmFyIHQ9YXJndW1lbnRzLmxlbmd0aD4wP2FyZ3VtZW50c1swXTp2b2lkIDAsZT1QKHRoaXMsbmV3IHV0KHQpKTtjfHwodGhpcy5zaXplPWUuZW50cmllcy5sZW5ndGgpfSxmdD1sdC5wcm90b3R5cGU7aWYoZChmdCx7YXBwZW5kOmZ1bmN0aW9uKHQsZSl7dmFyIG49JCh0aGlzKTtBKGFyZ3VtZW50cy5sZW5ndGgsMiksWShuLmVudHJpZXMse2tleTpTKHQpLHZhbHVlOlMoZSl9KSxjfHx0aGlzLmxlbmd0aCsrLG4udXBkYXRlVVJMKCl9LGRlbGV0ZTpmdW5jdGlvbih0KXt2YXIgZT0kKHRoaXMpLG49QShhcmd1bWVudHMubGVuZ3RoLDEpLHI9ZS5lbnRyaWVzLGk9Uyh0KSxvPW48Mj92b2lkIDA6YXJndW1lbnRzWzFdLGE9dm9pZCAwPT09bz9vOlMobykscz0wO3doaWxlKHM8ci5sZW5ndGgpe3ZhciB1PXJbc107aWYodS5rZXkhPT1pfHx2b2lkIDAhPT1hJiZ1LnZhbHVlIT09YSlzKys7ZWxzZSBpZihRKHIscywxKSx2b2lkIDAhPT1hKWJyZWFrfWN8fCh0aGlzLnNpemU9ci5sZW5ndGgpLGUudXBkYXRlVVJMKCl9LGdldDpmdW5jdGlvbih0KXt2YXIgZT0kKHRoaXMpLmVudHJpZXM7QShhcmd1bWVudHMubGVuZ3RoLDEpO2Zvcih2YXIgbj1TKHQpLHI9MDtyPGUubGVuZ3RoO3IrKylpZihlW3JdLmtleT09PW4pcmV0dXJuIGVbcl0udmFsdWU7cmV0dXJuIG51bGx9LGdldEFsbDpmdW5jdGlvbih0KXt2YXIgZT0kKHRoaXMpLmVudHJpZXM7QShhcmd1bWVudHMubGVuZ3RoLDEpO2Zvcih2YXIgbj1TKHQpLHI9W10saT0wO2k8ZS5sZW5ndGg7aSsrKWVbaV0ua2V5PT09biYmWShyLGVbaV0udmFsdWUpO3JldHVybiByfSxoYXM6ZnVuY3Rpb24odCl7dmFyIGU9JCh0aGlzKS5lbnRyaWVzLG49QShhcmd1bWVudHMubGVuZ3RoLDEpLHI9Uyh0KSxpPW48Mj92b2lkIDA6YXJndW1lbnRzWzFdLG89dm9pZCAwPT09aT9pOlMoaSksYT0wO3doaWxlKGE8ZS5sZW5ndGgpe3ZhciBzPWVbYSsrXTtpZihzLmtleT09PXImJih2b2lkIDA9PT1vfHxzLnZhbHVlPT09bykpcmV0dXJuITB9cmV0dXJuITF9LHNldDpmdW5jdGlvbih0LGUpe3ZhciBuPSQodGhpcyk7QShhcmd1bWVudHMubGVuZ3RoLDEpO2Zvcih2YXIgcixpPW4uZW50cmllcyxvPSExLGE9Uyh0KSxzPVMoZSksdT0wO3U8aS5sZW5ndGg7dSsrKXI9aVt1XSxyLmtleT09PWEmJihvP1EoaSx1LS0sMSk6KG89ITAsci52YWx1ZT1zKSk7b3x8WShpLHtrZXk6YSx2YWx1ZTpzfSksY3x8KHRoaXMuc2l6ZT1pLmxlbmd0aCksbi51cGRhdGVVUkwoKX0sc29ydDpmdW5jdGlvbigpe3ZhciB0PSQodGhpcyk7TSh0LmVudHJpZXMsKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQua2V5PmUua2V5PzE6LTF9KSksdC51cGRhdGVVUkwoKX0sZm9yRWFjaDpmdW5jdGlvbih0KXt2YXIgZSxuPSQodGhpcykuZW50cmllcyxyPXkodCxhcmd1bWVudHMubGVuZ3RoPjE/YXJndW1lbnRzWzFdOnZvaWQgMCksaT0wO3doaWxlKGk8bi5sZW5ndGgpZT1uW2krK10scihlLnZhbHVlLGUua2V5LHRoaXMpfSxrZXlzOmZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBjdCh0aGlzLCJrZXlzIil9LHZhbHVlczpmdW5jdGlvbigpe3JldHVybiBuZXcgY3QodGhpcywidmFsdWVzIil9LGVudHJpZXM6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGN0KHRoaXMsImVudHJpZXMiKX19LHtlbnVtZXJhYmxlOiEwfSksbChmdCxJLGZ0LmVudHJpZXMse25hbWU6ImVudHJpZXMifSksbChmdCwidG9TdHJpbmciLChmdW5jdGlvbigpe3JldHVybiAkKHRoaXMpLnNlcmlhbGl6ZSgpfSkse2VudW1lcmFibGU6ITB9KSxjJiZmKGZ0LCJzaXplIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuICQodGhpcykuZW50cmllcy5sZW5ndGh9LGNvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwfSksaChsdCwiVVJMU2VhcmNoUGFyYW1zIikscih7Z2xvYmFsOiEwLGNvbnN0cnVjdG9yOiEwLGZvcmNlZDohdX0se1VSTFNlYXJjaFBhcmFtczpsdH0pLCF1JiZtKEQpKXt2YXIgZHQ9cyhGLmhhcyksaHQ9cyhGLnNldCkscHQ9ZnVuY3Rpb24odCl7aWYoeCh0KSl7dmFyIGUsbj10LmJvZHk7aWYoIlVSTFNlYXJjaFBhcmFtcyI9PT1fKG4pKXJldHVybiBlPXQuaGVhZGVycz9uZXcgRCh0LmhlYWRlcnMpOm5ldyBELGR0KGUsImNvbnRlbnQtdHlwZSIpfHxodChlLCJjb250ZW50LXR5cGUiLCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7Y2hhcnNldD1VVEYtOCIpLGsodCx7Ym9keTpDKDAsUyhuKSksaGVhZGVyczpDKDAsZSl9KX1yZXR1cm4gdH07aWYobShSKSYmcih7Z2xvYmFsOiEwLGVudW1lcmFibGU6ITAsZG9udENhbGxHZXRTZXQ6ITAsZm9yY2VkOiEwfSx7ZmV0Y2g6ZnVuY3Rpb24odCl7cmV0dXJuIFIodCxhcmd1bWVudHMubGVuZ3RoPjE/cHQoYXJndW1lbnRzWzFdKTp7fSl9fSksbShOKSl7dmFyIHZ0PWZ1bmN0aW9uKHQpe3JldHVybiBnKHRoaXMsQiksbmV3IE4odCxhcmd1bWVudHMubGVuZ3RoPjE/cHQoYXJndW1lbnRzWzFdKTp7fSl9O0IuY29uc3RydWN0b3I9dnQsdnQucHJvdG90eXBlPUIscih7Z2xvYmFsOiEwLGNvbnN0cnVjdG9yOiEwLGRvbnRDYWxsR2V0U2V0OiEwLGZvcmNlZDohMH0se1JlcXVlc3Q6dnR9KX19dC5leHBvcnRzPXtVUkxTZWFyY2hQYXJhbXM6bHQsZ2V0U3RhdGU6JH19LGU3ZGE6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCI5ZTcwIik7dC5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHZvaWQgMD09PXQ/YXJndW1lbnRzLmxlbmd0aDwyPyIiOmU6cih0KX19LGU3ZTM6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCIxYzA2IiksaT1TdHJpbmcsbz1UeXBlRXJyb3I7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe2lmKHIodCkpcmV0dXJuIHQ7dGhyb3cgbmV3IG8oaSh0KSsiIGlzIG5vdCBhbiBvYmplY3QiKX19LGU4Mzg6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCI4YmRiIiksaT1uKCJhOWVlIik7cih7Z2xvYmFsOiEwLGZvcmNlZDpwYXJzZUZsb2F0IT09aX0se3BhcnNlRmxvYXQ6aX0pfSxlOGI4OmZ1bmN0aW9uKHQsZSxuKXt2YXIgcj1uKCI4NWU1IiksaT1uKCI4Mzk0Iik7dC5leHBvcnRzPSJwcm9jZXNzIj09cihpLnByb2Nlc3MpfSxlOTY2OmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiOGJkYiIpLGk9bigiMmM1NyIpO3Ioe2dsb2JhbDohMCxmb3JjZWQ6cGFyc2VJbnQhPT1pfSx7cGFyc2VJbnQ6aX0pfSxlYTA3OmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiYWI0YSIpLGk9bigiYWY5ZSIpLG89bigiYmI4MCIpLGE9bigiYzMzNyIpLHM9bigiZmY0ZiIpLGM9bigiZjY2MCIpLHU9bigiMzQ2YiIpLmYsbD1vKHUpLGY9byhbXS5wdXNoKSxkPXImJmkoKGZ1bmN0aW9uKCl7dmFyIHQ9T2JqZWN0LmNyZWF0ZShudWxsKTtyZXR1cm4gdFsyXT0yLCFsKHQsMil9KSksaD1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSl7dmFyIG4saT1jKGUpLG89cyhpKSx1PWQmJm51bGw9PT1hKGkpLGg9by5sZW5ndGgscD0wLHY9W107d2hpbGUoaD5wKW49b1twKytdLHImJiEodT9uIGluIGk6bChpLG4pKXx8Zih2LHQ/W24saVtuXV06aVtuXSk7cmV0dXJuIHZ9fTt0LmV4cG9ydHM9e2VudHJpZXM6aCghMCksdmFsdWVzOmgoITEpfX0sZWI5YTpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oImFiNGEiKSxpPW4oImJiODAiKSxvPW4oIjcxZTkiKSxhPW4oImFmOWUiKSxzPW4oImZmNGYiKSxjPW4oIjdkM2MiKSx1PW4oIjM0NmIiKSxsPW4oIjEwOTkiKSxmPW4oIjdlNDEiKSxkPU9iamVjdC5hc3NpZ24saD1PYmplY3QuZGVmaW5lUHJvcGVydHkscD1pKFtdLmNvbmNhdCk7dC5leHBvcnRzPSFkfHxhKChmdW5jdGlvbigpe2lmKHImJjEhPT1kKHtiOjF9LGQoaCh7fSwiYSIse2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7aCh0aGlzLCJiIix7dmFsdWU6MyxlbnVtZXJhYmxlOiExfSl9fSkse2I6Mn0pKS5iKXJldHVybiEwO3ZhciB0PXt9LGU9e30sbj1TeW1ib2woImFzc2lnbiBkZXRlY3Rpb24iKTtyZXR1cm4gdFtuXT03LCJhYmNkZWZnaGlqa2xtbm9wcXJzdCIuc3BsaXQoIiIpLmZvckVhY2goKGZ1bmN0aW9uKHQpe2VbdF09dH0pKSw3IT09ZCh7fSx0KVtuXXx8ImFiY2RlZmdoaWprbG1ub3BxcnN0IiE9PXMoZCh7fSxlKSkuam9pbigiIil9KSk/ZnVuY3Rpb24odCxlKXt2YXIgbj1sKHQpLGk9YXJndW1lbnRzLmxlbmd0aCxhPTEsZD1jLmYsaD11LmY7d2hpbGUoaT5hKXt2YXIgdixnPWYoYXJndW1lbnRzW2ErK10pLG09ZD9wKHMoZyksZChnKSk6cyhnKSxiPW0ubGVuZ3RoLHk9MDt3aGlsZShiPnkpdj1tW3krK10sciYmIW8oaCxnLHYpfHwoblt2XT1nW3ZdKX1yZXR1cm4gbn06ZH0sZWJlODpmdW5jdGlvbih0LGUsbil7dmFyIHI9bigiNDE1YiIpLmYsaT1uKCI3N2NkIiksbz1uKCIyOWQ1IiksYT1vKCJ0b1N0cmluZ1RhZyIpO3QuZXhwb3J0cz1mdW5jdGlvbih0LGUsbil7dCYmIW4mJih0PXQucHJvdG90eXBlKSx0JiYhaSh0LGEpJiZyKHQsYSx7Y29uZmlndXJhYmxlOiEwLHZhbHVlOmV9KX19LGVkMDE6ZnVuY3Rpb24odCxlKXtlLmY9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9sc30sZWRiNzpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oImFmOWUiKSxpPW4oIjg1YzEiKSxvPWkuUmVnRXhwLGE9cigoZnVuY3Rpb24oKXt2YXIgdD1vKCJhIiwieSIpO3JldHVybiB0Lmxhc3RJbmRleD0yLG51bGwhPT10LmV4ZWMoImFiY2QiKX0pKSxzPWF8fHIoKGZ1bmN0aW9uKCl7cmV0dXJuIW8oImEiLCJ5Iikuc3RpY2t5fSkpLGM9YXx8cigoZnVuY3Rpb24oKXt2YXIgdD1vKCJeciIsImd5Iik7cmV0dXJuIHQubGFzdEluZGV4PTIsbnVsbCE9PXQuZXhlYygic3RyIil9KSk7dC5leHBvcnRzPXtCUk9LRU5fQ0FSRVQ6YyxNSVNTRURfU1RJQ0tZOnMsVU5TVVBQT1JURURfWTphfX0sZWU5ODpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oImJiODAiKSxpPW4oIjg2MmMiKSxvPW4oIjllNzAiKSxhPW4oImYwNzIiKSxzPXIoIiIucmVwbGFjZSksYz1SZWdFeHAoIl5bIithKyJdKyIpLHU9UmVnRXhwKCIoXnxbXiIrYSsiXSlbIithKyJdKyQiKSxsPWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihlKXt2YXIgbj1vKGkoZSkpO3JldHVybiAxJnQmJihuPXMobixjLCIiKSksMiZ0JiYobj1zKG4sdSwiJDEiKSksbn19O3QuZXhwb3J0cz17c3RhcnQ6bCgxKSxlbmQ6bCgyKSx0cmltOmwoMyl9fSxlZmE1OmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiODVjMSIpLGk9bigiYmI4MCIpLG89bigiYWI0YSIpLGE9bigiYzg5YiIpLHM9bigiODk0NSIpLGM9bigiNmFjYSIpLHU9bigiZTRjYSIpLGw9bigiYTc0YyIpLGY9bigiYWY5ZSIpLGQ9bigiYjcyMCIpLGg9bigiNDk3YiIpLHA9bigiYzQzNSIpLHY9bigiY2MzNiIpLGc9bigiMGU0MCIpLG09bigiZGFjZiIpLGI9bigiYzMzNyIpLHk9bigiOGM0ZiIpLF89bigiODRkNiIpLHc9bigiMzdhZCIpLHg9bigiZGNkYSIpLFM9bigiM2Q4YSIpLGs9bigiMTgxZCIpLEM9bigiMjM1YyIpLE89cy5QUk9QRVIsVD1zLkNPTkZJR1VSQUJMRSxFPUMuZ2V0dGVyRm9yKCJBcnJheUJ1ZmZlciIpLEE9Qy5nZXR0ZXJGb3IoIkRhdGFWaWV3Iiksaj1DLnNldCxNPXJbIkFycmF5QnVmZmVyIl0sST1NLFA9SSYmSVsicHJvdG90eXBlIl0sJD1yWyJEYXRhVmlldyJdLEw9JCYmJFsicHJvdG90eXBlIl0sUj1PYmplY3QucHJvdG90eXBlLE49ci5BcnJheSxEPXIuUmFuZ2VFcnJvcixCPWkoXyksRj1pKFtdLnJldmVyc2UpLHo9bS5wYWNrLFc9bS51bnBhY2ssSD1mdW5jdGlvbih0KXtyZXR1cm5bMjU1JnRdfSxVPWZ1bmN0aW9uKHQpe3JldHVyblsyNTUmdCx0Pj44JjI1NV19LFY9ZnVuY3Rpb24odCl7cmV0dXJuWzI1NSZ0LHQ+PjgmMjU1LHQ+PjE2JjI1NSx0Pj4yNCYyNTVdfSxxPWZ1bmN0aW9uKHQpe3JldHVybiB0WzNdPDwyNHx0WzJdPDwxNnx0WzFdPDw4fHRbMF19LFk9ZnVuY3Rpb24odCl7cmV0dXJuIHooZyh0KSwyMyw0KX0sWD1mdW5jdGlvbih0KXtyZXR1cm4geih0LDUyLDgpfSxHPWZ1bmN0aW9uKHQsZSxuKXt1KHRbInByb3RvdHlwZSJdLGUse2NvbmZpZ3VyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbih0aGlzKVtlXX19KX0sUT1mdW5jdGlvbih0LGUsbixyKXt2YXIgaT1BKHQpLG89dihuKSxhPSEhcjtpZihvK2U+aS5ieXRlTGVuZ3RoKXRocm93IG5ldyBEKCJXcm9uZyBpbmRleCIpO3ZhciBzPWkuYnl0ZXMsYz1vK2kuYnl0ZU9mZnNldCx1PXcocyxjLGMrZSk7cmV0dXJuIGE/dTpGKHUpfSxLPWZ1bmN0aW9uKHQsZSxuLHIsaSxvKXt2YXIgYT1BKHQpLHM9dihuKSxjPXIoK2kpLHU9ISFvO2lmKHMrZT5hLmJ5dGVMZW5ndGgpdGhyb3cgbmV3IEQoIldyb25nIGluZGV4Iik7Zm9yKHZhciBsPWEuYnl0ZXMsZj1zK2EuYnl0ZU9mZnNldCxkPTA7ZDxlO2QrKylsW2YrZF09Y1t1P2Q6ZS1kLTFdfTtpZihhKXt2YXIgSj1PJiYiQXJyYXlCdWZmZXIiIT09TS5uYW1lO2YoKGZ1bmN0aW9uKCl7TSgxKX0pKSYmZigoZnVuY3Rpb24oKXtuZXcgTSgtMSl9KSkmJiFmKChmdW5jdGlvbigpe3JldHVybiBuZXcgTSxuZXcgTSgxLjUpLG5ldyBNKE5hTiksMSE9PU0ubGVuZ3RofHxKJiYhVH0pKT9KJiZUJiZjKE0sIm5hbWUiLCJBcnJheUJ1ZmZlciIpOihJPWZ1bmN0aW9uKHQpe3JldHVybiBkKHRoaXMsUCkseChuZXcgTSh2KHQpKSx0aGlzLEkpfSxJWyJwcm90b3R5cGUiXT1QLFAuY29uc3RydWN0b3I9SSxTKEksTSkpLHkmJmIoTCkhPT1SJiZ5KEwsUik7dmFyIFo9bmV3ICQobmV3IEkoMikpLHR0PWkoTC5zZXRJbnQ4KTtaLnNldEludDgoMCwyMTQ3NDgzNjQ4KSxaLnNldEludDgoMSwyMTQ3NDgzNjQ5KSwhWi5nZXRJbnQ4KDApJiZaLmdldEludDgoMSl8fGwoTCx7c2V0SW50ODpmdW5jdGlvbih0LGUpe3R0KHRoaXMsdCxlPDwyND4+MjQpfSxzZXRVaW50ODpmdW5jdGlvbih0LGUpe3R0KHRoaXMsdCxlPDwyND4+MjQpfX0se3Vuc2FmZTohMH0pfWVsc2UgST1mdW5jdGlvbih0KXtkKHRoaXMsUCk7dmFyIGU9dih0KTtqKHRoaXMse3R5cGU6IkFycmF5QnVmZmVyIixieXRlczpCKE4oZSksMCksYnl0ZUxlbmd0aDplfSksb3x8KHRoaXMuYnl0ZUxlbmd0aD1lLHRoaXMuZGV0YWNoZWQ9ITEpfSxQPUlbInByb3RvdHlwZSJdLCQ9ZnVuY3Rpb24odCxlLG4pe2QodGhpcyxMKSxkKHQsUCk7dmFyIHI9RSh0KSxpPXIuYnl0ZUxlbmd0aCxhPWgoZSk7aWYoYTwwfHxhPmkpdGhyb3cgbmV3IEQoIldyb25nIG9mZnNldCIpO2lmKG49dm9pZCAwPT09bj9pLWE6cChuKSxhK24+aSl0aHJvdyBuZXcgRCgiV3JvbmcgbGVuZ3RoIik7aih0aGlzLHt0eXBlOiJEYXRhVmlldyIsYnVmZmVyOnQsYnl0ZUxlbmd0aDpuLGJ5dGVPZmZzZXQ6YSxieXRlczpyLmJ5dGVzfSksb3x8KHRoaXMuYnVmZmVyPXQsdGhpcy5ieXRlTGVuZ3RoPW4sdGhpcy5ieXRlT2Zmc2V0PWEpfSxMPSRbInByb3RvdHlwZSJdLG8mJihHKEksImJ5dGVMZW5ndGgiLEUpLEcoJCwiYnVmZmVyIixBKSxHKCQsImJ5dGVMZW5ndGgiLEEpLEcoJCwiYnl0ZU9mZnNldCIsQSkpLGwoTCx7Z2V0SW50ODpmdW5jdGlvbih0KXtyZXR1cm4gUSh0aGlzLDEsdClbMF08PDI0Pj4yNH0sZ2V0VWludDg6ZnVuY3Rpb24odCl7cmV0dXJuIFEodGhpcywxLHQpWzBdfSxnZXRJbnQxNjpmdW5jdGlvbih0KXt2YXIgZT1RKHRoaXMsMix0LGFyZ3VtZW50cy5sZW5ndGg+MSYmYXJndW1lbnRzWzFdKTtyZXR1cm4oZVsxXTw8OHxlWzBdKTw8MTY+PjE2fSxnZXRVaW50MTY6ZnVuY3Rpb24odCl7dmFyIGU9USh0aGlzLDIsdCxhcmd1bWVudHMubGVuZ3RoPjEmJmFyZ3VtZW50c1sxXSk7cmV0dXJuIGVbMV08PDh8ZVswXX0sZ2V0SW50MzI6ZnVuY3Rpb24odCl7cmV0dXJuIHEoUSh0aGlzLDQsdCxhcmd1bWVudHMubGVuZ3RoPjEmJmFyZ3VtZW50c1sxXSkpfSxnZXRVaW50MzI6ZnVuY3Rpb24odCl7cmV0dXJuIHEoUSh0aGlzLDQsdCxhcmd1bWVudHMubGVuZ3RoPjEmJmFyZ3VtZW50c1sxXSkpPj4+MH0sZ2V0RmxvYXQzMjpmdW5jdGlvbih0KXtyZXR1cm4gVyhRKHRoaXMsNCx0LGFyZ3VtZW50cy5sZW5ndGg+MSYmYXJndW1lbnRzWzFdKSwyMyl9LGdldEZsb2F0NjQ6ZnVuY3Rpb24odCl7cmV0dXJuIFcoUSh0aGlzLDgsdCxhcmd1bWVudHMubGVuZ3RoPjEmJmFyZ3VtZW50c1sxXSksNTIpfSxzZXRJbnQ4OmZ1bmN0aW9uKHQsZSl7Syh0aGlzLDEsdCxILGUpfSxzZXRVaW50ODpmdW5jdGlvbih0LGUpe0sodGhpcywxLHQsSCxlKX0sc2V0SW50MTY6ZnVuY3Rpb24odCxlKXtLKHRoaXMsMix0LFUsZSxhcmd1bWVudHMubGVuZ3RoPjImJmFyZ3VtZW50c1syXSl9LHNldFVpbnQxNjpmdW5jdGlvbih0LGUpe0sodGhpcywyLHQsVSxlLGFyZ3VtZW50cy5sZW5ndGg+MiYmYXJndW1lbnRzWzJdKX0sc2V0SW50MzI6ZnVuY3Rpb24odCxlKXtLKHRoaXMsNCx0LFYsZSxhcmd1bWVudHMubGVuZ3RoPjImJmFyZ3VtZW50c1syXSl9LHNldFVpbnQzMjpmdW5jdGlvbih0LGUpe0sodGhpcyw0LHQsVixlLGFyZ3VtZW50cy5sZW5ndGg+MiYmYXJndW1lbnRzWzJdKX0sc2V0RmxvYXQzMjpmdW5jdGlvbih0LGUpe0sodGhpcyw0LHQsWSxlLGFyZ3VtZW50cy5sZW5ndGg+MiYmYXJndW1lbnRzWzJdKX0sc2V0RmxvYXQ2NDpmdW5jdGlvbih0LGUpe0sodGhpcyw4LHQsWCxlLGFyZ3VtZW50cy5sZW5ndGg+MiYmYXJndW1lbnRzWzJdKX19KTtrKEksIkFycmF5QnVmZmVyIiksaygkLCJEYXRhVmlldyIpLHQuZXhwb3J0cz17QXJyYXlCdWZmZXI6SSxEYXRhVmlldzokfX0sZWZiYTpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjdkZGIiKSxpPW4oIjRkMTYiKS5mb3JFYWNoLG89ci5hVHlwZWRBcnJheSxhPXIuZXhwb3J0VHlwZWRBcnJheU1ldGhvZDthKCJmb3JFYWNoIiwoZnVuY3Rpb24odCl7aShvKHRoaXMpLHQsYXJndW1lbnRzLmxlbmd0aD4xP2FyZ3VtZW50c1sxXTp2b2lkIDApfSkpfSxlZmU1OmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGUuZGVmYXVsdD1mdW5jdGlvbih0LGUsbil7ZSYmaSh0LnByb3RvdHlwZSxlKTtuJiZpKHQsbik7cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJwcm90b3R5cGUiLHt3cml0YWJsZTohMX0pLHR9LG4oIjZhNTQiKTt2YXIgcj1mdW5jdGlvbih0KXtyZXR1cm4gdCYmdC5fX2VzTW9kdWxlP3Q6e2RlZmF1bHQ6dH19KG4oIjE4ZTQiKSk7ZnVuY3Rpb24gaSh0LGUpe2Zvcih2YXIgbj0wO248ZS5sZW5ndGg7bisrKXt2YXIgaT1lW25dO2kuZW51bWVyYWJsZT1pLmVudW1lcmFibGV8fCExLGkuY29uZmlndXJhYmxlPSEwLCJ2YWx1ZSJpbiBpJiYoaS53cml0YWJsZT0hMCksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsKDAsci5kZWZhdWx0KShpLmtleSksaSl9fX0sZWZmYjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjcxZTkiKSxpPW4oIjZhYTYiKSxvPW4oIjhjMDgiKSxhPW4oIjgxYTkiKTt0LmV4cG9ydHM9ZnVuY3Rpb24oKXt2YXIgdD1pKCJTeW1ib2wiKSxlPXQmJnQucHJvdG90eXBlLG49ZSYmZS52YWx1ZU9mLHM9bygidG9QcmltaXRpdmUiKTtlJiYhZVtzXSYmYShlLHMsKGZ1bmN0aW9uKHQpe3JldHVybiByKG4sdGhpcyl9KSx7YXJpdHk6MX0pfX0sZjA3MjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3QuZXhwb3J0cz0iXHRcblx2XGZcciDCoOGagOKAgOKAgeKAguKAg+KAhOKAheKAhuKAh+KAiOKAieKAiuKAr+KBn+OAgFx1MjAyOFx1MjAyOVx1ZmVmZiJ9LGYwNzQ6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCI2YWE2IiksaT1uKCIxODFkIik7aShyKCJET01FeGNlcHRpb24iKSwiRE9NRXhjZXB0aW9uIil9LGYwYjU6ZnVuY3Rpb24odCxlLG4pe3ZhciByPW4oImZkY2EiKSxpPW4oImUxNTgiKSxvPVR5cGVFcnJvcjt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7aWYocih0KSlyZXR1cm4gdDt0aHJvdyBvKGkodCkrIiBpcyBub3QgYSBmdW5jdGlvbiIpfX0sZjIyMTpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjFjMDYiKSxpPU1hdGguZmxvb3I7dC5leHBvcnRzPU51bWJlci5pc0ludGVnZXJ8fGZ1bmN0aW9uKHQpe3JldHVybiFyKHQpJiZpc0Zpbml0ZSh0KSYmaSh0KT09PXR9fSxmMjU5OmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiYTFkNCIpLGk9bigiMzM4YyIpLG89bigiOTkxNyIpLGE9bigiZDZiMSIpLmY7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlPXIuU3ltYm9sfHwoci5TeW1ib2w9e30pO2koZSx0KXx8YShlLHQse3ZhbHVlOm8uZih0KX0pfX0sZjI5ODpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjQ5N2IiKSxpPW4oIjllNzAiKSxvPW4oIjg2MmMiKSxhPVJhbmdlRXJyb3I7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlPWkobyh0aGlzKSksbj0iIixzPXIodCk7aWYoczwwfHxzPT09MS8wKXRocm93IG5ldyBhKCJXcm9uZyBudW1iZXIgb2YgcmVwZXRpdGlvbnMiKTtmb3IoO3M+MDsocz4+Pj0xKSYmKGUrPWUpKTEmcyYmKG4rPWUpO3JldHVybiBufX0sZjNmMjpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjRkMTYiKS5mb3JFYWNoLGk9bigiMmIwNCIpLG89aSgiZm9yRWFjaCIpO3QuZXhwb3J0cz1vP1tdLmZvckVhY2g6ZnVuY3Rpb24odCl7cmV0dXJuIHIodGhpcyx0LGFyZ3VtZW50cy5sZW5ndGg+MT9hcmd1bWVudHNbMV06dm9pZCAwKX19LGY0Mzk6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCJmMGI1IiksaT1UeXBlRXJyb3Isbz1mdW5jdGlvbih0KXt2YXIgZSxuO3RoaXMucHJvbWlzZT1uZXcgdCgoZnVuY3Rpb24odCxyKXtpZih2b2lkIDAhPT1lfHx2b2lkIDAhPT1uKXRocm93IGkoIkJhZCBQcm9taXNlIGNvbnN0cnVjdG9yIik7ZT10LG49cn0pKSx0aGlzLnJlc29sdmU9cihlKSx0aGlzLnJlamVjdD1yKG4pfTt0LmV4cG9ydHMuZj1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IG8odCl9fSxmNTQ3OmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiN2RkYiIpLGk9bigiOWY5ZSIpLG89bigiNTE0NSIpLGE9ci5hVHlwZWRBcnJheSxzPXIuZXhwb3J0VHlwZWRBcnJheU1ldGhvZDtzKCJsYXN0SW5kZXhPZiIsKGZ1bmN0aW9uKHQpe3ZhciBlPWFyZ3VtZW50cy5sZW5ndGg7cmV0dXJuIGkobyxhKHRoaXMpLGU+MT9bdCxhcmd1bWVudHNbMV1dOlt0XSl9KSl9LGY1NTU6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCI4NWMxIiksaT1uKCJhYjRhIiksbz1uKCJlNGNhIiksYT1uKCI0NzFkIikscz1uKCJhZjllIiksYz1yLlJlZ0V4cCx1PWMucHJvdG90eXBlLGw9aSYmcygoZnVuY3Rpb24oKXt2YXIgdD0hMDt0cnl7YygiLiIsImQiKX1jYXRjaChsKXt0PSExfXZhciBlPXt9LG49IiIscj10PyJkZ2ltc3kiOiJnaW1zeSIsaT1mdW5jdGlvbih0LHIpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHQse2dldDpmdW5jdGlvbigpe3JldHVybiBuKz1yLCEwfX0pfSxvPXtkb3RBbGw6InMiLGdsb2JhbDoiZyIsaWdub3JlQ2FzZToiaSIsbXVsdGlsaW5lOiJtIixzdGlja3k6InkifTtmb3IodmFyIGEgaW4gdCYmKG8uaGFzSW5kaWNlcz0iZCIpLG8paShhLG9bYV0pO3ZhciBzPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodSwiZmxhZ3MiKS5nZXQuY2FsbChlKTtyZXR1cm4gcyE9PXJ8fG4hPT1yfSkpO2wmJm8odSwiZmxhZ3MiLHtjb25maWd1cmFibGU6ITAsZ2V0OmF9KX0sZjViZDpmdW5jdGlvbih0LGUpe3QuZXhwb3J0cz1mdW5jdGlvbih0KXtyZXR1cm4gdCYmdC5fX2VzTW9kdWxlP3Q6e2RlZmF1bHQ6dH19LHQuZXhwb3J0cy5fX2VzTW9kdWxlPSEwLHQuZXhwb3J0c1siZGVmYXVsdCJdPXQuZXhwb3J0c30sZjY2MDpmdW5jdGlvbih0LGUsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjdlNDEiKSxpPW4oIjg2MmMiKTt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIHIoaSh0KSl9fSxmN2E1OmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiOGJkYiIpLGk9bigiYWM1ZiIpLG89bigiOGFlMiIpLGE9bigiMWMwNiIpLHM9bigiZTM0YyIpLGM9bigiMWZjMSIpLHU9bigiZjY2MCIpLGw9bigiODVmNyIpLGY9bigiOGMwOCIpLGQ9bigiYTU1NCIpLGg9bigiMzdhZCIpLHA9ZCgic2xpY2UiKSx2PWYoInNwZWNpZXMiKSxnPUFycmF5LG09TWF0aC5tYXg7cih7dGFyZ2V0OiJBcnJheSIscHJvdG86ITAsZm9yY2VkOiFwfSx7c2xpY2U6ZnVuY3Rpb24odCxlKXt2YXIgbixyLGYsZD11KHRoaXMpLHA9YyhkKSxiPXModCxwKSx5PXModm9pZCAwPT09ZT9wOmUscCk7aWYoaShkKSYmKG49ZC5jb25zdHJ1Y3RvcixvKG4pJiYobj09PWd8fGkobi5wcm90b3R5cGUpKT9uPXZvaWQgMDphKG4pJiYobj1uW3ZdLG51bGw9PT1uJiYobj12b2lkIDApKSxuPT09Z3x8dm9pZCAwPT09bikpcmV0dXJuIGgoZCxiLHkpO2ZvcihyPW5ldyh2b2lkIDA9PT1uP2c6bikobSh5LWIsMCkpLGY9MDtiPHk7YisrLGYrKyliIGluIGQmJmwocixmLGRbYl0pO3JldHVybiByLmxlbmd0aD1mLHJ9fSl9LGY4MmM6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCJjODZiIiksaT1uKCI0MTViIiksbz1uKCIyOWQ1IiksYT1uKCIxZmFhIikscz1vKCJzcGVjaWVzIik7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlPXIodCksbj1pLmY7YSYmZSYmIWVbc10mJm4oZSxzLHtjb25maWd1cmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9fSl9fSxmOTkxOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiODVjMSIpLGk9bigiNzFlOSIpLG89bigiN2RkYiIpLGE9bigiMWZjMSIpLHM9bigiMWMxNiIpLGM9bigiMTA5OSIpLHU9bigiYWY5ZSIpLGw9ci5SYW5nZUVycm9yLGY9ci5JbnQ4QXJyYXksZD1mJiZmLnByb3RvdHlwZSxoPWQmJmQuc2V0LHA9by5hVHlwZWRBcnJheSx2PW8uZXhwb3J0VHlwZWRBcnJheU1ldGhvZCxnPSF1KChmdW5jdGlvbigpe3ZhciB0PW5ldyBVaW50OENsYW1wZWRBcnJheSgyKTtyZXR1cm4gaShoLHQse2xlbmd0aDoxLDA6M30sMSksMyE9PXRbMV19KSksbT1nJiZvLk5BVElWRV9BUlJBWV9CVUZGRVJfVklFV1MmJnUoKGZ1bmN0aW9uKCl7dmFyIHQ9bmV3IGYoMik7cmV0dXJuIHQuc2V0KDEpLHQuc2V0KCIyIiwxKSwwIT09dFswXXx8MiE9PXRbMV19KSk7digic2V0IiwoZnVuY3Rpb24odCl7cCh0aGlzKTt2YXIgZT1zKGFyZ3VtZW50cy5sZW5ndGg+MT9hcmd1bWVudHNbMV06dm9pZCAwLDEpLG49Yyh0KTtpZihnKXJldHVybiBpKGgsdGhpcyxuLGUpO3ZhciByPXRoaXMubGVuZ3RoLG89YShuKSx1PTA7aWYobytlPnIpdGhyb3cgbmV3IGwoIldyb25nIGxlbmd0aCIpO3doaWxlKHU8byl0aGlzW2UrdV09blt1KytdfSksIWd8fG0pfSxmOWVkOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiYzIxNSIpLGk9bigiZGRkMyIpO3QuZXhwb3J0cz1mdW5jdGlvbih0KXt2YXIgZT1yKHQsInN0cmluZyIpO3JldHVybiBpKGUpP2U6ZSsiIn19LGZhYjA6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0IjtuKCI2YTU0IiksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGUuZGVmYXVsdD1mdW5jdGlvbih0LGUpe2lmKCJvYmplY3QiIT09KDAsci5kZWZhdWx0KSh0KXx8bnVsbD09PXQpcmV0dXJuIHQ7dmFyIG49dFtTeW1ib2wudG9QcmltaXRpdmVdO2lmKHZvaWQgMCE9PW4pe3ZhciBpPW4uY2FsbCh0LGV8fCJkZWZhdWx0Iik7aWYoIm9iamVjdCIhPT0oMCxyLmRlZmF1bHQpKGkpKXJldHVybiBpO3Rocm93IG5ldyBUeXBlRXJyb3IoIkBAdG9QcmltaXRpdmUgbXVzdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUuIil9cmV0dXJuKCJzdHJpbmciPT09ZT9TdHJpbmc6TnVtYmVyKSh0KX0sbigiOWUxNSIpLG4oIjg4NGIiKSxuKCIwMWEyIiksbigiZTM5YyIpLG4oImJmMGYiKSxuKCI3YTc2IiksbigiYzliNSIpLG4oIjY0YWEiKTt2YXIgcj1mdW5jdGlvbih0KXtyZXR1cm4gdCYmdC5fX2VzTW9kdWxlP3Q6e2RlZmF1bHQ6dH19KG4oImZjZjMiKSl9LGZhYzE6ZnVuY3Rpb24odCxlLG4pe3ZhciByLGksbyxhLHMsYyx1LGwsZj1uKCI4Mzk0IiksZD1uKCJkYmMzIiksaD1uKCJkOTUzIikuZixwPW4oImZkMWQiKS5zZXQsdj1uKCI2ZjE5IiksZz1uKCI3MGE1IiksbT1uKCJjODIwIiksYj1uKCJlOGI4IikseT1mLk11dGF0aW9uT2JzZXJ2ZXJ8fGYuV2ViS2l0TXV0YXRpb25PYnNlcnZlcixfPWYuZG9jdW1lbnQsdz1mLnByb2Nlc3MseD1mLlByb21pc2UsUz1oKGYsInF1ZXVlTWljcm90YXNrIiksaz1TJiZTLnZhbHVlO2t8fChyPWZ1bmN0aW9uKCl7dmFyIHQsZTtiJiYodD13LmRvbWFpbikmJnQuZXhpdCgpO3doaWxlKGkpe2U9aS5mbixpPWkubmV4dDt0cnl7ZSgpfWNhdGNoKG4pe3Rocm93IGk/YSgpOm89dm9pZCAwLG59fW89dm9pZCAwLHQmJnQuZW50ZXIoKX0sdnx8Ynx8bXx8IXl8fCFfPyFnJiZ4JiZ4LnJlc29sdmU/KHU9eC5yZXNvbHZlKHZvaWQgMCksdS5jb25zdHJ1Y3Rvcj14LGw9ZCh1LnRoZW4sdSksYT1mdW5jdGlvbigpe2wocil9KTpiP2E9ZnVuY3Rpb24oKXt3Lm5leHRUaWNrKHIpfToocD1kKHAsZiksYT1mdW5jdGlvbigpe3Aocil9KToocz0hMCxjPV8uY3JlYXRlVGV4dE5vZGUoIiIpLG5ldyB5KHIpLm9ic2VydmUoYyx7Y2hhcmFjdGVyRGF0YTohMH0pLGE9ZnVuY3Rpb24oKXtjLmRhdGE9cz0hc30pKSx0LmV4cG9ydHM9a3x8ZnVuY3Rpb24odCl7dmFyIGU9e2ZuOnQsbmV4dDp2b2lkIDB9O28mJihvLm5leHQ9ZSksaXx8KGk9ZSxhKCkpLG89ZX19LGZiNmI6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCIzZjU3IiksaT1yKCJzcGFuIikuY2xhc3NMaXN0LG89aSYmaS5jb25zdHJ1Y3RvciYmaS5jb25zdHJ1Y3Rvci5wcm90b3R5cGU7dC5leHBvcnRzPW89PT1PYmplY3QucHJvdG90eXBlP3ZvaWQgMDpvfSxmY2YzOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcih0KXtyZXR1cm4gZS5kZWZhdWx0PXI9ImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmInN5bWJvbCI9PXR5cGVvZiBTeW1ib2wuaXRlcmF0b3I/ZnVuY3Rpb24odCl7cmV0dXJuIHR5cGVvZiB0fTpmdW5jdGlvbih0KXtyZXR1cm4gdCYmImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmdC5jb25zdHJ1Y3Rvcj09PVN5bWJvbCYmdCE9PVN5bWJvbC5wcm90b3R5cGU/InN5bWJvbCI6dHlwZW9mIHR9LHIodCl9bigiNmE1NCIpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxlLmRlZmF1bHQ9cixuKCIwMWEyIiksbigiZTM5YyIpLG4oImJmMGYiKSxuKCI4NDRkIiksbigiMThmNyIpLG4oImRlNmMiKX0sZmQxZDpmdW5jdGlvbih0LGUsbil7dmFyIHIsaSxvLGEscz1uKCI4Mzk0IiksYz1uKCIzMzBkIiksdT1uKCJkYmMzIiksbD1uKCJmZGNhIiksZj1uKCI3N2NkIiksZD1uKCI3YWE2IiksaD1uKCIzNjcxIikscD1uKCJiMTMwIiksdj1uKCIzYjc4IiksZz1uKCJmZTdkIiksbT1uKCI2ZjE5IiksYj1uKCJlOGI4IikseT1zLnNldEltbWVkaWF0ZSxfPXMuY2xlYXJJbW1lZGlhdGUsdz1zLnByb2Nlc3MseD1zLkRpc3BhdGNoLFM9cy5GdW5jdGlvbixrPXMuTWVzc2FnZUNoYW5uZWwsQz1zLlN0cmluZyxPPTAsVD17fTt0cnl7cj1zLmxvY2F0aW9ufWNhdGNoKEkpe312YXIgRT1mdW5jdGlvbih0KXtpZihmKFQsdCkpe3ZhciBlPVRbdF07ZGVsZXRlIFRbdF0sZSgpfX0sQT1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oKXtFKHQpfX0saj1mdW5jdGlvbih0KXtFKHQuZGF0YSl9LE09ZnVuY3Rpb24odCl7cy5wb3N0TWVzc2FnZShDKHQpLHIucHJvdG9jb2wrIi8vIityLmhvc3QpfTt5JiZffHwoeT1mdW5jdGlvbih0KXtnKGFyZ3VtZW50cy5sZW5ndGgsMSk7dmFyIGU9bCh0KT90OlModCksbj1wKGFyZ3VtZW50cywxKTtyZXR1cm4gVFsrK09dPWZ1bmN0aW9uKCl7YyhlLHZvaWQgMCxuKX0saShPKSxPfSxfPWZ1bmN0aW9uKHQpe2RlbGV0ZSBUW3RdfSxiP2k9ZnVuY3Rpb24odCl7dy5uZXh0VGljayhBKHQpKX06eCYmeC5ub3c/aT1mdW5jdGlvbih0KXt4Lm5vdyhBKHQpKX06ayYmIW0/KG89bmV3IGssYT1vLnBvcnQyLG8ucG9ydDEub25tZXNzYWdlPWosaT11KGEucG9zdE1lc3NhZ2UsYSkpOnMuYWRkRXZlbnRMaXN0ZW5lciYmbChzLnBvc3RNZXNzYWdlKSYmIXMuaW1wb3J0U2NyaXB0cyYmciYmImZpbGU6IiE9PXIucHJvdG9jb2wmJiFkKE0pPyhpPU0scy5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIixqLCExKSk6aT0ib25yZWFkeXN0YXRlY2hhbmdlImluIHYoInNjcmlwdCIpP2Z1bmN0aW9uKHQpe2guYXBwZW5kQ2hpbGQodigic2NyaXB0IikpWyJvbnJlYWR5c3RhdGVjaGFuZ2UiXT1mdW5jdGlvbigpe2gucmVtb3ZlQ2hpbGQodGhpcyksRSh0KX19OmZ1bmN0aW9uKHQpe3NldFRpbWVvdXQoQSh0KSwwKX0pLHQuZXhwb3J0cz17c2V0OnksY2xlYXI6X319LGZkM2M6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCI4YmRiIiksaT1uKCI0ZDE2IikubWFwLG89bigiYTU1NCIpLGE9bygibWFwIik7cih7dGFyZ2V0OiJBcnJheSIscHJvdG86ITAsZm9yY2VkOiFhfSx7bWFwOmZ1bmN0aW9uKHQpe3JldHVybiBpKHRoaXMsdCxhcmd1bWVudHMubGVuZ3RoPjE/YXJndW1lbnRzWzFdOnZvaWQgMCl9fSl9LGZkY2E6ZnVuY3Rpb24odCxlLG4pe3ZhciByPW4oImMyZDciKSxpPXIuYWxsO3QuZXhwb3J0cz1yLklTX0hUTUxEREE/ZnVuY3Rpb24odCl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHR8fHQ9PT1pfTpmdW5jdGlvbih0KXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgdH19LGZlN2Q6ZnVuY3Rpb24odCxlKXt2YXIgbj1UeXBlRXJyb3I7dC5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7aWYodDxlKXRocm93IG4oIk5vdCBlbm91Z2ggYXJndW1lbnRzIik7cmV0dXJuIHR9fSxmZWIzOmZ1bmN0aW9uKHQsZSxuKXtuKCI2YTg4IiksbigiYmYwZiIpLG4oIjc5OTYiKTt2YXIgcj1uKCIxNGJkIiksaT1uKCJjZGI3Iiksbz1uKCJhMzYyIik7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlPWkoKTtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgbixpPXIodCk7aWYoZSl7dmFyIGE9cih0aGlzKS5jb25zdHJ1Y3RvcjtuPVJlZmxlY3QuY29uc3RydWN0KGksYXJndW1lbnRzLGEpfWVsc2Ugbj1pLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtyZXR1cm4gbyh0aGlzLG4pfX0sdC5leHBvcnRzLl9fZXNNb2R1bGU9ITAsdC5leHBvcnRzWyJkZWZhdWx0Il09dC5leHBvcnRzfSxmZWMzOmZ1bmN0aW9uKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiYWI0YSIpLGk9bigiYWY5ZSIpO3QuZXhwb3J0cz1yJiZpKChmdW5jdGlvbigpe3JldHVybiA0MiE9PU9iamVjdC5kZWZpbmVQcm9wZXJ0eSgoZnVuY3Rpb24oKXt9KSwicHJvdG90eXBlIix7dmFsdWU6NDIsd3JpdGFibGU6ITF9KS5wcm90b3R5cGV9KSl9LGZmNGY6ZnVuY3Rpb24odCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCIwMGMyIiksaT1uKCI2MmY3Iik7dC5leHBvcnRzPU9iamVjdC5rZXlzfHxmdW5jdGlvbih0KXtyZXR1cm4gcih0LGkpfX19XSk7"}},"time_used":269,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":264,"receive":5,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null},{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"futurbcvndf.com/static/DIN-Regular.ttf","fqdn":"futurbcvndf.com","domain":"futurbcvndf.com","tld":"com"},"ip":{"addr":"172.67.130.50","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://futurbcvndf.com/","date":"2026-07-27T06:23:01.049Z","timestamp":1785133381049,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"futurbcvndf.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 16 Jul 2026 16:36:02 GMT","end":"Wed, 14 Oct 2026 16:36:01 GMT"},"fingerprint":{"sha1":"46:2D:5F:F0:3D:BD:73:19:93:72:79:62:4A:45:03:09:5D:FB:1E:A5","sha256":"35:31:C4:67:1D:DB:68:C3:FB:49:03:14:DD:4E:76:FE:13:53:8D:98:98:2E:BE:EA:B8:CA:4F:B6:5B:7E:5C:1D"}}},"request":{"raw":"GET /static/DIN-Regular.ttf HTTP/1.1\r\nHost: futurbcvndf.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://futurbcvndf.com/\r\nCookie: angela_session=eyJpdiI6IlhnUEZEQ1hLNngxS0t2ZGN3TnJjV1E9PSIsInZhbHVlIjoiVGlYZUpmMXVPdEhuTGtoQzhTS3VXM3BIN3J4ZDZnU2dNTWxTc0NRcHNMTXFyNm1wQTZEQ0RKTWJ0UjRERWZ5aDBaQWxVaVdmN0VVQkNna0M2ZTJ2dTdFZkx3amdIYjZlQzEzMHozajVqTzMybnhMOHo1bEpuaXdQM1R3UVN4QmQiLCJtYWMiOiJiZWIyMTJlYzc4OWUzODk0ODBiOTI5NmU0MjA2MDBmZjJmYzA2MTI3ZjViNmY4NWYxNzIyNDI4MDhhYWMzZmI4In0%3D\r\nSec-Fetch-Dest: font\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\nserver: cloudflare\r\ndate: Mon, 27 Jul 2026 06:23:01 GMT\r\ncontent-type: application/octet-stream\r\nserver-timing: cfExtPri\r\npriority: u=3,i=?0\r\nlast-modified: Fri, 20 Jun 2025 15:49:45 GMT\r\netag: \"68558319-6064\"\r\nstrict-transport-security: max-age=31536000\r\naccept-ranges: bytes\r\ncache-control: max-age=14400\r\ncf-cache-status: REVALIDATED\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=GfoDSRO37weA9Ky2xgisbFhvruc1PSLGl5uD%2FdJ6M3p2Bg1UBuMNu9vjyWTHlu190MrIG7y1Q5a1HxWdUFcrkxQk3X%2BVJ81bPefY5vl2S2v7QW4kGn9X13B6yY9kXmIvZFQ%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\ncf-ray: a2198d8f893a0daa-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\ncontent-length: 24676\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":24676,"size_decoded":25433,"mime_type":"application/octet-stream","magic":"TrueType Font data, 15 tables, 1st \"FFTM\", 14 names, Macintosh","md5":"1e0b91dcb4ed262d0c603006919a1fd8","sha1":"aa0cecebc344f5a3bbd614ab97a42ff8f8637d46","sha256":"4749fb5068ba31c2cba31bf6c7340977fc21cf0e9339bdf155dd57457cfc9e0d","sha512":"dc5635a9a7a8f0b3b454de6c1cd56bd22d16310a18b874f153a38bdecaf41dad5eea2405f3e092d9040f9278d37cc5163dba32f3478f91d7a6a348f4ee708bd8","ssdeep":"384:9iJk3F9sakdL5E5P/y5QJ0FNpmuJqJgkJhBZ5JeJMz1vHJb90KILamCKwL/plOLz:9JmdlAn2/pm6cBpJX2sdX4","tlshash":"9db27c0957424b0fc7277e308e2642a2d725fcb427fa9bdb9d44d8f7606d2e34c68a45","first_seen":"2023-04-17T17:59:29Z","last_seen":"2026-08-03T11:16:08.604299Z","times_seen":546,"resource_available":false,"data":"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AIP/9gCE//YAhf/2AIb/9gCH//YAAQAk//YADQAm//YAKv/2AC0ADAAy//YANP/2AFz/4QCI//YAk//2AJT/9gCV//YAlv/2AJf/9gDE//YAFgAm/9wAKv/cAC0ADAAy/9wANP/cADf/sAA4/+AAOf+6ADr/2AA8/7AAXP/EAIj/4ACT/9wAlP/cAJX/3ACW/9wAl//cAMT/3ADZ/2oA2v9qANz/agDd/2oAFgAR/5IAJP/OAC3/iABE//YARv/2AEf/9gBI//YASv/2AFL/9gBU//YAVv/2AIH/zgCC/84Ag//OAIT/zgCF/84Ahv/OAIf/zgCn//YAqP/2ALn/9gDF//YAAQAt/+gAAwAt/+wANv/wADz/7AAsABH/sAAk/8QAJv/sACr/7AAt/7AAMv/sADT/7ABE/7QARv+0AEf/tABI/7QASv+0AFD/ygBR/8oAUv+0AFP/ygBU/7QAVf/KAFb/tABY/8oAWf/KAFr/ygBb/8oAXP/KAF3/ygCB/8QAgv/EAIP/xACE/8QAhf/EAIb/xACH/8QAiP/sAJP/7ACU/+wAlf/sAJb/7ACX/+wAmf/sAKf/tACo/7QAuf+0AMT/7ADF/7QAAQAt/+AAKQAR/7AAJP/dACb/9gAq//YAMv/2ADT/9gBE/9gARv/YAEf/2ABI/9gASv/YAFD/7ABR/+wAUv/YAFP/7ABU/9gAVf/sAFb/2ABY/+wAW//sAFz/9gBd/+wAgf/dAIL/3QCD/90AhP/dAIX/3QCG/90Ah//dAIj/9gCT//YAlP/2AJX/9gCW//YAl//2AJn/9gCn/9gAqP/YALn/2ADE//YAxf/YACEAEf/OACT/9QAm//YAKv/2ADL/9gA0//YARP/YAEb/2ABH/9gASP/YAEr/2ABS/9gAVP/YAFb/2ACB//UAgv/1AIP/9QCE//UAhf/1AIb/9QCH//UAiP/2AJP/9gCU//YAlf/2AJb/9gCX//YAmf/2AKf/2ACo/9gAuf/YAMT/9gDF/9gADQAm//YAKv/2AC0ADAAy//YANP/2AFz/7QCI//YAk//2AJT/9gCV//YAlv/2AJf/9gDE//YAKQAR/7AAJP/YACb/9gAq//YALf/YADL/9gA0//YARP+wAEb/sABH/7AASP+wAEr/sABQ/9gAUf/YAFL/sABT/9gAVP+wAFX/2ABW/7AAWP/YAFv/2ABd/9gAgf/YAIL/2ACD/9gAhP/YAIX/2ACG/9gAh//YAIj/9gCT//YAlP/2AJX/9gCW//YAl//2AJn/9gCn/7AAqP+wALn/sADE//YAxf+wABcARP/0AEb/8QBH//YASP/xAFL/8QBa/+wAof/0AKL/9ACj//QApP/0AKX/9ACm//QAp//0AKn/8QCq//EAq//xAKz/8QCz//EAtP/xALX/8QC2//EAt//xAMX/8QAEAFn/9gBa//sAW//wAFz/9gANAA0AFAAR/84ARP/tAEb/7QBI/+0AUv/tAKf/7QCo/+0Axf/tANkAFADaABQA3AAUAN0AFAASAEb/7ABH/+wASP/sAEr/7ABS/+wAVP/sAKf/7ACo/+wAqf/sAKr/7ACr/+wArP/sALP/7AC0/+wAtf/sALb/7AC3/+wAxf/sAAsADf/EAEb/5wBI/+cAUv/sAFn/2ABa/+wAXP/pANn/xADa/8QA3P/EAN3/xAAEAFn/9gBa//sAW//sAFz/9gAWABH/iABE//YARv/eAEf/3gBI/94ASv/eAFL/3gBU/94AVv/2AKf/3gCo/94Aqf/eAKr/3gCr/94ArP/eALP/3gC0/94Atf/eALb/3gC3/94Auf/eAMX/3gAEAFb/8ABX//YAWf/2ANr/0AAHAET/+ABG//gASP/4AFL/+ACn//gAqP/4AMX/+AATABH/vABE//YARv/2AEj/9gBS//YAVv/2AKf/9gCo//YAqf/2AKr/9gCr//YArP/2ALP/9gC0//YAtf/2ALb/9gC3//YAuf/2AMX/9gARABH/ygBG//sASP/7AFL/+wCn//sAqP/7AKn/+wCq//sAq//7AKz/+wCz//sAtP/7ALX/+wC2//sAt//7ALn/+wDF//sAEABG/+wASP/sAFL/7ACn/+wAqP/sAKn/7ACq/+wAq//sAKz/7ACz/+wAtP/sALX/7AC2/+wAt//sALn/7ADF/+wAEgAR/7wARP/2AEb/9gBI//YAUv/2AKf/9gCo//YAqf/2AKr/9gCr//YArP/2ALP/9gC0//YAtf/2ALb/9gC3//YAuf/2AMX/9gALACb/9gAq//YAMv/2ADT/9gA3/8QAOf/dADr/8gA8/90AWf/vAFz/7wDE//gACwAm//YAKv/2ADL/9gA0//YAN//EADn/3QA6//IAPP/dAFn/7wBc//QAxP/4AAsAJv/2ACr/9gAy//YANP/2ADf/xAA5/90AOv/yADz/3QBZ/+8AXP/vAMT/9gAIACT/9gAt/+AAN//sADn/9gA6//YAO//2ADz/9gCH//gABwAk//YALf/gADf/7AA5//YAOv/2ADv/9gA8//YABgBE//QARv/0AEj/8QBS//EAp//0AMX/8QAKACT/sAAt/4gAVv/EAIH/sACC/7AAg/+wAIT/sACF/7AAhv+wAIf/sAAJACT/sAAt/4gAgf+wAIL/sACD/7AAhP+wAIX/sACG/7AAh/+wAAQAN/+WADn/sAA6/84APP+WAAIAEQAkACoAAAAtAC8ABwAyADMACgA1ADwADABGAEYAFABIAEkAFQBOAE8AFwBSAFIAGQBVAFcAGgBZAFwAHQCBAIYAIQCIAIgAJwCTAJcAKACoAKwALQCzALcAMgDZANoANwDcAN4AOQAAAAAAAQAAAADaiI1MAAAAAMGx6n0AAAAAwbHqfQ=="}},"time_used":184,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":184,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null},{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"futurbcvndf.com/api/lh/deposit/config?lang=en","fqdn":"futurbcvndf.com","domain":"futurbcvndf.com","tld":"com"},"ip":{"addr":"172.67.130.50","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://futurbcvndf.com/","date":"2026-07-27T06:23:01.498Z","timestamp":1785133381498,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"futurbcvndf.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 16 Jul 2026 16:36:02 GMT","end":"Wed, 14 Oct 2026 16:36:01 GMT"},"fingerprint":{"sha1":"46:2D:5F:F0:3D:BD:73:19:93:72:79:62:4A:45:03:09:5D:FB:1E:A5","sha256":"35:31:C4:67:1D:DB:68:C3:FB:49:03:14:DD:4E:76:FE:13:53:8D:98:98:2E:BE:EA:B8:CA:4F:B6:5B:7E:5C:1D"}}},"request":{"raw":"GET /api/lh/deposit/config?lang=en HTTP/1.1\r\nHost: futurbcvndf.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nAuthorization: \r\nContent-Type: application/x-www-form-urlencoded\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://futurbcvndf.com/\r\nCookie: angela_session=eyJpdiI6IlhnUEZEQ1hLNngxS0t2ZGN3TnJjV1E9PSIsInZhbHVlIjoiVGlYZUpmMXVPdEhuTGtoQzhTS3VXM3BIN3J4ZDZnU2dNTWxTc0NRcHNMTXFyNm1wQTZEQ0RKTWJ0UjRERWZ5aDBaQWxVaVdmN0VVQkNna0M2ZTJ2dTdFZkx3amdIYjZlQzEzMHozajVqTzMybnhMOHo1bEpuaXdQM1R3UVN4QmQiLCJtYWMiOiJiZWIyMTJlYzc4OWUzODk0ODBiOTI5NmU0MjA2MDBmZjJmYzA2MTI3ZjViNmY4NWYxNzIyNDI4MDhhYWMzZmI4In0%3D\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\nserver: cloudflare\r\ndate: Mon, 27 Jul 2026 06:23:02 GMT\r\ncontent-type: application/json\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=zoumvJSQI0H2ddq49%2BdMEDpN2uZr6dbUkaV4MXBwj1thnr5ilhg6yXkImLpCrMUlKaMnusFvTEWyViOdefYzC8HwwuaRaP7Nd6DHj3qMuWLRbiULlpeSGEV%2FOWSqY70fXqM%3D\"}]}\r\npriority: u=3,i=?0\r\naccess-control-allow-origin: *\r\naccess-control-allow-methods: POST,GET,OPTIONS,DELETE\r\naccess-control-allow-headers: x-requested-with,content-type,Authorization\r\ncache-control: no-cache, private, no-cache\r\nx-ratelimit-limit: 60\r\nx-ratelimit-remaining: 59\r\nstrict-transport-security: max-age=31536000\r\ncf-cache-status: DYNAMIC\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\ncontent-encoding: zstd\r\ncf-ray: a2198d9259b80daa-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":1678,"size_decoded":1231,"mime_type":"application/json","magic":"JSON text data","md5":"aa43f5462b4836a848ffb89345fd9041","sha1":"4a3d5b29860efe3e890485c6c4712ce0e7ae98b1","sha256":"6bf9a5288048dcd46147667d64b9d40f54023390e0e67f1de3eea1bd7dc30667","sha512":"0732c6bbac93bc202adecb67350c657d4c2513527580ac2b260d61bedc6080bd201a58f43c8b3a1294b8af67c4f2c2caad4c0a874ea6797c1800a2f3b6855a39","ssdeep":"","tlshash":"3631e929765ddbf4c56806c657dab0acb096324f2ecf4ac827cdecac42d4532e018972","first_seen":"2026-04-17T07:46:54.387723Z","last_seen":"2026-07-27T06:23:39.756619Z","times_seen":81,"resource_available":false,"data":"eyJ0eXBlIjoib2siLCJtZXNzYWdlIjpbeyJjdXJyZW5jeV9uYW1lIjoiVVNEVCIsImN1cnJlbmN5X2xvZ28iOiJodHRwczpcL1wvd3d3LmhjZ2xvYmFsLnRvcFwvdXBsb2FkXC8xNjAzMTI0MzAzNzAxMDU4LnBuZyIsImlkIjo3LCJjdXJyZW5jeV9pZCI6MywiaW50ZXJlc3RfcmF0ZSI6IjAuMjAwMCIsInNhdmVfbWluIjoiNTAwLjAwMDAwMDAwIiwiZGF5IjozLCJpbnRybyI6IjAuMiUiLCJjcmVhdGVkX2F0IjoiMjAyMS0wNy0yNiAyMToyMDo0NiJ9LHsiY3VycmVuY3lfbmFtZSI6IlVTRFQiLCJjdXJyZW5jeV9sb2dvIjoiaHR0cHM6XC9cL3d3dy5oY2dsb2JhbC50b3BcL3VwbG9hZFwvMTYwMzEyNDMwMzcwMTA1OC5wbmciLCJpZCI6OCwiY3VycmVuY3lfaWQiOjMsImludGVyZXN0X3JhdGUiOiIwLjI1MDAiLCJzYXZlX21pbiI6IjEwMDAuMDAwMDAwMDAiLCJkYXkiOjcsImludHJvIjoiMC4yNSUiLCJjcmVhdGVkX2F0IjoiMjAyMS0wNy0yNiAyMToyMDo1OCJ9LHsiY3VycmVuY3lfbmFtZSI6IlVTRFQiLCJjdXJyZW5jeV9sb2dvIjoiaHR0cHM6XC9cL3d3dy5oY2dsb2JhbC50b3BcL3VwbG9hZFwvMTYwMzEyNDMwMzcwMTA1OC5wbmciLCJpZCI6OSwiY3VycmVuY3lfaWQiOjMsImludGVyZXN0X3JhdGUiOiIwLjMwMDAiLCJzYXZlX21pbiI6IjEwMDAwLjAwMDAwMDAwIiwiZGF5IjoxNSwiaW50cm8iOiIwLjMlIiwiY3JlYXRlZF9hdCI6IjIwMjEtMDctMjYgMjE6MjE6MjEifSx7ImN1cnJlbmN5X25hbWUiOiJVU0RUIiwiY3VycmVuY3lfbG9nbyI6Imh0dHBzOlwvXC93d3cuaGNnbG9iYWwudG9wXC91cGxvYWRcLzE2MDMxMjQzMDM3MDEwNTgucG5nIiwiaWQiOjEwLCJjdXJyZW5jeV9pZCI6MywiaW50ZXJlc3RfcmF0ZSI6IjAuMzYwMCIsInNhdmVfbWluIjoiMTAwMDAwLjAwMDAwMDAwIiwiZGF5IjozMCwiaW50cm8iOiIwLjM2JSIsImNyZWF0ZWRfYXQiOiIyMDIxLTA3LTI2IDIxOjIxOjQ5In0seyJjdXJyZW5jeV9uYW1lIjoiVVNEVCIsImN1cnJlbmN5X2xvZ28iOiJodHRwczpcL1wvd3d3LmhjZ2xvYmFsLnRvcFwvdXBsb2FkXC8xNjAzMTI0MzAzNzAxMDU4LnBuZyIsImlkIjoxMiwiY3VycmVuY3lfaWQiOjMsImludGVyZXN0X3JhdGUiOiIwLjQwMDAiLCJzYXZlX21pbiI6IjI1MDAwMC4wMDAwMDAwMCIsImRheSI6NjAsImludHJvIjoiMC40JSIsImNyZWF0ZWRfYXQiOiIyMDIxLTA3LTI2IDIxOjIyOjE4In0seyJjdXJyZW5jeV9uYW1lIjoiVVNEVCIsImN1cnJlbmN5X2xvZ28iOiJodHRwczpcL1wvd3d3LmhjZ2xvYmFsLnRvcFwvdXBsb2FkXC8xNjAzMTI0MzAzNzAxMDU4LnBuZyIsImlkIjoxNCwiY3VycmVuY3lfaWQiOjMsImludGVyZXN0X3JhdGUiOiIwLjQ0MDAiLCJzYXZlX21pbiI6IjUwMDAwMC4wMDAwMDAwMCIsImRheSI6OTAsImludHJvIjoiMC40NCUiLCJjcmVhdGVkX2F0IjoiMjAyNS0wOC0zMCAwODoyMToyMiJ9LHsiY3VycmVuY3lfbmFtZSI6IlVTRFQiLCJjdXJyZW5jeV9sb2dvIjoiaHR0cHM6XC9cL3d3dy5oY2dsb2JhbC50b3BcL3VwbG9hZFwvMTYwMzEyNDMwMzcwMTA1OC5wbmciLCJpZCI6MTUsImN1cnJlbmN5X2lkIjozLCJpbnRlcmVzdF9yYXRlIjoiMC41MDAwIiwic2F2ZV9taW4iOiIxMDAwMDAwLjAwMDAwMDAwIiwiZGF5IjoxODAsImludHJvIjoiMC41JSIsImNyZWF0ZWRfYXQiOiIyMDI1LTA5LTAxIDEwOjM2OjExIn1dfQ=="}},"time_used":593,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":593,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null},{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"futurbcvndf.com/","fqdn":"futurbcvndf.com","domain":"futurbcvndf.com","tld":"com"},"ip":{"addr":"172.67.130.50","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":true,"resource_type":"document","requested_by":"","date":"2026-07-27T06:22:59.340Z","timestamp":1785133379340,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"futurbcvndf.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 16 Jul 2026 16:36:02 GMT","end":"Wed, 14 Oct 2026 16:36:01 GMT"},"fingerprint":{"sha1":"46:2D:5F:F0:3D:BD:73:19:93:72:79:62:4A:45:03:09:5D:FB:1E:A5","sha256":"35:31:C4:67:1D:DB:68:C3:FB:49:03:14:DD:4E:76:FE:13:53:8D:98:98:2E:BE:EA:B8:CA:4F:B6:5B:7E:5C:1D"}}},"request":{"raw":"GET / HTTP/1.1\r\nHost: futurbcvndf.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nUpgrade-Insecure-Requests: 1\r\nSec-Fetch-Dest: document\r\nSec-Fetch-Mode: navigate\r\nSec-Fetch-Site: none\r\nPriority: u=0, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\nserver: cloudflare\r\ndate: Mon, 27 Jul 2026 06:22:59 GMT\r\ncontent-type: text/html; charset=UTF-8\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=0,i\r\nvary: Accept-Encoding\r\ncache-control: no-cache, private, no-cache\r\nset-cookie: angela_session=eyJpdiI6IlhnUEZEQ1hLNngxS0t2ZGN3TnJjV1E9PSIsInZhbHVlIjoiVGlYZUpmMXVPdEhuTGtoQzhTS3VXM3BIN3J4ZDZnU2dNTWxTc0NRcHNMTXFyNm1wQTZEQ0RKTWJ0UjRERWZ5aDBaQWxVaVdmN0VVQkNna0M2ZTJ2dTdFZkx3amdIYjZlQzEzMHozajVqTzMybnhMOHo1bEpuaXdQM1R3UVN4QmQiLCJtYWMiOiJiZWIyMTJlYzc4OWUzODk0ODBiOTI5NmU0MjA2MDBmZjJmYzA2MTI3ZjViNmY4NWYxNzIyNDI4MDhhYWMzZmI4In0%3D; expires=Mon, 27-Jul-2026 08:22:59 GMT; Max-Age=7200; path=/; httponly\r\nstrict-transport-security: max-age=31536000\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=wF8jnhnEMnJdrVffZ7hD%2FvqdDoz%2FaVQBpvaCkQci%2BWyO78T0HzSAfWQRXw%2BPu6PdJaYCgW89sfhAuFU5vqUNaIIjirNAk%2BKIUX4xWYrqs59fO%2Bw7ghHZgfYFp%2BDMbfSTOEw%3D\"}]}\r\ncf-cache-status: DYNAMIC\r\ncontent-encoding: zstd\r\ncf-ray: a2198d8518150daa-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"jsDelivr","description":"JSDelivr is a free public CDN for open-source projects. It can serve web files directly from the npm registry and GitHub repositories without any configuration.","website":"https://www.jsdelivr.com/","common_platform_enumeration":"","icon":"jsdelivr-icon.svg","categories":["CDN"]},{"name":"Unpkg","description":"Unpkg is a content delivery network for everything on npm.","website":"https://unpkg.com","common_platform_enumeration":"","icon":"Unpkg.png","categories":["CDN"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":1251,"size_decoded":1794,"mime_type":"text/html; charset=UTF-8","magic":"HTML document, ASCII text, with very long lines (592), with CRLF line terminators","md5":"d981958f8dd6b411b0cacd4647ba78fe","sha1":"c96579563e0bfa0287b0229529125618ba85f795","sha256":"21e63622fb622d2f17059e367cdb42bd742ac0c1fa7b7bbecfffd84923e0fb3e","sha512":"fd1138f5623f40844683b1dcd2f741981cd2d36e33ad7de624f7e86f26de86250772c8dde123862cc27ee43c266d2e0ca4cfbd7a99791ca32bc48a6b0e549f59","ssdeep":"","tlshash":"6c21f1db2d18c259172069cd3477f10cd8abc66528b1ec50b8cc0d5c4e90fce4fa9d94","first_seen":"2026-04-17T07:46:54.382188Z","last_seen":"2026-07-27T06:23:39.757277Z","times_seen":82,"resource_available":false,"data":"PCFET0NUWVBFIGh0bWw+PGh0bWwgbGFuZz1lbj48aGVhZD48bWV0YSBjaGFyc2V0PXV0Zi04PjxtZXRhIGh0dHAtZXF1aXY9WC1VQS1Db21wYXRpYmxlIGNvbnRlbnQ9IklFPWVkZ2UiPjxsaW5rIHJlbD0ic2hvcnRjdXQgaWNvbiIgdHlwZT1pbWFnZS94LWljb24gaHJlZj0uL3N0YXRpYy9pbWFnZS9pY29uL2Zhdmljb24uaWNvPjxtZXRhIG5hbWU9dmlld3BvcnQgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLHVzZXItc2NhbGFibGU9bm8saW5pdGlhbC1zY2FsZT0xLG1heGltdW0tc2NhbGU9MSxtaW5pbXVtLXNjYWxlPTEiPjx0aXRsZT5GdXR1cmVzPC90aXRsZT48c2NyaXB0IHNyYz0vc3RhdGljL2NvbW1vbi9qcy90b3VjaC1lbXVsYXRvci5qcz48L3NjcmlwdD48c2NyaXB0PlRvdWNoRW11bGF0b3IoKTs8L3NjcmlwdD48c3R5bGU+Ojotd2Via2l0LXNjcm9sbGJhcnsNCiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lOw0KICAgICAgICAgICAgfTwvc3R5bGU+PHNjcmlwdD5kb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdET01Db250ZW50TG9hZGVkJywgZnVuY3Rpb24oKSB7DQoJCQkJZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLmZvbnRTaXplID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoIC8gMjAgKyAncHgnDQoJCQl9KTwvc2NyaXB0PjxsaW5rIHJlbD1zdHlsZXNoZWV0IGhyZWY9L3N0YXRpYy9pbmRleC5jc3M+PC9oZWFkPjxib2R5PjxkaXYgaWQ9YXBwPjwvZGl2PjxzY3JpcHQ+LypCQUlEVV9TVEFUKi88L3NjcmlwdD48c2NyaXB0IHNyYz1odHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvZ2gvZXRoZXJldW0vd2ViMy5qc0AxLjAuMC1iZXRhLjM0L2Rpc3Qvd2ViMy5taW4uanM+PC9zY3JpcHQ+PHNjcmlwdCBzcmM9aHR0cHM6Ly91bnBrZy5jb20vd2ViM21vZGFsPjwvc2NyaXB0PjxzY3JpcHQgc3JjPWh0dHBzOi8vdW5wa2cuY29tL2V2bS1jaGFpbnMvbGliL2luZGV4LmpzPjwvc2NyaXB0PjxzY3JpcHQgc3JjPWh0dHBzOi8vdW5wa2cuY29tL0B3YWxsZXRjb25uZWN0L3dlYjMtcHJvdmlkZXI+PC9zY3JpcHQ+PHNjcmlwdCBzcmM9aHR0cHM6Ly91bnBrZy5jb20vZm9ydG1hdGljQDIuMC42L2Rpc3QvZm9ydG1hdGljLmpzPjwvc2NyaXB0PjxzY3JpcHQgc3JjPS9zdGF0aWMvanMvY2h1bmstdmVuZG9ycy44NGI4ZWZkZC5qcz48L3NjcmlwdD48c2NyaXB0IHNyYz0vc3RhdGljL2pzL2luZGV4LmZiZWNlM2Y4LmpzPjwvc2NyaXB0PjwvYm9keT48L2h0bWw+"}},"time_used":364,"timings":{"blocked":-1,"dns":9,"connect":23,"send":0,"wait":332,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null},{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"unpkg.com/web3modal","fqdn":"unpkg.com","domain":"unpkg.com","tld":"com"},"ip":{"addr":"104.18.1.22","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://futurbcvndf.com/","date":"2026-07-27T06:23:00.102Z","timestamp":1785133380102,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"unpkg.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sat, 11 Jul 2026 17:56:32 GMT","end":"Fri, 09 Oct 2026 18:56:21 GMT"},"fingerprint":{"sha1":"81:08:7C:A2:AA:81:B4:77:02:EE:53:FB:23:6F:1D:97:C3:92:2E:A0","sha256":"13:42:07:B0:BF:53:83:27:C3:6E:69:00:B5:F0:1C:58:6C:AD:B4:DD:93:08:84:F0:97:51:3B:60:91:10:85:76"}}},"request":{"raw":"GET /web3modal HTTP/1.1\r\nHost: unpkg.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://futurbcvndf.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 302 \r\ndate: Mon, 27 Jul 2026 06:23:00 GMT\r\ncontent-type: text/plain;charset=UTF-8\r\ncontent-length: 46\r\nlocation: /web3modal@1.9.12/dist/index.js\r\naccess-control-allow-origin: *\r\ncache-control: public, max-age=60, s-maxage=300\r\ncross-origin-resource-policy: cross-origin\r\nstrict-transport-security: max-age=31536000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\npriority: u=3,i=?0\r\nserver: cloudflare\r\ncf-ray: a2198d8a2aa98deb-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"302","status_text":"","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":0,"size_decoded":0,"mime_type":"text/javascript; charset=utf-8","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-04T14:30:18.251771Z","times_seen":17709334,"resource_available":true,"data":null}},"time_used":274,"timings":{"blocked":-1,"dns":71,"connect":12,"send":0,"wait":191,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"futurbcvndf.com/static/js/pages-ieo-ieo~pages-index-index~pages-invest-invest.49169b31.js","fqdn":"futurbcvndf.com","domain":"futurbcvndf.com","tld":"com"},"ip":{"addr":"172.67.130.50","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://futurbcvndf.com/","date":"2026-07-27T06:23:01.038Z","timestamp":1785133381038,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"futurbcvndf.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 16 Jul 2026 16:36:02 GMT","end":"Wed, 14 Oct 2026 16:36:01 GMT"},"fingerprint":{"sha1":"46:2D:5F:F0:3D:BD:73:19:93:72:79:62:4A:45:03:09:5D:FB:1E:A5","sha256":"35:31:C4:67:1D:DB:68:C3:FB:49:03:14:DD:4E:76:FE:13:53:8D:98:98:2E:BE:EA:B8:CA:4F:B6:5B:7E:5C:1D"}}},"request":{"raw":"GET /static/js/pages-ieo-ieo~pages-index-index~pages-invest-invest.49169b31.js HTTP/1.1\r\nHost: futurbcvndf.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://futurbcvndf.com/\r\nCookie: angela_session=eyJpdiI6IlhnUEZEQ1hLNngxS0t2ZGN3TnJjV1E9PSIsInZhbHVlIjoiVGlYZUpmMXVPdEhuTGtoQzhTS3VXM3BIN3J4ZDZnU2dNTWxTc0NRcHNMTXFyNm1wQTZEQ0RKTWJ0UjRERWZ5aDBaQWxVaVdmN0VVQkNna0M2ZTJ2dTdFZkx3amdIYjZlQzEzMHozajVqTzMybnhMOHo1bEpuaXdQM1R3UVN4QmQiLCJtYWMiOiJiZWIyMTJlYzc4OWUzODk0ODBiOTI5NmU0MjA2MDBmZjJmYzA2MTI3ZjViNmY4NWYxNzIyNDI4MDhhYWMzZmI4In0%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\nserver: cloudflare\r\ndate: Mon, 27 Jul 2026 06:23:01 GMT\r\ncontent-type: application/javascript\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=3,i=?0\r\nlast-modified: Wed, 13 Aug 2025 19:19:40 GMT\r\nvary: Accept-Encoding\r\netag: \"689ce54c-e410\"\r\nstrict-transport-security: max-age=31536000\r\ncontent-encoding: gzip\r\ncache-control: max-age=14400\r\ncf-cache-status: REVALIDATED\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=o3%2B%2Fh4A6I%2FsS2mfBhmcJc6FNisnd1Uz64g2iCpRCUcSvKiu6uxngyRuv3C5ivo9R9ZtGLmtTxoLQh8cyLGawyXl7kKOd94d5c0GT8nZaj7l0%2FHYTbjsNTp5fbB48pTZJ5X8%3D\"}]}\r\ncf-ray: a2198d8f79340daa-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":58384,"size_decoded":11113,"mime_type":"application/javascript","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (58206), with no line terminators","md5":"7d80b06ad5407303a006cc9b071958e6","sha1":"bdfe3e69162d4b89f6a999e026dbadb2c90500c1","sha256":"6c9b9915bfe3b865d6166a56eaea02e52ea1ce1ecfdf4cadf943d23b9b8fe3e9","sha512":"c61ec478b1b3214ee7cfc95050dd3d5de078c9ec7049b34711ae1508f4824fd372af39eb1d6249c2520aa08be09e682507f624b9e9893219375798b2ddb9c7ad","ssdeep":"384:ZmQFwqTOs0y6CF9pnRj4p+ZGUQxSXbLlKm3HKSUYCXeWZ3fO:wiZ0avpnF4p+ZGUQxSXbLg7S2XeWZPO","tlshash":"4d43b292f5db220c4577cb46d94136fc9f7aaba36b017c52e8836f348e266c63b0459c","first_seen":"2025-08-27T01:09:26.236249Z","last_seen":"2026-07-27T06:23:39.757937Z","times_seen":83,"resource_available":true,"data":"KHdpbmRvd1sid2VicGFja0pzb25wIl09d2luZG93WyJ3ZWJwYWNrSnNvbnAiXXx8W10pLnB1c2goW1sicGFnZXMtaWVvLWllb35wYWdlcy1pbmRleC1pbmRleH5wYWdlcy1pbnZlc3QtaW52ZXN0Il0sezUzODU6ZnVuY3Rpb24odCxhLGQpeyJ1c2Ugc3RyaWN0Ijt2YXIgaT1kKCJjOGI0Iiksbj1kLm4oaSk7bi5hfSwiNzJhOCI6ZnVuY3Rpb24odCxhLGQpeyJ1c2Ugc3RyaWN0IjtkKCI2YTU0IiksT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGEuZGVmYXVsdD12b2lkIDAsZCgiNjRhYSIpO3ZhciBpPXtuYW1lOiJ1LWxpbmUtcHJvZ3Jlc3MiLHByb3BzOntyb3VuZDp7dHlwZTpCb29sZWFuLGRlZmF1bHQ6ITB9LHR5cGU6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6IiJ9LGFjdGl2ZUNvbG9yOnt0eXBlOlN0cmluZyxkZWZhdWx0OiIjMTliZTZiIn0saW5hY3RpdmVDb2xvcjp7dHlwZTpTdHJpbmcsZGVmYXVsdDoiI2VjZWNlYyJ9LHBlcmNlbnQ6e3R5cGU6TnVtYmVyLGRlZmF1bHQ6MH0sc2hvd1BlcmNlbnQ6e3R5cGU6Qm9vbGVhbixkZWZhdWx0OiEwfSxoZWlnaHQ6e3R5cGU6W051bWJlcixTdHJpbmddLGRlZmF1bHQ6Mjh9LHN0cmlwZWQ6e3R5cGU6Qm9vbGVhbixkZWZhdWx0OiExfSxzdHJpcGVkQWN0aXZlOnt0eXBlOkJvb2xlYW4sZGVmYXVsdDohMX19LGRhdGE6ZnVuY3Rpb24oKXtyZXR1cm57fX0sY29tcHV0ZWQ6e3Byb2dyZXNzU3R5bGU6ZnVuY3Rpb24oKXt2YXIgdD17fTtyZXR1cm4gdC53aWR0aD10aGlzLnBlcmNlbnQrIiUiLHQuYmFja2dyb3VuZEltYWdlPSJsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNGRkVERDggMCUsICNGRkNDOEYgMTAwJSkiLHQuYm9yZGVyUmFkaXVzPSIxMDBycHgiLHR9fSxtZXRob2RzOnt9fTthLmRlZmF1bHQ9aX0sIjdlODQiOmZ1bmN0aW9uKHQsYSxkKXsidXNlIHN0cmljdCI7ZC5yKGEpO3ZhciBpPWQoIjcyYTgiKSxuPWQubihpKTtmb3IodmFyIHIgaW4gaSlbImRlZmF1bHQiXS5pbmRleE9mKHIpPDAmJmZ1bmN0aW9uKHQpe2QuZChhLHQsKGZ1bmN0aW9uKCl7cmV0dXJuIGlbdF19KSl9KHIpO2FbImRlZmF1bHQiXT1uLmF9LCI4ZWQ0IjpmdW5jdGlvbih0LGEsZCl7dmFyIGk9ZCgiYzg2YyIpLG49ZCgiMmVjNSIpLHI9ZCgiOWY1ZiIpO2E9aSghMSk7dmFyIG89bihyKTthLnB1c2goW3QuaSwnQGNoYXJzZXQgIlVURi04IjtcclxuLyoqXHJcbiAqIOS4i+aWueW8leWFpeeahOS4unVWaWV3IFVJ55qE6ZuG5oiQ5qC35byP5paH5Lu277yM5Li6c2Nzc+mihOWkhOeQhuWZqO+8jOWFtuS4reWMheWQq+S6huS4gOS6myJ1LSLlvIDlpLTnmoToh6rlrprkuYnlj5jph49cclxuICog5L2/55So55qE5pe25YCZ77yM6K+35bCG5LiL6Z2i55qE5LiA6KGM5aSN5Yi25Yiw5oKo55qEdW5pYXBw6aG555uu5qC555uu5b2V55qEdW5pLnNjc3PkuK3ljbPlj69cclxuICogdVZpZXfoh6rlrprkuYnnmoRjc3PnsbvlkI3lkoxzY3Nz5Y+Y6YeP77yM5Z2H5LulInUtIuW8gOWktO+8jOS4jeS8mumAoOaIkOWGsueqge+8jOivt+aUvuW/g+S9v+eUqCBcclxuICovLnRleHQtc3VjY2Vzc1tkYXRhLXYtN2QzZjc5Mzlde2NvbG9yOiMyOGJhOTh9LnRleHQtd2FybmluZ1tkYXRhLXYtN2QzZjc5Mzlde2NvbG9yOiNkNGJhODN9LnRleHQtcHJpbWFyeVtkYXRhLXYtN2QzZjc5Mzlde2NvbG9yOiMyMjc3ZmN9LnRleHQtZXJyb3JbZGF0YS12LTdkM2Y3OTM5XXtjb2xvcjojZjA0YTVhfS50ZXh0LXNlY29uZGFyeVtkYXRhLXYtN2QzZjc5Mzlde2NvbG9yOiM5OTl9LnRleHQtZGVlcGJsdWVbZGF0YS12LTdkM2Y3OTM5XXtjb2xvcjojMGQyNzU4fS50ZXh0LTMzM1tkYXRhLXYtN2QzZjc5Mzlde2NvbG9yOiMzMzN9LnByaW1hcnktYnV0dG9uW2RhdGEtdi03ZDNmNzkzOV17YmFja2dyb3VuZC1jb2xvcjojMjI3N2ZjO2NvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czolPzEwPyU7Zm9udC1zaXplOiU/MzI/JTtwYWRkaW5nOiU/ND8lIDA7Ym9yZGVyOm5vbmU7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgxODBkZWcsIzAwYzZmYiAwLCMwMDViZWEpfS5wcmltYXJ5LWJ1dHRvbltkYXRhLXYtN2QzZjc5MzldOmFmdGVye2Rpc3BsYXk6bm9uZX0uZXJyb3ItYnV0dG9uW2RhdGEtdi03ZDNmNzkzOV17YmFja2dyb3VuZC1jb2xvcjojZjA0YTVhO2NvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czolPzEwPyU7Zm9udC1zaXplOiU/MzI/JTtwYWRkaW5nOiU/ND8lIDA7Ym9yZGVyOm5vbmU7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgxODBkZWcsI2Y3NzA2MiAwLCNmZTUxOTYpfS5lcnJvci1idXR0b25bZGF0YS12LTdkM2Y3OTM5XTphZnRlcntkaXNwbGF5Om5vbmV9Lndhcm5pbmctYnV0dG9uW2RhdGEtdi03ZDNmNzkzOV17YmFja2dyb3VuZC1jb2xvcjojZDRiYTgzO2NvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czolPzEwPyU7Zm9udC1zaXplOiU/MzI/JTtwYWRkaW5nOiU/ND8lIDA7Ym9yZGVyOm5vbmU7Y29sb3I6IzRkNGQ0ZDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxZGVnLCNmZmNjOGYsI2ZmZWRkOCl9Lndhcm5pbmctYnV0dG9uW2RhdGEtdi03ZDNmNzkzOV06YWZ0ZXJ7ZGlzcGxheTpub25lfS5zdWNjZXNzLWJ1dHRvbltkYXRhLXYtN2QzZjc5Mzlde2JhY2tncm91bmQtY29sb3I6IzI4YmE5ODtjb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6JT8xMD8lO2ZvbnQtc2l6ZTolPzMyPyU7cGFkZGluZzolPzQ/JSAwO2JvcmRlcjpub25lO2NvbG9yOiNmZmY7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoMGRlZywjMGJhMzYwIDAsIzNjYmE5Mil9LnN1Y2Nlc3MtYnV0dG9uW2RhdGEtdi03ZDNmNzkzOV06YWZ0ZXJ7ZGlzcGxheTpub25lfS5zZWNvbmRhcnktYnV0dG9uW2RhdGEtdi03ZDNmNzkzOV17YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDUxLDUxLDUxLC4wNik7Y29sb3I6I2FmYWZhZjtib3JkZXItcmFkaXVzOiU/MTA/JTtmb250LXNpemU6JT8zMj8lO3BhZGRpbmc6JT80PyUgMDtib3JkZXI6bm9uZTtjb2xvcjojYjFiMGIwO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDBkZWcsI2M0YzVjNyAwLCNkY2RkZGYgNTIlLCNlYmViZWIpfS5zZWNvbmRhcnktYnV0dG9uW2RhdGEtdi03ZDNmNzkzOV06YWZ0ZXJ7ZGlzcGxheTpub25lfS50ZXh0LXdoaXRlW2RhdGEtdi03ZDNmNzkzOV17Y29sb3I6I2ZmZiFpbXBvcnRhbnR9LnRleHQtYmxhY2tbZGF0YS12LTdkM2Y3OTM5XXtjb2xvcjojNGQ0ZDRkIWltcG9ydGFudH0uYmctd2hpdGVbZGF0YS12LTdkM2Y3OTM5XXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmYhaW1wb3J0YW50fS5iZy1wcmltYXJ5W2RhdGEtdi03ZDNmNzkzOV17YmFja2dyb3VuZC1jb2xvcjojMjI3N2ZjIWltcG9ydGFudH0uYmctc2Vjb25kYXJ5W2RhdGEtdi03ZDNmNzkzOV17YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDUxLDUxLDUxLC4wNikhaW1wb3J0YW50fS5iZy1ibGFja1tkYXRhLXYtN2QzZjc5Mzlde2JhY2tncm91bmQtY29sb3I6IzRkNGQ0ZCFpbXBvcnRhbnR9LmJnLTMzM1tkYXRhLXYtN2QzZjc5Mzlde2JhY2tncm91bmQtY29sb3I6IzMzMyFpbXBvcnRhbnR9Lm0tMFtkYXRhLXYtN2QzZjc5Mzlde21hcmdpbjolPzA/JSFpbXBvcnRhbnR9Lm14LTBbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tbGVmdDolPzA/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/MD8lIWltcG9ydGFudH0ubWwtMFtkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi1sZWZ0OiU/MD8lIWltcG9ydGFudH0ubXItMFtkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi1yaWdodDolPzA/JSFpbXBvcnRhbnR9Lm15LTBbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tdG9wOiU/MD8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/MD8lIWltcG9ydGFudH0ubXQtMFtkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi10b3A6JT8wPyUhaW1wb3J0YW50fS5tYi0wW2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLWJvdHRvbTolPzA/JSFpbXBvcnRhbnR9LnAtMFtkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmc6JT8wPyUhaW1wb3J0YW50fS5weC0wW2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy1sZWZ0OiU/MD8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/MD8lIWltcG9ydGFudH0ucGwtMFtkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctbGVmdDolPzA/JSFpbXBvcnRhbnR9LnByLTBbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLXJpZ2h0OiU/MD8lIWltcG9ydGFudH0ucHktMFtkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctdG9wOiU/MD8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzA/JSFpbXBvcnRhbnR9LnB0LTBbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLXRvcDolPzA/JSFpbXBvcnRhbnR9LnBiLTBbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLWJvdHRvbTolPzA/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTBbZGF0YS12LTdkM2Y3OTM5XXtncmlkLWdhcDolPzA/JSFpbXBvcnRhbnR9LnotaW5kZXgtMFtkYXRhLXYtN2QzZjc5Mzlde3otaW5kZXg6MCFpbXBvcnRhbnR9Lm0tMltkYXRhLXYtN2QzZjc5Mzlde21hcmdpbjolPzI/JSFpbXBvcnRhbnR9Lm14LTJbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tbGVmdDolPzI/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/Mj8lIWltcG9ydGFudH0ubWwtMltkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi1sZWZ0OiU/Mj8lIWltcG9ydGFudH0ubXItMltkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi1yaWdodDolPzI/JSFpbXBvcnRhbnR9Lm15LTJbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tdG9wOiU/Mj8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/Mj8lIWltcG9ydGFudH0ubXQtMltkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi10b3A6JT8yPyUhaW1wb3J0YW50fS5tYi0yW2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLWJvdHRvbTolPzI/JSFpbXBvcnRhbnR9LnAtMltkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmc6JT8yPyUhaW1wb3J0YW50fS5weC0yW2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy1sZWZ0OiU/Mj8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/Mj8lIWltcG9ydGFudH0ucGwtMltkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctbGVmdDolPzI/JSFpbXBvcnRhbnR9LnByLTJbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLXJpZ2h0OiU/Mj8lIWltcG9ydGFudH0ucHktMltkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctdG9wOiU/Mj8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzI/JSFpbXBvcnRhbnR9LnB0LTJbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLXRvcDolPzI/JSFpbXBvcnRhbnR9LnBiLTJbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLWJvdHRvbTolPzI/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTJbZGF0YS12LTdkM2Y3OTM5XXtncmlkLWdhcDolPzI/JSFpbXBvcnRhbnR9LnotaW5kZXgtMltkYXRhLXYtN2QzZjc5Mzlde3otaW5kZXg6MiFpbXBvcnRhbnR9Lm0tNFtkYXRhLXYtN2QzZjc5Mzlde21hcmdpbjolPzQ/JSFpbXBvcnRhbnR9Lm14LTRbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tbGVmdDolPzQ/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/ND8lIWltcG9ydGFudH0ubWwtNFtkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi1sZWZ0OiU/ND8lIWltcG9ydGFudH0ubXItNFtkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi1yaWdodDolPzQ/JSFpbXBvcnRhbnR9Lm15LTRbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tdG9wOiU/ND8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/ND8lIWltcG9ydGFudH0ubXQtNFtkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi10b3A6JT80PyUhaW1wb3J0YW50fS5tYi00W2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLWJvdHRvbTolPzQ/JSFpbXBvcnRhbnR9LnAtNFtkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmc6JT80PyUhaW1wb3J0YW50fS5weC00W2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy1sZWZ0OiU/ND8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/ND8lIWltcG9ydGFudH0ucGwtNFtkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctbGVmdDolPzQ/JSFpbXBvcnRhbnR9LnByLTRbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLXJpZ2h0OiU/ND8lIWltcG9ydGFudH0ucHktNFtkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctdG9wOiU/ND8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzQ/JSFpbXBvcnRhbnR9LnB0LTRbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLXRvcDolPzQ/JSFpbXBvcnRhbnR9LnBiLTRbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLWJvdHRvbTolPzQ/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTRbZGF0YS12LTdkM2Y3OTM5XXtncmlkLWdhcDolPzQ/JSFpbXBvcnRhbnR9LnotaW5kZXgtNFtkYXRhLXYtN2QzZjc5Mzlde3otaW5kZXg6NCFpbXBvcnRhbnR9Lm0tNltkYXRhLXYtN2QzZjc5Mzlde21hcmdpbjolPzY/JSFpbXBvcnRhbnR9Lm14LTZbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tbGVmdDolPzY/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/Nj8lIWltcG9ydGFudH0ubWwtNltkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi1sZWZ0OiU/Nj8lIWltcG9ydGFudH0ubXItNltkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi1yaWdodDolPzY/JSFpbXBvcnRhbnR9Lm15LTZbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tdG9wOiU/Nj8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/Nj8lIWltcG9ydGFudH0ubXQtNltkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi10b3A6JT82PyUhaW1wb3J0YW50fS5tYi02W2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLWJvdHRvbTolPzY/JSFpbXBvcnRhbnR9LnAtNltkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmc6JT82PyUhaW1wb3J0YW50fS5weC02W2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy1sZWZ0OiU/Nj8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/Nj8lIWltcG9ydGFudH0ucGwtNltkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctbGVmdDolPzY/JSFpbXBvcnRhbnR9LnByLTZbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLXJpZ2h0OiU/Nj8lIWltcG9ydGFudH0ucHktNltkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctdG9wOiU/Nj8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzY/JSFpbXBvcnRhbnR9LnB0LTZbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLXRvcDolPzY/JSFpbXBvcnRhbnR9LnBiLTZbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLWJvdHRvbTolPzY/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTZbZGF0YS12LTdkM2Y3OTM5XXtncmlkLWdhcDolPzY/JSFpbXBvcnRhbnR9LnotaW5kZXgtNltkYXRhLXYtN2QzZjc5Mzlde3otaW5kZXg6NiFpbXBvcnRhbnR9Lm0tOFtkYXRhLXYtN2QzZjc5Mzlde21hcmdpbjolPzg/JSFpbXBvcnRhbnR9Lm14LThbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tbGVmdDolPzg/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/OD8lIWltcG9ydGFudH0ubWwtOFtkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi1sZWZ0OiU/OD8lIWltcG9ydGFudH0ubXItOFtkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi1yaWdodDolPzg/JSFpbXBvcnRhbnR9Lm15LThbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tdG9wOiU/OD8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/OD8lIWltcG9ydGFudH0ubXQtOFtkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi10b3A6JT84PyUhaW1wb3J0YW50fS5tYi04W2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLWJvdHRvbTolPzg/JSFpbXBvcnRhbnR9LnAtOFtkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmc6JT84PyUhaW1wb3J0YW50fS5weC04W2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy1sZWZ0OiU/OD8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/OD8lIWltcG9ydGFudH0ucGwtOFtkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctbGVmdDolPzg/JSFpbXBvcnRhbnR9LnByLThbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLXJpZ2h0OiU/OD8lIWltcG9ydGFudH0ucHktOFtkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctdG9wOiU/OD8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzg/JSFpbXBvcnRhbnR9LnB0LThbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLXRvcDolPzg/JSFpbXBvcnRhbnR9LnBiLThbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLWJvdHRvbTolPzg/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLThbZGF0YS12LTdkM2Y3OTM5XXtncmlkLWdhcDolPzg/JSFpbXBvcnRhbnR9LnotaW5kZXgtOFtkYXRhLXYtN2QzZjc5Mzlde3otaW5kZXg6OCFpbXBvcnRhbnR9Lm0tMTBbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW46JT8xMD8lIWltcG9ydGFudH0ubXgtMTBbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tbGVmdDolPzEwPyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzEwPyUhaW1wb3J0YW50fS5tbC0xMFtkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi1sZWZ0OiU/MTA/JSFpbXBvcnRhbnR9Lm1yLTEwW2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLXJpZ2h0OiU/MTA/JSFpbXBvcnRhbnR9Lm15LTEwW2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLXRvcDolPzEwPyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT8xMD8lIWltcG9ydGFudH0ubXQtMTBbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tdG9wOiU/MTA/JSFpbXBvcnRhbnR9Lm1iLTEwW2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLWJvdHRvbTolPzEwPyUhaW1wb3J0YW50fS5wLTEwW2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZzolPzEwPyUhaW1wb3J0YW50fS5weC0xMFtkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctbGVmdDolPzEwPyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT8xMD8lIWltcG9ydGFudH0ucGwtMTBbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLWxlZnQ6JT8xMD8lIWltcG9ydGFudH0ucHItMTBbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLXJpZ2h0OiU/MTA/JSFpbXBvcnRhbnR9LnB5LTEwW2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy10b3A6JT8xMD8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzEwPyUhaW1wb3J0YW50fS5wdC0xMFtkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctdG9wOiU/MTA/JSFpbXBvcnRhbnR9LnBiLTEwW2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy1ib3R0b206JT8xMD8lIWltcG9ydGFudH0uZ3JpZC1nYXAtMTBbZGF0YS12LTdkM2Y3OTM5XXtncmlkLWdhcDolPzEwPyUhaW1wb3J0YW50fS56LWluZGV4LTEwW2RhdGEtdi03ZDNmNzkzOV17ei1pbmRleDoxMCFpbXBvcnRhbnR9Lm0tMTJbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW46JT8xMj8lIWltcG9ydGFudH0ubXgtMTJbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tbGVmdDolPzEyPyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzEyPyUhaW1wb3J0YW50fS5tbC0xMltkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi1sZWZ0OiU/MTI/JSFpbXBvcnRhbnR9Lm1yLTEyW2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLXJpZ2h0OiU/MTI/JSFpbXBvcnRhbnR9Lm15LTEyW2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLXRvcDolPzEyPyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT8xMj8lIWltcG9ydGFudH0ubXQtMTJbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tdG9wOiU/MTI/JSFpbXBvcnRhbnR9Lm1iLTEyW2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLWJvdHRvbTolPzEyPyUhaW1wb3J0YW50fS5wLTEyW2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZzolPzEyPyUhaW1wb3J0YW50fS5weC0xMltkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctbGVmdDolPzEyPyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT8xMj8lIWltcG9ydGFudH0ucGwtMTJbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLWxlZnQ6JT8xMj8lIWltcG9ydGFudH0ucHItMTJbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLXJpZ2h0OiU/MTI/JSFpbXBvcnRhbnR9LnB5LTEyW2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy10b3A6JT8xMj8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzEyPyUhaW1wb3J0YW50fS5wdC0xMltkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctdG9wOiU/MTI/JSFpbXBvcnRhbnR9LnBiLTEyW2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy1ib3R0b206JT8xMj8lIWltcG9ydGFudH0uZ3JpZC1nYXAtMTJbZGF0YS12LTdkM2Y3OTM5XXtncmlkLWdhcDolPzEyPyUhaW1wb3J0YW50fS56LWluZGV4LTEyW2RhdGEtdi03ZDNmNzkzOV17ei1pbmRleDoxMiFpbXBvcnRhbnR9Lm0tMTRbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW46JT8xND8lIWltcG9ydGFudH0ubXgtMTRbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tbGVmdDolPzE0PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzE0PyUhaW1wb3J0YW50fS5tbC0xNFtkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi1sZWZ0OiU/MTQ/JSFpbXBvcnRhbnR9Lm1yLTE0W2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLXJpZ2h0OiU/MTQ/JSFpbXBvcnRhbnR9Lm15LTE0W2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLXRvcDolPzE0PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT8xND8lIWltcG9ydGFudH0ubXQtMTRbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tdG9wOiU/MTQ/JSFpbXBvcnRhbnR9Lm1iLTE0W2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLWJvdHRvbTolPzE0PyUhaW1wb3J0YW50fS5wLTE0W2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZzolPzE0PyUhaW1wb3J0YW50fS5weC0xNFtkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctbGVmdDolPzE0PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT8xND8lIWltcG9ydGFudH0ucGwtMTRbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLWxlZnQ6JT8xND8lIWltcG9ydGFudH0ucHItMTRbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLXJpZ2h0OiU/MTQ/JSFpbXBvcnRhbnR9LnB5LTE0W2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy10b3A6JT8xND8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzE0PyUhaW1wb3J0YW50fS5wdC0xNFtkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctdG9wOiU/MTQ/JSFpbXBvcnRhbnR9LnBiLTE0W2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy1ib3R0b206JT8xND8lIWltcG9ydGFudH0uZ3JpZC1nYXAtMTRbZGF0YS12LTdkM2Y3OTM5XXtncmlkLWdhcDolPzE0PyUhaW1wb3J0YW50fS56LWluZGV4LTE0W2RhdGEtdi03ZDNmNzkzOV17ei1pbmRleDoxNCFpbXBvcnRhbnR9Lm0tMTZbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW46JT8xNj8lIWltcG9ydGFudH0ubXgtMTZbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tbGVmdDolPzE2PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzE2PyUhaW1wb3J0YW50fS5tbC0xNltkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi1sZWZ0OiU/MTY/JSFpbXBvcnRhbnR9Lm1yLTE2W2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLXJpZ2h0OiU/MTY/JSFpbXBvcnRhbnR9Lm15LTE2W2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLXRvcDolPzE2PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT8xNj8lIWltcG9ydGFudH0ubXQtMTZbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tdG9wOiU/MTY/JSFpbXBvcnRhbnR9Lm1iLTE2W2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLWJvdHRvbTolPzE2PyUhaW1wb3J0YW50fS5wLTE2W2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZzolPzE2PyUhaW1wb3J0YW50fS5weC0xNltkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctbGVmdDolPzE2PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT8xNj8lIWltcG9ydGFudH0ucGwtMTZbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLWxlZnQ6JT8xNj8lIWltcG9ydGFudH0ucHItMTZbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLXJpZ2h0OiU/MTY/JSFpbXBvcnRhbnR9LnB5LTE2W2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy10b3A6JT8xNj8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzE2PyUhaW1wb3J0YW50fS5wdC0xNltkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctdG9wOiU/MTY/JSFpbXBvcnRhbnR9LnBiLTE2W2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy1ib3R0b206JT8xNj8lIWltcG9ydGFudH0uZ3JpZC1nYXAtMTZbZGF0YS12LTdkM2Y3OTM5XXtncmlkLWdhcDolPzE2PyUhaW1wb3J0YW50fS56LWluZGV4LTE2W2RhdGEtdi03ZDNmNzkzOV17ei1pbmRleDoxNiFpbXBvcnRhbnR9Lm0tMThbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW46JT8xOD8lIWltcG9ydGFudH0ubXgtMThbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tbGVmdDolPzE4PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzE4PyUhaW1wb3J0YW50fS5tbC0xOFtkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi1sZWZ0OiU/MTg/JSFpbXBvcnRhbnR9Lm1yLTE4W2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLXJpZ2h0OiU/MTg/JSFpbXBvcnRhbnR9Lm15LTE4W2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLXRvcDolPzE4PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT8xOD8lIWltcG9ydGFudH0ubXQtMThbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tdG9wOiU/MTg/JSFpbXBvcnRhbnR9Lm1iLTE4W2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLWJvdHRvbTolPzE4PyUhaW1wb3J0YW50fS5wLTE4W2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZzolPzE4PyUhaW1wb3J0YW50fS5weC0xOFtkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctbGVmdDolPzE4PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT8xOD8lIWltcG9ydGFudH0ucGwtMThbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLWxlZnQ6JT8xOD8lIWltcG9ydGFudH0ucHItMThbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLXJpZ2h0OiU/MTg/JSFpbXBvcnRhbnR9LnB5LTE4W2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy10b3A6JT8xOD8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzE4PyUhaW1wb3J0YW50fS5wdC0xOFtkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctdG9wOiU/MTg/JSFpbXBvcnRhbnR9LnBiLTE4W2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy1ib3R0b206JT8xOD8lIWltcG9ydGFudH0uZ3JpZC1nYXAtMThbZGF0YS12LTdkM2Y3OTM5XXtncmlkLWdhcDolPzE4PyUhaW1wb3J0YW50fS56LWluZGV4LTE4W2RhdGEtdi03ZDNmNzkzOV17ei1pbmRleDoxOCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS0xOFtkYXRhLXYtN2QzZjc5Mzlde2ZvbnQtc2l6ZTolPzE4PyUhaW1wb3J0YW50fS5tLTIwW2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luOiU/MjA/JSFpbXBvcnRhbnR9Lm14LTIwW2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLWxlZnQ6JT8yMD8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT8yMD8lIWltcG9ydGFudH0ubWwtMjBbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tbGVmdDolPzIwPyUhaW1wb3J0YW50fS5tci0yMFtkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi1yaWdodDolPzIwPyUhaW1wb3J0YW50fS5teS0yMFtkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi10b3A6JT8yMD8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/MjA/JSFpbXBvcnRhbnR9Lm10LTIwW2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLXRvcDolPzIwPyUhaW1wb3J0YW50fS5tYi0yMFtkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi1ib3R0b206JT8yMD8lIWltcG9ydGFudH0ucC0yMFtkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmc6JT8yMD8lIWltcG9ydGFudH0ucHgtMjBbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLWxlZnQ6JT8yMD8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/MjA/JSFpbXBvcnRhbnR9LnBsLTIwW2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy1sZWZ0OiU/MjA/JSFpbXBvcnRhbnR9LnByLTIwW2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy1yaWdodDolPzIwPyUhaW1wb3J0YW50fS5weS0yMFtkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctdG9wOiU/MjA/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT8yMD8lIWltcG9ydGFudH0ucHQtMjBbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLXRvcDolPzIwPyUhaW1wb3J0YW50fS5wYi0yMFtkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctYm90dG9tOiU/MjA/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTIwW2RhdGEtdi03ZDNmNzkzOV17Z3JpZC1nYXA6JT8yMD8lIWltcG9ydGFudH0uei1pbmRleC0yMFtkYXRhLXYtN2QzZjc5Mzlde3otaW5kZXg6MjAhaW1wb3J0YW50fS5mb250LXNpemUtMjBbZGF0YS12LTdkM2Y3OTM5XXtmb250LXNpemU6JT8yMD8lIWltcG9ydGFudH0ubS0yMltkYXRhLXYtN2QzZjc5Mzlde21hcmdpbjolPzIyPyUhaW1wb3J0YW50fS5teC0yMltkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi1sZWZ0OiU/MjI/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/MjI/JSFpbXBvcnRhbnR9Lm1sLTIyW2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLWxlZnQ6JT8yMj8lIWltcG9ydGFudH0ubXItMjJbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tcmlnaHQ6JT8yMj8lIWltcG9ydGFudH0ubXktMjJbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tdG9wOiU/MjI/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzIyPyUhaW1wb3J0YW50fS5tdC0yMltkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi10b3A6JT8yMj8lIWltcG9ydGFudH0ubWItMjJbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tYm90dG9tOiU/MjI/JSFpbXBvcnRhbnR9LnAtMjJbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nOiU/MjI/JSFpbXBvcnRhbnR9LnB4LTIyW2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy1sZWZ0OiU/MjI/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzIyPyUhaW1wb3J0YW50fS5wbC0yMltkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctbGVmdDolPzIyPyUhaW1wb3J0YW50fS5wci0yMltkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctcmlnaHQ6JT8yMj8lIWltcG9ydGFudH0ucHktMjJbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLXRvcDolPzIyPyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/MjI/JSFpbXBvcnRhbnR9LnB0LTIyW2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy10b3A6JT8yMj8lIWltcG9ydGFudH0ucGItMjJbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLWJvdHRvbTolPzIyPyUhaW1wb3J0YW50fS5ncmlkLWdhcC0yMltkYXRhLXYtN2QzZjc5Mzlde2dyaWQtZ2FwOiU/MjI/JSFpbXBvcnRhbnR9LnotaW5kZXgtMjJbZGF0YS12LTdkM2Y3OTM5XXt6LWluZGV4OjIyIWltcG9ydGFudH0uZm9udC1zaXplLTIyW2RhdGEtdi03ZDNmNzkzOV0sIC5pbnB1dC1pdGVtIC5nZXQtY29kZVtkYXRhLXYtN2QzZjc5Mzlde2ZvbnQtc2l6ZTolPzIyPyUhaW1wb3J0YW50fS5tLTI0W2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luOiU/MjQ/JSFpbXBvcnRhbnR9Lm14LTI0W2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLWxlZnQ6JT8yND8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT8yND8lIWltcG9ydGFudH0ubWwtMjRbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tbGVmdDolPzI0PyUhaW1wb3J0YW50fS5tci0yNFtkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi1yaWdodDolPzI0PyUhaW1wb3J0YW50fS5teS0yNFtkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi10b3A6JT8yND8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/MjQ/JSFpbXBvcnRhbnR9Lm10LTI0W2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLXRvcDolPzI0PyUhaW1wb3J0YW50fS5tYi0yNFtkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi1ib3R0b206JT8yND8lIWltcG9ydGFudH0ucC0yNFtkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmc6JT8yND8lIWltcG9ydGFudH0ucHgtMjRbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLWxlZnQ6JT8yND8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/MjQ/JSFpbXBvcnRhbnR9LnBsLTI0W2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy1sZWZ0OiU/MjQ/JSFpbXBvcnRhbnR9LnByLTI0W2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy1yaWdodDolPzI0PyUhaW1wb3J0YW50fS5weS0yNFtkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctdG9wOiU/MjQ/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT8yND8lIWltcG9ydGFudH0ucHQtMjRbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLXRvcDolPzI0PyUhaW1wb3J0YW50fS5wYi0yNFtkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctYm90dG9tOiU/MjQ/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTI0W2RhdGEtdi03ZDNmNzkzOV17Z3JpZC1nYXA6JT8yND8lIWltcG9ydGFudH0uei1pbmRleC0yNFtkYXRhLXYtN2QzZjc5Mzlde3otaW5kZXg6MjQhaW1wb3J0YW50fS5mb250LXNpemUtMjRbZGF0YS12LTdkM2Y3OTM5XSwgLmxvZ2luLWlucHV0LWdyb3VwIC5sYWJlbFtkYXRhLXYtN2QzZjc5Mzlde2ZvbnQtc2l6ZTolPzI0PyUhaW1wb3J0YW50fS5tLTI2W2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luOiU/MjY/JSFpbXBvcnRhbnR9Lm14LTI2W2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLWxlZnQ6JT8yNj8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT8yNj8lIWltcG9ydGFudH0ubWwtMjZbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tbGVmdDolPzI2PyUhaW1wb3J0YW50fS5tci0yNltkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi1yaWdodDolPzI2PyUhaW1wb3J0YW50fS5teS0yNltkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi10b3A6JT8yNj8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/MjY/JSFpbXBvcnRhbnR9Lm10LTI2W2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLXRvcDolPzI2PyUhaW1wb3J0YW50fS5tYi0yNltkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi1ib3R0b206JT8yNj8lIWltcG9ydGFudH0ucC0yNltkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmc6JT8yNj8lIWltcG9ydGFudH0ucHgtMjZbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLWxlZnQ6JT8yNj8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/MjY/JSFpbXBvcnRhbnR9LnBsLTI2W2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy1sZWZ0OiU/MjY/JSFpbXBvcnRhbnR9LnByLTI2W2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy1yaWdodDolPzI2PyUhaW1wb3J0YW50fS5weS0yNltkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctdG9wOiU/MjY/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT8yNj8lIWltcG9ydGFudH0ucHQtMjZbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLXRvcDolPzI2PyUhaW1wb3J0YW50fS5wYi0yNltkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctYm90dG9tOiU/MjY/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTI2W2RhdGEtdi03ZDNmNzkzOV17Z3JpZC1nYXA6JT8yNj8lIWltcG9ydGFudH0uei1pbmRleC0yNltkYXRhLXYtN2QzZjc5Mzlde3otaW5kZXg6MjYhaW1wb3J0YW50fS5mb250LXNpemUtMjZbZGF0YS12LTdkM2Y3OTM5XXtmb250LXNpemU6JT8yNj8lIWltcG9ydGFudH0ubS0yOFtkYXRhLXYtN2QzZjc5Mzlde21hcmdpbjolPzI4PyUhaW1wb3J0YW50fS5teC0yOFtkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi1sZWZ0OiU/Mjg/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/Mjg/JSFpbXBvcnRhbnR9Lm1sLTI4W2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLWxlZnQ6JT8yOD8lIWltcG9ydGFudH0ubXItMjhbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tcmlnaHQ6JT8yOD8lIWltcG9ydGFudH0ubXktMjhbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tdG9wOiU/Mjg/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzI4PyUhaW1wb3J0YW50fS5tdC0yOFtkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi10b3A6JT8yOD8lIWltcG9ydGFudH0ubWItMjhbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tYm90dG9tOiU/Mjg/JSFpbXBvcnRhbnR9LnAtMjhbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nOiU/Mjg/JSFpbXBvcnRhbnR9LnB4LTI4W2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy1sZWZ0OiU/Mjg/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzI4PyUhaW1wb3J0YW50fS5wbC0yOFtkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctbGVmdDolPzI4PyUhaW1wb3J0YW50fS5wci0yOFtkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctcmlnaHQ6JT8yOD8lIWltcG9ydGFudH0ucHktMjhbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLXRvcDolPzI4PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/Mjg/JSFpbXBvcnRhbnR9LnB0LTI4W2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy10b3A6JT8yOD8lIWltcG9ydGFudH0ucGItMjhbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLWJvdHRvbTolPzI4PyUhaW1wb3J0YW50fS5ncmlkLWdhcC0yOFtkYXRhLXYtN2QzZjc5Mzlde2dyaWQtZ2FwOiU/Mjg/JSFpbXBvcnRhbnR9LnotaW5kZXgtMjhbZGF0YS12LTdkM2Y3OTM5XXt6LWluZGV4OjI4IWltcG9ydGFudH0uZm9udC1zaXplLTI4W2RhdGEtdi03ZDNmNzkzOV17Zm9udC1zaXplOiU/Mjg/JSFpbXBvcnRhbnR9Lm0tMzBbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW46JT8zMD8lIWltcG9ydGFudH0ubXgtMzBbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tbGVmdDolPzMwPyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzMwPyUhaW1wb3J0YW50fS5tbC0zMFtkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi1sZWZ0OiU/MzA/JSFpbXBvcnRhbnR9Lm1yLTMwW2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLXJpZ2h0OiU/MzA/JSFpbXBvcnRhbnR9Lm15LTMwW2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLXRvcDolPzMwPyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT8zMD8lIWltcG9ydGFudH0ubXQtMzBbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tdG9wOiU/MzA/JSFpbXBvcnRhbnR9Lm1iLTMwW2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLWJvdHRvbTolPzMwPyUhaW1wb3J0YW50fS5wLTMwW2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZzolPzMwPyUhaW1wb3J0YW50fS5weC0zMFtkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctbGVmdDolPzMwPyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT8zMD8lIWltcG9ydGFudH0ucGwtMzBbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLWxlZnQ6JT8zMD8lIWltcG9ydGFudH0ucHItMzBbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLXJpZ2h0OiU/MzA/JSFpbXBvcnRhbnR9LnB5LTMwW2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy10b3A6JT8zMD8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzMwPyUhaW1wb3J0YW50fS5wdC0zMFtkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctdG9wOiU/MzA/JSFpbXBvcnRhbnR9LnBiLTMwW2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy1ib3R0b206JT8zMD8lIWltcG9ydGFudH0uZ3JpZC1nYXAtMzBbZGF0YS12LTdkM2Y3OTM5XXtncmlkLWdhcDolPzMwPyUhaW1wb3J0YW50fS56LWluZGV4LTMwW2RhdGEtdi03ZDNmNzkzOV17ei1pbmRleDozMCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS0zMFtkYXRhLXYtN2QzZjc5Mzlde2ZvbnQtc2l6ZTolPzMwPyUhaW1wb3J0YW50fS5tLTMyW2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luOiU/MzI/JSFpbXBvcnRhbnR9Lm14LTMyW2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLWxlZnQ6JT8zMj8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT8zMj8lIWltcG9ydGFudH0ubWwtMzJbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tbGVmdDolPzMyPyUhaW1wb3J0YW50fS5tci0zMltkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi1yaWdodDolPzMyPyUhaW1wb3J0YW50fS5teS0zMltkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi10b3A6JT8zMj8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/MzI/JSFpbXBvcnRhbnR9Lm10LTMyW2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLXRvcDolPzMyPyUhaW1wb3J0YW50fS5tYi0zMltkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi1ib3R0b206JT8zMj8lIWltcG9ydGFudH0ucC0zMltkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmc6JT8zMj8lIWltcG9ydGFudH0ucHgtMzJbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLWxlZnQ6JT8zMj8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/MzI/JSFpbXBvcnRhbnR9LnBsLTMyW2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy1sZWZ0OiU/MzI/JSFpbXBvcnRhbnR9LnByLTMyW2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy1yaWdodDolPzMyPyUhaW1wb3J0YW50fS5weS0zMltkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctdG9wOiU/MzI/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT8zMj8lIWltcG9ydGFudH0ucHQtMzJbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLXRvcDolPzMyPyUhaW1wb3J0YW50fS5wYi0zMltkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctYm90dG9tOiU/MzI/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTMyW2RhdGEtdi03ZDNmNzkzOV17Z3JpZC1nYXA6JT8zMj8lIWltcG9ydGFudH0uei1pbmRleC0zMltkYXRhLXYtN2QzZjc5Mzlde3otaW5kZXg6MzIhaW1wb3J0YW50fS5mb250LXNpemUtMzJbZGF0YS12LTdkM2Y3OTM5XSwgLmlucHV0W2RhdGEtdi03ZDNmNzkzOV0sIC5sb2dpbi1pbnB1dC1ncm91cCAubG9naW4taW5wdXRbZGF0YS12LTdkM2Y3OTM5XSwgLmFydGljbGUgdW5pLXRleHRbZGF0YS12LTdkM2Y3OTM5XXtmb250LXNpemU6JT8zMj8lIWltcG9ydGFudH0ubS0zNFtkYXRhLXYtN2QzZjc5Mzlde21hcmdpbjolPzM0PyUhaW1wb3J0YW50fS5teC0zNFtkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi1sZWZ0OiU/MzQ/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/MzQ/JSFpbXBvcnRhbnR9Lm1sLTM0W2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLWxlZnQ6JT8zND8lIWltcG9ydGFudH0ubXItMzRbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tcmlnaHQ6JT8zND8lIWltcG9ydGFudH0ubXktMzRbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tdG9wOiU/MzQ/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzM0PyUhaW1wb3J0YW50fS5tdC0zNFtkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi10b3A6JT8zND8lIWltcG9ydGFudH0ubWItMzRbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tYm90dG9tOiU/MzQ/JSFpbXBvcnRhbnR9LnAtMzRbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nOiU/MzQ/JSFpbXBvcnRhbnR9LnB4LTM0W2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy1sZWZ0OiU/MzQ/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzM0PyUhaW1wb3J0YW50fS5wbC0zNFtkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctbGVmdDolPzM0PyUhaW1wb3J0YW50fS5wci0zNFtkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctcmlnaHQ6JT8zND8lIWltcG9ydGFudH0ucHktMzRbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLXRvcDolPzM0PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/MzQ/JSFpbXBvcnRhbnR9LnB0LTM0W2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy10b3A6JT8zND8lIWltcG9ydGFudH0ucGItMzRbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLWJvdHRvbTolPzM0PyUhaW1wb3J0YW50fS5ncmlkLWdhcC0zNFtkYXRhLXYtN2QzZjc5Mzlde2dyaWQtZ2FwOiU/MzQ/JSFpbXBvcnRhbnR9LnotaW5kZXgtMzRbZGF0YS12LTdkM2Y3OTM5XXt6LWluZGV4OjM0IWltcG9ydGFudH0uZm9udC1zaXplLTM0W2RhdGEtdi03ZDNmNzkzOV17Zm9udC1zaXplOiU/MzQ/JSFpbXBvcnRhbnR9Lm0tMzZbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW46JT8zNj8lIWltcG9ydGFudH0ubXgtMzZbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tbGVmdDolPzM2PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzM2PyUhaW1wb3J0YW50fS5tbC0zNltkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi1sZWZ0OiU/MzY/JSFpbXBvcnRhbnR9Lm1yLTM2W2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLXJpZ2h0OiU/MzY/JSFpbXBvcnRhbnR9Lm15LTM2W2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLXRvcDolPzM2PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT8zNj8lIWltcG9ydGFudH0ubXQtMzZbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tdG9wOiU/MzY/JSFpbXBvcnRhbnR9Lm1iLTM2W2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLWJvdHRvbTolPzM2PyUhaW1wb3J0YW50fS5wLTM2W2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZzolPzM2PyUhaW1wb3J0YW50fS5weC0zNltkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctbGVmdDolPzM2PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT8zNj8lIWltcG9ydGFudH0ucGwtMzZbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLWxlZnQ6JT8zNj8lIWltcG9ydGFudH0ucHItMzZbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLXJpZ2h0OiU/MzY/JSFpbXBvcnRhbnR9LnB5LTM2W2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy10b3A6JT8zNj8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzM2PyUhaW1wb3J0YW50fS5wdC0zNltkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctdG9wOiU/MzY/JSFpbXBvcnRhbnR9LnBiLTM2W2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy1ib3R0b206JT8zNj8lIWltcG9ydGFudH0uZ3JpZC1nYXAtMzZbZGF0YS12LTdkM2Y3OTM5XXtncmlkLWdhcDolPzM2PyUhaW1wb3J0YW50fS56LWluZGV4LTM2W2RhdGEtdi03ZDNmNzkzOV17ei1pbmRleDozNiFpbXBvcnRhbnR9LmZvbnQtc2l6ZS0zNltkYXRhLXYtN2QzZjc5Mzlde2ZvbnQtc2l6ZTolPzM2PyUhaW1wb3J0YW50fS5tLTM4W2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luOiU/Mzg/JSFpbXBvcnRhbnR9Lm14LTM4W2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLWxlZnQ6JT8zOD8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT8zOD8lIWltcG9ydGFudH0ubWwtMzhbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tbGVmdDolPzM4PyUhaW1wb3J0YW50fS5tci0zOFtkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi1yaWdodDolPzM4PyUhaW1wb3J0YW50fS5teS0zOFtkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi10b3A6JT8zOD8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/Mzg/JSFpbXBvcnRhbnR9Lm10LTM4W2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLXRvcDolPzM4PyUhaW1wb3J0YW50fS5tYi0zOFtkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi1ib3R0b206JT8zOD8lIWltcG9ydGFudH0ucC0zOFtkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmc6JT8zOD8lIWltcG9ydGFudH0ucHgtMzhbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLWxlZnQ6JT8zOD8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/Mzg/JSFpbXBvcnRhbnR9LnBsLTM4W2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy1sZWZ0OiU/Mzg/JSFpbXBvcnRhbnR9LnByLTM4W2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy1yaWdodDolPzM4PyUhaW1wb3J0YW50fS5weS0zOFtkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctdG9wOiU/Mzg/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT8zOD8lIWltcG9ydGFudH0ucHQtMzhbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLXRvcDolPzM4PyUhaW1wb3J0YW50fS5wYi0zOFtkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctYm90dG9tOiU/Mzg/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTM4W2RhdGEtdi03ZDNmNzkzOV17Z3JpZC1nYXA6JT8zOD8lIWltcG9ydGFudH0uei1pbmRleC0zOFtkYXRhLXYtN2QzZjc5Mzlde3otaW5kZXg6MzghaW1wb3J0YW50fS5mb250LXNpemUtMzhbZGF0YS12LTdkM2Y3OTM5XXtmb250LXNpemU6JT8zOD8lIWltcG9ydGFudH0ubS00MFtkYXRhLXYtN2QzZjc5Mzlde21hcmdpbjolPzQwPyUhaW1wb3J0YW50fS5teC00MFtkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi1sZWZ0OiU/NDA/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/NDA/JSFpbXBvcnRhbnR9Lm1sLTQwW2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLWxlZnQ6JT80MD8lIWltcG9ydGFudH0ubXItNDBbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tcmlnaHQ6JT80MD8lIWltcG9ydGFudH0ubXktNDBbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tdG9wOiU/NDA/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzQwPyUhaW1wb3J0YW50fS5tdC00MFtkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi10b3A6JT80MD8lIWltcG9ydGFudH0ubWItNDBbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tYm90dG9tOiU/NDA/JSFpbXBvcnRhbnR9LnAtNDBbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nOiU/NDA/JSFpbXBvcnRhbnR9LnB4LTQwW2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy1sZWZ0OiU/NDA/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzQwPyUhaW1wb3J0YW50fS5wbC00MFtkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctbGVmdDolPzQwPyUhaW1wb3J0YW50fS5wci00MFtkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctcmlnaHQ6JT80MD8lIWltcG9ydGFudH0ucHktNDBbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLXRvcDolPzQwPyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NDA/JSFpbXBvcnRhbnR9LnB0LTQwW2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy10b3A6JT80MD8lIWltcG9ydGFudH0ucGItNDBbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLWJvdHRvbTolPzQwPyUhaW1wb3J0YW50fS5ncmlkLWdhcC00MFtkYXRhLXYtN2QzZjc5Mzlde2dyaWQtZ2FwOiU/NDA/JSFpbXBvcnRhbnR9LnotaW5kZXgtNDBbZGF0YS12LTdkM2Y3OTM5XXt6LWluZGV4OjQwIWltcG9ydGFudH0uZm9udC1zaXplLTQwW2RhdGEtdi03ZDNmNzkzOV17Zm9udC1zaXplOiU/NDA/JSFpbXBvcnRhbnR9Lm0tNDJbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW46JT80Mj8lIWltcG9ydGFudH0ubXgtNDJbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tbGVmdDolPzQyPyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzQyPyUhaW1wb3J0YW50fS5tbC00MltkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi1sZWZ0OiU/NDI/JSFpbXBvcnRhbnR9Lm1yLTQyW2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLXJpZ2h0OiU/NDI/JSFpbXBvcnRhbnR9Lm15LTQyW2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLXRvcDolPzQyPyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT80Mj8lIWltcG9ydGFudH0ubXQtNDJbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tdG9wOiU/NDI/JSFpbXBvcnRhbnR9Lm1iLTQyW2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLWJvdHRvbTolPzQyPyUhaW1wb3J0YW50fS5wLTQyW2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZzolPzQyPyUhaW1wb3J0YW50fS5weC00MltkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctbGVmdDolPzQyPyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT80Mj8lIWltcG9ydGFudH0ucGwtNDJbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLWxlZnQ6JT80Mj8lIWltcG9ydGFudH0ucHItNDJbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLXJpZ2h0OiU/NDI/JSFpbXBvcnRhbnR9LnB5LTQyW2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy10b3A6JT80Mj8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzQyPyUhaW1wb3J0YW50fS5wdC00MltkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctdG9wOiU/NDI/JSFpbXBvcnRhbnR9LnBiLTQyW2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy1ib3R0b206JT80Mj8lIWltcG9ydGFudH0uZ3JpZC1nYXAtNDJbZGF0YS12LTdkM2Y3OTM5XXtncmlkLWdhcDolPzQyPyUhaW1wb3J0YW50fS56LWluZGV4LTQyW2RhdGEtdi03ZDNmNzkzOV17ei1pbmRleDo0MiFpbXBvcnRhbnR9LmZvbnQtc2l6ZS00MltkYXRhLXYtN2QzZjc5Mzlde2ZvbnQtc2l6ZTolPzQyPyUhaW1wb3J0YW50fS5tLTQ0W2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luOiU/NDQ/JSFpbXBvcnRhbnR9Lm14LTQ0W2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLWxlZnQ6JT80ND8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT80ND8lIWltcG9ydGFudH0ubWwtNDRbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tbGVmdDolPzQ0PyUhaW1wb3J0YW50fS5tci00NFtkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi1yaWdodDolPzQ0PyUhaW1wb3J0YW50fS5teS00NFtkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi10b3A6JT80ND8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/NDQ/JSFpbXBvcnRhbnR9Lm10LTQ0W2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLXRvcDolPzQ0PyUhaW1wb3J0YW50fS5tYi00NFtkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi1ib3R0b206JT80ND8lIWltcG9ydGFudH0ucC00NFtkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmc6JT80ND8lIWltcG9ydGFudH0ucHgtNDRbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLWxlZnQ6JT80ND8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/NDQ/JSFpbXBvcnRhbnR9LnBsLTQ0W2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy1sZWZ0OiU/NDQ/JSFpbXBvcnRhbnR9LnByLTQ0W2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy1yaWdodDolPzQ0PyUhaW1wb3J0YW50fS5weS00NFtkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctdG9wOiU/NDQ/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT80ND8lIWltcG9ydGFudH0ucHQtNDRbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLXRvcDolPzQ0PyUhaW1wb3J0YW50fS5wYi00NFtkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctYm90dG9tOiU/NDQ/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTQ0W2RhdGEtdi03ZDNmNzkzOV17Z3JpZC1nYXA6JT80ND8lIWltcG9ydGFudH0uei1pbmRleC00NFtkYXRhLXYtN2QzZjc5Mzlde3otaW5kZXg6NDQhaW1wb3J0YW50fS5mb250LXNpemUtNDRbZGF0YS12LTdkM2Y3OTM5XXtmb250LXNpemU6JT80ND8lIWltcG9ydGFudH0ubS00NltkYXRhLXYtN2QzZjc5Mzlde21hcmdpbjolPzQ2PyUhaW1wb3J0YW50fS5teC00NltkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi1sZWZ0OiU/NDY/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/NDY/JSFpbXBvcnRhbnR9Lm1sLTQ2W2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLWxlZnQ6JT80Nj8lIWltcG9ydGFudH0ubXItNDZbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tcmlnaHQ6JT80Nj8lIWltcG9ydGFudH0ubXktNDZbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tdG9wOiU/NDY/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzQ2PyUhaW1wb3J0YW50fS5tdC00NltkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi10b3A6JT80Nj8lIWltcG9ydGFudH0ubWItNDZbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tYm90dG9tOiU/NDY/JSFpbXBvcnRhbnR9LnAtNDZbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nOiU/NDY/JSFpbXBvcnRhbnR9LnB4LTQ2W2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy1sZWZ0OiU/NDY/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzQ2PyUhaW1wb3J0YW50fS5wbC00NltkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctbGVmdDolPzQ2PyUhaW1wb3J0YW50fS5wci00NltkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctcmlnaHQ6JT80Nj8lIWltcG9ydGFudH0ucHktNDZbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLXRvcDolPzQ2PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NDY/JSFpbXBvcnRhbnR9LnB0LTQ2W2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy10b3A6JT80Nj8lIWltcG9ydGFudH0ucGItNDZbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLWJvdHRvbTolPzQ2PyUhaW1wb3J0YW50fS5ncmlkLWdhcC00NltkYXRhLXYtN2QzZjc5Mzlde2dyaWQtZ2FwOiU/NDY/JSFpbXBvcnRhbnR9LnotaW5kZXgtNDZbZGF0YS12LTdkM2Y3OTM5XXt6LWluZGV4OjQ2IWltcG9ydGFudH0uZm9udC1zaXplLTQ2W2RhdGEtdi03ZDNmNzkzOV17Zm9udC1zaXplOiU/NDY/JSFpbXBvcnRhbnR9Lm0tNDhbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW46JT80OD8lIWltcG9ydGFudH0ubXgtNDhbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tbGVmdDolPzQ4PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzQ4PyUhaW1wb3J0YW50fS5tbC00OFtkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi1sZWZ0OiU/NDg/JSFpbXBvcnRhbnR9Lm1yLTQ4W2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLXJpZ2h0OiU/NDg/JSFpbXBvcnRhbnR9Lm15LTQ4W2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLXRvcDolPzQ4PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT80OD8lIWltcG9ydGFudH0ubXQtNDhbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tdG9wOiU/NDg/JSFpbXBvcnRhbnR9Lm1iLTQ4W2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLWJvdHRvbTolPzQ4PyUhaW1wb3J0YW50fS5wLTQ4W2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZzolPzQ4PyUhaW1wb3J0YW50fS5weC00OFtkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctbGVmdDolPzQ4PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT80OD8lIWltcG9ydGFudH0ucGwtNDhbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLWxlZnQ6JT80OD8lIWltcG9ydGFudH0ucHItNDhbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLXJpZ2h0OiU/NDg/JSFpbXBvcnRhbnR9LnB5LTQ4W2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy10b3A6JT80OD8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzQ4PyUhaW1wb3J0YW50fS5wdC00OFtkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctdG9wOiU/NDg/JSFpbXBvcnRhbnR9LnBiLTQ4W2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy1ib3R0b206JT80OD8lIWltcG9ydGFudH0uZ3JpZC1nYXAtNDhbZGF0YS12LTdkM2Y3OTM5XXtncmlkLWdhcDolPzQ4PyUhaW1wb3J0YW50fS56LWluZGV4LTQ4W2RhdGEtdi03ZDNmNzkzOV17ei1pbmRleDo0OCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS00OFtkYXRhLXYtN2QzZjc5Mzlde2ZvbnQtc2l6ZTolPzQ4PyUhaW1wb3J0YW50fS5tLTUwW2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luOiU/NTA/JSFpbXBvcnRhbnR9Lm14LTUwW2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLWxlZnQ6JT81MD8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT81MD8lIWltcG9ydGFudH0ubWwtNTBbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tbGVmdDolPzUwPyUhaW1wb3J0YW50fS5tci01MFtkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi1yaWdodDolPzUwPyUhaW1wb3J0YW50fS5teS01MFtkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi10b3A6JT81MD8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/NTA/JSFpbXBvcnRhbnR9Lm10LTUwW2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLXRvcDolPzUwPyUhaW1wb3J0YW50fS5tYi01MFtkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi1ib3R0b206JT81MD8lIWltcG9ydGFudH0ucC01MFtkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmc6JT81MD8lIWltcG9ydGFudH0ucHgtNTBbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLWxlZnQ6JT81MD8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/NTA/JSFpbXBvcnRhbnR9LnBsLTUwW2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy1sZWZ0OiU/NTA/JSFpbXBvcnRhbnR9LnByLTUwW2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy1yaWdodDolPzUwPyUhaW1wb3J0YW50fS5weS01MFtkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctdG9wOiU/NTA/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT81MD8lIWltcG9ydGFudH0ucHQtNTBbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLXRvcDolPzUwPyUhaW1wb3J0YW50fS5wYi01MFtkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctYm90dG9tOiU/NTA/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTUwW2RhdGEtdi03ZDNmNzkzOV17Z3JpZC1nYXA6JT81MD8lIWltcG9ydGFudH0uei1pbmRleC01MFtkYXRhLXYtN2QzZjc5Mzlde3otaW5kZXg6NTAhaW1wb3J0YW50fS5mb250LXNpemUtNTBbZGF0YS12LTdkM2Y3OTM5XXtmb250LXNpemU6JT81MD8lIWltcG9ydGFudH0ubS01MltkYXRhLXYtN2QzZjc5Mzlde21hcmdpbjolPzUyPyUhaW1wb3J0YW50fS5teC01MltkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi1sZWZ0OiU/NTI/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/NTI/JSFpbXBvcnRhbnR9Lm1sLTUyW2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLWxlZnQ6JT81Mj8lIWltcG9ydGFudH0ubXItNTJbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tcmlnaHQ6JT81Mj8lIWltcG9ydGFudH0ubXktNTJbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tdG9wOiU/NTI/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzUyPyUhaW1wb3J0YW50fS5tdC01MltkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi10b3A6JT81Mj8lIWltcG9ydGFudH0ubWItNTJbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tYm90dG9tOiU/NTI/JSFpbXBvcnRhbnR9LnAtNTJbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nOiU/NTI/JSFpbXBvcnRhbnR9LnB4LTUyW2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy1sZWZ0OiU/NTI/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzUyPyUhaW1wb3J0YW50fS5wbC01MltkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctbGVmdDolPzUyPyUhaW1wb3J0YW50fS5wci01MltkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctcmlnaHQ6JT81Mj8lIWltcG9ydGFudH0ucHktNTJbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLXRvcDolPzUyPyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NTI/JSFpbXBvcnRhbnR9LnB0LTUyW2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy10b3A6JT81Mj8lIWltcG9ydGFudH0ucGItNTJbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLWJvdHRvbTolPzUyPyUhaW1wb3J0YW50fS5ncmlkLWdhcC01MltkYXRhLXYtN2QzZjc5Mzlde2dyaWQtZ2FwOiU/NTI/JSFpbXBvcnRhbnR9LnotaW5kZXgtNTJbZGF0YS12LTdkM2Y3OTM5XXt6LWluZGV4OjUyIWltcG9ydGFudH0uZm9udC1zaXplLTUyW2RhdGEtdi03ZDNmNzkzOV17Zm9udC1zaXplOiU/NTI/JSFpbXBvcnRhbnR9Lm0tNTRbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW46JT81ND8lIWltcG9ydGFudH0ubXgtNTRbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tbGVmdDolPzU0PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzU0PyUhaW1wb3J0YW50fS5tbC01NFtkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi1sZWZ0OiU/NTQ/JSFpbXBvcnRhbnR9Lm1yLTU0W2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLXJpZ2h0OiU/NTQ/JSFpbXBvcnRhbnR9Lm15LTU0W2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLXRvcDolPzU0PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT81ND8lIWltcG9ydGFudH0ubXQtNTRbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tdG9wOiU/NTQ/JSFpbXBvcnRhbnR9Lm1iLTU0W2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLWJvdHRvbTolPzU0PyUhaW1wb3J0YW50fS5wLTU0W2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZzolPzU0PyUhaW1wb3J0YW50fS5weC01NFtkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctbGVmdDolPzU0PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT81ND8lIWltcG9ydGFudH0ucGwtNTRbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLWxlZnQ6JT81ND8lIWltcG9ydGFudH0ucHItNTRbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLXJpZ2h0OiU/NTQ/JSFpbXBvcnRhbnR9LnB5LTU0W2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy10b3A6JT81ND8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzU0PyUhaW1wb3J0YW50fS5wdC01NFtkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctdG9wOiU/NTQ/JSFpbXBvcnRhbnR9LnBiLTU0W2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy1ib3R0b206JT81ND8lIWltcG9ydGFudH0uZ3JpZC1nYXAtNTRbZGF0YS12LTdkM2Y3OTM5XXtncmlkLWdhcDolPzU0PyUhaW1wb3J0YW50fS56LWluZGV4LTU0W2RhdGEtdi03ZDNmNzkzOV17ei1pbmRleDo1NCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS01NFtkYXRhLXYtN2QzZjc5Mzlde2ZvbnQtc2l6ZTolPzU0PyUhaW1wb3J0YW50fS5tLTU2W2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luOiU/NTY/JSFpbXBvcnRhbnR9Lm14LTU2W2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLWxlZnQ6JT81Nj8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT81Nj8lIWltcG9ydGFudH0ubWwtNTZbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tbGVmdDolPzU2PyUhaW1wb3J0YW50fS5tci01NltkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi1yaWdodDolPzU2PyUhaW1wb3J0YW50fS5teS01NltkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi10b3A6JT81Nj8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/NTY/JSFpbXBvcnRhbnR9Lm10LTU2W2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLXRvcDolPzU2PyUhaW1wb3J0YW50fS5tYi01NltkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi1ib3R0b206JT81Nj8lIWltcG9ydGFudH0ucC01NltkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmc6JT81Nj8lIWltcG9ydGFudH0ucHgtNTZbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLWxlZnQ6JT81Nj8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/NTY/JSFpbXBvcnRhbnR9LnBsLTU2W2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy1sZWZ0OiU/NTY/JSFpbXBvcnRhbnR9LnByLTU2W2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy1yaWdodDolPzU2PyUhaW1wb3J0YW50fS5weS01NltkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctdG9wOiU/NTY/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT81Nj8lIWltcG9ydGFudH0ucHQtNTZbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLXRvcDolPzU2PyUhaW1wb3J0YW50fS5wYi01NltkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctYm90dG9tOiU/NTY/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTU2W2RhdGEtdi03ZDNmNzkzOV17Z3JpZC1nYXA6JT81Nj8lIWltcG9ydGFudH0uei1pbmRleC01NltkYXRhLXYtN2QzZjc5Mzlde3otaW5kZXg6NTYhaW1wb3J0YW50fS5mb250LXNpemUtNTZbZGF0YS12LTdkM2Y3OTM5XXtmb250LXNpemU6JT81Nj8lIWltcG9ydGFudH0ubS01OFtkYXRhLXYtN2QzZjc5Mzlde21hcmdpbjolPzU4PyUhaW1wb3J0YW50fS5teC01OFtkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi1sZWZ0OiU/NTg/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/NTg/JSFpbXBvcnRhbnR9Lm1sLTU4W2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLWxlZnQ6JT81OD8lIWltcG9ydGFudH0ubXItNThbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tcmlnaHQ6JT81OD8lIWltcG9ydGFudH0ubXktNThbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tdG9wOiU/NTg/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzU4PyUhaW1wb3J0YW50fS5tdC01OFtkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi10b3A6JT81OD8lIWltcG9ydGFudH0ubWItNThbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tYm90dG9tOiU/NTg/JSFpbXBvcnRhbnR9LnAtNThbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nOiU/NTg/JSFpbXBvcnRhbnR9LnB4LTU4W2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy1sZWZ0OiU/NTg/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzU4PyUhaW1wb3J0YW50fS5wbC01OFtkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctbGVmdDolPzU4PyUhaW1wb3J0YW50fS5wci01OFtkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctcmlnaHQ6JT81OD8lIWltcG9ydGFudH0ucHktNThbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLXRvcDolPzU4PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NTg/JSFpbXBvcnRhbnR9LnB0LTU4W2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy10b3A6JT81OD8lIWltcG9ydGFudH0ucGItNThbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLWJvdHRvbTolPzU4PyUhaW1wb3J0YW50fS5ncmlkLWdhcC01OFtkYXRhLXYtN2QzZjc5Mzlde2dyaWQtZ2FwOiU/NTg/JSFpbXBvcnRhbnR9LnotaW5kZXgtNThbZGF0YS12LTdkM2Y3OTM5XXt6LWluZGV4OjU4IWltcG9ydGFudH0uZm9udC1zaXplLTU4W2RhdGEtdi03ZDNmNzkzOV17Zm9udC1zaXplOiU/NTg/JSFpbXBvcnRhbnR9Lm0tNjBbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW46JT82MD8lIWltcG9ydGFudH0ubXgtNjBbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tbGVmdDolPzYwPyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzYwPyUhaW1wb3J0YW50fS5tbC02MFtkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi1sZWZ0OiU/NjA/JSFpbXBvcnRhbnR9Lm1yLTYwW2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLXJpZ2h0OiU/NjA/JSFpbXBvcnRhbnR9Lm15LTYwW2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLXRvcDolPzYwPyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT82MD8lIWltcG9ydGFudH0ubXQtNjBbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tdG9wOiU/NjA/JSFpbXBvcnRhbnR9Lm1iLTYwW2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLWJvdHRvbTolPzYwPyUhaW1wb3J0YW50fS5wLTYwW2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZzolPzYwPyUhaW1wb3J0YW50fS5weC02MFtkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctbGVmdDolPzYwPyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT82MD8lIWltcG9ydGFudH0ucGwtNjBbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLWxlZnQ6JT82MD8lIWltcG9ydGFudH0ucHItNjBbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLXJpZ2h0OiU/NjA/JSFpbXBvcnRhbnR9LnB5LTYwW2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy10b3A6JT82MD8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzYwPyUhaW1wb3J0YW50fS5wdC02MFtkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctdG9wOiU/NjA/JSFpbXBvcnRhbnR9LnBiLTYwW2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy1ib3R0b206JT82MD8lIWltcG9ydGFudH0uZ3JpZC1nYXAtNjBbZGF0YS12LTdkM2Y3OTM5XXtncmlkLWdhcDolPzYwPyUhaW1wb3J0YW50fS56LWluZGV4LTYwW2RhdGEtdi03ZDNmNzkzOV17ei1pbmRleDo2MCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS02MFtkYXRhLXYtN2QzZjc5Mzlde2ZvbnQtc2l6ZTolPzYwPyUhaW1wb3J0YW50fS5tLTYyW2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luOiU/NjI/JSFpbXBvcnRhbnR9Lm14LTYyW2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLWxlZnQ6JT82Mj8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT82Mj8lIWltcG9ydGFudH0ubWwtNjJbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tbGVmdDolPzYyPyUhaW1wb3J0YW50fS5tci02MltkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi1yaWdodDolPzYyPyUhaW1wb3J0YW50fS5teS02MltkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi10b3A6JT82Mj8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/NjI/JSFpbXBvcnRhbnR9Lm10LTYyW2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLXRvcDolPzYyPyUhaW1wb3J0YW50fS5tYi02MltkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi1ib3R0b206JT82Mj8lIWltcG9ydGFudH0ucC02MltkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmc6JT82Mj8lIWltcG9ydGFudH0ucHgtNjJbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLWxlZnQ6JT82Mj8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/NjI/JSFpbXBvcnRhbnR9LnBsLTYyW2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy1sZWZ0OiU/NjI/JSFpbXBvcnRhbnR9LnByLTYyW2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy1yaWdodDolPzYyPyUhaW1wb3J0YW50fS5weS02MltkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctdG9wOiU/NjI/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT82Mj8lIWltcG9ydGFudH0ucHQtNjJbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLXRvcDolPzYyPyUhaW1wb3J0YW50fS5wYi02MltkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctYm90dG9tOiU/NjI/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTYyW2RhdGEtdi03ZDNmNzkzOV17Z3JpZC1nYXA6JT82Mj8lIWltcG9ydGFudH0uei1pbmRleC02MltkYXRhLXYtN2QzZjc5Mzlde3otaW5kZXg6NjIhaW1wb3J0YW50fS5mb250LXNpemUtNjJbZGF0YS12LTdkM2Y3OTM5XXtmb250LXNpemU6JT82Mj8lIWltcG9ydGFudH0ubS02NFtkYXRhLXYtN2QzZjc5Mzlde21hcmdpbjolPzY0PyUhaW1wb3J0YW50fS5teC02NFtkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi1sZWZ0OiU/NjQ/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/NjQ/JSFpbXBvcnRhbnR9Lm1sLTY0W2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLWxlZnQ6JT82ND8lIWltcG9ydGFudH0ubXItNjRbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tcmlnaHQ6JT82ND8lIWltcG9ydGFudH0ubXktNjRbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tdG9wOiU/NjQ/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzY0PyUhaW1wb3J0YW50fS5tdC02NFtkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi10b3A6JT82ND8lIWltcG9ydGFudH0ubWItNjRbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tYm90dG9tOiU/NjQ/JSFpbXBvcnRhbnR9LnAtNjRbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nOiU/NjQ/JSFpbXBvcnRhbnR9LnB4LTY0W2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy1sZWZ0OiU/NjQ/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzY0PyUhaW1wb3J0YW50fS5wbC02NFtkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctbGVmdDolPzY0PyUhaW1wb3J0YW50fS5wci02NFtkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctcmlnaHQ6JT82ND8lIWltcG9ydGFudH0ucHktNjRbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLXRvcDolPzY0PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NjQ/JSFpbXBvcnRhbnR9LnB0LTY0W2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy10b3A6JT82ND8lIWltcG9ydGFudH0ucGItNjRbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLWJvdHRvbTolPzY0PyUhaW1wb3J0YW50fS5ncmlkLWdhcC02NFtkYXRhLXYtN2QzZjc5Mzlde2dyaWQtZ2FwOiU/NjQ/JSFpbXBvcnRhbnR9LnotaW5kZXgtNjRbZGF0YS12LTdkM2Y3OTM5XXt6LWluZGV4OjY0IWltcG9ydGFudH0uZm9udC1zaXplLTY0W2RhdGEtdi03ZDNmNzkzOV17Zm9udC1zaXplOiU/NjQ/JSFpbXBvcnRhbnR9Lm0tNjZbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW46JT82Nj8lIWltcG9ydGFudH0ubXgtNjZbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tbGVmdDolPzY2PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzY2PyUhaW1wb3J0YW50fS5tbC02NltkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi1sZWZ0OiU/NjY/JSFpbXBvcnRhbnR9Lm1yLTY2W2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLXJpZ2h0OiU/NjY/JSFpbXBvcnRhbnR9Lm15LTY2W2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLXRvcDolPzY2PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT82Nj8lIWltcG9ydGFudH0ubXQtNjZbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tdG9wOiU/NjY/JSFpbXBvcnRhbnR9Lm1iLTY2W2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLWJvdHRvbTolPzY2PyUhaW1wb3J0YW50fS5wLTY2W2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZzolPzY2PyUhaW1wb3J0YW50fS5weC02NltkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctbGVmdDolPzY2PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT82Nj8lIWltcG9ydGFudH0ucGwtNjZbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLWxlZnQ6JT82Nj8lIWltcG9ydGFudH0ucHItNjZbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLXJpZ2h0OiU/NjY/JSFpbXBvcnRhbnR9LnB5LTY2W2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy10b3A6JT82Nj8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzY2PyUhaW1wb3J0YW50fS5wdC02NltkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctdG9wOiU/NjY/JSFpbXBvcnRhbnR9LnBiLTY2W2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy1ib3R0b206JT82Nj8lIWltcG9ydGFudH0uZ3JpZC1nYXAtNjZbZGF0YS12LTdkM2Y3OTM5XXtncmlkLWdhcDolPzY2PyUhaW1wb3J0YW50fS56LWluZGV4LTY2W2RhdGEtdi03ZDNmNzkzOV17ei1pbmRleDo2NiFpbXBvcnRhbnR9LmZvbnQtc2l6ZS02NltkYXRhLXYtN2QzZjc5Mzlde2ZvbnQtc2l6ZTolPzY2PyUhaW1wb3J0YW50fS5tLTY4W2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luOiU/Njg/JSFpbXBvcnRhbnR9Lm14LTY4W2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLWxlZnQ6JT82OD8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT82OD8lIWltcG9ydGFudH0ubWwtNjhbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tbGVmdDolPzY4PyUhaW1wb3J0YW50fS5tci02OFtkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi1yaWdodDolPzY4PyUhaW1wb3J0YW50fS5teS02OFtkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi10b3A6JT82OD8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/Njg/JSFpbXBvcnRhbnR9Lm10LTY4W2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLXRvcDolPzY4PyUhaW1wb3J0YW50fS5tYi02OFtkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi1ib3R0b206JT82OD8lIWltcG9ydGFudH0ucC02OFtkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmc6JT82OD8lIWltcG9ydGFudH0ucHgtNjhbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLWxlZnQ6JT82OD8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/Njg/JSFpbXBvcnRhbnR9LnBsLTY4W2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy1sZWZ0OiU/Njg/JSFpbXBvcnRhbnR9LnByLTY4W2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy1yaWdodDolPzY4PyUhaW1wb3J0YW50fS5weS02OFtkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctdG9wOiU/Njg/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT82OD8lIWltcG9ydGFudH0ucHQtNjhbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLXRvcDolPzY4PyUhaW1wb3J0YW50fS5wYi02OFtkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctYm90dG9tOiU/Njg/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTY4W2RhdGEtdi03ZDNmNzkzOV17Z3JpZC1nYXA6JT82OD8lIWltcG9ydGFudH0uei1pbmRleC02OFtkYXRhLXYtN2QzZjc5Mzlde3otaW5kZXg6NjghaW1wb3J0YW50fS5mb250LXNpemUtNjhbZGF0YS12LTdkM2Y3OTM5XXtmb250LXNpemU6JT82OD8lIWltcG9ydGFudH0ubS03MFtkYXRhLXYtN2QzZjc5Mzlde21hcmdpbjolPzcwPyUhaW1wb3J0YW50fS5teC03MFtkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi1sZWZ0OiU/NzA/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/NzA/JSFpbXBvcnRhbnR9Lm1sLTcwW2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLWxlZnQ6JT83MD8lIWltcG9ydGFudH0ubXItNzBbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tcmlnaHQ6JT83MD8lIWltcG9ydGFudH0ubXktNzBbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tdG9wOiU/NzA/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzcwPyUhaW1wb3J0YW50fS5tdC03MFtkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi10b3A6JT83MD8lIWltcG9ydGFudH0ubWItNzBbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tYm90dG9tOiU/NzA/JSFpbXBvcnRhbnR9LnAtNzBbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nOiU/NzA/JSFpbXBvcnRhbnR9LnB4LTcwW2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy1sZWZ0OiU/NzA/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzcwPyUhaW1wb3J0YW50fS5wbC03MFtkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctbGVmdDolPzcwPyUhaW1wb3J0YW50fS5wci03MFtkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctcmlnaHQ6JT83MD8lIWltcG9ydGFudH0ucHktNzBbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLXRvcDolPzcwPyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NzA/JSFpbXBvcnRhbnR9LnB0LTcwW2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy10b3A6JT83MD8lIWltcG9ydGFudH0ucGItNzBbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLWJvdHRvbTolPzcwPyUhaW1wb3J0YW50fS5ncmlkLWdhcC03MFtkYXRhLXYtN2QzZjc5Mzlde2dyaWQtZ2FwOiU/NzA/JSFpbXBvcnRhbnR9LnotaW5kZXgtNzBbZGF0YS12LTdkM2Y3OTM5XXt6LWluZGV4OjcwIWltcG9ydGFudH0uZm9udC1zaXplLTcwW2RhdGEtdi03ZDNmNzkzOV17Zm9udC1zaXplOiU/NzA/JSFpbXBvcnRhbnR9Lm0tNzJbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW46JT83Mj8lIWltcG9ydGFudH0ubXgtNzJbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tbGVmdDolPzcyPyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzcyPyUhaW1wb3J0YW50fS5tbC03MltkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi1sZWZ0OiU/NzI/JSFpbXBvcnRhbnR9Lm1yLTcyW2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLXJpZ2h0OiU/NzI/JSFpbXBvcnRhbnR9Lm15LTcyW2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLXRvcDolPzcyPyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT83Mj8lIWltcG9ydGFudH0ubXQtNzJbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tdG9wOiU/NzI/JSFpbXBvcnRhbnR9Lm1iLTcyW2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLWJvdHRvbTolPzcyPyUhaW1wb3J0YW50fS5wLTcyW2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZzolPzcyPyUhaW1wb3J0YW50fS5weC03MltkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctbGVmdDolPzcyPyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT83Mj8lIWltcG9ydGFudH0ucGwtNzJbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLWxlZnQ6JT83Mj8lIWltcG9ydGFudH0ucHItNzJbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLXJpZ2h0OiU/NzI/JSFpbXBvcnRhbnR9LnB5LTcyW2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy10b3A6JT83Mj8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzcyPyUhaW1wb3J0YW50fS5wdC03MltkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctdG9wOiU/NzI/JSFpbXBvcnRhbnR9LnBiLTcyW2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy1ib3R0b206JT83Mj8lIWltcG9ydGFudH0uZ3JpZC1nYXAtNzJbZGF0YS12LTdkM2Y3OTM5XXtncmlkLWdhcDolPzcyPyUhaW1wb3J0YW50fS56LWluZGV4LTcyW2RhdGEtdi03ZDNmNzkzOV17ei1pbmRleDo3MiFpbXBvcnRhbnR9LmZvbnQtc2l6ZS03MltkYXRhLXYtN2QzZjc5Mzlde2ZvbnQtc2l6ZTolPzcyPyUhaW1wb3J0YW50fS5tLTc0W2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luOiU/NzQ/JSFpbXBvcnRhbnR9Lm14LTc0W2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLWxlZnQ6JT83ND8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT83ND8lIWltcG9ydGFudH0ubWwtNzRbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tbGVmdDolPzc0PyUhaW1wb3J0YW50fS5tci03NFtkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi1yaWdodDolPzc0PyUhaW1wb3J0YW50fS5teS03NFtkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi10b3A6JT83ND8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/NzQ/JSFpbXBvcnRhbnR9Lm10LTc0W2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLXRvcDolPzc0PyUhaW1wb3J0YW50fS5tYi03NFtkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi1ib3R0b206JT83ND8lIWltcG9ydGFudH0ucC03NFtkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmc6JT83ND8lIWltcG9ydGFudH0ucHgtNzRbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLWxlZnQ6JT83ND8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/NzQ/JSFpbXBvcnRhbnR9LnBsLTc0W2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy1sZWZ0OiU/NzQ/JSFpbXBvcnRhbnR9LnByLTc0W2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy1yaWdodDolPzc0PyUhaW1wb3J0YW50fS5weS03NFtkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctdG9wOiU/NzQ/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT83ND8lIWltcG9ydGFudH0ucHQtNzRbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLXRvcDolPzc0PyUhaW1wb3J0YW50fS5wYi03NFtkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctYm90dG9tOiU/NzQ/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTc0W2RhdGEtdi03ZDNmNzkzOV17Z3JpZC1nYXA6JT83ND8lIWltcG9ydGFudH0uei1pbmRleC03NFtkYXRhLXYtN2QzZjc5Mzlde3otaW5kZXg6NzQhaW1wb3J0YW50fS5mb250LXNpemUtNzRbZGF0YS12LTdkM2Y3OTM5XXtmb250LXNpemU6JT83ND8lIWltcG9ydGFudH0ubS03NltkYXRhLXYtN2QzZjc5Mzlde21hcmdpbjolPzc2PyUhaW1wb3J0YW50fS5teC03NltkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi1sZWZ0OiU/NzY/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/NzY/JSFpbXBvcnRhbnR9Lm1sLTc2W2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLWxlZnQ6JT83Nj8lIWltcG9ydGFudH0ubXItNzZbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tcmlnaHQ6JT83Nj8lIWltcG9ydGFudH0ubXktNzZbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tdG9wOiU/NzY/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzc2PyUhaW1wb3J0YW50fS5tdC03NltkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi10b3A6JT83Nj8lIWltcG9ydGFudH0ubWItNzZbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tYm90dG9tOiU/NzY/JSFpbXBvcnRhbnR9LnAtNzZbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nOiU/NzY/JSFpbXBvcnRhbnR9LnB4LTc2W2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy1sZWZ0OiU/NzY/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzc2PyUhaW1wb3J0YW50fS5wbC03NltkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctbGVmdDolPzc2PyUhaW1wb3J0YW50fS5wci03NltkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctcmlnaHQ6JT83Nj8lIWltcG9ydGFudH0ucHktNzZbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLXRvcDolPzc2PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NzY/JSFpbXBvcnRhbnR9LnB0LTc2W2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy10b3A6JT83Nj8lIWltcG9ydGFudH0ucGItNzZbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLWJvdHRvbTolPzc2PyUhaW1wb3J0YW50fS5ncmlkLWdhcC03NltkYXRhLXYtN2QzZjc5Mzlde2dyaWQtZ2FwOiU/NzY/JSFpbXBvcnRhbnR9LnotaW5kZXgtNzZbZGF0YS12LTdkM2Y3OTM5XXt6LWluZGV4Ojc2IWltcG9ydGFudH0uZm9udC1zaXplLTc2W2RhdGEtdi03ZDNmNzkzOV17Zm9udC1zaXplOiU/NzY/JSFpbXBvcnRhbnR9Lm0tNzhbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW46JT83OD8lIWltcG9ydGFudH0ubXgtNzhbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tbGVmdDolPzc4PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzc4PyUhaW1wb3J0YW50fS5tbC03OFtkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi1sZWZ0OiU/Nzg/JSFpbXBvcnRhbnR9Lm1yLTc4W2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLXJpZ2h0OiU/Nzg/JSFpbXBvcnRhbnR9Lm15LTc4W2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLXRvcDolPzc4PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT83OD8lIWltcG9ydGFudH0ubXQtNzhbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tdG9wOiU/Nzg/JSFpbXBvcnRhbnR9Lm1iLTc4W2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLWJvdHRvbTolPzc4PyUhaW1wb3J0YW50fS5wLTc4W2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZzolPzc4PyUhaW1wb3J0YW50fS5weC03OFtkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctbGVmdDolPzc4PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT83OD8lIWltcG9ydGFudH0ucGwtNzhbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLWxlZnQ6JT83OD8lIWltcG9ydGFudH0ucHItNzhbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLXJpZ2h0OiU/Nzg/JSFpbXBvcnRhbnR9LnB5LTc4W2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy10b3A6JT83OD8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzc4PyUhaW1wb3J0YW50fS5wdC03OFtkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctdG9wOiU/Nzg/JSFpbXBvcnRhbnR9LnBiLTc4W2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy1ib3R0b206JT83OD8lIWltcG9ydGFudH0uZ3JpZC1nYXAtNzhbZGF0YS12LTdkM2Y3OTM5XXtncmlkLWdhcDolPzc4PyUhaW1wb3J0YW50fS56LWluZGV4LTc4W2RhdGEtdi03ZDNmNzkzOV17ei1pbmRleDo3OCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS03OFtkYXRhLXYtN2QzZjc5Mzlde2ZvbnQtc2l6ZTolPzc4PyUhaW1wb3J0YW50fS5maWx0ZXItZ3JheVtkYXRhLXYtN2QzZjc5Mzldey13ZWJraXQtZmlsdGVyOmdyYXlzY2FsZSgxKTtmaWx0ZXI6Z3JheXNjYWxlKDEpfS5teC1hdXRvW2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0b30uZC1ibG9ja1tkYXRhLXYtN2QzZjc5Mzlde2Rpc3BsYXk6YmxvY2t9LmQtaW5saW5lLWJsb2NrW2RhdGEtdi03ZDNmNzkzOV17ZGlzcGxheTppbmxpbmUtYmxvY2t9LnRleHQtY2VudGVyW2RhdGEtdi03ZDNmNzkzOV17dGV4dC1hbGlnbjpjZW50ZXJ9LnRleHQtbGVmdFtkYXRhLXYtN2QzZjc5Mzlde3RleHQtYWxpZ246bGVmdH0udGV4dC1yaWdodFtkYXRhLXYtN2QzZjc5Mzlde3RleHQtYWxpZ246cmlnaHR9LmQtZmxleFtkYXRhLXYtN2QzZjc5Mzlde2Rpc3BsYXk6ZmxleH0uZC1mbGV4LWJldHdlZW4tY2VudGVyW2RhdGEtdi03ZDNmNzkzOV17ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2FsaWduLWl0ZW1zOmNlbnRlcn0uZmxleC13cmFwW2RhdGEtdi03ZDNmNzkzOV17ZmxleC13cmFwOndyYXB9Lmp1c3RpZnktY29udGVudC1iZXR3ZWVuW2RhdGEtdi03ZDNmNzkzOV17anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59Lmp1c3RpZnktY29udGVudC1hcm91bmRbZGF0YS12LTdkM2Y3OTM5XXtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYXJvdW5kfS5qdXN0aWZ5LWNvbnRlbnQtY2VudGVyW2RhdGEtdi03ZDNmNzkzOV17anVzdGlmeS1jb250ZW50OmNlbnRlcn0uanVzdGlmeS1jb250ZW50LWVuZFtkYXRhLXYtN2QzZjc5Mzlde2p1c3RpZnktY29udGVudDpmbGV4LWVuZH0uYWxpZ24taXRlbXMtY2VudGVyW2RhdGEtdi03ZDNmNzkzOV17YWxpZ24taXRlbXM6Y2VudGVyfS5hbGlnbi1pdGVtcy1iYXNlbGluZVtkYXRhLXYtN2QzZjc5Mzlde2FsaWduLWl0ZW1zOmJhc2VsaW5lfS5mbGV4LWRpcmVjdGlvbi1jb2x1bW5bZGF0YS12LTdkM2Y3OTM5XXtmbGV4LWRpcmVjdGlvbjpjb2x1bW59LmZvbnQtd2VpZ2h0LWJvbGRbZGF0YS12LTdkM2Y3OTM5XXtmb250LXdlaWdodDo3MDB9LnBvc2l0aW9uLWZpeGVkW2RhdGEtdi03ZDNmNzkzOV17cG9zaXRpb246Zml4ZWR9LnBvc2l0aW9uLXJlbGF0aXZlW2RhdGEtdi03ZDNmNzkzOV17cG9zaXRpb246cmVsYXRpdmV9LnBvc2l0aW9uLWFic29sdXRlW2RhdGEtdi03ZDNmNzkzOV17cG9zaXRpb246YWJzb2x1dGV9Lm92ZXJmbG93LWhpZGRlbltkYXRhLXYtN2QzZjc5Mzlde292ZXJmbG93OmhpZGRlbn0ubGluZS0xW2RhdGEtdi03ZDNmNzkzOV17b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS5saW5lLTJbZGF0YS12LTdkM2Y3OTM5XXtvdmVyZmxvdzpoaWRkZW47LXdlYmtpdC1saW5lLWNsYW1wOjI7bGluZS1jbGFtcDoyOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDtib3gtb3JpZW50OnZlcnRpY2FsO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpib3h9LmxpbmUtM1tkYXRhLXYtN2QzZjc5Mzlde292ZXJmbG93OmhpZGRlbjstd2Via2l0LWxpbmUtY2xhbXA6MztsaW5lLWNsYW1wOjM7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO2JveC1vcmllbnQ6dmVydGljYWw7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmJveH0ubGluZS00W2RhdGEtdi03ZDNmNzkzOV17b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtbGluZS1jbGFtcDo0O2xpbmUtY2xhbXA6NDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7Ym94LW9yaWVudDp2ZXJ0aWNhbDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6Ym94fS5saW5lLTVbZGF0YS12LTdkM2Y3OTM5XXtvdmVyZmxvdzpoaWRkZW47LXdlYmtpdC1saW5lLWNsYW1wOjU7bGluZS1jbGFtcDo1Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDtib3gtb3JpZW50OnZlcnRpY2FsO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpib3h9LnctMTBbZGF0YS12LTdkM2Y3OTM5XXt3aWR0aDoxMCV9LmgtMTBbZGF0YS12LTdkM2Y3OTM5XXtoZWlnaHQ6MTAlfS5vcGFjaXR5LTEwW2RhdGEtdi03ZDNmNzkzOV17b3BhY2l0eTouMX0udy0xN1tkYXRhLXYtN2QzZjc5Mzlde3dpZHRoOjE3JX0uaC0xN1tkYXRhLXYtN2QzZjc5Mzlde2hlaWdodDoxNyV9Lm9wYWNpdHktMTdbZGF0YS12LTdkM2Y3OTM5XXtvcGFjaXR5Oi4xN30udy0xOFtkYXRhLXYtN2QzZjc5Mzlde3dpZHRoOjE4JX0uaC0xOFtkYXRhLXYtN2QzZjc5Mzlde2hlaWdodDoxOCV9Lm9wYWNpdHktMThbZGF0YS12LTdkM2Y3OTM5XXtvcGFjaXR5Oi4xOH0udy0xOVtkYXRhLXYtN2QzZjc5Mzlde3dpZHRoOjE5JX0uaC0xOVtkYXRhLXYtN2QzZjc5Mzlde2hlaWdodDoxOSV9Lm9wYWNpdHktMTlbZGF0YS12LTdkM2Y3OTM5XXtvcGFjaXR5Oi4xOX0udy0yMFtkYXRhLXYtN2QzZjc5Mzlde3dpZHRoOjIwJX0uaC0yMFtkYXRhLXYtN2QzZjc5Mzlde2hlaWdodDoyMCV9Lm9wYWNpdHktMjBbZGF0YS12LTdkM2Y3OTM5XXtvcGFjaXR5Oi4yfS53LTI1W2RhdGEtdi03ZDNmNzkzOV17d2lkdGg6MjUlfS5oLTI1W2RhdGEtdi03ZDNmNzkzOV17aGVpZ2h0OjI1JX0ub3BhY2l0eS0yNVtkYXRhLXYtN2QzZjc5Mzlde29wYWNpdHk6LjI1fS53LTMwW2RhdGEtdi03ZDNmNzkzOV17d2lkdGg6MzAlfS5oLTMwW2RhdGEtdi03ZDNmNzkzOV17aGVpZ2h0OjMwJX0ub3BhY2l0eS0zMFtkYXRhLXYtN2QzZjc5Mzlde29wYWNpdHk6LjN9LnctMzNbZGF0YS12LTdkM2Y3OTM5XXt3aWR0aDozMyV9LmgtMzNbZGF0YS12LTdkM2Y3OTM5XXtoZWlnaHQ6MzMlfS5vcGFjaXR5LTMzW2RhdGEtdi03ZDNmNzkzOV17b3BhY2l0eTouMzN9LnctNDBbZGF0YS12LTdkM2Y3OTM5XXt3aWR0aDo0MCV9LmgtNDBbZGF0YS12LTdkM2Y3OTM5XXtoZWlnaHQ6NDAlfS5vcGFjaXR5LTQwW2RhdGEtdi03ZDNmNzkzOV17b3BhY2l0eTouNH0udy00NFtkYXRhLXYtN2QzZjc5Mzlde3dpZHRoOjQ0JX0uaC00NFtkYXRhLXYtN2QzZjc5Mzlde2hlaWdodDo0NCV9Lm9wYWNpdHktNDRbZGF0YS12LTdkM2Y3OTM5XXtvcGFjaXR5Oi40NH0udy00OFtkYXRhLXYtN2QzZjc5Mzlde3dpZHRoOjQ4JX0uaC00OFtkYXRhLXYtN2QzZjc5Mzlde2hlaWdodDo0OCV9Lm9wYWNpdHktNDhbZGF0YS12LTdkM2Y3OTM5XXtvcGFjaXR5Oi40OH0udy00OVtkYXRhLXYtN2QzZjc5Mzlde3dpZHRoOjQ5JX0uaC00OVtkYXRhLXYtN2QzZjc5Mzlde2hlaWdodDo0OSV9Lm9wYWNpdHktNDlbZGF0YS12LTdkM2Y3OTM5XXtvcGFjaXR5Oi40OX0udy01MFtkYXRhLXYtN2QzZjc5Mzlde3dpZHRoOjUwJX0uaC01MFtkYXRhLXYtN2QzZjc5Mzlde2hlaWdodDo1MCV9Lm9wYWNpdHktNTBbZGF0YS12LTdkM2Y3OTM5XXtvcGFjaXR5Oi41fS53LTYwW2RhdGEtdi03ZDNmNzkzOV17d2lkdGg6NjAlfS5oLTYwW2RhdGEtdi03ZDNmNzkzOV17aGVpZ2h0OjYwJX0ub3BhY2l0eS02MFtkYXRhLXYtN2QzZjc5Mzlde29wYWNpdHk6LjZ9LnctNzBbZGF0YS12LTdkM2Y3OTM5XXt3aWR0aDo3MCV9LmgtNzBbZGF0YS12LTdkM2Y3OTM5XXtoZWlnaHQ6NzAlfS5vcGFjaXR5LTcwW2RhdGEtdi03ZDNmNzkzOV17b3BhY2l0eTouN30udy03NVtkYXRhLXYtN2QzZjc5Mzlde3dpZHRoOjc1JX0uaC03NVtkYXRhLXYtN2QzZjc5Mzlde2hlaWdodDo3NSV9Lm9wYWNpdHktNzVbZGF0YS12LTdkM2Y3OTM5XXtvcGFjaXR5Oi43NX0udy04MFtkYXRhLXYtN2QzZjc5Mzlde3dpZHRoOjgwJX0uaC04MFtkYXRhLXYtN2QzZjc5Mzlde2hlaWdodDo4MCV9Lm9wYWNpdHktODBbZGF0YS12LTdkM2Y3OTM5XXtvcGFjaXR5Oi44fS53LTkwW2RhdGEtdi03ZDNmNzkzOV17d2lkdGg6OTAlfS5oLTkwW2RhdGEtdi03ZDNmNzkzOV17aGVpZ2h0OjkwJX0ub3BhY2l0eS05MFtkYXRhLXYtN2QzZjc5Mzlde29wYWNpdHk6Ljl9LnctMTAwW2RhdGEtdi03ZDNmNzkzOV17d2lkdGg6MTAwJX0uaC0xMDBbZGF0YS12LTdkM2Y3OTM5XXtoZWlnaHQ6MTAwJX0ub3BhY2l0eS0xMDBbZGF0YS12LTdkM2Y3OTM5XXtvcGFjaXR5Oi4xfS5wYi01MFtkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctYm90dG9tOiU/NTA/JX0ubXQtNTBbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tdG9wOiU/NTA/JX0ucGItNjBbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLWJvdHRvbTolPzYwPyV9Lm10LTYwW2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLXRvcDolPzYwPyV9LnBiLTcwW2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy1ib3R0b206JT83MD8lfS5tdC03MFtkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi10b3A6JT83MD8lfS5wYi04MFtkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctYm90dG9tOiU/ODA/JX0ubXQtODBbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tdG9wOiU/ODA/JX0ucGItOTBbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLWJvdHRvbTolPzkwPyV9Lm10LTkwW2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLXRvcDolPzkwPyV9LnBiLTEwMFtkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctYm90dG9tOiU/MTAwPyV9Lm10LTEwMFtkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi10b3A6JT8xMDA/JX0ucGItMTEwW2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy1ib3R0b206JT8xMTA/JX0ubXQtMTEwW2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLXRvcDolPzExMD8lfS5wYi0xMjBbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLWJvdHRvbTolPzEyMD8lfS5tdC0xMjBbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tdG9wOiU/MTIwPyV9LnBiLTEzMFtkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctYm90dG9tOiU/MTMwPyV9Lm10LTEzMFtkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi10b3A6JT8xMzA/JX0ucGItMTQwW2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy1ib3R0b206JT8xNDA/JX0ubXQtMTQwW2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLXRvcDolPzE0MD8lfS5wYi0xNTBbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLWJvdHRvbTolPzE1MD8lfS5tdC0xNTBbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tdG9wOiU/MTUwPyV9LnBiLTE2MFtkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctYm90dG9tOiU/MTYwPyV9Lm10LTE2MFtkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi10b3A6JT8xNjA/JX0ucGItMTcwW2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy1ib3R0b206JT8xNzA/JX0ubXQtMTcwW2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLXRvcDolPzE3MD8lfS5wYi0xODBbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nLWJvdHRvbTolPzE4MD8lfS5tdC0xODBbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tdG9wOiU/MTgwPyV9LnBiLTE5MFtkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmctYm90dG9tOiU/MTkwPyV9Lm10LTE5MFtkYXRhLXYtN2QzZjc5Mzlde21hcmdpbi10b3A6JT8xOTA/JX0ucGItMjAwW2RhdGEtdi03ZDNmNzkzOV17cGFkZGluZy1ib3R0b206JT8yMDA/JX0ubXQtMjAwW2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luLXRvcDolPzIwMD8lfS5pbnB1dFtkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmc6MCAlPzMwPyU7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4wNSk7Ym9yZGVyLXJhZGl1czolPzEyPyU7aGVpZ2h0OiU/ODg/JTtsaW5lLWhlaWdodDolPzg4PyU7cG9zaXRpb246cmVsYXRpdmV9LmlucHV0IC5pbnB1dC1wbGFjZWhvbGRlcltkYXRhLXYtN2QzZjc5Mzlde29wYWNpdHk6LjQ7Zm9udC13ZWlnaHQ6NDAwIWltcG9ydGFudH0uYm94LXNoYWRvd1tkYXRhLXYtN2QzZjc5Mzlde2JveC1zaGFkb3c6MCAwIDEwcHggMCByZ2JhKDAsMCwwLC4wNil9LmJvcmRlcltkYXRhLXYtN2QzZjc5Mzlde2JvcmRlcjolPzI/JSBzb2xpZCAjNGQ0ZDRkfS5ib3JkZXItdG9wW2RhdGEtdi03ZDNmNzkzOV17Ym9yZGVyLXRvcDolPzI/JSBzb2xpZCAjNGQ0ZDRkfS5ib3JkZXItYm90dG9tW2RhdGEtdi03ZDNmNzkzOV17Ym9yZGVyLWJvdHRvbTolPzI/JSBzb2xpZCAjNGQ0ZDRkfS5ib3JkZXItYm90dG9tLXdoaXRlW2RhdGEtdi03ZDNmNzkzOV17Ym9yZGVyLWJvdHRvbTolPzI/JSBzb2xpZCAjZjNmM2YzfS5ib3JkZXItcmFkaXVzLTEwW2RhdGEtdi03ZDNmNzkzOV17Ym9yZGVyLXJhZGl1czolPzEwPyUhaW1wb3J0YW50fS5ib3JkZXItcmFkaXVzLTIwW2RhdGEtdi03ZDNmNzkzOV0sIC5kZXBvc2l0W2RhdGEtdi03ZDNmNzkzOV17Ym9yZGVyLXJhZGl1czolPzIwPyUhaW1wb3J0YW50fS5ib3JkZXItcmFkaXVzLTUwcGVyW2RhdGEtdi03ZDNmNzkzOV17Ym9yZGVyLXJhZGl1czo1MCUhaW1wb3J0YW50fS51bmktaW5wdXQtcGxhY2Vob2xkZXJbZGF0YS12LTdkM2Y3OTM5XXtjb2xvcjpoc2xhKDAsMCUsOTkuNiUsLjUpfS5rZWZ1W2RhdGEtdi03ZDNmNzkzOV17cG9zaXRpb246Zml4ZWQ7cmlnaHQ6JT81MD8lO2JvdHRvbToxNi41dmg7ei1pbmRleDoxMDtib3JkZXItcmFkaXVzOjUwJTtib3gtc2hhZG93OjAgMCAxNXB4IDAgcmdiYSgwLDAsMCwuMSk7YmFja2dyb3VuZC1jb2xvcjojMzMzO3dpZHRoOiU/NzA/JTtoZWlnaHQ6JT83MD8lO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ubG9naW4taW5wdXQtZ3JvdXBbZGF0YS12LTdkM2Y3OTM5XXtib3JkZXItYm90dG9tOiU/Mj8lIHNvbGlkIGhzbGEoMCwwJSwxMDAlLC4yKTttYXJnaW4tdG9wOiU/NTA/JTtwb3NpdGlvbjpyZWxhdGl2ZX0ubG9naW4taW5wdXQtZ3JvdXAgLmxvZ2luLWlucHV0W2RhdGEtdi03ZDNmNzkzOV17aGVpZ2h0OiU/NzA/JTtsaW5lLWhlaWdodDolPzcwPyU7d2lkdGg6MTAwJX0ubG9naW4taW5wdXQtZ3JvdXAgLmxhYmVsW2RhdGEtdi03ZDNmNzkzOV17b3BhY2l0eTouN30uYm94LXNoYWRvd1tkYXRhLXYtN2QzZjc5Mzlde2JveC1zaGFkb3c6MCAwIDEwcHggMCByZ2JhKDAsMCwwLC4xKX0uc3Vic2VjdGlvbiAuaXRlbVtkYXRhLXYtN2QzZjc5Mzlde3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmctYm90dG9tOiU/MTA/JX0uc3Vic2VjdGlvbiAuaXRlbVtkYXRhLXYtN2QzZjc5MzldOjphZnRlcntkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO2NvbnRlbnQ6IiI7Ym90dG9tOjA7bGVmdDo1MCU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt3aWR0aDolPzMwPyU7aGVpZ2h0OiU/ND8lO2JhY2tncm91bmQtY29sb3I6I2ZmZn0uc3Vic2VjdGlvbiAuaXRlbS5hY3RpdmVbZGF0YS12LTdkM2Y3OTM5XXtjb2xvcjojMjI3N2ZjfS5zdWJzZWN0aW9uIC5pdGVtLmFjdGl2ZVtkYXRhLXYtN2QzZjc5MzldOjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOiMyMjc3ZmN9LmQtZ3JpZFtkYXRhLXYtN2QzZjc5Mzlde2Rpc3BsYXk6Z3JpZH0uZC1ncmlkLWNvbHVtbnMtMltkYXRhLXYtN2QzZjc5Mzlde2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDIsMWZyKX0uZC1ncmlkLWNvbHVtbnMtM1tkYXRhLXYtN2QzZjc5Mzlde2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDMsMWZyKX0uZC1ncmlkLWNvbHVtbnMtNFtkYXRhLXYtN2QzZjc5Mzlde2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDQsMWZyKX0uZC1ncmlkLWNvbHVtbnMtNVtkYXRhLXYtN2QzZjc5Mzlde2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDUsMWZyKX0uYXJ0aWNsZVtkYXRhLXYtN2QzZjc5Mzlde3BhZGRpbmc6JT8zMD8lfS5hcnRpY2xlIHVuaS10ZXh0W2RhdGEtdi03ZDNmNzkzOV17ZGlzcGxheTpibG9jazttYXJnaW4tYm90dG9tOiU/MjA/JX1pZnJhbWVbZGF0YS12LTdkM2Y3OTM5XXtsZWZ0OjAhaW1wb3J0YW50O3JpZ2h0OjAhaW1wb3J0YW50O21hcmdpbjowIGF1dG87dG9wOjAhaW1wb3J0YW50fS5wb3NpdGlvbi1yZWxhdGl2ZS16aW5kZXgtOTlbZGF0YS12LTdkM2Y3OTM5XXtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4Ojk5fS5zdGF0dXNfYmFyW2RhdGEtdi03ZDNmNzkzOV17aGVpZ2h0OjA7d2lkdGg6MTAwJX0uYWZ0ZXItYm9yZGVyW2RhdGEtdi03ZDNmNzkzOV17cG9zaXRpb246cmVsYXRpdmV9LmFmdGVyLWJvcmRlcltkYXRhLXYtN2QzZjc5MzldOmFmdGVye3Bvc2l0aW9uOmFic29sdXRlO2NvbnRlbnQ6IiI7dG9wOjA7cmlnaHQ6MDtib3R0b206MDt3aWR0aDolPzI/JTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoNTEsNTEsNTEsLjEpfS5sb2dpbi1sb2dvW2RhdGEtdi03ZDNmNzkzOV17dGV4dC1hbGlnbjpjZW50ZXI7cGFkZGluZy10b3A6NC41dmh9LmxvZ2luLWxvZ28gdW5pLWltYWdlW2RhdGEtdi03ZDNmNzkzOV17d2lkdGg6MTd2aDtoZWlnaHQ6MTd2aDtkaXNwbGF5OmJsb2NrO2JvcmRlci1yYWRpdXM6JT8yND8lO2JveC1zaGFkb3c6MCAwICU/MTA/JSAwIHJnYmEoMCwwLDAsLjA1KTttYXJnaW46MCBhdXRvfS50YWctcHJpbWFyeVtkYXRhLXYtN2QzZjc5Mzlde2JhY2tncm91bmQtY29sb3I6IzIyNzdmYztjb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6JT82PyU7Zm9udC1zaXplOiU/MjA/JTtwYWRkaW5nOiU/ND8lICU/MTA/JTtib3JkZXI6JT8yPyUgc29saWQgIzIyNzdmYztib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyOm5vbmU7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoLTIyNWRlZywjMmNkOGQ1LCM2YjhkZDYgNDglLCM4ZTM3ZDcpfS50YWctZXJyb3JbZGF0YS12LTdkM2Y3OTM5XSwgLnRhZy1wbGFpbi1lcnJvcltkYXRhLXYtN2QzZjc5Mzlde2JhY2tncm91bmQtY29sb3I6I2YwNGE1YTtjb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6JT82PyU7Zm9udC1zaXplOiU/MjA/JTtwYWRkaW5nOiU/ND8lICU/MTA/JTtib3JkZXI6JT8yPyUgc29saWQgI2YwNGE1YTtib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyOm5vbmU7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoMjcwZGVnLCNmZjA4NDQgMCwjZmZiMTk5KX0udGFnLXNlY29uZGFyeVtkYXRhLXYtN2QzZjc5Mzlde2JhY2tncm91bmQtY29sb3I6cmdiYSg1MSw1MSw1MSwuMDYpO2NvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czolPzY/JTtmb250LXNpemU6JT8yMD8lO3BhZGRpbmc6JT80PyUgJT8xMD8lO2JvcmRlcjolPzI/JSBzb2xpZCByZ2JhKDUxLDUxLDUxLC4wNik7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlcjpub25lO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDQ1ZGVnLCM5M2E1Y2YsI2U0ZWZlOSl9LnRhZy13YXJuaW5nW2RhdGEtdi03ZDNmNzkzOV17YmFja2dyb3VuZC1jb2xvcjojZDRiYTgzO2NvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czolPzY/JTtmb250LXNpemU6JT8yMD8lO3BhZGRpbmc6JT80PyUgJT8xMD8lO2JvcmRlcjolPzI/JSBzb2xpZCAjZDRiYTgzO2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXI6bm9uZTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgxZGVnLCNmZmNjOGYsI2ZmZWRkOCl9LnRhZy1zdWNjZXNzW2RhdGEtdi03ZDNmNzkzOV0sIC50YWctcGxhaW4tc3VjY2Vzc1tkYXRhLXYtN2QzZjc5Mzlde2JhY2tncm91bmQtY29sb3I6IzI4YmE5ODtjb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6JT82PyU7Zm9udC1zaXplOiU/MjA/JTtwYWRkaW5nOiU/ND8lICU/MTA/JTtib3JkZXI6JT8yPyUgc29saWQgIzI4YmE5ODtib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyOm5vbmU7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoMTIwZGVnLCM4NGZhYjAsIzhmZDNmNCl9LnRhZy1wbGFpbi1zdWNjZXNzW2RhdGEtdi03ZDNmNzkzOV17YmFja2dyb3VuZDpub25lO2NvbG9yOiMyOGJhOTg7Ym9yZGVyOiU/Mj8lIHNvbGlkICMyOGJhOTh9LnRhZy1wbGFpbi1lcnJvcltkYXRhLXYtN2QzZjc5Mzlde2JhY2tncm91bmQ6bm9uZTtjb2xvcjojZjA0YTVhO2JvcmRlcjolPzI/JSBzb2xpZCAjZjA0YTVhfS5hbGVydFtkYXRhLXYtN2QzZjc5Mzlde2ZvbnQtc2l6ZTolPzI0PyU7Ym9yZGVyLXJhZGl1czolPzIwPyU7cGFkZGluZzolPzIwPyU7Ym9yZGVyLXJhZGl1czo1cHh9LmlucHV0LWl0ZW1bZGF0YS12LTdkM2Y3OTM5XXtwb3NpdGlvbjpyZWxhdGl2ZX0uaW5wdXQtaXRlbSAuaW5wdXRbZGF0YS12LTdkM2Y3OTM5XXttYXJnaW4tdG9wOiU/MjA/JX0uaW5wdXQtaXRlbSAuZXllW2RhdGEtdi03ZDNmNzkzOV17cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6JT8zMD8lO3RvcDo1NiV9LmlucHV0LWl0ZW0gLmdldC1jb2RlW2RhdGEtdi03ZDNmNzkzOV17cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6JT8zMD8lO3RvcDolPzc4PyU7aGVpZ2h0OiU/NTA/JTtsaW5lLWhlaWdodDolPzUwPyU7cGFkZGluZzowICU/MjA/JTtiYWNrZ3JvdW5kLWNvbG9yOiNmMDRhNWE7Ym9yZGVyLXJhZGl1czolPzEwPyU7Y29sb3I6I2ZmZn0uaW5wdXQtaXRlbSAuZ2V0LWNvZGUuc2VuZFtkYXRhLXYtN2QzZjc5Mzlde2JhY2tncm91bmQtY29sb3I6cmdiYSg1MSw1MSw1MSwuMDYpfS51cGxvYWQtd3JhcFtkYXRhLXYtN2QzZjc5Mzlde2JhY2tncm91bmQ6IzRkNGQ0ZDt3aWR0aDolPzI0MD8lO2hlaWdodDolPzI0MD8lO2JvcmRlci1yYWRpdXM6JT8xMD8lO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjt0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW46MCBhdXRvO2JvcmRlcjolPzI/JSBzb2xpZCByZ2JhKDUxLDUxLDUxLC4wNik7b3ZlcmZsb3c6aGlkZGVufS5yaWdodC1lbnRlcltkYXRhLXYtN2QzZjc5Mzldey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwMCUsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMTAwJSwwLDApfS5yaWdodC1sZWF2ZS10b1tkYXRhLXYtN2QzZjc5MzldLCAucmlnaHQtbGVhdmVbZGF0YS12LTdkM2Y3OTM5XXtkaXNwbGF5Om5vbmV9LnJpZ2h0LWVudGVyLXRvW2RhdGEtdi03ZDNmNzkzOV17LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0ucmlnaHQtZW50ZXItYWN0aXZlW2RhdGEtdi03ZDNmNzkzOV0sXHJcbi5yaWdodC1sZWF2ZS1hY3RpdmVbZGF0YS12LTdkM2Y3OTM5XXt0cmFuc2l0aW9uOmFsbCAuM3N9LmRlcG9zaXRbZGF0YS12LTdkM2Y3OTM5XXtjb2xvcjojMzMzO3BhZGRpbmc6MCAlPzI4PyU7cGFkZGluZy10b3A6JT8zOD8lO3Bvc2l0aW9uOnJlbGF0aXZlfS5kZXBvc2l0IC5lYXJuaW5ncy13cmFwW2RhdGEtdi03ZDNmNzkzOV17bWFyZ2luOjAgJT8tMjg/JTttYXJnaW4tdG9wOiU/MzA/JX0uZGVwb3NpdCAuZWFybmluZ3Mtd3JhcCAuZWFybmluZ3NbZGF0YS12LTdkM2Y3OTM5XXtwYWRkaW5nOiU/MzA/JSAlPzI4PyUgJT8yOD8lICU/Mjg/JTtiYWNrZ3JvdW5kLWNvbG9yOmhzbGEoMCwwJSwxMDAlLC4xKX0udHJhbnNpdGlvbltkYXRhLXYtN2QzZjc5Mzlde3RyYW5zaXRpb246YWxsIC4zcyBlYXNlIDBzfS53aGl0ZS1jaXJjbGVbZGF0YS12LTdkM2Y3OTM5XXt3aWR0aDolPzgwPyU7aGVpZ2h0OiU/ODA/JTtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5mbGV4LTFbZGF0YS12LTdkM2Y3OTM5XXtmbGV4OjF9LmxvZ2luLWhlYWQtYmdbZGF0YS12LTdkM2Y3OTM5XXtwb3NpdGlvbjpmaXhlZDt3aWR0aDoxMDB2dztoZWlnaHQ6NTQuNHZ3O3RvcDowO2xlZnQ6MDtyaWdodDowfS5saW5lYXItZ3JhZGllbnQtdGV4dFtkYXRhLXYtN2QzZjc5Mzlde2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDNkZWcsI2ZmY2M4ZiwjZmZlZGQ4KTstd2Via2l0LWJhY2tncm91bmQtY2xpcDp0ZXh0O2NvbG9yOnRyYW5zcGFyZW50fS5saW5lYXItZ3JhZGllbnQtYnV0dG9uW2RhdGEtdi03ZDNmNzkzOV0sIC5kZXBvc2l0W2RhdGEtdi03ZDNmNzkzOV17YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMWRlZywjZmZjYzhmLCNmZmVkZDgpfS53cmFwcGVyLWJnW2RhdGEtdi03ZDNmNzkzOV17cG9zaXRpb246cmVsYXRpdmV9LndyYXBwZXItYmdbZGF0YS12LTdkM2Y3OTM5XTo6YWZ0ZXJ7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7cmlnaHQ6MDt0b3A6MDtib3R0b206MDtiYWNrZ3JvdW5kLWltYWdlOnVybCgnK28rIik7YmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1wb3NpdGlvbjoxMDAlIHRvcDtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXR9LnUtcHJvZ3Jlc3NbZGF0YS12LTdkM2Y3OTM5XXtvdmVyZmxvdzpoaWRkZW47aGVpZ2h0OjE1cHg7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXI7d2lkdGg6MTAwJTtib3JkZXItcmFkaXVzOiU/MTAwPyV9LnUtYWN0aXZlW2RhdGEtdi03ZDNmNzkzOV17d2lkdGg6MDtoZWlnaHQ6MTAwJTthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOnJvdztqdXN0aWZ5LWl0ZW1zOmZsZXgtZW5kO2p1c3RpZnktY29udGVudDpzcGFjZS1hcm91bmQ7Zm9udC1zaXplOiU/MjA/JTtjb2xvcjojZmZmO3RyYW5zaXRpb246YWxsIC40cyBlYXNlfS51LXN0cmlwZWRbZGF0YS12LTdkM2Y3OTM5XXtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCg0NWRlZyxoc2xhKDAsMCUsMTAwJSwuMTUpIDI1JSx0cmFuc3BhcmVudCAwLHRyYW5zcGFyZW50IDUwJSxoc2xhKDAsMCUsMTAwJSwuMTUpIDAsaHNsYSgwLDAlLDEwMCUsLjE1KSA3NSUsdHJhbnNwYXJlbnQgMCx0cmFuc3BhcmVudCk7YmFja2dyb3VuZC1zaXplOjM5cHggMzlweH0udS1zdHJpcGVkLWFjdGl2ZVtkYXRhLXYtN2QzZjc5Mzldey13ZWJraXQtYW5pbWF0aW9uOnByb2dyZXNzLXN0cmlwZXMtZGF0YS12LTdkM2Y3OTM5IDJzIGxpbmVhciBpbmZpbml0ZTthbmltYXRpb246cHJvZ3Jlc3Mtc3RyaXBlcy1kYXRhLXYtN2QzZjc5MzkgMnMgbGluZWFyIGluZmluaXRlfUAtd2Via2l0LWtleWZyYW1lcyBwcm9ncmVzcy1zdHJpcGVzLWRhdGEtdi03ZDNmNzkzOXswJXtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgMH0xMDAle2JhY2tncm91bmQtcG9zaXRpb246MzlweCAwfX1Aa2V5ZnJhbWVzIHByb2dyZXNzLXN0cmlwZXMtZGF0YS12LTdkM2Y3OTM5ezAle2JhY2tncm91bmQtcG9zaXRpb246MCAwfTEwMCV7YmFja2dyb3VuZC1wb3NpdGlvbjozOXB4IDB9fSIsIiJdKSx0LmV4cG9ydHM9YX0sYzhiNDpmdW5jdGlvbih0LGEsZCl7dmFyIGk9ZCgiOGVkNCIpO2kuX19lc01vZHVsZSYmKGk9aS5kZWZhdWx0KSwic3RyaW5nIj09PXR5cGVvZiBpJiYoaT1bW3QuaSxpLCIiXV0pLGkubG9jYWxzJiYodC5leHBvcnRzPWkubG9jYWxzKTt2YXIgbj1kKCI5NjdkIikuZGVmYXVsdDtuKCI1ZmM1MThiZSIsaSwhMCx7c291cmNlTWFwOiExLHNoYWRvd01vZGU6ITF9KX0sZDRmMDpmdW5jdGlvbih0LGEsZCl7InVzZSBzdHJpY3QiO2QucihhKTt2YXIgaT1kKCJlZTNhIiksbj1kKCI3ZTg0Iik7Zm9yKHZhciByIGluIG4pWyJkZWZhdWx0Il0uaW5kZXhPZihyKTwwJiZmdW5jdGlvbih0KXtkLmQoYSx0LChmdW5jdGlvbigpe3JldHVybiBuW3RdfSkpfShyKTtkKCI1Mzg1Iik7dmFyIG89ZCgiODI4YiIpLHA9T2JqZWN0KG9bImEiXSkoblsiZGVmYXVsdCJdLGlbImIiXSxpWyJjIl0sITEsbnVsbCwiN2QzZjc5MzkiLG51bGwsITEsaVsiYSJdLHZvaWQgMCk7YVsiZGVmYXVsdCJdPXAuZXhwb3J0c30sZWUzYTpmdW5jdGlvbih0LGEsZCl7InVzZSBzdHJpY3QiO2QuZChhLCJiIiwoZnVuY3Rpb24oKXtyZXR1cm4gaX0pKSxkLmQoYSwiYyIsKGZ1bmN0aW9uKCl7cmV0dXJuIG59KSksZC5kKGEsImEiLChmdW5jdGlvbigpe30pKTt2YXIgaT1mdW5jdGlvbigpe3ZhciB0PXRoaXMsYT10LiRjcmVhdGVFbGVtZW50LGQ9dC5fc2VsZi5fY3x8YTtyZXR1cm4gZCgidi11bmktdmlldyIse3N0YXRpY0NsYXNzOiJ1LXByb2dyZXNzIixzdHlsZTp7Ym9yZGVyUmFkaXVzOnQucm91bmQ/IjEwMHJweCI6MCxoZWlnaHQ6dC5oZWlnaHQrInJweCIsYmFja2dyb3VuZENvbG9yOnQuaW5hY3RpdmVDb2xvcn19LFtkKCJ2LXVuaS12aWV3Iix7c3RhdGljQ2xhc3M6InUtYWN0aXZlIixjbGFzczpbdC50eXBlPyJ1LXR5cGUtIit0LnR5cGUrIi1iZyI6IiIsdC5zdHJpcGVkPyJ1LXN0cmlwZWQiOiIiLHQuc3RyaXBlZCYmdC5zdHJpcGVkQWN0aXZlPyJ1LXN0cmlwZWQtYWN0aXZlIjoiIl0sc3R5bGU6W3QucHJvZ3Jlc3NTdHlsZV19LFt0LiRzbG90cy5kZWZhdWx0fHx0LiRzbG90cy4kZGVmYXVsdD90Ll90KCJkZWZhdWx0Iik6dC5zaG93UGVyY2VudD9bdC5fdih0Ll9zKHQucGVyY2VudCsiJSIpKV06dC5fZSgpXSwyKV0sMSl9LG49W119fV0pOw=="}},"time_used":183,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":183,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null},{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"futurbcvndf.com/static/image/nav/nav-1-active.png","fqdn":"futurbcvndf.com","domain":"futurbcvndf.com","tld":"com"},"ip":{"addr":"172.67.130.50","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://futurbcvndf.com/","date":"2026-07-27T06:23:01.077Z","timestamp":1785133381077,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"futurbcvndf.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 16 Jul 2026 16:36:02 GMT","end":"Wed, 14 Oct 2026 16:36:01 GMT"},"fingerprint":{"sha1":"46:2D:5F:F0:3D:BD:73:19:93:72:79:62:4A:45:03:09:5D:FB:1E:A5","sha256":"35:31:C4:67:1D:DB:68:C3:FB:49:03:14:DD:4E:76:FE:13:53:8D:98:98:2E:BE:EA:B8:CA:4F:B6:5B:7E:5C:1D"}}},"request":{"raw":"GET /static/image/nav/nav-1-active.png HTTP/1.1\r\nHost: futurbcvndf.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://futurbcvndf.com/\r\nCookie: angela_session=eyJpdiI6IlhnUEZEQ1hLNngxS0t2ZGN3TnJjV1E9PSIsInZhbHVlIjoiVGlYZUpmMXVPdEhuTGtoQzhTS3VXM3BIN3J4ZDZnU2dNTWxTc0NRcHNMTXFyNm1wQTZEQ0RKTWJ0UjRERWZ5aDBaQWxVaVdmN0VVQkNna0M2ZTJ2dTdFZkx3amdIYjZlQzEzMHozajVqTzMybnhMOHo1bEpuaXdQM1R3UVN4QmQiLCJtYWMiOiJiZWIyMTJlYzc4OWUzODk0ODBiOTI5NmU0MjA2MDBmZjJmYzA2MTI3ZjViNmY4NWYxNzIyNDI4MDhhYWMzZmI4In0%3D\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\nserver: cloudflare\r\ndate: Mon, 27 Jul 2026 06:23:01 GMT\r\ncontent-type: image/png\r\nserver-timing: cfExtPri\r\npriority: u=4,i\r\nlast-modified: Fri, 20 Jun 2025 15:49:45 GMT\r\netag: \"68558319-700\"\r\nstrict-transport-security: max-age=31536000\r\naccept-ranges: bytes\r\ncache-control: max-age=14400\r\ncf-cache-status: REVALIDATED\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=N3cFjvCma8TGZ5QH8CSBo3Q0Q%2Fs5vQHA6PtQfzZIUnvM2obo69IsGb9vW9DwvRhu1c5Yzcsh7H0bTkmIiDlkgWXsdY5nN%2BF6gk0TZbOvMeqvgZc8WQflgNjly1aqGahp3j4%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\ncf-ray: a2198d8fb9400daa-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\ncontent-length: 1792\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":1792,"size_decoded":2529,"mime_type":"image/png","magic":"PNG image data, 39 x 43, 8-bit/color RGBA, non-interlaced","md5":"6e2baf8ad92bb13eccce1b784be6f4de","sha1":"56195bc729f562359e7a5de5d0db813017971b68","sha256":"155295d2342170ff1b32d8bf029e9b1cd79ab884b6014fef2bc2990bf57cb44d","sha512":"ec2ecc8a420b474996700a8f7177985e1d512ede1d5fda6285ac995175c51899c90014654e5b440cfe83006d87d087f4783a729bf462be683b2936ec3ee504a5","ssdeep":"","tlshash":"39312bdb974664088db27c5113441d4c1f290b666ef7ae0c14c4f8cf31be0ca5624a38","first_seen":"2023-05-20T12:09:29Z","last_seen":"2026-07-27T14:50:18.136162Z","times_seen":254,"resource_available":false,"data":"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"}},"time_used":180,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":180,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null},{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"futurbcvndf.com/static/image/nav/nav-5.png","fqdn":"futurbcvndf.com","domain":"futurbcvndf.com","tld":"com"},"ip":{"addr":"172.67.130.50","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://futurbcvndf.com/","date":"2026-07-27T06:23:01.083Z","timestamp":1785133381083,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"futurbcvndf.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 16 Jul 2026 16:36:02 GMT","end":"Wed, 14 Oct 2026 16:36:01 GMT"},"fingerprint":{"sha1":"46:2D:5F:F0:3D:BD:73:19:93:72:79:62:4A:45:03:09:5D:FB:1E:A5","sha256":"35:31:C4:67:1D:DB:68:C3:FB:49:03:14:DD:4E:76:FE:13:53:8D:98:98:2E:BE:EA:B8:CA:4F:B6:5B:7E:5C:1D"}}},"request":{"raw":"GET /static/image/nav/nav-5.png HTTP/1.1\r\nHost: futurbcvndf.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://futurbcvndf.com/\r\nCookie: angela_session=eyJpdiI6IlhnUEZEQ1hLNngxS0t2ZGN3TnJjV1E9PSIsInZhbHVlIjoiVGlYZUpmMXVPdEhuTGtoQzhTS3VXM3BIN3J4ZDZnU2dNTWxTc0NRcHNMTXFyNm1wQTZEQ0RKTWJ0UjRERWZ5aDBaQWxVaVdmN0VVQkNna0M2ZTJ2dTdFZkx3amdIYjZlQzEzMHozajVqTzMybnhMOHo1bEpuaXdQM1R3UVN4QmQiLCJtYWMiOiJiZWIyMTJlYzc4OWUzODk0ODBiOTI5NmU0MjA2MDBmZjJmYzA2MTI3ZjViNmY4NWYxNzIyNDI4MDhhYWMzZmI4In0%3D\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\nserver: cloudflare\r\ndate: Mon, 27 Jul 2026 06:23:01 GMT\r\ncontent-type: image/png\r\nserver-timing: cfExtPri\r\npriority: u=4,i\r\nlast-modified: Fri, 20 Jun 2025 15:49:45 GMT\r\netag: \"68558319-2fa\"\r\nstrict-transport-security: max-age=31536000\r\naccept-ranges: bytes\r\ncache-control: max-age=14400\r\ncf-cache-status: REVALIDATED\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=7Nddw8%2FbWtBz8p7qim5vY6rm9PGug7XeJHDGHNz5q%2B9374HlHsqQnhuEOQN1b8dikKiDQ1TnGTMXkfsAVMedalc%2B6wCbvqgHPCwgy2gil5XXy9eHAp1I4%2FV1Wn9pyA4AAMo%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\ncf-ray: a2198d8fc9450daa-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\ncontent-length: 762\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":762,"size_decoded":1502,"mime_type":"image/png","magic":"PNG image data, 42 x 42, 8-bit/color RGBA, non-interlaced","md5":"214aee318b1921c9d0a518e7236f6798","sha1":"80344471faf6fbd958fa82f20128e004b71845f3","sha256":"f4d884cc4ffdaeed56d30b53ce28453c401a187591cc6ed20700b98e5e9fcbd9","sha512":"f8316fa75057752ff636710dd30eca9b9c360bcfa1a28e1fd0659b4da48d530f13e81afb14f28a38f941f0aaca142b04afdbad0052a7621835c7904c3a10af5a","ssdeep":"","tlshash":"6601b54d4520e4699a3612a3b87ac2f10c1eb01462b79dde8532e31f3432704f0842c3","first_seen":"2023-05-20T12:09:29Z","last_seen":"2026-07-27T14:50:18.119732Z","times_seen":261,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAAACwUlEQVRYhc3ZT4iUZRzA8Y+zY7dK3MPGQh4CdVVkIwiD8tApcIXQ0gXFPx2sSyikl40KQiVMxZPkJU0JCQVzXYhkQQ/iHxBKKjEhI1MPHjYtrdZk3Q7PTPvONO877+y8M+9+4YWZ932f3/vl4X3+/H7vtOHhYU3yFJ5DD7qwA79Fri/Fj/ipmYcUJ9muB2vxKuZXXdurUvRzPIkb+AoHcQHjjTyw0KDgS/gaVzBQQzKJp/EWzuFbvI5paRunFe3GFziDVxqQi6MXR0vxetM0SCPah+/QP3mvWF7ERWxRp3friW7GEDqz8arJdOzEfgljJkl0K3Zp4D1qkvU4Ioj/jzjRTXivRUJJLMMBNTqnlujL2N1qowRWCx1VQbXoTBxGRzuMEtiBZ6MnqkW3CytN3jyGT0T8oqLz8Ga7jRJ4QWRKjIq+q/GVqtUMKA2sslgnVuamE89CLGZCtF94L6Yia5gQ7ctRpB5LCKJFpe6donSjp4Bn8HjOMvXoLWBu3hYpmFPU+gl+RhZBCngii0CtpoBHGceclXE8hBH/R8Yx9wlL8QgeZhTzbhG3MgpWZgHOZhxzoCBklFOdqwUh3x7J26QO35QH0+m8TRL4GdfLa/2JPE3qMMjEpuQY7ufnksghJkT/xKf5ucRyHpeo3NHvwmguOvF8WP4RFb2Jj9vvEssQTpb/VOdIHwm1zLz5HRujJ6pFR4Xc6a92GcWwAb9ET9TKOr/HKoy1QagWW4WSZAVx6fGgsLFot+wefFDrQlIevx8rtGcmGBeKcu/E3VCv4PAlntfaATaC5UI5KZY0lZEfhK8e2/BP817/MS6sOgtwvN7NaUs4f+N9zBa+ejQzK4wJS/YirMPtNI0arTX9ireFhPANYdDdTdFuFKeEd3AWXhNq96mZ7Heme/isdHRgTunoEpLFDtwpHddwGQ8m+SzwL1nIcoAcce+FAAAAAElFTkSuQmCC"}},"time_used":234,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":234,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null},{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"futurbcvndf.com/api/currency/new_timeshar?from=1785129781\u0026to=1785133381\u0026symbol=YMT%2FUSDT\u0026period=1min\u0026lang=en","fqdn":"futurbcvndf.com","domain":"futurbcvndf.com","tld":"com"},"ip":{"addr":"172.67.130.50","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://futurbcvndf.com/","date":"2026-07-27T06:23:03.239Z","timestamp":1785133383239,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"futurbcvndf.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 16 Jul 2026 16:36:02 GMT","end":"Wed, 14 Oct 2026 16:36:01 GMT"},"fingerprint":{"sha1":"46:2D:5F:F0:3D:BD:73:19:93:72:79:62:4A:45:03:09:5D:FB:1E:A5","sha256":"35:31:C4:67:1D:DB:68:C3:FB:49:03:14:DD:4E:76:FE:13:53:8D:98:98:2E:BE:EA:B8:CA:4F:B6:5B:7E:5C:1D"}}},"request":{"raw":"GET /api/currency/new_timeshar?from=1785129781\u0026to=1785133381\u0026symbol=YMT%2FUSDT\u0026period=1min\u0026lang=en HTTP/1.1\r\nHost: futurbcvndf.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nAuthorization: \r\nContent-Type: application/x-www-form-urlencoded\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://futurbcvndf.com/\r\nCookie: angela_session=eyJpdiI6IlB6YktxaWRHd2FmOG53UHphSWNDN3c9PSIsInZhbHVlIjoiV3AzWENiUVBEWnM3VW9kcmV6RVg5MEhOQjR3cEE4T1NzQmdwTTJoMlFhUTZGN0lwZXpSN3VZMTFCSmxXTE42dElXUVFDSHV6THREaERCVjZhNVhoMm10a1FsZldFZlwvZ0Q0TkMzbTZ6eStRN2ZEZDhZMk83OERvUGY3Mk9jR2tHIiwibWFjIjoiY2IzNmE1ZGQ3ZjkwZDRlYTA3ZWUxY2NlZjJjOGU3M2YyYjViMTUxNjhkYjQ2NWNlMWRjODRiNDBhMWFmNTZjMCJ9\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\nserver: cloudflare\r\ndate: Mon, 27 Jul 2026 06:23:03 GMT\r\ncontent-type: application/json\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=%2BILhpJn8W2yj41ETpFuynLOMZUVsoFMOrc0xN3iPqXWLY%2F7FhG%2B%2FSQSIQod%2FFijfy7rm5%2B%2FpFYi7eENy3j%2BX%2F8U2835d0S2AzKSD7VYzw9jVSR45ViSIsa8R8z4jXJ3erTU%3D\"}]}\r\npriority: u=3,i=?0\r\ncache-control: no-cache, private, no-cache\r\naccess-control-allow-origin: *\r\naccess-control-allow-headers: Origin, Content-Type, Cookie, X-CSRF-TOKEN, Accept, Authorization, X-XSRF-TOKEN\r\naccess-control-expose-headers: Authorization, authenticated\r\naccess-control-allow-methods: GET, POST, PATCH, PUT, OPTIONS\r\naccess-control-allow-credentials: false\r\nset-cookie: angela_session=eyJpdiI6IkcyaTBiUHNJTFg1N2I2YXl3S3JFYlE9PSIsInZhbHVlIjoiaWF6N0lNQ2pkSGZYOFZBWkRoRHZ3aVZcL1F5RVNub3ZoaDVQeGh4c3VzUUt5b09LTHd2UWd0WkFXeWFWWDhLWjJyQ1k1UFB0UjlhaXFTT2FVR09xSU1jaVI0aFNVdWZSaTNwU2lZREw0RUE4UHExQ096SXlsQ05IbXErSHh1XC9ZWSIsIm1hYyI6IjdlNjliMThjNzdmZjYyMTFhMWMxNTE2OTMwOTJlNzc1MTVlZDU2YWYzNjg4YzQxNWRlMWMyMDg2YTU2MjUyODUifQ%3D%3D; expires=Mon, 27-Jul-2026 08:23:03 GMT; Max-Age=7200; path=/; httponly\r\nstrict-transport-security: max-age=31536000\r\ncf-cache-status: DYNAMIC\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\ncontent-encoding: zstd\r\ncf-ray: a2198d9d3b640daa-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":14745,"size_decoded":3748,"mime_type":"application/json","magic":"JSON text data","md5":"57c7911b841b56ab02cf88b4a83008f3","sha1":"fac795ed070d16512e4cd7b17eac36014eefe33d","sha256":"f1f17a1d61d59da4cd602549833390a71dc83f39264dbeb62afbdb4f86265eee","sha512":"1e2d60d36eaffff49fb5d21559b0345ebb4c1b671d8f4f14b2b4660acf972f4b3532b02ef74e927df83e32c4c4361438dfdcf7831cbf54a39cab58b4cc1852b8","ssdeep":"192:xR/7xR/7ThK8ylUUYhfRthf8q44X546v8tC:U8ylUUYhfRthf8q44X54OF","tlshash":"03629e5095ad5560d17bbecc2ba25ce8916e315761c28fd902bf0a8288d32f7b11f93f","first_seen":"2026-07-27T06:23:39.7598Z","last_seen":"2026-07-27T06:23:39.7598Z","times_seen":1,"resource_available":false,"data":"eyJjb2RlIjoxLCJtc2ciOiJzdWNjZXNzIiwiZGF0YSI6W3siaWQiOjE3ODUxMjk4NDAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiWU1UIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6IjEuMDUxMDYyOTEiLCJjbG9zZSI6IjEuMDUxMDYyNzMiLCJoaWdoIjoiMS4wNTE0ODMzMyIsImxvdyI6IjEuMDUxMDYyNzMiLCJ2b2wiOjIwOTAwLjkzNTAxNTc4NSwiYW1vdW50IjowLjMxOTUyMDcsInRpbWUiOjE3ODUxMjk4NDAwMDAsInZvbHVtZSI6MC4zMTk1MjA3fSx7ImlkIjoxNzg1MTI5OTAwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IllNVCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOiIxLjA1MTA2MjczIiwiY2xvc2UiOiIxLjA1MTA2MjczIiwiaGlnaCI6IjEuMDUxMDYyNzMiLCJsb3ciOiIxLjA1MTA2MjczIiwidm9sIjoyNDc1LjcwMzkzNjA3MSwiYW1vdW50IjowLjAzNzg1MTMsInRpbWUiOjE3ODUxMjk5MDAwMDAsInZvbHVtZSI6MC4wMzc4NTEzfSx7ImlkIjoxNzg1MTI5OTYwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IllNVCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOiIxLjA1MDc0NzQxIiwiY2xvc2UiOiIxLjA1MDc0NzQxIiwiaGlnaCI6IjEuMDUwNzQ3NDEiLCJsb3ciOiIxLjA1MDc0NzQxIiwidm9sIjowLCJhbW91bnQiOjAsInRpbWUiOjE3ODUxMjk5NjAwMDAsInZvbHVtZSI6MH0seyJpZCI6MTc4NTEzMDAyMCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJZTVQiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoiMS4wNTA3NDc0MSIsImNsb3NlIjoiMS4wNTA3NDc0MSIsImhpZ2giOiIxLjA1MDg1MjQ4IiwibG93IjoiMS4wNTA3NDc0MSIsInZvbCI6MTUyNTg2LjU3MjE1MzkzMSwiYW1vdW50IjoyLjMzMzQyMDEsInRpbWUiOjE3ODUxMzAwMjAwMDAsInZvbHVtZSI6Mi4zMzM0MjAxfSx7ImlkIjoxNzg1MTMwMDgwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IllNVCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOiIxLjA1MTA2MjYzIiwiY2xvc2UiOiIxLjA1MTA2MjYzIiwiaGlnaCI6IjEuMDUxMDYyNjMiLCJsb3ciOiIxLjA1MTA2MjYzIiwidm9sIjo1OC44NzQ0NTQsImFtb3VudCI6MC4wMDA5MDAwMDAwMDAwMDAwMDAxLCJ0aW1lIjoxNzg1MTMwMDgwMDAwLCJ2b2x1bWUiOjAuMDAwOTAwMDAwMDAwMDAwMDAwMX0seyJpZCI6MTc4NTEzMDE0MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJZTVQiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoiMS4wNTEwNjI2MyIsImNsb3NlIjoiMS4wNTEwNjI2MyIsImhpZ2giOiIxLjA1MTA2MjYzIiwibG93IjoiMS4wNTEwNjI2MyIsInZvbCI6MTE0LjkyODU1OTk5OTk5OTk4LCJhbW91bnQiOjAuMDAxNzU2ODg1NzMxNTk0Njk3NywidGltZSI6MTc4NTEzMDE0MDAwMCwidm9sdW1lIjowLjAwMTc1Njg4NTczMTU5NDY5Nzd9LHsiaWQiOjE3ODUxMzAyMDAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiWU1UIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6IjEuMDUxMDYyNjMiLCJjbG9zZSI6IjEuMDUxMTY3NzMiLCJoaWdoIjoiMS4wNTExNjc3MyIsImxvdyI6IjEuMDUxMDYyNjMiLCJ2b2wiOjQ0OTQ2Ljc1NjE2NzUyNTk5LCJhbW91bnQiOjAuNjg2OTk4OCwidGltZSI6MTc4NTEzMDIwMDAwMCwidm9sdW1lIjowLjY4Njk5ODh9LHsiaWQiOjE3ODUxMzAyNjAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiWU1UIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6IjEuMDUwNzQ3MjYiLCJjbG9zZSI6IjEuMDUxMDYyNDgiLCJoaWdoIjoiMS4wNTEwNjI0OCIsImxvdyI6IjEuMDUwNzQ3MjYiLCJ2b2wiOjQyMzguMjY3NjkzODk1LCJhbW91bnQiOjAuMDY0NzkzNywidGltZSI6MTc4NTEzMDI2MDAwMCwidm9sdW1lIjowLjA2NDc5Mzd9LHsiaWQiOjE3ODUxMzAzMjAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiWU1UIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6IjEuMDUxMDYyNDgiLCJjbG9zZSI6IjEuMDUxMDYyNDgiLCJoaWdoIjoiMS4wNTEwNjI0OCIsImxvdyI6IjEuMDUxMDYyNDgiLCJ2b2wiOjI0NjA2LjYyODQ0NDg4MSwiYW1vdW50IjowLjM3NjE5MSwidGltZSI6MTc4NTEzMDMyMDAwMCwidm9sdW1lIjowLjM3NjE5MX0seyJpZCI6MTc4NTEzMDM4MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJZTVQiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoiMS4wNTEwNjI0OCIsImNsb3NlIjoiMS4wNTA2NDIwNSIsImhpZ2giOiIxLjA1MTA2MjQ4IiwibG93IjoiMS4wNTA2NDIwNSIsInZvbCI6ODczMi4xMzMxMjAxNSwiYW1vdW50IjowLjEzMzQ3MDksInRpbWUiOjE3ODUxMzAzODAwMDAsInZvbHVtZSI6MC4xMzM0NzA5fSx7ImlkIjoxNzg1MTMwNDQwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IllNVCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOiIxLjA1MDY0MjA1IiwiY2xvc2UiOiIxLjA1MDMyNjg1IiwiaGlnaCI6IjEuMDUwNjQyMDUiLCJsb3ciOiIxLjA1MDMyNjg1Iiwidm9sIjoxMjA5NS42MjUwMjQwOSwiYW1vdW50IjowLjE4NDk1NzIsInRpbWUiOjE3ODUxMzA0NDAwMDAsInZvbHVtZSI6MC4xODQ5NTcyfSx7ImlkIjoxNzg1MTMwNTAwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IllNVCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOiIxLjA1MDMyNjg1IiwiY2xvc2UiOiIxLjA1MDMyNjg1IiwiaGlnaCI6IjEuMDUwMzI2ODUiLCJsb3ciOiIxLjA1MDMyNjg1Iiwidm9sIjoxMDk4LjQzMzk0MDgyMywiYW1vdW50IjowLjAxNjc5NTgwMDAwMDAwMDAwMywidGltZSI6MTc4NTEzMDUwMDAwMCwidm9sdW1lIjowLjAxNjc5NTgwMDAwMDAwMDAwM30seyJpZCI6MTc4NTEzMDU2MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJZTVQiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoiMS4wNTAzMjY4NSIsImNsb3NlIjoiMS4wNTAzMjY4NSIsImhpZ2giOiIxLjA1MDMyNjg1IiwibG93IjoiMS4wNTAzMjY4NSIsInZvbCI6NDgzLjE1Nzc2OTk1Nzk5OTk2LCJhbW91bnQiOjAuMDA3Mzg4MDk5OTk5OTk5OTk5LCJ0aW1lIjoxNzg1MTMwNTYwMDAwLCJ2b2x1bWUiOjAuMDA3Mzg4MDk5OTk5OTk5OTk5fSx7ImlkIjoxNzg1MTMwNjIwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IllNVCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOiIxLjA1MDMyNjg1IiwiY2xvc2UiOiIxLjA1MDExNjc4IiwiaGlnaCI6IjEuMDUwMzI2ODUiLCJsb3ciOiIxLjA1MDExNjc4Iiwidm9sIjo3MDgxMi42OTk3NzAyOTQ5OSwiYW1vdW50IjoxLjA4MzAyMTMsInRpbWUiOjE3ODUxMzA2MjAwMDAsInZvbHVtZSI6MS4wODMwMjEzfSx7ImlkIjoxNzg1MTMwNjgwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IllNVCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOiIxLjA1MDExNjc4IiwiY2xvc2UiOiIxLjA1MDUzNjgyIiwiaGlnaCI6IjEuMDUwNTM2ODIiLCJsb3ciOiIxLjA1MDExNjc4Iiwidm9sIjo0NDgwNy41NDk5NTAxNywiYW1vdW50IjowLjY4NTMxNDkwMDAwMDAwMDEsInRpbWUiOjE3ODUxMzA2ODAwMDAsInZvbHVtZSI6MC42ODUzMTQ5MDAwMDAwMDAxfSx7ImlkIjoxNzg1MTMwNzQwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IllNVCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOiIxLjA1MDUzNjgyIiwiY2xvc2UiOiIxLjA1MDQzMTc2IiwiaGlnaCI6IjEuMDUwNTM2ODIiLCJsb3ciOiIxLjA1MDQzMTc2Iiwidm9sIjoxOTYxMDUuNTk3MjgwNTMyLCJhbW91bnQiOjIuOTk4NDE4NCwidGltZSI6MTc4NTEzMDc0MDAwMCwidm9sdW1lIjoyLjk5ODQxODR9LHsiaWQiOjE3ODUxMzA4MDAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiWU1UIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6IjEuMDUwNDMxNzYiLCJjbG9zZSI6IjEuMDUwMDExNDMiLCJoaWdoIjoiMS4wNTA4NTE5NiIsImxvdyI6IjEuMDUwMDExNDMiLCJ2b2wiOjE1MTA5LjQ4ODI5MjY4LCJhbW91bnQiOjAuMjMxMDUzNDAwMDAwMDAwMDIsInRpbWUiOjE3ODUxMzA4MDAwMDAsInZvbHVtZSI6MC4yMzEwNTM0MDAwMDAwMDAwMn0seyJpZCI6MTc4NTEzMDg2MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJZTVQiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoiMS4wNTAwMTE0MyIsImNsb3NlIjoiMS4wNTAwMTE0MyIsImhpZ2giOiIxLjA1MDAxMTQzIiwibG93IjoiMS4wNTAwMTE0MyIsInZvbCI6MjI4MzUuMzA3MTEyNzU3OTk3LCJhbW91bnQiOjAuMzQ5MTc2NTk5OTk5OTk5OTUsInRpbWUiOjE3ODUxMzA4NjAwMDAsInZvbHVtZSI6MC4zNDkxNzY1OTk5OTk5OTk5NX0seyJpZCI6MTc4NTEzMDkyMCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJZTVQiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoiMS4wNTAwMTE0MyIsImNsb3NlIjoiMS4wNTAwMTE0MyIsImhpZ2giOiIxLjA1MDAxMTQzIiwibG93IjoiMS4wNTAwMTE0MyIsInZvbCI6NjYxLjg1MzIyMTEwMSwiYW1vdW50IjowLjAxMDEyMTQwMDAwMDAwMDAwMSwidGltZSI6MTc4NTEzMDkyMDAwMCwidm9sdW1lIjowLjAxMDEyMTQwMDAwMDAwMDAwMX0seyJpZCI6MTc4NTEzMDk4MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJZTVQiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoiMS4wNTAwMTE0MyIsImNsb3NlIjoiMS4wNTAwMTE0MyIsImhpZ2giOiIxLjA1MDAxMTQzIiwibG93IjoiMS4wNTAwMTE0MyIsInZvbCI6MTExMy41MTg0OTYzNjYsImFtb3VudCI6MC4wMTcwMjg5LCJ0aW1lIjoxNzg1MTMwOTgwMDAwLCJ2b2x1bWUiOjAuMDE3MDI4OX0seyJpZCI6MTc4NTEzMTA0MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJZTVQiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoiMS4wNTAwMTE0MyIsImNsb3NlIjoiMS4wNTA0MzE0MyIsImhpZ2giOiIxLjA1MDQzMTQzIiwibG93IjoiMS4wNTAwMTE0MyIsInZvbCI6MTMwNC4yODI0MDE1ODY5OTk5LCJhbW91bnQiOjAuMDE5OTQzMTAwMDAwMDAwMDAyLCJ0aW1lIjoxNzg1MTMxMDQwMDAwLCJ2b2x1bWUiOjAuMDE5OTQzMTAwMDAwMDAwMDAyfSx7ImlkIjoxNzg1MTMxMTAwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IllNVCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOiIxLjA1MDQzMTQzIiwiY2xvc2UiOiIxLjA1MDQzMTQzIiwiaGlnaCI6IjEuMDUwNDMxNDMiLCJsb3ciOiIxLjA1MDQzMTQzIiwidm9sIjoxODUzLjIzODE4MjE0OCwiYW1vdW50IjowLjAyODM0OTEsInRpbWUiOjE3ODUxMzExMDAwMDAsInZvbHVtZSI6MC4wMjgzNDkxfSx7ImlkIjoxNzg1MTMxMTYwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IllNVCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOiIxLjA1MDQzMTQzIiwiY2xvc2UiOiIxLjA1MDQzMTQzIiwiaGlnaCI6IjEuMDUwNDMxNDMiLCJsb3ciOiIxLjA1MDQzMTQzIiwidm9sIjoyMzc3LjIyNDUwMTA2NiwiYW1vdW50IjowLjAzNjM2ODY3MDY0OTM0ODI2LCJ0aW1lIjoxNzg1MTMxMTYwMDAwLCJ2b2x1bWUiOjAuMDM2MzY4NjcwNjQ5MzQ4MjZ9LHsiaWQiOjE3ODUxMzEyMjAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiWU1UIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6IjEuMDUwNDMxNDMiLCJjbG9zZSI6IjEuMDUwNDMxNDMiLCJoaWdoIjoiMS4wNTA0MzE0MyIsImxvdyI6IjEuMDUwNDMxNDMiLCJ2b2wiOjEwODgwLjM1OTE5NDI0LCJhbW91bnQiOjAuMTY2NDYwNCwidGltZSI6MTc4NTEzMTIyMDAwMCwidm9sdW1lIjowLjE2NjQ2MDR9LHsiaWQiOjE3ODUxMzEyODAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiWU1UIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6IjEuMDUwNDMxNDMiLCJjbG9zZSI6IjEuMDUwMjIxMzQiLCJoaWdoIjoiMS4wNTA0MzE0MyIsImxvdyI6IjEuMDUwMjIxMzQiLCJ2b2wiOjM3NzE2LjUxNjkxNzQwNiwiYW1vdW50IjowLjU3NzA5NjIsInRpbWUiOjE3ODUxMzEyODAwMDAsInZvbHVtZSI6MC41NzcwOTYyfSx7ImlkIjoxNzg1MTMxMzQwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IllNVCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOiIxLjA1MDIyMTM0IiwiY2xvc2UiOiIxLjA1MDIyMTM0IiwiaGlnaCI6IjEuMDUwMjIxMzQiLCJsb3ciOiIxLjA1MDIyMTM0Iiwidm9sIjozLjUyOTYzMjI0LCJhbW91bnQiOjUuNGUtNSwidGltZSI6MTc4NTEzMTM0MDAwMCwidm9sdW1lIjo1LjRlLTV9LHsiaWQiOjE3ODUxMzE0NjAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiWU1UIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6IjEuMDUwNDMxMjkiLCJjbG9zZSI6IjEuMDUwNDMxMjkiLCJoaWdoIjoiMS4wNTA0MzEyOSIsImxvdyI6IjEuMDUwNDMxMjkiLCJ2b2wiOjU2OTM5LjE2NjU5NzU3Mjk5LCJhbW91bnQiOjAuODcxMDc2NywidGltZSI6MTc4NTEzMTQ2MDAwMCwidm9sdW1lIjowLjg3MTA3Njd9LHsiaWQiOjE3ODUxMzE1MjAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiWU1UIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6IjEuMDUwNDMxMjkiLCJjbG9zZSI6IjEuMDUwNTM2MzMiLCJoaWdoIjoiMS4wNTA1MzYzMyIsImxvdyI6IjEuMDUwNTM2MzMiLCJ2b2wiOjgyODQuNzgxNTkwODg0LCJhbW91bnQiOjAuMTI2NzE2NCwidGltZSI6MTc4NTEzMTUyMDAwMCwidm9sdW1lIjowLjEyNjcxNjR9LHsiaWQiOjE3ODUxMzE1ODAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiWU1UIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6IjEuMDUwNTM2MzMiLCJjbG9zZSI6IjEuMDUwNTM2MzMiLCJoaWdoIjoiMS4wNTA1MzYzMyIsImxvdyI6IjEuMDUwNTM2MzMiLCJ2b2wiOjE4MjQuNzE2NjUwNDM2OTk5OCwiYW1vdW50IjowLjAyNzkxMTEyNjU5NTY3NDM4LCJ0aW1lIjoxNzg1MTMxNTgwMDAwLCJ2b2x1bWUiOjAuMDI3OTExMTI2NTk1Njc0Mzh9LHsiaWQiOjE3ODUxMzE2NDAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiWU1UIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6IjEuMDUwNTM2MzMiLCJjbG9zZSI6IjEuMDUwMzI2MjIiLCJoaWdoIjoiMS4wNTA1MzYzMyIsImxvdyI6IjEuMDUwMzI2MjIiLCJ2b2wiOjE2NjAyLjk5MjAxMzI3NiwiYW1vdW50IjowLjI1Mzk0NDksInRpbWUiOjE3ODUxMzE2NDAwMDAsInZvbHVtZSI6MC4yNTM5NDQ5fSx7ImlkIjoxNzg1MTMxNzAwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IllNVCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOiIxLjA1MDMyNjIyIiwiY2xvc2UiOiIxLjA0OTY5NjA2IiwiaGlnaCI6IjEuMDUwNDMxMjUiLCJsb3ciOiIxLjA0OTY5NjA2Iiwidm9sIjo2Njg2Ny4wOTE0MTU0NTEsImFtb3VudCI6MS4wMjI1OTM1LCJ0aW1lIjoxNzg1MTMxNzAwMDAwLCJ2b2x1bWUiOjEuMDIyNTkzNX0seyJpZCI6MTc4NTEzMTc2MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJZTVQiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoiMS4wNDk2OTYwNiIsImNsb3NlIjoiMS4wNDk2OTYwNiIsImhpZ2giOiIxLjA0OTY5NjA2IiwibG93IjoiMS4wNDk2OTYwNiIsInZvbCI6MTEyLjc4MjY0OTM1NjAwMDAxLCJhbW91bnQiOjAuMDAxNzI0Mzk5OTk5OTk5OTk5OCwidGltZSI6MTc4NTEzMTc2MDAwMCwidm9sdW1lIjowLjAwMTcyNDM5OTk5OTk5OTk5OTh9LHsiaWQiOjE3ODUxMzE4MjAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiWU1UIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6IjEuMDQ5Njk2MDYiLCJjbG9zZSI6IjEuMDQ5Njk2MDYiLCJoaWdoIjoiMS4wNDk2OTYwNiIsImxvdyI6IjEuMDQ5Njk2MDYiLCJ2b2wiOjE4NTI4LjIyMzc4MDYyOSwiYW1vdW50IjowLjI4MzIwMTM2MDE5ODYyNDksInRpbWUiOjE3ODUxMzE4MjAwMDAsInZvbHVtZSI6MC4yODMyMDEzNjAxOTg2MjQ5fSx7ImlkIjoxNzg1MTMxODgwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IllNVCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOiIxLjA0OTY5NjA2IiwiY2xvc2UiOiIxLjA0OTY5NTc5IiwiaGlnaCI6IjEuMDQ5Njk2MDYiLCJsb3ciOiIxLjA0OTI3NjA4Iiwidm9sIjoxMzExNTQuNDY0MjMxMDU2NjMsImFtb3VudCI6Mi4wMDI1MzcyMTE4MDU5NjMyLCJ0aW1lIjoxNzg1MTMxODgwMDAwLCJ2b2x1bWUiOjIuMDAyNTM3MjExODA1OTYzMn0seyJpZCI6MTc4NTEzMTk0MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJZTVQiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoiMS4wNDk2OTU3OSIsImNsb3NlIjoiMS4wNDkyNzU5NCIsImhpZ2giOiIxLjA0OTY5NTc5IiwibG93IjoiMS4wNDkyNzU5NCIsInZvbCI6MTM5NjQuMDQ2ODAzOTY0LCJhbW91bnQiOjAuMjEzMjg2NSwidGltZSI6MTc4NTEzMTk0MDAwMCwidm9sdW1lIjowLjIxMzI4NjV9LHsiaWQiOjE3ODUxMzIwMDAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiWU1UIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6IjEuMDQ5Mjc1OTQiLCJjbG9zZSI6IjEuMDQ5NDg1NzkiLCJoaWdoIjoiMS4wNDk0ODU3OSIsImxvdyI6IjEuMDQ5Mjc1OTQiLCJ2b2wiOjExNzczNC43MDY1NTAwMjU5OSwiYW1vdW50IjoxLjc5ODU5MjA1MTQyNDAzLCJ0aW1lIjoxNzg1MTMyMDAwMDAwLCJ2b2x1bWUiOjEuNzk4NTkyMDUxNDI0MDN9LHsiaWQiOjE3ODUxMzIwNjAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiWU1UIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6IjEuMDQ5NDg1NzkiLCJjbG9zZSI6IjEuMDQ5Mjc1ODkiLCJoaWdoIjoiMS4wNDk0ODU3OSIsImxvdyI6IjEuMDQ5Mjc1ODkiLCJ2b2wiOjEwNzc5NDUuMTU0MTI5MzU5LCJhbW91bnQiOjE2LjQ2ODM1MDMsInRpbWUiOjE3ODUxMzIwNjAwMDAsInZvbHVtZSI6MTYuNDY4MzUwM30seyJpZCI6MTc4NTEzMjEyMCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJZTVQiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoiMS4wNDkyNzU4OSIsImNsb3NlIjoiMS4wNDkzODA4MSIsImhpZ2giOiIxLjA0OTM4MDgxIiwibG93IjoiMS4wNDkyNzU4OSIsInZvbCI6NjkyMzMuNjYyOTM1MzIzOTgsImFtb3VudCI6MS4wNTczNTUxLCJ0aW1lIjoxNzg1MTMyMTIwMDAwLCJ2b2x1bWUiOjEuMDU3MzU1MX0seyJpZCI6MTc4NTEzMjE4MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJZTVQiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoiMS4wNDkzODA4MSIsImNsb3NlIjoiMS4wNDkzODA4MSIsImhpZ2giOiIxLjA0OTY5NTYyIiwibG93IjoiMS4wNDkzODA4MSIsInZvbCI6MTk5My4yMzg0ODkwNTIsImFtb3VudCI6MC4wMzA0MjYxNzY0NTM2MjM3NzcsInRpbWUiOjE3ODUxMzIxODAwMDAsInZvbHVtZSI6MC4wMzA0MjYxNzY0NTM2MjM3Nzd9LHsiaWQiOjE3ODUxMzIyNDAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiWU1UIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6IjEuMDQ5MzgwODEiLCJjbG9zZSI6IjEuMDQ5MzgwODEiLCJoaWdoIjoiMS4wNDkzODA4MSIsImxvdyI6IjEuMDQ5MzgwODEiLCJ2b2wiOjQ1MTQxLjcxNjQ0NTAxMDExLCJhbW91bnQiOjAuNjg4OTQzODcxLCJ0aW1lIjoxNzg1MTMyMjQwMDAwLCJ2b2x1bWUiOjAuNjg4OTQzODcxfSx7ImlkIjoxNzg1MTMyMzAwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IllNVCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOiIxLjA0OTM4MDgxIiwiY2xvc2UiOiIxLjA0ODY0NjE4IiwiaGlnaCI6IjEuMDQ5MzgwODEiLCJsb3ciOiIxLjA0ODY0NjE4Iiwidm9sIjo0MDUzNC43NjA2OTQ4NywiYW1vdW50IjowLjYxODczMDIwMDAwMDAwMDEsInRpbWUiOjE3ODUxMzIzMDAwMDAsInZvbHVtZSI6MC42MTg3MzAyMDAwMDAwMDAxfSx7ImlkIjoxNzg1MTMyMzYwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IllNVCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOiIxLjA0ODY0NjE4IiwiY2xvc2UiOiIxLjA0OTgwMDAxIiwiaGlnaCI6IjEuMDQ5OTA1MDEiLCJsb3ciOiIxLjA0ODQzNjQ1Iiwidm9sIjoyMDgzNTkuNTczOTYwMTU1ODYsImFtb3VudCI6My4xNzQ5MTU5NTEsInRpbWUiOjE3ODUxMzIzNjAwMDAsInZvbHVtZSI6My4xNzQ5MTU5NTF9LHsiaWQiOjE3ODUxMzI0MjAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiWU1UIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6IjEuMDQ5ODAwMDEiLCJjbG9zZSI6IjEuMDUwNjQwMDUiLCJoaWdoIjoiMS4wNTA2NDAwNSIsImxvdyI6IjEuMDQ5ODAwMDEiLCJ2b2wiOjEzMDkyMy44MzcxMjU5MTAwMSwiYW1vdW50IjoxLjk5NDE0OTgsInRpbWUiOjE3ODUxMzI0MjAwMDAsInZvbHVtZSI6MS45OTQxNDk4fSx7ImlkIjoxNzg1MTMyNDgwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IllNVCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOiIxLjA1MDY0MDA1IiwiY2xvc2UiOiIxLjA1MDMyNDg1IiwiaGlnaCI6IjEuMDUwNjQwMDUiLCJsb3ciOiIxLjA1MDMyNDg1Iiwidm9sIjo3NjAxMS41OTAxOTQ4OTMsImFtb3VudCI6MS4xNTkyNDc2OTk5OTk5OTk5LCJ0aW1lIjoxNzg1MTMyNDgwMDAwLCJ2b2x1bWUiOjEuMTU5MjQ3Njk5OTk5OTk5OX0seyJpZCI6MTc4NTEzMjU0MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJZTVQiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoiMS4wNTAzMjQ4NSIsImNsb3NlIjoiMS4wNDk5MDQ3NCIsImhpZ2giOiIxLjA1MDMyNDg1IiwibG93IjoiMS4wNDk5MDQ3NCIsInZvbCI6NDgzNzYuMjAwMzE3MjQ3LCJhbW91bnQiOjAuNzM4Mjg3MSwidGltZSI6MTc4NTEzMjU0MDAwMCwidm9sdW1lIjowLjczODI4NzF9LHsiaWQiOjE3ODUxMzI2MDAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiWU1UIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6IjEuMDQ5OTA0NzQiLCJjbG9zZSI6IjEuMDQ5OTA0NTciLCJoaWdoIjoiMS4wNDk5MDQ3NCIsImxvdyI6IjEuMDQ5Nzk5NTYiLCJ2b2wiOjQyMzM2OC4wMzE3NjE2MTMwMywiYW1vdW50Ijo2LjQ1NTA1NTYsInRpbWUiOjE3ODUxMzI2MDAwMDAsInZvbHVtZSI6Ni40NTUwNTU2fSx7ImlkIjoxNzg1MTMyNjYwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IllNVCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOiIxLjA0OTkwNDU3IiwiY2xvc2UiOiIxLjA0OTkwNDU3IiwiaGlnaCI6IjEuMDQ5OTA0NTciLCJsb3ciOiIxLjA0OTkwNDU3Iiwidm9sIjo5OTEuNTIzNTU5Mjg1LCJhbW91bnQiOjAuMDE1MTEzNjk5OTk5OTk5OTk5LCJ0aW1lIjoxNzg1MTMyNjYwMDAwLCJ2b2x1bWUiOjAuMDE1MTEzNjk5OTk5OTk5OTk5fSx7ImlkIjoxNzg1MTMyNzIwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IllNVCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOiIxLjA0OTkwNDU3IiwiY2xvc2UiOiIxLjA1MDExNDMyIiwiaGlnaCI6IjEuMDUwNzQ0NjgiLCJsb3ciOiIxLjA0OTkwNDU3Iiwidm9sIjo0OTU3MjAuMjA2MzYyNDQ5LCJhbW91bnQiOjcuNTUzNTA5MTk5OTk5OTk5LCJ0aW1lIjoxNzg1MTMyNzIwMDAwLCJ2b2x1bWUiOjcuNTUzNTA5MTk5OTk5OTk5fSx7ImlkIjoxNzg1MTMyNzgwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IllNVCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOiIxLjA1MDExNDMyIiwiY2xvc2UiOiIxLjA0OTM3OTM2IiwiaGlnaCI6IjEuMDUwMTE0MzIiLCJsb3ciOiIxLjA0OTM3OTM2Iiwidm9sIjoxMjM4NDUuNDQ4MTU3NzY3LCJhbW91bnQiOjEuODg3ODM2Mzk5OTk5OTk5OSwidGltZSI6MTc4NTEzMjc4MDAwMCwidm9sdW1lIjoxLjg4NzgzNjM5OTk5OTk5OTl9LHsiaWQiOjE3ODUxMzI4NDAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiWU1UIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6IjEuMDQ4OTU5NjAiLCJjbG9zZSI6IjEuMDQ4OTU5NTIiLCJoaWdoIjoiMS4wNDg5NTk2MCIsImxvdyI6IjEuMDQ4NzQ5ODAiLCJ2b2wiOjM0NDMxNS41Mjc4MDQ4MTgsImFtb3VudCI6NS4yNDkyMDY4MDAwMDAwMDA1LCJ0aW1lIjoxNzg1MTMyODQwMDAwLCJ2b2x1bWUiOjUuMjQ5MjA2ODAwMDAwMDAwNX0seyJpZCI6MTc4NTEzMjkwMCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJZTVQiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoiMS4wNDg5NTk1MiIsImNsb3NlIjoiMS4wNDk0ODM2NyIsImhpZ2giOiIxLjA0OTQ4MzY3IiwibG93IjoiMS4wNDg1Mzk5MyIsInZvbCI6NTIwMjcuNTkxMjk0Mjk2LCJhbW91bnQiOjAuNzkyOTY2NiwidGltZSI6MTc4NTEzMjkwMDAwMCwidm9sdW1lIjowLjc5Mjk2NjZ9LHsiaWQiOjE3ODUxMzI5NjAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiWU1UIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6IjEuMDQ5NDgzNjciLCJjbG9zZSI6IjEuMDQ5Nzk4NTIiLCJoaWdoIjoiMS4wNDk3OTg1MiIsImxvdyI6IjEuMDQ5NDgzNjciLCJ2b2wiOjQwODMuOTkxNzY0MzcxOTk5LCJhbW91bnQiOjAuMDYyMjM5NzY1MTU0MjIyMTYsInRpbWUiOjE3ODUxMzI5NjAwMDAsInZvbHVtZSI6MC4wNjIyMzk3NjUxNTQyMjIxNn0seyJpZCI6MTc4NTEzMzAyMCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJZTVQiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoiMS4wNDk3OTg1MiIsImNsb3NlIjoiMS4wNDk3OTg0MiIsImhpZ2giOiIxLjA0OTc5ODUyIiwibG93IjoiMS4wNDk0ODM1OCIsInZvbCI6NDI1MzIuNTc1ODU0NTA4LCJhbW91bnQiOjAuNjQ4MjI0MSwidGltZSI6MTc4NTEzMzAyMDAwMCwidm9sdW1lIjowLjY0ODIyNDF9LHsiaWQiOjE3ODUxMzMwODAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiWU1UIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6IjEuMDQ5Nzk4NDIiLCJjbG9zZSI6IjEuMDQ5Nzk4MjQiLCJoaWdoIjoiMS4wNTAyMTgzMyIsImxvdyI6IjEuMDQ5Nzk4MjQiLCJ2b2wiOjQ5NjkzLjIzMjkxOTI1OCwiYW1vdW50IjowLjc1Nzg4MzcsInRpbWUiOjE3ODUxMzMwODAwMDAsInZvbHVtZSI6MC43NTc4ODM3fSx7ImlkIjoxNzg1MTMzMTQwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IllNVCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOiIxLjA0OTc5ODI0IiwiY2xvc2UiOiIxLjA0OTc5ODI0IiwiaGlnaCI6IjEuMDQ5Nzk4MjQiLCJsb3ciOiIxLjA0OTM3ODMyIiwidm9sIjoyMjA4Ljk2MjAyNjkzNTAwMDMsImFtb3VudCI6MC4wMzM2ODc5LCJ0aW1lIjoxNzg1MTMzMTQwMDAwLCJ2b2x1bWUiOjAuMDMzNjg3OX0seyJpZCI6MTc4NTEzMzIwMCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJZTVQiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoiMS4wNDk3OTgyNCIsImNsb3NlIjoiMS4wNTAxMTMwNiIsImhpZ2giOiIxLjA1MDExMzA2IiwibG93IjoiMS4wNDk3OTgyNCIsInZvbCI6NTA1NTIuMzU2MjY1OTgyLCJhbW91bnQiOjAuNzcxMTc0OSwidGltZSI6MTc4NTEzMzIwMDAwMCwidm9sdW1lIjowLjc3MTE3NDl9LHsiaWQiOjE3ODUxMzMyNjAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiWU1UIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6IjEuMDUwMTEzMDYiLCJjbG9zZSI6IjEuMDUwMTEzMDYiLCJoaWdoIjoiMS4wNTAxMTMwNiIsImxvdyI6IjEuMDUwMTEzMDYiLCJ2b2wiOjE2MjQ2LjU3MDExOTE5MiwiYW1vdW50IjowLjI0NzkxOTM5OTk5OTk5OTk2LCJ0aW1lIjoxNzg1MTMzMjYwMDAwLCJ2b2x1bWUiOjAuMjQ3OTE5Mzk5OTk5OTk5OTZ9LHsiaWQiOjE3ODUxMzMzMjAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiWU1UIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6IjEuMDUwMTEzMDYiLCJjbG9zZSI6IjEuMDUwMTEzMDYiLCJoaWdoIjoiMS4wNTAxMTMwNiIsImxvdyI6IjEuMDUwMTEzMDYiLCJ2b2wiOjM2OTgxLjk5MzgzNDYzLCJhbW91bnQiOjAuNTY0NTA5NzAwMDAwMDAwMSwidGltZSI6MTc4NTEzMzMyMDAwMCwidm9sdW1lIjowLjU2NDUwOTcwMDAwMDAwMDF9LHsiaWQiOjE3ODUxMzMzODAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiWU1UIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6IjEuMDUwMTEzMDYiLCJjbG9zZSI6IjEuMDUwMTEzMDYiLCJoaWdoIjoiMS4wNTAxMTMwNiIsImxvdyI6IjEuMDUwMTEzMDYiLCJ2b2wiOjQxMi44MTAyMDg5OTk5OTk5MywiYW1vdW50IjowLjAwNjMsInRpbWUiOjE3ODUxMzMzODAwMDAsInZvbHVtZSI6MC4wMDYzfV19"}},"time_used":299,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":215,"receive":84,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null},{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"futurbcvndf.com/static/js/pages-index-index~pages-transaction-index.b99c1762.js","fqdn":"futurbcvndf.com","domain":"futurbcvndf.com","tld":"com"},"ip":{"addr":"172.67.130.50","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://futurbcvndf.com/","date":"2026-07-27T06:23:01.039Z","timestamp":1785133381039,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"futurbcvndf.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 16 Jul 2026 16:36:02 GMT","end":"Wed, 14 Oct 2026 16:36:01 GMT"},"fingerprint":{"sha1":"46:2D:5F:F0:3D:BD:73:19:93:72:79:62:4A:45:03:09:5D:FB:1E:A5","sha256":"35:31:C4:67:1D:DB:68:C3:FB:49:03:14:DD:4E:76:FE:13:53:8D:98:98:2E:BE:EA:B8:CA:4F:B6:5B:7E:5C:1D"}}},"request":{"raw":"GET /static/js/pages-index-index~pages-transaction-index.b99c1762.js HTTP/1.1\r\nHost: futurbcvndf.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://futurbcvndf.com/\r\nCookie: angela_session=eyJpdiI6IlhnUEZEQ1hLNngxS0t2ZGN3TnJjV1E9PSIsInZhbHVlIjoiVGlYZUpmMXVPdEhuTGtoQzhTS3VXM3BIN3J4ZDZnU2dNTWxTc0NRcHNMTXFyNm1wQTZEQ0RKTWJ0UjRERWZ5aDBaQWxVaVdmN0VVQkNna0M2ZTJ2dTdFZkx3amdIYjZlQzEzMHozajVqTzMybnhMOHo1bEpuaXdQM1R3UVN4QmQiLCJtYWMiOiJiZWIyMTJlYzc4OWUzODk0ODBiOTI5NmU0MjA2MDBmZjJmYzA2MTI3ZjViNmY4NWYxNzIyNDI4MDhhYWMzZmI4In0%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\nserver: cloudflare\r\ndate: Mon, 27 Jul 2026 06:23:01 GMT\r\ncontent-type: application/javascript\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=3,i=?0\r\nlast-modified: Wed, 13 Aug 2025 19:19:43 GMT\r\nvary: Accept-Encoding\r\netag: \"689ce54f-f7f5\"\r\nstrict-transport-security: max-age=31536000\r\ncontent-encoding: gzip\r\ncache-control: max-age=14400\r\ncf-cache-status: REVALIDATED\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=9rLb3c%2FmIn8S5ozLpy3naXFEQ0tuRXSgPC9xHQ%2F%2Fogm2S7NvVjWp%2BTs8icE6XDZqdmcbUU9Jncc1AmB33NxniuFFXbEBiiVTBw%2FWkCvVWWUTfbGGCvCqQrAYIUNpsoerR60%3D\"}]}\r\ncf-ray: a2198d8f79350daa-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":63477,"size_decoded":13137,"mime_type":"application/javascript","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (63299), with no line terminators","md5":"a6d7f664882684008b34054461cd0686","sha1":"27352464c62e4f32c1bf2803056b44be4be77eb8","sha256":"8fc4650b82c9e890bcbe95cd49e653de04b6079dde126feb8e427e23914ce057","sha512":"1ae348e7a49dffdbac98ab84457ade8535e099491141aaac7777a5671e3218346ad284c9fe7a50db1009ae8a841ba424876bd9403e086e3c4ff57ba52b5715ed","ssdeep":"384:z+ZE+W/34MXQiU2j8FT+TwVccWi1jQfAIw5:SenR8ogQf85","tlshash":"df5309a2f7ec2006c567f743a16332f89a3bad7303016852da5d7f744e166ce2d865ac","first_seen":"2025-08-27T01:09:26.206118Z","last_seen":"2026-07-27T06:23:39.76147Z","times_seen":83,"resource_available":true,"data":"KHdpbmRvd1sid2VicGFja0pzb25wIl09d2luZG93WyJ3ZWJwYWNrSnNvbnAiXXx8W10pLnB1c2goW1sicGFnZXMtaW5kZXgtaW5kZXh+cGFnZXMtdHJhbnNhY3Rpb24taW5kZXgiXSx7IjAyZGYiOmZ1bmN0aW9uKHQsZCxhKXsidXNlIHN0cmljdCI7YS5kKGQsImIiLChmdW5jdGlvbigpe3JldHVybiBpfSkpLGEuZChkLCJjIiwoZnVuY3Rpb24oKXtyZXR1cm4gbn0pKSxhLmQoZCwiYSIsKGZ1bmN0aW9uKCl7fSkpO3ZhciBpPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy4kY3JlYXRlRWxlbWVudCxkPXRoaXMuX3NlbGYuX2N8fHQ7cmV0dXJuIHRoaXMuc2hvdz9kKCJ2LXVuaS12aWV3Iix7c3RhdGljQ2xhc3M6InUtbG9hZGluZyIsY2xhc3M6ImNpcmNsZSI9PXRoaXMubW9kZT8idS1sb2FkaW5nLWNpcmNsZSI6InUtbG9hZGluZy1mbG93ZXIiLHN0eWxlOlt0aGlzLmNyaWNsZVN0eWxlXX0pOnRoaXMuX2UoKX0sbj1bXX0sIjA5ZjciOmZ1bmN0aW9uKHQsZCxhKXt2YXIgaT1hKCJhODg0Iik7aS5fX2VzTW9kdWxlJiYoaT1pLmRlZmF1bHQpLCJzdHJpbmciPT09dHlwZW9mIGkmJihpPVtbdC5pLGksIiJdXSksaS5sb2NhbHMmJih0LmV4cG9ydHM9aS5sb2NhbHMpO3ZhciBuPWEoIjk2N2QiKS5kZWZhdWx0O24oIjM1NmFlNjEwIixpLCEwLHtzb3VyY2VNYXA6ITEsc2hhZG93TW9kZTohMX0pfSwiMTVhYiI6ZnVuY3Rpb24odCxkLGEpeyJ1c2Ugc3RyaWN0Ijt2YXIgaT1hKCI3NjU4Iiksbj1hKCI1N2U3Iik7aSgiTWFwIiwoZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHQodGhpcyxhcmd1bWVudHMubGVuZ3RoP2FyZ3VtZW50c1swXTp2b2lkIDApfX0pLG4pfSwiMTljMSI6ZnVuY3Rpb24odCxkLGEpeyJ1c2Ugc3RyaWN0IjthKCI2YTU0IiksT2JqZWN0LmRlZmluZVByb3BlcnR5KGQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGQuZGVmYXVsdD12b2lkIDA7ZC5kZWZhdWx0PXtuYW1lOiJkYXRhLWxvYWRpbmciLGRhdGE6ZnVuY3Rpb24oKXtyZXR1cm57fX19fSwiMjJlZSI6ZnVuY3Rpb24odCxkLGEpeyJ1c2Ugc3RyaWN0IjthKCI2YTU0IiksT2JqZWN0LmRlZmluZVByb3BlcnR5KGQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGQuZGVmYXVsdD12b2lkIDAsYSgiNjRhYSIpO3ZhciBpPXtuYW1lOiJ1LWxvYWRpbmciLHByb3BzOnttb2RlOnt0eXBlOlN0cmluZyxkZWZhdWx0OiJjaXJjbGUifSxjb2xvcjp7dHlwZTpTdHJpbmcsZGVmYXVsdDoiI2M3YzdjNyJ9LHNpemU6e3R5cGU6W1N0cmluZyxOdW1iZXJdLGRlZmF1bHQ6IjM0In0sc2hvdzp7dHlwZTpCb29sZWFuLGRlZmF1bHQ6ITB9fSxjb21wdXRlZDp7Y3JpY2xlU3R5bGU6ZnVuY3Rpb24oKXt2YXIgdD17fTtyZXR1cm4gdC53aWR0aD10aGlzLnNpemUrInJweCIsdC5oZWlnaHQ9dGhpcy5zaXplKyJycHgiLCJjaXJjbGUiPT10aGlzLm1vZGUmJih0LmJvcmRlckNvbG9yPSIjZTRlNGU0ICNlNGU0ZTQgI2U0ZTRlNCAiLmNvbmNhdCh0aGlzLmNvbG9yP3RoaXMuY29sb3I6IiNjN2M3YzciKSksdH19fTtkLmRlZmF1bHQ9aX0sIjI1NmMiOmZ1bmN0aW9uKHQsZCxhKXsidXNlIHN0cmljdCI7YS5yKGQpO3ZhciBpPWEoIjE5YzEiKSxuPWEubihpKTtmb3IodmFyIHIgaW4gaSlbImRlZmF1bHQiXS5pbmRleE9mKHIpPDAmJmZ1bmN0aW9uKHQpe2EuZChkLHQsKGZ1bmN0aW9uKCl7cmV0dXJuIGlbdF19KSl9KHIpO2RbImRlZmF1bHQiXT1uLmF9LCIzZWIwIjpmdW5jdGlvbih0LGQsYSl7InVzZSBzdHJpY3QiO3ZhciBpPWEoIjA5ZjciKSxuPWEubihpKTtuLmF9LDQwODU6ZnVuY3Rpb24odCxkLGEpeyJ1c2Ugc3RyaWN0Ijt2YXIgaT1hKCI4YmRiIiksbj1hKCI4NWMxIik7aSh7Z2xvYmFsOiEwLGZvcmNlZDpuLmdsb2JhbFRoaXMhPT1ufSx7Z2xvYmFsVGhpczpufSl9LCI1N2U3IjpmdW5jdGlvbih0LGQsYSl7InVzZSBzdHJpY3QiO3ZhciBpPWEoImUzN2MiKSxuPWEoImU0Y2EiKSxyPWEoImE3NGMiKSxvPWEoImFlNWMiKSxwPWEoImI3MjAiKSxtPWEoIjFlYjgiKSxmPWEoIjUwNzUiKSxnPWEoIjBjYzIiKSxlPWEoIjk3ZWQiKSx2PWEoIjQzN2YiKSxsPWEoImFiNGEiKSxiPWEoImQwYjEiKS5mYXN0S2V5LHM9YSgiMjM1YyIpLGM9cy5zZXQsaD1zLmdldHRlckZvcjt0LmV4cG9ydHM9e2dldENvbnN0cnVjdG9yOmZ1bmN0aW9uKHQsZCxhLGcpe3ZhciBlPXQoKGZ1bmN0aW9uKHQsbil7cCh0LHYpLGModCx7dHlwZTpkLGluZGV4OmkobnVsbCksZmlyc3Q6dm9pZCAwLGxhc3Q6dm9pZCAwLHNpemU6MH0pLGx8fCh0LnNpemU9MCksbShuKXx8ZihuLHRbZ10se3RoYXQ6dCxBU19FTlRSSUVTOmF9KX0pKSx2PWUucHJvdG90eXBlLHM9aChkKSx1PWZ1bmN0aW9uKHQsZCxhKXt2YXIgaSxuLHI9cyh0KSxvPXgodCxkKTtyZXR1cm4gbz9vLnZhbHVlPWE6KHIubGFzdD1vPXtpbmRleDpuPWIoZCwhMCksa2V5OmQsdmFsdWU6YSxwcmV2aW91czppPXIubGFzdCxuZXh0OnZvaWQgMCxyZW1vdmVkOiExfSxyLmZpcnN0fHwoci5maXJzdD1vKSxpJiYoaS5uZXh0PW8pLGw/ci5zaXplKys6dC5zaXplKyssIkYiIT09biYmKHIuaW5kZXhbbl09bykpLHR9LHg9ZnVuY3Rpb24odCxkKXt2YXIgYSxpPXModCksbj1iKGQpO2lmKCJGIiE9PW4pcmV0dXJuIGkuaW5kZXhbbl07Zm9yKGE9aS5maXJzdDthO2E9YS5uZXh0KWlmKGEua2V5PT09ZClyZXR1cm4gYX07cmV0dXJuIHIodix7Y2xlYXI6ZnVuY3Rpb24oKXt2YXIgdD1zKHRoaXMpLGQ9dC5maXJzdDt3aGlsZShkKWQucmVtb3ZlZD0hMCxkLnByZXZpb3VzJiYoZC5wcmV2aW91cz1kLnByZXZpb3VzLm5leHQ9dm9pZCAwKSxkPWQubmV4dDt0LmZpcnN0PXQubGFzdD12b2lkIDAsdC5pbmRleD1pKG51bGwpLGw/dC5zaXplPTA6dGhpcy5zaXplPTB9LGRlbGV0ZTpmdW5jdGlvbih0KXt2YXIgZD1zKHRoaXMpLGE9eCh0aGlzLHQpO2lmKGEpe3ZhciBpPWEubmV4dCxuPWEucHJldmlvdXM7ZGVsZXRlIGQuaW5kZXhbYS5pbmRleF0sYS5yZW1vdmVkPSEwLG4mJihuLm5leHQ9aSksaSYmKGkucHJldmlvdXM9biksZC5maXJzdD09PWEmJihkLmZpcnN0PWkpLGQubGFzdD09PWEmJihkLmxhc3Q9biksbD9kLnNpemUtLTp0aGlzLnNpemUtLX1yZXR1cm4hIWF9LGZvckVhY2g6ZnVuY3Rpb24odCl7dmFyIGQsYT1zKHRoaXMpLGk9byh0LGFyZ3VtZW50cy5sZW5ndGg+MT9hcmd1bWVudHNbMV06dm9pZCAwKTt3aGlsZShkPWQ/ZC5uZXh0OmEuZmlyc3Qpe2koZC52YWx1ZSxkLmtleSx0aGlzKTt3aGlsZShkJiZkLnJlbW92ZWQpZD1kLnByZXZpb3VzfX0saGFzOmZ1bmN0aW9uKHQpe3JldHVybiEheCh0aGlzLHQpfX0pLHIodixhP3tnZXQ6ZnVuY3Rpb24odCl7dmFyIGQ9eCh0aGlzLHQpO3JldHVybiBkJiZkLnZhbHVlfSxzZXQ6ZnVuY3Rpb24odCxkKXtyZXR1cm4gdSh0aGlzLDA9PT10PzA6dCxkKX19OnthZGQ6ZnVuY3Rpb24odCl7cmV0dXJuIHUodGhpcyx0PTA9PT10PzA6dCx0KX19KSxsJiZuKHYsInNpemUiLHtjb25maWd1cmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHModGhpcykuc2l6ZX19KSxlfSxzZXRTdHJvbmc6ZnVuY3Rpb24odCxkLGEpe3ZhciBpPWQrIiBJdGVyYXRvciIsbj1oKGQpLHI9aChpKTtnKHQsZCwoZnVuY3Rpb24odCxkKXtjKHRoaXMse3R5cGU6aSx0YXJnZXQ6dCxzdGF0ZTpuKHQpLGtpbmQ6ZCxsYXN0OnZvaWQgMH0pfSksKGZ1bmN0aW9uKCl7dmFyIHQ9cih0aGlzKSxkPXQua2luZCxhPXQubGFzdDt3aGlsZShhJiZhLnJlbW92ZWQpYT1hLnByZXZpb3VzO3JldHVybiB0LnRhcmdldCYmKHQubGFzdD1hPWE/YS5uZXh0OnQuc3RhdGUuZmlyc3QpP2UoImtleXMiPT09ZD9hLmtleToidmFsdWVzIj09PWQ/YS52YWx1ZTpbYS5rZXksYS52YWx1ZV0sITEpOih0LnRhcmdldD12b2lkIDAsZSh2b2lkIDAsITApKX0pLGE/ImVudHJpZXMiOiJ2YWx1ZXMiLCFhLCEwKSx2KGQpfX19LCI2MzJhIjpmdW5jdGlvbih0LGQsYSl7InVzZSBzdHJpY3QiO2EucihkKTt2YXIgaT1hKCIyMmVlIiksbj1hLm4oaSk7Zm9yKHZhciByIGluIGkpWyJkZWZhdWx0Il0uaW5kZXhPZihyKTwwJiZmdW5jdGlvbih0KXthLmQoZCx0LChmdW5jdGlvbigpe3JldHVybiBpW3RdfSkpfShyKTtkWyJkZWZhdWx0Il09bi5hfSxhODg0OmZ1bmN0aW9uKHQsZCxhKXt2YXIgaT1hKCJjODZjIiksbj1hKCIyZWM1Iikscj1hKCI5ZjVmIik7ZD1pKCExKTt2YXIgbz1uKHIpO2QucHVzaChbdC5pLCdAY2hhcnNldCAiVVRGLTgiO1xyXG4vKipcclxuICog5LiL5pa55byV5YWl55qE5Li6dVZpZXcgVUnnmoTpm4bmiJDmoLflvI/mlofku7bvvIzkuLpzY3Nz6aKE5aSE55CG5Zmo77yM5YW25Lit5YyF5ZCr5LqG5LiA5LqbInUtIuW8gOWktOeahOiHquWumuS5ieWPmOmHj1xyXG4gKiDkvb/nlKjnmoTml7blgJnvvIzor7flsIbkuIvpnaLnmoTkuIDooYzlpI3liLbliLDmgqjnmoR1bmlhcHDpobnnm67moLnnm67lvZXnmoR1bmkuc2Nzc+S4reWNs+WPr1xyXG4gKiB1Vmlld+iHquWumuS5ieeahGNzc+exu+WQjeWSjHNjc3Plj5jph4/vvIzlnYfku6UidS0i5byA5aS077yM5LiN5Lya6YCg5oiQ5Yay56qB77yM6K+35pS+5b+D5L2/55SoIFxyXG4gKi8udGV4dC1zdWNjZXNzW2RhdGEtdi05NjZmZDZkOF17Y29sb3I6IzI4YmE5OH0udGV4dC13YXJuaW5nW2RhdGEtdi05NjZmZDZkOF17Y29sb3I6I2Q0YmE4M30udGV4dC1wcmltYXJ5W2RhdGEtdi05NjZmZDZkOF17Y29sb3I6IzIyNzdmY30udGV4dC1lcnJvcltkYXRhLXYtOTY2ZmQ2ZDhde2NvbG9yOiNmMDRhNWF9LnRleHQtc2Vjb25kYXJ5W2RhdGEtdi05NjZmZDZkOF17Y29sb3I6Izk5OX0udGV4dC1kZWVwYmx1ZVtkYXRhLXYtOTY2ZmQ2ZDhde2NvbG9yOiMwZDI3NTh9LnRleHQtMzMzW2RhdGEtdi05NjZmZDZkOF17Y29sb3I6IzMzM30ucHJpbWFyeS1idXR0b25bZGF0YS12LTk2NmZkNmQ4XXtiYWNrZ3JvdW5kLWNvbG9yOiMyMjc3ZmM7Y29sb3I6I2ZmZjtib3JkZXItcmFkaXVzOiU/MTA/JTtmb250LXNpemU6JT8zMj8lO3BhZGRpbmc6JT80PyUgMDtib3JkZXI6bm9uZTtjb2xvcjojZmZmO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDE4MGRlZywjMDBjNmZiIDAsIzAwNWJlYSl9LnByaW1hcnktYnV0dG9uW2RhdGEtdi05NjZmZDZkOF06YWZ0ZXJ7ZGlzcGxheTpub25lfS5lcnJvci1idXR0b25bZGF0YS12LTk2NmZkNmQ4XXtiYWNrZ3JvdW5kLWNvbG9yOiNmMDRhNWE7Y29sb3I6I2ZmZjtib3JkZXItcmFkaXVzOiU/MTA/JTtmb250LXNpemU6JT8zMj8lO3BhZGRpbmc6JT80PyUgMDtib3JkZXI6bm9uZTtjb2xvcjojZmZmO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDE4MGRlZywjZjc3MDYyIDAsI2ZlNTE5Nil9LmVycm9yLWJ1dHRvbltkYXRhLXYtOTY2ZmQ2ZDhdOmFmdGVye2Rpc3BsYXk6bm9uZX0ud2FybmluZy1idXR0b25bZGF0YS12LTk2NmZkNmQ4XXtiYWNrZ3JvdW5kLWNvbG9yOiNkNGJhODM7Y29sb3I6I2ZmZjtib3JkZXItcmFkaXVzOiU/MTA/JTtmb250LXNpemU6JT8zMj8lO3BhZGRpbmc6JT80PyUgMDtib3JkZXI6bm9uZTtjb2xvcjojNGQ0ZDRkO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDFkZWcsI2ZmY2M4ZiwjZmZlZGQ4KX0ud2FybmluZy1idXR0b25bZGF0YS12LTk2NmZkNmQ4XTphZnRlcntkaXNwbGF5Om5vbmV9LnN1Y2Nlc3MtYnV0dG9uW2RhdGEtdi05NjZmZDZkOF17YmFja2dyb3VuZC1jb2xvcjojMjhiYTk4O2NvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czolPzEwPyU7Zm9udC1zaXplOiU/MzI/JTtwYWRkaW5nOiU/ND8lIDA7Ym9yZGVyOm5vbmU7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgwZGVnLCMwYmEzNjAgMCwjM2NiYTkyKX0uc3VjY2Vzcy1idXR0b25bZGF0YS12LTk2NmZkNmQ4XTphZnRlcntkaXNwbGF5Om5vbmV9LnNlY29uZGFyeS1idXR0b25bZGF0YS12LTk2NmZkNmQ4XXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoNTEsNTEsNTEsLjA2KTtjb2xvcjojYWZhZmFmO2JvcmRlci1yYWRpdXM6JT8xMD8lO2ZvbnQtc2l6ZTolPzMyPyU7cGFkZGluZzolPzQ/JSAwO2JvcmRlcjpub25lO2NvbG9yOiNiMWIwYjA7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoMGRlZywjYzRjNWM3IDAsI2RjZGRkZiA1MiUsI2ViZWJlYil9LnNlY29uZGFyeS1idXR0b25bZGF0YS12LTk2NmZkNmQ4XTphZnRlcntkaXNwbGF5Om5vbmV9LnRleHQtd2hpdGVbZGF0YS12LTk2NmZkNmQ4XXtjb2xvcjojZmZmIWltcG9ydGFudH0udGV4dC1ibGFja1tkYXRhLXYtOTY2ZmQ2ZDhde2NvbG9yOiM0ZDRkNGQhaW1wb3J0YW50fS5iZy13aGl0ZVtkYXRhLXYtOTY2ZmQ2ZDhde2JhY2tncm91bmQtY29sb3I6I2ZmZiFpbXBvcnRhbnR9LmJnLXByaW1hcnlbZGF0YS12LTk2NmZkNmQ4XXtiYWNrZ3JvdW5kLWNvbG9yOiMyMjc3ZmMhaW1wb3J0YW50fS5iZy1zZWNvbmRhcnlbZGF0YS12LTk2NmZkNmQ4XXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoNTEsNTEsNTEsLjA2KSFpbXBvcnRhbnR9LmJnLWJsYWNrW2RhdGEtdi05NjZmZDZkOF17YmFja2dyb3VuZC1jb2xvcjojNGQ0ZDRkIWltcG9ydGFudH0uYmctMzMzW2RhdGEtdi05NjZmZDZkOF17YmFja2dyb3VuZC1jb2xvcjojMzMzIWltcG9ydGFudH0ubS0wW2RhdGEtdi05NjZmZDZkOF17bWFyZ2luOiU/MD8lIWltcG9ydGFudH0ubXgtMFtkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi1sZWZ0OiU/MD8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT8wPyUhaW1wb3J0YW50fS5tbC0wW2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLWxlZnQ6JT8wPyUhaW1wb3J0YW50fS5tci0wW2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLXJpZ2h0OiU/MD8lIWltcG9ydGFudH0ubXktMFtkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi10b3A6JT8wPyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT8wPyUhaW1wb3J0YW50fS5tdC0wW2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLXRvcDolPzA/JSFpbXBvcnRhbnR9Lm1iLTBbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tYm90dG9tOiU/MD8lIWltcG9ydGFudH0ucC0wW2RhdGEtdi05NjZmZDZkOF17cGFkZGluZzolPzA/JSFpbXBvcnRhbnR9LnB4LTBbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLWxlZnQ6JT8wPyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT8wPyUhaW1wb3J0YW50fS5wbC0wW2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy1sZWZ0OiU/MD8lIWltcG9ydGFudH0ucHItMFtkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctcmlnaHQ6JT8wPyUhaW1wb3J0YW50fS5weS0wW2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy10b3A6JT8wPyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/MD8lIWltcG9ydGFudH0ucHQtMFtkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctdG9wOiU/MD8lIWltcG9ydGFudH0ucGItMFtkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctYm90dG9tOiU/MD8lIWltcG9ydGFudH0uZ3JpZC1nYXAtMFtkYXRhLXYtOTY2ZmQ2ZDhde2dyaWQtZ2FwOiU/MD8lIWltcG9ydGFudH0uei1pbmRleC0wW2RhdGEtdi05NjZmZDZkOF17ei1pbmRleDowIWltcG9ydGFudH0ubS0yW2RhdGEtdi05NjZmZDZkOF17bWFyZ2luOiU/Mj8lIWltcG9ydGFudH0ubXgtMltkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi1sZWZ0OiU/Mj8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT8yPyUhaW1wb3J0YW50fS5tbC0yW2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLWxlZnQ6JT8yPyUhaW1wb3J0YW50fS5tci0yW2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLXJpZ2h0OiU/Mj8lIWltcG9ydGFudH0ubXktMltkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi10b3A6JT8yPyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT8yPyUhaW1wb3J0YW50fS5tdC0yW2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLXRvcDolPzI/JSFpbXBvcnRhbnR9Lm1iLTJbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tYm90dG9tOiU/Mj8lIWltcG9ydGFudH0ucC0yW2RhdGEtdi05NjZmZDZkOF17cGFkZGluZzolPzI/JSFpbXBvcnRhbnR9LnB4LTJbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLWxlZnQ6JT8yPyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT8yPyUhaW1wb3J0YW50fS5wbC0yW2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy1sZWZ0OiU/Mj8lIWltcG9ydGFudH0ucHItMltkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctcmlnaHQ6JT8yPyUhaW1wb3J0YW50fS5weS0yW2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy10b3A6JT8yPyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/Mj8lIWltcG9ydGFudH0ucHQtMltkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctdG9wOiU/Mj8lIWltcG9ydGFudH0ucGItMltkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctYm90dG9tOiU/Mj8lIWltcG9ydGFudH0uZ3JpZC1nYXAtMltkYXRhLXYtOTY2ZmQ2ZDhde2dyaWQtZ2FwOiU/Mj8lIWltcG9ydGFudH0uei1pbmRleC0yW2RhdGEtdi05NjZmZDZkOF17ei1pbmRleDoyIWltcG9ydGFudH0ubS00W2RhdGEtdi05NjZmZDZkOF17bWFyZ2luOiU/ND8lIWltcG9ydGFudH0ubXgtNFtkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi1sZWZ0OiU/ND8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT80PyUhaW1wb3J0YW50fS5tbC00W2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLWxlZnQ6JT80PyUhaW1wb3J0YW50fS5tci00W2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLXJpZ2h0OiU/ND8lIWltcG9ydGFudH0ubXktNFtkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi10b3A6JT80PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT80PyUhaW1wb3J0YW50fS5tdC00W2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLXRvcDolPzQ/JSFpbXBvcnRhbnR9Lm1iLTRbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tYm90dG9tOiU/ND8lIWltcG9ydGFudH0ucC00W2RhdGEtdi05NjZmZDZkOF17cGFkZGluZzolPzQ/JSFpbXBvcnRhbnR9LnB4LTRbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLWxlZnQ6JT80PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT80PyUhaW1wb3J0YW50fS5wbC00W2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy1sZWZ0OiU/ND8lIWltcG9ydGFudH0ucHItNFtkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctcmlnaHQ6JT80PyUhaW1wb3J0YW50fS5weS00W2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy10b3A6JT80PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/ND8lIWltcG9ydGFudH0ucHQtNFtkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctdG9wOiU/ND8lIWltcG9ydGFudH0ucGItNFtkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctYm90dG9tOiU/ND8lIWltcG9ydGFudH0uZ3JpZC1nYXAtNFtkYXRhLXYtOTY2ZmQ2ZDhde2dyaWQtZ2FwOiU/ND8lIWltcG9ydGFudH0uei1pbmRleC00W2RhdGEtdi05NjZmZDZkOF17ei1pbmRleDo0IWltcG9ydGFudH0ubS02W2RhdGEtdi05NjZmZDZkOF17bWFyZ2luOiU/Nj8lIWltcG9ydGFudH0ubXgtNltkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi1sZWZ0OiU/Nj8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT82PyUhaW1wb3J0YW50fS5tbC02W2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLWxlZnQ6JT82PyUhaW1wb3J0YW50fS5tci02W2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLXJpZ2h0OiU/Nj8lIWltcG9ydGFudH0ubXktNltkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi10b3A6JT82PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT82PyUhaW1wb3J0YW50fS5tdC02W2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLXRvcDolPzY/JSFpbXBvcnRhbnR9Lm1iLTZbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tYm90dG9tOiU/Nj8lIWltcG9ydGFudH0ucC02W2RhdGEtdi05NjZmZDZkOF17cGFkZGluZzolPzY/JSFpbXBvcnRhbnR9LnB4LTZbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLWxlZnQ6JT82PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT82PyUhaW1wb3J0YW50fS5wbC02W2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy1sZWZ0OiU/Nj8lIWltcG9ydGFudH0ucHItNltkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctcmlnaHQ6JT82PyUhaW1wb3J0YW50fS5weS02W2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy10b3A6JT82PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/Nj8lIWltcG9ydGFudH0ucHQtNltkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctdG9wOiU/Nj8lIWltcG9ydGFudH0ucGItNltkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctYm90dG9tOiU/Nj8lIWltcG9ydGFudH0uZ3JpZC1nYXAtNltkYXRhLXYtOTY2ZmQ2ZDhde2dyaWQtZ2FwOiU/Nj8lIWltcG9ydGFudH0uei1pbmRleC02W2RhdGEtdi05NjZmZDZkOF17ei1pbmRleDo2IWltcG9ydGFudH0ubS04W2RhdGEtdi05NjZmZDZkOF17bWFyZ2luOiU/OD8lIWltcG9ydGFudH0ubXgtOFtkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi1sZWZ0OiU/OD8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT84PyUhaW1wb3J0YW50fS5tbC04W2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLWxlZnQ6JT84PyUhaW1wb3J0YW50fS5tci04W2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLXJpZ2h0OiU/OD8lIWltcG9ydGFudH0ubXktOFtkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi10b3A6JT84PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT84PyUhaW1wb3J0YW50fS5tdC04W2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLXRvcDolPzg/JSFpbXBvcnRhbnR9Lm1iLThbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tYm90dG9tOiU/OD8lIWltcG9ydGFudH0ucC04W2RhdGEtdi05NjZmZDZkOF17cGFkZGluZzolPzg/JSFpbXBvcnRhbnR9LnB4LThbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLWxlZnQ6JT84PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT84PyUhaW1wb3J0YW50fS5wbC04W2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy1sZWZ0OiU/OD8lIWltcG9ydGFudH0ucHItOFtkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctcmlnaHQ6JT84PyUhaW1wb3J0YW50fS5weS04W2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy10b3A6JT84PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/OD8lIWltcG9ydGFudH0ucHQtOFtkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctdG9wOiU/OD8lIWltcG9ydGFudH0ucGItOFtkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctYm90dG9tOiU/OD8lIWltcG9ydGFudH0uZ3JpZC1nYXAtOFtkYXRhLXYtOTY2ZmQ2ZDhde2dyaWQtZ2FwOiU/OD8lIWltcG9ydGFudH0uei1pbmRleC04W2RhdGEtdi05NjZmZDZkOF17ei1pbmRleDo4IWltcG9ydGFudH0ubS0xMFtkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbjolPzEwPyUhaW1wb3J0YW50fS5teC0xMFtkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi1sZWZ0OiU/MTA/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/MTA/JSFpbXBvcnRhbnR9Lm1sLTEwW2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLWxlZnQ6JT8xMD8lIWltcG9ydGFudH0ubXItMTBbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tcmlnaHQ6JT8xMD8lIWltcG9ydGFudH0ubXktMTBbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tdG9wOiU/MTA/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzEwPyUhaW1wb3J0YW50fS5tdC0xMFtkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi10b3A6JT8xMD8lIWltcG9ydGFudH0ubWItMTBbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tYm90dG9tOiU/MTA/JSFpbXBvcnRhbnR9LnAtMTBbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nOiU/MTA/JSFpbXBvcnRhbnR9LnB4LTEwW2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy1sZWZ0OiU/MTA/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzEwPyUhaW1wb3J0YW50fS5wbC0xMFtkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctbGVmdDolPzEwPyUhaW1wb3J0YW50fS5wci0xMFtkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctcmlnaHQ6JT8xMD8lIWltcG9ydGFudH0ucHktMTBbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLXRvcDolPzEwPyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/MTA/JSFpbXBvcnRhbnR9LnB0LTEwW2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy10b3A6JT8xMD8lIWltcG9ydGFudH0ucGItMTBbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLWJvdHRvbTolPzEwPyUhaW1wb3J0YW50fS5ncmlkLWdhcC0xMFtkYXRhLXYtOTY2ZmQ2ZDhde2dyaWQtZ2FwOiU/MTA/JSFpbXBvcnRhbnR9LnotaW5kZXgtMTBbZGF0YS12LTk2NmZkNmQ4XXt6LWluZGV4OjEwIWltcG9ydGFudH0ubS0xMltkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbjolPzEyPyUhaW1wb3J0YW50fS5teC0xMltkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi1sZWZ0OiU/MTI/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/MTI/JSFpbXBvcnRhbnR9Lm1sLTEyW2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLWxlZnQ6JT8xMj8lIWltcG9ydGFudH0ubXItMTJbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tcmlnaHQ6JT8xMj8lIWltcG9ydGFudH0ubXktMTJbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tdG9wOiU/MTI/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzEyPyUhaW1wb3J0YW50fS5tdC0xMltkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi10b3A6JT8xMj8lIWltcG9ydGFudH0ubWItMTJbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tYm90dG9tOiU/MTI/JSFpbXBvcnRhbnR9LnAtMTJbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nOiU/MTI/JSFpbXBvcnRhbnR9LnB4LTEyW2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy1sZWZ0OiU/MTI/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzEyPyUhaW1wb3J0YW50fS5wbC0xMltkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctbGVmdDolPzEyPyUhaW1wb3J0YW50fS5wci0xMltkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctcmlnaHQ6JT8xMj8lIWltcG9ydGFudH0ucHktMTJbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLXRvcDolPzEyPyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/MTI/JSFpbXBvcnRhbnR9LnB0LTEyW2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy10b3A6JT8xMj8lIWltcG9ydGFudH0ucGItMTJbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLWJvdHRvbTolPzEyPyUhaW1wb3J0YW50fS5ncmlkLWdhcC0xMltkYXRhLXYtOTY2ZmQ2ZDhde2dyaWQtZ2FwOiU/MTI/JSFpbXBvcnRhbnR9LnotaW5kZXgtMTJbZGF0YS12LTk2NmZkNmQ4XXt6LWluZGV4OjEyIWltcG9ydGFudH0ubS0xNFtkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbjolPzE0PyUhaW1wb3J0YW50fS5teC0xNFtkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi1sZWZ0OiU/MTQ/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/MTQ/JSFpbXBvcnRhbnR9Lm1sLTE0W2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLWxlZnQ6JT8xND8lIWltcG9ydGFudH0ubXItMTRbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tcmlnaHQ6JT8xND8lIWltcG9ydGFudH0ubXktMTRbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tdG9wOiU/MTQ/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzE0PyUhaW1wb3J0YW50fS5tdC0xNFtkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi10b3A6JT8xND8lIWltcG9ydGFudH0ubWItMTRbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tYm90dG9tOiU/MTQ/JSFpbXBvcnRhbnR9LnAtMTRbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nOiU/MTQ/JSFpbXBvcnRhbnR9LnB4LTE0W2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy1sZWZ0OiU/MTQ/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzE0PyUhaW1wb3J0YW50fS5wbC0xNFtkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctbGVmdDolPzE0PyUhaW1wb3J0YW50fS5wci0xNFtkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctcmlnaHQ6JT8xND8lIWltcG9ydGFudH0ucHktMTRbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLXRvcDolPzE0PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/MTQ/JSFpbXBvcnRhbnR9LnB0LTE0W2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy10b3A6JT8xND8lIWltcG9ydGFudH0ucGItMTRbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLWJvdHRvbTolPzE0PyUhaW1wb3J0YW50fS5ncmlkLWdhcC0xNFtkYXRhLXYtOTY2ZmQ2ZDhde2dyaWQtZ2FwOiU/MTQ/JSFpbXBvcnRhbnR9LnotaW5kZXgtMTRbZGF0YS12LTk2NmZkNmQ4XXt6LWluZGV4OjE0IWltcG9ydGFudH0ubS0xNltkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbjolPzE2PyUhaW1wb3J0YW50fS5teC0xNltkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi1sZWZ0OiU/MTY/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/MTY/JSFpbXBvcnRhbnR9Lm1sLTE2W2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLWxlZnQ6JT8xNj8lIWltcG9ydGFudH0ubXItMTZbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tcmlnaHQ6JT8xNj8lIWltcG9ydGFudH0ubXktMTZbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tdG9wOiU/MTY/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzE2PyUhaW1wb3J0YW50fS5tdC0xNltkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi10b3A6JT8xNj8lIWltcG9ydGFudH0ubWItMTZbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tYm90dG9tOiU/MTY/JSFpbXBvcnRhbnR9LnAtMTZbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nOiU/MTY/JSFpbXBvcnRhbnR9LnB4LTE2W2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy1sZWZ0OiU/MTY/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzE2PyUhaW1wb3J0YW50fS5wbC0xNltkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctbGVmdDolPzE2PyUhaW1wb3J0YW50fS5wci0xNltkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctcmlnaHQ6JT8xNj8lIWltcG9ydGFudH0ucHktMTZbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLXRvcDolPzE2PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/MTY/JSFpbXBvcnRhbnR9LnB0LTE2W2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy10b3A6JT8xNj8lIWltcG9ydGFudH0ucGItMTZbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLWJvdHRvbTolPzE2PyUhaW1wb3J0YW50fS5ncmlkLWdhcC0xNltkYXRhLXYtOTY2ZmQ2ZDhde2dyaWQtZ2FwOiU/MTY/JSFpbXBvcnRhbnR9LnotaW5kZXgtMTZbZGF0YS12LTk2NmZkNmQ4XXt6LWluZGV4OjE2IWltcG9ydGFudH0ubS0xOFtkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbjolPzE4PyUhaW1wb3J0YW50fS5teC0xOFtkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi1sZWZ0OiU/MTg/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/MTg/JSFpbXBvcnRhbnR9Lm1sLTE4W2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLWxlZnQ6JT8xOD8lIWltcG9ydGFudH0ubXItMThbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tcmlnaHQ6JT8xOD8lIWltcG9ydGFudH0ubXktMThbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tdG9wOiU/MTg/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzE4PyUhaW1wb3J0YW50fS5tdC0xOFtkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi10b3A6JT8xOD8lIWltcG9ydGFudH0ubWItMThbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tYm90dG9tOiU/MTg/JSFpbXBvcnRhbnR9LnAtMThbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nOiU/MTg/JSFpbXBvcnRhbnR9LnB4LTE4W2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy1sZWZ0OiU/MTg/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzE4PyUhaW1wb3J0YW50fS5wbC0xOFtkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctbGVmdDolPzE4PyUhaW1wb3J0YW50fS5wci0xOFtkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctcmlnaHQ6JT8xOD8lIWltcG9ydGFudH0ucHktMThbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLXRvcDolPzE4PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/MTg/JSFpbXBvcnRhbnR9LnB0LTE4W2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy10b3A6JT8xOD8lIWltcG9ydGFudH0ucGItMThbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLWJvdHRvbTolPzE4PyUhaW1wb3J0YW50fS5ncmlkLWdhcC0xOFtkYXRhLXYtOTY2ZmQ2ZDhde2dyaWQtZ2FwOiU/MTg/JSFpbXBvcnRhbnR9LnotaW5kZXgtMThbZGF0YS12LTk2NmZkNmQ4XXt6LWluZGV4OjE4IWltcG9ydGFudH0uZm9udC1zaXplLTE4W2RhdGEtdi05NjZmZDZkOF17Zm9udC1zaXplOiU/MTg/JSFpbXBvcnRhbnR9Lm0tMjBbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW46JT8yMD8lIWltcG9ydGFudH0ubXgtMjBbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tbGVmdDolPzIwPyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzIwPyUhaW1wb3J0YW50fS5tbC0yMFtkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi1sZWZ0OiU/MjA/JSFpbXBvcnRhbnR9Lm1yLTIwW2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLXJpZ2h0OiU/MjA/JSFpbXBvcnRhbnR9Lm15LTIwW2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLXRvcDolPzIwPyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT8yMD8lIWltcG9ydGFudH0ubXQtMjBbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tdG9wOiU/MjA/JSFpbXBvcnRhbnR9Lm1iLTIwW2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLWJvdHRvbTolPzIwPyUhaW1wb3J0YW50fS5wLTIwW2RhdGEtdi05NjZmZDZkOF17cGFkZGluZzolPzIwPyUhaW1wb3J0YW50fS5weC0yMFtkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctbGVmdDolPzIwPyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT8yMD8lIWltcG9ydGFudH0ucGwtMjBbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLWxlZnQ6JT8yMD8lIWltcG9ydGFudH0ucHItMjBbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLXJpZ2h0OiU/MjA/JSFpbXBvcnRhbnR9LnB5LTIwW2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy10b3A6JT8yMD8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzIwPyUhaW1wb3J0YW50fS5wdC0yMFtkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctdG9wOiU/MjA/JSFpbXBvcnRhbnR9LnBiLTIwW2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy1ib3R0b206JT8yMD8lIWltcG9ydGFudH0uZ3JpZC1nYXAtMjBbZGF0YS12LTk2NmZkNmQ4XXtncmlkLWdhcDolPzIwPyUhaW1wb3J0YW50fS56LWluZGV4LTIwW2RhdGEtdi05NjZmZDZkOF17ei1pbmRleDoyMCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS0yMFtkYXRhLXYtOTY2ZmQ2ZDhde2ZvbnQtc2l6ZTolPzIwPyUhaW1wb3J0YW50fS5tLTIyW2RhdGEtdi05NjZmZDZkOF17bWFyZ2luOiU/MjI/JSFpbXBvcnRhbnR9Lm14LTIyW2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLWxlZnQ6JT8yMj8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT8yMj8lIWltcG9ydGFudH0ubWwtMjJbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tbGVmdDolPzIyPyUhaW1wb3J0YW50fS5tci0yMltkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi1yaWdodDolPzIyPyUhaW1wb3J0YW50fS5teS0yMltkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi10b3A6JT8yMj8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/MjI/JSFpbXBvcnRhbnR9Lm10LTIyW2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLXRvcDolPzIyPyUhaW1wb3J0YW50fS5tYi0yMltkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi1ib3R0b206JT8yMj8lIWltcG9ydGFudH0ucC0yMltkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmc6JT8yMj8lIWltcG9ydGFudH0ucHgtMjJbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLWxlZnQ6JT8yMj8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/MjI/JSFpbXBvcnRhbnR9LnBsLTIyW2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy1sZWZ0OiU/MjI/JSFpbXBvcnRhbnR9LnByLTIyW2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy1yaWdodDolPzIyPyUhaW1wb3J0YW50fS5weS0yMltkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctdG9wOiU/MjI/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT8yMj8lIWltcG9ydGFudH0ucHQtMjJbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLXRvcDolPzIyPyUhaW1wb3J0YW50fS5wYi0yMltkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctYm90dG9tOiU/MjI/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTIyW2RhdGEtdi05NjZmZDZkOF17Z3JpZC1nYXA6JT8yMj8lIWltcG9ydGFudH0uei1pbmRleC0yMltkYXRhLXYtOTY2ZmQ2ZDhde3otaW5kZXg6MjIhaW1wb3J0YW50fS5mb250LXNpemUtMjJbZGF0YS12LTk2NmZkNmQ4XSwgLmlucHV0LWl0ZW0gLmdldC1jb2RlW2RhdGEtdi05NjZmZDZkOF17Zm9udC1zaXplOiU/MjI/JSFpbXBvcnRhbnR9Lm0tMjRbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW46JT8yND8lIWltcG9ydGFudH0ubXgtMjRbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tbGVmdDolPzI0PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzI0PyUhaW1wb3J0YW50fS5tbC0yNFtkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi1sZWZ0OiU/MjQ/JSFpbXBvcnRhbnR9Lm1yLTI0W2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLXJpZ2h0OiU/MjQ/JSFpbXBvcnRhbnR9Lm15LTI0W2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLXRvcDolPzI0PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT8yND8lIWltcG9ydGFudH0ubXQtMjRbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tdG9wOiU/MjQ/JSFpbXBvcnRhbnR9Lm1iLTI0W2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLWJvdHRvbTolPzI0PyUhaW1wb3J0YW50fS5wLTI0W2RhdGEtdi05NjZmZDZkOF17cGFkZGluZzolPzI0PyUhaW1wb3J0YW50fS5weC0yNFtkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctbGVmdDolPzI0PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT8yND8lIWltcG9ydGFudH0ucGwtMjRbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLWxlZnQ6JT8yND8lIWltcG9ydGFudH0ucHItMjRbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLXJpZ2h0OiU/MjQ/JSFpbXBvcnRhbnR9LnB5LTI0W2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy10b3A6JT8yND8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzI0PyUhaW1wb3J0YW50fS5wdC0yNFtkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctdG9wOiU/MjQ/JSFpbXBvcnRhbnR9LnBiLTI0W2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy1ib3R0b206JT8yND8lIWltcG9ydGFudH0uZ3JpZC1nYXAtMjRbZGF0YS12LTk2NmZkNmQ4XXtncmlkLWdhcDolPzI0PyUhaW1wb3J0YW50fS56LWluZGV4LTI0W2RhdGEtdi05NjZmZDZkOF17ei1pbmRleDoyNCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS0yNFtkYXRhLXYtOTY2ZmQ2ZDhdLCAubG9naW4taW5wdXQtZ3JvdXAgLmxhYmVsW2RhdGEtdi05NjZmZDZkOF17Zm9udC1zaXplOiU/MjQ/JSFpbXBvcnRhbnR9Lm0tMjZbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW46JT8yNj8lIWltcG9ydGFudH0ubXgtMjZbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tbGVmdDolPzI2PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzI2PyUhaW1wb3J0YW50fS5tbC0yNltkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi1sZWZ0OiU/MjY/JSFpbXBvcnRhbnR9Lm1yLTI2W2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLXJpZ2h0OiU/MjY/JSFpbXBvcnRhbnR9Lm15LTI2W2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLXRvcDolPzI2PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT8yNj8lIWltcG9ydGFudH0ubXQtMjZbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tdG9wOiU/MjY/JSFpbXBvcnRhbnR9Lm1iLTI2W2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLWJvdHRvbTolPzI2PyUhaW1wb3J0YW50fS5wLTI2W2RhdGEtdi05NjZmZDZkOF17cGFkZGluZzolPzI2PyUhaW1wb3J0YW50fS5weC0yNltkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctbGVmdDolPzI2PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT8yNj8lIWltcG9ydGFudH0ucGwtMjZbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLWxlZnQ6JT8yNj8lIWltcG9ydGFudH0ucHItMjZbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLXJpZ2h0OiU/MjY/JSFpbXBvcnRhbnR9LnB5LTI2W2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy10b3A6JT8yNj8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzI2PyUhaW1wb3J0YW50fS5wdC0yNltkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctdG9wOiU/MjY/JSFpbXBvcnRhbnR9LnBiLTI2W2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy1ib3R0b206JT8yNj8lIWltcG9ydGFudH0uZ3JpZC1nYXAtMjZbZGF0YS12LTk2NmZkNmQ4XXtncmlkLWdhcDolPzI2PyUhaW1wb3J0YW50fS56LWluZGV4LTI2W2RhdGEtdi05NjZmZDZkOF17ei1pbmRleDoyNiFpbXBvcnRhbnR9LmZvbnQtc2l6ZS0yNltkYXRhLXYtOTY2ZmQ2ZDhde2ZvbnQtc2l6ZTolPzI2PyUhaW1wb3J0YW50fS5tLTI4W2RhdGEtdi05NjZmZDZkOF17bWFyZ2luOiU/Mjg/JSFpbXBvcnRhbnR9Lm14LTI4W2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLWxlZnQ6JT8yOD8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT8yOD8lIWltcG9ydGFudH0ubWwtMjhbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tbGVmdDolPzI4PyUhaW1wb3J0YW50fS5tci0yOFtkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi1yaWdodDolPzI4PyUhaW1wb3J0YW50fS5teS0yOFtkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi10b3A6JT8yOD8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/Mjg/JSFpbXBvcnRhbnR9Lm10LTI4W2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLXRvcDolPzI4PyUhaW1wb3J0YW50fS5tYi0yOFtkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi1ib3R0b206JT8yOD8lIWltcG9ydGFudH0ucC0yOFtkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmc6JT8yOD8lIWltcG9ydGFudH0ucHgtMjhbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLWxlZnQ6JT8yOD8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/Mjg/JSFpbXBvcnRhbnR9LnBsLTI4W2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy1sZWZ0OiU/Mjg/JSFpbXBvcnRhbnR9LnByLTI4W2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy1yaWdodDolPzI4PyUhaW1wb3J0YW50fS5weS0yOFtkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctdG9wOiU/Mjg/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT8yOD8lIWltcG9ydGFudH0ucHQtMjhbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLXRvcDolPzI4PyUhaW1wb3J0YW50fS5wYi0yOFtkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctYm90dG9tOiU/Mjg/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTI4W2RhdGEtdi05NjZmZDZkOF17Z3JpZC1nYXA6JT8yOD8lIWltcG9ydGFudH0uei1pbmRleC0yOFtkYXRhLXYtOTY2ZmQ2ZDhde3otaW5kZXg6MjghaW1wb3J0YW50fS5mb250LXNpemUtMjhbZGF0YS12LTk2NmZkNmQ4XXtmb250LXNpemU6JT8yOD8lIWltcG9ydGFudH0ubS0zMFtkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbjolPzMwPyUhaW1wb3J0YW50fS5teC0zMFtkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi1sZWZ0OiU/MzA/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/MzA/JSFpbXBvcnRhbnR9Lm1sLTMwW2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLWxlZnQ6JT8zMD8lIWltcG9ydGFudH0ubXItMzBbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tcmlnaHQ6JT8zMD8lIWltcG9ydGFudH0ubXktMzBbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tdG9wOiU/MzA/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzMwPyUhaW1wb3J0YW50fS5tdC0zMFtkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi10b3A6JT8zMD8lIWltcG9ydGFudH0ubWItMzBbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tYm90dG9tOiU/MzA/JSFpbXBvcnRhbnR9LnAtMzBbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nOiU/MzA/JSFpbXBvcnRhbnR9LnB4LTMwW2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy1sZWZ0OiU/MzA/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzMwPyUhaW1wb3J0YW50fS5wbC0zMFtkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctbGVmdDolPzMwPyUhaW1wb3J0YW50fS5wci0zMFtkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctcmlnaHQ6JT8zMD8lIWltcG9ydGFudH0ucHktMzBbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLXRvcDolPzMwPyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/MzA/JSFpbXBvcnRhbnR9LnB0LTMwW2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy10b3A6JT8zMD8lIWltcG9ydGFudH0ucGItMzBbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLWJvdHRvbTolPzMwPyUhaW1wb3J0YW50fS5ncmlkLWdhcC0zMFtkYXRhLXYtOTY2ZmQ2ZDhde2dyaWQtZ2FwOiU/MzA/JSFpbXBvcnRhbnR9LnotaW5kZXgtMzBbZGF0YS12LTk2NmZkNmQ4XXt6LWluZGV4OjMwIWltcG9ydGFudH0uZm9udC1zaXplLTMwW2RhdGEtdi05NjZmZDZkOF17Zm9udC1zaXplOiU/MzA/JSFpbXBvcnRhbnR9Lm0tMzJbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW46JT8zMj8lIWltcG9ydGFudH0ubXgtMzJbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tbGVmdDolPzMyPyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzMyPyUhaW1wb3J0YW50fS5tbC0zMltkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi1sZWZ0OiU/MzI/JSFpbXBvcnRhbnR9Lm1yLTMyW2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLXJpZ2h0OiU/MzI/JSFpbXBvcnRhbnR9Lm15LTMyW2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLXRvcDolPzMyPyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT8zMj8lIWltcG9ydGFudH0ubXQtMzJbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tdG9wOiU/MzI/JSFpbXBvcnRhbnR9Lm1iLTMyW2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLWJvdHRvbTolPzMyPyUhaW1wb3J0YW50fS5wLTMyW2RhdGEtdi05NjZmZDZkOF17cGFkZGluZzolPzMyPyUhaW1wb3J0YW50fS5weC0zMltkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctbGVmdDolPzMyPyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT8zMj8lIWltcG9ydGFudH0ucGwtMzJbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLWxlZnQ6JT8zMj8lIWltcG9ydGFudH0ucHItMzJbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLXJpZ2h0OiU/MzI/JSFpbXBvcnRhbnR9LnB5LTMyW2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy10b3A6JT8zMj8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzMyPyUhaW1wb3J0YW50fS5wdC0zMltkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctdG9wOiU/MzI/JSFpbXBvcnRhbnR9LnBiLTMyW2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy1ib3R0b206JT8zMj8lIWltcG9ydGFudH0uZ3JpZC1nYXAtMzJbZGF0YS12LTk2NmZkNmQ4XXtncmlkLWdhcDolPzMyPyUhaW1wb3J0YW50fS56LWluZGV4LTMyW2RhdGEtdi05NjZmZDZkOF17ei1pbmRleDozMiFpbXBvcnRhbnR9LmZvbnQtc2l6ZS0zMltkYXRhLXYtOTY2ZmQ2ZDhdLCAuaW5wdXRbZGF0YS12LTk2NmZkNmQ4XSwgLmxvZ2luLWlucHV0LWdyb3VwIC5sb2dpbi1pbnB1dFtkYXRhLXYtOTY2ZmQ2ZDhdLCAuYXJ0aWNsZSB1bmktdGV4dFtkYXRhLXYtOTY2ZmQ2ZDhde2ZvbnQtc2l6ZTolPzMyPyUhaW1wb3J0YW50fS5tLTM0W2RhdGEtdi05NjZmZDZkOF17bWFyZ2luOiU/MzQ/JSFpbXBvcnRhbnR9Lm14LTM0W2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLWxlZnQ6JT8zND8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT8zND8lIWltcG9ydGFudH0ubWwtMzRbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tbGVmdDolPzM0PyUhaW1wb3J0YW50fS5tci0zNFtkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi1yaWdodDolPzM0PyUhaW1wb3J0YW50fS5teS0zNFtkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi10b3A6JT8zND8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/MzQ/JSFpbXBvcnRhbnR9Lm10LTM0W2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLXRvcDolPzM0PyUhaW1wb3J0YW50fS5tYi0zNFtkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi1ib3R0b206JT8zND8lIWltcG9ydGFudH0ucC0zNFtkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmc6JT8zND8lIWltcG9ydGFudH0ucHgtMzRbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLWxlZnQ6JT8zND8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/MzQ/JSFpbXBvcnRhbnR9LnBsLTM0W2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy1sZWZ0OiU/MzQ/JSFpbXBvcnRhbnR9LnByLTM0W2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy1yaWdodDolPzM0PyUhaW1wb3J0YW50fS5weS0zNFtkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctdG9wOiU/MzQ/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT8zND8lIWltcG9ydGFudH0ucHQtMzRbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLXRvcDolPzM0PyUhaW1wb3J0YW50fS5wYi0zNFtkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctYm90dG9tOiU/MzQ/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTM0W2RhdGEtdi05NjZmZDZkOF17Z3JpZC1nYXA6JT8zND8lIWltcG9ydGFudH0uei1pbmRleC0zNFtkYXRhLXYtOTY2ZmQ2ZDhde3otaW5kZXg6MzQhaW1wb3J0YW50fS5mb250LXNpemUtMzRbZGF0YS12LTk2NmZkNmQ4XXtmb250LXNpemU6JT8zND8lIWltcG9ydGFudH0ubS0zNltkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbjolPzM2PyUhaW1wb3J0YW50fS5teC0zNltkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi1sZWZ0OiU/MzY/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/MzY/JSFpbXBvcnRhbnR9Lm1sLTM2W2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLWxlZnQ6JT8zNj8lIWltcG9ydGFudH0ubXItMzZbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tcmlnaHQ6JT8zNj8lIWltcG9ydGFudH0ubXktMzZbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tdG9wOiU/MzY/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzM2PyUhaW1wb3J0YW50fS5tdC0zNltkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi10b3A6JT8zNj8lIWltcG9ydGFudH0ubWItMzZbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tYm90dG9tOiU/MzY/JSFpbXBvcnRhbnR9LnAtMzZbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nOiU/MzY/JSFpbXBvcnRhbnR9LnB4LTM2W2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy1sZWZ0OiU/MzY/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzM2PyUhaW1wb3J0YW50fS5wbC0zNltkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctbGVmdDolPzM2PyUhaW1wb3J0YW50fS5wci0zNltkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctcmlnaHQ6JT8zNj8lIWltcG9ydGFudH0ucHktMzZbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLXRvcDolPzM2PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/MzY/JSFpbXBvcnRhbnR9LnB0LTM2W2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy10b3A6JT8zNj8lIWltcG9ydGFudH0ucGItMzZbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLWJvdHRvbTolPzM2PyUhaW1wb3J0YW50fS5ncmlkLWdhcC0zNltkYXRhLXYtOTY2ZmQ2ZDhde2dyaWQtZ2FwOiU/MzY/JSFpbXBvcnRhbnR9LnotaW5kZXgtMzZbZGF0YS12LTk2NmZkNmQ4XXt6LWluZGV4OjM2IWltcG9ydGFudH0uZm9udC1zaXplLTM2W2RhdGEtdi05NjZmZDZkOF17Zm9udC1zaXplOiU/MzY/JSFpbXBvcnRhbnR9Lm0tMzhbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW46JT8zOD8lIWltcG9ydGFudH0ubXgtMzhbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tbGVmdDolPzM4PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzM4PyUhaW1wb3J0YW50fS5tbC0zOFtkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi1sZWZ0OiU/Mzg/JSFpbXBvcnRhbnR9Lm1yLTM4W2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLXJpZ2h0OiU/Mzg/JSFpbXBvcnRhbnR9Lm15LTM4W2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLXRvcDolPzM4PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT8zOD8lIWltcG9ydGFudH0ubXQtMzhbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tdG9wOiU/Mzg/JSFpbXBvcnRhbnR9Lm1iLTM4W2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLWJvdHRvbTolPzM4PyUhaW1wb3J0YW50fS5wLTM4W2RhdGEtdi05NjZmZDZkOF17cGFkZGluZzolPzM4PyUhaW1wb3J0YW50fS5weC0zOFtkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctbGVmdDolPzM4PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT8zOD8lIWltcG9ydGFudH0ucGwtMzhbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLWxlZnQ6JT8zOD8lIWltcG9ydGFudH0ucHItMzhbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLXJpZ2h0OiU/Mzg/JSFpbXBvcnRhbnR9LnB5LTM4W2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy10b3A6JT8zOD8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzM4PyUhaW1wb3J0YW50fS5wdC0zOFtkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctdG9wOiU/Mzg/JSFpbXBvcnRhbnR9LnBiLTM4W2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy1ib3R0b206JT8zOD8lIWltcG9ydGFudH0uZ3JpZC1nYXAtMzhbZGF0YS12LTk2NmZkNmQ4XXtncmlkLWdhcDolPzM4PyUhaW1wb3J0YW50fS56LWluZGV4LTM4W2RhdGEtdi05NjZmZDZkOF17ei1pbmRleDozOCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS0zOFtkYXRhLXYtOTY2ZmQ2ZDhde2ZvbnQtc2l6ZTolPzM4PyUhaW1wb3J0YW50fS5tLTQwW2RhdGEtdi05NjZmZDZkOF17bWFyZ2luOiU/NDA/JSFpbXBvcnRhbnR9Lm14LTQwW2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLWxlZnQ6JT80MD8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT80MD8lIWltcG9ydGFudH0ubWwtNDBbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tbGVmdDolPzQwPyUhaW1wb3J0YW50fS5tci00MFtkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi1yaWdodDolPzQwPyUhaW1wb3J0YW50fS5teS00MFtkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi10b3A6JT80MD8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/NDA/JSFpbXBvcnRhbnR9Lm10LTQwW2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLXRvcDolPzQwPyUhaW1wb3J0YW50fS5tYi00MFtkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi1ib3R0b206JT80MD8lIWltcG9ydGFudH0ucC00MFtkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmc6JT80MD8lIWltcG9ydGFudH0ucHgtNDBbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLWxlZnQ6JT80MD8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/NDA/JSFpbXBvcnRhbnR9LnBsLTQwW2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy1sZWZ0OiU/NDA/JSFpbXBvcnRhbnR9LnByLTQwW2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy1yaWdodDolPzQwPyUhaW1wb3J0YW50fS5weS00MFtkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctdG9wOiU/NDA/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT80MD8lIWltcG9ydGFudH0ucHQtNDBbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLXRvcDolPzQwPyUhaW1wb3J0YW50fS5wYi00MFtkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctYm90dG9tOiU/NDA/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTQwW2RhdGEtdi05NjZmZDZkOF17Z3JpZC1nYXA6JT80MD8lIWltcG9ydGFudH0uei1pbmRleC00MFtkYXRhLXYtOTY2ZmQ2ZDhde3otaW5kZXg6NDAhaW1wb3J0YW50fS5mb250LXNpemUtNDBbZGF0YS12LTk2NmZkNmQ4XXtmb250LXNpemU6JT80MD8lIWltcG9ydGFudH0ubS00MltkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbjolPzQyPyUhaW1wb3J0YW50fS5teC00MltkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi1sZWZ0OiU/NDI/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/NDI/JSFpbXBvcnRhbnR9Lm1sLTQyW2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLWxlZnQ6JT80Mj8lIWltcG9ydGFudH0ubXItNDJbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tcmlnaHQ6JT80Mj8lIWltcG9ydGFudH0ubXktNDJbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tdG9wOiU/NDI/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzQyPyUhaW1wb3J0YW50fS5tdC00MltkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi10b3A6JT80Mj8lIWltcG9ydGFudH0ubWItNDJbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tYm90dG9tOiU/NDI/JSFpbXBvcnRhbnR9LnAtNDJbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nOiU/NDI/JSFpbXBvcnRhbnR9LnB4LTQyW2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy1sZWZ0OiU/NDI/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzQyPyUhaW1wb3J0YW50fS5wbC00MltkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctbGVmdDolPzQyPyUhaW1wb3J0YW50fS5wci00MltkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctcmlnaHQ6JT80Mj8lIWltcG9ydGFudH0ucHktNDJbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLXRvcDolPzQyPyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NDI/JSFpbXBvcnRhbnR9LnB0LTQyW2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy10b3A6JT80Mj8lIWltcG9ydGFudH0ucGItNDJbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLWJvdHRvbTolPzQyPyUhaW1wb3J0YW50fS5ncmlkLWdhcC00MltkYXRhLXYtOTY2ZmQ2ZDhde2dyaWQtZ2FwOiU/NDI/JSFpbXBvcnRhbnR9LnotaW5kZXgtNDJbZGF0YS12LTk2NmZkNmQ4XXt6LWluZGV4OjQyIWltcG9ydGFudH0uZm9udC1zaXplLTQyW2RhdGEtdi05NjZmZDZkOF17Zm9udC1zaXplOiU/NDI/JSFpbXBvcnRhbnR9Lm0tNDRbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW46JT80ND8lIWltcG9ydGFudH0ubXgtNDRbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tbGVmdDolPzQ0PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzQ0PyUhaW1wb3J0YW50fS5tbC00NFtkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi1sZWZ0OiU/NDQ/JSFpbXBvcnRhbnR9Lm1yLTQ0W2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLXJpZ2h0OiU/NDQ/JSFpbXBvcnRhbnR9Lm15LTQ0W2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLXRvcDolPzQ0PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT80ND8lIWltcG9ydGFudH0ubXQtNDRbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tdG9wOiU/NDQ/JSFpbXBvcnRhbnR9Lm1iLTQ0W2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLWJvdHRvbTolPzQ0PyUhaW1wb3J0YW50fS5wLTQ0W2RhdGEtdi05NjZmZDZkOF17cGFkZGluZzolPzQ0PyUhaW1wb3J0YW50fS5weC00NFtkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctbGVmdDolPzQ0PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT80ND8lIWltcG9ydGFudH0ucGwtNDRbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLWxlZnQ6JT80ND8lIWltcG9ydGFudH0ucHItNDRbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLXJpZ2h0OiU/NDQ/JSFpbXBvcnRhbnR9LnB5LTQ0W2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy10b3A6JT80ND8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzQ0PyUhaW1wb3J0YW50fS5wdC00NFtkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctdG9wOiU/NDQ/JSFpbXBvcnRhbnR9LnBiLTQ0W2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy1ib3R0b206JT80ND8lIWltcG9ydGFudH0uZ3JpZC1nYXAtNDRbZGF0YS12LTk2NmZkNmQ4XXtncmlkLWdhcDolPzQ0PyUhaW1wb3J0YW50fS56LWluZGV4LTQ0W2RhdGEtdi05NjZmZDZkOF17ei1pbmRleDo0NCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS00NFtkYXRhLXYtOTY2ZmQ2ZDhde2ZvbnQtc2l6ZTolPzQ0PyUhaW1wb3J0YW50fS5tLTQ2W2RhdGEtdi05NjZmZDZkOF17bWFyZ2luOiU/NDY/JSFpbXBvcnRhbnR9Lm14LTQ2W2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLWxlZnQ6JT80Nj8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT80Nj8lIWltcG9ydGFudH0ubWwtNDZbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tbGVmdDolPzQ2PyUhaW1wb3J0YW50fS5tci00NltkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi1yaWdodDolPzQ2PyUhaW1wb3J0YW50fS5teS00NltkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi10b3A6JT80Nj8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/NDY/JSFpbXBvcnRhbnR9Lm10LTQ2W2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLXRvcDolPzQ2PyUhaW1wb3J0YW50fS5tYi00NltkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi1ib3R0b206JT80Nj8lIWltcG9ydGFudH0ucC00NltkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmc6JT80Nj8lIWltcG9ydGFudH0ucHgtNDZbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLWxlZnQ6JT80Nj8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/NDY/JSFpbXBvcnRhbnR9LnBsLTQ2W2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy1sZWZ0OiU/NDY/JSFpbXBvcnRhbnR9LnByLTQ2W2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy1yaWdodDolPzQ2PyUhaW1wb3J0YW50fS5weS00NltkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctdG9wOiU/NDY/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT80Nj8lIWltcG9ydGFudH0ucHQtNDZbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLXRvcDolPzQ2PyUhaW1wb3J0YW50fS5wYi00NltkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctYm90dG9tOiU/NDY/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTQ2W2RhdGEtdi05NjZmZDZkOF17Z3JpZC1nYXA6JT80Nj8lIWltcG9ydGFudH0uei1pbmRleC00NltkYXRhLXYtOTY2ZmQ2ZDhde3otaW5kZXg6NDYhaW1wb3J0YW50fS5mb250LXNpemUtNDZbZGF0YS12LTk2NmZkNmQ4XXtmb250LXNpemU6JT80Nj8lIWltcG9ydGFudH0ubS00OFtkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbjolPzQ4PyUhaW1wb3J0YW50fS5teC00OFtkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi1sZWZ0OiU/NDg/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/NDg/JSFpbXBvcnRhbnR9Lm1sLTQ4W2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLWxlZnQ6JT80OD8lIWltcG9ydGFudH0ubXItNDhbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tcmlnaHQ6JT80OD8lIWltcG9ydGFudH0ubXktNDhbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tdG9wOiU/NDg/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzQ4PyUhaW1wb3J0YW50fS5tdC00OFtkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi10b3A6JT80OD8lIWltcG9ydGFudH0ubWItNDhbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tYm90dG9tOiU/NDg/JSFpbXBvcnRhbnR9LnAtNDhbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nOiU/NDg/JSFpbXBvcnRhbnR9LnB4LTQ4W2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy1sZWZ0OiU/NDg/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzQ4PyUhaW1wb3J0YW50fS5wbC00OFtkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctbGVmdDolPzQ4PyUhaW1wb3J0YW50fS5wci00OFtkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctcmlnaHQ6JT80OD8lIWltcG9ydGFudH0ucHktNDhbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLXRvcDolPzQ4PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NDg/JSFpbXBvcnRhbnR9LnB0LTQ4W2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy10b3A6JT80OD8lIWltcG9ydGFudH0ucGItNDhbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLWJvdHRvbTolPzQ4PyUhaW1wb3J0YW50fS5ncmlkLWdhcC00OFtkYXRhLXYtOTY2ZmQ2ZDhde2dyaWQtZ2FwOiU/NDg/JSFpbXBvcnRhbnR9LnotaW5kZXgtNDhbZGF0YS12LTk2NmZkNmQ4XXt6LWluZGV4OjQ4IWltcG9ydGFudH0uZm9udC1zaXplLTQ4W2RhdGEtdi05NjZmZDZkOF17Zm9udC1zaXplOiU/NDg/JSFpbXBvcnRhbnR9Lm0tNTBbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW46JT81MD8lIWltcG9ydGFudH0ubXgtNTBbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tbGVmdDolPzUwPyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzUwPyUhaW1wb3J0YW50fS5tbC01MFtkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi1sZWZ0OiU/NTA/JSFpbXBvcnRhbnR9Lm1yLTUwW2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLXJpZ2h0OiU/NTA/JSFpbXBvcnRhbnR9Lm15LTUwW2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLXRvcDolPzUwPyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT81MD8lIWltcG9ydGFudH0ubXQtNTBbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tdG9wOiU/NTA/JSFpbXBvcnRhbnR9Lm1iLTUwW2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLWJvdHRvbTolPzUwPyUhaW1wb3J0YW50fS5wLTUwW2RhdGEtdi05NjZmZDZkOF17cGFkZGluZzolPzUwPyUhaW1wb3J0YW50fS5weC01MFtkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctbGVmdDolPzUwPyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT81MD8lIWltcG9ydGFudH0ucGwtNTBbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLWxlZnQ6JT81MD8lIWltcG9ydGFudH0ucHItNTBbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLXJpZ2h0OiU/NTA/JSFpbXBvcnRhbnR9LnB5LTUwW2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy10b3A6JT81MD8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzUwPyUhaW1wb3J0YW50fS5wdC01MFtkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctdG9wOiU/NTA/JSFpbXBvcnRhbnR9LnBiLTUwW2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy1ib3R0b206JT81MD8lIWltcG9ydGFudH0uZ3JpZC1nYXAtNTBbZGF0YS12LTk2NmZkNmQ4XXtncmlkLWdhcDolPzUwPyUhaW1wb3J0YW50fS56LWluZGV4LTUwW2RhdGEtdi05NjZmZDZkOF17ei1pbmRleDo1MCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS01MFtkYXRhLXYtOTY2ZmQ2ZDhde2ZvbnQtc2l6ZTolPzUwPyUhaW1wb3J0YW50fS5tLTUyW2RhdGEtdi05NjZmZDZkOF17bWFyZ2luOiU/NTI/JSFpbXBvcnRhbnR9Lm14LTUyW2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLWxlZnQ6JT81Mj8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT81Mj8lIWltcG9ydGFudH0ubWwtNTJbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tbGVmdDolPzUyPyUhaW1wb3J0YW50fS5tci01MltkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi1yaWdodDolPzUyPyUhaW1wb3J0YW50fS5teS01MltkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi10b3A6JT81Mj8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/NTI/JSFpbXBvcnRhbnR9Lm10LTUyW2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLXRvcDolPzUyPyUhaW1wb3J0YW50fS5tYi01MltkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi1ib3R0b206JT81Mj8lIWltcG9ydGFudH0ucC01MltkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmc6JT81Mj8lIWltcG9ydGFudH0ucHgtNTJbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLWxlZnQ6JT81Mj8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/NTI/JSFpbXBvcnRhbnR9LnBsLTUyW2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy1sZWZ0OiU/NTI/JSFpbXBvcnRhbnR9LnByLTUyW2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy1yaWdodDolPzUyPyUhaW1wb3J0YW50fS5weS01MltkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctdG9wOiU/NTI/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT81Mj8lIWltcG9ydGFudH0ucHQtNTJbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLXRvcDolPzUyPyUhaW1wb3J0YW50fS5wYi01MltkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctYm90dG9tOiU/NTI/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTUyW2RhdGEtdi05NjZmZDZkOF17Z3JpZC1nYXA6JT81Mj8lIWltcG9ydGFudH0uei1pbmRleC01MltkYXRhLXYtOTY2ZmQ2ZDhde3otaW5kZXg6NTIhaW1wb3J0YW50fS5mb250LXNpemUtNTJbZGF0YS12LTk2NmZkNmQ4XXtmb250LXNpemU6JT81Mj8lIWltcG9ydGFudH0ubS01NFtkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbjolPzU0PyUhaW1wb3J0YW50fS5teC01NFtkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi1sZWZ0OiU/NTQ/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/NTQ/JSFpbXBvcnRhbnR9Lm1sLTU0W2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLWxlZnQ6JT81ND8lIWltcG9ydGFudH0ubXItNTRbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tcmlnaHQ6JT81ND8lIWltcG9ydGFudH0ubXktNTRbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tdG9wOiU/NTQ/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzU0PyUhaW1wb3J0YW50fS5tdC01NFtkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi10b3A6JT81ND8lIWltcG9ydGFudH0ubWItNTRbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tYm90dG9tOiU/NTQ/JSFpbXBvcnRhbnR9LnAtNTRbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nOiU/NTQ/JSFpbXBvcnRhbnR9LnB4LTU0W2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy1sZWZ0OiU/NTQ/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzU0PyUhaW1wb3J0YW50fS5wbC01NFtkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctbGVmdDolPzU0PyUhaW1wb3J0YW50fS5wci01NFtkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctcmlnaHQ6JT81ND8lIWltcG9ydGFudH0ucHktNTRbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLXRvcDolPzU0PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NTQ/JSFpbXBvcnRhbnR9LnB0LTU0W2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy10b3A6JT81ND8lIWltcG9ydGFudH0ucGItNTRbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLWJvdHRvbTolPzU0PyUhaW1wb3J0YW50fS5ncmlkLWdhcC01NFtkYXRhLXYtOTY2ZmQ2ZDhde2dyaWQtZ2FwOiU/NTQ/JSFpbXBvcnRhbnR9LnotaW5kZXgtNTRbZGF0YS12LTk2NmZkNmQ4XXt6LWluZGV4OjU0IWltcG9ydGFudH0uZm9udC1zaXplLTU0W2RhdGEtdi05NjZmZDZkOF17Zm9udC1zaXplOiU/NTQ/JSFpbXBvcnRhbnR9Lm0tNTZbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW46JT81Nj8lIWltcG9ydGFudH0ubXgtNTZbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tbGVmdDolPzU2PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzU2PyUhaW1wb3J0YW50fS5tbC01NltkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi1sZWZ0OiU/NTY/JSFpbXBvcnRhbnR9Lm1yLTU2W2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLXJpZ2h0OiU/NTY/JSFpbXBvcnRhbnR9Lm15LTU2W2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLXRvcDolPzU2PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT81Nj8lIWltcG9ydGFudH0ubXQtNTZbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tdG9wOiU/NTY/JSFpbXBvcnRhbnR9Lm1iLTU2W2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLWJvdHRvbTolPzU2PyUhaW1wb3J0YW50fS5wLTU2W2RhdGEtdi05NjZmZDZkOF17cGFkZGluZzolPzU2PyUhaW1wb3J0YW50fS5weC01NltkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctbGVmdDolPzU2PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT81Nj8lIWltcG9ydGFudH0ucGwtNTZbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLWxlZnQ6JT81Nj8lIWltcG9ydGFudH0ucHItNTZbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLXJpZ2h0OiU/NTY/JSFpbXBvcnRhbnR9LnB5LTU2W2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy10b3A6JT81Nj8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzU2PyUhaW1wb3J0YW50fS5wdC01NltkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctdG9wOiU/NTY/JSFpbXBvcnRhbnR9LnBiLTU2W2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy1ib3R0b206JT81Nj8lIWltcG9ydGFudH0uZ3JpZC1nYXAtNTZbZGF0YS12LTk2NmZkNmQ4XXtncmlkLWdhcDolPzU2PyUhaW1wb3J0YW50fS56LWluZGV4LTU2W2RhdGEtdi05NjZmZDZkOF17ei1pbmRleDo1NiFpbXBvcnRhbnR9LmZvbnQtc2l6ZS01NltkYXRhLXYtOTY2ZmQ2ZDhde2ZvbnQtc2l6ZTolPzU2PyUhaW1wb3J0YW50fS5tLTU4W2RhdGEtdi05NjZmZDZkOF17bWFyZ2luOiU/NTg/JSFpbXBvcnRhbnR9Lm14LTU4W2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLWxlZnQ6JT81OD8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT81OD8lIWltcG9ydGFudH0ubWwtNThbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tbGVmdDolPzU4PyUhaW1wb3J0YW50fS5tci01OFtkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi1yaWdodDolPzU4PyUhaW1wb3J0YW50fS5teS01OFtkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi10b3A6JT81OD8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/NTg/JSFpbXBvcnRhbnR9Lm10LTU4W2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLXRvcDolPzU4PyUhaW1wb3J0YW50fS5tYi01OFtkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi1ib3R0b206JT81OD8lIWltcG9ydGFudH0ucC01OFtkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmc6JT81OD8lIWltcG9ydGFudH0ucHgtNThbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLWxlZnQ6JT81OD8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/NTg/JSFpbXBvcnRhbnR9LnBsLTU4W2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy1sZWZ0OiU/NTg/JSFpbXBvcnRhbnR9LnByLTU4W2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy1yaWdodDolPzU4PyUhaW1wb3J0YW50fS5weS01OFtkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctdG9wOiU/NTg/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT81OD8lIWltcG9ydGFudH0ucHQtNThbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLXRvcDolPzU4PyUhaW1wb3J0YW50fS5wYi01OFtkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctYm90dG9tOiU/NTg/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTU4W2RhdGEtdi05NjZmZDZkOF17Z3JpZC1nYXA6JT81OD8lIWltcG9ydGFudH0uei1pbmRleC01OFtkYXRhLXYtOTY2ZmQ2ZDhde3otaW5kZXg6NTghaW1wb3J0YW50fS5mb250LXNpemUtNThbZGF0YS12LTk2NmZkNmQ4XXtmb250LXNpemU6JT81OD8lIWltcG9ydGFudH0ubS02MFtkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbjolPzYwPyUhaW1wb3J0YW50fS5teC02MFtkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi1sZWZ0OiU/NjA/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/NjA/JSFpbXBvcnRhbnR9Lm1sLTYwW2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLWxlZnQ6JT82MD8lIWltcG9ydGFudH0ubXItNjBbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tcmlnaHQ6JT82MD8lIWltcG9ydGFudH0ubXktNjBbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tdG9wOiU/NjA/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzYwPyUhaW1wb3J0YW50fS5tdC02MFtkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi10b3A6JT82MD8lIWltcG9ydGFudH0ubWItNjBbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tYm90dG9tOiU/NjA/JSFpbXBvcnRhbnR9LnAtNjBbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nOiU/NjA/JSFpbXBvcnRhbnR9LnB4LTYwW2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy1sZWZ0OiU/NjA/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzYwPyUhaW1wb3J0YW50fS5wbC02MFtkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctbGVmdDolPzYwPyUhaW1wb3J0YW50fS5wci02MFtkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctcmlnaHQ6JT82MD8lIWltcG9ydGFudH0ucHktNjBbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLXRvcDolPzYwPyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NjA/JSFpbXBvcnRhbnR9LnB0LTYwW2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy10b3A6JT82MD8lIWltcG9ydGFudH0ucGItNjBbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLWJvdHRvbTolPzYwPyUhaW1wb3J0YW50fS5ncmlkLWdhcC02MFtkYXRhLXYtOTY2ZmQ2ZDhde2dyaWQtZ2FwOiU/NjA/JSFpbXBvcnRhbnR9LnotaW5kZXgtNjBbZGF0YS12LTk2NmZkNmQ4XXt6LWluZGV4OjYwIWltcG9ydGFudH0uZm9udC1zaXplLTYwW2RhdGEtdi05NjZmZDZkOF17Zm9udC1zaXplOiU/NjA/JSFpbXBvcnRhbnR9Lm0tNjJbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW46JT82Mj8lIWltcG9ydGFudH0ubXgtNjJbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tbGVmdDolPzYyPyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzYyPyUhaW1wb3J0YW50fS5tbC02MltkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi1sZWZ0OiU/NjI/JSFpbXBvcnRhbnR9Lm1yLTYyW2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLXJpZ2h0OiU/NjI/JSFpbXBvcnRhbnR9Lm15LTYyW2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLXRvcDolPzYyPyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT82Mj8lIWltcG9ydGFudH0ubXQtNjJbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tdG9wOiU/NjI/JSFpbXBvcnRhbnR9Lm1iLTYyW2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLWJvdHRvbTolPzYyPyUhaW1wb3J0YW50fS5wLTYyW2RhdGEtdi05NjZmZDZkOF17cGFkZGluZzolPzYyPyUhaW1wb3J0YW50fS5weC02MltkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctbGVmdDolPzYyPyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT82Mj8lIWltcG9ydGFudH0ucGwtNjJbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLWxlZnQ6JT82Mj8lIWltcG9ydGFudH0ucHItNjJbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLXJpZ2h0OiU/NjI/JSFpbXBvcnRhbnR9LnB5LTYyW2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy10b3A6JT82Mj8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzYyPyUhaW1wb3J0YW50fS5wdC02MltkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctdG9wOiU/NjI/JSFpbXBvcnRhbnR9LnBiLTYyW2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy1ib3R0b206JT82Mj8lIWltcG9ydGFudH0uZ3JpZC1nYXAtNjJbZGF0YS12LTk2NmZkNmQ4XXtncmlkLWdhcDolPzYyPyUhaW1wb3J0YW50fS56LWluZGV4LTYyW2RhdGEtdi05NjZmZDZkOF17ei1pbmRleDo2MiFpbXBvcnRhbnR9LmZvbnQtc2l6ZS02MltkYXRhLXYtOTY2ZmQ2ZDhde2ZvbnQtc2l6ZTolPzYyPyUhaW1wb3J0YW50fS5tLTY0W2RhdGEtdi05NjZmZDZkOF17bWFyZ2luOiU/NjQ/JSFpbXBvcnRhbnR9Lm14LTY0W2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLWxlZnQ6JT82ND8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT82ND8lIWltcG9ydGFudH0ubWwtNjRbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tbGVmdDolPzY0PyUhaW1wb3J0YW50fS5tci02NFtkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi1yaWdodDolPzY0PyUhaW1wb3J0YW50fS5teS02NFtkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi10b3A6JT82ND8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/NjQ/JSFpbXBvcnRhbnR9Lm10LTY0W2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLXRvcDolPzY0PyUhaW1wb3J0YW50fS5tYi02NFtkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi1ib3R0b206JT82ND8lIWltcG9ydGFudH0ucC02NFtkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmc6JT82ND8lIWltcG9ydGFudH0ucHgtNjRbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLWxlZnQ6JT82ND8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/NjQ/JSFpbXBvcnRhbnR9LnBsLTY0W2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy1sZWZ0OiU/NjQ/JSFpbXBvcnRhbnR9LnByLTY0W2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy1yaWdodDolPzY0PyUhaW1wb3J0YW50fS5weS02NFtkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctdG9wOiU/NjQ/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT82ND8lIWltcG9ydGFudH0ucHQtNjRbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLXRvcDolPzY0PyUhaW1wb3J0YW50fS5wYi02NFtkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctYm90dG9tOiU/NjQ/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTY0W2RhdGEtdi05NjZmZDZkOF17Z3JpZC1nYXA6JT82ND8lIWltcG9ydGFudH0uei1pbmRleC02NFtkYXRhLXYtOTY2ZmQ2ZDhde3otaW5kZXg6NjQhaW1wb3J0YW50fS5mb250LXNpemUtNjRbZGF0YS12LTk2NmZkNmQ4XXtmb250LXNpemU6JT82ND8lIWltcG9ydGFudH0ubS02NltkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbjolPzY2PyUhaW1wb3J0YW50fS5teC02NltkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi1sZWZ0OiU/NjY/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/NjY/JSFpbXBvcnRhbnR9Lm1sLTY2W2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLWxlZnQ6JT82Nj8lIWltcG9ydGFudH0ubXItNjZbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tcmlnaHQ6JT82Nj8lIWltcG9ydGFudH0ubXktNjZbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tdG9wOiU/NjY/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzY2PyUhaW1wb3J0YW50fS5tdC02NltkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi10b3A6JT82Nj8lIWltcG9ydGFudH0ubWItNjZbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tYm90dG9tOiU/NjY/JSFpbXBvcnRhbnR9LnAtNjZbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nOiU/NjY/JSFpbXBvcnRhbnR9LnB4LTY2W2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy1sZWZ0OiU/NjY/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzY2PyUhaW1wb3J0YW50fS5wbC02NltkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctbGVmdDolPzY2PyUhaW1wb3J0YW50fS5wci02NltkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctcmlnaHQ6JT82Nj8lIWltcG9ydGFudH0ucHktNjZbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLXRvcDolPzY2PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NjY/JSFpbXBvcnRhbnR9LnB0LTY2W2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy10b3A6JT82Nj8lIWltcG9ydGFudH0ucGItNjZbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLWJvdHRvbTolPzY2PyUhaW1wb3J0YW50fS5ncmlkLWdhcC02NltkYXRhLXYtOTY2ZmQ2ZDhde2dyaWQtZ2FwOiU/NjY/JSFpbXBvcnRhbnR9LnotaW5kZXgtNjZbZGF0YS12LTk2NmZkNmQ4XXt6LWluZGV4OjY2IWltcG9ydGFudH0uZm9udC1zaXplLTY2W2RhdGEtdi05NjZmZDZkOF17Zm9udC1zaXplOiU/NjY/JSFpbXBvcnRhbnR9Lm0tNjhbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW46JT82OD8lIWltcG9ydGFudH0ubXgtNjhbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tbGVmdDolPzY4PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzY4PyUhaW1wb3J0YW50fS5tbC02OFtkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi1sZWZ0OiU/Njg/JSFpbXBvcnRhbnR9Lm1yLTY4W2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLXJpZ2h0OiU/Njg/JSFpbXBvcnRhbnR9Lm15LTY4W2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLXRvcDolPzY4PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT82OD8lIWltcG9ydGFudH0ubXQtNjhbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tdG9wOiU/Njg/JSFpbXBvcnRhbnR9Lm1iLTY4W2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLWJvdHRvbTolPzY4PyUhaW1wb3J0YW50fS5wLTY4W2RhdGEtdi05NjZmZDZkOF17cGFkZGluZzolPzY4PyUhaW1wb3J0YW50fS5weC02OFtkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctbGVmdDolPzY4PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT82OD8lIWltcG9ydGFudH0ucGwtNjhbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLWxlZnQ6JT82OD8lIWltcG9ydGFudH0ucHItNjhbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLXJpZ2h0OiU/Njg/JSFpbXBvcnRhbnR9LnB5LTY4W2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy10b3A6JT82OD8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzY4PyUhaW1wb3J0YW50fS5wdC02OFtkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctdG9wOiU/Njg/JSFpbXBvcnRhbnR9LnBiLTY4W2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy1ib3R0b206JT82OD8lIWltcG9ydGFudH0uZ3JpZC1nYXAtNjhbZGF0YS12LTk2NmZkNmQ4XXtncmlkLWdhcDolPzY4PyUhaW1wb3J0YW50fS56LWluZGV4LTY4W2RhdGEtdi05NjZmZDZkOF17ei1pbmRleDo2OCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS02OFtkYXRhLXYtOTY2ZmQ2ZDhde2ZvbnQtc2l6ZTolPzY4PyUhaW1wb3J0YW50fS5tLTcwW2RhdGEtdi05NjZmZDZkOF17bWFyZ2luOiU/NzA/JSFpbXBvcnRhbnR9Lm14LTcwW2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLWxlZnQ6JT83MD8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT83MD8lIWltcG9ydGFudH0ubWwtNzBbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tbGVmdDolPzcwPyUhaW1wb3J0YW50fS5tci03MFtkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi1yaWdodDolPzcwPyUhaW1wb3J0YW50fS5teS03MFtkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi10b3A6JT83MD8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/NzA/JSFpbXBvcnRhbnR9Lm10LTcwW2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLXRvcDolPzcwPyUhaW1wb3J0YW50fS5tYi03MFtkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi1ib3R0b206JT83MD8lIWltcG9ydGFudH0ucC03MFtkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmc6JT83MD8lIWltcG9ydGFudH0ucHgtNzBbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLWxlZnQ6JT83MD8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/NzA/JSFpbXBvcnRhbnR9LnBsLTcwW2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy1sZWZ0OiU/NzA/JSFpbXBvcnRhbnR9LnByLTcwW2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy1yaWdodDolPzcwPyUhaW1wb3J0YW50fS5weS03MFtkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctdG9wOiU/NzA/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT83MD8lIWltcG9ydGFudH0ucHQtNzBbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLXRvcDolPzcwPyUhaW1wb3J0YW50fS5wYi03MFtkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctYm90dG9tOiU/NzA/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTcwW2RhdGEtdi05NjZmZDZkOF17Z3JpZC1nYXA6JT83MD8lIWltcG9ydGFudH0uei1pbmRleC03MFtkYXRhLXYtOTY2ZmQ2ZDhde3otaW5kZXg6NzAhaW1wb3J0YW50fS5mb250LXNpemUtNzBbZGF0YS12LTk2NmZkNmQ4XXtmb250LXNpemU6JT83MD8lIWltcG9ydGFudH0ubS03MltkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbjolPzcyPyUhaW1wb3J0YW50fS5teC03MltkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi1sZWZ0OiU/NzI/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/NzI/JSFpbXBvcnRhbnR9Lm1sLTcyW2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLWxlZnQ6JT83Mj8lIWltcG9ydGFudH0ubXItNzJbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tcmlnaHQ6JT83Mj8lIWltcG9ydGFudH0ubXktNzJbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tdG9wOiU/NzI/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzcyPyUhaW1wb3J0YW50fS5tdC03MltkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi10b3A6JT83Mj8lIWltcG9ydGFudH0ubWItNzJbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tYm90dG9tOiU/NzI/JSFpbXBvcnRhbnR9LnAtNzJbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nOiU/NzI/JSFpbXBvcnRhbnR9LnB4LTcyW2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy1sZWZ0OiU/NzI/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzcyPyUhaW1wb3J0YW50fS5wbC03MltkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctbGVmdDolPzcyPyUhaW1wb3J0YW50fS5wci03MltkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctcmlnaHQ6JT83Mj8lIWltcG9ydGFudH0ucHktNzJbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLXRvcDolPzcyPyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NzI/JSFpbXBvcnRhbnR9LnB0LTcyW2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy10b3A6JT83Mj8lIWltcG9ydGFudH0ucGItNzJbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLWJvdHRvbTolPzcyPyUhaW1wb3J0YW50fS5ncmlkLWdhcC03MltkYXRhLXYtOTY2ZmQ2ZDhde2dyaWQtZ2FwOiU/NzI/JSFpbXBvcnRhbnR9LnotaW5kZXgtNzJbZGF0YS12LTk2NmZkNmQ4XXt6LWluZGV4OjcyIWltcG9ydGFudH0uZm9udC1zaXplLTcyW2RhdGEtdi05NjZmZDZkOF17Zm9udC1zaXplOiU/NzI/JSFpbXBvcnRhbnR9Lm0tNzRbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW46JT83ND8lIWltcG9ydGFudH0ubXgtNzRbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tbGVmdDolPzc0PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzc0PyUhaW1wb3J0YW50fS5tbC03NFtkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi1sZWZ0OiU/NzQ/JSFpbXBvcnRhbnR9Lm1yLTc0W2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLXJpZ2h0OiU/NzQ/JSFpbXBvcnRhbnR9Lm15LTc0W2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLXRvcDolPzc0PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT83ND8lIWltcG9ydGFudH0ubXQtNzRbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tdG9wOiU/NzQ/JSFpbXBvcnRhbnR9Lm1iLTc0W2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLWJvdHRvbTolPzc0PyUhaW1wb3J0YW50fS5wLTc0W2RhdGEtdi05NjZmZDZkOF17cGFkZGluZzolPzc0PyUhaW1wb3J0YW50fS5weC03NFtkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctbGVmdDolPzc0PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT83ND8lIWltcG9ydGFudH0ucGwtNzRbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLWxlZnQ6JT83ND8lIWltcG9ydGFudH0ucHItNzRbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLXJpZ2h0OiU/NzQ/JSFpbXBvcnRhbnR9LnB5LTc0W2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy10b3A6JT83ND8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzc0PyUhaW1wb3J0YW50fS5wdC03NFtkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctdG9wOiU/NzQ/JSFpbXBvcnRhbnR9LnBiLTc0W2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy1ib3R0b206JT83ND8lIWltcG9ydGFudH0uZ3JpZC1nYXAtNzRbZGF0YS12LTk2NmZkNmQ4XXtncmlkLWdhcDolPzc0PyUhaW1wb3J0YW50fS56LWluZGV4LTc0W2RhdGEtdi05NjZmZDZkOF17ei1pbmRleDo3NCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS03NFtkYXRhLXYtOTY2ZmQ2ZDhde2ZvbnQtc2l6ZTolPzc0PyUhaW1wb3J0YW50fS5tLTc2W2RhdGEtdi05NjZmZDZkOF17bWFyZ2luOiU/NzY/JSFpbXBvcnRhbnR9Lm14LTc2W2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLWxlZnQ6JT83Nj8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT83Nj8lIWltcG9ydGFudH0ubWwtNzZbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tbGVmdDolPzc2PyUhaW1wb3J0YW50fS5tci03NltkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi1yaWdodDolPzc2PyUhaW1wb3J0YW50fS5teS03NltkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi10b3A6JT83Nj8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/NzY/JSFpbXBvcnRhbnR9Lm10LTc2W2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLXRvcDolPzc2PyUhaW1wb3J0YW50fS5tYi03NltkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi1ib3R0b206JT83Nj8lIWltcG9ydGFudH0ucC03NltkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmc6JT83Nj8lIWltcG9ydGFudH0ucHgtNzZbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLWxlZnQ6JT83Nj8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/NzY/JSFpbXBvcnRhbnR9LnBsLTc2W2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy1sZWZ0OiU/NzY/JSFpbXBvcnRhbnR9LnByLTc2W2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy1yaWdodDolPzc2PyUhaW1wb3J0YW50fS5weS03NltkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctdG9wOiU/NzY/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT83Nj8lIWltcG9ydGFudH0ucHQtNzZbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLXRvcDolPzc2PyUhaW1wb3J0YW50fS5wYi03NltkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctYm90dG9tOiU/NzY/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTc2W2RhdGEtdi05NjZmZDZkOF17Z3JpZC1nYXA6JT83Nj8lIWltcG9ydGFudH0uei1pbmRleC03NltkYXRhLXYtOTY2ZmQ2ZDhde3otaW5kZXg6NzYhaW1wb3J0YW50fS5mb250LXNpemUtNzZbZGF0YS12LTk2NmZkNmQ4XXtmb250LXNpemU6JT83Nj8lIWltcG9ydGFudH0ubS03OFtkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbjolPzc4PyUhaW1wb3J0YW50fS5teC03OFtkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi1sZWZ0OiU/Nzg/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/Nzg/JSFpbXBvcnRhbnR9Lm1sLTc4W2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLWxlZnQ6JT83OD8lIWltcG9ydGFudH0ubXItNzhbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tcmlnaHQ6JT83OD8lIWltcG9ydGFudH0ubXktNzhbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tdG9wOiU/Nzg/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzc4PyUhaW1wb3J0YW50fS5tdC03OFtkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi10b3A6JT83OD8lIWltcG9ydGFudH0ubWItNzhbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tYm90dG9tOiU/Nzg/JSFpbXBvcnRhbnR9LnAtNzhbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nOiU/Nzg/JSFpbXBvcnRhbnR9LnB4LTc4W2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy1sZWZ0OiU/Nzg/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzc4PyUhaW1wb3J0YW50fS5wbC03OFtkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctbGVmdDolPzc4PyUhaW1wb3J0YW50fS5wci03OFtkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctcmlnaHQ6JT83OD8lIWltcG9ydGFudH0ucHktNzhbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLXRvcDolPzc4PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/Nzg/JSFpbXBvcnRhbnR9LnB0LTc4W2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy10b3A6JT83OD8lIWltcG9ydGFudH0ucGItNzhbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLWJvdHRvbTolPzc4PyUhaW1wb3J0YW50fS5ncmlkLWdhcC03OFtkYXRhLXYtOTY2ZmQ2ZDhde2dyaWQtZ2FwOiU/Nzg/JSFpbXBvcnRhbnR9LnotaW5kZXgtNzhbZGF0YS12LTk2NmZkNmQ4XXt6LWluZGV4Ojc4IWltcG9ydGFudH0uZm9udC1zaXplLTc4W2RhdGEtdi05NjZmZDZkOF17Zm9udC1zaXplOiU/Nzg/JSFpbXBvcnRhbnR9LmZpbHRlci1ncmF5W2RhdGEtdi05NjZmZDZkOF17LXdlYmtpdC1maWx0ZXI6Z3JheXNjYWxlKDEpO2ZpbHRlcjpncmF5c2NhbGUoMSl9Lm14LWF1dG9bZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tbGVmdDphdXRvO21hcmdpbi1yaWdodDphdXRvfS5kLWJsb2NrW2RhdGEtdi05NjZmZDZkOF17ZGlzcGxheTpibG9ja30uZC1pbmxpbmUtYmxvY2tbZGF0YS12LTk2NmZkNmQ4XXtkaXNwbGF5OmlubGluZS1ibG9ja30udGV4dC1jZW50ZXJbZGF0YS12LTk2NmZkNmQ4XXt0ZXh0LWFsaWduOmNlbnRlcn0udGV4dC1sZWZ0W2RhdGEtdi05NjZmZDZkOF17dGV4dC1hbGlnbjpsZWZ0fS50ZXh0LXJpZ2h0W2RhdGEtdi05NjZmZDZkOF17dGV4dC1hbGlnbjpyaWdodH0uZC1mbGV4W2RhdGEtdi05NjZmZDZkOF17ZGlzcGxheTpmbGV4fS5kLWZsZXgtYmV0d2Vlbi1jZW50ZXJbZGF0YS12LTk2NmZkNmQ4XXtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47YWxpZ24taXRlbXM6Y2VudGVyfS5mbGV4LXdyYXBbZGF0YS12LTk2NmZkNmQ4XXtmbGV4LXdyYXA6d3JhcH0uanVzdGlmeS1jb250ZW50LWJldHdlZW5bZGF0YS12LTk2NmZkNmQ4XXtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0uanVzdGlmeS1jb250ZW50LWFyb3VuZFtkYXRhLXYtOTY2ZmQ2ZDhde2p1c3RpZnktY29udGVudDpzcGFjZS1hcm91bmR9Lmp1c3RpZnktY29udGVudC1jZW50ZXJbZGF0YS12LTk2NmZkNmQ4XXtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5qdXN0aWZ5LWNvbnRlbnQtZW5kW2RhdGEtdi05NjZmZDZkOF17anVzdGlmeS1jb250ZW50OmZsZXgtZW5kfS5hbGlnbi1pdGVtcy1jZW50ZXJbZGF0YS12LTk2NmZkNmQ4XXthbGlnbi1pdGVtczpjZW50ZXJ9LmFsaWduLWl0ZW1zLWJhc2VsaW5lW2RhdGEtdi05NjZmZDZkOF17YWxpZ24taXRlbXM6YmFzZWxpbmV9LmZsZXgtZGlyZWN0aW9uLWNvbHVtbltkYXRhLXYtOTY2ZmQ2ZDhde2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uZm9udC13ZWlnaHQtYm9sZFtkYXRhLXYtOTY2ZmQ2ZDhde2ZvbnQtd2VpZ2h0OjcwMH0ucG9zaXRpb24tZml4ZWRbZGF0YS12LTk2NmZkNmQ4XXtwb3NpdGlvbjpmaXhlZH0ucG9zaXRpb24tcmVsYXRpdmVbZGF0YS12LTk2NmZkNmQ4XXtwb3NpdGlvbjpyZWxhdGl2ZX0ucG9zaXRpb24tYWJzb2x1dGVbZGF0YS12LTk2NmZkNmQ4XXtwb3NpdGlvbjphYnNvbHV0ZX0ub3ZlcmZsb3ctaGlkZGVuW2RhdGEtdi05NjZmZDZkOF17b3ZlcmZsb3c6aGlkZGVufS5saW5lLTFbZGF0YS12LTk2NmZkNmQ4XXtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9LmxpbmUtMltkYXRhLXYtOTY2ZmQ2ZDhde292ZXJmbG93OmhpZGRlbjstd2Via2l0LWxpbmUtY2xhbXA6MjtsaW5lLWNsYW1wOjI7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO2JveC1vcmllbnQ6dmVydGljYWw7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmJveH0ubGluZS0zW2RhdGEtdi05NjZmZDZkOF17b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtbGluZS1jbGFtcDozO2xpbmUtY2xhbXA6Mzstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7Ym94LW9yaWVudDp2ZXJ0aWNhbDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6Ym94fS5saW5lLTRbZGF0YS12LTk2NmZkNmQ4XXtvdmVyZmxvdzpoaWRkZW47LXdlYmtpdC1saW5lLWNsYW1wOjQ7bGluZS1jbGFtcDo0Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDtib3gtb3JpZW50OnZlcnRpY2FsO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpib3h9LmxpbmUtNVtkYXRhLXYtOTY2ZmQ2ZDhde292ZXJmbG93OmhpZGRlbjstd2Via2l0LWxpbmUtY2xhbXA6NTtsaW5lLWNsYW1wOjU7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO2JveC1vcmllbnQ6dmVydGljYWw7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmJveH0udy0xMFtkYXRhLXYtOTY2ZmQ2ZDhde3dpZHRoOjEwJX0uaC0xMFtkYXRhLXYtOTY2ZmQ2ZDhde2hlaWdodDoxMCV9Lm9wYWNpdHktMTBbZGF0YS12LTk2NmZkNmQ4XXtvcGFjaXR5Oi4xfS53LTE3W2RhdGEtdi05NjZmZDZkOF17d2lkdGg6MTclfS5oLTE3W2RhdGEtdi05NjZmZDZkOF17aGVpZ2h0OjE3JX0ub3BhY2l0eS0xN1tkYXRhLXYtOTY2ZmQ2ZDhde29wYWNpdHk6LjE3fS53LTE4W2RhdGEtdi05NjZmZDZkOF17d2lkdGg6MTglfS5oLTE4W2RhdGEtdi05NjZmZDZkOF17aGVpZ2h0OjE4JX0ub3BhY2l0eS0xOFtkYXRhLXYtOTY2ZmQ2ZDhde29wYWNpdHk6LjE4fS53LTE5W2RhdGEtdi05NjZmZDZkOF17d2lkdGg6MTklfS5oLTE5W2RhdGEtdi05NjZmZDZkOF17aGVpZ2h0OjE5JX0ub3BhY2l0eS0xOVtkYXRhLXYtOTY2ZmQ2ZDhde29wYWNpdHk6LjE5fS53LTIwW2RhdGEtdi05NjZmZDZkOF17d2lkdGg6MjAlfS5oLTIwW2RhdGEtdi05NjZmZDZkOF17aGVpZ2h0OjIwJX0ub3BhY2l0eS0yMFtkYXRhLXYtOTY2ZmQ2ZDhde29wYWNpdHk6LjJ9LnctMjVbZGF0YS12LTk2NmZkNmQ4XXt3aWR0aDoyNSV9LmgtMjVbZGF0YS12LTk2NmZkNmQ4XXtoZWlnaHQ6MjUlfS5vcGFjaXR5LTI1W2RhdGEtdi05NjZmZDZkOF17b3BhY2l0eTouMjV9LnctMzBbZGF0YS12LTk2NmZkNmQ4XXt3aWR0aDozMCV9LmgtMzBbZGF0YS12LTk2NmZkNmQ4XXtoZWlnaHQ6MzAlfS5vcGFjaXR5LTMwW2RhdGEtdi05NjZmZDZkOF17b3BhY2l0eTouM30udy0zM1tkYXRhLXYtOTY2ZmQ2ZDhde3dpZHRoOjMzJX0uaC0zM1tkYXRhLXYtOTY2ZmQ2ZDhde2hlaWdodDozMyV9Lm9wYWNpdHktMzNbZGF0YS12LTk2NmZkNmQ4XXtvcGFjaXR5Oi4zM30udy00MFtkYXRhLXYtOTY2ZmQ2ZDhde3dpZHRoOjQwJX0uaC00MFtkYXRhLXYtOTY2ZmQ2ZDhde2hlaWdodDo0MCV9Lm9wYWNpdHktNDBbZGF0YS12LTk2NmZkNmQ4XXtvcGFjaXR5Oi40fS53LTQ0W2RhdGEtdi05NjZmZDZkOF17d2lkdGg6NDQlfS5oLTQ0W2RhdGEtdi05NjZmZDZkOF17aGVpZ2h0OjQ0JX0ub3BhY2l0eS00NFtkYXRhLXYtOTY2ZmQ2ZDhde29wYWNpdHk6LjQ0fS53LTQ4W2RhdGEtdi05NjZmZDZkOF17d2lkdGg6NDglfS5oLTQ4W2RhdGEtdi05NjZmZDZkOF17aGVpZ2h0OjQ4JX0ub3BhY2l0eS00OFtkYXRhLXYtOTY2ZmQ2ZDhde29wYWNpdHk6LjQ4fS53LTQ5W2RhdGEtdi05NjZmZDZkOF17d2lkdGg6NDklfS5oLTQ5W2RhdGEtdi05NjZmZDZkOF17aGVpZ2h0OjQ5JX0ub3BhY2l0eS00OVtkYXRhLXYtOTY2ZmQ2ZDhde29wYWNpdHk6LjQ5fS53LTUwW2RhdGEtdi05NjZmZDZkOF17d2lkdGg6NTAlfS5oLTUwW2RhdGEtdi05NjZmZDZkOF17aGVpZ2h0OjUwJX0ub3BhY2l0eS01MFtkYXRhLXYtOTY2ZmQ2ZDhde29wYWNpdHk6LjV9LnctNjBbZGF0YS12LTk2NmZkNmQ4XXt3aWR0aDo2MCV9LmgtNjBbZGF0YS12LTk2NmZkNmQ4XXtoZWlnaHQ6NjAlfS5vcGFjaXR5LTYwW2RhdGEtdi05NjZmZDZkOF17b3BhY2l0eTouNn0udy03MFtkYXRhLXYtOTY2ZmQ2ZDhde3dpZHRoOjcwJX0uaC03MFtkYXRhLXYtOTY2ZmQ2ZDhde2hlaWdodDo3MCV9Lm9wYWNpdHktNzBbZGF0YS12LTk2NmZkNmQ4XXtvcGFjaXR5Oi43fS53LTc1W2RhdGEtdi05NjZmZDZkOF17d2lkdGg6NzUlfS5oLTc1W2RhdGEtdi05NjZmZDZkOF17aGVpZ2h0Ojc1JX0ub3BhY2l0eS03NVtkYXRhLXYtOTY2ZmQ2ZDhde29wYWNpdHk6Ljc1fS53LTgwW2RhdGEtdi05NjZmZDZkOF17d2lkdGg6ODAlfS5oLTgwW2RhdGEtdi05NjZmZDZkOF17aGVpZ2h0OjgwJX0ub3BhY2l0eS04MFtkYXRhLXYtOTY2ZmQ2ZDhde29wYWNpdHk6Ljh9LnctOTBbZGF0YS12LTk2NmZkNmQ4XXt3aWR0aDo5MCV9LmgtOTBbZGF0YS12LTk2NmZkNmQ4XXtoZWlnaHQ6OTAlfS5vcGFjaXR5LTkwW2RhdGEtdi05NjZmZDZkOF17b3BhY2l0eTouOX0udy0xMDBbZGF0YS12LTk2NmZkNmQ4XXt3aWR0aDoxMDAlfS5oLTEwMFtkYXRhLXYtOTY2ZmQ2ZDhde2hlaWdodDoxMDAlfS5vcGFjaXR5LTEwMFtkYXRhLXYtOTY2ZmQ2ZDhde29wYWNpdHk6LjF9LnBiLTUwW2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy1ib3R0b206JT81MD8lfS5tdC01MFtkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi10b3A6JT81MD8lfS5wYi02MFtkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctYm90dG9tOiU/NjA/JX0ubXQtNjBbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tdG9wOiU/NjA/JX0ucGItNzBbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLWJvdHRvbTolPzcwPyV9Lm10LTcwW2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLXRvcDolPzcwPyV9LnBiLTgwW2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy1ib3R0b206JT84MD8lfS5tdC04MFtkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi10b3A6JT84MD8lfS5wYi05MFtkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctYm90dG9tOiU/OTA/JX0ubXQtOTBbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tdG9wOiU/OTA/JX0ucGItMTAwW2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy1ib3R0b206JT8xMDA/JX0ubXQtMTAwW2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLXRvcDolPzEwMD8lfS5wYi0xMTBbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLWJvdHRvbTolPzExMD8lfS5tdC0xMTBbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tdG9wOiU/MTEwPyV9LnBiLTEyMFtkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctYm90dG9tOiU/MTIwPyV9Lm10LTEyMFtkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi10b3A6JT8xMjA/JX0ucGItMTMwW2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy1ib3R0b206JT8xMzA/JX0ubXQtMTMwW2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLXRvcDolPzEzMD8lfS5wYi0xNDBbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLWJvdHRvbTolPzE0MD8lfS5tdC0xNDBbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tdG9wOiU/MTQwPyV9LnBiLTE1MFtkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctYm90dG9tOiU/MTUwPyV9Lm10LTE1MFtkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi10b3A6JT8xNTA/JX0ucGItMTYwW2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy1ib3R0b206JT8xNjA/JX0ubXQtMTYwW2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLXRvcDolPzE2MD8lfS5wYi0xNzBbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLWJvdHRvbTolPzE3MD8lfS5tdC0xNzBbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tdG9wOiU/MTcwPyV9LnBiLTE4MFtkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmctYm90dG9tOiU/MTgwPyV9Lm10LTE4MFtkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi10b3A6JT8xODA/JX0ucGItMTkwW2RhdGEtdi05NjZmZDZkOF17cGFkZGluZy1ib3R0b206JT8xOTA/JX0ubXQtMTkwW2RhdGEtdi05NjZmZDZkOF17bWFyZ2luLXRvcDolPzE5MD8lfS5wYi0yMDBbZGF0YS12LTk2NmZkNmQ4XXtwYWRkaW5nLWJvdHRvbTolPzIwMD8lfS5tdC0yMDBbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW4tdG9wOiU/MjAwPyV9LmlucHV0W2RhdGEtdi05NjZmZDZkOF17cGFkZGluZzowICU/MzA/JTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjA1KTtib3JkZXItcmFkaXVzOiU/MTI/JTtoZWlnaHQ6JT84OD8lO2xpbmUtaGVpZ2h0OiU/ODg/JTtwb3NpdGlvbjpyZWxhdGl2ZX0uaW5wdXQgLmlucHV0LXBsYWNlaG9sZGVyW2RhdGEtdi05NjZmZDZkOF17b3BhY2l0eTouNDtmb250LXdlaWdodDo0MDAhaW1wb3J0YW50fS5ib3gtc2hhZG93W2RhdGEtdi05NjZmZDZkOF17Ym94LXNoYWRvdzowIDAgMTBweCAwIHJnYmEoMCwwLDAsLjA2KX0uYm9yZGVyW2RhdGEtdi05NjZmZDZkOF17Ym9yZGVyOiU/Mj8lIHNvbGlkICM0ZDRkNGR9LmJvcmRlci10b3BbZGF0YS12LTk2NmZkNmQ4XXtib3JkZXItdG9wOiU/Mj8lIHNvbGlkICM0ZDRkNGR9LmJvcmRlci1ib3R0b21bZGF0YS12LTk2NmZkNmQ4XXtib3JkZXItYm90dG9tOiU/Mj8lIHNvbGlkICM0ZDRkNGR9LmJvcmRlci1ib3R0b20td2hpdGVbZGF0YS12LTk2NmZkNmQ4XXtib3JkZXItYm90dG9tOiU/Mj8lIHNvbGlkICNmM2YzZjN9LmJvcmRlci1yYWRpdXMtMTBbZGF0YS12LTk2NmZkNmQ4XXtib3JkZXItcmFkaXVzOiU/MTA/JSFpbXBvcnRhbnR9LmJvcmRlci1yYWRpdXMtMjBbZGF0YS12LTk2NmZkNmQ4XSwgLmRlcG9zaXRbZGF0YS12LTk2NmZkNmQ4XXtib3JkZXItcmFkaXVzOiU/MjA/JSFpbXBvcnRhbnR9LmJvcmRlci1yYWRpdXMtNTBwZXJbZGF0YS12LTk2NmZkNmQ4XXtib3JkZXItcmFkaXVzOjUwJSFpbXBvcnRhbnR9LnVuaS1pbnB1dC1wbGFjZWhvbGRlcltkYXRhLXYtOTY2ZmQ2ZDhde2NvbG9yOmhzbGEoMCwwJSw5OS42JSwuNSl9LmtlZnVbZGF0YS12LTk2NmZkNmQ4XXtwb3NpdGlvbjpmaXhlZDtyaWdodDolPzUwPyU7Ym90dG9tOjE2LjV2aDt6LWluZGV4OjEwO2JvcmRlci1yYWRpdXM6NTAlO2JveC1zaGFkb3c6MCAwIDE1cHggMCByZ2JhKDAsMCwwLC4xKTtiYWNrZ3JvdW5kLWNvbG9yOiMzMzM7d2lkdGg6JT83MD8lO2hlaWdodDolPzcwPyU7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5sb2dpbi1pbnB1dC1ncm91cFtkYXRhLXYtOTY2ZmQ2ZDhde2JvcmRlci1ib3R0b206JT8yPyUgc29saWQgaHNsYSgwLDAlLDEwMCUsLjIpO21hcmdpbi10b3A6JT81MD8lO3Bvc2l0aW9uOnJlbGF0aXZlfS5sb2dpbi1pbnB1dC1ncm91cCAubG9naW4taW5wdXRbZGF0YS12LTk2NmZkNmQ4XXtoZWlnaHQ6JT83MD8lO2xpbmUtaGVpZ2h0OiU/NzA/JTt3aWR0aDoxMDAlfS5sb2dpbi1pbnB1dC1ncm91cCAubGFiZWxbZGF0YS12LTk2NmZkNmQ4XXtvcGFjaXR5Oi43fS5ib3gtc2hhZG93W2RhdGEtdi05NjZmZDZkOF17Ym94LXNoYWRvdzowIDAgMTBweCAwIHJnYmEoMCwwLDAsLjEpfS5zdWJzZWN0aW9uIC5pdGVtW2RhdGEtdi05NjZmZDZkOF17cG9zaXRpb246cmVsYXRpdmU7cGFkZGluZy1ib3R0b206JT8xMD8lfS5zdWJzZWN0aW9uIC5pdGVtW2RhdGEtdi05NjZmZDZkOF06OmFmdGVye2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7Y29udGVudDoiIjtib3R0b206MDtsZWZ0OjUwJTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpO3dpZHRoOiU/MzA/JTtoZWlnaHQ6JT80PyU7YmFja2dyb3VuZC1jb2xvcjojZmZmfS5zdWJzZWN0aW9uIC5pdGVtLmFjdGl2ZVtkYXRhLXYtOTY2ZmQ2ZDhde2NvbG9yOiMyMjc3ZmN9LnN1YnNlY3Rpb24gLml0ZW0uYWN0aXZlW2RhdGEtdi05NjZmZDZkOF06OmFmdGVye2JhY2tncm91bmQtY29sb3I6IzIyNzdmY30uZC1ncmlkW2RhdGEtdi05NjZmZDZkOF17ZGlzcGxheTpncmlkfS5kLWdyaWQtY29sdW1ucy0yW2RhdGEtdi05NjZmZDZkOF17ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMiwxZnIpfS5kLWdyaWQtY29sdW1ucy0zW2RhdGEtdi05NjZmZDZkOF17ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMywxZnIpfS5kLWdyaWQtY29sdW1ucy00W2RhdGEtdi05NjZmZDZkOF17ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoNCwxZnIpfS5kLWdyaWQtY29sdW1ucy01W2RhdGEtdi05NjZmZDZkOF17ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoNSwxZnIpfS5hcnRpY2xlW2RhdGEtdi05NjZmZDZkOF17cGFkZGluZzolPzMwPyV9LmFydGljbGUgdW5pLXRleHRbZGF0YS12LTk2NmZkNmQ4XXtkaXNwbGF5OmJsb2NrO21hcmdpbi1ib3R0b206JT8yMD8lfWlmcmFtZVtkYXRhLXYtOTY2ZmQ2ZDhde2xlZnQ6MCFpbXBvcnRhbnQ7cmlnaHQ6MCFpbXBvcnRhbnQ7bWFyZ2luOjAgYXV0bzt0b3A6MCFpbXBvcnRhbnR9LnBvc2l0aW9uLXJlbGF0aXZlLXppbmRleC05OVtkYXRhLXYtOTY2ZmQ2ZDhde3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6OTl9LnN0YXR1c19iYXJbZGF0YS12LTk2NmZkNmQ4XXtoZWlnaHQ6MDt3aWR0aDoxMDAlfS5hZnRlci1ib3JkZXJbZGF0YS12LTk2NmZkNmQ4XXtwb3NpdGlvbjpyZWxhdGl2ZX0uYWZ0ZXItYm9yZGVyW2RhdGEtdi05NjZmZDZkOF06YWZ0ZXJ7cG9zaXRpb246YWJzb2x1dGU7Y29udGVudDoiIjt0b3A6MDtyaWdodDowO2JvdHRvbTowO3dpZHRoOiU/Mj8lO2JhY2tncm91bmQtY29sb3I6cmdiYSg1MSw1MSw1MSwuMSl9LmxvZ2luLWxvZ29bZGF0YS12LTk2NmZkNmQ4XXt0ZXh0LWFsaWduOmNlbnRlcjtwYWRkaW5nLXRvcDo0LjV2aH0ubG9naW4tbG9nbyB1bmktaW1hZ2VbZGF0YS12LTk2NmZkNmQ4XXt3aWR0aDoxN3ZoO2hlaWdodDoxN3ZoO2Rpc3BsYXk6YmxvY2s7Ym9yZGVyLXJhZGl1czolPzI0PyU7Ym94LXNoYWRvdzowIDAgJT8xMD8lIDAgcmdiYSgwLDAsMCwuMDUpO21hcmdpbjowIGF1dG99LnRhZy1wcmltYXJ5W2RhdGEtdi05NjZmZDZkOF17YmFja2dyb3VuZC1jb2xvcjojMjI3N2ZjO2NvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czolPzY/JTtmb250LXNpemU6JT8yMD8lO3BhZGRpbmc6JT80PyUgJT8xMD8lO2JvcmRlcjolPzI/JSBzb2xpZCAjMjI3N2ZjO2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXI6bm9uZTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgtMjI1ZGVnLCMyY2Q4ZDUsIzZiOGRkNiA0OCUsIzhlMzdkNyl9LnRhZy1lcnJvcltkYXRhLXYtOTY2ZmQ2ZDhdLCAudGFnLXBsYWluLWVycm9yW2RhdGEtdi05NjZmZDZkOF17YmFja2dyb3VuZC1jb2xvcjojZjA0YTVhO2NvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czolPzY/JTtmb250LXNpemU6JT8yMD8lO3BhZGRpbmc6JT80PyUgJT8xMD8lO2JvcmRlcjolPzI/JSBzb2xpZCAjZjA0YTVhO2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXI6bm9uZTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgyNzBkZWcsI2ZmMDg0NCAwLCNmZmIxOTkpfS50YWctc2Vjb25kYXJ5W2RhdGEtdi05NjZmZDZkOF17YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDUxLDUxLDUxLC4wNik7Y29sb3I6I2ZmZjtib3JkZXItcmFkaXVzOiU/Nj8lO2ZvbnQtc2l6ZTolPzIwPyU7cGFkZGluZzolPzQ/JSAlPzEwPyU7Ym9yZGVyOiU/Mj8lIHNvbGlkIHJnYmEoNTEsNTEsNTEsLjA2KTtib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyOm5vbmU7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoNDVkZWcsIzkzYTVjZiwjZTRlZmU5KX0udGFnLXdhcm5pbmdbZGF0YS12LTk2NmZkNmQ4XXtiYWNrZ3JvdW5kLWNvbG9yOiNkNGJhODM7Y29sb3I6I2ZmZjtib3JkZXItcmFkaXVzOiU/Nj8lO2ZvbnQtc2l6ZTolPzIwPyU7cGFkZGluZzolPzQ/JSAlPzEwPyU7Ym9yZGVyOiU/Mj8lIHNvbGlkICNkNGJhODM7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlcjpub25lO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDFkZWcsI2ZmY2M4ZiwjZmZlZGQ4KX0udGFnLXN1Y2Nlc3NbZGF0YS12LTk2NmZkNmQ4XSwgLnRhZy1wbGFpbi1zdWNjZXNzW2RhdGEtdi05NjZmZDZkOF17YmFja2dyb3VuZC1jb2xvcjojMjhiYTk4O2NvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czolPzY/JTtmb250LXNpemU6JT8yMD8lO3BhZGRpbmc6JT80PyUgJT8xMD8lO2JvcmRlcjolPzI/JSBzb2xpZCAjMjhiYTk4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXI6bm9uZTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgxMjBkZWcsIzg0ZmFiMCwjOGZkM2Y0KX0udGFnLXBsYWluLXN1Y2Nlc3NbZGF0YS12LTk2NmZkNmQ4XXtiYWNrZ3JvdW5kOm5vbmU7Y29sb3I6IzI4YmE5ODtib3JkZXI6JT8yPyUgc29saWQgIzI4YmE5OH0udGFnLXBsYWluLWVycm9yW2RhdGEtdi05NjZmZDZkOF17YmFja2dyb3VuZDpub25lO2NvbG9yOiNmMDRhNWE7Ym9yZGVyOiU/Mj8lIHNvbGlkICNmMDRhNWF9LmFsZXJ0W2RhdGEtdi05NjZmZDZkOF17Zm9udC1zaXplOiU/MjQ/JTtib3JkZXItcmFkaXVzOiU/MjA/JTtwYWRkaW5nOiU/MjA/JTtib3JkZXItcmFkaXVzOjVweH0uaW5wdXQtaXRlbVtkYXRhLXYtOTY2ZmQ2ZDhde3Bvc2l0aW9uOnJlbGF0aXZlfS5pbnB1dC1pdGVtIC5pbnB1dFtkYXRhLXYtOTY2ZmQ2ZDhde21hcmdpbi10b3A6JT8yMD8lfS5pbnB1dC1pdGVtIC5leWVbZGF0YS12LTk2NmZkNmQ4XXtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDolPzMwPyU7dG9wOjU2JX0uaW5wdXQtaXRlbSAuZ2V0LWNvZGVbZGF0YS12LTk2NmZkNmQ4XXtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDolPzMwPyU7dG9wOiU/Nzg/JTtoZWlnaHQ6JT81MD8lO2xpbmUtaGVpZ2h0OiU/NTA/JTtwYWRkaW5nOjAgJT8yMD8lO2JhY2tncm91bmQtY29sb3I6I2YwNGE1YTtib3JkZXItcmFkaXVzOiU/MTA/JTtjb2xvcjojZmZmfS5pbnB1dC1pdGVtIC5nZXQtY29kZS5zZW5kW2RhdGEtdi05NjZmZDZkOF17YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDUxLDUxLDUxLC4wNil9LnVwbG9hZC13cmFwW2RhdGEtdi05NjZmZDZkOF17YmFja2dyb3VuZDojNGQ0ZDRkO3dpZHRoOiU/MjQwPyU7aGVpZ2h0OiU/MjQwPyU7Ym9yZGVyLXJhZGl1czolPzEwPyU7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3RleHQtYWxpZ246Y2VudGVyO21hcmdpbjowIGF1dG87Ym9yZGVyOiU/Mj8lIHNvbGlkIHJnYmEoNTEsNTEsNTEsLjA2KTtvdmVyZmxvdzpoaWRkZW59LnJpZ2h0LWVudGVyW2RhdGEtdi05NjZmZDZkOF17LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMTAwJSwwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgxMDAlLDAsMCl9LnJpZ2h0LWxlYXZlLXRvW2RhdGEtdi05NjZmZDZkOF0sIC5yaWdodC1sZWF2ZVtkYXRhLXYtOTY2ZmQ2ZDhde2Rpc3BsYXk6bm9uZX0ucmlnaHQtZW50ZXItdG9bZGF0YS12LTk2NmZkNmQ4XXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfS5yaWdodC1lbnRlci1hY3RpdmVbZGF0YS12LTk2NmZkNmQ4XSxcclxuLnJpZ2h0LWxlYXZlLWFjdGl2ZVtkYXRhLXYtOTY2ZmQ2ZDhde3RyYW5zaXRpb246YWxsIC4zc30uZGVwb3NpdFtkYXRhLXYtOTY2ZmQ2ZDhde2NvbG9yOiMzMzM7cGFkZGluZzowICU/Mjg/JTtwYWRkaW5nLXRvcDolPzM4PyU7cG9zaXRpb246cmVsYXRpdmV9LmRlcG9zaXQgLmVhcm5pbmdzLXdyYXBbZGF0YS12LTk2NmZkNmQ4XXttYXJnaW46MCAlPy0yOD8lO21hcmdpbi10b3A6JT8zMD8lfS5kZXBvc2l0IC5lYXJuaW5ncy13cmFwIC5lYXJuaW5nc1tkYXRhLXYtOTY2ZmQ2ZDhde3BhZGRpbmc6JT8zMD8lICU/Mjg/JSAlPzI4PyUgJT8yOD8lO2JhY2tncm91bmQtY29sb3I6aHNsYSgwLDAlLDEwMCUsLjEpfS50cmFuc2l0aW9uW2RhdGEtdi05NjZmZDZkOF17dHJhbnNpdGlvbjphbGwgLjNzIGVhc2UgMHN9LndoaXRlLWNpcmNsZVtkYXRhLXYtOTY2ZmQ2ZDhde3dpZHRoOiU/ODA/JTtoZWlnaHQ6JT84MD8lO2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQtY29sb3I6I2ZmZjtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9LmZsZXgtMVtkYXRhLXYtOTY2ZmQ2ZDhde2ZsZXg6MX0ubG9naW4taGVhZC1iZ1tkYXRhLXYtOTY2ZmQ2ZDhde3Bvc2l0aW9uOmZpeGVkO3dpZHRoOjEwMHZ3O2hlaWdodDo1NC40dnc7dG9wOjA7bGVmdDowO3JpZ2h0OjB9LmxpbmVhci1ncmFkaWVudC10ZXh0W2RhdGEtdi05NjZmZDZkOF17YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoM2RlZywjZmZjYzhmLCNmZmVkZDgpOy13ZWJraXQtYmFja2dyb3VuZC1jbGlwOnRleHQ7Y29sb3I6dHJhbnNwYXJlbnR9LmxpbmVhci1ncmFkaWVudC1idXR0b25bZGF0YS12LTk2NmZkNmQ4XSwgLmRlcG9zaXRbZGF0YS12LTk2NmZkNmQ4XXtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxZGVnLCNmZmNjOGYsI2ZmZWRkOCl9LndyYXBwZXItYmdbZGF0YS12LTk2NmZkNmQ4XXtwb3NpdGlvbjpyZWxhdGl2ZX0ud3JhcHBlci1iZ1tkYXRhLXYtOTY2ZmQ2ZDhdOjphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtyaWdodDowO3RvcDowO2JvdHRvbTowO2JhY2tncm91bmQtaW1hZ2U6dXJsKCcrbysiKTtiYWNrZ3JvdW5kLXNpemU6Y29udGFpbjtiYWNrZ3JvdW5kLXBvc2l0aW9uOjEwMCUgdG9wO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdH0udS1sb2FkaW5nLWNpcmNsZVtkYXRhLXYtOTY2ZmQ2ZDhde2Rpc3BsYXk6aW5saW5lLWZsZXg7dmVydGljYWwtYWxpZ246bWlkZGxlO3dpZHRoOiU/Mjg/JTtoZWlnaHQ6JT8yOD8lO2JhY2tncm91bmQ6MCAwO2JvcmRlci1yYWRpdXM6NTAlO2JvcmRlcjoycHggc29saWQ7Ym9yZGVyLWNvbG9yOiNlNWU1ZTUgI2U1ZTVlNSAjZTVlNWU1ICM4ZjhkOGU7LXdlYmtpdC1hbmltYXRpb246dS1jaXJjbGUtZGF0YS12LTk2NmZkNmQ4IDFzIGxpbmVhciBpbmZpbml0ZTthbmltYXRpb246dS1jaXJjbGUtZGF0YS12LTk2NmZkNmQ4IDFzIGxpbmVhciBpbmZpbml0ZX0udS1sb2FkaW5nLWZsb3dlcltkYXRhLXYtOTY2ZmQ2ZDhde3dpZHRoOjIwcHg7aGVpZ2h0OjIwcHg7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtYW5pbWF0aW9uOmEgMXMgc3RlcHMoMTIpIGluZmluaXRlO2FuaW1hdGlvbjp1LWZsb3dlci1kYXRhLXYtOTY2ZmQ2ZDggMXMgc3RlcHMoMTIpIGluZmluaXRlO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQgdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIZHBaSFJvUFNJeE1qQWlJR2hsYVdkb2REMGlNVEl3SWlCMmFXVjNRbTk0UFNJd0lEQWdNVEF3SURFd01DSStQSEJoZEdnZ1ptbHNiRDBpYm05dVpTSWdaRDBpVFRBZ01HZ3hNREIyTVRBd1NEQjZJaTgrUEhKbFkzUWdkMmxrZEdnOUlqY2lJR2hsYVdkb2REMGlNakFpSUhnOUlqUTJMalVpSUhrOUlqUXdJaUJtYVd4c1BTSWpSVGxGT1VVNUlpQnllRDBpTlNJZ2NuazlJalVpSUhSeVlXNXpabTl5YlQwaWRISmhibk5zWVhSbEtEQWdMVE13S1NJdlBqeHlaV04wSUhkcFpIUm9QU0kzSWlCb1pXbG5hSFE5SWpJd0lpQjRQU0kwTmk0MUlpQjVQU0kwTUNJZ1ptbHNiRDBpSXprNE9UWTVOeUlnY25nOUlqVWlJSEo1UFNJMUlpQjBjbUZ1YzJadmNtMDlJbkp2ZEdGMFpTZ3pNQ0F4TURVdU9UZ2dOalVwSWk4K1BISmxZM1FnZDJsa2RHZzlJamNpSUdobGFXZG9kRDBpTWpBaUlIZzlJalEyTGpVaUlIazlJalF3SWlCbWFXeHNQU0lqT1VJNU9UbEJJaUJ5ZUQwaU5TSWdjbms5SWpVaUlIUnlZVzV6Wm05eWJUMGljbTkwWVhSbEtEWXdJRGMxTGprNElEWTFLU0l2UGp4eVpXTjBJSGRwWkhSb1BTSTNJaUJvWldsbmFIUTlJakl3SWlCNFBTSTBOaTQxSWlCNVBTSTBNQ0lnWm1sc2JEMGlJMEV6UVRGQk1pSWdjbmc5SWpVaUlISjVQU0kxSWlCMGNtRnVjMlp2Y20wOUluSnZkR0YwWlNnNU1DQTJOU0EyTlNraUx6NDhjbVZqZENCM2FXUjBhRDBpTnlJZ2FHVnBaMmgwUFNJeU1DSWdlRDBpTkRZdU5TSWdlVDBpTkRBaUlHWnBiR3c5SWlOQlFrRTVRVUVpSUhKNFBTSTFJaUJ5ZVQwaU5TSWdkSEpoYm5ObWIzSnRQU0p5YjNSaGRHVW9NVEl3SURVNExqWTJJRFkxS1NJdlBqeHlaV04wSUhkcFpIUm9QU0kzSWlCb1pXbG5hSFE5SWpJd0lpQjRQU0kwTmk0MUlpQjVQU0kwTUNJZ1ptbHNiRDBpSTBJeVFqSkNNaUlnY25nOUlqVWlJSEo1UFNJMUlpQjBjbUZ1YzJadmNtMDlJbkp2ZEdGMFpTZ3hOVEFnTlRRdU1ESWdOalVwSWk4K1BISmxZM1FnZDJsa2RHZzlJamNpSUdobGFXZG9kRDBpTWpBaUlIZzlJalEyTGpVaUlIazlJalF3SWlCbWFXeHNQU0lqUWtGQ09FSTVJaUJ5ZUQwaU5TSWdjbms5SWpVaUlIUnlZVzV6Wm05eWJUMGljbTkwWVhSbEtERTRNQ0ExTUNBMk5Ta2lMejQ4Y21WamRDQjNhV1IwYUQwaU55SWdhR1ZwWjJoMFBTSXlNQ0lnZUQwaU5EWXVOU0lnZVQwaU5EQWlJR1pwYkd3OUlpTkRNa013UXpFaUlISjRQU0kxSWlCeWVUMGlOU0lnZEhKaGJuTm1iM0p0UFNKeWIzUmhkR1VvTFRFMU1DQTBOUzQ1T0NBMk5Ta2lMejQ4Y21WamRDQjNhV1IwYUQwaU55SWdhR1ZwWjJoMFBTSXlNQ0lnZUQwaU5EWXVOU0lnZVQwaU5EQWlJR1pwYkd3OUlpTkRRa05DUTBJaUlISjRQU0kxSWlCeWVUMGlOU0lnZEhKaGJuTm1iM0p0UFNKeWIzUmhkR1VvTFRFeU1DQTBNUzR6TkNBMk5Ta2lMejQ4Y21WamRDQjNhV1IwYUQwaU55SWdhR1ZwWjJoMFBTSXlNQ0lnZUQwaU5EWXVOU0lnZVQwaU5EQWlJR1pwYkd3OUlpTkVNa1F5UkRJaUlISjRQU0kxSWlCeWVUMGlOU0lnZEhKaGJuTm1iM0p0UFNKeWIzUmhkR1VvTFRrd0lETTFJRFkxS1NJdlBqeHlaV04wSUhkcFpIUm9QU0kzSWlCb1pXbG5hSFE5SWpJd0lpQjRQU0kwTmk0MUlpQjVQU0kwTUNJZ1ptbHNiRDBpSTBSQlJFRkVRU0lnY25nOUlqVWlJSEo1UFNJMUlpQjBjbUZ1YzJadmNtMDlJbkp2ZEdGMFpTZ3ROakFnTWpRdU1ESWdOalVwSWk4K1BISmxZM1FnZDJsa2RHZzlJamNpSUdobGFXZG9kRDBpTWpBaUlIZzlJalEyTGpVaUlIazlJalF3SWlCbWFXeHNQU0lqUlRKRk1rVXlJaUJ5ZUQwaU5TSWdjbms5SWpVaUlIUnlZVzV6Wm05eWJUMGljbTkwWVhSbEtDMHpNQ0F0TlM0NU9DQTJOU2tpTHo0OEwzTjJaejQ9KSBuby1yZXBlYXQ7YmFja2dyb3VuZC1zaXplOjEwMCV9QC13ZWJraXQta2V5ZnJhbWVzIHUtZmxvd2VyLWRhdGEtdi05NjZmZDZkOHswJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgwZGVnKX10b3std2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMXR1cm4pO3RyYW5zZm9ybTpyb3RhdGUoMXR1cm4pfX1Aa2V5ZnJhbWVzIHUtZmxvd2VyLWRhdGEtdi05NjZmZDZkOHswJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgwZGVnKX10b3std2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMXR1cm4pO3RyYW5zZm9ybTpyb3RhdGUoMXR1cm4pfX1ALXdlYmtpdC1rZXlmcmFtZXMgdS1jaXJjbGUtZGF0YS12LTk2NmZkNmQ4ezAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgwKTt0cmFuc2Zvcm06cm90YXRlKDApfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDF0dXJuKTt0cmFuc2Zvcm06cm90YXRlKDF0dXJuKX19IiwiIl0pLHQuZXhwb3J0cz1kfSxiYzY3OmZ1bmN0aW9uKHQsZCxhKXsidXNlIHN0cmljdCI7YS5yKGQpO3ZhciBpPWEoImZhNjAiKSxuPWEoIjI1NmMiKTtmb3IodmFyIHIgaW4gbilbImRlZmF1bHQiXS5pbmRleE9mKHIpPDAmJmZ1bmN0aW9uKHQpe2EuZChkLHQsKGZ1bmN0aW9uKCl7cmV0dXJuIG5bdF19KSl9KHIpO3ZhciBvPWEoIjgyOGIiKSxwPU9iamVjdChvWyJhIl0pKG5bImRlZmF1bHQiXSxpWyJiIl0saVsiYyJdLCExLG51bGwsIjNjN2RiY2MwIixudWxsLCExLGlbImEiXSx2b2lkIDApO2RbImRlZmF1bHQiXT1wLmV4cG9ydHN9LGMxYTM6ZnVuY3Rpb24odCxkLGEpeyJ1c2Ugc3RyaWN0IjthKCIxNWFiIil9LGM4ZDA6ZnVuY3Rpb24odCxkLGEpeyJ1c2Ugc3RyaWN0IjthLnIoZCk7dmFyIGk9YSgiMDJkZiIpLG49YSgiNjMyYSIpO2Zvcih2YXIgciBpbiBuKVsiZGVmYXVsdCJdLmluZGV4T2Yocik8MCYmZnVuY3Rpb24odCl7YS5kKGQsdCwoZnVuY3Rpb24oKXtyZXR1cm4gblt0XX0pKX0ocik7YSgiM2ViMCIpO3ZhciBvPWEoIjgyOGIiKSxwPU9iamVjdChvWyJhIl0pKG5bImRlZmF1bHQiXSxpWyJiIl0saVsiYyJdLCExLG51bGwsIjk2NmZkNmQ4IixudWxsLCExLGlbImEiXSx2b2lkIDApO2RbImRlZmF1bHQiXT1wLmV4cG9ydHN9LGUwNjI6ZnVuY3Rpb24odCxkLGEpeyJ1c2Ugc3RyaWN0Ijt2YXIgaT1hKCI4YmRiIik7aSh7dGFyZ2V0OiJOdW1iZXIiLHN0YXQ6ITAsbm9uQ29uZmlndXJhYmxlOiEwLG5vbldyaXRhYmxlOiEwfSx7TUFYX1NBRkVfSU5URUdFUjo5MDA3MTk5MjU0NzQwOTkxfSl9LGZhNjA6ZnVuY3Rpb24odCxkLGEpeyJ1c2Ugc3RyaWN0IjthLmQoZCwiYiIsKGZ1bmN0aW9uKCl7cmV0dXJuIG59KSksYS5kKGQsImMiLChmdW5jdGlvbigpe3JldHVybiByfSkpLGEuZChkLCJhIiwoZnVuY3Rpb24oKXtyZXR1cm4gaX0pKTt2YXIgaT17dUxvYWRpbmc6YSgiYzhkMCIpLmRlZmF1bHR9LG49ZnVuY3Rpb24oKXt2YXIgdD10aGlzLiRjcmVhdGVFbGVtZW50LGQ9dGhpcy5fc2VsZi5fY3x8dDtyZXR1cm4gZCgidi11bmktdmlldyIse3N0YXRpY0NsYXNzOiJ3LTEwMCBoLTEwMCBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIifSxbZCgidS1sb2FkaW5nIix7c3RhdGljQ2xhc3M6Im14LWF1dG8iLGF0dHJzOnttb2RlOiJmbG93ZXIiLGNvbG9yOiJyZ2JhKDI1NSwyNTUsMjU1LC44KSIsc2l6ZToiNTAifX0pXSwxKX0scj1bXX19XSk7"}},"time_used":226,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":226,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null},{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"futurbcvndf.com/static/js/pages-index-index.02ee1a22.js","fqdn":"futurbcvndf.com","domain":"futurbcvndf.com","tld":"com"},"ip":{"addr":"172.67.130.50","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://futurbcvndf.com/","date":"2026-07-27T06:23:01.040Z","timestamp":1785133381040,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"futurbcvndf.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 16 Jul 2026 16:36:02 GMT","end":"Wed, 14 Oct 2026 16:36:01 GMT"},"fingerprint":{"sha1":"46:2D:5F:F0:3D:BD:73:19:93:72:79:62:4A:45:03:09:5D:FB:1E:A5","sha256":"35:31:C4:67:1D:DB:68:C3:FB:49:03:14:DD:4E:76:FE:13:53:8D:98:98:2E:BE:EA:B8:CA:4F:B6:5B:7E:5C:1D"}}},"request":{"raw":"GET /static/js/pages-index-index.02ee1a22.js HTTP/1.1\r\nHost: futurbcvndf.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://futurbcvndf.com/\r\nCookie: angela_session=eyJpdiI6IlhnUEZEQ1hLNngxS0t2ZGN3TnJjV1E9PSIsInZhbHVlIjoiVGlYZUpmMXVPdEhuTGtoQzhTS3VXM3BIN3J4ZDZnU2dNTWxTc0NRcHNMTXFyNm1wQTZEQ0RKTWJ0UjRERWZ5aDBaQWxVaVdmN0VVQkNna0M2ZTJ2dTdFZkx3amdIYjZlQzEzMHozajVqTzMybnhMOHo1bEpuaXdQM1R3UVN4QmQiLCJtYWMiOiJiZWIyMTJlYzc4OWUzODk0ODBiOTI5NmU0MjA2MDBmZjJmYzA2MTI3ZjViNmY4NWYxNzIyNDI4MDhhYWMzZmI4In0%3D\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\nserver: cloudflare\r\ndate: Mon, 27 Jul 2026 06:23:01 GMT\r\ncontent-type: application/javascript\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=3,i=?0\r\nlast-modified: Mon, 01 Sep 2025 08:27:13 GMT\r\nvary: Accept-Encoding\r\netag: \"68b558e1-9bd0c\"\r\nstrict-transport-security: max-age=31536000\r\ncontent-encoding: gzip\r\ncache-control: max-age=14400\r\ncf-cache-status: REVALIDATED\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=16PGR%2F%2BqE0tiW%2BYzTO1DBeGPuUwjAWHyIjlMb4LZSxf1KAAnZri0TUQFc6SE41oKrLd0pGnlqpzKER9lK14%2Fbic2woSE6lp3RvXvsv0AS9VVCY1WBekNdJ%2FAO3F3KmcMhxc%3D\"}]}\r\ncf-ray: a2198d8f89360daa-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":638220,"size_decoded":179078,"mime_type":"application/javascript","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (65336), with no line terminators","md5":"a37f181f5097a9f335821f5508677082","sha1":"7bdea39e33cefca4ebf3628f38f707dc3db98d37","sha256":"7233bf2cc196af87b90defb71117b6a9a6cb9bb991b58054733a2581be3adf9b","sha512":"2cd72dcea8e59ad92c90305c89d2611dc223743d6dbf46c73f897533b1063bc2c65cdaea0c6bf34fc07b10ac68b2278b69f4d6c9f2a014eedcf4e446e09ed790","ssdeep":"6144:XegQDxMIxR2uDxn8SrUGMTN0vP0sqD/mLjss8j4C9HRp:ugQDxMID2uDl10sqDuXss8j4C9Hv","tlshash":"0bd494d6f6cc20058277c315d44b62fc9e3aad339206ac51e6a6ffb14e165ca3719b2c","first_seen":"2026-04-17T07:46:54.355933Z","last_seen":"2026-07-27T06:23:39.762158Z","times_seen":81,"resource_available":true,"data":"KHdpbmRvd1sid2VicGFja0pzb25wIl09d2luZG93WyJ3ZWJwYWNrSnNvbnAiXXx8W10pLnB1c2goW1sicGFnZXMtaW5kZXgtaW5kZXgiXSx7IjAxMmMiOmZ1bmN0aW9uKHQsYSl7dC5leHBvcnRzPSJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNRQUFBQXBDQVlBQUFCZG5vdEdBQUFGV1VsRVFWUlloYTJZYTZnVlZSVEhmK3Qwek5SRUlTTlRlcUJaZXBNb0tST0ZvcWRoRHlnc2xBaWk4a3NoSmxsSWxGRWg5c0pJS2pKSUNxcWJGR1pLS09TSHlpQ0pMQzJ4c3F0RkZBcFJWL09OM3ZPUFBiTm56c3ljUGVmTUxlRWNaczNhYSsvMTMrdTExeDdUenJXQXhYOHJQRk1lV1Y0ZHN5bGcxNEZOeFJnTGRpN21CT3dnOEN0bTM0QjlBZlk1OEdPNlJuWTlzcnptdTZsblRSaE1DaUFGY3lWbTg4Q3VCeHNTR0c5VkdOTzd3TjdEN0hsZ2IxTXVETXJVODFFYkMwWEt1c0FXWW5aWFJtNGoyR2JNdGtRV3dmWmd0ZzlzS05oWkdKZUNqUU9iaHRrRXY5QlJ6QjRCbHJWdXBBbks5UFBxRWd0RlFyUEF1ajN2RUdZcndGNEM2eW5JQlZ5ZDhxL0ZjSmE5eWN0c0F1YUFiV3VDYWxxckJpTDZLM2syZ0laN2Z3UFU3Y2RlQnAySk5CZlVrNWN2ME1YMTBBYkV6YUJMUUQ4Z1RRRjlEN296UWhESjRXVWRJR1ZCTkpMRjNnZmQ0NVhOQXMxRitxY1NnREFvOTlzQzZnSzlHclAwTnVqK0lxaUFoYlFVTkJQcEVPZ0swTXArQTRoQVV6YitBT2dwRCtRVjBJM05NYWhIaEtVQUg4S1lIODAzTGtkc1M5MnJ3alBabVl1QkhDOUFKd2FJWktPWEp6QU9BMHNRYXpBYkFlcDFjclVNOG5HZzV6dzlBMmxicVRWU04vY3Jsb3IwTThDSElCYzJHNXN1YXk2OENza0JkTTkxcFVxU2VLdml0bkFzWmZtM2dmNEFYWWljNjVvV2NwRS9FYlRQQjNHSmtrYTVOVXBqcVNQQStaNWU3dmhKREMzMi9uNFdPSmIzZlJJblZoNHZMYkhTSnBaYVkyMFZzdDJZUmdPem5ZWEdJbDN0a1MrdjVJWktMbXBVemNBKzBLT2VudTBDNm5ZLytDN29iOURneXFEK0U5RGdPbS9HbnRGMFo2SHhmdkJpcE45QkI2TkFrMTVzdTh2L2w0RmpRR3Q5clRzRzJvUWlvUUYxMEJuZXAxM2V6MzNBS0l3SEVaTXhwZ1ZqSThoVDh6d3JqNXNKaUM4eGhubWVvcG9YMDczT1phUDlibjlDY3VYOXBNeE9waUpYM3F2RVMrVU1YQTBhbHBFenBCMStoME5xd0hsK2NMRjNXOUVkaThwOTM4Z0hiK2VZT3h0MGZrRE84VDRCbmV6U2ZoREdBZUNtRWpPUHdGd0JqYXBoNTVSdW4rNFh4TFI4R2NuSm5lS2VkVitjam1OTURwOC9XRlRSelFOcWlaZUs5VWgrTFRKZzh1REhPN3J1WnpzTGpDdzVJR3NScExLZHR6MThXNEsrTDIzZVd0Y1lIbHRJZnNSVVZrbjdYNG5iWm1CNzhFay8xRURhVTVJbDZsZlJ5L0ZhR3I5Nm13emM2K2lhWnd3QnZtcFZFT0U1SHB1NnZ3MWFzQ000MENZRGQrRTd4dStRQmtSOVNWakI1bW9BQ25VcHJQamJOaHNhR1Z2SU5XWHh3RXpncjREU2V6c0RxT3pLUTBqTEFrRDNnODZCeGxIbnNuZEE4LzNBYVJraElkME4ybDdwZ0t3Q09uN09BNjBvOElaR0xwYTJtcll1VDFMaU1zemNtVEljN0UvTTFvSDlWbnIzS3IyUGxkMW1XK1NtZzAzRU9BcTJDTFBUd1o0MGJYa3RkUDB0dTA1M1Zwb0YyeFpVT244UVpyMWdBOEZHSlpXNlVBOThrVGdSZFNsVU9NbmRWalloQm1LNHE5SHVlanBMdmpnR2xZY0FCdVNyYk1DVWJVK1dJaTdDT0lKNG11aGVsczRvS21rSDhBUlVjNWdSTmZneDcxYU00MUE4T2tKSzBzWDlhbFdVZHJLYXVBSDQyTk9MTWRZWGo0NU02cEtueTlJNmNXSFZ1dFNrRjBKNjczc0I5RmhXcnBaM1dRR1VpcUNDQU4xOTdwcU9kU24rZXZJNmFJbm5MUU05WEp4VHl5bktnU3BiUEFkcVpmUnBSZG9BMmdtYUZMREtjS1RIUWI5QVk0N24zWWMwcjdWd05taE5leXpUS3JRTjhHN0VIWmtNSElQeEdUQUoyV0RNV1MzcVFxL0t4Skw3WExjQTBWTVdhODBzeXlwTkRWYVdkZGFGdVN0M1M5Q2VpckVqd0YrRjhRR2l1MU1HMW5OdmFTWjF0TTdRRGhsNHhCZTg5Umh2QVh1QzlTd0FxcDRyVmdtM3hXWEp4R1NNcitOdmhKb1lXSFFHOENteXcya1gyc0VxOFhoc0VOOERaWUk2Rjl5bEdkaUhkQXV3SGJRL2JoL29CUzN3bjNJT3R5MEJaUW1EK0JjdzlZK0Exd0N4WUFBQUFBQkpSVTVFcmtKZ2dnPT0ifSwiMDNkNCI6ZnVuY3Rpb24odCxhLGkpe3ZhciBlPWkoImM4NmMiKTthPWUoITEpLGEucHVzaChbdC5pLCIuY29udGFpbmVyW2RhdGEtdi00ZTFjMWJmYV17d2lkdGg6MzBweDtoZWlnaHQ6MzBweDtwb3NpdGlvbjpyZWxhdGl2ZX0uY29udGFpbmVyLmxvYWRpbmczW2RhdGEtdi00ZTFjMWJmYV17LXdlYmtpdC1hbmltYXRpb246cm90YXRpb24gMXMgaW5maW5pdGU7YW5pbWF0aW9uOnJvdGF0aW9uIDFzIGluZmluaXRlfS5jb250YWluZXIubG9hZGluZzMgLnNoYXBlMVtkYXRhLXYtNGUxYzFiZmFde2JvcmRlci10b3AtbGVmdC1yYWRpdXM6MTBweH0uY29udGFpbmVyLmxvYWRpbmczIC5zaGFwZTJbZGF0YS12LTRlMWMxYmZhXXtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czoxMHB4fS5jb250YWluZXIubG9hZGluZzMgLnNoYXBlM1tkYXRhLXYtNGUxYzFiZmFde2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6MTBweH0uY29udGFpbmVyLmxvYWRpbmczIC5zaGFwZTRbZGF0YS12LTRlMWMxYmZhXXtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czoxMHB4fS5jb250YWluZXIgLnNoYXBlW2RhdGEtdi00ZTFjMWJmYV17cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTBweDtoZWlnaHQ6MTBweDtib3JkZXItcmFkaXVzOjFweH0uY29udGFpbmVyIC5zaGFwZS5zaGFwZTFbZGF0YS12LTRlMWMxYmZhXXtsZWZ0OjA7YmFja2dyb3VuZC1jb2xvcjojMTg5MGZmfS5jb250YWluZXIgLnNoYXBlLnNoYXBlMltkYXRhLXYtNGUxYzFiZmFde3JpZ2h0OjA7YmFja2dyb3VuZC1jb2xvcjojOTFjYjc0fS5jb250YWluZXIgLnNoYXBlLnNoYXBlM1tkYXRhLXYtNGUxYzFiZmFde2JvdHRvbTowO2JhY2tncm91bmQtY29sb3I6I2ZhYzg1OH0uY29udGFpbmVyIC5zaGFwZS5zaGFwZTRbZGF0YS12LTRlMWMxYmZhXXtib3R0b206MDtyaWdodDowO2JhY2tncm91bmQtY29sb3I6I2U2Nn0ubG9hZGluZzMgLnNoYXBlMVtkYXRhLXYtNGUxYzFiZmFdey13ZWJraXQtYW5pbWF0aW9uOmFuaW1hdGlvbjNzaGFwZTEtZGF0YS12LTRlMWMxYmZhIC41cyBlYXNlIDBzIGluZmluaXRlIGFsdGVybmF0ZTthbmltYXRpb246YW5pbWF0aW9uM3NoYXBlMS1kYXRhLXYtNGUxYzFiZmEgLjVzIGVhc2UgMHMgaW5maW5pdGUgYWx0ZXJuYXRlfUAtd2Via2l0LWtleWZyYW1lcyBhbmltYXRpb24zc2hhcGUxLWRhdGEtdi00ZTFjMWJmYXtmcm9tey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlKDApfXRvey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSg1cHgsNXB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlKDVweCw1cHgpfX1Aa2V5ZnJhbWVzIGFuaW1hdGlvbjNzaGFwZTEtZGF0YS12LTRlMWMxYmZhe2Zyb217LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDApO3RyYW5zZm9ybTp0cmFuc2xhdGUoMCl9dG97LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDVweCw1cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGUoNXB4LDVweCl9fS5sb2FkaW5nMyAuc2hhcGUyW2RhdGEtdi00ZTFjMWJmYV17LXdlYmtpdC1hbmltYXRpb246YW5pbWF0aW9uM3NoYXBlMi1kYXRhLXYtNGUxYzFiZmEgLjVzIGVhc2UgMHMgaW5maW5pdGUgYWx0ZXJuYXRlO2FuaW1hdGlvbjphbmltYXRpb24zc2hhcGUyLWRhdGEtdi00ZTFjMWJmYSAuNXMgZWFzZSAwcyBpbmZpbml0ZSBhbHRlcm5hdGV9QC13ZWJraXQta2V5ZnJhbWVzIGFuaW1hdGlvbjNzaGFwZTItZGF0YS12LTRlMWMxYmZhe2Zyb217LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDApO3RyYW5zZm9ybTp0cmFuc2xhdGUoMCl9dG97LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKC01cHgsNXB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlKC01cHgsNXB4KX19QGtleWZyYW1lcyBhbmltYXRpb24zc2hhcGUyLWRhdGEtdi00ZTFjMWJmYXtmcm9tey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlKDApfXRvey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNXB4LDVweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNXB4LDVweCl9fS5sb2FkaW5nMyAuc2hhcGUzW2RhdGEtdi00ZTFjMWJmYV17LXdlYmtpdC1hbmltYXRpb246YW5pbWF0aW9uM3NoYXBlMy1kYXRhLXYtNGUxYzFiZmEgLjVzIGVhc2UgMHMgaW5maW5pdGUgYWx0ZXJuYXRlO2FuaW1hdGlvbjphbmltYXRpb24zc2hhcGUzLWRhdGEtdi00ZTFjMWJmYSAuNXMgZWFzZSAwcyBpbmZpbml0ZSBhbHRlcm5hdGV9QC13ZWJraXQta2V5ZnJhbWVzIGFuaW1hdGlvbjNzaGFwZTMtZGF0YS12LTRlMWMxYmZhe2Zyb217LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDApO3RyYW5zZm9ybTp0cmFuc2xhdGUoMCl9dG97LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDVweCwtNXB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlKDVweCwtNXB4KX19QGtleWZyYW1lcyBhbmltYXRpb24zc2hhcGUzLWRhdGEtdi00ZTFjMWJmYXtmcm9tey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlKDApfXRvey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSg1cHgsLTVweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSg1cHgsLTVweCl9fS5sb2FkaW5nMyAuc2hhcGU0W2RhdGEtdi00ZTFjMWJmYV17LXdlYmtpdC1hbmltYXRpb246YW5pbWF0aW9uM3NoYXBlNC1kYXRhLXYtNGUxYzFiZmEgLjVzIGVhc2UgMHMgaW5maW5pdGUgYWx0ZXJuYXRlO2FuaW1hdGlvbjphbmltYXRpb24zc2hhcGU0LWRhdGEtdi00ZTFjMWJmYSAuNXMgZWFzZSAwcyBpbmZpbml0ZSBhbHRlcm5hdGV9QC13ZWJraXQta2V5ZnJhbWVzIGFuaW1hdGlvbjNzaGFwZTQtZGF0YS12LTRlMWMxYmZhe2Zyb217LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDApO3RyYW5zZm9ybTp0cmFuc2xhdGUoMCl9dG97LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKC01cHgsLTVweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNXB4LC01cHgpfX1Aa2V5ZnJhbWVzIGFuaW1hdGlvbjNzaGFwZTQtZGF0YS12LTRlMWMxYmZhe2Zyb217LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDApO3RyYW5zZm9ybTp0cmFuc2xhdGUoMCl9dG97LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKC01cHgsLTVweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNXB4LC01cHgpfX0iLCIiXSksdC5leHBvcnRzPWF9LCIwY2EyIjpmdW5jdGlvbih0LGEsaSl7InVzZSBzdHJpY3QiO2kucihhKTt2YXIgZT1pKCI4ZDRlIiksbj1pKCJkMDg4Iik7Zm9yKHZhciByIGluIG4pWyJkZWZhdWx0Il0uaW5kZXhPZihyKTwwJiZmdW5jdGlvbih0KXtpLmQoYSx0LChmdW5jdGlvbigpe3JldHVybiBuW3RdfSkpfShyKTtpKCI2NmRkIik7dmFyIG89aSgiODI4YiIpLGQ9T2JqZWN0KG9bImEiXSkoblsiZGVmYXVsdCJdLGVbImIiXSxlWyJjIl0sITEsbnVsbCwiNzZjYTNmNDMiLG51bGwsITEsZVsiYSJdLHZvaWQgMCk7YVsiZGVmYXVsdCJdPWQuZXhwb3J0c30sIjBjZjgiOmZ1bmN0aW9uKHQsYSxpKXsidXNlIHN0cmljdCI7aS5kKGEsImIiLChmdW5jdGlvbigpe3JldHVybiBlfSkpLGkuZChhLCJjIiwoZnVuY3Rpb24oKXtyZXR1cm4gbn0pKSxpLmQoYSwiYSIsKGZ1bmN0aW9uKCl7fSkpO3ZhciBlPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy4kY3JlYXRlRWxlbWVudCxhPXRoaXMuX3NlbGYuX2N8fHQ7cmV0dXJuIGEoInYtdW5pLXZpZXciLHtzdGF0aWNDbGFzczoiY29udGFpbmVyIGxvYWRpbmczIn0sW2EoInYtdW5pLXZpZXciLHtzdGF0aWNDbGFzczoic2hhcGUgc2hhcGUxIn0pLGEoInYtdW5pLXZpZXciLHtzdGF0aWNDbGFzczoic2hhcGUgc2hhcGUyIn0pLGEoInYtdW5pLXZpZXciLHtzdGF0aWNDbGFzczoic2hhcGUgc2hhcGUzIn0pLGEoInYtdW5pLXZpZXciLHtzdGF0aWNDbGFzczoic2hhcGUgc2hhcGU0In0pXSwxKX0sbj1bXX0sIjE1OWQiOmZ1bmN0aW9uKHQsYSl7dC5leHBvcnRzPSJkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhNZ0F5QVBmL0FQSEYwUUEyZE5CQllnQkhnTWdmUnY3Nis3NFJPWHlodmtsOXBTMXJtQUJBZXRKWmRScGNqcEd3eVFCQ2ZBQklnREZ0bXZ6eTlRQlJpaVpsbGNVcVRzUkNZak53bmVIcThDTkNkd0E4ZUZtSnJqbHpuZ0F5Y2V1c3VnQStlbUdQc1FCRmZtV1J0SWFwd3c1VGlNTUFKVnFCcHdBMGN2bmw2UWxSaHdCR2YrT1NwUUE2ZGdBNGRsMkNxQ1U4Y1lDa3dBSk9oZi8rLzlZL2FmZmk1L2JmNWZiZDQwRjNvVldGcTVtM3pYS2F1YzhlUkxuTjNBQkxndDFuaGNvZlE2bkMxUUE0ZFZ5THJnQk9pU0ppa2xHRHFnQXBheWhubHN3cFRmclc0RDkyb0FaT2hSczZjSXFzeFVWN280S213M3FmdlF4U2h6UnZtMnFWdGsrQ3FjTW1TcmduVEJWYWpTcG9sd3BPaE1ZdVVCNWdrY2dUT1A3MSt1YVVydi83L2NJZVJMa0JLK09LcGJzRExyOFZQUC84L3RWYmZjRWVRN3NJTWUyOXllbXV2TmhuaGJrQUtjSWdSZGxyaXJnQUo4UWVTUFROM1Azcjlyd0pNczgvYXNNZlIvYlY0TTlJYlB2dTg3c0dMd0ErZVFCQmZBQkpnUUFyYkdTSXJHU0pyQUE3ZVA3NS9BQkRmUUpNZzJTSnJmejE5MitZdUx3Rk1ONkZtY2tqU2dKTGc4VVVPc28vWDkrRm5VTjVvc3d1VXY3OC9QTFAyUG42L1AvOS91eXV3ZDFwaVplMXpNOUpiZjcwK3Z6cTlhVy8wdDk5bEFBdmI5WmRlZEpMY3dKRWZldTB3Zlg0K3NRSEx4NWZrT0dNb3RsMGpBQktoZWlxdUI0NWNDZEFkT3l1dS9qZTU5Vm5nUHJ0OFA3eStmUFQyOHBlZW55VnR3eGFqd0F3ZEtiQTA2aTJ6T251OHpSbmxRQXhjS2kvMHRXQWxuZWV2UHZ2OU1Bd1VnOVZpZmpPM1BmTzNmZm02Z0E5ZVNCZmtBSStlWEZ5bHdOSWdjazRXWk95eXZycjhETnJtSHFDcFRscW1EQnVuRGR1bk9YcDhPWHM4a1p5bnNnUE5oQk5nd0pGZnQ1L211RG43N0hJMlNOSmZRUWlYaXhHZTA5NG8yR0ZxdUNMbjFwL3Byc3hWRkdGcTUrN3oxZUdySis3MERWMG44QUFKM21adUtDODBLQzB5OXQ1a1BQMitWK0hyR21RczJtVHRHeU5zTTNZNU0vZDV5OWVqZFpvZ1N0aGt1U3R1MGg4cFE0MWNxckMxYXZEMXB5NHpwNjV6OFFRTjB4L3B5QTRicmtBS3YvLy8vLy8veUgvQzFoTlVDQkVZWFJoV0UxUVBEOTRjR0ZqYTJWMElHSmxaMmx1UFNMdnU3OGlJR2xrUFNKWE5VMHdUWEJEWldocFNIcHlaVk42VGxSamVtdGpPV1FpUHo0Z1BIZzZlRzF3YldWMFlTQjRiV3h1Y3pwNFBTSmhaRzlpWlRwdWN6cHRaWFJoTHlJZ2VEcDRiWEIwYXowaVFXUnZZbVVnV0UxUUlFTnZjbVVnTlM0MkxXTXhORGdnTnprdU1UWTBNRE0yTENBeU1ERTVMekE0THpFekxUQXhPakEyT2pVM0lDQWdJQ0FnSUNBaVBpQThjbVJtT2xKRVJpQjRiV3h1Y3pweVpHWTlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5MekU1T1Rrdk1ESXZNakl0Y21SbUxYTjViblJoZUMxdWN5TWlQaUE4Y21SbU9rUmxjMk55YVhCMGFXOXVJSEprWmpwaFltOTFkRDBpSWlCNGJXeHVjenA0YlhCTlRUMGlhSFIwY0RvdkwyNXpMbUZrYjJKbExtTnZiUzk0WVhBdk1TNHdMMjF0THlJZ2VHMXNibk02YzNSU1pXWTlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2ZUdGd0x6RXVNQzl6Vkhsd1pTOVNaWE52ZFhKalpWSmxaaU1pSUhodGJHNXpPbmh0Y0QwaWFIUjBjRG92TDI1ekxtRmtiMkpsTG1OdmJTOTRZWEF2TVM0d0x5SWdlRzF3VFUwNlQzSnBaMmx1WVd4RWIyTjFiV1Z1ZEVsRVBTSjRiWEF1Wkdsa09qUTROREUwTnpJM0xUWXlNemd0TkdRMVpDMWhZakF4TFdKa05UWXhObUl5WWpNNFl5SWdlRzF3VFUwNlJHOWpkVzFsYm5SSlJEMGllRzF3TG1ScFpEcEVNelJGUlVRd1F6SkdSVEl4TVVWRFFqSTBRMFpET0RNd00wRXdOVEpGTVNJZ2VHMXdUVTA2U1c1emRHRnVZMlZKUkQwaWVHMXdMbWxwWkRwRU16UkZSVVF3UWpKR1JUSXhNVVZEUWpJMFEwWkRPRE13TTBFd05USkZNU0lnZUcxd09rTnlaV0YwYjNKVWIyOXNQU0pCWkc5aVpTQlFhRzkwYjNOb2IzQWdNakl1TkNBb1RXRmphVzUwYjNOb0tTSStJRHg0YlhCTlRUcEVaWEpwZG1Wa1JuSnZiU0J6ZEZKbFpqcHBibk4wWVc1alpVbEVQU0o0YlhBdWFXbGtPak14WkRjNU9EYzBMV1ZpWWpFdE5ERTVPUzFoTmpBeExXTTJabU5pTnpBNVptTTFPU0lnYzNSU1pXWTZaRzlqZFcxbGJuUkpSRDBpZUcxd0xtUnBaRG8wT0RReE5EY3lOeTAyTWpNNExUUmtOV1F0WVdJd01TMWlaRFUyTVRaaU1tSXpPR01pTHo0Z1BDOXlaR1k2UkdWelkzSnBjSFJwYjI0K0lEd3ZjbVJtT2xKRVJqNGdQQzk0T25odGNHMWxkR0UrSUR3L2VIQmhZMnRsZENCbGJtUTlJbklpUHo0Qi8vNzkvUHY2K2ZqMzl2WDA4L0x4OE8vdTdlenI2dW5vNStibDVPUGk0ZURmM3QzYzI5cloyTmZXMWRUVDB0SFF6ODdOek12S3ljakh4c1hFdzhMQndMKyt2Ynk3dXJtNHQ3YTF0TE95c2JDdnJxMnNxNnFwcUtlbXBhU2pvcUdnbjU2ZG5KdWFtWmlYbHBXVWs1S1JrSStPall5TGlvbUloNGFGaElPQ2dZQi9mbjE4ZTNwNWVIZDJkWFJ6Y25Gd2IyNXRiR3RxYVdoblptVmtZMkpoWUY5ZVhWeGJXbGxZVjFaVlZGTlNVVkJQVGsxTVMwcEpTRWRHUlVSRFFrRkFQejQ5UERzNk9UZzNOalUwTXpJeE1DOHVMU3dyS2lrb0p5WWxKQ01pSVNBZkhoMGNHeG9aR0JjV0ZSUVRFaEVRRHc0TkRBc0tDUWdIQmdVRUF3SUJBQUFoK1FRQkFBRC9BQ3dBQUFBQU1nQXlBQUFJL3dEL0NSeElzT0JBWjdSZ0VhdkFxMG9WYnhWZTVab0h6S0RGaXhnSFhuQnlSVUlzSVJoMDZDQkFzaVJKQVNwT1pGeHA4Y0tPWVFOV0pQa2g0VlEwZlFaeTZ0dzVocE1ybGl4cnFXTXdZVUN3WUwydUNFRjE1QWlGcDFDalFrWEhDdWhGZTBtczVNa0FJb0VXQlJrQ0pMdER0cXpaczNkMkFiSktNTks2RkQ4UUJFaVJKOStIQUE5TVdQREh0Ni9mdjMvWnBvUEdna2N2RkJtQTdCbUJRa0dBVytNQVM1NE1GTlN5SkZQMGdJVkFCQVRZQ1VGV3lFT0NwSTdwMDZoVG4xWWxhV1VrR3lZT0hBTXlBSWdHY1FwU3NHaGtyYVlPSDNTQ0N4OU9mUGlDQWhuWkJRZzBBTVFlSUE2YUMxcWg0RUdncFZzVWpkbk92YnQzNzZRdzR2OUNVWWlCQitiN2h1Z0o1S0FKQkFXQkpMZ0lGVXFPL2Z2NDgrczNaZkdaTkNpVkdKR0JBOFZrUWs4QUlIaUF3MTBEbEpLTkRETE1JZUdFRkZab1lTZklHTlROSDg4OThBY1FQRHl3Ung0QjdHR2lIaWJjMGd3bW1NVGg0b3N3eGloakhLMFU1TTRUT1FDUkFoQWh2TENDQXdFUUlZSUNlckN3d1RFQlhESFpra3NTcEkwVUgyU1F3Z3BCNU9EQkFIOGdjSUFuS1FTVGdCTkFKTURrbUlFSlZFMGlRS3pBd3dvZWdtaUNad0h3RU1CNkpyQmdpeSsvd0tIbm5uejI2ZWVleVAzekRoU2FNWkRKRUhrNG9JUUlVUVFEQWdndjBQUEhBMHVOOU1hbG1HYXE2YWFZamlMUUUwbzRvRUF2NVNtZ2dCS1ZiQUJFSUNBY013VVFJRWovZ0VwMjM5VnFLM2ZHL0hOQmlhd09FRUJ6Z2V5eDNBQjZ5Rm1zSGtLNFFBSTVialRyN0xQUVJ2dHNEZWZVOW9JdVFEd1FnQlFpckxEakRVeDRNR1VTNEtSd1RRODlxS0h1dXV5MjZ5NjdBTFNUaHdmN05KS0hIaG5ZUUlRQ0NVSVFqaWVlaVJKRUFNeGNjZ2tYQ0NlczhNSU1Ld3pJTnd5Z3VRSU1JOER3eHdvajdxRUFpTUZZRjRBSlVaQXBjbDgzM0lPRnFNTE13Z0I4V09DVGdLUFROR0FEeHBDTlBMSVZRMHkzQWdvUW9MQkNBQ2dFWWNVS1FCU2pnUkZFQndOUEtxbWs0ZlRUVUVjdE5kU2ZnQlZJRk8rdG9NY1ZHd1FTUURBVGJLQnRCbHJZSUFFL3kvYWo5dHBzdCswMjIzaVk0R3NsVFB4cXdndm0wQlpBQ0Qvay84WkNFenRJc0lRUFByQmgrT0dJSjY0NDRsVFV3MGNSdDJ4U3hPTzNjREI1RVp1WWNEa2ZITWlDemJKcmhDNzY2S1NYUHJvQjVmUXhTQWt0K0tGNkN5VzQ3a2NMM2ZUUmh4L2JkQk9FTXBSUTBzYnZ3QWN2L1BEQlUyUHo4Y2ducjd6Tk1YamgvUFBRUnkvOTlOUlgvN3drRVhTaC9mYmNkKy85OStDSHYzMEUvMUFBeHZub3A2LysrdXkzN3o0WVZBaWt3aGYwMTIvLy9mam5yLy8rWDNBakVBMkdFSU1BQjBqQUFocndnQWhFb0NGb01KQkpoT0dCRUl5Z0JDZEl3UXBXY0JJRVdaNEd5elNRRFc3UUlQNGdnd2hIU01JU212Q0VLRFNoUHl3Q2dESzQ4SVV3aktFTVowaERHQUlBSS9GNG13NTN5RU8yclNJakJWaUFHWU9HU01RaUd2R0lTRXppY1ZaQ2lFV2M0WWxRaktJVXAwakZLUzZDRUVCNUJDVFF3TVV1ZXZHTFlBeWpGeUh4Q0xaNGNFeHM2ZUFaT1poR2djUUFFQTJMb3h3QkVZTTJXcVFHakxDRUhmYkl4ejc2a1krV1lFUU43SmlSR1J3aUMzaElwQ0lYdWNnc0hHSUdoTFRLQ1RxZ0NVNEl3QkdJUUlRakJNQUpUWFJBSlcwTUNBQTcifSwxNjAyOmZ1bmN0aW9uKHQsYSxpKXsidXNlIHN0cmljdCI7aSgiNmE1NCIpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxhLmRlZmF1bHQ9dm9pZCAwO3ZhciBlPVsiIzE4OTBGRiIsIiM5MUNCNzQiLCIjRkFDODU4IiwiI0VFNjY2NiIsIiM3M0MwREUiLCIjM0NBMjcyIiwiI0ZDODQ1MiIsIiM5QTYwQjQiLCIjZWE3Y2NjIl0sbj17dHlwZTpbInBpZSIsInJpbmciLCJyb3NlIiwid29yZCIsImZ1bm5lbCIsIm1hcCIsImFyY2JhciIsImxpbmUiLCJjb2x1bW4iLCJiYXIiLCJhcmVhIiwicmFkYXIiLCJnYXVnZSIsImNhbmRsZSIsIm1peCIsInRsaW5lIiwidGFyZWEiLCJzY2F0dGVyIiwiYnViYmxlIiwiZGVtb3R5cGUiXSxyYW5nZTpbIumlvOeKtuWbviIsIuWchueOr+WbviIsIueOq+eRsOWbviIsIuivjeS6keWbviIsIua8j+aWl+WbviIsIuWcsOWbviIsIuWchuW8p+i/m+W6puadoSIsIuaKmOe6v+WbviIsIuafseeKtuWbviIsIuadoeeKtuWbviIsIuWMuuWfn+WbviIsIumbt+i+vuWbviIsIuS7quihqOebmCIsIkvnur/lm74iLCLmt7flkIjlm74iLCLml7bpl7TovbTmipjnur8iLCLml7bpl7TovbTljLrln58iLCLmlaPngrnlm74iLCLmsJTms6Hlm74iLCLoh6rlrprkuYnnsbvlnosiXSxjYXRlZ29yaWVzOlsibGluZSIsImNvbHVtbiIsImJhciIsImFyZWEiLCJyYWRhciIsImdhdWdlIiwiY2FuZGxlIiwibWl4IiwiZGVtb3R5cGUiXSxpbnN0YW5jZTp7fSxvcHRpb246e30sZm9ybWF0dGVyOnt5QXhpc0RlbW8xOmZ1bmN0aW9uKHQpe3JldHVybiB0KyLlhYMifSx5QXhpc0RlbW8yOmZ1bmN0aW9uKHQpe3JldHVybiB0LnRvRml4ZWQoMil9LHhBeGlzRGVtbzE6ZnVuY3Rpb24odCl7cmV0dXJuIHQrIuW5tCJ9LHhBeGlzRGVtbzI6ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKHQsYSl7dmFyIGk9bmV3IERhdGU7aS5zZXRUaW1lKDFlMyp0KTt2YXIgZT1pLmdldEZ1bGxZZWFyKCksbj1pLmdldE1vbnRoKCkrMTtuPW48MTA/IjAiK246bjt2YXIgcj1pLmdldERhdGUoKTtyPXI8MTA/IjAiK3I6cjt2YXIgbz1pLmdldEhvdXJzKCk7bz1vPDEwPyIwIitvOm87dmFyIGQ9aS5nZXRNaW51dGVzKCkscD1pLmdldFNlY29uZHMoKTtyZXR1cm4gZD1kPDEwPyIwIitkOmQscD1wPDEwPyIwIitwOnAsImZ1bGwiPT1hP2UrIi0iK24rIi0iK3IrIiAiK28rIjoiK2QrIjoiK3A6InktbS1kIj09YT9lKyItIituKyItIityOiJoOm0iPT1hP28rIjoiK2Q6Img6bTpzIj09YT9vKyI6IitkKyI6IitwOltlLG4scixvLGQscF19KHQsImg6bSIpfSxzZXJpZXNEZW1vMTpmdW5jdGlvbih0KXtyZXR1cm4gdCsi5YWDIn0sdG9vbHRpcERlbW8xOmZ1bmN0aW9uKHQsYSxpLGUpe3JldHVybiAwPT1pPyLpmo/kvr/nlKgiK3QuZGF0YSsi5bm0Ijoi5YW25LuW5oiR5rKh5pS5Iit0LmRhdGErIuWkqSJ9LHBpZURlbW86ZnVuY3Rpb24odCxhLGkpe2lmKHZvaWQgMCE9PWEpcmV0dXJuIGlbYV0ubmFtZSsi77yaIitpW2FdLmRhdGErIuWFgyJ9fSxkZW1vdHlwZTp7dHlwZToibGluZSIsY29sb3I6ZSxwYWRkaW5nOlsxNSwxMCwwLDE1XSx4QXhpczp7ZGlzYWJsZUdyaWQ6ITB9LHlBeGlzOntncmlkVHlwZToiZGFzaCIsZGFzaExlbmd0aDoyfSxsZWdlbmQ6e30sZXh0cmE6e2xpbmU6e3R5cGU6ImN1cnZlIix3aWR0aDoyfX19LHBpZTp7dHlwZToicGllIixjb2xvcjplLHBhZGRpbmc6WzUsNSw1LDVdLGV4dHJhOntwaWU6e2FjdGl2ZU9wYWNpdHk6LjUsYWN0aXZlUmFkaXVzOjEwLG9mZnNldEFuZ2xlOjAsbGFiZWxXaWR0aDoxNSxib3JkZXI6ITAsYm9yZGVyV2lkdGg6Myxib3JkZXJDb2xvcjoiI0ZGRkZGRiJ9fX0scmluZzp7dHlwZToicmluZyIsY29sb3I6ZSxwYWRkaW5nOls1LDUsNSw1XSxyb3RhdGU6ITEsZGF0YUxhYmVsOiEwLGxlZ2VuZDp7c2hvdzohMCxwb3NpdGlvbjoicmlnaHQiLGxpbmVIZWlnaHQ6MjV9LHRpdGxlOntuYW1lOiLmlLbnm4rnjociLGZvbnRTaXplOjE1LGNvbG9yOiIjNjY2NjY2In0sc3VidGl0bGU6e25hbWU6IjcwJSIsZm9udFNpemU6MjUsY29sb3I6IiM3Y2I1ZWMifSxleHRyYTp7cmluZzp7cmluZ1dpZHRoOjMwLGFjdGl2ZU9wYWNpdHk6LjUsYWN0aXZlUmFkaXVzOjEwLG9mZnNldEFuZ2xlOjAsbGFiZWxXaWR0aDoxNSxib3JkZXI6ITAsYm9yZGVyV2lkdGg6Myxib3JkZXJDb2xvcjoiI0ZGRkZGRiJ9fX0scm9zZTp7dHlwZToicm9zZSIsY29sb3I6ZSxwYWRkaW5nOls1LDUsNSw1XSxsZWdlbmQ6e3Nob3c6ITAscG9zaXRpb246ImxlZnQiLGxpbmVIZWlnaHQ6MjV9LGV4dHJhOntyb3NlOnt0eXBlOiJhcmVhIixtaW5SYWRpdXM6NTAsYWN0aXZlT3BhY2l0eTouNSxhY3RpdmVSYWRpdXM6MTAsb2Zmc2V0QW5nbGU6MCxsYWJlbFdpZHRoOjE1LGJvcmRlcjohMSxib3JkZXJXaWR0aDoyLGJvcmRlckNvbG9yOiIjRkZGRkZGIn19fSx3b3JkOnt0eXBlOiJ3b3JkIixjb2xvcjplLGV4dHJhOnt3b3JkOnt0eXBlOiJub3JtYWwiLGF1dG9Db2xvcnM6ITF9fX0sZnVubmVsOnt0eXBlOiJmdW5uZWwiLGNvbG9yOmUscGFkZGluZzpbMTUsMTUsMCwxNV0sZXh0cmE6e2Z1bm5lbDp7YWN0aXZlT3BhY2l0eTouMyxhY3RpdmVXaWR0aDoxMCxib3JkZXI6ITAsYm9yZGVyV2lkdGg6Mixib3JkZXJDb2xvcjoiI0ZGRkZGRiIsZmlsbE9wYWNpdHk6MSxsYWJlbEFsaWduOiJyaWdodCJ9fX0sbWFwOnt0eXBlOiJtYXAiLGNvbG9yOmUscGFkZGluZzpbMCwwLDAsMF0sZGF0YUxhYmVsOiEwLGV4dHJhOnttYXA6e2JvcmRlcjohMCxib3JkZXJXaWR0aDoxLGJvcmRlckNvbG9yOiIjNjY2NjY2IixmaWxsT3BhY2l0eTouNixhY3RpdmVCb3JkZXJDb2xvcjoiI0YwNDg2NCIsYWN0aXZlRmlsbENvbG9yOiIjRkFDQzE0IixhY3RpdmVGaWxsT3BhY2l0eToxfX19LGFyY2Jhcjp7dHlwZToiYXJjYmFyIixjb2xvcjplLHRpdGxlOntuYW1lOiLnmb7liIbmr5QiLGZvbnRTaXplOjI1LGNvbG9yOiIjMDBGRjAwIn0sc3VidGl0bGU6e25hbWU6Ium7mOiupOagh+mimCIsZm9udFNpemU6MTUsY29sb3I6IiM2NjY2NjYifSxleHRyYTp7YXJjYmFyOnt0eXBlOiJkZWZhdWx0Iix3aWR0aDoxMixiYWNrZ3JvdW5kQ29sb3I6IiNFOUU5RTkiLHN0YXJ0QW5nbGU6Ljc1LGVuZEFuZ2xlOi4yNSxnYXA6Mn19fSxsaW5lOnt0eXBlOiJsaW5lIixjYW52YXNJZDoiIixjYW52YXMyZDohMSxiYWNrZ3JvdW5kOiJub25lIixhbmltYXRpb246ITEsdGltaW5nOiJlYXNlT3V0IixkdXJhdGlvbjoxZTMsY29sb3I6WyIjZDRiYTgzIiwiIzkxQ0I3NCIsIiNGQUM4NTgiLCIjRUU2NjY2IiwiIzczQzBERSIsIiMzQ0EyNzIiLCIjRkM4NDUyIiwiIzlBNjBCNCIsIiNlYTdjY2MiXSxwYWRkaW5nOlsxNSwxMCwwLDE1XSxyb3RhdGU6ITEsZXJyb3JSZWxvYWQ6ITAsZm9udFNpemU6MTMsZm9udENvbG9yOiIjNjY2NjY2IixlbmFibGVTY3JvbGw6ITEsdG91Y2hNb3ZlTGltaXQ6NjAsZW5hYmxlTWFya0xpbmU6ITEsZGF0YUxhYmVsOiExLGRhdGFQb2ludFNoYXBlOiExLGRhdGFQb2ludFNoYXBlVHlwZToic29saWQiLHRhcExlZ2VuZDohMCx4QXhpczp7ZGlzYWJsZWQ6ITAsYXhpc0xpbmU6ITEsYXhpc0xpbmVDb2xvcjoiI0NDQ0NDQyIsY2FsaWJyYXRpb246ITEsZm9udENvbG9yOiIjNjY2NjY2Iixmb250U2l6ZToxMyxyb3RhdGVMYWJlbDohMSxpdGVtQ291bnQ6NSxib3VuZGFyeUdhcDoiY2VudGVyIixkaXNhYmxlR3JpZDohMCxncmlkQ29sb3I6IiNDQ0NDQ0MiLGdyaWRUeXBlOiJzb2xpZCIsZGFzaExlbmd0aDo0LGdyaWRFdmFsOjEsc2Nyb2xsU2hvdzohMSxzY3JvbGxBbGlnbjoibGVmdCIsc2Nyb2xsQ29sb3I6IiNBNkE2QTYiLHNjcm9sbEJhY2tncm91bmRDb2xvcjoiI0VGRUJFRiIsZm9ybWF0OiIifSx5QXhpczp7ZGlzYWJsZWQ6ITAsZGlzYWJsZUdyaWQ6ITAsc3BsaXROdW1iZXI6NSxncmlkVHlwZToiZGFzaCIsZGFzaExlbmd0aDoyLGdyaWRDb2xvcjoiI0NDQ0NDQyIscGFkZGluZzoxMCxzaG93VGl0bGU6ITEsZGF0YTpbXX0sbGVnZW5kOntzaG93OiExLHBvc2l0aW9uOiJib3R0b20iLGZsb2F0OiJjZW50ZXIiLHBhZGRpbmc6NSxtYXJnaW46NSxiYWNrZ3JvdW5kQ29sb3I6InJnYmEoMCwwLDAsMCkiLGJvcmRlckNvbG9yOiJyZ2JhKDAsMCwwLDApIixib3JkZXJXaWR0aDowLGZvbnRTaXplOjEzLGZvbnRDb2xvcjoiIzY2NjY2NiIsbGluZUhlaWdodDoxMSxoaWRkZW5Db2xvcjoiI0NFQ0VDRSIsaXRlbUdhcDoxMH0sZXh0cmE6e2xpbmU6e3R5cGU6InN0cmFpZ2h0Iix3aWR0aDoyfSx0b29sdGlwOntzaG93Qm94OiEwLHNob3dBcnJvdzohMCxzaG93Q2F0ZWdvcnk6ITEsYm9yZGVyV2lkdGg6MCxib3JkZXJSYWRpdXM6MCxib3JkZXJDb2xvcjoiIzAwMDAwMCIsYm9yZGVyT3BhY2l0eTouNyxiZ0NvbG9yOiIjMDAwMDAwIixiZ09wYWNpdHk6LjcsZ3JpZFR5cGU6InNvbGlkIixkYXNoTGVuZ3RoOjQsZ3JpZENvbG9yOiIjQ0NDQ0NDIixmb250Q29sb3I6IiNGRkZGRkYiLHNwbGl0TGluZTohMCxob3JpemVudGFsTGluZTohMSx4QXhpc0xhYmVsOiExLHlBeGlzTGFiZWw6ITEsbGFiZWxCZ0NvbG9yOiIjRkZGRkZGIixsYWJlbEJnT3BhY2l0eTouNyxsYWJlbEZvbnRDb2xvcjoiIzY2NjY2NiJ9LG1hcmtMaW5lOnt0eXBlOiJzb2xpZCIsZGFzaExlbmd0aDo0LGRhdGE6W119fX0sdGxpbmU6e3R5cGU6ImxpbmUiLGNvbG9yOmUscGFkZGluZzpbMTUsMTAsMCwxNV0seEF4aXM6e2Rpc2FibGVHcmlkOiExLGJvdW5kYXJ5R2FwOiJqdXN0aWZ5In0seUF4aXM6e2dyaWRUeXBlOiJkYXNoIixkYXNoTGVuZ3RoOjIsZGF0YTpbe21pbjowLG1heDo4MH1dfSxsZWdlbmQ6e30sZXh0cmE6e2xpbmU6e3R5cGU6ImN1cnZlIix3aWR0aDoyfX19LHRhcmVhOnt0eXBlOiJhcmVhIixjb2xvcjplLHBhZGRpbmc6WzE1LDEwLDAsMTVdLHhBeGlzOntkaXNhYmxlR3JpZDohMCxib3VuZGFyeUdhcDoianVzdGlmeSJ9LHlBeGlzOntncmlkVHlwZToiZGFzaCIsZGFzaExlbmd0aDoyLGRhdGE6W3ttaW46MCxtYXg6ODB9XX0sbGVnZW5kOnt9LGV4dHJhOnthcmVhOnt0eXBlOiJjdXJ2ZSIsb3BhY2l0eTouMixhZGRMaW5lOiEwLHdpZHRoOjIsZ3JhZGllbnQ6ITB9fX0sY29sdW1uOnt0eXBlOiJjb2x1bW4iLGNvbG9yOmUscGFkZGluZzpbMTUsMTUsMCw1XSx4QXhpczp7ZGlzYWJsZUdyaWQ6ITB9LHlBeGlzOntkYXRhOlt7bWluOjB9XX0sbGVnZW5kOnt9LGV4dHJhOntjb2x1bW46e3R5cGU6Imdyb3VwIix3aWR0aDozMCxhY3RpdmVCZ0NvbG9yOiIjMDAwMDAwIixhY3RpdmVCZ09wYWNpdHk6LjA4fX19LGJhcjp7dHlwZToiYmFyIixjb2xvcjplLHBhZGRpbmc6WzE1LDMwLDAsNV0seEF4aXM6e2JvdW5kYXJ5R2FwOiJqdXN0aWZ5IixkaXNhYmxlR3JpZDohMSxtaW46MCxheGlzTGluZTohMX0seUF4aXM6e30sbGVnZW5kOnt9LGV4dHJhOntiYXI6e3R5cGU6Imdyb3VwIix3aWR0aDozMCxtZXRlckJvcmRlOjEsbWV0ZXJGaWxsQ29sb3I6IiNGRkZGRkYiLGFjdGl2ZUJnQ29sb3I6IiMwMDAwMDAiLGFjdGl2ZUJnT3BhY2l0eTouMDh9fX0sYXJlYTp7dHlwZToiYXJlYSIsY2FudmFzSWQ6IiIsY2FudmFzMmQ6ITEsYmFja2dyb3VuZDoibm9uZSIsYW5pbWF0aW9uOiExLHRpbWluZzoiZWFzZU91dCIsZHVyYXRpb246MWUzLGNvbG9yOlsiI2Q0YmE4MyIsIiM5MUNCNzQiLCIjRkFDODU4IiwiI0VFNjY2NiIsIiM3M0MwREUiLCIjM0NBMjcyIiwiI0ZDODQ1MiIsIiM5QTYwQjQiLCIjZWE3Y2NjIl0scGFkZGluZzpbMCwwLDAsMF0scm90YXRlOiExLGVycm9yUmVsb2FkOiEwLGZvbnRTaXplOjEzLGZvbnRDb2xvcjoiIzY2NjY2NiIsZW5hYmxlU2Nyb2xsOiExLHRvdWNoTW92ZUxpbWl0OjYwLGVuYWJsZU1hcmtMaW5lOiExLGRhdGFMYWJlbDohMSxkYXRhUG9pbnRTaGFwZTohMSxkYXRhUG9pbnRTaGFwZVR5cGU6InNvbGlkIix0YXBMZWdlbmQ6ITAseEF4aXM6e2Rpc2FibGVkOiEwLGF4aXNMaW5lOiExLGF4aXNMaW5lQ29sb3I6IiNDQ0NDQ0MiLGNhbGlicmF0aW9uOiExLGZvbnRDb2xvcjoiIzY2NjY2NiIsZm9udFNpemU6MTMscm90YXRlTGFiZWw6ITEsaXRlbUNvdW50OjUsYm91bmRhcnlHYXA6ImNlbnRlciIsZGlzYWJsZUdyaWQ6ITAsZ3JpZENvbG9yOiIjQ0NDQ0NDIixncmlkVHlwZToic29saWQiLGRhc2hMZW5ndGg6NCxncmlkRXZhbDoxLHNjcm9sbFNob3c6ITEsc2Nyb2xsQWxpZ246ImxlZnQiLHNjcm9sbENvbG9yOiIjQTZBNkE2IixzY3JvbGxCYWNrZ3JvdW5kQ29sb3I6IiNFRkVCRUYiLGZvcm1hdDoiIn0seUF4aXM6e2Rpc2FibGVkOiEwLGRpc2FibGVHcmlkOiEwLHNwbGl0TnVtYmVyOjUsZ3JpZFR5cGU6ImRhc2giLGRhc2hMZW5ndGg6MixncmlkQ29sb3I6IiNDQ0NDQ0MiLHBhZGRpbmc6MTAsc2hvd1RpdGxlOiExLGRhdGE6W119LGxlZ2VuZDp7c2hvdzohMSxwb3NpdGlvbjoiYm90dG9tIixmbG9hdDoiY2VudGVyIixwYWRkaW5nOjUsbWFyZ2luOjUsYmFja2dyb3VuZENvbG9yOiJyZ2JhKDAsMCwwLDApIixib3JkZXJDb2xvcjoicmdiYSgwLDAsMCwwKSIsYm9yZGVyV2lkdGg6MCxmb250U2l6ZToxMyxmb250Q29sb3I6IiM2NjY2NjYiLGxpbmVIZWlnaHQ6MTEsaGlkZGVuQ29sb3I6IiNDRUNFQ0UiLGl0ZW1HYXA6MTB9LGV4dHJhOnthcmVhOnt0eXBlOiJzdHJhaWdodCIsb3BhY2l0eTouMixhZGRMaW5lOiEwLHdpZHRoOjIsZ3JhZGllbnQ6ITF9LHRvb2x0aXA6e3Nob3dCb3g6ITAsc2hvd0Fycm93OiEwLHNob3dDYXRlZ29yeTohMSxib3JkZXJXaWR0aDowLGJvcmRlclJhZGl1czowLGJvcmRlckNvbG9yOiIjMDAwMDAwIixib3JkZXJPcGFjaXR5Oi43LGJnQ29sb3I6IiMwMDAwMDAiLGJnT3BhY2l0eTouNyxncmlkVHlwZToic29saWQiLGRhc2hMZW5ndGg6NCxncmlkQ29sb3I6IiNDQ0NDQ0MiLGZvbnRDb2xvcjoiI0ZGRkZGRiIsc3BsaXRMaW5lOiEwLGhvcml6ZW50YWxMaW5lOiExLHhBeGlzTGFiZWw6ITEseUF4aXNMYWJlbDohMSxsYWJlbEJnQ29sb3I6IiNGRkZGRkYiLGxhYmVsQmdPcGFjaXR5Oi43LGxhYmVsRm9udENvbG9yOiIjNjY2NjY2In0sbWFya0xpbmU6e3R5cGU6InNvbGlkIixkYXNoTGVuZ3RoOjQsZGF0YTpbXX19fSxyYWRhcjp7dHlwZToicmFkYXIiLGNvbG9yOmUscGFkZGluZzpbNSw1LDUsNV0sZGF0YUxhYmVsOiExLGxlZ2VuZDp7c2hvdzohMCxwb3NpdGlvbjoicmlnaHQiLGxpbmVIZWlnaHQ6MjV9LGV4dHJhOntyYWRhcjp7Z3JpZFR5cGU6InJhZGFyIixncmlkQ29sb3I6IiNDQ0NDQ0MiLGdyaWRDb3VudDozLG9wYWNpdHk6LjIsbWF4OjIwMH19fSxnYXVnZTp7dHlwZToiZ2F1Z2UiLGNvbG9yOmUsdGl0bGU6e25hbWU6IjY2S20vSCIsZm9udFNpemU6MjUsY29sb3I6IiMyZmMyNWIiLG9mZnNldFk6NTB9LHN1YnRpdGxlOntuYW1lOiLlrp7ml7bpgJ/luqYiLGZvbnRTaXplOjE1LGNvbG9yOiIjMTg5MGZmIixvZmZzZXRZOi01MH0sZXh0cmE6e2dhdWdlOnt0eXBlOiJkZWZhdWx0Iix3aWR0aDozMCxsYWJlbENvbG9yOiIjNjY2NjY2IixzdGFydEFuZ2xlOi43NSxlbmRBbmdsZTouMjUsc3RhcnROdW1iZXI6MCxlbmROdW1iZXI6MTAwLGxhYmVsRm9ybWF0OiIiLHNwbGl0TGluZTp7Zml4UmFkaXVzOjAsc3BsaXROdW1iZXI6MTAsd2lkdGg6MzAsY29sb3I6IiNGRkZGRkYiLGNoaWxkTnVtYmVyOjUsY2hpbGRXaWR0aDoxMn0scG9pbnRlcjp7d2lkdGg6MjQsY29sb3I6ImF1dG8ifX19fSxjYW5kbGU6e3R5cGU6ImNhbmRsZSIsY29sb3I6ZSxwYWRkaW5nOlsxNSwxNSwwLDE1XSxlbmFibGVTY3JvbGw6ITAsZW5hYmxlTWFya0xpbmU6ITAsZGF0YUxhYmVsOiExLHhBeGlzOntsYWJlbENvdW50OjQsaXRlbUNvdW50OjQwLGRpc2FibGVHcmlkOiEwLGdyaWRDb2xvcjoiI0NDQ0NDQyIsZ3JpZFR5cGU6InNvbGlkIixkYXNoTGVuZ3RoOjQsc2Nyb2xsU2hvdzohMCxzY3JvbGxBbGlnbjoibGVmdCIsc2Nyb2xsQ29sb3I6IiNBNkE2QTYiLHNjcm9sbEJhY2tncm91bmRDb2xvcjoiI0VGRUJFRiJ9LHlBeGlzOnt9LGxlZ2VuZDp7fSxleHRyYTp7Y2FuZGxlOntjb2xvcjp7dXBMaW5lOiIjZjA0ODY0Iix1cEZpbGw6IiNmMDQ4NjQiLGRvd25MaW5lOiIjMmZjMjViIixkb3duRmlsbDoiIzJmYzI1YiJ9LGF2ZXJhZ2U6e3Nob3c6ITAsbmFtZTpbIk1BNSIsIk1BMTAiLCJNQTMwIl0sZGF5Ols1LDEwLDIwXSxjb2xvcjpbIiMxODkwZmYiLCIjMmZjMjViIiwiI2ZhY2MxNCJdfX0sbWFya0xpbmU6e3R5cGU6ImRhc2giLGRhc2hMZW5ndGg6NSxkYXRhOlt7dmFsdWU6MjE1MCxsaW5lQ29sb3I6IiNmMDQ4NjQiLHNob3dMYWJlbDohMH0se3ZhbHVlOjIzNTAsbGluZUNvbG9yOiIjZjA0ODY0IixzaG93TGFiZWw6ITB9XX19fSxtaXg6e3R5cGU6Im1peCIsY29sb3I6ZSxwYWRkaW5nOlsxNSwxNSwwLDE1XSx4QXhpczp7ZGlzYWJsZUdyaWQ6ITB9LHlBeGlzOntkaXNhYmxlZDohMSxkaXNhYmxlR3JpZDohMSxzcGxpdE51bWJlcjo1LGdyaWRUeXBlOiJkYXNoIixkYXNoTGVuZ3RoOjQsZ3JpZENvbG9yOiIjQ0NDQ0NDIixwYWRkaW5nOjEwLHNob3dUaXRsZTohMCxkYXRhOltdfSxsZWdlbmQ6e30sZXh0cmE6e21peDp7Y29sdW1uOnt3aWR0aDoyMH19fX0sc2NhdHRlcjp7dHlwZToic2NhdHRlciIsY29sb3I6ZSxwYWRkaW5nOlsxNSwxNSwwLDE1XSxkYXRhTGFiZWw6ITEseEF4aXM6e2Rpc2FibGVHcmlkOiExLGdyaWRUeXBlOiJkYXNoIixzcGxpdE51bWJlcjo1LGJvdW5kYXJ5R2FwOiJqdXN0aWZ5IixtaW46MH0seUF4aXM6e2Rpc2FibGVHcmlkOiExLGdyaWRUeXBlOiJkYXNoIn0sbGVnZW5kOnt9LGV4dHJhOntzY2F0dGVyOnt9fX0sYnViYmxlOnt0eXBlOiJidWJibGUiLGNvbG9yOmUscGFkZGluZzpbMTUsMTUsMCwxNV0seEF4aXM6e2Rpc2FibGVHcmlkOiExLGdyaWRUeXBlOiJkYXNoIixzcGxpdE51bWJlcjo1LGJvdW5kYXJ5R2FwOiJqdXN0aWZ5IixtaW46MCxtYXg6MjUwfSx5QXhpczp7ZGlzYWJsZUdyaWQ6ITEsZ3JpZFR5cGU6ImRhc2giLGRhdGE6W3ttaW46MCxtYXg6MTUwfV19LGxlZ2VuZDp7fSxleHRyYTp7YnViYmxlOntib3JkZXI6MixvcGFjaXR5Oi41fX19fSxyPW47YS5kZWZhdWx0PXJ9LCIxN2Y0IjpmdW5jdGlvbih0LGEpe3QuZXhwb3J0cz0iZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoTWdBeUFQZi9BUGZNeHVWaVRPbHRYZUkrS1BPeXFmcmUyK0ExSGQwZ0J2cmQyT3Q5YmQ0cEd0a0pBT1plVFA3NjkrcDdhdUFuRWZ6eDcvYkZ2dU5HTWQwaUNQcmczZmpReXZLWWp1MkplL1c4dE9FOUp1dUJjdVZxVStocVdmT3dwdVpjU3V5SGVPbHlZdUEySDk0bUVQenA1dlhBdWZTMnJ0a0dBT1pkVU44eEdmM3E2TzZTaGR3YkFPZGhVT3lFZHYzMDgrK1lpL0NYalBqT3lOd2RBdmZLeE90K2NOOG9FZHNVQVBXK3VQdmw0dDBrQytFNkp1MktmT0pCS3V5Q2RPTkxOZG9RQVBDZ2xPUlJQZU5JTStOSE90d2NDdnp1N082UWd2dmo0UG5iMXV5QWNmZlJ5L2JFdk9wMFp0d2ZCZG9PQVBXK3R0MHFFUFM2c3Q4c0ZPaHNXdGdDQU5ZQUFQR2xtdkNrbU4waERQQ2lsL0dmay83OCsrWmFSdjN5NysrVmlkd2FCZDRtRGZ2bjQ5d2ZCK1JPT2ZyYjFmblgwL2pVei9mT3lmZkt3dHNZQVBiSHdmUzVzUE8xcmVobVZONG5EdktybjlRQUFOc1dBTjRvRHVWVVFPRTZJOWtNQU44dUdONHNGdDRzRWRzU0FOb01BT0F6SE44eEg5d3NFZHdjQnQ0cUVkNHJFdDRzRXZ6dDYvNzI5Zi85L2QwcEVQLysvdi84L040bUM5NHJFZDRzRS8vKy9kc3RFZm5aMWZ6dDZ2alR6dHdkQmQ4dEV2NzUrUDc2K2Vka1V2NzM5dlc5dHZ6czZ0TUFBUEtvbmQ0cUVQNzcrdVZZUmYzdjd1QTRJZUU1STk4c0V1aHJYK2RDTXVwMlp1UlBRUENtbXRzWEEvLzcrL3ZhMk5zVkJPSlRPdnJmM1BiQ3ZOODRJT3B4Wk9wMFpQblkwZi85L1ByZDJlbHdYdHNhQmZHam1QQ2duZU5lU2VaYlNPcDJhT21UZ09oVVJleURkZWhwVit0N2JQdmkzdWRpVnV1TmZPZUJiUDMxOC83MDlQcmkzTjh3Rk9KRE1PZElOdDh1RXZuYTFlK0FkZXhzWC9DYmtQM3M2L1hDdS9iQ3Uvdmw0ZDBqRU4wbURONGxEdU5hUXV0alZ2alB4dTJYaU8rWGlPUlFSdWhuVmRrT0EvS3JvZkt1cFBTcG9lK2dsZTJQZ3Y3ZjN1K0RkdVJRT2ZDY2tQQ2RrdkNla2ZDZGpmTzBxL25WelBTenF2UzBxK0EwRy9uV3o5d3JFdDgyTGZqUnkvalR6ZmJJd2ZmSncvblYwTjBsQytoeWFlaG1VT3gwYU9KRUx0NHJFTytYaS8vLy85NHBFUC8vL3lIL0MxaE5VQ0JFWVhSaFdFMVFQRDk0Y0dGamEyVjBJR0psWjJsdVBTTHZ1NzhpSUdsa1BTSlhOVTB3VFhCRFpXaHBTSHB5WlZONlRsUmplbXRqT1dRaVB6NGdQSGc2ZUcxd2JXVjBZU0I0Yld4dWN6cDRQU0poWkc5aVpUcHVjenB0WlhSaEx5SWdlRHA0YlhCMGF6MGlRV1J2WW1VZ1dFMVFJRU52Y21VZ05TNDJMV014TkRnZ056a3VNVFkwTURNMkxDQXlNREU1THpBNEx6RXpMVEF4T2pBMk9qVTNJQ0FnSUNBZ0lDQWlQaUE4Y21SbU9sSkVSaUI0Yld4dWN6cHlaR1k5SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpFNU9Ua3ZNREl2TWpJdGNtUm1MWE41Ym5SaGVDMXVjeU1pUGlBOGNtUm1Pa1JsYzJOeWFYQjBhVzl1SUhKa1pqcGhZbTkxZEQwaUlpQjRiV3h1Y3pwNGJYQk5UVDBpYUhSMGNEb3ZMMjV6TG1Ga2IySmxMbU52YlM5NFlYQXZNUzR3TDIxdEx5SWdlRzFzYm5NNmMzUlNaV1k5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmVHRndMekV1TUM5elZIbHdaUzlTWlhOdmRYSmpaVkpsWmlNaUlIaHRiRzV6T25odGNEMGlhSFIwY0RvdkwyNXpMbUZrYjJKbExtTnZiUzk0WVhBdk1TNHdMeUlnZUcxd1RVMDZUM0pwWjJsdVlXeEViMk4xYldWdWRFbEVQU0o0YlhBdVpHbGtPalE0TkRFME56STNMVFl5TXpndE5HUTFaQzFoWWpBeExXSmtOVFl4Tm1JeVlqTTRZeUlnZUcxd1RVMDZSRzlqZFcxbGJuUkpSRDBpZUcxd0xtUnBaRHBFTkRFNU5VVkVPREpHUlRJeE1VVkRRakkwUTBaRE9ETXdNMEV3TlRKRk1TSWdlRzF3VFUwNlNXNXpkR0Z1WTJWSlJEMGllRzF3TG1scFpEcEVOREU1TlVWRU56SkdSVEl4TVVWRFFqSTBRMFpET0RNd00wRXdOVEpGTVNJZ2VHMXdPa055WldGMGIzSlViMjlzUFNKQlpHOWlaU0JRYUc5MGIzTm9iM0FnTWpJdU5DQW9UV0ZqYVc1MGIzTm9LU0krSUR4NGJYQk5UVHBFWlhKcGRtVmtSbkp2YlNCemRGSmxaanBwYm5OMFlXNWpaVWxFUFNKNGJYQXVhV2xrT2pNeFpEYzVPRGMwTFdWaVlqRXROREU1T1MxaE5qQXhMV00yWm1OaU56QTVabU0xT1NJZ2MzUlNaV1k2Wkc5amRXMWxiblJKUkQwaWVHMXdMbVJwWkRvME9EUXhORGN5TnkwMk1qTTRMVFJrTldRdFlXSXdNUzFpWkRVMk1UWmlNbUl6T0dNaUx6NGdQQzl5WkdZNlJHVnpZM0pwY0hScGIyNCtJRHd2Y21SbU9sSkVSajRnUEM5NE9uaHRjRzFsZEdFK0lEdy9lSEJoWTJ0bGRDQmxibVE5SW5JaVB6NEIvLzc5L1B2NitmajM5dlgwOC9MeDhPL3U3ZXpyNnVubzUrYmw1T1BpNGVEZjN0M2MyOXJaMk5mVzFkVFQwdEhRejg3TnpNdkt5Y2pIeHNYRXc4TEJ3TCsrdmJ5N3VybTR0N2ExdExPeXNiQ3ZycTJzcTZxcHFLZW1wYVNqb3FHZ241NmRuSnVhbVppWGxwV1VrNUtSa0krT2pZeUxpb21JaDRhRmhJT0NnWUIvZm4xOGUzcDVlSGQyZFhSemNuRndiMjV0Ykd0cWFXaG5abVZrWTJKaFlGOWVYVnhiV2xsWVYxWlZWRk5TVVZCUFRrMU1TMHBKU0VkR1JVUkRRa0ZBUHo0OVBEczZPVGczTmpVME16SXhNQzh1TFN3cktpa29KeVlsSkNNaUlTQWZIaDBjR3hvWkdCY1dGUlFURWhFUUR3NE5EQXNLQ1FnSEJnVUVBd0lCQUFBaCtRUUJBQUQvQUN3QUFBQUFNZ0F5QUFBSS93RC9DUnhJc09CQU0xWjhNUkRpcVYwN0hUNjI5U0JRd0tERml4Z0h4dHZodzUvSGp5QkJjbWwySktOSml4RlloRnpKMHArVUJMSk9ua1ExcGFYTmxWREdFWk41TVl1VW0wQkQ4aURCa3lBaEFmNmdCRjJhMUorS292KzZWR05LMVdNaEJ6d2hpS3BSdFdvTlppY0pxWHJRdGVzRFlTYXQxU2hFOWM4QkczVU9LRm9LNVlFRmpPQ1VNZ1cxd3NTRU1SL0lOYUhLS0o1RmNWRDBBdjJEWjRHSUMyWDZuVkVnaG1xZkFSWnZVVzBzUVZhL3p3TVdCS3FxQ1Z0Qk5WUkIxZEd4NlBQblR6YitkRlhVaWVBY3FnZUlJSEQ5bWRlQ3N2NTJESHpVMWtTQ3o0MDZET3RIZ2RyZ3JnWWtDYVRCRWxBT0dZQkFnbkZ5NDNNU1RHcjZIZjhha01hTmpEUk4zTWdPdXU1ZkxCMHNFWVh3dEdLMHh5YUlmdlVUNU1YV3BYNWhRRUxGRDFMUThjY1BDMHhnbjAxVC9BTkFTell3RU1FUFZEaGhnaE5wR09OSVArek00OW9KVlRDUURnNkRVTUFHQnpiOEVNbE5LRlFDUTB0NnROSFBFeWRRd2dzbFRqamhXUVRMOVhOUEt0M3g5bGtFZk9nQnlrMHp6TkxTQWt3STJVOEpWVmpSVHhUTXdVTkVGLzNJVWtFWWcxeFN5V2NqMlBIRGdpc0JFVVJMZFV6aFpEOHY3TkhQRElNTUFBY1pqZFJpQ1Fra2VHQUREcTY1WThNQk5pV1JBWVE4dUxZRU1LdDhOZ0U2VDFLQnp3aG44SGJCSENud2xnMFZObkZnUjB2MjJGREJaNWxVRWNGbjI4QnhUVHgzZkFBRUphU3M0MlF4cnREL1FBQWZnTExFaVUxL0xORExaNUlBWUVsclNOUkJCUTBDNEVKSERubFVFY29rcm1HQVJSVlVSSkpCRGkyZGFaTTlDMlRpV2d3bEFOQ1BPa09Nd1VJVHJ3Z1NEd2xES0RES09iT2trVWNnYnVXUUhVdEJiTm9TSUg3ODhJSnJuWkJnU1RRTlhDRU5BLzRBVVFDVzVsUlJ4UThUekJVVUZ3UGNGQWdrSm5DeVJpZWZkUklGQ0ZXZ2dJTVBmaEJDVDZKb21FTEx2RUZOY2R0TmliaFJodzN0WktDUEJDdFV3VWNGaEZ4UUJRWDlMTEZKUDI4c0lBZFR2SUN3RkNDSVZORk9PQUFBd0Fwekl6UlR3M0wxOE55UEJEWXdWWXM1Uy8zaEJBdENIdExOS2E5ODhCa1p5aGpTandvbURCMVVCY1FGZFFBV0c3b0F5eUFGM0NCSVB6NTQvOE9jTkQyb1RZQVRZQVFWd2lULzhMRFlEeGw4Vms0Vkx6eXp0eXpjZEhlRU5qdjhUTUFQaFFNRmdrQWY0QXBJelJwOEJzMEpNN2cyQlNaRzhLYTJGUXU0RVJRR0FpRmhreHZUSE5QQ3owNTZVY2NYV0hqTG15OG1CRVhISVFNUnpCSVlYelRwcENCTUxDQkdNbW1zUUFPei9VaXl4eGRCd1VDUUVvcUI5SWNiYVdUd0FRWm1JTERFQjN1WUlLOC9nY2hRQlFlZlhVREZQa0NoTUVoQnZiVDBoeVp4V01BUERnQ0dPSmdnRFlsWWp6LytzSUlWOUVNWlB4Q0RBbHR5QllPazRCM2hXd2tZRHRBRWUwendJektRd0J2dUVBY3lyWVFSeUxoSUJ6TFlsUndNWUFJMldORk5HRkdSaStTREs4RHhoM1Vta0lpYkZLSUczekJKQUhISWtzT2xQRUFYSjluQ0xvaFlSSnM4WUJrOE9jUUdjTmpFbFJRaUdGRDVSdythVWtXUEtLVVVXUlFJR3o3UlJZOEVRUjVoSElnek5GREZWbmd2alFVcHd5aCswcFVNcUVBUWNMeklFYlRnQVpUWkpBUUM2SUFMOG5nU0hLekJDQ0RBaFE4a0lJRXhNTUFYL0loQUVjSVlFQUE3In0sIjFkNTYiOmZ1bmN0aW9uKHQsYSxpKXsidXNlIHN0cmljdCI7aSgiNmE1NCIpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxhLmRlZmF1bHQ9dm9pZCAwO2EuZGVmYXVsdD17bmFtZToibG9hZGluZzIiLGRhdGE6ZnVuY3Rpb24oKXtyZXR1cm57fX19fSwiMWYwYyI6ZnVuY3Rpb24odCxhLGkpeyJ1c2Ugc3RyaWN0IjtpLnIoYSk7dmFyIGU9aSgiNDY0MSIpLG49aSgiYmJiMyIpO2Zvcih2YXIgciBpbiBuKVsiZGVmYXVsdCJdLmluZGV4T2Yocik8MCYmZnVuY3Rpb24odCl7aS5kKGEsdCwoZnVuY3Rpb24oKXtyZXR1cm4gblt0XX0pKX0ocik7aSgiNmI1NyIpO3ZhciBvPWkoIjgyOGIiKSxkPU9iamVjdChvWyJhIl0pKG5bImRlZmF1bHQiXSxlWyJiIl0sZVsiYyJdLCExLG51bGwsIjA2ZjljNWQ0IixudWxsLCExLGVbImEiXSx2b2lkIDApO2FbImRlZmF1bHQiXT1kLmV4cG9ydHN9LCIyMGEzIjpmdW5jdGlvbih0LGEpe3QuZXhwb3J0cz0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDNEFBQUF1Q0FZQUFBQlh1U3MzQUFBQUNYQklXWE1BQUFzVEFBQUxFd0VBbXB3WUFBQUhVbWxVV0hSWVRVdzZZMjl0TG1Ga2IySmxMbmh0Y0FBQUFBQUFQRDk0Y0dGamEyVjBJR0psWjJsdVBTTHZ1NzhpSUdsa1BTSlhOVTB3VFhCRFpXaHBTSHB5WlZONlRsUmplbXRqT1dRaVB6NGdQSGc2ZUcxd2JXVjBZU0I0Yld4dWN6cDRQU0poWkc5aVpUcHVjenB0WlhSaEx5SWdlRHA0YlhCMGF6MGlRV1J2WW1VZ1dFMVFJRU52Y21VZ05pNHdMV013TURZZ056a3VaR0ZpWVdOaVlpd2dNakF5TVM4d05DOHhOQzB3TURvek9UbzBOQ0FnSUNBZ0lDQWdJajRnUEhKa1pqcFNSRVlnZUcxc2JuTTZjbVJtUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMekF5THpJeUxYSmtaaTF6ZVc1MFlYZ3Ribk1qSWo0Z1BISmtaanBFWlhOamNtbHdkR2x2YmlCeVpHWTZZV0p2ZFhROUlpSWdlRzFzYm5NNmVHMXdUVTA5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmVHRndMekV1TUM5dGJTOGlJSGh0Ykc1ek9uTjBVbVZtUFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwzaGhjQzh4TGpBdmMxUjVjR1V2VW1WemIzVnlZMlZTWldZaklpQjRiV3h1Y3pwemRFVjJkRDBpYUhSMGNEb3ZMMjV6TG1Ga2IySmxMbU52YlM5NFlYQXZNUzR3TDNOVWVYQmxMMUpsYzI5MWNtTmxSWFpsYm5RaklpQjRiV3h1Y3pwNGJYQTlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2ZUdGd0x6RXVNQzhpSUhodGJHNXpPbVJqUFNKb2RIUndPaTh2Y0hWeWJDNXZjbWN2WkdNdlpXeGxiV1Z1ZEhNdk1TNHhMeUlnZUcxc2JuTTZjR2h2ZEc5emFHOXdQU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDNCb2IzUnZjMmh2Y0M4eExqQXZJaUI0YlhCTlRUcFBjbWxuYVc1aGJFUnZZM1Z0Wlc1MFNVUTlJbmh0Y0M1a2FXUTZORGcwTVRRM01qY3ROakl6T0MwMFpEVmtMV0ZpTURFdFltUTFOakUyWWpKaU16aGpJaUI0YlhCTlRUcEViMk4xYldWdWRFbEVQU0o0YlhBdVpHbGtPamsxT1RGRk4wTXdNa05GT0RFeFJVTTROVVZHT0RORlF6azRPRU5CTjBORklpQjRiWEJOVFRwSmJuTjBZVzVqWlVsRVBTSjRiWEF1YVdsa09tUTNPV1EwTW1Wa0xXRTRNV1l0TkROaE55MDRPRFF5TFRZeE1EQTJaV0prTlRjellpSWdlRzF3T2tOeVpXRjBiM0pVYjI5c1BTSkJaRzlpWlNCUWFHOTBiM05vYjNBZ01qSXVOQ0FvVFdGamFXNTBiM05vS1NJZ2VHMXdPa055WldGMFpVUmhkR1U5SWpJd01qRXRNVEV0TVRGVU1EazZORFU2TWpNck1EZzZNREFpSUhodGNEcE5iMlJwWm5sRVlYUmxQU0l5TURJeUxUQXlMVEV4VkRFNU9qTXhPalUwS3pBNE9qQXdJaUI0YlhBNlRXVjBZV1JoZEdGRVlYUmxQU0l5TURJeUxUQXlMVEV4VkRFNU9qTXhPalUwS3pBNE9qQXdJaUJrWXpwbWIzSnRZWFE5SW1sdFlXZGxMM0J1WnlJZ2NHaHZkRzl6YUc5d09rTnZiRzl5VFc5a1pUMGlNeUlnY0dodmRHOXphRzl3T2tsRFExQnliMlpwYkdVOUluTlNSMElnU1VWRE5qRTVOall0TWk0eElqNGdQSGh0Y0UxTk9rUmxjbWwyWldSR2NtOXRJSE4wVW1WbU9tbHVjM1JoYm1ObFNVUTlJbmh0Y0M1cGFXUTZNekZrTnprNE56UXRaV0ppTVMwME1UazVMV0UyTURFdFl6Wm1ZMkkzTURsbVl6VTVJaUJ6ZEZKbFpqcGtiMk4xYldWdWRFbEVQU0o0YlhBdVpHbGtPalE0TkRFME56STNMVFl5TXpndE5HUTFaQzFoWWpBeExXSmtOVFl4Tm1JeVlqTTRZeUl2UGlBOGVHMXdUVTA2U0dsemRHOXllVDRnUEhKa1pqcFRaWEUrSUR4eVpHWTZiR2tnYzNSRmRuUTZZV04wYVc5dVBTSnpZWFpsWkNJZ2MzUkZkblE2YVc1emRHRnVZMlZKUkQwaWVHMXdMbWxwWkRwaVpEQTNZVGt5WXkwNFpHSTVMV0k0TkRBdFlqZzNOaTA1T1RGaU5Ea3pOMkZoWm1RaUlITjBSWFowT25kb1pXNDlJakl3TWpFdE1USXRNalJVTVRFNk1qUTZNRE1yTURnNk1EQWlJSE4wUlhaME9uTnZablIzWVhKbFFXZGxiblE5SWtGa2IySmxJRkJvYjNSdmMyaHZjQ0F5TVM0d0lDaFhhVzVrYjNkektTSWdjM1JGZG5RNlkyaGhibWRsWkQwaUx5SXZQaUE4Y21SbU9teHBJSE4wUlhaME9tRmpkR2x2YmowaWMyRjJaV1FpSUhOMFJYWjBPbWx1YzNSaGJtTmxTVVE5SW5odGNDNXBhV1E2WkRjNVpEUXlaV1F0WVRneFppMDBNMkUzTFRnNE5ESXROakV3TURabFltUTFOek5pSWlCemRFVjJkRHAzYUdWdVBTSXlNREl5TFRBeUxURXhWREU1T2pNeE9qVTBLekE0T2pBd0lpQnpkRVYyZERwemIyWjBkMkZ5WlVGblpXNTBQU0pCWkc5aVpTQlFhRzkwYjNOb2IzQWdNakl1TkNBb1RXRmphVzUwYjNOb0tTSWdjM1JGZG5RNlkyaGhibWRsWkQwaUx5SXZQaUE4TDNKa1pqcFRaWEUrSUR3dmVHMXdUVTA2U0dsemRHOXllVDRnUEhCb2IzUnZjMmh2Y0RwRWIyTjFiV1Z1ZEVGdVkyVnpkRzl5Y3o0Z1BISmtaanBDWVdjK0lEeHlaR1k2YkdrK2VHMXdMbVJwWkRvNU5Ua3hSVGRETURKRFJUZ3hNVVZET0RWRlJqZ3pSVU01T0RoRFFUZERSVHd2Y21SbU9teHBQaUE4TDNKa1pqcENZV2MrSUR3dmNHaHZkRzl6YUc5d09rUnZZM1Z0Wlc1MFFXNWpaWE4wYjNKelBpQThMM0prWmpwRVpYTmpjbWx3ZEdsdmJqNGdQQzl5WkdZNlVrUkdQaUE4TDNnNmVHMXdiV1YwWVQ0Z1BEOTRjR0ZqYTJWMElHVnVaRDBpY2lJL1B0WkpjdXdBQUFkV1NVUkJWR2lCN1psZGpGNUZIY1ovejlsOXU3dnVVdW4yd3lheXNWSStnaGdKcFl1VUZxUmFhekhHS0tacVREUjYwUXZBTzczQUd6VmUrVUhLRFFMQkN6WEVpQkFUR21OQlkxY1Mya0lGVEJDMERlMWlqVTFEc1FSYmxtN2R2bnNlTCtaOHpUbm4zU0w3UmtQaUpHZlBtWFBtblhubW1lZi9NYk95emR1eEpQOXJBRysxdkcyQkR5NjJnL1NGaDRBRWxJQVU3aVNvZUZiNWpkcGR5VGhvRzlJdFFsMlVPTFFYbFhzSE5JNTREUFFJRSt0ZTdBdHdiSkFCZ3dsM0dRTnl3QkcrS1dzbnNvWUo5dWNRT3pIRGxoQTFlOHViQTZCTndIWmdNdng0OGNnellJNmZmYjVucmdYZkFoN08rN0dyQkRRSTZvQ3Z5cXY5MFhnZGRQWmNlcXlXaWVFajROMllmNWJ2S0ZmTjlmNEEwOG1IN0pOVThzRVV5MGJHT0ZPSTYrMVBZaDVBbnNWc1FMd0d2c0l3S1ZoV0RwQnJKVjZHL2tqRnJZd3U4RXpPOEVtdHZlays4SGVBMzJML0hUeFhZSXpZajB1ZkdjOEd5STNRZFVOVjJTNzhac0JIcGxhZzVHcnNieU91QklWVkNqM05FOGhWYktqOUFGNWxzQ29IcWhPaUlhR3MzU1dJYjJKL0J0RXBKd3NCdlk1aUpoQkw2cVAyQjNncnNLcDd6RmdzbVI3RmZCMzVzNWozSUErVmt3Zk0wNVorTHJ3RytDSmt3Q3VLV1RSdzJ5SFlORmh1bGRBWVpqdDRDOUlXN0ZXbGZBVHlLOEREb0YrQXAyMitFdWFzU0NaOUFkNEVtUUdKdklqSGdBMjJ0MG5hRHA2SWY4TnJ5RThCdTdFZTFOb2JUdnFsSjBhUmhqRERLRi9KZmdLM3NUSmphdWljNWNqdkFuOFVjenZ5cFRYM09JTTlqZGdOdmtkclAzeXMwckhBZnpFY0Uxd0d2QTRjN0I5d0tub08yazR3ZzhnWGdUNlB2UU84cGlhaGVmQVp6QzdrdTNUcDFqL1dlOVhGTjg0QUQvcXZlOWRnZlEyeEMzTm5mNEU3bDZIQnZoaHhLL2hUMk1zUkY4U0dhZ3lQeXI0ZmFULzQ5SGtHdU1mNFo0STNnRlA5QXg3a01RcmFhdnNUa3Q4SFhJNjlMTmE1Q0NIZVB3YitqSHdZM05WbE55L1l2ZDY3NlRUUW1OeGJCajcvN1AxTFFKTW91UmI3U3ZCNnhGVnhFREtZTThoN3dFOWdIa2QrR2hTOFVXczI5ZWJLZndSOC9nOTNyMGJKU3FTTElIay80bWJzemRWQUV3eFZ4cDRHSDBmc0F6K0FmYkRWVmZZYmVQZkpuVU5JUzBCREN2ZExVTElGZkQzbUk2V0xpcEtuV2ZBTTluT0luNEIvZ3puWjRoNnpSOWZkOCtLQWQ1KzhjeHcwQ1Z3TmZOQ3dYbWdGZUFDVElGSHp3eUNmQmYwSyswZVc5d3Ztc09lai9BUm9SdGhGQXUvdSs5NFNwQytBdmdwMEVCZGdqWVk3SXlYRFZkQUMrM0drUGVBcDdHT0lsNHNNcnowL0lZcXdpd1VPL2dDd0RiaW1MUWN1QTVjQm5nV21Na2tjQms5alhxMkNxN2pIM3ZrNmhxUDdLZmVpamYxbVBud0hPQWZBeExvNmNLN0RYQjR2UDJDNmlLTllmME84akgwRThReldsSWFYbnZIYzZVcHlWSkdEczhTcVJkc1Y5MWkrTDVoUmxha09zQWxZQTB3RHo1SDU4aXJ3VStCRG1HVklIWUxEZnhVNGhObUx2SS9PMktGOEY0K1NNR2d1ZzRhaFJxRy9aL1lZY3U5OFphc3lwQU9zQTkxSENQa0hnSjhDOTRidUtydUw3cjd2cmdaZGoxZ09laDUwUUoxUmgrT0Y2bEZEdUtRRXo3MU9qNk9Ib3IySzkvRVJCaElhV1ZWcmswc2xlVGZvaDBnZkE0WXpxY3d3c1c2OHpqakFpUkRkTklDWTArQ3dTNCtRWmdQbTliQ2ZqRmhzdWtmYXRLMlI1VnRSc2dHU1BjRGV1RTB1Rnc4Q3F3Tkc1U3RRN0VVajRJTWI3M0QzcVoxblFTaVhRdDBIRi9Wd3FiTTBXb1hvb2x5WjdOMEkwa2JzTzBLazlZZkEzOGM4Vm1hWXlra3c0aXdtamJUZkJyeGtLZ3ZKclh2SmtuSElVMXF2aEhRUzZ6ajRCWEMzT3NGQ3gwNHZoT1EyNU0xWlA1dkJaOElwVlgzbEttQkxsMWFVbGwxK0FXekVzQUo3Q0NxQXE3dDJVbkM2RXFjN3NIOE42ZDJRWGdOcGtuMkxMOXdCcjhJK1YrbG5hZDUzSWIzY1dLT3hZcC9mNDNqQ0krQlBZdDhMdnFuT2NxaW5ZQStDYnpEK1Z0Ym1PdXpic0VmcjdSMitHN3RidWlPRDAvbnFzVVhoTEtJRG9RYnVGdUQyR1BqVG1CK0FQMjU4Ri9iMm1QVTBCOVRCWG9hOUpEcytHd0JmQ0I2TFZxaXhVaTN2NmtkMUVjdE4xdHVrTWc1c0JFK0EzNEY5QlhoOWo0RUVUbXJ2akQzUUJ0UnRrMmlwUjk2cU9oRXZDSnhoN0hkV0c5clo4VUg3UU03ZlpRUG1qVnJaZGdRNExmdXBNOTFnUFM0dDJhRlQ0RnhoeWRrZXNmVU1NSEtOYVhPTXFpZG8vUmJIaGZaY2g1cW5DYVZGNDIwdkZtS2pNRlNhakxicjJ6MVdJNjdUMjFCcFo3eWNYWEZYdnNtdEhkYm5UTVgxTXJsYVlMSnErZGFXK3BhNVMwUjVqeDFRbFhhVjllcXlWUWV2MTg4SGxHQ29xbjl6U29pMlpiK05pSnFWM3NmTWVadmFNalVPNjlzTXJCRk0ycVh6Smd3MTZXV29iWXduNFgyRmRUTlEzZmxVREZWQTdQcmtBYkFDa0VwUjhiZUR5UTREMDRDaDNWQkR1bWdQRlA4ZnFrQnFZM3dPbUttd1BnL005dEJyaWowTG5xOThPNHZUYnNSb3lmZzg5cWxRU2JQMTgwd1BRLzBYOWlId1RDYXRXZURGaFlBZkIzNWZnTFZmQWo5VFNpYk1LUE1NcytEbndZZUw0RVA2Si9DSkhLeGpRS2ZCaitBQzdBbnMzN1ZLS3ZUeERlejlXWDBYOXBkeWtHMVNtUU9tZ0IzQWplQkhzenF4b2ViR29vUFlYMGErTlV5UWg4Z0RVTk5ZM3dBL25NbHBFbndBL01zZWhtcEkvb0Y4TzNnNTVoWEx4M08vb3YvL0wvKy9YUDRONE1Ia0l4cVZ0RUlBQUFBQVNVVk9SSzVDWUlJPSJ9LCIyMWI0IjpmdW5jdGlvbih0LGEpe3QuZXhwb3J0cz0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFEd0FBQUE4Q0FZQUFBQTYvTmx5QUFBQUFYTlNSMElBcnM0YzZRQUFDMXRKUkVGVWFFUGxXM3R3bE5VVi8vM3Vsd1JmcVBVQlFsNmtaQVdmbmVtQVNuakptMFFUQWs2andxamdZM3dTUWd1S1dnbkJka0NoU1FDMUlxM1FPa1dNUWtJUUV1U1JDaWJCZ1psT0JhMGxpVXNJS1lwT1JSeDViZlk3bmZ0OSsyMDJEMkEzdThzZlpmOWh5SGZ2dWVkM2YrZWVlOCs1NXhKUitybXJpcTdFS1hXSGtBTVVqUnROSUpYa2RRQ3ZCRlEzZ2hDRlUwclVVWlB5TlduVWcvakNBUGUwQUx0U1JrdzdHZzNWR0VtaDladi9rS2lnN2hYaFJFSU5CQkVMRUtRZWhrREF2eHB3NFArZDc3Ni9ld1RjcmFoS0RYamVpeC8rY0ZPazlJd0lZSGZGNG5GZTRVeEZOUnFBMFI1SXlJQURKd1Awa3R3S3NpaHAySlRONFFJUEMzRERoNHRHUTJFQm9BWm9SVG9EQmlnQjhTM0EvWW84YUlyNlhoazRBU2hBNUdMUStCbklKQkZjcjVTNjFtY0tuVnNEdWNlQVBCOC9kTXJXcmdMdkV1Q0c4b1ZKb3RReWtsbXRwaG9JR0VkTXFIS2wxRWZlRnFsMVplUWVDa2JCdWswckV1SXVpUmtrd3JHa3lnVFFVMXRMVy9NSElDdzNhRXlQSDVwek1CaTVnVzFDQnJ5L2ZNRlVReGxMQUZ6ZXpuUzlKRFlwNFIvZG54N2RNcUtnb0NWVVpRTGJTMG1KMGRqanhGaUNUNUlxQTZSaFQ2NWxTM3AyajhHVUdVbkQ3bDhWeWpoQkE2N2J0TFFiemVOdkFwaHF6WGpyT2pOQmxDZ3ZDbEl5WjMwWnl1REJ0blZYcmV4dkdISDVJSE5ncllWV2g2ZkFWZkU5TDN1Q3JveFR3Y2dMQ3ZDL044eTd4cEM0TWxBTnRpZlpBWXpQVEpOUHVESm4xd1l6V0xodER2eDk5U0JsNEUyQXR6cldaVzF2UUhXTXB5Vzc5NGpKMzUxcmpITUNQckQyOTcwOGNkaEdxQnNjazZKUXM3cm94UEhqYzIvT0tUaDlya0VpK1gxZlNVbGM5MTdlK1NSbkExVE8raGJJdjB5dk1hclBzSHNPbjIyOHN3TDJNZnN4aUJ2dHhXT1owbyttNloxOGZkWUxIMFlTU0tpeUduZXV1VnRSclFiUTNXWmJHenUvTUU2ZUhuNDJwczhJdUdwbC9rV0pWOGRwOXovWWJ6N2tZUnJHK0orbnovNHNWQVdqMGI1cHh3ZTNRcG1WSUh0Wjhxbk5tOVhlVThkR3A0eVlkckt6TWM4SXVMNzhkeXNCVG5VRWtUd01NWWIzelh5MkxocktkMVZtMDY0UFhQREt4d0I2T2NRSXNTcHAwRDNUZ2daY1h6cC9LZ3lsQWR0OXlCK3AxT0MrZDgzWjIxWEZvdG12cWFia0ZvaXFCdEhkMFZrRTA1SUczOU5oeStyQWNFTjVmcEpJekY2UWwvdjhzUW1Gckw1M3Y3Z3hta3FISy90UTlkcTdSRWs1aE1vbVNSMVRMWjViMmg5T09nRGVYemEvbkdTbWMwd1U0QlZYMW90endsWG9mUFJ2cW41L0lhaWU4NW1sM2o0M0pLUk56QW9jdXczZy9lc0t4dEJRSDlsV2JEbjhmMzdmKytEQUFRUGU4cHdQaGNNZFEvWXNqMjMyWExOYkJMOXdvalI2Wld6OGtFbGJITmx0QU5lVnZid2JoQk1JaUxTWWcxMlQ1cDZYUTBXNFlKMytCNnBMQmhtTXFiWTVJMFN3SnpGdDRzQU9nT3ZLQ3NhQnJIUVdQWUUxcVJOZXVqOVNpcHhQT1FlcjE3NUw4ajU3V1FLbWNIeFNXcllWV3ZvWnJscy9meE9BZE50UjBldFZMVGYzeTV3WGxiTnh0TUc3YXo3b0gwdTFEOUFCaC82cGlvUkJFekw4Z092TFhrd0V1N2xGQisvMkhKUzdKcncwSVZURjZpb0xiNHFCZXNBVTc0Nis2Yi9SRTlqbDM0SHRLek5veEF5RDEvdE84c2lwbjRjcTZHRHQydlVLeW5KWW1rQVlTSW0vTGJ2SlFsZGZObitXQUl1YzBJczBNMUt6OGl0Q0dhU3BwdkJpencvVThlazFvQktLNUtXazV5ME5SWWJUdG5IN3Fsd29GdHZMa044eHRsdFNZbHJPaVZCa05kVytuMDdFK0NaZHA1a3dPLzZPN01VVzRMcXlnbXFBYVJaZ3daSFUwM3Q3TStkOWJ5Z0RmTFcxdUNjOG9nL3VsblNkNlNDUmx6SXVOeVRRcldCOXdTOHBGM1V6ZXZXOFkvSTNvZWhUVWxKaURFNk1iUmFkUk5DaUZHb1NiczhlVEhkcC9wVXROSTRBaVBVQi9wTXJlKzVqb1FoMzJuNVZVZmdxd05tdGlRRWxKaVF2TlVqUWpkdmZ6Z1Z0WnYweXdFWEpkejd3YkZmMGFhNWR0MExBUjMxUm5zZHpRbnF3Zm4zK2VCRlY0WVIrWGhQMzlwODR0NlFyQStnKzdvcmlRaUZtdGdicFNnd2dMM25jTTJkbHVoV3NuMWtkQ0JUMXVmUEJYM2RWbDhiYTBod0RlTS9CSmliVHViOTAzbTlKdnV4VFVFekZ4SDZadjIzdTZpQzZYME5sY1JIQnZOWW9Td24wbWo0RGFQZjJGYm1FVVd3dkJsOFlDaFFuajVnNk14dzltbW8yeEpNdFRiYkZXTG13bDdpL2JONjdCTy96ZWVjanJ1eTVQY01aeE9ucjNyeWtVRUNMYVhzL1ZBTEZ2SlRSVDdaaHVuSDdpbHlCS25iV3ZwWEJvR1oyYXBlWkRkVC9VRTNwTnlCNytEYmdOYXdySy9nVXdHMWFNYUY4Y3YyRS9LR1JBR3d4dlhtcHhYUnIrbFlKVE8zSWJORHVyY3R6U1p2WmdFUjhjZktJYVdFeDJ3Wnc3YnFkZ0JyaVkzaTNCcXkza2tTZkoxdnR5cG83SlZLQUxWQ2JseFdDTnRPTzl4WmdodjZtN094bm9JTXE2alB5NFlndzYyQm9yaTM5bTRDVGZRd2Ywb0NQV1drU2V3cGVkMlhuUHhOSndEYm8xNHJBMWpWdDdkUCtiS0E5RVNJc1RobjFTTVNZZFRBMDFheDdqVlJQKzg0WVAyckFPcjBaWjAyMHd1TFVyTG16SXcxWXl6dXc1WFgvbXU2WVhHZFJuNUdQUnBSWlA4Tzd5aGFKWUpZR0xPRHA4d2JZWXZxak43YUJIQmtJV01EdEthTWVHeFdOU2RZeW16c0JISFdUOXBsMUxwVFJ4aHY3MXpRbEwyWGtZeUdkeUlLZG9NNU1PcXBPU3l2V3VPV042YVpnU1R0dkhIQmhwcy9lbUpFODZwRmx3UUlKdGwxblRpdHEyNUpXNnF2Tnk2YVRxcTAzVnFySWprdmJlbThxemtpK2MxcEVRUjlxdnkxRjYrQmhtWEhGMGx4UnF0Zys1empiRW9wVHhqeGxlV1AzdHVWRmhPcHdJa3NlK1hERXpMdkR3U01hUjB1YjJTWFRBWnZaZ0h0alAxakhKQnUzclNnU3ZXWDVKb1NndmsrT0NOT2RIaTBqSFR6NHdRcjlhOVlDTENoT0dmZE1wL3VzZTl1S0l0Sm0yallHSlFxWWtYam5RMkdaZDZmQlF5VERRd3ZzcHFMcFVHM1hMTUV6Z3ZVelhmWG5JdEhIME5ZN0xBRTAwMTBIM1dsNHFBZHNud0Q0eCttOXZYTkNUQUJZWUN1TG5vWndXYUEzRmtGeDMvRzVRWjJnR3F0V0ZnSHdtemRJSVRBOWFmaURyd2ZybFoxMk9nR1FsaGlybzc2MkNRRGRvRU9LeHpRelVpZUdtT0twTEx6S0kvemFUaVRZSVI2cG1RME9iQ3ZUR25UZ01aUWVGZHZ0dXNTMG5QK0dBdnFzS1o1SUpQRWFTaFpld2N2aURvTzgyTDdGMDh6bUJjVnNleUNOVmF2c3M3ZnR5RTYwbkQ3ZXErK1l4MzhJQmZCWmszaTJXYyt2QURFK25EU3R1Nko0bkFrOERzcU92dU5uNmxOVmwzK05WU3Z6aEdxWU1yazhhZVNESVpVcnRVL1RpckF5TVMwNzNkcjVIWTIrWEo4LzNvQmhwM3JzRC84M2lYZ1JTVTlNbTFUWkJyRE44Z1YwMWFJQlgzQ1hhUmJvQyttNlZBTys0QzdFclgzNVFpcDVjTHgyWjBVdHNjb1ltcFR4YkVPWDk1b29kSXhJVVl2V3E3T3lKUUUzdURMbnRDa2hpQUtHb0VVMjcxanpTekhVSmdIdFhIbzRaVXU2ZnllRmFhV3BtWE1tQmExUkZCc2VyRjR6Z2NKM0FFYW1NTTNSMWIzeDFldTg0bGxBVThXWU1lcDVWOFp6UVpVQ1J3dXJMbktOdTd6SHl3Um0rU3RSTEdZalVIcDRMcVgvczJIZUpUK2RpTHZVbGZQQ3QrZHFHNG52alR0WEQ0SGdMWkkzdENzdS9TVEcwekl4SXNXbFoxSzBZZU1yQXlCcUM4anVBcXdWRHdwYzJiTytpQVN3OWpJYVAxbDFrNUxZK1FKT2JGOHhUNnEzVC9hNDlDbFhKTXVIT3dQUnNIR1JqbEdmQ3NoVjZiY0ptMGk4c2Z0WTdaYXV4Tk9CNDhpK2tyaUQzNTBjcDI4TlNJd1JmVTNnUzQzWjkyQThab2d4UFdIb3IvNGF5aVNmczN6NFRNTHFQMXg0SDJtOEd3QTQ4TTNERVVDVkE3SWxyaHRyRWtZRTlRU0F6VHYva3RqUzRoMEdxakVBN3dKNGRhZFBBTUJTdzhTTStPSDNoL3phcGN1QXJWT1pmdVJCTEFEUC9zaUR4QkVJRzZCNEFPQVBWUHhKVE1iUVlKd0lyaVZVQXNCK1VMeXFYYlc5NzJyWGwvRWtkaW5paFlRaFU2cENZVFd3YlZpQXRTQUJlS0JpOFZnUnprUTBudkdRTFlxc05Na2x5V0c4Wm5GQWh3MDRjUGIwUXkxNk1aazBNa0hlRGpLbTlVSThwSWRhcHdudU1rMnNQeVY0cjkrb2g4S3FTSWdvdzJjeXJYMlZoVmRkeHRqYlJUZ1FTdm9MbEF0Z1Q1SlhnTFNmNG9HblNCNEYxV0dBRFlCOGJncjJpTm55YWFncG5XQk4vSDlXd0pJL2tkbDBjZ0FBQUFCSlJVNUVya0pnZ2c9PSJ9LCIyMjhmIjpmdW5jdGlvbih0LGEsaSl7dmFyIGU9aSgiOWM3NCIpO2UuX19lc01vZHVsZSYmKGU9ZS5kZWZhdWx0KSwic3RyaW5nIj09PXR5cGVvZiBlJiYoZT1bW3QuaSxlLCIiXV0pLGUubG9jYWxzJiYodC5leHBvcnRzPWUubG9jYWxzKTt2YXIgbj1pKCI5NjdkIikuZGVmYXVsdDtuKCJiNDdiZTdhOCIsZSwhMCx7c291cmNlTWFwOiExLHNoYWRvd01vZGU6ITF9KX0sMjM3MDpmdW5jdGlvbih0LGEsaSl7InVzZSBzdHJpY3QiO2kucihhKTt2YXIgZT1pKCIxZDU2Iiksbj1pLm4oZSk7Zm9yKHZhciByIGluIGUpWyJkZWZhdWx0Il0uaW5kZXhPZihyKTwwJiZmdW5jdGlvbih0KXtpLmQoYSx0LChmdW5jdGlvbigpe3JldHVybiBlW3RdfSkpfShyKTthWyJkZWZhdWx0Il09bi5hfSwiMjUyYiI6ZnVuY3Rpb24odCxhLGkpeyJ1c2Ugc3RyaWN0IjtpLnIoYSk7dmFyIGU9aSgiYzRmOSIpLG49aS5uKGUpO2Zvcih2YXIgciBpbiBlKVsiZGVmYXVsdCJdLmluZGV4T2Yocik8MCYmZnVuY3Rpb24odCl7aS5kKGEsdCwoZnVuY3Rpb24oKXtyZXR1cm4gZVt0XX0pKX0ocik7YVsiZGVmYXVsdCJdPW4uYX0sMjYxMDpmdW5jdGlvbih0LGEsaSl7InVzZSBzdHJpY3QiO2koIjZhNTQiKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoYSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksYS5kZWZhdWx0PXZvaWQgMDthLmRlZmF1bHQ9e25hbWU6ImxvYWRpbmc2IixkYXRhOmZ1bmN0aW9uKCl7cmV0dXJue319fX0sIjI4NWQiOmZ1bmN0aW9uKHQsYSl7dC5leHBvcnRzPSJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUM0QUFBQXVDQVlBQUFCWHVTczNBQUFBQ1hCSVdYTUFBQXNUQUFBTEV3RUFtcHdZQUFBR2hXbFVXSFJZVFV3NlkyOXRMbUZrYjJKbExuaHRjQUFBQUFBQVBEOTRjR0ZqYTJWMElHSmxaMmx1UFNMdnU3OGlJR2xrUFNKWE5VMHdUWEJEWldocFNIcHlaVk42VGxSamVtdGpPV1FpUHo0Z1BIZzZlRzF3YldWMFlTQjRiV3h1Y3pwNFBTSmhaRzlpWlRwdWN6cHRaWFJoTHlJZ2VEcDRiWEIwYXowaVFXUnZZbVVnV0UxUUlFTnZjbVVnTmk0d0xXTXdNRFlnTnprdVpHRmlZV05pWWl3Z01qQXlNUzh3TkM4eE5DMHdNRG96T1RvME5DQWdJQ0FnSUNBZ0lqNGdQSEprWmpwU1JFWWdlRzFzYm5NNmNtUm1QU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUx6QXlMekl5TFhKa1ppMXplVzUwWVhndGJuTWpJajRnUEhKa1pqcEVaWE5qY21sd2RHbHZiaUJ5WkdZNllXSnZkWFE5SWlJZ2VHMXNibk02ZUcxd1RVMDlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2ZUdGd0x6RXVNQzl0YlM4aUlIaHRiRzV6T25OMFVtVm1QU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDNoaGNDOHhMakF2YzFSNWNHVXZVbVZ6YjNWeVkyVlNaV1lqSWlCNGJXeHVjenB6ZEVWMmREMGlhSFIwY0RvdkwyNXpMbUZrYjJKbExtTnZiUzk0WVhBdk1TNHdMM05VZVhCbEwxSmxjMjkxY21ObFJYWmxiblFqSWlCNGJXeHVjenA0YlhBOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOGlJSGh0Ykc1ek9tUmpQU0pvZEhSd09pOHZjSFZ5YkM1dmNtY3ZaR012Wld4bGJXVnVkSE12TVM0eEx5SWdlRzFzYm5NNmNHaHZkRzl6YUc5d1BTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM0JvYjNSdmMyaHZjQzh4TGpBdklpQjRiWEJOVFRwUGNtbG5hVzVoYkVSdlkzVnRaVzUwU1VROUluaHRjQzVrYVdRNk5EZzBNVFEzTWpjdE5qSXpPQzAwWkRWa0xXRmlNREV0WW1RMU5qRTJZakppTXpoaklpQjRiWEJOVFRwRWIyTjFiV1Z1ZEVsRVBTSjRiWEF1Wkdsa09qazFPVEZGTjBNME1rTkZPREV4UlVNNE5VVkdPRE5GUXprNE9FTkJOME5GSWlCNGJYQk5UVHBKYm5OMFlXNWpaVWxFUFNKNGJYQXVhV2xrT2pCak56QTFOV0kxTFdObFpUWXRORGN4WWkxaE16WTRMV1kzTXpGbFlUZzFaRFpsWXlJZ2VHMXdPa055WldGMGIzSlViMjlzUFNKQlpHOWlaU0JRYUc5MGIzTm9iM0FnTWpJdU5DQW9UV0ZqYVc1MGIzTm9LU0lnZUcxd09rTnlaV0YwWlVSaGRHVTlJakl3TWpFdE1UQXRNVFJVTWpBNk1UWTZOREFyTURnNk1EQWlJSGh0Y0RwTmIyUnBabmxFWVhSbFBTSXlNREl5TFRBeUxURXhWREU1T2pJMU9qUTFLekE0T2pBd0lpQjRiWEE2VFdWMFlXUmhkR0ZFWVhSbFBTSXlNREl5TFRBeUxURXhWREU1T2pJMU9qUTFLekE0T2pBd0lpQmtZenBtYjNKdFlYUTlJbWx0WVdkbEwzQnVaeUlnY0dodmRHOXphRzl3T2tOdmJHOXlUVzlrWlQwaU15SWdjR2h2ZEc5emFHOXdPa2xEUTFCeWIyWnBiR1U5SW5OU1IwSWdTVVZETmpFNU5qWXRNaTR4SWo0Z1BIaHRjRTFOT2tSbGNtbDJaV1JHY205dElITjBVbVZtT21sdWMzUmhibU5sU1VROUluaHRjQzVwYVdRNk16RmtOems0TnpRdFpXSmlNUzAwTVRrNUxXRTJNREV0WXpabVkySTNNRGxtWXpVNUlpQnpkRkpsWmpwa2IyTjFiV1Z1ZEVsRVBTSjRiWEF1Wkdsa09qUTROREUwTnpJM0xUWXlNemd0TkdRMVpDMWhZakF4TFdKa05UWXhObUl5WWpNNFl5SXZQaUE4ZUcxd1RVMDZTR2x6ZEc5eWVUNGdQSEprWmpwVFpYRStJRHh5WkdZNmJHa2djM1JGZG5RNllXTjBhVzl1UFNKellYWmxaQ0lnYzNSRmRuUTZhVzV6ZEdGdVkyVkpSRDBpZUcxd0xtbHBaRG93WXpjd05UVmlOUzFqWldVMkxUUTNNV0l0WVRNMk9DMW1Oek14WldFNE5XUTJaV01pSUhOMFJYWjBPbmRvWlc0OUlqSXdNakl0TURJdE1URlVNVGs2TWpVNk5EVXJNRGc2TURBaUlITjBSWFowT25OdlpuUjNZWEpsUVdkbGJuUTlJa0ZrYjJKbElGQm9iM1J2YzJodmNDQXlNaTQwSUNoTllXTnBiblJ2YzJncElpQnpkRVYyZERwamFHRnVaMlZrUFNJdklpOCtJRHd2Y21SbU9sTmxjVDRnUEM5NGJYQk5UVHBJYVhOMGIzSjVQaUE4Y0dodmRHOXphRzl3T2tSdlkzVnRaVzUwUVc1alpYTjBiM0p6UGlBOGNtUm1Pa0poWno0Z1BISmtaanBzYVQ1NGJYQXVaR2xrT2prMU9URkZOME0wTWtORk9ERXhSVU00TlVWR09ETkZRems0T0VOQk4wTkZQQzl5WkdZNmJHaytJRHd2Y21SbU9rSmhaejRnUEM5d2FHOTBiM05vYjNBNlJHOWpkVzFsYm5SQmJtTmxjM1J2Y25NK0lEd3ZjbVJtT2tSbGMyTnlhWEIwYVc5dVBpQThMM0prWmpwU1JFWStJRHd2ZURwNGJYQnRaWFJoUGlBOFAzaHdZV05yWlhRZ1pXNWtQU0p5SWo4K1RydXozUUFBQ0lwSlJFRlVhSUhWbVQyUEhGa1ZocDlUWTJtOUdLbWJoTlVpVnRNU2duU0tKU0dic29RRTJUUWlJWnUyQ0FuYyt3czh6c2pjUmtoRXlEMi93TzJReURVQkVRajEvSUx0a1pCQUt5RzYrZG9Gai9zbHVOOVYxYlpGZ2lpcCsxYWRlK3ZjOC9HZWM4KzlaWkw0Zjd5cS83VUEvKzExQitEMTczOEZaa0FGWnBodnNhb0J1OENxMDd3ZnF3RGY1dU9wTGpHN3dHeERvdm5XaW5mTlBUZGdjOHpPWWo4R2NJblp6Ti8zcjQ4K0RoWVhTTEVWQXJSQWVnazZMZm83WTR0N2RBNzZGREh2dllPSHBLTTFRcjhEdlFTZDlmakMwaldIWVh3bk1qUHpMV05RaXpqQnNza3NLQWhZMWdLU25MRlMveE9nQnBzbFd1VC9DOFJQM2JNM2NHamhjK0Rub05aTmZNRGlNR0J4V0NHZHFHL2RhNlJQZ1B0SUJud0ZkQi94RkhTalpNMHcvdHg3alRpSCsvMGtQS3Z3aGdDOWovUmpZQnBmT1dEMXFoeWdDK1NoNFMwSjdKQis2Q3lvQlZMcngyNzkvUncwUVhwY3dnR1E2ZzRNSm9pN1BiaVY4aDBqUFFjdFFlTzNXOXhOL3FnejBRMVNBMW9keEhtNnZ4RDZOdEl1bzdWSkVZSFlnQ2FnWDRNMndKWGdlZ0RqQU9kQWl6UWVzdnFkS0xpNGNFQ05PTjBocGpLdExVemV4WG1mdnNaVUkyYSt2MDM5QWN6Y0lINlFZUjdFQk9QQ0M1dHNhWnlBdFlnRzB6Ykh2RW5pOVc5L0NXWmJyQnJGTkljOXhxb0xsKzVTNml0VDRrQjZ4RERMVStCUVdnemowM09XSGxlWWpUcnA4Y3IzT2FrLytqaGFmQW8yU2hiUURtTVJyQ3N6ek4xNFN3ZHJLY1dISmVzTFlhSjJrMm1DckU2WnlQQXcyWUMxUUlzUFU0TVdxSUVWY0pLeWpaMGlGcGptUVhndk9IWEhwU3RnbThQQVpjd09QUHJ3R1FNenBEbkdjUUdyS0lSQW5IcW9QTUxZSVpZWUMyUWJqSTJEQmkxd2tuRERRN0Fsc0lZVW5KTXlJMmlUWlpyaG9Cd0lUdmVlbm9DTzllWUZLTzhiT2FINFZER1RhSXMwQmUxU09nMHMzTE5QaDE3d3hMUk5RaVdMYWxCb2F0QWFlSVEwaWpOa2svU0Z6WTFDM25lT3RISFFaUVBNc3ZkM2ZoNGdaWlZ0d2krQTFialZNNk1GSVFxY041aFd3R2dBTnI3UkZjWWEyVGJMUkExR2pXeFV3c2dRakF5ZWd6NXh1TWJBR21DY2xFZ1lYNFBPTXNFbVdTQVZPSlhKeTZjcHh2T2lQekEyYmtBWGlCV21iZGx2ZWNrd0JlYkFhUXA0UWdYeUJKajQvalpYRGhKVU5oMjNUVXY4WnU1MnRCcUh4eTU5NXl5bENkSVN0TlZRZkNTNHJOd0N4MzJrbTNJK0FCNGlENWZPRllLelRhTUY2QmhvQnJFcGpRVXIwQ2hiRVVHNnhtV25SZVRsRGFHb09DVy9SR3RCTmVneWpNbnFtSVh2SytRSUc0a04wb3VPaFpmRVdxRlFZQTQ2VnVtSmExQVRQWGNvRXgzMklDN09tSUV1QzRQQUNMRVl0TGgzNTZMRDlCaTBMSmxvQW5yVThjUU9ORVhhdmtsbzlTemRVU0RBRk0yY0lZS3ZCT2dVYVpZckhvc3N1VlhyUlFZWEVHZEpJVy90RkFlQjhlemRMWDJvUC9jcUFOTk9zUlk4SGNlblBhZWlFRGNkQzlTUmNVZHIwQlh5bFdQa0VjYUc5eE5kZy8wRFNqbERMSnh4SXBzVFJCM0V6Y3RhaExhNEluNDN3TFFCalVxUGFLR2sxRHRadXJlaUtuOC9VNGFBNnlKUXAwR0xPM0ZzM0VKcGphZ3hwb2cxWmx1Zlg1czgxL3BDYkJVbkg2cGpvTGZORzFxb1hKdXZHUWJTRnVNRjRzenhNeWVEWjVQcThVeGZndzJ5Ulp6QVNkQWtvUXdzYlJJY3o2NGdod1VWaHVWMDh2NzhIVnF3czJCM2c5TWdaNGJ4OHYwMzRDLzByWE1BbHVreFp6UkVWNGZlb1NVWXJmdHpGNElyLzQyUjVxQTU4bm5jQ1hCYWFqZVFTZDZHODBOWUYvMnhqcmJKRmZML05SVEhFd1JYdGNDSnU3WEdCVVNRTjY4emJOUEZhVmJIOUhGOGlGNzBXNWUyY1IxRkhUTTJobzdnNUl0M3AvRlpab0dzbGhDNGxUSUo5STZXUnNubGI2bGo4SFZNRnlwckdEeFhTVCtWakRZRjQ3RDc3dUExT25VSTN3TTQxd0c2cDQxTG1RQ1hzZzhjZXFyYmlvUzMrTnlrUWFYaSszOStWdXVMUDYvMDc3L05kUHZGdU51UFJIWHZ3M0gxNWEvUHFudGZXOW05RDdNeDBQZHFOTVJOR0JQcThkUnAzQURIa1NwcU05YUlGclB6cEEwblNCTzNSMHliRVAzamp4T3NhaVViMmI0Nnc2cG52RDY2NXM3ZExVZnZZVWQzNGVpOU1YcDlnaXEvNDZkRnFzdFVhT0JxZmpMK2JibFo5cFc3dnphZzQ1aFRzVnF3TnI4YlQ3bld3RFJEWEJUQkJhQTk3RjhqZTQzdGI1RzlPckg5a1JQU2pxQTZRdnNxUDhhWURBUnk0emJjOFR3R1pHM296NkFTM2RoU1hORmRHNlNyRXIrYUUzRG9YV3J2ZjNVRE5HaS9ZMzhMdW9YOUs3Ui9CZnRiMzc3eTlGdlEvZ1pvQnVxWWl3N21kN2lOUnc0VmVRc0NzTzZreHlrd0Ztek5IUStjSmdzd3dyUkVUT09TRGRpWFBsaURqZlg1WjdYMnQ0MVpOV2IvcXNhT3hsaTExZjVvYlhhMGxSMjErdnNmMXVtd0tGcDlEcHgyMHU4cUJDYmdUckp1Zi9NejUzOEhqVEhZWDlJcGtvSFpBN0NsT2RvR00rZkNkQ0wxQUt1V3hOT25kTUkxZUFwMjRBTUJWSmhaalZVdDJDanIzMkZXdTdrcjdCdE5CeXJPWUZ2eVhZajdMVURqV0g5MzRRWFBVc2tiNkpEVjdKMDBWNlM4SEI2MVhLQ095alNvaFZ1cGllOE1wRU1CTER1a0ViRHcvRnVrcHdQcDZ4blNvcDhlZVVzZEU4Zk9RSm5RY2Z3MThualA4bmxIY0lGWUFndlFuenBXUC9lTUcxd2RjNVVKSFJnKzlFRTg3U2x3ZUVXdGNadmxaMEhvckk3Witma281eXJ5T0hpQnozMHdKQWVrUTV0VDRLV3dTNE9wbXpDVUNER1FqakY3RHJyQm5hdXNFR3VadGxrZDAwQThqajRoMFpNMzNERjM0NDZYczM2dlF4YWNnTnY5UE04Q2xSUnc1YjJabVg5ZVFuVSs5R1d0LzNWdUlGQ0xNZkgrR3F3eHE3WkR4OVgyemUvMU1MNENub0t1MHdMWmhZTUEvU3VyWTJhZ0IrQTN0L240RGp3VVhOZ0o0Tmk2OFk4OWZMWUpNblQ0OWFFQzdzZ3JESzZCQ1ZnTmZCZjREdUt2R0Q5S0s2akFXRHBZMkJ4M3hEd3FWN3dFQTdkSWQraXV2Y1FkMjIwT2w4RVdGZWxDcFhNRmFPVDNKWFNzNTBvYll6YUZhdW9POXF1UmcwU0NSL1lCK0Fwc2hWV3I0cVB1NFEvQTd2bGIzeCswZUhabG12Wm9UcGw0bStoYlpFdS9vb0pwQWt6eVZkQUg2bnA0d3hFMkRXRWx0VVRQOFB1TzMvSnp6SFlWNjZhOWJIeDNURUVqUFEvaU9OMzN0M253SHgrL2hkMEdQOTNnQUFBQUFFbEZUa1N1UW1DQyJ9LCIyOWUxIjpmdW5jdGlvbih0LGEsaSl7InVzZSBzdHJpY3QiO2kucihhKTt2YXIgZT1pKCI5MzZlIiksbj1pKCI4YjI0Iik7Zm9yKHZhciByIGluIG4pWyJkZWZhdWx0Il0uaW5kZXhPZihyKTwwJiZmdW5jdGlvbih0KXtpLmQoYSx0LChmdW5jdGlvbigpe3JldHVybiBuW3RdfSkpfShyKTtpKCJiYjFlIik7dmFyIG89aSgiODI4YiIpLGQ9T2JqZWN0KG9bImEiXSkoblsiZGVmYXVsdCJdLGVbImIiXSxlWyJjIl0sITEsbnVsbCwiZmUwOTI1ZDAiLG51bGwsITEsZVsiYSJdLHZvaWQgMCk7YVsiZGVmYXVsdCJdPWQuZXhwb3J0c30sIjJhZmEiOmZ1bmN0aW9uKHQsYSl7dC5leHBvcnRzPSJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVNRQUFBQlJDQVlBQUFCN1lkc3FBQUFKemtsRVFWUjRuTzJkeTQ4Y1J4M0h2LzJhV2EvdFhUdU9TUnc3SmkrU0lNRU5rRkJpL2dKT1NGdzRjVU9ST0NBdWlCczNoSVFpSllyZ0FrZUVPQVZGSEpBNGdDQThoUVFXanhnc0RJUVFPNDRmdXpzek84K2VSci91WDQrcnE2dDNuajFydk4rUFZKcXU2dXFhdFdmbnM3K3FycTd5ZnZ6YUZ6R0Zyd040VVJNaGhDekttNXErV25WOU9LWGhud080eFA5K1FzZ0t5QU9iRndCOHl0V2NmOEI3ZklzeUlvVFV3Q1h0ZVpVNFNFZ3Y4Wk1naE5TRWN3aW9xc3RXcUx6UmpIRCs3Q21yaWpmOXg1eGFaWVkyS3E1eFhsblozRHp2NDZnNzM1c3QzVjUxeTdPME5jdlBWVjg3M2lyYVdmai9lL0YydkdsMTF2dzdzRkNiVTRzWC83NHRldHBzNDhwYmw4MUNwNUNxSXFTVGhVcmwzekpDQ0ptWkpFbnNxdjE1aE5Rd00vUVJJV1FaSEVLS1hjMVZDV21yVU1rN2FLaUpFRUlPeHZkTER0bWNSMGpiaFVvK1F5UkN5SEo0NWNDbUpLVXFJWjBwVktLUUNDRkw0cFhIZmlLN29FcElaODFNVUE2M0NDRmtMdnlnNUpFdHU2REtOSThVaEZSdWlCQkM1c0lyenhHWU9VSjZ6TXlFRkJJaFpFbUNJTEFic0NjM1ZncnBncG1oa0FnaHl4SUVwWG5ZWiswQ2wybmtxb3RtUWVDWHpFWUlJWE1SaHFVZTJybFpoRlRxcm5GaUpDRmtXUnhkdG9mdEFwZVFualF6VWNqb2lCQ3lQR0cwV0lUMGhKa0p5MVlqaEpDNWNVUklaK3dDbDVDZU5UT01rQWdocThBeGhuVGVMbkFKNlJrelF5RVJRbFpCRkRYc1ZpN2FCUlFTSVdRdE9JVDBRYnZBSmFUbnpFd1VVVWlFa09XUlo5bkNzREFYcVFuZ1ViUEFGdExqQUk3bkdibmx6OFhaQ0NHcklwd1NKZGxDNG9BMklhUTJvdkt0LzhJNGtpMms1ODFNSTVxMlN4SWhoTXhPRkRYdHVvVjVqN2FRaXVOSGpKQUlJU3VrVWU2eVBXVm0yR1VqaEt5TnFGRVMwdE5teGhiU2g4MU1nM2ZZQ0NFcnBORW9kZGtLMDR4TUlXMmFBMHpwTFRvK05rSUlXU0V5Vzl0YXl2WUpjNkUyVTBnZk1tdXh1MFlJV1RVaUk4Y0V5Y256czZhUTJGMGpoTlNPUTBpVGNTUlRTQnpRSm9UVWptTmdlM0tuelJSUzRaWi9JK1FjSkVMSTZuSGMrcC9NUmVJWUVpRmtyVVRsTzIzT0NJbFArUk5DYXNjeGhsUVMwa01BVGs4S2ZZKzcxUkpDYXNFaHBGS1hyVEI5bTlFUklhUXVaQ2xiYXpuYmJRMktLb1RFQ1pHRWtCcXA2cmJsUWlvc0FSQ0czQmlTRUZJZmpvSHRkQzVTYmg1cnAxcEdTSVNRK3FpNjlaOEw2WEh6RExmT0pvVFVTZFhBZG02ZXdtNjFBWVZFQ0ttUnF0bmF1WGtLbS80SFBvVkVDS21QcWdkc2MvTVVWdjVuaEVRSXFSUEhwcEdwZzN4ZGkyU3kwNGhNaCtST0k0U1FPdkY5SDU1WENIeE95SnBzdms1S211Q3p1MFlJV1FOaGVST1JjNzZ1RkRtQndSRWhaQjJFUWFuYjlvaXZvZElFUHNOR0NGa0hZWG1Kb3pSQ3NtWkJVa2lFa1ByeC9kSUU3QzBPR0JGQ0RnV3YzQnM3UmlFUlFnNkZvQndoblJRaHRjMlNjWkx3MHlHRTFFLzVEbHBEaExSbmxvekhZMzRTaEpEYWNVd3hPaTRsTzJiSmVKeUFNUkloNURBUUljVUEzakhmTzQ0WkpSRkMxazhlTS8zYmZPZlJLT1pIUVFpcEZjZndVQ2NYMHAvTTBzRnd4RStDRUZJclNWbEkrN21RTHB1bGZRcUpFRkl6bzFISk16ZHlJZjNDTE8wTmh2d3NDQ0cxTW9wTG5wa0k2UzJ6ZERDTU1lTEFOaUdrUm9hRGdkMzQxVnhJWXA5Zm1tYzYzVDQvQzBKSUxjUnhqT0d3SUtTN0FONDJaeVo5M3p6YjZ2VDRTUkJDYXFIZjY5ck4vaEhXM3Y2dnl5aDNucEdCYlk0bEVVTHFvTjFwMmEybTQ5aW1rTjRGOEcyenhwM2REajhNUXNqS2FiZDI3U2JmaENVazRXZG1wdHNmWXJkZENxMElJV1JoV3ExZERBYUZNZXBiQUg3aUV0S1BBSHkzVUhPbmpmZDMydWt6Ym9RUXNndzdPN2R4L2QyMzdSYStreCtVMXBBRThEVUFud0Z3T2kvWWEzZlIyZTlqNjhRR3RvNGY0ODYyaEpBNVNOQnE3ZUgyN1p2b2RmZGRsNzJlSDdpRUpBL2F2cVRqU1JNcHhlTXg3dTd0cCtsWXM0RVRtMDBjMzJoeUR6ZENpSU1FM1c0WHJiMGQ3TzN0WWpTcXZFSDJaUUMveXpNdUlRay9BUEFYbGRLTDlzbHVmNUNtOTlGQ013cFRRVzAwb3pSeDExdENqaUlKZXIwZXV2c2RkTHY3NkhUYWlPTURIMEdUTzJaZk1ydHJPRUJJd3A4QlhBTHdGUUNmQi9DOHE1Sk1EMGlmZmROMUo2TXdRTE1Sb2RrSVUxazFvcEJSRkNFUEdES3BzZGZyb3Qvdm9kdk5KRFRING82dkFIZ1Z3RFg3eEVGQ3l2a0dnSmNCZkFIQTV3Qjg4cURLdzFHY3ByYlJWWlNvcVpIS0tVaGZveWhJeFJVR3M3dzlJZVF3U0pJRXcrRVF3MkVmL1g0ZmcwRXZGWkRjSVpPWjFuTnlUU2RmL3hEQTc2c3VuZFVJMGdGOFRkUFRBRDRONExNQVhwamxZaGwveXJwNXhYTFA4ekl4aFptZzBoUmtlWW1xMlAwanBFNlM5SWw3a1k2TThValVNeGhrcjNsS2xsdGovMjhBM3RBNVJtL01jc0VpSWNvL05PUjZSYWNOZkVMSG1TN3A2ME96TmlUL1dGbDdxV3I5SlJGV21BcktUKy9zcGNlQnlDcEk4eUlzZWZXNDNTNGhCU1NDa1RFY0VVNDh5bDR6NldUeXlkSm9XZUhZWE5ZWjE3L1MxM2ZtdTN3eElabElwL0UzbXI2cDVjOEMrRGlBandINEtJQ1B5QmE1aXpTZWhveGk4Q25MTS9tZWwwVlVJaXVWbE9SbEVmSEE5OUx0VnZ3Z1AvWmRpNHNUY3Q4aTN3TVJ6SGdjcTJqc3BPSXhYbGNzR2hmLzB1ZlAvZ0RnMXdCK2EyOFlzZ2gxRE9MOFhkUDNqTEtIRFRsSmVrNjdmaGRXOFlheWRkTll4NjVtSmU4Uyttbnk0SHVac0h5clRGNHp1WG53dEk1RVpJekt5S3pJWUsra0pCbW42OVduWWhuSGsvSk1OT1p4ZGk2WHpTSHZCQ1E5b3FzQXJnRDRxNUh1MXZGbTZ4cFZscW5oUDlWa3NnSGdLVTBpcUdjQVBBbmdJb0R6ODNULzVrVitBWmJaekNDWFVxQ2l5Z1NXQ1MwL2wwb01YaHFkZWJydGkzbE90aTJYNjZIWElZMzJmR1JGbE40NkVERWdYMDQxeWFJUitRT1hwQUpKMHZGUGFMMUV5OVB6VWsvcjNCUExQZW5JYTE1Mm4zTmRsdjNRN3RVL2pYUk4wMXFmc0QvczIxdzl3N2d1TmcwNVhkRGp4elIvRnNBNUFCK1FMWGpYL1lNbmsxOUs2TVl0OVRHUmxaK0p6WlNWdkpoZFVQTTRGWjhoTlUrdkI0cWlTMjhlbE56bkxkUzFMVHUwV3FycEY5aFZucVJtS0pSSmJtejlBUm1QWStQNFhsdVpPQks5THBsSVlhelN5WVR5d0M5QUtCSE1ld0J1cW5SdUFQaVBpdWUvS3FIcjZ4Yk9OTzczKys3N0dpcGVtVkx2SklCSGRhd3FGNVc4bnRFbzY0eHhMTjNIN1RYOS9DdWg4SVVpUnhFeDcyMU5kNnpqV3lxZG15cWdHM3I4ZjduQzRvTXlFYWlsNmVxTTlVTVYxR2w5M1RiU0tVM2JWdHBTOGNtNTR6SUh0T1ovRTNsd2FPa2ZWNWsrdkt1YnMrNU9TWGMxM2RKNlI0S2pPak54cEg5TjNsdWlqY2dRMUtaS2FrdlRwaVk1RGxSOG9kYmYwQzdtQ1czamxOYkpvN2FUV3JkNUdGM1JJMFppZk5uM05CS1JZWVN1Q3FTdjVTT1Z5RUFmZVhDZGErdTVqb3BrWDlPUmtja3E0RlRweFJscXlIeW41dmN4WlpWTHJLbkN5ODl2R2ZWekNjS1FYNDVJcytGNGoxTVZnejNiamlWcVZrbEh2K1EyYmNmWXh0ajZjdHY1bHNvQmhqanNlbm03UFhOMVZIS2ZBT0IvQzQveWx6TDNOdklBQUFBQVNVVk9SSzVDWUlJPSJ9LCIyYjE1IjpmdW5jdGlvbih0LGEsaSl7InVzZSBzdHJpY3QiO3ZhciBlPWkoIjlkYTIiKSxuPWkubihlKTtuLmF9LCIyZmIxIjpmdW5jdGlvbih0LGEsaSl7dmFyIGU9aSgiYzg2YyIpO2E9ZSghMSksYS5wdXNoKFt0LmksIi5jb250YWluZXJbZGF0YS12LTM3NTYyNjI2XXt3aWR0aDozMHB4O2hlaWdodDozMHB4O3Bvc2l0aW9uOnJlbGF0aXZlfS5jb250YWluZXIubG9hZGluZzUgLnNoYXBlW2RhdGEtdi0zNzU2MjYyNl17d2lkdGg6MTVweDtoZWlnaHQ6MTVweH0uY29udGFpbmVyIC5zaGFwZVtkYXRhLXYtMzc1NjI2MjZde3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwcHg7aGVpZ2h0OjEwcHg7Ym9yZGVyLXJhZGl1czoxcHh9LmNvbnRhaW5lciAuc2hhcGUuc2hhcGUxW2RhdGEtdi0zNzU2MjYyNl17bGVmdDowO2JhY2tncm91bmQtY29sb3I6IzE4OTBmZn0uY29udGFpbmVyIC5zaGFwZS5zaGFwZTJbZGF0YS12LTM3NTYyNjI2XXtyaWdodDowO2JhY2tncm91bmQtY29sb3I6IzkxY2I3NH0uY29udGFpbmVyIC5zaGFwZS5zaGFwZTNbZGF0YS12LTM3NTYyNjI2XXtib3R0b206MDtiYWNrZ3JvdW5kLWNvbG9yOiNmYWM4NTh9LmNvbnRhaW5lciAuc2hhcGUuc2hhcGU0W2RhdGEtdi0zNzU2MjYyNl17Ym90dG9tOjA7cmlnaHQ6MDtiYWNrZ3JvdW5kLWNvbG9yOiNlNjZ9LmxvYWRpbmc1IC5zaGFwZTFbZGF0YS12LTM3NTYyNjI2XXthbmltYXRpb246YW5pbWF0aW9uNXNoYXBlMS1kYXRhLXYtMzc1NjI2MjYgMnMgZWFzZSAwcyBpbmZpbml0ZSByZXZlcnNlfUAtd2Via2l0LWtleWZyYW1lcyBhbmltYXRpb241c2hhcGUxLWRhdGEtdi0zNzU2MjYyNnswJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgwKX0yNSV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgxNXB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgxNXB4KX01MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDE1cHgsMTVweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgxNXB4LDE1cHgpfTc1JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMTVweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgxNXB4KX19QGtleWZyYW1lcyBhbmltYXRpb241c2hhcGUxLWRhdGEtdi0zNzU2MjYyNnswJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgwKX0yNSV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgxNXB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgxNXB4KX01MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDE1cHgsMTVweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgxNXB4LDE1cHgpfTc1JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMTVweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgxNXB4KX19LmxvYWRpbmc1IC5zaGFwZTJbZGF0YS12LTM3NTYyNjI2XXthbmltYXRpb246YW5pbWF0aW9uNXNoYXBlMi1kYXRhLXYtMzc1NjI2MjYgMnMgZWFzZSAwcyBpbmZpbml0ZSByZXZlcnNlfUAtd2Via2l0LWtleWZyYW1lcyBhbmltYXRpb241c2hhcGUyLWRhdGEtdi0zNzU2MjYyNnswJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgwKX0yNSV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKC0xNXB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlKC0xNXB4KX01MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKC0xNXB4LDE1cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTE1cHgsMTVweCl9NzUley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTVweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTVweCl9fUBrZXlmcmFtZXMgYW5pbWF0aW9uNXNoYXBlMi1kYXRhLXYtMzc1NjI2MjZ7MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDApO3RyYW5zZm9ybTp0cmFuc2xhdGUoMCl9MjUley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtMTVweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtMTVweCl9NTAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtMTVweCwxNXB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlKC0xNXB4LDE1cHgpfTc1JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDE1cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDE1cHgpfX0ubG9hZGluZzUgLnNoYXBlM1tkYXRhLXYtMzc1NjI2MjZde2FuaW1hdGlvbjphbmltYXRpb241c2hhcGUzLWRhdGEtdi0zNzU2MjYyNiAycyBlYXNlIDBzIGluZmluaXRlIHJldmVyc2V9QC13ZWJraXQta2V5ZnJhbWVzIGFuaW1hdGlvbjVzaGFwZTMtZGF0YS12LTM3NTYyNjI2ezAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlKDApfTI1JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMTVweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgxNXB4KX01MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDE1cHgsLTE1cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGUoMTVweCwtMTVweCl9NzUley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTE1cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xNXB4KX19QGtleWZyYW1lcyBhbmltYXRpb241c2hhcGUzLWRhdGEtdi0zNzU2MjYyNnswJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgwKX0yNSV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDE1cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGUoMTVweCl9NTAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgxNXB4LC0xNXB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlKDE1cHgsLTE1cHgpfTc1JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xNXB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTVweCl9fS5sb2FkaW5nNSAuc2hhcGU0W2RhdGEtdi0zNzU2MjYyNl17YW5pbWF0aW9uOmFuaW1hdGlvbjVzaGFwZTQtZGF0YS12LTM3NTYyNjI2IDJzIGVhc2UgMHMgaW5maW5pdGUgcmV2ZXJzZX1ALXdlYmtpdC1rZXlmcmFtZXMgYW5pbWF0aW9uNXNoYXBlNC1kYXRhLXYtMzc1NjI2MjZ7MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDApO3RyYW5zZm9ybTp0cmFuc2xhdGUoMCl9MjUley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTE1cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xNXB4KX01MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKC0xNXB4LC0xNXB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlKC0xNXB4LC0xNXB4KX03NSV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKC0xNXB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlKC0xNXB4KX19QGtleWZyYW1lcyBhbmltYXRpb241c2hhcGU0LWRhdGEtdi0zNzU2MjYyNnswJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgwKX0yNSV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTVweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTE1cHgpfTUwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTE1cHgsLTE1cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTE1cHgsLTE1cHgpfTc1JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTE1cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTE1cHgpfX0iLCIiXSksdC5leHBvcnRzPWF9LCIzMGY3IjpmdW5jdGlvbih0LGEsaSl7InVzZSBzdHJpY3QiO2koIjZhNTQiKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoYSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksYS5kZWZhdWx0PWZ1bmN0aW9uKCl7dGhyb3cgbmV3IFR5cGVFcnJvcigiSW52YWxpZCBhdHRlbXB0IHRvIHNwcmVhZCBub24taXRlcmFibGUgaW5zdGFuY2UuXG5JbiBvcmRlciB0byBiZSBpdGVyYWJsZSwgbm9uLWFycmF5IG9iamVjdHMgbXVzdCBoYXZlIGEgW1N5bWJvbC5pdGVyYXRvcl0oKSBtZXRob2QuIil9LGkoIjdhNzYiKSxpKCJjOWI1Iil9LCIzMjZjIjpmdW5jdGlvbih0LGEsaSl7dmFyIGU9aSgiN2I1NiIpO2UuX19lc01vZHVsZSYmKGU9ZS5kZWZhdWx0KSwic3RyaW5nIj09PXR5cGVvZiBlJiYoZT1bW3QuaSxlLCIiXV0pLGUubG9jYWxzJiYodC5leHBvcnRzPWUubG9jYWxzKTt2YXIgbj1pKCI5NjdkIikuZGVmYXVsdDtuKCI0YWQ5ZjkxZSIsZSwhMCx7c291cmNlTWFwOiExLHNoYWRvd01vZGU6ITF9KX0sIjMzYjAiOmZ1bmN0aW9uKHQsYSl7dC5leHBvcnRzPSJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUM0QUFBQXVDQVlBQUFCWHVTczNBQUFBQ1hCSVdYTUFBQXNUQUFBTEV3RUFtcHdZQUFBR2hXbFVXSFJZVFV3NlkyOXRMbUZrYjJKbExuaHRjQUFBQUFBQVBEOTRjR0ZqYTJWMElHSmxaMmx1UFNMdnU3OGlJR2xrUFNKWE5VMHdUWEJEWldocFNIcHlaVk42VGxSamVtdGpPV1FpUHo0Z1BIZzZlRzF3YldWMFlTQjRiV3h1Y3pwNFBTSmhaRzlpWlRwdWN6cHRaWFJoTHlJZ2VEcDRiWEIwYXowaVFXUnZZbVVnV0UxUUlFTnZjbVVnTmk0d0xXTXdNRFlnTnprdVpHRmlZV05pWWl3Z01qQXlNUzh3TkM4eE5DMHdNRG96T1RvME5DQWdJQ0FnSUNBZ0lqNGdQSEprWmpwU1JFWWdlRzFzYm5NNmNtUm1QU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUx6QXlMekl5TFhKa1ppMXplVzUwWVhndGJuTWpJajRnUEhKa1pqcEVaWE5qY21sd2RHbHZiaUJ5WkdZNllXSnZkWFE5SWlJZ2VHMXNibk02ZUcxd1RVMDlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2ZUdGd0x6RXVNQzl0YlM4aUlIaHRiRzV6T25OMFVtVm1QU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDNoaGNDOHhMakF2YzFSNWNHVXZVbVZ6YjNWeVkyVlNaV1lqSWlCNGJXeHVjenB6ZEVWMmREMGlhSFIwY0RvdkwyNXpMbUZrYjJKbExtTnZiUzk0WVhBdk1TNHdMM05VZVhCbEwxSmxjMjkxY21ObFJYWmxiblFqSWlCNGJXeHVjenA0YlhBOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOGlJSGh0Ykc1ek9tUmpQU0pvZEhSd09pOHZjSFZ5YkM1dmNtY3ZaR012Wld4bGJXVnVkSE12TVM0eEx5SWdlRzFzYm5NNmNHaHZkRzl6YUc5d1BTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM0JvYjNSdmMyaHZjQzh4TGpBdklpQjRiWEJOVFRwUGNtbG5hVzVoYkVSdlkzVnRaVzUwU1VROUluaHRjQzVrYVdRNk5EZzBNVFEzTWpjdE5qSXpPQzAwWkRWa0xXRmlNREV0WW1RMU5qRTJZakppTXpoaklpQjRiWEJOVFRwRWIyTjFiV1Z1ZEVsRVBTSjRiWEF1Wkdsa09qazJRMFExTlRJMk1rTkZPREV4UlVNNE5VVkdPRE5GUXprNE9FTkJOME5GSWlCNGJYQk5UVHBKYm5OMFlXNWpaVWxFUFNKNGJYQXVhV2xrT2pZNFpUQTVNRFkyTFRRME1UUXROR0pqTlMxaE9URmpMVEF6WXpRM05qUm1OVEZqTkNJZ2VHMXdPa055WldGMGIzSlViMjlzUFNKQlpHOWlaU0JRYUc5MGIzTm9iM0FnTWpJdU5DQW9UV0ZqYVc1MGIzTm9LU0lnZUcxd09rTnlaV0YwWlVSaGRHVTlJakl3TWpFdE1UQXRNVFJVTWpBNk1UWTZORFFyTURnNk1EQWlJSGh0Y0RwTmIyUnBabmxFWVhSbFBTSXlNREl5TFRBeUxURXhWREU1T2pNMU9qRTBLekE0T2pBd0lpQjRiWEE2VFdWMFlXUmhkR0ZFWVhSbFBTSXlNREl5TFRBeUxURXhWREU1T2pNMU9qRTBLekE0T2pBd0lpQmtZenBtYjNKdFlYUTlJbWx0WVdkbEwzQnVaeUlnY0dodmRHOXphRzl3T2tOdmJHOXlUVzlrWlQwaU15SWdjR2h2ZEc5emFHOXdPa2xEUTFCeWIyWnBiR1U5SW5OU1IwSWdTVVZETmpFNU5qWXRNaTR4SWo0Z1BIaHRjRTFOT2tSbGNtbDJaV1JHY205dElITjBVbVZtT21sdWMzUmhibU5sU1VROUluaHRjQzVwYVdRNk16RmtOems0TnpRdFpXSmlNUzAwTVRrNUxXRTJNREV0WXpabVkySTNNRGxtWXpVNUlpQnpkRkpsWmpwa2IyTjFiV1Z1ZEVsRVBTSjRiWEF1Wkdsa09qUTROREUwTnpJM0xUWXlNemd0TkdRMVpDMWhZakF4TFdKa05UWXhObUl5WWpNNFl5SXZQaUE4ZUcxd1RVMDZTR2x6ZEc5eWVUNGdQSEprWmpwVFpYRStJRHh5WkdZNmJHa2djM1JGZG5RNllXTjBhVzl1UFNKellYWmxaQ0lnYzNSRmRuUTZhVzV6ZEdGdVkyVkpSRDBpZUcxd0xtbHBaRG8yT0dVd09UQTJOaTAwTkRFMExUUmlZelV0WVRreFl5MHdNMk0wTnpZMFpqVXhZelFpSUhOMFJYWjBPbmRvWlc0OUlqSXdNakl0TURJdE1URlVNVGs2TXpVNk1UUXJNRGc2TURBaUlITjBSWFowT25OdlpuUjNZWEpsUVdkbGJuUTlJa0ZrYjJKbElGQm9iM1J2YzJodmNDQXlNaTQwSUNoTllXTnBiblJ2YzJncElpQnpkRVYyZERwamFHRnVaMlZrUFNJdklpOCtJRHd2Y21SbU9sTmxjVDRnUEM5NGJYQk5UVHBJYVhOMGIzSjVQaUE4Y0dodmRHOXphRzl3T2tSdlkzVnRaVzUwUVc1alpYTjBiM0p6UGlBOGNtUm1Pa0poWno0Z1BISmtaanBzYVQ1NGJYQXVaR2xrT2prMlEwUTFOVEkyTWtORk9ERXhSVU00TlVWR09ETkZRems0T0VOQk4wTkZQQzl5WkdZNmJHaytJRHd2Y21SbU9rSmhaejRnUEM5d2FHOTBiM05vYjNBNlJHOWpkVzFsYm5SQmJtTmxjM1J2Y25NK0lEd3ZjbVJtT2tSbGMyTnlhWEIwYVc5dVBpQThMM0prWmpwU1JFWStJRHd2ZURwNGJYQnRaWFJoUGlBOFAzaHdZV05yWlhRZ1pXNWtQU0p5SWo4K1REODlXZ0FBQitwSlJFRlVhSUhWbVVGdUk4Y1ZocjlIUzJQSDhZUzhnQ0VDT1FCcEk3c3MxSE9DNFExRW5jREtBWXpoN0xJelp4a2dnV2tnUUxhNlFWcEFza3N5clJPWU9vRXBJSWpoWU5SL0Z0WFY5YXE2eWN4a0Z3S3Q3bnBWOWVyVlgvOTc5YXBra25qNnh4L0FKb0NCVFRBellBSm1tYngvRi9XV3lXMk9UZWFoYmQvdWdGblQ5OEc2TWJySGlqZmszK1h2OHk4NTZ3dFMxMDRnd0pUTGo5ZXZNQ3BRaFZoZzV0cGFhQThnQTlNOW9zR29FYmNZaDd3TnFWOC94cmp4Sm9tbnYvOStnRzZQeURqU2MyeXlBVnRoa3lsbUdNT1ZLRkJQNWE3T3pMNEQyNEkxSDRUNjUxOHlTVk5WUUtyN2xoemlzWTJZZzNiQTkwaFh3TFJmQVZ5N1RKZVQ0WFVLU1ZlZ3Q2QmIwSHpRTDlPYi81TGhmU1BYMlUwRTZRYlVnSzRLZVRBaTYzZE1GeU5sQUY0aXZnYzJ5VFEvOGVIdnJHL1RjOWJDdHd5Wk1KZ2g3VEJlSHVVL2VrRFVtR3JFSGxPZDYyS0oyUnhVQVN1d2kyaGN3ZUpYUUlWWVlYYkliY3NwRXpqK3Q5ODVEbVpjblJtVEdyUEZFYTdmZFZ5dkhXK1BSNkRrTXhWbWE3Q3IzRDk2anQ4RDZ4Q0pDdDVEd2ZHTXl3STBRNnFGRmlPMHVRZTlDSkZFZFU0WnhuU1ZWS2xCYStBTDRFNWt1Z0V0Z0JwWXVqNFo0czQ1c3duTWdrR01HZjBhdEFUVlIzeWgrQ2FYOVhVQWFwQXEwRytHeG1tS3RBUE5rb21wZnBJSjB3QmJITktodVI0UjE2Qk5hRElXZGNZY2RSaE5NdWNOaGEwQytvLzU2ck1BYm5Od1M4VFRBS3NRNm5MMEZKRFovVmQwUHlRODVpdlNkR004NWl1alM5Qk5pWG9leDJNRUdZYTA2MjVaVHhpZGYvK1A0YkZCckVZQTNoRGpmSVo0VW5JRG11YW84SWF3NmFEM05IcG9ZREVCdnpvNXIxRnczTmNGNmxOaWpKYzNQRWhtWVVteVFSOUFtMXptZWgralJ5ZFhWcDl4T3A5QU9VbXhBZTRMMUs4ODZwN2phOUMwUUdVRE9uakY3NDM2Z0RLTTFIdlVrNVhkR0NXSUFPdll4bE5sblhzN0QvVE9XS0w3SWZRb3Z6blNaekN4R3JqTE1BL2dlc1NaRThOZlVySWRSU1dGeDNIYWpOQkgzdGozQzQveDc2N29jMEczS1VXcVZDTXozNTFDVWgrTWRBSENxS3hIZG1oRDZyZnFEVmZZQ2IyU2U5QmhIQlV5bzlRK2daN29FeTZiZ0gwRWt6TnNjbzVOUHNiT1BvYXpuNFhuL09kdy9objI3RFBzL0RsSTJMUG5NM3YyaTJVSlFqZmtuVnNDY3NSVjVBU0syZDFwcENTQld0ZXZkVTkwNUs0K2Z5cUYwTHV6Wjg4YjRBZWt0L2JzK2RwYkdHalc1VUxwbVVOTWE5RmN4QXpWQ0VjcXB5Q2lHZE5VTDBPSUZsUE00QVRXaHU4Z3EwQkxhSmVZTGFGZHBPT2FBeUxvL3hiWXBmRUFvK2xzaXVXRk01d0xGRzBXUUUyY1NjcXBSM0oyQXJySjRDWFlFdGtTOUN2UXIyVnRPRXhqcm0xNEMySG1xR2h4NDRrL0F6Z0lwYVMycXo3TFNyMnhoQnpZR3hzcm91emRUMHRzc3NRK1dtTHRVdGhsUUwyalI4eWh2WXk0WXE0Y05ya0dzMGIvZnR5RU5pVmd6aWE4NGYyeWd6cDhjcW80SlU4LzNtQ1RiL3JEQXUySWNlWjhvUTA2elFBOW9yWUdhMEExdEkzZS9mUGdEaGhEU25hZ3FmK2JJYzRqTUhXVFdDTHFjdVo2K2xjRmsyK01BclZvb0ZsUTNsTWlubDcwTldyL0NMYjNWQWw2STU4amVGRmZITnZWOVk2WXFOSWdMaFBxekNMdWhaUE8wMUw3cDMwRWExQmJDMnNNK3dUVG45SnEyRitFN1FPZkhjL2pTbzA1ZlFLczZsbHFob2tIai9nZXVIUjhxc2I0WldlZjd2VHVSNFRXRms3OERiUk5XSHJQNGJZaWl6SnlocnFJRXFQS21OTW5xaXh4SUFyMlJ1SjRnM0dWb09VeXJVcU92SjEvdWdQYjlZZmc5cWNCaXNGUG5KTjJCb2ZvNEJ5WE51aytHZ2lzeXFsaU5hUmNwVTUwNk45cnhhVXJkclRCZS9DMG5WR25aRzJoeTAwZ3lTclFOSzBRaEZWT3VVclRoU1cvak92aGFRVUtKYTYrTTZwN3AxMDFOMWk5ckhQbzB6bVBzd0ZDVk5LdFJ4ejhvVFEwdmdSVnlUWDlBSzZkUmxETWpIUGxUaVpjVzRyc01RRXpwei83OXVQZlJ0RFNiUzNhSXI3eVFSN1lJRlZaS0NvMkJpRk03UXhzQjVwMXZKNEYxUHRkY3dzNmhIN3RBV3dOZHNpUWpxRlFpdnZBZGlROGJ2TndHQnJ2Z2UrUXJweWhsOENOWURzYUhzTkFzM0RsNW5LUW5qcDlLckJJdTZnQnFtVnRaZGdoUnBYZ205RUp0UXBYZnBZbUpidkQxTVRoL1prVDBNYkQzVFhhSUpaRER2YkxPNU0wSDFLbDQzQ1pIZElDN1lMWUp3NlU2RGVuUEVDRTk0MzNyK0sybGozd3V1RGJGRlFySEthTFdRbWtQZmo3RU9la2c0alN5NjVSMjhoSG1lRFFNK0FXZi9ZTkgyL29yMGU2dFpiRXU3LytsajVQQ0p4c01GdmsyN2JkVzdpb2JJb0xUQmkvTU8xbFIvODFrN1dkekRDcnpTYUxvdjRlc3dyc0VHWDJ5eGNGVmZvSmFZV0tHeVcwVUxqZ3JBcXFrRHJxaUl4VUhnOS9TOEpPdkNqQzR5TWhKQjV5L1hrNGRCUmdEMVNFNU1zTnhsVHdaMkJMVDUwaVBKWVQ2RTlDZmxKUkp6T2tEZkFXZEJIMXVQQzQ2aVkwNkY4WW5xSGUwTi9sK1hvQitxcmo5Z1l4R3lCOTZob2lmTTg2SkJ2UXE1SDZSOUExVUE5MWNRTHg1QVFOb2dJOWVNVWRKbFBnRmVnSFFoUllFemFOVVhRRnM0NkNPOUFlNlZ2UXhSR2pLL2tMMXVGSytRMW9aQUxSZUd3SjdCQXZVNHp2VmllVXJ6QzdjaHZKWFRhUXNRUk53M2JoTmhsRVNta05wRHZNVnFERCtKRXg2ajlxZUZRWWl6cGdySUFWc0FVdW9zMWw5dGdaY0huMGNPME8yYzZvQjZRTnhzN0x3eGdqT1R1alZDbFJseGZjSXViQU5WMUNmMlJUS3BhZlhsWTQ2Z1BodnhGTEJyZFdPcUhycE9HWm8rYWR3eUJ6U1YrQTNpRGRaMGFmRG84UGhLdnJGd1NmMkVKM0hSSW4yT3RpUEh2a0pNZWQwZWx5d0lrRVdDTzRDYldhRVc2WjVzam1pWjlHY0ViMlhhNXg2UDROT1U2YmFMeWpsYkF1ajBrSmw2VTc3UCt2MzM4QUV4MmJwRUVSTTVNQUFBQUFTVVZPUks1Q1lJST0ifSwiMzNiYSI6ZnVuY3Rpb24odCxhLGkpeyJ1c2Ugc3RyaWN0IjtpLnIoYSk7dmFyIGU9aSgiNjg2NCIpLG49aSgiMjUyYiIpO2Zvcih2YXIgciBpbiBuKVsiZGVmYXVsdCJdLmluZGV4T2Yocik8MCYmZnVuY3Rpb24odCl7aS5kKGEsdCwoZnVuY3Rpb24oKXtyZXR1cm4gblt0XX0pKX0ocik7aSgiNDY3YSIpO3ZhciBvPWkoIjgyOGIiKSxkPU9iamVjdChvWyJhIl0pKG5bImRlZmF1bHQiXSxlWyJiIl0sZVsiYyJdLCExLG51bGwsIjM3NTYyNjI2IixudWxsLCExLGVbImEiXSx2b2lkIDApO2FbImRlZmF1bHQiXT1kLmV4cG9ydHN9LDM0MTY6ZnVuY3Rpb24odCxhLGkpeyJ1c2Ugc3RyaWN0IjtpLmQoYSwiYiIsKGZ1bmN0aW9uKCl7cmV0dXJuIG59KSksaS5kKGEsImMiLChmdW5jdGlvbigpe3JldHVybiByfSkpLGkuZChhLCJhIiwoZnVuY3Rpb24oKXtyZXR1cm4gZX0pKTt2YXIgZT17cWl1bkxvYWRpbmc6aSgiZjM2NSIpLmRlZmF1bHQscWl1bkVycm9yOmkoIjFmMGMiKS5kZWZhdWx0fSxuPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxhPXQuJGNyZWF0ZUVsZW1lbnQsaT10Ll9zZWxmLl9jfHxhO3JldHVybiBpKCJ2LXVuaS12aWV3Iix7c3RhdGljQ2xhc3M6ImNoYXJ0c3ZpZXciLGF0dHJzOntpZDoiQ2hhcnRCb3hJZCIrdC5jaWR9fSxbdC5taXhpbkRhdGFjb21Mb2FkaW5nP2koInYtdW5pLXZpZXciLFtpKCJxaXVuLWxvYWRpbmciLHthdHRyczp7bG9hZGluZ1R5cGU6dC5sb2FkaW5nVHlwZX19KV0sMSk6dC5fZSgpLHQubWl4aW5EYXRhY29tRXJyb3JNZXNzYWdlJiZ0LmVycm9yU2hvdz9pKCJ2LXVuaS12aWV3Iix7b246e2NsaWNrOmZ1bmN0aW9uKGEpe2FyZ3VtZW50c1swXT1hPXQuJGhhbmRsZUV2ZW50KGEpLHQucmVsb2FkaW5nLmFwcGx5KHZvaWQgMCxhcmd1bWVudHMpfX19LFtpKCJxaXVuLWVycm9yIix7YXR0cnM6e2Vycm9yTWVzc2FnZTp0LmVycm9yTWVzc2FnZX19KV0sMSk6dC5fZSgpLHQuZWNoYXJ0cz9baSgidi11bmktdmlldyIse2RpcmVjdGl2ZXM6W3tuYW1lOiJzaG93IixyYXdOYW1lOiJ2LXNob3ciLHZhbHVlOnQuc2hvd2NoYXJ0LGV4cHJlc3Npb246InNob3djaGFydCJ9XSx3eHNQcm9wczp7ImNoYW5nZTpyZXNpemUiOiJlY2hhcnRzUmVzaXplIiwiY2hhbmdlOnByb3AiOiJlY2hhcnRzT3B0cyJ9LHN0YXRpY1N0eWxlOnt3aWR0aDoiMTAwJSIsaGVpZ2h0OiIxMDAlIn0sc3R5bGU6e2JhY2tncm91bmQ6dC5iYWNrZ3JvdW5kfSxhdHRyczp7ImRhdGEtZGlyZWN0b3J5Ijp0LmRpcmVjdG9yeSxpZDoiRUMiK3QuY2lkLHByb3A6dC5lY2hhcnRzT3B0cywiY2hhbmdlOnByb3AiOnQucmRjaGFydHMuZWNpbml0LHJlc2l6ZTp0LmVjaGFydHNSZXNpemUsImNoYW5nZTpyZXNpemUiOnQucmRjaGFydHMuZWNyZXNpemV9fSldOltpKCJ2LXVuaS12aWV3Iix7d3hzUHJvcHM6eyJjaGFuZ2U6cHJvcCI6InVjaGFydHNPcHRzIn0sYXR0cnM6e2lkOiJVQyIrdC5jaWQscHJvcDp0LnVjaGFydHNPcHRzLCJjaGFuZ2U6cHJvcCI6dC5yZGNoYXJ0cy51Y2luaXR9LG9uOnttb3VzZW1vdmU6ZnVuY3Rpb24oYSl7YT10LiRoYW5kbGVXeHNFdmVudChhKSx0LnJkY2hhcnRzLm1vdXNlTW92ZShhLHQuJGdldENvbXBvbmVudERlc2NyaXB0b3IoKSl9LG1vdXNlZG93bjpmdW5jdGlvbihhKXthPXQuJGhhbmRsZVd4c0V2ZW50KGEpLHQucmRjaGFydHMubW91c2VEb3duKGEsdC4kZ2V0Q29tcG9uZW50RGVzY3JpcHRvcigpKX0sbW91c2V1cDpmdW5jdGlvbihhKXthPXQuJGhhbmRsZVd4c0V2ZW50KGEpLHQucmRjaGFydHMubW91c2VVcChhLHQuJGdldENvbXBvbmVudERlc2NyaXB0b3IoKSl9LHRvdWNoc3RhcnQ6ZnVuY3Rpb24oYSl7YT10LiRoYW5kbGVXeHNFdmVudChhKSx0LnJkY2hhcnRzLnRvdWNoU3RhcnQoYSx0LiRnZXRDb21wb25lbnREZXNjcmlwdG9yKCkpfSx0b3VjaG1vdmU6ZnVuY3Rpb24oYSl7YT10LiRoYW5kbGVXeHNFdmVudChhKSx0LnJkY2hhcnRzLnRvdWNoTW92ZShhLHQuJGdldENvbXBvbmVudERlc2NyaXB0b3IoKSl9LHRvdWNoZW5kOmZ1bmN0aW9uKGEpe2E9dC4kaGFuZGxlV3hzRXZlbnQoYSksdC5yZGNoYXJ0cy50b3VjaEVuZChhLHQuJGdldENvbXBvbmVudERlc2NyaXB0b3IoKSl9LGNsaWNrOmZ1bmN0aW9uKGEpe2E9dC4kaGFuZGxlV3hzRXZlbnQoYSksdC5yZGNoYXJ0cy50YXAoYSx0LiRnZXRDb21wb25lbnREZXNjcmlwdG9yKCkpfX19LFtpKCJ2LXVuaS1jYW52YXMiLHtkaXJlY3RpdmVzOlt7bmFtZToic2hvdyIscmF3TmFtZToidi1zaG93Iix2YWx1ZTp0LnNob3djaGFydCxleHByZXNzaW9uOiJzaG93Y2hhcnQifV0sc3R5bGU6e3dpZHRoOnQuY1dpZHRoKyJweCIsaGVpZ2h0OnQuY0hlaWdodCsicHgiLGJhY2tncm91bmQ6dC5iYWNrZ3JvdW5kfSxhdHRyczp7aWQ6dC5jaWQsY2FudmFzSWQ6dC5jaWQsImRpc2FibGUtc2Nyb2xsIjp0LmRpc2FibGVTY3JvbGx9LG9uOntlcnJvcjpmdW5jdGlvbihhKXthcmd1bWVudHNbMF09YT10LiRoYW5kbGVFdmVudChhKSx0Ll9lcnJvci5hcHBseSh2b2lkIDAsYXJndW1lbnRzKX19fSldLDEpXV0sMil9LHI9W119LDM0NzE6ZnVuY3Rpb24odCxhLGkpeyJ1c2Ugc3RyaWN0IjtpKCI2YTU0IiksT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGEuZGVmYXVsdD1mdW5jdGlvbih0LGEpe3ZhciBpPSJ1bmRlZmluZWQiIT09dHlwZW9mIFN5bWJvbCYmdFtTeW1ib2wuaXRlcmF0b3JdfHx0WyJAQGl0ZXJhdG9yIl07aWYoIWkpe2lmKEFycmF5LmlzQXJyYXkodCl8fChpPSgwLGUuZGVmYXVsdCkodCkpfHxhJiZ0JiYibnVtYmVyIj09PXR5cGVvZiB0Lmxlbmd0aCl7aSYmKHQ9aSk7dmFyIG49MCxyPWZ1bmN0aW9uKCl7fTtyZXR1cm57czpyLG46ZnVuY3Rpb24oKXtyZXR1cm4gbj49dC5sZW5ndGg/e2RvbmU6ITB9Ontkb25lOiExLHZhbHVlOnRbbisrXX19LGU6ZnVuY3Rpb24odCl7dGhyb3cgdH0sZjpyfX10aHJvdyBuZXcgVHlwZUVycm9yKCJJbnZhbGlkIGF0dGVtcHQgdG8gaXRlcmF0ZSBub24taXRlcmFibGUgaW5zdGFuY2UuXG5JbiBvcmRlciB0byBiZSBpdGVyYWJsZSwgbm9uLWFycmF5IG9iamVjdHMgbXVzdCBoYXZlIGEgW1N5bWJvbC5pdGVyYXRvcl0oKSBtZXRob2QuIil9dmFyIG8sZD0hMCxwPSExO3JldHVybntzOmZ1bmN0aW9uKCl7aT1pLmNhbGwodCl9LG46ZnVuY3Rpb24oKXt2YXIgdD1pLm5leHQoKTtyZXR1cm4gZD10LmRvbmUsdH0sZTpmdW5jdGlvbih0KXtwPSEwLG89dH0sZjpmdW5jdGlvbigpe3RyeXtkfHxudWxsPT1pWyJyZXR1cm4iXXx8aVsicmV0dXJuIl0oKX1maW5hbGx5e2lmKHApdGhyb3cgb319fX0saSgiMDFhMiIpLGkoImUzOWMiKSxpKCJiZjBmIiksaSgiODQ0ZCIpLGkoIjE4ZjciKSxpKCJkZTZjIiksaSgiN2E3NiIpLGkoImM5YjUiKTt2YXIgZT1mdW5jdGlvbih0KXtyZXR1cm4gdCYmdC5fX2VzTW9kdWxlP3Q6e2RlZmF1bHQ6dH19KGkoIjVkNmIiKSl9LDM4MTc6ZnVuY3Rpb24odCxhLGkpe3ZhciBlPWkoImM4NmMiKTthPWUoITEpLGEucHVzaChbdC5pLCIuY29udGFpbmVyW2RhdGEtdi1mZTA5MjVkMF17d2lkdGg6MzBweDtoZWlnaHQ6MzBweDtwb3NpdGlvbjpyZWxhdGl2ZX0uY29udGFpbmVyLmxvYWRpbmcxW2RhdGEtdi1mZTA5MjVkMF17LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKTt0cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKX0uY29udGFpbmVyIC5zaGFwZVtkYXRhLXYtZmUwOTI1ZDBde3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwcHg7aGVpZ2h0OjEwcHg7Ym9yZGVyLXJhZGl1czoxcHh9LmNvbnRhaW5lciAuc2hhcGUuc2hhcGUxW2RhdGEtdi1mZTA5MjVkMF17bGVmdDowO2JhY2tncm91bmQtY29sb3I6IzE4OTBmZn0uY29udGFpbmVyIC5zaGFwZS5zaGFwZTJbZGF0YS12LWZlMDkyNWQwXXtyaWdodDowO2JhY2tncm91bmQtY29sb3I6IzkxY2I3NH0uY29udGFpbmVyIC5zaGFwZS5zaGFwZTNbZGF0YS12LWZlMDkyNWQwXXtib3R0b206MDtiYWNrZ3JvdW5kLWNvbG9yOiNmYWM4NTh9LmNvbnRhaW5lciAuc2hhcGUuc2hhcGU0W2RhdGEtdi1mZTA5MjVkMF17Ym90dG9tOjA7cmlnaHQ6MDtiYWNrZ3JvdW5kLWNvbG9yOiNlNjZ9LmxvYWRpbmcxIC5zaGFwZTFbZGF0YS12LWZlMDkyNWQwXXstd2Via2l0LWFuaW1hdGlvbjphbmltYXRpb24xc2hhcGUxLWRhdGEtdi1mZTA5MjVkMCAuNXMgZWFzZSAwcyBpbmZpbml0ZSBhbHRlcm5hdGU7YW5pbWF0aW9uOmFuaW1hdGlvbjFzaGFwZTEtZGF0YS12LWZlMDkyNWQwIC41cyBlYXNlIDBzIGluZmluaXRlIGFsdGVybmF0ZX1ALXdlYmtpdC1rZXlmcmFtZXMgYW5pbWF0aW9uMXNoYXBlMS1kYXRhLXYtZmUwOTI1ZDB7ZnJvbXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgwKX10b3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMTZweCwxNnB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlKDE2cHgsMTZweCl9fUBrZXlmcmFtZXMgYW5pbWF0aW9uMXNoYXBlMS1kYXRhLXYtZmUwOTI1ZDB7ZnJvbXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgwKX10b3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMTZweCwxNnB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlKDE2cHgsMTZweCl9fS5sb2FkaW5nMSAuc2hhcGUyW2RhdGEtdi1mZTA5MjVkMF17LXdlYmtpdC1hbmltYXRpb246YW5pbWF0aW9uMXNoYXBlMi1kYXRhLXYtZmUwOTI1ZDAgLjVzIGVhc2UgMHMgaW5maW5pdGUgYWx0ZXJuYXRlO2FuaW1hdGlvbjphbmltYXRpb24xc2hhcGUyLWRhdGEtdi1mZTA5MjVkMCAuNXMgZWFzZSAwcyBpbmZpbml0ZSBhbHRlcm5hdGV9QC13ZWJraXQta2V5ZnJhbWVzIGFuaW1hdGlvbjFzaGFwZTItZGF0YS12LWZlMDkyNWQwe2Zyb217LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDApO3RyYW5zZm9ybTp0cmFuc2xhdGUoMCl9dG97LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKC0xNnB4LDE2cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTE2cHgsMTZweCl9fUBrZXlmcmFtZXMgYW5pbWF0aW9uMXNoYXBlMi1kYXRhLXYtZmUwOTI1ZDB7ZnJvbXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgwKX10b3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTE2cHgsMTZweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtMTZweCwxNnB4KX19LmxvYWRpbmcxIC5zaGFwZTNbZGF0YS12LWZlMDkyNWQwXXstd2Via2l0LWFuaW1hdGlvbjphbmltYXRpb24xc2hhcGUzLWRhdGEtdi1mZTA5MjVkMCAuNXMgZWFzZSAwcyBpbmZpbml0ZSBhbHRlcm5hdGU7YW5pbWF0aW9uOmFuaW1hdGlvbjFzaGFwZTMtZGF0YS12LWZlMDkyNWQwIC41cyBlYXNlIDBzIGluZmluaXRlIGFsdGVybmF0ZX1ALXdlYmtpdC1rZXlmcmFtZXMgYW5pbWF0aW9uMXNoYXBlMy1kYXRhLXYtZmUwOTI1ZDB7ZnJvbXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgwKX10b3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMTZweCwtMTZweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgxNnB4LC0xNnB4KX19QGtleWZyYW1lcyBhbmltYXRpb24xc2hhcGUzLWRhdGEtdi1mZTA5MjVkMHtmcm9tey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlKDApfXRvey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgxNnB4LC0xNnB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlKDE2cHgsLTE2cHgpfX0ubG9hZGluZzEgLnNoYXBlNFtkYXRhLXYtZmUwOTI1ZDBdey13ZWJraXQtYW5pbWF0aW9uOmFuaW1hdGlvbjFzaGFwZTQtZGF0YS12LWZlMDkyNWQwIC41cyBlYXNlIDBzIGluZmluaXRlIGFsdGVybmF0ZTthbmltYXRpb246YW5pbWF0aW9uMXNoYXBlNC1kYXRhLXYtZmUwOTI1ZDAgLjVzIGVhc2UgMHMgaW5maW5pdGUgYWx0ZXJuYXRlfUAtd2Via2l0LWtleWZyYW1lcyBhbmltYXRpb24xc2hhcGU0LWRhdGEtdi1mZTA5MjVkMHtmcm9tey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlKDApfXRvey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtMTZweCwtMTZweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtMTZweCwtMTZweCl9fUBrZXlmcmFtZXMgYW5pbWF0aW9uMXNoYXBlNC1kYXRhLXYtZmUwOTI1ZDB7ZnJvbXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgwKX10b3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTE2cHgsLTE2cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTE2cHgsLTE2cHgpfX0iLCIiXSksdC5leHBvcnRzPWF9LCIzOWQ4NiI6ZnVuY3Rpb24odCxhLGkpe3ZhciBlPWkoImViYTciKTtlLl9fZXNNb2R1bGUmJihlPWUuZGVmYXVsdCksInN0cmluZyI9PT10eXBlb2YgZSYmKGU9W1t0LmksZSwiIl1dKSxlLmxvY2FscyYmKHQuZXhwb3J0cz1lLmxvY2Fscyk7dmFyIG49aSgiOTY3ZCIpLmRlZmF1bHQ7bigiZDNmZGQ3ZmEiLGUsITAse3NvdXJjZU1hcDohMSxzaGFkb3dNb2RlOiExfSl9LCIzYTM4IjpmdW5jdGlvbih0LGEsaSl7InVzZSBzdHJpY3QiO2koIjZhNTQiKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoYSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksYS5kZWZhdWx0PXZvaWQgMDthLmRlZmF1bHQ9e25hbWU6ImxvYWRpbmczIixkYXRhOmZ1bmN0aW9uKCl7cmV0dXJue319fX0sIjNiZGMiOmZ1bmN0aW9uKHQsYSxpKXsidXNlIHN0cmljdCI7aSgiNmE1NCIpO3ZhciBlPWkoImY1YmQiKS5kZWZhdWx0O09iamVjdC5kZWZpbmVQcm9wZXJ0eShhLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxhLmRlZmF1bHQ9dm9pZCAwLGkoIjY0YWEiKTt2YXIgbj1lKGkoIjI5ZTEiKSkscj1lKGkoIjk4OTEiKSksbz1lKGkoImFlYTkiKSksZD1lKGkoIjMzYmEiKSkscD1lKGkoImJiYjQiKSksYz17Y29tcG9uZW50czp7TG9hZGluZzE6bi5kZWZhdWx0LExvYWRpbmcyOnIuZGVmYXVsdCxMb2FkaW5nMzpvLmRlZmF1bHQsTG9hZGluZzQ6ZC5kZWZhdWx0LExvYWRpbmc1OnAuZGVmYXVsdH0sbmFtZToicWl1bi1sb2FkaW5nIixwcm9wczp7bG9hZGluZ1R5cGU6e3R5cGU6TnVtYmVyLGRlZmF1bHQ6Mn19LGRhdGE6ZnVuY3Rpb24oKXtyZXR1cm57fX19O2EuZGVmYXVsdD1jfSwiM2MxOCI6ZnVuY3Rpb24odCxhLGkpeyJ1c2Ugc3RyaWN0IjtpKCI2YTU0IiksT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGEuZGVmYXVsdD12b2lkIDA7dmFyIGU9e25hbWU6InFpdW4tZXJyb3IiLHByb3BzOntlcnJvck1lc3NhZ2U6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6bnVsbH19LGRhdGE6ZnVuY3Rpb24oKXtyZXR1cm57fX19O2EuZGVmYXVsdD1lfSwiM2NhNiI6ZnVuY3Rpb24odCxhLGkpe3QuZXhwb3J0cz1pLnArInN0YXRpYy9pbWFnZS9pY29uL3VwZGF0ZS5wbmcifSwiNDVmMyI6ZnVuY3Rpb24odCxhLGkpeyJ1c2Ugc3RyaWN0IjtpLnIoYSk7dmFyIGU9aSgiNzk0ZCIpLG49aSgiY2EwMiIpO2Zvcih2YXIgciBpbiBuKVsiZGVmYXVsdCJdLmluZGV4T2Yocik8MCYmZnVuY3Rpb24odCl7aS5kKGEsdCwoZnVuY3Rpb24oKXtyZXR1cm4gblt0XX0pKX0ocik7aSgiY2ZmNiIpO3ZhciBvPWkoIjgyOGIiKSxkPU9iamVjdChvWyJhIl0pKG5bImRlZmF1bHQiXSxlWyJiIl0sZVsiYyJdLCExLG51bGwsIjZkNDAxNDhjIixudWxsLCExLGVbImEiXSx2b2lkIDApO2FbImRlZmF1bHQiXT1kLmV4cG9ydHN9LDQ2NDE6ZnVuY3Rpb24odCxhLGkpeyJ1c2Ugc3RyaWN0IjtpLmQoYSwiYiIsKGZ1bmN0aW9uKCl7cmV0dXJuIGV9KSksaS5kKGEsImMiLChmdW5jdGlvbigpe3JldHVybiBufSkpLGkuZChhLCJhIiwoZnVuY3Rpb24oKXt9KSk7dmFyIGU9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLiRjcmVhdGVFbGVtZW50LGE9dGhpcy5fc2VsZi5fY3x8dDtyZXR1cm4gYSgidi11bmktdmlldyIse3N0YXRpY0NsYXNzOiJjaGFydHN2aWV3In0sW2EoInYtdW5pLXZpZXciLHtzdGF0aWNDbGFzczoiY2hhcnRzLWVycm9yIn0pLGEoInYtdW5pLXZpZXciLHtzdGF0aWNDbGFzczoiY2hhcnRzLWZvbnQifSxbdGhpcy5fdih0aGlzLl9zKG51bGw9PXRoaXMuZXJyb3JNZXNzYWdlPyLor7fngrnlh7vph43or5UiOnRoaXMuZXJyb3JNZXNzYWdlKSldKV0sMSl9LG49W119LCI0NjdhIjpmdW5jdGlvbih0LGEsaSl7InVzZSBzdHJpY3QiO3ZhciBlPWkoImY0ZjIiKSxuPWkubihlKTtuLmF9LDQ3MzM6ZnVuY3Rpb24odCxhLGkpeyJ1c2Ugc3RyaWN0IjtpKCI2YTU0IiksT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGEuZGVmYXVsdD1mdW5jdGlvbih0KXtpZihBcnJheS5pc0FycmF5KHQpKXJldHVybigwLGUuZGVmYXVsdCkodCl9O3ZhciBlPWZ1bmN0aW9uKHQpe3JldHVybiB0JiZ0Ll9fZXNNb2R1bGU/dDp7ZGVmYXVsdDp0fX0oaSgiOGQwYiIpKX0sIjQ4MWEiOmZ1bmN0aW9uKHQsYSxpKXt2YXIgZT1pKCJjODZjIik7YT1lKCExKSxhLnB1c2goW3QuaSwiLmNoYXJ0c3ZpZXdbZGF0YS12LTA0ZDY4YWIwXXt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2Rpc3BsYXk6ZmxleDtmbGV4OjE7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXJ9IiwiIl0pLHQuZXhwb3J0cz1hfSwiNDhlOCI6ZnVuY3Rpb24odCxhLGkpe3ZhciBlPWkoImVjNzAiKTtlLl9fZXNNb2R1bGUmJihlPWUuZGVmYXVsdCksInN0cmluZyI9PT10eXBlb2YgZSYmKGU9W1t0LmksZSwiIl1dKSxlLmxvY2FscyYmKHQuZXhwb3J0cz1lLmxvY2Fscyk7dmFyIG49aSgiOTY3ZCIpLmRlZmF1bHQ7bigiMjc4YmUwMjUiLGUsITAse3NvdXJjZU1hcDohMSxzaGFkb3dNb2RlOiExfSl9LCI0Zjc4IjpmdW5jdGlvbih0LGEsaSl7dmFyIGU9aSgiZDBlNiIpO2UuX19lc01vZHVsZSYmKGU9ZS5kZWZhdWx0KSwic3RyaW5nIj09PXR5cGVvZiBlJiYoZT1bW3QuaSxlLCIiXV0pLGUubG9jYWxzJiYodC5leHBvcnRzPWUubG9jYWxzKTt2YXIgbj1pKCI5NjdkIikuZGVmYXVsdDtuKCJjMjgyODMyNCIsZSwhMCx7c291cmNlTWFwOiExLHNoYWRvd01vZGU6ITF9KX0sIjUyM2YiOmZ1bmN0aW9uKHQsYSxpKXsidXNlIHN0cmljdCI7dmFyIGU9aSgiNDhlOCIpLG49aS5uKGUpO24uYX0sNTc1ODpmdW5jdGlvbih0LGEpe3QuZXhwb3J0cz0iZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoTWdBeUFQZUJBT1gyNndIT2R2ZjgrUG4rL05IdzNPNzU4cnpxektEdHpFYmJtd0xPZGxyZnBoRFJmajNhbGpuWmxBYlBlQ1BWaVBQOStldjc5R2ppcldmaXJaWGdzWDdtdWZmOSsxM1ZrTUx6M2tMYm1lbjc4K1g2OGFQanVuL211a0hhbU9INTcwL2RvQkxSZjRMbnUwWGJtb1hjcC9YOSt1TDU3eG5UZzFYZW84ejE0MnpqcnhiU2djMzE1TEh3MVdEZ3FTbldpOUgyNWtEU2d6emFsYlB3MXR2ejQ2ZnV6eHJUZy9yKy9QdisvZkw5K0YvZ3FLcnYwWDNtdWVENTdpWFZpUWZQZVY3Z3FMVHgxamZaazh2MTR5TFZoeWJWaWo3YWw3RG13L2I5K3JYeDExbmZwZnorL2YzLy9oSFJmZ1hQZUNyV2pLSHR6SVRudkczanNOTDI1NS90eTJIaHFRN1JmV25pcmtQYm1kNzU3ZDM0N2UzODljLzI1ZXo3OVd2anI5RDI1c0h6M1p6c3lYem11TTcyNUFqUWVhanUwSFBabk1mdDFDaldpOWIzNlFuUWVoUFNmelRZa1JmU2dlLzg5dmorKzhQejM2bnUwSW5vdjNybHR5SFVod3ZRZTJMaHFpZlZpdC81N2h6VGhOcjQ2eDNVaGZIODk3THcxUlhTZ1AvLy93RE9kZi8vL3dBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUNIL0MxaE5VQ0JFWVhSaFdFMVFQRDk0Y0dGamEyVjBJR0psWjJsdVBTTHZ1NzhpSUdsa1BTSlhOVTB3VFhCRFpXaHBTSHB5WlZONlRsUmplbXRqT1dRaVB6NGdQSGc2ZUcxd2JXVjBZU0I0Yld4dWN6cDRQU0poWkc5aVpUcHVjenB0WlhSaEx5SWdlRHA0YlhCMGF6MGlRV1J2WW1VZ1dFMVFJRU52Y21VZ05TNDJMV014TkRnZ056a3VNVFkwTURNMkxDQXlNREU1THpBNEx6RXpMVEF4T2pBMk9qVTNJQ0FnSUNBZ0lDQWlQaUE4Y21SbU9sSkVSaUI0Yld4dWN6cHlaR1k5SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpFNU9Ua3ZNREl2TWpJdGNtUm1MWE41Ym5SaGVDMXVjeU1pUGlBOGNtUm1Pa1JsYzJOeWFYQjBhVzl1SUhKa1pqcGhZbTkxZEQwaUlpQjRiV3h1Y3pwNGJYQk5UVDBpYUhSMGNEb3ZMMjV6TG1Ga2IySmxMbU52YlM5NFlYQXZNUzR3TDIxdEx5SWdlRzFzYm5NNmMzUlNaV1k5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmVHRndMekV1TUM5elZIbHdaUzlTWlhOdmRYSmpaVkpsWmlNaUlIaHRiRzV6T25odGNEMGlhSFIwY0RvdkwyNXpMbUZrYjJKbExtTnZiUzk0WVhBdk1TNHdMeUlnZUcxd1RVMDZUM0pwWjJsdVlXeEViMk4xYldWdWRFbEVQU0o0YlhBdVpHbGtPalE0TkRFME56STNMVFl5TXpndE5HUTFaQzFoWWpBeExXSmtOVFl4Tm1JeVlqTTRZeUlnZUcxd1RVMDZSRzlqZFcxbGJuUkpSRDBpZUcxd0xtUnBaRHBFTXpSRlJVUXdPREpHUlRJeE1VVkRRakkwUTBaRE9ETXdNMEV3TlRKRk1TSWdlRzF3VFUwNlNXNXpkR0Z1WTJWSlJEMGllRzF3TG1scFpEcEVNelJGUlVRd056SkdSVEl4TVVWRFFqSTBRMFpET0RNd00wRXdOVEpGTVNJZ2VHMXdPa055WldGMGIzSlViMjlzUFNKQlpHOWlaU0JRYUc5MGIzTm9iM0FnTWpJdU5DQW9UV0ZqYVc1MGIzTm9LU0krSUR4NGJYQk5UVHBFWlhKcGRtVmtSbkp2YlNCemRGSmxaanBwYm5OMFlXNWpaVWxFUFNKNGJYQXVhV2xrT2pNeFpEYzVPRGMwTFdWaVlqRXROREU1T1MxaE5qQXhMV00yWm1OaU56QTVabU0xT1NJZ2MzUlNaV1k2Wkc5amRXMWxiblJKUkQwaWVHMXdMbVJwWkRvME9EUXhORGN5TnkwMk1qTTRMVFJrTldRdFlXSXdNUzFpWkRVMk1UWmlNbUl6T0dNaUx6NGdQQzl5WkdZNlJHVnpZM0pwY0hScGIyNCtJRHd2Y21SbU9sSkVSajRnUEM5NE9uaHRjRzFsZEdFK0lEdy9lSEJoWTJ0bGRDQmxibVE5SW5JaVB6NEIvLzc5L1B2NitmajM5dlgwOC9MeDhPL3U3ZXpyNnVubzUrYmw1T1BpNGVEZjN0M2MyOXJaMk5mVzFkVFQwdEhRejg3TnpNdkt5Y2pIeHNYRXc4TEJ3TCsrdmJ5N3VybTR0N2ExdExPeXNiQ3ZycTJzcTZxcHFLZW1wYVNqb3FHZ241NmRuSnVhbVppWGxwV1VrNUtSa0krT2pZeUxpb21JaDRhRmhJT0NnWUIvZm4xOGUzcDVlSGQyZFhSemNuRndiMjV0Ykd0cWFXaG5abVZrWTJKaFlGOWVYVnhiV2xsWVYxWlZWRk5TVVZCUFRrMU1TMHBKU0VkR1JVUkRRa0ZBUHo0OVBEczZPVGczTmpVME16SXhNQzh1TFN3cktpa29KeVlsSkNNaUlTQWZIaDBjR3hvWkdCY1dGUlFURWhFUUR3NE5EQXNLQ1FnSEJnVUVBd0lCQUFBaCtRUUJBQUNCQUN3QUFBQUFNZ0F5QUFBSS93QURDUnhJc09CQUUxQ2tJQ2dTNG9lREVFVVFTSUZpd3FERml4Z0hmaER4QkpESGp5QkJQaEhSSTZOSmkxOVFKQWpKc21VQ0ZGOU9udFNnSTBETG15MEQ2TkFnOCtLT0JUaUR0bHl3b3lmQkFWZUVLbTBwWVlCUkNBaVdTZzJKQUlMTUVnMm1hdjNZb0lUSkFSbVVydEJCWlVpRUFRTWlqRGxReFk5U0xFNHhKZzBxbzhXTlAzano2bDJ5UjZrRWpHV0NFcG1odDdCZU9GSnJXTndBOUtZU1BvWWovd0hpOFl5QXk1Y0JoRnl3d2FBQ25CVU1UK25nd1lhRE9uY3lWTUNneGlPQVB3VmlGNkRCVWtGQkZqWmJ6aW1NZ2NIUzEwSURzQ0FJd3JGZUN4TnlLMzFOb2ptSkN5MUJET3l4a2lXZEhIbmRaSjM2V2k5dGxnbXlDUCtNY2pOSVhndEN0cjdtd0o2RG1aczhCTDVvS1VPdmhJOTVOWVBzL2ljR0lPQktGUkdJQ1RlMWtCY0d5aEdRRjNRZVhaQVhBYTc5WWNDRUUrS2t4UUV0cllCRFhyNkJsTjlIL0lGb0dFNWhxTkNTQzNuQndKSUJDd0xpSUY0R2JPV1JDbEd4UkVWZUhiUWtBRjZhZFNlQWpCNk44RUJMUStRVkZrc1U1SlVrWGhRRUZVQWViTFQwZ0JVdFJaQ1hEVGNWVUZnQk9JV1FoZ1YvUk5EU0dqZTlrZGNQU0JxZ29GNEVHTkFrUzJUa3hVUkxEdHcwd0prc2FTa1pseXc1a05jQWRGTEpVaGRYc25RRUFZZytpT2dSTFoyUVZ4Y3RoVEFrUzBYaTVRRk9NZVRsSDA0ZTVKV0NsRFdHZEFDT2VVb0dXMHNkNUlVaFN5T1l5QktLZUtuL0dCSUJtT1dGMlhjaHdaQ1hDeTJwc0dwSUduS0lVMTUwNVlWREd5MkZRV0JMQnVLRjRFM0UzaFFBQm5uMWNaTVdnY3pIRWdQMlFZc1hUaExvMVdGSVBveFhYbDVJcExlVkVFamtsY1JOWWdpRVIzVWhFWUVkWGx0c0oxVURXK1NWQXhFdWlTZFFjUzBwY0Z4eVNnVXdBWmg1ZlJZZFFTa29GeElQaFlFeGJrc01nRkVZRDlJT1I1RERMWVZXMkJRVmVIQ0NBdzZjZ0lVY2VoaFdBVTYyRmNRWXpCQ1lhaW9FSUxQRW1VVTFCUFdBZVRZWGxzU2tOeWwyMFgxQkdUSERFall6TVlNUlFrMlFFVmhpVlhGQUNoSGNjRU1FS1J4Z3h3bEtaUkFYUmxnQk9WVlhNa0ZsdGxKVkdUWEFCR3ZqTk1IWVJ2MFVOMGdMeEdHVVFSb0FMeUd4akFFQXdkUGVGbkdoa293dmNVRzRTUnRwcXhRYUpDMXUxQWNIZURHQ0QwMDQ0VVFUUG96Z3hRRWZMQjRRQURzPSJ9LDU3ODQ6ZnVuY3Rpb24odCxhLGkpeyJ1c2Ugc3RyaWN0IjtpLnIoYSk7dmFyIGU9aSgiY2ExNSIpLG49aSgiNzQ4ZiIpO2Zvcih2YXIgciBpbiBuKVsiZGVmYXVsdCJdLmluZGV4T2Yocik8MCYmZnVuY3Rpb24odCl7aS5kKGEsdCwoZnVuY3Rpb24oKXtyZXR1cm4gblt0XX0pKX0ocik7aSgiNWQxZiIpO3ZhciBvPWkoIjgyOGIiKSxkPU9iamVjdChvWyJhIl0pKG5bImRlZmF1bHQiXSxlWyJiIl0sZVsiYyJdLCExLG51bGwsIjczOTFmOWIzIixudWxsLCExLGVbImEiXSx2b2lkIDApO2FbImRlZmF1bHQiXT1kLmV4cG9ydHN9LDU4NDI6ZnVuY3Rpb24odCxhLGkpe3ZhciBlPWkoIjM4MTciKTtlLl9fZXNNb2R1bGUmJihlPWUuZGVmYXVsdCksInN0cmluZyI9PT10eXBlb2YgZSYmKGU9W1t0LmksZSwiIl1dKSxlLmxvY2FscyYmKHQuZXhwb3J0cz1lLmxvY2Fscyk7dmFyIG49aSgiOTY3ZCIpLmRlZmF1bHQ7bigiMWQ2NTM2ZDQiLGUsITAse3NvdXJjZU1hcDohMSxzaGFkb3dNb2RlOiExfSl9LDU4ODk6ZnVuY3Rpb24odCxhLGkpe3ZhciBlPWkoIjAzZDQiKTtlLl9fZXNNb2R1bGUmJihlPWUuZGVmYXVsdCksInN0cmluZyI9PT10eXBlb2YgZSYmKGU9W1t0LmksZSwiIl1dKSxlLmxvY2FscyYmKHQuZXhwb3J0cz1lLmxvY2Fscyk7dmFyIG49aSgiOTY3ZCIpLmRlZmF1bHQ7bigiNDExMWE3ZTQiLGUsITAse3NvdXJjZU1hcDohMSxzaGFkb3dNb2RlOiExfSl9LCI1OGVjIjpmdW5jdGlvbih0LGEsaSl7InVzZSBzdHJpY3QiO2kucihhKTt2YXIgZT1pKCJhOTU2Iiksbj1pLm4oZSk7Zm9yKHZhciByIGluIGUpWyJkZWZhdWx0Il0uaW5kZXhPZihyKTwwJiZmdW5jdGlvbih0KXtpLmQoYSx0LChmdW5jdGlvbigpe3JldHVybiBlW3RdfSkpfShyKTthWyJkZWZhdWx0Il09bi5hfSwiNWNhYyI6ZnVuY3Rpb24odCxhLGkpe3ZhciBlPWkoImM4NmMiKSxuPWkoIjJlYzUiKSxyPWkoIjlmNWYiKTthPWUoITEpO3ZhciBvPW4ocik7YS5wdXNoKFt0LmksJ0BjaGFyc2V0ICJVVEYtOCI7XHJcbi8qKlxyXG4gKiDkuIvmlrnlvJXlhaXnmoTkuLp1VmlldyBVSeeahOmbhuaIkOagt+W8j+aWh+S7tu+8jOS4unNjc3PpooTlpITnkIblmajvvIzlhbbkuK3ljIXlkKvkuobkuIDkupsidS0i5byA5aS055qE6Ieq5a6a5LmJ5Y+Y6YePXHJcbiAqIOS9v+eUqOeahOaXtuWAme+8jOivt+WwhuS4i+mdoueahOS4gOihjOWkjeWItuWIsOaCqOeahHVuaWFwcOmhueebruagueebruW9leeahHVuaS5zY3Nz5Lit5Y2z5Y+vXHJcbiAqIHVWaWV36Ieq5a6a5LmJ55qEY3Nz57G75ZCN5ZKMc2Nzc+WPmOmHj++8jOWdh+S7pSJ1LSLlvIDlpLTvvIzkuI3kvJrpgKDmiJDlhrLnqoHvvIzor7fmlL7lv4Pkvb/nlKggXHJcbiAqLy50ZXh0LXN1Y2Nlc3NbZGF0YS12LTczOTFmOWIzXXtjb2xvcjojMjhiYTk4fS50ZXh0LXdhcm5pbmdbZGF0YS12LTczOTFmOWIzXXtjb2xvcjojZDRiYTgzfS50ZXh0LXByaW1hcnlbZGF0YS12LTczOTFmOWIzXXtjb2xvcjojMjI3N2ZjfS50ZXh0LWVycm9yW2RhdGEtdi03MzkxZjliM117Y29sb3I6I2YwNGE1YX0udGV4dC1zZWNvbmRhcnlbZGF0YS12LTczOTFmOWIzXXtjb2xvcjojOTk5fS50ZXh0LWRlZXBibHVlW2RhdGEtdi03MzkxZjliM117Y29sb3I6IzBkMjc1OH0udGV4dC0zMzNbZGF0YS12LTczOTFmOWIzXXtjb2xvcjojMzMzfS5wcmltYXJ5LWJ1dHRvbltkYXRhLXYtNzM5MWY5YjNde2JhY2tncm91bmQtY29sb3I6IzIyNzdmYztjb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6JT8xMD8lO2ZvbnQtc2l6ZTolPzMyPyU7cGFkZGluZzolPzQ/JSAwO2JvcmRlcjpub25lO2NvbG9yOiNmZmY7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCMwMGM2ZmIgMCwjMDA1YmVhKX0ucHJpbWFyeS1idXR0b25bZGF0YS12LTczOTFmOWIzXTphZnRlcntkaXNwbGF5Om5vbmV9LmVycm9yLWJ1dHRvbltkYXRhLXYtNzM5MWY5YjNde2JhY2tncm91bmQtY29sb3I6I2YwNGE1YTtjb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6JT8xMD8lO2ZvbnQtc2l6ZTolPzMyPyU7cGFkZGluZzolPzQ/JSAwO2JvcmRlcjpub25lO2NvbG9yOiNmZmY7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCNmNzcwNjIgMCwjZmU1MTk2KX0uZXJyb3ItYnV0dG9uW2RhdGEtdi03MzkxZjliM106YWZ0ZXJ7ZGlzcGxheTpub25lfS53YXJuaW5nLWJ1dHRvbltkYXRhLXYtNzM5MWY5YjNde2JhY2tncm91bmQtY29sb3I6I2Q0YmE4Mztjb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6JT8xMD8lO2ZvbnQtc2l6ZTolPzMyPyU7cGFkZGluZzolPzQ/JSAwO2JvcmRlcjpub25lO2NvbG9yOiM0ZDRkNGQ7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMWRlZywjZmZjYzhmLCNmZmVkZDgpfS53YXJuaW5nLWJ1dHRvbltkYXRhLXYtNzM5MWY5YjNdOmFmdGVye2Rpc3BsYXk6bm9uZX0uc3VjY2Vzcy1idXR0b25bZGF0YS12LTczOTFmOWIzXXtiYWNrZ3JvdW5kLWNvbG9yOiMyOGJhOTg7Y29sb3I6I2ZmZjtib3JkZXItcmFkaXVzOiU/MTA/JTtmb250LXNpemU6JT8zMj8lO3BhZGRpbmc6JT80PyUgMDtib3JkZXI6bm9uZTtjb2xvcjojZmZmO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDBkZWcsIzBiYTM2MCAwLCMzY2JhOTIpfS5zdWNjZXNzLWJ1dHRvbltkYXRhLXYtNzM5MWY5YjNdOmFmdGVye2Rpc3BsYXk6bm9uZX0uc2Vjb25kYXJ5LWJ1dHRvbltkYXRhLXYtNzM5MWY5YjNde2JhY2tncm91bmQtY29sb3I6cmdiYSg1MSw1MSw1MSwuMDYpO2NvbG9yOiNhZmFmYWY7Ym9yZGVyLXJhZGl1czolPzEwPyU7Zm9udC1zaXplOiU/MzI/JTtwYWRkaW5nOiU/ND8lIDA7Ym9yZGVyOm5vbmU7Y29sb3I6I2IxYjBiMDtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgwZGVnLCNjNGM1YzcgMCwjZGNkZGRmIDUyJSwjZWJlYmViKX0uc2Vjb25kYXJ5LWJ1dHRvbltkYXRhLXYtNzM5MWY5YjNdOmFmdGVye2Rpc3BsYXk6bm9uZX0udGV4dC13aGl0ZVtkYXRhLXYtNzM5MWY5YjNde2NvbG9yOiNmZmYhaW1wb3J0YW50fS50ZXh0LWJsYWNrW2RhdGEtdi03MzkxZjliM117Y29sb3I6IzRkNGQ0ZCFpbXBvcnRhbnR9LmJnLXdoaXRlW2RhdGEtdi03MzkxZjliM117YmFja2dyb3VuZC1jb2xvcjojZmZmIWltcG9ydGFudH0uYmctcHJpbWFyeVtkYXRhLXYtNzM5MWY5YjNde2JhY2tncm91bmQtY29sb3I6IzIyNzdmYyFpbXBvcnRhbnR9LmJnLXNlY29uZGFyeVtkYXRhLXYtNzM5MWY5YjNde2JhY2tncm91bmQtY29sb3I6cmdiYSg1MSw1MSw1MSwuMDYpIWltcG9ydGFudH0uYmctYmxhY2tbZGF0YS12LTczOTFmOWIzXXtiYWNrZ3JvdW5kLWNvbG9yOiM0ZDRkNGQhaW1wb3J0YW50fS5iZy0zMzNbZGF0YS12LTczOTFmOWIzXXtiYWNrZ3JvdW5kLWNvbG9yOiMzMzMhaW1wb3J0YW50fS5tLTBbZGF0YS12LTczOTFmOWIzXXttYXJnaW46JT8wPyUhaW1wb3J0YW50fS5teC0wW2RhdGEtdi03MzkxZjliM117bWFyZ2luLWxlZnQ6JT8wPyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzA/JSFpbXBvcnRhbnR9Lm1sLTBbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tbGVmdDolPzA/JSFpbXBvcnRhbnR9Lm1yLTBbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tcmlnaHQ6JT8wPyUhaW1wb3J0YW50fS5teS0wW2RhdGEtdi03MzkxZjliM117bWFyZ2luLXRvcDolPzA/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzA/JSFpbXBvcnRhbnR9Lm10LTBbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tdG9wOiU/MD8lIWltcG9ydGFudH0ubWItMFtkYXRhLXYtNzM5MWY5YjNde21hcmdpbi1ib3R0b206JT8wPyUhaW1wb3J0YW50fS5wLTBbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nOiU/MD8lIWltcG9ydGFudH0ucHgtMFtkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctbGVmdDolPzA/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzA/JSFpbXBvcnRhbnR9LnBsLTBbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLWxlZnQ6JT8wPyUhaW1wb3J0YW50fS5wci0wW2RhdGEtdi03MzkxZjliM117cGFkZGluZy1yaWdodDolPzA/JSFpbXBvcnRhbnR9LnB5LTBbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLXRvcDolPzA/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT8wPyUhaW1wb3J0YW50fS5wdC0wW2RhdGEtdi03MzkxZjliM117cGFkZGluZy10b3A6JT8wPyUhaW1wb3J0YW50fS5wYi0wW2RhdGEtdi03MzkxZjliM117cGFkZGluZy1ib3R0b206JT8wPyUhaW1wb3J0YW50fS5ncmlkLWdhcC0wW2RhdGEtdi03MzkxZjliM117Z3JpZC1nYXA6JT8wPyUhaW1wb3J0YW50fS56LWluZGV4LTBbZGF0YS12LTczOTFmOWIzXXt6LWluZGV4OjAhaW1wb3J0YW50fS5tLTJbZGF0YS12LTczOTFmOWIzXXttYXJnaW46JT8yPyUhaW1wb3J0YW50fS5teC0yW2RhdGEtdi03MzkxZjliM117bWFyZ2luLWxlZnQ6JT8yPyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzI/JSFpbXBvcnRhbnR9Lm1sLTJbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tbGVmdDolPzI/JSFpbXBvcnRhbnR9Lm1yLTJbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tcmlnaHQ6JT8yPyUhaW1wb3J0YW50fS5teS0yW2RhdGEtdi03MzkxZjliM117bWFyZ2luLXRvcDolPzI/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzI/JSFpbXBvcnRhbnR9Lm10LTJbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tdG9wOiU/Mj8lIWltcG9ydGFudH0ubWItMltkYXRhLXYtNzM5MWY5YjNde21hcmdpbi1ib3R0b206JT8yPyUhaW1wb3J0YW50fS5wLTJbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nOiU/Mj8lIWltcG9ydGFudH0ucHgtMltkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctbGVmdDolPzI/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzI/JSFpbXBvcnRhbnR9LnBsLTJbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLWxlZnQ6JT8yPyUhaW1wb3J0YW50fS5wci0yW2RhdGEtdi03MzkxZjliM117cGFkZGluZy1yaWdodDolPzI/JSFpbXBvcnRhbnR9LnB5LTJbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLXRvcDolPzI/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT8yPyUhaW1wb3J0YW50fS5wdC0yW2RhdGEtdi03MzkxZjliM117cGFkZGluZy10b3A6JT8yPyUhaW1wb3J0YW50fS5wYi0yW2RhdGEtdi03MzkxZjliM117cGFkZGluZy1ib3R0b206JT8yPyUhaW1wb3J0YW50fS5ncmlkLWdhcC0yW2RhdGEtdi03MzkxZjliM117Z3JpZC1nYXA6JT8yPyUhaW1wb3J0YW50fS56LWluZGV4LTJbZGF0YS12LTczOTFmOWIzXXt6LWluZGV4OjIhaW1wb3J0YW50fS5tLTRbZGF0YS12LTczOTFmOWIzXXttYXJnaW46JT80PyUhaW1wb3J0YW50fS5teC00W2RhdGEtdi03MzkxZjliM117bWFyZ2luLWxlZnQ6JT80PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzQ/JSFpbXBvcnRhbnR9Lm1sLTRbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tbGVmdDolPzQ/JSFpbXBvcnRhbnR9Lm1yLTRbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tcmlnaHQ6JT80PyUhaW1wb3J0YW50fS5teS00W2RhdGEtdi03MzkxZjliM117bWFyZ2luLXRvcDolPzQ/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzQ/JSFpbXBvcnRhbnR9Lm10LTRbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tdG9wOiU/ND8lIWltcG9ydGFudH0ubWItNFtkYXRhLXYtNzM5MWY5YjNde21hcmdpbi1ib3R0b206JT80PyUhaW1wb3J0YW50fS5wLTRbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nOiU/ND8lIWltcG9ydGFudH0ucHgtNFtkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctbGVmdDolPzQ/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzQ/JSFpbXBvcnRhbnR9LnBsLTRbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLWxlZnQ6JT80PyUhaW1wb3J0YW50fS5wci00W2RhdGEtdi03MzkxZjliM117cGFkZGluZy1yaWdodDolPzQ/JSFpbXBvcnRhbnR9LnB5LTRbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLXRvcDolPzQ/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT80PyUhaW1wb3J0YW50fS5wdC00W2RhdGEtdi03MzkxZjliM117cGFkZGluZy10b3A6JT80PyUhaW1wb3J0YW50fS5wYi00W2RhdGEtdi03MzkxZjliM117cGFkZGluZy1ib3R0b206JT80PyUhaW1wb3J0YW50fS5ncmlkLWdhcC00W2RhdGEtdi03MzkxZjliM117Z3JpZC1nYXA6JT80PyUhaW1wb3J0YW50fS56LWluZGV4LTRbZGF0YS12LTczOTFmOWIzXXt6LWluZGV4OjQhaW1wb3J0YW50fS5tLTZbZGF0YS12LTczOTFmOWIzXXttYXJnaW46JT82PyUhaW1wb3J0YW50fS5teC02W2RhdGEtdi03MzkxZjliM117bWFyZ2luLWxlZnQ6JT82PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzY/JSFpbXBvcnRhbnR9Lm1sLTZbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tbGVmdDolPzY/JSFpbXBvcnRhbnR9Lm1yLTZbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tcmlnaHQ6JT82PyUhaW1wb3J0YW50fS5teS02W2RhdGEtdi03MzkxZjliM117bWFyZ2luLXRvcDolPzY/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzY/JSFpbXBvcnRhbnR9Lm10LTZbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tdG9wOiU/Nj8lIWltcG9ydGFudH0ubWItNltkYXRhLXYtNzM5MWY5YjNde21hcmdpbi1ib3R0b206JT82PyUhaW1wb3J0YW50fS5wLTZbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nOiU/Nj8lIWltcG9ydGFudH0ucHgtNltkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctbGVmdDolPzY/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzY/JSFpbXBvcnRhbnR9LnBsLTZbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLWxlZnQ6JT82PyUhaW1wb3J0YW50fS5wci02W2RhdGEtdi03MzkxZjliM117cGFkZGluZy1yaWdodDolPzY/JSFpbXBvcnRhbnR9LnB5LTZbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLXRvcDolPzY/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT82PyUhaW1wb3J0YW50fS5wdC02W2RhdGEtdi03MzkxZjliM117cGFkZGluZy10b3A6JT82PyUhaW1wb3J0YW50fS5wYi02W2RhdGEtdi03MzkxZjliM117cGFkZGluZy1ib3R0b206JT82PyUhaW1wb3J0YW50fS5ncmlkLWdhcC02W2RhdGEtdi03MzkxZjliM117Z3JpZC1nYXA6JT82PyUhaW1wb3J0YW50fS56LWluZGV4LTZbZGF0YS12LTczOTFmOWIzXXt6LWluZGV4OjYhaW1wb3J0YW50fS5tLThbZGF0YS12LTczOTFmOWIzXXttYXJnaW46JT84PyUhaW1wb3J0YW50fS5teC04W2RhdGEtdi03MzkxZjliM117bWFyZ2luLWxlZnQ6JT84PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzg/JSFpbXBvcnRhbnR9Lm1sLThbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tbGVmdDolPzg/JSFpbXBvcnRhbnR9Lm1yLThbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tcmlnaHQ6JT84PyUhaW1wb3J0YW50fS5teS04W2RhdGEtdi03MzkxZjliM117bWFyZ2luLXRvcDolPzg/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzg/JSFpbXBvcnRhbnR9Lm10LThbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tdG9wOiU/OD8lIWltcG9ydGFudH0ubWItOFtkYXRhLXYtNzM5MWY5YjNde21hcmdpbi1ib3R0b206JT84PyUhaW1wb3J0YW50fS5wLThbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nOiU/OD8lIWltcG9ydGFudH0ucHgtOFtkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctbGVmdDolPzg/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzg/JSFpbXBvcnRhbnR9LnBsLThbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLWxlZnQ6JT84PyUhaW1wb3J0YW50fS5wci04W2RhdGEtdi03MzkxZjliM117cGFkZGluZy1yaWdodDolPzg/JSFpbXBvcnRhbnR9LnB5LThbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLXRvcDolPzg/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT84PyUhaW1wb3J0YW50fS5wdC04W2RhdGEtdi03MzkxZjliM117cGFkZGluZy10b3A6JT84PyUhaW1wb3J0YW50fS5wYi04W2RhdGEtdi03MzkxZjliM117cGFkZGluZy1ib3R0b206JT84PyUhaW1wb3J0YW50fS5ncmlkLWdhcC04W2RhdGEtdi03MzkxZjliM117Z3JpZC1nYXA6JT84PyUhaW1wb3J0YW50fS56LWluZGV4LThbZGF0YS12LTczOTFmOWIzXXt6LWluZGV4OjghaW1wb3J0YW50fS5tLTEwW2RhdGEtdi03MzkxZjliM117bWFyZ2luOiU/MTA/JSFpbXBvcnRhbnR9Lm14LTEwW2RhdGEtdi03MzkxZjliM117bWFyZ2luLWxlZnQ6JT8xMD8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT8xMD8lIWltcG9ydGFudH0ubWwtMTBbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tbGVmdDolPzEwPyUhaW1wb3J0YW50fS5tci0xMFtkYXRhLXYtNzM5MWY5YjNde21hcmdpbi1yaWdodDolPzEwPyUhaW1wb3J0YW50fS5teS0xMFtkYXRhLXYtNzM5MWY5YjNde21hcmdpbi10b3A6JT8xMD8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/MTA/JSFpbXBvcnRhbnR9Lm10LTEwW2RhdGEtdi03MzkxZjliM117bWFyZ2luLXRvcDolPzEwPyUhaW1wb3J0YW50fS5tYi0xMFtkYXRhLXYtNzM5MWY5YjNde21hcmdpbi1ib3R0b206JT8xMD8lIWltcG9ydGFudH0ucC0xMFtkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmc6JT8xMD8lIWltcG9ydGFudH0ucHgtMTBbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLWxlZnQ6JT8xMD8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/MTA/JSFpbXBvcnRhbnR9LnBsLTEwW2RhdGEtdi03MzkxZjliM117cGFkZGluZy1sZWZ0OiU/MTA/JSFpbXBvcnRhbnR9LnByLTEwW2RhdGEtdi03MzkxZjliM117cGFkZGluZy1yaWdodDolPzEwPyUhaW1wb3J0YW50fS5weS0xMFtkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctdG9wOiU/MTA/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT8xMD8lIWltcG9ydGFudH0ucHQtMTBbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLXRvcDolPzEwPyUhaW1wb3J0YW50fS5wYi0xMFtkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctYm90dG9tOiU/MTA/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTEwW2RhdGEtdi03MzkxZjliM117Z3JpZC1nYXA6JT8xMD8lIWltcG9ydGFudH0uei1pbmRleC0xMFtkYXRhLXYtNzM5MWY5YjNde3otaW5kZXg6MTAhaW1wb3J0YW50fS5tLTEyW2RhdGEtdi03MzkxZjliM117bWFyZ2luOiU/MTI/JSFpbXBvcnRhbnR9Lm14LTEyW2RhdGEtdi03MzkxZjliM117bWFyZ2luLWxlZnQ6JT8xMj8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT8xMj8lIWltcG9ydGFudH0ubWwtMTJbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tbGVmdDolPzEyPyUhaW1wb3J0YW50fS5tci0xMltkYXRhLXYtNzM5MWY5YjNde21hcmdpbi1yaWdodDolPzEyPyUhaW1wb3J0YW50fS5teS0xMltkYXRhLXYtNzM5MWY5YjNde21hcmdpbi10b3A6JT8xMj8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/MTI/JSFpbXBvcnRhbnR9Lm10LTEyW2RhdGEtdi03MzkxZjliM117bWFyZ2luLXRvcDolPzEyPyUhaW1wb3J0YW50fS5tYi0xMltkYXRhLXYtNzM5MWY5YjNde21hcmdpbi1ib3R0b206JT8xMj8lIWltcG9ydGFudH0ucC0xMltkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmc6JT8xMj8lIWltcG9ydGFudH0ucHgtMTJbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLWxlZnQ6JT8xMj8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/MTI/JSFpbXBvcnRhbnR9LnBsLTEyW2RhdGEtdi03MzkxZjliM117cGFkZGluZy1sZWZ0OiU/MTI/JSFpbXBvcnRhbnR9LnByLTEyW2RhdGEtdi03MzkxZjliM117cGFkZGluZy1yaWdodDolPzEyPyUhaW1wb3J0YW50fS5weS0xMltkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctdG9wOiU/MTI/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT8xMj8lIWltcG9ydGFudH0ucHQtMTJbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLXRvcDolPzEyPyUhaW1wb3J0YW50fS5wYi0xMltkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctYm90dG9tOiU/MTI/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTEyW2RhdGEtdi03MzkxZjliM117Z3JpZC1nYXA6JT8xMj8lIWltcG9ydGFudH0uei1pbmRleC0xMltkYXRhLXYtNzM5MWY5YjNde3otaW5kZXg6MTIhaW1wb3J0YW50fS5tLTE0W2RhdGEtdi03MzkxZjliM117bWFyZ2luOiU/MTQ/JSFpbXBvcnRhbnR9Lm14LTE0W2RhdGEtdi03MzkxZjliM117bWFyZ2luLWxlZnQ6JT8xND8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT8xND8lIWltcG9ydGFudH0ubWwtMTRbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tbGVmdDolPzE0PyUhaW1wb3J0YW50fS5tci0xNFtkYXRhLXYtNzM5MWY5YjNde21hcmdpbi1yaWdodDolPzE0PyUhaW1wb3J0YW50fS5teS0xNFtkYXRhLXYtNzM5MWY5YjNde21hcmdpbi10b3A6JT8xND8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/MTQ/JSFpbXBvcnRhbnR9Lm10LTE0W2RhdGEtdi03MzkxZjliM117bWFyZ2luLXRvcDolPzE0PyUhaW1wb3J0YW50fS5tYi0xNFtkYXRhLXYtNzM5MWY5YjNde21hcmdpbi1ib3R0b206JT8xND8lIWltcG9ydGFudH0ucC0xNFtkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmc6JT8xND8lIWltcG9ydGFudH0ucHgtMTRbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLWxlZnQ6JT8xND8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/MTQ/JSFpbXBvcnRhbnR9LnBsLTE0W2RhdGEtdi03MzkxZjliM117cGFkZGluZy1sZWZ0OiU/MTQ/JSFpbXBvcnRhbnR9LnByLTE0W2RhdGEtdi03MzkxZjliM117cGFkZGluZy1yaWdodDolPzE0PyUhaW1wb3J0YW50fS5weS0xNFtkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctdG9wOiU/MTQ/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT8xND8lIWltcG9ydGFudH0ucHQtMTRbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLXRvcDolPzE0PyUhaW1wb3J0YW50fS5wYi0xNFtkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctYm90dG9tOiU/MTQ/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTE0W2RhdGEtdi03MzkxZjliM117Z3JpZC1nYXA6JT8xND8lIWltcG9ydGFudH0uei1pbmRleC0xNFtkYXRhLXYtNzM5MWY5YjNde3otaW5kZXg6MTQhaW1wb3J0YW50fS5tLTE2W2RhdGEtdi03MzkxZjliM117bWFyZ2luOiU/MTY/JSFpbXBvcnRhbnR9Lm14LTE2W2RhdGEtdi03MzkxZjliM117bWFyZ2luLWxlZnQ6JT8xNj8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT8xNj8lIWltcG9ydGFudH0ubWwtMTZbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tbGVmdDolPzE2PyUhaW1wb3J0YW50fS5tci0xNltkYXRhLXYtNzM5MWY5YjNde21hcmdpbi1yaWdodDolPzE2PyUhaW1wb3J0YW50fS5teS0xNltkYXRhLXYtNzM5MWY5YjNde21hcmdpbi10b3A6JT8xNj8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/MTY/JSFpbXBvcnRhbnR9Lm10LTE2W2RhdGEtdi03MzkxZjliM117bWFyZ2luLXRvcDolPzE2PyUhaW1wb3J0YW50fS5tYi0xNltkYXRhLXYtNzM5MWY5YjNde21hcmdpbi1ib3R0b206JT8xNj8lIWltcG9ydGFudH0ucC0xNltkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmc6JT8xNj8lIWltcG9ydGFudH0ucHgtMTZbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLWxlZnQ6JT8xNj8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/MTY/JSFpbXBvcnRhbnR9LnBsLTE2W2RhdGEtdi03MzkxZjliM117cGFkZGluZy1sZWZ0OiU/MTY/JSFpbXBvcnRhbnR9LnByLTE2W2RhdGEtdi03MzkxZjliM117cGFkZGluZy1yaWdodDolPzE2PyUhaW1wb3J0YW50fS5weS0xNltkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctdG9wOiU/MTY/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT8xNj8lIWltcG9ydGFudH0ucHQtMTZbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLXRvcDolPzE2PyUhaW1wb3J0YW50fS5wYi0xNltkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctYm90dG9tOiU/MTY/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTE2W2RhdGEtdi03MzkxZjliM117Z3JpZC1nYXA6JT8xNj8lIWltcG9ydGFudH0uei1pbmRleC0xNltkYXRhLXYtNzM5MWY5YjNde3otaW5kZXg6MTYhaW1wb3J0YW50fS5tLTE4W2RhdGEtdi03MzkxZjliM117bWFyZ2luOiU/MTg/JSFpbXBvcnRhbnR9Lm14LTE4W2RhdGEtdi03MzkxZjliM117bWFyZ2luLWxlZnQ6JT8xOD8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT8xOD8lIWltcG9ydGFudH0ubWwtMThbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tbGVmdDolPzE4PyUhaW1wb3J0YW50fS5tci0xOFtkYXRhLXYtNzM5MWY5YjNde21hcmdpbi1yaWdodDolPzE4PyUhaW1wb3J0YW50fS5teS0xOFtkYXRhLXYtNzM5MWY5YjNde21hcmdpbi10b3A6JT8xOD8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/MTg/JSFpbXBvcnRhbnR9Lm10LTE4W2RhdGEtdi03MzkxZjliM117bWFyZ2luLXRvcDolPzE4PyUhaW1wb3J0YW50fS5tYi0xOFtkYXRhLXYtNzM5MWY5YjNde21hcmdpbi1ib3R0b206JT8xOD8lIWltcG9ydGFudH0ucC0xOFtkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmc6JT8xOD8lIWltcG9ydGFudH0ucHgtMThbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLWxlZnQ6JT8xOD8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/MTg/JSFpbXBvcnRhbnR9LnBsLTE4W2RhdGEtdi03MzkxZjliM117cGFkZGluZy1sZWZ0OiU/MTg/JSFpbXBvcnRhbnR9LnByLTE4W2RhdGEtdi03MzkxZjliM117cGFkZGluZy1yaWdodDolPzE4PyUhaW1wb3J0YW50fS5weS0xOFtkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctdG9wOiU/MTg/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT8xOD8lIWltcG9ydGFudH0ucHQtMThbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLXRvcDolPzE4PyUhaW1wb3J0YW50fS5wYi0xOFtkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctYm90dG9tOiU/MTg/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTE4W2RhdGEtdi03MzkxZjliM117Z3JpZC1nYXA6JT8xOD8lIWltcG9ydGFudH0uei1pbmRleC0xOFtkYXRhLXYtNzM5MWY5YjNde3otaW5kZXg6MTghaW1wb3J0YW50fS5mb250LXNpemUtMThbZGF0YS12LTczOTFmOWIzXXtmb250LXNpemU6JT8xOD8lIWltcG9ydGFudH0ubS0yMFtkYXRhLXYtNzM5MWY5YjNde21hcmdpbjolPzIwPyUhaW1wb3J0YW50fS5teC0yMFtkYXRhLXYtNzM5MWY5YjNde21hcmdpbi1sZWZ0OiU/MjA/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/MjA/JSFpbXBvcnRhbnR9Lm1sLTIwW2RhdGEtdi03MzkxZjliM117bWFyZ2luLWxlZnQ6JT8yMD8lIWltcG9ydGFudH0ubXItMjBbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tcmlnaHQ6JT8yMD8lIWltcG9ydGFudH0ubXktMjBbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tdG9wOiU/MjA/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzIwPyUhaW1wb3J0YW50fS5tdC0yMFtkYXRhLXYtNzM5MWY5YjNde21hcmdpbi10b3A6JT8yMD8lIWltcG9ydGFudH0ubWItMjBbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tYm90dG9tOiU/MjA/JSFpbXBvcnRhbnR9LnAtMjBbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nOiU/MjA/JSFpbXBvcnRhbnR9LnB4LTIwW2RhdGEtdi03MzkxZjliM117cGFkZGluZy1sZWZ0OiU/MjA/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzIwPyUhaW1wb3J0YW50fS5wbC0yMFtkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctbGVmdDolPzIwPyUhaW1wb3J0YW50fS5wci0yMFtkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctcmlnaHQ6JT8yMD8lIWltcG9ydGFudH0ucHktMjBbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLXRvcDolPzIwPyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/MjA/JSFpbXBvcnRhbnR9LnB0LTIwW2RhdGEtdi03MzkxZjliM117cGFkZGluZy10b3A6JT8yMD8lIWltcG9ydGFudH0ucGItMjBbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLWJvdHRvbTolPzIwPyUhaW1wb3J0YW50fS5ncmlkLWdhcC0yMFtkYXRhLXYtNzM5MWY5YjNde2dyaWQtZ2FwOiU/MjA/JSFpbXBvcnRhbnR9LnotaW5kZXgtMjBbZGF0YS12LTczOTFmOWIzXXt6LWluZGV4OjIwIWltcG9ydGFudH0uZm9udC1zaXplLTIwW2RhdGEtdi03MzkxZjliM117Zm9udC1zaXplOiU/MjA/JSFpbXBvcnRhbnR9Lm0tMjJbZGF0YS12LTczOTFmOWIzXXttYXJnaW46JT8yMj8lIWltcG9ydGFudH0ubXgtMjJbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tbGVmdDolPzIyPyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzIyPyUhaW1wb3J0YW50fS5tbC0yMltkYXRhLXYtNzM5MWY5YjNde21hcmdpbi1sZWZ0OiU/MjI/JSFpbXBvcnRhbnR9Lm1yLTIyW2RhdGEtdi03MzkxZjliM117bWFyZ2luLXJpZ2h0OiU/MjI/JSFpbXBvcnRhbnR9Lm15LTIyW2RhdGEtdi03MzkxZjliM117bWFyZ2luLXRvcDolPzIyPyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT8yMj8lIWltcG9ydGFudH0ubXQtMjJbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tdG9wOiU/MjI/JSFpbXBvcnRhbnR9Lm1iLTIyW2RhdGEtdi03MzkxZjliM117bWFyZ2luLWJvdHRvbTolPzIyPyUhaW1wb3J0YW50fS5wLTIyW2RhdGEtdi03MzkxZjliM117cGFkZGluZzolPzIyPyUhaW1wb3J0YW50fS5weC0yMltkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctbGVmdDolPzIyPyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT8yMj8lIWltcG9ydGFudH0ucGwtMjJbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLWxlZnQ6JT8yMj8lIWltcG9ydGFudH0ucHItMjJbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLXJpZ2h0OiU/MjI/JSFpbXBvcnRhbnR9LnB5LTIyW2RhdGEtdi03MzkxZjliM117cGFkZGluZy10b3A6JT8yMj8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzIyPyUhaW1wb3J0YW50fS5wdC0yMltkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctdG9wOiU/MjI/JSFpbXBvcnRhbnR9LnBiLTIyW2RhdGEtdi03MzkxZjliM117cGFkZGluZy1ib3R0b206JT8yMj8lIWltcG9ydGFudH0uZ3JpZC1nYXAtMjJbZGF0YS12LTczOTFmOWIzXXtncmlkLWdhcDolPzIyPyUhaW1wb3J0YW50fS56LWluZGV4LTIyW2RhdGEtdi03MzkxZjliM117ei1pbmRleDoyMiFpbXBvcnRhbnR9LmZvbnQtc2l6ZS0yMltkYXRhLXYtNzM5MWY5YjNdLCAuaW5wdXQtaXRlbSAuZ2V0LWNvZGVbZGF0YS12LTczOTFmOWIzXXtmb250LXNpemU6JT8yMj8lIWltcG9ydGFudH0ubS0yNFtkYXRhLXYtNzM5MWY5YjNde21hcmdpbjolPzI0PyUhaW1wb3J0YW50fS5teC0yNFtkYXRhLXYtNzM5MWY5YjNde21hcmdpbi1sZWZ0OiU/MjQ/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/MjQ/JSFpbXBvcnRhbnR9Lm1sLTI0W2RhdGEtdi03MzkxZjliM117bWFyZ2luLWxlZnQ6JT8yND8lIWltcG9ydGFudH0ubXItMjRbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tcmlnaHQ6JT8yND8lIWltcG9ydGFudH0ubXktMjRbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tdG9wOiU/MjQ/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzI0PyUhaW1wb3J0YW50fS5tdC0yNFtkYXRhLXYtNzM5MWY5YjNde21hcmdpbi10b3A6JT8yND8lIWltcG9ydGFudH0ubWItMjRbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tYm90dG9tOiU/MjQ/JSFpbXBvcnRhbnR9LnAtMjRbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nOiU/MjQ/JSFpbXBvcnRhbnR9LnB4LTI0W2RhdGEtdi03MzkxZjliM117cGFkZGluZy1sZWZ0OiU/MjQ/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzI0PyUhaW1wb3J0YW50fS5wbC0yNFtkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctbGVmdDolPzI0PyUhaW1wb3J0YW50fS5wci0yNFtkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctcmlnaHQ6JT8yND8lIWltcG9ydGFudH0ucHktMjRbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLXRvcDolPzI0PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/MjQ/JSFpbXBvcnRhbnR9LnB0LTI0W2RhdGEtdi03MzkxZjliM117cGFkZGluZy10b3A6JT8yND8lIWltcG9ydGFudH0ucGItMjRbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLWJvdHRvbTolPzI0PyUhaW1wb3J0YW50fS5ncmlkLWdhcC0yNFtkYXRhLXYtNzM5MWY5YjNde2dyaWQtZ2FwOiU/MjQ/JSFpbXBvcnRhbnR9LnotaW5kZXgtMjRbZGF0YS12LTczOTFmOWIzXXt6LWluZGV4OjI0IWltcG9ydGFudH0uZm9udC1zaXplLTI0W2RhdGEtdi03MzkxZjliM10sIC5sb2dpbi1pbnB1dC1ncm91cCAubGFiZWxbZGF0YS12LTczOTFmOWIzXXtmb250LXNpemU6JT8yND8lIWltcG9ydGFudH0ubS0yNltkYXRhLXYtNzM5MWY5YjNde21hcmdpbjolPzI2PyUhaW1wb3J0YW50fS5teC0yNltkYXRhLXYtNzM5MWY5YjNde21hcmdpbi1sZWZ0OiU/MjY/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/MjY/JSFpbXBvcnRhbnR9Lm1sLTI2W2RhdGEtdi03MzkxZjliM117bWFyZ2luLWxlZnQ6JT8yNj8lIWltcG9ydGFudH0ubXItMjZbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tcmlnaHQ6JT8yNj8lIWltcG9ydGFudH0ubXktMjZbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tdG9wOiU/MjY/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzI2PyUhaW1wb3J0YW50fS5tdC0yNltkYXRhLXYtNzM5MWY5YjNde21hcmdpbi10b3A6JT8yNj8lIWltcG9ydGFudH0ubWItMjZbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tYm90dG9tOiU/MjY/JSFpbXBvcnRhbnR9LnAtMjZbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nOiU/MjY/JSFpbXBvcnRhbnR9LnB4LTI2W2RhdGEtdi03MzkxZjliM117cGFkZGluZy1sZWZ0OiU/MjY/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzI2PyUhaW1wb3J0YW50fS5wbC0yNltkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctbGVmdDolPzI2PyUhaW1wb3J0YW50fS5wci0yNltkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctcmlnaHQ6JT8yNj8lIWltcG9ydGFudH0ucHktMjZbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLXRvcDolPzI2PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/MjY/JSFpbXBvcnRhbnR9LnB0LTI2W2RhdGEtdi03MzkxZjliM117cGFkZGluZy10b3A6JT8yNj8lIWltcG9ydGFudH0ucGItMjZbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLWJvdHRvbTolPzI2PyUhaW1wb3J0YW50fS5ncmlkLWdhcC0yNltkYXRhLXYtNzM5MWY5YjNde2dyaWQtZ2FwOiU/MjY/JSFpbXBvcnRhbnR9LnotaW5kZXgtMjZbZGF0YS12LTczOTFmOWIzXXt6LWluZGV4OjI2IWltcG9ydGFudH0uZm9udC1zaXplLTI2W2RhdGEtdi03MzkxZjliM117Zm9udC1zaXplOiU/MjY/JSFpbXBvcnRhbnR9Lm0tMjhbZGF0YS12LTczOTFmOWIzXXttYXJnaW46JT8yOD8lIWltcG9ydGFudH0ubXgtMjhbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tbGVmdDolPzI4PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzI4PyUhaW1wb3J0YW50fS5tbC0yOFtkYXRhLXYtNzM5MWY5YjNde21hcmdpbi1sZWZ0OiU/Mjg/JSFpbXBvcnRhbnR9Lm1yLTI4W2RhdGEtdi03MzkxZjliM117bWFyZ2luLXJpZ2h0OiU/Mjg/JSFpbXBvcnRhbnR9Lm15LTI4W2RhdGEtdi03MzkxZjliM117bWFyZ2luLXRvcDolPzI4PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT8yOD8lIWltcG9ydGFudH0ubXQtMjhbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tdG9wOiU/Mjg/JSFpbXBvcnRhbnR9Lm1iLTI4W2RhdGEtdi03MzkxZjliM117bWFyZ2luLWJvdHRvbTolPzI4PyUhaW1wb3J0YW50fS5wLTI4W2RhdGEtdi03MzkxZjliM117cGFkZGluZzolPzI4PyUhaW1wb3J0YW50fS5weC0yOFtkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctbGVmdDolPzI4PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT8yOD8lIWltcG9ydGFudH0ucGwtMjhbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLWxlZnQ6JT8yOD8lIWltcG9ydGFudH0ucHItMjhbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLXJpZ2h0OiU/Mjg/JSFpbXBvcnRhbnR9LnB5LTI4W2RhdGEtdi03MzkxZjliM117cGFkZGluZy10b3A6JT8yOD8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzI4PyUhaW1wb3J0YW50fS5wdC0yOFtkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctdG9wOiU/Mjg/JSFpbXBvcnRhbnR9LnBiLTI4W2RhdGEtdi03MzkxZjliM117cGFkZGluZy1ib3R0b206JT8yOD8lIWltcG9ydGFudH0uZ3JpZC1nYXAtMjhbZGF0YS12LTczOTFmOWIzXXtncmlkLWdhcDolPzI4PyUhaW1wb3J0YW50fS56LWluZGV4LTI4W2RhdGEtdi03MzkxZjliM117ei1pbmRleDoyOCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS0yOFtkYXRhLXYtNzM5MWY5YjNde2ZvbnQtc2l6ZTolPzI4PyUhaW1wb3J0YW50fS5tLTMwW2RhdGEtdi03MzkxZjliM117bWFyZ2luOiU/MzA/JSFpbXBvcnRhbnR9Lm14LTMwW2RhdGEtdi03MzkxZjliM117bWFyZ2luLWxlZnQ6JT8zMD8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT8zMD8lIWltcG9ydGFudH0ubWwtMzBbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tbGVmdDolPzMwPyUhaW1wb3J0YW50fS5tci0zMFtkYXRhLXYtNzM5MWY5YjNde21hcmdpbi1yaWdodDolPzMwPyUhaW1wb3J0YW50fS5teS0zMFtkYXRhLXYtNzM5MWY5YjNde21hcmdpbi10b3A6JT8zMD8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/MzA/JSFpbXBvcnRhbnR9Lm10LTMwW2RhdGEtdi03MzkxZjliM117bWFyZ2luLXRvcDolPzMwPyUhaW1wb3J0YW50fS5tYi0zMFtkYXRhLXYtNzM5MWY5YjNde21hcmdpbi1ib3R0b206JT8zMD8lIWltcG9ydGFudH0ucC0zMFtkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmc6JT8zMD8lIWltcG9ydGFudH0ucHgtMzBbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLWxlZnQ6JT8zMD8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/MzA/JSFpbXBvcnRhbnR9LnBsLTMwW2RhdGEtdi03MzkxZjliM117cGFkZGluZy1sZWZ0OiU/MzA/JSFpbXBvcnRhbnR9LnByLTMwW2RhdGEtdi03MzkxZjliM117cGFkZGluZy1yaWdodDolPzMwPyUhaW1wb3J0YW50fS5weS0zMFtkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctdG9wOiU/MzA/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT8zMD8lIWltcG9ydGFudH0ucHQtMzBbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLXRvcDolPzMwPyUhaW1wb3J0YW50fS5wYi0zMFtkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctYm90dG9tOiU/MzA/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTMwW2RhdGEtdi03MzkxZjliM117Z3JpZC1nYXA6JT8zMD8lIWltcG9ydGFudH0uei1pbmRleC0zMFtkYXRhLXYtNzM5MWY5YjNde3otaW5kZXg6MzAhaW1wb3J0YW50fS5mb250LXNpemUtMzBbZGF0YS12LTczOTFmOWIzXXtmb250LXNpemU6JT8zMD8lIWltcG9ydGFudH0ubS0zMltkYXRhLXYtNzM5MWY5YjNde21hcmdpbjolPzMyPyUhaW1wb3J0YW50fS5teC0zMltkYXRhLXYtNzM5MWY5YjNde21hcmdpbi1sZWZ0OiU/MzI/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/MzI/JSFpbXBvcnRhbnR9Lm1sLTMyW2RhdGEtdi03MzkxZjliM117bWFyZ2luLWxlZnQ6JT8zMj8lIWltcG9ydGFudH0ubXItMzJbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tcmlnaHQ6JT8zMj8lIWltcG9ydGFudH0ubXktMzJbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tdG9wOiU/MzI/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzMyPyUhaW1wb3J0YW50fS5tdC0zMltkYXRhLXYtNzM5MWY5YjNde21hcmdpbi10b3A6JT8zMj8lIWltcG9ydGFudH0ubWItMzJbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tYm90dG9tOiU/MzI/JSFpbXBvcnRhbnR9LnAtMzJbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nOiU/MzI/JSFpbXBvcnRhbnR9LnB4LTMyW2RhdGEtdi03MzkxZjliM117cGFkZGluZy1sZWZ0OiU/MzI/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzMyPyUhaW1wb3J0YW50fS5wbC0zMltkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctbGVmdDolPzMyPyUhaW1wb3J0YW50fS5wci0zMltkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctcmlnaHQ6JT8zMj8lIWltcG9ydGFudH0ucHktMzJbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLXRvcDolPzMyPyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/MzI/JSFpbXBvcnRhbnR9LnB0LTMyW2RhdGEtdi03MzkxZjliM117cGFkZGluZy10b3A6JT8zMj8lIWltcG9ydGFudH0ucGItMzJbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLWJvdHRvbTolPzMyPyUhaW1wb3J0YW50fS5ncmlkLWdhcC0zMltkYXRhLXYtNzM5MWY5YjNde2dyaWQtZ2FwOiU/MzI/JSFpbXBvcnRhbnR9LnotaW5kZXgtMzJbZGF0YS12LTczOTFmOWIzXXt6LWluZGV4OjMyIWltcG9ydGFudH0uZm9udC1zaXplLTMyW2RhdGEtdi03MzkxZjliM10sIC5pbnB1dFtkYXRhLXYtNzM5MWY5YjNdLCAubG9naW4taW5wdXQtZ3JvdXAgLmxvZ2luLWlucHV0W2RhdGEtdi03MzkxZjliM10sIC5hcnRpY2xlIHVuaS10ZXh0W2RhdGEtdi03MzkxZjliM117Zm9udC1zaXplOiU/MzI/JSFpbXBvcnRhbnR9Lm0tMzRbZGF0YS12LTczOTFmOWIzXXttYXJnaW46JT8zND8lIWltcG9ydGFudH0ubXgtMzRbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tbGVmdDolPzM0PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzM0PyUhaW1wb3J0YW50fS5tbC0zNFtkYXRhLXYtNzM5MWY5YjNde21hcmdpbi1sZWZ0OiU/MzQ/JSFpbXBvcnRhbnR9Lm1yLTM0W2RhdGEtdi03MzkxZjliM117bWFyZ2luLXJpZ2h0OiU/MzQ/JSFpbXBvcnRhbnR9Lm15LTM0W2RhdGEtdi03MzkxZjliM117bWFyZ2luLXRvcDolPzM0PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT8zND8lIWltcG9ydGFudH0ubXQtMzRbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tdG9wOiU/MzQ/JSFpbXBvcnRhbnR9Lm1iLTM0W2RhdGEtdi03MzkxZjliM117bWFyZ2luLWJvdHRvbTolPzM0PyUhaW1wb3J0YW50fS5wLTM0W2RhdGEtdi03MzkxZjliM117cGFkZGluZzolPzM0PyUhaW1wb3J0YW50fS5weC0zNFtkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctbGVmdDolPzM0PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT8zND8lIWltcG9ydGFudH0ucGwtMzRbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLWxlZnQ6JT8zND8lIWltcG9ydGFudH0ucHItMzRbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLXJpZ2h0OiU/MzQ/JSFpbXBvcnRhbnR9LnB5LTM0W2RhdGEtdi03MzkxZjliM117cGFkZGluZy10b3A6JT8zND8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzM0PyUhaW1wb3J0YW50fS5wdC0zNFtkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctdG9wOiU/MzQ/JSFpbXBvcnRhbnR9LnBiLTM0W2RhdGEtdi03MzkxZjliM117cGFkZGluZy1ib3R0b206JT8zND8lIWltcG9ydGFudH0uZ3JpZC1nYXAtMzRbZGF0YS12LTczOTFmOWIzXXtncmlkLWdhcDolPzM0PyUhaW1wb3J0YW50fS56LWluZGV4LTM0W2RhdGEtdi03MzkxZjliM117ei1pbmRleDozNCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS0zNFtkYXRhLXYtNzM5MWY5YjNde2ZvbnQtc2l6ZTolPzM0PyUhaW1wb3J0YW50fS5tLTM2W2RhdGEtdi03MzkxZjliM117bWFyZ2luOiU/MzY/JSFpbXBvcnRhbnR9Lm14LTM2W2RhdGEtdi03MzkxZjliM117bWFyZ2luLWxlZnQ6JT8zNj8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT8zNj8lIWltcG9ydGFudH0ubWwtMzZbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tbGVmdDolPzM2PyUhaW1wb3J0YW50fS5tci0zNltkYXRhLXYtNzM5MWY5YjNde21hcmdpbi1yaWdodDolPzM2PyUhaW1wb3J0YW50fS5teS0zNltkYXRhLXYtNzM5MWY5YjNde21hcmdpbi10b3A6JT8zNj8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/MzY/JSFpbXBvcnRhbnR9Lm10LTM2W2RhdGEtdi03MzkxZjliM117bWFyZ2luLXRvcDolPzM2PyUhaW1wb3J0YW50fS5tYi0zNltkYXRhLXYtNzM5MWY5YjNde21hcmdpbi1ib3R0b206JT8zNj8lIWltcG9ydGFudH0ucC0zNltkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmc6JT8zNj8lIWltcG9ydGFudH0ucHgtMzZbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLWxlZnQ6JT8zNj8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/MzY/JSFpbXBvcnRhbnR9LnBsLTM2W2RhdGEtdi03MzkxZjliM117cGFkZGluZy1sZWZ0OiU/MzY/JSFpbXBvcnRhbnR9LnByLTM2W2RhdGEtdi03MzkxZjliM117cGFkZGluZy1yaWdodDolPzM2PyUhaW1wb3J0YW50fS5weS0zNltkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctdG9wOiU/MzY/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT8zNj8lIWltcG9ydGFudH0ucHQtMzZbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLXRvcDolPzM2PyUhaW1wb3J0YW50fS5wYi0zNltkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctYm90dG9tOiU/MzY/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTM2W2RhdGEtdi03MzkxZjliM117Z3JpZC1nYXA6JT8zNj8lIWltcG9ydGFudH0uei1pbmRleC0zNltkYXRhLXYtNzM5MWY5YjNde3otaW5kZXg6MzYhaW1wb3J0YW50fS5mb250LXNpemUtMzZbZGF0YS12LTczOTFmOWIzXXtmb250LXNpemU6JT8zNj8lIWltcG9ydGFudH0ubS0zOFtkYXRhLXYtNzM5MWY5YjNde21hcmdpbjolPzM4PyUhaW1wb3J0YW50fS5teC0zOFtkYXRhLXYtNzM5MWY5YjNde21hcmdpbi1sZWZ0OiU/Mzg/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/Mzg/JSFpbXBvcnRhbnR9Lm1sLTM4W2RhdGEtdi03MzkxZjliM117bWFyZ2luLWxlZnQ6JT8zOD8lIWltcG9ydGFudH0ubXItMzhbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tcmlnaHQ6JT8zOD8lIWltcG9ydGFudH0ubXktMzhbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tdG9wOiU/Mzg/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzM4PyUhaW1wb3J0YW50fS5tdC0zOFtkYXRhLXYtNzM5MWY5YjNde21hcmdpbi10b3A6JT8zOD8lIWltcG9ydGFudH0ubWItMzhbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tYm90dG9tOiU/Mzg/JSFpbXBvcnRhbnR9LnAtMzhbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nOiU/Mzg/JSFpbXBvcnRhbnR9LnB4LTM4W2RhdGEtdi03MzkxZjliM117cGFkZGluZy1sZWZ0OiU/Mzg/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzM4PyUhaW1wb3J0YW50fS5wbC0zOFtkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctbGVmdDolPzM4PyUhaW1wb3J0YW50fS5wci0zOFtkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctcmlnaHQ6JT8zOD8lIWltcG9ydGFudH0ucHktMzhbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLXRvcDolPzM4PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/Mzg/JSFpbXBvcnRhbnR9LnB0LTM4W2RhdGEtdi03MzkxZjliM117cGFkZGluZy10b3A6JT8zOD8lIWltcG9ydGFudH0ucGItMzhbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLWJvdHRvbTolPzM4PyUhaW1wb3J0YW50fS5ncmlkLWdhcC0zOFtkYXRhLXYtNzM5MWY5YjNde2dyaWQtZ2FwOiU/Mzg/JSFpbXBvcnRhbnR9LnotaW5kZXgtMzhbZGF0YS12LTczOTFmOWIzXXt6LWluZGV4OjM4IWltcG9ydGFudH0uZm9udC1zaXplLTM4W2RhdGEtdi03MzkxZjliM117Zm9udC1zaXplOiU/Mzg/JSFpbXBvcnRhbnR9Lm0tNDBbZGF0YS12LTczOTFmOWIzXXttYXJnaW46JT80MD8lIWltcG9ydGFudH0ubXgtNDBbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tbGVmdDolPzQwPyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzQwPyUhaW1wb3J0YW50fS5tbC00MFtkYXRhLXYtNzM5MWY5YjNde21hcmdpbi1sZWZ0OiU/NDA/JSFpbXBvcnRhbnR9Lm1yLTQwW2RhdGEtdi03MzkxZjliM117bWFyZ2luLXJpZ2h0OiU/NDA/JSFpbXBvcnRhbnR9Lm15LTQwW2RhdGEtdi03MzkxZjliM117bWFyZ2luLXRvcDolPzQwPyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT80MD8lIWltcG9ydGFudH0ubXQtNDBbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tdG9wOiU/NDA/JSFpbXBvcnRhbnR9Lm1iLTQwW2RhdGEtdi03MzkxZjliM117bWFyZ2luLWJvdHRvbTolPzQwPyUhaW1wb3J0YW50fS5wLTQwW2RhdGEtdi03MzkxZjliM117cGFkZGluZzolPzQwPyUhaW1wb3J0YW50fS5weC00MFtkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctbGVmdDolPzQwPyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT80MD8lIWltcG9ydGFudH0ucGwtNDBbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLWxlZnQ6JT80MD8lIWltcG9ydGFudH0ucHItNDBbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLXJpZ2h0OiU/NDA/JSFpbXBvcnRhbnR9LnB5LTQwW2RhdGEtdi03MzkxZjliM117cGFkZGluZy10b3A6JT80MD8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzQwPyUhaW1wb3J0YW50fS5wdC00MFtkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctdG9wOiU/NDA/JSFpbXBvcnRhbnR9LnBiLTQwW2RhdGEtdi03MzkxZjliM117cGFkZGluZy1ib3R0b206JT80MD8lIWltcG9ydGFudH0uZ3JpZC1nYXAtNDBbZGF0YS12LTczOTFmOWIzXXtncmlkLWdhcDolPzQwPyUhaW1wb3J0YW50fS56LWluZGV4LTQwW2RhdGEtdi03MzkxZjliM117ei1pbmRleDo0MCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS00MFtkYXRhLXYtNzM5MWY5YjNde2ZvbnQtc2l6ZTolPzQwPyUhaW1wb3J0YW50fS5tLTQyW2RhdGEtdi03MzkxZjliM117bWFyZ2luOiU/NDI/JSFpbXBvcnRhbnR9Lm14LTQyW2RhdGEtdi03MzkxZjliM117bWFyZ2luLWxlZnQ6JT80Mj8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT80Mj8lIWltcG9ydGFudH0ubWwtNDJbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tbGVmdDolPzQyPyUhaW1wb3J0YW50fS5tci00MltkYXRhLXYtNzM5MWY5YjNde21hcmdpbi1yaWdodDolPzQyPyUhaW1wb3J0YW50fS5teS00MltkYXRhLXYtNzM5MWY5YjNde21hcmdpbi10b3A6JT80Mj8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/NDI/JSFpbXBvcnRhbnR9Lm10LTQyW2RhdGEtdi03MzkxZjliM117bWFyZ2luLXRvcDolPzQyPyUhaW1wb3J0YW50fS5tYi00MltkYXRhLXYtNzM5MWY5YjNde21hcmdpbi1ib3R0b206JT80Mj8lIWltcG9ydGFudH0ucC00MltkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmc6JT80Mj8lIWltcG9ydGFudH0ucHgtNDJbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLWxlZnQ6JT80Mj8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/NDI/JSFpbXBvcnRhbnR9LnBsLTQyW2RhdGEtdi03MzkxZjliM117cGFkZGluZy1sZWZ0OiU/NDI/JSFpbXBvcnRhbnR9LnByLTQyW2RhdGEtdi03MzkxZjliM117cGFkZGluZy1yaWdodDolPzQyPyUhaW1wb3J0YW50fS5weS00MltkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctdG9wOiU/NDI/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT80Mj8lIWltcG9ydGFudH0ucHQtNDJbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLXRvcDolPzQyPyUhaW1wb3J0YW50fS5wYi00MltkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctYm90dG9tOiU/NDI/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTQyW2RhdGEtdi03MzkxZjliM117Z3JpZC1nYXA6JT80Mj8lIWltcG9ydGFudH0uei1pbmRleC00MltkYXRhLXYtNzM5MWY5YjNde3otaW5kZXg6NDIhaW1wb3J0YW50fS5mb250LXNpemUtNDJbZGF0YS12LTczOTFmOWIzXXtmb250LXNpemU6JT80Mj8lIWltcG9ydGFudH0ubS00NFtkYXRhLXYtNzM5MWY5YjNde21hcmdpbjolPzQ0PyUhaW1wb3J0YW50fS5teC00NFtkYXRhLXYtNzM5MWY5YjNde21hcmdpbi1sZWZ0OiU/NDQ/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/NDQ/JSFpbXBvcnRhbnR9Lm1sLTQ0W2RhdGEtdi03MzkxZjliM117bWFyZ2luLWxlZnQ6JT80ND8lIWltcG9ydGFudH0ubXItNDRbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tcmlnaHQ6JT80ND8lIWltcG9ydGFudH0ubXktNDRbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tdG9wOiU/NDQ/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzQ0PyUhaW1wb3J0YW50fS5tdC00NFtkYXRhLXYtNzM5MWY5YjNde21hcmdpbi10b3A6JT80ND8lIWltcG9ydGFudH0ubWItNDRbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tYm90dG9tOiU/NDQ/JSFpbXBvcnRhbnR9LnAtNDRbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nOiU/NDQ/JSFpbXBvcnRhbnR9LnB4LTQ0W2RhdGEtdi03MzkxZjliM117cGFkZGluZy1sZWZ0OiU/NDQ/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzQ0PyUhaW1wb3J0YW50fS5wbC00NFtkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctbGVmdDolPzQ0PyUhaW1wb3J0YW50fS5wci00NFtkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctcmlnaHQ6JT80ND8lIWltcG9ydGFudH0ucHktNDRbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLXRvcDolPzQ0PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NDQ/JSFpbXBvcnRhbnR9LnB0LTQ0W2RhdGEtdi03MzkxZjliM117cGFkZGluZy10b3A6JT80ND8lIWltcG9ydGFudH0ucGItNDRbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLWJvdHRvbTolPzQ0PyUhaW1wb3J0YW50fS5ncmlkLWdhcC00NFtkYXRhLXYtNzM5MWY5YjNde2dyaWQtZ2FwOiU/NDQ/JSFpbXBvcnRhbnR9LnotaW5kZXgtNDRbZGF0YS12LTczOTFmOWIzXXt6LWluZGV4OjQ0IWltcG9ydGFudH0uZm9udC1zaXplLTQ0W2RhdGEtdi03MzkxZjliM117Zm9udC1zaXplOiU/NDQ/JSFpbXBvcnRhbnR9Lm0tNDZbZGF0YS12LTczOTFmOWIzXXttYXJnaW46JT80Nj8lIWltcG9ydGFudH0ubXgtNDZbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tbGVmdDolPzQ2PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzQ2PyUhaW1wb3J0YW50fS5tbC00NltkYXRhLXYtNzM5MWY5YjNde21hcmdpbi1sZWZ0OiU/NDY/JSFpbXBvcnRhbnR9Lm1yLTQ2W2RhdGEtdi03MzkxZjliM117bWFyZ2luLXJpZ2h0OiU/NDY/JSFpbXBvcnRhbnR9Lm15LTQ2W2RhdGEtdi03MzkxZjliM117bWFyZ2luLXRvcDolPzQ2PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT80Nj8lIWltcG9ydGFudH0ubXQtNDZbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tdG9wOiU/NDY/JSFpbXBvcnRhbnR9Lm1iLTQ2W2RhdGEtdi03MzkxZjliM117bWFyZ2luLWJvdHRvbTolPzQ2PyUhaW1wb3J0YW50fS5wLTQ2W2RhdGEtdi03MzkxZjliM117cGFkZGluZzolPzQ2PyUhaW1wb3J0YW50fS5weC00NltkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctbGVmdDolPzQ2PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT80Nj8lIWltcG9ydGFudH0ucGwtNDZbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLWxlZnQ6JT80Nj8lIWltcG9ydGFudH0ucHItNDZbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLXJpZ2h0OiU/NDY/JSFpbXBvcnRhbnR9LnB5LTQ2W2RhdGEtdi03MzkxZjliM117cGFkZGluZy10b3A6JT80Nj8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzQ2PyUhaW1wb3J0YW50fS5wdC00NltkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctdG9wOiU/NDY/JSFpbXBvcnRhbnR9LnBiLTQ2W2RhdGEtdi03MzkxZjliM117cGFkZGluZy1ib3R0b206JT80Nj8lIWltcG9ydGFudH0uZ3JpZC1nYXAtNDZbZGF0YS12LTczOTFmOWIzXXtncmlkLWdhcDolPzQ2PyUhaW1wb3J0YW50fS56LWluZGV4LTQ2W2RhdGEtdi03MzkxZjliM117ei1pbmRleDo0NiFpbXBvcnRhbnR9LmZvbnQtc2l6ZS00NltkYXRhLXYtNzM5MWY5YjNde2ZvbnQtc2l6ZTolPzQ2PyUhaW1wb3J0YW50fS5tLTQ4W2RhdGEtdi03MzkxZjliM117bWFyZ2luOiU/NDg/JSFpbXBvcnRhbnR9Lm14LTQ4W2RhdGEtdi03MzkxZjliM117bWFyZ2luLWxlZnQ6JT80OD8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT80OD8lIWltcG9ydGFudH0ubWwtNDhbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tbGVmdDolPzQ4PyUhaW1wb3J0YW50fS5tci00OFtkYXRhLXYtNzM5MWY5YjNde21hcmdpbi1yaWdodDolPzQ4PyUhaW1wb3J0YW50fS5teS00OFtkYXRhLXYtNzM5MWY5YjNde21hcmdpbi10b3A6JT80OD8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/NDg/JSFpbXBvcnRhbnR9Lm10LTQ4W2RhdGEtdi03MzkxZjliM117bWFyZ2luLXRvcDolPzQ4PyUhaW1wb3J0YW50fS5tYi00OFtkYXRhLXYtNzM5MWY5YjNde21hcmdpbi1ib3R0b206JT80OD8lIWltcG9ydGFudH0ucC00OFtkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmc6JT80OD8lIWltcG9ydGFudH0ucHgtNDhbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLWxlZnQ6JT80OD8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/NDg/JSFpbXBvcnRhbnR9LnBsLTQ4W2RhdGEtdi03MzkxZjliM117cGFkZGluZy1sZWZ0OiU/NDg/JSFpbXBvcnRhbnR9LnByLTQ4W2RhdGEtdi03MzkxZjliM117cGFkZGluZy1yaWdodDolPzQ4PyUhaW1wb3J0YW50fS5weS00OFtkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctdG9wOiU/NDg/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT80OD8lIWltcG9ydGFudH0ucHQtNDhbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLXRvcDolPzQ4PyUhaW1wb3J0YW50fS5wYi00OFtkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctYm90dG9tOiU/NDg/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTQ4W2RhdGEtdi03MzkxZjliM117Z3JpZC1nYXA6JT80OD8lIWltcG9ydGFudH0uei1pbmRleC00OFtkYXRhLXYtNzM5MWY5YjNde3otaW5kZXg6NDghaW1wb3J0YW50fS5mb250LXNpemUtNDhbZGF0YS12LTczOTFmOWIzXXtmb250LXNpemU6JT80OD8lIWltcG9ydGFudH0ubS01MFtkYXRhLXYtNzM5MWY5YjNde21hcmdpbjolPzUwPyUhaW1wb3J0YW50fS5teC01MFtkYXRhLXYtNzM5MWY5YjNde21hcmdpbi1sZWZ0OiU/NTA/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/NTA/JSFpbXBvcnRhbnR9Lm1sLTUwW2RhdGEtdi03MzkxZjliM117bWFyZ2luLWxlZnQ6JT81MD8lIWltcG9ydGFudH0ubXItNTBbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tcmlnaHQ6JT81MD8lIWltcG9ydGFudH0ubXktNTBbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tdG9wOiU/NTA/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzUwPyUhaW1wb3J0YW50fS5tdC01MFtkYXRhLXYtNzM5MWY5YjNde21hcmdpbi10b3A6JT81MD8lIWltcG9ydGFudH0ubWItNTBbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tYm90dG9tOiU/NTA/JSFpbXBvcnRhbnR9LnAtNTBbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nOiU/NTA/JSFpbXBvcnRhbnR9LnB4LTUwW2RhdGEtdi03MzkxZjliM117cGFkZGluZy1sZWZ0OiU/NTA/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzUwPyUhaW1wb3J0YW50fS5wbC01MFtkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctbGVmdDolPzUwPyUhaW1wb3J0YW50fS5wci01MFtkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctcmlnaHQ6JT81MD8lIWltcG9ydGFudH0ucHktNTBbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLXRvcDolPzUwPyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NTA/JSFpbXBvcnRhbnR9LnB0LTUwW2RhdGEtdi03MzkxZjliM117cGFkZGluZy10b3A6JT81MD8lIWltcG9ydGFudH0ucGItNTBbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLWJvdHRvbTolPzUwPyUhaW1wb3J0YW50fS5ncmlkLWdhcC01MFtkYXRhLXYtNzM5MWY5YjNde2dyaWQtZ2FwOiU/NTA/JSFpbXBvcnRhbnR9LnotaW5kZXgtNTBbZGF0YS12LTczOTFmOWIzXXt6LWluZGV4OjUwIWltcG9ydGFudH0uZm9udC1zaXplLTUwW2RhdGEtdi03MzkxZjliM117Zm9udC1zaXplOiU/NTA/JSFpbXBvcnRhbnR9Lm0tNTJbZGF0YS12LTczOTFmOWIzXXttYXJnaW46JT81Mj8lIWltcG9ydGFudH0ubXgtNTJbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tbGVmdDolPzUyPyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzUyPyUhaW1wb3J0YW50fS5tbC01MltkYXRhLXYtNzM5MWY5YjNde21hcmdpbi1sZWZ0OiU/NTI/JSFpbXBvcnRhbnR9Lm1yLTUyW2RhdGEtdi03MzkxZjliM117bWFyZ2luLXJpZ2h0OiU/NTI/JSFpbXBvcnRhbnR9Lm15LTUyW2RhdGEtdi03MzkxZjliM117bWFyZ2luLXRvcDolPzUyPyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT81Mj8lIWltcG9ydGFudH0ubXQtNTJbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tdG9wOiU/NTI/JSFpbXBvcnRhbnR9Lm1iLTUyW2RhdGEtdi03MzkxZjliM117bWFyZ2luLWJvdHRvbTolPzUyPyUhaW1wb3J0YW50fS5wLTUyW2RhdGEtdi03MzkxZjliM117cGFkZGluZzolPzUyPyUhaW1wb3J0YW50fS5weC01MltkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctbGVmdDolPzUyPyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT81Mj8lIWltcG9ydGFudH0ucGwtNTJbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLWxlZnQ6JT81Mj8lIWltcG9ydGFudH0ucHItNTJbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLXJpZ2h0OiU/NTI/JSFpbXBvcnRhbnR9LnB5LTUyW2RhdGEtdi03MzkxZjliM117cGFkZGluZy10b3A6JT81Mj8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzUyPyUhaW1wb3J0YW50fS5wdC01MltkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctdG9wOiU/NTI/JSFpbXBvcnRhbnR9LnBiLTUyW2RhdGEtdi03MzkxZjliM117cGFkZGluZy1ib3R0b206JT81Mj8lIWltcG9ydGFudH0uZ3JpZC1nYXAtNTJbZGF0YS12LTczOTFmOWIzXXtncmlkLWdhcDolPzUyPyUhaW1wb3J0YW50fS56LWluZGV4LTUyW2RhdGEtdi03MzkxZjliM117ei1pbmRleDo1MiFpbXBvcnRhbnR9LmZvbnQtc2l6ZS01MltkYXRhLXYtNzM5MWY5YjNde2ZvbnQtc2l6ZTolPzUyPyUhaW1wb3J0YW50fS5tLTU0W2RhdGEtdi03MzkxZjliM117bWFyZ2luOiU/NTQ/JSFpbXBvcnRhbnR9Lm14LTU0W2RhdGEtdi03MzkxZjliM117bWFyZ2luLWxlZnQ6JT81ND8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT81ND8lIWltcG9ydGFudH0ubWwtNTRbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tbGVmdDolPzU0PyUhaW1wb3J0YW50fS5tci01NFtkYXRhLXYtNzM5MWY5YjNde21hcmdpbi1yaWdodDolPzU0PyUhaW1wb3J0YW50fS5teS01NFtkYXRhLXYtNzM5MWY5YjNde21hcmdpbi10b3A6JT81ND8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/NTQ/JSFpbXBvcnRhbnR9Lm10LTU0W2RhdGEtdi03MzkxZjliM117bWFyZ2luLXRvcDolPzU0PyUhaW1wb3J0YW50fS5tYi01NFtkYXRhLXYtNzM5MWY5YjNde21hcmdpbi1ib3R0b206JT81ND8lIWltcG9ydGFudH0ucC01NFtkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmc6JT81ND8lIWltcG9ydGFudH0ucHgtNTRbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLWxlZnQ6JT81ND8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/NTQ/JSFpbXBvcnRhbnR9LnBsLTU0W2RhdGEtdi03MzkxZjliM117cGFkZGluZy1sZWZ0OiU/NTQ/JSFpbXBvcnRhbnR9LnByLTU0W2RhdGEtdi03MzkxZjliM117cGFkZGluZy1yaWdodDolPzU0PyUhaW1wb3J0YW50fS5weS01NFtkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctdG9wOiU/NTQ/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT81ND8lIWltcG9ydGFudH0ucHQtNTRbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLXRvcDolPzU0PyUhaW1wb3J0YW50fS5wYi01NFtkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctYm90dG9tOiU/NTQ/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTU0W2RhdGEtdi03MzkxZjliM117Z3JpZC1nYXA6JT81ND8lIWltcG9ydGFudH0uei1pbmRleC01NFtkYXRhLXYtNzM5MWY5YjNde3otaW5kZXg6NTQhaW1wb3J0YW50fS5mb250LXNpemUtNTRbZGF0YS12LTczOTFmOWIzXXtmb250LXNpemU6JT81ND8lIWltcG9ydGFudH0ubS01NltkYXRhLXYtNzM5MWY5YjNde21hcmdpbjolPzU2PyUhaW1wb3J0YW50fS5teC01NltkYXRhLXYtNzM5MWY5YjNde21hcmdpbi1sZWZ0OiU/NTY/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/NTY/JSFpbXBvcnRhbnR9Lm1sLTU2W2RhdGEtdi03MzkxZjliM117bWFyZ2luLWxlZnQ6JT81Nj8lIWltcG9ydGFudH0ubXItNTZbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tcmlnaHQ6JT81Nj8lIWltcG9ydGFudH0ubXktNTZbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tdG9wOiU/NTY/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzU2PyUhaW1wb3J0YW50fS5tdC01NltkYXRhLXYtNzM5MWY5YjNde21hcmdpbi10b3A6JT81Nj8lIWltcG9ydGFudH0ubWItNTZbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tYm90dG9tOiU/NTY/JSFpbXBvcnRhbnR9LnAtNTZbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nOiU/NTY/JSFpbXBvcnRhbnR9LnB4LTU2W2RhdGEtdi03MzkxZjliM117cGFkZGluZy1sZWZ0OiU/NTY/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzU2PyUhaW1wb3J0YW50fS5wbC01NltkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctbGVmdDolPzU2PyUhaW1wb3J0YW50fS5wci01NltkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctcmlnaHQ6JT81Nj8lIWltcG9ydGFudH0ucHktNTZbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLXRvcDolPzU2PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NTY/JSFpbXBvcnRhbnR9LnB0LTU2W2RhdGEtdi03MzkxZjliM117cGFkZGluZy10b3A6JT81Nj8lIWltcG9ydGFudH0ucGItNTZbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLWJvdHRvbTolPzU2PyUhaW1wb3J0YW50fS5ncmlkLWdhcC01NltkYXRhLXYtNzM5MWY5YjNde2dyaWQtZ2FwOiU/NTY/JSFpbXBvcnRhbnR9LnotaW5kZXgtNTZbZGF0YS12LTczOTFmOWIzXXt6LWluZGV4OjU2IWltcG9ydGFudH0uZm9udC1zaXplLTU2W2RhdGEtdi03MzkxZjliM117Zm9udC1zaXplOiU/NTY/JSFpbXBvcnRhbnR9Lm0tNThbZGF0YS12LTczOTFmOWIzXXttYXJnaW46JT81OD8lIWltcG9ydGFudH0ubXgtNThbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tbGVmdDolPzU4PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzU4PyUhaW1wb3J0YW50fS5tbC01OFtkYXRhLXYtNzM5MWY5YjNde21hcmdpbi1sZWZ0OiU/NTg/JSFpbXBvcnRhbnR9Lm1yLTU4W2RhdGEtdi03MzkxZjliM117bWFyZ2luLXJpZ2h0OiU/NTg/JSFpbXBvcnRhbnR9Lm15LTU4W2RhdGEtdi03MzkxZjliM117bWFyZ2luLXRvcDolPzU4PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT81OD8lIWltcG9ydGFudH0ubXQtNThbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tdG9wOiU/NTg/JSFpbXBvcnRhbnR9Lm1iLTU4W2RhdGEtdi03MzkxZjliM117bWFyZ2luLWJvdHRvbTolPzU4PyUhaW1wb3J0YW50fS5wLTU4W2RhdGEtdi03MzkxZjliM117cGFkZGluZzolPzU4PyUhaW1wb3J0YW50fS5weC01OFtkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctbGVmdDolPzU4PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT81OD8lIWltcG9ydGFudH0ucGwtNThbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLWxlZnQ6JT81OD8lIWltcG9ydGFudH0ucHItNThbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLXJpZ2h0OiU/NTg/JSFpbXBvcnRhbnR9LnB5LTU4W2RhdGEtdi03MzkxZjliM117cGFkZGluZy10b3A6JT81OD8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzU4PyUhaW1wb3J0YW50fS5wdC01OFtkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctdG9wOiU/NTg/JSFpbXBvcnRhbnR9LnBiLTU4W2RhdGEtdi03MzkxZjliM117cGFkZGluZy1ib3R0b206JT81OD8lIWltcG9ydGFudH0uZ3JpZC1nYXAtNThbZGF0YS12LTczOTFmOWIzXXtncmlkLWdhcDolPzU4PyUhaW1wb3J0YW50fS56LWluZGV4LTU4W2RhdGEtdi03MzkxZjliM117ei1pbmRleDo1OCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS01OFtkYXRhLXYtNzM5MWY5YjNde2ZvbnQtc2l6ZTolPzU4PyUhaW1wb3J0YW50fS5tLTYwW2RhdGEtdi03MzkxZjliM117bWFyZ2luOiU/NjA/JSFpbXBvcnRhbnR9Lm14LTYwW2RhdGEtdi03MzkxZjliM117bWFyZ2luLWxlZnQ6JT82MD8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT82MD8lIWltcG9ydGFudH0ubWwtNjBbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tbGVmdDolPzYwPyUhaW1wb3J0YW50fS5tci02MFtkYXRhLXYtNzM5MWY5YjNde21hcmdpbi1yaWdodDolPzYwPyUhaW1wb3J0YW50fS5teS02MFtkYXRhLXYtNzM5MWY5YjNde21hcmdpbi10b3A6JT82MD8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/NjA/JSFpbXBvcnRhbnR9Lm10LTYwW2RhdGEtdi03MzkxZjliM117bWFyZ2luLXRvcDolPzYwPyUhaW1wb3J0YW50fS5tYi02MFtkYXRhLXYtNzM5MWY5YjNde21hcmdpbi1ib3R0b206JT82MD8lIWltcG9ydGFudH0ucC02MFtkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmc6JT82MD8lIWltcG9ydGFudH0ucHgtNjBbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLWxlZnQ6JT82MD8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/NjA/JSFpbXBvcnRhbnR9LnBsLTYwW2RhdGEtdi03MzkxZjliM117cGFkZGluZy1sZWZ0OiU/NjA/JSFpbXBvcnRhbnR9LnByLTYwW2RhdGEtdi03MzkxZjliM117cGFkZGluZy1yaWdodDolPzYwPyUhaW1wb3J0YW50fS5weS02MFtkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctdG9wOiU/NjA/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT82MD8lIWltcG9ydGFudH0ucHQtNjBbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLXRvcDolPzYwPyUhaW1wb3J0YW50fS5wYi02MFtkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctYm90dG9tOiU/NjA/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTYwW2RhdGEtdi03MzkxZjliM117Z3JpZC1nYXA6JT82MD8lIWltcG9ydGFudH0uei1pbmRleC02MFtkYXRhLXYtNzM5MWY5YjNde3otaW5kZXg6NjAhaW1wb3J0YW50fS5mb250LXNpemUtNjBbZGF0YS12LTczOTFmOWIzXXtmb250LXNpemU6JT82MD8lIWltcG9ydGFudH0ubS02MltkYXRhLXYtNzM5MWY5YjNde21hcmdpbjolPzYyPyUhaW1wb3J0YW50fS5teC02MltkYXRhLXYtNzM5MWY5YjNde21hcmdpbi1sZWZ0OiU/NjI/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/NjI/JSFpbXBvcnRhbnR9Lm1sLTYyW2RhdGEtdi03MzkxZjliM117bWFyZ2luLWxlZnQ6JT82Mj8lIWltcG9ydGFudH0ubXItNjJbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tcmlnaHQ6JT82Mj8lIWltcG9ydGFudH0ubXktNjJbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tdG9wOiU/NjI/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzYyPyUhaW1wb3J0YW50fS5tdC02MltkYXRhLXYtNzM5MWY5YjNde21hcmdpbi10b3A6JT82Mj8lIWltcG9ydGFudH0ubWItNjJbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tYm90dG9tOiU/NjI/JSFpbXBvcnRhbnR9LnAtNjJbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nOiU/NjI/JSFpbXBvcnRhbnR9LnB4LTYyW2RhdGEtdi03MzkxZjliM117cGFkZGluZy1sZWZ0OiU/NjI/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzYyPyUhaW1wb3J0YW50fS5wbC02MltkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctbGVmdDolPzYyPyUhaW1wb3J0YW50fS5wci02MltkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctcmlnaHQ6JT82Mj8lIWltcG9ydGFudH0ucHktNjJbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLXRvcDolPzYyPyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NjI/JSFpbXBvcnRhbnR9LnB0LTYyW2RhdGEtdi03MzkxZjliM117cGFkZGluZy10b3A6JT82Mj8lIWltcG9ydGFudH0ucGItNjJbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLWJvdHRvbTolPzYyPyUhaW1wb3J0YW50fS5ncmlkLWdhcC02MltkYXRhLXYtNzM5MWY5YjNde2dyaWQtZ2FwOiU/NjI/JSFpbXBvcnRhbnR9LnotaW5kZXgtNjJbZGF0YS12LTczOTFmOWIzXXt6LWluZGV4OjYyIWltcG9ydGFudH0uZm9udC1zaXplLTYyW2RhdGEtdi03MzkxZjliM117Zm9udC1zaXplOiU/NjI/JSFpbXBvcnRhbnR9Lm0tNjRbZGF0YS12LTczOTFmOWIzXXttYXJnaW46JT82ND8lIWltcG9ydGFudH0ubXgtNjRbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tbGVmdDolPzY0PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzY0PyUhaW1wb3J0YW50fS5tbC02NFtkYXRhLXYtNzM5MWY5YjNde21hcmdpbi1sZWZ0OiU/NjQ/JSFpbXBvcnRhbnR9Lm1yLTY0W2RhdGEtdi03MzkxZjliM117bWFyZ2luLXJpZ2h0OiU/NjQ/JSFpbXBvcnRhbnR9Lm15LTY0W2RhdGEtdi03MzkxZjliM117bWFyZ2luLXRvcDolPzY0PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT82ND8lIWltcG9ydGFudH0ubXQtNjRbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tdG9wOiU/NjQ/JSFpbXBvcnRhbnR9Lm1iLTY0W2RhdGEtdi03MzkxZjliM117bWFyZ2luLWJvdHRvbTolPzY0PyUhaW1wb3J0YW50fS5wLTY0W2RhdGEtdi03MzkxZjliM117cGFkZGluZzolPzY0PyUhaW1wb3J0YW50fS5weC02NFtkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctbGVmdDolPzY0PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT82ND8lIWltcG9ydGFudH0ucGwtNjRbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLWxlZnQ6JT82ND8lIWltcG9ydGFudH0ucHItNjRbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLXJpZ2h0OiU/NjQ/JSFpbXBvcnRhbnR9LnB5LTY0W2RhdGEtdi03MzkxZjliM117cGFkZGluZy10b3A6JT82ND8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzY0PyUhaW1wb3J0YW50fS5wdC02NFtkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctdG9wOiU/NjQ/JSFpbXBvcnRhbnR9LnBiLTY0W2RhdGEtdi03MzkxZjliM117cGFkZGluZy1ib3R0b206JT82ND8lIWltcG9ydGFudH0uZ3JpZC1nYXAtNjRbZGF0YS12LTczOTFmOWIzXXtncmlkLWdhcDolPzY0PyUhaW1wb3J0YW50fS56LWluZGV4LTY0W2RhdGEtdi03MzkxZjliM117ei1pbmRleDo2NCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS02NFtkYXRhLXYtNzM5MWY5YjNde2ZvbnQtc2l6ZTolPzY0PyUhaW1wb3J0YW50fS5tLTY2W2RhdGEtdi03MzkxZjliM117bWFyZ2luOiU/NjY/JSFpbXBvcnRhbnR9Lm14LTY2W2RhdGEtdi03MzkxZjliM117bWFyZ2luLWxlZnQ6JT82Nj8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT82Nj8lIWltcG9ydGFudH0ubWwtNjZbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tbGVmdDolPzY2PyUhaW1wb3J0YW50fS5tci02NltkYXRhLXYtNzM5MWY5YjNde21hcmdpbi1yaWdodDolPzY2PyUhaW1wb3J0YW50fS5teS02NltkYXRhLXYtNzM5MWY5YjNde21hcmdpbi10b3A6JT82Nj8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/NjY/JSFpbXBvcnRhbnR9Lm10LTY2W2RhdGEtdi03MzkxZjliM117bWFyZ2luLXRvcDolPzY2PyUhaW1wb3J0YW50fS5tYi02NltkYXRhLXYtNzM5MWY5YjNde21hcmdpbi1ib3R0b206JT82Nj8lIWltcG9ydGFudH0ucC02NltkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmc6JT82Nj8lIWltcG9ydGFudH0ucHgtNjZbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLWxlZnQ6JT82Nj8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/NjY/JSFpbXBvcnRhbnR9LnBsLTY2W2RhdGEtdi03MzkxZjliM117cGFkZGluZy1sZWZ0OiU/NjY/JSFpbXBvcnRhbnR9LnByLTY2W2RhdGEtdi03MzkxZjliM117cGFkZGluZy1yaWdodDolPzY2PyUhaW1wb3J0YW50fS5weS02NltkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctdG9wOiU/NjY/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT82Nj8lIWltcG9ydGFudH0ucHQtNjZbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLXRvcDolPzY2PyUhaW1wb3J0YW50fS5wYi02NltkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctYm90dG9tOiU/NjY/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTY2W2RhdGEtdi03MzkxZjliM117Z3JpZC1nYXA6JT82Nj8lIWltcG9ydGFudH0uei1pbmRleC02NltkYXRhLXYtNzM5MWY5YjNde3otaW5kZXg6NjYhaW1wb3J0YW50fS5mb250LXNpemUtNjZbZGF0YS12LTczOTFmOWIzXXtmb250LXNpemU6JT82Nj8lIWltcG9ydGFudH0ubS02OFtkYXRhLXYtNzM5MWY5YjNde21hcmdpbjolPzY4PyUhaW1wb3J0YW50fS5teC02OFtkYXRhLXYtNzM5MWY5YjNde21hcmdpbi1sZWZ0OiU/Njg/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/Njg/JSFpbXBvcnRhbnR9Lm1sLTY4W2RhdGEtdi03MzkxZjliM117bWFyZ2luLWxlZnQ6JT82OD8lIWltcG9ydGFudH0ubXItNjhbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tcmlnaHQ6JT82OD8lIWltcG9ydGFudH0ubXktNjhbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tdG9wOiU/Njg/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzY4PyUhaW1wb3J0YW50fS5tdC02OFtkYXRhLXYtNzM5MWY5YjNde21hcmdpbi10b3A6JT82OD8lIWltcG9ydGFudH0ubWItNjhbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tYm90dG9tOiU/Njg/JSFpbXBvcnRhbnR9LnAtNjhbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nOiU/Njg/JSFpbXBvcnRhbnR9LnB4LTY4W2RhdGEtdi03MzkxZjliM117cGFkZGluZy1sZWZ0OiU/Njg/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzY4PyUhaW1wb3J0YW50fS5wbC02OFtkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctbGVmdDolPzY4PyUhaW1wb3J0YW50fS5wci02OFtkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctcmlnaHQ6JT82OD8lIWltcG9ydGFudH0ucHktNjhbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLXRvcDolPzY4PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/Njg/JSFpbXBvcnRhbnR9LnB0LTY4W2RhdGEtdi03MzkxZjliM117cGFkZGluZy10b3A6JT82OD8lIWltcG9ydGFudH0ucGItNjhbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLWJvdHRvbTolPzY4PyUhaW1wb3J0YW50fS5ncmlkLWdhcC02OFtkYXRhLXYtNzM5MWY5YjNde2dyaWQtZ2FwOiU/Njg/JSFpbXBvcnRhbnR9LnotaW5kZXgtNjhbZGF0YS12LTczOTFmOWIzXXt6LWluZGV4OjY4IWltcG9ydGFudH0uZm9udC1zaXplLTY4W2RhdGEtdi03MzkxZjliM117Zm9udC1zaXplOiU/Njg/JSFpbXBvcnRhbnR9Lm0tNzBbZGF0YS12LTczOTFmOWIzXXttYXJnaW46JT83MD8lIWltcG9ydGFudH0ubXgtNzBbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tbGVmdDolPzcwPyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzcwPyUhaW1wb3J0YW50fS5tbC03MFtkYXRhLXYtNzM5MWY5YjNde21hcmdpbi1sZWZ0OiU/NzA/JSFpbXBvcnRhbnR9Lm1yLTcwW2RhdGEtdi03MzkxZjliM117bWFyZ2luLXJpZ2h0OiU/NzA/JSFpbXBvcnRhbnR9Lm15LTcwW2RhdGEtdi03MzkxZjliM117bWFyZ2luLXRvcDolPzcwPyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT83MD8lIWltcG9ydGFudH0ubXQtNzBbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tdG9wOiU/NzA/JSFpbXBvcnRhbnR9Lm1iLTcwW2RhdGEtdi03MzkxZjliM117bWFyZ2luLWJvdHRvbTolPzcwPyUhaW1wb3J0YW50fS5wLTcwW2RhdGEtdi03MzkxZjliM117cGFkZGluZzolPzcwPyUhaW1wb3J0YW50fS5weC03MFtkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctbGVmdDolPzcwPyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT83MD8lIWltcG9ydGFudH0ucGwtNzBbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLWxlZnQ6JT83MD8lIWltcG9ydGFudH0ucHItNzBbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLXJpZ2h0OiU/NzA/JSFpbXBvcnRhbnR9LnB5LTcwW2RhdGEtdi03MzkxZjliM117cGFkZGluZy10b3A6JT83MD8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzcwPyUhaW1wb3J0YW50fS5wdC03MFtkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctdG9wOiU/NzA/JSFpbXBvcnRhbnR9LnBiLTcwW2RhdGEtdi03MzkxZjliM117cGFkZGluZy1ib3R0b206JT83MD8lIWltcG9ydGFudH0uZ3JpZC1nYXAtNzBbZGF0YS12LTczOTFmOWIzXXtncmlkLWdhcDolPzcwPyUhaW1wb3J0YW50fS56LWluZGV4LTcwW2RhdGEtdi03MzkxZjliM117ei1pbmRleDo3MCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS03MFtkYXRhLXYtNzM5MWY5YjNde2ZvbnQtc2l6ZTolPzcwPyUhaW1wb3J0YW50fS5tLTcyW2RhdGEtdi03MzkxZjliM117bWFyZ2luOiU/NzI/JSFpbXBvcnRhbnR9Lm14LTcyW2RhdGEtdi03MzkxZjliM117bWFyZ2luLWxlZnQ6JT83Mj8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT83Mj8lIWltcG9ydGFudH0ubWwtNzJbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tbGVmdDolPzcyPyUhaW1wb3J0YW50fS5tci03MltkYXRhLXYtNzM5MWY5YjNde21hcmdpbi1yaWdodDolPzcyPyUhaW1wb3J0YW50fS5teS03MltkYXRhLXYtNzM5MWY5YjNde21hcmdpbi10b3A6JT83Mj8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/NzI/JSFpbXBvcnRhbnR9Lm10LTcyW2RhdGEtdi03MzkxZjliM117bWFyZ2luLXRvcDolPzcyPyUhaW1wb3J0YW50fS5tYi03MltkYXRhLXYtNzM5MWY5YjNde21hcmdpbi1ib3R0b206JT83Mj8lIWltcG9ydGFudH0ucC03MltkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmc6JT83Mj8lIWltcG9ydGFudH0ucHgtNzJbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLWxlZnQ6JT83Mj8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/NzI/JSFpbXBvcnRhbnR9LnBsLTcyW2RhdGEtdi03MzkxZjliM117cGFkZGluZy1sZWZ0OiU/NzI/JSFpbXBvcnRhbnR9LnByLTcyW2RhdGEtdi03MzkxZjliM117cGFkZGluZy1yaWdodDolPzcyPyUhaW1wb3J0YW50fS5weS03MltkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctdG9wOiU/NzI/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT83Mj8lIWltcG9ydGFudH0ucHQtNzJbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLXRvcDolPzcyPyUhaW1wb3J0YW50fS5wYi03MltkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctYm90dG9tOiU/NzI/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTcyW2RhdGEtdi03MzkxZjliM117Z3JpZC1nYXA6JT83Mj8lIWltcG9ydGFudH0uei1pbmRleC03MltkYXRhLXYtNzM5MWY5YjNde3otaW5kZXg6NzIhaW1wb3J0YW50fS5mb250LXNpemUtNzJbZGF0YS12LTczOTFmOWIzXXtmb250LXNpemU6JT83Mj8lIWltcG9ydGFudH0ubS03NFtkYXRhLXYtNzM5MWY5YjNde21hcmdpbjolPzc0PyUhaW1wb3J0YW50fS5teC03NFtkYXRhLXYtNzM5MWY5YjNde21hcmdpbi1sZWZ0OiU/NzQ/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/NzQ/JSFpbXBvcnRhbnR9Lm1sLTc0W2RhdGEtdi03MzkxZjliM117bWFyZ2luLWxlZnQ6JT83ND8lIWltcG9ydGFudH0ubXItNzRbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tcmlnaHQ6JT83ND8lIWltcG9ydGFudH0ubXktNzRbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tdG9wOiU/NzQ/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzc0PyUhaW1wb3J0YW50fS5tdC03NFtkYXRhLXYtNzM5MWY5YjNde21hcmdpbi10b3A6JT83ND8lIWltcG9ydGFudH0ubWItNzRbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tYm90dG9tOiU/NzQ/JSFpbXBvcnRhbnR9LnAtNzRbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nOiU/NzQ/JSFpbXBvcnRhbnR9LnB4LTc0W2RhdGEtdi03MzkxZjliM117cGFkZGluZy1sZWZ0OiU/NzQ/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzc0PyUhaW1wb3J0YW50fS5wbC03NFtkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctbGVmdDolPzc0PyUhaW1wb3J0YW50fS5wci03NFtkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctcmlnaHQ6JT83ND8lIWltcG9ydGFudH0ucHktNzRbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLXRvcDolPzc0PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NzQ/JSFpbXBvcnRhbnR9LnB0LTc0W2RhdGEtdi03MzkxZjliM117cGFkZGluZy10b3A6JT83ND8lIWltcG9ydGFudH0ucGItNzRbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLWJvdHRvbTolPzc0PyUhaW1wb3J0YW50fS5ncmlkLWdhcC03NFtkYXRhLXYtNzM5MWY5YjNde2dyaWQtZ2FwOiU/NzQ/JSFpbXBvcnRhbnR9LnotaW5kZXgtNzRbZGF0YS12LTczOTFmOWIzXXt6LWluZGV4Ojc0IWltcG9ydGFudH0uZm9udC1zaXplLTc0W2RhdGEtdi03MzkxZjliM117Zm9udC1zaXplOiU/NzQ/JSFpbXBvcnRhbnR9Lm0tNzZbZGF0YS12LTczOTFmOWIzXXttYXJnaW46JT83Nj8lIWltcG9ydGFudH0ubXgtNzZbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tbGVmdDolPzc2PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzc2PyUhaW1wb3J0YW50fS5tbC03NltkYXRhLXYtNzM5MWY5YjNde21hcmdpbi1sZWZ0OiU/NzY/JSFpbXBvcnRhbnR9Lm1yLTc2W2RhdGEtdi03MzkxZjliM117bWFyZ2luLXJpZ2h0OiU/NzY/JSFpbXBvcnRhbnR9Lm15LTc2W2RhdGEtdi03MzkxZjliM117bWFyZ2luLXRvcDolPzc2PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT83Nj8lIWltcG9ydGFudH0ubXQtNzZbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tdG9wOiU/NzY/JSFpbXBvcnRhbnR9Lm1iLTc2W2RhdGEtdi03MzkxZjliM117bWFyZ2luLWJvdHRvbTolPzc2PyUhaW1wb3J0YW50fS5wLTc2W2RhdGEtdi03MzkxZjliM117cGFkZGluZzolPzc2PyUhaW1wb3J0YW50fS5weC03NltkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctbGVmdDolPzc2PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT83Nj8lIWltcG9ydGFudH0ucGwtNzZbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLWxlZnQ6JT83Nj8lIWltcG9ydGFudH0ucHItNzZbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLXJpZ2h0OiU/NzY/JSFpbXBvcnRhbnR9LnB5LTc2W2RhdGEtdi03MzkxZjliM117cGFkZGluZy10b3A6JT83Nj8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzc2PyUhaW1wb3J0YW50fS5wdC03NltkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctdG9wOiU/NzY/JSFpbXBvcnRhbnR9LnBiLTc2W2RhdGEtdi03MzkxZjliM117cGFkZGluZy1ib3R0b206JT83Nj8lIWltcG9ydGFudH0uZ3JpZC1nYXAtNzZbZGF0YS12LTczOTFmOWIzXXtncmlkLWdhcDolPzc2PyUhaW1wb3J0YW50fS56LWluZGV4LTc2W2RhdGEtdi03MzkxZjliM117ei1pbmRleDo3NiFpbXBvcnRhbnR9LmZvbnQtc2l6ZS03NltkYXRhLXYtNzM5MWY5YjNde2ZvbnQtc2l6ZTolPzc2PyUhaW1wb3J0YW50fS5tLTc4W2RhdGEtdi03MzkxZjliM117bWFyZ2luOiU/Nzg/JSFpbXBvcnRhbnR9Lm14LTc4W2RhdGEtdi03MzkxZjliM117bWFyZ2luLWxlZnQ6JT83OD8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT83OD8lIWltcG9ydGFudH0ubWwtNzhbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tbGVmdDolPzc4PyUhaW1wb3J0YW50fS5tci03OFtkYXRhLXYtNzM5MWY5YjNde21hcmdpbi1yaWdodDolPzc4PyUhaW1wb3J0YW50fS5teS03OFtkYXRhLXYtNzM5MWY5YjNde21hcmdpbi10b3A6JT83OD8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/Nzg/JSFpbXBvcnRhbnR9Lm10LTc4W2RhdGEtdi03MzkxZjliM117bWFyZ2luLXRvcDolPzc4PyUhaW1wb3J0YW50fS5tYi03OFtkYXRhLXYtNzM5MWY5YjNde21hcmdpbi1ib3R0b206JT83OD8lIWltcG9ydGFudH0ucC03OFtkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmc6JT83OD8lIWltcG9ydGFudH0ucHgtNzhbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLWxlZnQ6JT83OD8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/Nzg/JSFpbXBvcnRhbnR9LnBsLTc4W2RhdGEtdi03MzkxZjliM117cGFkZGluZy1sZWZ0OiU/Nzg/JSFpbXBvcnRhbnR9LnByLTc4W2RhdGEtdi03MzkxZjliM117cGFkZGluZy1yaWdodDolPzc4PyUhaW1wb3J0YW50fS5weS03OFtkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctdG9wOiU/Nzg/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT83OD8lIWltcG9ydGFudH0ucHQtNzhbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLXRvcDolPzc4PyUhaW1wb3J0YW50fS5wYi03OFtkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctYm90dG9tOiU/Nzg/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTc4W2RhdGEtdi03MzkxZjliM117Z3JpZC1nYXA6JT83OD8lIWltcG9ydGFudH0uei1pbmRleC03OFtkYXRhLXYtNzM5MWY5YjNde3otaW5kZXg6NzghaW1wb3J0YW50fS5mb250LXNpemUtNzhbZGF0YS12LTczOTFmOWIzXXtmb250LXNpemU6JT83OD8lIWltcG9ydGFudH0uZmlsdGVyLWdyYXlbZGF0YS12LTczOTFmOWIzXXstd2Via2l0LWZpbHRlcjpncmF5c2NhbGUoMSk7ZmlsdGVyOmdyYXlzY2FsZSgxKX0ubXgtYXV0b1tkYXRhLXYtNzM5MWY5YjNde21hcmdpbi1sZWZ0OmF1dG87bWFyZ2luLXJpZ2h0OmF1dG99LmQtYmxvY2tbZGF0YS12LTczOTFmOWIzXXtkaXNwbGF5OmJsb2NrfS5kLWlubGluZS1ibG9ja1tkYXRhLXYtNzM5MWY5YjNde2Rpc3BsYXk6aW5saW5lLWJsb2NrfS50ZXh0LWNlbnRlcltkYXRhLXYtNzM5MWY5YjNde3RleHQtYWxpZ246Y2VudGVyfS50ZXh0LWxlZnRbZGF0YS12LTczOTFmOWIzXXt0ZXh0LWFsaWduOmxlZnR9LnRleHQtcmlnaHRbZGF0YS12LTczOTFmOWIzXXt0ZXh0LWFsaWduOnJpZ2h0fS5kLWZsZXhbZGF0YS12LTczOTFmOWIzXXtkaXNwbGF5OmZsZXh9LmQtZmxleC1iZXR3ZWVuLWNlbnRlcltkYXRhLXYtNzM5MWY5YjNde2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2VlbjthbGlnbi1pdGVtczpjZW50ZXJ9LmZsZXgtd3JhcFtkYXRhLXYtNzM5MWY5YjNde2ZsZXgtd3JhcDp3cmFwfS5qdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbltkYXRhLXYtNzM5MWY5YjNde2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVufS5qdXN0aWZ5LWNvbnRlbnQtYXJvdW5kW2RhdGEtdi03MzkxZjliM117anVzdGlmeS1jb250ZW50OnNwYWNlLWFyb3VuZH0uanVzdGlmeS1jb250ZW50LWNlbnRlcltkYXRhLXYtNzM5MWY5YjNde2p1c3RpZnktY29udGVudDpjZW50ZXJ9Lmp1c3RpZnktY29udGVudC1lbmRbZGF0YS12LTczOTFmOWIzXXtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmR9LmFsaWduLWl0ZW1zLWNlbnRlcltkYXRhLXYtNzM5MWY5YjNde2FsaWduLWl0ZW1zOmNlbnRlcn0uYWxpZ24taXRlbXMtYmFzZWxpbmVbZGF0YS12LTczOTFmOWIzXXthbGlnbi1pdGVtczpiYXNlbGluZX0uZmxleC1kaXJlY3Rpb24tY29sdW1uW2RhdGEtdi03MzkxZjliM117ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5mb250LXdlaWdodC1ib2xkW2RhdGEtdi03MzkxZjliM117Zm9udC13ZWlnaHQ6NzAwfS5wb3NpdGlvbi1maXhlZFtkYXRhLXYtNzM5MWY5YjNde3Bvc2l0aW9uOmZpeGVkfS5wb3NpdGlvbi1yZWxhdGl2ZVtkYXRhLXYtNzM5MWY5YjNde3Bvc2l0aW9uOnJlbGF0aXZlfS5wb3NpdGlvbi1hYnNvbHV0ZVtkYXRhLXYtNzM5MWY5YjNde3Bvc2l0aW9uOmFic29sdXRlfS5vdmVyZmxvdy1oaWRkZW5bZGF0YS12LTczOTFmOWIzXXtvdmVyZmxvdzpoaWRkZW59LmxpbmUtMVtkYXRhLXYtNzM5MWY5YjNde292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0ubGluZS0yW2RhdGEtdi03MzkxZjliM117b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtbGluZS1jbGFtcDoyO2xpbmUtY2xhbXA6Mjstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7Ym94LW9yaWVudDp2ZXJ0aWNhbDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6Ym94fS5saW5lLTNbZGF0YS12LTczOTFmOWIzXXtvdmVyZmxvdzpoaWRkZW47LXdlYmtpdC1saW5lLWNsYW1wOjM7bGluZS1jbGFtcDozOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDtib3gtb3JpZW50OnZlcnRpY2FsO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpib3h9LmxpbmUtNFtkYXRhLXYtNzM5MWY5YjNde292ZXJmbG93OmhpZGRlbjstd2Via2l0LWxpbmUtY2xhbXA6NDtsaW5lLWNsYW1wOjQ7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO2JveC1vcmllbnQ6dmVydGljYWw7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmJveH0ubGluZS01W2RhdGEtdi03MzkxZjliM117b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtbGluZS1jbGFtcDo1O2xpbmUtY2xhbXA6NTstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7Ym94LW9yaWVudDp2ZXJ0aWNhbDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6Ym94fS53LTEwW2RhdGEtdi03MzkxZjliM117d2lkdGg6MTAlfS5oLTEwW2RhdGEtdi03MzkxZjliM117aGVpZ2h0OjEwJX0ub3BhY2l0eS0xMFtkYXRhLXYtNzM5MWY5YjNde29wYWNpdHk6LjF9LnctMTdbZGF0YS12LTczOTFmOWIzXXt3aWR0aDoxNyV9LmgtMTdbZGF0YS12LTczOTFmOWIzXXtoZWlnaHQ6MTclfS5vcGFjaXR5LTE3W2RhdGEtdi03MzkxZjliM117b3BhY2l0eTouMTd9LnctMThbZGF0YS12LTczOTFmOWIzXXt3aWR0aDoxOCV9LmgtMThbZGF0YS12LTczOTFmOWIzXXtoZWlnaHQ6MTglfS5vcGFjaXR5LTE4W2RhdGEtdi03MzkxZjliM117b3BhY2l0eTouMTh9LnctMTlbZGF0YS12LTczOTFmOWIzXXt3aWR0aDoxOSV9LmgtMTlbZGF0YS12LTczOTFmOWIzXXtoZWlnaHQ6MTklfS5vcGFjaXR5LTE5W2RhdGEtdi03MzkxZjliM117b3BhY2l0eTouMTl9LnctMjBbZGF0YS12LTczOTFmOWIzXXt3aWR0aDoyMCV9LmgtMjBbZGF0YS12LTczOTFmOWIzXXtoZWlnaHQ6MjAlfS5vcGFjaXR5LTIwW2RhdGEtdi03MzkxZjliM117b3BhY2l0eTouMn0udy0yNVtkYXRhLXYtNzM5MWY5YjNde3dpZHRoOjI1JX0uaC0yNVtkYXRhLXYtNzM5MWY5YjNde2hlaWdodDoyNSV9Lm9wYWNpdHktMjVbZGF0YS12LTczOTFmOWIzXXtvcGFjaXR5Oi4yNX0udy0zMFtkYXRhLXYtNzM5MWY5YjNde3dpZHRoOjMwJX0uaC0zMFtkYXRhLXYtNzM5MWY5YjNde2hlaWdodDozMCV9Lm9wYWNpdHktMzBbZGF0YS12LTczOTFmOWIzXXtvcGFjaXR5Oi4zfS53LTMzW2RhdGEtdi03MzkxZjliM117d2lkdGg6MzMlfS5oLTMzW2RhdGEtdi03MzkxZjliM117aGVpZ2h0OjMzJX0ub3BhY2l0eS0zM1tkYXRhLXYtNzM5MWY5YjNde29wYWNpdHk6LjMzfS53LTQwW2RhdGEtdi03MzkxZjliM117d2lkdGg6NDAlfS5oLTQwW2RhdGEtdi03MzkxZjliM117aGVpZ2h0OjQwJX0ub3BhY2l0eS00MFtkYXRhLXYtNzM5MWY5YjNde29wYWNpdHk6LjR9LnctNDRbZGF0YS12LTczOTFmOWIzXXt3aWR0aDo0NCV9LmgtNDRbZGF0YS12LTczOTFmOWIzXXtoZWlnaHQ6NDQlfS5vcGFjaXR5LTQ0W2RhdGEtdi03MzkxZjliM117b3BhY2l0eTouNDR9LnctNDhbZGF0YS12LTczOTFmOWIzXXt3aWR0aDo0OCV9LmgtNDhbZGF0YS12LTczOTFmOWIzXXtoZWlnaHQ6NDglfS5vcGFjaXR5LTQ4W2RhdGEtdi03MzkxZjliM117b3BhY2l0eTouNDh9LnctNDlbZGF0YS12LTczOTFmOWIzXXt3aWR0aDo0OSV9LmgtNDlbZGF0YS12LTczOTFmOWIzXXtoZWlnaHQ6NDklfS5vcGFjaXR5LTQ5W2RhdGEtdi03MzkxZjliM117b3BhY2l0eTouNDl9LnctNTBbZGF0YS12LTczOTFmOWIzXXt3aWR0aDo1MCV9LmgtNTBbZGF0YS12LTczOTFmOWIzXXtoZWlnaHQ6NTAlfS5vcGFjaXR5LTUwW2RhdGEtdi03MzkxZjliM117b3BhY2l0eTouNX0udy02MFtkYXRhLXYtNzM5MWY5YjNde3dpZHRoOjYwJX0uaC02MFtkYXRhLXYtNzM5MWY5YjNde2hlaWdodDo2MCV9Lm9wYWNpdHktNjBbZGF0YS12LTczOTFmOWIzXXtvcGFjaXR5Oi42fS53LTcwW2RhdGEtdi03MzkxZjliM117d2lkdGg6NzAlfS5oLTcwW2RhdGEtdi03MzkxZjliM117aGVpZ2h0OjcwJX0ub3BhY2l0eS03MFtkYXRhLXYtNzM5MWY5YjNde29wYWNpdHk6Ljd9LnctNzVbZGF0YS12LTczOTFmOWIzXXt3aWR0aDo3NSV9LmgtNzVbZGF0YS12LTczOTFmOWIzXXtoZWlnaHQ6NzUlfS5vcGFjaXR5LTc1W2RhdGEtdi03MzkxZjliM117b3BhY2l0eTouNzV9LnctODBbZGF0YS12LTczOTFmOWIzXXt3aWR0aDo4MCV9LmgtODBbZGF0YS12LTczOTFmOWIzXXtoZWlnaHQ6ODAlfS5vcGFjaXR5LTgwW2RhdGEtdi03MzkxZjliM117b3BhY2l0eTouOH0udy05MFtkYXRhLXYtNzM5MWY5YjNde3dpZHRoOjkwJX0uaC05MFtkYXRhLXYtNzM5MWY5YjNde2hlaWdodDo5MCV9Lm9wYWNpdHktOTBbZGF0YS12LTczOTFmOWIzXXtvcGFjaXR5Oi45fS53LTEwMFtkYXRhLXYtNzM5MWY5YjNde3dpZHRoOjEwMCV9LmgtMTAwW2RhdGEtdi03MzkxZjliM117aGVpZ2h0OjEwMCV9Lm9wYWNpdHktMTAwW2RhdGEtdi03MzkxZjliM117b3BhY2l0eTouMX0ucGItNTBbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLWJvdHRvbTolPzUwPyV9Lm10LTUwW2RhdGEtdi03MzkxZjliM117bWFyZ2luLXRvcDolPzUwPyV9LnBiLTYwW2RhdGEtdi03MzkxZjliM117cGFkZGluZy1ib3R0b206JT82MD8lfS5tdC02MFtkYXRhLXYtNzM5MWY5YjNde21hcmdpbi10b3A6JT82MD8lfS5wYi03MFtkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctYm90dG9tOiU/NzA/JX0ubXQtNzBbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tdG9wOiU/NzA/JX0ucGItODBbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLWJvdHRvbTolPzgwPyV9Lm10LTgwW2RhdGEtdi03MzkxZjliM117bWFyZ2luLXRvcDolPzgwPyV9LnBiLTkwW2RhdGEtdi03MzkxZjliM117cGFkZGluZy1ib3R0b206JT85MD8lfS5tdC05MFtkYXRhLXYtNzM5MWY5YjNde21hcmdpbi10b3A6JT85MD8lfS5wYi0xMDBbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLWJvdHRvbTolPzEwMD8lfS5tdC0xMDBbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tdG9wOiU/MTAwPyV9LnBiLTExMFtkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctYm90dG9tOiU/MTEwPyV9Lm10LTExMFtkYXRhLXYtNzM5MWY5YjNde21hcmdpbi10b3A6JT8xMTA/JX0ucGItMTIwW2RhdGEtdi03MzkxZjliM117cGFkZGluZy1ib3R0b206JT8xMjA/JX0ubXQtMTIwW2RhdGEtdi03MzkxZjliM117bWFyZ2luLXRvcDolPzEyMD8lfS5wYi0xMzBbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLWJvdHRvbTolPzEzMD8lfS5tdC0xMzBbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tdG9wOiU/MTMwPyV9LnBiLTE0MFtkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctYm90dG9tOiU/MTQwPyV9Lm10LTE0MFtkYXRhLXYtNzM5MWY5YjNde21hcmdpbi10b3A6JT8xNDA/JX0ucGItMTUwW2RhdGEtdi03MzkxZjliM117cGFkZGluZy1ib3R0b206JT8xNTA/JX0ubXQtMTUwW2RhdGEtdi03MzkxZjliM117bWFyZ2luLXRvcDolPzE1MD8lfS5wYi0xNjBbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLWJvdHRvbTolPzE2MD8lfS5tdC0xNjBbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tdG9wOiU/MTYwPyV9LnBiLTE3MFtkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctYm90dG9tOiU/MTcwPyV9Lm10LTE3MFtkYXRhLXYtNzM5MWY5YjNde21hcmdpbi10b3A6JT8xNzA/JX0ucGItMTgwW2RhdGEtdi03MzkxZjliM117cGFkZGluZy1ib3R0b206JT8xODA/JX0ubXQtMTgwW2RhdGEtdi03MzkxZjliM117bWFyZ2luLXRvcDolPzE4MD8lfS5wYi0xOTBbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nLWJvdHRvbTolPzE5MD8lfS5tdC0xOTBbZGF0YS12LTczOTFmOWIzXXttYXJnaW4tdG9wOiU/MTkwPyV9LnBiLTIwMFtkYXRhLXYtNzM5MWY5YjNde3BhZGRpbmctYm90dG9tOiU/MjAwPyV9Lm10LTIwMFtkYXRhLXYtNzM5MWY5YjNde21hcmdpbi10b3A6JT8yMDA/JX0uaW5wdXRbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nOjAgJT8zMD8lO2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuMDUpO2JvcmRlci1yYWRpdXM6JT8xMj8lO2hlaWdodDolPzg4PyU7bGluZS1oZWlnaHQ6JT84OD8lO3Bvc2l0aW9uOnJlbGF0aXZlfS5pbnB1dCAuaW5wdXQtcGxhY2Vob2xkZXJbZGF0YS12LTczOTFmOWIzXXtvcGFjaXR5Oi40O2ZvbnQtd2VpZ2h0OjQwMCFpbXBvcnRhbnR9LmJveC1zaGFkb3dbZGF0YS12LTczOTFmOWIzXXtib3gtc2hhZG93OjAgMCAxMHB4IDAgcmdiYSgwLDAsMCwuMDYpfS5ib3JkZXJbZGF0YS12LTczOTFmOWIzXXtib3JkZXI6JT8yPyUgc29saWQgIzRkNGQ0ZH0uYm9yZGVyLXRvcFtkYXRhLXYtNzM5MWY5YjNde2JvcmRlci10b3A6JT8yPyUgc29saWQgIzRkNGQ0ZH0uYm9yZGVyLWJvdHRvbVtkYXRhLXYtNzM5MWY5YjNde2JvcmRlci1ib3R0b206JT8yPyUgc29saWQgIzRkNGQ0ZH0uYm9yZGVyLWJvdHRvbS13aGl0ZVtkYXRhLXYtNzM5MWY5YjNde2JvcmRlci1ib3R0b206JT8yPyUgc29saWQgI2YzZjNmM30uYm9yZGVyLXJhZGl1cy0xMFtkYXRhLXYtNzM5MWY5YjNde2JvcmRlci1yYWRpdXM6JT8xMD8lIWltcG9ydGFudH0uYm9yZGVyLXJhZGl1cy0yMFtkYXRhLXYtNzM5MWY5YjNdLCAuZGVwb3NpdFtkYXRhLXYtNzM5MWY5YjNde2JvcmRlci1yYWRpdXM6JT8yMD8lIWltcG9ydGFudH0uYm9yZGVyLXJhZGl1cy01MHBlcltkYXRhLXYtNzM5MWY5YjNde2JvcmRlci1yYWRpdXM6NTAlIWltcG9ydGFudH0udW5pLWlucHV0LXBsYWNlaG9sZGVyW2RhdGEtdi03MzkxZjliM117Y29sb3I6aHNsYSgwLDAlLDk5LjYlLC41KX0ua2VmdVtkYXRhLXYtNzM5MWY5YjNde3Bvc2l0aW9uOmZpeGVkO3JpZ2h0OiU/NTA/JTtib3R0b206MTYuNXZoO3otaW5kZXg6MTA7Ym9yZGVyLXJhZGl1czo1MCU7Ym94LXNoYWRvdzowIDAgMTVweCAwIHJnYmEoMCwwLDAsLjEpO2JhY2tncm91bmQtY29sb3I6IzMzMzt3aWR0aDolPzkwPyU7aGVpZ2h0OiU/OTA/JTtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9LmxvZ2luLWlucHV0LWdyb3VwW2RhdGEtdi03MzkxZjliM117Ym9yZGVyLWJvdHRvbTolPzI/JSBzb2xpZCBoc2xhKDAsMCUsMTAwJSwuMik7bWFyZ2luLXRvcDolPzUwPyU7cG9zaXRpb246cmVsYXRpdmV9LmxvZ2luLWlucHV0LWdyb3VwIC5sb2dpbi1pbnB1dFtkYXRhLXYtNzM5MWY5YjNde2hlaWdodDolPzcwPyU7bGluZS1oZWlnaHQ6JT83MD8lO3dpZHRoOjEwMCV9LmxvZ2luLWlucHV0LWdyb3VwIC5sYWJlbFtkYXRhLXYtNzM5MWY5YjNde29wYWNpdHk6Ljd9LmJveC1zaGFkb3dbZGF0YS12LTczOTFmOWIzXXtib3gtc2hhZG93OjAgMCAxMHB4IDAgcmdiYSgwLDAsMCwuMSl9LnN1YnNlY3Rpb24gLml0ZW1bZGF0YS12LTczOTFmOWIzXXtwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nLWJvdHRvbTolPzEwPyV9LnN1YnNlY3Rpb24gLml0ZW1bZGF0YS12LTczOTFmOWIzXTo6YWZ0ZXJ7ZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZTtjb250ZW50OiIiO2JvdHRvbTowO2xlZnQ6NTAlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7d2lkdGg6JT8zMD8lO2hlaWdodDolPzQ/JTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9LnN1YnNlY3Rpb24gLml0ZW0uYWN0aXZlW2RhdGEtdi03MzkxZjliM117Y29sb3I6IzIyNzdmY30uc3Vic2VjdGlvbiAuaXRlbS5hY3RpdmVbZGF0YS12LTczOTFmOWIzXTo6YWZ0ZXJ7YmFja2dyb3VuZC1jb2xvcjojMjI3N2ZjfS5kLWdyaWRbZGF0YS12LTczOTFmOWIzXXtkaXNwbGF5OmdyaWR9LmQtZ3JpZC1jb2x1bW5zLTJbZGF0YS12LTczOTFmOWIzXXtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgyLDFmcil9LmQtZ3JpZC1jb2x1bW5zLTNbZGF0YS12LTczOTFmOWIzXXtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCgzLDFmcil9LmQtZ3JpZC1jb2x1bW5zLTRbZGF0YS12LTczOTFmOWIzXXtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCg0LDFmcil9LmQtZ3JpZC1jb2x1bW5zLTVbZGF0YS12LTczOTFmOWIzXXtkaXNwbGF5OmdyaWQ7Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zOnJlcGVhdCg1LDFmcil9LmFydGljbGVbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nOiU/MzA/JX0uYXJ0aWNsZSB1bmktdGV4dFtkYXRhLXYtNzM5MWY5YjNde2Rpc3BsYXk6YmxvY2s7bWFyZ2luLWJvdHRvbTolPzIwPyV9aWZyYW1lW2RhdGEtdi03MzkxZjliM117bGVmdDowIWltcG9ydGFudDtyaWdodDowIWltcG9ydGFudDttYXJnaW46MCBhdXRvO3RvcDowIWltcG9ydGFudH0ucG9zaXRpb24tcmVsYXRpdmUtemluZGV4LTk5W2RhdGEtdi03MzkxZjliM117cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDo5OX0uc3RhdHVzX2JhcltkYXRhLXYtNzM5MWY5YjNde2hlaWdodDowO3dpZHRoOjEwMCV9LmFmdGVyLWJvcmRlcltkYXRhLXYtNzM5MWY5YjNde3Bvc2l0aW9uOnJlbGF0aXZlfS5hZnRlci1ib3JkZXJbZGF0YS12LTczOTFmOWIzXTphZnRlcntwb3NpdGlvbjphYnNvbHV0ZTtjb250ZW50OiIiO3RvcDowO3JpZ2h0OjA7Ym90dG9tOjA7d2lkdGg6JT8yPyU7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDUxLDUxLDUxLC4xKX0ubG9naW4tbG9nb1tkYXRhLXYtNzM5MWY5YjNde3RleHQtYWxpZ246Y2VudGVyO3BhZGRpbmctdG9wOjQuNXZofS5sb2dpbi1sb2dvIHVuaS1pbWFnZVtkYXRhLXYtNzM5MWY5YjNde3dpZHRoOjE3dmg7aGVpZ2h0OjE3dmg7ZGlzcGxheTpibG9jaztib3JkZXItcmFkaXVzOiU/MjQ/JTtib3gtc2hhZG93OjAgMCAlPzEwPyUgMCByZ2JhKDAsMCwwLC4wNSk7bWFyZ2luOjAgYXV0b30udGFnLXByaW1hcnlbZGF0YS12LTczOTFmOWIzXXtiYWNrZ3JvdW5kLWNvbG9yOiMyMjc3ZmM7Y29sb3I6I2ZmZjtib3JkZXItcmFkaXVzOiU/Nj8lO2ZvbnQtc2l6ZTolPzIwPyU7cGFkZGluZzolPzQ/JSAlPzEwPyU7Ym9yZGVyOiU/Mj8lIHNvbGlkICMyMjc3ZmM7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlcjpub25lO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KC0yMjVkZWcsIzJjZDhkNSwjNmI4ZGQ2IDQ4JSwjOGUzN2Q3KX0udGFnLWVycm9yW2RhdGEtdi03MzkxZjliM10sIC50YWctcGxhaW4tZXJyb3JbZGF0YS12LTczOTFmOWIzXXtiYWNrZ3JvdW5kLWNvbG9yOiNmMDRhNWE7Y29sb3I6I2ZmZjtib3JkZXItcmFkaXVzOiU/Nj8lO2ZvbnQtc2l6ZTolPzIwPyU7cGFkZGluZzolPzQ/JSAlPzEwPyU7Ym9yZGVyOiU/Mj8lIHNvbGlkICNmMDRhNWE7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlcjpub25lO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDI3MGRlZywjZmYwODQ0IDAsI2ZmYjE5OSl9LnRhZy1zZWNvbmRhcnlbZGF0YS12LTczOTFmOWIzXXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoNTEsNTEsNTEsLjA2KTtjb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6JT82PyU7Zm9udC1zaXplOiU/MjA/JTtwYWRkaW5nOiU/ND8lICU/MTA/JTtib3JkZXI6JT8yPyUgc29saWQgcmdiYSg1MSw1MSw1MSwuMDYpO2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXI6bm9uZTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCg0NWRlZywjOTNhNWNmLCNlNGVmZTkpfS50YWctd2FybmluZ1tkYXRhLXYtNzM5MWY5YjNde2JhY2tncm91bmQtY29sb3I6I2Q0YmE4Mztjb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6JT82PyU7Zm9udC1zaXplOiU/MjA/JTtwYWRkaW5nOiU/ND8lICU/MTA/JTtib3JkZXI6JT8yPyUgc29saWQgI2Q0YmE4Mztib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyOm5vbmU7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoMWRlZywjZmZjYzhmLCNmZmVkZDgpfS50YWctc3VjY2Vzc1tkYXRhLXYtNzM5MWY5YjNdLCAudGFnLXBsYWluLXN1Y2Nlc3NbZGF0YS12LTczOTFmOWIzXXtiYWNrZ3JvdW5kLWNvbG9yOiMyOGJhOTg7Y29sb3I6I2ZmZjtib3JkZXItcmFkaXVzOiU/Nj8lO2ZvbnQtc2l6ZTolPzIwPyU7cGFkZGluZzolPzQ/JSAlPzEwPyU7Ym9yZGVyOiU/Mj8lIHNvbGlkICMyOGJhOTg7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlcjpub25lO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDEyMGRlZywjODRmYWIwLCM4ZmQzZjQpfS50YWctcGxhaW4tc3VjY2Vzc1tkYXRhLXYtNzM5MWY5YjNde2JhY2tncm91bmQ6bm9uZTtjb2xvcjojMjhiYTk4O2JvcmRlcjolPzI/JSBzb2xpZCAjMjhiYTk4fS50YWctcGxhaW4tZXJyb3JbZGF0YS12LTczOTFmOWIzXXtiYWNrZ3JvdW5kOm5vbmU7Y29sb3I6I2YwNGE1YTtib3JkZXI6JT8yPyUgc29saWQgI2YwNGE1YX0uYWxlcnRbZGF0YS12LTczOTFmOWIzXXtmb250LXNpemU6JT8yND8lO2JvcmRlci1yYWRpdXM6JT8yMD8lO3BhZGRpbmc6JT8yMD8lO2JvcmRlci1yYWRpdXM6NXB4fS5pbnB1dC1pdGVtW2RhdGEtdi03MzkxZjliM117cG9zaXRpb246cmVsYXRpdmV9LmlucHV0LWl0ZW0gLmlucHV0W2RhdGEtdi03MzkxZjliM117bWFyZ2luLXRvcDolPzIwPyV9LmlucHV0LWl0ZW0gLmV5ZVtkYXRhLXYtNzM5MWY5YjNde3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OiU/MzA/JTt0b3A6NTYlfS5pbnB1dC1pdGVtIC5nZXQtY29kZVtkYXRhLXYtNzM5MWY5YjNde3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OiU/MzA/JTt0b3A6JT83OD8lO2hlaWdodDolPzUwPyU7bGluZS1oZWlnaHQ6JT81MD8lO3BhZGRpbmc6MCAlPzIwPyU7YmFja2dyb3VuZC1jb2xvcjojZjA0YTVhO2JvcmRlci1yYWRpdXM6JT8xMD8lO2NvbG9yOiNmZmZ9LmlucHV0LWl0ZW0gLmdldC1jb2RlLnNlbmRbZGF0YS12LTczOTFmOWIzXXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoNTEsNTEsNTEsLjA2KX0udXBsb2FkLXdyYXBbZGF0YS12LTczOTFmOWIzXXtiYWNrZ3JvdW5kOiM0ZDRkNGQ7d2lkdGg6JT8yNDA/JTtoZWlnaHQ6JT8yNDA/JTtib3JkZXItcmFkaXVzOiU/MTA/JTtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7dGV4dC1hbGlnbjpjZW50ZXI7bWFyZ2luOjAgYXV0bztib3JkZXI6JT8yPyUgc29saWQgcmdiYSg1MSw1MSw1MSwuMDYpO292ZXJmbG93OmhpZGRlbn0ucmlnaHQtZW50ZXJbZGF0YS12LTczOTFmOWIzXXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgxMDAlLDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwMCUsMCwwKX0ucmlnaHQtbGVhdmUtdG9bZGF0YS12LTczOTFmOWIzXSwgLnJpZ2h0LWxlYXZlW2RhdGEtdi03MzkxZjliM117ZGlzcGxheTpub25lfS5yaWdodC1lbnRlci10b1tkYXRhLXYtNzM5MWY5YjNdey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9LnJpZ2h0LWVudGVyLWFjdGl2ZVtkYXRhLXYtNzM5MWY5YjNdLFxyXG4ucmlnaHQtbGVhdmUtYWN0aXZlW2RhdGEtdi03MzkxZjliM117dHJhbnNpdGlvbjphbGwgLjNzfS5kZXBvc2l0W2RhdGEtdi03MzkxZjliM117Y29sb3I6IzMzMztwYWRkaW5nOjAgJT8yOD8lO3BhZGRpbmctdG9wOiU/Mzg/JTtwb3NpdGlvbjpyZWxhdGl2ZX0uZGVwb3NpdCAuZWFybmluZ3Mtd3JhcFtkYXRhLXYtNzM5MWY5YjNde21hcmdpbjowICU/LTI4PyU7bWFyZ2luLXRvcDolPzMwPyV9LmRlcG9zaXQgLmVhcm5pbmdzLXdyYXAgLmVhcm5pbmdzW2RhdGEtdi03MzkxZjliM117cGFkZGluZzolPzMwPyUgJT8yOD8lICU/Mjg/JSAlPzI4PyU7YmFja2dyb3VuZC1jb2xvcjpoc2xhKDAsMCUsMTAwJSwuMSl9LnRyYW5zaXRpb25bZGF0YS12LTczOTFmOWIzXXt0cmFuc2l0aW9uOmFsbCAuM3MgZWFzZSAwc30ud2hpdGUtY2lyY2xlW2RhdGEtdi03MzkxZjliM117d2lkdGg6JT84MD8lO2hlaWdodDolPzgwPyU7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZC1jb2xvcjojZmZmO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0uZmxleC0xW2RhdGEtdi03MzkxZjliM117ZmxleDoxfS5sb2dpbi1oZWFkLWJnW2RhdGEtdi03MzkxZjliM117cG9zaXRpb246Zml4ZWQ7d2lkdGg6MTAwdnc7aGVpZ2h0OjU0LjR2dzt0b3A6MDtsZWZ0OjA7cmlnaHQ6MH0ubGluZWFyLWdyYWRpZW50LXRleHRbZGF0YS12LTczOTFmOWIzXXtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgzZGVnLCNmZmNjOGYsI2ZmZWRkOCk7LXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6dGV4dDtjb2xvcjp0cmFuc3BhcmVudH0ubGluZWFyLWdyYWRpZW50LWJ1dHRvbltkYXRhLXYtNzM5MWY5YjNdLCAuZGVwb3NpdFtkYXRhLXYtNzM5MWY5YjNde2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDFkZWcsI2ZmY2M4ZiwjZmZlZGQ4KX0ud3JhcHBlci1iZ1tkYXRhLXYtNzM5MWY5YjNde3Bvc2l0aW9uOnJlbGF0aXZlfS53cmFwcGVyLWJnW2RhdGEtdi03MzkxZjliM106OmFmdGVye2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3JpZ2h0OjA7dG9wOjA7Ym90dG9tOjA7YmFja2dyb3VuZC1pbWFnZTp1cmwoJytvKyIpO2JhY2tncm91bmQtc2l6ZTpjb250YWluO2JhY2tncm91bmQtcG9zaXRpb246MTAwJSB0b3A7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0fS51LW5vdGljZS1iYXJbZGF0YS12LTczOTFmOWIzXXtwYWRkaW5nOiU/MTg/JSAlPzI0PyU7b3ZlcmZsb3c6aGlkZGVufS51LWRpcmVjdGlvbi1yb3dbZGF0YS12LTczOTFmOWIzXXtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246cm93O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0udS1sZWZ0LWljb25bZGF0YS12LTczOTFmOWIzXXtkaXNwbGF5OmlubGluZS1mbGV4O2FsaWduLWl0ZW1zOmNlbnRlcn0udS1ub3RpY2UtYm94W2RhdGEtdi03MzkxZjliM117ZmxleDoxO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpyb3c7b3ZlcmZsb3c6aGlkZGVuO21hcmdpbi1sZWZ0OiU/MTI/JX0udS1yaWdodC1pY29uW2RhdGEtdi03MzkxZjliM117bWFyZ2luLWxlZnQ6JT8xMj8lO2Rpc3BsYXk6aW5saW5lLWZsZXg7YWxpZ24taXRlbXM6Y2VudGVyfS51LW5vdGljZS1jb250ZW50W2RhdGEtdi03MzkxZjliM117LXdlYmtpdC1hbmltYXRpb246dS1sb29wLWFuaW1hdGlvbi1kYXRhLXYtNzM5MWY5YjMgMTBzIGxpbmVhciBpbmZpbml0ZSBib3RoO2FuaW1hdGlvbjp1LWxvb3AtYW5pbWF0aW9uLWRhdGEtdi03MzkxZjliMyAxMHMgbGluZWFyIGluZmluaXRlIGJvdGg7dGV4dC1hbGlnbjpyaWdodDtwYWRkaW5nLWxlZnQ6MTAwJTtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246cm93O2ZsZXgtd3JhcDpub3dyYXB9LnUtbm90aWNlLXRleHRbZGF0YS12LTczOTFmOWIzXXtmb250LXNpemU6JT8yNj8lO3dvcmQtYnJlYWs6a2VlcC1hbGw7d2hpdGUtc3BhY2U6bm93cmFwfUAtd2Via2l0LWtleWZyYW1lcyB1LWxvb3AtYW5pbWF0aW9uLWRhdGEtdi03MzkxZjliM3swJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTEwMCUsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTEwMCUsMCwwKX19QGtleWZyYW1lcyB1LWxvb3AtYW5pbWF0aW9uLWRhdGEtdi03MzkxZjliM3swJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTEwMCUsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTEwMCUsMCwwKX19IiwiIl0pLHQuZXhwb3J0cz1hfSwiNWQxZiI6ZnVuY3Rpb24odCxhLGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgZT1pKCJlNjNlIiksbj1pLm4oZSk7bi5hfSwiNjJiMCI6ZnVuY3Rpb24odCxhLGkpeyJ1c2Ugc3RyaWN0IjtpKCI2YTU0IiksT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGEuZGVmYXVsdD1mdW5jdGlvbih0LGEpe2lmKGEmJigib2JqZWN0Ij09PSgwLGUuZGVmYXVsdCkoYSl8fCJmdW5jdGlvbiI9PT10eXBlb2YgYSkpcmV0dXJuIGE7aWYodm9pZCAwIT09YSl0aHJvdyBuZXcgVHlwZUVycm9yKCJEZXJpdmVkIGNvbnN0cnVjdG9ycyBtYXkgb25seSByZXR1cm4gb2JqZWN0IG9yIHVuZGVmaW5lZCIpO3JldHVybigwLG4uZGVmYXVsdCkodCl9LGkoIjdhNzYiKSxpKCJjOWI1Iik7dmFyIGU9cihpKCJmY2YzIikpLG49cihpKCJmNDc4IikpO2Z1bmN0aW9uIHIodCl7cmV0dXJuIHQmJnQuX19lc01vZHVsZT90OntkZWZhdWx0OnR9fX0sNjU4NDpmdW5jdGlvbih0LGEpe3QuZXhwb3J0cz0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDWUFBQUFtQ0FZQUFBQ29QZW11QUFBRDEwbEVRVlJZaGIyWVhVd1VWeGlHSDNaZEFyU0xCa1ZodFFGTStDbGNLTmdVYWYxaDRVSWc0UEt6SGFCcVRMelJHSDlxVE5NbVRXK01xYVlYdmRERUc2L1V4Q1plYW95MkZHdEpTelVLWElCWFdHTzZSdUthSm1oRVJkZkZmSnN6WmwxMmxwbnR6TDdKSnJNelo4NTVjdWFjOTN6ZmwrVVBiTWVpUE1EblFCT3dEcWdBbGdKTGdCbmdHWEFYdUFQOEFmd0dQTFk2eUNJTGJUOENEZ0k3Z09VR2JUNVV2eUpnQTdBYmVBMzhBcHdFZmpVN21NdEVHNW1KRTJvV0RxZUFNcExNY0x1Q0d3WStzUVBNcno3SmZpRGJJbEF5TlFBM2dlTUxmYTFVWU4rcTllR3pBU2h4ekcrQVFiVTJremNxTEZ5VzdQNlB3REdUbnpwZGJWS2JvekFwV0xDN20zVjFkV1JsWmVuM1pLYStkaEFvWGpYQUpTQnZIcGpMNVdKOS9hZDBkM1d5T0QrL0dUaWFJU2hkOWNEcGVXRDZSZEdLRll0N05lMWNUWFcxTzhOZ29pOEJMU2tZY01UaldWVGN1SGtUN1cydDVPWG1aaHJ1SjhDYkNDYm11VWUvV1ZKU1FuOWZMNnRYbDJVU2JDV3dOeEhzcTBTZnlzbkpvWFhMRnBxYi9HUm4yMkZocG5SUUdYSU1USXpPOE1Dc3FxeWtUL3VDbFQ2NzdTeXBpb0VXSFd6alFzZU0xK3Nsc0xXRHp4b2FjTHNkM3hzOU9saVRtZGJpYzdWcjE2QUZlMWkyMU5DdzdWQ3pEbFpucGJPQ2dnS0N3UjdxYW12alRkbE9yUkwzRXJCeXE1MjZYUzRhMXRmVEZRaVFuKzgxOFlabFZialNDR1BlcWJpNGlENU5vL3JqS3J2QkNsenhwcGFPUEI0UC9zWkcybHBieUxYUGxQTUU3SVVkUFpXVmx0TGZxMUZXVm1wSGR4RUJlMnBIVHlLWnNiYVdsdGdNeWt6K0R6MFJzSHQyZ2VtU05TZHJUOVpnbXZwWHdDYnNCaFBKYnBWZEs3dlhvaWsvQnlZRmJNZ0pNSlFwaTk4RmU3cGovbWRTZitwcmJFQXVuSUlUeVVraEo0YWNIQ1pNK1FySytTVVp2ZW9rbUVnK3A1eTFuVnM3WW1ldmdXU0NmaVl1N0RuaE5KZ3VuODhYaTFhcXFpcVRQYjRBUElvSEcxRDVYa1lrOFYyejN4K0w5eVR1VTNvRC9LRC9pUSt0OXdIUlRNR0pKRUtXU0ZraVp1Q1VTcTVqY212YmQrblhENEVQVk1Fa1l4SWpyaWd2dnpzM045ZjNjR3BxVmg4M01hSDlEdmdyazJEaVc5Rm9WQXVGUXUrZFFJbGdzaXU2NHFmVVliMlN0RzFrZEhUc1VUaE1LakNVZld3R2Jqa01KYlcwem5BNGZQbjJ5T2k4aDBhMWlmOVV5SDNXSWFoSnlUVWlrY2lWZ2NGclJLUHo5MXlxb29sVUJuY0N2Y0NVVFVBUlZjQ1RHdG5ZOE44M21KNmVUdHJRVERYbmdpcG5mcStiWHhvU2p6cXY4b3NERW1xRlFpSEdKNHpqQjdObHBtZXEyQ0laZXdBNEF6eFk0QjBKUUs4QmgxU1d2UTBZbHdjdloyY1ovUDE2eXBldDFHQkZVays5cUg0aXFXM0oyU0o1ZzVTU3hJZGsyLzhEM0RjS0RvYUdocGlaa2JWdklPQXRZZG5FanZBL2tENEFBQUFBU1VWT1JLNUNZSUk9In0sIjY2OGUiOmZ1bmN0aW9uKHQsYSxpKXsidXNlIHN0cmljdCI7aSgiNmE1NCIpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxhLmRlZmF1bHQ9dm9pZCAwO3ZhciBlPVsiIzE4OTBGRiIsIiM5MUNCNzQiLCIjRkFDODU4IiwiI0VFNjY2NiIsIiM3M0MwREUiLCIjM0NBMjcyIiwiI0ZDODQ1MiIsIiM5QTYwQjQiLCIjZWE3Y2NjIl0sbj17dHlwZTpbInBpZSIsInJpbmciLCJyb3NlIiwiZnVubmVsIiwibGluZSIsImNvbHVtbiIsImFyZWEiLCJyYWRhciIsImdhdWdlIiwiY2FuZGxlIiwiZGVtb3R5cGUiXSxjYXRlZ29yaWVzOlsibGluZSIsImNvbHVtbiIsImFyZWEiLCJyYWRhciIsImdhdWdlIiwiY2FuZGxlIiwiZGVtb3R5cGUiXSxpbnN0YW5jZTp7fSxvcHRpb246e30sZm9ybWF0dGVyOnt0b29sdGlwRGVtbzE6ZnVuY3Rpb24odCl7dmFyIGE9IiI7Zm9yKHZhciBpIGluIHQpezA9PWkmJihhKz10W2ldLmF4aXNWYWx1ZUxhYmVsKyLlubTplIDllK7pop0iKTt2YXIgZT0iLS0iO251bGwhPT10W2ldLmRhdGEmJihlPXRbaV0uZGF0YSksYSs9IlxuIit0W2ldLnNlcmllc05hbWUrIu+8miIrZSsiIOS4h+WFgyJ9cmV0dXJuIGF9LGxlZ2VuZEZvcm1hdDpmdW5jdGlvbih0KXtyZXR1cm4i6Ieq5a6a5LmJ5Zu+5L6LKyIrdH0seUF4aXNGb3JtYXREZW1vOmZ1bmN0aW9uKHQsYSl7cmV0dXJuIHQrIuWFgyJ9LHNlcmllc0Zvcm1hdERlbW86ZnVuY3Rpb24odCl7cmV0dXJuIHQubmFtZSsi5bm0Iit0LnZhbHVlKyLlhYMifX0sZGVtb3R5cGU6e2NvbG9yOmV9LGNvbHVtbjp7Y29sb3I6ZSx0aXRsZTp7dGV4dDoiIn0sdG9vbHRpcDp7dHJpZ2dlcjoiYXhpcyJ9LGdyaWQ6e3RvcDozMCxib3R0b206NTAscmlnaHQ6MTUsbGVmdDo0MH0sbGVnZW5kOntib3R0b206ImxlZnQifSx0b29sYm94OntzaG93OiExfSx4QXhpczp7dHlwZToiY2F0ZWdvcnkiLGF4aXNMYWJlbDp7Y29sb3I6IiM2NjY2NjYifSxheGlzTGluZTp7bGluZVN0eWxlOntjb2xvcjoiI0NDQ0NDQyJ9fSxib3VuZGFyeUdhcDohMCxkYXRhOltdfSx5QXhpczp7dHlwZToidmFsdWUiLGF4aXNUaWNrOntzaG93OiExfSxheGlzTGFiZWw6e2NvbG9yOiIjNjY2NjY2In0sYXhpc0xpbmU6e2xpbmVTdHlsZTp7Y29sb3I6IiNDQ0NDQ0MifX19LHNlcmllc1RlbXBsYXRlOntuYW1lOiIiLHR5cGU6ImJhciIsZGF0YTpbXSxiYXJ3aWR0aDoyMCxsYWJlbDp7c2hvdzohMCxjb2xvcjoiIzY2NjY2NiIscG9zaXRpb246InRvcCJ9fX0sbGluZTp7Y29sb3I6ZSx0aXRsZTp7dGV4dDoiIn0sdG9vbHRpcDp7dHJpZ2dlcjoiYXhpcyJ9LGdyaWQ6e3RvcDozMCxib3R0b206NTAscmlnaHQ6MTUsbGVmdDo0MH0sbGVnZW5kOntib3R0b206ImxlZnQifSx0b29sYm94OntzaG93OiExfSx4QXhpczp7dHlwZToiY2F0ZWdvcnkiLGF4aXNMYWJlbDp7Y29sb3I6IiM2NjY2NjYifSxheGlzTGluZTp7bGluZVN0eWxlOntjb2xvcjoiI0NDQ0NDQyJ9fSxib3VuZGFyeUdhcDohMCxkYXRhOltdfSx5QXhpczp7dHlwZToidmFsdWUiLGF4aXNUaWNrOntzaG93OiExfSxheGlzTGFiZWw6e2NvbG9yOiIjNjY2NjY2In0sYXhpc0xpbmU6e2xpbmVTdHlsZTp7Y29sb3I6IiNDQ0NDQ0MifX19LHNlcmllc1RlbXBsYXRlOntuYW1lOiIiLHR5cGU6ImxpbmUiLGRhdGE6W10sYmFyd2lkdGg6MjAsbGFiZWw6e3Nob3c6ITAsY29sb3I6IiM2NjY2NjYiLHBvc2l0aW9uOiJ0b3AifX19LGFyZWE6e2NvbG9yOmUsdGl0bGU6e3RleHQ6IiJ9LHRvb2x0aXA6e3RyaWdnZXI6ImF4aXMifSxncmlkOnt0b3A6MzAsYm90dG9tOjUwLHJpZ2h0OjE1LGxlZnQ6NDB9LGxlZ2VuZDp7Ym90dG9tOiJsZWZ0In0sdG9vbGJveDp7c2hvdzohMX0seEF4aXM6e3R5cGU6ImNhdGVnb3J5IixheGlzTGFiZWw6e2NvbG9yOiIjNjY2NjY2In0sYXhpc0xpbmU6e2xpbmVTdHlsZTp7Y29sb3I6IiNDQ0NDQ0MifX0sYm91bmRhcnlHYXA6ITAsZGF0YTpbXX0seUF4aXM6e3R5cGU6InZhbHVlIixheGlzVGljazp7c2hvdzohMX0sYXhpc0xhYmVsOntjb2xvcjoiIzY2NjY2NiJ9LGF4aXNMaW5lOntsaW5lU3R5bGU6e2NvbG9yOiIjQ0NDQ0NDIn19fSxzZXJpZXNUZW1wbGF0ZTp7bmFtZToiIix0eXBlOiJsaW5lIixkYXRhOltdLGFyZWFTdHlsZTp7fSxsYWJlbDp7c2hvdzohMCxjb2xvcjoiIzY2NjY2NiIscG9zaXRpb246InRvcCJ9fX0scGllOntjb2xvcjplLHRpdGxlOnt0ZXh0OiIifSx0b29sdGlwOnt0cmlnZ2VyOiJpdGVtIn0sZ3JpZDp7dG9wOjQwLGJvdHRvbTozMCxyaWdodDoxNSxsZWZ0OjE1fSxsZWdlbmQ6e2JvdHRvbToibGVmdCJ9LHNlcmllc1RlbXBsYXRlOntuYW1lOiIiLHR5cGU6InBpZSIsZGF0YTpbXSxyYWRpdXM6IjUwJSIsbGFiZWw6e3Nob3c6ITAsY29sb3I6IiM2NjY2NjYiLHBvc2l0aW9uOiJ0b3AifX19LHJpbmc6e2NvbG9yOmUsdGl0bGU6e3RleHQ6IiJ9LHRvb2x0aXA6e3RyaWdnZXI6Iml0ZW0ifSxncmlkOnt0b3A6NDAsYm90dG9tOjMwLHJpZ2h0OjE1LGxlZnQ6MTV9LGxlZ2VuZDp7Ym90dG9tOiJsZWZ0In0sc2VyaWVzVGVtcGxhdGU6e25hbWU6IiIsdHlwZToicGllIixkYXRhOltdLHJhZGl1czpbIjQwJSIsIjcwJSJdLGF2b2lkTGFiZWxPdmVybGFwOiExLGxhYmVsOntzaG93OiEwLGNvbG9yOiIjNjY2NjY2Iixwb3NpdGlvbjoidG9wIn0sbGFiZWxMaW5lOntzaG93OiEwfX19LHJvc2U6e2NvbG9yOmUsdGl0bGU6e3RleHQ6IiJ9LHRvb2x0aXA6e3RyaWdnZXI6Iml0ZW0ifSxsZWdlbmQ6e3RvcDoiYm90dG9tIn0sc2VyaWVzVGVtcGxhdGU6e25hbWU6IiIsdHlwZToicGllIixkYXRhOltdLHJhZGl1czoiNTUlIixjZW50ZXI6WyI1MCUiLCI1MCUiXSxyb3NldHlwZToiYXJlYSJ9fSxmdW5uZWw6e2NvbG9yOmUsdGl0bGU6e3RleHQ6IiJ9LHRvb2x0aXA6e3RyaWdnZXI6Iml0ZW0iLGZvcm1hdHRlcjoie2J9IDoge2N9JSJ9LGxlZ2VuZDp7dG9wOiJib3R0b20ifSxzZXJpZXNUZW1wbGF0ZTp7bmFtZToiIix0eXBlOiJmdW5uZWwiLGxlZnQ6IjEwJSIsdG9wOjYwLGJvdHRvbTo2MCx3aWR0aDoiODAlIixtaW46MCxtYXg6MTAwLG1pblNpemU6IjAlIixtYXhTaXplOiIxMDAlIixzb3J0OiJkZXNjZW5kaW5nIixnYXA6MixsYWJlbDp7c2hvdzohMCxwb3NpdGlvbjoiaW5zaWRlIn0sbGFiZWxMaW5lOntsZW5ndGg6MTAsbGluZVN0eWxlOnt3aWR0aDoxLHR5cGU6InNvbGlkIn19LGl0ZW1TdHlsZTp7Ym9yZGVyY29sb3I6IiNmZmYiLGJvcmRlcndpZHRoOjF9LGVtcGhhc2lzOntsYWJlbDp7Zm9udFNpemU6MjB9fSxkYXRhOltdfX0sZ2F1Z2U6e2NvbG9yOmUsdG9vbHRpcDp7Zm9ybWF0dGVyOiJ7YX0gPGJyLz57Yn0gOiB7Y30lIn0sc2VyaWVzVGVtcGxhdGU6e25hbWU6IuS4muWKoeaMh+aghyIsdHlwZToiZ2F1Z2UiLGRldGFpbDp7Zm9ybWF0dGVyOiJ7dmFsdWV9JSJ9LGRhdGE6W3t2YWx1ZTo1MCxuYW1lOiLlrozmiJDnjocifV19fSxjYW5kbGU6e3hBeGlzOntkYXRhOltdfSx5QXhpczp7fSxjb2xvcjplLHRpdGxlOnt0ZXh0OiIifSxkYXRhWm9vbTpbe3R5cGU6Imluc2lkZSIseEF4aXNJbmRleDpbMCwxXSxzdGFydDoxMCxlbmQ6MTAwfSx7c2hvdzohMCx4QXhpc0luZGV4OlswLDFdLHR5cGU6InNsaWRlciIsYm90dG9tOjEwLHN0YXJ0OjEwLGVuZDoxMDB9XSxzZXJpZXNUZW1wbGF0ZTp7bmFtZToiIix0eXBlOiJrIixkYXRhOltdfX19LHI9bjthLmRlZmF1bHQ9cn0sIjY2ZGQiOmZ1bmN0aW9uKHQsYSxpKXsidXNlIHN0cmljdCI7dmFyIGU9aSgiMjI4ZiIpLG49aS5uKGUpO24uYX0sNjg2NDpmdW5jdGlvbih0LGEsaSl7InVzZSBzdHJpY3QiO2kuZChhLCJiIiwoZnVuY3Rpb24oKXtyZXR1cm4gZX0pKSxpLmQoYSwiYyIsKGZ1bmN0aW9uKCl7cmV0dXJuIG59KSksaS5kKGEsImEiLChmdW5jdGlvbigpe30pKTt2YXIgZT1mdW5jdGlvbigpe3ZhciB0PXRoaXMuJGNyZWF0ZUVsZW1lbnQsYT10aGlzLl9zZWxmLl9jfHx0O3JldHVybiBhKCJ2LXVuaS12aWV3Iix7c3RhdGljQ2xhc3M6ImNvbnRhaW5lciBsb2FkaW5nNSJ9LFthKCJ2LXVuaS12aWV3Iix7c3RhdGljQ2xhc3M6InNoYXBlIHNoYXBlMSJ9KSxhKCJ2LXVuaS12aWV3Iix7c3RhdGljQ2xhc3M6InNoYXBlIHNoYXBlMiJ9KSxhKCJ2LXVuaS12aWV3Iix7c3RhdGljQ2xhc3M6InNoYXBlIHNoYXBlMyJ9KSxhKCJ2LXVuaS12aWV3Iix7c3RhdGljQ2xhc3M6InNoYXBlIHNoYXBlNCJ9KV0sMSl9LG49W119LDY4ODU6ZnVuY3Rpb24odCxhLGkpeyJ1c2Ugc3RyaWN0IjtpKCI2YTU0Iik7dmFyIGU9aSgiZjViZCIpLmRlZmF1bHQ7T2JqZWN0LmRlZmluZVByb3BlcnR5KGEsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGEuZGVmYXVsdD12b2lkIDA7dmFyIG49ZShpKCI5YjFiIikpLHI9ZShpKCIyNjM0IikpLG89ZShpKCIyZmRjIikpO2koImZkM2MiKSxpKCI4ZjcxIiksaSgiYmYwZiIpLGkoImY3YTUiKSxpKCI2NGFhIiksaSgiNDEwMCIpLGkoImJkMDYiKSxpKCJkZDJiIiksaSgiZDRiNSIpLGkoIjI3OTciKSxpKCI0NjI2IiksaSgiNWFjNyIpO3ZhciBkPWkoImYxZTIiKSxwPWkoImQ2MzgiKSxjPXtkYXRhOmZ1bmN0aW9uKCl7cmV0dXJue2xhbmc6IiIsc3dpcGVyOltdLGFjdGl2ZUhpZ2hRdWFsaXR5UHJvamVjdDowLGd1cGlhbzpwLmd1cGlhbyxhY3RpdmVHdXBpYW9Eb3Q6MCxjb2luQ3VycmVuY3lNYXJrZXQ6cC5jb2luQ3VycmVuY3lNYXJrZXQsa2VmdToiIixxdW90YXRpb25OYXY6W3tuYW1lOnRoaXMuJHQoImhvbWUudHJhZGluZ1BhaXIiKSxzb3J0OiJub25lIixhbGlnbjoidGV4dC1sZWZ0In0se25hbWU6dGhpcy4kdCgiaG9tZS5sYXN0UHJpY2UiKSxzb3J0OiJub25lIixhbGlnbjoianVzdGlmeS1jb250ZW50LWNlbnRlciJ9LHtuYW1lOnRoaXMuJHQoImhvbWUudG9kYXlDaGFuZ2UiKSxzb3J0OiJub25lIixhbGlnbjoianVzdGlmeS1jb250ZW50LWVuZCJ9XSxxdW90YXRpb246W10scXVvdGF0aW9uT3JpZ2luYWw6W10sbGFuZ3M6bnVsbCxzaG93TGFuZ3VhZ2U6ITEsb3JpZ2luYWxOZXc6W10sbmV3czpbXSxnZXRRdW90YXRpb25JbnRlcnZhbDpudWxsLHBvcHVwQWQ6e30sc2hvd1BvcEFkOiExLGNvbnZlcnQ6MCxsb2NrbWluZzpbXSxzaG93VXBkYXRlOiExLGRvd25Qcm9ncmVzczowLHRlbXBGaWxlUGF0aDpudWxsLGRvd25UeXBlOiJ3Z3QiLGhvbWVOYXY6W10sc2hvd0Rvd25sb2FkOiEwLGhhc0NsaWNrRG93bjohMX19LG9uTG9hZDpmdW5jdGlvbigpe3VuaS5zZXROYXZpZ2F0aW9uQmFyVGl0bGUoe3RpdGxlOnRoaXMuJHN0b3JlLnN0YXRlLnNpdGVfbmFtZX0pLHRoaXMuZ2V0TmV3cygpLHRoaXMuZ2V0QmFubmVyKCksdGhpcy5nZXRQb3B1cEFkKCksdGhpcy5nZXRRdW90YXRpb24oKSx0aGlzLmdldE1lbnUoKSx0aGlzLnNldERlZmF1bHRMYW5nKCksdGhpcy5nZXRMb2NrbWluZygpLHRoaXMuJHN0b3JlLnN0YXRlLnRva2VuJiZ0aGlzLmdldFVzZXJJbmZvKCl9LG9uU2hvdzpmdW5jdGlvbigpe3ZhciB0PXRoaXM7dGhpcy5oYXNDbGlja0Rvd249dW5pLmdldFN0b3JhZ2VTeW5jKCJoYXNDbGlja0Rvd24iKXx8ITEsdW5pLnNob3dUYWJCYXIoKSx0aGlzLiR1dGlscy5zZXRUYWJiYXIodGhpcyksdGhpcy5nZXRXYWxsZXRMaXN0KCksdGhpcy5sYW5nPXRoaXMuJHN0b3JlLnN0YXRlLmxhbmd8fCJlbiIsdGhpcy4kdS5hcGkuY29tbW9uLmdldFNldHRpbmcoInN1cHBvcnRfdXJsIikudGhlbigoZnVuY3Rpb24oYSl7Im9rIj09YS50eXBlJiYodC5rZWZ1PWEubWVzc2FnZS52YWx1ZSl9KSl9LG1ldGhvZHM6e2p1bXBrZWZ1OmZ1bmN0aW9uKCl7d2luZG93Lm9wZW4odGhpcy5rZWZ1KX0sY2hlY2tVcGRhdGU6ZnVuY3Rpb24oKXt2YXIgdD10aGlzO3RoaXMuJHUuYXBpLmNvbW1vbi5nZXRTZXR0aW5nKCJ2ZXJzaW9uIikudGhlbigoZnVuY3Rpb24oYSl7dmFyIGk9YS5tZXNzYWdlLnZhbHVlLnNwbGl0KCIsIik7dC5jaGVja0hvdFVwZGF0ZShpWzBdLGlbMV0pfSkpfSxnZXRVc2VySW5mbzpmdW5jdGlvbigpe3ZhciB0PXRoaXM7dGhpcy4kdS5hcGkuc2V0dGluZy5nZXRVc2VySW5mbygpLnRoZW4oKGZ1bmN0aW9uKGEpe3QuJHN0b3JlLmNvbW1pdCgicmVmcmVzaFVzZXIiLGEubWVzc2FnZSl9KSl9LGdldE1lbnU6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLGE9dGhpcy5pMThuO3RoaXMuJHUuYXBpLmluZGV4LmdldE1lbnUoKS50aGVuKChmdW5jdGlvbihpKXtmb3IodmFyIGU9aS5tZXNzYWdlLG49ZS5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybiJJRU8iIT10Lm5hbWUmJiJORlQiIT10Lm5hbWUmJiLnkIbotKIiIT10Lm5hbWUmJiLot5/ljZUiIT10Lm5hbWV9KSkubWFwKChmdW5jdGlvbihpKXtyZXR1cm4i5Zui6ZifIj09aS5uYW1lP2kubmFtZT10LiR0KCJzZXR0aW5nLnRlYW0iKTppLm5hbWU9YVtpLnRpdGxlXSxpfSkpLHI9W10sbz0wLGQ9MDtkPG4ubGVuZ3RoO2QrKylyW29dPW4uc2xpY2UoNipvLDYqbys2KSxvKz0xLGQ9NiooZCsxKS0xO3QuaG9tZU5hdj1yfSkpfSxjaGVja0hvdFVwZGF0ZTpmdW5jdGlvbih0LGEpe3ZhciBpPXRoaXM7cGx1cy5ydW50aW1lLmdldFByb3BlcnR5KHBsdXMucnVudGltZS5hcHBpZCxmdW5jdGlvbigpe3ZhciBlPSgwLG8uZGVmYXVsdCkoKDAsci5kZWZhdWx0KSgpLm1hcmsoKGZ1bmN0aW9uIGUobil7dmFyIG87cmV0dXJuKDAsci5kZWZhdWx0KSgpLndyYXAoKGZ1bmN0aW9uKGUpe3doaWxlKDEpc3dpdGNoKGUucHJldj1lLm5leHQpe2Nhc2UgMDpvPW4udmVyc2lvbkNvZGUsYT5vJiYoaS5zaG93VXBkYXRlPSEwLGkuZG93blR5cGU9dCk7Y2FzZSAyOmNhc2UiZW5kIjpyZXR1cm4gZS5zdG9wKCl9fSksZSl9KSkpO3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSgpKX0sZG93bkZpbGU6ZnVuY3Rpb24oKXt2YXIgdD10aGlzO3RoaXMuJHUudGhyb3R0bGUoKGZ1bmN0aW9uKCl7dmFyIGE9Imh0dHBzOi8vZXhjaGFuZ2UuamlueXVuLmlvL2ZmL2FwcC4iLmNvbmNhdCh0LmRvd25UeXBlKSxpPXVuaS5kb3dubG9hZEZpbGUoe3VybDphLHN1Y2Nlc3M6ZnVuY3Rpb24oYSl7MjAwPT09YS5zdGF0dXNDb2RlJiYodC50ZW1wRmlsZVBhdGg9YS50ZW1wRmlsZVBhdGgpfX0pO2kub25Qcm9ncmVzc1VwZGF0ZSgoZnVuY3Rpb24oYSl7dC5kb3duUHJvZ3Jlc3M9YS5wcm9ncmVzc30pKX0pLDEyMDApfSxkb3duSW5zdGFsbDpmdW5jdGlvbigpe3ZhciB0PXRoaXMudGVtcEZpbGVQYXRoO3BsdXMucnVudGltZS5pbnN0YWxsKHQse2ZvcmNlOiEwfSwoZnVuY3Rpb24oKXtjb25zb2xlLmxvZygiaW5zdGFsbCBzdWNjZXNzLi4uIikscGx1cy5ydW50aW1lLnJlc3RhcnQoKX0pLChmdW5jdGlvbih0KXtjb25zb2xlLmxvZyh0KSxjb25zb2xlLmVycm9yKCJpbnN0YWxsIGZhaWwuLi4iKX0pKX0sZ2V0TG9ja21pbmc6ZnVuY3Rpb24oKXt2YXIgdD10aGlzO3RoaXMuJHUuYXBpLmxvY2ttaW5nLmdldExvY2ttaW5nKCkudGhlbigoZnVuY3Rpb24oYSl7dC5sb2NrbWluZz1hLm1lc3NhZ2V9KSl9LGdldFdhbGxldExpc3Q6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLGE9dGhpcy4kc3RvcmUuc3RhdGUudG9rZW47YSYmdGhpcy4kdS5hcGkud2FsbGV0LmdldFdhbGxldExpc3QoKS50aGVuKChmdW5jdGlvbihhKXt2YXIgaT1OdW1iZXIoYS5tZXNzYWdlLmNoYW5nZV93YWxsZXQudXNkdF90b3RsZSkrTnVtYmVyKGEubWVzc2FnZS5sZXZlcl93YWxsZXQudXNkdF90b3RsZSkrTnVtYmVyKGEubWVzc2FnZS5sZWdhbF93YWxsZXQudXNkdF90b3RsZSkrTnVtYmVyKGEubWVzc2FnZS5taWNyb193YWxsZXQudXNkdF90b3RsZSk7dC5jb252ZXJ0PWkudG9GaXhlZCg0KX0pKX0sZ2V0UG9wdXBBZDpmdW5jdGlvbigpe3ZhciB0PXRoaXM7dGhpcy4kdS5hcGkuaW5kZXguZ2V0UG9wdXBBZCgpLnRoZW4oKGZ1bmN0aW9uKGEpe2lmKGEubWVzc2FnZSl7dmFyIGk9dW5pLmdldFN0b3JhZ2VTeW5jKCJoYXNDbG9zZU5vdGljZV8iK2EubWVzc2FnZS5pZCl8fCExO2l8fCh0LnBvcHVwQWQ9YS5tZXNzYWdlLHQuc2hvd1BvcEFkPSEwKX19KSl9LGdldE5ld3M6ZnVuY3Rpb24oKXt2YXIgdD10aGlzO3RoaXMuJHUuYXBpLmluZGV4LmdldE5ld3MoKS50aGVuKChmdW5jdGlvbihhKXt0Lm9yaWdpbmFsTmV3PWEubWVzc2FnZS5saXN0LHQubmV3cz1hLm1lc3NhZ2UubGlzdC5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiB0LnRpdGxlfSkpfSkpfSxnZXRCYW5uZXI6ZnVuY3Rpb24oKXt2YXIgdD10aGlzO3RoaXMuJHUuYXBpLmluZGV4LmdldEJhbm5lcigpLnRoZW4oKGZ1bmN0aW9uKGEpe3Quc3dpcGVyPWEubWVzc2FnZS5saXN0Lm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIHQuaW1hZ2U9dC5jb3Zlcix0fSkpfSkpfSxnZXRRdW90YXRpb246ZnVuY3Rpb24oKXt2YXIgdD10aGlzLGE9RGF0ZS5wYXJzZShuZXcgRGF0ZSkvMWUzLTM2MDAsaT1EYXRlLnBhcnNlKG5ldyBEYXRlKS8xZTM7dGhpcy4kdS5hcGkuaW5kZXguZ2V0UXVvdGF0aW9uKCkudGhlbihmdW5jdGlvbigpe3ZhciBlPSgwLG8uZGVmYXVsdCkoKDAsci5kZWZhdWx0KSgpLm1hcmsoKGZ1bmN0aW9uIGUobil7dmFyIG8sZCxwLGM7cmV0dXJuKDAsci5kZWZhdWx0KSgpLndyYXAoKGZ1bmN0aW9uKGUpe3doaWxlKDEpc3dpdGNoKGUucHJldj1lLm5leHQpe2Nhc2UgMDp0LnF1b3RhdGlvbk9yaWdpbmFsPW4ubWVzc2FnZVswXS5xdW90YXRpb24uc2xpY2UoMCw3KSxvPXQucXVvdGF0aW9uT3JpZ2luYWwuc29ydCgoZnVuY3Rpb24odCxhKXtyZXR1cm4gTnVtYmVyKHQuc29ydCktTnVtYmVyKGEuc29ydCl9KSksZD0wO2Nhc2UgMzppZighKGQ8by5sZW5ndGgpKXtlLm5leHQ9MTI7YnJlYWt9cmV0dXJuIHA9b1tkXSxlLm5leHQ9Nyx0LiR1LmFwaS5tYXJrZXQuZ2V0SGlzdG9yeURhdGEoYSxpLHAuY3VycmVuY3lfbmFtZSsiLyIrcC5sZWdhbF9uYW1lLCIxbWluIik7Y2FzZSA3OmM9ZS5zZW50LHAuY2hhcnREYXRhPXtzZXJpZXM6W3tuYW1lOiJhcmVhIixkYXRhOmMuZGF0YS5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiB0LmNsb3NlfSkpfV0sY2F0ZWdvcmllczpjLmRhdGEubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gdC50aW1lfSkpfTtjYXNlIDk6ZCsrLGUubmV4dD0zO2JyZWFrO2Nhc2UgMTI6dC5xdW90YXRpb249byx0LnN0YXJ0U29ja2V0KCk7Y2FzZSAxNDpjYXNlImVuZCI6cmV0dXJuIGUuc3RvcCgpfX0pLGUpfSkpKTtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIGUuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0oKSl9LHN0YXJ0U29ja2V0OmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxhPXRoaXMucXVvdGF0aW9uO3RoaXMuJHN0b3JlLnN0YXRlLnNvY2tldC5vbigiZGF5bWFya2V0IiwoZnVuY3Rpb24oaSl7dmFyIGU9YS5maW5kSW5kZXgoKGZ1bmN0aW9uKHQpe3JldHVybiB0LmN1cnJlbmN5X2lkPT1pLmN1cnJlbmN5X2lkfSkpO2lmKGU+LTEpe2kudm9sdW1lPU51bWJlcihpLnZvbHVtZSkudG9GaXhlZCg1KTt2YXIgcj0oMCxuLmRlZmF1bHQpKCgwLG4uZGVmYXVsdCkoe30sYVtlXSksaSk7YS5zcGxpY2UoZSwxLHIpfXQucXVvdGF0aW9uPWF9KSl9LHNldERlZmF1bHRMYW5nOmZ1bmN0aW9uKCl7dmFyIHQ9ZC5sYW5ncy5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiB0LnNlbGVjdGVkPSExLHR9KSksYT11bmkuZ2V0U3RvcmFnZVN5bmMoImxhbmciKXx8ImVuIixpPXQuZmluZEluZGV4KChmdW5jdGlvbih0KXtyZXR1cm4gdC52YWx1ZT09YX0pKTt0W2ldLnNlbGVjdGVkPSEwLHRoaXMubGFuZ3M9dCx0aGlzLmdldE1lbnUoKSx0aGlzLmdldE5ld3MoKSx0aGlzLmdldEJhbm5lcigpfSxzZXRMYW5nOmZ1bmN0aW9uKHQpe3ZhciBhPXRoaXMsaT10aGlzLmxhbmdzLm1hcCgoZnVuY3Rpb24oYSl7cmV0dXJuIGEuc2VsZWN0ZWQ9ITEsYS52YWx1ZT09dC52YWx1ZSYmKGEuc2VsZWN0ZWQ9ITApLGF9KSk7dGhpcy5sYW5ncz1pLHRoaXMuX2kxOG4ubG9jYWxlPXQudmFsdWUsdGhpcy5sYW5nPXQudmFsdWUsdW5pLnNldFN0b3JhZ2VTeW5jKCJsYW5nIix0LnZhbHVlKSx0aGlzLiRzdG9yZS5jb21taXQoInNldExhbmciLHQudmFsdWUpLHRoaXMuJHV0aWxzLnNldFRhYmJhcih0aGlzKSxzZXRUaW1lb3V0KChmdW5jdGlvbigpe2Euc2hvd0xhbmd1YWdlPSExfSksMjAwKSx3aW5kb3cubG9jYXRpb24ucmVsb2FkKCl9LGd1cGlhb1N3aXBlckNoYW5nZTpmdW5jdGlvbih0KXt0aGlzLmFjdGl2ZUd1cGlhb0RvdD10LmRldGFpbC5jdXJyZW50fSxjaGFuZ2VOYXZTb3J0OmZ1bmN0aW9uKHQsYSxpKXt2YXIgZT1KU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXNbdF0pKTtlLmZvckVhY2goKGZ1bmN0aW9uKHQsaSl7aSE9YSYmKHQuc29ydD0ibm9uZSIpfSkpLCJub25lIj09ZVthXS5zb3J0P2VbYV0uc29ydD0idXAiOiJ1cCI9PWVbYV0uc29ydD9lW2FdLnNvcnQ9ImRvd24iOiJkb3duIj09ZVthXS5zb3J0JiYoZVthXS5zb3J0PSJub25lIiksdGhpc1t0XT1lLHRoaXMuc29ydChpKX0sc29ydDpmdW5jdGlvbih0KXt2YXIgYSxpPSIiLmNvbmNhdCh0LCJOYXYiKSxlPXRoaXNbaV0sbj0iIi5jb25jYXQodCwiT3JpZ2luYWwiKSxyPXRoaXNbbl0sbz0tMTtlLmZvckVhY2goKGZ1bmN0aW9uKHQsaSl7Im5vbmUiIT10LnNvcnQmJihhPXQuc29ydCxvPWkpfSkpO3ZhciBkPW51bGw7LTE9PW8/dGhpc1t0XT1yOjA9PW8/KGQ9InVwIj09YT9mdW5jdGlvbih0LGEpe3JldHVybih0LmN1cnJlbmN5X25hbWUrIiIpLmxvY2FsZUNvbXBhcmUoYS5jdXJyZW5jeV9uYW1lKyIiKX06ZnVuY3Rpb24odCxhKXtyZXR1cm4oYS5jdXJyZW5jeV9uYW1lKyIiKS5sb2NhbGVDb21wYXJlKHQuY3VycmVuY3lfbmFtZSsiIil9LHRoaXNbdF09dGhpc1t0XS5zb3J0KGQpKToxPT1vPyhkPSJ1cCI9PWE/ZnVuY3Rpb24odCxhKXtyZXR1cm4gTnVtYmVyKHQubm93X3ByaWNlKS1OdW1iZXIoYS5ub3dfcHJpY2UpfTpmdW5jdGlvbih0LGEpe3JldHVybiBOdW1iZXIoYS5ub3dfcHJpY2UpLU51bWJlcih0Lm5vd19wcmljZSl9LHRoaXNbdF09dGhpc1t0XS5zb3J0KGQpKToyPT1vJiYoZD0idXAiPT1hP2Z1bmN0aW9uKHQsYSl7cmV0dXJuIE51bWJlcih0LmNoYW5nZSktTnVtYmVyKGEuY2hhbmdlKX06ZnVuY3Rpb24odCxhKXtyZXR1cm4gTnVtYmVyKGEuY2hhbmdlKS1OdW1iZXIodC5jaGFuZ2UpfSx0aGlzW3RdPXRoaXNbdF0uc29ydChkKSl9LG51bTJDb2xvcjpmdW5jdGlvbih0KXtyZXR1cm4gdCs9IiIsdC5pbmNsdWRlcygiJSIpJiYodD10LnNsaWNlKDAsdC5sZW5ndGgtMSkpLHQ9K3QsdD49MD8iIzE1YmU5NyI6IiNmZjQxNWIifSxjbGlja05vdGljZUJhcjpmdW5jdGlvbih0KXt2YXIgYT10aGlzLm9yaWdpbmFsTmV3W3RdO3VuaS5uYXZpZ2F0ZVRvKHt1cmw6Ii9wYWdlcy9jb21tb24vYXJ0aWNsZT9pZD0iK2EuaWR9KX0sanVtcDJMb2NrbWluZzpmdW5jdGlvbih0KXt1bmkuc2V0U3RvcmFnZVN5bmMoImxvY2ttaW5nIix0KSx1bmkubmF2aWdhdGVUbyh7dXJsOiIvcGFnZXMvbG9ja21pbmcvd2VsY29tZSJ9KX0saG9tZU5hdkp1bXA6ZnVuY3Rpb24odCxhKXt0P3RoaXMuJHV0aWxzLmp1bXAodCxhKTp0aGlzLiR1dGlscy5zaG93VG9hc3QodGhpcy4kdCgiY29tbW9uLmZ1bmN0aW9uTG9hZGluZyIpKX0sanVtcERvd246ZnVuY3Rpb24oKXt1bmkuc2V0U3RvcmFnZVN5bmMoImhhc0NsaWNrRG93biIsITApLHRoaXMuJHUuYXBpLmNvbW1vbi5nZXRTZXR0aW5nKCJhcGtfZG93bmxvYWRfdXJsIikudGhlbigoZnVuY3Rpb24odCl7Im9rIj09dC50eXBlJiZ3aW5kb3cub3Blbih0Lm1lc3NhZ2UudmFsdWUpfSkpfSxjbG9zZU5vdGljZTpmdW5jdGlvbih0KXt1bmkuc2V0U3RvcmFnZVN5bmMoImhhc0Nsb3NlTm90aWNlXyIrdCwhMCksdGhpcy4kcmVmcy5ub3RpY2VQb3B1cC5jbG9zZSgpfX0sY29tcHV0ZWQ6e2kxOG46ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy4kdCgiaG9tZSIpfSxndXBpYW9OdW1zOmZ1bmN0aW9uKCl7cmV0dXJuIHAuZ3VwaWFvLmxlbmd0aC0yfX0sd2F0Y2g6eyIkc3RvcmUuc3RhdGUubGFuZyI6ZnVuY3Rpb24odCl7dmFyIGE9dGhpcy5pMThuO3RoaXMuJHV0aWxzLnNldFRhYmJhcih0aGlzKSx0aGlzLnNldERlZmF1bHRMYW5nKCksdGhpcy5ob21lTmF2LmZvckVhY2goKGZ1bmN0aW9uKHQpe3QubmFtZT1hW3QudGl0bGVdfSkpfX0sZmlsdGVyczp7c29ydDJJY29uOmZ1bmN0aW9uKHQpe3N3aXRjaCh0KXtjYXNlIm5vbmUiOnJldHVybiBpKCIzMjIwIik7Y2FzZSJ1cCI6cmV0dXJuIGkoIjdiMDkiKTtjYXNlImRvd24iOnJldHVybiBpKCIwZjMzIil9fX0sb25IaWRlOmZ1bmN0aW9uKCl7dGhpcy4kc3RvcmUuc3RhdGUuc29ja2V0LnJlbW92ZUxpc3RlbmVyKCJkYXltYXJrZXQiKX0sb25VbmxvYWQ6ZnVuY3Rpb24oKXt0aGlzLiRzdG9yZS5zdGF0ZS5zb2NrZXQucmVtb3ZlTGlzdGVuZXIoImRheW1hcmtldCIpfX07YS5kZWZhdWx0PWN9LCI2OGVmIjpmdW5jdGlvbih0LGEsaSl7InVzZSBzdHJpY3QiO2koIjZhNTQiKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoYSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksYS5kZWZhdWx0PXAsaSgiYzFhMyIpLGkoImJmMGYiKSxpKCIxOGY3IiksaSgiZGU2YyIpLGkoIjdhNzYiKSxpKCJjOWI1Iik7dmFyIGU9ZChpKCJmMWY4IikpLG49ZChpKCJlNjY4IikpLHI9ZChpKCJkNDQxIikpLG89ZChpKCJkMmM0IikpO2Z1bmN0aW9uIGQodCl7cmV0dXJuIHQmJnQuX19lc01vZHVsZT90OntkZWZhdWx0OnR9fWZ1bmN0aW9uIHAodCl7dmFyIGk9ImZ1bmN0aW9uIj09PXR5cGVvZiBNYXA/bmV3IE1hcDp2b2lkIDA7cmV0dXJuIGEuZGVmYXVsdD1wPWZ1bmN0aW9uKHQpe2lmKG51bGw9PT10fHwhKDAsci5kZWZhdWx0KSh0KSlyZXR1cm4gdDtpZigiZnVuY3Rpb24iIT09dHlwZW9mIHQpdGhyb3cgbmV3IFR5cGVFcnJvcigiU3VwZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb24iKTtpZigidW5kZWZpbmVkIiE9PXR5cGVvZiBpKXtpZihpLmhhcyh0KSlyZXR1cm4gaS5nZXQodCk7aS5zZXQodCxhKX1mdW5jdGlvbiBhKCl7cmV0dXJuKDAsby5kZWZhdWx0KSh0LGFyZ3VtZW50cywoMCxlLmRlZmF1bHQpKHRoaXMpLmNvbnN0cnVjdG9yKX1yZXR1cm4gYS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0LnByb3RvdHlwZSx7Y29uc3RydWN0b3I6e3ZhbHVlOmEsZW51bWVyYWJsZTohMSx3cml0YWJsZTohMCxjb25maWd1cmFibGU6ITB9fSksKDAsbi5kZWZhdWx0KShhLHQpfSxwKHQpfX0sIjZiNTciOmZ1bmN0aW9uKHQsYSxpKXsidXNlIHN0cmljdCI7dmFyIGU9aSgiNGY3OCIpLG49aS5uKGUpO24uYX0sIjZjMzEiOmZ1bmN0aW9uKHQsYSxpKXsidXNlIHN0cmljdCI7aSgiNmE1NCIpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxhLmRlZmF1bHQ9ZnVuY3Rpb24oKXtpZigidW5kZWZpbmVkIj09PXR5cGVvZiBSZWZsZWN0fHwhUmVmbGVjdC5jb25zdHJ1Y3QpcmV0dXJuITE7aWYoUmVmbGVjdC5jb25zdHJ1Y3Quc2hhbSlyZXR1cm4hMTtpZigiZnVuY3Rpb24iPT09dHlwZW9mIFByb3h5KXJldHVybiEwO3RyeXtyZXR1cm4gQm9vbGVhbi5wcm90b3R5cGUudmFsdWVPZi5jYWxsKFJlZmxlY3QuY29uc3RydWN0KEJvb2xlYW4sW10sKGZ1bmN0aW9uKCl7fSkpKSwhMH1jYXRjaCh0KXtyZXR1cm4hMX19LGkoImJmMGYiKSxpKCI3OTk2IiksaSgiNmE4OCIpfSwiNmQ0MiI6ZnVuY3Rpb24odCxhLGkpeyJ1c2Ugc3RyaWN0IjtpLnIoYSk7dmFyIGU9aSgiM2JkYyIpLG49aS5uKGUpO2Zvcih2YXIgciBpbiBlKVsiZGVmYXVsdCJdLmluZGV4T2Yocik8MCYmZnVuY3Rpb24odCl7aS5kKGEsdCwoZnVuY3Rpb24oKXtyZXR1cm4gZVt0XX0pKX0ocik7YVsiZGVmYXVsdCJdPW4uYX0sIjZkODAiOmZ1bmN0aW9uKHQsYSxpKXsidXNlIHN0cmljdCI7aSgiNmE1NCIpO3ZhciBlPWkoImY1YmQiKS5kZWZhdWx0O09iamVjdC5kZWZpbmVQcm9wZXJ0eShhLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxhLmRlZmF1bHQ9dm9pZCAwO3ZhciBuPWUoaSgiNWRlNiIpKSxyPWUoaSgiZmNmMyIpKTtpKCI3YTc2IiksaSgiYzliNSIpLGkoImJmMGYiKSxpKCJhYjgwIiksaSgiMjc5NyIpLGkoImFhOWMiKSxpKCI1YzQ3IiksaSgiYTFjMSIpLGkoImU5NjYiKSxpKCI1ZWYyIiksaSgiMDUwNiIpLGkoIjQ3M2YiKSxpKCJjMjIzIiksaSgiZmQzYyIpLGkoIjhmNzEiKSxpKCJmN2E1IiksaSgiNDEwMCIpLGkoImRjNjkiKSxpKCIxODUxIiksaSgiM2VmZCIpLGkoImQ0YjUiKTt2YXIgbz17dmVyc2lvbjoidjIuMy43LTIwMjIwMTIyIix5QXhpc1dpZHRoOjE1LHlBeGlzU3BsaXQ6NSx4QXhpc0hlaWdodDoyMix4QXhpc0xpbmVIZWlnaHQ6MjIsbGVnZW5kSGVpZ2h0OjE1LHlBeGlzVGl0bGVXaWR0aDoxNSxwYWRkaW5nOlsxMCwxMCwxMCwxMF0scGl4ZWxSYXRpbzoxLHJvdGF0ZTohMSxjb2x1bWVQYWRkaW5nOjMsZm9udFNpemU6MTMsZm9udENvbG9yOiIjNjY2NjY2IixkYXRhUG9pbnRTaGFwZTpbImNpcmNsZSIsImNpcmNsZSIsImNpcmNsZSIsImNpcmNsZSJdLGNvbG9yOlsiIzE4OTBGRiIsIiM5MUNCNzQiLCIjRkFDODU4IiwiI0VFNjY2NiIsIiM3M0MwREUiLCIjM0NBMjcyIiwiI0ZDODQ1MiIsIiM5QTYwQjQiLCIjZWE3Y2NjIl0sbGluZWFyQ29sb3I6WyIjMEVFMkY4IiwiIzJCRENBOCIsIiNGQTdEOEQiLCIjRUI4OEUyIiwiIzJBRTNBMCIsIiMwRUUyRjgiLCIjRUI4OEUyIiwiIzY3NzNFMyIsIiNGNzhBODUiXSxwaWVDaGFydExpbmVQYWRkaW5nOjE1LHBpZUNoYXJ0VGV4dFBhZGRpbmc6NSx4QXhpc1RleHRQYWRkaW5nOjMsdGl0bGVDb2xvcjoiIzMzMzMzMyIsdGl0bGVGb250U2l6ZToyMCxzdWJ0aXRsZUNvbG9yOiIjOTk5OTk5IixzdWJ0aXRsZUZvbnRTaXplOjE1LHRvb2xUaXBQYWRkaW5nOjMsdG9vbFRpcEJhY2tncm91bmQ6IiMwMDAwMDAiLHRvb2xUaXBPcGFjaXR5Oi43LHRvb2xUaXBMaW5lSGVpZ2h0OjIwLHJhZGFyTGFiZWxUZXh0TWFyZ2luOjEzLGdhdWdlTGFiZWxUZXh0TWFyZ2luOjEzfSxkPWZ1bmN0aW9uKHQpe2Zvcih2YXIgYT1hcmd1bWVudHMubGVuZ3RoLGk9bmV3IEFycmF5KGE+MT9hLTE6MCksZT0xO2U8YTtlKyspaVtlLTFdPWFyZ3VtZW50c1tlXTtpZihudWxsPT10KXRocm93IG5ldyBUeXBlRXJyb3IoIlt1Q2hhcnRzXSBDYW5ub3QgY29udmVydCB1bmRlZmluZWQgb3IgbnVsbCB0byBvYmplY3QiKTtpZighaXx8aS5sZW5ndGg8PTApcmV0dXJuIHQ7ZnVuY3Rpb24gbih0LGEpe2Zvcih2YXIgaSBpbiBhKXRbaV09dFtpXSYmIltvYmplY3QgT2JqZWN0XSI9PT10W2ldLnRvU3RyaW5nKCk/bih0W2ldLGFbaV0pOnRbaV09YVtpXTtyZXR1cm4gdH1yZXR1cm4gaS5mb3JFYWNoKChmdW5jdGlvbihhKXt0PW4odCxhKX0pKSx0fSxwPXt0b0ZpeGVkOmZ1bmN0aW9uKHQsYSl7cmV0dXJuIGE9YXx8Mix0aGlzLmlzRmxvYXQodCkmJih0PXQudG9GaXhlZChhKSksdH0saXNGbG9hdDpmdW5jdGlvbih0KXtyZXR1cm4gdCUxIT09MH0sYXBwcm94aW1hdGVseUVxdWFsOmZ1bmN0aW9uKHQsYSl7cmV0dXJuIE1hdGguYWJzKHQtYSk8MWUtMTB9LGlzU2FtZVNpZ246ZnVuY3Rpb24odCxhKXtyZXR1cm4gTWF0aC5hYnModCk9PT10JiZNYXRoLmFicyhhKT09PWF8fE1hdGguYWJzKHQpIT09dCYmTWF0aC5hYnMoYSkhPT1hfSxpc1NhbWVYQ29vcmRpbmF0ZUFyZWE6ZnVuY3Rpb24odCxhKXtyZXR1cm4gdGhpcy5pc1NhbWVTaWduKHQueCxhLngpfSxpc0NvbGxpc2lvbjpmdW5jdGlvbih0LGEpe3QuZW5kPXt9LHQuZW5kLng9dC5zdGFydC54K3Qud2lkdGgsdC5lbmQueT10LnN0YXJ0LnktdC5oZWlnaHQsYS5lbmQ9e30sYS5lbmQueD1hLnN0YXJ0LngrYS53aWR0aCxhLmVuZC55PWEuc3RhcnQueS1hLmhlaWdodDt2YXIgaT1hLnN0YXJ0Lng+dC5lbmQueHx8YS5lbmQueDx0LnN0YXJ0Lnh8fGEuZW5kLnk+dC5zdGFydC55fHxhLnN0YXJ0Lnk8dC5lbmQueTtyZXR1cm4haX19O2Z1bmN0aW9uIGModCxhKXt2YXIgaT1BcnJheSgyKSxlPTIwMDM3NTA4LjM0KnQvMTgwLG49TWF0aC5sb2coTWF0aC50YW4oKDkwK2EpKk1hdGguUEkvMzYwKSkvKE1hdGguUEkvMTgwKTtyZXR1cm4gbj0yMDAzNzUwOC4zNCpuLzE4MCxpWzBdPWUsaVsxXT1uLGl9ZnVuY3Rpb24gcyh0LGEpe3ZhciBpPXQucmVwbGFjZSgvXiM/KFthLWZcZF0pKFthLWZcZF0pKFthLWZcZF0pJC9pLChmdW5jdGlvbih0LGEsaSxlKXtyZXR1cm4gYSthK2kraStlK2V9KSksZT0vXiM/KFthLWZcZF17Mn0pKFthLWZcZF17Mn0pKFthLWZcZF17Mn0pJC9pLmV4ZWMoaSksbj1wYXJzZUludChlWzFdLDE2KSxyPXBhcnNlSW50KGVbMl0sMTYpLG89cGFyc2VJbnQoZVszXSwxNik7cmV0dXJuInJnYmEoIituKyIsIityKyIsIitvKyIsIithKyIpIn1mdW5jdGlvbiBsKHQsYSxpKXtpZihpc05hTih0KSl0aHJvdyBuZXcgRXJyb3IoIlt1Q2hhcnRzXSBzZXJpZXPmlbDmja7pnIDkuLpOdW1iZXLmoLzlvI8iKTtpPWl8fDEwLGE9YXx8InVwcGVyIjt2YXIgZT0xO3doaWxlKGk8MSlpKj0xMCxlKj0xMDt0PSJ1cHBlciI9PT1hP01hdGguY2VpbCh0KmUpOk1hdGguZmxvb3IodCplKTt3aGlsZSh0JWkhPT0wKSJ1cHBlciI9PT1hP3QrKzp0LS07cmV0dXJuIHQvZX1mdW5jdGlvbiBtKHQsYSxpKXtmdW5jdGlvbiBlKHQpe3doaWxlKHQ8MCl0Kz0yKk1hdGguUEk7d2hpbGUodD4yKk1hdGguUEkpdC09MipNYXRoLlBJO3JldHVybiB0fXJldHVybiB0PWUodCksYT1lKGEpLGk9ZShpKSxhPmkmJihpKz0yKk1hdGguUEksdDxhJiYodCs9MipNYXRoLlBJKSksdD49YSYmdDw9aX1mdW5jdGlvbiBmKHQsYSl7ZnVuY3Rpb24gaSh0LGEpe3JldHVybiEoIXRbYS0xXXx8IXRbYSsxXSkmJih0W2FdLnk+PU1hdGgubWF4KHRbYS0xXS55LHRbYSsxXS55KXx8dFthXS55PD1NYXRoLm1pbih0W2EtMV0ueSx0W2ErMV0ueSkpfWZ1bmN0aW9uIGUodCxhKXtyZXR1cm4hKCF0W2EtMV18fCF0W2ErMV0pJiYodFthXS54Pj1NYXRoLm1heCh0W2EtMV0ueCx0W2ErMV0ueCl8fHRbYV0ueDw9TWF0aC5taW4odFthLTFdLngsdFthKzFdLngpKX12YXIgbj0uMixyPS4yLG89bnVsbCxkPW51bGwscD1udWxsLGM9bnVsbDtpZihhPDE/KG89dFswXS54Kyh0WzFdLngtdFswXS54KSpuLGQ9dFswXS55Kyh0WzFdLnktdFswXS55KSpuKToobz10W2FdLngrKHRbYSsxXS54LXRbYS0xXS54KSpuLGQ9dFthXS55Kyh0W2ErMV0ueS10W2EtMV0ueSkqbiksYT50Lmxlbmd0aC0zKXt2YXIgcz10Lmxlbmd0aC0xO3A9dFtzXS54LSh0W3NdLngtdFtzLTFdLngpKnIsYz10W3NdLnktKHRbc10ueS10W3MtMV0ueSkqcn1lbHNlIHA9dFthKzFdLngtKHRbYSsyXS54LXRbYV0ueCkqcixjPXRbYSsxXS55LSh0W2ErMl0ueS10W2FdLnkpKnI7cmV0dXJuIGkodCxhKzEpJiYoYz10W2ErMV0ueSksaSh0LGEpJiYoZD10W2FdLnkpLGUodCxhKzEpJiYocD10W2ErMV0ueCksZSh0LGEpJiYobz10W2FdLngpLChkPj1NYXRoLm1heCh0W2FdLnksdFthKzFdLnkpfHxkPD1NYXRoLm1pbih0W2FdLnksdFthKzFdLnkpKSYmKGQ9dFthXS55KSwoYz49TWF0aC5tYXgodFthXS55LHRbYSsxXS55KXx8Yzw9TWF0aC5taW4odFthXS55LHRbYSsxXS55KSkmJihjPXRbYSsxXS55KSwobz49TWF0aC5tYXgodFthXS54LHRbYSsxXS54KXx8bzw9TWF0aC5taW4odFthXS54LHRbYSsxXS54KSkmJihvPXRbYV0ueCksKHA+PU1hdGgubWF4KHRbYV0ueCx0W2ErMV0ueCl8fHA8PU1hdGgubWluKHRbYV0ueCx0W2ErMV0ueCkpJiYocD10W2ErMV0ueCkse2N0ckE6e3g6byx5OmR9LGN0ckI6e3g6cCx5OmN9fX1mdW5jdGlvbiBnKHQsYSxpKXtyZXR1cm57eDppLngrdCx5OmkueS1hfX1mdW5jdGlvbiB1KHQsYSl7aWYoYSl3aGlsZShwLmlzQ29sbGlzaW9uKHQsYSkpdC5zdGFydC54PjA/dC5zdGFydC55LS06dC5zdGFydC54PDB8fHQuc3RhcnQueT4wP3Quc3RhcnQueSsrOnQuc3RhcnQueS0tO3JldHVybiB0fWZ1bmN0aW9uIGgodCxhLGkpe2Zvcih2YXIgZT0wLG49MDtuPHQubGVuZ3RoO24rKyl7dmFyIHI9dFtuXTtpZihyLmNvbG9yfHwoci5jb2xvcj1pLmNvbG9yW2VdLGU9KGUrMSklaS5jb2xvci5sZW5ndGgpLHIubGluZWFySW5kZXh8fChyLmxpbmVhckluZGV4PW4pLHIuaW5kZXh8fChyLmluZGV4PTApLHIudHlwZXx8KHIudHlwZT1hLnR5cGUpLCJ1bmRlZmluZWQiPT10eXBlb2Ygci5zaG93JiYoci5zaG93PSEwKSxyLnR5cGV8fChyLnR5cGU9YS50eXBlKSxyLnBvaW50U2hhcGV8fChyLnBvaW50U2hhcGU9ImNpcmNsZSIpLCFyLmxlZ2VuZFNoYXBlKXN3aXRjaChyLnR5cGUpe2Nhc2UibGluZSI6ci5sZWdlbmRTaGFwZT0ibGluZSI7YnJlYWs7Y2FzZSJjb2x1bW4iOnIubGVnZW5kU2hhcGU9InJlY3QiO2JyZWFrO2Nhc2UiYXJlYSI6ci5sZWdlbmRTaGFwZT0idHJpYW5nbGUiO2JyZWFrO2Nhc2UiYmFyIjpyLmxlZ2VuZFNoYXBlPSJyZWN0IjticmVhaztkZWZhdWx0OnIubGVnZW5kU2hhcGU9ImNpcmNsZSJ9fXJldHVybiB0fWZ1bmN0aW9uIHYodCxhLGksZSl7dmFyIG49YXx8W107aWYoImN1c3RvbSI9PXQmJjA9PW4ubGVuZ3RoJiYobj1lLmxpbmVhckNvbG9yKSwiY3VzdG9tIj09dCYmbi5sZW5ndGg8aS5sZW5ndGgpZm9yKHZhciByPWkubGVuZ3RoLW4ubGVuZ3RoLG89MDtvPHI7bysrKW4ucHVzaChlLmxpbmVhckNvbG9yWyhvKzEpJWUubGluZWFyQ29sb3IubGVuZ3RoXSk7cmV0dXJuIG59ZnVuY3Rpb24gYih0LGEpe3ZhciBpPTAsZT1hLXQ7cmV0dXJuIGk9ZT49MWU0PzFlMzplPj0xZTM/MTAwOmU+PTEwMD8xMDplPj0xMD81OmU+PTE/MTplPj0uMT8uMTplPj0uMDE/LjAxOmU+PS4wMDE/LjAwMTplPj0xZS00PzFlLTQ6ZT49MWUtNT8xZS01OjFlLTYse21pblJhbmdlOmwodCwibG93ZXIiLGkpLG1heFJhbmdlOmwoYSwidXBwZXIiLGkpfX1mdW5jdGlvbiB4KHQsYSxpKXt2YXIgZT0wO2lmKHQ9U3RyaW5nKHQpLCExIT09aSYmdm9pZCAwIT09aSYmaS5zZXRGb250U2l6ZSYmaS5tZWFzdXJlVGV4dClyZXR1cm4gaS5zZXRGb250U2l6ZShhKSxpLm1lYXN1cmVUZXh0KHQpLndpZHRoO3Q9dC5zcGxpdCgiIik7Zm9yKHZhciBuPTA7bjx0Lmxlbmd0aDtuKyspe3ZhciByPXRbbl07L1thLXpBLVpdLy50ZXN0KHIpP2UrPTc6L1swLTldLy50ZXN0KHIpP2UrPTUuNTovXC4vLnRlc3Qocik/ZSs9Mi43Oi8tLy50ZXN0KHIpP2UrPTMuMjU6LzovLnRlc3Qocik/ZSs9Mi41Oi9bXHU0ZTAwLVx1OWZhNV0vLnRlc3Qocik/ZSs9MTA6L1wofFwpLy50ZXN0KHIpP2UrPTMuNzM6L1xzLy50ZXN0KHIpP2UrPTIuNTovJS8udGVzdChyKT9lKz04OmUrPTEwfXJldHVybiBlKmEvMTB9ZnVuY3Rpb24geSh0KXtyZXR1cm4gdC5yZWR1Y2UoKGZ1bmN0aW9uKHQsYSl7cmV0dXJuKHQuZGF0YT90LmRhdGE6dCkuY29uY2F0KGEuZGF0YSl9KSxbXSl9ZnVuY3Rpb24gQSh0LGEpe2Zvcih2YXIgaT1uZXcgQXJyYXkoYSksZT0wO2U8aS5sZW5ndGg7ZSsrKWlbZV09MDtmb3IodmFyIG49MDtuPHQubGVuZ3RoO24rKylmb3IoZT0wO2U8aS5sZW5ndGg7ZSsrKWlbZV0rPXRbbl0uZGF0YVtlXTtyZXR1cm4gdC5yZWR1Y2UoKGZ1bmN0aW9uKHQsYSl7cmV0dXJuKHQuZGF0YT90LmRhdGE6dCkuY29uY2F0KGEuZGF0YSkuY29uY2F0KGkpfSksW10pfWZ1bmN0aW9uIHcodCxhLGkpe3ZhciBlLG47cmV0dXJuIHQuY2xpZW50WD9hLnJvdGF0ZT8obj1hLmhlaWdodC10LmNsaWVudFgqYS5waXgsZT0odC5wYWdlWS1pLmN1cnJlbnRUYXJnZXQub2Zmc2V0VG9wLWEuaGVpZ2h0L2EucGl4LzIqKGEucGl4LTEpKSphLnBpeCk6KGU9dC5jbGllbnRYKmEucGl4LG49KHQucGFnZVktaS5jdXJyZW50VGFyZ2V0Lm9mZnNldFRvcC1hLmhlaWdodC9hLnBpeC8yKihhLnBpeC0xKSkqYS5waXgpOmEucm90YXRlPyhuPWEuaGVpZ2h0LXQueCphLnBpeCxlPXQueSphLnBpeCk6KGU9dC54KmEucGl4LG49dC55KmEucGl4KSx7eDplLHk6bn19ZnVuY3Rpb24gayh0LGEsaSl7dmFyIGU9W10sbj1bXSxyPWEuY29uc3RydWN0b3IudG9TdHJpbmcoKS5pbmRleE9mKCJBcnJheSIpPi0xO2lmKHIpZm9yKHZhciBvPUkodCksZD0wO2Q8aS5sZW5ndGg7ZCsrKW4ucHVzaChvW2lbZF1dKTtlbHNlIG49dDtmb3IodmFyIHA9MDtwPG4ubGVuZ3RoO3ArKyl7dmFyIGM9bltwXSxzPS0xO2lmKHM9cj9hW3BdOmEsbnVsbCE9PWMuZGF0YVtzXSYmInVuZGVmaW5lZCIhPT10eXBlb2YgYy5kYXRhW3NdJiZjLnNob3cpe3ZhciBsPXt9O2wuY29sb3I9Yy5jb2xvcixsLnR5cGU9Yy50eXBlLGwuc3R5bGU9Yy5zdHlsZSxsLnBvaW50U2hhcGU9Yy5wb2ludFNoYXBlLGwuZGlzYWJsZUxlZ2VuZD1jLmRpc2FibGVMZWdlbmQsbC5uYW1lPWMubmFtZSxsLnNob3c9Yy5zaG93LGwuZGF0YT1jLmZvcm1hdHRlcj9jLmZvcm1hdHRlcihjLmRhdGFbc10pOmMuZGF0YVtzXSxlLnB1c2gobCl9fXJldHVybiBlfWZ1bmN0aW9uIFModCxhLGkpe3ZhciBlPXQubWFwKChmdW5jdGlvbih0KXtyZXR1cm4geCh0LGEsaSl9KSk7cmV0dXJuIE1hdGgubWF4LmFwcGx5KG51bGwsZSl9ZnVuY3Rpb24gVCh0KXtmb3IodmFyIGE9MipNYXRoLlBJL3QsaT1bXSxlPTA7ZTx0O2UrKylpLnB1c2goYSplKTtyZXR1cm4gaS5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybi0xKnQrTWF0aC5QSS8yfSkpfWZ1bmN0aW9uIEModCxhLGksZSxuKXt2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjUmJnZvaWQgMCE9PWFyZ3VtZW50c1s1XT9hcmd1bWVudHNbNV06e30sbz1hLmNoYXJ0RGF0YS5jYWxQb2ludHM/YS5jaGFydERhdGEuY2FsUG9pbnRzOltdLGQ9e307aWYoZS5sZW5ndGg+MCl7Zm9yKHZhciBwPVtdLGM9MDtjPGUubGVuZ3RoO2MrKylwLnB1c2gob1tlW2NdXSk7ZD1wWzBdW2lbMF1dfWVsc2UgZD1vWzBdW2ldO3ZhciBzPXQubWFwKChmdW5jdGlvbih0KXt2YXIgZT1udWxsO3JldHVybiBhLmNhdGVnb3JpZXMmJmEuY2F0ZWdvcmllcy5sZW5ndGg+MCYmKGU9bltpXSkse3RleHQ6ci5mb3JtYXR0ZXI/ci5mb3JtYXR0ZXIodCxlLGksYSk6dC5uYW1lKyI6ICIrdC5kYXRhLGNvbG9yOnQuY29sb3J9fSkpLGw9e3g6TWF0aC5yb3VuZChkLngpLHk6TWF0aC5yb3VuZChkLnkpfTtyZXR1cm57dGV4dExpc3Q6cyxvZmZzZXQ6bH19ZnVuY3Rpb24gUCh0LGEsaSxlKXt2YXIgbj1hcmd1bWVudHMubGVuZ3RoPjQmJnZvaWQgMCE9PWFyZ3VtZW50c1s0XT9hcmd1bWVudHNbNF06e30scj1hLmNoYXJ0RGF0YS54QXhpc1BvaW50c1tpXSthLmNoYXJ0RGF0YS5lYWNoU3BhY2luZy8yLG89dC5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybnt0ZXh0Om4uZm9ybWF0dGVyP24uZm9ybWF0dGVyKHQsZVtpXSxpLGEpOnQubmFtZSsiOiAiK3QuZGF0YSxjb2xvcjp0LmNvbG9yLGRpc2FibGVMZWdlbmQ6ISF0LmRpc2FibGVMZWdlbmR9fSkpO289by5maWx0ZXIoKGZ1bmN0aW9uKHQpe2lmKCEwIT09dC5kaXNhYmxlTGVnZW5kKXJldHVybiB0fSkpO3ZhciBkPXt4Ok1hdGgucm91bmQocikseTowfTtyZXR1cm57dGV4dExpc3Q6byxvZmZzZXQ6ZH19ZnVuY3Rpb24geih0LGEsaSxlLG4scil7dmFyIG89aS5jaGFydERhdGEuY2FsUG9pbnRzLGQ9ci5jb2xvci51cEZpbGwscD1yLmNvbG9yLmRvd25GaWxsLGM9W2QsZCxwLGRdLHM9W107YS5tYXAoKGZ1bmN0aW9uKGEpezA9PWU/YS5kYXRhWzFdLWEuZGF0YVswXTwwP2NbMV09cDpjWzFdPWQ6KGEuZGF0YVswXTx0W2UtMV1bMV0mJihjWzBdPXApLGEuZGF0YVsxXTxhLmRhdGFbMF0mJihjWzFdPXApLGEuZGF0YVsyXT50W2UtMV1bMV0mJihjWzJdPWQpLGEuZGF0YVszXTx0W2UtMV1bMV0mJihjWzNdPXApKTt2YXIgaT17dGV4dDoi5byA55uY77yaIithLmRhdGFbMF0sY29sb3I6Y1swXX0sbj17dGV4dDoi5pS255uY77yaIithLmRhdGFbMV0sY29sb3I6Y1sxXX0scj17dGV4dDoi5pyA5L2O77yaIithLmRhdGFbMl0sY29sb3I6Y1syXX0sbz17dGV4dDoi5pyA6auY77yaIithLmRhdGFbM10sY29sb3I6Y1szXX07cy5wdXNoKGksbixyLG8pfSkpO2Zvcih2YXIgbD1bXSxtPXt4OjAseTowfSxmPTA7ZjxvLmxlbmd0aDtmKyspe3ZhciBnPW9bZl07InVuZGVmaW5lZCIhPT10eXBlb2YgZ1tlXSYmbnVsbCE9PWdbZV0mJmwucHVzaChnW2VdKX1yZXR1cm4gbS54PU1hdGgucm91bmQobFswXVswXS54KSx7dGV4dExpc3Q6cyxvZmZzZXQ6bX19ZnVuY3Rpb24gSSh0KXtmb3IodmFyIGE9W10saT0wO2k8dC5sZW5ndGg7aSsrKTE9PXRbaV0uc2hvdyYmYS5wdXNoKHRbaV0pO3JldHVybiBhfWZ1bmN0aW9uIEQodCxhLGkpe3JldHVybiB0Lng8PWEud2lkdGgtYS5hcmVhWzFdKzEwJiZ0Lng+PWEuYXJlYVszXS0xMCYmdC55Pj1hLmFyZWFbMF0mJnQueTw9YS5oZWlnaHQtYS5hcmVhWzJdfWZ1bmN0aW9uIE0odCxhLGkpe3JldHVybiBNYXRoLnBvdyh0LngtYS54LDIpK01hdGgucG93KHQueS1hLnksMik8PU1hdGgucG93KGksMil9ZnVuY3Rpb24gRSh0LGEpe3ZhciBpPVtdLGU9W107cmV0dXJuIHQuZm9yRWFjaCgoZnVuY3Rpb24odCxuKXthLmNvbm5lY3ROdWxscz9udWxsIT09dCYmZS5wdXNoKHQpOm51bGwhPT10P2UucHVzaCh0KTooZS5sZW5ndGgmJmkucHVzaChlKSxlPVtdKX0pKSxlLmxlbmd0aCYmaS5wdXNoKGUpLGl9ZnVuY3Rpb24gTCh0LGEsaSxlLG4pe3ZhciByPXthbmdsZTowLHhBeGlzSGVpZ2h0OmkueEF4aXNIZWlnaHR9LG89dC5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiB4KHQsYS54QXhpcy5mb250U2l6ZSphLnBpeHx8aS5mb250U2l6ZSxuKX0pKSxkPU1hdGgubWF4LmFwcGx5KHRoaXMsbyk7cmV0dXJuIDE9PWEueEF4aXMucm90YXRlTGFiZWwmJmQrMippLnhBeGlzVGV4dFBhZGRpbmc+ZSYmKHIuYW5nbGU9NDUqTWF0aC5QSS8xODAsci54QXhpc0hlaWdodD0yKmkueEF4aXNUZXh0UGFkZGluZytkKk1hdGguc2luKHIuYW5nbGUpKSxyfWZ1bmN0aW9uIE8odCxhLGksZSl7dmFyIG49ZCh7fSx7dHlwZToiIn0sYS5leHRyYS5iYXIpLG89e2FuZ2xlOjAseEF4aXNIZWlnaHQ6aS54QXhpc0hlaWdodH07by5yYW5nZXM9ZnVuY3Rpb24odCxhLGksZSl7dmFyIG4sbz1hcmd1bWVudHMubGVuZ3RoPjQmJnZvaWQgMCE9PWFyZ3VtZW50c1s0XT9hcmd1bWVudHNbNF06LTE7bj0ic3RhY2siPT1lP0EodCxhLmNhdGVnb3JpZXMubGVuZ3RoKTp5KHQpO3ZhciBkPVtdO249bi5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybiJvYmplY3QiPT09KDAsci5kZWZhdWx0KSh0KSYmbnVsbCE9PXQ/dC5jb25zdHJ1Y3Rvci50b1N0cmluZygpLmluZGV4T2YoIkFycmF5Iik+LTE/bnVsbCE9PXQ6bnVsbCE9PXQudmFsdWU6bnVsbCE9PXR9KSksbi5tYXAoKGZ1bmN0aW9uKHQpeyJvYmplY3QiPT09KDAsci5kZWZhdWx0KSh0KT90LmNvbnN0cnVjdG9yLnRvU3RyaW5nKCkuaW5kZXhPZigiQXJyYXkiKT4tMT8iY2FuZGxlIj09YS50eXBlP3QubWFwKChmdW5jdGlvbih0KXtkLnB1c2godCl9KSk6ZC5wdXNoKHRbMF0pOmQucHVzaCh0LnZhbHVlKTpkLnB1c2godCl9KSk7dmFyIHA9MCxjPTA7aWYoZC5sZW5ndGg+MCYmKHA9TWF0aC5taW4uYXBwbHkodGhpcyxkKSxjPU1hdGgubWF4LmFwcGx5KHRoaXMsZCkpLG8+LTE/KCJudW1iZXIiPT09dHlwZW9mIGEueEF4aXMuZGF0YVtvXS5taW4mJihwPU1hdGgubWluKGEueEF4aXMuZGF0YVtvXS5taW4scCkpLCJudW1iZXIiPT09dHlwZW9mIGEueEF4aXMuZGF0YVtvXS5tYXgmJihjPU1hdGgubWF4KGEueEF4aXMuZGF0YVtvXS5tYXgsYykpKTooIm51bWJlciI9PT10eXBlb2YgYS54QXhpcy5taW4mJihwPU1hdGgubWluKGEueEF4aXMubWluLHApKSwibnVtYmVyIj09PXR5cGVvZiBhLnhBeGlzLm1heCYmKGM9TWF0aC5tYXgoYS54QXhpcy5tYXgsYykpKSxwPT09Yyl7dmFyIHM9Y3x8MTA7Yys9c31mb3IodmFyIGw9cCxtPWMsZj1bXSxnPShtLWwpL2EueEF4aXMuc3BsaXROdW1iZXIsdT0wO3U8PWEueEF4aXMuc3BsaXROdW1iZXI7dSsrKWYucHVzaChsK2cqdSk7cmV0dXJuIGZ9KHQsYSxpLG4udHlwZSksby5yYW5nZXNGb3JtYXQ9by5yYW5nZXMubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gdD1wLnRvRml4ZWQodCwyKSx0fSkpO3ZhciBjPW8ucmFuZ2VzLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIHQ9cC50b0ZpeGVkKHQsMiksdH0pKTtvPU9iamVjdC5hc3NpZ24obyxKKGMsYSxpKSk7dmFyIHM9by5lYWNoU3BhY2luZyxsPWMubWFwKChmdW5jdGlvbih0KXtyZXR1cm4geCh0LGEueEF4aXMuZm9udFNpemUqYS5waXh8fGkuZm9udFNpemUsZSl9KSksbT1NYXRoLm1heC5hcHBseSh0aGlzLGwpO3JldHVybiBtKzIqaS54QXhpc1RleHRQYWRkaW5nPnMmJihvLmFuZ2xlPTQ1Kk1hdGguUEkvMTgwLG8ueEF4aXNIZWlnaHQ9MippLnhBeGlzVGV4dFBhZGRpbmcrbSpNYXRoLnNpbihvLmFuZ2xlKSksITA9PT1hLnhBeGlzLmRpc2FibGVkJiYoby54QXhpc0hlaWdodD0wKSxvfWZ1bmN0aW9uIE4odCxhLGksZSxuKXt2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjUmJnZvaWQgMCE9PWFyZ3VtZW50c1s1XT9hcmd1bWVudHNbNV06MSxvPW4uZXh0cmEucmFkYXJ8fHt9O28ubWF4PW8ubWF4fHwwO2Zvcih2YXIgZD1NYXRoLm1heChvLm1heCxNYXRoLm1heC5hcHBseShudWxsLHkoZSkpKSxwPVtdLGM9ZnVuY3Rpb24obil7dmFyIG89ZVtuXSxjPXt9O2MuY29sb3I9by5jb2xvcixjLmxlZ2VuZFNoYXBlPW8ubGVnZW5kU2hhcGUsYy5wb2ludFNoYXBlPW8ucG9pbnRTaGFwZSxjLmRhdGE9W10sby5kYXRhLmZvckVhY2goKGZ1bmN0aW9uKGUsbil7dmFyIG89e307by5hbmdsZT10W25dLG8ucHJvcG9ydGlvbj1lL2Qsby52YWx1ZT1lLG8ucG9zaXRpb249ZyhpKm8ucHJvcG9ydGlvbipyKk1hdGguY29zKG8uYW5nbGUpLGkqby5wcm9wb3J0aW9uKnIqTWF0aC5zaW4oby5hbmdsZSksYSksYy5kYXRhLnB1c2gobyl9KSkscC5wdXNoKGMpfSxzPTA7czxlLmxlbmd0aDtzKyspYyhzKTtyZXR1cm4gcH1mdW5jdGlvbiBCKHQsYSl7Zm9yKHZhciBpPWFyZ3VtZW50cy5sZW5ndGg+MiYmdm9pZCAwIT09YXJndW1lbnRzWzJdP2FyZ3VtZW50c1syXToxLGU9MCxuPTAscj0wO3I8dC5sZW5ndGg7cisrKXt2YXIgbz10W3JdO28uZGF0YT1udWxsPT09by5kYXRhPzA6by5kYXRhLGUrPW8uZGF0YX1mb3IodmFyIGQ9MDtkPHQubGVuZ3RoO2QrKyl7dmFyIHA9dFtkXTtwLmRhdGE9bnVsbD09PXAuZGF0YT8wOnAuZGF0YSxwLl9wcm9wb3J0aW9uXz0wPT09ZT8xL3QubGVuZ3RoKmk6cC5kYXRhL2UqaSxwLl9yYWRpdXNfPWF9Zm9yKHZhciBjPTA7Yzx0Lmxlbmd0aDtjKyspe3ZhciBzPXRbY107cy5fc3RhcnRfPW4sbis9MipzLl9wcm9wb3J0aW9uXypNYXRoLlBJfXJldHVybiB0fWZ1bmN0aW9uIFIodCxhLGksZSl7dmFyIG49YXJndW1lbnRzLmxlbmd0aD40JiZ2b2lkIDAhPT1hcmd1bWVudHNbNF0/YXJndW1lbnRzWzRdOjE7dD10LnNvcnQoKGZ1bmN0aW9uKHQsYSl7cmV0dXJuIHBhcnNlSW50KGEuZGF0YSktcGFyc2VJbnQodC5kYXRhKX0pKTtmb3IodmFyIHI9MDtyPHQubGVuZ3RoO3IrKyl0W3JdLnJhZGl1cz0iZnVubmVsIj09aT90W3JdLmRhdGEvdFswXS5kYXRhKmEqbjplKih0Lmxlbmd0aC1yKS8oZSp0Lmxlbmd0aCkqYSpuLHRbcl0uX3Byb3BvcnRpb25fPXRbcl0uZGF0YS90WzBdLmRhdGE7cmV0dXJuInB5cmFtaWQiIT09aSYmdC5yZXZlcnNlKCksdH1mdW5jdGlvbiBGKHQsYSxpLGUpe2Zvcih2YXIgbj1hcmd1bWVudHMubGVuZ3RoPjQmJnZvaWQgMCE9PWFyZ3VtZW50c1s0XT9hcmd1bWVudHNbNF06MSxyPTAsbz0wLGQ9W10scD0wO3A8dC5sZW5ndGg7cCsrKXt2YXIgYz10W3BdO2MuZGF0YT1udWxsPT09Yy5kYXRhPzA6Yy5kYXRhLHIrPWMuZGF0YSxkLnB1c2goYy5kYXRhKX1mb3IodmFyIHM9TWF0aC5taW4uYXBwbHkobnVsbCxkKSxsPU1hdGgubWF4LmFwcGx5KG51bGwsZCksbT1lLWksZj0wO2Y8dC5sZW5ndGg7ZisrKXt2YXIgZz10W2ZdO2cuZGF0YT1udWxsPT09Zy5kYXRhPzA6Zy5kYXRhLDA9PT1yPyhnLl9wcm9wb3J0aW9uXz0xL3QubGVuZ3RoKm4sZy5fcm9zZV9wcm9wb3J0aW9uXz0xL3QubGVuZ3RoKm4pOihnLl9wcm9wb3J0aW9uXz1nLmRhdGEvcipuLGcuX3Jvc2VfcHJvcG9ydGlvbl89ImFyZWEiPT1hPzEvdC5sZW5ndGgqbjpnLmRhdGEvcipuKSxnLl9yYWRpdXNfPWkrbSooKGcuZGF0YS1zKS8obC1zKSl8fGV9Zm9yKHZhciB1PTA7dTx0Lmxlbmd0aDt1Kyspe3ZhciBoPXRbdV07aC5fc3RhcnRfPW8sbys9MipoLl9yb3NlX3Byb3BvcnRpb25fKk1hdGguUEl9cmV0dXJuIHR9ZnVuY3Rpb24gXyh0LGEpe3ZhciBpPWFyZ3VtZW50cy5sZW5ndGg+MiYmdm9pZCAwIT09YXJndW1lbnRzWzJdP2FyZ3VtZW50c1syXToxOzE9PWkmJihpPS45OTk5OTkpO2Zvcih2YXIgZT0wO2U8dC5sZW5ndGg7ZSsrKXt2YXIgbj10W2VdO24uZGF0YT1udWxsPT09bi5kYXRhPzA6bi5kYXRhO3ZhciByPXZvaWQgMDtyPSJjaXJjbGUiPT1hLnR5cGU/MjphLmVuZEFuZ2xlPGEuc3RhcnRBbmdsZT8yK2EuZW5kQW5nbGUtYS5zdGFydEFuZ2xlOmEuc3RhcnRBbmdsZS1hLmVuZEFuZ2xlLG4uX3Byb3BvcnRpb25fPXIqbi5kYXRhKmkrYS5zdGFydEFuZ2xlLG4uX3Byb3BvcnRpb25fPj0yJiYobi5fcHJvcG9ydGlvbl89bi5fcHJvcG9ydGlvbl8lMil9cmV0dXJuIHR9ZnVuY3Rpb24gaih0LGEsaSl7Zm9yKHZhciBlPWEtaSsxLG49YSxyPTA7cjx0Lmxlbmd0aDtyKyspdFtyXS52YWx1ZT1udWxsPT09dFtyXS52YWx1ZT8wOnRbcl0udmFsdWUsdFtyXS5fc3RhcnRBbmdsZV89bix0W3JdLl9lbmRBbmdsZV89ZSp0W3JdLnZhbHVlK2EsdFtyXS5fZW5kQW5nbGVfPj0yJiYodFtyXS5fZW5kQW5nbGVfPXRbcl0uX2VuZEFuZ2xlXyUyKSxuPXRbcl0uX2VuZEFuZ2xlXztyZXR1cm4gdH1mdW5jdGlvbiBVKHQsYSxpKXtmb3IodmFyIGU9YXJndW1lbnRzLmxlbmd0aD4zJiZ2b2lkIDAhPT1hcmd1bWVudHNbM10/YXJndW1lbnRzWzNdOjEsbj0wO248dC5sZW5ndGg7bisrKXt2YXIgcj10W25dO2lmKHIuZGF0YT1udWxsPT09ci5kYXRhPzA6ci5kYXRhLCJhdXRvIj09aS5wb2ludGVyLmNvbG9yKXtmb3IodmFyIG89MDtvPGEubGVuZ3RoO28rKylpZihyLmRhdGE8PWFbb10udmFsdWUpe3IuY29sb3I9YVtvXS5jb2xvcjticmVha319ZWxzZSByLmNvbG9yPWkucG9pbnRlci5jb2xvcjt2YXIgZD1pLnN0YXJ0QW5nbGUtaS5lbmRBbmdsZSsxO3IuX2VuZEFuZ2xlXz1kKnIuZGF0YStpLnN0YXJ0QW5nbGUsci5fb2xkQW5nbGVfPWkub2xkQW5nbGUsaS5vbGRBbmdsZTxpLmVuZEFuZ2xlJiYoci5fb2xkQW5nbGVfKz0yKSxyLmRhdGE+PWkub2xkRGF0YT9yLl9wcm9wb3J0aW9uXz0oci5fZW5kQW5nbGVfLXIuX29sZEFuZ2xlXykqZStpLm9sZEFuZ2xlOnIuX3Byb3BvcnRpb25fPXIuX29sZEFuZ2xlXy0oci5fb2xkQW5nbGVfLXIuX2VuZEFuZ2xlXykqZSxyLl9wcm9wb3J0aW9uXz49MiYmKHIuX3Byb3BvcnRpb25fPXIuX3Byb3BvcnRpb25fJTIpfXJldHVybiB0fWZ1bmN0aW9uIFcodCxhLGksZSxuLHIpe3JldHVybiB0Lm1hcCgoZnVuY3Rpb24odCl7aWYobnVsbD09PXQpcmV0dXJuIG51bGw7dmFyIG49MCxvPTA7cmV0dXJuIm1peCI9PXIudHlwZT8obj1yLmV4dHJhLm1peC5jb2x1bW4uc2VyaWVzR2FwKnIucGl4fHwwLG89ci5leHRyYS5taXguY29sdW1uLmNhdGVnb3J5R2FwKnIucGl4fHwwKToobj1yLmV4dHJhLmNvbHVtbi5zZXJpZXNHYXAqci5waXh8fDAsbz1yLmV4dHJhLmNvbHVtbi5jYXRlZ29yeUdhcCpyLnBpeHx8MCksbj1NYXRoLm1pbihuLGEvaSksbz1NYXRoLm1pbihvLGEvaSksdC53aWR0aD1NYXRoLmNlaWwoKGEtMipvLW4qKGktMSkpL2kpLHIuZXh0cmEubWl4JiZyLmV4dHJhLm1peC5jb2x1bW4ud2lkdGgmJityLmV4dHJhLm1peC5jb2x1bW4ud2lkdGg+MCYmKHQud2lkdGg9TWF0aC5taW4odC53aWR0aCwrci5leHRyYS5taXguY29sdW1uLndpZHRoKnIucGl4KSksci5leHRyYS5jb2x1bW4mJnIuZXh0cmEuY29sdW1uLndpZHRoJiYrci5leHRyYS5jb2x1bW4ud2lkdGg+MCYmKHQud2lkdGg9TWF0aC5taW4odC53aWR0aCwrci5leHRyYS5jb2x1bW4ud2lkdGgqci5waXgpKSx0LndpZHRoPD0wJiYodC53aWR0aD0xKSx0LngrPShlKy41LWkvMikqKHQud2lkdGgrbiksdH0pKX1mdW5jdGlvbiBHKHQsYSxpLGUsbixyKXtyZXR1cm4gdC5tYXAoKGZ1bmN0aW9uKHQpe2lmKG51bGw9PT10KXJldHVybiBudWxsO3ZhciBuPTAsbz0wO3JldHVybiBuPXIuZXh0cmEuYmFyLnNlcmllc0dhcCpyLnBpeHx8MCxvPXIuZXh0cmEuYmFyLmNhdGVnb3J5R2FwKnIucGl4fHwwLG49TWF0aC5taW4obixhL2kpLG89TWF0aC5taW4obyxhL2kpLHQud2lkdGg9TWF0aC5jZWlsKChhLTIqby1uKihpLTEpKS9pKSxyLmV4dHJhLmJhciYmci5leHRyYS5iYXIud2lkdGgmJityLmV4dHJhLmJhci53aWR0aD4wJiYodC53aWR0aD1NYXRoLm1pbih0LndpZHRoLCtyLmV4dHJhLmJhci53aWR0aCpyLnBpeCkpLHQud2lkdGg8PTAmJih0LndpZHRoPTEpLHQueSs9KGUrLjUtaS8yKSoodC53aWR0aCtuKSx0fSkpfWZ1bmN0aW9uIFkodCxhLGksZSxuLHIsbyl7dmFyIGQ9ci5leHRyYS5jb2x1bW4uY2F0ZWdvcnlHYXAqci5waXh8fDA7cmV0dXJuIHQubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09PXQ/bnVsbDoodC53aWR0aD1NYXRoLmNlaWwoYS0yKmQpLHIuZXh0cmEuY29sdW1uJiZyLmV4dHJhLmNvbHVtbi53aWR0aCYmK3IuZXh0cmEuY29sdW1uLndpZHRoPjAmJih0LndpZHRoPU1hdGgubWluKHQud2lkdGgsK3IuZXh0cmEuY29sdW1uLndpZHRoKnIucGl4KSksZT4wJiYodC53aWR0aC09MipvKSx0KX0pKX1mdW5jdGlvbiBaKHQsYSxpLGUsbixyLG8pe3ZhciBkPXIuZXh0cmEuY29sdW1uLmNhdGVnb3J5R2FwKnIucGl4fHwwO3JldHVybiB0Lm1hcCgoZnVuY3Rpb24odCxpKXtyZXR1cm4gbnVsbD09PXQ/bnVsbDoodC53aWR0aD1NYXRoLmNlaWwoYS0yKmQpLHIuZXh0cmEuY29sdW1uJiZyLmV4dHJhLmNvbHVtbi53aWR0aCYmK3IuZXh0cmEuY29sdW1uLndpZHRoPjAmJih0LndpZHRoPU1hdGgubWluKHQud2lkdGgsK3IuZXh0cmEuY29sdW1uLndpZHRoKnIucGl4KSksdC53aWR0aDw9MCYmKHQud2lkdGg9MSksdCl9KSl9ZnVuY3Rpb24gUSh0LGEsaSxlLG4scixvKXt2YXIgZD1yLmV4dHJhLmJhci5jYXRlZ29yeUdhcCpyLnBpeHx8MDtyZXR1cm4gdC5tYXAoKGZ1bmN0aW9uKHQsaSl7cmV0dXJuIG51bGw9PT10P251bGw6KHQud2lkdGg9TWF0aC5jZWlsKGEtMipkKSxyLmV4dHJhLmJhciYmci5leHRyYS5iYXIud2lkdGgmJityLmV4dHJhLmJhci53aWR0aD4wJiYodC53aWR0aD1NYXRoLm1pbih0LndpZHRoLCtyLmV4dHJhLmJhci53aWR0aCpyLnBpeCkpLHQud2lkdGg8PTAmJih0LndpZHRoPTEpLHQpfSkpfWZ1bmN0aW9uIEoodCxhLGkpe3ZhciBlPWEud2lkdGgtYS5hcmVhWzFdLWEuYXJlYVszXSxuPWEuZW5hYmxlU2Nyb2xsP01hdGgubWluKGEueEF4aXMuaXRlbUNvdW50LHQubGVuZ3RoKTp0Lmxlbmd0aDsoImxpbmUiPT1hLnR5cGV8fCJhcmVhIj09YS50eXBlfHwic2NhdHRlciI9PWEudHlwZXx8ImJ1YmJsZSI9PWEudHlwZXx8ImJhciI9PWEudHlwZSkmJm4+MSYmImp1c3RpZnkiPT1hLnhBeGlzLmJvdW5kYXJ5R2FwJiYobi09MSk7dmFyIHI9ZS9uLG89W10sZD1hLmFyZWFbM10scD1hLndpZHRoLWEuYXJlYVsxXTtyZXR1cm4gdC5mb3JFYWNoKChmdW5jdGlvbih0LGEpe28ucHVzaChkK2Eqcil9KSksImp1c3RpZnkiIT09YS54QXhpcy5ib3VuZGFyeUdhcCYmKCEwPT09YS5lbmFibGVTY3JvbGw/by5wdXNoKGQrdC5sZW5ndGgqcik6by5wdXNoKHApKSx7eEF4aXNQb2ludHM6byxzdGFydFg6ZCxlbmRYOnAsZWFjaFNwYWNpbmc6cn19ZnVuY3Rpb24gSCh0LGEsaSxlLG4scixvKXt2YXIgZD1hcmd1bWVudHMubGVuZ3RoPjcmJnZvaWQgMCE9PWFyZ3VtZW50c1s3XT9hcmd1bWVudHNbN106MSxwPVtdLGM9ci5oZWlnaHQtci5hcmVhWzBdLXIuYXJlYVsyXTtyZXR1cm4gdC5mb3JFYWNoKChmdW5jdGlvbih0LG8pe2lmKG51bGw9PT10KXAucHVzaChudWxsKTtlbHNle3ZhciBzPVtdO3QuZm9yRWFjaCgoZnVuY3Rpb24odCxwKXt2YXIgbD17fTtsLng9ZVtvXStNYXRoLnJvdW5kKG4vMik7dmFyIG09dC52YWx1ZXx8dCxmPWMqKG0tYSkvKGktYSk7Zio9ZCxsLnk9ci5oZWlnaHQtTWF0aC5yb3VuZChmKS1yLmFyZWFbMl0scy5wdXNoKGwpfSkpLHAucHVzaChzKX19KSkscH1mdW5jdGlvbiBYKHQsYSxpLGUsbixvLGQpe3ZhciBwPWFyZ3VtZW50cy5sZW5ndGg+NyYmdm9pZCAwIT09YXJndW1lbnRzWzddP2FyZ3VtZW50c1s3XToxLGM9ImNlbnRlciI7ImxpbmUiIT1vLnR5cGUmJiJhcmVhIiE9by50eXBlJiYic2NhdHRlciIhPW8udHlwZSYmImJ1YmJsZSIhPW8udHlwZXx8KGM9by54QXhpcy5ib3VuZGFyeUdhcCk7dmFyIHM9W10sbD1vLmhlaWdodC1vLmFyZWFbMF0tby5hcmVhWzJdLG09by53aWR0aC1vLmFyZWFbMV0tby5hcmVhWzNdO3JldHVybiB0LmZvckVhY2goKGZ1bmN0aW9uKHQsZCl7aWYobnVsbD09PXQpcy5wdXNoKG51bGwpO2Vsc2V7dmFyIGY9e307Zi5jb2xvcj10LmNvbG9yLGYueD1lW2RdO3ZhciBnLHUsaCx2PXQ7aWYoIm9iamVjdCI9PT0oMCxyLmRlZmF1bHQpKHQpJiZudWxsIT09dClpZih0LmNvbnN0cnVjdG9yLnRvU3RyaW5nKCkuaW5kZXhPZigiQXJyYXkiKT4tMSlnPVtdLmNvbmNhdChvLmNoYXJ0RGF0YS54QXhpc0RhdGEucmFuZ2VzKSx1PWcuc2hpZnQoKSxoPWcucG9wKCksdj10WzFdLGYueD1vLmFyZWFbM10rbSoodFswXS11KS8oaC11KSwiYnViYmxlIj09by50eXBlJiYoZi5yPXRbMl0sZi50PXRbM10pO2Vsc2Ugdj10LnZhbHVlOyJjZW50ZXIiPT1jJiYoZi54Kz1uLzIpO3ZhciBiPWwqKHYtYSkvKGktYSk7Yio9cCxmLnk9by5oZWlnaHQtYi1vLmFyZWFbMl0scy5wdXNoKGYpfX0pKSxzfWZ1bmN0aW9uIHEodCxhLGksZSxuLG8sZCl7dmFyIHA9YXJndW1lbnRzLmxlbmd0aD43JiZ2b2lkIDAhPT1hcmd1bWVudHNbN10/YXJndW1lbnRzWzddOjEsYz1bXSxzPShvLmhlaWdodCxvLmFyZWFbMF0sby5hcmVhWzJdLG8ud2lkdGgtby5hcmVhWzFdLW8uYXJlYVszXSk7cmV0dXJuIHQuZm9yRWFjaCgoZnVuY3Rpb24odCxuKXtpZihudWxsPT09dCljLnB1c2gobnVsbCk7ZWxzZXt2YXIgZD17fTtkLmNvbG9yPXQuY29sb3IsZC55PWVbbl07dmFyIGw9dDsib2JqZWN0Ij09PSgwLHIuZGVmYXVsdCkodCkmJm51bGwhPT10JiYobD10LnZhbHVlKTt2YXIgbT1zKihsLWEpLyhpLWEpO20qPXAsZC5oZWlnaHQ9bSxkLnZhbHVlPWwsZC54PW0rby5hcmVhWzNdLGMucHVzaChkKX19KSksY31mdW5jdGlvbiBWKHQsYSxpLGUsbixyLG8sZCxwKXt2YXIgYz1hcmd1bWVudHMubGVuZ3RoPjkmJnZvaWQgMCE9PWFyZ3VtZW50c1s5XT9hcmd1bWVudHNbOV06MSxzPVtdLGw9ci5oZWlnaHQtci5hcmVhWzBdLXIuYXJlYVsyXTtyZXR1cm4gdC5mb3JFYWNoKChmdW5jdGlvbih0LG8pe2lmKG51bGw9PT10KXMucHVzaChudWxsKTtlbHNle3ZhciBtPXt9O2lmKG0uY29sb3I9dC5jb2xvcixtLng9ZVtvXStNYXRoLnJvdW5kKG4vMiksZD4wKXtmb3IodmFyIGY9MCxnPTA7Zzw9ZDtnKyspZis9cFtnXS5kYXRhW29dO3ZhciB1PWYtdCxoPWwqKGYtYSkvKGktYSksdj1sKih1LWEpLyhpLWEpfWVsc2UgZj10LGg9bCooZi1hKS8oaS1hKSx2PTA7dmFyIGI9djtoKj1jLGIqPWMsbS55PXIuaGVpZ2h0LU1hdGgucm91bmQoaCktci5hcmVhWzJdLG0ueTA9ci5oZWlnaHQtTWF0aC5yb3VuZChiKS1yLmFyZWFbMl0scy5wdXNoKG0pfX0pKSxzfWZ1bmN0aW9uIEsodCxhLGksZSxuLHIsbyxkLHApe3ZhciBjPWFyZ3VtZW50cy5sZW5ndGg+OSYmdm9pZCAwIT09YXJndW1lbnRzWzldP2FyZ3VtZW50c1s5XToxLHM9W10sbD1yLndpZHRoLXIuYXJlYVsxXS1yLmFyZWFbM107cmV0dXJuIHQuZm9yRWFjaCgoZnVuY3Rpb24odCxuKXtpZihudWxsPT09dClzLnB1c2gobnVsbCk7ZWxzZXt2YXIgbz17fTtpZihvLmNvbG9yPXQuY29sb3Isby55PWVbbl0sZD4wKXtmb3IodmFyIG09MCxmPTA7Zjw9ZDtmKyspbSs9cFtmXS5kYXRhW25dO3ZhciBnPW0tdCx1PWwqKG0tYSkvKGktYSksaD1sKihnLWEpLyhpLWEpfWVsc2UgbT10LHU9bCoobS1hKS8oaS1hKSxoPTA7dmFyIHY9aDt1Kj1jLHYqPWMsby5oZWlnaHQ9dS12LG8ueD1yLmFyZWFbM10rdSxvLngwPXIuYXJlYVszXSt2LHMucHVzaChvKX19KSksc31mdW5jdGlvbiAkKHQsYSxpLGUsbil7dmFyIG87bz0ic3RhY2siPT1lP0EodCxhLmNhdGVnb3JpZXMubGVuZ3RoKTp5KHQpO3ZhciBkPVtdO289by5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybiJvYmplY3QiPT09KDAsci5kZWZhdWx0KSh0KSYmbnVsbCE9PXQ/dC5jb25zdHJ1Y3Rvci50b1N0cmluZygpLmluZGV4T2YoIkFycmF5Iik+LTE/bnVsbCE9PXQ6bnVsbCE9PXQudmFsdWU6bnVsbCE9PXR9KSksby5tYXAoKGZ1bmN0aW9uKHQpeyJvYmplY3QiPT09KDAsci5kZWZhdWx0KSh0KT90LmNvbnN0cnVjdG9yLnRvU3RyaW5nKCkuaW5kZXhPZigiQXJyYXkiKT4tMT8iY2FuZGxlIj09YS50eXBlP3QubWFwKChmdW5jdGlvbih0KXtkLnB1c2godCl9KSk6ZC5wdXNoKHRbMV0pOmQucHVzaCh0LnZhbHVlKTpkLnB1c2godCl9KSk7dmFyIHA9bi5taW58fDAsYz1uLm1heHx8MDtpZihkLmxlbmd0aD4wJiYocD1NYXRoLm1pbi5hcHBseSh0aGlzLGQpLGM9TWF0aC5tYXguYXBwbHkodGhpcyxkKSkscD09PWMpe3ZhciBzPWN8fDEwO2MrPXN9Zm9yKHZhciBsPWIocCxjKSxtPXZvaWQgMD09PW4ubWlufHxudWxsPT09bi5taW4/bC5taW5SYW5nZTpuLm1pbixmPXZvaWQgMD09PW4ubWF4fHxudWxsPT09bi5taW4/bC5tYXhSYW5nZTpuLm1heCxnPVtdLHU9KGYtbSkvYS55QXhpcy5zcGxpdE51bWJlcixoPTA7aDw9YS55QXhpcy5zcGxpdE51bWJlcjtoKyspZy5wdXNoKG0rdSpoKTtyZXR1cm4gZy5yZXZlcnNlKCl9ZnVuY3Rpb24gdHQodCxhLGksZSl7dmFyIG49ZCh7fSx7dHlwZToiIn0sYS5leHRyYS5jb2x1bW4pLHI9YS55QXhpcy5kYXRhLmxlbmd0aCxvPW5ldyBBcnJheShyKTtpZihyPjApe2Zvcih2YXIgcD0wO3A8cjtwKyspe29bcF09W107Zm9yKHZhciBjPTA7Yzx0Lmxlbmd0aDtjKyspdFtjXS5pbmRleD09cCYmb1twXS5wdXNoKHRbY10pfWZvcih2YXIgcz1uZXcgQXJyYXkociksbD1uZXcgQXJyYXkociksbT1uZXcgQXJyYXkociksZj1mdW5jdGlvbih0KXt2YXIgcj1hLnlBeGlzLmRhdGFbdF07MT09YS55QXhpcy5kaXNhYmxlZCYmKHIuZGlzYWJsZWQ9ITApLCJjYXRlZ29yaWVzIj09PXIudHlwZT8oci5mb3JtYXR0ZXJ8fChyLmZvcm1hdHRlcj1mdW5jdGlvbih0KXtyZXR1cm4gdCsoci51bml0fHwiIil9KSxyLmNhdGVnb3JpZXM9ci5jYXRlZ29yaWVzfHxhLmNhdGVnb3JpZXMsc1t0XT1yLmNhdGVnb3JpZXMpOihyLmZvcm1hdHRlcnx8KHIuZm9ybWF0dGVyPWZ1bmN0aW9uKHQpe3JldHVybiB0LnRvRml4ZWQoci50b2ZpeCkrKHIudW5pdHx8IiIpfSksc1t0XT0kKG9bdF0sYSxpLG4udHlwZSxyLHQpKTt2YXIgZD1yLmZvbnRTaXplKmEucGl4fHxpLmZvbnRTaXplO21bdF09e3Bvc2l0aW9uOnIucG9zaXRpb24/ci5wb3NpdGlvbjoibGVmdCIsd2lkdGg6MH0sbFt0XT1zW3RdLm1hcCgoZnVuY3Rpb24oYSl7cmV0dXJuIGE9ci5mb3JtYXR0ZXIoYSksbVt0XS53aWR0aD1NYXRoLm1heChtW3RdLndpZHRoLHgoYSxkLGUpKzUpLGF9KSk7dmFyIHA9ci5jYWxpYnJhdGlvbj80KmEucGl4OjA7bVt0XS53aWR0aCs9cCszKmEucGl4LCEwPT09ci5kaXNhYmxlZCYmKG1bdF0ud2lkdGg9MCl9LGc9MDtnPHI7ZysrKWYoZyl9ZWxzZXtzPW5ldyBBcnJheSgxKSxsPW5ldyBBcnJheSgxKSxtPW5ldyBBcnJheSgxKTsiYmFyIj09PWEudHlwZT8oc1swXT1hLmNhdGVnb3JpZXMsYS55QXhpcy5mb3JtYXR0ZXJ8fChhLnlBeGlzLmZvcm1hdHRlcj1mdW5jdGlvbih0KXtyZXR1cm4gdCsoYS55QXhpcy51bml0fHwiIil9KSk6KGEueUF4aXMuZm9ybWF0dGVyfHwoYS55QXhpcy5mb3JtYXR0ZXI9ZnVuY3Rpb24odCl7cmV0dXJuIHQudG9GaXhlZChhLnlBeGlzLnRvZml4KSsoYS55QXhpcy51bml0fHwiIil9KSxzWzBdPSQodCxhLGksbi50eXBlLHt9KSksbVswXT17cG9zaXRpb246ImxlZnQiLHdpZHRoOjB9O3ZhciB1PWEueUF4aXMuZm9udFNpemUqYS5waXh8fGkuZm9udFNpemU7bFswXT1zWzBdLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIHQ9YS55QXhpcy5mb3JtYXR0ZXIodCksbVswXS53aWR0aD1NYXRoLm1heChtWzBdLndpZHRoLHgodCx1LGUpKzUpLHR9KSksbVswXS53aWR0aCs9MyphLnBpeCwhMD09PWEueUF4aXMuZGlzYWJsZWQ/KG1bMF09e3Bvc2l0aW9uOiJsZWZ0Iix3aWR0aDowfSxhLnlBeGlzLmRhdGFbMF09e2Rpc2FibGVkOiEwfSk6KGEueUF4aXMuZGF0YVswXT17ZGlzYWJsZWQ6ITEscG9zaXRpb246ImxlZnQiLG1heDphLnlBeGlzLm1heCxtaW46YS55QXhpcy5taW4sZm9ybWF0dGVyOmEueUF4aXMuZm9ybWF0dGVyfSwiYmFyIj09PWEudHlwZSYmKGEueUF4aXMuZGF0YVswXS5jYXRlZ29yaWVzPWEuY2F0ZWdvcmllcyxhLnlBeGlzLmRhdGFbMF0udHlwZT0iY2F0ZWdvcmllcyIpKX1yZXR1cm57cmFuZ2VzRm9ybWF0OmwscmFuZ2VzOnMseUF4aXNXaWR0aDptfX1mdW5jdGlvbiBhdCh0LGEpeyEwIT09YS5yb3RhdGVMb2NrPyh0LnRyYW5zbGF0ZShhLmhlaWdodCwwKSx0LnJvdGF0ZSg5MCpNYXRoLlBJLzE4MCkpOiEwIT09YS5fcm90YXRlXyYmKHQudHJhbnNsYXRlKGEuaGVpZ2h0LDApLHQucm90YXRlKDkwKk1hdGguUEkvMTgwKSxhLl9yb3RhdGVfPSEwKX1mdW5jdGlvbiBpdCh0LGEsaSxlLG4pe2lmKGUuYmVnaW5QYXRoKCksImhvbGxvdyI9PW4uZGF0YVBvaW50U2hhcGVUeXBlPyhlLnNldFN0cm9rZVN0eWxlKGEpLGUuc2V0RmlsbFN0eWxlKG4uYmFja2dyb3VuZCksZS5zZXRMaW5lV2lkdGgoMipuLnBpeCkpOihlLnNldFN0cm9rZVN0eWxlKCIjZmZmZmZmIiksZS5zZXRGaWxsU3R5bGUoYSksZS5zZXRMaW5lV2lkdGgoMSpuLnBpeCkpLCJkaWFtb25kIj09PWkpdC5mb3JFYWNoKChmdW5jdGlvbih0LGEpe251bGwhPT10JiYoZS5tb3ZlVG8odC54LHQueS00LjUpLGUubGluZVRvKHQueC00LjUsdC55KSxlLmxpbmVUbyh0LngsdC55KzQuNSksZS5saW5lVG8odC54KzQuNSx0LnkpLGUubGluZVRvKHQueCx0LnktNC41KSl9KSk7ZWxzZSBpZigiY2lyY2xlIj09PWkpdC5mb3JFYWNoKChmdW5jdGlvbih0LGEpe251bGwhPT10JiYoZS5tb3ZlVG8odC54KzIuNSpuLnBpeCx0LnkpLGUuYXJjKHQueCx0LnksMypuLnBpeCwwLDIqTWF0aC5QSSwhMSkpfSkpO2Vsc2UgaWYoInNxdWFyZSI9PT1pKXQuZm9yRWFjaCgoZnVuY3Rpb24odCxhKXtudWxsIT09dCYmKGUubW92ZVRvKHQueC0zLjUsdC55LTMuNSksZS5yZWN0KHQueC0zLjUsdC55LTMuNSw3LDcpKX0pKTtlbHNlIGlmKCJ0cmlhbmdsZSI9PT1pKXQuZm9yRWFjaCgoZnVuY3Rpb24odCxhKXtudWxsIT09dCYmKGUubW92ZVRvKHQueCx0LnktNC41KSxlLmxpbmVUbyh0LngtNC41LHQueSs0LjUpLGUubGluZVRvKHQueCs0LjUsdC55KzQuNSksZS5saW5lVG8odC54LHQueS00LjUpKX0pKTtlbHNlIGlmKCJ0cmlhbmdsZSI9PT1pKXJldHVybjtlLmNsb3NlUGF0aCgpLGUuZmlsbCgpLGUuc3Ryb2tlKCl9ZnVuY3Rpb24gZXQodCxhLGksZSl7dmFyIG49dC50aXRsZS5mb250U2l6ZXx8YS50aXRsZUZvbnRTaXplLHI9dC5zdWJ0aXRsZS5mb250U2l6ZXx8YS5zdWJ0aXRsZUZvbnRTaXplLG89dC50aXRsZS5uYW1lfHwiIixkPXQuc3VidGl0bGUubmFtZXx8IiIscD10LnRpdGxlLmNvbG9yfHx0LmZvbnRDb2xvcixjPXQuc3VidGl0bGUuY29sb3J8fHQuZm9udENvbG9yLHM9bz9uOjAsbD1kP3I6MDtpZihkKXt2YXIgbT14KGQscip0LnBpeCxpKSxmPWUueC1tLzIrKHQuc3VidGl0bGUub2Zmc2V0WHx8MCkqdC5waXgsZz1lLnkrcip0LnBpeC8yKyh0LnN1YnRpdGxlLm9mZnNldFl8fDApKnQucGl4O28mJihnKz0ocyp0LnBpeCs1KS8yKSxpLmJlZ2luUGF0aCgpLGkuc2V0Rm9udFNpemUocip0LnBpeCksaS5zZXRGaWxsU3R5bGUoYyksaS5maWxsVGV4dChkLGYsZyksaS5jbG9zZVBhdGgoKSxpLnN0cm9rZSgpfWlmKG8pe3ZhciB1PXgobyxuKnQucGl4LGkpLGg9ZS54LXUvMisodC50aXRsZS5vZmZzZXRYfHwwKSx2PWUueStuKnQucGl4LzIrKHQudGl0bGUub2Zmc2V0WXx8MCkqdC5waXg7ZCYmKHYtPShsKnQucGl4KzUpLzIpLGkuYmVnaW5QYXRoKCksaS5zZXRGb250U2l6ZShuKnQucGl4KSxpLnNldEZpbGxTdHlsZShwKSxpLmZpbGxUZXh0KG8saCx2KSxpLmNsb3NlUGF0aCgpLGkuc3Ryb2tlKCl9fWZ1bmN0aW9uIG50KHQsYSxpLGUsbil7dmFyIG89YS5kYXRhLGQ9YS50ZXh0T2Zmc2V0P2EudGV4dE9mZnNldDowO3QuZm9yRWFjaCgoZnVuY3Rpb24odCxwKXtpZihudWxsIT09dCl7ZS5iZWdpblBhdGgoKTt2YXIgYz1hLnRleHRTaXplP2EudGV4dFNpemUqbi5waXg6aS5mb250U2l6ZTtlLnNldEZvbnRTaXplKGMpLGUuc2V0RmlsbFN0eWxlKGEudGV4dENvbG9yfHxuLmZvbnRDb2xvcik7dmFyIHM9b1twXTsib2JqZWN0Ij09PSgwLHIuZGVmYXVsdCkob1twXSkmJm51bGwhPT1vW3BdJiYocz1vW3BdLmNvbnN0cnVjdG9yLnRvU3RyaW5nKCkuaW5kZXhPZigiQXJyYXkiKT4tMT9vW3BdWzFdOm9bcF0udmFsdWUpO3ZhciBsPWEuZm9ybWF0dGVyP2EuZm9ybWF0dGVyKHMscCk6cztlLnNldFRleHRBbGlnbigiY2VudGVyIiksZS5maWxsVGV4dChTdHJpbmcobCksdC54LHQueS00K2Qqbi5waXgpLGUuY2xvc2VQYXRoKCksZS5zdHJva2UoKSxlLnNldFRleHRBbGlnbigibGVmdCIpfX0pKX1mdW5jdGlvbiBydCh0LGEsaSxlLG4pe3ZhciBvPWEuZGF0YTthLnRleHRPZmZzZXQmJmEudGV4dE9mZnNldDt0LmZvckVhY2goKGZ1bmN0aW9uKHQsZCl7aWYobnVsbCE9PXQpe2UuYmVnaW5QYXRoKCk7dmFyIHA9YS50ZXh0U2l6ZT9hLnRleHRTaXplKm4ucGl4OmkuZm9udFNpemU7ZS5zZXRGb250U2l6ZShwKSxlLnNldEZpbGxTdHlsZShhLnRleHRDb2xvcnx8bi5mb250Q29sb3IpO3ZhciBjPW9bZF07Im9iamVjdCI9PT0oMCxyLmRlZmF1bHQpKG9bZF0pJiZudWxsIT09b1tkXSYmKGM9b1tkXS52YWx1ZSk7dmFyIHM9YS5mb3JtYXR0ZXI/YS5mb3JtYXR0ZXIoYyxkKTpjO2Uuc2V0VGV4dEFsaWduKCJsZWZ0IiksZS5maWxsVGV4dChTdHJpbmcocyksdC54KzQqbi5waXgsdC55K3AvMi0zKSxlLmNsb3NlUGF0aCgpLGUuc3Ryb2tlKCl9fSkpfWZ1bmN0aW9uIG90KHQsYSxpLGUsbixyKXthLT10LndpZHRoLzIrdC5sYWJlbE9mZnNldCplLnBpeDtmb3IodmFyIG89dC5zdGFydEFuZ2xlLXQuZW5kQW5nbGUrMSxkPW8vdC5zcGxpdExpbmUuc3BsaXROdW1iZXIscD10LmVuZE51bWJlci10LnN0YXJ0TnVtYmVyLGM9cC90LnNwbGl0TGluZS5zcGxpdE51bWJlcixzPXQuc3RhcnRBbmdsZSxsPXQuc3RhcnROdW1iZXIsbT0wO208dC5zcGxpdExpbmUuc3BsaXROdW1iZXIrMTttKyspe3ZhciBmPXt4OmEqTWF0aC5jb3MocypNYXRoLlBJKSx5OmEqTWF0aC5zaW4ocypNYXRoLlBJKX0sZz10LmZvcm1hdHRlcj90LmZvcm1hdHRlcihsKTpsO2YueCs9aS54LXgoZyxuLmZvbnRTaXplLHIpLzIsZi55Kz1pLnk7dmFyIHU9Zi54LGg9Zi55O3IuYmVnaW5QYXRoKCksci5zZXRGb250U2l6ZShuLmZvbnRTaXplKSxyLnNldEZpbGxTdHlsZSh0LmxhYmVsQ29sb3J8fGUuZm9udENvbG9yKSxyLmZpbGxUZXh0KGcsdSxoK24uZm9udFNpemUvMiksci5jbG9zZVBhdGgoKSxyLnN0cm9rZSgpLHMrPWQscz49MiYmKHMlPTIpLGwrPWN9fWZ1bmN0aW9uIGR0KHQsYSxpLGUsbixyKXt2YXIgbz1lLmV4dHJhLnJhZGFyfHx7fTthKz1uLnJhZGFyTGFiZWxUZXh0TWFyZ2luKmUucGl4LHQuZm9yRWFjaCgoZnVuY3Rpb24odCxkKXt2YXIgYz17eDphKk1hdGguY29zKHQpLHk6YSpNYXRoLnNpbih0KX0scz1nKGMueCxjLnksaSksbD1zLngsbT1zLnk7cC5hcHByb3hpbWF0ZWx5RXF1YWwoYy54LDApP2wtPXgoZS5jYXRlZ29yaWVzW2RdfHwiIixuLmZvbnRTaXplLHIpLzI6Yy54PDAmJihsLT14KGUuY2F0ZWdvcmllc1tkXXx8IiIsbi5mb250U2l6ZSxyKSksci5iZWdpblBhdGgoKSxyLnNldEZvbnRTaXplKG4uZm9udFNpemUpLHIuc2V0RmlsbFN0eWxlKG8ubGFiZWxDb2xvcnx8ZS5mb250Q29sb3IpLHIuZmlsbFRleHQoZS5jYXRlZ29yaWVzW2RdfHwiIixsLG0rbi5mb250U2l6ZS8yKSxyLmNsb3NlUGF0aCgpLHIuc3Ryb2tlKCl9KSl9ZnVuY3Rpb24gcHQodCxhLGksZSxuLHIpe2Zvcih2YXIgbz1pLnBpZUNoYXJ0TGluZVBhZGRpbmcsZD1bXSxjPW51bGwscz10Lm1hcCgoZnVuY3Rpb24odCxhLGkpe3ZhciBlPXQuZm9ybWF0dGVyP3QuZm9ybWF0dGVyKHQsYSxpKTpwLnRvRml4ZWQoMTAwKnQuX3Byb3BvcnRpb25fLnRvRml4ZWQoNCkpKyIlIixuPTIqTWF0aC5QSS0odC5fc3RhcnRfKzIqTWF0aC5QSSp0Ll9wcm9wb3J0aW9uXy8yKTt0Ll9yb3NlX3Byb3BvcnRpb25fJiYobj0yKk1hdGguUEktKHQuX3N0YXJ0XysyKk1hdGguUEkqdC5fcm9zZV9wcm9wb3J0aW9uXy8yKSk7dmFyIHI9dC5jb2xvcixvPXQuX3JhZGl1c187cmV0dXJue2FyYzpuLHRleHQ6ZSxjb2xvcjpyLHJhZGl1czpvLHRleHRDb2xvcjp0LnRleHRDb2xvcix0ZXh0U2l6ZTp0LnRleHRTaXplfX0pKSxsPTA7bDxzLmxlbmd0aDtsKyspe3ZhciBtPXNbbF0sZj1NYXRoLmNvcyhtLmFyYykqKG0ucmFkaXVzK28pLGg9TWF0aC5zaW4obS5hcmMpKihtLnJhZGl1cytvKSx2PU1hdGguY29zKG0uYXJjKSptLnJhZGl1cyxiPU1hdGguc2luKG0uYXJjKSptLnJhZGl1cyx5PWY+PTA/ZitpLnBpZUNoYXJ0VGV4dFBhZGRpbmc6Zi1pLnBpZUNoYXJ0VGV4dFBhZGRpbmcsQT1oLHc9eChtLnRleHQsbS50ZXh0U2l6ZSphLnBpeHx8aS5mb250U2l6ZSxlKSxrPUE7YyYmcC5pc1NhbWVYQ29vcmRpbmF0ZUFyZWEoYy5zdGFydCx7eDp5fSkmJihrPXk+MD9NYXRoLm1pbihBLGMuc3RhcnQueSk6ZjwwfHxBPjA/TWF0aC5tYXgoQSxjLnN0YXJ0LnkpOk1hdGgubWluKEEsYy5zdGFydC55KSkseTwwJiYoeS09dyk7dmFyIFM9e2xpbmVTdGFydDp7eDp2LHk6Yn0sbGluZUVuZDp7eDpmLHk6aH0sc3RhcnQ6e3g6eSx5Omt9LHdpZHRoOncsaGVpZ2h0OmkuZm9udFNpemUsdGV4dDptLnRleHQsY29sb3I6bS5jb2xvcix0ZXh0Q29sb3I6bS50ZXh0Q29sb3IsdGV4dFNpemU6bS50ZXh0U2l6ZX07Yz11KFMsYyksZC5wdXNoKGMpfWZvcih2YXIgVD0wO1Q8ZC5sZW5ndGg7VCsrKXt2YXIgQz1kW1RdLFA9ZyhDLmxpbmVTdGFydC54LEMubGluZVN0YXJ0Lnksciksej1nKEMubGluZUVuZC54LEMubGluZUVuZC55LHIpLEk9ZyhDLnN0YXJ0LngsQy5zdGFydC55LHIpO2Uuc2V0TGluZVdpZHRoKDEqYS5waXgpLGUuc2V0Rm9udFNpemUoQy50ZXh0U2l6ZSphLnBpeHx8aS5mb250U2l6ZSksZS5iZWdpblBhdGgoKSxlLnNldFN0cm9rZVN0eWxlKEMuY29sb3IpLGUuc2V0RmlsbFN0eWxlKEMuY29sb3IpLGUubW92ZVRvKFAueCxQLnkpO3ZhciBEPUMuc3RhcnQueDwwP0kueCtDLndpZHRoOkkueCxNPUMuc3RhcnQueDwwP0kueC01OkkueCs1O2UucXVhZHJhdGljQ3VydmVUbyh6Lngsei55LEQsSS55KSxlLm1vdmVUbyhQLngsUC55KSxlLnN0cm9rZSgpLGUuY2xvc2VQYXRoKCksZS5iZWdpblBhdGgoKSxlLm1vdmVUbyhJLngrQy53aWR0aCxJLnkpLGUuYXJjKEQsSS55LDIsMCwyKk1hdGguUEkpLGUuY2xvc2VQYXRoKCksZS5maWxsKCksZS5iZWdpblBhdGgoKSxlLnNldEZvbnRTaXplKEMudGV4dFNpemUqYS5waXh8fGkuZm9udFNpemUpLGUuc2V0RmlsbFN0eWxlKEMudGV4dENvbG9yfHxhLmZvbnRDb2xvciksZS5maWxsVGV4dChDLnRleHQsTSxJLnkrMyksZS5jbG9zZVBhdGgoKSxlLnN0cm9rZSgpLGUuY2xvc2VQYXRoKCl9fWZ1bmN0aW9uIGN0KHQsYSxpKXtmb3IodmFyIGU9ZCh7fSx7dHlwZToic29saWQiLGRhc2hMZW5ndGg6NCxkYXRhOltdfSx0LmV4dHJhLm1hcmtMaW5lKSxuPXQuYXJlYVszXSxyPXQud2lkdGgtdC5hcmVhWzFdLG89ZnVuY3Rpb24odCxhKXtmb3IodmFyIGksZSxuPWEuaGVpZ2h0LWEuYXJlYVswXS1hLmFyZWFbMl0scj0wO3I8dC5sZW5ndGg7cisrKXt0W3JdLnlBeGlzSW5kZXg9dFtyXS55QXhpc0luZGV4P3Rbcl0ueUF4aXNJbmRleDowO3ZhciBvPVtdLmNvbmNhdChhLmNoYXJ0RGF0YS55QXhpc0RhdGEucmFuZ2VzW3Rbcl0ueUF4aXNJbmRleF0pO2k9by5wb3AoKSxlPW8uc2hpZnQoKTt2YXIgZD1uKih0W3JdLnZhbHVlLWkpLyhlLWkpO3Rbcl0ueT1hLmhlaWdodC1NYXRoLnJvdW5kKGQpLWEuYXJlYVsyXX1yZXR1cm4gdH0oZS5kYXRhLHQpLHA9MDtwPG8ubGVuZ3RoO3ArKyl7dmFyIGM9ZCh7fSx7bGluZUNvbG9yOiIjREU0QTQyIixzaG93TGFiZWw6ITEsbGFiZWxGb250Q29sb3I6IiM2NjY2NjYiLGxhYmVsQmdDb2xvcjoiI0RGRThGRiIsbGFiZWxCZ09wYWNpdHk6LjgseUF4aXNJbmRleDowfSxvW3BdKTtpZigiZGFzaCI9PWUudHlwZSYmaS5zZXRMaW5lRGFzaChbZS5kYXNoTGVuZ3RoLGUuZGFzaExlbmd0aF0pLGkuc2V0U3Ryb2tlU3R5bGUoYy5saW5lQ29sb3IpLGkuc2V0TGluZVdpZHRoKDEqdC5waXgpLGkuYmVnaW5QYXRoKCksaS5tb3ZlVG8obixjLnkpLGkubGluZVRvKHIsYy55KSxpLnN0cm9rZSgpLGkuc2V0TGluZURhc2goW10pLGMuc2hvd0xhYmVsKXt2YXIgbD10LnlBeGlzLmZvcm1hdHRlcj90LnlBeGlzLmZvcm1hdHRlcihjLnZhbHVlKTpjLnZhbHVlO2kuc2V0Rm9udFNpemUoYS5mb250U2l6ZSk7dmFyIG09eChsLGEuZm9udFNpemUsaSksZj0odC5jaGFydERhdGEueUF4aXNEYXRhLnlBeGlzV2lkdGhbMF0ud2lkdGgsdC5hcmVhWzNdLW0tMiphLnRvb2xUaXBQYWRkaW5nKSxnPXQuYXJlYVszXSx1PWctZixoPWctYS50b29sVGlwUGFkZGluZyx2PWMueTtpLnNldEZpbGxTdHlsZShzKGMubGFiZWxCZ0NvbG9yLGMubGFiZWxCZ09wYWNpdHkpKSxpLnNldFN0cm9rZVN0eWxlKGMubGFiZWxCZ0NvbG9yKSxpLnNldExpbmVXaWR0aCgxKnQucGl4KSxpLmJlZ2luUGF0aCgpLGkucmVjdChmLHYtLjUqYS5mb250U2l6ZS1hLnRvb2xUaXBQYWRkaW5nLHUsYS5mb250U2l6ZSsyKmEudG9vbFRpcFBhZGRpbmcpLGkuY2xvc2VQYXRoKCksaS5zdHJva2UoKSxpLmZpbGwoKSxpLnNldEZvbnRTaXplKGEuZm9udFNpemUpLGkuc2V0VGV4dEFsaWduKCJyaWdodCIpLGkuc2V0RmlsbFN0eWxlKGMubGFiZWxGb250Q29sb3IpLGkuZmlsbFRleHQoU3RyaW5nKGwpLGgsdisuNSphLmZvbnRTaXplKSxpLnN0cm9rZSgpLGkuc2V0VGV4dEFsaWduKCJsZWZ0Iil9fX1mdW5jdGlvbiBzdCh0LGEsaSxlLG4pe3ZhciByPWQoe30se2dyaWRUeXBlOiJzb2xpZCIsZGFzaExlbmd0aDo0fSx0LmV4dHJhLnRvb2x0aXApLG89dC5hcmVhWzNdLHA9dC53aWR0aC10LmFyZWFbMV07aWYoImRhc2giPT1yLmdyaWRUeXBlJiZpLnNldExpbmVEYXNoKFtyLmRhc2hMZW5ndGgsci5kYXNoTGVuZ3RoXSksaS5zZXRTdHJva2VTdHlsZShyLmdyaWRDb2xvcnx8IiNjY2NjY2MiKSxpLnNldExpbmVXaWR0aCgxKnQucGl4KSxpLmJlZ2luUGF0aCgpLGkubW92ZVRvKG8sdC50b29sdGlwLm9mZnNldC55KSxpLmxpbmVUbyhwLHQudG9vbHRpcC5vZmZzZXQueSksaS5zdHJva2UoKSxpLnNldExpbmVEYXNoKFtdKSxyLnlBeGlzTGFiZWwpZm9yKHZhciBjPWZ1bmN0aW9uKHQsYSxpLGUsbil7Zm9yKHZhciByPVtdLmNvbmNhdChpLmNoYXJ0RGF0YS55QXhpc0RhdGEucmFuZ2VzKSxvPWkuaGVpZ2h0LWkuYXJlYVswXS1pLmFyZWFbMl0sZD1pLmFyZWFbMF0scD1bXSxjPTA7YzxyLmxlbmd0aDtjKyspe3ZhciBzPXJbY10uc2hpZnQoKSxsPXJbY10ucG9wKCksbT1zLShzLWwpKih0LWQpL287bT1pLnlBeGlzLmRhdGFbY10uZm9ybWF0dGVyP2kueUF4aXMuZGF0YVtjXS5mb3JtYXR0ZXIobSk6bS50b0ZpeGVkKDApLHAucHVzaChTdHJpbmcobSkpfXJldHVybiBwfSh0LnRvb2x0aXAub2Zmc2V0LnksdC5zZXJpZXMsdCksbD10LmNoYXJ0RGF0YS55QXhpc0RhdGEueUF4aXNXaWR0aCxtPXQuYXJlYVszXSxmPXQud2lkdGgtdC5hcmVhWzFdLGc9MDtnPGMubGVuZ3RoO2crKyl7aS5zZXRGb250U2l6ZShhLmZvbnRTaXplKTt2YXIgdSxoPXgoY1tnXSxhLmZvbnRTaXplLGkpLHY9dm9pZCAwLGI9dm9pZCAwOyJsZWZ0Ij09bFtnXS5wb3NpdGlvbj8odj1tLWxbZ10ud2lkdGgsYj1NYXRoLm1heCh2LHYraCsyKmEudG9vbFRpcFBhZGRpbmcpKToodj1mLGI9TWF0aC5tYXgoditsW2ddLndpZHRoLHYraCsyKmEudG9vbFRpcFBhZGRpbmcpKSx1PWItdjt2YXIgeT12Kyh1LWgpLzIsQT10LnRvb2x0aXAub2Zmc2V0Lnk7aS5iZWdpblBhdGgoKSxpLnNldEZpbGxTdHlsZShzKHIubGFiZWxCZ0NvbG9yfHxhLnRvb2xUaXBCYWNrZ3JvdW5kLHIubGFiZWxCZ09wYWNpdHl8fGEudG9vbFRpcE9wYWNpdHkpKSxpLnNldFN0cm9rZVN0eWxlKHIubGFiZWxCZ0NvbG9yfHxhLnRvb2xUaXBCYWNrZ3JvdW5kKSxpLnNldExpbmVXaWR0aCgxKnQucGl4KSxpLnJlY3QodixBLS41KmEuZm9udFNpemUtYS50b29sVGlwUGFkZGluZyx1LGEuZm9udFNpemUrMiphLnRvb2xUaXBQYWRkaW5nKSxpLmNsb3NlUGF0aCgpLGkuc3Ryb2tlKCksaS5maWxsKCksaS5iZWdpblBhdGgoKSxpLnNldEZvbnRTaXplKGEuZm9udFNpemUpLGkuc2V0RmlsbFN0eWxlKHIubGFiZWxGb250Q29sb3J8fHQuZm9udENvbG9yKSxpLmZpbGxUZXh0KGNbZ10seSxBKy41KmEuZm9udFNpemUpLGkuY2xvc2VQYXRoKCksaS5zdHJva2UoKSwibGVmdCI9PWxbZ10ucG9zaXRpb24/bS09bFtnXS53aWR0aCt0LnlBeGlzLnBhZGRpbmcqdC5waXg6Zis9bFtnXS53aWR0aCt0LnlBeGlzLnBhZGRpbmcqdC5waXh9fWZ1bmN0aW9uIGx0KHQsYSxpLGUsbil7dmFyIHI9ZCh7fSx7YWN0aXZlQmdDb2xvcjoiIzAwMDAwMCIsYWN0aXZlQmdPcGFjaXR5Oi4wOH0sYS5leHRyYS5jb2x1bW4pLG89YS5hcmVhWzBdLHA9YS5oZWlnaHQtYS5hcmVhWzJdO2UuYmVnaW5QYXRoKCksZS5zZXRGaWxsU3R5bGUocyhyLmFjdGl2ZUJnQ29sb3Isci5hY3RpdmVCZ09wYWNpdHkpKSxlLnJlY3QodC1uLzIsbyxuLHAtbyksZS5jbG9zZVBhdGgoKSxlLmZpbGwoKSxlLnNldEZpbGxTdHlsZSgiI0ZGRkZGRiIpfWZ1bmN0aW9uIG10KHQsYSxpLGUsbil7dmFyIHI9ZCh7fSx7YWN0aXZlQmdDb2xvcjoiIzAwMDAwMCIsYWN0aXZlQmdPcGFjaXR5Oi4wOH0sYS5leHRyYS5iYXIpLG89YS5hcmVhWzNdLHA9YS53aWR0aC1hLmFyZWFbMV07ZS5iZWdpblBhdGgoKSxlLnNldEZpbGxTdHlsZShzKHIuYWN0aXZlQmdDb2xvcixyLmFjdGl2ZUJnT3BhY2l0eSkpLGUucmVjdChvLHQtbi8yLHAtbyxuKSxlLmNsb3NlUGF0aCgpLGUuZmlsbCgpLGUuc2V0RmlsbFN0eWxlKCIjRkZGRkZGIil9ZnVuY3Rpb24gZnQodCxhLGksZSxuLHIsbyl7dmFyIHA9ZCh7fSx7c2hvd0JveDohMCxzaG93QXJyb3c6ITAsc2hvd0NhdGVnb3J5OiExLGJnQ29sb3I6IiMwMDAwMDAiLGJnT3BhY2l0eTouNyxib3JkZXJDb2xvcjoiIzAwMDAwMCIsYm9yZGVyV2lkdGg6MCxib3JkZXJSYWRpdXM6MCxib3JkZXJPcGFjaXR5Oi43LGZvbnRDb2xvcjoiI0ZGRkZGRiIsc3BsaXRMaW5lOiEwfSxpLmV4dHJhLnRvb2x0aXApOzE9PXAuc2hvd0NhdGVnb3J5JiZpLmNhdGVnb3JpZXMmJnQudW5zaGlmdCh7dGV4dDppLmNhdGVnb3JpZXNbaS50b29sdGlwLmluZGV4XSxjb2xvcjpudWxsfSk7dmFyIGM9NCppLnBpeCxsPTUqaS5waXgsbT1wLnNob3dBcnJvdz84KmkucGl4OjAsZj0hMTsibGluZSIhPWkudHlwZSYmImFyZWEiIT1pLnR5cGUmJiJjYW5kbGUiIT1pLnR5cGUmJiJtaXgiIT1pLnR5cGV8fDE9PXAuc3BsaXRMaW5lJiZmdW5jdGlvbih0LGEsaSxlKXt2YXIgbj1hLmV4dHJhLnRvb2x0aXB8fHt9O24uZ3JpZFR5cGU9dm9pZCAwPT1uLmdyaWRUeXBlPyJzb2xpZCI6bi5ncmlkVHlwZSxuLmRhc2hMZW5ndGg9dm9pZCAwPT1uLmRhc2hMZW5ndGg/NDpuLmRhc2hMZW5ndGg7dmFyIHI9YS5hcmVhWzBdLG89YS5oZWlnaHQtYS5hcmVhWzJdO2lmKCJkYXNoIj09bi5ncmlkVHlwZSYmZS5zZXRMaW5lRGFzaChbbi5kYXNoTGVuZ3RoLG4uZGFzaExlbmd0aF0pLGUuc2V0U3Ryb2tlU3R5bGUobi5ncmlkQ29sb3J8fCIjY2NjY2NjIiksZS5zZXRMaW5lV2lkdGgoMSphLnBpeCksZS5iZWdpblBhdGgoKSxlLm1vdmVUbyh0LHIpLGUubGluZVRvKHQsbyksZS5zdHJva2UoKSxlLnNldExpbmVEYXNoKFtdKSxuLnhBeGlzTGFiZWwpe3ZhciBkPWEuY2F0ZWdvcmllc1thLnRvb2x0aXAuaW5kZXhdO2Uuc2V0Rm9udFNpemUoaS5mb250U2l6ZSk7dmFyIHA9eChkLGkuZm9udFNpemUsZSksYz10LS41KnAsbD1vO2UuYmVnaW5QYXRoKCksZS5zZXRGaWxsU3R5bGUocyhuLmxhYmVsQmdDb2xvcnx8aS50b29sVGlwQmFja2dyb3VuZCxuLmxhYmVsQmdPcGFjaXR5fHxpLnRvb2xUaXBPcGFjaXR5KSksZS5zZXRTdHJva2VTdHlsZShuLmxhYmVsQmdDb2xvcnx8aS50b29sVGlwQmFja2dyb3VuZCksZS5zZXRMaW5lV2lkdGgoMSphLnBpeCksZS5yZWN0KGMtaS50b29sVGlwUGFkZGluZyxsLHArMippLnRvb2xUaXBQYWRkaW5nLGkuZm9udFNpemUrMippLnRvb2xUaXBQYWRkaW5nKSxlLmNsb3NlUGF0aCgpLGUuc3Ryb2tlKCksZS5maWxsKCksZS5iZWdpblBhdGgoKSxlLnNldEZvbnRTaXplKGkuZm9udFNpemUpLGUuc2V0RmlsbFN0eWxlKG4ubGFiZWxGb250Q29sb3J8fGEuZm9udENvbG9yKSxlLmZpbGxUZXh0KFN0cmluZyhkKSxjLGwraS50b29sVGlwUGFkZGluZytpLmZvbnRTaXplKSxlLmNsb3NlUGF0aCgpLGUuc3Ryb2tlKCl9fShpLnRvb2x0aXAub2Zmc2V0LngsaSxlLG4pLGE9ZCh7eDowLHk6MH0sYSksYS55LT04KmkucGl4O3ZhciBnPXQubWFwKChmdW5jdGlvbih0KXtyZXR1cm4geCh0LnRleHQsZS5mb250U2l6ZSxuKX0pKSx1PWMrbCs0KmUudG9vbFRpcFBhZGRpbmcrTWF0aC5tYXguYXBwbHkobnVsbCxnKSxoPTIqZS50b29sVGlwUGFkZGluZyt0Lmxlbmd0aCplLnRvb2xUaXBMaW5lSGVpZ2h0O2lmKDAhPXAuc2hvd0JveCl7YS54LU1hdGguYWJzKGkuX3Njcm9sbERpc3RhbmNlX3x8MCkrbSt1Pmkud2lkdGgmJihmPSEwKSxoK2EueT5pLmhlaWdodCYmKGEueT1pLmhlaWdodC1oKSxuLmJlZ2luUGF0aCgpLG4uc2V0RmlsbFN0eWxlKHMocC5iZ0NvbG9yfHxlLnRvb2xUaXBCYWNrZ3JvdW5kLHAuYmdPcGFjaXR5fHxlLnRvb2xUaXBPcGFjaXR5KSksbi5zZXRMaW5lV2lkdGgocC5ib3JkZXJXaWR0aCppLnBpeCksbi5zZXRTdHJva2VTdHlsZShzKHAuYm9yZGVyQ29sb3IscC5ib3JkZXJPcGFjaXR5KSk7dmFyIHY9cC5ib3JkZXJSYWRpdXM7Zj8ocC5zaG93QXJyb3cmJihuLm1vdmVUbyhhLngsYS55KzEwKmkucGl4KSxuLmxpbmVUbyhhLngtbSxhLnkrMTAqaS5waXgrNSppLnBpeCkpLG4uYXJjKGEueC1tLXYsYS55K2gtdix2LDAsTWF0aC5QSS8yLCExKSxuLmFyYyhhLngtbS1NYXRoLnJvdW5kKHUpK3YsYS55K2gtdix2LE1hdGguUEkvMixNYXRoLlBJLCExKSxuLmFyYyhhLngtbS1NYXRoLnJvdW5kKHUpK3YsYS55K3YsdiwtTWF0aC5QSSwtTWF0aC5QSS8yLCExKSxuLmFyYyhhLngtbS12LGEueSt2LHYsLU1hdGguUEkvMiwwLCExKSxwLnNob3dBcnJvdyYmKG4ubGluZVRvKGEueC1tLGEueSsxMCppLnBpeC01KmkucGl4KSxuLmxpbmVUbyhhLngsYS55KzEwKmkucGl4KSkpOihwLnNob3dBcnJvdyYmKG4ubW92ZVRvKGEueCxhLnkrMTAqaS5waXgpLG4ubGluZVRvKGEueCttLGEueSsxMCppLnBpeC01KmkucGl4KSksbi5hcmMoYS54K20rdixhLnkrdix2LC1NYXRoLlBJLC1NYXRoLlBJLzIsITEpLG4uYXJjKGEueCttK01hdGgucm91bmQodSktdixhLnkrdix2LC1NYXRoLlBJLzIsMCwhMSksbi5hcmMoYS54K20rTWF0aC5yb3VuZCh1KS12LGEueStoLXYsdiwwLE1hdGguUEkvMiwhMSksbi5hcmMoYS54K20rdixhLnkraC12LHYsTWF0aC5QSS8yLE1hdGguUEksITEpLHAuc2hvd0Fycm93JiYobi5saW5lVG8oYS54K20sYS55KzEwKmkucGl4KzUqaS5waXgpLG4ubGluZVRvKGEueCxhLnkrMTAqaS5waXgpKSksbi5jbG9zZVBhdGgoKSxuLmZpbGwoKSxwLmJvcmRlcldpZHRoPjAmJm4uc3Ryb2tlKCksdC5mb3JFYWNoKChmdW5jdGlvbih0LGkpe2lmKG51bGwhPT10LmNvbG9yKXtuLmJlZ2luUGF0aCgpLG4uc2V0RmlsbFN0eWxlKHQuY29sb3IpO3ZhciByPWEueCttKzIqZS50b29sVGlwUGFkZGluZyxvPWEueSsoZS50b29sVGlwTGluZUhlaWdodC1lLmZvbnRTaXplKS8yK2UudG9vbFRpcExpbmVIZWlnaHQqaStlLnRvb2xUaXBQYWRkaW5nKzE7ZiYmKHI9YS54LXUtbSsyKmUudG9vbFRpcFBhZGRpbmcpLG4uZmlsbFJlY3QocixvLGMsZS5mb250U2l6ZSksbi5jbG9zZVBhdGgoKX19KSksdC5mb3JFYWNoKChmdW5jdGlvbih0LGkpe3ZhciByPWEueCttKzIqZS50b29sVGlwUGFkZGluZytjK2w7ZiYmKHI9YS54LXUtbSsyKmUudG9vbFRpcFBhZGRpbmcrICtjK2wpO3ZhciBvPWEueSsoZS50b29sVGlwTGluZUhlaWdodC1lLmZvbnRTaXplKS8yK2UudG9vbFRpcExpbmVIZWlnaHQqaStlLnRvb2xUaXBQYWRkaW5nO24uYmVnaW5QYXRoKCksbi5zZXRGb250U2l6ZShlLmZvbnRTaXplKSxuLnNldEZpbGxTdHlsZShwLmZvbnRDb2xvciksbi5maWxsVGV4dCh0LnRleHQscixvK2UuZm9udFNpemUpLG4uY2xvc2VQYXRoKCksbi5zdHJva2UoKX0pKX19ZnVuY3Rpb24gZ3QodCxhLGksZSxuLHIpe3ZhciBvPXQuZXh0cmEudG9vbHRpcHx8e307by5ob3JpemVudGFsTGluZSYmdC50b29sdGlwJiYxPT09ZSYmKCJsaW5lIj09dC50eXBlfHwiYXJlYSI9PXQudHlwZXx8ImNvbHVtbiI9PXQudHlwZXx8ImNhbmRsZSI9PXQudHlwZXx8Im1peCI9PXQudHlwZSkmJnN0KHQsYSxpKSxpLnNhdmUoKSx0Ll9zY3JvbGxEaXN0YW5jZV8mJjAhPT10Ll9zY3JvbGxEaXN0YW5jZV8mJiEwPT09dC5lbmFibGVTY3JvbGwmJmkudHJhbnNsYXRlKHQuX3Njcm9sbERpc3RhbmNlXywwKSx0LnRvb2x0aXAmJnQudG9vbHRpcC50ZXh0TGlzdCYmdC50b29sdGlwLnRleHRMaXN0Lmxlbmd0aCYmMT09PWUmJmZ0KHQudG9vbHRpcC50ZXh0TGlzdCx0LnRvb2x0aXAub2Zmc2V0LHQsYSxpKSxpLnJlc3RvcmUoKX1mdW5jdGlvbiB1dCh0LGEsaSxlKXt2YXIgbj1hLmNoYXJ0RGF0YS54QXhpc0RhdGEscj1uLnhBeGlzUG9pbnRzLG89bi5zdGFydFgsZD1uLmVuZFgscD1uLmVhY2hTcGFjaW5nLGM9ImNlbnRlciI7ImJhciIhPWEudHlwZSYmImxpbmUiIT1hLnR5cGUmJiJhcmVhIiE9YS50eXBlJiYic2NhdHRlciIhPWEudHlwZSYmImJ1YmJsZSIhPWEudHlwZXx8KGM9YS54QXhpcy5ib3VuZGFyeUdhcCk7dmFyIHM9YS5oZWlnaHQtYS5hcmVhWzJdLGw9YS5hcmVhWzBdO2lmKGEuZW5hYmxlU2Nyb2xsJiZhLnhBeGlzLnNjcm9sbFNob3cpe3ZhciBtPWEuaGVpZ2h0LWEuYXJlYVsyXStpLnhBeGlzSGVpZ2h0LGY9ZC1vLGc9cCooci5sZW5ndGgtMSksdT1mKmYvZyxoPTA7YS5fc2Nyb2xsRGlzdGFuY2VfJiYoaD0tYS5fc2Nyb2xsRGlzdGFuY2VfKmYvZyksZS5iZWdpblBhdGgoKSxlLnNldExpbmVDYXAoInJvdW5kIiksZS5zZXRMaW5lV2lkdGgoNiphLnBpeCksZS5zZXRTdHJva2VTdHlsZShhLnhBeGlzLnNjcm9sbEJhY2tncm91bmRDb2xvcnx8IiNFRkVCRUYiKSxlLm1vdmVUbyhvLG0pLGUubGluZVRvKGQsbSksZS5zdHJva2UoKSxlLmNsb3NlUGF0aCgpLGUuYmVnaW5QYXRoKCksZS5zZXRMaW5lQ2FwKCJyb3VuZCIpLGUuc2V0TGluZVdpZHRoKDYqYS5waXgpLGUuc2V0U3Ryb2tlU3R5bGUoYS54QXhpcy5zY3JvbGxDb2xvcnx8IiNBNkE2QTYiKSxlLm1vdmVUbyhvK2gsbSksZS5saW5lVG8obytoK3UsbSksZS5zdHJva2UoKSxlLmNsb3NlUGF0aCgpLGUuc2V0TGluZUNhcCgiYnV0dCIpfWlmKGUuc2F2ZSgpLGEuX3Njcm9sbERpc3RhbmNlXyYmMCE9PWEuX3Njcm9sbERpc3RhbmNlXyYmZS50cmFuc2xhdGUoYS5fc2Nyb2xsRGlzdGFuY2VfLDApLCEwPT09YS54QXhpcy5jYWxpYnJhdGlvbiYmKGUuc2V0U3Ryb2tlU3R5bGUoYS54QXhpcy5ncmlkQ29sb3J8fCIjY2NjY2NjIiksZS5zZXRMaW5lQ2FwKCJidXR0IiksZS5zZXRMaW5lV2lkdGgoMSphLnBpeCksci5mb3JFYWNoKChmdW5jdGlvbih0LGkpe2k+MCYmKGUuYmVnaW5QYXRoKCksZS5tb3ZlVG8odC1wLzIscyksZS5saW5lVG8odC1wLzIscyszKmEucGl4KSxlLmNsb3NlUGF0aCgpLGUuc3Ryb2tlKCkpfSkpKSwhMCE9PWEueEF4aXMuZGlzYWJsZUdyaWQmJihlLnNldFN0cm9rZVN0eWxlKGEueEF4aXMuZ3JpZENvbG9yfHwiI2NjY2NjYyIpLGUuc2V0TGluZUNhcCgiYnV0dCIpLGUuc2V0TGluZVdpZHRoKDEqYS5waXgpLCJkYXNoIj09YS54QXhpcy5ncmlkVHlwZSYmZS5zZXRMaW5lRGFzaChbYS54QXhpcy5kYXNoTGVuZ3RoKmEucGl4LGEueEF4aXMuZGFzaExlbmd0aCphLnBpeF0pLGEueEF4aXMuZ3JpZEV2YWw9YS54QXhpcy5ncmlkRXZhbHx8MSxyLmZvckVhY2goKGZ1bmN0aW9uKHQsaSl7aSVhLnhBeGlzLmdyaWRFdmFsPT0wJiYoZS5iZWdpblBhdGgoKSxlLm1vdmVUbyh0LHMpLGUubGluZVRvKHQsbCksZS5zdHJva2UoKSl9KSksZS5zZXRMaW5lRGFzaChbXSkpLCEwIT09YS54QXhpcy5kaXNhYmxlZCl7dmFyIHY9dC5sZW5ndGg7YS54QXhpcy5sYWJlbENvdW50JiYodj1hLnhBeGlzLml0ZW1Db3VudD9NYXRoLmNlaWwodC5sZW5ndGgvYS54QXhpcy5pdGVtQ291bnQqYS54QXhpcy5sYWJlbENvdW50KTphLnhBeGlzLmxhYmVsQ291bnQsdi09MSk7Zm9yKHZhciBiPU1hdGguY2VpbCh0Lmxlbmd0aC92KSx5PVtdLEE9dC5sZW5ndGgsdz0wO3c8QTt3KyspdyViIT09MD95LnB1c2goIiIpOnkucHVzaCh0W3ddKTt5W0EtMV09dFtBLTFdO3ZhciBrPWEueEF4aXMuZm9udFNpemUqYS5waXh8fGkuZm9udFNpemU7MD09PWkuX3hBeGlzVGV4dEFuZ2xlXz95LmZvckVhY2goKGZ1bmN0aW9uKHQsbil7dmFyIG89YS54QXhpcy5mb3JtYXR0ZXI/YS54QXhpcy5mb3JtYXR0ZXIodCk6dCxkPS14KFN0cmluZyhvKSxrLGUpLzI7ImNlbnRlciI9PWMmJihkKz1wLzIpO3ZhciBsPTA7YS54QXhpcy5zY3JvbGxTaG93JiYobD02KmEucGl4KSxlLmJlZ2luUGF0aCgpLGUuc2V0Rm9udFNpemUoayksZS5zZXRGaWxsU3R5bGUoYS54QXhpcy5mb250Q29sb3J8fGEuZm9udENvbG9yKSxlLmZpbGxUZXh0KFN0cmluZyhvKSxyW25dK2QscytrKyhpLnhBeGlzSGVpZ2h0LWwtaykvMiksZS5jbG9zZVBhdGgoKSxlLnN0cm9rZSgpfSkpOnkuZm9yRWFjaCgoZnVuY3Rpb24odCxuKXt2YXIgbz1hLnhBeGlzLmZvcm1hdHRlcj9hLnhBeGlzLmZvcm1hdHRlcih0KTp0O2Uuc2F2ZSgpLGUuYmVnaW5QYXRoKCksZS5zZXRGb250U2l6ZShrKSxlLnNldEZpbGxTdHlsZShhLnhBeGlzLmZvbnRDb2xvcnx8YS5mb250Q29sb3IpO3ZhciBkPXgoU3RyaW5nKG8pLGssZSksbD0tZDsiY2VudGVyIj09YyYmKGwrPXAvMik7dmFyIG09ZnVuY3Rpb24odCxhLGkpe3ZhciBlPXQsbj1pLWEscj1lKyhpLW4tZSkvTWF0aC5zcXJ0KDIpO3IqPS0xO3ZhciBvPShpLW4pKihNYXRoLnNxcnQoMiktMSktKGktbi1lKS9NYXRoLnNxcnQoMik7cmV0dXJue3RyYW5zWDpyLHRyYW5zWTpvfX0ocltuXStwLzIscytrLzIrNSxhLmhlaWdodCksZj1tLnRyYW5zWCxnPW0udHJhbnNZO2Uucm90YXRlKC0xKmkuX3hBeGlzVGV4dEFuZ2xlXyksZS50cmFuc2xhdGUoZixnKSxlLmZpbGxUZXh0KFN0cmluZyhvKSxyW25dK2wscytrKzUpLGUuY2xvc2VQYXRoKCksZS5zdHJva2UoKSxlLnJlc3RvcmUoKX0pKX1lLnJlc3RvcmUoKSxhLnhBeGlzLmF4aXNMaW5lJiYoZS5iZWdpblBhdGgoKSxlLnNldFN0cm9rZVN0eWxlKGEueEF4aXMuYXhpc0xpbmVDb2xvciksZS5zZXRMaW5lV2lkdGgoMSphLnBpeCksZS5tb3ZlVG8obyxhLmhlaWdodC1hLmFyZWFbMl0pLGUubGluZVRvKGQsYS5oZWlnaHQtYS5hcmVhWzJdKSxlLnN0cm9rZSgpKX1mdW5jdGlvbiBodCh0LGEsaSxlKXtpZighMCE9PWEueUF4aXMuZGlzYWJsZUdyaWQpe3ZhciBuPWEuaGVpZ2h0LWEuYXJlYVswXS1hLmFyZWFbMl0scj1uL2EueUF4aXMuc3BsaXROdW1iZXIsbz1hLmFyZWFbM10sZD1hLmNoYXJ0RGF0YS54QXhpc0RhdGEueEF4aXNQb2ludHMscD1hLmNoYXJ0RGF0YS54QXhpc0RhdGEuZWFjaFNwYWNpbmcsYz1wKihkLmxlbmd0aC0xKSxzPW8rYyxsPVtdLG09MTshMT09PWEueEF4aXMuYXhpc0xpbmUmJihtPTApO2Zvcih2YXIgZj1tO2Y8YS55QXhpcy5zcGxpdE51bWJlcisxO2YrKylsLnB1c2goYS5oZWlnaHQtYS5hcmVhWzJdLXIqZik7ZS5zYXZlKCksYS5fc2Nyb2xsRGlzdGFuY2VfJiYwIT09YS5fc2Nyb2xsRGlzdGFuY2VfJiZlLnRyYW5zbGF0ZShhLl9zY3JvbGxEaXN0YW5jZV8sMCksImRhc2giPT1hLnlBeGlzLmdyaWRUeXBlJiZlLnNldExpbmVEYXNoKFthLnlBeGlzLmRhc2hMZW5ndGgqYS5waXgsYS55QXhpcy5kYXNoTGVuZ3RoKmEucGl4XSksZS5zZXRTdHJva2VTdHlsZShhLnlBeGlzLmdyaWRDb2xvciksZS5zZXRMaW5lV2lkdGgoMSphLnBpeCksbC5mb3JFYWNoKChmdW5jdGlvbih0LGEpe2UuYmVnaW5QYXRoKCksZS5tb3ZlVG8obyx0KSxlLmxpbmVUbyhzLHQpLGUuc3Ryb2tlKCl9KSksZS5zZXRMaW5lRGFzaChbXSksZS5yZXN0b3JlKCl9fWZ1bmN0aW9uIHZ0KHQsYSxpLGUpe2lmKCEwIT09YS55QXhpcy5kaXNhYmxlZCl7dmFyIG49YS5oZWlnaHQtYS5hcmVhWzBdLWEuYXJlYVsyXSxyPW4vYS55QXhpcy5zcGxpdE51bWJlcixvPWEuYXJlYVszXSxkPWEud2lkdGgtYS5hcmVhWzFdLHA9YS5oZWlnaHQtYS5hcmVhWzJdLGM9cCtpLnhBeGlzSGVpZ2h0O2EueEF4aXMuc2Nyb2xsU2hvdyYmKGMtPTMqYS5waXgpLGEueEF4aXMucm90YXRlTGFiZWwmJihjPWEuaGVpZ2h0LWEuYXJlYVsyXSthLmZvbnRTaXplKmEucGl4LzIpLGUuYmVnaW5QYXRoKCksZS5zZXRGaWxsU3R5bGUoYS5iYWNrZ3JvdW5kKSwxPT1hLmVuYWJsZVNjcm9sbCYmYS54QXhpcy5zY3JvbGxQb3NpdGlvbiYmImxlZnQiIT09YS54QXhpcy5zY3JvbGxQb3NpdGlvbiYmZS5maWxsUmVjdCgwLDAsbyxjKSwxPT1hLmVuYWJsZVNjcm9sbCYmYS54QXhpcy5zY3JvbGxQb3NpdGlvbiYmInJpZ2h0IiE9PWEueEF4aXMuc2Nyb2xsUG9zaXRpb24mJmUuZmlsbFJlY3QoZCwwLGEud2lkdGgsYyksZS5jbG9zZVBhdGgoKSxlLnN0cm9rZSgpO3ZhciBzPWEuYXJlYVszXSxsPWEud2lkdGgtYS5hcmVhWzFdLG09YS5hcmVhWzNdKyhhLndpZHRoLWEuYXJlYVsxXS1hLmFyZWFbM10pLzI7aWYoYS55QXhpcy5kYXRhKWZvcih2YXIgZj1mdW5jdGlvbih0KXt2YXIgbz1hLnlBeGlzLmRhdGFbdF07aWYodT1bXSwiY2F0ZWdvcmllcyI9PT1vLnR5cGUpZm9yKHZhciBkPTA7ZDw9by5jYXRlZ29yaWVzLmxlbmd0aDtkKyspdS5wdXNoKGEuYXJlYVswXStuL28uY2F0ZWdvcmllcy5sZW5ndGgvMituL28uY2F0ZWdvcmllcy5sZW5ndGgqZCk7ZWxzZSBmb3IodmFyIGM9MDtjPD1hLnlBeGlzLnNwbGl0TnVtYmVyO2MrKyl1LnB1c2goYS5hcmVhWzBdK3IqYyk7aWYoITAhPT1vLmRpc2FibGVkKXt2YXIgZj1hLmNoYXJ0RGF0YS55QXhpc0RhdGEucmFuZ2VzRm9ybWF0W3RdLGc9by5mb250U2l6ZT9vLmZvbnRTaXplKmEucGl4OmkuZm9udFNpemUsaD1hLmNoYXJ0RGF0YS55QXhpc0RhdGEueUF4aXNXaWR0aFt0XSx2PW8udGV4dEFsaWdufHwicmlnaHQiO2lmKGYuZm9yRWFjaCgoZnVuY3Rpb24odCxpKXt2YXIgbj11W2ldP3VbaV06cDtlLmJlZ2luUGF0aCgpLGUuc2V0Rm9udFNpemUoZyksZS5zZXRMaW5lV2lkdGgoMSphLnBpeCksZS5zZXRTdHJva2VTdHlsZShvLmF4aXNMaW5lQ29sb3J8fCIjY2NjY2NjIiksZS5zZXRGaWxsU3R5bGUoby5mb250Q29sb3J8fGEuZm9udENvbG9yKTt2YXIgcj0wLGQ9NCphLnBpeDtpZigibGVmdCI9PWgucG9zaXRpb24pe3N3aXRjaCgxPT1vLmNhbGlicmF0aW9uJiYoZS5tb3ZlVG8ocyxuKSxlLmxpbmVUbyhzLTMqYS5waXgsbiksZCs9MyphLnBpeCksdil7Y2FzZSJsZWZ0IjplLnNldFRleHRBbGlnbigibGVmdCIpLHI9cy1oLndpZHRoO2JyZWFrO2Nhc2UicmlnaHQiOmUuc2V0VGV4dEFsaWduKCJyaWdodCIpLHI9cy1kO2JyZWFrO2RlZmF1bHQ6ZS5zZXRUZXh0QWxpZ24oImNlbnRlciIpLHI9cy1oLndpZHRoLzJ9ZS5maWxsVGV4dChTdHJpbmcodCkscixuK2cvMi0zKmEucGl4KX1lbHNlIGlmKCJyaWdodCI9PWgucG9zaXRpb24pe3N3aXRjaCgxPT1vLmNhbGlicmF0aW9uJiYoZS5tb3ZlVG8obCxuKSxlLmxpbmVUbyhsKzMqYS5waXgsbiksZCs9MyphLnBpeCksdil7Y2FzZSJsZWZ0IjplLnNldFRleHRBbGlnbigibGVmdCIpLHI9bCtkO2JyZWFrO2Nhc2UicmlnaHQiOmUuc2V0VGV4dEFsaWduKCJyaWdodCIpLHI9bCtoLndpZHRoO2JyZWFrO2RlZmF1bHQ6ZS5zZXRUZXh0QWxpZ24oImNlbnRlciIpLHI9bCtoLndpZHRoLzJ9ZS5maWxsVGV4dChTdHJpbmcodCkscixuK2cvMi0zKmEucGl4KX1lbHNlIGlmKCJjZW50ZXIiPT1oLnBvc2l0aW9uKXtzd2l0Y2goMT09by5jYWxpYnJhdGlvbiYmKGUubW92ZVRvKG0sbiksZS5saW5lVG8obS0zKmEucGl4LG4pLGQrPTMqYS5waXgpLHYpe2Nhc2UibGVmdCI6ZS5zZXRUZXh0QWxpZ24oImxlZnQiKSxyPW0taC53aWR0aDticmVhaztjYXNlInJpZ2h0IjplLnNldFRleHRBbGlnbigicmlnaHQiKSxyPW0tZDticmVhaztkZWZhdWx0OmUuc2V0VGV4dEFsaWduKCJjZW50ZXIiKSxyPW0taC53aWR0aC8yfWUuZmlsbFRleHQoU3RyaW5nKHQpLHIsbitnLzItMyphLnBpeCl9ZS5jbG9zZVBhdGgoKSxlLnN0cm9rZSgpLGUuc2V0VGV4dEFsaWduKCJsZWZ0Iil9KSksITEhPT1vLmF4aXNMaW5lJiYoZS5iZWdpblBhdGgoKSxlLnNldFN0cm9rZVN0eWxlKG8uYXhpc0xpbmVDb2xvcnx8IiNjY2NjY2MiKSxlLnNldExpbmVXaWR0aCgxKmEucGl4KSwibGVmdCI9PWgucG9zaXRpb24/KGUubW92ZVRvKHMsYS5oZWlnaHQtYS5hcmVhWzJdKSxlLmxpbmVUbyhzLGEuYXJlYVswXSkpOiJyaWdodCI9PWgucG9zaXRpb24/KGUubW92ZVRvKGwsYS5oZWlnaHQtYS5hcmVhWzJdKSxlLmxpbmVUbyhsLGEuYXJlYVswXSkpOiJjZW50ZXIiPT1oLnBvc2l0aW9uJiYoZS5tb3ZlVG8obSxhLmhlaWdodC1hLmFyZWFbMl0pLGUubGluZVRvKG0sYS5hcmVhWzBdKSksZS5zdHJva2UoKSksYS55QXhpcy5zaG93VGl0bGUpe3ZhciBiPW8udGl0bGVGb250U2l6ZSphLnBpeHx8aS5mb250U2l6ZSx5PW8udGl0bGU7ZS5iZWdpblBhdGgoKSxlLnNldEZvbnRTaXplKGIpLGUuc2V0RmlsbFN0eWxlKG8udGl0bGVGb250Q29sb3J8fGEuZm9udENvbG9yKSwibGVmdCI9PWgucG9zaXRpb24/ZS5maWxsVGV4dCh5LHMteCh5LGIsZSkvMisoby50aXRsZU9mZnNldFh8fDApLGEuYXJlYVswXS0oMTAtKG8udGl0bGVPZmZzZXRZfHwwKSkqYS5waXgpOiJyaWdodCI9PWgucG9zaXRpb24/ZS5maWxsVGV4dCh5LGwteCh5LGIsZSkvMisoby50aXRsZU9mZnNldFh8fDApLGEuYXJlYVswXS0oMTAtKG8udGl0bGVPZmZzZXRZfHwwKSkqYS5waXgpOiJjZW50ZXIiPT1oLnBvc2l0aW9uJiZlLmZpbGxUZXh0KHksbS14KHksYixlKS8yKyhvLnRpdGxlT2Zmc2V0WHx8MCksYS5hcmVhWzBdLSgxMC0oby50aXRsZU9mZnNldFl8fDApKSphLnBpeCksZS5jbG9zZVBhdGgoKSxlLnN0cm9rZSgpfSJsZWZ0Ij09aC5wb3NpdGlvbj9zLT1oLndpZHRoK2EueUF4aXMucGFkZGluZyphLnBpeDpsKz1oLndpZHRoK2EueUF4aXMucGFkZGluZyphLnBpeH19LGc9MDtnPGEueUF4aXMuZGF0YS5sZW5ndGg7ZysrKXt2YXIgdTtmKGcpfX19ZnVuY3Rpb24gYnQodCxhLGksZSxuKXtpZighMSE9PWEubGVnZW5kLnNob3cpe3ZhciByPW4ubGVnZW5kRGF0YSxvPXIucG9pbnRzLGQ9ci5hcmVhLHA9YS5sZWdlbmQucGFkZGluZyphLnBpeCxjPWEubGVnZW5kLmZvbnRTaXplKmEucGl4LHM9MTUqYS5waXgsbD01KmEucGl4LG09YS5sZWdlbmQuaXRlbUdhcCphLnBpeCxmPU1hdGgubWF4KGEubGVnZW5kLmxpbmVIZWlnaHQqYS5waXgsYyk7ZS5iZWdpblBhdGgoKSxlLnNldExpbmVXaWR0aChhLmxlZ2VuZC5ib3JkZXJXaWR0aCphLnBpeCksZS5zZXRTdHJva2VTdHlsZShhLmxlZ2VuZC5ib3JkZXJDb2xvciksZS5zZXRGaWxsU3R5bGUoYS5sZWdlbmQuYmFja2dyb3VuZENvbG9yKSxlLm1vdmVUbyhkLnN0YXJ0LngsZC5zdGFydC55KSxlLnJlY3QoZC5zdGFydC54LGQuc3RhcnQueSxkLndpZHRoLGQuaGVpZ2h0KSxlLmNsb3NlUGF0aCgpLGUuZmlsbCgpLGUuc3Ryb2tlKCksby5mb3JFYWNoKChmdW5jdGlvbih0LG4pe3ZhciBvLGc9MDtnPXIud2lkdGhBcnJbbl0sbz1yLmhlaWdodEFycltuXTt2YXIgdT0wLGg9MDtpZigidG9wIj09YS5sZWdlbmQucG9zaXRpb258fCJib3R0b20iPT1hLmxlZ2VuZC5wb3NpdGlvbil7c3dpdGNoKGEubGVnZW5kLmZsb2F0KXtjYXNlImxlZnQiOnU9ZC5zdGFydC54K3A7YnJlYWs7Y2FzZSJyaWdodCI6dT1kLnN0YXJ0LngrZC53aWR0aC1nO2JyZWFrO2RlZmF1bHQ6dT1kLnN0YXJ0LngrKGQud2lkdGgtZykvMn1oPWQuc3RhcnQueStwK24qZn1lbHNlIGc9MD09bj8wOnIud2lkdGhBcnJbbi0xXSx1PWQuc3RhcnQueCtwK2csaD1kLnN0YXJ0LnkrcCsoZC5oZWlnaHQtbykvMjtlLnNldEZvbnRTaXplKGkuZm9udFNpemUpO2Zvcih2YXIgdj0wO3Y8dC5sZW5ndGg7disrKXt2YXIgYj10W3ZdO3N3aXRjaChiLmFyZWE9WzAsMCwwLDBdLGIuYXJlYVswXT11LGIuYXJlYVsxXT1oLGIuYXJlYVszXT1oK2YsZS5iZWdpblBhdGgoKSxlLnNldExpbmVXaWR0aCgxKmEucGl4KSxlLnNldFN0cm9rZVN0eWxlKGIuc2hvdz9iLmNvbG9yOmEubGVnZW5kLmhpZGRlbkNvbG9yKSxlLnNldEZpbGxTdHlsZShiLnNob3c/Yi5jb2xvcjphLmxlZ2VuZC5oaWRkZW5Db2xvciksYi5sZWdlbmRTaGFwZSl7Y2FzZSJsaW5lIjplLm1vdmVUbyh1LGgrLjUqZi0yKmEucGl4KSxlLmZpbGxSZWN0KHUsaCsuNSpmLTIqYS5waXgsMTUqYS5waXgsNCphLnBpeCk7YnJlYWs7Y2FzZSJ0cmlhbmdsZSI6ZS5tb3ZlVG8odSs3LjUqYS5waXgsaCsuNSpmLTUqYS5waXgpLGUubGluZVRvKHUrMi41KmEucGl4LGgrLjUqZis1KmEucGl4KSxlLmxpbmVUbyh1KzEyLjUqYS5waXgsaCsuNSpmKzUqYS5waXgpLGUubGluZVRvKHUrNy41KmEucGl4LGgrLjUqZi01KmEucGl4KTticmVhaztjYXNlImRpYW1vbmQiOmUubW92ZVRvKHUrNy41KmEucGl4LGgrLjUqZi01KmEucGl4KSxlLmxpbmVUbyh1KzIuNSphLnBpeCxoKy41KmYpLGUubGluZVRvKHUrNy41KmEucGl4LGgrLjUqZis1KmEucGl4KSxlLmxpbmVUbyh1KzEyLjUqYS5waXgsaCsuNSpmKSxlLmxpbmVUbyh1KzcuNSphLnBpeCxoKy41KmYtNSphLnBpeCk7YnJlYWs7Y2FzZSJjaXJjbGUiOmUubW92ZVRvKHUrNy41KmEucGl4LGgrLjUqZiksZS5hcmModSs3LjUqYS5waXgsaCsuNSpmLDUqYS5waXgsMCwyKk1hdGguUEkpO2JyZWFrO2Nhc2UicmVjdCI6ZS5tb3ZlVG8odSxoKy41KmYtNSphLnBpeCksZS5maWxsUmVjdCh1LGgrLjUqZi01KmEucGl4LDE1KmEucGl4LDEwKmEucGl4KTticmVhaztjYXNlInNxdWFyZSI6ZS5tb3ZlVG8odSs1KmEucGl4LGgrLjUqZi01KmEucGl4KSxlLmZpbGxSZWN0KHUrNSphLnBpeCxoKy41KmYtNSphLnBpeCwxMCphLnBpeCwxMCphLnBpeCk7YnJlYWs7Y2FzZSJub25lIjpicmVhaztkZWZhdWx0OmUubW92ZVRvKHUsaCsuNSpmLTUqYS5waXgpLGUuZmlsbFJlY3QodSxoKy41KmYtNSphLnBpeCwxNSphLnBpeCwxMCphLnBpeCl9ZS5jbG9zZVBhdGgoKSxlLmZpbGwoKSxlLnN0cm9rZSgpLHUrPXMrbDt2YXIgeT0uNSpmKy41KmMtMjtlLmJlZ2luUGF0aCgpLGUuc2V0Rm9udFNpemUoYyksZS5zZXRGaWxsU3R5bGUoYi5zaG93P2EubGVnZW5kLmZvbnRDb2xvcjphLmxlZ2VuZC5oaWRkZW5Db2xvciksZS5maWxsVGV4dChiLm5hbWUsdSxoK3kpLGUuY2xvc2VQYXRoKCksZS5zdHJva2UoKSwidG9wIj09YS5sZWdlbmQucG9zaXRpb258fCJib3R0b20iPT1hLmxlZ2VuZC5wb3NpdGlvbj8odSs9eChiLm5hbWUsYyxlKSttLGIuYXJlYVsyXT11KTooYi5hcmVhWzJdPXUreChiLm5hbWUsYyxlKSttLHUtPXMrbCxoKz1mKX19KSl9fWZ1bmN0aW9uIHh0KHQsYSxpKXtpPTA9PWk/MTppO2Zvcih2YXIgZT1bXSxuPTA7bjxpO24rKyllW25dPU1hdGgucmFuZG9tKCk7cmV0dXJuIE1hdGguZmxvb3IoZS5yZWR1Y2UoKGZ1bmN0aW9uKHQsYSl7cmV0dXJuIHQrYX0pKS9pKihhLXQpKSt0fWZ1bmN0aW9uIHl0KHQsYSxpLGUpe2Zvcih2YXIgbj0hMSxyPTA7cjxhLmxlbmd0aDtyKyspaWYoYVtyXS5hcmVhKXtpZighKHRbM108YVtyXS5hcmVhWzFdfHx0WzBdPmFbcl0uYXJlYVsyXXx8dFsxXT5hW3JdLmFyZWFbM118fHRbMl08YVtyXS5hcmVhWzBdKSl7bj0hMDticmVha31pZih0WzBdPDB8fHRbMV08MHx8dFsyXT5pfHx0WzNdPmUpe249ITA7YnJlYWt9bj0hMX1yZXR1cm4gbn1mdW5jdGlvbiBBdCh0LGEsaSxlLG4scil7cmV0dXJue3g6KGEtaS54TWluKSplK24seTooaS55TWF4LXQpKmUrcn19ZnVuY3Rpb24gd3QodCxhLGkpe2lmKGFbMV09PWlbMV0pcmV0dXJuITE7aWYoYVsxXT50WzFdJiZpWzFdPnRbMV0pcmV0dXJuITE7aWYoYVsxXTx0WzFdJiZpWzFdPHRbMV0pcmV0dXJuITE7aWYoYVsxXT09dFsxXSYmaVsxXT50WzFdKXJldHVybiExO2lmKGlbMV09PXRbMV0mJmFbMV0+dFsxXSlyZXR1cm4hMTtpZihhWzBdPHRbMF0mJmlbMV08dFsxXSlyZXR1cm4hMTt2YXIgZT1pWzBdLShpWzBdLWFbMF0pKihpWzFdLXRbMV0pLyhpWzFdLWFbMV0pO3JldHVybiEoZTx0WzBdKX1mdW5jdGlvbiBrdCh0LGEsaSl7Zm9yKHZhciBlPTAsbj0wO248YS5sZW5ndGg7bisrKXt2YXIgcj1hW25dWzBdOzE9PWEubGVuZ3RoJiYocj1hW25dWzBdKTtmb3IodmFyIG89MDtvPHIubGVuZ3RoLTE7bysrKXt2YXIgZD1yW29dLHA9cltvKzFdO2kmJihkPWMocltvXVswXSxyW29dWzFdKSxwPWMocltvKzFdWzBdLHJbbysxXVsxXSkpLHd0KHQsZCxwKSYmKGUrPTEpfX1yZXR1cm4gZSUyPT0xfWZ1bmN0aW9uIFN0KHQsYSxpKXt2YXIgZT10LnNlcmllcztzd2l0Y2goYSl7Y2FzZSJub3JtYWwiOmZvcih2YXIgbj0wO248ZS5sZW5ndGg7bisrKXt2YXIgcj1lW25dLm5hbWUsbz1lW25dLnRleHRTaXplKnQucGl4LGQ9eChyLG8saSkscD12b2lkIDAsYz12b2lkIDAscz12b2lkIDAsbD0wO3doaWxlKDEpe2wrKyxwPXh0KC10LndpZHRoLzIsdC53aWR0aC8yLDUpLWQvMixjPXh0KC10LmhlaWdodC8yLHQuaGVpZ2h0LzIsNSkrby8yLHM9W3AtNSt0LndpZHRoLzIsYy01LW8rdC5oZWlnaHQvMixwK2QrNSt0LndpZHRoLzIsYys1K3QuaGVpZ2h0LzJdO3ZhciBtPXl0KHMsZSx0LndpZHRoLHQuaGVpZ2h0KTtpZighbSlicmVhaztpZigxZTM9PWwpe3M9Wy0xMDAsLTEwMCwtMTAwLC0xMDBdO2JyZWFrfX1lW25dLmFyZWE9c31icmVhaztjYXNlInZlcnRpY2FsIjpmb3IodmFyIGY9ZnVuY3Rpb24oKXtyZXR1cm4gTWF0aC5yYW5kb20oKT4uN30sZz0wO2c8ZS5sZW5ndGg7ZysrKXt2YXIgdT1lW2ddLm5hbWUsaD1lW2ddLnRleHRTaXplKnQucGl4LHY9eCh1LGgsaSksYj1mKCkseT12b2lkIDAsQT12b2lkIDAsdz12b2lkIDAsaz12b2lkIDAsUz0wO3doaWxlKDEpe1MrKzt2YXIgVD12b2lkIDA7aWYoYj8oeT14dCgtdC53aWR0aC8yLHQud2lkdGgvMiw1KS12LzIsQT14dCgtdC5oZWlnaHQvMix0LmhlaWdodC8yLDUpK2gvMix3PVtBLTUtdit0LndpZHRoLzIsLXktNSt0LmhlaWdodC8yLEErNSt0LndpZHRoLzIsLXkraCs1K3QuaGVpZ2h0LzJdLGs9W3Qud2lkdGgtKHQud2lkdGgvMi10LmhlaWdodC8yKS0oLXkraCs1K3QuaGVpZ2h0LzIpLTUsdC5oZWlnaHQvMi10LndpZHRoLzIrKEEtNS12K3Qud2lkdGgvMiktNSx0LndpZHRoLSh0LndpZHRoLzItdC5oZWlnaHQvMiktKC15K2grNSt0LmhlaWdodC8yKStoLHQuaGVpZ2h0LzItdC53aWR0aC8yKyhBLTUtdit0LndpZHRoLzIpK3YrNV0sVD15dChrLGUsdC5oZWlnaHQsdC53aWR0aCkpOih5PXh0KC10LndpZHRoLzIsdC53aWR0aC8yLDUpLXYvMixBPXh0KC10LmhlaWdodC8yLHQuaGVpZ2h0LzIsNSkraC8yLHc9W3ktNSt0LndpZHRoLzIsQS01LWgrdC5oZWlnaHQvMix5K3YrNSt0LndpZHRoLzIsQSs1K3QuaGVpZ2h0LzJdLFQ9eXQodyxlLHQud2lkdGgsdC5oZWlnaHQpKSwhVClicmVhaztpZigxZTM9PVMpe3c9Wy0xZTMsLTFlMywtMWUzLC0xZTNdO2JyZWFrfX1iPyhlW2ddLmFyZWE9ayxlW2ddLmFyZWF2PXcpOmVbZ10uYXJlYT13LGVbZ10ucm90YXRlPWJ9YnJlYWt9cmV0dXJuIGV9ZnVuY3Rpb24gVHQodCxhLGksZSxuLHIsbyl7Zm9yKHZhciBkPTA7ZDx0Lmxlbmd0aDtkKyspe3ZhciBjPXRbZF0scz12b2lkIDAsbD12b2lkIDAsbT12b2lkIDAsZj12b2lkIDAsZz1jLmZvcm1hdHRlcj9jLmZvcm1hdHRlcihjLGQsdCk6cC50b0ZpeGVkKDEwMCpjLl9wcm9wb3J0aW9uXykrIiUiOyJyaWdodCI9PW4/KHM9InB5cmFtaWQiPT09YS5leHRyYS5mdW5uZWwudHlwZT9kPT10Lmxlbmd0aC0xPyhjLmZ1bm5lbEFyZWFbMl0rby54KS8yOihjLmZ1bm5lbEFyZWFbMl0rdFtkKzFdLmZ1bm5lbEFyZWFbMl0pLzI6MD09ZD8oYy5mdW5uZWxBcmVhWzJdK28ueCkvMjooYy5mdW5uZWxBcmVhWzJdK3RbZC0xXS5mdW5uZWxBcmVhWzJdKS8yLGw9cysyKnIsbT1jLmZ1bm5lbEFyZWFbMV0rZS8yLGY9Yy50ZXh0U2l6ZSphLnBpeHx8YS5mb250U2l6ZSphLnBpeCxpLnNldExpbmVXaWR0aCgxKmEucGl4KSxpLnNldFN0cm9rZVN0eWxlKGMuY29sb3IpLGkuc2V0RmlsbFN0eWxlKGMuY29sb3IpLGkuYmVnaW5QYXRoKCksaS5tb3ZlVG8ocyxtKSxpLmxpbmVUbyhsLG0pLGkuc3Ryb2tlKCksaS5jbG9zZVBhdGgoKSxpLmJlZ2luUGF0aCgpLGkubW92ZVRvKGwsbSksaS5hcmMobCxtLDIsMCwyKk1hdGguUEkpLGkuY2xvc2VQYXRoKCksaS5maWxsKCksaS5iZWdpblBhdGgoKSxpLnNldEZvbnRTaXplKGYpLGkuc2V0RmlsbFN0eWxlKGMudGV4dENvbG9yfHxhLmZvbnRDb2xvciksaS5maWxsVGV4dChnLGwrNSxtK2YvMi0yKSxpLmNsb3NlUGF0aCgpLGkuc3Ryb2tlKCksaS5jbG9zZVBhdGgoKSk6KHM9InB5cmFtaWQiPT09YS5leHRyYS5mdW5uZWwudHlwZT9kPT10Lmxlbmd0aC0xPyhjLmZ1bm5lbEFyZWFbMF0rby54KS8yOihjLmZ1bm5lbEFyZWFbMF0rdFtkKzFdLmZ1bm5lbEFyZWFbMF0pLzI6MD09ZD8oYy5mdW5uZWxBcmVhWzBdK28ueCkvMjooYy5mdW5uZWxBcmVhWzBdK3RbZC0xXS5mdW5uZWxBcmVhWzBdKS8yLGw9cy0yKnIsbT1jLmZ1bm5lbEFyZWFbMV0rZS8yLGY9Yy50ZXh0U2l6ZSphLnBpeHx8YS5mb250U2l6ZSphLnBpeCxpLnNldExpbmVXaWR0aCgxKmEucGl4KSxpLnNldFN0cm9rZVN0eWxlKGMuY29sb3IpLGkuc2V0RmlsbFN0eWxlKGMuY29sb3IpLGkuYmVnaW5QYXRoKCksaS5tb3ZlVG8ocyxtKSxpLmxpbmVUbyhsLG0pLGkuc3Ryb2tlKCksaS5jbG9zZVBhdGgoKSxpLmJlZ2luUGF0aCgpLGkubW92ZVRvKGwsbSksaS5hcmMobCxtLDIsMCwyKk1hdGguUEkpLGkuY2xvc2VQYXRoKCksaS5maWxsKCksaS5iZWdpblBhdGgoKSxpLnNldEZvbnRTaXplKGYpLGkuc2V0RmlsbFN0eWxlKGMudGV4dENvbG9yfHxhLmZvbnRDb2xvciksaS5maWxsVGV4dChnLGwtNS14KGcsZixpKSxtK2YvMi0yKSxpLmNsb3NlUGF0aCgpLGkuc3Ryb2tlKCksaS5jbG9zZVBhdGgoKSl9fWZ1bmN0aW9uIEN0KHQsYSl7YS5kcmF3KCl9dmFyIFB0PXtlYXNlSW46ZnVuY3Rpb24odCl7cmV0dXJuIE1hdGgucG93KHQsMyl9LGVhc2VPdXQ6ZnVuY3Rpb24odCl7cmV0dXJuIE1hdGgucG93KHQtMSwzKSsxfSxlYXNlSW5PdXQ6ZnVuY3Rpb24odCl7cmV0dXJuKHQvPS41KTwxPy41Kk1hdGgucG93KHQsMyk6LjUqKE1hdGgucG93KHQtMiwzKSsyKX0sbGluZWFyOmZ1bmN0aW9uKHQpe3JldHVybiB0fX07ZnVuY3Rpb24genQodCl7dGhpcy5pc1N0b3A9ITEsdC5kdXJhdGlvbj0idW5kZWZpbmVkIj09PXR5cGVvZiB0LmR1cmF0aW9uPzFlMzp0LmR1cmF0aW9uLHQudGltaW5nPXQudGltaW5nfHwiZWFzZUluT3V0Ijt2YXIgYT1mdW5jdGlvbigpe3JldHVybiJ1bmRlZmluZWQiIT09dHlwZW9mIHNldFRpbWVvdXQ/ZnVuY3Rpb24odCxhKXtzZXRUaW1lb3V0KChmdW5jdGlvbigpe3ZhciBhPStuZXcgRGF0ZTt0KGEpfSksYSl9OiJ1bmRlZmluZWQiIT09dHlwZW9mIHJlcXVlc3RBbmltYXRpb25GcmFtZT9yZXF1ZXN0QW5pbWF0aW9uRnJhbWU6ZnVuY3Rpb24odCl7dChudWxsKX19KCksaT1udWxsLGU9ZnVuY3Rpb24obil7aWYobnVsbD09PW58fCEwPT09dGhpcy5pc1N0b3ApcmV0dXJuIHQub25Qcm9jZXNzJiZ0Lm9uUHJvY2VzcygxKSx2b2lkKHQub25BbmltYXRpb25GaW5pc2gmJnQub25BbmltYXRpb25GaW5pc2goKSk7aWYobnVsbD09PWkmJihpPW4pLG4taTx0LmR1cmF0aW9uKXt2YXIgcj0obi1pKS90LmR1cmF0aW9uLG89UHRbdC50aW1pbmddO3I9byhyKSx0Lm9uUHJvY2VzcyYmdC5vblByb2Nlc3MociksYShlLDE3KX1lbHNlIHQub25Qcm9jZXNzJiZ0Lm9uUHJvY2VzcygxKSx0Lm9uQW5pbWF0aW9uRmluaXNoJiZ0Lm9uQW5pbWF0aW9uRmluaXNoKCl9O2U9ZS5iaW5kKHRoaXMpLGEoZSwxNyl9ZnVuY3Rpb24gSXQodCxhLGksZSl7dmFyIHI9dGhpcyxvPWEuc2VyaWVzOyJwaWUiIT09dCYmInJpbmciIT09dCYmInJvc2UiIT09dCYmImZ1bm5lbCIhPT10fHwobz1mdW5jdGlvbih0LGEsaSl7dmFyIGU9W107aWYodC5sZW5ndGg+MCYmdFswXS5kYXRhLmNvbnN0cnVjdG9yLnRvU3RyaW5nKCkuaW5kZXhPZigiQXJyYXkiKT4tMSl7YS5fcGllU2VyaWVzXz10O2Zvcih2YXIgbj10WzBdLmRhdGEscj0wO3I8bi5sZW5ndGg7cisrKW5bcl0uZm9ybWF0dGVyPXRbMF0uZm9ybWF0dGVyLG5bcl0uZGF0YT1uW3JdLnZhbHVlLGUucHVzaChuW3JdKTthLnNlcmllcz1lfWVsc2UgZT10O3JldHVybiBlfShvLGEpKTt2YXIgbD1hLmNhdGVnb3JpZXM7bz1oKG8sYSxpKTt2YXIgbT1hLmFuaW1hdGlvbj9hLmR1cmF0aW9uOjA7ci5hbmltYXRpb25JbnN0YW5jZSYmci5hbmltYXRpb25JbnN0YW5jZS5zdG9wKCk7dmFyIHU9bnVsbDtpZigiY2FuZGxlIj09dCl7dmFyIGI9ZCh7fSxhLmV4dHJhLmNhbmRsZS5hdmVyYWdlKTtiLnNob3c/KHU9ZnVuY3Rpb24odCxhLGksZSl7Zm9yKHZhciBuPVtdLHI9MDtyPHQubGVuZ3RoO3IrKyl7Zm9yKHZhciBvPXtkYXRhOltdLG5hbWU6YVtyXSxjb2xvcjppW3JdfSxkPTAscD1lLmxlbmd0aDtkPHA7ZCsrKWlmKGQ8dFtyXSlvLmRhdGEucHVzaChudWxsKTtlbHNle2Zvcih2YXIgYz0wLHM9MDtzPHRbcl07cysrKWMrPWVbZC1zXVsxXTtvLmRhdGEucHVzaCgrKGMvdFtyXSkudG9GaXhlZCgzKSl9bi5wdXNoKG8pfXJldHVybiBufShiLmRheSxiLm5hbWUsYi5jb2xvcixvWzBdLmRhdGEpLHU9aCh1LGEsaSksYS5zZXJpZXNNQT11KTp1PWEuc2VyaWVzTUE/YS5zZXJpZXNNQT1oKGEuc2VyaWVzTUEsYSxpKTpvfWVsc2UgdT1vO2EuX3Nlcmllc189bz1JKG8pLGEuYXJlYT1uZXcgQXJyYXkoNCk7Zm9yKHZhciB5PTA7eTw0O3krKylhLmFyZWFbeV09YS5wYWRkaW5nW3ldKmEucGl4O3ZhciBBPWZ1bmN0aW9uKHQsYSxpLGUsbil7dmFyIHI9e2FyZWE6e3N0YXJ0Ont4OjAseTowfSxlbmQ6e3g6MCx5OjB9LHdpZHRoOjAsaGVpZ2h0OjAsd2hvbGVXaWR0aDowLHdob2xlSGVpZ2h0OjB9LHBvaW50czpbXSx3aWR0aEFycjpbXSxoZWlnaHRBcnI6W119O2lmKCExPT09YS5sZWdlbmQuc2hvdylyZXR1cm4gZS5sZWdlbmREYXRhPXIscjt2YXIgbz1hLmxlZ2VuZC5wYWRkaW5nKmEucGl4LGQ9YS5sZWdlbmQubWFyZ2luKmEucGl4LHA9YS5sZWdlbmQuZm9udFNpemU/YS5sZWdlbmQuZm9udFNpemUqYS5waXg6aS5mb250U2l6ZSxjPTE1KmEucGl4LHM9NSphLnBpeCxsPU1hdGgubWF4KGEubGVnZW5kLmxpbmVIZWlnaHQqYS5waXgscCk7aWYoInRvcCI9PWEubGVnZW5kLnBvc2l0aW9ufHwiYm90dG9tIj09YS5sZWdlbmQucG9zaXRpb24pe2Zvcih2YXIgbT1bXSxmPTAsZz1bXSx1PVtdLGg9MDtoPHQubGVuZ3RoO2grKyl7dmFyIHY9dFtoXSxiPWMrcyt4KHYubmFtZXx8InVuZGVmaW5lZCIscCxuKSthLmxlZ2VuZC5pdGVtR2FwKmEucGl4O2YrYj5hLndpZHRoLWEuYXJlYVsxXS1hLmFyZWFbM10/KG0ucHVzaCh1KSxnLnB1c2goZi1hLmxlZ2VuZC5pdGVtR2FwKmEucGl4KSxmPWIsdT1bdl0pOihmKz1iLHUucHVzaCh2KSl9aWYodS5sZW5ndGgpe20ucHVzaCh1KSxnLnB1c2goZi1hLmxlZ2VuZC5pdGVtR2FwKmEucGl4KSxyLndpZHRoQXJyPWc7dmFyIHk9TWF0aC5tYXguYXBwbHkobnVsbCxnKTtzd2l0Y2goYS5sZWdlbmQuZmxvYXQpe2Nhc2UibGVmdCI6ci5hcmVhLnN0YXJ0Lng9YS5hcmVhWzNdLHIuYXJlYS5lbmQueD1hLmFyZWFbM10reSsyKm87YnJlYWs7Y2FzZSJyaWdodCI6ci5hcmVhLnN0YXJ0Lng9YS53aWR0aC1hLmFyZWFbMV0teS0yKm8sci5hcmVhLmVuZC54PWEud2lkdGgtYS5hcmVhWzFdO2JyZWFrO2RlZmF1bHQ6ci5hcmVhLnN0YXJ0Lng9KGEud2lkdGgteSkvMi1vLHIuYXJlYS5lbmQueD0oYS53aWR0aCt5KS8yK299ci5hcmVhLndpZHRoPXkrMipvLHIuYXJlYS53aG9sZVdpZHRoPXkrMipvLHIuYXJlYS5oZWlnaHQ9bS5sZW5ndGgqbCsyKm8sci5hcmVhLndob2xlSGVpZ2h0PW0ubGVuZ3RoKmwrMipvKzIqZCxyLnBvaW50cz1tfX1lbHNle3ZhciBBPXQubGVuZ3RoLHc9YS5oZWlnaHQtYS5hcmVhWzBdLWEuYXJlYVsyXS0yKmQtMipvLGs9TWF0aC5taW4oTWF0aC5mbG9vcih3L2wpLEEpO3N3aXRjaChyLmFyZWEuaGVpZ2h0PWsqbCsyKm8sci5hcmVhLndob2xlSGVpZ2h0PWsqbCsyKm8sYS5sZWdlbmQuZmxvYXQpe2Nhc2UidG9wIjpyLmFyZWEuc3RhcnQueT1hLmFyZWFbMF0rZCxyLmFyZWEuZW5kLnk9YS5hcmVhWzBdK2Qrci5hcmVhLmhlaWdodDticmVhaztjYXNlImJvdHRvbSI6ci5hcmVhLnN0YXJ0Lnk9YS5oZWlnaHQtYS5hcmVhWzJdLWQtci5hcmVhLmhlaWdodCxyLmFyZWEuZW5kLnk9YS5oZWlnaHQtYS5hcmVhWzJdLWQ7YnJlYWs7ZGVmYXVsdDpyLmFyZWEuc3RhcnQueT0oYS5oZWlnaHQtci5hcmVhLmhlaWdodCkvMixyLmFyZWEuZW5kLnk9KGEuaGVpZ2h0K3IuYXJlYS5oZWlnaHQpLzJ9Zm9yKHZhciBTPUElaz09PTA/QS9rOk1hdGguZmxvb3IoQS9rKzEpLFQ9W10sQz0wO0M8UztDKyspe3ZhciBQPXQuc2xpY2UoQyprLEMqaytrKTtULnB1c2goUCl9aWYoci5wb2ludHM9VCxULmxlbmd0aCl7Zm9yKHZhciB6PTA7ejxULmxlbmd0aDt6Kyspe2Zvcih2YXIgST1UW3pdLEQ9MCxNPTA7TTxJLmxlbmd0aDtNKyspe3ZhciBFPWMrcyt4KElbTV0ubmFtZXx8InVuZGVmaW5lZCIscCxuKSthLmxlZ2VuZC5pdGVtR2FwKmEucGl4O0U+RCYmKEQ9RSl9ci53aWR0aEFyci5wdXNoKEQpLHIuaGVpZ2h0QXJyLnB1c2goSS5sZW5ndGgqbCsyKm8pfWZvcih2YXIgTD0wLE89MDtPPHIud2lkdGhBcnIubGVuZ3RoO08rKylMKz1yLndpZHRoQXJyW09dO3IuYXJlYS53aWR0aD1MLWEubGVnZW5kLml0ZW1HYXAqYS5waXgrMipvLHIuYXJlYS53aG9sZVdpZHRoPXIuYXJlYS53aWR0aCtvfX1zd2l0Y2goYS5sZWdlbmQucG9zaXRpb24pe2Nhc2UidG9wIjpyLmFyZWEuc3RhcnQueT1hLmFyZWFbMF0rZCxyLmFyZWEuZW5kLnk9YS5hcmVhWzBdK2Qrci5hcmVhLmhlaWdodDticmVhaztjYXNlImJvdHRvbSI6ci5hcmVhLnN0YXJ0Lnk9YS5oZWlnaHQtYS5hcmVhWzJdLXIuYXJlYS5oZWlnaHQtZCxyLmFyZWEuZW5kLnk9YS5oZWlnaHQtYS5hcmVhWzJdLWQ7YnJlYWs7Y2FzZSJsZWZ0IjpyLmFyZWEuc3RhcnQueD1hLmFyZWFbM10sci5hcmVhLmVuZC54PWEuYXJlYVszXStyLmFyZWEud2lkdGg7YnJlYWs7Y2FzZSJyaWdodCI6ci5hcmVhLnN0YXJ0Lng9YS53aWR0aC1hLmFyZWFbMV0tci5hcmVhLndpZHRoLHIuYXJlYS5lbmQueD1hLndpZHRoLWEuYXJlYVsxXTticmVha31yZXR1cm4gZS5sZWdlbmREYXRhPXIscn0odSxhLGksYS5jaGFydERhdGEsZSksdz1BLmFyZWEud2hvbGVIZWlnaHQsaz1BLmFyZWEud2hvbGVXaWR0aDtzd2l0Y2goYS5sZWdlbmQucG9zaXRpb24pe2Nhc2UidG9wIjphLmFyZWFbMF0rPXc7YnJlYWs7Y2FzZSJib3R0b20iOmEuYXJlYVsyXSs9dzticmVhaztjYXNlImxlZnQiOmEuYXJlYVszXSs9azticmVhaztjYXNlInJpZ2h0IjphLmFyZWFbMV0rPWs7YnJlYWt9dmFyIEM9e30sUD0wO2lmKCJsaW5lIj09PWEudHlwZXx8ImNvbHVtbiI9PT1hLnR5cGV8fCJhcmVhIj09PWEudHlwZXx8Im1peCI9PT1hLnR5cGV8fCJjYW5kbGUiPT09YS50eXBlfHwic2NhdHRlciI9PT1hLnR5cGV8fCJidWJibGUiPT09YS50eXBlfHwiYmFyIj09PWEudHlwZSl7aWYoQz10dChvLGEsaSxlKSxQPUMueUF4aXNXaWR0aCxhLnlBeGlzLnNob3dUaXRsZSl7Zm9yKHZhciB6PTAsRD0wO0Q8YS55QXhpcy5kYXRhLmxlbmd0aDtEKyspej1NYXRoLm1heCh6LGEueUF4aXMuZGF0YVtEXS50aXRsZUZvbnRTaXplP2EueUF4aXMuZGF0YVtEXS50aXRsZUZvbnRTaXplKmEucGl4OmkuZm9udFNpemUpO2EuYXJlYVswXSs9en1mb3IodmFyIE09MCwkPTAsc3Q9MDtzdDxQLmxlbmd0aDtzdCsrKSJsZWZ0Ij09UFtzdF0ucG9zaXRpb24/KGEuYXJlYVszXSs9JD4wP1Bbc3RdLndpZHRoK2EueUF4aXMucGFkZGluZyphLnBpeDpQW3N0XS53aWR0aCwkKz0xKToicmlnaHQiPT1QW3N0XS5wb3NpdGlvbiYmKGEuYXJlYVsxXSs9TT4wP1Bbc3RdLndpZHRoK2EueUF4aXMucGFkZGluZyphLnBpeDpQW3N0XS53aWR0aCxNKz0xKX1lbHNlIGkueUF4aXNXaWR0aD1QO2lmKGEuY2hhcnREYXRhLnlBeGlzRGF0YT1DLGEuY2F0ZWdvcmllcyYmYS5jYXRlZ29yaWVzLmxlbmd0aCYmInJhZGFyIiE9PWEudHlwZSYmImdhdWdlIiE9PWEudHlwZSYmImJhciIhPT1hLnR5cGUpe2EuY2hhcnREYXRhLnhBeGlzRGF0YT1KKGEuY2F0ZWdvcmllcyxhKTt2YXIgZnQ9TChhLmNhdGVnb3JpZXMsYSxpLGEuY2hhcnREYXRhLnhBeGlzRGF0YS5lYWNoU3BhY2luZyxlKSx4dD1mdC54QXhpc0hlaWdodCx5dD1mdC5hbmdsZTtpLnhBeGlzSGVpZ2h0PXh0LGkuX3hBeGlzVGV4dEFuZ2xlXz15dCxhLmFyZWFbMl0rPXh0LGEuY2hhcnREYXRhLmNhdGVnb3JpZXNEYXRhPWZ0fWVsc2UgaWYoImxpbmUiPT09YS50eXBlfHwiYXJlYSI9PT1hLnR5cGV8fCJzY2F0dGVyIj09PWEudHlwZXx8ImJ1YmJsZSI9PT1hLnR5cGV8fCJiYXIiPT09YS50eXBlKXthLmNoYXJ0RGF0YS54QXhpc0RhdGE9TyhvLGEsaSxlKSxsPWEuY2hhcnREYXRhLnhBeGlzRGF0YS5yYW5nZXNGb3JtYXQ7dmFyIHd0PUwobCxhLGksYS5jaGFydERhdGEueEF4aXNEYXRhLmVhY2hTcGFjaW5nLGUpLGt0PXd0LnhBeGlzSGVpZ2h0LFB0PXd0LmFuZ2xlO2kueEF4aXNIZWlnaHQ9a3QsaS5feEF4aXNUZXh0QW5nbGVfPVB0LGEuYXJlYVsyXSs9a3QsYS5jaGFydERhdGEuY2F0ZWdvcmllc0RhdGE9d3R9ZWxzZSBhLmNoYXJ0RGF0YS54QXhpc0RhdGE9e3hBeGlzUG9pbnRzOltdfTtpZihhLmVuYWJsZVNjcm9sbCYmInJpZ2h0Ij09YS54QXhpcy5zY3JvbGxBbGlnbiYmdm9pZCAwPT09YS5fc2Nyb2xsRGlzdGFuY2VfKXt2YXIgSXQsRHQ9YS5jaGFydERhdGEueEF4aXNEYXRhLnhBeGlzUG9pbnRzLE10PWEuY2hhcnREYXRhLnhBeGlzRGF0YS5zdGFydFgsRXQ9YS5jaGFydERhdGEueEF4aXNEYXRhLmVuZFgsTHQ9YS5jaGFydERhdGEueEF4aXNEYXRhLmVhY2hTcGFjaW5nLE90PUx0KihEdC5sZW5ndGgtMSksTnQ9RXQtTXQ7SXQ9TnQtT3Qsci5zY3JvbGxPcHRpb249e2N1cnJlbnRPZmZzZXQ6SXQsc3RhcnRUb3VjaFg6SXQsZGlzdGFuY2U6MCxsYXN0TW92ZVRpbWU6MH0sYS5fc2Nyb2xsRGlzdGFuY2VfPUl0fXN3aXRjaCgicGllIiE9PXQmJiJyaW5nIiE9PXQmJiJyb3NlIiE9PXR8fChpLl9waWVUZXh0TWF4TGVuZ3RoXz0hMT09PWEuZGF0YUxhYmVsPzA6ZnVuY3Rpb24odCxhLGksZSl7dD1CKHQpO2Zvcih2YXIgbj0wLHI9MDtyPHQubGVuZ3RoO3IrKyl7dmFyIG89dFtyXSxkPW8uZm9ybWF0dGVyP28uZm9ybWF0dGVyKCtvLl9wcm9wb3J0aW9uXy50b0ZpeGVkKDIpKTpwLnRvRml4ZWQoMTAwKm8uX3Byb3BvcnRpb25fKSsiJSI7bj1NYXRoLm1heChuLHgoZCxvLnRleHRTaXplKmUucGl4fHxhLmZvbnRTaXplLGkpKX1yZXR1cm4gbn0odSxpLGUsYSkpLHQpe2Nhc2Uid29yZCI6dGhpcy5hbmltYXRpb25JbnN0YW5jZT1uZXcgenQoe3RpbWluZzphLnRpbWluZyxkdXJhdGlvbjptLG9uUHJvY2VzczpmdW5jdGlvbih0KXtlLmNsZWFyUmVjdCgwLDAsYS53aWR0aCxhLmhlaWdodCksYS5yb3RhdGUmJmF0KGUsYSksZnVuY3Rpb24odCxhLGksZSl7dmFyIG49YXJndW1lbnRzLmxlbmd0aD40JiZ2b2lkIDAhPT1hcmd1bWVudHNbNF0/YXJndW1lbnRzWzRdOjEscj1kKHt9LHt0eXBlOiJub3JtYWwiLGF1dG9Db2xvcnM6ITB9LGEuZXh0cmEud29yZCk7YS5jaGFydERhdGEud29yZENsb3VkRGF0YXx8KGEuY2hhcnREYXRhLndvcmRDbG91ZERhdGE9U3QoYSxyLnR5cGUsZSkpLGUuYmVnaW5QYXRoKCksZS5zZXRGaWxsU3R5bGUoYS5iYWNrZ3JvdW5kKSxlLnJlY3QoMCwwLGEud2lkdGgsYS5oZWlnaHQpLGUuZmlsbCgpLGUuc2F2ZSgpO3ZhciBvPWEuY2hhcnREYXRhLndvcmRDbG91ZERhdGE7ZS50cmFuc2xhdGUoYS53aWR0aC8yLGEuaGVpZ2h0LzIpO2Zvcih2YXIgcD0wO3A8by5sZW5ndGg7cCsrKXtlLnNhdmUoKSxvW3BdLnJvdGF0ZSYmZS5yb3RhdGUoOTAqTWF0aC5QSS8xODApO3ZhciBjPW9bcF0ubmFtZSxzPW9bcF0udGV4dFNpemUqYS5waXgsbD14KGMscyxlKTtlLmJlZ2luUGF0aCgpLGUuc2V0U3Ryb2tlU3R5bGUob1twXS5jb2xvciksZS5zZXRGaWxsU3R5bGUob1twXS5jb2xvciksZS5zZXRGb250U2l6ZShzKSxvW3BdLnJvdGF0ZT9vW3BdLmFyZWF2WzBdPjAmJihhLnRvb2x0aXAmJmEudG9vbHRpcC5pbmRleD09cD9lLnN0cm9rZVRleHQoYywob1twXS5hcmVhdlswXSs1LWEud2lkdGgvMikqbi1sKigxLW4pLzIsKG9bcF0uYXJlYXZbMV0rNStzLWEuaGVpZ2h0LzIpKm4pOmUuZmlsbFRleHQoYywob1twXS5hcmVhdlswXSs1LWEud2lkdGgvMikqbi1sKigxLW4pLzIsKG9bcF0uYXJlYXZbMV0rNStzLWEuaGVpZ2h0LzIpKm4pKTpvW3BdLmFyZWFbMF0+MCYmKGEudG9vbHRpcCYmYS50b29sdGlwLmluZGV4PT1wP2Uuc3Ryb2tlVGV4dChjLChvW3BdLmFyZWFbMF0rNS1hLndpZHRoLzIpKm4tbCooMS1uKS8yLChvW3BdLmFyZWFbMV0rNStzLWEuaGVpZ2h0LzIpKm4pOmUuZmlsbFRleHQoYywob1twXS5hcmVhWzBdKzUtYS53aWR0aC8yKSpuLWwqKDEtbikvMiwob1twXS5hcmVhWzFdKzUrcy1hLmhlaWdodC8yKSpuKSksZS5zdHJva2UoKSxlLnJlc3RvcmUoKX1lLnJlc3RvcmUoKX0obyxhLGksZSx0KSxDdCgwLGUpfSxvbkFuaW1hdGlvbkZpbmlzaDpmdW5jdGlvbigpe3IudWV2ZW50LnRyaWdnZXIoInJlbmRlckNvbXBsZXRlIil9fSk7YnJlYWs7Y2FzZSJtYXAiOmUuY2xlYXJSZWN0KDAsMCxhLndpZHRoLGEuaGVpZ2h0KSxmdW5jdGlvbih0LGEsaSxlKXt2YXIgbixyLG89ZCh7fSx7Ym9yZGVyOiEwLG1lcmNhdG9yOiExLGJvcmRlcldpZHRoOjEsYm9yZGVyQ29sb3I6IiM2NjY2NjYiLGZpbGxPcGFjaXR5Oi42LGFjdGl2ZUJvcmRlckNvbG9yOiIjZjA0ODY0IixhY3RpdmVGaWxsQ29sb3I6IiNmYWNjMTQiLGFjdGl2ZUZpbGxPcGFjaXR5OjF9LGEuZXh0cmEubWFwKSxwPXQsbD1mdW5jdGlvbih0KXtmb3IodmFyIGEsaT17eE1pbjoxODAseE1heDowLHlNaW46OTAseU1heDowfSxlPTA7ZTx0Lmxlbmd0aDtlKyspZm9yKHZhciBuPXRbZV0uZ2VvbWV0cnkuY29vcmRpbmF0ZXMscj0wO3I8bi5sZW5ndGg7cisrKXthPW5bcl0sMT09YS5sZW5ndGgmJihhPWFbMF0pO2Zvcih2YXIgbz0wO288YS5sZW5ndGg7bysrKXt2YXIgZD1hW29dWzBdLHA9YVtvXVsxXSxjPXt4OmQseTpwfTtpLnhNaW49aS54TWluPGMueD9pLnhNaW46Yy54LGkueE1heD1pLnhNYXg+Yy54P2kueE1heDpjLngsaS55TWluPWkueU1pbjxjLnk/aS55TWluOmMueSxpLnlNYXg9aS55TWF4PmMueT9pLnlNYXg6Yy55fX1yZXR1cm4gaX0ocCk7aWYoby5tZXJjYXRvcil7dmFyIG09YyhsLnhNYXgsbC55TWF4KSxmPWMobC54TWluLGwueU1pbik7bC54TWF4PW1bMF0sbC55TWF4PW1bMV0sbC54TWluPWZbMF0sbC55TWluPWZbMV19Zm9yKHZhciBnPWEud2lkdGgvTWF0aC5hYnMobC54TWF4LWwueE1pbiksdT1hLmhlaWdodC9NYXRoLmFicyhsLnlNYXgtbC55TWluKSxoPWc8dT9nOnUsdj1hLndpZHRoLzItTWF0aC5hYnMobC54TWF4LWwueE1pbikvMipoLGI9YS5oZWlnaHQvMi1NYXRoLmFicyhsLnlNYXgtbC55TWluKS8yKmgseT0wO3k8cC5sZW5ndGg7eSsrKXtlLmJlZ2luUGF0aCgpLGUuc2V0TGluZVdpZHRoKG8uYm9yZGVyV2lkdGgqYS5waXgpLGUuc2V0U3Ryb2tlU3R5bGUoby5ib3JkZXJDb2xvciksZS5zZXRGaWxsU3R5bGUocyh0W3ldLmNvbG9yLG8uZmlsbE9wYWNpdHkpKSxhLnRvb2x0aXAmJmEudG9vbHRpcC5pbmRleD09eSYmKGUuc2V0U3Ryb2tlU3R5bGUoby5hY3RpdmVCb3JkZXJDb2xvciksZS5zZXRGaWxsU3R5bGUocyhvLmFjdGl2ZUZpbGxDb2xvcixvLmFjdGl2ZUZpbGxPcGFjaXR5KSkpO2Zvcih2YXIgQT1wW3ldLmdlb21ldHJ5LmNvb3JkaW5hdGVzLHc9MDt3PEEubGVuZ3RoO3crKyl7bj1BW3ddLDE9PW4ubGVuZ3RoJiYobj1uWzBdKTtmb3IodmFyIGs9MDtrPG4ubGVuZ3RoO2srKyl7dmFyIFM9QXJyYXkoMik7Uz1vLm1lcmNhdG9yP2MobltrXVswXSxuW2tdWzFdKTpuW2tdLHI9QXQoU1sxXSxTWzBdLGwsaCx2LGIpLDA9PT1rPyhlLmJlZ2luUGF0aCgpLGUubW92ZVRvKHIueCxyLnkpKTplLmxpbmVUbyhyLngsci55KX1lLmZpbGwoKSwxPT1vLmJvcmRlciYmZS5zdHJva2UoKX1pZigxPT1hLmRhdGFMYWJlbCl7dmFyIFQ9cFt5XS5wcm9wZXJ0aWVzLmNlbnRyb2lkO2lmKFQpe28ubWVyY2F0b3ImJihUPWMocFt5XS5wcm9wZXJ0aWVzLmNlbnRyb2lkWzBdLHBbeV0ucHJvcGVydGllcy5jZW50cm9pZFsxXSkpLHI9QXQoVFsxXSxUWzBdLGwsaCx2LGIpO3ZhciBDPXBbeV0udGV4dFNpemUqYS5waXh8fGkuZm9udFNpemUsUD1wW3ldLnByb3BlcnRpZXMubmFtZTtlLmJlZ2luUGF0aCgpLGUuc2V0Rm9udFNpemUoQyksZS5zZXRGaWxsU3R5bGUocFt5XS50ZXh0Q29sb3J8fGEuZm9udENvbG9yKSxlLmZpbGxUZXh0KFAsci54LXgoUCxDLGUpLzIsci55K0MvMiksZS5jbG9zZVBhdGgoKSxlLnN0cm9rZSgpfX19YS5jaGFydERhdGEubWFwRGF0YT17Ym91bmRzOmwsc2NhbGU6aCx4b2Zmc2V0OnYseW9mZnNldDpiLG1lcmNhdG9yOm8ubWVyY2F0b3J9LGd0KGEsaSxlLDEpLGUuZHJhdygpfShvLGEsaSxlKTticmVhaztjYXNlImZ1bm5lbCI6dGhpcy5hbmltYXRpb25JbnN0YW5jZT1uZXcgenQoe3RpbWluZzphLnRpbWluZyxkdXJhdGlvbjptLG9uUHJvY2VzczpmdW5jdGlvbih0KXtlLmNsZWFyUmVjdCgwLDAsYS53aWR0aCxhLmhlaWdodCksYS5yb3RhdGUmJmF0KGUsYSksYS5jaGFydERhdGEuZnVubmVsRGF0YT1mdW5jdGlvbih0LGEsaSxlKXt2YXIgbj1hcmd1bWVudHMubGVuZ3RoPjQmJnZvaWQgMCE9PWFyZ3VtZW50c1s0XT9hcmd1bWVudHNbNF06MSxyPWQoe30se3R5cGU6ImZ1bm5lbCIsYWN0aXZlV2lkdGg6MTAsYWN0aXZlT3BhY2l0eTouMyxib3JkZXI6ITEsYm9yZGVyV2lkdGg6Mixib3JkZXJDb2xvcjoiI0ZGRkZGRiIsZmlsbE9wYWNpdHk6MSxsYWJlbEFsaWduOiJyaWdodCIsbGluZWFyVHlwZToibm9uZSIsY3VzdG9tQ29sb3I6W119LGEuZXh0cmEuZnVubmVsKSxvPShhLmhlaWdodC1hLmFyZWFbMF0tYS5hcmVhWzJdKS90Lmxlbmd0aCxwPXt4OmEuYXJlYVszXSsoYS53aWR0aC1hLmFyZWFbMV0tYS5hcmVhWzNdKS8yLHk6YS5oZWlnaHQtYS5hcmVhWzJdfSxjPXIuYWN0aXZlV2lkdGgqYS5waXgsbD1NYXRoLm1pbigoYS53aWR0aC1hLmFyZWFbMV0tYS5hcmVhWzNdKS8yLWMsKGEuaGVpZ2h0LWEuYXJlYVswXS1hLmFyZWFbMl0pLzItYyk7aWYodD1SKHQsbCxyLnR5cGUsbyxuKSxlLnNhdmUoKSxlLnRyYW5zbGF0ZShwLngscC55KSxyLmN1c3RvbUNvbG9yPXYoci5saW5lYXJUeXBlLHIuY3VzdG9tQ29sb3IsdCxpKSwicHlyYW1pZCI9PXIudHlwZSlmb3IodmFyIG09MDttPHQubGVuZ3RoO20rKyl7aWYobT09dC5sZW5ndGgtMSl7YS50b29sdGlwJiZhLnRvb2x0aXAuaW5kZXg9PW0mJihlLmJlZ2luUGF0aCgpLGUuc2V0RmlsbFN0eWxlKHModFttXS5jb2xvcixyLmFjdGl2ZU9wYWNpdHkpKSxlLm1vdmVUbygtYywtbyksZS5saW5lVG8oLXRbbV0ucmFkaXVzLWMsMCksZS5saW5lVG8odFttXS5yYWRpdXMrYywwKSxlLmxpbmVUbyhjLC1vKSxlLmxpbmVUbygtYywtbyksZS5jbG9zZVBhdGgoKSxlLmZpbGwoKSksdFttXS5mdW5uZWxBcmVhPVtwLngtdFttXS5yYWRpdXMscC55LW8qKG0rMSkscC54K3RbbV0ucmFkaXVzLHAueS1vKm1dLGUuYmVnaW5QYXRoKCksZS5zZXRMaW5lV2lkdGgoci5ib3JkZXJXaWR0aCphLnBpeCksZS5zZXRTdHJva2VTdHlsZShyLmJvcmRlckNvbG9yKTt2YXIgZj1zKHRbbV0uY29sb3Isci5maWxsT3BhY2l0eSk7aWYoImN1c3RvbSI9PXIubGluZWFyVHlwZSl7dmFyIGc9ZS5jcmVhdGVMaW5lYXJHcmFkaWVudCh0W21dLnJhZGl1cywtbywtdFttXS5yYWRpdXMsLW8pO2cuYWRkQ29sb3JTdG9wKDAscyh0W21dLmNvbG9yLHIuZmlsbE9wYWNpdHkpKSxnLmFkZENvbG9yU3RvcCguNSxzKHIuY3VzdG9tQ29sb3JbdFttXS5saW5lYXJJbmRleF0sci5maWxsT3BhY2l0eSkpLGcuYWRkQ29sb3JTdG9wKDEscyh0W21dLmNvbG9yLHIuZmlsbE9wYWNpdHkpKSxmPWd9ZS5zZXRGaWxsU3R5bGUoZiksZS5tb3ZlVG8oMCwtbyksZS5saW5lVG8oLXRbbV0ucmFkaXVzLDApLGUubGluZVRvKHRbbV0ucmFkaXVzLDApLGUubGluZVRvKDAsLW8pLGUuY2xvc2VQYXRoKCksZS5maWxsKCksMT09ci5ib3JkZXImJmUuc3Ryb2tlKCl9ZWxzZXthLnRvb2x0aXAmJmEudG9vbHRpcC5pbmRleD09bSYmKGUuYmVnaW5QYXRoKCksZS5zZXRGaWxsU3R5bGUocyh0W21dLmNvbG9yLHIuYWN0aXZlT3BhY2l0eSkpLGUubW92ZVRvKDAsMCksZS5saW5lVG8oLXRbbV0ucmFkaXVzLWMsMCksZS5saW5lVG8oLXRbbSsxXS5yYWRpdXMtYywtbyksZS5saW5lVG8odFttKzFdLnJhZGl1cytjLC1vKSxlLmxpbmVUbyh0W21dLnJhZGl1cytjLDApLGUubGluZVRvKDAsMCksZS5jbG9zZVBhdGgoKSxlLmZpbGwoKSksdFttXS5mdW5uZWxBcmVhPVtwLngtdFttXS5yYWRpdXMscC55LW8qKG0rMSkscC54K3RbbV0ucmFkaXVzLHAueS1vKm1dLGUuYmVnaW5QYXRoKCksZS5zZXRMaW5lV2lkdGgoci5ib3JkZXJXaWR0aCphLnBpeCksZS5zZXRTdHJva2VTdHlsZShyLmJvcmRlckNvbG9yKTtmPXModFttXS5jb2xvcixyLmZpbGxPcGFjaXR5KTtpZigiY3VzdG9tIj09ci5saW5lYXJUeXBlKXtnPWUuY3JlYXRlTGluZWFyR3JhZGllbnQodFttXS5yYWRpdXMsLW8sLXRbbV0ucmFkaXVzLC1vKTtnLmFkZENvbG9yU3RvcCgwLHModFttXS5jb2xvcixyLmZpbGxPcGFjaXR5KSksZy5hZGRDb2xvclN0b3AoLjUscyhyLmN1c3RvbUNvbG9yW3RbbV0ubGluZWFySW5kZXhdLHIuZmlsbE9wYWNpdHkpKSxnLmFkZENvbG9yU3RvcCgxLHModFttXS5jb2xvcixyLmZpbGxPcGFjaXR5KSksZj1nfWUuc2V0RmlsbFN0eWxlKGYpLGUubW92ZVRvKDAsMCksZS5saW5lVG8oLXRbbV0ucmFkaXVzLDApLGUubGluZVRvKC10W20rMV0ucmFkaXVzLC1vKSxlLmxpbmVUbyh0W20rMV0ucmFkaXVzLC1vKSxlLmxpbmVUbyh0W21dLnJhZGl1cywwKSxlLmxpbmVUbygwLDApLGUuY2xvc2VQYXRoKCksZS5maWxsKCksMT09ci5ib3JkZXImJmUuc3Ryb2tlKCl9ZS50cmFuc2xhdGUoMCwtbyl9ZWxzZSBmb3IodmFyIHU9MDt1PHQubGVuZ3RoO3UrKyl7aWYoMD09dSl7YS50b29sdGlwJiZhLnRvb2x0aXAuaW5kZXg9PXUmJihlLmJlZ2luUGF0aCgpLGUuc2V0RmlsbFN0eWxlKHModFt1XS5jb2xvcixyLmFjdGl2ZU9wYWNpdHkpKSxlLm1vdmVUbygtYywwKSxlLmxpbmVUbygtdFt1XS5yYWRpdXMtYywtbyksZS5saW5lVG8odFt1XS5yYWRpdXMrYywtbyksZS5saW5lVG8oYywwKSxlLmxpbmVUbygtYywwKSxlLmNsb3NlUGF0aCgpLGUuZmlsbCgpKSx0W3VdLmZ1bm5lbEFyZWE9W3AueC10W3VdLnJhZGl1cyxwLnktbyxwLngrdFt1XS5yYWRpdXMscC55XSxlLmJlZ2luUGF0aCgpLGUuc2V0TGluZVdpZHRoKHIuYm9yZGVyV2lkdGgqYS5waXgpLGUuc2V0U3Ryb2tlU3R5bGUoci5ib3JkZXJDb2xvcik7Zj1zKHRbdV0uY29sb3Isci5maWxsT3BhY2l0eSk7aWYoImN1c3RvbSI9PXIubGluZWFyVHlwZSl7Zz1lLmNyZWF0ZUxpbmVhckdyYWRpZW50KHRbdV0ucmFkaXVzLC1vLC10W3VdLnJhZGl1cywtbyk7Zy5hZGRDb2xvclN0b3AoMCxzKHRbdV0uY29sb3Isci5maWxsT3BhY2l0eSkpLGcuYWRkQ29sb3JTdG9wKC41LHMoci5jdXN0b21Db2xvclt0W3VdLmxpbmVhckluZGV4XSxyLmZpbGxPcGFjaXR5KSksZy5hZGRDb2xvclN0b3AoMSxzKHRbdV0uY29sb3Isci5maWxsT3BhY2l0eSkpLGY9Z31lLnNldEZpbGxTdHlsZShmKSxlLm1vdmVUbygwLDApLGUubGluZVRvKC10W3VdLnJhZGl1cywtbyksZS5saW5lVG8odFt1XS5yYWRpdXMsLW8pLGUubGluZVRvKDAsMCksZS5jbG9zZVBhdGgoKSxlLmZpbGwoKSwxPT1yLmJvcmRlciYmZS5zdHJva2UoKX1lbHNle2EudG9vbHRpcCYmYS50b29sdGlwLmluZGV4PT11JiYoZS5iZWdpblBhdGgoKSxlLnNldEZpbGxTdHlsZShzKHRbdV0uY29sb3Isci5hY3RpdmVPcGFjaXR5KSksZS5tb3ZlVG8oMCwwKSxlLmxpbmVUbygtdFt1LTFdLnJhZGl1cy1jLDApLGUubGluZVRvKC10W3VdLnJhZGl1cy1jLC1vKSxlLmxpbmVUbyh0W3VdLnJhZGl1cytjLC1vKSxlLmxpbmVUbyh0W3UtMV0ucmFkaXVzK2MsMCksZS5saW5lVG8oMCwwKSxlLmNsb3NlUGF0aCgpLGUuZmlsbCgpKSx0W3VdLmZ1bm5lbEFyZWE9W3AueC10W3VdLnJhZGl1cyxwLnktbyoodSsxKSxwLngrdFt1XS5yYWRpdXMscC55LW8qdV0sZS5iZWdpblBhdGgoKSxlLnNldExpbmVXaWR0aChyLmJvcmRlcldpZHRoKmEucGl4KSxlLnNldFN0cm9rZVN0eWxlKHIuYm9yZGVyQ29sb3IpO2Y9cyh0W3VdLmNvbG9yLHIuZmlsbE9wYWNpdHkpO2lmKCJjdXN0b20iPT1yLmxpbmVhclR5cGUpe2c9ZS5jcmVhdGVMaW5lYXJHcmFkaWVudCh0W3VdLnJhZGl1cywtbywtdFt1XS5yYWRpdXMsLW8pO2cuYWRkQ29sb3JTdG9wKDAscyh0W3VdLmNvbG9yLHIuZmlsbE9wYWNpdHkpKSxnLmFkZENvbG9yU3RvcCguNSxzKHIuY3VzdG9tQ29sb3JbdFt1XS5saW5lYXJJbmRleF0sci5maWxsT3BhY2l0eSkpLGcuYWRkQ29sb3JTdG9wKDEscyh0W3VdLmNvbG9yLHIuZmlsbE9wYWNpdHkpKSxmPWd9ZS5zZXRGaWxsU3R5bGUoZiksZS5tb3ZlVG8oMCwwKSxlLmxpbmVUbygtdFt1LTFdLnJhZGl1cywwKSxlLmxpbmVUbygtdFt1XS5yYWRpdXMsLW8pLGUubGluZVRvKHRbdV0ucmFkaXVzLC1vKSxlLmxpbmVUbyh0W3UtMV0ucmFkaXVzLDApLGUubGluZVRvKDAsMCksZS5jbG9zZVBhdGgoKSxlLmZpbGwoKSwxPT1yLmJvcmRlciYmZS5zdHJva2UoKX1lLnRyYW5zbGF0ZSgwLC1vKX1yZXR1cm4gZS5yZXN0b3JlKCksITEhPT1hLmRhdGFMYWJlbCYmMT09PW4mJlR0KHQsYSxlLG8sci5sYWJlbEFsaWduLGMscCkse2NlbnRlcjpwLHJhZGl1czpsLHNlcmllczp0fX0obyxhLGksZSx0KSxidChhLnNlcmllcyxhLGksZSxhLmNoYXJ0RGF0YSksZ3QoYSxpLGUsdCksQ3QoMCxlKX0sb25BbmltYXRpb25GaW5pc2g6ZnVuY3Rpb24oKXtyLnVldmVudC50cmlnZ2VyKCJyZW5kZXJDb21wbGV0ZSIpfX0pO2JyZWFrO2Nhc2UibGluZSI6dGhpcy5hbmltYXRpb25JbnN0YW5jZT1uZXcgenQoe3RpbWluZzphLnRpbWluZyxkdXJhdGlvbjptLG9uUHJvY2VzczpmdW5jdGlvbih0KXtlLmNsZWFyUmVjdCgwLDAsYS53aWR0aCxhLmhlaWdodCksYS5yb3RhdGUmJmF0KGUsYSksaHQoMCxhLDAsZSksdXQobCxhLGksZSk7dmFyIG49ZnVuY3Rpb24odCxhLGksZSl7dmFyIG49YXJndW1lbnRzLmxlbmd0aD40JiZ2b2lkIDAhPT1hcmd1bWVudHNbNF0/YXJndW1lbnRzWzRdOjEscj1kKHt9LHt0eXBlOiJzdHJhaWdodCIsd2lkdGg6Mn0sYS5leHRyYS5saW5lKTtyLndpZHRoKj1hLnBpeDt2YXIgbz1hLmNoYXJ0RGF0YS54QXhpc0RhdGEscD1vLnhBeGlzUG9pbnRzLGM9by5lYWNoU3BhY2luZyxzPVtdO2Uuc2F2ZSgpO3ZhciBsPTAsbT1hLndpZHRoK2M7cmV0dXJuIGEuX3Njcm9sbERpc3RhbmNlXyYmMCE9PWEuX3Njcm9sbERpc3RhbmNlXyYmITA9PT1hLmVuYWJsZVNjcm9sbCYmKGUudHJhbnNsYXRlKGEuX3Njcm9sbERpc3RhbmNlXywwKSxsPS1hLl9zY3JvbGxEaXN0YW5jZV8tMipjK2EuYXJlYVszXSxtPWwrKGEueEF4aXMuaXRlbUNvdW50KzQpKmMpLHQuZm9yRWFjaCgoZnVuY3Rpb24odCxvKXt2YXIgZCxnLHU7ZD1bXS5jb25jYXQoYS5jaGFydERhdGEueUF4aXNEYXRhLnJhbmdlc1t0LmluZGV4XSksZz1kLnBvcCgpLHU9ZC5zaGlmdCgpO3ZhciBoPXQuZGF0YSx2PVgoaCxnLHUscCxjLGEsaSxuKTtzLnB1c2godik7dmFyIGI9RSh2LHQpO2lmKCJkYXNoIj09dC5saW5lVHlwZSl7dmFyIHg9dC5kYXNoTGVuZ3RoP3QuZGFzaExlbmd0aDo4O3gqPWEucGl4LGUuc2V0TGluZURhc2goW3gseF0pfWUuYmVnaW5QYXRoKCksZS5zZXRTdHJva2VTdHlsZSh0LmNvbG9yKSxlLnNldExpbmVXaWR0aChyLndpZHRoKSxiLmZvckVhY2goKGZ1bmN0aW9uKHQsYSl7aWYoMT09PXQubGVuZ3RoKWUubW92ZVRvKHRbMF0ueCx0WzBdLnkpLGUuYXJjKHRbMF0ueCx0WzBdLnksMSwwLDIqTWF0aC5QSSk7ZWxzZXtlLm1vdmVUbyh0WzBdLngsdFswXS55KTt2YXIgaT0wO2lmKCJjdXJ2ZSI9PT1yLnR5cGUpZm9yKHZhciBuPTA7bjx0Lmxlbmd0aDtuKyspe3ZhciBvPXRbbl07aWYoMD09aSYmby54PmwmJihlLm1vdmVUbyhvLngsby55KSxpPTEpLG4+MCYmby54PmwmJm8ueDxtKXt2YXIgZD1mKHQsbi0xKTtlLmJlemllckN1cnZlVG8oZC5jdHJBLngsZC5jdHJBLnksZC5jdHJCLngsZC5jdHJCLnksby54LG8ueSl9fWlmKCJzdHJhaWdodCI9PT1yLnR5cGUpZm9yKHZhciBwPTA7cDx0Lmxlbmd0aDtwKyspe3ZhciBjPXRbcF07MD09aSYmYy54PmwmJihlLm1vdmVUbyhjLngsYy55KSxpPTEpLHA+MCYmYy54PmwmJmMueDxtJiZlLmxpbmVUbyhjLngsYy55KX1pZigic3RlcCI9PT1yLnR5cGUpZm9yKHZhciBzPTA7czx0Lmxlbmd0aDtzKyspe3ZhciBnPXRbc107MD09aSYmZy54PmwmJihlLm1vdmVUbyhnLngsZy55KSxpPTEpLHM+MCYmZy54PmwmJmcueDxtJiYoZS5saW5lVG8oZy54LHRbcy0xXS55KSxlLmxpbmVUbyhnLngsZy55KSl9ZS5tb3ZlVG8odFswXS54LHRbMF0ueSl9fSkpLGUuc3Ryb2tlKCksZS5zZXRMaW5lRGFzaChbXSksITEhPT1hLmRhdGFQb2ludFNoYXBlJiZpdCh2LHQuY29sb3IsdC5wb2ludFNoYXBlLGUsYSl9KSksITEhPT1hLmRhdGFMYWJlbCYmMT09PW4mJnQuZm9yRWFjaCgoZnVuY3Rpb24odCxyKXt2YXIgbyxkLHM7bz1bXS5jb25jYXQoYS5jaGFydERhdGEueUF4aXNEYXRhLnJhbmdlc1t0LmluZGV4XSksZD1vLnBvcCgpLHM9by5zaGlmdCgpO3ZhciBsPXQuZGF0YSxtPVgobCxkLHMscCxjLGEsaSxuKTtudChtLHQsaSxlLGEpfSkpLGUucmVzdG9yZSgpLHt4QXhpc1BvaW50czpwLGNhbFBvaW50czpzLGVhY2hTcGFjaW5nOmN9fShvLGEsaSxlLHQpLHI9bi54QXhpc1BvaW50cyxwPW4uY2FsUG9pbnRzLGM9bi5lYWNoU3BhY2luZzthLmNoYXJ0RGF0YS54QXhpc1BvaW50cz1yLGEuY2hhcnREYXRhLmNhbFBvaW50cz1wLGEuY2hhcnREYXRhLmVhY2hTcGFjaW5nPWMsdnQoMCxhLGksZSksITEhPT1hLmVuYWJsZU1hcmtMaW5lJiYxPT09dCYmY3QoYSxpLGUpLGJ0KGEuc2VyaWVzLGEsaSxlLGEuY2hhcnREYXRhKSxndChhLGksZSx0KSxDdCgwLGUpfSxvbkFuaW1hdGlvbkZpbmlzaDpmdW5jdGlvbigpe3IudWV2ZW50LnRyaWdnZXIoInJlbmRlckNvbXBsZXRlIil9fSk7YnJlYWs7Y2FzZSJzY2F0dGVyIjp0aGlzLmFuaW1hdGlvbkluc3RhbmNlPW5ldyB6dCh7dGltaW5nOmEudGltaW5nLGR1cmF0aW9uOm0sb25Qcm9jZXNzOmZ1bmN0aW9uKHQpe2UuY2xlYXJSZWN0KDAsMCxhLndpZHRoLGEuaGVpZ2h0KSxhLnJvdGF0ZSYmYXQoZSxhKSxodCgwLGEsMCxlKSx1dChsLGEsaSxlKTt2YXIgbj1mdW5jdGlvbih0LGEsaSxlKXt2YXIgbj1hcmd1bWVudHMubGVuZ3RoPjQmJnZvaWQgMCE9PWFyZ3VtZW50c1s0XT9hcmd1bWVudHNbNF06MSxyPShkKHt9LHt0eXBlOiJjaXJjbGUifSxhLmV4dHJhLnNjYXR0ZXIpLGEuY2hhcnREYXRhLnhBeGlzRGF0YSksbz1yLnhBeGlzUG9pbnRzLHA9ci5lYWNoU3BhY2luZyxjPVtdO2Uuc2F2ZSgpO3JldHVybiBhLndpZHRoLGEuX3Njcm9sbERpc3RhbmNlXyYmMCE9PWEuX3Njcm9sbERpc3RhbmNlXyYmITA9PT1hLmVuYWJsZVNjcm9sbCYmKGUudHJhbnNsYXRlKGEuX3Njcm9sbERpc3RhbmNlXywwKSwtYS5fc2Nyb2xsRGlzdGFuY2VfLTIqcCthLmFyZWFbM10sYS54QXhpcy5pdGVtQ291bnQpLHQuZm9yRWFjaCgoZnVuY3Rpb24odCxyKXt2YXIgZCxjLHM7ZD1bXS5jb25jYXQoYS5jaGFydERhdGEueUF4aXNEYXRhLnJhbmdlc1t0LmluZGV4XSksYz1kLnBvcCgpLHM9ZC5zaGlmdCgpO3ZhciBsPXQuZGF0YSxtPVgobCxjLHMsbyxwLGEsaSxuKTtlLmJlZ2luUGF0aCgpLGUuc2V0U3Ryb2tlU3R5bGUodC5jb2xvciksZS5zZXRGaWxsU3R5bGUodC5jb2xvciksZS5zZXRMaW5lV2lkdGgoMSphLnBpeCk7dmFyIGY9dC5wb2ludFNoYXBlO2lmKCJkaWFtb25kIj09PWYpbS5mb3JFYWNoKChmdW5jdGlvbih0LGEpe251bGwhPT10JiYoZS5tb3ZlVG8odC54LHQueS00LjUpLGUubGluZVRvKHQueC00LjUsdC55KSxlLmxpbmVUbyh0LngsdC55KzQuNSksZS5saW5lVG8odC54KzQuNSx0LnkpLGUubGluZVRvKHQueCx0LnktNC41KSl9KSk7ZWxzZSBpZigiY2lyY2xlIj09PWYpbS5mb3JFYWNoKChmdW5jdGlvbih0LGkpe251bGwhPT10JiYoZS5tb3ZlVG8odC54KzIuNSphLnBpeCx0LnkpLGUuYXJjKHQueCx0LnksMyphLnBpeCwwLDIqTWF0aC5QSSwhMSkpfSkpO2Vsc2UgaWYoInNxdWFyZSI9PT1mKW0uZm9yRWFjaCgoZnVuY3Rpb24odCxhKXtudWxsIT09dCYmKGUubW92ZVRvKHQueC0zLjUsdC55LTMuNSksZS5yZWN0KHQueC0zLjUsdC55LTMuNSw3LDcpKX0pKTtlbHNlIGlmKCJ0cmlhbmdsZSI9PT1mKW0uZm9yRWFjaCgoZnVuY3Rpb24odCxhKXtudWxsIT09dCYmKGUubW92ZVRvKHQueCx0LnktNC41KSxlLmxpbmVUbyh0LngtNC41LHQueSs0LjUpLGUubGluZVRvKHQueCs0LjUsdC55KzQuNSksZS5saW5lVG8odC54LHQueS00LjUpKX0pKTtlbHNlIGlmKCJ0cmlhbmdsZSI9PT1mKXJldHVybjtlLmNsb3NlUGF0aCgpLGUuZmlsbCgpLGUuc3Ryb2tlKCl9KSksITEhPT1hLmRhdGFMYWJlbCYmMT09PW4mJnQuZm9yRWFjaCgoZnVuY3Rpb24odCxyKXt2YXIgZCxjLHM7ZD1bXS5jb25jYXQoYS5jaGFydERhdGEueUF4aXNEYXRhLnJhbmdlc1t0LmluZGV4XSksYz1kLnBvcCgpLHM9ZC5zaGlmdCgpO3ZhciBsPXQuZGF0YSxtPVgobCxjLHMsbyxwLGEsaSxuKTtudChtLHQsaSxlLGEpfSkpLGUucmVzdG9yZSgpLHt4QXhpc1BvaW50czpvLGNhbFBvaW50czpjLGVhY2hTcGFjaW5nOnB9fShvLGEsaSxlLHQpLHI9bi54QXhpc1BvaW50cyxwPW4uY2FsUG9pbnRzLGM9bi5lYWNoU3BhY2luZzthLmNoYXJ0RGF0YS54QXhpc1BvaW50cz1yLGEuY2hhcnREYXRhLmNhbFBvaW50cz1wLGEuY2hhcnREYXRhLmVhY2hTcGFjaW5nPWMsdnQoMCxhLGksZSksITEhPT1hLmVuYWJsZU1hcmtMaW5lJiYxPT09dCYmY3QoYSxpLGUpLGJ0KGEuc2VyaWVzLGEsaSxlLGEuY2hhcnREYXRhKSxndChhLGksZSx0KSxDdCgwLGUpfSxvbkFuaW1hdGlvbkZpbmlzaDpmdW5jdGlvbigpe3IudWV2ZW50LnRyaWdnZXIoInJlbmRlckNvbXBsZXRlIil9fSk7YnJlYWs7Y2FzZSJidWJibGUiOnRoaXMuYW5pbWF0aW9uSW5zdGFuY2U9bmV3IHp0KHt0aW1pbmc6YS50aW1pbmcsZHVyYXRpb246bSxvblByb2Nlc3M6ZnVuY3Rpb24odCl7ZS5jbGVhclJlY3QoMCwwLGEud2lkdGgsYS5oZWlnaHQpLGEucm90YXRlJiZhdChlLGEpLGh0KDAsYSwwLGUpLHV0KGwsYSxpLGUpO3ZhciBuPWZ1bmN0aW9uKHQsYSxpLGUpe3ZhciBuPWFyZ3VtZW50cy5sZW5ndGg+NCYmdm9pZCAwIT09YXJndW1lbnRzWzRdP2FyZ3VtZW50c1s0XToxLHI9ZCh7fSx7b3BhY2l0eToxLGJvcmRlcjoyfSxhLmV4dHJhLmJ1YmJsZSksbz1hLmNoYXJ0RGF0YS54QXhpc0RhdGEscD1vLnhBeGlzUG9pbnRzLGM9by5lYWNoU3BhY2luZyxsPVtdO2Uuc2F2ZSgpO3JldHVybiBhLndpZHRoLGEuX3Njcm9sbERpc3RhbmNlXyYmMCE9PWEuX3Njcm9sbERpc3RhbmNlXyYmITA9PT1hLmVuYWJsZVNjcm9sbCYmKGUudHJhbnNsYXRlKGEuX3Njcm9sbERpc3RhbmNlXywwKSwtYS5fc2Nyb2xsRGlzdGFuY2VfLTIqYythLmFyZWFbM10sYS54QXhpcy5pdGVtQ291bnQpLHQuZm9yRWFjaCgoZnVuY3Rpb24obyxkKXt2YXIgbCxtLGY7bD1bXS5jb25jYXQoYS5jaGFydERhdGEueUF4aXNEYXRhLnJhbmdlc1tvLmluZGV4XSksbT1sLnBvcCgpLGY9bC5zaGlmdCgpO3ZhciBnPW8uZGF0YSx1PVgoZyxtLGYscCxjLGEsaSxuKTtlLmJlZ2luUGF0aCgpLGUuc2V0U3Ryb2tlU3R5bGUoby5jb2xvciksZS5zZXRMaW5lV2lkdGgoci5ib3JkZXIqYS5waXgpLGUuc2V0RmlsbFN0eWxlKHMoby5jb2xvcixyLm9wYWNpdHkpKSx1LmZvckVhY2goKGZ1bmN0aW9uKHQsaSl7ZS5tb3ZlVG8odC54K3Qucix0LnkpLGUuYXJjKHQueCx0LnksdC5yKmEucGl4LDAsMipNYXRoLlBJLCExKX0pKSxlLmNsb3NlUGF0aCgpLGUuZmlsbCgpLGUuc3Ryb2tlKCksITEhPT1hLmRhdGFMYWJlbCYmMT09PW4mJnUuZm9yRWFjaCgoZnVuY3Rpb24obixyKXtlLmJlZ2luUGF0aCgpO3ZhciBvPXQudGV4dFNpemUqYS5waXh8fGkuZm9udFNpemU7ZS5zZXRGb250U2l6ZShvKSxlLnNldEZpbGxTdHlsZSh0LnRleHRDb2xvcnx8IiNGRkZGRkYiKSxlLnNldFRleHRBbGlnbigiY2VudGVyIiksZS5maWxsVGV4dChTdHJpbmcobi50KSxuLngsbi55K28vMiksZS5jbG9zZVBhdGgoKSxlLnN0cm9rZSgpLGUuc2V0VGV4dEFsaWduKCJsZWZ0Iil9KSl9KSksZS5yZXN0b3JlKCkse3hBeGlzUG9pbnRzOnAsY2FsUG9pbnRzOmwsZWFjaFNwYWNpbmc6Y319KG8sYSxpLGUsdCkscj1uLnhBeGlzUG9pbnRzLHA9bi5jYWxQb2ludHMsYz1uLmVhY2hTcGFjaW5nO2EuY2hhcnREYXRhLnhBeGlzUG9pbnRzPXIsYS5jaGFydERhdGEuY2FsUG9pbnRzPXAsYS5jaGFydERhdGEuZWFjaFNwYWNpbmc9Yyx2dCgwLGEsaSxlKSwhMSE9PWEuZW5hYmxlTWFya0xpbmUmJjE9PT10JiZjdChhLGksZSksYnQoYS5zZXJpZXMsYSxpLGUsYS5jaGFydERhdGEpLGd0KGEsaSxlLHQpLEN0KDAsZSl9LG9uQW5pbWF0aW9uRmluaXNoOmZ1bmN0aW9uKCl7ci51ZXZlbnQudHJpZ2dlcigicmVuZGVyQ29tcGxldGUiKX19KTticmVhaztjYXNlIm1peCI6dGhpcy5hbmltYXRpb25JbnN0YW5jZT1uZXcgenQoe3RpbWluZzphLnRpbWluZyxkdXJhdGlvbjptLG9uUHJvY2VzczpmdW5jdGlvbih0KXtlLmNsZWFyUmVjdCgwLDAsYS53aWR0aCxhLmhlaWdodCksYS5yb3RhdGUmJmF0KGUsYSksaHQoMCxhLDAsZSksdXQobCxhLGksZSk7dmFyIHI9ZnVuY3Rpb24odCxhLGksZSl7dmFyIHI9YXJndW1lbnRzLmxlbmd0aD40JiZ2b2lkIDAhPT1hcmd1bWVudHNbNF0/YXJndW1lbnRzWzRdOjEsbz1kKHt9LHt3aWR0aDpsLzIsYmFyQm9yZGVyQ2lyY2xlOiExLGJhckJvcmRlclJhZGl1czpbXSxzZXJpZXNHYXA6MixsaW5lYXJUeXBlOiJub25lIixsaW5lYXJPcGFjaXR5OjEsY3VzdG9tQ29sb3I6W10sY29sb3JTdG9wOjB9LGEuZXh0cmEubWl4LmNvbHVtbikscD1hLmNoYXJ0RGF0YS54QXhpc0RhdGEsYz1wLnhBeGlzUG9pbnRzLGw9cC5lYWNoU3BhY2luZyxtPWEuaGVpZ2h0LWEuYXJlYVsyXSxnPVtdLHU9MCxoPTA7dC5mb3JFYWNoKChmdW5jdGlvbih0LGEpeyJjb2x1bW4iPT10LnR5cGUmJihoKz0xKX0pKSxlLnNhdmUoKTt2YXIgYj0tMix4PWMubGVuZ3RoKzIseT0wLEE9YS53aWR0aCtsO2lmKGEuX3Njcm9sbERpc3RhbmNlXyYmMCE9PWEuX3Njcm9sbERpc3RhbmNlXyYmITA9PT1hLmVuYWJsZVNjcm9sbCYmKGUudHJhbnNsYXRlKGEuX3Njcm9sbERpc3RhbmNlXywwKSxiPU1hdGguZmxvb3IoLWEuX3Njcm9sbERpc3RhbmNlXy9sKS0yLHg9YithLnhBeGlzLml0ZW1Db3VudCs0LHk9LWEuX3Njcm9sbERpc3RhbmNlXy0yKmwrYS5hcmVhWzNdLEE9eSsoYS54QXhpcy5pdGVtQ291bnQrNCkqbCksby5jdXN0b21Db2xvcj12KG8ubGluZWFyVHlwZSxvLmN1c3RvbUNvbG9yLHQsaSksdC5mb3JFYWNoKChmdW5jdGlvbih0LGQpe3ZhciBwLHYsdztwPVtdLmNvbmNhdChhLmNoYXJ0RGF0YS55QXhpc0RhdGEucmFuZ2VzW3QuaW5kZXhdKSx2PXAucG9wKCksdz1wLnNoaWZ0KCk7dmFyIGs9dC5kYXRhLFM9WChrLHYsdyxjLGwsYSxpLHIpO2lmKGcucHVzaChTKSwiY29sdW1uIj09dC50eXBlKXtTPVcoUyxsLGgsdSwwLGEpO2Zvcih2YXIgVD0wO1Q8Uy5sZW5ndGg7VCsrKXt2YXIgQz1TW1RdO2lmKG51bGwhPT1DJiZUPmImJlQ8eCl7dmFyIFA9Qy54LUMud2lkdGgvMjthLmhlaWdodCxDLnksYS5hcmVhWzJdO2UuYmVnaW5QYXRoKCk7dmFyIHo9Qy5jb2xvcnx8dC5jb2xvcixJPUMuY29sb3J8fHQuY29sb3I7aWYoIm5vbmUiIT09by5saW5lYXJUeXBlKXt2YXIgRD1lLmNyZWF0ZUxpbmVhckdyYWRpZW50KFAsQy55LFAsYS5oZWlnaHQtYS5hcmVhWzJdKTsib3BhY2l0eSI9PW8ubGluZWFyVHlwZT8oRC5hZGRDb2xvclN0b3AoMCxzKHosby5saW5lYXJPcGFjaXR5KSksRC5hZGRDb2xvclN0b3AoMSxzKHosMSkpKTooRC5hZGRDb2xvclN0b3AoMCxzKG8uY3VzdG9tQ29sb3JbdC5saW5lYXJJbmRleF0sby5saW5lYXJPcGFjaXR5KSksRC5hZGRDb2xvclN0b3Aoby5jb2xvclN0b3AscyhvLmN1c3RvbUNvbG9yW3QubGluZWFySW5kZXhdLG8ubGluZWFyT3BhY2l0eSkpLEQuYWRkQ29sb3JTdG9wKDEscyh6LDEpKSksej1EfWlmKG8uYmFyQm9yZGVyUmFkaXVzJiY0PT09by5iYXJCb3JkZXJSYWRpdXMubGVuZ3RofHxvLmJhckJvcmRlckNpcmNsZSl7dmFyIE09UCxMPUMueSxPPUMud2lkdGgsTj1hLmhlaWdodC1hLmFyZWFbMl0tQy55O28uYmFyQm9yZGVyQ2lyY2xlJiYoby5iYXJCb3JkZXJSYWRpdXM9W08vMixPLzIsMCwwXSk7dmFyIEI9KDAsbi5kZWZhdWx0KShvLmJhckJvcmRlclJhZGl1cyw0KSxSPUJbMF0sRj1CWzFdLF89QlsyXSxqPUJbM10sVT1NYXRoLm1pbihPLzIsTi8yKTtSPVI+VT9VOlIsRj1GPlU/VTpGLF89Xz5VP1U6XyxqPWo+VT9VOmosUj1SPDA/MDpSLEY9RjwwPzA6RixfPV88MD8wOl8saj1qPDA/MDpqLGUuYXJjKE0rUixMK1IsUiwtTWF0aC5QSSwtTWF0aC5QSS8yKSxlLmFyYyhNK08tRixMK0YsRiwtTWF0aC5QSS8yLDApLGUuYXJjKE0rTy1fLEwrTi1fLF8sMCxNYXRoLlBJLzIpLGUuYXJjKE0raixMK04taixqLE1hdGguUEkvMixNYXRoLlBJKX1lbHNlIGUubW92ZVRvKFAsQy55KSxlLmxpbmVUbyhQK0Mud2lkdGgtMixDLnkpLGUubGluZVRvKFArQy53aWR0aC0yLGEuaGVpZ2h0LWEuYXJlYVsyXSksZS5saW5lVG8oUCxhLmhlaWdodC1hLmFyZWFbMl0pLGUubGluZVRvKFAsQy55KSxlLnNldExpbmVXaWR0aCgxKSxlLnNldFN0cm9rZVN0eWxlKEkpO2Uuc2V0RmlsbFN0eWxlKHopLGUuY2xvc2VQYXRoKCksZS5maWxsKCl9fXUrPTF9aWYoImFyZWEiPT10LnR5cGUpZm9yKHZhciBHPUUoUyx0KSxZPTA7WTxHLmxlbmd0aDtZKyspe3ZhciBaPUdbWV07aWYoZS5iZWdpblBhdGgoKSxlLnNldFN0cm9rZVN0eWxlKHQuY29sb3IpLGUuc2V0RmlsbFN0eWxlKHModC5jb2xvciwuMikpLGUuc2V0TGluZVdpZHRoKDIqYS5waXgpLFoubGVuZ3RoPjEpe3ZhciBRPVpbMF0sSj1aW1oubGVuZ3RoLTFdO2UubW92ZVRvKFEueCxRLnkpO3ZhciBIPTA7aWYoImN1cnZlIj09PXQuc3R5bGUpZm9yKHZhciBxPTA7cTxaLmxlbmd0aDtxKyspe3ZhciBWPVpbcV07aWYoMD09SCYmVi54PnkmJihlLm1vdmVUbyhWLngsVi55KSxIPTEpLHE+MCYmVi54PnkmJlYueDxBKXt2YXIgSz1mKFoscS0xKTtlLmJlemllckN1cnZlVG8oSy5jdHJBLngsSy5jdHJBLnksSy5jdHJCLngsSy5jdHJCLnksVi54LFYueSl9fWVsc2UgZm9yKHZhciAkPTA7JDxaLmxlbmd0aDskKyspe3ZhciB0dD1aWyRdOzA9PUgmJnR0Lng+eSYmKGUubW92ZVRvKHR0LngsdHQueSksSD0xKSwkPjAmJnR0Lng+eSYmdHQueDxBJiZlLmxpbmVUbyh0dC54LHR0LnkpfWUubGluZVRvKEoueCxtKSxlLmxpbmVUbyhRLngsbSksZS5saW5lVG8oUS54LFEueSl9ZWxzZXt2YXIgYXQ9WlswXTtlLm1vdmVUbyhhdC54LWwvMixhdC55KSxlLmxpbmVUbyhhdC54K2wvMixhdC55KSxlLmxpbmVUbyhhdC54K2wvMixtKSxlLmxpbmVUbyhhdC54LWwvMixtKSxlLm1vdmVUbyhhdC54LWwvMixhdC55KX1lLmNsb3NlUGF0aCgpLGUuZmlsbCgpfWlmKCJsaW5lIj09dC50eXBlKXt2YXIgZXQ9RShTLHQpO2V0LmZvckVhY2goKGZ1bmN0aW9uKGksbil7aWYoImRhc2giPT10LmxpbmVUeXBlKXt2YXIgcj10LmRhc2hMZW5ndGg/dC5kYXNoTGVuZ3RoOjg7cio9YS5waXgsZS5zZXRMaW5lRGFzaChbcixyXSl9aWYoZS5iZWdpblBhdGgoKSxlLnNldFN0cm9rZVN0eWxlKHQuY29sb3IpLGUuc2V0TGluZVdpZHRoKDIqYS5waXgpLDE9PT1pLmxlbmd0aCllLm1vdmVUbyhpWzBdLngsaVswXS55KSxlLmFyYyhpWzBdLngsaVswXS55LDEsMCwyKk1hdGguUEkpO2Vsc2V7ZS5tb3ZlVG8oaVswXS54LGlbMF0ueSk7dmFyIG89MDtpZigiY3VydmUiPT10LnN0eWxlKWZvcih2YXIgZD0wO2Q8aS5sZW5ndGg7ZCsrKXt2YXIgcD1pW2RdO2lmKDA9PW8mJnAueD55JiYoZS5tb3ZlVG8ocC54LHAueSksbz0xKSxkPjAmJnAueD55JiZwLng8QSl7dmFyIGM9ZihpLGQtMSk7ZS5iZXppZXJDdXJ2ZVRvKGMuY3RyQS54LGMuY3RyQS55LGMuY3RyQi54LGMuY3RyQi55LHAueCxwLnkpfX1lbHNlIGZvcih2YXIgcz0wO3M8aS5sZW5ndGg7cysrKXt2YXIgbD1pW3NdOzA9PW8mJmwueD55JiYoZS5tb3ZlVG8obC54LGwueSksbz0xKSxzPjAmJmwueD55JiZsLng8QSYmZS5saW5lVG8obC54LGwueSl9ZS5tb3ZlVG8oaVswXS54LGlbMF0ueSl9ZS5zdHJva2UoKSxlLnNldExpbmVEYXNoKFtdKX0pKX0icG9pbnQiPT10LnR5cGUmJih0LmFkZFBvaW50PSEwKSwxPT10LmFkZFBvaW50JiYiY29sdW1uIiE9PXQudHlwZSYmaXQoUyx0LmNvbG9yLHQucG9pbnRTaGFwZSxlLGEpfSkpLCExIT09YS5kYXRhTGFiZWwmJjE9PT1yKXt1PTA7dC5mb3JFYWNoKChmdW5jdGlvbih0LG4pe3ZhciBvLGQscDtvPVtdLmNvbmNhdChhLmNoYXJ0RGF0YS55QXhpc0RhdGEucmFuZ2VzW3QuaW5kZXhdKSxkPW8ucG9wKCkscD1vLnNoaWZ0KCk7dmFyIHM9dC5kYXRhLG09WChzLGQscCxjLGwsYSxpLHIpOyJjb2x1bW4iIT09dC50eXBlP250KG0sdCxpLGUsYSk6KG09VyhtLGwsaCx1LDAsYSksbnQobSx0LGksZSxhKSx1Kz0xKX0pKX1yZXR1cm4gZS5yZXN0b3JlKCkse3hBeGlzUG9pbnRzOmMsY2FsUG9pbnRzOmcsZWFjaFNwYWNpbmc6bH19KG8sYSxpLGUsdCkscD1yLnhBeGlzUG9pbnRzLGM9ci5jYWxQb2ludHMsbT1yLmVhY2hTcGFjaW5nO2EuY2hhcnREYXRhLnhBeGlzUG9pbnRzPXAsYS5jaGFydERhdGEuY2FsUG9pbnRzPWMsYS5jaGFydERhdGEuZWFjaFNwYWNpbmc9bSx2dCgwLGEsaSxlKSwhMSE9PWEuZW5hYmxlTWFya0xpbmUmJjE9PT10JiZjdChhLGksZSksYnQoYS5zZXJpZXMsYSxpLGUsYS5jaGFydERhdGEpLGd0KGEsaSxlLHQpLEN0KDAsZSl9LG9uQW5pbWF0aW9uRmluaXNoOmZ1bmN0aW9uKCl7ci51ZXZlbnQudHJpZ2dlcigicmVuZGVyQ29tcGxldGUiKX19KTticmVhaztjYXNlImNvbHVtbiI6dGhpcy5hbmltYXRpb25JbnN0YW5jZT1uZXcgenQoe3RpbWluZzphLnRpbWluZyxkdXJhdGlvbjptLG9uUHJvY2VzczpmdW5jdGlvbih0KXtlLmNsZWFyUmVjdCgwLDAsYS53aWR0aCxhLmhlaWdodCksYS5yb3RhdGUmJmF0KGUsYSksaHQoMCxhLDAsZSksdXQobCxhLGksZSk7dmFyIHI9ZnVuY3Rpb24odCxhLGksZSl7dmFyIHI9YXJndW1lbnRzLmxlbmd0aD40JiZ2b2lkIDAhPT1hcmd1bWVudHNbNF0/YXJndW1lbnRzWzRdOjEsbz1hLmNoYXJ0RGF0YS54QXhpc0RhdGEscD1vLnhBeGlzUG9pbnRzLGM9by5lYWNoU3BhY2luZyxsPWQoe30se3R5cGU6Imdyb3VwIix3aWR0aDpjLzIsbWV0ZXJCb3JkZXI6NCxtZXRlckZpbGxDb2xvcjoiI0ZGRkZGRiIsYmFyQm9yZGVyQ2lyY2xlOiExLGJhckJvcmRlclJhZGl1czpbXSxzZXJpZXNHYXA6MixsaW5lYXJUeXBlOiJub25lIixsaW5lYXJPcGFjaXR5OjEsY3VzdG9tQ29sb3I6W10sY29sb3JTdG9wOjB9LGEuZXh0cmEuY29sdW1uKSxtPVtdO2Uuc2F2ZSgpO3ZhciBmPS0yLGc9cC5sZW5ndGgrMjtyZXR1cm4gYS5fc2Nyb2xsRGlzdGFuY2VfJiYwIT09YS5fc2Nyb2xsRGlzdGFuY2VfJiYhMD09PWEuZW5hYmxlU2Nyb2xsJiYoZS50cmFuc2xhdGUoYS5fc2Nyb2xsRGlzdGFuY2VfLDApLGY9TWF0aC5mbG9vcigtYS5fc2Nyb2xsRGlzdGFuY2VfL2MpLTIsZz1mK2EueEF4aXMuaXRlbUNvdW50KzQpLGEudG9vbHRpcCYmYS50b29sdGlwLnRleHRMaXN0JiZhLnRvb2x0aXAudGV4dExpc3QubGVuZ3RoJiYxPT09ciYmbHQoYS50b29sdGlwLm9mZnNldC54LGEsMCxlLGMpLGwuY3VzdG9tQ29sb3I9dihsLmxpbmVhclR5cGUsbC5jdXN0b21Db2xvcix0LGkpLHQuZm9yRWFjaCgoZnVuY3Rpb24obyxkKXt2YXIgdSxoLHY7dT1bXS5jb25jYXQoYS5jaGFydERhdGEueUF4aXNEYXRhLnJhbmdlc1tvLmluZGV4XSksaD11LnBvcCgpLHY9dS5zaGlmdCgpO3ZhciBiPW8uZGF0YTtzd2l0Y2gobC50eXBlKXtjYXNlImdyb3VwIjp2YXIgeD1YKGIsaCx2LHAsYyxhLGkscikseT1WKGIsaCx2LHAsYyxhLGksZCx0LHIpO20ucHVzaCh5KSx4PVcoeCxjLHQubGVuZ3RoLGQsMCxhKTtmb3IodmFyIEE9MDtBPHgubGVuZ3RoO0ErKyl7dmFyIHc9eFtBXTtpZihudWxsIT09dyYmQT5mJiZBPGcpe3ZhciBrPXcueC13LndpZHRoLzIsUz1hLmhlaWdodC13LnktYS5hcmVhWzJdO2UuYmVnaW5QYXRoKCk7dmFyIFQ9dy5jb2xvcnx8by5jb2xvcixDPXcuY29sb3J8fG8uY29sb3I7aWYoIm5vbmUiIT09bC5saW5lYXJUeXBlKXt2YXIgUD1lLmNyZWF0ZUxpbmVhckdyYWRpZW50KGssdy55LGssYS5oZWlnaHQtYS5hcmVhWzJdKTsib3BhY2l0eSI9PWwubGluZWFyVHlwZT8oUC5hZGRDb2xvclN0b3AoMCxzKFQsbC5saW5lYXJPcGFjaXR5KSksUC5hZGRDb2xvclN0b3AoMSxzKFQsMSkpKTooUC5hZGRDb2xvclN0b3AoMCxzKGwuY3VzdG9tQ29sb3Jbby5saW5lYXJJbmRleF0sbC5saW5lYXJPcGFjaXR5KSksUC5hZGRDb2xvclN0b3AobC5jb2xvclN0b3AscyhsLmN1c3RvbUNvbG9yW28ubGluZWFySW5kZXhdLGwubGluZWFyT3BhY2l0eSkpLFAuYWRkQ29sb3JTdG9wKDEscyhULDEpKSksVD1QfWlmKGwuYmFyQm9yZGVyUmFkaXVzJiY0PT09bC5iYXJCb3JkZXJSYWRpdXMubGVuZ3RofHwhMD09PWwuYmFyQm9yZGVyQ2lyY2xlKXt2YXIgej1rLEk9dy55LEQ9dy53aWR0aCxNPWEuaGVpZ2h0LWEuYXJlYVsyXS13Lnk7bC5iYXJCb3JkZXJDaXJjbGUmJihsLmJhckJvcmRlclJhZGl1cz1bRC8yLEQvMiwwLDBdKTt2YXIgRT0oMCxuLmRlZmF1bHQpKGwuYmFyQm9yZGVyUmFkaXVzLDQpLEw9RVswXSxPPUVbMV0sTj1FWzJdLEI9RVszXSxSPU1hdGgubWluKEQvMixNLzIpO0w9TD5SP1I6TCxPPU8+Uj9SOk8sTj1OPlI/UjpOLEI9Qj5SP1I6QixMPUw8MD8wOkwsTz1PPDA/MDpPLE49TjwwPzA6TixCPUI8MD8wOkIsZS5hcmMoeitMLEkrTCxMLC1NYXRoLlBJLC1NYXRoLlBJLzIpLGUuYXJjKHorRC1PLEkrTyxPLC1NYXRoLlBJLzIsMCksZS5hcmMoeitELU4sSStNLU4sTiwwLE1hdGguUEkvMiksZS5hcmMoeitCLEkrTS1CLEIsTWF0aC5QSS8yLE1hdGguUEkpfWVsc2UgZS5tb3ZlVG8oayx3LnkpLGUubGluZVRvKGsrdy53aWR0aC0yLHcueSksZS5saW5lVG8oayt3LndpZHRoLTIsYS5oZWlnaHQtYS5hcmVhWzJdKSxlLmxpbmVUbyhrLGEuaGVpZ2h0LWEuYXJlYVsyXSksZS5saW5lVG8oayx3LnkpLGUuc2V0TGluZVdpZHRoKDEpLGUuc2V0U3Ryb2tlU3R5bGUoQyk7ZS5zZXRGaWxsU3R5bGUoVCksZS5jbG9zZVBhdGgoKSxlLmZpbGwoKX19YnJlYWs7Y2FzZSJzdGFjayI6eD1WKGIsaCx2LHAsYyxhLGksZCx0LHIpO20ucHVzaCh4KSx4PVooeCxjLHQubGVuZ3RoLDAsMCxhKTtmb3IodmFyIEY9MDtGPHgubGVuZ3RoO0YrKyl7dmFyIF89eFtGXTtpZihudWxsIT09XyYmRj5mJiZGPGcpe2UuYmVnaW5QYXRoKCk7VD1fLmNvbG9yfHxvLmNvbG9yLGs9Xy54LV8ud2lkdGgvMisxLFM9YS5oZWlnaHQtXy55LWEuYXJlYVsyXTt2YXIgaj1hLmhlaWdodC1fLnkwLWEuYXJlYVsyXTtkPjAmJihTLT1qKSxlLnNldEZpbGxTdHlsZShUKSxlLm1vdmVUbyhrLF8ueSksZS5maWxsUmVjdChrLF8ueSxfLndpZHRoLTIsUyksZS5jbG9zZVBhdGgoKSxlLmZpbGwoKX19YnJlYWs7Y2FzZSJtZXRlciI6eD1YKGIsaCx2LHAsYyxhLGkscik7aWYobS5wdXNoKHgpLHg9WSh4LGMsdC5sZW5ndGgsZCwwLGEsbC5tZXRlckJvcmRlciksMD09ZClmb3IodmFyIFU9MDtVPHgubGVuZ3RoO1UrKyl7dmFyIEc9eFtVXTtpZihudWxsIT09RyYmVT5mJiZVPGcpe2UuYmVnaW5QYXRoKCksZS5zZXRGaWxsU3R5bGUobC5tZXRlckZpbGxDb2xvcik7az1HLngtRy53aWR0aC8yLFM9YS5oZWlnaHQtRy55LWEuYXJlYVsyXTtpZihsLmJhckJvcmRlckNpcmNsZSl7dmFyIFE9KEcud2lkdGgtMipsLm1ldGVyQm9yZGVyKS8yO1E+UyYmKFE9UyksZS5tb3ZlVG8oaytsLm1ldGVyQm9yZGVyLGEuaGVpZ2h0LWEuYXJlYVsyXSksZS5saW5lVG8oaytsLm1ldGVyQm9yZGVyLEcueStRKSxlLmFyYyhrK0cud2lkdGgvMixHLnkrUSxRLC1NYXRoLlBJLDApLGUubGluZVRvKGsrRy53aWR0aC1sLm1ldGVyQm9yZGVyLGEuaGVpZ2h0LWEuYXJlYVsyXSksZS5saW5lVG8oayxhLmhlaWdodC1hLmFyZWFbMl0pLGUuZmlsbCgpfWVsc2UgZS5tb3ZlVG8oayxHLnkpLGUuZmlsbFJlY3QoayxHLnksRy53aWR0aCxTKSxlLmNsb3NlUGF0aCgpLGUuZmlsbCgpO2lmKGwubWV0ZXJCb3JkZXI+MCl7aWYoZS5iZWdpblBhdGgoKSxlLnNldFN0cm9rZVN0eWxlKG8uY29sb3IpLGUuc2V0TGluZVdpZHRoKGwubWV0ZXJCb3JkZXIqYS5waXgpLGwuYmFyQm9yZGVyQ2lyY2xlKXtRPShHLndpZHRoLWwubWV0ZXJCb3JkZXIpLzI7UT5TJiYoUT1TKSxlLm1vdmVUbyhrKy41KmwubWV0ZXJCb3JkZXIsYS5oZWlnaHQtYS5hcmVhWzJdKSxlLmxpbmVUbyhrKy41KmwubWV0ZXJCb3JkZXIsRy55K1EpLGUuYXJjKGsrRy53aWR0aC8yLEcueStRLS41KmwubWV0ZXJCb3JkZXIsUSwtTWF0aC5QSSwwKSxlLmxpbmVUbyhrK0cud2lkdGgtLjUqbC5tZXRlckJvcmRlcixhLmhlaWdodC1hLmFyZWFbMl0pfWVsc2UgZS5tb3ZlVG8oaysuNSpsLm1ldGVyQm9yZGVyLEcueStTKSxlLmxpbmVUbyhrKy41KmwubWV0ZXJCb3JkZXIsRy55Ky41KmwubWV0ZXJCb3JkZXIpLGUubGluZVRvKGsrRy53aWR0aC0uNSpsLm1ldGVyQm9yZGVyLEcueSsuNSpsLm1ldGVyQm9yZGVyKSxlLmxpbmVUbyhrK0cud2lkdGgtLjUqbC5tZXRlckJvcmRlcixHLnkrUyk7ZS5zdHJva2UoKX19fWVsc2UgZm9yKHZhciBKPTA7Sjx4Lmxlbmd0aDtKKyspe3ZhciBIPXhbSl07aWYobnVsbCE9PUgmJko+ZiYmSjxnKXtlLmJlZ2luUGF0aCgpLGUuc2V0RmlsbFN0eWxlKEguY29sb3J8fG8uY29sb3IpO2s9SC54LUgud2lkdGgvMixTPWEuaGVpZ2h0LUgueS1hLmFyZWFbMl07aWYobC5iYXJCb3JkZXJDaXJjbGUpe1E9SC53aWR0aC8yO1E+UyYmKFE9UyksZS5tb3ZlVG8oayxhLmhlaWdodC1hLmFyZWFbMl0pLGUuYXJjKGsrUSxILnkrUSxRLC1NYXRoLlBJLC1NYXRoLlBJLzIpLGUuYXJjKGsrSC53aWR0aC1RLEgueStRLFEsLU1hdGguUEkvMiwwKSxlLmxpbmVUbyhrK0gud2lkdGgsYS5oZWlnaHQtYS5hcmVhWzJdKSxlLmxpbmVUbyhrLGEuaGVpZ2h0LWEuYXJlYVsyXSksZS5maWxsKCl9ZWxzZSBlLm1vdmVUbyhrLEgueSksZS5maWxsUmVjdChrLEgueSxILndpZHRoLFMpLGUuY2xvc2VQYXRoKCksZS5maWxsKCl9fWJyZWFrfX0pKSwhMSE9PWEuZGF0YUxhYmVsJiYxPT09ciYmdC5mb3JFYWNoKChmdW5jdGlvbihuLG8pe3ZhciBkLHMsbTtkPVtdLmNvbmNhdChhLmNoYXJ0RGF0YS55QXhpc0RhdGEucmFuZ2VzW24uaW5kZXhdKSxzPWQucG9wKCksbT1kLnNoaWZ0KCk7dmFyIGY9bi5kYXRhO3N3aXRjaChsLnR5cGUpe2Nhc2UiZ3JvdXAiOnZhciBnPVgoZixzLG0scCxjLGEsaSxyKTtnPVcoZyxjLHQubGVuZ3RoLG8sMCxhKSxudChnLG4saSxlLGEpO2JyZWFrO2Nhc2Uic3RhY2siOmc9VihmLHMsbSxwLGMsYSxpLG8sdCxyKTtudChnLG4saSxlLGEpO2JyZWFrO2Nhc2UibWV0ZXIiOmc9WChmLHMsbSxwLGMsYSxpLHIpO250KGcsbixpLGUsYSk7YnJlYWt9fSkpLGUucmVzdG9yZSgpLHt4QXhpc1BvaW50czpwLGNhbFBvaW50czptLGVhY2hTcGFjaW5nOmN9fShvLGEsaSxlLHQpLHA9ci54QXhpc1BvaW50cyxjPXIuY2FsUG9pbnRzLG09ci5lYWNoU3BhY2luZzthLmNoYXJ0RGF0YS54QXhpc1BvaW50cz1wLGEuY2hhcnREYXRhLmNhbFBvaW50cz1jLGEuY2hhcnREYXRhLmVhY2hTcGFjaW5nPW0sdnQoMCxhLGksZSksITEhPT1hLmVuYWJsZU1hcmtMaW5lJiYxPT09dCYmY3QoYSxpLGUpLGJ0KGEuc2VyaWVzLGEsaSxlLGEuY2hhcnREYXRhKSxndChhLGksZSx0KSxDdCgwLGUpfSxvbkFuaW1hdGlvbkZpbmlzaDpmdW5jdGlvbigpe3IudWV2ZW50LnRyaWdnZXIoInJlbmRlckNvbXBsZXRlIil9fSk7YnJlYWs7Y2FzZSJiYXIiOnRoaXMuYW5pbWF0aW9uSW5zdGFuY2U9bmV3IHp0KHt0aW1pbmc6YS50aW1pbmcsZHVyYXRpb246bSxvblByb2Nlc3M6ZnVuY3Rpb24odCl7ZS5jbGVhclJlY3QoMCwwLGEud2lkdGgsYS5oZWlnaHQpLGEucm90YXRlJiZhdChlLGEpLHV0KGwsYSxpLGUpO3ZhciByPWZ1bmN0aW9uKHQsYSxpLGUpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjQmJnZvaWQgMCE9PWFyZ3VtZW50c1s0XT9hcmd1bWVudHNbNF06MSxvPVtdLHA9KGEuaGVpZ2h0LWEuYXJlYVswXS1hLmFyZWFbMl0pL2EuY2F0ZWdvcmllcy5sZW5ndGgsYz0wO2M8YS5jYXRlZ29yaWVzLmxlbmd0aDtjKyspby5wdXNoKGEuYXJlYVswXStwLzIrcCpjKTt2YXIgbD1kKHt9LHt0eXBlOiJncm91cCIsd2lkdGg6cC8yLG1ldGVyQm9yZGVyOjQsbWV0ZXJGaWxsQ29sb3I6IiNGRkZGRkYiLGJhckJvcmRlckNpcmNsZTohMSxiYXJCb3JkZXJSYWRpdXM6W10sc2VyaWVzR2FwOjIsbGluZWFyVHlwZToibm9uZSIsbGluZWFyT3BhY2l0eToxLGN1c3RvbUNvbG9yOltdLGNvbG9yU3RvcDowfSxhLmV4dHJhLmJhciksbT1bXTtlLnNhdmUoKTt2YXIgZj0tMixnPW8ubGVuZ3RoKzI7cmV0dXJuIGEudG9vbHRpcCYmYS50b29sdGlwLnRleHRMaXN0JiZhLnRvb2x0aXAudGV4dExpc3QubGVuZ3RoJiYxPT09ciYmbXQoYS50b29sdGlwLm9mZnNldC55LGEsMCxlLHApLGwuY3VzdG9tQ29sb3I9dihsLmxpbmVhclR5cGUsbC5jdXN0b21Db2xvcix0LGkpLHQuZm9yRWFjaCgoZnVuY3Rpb24oZCxjKXt2YXIgdSxoLHY7dT1bXS5jb25jYXQoYS5jaGFydERhdGEueEF4aXNEYXRhLnJhbmdlcyksdj11LnBvcCgpLGg9dS5zaGlmdCgpO3ZhciBiPWQuZGF0YTtzd2l0Y2gobC50eXBlKXtjYXNlImdyb3VwIjp2YXIgeD1xKGIsaCx2LG8scCxhLGkscikseT1LKGIsaCx2LG8scCxhLGksYyx0LHIpO20ucHVzaCh5KSx4PUcoeCxwLHQubGVuZ3RoLGMsMCxhKTtmb3IodmFyIEE9MDtBPHgubGVuZ3RoO0ErKyl7dmFyIHc9eFtBXTtpZihudWxsIT09dyYmQT5mJiZBPGcpe3ZhciBrPWEuYXJlYVszXSxTPXcueS13LndpZHRoLzI7dy5oZWlnaHQ7ZS5iZWdpblBhdGgoKTt2YXIgVD13LmNvbG9yfHxkLmNvbG9yLEM9dy5jb2xvcnx8ZC5jb2xvcjtpZigibm9uZSIhPT1sLmxpbmVhclR5cGUpe3ZhciBQPWUuY3JlYXRlTGluZWFyR3JhZGllbnQoayx3Lnksdy54LHcueSk7Im9wYWNpdHkiPT1sLmxpbmVhclR5cGU/KFAuYWRkQ29sb3JTdG9wKDAscyhULGwubGluZWFyT3BhY2l0eSkpLFAuYWRkQ29sb3JTdG9wKDEscyhULDEpKSk6KFAuYWRkQ29sb3JTdG9wKDAscyhsLmN1c3RvbUNvbG9yW2QubGluZWFySW5kZXhdLGwubGluZWFyT3BhY2l0eSkpLFAuYWRkQ29sb3JTdG9wKGwuY29sb3JTdG9wLHMobC5jdXN0b21Db2xvcltkLmxpbmVhckluZGV4XSxsLmxpbmVhck9wYWNpdHkpKSxQLmFkZENvbG9yU3RvcCgxLHMoVCwxKSkpLFQ9UH1pZihsLmJhckJvcmRlclJhZGl1cyYmND09PWwuYmFyQm9yZGVyUmFkaXVzLmxlbmd0aHx8ITA9PT1sLmJhckJvcmRlckNpcmNsZSl7dmFyIHo9ayxJPXcud2lkdGgsRD13Lnktdy53aWR0aC8yLE09dy5oZWlnaDtsLmJhckJvcmRlckNpcmNsZSYmKGwuYmFyQm9yZGVyUmFkaXVzPVtJLzIsSS8yLDAsMF0pO3ZhciBFPSgwLG4uZGVmYXVsdCkobC5iYXJCb3JkZXJSYWRpdXMsNCksTD1FWzBdLE89RVsxXSxOPUVbMl0sQj1FWzNdLFI9TWF0aC5taW4oSS8yLE0vMik7TD1MPlI/UjpMLE89Tz5SP1I6TyxOPU4+Uj9SOk4sQj1CPlI/UjpCLEw9TDwwPzA6TCxPPU88MD8wOk8sTj1OPDA/MDpOLEI9QjwwPzA6QixlLmFyYyh6K0IsRCtCLEIsLU1hdGguUEksLU1hdGguUEkvMiksZS5hcmMody54LUwsRCtMLEwsLU1hdGguUEkvMiwwKSxlLmFyYyh3LngtTyxEK0ktTyxPLDAsTWF0aC5QSS8yKSxlLmFyYyh6K04sRCtJLU4sTixNYXRoLlBJLzIsTWF0aC5QSSl9ZWxzZSBlLm1vdmVUbyhrLFMpLGUubGluZVRvKHcueCxTKSxlLmxpbmVUbyh3LngsUyt3LndpZHRoLTIpLGUubGluZVRvKGssUyt3LndpZHRoLTIpLGUubGluZVRvKGssUyksZS5zZXRMaW5lV2lkdGgoMSksZS5zZXRTdHJva2VTdHlsZShDKTtlLnNldEZpbGxTdHlsZShUKSxlLmNsb3NlUGF0aCgpLGUuZmlsbCgpfX1icmVhaztjYXNlInN0YWNrIjp4PUsoYixoLHYsbyxwLGEsaSxjLHQscik7bS5wdXNoKHgpLHg9USh4LHAsdC5sZW5ndGgsMCwwLGEpO2Zvcih2YXIgRj0wO0Y8eC5sZW5ndGg7RisrKXt2YXIgXz14W0ZdO2lmKG51bGwhPT1fJiZGPmYmJkY8Zyl7ZS5iZWdpblBhdGgoKTtUPV8uY29sb3J8fGQuY29sb3Isaz1fLngwO2Uuc2V0RmlsbFN0eWxlKFQpLGUubW92ZVRvKGssXy55LV8ud2lkdGgvMiksZS5maWxsUmVjdChrLF8ueS1fLndpZHRoLzIsXy5oZWlnaHQsXy53aWR0aC0yKSxlLmNsb3NlUGF0aCgpLGUuZmlsbCgpfX1icmVha319KSksITEhPT1hLmRhdGFMYWJlbCYmMT09PXImJnQuZm9yRWFjaCgoZnVuY3Rpb24obixkKXt2YXIgYyxzLG07Yz1bXS5jb25jYXQoYS5jaGFydERhdGEueEF4aXNEYXRhLnJhbmdlcyksbT1jLnBvcCgpLHM9Yy5zaGlmdCgpO3ZhciBmPW4uZGF0YTtzd2l0Y2gobC50eXBlKXtjYXNlImdyb3VwIjp2YXIgZz1xKGYscyxtLG8scCxhLGkscik7Zz1HKGcscCx0Lmxlbmd0aCxkLDAsYSkscnQoZyxuLGksZSxhKTticmVhaztjYXNlInN0YWNrIjpnPUsoZixzLG0sbyxwLGEsaSxkLHQscik7cnQoZyxuLGksZSxhKTticmVha319KSkse3lBeGlzUG9pbnRzOm8sY2FsUG9pbnRzOm0sZWFjaFNwYWNpbmc6cH19KG8sYSxpLGUsdCkscD1yLnlBeGlzUG9pbnRzLGM9ci5jYWxQb2ludHMsbT1yLmVhY2hTcGFjaW5nO2EuY2hhcnREYXRhLnlBeGlzUG9pbnRzPXAsYS5jaGFydERhdGEueEF4aXNQb2ludHM9YS5jaGFydERhdGEueEF4aXNEYXRhLnhBeGlzUG9pbnRzLGEuY2hhcnREYXRhLmNhbFBvaW50cz1jLGEuY2hhcnREYXRhLmVhY2hTcGFjaW5nPW0sdnQoMCxhLGksZSksITEhPT1hLmVuYWJsZU1hcmtMaW5lJiYxPT09dCYmY3QoYSxpLGUpLGJ0KGEuc2VyaWVzLGEsaSxlLGEuY2hhcnREYXRhKSxndChhLGksZSx0KSxDdCgwLGUpfSxvbkFuaW1hdGlvbkZpbmlzaDpmdW5jdGlvbigpe3IudWV2ZW50LnRyaWdnZXIoInJlbmRlckNvbXBsZXRlIil9fSk7YnJlYWs7Y2FzZSJhcmVhIjp0aGlzLmFuaW1hdGlvbkluc3RhbmNlPW5ldyB6dCh7dGltaW5nOmEudGltaW5nLGR1cmF0aW9uOm0sb25Qcm9jZXNzOmZ1bmN0aW9uKHQpe2UuY2xlYXJSZWN0KDAsMCxhLndpZHRoLGEuaGVpZ2h0KSxhLnJvdGF0ZSYmYXQoZSxhKSxodCgwLGEsMCxlKSx1dChsLGEsaSxlKTt2YXIgbj1mdW5jdGlvbih0LGEsaSxlKXt2YXIgbj1hcmd1bWVudHMubGVuZ3RoPjQmJnZvaWQgMCE9PWFyZ3VtZW50c1s0XT9hcmd1bWVudHNbNF06MSxyPWQoe30se3R5cGU6InN0cmFpZ2h0IixvcGFjaXR5OjAsYWRkTGluZTohMSx3aWR0aDoyLGdyYWRpZW50OiEwfSxhLmV4dHJhLmFyZWEpO3IuZ3JhZGllbnQ9ITA7dmFyIG89YS5jaGFydERhdGEueEF4aXNEYXRhLHA9by54QXhpc1BvaW50cyxjPW8uZWFjaFNwYWNpbmcsbD1hLmhlaWdodC1hLmFyZWFbMl0sbT1bXTtlLnNhdmUoKTt2YXIgZz0wLHU9YS53aWR0aCtjO3JldHVybiBhLl9zY3JvbGxEaXN0YW5jZV8mJjAhPT1hLl9zY3JvbGxEaXN0YW5jZV8mJiEwPT09YS5lbmFibGVTY3JvbGwmJihlLnRyYW5zbGF0ZShhLl9zY3JvbGxEaXN0YW5jZV8sMCksZz0tYS5fc2Nyb2xsRGlzdGFuY2VfLTIqYythLmFyZWFbM10sdT1nKyhhLnhBeGlzLml0ZW1Db3VudCs0KSpjKSx0LmZvckVhY2goKGZ1bmN0aW9uKHQsbyl7dmFyIGQsaCx2O2Q9W10uY29uY2F0KGEuY2hhcnREYXRhLnlBeGlzRGF0YS5yYW5nZXNbdC5pbmRleF0pLGg9ZC5wb3AoKSx2PWQuc2hpZnQoKTt2YXIgYj10LmRhdGEseD1YKGIsaCx2LHAsYyxhLGksbik7bS5wdXNoKHgpO2Zvcih2YXIgeT1FKHgsdCksQT0wO0E8eS5sZW5ndGg7QSsrKXt2YXIgdz15W0FdO2lmKGUuYmVnaW5QYXRoKCksZS5zZXRTdHJva2VTdHlsZShzKHQuY29sb3Isci5vcGFjaXR5KSksci5ncmFkaWVudCl7dmFyIGs9ZS5jcmVhdGVMaW5lYXJHcmFkaWVudCgwLGEuYXJlYVswXSwwLGEuaGVpZ2h0LWEuYXJlYVsyXSk7ay5hZGRDb2xvclN0b3AoIjAiLHModC5jb2xvcixyLm9wYWNpdHkpKSxrLmFkZENvbG9yU3RvcCgiMS4wIixzKCIjMzMzIiwuMDEpKSxlLnNldEZpbGxTdHlsZShrKX1lbHNlIGUuc2V0RmlsbFN0eWxlKHModC5jb2xvcixyLm9wYWNpdHkpKTtpZihlLnNldExpbmVXaWR0aChyLndpZHRoKmEucGl4KSx3Lmxlbmd0aD4xKXt2YXIgUz13WzBdLFQ9d1t3Lmxlbmd0aC0xXTtlLm1vdmVUbyhTLngsUy55KTt2YXIgQz0wO2lmKCJjdXJ2ZSI9PT1yLnR5cGUpZm9yKHZhciBQPTA7UDx3Lmxlbmd0aDtQKyspe3ZhciB6PXdbUF07aWYoMD09QyYmei54PmcmJihlLm1vdmVUbyh6Lngsei55KSxDPTEpLFA+MCYmei54PmcmJnoueDx1KXt2YXIgST1mKHcsUC0xKTtlLmJlemllckN1cnZlVG8oSS5jdHJBLngsSS5jdHJBLnksSS5jdHJCLngsSS5jdHJCLnksei54LHoueSl9fWlmKCJzdHJhaWdodCI9PT1yLnR5cGUpZm9yKHZhciBEPTA7RDx3Lmxlbmd0aDtEKyspe3ZhciBNPXdbRF07MD09QyYmTS54PmcmJihlLm1vdmVUbyhNLngsTS55KSxDPTEpLEQ+MCYmTS54PmcmJk0ueDx1JiZlLmxpbmVUbyhNLngsTS55KX1pZigic3RlcCI9PT1yLnR5cGUpZm9yKHZhciBMPTA7TDx3Lmxlbmd0aDtMKyspe3ZhciBPPXdbTF07MD09QyYmTy54PmcmJihlLm1vdmVUbyhPLngsTy55KSxDPTEpLEw+MCYmTy54PmcmJk8ueDx1JiYoZS5saW5lVG8oTy54LHdbTC0xXS55KSxlLmxpbmVUbyhPLngsTy55KSl9ZS5saW5lVG8oVC54LGwpLGUubGluZVRvKFMueCxsKSxlLmxpbmVUbyhTLngsUy55KX1lbHNle3ZhciBOPXdbMF07ZS5tb3ZlVG8oTi54LWMvMixOLnkpLGUubGluZVRvKE4ueCtjLzIsTi55KSxlLmxpbmVUbyhOLngrYy8yLGwpLGUubGluZVRvKE4ueC1jLzIsbCksZS5tb3ZlVG8oTi54LWMvMixOLnkpfWlmKGUuY2xvc2VQYXRoKCksZS5maWxsKCksci5hZGRMaW5lKXtpZigiZGFzaCI9PXQubGluZVR5cGUpe3ZhciBCPXQuZGFzaExlbmd0aD90LmRhc2hMZW5ndGg6ODtCKj1hLnBpeCxlLnNldExpbmVEYXNoKFtCLEJdKX1pZihlLmJlZ2luUGF0aCgpLGUuc2V0U3Ryb2tlU3R5bGUodC5jb2xvciksZS5zZXRMaW5lV2lkdGgoci53aWR0aCphLnBpeCksMT09PXcubGVuZ3RoKWUubW92ZVRvKHdbMF0ueCx3WzBdLnkpLGUuYXJjKHdbMF0ueCx3WzBdLnksMSwwLDIqTWF0aC5QSSk7ZWxzZXtlLm1vdmVUbyh3WzBdLngsd1swXS55KTt2YXIgUj0wO2lmKCJjdXJ2ZSI9PT1yLnR5cGUpZm9yKHZhciBGPTA7Rjx3Lmxlbmd0aDtGKyspe3ZhciBfPXdbRl07aWYoMD09UiYmXy54PmcmJihlLm1vdmVUbyhfLngsXy55KSxSPTEpLEY+MCYmXy54PmcmJl8ueDx1KXt2YXIgaj1mKHcsRi0xKTtlLmJlemllckN1cnZlVG8oai5jdHJBLngsai5jdHJBLnksai5jdHJCLngsai5jdHJCLnksXy54LF8ueSl9fWlmKCJzdHJhaWdodCI9PT1yLnR5cGUpZm9yKHZhciBVPTA7VTx3Lmxlbmd0aDtVKyspe3ZhciBXPXdbVV07MD09UiYmVy54PmcmJihlLm1vdmVUbyhXLngsVy55KSxSPTEpLFU+MCYmVy54PmcmJlcueDx1JiZlLmxpbmVUbyhXLngsVy55KX1pZigic3RlcCI9PT1yLnR5cGUpZm9yKHZhciBHPTA7Rzx3Lmxlbmd0aDtHKyspe3ZhciBZPXdbR107MD09UiYmWS54PmcmJihlLm1vdmVUbyhZLngsWS55KSxSPTEpLEc+MCYmWS54PmcmJlkueDx1JiYoZS5saW5lVG8oWS54LHdbRy0xXS55KSxlLmxpbmVUbyhZLngsWS55KSl9ZS5tb3ZlVG8od1swXS54LHdbMF0ueSl9ZS5zdHJva2UoKSxlLnNldExpbmVEYXNoKFtdKX19ITEhPT1hLmRhdGFQb2ludFNoYXBlJiZpdCh4LHQuY29sb3IsdC5wb2ludFNoYXBlLGUsYSl9KSksITEhPT1hLmRhdGFMYWJlbCYmMT09PW4mJnQuZm9yRWFjaCgoZnVuY3Rpb24odCxyKXt2YXIgbyxkLHM7bz1bXS5jb25jYXQoYS5jaGFydERhdGEueUF4aXNEYXRhLnJhbmdlc1t0LmluZGV4XSksZD1vLnBvcCgpLHM9by5zaGlmdCgpO3ZhciBsPXQuZGF0YSxtPVgobCxkLHMscCxjLGEsaSxuKTtudChtLHQsaSxlLGEpfSkpLGUucmVzdG9yZSgpLHt4QXhpc1BvaW50czpwLGNhbFBvaW50czptLGVhY2hTcGFjaW5nOmN9fShvLGEsaSxlLHQpLHI9bi54QXhpc1BvaW50cyxwPW4uY2FsUG9pbnRzLGM9bi5lYWNoU3BhY2luZzthLmNoYXJ0RGF0YS54QXhpc1BvaW50cz1yLGEuY2hhcnREYXRhLmNhbFBvaW50cz1wLGEuY2hhcnREYXRhLmVhY2hTcGFjaW5nPWMsdnQoMCxhLGksZSksITEhPT1hLmVuYWJsZU1hcmtMaW5lJiYxPT09dCYmY3QoYSxpLGUpLGJ0KGEuc2VyaWVzLGEsaSxlLGEuY2hhcnREYXRhKSxndChhLGksZSx0KSxDdCgwLGUpfSxvbkFuaW1hdGlvbkZpbmlzaDpmdW5jdGlvbigpe3IudWV2ZW50LnRyaWdnZXIoInJlbmRlckNvbXBsZXRlIil9fSk7YnJlYWs7Y2FzZSJyaW5nIjpjYXNlInBpZSI6dGhpcy5hbmltYXRpb25JbnN0YW5jZT1uZXcgenQoe3RpbWluZzphLnRpbWluZyxkdXJhdGlvbjptLG9uUHJvY2VzczpmdW5jdGlvbih0KXtlLmNsZWFyUmVjdCgwLDAsYS53aWR0aCxhLmhlaWdodCksYS5yb3RhdGUmJmF0KGUsYSksYS5jaGFydERhdGEucGllRGF0YT1mdW5jdGlvbih0LGEsaSxlKXt2YXIgbj1hcmd1bWVudHMubGVuZ3RoPjQmJnZvaWQgMCE9PWFyZ3VtZW50c1s0XT9hcmd1bWVudHNbNF06MSxyPWQoe30se2FjdGl2ZU9wYWNpdHk6LjUsYWN0aXZlUmFkaXVzOjEwLG9mZnNldEFuZ2xlOjAsbGFiZWxXaWR0aDoxNSxyaW5nV2lkdGg6MzAsY3VzdG9tUmFkaXVzOjAsYm9yZGVyOiExLGJvcmRlcldpZHRoOjIsYm9yZGVyQ29sb3I6IiNGRkZGRkYiLGNlbnRlckNvbG9yOiIjRkZGRkZGIixsaW5lYXJUeXBlOiJub25lIixjdXN0b21Db2xvcjpbXX0sInBpZSI9PWEudHlwZT9hLmV4dHJhLnBpZTphLmV4dHJhLnJpbmcpLG89e3g6YS5hcmVhWzNdKyhhLndpZHRoLWEuYXJlYVsxXS1hLmFyZWFbM10pLzIseTphLmFyZWFbMF0rKGEuaGVpZ2h0LWEuYXJlYVswXS1hLmFyZWFbMl0pLzJ9OzA9PWkucGllQ2hhcnRMaW5lUGFkZGluZyYmKGkucGllQ2hhcnRMaW5lUGFkZGluZz1yLmFjdGl2ZVJhZGl1cyphLnBpeCk7dmFyIHA9TWF0aC5taW4oKGEud2lkdGgtYS5hcmVhWzFdLWEuYXJlYVszXSkvMi1pLnBpZUNoYXJ0TGluZVBhZGRpbmctaS5waWVDaGFydFRleHRQYWRkaW5nLWkuX3BpZVRleHRNYXhMZW5ndGhfLChhLmhlaWdodC1hLmFyZWFbMF0tYS5hcmVhWzJdKS8yLWkucGllQ2hhcnRMaW5lUGFkZGluZy1pLnBpZUNoYXJ0VGV4dFBhZGRpbmcpO3IuY3VzdG9tUmFkaXVzPjAmJihwPXIuY3VzdG9tUmFkaXVzKmEucGl4KSx0PUIodCxwLG4pO3ZhciBjPXIuYWN0aXZlUmFkaXVzKmEucGl4O2lmKHIuY3VzdG9tQ29sb3I9dihyLmxpbmVhclR5cGUsci5jdXN0b21Db2xvcix0LGkpLHQ9dC5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiB0Ll9zdGFydF8rPXIub2Zmc2V0QW5nbGUqTWF0aC5QSS8xODAsdH0pKSx0LmZvckVhY2goKGZ1bmN0aW9uKHQsaSl7YS50b29sdGlwJiZhLnRvb2x0aXAuaW5kZXg9PWkmJihlLmJlZ2luUGF0aCgpLGUuc2V0RmlsbFN0eWxlKHModC5jb2xvcixyLmFjdGl2ZU9wYWNpdHl8fC41KSksZS5tb3ZlVG8oby54LG8ueSksZS5hcmMoby54LG8ueSx0Ll9yYWRpdXNfK2MsdC5fc3RhcnRfLHQuX3N0YXJ0XysyKnQuX3Byb3BvcnRpb25fKk1hdGguUEkpLGUuY2xvc2VQYXRoKCksZS5maWxsKCkpLGUuYmVnaW5QYXRoKCksZS5zZXRMaW5lV2lkdGgoci5ib3JkZXJXaWR0aCphLnBpeCksZS5saW5lSm9pbj0icm91bmQiLGUuc2V0U3Ryb2tlU3R5bGUoci5ib3JkZXJDb2xvcik7dmFyIG4sZD10LmNvbG9yOyJjdXN0b20iPT1yLmxpbmVhclR5cGUmJihuPWUuY3JlYXRlQ2lyY3VsYXJHcmFkaWVudD9lLmNyZWF0ZUNpcmN1bGFyR3JhZGllbnQoby54LG8ueSx0Ll9yYWRpdXNfKTplLmNyZWF0ZVJhZGlhbEdyYWRpZW50KG8ueCxvLnksMCxvLngsby55LHQuX3JhZGl1c18pLG4uYWRkQ29sb3JTdG9wKDAscyhyLmN1c3RvbUNvbG9yW3QubGluZWFySW5kZXhdLDEpKSxuLmFkZENvbG9yU3RvcCgxLHModC5jb2xvciwxKSksZD1uKTtlLnNldEZpbGxTdHlsZShkKSxlLm1vdmVUbyhvLngsby55KSxlLmFyYyhvLngsby55LHQuX3JhZGl1c18sdC5fc3RhcnRfLHQuX3N0YXJ0XysyKnQuX3Byb3BvcnRpb25fKk1hdGguUEkpLGUuY2xvc2VQYXRoKCksZS5maWxsKCksMT09ci5ib3JkZXImJmUuc3Ryb2tlKCl9KSksInJpbmciPT09YS50eXBlKXt2YXIgbD0uNipwOyJudW1iZXIiPT09dHlwZW9mIHIucmluZ1dpZHRoJiZyLnJpbmdXaWR0aD4wJiYobD1NYXRoLm1heCgwLHAtci5yaW5nV2lkdGgqYS5waXgpKSxlLmJlZ2luUGF0aCgpLGUuc2V0RmlsbFN0eWxlKHIuY2VudGVyQ29sb3IpLGUubW92ZVRvKG8ueCxvLnkpLGUuYXJjKG8ueCxvLnksbCwwLDIqTWF0aC5QSSksZS5jbG9zZVBhdGgoKSxlLmZpbGwoKX1pZighMSE9PWEuZGF0YUxhYmVsJiYxPT09bil7Zm9yKHZhciBtPSExLGY9MCxnPXQubGVuZ3RoO2Y8ZztmKyspaWYodFtmXS5kYXRhPjApe209ITA7YnJlYWt9bSYmcHQodCxhLGksZSwwLG8pfXJldHVybiAxPT09biYmInJpbmciPT09YS50eXBlJiZldChhLGksZSxvKSx7Y2VudGVyOm8scmFkaXVzOnAsc2VyaWVzOnR9fShvLGEsaSxlLHQpLGJ0KGEuc2VyaWVzLGEsaSxlLGEuY2hhcnREYXRhKSxndChhLGksZSx0KSxDdCgwLGUpfSxvbkFuaW1hdGlvbkZpbmlzaDpmdW5jdGlvbigpe3IudWV2ZW50LnRyaWdnZXIoInJlbmRlckNvbXBsZXRlIil9fSk7YnJlYWs7Y2FzZSJyb3NlIjp0aGlzLmFuaW1hdGlvbkluc3RhbmNlPW5ldyB6dCh7dGltaW5nOmEudGltaW5nLGR1cmF0aW9uOm0sb25Qcm9jZXNzOmZ1bmN0aW9uKHQpe2UuY2xlYXJSZWN0KDAsMCxhLndpZHRoLGEuaGVpZ2h0KSxhLnJvdGF0ZSYmYXQoZSxhKSxhLmNoYXJ0RGF0YS5waWVEYXRhPWZ1bmN0aW9uKHQsYSxpLGUpe3ZhciBuPWFyZ3VtZW50cy5sZW5ndGg+NCYmdm9pZCAwIT09YXJndW1lbnRzWzRdP2FyZ3VtZW50c1s0XToxLHI9ZCh7fSx7dHlwZToiYXJlYSIsYWN0aXZlT3BhY2l0eTouNSxhY3RpdmVSYWRpdXM6MTAsb2Zmc2V0QW5nbGU6MCxsYWJlbFdpZHRoOjE1LGJvcmRlcjohMSxib3JkZXJXaWR0aDoyLGJvcmRlckNvbG9yOiIjRkZGRkZGIixsaW5lYXJUeXBlOiJub25lIixjdXN0b21Db2xvcjpbXX0sYS5leHRyYS5yb3NlKTswPT1pLnBpZUNoYXJ0TGluZVBhZGRpbmcmJihpLnBpZUNoYXJ0TGluZVBhZGRpbmc9ci5hY3RpdmVSYWRpdXMqYS5waXgpO3ZhciBvPXt4OmEuYXJlYVszXSsoYS53aWR0aC1hLmFyZWFbMV0tYS5hcmVhWzNdKS8yLHk6YS5hcmVhWzBdKyhhLmhlaWdodC1hLmFyZWFbMF0tYS5hcmVhWzJdKS8yfSxwPU1hdGgubWluKChhLndpZHRoLWEuYXJlYVsxXS1hLmFyZWFbM10pLzItaS5waWVDaGFydExpbmVQYWRkaW5nLWkucGllQ2hhcnRUZXh0UGFkZGluZy1pLl9waWVUZXh0TWF4TGVuZ3RoXywoYS5oZWlnaHQtYS5hcmVhWzBdLWEuYXJlYVsyXSkvMi1pLnBpZUNoYXJ0TGluZVBhZGRpbmctaS5waWVDaGFydFRleHRQYWRkaW5nKSxjPXIubWluUmFkaXVzfHwuNSpwO3Q9Rih0LHIudHlwZSxjLHAsbik7dmFyIGw9ci5hY3RpdmVSYWRpdXMqYS5waXg7aWYoci5jdXN0b21Db2xvcj12KHIubGluZWFyVHlwZSxyLmN1c3RvbUNvbG9yLHQsaSksdD10Lm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIHQuX3N0YXJ0Xys9KHIub2Zmc2V0QW5nbGV8fDApKk1hdGguUEkvMTgwLHR9KSksdC5mb3JFYWNoKChmdW5jdGlvbih0LGkpe2EudG9vbHRpcCYmYS50b29sdGlwLmluZGV4PT1pJiYoZS5iZWdpblBhdGgoKSxlLnNldEZpbGxTdHlsZShzKHQuY29sb3Isci5hY3RpdmVPcGFjaXR5fHwuNSkpLGUubW92ZVRvKG8ueCxvLnkpLGUuYXJjKG8ueCxvLnksbCt0Ll9yYWRpdXNfLHQuX3N0YXJ0Xyx0Ll9zdGFydF8rMip0Ll9yb3NlX3Byb3BvcnRpb25fKk1hdGguUEkpLGUuY2xvc2VQYXRoKCksZS5maWxsKCkpLGUuYmVnaW5QYXRoKCksZS5zZXRMaW5lV2lkdGgoci5ib3JkZXJXaWR0aCphLnBpeCksZS5saW5lSm9pbj0icm91bmQiLGUuc2V0U3Ryb2tlU3R5bGUoci5ib3JkZXJDb2xvcik7dmFyIG4sZD10LmNvbG9yOyJjdXN0b20iPT1yLmxpbmVhclR5cGUmJihuPWUuY3JlYXRlQ2lyY3VsYXJHcmFkaWVudD9lLmNyZWF0ZUNpcmN1bGFyR3JhZGllbnQoby54LG8ueSx0Ll9yYWRpdXNfKTplLmNyZWF0ZVJhZGlhbEdyYWRpZW50KG8ueCxvLnksMCxvLngsby55LHQuX3JhZGl1c18pLG4uYWRkQ29sb3JTdG9wKDAscyhyLmN1c3RvbUNvbG9yW3QubGluZWFySW5kZXhdLDEpKSxuLmFkZENvbG9yU3RvcCgxLHModC5jb2xvciwxKSksZD1uKTtlLnNldEZpbGxTdHlsZShkKSxlLm1vdmVUbyhvLngsby55KSxlLmFyYyhvLngsby55LHQuX3JhZGl1c18sdC5fc3RhcnRfLHQuX3N0YXJ0XysyKnQuX3Jvc2VfcHJvcG9ydGlvbl8qTWF0aC5QSSksZS5jbG9zZVBhdGgoKSxlLmZpbGwoKSwxPT1yLmJvcmRlciYmZS5zdHJva2UoKX0pKSwhMSE9PWEuZGF0YUxhYmVsJiYxPT09bil7Zm9yKHZhciBtPSExLGY9MCxnPXQubGVuZ3RoO2Y8ZztmKyspaWYodFtmXS5kYXRhPjApe209ITA7YnJlYWt9bSYmcHQodCxhLGksZSwwLG8pfXJldHVybntjZW50ZXI6byxyYWRpdXM6cCxzZXJpZXM6dH19KG8sYSxpLGUsdCksYnQoYS5zZXJpZXMsYSxpLGUsYS5jaGFydERhdGEpLGd0KGEsaSxlLHQpLEN0KDAsZSl9LG9uQW5pbWF0aW9uRmluaXNoOmZ1bmN0aW9uKCl7ci51ZXZlbnQudHJpZ2dlcigicmVuZGVyQ29tcGxldGUiKX19KTticmVhaztjYXNlInJhZGFyIjp0aGlzLmFuaW1hdGlvbkluc3RhbmNlPW5ldyB6dCh7dGltaW5nOmEudGltaW5nLGR1cmF0aW9uOm0sb25Qcm9jZXNzOmZ1bmN0aW9uKHQpe2UuY2xlYXJSZWN0KDAsMCxhLndpZHRoLGEuaGVpZ2h0KSxhLnJvdGF0ZSYmYXQoZSxhKSxhLmNoYXJ0RGF0YS5yYWRhckRhdGE9ZnVuY3Rpb24odCxhLGksZSl7dmFyIG49YXJndW1lbnRzLmxlbmd0aD40JiZ2b2lkIDAhPT1hcmd1bWVudHNbNF0/YXJndW1lbnRzWzRdOjEscj1kKHt9LHtncmlkQ29sb3I6IiNjY2NjY2MiLGdyaWRUeXBlOiJyYWRhciIsb3BhY2l0eTouMixncmlkQ291bnQ6Myxib3JkZXI6ITEsYm9yZGVyV2lkdGg6Mn0sYS5leHRyYS5yYWRhciksbz1UKGEuY2F0ZWdvcmllcy5sZW5ndGgpLHA9e3g6YS5hcmVhWzNdKyhhLndpZHRoLWEuYXJlYVsxXS1hLmFyZWFbM10pLzIseTphLmFyZWFbMF0rKGEuaGVpZ2h0LWEuYXJlYVswXS1hLmFyZWFbMl0pLzJ9LGM9KGEud2lkdGgtYS5hcmVhWzFdLWEuYXJlYVszXSkvMixsPShhLmhlaWdodC1hLmFyZWFbMF0tYS5hcmVhWzJdKS8yLG09TWF0aC5taW4oYy0oUyhhLmNhdGVnb3JpZXMsaS5mb250U2l6ZSxlKStpLnJhZGFyTGFiZWxUZXh0TWFyZ2luKSxsLWkucmFkYXJMYWJlbFRleHRNYXJnaW4pO20tPWkucmFkYXJMYWJlbFRleHRNYXJnaW4qYS5waXgsZS5iZWdpblBhdGgoKSxlLnNldExpbmVXaWR0aCgxKmEucGl4KSxlLnNldFN0cm9rZVN0eWxlKHIuZ3JpZENvbG9yKSxvLmZvckVhY2goKGZ1bmN0aW9uKHQpe3ZhciBhPWcobSpNYXRoLmNvcyh0KSxtKk1hdGguc2luKHQpLHApO2UubW92ZVRvKHAueCxwLnkpLGUubGluZVRvKGEueCxhLnkpfSkpLGUuc3Ryb2tlKCksZS5jbG9zZVBhdGgoKTtmb3IodmFyIGY9ZnVuY3Rpb24odCl7dmFyIGk9e307aWYoZS5iZWdpblBhdGgoKSxlLnNldExpbmVXaWR0aCgxKmEucGl4KSxlLnNldFN0cm9rZVN0eWxlKHIuZ3JpZENvbG9yKSwicmFkYXIiPT1yLmdyaWRUeXBlKW8uZm9yRWFjaCgoZnVuY3Rpb24oYSxuKXt2YXIgbz1nKG0vci5ncmlkQ291bnQqdCpNYXRoLmNvcyhhKSxtL3IuZ3JpZENvdW50KnQqTWF0aC5zaW4oYSkscCk7MD09PW4/KGk9byxlLm1vdmVUbyhvLngsby55KSk6ZS5saW5lVG8oby54LG8ueSl9KSksZS5saW5lVG8oaS54LGkueSk7ZWxzZXt2YXIgbj1nKG0vci5ncmlkQ291bnQqdCpNYXRoLmNvcygxLjUpLG0vci5ncmlkQ291bnQqdCpNYXRoLnNpbigxLjUpLHApO2UuYXJjKHAueCxwLnkscC55LW4ueSwwLDIqTWF0aC5QSSwhMSl9ZS5zdHJva2UoKSxlLmNsb3NlUGF0aCgpfSx1PTE7dTw9ci5ncmlkQ291bnQ7dSsrKWYodSk7dmFyIGg9TihvLHAsbSx0LGEsbik7cmV0dXJuIGguZm9yRWFjaCgoZnVuY3Rpb24odCxpKXtpZihlLmJlZ2luUGF0aCgpLGUuc2V0TGluZVdpZHRoKHIuYm9yZGVyV2lkdGgqYS5waXgpLGUuc2V0U3Ryb2tlU3R5bGUodC5jb2xvciksZS5zZXRGaWxsU3R5bGUocyh0LmNvbG9yLHIub3BhY2l0eSkpLHQuZGF0YS5mb3JFYWNoKChmdW5jdGlvbih0LGEpezA9PT1hP2UubW92ZVRvKHQucG9zaXRpb24ueCx0LnBvc2l0aW9uLnkpOmUubGluZVRvKHQucG9zaXRpb24ueCx0LnBvc2l0aW9uLnkpfSkpLGUuY2xvc2VQYXRoKCksZS5maWxsKCksITA9PT1yLmJvcmRlciYmZS5zdHJva2UoKSxlLmNsb3NlUGF0aCgpLCExIT09YS5kYXRhUG9pbnRTaGFwZSl7dmFyIG49dC5kYXRhLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIHQucG9zaXRpb259KSk7aXQobix0LmNvbG9yLHQucG9pbnRTaGFwZSxlLGEpfX0pKSxkdChvLG0scCxhLGksZSksITEhPT1hLmRhdGFMYWJlbCYmMT09PW4mJihoLmZvckVhY2goKGZ1bmN0aW9uKHQsbil7ZS5iZWdpblBhdGgoKTt2YXIgcj10LnRleHRTaXplKmEucGl4fHxpLmZvbnRTaXplO2Uuc2V0Rm9udFNpemUociksZS5zZXRGaWxsU3R5bGUodC50ZXh0Q29sb3J8fGEuZm9udENvbG9yKSx0LmRhdGEuZm9yRWFjaCgoZnVuY3Rpb24odCxhKXtNYXRoLmFicyh0LnBvc2l0aW9uLngtcC54KTwyP3QucG9zaXRpb24ueTxwLnk/KGUuc2V0VGV4dEFsaWduKCJjZW50ZXIiKSxlLmZpbGxUZXh0KHQudmFsdWUsdC5wb3NpdGlvbi54LHQucG9zaXRpb24ueS00KSk6KGUuc2V0VGV4dEFsaWduKCJjZW50ZXIiKSxlLmZpbGxUZXh0KHQudmFsdWUsdC5wb3NpdGlvbi54LHQucG9zaXRpb24ueStyKzIpKTp0LnBvc2l0aW9uLng8cC54PyhlLnNldFRleHRBbGlnbigicmlnaHQiKSxlLmZpbGxUZXh0KHQudmFsdWUsdC5wb3NpdGlvbi54LTQsdC5wb3NpdGlvbi55K3IvMi0yKSk6KGUuc2V0VGV4dEFsaWduKCJsZWZ0IiksZS5maWxsVGV4dCh0LnZhbHVlLHQucG9zaXRpb24ueCs0LHQucG9zaXRpb24ueStyLzItMikpfSkpLGUuY2xvc2VQYXRoKCksZS5zdHJva2UoKX0pKSxlLnNldFRleHRBbGlnbigibGVmdCIpKSx7Y2VudGVyOnAscmFkaXVzOm0sYW5nbGVMaXN0Om99fShvLGEsaSxlLHQpLGJ0KGEuc2VyaWVzLGEsaSxlLGEuY2hhcnREYXRhKSxndChhLGksZSx0KSxDdCgwLGUpfSxvbkFuaW1hdGlvbkZpbmlzaDpmdW5jdGlvbigpe3IudWV2ZW50LnRyaWdnZXIoInJlbmRlckNvbXBsZXRlIil9fSk7YnJlYWs7Y2FzZSJhcmNiYXIiOnRoaXMuYW5pbWF0aW9uSW5zdGFuY2U9bmV3IHp0KHt0aW1pbmc6YS50aW1pbmcsZHVyYXRpb246bSxvblByb2Nlc3M6ZnVuY3Rpb24odCl7ZS5jbGVhclJlY3QoMCwwLGEud2lkdGgsYS5oZWlnaHQpLGEucm90YXRlJiZhdChlLGEpLGEuY2hhcnREYXRhLmFyY2JhckRhdGE9ZnVuY3Rpb24odCxhLGksZSl7dmFyIG4scixvPWFyZ3VtZW50cy5sZW5ndGg+NCYmdm9pZCAwIT09YXJndW1lbnRzWzRdP2FyZ3VtZW50c1s0XToxLHA9ZCh7fSx7c3RhcnRBbmdsZTouNzUsZW5kQW5nbGU6LjI1LHR5cGU6ImRlZmF1bHQiLHdpZHRoOjEyLGdhcDoyLGxpbmVhclR5cGU6Im5vbmUiLGN1c3RvbUNvbG9yOltdfSxhLmV4dHJhLmFyY2Jhcik7dD1fKHQscCxvKSxuPXAuY2VudGVyWHx8cC5jZW50ZXJZP3t4OnAuY2VudGVyWD9wLmNlbnRlclg6YS53aWR0aC8yLHk6cC5jZW50ZXJZP3AuY2VudGVyWTphLmhlaWdodC8yfTp7eDphLndpZHRoLzIseTphLmhlaWdodC8yfSxwLnJhZGl1cz9yPXAucmFkaXVzOihyPU1hdGgubWluKG4ueCxuLnkpLHItPTUqYS5waXgsci09cC53aWR0aC8yKSxwLmN1c3RvbUNvbG9yPXYocC5saW5lYXJUeXBlLHAuY3VzdG9tQ29sb3IsdCxpKTtmb3IodmFyIGM9MDtjPHQubGVuZ3RoO2MrKyl7dmFyIGw9dFtjXTtlLnNldExpbmVXaWR0aChwLndpZHRoKmEucGl4KSxlLnNldFN0cm9rZVN0eWxlKHAuYmFja2dyb3VuZENvbG9yfHwiI0U5RTlFOSIpLGUuc2V0TGluZUNhcCgicm91bmQiKSxlLmJlZ2luUGF0aCgpLCJkZWZhdWx0Ij09cC50eXBlP2UuYXJjKG4ueCxuLnksci0ocC53aWR0aCphLnBpeCtwLmdhcCphLnBpeCkqYyxwLnN0YXJ0QW5nbGUqTWF0aC5QSSxwLmVuZEFuZ2xlKk1hdGguUEksITEpOmUuYXJjKG4ueCxuLnksci0ocC53aWR0aCphLnBpeCtwLmdhcCphLnBpeCkqYywwLDIqTWF0aC5QSSwhMSksZS5zdHJva2UoKTt2YXIgbT1sLmNvbG9yO2lmKCJjdXN0b20iPT1wLmxpbmVhclR5cGUpe3ZhciBmPWUuY3JlYXRlTGluZWFyR3JhZGllbnQobi54LXIsbi55LG4ueCtyLG4ueSk7Zi5hZGRDb2xvclN0b3AoMSxzKHAuY3VzdG9tQ29sb3JbbC5saW5lYXJJbmRleF0sMSkpLGYuYWRkQ29sb3JTdG9wKDAscyhsLmNvbG9yLDEpKSxtPWZ9ZS5zZXRMaW5lV2lkdGgocC53aWR0aCphLnBpeCksZS5zZXRTdHJva2VTdHlsZShtKSxlLnNldExpbmVDYXAoInJvdW5kIiksZS5iZWdpblBhdGgoKSxlLmFyYyhuLngsbi55LHItKHAud2lkdGgqYS5waXgrcC5nYXAqYS5waXgpKmMscC5zdGFydEFuZ2xlKk1hdGguUEksbC5fcHJvcG9ydGlvbl8qTWF0aC5QSSwhMSksZS5zdHJva2UoKX1yZXR1cm4gZXQoYSxpLGUsbikse2NlbnRlcjpuLHJhZGl1czpyLHNlcmllczp0fX0obyxhLGksZSx0KSxDdCgwLGUpfSxvbkFuaW1hdGlvbkZpbmlzaDpmdW5jdGlvbigpe3IudWV2ZW50LnRyaWdnZXIoInJlbmRlckNvbXBsZXRlIil9fSk7YnJlYWs7Y2FzZSJnYXVnZSI6dGhpcy5hbmltYXRpb25JbnN0YW5jZT1uZXcgenQoe3RpbWluZzphLnRpbWluZyxkdXJhdGlvbjptLG9uUHJvY2VzczpmdW5jdGlvbih0KXtlLmNsZWFyUmVjdCgwLDAsYS53aWR0aCxhLmhlaWdodCksYS5yb3RhdGUmJmF0KGUsYSksYS5jaGFydERhdGEuZ2F1Z2VEYXRhPWZ1bmN0aW9uKHQsYSxpLGUsbil7dmFyIHI9YXJndW1lbnRzLmxlbmd0aD41JiZ2b2lkIDAhPT1hcmd1bWVudHNbNV0/YXJndW1lbnRzWzVdOjEsbz1kKHt9LHt0eXBlOiJkZWZhdWx0IixzdGFydEFuZ2xlOi43NSxlbmRBbmdsZTouMjUsd2lkdGg6MTUsbGFiZWxPZmZzZXQ6MTMsc3BsaXRMaW5lOntmaXhSYWRpdXM6MCxzcGxpdE51bWJlcjoxMCx3aWR0aDoxNSxjb2xvcjoiI0ZGRkZGRiIsY2hpbGROdW1iZXI6NSxjaGlsZFdpZHRoOjV9LHBvaW50ZXI6e3dpZHRoOjE1LGNvbG9yOiJhdXRvIn19LGkuZXh0cmEuZ2F1Z2UpO3ZvaWQgMD09by5vbGRBbmdsZSYmKG8ub2xkQW5nbGU9by5zdGFydEFuZ2xlKSx2b2lkIDA9PW8ub2xkRGF0YSYmKG8ub2xkRGF0YT0wKSx0PWoodCxvLnN0YXJ0QW5nbGUsby5lbmRBbmdsZSk7dmFyIHA9e3g6aS53aWR0aC8yLHk6aS5oZWlnaHQvMn0sYz1NYXRoLm1pbihwLngscC55KTtjLT01KmkucGl4LGMtPW8ud2lkdGgvMjt2YXIgbD1jLW8ud2lkdGgsbT0wO2lmKCJwcm9ncmVzcyI9PW8udHlwZSl7dmFyIGY9Yy0zKm8ud2lkdGg7bi5iZWdpblBhdGgoKTt2YXIgZz1uLmNyZWF0ZUxpbmVhckdyYWRpZW50KHAueCxwLnktZixwLngscC55K2YpO2cuYWRkQ29sb3JTdG9wKCIwIixzKGFbMF0uY29sb3IsLjMpKSxnLmFkZENvbG9yU3RvcCgiMS4wIixzKCIjRkZGRkZGIiwuMSkpLG4uc2V0RmlsbFN0eWxlKGcpLG4uYXJjKHAueCxwLnksZiwwLDIqTWF0aC5QSSwhMSksbi5maWxsKCksbi5zZXRMaW5lV2lkdGgoby53aWR0aCksbi5zZXRTdHJva2VTdHlsZShzKGFbMF0uY29sb3IsLjMpKSxuLnNldExpbmVDYXAoInJvdW5kIiksbi5iZWdpblBhdGgoKSxuLmFyYyhwLngscC55LGwsby5zdGFydEFuZ2xlKk1hdGguUEksby5lbmRBbmdsZSpNYXRoLlBJLCExKSxuLnN0cm9rZSgpLG09by5zdGFydEFuZ2xlLW8uZW5kQW5nbGUrMTtvLnNwbGl0TGluZS5zcGxpdE51bWJlcjt2YXIgdT1tL28uc3BsaXRMaW5lLnNwbGl0TnVtYmVyL28uc3BsaXRMaW5lLmNoaWxkTnVtYmVyLGg9LWMtLjUqby53aWR0aC1vLnNwbGl0TGluZS5maXhSYWRpdXMsdj0tYy1vLndpZHRoLW8uc3BsaXRMaW5lLmZpeFJhZGl1cytvLnNwbGl0TGluZS53aWR0aDtuLnNhdmUoKSxuLnRyYW5zbGF0ZShwLngscC55KSxuLnJvdGF0ZSgoby5zdGFydEFuZ2xlLTEpKk1hdGguUEkpO2Zvcih2YXIgYj1vLnNwbGl0TGluZS5zcGxpdE51bWJlcipvLnNwbGl0TGluZS5jaGlsZE51bWJlcisxLHg9YVswXS5kYXRhKnIseT0wO3k8Yjt5Kyspbi5iZWdpblBhdGgoKSx4PnkvYj9uLnNldFN0cm9rZVN0eWxlKHMoYVswXS5jb2xvciwxKSk6bi5zZXRTdHJva2VTdHlsZShzKGFbMF0uY29sb3IsLjMpKSxuLnNldExpbmVXaWR0aCgzKmkucGl4KSxuLm1vdmVUbyhoLDApLG4ubGluZVRvKHYsMCksbi5zdHJva2UoKSxuLnJvdGF0ZSh1Kk1hdGguUEkpO24ucmVzdG9yZSgpLGE9XyhhLG8sciksbi5zZXRMaW5lV2lkdGgoby53aWR0aCksbi5zZXRTdHJva2VTdHlsZShhWzBdLmNvbG9yKSxuLnNldExpbmVDYXAoInJvdW5kIiksbi5iZWdpblBhdGgoKSxuLmFyYyhwLngscC55LGwsby5zdGFydEFuZ2xlKk1hdGguUEksYVswXS5fcHJvcG9ydGlvbl8qTWF0aC5QSSwhMSksbi5zdHJva2UoKTt2YXIgQT1jLTIuNSpvLndpZHRoO24uc2F2ZSgpLG4udHJhbnNsYXRlKHAueCxwLnkpLG4ucm90YXRlKChhWzBdLl9wcm9wb3J0aW9uXy0xKSpNYXRoLlBJKSxuLmJlZ2luUGF0aCgpLG4uc2V0TGluZVdpZHRoKG8ud2lkdGgvMyk7dmFyIHc9bi5jcmVhdGVMaW5lYXJHcmFkaWVudCgwLC42Ki1BLDAsLjYqQSk7dy5hZGRDb2xvclN0b3AoIjAiLHMoIiNGRkZGRkYiLDApKSx3LmFkZENvbG9yU3RvcCgiMC41IixzKGFbMF0uY29sb3IsMSkpLHcuYWRkQ29sb3JTdG9wKCIxLjAiLHMoIiNGRkZGRkYiLDApKSxuLnNldFN0cm9rZVN0eWxlKHcpLG4uYXJjKDAsMCxBLC44NSpNYXRoLlBJLDEuMTUqTWF0aC5QSSwhMSksbi5zdHJva2UoKSxuLmJlZ2luUGF0aCgpLG4uc2V0TGluZVdpZHRoKDEpLG4uc2V0U3Ryb2tlU3R5bGUoYVswXS5jb2xvciksbi5zZXRGaWxsU3R5bGUoYVswXS5jb2xvciksbi5tb3ZlVG8oLUEtby53aWR0aC8zLzIsLTQpLG4ubGluZVRvKC1BLW8ud2lkdGgvMy8yLTQsMCksbi5saW5lVG8oLUEtby53aWR0aC8zLzIsNCksbi5saW5lVG8oLUEtby53aWR0aC8zLzIsLTQpLG4uc3Ryb2tlKCksbi5maWxsKCksbi5yZXN0b3JlKCl9ZWxzZXtuLnNldExpbmVXaWR0aChvLndpZHRoKSxuLnNldExpbmVDYXAoImJ1dHQiKTtmb3IodmFyIGs9MDtrPHQubGVuZ3RoO2srKyl7dmFyIFM9dFtrXTtuLmJlZ2luUGF0aCgpLG4uc2V0U3Ryb2tlU3R5bGUoUy5jb2xvciksbi5hcmMocC54LHAueSxjLFMuX3N0YXJ0QW5nbGVfKk1hdGguUEksUy5fZW5kQW5nbGVfKk1hdGguUEksITEpLG4uc3Ryb2tlKCl9bi5zYXZlKCksbT1vLnN0YXJ0QW5nbGUtby5lbmRBbmdsZSsxO3ZhciBUPW0vby5zcGxpdExpbmUuc3BsaXROdW1iZXIsQz1tL28uc3BsaXRMaW5lLnNwbGl0TnVtYmVyL28uc3BsaXRMaW5lLmNoaWxkTnVtYmVyLFA9LWMtLjUqby53aWR0aC1vLnNwbGl0TGluZS5maXhSYWRpdXMsej0tYy0uNSpvLndpZHRoLW8uc3BsaXRMaW5lLmZpeFJhZGl1cytvLnNwbGl0TGluZS53aWR0aCxJPS1jLS41Km8ud2lkdGgtby5zcGxpdExpbmUuZml4UmFkaXVzK28uc3BsaXRMaW5lLmNoaWxkV2lkdGg7bi50cmFuc2xhdGUocC54LHAueSksbi5yb3RhdGUoKG8uc3RhcnRBbmdsZS0xKSpNYXRoLlBJKTtmb3IodmFyIEQ9MDtEPG8uc3BsaXRMaW5lLnNwbGl0TnVtYmVyKzE7RCsrKW4uYmVnaW5QYXRoKCksbi5zZXRTdHJva2VTdHlsZShvLnNwbGl0TGluZS5jb2xvciksbi5zZXRMaW5lV2lkdGgoMippLnBpeCksbi5tb3ZlVG8oUCwwKSxuLmxpbmVUbyh6LDApLG4uc3Ryb2tlKCksbi5yb3RhdGUoVCpNYXRoLlBJKTtuLnJlc3RvcmUoKSxuLnNhdmUoKSxuLnRyYW5zbGF0ZShwLngscC55KSxuLnJvdGF0ZSgoby5zdGFydEFuZ2xlLTEpKk1hdGguUEkpO2Zvcih2YXIgTT0wO008by5zcGxpdExpbmUuc3BsaXROdW1iZXIqby5zcGxpdExpbmUuY2hpbGROdW1iZXIrMTtNKyspbi5iZWdpblBhdGgoKSxuLnNldFN0cm9rZVN0eWxlKG8uc3BsaXRMaW5lLmNvbG9yKSxuLnNldExpbmVXaWR0aCgxKmkucGl4KSxuLm1vdmVUbyhQLDApLG4ubGluZVRvKEksMCksbi5zdHJva2UoKSxuLnJvdGF0ZShDKk1hdGguUEkpO24ucmVzdG9yZSgpLGE9VShhLHQsbyxyKTtmb3IodmFyIEU9MDtFPGEubGVuZ3RoO0UrKyl7dmFyIEw9YVtFXTtuLnNhdmUoKSxuLnRyYW5zbGF0ZShwLngscC55KSxuLnJvdGF0ZSgoTC5fcHJvcG9ydGlvbl8tMSkqTWF0aC5QSSksbi5iZWdpblBhdGgoKSxuLnNldEZpbGxTdHlsZShMLmNvbG9yKSxuLm1vdmVUbyhvLnBvaW50ZXIud2lkdGgsMCksbi5saW5lVG8oMCwtby5wb2ludGVyLndpZHRoLzIpLG4ubGluZVRvKC1sLDApLG4ubGluZVRvKDAsby5wb2ludGVyLndpZHRoLzIpLG4ubGluZVRvKG8ucG9pbnRlci53aWR0aCwwKSxuLmNsb3NlUGF0aCgpLG4uZmlsbCgpLG4uYmVnaW5QYXRoKCksbi5zZXRGaWxsU3R5bGUoIiNGRkZGRkYiKSxuLmFyYygwLDAsby5wb2ludGVyLndpZHRoLzYsMCwyKk1hdGguUEksITEpLG4uZmlsbCgpLG4ucmVzdG9yZSgpfSExIT09aS5kYXRhTGFiZWwmJm90KG8sYyxwLGksZSxuKX1yZXR1cm4gZXQoaSxlLG4scCksMT09PXImJiJnYXVnZSI9PT1pLnR5cGUmJihpLmV4dHJhLmdhdWdlLm9sZEFuZ2xlPWFbMF0uX3Byb3BvcnRpb25fLGkuZXh0cmEuZ2F1Z2Uub2xkRGF0YT1hWzBdLmRhdGEpLHtjZW50ZXI6cCxyYWRpdXM6Yyxpbm5lclJhZGl1czpsLGNhdGVnb3JpZXM6dCx0b3RhbEFuZ2xlOm19fShsLG8sYSxpLGUsdCksQ3QoMCxlKX0sb25BbmltYXRpb25GaW5pc2g6ZnVuY3Rpb24oKXtyLnVldmVudC50cmlnZ2VyKCJyZW5kZXJDb21wbGV0ZSIpfX0pO2JyZWFrO2Nhc2UiY2FuZGxlIjp0aGlzLmFuaW1hdGlvbkluc3RhbmNlPW5ldyB6dCh7dGltaW5nOmEudGltaW5nLGR1cmF0aW9uOm0sb25Qcm9jZXNzOmZ1bmN0aW9uKHQpe2UuY2xlYXJSZWN0KDAsMCxhLndpZHRoLGEuaGVpZ2h0KSxhLnJvdGF0ZSYmYXQoZSxhKSxodCgwLGEsMCxlKSx1dChsLGEsaSxlKTt2YXIgbj1mdW5jdGlvbih0LGEsaSxlLG4pe3ZhciByPWFyZ3VtZW50cy5sZW5ndGg+NSYmdm9pZCAwIT09YXJndW1lbnRzWzVdP2FyZ3VtZW50c1s1XToxLG89ZCh7fSx7Y29sb3I6e30sYXZlcmFnZTp7fX0saS5leHRyYS5jYW5kbGUpO28uY29sb3I9ZCh7fSx7dXBMaW5lOiIjZjA0ODY0Iix1cEZpbGw6IiNmMDQ4NjQiLGRvd25MaW5lOiIjMmZjMjViIixkb3duRmlsbDoiIzJmYzI1YiJ9LG8uY29sb3IpLG8uYXZlcmFnZT1kKHt9LHtzaG93OiExLG5hbWU6W10sZGF5OltdLGNvbG9yOmUuY29sb3J9LG8uYXZlcmFnZSksaS5leHRyYS5jYW5kbGU9bzt2YXIgcD1pLmNoYXJ0RGF0YS54QXhpc0RhdGEsYz1wLnhBeGlzUG9pbnRzLHM9cC5lYWNoU3BhY2luZyxsPVtdO24uc2F2ZSgpO3ZhciBtPS0yLGc9Yy5sZW5ndGgrMix1PTAsaD1pLndpZHRoK3M7cmV0dXJuIGkuX3Njcm9sbERpc3RhbmNlXyYmMCE9PWkuX3Njcm9sbERpc3RhbmNlXyYmITA9PT1pLmVuYWJsZVNjcm9sbCYmKG4udHJhbnNsYXRlKGkuX3Njcm9sbERpc3RhbmNlXywwKSxtPU1hdGguZmxvb3IoLWkuX3Njcm9sbERpc3RhbmNlXy9zKS0yLGc9bStpLnhBeGlzLml0ZW1Db3VudCs0LHU9LWkuX3Njcm9sbERpc3RhbmNlXy0yKnMraS5hcmVhWzNdLGg9dSsoaS54QXhpcy5pdGVtQ291bnQrNCkqcyksKG8uYXZlcmFnZS5zaG93fHxhKSYmYS5mb3JFYWNoKChmdW5jdGlvbih0LGEpe3ZhciBvLGQscDtvPVtdLmNvbmNhdChpLmNoYXJ0RGF0YS55QXhpc0RhdGEucmFuZ2VzW3QuaW5kZXhdKSxkPW8ucG9wKCkscD1vLnNoaWZ0KCk7Zm9yKHZhciBsPXQuZGF0YSxtPVgobCxkLHAsYyxzLGksZSxyKSxnPUUobSx0KSx2PTA7djxnLmxlbmd0aDt2Kyspe3ZhciBiPWdbdl07aWYobi5iZWdpblBhdGgoKSxuLnNldFN0cm9rZVN0eWxlKHQuY29sb3IpLG4uc2V0TGluZVdpZHRoKDEpLDE9PT1iLmxlbmd0aCluLm1vdmVUbyhiWzBdLngsYlswXS55KSxuLmFyYyhiWzBdLngsYlswXS55LDEsMCwyKk1hdGguUEkpO2Vsc2V7bi5tb3ZlVG8oYlswXS54LGJbMF0ueSk7Zm9yKHZhciB4PTAseT0wO3k8Yi5sZW5ndGg7eSsrKXt2YXIgQT1iW3ldO2lmKDA9PXgmJkEueD51JiYobi5tb3ZlVG8oQS54LEEueSkseD0xKSx5PjAmJkEueD51JiZBLng8aCl7dmFyIHc9ZihiLHktMSk7bi5iZXppZXJDdXJ2ZVRvKHcuY3RyQS54LHcuY3RyQS55LHcuY3RyQi54LHcuY3RyQi55LEEueCxBLnkpfX1uLm1vdmVUbyhiWzBdLngsYlswXS55KX1uLmNsb3NlUGF0aCgpLG4uc3Ryb2tlKCl9fSkpLHQuZm9yRWFjaCgoZnVuY3Rpb24odCxhKXt2YXIgZCxwLGY7ZD1bXS5jb25jYXQoaS5jaGFydERhdGEueUF4aXNEYXRhLnJhbmdlc1t0LmluZGV4XSkscD1kLnBvcCgpLGY9ZC5zaGlmdCgpO3ZhciB1PXQuZGF0YSxoPUgodSxwLGYsYyxzLGksZSxyKTtsLnB1c2goaCk7Zm9yKHZhciB2PUUoaCx0KSxiPTA7Yjx2WzBdLmxlbmd0aDtiKyspaWYoYj5tJiZiPGcpe3ZhciB4PXZbMF1bYl07bi5iZWdpblBhdGgoKSx1W2JdWzFdLXVbYl1bMF0+MD8obi5zZXRTdHJva2VTdHlsZShvLmNvbG9yLnVwTGluZSksbi5zZXRGaWxsU3R5bGUoby5jb2xvci51cEZpbGwpLG4uc2V0TGluZVdpZHRoKDEqaS5waXgpLG4ubW92ZVRvKHhbM10ueCx4WzNdLnkpLG4ubGluZVRvKHhbMV0ueCx4WzFdLnkpLG4ubGluZVRvKHhbMV0ueC1zLzQseFsxXS55KSxuLmxpbmVUbyh4WzBdLngtcy80LHhbMF0ueSksbi5saW5lVG8oeFswXS54LHhbMF0ueSksbi5saW5lVG8oeFsyXS54LHhbMl0ueSksbi5saW5lVG8oeFswXS54LHhbMF0ueSksbi5saW5lVG8oeFswXS54K3MvNCx4WzBdLnkpLG4ubGluZVRvKHhbMV0ueCtzLzQseFsxXS55KSxuLmxpbmVUbyh4WzFdLngseFsxXS55KSxuLm1vdmVUbyh4WzNdLngseFszXS55KSk6KG4uc2V0U3Ryb2tlU3R5bGUoby5jb2xvci5kb3duTGluZSksbi5zZXRGaWxsU3R5bGUoby5jb2xvci5kb3duRmlsbCksbi5zZXRMaW5lV2lkdGgoMSppLnBpeCksbi5tb3ZlVG8oeFszXS54LHhbM10ueSksbi5saW5lVG8oeFswXS54LHhbMF0ueSksbi5saW5lVG8oeFswXS54LXMvNCx4WzBdLnkpLG4ubGluZVRvKHhbMV0ueC1zLzQseFsxXS55KSxuLmxpbmVUbyh4WzFdLngseFsxXS55KSxuLmxpbmVUbyh4WzJdLngseFsyXS55KSxuLmxpbmVUbyh4WzFdLngseFsxXS55KSxuLmxpbmVUbyh4WzFdLngrcy80LHhbMV0ueSksbi5saW5lVG8oeFswXS54K3MvNCx4WzBdLnkpLG4ubGluZVRvKHhbMF0ueCx4WzBdLnkpLG4ubW92ZVRvKHhbM10ueCx4WzNdLnkpKSxuLmNsb3NlUGF0aCgpLG4uZmlsbCgpLG4uc3Ryb2tlKCl9fSkpLG4ucmVzdG9yZSgpLHt4QXhpc1BvaW50czpjLGNhbFBvaW50czpsLGVhY2hTcGFjaW5nOnN9fShvLHUsYSxpLGUsdCkscj1uLnhBeGlzUG9pbnRzLHA9bi5jYWxQb2ludHMsYz1uLmVhY2hTcGFjaW5nO2EuY2hhcnREYXRhLnhBeGlzUG9pbnRzPXIsYS5jaGFydERhdGEuY2FsUG9pbnRzPXAsYS5jaGFydERhdGEuZWFjaFNwYWNpbmc9Yyx2dCgwLGEsaSxlKSwhMSE9PWEuZW5hYmxlTWFya0xpbmUmJjE9PT10JiZjdChhLGksZSksYnQodT8wOmEuc2VyaWVzLGEsaSxlLGEuY2hhcnREYXRhKSxndChhLGksZSx0KSxDdCgwLGUpfSxvbkFuaW1hdGlvbkZpbmlzaDpmdW5jdGlvbigpe3IudWV2ZW50LnRyaWdnZXIoInJlbmRlckNvbXBsZXRlIil9fSk7YnJlYWt9fWZ1bmN0aW9uIER0KCl7dGhpcy5ldmVudHM9e319enQucHJvdG90eXBlLnN0b3A9ZnVuY3Rpb24oKXt0aGlzLmlzU3RvcD0hMH0sRHQucHJvdG90eXBlLmFkZEV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24odCxhKXt0aGlzLmV2ZW50c1t0XT10aGlzLmV2ZW50c1t0XXx8W10sdGhpcy5ldmVudHNbdF0ucHVzaChhKX0sRHQucHJvdG90eXBlLmRlbEV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24odCl7dGhpcy5ldmVudHNbdF09W119LER0LnByb3RvdHlwZS50cmlnZ2VyPWZ1bmN0aW9uKCl7Zm9yKHZhciB0PWFyZ3VtZW50cy5sZW5ndGgsYT1BcnJheSh0KSxpPTA7aTx0O2krKylhW2ldPWFyZ3VtZW50c1tpXTt2YXIgZT1hWzBdLG49YS5zbGljZSgxKTt0aGlzLmV2ZW50c1tlXSYmdGhpcy5ldmVudHNbZV0uZm9yRWFjaCgoZnVuY3Rpb24odCl7dHJ5e3QuYXBwbHkobnVsbCxuKX1jYXRjaChhKXt9fSkpfTt2YXIgTXQ9ZnVuY3Rpb24odCl7dC5waXg9dC5waXhlbFJhdGlvP3QucGl4ZWxSYXRpbzoxLHQuZm9udFNpemU9dC5mb250U2l6ZT90LmZvbnRTaXplOjEzLHQuZm9udENvbG9yPXQuZm9udENvbG9yP3QuZm9udENvbG9yOm8uZm9udENvbG9yLCIiIT10LmJhY2tncm91bmQmJiJub25lIiE9dC5iYWNrZ3JvdW5kfHwodC5iYWNrZ3JvdW5kPSIjRkZGRkZGIiksdC50aXRsZT1kKHt9LHQudGl0bGUpLHQuc3VidGl0bGU9ZCh7fSx0LnN1YnRpdGxlKSx0LmR1cmF0aW9uPXQuZHVyYXRpb24/dC5kdXJhdGlvbjoxZTMsdC55QXhpcz1kKHt9LHtkYXRhOltdLHNob3dUaXRsZTohMSxkaXNhYmxlZDohMSxkaXNhYmxlR3JpZDohMSxzcGxpdE51bWJlcjo1LGdyaWRUeXBlOiJzb2xpZCIsZGFzaExlbmd0aDo0KnQucGl4LGdyaWRDb2xvcjoiI2NjY2NjYyIscGFkZGluZzoxMCxmb250Q29sb3I6IiM2NjY2NjYifSx0LnlBeGlzKSx0LnhBeGlzPWQoe30se3JvdGF0ZUxhYmVsOiExLGRpc2FibGVkOiExLGRpc2FibGVHcmlkOiExLHNwbGl0TnVtYmVyOjUsY2FsaWJyYXRpb246ITEsZ3JpZFR5cGU6InNvbGlkIixkYXNoTGVuZ3RoOjQsc2Nyb2xsQWxpZ246ImxlZnQiLGJvdW5kYXJ5R2FwOiJjZW50ZXIiLGF4aXNMaW5lOiEwLGF4aXNMaW5lQ29sb3I6IiNjY2NjY2MifSx0LnhBeGlzKSx0LnhBeGlzLnNjcm9sbFBvc2l0aW9uPXQueEF4aXMuc2Nyb2xsQWxpZ24sdC5sZWdlbmQ9ZCh7fSx7c2hvdzohMCxwb3NpdGlvbjoiYm90dG9tIixmbG9hdDoiY2VudGVyIixiYWNrZ3JvdW5kQ29sb3I6InJnYmEoMCwwLDAsMCkiLGJvcmRlckNvbG9yOiJyZ2JhKDAsMCwwLDApIixib3JkZXJXaWR0aDowLHBhZGRpbmc6NSxtYXJnaW46NSxpdGVtR2FwOjEwLGZvbnRTaXplOnQuZm9udFNpemUsbGluZUhlaWdodDp0LmZvbnRTaXplLGZvbnRDb2xvcjp0LmZvbnRDb2xvcixmb3JtYXR0ZXI6e30saGlkZGVuQ29sb3I6IiNDRUNFQ0UifSx0LmxlZ2VuZCksdC5leHRyYT1kKHt9LHQuZXh0cmEpLHQucm90YXRlPSEhdC5yb3RhdGUsdC5hbmltYXRpb249ISF0LmFuaW1hdGlvbix0LnJvdGF0ZT0hIXQucm90YXRlLHQuY2FudmFzMmQ9ISF0LmNhbnZhczJkO3ZhciBhPUpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkobykpO2lmKGEuY29sb3I9dC5jb2xvcj90LmNvbG9yOmEuY29sb3IsYS55QXhpc1RpdGxlV2lkdGg9ITAhPT10LnlBeGlzLmRpc2FibGVkJiZ0LnlBeGlzLnRpdGxlP2EueUF4aXNUaXRsZVdpZHRoOjAsInBpZSI9PXQudHlwZSYmKGEucGllQ2hhcnRMaW5lUGFkZGluZz0hMT09PXQuZGF0YUxhYmVsPzA6dC5leHRyYS5waWUubGFiZWxXaWR0aCp0LnBpeHx8YS5waWVDaGFydExpbmVQYWRkaW5nKnQucGl4KSwicmluZyI9PXQudHlwZSYmKGEucGllQ2hhcnRMaW5lUGFkZGluZz0hMT09PXQuZGF0YUxhYmVsPzA6dC5leHRyYS5yaW5nLmxhYmVsV2lkdGgqdC5waXh8fGEucGllQ2hhcnRMaW5lUGFkZGluZyp0LnBpeCksInJvc2UiPT10LnR5cGUmJihhLnBpZUNoYXJ0TGluZVBhZGRpbmc9ITE9PT10LmRhdGFMYWJlbD8wOnQuZXh0cmEucm9zZS5sYWJlbFdpZHRoKnQucGl4fHxhLnBpZUNoYXJ0TGluZVBhZGRpbmcqdC5waXgpLGEucGllQ2hhcnRUZXh0UGFkZGluZz0hMT09PXQuZGF0YUxhYmVsPzA6YS5waWVDaGFydFRleHRQYWRkaW5nKnQucGl4LGEueUF4aXNTcGxpdD10LnlBeGlzLnNwbGl0TnVtYmVyP3QueUF4aXMuc3BsaXROdW1iZXI6by55QXhpc1NwbGl0LGEucm90YXRlPXQucm90YXRlLHQucm90YXRlKXt2YXIgaT10LndpZHRoLGU9dC5oZWlnaHQ7dC53aWR0aD1lLHQuaGVpZ2h0PWl9aWYodC5wYWRkaW5nPXQucGFkZGluZz90LnBhZGRpbmc6YS5wYWRkaW5nLGEueUF4aXNXaWR0aD1vLnlBeGlzV2lkdGgqdC5waXgsYS54QXhpc0hlaWdodD1vLnhBeGlzSGVpZ2h0KnQucGl4LHQuZW5hYmxlU2Nyb2xsJiZ0LnhBeGlzLnNjcm9sbFNob3cmJihhLnhBeGlzSGVpZ2h0Kz02KnQucGl4KSxhLnhBeGlzTGluZUhlaWdodD1vLnhBeGlzTGluZUhlaWdodCp0LnBpeCxhLmZvbnRTaXplPXQuZm9udFNpemUqdC5waXgsYS50aXRsZUZvbnRTaXplPW8udGl0bGVGb250U2l6ZSp0LnBpeCxhLnN1YnRpdGxlRm9udFNpemU9by5zdWJ0aXRsZUZvbnRTaXplKnQucGl4LGEudG9vbFRpcFBhZGRpbmc9by50b29sVGlwUGFkZGluZyp0LnBpeCxhLnRvb2xUaXBMaW5lSGVpZ2h0PW8udG9vbFRpcExpbmVIZWlnaHQqdC5waXgsYS5jb2x1bWVQYWRkaW5nPW8uY29sdW1lUGFkZGluZyp0LnBpeCwhdC5jb250ZXh0KXRocm93IG5ldyBFcnJvcigiW3VDaGFydHNdIOacquiOt+WPluWIsGNvbnRleHTvvIHms6jmhI/vvJp2Mi4w54mI5pys5ZCO77yM6ZyA6KaB6Ieq6KGM6I635Y+WY2FudmFz55qE57uY5Zu+5LiK5LiL5paH5bm25Lyg5YWlb3B0cy5jb250ZXh077yBIik7dGhpcy5jb250ZXh0PXQuY29udGV4dCx0aGlzLmNvbnRleHQuc2V0VGV4dEFsaWdufHwodGhpcy5jb250ZXh0LnNldFN0cm9rZVN0eWxlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnN0cm9rZVN0eWxlPXR9LHRoaXMuY29udGV4dC5zZXRMaW5lV2lkdGg9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMubGluZVdpZHRoPXR9LHRoaXMuY29udGV4dC5zZXRMaW5lQ2FwPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmxpbmVDYXA9dH0sdGhpcy5jb250ZXh0LnNldEZvbnRTaXplPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmZvbnQ9dCsicHggc2Fucy1zZXJpZiJ9LHRoaXMuY29udGV4dC5zZXRGaWxsU3R5bGU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuZmlsbFN0eWxlPXR9LHRoaXMuY29udGV4dC5zZXRUZXh0QWxpZ249ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMudGV4dEFsaWduPXR9LHRoaXMuY29udGV4dC5kcmF3PWZ1bmN0aW9uKCl7fSksdGhpcy5jb250ZXh0LnNldExpbmVEYXNofHwodGhpcy5jb250ZXh0LnNldExpbmVEYXNoPWZ1bmN0aW9uKHQpe30pLHQuY2hhcnREYXRhPXt9LHRoaXMudWV2ZW50PW5ldyBEdCx0aGlzLnNjcm9sbE9wdGlvbj17Y3VycmVudE9mZnNldDowLHN0YXJ0VG91Y2hYOjAsZGlzdGFuY2U6MCxsYXN0TW92ZVRpbWU6MH0sdGhpcy5vcHRzPXQsdGhpcy5jb25maWc9YSxJdC5jYWxsKHRoaXMsdC50eXBlLHQsYSx0aGlzLmNvbnRleHQpfTtNdC5wcm90b3R5cGUudXBkYXRlRGF0YT1mdW5jdGlvbigpe3ZhciB0PWFyZ3VtZW50cy5sZW5ndGg+MCYmdm9pZCAwIT09YXJndW1lbnRzWzBdP2FyZ3VtZW50c1swXTp7fTt0aGlzLm9wdHM9ZCh7fSx0aGlzLm9wdHMsdCksdGhpcy5vcHRzLnVwZGF0ZURhdGE9ITA7dmFyIGE9dC5zY3JvbGxQb3NpdGlvbnx8ImN1cnJlbnQiO3N3aXRjaChhKXtjYXNlImN1cnJlbnQiOmJyZWFrO2Nhc2UibGVmdCI6dGhpcy5vcHRzLl9zY3JvbGxEaXN0YW5jZV89MCx0aGlzLnNjcm9sbE9wdGlvbj17Y3VycmVudE9mZnNldDowLHN0YXJ0VG91Y2hYOjAsZGlzdGFuY2U6MCxsYXN0TW92ZVRpbWU6MH07YnJlYWs7Y2FzZSJyaWdodCI6dmFyIGk9dHQodGhpcy5vcHRzLnNlcmllcyx0aGlzLm9wdHMsdGhpcy5jb25maWcsdGhpcy5jb250ZXh0KSxlPWkueUF4aXNXaWR0aDt0aGlzLmNvbmZpZy55QXhpc1dpZHRoPWU7dmFyIG49MCxyPUoodGhpcy5vcHRzLmNhdGVnb3JpZXMsdGhpcy5vcHRzLHRoaXMuY29uZmlnKSxvPXIueEF4aXNQb2ludHMscD1yLnN0YXJ0WCxjPXIuZW5kWCxzPXIuZWFjaFNwYWNpbmcsbD1zKihvLmxlbmd0aC0xKSxtPWMtcDtuPW0tbCx0aGlzLnNjcm9sbE9wdGlvbj17Y3VycmVudE9mZnNldDpuLHN0YXJ0VG91Y2hYOm4sZGlzdGFuY2U6MCxsYXN0TW92ZVRpbWU6MH0sdGhpcy5vcHRzLl9zY3JvbGxEaXN0YW5jZV89bjticmVha31JdC5jYWxsKHRoaXMsdGhpcy5vcHRzLnR5cGUsdGhpcy5vcHRzLHRoaXMuY29uZmlnLHRoaXMuY29udGV4dCl9LE10LnByb3RvdHlwZS56b29tPWZ1bmN0aW9uKCl7dmFyIHQ9YXJndW1lbnRzLmxlbmd0aD4wJiZ2b2lkIDAhPT1hcmd1bWVudHNbMF0/YXJndW1lbnRzWzBdOnRoaXMub3B0cy54QXhpcy5pdGVtQ291bnQ7aWYoITA9PT10aGlzLm9wdHMuZW5hYmxlU2Nyb2xsKXt2YXIgYT1NYXRoLnJvdW5kKE1hdGguYWJzKHRoaXMuc2Nyb2xsT3B0aW9uLmN1cnJlbnRPZmZzZXQpL3RoaXMub3B0cy5jaGFydERhdGEuZWFjaFNwYWNpbmcpK01hdGgucm91bmQodGhpcy5vcHRzLnhBeGlzLml0ZW1Db3VudC8yKTt0aGlzLm9wdHMuYW5pbWF0aW9uPSExLHRoaXMub3B0cy54QXhpcy5pdGVtQ291bnQ9dC5pdGVtQ291bnQ7dmFyIGk9dHQodGhpcy5vcHRzLnNlcmllcyx0aGlzLm9wdHMsdGhpcy5jb25maWcsdGhpcy5jb250ZXh0KSxlPWkueUF4aXNXaWR0aDt0aGlzLmNvbmZpZy55QXhpc1dpZHRoPWU7dmFyIG49MCxyPUoodGhpcy5vcHRzLmNhdGVnb3JpZXMsdGhpcy5vcHRzLHRoaXMuY29uZmlnKSxvPXIueEF4aXNQb2ludHMsZD1yLnN0YXJ0WCxwPXIuZW5kWCxjPXIuZWFjaFNwYWNpbmcscz1jKmEsbD1wLWQsbT1sLWMqKG8ubGVuZ3RoLTEpO249bC8yLXMsbj4wJiYobj0wKSxuPG0mJihuPW0pLHRoaXMuc2Nyb2xsT3B0aW9uPXtjdXJyZW50T2Zmc2V0Om4sc3RhcnRUb3VjaFg6bixkaXN0YW5jZTowLGxhc3RNb3ZlVGltZTowfSx0aGlzLm9wdHMuX3Njcm9sbERpc3RhbmNlXz1uLEl0LmNhbGwodGhpcyx0aGlzLm9wdHMudHlwZSx0aGlzLm9wdHMsdGhpcy5jb25maWcsdGhpcy5jb250ZXh0KX1lbHNlIGNvbnNvbGUubG9nKCJbdUNoYXJ0c10g6K+35ZCv55So5rua5Yqo5p2h5ZCO5L2/55SoIil9LE10LnByb3RvdHlwZS5zdG9wQW5pbWF0aW9uPWZ1bmN0aW9uKCl7dGhpcy5hbmltYXRpb25JbnN0YW5jZSYmdGhpcy5hbmltYXRpb25JbnN0YW5jZS5zdG9wKCl9LE10LnByb3RvdHlwZS5hZGRFdmVudExpc3RlbmVyPWZ1bmN0aW9uKHQsYSl7dGhpcy51ZXZlbnQuYWRkRXZlbnRMaXN0ZW5lcih0LGEpfSxNdC5wcm90b3R5cGUuZGVsRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbih0KXt0aGlzLnVldmVudC5kZWxFdmVudExpc3RlbmVyKHQpfSxNdC5wcm90b3R5cGUuZ2V0Q3VycmVudERhdGFJbmRleD1mdW5jdGlvbih0KXt2YXIgYT1udWxsO2lmKGE9dC5jaGFuZ2VkVG91Y2hlcz90LmNoYW5nZWRUb3VjaGVzWzBdOnQubXAuY2hhbmdlZFRvdWNoZXNbMF0sYSl7dmFyIGk9dyhhLHRoaXMub3B0cyx0KTtyZXR1cm4icGllIj09PXRoaXMub3B0cy50eXBlfHwicmluZyI9PT10aGlzLm9wdHMudHlwZT9mdW5jdGlvbih0LGEsaSl7dmFyIGU9LTEsbj1CKGEuc2VyaWVzKTtpZihhJiZhLmNlbnRlciYmTSh0LGEuY2VudGVyLGEucmFkaXVzKSl7dmFyIHI9TWF0aC5hdGFuMihhLmNlbnRlci55LXQueSx0LngtYS5jZW50ZXIueCk7cj0tcixpLmV4dHJhLnBpZSYmaS5leHRyYS5waWUub2Zmc2V0QW5nbGUmJihyLT1pLmV4dHJhLnBpZS5vZmZzZXRBbmdsZSpNYXRoLlBJLzE4MCksaS5leHRyYS5yaW5nJiZpLmV4dHJhLnJpbmcub2Zmc2V0QW5nbGUmJihyLT1pLmV4dHJhLnJpbmcub2Zmc2V0QW5nbGUqTWF0aC5QSS8xODApO2Zvcih2YXIgbz0wLGQ9bi5sZW5ndGg7bzxkO28rKylpZihtKHIsbltvXS5fc3RhcnRfLG5bb10uX3N0YXJ0XysyKm5bb10uX3Byb3BvcnRpb25fKk1hdGguUEkpKXtlPW87YnJlYWt9fXJldHVybiBlfSh7eDppLngseTppLnl9LHRoaXMub3B0cy5jaGFydERhdGEucGllRGF0YSx0aGlzLm9wdHMpOiJyb3NlIj09PXRoaXMub3B0cy50eXBlP2Z1bmN0aW9uKHQsYSxpKXt2YXIgZT0tMSxuPUYoaS5fc2VyaWVzXyxpLmV4dHJhLnJvc2UudHlwZSxhLnJhZGl1cyxhLnJhZGl1cyk7aWYoYSYmYS5jZW50ZXImJk0odCxhLmNlbnRlcixhLnJhZGl1cykpe3ZhciByPU1hdGguYXRhbjIoYS5jZW50ZXIueS10LnksdC54LWEuY2VudGVyLngpO3I9LXIsaS5leHRyYS5yb3NlJiZpLmV4dHJhLnJvc2Uub2Zmc2V0QW5nbGUmJihyLT1pLmV4dHJhLnJvc2Uub2Zmc2V0QW5nbGUqTWF0aC5QSS8xODApO2Zvcih2YXIgbz0wLGQ9bi5sZW5ndGg7bzxkO28rKylpZihtKHIsbltvXS5fc3RhcnRfLG5bb10uX3N0YXJ0XysyKm5bb10uX3Jvc2VfcHJvcG9ydGlvbl8qTWF0aC5QSSkpe2U9bzticmVha319cmV0dXJuIGV9KHt4OmkueCx5OmkueX0sdGhpcy5vcHRzLmNoYXJ0RGF0YS5waWVEYXRhLHRoaXMub3B0cyk6InJhZGFyIj09PXRoaXMub3B0cy50eXBlP2Z1bmN0aW9uKHQsYSxpKXt2YXIgZT0yKk1hdGguUEkvaSxuPS0xO2lmKE0odCxhLmNlbnRlcixhLnJhZGl1cykpe3ZhciByPWZ1bmN0aW9uKHQpe3JldHVybiB0PDAmJih0Kz0yKk1hdGguUEkpLHQ+MipNYXRoLlBJJiYodC09MipNYXRoLlBJKSx0fSxvPU1hdGguYXRhbjIoYS5jZW50ZXIueS10LnksdC54LWEuY2VudGVyLngpO28qPS0xLG88MCYmKG8rPTIqTWF0aC5QSSk7dmFyIGQ9YS5hbmdsZUxpc3QubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gdD1yKC0xKnQpLHR9KSk7ZC5mb3JFYWNoKChmdW5jdGlvbih0LGEpe3ZhciBpPXIodC1lLzIpLGQ9cih0K2UvMik7ZDxpJiYoZCs9MipNYXRoLlBJKSwobz49aSYmbzw9ZHx8bysyKk1hdGguUEk+PWkmJm8rMipNYXRoLlBJPD1kKSYmKG49YSl9KSl9cmV0dXJuIG59KHt4OmkueCx5OmkueX0sdGhpcy5vcHRzLmNoYXJ0RGF0YS5yYWRhckRhdGEsdGhpcy5vcHRzLmNhdGVnb3JpZXMubGVuZ3RoKToiZnVubmVsIj09PXRoaXMub3B0cy50eXBlP2Z1bmN0aW9uKHQsYSl7Zm9yKHZhciBpPS0xLGU9MCxuPWEuc2VyaWVzLmxlbmd0aDtlPG47ZSsrKXt2YXIgcj1hLnNlcmllc1tlXTtpZih0Lng+ci5mdW5uZWxBcmVhWzBdJiZ0Lng8ci5mdW5uZWxBcmVhWzJdJiZ0Lnk+ci5mdW5uZWxBcmVhWzFdJiZ0Lnk8ci5mdW5uZWxBcmVhWzNdKXtpPWU7YnJlYWt9fXJldHVybiBpfSh7eDppLngseTppLnl9LHRoaXMub3B0cy5jaGFydERhdGEuZnVubmVsRGF0YSk6Im1hcCI9PT10aGlzLm9wdHMudHlwZT9mdW5jdGlvbih0LGEpe2Zvcih2YXIgaT0tMSxlPWEuY2hhcnREYXRhLm1hcERhdGEsbj1hLnNlcmllcyxyPWZ1bmN0aW9uKHQsYSxpLGUsbixyKXtyZXR1cm57eDooYS1uKS9lK2kueE1pbix5OmkueU1heC0odC1yKS9lfX0odC55LHQueCxlLmJvdW5kcyxlLnNjYWxlLGUueG9mZnNldCxlLnlvZmZzZXQpLG89W3IueCxyLnldLGQ9MCxwPW4ubGVuZ3RoO2Q8cDtkKyspe3ZhciBjPW5bZF0uZ2VvbWV0cnkuY29vcmRpbmF0ZXM7aWYoa3QobyxjLGEuY2hhcnREYXRhLm1hcERhdGEubWVyY2F0b3IpKXtpPWQ7YnJlYWt9fXJldHVybiBpfSh7eDppLngseTppLnl9LHRoaXMub3B0cyk6IndvcmQiPT09dGhpcy5vcHRzLnR5cGU/ZnVuY3Rpb24odCxhKXtmb3IodmFyIGk9LTEsZT0wLG49YS5sZW5ndGg7ZTxuO2UrKyl7dmFyIHI9YVtlXTtpZih0Lng+ci5hcmVhWzBdJiZ0Lng8ci5hcmVhWzJdJiZ0Lnk+ci5hcmVhWzFdJiZ0Lnk8ci5hcmVhWzNdKXtpPWU7YnJlYWt9fXJldHVybiBpfSh7eDppLngseTppLnl9LHRoaXMub3B0cy5jaGFydERhdGEud29yZENsb3VkRGF0YSk6ImJhciI9PT10aGlzLm9wdHMudHlwZT9mdW5jdGlvbih0LGEsaSxlKXt2YXIgbj1hcmd1bWVudHMubGVuZ3RoPjQmJnZvaWQgMCE9PWFyZ3VtZW50c1s0XT9hcmd1bWVudHNbNF06MCxyPXtpbmRleDotMSxncm91cDpbXX0sbz1pLmNoYXJ0RGF0YS5lYWNoU3BhY2luZy8yLGQ9aS5jaGFydERhdGEueUF4aXNQb2ludHM7cmV0dXJuIGEmJmEubGVuZ3RoPjAmJkQodCxpLGUpJiZkLmZvckVhY2goKGZ1bmN0aW9uKGEsaSl7dC55K24rbz5hJiYoci5pbmRleD1pKX0pKSxyfSh7eDppLngseTppLnl9LHRoaXMub3B0cy5jaGFydERhdGEuY2FsUG9pbnRzLHRoaXMub3B0cyx0aGlzLmNvbmZpZyxNYXRoLmFicyh0aGlzLnNjcm9sbE9wdGlvbi5jdXJyZW50T2Zmc2V0KSk6ZnVuY3Rpb24odCxhLGksZSl7dmFyIG49YXJndW1lbnRzLmxlbmd0aD40JiZ2b2lkIDAhPT1hcmd1bWVudHNbNF0/YXJndW1lbnRzWzRdOjAscj17aW5kZXg6LTEsZ3JvdXA6W119LG89aS5jaGFydERhdGEuZWFjaFNwYWNpbmcvMixkPVtdO2lmKGEmJmEubGVuZ3RoPjApe2lmKGkuY2F0ZWdvcmllcyl7Zm9yKHZhciBwPTE7cDxpLmNoYXJ0RGF0YS54QXhpc1BvaW50cy5sZW5ndGg7cCsrKWQucHVzaChpLmNoYXJ0RGF0YS54QXhpc1BvaW50c1twXS1vKTsibGluZSIhPWkudHlwZSYmImFyZWEiIT1pLnR5cGV8fCJqdXN0aWZ5IiE9aS54QXhpcy5ib3VuZGFyeUdhcHx8KGQ9aS5jaGFydERhdGEueEF4aXNQb2ludHMpfWVsc2Ugbz0wO2lmKEQodCxpLGUpKWlmKGkuY2F0ZWdvcmllcylkLmZvckVhY2goKGZ1bmN0aW9uKGEsaSl7dC54K24rbz5hJiYoci5pbmRleD1pKX0pKTtlbHNle2Zvcih2YXIgYz1BcnJheShhLmxlbmd0aCkscz0wO3M8YS5sZW5ndGg7cysrKXtjW3NdPUFycmF5KGFbc10ubGVuZ3RoKTtmb3IodmFyIGw9MDtsPGFbc10ubGVuZ3RoO2wrKyljW3NdW2xdPU1hdGguYWJzKGFbc11bbF0ueC10LngpfWZvcih2YXIgbT1BcnJheShjLmxlbmd0aCksZj1BcnJheShjLmxlbmd0aCksZz0wO2c8Yy5sZW5ndGg7ZysrKW1bZ109TWF0aC5taW4uYXBwbHkobnVsbCxjW2ddKSxmW2ddPWNbZ10uaW5kZXhPZihtW2ddKTt2YXIgdT1NYXRoLm1pbi5hcHBseShudWxsLG0pO3IuaW5kZXg9W107Zm9yKHZhciBoPTA7aDxtLmxlbmd0aDtoKyspbVtoXT09dSYmKHIuZ3JvdXAucHVzaChoKSxyLmluZGV4LnB1c2goZltoXSkpfX1yZXR1cm4gcn0oe3g6aS54LHk6aS55fSx0aGlzLm9wdHMuY2hhcnREYXRhLmNhbFBvaW50cyx0aGlzLm9wdHMsdGhpcy5jb25maWcsTWF0aC5hYnModGhpcy5zY3JvbGxPcHRpb24uY3VycmVudE9mZnNldCkpfXJldHVybi0xfSxNdC5wcm90b3R5cGUuZ2V0TGVnZW5kRGF0YUluZGV4PWZ1bmN0aW9uKHQpe3ZhciBhPW51bGw7aWYoYT10LmNoYW5nZWRUb3VjaGVzP3QuY2hhbmdlZFRvdWNoZXNbMF06dC5tcC5jaGFuZ2VkVG91Y2hlc1swXSxhKXt2YXIgaT13KGEsdGhpcy5vcHRzLHQpO3JldHVybiBmdW5jdGlvbih0LGEsaSl7dmFyIGU9LTE7aWYoZnVuY3Rpb24odCxhKXtyZXR1cm4gdC54PmEuc3RhcnQueCYmdC54PGEuZW5kLngmJnQueT5hLnN0YXJ0LnkmJnQueTxhLmVuZC55fSh0LGEuYXJlYSkpe2Zvcih2YXIgbj1hLnBvaW50cyxyPS0xLG89MCxkPW4ubGVuZ3RoO288ZDtvKyspZm9yKHZhciBwPW5bb10sYz0wO2M8cC5sZW5ndGg7YysrKXtyKz0xO3ZhciBzPXBbY11bImFyZWEiXTtpZihzJiZ0Lng+c1swXS0wJiZ0Lng8c1syXSswJiZ0Lnk+c1sxXS0wJiZ0Lnk8c1szXSswKXtlPXI7YnJlYWt9fXJldHVybiBlfXJldHVybiBlfSh7eDppLngseTppLnl9LHRoaXMub3B0cy5jaGFydERhdGEubGVnZW5kRGF0YSl9cmV0dXJuLTF9LE10LnByb3RvdHlwZS50b3VjaExlZ2VuZD1mdW5jdGlvbih0KXt2YXIgYT1hcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXT9hcmd1bWVudHNbMV06e30saT1udWxsO2lmKGk9dC5jaGFuZ2VkVG91Y2hlcz90LmNoYW5nZWRUb3VjaGVzWzBdOnQubXAuY2hhbmdlZFRvdWNoZXNbMF0saSl7dyhpLHRoaXMub3B0cyx0KTt2YXIgZT10aGlzLmdldExlZ2VuZERhdGFJbmRleCh0KTtlPj0wJiYoImNhbmRsZSI9PXRoaXMub3B0cy50eXBlP3RoaXMub3B0cy5zZXJpZXNNQVtlXS5zaG93PSF0aGlzLm9wdHMuc2VyaWVzTUFbZV0uc2hvdzp0aGlzLm9wdHMuc2VyaWVzW2VdLnNob3c9IXRoaXMub3B0cy5zZXJpZXNbZV0uc2hvdyx0aGlzLm9wdHMuYW5pbWF0aW9uPSEhYS5hbmltYXRpb24sdGhpcy5vcHRzLl9zY3JvbGxEaXN0YW5jZV89dGhpcy5zY3JvbGxPcHRpb24uY3VycmVudE9mZnNldCxJdC5jYWxsKHRoaXMsdGhpcy5vcHRzLnR5cGUsdGhpcy5vcHRzLHRoaXMuY29uZmlnLHRoaXMuY29udGV4dCkpfX0sTXQucHJvdG90eXBlLnNob3dUb29sVGlwPWZ1bmN0aW9uKHQpe3ZhciBhPXRoaXMsaT1hcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXT9hcmd1bWVudHNbMV06e30sZT1udWxsO2U9dC5jaGFuZ2VkVG91Y2hlcz90LmNoYW5nZWRUb3VjaGVzWzBdOnQubXAuY2hhbmdlZFRvdWNoZXNbMF0sZXx8Y29uc29sZS5sb2coIlt1Q2hhcnRzXSDmnKrojrflj5bliLBldmVudOWdkOagh+S/oeaBryIpO3ZhciBuPXcoZSx0aGlzLm9wdHMsdCkscj10aGlzLnNjcm9sbE9wdGlvbi5jdXJyZW50T2Zmc2V0LG89ZCh7fSx0aGlzLm9wdHMse19zY3JvbGxEaXN0YW5jZV86cixhbmltYXRpb246ITF9KTtpZigibGluZSI9PT10aGlzLm9wdHMudHlwZXx8ImFyZWEiPT09dGhpcy5vcHRzLnR5cGV8fCJjb2x1bW4iPT09dGhpcy5vcHRzLnR5cGV8fCJzY2F0dGVyIj09PXRoaXMub3B0cy50eXBlfHwiYnViYmxlIj09PXRoaXMub3B0cy50eXBlKXt2YXIgcD10aGlzLmdldEN1cnJlbnREYXRhSW5kZXgodCksYz12b2lkIDA9PWkuaW5kZXg/cC5pbmRleDppLmluZGV4O2lmKGM+LTF8fGMubGVuZ3RoPjApe3ZhciBzPWsodGhpcy5vcHRzLnNlcmllcyxjLHAuZ3JvdXApO2lmKDAhPT1zLmxlbmd0aCl7dmFyIGw9QyhzLHRoaXMub3B0cyxjLHAuZ3JvdXAsdGhpcy5vcHRzLmNhdGVnb3JpZXMsaSksbT1sLnRleHRMaXN0LGY9bC5vZmZzZXQ7Zi55PW4ueSxvLnRvb2x0aXA9e3RleHRMaXN0OnZvaWQgMCE9PWkudGV4dExpc3Q/aS50ZXh0TGlzdDptLG9mZnNldDp2b2lkIDAhPT1pLm9mZnNldD9pLm9mZnNldDpmLG9wdGlvbjppLGluZGV4OmN9fX1JdC5jYWxsKHRoaXMsby50eXBlLG8sdGhpcy5jb25maWcsdGhpcy5jb250ZXh0KX1pZigiYmFyIj09PXRoaXMub3B0cy50eXBlKXtwPXRoaXMuZ2V0Q3VycmVudERhdGFJbmRleCh0KSxjPXZvaWQgMD09aS5pbmRleD9wLmluZGV4OmkuaW5kZXg7aWYoYz4tMXx8Yy5sZW5ndGg+MCl7cz1rKHRoaXMub3B0cy5zZXJpZXMsYyxwLmdyb3VwKTtpZigwIT09cy5sZW5ndGgpe2w9QyhzLHRoaXMub3B0cyxjLHAuZ3JvdXAsdGhpcy5vcHRzLmNhdGVnb3JpZXMsaSksbT1sLnRleHRMaXN0LGY9bC5vZmZzZXQ7Zi54PW4ueCxvLnRvb2x0aXA9e3RleHRMaXN0OnZvaWQgMCE9PWkudGV4dExpc3Q/aS50ZXh0TGlzdDptLG9mZnNldDp2b2lkIDAhPT1pLm9mZnNldD9pLm9mZnNldDpmLG9wdGlvbjppLGluZGV4OmN9fX1JdC5jYWxsKHRoaXMsby50eXBlLG8sdGhpcy5jb25maWcsdGhpcy5jb250ZXh0KX1pZigibWl4Ij09PXRoaXMub3B0cy50eXBlKXtwPXRoaXMuZ2V0Q3VycmVudERhdGFJbmRleCh0KSxjPXZvaWQgMD09aS5pbmRleD9wLmluZGV4OmkuaW5kZXg7aWYoYz4tMSl7cj10aGlzLnNjcm9sbE9wdGlvbi5jdXJyZW50T2Zmc2V0LG89ZCh7fSx0aGlzLm9wdHMse19zY3JvbGxEaXN0YW5jZV86cixhbmltYXRpb246ITF9KSxzPWsodGhpcy5vcHRzLnNlcmllcyxjKTtpZigwIT09cy5sZW5ndGgpe3ZhciBnPVAocyx0aGlzLm9wdHMsYyx0aGlzLm9wdHMuY2F0ZWdvcmllcyxpKTttPWcudGV4dExpc3QsZj1nLm9mZnNldDtmLnk9bi55LG8udG9vbHRpcD17dGV4dExpc3Q6aS50ZXh0TGlzdD9pLnRleHRMaXN0Om0sb2Zmc2V0OnZvaWQgMCE9PWkub2Zmc2V0P2kub2Zmc2V0OmYsb3B0aW9uOmksaW5kZXg6Y319fUl0LmNhbGwodGhpcyxvLnR5cGUsbyx0aGlzLmNvbmZpZyx0aGlzLmNvbnRleHQpfWlmKCJjYW5kbGUiPT09dGhpcy5vcHRzLnR5cGUpe3A9dGhpcy5nZXRDdXJyZW50RGF0YUluZGV4KHQpLGM9dm9pZCAwPT1pLmluZGV4P3AuaW5kZXg6aS5pbmRleDtpZihjPi0xKXtyPXRoaXMuc2Nyb2xsT3B0aW9uLmN1cnJlbnRPZmZzZXQsbz1kKHt9LHRoaXMub3B0cyx7X3Njcm9sbERpc3RhbmNlXzpyLGFuaW1hdGlvbjohMX0pLHM9ayh0aGlzLm9wdHMuc2VyaWVzLGMpO2lmKDAhPT1zLmxlbmd0aCl7bD16KHRoaXMub3B0cy5zZXJpZXNbMF0uZGF0YSxzLHRoaXMub3B0cyxjLHRoaXMub3B0cy5jYXRlZ29yaWVzLHRoaXMub3B0cy5leHRyYS5jYW5kbGUsaSksbT1sLnRleHRMaXN0LGY9bC5vZmZzZXQ7Zi55PW4ueSxvLnRvb2x0aXA9e3RleHRMaXN0OmkudGV4dExpc3Q/aS50ZXh0TGlzdDptLG9mZnNldDp2b2lkIDAhPT1pLm9mZnNldD9pLm9mZnNldDpmLG9wdGlvbjppLGluZGV4OmN9fX1JdC5jYWxsKHRoaXMsby50eXBlLG8sdGhpcy5jb25maWcsdGhpcy5jb250ZXh0KX1pZigicGllIj09PXRoaXMub3B0cy50eXBlfHwicmluZyI9PT10aGlzLm9wdHMudHlwZXx8InJvc2UiPT09dGhpcy5vcHRzLnR5cGV8fCJmdW5uZWwiPT09dGhpcy5vcHRzLnR5cGUpe2M9dm9pZCAwPT1pLmluZGV4P3RoaXMuZ2V0Q3VycmVudERhdGFJbmRleCh0KTppLmluZGV4O2lmKGM+LTEpe289ZCh7fSx0aGlzLm9wdHMse2FuaW1hdGlvbjohMX0pLHM9ZCh7fSxvLl9zZXJpZXNfW2NdKSxtPVt7dGV4dDppLmZvcm1hdHRlcj9pLmZvcm1hdHRlcihzLHZvaWQgMCxjLG8pOnMubmFtZSsiOiAiK3MuZGF0YSxjb2xvcjpzLmNvbG9yfV0sZj17eDpuLngseTpuLnl9O28udG9vbHRpcD17dGV4dExpc3Q6aS50ZXh0TGlzdD9pLnRleHRMaXN0Om0sb2Zmc2V0OnZvaWQgMCE9PWkub2Zmc2V0P2kub2Zmc2V0OmYsb3B0aW9uOmksaW5kZXg6Y319SXQuY2FsbCh0aGlzLG8udHlwZSxvLHRoaXMuY29uZmlnLHRoaXMuY29udGV4dCl9aWYoIm1hcCI9PT10aGlzLm9wdHMudHlwZSl7Yz12b2lkIDA9PWkuaW5kZXg/dGhpcy5nZXRDdXJyZW50RGF0YUluZGV4KHQpOmkuaW5kZXg7aWYoYz4tMSl7bz1kKHt9LHRoaXMub3B0cyx7YW5pbWF0aW9uOiExfSkscz1kKHt9LHRoaXMub3B0cy5zZXJpZXNbY10pO3MubmFtZT1zLnByb3BlcnRpZXMubmFtZTttPVt7dGV4dDppLmZvcm1hdHRlcj9pLmZvcm1hdHRlcihzLHZvaWQgMCxjLHRoaXMub3B0cyk6cy5uYW1lLGNvbG9yOnMuY29sb3J9XSxmPXt4Om4ueCx5Om4ueX07by50b29sdGlwPXt0ZXh0TGlzdDppLnRleHRMaXN0P2kudGV4dExpc3Q6bSxvZmZzZXQ6dm9pZCAwIT09aS5vZmZzZXQ/aS5vZmZzZXQ6ZixvcHRpb246aSxpbmRleDpjfX1vLnVwZGF0ZURhdGE9ITEsSXQuY2FsbCh0aGlzLG8udHlwZSxvLHRoaXMuY29uZmlnLHRoaXMuY29udGV4dCl9aWYoIndvcmQiPT09dGhpcy5vcHRzLnR5cGUpe2M9dm9pZCAwPT1pLmluZGV4P3RoaXMuZ2V0Q3VycmVudERhdGFJbmRleCh0KTppLmluZGV4O2lmKGM+LTEpe289ZCh7fSx0aGlzLm9wdHMse2FuaW1hdGlvbjohMX0pLHM9ZCh7fSx0aGlzLm9wdHMuc2VyaWVzW2NdKSxtPVt7dGV4dDppLmZvcm1hdHRlcj9pLmZvcm1hdHRlcihzLHZvaWQgMCxjLHRoaXMub3B0cyk6cy5uYW1lLGNvbG9yOnMuY29sb3J9XSxmPXt4Om4ueCx5Om4ueX07by50b29sdGlwPXt0ZXh0TGlzdDppLnRleHRMaXN0P2kudGV4dExpc3Q6bSxvZmZzZXQ6dm9pZCAwIT09aS5vZmZzZXQ/aS5vZmZzZXQ6ZixvcHRpb246aSxpbmRleDpjfX1vLnVwZGF0ZURhdGE9ITEsSXQuY2FsbCh0aGlzLG8udHlwZSxvLHRoaXMuY29uZmlnLHRoaXMuY29udGV4dCl9aWYoInJhZGFyIj09PXRoaXMub3B0cy50eXBlKXtjPXZvaWQgMD09aS5pbmRleD90aGlzLmdldEN1cnJlbnREYXRhSW5kZXgodCk6aS5pbmRleDtpZihjPi0xKXtvPWQoe30sdGhpcy5vcHRzLHthbmltYXRpb246ITF9KSxzPWsodGhpcy5vcHRzLnNlcmllcyxjKTtpZigwIT09cy5sZW5ndGgpe209cy5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybnt0ZXh0OmkuZm9ybWF0dGVyP2kuZm9ybWF0dGVyKHQsYS5vcHRzLmNhdGVnb3JpZXNbY10sYyxhLm9wdHMpOnQubmFtZSsiOiAiK3QuZGF0YSxjb2xvcjp0LmNvbG9yfX0pKSxmPXt4Om4ueCx5Om4ueX07by50b29sdGlwPXt0ZXh0TGlzdDppLnRleHRMaXN0P2kudGV4dExpc3Q6bSxvZmZzZXQ6dm9pZCAwIT09aS5vZmZzZXQ/aS5vZmZzZXQ6ZixvcHRpb246aSxpbmRleDpjfX19SXQuY2FsbCh0aGlzLG8udHlwZSxvLHRoaXMuY29uZmlnLHRoaXMuY29udGV4dCl9fSxNdC5wcm90b3R5cGUudHJhbnNsYXRlPWZ1bmN0aW9uKHQpe3RoaXMuc2Nyb2xsT3B0aW9uPXtjdXJyZW50T2Zmc2V0OnQsc3RhcnRUb3VjaFg6dCxkaXN0YW5jZTowLGxhc3RNb3ZlVGltZTowfTt2YXIgYT1kKHt9LHRoaXMub3B0cyx7X3Njcm9sbERpc3RhbmNlXzp0LGFuaW1hdGlvbjohMX0pO0l0LmNhbGwodGhpcyx0aGlzLm9wdHMudHlwZSxhLHRoaXMuY29uZmlnLHRoaXMuY29udGV4dCl9LE10LnByb3RvdHlwZS5zY3JvbGxTdGFydD1mdW5jdGlvbih0KXt2YXIgYT1udWxsO2E9dC5jaGFuZ2VkVG91Y2hlcz90LmNoYW5nZWRUb3VjaGVzWzBdOnQubXAuY2hhbmdlZFRvdWNoZXNbMF07dmFyIGk9dyhhLHRoaXMub3B0cyx0KTthJiYhMD09PXRoaXMub3B0cy5lbmFibGVTY3JvbGwmJih0aGlzLnNjcm9sbE9wdGlvbi5zdGFydFRvdWNoWD1pLngpfSxNdC5wcm90b3R5cGUuc2Nyb2xsPWZ1bmN0aW9uKHQpezA9PT10aGlzLnNjcm9sbE9wdGlvbi5sYXN0TW92ZVRpbWUmJih0aGlzLnNjcm9sbE9wdGlvbi5sYXN0TW92ZVRpbWU9RGF0ZS5ub3coKSk7dmFyIGE9dGhpcy5vcHRzLnRvdWNoTW92ZUxpbWl0fHw2MCxpPURhdGUubm93KCksZT1pLXRoaXMuc2Nyb2xsT3B0aW9uLmxhc3RNb3ZlVGltZTtpZighKGU8TWF0aC5mbG9vcigxZTMvYSkpKXt0aGlzLnNjcm9sbE9wdGlvbi5sYXN0TW92ZVRpbWU9aTt2YXIgbj1udWxsO2lmKG49dC5jaGFuZ2VkVG91Y2hlcz90LmNoYW5nZWRUb3VjaGVzWzBdOnQubXAuY2hhbmdlZFRvdWNoZXNbMF0sbiYmITA9PT10aGlzLm9wdHMuZW5hYmxlU2Nyb2xsKXt2YXIgcixvPXcobix0aGlzLm9wdHMsdCk7cj1vLngtdGhpcy5zY3JvbGxPcHRpb24uc3RhcnRUb3VjaFg7dmFyIHA9dGhpcy5zY3JvbGxPcHRpb24uY3VycmVudE9mZnNldCxjPWZ1bmN0aW9uKHQsYSxpLGUsbil7dmFyIHI9bi53aWR0aC1uLmFyZWFbMV0tbi5hcmVhWzNdLG89aS5lYWNoU3BhY2luZyoobi5jaGFydERhdGEueEF4aXNEYXRhLnhBeGlzUG9pbnRzLmxlbmd0aC0xKSxkPWE7cmV0dXJuIGE+PTA/KGQ9MCx0LnVldmVudC50cmlnZ2VyKCJzY3JvbGxMZWZ0IiksdC5zY3JvbGxPcHRpb24ucG9zaXRpb249ImxlZnQiLG4ueEF4aXMuc2Nyb2xsUG9zaXRpb249ImxlZnQiKTpNYXRoLmFicyhhKT49by1yPyhkPXItbyx0LnVldmVudC50cmlnZ2VyKCJzY3JvbGxSaWdodCIpLHQuc2Nyb2xsT3B0aW9uLnBvc2l0aW9uPSJyaWdodCIsbi54QXhpcy5zY3JvbGxQb3NpdGlvbj0icmlnaHQiKToodC5zY3JvbGxPcHRpb24ucG9zaXRpb249YSxuLnhBeGlzLnNjcm9sbFBvc2l0aW9uPWEpLGR9KHRoaXMscCtyLHRoaXMub3B0cy5jaGFydERhdGEsdGhpcy5jb25maWcsdGhpcy5vcHRzKTt0aGlzLnNjcm9sbE9wdGlvbi5kaXN0YW5jZT1yPWMtcDt2YXIgcz1kKHt9LHRoaXMub3B0cyx7X3Njcm9sbERpc3RhbmNlXzpwK3IsYW5pbWF0aW9uOiExfSk7cmV0dXJuIHRoaXMub3B0cz1zLEl0LmNhbGwodGhpcyxzLnR5cGUscyx0aGlzLmNvbmZpZyx0aGlzLmNvbnRleHQpLHArcn19fSxNdC5wcm90b3R5cGUuc2Nyb2xsRW5kPWZ1bmN0aW9uKHQpe2lmKCEwPT09dGhpcy5vcHRzLmVuYWJsZVNjcm9sbCl7dmFyIGE9dGhpcy5zY3JvbGxPcHRpb24saT1hLmN1cnJlbnRPZmZzZXQsZT1hLmRpc3RhbmNlO3RoaXMuc2Nyb2xsT3B0aW9uLmN1cnJlbnRPZmZzZXQ9aStlLHRoaXMuc2Nyb2xsT3B0aW9uLmRpc3RhbmNlPTB9fTt2YXIgRXQ9TXQ7YS5kZWZhdWx0PUV0fSwiNzM5YiI6ZnVuY3Rpb24odCxhLGkpeyJ1c2Ugc3RyaWN0IjtpLnIoYSk7dmFyIGU9aSgiMzQxNiIpLG49aSgiZDYxOCIpO2Zvcih2YXIgciBpbiBuKVsiZGVmYXVsdCJdLmluZGV4T2Yocik8MCYmZnVuY3Rpb24odCl7aS5kKGEsdCwoZnVuY3Rpb24oKXtyZXR1cm4gblt0XX0pKX0ocik7dmFyIG89aSgiNThlYyIpO2Zvcih2YXIgciBpbiBvKVsiZGVmYXVsdCJdLmluZGV4T2Yocik8MCYmZnVuY3Rpb24odCl7aS5kKGEsdCwoZnVuY3Rpb24oKXtyZXR1cm4gb1t0XX0pKX0ocik7aSgiMmIxNSIpO3ZhciBkPWkoIjgyOGIiKTtuWyJkZWZhdWx0Il0uX19tb2R1bGU9InJkY2hhcnRzIjt2YXIgcD1PYmplY3QoZFsiYSJdKShvWyJkZWZhdWx0Il0sZVsiYiJdLGVbImMiXSwhMSxudWxsLCIwNGQ2OGFiMCIsbnVsbCwhMSxlWyJhIl0sblsiZGVmYXVsdCJdKTthWyJkZWZhdWx0Il09cC5leHBvcnRzfSwiNzQ4ZiI6ZnVuY3Rpb24odCxhLGkpeyJ1c2Ugc3RyaWN0IjtpLnIoYSk7dmFyIGU9aSgiOTk3NyIpLG49aS5uKGUpO2Zvcih2YXIgciBpbiBlKVsiZGVmYXVsdCJdLmluZGV4T2Yocik8MCYmZnVuY3Rpb24odCl7aS5kKGEsdCwoZnVuY3Rpb24oKXtyZXR1cm4gZVt0XX0pKX0ocik7YVsiZGVmYXVsdCJdPW4uYX0sIjc5NGQiOmZ1bmN0aW9uKHQsYSxpKXsidXNlIHN0cmljdCI7aS5kKGEsImIiLChmdW5jdGlvbigpe3JldHVybiBufSkpLGkuZChhLCJjIiwoZnVuY3Rpb24oKXtyZXR1cm4gcn0pKSxpLmQoYSwiYSIsKGZ1bmN0aW9uKCl7cmV0dXJuIGV9KSk7dmFyIGU9e3VSb3dOb3RpY2U6aSgiNTc4NCIpLmRlZmF1bHQsdUNvbHVtbk5vdGljZTppKCI4ZDc4IikuZGVmYXVsdH0sbj1mdW5jdGlvbigpe3ZhciB0PXRoaXMsYT10LiRjcmVhdGVFbGVtZW50LGk9dC5fc2VsZi5fY3x8YTtyZXR1cm4gdC5pc1Nob3c/aSgidi11bmktdmlldyIse3N0YXRpY0NsYXNzOiJ1LW5vdGljZS1iYXItd3JhcCIsc3R5bGU6e2JvcmRlclJhZGl1czp0LmJvcmRlclJhZGl1cysicnB4In19LFsiaG9yaXpvbnRhbCI9PXQubW9kZSYmdC5pc0NpcmN1bGFyP1tpKCJ1LXJvdy1ub3RpY2UiLHthdHRyczp7dHlwZTp0LnR5cGUsY29sb3I6dC5jb2xvcixiZ0NvbG9yOnQuYmdDb2xvcixsaXN0OnQubGlzdCx2b2x1bWVJY29uOnQudm9sdW1lSWNvbixtb3JlSWNvbjp0Lm1vcmVJY29uLHZvbHVtZVNpemU6dC52b2x1bWVTaXplLGNsb3NlSWNvbjp0LmNsb3NlSWNvbixtb2RlOnQubW9kZSxmb250U2l6ZTp0LmZvbnRTaXplLHNwZWVkOnQuc3BlZWQscGxheVN0YXRlOnQucGxheVN0YXRlLHBhZGRpbmc6dC5wYWRkaW5nfSxvbjp7Z2V0TW9yZTpmdW5jdGlvbihhKXthcmd1bWVudHNbMF09YT10LiRoYW5kbGVFdmVudChhKSx0LmdldE1vcmUuYXBwbHkodm9pZCAwLGFyZ3VtZW50cyl9LGNsb3NlOmZ1bmN0aW9uKGEpe2FyZ3VtZW50c1swXT1hPXQuJGhhbmRsZUV2ZW50KGEpLHQuY2xvc2UuYXBwbHkodm9pZCAwLGFyZ3VtZW50cyl9LGNsaWNrOmZ1bmN0aW9uKGEpe2FyZ3VtZW50c1swXT1hPXQuJGhhbmRsZUV2ZW50KGEpLHQuY2xpY2suYXBwbHkodm9pZCAwLGFyZ3VtZW50cyl9fX0pXTp0Ll9lKCksInZlcnRpY2FsIj09dC5tb2RlfHwiaG9yaXpvbnRhbCI9PXQubW9kZSYmIXQuaXNDaXJjdWxhcj9baSgidS1jb2x1bW4tbm90aWNlIix7YXR0cnM6e3R5cGU6dC50eXBlLGNvbG9yOnQuY29sb3IsYmdDb2xvcjp0LmJnQ29sb3IsbGlzdDp0Lmxpc3Qsdm9sdW1lSWNvbjp0LnZvbHVtZUljb24sbW9yZUljb246dC5tb3JlSWNvbixjbG9zZUljb246dC5jbG9zZUljb24sbW9kZTp0Lm1vZGUsdm9sdW1lU2l6ZTp0LnZvbHVtZVNpemUsImRpc2FibGUtdG91Y2giOnQuZGlzYWJsZVRvdWNoLGZvbnRTaXplOnQuZm9udFNpemUsZHVyYXRpb246dC5kdXJhdGlvbixwbGF5U3RhdGU6dC5wbGF5U3RhdGUscGFkZGluZzp0LnBhZGRpbmd9LG9uOntnZXRNb3JlOmZ1bmN0aW9uKGEpe2FyZ3VtZW50c1swXT1hPXQuJGhhbmRsZUV2ZW50KGEpLHQuZ2V0TW9yZS5hcHBseSh2b2lkIDAsYXJndW1lbnRzKX0sY2xvc2U6ZnVuY3Rpb24oYSl7YXJndW1lbnRzWzBdPWE9dC4kaGFuZGxlRXZlbnQoYSksdC5jbG9zZS5hcHBseSh2b2lkIDAsYXJndW1lbnRzKX0sY2xpY2s6ZnVuY3Rpb24oYSl7YXJndW1lbnRzWzBdPWE9dC4kaGFuZGxlRXZlbnQoYSksdC5jbGljay5hcHBseSh2b2lkIDAsYXJndW1lbnRzKX0sZW5kOmZ1bmN0aW9uKGEpe2FyZ3VtZW50c1swXT1hPXQuJGhhbmRsZUV2ZW50KGEpLHQuZW5kLmFwcGx5KHZvaWQgMCxhcmd1bWVudHMpfX19KV06dC5fZSgpXSwyKTp0Ll9lKCl9LHI9W119LCI3YjU2IjpmdW5jdGlvbih0LGEsaSl7dmFyIGU9aSgiYzg2YyIpO2E9ZSghMSksYS5wdXNoKFt0LmksIi5jb250YWluZXJbZGF0YS12LTZlNWQ5YzkwXXt3aWR0aDozMHB4O2hlaWdodDozMHB4O3Bvc2l0aW9uOnJlbGF0aXZlfS5jb250YWluZXIubG9hZGluZzZbZGF0YS12LTZlNWQ5YzkwXXstd2Via2l0LWFuaW1hdGlvbjpyb3RhdGlvbiAxcyBpbmZpbml0ZTthbmltYXRpb246cm90YXRpb24gMXMgaW5maW5pdGV9LmNvbnRhaW5lci5sb2FkaW5nNiAuc2hhcGVbZGF0YS12LTZlNWQ5YzkwXXt3aWR0aDoxMnB4O2hlaWdodDoxMnB4O2JvcmRlci1yYWRpdXM6MnB4fS5jb250YWluZXIgLnNoYXBlW2RhdGEtdi02ZTVkOWM5MF17cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTBweDtoZWlnaHQ6MTBweDtib3JkZXItcmFkaXVzOjFweH0uY29udGFpbmVyIC5zaGFwZS5zaGFwZTFbZGF0YS12LTZlNWQ5YzkwXXtsZWZ0OjA7YmFja2dyb3VuZC1jb2xvcjojMTg5MGZmfS5jb250YWluZXIgLnNoYXBlLnNoYXBlMltkYXRhLXYtNmU1ZDljOTBde3JpZ2h0OjA7YmFja2dyb3VuZC1jb2xvcjojOTFjYjc0fS5jb250YWluZXIgLnNoYXBlLnNoYXBlM1tkYXRhLXYtNmU1ZDljOTBde2JvdHRvbTowO2JhY2tncm91bmQtY29sb3I6I2ZhYzg1OH0uY29udGFpbmVyIC5zaGFwZS5zaGFwZTRbZGF0YS12LTZlNWQ5YzkwXXtib3R0b206MDtyaWdodDowO2JhY2tncm91bmQtY29sb3I6I2U2Nn0ubG9hZGluZzYgLnNoYXBlMVtkYXRhLXYtNmU1ZDljOTBdey13ZWJraXQtYW5pbWF0aW9uOmFuaW1hdGlvbjZzaGFwZTEtZGF0YS12LTZlNWQ5YzkwIDJzIGxpbmVhciAwcyBpbmZpbml0ZSBub3JtYWw7YW5pbWF0aW9uOmFuaW1hdGlvbjZzaGFwZTEtZGF0YS12LTZlNWQ5YzkwIDJzIGxpbmVhciAwcyBpbmZpbml0ZSBub3JtYWx9QC13ZWJraXQta2V5ZnJhbWVzIGFuaW1hdGlvbjZzaGFwZTEtZGF0YS12LTZlNWQ5YzkwezAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlKDApfTI1JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDE4cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDE4cHgpfTUwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMThweCwxOHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlKDE4cHgsMThweCl9NzUley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgxOHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlKDE4cHgpfX1Aa2V5ZnJhbWVzIGFuaW1hdGlvbjZzaGFwZTEtZGF0YS12LTZlNWQ5YzkwezAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlKDApfTI1JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDE4cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDE4cHgpfTUwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMThweCwxOHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlKDE4cHgsMThweCl9NzUley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgxOHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlKDE4cHgpfX0ubG9hZGluZzYgLnNoYXBlMltkYXRhLXYtNmU1ZDljOTBdey13ZWJraXQtYW5pbWF0aW9uOmFuaW1hdGlvbjZzaGFwZTItZGF0YS12LTZlNWQ5YzkwIDJzIGxpbmVhciAwcyBpbmZpbml0ZSBub3JtYWw7YW5pbWF0aW9uOmFuaW1hdGlvbjZzaGFwZTItZGF0YS12LTZlNWQ5YzkwIDJzIGxpbmVhciAwcyBpbmZpbml0ZSBub3JtYWx9QC13ZWJraXQta2V5ZnJhbWVzIGFuaW1hdGlvbjZzaGFwZTItZGF0YS12LTZlNWQ5YzkwezAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlKDApfTI1JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTE4cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTE4cHgpfTUwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTE4cHgsMThweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtMThweCwxOHB4KX03NSV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgxOHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgxOHB4KX19QGtleWZyYW1lcyBhbmltYXRpb242c2hhcGUyLWRhdGEtdi02ZTVkOWM5MHswJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgwKX0yNSV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKC0xOHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlKC0xOHB4KX01MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKC0xOHB4LDE4cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTE4cHgsMThweCl9NzUley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMThweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMThweCl9fS5sb2FkaW5nNiAuc2hhcGUzW2RhdGEtdi02ZTVkOWM5MF17LXdlYmtpdC1hbmltYXRpb246YW5pbWF0aW9uNnNoYXBlMy1kYXRhLXYtNmU1ZDljOTAgMnMgbGluZWFyIDBzIGluZmluaXRlIG5vcm1hbDthbmltYXRpb246YW5pbWF0aW9uNnNoYXBlMy1kYXRhLXYtNmU1ZDljOTAgMnMgbGluZWFyIDBzIGluZmluaXRlIG5vcm1hbH1ALXdlYmtpdC1rZXlmcmFtZXMgYW5pbWF0aW9uNnNoYXBlMy1kYXRhLXYtNmU1ZDljOTB7MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDApO3RyYW5zZm9ybTp0cmFuc2xhdGUoMCl9MjUley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgxOHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlKDE4cHgpfTUwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMThweCwtMThweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgxOHB4LC0xOHB4KX03NSV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMThweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTE4cHgpfX1Aa2V5ZnJhbWVzIGFuaW1hdGlvbjZzaGFwZTMtZGF0YS12LTZlNWQ5YzkwezAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlKDApfTI1JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMThweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgxOHB4KX01MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDE4cHgsLTE4cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGUoMThweCwtMThweCl9NzUley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTE4cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xOHB4KX19LmxvYWRpbmc2IC5zaGFwZTRbZGF0YS12LTZlNWQ5YzkwXXstd2Via2l0LWFuaW1hdGlvbjphbmltYXRpb242c2hhcGU0LWRhdGEtdi02ZTVkOWM5MCAycyBsaW5lYXIgMHMgaW5maW5pdGUgbm9ybWFsO2FuaW1hdGlvbjphbmltYXRpb242c2hhcGU0LWRhdGEtdi02ZTVkOWM5MCAycyBsaW5lYXIgMHMgaW5maW5pdGUgbm9ybWFsfUAtd2Via2l0LWtleWZyYW1lcyBhbmltYXRpb242c2hhcGU0LWRhdGEtdi02ZTVkOWM5MHswJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgwKX0yNSV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMThweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTE4cHgpfTUwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTE4cHgsLTE4cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTE4cHgsLTE4cHgpfTc1JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTE4cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTE4cHgpfX1Aa2V5ZnJhbWVzIGFuaW1hdGlvbjZzaGFwZTQtZGF0YS12LTZlNWQ5YzkwezAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlKDApfTI1JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xOHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMThweCl9NTAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtMThweCwtMThweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtMThweCwtMThweCl9NzUley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtMThweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtMThweCl9fSIsIiJdKSx0LmV4cG9ydHM9YX0sIjdjYmIiOmZ1bmN0aW9uKHQsYSxpKXsidXNlIHN0cmljdCI7aS5yKGEpO3ZhciBlPWkoIjI2MTAiKSxuPWkubihlKTtmb3IodmFyIHIgaW4gZSlbImRlZmF1bHQiXS5pbmRleE9mKHIpPDAmJmZ1bmN0aW9uKHQpe2kuZChhLHQsKGZ1bmN0aW9uKCl7cmV0dXJuIGVbdF19KSl9KHIpO2FbImRlZmF1bHQiXT1uLmF9LCI4NjFiIjpmdW5jdGlvbih0LGEsaSl7InVzZSBzdHJpY3QiOyhmdW5jdGlvbih0KXt2YXIgZT1pKCJmNWJkIikuZGVmYXVsdDtPYmplY3QuZGVmaW5lUHJvcGVydHkoYSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksYS51bmlDbG91ZD1hLmRlZmF1bHQ9YS5VbmlDbG91ZEVycm9yPXZvaWQgMDt2YXIgbj1lKGkoImY0NzgiKSkscj1lKGkoIjVkZTYiKSksbz1lKGkoImZjZjMiKSksZD1lKGkoImI3YzciKSkscD1lKGkoIjM0NzEiKSksYz1lKGkoIjI2MzQiKSkscz1lKGkoIjJmZGMiKSksbD1lKGkoIjliMWIiKSksbT1lKGkoImFjYjEiKSksZj1lKGkoImNhZDkiKSksZz1lKGkoIjY4ZWYiKSksdT1lKGkoIjgwYjEiKSksaD1lKGkoImVmZTUiKSk7aSgiNDA4NSIpLGkoIjdhNzYiKSxpKCJjOWI1IiksaSgiYmYwZiIpLGkoImFiODAiKSxpKCJmN2E1IiksaSgiYWE5YyIpLGkoImU5NjYiKSxpKCJjMjIzIiksaSgiZGQyYiIpLGkoIjVlZjIiKSxpKCIyNzk3IiksaSgiZGM4YSIpLGkoIjQ3M2YiKSxpKCI0NjI2IiksaSgiNWFjNyIpLGkoIjQxMDAiKSxpKCI1YzQ3IiksaSgiZDRiNSIpLGkoIjBjMjYiKSxpKCIwNTA2IiksaSgiZmQzYyIpLGkoIjZhNTQiKSxpKCJhMWMxIiksaSgiZGU2YyIpLGkoImMxYTMiKSxpKCIxOGY3IiksaSgiYWY4ZiIpLGkoIjY0YWEiKSxpKCI4ZjcxIiksaSgiMjNmNCIpLGkoIjdkMmYiKSxpKCI5YzRlIiksaSgiNGRiMiIpLGkoImM5NzYiKSxpKCI0ZDhmIiksaSgiN2I5NyIpLGkoIjY2OGEiKSxpKCJjNWI3IiksaSgiOGZmNSIpLGkoIjIzNzgiKSxpKCI2NDFhIiksaSgiNjRlMCIpLGkoImNjZTMiKSxpKCJlZmJhIiksaSgiZDAwOSIpLGkoImJkN2QiKSxpKCI3ZWRkIiksaSgiZDc5OCIpLGkoImY1NDciKSxpKCI1ZTU0IiksaSgiYjYwYSIpLGkoIjhjMTgiKSxpKCIxMjk3MyIpLGkoImY5OTEiKSxpKCIxOThlIiksaSgiODU1NyIpLGkoIjYzYjEiKSxpKCIxOTU0IiksaSgiMWNmMSIpLGkoIjAxYTIiKSxpKCJlMzljIiksaSgiZTA2MiIpLGkoImFhNzciKSxpKCIyYzEwIiksaSgiZjU1NSIpLGkoImRjNjkiKSxpKCI5MzcwIiksaSgiNjczMCIpLGkoIjA4ZWIiKSxpKCIxNWQxIiksaSgiZDVjNiIpLGkoIjVhNTYiKSxpKCJmMDc0IiksaSgiMjBmMyIpO3ZhciB2PWUoaSgiYjllNSIpKTtmdW5jdGlvbiBiKHQsYSxpKXtyZXR1cm4gdChpPXtwYXRoOmEsZXhwb3J0czp7fSxyZXF1aXJlOmZ1bmN0aW9uKHQsYSl7cmV0dXJuIGZ1bmN0aW9uKCl7dGhyb3cgbmV3IEVycm9yKCJEeW5hbWljIHJlcXVpcmVzIGFyZSBub3QgY3VycmVudGx5IHN1cHBvcnRlZCBieSBAcm9sbHVwL3BsdWdpbi1jb21tb25qcyIpfShudWxsPT1hJiZpLnBhdGgpfX0saS5leHBvcnRzKSxpLmV4cG9ydHN9InVuZGVmaW5lZCIhPXR5cGVvZiBnbG9iYWxUaGlzP2dsb2JhbFRoaXM6InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3c/d2luZG93OiJ1bmRlZmluZWQiIT10eXBlb2YgdHx8InVuZGVmaW5lZCIhPXR5cGVvZiBzZWxmJiZzZWxmO3ZhciB4PWIoKGZ1bmN0aW9uKHQsYSl7dmFyIGk7dC5leHBvcnRzPShpPWl8fGZ1bmN0aW9uKHQsYSl7dmFyIGk9T2JqZWN0LmNyZWF0ZXx8ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7fXJldHVybiBmdW5jdGlvbihhKXt2YXIgaTtyZXR1cm4gdC5wcm90b3R5cGU9YSxpPW5ldyB0LHQucHJvdG90eXBlPW51bGwsaX19KCksZT17fSxuPWUubGliPXt9LHI9bi5CYXNlPXtleHRlbmQ6ZnVuY3Rpb24odCl7dmFyIGE9aSh0aGlzKTtyZXR1cm4gdCYmYS5taXhJbih0KSxhLmhhc093blByb3BlcnR5KCJpbml0IikmJnRoaXMuaW5pdCE9PWEuaW5pdHx8KGEuaW5pdD1mdW5jdGlvbigpe2EuJHN1cGVyLmluaXQuYXBwbHkodGhpcyxhcmd1bWVudHMpfSksYS5pbml0LnByb3RvdHlwZT1hLGEuJHN1cGVyPXRoaXMsYX0sY3JlYXRlOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5leHRlbmQoKTtyZXR1cm4gdC5pbml0LmFwcGx5KHQsYXJndW1lbnRzKSx0fSxpbml0OmZ1bmN0aW9uKCl7fSxtaXhJbjpmdW5jdGlvbih0KXtmb3IodmFyIGEgaW4gdCl0Lmhhc093blByb3BlcnR5KGEpJiYodGhpc1thXT10W2FdKTt0Lmhhc093blByb3BlcnR5KCJ0b1N0cmluZyIpJiYodGhpcy50b1N0cmluZz10LnRvU3RyaW5nKX0sY2xvbmU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pbml0LnByb3RvdHlwZS5leHRlbmQodGhpcyl9fSxvPW4uV29yZEFycmF5PXIuZXh0ZW5kKHtpbml0OmZ1bmN0aW9uKHQsYSl7dD10aGlzLndvcmRzPXR8fFtdLHRoaXMuc2lnQnl0ZXM9dm9pZCAwIT1hP2E6NCp0Lmxlbmd0aH0sdG9TdHJpbmc6ZnVuY3Rpb24odCl7cmV0dXJuKHR8fHApLnN0cmluZ2lmeSh0aGlzKX0sY29uY2F0OmZ1bmN0aW9uKHQpe3ZhciBhPXRoaXMud29yZHMsaT10LndvcmRzLGU9dGhpcy5zaWdCeXRlcyxuPXQuc2lnQnl0ZXM7aWYodGhpcy5jbGFtcCgpLGUlNClmb3IodmFyIHI9MDtyPG47cisrKXt2YXIgbz1pW3I+Pj4yXT4+PjI0LXIlNCo4JjI1NTthW2Urcj4+PjJdfD1vPDwyNC0oZStyKSU0Kjh9ZWxzZSBmb3Iocj0wO3I8bjtyKz00KWFbZStyPj4+Ml09aVtyPj4+Ml07cmV0dXJuIHRoaXMuc2lnQnl0ZXMrPW4sdGhpc30sY2xhbXA6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLndvcmRzLGk9dGhpcy5zaWdCeXRlczthW2k+Pj4yXSY9NDI5NDk2NzI5NTw8MzItaSU0KjgsYS5sZW5ndGg9dC5jZWlsKGkvNCl9LGNsb25lOmZ1bmN0aW9uKCl7dmFyIHQ9ci5jbG9uZS5jYWxsKHRoaXMpO3JldHVybiB0LndvcmRzPXRoaXMud29yZHMuc2xpY2UoMCksdH0scmFuZG9tOmZ1bmN0aW9uKGEpe2Zvcih2YXIgaSxlPVtdLG49ZnVuY3Rpb24oYSl7dmFyIGk9OTg3NjU0MzIxLGU9NDI5NDk2NzI5NTtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgbj0oKGk9MzY5NjkqKDY1NTM1JmkpKyhpPj4xNikmZSk8PDE2KSsoYT0xOGUzKig2NTUzNSZhKSsoYT4+MTYpJmUpJmU7cmV0dXJuIG4vPTQyOTQ5NjcyOTYsKG4rPS41KSoodC5yYW5kb20oKT4uNT8xOi0xKX19LHI9MDtyPGE7cis9NCl7dmFyIGQ9big0Mjk0OTY3Mjk2KihpfHx0LnJhbmRvbSgpKSk7aT05ODc2NTQwNzEqZCgpLGUucHVzaCg0Mjk0OTY3Mjk2KmQoKXwwKX1yZXR1cm4gbmV3IG8uaW5pdChlLGEpfX0pLGQ9ZS5lbmM9e30scD1kLkhleD17c3RyaW5naWZ5OmZ1bmN0aW9uKHQpe2Zvcih2YXIgYT10LndvcmRzLGk9dC5zaWdCeXRlcyxlPVtdLG49MDtuPGk7bisrKXt2YXIgcj1hW24+Pj4yXT4+PjI0LW4lNCo4JjI1NTtlLnB1c2goKHI+Pj40KS50b1N0cmluZygxNikpLGUucHVzaCgoMTUmcikudG9TdHJpbmcoMTYpKX1yZXR1cm4gZS5qb2luKCIiKX0scGFyc2U6ZnVuY3Rpb24odCl7Zm9yKHZhciBhPXQubGVuZ3RoLGk9W10sZT0wO2U8YTtlKz0yKWlbZT4+PjNdfD1wYXJzZUludCh0LnN1YnN0cihlLDIpLDE2KTw8MjQtZSU4KjQ7cmV0dXJuIG5ldyBvLmluaXQoaSxhLzIpfX0sYz1kLkxhdGluMT17c3RyaW5naWZ5OmZ1bmN0aW9uKHQpe2Zvcih2YXIgYT10LndvcmRzLGk9dC5zaWdCeXRlcyxlPVtdLG49MDtuPGk7bisrKXt2YXIgcj1hW24+Pj4yXT4+PjI0LW4lNCo4JjI1NTtlLnB1c2goU3RyaW5nLmZyb21DaGFyQ29kZShyKSl9cmV0dXJuIGUuam9pbigiIil9LHBhcnNlOmZ1bmN0aW9uKHQpe2Zvcih2YXIgYT10Lmxlbmd0aCxpPVtdLGU9MDtlPGE7ZSsrKWlbZT4+PjJdfD0oMjU1JnQuY2hhckNvZGVBdChlKSk8PDI0LWUlNCo4O3JldHVybiBuZXcgby5pbml0KGksYSl9fSxzPWQuVXRmOD17c3RyaW5naWZ5OmZ1bmN0aW9uKHQpe3RyeXtyZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KGVzY2FwZShjLnN0cmluZ2lmeSh0KSkpfWNhdGNoKHQpe3Rocm93IG5ldyBFcnJvcigiTWFsZm9ybWVkIFVURi04IGRhdGEiKX19LHBhcnNlOmZ1bmN0aW9uKHQpe3JldHVybiBjLnBhcnNlKHVuZXNjYXBlKGVuY29kZVVSSUNvbXBvbmVudCh0KSkpfX0sbD1uLkJ1ZmZlcmVkQmxvY2tBbGdvcml0aG09ci5leHRlbmQoe3Jlc2V0OmZ1bmN0aW9uKCl7dGhpcy5fZGF0YT1uZXcgby5pbml0LHRoaXMuX25EYXRhQnl0ZXM9MH0sX2FwcGVuZDpmdW5jdGlvbih0KXsic3RyaW5nIj09dHlwZW9mIHQmJih0PXMucGFyc2UodCkpLHRoaXMuX2RhdGEuY29uY2F0KHQpLHRoaXMuX25EYXRhQnl0ZXMrPXQuc2lnQnl0ZXN9LF9wcm9jZXNzOmZ1bmN0aW9uKGEpe3ZhciBpPXRoaXMuX2RhdGEsZT1pLndvcmRzLG49aS5zaWdCeXRlcyxyPXRoaXMuYmxvY2tTaXplLGQ9bi8oNCpyKSxwPShkPWE/dC5jZWlsKGQpOnQubWF4KCgwfGQpLXRoaXMuX21pbkJ1ZmZlclNpemUsMCkpKnIsYz10Lm1pbig0KnAsbik7aWYocCl7Zm9yKHZhciBzPTA7czxwO3MrPXIpdGhpcy5fZG9Qcm9jZXNzQmxvY2soZSxzKTt2YXIgbD1lLnNwbGljZSgwLHApO2kuc2lnQnl0ZXMtPWN9cmV0dXJuIG5ldyBvLmluaXQobCxjKX0sY2xvbmU6ZnVuY3Rpb24oKXt2YXIgdD1yLmNsb25lLmNhbGwodGhpcyk7cmV0dXJuIHQuX2RhdGE9dGhpcy5fZGF0YS5jbG9uZSgpLHR9LF9taW5CdWZmZXJTaXplOjB9KTtuLkhhc2hlcj1sLmV4dGVuZCh7Y2ZnOnIuZXh0ZW5kKCksaW5pdDpmdW5jdGlvbih0KXt0aGlzLmNmZz10aGlzLmNmZy5leHRlbmQodCksdGhpcy5yZXNldCgpfSxyZXNldDpmdW5jdGlvbigpe2wucmVzZXQuY2FsbCh0aGlzKSx0aGlzLl9kb1Jlc2V0KCl9LHVwZGF0ZTpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fYXBwZW5kKHQpLHRoaXMuX3Byb2Nlc3MoKSx0aGlzfSxmaW5hbGl6ZTpmdW5jdGlvbih0KXtyZXR1cm4gdCYmdGhpcy5fYXBwZW5kKHQpLHRoaXMuX2RvRmluYWxpemUoKX0sYmxvY2tTaXplOjE2LF9jcmVhdGVIZWxwZXI6ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKGEsaSl7cmV0dXJuIG5ldyB0LmluaXQoaSkuZmluYWxpemUoYSl9fSxfY3JlYXRlSG1hY0hlbHBlcjpmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oYSxpKXtyZXR1cm4gbmV3IG0uSE1BQy5pbml0KHQsaSkuZmluYWxpemUoYSl9fX0pO3ZhciBtPWUuYWxnbz17fTtyZXR1cm4gZX0oTWF0aCksaSl9KSkseT14LEE9KGIoKGZ1bmN0aW9uKHQsYSl7dmFyIGk7dC5leHBvcnRzPShpPXksZnVuY3Rpb24odCl7dmFyIGE9aSxlPWEubGliLG49ZS5Xb3JkQXJyYXkscj1lLkhhc2hlcixvPWEuYWxnbyxkPVtdOyFmdW5jdGlvbigpe2Zvcih2YXIgYT0wO2E8NjQ7YSsrKWRbYV09NDI5NDk2NzI5Nip0LmFicyh0LnNpbihhKzEpKXwwfSgpO3ZhciBwPW8uTUQ1PXIuZXh0ZW5kKHtfZG9SZXNldDpmdW5jdGlvbigpe3RoaXMuX2hhc2g9bmV3IG4uaW5pdChbMTczMjU4NDE5Myw0MDIzMjMzNDE3LDI1NjIzODMxMDIsMjcxNzMzODc4XSl9LF9kb1Byb2Nlc3NCbG9jazpmdW5jdGlvbih0LGEpe2Zvcih2YXIgaT0wO2k8MTY7aSsrKXt2YXIgZT1hK2ksbj10W2VdO3RbZV09MTY3MTE5MzUmKG48PDh8bj4+PjI0KXw0Mjc4MjU1MzYwJihuPDwyNHxuPj4+OCl9dmFyIHI9dGhpcy5faGFzaC53b3JkcyxvPXRbYSswXSxwPXRbYSsxXSxmPXRbYSsyXSxnPXRbYSszXSx1PXRbYSs0XSxoPXRbYSs1XSx2PXRbYSs2XSxiPXRbYSs3XSx4PXRbYSs4XSx5PXRbYSs5XSxBPXRbYSsxMF0sdz10W2ErMTFdLGs9dFthKzEyXSxTPXRbYSsxM10sVD10W2ErMTRdLEM9dFthKzE1XSxQPXJbMF0sej1yWzFdLEk9clsyXSxEPXJbM107UD1jKFAseixJLEQsbyw3LGRbMF0pLEQ9YyhELFAseixJLHAsMTIsZFsxXSksST1jKEksRCxQLHosZiwxNyxkWzJdKSx6PWMoeixJLEQsUCxnLDIyLGRbM10pLFA9YyhQLHosSSxELHUsNyxkWzRdKSxEPWMoRCxQLHosSSxoLDEyLGRbNV0pLEk9YyhJLEQsUCx6LHYsMTcsZFs2XSksej1jKHosSSxELFAsYiwyMixkWzddKSxQPWMoUCx6LEksRCx4LDcsZFs4XSksRD1jKEQsUCx6LEkseSwxMixkWzldKSxJPWMoSSxELFAseixBLDE3LGRbMTBdKSx6PWMoeixJLEQsUCx3LDIyLGRbMTFdKSxQPWMoUCx6LEksRCxrLDcsZFsxMl0pLEQ9YyhELFAseixJLFMsMTIsZFsxM10pLEk9YyhJLEQsUCx6LFQsMTcsZFsxNF0pLFA9cyhQLHo9Yyh6LEksRCxQLEMsMjIsZFsxNV0pLEksRCxwLDUsZFsxNl0pLEQ9cyhELFAseixJLHYsOSxkWzE3XSksST1zKEksRCxQLHosdywxNCxkWzE4XSksej1zKHosSSxELFAsbywyMCxkWzE5XSksUD1zKFAseixJLEQsaCw1LGRbMjBdKSxEPXMoRCxQLHosSSxBLDksZFsyMV0pLEk9cyhJLEQsUCx6LEMsMTQsZFsyMl0pLHo9cyh6LEksRCxQLHUsMjAsZFsyM10pLFA9cyhQLHosSSxELHksNSxkWzI0XSksRD1zKEQsUCx6LEksVCw5LGRbMjVdKSxJPXMoSSxELFAseixnLDE0LGRbMjZdKSx6PXMoeixJLEQsUCx4LDIwLGRbMjddKSxQPXMoUCx6LEksRCxTLDUsZFsyOF0pLEQ9cyhELFAseixJLGYsOSxkWzI5XSksST1zKEksRCxQLHosYiwxNCxkWzMwXSksUD1sKFAsej1zKHosSSxELFAsaywyMCxkWzMxXSksSSxELGgsNCxkWzMyXSksRD1sKEQsUCx6LEkseCwxMSxkWzMzXSksST1sKEksRCxQLHosdywxNixkWzM0XSksej1sKHosSSxELFAsVCwyMyxkWzM1XSksUD1sKFAseixJLEQscCw0LGRbMzZdKSxEPWwoRCxQLHosSSx1LDExLGRbMzddKSxJPWwoSSxELFAseixiLDE2LGRbMzhdKSx6PWwoeixJLEQsUCxBLDIzLGRbMzldKSxQPWwoUCx6LEksRCxTLDQsZFs0MF0pLEQ9bChELFAseixJLG8sMTEsZFs0MV0pLEk9bChJLEQsUCx6LGcsMTYsZFs0Ml0pLHo9bCh6LEksRCxQLHYsMjMsZFs0M10pLFA9bChQLHosSSxELHksNCxkWzQ0XSksRD1sKEQsUCx6LEksaywxMSxkWzQ1XSksST1sKEksRCxQLHosQywxNixkWzQ2XSksUD1tKFAsej1sKHosSSxELFAsZiwyMyxkWzQ3XSksSSxELG8sNixkWzQ4XSksRD1tKEQsUCx6LEksYiwxMCxkWzQ5XSksST1tKEksRCxQLHosVCwxNSxkWzUwXSksej1tKHosSSxELFAsaCwyMSxkWzUxXSksUD1tKFAseixJLEQsayw2LGRbNTJdKSxEPW0oRCxQLHosSSxnLDEwLGRbNTNdKSxJPW0oSSxELFAseixBLDE1LGRbNTRdKSx6PW0oeixJLEQsUCxwLDIxLGRbNTVdKSxQPW0oUCx6LEksRCx4LDYsZFs1Nl0pLEQ9bShELFAseixJLEMsMTAsZFs1N10pLEk9bShJLEQsUCx6LHYsMTUsZFs1OF0pLHo9bSh6LEksRCxQLFMsMjEsZFs1OV0pLFA9bShQLHosSSxELHUsNixkWzYwXSksRD1tKEQsUCx6LEksdywxMCxkWzYxXSksST1tKEksRCxQLHosZiwxNSxkWzYyXSksej1tKHosSSxELFAseSwyMSxkWzYzXSksclswXT1yWzBdK1B8MCxyWzFdPXJbMV0renwwLHJbMl09clsyXStJfDAsclszXT1yWzNdK0R8MH0sX2RvRmluYWxpemU6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLl9kYXRhLGk9YS53b3JkcyxlPTgqdGhpcy5fbkRhdGFCeXRlcyxuPTgqYS5zaWdCeXRlcztpW24+Pj41XXw9MTI4PDwyNC1uJTMyO3ZhciByPXQuZmxvb3IoZS80Mjk0OTY3Mjk2KSxvPWU7aVsxNSsobis2ND4+Pjk8PDQpXT0xNjcxMTkzNSYocjw8OHxyPj4+MjQpfDQyNzgyNTUzNjAmKHI8PDI0fHI+Pj44KSxpWzE0KyhuKzY0Pj4+OTw8NCldPTE2NzExOTM1JihvPDw4fG8+Pj4yNCl8NDI3ODI1NTM2MCYobzw8MjR8bz4+PjgpLGEuc2lnQnl0ZXM9NCooaS5sZW5ndGgrMSksdGhpcy5fcHJvY2VzcygpO2Zvcih2YXIgZD10aGlzLl9oYXNoLHA9ZC53b3JkcyxjPTA7Yzw0O2MrKyl7dmFyIHM9cFtjXTtwW2NdPTE2NzExOTM1JihzPDw4fHM+Pj4yNCl8NDI3ODI1NTM2MCYoczw8MjR8cz4+PjgpfXJldHVybiBkfSxjbG9uZTpmdW5jdGlvbigpe3ZhciB0PXIuY2xvbmUuY2FsbCh0aGlzKTtyZXR1cm4gdC5faGFzaD10aGlzLl9oYXNoLmNsb25lKCksdH19KTtmdW5jdGlvbiBjKHQsYSxpLGUsbixyLG8pe3ZhciBkPXQrKGEmaXx+YSZlKStuK287cmV0dXJuKGQ8PHJ8ZD4+PjMyLXIpK2F9ZnVuY3Rpb24gcyh0LGEsaSxlLG4scixvKXt2YXIgZD10KyhhJmV8aSZ+ZSkrbitvO3JldHVybihkPDxyfGQ+Pj4zMi1yKSthfWZ1bmN0aW9uIGwodCxhLGksZSxuLHIsbyl7dmFyIGQ9dCsoYV5pXmUpK24rbztyZXR1cm4oZDw8cnxkPj4+MzItcikrYX1mdW5jdGlvbiBtKHQsYSxpLGUsbixyLG8pe3ZhciBkPXQrKGleKGF8fmUpKStuK287cmV0dXJuKGQ8PHJ8ZD4+PjMyLXIpK2F9YS5NRDU9ci5fY3JlYXRlSGVscGVyKHApLGEuSG1hY01ENT1yLl9jcmVhdGVIbWFjSGVscGVyKHApfShNYXRoKSxpLk1ENSl9KSksYigoZnVuY3Rpb24odCxhKXt2YXIgaTt0LmV4cG9ydHM9KGk9eSx2b2lkIGZ1bmN0aW9uKCl7dmFyIHQ9aSxhPXQubGliLkJhc2UsZT10LmVuYy5VdGY4O3QuYWxnby5ITUFDPWEuZXh0ZW5kKHtpbml0OmZ1bmN0aW9uKHQsYSl7dD10aGlzLl9oYXNoZXI9bmV3IHQuaW5pdCwic3RyaW5nIj09dHlwZW9mIGEmJihhPWUucGFyc2UoYSkpO3ZhciBpPXQuYmxvY2tTaXplLG49NCppO2Euc2lnQnl0ZXM+biYmKGE9dC5maW5hbGl6ZShhKSksYS5jbGFtcCgpO2Zvcih2YXIgcj10aGlzLl9vS2V5PWEuY2xvbmUoKSxvPXRoaXMuX2lLZXk9YS5jbG9uZSgpLGQ9ci53b3JkcyxwPW8ud29yZHMsYz0wO2M8aTtjKyspZFtjXV49MTU0OTU1NjgyOCxwW2NdXj05MDk1MjI0ODY7ci5zaWdCeXRlcz1vLnNpZ0J5dGVzPW4sdGhpcy5yZXNldCgpfSxyZXNldDpmdW5jdGlvbigpe3ZhciB0PXRoaXMuX2hhc2hlcjt0LnJlc2V0KCksdC51cGRhdGUodGhpcy5faUtleSl9LHVwZGF0ZTpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5faGFzaGVyLnVwZGF0ZSh0KSx0aGlzfSxmaW5hbGl6ZTpmdW5jdGlvbih0KXt2YXIgYT10aGlzLl9oYXNoZXIsaT1hLmZpbmFsaXplKHQpO3JldHVybiBhLnJlc2V0KCksYS5maW5hbGl6ZSh0aGlzLl9vS2V5LmNsb25lKCkuY29uY2F0KGkpKX19KX0oKSl9KSksYigoZnVuY3Rpb24odCxhKXt0LmV4cG9ydHM9eS5IbWFjTUQ1fSkpKSx3PWIoKGZ1bmN0aW9uKHQsYSl7dC5leHBvcnRzPXkuZW5jLlV0Zjh9KSksaz1iKChmdW5jdGlvbih0LGEpe3ZhciBpO3QuZXhwb3J0cz0oaT15LGZ1bmN0aW9uKCl7dmFyIHQ9aSxhPXQubGliLldvcmRBcnJheTtmdW5jdGlvbiBlKHQsaSxlKXtmb3IodmFyIG49W10scj0wLG89MDtvPGk7bysrKWlmKG8lNCl7dmFyIGQ9ZVt0LmNoYXJDb2RlQXQoby0xKV08PG8lNCoyLHA9ZVt0LmNoYXJDb2RlQXQobyldPj4+Ni1vJTQqMjtuW3I+Pj4yXXw9KGR8cCk8PDI0LXIlNCo4LHIrK31yZXR1cm4gYS5jcmVhdGUobixyKX10LmVuYy5CYXNlNjQ9e3N0cmluZ2lmeTpmdW5jdGlvbih0KXt2YXIgYT10LndvcmRzLGk9dC5zaWdCeXRlcyxlPXRoaXMuX21hcDt0LmNsYW1wKCk7Zm9yKHZhciBuPVtdLHI9MDtyPGk7cis9Mylmb3IodmFyIG89KGFbcj4+PjJdPj4+MjQtciU0KjgmMjU1KTw8MTZ8KGFbcisxPj4+Ml0+Pj4yNC0ocisxKSU0KjgmMjU1KTw8OHxhW3IrMj4+PjJdPj4+MjQtKHIrMiklNCo4JjI1NSxkPTA7ZDw0JiZyKy43NSpkPGk7ZCsrKW4ucHVzaChlLmNoYXJBdChvPj4+NiooMy1kKSY2MykpO3ZhciBwPWUuY2hhckF0KDY0KTtpZihwKWZvcig7bi5sZW5ndGglNDspbi5wdXNoKHApO3JldHVybiBuLmpvaW4oIiIpfSxwYXJzZTpmdW5jdGlvbih0KXt2YXIgYT10Lmxlbmd0aCxpPXRoaXMuX21hcCxuPXRoaXMuX3JldmVyc2VNYXA7aWYoIW4pe249dGhpcy5fcmV2ZXJzZU1hcD1bXTtmb3IodmFyIHI9MDtyPGkubGVuZ3RoO3IrKyluW2kuY2hhckNvZGVBdChyKV09cn12YXIgbz1pLmNoYXJBdCg2NCk7aWYobyl7dmFyIGQ9dC5pbmRleE9mKG8pOy0xIT09ZCYmKGE9ZCl9cmV0dXJuIGUodCxhLG4pfSxfbWFwOiJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvPSJ9fSgpLGkuZW5jLkJhc2U2NCl9KSksUz0idW5pX2lkX3Rva2VuIixUPSJ1bmlfaWRfdG9rZW5fZXhwaXJlZCIsQz17REVGQVVMVDoiRlVOQ1RJT04iLEZVTkNUSU9OOiJGVU5DVElPTiIsT0JKRUNUOiJPQkpFQ1QiLENMSUVOVF9EQjoiQ0xJRU5UX0RCIn0sUD0icGVuZGluZyIsej0iZnVsZmlsbGVkIixJPSJyZWplY3RlZCI7ZnVuY3Rpb24gRCh0KXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpLnNsaWNlKDgsLTEpLnRvTG93ZXJDYXNlKCl9ZnVuY3Rpb24gTSh0KXtyZXR1cm4ib2JqZWN0Ij09PUQodCl9ZnVuY3Rpb24gRSh0KXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgdH1mdW5jdGlvbiBMKHQpe3JldHVybiBmdW5jdGlvbigpe3RyeXtyZXR1cm4gdC5hcHBseSh0LGFyZ3VtZW50cyl9Y2F0Y2godCl7Y29uc29sZS5lcnJvcih0KX19fXZhciBPPSJSRUpFQ1RFRCIsTj0iTk9UX1BFTkRJTkciLEI9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7dmFyIGE9YXJndW1lbnRzLmxlbmd0aD4wJiZ2b2lkIDAhPT1hcmd1bWVudHNbMF0/YXJndW1lbnRzWzBdOnt9LGk9YS5jcmVhdGVQcm9taXNlLGU9YS5yZXRyeVJ1bGUsbj12b2lkIDA9PT1lP086ZTsoMCx1LmRlZmF1bHQpKHRoaXMsdCksdGhpcy5jcmVhdGVQcm9taXNlPWksdGhpcy5zdGF0dXM9bnVsbCx0aGlzLnByb21pc2U9bnVsbCx0aGlzLnJldHJ5UnVsZT1ufXJldHVybigwLGguZGVmYXVsdCkodCxbe2tleToibmVlZFJldHJ5IixnZXQ6ZnVuY3Rpb24oKXtpZighdGhpcy5zdGF0dXMpcmV0dXJuITA7c3dpdGNoKHRoaXMucmV0cnlSdWxlKXtjYXNlIE86cmV0dXJuIHRoaXMuc3RhdHVzPT09STtjYXNlIE46cmV0dXJuIHRoaXMuc3RhdHVzIT09UH19fSx7a2V5OiJleGVjIix2YWx1ZTpmdW5jdGlvbigpe3ZhciB0PXRoaXM7cmV0dXJuIHRoaXMubmVlZFJldHJ5Pyh0aGlzLnN0YXR1cz1QLHRoaXMucHJvbWlzZT10aGlzLmNyZWF0ZVByb21pc2UoKS50aGVuKChmdW5jdGlvbihhKXtyZXR1cm4gdC5zdGF0dXM9eixQcm9taXNlLnJlc29sdmUoYSl9KSwoZnVuY3Rpb24oYSl7cmV0dXJuIHQuc3RhdHVzPUksUHJvbWlzZS5yZWplY3QoYSl9KSksdGhpcy5wcm9taXNlKTp0aGlzLnByb21pc2V9fV0pLHR9KCksUj1mdW5jdGlvbigpe2Z1bmN0aW9uIHQoKXsoMCx1LmRlZmF1bHQpKHRoaXMsdCksdGhpcy5fY2FsbGJhY2s9e319cmV0dXJuKDAsaC5kZWZhdWx0KSh0LFt7a2V5OiJhZGRMaXN0ZW5lciIsdmFsdWU6ZnVuY3Rpb24odCxhKXt0aGlzLl9jYWxsYmFja1t0XXx8KHRoaXMuX2NhbGxiYWNrW3RdPVtdKSx0aGlzLl9jYWxsYmFja1t0XS5wdXNoKGEpfX0se2tleToib24iLHZhbHVlOmZ1bmN0aW9uKHQsYSl7cmV0dXJuIHRoaXMuYWRkTGlzdGVuZXIodCxhKX19LHtrZXk6InJlbW92ZUxpc3RlbmVyIix2YWx1ZTpmdW5jdGlvbih0LGEpe2lmKCFhKXRocm93IG5ldyBFcnJvcignVGhlICJsaXN0ZW5lciIgYXJndW1lbnQgbXVzdCBiZSBvZiB0eXBlIGZ1bmN0aW9uLiBSZWNlaXZlZCB1bmRlZmluZWQnKTt2YXIgaT10aGlzLl9jYWxsYmFja1t0XTtpZihpKXt2YXIgZT1mdW5jdGlvbih0LGEpe2Zvcih2YXIgaT10Lmxlbmd0aC0xO2k+PTA7aS0tKWlmKHRbaV09PT1hKXJldHVybiBpO3JldHVybi0xfShpLGEpO2kuc3BsaWNlKGUsMSl9fX0se2tleToib2ZmIix2YWx1ZTpmdW5jdGlvbih0LGEpe3JldHVybiB0aGlzLnJlbW92ZUxpc3RlbmVyKHQsYSl9fSx7a2V5OiJyZW1vdmVBbGxMaXN0ZW5lciIsdmFsdWU6ZnVuY3Rpb24odCl7ZGVsZXRlIHRoaXMuX2NhbGxiYWNrW3RdfX0se2tleToiZW1pdCIsdmFsdWU6ZnVuY3Rpb24odCl7Zm9yKHZhciBhPXRoaXMuX2NhbGxiYWNrW3RdLGk9YXJndW1lbnRzLmxlbmd0aCxlPW5ldyBBcnJheShpPjE/aS0xOjApLG49MTtuPGk7bisrKWVbbi0xXT1hcmd1bWVudHNbbl07aWYoYSlmb3IodmFyIHI9MDtyPGEubGVuZ3RoO3IrKylhW3JdLmFwcGx5KGEsZSl9fV0pLHR9KCk7ZnVuY3Rpb24gRih0KXtyZXR1cm4gdCYmInN0cmluZyI9PXR5cGVvZiB0P0pTT04ucGFyc2UodCk6dH12YXIgXz1GKFtdKSxqPSJ3ZWIiLFU9KEYodm9pZCAwKSxGKFtdKXx8W10pO3RyeXsoaSgiOWI4OCIpLmRlZmF1bHR8fGkoIjliODgiKSkuYXBwaWR9Y2F0Y2godmUpe312YXIgVyxHPXt9O2Z1bmN0aW9uIFkodCl7dmFyIGEsaSxlPWFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXTp7fTtyZXR1cm4gYT1HLGk9dCxPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYSxpKXx8KEdbdF09ZSksR1t0XX0iYXBwIj09PWomJihHPXVuaS5fZ2xvYmFsVW5pQ2xvdWRPYmo/dW5pLl9nbG9iYWxVbmlDbG91ZE9iajp1bmkuX2dsb2JhbFVuaUNsb3VkT2JqPXt9KTt2YXIgWj1bImludm9rZSIsInN1Y2Nlc3MiLCJmYWlsIiwiY29tcGxldGUiXSxRPVkoIl9nbG9iYWxVbmlDbG91ZEludGVyY2VwdG9yIik7ZnVuY3Rpb24gSih0LGEpe1FbdF18fChRW3RdPXt9KSxNKGEpJiZPYmplY3Qua2V5cyhhKS5mb3JFYWNoKChmdW5jdGlvbihpKXtaLmluZGV4T2YoaSk+LTEmJmZ1bmN0aW9uKHQsYSxpKXt2YXIgZT1RW3RdW2FdO2V8fChlPVFbdF1bYV09W10pLC0xPT09ZS5pbmRleE9mKGkpJiZFKGkpJiZlLnB1c2goaSl9KHQsaSxhW2ldKX0pKX1mdW5jdGlvbiBIKHQsYSl7UVt0XXx8KFFbdF09e30pLE0oYSk/T2JqZWN0LmtleXMoYSkuZm9yRWFjaCgoZnVuY3Rpb24oaSl7Wi5pbmRleE9mKGkpPi0xJiZmdW5jdGlvbih0LGEsaSl7dmFyIGU9UVt0XVthXTtpZihlKXt2YXIgbj1lLmluZGV4T2YoaSk7bj4tMSYmZS5zcGxpY2UobiwxKX19KHQsaSxhW2ldKX0pKTpkZWxldGUgUVt0XX1mdW5jdGlvbiBYKHQsYSl7cmV0dXJuIHQmJjAhPT10Lmxlbmd0aD90LnJlZHVjZSgoZnVuY3Rpb24odCxpKXtyZXR1cm4gdC50aGVuKChmdW5jdGlvbigpe3JldHVybiBpKGEpfSkpfSksUHJvbWlzZS5yZXNvbHZlKCkpOlByb21pc2UucmVzb2x2ZSgpfWZ1bmN0aW9uIHEodCxhKXtyZXR1cm4gUVt0XSYmUVt0XVthXXx8W119ZnVuY3Rpb24gVih0KXtKKCJjYWxsT2JqZWN0Iix0KX12YXIgSz1ZKCJfZ2xvYmFsVW5pQ2xvdWRMaXN0ZW5lciIpLCQ9e1JFU1BPTlNFOiJyZXNwb25zZSIsTkVFRF9MT0dJTjoibmVlZExvZ2luIixSRUZSRVNIX1RPS0VOOiJyZWZyZXNoVG9rZW4ifSx0dD17Q0xJRU5UX0RCOiJjbGllbnRkYiIsQ0xPVURfRlVOQ1RJT046ImNsb3VkZnVuY3Rpb24iLENMT1VEX09CSkVDVDoiY2xvdWRvYmplY3QifTtmdW5jdGlvbiBhdCh0KXtyZXR1cm4gS1t0XXx8KEtbdF09W10pLEtbdF19ZnVuY3Rpb24gaXQodCxhKXt2YXIgaT1hdCh0KTtpLmluY2x1ZGVzKGEpfHxpLnB1c2goYSl9ZnVuY3Rpb24gZXQodCxhKXt2YXIgaT1hdCh0KSxlPWkuaW5kZXhPZihhKTstMSE9PWUmJmkuc3BsaWNlKGUsMSl9ZnVuY3Rpb24gbnQodCxhKXtmb3IodmFyIGk9YXQodCksZT0wO2U8aS5sZW5ndGg7ZSsrKSgwLGlbZV0pKGEpfXZhciBydCxvdD0hMTtmdW5jdGlvbiBkdCgpe3JldHVybiBydHx8KHJ0PW5ldyBQcm9taXNlKChmdW5jdGlvbih0KXtvdCYmdCgpLGZ1bmN0aW9uIGEoKXtpZigiZnVuY3Rpb24iPT10eXBlb2YgZ2V0Q3VycmVudFBhZ2VzKXt2YXIgaT1nZXRDdXJyZW50UGFnZXMoKTtpJiZpWzBdJiYob3Q9ITAsdCgpKX1vdHx8c2V0VGltZW91dCgoZnVuY3Rpb24oKXthKCl9KSwzMCl9KCl9KSkscnQpfWZ1bmN0aW9uIHB0KHQpe3ZhciBhPXt9O2Zvcih2YXIgaSBpbiB0KXt2YXIgZT10W2ldO0UoZSkmJihhW2ldPUwoZSkpfXJldHVybiBhfXZhciBjdD1mdW5jdGlvbih0KXsoMCxtLmRlZmF1bHQpKGksdCk7dmFyIGE9KDAsZi5kZWZhdWx0KShpKTtmdW5jdGlvbiBpKHQpe3ZhciBlO3JldHVybigwLHUuZGVmYXVsdCkodGhpcyxpKSxlPWEuY2FsbCh0aGlzLHQubWVzc2FnZSksZS5lcnJNc2c9dC5tZXNzYWdlfHx0LmVyck1zZ3x8InVua25vd24gc3lzdGVtIGVycm9yIixlLmNvZGU9ZS5lcnJDb2RlPXQuY29kZXx8dC5lcnJDb2RlfHwiU1lTVEVNX0VSUk9SIixlLmVyclN1YmplY3Q9ZS5zdWJqZWN0PXQuc3ViamVjdHx8dC5lcnJTdWJqZWN0LGUuY2F1c2U9dC5jYXVzZSxlLnJlcXVlc3RJZD10LnJlcXVlc3RJZCxlfXJldHVybigwLGguZGVmYXVsdCkoaSxbe2tleToidG9Kc29uIix2YWx1ZTpmdW5jdGlvbigpe3ZhciB0PWFyZ3VtZW50cy5sZW5ndGg+MCYmdm9pZCAwIT09YXJndW1lbnRzWzBdP2FyZ3VtZW50c1swXTowO2lmKCEodD49MTApKXJldHVybiB0Kysse2VyckNvZGU6dGhpcy5lcnJDb2RlLGVyck1zZzp0aGlzLmVyck1zZyxlcnJTdWJqZWN0OnRoaXMuZXJyU3ViamVjdCxjYXVzZTp0aGlzLmNhdXNlJiZ0aGlzLmNhdXNlLnRvSnNvbj90aGlzLmNhdXNlLnRvSnNvbih0KTp0aGlzLmNhdXNlfX19XSksaX0oKDAsZy5kZWZhdWx0KShFcnJvcikpO2EuVW5pQ2xvdWRFcnJvcj1jdDt2YXIgc3QsbHQsbXQ9e3JlcXVlc3Q6ZnVuY3Rpb24odCl7cmV0dXJuIHVuaS5yZXF1ZXN0KHQpfSx1cGxvYWRGaWxlOmZ1bmN0aW9uKHQpe3JldHVybiB1bmkudXBsb2FkRmlsZSh0KX0sc2V0U3RvcmFnZVN5bmM6ZnVuY3Rpb24odCxhKXtyZXR1cm4gdW5pLnNldFN0b3JhZ2VTeW5jKHQsYSl9LGdldFN0b3JhZ2VTeW5jOmZ1bmN0aW9uKHQpe3JldHVybiB1bmkuZ2V0U3RvcmFnZVN5bmModCl9LHJlbW92ZVN0b3JhZ2VTeW5jOmZ1bmN0aW9uKHQpe3JldHVybiB1bmkucmVtb3ZlU3RvcmFnZVN5bmModCl9LGNsZWFyU3RvcmFnZVN5bmM6ZnVuY3Rpb24oKXtyZXR1cm4gdW5pLmNsZWFyU3RvcmFnZVN5bmMoKX0sY29ubmVjdFNvY2tldDpmdW5jdGlvbih0KXtyZXR1cm4gdW5pLmNvbm5lY3RTb2NrZXQodCl9fTtmdW5jdGlvbiBmdCgpe3JldHVybnt0b2tlbjptdC5nZXRTdG9yYWdlU3luYyhTKXx8bXQuZ2V0U3RvcmFnZVN5bmMoInVuaUlkVG9rZW4iKSx0b2tlbkV4cGlyZWQ6bXQuZ2V0U3RvcmFnZVN5bmMoVCl9fWZ1bmN0aW9uIGd0KCl7dmFyIHQ9YXJndW1lbnRzLmxlbmd0aD4wJiZ2b2lkIDAhPT1hcmd1bWVudHNbMF0/YXJndW1lbnRzWzBdOnt9LGE9dC50b2tlbixpPXQudG9rZW5FeHBpcmVkO2EmJm10LnNldFN0b3JhZ2VTeW5jKFMsYSksaSYmbXQuc2V0U3RvcmFnZVN5bmMoVCxpKX1mdW5jdGlvbiB1dCgpe3JldHVybiBzdHx8KHN0PXVuaS5nZXRTeXN0ZW1JbmZvU3luYygpKSxzdH12YXIgaHQ9e307ZnVuY3Rpb24gdnQoKXt2YXIgdD11bmkuZ2V0TG9jYWxlJiZ1bmkuZ2V0TG9jYWxlKCl8fCJlbiI7aWYobHQpcmV0dXJuKDAsbC5kZWZhdWx0KSgoMCxsLmRlZmF1bHQpKCgwLGwuZGVmYXVsdCkoe30saHQpLGx0KSx7fSx7bG9jYWxlOnQsTE9DQUxFOnR9KTt2YXIgYT11dCgpLGk9YS5kZXZpY2VJZCxlPWEub3NOYW1lLG49YS51bmlQbGF0Zm9ybSxyPWEuYXBwSWQsbz1bImFwcElkIiwiYXBwTGFuZ3VhZ2UiLCJhcHBOYW1lIiwiYXBwVmVyc2lvbiIsImFwcFZlcnNpb25Db2RlIiwiYXBwV2d0VmVyc2lvbiIsImJyb3dzZXJOYW1lIiwiYnJvd3NlclZlcnNpb24iLCJkZXZpY2VCcmFuZCIsImRldmljZUlkIiwiZGV2aWNlTW9kZWwiLCJkZXZpY2VUeXBlIiwib3NOYW1lIiwib3NWZXJzaW9uIiwicm9tTmFtZSIsInJvbVZlcnNpb24iLCJ1YSIsImhvc3ROYW1lIiwiaG9zdFZlcnNpb24iLCJ1bmlQbGF0Zm9ybSIsInVuaVJ1bnRpbWVWZXJzaW9uIiwidW5pUnVudGltZVZlcnNpb25Db2RlIiwidW5pQ29tcGlsZXJWZXJzaW9uIiwidW5pQ29tcGlsZXJWZXJzaW9uQ29kZSJdO2Zvcih2YXIgZCBpbiBhKU9iamVjdC5oYXNPd25Qcm9wZXJ0eS5jYWxsKGEsZCkmJi0xPT09by5pbmRleE9mKGQpJiZkZWxldGUgYVtkXTtyZXR1cm4gbHQ9KDAsbC5kZWZhdWx0KSgoMCxsLmRlZmF1bHQpKHtQTEFURk9STTpuLE9TOmUsQVBQSUQ6cixERVZJQ0VJRDppfSxmdW5jdGlvbigpe3ZhciB0LGE7dHJ5e2lmKHVuaS5nZXRMYXVuY2hPcHRpb25zU3luYyl7aWYodW5pLmdldExhdW5jaE9wdGlvbnNTeW5jLnRvU3RyaW5nKCkuaW5kZXhPZigibm90IHlldCBpbXBsZW1lbnRlZCIpPi0xKXJldHVybjt2YXIgaT11bmkuZ2V0TGF1bmNoT3B0aW9uc1N5bmMoKSxlPWkuc2NlbmUsbj1pLmNoYW5uZWw7dD1uLGE9ZX19Y2F0Y2godCl7fXJldHVybntjaGFubmVsOnQsc2NlbmU6YX19KCkpLGEpLCgwLGwuZGVmYXVsdCkoKDAsbC5kZWZhdWx0KSgoMCxsLmRlZmF1bHQpKHt9LGh0KSxsdCkse30se2xvY2FsZTp0LExPQ0FMRTp0fSl9dmFyIGJ0LHh0PXtzaWduOmZ1bmN0aW9uKHQsYSl7dmFyIGk9IiI7cmV0dXJuIE9iamVjdC5rZXlzKHQpLnNvcnQoKS5mb3JFYWNoKChmdW5jdGlvbihhKXt0W2FdJiYoaT1pKyImIithKyI9Iit0W2FdKX0pKSxpPWkuc2xpY2UoMSksQShpLGEpLnRvU3RyaW5nKCl9LHdyYXBwZWRSZXF1ZXN0OmZ1bmN0aW9uKHQsYSl7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbihpLGUpe2EoT2JqZWN0LmFzc2lnbih0LHtjb21wbGV0ZTpmdW5jdGlvbih0KXt0fHwodD17fSk7dmFyIGE9dC5kYXRhJiZ0LmRhdGEuaGVhZGVyJiZ0LmRhdGEuaGVhZGVyWyJ4LXNlcnZlcmxlc3MtcmVxdWVzdC1pZCJdfHx0LmhlYWRlciYmdC5oZWFkZXJbInJlcXVlc3QtaWQiXTtpZighdC5zdGF0dXNDb2RlfHx0LnN0YXR1c0NvZGU+PTQwMCl7dmFyIG49dC5kYXRhJiZ0LmRhdGEuZXJyb3ImJnQuZGF0YS5lcnJvci5jb2RlfHwiU1lTX0VSUiIscj10LmRhdGEmJnQuZGF0YS5lcnJvciYmdC5kYXRhLmVycm9yLm1lc3NhZ2V8fHQuZXJyTXNnfHwicmVxdWVzdDpmYWlsIjtyZXR1cm4gZShuZXcgY3Qoe2NvZGU6bixtZXNzYWdlOnIscmVxdWVzdElkOmF9KSl9dmFyIG89dC5kYXRhO2lmKG8uZXJyb3IpcmV0dXJuIGUobmV3IGN0KHtjb2RlOm8uZXJyb3IuY29kZSxtZXNzYWdlOm8uZXJyb3IubWVzc2FnZSxyZXF1ZXN0SWQ6YX0pKTtvLnJlc3VsdD1vLmRhdGEsby5yZXF1ZXN0SWQ9YSxkZWxldGUgby5kYXRhLGkobyl9fSkpfSkpfSx0b0Jhc2U2NDpmdW5jdGlvbih0KXtyZXR1cm4gay5zdHJpbmdpZnkody5wYXJzZSh0KSl9fSx5dD1mdW5jdGlvbigpe2Z1bmN0aW9uIHQoYSl7dmFyIGk9dGhpczsoMCx1LmRlZmF1bHQpKHRoaXMsdCksWyJzcGFjZUlkIiwiY2xpZW50U2VjcmV0Il0uZm9yRWFjaCgoZnVuY3Rpb24odCl7aWYoIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChhLHQpKXRocm93IG5ldyBFcnJvcigiIi5jb25jYXQodCwiIHJlcXVpcmVkIikpfSkpLHRoaXMuY29uZmlnPU9iamVjdC5hc3NpZ24oe30se2VuZHBvaW50OjA9PT1hLnNwYWNlSWQuaW5kZXhPZigibXAtIik/Imh0dHBzOi8vYXBpLm5leHQuYnNwYXBwLmNvbSI6Imh0dHBzOi8vYXBpLmJzcGFwcC5jb20ifSxhKSx0aGlzLmNvbmZpZy5wcm92aWRlcj0iYWxpeXVuIix0aGlzLmNvbmZpZy5yZXF1ZXN0VXJsPXRoaXMuY29uZmlnLmVuZHBvaW50KyIvY2xpZW50Iix0aGlzLmNvbmZpZy5lbnZUeXBlPXRoaXMuY29uZmlnLmVudlR5cGV8fCJwdWJsaWMiLHRoaXMuY29uZmlnLmFjY2Vzc1Rva2VuS2V5PSJhY2Nlc3NfdG9rZW5fIit0aGlzLmNvbmZpZy5zcGFjZUlkLHRoaXMuYWRhcHRlcj1tdCx0aGlzLl9nZXRBY2Nlc3NUb2tlblByb21pc2VIdWI9bmV3IEIoe2NyZWF0ZVByb21pc2U6ZnVuY3Rpb24oKXtyZXR1cm4gaS5yZXF1ZXN0QXV0aChpLnNldHVwUmVxdWVzdCh7bWV0aG9kOiJzZXJ2ZXJsZXNzLmF1dGgudXNlci5hbm9ueW1vdXNBdXRob3JpemUiLHBhcmFtczoie30ifSwiYXV0aCIpKS50aGVuKChmdW5jdGlvbih0KXtpZighdC5yZXN1bHR8fCF0LnJlc3VsdC5hY2Nlc3NUb2tlbil0aHJvdyBuZXcgY3Qoe2NvZGU6IkFVVEhfRkFJTEVEIixtZXNzYWdlOiLojrflj5ZhY2Nlc3NUb2tlbuWksei0pSJ9KTtpLnNldEFjY2Vzc1Rva2VuKHQucmVzdWx0LmFjY2Vzc1Rva2VuKX0pKX0scmV0cnlSdWxlOk59KX1yZXR1cm4oMCxoLmRlZmF1bHQpKHQsW3trZXk6Imhhc0FjY2Vzc1Rva2VuIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4hIXRoaXMuYWNjZXNzVG9rZW59fSx7a2V5OiJzZXRBY2Nlc3NUb2tlbiIsdmFsdWU6ZnVuY3Rpb24odCl7dGhpcy5hY2Nlc3NUb2tlbj10fX0se2tleToicmVxdWVzdFdyYXBwZWQiLHZhbHVlOmZ1bmN0aW9uKHQpe3JldHVybiB4dC53cmFwcGVkUmVxdWVzdCh0LHRoaXMuYWRhcHRlci5yZXF1ZXN0KX19LHtrZXk6InJlcXVlc3RBdXRoIix2YWx1ZTpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5yZXF1ZXN0V3JhcHBlZCh0KX19LHtrZXk6InJlcXVlc3QiLHZhbHVlOmZ1bmN0aW9uKHQsYSl7dmFyIGk9dGhpcztyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoZnVuY3Rpb24oKXtyZXR1cm4gaS5oYXNBY2Nlc3NUb2tlbj9hP2kucmVxdWVzdFdyYXBwZWQodCk6aS5yZXF1ZXN0V3JhcHBlZCh0KS5jYXRjaCgoZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbih0LGkpeyFhfHwiR0FURVdBWV9JTlZBTElEX1RPS0VOIiE9PWEuY29kZSYmIkludmFsaWRQYXJhbWV0ZXIuSW52YWxpZFRva2VuIiE9PWEuY29kZT9pKGEpOnQoKX0pKS50aGVuKChmdW5jdGlvbigpe3JldHVybiBpLmdldEFjY2Vzc1Rva2VuKCl9KSkudGhlbigoZnVuY3Rpb24oKXt2YXIgYT1pLnJlYnVpbGRSZXF1ZXN0KHQpO3JldHVybiBpLnJlcXVlc3QoYSwhMCl9KSl9KSk6aS5nZXRBY2Nlc3NUb2tlbigpLnRoZW4oKGZ1bmN0aW9uKCl7dmFyIGE9aS5yZWJ1aWxkUmVxdWVzdCh0KTtyZXR1cm4gaS5yZXF1ZXN0KGEsITApfSkpfSkpfX0se2tleToicmVidWlsZFJlcXVlc3QiLHZhbHVlOmZ1bmN0aW9uKHQpe3ZhciBhPU9iamVjdC5hc3NpZ24oe30sdCk7cmV0dXJuIGEuZGF0YS50b2tlbj10aGlzLmFjY2Vzc1Rva2VuLGEuaGVhZGVyWyJ4LWJhc2VtZW50LXRva2VuIl09dGhpcy5hY2Nlc3NUb2tlbixhLmhlYWRlclsieC1zZXJ2ZXJsZXNzLXNpZ24iXT14dC5zaWduKGEuZGF0YSx0aGlzLmNvbmZpZy5jbGllbnRTZWNyZXQpLGF9fSx7a2V5OiJzZXR1cFJlcXVlc3QiLHZhbHVlOmZ1bmN0aW9uKHQsYSl7dmFyIGk9T2JqZWN0LmFzc2lnbih7fSx0LHtzcGFjZUlkOnRoaXMuY29uZmlnLnNwYWNlSWQsdGltZXN0YW1wOkRhdGUubm93KCl9KSxlPXsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9O3JldHVybiJhdXRoIiE9PWEmJihpLnRva2VuPXRoaXMuYWNjZXNzVG9rZW4sZVsieC1iYXNlbWVudC10b2tlbiJdPXRoaXMuYWNjZXNzVG9rZW4pLGVbIngtc2VydmVybGVzcy1zaWduIl09eHQuc2lnbihpLHRoaXMuY29uZmlnLmNsaWVudFNlY3JldCkse3VybDp0aGlzLmNvbmZpZy5yZXF1ZXN0VXJsLG1ldGhvZDoiUE9TVCIsZGF0YTppLGRhdGFUeXBlOiJqc29uIixoZWFkZXI6ZX19fSx7a2V5OiJnZXRBY2Nlc3NUb2tlbiIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZ2V0QWNjZXNzVG9rZW5Qcm9taXNlSHViLmV4ZWMoKX19LHtrZXk6ImF1dGhvcml6ZSIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgdD0oMCxzLmRlZmF1bHQpKCgwLGMuZGVmYXVsdCkoKS5tYXJrKChmdW5jdGlvbiB0KCl7cmV0dXJuKDAsYy5kZWZhdWx0KSgpLndyYXAoKGZ1bmN0aW9uKHQpe3doaWxlKDEpc3dpdGNoKHQucHJldj10Lm5leHQpe2Nhc2UgMDpyZXR1cm4gdC5uZXh0PTIsdGhpcy5nZXRBY2Nlc3NUb2tlbigpO2Nhc2UgMjpjYXNlImVuZCI6cmV0dXJuIHQuc3RvcCgpfX0pLHQsdGhpcyl9KSkpO3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX19KCl9LHtrZXk6ImNhbGxGdW5jdGlvbiIsdmFsdWU6ZnVuY3Rpb24odCl7dmFyIGE9e21ldGhvZDoic2VydmVybGVzcy5mdW5jdGlvbi5ydW50aW1lLmludm9rZSIscGFyYW1zOkpTT04uc3RyaW5naWZ5KHtmdW5jdGlvblRhcmdldDp0Lm5hbWUsZnVuY3Rpb25BcmdzOnQuZGF0YXx8e319KX07cmV0dXJuIHRoaXMucmVxdWVzdCgoMCxsLmRlZmF1bHQpKCgwLGwuZGVmYXVsdCkoe30sdGhpcy5zZXR1cFJlcXVlc3QoYSkpLHt9LHt0aW1lb3V0OnQudGltZW91dH0pKX19LHtrZXk6ImdldE9TU1VwbG9hZE9wdGlvbnNGcm9tUGF0aCIsdmFsdWU6ZnVuY3Rpb24odCl7dmFyIGE9e21ldGhvZDoic2VydmVybGVzcy5maWxlLnJlc291cmNlLmdlbmVyYXRlUHJveGltYWxTaWduIixwYXJhbXM6SlNPTi5zdHJpbmdpZnkodCl9O3JldHVybiB0aGlzLnJlcXVlc3QodGhpcy5zZXR1cFJlcXVlc3QoYSkpfX0se2tleToidXBsb2FkRmlsZVRvT1NTIix2YWx1ZTpmdW5jdGlvbih0KXt2YXIgYT10aGlzLGk9dC51cmwsZT10LmZvcm1EYXRhLG49dC5uYW1lLHI9dC5maWxlUGF0aCxvPXQuZmlsZVR5cGUsZD10Lm9uVXBsb2FkUHJvZ3Jlc3M7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbih0LHApe3ZhciBjPWEuYWRhcHRlci51cGxvYWRGaWxlKHt1cmw6aSxmb3JtRGF0YTplLG5hbWU6bixmaWxlUGF0aDpyLGZpbGVUeXBlOm8saGVhZGVyOnsiWC1PU1Mtc2VydmVyLXNpZGUtZW5jcnB5dGlvbiI6IkFFUzI1NiJ9LHN1Y2Nlc3M6ZnVuY3Rpb24oYSl7YSYmYS5zdGF0dXNDb2RlPDQwMD90KGEpOnAobmV3IGN0KHtjb2RlOiJVUExPQURfRkFJTEVEIixtZXNzYWdlOiLmlofku7bkuIrkvKDlpLHotKUifSkpfSxmYWlsOmZ1bmN0aW9uKHQpe3AobmV3IGN0KHtjb2RlOnQuY29kZXx8IlVQTE9BRF9GQUlMRUQiLG1lc3NhZ2U6dC5tZXNzYWdlfHx0LmVyck1zZ3x8IuaWh+S7tuS4iuS8oOWksei0pSJ9KSl9fSk7ImZ1bmN0aW9uIj09dHlwZW9mIGQmJmMmJiJmdW5jdGlvbiI9PXR5cGVvZiBjLm9uUHJvZ3Jlc3NVcGRhdGUmJmMub25Qcm9ncmVzc1VwZGF0ZSgoZnVuY3Rpb24odCl7ZCh7bG9hZGVkOnQudG90YWxCeXRlc1NlbnQsdG90YWw6dC50b3RhbEJ5dGVzRXhwZWN0ZWRUb1NlbmR9KX0pKX0pKX19LHtrZXk6InJlcG9ydE9TU1VwbG9hZCIsdmFsdWU6ZnVuY3Rpb24odCl7dmFyIGE9e21ldGhvZDoic2VydmVybGVzcy5maWxlLnJlc291cmNlLnJlcG9ydCIscGFyYW1zOkpTT04uc3RyaW5naWZ5KHQpfTtyZXR1cm4gdGhpcy5yZXF1ZXN0KHRoaXMuc2V0dXBSZXF1ZXN0KGEpKX19LHtrZXk6InVwbG9hZEZpbGUiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIHQ9KDAscy5kZWZhdWx0KSgoMCxjLmRlZmF1bHQpKCkubWFyaygoZnVuY3Rpb24gdChhKXt2YXIgaSxlLG4scixvLGQscCxzLGwsbSxmLGcsdSxoLHYsYix4LHksQSx3LGssUztyZXR1cm4oMCxjLmRlZmF1bHQpKCkud3JhcCgoZnVuY3Rpb24odCl7d2hpbGUoMSlzd2l0Y2godC5wcmV2PXQubmV4dCl7Y2FzZSAwOmlmKGk9YS5maWxlUGF0aCxlPWEuY2xvdWRQYXRoLG49YS5maWxlVHlwZSxyPXZvaWQgMD09PW4/ImltYWdlIjpuLG89YS5jbG91ZFBhdGhBc1JlYWxQYXRoLGQ9dm9pZCAwIT09byYmbyxwPWEub25VcGxvYWRQcm9ncmVzcyxzPWEuY29uZmlnLCJzdHJpbmciPT09RChlKSl7dC5uZXh0PTM7YnJlYWt9dGhyb3cgbmV3IGN0KHtjb2RlOiJJTlZBTElEX1BBUkFNIixtZXNzYWdlOiJjbG91ZFBhdGjlv4XpobvkuLrlrZfnrKbkuLLnsbvlnosifSk7Y2FzZSAzOmlmKGU9ZS50cmltKCkpe3QubmV4dD01O2JyZWFrfXRocm93IG5ldyBjdCh7Y29kZToiSU5WQUxJRF9QQVJBTSIsbWVzc2FnZToiY2xvdWRQYXRo5LiN5Y+v5Li656m6In0pO2Nhc2UgNTppZighLzpcL1wvLy50ZXN0KGUpKXt0Lm5leHQ9NzticmVha310aHJvdyBuZXcgY3Qoe2NvZGU6IklOVkFMSURfUEFSQU0iLG1lc3NhZ2U6ImNsb3VkUGF0aOS4jeWQiOazlSJ9KTtjYXNlIDc6aWYobD1zJiZzLmVudlR5cGV8fHRoaXMuY29uZmlnLmVudlR5cGUsIShkJiYoIi8iIT09ZVswXSYmKGU9Ii8iK2UpLGUuaW5kZXhPZigiXFwiKT4tMSkpKXt0Lm5leHQ9MTA7YnJlYWt9dGhyb3cgbmV3IGN0KHtjb2RlOiJJTlZBTElEX1BBUkFNIixtZXNzYWdlOiLkvb/nlKhjbG91ZFBhdGjkvZzkuLrot6/lvoTml7bvvIxjbG91ZFBhdGjkuI3lj6/ljIXlkKvigJxcXOKAnSJ9KTtjYXNlIDEwOnJldHVybiB0Lm5leHQ9MTIsdGhpcy5nZXRPU1NVcGxvYWRPcHRpb25zRnJvbVBhdGgoe2VudjpsLGZpbGVuYW1lOmQ/ZS5zcGxpdCgiLyIpLnBvcCgpOmUsZmlsZUlkOmQ/ZTp2b2lkIDB9KTtjYXNlIDEyOnJldHVybiBtPXQuc2VudC5yZXN1bHQsZj0iaHR0cHM6Ly8iK20uY2RuRG9tYWluKyIvIittLm9zc1BhdGgsZz1tLnNlY3VyaXR5VG9rZW4sdT1tLmFjY2Vzc0tleUlkLGg9bS5zaWduYXR1cmUsdj1tLmhvc3QsYj1tLm9zc1BhdGgseD1tLmlkLHk9bS5wb2xpY3ksQT1tLm9zc0NhbGxiYWNrVXJsLHc9eyJDYWNoZS1Db250cm9sIjoibWF4LWFnZT0yNTkyMDAwIiwiQ29udGVudC1EaXNwb3NpdGlvbiI6ImF0dGFjaG1lbnQiLE9TU0FjY2Vzc0tleUlkOnUsU2lnbmF0dXJlOmgsaG9zdDp2LGlkOngsa2V5OmIscG9saWN5Onksc3VjY2Vzc19hY3Rpb25fc3RhdHVzOjIwMH0sZyYmKHdbIngtb3NzLXNlY3VyaXR5LXRva2VuIl09ZyksQSYmKGs9SlNPTi5zdHJpbmdpZnkoe2NhbGxiYWNrVXJsOkEsY2FsbGJhY2tCb2R5OkpTT04uc3RyaW5naWZ5KHtmaWxlSWQ6eCxzcGFjZUlkOnRoaXMuY29uZmlnLnNwYWNlSWR9KSxjYWxsYmFja0JvZHlUeXBlOiJhcHBsaWNhdGlvbi9qc29uIn0pLHcuY2FsbGJhY2s9eHQudG9CYXNlNjQoaykpLFM9e3VybDoiaHR0cHM6Ly8iK20uaG9zdCxmb3JtRGF0YTp3LGZpbGVOYW1lOiJmaWxlIixuYW1lOiJmaWxlIixmaWxlUGF0aDppLGZpbGVUeXBlOnJ9LHQubmV4dD0yNyx0aGlzLnVwbG9hZEZpbGVUb09TUyhPYmplY3QuYXNzaWduKHt9LFMse29uVXBsb2FkUHJvZ3Jlc3M6cH0pKTtjYXNlIDI3OmlmKCFBKXt0Lm5leHQ9Mjk7YnJlYWt9cmV0dXJuIHQuYWJydXB0KCJyZXR1cm4iLHtzdWNjZXNzOiEwLGZpbGVQYXRoOmksZmlsZUlEOmZ9KTtjYXNlIDI5OnJldHVybiB0Lm5leHQ9MzEsdGhpcy5yZXBvcnRPU1NVcGxvYWQoe2lkOnh9KTtjYXNlIDMxOmlmKCF0LnNlbnQuc3VjY2Vzcyl7dC5uZXh0PTMzO2JyZWFrfXJldHVybiB0LmFicnVwdCgicmV0dXJuIix7c3VjY2VzczohMCxmaWxlUGF0aDppLGZpbGVJRDpmfSk7Y2FzZSAzMzp0aHJvdyBuZXcgY3Qoe2NvZGU6IlVQTE9BRF9GQUlMRUQiLG1lc3NhZ2U6IuaWh+S7tuS4iuS8oOWksei0pSJ9KTtjYXNlIDM0OmNhc2UiZW5kIjpyZXR1cm4gdC5zdG9wKCl9fSksdCx0aGlzKX0pKSk7cmV0dXJuIGZ1bmN0aW9uKGEpe3JldHVybiB0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX19KCl9LHtrZXk6ImdldFRlbXBGaWxlVVJMIix2YWx1ZTpmdW5jdGlvbigpe3ZhciB0PWFyZ3VtZW50cy5sZW5ndGg+MCYmdm9pZCAwIT09YXJndW1lbnRzWzBdP2FyZ3VtZW50c1swXTp7fSxhPXQuZmlsZUxpc3Q7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbih0LGkpe0FycmF5LmlzQXJyYXkoYSkmJjAhPT1hLmxlbmd0aHx8aShuZXcgY3Qoe2NvZGU6IklOVkFMSURfUEFSQU0iLG1lc3NhZ2U6ImZpbGVMaXN055qE5YWD57Sg5b+F6aG75piv6Z2e56m655qE5a2X56ym5LiyIn0pKSx0KHtmaWxlTGlzdDphLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJue2ZpbGVJRDp0LHRlbXBGaWxlVVJMOnR9fSkpfSl9KSl9fSx7a2V5OiJnZXRGaWxlSW5mbyIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgdD0oMCxzLmRlZmF1bHQpKCgwLGMuZGVmYXVsdCkoKS5tYXJrKChmdW5jdGlvbiB0KCl7dmFyIGEsaSxlLG49YXJndW1lbnRzO3JldHVybigwLGMuZGVmYXVsdCkoKS53cmFwKChmdW5jdGlvbih0KXt3aGlsZSgxKXN3aXRjaCh0LnByZXY9dC5uZXh0KXtjYXNlIDA6aWYoYT1uLmxlbmd0aD4wJiZ2b2lkIDAhPT1uWzBdP25bMF06e30saT1hLmZpbGVMaXN0LEFycmF5LmlzQXJyYXkoaSkmJjAhPT1pLmxlbmd0aCl7dC5uZXh0PTM7YnJlYWt9dGhyb3cgbmV3IGN0KHtjb2RlOiJJTlZBTElEX1BBUkFNIixtZXNzYWdlOiJmaWxlTGlzdOeahOWFg+e0oOW/hemhu+aYr+mdnuepuueahOWtl+espuS4siJ9KTtjYXNlIDM6cmV0dXJuIGU9e21ldGhvZDoic2VydmVybGVzcy5maWxlLnJlc291cmNlLmluZm8iLHBhcmFtczpKU09OLnN0cmluZ2lmeSh7aWQ6aS5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiB0LnNwbGl0KCI/IilbMF19KSkuam9pbigiLCIpfSl9LHQubmV4dD02LHRoaXMucmVxdWVzdCh0aGlzLnNldHVwUmVxdWVzdChlKSk7Y2FzZSA2OnJldHVybiB0LnQwPXQuc2VudC5yZXN1bHQsdC5hYnJ1cHQoInJldHVybiIse2ZpbGVMaXN0OnQudDB9KTtjYXNlIDg6Y2FzZSJlbmQiOnJldHVybiB0LnN0b3AoKX19KSx0LHRoaXMpfSkpKTtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSgpfV0pLHR9KCksQXQ9e2luaXQ6ZnVuY3Rpb24odCl7dmFyIGE9bmV3IHl0KHQpLGk9e3NpZ25JbkFub255bW91c2x5OmZ1bmN0aW9uKCl7cmV0dXJuIGEuYXV0aG9yaXplKCl9LGdldExvZ2luU3RhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCExKX19O3JldHVybiBhLmF1dGg9ZnVuY3Rpb24oKXtyZXR1cm4gaX0sYS5jdXN0b21BdXRoPWEuYXV0aCxhfX0sd3Q9InVuZGVmaW5lZCIhPXR5cGVvZiBsb2NhdGlvbiYmImh0dHA6Ij09PWxvY2F0aW9uLnByb3RvY29sPyJodHRwOiI6Imh0dHBzOiI7IWZ1bmN0aW9uKHQpe3QubG9jYWw9ImxvY2FsIix0Lm5vbmU9Im5vbmUiLHQuc2Vzc2lvbj0ic2Vzc2lvbiJ9KGJ0fHwoYnQ9e30pKTt2YXIga3QsU3Q9ZnVuY3Rpb24oKXt9LFR0PWIoKGZ1bmN0aW9uKHQsYSl7dmFyIGk7dC5leHBvcnRzPShpPXksZnVuY3Rpb24odCl7dmFyIGE9aSxlPWEubGliLG49ZS5Xb3JkQXJyYXkscj1lLkhhc2hlcixvPWEuYWxnbyxkPVtdLHA9W107IWZ1bmN0aW9uKCl7ZnVuY3Rpb24gYShhKXtmb3IodmFyIGk9dC5zcXJ0KGEpLGU9MjtlPD1pO2UrKylpZighKGElZSkpcmV0dXJuITE7cmV0dXJuITB9ZnVuY3Rpb24gaSh0KXtyZXR1cm4gNDI5NDk2NzI5NioodC0oMHx0KSl8MH1mb3IodmFyIGU9MixuPTA7bjw2NDspYShlKSYmKG48OCYmKGRbbl09aSh0LnBvdyhlLC41KSkpLHBbbl09aSh0LnBvdyhlLDEvMykpLG4rKyksZSsrfSgpO3ZhciBjPVtdLHM9by5TSEEyNTY9ci5leHRlbmQoe19kb1Jlc2V0OmZ1bmN0aW9uKCl7dGhpcy5faGFzaD1uZXcgbi5pbml0KGQuc2xpY2UoMCkpfSxfZG9Qcm9jZXNzQmxvY2s6ZnVuY3Rpb24odCxhKXtmb3IodmFyIGk9dGhpcy5faGFzaC53b3JkcyxlPWlbMF0sbj1pWzFdLHI9aVsyXSxvPWlbM10sZD1pWzRdLHM9aVs1XSxsPWlbNl0sbT1pWzddLGY9MDtmPDY0O2YrKyl7aWYoZjwxNiljW2ZdPTB8dFthK2ZdO2Vsc2V7dmFyIGc9Y1tmLTE1XSx1PShnPDwyNXxnPj4+NyleKGc8PDE0fGc+Pj4xOCleZz4+PjMsaD1jW2YtMl0sdj0oaDw8MTV8aD4+PjE3KV4oaDw8MTN8aD4+PjE5KV5oPj4+MTA7Y1tmXT11K2NbZi03XSt2K2NbZi0xNl19dmFyIGI9ZSZuXmUmcl5uJnIseD0oZTw8MzB8ZT4+PjIpXihlPDwxOXxlPj4+MTMpXihlPDwxMHxlPj4+MjIpLHk9bSsoKGQ8PDI2fGQ+Pj42KV4oZDw8MjF8ZD4+PjExKV4oZDw8N3xkPj4+MjUpKSsoZCZzXn5kJmwpK3BbZl0rY1tmXTttPWwsbD1zLHM9ZCxkPW8reXwwLG89cixyPW4sbj1lLGU9eSsoeCtiKXwwfWlbMF09aVswXStlfDAsaVsxXT1pWzFdK258MCxpWzJdPWlbMl0rcnwwLGlbM109aVszXStvfDAsaVs0XT1pWzRdK2R8MCxpWzVdPWlbNV0rc3wwLGlbNl09aVs2XStsfDAsaVs3XT1pWzddK218MH0sX2RvRmluYWxpemU6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLl9kYXRhLGk9YS53b3JkcyxlPTgqdGhpcy5fbkRhdGFCeXRlcyxuPTgqYS5zaWdCeXRlcztyZXR1cm4gaVtuPj4+NV18PTEyODw8MjQtbiUzMixpWzE0KyhuKzY0Pj4+OTw8NCldPXQuZmxvb3IoZS80Mjk0OTY3Mjk2KSxpWzE1KyhuKzY0Pj4+OTw8NCldPWUsYS5zaWdCeXRlcz00KmkubGVuZ3RoLHRoaXMuX3Byb2Nlc3MoKSx0aGlzLl9oYXNofSxjbG9uZTpmdW5jdGlvbigpe3ZhciB0PXIuY2xvbmUuY2FsbCh0aGlzKTtyZXR1cm4gdC5faGFzaD10aGlzLl9oYXNoLmNsb25lKCksdH19KTthLlNIQTI1Nj1yLl9jcmVhdGVIZWxwZXIocyksYS5IbWFjU0hBMjU2PXIuX2NyZWF0ZUhtYWNIZWxwZXIocyl9KE1hdGgpLGkuU0hBMjU2KX0pKSxDdD1UdCxQdD1iKChmdW5jdGlvbih0LGEpe3QuZXhwb3J0cz15LkhtYWNTSEEyNTZ9KSksenQ9ZnVuY3Rpb24oKXt2YXIgdDtpZighUHJvbWlzZSl7dD1mdW5jdGlvbigpe30sdC5wcm9taXNlPXt9O3ZhciBhPWZ1bmN0aW9uKCl7dGhyb3cgbmV3IGN0KHttZXNzYWdlOidZb3VyIE5vZGUgcnVudGltZSBkb2VzIHN1cHBvcnQgRVM2IFByb21pc2VzLiBTZXQgImdsb2JhbC5Qcm9taXNlIiB0byB5b3VyIHByZWZlcnJlZCBpbXBsZW1lbnRhdGlvbiBvZiBwcm9taXNlcy4nfSl9O3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm9taXNlLCJ0aGVuIix7Z2V0OmF9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodC5wcm9taXNlLCJjYXRjaCIse2dldDphfSksdH12YXIgaT1uZXcgUHJvbWlzZSgoZnVuY3Rpb24oYSxpKXt0PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQ/aSh0KTphKGUpfX0pKTtyZXR1cm4gdC5wcm9taXNlPWksdH07ZnVuY3Rpb24gSXQodCl7cmV0dXJuIHZvaWQgMD09PXR9ZnVuY3Rpb24gRHQodCl7cmV0dXJuIltvYmplY3QgTnVsbF0iPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpfWZ1bmN0aW9uIE10KCl7dmFyIHQ9YXJndW1lbnRzLmxlbmd0aD4wJiZ2b2lkIDAhPT1hcmd1bWVudHNbMF0/YXJndW1lbnRzWzBdOiIiO3JldHVybiB0LnJlcGxhY2UoLyhbXHNcU10rKVxzKyjor7fliY3lvoDkupHlvIDlj5FBSeWwj+WKqeaJi+afpeeci+mXrumimO+8mi4qKS8sIiQxIil9ZnVuY3Rpb24gRXQoKXtmb3IodmFyIHQ9YXJndW1lbnRzLmxlbmd0aD4wJiZ2b2lkIDAhPT1hcmd1bWVudHNbMF0/YXJndW1lbnRzWzBdOjMyLGE9IkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5IixpPSIiLGU9MDtlPHQ7ZSsrKWkrPWEuY2hhckF0KE1hdGguZmxvb3IoNjIqTWF0aC5yYW5kb20oKSkpO3JldHVybiBpfSFmdW5jdGlvbih0KXt0LldFQj0id2ViIix0LldYX01QPSJ3eF9tcCJ9KGt0fHwoa3Q9e30pKTt2YXIgTHQ9e2FkYXB0ZXI6bnVsbCxydW50aW1lOnZvaWQgMH0sT3Q9WyJhbm9ueW1vdXNVdWlkS2V5Il0sTnQ9ZnVuY3Rpb24odCl7KDAsbS5kZWZhdWx0KShpLHQpO3ZhciBhPSgwLGYuZGVmYXVsdCkoaSk7ZnVuY3Rpb24gaSgpe3ZhciB0O3JldHVybigwLHUuZGVmYXVsdCkodGhpcyxpKSx0PWEuY2FsbCh0aGlzKSxMdC5hZGFwdGVyLnJvb3QudGNiT2JqZWN0fHwoTHQuYWRhcHRlci5yb290LnRjYk9iamVjdD17fSksdH1yZXR1cm4oMCxoLmRlZmF1bHQpKGksW3trZXk6InNldEl0ZW0iLHZhbHVlOmZ1bmN0aW9uKHQsYSl7THQuYWRhcHRlci5yb290LnRjYk9iamVjdFt0XT1hfX0se2tleToiZ2V0SXRlbSIsdmFsdWU6ZnVuY3Rpb24odCl7cmV0dXJuIEx0LmFkYXB0ZXIucm9vdC50Y2JPYmplY3RbdF19fSx7a2V5OiJyZW1vdmVJdGVtIix2YWx1ZTpmdW5jdGlvbih0KXtkZWxldGUgTHQuYWRhcHRlci5yb290LnRjYk9iamVjdFt0XX19LHtrZXk6ImNsZWFyIix2YWx1ZTpmdW5jdGlvbigpe2RlbGV0ZSBMdC5hZGFwdGVyLnJvb3QudGNiT2JqZWN0fX1dKSxpfShTdCk7ZnVuY3Rpb24gQnQodCxhKXtzd2l0Y2godCl7Y2FzZSJsb2NhbCI6cmV0dXJuIGEubG9jYWxTdG9yYWdlfHxuZXcgTnQ7Y2FzZSJub25lIjpyZXR1cm4gbmV3IE50O2RlZmF1bHQ6cmV0dXJuIGEuc2Vzc2lvblN0b3JhZ2V8fG5ldyBOdH19dmFyIFJ0PWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdChhKXtpZigoMCx1LmRlZmF1bHQpKHRoaXMsdCksIXRoaXMuX3N0b3JhZ2Upe3RoaXMuX3BlcnNpc3RlbmNlPUx0LmFkYXB0ZXIucHJpbWFyeVN0b3JhZ2V8fGEucGVyc2lzdGVuY2UsdGhpcy5fc3RvcmFnZT1CdCh0aGlzLl9wZXJzaXN0ZW5jZSxMdC5hZGFwdGVyKTt2YXIgaT0iYWNjZXNzX3Rva2VuXyIuY29uY2F0KGEuZW52KSxlPSJhY2Nlc3NfdG9rZW5fZXhwaXJlXyIuY29uY2F0KGEuZW52KSxuPSJyZWZyZXNoX3Rva2VuXyIuY29uY2F0KGEuZW52KSxyPSJhbm9ueW1vdXNfdXVpZF8iLmNvbmNhdChhLmVudiksbz0ibG9naW5fdHlwZV8iLmNvbmNhdChhLmVudiksZD0idG9rZW5fdHlwZV8iLmNvbmNhdChhLmVudikscD0idXNlcl9pbmZvXyIuY29uY2F0KGEuZW52KTt0aGlzLmtleXM9e2FjY2Vzc1Rva2VuS2V5OmksYWNjZXNzVG9rZW5FeHBpcmVLZXk6ZSxyZWZyZXNoVG9rZW5LZXk6bixhbm9ueW1vdXNVdWlkS2V5OnIsbG9naW5UeXBlS2V5Om8sdXNlckluZm9LZXk6cCxkZXZpY2VJZEtleToiZGV2aWNlX2lkIix0b2tlblR5cGVLZXk6ZH19fXJldHVybigwLGguZGVmYXVsdCkodCxbe2tleToidXBkYXRlUGVyc2lzdGVuY2UiLHZhbHVlOmZ1bmN0aW9uKHQpe2lmKHQhPT10aGlzLl9wZXJzaXN0ZW5jZSl7dmFyIGE9ImxvY2FsIj09PXRoaXMuX3BlcnNpc3RlbmNlO3RoaXMuX3BlcnNpc3RlbmNlPXQ7dmFyIGk9QnQodCxMdC5hZGFwdGVyKTtmb3IodmFyIGUgaW4gdGhpcy5rZXlzKXt2YXIgbj10aGlzLmtleXNbZV07aWYoIWF8fCFPdC5pbmNsdWRlcyhlKSl7dmFyIHI9dGhpcy5fc3RvcmFnZS5nZXRJdGVtKG4pO0l0KHIpfHxEdChyKXx8KGkuc2V0SXRlbShuLHIpLHRoaXMuX3N0b3JhZ2UucmVtb3ZlSXRlbShuKSl9fXRoaXMuX3N0b3JhZ2U9aX19fSx7a2V5OiJzZXRTdG9yZSIsdmFsdWU6ZnVuY3Rpb24odCxhLGkpe2lmKHRoaXMuX3N0b3JhZ2Upe3ZhciBlPXt2ZXJzaW9uOml8fCJsb2NhbENhY2hldjEiLGNvbnRlbnQ6YX0sbj1KU09OLnN0cmluZ2lmeShlKTt0cnl7dGhpcy5fc3RvcmFnZS5zZXRJdGVtKHQsbil9Y2F0Y2godCl7dGhyb3cgdH19fX0se2tleToiZ2V0U3RvcmUiLHZhbHVlOmZ1bmN0aW9uKHQsYSl7dHJ5e2lmKCF0aGlzLl9zdG9yYWdlKXJldHVybn1jYXRjaCh0KXtyZXR1cm4iIn1hPWF8fCJsb2NhbENhY2hldjEiO3ZhciBpPXRoaXMuX3N0b3JhZ2UuZ2V0SXRlbSh0KTtyZXR1cm4gaSYmaS5pbmRleE9mKGEpPj0wP0pTT04ucGFyc2UoaSkuY29udGVudDoiIn19LHtrZXk6InJlbW92ZVN0b3JlIix2YWx1ZTpmdW5jdGlvbih0KXt0aGlzLl9zdG9yYWdlLnJlbW92ZUl0ZW0odCl9fV0pLHR9KCksRnQ9e30sX3Q9e307ZnVuY3Rpb24ganQodCl7cmV0dXJuIEZ0W3RdfXZhciBVdD0oMCxoLmRlZmF1bHQpKChmdW5jdGlvbiB0KGEsaSl7KDAsdS5kZWZhdWx0KSh0aGlzLHQpLHRoaXMuZGF0YT1pfHxudWxsLHRoaXMubmFtZT1hfSkpLFd0PWZ1bmN0aW9uKHQpeygwLG0uZGVmYXVsdCkoaSx0KTt2YXIgYT0oMCxmLmRlZmF1bHQpKGkpO2Z1bmN0aW9uIGkodCxlKXt2YXIgbjtyZXR1cm4oMCx1LmRlZmF1bHQpKHRoaXMsaSksbj1hLmNhbGwodGhpcywiZXJyb3IiLHtlcnJvcjp0LGRhdGE6ZX0pLG4uZXJyb3I9dCxufXJldHVybigwLGguZGVmYXVsdCkoaSl9KFV0KSxHdD1uZXcoZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7KDAsdS5kZWZhdWx0KSh0aGlzLHQpLHRoaXMuX2xpc3RlbmVycz17fX1yZXR1cm4oMCxoLmRlZmF1bHQpKHQsW3trZXk6Im9uIix2YWx1ZTpmdW5jdGlvbih0LGEpe3JldHVybiBmdW5jdGlvbih0LGEsaSl7aVt0XT1pW3RdfHxbXSxpW3RdLnB1c2goYSl9KHQsYSx0aGlzLl9saXN0ZW5lcnMpLHRoaXN9fSx7a2V5OiJvZmYiLHZhbHVlOmZ1bmN0aW9uKHQsYSl7cmV0dXJuIGZ1bmN0aW9uKHQsYSxpKXtpZihpJiZpW3RdKXt2YXIgZT1pW3RdLmluZGV4T2YoYSk7LTEhPT1lJiZpW3RdLnNwbGljZShlLDEpfX0odCxhLHRoaXMuX2xpc3RlbmVycyksdGhpc319LHtrZXk6ImZpcmUiLHZhbHVlOmZ1bmN0aW9uKHQsYSl7aWYodCBpbnN0YW5jZW9mIFd0KXJldHVybiBjb25zb2xlLmVycm9yKHQuZXJyb3IpLHRoaXM7dmFyIGk9InN0cmluZyI9PXR5cGVvZiB0P25ldyBVdCh0LGF8fHt9KTp0LGU9aS5uYW1lO2lmKHRoaXMuX2xpc3RlbnMoZSkpe2kudGFyZ2V0PXRoaXM7dmFyIG4scj10aGlzLl9saXN0ZW5lcnNbZV0/KDAsZC5kZWZhdWx0KSh0aGlzLl9saXN0ZW5lcnNbZV0pOltdLG89KDAscC5kZWZhdWx0KShyKTt0cnl7Zm9yKG8ucygpOyEobj1vLm4oKSkuZG9uZTspe3ZhciBjPW4udmFsdWU7Yy5jYWxsKHRoaXMsaSl9fWNhdGNoKHMpe28uZShzKX1maW5hbGx5e28uZigpfX1yZXR1cm4gdGhpc319LHtrZXk6Il9saXN0ZW5zIix2YWx1ZTpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fbGlzdGVuZXJzW3RdJiZ0aGlzLl9saXN0ZW5lcnNbdF0ubGVuZ3RoPjB9fV0pLHR9KCkpO2Z1bmN0aW9uIFl0KHQsYSl7R3Qub24odCxhKX1mdW5jdGlvbiBadCh0KXt2YXIgYT1hcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXT9hcmd1bWVudHNbMV06e307R3QuZmlyZSh0LGEpfWZ1bmN0aW9uIFF0KHQsYSl7R3Qub2ZmKHQsYSl9dmFyIEp0LEh0PSJsb2dpblN0YXRlQ2hhbmdlZCIsWHQ9ImxvZ2luU3RhdGVFeHBpcmUiLHF0PSJsb2dpblR5cGVDaGFuZ2VkIixWdD0iYW5vbnltb3VzQ29udmVydGVkIixLdD0icmVmcmVzaEFjY2Vzc1Rva2VuIjshZnVuY3Rpb24odCl7dC5BTk9OWU1PVVM9IkFOT05ZTU9VUyIsdC5XRUNIQVQ9IldFQ0hBVCIsdC5XRUNIQVRfUFVCTElDPSJXRUNIQVQtUFVCTElDIix0LldFQ0hBVF9PUEVOPSJXRUNIQVQtT1BFTiIsdC5DVVNUT009IkNVU1RPTSIsdC5FTUFJTD0iRU1BSUwiLHQuVVNFUk5BTUU9IlVTRVJOQU1FIix0Lk5VTEw9Ik5VTEwifShKdHx8KEp0PXt9KSk7dmFyICR0PWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpeygwLHUuZGVmYXVsdCkodGhpcyx0KSx0aGlzLl9mblByb21pc2VNYXA9bmV3IE1hcH1yZXR1cm4oMCxoLmRlZmF1bHQpKHQsW3trZXk6InJ1biIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgdD0oMCxzLmRlZmF1bHQpKCgwLGMuZGVmYXVsdCkoKS5tYXJrKChmdW5jdGlvbiB0KGEsaSl7dmFyIGUsbj10aGlzO3JldHVybigwLGMuZGVmYXVsdCkoKS53cmFwKChmdW5jdGlvbih0KXt3aGlsZSgxKXN3aXRjaCh0LnByZXY9dC5uZXh0KXtjYXNlIDA6cmV0dXJuIGU9dGhpcy5fZm5Qcm9taXNlTWFwLmdldChhKSx0LmFicnVwdCgicmV0dXJuIiwoZXx8KGU9bmV3IFByb21pc2UoZnVuY3Rpb24oKXt2YXIgdD0oMCxzLmRlZmF1bHQpKCgwLGMuZGVmYXVsdCkoKS5tYXJrKChmdW5jdGlvbiB0KGUscil7dmFyIG87cmV0dXJuKDAsYy5kZWZhdWx0KSgpLndyYXAoKGZ1bmN0aW9uKHQpe3doaWxlKDEpc3dpdGNoKHQucHJldj10Lm5leHQpe2Nhc2UgMDpyZXR1cm4gdC5wcmV2PTAsdC5uZXh0PTMsbi5fcnVuSWRsZVByb21pc2UoKTtjYXNlIDM6cmV0dXJuIG89aSgpLHQudDA9ZSx0Lm5leHQ9NyxvO2Nhc2UgNzp0LnQxPXQuc2VudCwoMCx0LnQwKSh0LnQxKSx0Lm5leHQ9MTQ7YnJlYWs7Y2FzZSAxMTp0LnByZXY9MTEsdC50Mj10WyJjYXRjaCJdKDApLHIodC50Mik7Y2FzZSAxNDpyZXR1cm4gdC5wcmV2PTE0LG4uX2ZuUHJvbWlzZU1hcC5kZWxldGUoYSksdC5maW5pc2goMTQpO2Nhc2UgMTc6Y2FzZSJlbmQiOnJldHVybiB0LnN0b3AoKX19KSx0LG51bGwsW1swLDExLDE0LDE3XV0pfSkpKTtyZXR1cm4gZnVuY3Rpb24oYSxpKXtyZXR1cm4gdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSgpKSx0aGlzLl9mblByb21pc2VNYXAuc2V0KGEsZSkpLGUpKTtjYXNlIDI6Y2FzZSJlbmQiOnJldHVybiB0LnN0b3AoKX19KSx0LHRoaXMpfSkpKTtyZXR1cm4gZnVuY3Rpb24oYSxpKXtyZXR1cm4gdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSgpfSx7a2V5OiJfcnVuSWRsZVByb21pc2UiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIFByb21pc2UucmVzb2x2ZSgpfX1dKSx0fSgpLHRhPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdChhKXsoMCx1LmRlZmF1bHQpKHRoaXMsdCksdGhpcy5fc2luZ2xlUHJvbWlzZT1uZXcgJHQsdGhpcy5fY2FjaGU9anQoYS5lbnYpLHRoaXMuX2Jhc2VVUkw9Imh0dHBzOi8vIi5jb25jYXQoYS5lbnYsIi5hcC1zaGFuZ2hhaS50Y2ItYXBpLnRlbmNlbnRjbG91ZGFwaS5jb20iKSx0aGlzLl9yZXFDbGFzcz1uZXcgTHQuYWRhcHRlci5yZXFDbGFzcyh7dGltZW91dDphLnRpbWVvdXQsdGltZW91dE1zZzoi6K+35rGC5ZyoIi5jb25jYXQoYS50aW1lb3V0LzFlMywic+WGheacquWujOaIkO+8jOW3suS4reaWrSIpLHJlc3RyaWN0ZWRNZXRob2RzOlsicG9zdCJdfSl9cmV0dXJuKDAsaC5kZWZhdWx0KSh0LFt7a2V5OiJfZ2V0RGV2aWNlSWQiLHZhbHVlOmZ1bmN0aW9uKCl7aWYodGhpcy5fZGV2aWNlSUQpcmV0dXJuIHRoaXMuX2RldmljZUlEO3ZhciB0PXRoaXMuX2NhY2hlLmtleXMuZGV2aWNlSWRLZXksYT10aGlzLl9jYWNoZS5nZXRTdG9yZSh0KTtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGEmJmEubGVuZ3RoPj0xNiYmYS5sZW5ndGg8PTQ4fHwoYT1FdCgpLHRoaXMuX2NhY2hlLnNldFN0b3JlKHQsYSkpLHRoaXMuX2RldmljZUlEPWEsYX19LHtrZXk6Il9yZXF1ZXN0Iix2YWx1ZTpmdW5jdGlvbigpe3ZhciB0PSgwLHMuZGVmYXVsdCkoKDAsYy5kZWZhdWx0KSgpLm1hcmsoKGZ1bmN0aW9uIHQoYSxpKXt2YXIgZSxuLHIsbyxkLHA9YXJndW1lbnRzO3JldHVybigwLGMuZGVmYXVsdCkoKS53cmFwKChmdW5jdGlvbih0KXt3aGlsZSgxKXN3aXRjaCh0LnByZXY9dC5uZXh0KXtjYXNlIDA6aWYoZT1wLmxlbmd0aD4yJiZ2b2lkIDAhPT1wWzJdP3BbMl06e30sbj17IngtcmVxdWVzdC1pZCI6RXQoKSwieC1kZXZpY2UtaWQiOnRoaXMuX2dldERldmljZUlkKCl9LCFlLndpdGhBY2Nlc3NUb2tlbil7dC5uZXh0PTk7YnJlYWt9cmV0dXJuIHI9dGhpcy5fY2FjaGUua2V5cy50b2tlblR5cGVLZXksdC5uZXh0PTYsdGhpcy5nZXRBY2Nlc3NUb2tlbigpO2Nhc2UgNjpvPXQuc2VudCxkPXRoaXMuX2NhY2hlLmdldFN0b3JlKHIpLG4uYXV0aG9yaXphdGlvbj0iIi5jb25jYXQoZCwiICIpLmNvbmNhdChvKTtjYXNlIDk6cmV0dXJuIHQuYWJydXB0KCJyZXR1cm4iLHRoaXMuX3JlcUNsYXNzWyJnZXQiPT09ZS5tZXRob2Q/ImdldCI6InBvc3QiXSh7dXJsOiIiLmNvbmNhdCh0aGlzLl9iYXNlVVJMKS5jb25jYXQoYSksZGF0YTppLGhlYWRlcnM6bn0pKTtjYXNlIDEwOmNhc2UiZW5kIjpyZXR1cm4gdC5zdG9wKCl9fSksdCx0aGlzKX0pKSk7cmV0dXJuIGZ1bmN0aW9uKGEsaSl7cmV0dXJuIHQuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0oKX0se2tleToiX2ZldGNoQWNjZXNzVG9rZW4iLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIHQ9KDAscy5kZWZhdWx0KSgoMCxjLmRlZmF1bHQpKCkubWFyaygoZnVuY3Rpb24gdCgpe3ZhciBhLGksZSxuLHIsbyxkLHAsbCxtLGY9dGhpcztyZXR1cm4oMCxjLmRlZmF1bHQpKCkud3JhcCgoZnVuY3Rpb24odCl7d2hpbGUoMSlzd2l0Y2godC5wcmV2PXQubmV4dCl7Y2FzZSAwOmlmKGE9dGhpcy5fY2FjaGUua2V5cyxpPWEubG9naW5UeXBlS2V5LGU9YS5hY2Nlc3NUb2tlbktleSxuPWEuYWNjZXNzVG9rZW5FeHBpcmVLZXkscj1hLnRva2VuVHlwZUtleSxvPXRoaXMuX2NhY2hlLmdldFN0b3JlKGkpLCFvfHxvPT09SnQuQU5PTllNT1VTKXt0Lm5leHQ9MzticmVha310aHJvdyBuZXcgY3Qoe2NvZGU6IklOVkFMSURfT1BFUkFUSU9OIixtZXNzYWdlOiLpnZ7ljL/lkI3nmbvlvZXkuI3mlK/mjIHliLfmlrAgYWNjZXNzIHRva2VuIn0pO2Nhc2UgMzpyZXR1cm4gdC5uZXh0PTUsdGhpcy5fc2luZ2xlUHJvbWlzZS5ydW4oImZldGNoQWNjZXNzVG9rZW4iLCgwLHMuZGVmYXVsdCkoKDAsYy5kZWZhdWx0KSgpLm1hcmsoKGZ1bmN0aW9uIHQoKXtyZXR1cm4oMCxjLmRlZmF1bHQpKCkud3JhcCgoZnVuY3Rpb24odCl7d2hpbGUoMSlzd2l0Y2godC5wcmV2PXQubmV4dCl7Y2FzZSAwOnJldHVybiB0Lm5leHQ9MixmLl9yZXF1ZXN0KCIvYXV0aC92MS9zaWduaW4vYW5vbnltb3VzbHkiLHt9LHttZXRob2Q6InBvc3QifSk7Y2FzZSAyOnJldHVybiB0LmFicnVwdCgicmV0dXJuIix0LnNlbnQuZGF0YSk7Y2FzZSAzOmNhc2UiZW5kIjpyZXR1cm4gdC5zdG9wKCl9fSksdCl9KSkpKTtjYXNlIDU6cmV0dXJuIGQ9dC5zZW50LHA9ZC5hY2Nlc3NfdG9rZW4sbD1kLmV4cGlyZXNfaW4sbT1kLnRva2VuX3R5cGUsdC5hYnJ1cHQoInJldHVybiIsKHRoaXMuX2NhY2hlLnNldFN0b3JlKHIsbSksdGhpcy5fY2FjaGUuc2V0U3RvcmUoZSxwKSx0aGlzLl9jYWNoZS5zZXRTdG9yZShuLERhdGUubm93KCkrMWUzKmwpLHApKTtjYXNlIDEwOmNhc2UiZW5kIjpyZXR1cm4gdC5zdG9wKCl9fSksdCx0aGlzKX0pKSk7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHQuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0oKX0se2tleToiaXNBY2Nlc3NUb2tlbkV4cGlyZWQiLHZhbHVlOmZ1bmN0aW9uKHQsYSl7dmFyIGk9ITA7cmV0dXJuIHQmJmEmJihpPWE8RGF0ZS5ub3coKSksaX19LHtrZXk6ImdldEFjY2Vzc1Rva2VuIix2YWx1ZTpmdW5jdGlvbigpe3ZhciB0PSgwLHMuZGVmYXVsdCkoKDAsYy5kZWZhdWx0KSgpLm1hcmsoKGZ1bmN0aW9uIHQoKXt2YXIgYSxpLGUsbixyO3JldHVybigwLGMuZGVmYXVsdCkoKS53cmFwKChmdW5jdGlvbih0KXt3aGlsZSgxKXN3aXRjaCh0LnByZXY9dC5uZXh0KXtjYXNlIDA6cmV0dXJuIGE9dGhpcy5fY2FjaGUua2V5cyxpPWEuYWNjZXNzVG9rZW5LZXksZT1hLmFjY2Vzc1Rva2VuRXhwaXJlS2V5LG49dGhpcy5fY2FjaGUuZ2V0U3RvcmUoaSkscj10aGlzLl9jYWNoZS5nZXRTdG9yZShlKSx0LmFicnVwdCgicmV0dXJuIix0aGlzLmlzQWNjZXNzVG9rZW5FeHBpcmVkKG4scik/dGhpcy5fZmV0Y2hBY2Nlc3NUb2tlbigpOm4pO2Nhc2UgMjpjYXNlImVuZCI6cmV0dXJuIHQuc3RvcCgpfX0pLHQsdGhpcyl9KSkpO3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX19KCl9LHtrZXk6InJlZnJlc2hBY2Nlc3NUb2tlbiIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgdD0oMCxzLmRlZmF1bHQpKCgwLGMuZGVmYXVsdCkoKS5tYXJrKChmdW5jdGlvbiB0KCl7dmFyIGEsaSxlLG47cmV0dXJuKDAsYy5kZWZhdWx0KSgpLndyYXAoKGZ1bmN0aW9uKHQpe3doaWxlKDEpc3dpdGNoKHQucHJldj10Lm5leHQpe2Nhc2UgMDpyZXR1cm4gYT10aGlzLl9jYWNoZS5rZXlzLGk9YS5hY2Nlc3NUb2tlbktleSxlPWEuYWNjZXNzVG9rZW5FeHBpcmVLZXksbj1hLmxvZ2luVHlwZUtleSx0LmFicnVwdCgicmV0dXJuIiwodGhpcy5fY2FjaGUucmVtb3ZlU3RvcmUoaSksdGhpcy5fY2FjaGUucmVtb3ZlU3RvcmUoZSksdGhpcy5fY2FjaGUuc2V0U3RvcmUobixKdC5BTk9OWU1PVVMpLHRoaXMuZ2V0QWNjZXNzVG9rZW4oKSkpO2Nhc2UgMjpjYXNlImVuZCI6cmV0dXJuIHQuc3RvcCgpfX0pLHQsdGhpcyl9KSkpO3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX19KCl9LHtrZXk6ImdldFVzZXJJbmZvIix2YWx1ZTpmdW5jdGlvbigpe3ZhciB0PSgwLHMuZGVmYXVsdCkoKDAsYy5kZWZhdWx0KSgpLm1hcmsoKGZ1bmN0aW9uIHQoKXt2YXIgYT10aGlzO3JldHVybigwLGMuZGVmYXVsdCkoKS53cmFwKChmdW5jdGlvbih0KXt3aGlsZSgxKXN3aXRjaCh0LnByZXY9dC5uZXh0KXtjYXNlIDA6cmV0dXJuIHQuYWJydXB0KCJyZXR1cm4iLHRoaXMuX3NpbmdsZVByb21pc2UucnVuKCJnZXRVc2VySW5mbyIsKDAscy5kZWZhdWx0KSgoMCxjLmRlZmF1bHQpKCkubWFyaygoZnVuY3Rpb24gdCgpe3JldHVybigwLGMuZGVmYXVsdCkoKS53cmFwKChmdW5jdGlvbih0KXt3aGlsZSgxKXN3aXRjaCh0LnByZXY9dC5uZXh0KXtjYXNlIDA6cmV0dXJuIHQubmV4dD0yLGEuX3JlcXVlc3QoIi9hdXRoL3YxL3VzZXIvbWUiLHt9LHt3aXRoQWNjZXNzVG9rZW46ITAsbWV0aG9kOiJnZXQifSk7Y2FzZSAyOnJldHVybiB0LmFicnVwdCgicmV0dXJuIix0LnNlbnQuZGF0YSk7Y2FzZSAzOmNhc2UiZW5kIjpyZXR1cm4gdC5zdG9wKCl9fSksdCl9KSkpKSk7Y2FzZSAxOmNhc2UiZW5kIjpyZXR1cm4gdC5zdG9wKCl9fSksdCx0aGlzKX0pKSk7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHQuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0oKX1dKSx0fSgpLGFhPVsiYXV0aC5nZXRKd3QiLCJhdXRoLmxvZ291dCIsImF1dGguc2lnbkluV2l0aFRpY2tldCIsImF1dGguc2lnbkluQW5vbnltb3VzbHkiLCJhdXRoLnNpZ25JbiIsImF1dGguZmV0Y2hBY2Nlc3NUb2tlbldpdGhSZWZyZXNoVG9rZW4iLCJhdXRoLnNpZ25VcFdpdGhFbWFpbEFuZFBhc3N3b3JkIiwiYXV0aC5hY3RpdmF0ZUVuZFVzZXJNYWlsIiwiYXV0aC5zZW5kUGFzc3dvcmRSZXNldEVtYWlsIiwiYXV0aC5yZXNldFBhc3N3b3JkV2l0aFRva2VuIiwiYXV0aC5pc1VzZXJuYW1lUmVnaXN0ZXJlZCJdLGlhPXsiWC1TREstVmVyc2lvbiI6IjEuMy41In07ZnVuY3Rpb24gZWEodCxhLGkpe3ZhciBlPXRbYV07dFthXT1mdW5jdGlvbihhKXt2YXIgbj17fSxyPXt9O2kuZm9yRWFjaCgoZnVuY3Rpb24oaSl7dmFyIGU9aS5jYWxsKHQsYSksbz1lLmRhdGEsZD1lLmhlYWRlcnM7T2JqZWN0LmFzc2lnbihuLG8pLE9iamVjdC5hc3NpZ24ocixkKX0pKTt2YXIgbz1hLmRhdGE7cmV0dXJuIG8mJmZ1bmN0aW9uKCl7dmFyIHQ7aWYodD1vLCJbb2JqZWN0IEZvcm1EYXRhXSIhPT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodCkpYS5kYXRhPSgwLGwuZGVmYXVsdCkoKDAsbC5kZWZhdWx0KSh7fSxvKSxuKTtlbHNlIGZvcih2YXIgaSBpbiBuKW8uYXBwZW5kKGksbltpXSl9KCksYS5oZWFkZXJzPSgwLGwuZGVmYXVsdCkoKDAsbC5kZWZhdWx0KSh7fSxhLmhlYWRlcnN8fHt9KSxyKSxlLmNhbGwodCxhKX19ZnVuY3Rpb24gbmEoKXt2YXIgdD1NYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDE2KS5zbGljZSgyKTtyZXR1cm57ZGF0YTp7c2VxSWQ6dH0saGVhZGVyczooMCxsLmRlZmF1bHQpKCgwLGwuZGVmYXVsdCkoe30saWEpLHt9LHsieC1zZXFpZCI6dH0pfX12YXIgcmE9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7dmFyIGEsaT1hcmd1bWVudHMubGVuZ3RoPjAmJnZvaWQgMCE9PWFyZ3VtZW50c1swXT9hcmd1bWVudHNbMF06e307KDAsdS5kZWZhdWx0KSh0aGlzLHQpLHRoaXMuY29uZmlnPWksdGhpcy5fcmVxQ2xhc3M9bmV3IEx0LmFkYXB0ZXIucmVxQ2xhc3Moe3RpbWVvdXQ6dGhpcy5jb25maWcudGltZW91dCx0aW1lb3V0TXNnOiLor7fmsYLlnKgiLmNvbmNhdCh0aGlzLmNvbmZpZy50aW1lb3V0LzFlMywic+WGheacquWujOaIkO+8jOW3suS4reaWrSIpLHJlc3RyaWN0ZWRNZXRob2RzOlsicG9zdCJdfSksdGhpcy5fY2FjaGU9anQodGhpcy5jb25maWcuZW52KSx0aGlzLl9sb2NhbENhY2hlPShhPXRoaXMuY29uZmlnLmVudixfdFthXSksdGhpcy5vYXV0aD1uZXcgdGEodGhpcy5jb25maWcpLGVhKHRoaXMuX3JlcUNsYXNzLCJwb3N0IixbbmFdKSxlYSh0aGlzLl9yZXFDbGFzcywidXBsb2FkIixbbmFdKSxlYSh0aGlzLl9yZXFDbGFzcywiZG93bmxvYWQiLFtuYV0pfXJldHVybigwLGguZGVmYXVsdCkodCxbe2tleToicG9zdCIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgdD0oMCxzLmRlZmF1bHQpKCgwLGMuZGVmYXVsdCkoKS5tYXJrKChmdW5jdGlvbiB0KGEpe3JldHVybigwLGMuZGVmYXVsdCkoKS53cmFwKChmdW5jdGlvbih0KXt3aGlsZSgxKXN3aXRjaCh0LnByZXY9dC5uZXh0KXtjYXNlIDA6cmV0dXJuIHQubmV4dD0yLHRoaXMuX3JlcUNsYXNzLnBvc3QoYSk7Y2FzZSAyOnJldHVybiB0LmFicnVwdCgicmV0dXJuIix0LnNlbnQpO2Nhc2UgMzpjYXNlImVuZCI6cmV0dXJuIHQuc3RvcCgpfX0pLHQsdGhpcyl9KSkpO3JldHVybiBmdW5jdGlvbihhKXtyZXR1cm4gdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSgpfSx7a2V5OiJ1cGxvYWQiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIHQ9KDAscy5kZWZhdWx0KSgoMCxjLmRlZmF1bHQpKCkubWFyaygoZnVuY3Rpb24gdChhKXtyZXR1cm4oMCxjLmRlZmF1bHQpKCkud3JhcCgoZnVuY3Rpb24odCl7d2hpbGUoMSlzd2l0Y2godC5wcmV2PXQubmV4dCl7Y2FzZSAwOnJldHVybiB0Lm5leHQ9Mix0aGlzLl9yZXFDbGFzcy51cGxvYWQoYSk7Y2FzZSAyOnJldHVybiB0LmFicnVwdCgicmV0dXJuIix0LnNlbnQpO2Nhc2UgMzpjYXNlImVuZCI6cmV0dXJuIHQuc3RvcCgpfX0pLHQsdGhpcyl9KSkpO3JldHVybiBmdW5jdGlvbihhKXtyZXR1cm4gdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSgpfSx7a2V5OiJkb3dubG9hZCIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgdD0oMCxzLmRlZmF1bHQpKCgwLGMuZGVmYXVsdCkoKS5tYXJrKChmdW5jdGlvbiB0KGEpe3JldHVybigwLGMuZGVmYXVsdCkoKS53cmFwKChmdW5jdGlvbih0KXt3aGlsZSgxKXN3aXRjaCh0LnByZXY9dC5uZXh0KXtjYXNlIDA6cmV0dXJuIHQubmV4dD0yLHRoaXMuX3JlcUNsYXNzLmRvd25sb2FkKGEpO2Nhc2UgMjpyZXR1cm4gdC5hYnJ1cHQoInJldHVybiIsdC5zZW50KTtjYXNlIDM6Y2FzZSJlbmQiOnJldHVybiB0LnN0b3AoKX19KSx0LHRoaXMpfSkpKTtyZXR1cm4gZnVuY3Rpb24oYSl7cmV0dXJuIHQuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0oKX0se2tleToicmVmcmVzaEFjY2Vzc1Rva2VuIix2YWx1ZTpmdW5jdGlvbigpe3ZhciB0PSgwLHMuZGVmYXVsdCkoKDAsYy5kZWZhdWx0KSgpLm1hcmsoKGZ1bmN0aW9uIHQoKXt2YXIgYSxpO3JldHVybigwLGMuZGVmYXVsdCkoKS53cmFwKChmdW5jdGlvbih0KXt3aGlsZSgxKXN3aXRjaCh0LnByZXY9dC5uZXh0KXtjYXNlIDA6cmV0dXJuIHRoaXMuX3JlZnJlc2hBY2Nlc3NUb2tlblByb21pc2V8fCh0aGlzLl9yZWZyZXNoQWNjZXNzVG9rZW5Qcm9taXNlPXRoaXMuX3JlZnJlc2hBY2Nlc3NUb2tlbigpKSx0LnByZXY9MSx0Lm5leHQ9NCx0aGlzLl9yZWZyZXNoQWNjZXNzVG9rZW5Qcm9taXNlO2Nhc2UgNDphPXQuc2VudCx0Lm5leHQ9MTA7YnJlYWs7Y2FzZSA3OnQucHJldj03LHQudDA9dFsiY2F0Y2giXSgxKSxpPXQudDA7Y2FzZSAxMDppZih0aGlzLl9yZWZyZXNoQWNjZXNzVG9rZW5Qcm9taXNlPW51bGwsdGhpcy5fc2hvdWxkUmVmcmVzaEFjY2Vzc1Rva2VuSG9vaz1udWxsLCFpKXt0Lm5leHQ9MTI7YnJlYWt9dGhyb3cgaTtjYXNlIDEyOnJldHVybiB0LmFicnVwdCgicmV0dXJuIixhKTtjYXNlIDEzOmNhc2UiZW5kIjpyZXR1cm4gdC5zdG9wKCl9fSksdCx0aGlzLFtbMSw3XV0pfSkpKTtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSgpfSx7a2V5OiJfcmVmcmVzaEFjY2Vzc1Rva2VuIix2YWx1ZTpmdW5jdGlvbigpe3ZhciB0PSgwLHMuZGVmYXVsdCkoKDAsYy5kZWZhdWx0KSgpLm1hcmsoKGZ1bmN0aW9uIHQoKXt2YXIgYSxpLGUsbixyLG8sZCxwLHMsbCxtLGYsZztyZXR1cm4oMCxjLmRlZmF1bHQpKCkud3JhcCgoZnVuY3Rpb24odCl7d2hpbGUoMSlzd2l0Y2godC5wcmV2PXQubmV4dCl7Y2FzZSAwOmlmKGE9dGhpcy5fY2FjaGUua2V5cyxpPWEuYWNjZXNzVG9rZW5LZXksZT1hLmFjY2Vzc1Rva2VuRXhwaXJlS2V5LG49YS5yZWZyZXNoVG9rZW5LZXkscj1hLmxvZ2luVHlwZUtleSxvPWEuYW5vbnltb3VzVXVpZEtleSx0aGlzLl9jYWNoZS5yZW1vdmVTdG9yZShpKSx0aGlzLl9jYWNoZS5yZW1vdmVTdG9yZShlKSxkPXRoaXMuX2NhY2hlLmdldFN0b3JlKG4pLGQpe3QubmV4dD01O2JyZWFrfXRocm93IG5ldyBjdCh7bWVzc2FnZToi5pyq55m75b2VQ2xvdWRCYXNlIn0pO2Nhc2UgNTpyZXR1cm4gcD17cmVmcmVzaF90b2tlbjpkfSx0Lm5leHQ9OCx0aGlzLnJlcXVlc3QoImF1dGguZmV0Y2hBY2Nlc3NUb2tlbldpdGhSZWZyZXNoVG9rZW4iLHApO2Nhc2UgODppZihzPXQuc2VudCwhcy5kYXRhLmNvZGUpe3QubmV4dD0yMTticmVha31pZihsPXMuZGF0YS5jb2RlLCJTSUdOX1BBUkFNX0lOVkFMSUQiIT09bCYmIlJFRlJFU0hfVE9LRU5fRVhQSVJFRCIhPT1sJiYiSU5WQUxJRF9SRUZSRVNIX1RPS0VOIiE9PWwpe3QubmV4dD0yMDticmVha31pZih0aGlzLl9jYWNoZS5nZXRTdG9yZShyKSE9PUp0LkFOT05ZTU9VU3x8IklOVkFMSURfUkVGUkVTSF9UT0tFTiIhPT1sKXt0Lm5leHQ9MTk7YnJlYWt9cmV0dXJuIG09dGhpcy5fY2FjaGUuZ2V0U3RvcmUobyksZj10aGlzLl9jYWNoZS5nZXRTdG9yZShuKSx0Lm5leHQ9MTcsdGhpcy5zZW5kKCJhdXRoLnNpZ25JbkFub255bW91c2x5Iix7YW5vbnltb3VzX3V1aWQ6bSxyZWZyZXNoX3Rva2VuOmZ9KTtjYXNlIDE3OnJldHVybiBnPXQuc2VudCx0LmFicnVwdCgicmV0dXJuIiwodGhpcy5zZXRSZWZyZXNoVG9rZW4oZy5yZWZyZXNoX3Rva2VuKSx0aGlzLl9yZWZyZXNoQWNjZXNzVG9rZW4oKSkpO2Nhc2UgMTk6WnQoWHQpLHRoaXMuX2NhY2hlLnJlbW92ZVN0b3JlKG4pO2Nhc2UgMjA6dGhyb3cgbmV3IGN0KHtjb2RlOnMuZGF0YS5jb2RlLG1lc3NhZ2U6IuWIt+aWsGFjY2VzcyB0b2tlbuWksei0pe+8miIuY29uY2F0KHMuZGF0YS5jb2RlKX0pO2Nhc2UgMjE6aWYoIXMuZGF0YS5hY2Nlc3NfdG9rZW4pe3QubmV4dD0yMzticmVha31yZXR1cm4gdC5hYnJ1cHQoInJldHVybiIsKFp0KEt0KSx0aGlzLl9jYWNoZS5zZXRTdG9yZShpLHMuZGF0YS5hY2Nlc3NfdG9rZW4pLHRoaXMuX2NhY2hlLnNldFN0b3JlKGUscy5kYXRhLmFjY2Vzc190b2tlbl9leHBpcmUrRGF0ZS5ub3coKSkse2FjY2Vzc1Rva2VuOnMuZGF0YS5hY2Nlc3NfdG9rZW4sYWNjZXNzVG9rZW5FeHBpcmU6cy5kYXRhLmFjY2Vzc190b2tlbl9leHBpcmV9KSk7Y2FzZSAyMzpzLmRhdGEucmVmcmVzaF90b2tlbiYmKHRoaXMuX2NhY2hlLnJlbW92ZVN0b3JlKG4pLHRoaXMuX2NhY2hlLnNldFN0b3JlKG4scy5kYXRhLnJlZnJlc2hfdG9rZW4pLHRoaXMuX3JlZnJlc2hBY2Nlc3NUb2tlbigpKTtjYXNlIDI0OmNhc2UiZW5kIjpyZXR1cm4gdC5zdG9wKCl9fSksdCx0aGlzKX0pKSk7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHQuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0oKX0se2tleToiZ2V0QWNjZXNzVG9rZW4iLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIHQ9KDAscy5kZWZhdWx0KSgoMCxjLmRlZmF1bHQpKCkubWFyaygoZnVuY3Rpb24gdCgpe3ZhciBhLGksZSxuLHIsbyxkO3JldHVybigwLGMuZGVmYXVsdCkoKS53cmFwKChmdW5jdGlvbih0KXt3aGlsZSgxKXN3aXRjaCh0LnByZXY9dC5uZXh0KXtjYXNlIDA6aWYoYT10aGlzLl9jYWNoZS5rZXlzLGk9YS5hY2Nlc3NUb2tlbktleSxlPWEuYWNjZXNzVG9rZW5FeHBpcmVLZXksbj1hLnJlZnJlc2hUb2tlbktleSx0aGlzLl9jYWNoZS5nZXRTdG9yZShuKSl7dC5uZXh0PTM7YnJlYWt9dGhyb3cgbmV3IGN0KHttZXNzYWdlOiJyZWZyZXNoIHRva2Vu5LiN5a2Y5Zyo77yM55m75b2V54q25oCB5byC5bi4In0pO2Nhc2UgMzppZihyPXRoaXMuX2NhY2hlLmdldFN0b3JlKGkpLG89dGhpcy5fY2FjaGUuZ2V0U3RvcmUoZSksZD0hMCx0LnQwPXRoaXMuX3Nob3VsZFJlZnJlc2hBY2Nlc3NUb2tlbkhvb2ssIXQudDApe3QubmV4dD05O2JyZWFrfXJldHVybiB0Lm5leHQ9OCx0aGlzLl9zaG91bGRSZWZyZXNoQWNjZXNzVG9rZW5Ib29rKHIsbyk7Y2FzZSA4OnQudDA9IXQuc2VudDtjYXNlIDk6aWYodC50MT10LnQwLCF0LnQxKXt0Lm5leHQ9MTI7YnJlYWt9ZD0hMTtjYXNlIDEyOnJldHVybiB0LmFicnVwdCgicmV0dXJuIiwoIXJ8fCFvfHxvPERhdGUubm93KCkpJiZkP3RoaXMucmVmcmVzaEFjY2Vzc1Rva2VuKCk6e2FjY2Vzc1Rva2VuOnIsYWNjZXNzVG9rZW5FeHBpcmU6b30pO2Nhc2UgMTM6Y2FzZSJlbmQiOnJldHVybiB0LnN0b3AoKX19KSx0LHRoaXMpfSkpKTtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSgpfSx7a2V5OiJyZXF1ZXN0Iix2YWx1ZTpmdW5jdGlvbigpe3ZhciB0PSgwLHMuZGVmYXVsdCkoKDAsYy5kZWZhdWx0KSgpLm1hcmsoKGZ1bmN0aW9uIHQoYSxpLGUpe3ZhciBuLHIsbyxkLHAscyxtLGYsZyx1LGgsdixiLHgseTtyZXR1cm4oMCxjLmRlZmF1bHQpKCkud3JhcCgoZnVuY3Rpb24odCl7d2hpbGUoMSlzd2l0Y2godC5wcmV2PXQubmV4dCl7Y2FzZSAwOmlmKG49IngtdGNiLXRyYWNlXyIuY29uY2F0KHRoaXMuY29uZmlnLmVudikscj0iYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIixvPSgwLGwuZGVmYXVsdCkoe2FjdGlvbjphLGVudjp0aGlzLmNvbmZpZy5lbnYsZGF0YVZlcnNpb246IjIwMTktMDgtMTYifSxpKSx0LnQwPS0xPT09YWEuaW5kZXhPZihhKSwhdC50MCl7dC5uZXh0PTk7YnJlYWt9cmV0dXJuIHRoaXMuX2NhY2hlLmtleXMsdC5uZXh0PTgsdGhpcy5vYXV0aC5nZXRBY2Nlc3NUb2tlbigpO2Nhc2UgODpvLmFjY2Vzc190b2tlbj10LnNlbnQ7Y2FzZSA5OmlmKCJzdG9yYWdlLnVwbG9hZEZpbGUiIT09YSl7dC5uZXh0PTE1O2JyZWFrfWZvcihwIGluIGQ9bmV3IEZvcm1EYXRhLGQpZC5oYXNPd25Qcm9wZXJ0eShwKSYmdm9pZCAwIT09ZFtwXSYmZC5hcHBlbmQocCxvW3BdKTtyPSJtdWx0aXBhcnQvZm9ybS1kYXRhIix0Lm5leHQ9MTc7YnJlYWs7Y2FzZSAxNTpmb3IocyBpbiByPSJhcHBsaWNhdGlvbi9qc29uIixkPXt9LG8pdm9pZCAwIT09b1tzXSYmKGRbc109b1tzXSk7Y2FzZSAxNzpyZXR1cm4gbT17aGVhZGVyczp7ImNvbnRlbnQtdHlwZSI6cn19LGUmJmUudGltZW91dCYmKG0udGltZW91dD1lLnRpbWVvdXQpLGUmJmUub25VcGxvYWRQcm9ncmVzcyYmKG0ub25VcGxvYWRQcm9ncmVzcz1lLm9uVXBsb2FkUHJvZ3Jlc3MpLGY9dGhpcy5fbG9jYWxDYWNoZS5nZXRTdG9yZShuKSxmJiYobS5oZWFkZXJzWyJYLVRDQi1UcmFjZSJdPWYpLGc9aS5wYXJzZSx1PWkuaW5RdWVyeSxoPWkuc2VhcmNoLHY9e2Vudjp0aGlzLmNvbmZpZy5lbnZ9LGcmJih2LnBhcnNlPSEwKSx1JiYodj0oMCxsLmRlZmF1bHQpKCgwLGwuZGVmYXVsdCkoe30sdSksdikpLGI9ZnVuY3Rpb24odCxhKXt2YXIgaT1hcmd1bWVudHMubGVuZ3RoPjImJnZvaWQgMCE9PWFyZ3VtZW50c1syXT9hcmd1bWVudHNbMl06e30sZT0vXD8vLnRlc3QoYSksbj0iIjtmb3IodmFyIHIgaW4gaSkiIj09PW4/IWUmJihhKz0iPyIpOm4rPSImIixuKz0iIi5jb25jYXQociwiPSIpLmNvbmNhdChlbmNvZGVVUklDb21wb25lbnQoaVtyXSkpO3JldHVybi9eaHR0cChzKT9cOlwvXC8vLnRlc3QoYSs9bik/YToiIi5jb25jYXQodCkuY29uY2F0KGEpfSh3dCwiLy90Y2ItYXBpLnRlbmNlbnRjbG91ZGFwaS5jb20vd2ViIix2KSxoJiYoYis9aCksdC5uZXh0PTI4LHRoaXMucG9zdCgoMCxsLmRlZmF1bHQpKHt1cmw6YixkYXRhOmR9LG0pKTtjYXNlIDI4OmlmKHg9dC5zZW50LHk9eC5oZWFkZXImJnguaGVhZGVyWyJ4LXRjYi10cmFjZSJdLHkmJnRoaXMuX2xvY2FsQ2FjaGUuc2V0U3RvcmUobix5KSwoMjAwPT09TnVtYmVyKHguc3RhdHVzKXx8MjAwPT09TnVtYmVyKHguc3RhdHVzQ29kZSkpJiZ4LmRhdGEpe3QubmV4dD0zMjticmVha310aHJvdyBuZXcgY3Qoe2NvZGU6Ik5FVFdPUktfRVJST1IiLG1lc3NhZ2U6Im5ldHdvcmsgcmVxdWVzdCBlcnJvciJ9KTtjYXNlIDMyOnJldHVybiB0LmFicnVwdCgicmV0dXJuIix4KTtjYXNlIDMzOmNhc2UiZW5kIjpyZXR1cm4gdC5zdG9wKCl9fSksdCx0aGlzKX0pKSk7cmV0dXJuIGZ1bmN0aW9uKGEsaSxlKXtyZXR1cm4gdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSgpfSx7a2V5OiJzZW5kIix2YWx1ZTpmdW5jdGlvbigpe3ZhciB0PSgwLHMuZGVmYXVsdCkoKDAsYy5kZWZhdWx0KSgpLm1hcmsoKGZ1bmN0aW9uIHQoYSl7dmFyIGksZSxuLHIsbz1hcmd1bWVudHM7cmV0dXJuKDAsYy5kZWZhdWx0KSgpLndyYXAoKGZ1bmN0aW9uKHQpe3doaWxlKDEpc3dpdGNoKHQucHJldj10Lm5leHQpe2Nhc2UgMDpyZXR1cm4gaT1vLmxlbmd0aD4xJiZ2b2lkIDAhPT1vWzFdP29bMV06e30sZT1vLmxlbmd0aD4yJiZ2b2lkIDAhPT1vWzJdP29bMl06e30sdC5uZXh0PTQsdGhpcy5yZXF1ZXN0KGEsaSwoMCxsLmRlZmF1bHQpKCgwLGwuZGVmYXVsdCkoe30sZSkse30se29uVXBsb2FkUHJvZ3Jlc3M6aS5vblVwbG9hZFByb2dyZXNzfSkpO2Nhc2UgNDppZihuPXQuc2VudCwiQUNDRVNTX1RPS0VOX0RJU0FCTEVEIiE9PW4uZGF0YS5jb2RlJiYiQUNDRVNTX1RPS0VOX0VYUElSRUQiIT09bi5kYXRhLmNvZGV8fC0xIT09YWEuaW5kZXhPZihhKSl7dC5uZXh0PTE0O2JyZWFrfXJldHVybiB0Lm5leHQ9OCx0aGlzLm9hdXRoLnJlZnJlc2hBY2Nlc3NUb2tlbigpO2Nhc2UgODpyZXR1cm4gdC5uZXh0PTEwLHRoaXMucmVxdWVzdChhLGksKDAsbC5kZWZhdWx0KSgoMCxsLmRlZmF1bHQpKHt9LGUpLHt9LHtvblVwbG9hZFByb2dyZXNzOmkub25VcGxvYWRQcm9ncmVzc30pKTtjYXNlIDEwOmlmKHI9dC5zZW50LCFyLmRhdGEuY29kZSl7dC5uZXh0PTEzO2JyZWFrfXRocm93IG5ldyBjdCh7Y29kZTpyLmRhdGEuY29kZSxtZXNzYWdlOk10KHIuZGF0YS5tZXNzYWdlKX0pO2Nhc2UgMTM6cmV0dXJuIHQuYWJydXB0KCJyZXR1cm4iLHIuZGF0YSk7Y2FzZSAxNDppZighbi5kYXRhLmNvZGUpe3QubmV4dD0xNjticmVha310aHJvdyBuZXcgY3Qoe2NvZGU6bi5kYXRhLmNvZGUsbWVzc2FnZTpNdChuLmRhdGEubWVzc2FnZSl9KTtjYXNlIDE2OnJldHVybiB0LmFicnVwdCgicmV0dXJuIixuLmRhdGEpO2Nhc2UgMTc6Y2FzZSJlbmQiOnJldHVybiB0LnN0b3AoKX19KSx0LHRoaXMpfSkpKTtyZXR1cm4gZnVuY3Rpb24oYSl7cmV0dXJuIHQuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0oKX0se2tleToic2V0UmVmcmVzaFRva2VuIix2YWx1ZTpmdW5jdGlvbih0KXt2YXIgYT10aGlzLl9jYWNoZS5rZXlzLGk9YS5hY2Nlc3NUb2tlbktleSxlPWEuYWNjZXNzVG9rZW5FeHBpcmVLZXksbj1hLnJlZnJlc2hUb2tlbktleTt0aGlzLl9jYWNoZS5yZW1vdmVTdG9yZShpKSx0aGlzLl9jYWNoZS5yZW1vdmVTdG9yZShlKSx0aGlzLl9jYWNoZS5zZXRTdG9yZShuLHQpfX1dKSx0fSgpLG9hPXt9O2Z1bmN0aW9uIGRhKHQpe3JldHVybiBvYVt0XX12YXIgcGE9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KGEpeygwLHUuZGVmYXVsdCkodGhpcyx0KSx0aGlzLmNvbmZpZz1hLHRoaXMuX2NhY2hlPWp0KGEuZW52KSx0aGlzLl9yZXF1ZXN0PWRhKGEuZW52KX1yZXR1cm4oMCxoLmRlZmF1bHQpKHQsW3trZXk6InNldFJlZnJlc2hUb2tlbiIsdmFsdWU6ZnVuY3Rpb24odCl7dmFyIGE9dGhpcy5fY2FjaGUua2V5cyxpPWEuYWNjZXNzVG9rZW5LZXksZT1hLmFjY2Vzc1Rva2VuRXhwaXJlS2V5LG49YS5yZWZyZXNoVG9rZW5LZXk7dGhpcy5fY2FjaGUucmVtb3ZlU3RvcmUoaSksdGhpcy5fY2FjaGUucmVtb3ZlU3RvcmUoZSksdGhpcy5fY2FjaGUuc2V0U3RvcmUobix0KX19LHtrZXk6InNldEFjY2Vzc1Rva2VuIix2YWx1ZTpmdW5jdGlvbih0LGEpe3ZhciBpPXRoaXMuX2NhY2hlLmtleXMsZT1pLmFjY2Vzc1Rva2VuS2V5LG49aS5hY2Nlc3NUb2tlbkV4cGlyZUtleTt0aGlzLl9jYWNoZS5zZXRTdG9yZShlLHQpLHRoaXMuX2NhY2hlLnNldFN0b3JlKG4sYSl9fSx7a2V5OiJyZWZyZXNoVXNlckluZm8iLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIHQ9KDAscy5kZWZhdWx0KSgoMCxjLmRlZmF1bHQpKCkubWFyaygoZnVuY3Rpb24gdCgpe3ZhciBhLGk7cmV0dXJuKDAsYy5kZWZhdWx0KSgpLndyYXAoKGZ1bmN0aW9uKHQpe3doaWxlKDEpc3dpdGNoKHQucHJldj10Lm5leHQpe2Nhc2UgMDpyZXR1cm4gdC5uZXh0PTIsdGhpcy5fcmVxdWVzdC5zZW5kKCJhdXRoLmdldFVzZXJJbmZvIix7fSk7Y2FzZSAyOnJldHVybiBhPXQuc2VudCxpPWEuZGF0YSx0LmFicnVwdCgicmV0dXJuIiwodGhpcy5zZXRMb2NhbFVzZXJJbmZvKGkpLGkpKTtjYXNlIDU6Y2FzZSJlbmQiOnJldHVybiB0LnN0b3AoKX19KSx0LHRoaXMpfSkpKTtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSgpfSx7a2V5OiJzZXRMb2NhbFVzZXJJbmZvIix2YWx1ZTpmdW5jdGlvbih0KXt2YXIgYT10aGlzLl9jYWNoZS5rZXlzLnVzZXJJbmZvS2V5O3RoaXMuX2NhY2hlLnNldFN0b3JlKGEsdCl9fV0pLHR9KCksY2E9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KGEpe2lmKCgwLHUuZGVmYXVsdCkodGhpcyx0KSwhYSl0aHJvdyBuZXcgY3Qoe2NvZGU6IlBBUkFNX0VSUk9SIixtZXNzYWdlOiJlbnZJZCBpcyBub3QgZGVmaW5lZCJ9KTt0aGlzLl9lbnZJZD1hLHRoaXMuX2NhY2hlPWp0KHRoaXMuX2VudklkKSx0aGlzLl9yZXF1ZXN0PWRhKHRoaXMuX2VudklkKSx0aGlzLnNldFVzZXJJbmZvKCl9cmV0dXJuKDAsaC5kZWZhdWx0KSh0LFt7a2V5OiJsaW5rV2l0aFRpY2tldCIsdmFsdWU6ZnVuY3Rpb24odCl7aWYoInN0cmluZyIhPXR5cGVvZiB0KXRocm93IG5ldyBjdCh7Y29kZToiUEFSQU1fRVJST1IiLG1lc3NhZ2U6InRpY2tldCBtdXN0IGJlIHN0cmluZyJ9KTtyZXR1cm4gdGhpcy5fcmVxdWVzdC5zZW5kKCJhdXRoLmxpbmtXaXRoVGlja2V0Iix7dGlja2V0OnR9KX19LHtrZXk6ImxpbmtXaXRoUmVkaXJlY3QiLHZhbHVlOmZ1bmN0aW9uKHQpe3Quc2lnbkluV2l0aFJlZGlyZWN0KCl9fSx7a2V5OiJ1cGRhdGVQYXNzd29yZCIsdmFsdWU6ZnVuY3Rpb24odCxhKXtyZXR1cm4gdGhpcy5fcmVxdWVzdC5zZW5kKCJhdXRoLnVwZGF0ZVBhc3N3b3JkIix7b2xkUGFzc3dvcmQ6YSxuZXdQYXNzd29yZDp0fSl9fSx7a2V5OiJ1cGRhdGVFbWFpbCIsdmFsdWU6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX3JlcXVlc3Quc2VuZCgiYXV0aC51cGRhdGVFbWFpbCIse25ld0VtYWlsOnR9KX19LHtrZXk6InVwZGF0ZVVzZXJuYW1lIix2YWx1ZTpmdW5jdGlvbih0KXtpZigic3RyaW5nIiE9dHlwZW9mIHQpdGhyb3cgbmV3IGN0KHtjb2RlOiJQQVJBTV9FUlJPUiIsbWVzc2FnZToidXNlcm5hbWUgbXVzdCBiZSBhIHN0cmluZyJ9KTtyZXR1cm4gdGhpcy5fcmVxdWVzdC5zZW5kKCJhdXRoLnVwZGF0ZVVzZXJuYW1lIix7dXNlcm5hbWU6dH0pfX0se2tleToiZ2V0TGlua2VkVWlkTGlzdCIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgdD0oMCxzLmRlZmF1bHQpKCgwLGMuZGVmYXVsdCkoKS5tYXJrKChmdW5jdGlvbiB0KCl7dmFyIGEsaSxlLG47cmV0dXJuKDAsYy5kZWZhdWx0KSgpLndyYXAoKGZ1bmN0aW9uKHQpe3doaWxlKDEpc3dpdGNoKHQucHJldj10Lm5leHQpe2Nhc2UgMDpyZXR1cm4gdC5uZXh0PTIsdGhpcy5fcmVxdWVzdC5zZW5kKCJhdXRoLmdldExpbmtlZFVpZExpc3QiLHt9KTtjYXNlIDI6cmV0dXJuIGE9dC5zZW50LGk9YS5kYXRhLGU9ITEsbj1pLnVzZXJzLHQuYWJydXB0KCJyZXR1cm4iLChuLmZvckVhY2goKGZ1bmN0aW9uKHQpe3Qud3hPcGVuSWQmJnQud3hQdWJsaWNJZCYmKGU9ITApfSkpLHt1c2VyczpuLGhhc1ByaW1hcnlVaWQ6ZX0pKTtjYXNlIDc6Y2FzZSJlbmQiOnJldHVybiB0LnN0b3AoKX19KSx0LHRoaXMpfSkpKTtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSgpfSx7a2V5OiJzZXRQcmltYXJ5VWlkIix2YWx1ZTpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fcmVxdWVzdC5zZW5kKCJhdXRoLnNldFByaW1hcnlVaWQiLHt1aWQ6dH0pfX0se2tleToidW5saW5rIix2YWx1ZTpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fcmVxdWVzdC5zZW5kKCJhdXRoLnVubGluayIse3BsYXRmb3JtOnR9KX19LHtrZXk6InVwZGF0ZSIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgdD0oMCxzLmRlZmF1bHQpKCgwLGMuZGVmYXVsdCkoKS5tYXJrKChmdW5jdGlvbiB0KGEpe3ZhciBpLGUsbixyLG8sZCxwLHM7cmV0dXJuKDAsYy5kZWZhdWx0KSgpLndyYXAoKGZ1bmN0aW9uKHQpe3doaWxlKDEpc3dpdGNoKHQucHJldj10Lm5leHQpe2Nhc2UgMDpyZXR1cm4gaT1hLm5pY2tOYW1lLGU9YS5nZW5kZXIsbj1hLmF2YXRhclVybCxyPWEucHJvdmluY2Usbz1hLmNvdW50cnksZD1hLmNpdHksdC5uZXh0PTgsdGhpcy5fcmVxdWVzdC5zZW5kKCJhdXRoLnVwZGF0ZVVzZXJJbmZvIix7bmlja05hbWU6aSxnZW5kZXI6ZSxhdmF0YXJVcmw6bixwcm92aW5jZTpyLGNvdW50cnk6byxjaXR5OmR9KTtjYXNlIDg6cD10LnNlbnQscz1wLmRhdGEsdGhpcy5zZXRMb2NhbFVzZXJJbmZvKHMpO2Nhc2UgMTE6Y2FzZSJlbmQiOnJldHVybiB0LnN0b3AoKX19KSx0LHRoaXMpfSkpKTtyZXR1cm4gZnVuY3Rpb24oYSl7cmV0dXJuIHQuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0oKX0se2tleToicmVmcmVzaCIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgdD0oMCxzLmRlZmF1bHQpKCgwLGMuZGVmYXVsdCkoKS5tYXJrKChmdW5jdGlvbiB0KCl7dmFyIGE7cmV0dXJuKDAsYy5kZWZhdWx0KSgpLndyYXAoKGZ1bmN0aW9uKHQpe3doaWxlKDEpc3dpdGNoKHQucHJldj10Lm5leHQpe2Nhc2UgMDpyZXR1cm4gdC5uZXh0PTIsdGhpcy5fcmVxdWVzdC5vYXV0aC5nZXRVc2VySW5mbygpO2Nhc2UgMjpyZXR1cm4gYT10LnNlbnQsdC5hYnJ1cHQoInJldHVybiIsKHRoaXMuc2V0TG9jYWxVc2VySW5mbyhhKSxhKSk7Y2FzZSA0OmNhc2UiZW5kIjpyZXR1cm4gdC5zdG9wKCl9fSksdCx0aGlzKX0pKSk7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHQuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0oKX0se2tleToic2V0VXNlckluZm8iLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxhPXRoaXMuX2NhY2hlLmtleXMudXNlckluZm9LZXksaT10aGlzLl9jYWNoZS5nZXRTdG9yZShhKTtbInVpZCIsImxvZ2luVHlwZSIsIm9wZW5pZCIsInd4T3BlbklkIiwid3hQdWJsaWNJZCIsInVuaW9uSWQiLCJxcU1pbmlPcGVuSWQiLCJlbWFpbCIsImhhc1Bhc3N3b3JkIiwiY3VzdG9tVXNlcklkIiwibmlja05hbWUiLCJnZW5kZXIiLCJhdmF0YXJVcmwiXS5mb3JFYWNoKChmdW5jdGlvbihhKXt0W2FdPWlbYV19KSksdGhpcy5sb2NhdGlvbj17Y291bnRyeTppLmNvdW50cnkscHJvdmluY2U6aS5wcm92aW5jZSxjaXR5OmkuY2l0eX19fSx7a2V5OiJzZXRMb2NhbFVzZXJJbmZvIix2YWx1ZTpmdW5jdGlvbih0KXt2YXIgYT10aGlzLl9jYWNoZS5rZXlzLnVzZXJJbmZvS2V5O3RoaXMuX2NhY2hlLnNldFN0b3JlKGEsdCksdGhpcy5zZXRVc2VySW5mbygpfX1dKSx0fSgpLHNhPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdChhKXtpZigoMCx1LmRlZmF1bHQpKHRoaXMsdCksIWEpdGhyb3cgbmV3IGN0KHtjb2RlOiJQQVJBTV9FUlJPUiIsbWVzc2FnZToiZW52SWQgaXMgbm90IGRlZmluZWQifSk7dGhpcy5fY2FjaGU9anQoYSk7dmFyIGk9dGhpcy5fY2FjaGUua2V5cyxlPWkucmVmcmVzaFRva2VuS2V5LG49aS5hY2Nlc3NUb2tlbktleSxyPWkuYWNjZXNzVG9rZW5FeHBpcmVLZXksbz10aGlzLl9jYWNoZS5nZXRTdG9yZShlKSxkPXRoaXMuX2NhY2hlLmdldFN0b3JlKG4pLHA9dGhpcy5fY2FjaGUuZ2V0U3RvcmUocik7dGhpcy5jcmVkZW50aWFsPXtyZWZyZXNoVG9rZW46byxhY2Nlc3NUb2tlbjpkLGFjY2Vzc1Rva2VuRXhwaXJlOnB9LHRoaXMudXNlcj1uZXcgY2EoYSl9cmV0dXJuKDAsaC5kZWZhdWx0KSh0LFt7a2V5OiJpc0Fub255bW91c0F1dGgiLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmxvZ2luVHlwZT09PUp0LkFOT05ZTU9VU319LHtrZXk6ImlzQ3VzdG9tQXV0aCIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubG9naW5UeXBlPT09SnQuQ1VTVE9NfX0se2tleToiaXNXZWl4aW5BdXRoIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sb2dpblR5cGU9PT1KdC5XRUNIQVR8fHRoaXMubG9naW5UeXBlPT09SnQuV0VDSEFUX09QRU58fHRoaXMubG9naW5UeXBlPT09SnQuV0VDSEFUX1BVQkxJQ319LHtrZXk6ImxvZ2luVHlwZSIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2NhY2hlLmdldFN0b3JlKHRoaXMuX2NhY2hlLmtleXMubG9naW5UeXBlS2V5KX19XSksdH0oKSxsYT1mdW5jdGlvbih0KXsoMCxtLmRlZmF1bHQpKGksdCk7dmFyIGE9KDAsZi5kZWZhdWx0KShpKTtmdW5jdGlvbiBpKCl7cmV0dXJuKDAsdS5kZWZhdWx0KSh0aGlzLGkpLGEuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybigwLGguZGVmYXVsdCkoaSxbe2tleToic2lnbkluIix2YWx1ZTpmdW5jdGlvbigpe3ZhciB0PSgwLHMuZGVmYXVsdCkoKDAsYy5kZWZhdWx0KSgpLm1hcmsoKGZ1bmN0aW9uIHQoKXt2YXIgYTtyZXR1cm4oMCxjLmRlZmF1bHQpKCkud3JhcCgoZnVuY3Rpb24odCl7d2hpbGUoMSlzd2l0Y2godC5wcmV2PXQubmV4dCl7Y2FzZSAwOnJldHVybiB0aGlzLl9jYWNoZS51cGRhdGVQZXJzaXN0ZW5jZSgibG9jYWwiKSx0Lm5leHQ9Myx0aGlzLl9yZXF1ZXN0Lm9hdXRoLmdldEFjY2Vzc1Rva2VuKCk7Y2FzZSAzOnJldHVybiBadChIdCksWnQocXQse2Vudjp0aGlzLmNvbmZpZy5lbnYsbG9naW5UeXBlOkp0LkFOT05ZTU9VUyxwZXJzaXN0ZW5jZToibG9jYWwifSksYT1uZXcgc2EodGhpcy5jb25maWcuZW52KSx0Lm5leHQ9OCxhLnVzZXIucmVmcmVzaCgpO2Nhc2UgODpyZXR1cm4gdC5hYnJ1cHQoInJldHVybiIsYSk7Y2FzZSA5OmNhc2UiZW5kIjpyZXR1cm4gdC5zdG9wKCl9fSksdCx0aGlzKX0pKSk7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHQuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0oKX0se2tleToibGlua0FuZFJldHJpZXZlRGF0YVdpdGhUaWNrZXQiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIHQ9KDAscy5kZWZhdWx0KSgoMCxjLmRlZmF1bHQpKCkubWFyaygoZnVuY3Rpb24gdChhKXt2YXIgaSxlLG4scixvLGQ7cmV0dXJuKDAsYy5kZWZhdWx0KSgpLndyYXAoKGZ1bmN0aW9uKHQpe3doaWxlKDEpc3dpdGNoKHQucHJldj10Lm5leHQpe2Nhc2UgMDpyZXR1cm4gaT10aGlzLl9jYWNoZS5rZXlzLGU9aS5hbm9ueW1vdXNVdWlkS2V5LG49aS5yZWZyZXNoVG9rZW5LZXkscj10aGlzLl9jYWNoZS5nZXRTdG9yZShlKSxvPXRoaXMuX2NhY2hlLmdldFN0b3JlKG4pLHQubmV4dD03LHRoaXMuX3JlcXVlc3Quc2VuZCgiYXV0aC5saW5rQW5kUmV0cmlldmVEYXRhV2l0aFRpY2tldCIse2Fub255bW91c191dWlkOnIscmVmcmVzaF90b2tlbjpvLHRpY2tldDphfSk7Y2FzZSA3OmlmKGQ9dC5zZW50LCFkLnJlZnJlc2hfdG9rZW4pe3QubmV4dD0xNjticmVha31yZXR1cm4gdGhpcy5fY2xlYXJBbm9ueW1vdXNVVUlEKCksdGhpcy5zZXRSZWZyZXNoVG9rZW4oZC5yZWZyZXNoX3Rva2VuKSx0Lm5leHQ9MTMsdGhpcy5fcmVxdWVzdC5yZWZyZXNoQWNjZXNzVG9rZW4oKTtjYXNlIDEzOnJldHVybiBadChWdCx7ZW52OnRoaXMuY29uZmlnLmVudn0pLFp0KHF0LHtsb2dpblR5cGU6SnQuQ1VTVE9NLHBlcnNpc3RlbmNlOiJsb2NhbCJ9KSx0LmFicnVwdCgicmV0dXJuIix7Y3JlZGVudGlhbDp7cmVmcmVzaFRva2VuOmQucmVmcmVzaF90b2tlbn19KTtjYXNlIDE2OnRocm93IG5ldyBjdCh7bWVzc2FnZToi5Yy/5ZCN6L2s5YyW5aSx6LSlIn0pO2Nhc2UgMTc6Y2FzZSJlbmQiOnJldHVybiB0LnN0b3AoKX19KSx0LHRoaXMpfSkpKTtyZXR1cm4gZnVuY3Rpb24oYSl7cmV0dXJuIHQuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0oKX0se2tleToiX3NldEFub255bW91c1VVSUQiLHZhbHVlOmZ1bmN0aW9uKHQpe3ZhciBhPXRoaXMuX2NhY2hlLmtleXMsaT1hLmFub255bW91c1V1aWRLZXksZT1hLmxvZ2luVHlwZUtleTt0aGlzLl9jYWNoZS5yZW1vdmVTdG9yZShpKSx0aGlzLl9jYWNoZS5zZXRTdG9yZShpLHQpLHRoaXMuX2NhY2hlLnNldFN0b3JlKGUsSnQuQU5PTllNT1VTKX19LHtrZXk6Il9jbGVhckFub255bW91c1VVSUQiLHZhbHVlOmZ1bmN0aW9uKCl7dGhpcy5fY2FjaGUucmVtb3ZlU3RvcmUodGhpcy5fY2FjaGUua2V5cy5hbm9ueW1vdXNVdWlkS2V5KX19XSksaX0ocGEpLG1hPWZ1bmN0aW9uKHQpeygwLG0uZGVmYXVsdCkoaSx0KTt2YXIgYT0oMCxmLmRlZmF1bHQpKGkpO2Z1bmN0aW9uIGkoKXtyZXR1cm4oMCx1LmRlZmF1bHQpKHRoaXMsaSksYS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9cmV0dXJuKDAsaC5kZWZhdWx0KShpLFt7a2V5OiJzaWduSW4iLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIHQ9KDAscy5kZWZhdWx0KSgoMCxjLmRlZmF1bHQpKCkubWFyaygoZnVuY3Rpb24gdChhKXt2YXIgaSxlO3JldHVybigwLGMuZGVmYXVsdCkoKS53cmFwKChmdW5jdGlvbih0KXt3aGlsZSgxKXN3aXRjaCh0LnByZXY9dC5uZXh0KXtjYXNlIDA6aWYoInN0cmluZyI9PXR5cGVvZiBhKXt0Lm5leHQ9MjticmVha310aHJvdyBuZXcgY3Qoe2NvZGU6IlBBUkFNX0VSUk9SIixtZXNzYWdlOiJ0aWNrZXQgbXVzdCBiZSBhIHN0cmluZyJ9KTtjYXNlIDI6cmV0dXJuIGk9dGhpcy5fY2FjaGUua2V5cy5yZWZyZXNoVG9rZW5LZXksdC5uZXh0PTUsdGhpcy5fcmVxdWVzdC5zZW5kKCJhdXRoLnNpZ25JbldpdGhUaWNrZXQiLHt0aWNrZXQ6YSxyZWZyZXNoX3Rva2VuOnRoaXMuX2NhY2hlLmdldFN0b3JlKGkpfHwiIn0pO2Nhc2UgNTppZihlPXQuc2VudCwhZS5yZWZyZXNoX3Rva2VuKXt0Lm5leHQ9MTU7YnJlYWt9cmV0dXJuIHRoaXMuc2V0UmVmcmVzaFRva2VuKGUucmVmcmVzaF90b2tlbiksdC5uZXh0PTEwLHRoaXMuX3JlcXVlc3QucmVmcmVzaEFjY2Vzc1Rva2VuKCk7Y2FzZSAxMDpyZXR1cm4gWnQoSHQpLFp0KHF0LHtlbnY6dGhpcy5jb25maWcuZW52LGxvZ2luVHlwZTpKdC5DVVNUT00scGVyc2lzdGVuY2U6dGhpcy5jb25maWcucGVyc2lzdGVuY2V9KSx0Lm5leHQ9MTQsdGhpcy5yZWZyZXNoVXNlckluZm8oKTtjYXNlIDE0OnJldHVybiB0LmFicnVwdCgicmV0dXJuIixuZXcgc2EodGhpcy5jb25maWcuZW52KSk7Y2FzZSAxNTp0aHJvdyBuZXcgY3Qoe21lc3NhZ2U6IuiHquWumuS5ieeZu+W9leWksei0pSJ9KTtjYXNlIDE2OmNhc2UiZW5kIjpyZXR1cm4gdC5zdG9wKCl9fSksdCx0aGlzKX0pKSk7cmV0dXJuIGZ1bmN0aW9uKGEpe3JldHVybiB0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX19KCl9XSksaX0ocGEpLGZhPWZ1bmN0aW9uKHQpeygwLG0uZGVmYXVsdCkoaSx0KTt2YXIgYT0oMCxmLmRlZmF1bHQpKGkpO2Z1bmN0aW9uIGkoKXtyZXR1cm4oMCx1LmRlZmF1bHQpKHRoaXMsaSksYS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9cmV0dXJuKDAsaC5kZWZhdWx0KShpLFt7a2V5OiJzaWduSW4iLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIHQ9KDAscy5kZWZhdWx0KSgoMCxjLmRlZmF1bHQpKCkubWFyaygoZnVuY3Rpb24gdChhLGkpe3ZhciBlLG4scixvLGQ7cmV0dXJuKDAsYy5kZWZhdWx0KSgpLndyYXAoKGZ1bmN0aW9uKHQpe3doaWxlKDEpc3dpdGNoKHQucHJldj10Lm5leHQpe2Nhc2UgMDppZigic3RyaW5nIj09dHlwZW9mIGEpe3QubmV4dD0yO2JyZWFrfXRocm93IG5ldyBjdCh7Y29kZToiUEFSQU1fRVJST1IiLG1lc3NhZ2U6ImVtYWlsIG11c3QgYmUgYSBzdHJpbmcifSk7Y2FzZSAyOnJldHVybiBlPXRoaXMuX2NhY2hlLmtleXMucmVmcmVzaFRva2VuS2V5LHQubmV4dD01LHRoaXMuX3JlcXVlc3Quc2VuZCgiYXV0aC5zaWduSW4iLHtsb2dpblR5cGU6IkVNQUlMIixlbWFpbDphLHBhc3N3b3JkOmkscmVmcmVzaF90b2tlbjp0aGlzLl9jYWNoZS5nZXRTdG9yZShlKXx8IiJ9KTtjYXNlIDU6aWYobj10LnNlbnQscj1uLnJlZnJlc2hfdG9rZW4sbz1uLmFjY2Vzc190b2tlbixkPW4uYWNjZXNzX3Rva2VuX2V4cGlyZSwhcil7dC5uZXh0PTIyO2JyZWFrfWlmKHRoaXMuc2V0UmVmcmVzaFRva2VuKHIpLCFvfHwhZCl7dC5uZXh0PTE1O2JyZWFrfXRoaXMuc2V0QWNjZXNzVG9rZW4obyxkKSx0Lm5leHQ9MTc7YnJlYWs7Y2FzZSAxNTpyZXR1cm4gdC5uZXh0PTE3LHRoaXMuX3JlcXVlc3QucmVmcmVzaEFjY2Vzc1Rva2VuKCk7Y2FzZSAxNzpyZXR1cm4gdC5uZXh0PTE5LHRoaXMucmVmcmVzaFVzZXJJbmZvKCk7Y2FzZSAxOTpyZXR1cm4gWnQoSHQpLFp0KHF0LHtlbnY6dGhpcy5jb25maWcuZW52LGxvZ2luVHlwZTpKdC5FTUFJTCxwZXJzaXN0ZW5jZTp0aGlzLmNvbmZpZy5wZXJzaXN0ZW5jZX0pLHQuYWJydXB0KCJyZXR1cm4iLG5ldyBzYSh0aGlzLmNvbmZpZy5lbnYpKTtjYXNlIDIyOnRocm93IG4uY29kZT9uZXcgY3Qoe2NvZGU6bi5jb2RlLG1lc3NhZ2U6IumCrueuseeZu+W9leWksei0pTogIi5jb25jYXQobi5tZXNzYWdlKX0pOm5ldyBjdCh7bWVzc2FnZToi6YKu566x55m75b2V5aSx6LSlIn0pO2Nhc2UgMjM6Y2FzZSJlbmQiOnJldHVybiB0LnN0b3AoKX19KSx0LHRoaXMpfSkpKTtyZXR1cm4gZnVuY3Rpb24oYSxpKXtyZXR1cm4gdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSgpfSx7a2V5OiJhY3RpdmF0ZSIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgdD0oMCxzLmRlZmF1bHQpKCgwLGMuZGVmYXVsdCkoKS5tYXJrKChmdW5jdGlvbiB0KGEpe3JldHVybigwLGMuZGVmYXVsdCkoKS53cmFwKChmdW5jdGlvbih0KXt3aGlsZSgxKXN3aXRjaCh0LnByZXY9dC5uZXh0KXtjYXNlIDA6cmV0dXJuIHQuYWJydXB0KCJyZXR1cm4iLHRoaXMuX3JlcXVlc3Quc2VuZCgiYXV0aC5hY3RpdmF0ZUVuZFVzZXJNYWlsIix7dG9rZW46YX0pKTtjYXNlIDE6Y2FzZSJlbmQiOnJldHVybiB0LnN0b3AoKX19KSx0LHRoaXMpfSkpKTtyZXR1cm4gZnVuY3Rpb24oYSl7cmV0dXJuIHQuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0oKX0se2tleToicmVzZXRQYXNzd29yZFdpdGhUb2tlbiIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgdD0oMCxzLmRlZmF1bHQpKCgwLGMuZGVmYXVsdCkoKS5tYXJrKChmdW5jdGlvbiB0KGEsaSl7cmV0dXJuKDAsYy5kZWZhdWx0KSgpLndyYXAoKGZ1bmN0aW9uKHQpe3doaWxlKDEpc3dpdGNoKHQucHJldj10Lm5leHQpe2Nhc2UgMDpyZXR1cm4gdC5hYnJ1cHQoInJldHVybiIsdGhpcy5fcmVxdWVzdC5zZW5kKCJhdXRoLnJlc2V0UGFzc3dvcmRXaXRoVG9rZW4iLHt0b2tlbjphLG5ld1Bhc3N3b3JkOml9KSk7Y2FzZSAxOmNhc2UiZW5kIjpyZXR1cm4gdC5zdG9wKCl9fSksdCx0aGlzKX0pKSk7cmV0dXJuIGZ1bmN0aW9uKGEsaSl7cmV0dXJuIHQuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0oKX1dKSxpfShwYSksZ2E9ZnVuY3Rpb24odCl7KDAsbS5kZWZhdWx0KShpLHQpO3ZhciBhPSgwLGYuZGVmYXVsdCkoaSk7ZnVuY3Rpb24gaSgpe3JldHVybigwLHUuZGVmYXVsdCkodGhpcyxpKSxhLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1yZXR1cm4oMCxoLmRlZmF1bHQpKGksW3trZXk6InNpZ25JbiIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgdD0oMCxzLmRlZmF1bHQpKCgwLGMuZGVmYXVsdCkoKS5tYXJrKChmdW5jdGlvbiB0KGEsaSl7dmFyIGUsbixyLG8sZDtyZXR1cm4oMCxjLmRlZmF1bHQpKCkud3JhcCgoZnVuY3Rpb24odCl7d2hpbGUoMSlzd2l0Y2godC5wcmV2PXQubmV4dCl7Y2FzZSAwOmlmKCJzdHJpbmciPT10eXBlb2YgYSl7dC5uZXh0PTI7YnJlYWt9dGhyb3cgbmV3IGN0KHtjb2RlOiJQQVJBTV9FUlJPUiIsbWVzc2FnZToidXNlcm5hbWUgbXVzdCBiZSBhIHN0cmluZyJ9KTtjYXNlIDI6cmV0dXJuInN0cmluZyIhPXR5cGVvZiBpJiYoaT0iIixjb25zb2xlLndhcm4oInBhc3N3b3JkIGlzIGVtcHR5IikpLGU9dGhpcy5fY2FjaGUua2V5cy5yZWZyZXNoVG9rZW5LZXksdC5uZXh0PTYsdGhpcy5fcmVxdWVzdC5zZW5kKCJhdXRoLnNpZ25JbiIse2xvZ2luVHlwZTpKdC5VU0VSTkFNRSx1c2VybmFtZTphLHBhc3N3b3JkOmkscmVmcmVzaF90b2tlbjp0aGlzLl9jYWNoZS5nZXRTdG9yZShlKXx8IiJ9KTtjYXNlIDY6aWYobj10LnNlbnQscj1uLnJlZnJlc2hfdG9rZW4sbz1uLmFjY2Vzc190b2tlbl9leHBpcmUsZD1uLmFjY2Vzc190b2tlbiwhcil7dC5uZXh0PTIzO2JyZWFrfWlmKHRoaXMuc2V0UmVmcmVzaFRva2VuKHIpLCFkfHwhbyl7dC5uZXh0PTE2O2JyZWFrfXRoaXMuc2V0QWNjZXNzVG9rZW4oZCxvKSx0Lm5leHQ9MTg7YnJlYWs7Y2FzZSAxNjpyZXR1cm4gdC5uZXh0PTE4LHRoaXMuX3JlcXVlc3QucmVmcmVzaEFjY2Vzc1Rva2VuKCk7Y2FzZSAxODpyZXR1cm4gdC5uZXh0PTIwLHRoaXMucmVmcmVzaFVzZXJJbmZvKCk7Y2FzZSAyMDpyZXR1cm4gWnQoSHQpLFp0KHF0LHtlbnY6dGhpcy5jb25maWcuZW52LGxvZ2luVHlwZTpKdC5VU0VSTkFNRSxwZXJzaXN0ZW5jZTp0aGlzLmNvbmZpZy5wZXJzaXN0ZW5jZX0pLHQuYWJydXB0KCJyZXR1cm4iLG5ldyBzYSh0aGlzLmNvbmZpZy5lbnYpKTtjYXNlIDIzOnRocm93IG4uY29kZT9uZXcgY3Qoe2NvZGU6bi5jb2RlLG1lc3NhZ2U6IueUqOaIt+WQjeWvhueggeeZu+W9leWksei0pTogIi5jb25jYXQobi5tZXNzYWdlKX0pOm5ldyBjdCh7bWVzc2FnZToi55So5oi35ZCN5a+G56CB55m75b2V5aSx6LSlIn0pO2Nhc2UgMjQ6Y2FzZSJlbmQiOnJldHVybiB0LnN0b3AoKX19KSx0LHRoaXMpfSkpKTtyZXR1cm4gZnVuY3Rpb24oYSxpKXtyZXR1cm4gdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSgpfV0pLGl9KHBhKSx1YT1mdW5jdGlvbigpe2Z1bmN0aW9uIHQoYSl7KDAsdS5kZWZhdWx0KSh0aGlzLHQpLHRoaXMuY29uZmlnPWEsdGhpcy5fY2FjaGU9anQoYS5lbnYpLHRoaXMuX3JlcXVlc3Q9ZGEoYS5lbnYpLHRoaXMuX29uQW5vbnltb3VzQ29udmVydGVkPXRoaXMuX29uQW5vbnltb3VzQ29udmVydGVkLmJpbmQodGhpcyksdGhpcy5fb25Mb2dpblR5cGVDaGFuZ2VkPXRoaXMuX29uTG9naW5UeXBlQ2hhbmdlZC5iaW5kKHRoaXMpLFl0KHF0LHRoaXMuX29uTG9naW5UeXBlQ2hhbmdlZCl9cmV0dXJuKDAsaC5kZWZhdWx0KSh0LFt7a2V5OiJjdXJyZW50VXNlciIsZ2V0OmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5oYXNMb2dpblN0YXRlKCk7cmV0dXJuIHQmJnQudXNlcnx8bnVsbH19LHtrZXk6ImxvZ2luVHlwZSIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2NhY2hlLmdldFN0b3JlKHRoaXMuX2NhY2hlLmtleXMubG9naW5UeXBlS2V5KX19LHtrZXk6ImFub255bW91c0F1dGhQcm92aWRlciIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGxhKHRoaXMuY29uZmlnKX19LHtrZXk6ImN1c3RvbUF1dGhQcm92aWRlciIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IG1hKHRoaXMuY29uZmlnKX19LHtrZXk6ImVtYWlsQXV0aFByb3ZpZGVyIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiBuZXcgZmEodGhpcy5jb25maWcpfX0se2tleToidXNlcm5hbWVBdXRoUHJvdmlkZXIiLHZhbHVlOmZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBnYSh0aGlzLmNvbmZpZyl9fSx7a2V5OiJzaWduSW5Bbm9ueW1vdXNseSIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgdD0oMCxzLmRlZmF1bHQpKCgwLGMuZGVmYXVsdCkoKS5tYXJrKChmdW5jdGlvbiB0KCl7cmV0dXJuKDAsYy5kZWZhdWx0KSgpLndyYXAoKGZ1bmN0aW9uKHQpe3doaWxlKDEpc3dpdGNoKHQucHJldj10Lm5leHQpe2Nhc2UgMDpyZXR1cm4gdC5hYnJ1cHQoInJldHVybiIsbmV3IGxhKHRoaXMuY29uZmlnKS5zaWduSW4oKSk7Y2FzZSAxOmNhc2UiZW5kIjpyZXR1cm4gdC5zdG9wKCl9fSksdCx0aGlzKX0pKSk7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHQuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0oKX0se2tleToic2lnbkluV2l0aEVtYWlsQW5kUGFzc3dvcmQiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIHQ9KDAscy5kZWZhdWx0KSgoMCxjLmRlZmF1bHQpKCkubWFyaygoZnVuY3Rpb24gdChhLGkpe3JldHVybigwLGMuZGVmYXVsdCkoKS53cmFwKChmdW5jdGlvbih0KXt3aGlsZSgxKXN3aXRjaCh0LnByZXY9dC5uZXh0KXtjYXNlIDA6cmV0dXJuIHQuYWJydXB0KCJyZXR1cm4iLG5ldyBmYSh0aGlzLmNvbmZpZykuc2lnbkluKGEsaSkpO2Nhc2UgMTpjYXNlImVuZCI6cmV0dXJuIHQuc3RvcCgpfX0pLHQsdGhpcyl9KSkpO3JldHVybiBmdW5jdGlvbihhLGkpe3JldHVybiB0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX19KCl9LHtrZXk6InNpZ25JbldpdGhVc2VybmFtZUFuZFBhc3N3b3JkIix2YWx1ZTpmdW5jdGlvbih0LGEpe3JldHVybiBuZXcgZ2EodGhpcy5jb25maWcpLnNpZ25Jbih0LGEpfX0se2tleToibGlua0FuZFJldHJpZXZlRGF0YVdpdGhUaWNrZXQiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIHQ9KDAscy5kZWZhdWx0KSgoMCxjLmRlZmF1bHQpKCkubWFyaygoZnVuY3Rpb24gdChhKXtyZXR1cm4oMCxjLmRlZmF1bHQpKCkud3JhcCgoZnVuY3Rpb24odCl7d2hpbGUoMSlzd2l0Y2godC5wcmV2PXQubmV4dCl7Y2FzZSAwOnJldHVybiB0aGlzLl9hbm9ueW1vdXNBdXRoUHJvdmlkZXJ8fCh0aGlzLl9hbm9ueW1vdXNBdXRoUHJvdmlkZXI9bmV3IGxhKHRoaXMuY29uZmlnKSksWXQoVnQsdGhpcy5fb25Bbm9ueW1vdXNDb252ZXJ0ZWQpLHQubmV4dD0zLHRoaXMuX2Fub255bW91c0F1dGhQcm92aWRlci5saW5rQW5kUmV0cmlldmVEYXRhV2l0aFRpY2tldChhKTtjYXNlIDM6cmV0dXJuIHQuYWJydXB0KCJyZXR1cm4iLHQuc2VudCk7Y2FzZSA0OmNhc2UiZW5kIjpyZXR1cm4gdC5zdG9wKCl9fSksdCx0aGlzKX0pKSk7cmV0dXJuIGZ1bmN0aW9uKGEpe3JldHVybiB0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX19KCl9LHtrZXk6InNpZ25PdXQiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIHQ9KDAscy5kZWZhdWx0KSgoMCxjLmRlZmF1bHQpKCkubWFyaygoZnVuY3Rpb24gdCgpe3ZhciBhLGksZSxuLHIsbztyZXR1cm4oMCxjLmRlZmF1bHQpKCkud3JhcCgoZnVuY3Rpb24odCl7d2hpbGUoMSlzd2l0Y2godC5wcmV2PXQubmV4dCl7Y2FzZSAwOmlmKHRoaXMubG9naW5UeXBlIT09SnQuQU5PTllNT1VTKXt0Lm5leHQ9MjticmVha310aHJvdyBuZXcgY3Qoe21lc3NhZ2U6IuWMv+WQjeeUqOaIt+S4jeaUr+aMgeeZu+WHuuaTjeS9nCJ9KTtjYXNlIDI6aWYoYT10aGlzLl9jYWNoZS5rZXlzLGk9YS5yZWZyZXNoVG9rZW5LZXksZT1hLmFjY2Vzc1Rva2VuS2V5LG49YS5hY2Nlc3NUb2tlbkV4cGlyZUtleSxyPXRoaXMuX2NhY2hlLmdldFN0b3JlKGkpLHIpe3QubmV4dD01O2JyZWFrfXJldHVybiB0LmFicnVwdCgicmV0dXJuIik7Y2FzZSA1OnJldHVybiB0Lm5leHQ9Nyx0aGlzLl9yZXF1ZXN0LnNlbmQoImF1dGgubG9nb3V0Iix7cmVmcmVzaF90b2tlbjpyfSk7Y2FzZSA3OnJldHVybiBvPXQuc2VudCx0LmFicnVwdCgicmV0dXJuIiwodGhpcy5fY2FjaGUucmVtb3ZlU3RvcmUoaSksdGhpcy5fY2FjaGUucmVtb3ZlU3RvcmUoZSksdGhpcy5fY2FjaGUucmVtb3ZlU3RvcmUobiksWnQoSHQpLFp0KHF0LHtlbnY6dGhpcy5jb25maWcuZW52LGxvZ2luVHlwZTpKdC5OVUxMLHBlcnNpc3RlbmNlOnRoaXMuY29uZmlnLnBlcnNpc3RlbmNlfSksbykpO2Nhc2UgOTpjYXNlImVuZCI6cmV0dXJuIHQuc3RvcCgpfX0pLHQsdGhpcyl9KSkpO3JldHVybiBmdW5jdGlvbigpe3JldHVybiB0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX19KCl9LHtrZXk6InNpZ25VcFdpdGhFbWFpbEFuZFBhc3N3b3JkIix2YWx1ZTpmdW5jdGlvbigpe3ZhciB0PSgwLHMuZGVmYXVsdCkoKDAsYy5kZWZhdWx0KSgpLm1hcmsoKGZ1bmN0aW9uIHQoYSxpKXtyZXR1cm4oMCxjLmRlZmF1bHQpKCkud3JhcCgoZnVuY3Rpb24odCl7d2hpbGUoMSlzd2l0Y2godC5wcmV2PXQubmV4dCl7Y2FzZSAwOnJldHVybiB0LmFicnVwdCgicmV0dXJuIix0aGlzLl9yZXF1ZXN0LnNlbmQoImF1dGguc2lnblVwV2l0aEVtYWlsQW5kUGFzc3dvcmQiLHtlbWFpbDphLHBhc3N3b3JkOml9KSk7Y2FzZSAxOmNhc2UiZW5kIjpyZXR1cm4gdC5zdG9wKCl9fSksdCx0aGlzKX0pKSk7cmV0dXJuIGZ1bmN0aW9uKGEsaSl7cmV0dXJuIHQuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0oKX0se2tleToic2VuZFBhc3N3b3JkUmVzZXRFbWFpbCIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgdD0oMCxzLmRlZmF1bHQpKCgwLGMuZGVmYXVsdCkoKS5tYXJrKChmdW5jdGlvbiB0KGEpe3JldHVybigwLGMuZGVmYXVsdCkoKS53cmFwKChmdW5jdGlvbih0KXt3aGlsZSgxKXN3aXRjaCh0LnByZXY9dC5uZXh0KXtjYXNlIDA6cmV0dXJuIHQuYWJydXB0KCJyZXR1cm4iLHRoaXMuX3JlcXVlc3Quc2VuZCgiYXV0aC5zZW5kUGFzc3dvcmRSZXNldEVtYWlsIix7ZW1haWw6YX0pKTtjYXNlIDE6Y2FzZSJlbmQiOnJldHVybiB0LnN0b3AoKX19KSx0LHRoaXMpfSkpKTtyZXR1cm4gZnVuY3Rpb24oYSl7cmV0dXJuIHQuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0oKX0se2tleToib25Mb2dpblN0YXRlQ2hhbmdlZCIsdmFsdWU6ZnVuY3Rpb24odCl7dmFyIGE9dGhpcztZdChIdCwoZnVuY3Rpb24oKXt2YXIgaT1hLmhhc0xvZ2luU3RhdGUoKTt0LmNhbGwoYSxpKX0pKTt2YXIgaT10aGlzLmhhc0xvZ2luU3RhdGUoKTt0LmNhbGwodGhpcyxpKX19LHtrZXk6Im9uTG9naW5TdGF0ZUV4cGlyZWQiLHZhbHVlOmZ1bmN0aW9uKHQpe1l0KFh0LHQuYmluZCh0aGlzKSl9fSx7a2V5OiJvbkFjY2Vzc1Rva2VuUmVmcmVzaGVkIix2YWx1ZTpmdW5jdGlvbih0KXtZdChLdCx0LmJpbmQodGhpcykpfX0se2tleToib25Bbm9ueW1vdXNDb252ZXJ0ZWQiLHZhbHVlOmZ1bmN0aW9uKHQpe1l0KFZ0LHQuYmluZCh0aGlzKSl9fSx7a2V5OiJvbkxvZ2luVHlwZUNoYW5nZWQiLHZhbHVlOmZ1bmN0aW9uKHQpe3ZhciBhPXRoaXM7WXQocXQsKGZ1bmN0aW9uKCl7dmFyIGk9YS5oYXNMb2dpblN0YXRlKCk7dC5jYWxsKGEsaSl9KSl9fSx7a2V5OiJnZXRBY2Nlc3NUb2tlbiIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgdD0oMCxzLmRlZmF1bHQpKCgwLGMuZGVmYXVsdCkoKS5tYXJrKChmdW5jdGlvbiB0KCl7cmV0dXJuKDAsYy5kZWZhdWx0KSgpLndyYXAoKGZ1bmN0aW9uKHQpe3doaWxlKDEpc3dpdGNoKHQucHJldj10Lm5leHQpe2Nhc2UgMDpyZXR1cm4gdC5uZXh0PTIsdGhpcy5fcmVxdWVzdC5nZXRBY2Nlc3NUb2tlbigpO2Nhc2UgMjpyZXR1cm4gdC50MD10LnNlbnQuYWNjZXNzVG9rZW4sdC50MT10aGlzLmNvbmZpZy5lbnYsdC5hYnJ1cHQoInJldHVybiIse2FjY2Vzc1Rva2VuOnQudDAsZW52OnQudDF9KTtjYXNlIDU6Y2FzZSJlbmQiOnJldHVybiB0LnN0b3AoKX19KSx0LHRoaXMpfSkpKTtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSgpfSx7a2V5OiJoYXNMb2dpblN0YXRlIix2YWx1ZTpmdW5jdGlvbigpe3ZhciB0PXRoaXMuX2NhY2hlLmtleXMsYT10LmFjY2Vzc1Rva2VuS2V5LGk9dC5hY2Nlc3NUb2tlbkV4cGlyZUtleSxlPXRoaXMuX2NhY2hlLmdldFN0b3JlKGEpLG49dGhpcy5fY2FjaGUuZ2V0U3RvcmUoaSk7cmV0dXJuIHRoaXMuX3JlcXVlc3Qub2F1dGguaXNBY2Nlc3NUb2tlbkV4cGlyZWQoZSxuKT9udWxsOm5ldyBzYSh0aGlzLmNvbmZpZy5lbnYpfX0se2tleToiaXNVc2VybmFtZVJlZ2lzdGVyZWQiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIHQ9KDAscy5kZWZhdWx0KSgoMCxjLmRlZmF1bHQpKCkubWFyaygoZnVuY3Rpb24gdChhKXt2YXIgaSxlO3JldHVybigwLGMuZGVmYXVsdCkoKS53cmFwKChmdW5jdGlvbih0KXt3aGlsZSgxKXN3aXRjaCh0LnByZXY9dC5uZXh0KXtjYXNlIDA6aWYoInN0cmluZyI9PXR5cGVvZiBhKXt0Lm5leHQ9MjticmVha310aHJvdyBuZXcgY3Qoe2NvZGU6IlBBUkFNX0VSUk9SIixtZXNzYWdlOiJ1c2VybmFtZSBtdXN0IGJlIGEgc3RyaW5nIn0pO2Nhc2UgMjpyZXR1cm4gdC5uZXh0PTQsdGhpcy5fcmVxdWVzdC5zZW5kKCJhdXRoLmlzVXNlcm5hbWVSZWdpc3RlcmVkIix7dXNlcm5hbWU6YX0pO2Nhc2UgNDpyZXR1cm4gaT10LnNlbnQsZT1pLmRhdGEsdC5hYnJ1cHQoInJldHVybiIsZSYmZS5pc1JlZ2lzdGVyZWQpO2Nhc2UgNzpjYXNlImVuZCI6cmV0dXJuIHQuc3RvcCgpfX0pLHQsdGhpcyl9KSkpO3JldHVybiBmdW5jdGlvbihhKXtyZXR1cm4gdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSgpfSx7a2V5OiJnZXRMb2dpblN0YXRlIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiBQcm9taXNlLnJlc29sdmUodGhpcy5oYXNMb2dpblN0YXRlKCkpfX0se2tleToic2lnbkluV2l0aFRpY2tldCIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgdD0oMCxzLmRlZmF1bHQpKCgwLGMuZGVmYXVsdCkoKS5tYXJrKChmdW5jdGlvbiB0KGEpe3JldHVybigwLGMuZGVmYXVsdCkoKS53cmFwKChmdW5jdGlvbih0KXt3aGlsZSgxKXN3aXRjaCh0LnByZXY9dC5uZXh0KXtjYXNlIDA6cmV0dXJuIHQuYWJydXB0KCJyZXR1cm4iLG5ldyBtYSh0aGlzLmNvbmZpZykuc2lnbkluKGEpKTtjYXNlIDE6Y2FzZSJlbmQiOnJldHVybiB0LnN0b3AoKX19KSx0LHRoaXMpfSkpKTtyZXR1cm4gZnVuY3Rpb24oYSl7cmV0dXJuIHQuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0oKX0se2tleToic2hvdWxkUmVmcmVzaEFjY2Vzc1Rva2VuIix2YWx1ZTpmdW5jdGlvbih0KXt0aGlzLl9yZXF1ZXN0Ll9zaG91bGRSZWZyZXNoQWNjZXNzVG9rZW5Ib29rPXQuYmluZCh0aGlzKX19LHtrZXk6ImdldFVzZXJJbmZvIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9yZXF1ZXN0LnNlbmQoImF1dGguZ2V0VXNlckluZm8iLHt9KS50aGVuKChmdW5jdGlvbih0KXtyZXR1cm4gdC5jb2RlP3Q6KDAsbC5kZWZhdWx0KSgoMCxsLmRlZmF1bHQpKHt9LHQuZGF0YSkse30se3JlcXVlc3RJZDp0LnNlcUlkfSl9KSl9fSx7a2V5OiJnZXRBdXRoSGVhZGVyIix2YWx1ZTpmdW5jdGlvbigpe3ZhciB0PXRoaXMuX2NhY2hlLmtleXMsYT10LnJlZnJlc2hUb2tlbktleSxpPXQuYWNjZXNzVG9rZW5LZXksZT10aGlzLl9jYWNoZS5nZXRTdG9yZShhKTtyZXR1cm57IngtY2xvdWRiYXNlLWNyZWRlbnRpYWxzIjp0aGlzLl9jYWNoZS5nZXRTdG9yZShpKSsiL0BALyIrZX19fSx7a2V5OiJfb25Bbm9ueW1vdXNDb252ZXJ0ZWQiLHZhbHVlOmZ1bmN0aW9uKHQpe3ZhciBhPXQuZGF0YS5lbnY7YT09PXRoaXMuY29uZmlnLmVudiYmdGhpcy5fY2FjaGUudXBkYXRlUGVyc2lzdGVuY2UodGhpcy5jb25maWcucGVyc2lzdGVuY2UpfX0se2tleToiX29uTG9naW5UeXBlQ2hhbmdlZCIsdmFsdWU6ZnVuY3Rpb24odCl7dmFyIGE9dC5kYXRhLGk9YS5sb2dpblR5cGUsZT1hLnBlcnNpc3RlbmNlLG49YS5lbnY7bj09PXRoaXMuY29uZmlnLmVudiYmKHRoaXMuX2NhY2hlLnVwZGF0ZVBlcnNpc3RlbmNlKGUpLHRoaXMuX2NhY2hlLnNldFN0b3JlKHRoaXMuX2NhY2hlLmtleXMubG9naW5UeXBlS2V5LGkpKX19XSksdH0oKSxoYT1mdW5jdGlvbih0LGEpe2E9YXx8enQoKTt2YXIgaT1kYSh0aGlzLmNvbmZpZy5lbnYpLGU9dC5jbG91ZFBhdGgsbj10LmZpbGVQYXRoLHI9dC5vblVwbG9hZFByb2dyZXNzLG89dC5maWxlVHlwZSxkPXZvaWQgMD09PW8/ImltYWdlIjpvO3JldHVybiBpLnNlbmQoInN0b3JhZ2UuZ2V0VXBsb2FkTWV0YWRhdGEiLHtwYXRoOmV9KS50aGVuKChmdW5jdGlvbih0KXt2YXIgbz10LmRhdGEscD1vLnVybCxjPW8uYXV0aG9yaXphdGlvbixzPW8udG9rZW4sbD1vLmZpbGVJZCxtPW8uY29zRmlsZUlkLGY9dC5yZXF1ZXN0SWQsZz17a2V5OmUsc2lnbmF0dXJlOmMsIngtY29zLW1ldGEtZmlsZWlkIjptLHN1Y2Nlc3NfYWN0aW9uX3N0YXR1czoiMjAxIiwieC1jb3Mtc2VjdXJpdHktdG9rZW4iOnN9O2kudXBsb2FkKHt1cmw6cCxkYXRhOmcsZmlsZTpuLG5hbWU6ZSxmaWxlVHlwZTpkLG9uVXBsb2FkUHJvZ3Jlc3M6cn0pLnRoZW4oKGZ1bmN0aW9uKHQpezIwMT09PXQuc3RhdHVzQ29kZT9hKG51bGwse2ZpbGVJRDpsLHJlcXVlc3RJZDpmfSk6YShuZXcgY3Qoe2NvZGU6IlNUT1JBR0VfUkVRVUVTVF9GQUlMIixtZXNzYWdlOiJTVE9SQUdFX1JFUVVFU1RfRkFJTDogIi5jb25jYXQodC5kYXRhKX0pKX0pKS5jYXRjaCgoZnVuY3Rpb24odCl7YSh0KX0pKX0pKS5jYXRjaCgoZnVuY3Rpb24odCl7YSh0KX0pKSxhLnByb21pc2V9LHZhPWZ1bmN0aW9uKHQsYSl7YT1hfHx6dCgpO3ZhciBpPWRhKHRoaXMuY29uZmlnLmVudiksZT10LmNsb3VkUGF0aDtyZXR1cm4gaS5zZW5kKCJzdG9yYWdlLmdldFVwbG9hZE1ldGFkYXRhIix7cGF0aDplfSkudGhlbigoZnVuY3Rpb24odCl7YShudWxsLHQpfSkpLmNhdGNoKChmdW5jdGlvbih0KXthKHQpfSkpLGEucHJvbWlzZX0sYmE9ZnVuY3Rpb24odCxhKXt2YXIgaT10LmZpbGVMaXN0O2lmKGE9YXx8enQoKSwhaXx8IUFycmF5LmlzQXJyYXkoaSkpcmV0dXJue2NvZGU6IklOVkFMSURfUEFSQU0iLG1lc3NhZ2U6ImZpbGVMaXN05b+F6aG75piv6Z2e56m655qE5pWw57uEIn07dmFyIGUsbj0oMCxwLmRlZmF1bHQpKGkpO3RyeXtmb3Iobi5zKCk7IShlPW4ubigpKS5kb25lOyl7dmFyIHI9ZS52YWx1ZTtpZighcnx8InN0cmluZyIhPXR5cGVvZiByKXJldHVybntjb2RlOiJJTlZBTElEX1BBUkFNIixtZXNzYWdlOiJmaWxlTGlzdOeahOWFg+e0oOW/hemhu+aYr+mdnuepuueahOWtl+espuS4siJ9fX1jYXRjaChkKXtuLmUoZCl9ZmluYWxseXtuLmYoKX12YXIgbz17ZmlsZWlkX2xpc3Q6aX07cmV0dXJuIGRhKHRoaXMuY29uZmlnLmVudikuc2VuZCgic3RvcmFnZS5iYXRjaERlbGV0ZUZpbGUiLG8pLnRoZW4oKGZ1bmN0aW9uKHQpe3QuY29kZT9hKG51bGwsdCk6YShudWxsLHtmaWxlTGlzdDp0LmRhdGEuZGVsZXRlX2xpc3QscmVxdWVzdElkOnQucmVxdWVzdElkfSl9KSkuY2F0Y2goKGZ1bmN0aW9uKHQpe2EodCl9KSksYS5wcm9taXNlfSx4YT1mdW5jdGlvbih0LGEpe3ZhciBpPXQuZmlsZUxpc3Q7YT1hfHx6dCgpLGkmJkFycmF5LmlzQXJyYXkoaSl8fGEobnVsbCx7Y29kZToiSU5WQUxJRF9QQVJBTSIsbWVzc2FnZToiZmlsZUxpc3Tlv4XpobvmmK/pnZ7nqbrnmoTmlbDnu4QifSk7dmFyIGUsbj1bXSxyPSgwLHAuZGVmYXVsdCkoaSk7dHJ5e2ZvcihyLnMoKTshKGU9ci5uKCkpLmRvbmU7KXt2YXIgZD1lLnZhbHVlOyJvYmplY3QiPT0oMCxvLmRlZmF1bHQpKGQpPyhkLmhhc093blByb3BlcnR5KCJmaWxlSUQiKSYmZC5oYXNPd25Qcm9wZXJ0eSgibWF4QWdlIil8fGEobnVsbCx7Y29kZToiSU5WQUxJRF9QQVJBTSIsbWVzc2FnZToiZmlsZUxpc3TnmoTlhYPntKDlv4XpobvmmK/ljIXlkKtmaWxlSUTlkoxtYXhBZ2XnmoTlr7nosaEifSksbi5wdXNoKHtmaWxlaWQ6ZC5maWxlSUQsbWF4X2FnZTpkLm1heEFnZX0pKToic3RyaW5nIj09dHlwZW9mIGQ/bi5wdXNoKHtmaWxlaWQ6ZH0pOmEobnVsbCx7Y29kZToiSU5WQUxJRF9QQVJBTSIsbWVzc2FnZToiZmlsZUxpc3TnmoTlhYPntKDlv4XpobvmmK/lrZfnrKbkuLIifSl9fWNhdGNoKHMpe3IuZShzKX1maW5hbGx5e3IuZigpfXZhciBjPXtmaWxlX2xpc3Q6bn07cmV0dXJuIGRhKHRoaXMuY29uZmlnLmVudikuc2VuZCgic3RvcmFnZS5iYXRjaEdldERvd25sb2FkVXJsIixjKS50aGVuKChmdW5jdGlvbih0KXt0LmNvZGU/YShudWxsLHQpOmEobnVsbCx7ZmlsZUxpc3Q6dC5kYXRhLmRvd25sb2FkX2xpc3QscmVxdWVzdElkOnQucmVxdWVzdElkfSl9KSkuY2F0Y2goKGZ1bmN0aW9uKHQpe2EodCl9KSksYS5wcm9taXNlfSx5YT1mdW5jdGlvbigpe3ZhciB0PSgwLHMuZGVmYXVsdCkoKDAsYy5kZWZhdWx0KSgpLm1hcmsoKGZ1bmN0aW9uIHQoYSxpKXt2YXIgZSxuLHIsbztyZXR1cm4oMCxjLmRlZmF1bHQpKCkud3JhcCgoZnVuY3Rpb24odCl7d2hpbGUoMSlzd2l0Y2godC5wcmV2PXQubmV4dCl7Y2FzZSAwOnJldHVybiBlPWEuZmlsZUlELHQubmV4dD0zLHhhLmNhbGwodGhpcyx7ZmlsZUxpc3Q6W3tmaWxlSUQ6ZSxtYXhBZ2U6NjAwfV19KTtjYXNlIDM6aWYobj10LnNlbnQuZmlsZUxpc3RbMF0sIlNVQ0NFU1MiPT09bi5jb2RlKXt0Lm5leHQ9NjticmVha31yZXR1cm4gdC5hYnJ1cHQoInJldHVybiIsaT9pKG4pOm5ldyBQcm9taXNlKChmdW5jdGlvbih0KXt0KG4pfSkpKTtjYXNlIDY6aWYocj1kYSh0aGlzLmNvbmZpZy5lbnYpLG89bi5kb3dubG9hZF91cmwsbz1lbmNvZGVVUkkobyksaSl7dC5uZXh0PTEwO2JyZWFrfXJldHVybiB0LmFicnVwdCgicmV0dXJuIixyLmRvd25sb2FkKHt1cmw6b30pKTtjYXNlIDEwOnJldHVybiB0LnQwPWksdC5uZXh0PTEzLHIuZG93bmxvYWQoe3VybDpvfSk7Y2FzZSAxMzp0LnQxPXQuc2VudCwoMCx0LnQwKSh0LnQxKTtjYXNlIDE1OmNhc2UiZW5kIjpyZXR1cm4gdC5zdG9wKCl9fSksdCx0aGlzKX0pKSk7cmV0dXJuIGZ1bmN0aW9uKGEsaSl7cmV0dXJuIHQuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0oKSxBYT1mdW5jdGlvbih0LGEpe3ZhciBpLGU9dC5uYW1lLG49dC5kYXRhLHI9dC5xdWVyeSxvPXQucGFyc2UsZD10LnNlYXJjaCxwPXQudGltZW91dCxjPWF8fHp0KCk7dHJ5e2k9bj9KU09OLnN0cmluZ2lmeShuKToiIn1jYXRjaChlKXtyZXR1cm4gUHJvbWlzZS5yZWplY3QoZSl9aWYoIWUpcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBjdCh7Y29kZToiUEFSQU1fRVJST1IiLG1lc3NhZ2U6IuWHveaVsOWQjeS4jeiDveS4uuepuiJ9KSk7dmFyIHM9e2luUXVlcnk6cixwYXJzZTpvLHNlYXJjaDpkLGZ1bmN0aW9uX25hbWU6ZSxyZXF1ZXN0X2RhdGE6aX07cmV0dXJuIGRhKHRoaXMuY29uZmlnLmVudikuc2VuZCgiZnVuY3Rpb25zLmludm9rZUZ1bmN0aW9uIixzLHt0aW1lb3V0OnB9KS50aGVuKChmdW5jdGlvbih0KXtpZih0LmNvZGUpYyhudWxsLHQpO2Vsc2V7dmFyIGE9dC5kYXRhLnJlc3BvbnNlX2RhdGE7aWYobyljKG51bGwse3Jlc3VsdDphLHJlcXVlc3RJZDp0LnJlcXVlc3RJZH0pO2Vsc2UgdHJ5e2E9SlNPTi5wYXJzZSh0LmRhdGEucmVzcG9uc2VfZGF0YSksYyhudWxsLHtyZXN1bHQ6YSxyZXF1ZXN0SWQ6dC5yZXF1ZXN0SWR9KX1jYXRjaCh0KXtjKG5ldyBjdCh7bWVzc2FnZToicmVzcG9uc2UgZGF0YSBtdXN0IGJlIGpzb24ifSkpfX1yZXR1cm4gYy5wcm9taXNlfSkpLmNhdGNoKChmdW5jdGlvbih0KXtjKHQpfSkpLGMucHJvbWlzZX0sd2E9e3RpbWVvdXQ6MTVlMyxwZXJzaXN0ZW5jZToic2Vzc2lvbiJ9LGthPXt9LFNhPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdChhKXsoMCx1LmRlZmF1bHQpKHRoaXMsdCksdGhpcy5jb25maWc9YXx8dGhpcy5jb25maWcsdGhpcy5hdXRoT2JqPXZvaWQgMH1yZXR1cm4oMCxoLmRlZmF1bHQpKHQsW3trZXk6ImluaXQiLHZhbHVlOmZ1bmN0aW9uKGEpe3N3aXRjaChMdC5hZGFwdGVyfHwodGhpcy5yZXF1ZXN0Q2xpZW50PW5ldyBMdC5hZGFwdGVyLnJlcUNsYXNzKHt0aW1lb3V0OmEudGltZW91dHx8NWUzLHRpbWVvdXRNc2c6Iuivt+axguWcqCIuY29uY2F0KChhLnRpbWVvdXR8fDVlMykvMWUzLCJz5YaF5pyq5a6M5oiQ77yM5bey5Lit5patIil9KSksdGhpcy5jb25maWc9KDAsbC5kZWZhdWx0KSgoMCxsLmRlZmF1bHQpKHt9LHdhKSxhKSwhMCl7Y2FzZSB0aGlzLmNvbmZpZy50aW1lb3V0PjZlNTpjb25zb2xlLndhcm4oInRpbWVvdXTlpKfkuo7lj6/phY3nva7kuIrpmZBbMTDliIbpkp9d77yM5bey6YeN572u5Li65LiK6ZmQ5pWw5YC8IiksdGhpcy5jb25maWcudGltZW91dD02ZTU7YnJlYWs7Y2FzZSB0aGlzLmNvbmZpZy50aW1lb3V0PDEwMDpjb25zb2xlLndhcm4oInRpbWVvdXTlsI/kuo7lj6/phY3nva7kuIvpmZBbMTAwbXNd77yM5bey6YeN572u5Li65LiL6ZmQ5pWw5YC8IiksdGhpcy5jb25maWcudGltZW91dD0xMDB9cmV0dXJuIG5ldyB0KHRoaXMuY29uZmlnKX19LHtrZXk6ImF1dGgiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIHQ9YXJndW1lbnRzLmxlbmd0aD4wJiZ2b2lkIDAhPT1hcmd1bWVudHNbMF0/YXJndW1lbnRzWzBdOnt9LGE9dC5wZXJzaXN0ZW5jZTtpZih0aGlzLmF1dGhPYmopcmV0dXJuIHRoaXMuYXV0aE9iajt2YXIgaSxlPWF8fEx0LmFkYXB0ZXIucHJpbWFyeVN0b3JhZ2V8fHdhLnBlcnNpc3RlbmNlO3JldHVybiBlIT09dGhpcy5jb25maWcucGVyc2lzdGVuY2UmJih0aGlzLmNvbmZpZy5wZXJzaXN0ZW5jZT1lKSxmdW5jdGlvbih0KXt2YXIgYT10LmVudjtGdFthXT1uZXcgUnQodCksX3RbYV09bmV3IFJ0KCgwLGwuZGVmYXVsdCkoKDAsbC5kZWZhdWx0KSh7fSx0KSx7fSx7cGVyc2lzdGVuY2U6ImxvY2FsIn0pKX0odGhpcy5jb25maWcpLGk9dGhpcy5jb25maWcsb2FbaS5lbnZdPW5ldyByYShpKSx0aGlzLmF1dGhPYmo9bmV3IHVhKHRoaXMuY29uZmlnKSx0aGlzLmF1dGhPYmp9fSx7a2V5OiJvbiIsdmFsdWU6ZnVuY3Rpb24odCxhKXtyZXR1cm4gWXQuYXBwbHkodGhpcyxbdCxhXSl9fSx7a2V5OiJvZmYiLHZhbHVlOmZ1bmN0aW9uKHQsYSl7cmV0dXJuIFF0LmFwcGx5KHRoaXMsW3QsYV0pfX0se2tleToiY2FsbEZ1bmN0aW9uIix2YWx1ZTpmdW5jdGlvbih0LGEpe3JldHVybiBBYS5hcHBseSh0aGlzLFt0LGFdKX19LHtrZXk6ImRlbGV0ZUZpbGUiLHZhbHVlOmZ1bmN0aW9uKHQsYSl7cmV0dXJuIGJhLmFwcGx5KHRoaXMsW3QsYV0pfX0se2tleToiZ2V0VGVtcEZpbGVVUkwiLHZhbHVlOmZ1bmN0aW9uKHQsYSl7cmV0dXJuIHhhLmFwcGx5KHRoaXMsW3QsYV0pfX0se2tleToiZG93bmxvYWRGaWxlIix2YWx1ZTpmdW5jdGlvbih0LGEpe3JldHVybiB5YS5hcHBseSh0aGlzLFt0LGFdKX19LHtrZXk6InVwbG9hZEZpbGUiLHZhbHVlOmZ1bmN0aW9uKHQsYSl7cmV0dXJuIGhhLmFwcGx5KHRoaXMsW3QsYV0pfX0se2tleToiZ2V0VXBsb2FkTWV0YWRhdGEiLHZhbHVlOmZ1bmN0aW9uKHQsYSl7cmV0dXJuIHZhLmFwcGx5KHRoaXMsW3QsYV0pfX0se2tleToicmVnaXN0ZXJFeHRlbnNpb24iLHZhbHVlOmZ1bmN0aW9uKHQpe2thW3QubmFtZV09dH19LHtrZXk6Imludm9rZUV4dGVuc2lvbiIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgdD0oMCxzLmRlZmF1bHQpKCgwLGMuZGVmYXVsdCkoKS5tYXJrKChmdW5jdGlvbiB0KGEsaSl7dmFyIGU7cmV0dXJuKDAsYy5kZWZhdWx0KSgpLndyYXAoKGZ1bmN0aW9uKHQpe3doaWxlKDEpc3dpdGNoKHQucHJldj10Lm5leHQpe2Nhc2UgMDppZihlPWthW2FdLGUpe3QubmV4dD0zO2JyZWFrfXRocm93IG5ldyBjdCh7bWVzc2FnZToi5omp5bGVIi5jb25jYXQoYSwiIOW/hemhu+WFiOazqOWGjCIpfSk7Y2FzZSAzOnJldHVybiB0Lm5leHQ9NSxlLmludm9rZShpLHRoaXMpO2Nhc2UgNTpyZXR1cm4gdC5hYnJ1cHQoInJldHVybiIsdC5zZW50KTtjYXNlIDY6Y2FzZSJlbmQiOnJldHVybiB0LnN0b3AoKX19KSx0LHRoaXMpfSkpKTtyZXR1cm4gZnVuY3Rpb24oYSxpKXtyZXR1cm4gdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSgpfSx7a2V5OiJ1c2VBZGFwdGVycyIsdmFsdWU6ZnVuY3Rpb24odCl7dmFyIGE9ZnVuY3Rpb24odCl7dmFyIGEsaSxlPShhPXQsIltvYmplY3QgQXJyYXldIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChhKT90Olt0XSksbj0oMCxwLmRlZmF1bHQpKGUpO3RyeXtmb3Iobi5zKCk7IShpPW4ubigpKS5kb25lOyl7dmFyIHI9aS52YWx1ZSxvPXIuaXNNYXRjaCxkPXIuZ2VuQWRhcHRlcixjPXIucnVudGltZTtpZihvKCkpcmV0dXJue2FkYXB0ZXI6ZCgpLHJ1bnRpbWU6Y319fWNhdGNoKHMpe24uZShzKX1maW5hbGx5e24uZigpfX0odCl8fHt9LGk9YS5hZGFwdGVyLGU9YS5ydW50aW1lO2kmJihMdC5hZGFwdGVyPWkpLGUmJihMdC5ydW50aW1lPWUpfX1dKSx0fSgpLFRhPW5ldyBTYTtmdW5jdGlvbiBDYSh0LGEsaSl7dm9pZCAwPT09aSYmKGk9e30pO3ZhciBlPS9cPy8udGVzdChhKSxuPSIiO2Zvcih2YXIgciBpbiBpKSIiPT09bj8hZSYmKGErPSI/Iik6bis9IiYiLG4rPXIrIj0iK2VuY29kZVVSSUNvbXBvbmVudChpW3JdKTtyZXR1cm4vXmh0dHAocyk/OlwvXC8vLnRlc3QoYSs9bik/YToiIit0K2F9dmFyIFBhPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpeygwLHUuZGVmYXVsdCkodGhpcyx0KX1yZXR1cm4oMCxoLmRlZmF1bHQpKHQsW3trZXk6ImdldCIsdmFsdWU6ZnVuY3Rpb24odCl7dmFyIGE9dC51cmwsaT10LmRhdGEsZT10LmhlYWRlcnMsbj10LnRpbWVvdXQ7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbih0LHIpe210LnJlcXVlc3Qoe3VybDpDYSgiaHR0cHM6IixhKSxkYXRhOmksbWV0aG9kOiJHRVQiLGhlYWRlcjplLHRpbWVvdXQ6bixzdWNjZXNzOmZ1bmN0aW9uKGEpe3QoYSl9LGZhaWw6ZnVuY3Rpb24odCl7cih0KX19KX0pKX19LHtrZXk6InBvc3QiLHZhbHVlOmZ1bmN0aW9uKHQpe3ZhciBhPXQudXJsLGk9dC5kYXRhLGU9dC5oZWFkZXJzLG49dC50aW1lb3V0O3JldHVybiBuZXcgUHJvbWlzZSgoZnVuY3Rpb24odCxyKXttdC5yZXF1ZXN0KHt1cmw6Q2EoImh0dHBzOiIsYSksZGF0YTppLG1ldGhvZDoiUE9TVCIsaGVhZGVyOmUsdGltZW91dDpuLHN1Y2Nlc3M6ZnVuY3Rpb24oYSl7dChhKX0sZmFpbDpmdW5jdGlvbih0KXtyKHQpfX0pfSkpfX0se2tleToidXBsb2FkIix2YWx1ZTpmdW5jdGlvbih0KXtyZXR1cm4gbmV3IFByb21pc2UoKGZ1bmN0aW9uKGEsaSl7dmFyIGU9dC51cmwsbj10LmZpbGUscj10LmRhdGEsbz10LmhlYWRlcnMsZD10LmZpbGVUeXBlLHA9bXQudXBsb2FkRmlsZSh7dXJsOkNhKCJodHRwczoiLGUpLG5hbWU6ImZpbGUiLGZvcm1EYXRhOk9iamVjdC5hc3NpZ24oe30sciksZmlsZVBhdGg6bixmaWxlVHlwZTpkLGhlYWRlcjpvLHN1Y2Nlc3M6ZnVuY3Rpb24odCl7dmFyIGk9e3N0YXR1c0NvZGU6dC5zdGF0dXNDb2RlLGRhdGE6dC5kYXRhfHx7fX07MjAwPT09dC5zdGF0dXNDb2RlJiZyLnN1Y2Nlc3NfYWN0aW9uX3N0YXR1cyYmKGkuc3RhdHVzQ29kZT1wYXJzZUludChyLnN1Y2Nlc3NfYWN0aW9uX3N0YXR1cywxMCkpLGEoaSl9LGZhaWw6ZnVuY3Rpb24odCl7aShuZXcgRXJyb3IodC5lcnJNc2d8fCJ1cGxvYWRGaWxlOmZhaWwiKSl9fSk7ImZ1bmN0aW9uIj09dHlwZW9mIHQub25VcGxvYWRQcm9ncmVzcyYmcCYmImZ1bmN0aW9uIj09dHlwZW9mIHAub25Qcm9ncmVzc1VwZGF0ZSYmcC5vblByb2dyZXNzVXBkYXRlKChmdW5jdGlvbihhKXt0Lm9uVXBsb2FkUHJvZ3Jlc3Moe2xvYWRlZDphLnRvdGFsQnl0ZXNTZW50LHRvdGFsOmEudG90YWxCeXRlc0V4cGVjdGVkVG9TZW5kfSl9KSl9KSl9fV0pLHR9KCksemE9e3NldEl0ZW06ZnVuY3Rpb24odCxhKXttdC5zZXRTdG9yYWdlU3luYyh0LGEpfSxnZXRJdGVtOmZ1bmN0aW9uKHQpe3JldHVybiBtdC5nZXRTdG9yYWdlU3luYyh0KX0scmVtb3ZlSXRlbTpmdW5jdGlvbih0KXttdC5yZW1vdmVTdG9yYWdlU3luYyh0KX0sY2xlYXI6ZnVuY3Rpb24oKXttdC5jbGVhclN0b3JhZ2VTeW5jKCl9fSxJYT17Z2VuQWRhcHRlcjpmdW5jdGlvbigpe3JldHVybntyb290Ont9LHJlcUNsYXNzOlBhLGxvY2FsU3RvcmFnZTp6YSxwcmltYXJ5U3RvcmFnZToibG9jYWwifX0saXNNYXRjaDpmdW5jdGlvbigpe3JldHVybiEwfSxydW50aW1lOiJ1bmlfYXBwIn07VGEudXNlQWRhcHRlcnMoSWEpO3ZhciBEYT1UYSxNYT1EYS5pbml0O0RhLmluaXQ9ZnVuY3Rpb24odCl7dC5lbnY9dC5zcGFjZUlkO3ZhciBhPU1hLmNhbGwodGhpcyx0KTthLmNvbmZpZy5wcm92aWRlcj0idGVuY2VudCIsYS5jb25maWcuc3BhY2VJZD10LnNwYWNlSWQ7dmFyIGk9YS5hdXRoO3JldHVybiBhLmF1dGg9ZnVuY3Rpb24odCl7dmFyIGE9aS5jYWxsKHRoaXMsdCk7cmV0dXJuWyJsaW5rQW5kUmV0cmlldmVEYXRhV2l0aFRpY2tldCIsInNpZ25JbkFub255bW91c2x5Iiwic2lnbk91dCIsImdldEFjY2Vzc1Rva2VuIiwiZ2V0TG9naW5TdGF0ZSIsInNpZ25JbldpdGhUaWNrZXQiLCJnZXRVc2VySW5mbyJdLmZvckVhY2goKGZ1bmN0aW9uKHQpe3ZhciBpO2FbdF09KGk9YVt0XSxmdW5jdGlvbih0KXt0PXR8fHt9O3ZhciBhPXB0KHQpLGU9YS5zdWNjZXNzLG49YS5mYWlsLHI9YS5jb21wbGV0ZTtpZighKGV8fG58fHIpKXJldHVybiBpLmNhbGwodGhpcyx0KTtpLmNhbGwodGhpcyx0KS50aGVuKChmdW5jdGlvbih0KXtlJiZlKHQpLHImJnIodCl9KSwoZnVuY3Rpb24odCl7biYmbih0KSxyJiZyKHQpfSkpfSkuYmluZChhKX0pKSxhfSxhLmN1c3RvbUF1dGg9YS5hdXRoLGF9O3ZhciBFYT1EYTtmdW5jdGlvbiBMYSh0LGEpe3JldHVybiBPYS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9ZnVuY3Rpb24gT2EoKXtyZXR1cm4gT2E9KDAscy5kZWZhdWx0KSgoMCxjLmRlZmF1bHQpKCkubWFyaygoZnVuY3Rpb24gdChhLGkpe3ZhciBlLG4scjtyZXR1cm4oMCxjLmRlZmF1bHQpKCkud3JhcCgoZnVuY3Rpb24odCl7d2hpbGUoMSlzd2l0Y2godC5wcmV2PXQubmV4dCl7Y2FzZSAwOnJldHVybiBlPSJodHRwOi8vIi5jb25jYXQoYSwiOiIpLmNvbmNhdChpLCIvc3lzdGVtL3BpbmciKSx0LnByZXY9MSx0Lm5leHQ9NCxyPXt1cmw6ZSx0aW1lb3V0OjUwMH0sbmV3IFByb21pc2UoKGZ1bmN0aW9uKHQsYSl7bXQucmVxdWVzdCgoMCxsLmRlZmF1bHQpKCgwLGwuZGVmYXVsdCkoe30scikse30se3N1Y2Nlc3M6ZnVuY3Rpb24oYSl7dChhKX0sZmFpbDpmdW5jdGlvbih0KXthKHQpfX0pKX0pKTtjYXNlIDQ6cmV0dXJuIG49dC5zZW50LHQuYWJydXB0KCJyZXR1cm4iLCEoIW4uZGF0YXx8MCE9PW4uZGF0YS5jb2RlKSk7Y2FzZSA4OnJldHVybiB0LnByZXY9OCx0LnQwPXRbImNhdGNoIl0oMSksdC5hYnJ1cHQoInJldHVybiIsITEpO2Nhc2UgMTE6Y2FzZSJlbmQiOnJldHVybiB0LnN0b3AoKX19KSx0LG51bGwsW1sxLDhdXSl9KSkpLE9hLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1mdW5jdGlvbiBOYSh0LGEpe3JldHVybiBCYS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9ZnVuY3Rpb24gQmEoKXtyZXR1cm4gQmE9KDAscy5kZWZhdWx0KSgoMCxjLmRlZmF1bHQpKCkubWFyaygoZnVuY3Rpb24gdChhLGkpe3ZhciBlLG4scjtyZXR1cm4oMCxjLmRlZmF1bHQpKCkud3JhcCgoZnVuY3Rpb24odCl7d2hpbGUoMSlzd2l0Y2godC5wcmV2PXQubmV4dCl7Y2FzZSAwOm49MDtjYXNlIDE6aWYoIShuPGEubGVuZ3RoKSl7dC5uZXh0PTExO2JyZWFrfXJldHVybiByPWFbbl0sdC5uZXh0PTUsTGEocixpKTtjYXNlIDU6aWYoIXQuc2VudCl7dC5uZXh0PTg7YnJlYWt9cmV0dXJuIGU9cix0LmFicnVwdCgiYnJlYWsiLDExKTtjYXNlIDg6bisrLHQubmV4dD0xO2JyZWFrO2Nhc2UgMTE6cmV0dXJuIHQuYWJydXB0KCJyZXR1cm4iLHthZGRyZXNzOmUscG9ydDppfSk7Y2FzZSAxMjpjYXNlImVuZCI6cmV0dXJuIHQuc3RvcCgpfX0pLHQpfSkpKSxCYS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9dmFyIFJhPXsic2VydmVybGVzcy5maWxlLnJlc291cmNlLmdlbmVyYXRlUHJveGltYWxTaWduIjoic3RvcmFnZS9nZW5lcmF0ZS1wcm94aW1hbC1zaWduIiwic2VydmVybGVzcy5maWxlLnJlc291cmNlLnJlcG9ydCI6InN0b3JhZ2UvcmVwb3J0Iiwic2VydmVybGVzcy5maWxlLnJlc291cmNlLmRlbGV0ZSI6InN0b3JhZ2UvZGVsZXRlIiwic2VydmVybGVzcy5maWxlLnJlc291cmNlLmdldFRlbXBGaWxlVVJMIjoic3RvcmFnZS9nZXQtdGVtcC1maWxlLXVybCJ9LEZhPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdChhKXtpZigoMCx1LmRlZmF1bHQpKHRoaXMsdCksWyJzcGFjZUlkIiwiY2xpZW50U2VjcmV0Il0uZm9yRWFjaCgoZnVuY3Rpb24odCl7aWYoIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChhLHQpKXRocm93IG5ldyBFcnJvcigiIi5jb25jYXQodCwiIHJlcXVpcmVkIikpfSkpLCFhLmVuZHBvaW50KXRocm93IG5ldyBFcnJvcigi6ZuG576k56m66Ze05pyq6YWN572uQXBpRW5kcG9pbnTvvIzphY3nva7lkI7pnIDopoHph43mlrDlhbPogZTmnI3liqHnqbrpl7TlkI7nlJ/mlYgiKTt0aGlzLmNvbmZpZz1PYmplY3QuYXNzaWduKHt9LGEpLHRoaXMuY29uZmlnLnByb3ZpZGVyPSJkY2xvdWQiLHRoaXMuY29uZmlnLnJlcXVlc3RVcmw9dGhpcy5jb25maWcuZW5kcG9pbnQrIi9jbGllbnQiLHRoaXMuY29uZmlnLmVudlR5cGU9dGhpcy5jb25maWcuZW52VHlwZXx8InB1YmxpYyIsdGhpcy5hZGFwdGVyPW10fXJldHVybigwLGguZGVmYXVsdCkodCxbe2tleToicmVxdWVzdCIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgdD0oMCxzLmRlZmF1bHQpKCgwLGMuZGVmYXVsdCkoKS5tYXJrKChmdW5jdGlvbiB0KGEpe3ZhciBpLGU9dGhpcyxuPWFyZ3VtZW50cztyZXR1cm4oMCxjLmRlZmF1bHQpKCkud3JhcCgoZnVuY3Rpb24odCl7d2hpbGUoMSlzd2l0Y2godC5wcmV2PXQubmV4dCl7Y2FzZSAwOmlmKCEobi5sZW5ndGg+MSYmdm9pZCAwIT09blsxXSl8fG5bMV0saT0hMSwhaSl7dC5uZXh0PTg7YnJlYWt9cmV0dXJuIHQubmV4dD01LHRoaXMuc2V0dXBMb2NhbFJlcXVlc3QoYSk7Y2FzZSA1OnQudDA9dC5zZW50LHQubmV4dD05O2JyZWFrO2Nhc2UgODp0LnQwPXRoaXMuc2V0dXBSZXF1ZXN0KGEpO2Nhc2UgOTpyZXR1cm4gYT10LnQwLHQuYWJydXB0KCJyZXR1cm4iLFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKGZ1bmN0aW9uKCl7cmV0dXJuIGk/ZS5yZXF1ZXN0TG9jYWwoYSk6eHQud3JhcHBlZFJlcXVlc3QoYSxlLmFkYXB0ZXIucmVxdWVzdCl9KSkpO2Nhc2UgMTE6Y2FzZSJlbmQiOnJldHVybiB0LnN0b3AoKX19KSx0LHRoaXMpfSkpKTtyZXR1cm4gZnVuY3Rpb24oYSl7cmV0dXJuIHQuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0oKX0se2tleToicmVxdWVzdExvY2FsIix2YWx1ZTpmdW5jdGlvbih0KXt2YXIgYT10aGlzO3JldHVybiBuZXcgUHJvbWlzZSgoZnVuY3Rpb24oaSxlKXthLmFkYXB0ZXIucmVxdWVzdChPYmplY3QuYXNzaWduKHQse2NvbXBsZXRlOmZ1bmN0aW9uKHQpe2lmKHR8fCh0PXt9KSwhdC5zdGF0dXNDb2RlfHx0LnN0YXR1c0NvZGU+PTQwMCl7dmFyIGE9dC5kYXRhJiZ0LmRhdGEuY29kZXx8IlNZU19FUlIiLG49dC5kYXRhJiZ0LmRhdGEubWVzc2FnZXx8InJlcXVlc3Q6ZmFpbCI7cmV0dXJuIGUobmV3IGN0KHtjb2RlOmEsbWVzc2FnZTpufSkpfWkoe3N1Y2Nlc3M6ITAscmVzdWx0OnQuZGF0YX0pfX0pKX0pKX19LHtrZXk6InNldHVwUmVxdWVzdCIsdmFsdWU6ZnVuY3Rpb24odCl7dmFyIGE9T2JqZWN0LmFzc2lnbih7fSx0LHtzcGFjZUlkOnRoaXMuY29uZmlnLnNwYWNlSWQsdGltZXN0YW1wOkRhdGUubm93KCl9KSxpPXsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiJ9O2lbIngtc2VydmVybGVzcy1zaWduIl09eHQuc2lnbihhLHRoaXMuY29uZmlnLmNsaWVudFNlY3JldCk7dmFyIGU9dnQoKTtpWyJ4LWNsaWVudC1pbmZvIl09ZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KGUpKTt2YXIgbj1mdCgpLHI9bi50b2tlbjtyZXR1cm4gaVsieC1jbGllbnQtdG9rZW4iXT1yLHt1cmw6dGhpcy5jb25maWcucmVxdWVzdFVybCxtZXRob2Q6IlBPU1QiLGRhdGE6YSxkYXRhVHlwZToianNvbiIsaGVhZGVyOkpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoaSkpfX19LHtrZXk6InNldHVwTG9jYWxSZXF1ZXN0Iix2YWx1ZTpmdW5jdGlvbigpe3ZhciB0PSgwLHMuZGVmYXVsdCkoKDAsYy5kZWZhdWx0KSgpLm1hcmsoKGZ1bmN0aW9uIHQoYSl7dmFyIGksZSxuLHIsbyxkLHAscyxsO3JldHVybigwLGMuZGVmYXVsdCkoKS53cmFwKChmdW5jdGlvbih0KXt3aGlsZSgxKXN3aXRjaCh0LnByZXY9dC5uZXh0KXtjYXNlIDA6cmV0dXJuIGk9dnQoKSxlPWZ0KCksbj1lLnRva2VuLHI9T2JqZWN0LmFzc2lnbih7fSxhLHtzcGFjZUlkOnRoaXMuY29uZmlnLnNwYWNlSWQsdGltZXN0YW1wOkRhdGUubm93KCksY2xpZW50SW5mbzppLHRva2VuOm59KSxvPXRoaXMuX19kZXZfXyYmdGhpcy5fX2Rldl9fLmRlYnVnSW5mb3x8e30sZD1vLmFkZHJlc3MscD1vLnNlcnZlUG9ydCx0Lm5leHQ9OSxOYShkLHApO2Nhc2UgOTpyZXR1cm4gcz10LnNlbnQsbD1zLmFkZHJlc3MsdC5hYnJ1cHQoInJldHVybiIse3VybDoiaHR0cDovLyIuY29uY2F0KGwsIjoiKS5jb25jYXQocCwiLyIpLmNvbmNhdChSYVthLm1ldGhvZF0pLG1ldGhvZDoiUE9TVCIsZGF0YTpyLGRhdGFUeXBlOiJqc29uIixoZWFkZXI6SlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24ifSkpfSk7Y2FzZSAxMjpjYXNlImVuZCI6cmV0dXJuIHQuc3RvcCgpfX0pLHQsdGhpcyl9KSkpO3JldHVybiBmdW5jdGlvbihhKXtyZXR1cm4gdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSgpfSx7a2V5OiJjYWxsRnVuY3Rpb24iLHZhbHVlOmZ1bmN0aW9uKHQpe3ZhciBhPXttZXRob2Q6InNlcnZlcmxlc3MuZnVuY3Rpb24ucnVudGltZS5pbnZva2UiLHBhcmFtczpKU09OLnN0cmluZ2lmeSh7ZnVuY3Rpb25UYXJnZXQ6dC5uYW1lLGZ1bmN0aW9uQXJnczp0LmRhdGF8fHt9fSl9O3JldHVybiB0aGlzLnJlcXVlc3QoYSwhMSl9fSx7a2V5OiJnZXRVcGxvYWRGaWxlT3B0aW9ucyIsdmFsdWU6ZnVuY3Rpb24odCl7dmFyIGE9e21ldGhvZDoic2VydmVybGVzcy5maWxlLnJlc291cmNlLmdlbmVyYXRlUHJveGltYWxTaWduIixwYXJhbXM6SlNPTi5zdHJpbmdpZnkodCl9O3JldHVybiB0aGlzLnJlcXVlc3QoYSl9fSx7a2V5OiJyZXBvcnRVcGxvYWRGaWxlIix2YWx1ZTpmdW5jdGlvbih0KXt2YXIgYT17bWV0aG9kOiJzZXJ2ZXJsZXNzLmZpbGUucmVzb3VyY2UucmVwb3J0IixwYXJhbXM6SlNPTi5zdHJpbmdpZnkodCl9O3JldHVybiB0aGlzLnJlcXVlc3QoYSl9fSx7a2V5OiJ1cGxvYWRGaWxlIix2YWx1ZTpmdW5jdGlvbih0KXt2YXIgYSxpPXRoaXMsZT10LmZpbGVQYXRoLG49dC5jbG91ZFBhdGgscj10LmZpbGVUeXBlLG89dm9pZCAwPT09cj8iaW1hZ2UiOnIsZD10Lm9uVXBsb2FkUHJvZ3Jlc3M7aWYoIW4pdGhyb3cgbmV3IGN0KHtjb2RlOiJDTE9VRFBBVEhfUkVRVUlSRUQiLG1lc3NhZ2U6ImNsb3VkUGF0aOS4jeWPr+S4uuepuiJ9KTtyZXR1cm4gdGhpcy5nZXRVcGxvYWRGaWxlT3B0aW9ucyh7Y2xvdWRQYXRoOm59KS50aGVuKChmdW5jdGlvbih0KXt2YXIgbj10LnJlc3VsdCxyPW4udXJsLHA9bi5mb3JtRGF0YSxjPW4ubmFtZTtyZXR1cm4gYT10LnJlc3VsdC5maWxlVXJsLG5ldyBQcm9taXNlKChmdW5jdGlvbih0LGEpe3ZhciBuPWkuYWRhcHRlci51cGxvYWRGaWxlKHt1cmw6cixmb3JtRGF0YTpwLG5hbWU6YyxmaWxlUGF0aDplLGZpbGVUeXBlOm8sc3VjY2VzczpmdW5jdGlvbihpKXtpJiZpLnN0YXR1c0NvZGU8NDAwP3QoaSk6YShuZXcgY3Qoe2NvZGU6IlVQTE9BRF9GQUlMRUQiLG1lc3NhZ2U6IuaWh+S7tuS4iuS8oOWksei0pSJ9KSl9LGZhaWw6ZnVuY3Rpb24odCl7YShuZXcgY3Qoe2NvZGU6dC5jb2RlfHwiVVBMT0FEX0ZBSUxFRCIsbWVzc2FnZTp0Lm1lc3NhZ2V8fHQuZXJyTXNnfHwi5paH5Lu25LiK5Lyg5aSx6LSlIn0pKX19KTsiZnVuY3Rpb24iPT10eXBlb2YgZCYmbiYmImZ1bmN0aW9uIj09dHlwZW9mIG4ub25Qcm9ncmVzc1VwZGF0ZSYmbi5vblByb2dyZXNzVXBkYXRlKChmdW5jdGlvbih0KXtkKHtsb2FkZWQ6dC50b3RhbEJ5dGVzU2VudCx0b3RhbDp0LnRvdGFsQnl0ZXNFeHBlY3RlZFRvU2VuZH0pfSkpfSkpfSkpLnRoZW4oKGZ1bmN0aW9uKCl7cmV0dXJuIGkucmVwb3J0VXBsb2FkRmlsZSh7Y2xvdWRQYXRoOm59KX0pKS50aGVuKChmdW5jdGlvbih0KXtyZXR1cm4gbmV3IFByb21pc2UoKGZ1bmN0aW9uKGksbil7dC5zdWNjZXNzP2koe3N1Y2Nlc3M6ITAsZmlsZVBhdGg6ZSxmaWxlSUQ6YX0pOm4obmV3IGN0KHtjb2RlOiJVUExPQURfRkFJTEVEIixtZXNzYWdlOiLmlofku7bkuIrkvKDlpLHotKUifSkpfSkpfSkpfX0se2tleToiZGVsZXRlRmlsZSIsdmFsdWU6ZnVuY3Rpb24odCl7dmFyIGE9dC5maWxlTGlzdCxpPXttZXRob2Q6InNlcnZlcmxlc3MuZmlsZS5yZXNvdXJjZS5kZWxldGUiLHBhcmFtczpKU09OLnN0cmluZ2lmeSh7ZmlsZUxpc3Q6YX0pfTtyZXR1cm4gdGhpcy5yZXF1ZXN0KGkpLnRoZW4oKGZ1bmN0aW9uKHQpe2lmKHQuc3VjY2VzcylyZXR1cm4gdC5yZXN1bHQ7dGhyb3cgbmV3IGN0KHtjb2RlOiJERUxFVEVfRklMRV9GQUlMRUQiLG1lc3NhZ2U6IuWIoOmZpOaWh+S7tuWksei0pSJ9KX0pKX19LHtrZXk6ImdldFRlbXBGaWxlVVJMIix2YWx1ZTpmdW5jdGlvbigpe3ZhciB0PWFyZ3VtZW50cy5sZW5ndGg+MCYmdm9pZCAwIT09YXJndW1lbnRzWzBdP2FyZ3VtZW50c1swXTp7fSxhPXQuZmlsZUxpc3QsaT10Lm1heEFnZTtpZighQXJyYXkuaXNBcnJheShhKXx8MD09PWEubGVuZ3RoKXRocm93IG5ldyBjdCh7Y29kZToiSU5WQUxJRF9QQVJBTSIsbWVzc2FnZToiZmlsZUxpc3TnmoTlhYPntKDlv4XpobvmmK/pnZ7nqbrnmoTlrZfnrKbkuLIifSk7dmFyIGU9e21ldGhvZDoic2VydmVybGVzcy5maWxlLnJlc291cmNlLmdldFRlbXBGaWxlVVJMIixwYXJhbXM6SlNPTi5zdHJpbmdpZnkoe2ZpbGVMaXN0OmEsbWF4QWdlOml9KX07cmV0dXJuIHRoaXMucmVxdWVzdChlKS50aGVuKChmdW5jdGlvbih0KXtpZih0LnN1Y2Nlc3MpcmV0dXJue2ZpbGVMaXN0OnQucmVzdWx0LmZpbGVMaXN0Lm1hcCgoZnVuY3Rpb24odCl7cmV0dXJue2ZpbGVJRDp0LmZpbGVJRCx0ZW1wRmlsZVVSTDp0LnRlbXBGaWxlVVJMfX0pKX07dGhyb3cgbmV3IGN0KHtjb2RlOiJHRVRfVEVNUF9GSUxFX1VSTF9GQUlMRUQiLG1lc3NhZ2U6IuiOt+WPluS4tOaXtuaWh+S7tumTvuaOpeWksei0pSJ9KX0pKX19XSksdH0oKSxfYT17aW5pdDpmdW5jdGlvbih0KXt2YXIgYT1uZXcgRmEodCksaT17c2lnbkluQW5vbnltb3VzbHk6ZnVuY3Rpb24oKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCl9LGdldExvZ2luU3RhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCExKX19O3JldHVybiBhLmF1dGg9ZnVuY3Rpb24oKXtyZXR1cm4gaX0sYS5jdXN0b21BdXRoPWEuYXV0aCxhfX0samE9YigoZnVuY3Rpb24odCxhKXt0LmV4cG9ydHM9eS5lbmMuSGV4fSkpO2Z1bmN0aW9uIFVhKCl7cmV0dXJuInh4eHh4eHh4LXh4eHgtNHh4eC15eHh4LXh4eHh4eHh4eHh4eCIucmVwbGFjZSgvW3h5XS9nLChmdW5jdGlvbih0KXt2YXIgYT0xNipNYXRoLnJhbmRvbSgpfDA7cmV0dXJuKCJ4Ij09PXQ/YTozJmF8OCkudG9TdHJpbmcoMTYpfSkpfWZ1bmN0aW9uIFdhKCl7dmFyIHQ9YXJndW1lbnRzLmxlbmd0aD4wJiZ2b2lkIDAhPT1hcmd1bWVudHNbMF0/YXJndW1lbnRzWzBdOiIiLGE9YXJndW1lbnRzLmxlbmd0aD4xJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0/YXJndW1lbnRzWzFdOnt9LGk9YS5kYXRhLGU9YS5mdW5jdGlvbk5hbWUsbj1hLm1ldGhvZCxvPWEuaGVhZGVycyxkPWEuc2lnbkhlYWRlcktleXMscD12b2lkIDA9PT1kP1tdOmQsYz1hLmNvbmZpZyxzPVN0cmluZyhEYXRlLm5vdygpKSxsPVVhKCksbT1PYmplY3QuYXNzaWduKHt9LG8seyJ4LWZyb20tYXBwLWlkIjpjLnNwYWNlQXBwSWQsIngtZnJvbS1lbnYtaWQiOmMuc3BhY2VJZCwieC10by1lbnYtaWQiOmMuc3BhY2VJZCwieC1mcm9tLWluc3RhbmNlLWlkIjpzLCJ4LWZyb20tZnVuY3Rpb24tbmFtZSI6ZSwieC1jbGllbnQtdGltZXN0YW1wIjpzLCJ4LWFsaXBheS1zb3VyY2UiOiJjbGllbnQiLCJ4LXJlcXVlc3QtaWQiOmwsIngtYWxpcGF5LWNhbGxpZCI6bCwieC10cmFjZS1pZCI6bH0pLGY9WyJ4LWZyb20tYXBwLWlkIiwieC1mcm9tLWVudi1pZCIsIngtdG8tZW52LWlkIiwieC1mcm9tLWluc3RhbmNlLWlkIiwieC1mcm9tLWZ1bmN0aW9uLW5hbWUiLCJ4LWNsaWVudC10aW1lc3RhbXAiXS5jb25jYXQocCksZz10LnNwbGl0KCI/Iil8fFtdLHU9KDAsci5kZWZhdWx0KShnLDIpLGg9dVswXSx2PXZvaWQgMD09PWg/IiI6aCxiPXVbMV0seD12b2lkIDA9PT1iPyIiOmIseT1mdW5jdGlvbih0KXt2YXIgYT0iSE1BQy1TSEEyNTYiLGk9dC5zaWduZWRIZWFkZXJzLmpvaW4oIjsiKSxlPXQuc2lnbmVkSGVhZGVycy5tYXAoKGZ1bmN0aW9uKGEpe3JldHVybiIiLmNvbmNhdChhLnRvTG93ZXJDYXNlKCksIjoiKS5jb25jYXQodC5oZWFkZXJzW2FdLCJcbiIpfSkpLmpvaW4oIiIpLG49Q3QodC5ib2R5KS50b1N0cmluZyhqYSkscj0iIi5jb25jYXQodC5tZXRob2QudG9VcHBlckNhc2UoKSwiXG4iKS5jb25jYXQodC5wYXRoLCJcbiIpLmNvbmNhdCh0LnF1ZXJ5LCJcbiIpLmNvbmNhdChlLCJcbiIpLmNvbmNhdChpLCJcbiIpLmNvbmNhdChuLCJcbiIpLG89Q3QocikudG9TdHJpbmcoamEpLGQ9IiIuY29uY2F0KGEsIlxuIikuY29uY2F0KHQudGltZXN0YW1wLCJcbiIpLmNvbmNhdChvLCJcbiIpLHA9UHQoZCx0LnNlY3JldEtleSkudG9TdHJpbmcoamEpO3JldHVybiIiLmNvbmNhdChhLCIgQ3JlZGVudGlhbD0iKS5jb25jYXQodC5zZWNyZXRJZCwiLCBTaWduZWRIZWFkZXJzPSIpLmNvbmNhdChpLCIsIFNpZ25hdHVyZT0iKS5jb25jYXQocCl9KHtwYXRoOnYscXVlcnk6eCxtZXRob2Q6bixoZWFkZXJzOm0sdGltZXN0YW1wOnMsYm9keTpKU09OLnN0cmluZ2lmeShpKSxzZWNyZXRJZDpjLmFjY2Vzc0tleSxzZWNyZXRLZXk6Yy5zZWNyZXRLZXksc2lnbmVkSGVhZGVyczpmLnNvcnQoKX0pO3JldHVybnt1cmw6IiIuY29uY2F0KGMuZW5kcG9pbnQpLmNvbmNhdCh0KSxoZWFkZXJzOk9iamVjdC5hc3NpZ24oe30sbSx7QXV0aG9yaXphdGlvbjp5fSl9fWZ1bmN0aW9uIEdhKHQpe3ZhciBhPXQudXJsLGk9dC5kYXRhLGU9dC5tZXRob2Qsbj12b2lkIDA9PT1lPyJQT1NUIjplLHI9dC5oZWFkZXJzLGQ9dm9pZCAwPT09cj97fTpyLHA9dC50aW1lb3V0O3JldHVybiBuZXcgUHJvbWlzZSgoZnVuY3Rpb24odCxlKXttdC5yZXF1ZXN0KHt1cmw6YSxtZXRob2Q6bixkYXRhOiJvYmplY3QiPT0oMCxvLmRlZmF1bHQpKGkpP0pTT04uc3RyaW5naWZ5KGkpOmksaGVhZGVyOmQsZGF0YVR5cGU6Impzb24iLHRpbWVvdXQ6cCxjb21wbGV0ZTpmdW5jdGlvbigpe3ZhciBhPWFyZ3VtZW50cy5sZW5ndGg+MCYmdm9pZCAwIT09YXJndW1lbnRzWzBdP2FyZ3VtZW50c1swXTp7fSxpPWRbIngtdHJhY2UtaWQiXXx8IiI7aWYoIWEuc3RhdHVzQ29kZXx8YS5zdGF0dXNDb2RlPj00MDApe3ZhciBuPWEuZGF0YXx8e30scj1uLm1lc3NhZ2Usbz1uLmVyck1zZyxwPW4udHJhY2VfaWQ7cmV0dXJuIGUobmV3IGN0KHtjb2RlOiJTWVNfRVJSIixtZXNzYWdlOnJ8fG98fCJyZXF1ZXN0OmZhaWwiLHJlcXVlc3RJZDpwfHxpfSkpfXQoe3N0YXR1czphLnN0YXR1c0NvZGUsZGF0YTphLmRhdGEsaGVhZGVyczphLmhlYWRlcixyZXF1ZXN0SWQ6aX0pfX0pfSkpfWZ1bmN0aW9uIFlhKHQsYSl7dmFyIGk9dC5wYXRoLGU9dC5kYXRhLG49dC5tZXRob2Qscj12b2lkIDA9PT1uPyJHRVQiOm4sbz1XYShpLHtmdW5jdGlvbk5hbWU6IiIsZGF0YTplLG1ldGhvZDpyLGhlYWRlcnM6eyJ4LWFsaXBheS1jbG91ZC1tb2RlIjoib3NzIiwieC1kYXRhLWFwaS10eXBlIjoib3NzIiwieC1leHBpcmUtdGltZXN0YW1wIjpEYXRlLm5vdygpKzZlNH0sc2lnbkhlYWRlcktleXM6WyJ4LWRhdGEtYXBpLXR5cGUiLCJ4LWV4cGlyZS10aW1lc3RhbXAiXSxjb25maWc6YX0pLGQ9by51cmwscD1vLmhlYWRlcnM7cmV0dXJuIEdhKHt1cmw6ZCxkYXRhOmUsbWV0aG9kOnIsaGVhZGVyczpwfSkudGhlbigoZnVuY3Rpb24odCl7dmFyIGE9dC5kYXRhfHx7fTtpZighYS5zdWNjZXNzKXRocm93IG5ldyBjdCh7Y29kZTp0LmVyckNvZGUsbWVzc2FnZTp0LmVyck1zZyxyZXF1ZXN0SWQ6dC5yZXF1ZXN0SWR9KTtyZXR1cm4gYS5kYXRhfHx7fX0pKS5jYXRjaCgoZnVuY3Rpb24odCl7dGhyb3cgbmV3IGN0KHtjb2RlOnQuZXJyQ29kZSxtZXNzYWdlOnQuZXJyTXNnLHJlcXVlc3RJZDp0LnJlcXVlc3RJZH0pfSkpfWZ1bmN0aW9uIFphKCl7dmFyIHQ9YXJndW1lbnRzLmxlbmd0aD4wJiZ2b2lkIDAhPT1hcmd1bWVudHNbMF0/YXJndW1lbnRzWzBdOiIiLGE9dC50cmltKCkucmVwbGFjZSgvXmNsb3VkOlwvXC8vLCIiKSxpPWEuaW5kZXhPZigiLyIpO2lmKGk8PTApdGhyb3cgbmV3IGN0KHtjb2RlOiJJTlZBTElEX1BBUkFNIixtZXNzYWdlOiJmaWxlSUTkuI3lkIjms5UifSk7dmFyIGU9YS5zdWJzdHJpbmcoMCxpKSxuPWEuc3Vic3RyaW5nKGkrMSk7cmV0dXJuIGUhPT10aGlzLmNvbmZpZy5zcGFjZUlkJiZjb25zb2xlLndhcm4oImZpbGUgIi5jb25jYXQodCwiIGRvZXMgbm90IGJlbG9uZyB0byBlbnYgIikuY29uY2F0KHRoaXMuY29uZmlnLnNwYWNlSWQpKSxufWZ1bmN0aW9uIFFhKCl7dmFyIHQ9YXJndW1lbnRzLmxlbmd0aD4wJiZ2b2lkIDAhPT1hcmd1bWVudHNbMF0/YXJndW1lbnRzWzBdOiIiO3JldHVybiJjbG91ZDovLyIuY29uY2F0KHRoaXMuY29uZmlnLnNwYWNlSWQsIi8iKS5jb25jYXQodC5yZXBsYWNlKC9eXC8rLywiIikpfXZhciBKYT1mdW5jdGlvbigpe2Z1bmN0aW9uIHQoYSl7KDAsdS5kZWZhdWx0KSh0aGlzLHQpLHRoaXMuY29uZmlnPWF9cmV0dXJuKDAsaC5kZWZhdWx0KSh0LFt7a2V5OiJzaWduZWRVUkwiLHZhbHVlOmZ1bmN0aW9uKHQpe3ZhciBhPWFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXTp7fSxpPSIvd3MvZnVuY3Rpb24vIi5jb25jYXQodCksZT10aGlzLmNvbmZpZy53c0VuZHBvaW50LnJlcGxhY2UoL153cyhzKT86XC9cLy8sIiIpLG49T2JqZWN0LmFzc2lnbih7fSxhLHthY2Nlc3NLZXlJZDp0aGlzLmNvbmZpZy5hY2Nlc3NLZXksc2lnbmF0dXJlTm9uY2U6VWEoKSx0aW1lc3RhbXA6IiIrRGF0ZS5ub3coKX0pLHI9W2ksWyJhY2Nlc3NLZXlJZCIsImF1dGhvcml6YXRpb24iLCJzaWduYXR1cmVOb25jZSIsInRpbWVzdGFtcCJdLnNvcnQoKS5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiBuW3RdPyIiLmNvbmNhdCh0LCI9IikuY29uY2F0KG5bdF0pOm51bGx9KSkuZmlsdGVyKEJvb2xlYW4pLmpvaW4oIiYiKSwiaG9zdDoiLmNvbmNhdChlKV0uam9pbigiXG4iKSxvPVsiSE1BQy1TSEEyNTYiLEN0KHIpLnRvU3RyaW5nKGphKV0uam9pbigiXG4iKSxkPVB0KG8sdGhpcy5jb25maWcuc2VjcmV0S2V5KS50b1N0cmluZyhqYSkscD1PYmplY3Qua2V5cyhuKS5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiIiLmNvbmNhdCh0LCI9IikuY29uY2F0KGVuY29kZVVSSUNvbXBvbmVudChuW3RdKSl9KSkuam9pbigiJiIpO3JldHVybiIiLmNvbmNhdCh0aGlzLmNvbmZpZy53c0VuZHBvaW50KS5jb25jYXQoaSwiPyIpLmNvbmNhdChwLCImc2lnbmF0dXJlPSIpLmNvbmNhdChkKX19XSksdH0oKSxIYT1mdW5jdGlvbigpe2Z1bmN0aW9uIHQoYSl7aWYoKDAsdS5kZWZhdWx0KSh0aGlzLHQpLFsic3BhY2VJZCIsInNwYWNlQXBwSWQiLCJhY2Nlc3NLZXkiLCJzZWNyZXRLZXkiXS5mb3JFYWNoKChmdW5jdGlvbih0KXtpZighT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGEsdCkpdGhyb3cgbmV3IEVycm9yKCIiLmNvbmNhdCh0LCIgcmVxdWlyZWQiKSl9KSksYS5lbmRwb2ludCl7aWYoInN0cmluZyIhPXR5cGVvZiBhLmVuZHBvaW50KXRocm93IG5ldyBFcnJvcigiZW5kcG9pbnQgbXVzdCBiZSBzdHJpbmciKTtpZighL15odHRwczpcL1wvLy50ZXN0KGEuZW5kcG9pbnQpKXRocm93IG5ldyBFcnJvcigiZW5kcG9pbnQgbXVzdCBzdGFydCB3aXRoIGh0dHBzOi8vIik7YS5lbmRwb2ludD1hLmVuZHBvaW50LnJlcGxhY2UoL1wvJC8sIiIpfXRoaXMuY29uZmlnPU9iamVjdC5hc3NpZ24oe30sYSx7ZW5kcG9pbnQ6YS5lbmRwb2ludHx8Imh0dHBzOi8vIi5jb25jYXQoYS5zcGFjZUlkLCIuYXBpLWh6LmNsb3VkYmFzZWZ1bmN0aW9uLmNuIiksd3NFbmRwb2ludDphLndzRW5kcG9pbnR8fCJ3c3M6Ly8iLmNvbmNhdChhLnNwYWNlSWQsIi5hcGktaHouY2xvdWRiYXNlZnVuY3Rpb24uY24iKX0pLHRoaXMuX3dlYnNvY2tldD1uZXcgSmEodGhpcy5jb25maWcpfXJldHVybigwLGguZGVmYXVsdCkodCxbe2tleToiY2FsbEZ1bmN0aW9uIix2YWx1ZTpmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24odCxhKXt2YXIgaT10Lm5hbWUsZT10LmRhdGEsbj10LmFzeW5jLHI9dm9pZCAwIT09biYmbixvPXQudGltZW91dCxkPSJQT1NUIixwPXsieC10by1mdW5jdGlvbi1uYW1lIjppfTtyJiYocFsieC1mdW5jdGlvbi1pbnZva2UtdHlwZSJdPSJhc3luYyIpO3ZhciBjPVdhKCIvZnVuY3Rpb25zL2ludm9rZUZ1bmN0aW9uIix7ZnVuY3Rpb25OYW1lOmksZGF0YTplLG1ldGhvZDpkLGhlYWRlcnM6cCxzaWduSGVhZGVyS2V5czpbIngtdG8tZnVuY3Rpb24tbmFtZSJdLGNvbmZpZzphfSkscz1jLnVybCxsPWMuaGVhZGVycztyZXR1cm4gR2Eoe3VybDpzLGRhdGE6ZSxtZXRob2Q6ZCxoZWFkZXJzOmwsdGltZW91dDpvfSkudGhlbigoZnVuY3Rpb24odCl7dmFyIGE9MDtpZihyKXt2YXIgaT10LmRhdGF8fHt9O2E9IjIwMCI9PT1pLmVyckNvZGU/MDppLmVyckNvZGUsdC5kYXRhPWkuZGF0YXx8e30sdC5lcnJNc2c9aS5lcnJNc2d9aWYoMCE9PWEpdGhyb3cgbmV3IGN0KHtjb2RlOmEsbWVzc2FnZTp0LmVyck1zZyxyZXF1ZXN0SWQ6dC5yZXF1ZXN0SWR9KTtyZXR1cm57ZXJyQ29kZTphLHN1Y2Nlc3M6MD09PWEscmVxdWVzdElkOnQucmVxdWVzdElkLHJlc3VsdDp0LmRhdGF9fSkpLmNhdGNoKChmdW5jdGlvbih0KXt0aHJvdyBuZXcgY3Qoe2NvZGU6dC5lcnJDb2RlLG1lc3NhZ2U6dC5lcnJNc2cscmVxdWVzdElkOnQucmVxdWVzdElkfSl9KSl9KHQsdGhpcy5jb25maWcpfX0se2tleToidXBsb2FkRmlsZVRvT1NTIix2YWx1ZTpmdW5jdGlvbih0KXt2YXIgYT10LnVybCxpPXQuZmlsZVBhdGgsZT10LmZpbGVUeXBlLG49dC5mb3JtRGF0YSxyPXQub25VcGxvYWRQcm9ncmVzcztyZXR1cm4gbmV3IFByb21pc2UoKGZ1bmN0aW9uKHQsbyl7dmFyIGQ9bXQudXBsb2FkRmlsZSh7dXJsOmEsZmlsZVBhdGg6aSxmaWxlVHlwZTplLGZvcm1EYXRhOm4sbmFtZToiZmlsZSIsc3VjY2VzczpmdW5jdGlvbihhKXthJiZhLnN0YXR1c0NvZGU8NDAwP3QoYSk6byhuZXcgY3Qoe2NvZGU6IlVQTE9BRF9GQUlMRUQiLG1lc3NhZ2U6IuaWh+S7tuS4iuS8oOWksei0pSJ9KSl9LGZhaWw6ZnVuY3Rpb24odCl7byhuZXcgY3Qoe2NvZGU6dC5jb2RlfHwiVVBMT0FEX0ZBSUxFRCIsbWVzc2FnZTp0Lm1lc3NhZ2V8fHQuZXJyTXNnfHwi5paH5Lu25LiK5Lyg5aSx6LSlIn0pKX19KTsiZnVuY3Rpb24iPT10eXBlb2YgciYmZCYmImZ1bmN0aW9uIj09dHlwZW9mIGQub25Qcm9ncmVzc1VwZGF0ZSYmZC5vblByb2dyZXNzVXBkYXRlKChmdW5jdGlvbih0KXtyKHtsb2FkZWQ6dC50b3RhbEJ5dGVzU2VudCx0b3RhbDp0LnRvdGFsQnl0ZXNFeHBlY3RlZFRvU2VuZH0pfSkpfSkpfX0se2tleToidXBsb2FkRmlsZSIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgdD0oMCxzLmRlZmF1bHQpKCgwLGMuZGVmYXVsdCkoKS5tYXJrKChmdW5jdGlvbiB0KGEpe3ZhciBpLGUsbixyLG8sZCxwLHMsbCxtLGY7cmV0dXJuKDAsYy5kZWZhdWx0KSgpLndyYXAoKGZ1bmN0aW9uKHQpe3doaWxlKDEpc3dpdGNoKHQucHJldj10Lm5leHQpe2Nhc2UgMDppZihpPWEuZmlsZVBhdGgsZT1hLmNsb3VkUGF0aCxuPXZvaWQgMD09PWU/IiI6ZSxyPWEuZmlsZVR5cGUsbz12b2lkIDA9PT1yPyJpbWFnZSI6cixkPWEub25VcGxvYWRQcm9ncmVzcywic3RyaW5nIj09PUQobikpe3QubmV4dD0zO2JyZWFrfXRocm93IG5ldyBjdCh7Y29kZToiSU5WQUxJRF9QQVJBTSIsbWVzc2FnZToiY2xvdWRQYXRo5b+F6aG75Li65a2X56ym5Liy57G75Z6LIn0pO2Nhc2UgMzppZihuPW4udHJpbSgpKXt0Lm5leHQ9NTticmVha310aHJvdyBuZXcgY3Qoe2NvZGU6IklOVkFMSURfUEFSQU0iLG1lc3NhZ2U6ImNsb3VkUGF0aOS4jeWPr+S4uuepuiJ9KTtjYXNlIDU6aWYoIS86XC9cLy8udGVzdChuKSl7dC5uZXh0PTc7YnJlYWt9dGhyb3cgbmV3IGN0KHtjb2RlOiJJTlZBTElEX1BBUkFNIixtZXNzYWdlOiJjbG91ZFBhdGjkuI3lkIjms5UifSk7Y2FzZSA3OnJldHVybiB0Lm5leHQ9OSxZYSh7cGF0aDoiLyIuY29uY2F0KG4ucmVwbGFjZSgvXlwvLywiIiksIj9wb3N0X3VybCIpfSx0aGlzLmNvbmZpZyk7Y2FzZSA5OnJldHVybiBwPXQuc2VudCxzPXAuZmlsZV9pZCxsPXAudXBsb2FkX3VybCxtPXAuZm9ybV9kYXRhLGY9bSYmbS5yZWR1Y2UoKGZ1bmN0aW9uKHQsYSl7cmV0dXJuIHRbYS5rZXldPWEudmFsdWUsdH0pLHt9KSx0LmFicnVwdCgicmV0dXJuIix0aGlzLnVwbG9hZEZpbGVUb09TUyh7dXJsOmwsZmlsZVBhdGg6aSxmaWxlVHlwZTpvLGZvcm1EYXRhOmYsb25VcGxvYWRQcm9ncmVzczpkfSkudGhlbigoZnVuY3Rpb24oKXtyZXR1cm57ZmlsZUlEOnN9fSkpKTtjYXNlIDE1OmNhc2UiZW5kIjpyZXR1cm4gdC5zdG9wKCl9fSksdCx0aGlzKX0pKSk7cmV0dXJuIGZ1bmN0aW9uKGEpe3JldHVybiB0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX19KCl9LHtrZXk6ImdldFRlbXBGaWxlVVJMIix2YWx1ZTpmdW5jdGlvbigpe3ZhciB0PSgwLHMuZGVmYXVsdCkoKDAsYy5kZWZhdWx0KSgpLm1hcmsoKGZ1bmN0aW9uIHQoYSl7dmFyIGksZT10aGlzO3JldHVybigwLGMuZGVmYXVsdCkoKS53cmFwKChmdW5jdGlvbih0KXt3aGlsZSgxKXN3aXRjaCh0LnByZXY9dC5uZXh0KXtjYXNlIDA6cmV0dXJuIGk9YS5maWxlTGlzdCx0LmFicnVwdCgicmV0dXJuIixuZXcgUHJvbWlzZSgoZnVuY3Rpb24odCxhKXsoIWl8fGkubGVuZ3RoPDApJiZ0KHtjb2RlOiJJTlZBTElEX1BBUkFNIixtZXNzYWdlOiJmaWxlTGlzdOS4jeiDveS4uuepuuaVsOe7hCJ9KSxpLmxlbmd0aD41MCYmdCh7Y29kZToiSU5WQUxJRF9QQVJBTSIsbWVzc2FnZToiZmlsZUxpc3TmlbDnu4Tplb/luqbkuI3og73otoXov4c1MCJ9KTt2YXIgbixyPVtdLG89KDAscC5kZWZhdWx0KShpKTt0cnl7Zm9yKG8ucygpOyEobj1vLm4oKSkuZG9uZTspe3ZhciBkPW4udmFsdWUsYz12b2lkIDA7InN0cmluZyIhPT1EKGQpJiZ0KHtjb2RlOiJJTlZBTElEX1BBUkFNIixtZXNzYWdlOiJmaWxlTGlzdOeahOWFg+e0oOW/hemhu+aYr+mdnuepuueahOWtl+espuS4siJ9KTt0cnl7Yz1aYS5jYWxsKGUsZCl9Y2F0Y2godCl7Y29uc29sZS53YXJuKHQuZXJyQ29kZSx0LmVyck1zZyksYz1kfXIucHVzaCh7ZmlsZV9pZDpjLGV4cGlyZTo2MDB9KX19Y2F0Y2gocyl7by5lKHMpfWZpbmFsbHl7by5mKCl9WWEoe3BhdGg6Ii8/ZG93bmxvYWRfdXJsIixkYXRhOntmaWxlX2xpc3Q6cn0sbWV0aG9kOiJQT1NUIn0sZS5jb25maWcpLnRoZW4oKGZ1bmN0aW9uKGEpe3ZhciBpPWEuZmlsZV9saXN0LG49dm9pZCAwPT09aT9bXTppO3Qoe2ZpbGVMaXN0Om4ubWFwKChmdW5jdGlvbih0KXtyZXR1cm57ZmlsZUlEOlFhLmNhbGwoZSx0LmZpbGVfaWQpLHRlbXBGaWxlVVJMOnQuZG93bmxvYWRfdXJsfX0pKX0pfSkpLmNhdGNoKChmdW5jdGlvbih0KXtyZXR1cm4gYSh0KX0pKX0pKSk7Y2FzZSAyOmNhc2UiZW5kIjpyZXR1cm4gdC5zdG9wKCl9fSksdCl9KSkpO3JldHVybiBmdW5jdGlvbihhKXtyZXR1cm4gdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSgpfSx7a2V5OiJjb25uZWN0V2ViU29ja2V0Iix2YWx1ZTpmdW5jdGlvbigpe3ZhciB0PSgwLHMuZGVmYXVsdCkoKDAsYy5kZWZhdWx0KSgpLm1hcmsoKGZ1bmN0aW9uIHQoYSl7dmFyIGksZTtyZXR1cm4oMCxjLmRlZmF1bHQpKCkud3JhcCgoZnVuY3Rpb24odCl7d2hpbGUoMSlzd2l0Y2godC5wcmV2PXQubmV4dCl7Y2FzZSAwOnJldHVybiBpPWEubmFtZSxlPWEucXVlcnksdC5hYnJ1cHQoInJldHVybiIsbXQuY29ubmVjdFNvY2tldCh7dXJsOnRoaXMuX3dlYnNvY2tldC5zaWduZWRVUkwoaSxlKSxjb21wbGV0ZTpmdW5jdGlvbigpe319KSk7Y2FzZSAyOmNhc2UiZW5kIjpyZXR1cm4gdC5zdG9wKCl9fSksdCx0aGlzKX0pKSk7cmV0dXJuIGZ1bmN0aW9uKGEpe3JldHVybiB0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX19KCl9XSksdH0oKSxYYT17aW5pdDpmdW5jdGlvbih0KXt0LnByb3ZpZGVyPSJhbGlwYXkiO3ZhciBhPW5ldyBIYSh0KTtyZXR1cm4gYS5hdXRoPWZ1bmN0aW9uKCl7cmV0dXJue3NpZ25JbkFub255bW91c2x5OmZ1bmN0aW9uKCl7cmV0dXJuIFByb21pc2UucmVzb2x2ZSgpfSxnZXRMb2dpblN0YXRlOmZ1bmN0aW9uKCl7cmV0dXJuIFByb21pc2UucmVzb2x2ZSghMCl9fX0sYX19O2Z1bmN0aW9uIHFhKHQpe3ZhciBhLGk9dC5kYXRhO2E9dnQoKTt2YXIgZT1KU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGl8fHt9KSk7aWYoT2JqZWN0LmFzc2lnbihlLHtjbGllbnRJbmZvOmF9KSwhZS51bmlJZFRva2VuKXt2YXIgbj1mdCgpLHI9bi50b2tlbjtyJiYoZS51bmlJZFRva2VuPXIpfXJldHVybiBlfXZhciBWYT1be3J1bGU6L2ZjX2Z1bmN0aW9uX25vdF9mb3VuZHxGVU5DVElPTl9OT1RfRk9VTkQvLGNvbnRlbnQ6Iu+8jOS6keWHveaVsFt7ZnVuY3Rpb25OYW1lfV3lnKjkupHnq6/kuI3lrZjlnKjvvIzor7fmo4Dmn6XmraTkupHlh73mlbDlkI3np7DmmK/lkKbmraPnoa7ku6Xlj4ror6XkupHlh73mlbDmmK/lkKblt7LkuIrkvKDliLDmnI3liqHnqbrpl7QiLG1vZGU6ImFwcGVuZCJ9XSxLYT0vW1xcXiQuKis/KClbXF17fXxdL2csJGE9UmVnRXhwKEthLnNvdXJjZSk7ZnVuY3Rpb24gdGkodCxhLGkpe3JldHVybiB0LnJlcGxhY2UobmV3IFJlZ0V4cCgoZT1hKSYmJGEudGVzdChlKT9lLnJlcGxhY2UoS2EsIlxcJCYiKTplLCJnIiksaSk7dmFyIGV9dmFyIGFpPXtOT05FOiJub25lIixSRVFVRVNUOiJyZXF1ZXN0IixSRVNQT05TRToicmVzcG9uc2UiLEJPVEg6ImJvdGgifSxpaT0iX2dsb2JhbFVuaUNsb3VkU3RhdHVzIixlaT0iX2dsb2JhbFVuaUNsb3VkU2VjdXJlTmV0d29ya0NhY2hlX197c3BhY2VJZH0iO3ZhciBuaTtuaT0iMDEyMzQ1Njc4OWFiY2RlZiI7dmFyIHJpPSJ1bmktc2VjdXJlLW5ldHdvcmsiLG9pPXtTWVNURU1fRVJST1I6e2NvZGU6MmU0LG1lc3NhZ2U6IlN5c3RlbSBlcnJvciJ9LEFQUF9JTkZPX0lOVkFMSUQ6e2NvZGU6MjAxMDEsbWVzc2FnZToiSW52YWxpZCBjbGllbnQifSxHRVRfRU5DUllQVF9LRVlfRkFJTEVEOntjb2RlOjIwMTAyLG1lc3NhZ2U6IkdldCBlbmNyeXB0IGtleSBmYWlsZWQifX07ZnVuY3Rpb24gZGkodCl7dmFyIGE9dHx8e30saT1hLmVyclN1YmplY3QsZT1hLnN1YmplY3Qsbj1hLmVyckNvZGUscj1hLmVyck1zZyxvPWEuY29kZSxkPWEubWVzc2FnZSxwPWEuY2F1c2U7cmV0dXJuIG5ldyBjdCh7c3ViamVjdDppfHxlfHxyaSxjb2RlOm58fG98fG9pLlNZU1RFTV9FUlJPUi5jb2RlLG1lc3NhZ2U6cnx8ZCxjYXVzZTpwfSl9dmFyIHBpO2Z1bmN0aW9uIGNpKCl7dmFyIHQ9YXJndW1lbnRzLmxlbmd0aD4wJiZ2b2lkIDAhPT1hcmd1bWVudHNbMF0/YXJndW1lbnRzWzBdOnt9LGE9dC5zZWNyZXRUeXBlO3JldHVybiBhPT09YWkuUkVRVUVTVHx8YT09PWFpLlJFU1BPTlNFfHxhPT09YWkuQk9USH1mdW5jdGlvbiBzaSgpe3ZhciB0PWFyZ3VtZW50cy5sZW5ndGg+MCYmdm9pZCAwIT09YXJndW1lbnRzWzBdP2FyZ3VtZW50c1swXTp7fSxhPXQubmFtZSxpPXQuZGF0YSxlPXZvaWQgMD09PWk/e306aTtyZXR1cm4iYXBwIj09PWomJiJEQ2xvdWQtY2xpZW50REIiPT09YSYmImVuY3J5cHRpb24iPT09ZS5yZWRpcmVjdFRvJiYiZ2V0QXBwQ2xpZW50S2V5Ij09PWUuYWN0aW9ufWZ1bmN0aW9uIGxpKHQpe3QuZnVuY3Rpb25OYW1lLHQucmVzdWx0LHQubG9nUHZkfWZ1bmN0aW9uIG1pKHQpe3ZhciBhPXQuY2FsbEZ1bmN0aW9uLGk9ZnVuY3Rpb24oaSl7dmFyIGU9dGhpcyxuPWkubmFtZTtpLmRhdGE9cWEuY2FsbCh0LHtkYXRhOmkuZGF0YX0pO3ZhciByPXthbGl5dW46ImFsaXl1biIsdGVuY2VudDoidGNiIix0Y2I6InRjYiIsYWxpcGF5OiJhbGlwYXkiLGRjbG91ZDoiZGNsb3VkIn1bdGhpcy5jb25maWcucHJvdmlkZXJdLG89Y2koaSksZD1zaShpKSxwPW98fGQ7cmV0dXJuIGEuY2FsbCh0aGlzLGkpLnRoZW4oKGZ1bmN0aW9uKHQpe3JldHVybiB0LmVyckNvZGU9MCwhcCYmbGkuY2FsbChlLHtmdW5jdGlvbk5hbWU6bixyZXN1bHQ6dCxsb2dQdmQ6cn0pLFByb21pc2UucmVzb2x2ZSh0KX0pLChmdW5jdGlvbih0KXtyZXR1cm4hcCYmbGkuY2FsbChlLHtmdW5jdGlvbk5hbWU6bixyZXN1bHQ6dCxsb2dQdmQ6cn0pLHQmJnQubWVzc2FnZSYmKHQubWVzc2FnZT1mdW5jdGlvbigpe2Zvcih2YXIgdD1hcmd1bWVudHMubGVuZ3RoPjAmJnZvaWQgMCE9PWFyZ3VtZW50c1swXT9hcmd1bWVudHNbMF06e30sYT10Lm1lc3NhZ2UsaT12b2lkIDA9PT1hPyIiOmEsZT10LmV4dHJhSW5mbyxuPXZvaWQgMD09PWU/e306ZSxyPXQuZm9ybWF0dGVyLG89dm9pZCAwPT09cj9bXTpyLGQ9MDtkPG8ubGVuZ3RoO2QrKyl7dmFyIHA9b1tkXSxjPXAucnVsZSxzPXAuY29udGVudCxsPXAubW9kZSxtPWkubWF0Y2goYyk7aWYobSl7Zm9yKHZhciBmPXMsZz0xO2c8bS5sZW5ndGg7ZysrKWY9dGkoZiwieyQiLmNvbmNhdChnLCJ9IiksbVtnXSk7Zm9yKHZhciB1IGluIG4pZj10aShmLCJ7Ii5jb25jYXQodSwifSIpLG5bdV0pO3JldHVybiJyZXBsYWNlIj09PWw/ZjppK2Z9fXJldHVybiBpfSh7bWVzc2FnZToiWyIuY29uY2F0KGkubmFtZSwiXTogIikuY29uY2F0KHQubWVzc2FnZSksZm9ybWF0dGVyOlZhLGV4dHJhSW5mbzp7ZnVuY3Rpb25OYW1lOm59fSkpLFByb21pc2UucmVqZWN0KHQpfSkpfTt0LmNhbGxGdW5jdGlvbj1mdW5jdGlvbihhKXt2YXIgZSxuLHI9dC5jb25maWcsbz1yLnByb3ZpZGVyLGQ9ci5zcGFjZUlkLHA9YS5uYW1lO3JldHVybiBhLmRhdGE9YS5kYXRhfHx7fSxlPWksZT1lLmJpbmQodCksbj1zaShhKT9pLmNhbGwodCxhKTpmdW5jdGlvbih0KXt2YXIgYT10Lm5hbWUsaT10LmRhdGEsZT12b2lkIDA9PT1pP3t9Omk7cmV0dXJuIm1wLXdlaXhpbiI9PT1qJiYidW5pLWlkLWNvIj09PWEmJiJzZWN1cmVOZXR3b3JrSGFuZHNoYWtlQnlXZWl4aW4iPT09ZS5tZXRob2R9KGEpP2UuY2FsbCh0LGEpOmNpKGEpP25ldyBwaSh7c2VjcmV0VHlwZTphLnNlY3JldFR5cGUsdW5pQ2xvdWRJbnM6dH0pLndyYXBFbmNyeXB0RGF0YUNhbGxGdW5jdGlvbihpLmJpbmQodCkpKGEpOmZ1bmN0aW9uKCl7dmFyIHQ9YXJndW1lbnRzLmxlbmd0aD4wJiZ2b2lkIDAhPT1hcmd1bWVudHNbMF0/YXJndW1lbnRzWzBdOnt9LGE9dC5wcm92aWRlcixpPXQuc3BhY2VJZCxlPXQuZnVuY3Rpb25OYW1lLG49dXQoKSxyPW4uYXBwSWQsbz1uLnVuaVBsYXRmb3JtLGQ9bi5vc05hbWUscD1vOyJhcHAiPT09byYmKHA9ZCk7dmFyIGM9ZnVuY3Rpb24oKXt2YXIgdD1hcmd1bWVudHMubGVuZ3RoPjAmJnZvaWQgMCE9PWFyZ3VtZW50c1swXT9hcmd1bWVudHNbMF06e30sYT10LnByb3ZpZGVyLGk9dC5zcGFjZUlkLGU9XztpZighZSlyZXR1cm57fTthPWZ1bmN0aW9uKHQpe3JldHVybiJ0ZW5jZW50Ij09PXQ/InRjYiI6dH0oYSk7dmFyIG49ZS5maW5kKChmdW5jdGlvbih0KXtyZXR1cm4gdC5wcm92aWRlcj09PWEmJnQuc3BhY2VJZD09PWl9KSk7cmV0dXJuIG4mJm4uY29uZmlnfSh7cHJvdmlkZXI6YSxzcGFjZUlkOml9KTtpZighY3x8IWMuYWNjZXNzQ29udHJvbHx8IWMuYWNjZXNzQ29udHJvbC5lbmFibGUpcmV0dXJuITE7dmFyIHM9Yy5hY2Nlc3NDb250cm9sLmZ1bmN0aW9ufHx7fSxsPU9iamVjdC5rZXlzKHMpO2lmKDA9PT1sLmxlbmd0aClyZXR1cm4hMDt2YXIgbT1mdW5jdGlvbih0LGEpe2Zvcih2YXIgaSxlLG4scj0wO3I8dC5sZW5ndGg7cisrKXt2YXIgbz10W3JdO28hPT1hPyIqIiE9PW8/by5zcGxpdCgiLCIpLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIHQudHJpbSgpfSkpLmluZGV4T2YoYSk+LTEmJihlPW8pOm49bzppPW99cmV0dXJuIGl8fGV8fG59KGwsZSk7aWYoIW0pcmV0dXJuITE7aWYoKHNbbV18fFtdKS5maW5kKChmdW5jdGlvbigpe3ZhciB0PWFyZ3VtZW50cy5sZW5ndGg+MCYmdm9pZCAwIT09YXJndW1lbnRzWzBdP2FyZ3VtZW50c1swXTp7fTtyZXR1cm4gdC5hcHBJZD09PXImJih0LnBsYXRmb3JtfHwiIikudG9Mb3dlckNhc2UoKT09PXAudG9Mb3dlckNhc2UoKX0pKSlyZXR1cm4hMDt0aHJvdyBjb25zb2xlLmVycm9yKCLmraTlupTnlKhbYXBwSWQ6ICIuY29uY2F0KHIsIiwgcGxhdGZvcm06ICIpLmNvbmNhdChwLCJd5LiN5Zyo5LqR56uv6YWN572u55qE5YWB6K646K6/6Zeu55qE5bqU55So5YiX6KGo5YaF77yM5Y+C6ICD77yaaHR0cHM6Ly91bmlhcHAuZGNsb3VkLm5ldC5jbi91bmlDbG91ZC9zZWN1cmUtbmV0d29yay5odG1sI3ZlcmlmeS1jbGllbnQiKSksZGkob2kuQVBQX0lORk9fSU5WQUxJRCl9KHtwcm92aWRlcjpvLHNwYWNlSWQ6ZCxmdW5jdGlvbk5hbWU6cH0pP25ldyBwaSh7c2VjcmV0VHlwZTphLnNlY3JldFR5cGUsdW5pQ2xvdWRJbnM6dH0pLndyYXBWZXJpZnlDbGllbnRDYWxsRnVuY3Rpb24oaS5iaW5kKHQpKShhKTplKGEpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJyZXN1bHQiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gY29uc29sZS53YXJuKCLlvZPliY3ov5Tlm57nu5PmnpzkuLpQcm9taXNl57G75Z6L77yM5LiN5Y+v55u05o6l6K6/6Zeu5YW2cmVzdWx05bGe5oCn77yM6K+m5oOF6K+35Y+C6ICD77yaaHR0cHM6Ly91bmlhcHAuZGNsb3VkLm5ldC5jbi91bmlDbG91ZC9mYXE/aWQ9cHJvbWlzZSIpLHt9fX0pLG4udGhlbigoZnVuY3Rpb24odCl7cmV0dXJuInVuZGVmaW5lZCIhPXR5cGVvZiBVVFNKU09OT2JqZWN0JiYodC5yZXN1bHQ9bmV3IFVUU0pTT05PYmplY3QodC5yZXN1bHQpKSx0fSkpfX1waT0ibXAtd2VpeGluIiE9PWomJiJhcHAiIT09aj9mdW5jdGlvbigpe3JldHVybigwLGguZGVmYXVsdCkoKGZ1bmN0aW9uIHQoKXt0aHJvdygwLHUuZGVmYXVsdCkodGhpcyx0KSxkaSh7bWVzc2FnZToiUGxhdGZvcm0gIi5jb25jYXQoaiwiIGlzIG5vdCBzdXBwb3J0ZWQgYnkgc2VjdXJlIG5ldHdvcmsiKX0pfSkpfSgpOmZ1bmN0aW9uKCl7cmV0dXJuKDAsaC5kZWZhdWx0KSgoZnVuY3Rpb24gdCgpe3Rocm93KDAsdS5kZWZhdWx0KSh0aGlzLHQpLGRpKHttZXNzYWdlOiJQbGF0Zm9ybSAiLmNvbmNhdChqLCIgaXMgbm90IGVuYWJsZWQsIHBsZWFzZSBjaGVjayB3aGV0aGVyIHNlY3VyZSBuZXR3b3JrIG1vZHVsZSBpcyBlbmFibGVkIGluIHlvdXIgbWFuaWZlc3QuanNvbiIpfSl9KSl9KCk7dmFyIGZpPVN5bWJvbCgiQ0xJRU5UX0RCX0lOVEVSTkFMIik7ZnVuY3Rpb24gZ2kodCxhKXtyZXR1cm4gdC50aGVuPSJEb05vdFJldHVyblByb3h5V2l0aEFGdW5jdGlvbk5hbWVkVGhlbiIsdC5faW50ZXJuYWxUeXBlPWZpLHQuaW5zcGVjdD1udWxsLHQuX19vYl9fPXZvaWQgMCxuZXcgUHJveHkodCx7Z2V0OmZ1bmN0aW9uKHQsaSxlKXtpZigiX3VuaUNsaWVudCI9PT1pKXJldHVybiBudWxsO2lmKCJzeW1ib2wiPT0oMCxvLmRlZmF1bHQpKGkpKXJldHVybiB0W2ldO2lmKGkgaW4gdHx8InN0cmluZyIhPXR5cGVvZiBpKXt2YXIgbj10W2ldO3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBuP24uYmluZCh0KTpufXJldHVybiBhLmdldCh0LGksZSl9fSl9ZnVuY3Rpb24gdWkodCl7cmV0dXJue29uOmZ1bmN0aW9uKGEsaSl7dFthXT10W2FdfHxbXSx0W2FdLmluZGV4T2YoaSk+LTF8fHRbYV0ucHVzaChpKX0sb2ZmOmZ1bmN0aW9uKGEsaSl7dFthXT10W2FdfHxbXTt2YXIgZT10W2FdLmluZGV4T2YoaSk7LTEhPT1lJiZ0W2FdLnNwbGljZShlLDEpfX19dmFyIGhpPVsiZGIuR2VvIiwiZGIuY29tbWFuZCIsImNvbW1hbmQuYWdncmVnYXRlIl07ZnVuY3Rpb24gdmkodCxhKXtyZXR1cm4gaGkuaW5kZXhPZigiIi5jb25jYXQodCwiLiIpLmNvbmNhdChhKSk+LTF9ZnVuY3Rpb24gYmkodCl7c3dpdGNoKEQodCkpe2Nhc2UiYXJyYXkiOnJldHVybiB0Lm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIGJpKHQpfSkpO2Nhc2Uib2JqZWN0IjpyZXR1cm4gdC5faW50ZXJuYWxUeXBlPT09Zml8fE9iamVjdC5rZXlzKHQpLmZvckVhY2goKGZ1bmN0aW9uKGEpe3RbYV09YmkodFthXSl9KSksdDtjYXNlInJlZ2V4cCI6cmV0dXJueyRyZWdleHA6e3NvdXJjZTp0LnNvdXJjZSxmbGFnczp0LmZsYWdzfX07Y2FzZSJkYXRlIjpyZXR1cm57JGRhdGU6dC50b0lTT1N0cmluZygpfTtkZWZhdWx0OnJldHVybiB0fX1mdW5jdGlvbiB4aSh0KXtyZXR1cm4gdCYmdC5jb250ZW50JiZ0LmNvbnRlbnQuJG1ldGhvZH12YXIgeWk9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KGEsaSxlKXsoMCx1LmRlZmF1bHQpKHRoaXMsdCksdGhpcy5jb250ZW50PWEsdGhpcy5wcmV2U3RhZ2U9aXx8bnVsbCx0aGlzLnVkYj1udWxsLHRoaXMuX2RhdGFiYXNlPWV9cmV0dXJuKDAsaC5kZWZhdWx0KSh0LFt7a2V5OiJ0b0pTT04iLHZhbHVlOmZ1bmN0aW9uKCl7Zm9yKHZhciB0PXRoaXMsYT1bdC5jb250ZW50XTt0LnByZXZTdGFnZTspdD10LnByZXZTdGFnZSxhLnB1c2godC5jb250ZW50KTtyZXR1cm57JGRiOmEucmV2ZXJzZSgpLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJueyRtZXRob2Q6dC4kbWV0aG9kLCRwYXJhbTpiaSh0LiRwYXJhbSl9fSkpfX19LHtrZXk6InRvU3RyaW5nIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiBKU09OLnN0cmluZ2lmeSh0aGlzLnRvSlNPTigpKX19LHtrZXk6ImdldEFjdGlvbiIsdmFsdWU6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLnRvSlNPTigpLiRkYi5maW5kKChmdW5jdGlvbih0KXtyZXR1cm4iYWN0aW9uIj09PXQuJG1ldGhvZH0pKTtyZXR1cm4gdCYmdC4kcGFyYW0mJnQuJHBhcmFtWzBdfX0se2tleToiZ2V0Q29tbWFuZCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm57JGRiOnRoaXMudG9KU09OKCkuJGRiLmZpbHRlcigoZnVuY3Rpb24odCl7cmV0dXJuImFjdGlvbiIhPT10LiRtZXRob2R9KSl9fX0se2tleToiaXNBZ2dyZWdhdGUiLGdldDpmdW5jdGlvbigpe2Zvcih2YXIgdD10aGlzO3Q7KXt2YXIgYT14aSh0KSxpPXhpKHQucHJldlN0YWdlKTtpZigiYWdncmVnYXRlIj09PWEmJiJjb2xsZWN0aW9uIj09PWl8fCJwaXBlbGluZSI9PT1hKXJldHVybiEwO3Q9dC5wcmV2U3RhZ2V9cmV0dXJuITF9fSx7a2V5OiJpc0NvbW1hbmQiLGdldDpmdW5jdGlvbigpe2Zvcih2YXIgdD10aGlzO3Q7KXtpZigiY29tbWFuZCI9PT14aSh0KSlyZXR1cm4hMDt0PXQucHJldlN0YWdlfXJldHVybiExfX0se2tleToiaXNBZ2dyZWdhdGVDb21tYW5kIixnZXQ6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9dGhpczt0Oyl7dmFyIGE9eGkodCksaT14aSh0LnByZXZTdGFnZSk7aWYoImFnZ3JlZ2F0ZSI9PT1hJiYiY29tbWFuZCI9PT1pKXJldHVybiEwO3Q9dC5wcmV2U3RhZ2V9cmV0dXJuITF9fSx7a2V5OiJnZXROZXh0U3RhZ2VGbiIsdmFsdWU6ZnVuY3Rpb24odCl7dmFyIGE9dGhpcztyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gQWkoeyRtZXRob2Q6dCwkcGFyYW06YmkoQXJyYXkuZnJvbShhcmd1bWVudHMpKX0sYSxhLl9kYXRhYmFzZSl9fX0se2tleToiY291bnQiLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmlzQWdncmVnYXRlP3RoaXMuZ2V0TmV4dFN0YWdlRm4oImNvdW50Iik6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc2VuZCgiY291bnQiLEFycmF5LmZyb20oYXJndW1lbnRzKSl9fX0se2tleToicmVtb3ZlIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pc0NvbW1hbmQ/dGhpcy5nZXROZXh0U3RhZ2VGbigicmVtb3ZlIik6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc2VuZCgicmVtb3ZlIixBcnJheS5mcm9tKGFyZ3VtZW50cykpfX19LHtrZXk6ImdldCIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc2VuZCgiZ2V0IixBcnJheS5mcm9tKGFyZ3VtZW50cykpfX0se2tleToiYWRkIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pc0NvbW1hbmQ/dGhpcy5nZXROZXh0U3RhZ2VGbigiYWRkIik6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc2VuZCgiYWRkIixBcnJheS5mcm9tKGFyZ3VtZW50cykpfX19LHtrZXk6InVwZGF0ZSIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc2VuZCgidXBkYXRlIixBcnJheS5mcm9tKGFyZ3VtZW50cykpfX0se2tleToiZW5kIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9zZW5kKCJlbmQiLEFycmF5LmZyb20oYXJndW1lbnRzKSl9fSx7a2V5OiJzZXQiLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmlzQ29tbWFuZD90aGlzLmdldE5leHRTdGFnZUZuKCJzZXQiKTpmdW5jdGlvbigpe3Rocm93IG5ldyBFcnJvcigiSlFM56aB5q2i5L2/55Soc2V05pa55rOVIil9fX0se2tleToiX3NlbmQiLHZhbHVlOmZ1bmN0aW9uKHQsYSl7dmFyIGk9dGhpcy5nZXRBY3Rpb24oKSxlPXRoaXMuZ2V0Q29tbWFuZCgpO3JldHVybiBlLiRkYi5wdXNoKHskbWV0aG9kOnQsJHBhcmFtOmJpKGEpfSksdGhpcy5fZGF0YWJhc2UuX2NhbGxDbG91ZEZ1bmN0aW9uKHthY3Rpb246aSxjb21tYW5kOmV9KX19XSksdH0oKTtmdW5jdGlvbiBBaSh0LGEsaSl7cmV0dXJuIGdpKG5ldyB5aSh0LGEsaSkse2dldDpmdW5jdGlvbih0LGEpe3ZhciBlPSJkYiI7cmV0dXJuIHQmJnQuY29udGVudCYmKGU9dC5jb250ZW50LiRtZXRob2QpLHZpKGUsYSk/QWkoeyRtZXRob2Q6YX0sdCxpKTpmdW5jdGlvbigpe3JldHVybiBBaSh7JG1ldGhvZDphLCRwYXJhbTpiaShBcnJheS5mcm9tKGFyZ3VtZW50cykpfSx0LGkpfX19KX1mdW5jdGlvbiB3aSh0KXt2YXIgYT10LnBhdGgsaT10Lm1ldGhvZDtyZXR1cm4gZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7KDAsdS5kZWZhdWx0KSh0aGlzLHQpLHRoaXMucGFyYW09QXJyYXkuZnJvbShhcmd1bWVudHMpfXJldHVybigwLGguZGVmYXVsdCkodCxbe2tleToidG9KU09OIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybnskbmV3RGI6W10uY29uY2F0KCgwLGQuZGVmYXVsdCkoYS5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybnskbWV0aG9kOnR9fSkpKSxbeyRtZXRob2Q6aSwkcGFyYW06dGhpcy5wYXJhbX1dKX19fSx7a2V5OiJ0b1N0cmluZyIsdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkodGhpcy50b0pTT04oKSl9fV0pLHR9KCl9dmFyIGtpPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe3ZhciBhPWFyZ3VtZW50cy5sZW5ndGg+MCYmdm9pZCAwIT09YXJndW1lbnRzWzBdP2FyZ3VtZW50c1swXTp7fSxpPWEudW5pQ2xpZW50LGU9dm9pZCAwPT09aT97fTppLG49YS5pc0pRTCxyPXZvaWQgMCE9PW4mJm47KDAsdS5kZWZhdWx0KSh0aGlzLHQpLHRoaXMuX3VuaUNsaWVudD1lLHRoaXMuX2F1dGhDYWxsQmFja3M9e30sdGhpcy5fZGJDYWxsQmFja3M9e30sZS5faXNEZWZhdWx0JiYodGhpcy5fZGJDYWxsQmFja3M9WSgiX2dsb2JhbFVuaUNsb3VkRGF0YWJhc2VDYWxsYmFjayIpKSxyfHwodGhpcy5hdXRoPXVpKHRoaXMuX2F1dGhDYWxsQmFja3MpKSx0aGlzLl9pc0pRTD1yLE9iamVjdC5hc3NpZ24odGhpcyx1aSh0aGlzLl9kYkNhbGxCYWNrcykpLHRoaXMuZW52PWdpKHt9LHtnZXQ6ZnVuY3Rpb24odCxhKXtyZXR1cm57JGVudjphfX19KSx0aGlzLkdlbz1naSh7fSx7Z2V0OmZ1bmN0aW9uKHQsYSl7cmV0dXJuIHdpKHtwYXRoOlsiR2VvIl0sbWV0aG9kOmF9KX19KSx0aGlzLnNlcnZlckRhdGU9d2koe3BhdGg6W10sbWV0aG9kOiJzZXJ2ZXJEYXRlIn0pLHRoaXMuUmVnRXhwPXdpKHtwYXRoOltdLG1ldGhvZDoiUmVnRXhwIn0pfXJldHVybigwLGguZGVmYXVsdCkodCxbe2tleToiZ2V0Q2xvdWRFbnYiLHZhbHVlOmZ1bmN0aW9uKHQpe2lmKCJzdHJpbmciIT10eXBlb2YgdHx8IXQudHJpbSgpKXRocm93IG5ldyBFcnJvcigiZ2V0Q2xvdWRFbnblj4LmlbDplJnor68iKTtyZXR1cm57JGVudjp0LnJlcGxhY2UoIiRjbG91ZEVudl8iLCIiKX19fSx7a2V5OiJfY2FsbGJhY2siLHZhbHVlOmZ1bmN0aW9uKHQsYSl7dmFyIGk9dGhpcy5fZGJDYWxsQmFja3M7aVt0XSYmaVt0XS5mb3JFYWNoKChmdW5jdGlvbih0KXt0LmFwcGx5KHZvaWQgMCwoMCxkLmRlZmF1bHQpKGEpKX0pKX19LHtrZXk6Il9jYWxsYmFja0F1dGgiLHZhbHVlOmZ1bmN0aW9uKHQsYSl7dmFyIGk9dGhpcy5fYXV0aENhbGxCYWNrcztpW3RdJiZpW3RdLmZvckVhY2goKGZ1bmN0aW9uKHQpe3QuYXBwbHkodm9pZCAwLCgwLGQuZGVmYXVsdCkoYSkpfSkpfX0se2tleToibXVsdGlTZW5kIix2YWx1ZTpmdW5jdGlvbigpe3ZhciB0PUFycmF5LmZyb20oYXJndW1lbnRzKSxhPXQubWFwKChmdW5jdGlvbih0KXt2YXIgYT10LmdldEFjdGlvbigpLGk9dC5nZXRDb21tYW5kKCk7aWYoImdldFRlbXAiIT09aS4kZGJbaS4kZGIubGVuZ3RoLTFdLiRtZXRob2QpdGhyb3cgbmV3IEVycm9yKCJtdWx0aVNlbmTlj6rmlK/mjIHlrZDlkb3ku6TlhoXkvb/nlKhnZXRUZW1wIik7cmV0dXJue2FjdGlvbjphLGNvbW1hbmQ6aX19KSk7cmV0dXJuIHRoaXMuX2NhbGxDbG91ZEZ1bmN0aW9uKHttdWx0aUNvbW1hbmQ6YSxxdWVyeUxpc3Q6dH0pfX1dKSx0fSgpO2Z1bmN0aW9uIFNpKHQpe3ZhciBhPWFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXTp7fTtyZXR1cm4gZ2kobmV3IHQoYSkse2dldDpmdW5jdGlvbih0LGEpe3JldHVybiB2aSgiZGIiLGEpP0FpKHskbWV0aG9kOmF9LG51bGwsdCk6ZnVuY3Rpb24oKXtyZXR1cm4gQWkoeyRtZXRob2Q6YSwkcGFyYW06YmkoQXJyYXkuZnJvbShhcmd1bWVudHMpKX0sbnVsbCx0KX19fSl9dmFyIFRpPWZ1bmN0aW9uKHQpeygwLG0uZGVmYXVsdCkoaSx0KTt2YXIgYT0oMCxmLmRlZmF1bHQpKGkpO2Z1bmN0aW9uIGkoKXtyZXR1cm4oMCx1LmRlZmF1bHQpKHRoaXMsaSksYS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9cmV0dXJuKDAsaC5kZWZhdWx0KShpLFt7a2V5OiJfcGFyc2VSZXN1bHQiLHZhbHVlOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9pc0pRTD90LnJlc3VsdDp0fX0se2tleToiX2NhbGxDbG91ZEZ1bmN0aW9uIix2YWx1ZTpmdW5jdGlvbih0KXt2YXIgYT10aGlzLGk9dC5hY3Rpb24sZT10LmNvbW1hbmQsbj10Lm11bHRpQ29tbWFuZCxyPXQucXVlcnlMaXN0O2Z1bmN0aW9uIG8odCxhKXtpZihuJiZyKWZvcih2YXIgaT0wO2k8ci5sZW5ndGg7aSsrKXt2YXIgZT1yW2ldO2UudWRiJiYiZnVuY3Rpb24iPT10eXBlb2YgZS51ZGIuc2V0UmVzdWx0JiYoYT9lLnVkYi5zZXRSZXN1bHQoYSk6ZS51ZGIuc2V0UmVzdWx0KHQucmVzdWx0LmRhdGFMaXN0W2ldKSl9fXZhciBkPXRoaXMscD10aGlzLl9pc0pRTD8iZGF0YWJhc2VGb3JKUUwiOiJkYXRhYmFzZSI7ZnVuY3Rpb24gYyh0KXtyZXR1cm4gZC5fY2FsbGJhY2soImVycm9yIixbdF0pLFgocShwLCJmYWlsIiksdCkudGhlbigoZnVuY3Rpb24oKXtyZXR1cm4gWChxKHAsImNvbXBsZXRlIiksdCl9KSkudGhlbigoZnVuY3Rpb24oKXtyZXR1cm4gbyhudWxsLHQpLG50KCQuUkVTUE9OU0Use3R5cGU6dHQuQ0xJRU5UX0RCLGNvbnRlbnQ6dH0pLFByb21pc2UucmVqZWN0KHQpfSkpfXZhciBzPVgocShwLCJpbnZva2UiKSksbD10aGlzLl91bmlDbGllbnQ7cmV0dXJuIHMudGhlbigoZnVuY3Rpb24oKXtyZXR1cm4gbC5jYWxsRnVuY3Rpb24oe25hbWU6IkRDbG91ZC1jbGllbnREQiIsdHlwZTpDLkNMSUVOVF9EQixkYXRhOnthY3Rpb246aSxjb21tYW5kOmUsbXVsdGlDb21tYW5kOm59fSl9KSkudGhlbigoZnVuY3Rpb24odCl7dmFyIGk9dC5yZXN1bHQsZT1pLmNvZGUsbj1pLm1lc3NhZ2Uscj1pLnRva2VuLHM9aS50b2tlbkV4cGlyZWQsbD1pLnN5c3RlbUluZm8sbT12b2lkIDA9PT1sP1tdOmw7aWYobSlmb3IodmFyIGY9MDtmPG0ubGVuZ3RoO2YrKyl7dmFyIGc9bVtmXSx1PWcubGV2ZWwsaD1nLm1lc3NhZ2Usdj1nLmRldGFpbCxiPSJbU3lzdGVtIEluZm9dIitoO3YmJihiPSIiLmNvbmNhdChiLCJcbuivpue7huS/oeaBr++8miIpLmNvbmNhdCh2KSksKGNvbnNvbGVbImFwcCI9PT1qJiYid2FybiI9PT11PyJlcnJvciI6dV18fGNvbnNvbGUubG9nKShiKX1pZihlKXJldHVybiBjKG5ldyBjdCh7Y29kZTplLG1lc3NhZ2U6bixyZXF1ZXN0SWQ6dC5yZXF1ZXN0SWR9KSk7dC5yZXN1bHQuZXJyQ29kZT10LnJlc3VsdC5lcnJDb2RlfHx0LnJlc3VsdC5jb2RlLHQucmVzdWx0LmVyck1zZz10LnJlc3VsdC5lcnJNc2d8fHQucmVzdWx0Lm1lc3NhZ2UsciYmcyYmKGd0KHt0b2tlbjpyLHRva2VuRXhwaXJlZDpzfSksYS5fY2FsbGJhY2tBdXRoKCJyZWZyZXNoVG9rZW4iLFt7dG9rZW46cix0b2tlbkV4cGlyZWQ6c31dKSxhLl9jYWxsYmFjaygicmVmcmVzaFRva2VuIixbe3Rva2VuOnIsdG9rZW5FeHBpcmVkOnN9XSksbnQoJC5SRUZSRVNIX1RPS0VOLHt0b2tlbjpyLHRva2VuRXhwaXJlZDpzfSkpO2Zvcih2YXIgeD1be3Byb3A6ImFmZmVjdGVkRG9jcyIsdGlwczoiYWZmZWN0ZWREb2Nz5LiN5YaN5o6o6I2Q5L2/55So77yM6K+35L2/55SoaW5zZXJ0ZWQvZGVsZXRlZC91cGRhdGVkL2RhdGEubGVuZ3Ro5pu/5LujIn0se3Byb3A6ImNvZGUiLHRpcHM6ImNvZGXkuI3lho3mjqjojZDkvb/nlKjvvIzor7fkvb/nlKhlcnJDb2Rl5pu/5LujIn0se3Byb3A6Im1lc3NhZ2UiLHRpcHM6Im1lc3NhZ2XkuI3lho3mjqjojZDkvb/nlKjvvIzor7fkvb/nlKhlcnJNc2fmm7/ku6MifV0seT1mdW5jdGlvbihhKXt2YXIgaT14W2FdLGU9aS5wcm9wLG49aS50aXBzO2lmKGUgaW4gdC5yZXN1bHQpe3ZhciByPXQucmVzdWx0W2VdO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LnJlc3VsdCxlLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gY29uc29sZS53YXJuKG4pLHJ9fSl9fSxBPTA7QTx4Lmxlbmd0aDtBKyspeShBKTtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIFgocShwLCJzdWNjZXNzIiksdCkudGhlbigoZnVuY3Rpb24oKXtyZXR1cm4gWChxKHAsImNvbXBsZXRlIiksdCl9KSkudGhlbigoZnVuY3Rpb24oKXtvKHQsbnVsbCk7dmFyIGE9ZC5fcGFyc2VSZXN1bHQodCk7cmV0dXJuIG50KCQuUkVTUE9OU0Use3R5cGU6dHQuQ0xJRU5UX0RCLGNvbnRlbnQ6YX0pLFByb21pc2UucmVzb2x2ZShhKX0pKX0odCl9KSwoZnVuY3Rpb24odCl7cmV0dXJuL2ZjX2Z1bmN0aW9uX25vdF9mb3VuZHxGVU5DVElPTl9OT1RfRk9VTkQvZy50ZXN0KHQubWVzc2FnZSkmJmNvbnNvbGUud2FybigiY2xpZW50RELmnKrliJ3lp4vljJbvvIzor7flnKh3ZWLmjqfliLblj7Dkv53lrZjkuIDmrKFzY2hlbWHku6XlvIDlkK9jbGllbnREQiIpLGMobmV3IGN0KHtjb2RlOnQuY29kZXx8IlNZU1RFTV9FUlJPUiIsbWVzc2FnZTp0Lm1lc3NhZ2UscmVxdWVzdElkOnQucmVxdWVzdElkfSkpfSkpfX1dKSxpfShraSksQ2k9InRva2Vu5peg5pWI77yM6Lez6L2s55m75b2V6aG16Z2iIixQaT0idG9rZW7ov4fmnJ/vvIzot7PovaznmbvlvZXpobXpnaIiLHppPXtUT0tFTl9JTlZBTElEX1RPS0VOX0VYUElSRUQ6UGksVE9LRU5fSU5WQUxJRF9JTlZBTElEX0NMSUVOVElEOkNpLFRPS0VOX0lOVkFMSUQ6Q2ksVE9LRU5fSU5WQUxJRF9XUk9OR19UT0tFTjpDaSxUT0tFTl9JTlZBTElEX0FOT05ZTU9VU19VU0VSOkNpfSxJaT17InVuaS1pZC10b2tlbi1leHBpcmVkIjpQaSwidW5pLWlkLWNoZWNrLXRva2VuLWZhaWxlZCI6Q2ksInVuaS1pZC10b2tlbi1ub3QtZXhpc3QiOkNpLCJ1bmktaWQtY2hlY2stZGV2aWNlLWZlYXR1cmUtZmFpbGVkIjpDaX07ZnVuY3Rpb24gRGkodCxhKXt2YXIgaT0iIjtyZXR1cm4gaT10PyIiLmNvbmNhdCh0LCIvIikuY29uY2F0KGEpOmEsaS5yZXBsYWNlKC9eXC8vLCIiKX1mdW5jdGlvbiBNaSgpe3ZhciB0PWFyZ3VtZW50cy5sZW5ndGg+MCYmdm9pZCAwIT09YXJndW1lbnRzWzBdP2FyZ3VtZW50c1swXTpbXSxhPWFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXToiIixpPVtdLGU9W107cmV0dXJuIHQuZm9yRWFjaCgoZnVuY3Rpb24odCl7ITA9PT10Lm5lZWRMb2dpbj9pLnB1c2goRGkoYSx0LnBhdGgpKTohMT09PXQubmVlZExvZ2luJiZlLnB1c2goRGkoYSx0LnBhdGgpKX0pKSx7bmVlZExvZ2luUGFnZTppLG5vdE5lZWRMb2dpblBhZ2U6ZX19ZnVuY3Rpb24gRWkodCl7cmV0dXJuIHQuc3BsaXQoIj8iKVswXS5yZXBsYWNlKC9eXC8vLCIiKX1mdW5jdGlvbiBMaSgpe3JldHVybiBmdW5jdGlvbih0KXt2YXIgYT10JiZ0LiRwYWdlJiZ0LiRwYWdlLmZ1bGxQYXRofHwiIjtyZXR1cm4gYT8oIi8iIT09YS5jaGFyQXQoMCkmJihhPSIvIithKSxhKTphfShmdW5jdGlvbigpe3ZhciB0PWdldEN1cnJlbnRQYWdlcygpO3JldHVybiB0W3QubGVuZ3RoLTFdfSgpKX1mdW5jdGlvbiBPaSgpe3JldHVybiBFaShMaSgpKX1mdW5jdGlvbiBOaSgpe3ZhciB0PWFyZ3VtZW50cy5sZW5ndGg+MCYmdm9pZCAwIT09YXJndW1lbnRzWzBdP2FyZ3VtZW50c1swXToiIixhPWFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXTp7fTtpZighdClyZXR1cm4hMTtpZighKGEmJmEubGlzdCYmYS5saXN0Lmxlbmd0aCkpcmV0dXJuITE7dmFyIGk9YS5saXN0LGU9RWkodCk7cmV0dXJuIGkuc29tZSgoZnVuY3Rpb24odCl7cmV0dXJuIHQucGFnZVBhdGg9PT1lfSkpfXZhciBCaSxSaT0hIXYuZGVmYXVsdC51bmlJZFJvdXRlcixGaT1mdW5jdGlvbigpe3ZhciB0PWFyZ3VtZW50cy5sZW5ndGg+MCYmdm9pZCAwIT09YXJndW1lbnRzWzBdP2FyZ3VtZW50c1swXTp2LmRlZmF1bHQsYT10LnBhZ2VzLGk9dm9pZCAwPT09YT9bXTphLGU9dC5zdWJQYWNrYWdlcyxuPXZvaWQgMD09PWU/W106ZSxyPXQudW5pSWRSb3V0ZXIsbz12b2lkIDA9PT1yP3t9OnIscD10LnRhYkJhcixjPXZvaWQgMD09PXA/e306cCxzPW8ubG9naW5QYWdlLGw9by5uZWVkTG9naW4sbT12b2lkIDA9PT1sP1tdOmwsZj1vLnJlc1RvTG9naW4sZz12b2lkIDA9PT1mfHxmLHU9TWkoaSksaD11Lm5lZWRMb2dpblBhZ2UsYj11Lm5vdE5lZWRMb2dpblBhZ2UseD1mdW5jdGlvbigpe3ZhciB0PWFyZ3VtZW50cy5sZW5ndGg+MCYmdm9pZCAwIT09YXJndW1lbnRzWzBdP2FyZ3VtZW50c1swXTpbXSxhPVtdLGk9W107cmV0dXJuIHQuZm9yRWFjaCgoZnVuY3Rpb24odCl7dmFyIGU9dC5yb290LG49dC5wYWdlcyxyPXZvaWQgMD09PW4/W106bixvPU1pKHIsZSkscD1vLm5lZWRMb2dpblBhZ2UsYz1vLm5vdE5lZWRMb2dpblBhZ2U7YS5wdXNoLmFwcGx5KGEsKDAsZC5kZWZhdWx0KShwKSksaS5wdXNoLmFwcGx5KGksKDAsZC5kZWZhdWx0KShjKSl9KSkse25lZWRMb2dpblBhZ2U6YSxub3ROZWVkTG9naW5QYWdlOml9fShuKSx5PXgubmVlZExvZ2luUGFnZSxBPXgubm90TmVlZExvZ2luUGFnZTtyZXR1cm57bG9naW5QYWdlOnMscm91dGVyTmVlZExvZ2luOm0scmVzVG9Mb2dpbjpnLG5lZWRMb2dpblBhZ2U6W10uY29uY2F0KCgwLGQuZGVmYXVsdCkoaCksKDAsZC5kZWZhdWx0KSh5KSksbm90TmVlZExvZ2luUGFnZTpbXS5jb25jYXQoKDAsZC5kZWZhdWx0KShiKSwoMCxkLmRlZmF1bHQpKEEpKSxsb2dpblBhZ2VJblRhYkJhcjpOaShzLGMpfX0oKSxfaT1GaS5sb2dpblBhZ2Usamk9Rmkucm91dGVyTmVlZExvZ2luLFVpPUZpLnJlc1RvTG9naW4sV2k9RmkubmVlZExvZ2luUGFnZSxHaT1GaS5ub3ROZWVkTG9naW5QYWdlLFlpPUZpLmxvZ2luUGFnZUluVGFiQmFyO2lmKFdpLmluZGV4T2YoX2kpPi0xKXRocm93IG5ldyBFcnJvcigiTG9naW4gcGFnZSBbIi5jb25jYXQoX2ksJ10gc2hvdWxkIG5vdCBiZSAibmVlZExvZ2luIiwgcGxlYXNlIGNoZWNrIHlvdXIgcGFnZXMuanNvbicpKTtmdW5jdGlvbiBaaSh0KXt2YXIgYT1PaSgpO2lmKCIvIj09PXQuY2hhckF0KDApKXJldHVybiB0O3ZhciBpPXQuc3BsaXQoIj8iKSxlPSgwLHIuZGVmYXVsdCkoaSwyKSxuPWVbMF0sbz1lWzFdLGQ9bi5yZXBsYWNlKC9eXC8vLCIiKS5zcGxpdCgiLyIpLHA9YS5zcGxpdCgiLyIpO3AucG9wKCk7Zm9yKHZhciBjPTA7YzxkLmxlbmd0aDtjKyspe3ZhciBzPWRbY107Ii4uIj09PXM/cC5wb3AoKToiLiIhPT1zJiZwLnB1c2gocyl9cmV0dXJuIiI9PT1wWzBdJiZwLnNoaWZ0KCksIi8iK3Auam9pbigiLyIpKyhvPyI/IitvOiIiKX1mdW5jdGlvbiBRaSh0KXt2YXIgYT1FaShaaSh0KSk7cmV0dXJuIShHaS5pbmRleE9mKGEpPi0xKSYmKFdpLmluZGV4T2YoYSk+LTF8fGppLnNvbWUoKGZ1bmN0aW9uKGEpe3JldHVybiBmdW5jdGlvbih0LGEpe3JldHVybiBuZXcgUmVnRXhwKGEpLnRlc3QodCl9KHQsYSl9KSkpfWZ1bmN0aW9uIEppKHQpe3ZhciBhPXQucmVkaXJlY3QsaT1FaShhKSxlPUVpKF9pKTtyZXR1cm4gT2koKSE9PWUmJmkhPT1lfWZ1bmN0aW9uIEhpKCl7dmFyIHQ9YXJndW1lbnRzLmxlbmd0aD4wJiZ2b2lkIDAhPT1hcmd1bWVudHNbMF0/YXJndW1lbnRzWzBdOnt9LGE9dC5hcGksaT10LnJlZGlyZWN0O2lmKGkmJkppKHtyZWRpcmVjdDppfSkpe3ZhciBlPWZ1bmN0aW9uKHQsYSl7cmV0dXJuIi8iIT09dC5jaGFyQXQoMCkmJih0PSIvIit0KSxhP3QuaW5kZXhPZigiPyIpPi0xP3QrIiZ1bmlJZFJlZGlyZWN0VXJsPSIuY29uY2F0KGVuY29kZVVSSUNvbXBvbmVudChhKSk6dCsiP3VuaUlkUmVkaXJlY3RVcmw9Ii5jb25jYXQoZW5jb2RlVVJJQ29tcG9uZW50KGEpKTp0fShfaSxpKTtZaT8ibmF2aWdhdGVUbyIhPT1hJiYicmVkaXJlY3RUbyIhPT1hfHwoYT0ic3dpdGNoVGFiIik6InN3aXRjaFRhYiI9PT1hJiYoYT0ibmF2aWdhdGVUbyIpO3ZhciBuPXtuYXZpZ2F0ZVRvOnVuaS5uYXZpZ2F0ZVRvLHJlZGlyZWN0VG86dW5pLnJlZGlyZWN0VG8sc3dpdGNoVGFiOnVuaS5zd2l0Y2hUYWIscmVMYXVuY2g6dW5pLnJlTGF1bmNofTtzZXRUaW1lb3V0KChmdW5jdGlvbigpe25bYV0oe3VybDplfSl9KSwwKX19ZnVuY3Rpb24gWGkoKXt2YXIgdD1hcmd1bWVudHMubGVuZ3RoPjAmJnZvaWQgMCE9PWFyZ3VtZW50c1swXT9hcmd1bWVudHNbMF06e30sYT10LnVybCxpPXthYm9ydExvZ2luUGFnZUp1bXA6ITEsYXV0b1RvTG9naW5QYWdlOiExfSxlPWZ1bmN0aW9uKCl7dmFyIHQsYT1mdCgpLGk9YS50b2tlbixlPWEudG9rZW5FeHBpcmVkO2lmKGkpe2lmKGU8RGF0ZS5ub3coKSl7dmFyIG49InVuaS1pZC10b2tlbi1leHBpcmVkIjt0PXtlcnJDb2RlOm4sZXJyTXNnOklpW25dfX19ZWxzZXt2YXIgcj0idW5pLWlkLWNoZWNrLXRva2VuLWZhaWxlZCI7dD17ZXJyQ29kZTpyLGVyck1zZzpJaVtyXX19cmV0dXJuIHR9KCk7aWYoUWkoYSkmJmUpe2lmKGUudW5pSWRSZWRpcmVjdFVybD1hLGF0KCQuTkVFRF9MT0dJTikubGVuZ3RoPjApcmV0dXJuIHNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7bnQoJC5ORUVEX0xPR0lOLGUpfSksMCksaS5hYm9ydExvZ2luUGFnZUp1bXA9ITAsaTtpLmF1dG9Ub0xvZ2luUGFnZT0hMH1yZXR1cm4gaX1mdW5jdGlvbiBxaSgpeyFmdW5jdGlvbigpe3ZhciB0PUxpKCksYT1YaSh7dXJsOnR9KSxpPWEuYWJvcnRMb2dpblBhZ2VKdW1wLGU9YS5hdXRvVG9Mb2dpblBhZ2U7aXx8ZSYmSGkoe2FwaToicmVkaXJlY3RUbyIscmVkaXJlY3Q6dH0pfSgpO2Zvcih2YXIgdD1bIm5hdmlnYXRlVG8iLCJyZWRpcmVjdFRvIiwicmVMYXVuY2giLCJzd2l0Y2hUYWIiXSxhPWZ1bmN0aW9uKGEpe3ZhciBpPXRbYV07dW5pLmFkZEludGVyY2VwdG9yKGkse2ludm9rZTpmdW5jdGlvbih0KXt2YXIgYT1YaSh7dXJsOnQudXJsfSksZT1hLmFib3J0TG9naW5QYWdlSnVtcCxuPWEuYXV0b1RvTG9naW5QYWdlO3JldHVybiBlP3Q6bj8oSGkoe2FwaTppLHJlZGlyZWN0OlppKHQudXJsKX0pLCExKTp0fX0pfSxpPTA7aTx0Lmxlbmd0aDtpKyspYShpKX1mdW5jdGlvbiBWaSgpe3RoaXMub25SZXNwb25zZSgoZnVuY3Rpb24odCl7dmFyIGE9dC50eXBlLGk9dC5jb250ZW50LGU9ITE7c3dpdGNoKGEpe2Nhc2UiY2xvdWRvYmplY3QiOmU9ZnVuY3Rpb24odCl7aWYoIm9iamVjdCIhPSgwLG8uZGVmYXVsdCkodCkpcmV0dXJuITE7dmFyIGE9dHx8e30saT1hLmVyckNvZGU7cmV0dXJuIGkgaW4gSWl9KGkpO2JyZWFrO2Nhc2UiY2xpZW50ZGIiOmU9ZnVuY3Rpb24odCl7aWYoIm9iamVjdCIhPSgwLG8uZGVmYXVsdCkodCkpcmV0dXJuITE7dmFyIGE9dHx8e30saT1hLmVyckNvZGU7cmV0dXJuIGkgaW4geml9KGkpfWUmJmZ1bmN0aW9uKCl7dmFyIHQ9YXJndW1lbnRzLmxlbmd0aD4wJiZ2b2lkIDAhPT1hcmd1bWVudHNbMF0/YXJndW1lbnRzWzBdOnt9LGE9YXQoJC5ORUVEX0xPR0lOKTtkdCgpLnRoZW4oKGZ1bmN0aW9uKCl7dmFyIGk9TGkoKTtpZihpJiZKaSh7cmVkaXJlY3Q6aX0pKXJldHVybiBhLmxlbmd0aD4wP250KCQuTkVFRF9MT0dJTixPYmplY3QuYXNzaWduKHt1bmlJZFJlZGlyZWN0VXJsOml9LHQpKTp2b2lkKF9pJiZIaSh7YXBpOiJuYXZpZ2F0ZVRvIixyZWRpcmVjdDppfSkpfSkpfShpKX0pKX1mdW5jdGlvbiBLaSh0KXshZnVuY3Rpb24odCl7dC5vblJlc3BvbnNlPWZ1bmN0aW9uKHQpe2l0KCQuUkVTUE9OU0UsdCl9LHQub2ZmUmVzcG9uc2U9ZnVuY3Rpb24odCl7ZXQoJC5SRVNQT05TRSx0KX19KHQpLGZ1bmN0aW9uKHQpe3Qub25OZWVkTG9naW49ZnVuY3Rpb24odCl7aXQoJC5ORUVEX0xPR0lOLHQpfSx0Lm9mZk5lZWRMb2dpbj1mdW5jdGlvbih0KXtldCgkLk5FRURfTE9HSU4sdCl9LFJpJiYoWShpaSkubmVlZExvZ2luSW5pdHx8KFkoaWkpLm5lZWRMb2dpbkluaXQ9ITAsZHQoKS50aGVuKChmdW5jdGlvbigpe3FpLmNhbGwodCl9KSksVWkmJlZpLmNhbGwodCkpKX0odCksZnVuY3Rpb24odCl7dC5vblJlZnJlc2hUb2tlbj1mdW5jdGlvbih0KXtpdCgkLlJFRlJFU0hfVE9LRU4sdCl9LHQub2ZmUmVmcmVzaFRva2VuPWZ1bmN0aW9uKHQpe2V0KCQuUkVGUkVTSF9UT0tFTix0KX19KHQpfXZhciAkaT0iQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLz0iLHRlPS9eKD86W0EtWmEtelxkKy9dezR9KSo/KD86W0EtWmEtelxkKy9dezJ9KD86PT0pP3xbQS1aYS16XGQrL117M309Pyk/JC87ZnVuY3Rpb24gYWUoKXt2YXIgdCxhLGk9ZnQoKS50b2tlbnx8IiIsZT1pLnNwbGl0KCIuIik7aWYoIWl8fDMhPT1lLmxlbmd0aClyZXR1cm57dWlkOm51bGwscm9sZTpbXSxwZXJtaXNzaW9uOltdLHRva2VuRXhwaXJlZDowfTt0cnl7dD1KU09OLnBhcnNlKChhPWVbMV0sZGVjb2RlVVJJQ29tcG9uZW50KEJpKGEpLnNwbGl0KCIiKS5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiIlIisoIjAwIit0LmNoYXJDb2RlQXQoMCkudG9TdHJpbmcoMTYpKS5zbGljZSgtMil9KSkuam9pbigiIikpKSl9Y2F0Y2goaSl7dGhyb3cgbmV3IEVycm9yKCLojrflj5blvZPliY3nlKjmiLfkv6Hmga/lh7rplJnvvIzor6bnu4bplJnor6/kv6Hmga/kuLrvvJoiK2kubWVzc2FnZSl9cmV0dXJuIHQudG9rZW5FeHBpcmVkPTFlMyp0LmV4cCxkZWxldGUgdC5leHAsZGVsZXRlIHQuaWF0LHR9Qmk9ImZ1bmN0aW9uIiE9dHlwZW9mIGF0b2I/ZnVuY3Rpb24odCl7aWYodD1TdHJpbmcodCkucmVwbGFjZSgvW1x0XG5cZlxyIF0rL2csIiIpLCF0ZS50ZXN0KHQpKXRocm93IG5ldyBFcnJvcigiRmFpbGVkIHRvIGV4ZWN1dGUgJ2F0b2InIG9uICdXaW5kb3cnOiBUaGUgc3RyaW5nIHRvIGJlIGRlY29kZWQgaXMgbm90IGNvcnJlY3RseSBlbmNvZGVkLiIpO3ZhciBhO3QrPSI9PSIuc2xpY2UoMi0oMyZ0Lmxlbmd0aCkpO2Zvcih2YXIgaSxlLG49IiIscj0wO3I8dC5sZW5ndGg7KWE9JGkuaW5kZXhPZih0LmNoYXJBdChyKyspKTw8MTh8JGkuaW5kZXhPZih0LmNoYXJBdChyKyspKTw8MTJ8KGk9JGkuaW5kZXhPZih0LmNoYXJBdChyKyspKSk8PDZ8KGU9JGkuaW5kZXhPZih0LmNoYXJBdChyKyspKSksbis9NjQ9PT1pP1N0cmluZy5mcm9tQ2hhckNvZGUoYT4+MTYmMjU1KTo2ND09PWU/U3RyaW5nLmZyb21DaGFyQ29kZShhPj4xNiYyNTUsYT4+OCYyNTUpOlN0cmluZy5mcm9tQ2hhckNvZGUoYT4+MTYmMjU1LGE+PjgmMjU1LDI1NSZhKTtyZXR1cm4gbn06YXRvYjt2YXIgaWU9YigoZnVuY3Rpb24odCxhKXtPYmplY3QuZGVmaW5lUHJvcGVydHkoYSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIGk9ImNob29zZUFuZFVwbG9hZEZpbGU6b2siLGU9ImNob29zZUFuZFVwbG9hZEZpbGU6ZmFpbCI7ZnVuY3Rpb24gbih0LGEpe3JldHVybiB0LnRlbXBGaWxlcy5mb3JFYWNoKChmdW5jdGlvbih0LGkpe3QubmFtZXx8KHQubmFtZT10LnBhdGguc3Vic3RyaW5nKHQucGF0aC5sYXN0SW5kZXhPZigiLyIpKzEpKSxhJiYodC5maWxlVHlwZT1hKSx0LmNsb3VkUGF0aD1EYXRlLm5vdygpKyJfIitpK3QubmFtZS5zdWJzdHJpbmcodC5uYW1lLmxhc3RJbmRleE9mKCIuIikpfSkpLHQudGVtcEZpbGVQYXRoc3x8KHQudGVtcEZpbGVQYXRocz10LnRlbXBGaWxlcy5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiB0LnBhdGh9KSkpLHR9ZnVuY3Rpb24gcih0LGEsZSl7dmFyIG49ZS5vbkNob29zZUZpbGUscj1lLm9uVXBsb2FkUHJvZ3Jlc3M7cmV0dXJuIGEudGhlbigoZnVuY3Rpb24odCl7aWYobil7dmFyIGE9bih0KTtpZih2b2lkIDAhPT1hKXJldHVybiBQcm9taXNlLnJlc29sdmUoYSkudGhlbigoZnVuY3Rpb24oYSl7cmV0dXJuIHZvaWQgMD09PWE/dDphfSkpfXJldHVybiB0fSkpLnRoZW4oKGZ1bmN0aW9uKGEpe3JldHVybiExPT09YT97ZXJyTXNnOmksdGVtcEZpbGVQYXRoczpbXSx0ZW1wRmlsZXM6W119OmZ1bmN0aW9uKHQsYSl7dmFyIGU9YXJndW1lbnRzLmxlbmd0aD4yJiZ2b2lkIDAhPT1hcmd1bWVudHNbMl0/YXJndW1lbnRzWzJdOjUsbj1hcmd1bWVudHMubGVuZ3RoPjM/YXJndW1lbnRzWzNdOnZvaWQgMDsoYT1PYmplY3QuYXNzaWduKHt9LGEpKS5lcnJNc2c9aTt2YXIgcj1hLnRlbXBGaWxlcyxvPXIubGVuZ3RoLGQ9MDtyZXR1cm4gbmV3IFByb21pc2UoKGZ1bmN0aW9uKGkpe2Zvcig7ZDxlOylwKCk7ZnVuY3Rpb24gcCgpe3ZhciBlPWQrKztpZihlPj1vKSFyLmZpbmQoKGZ1bmN0aW9uKHQpe3JldHVybiF0LnVybCYmIXQuZXJyTXNnfSkpJiZpKGEpO2Vsc2V7dmFyIGM9cltlXTt0LnVwbG9hZEZpbGUoe3Byb3ZpZGVyOmMucHJvdmlkZXIsZmlsZVBhdGg6Yy5wYXRoLGNsb3VkUGF0aDpjLmNsb3VkUGF0aCxmaWxlVHlwZTpjLmZpbGVUeXBlLGNsb3VkUGF0aEFzUmVhbFBhdGg6Yy5jbG91ZFBhdGhBc1JlYWxQYXRoLG9uVXBsb2FkUHJvZ3Jlc3M6ZnVuY3Rpb24odCl7dC5pbmRleD1lLHQudGVtcEZpbGU9Yyx0LnRlbXBGaWxlUGF0aD1jLnBhdGgsbiYmbih0KX19KS50aGVuKChmdW5jdGlvbih0KXtjLnVybD10LmZpbGVJRCxlPG8mJnAoKX0pKS5jYXRjaCgoZnVuY3Rpb24odCl7Yy5lcnJNc2c9dC5lcnJNc2d8fHQubWVzc2FnZSxlPG8mJnAoKX0pKX19fSkpfSh0LGEsNSxyKX0pKX1hLmluaXRDaG9vc2VBbmRVcGxvYWRGaWxlPWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbigpe3ZhciBhPWFyZ3VtZW50cy5sZW5ndGg+MCYmdm9pZCAwIT09YXJndW1lbnRzWzBdP2FyZ3VtZW50c1swXTp7dHlwZToiYWxsIn07cmV0dXJuImltYWdlIj09PWEudHlwZT9yKHQsZnVuY3Rpb24odCl7dmFyIGE9dC5jb3VudCxpPXQuc2l6ZVR5cGUscj10LnNvdXJjZVR5cGUsbz12b2lkIDA9PT1yP1siYWxidW0iLCJjYW1lcmEiXTpyLGQ9dC5leHRlbnNpb247cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbih0LHIpe3VuaS5jaG9vc2VJbWFnZSh7Y291bnQ6YSxzaXplVHlwZTppLHNvdXJjZVR5cGU6byxleHRlbnNpb246ZCxzdWNjZXNzOmZ1bmN0aW9uKGEpe3QobihhLCJpbWFnZSIpKX0sZmFpbDpmdW5jdGlvbih0KXtyKHtlcnJNc2c6dC5lcnJNc2cucmVwbGFjZSgiY2hvb3NlSW1hZ2U6ZmFpbCIsZSl9KX19KX0pKX0oYSksYSk6InZpZGVvIj09PWEudHlwZT9yKHQsZnVuY3Rpb24odCl7dmFyIGE9dC5jYW1lcmEsaT10LmNvbXByZXNzZWQscj10Lm1heER1cmF0aW9uLG89dC5zb3VyY2VUeXBlLGQ9dm9pZCAwPT09bz9bImFsYnVtIiwiY2FtZXJhIl06byxwPXQuZXh0ZW5zaW9uO3JldHVybiBuZXcgUHJvbWlzZSgoZnVuY3Rpb24odCxvKXt1bmkuY2hvb3NlVmlkZW8oe2NhbWVyYTphLGNvbXByZXNzZWQ6aSxtYXhEdXJhdGlvbjpyLHNvdXJjZVR5cGU6ZCxleHRlbnNpb246cCxzdWNjZXNzOmZ1bmN0aW9uKGEpe3ZhciBpPWEudGVtcEZpbGVQYXRoLGU9YS5kdXJhdGlvbixyPWEuc2l6ZSxvPWEuaGVpZ2h0LGQ9YS53aWR0aDt0KG4oe2Vyck1zZzoiY2hvb3NlVmlkZW86b2siLHRlbXBGaWxlUGF0aHM6W2ldLHRlbXBGaWxlczpbe25hbWU6YS50ZW1wRmlsZSYmYS50ZW1wRmlsZS5uYW1lfHwiIixwYXRoOmksc2l6ZTpyLHR5cGU6YS50ZW1wRmlsZSYmYS50ZW1wRmlsZS50eXBlfHwiIix3aWR0aDpkLGhlaWdodDpvLGR1cmF0aW9uOmUsZmlsZVR5cGU6InZpZGVvIixjbG91ZFBhdGg6IiJ9XX0sInZpZGVvIikpfSxmYWlsOmZ1bmN0aW9uKHQpe28oe2Vyck1zZzp0LmVyck1zZy5yZXBsYWNlKCJjaG9vc2VWaWRlbzpmYWlsIixlKX0pfX0pfSkpfShhKSxhKTpyKHQsZnVuY3Rpb24odCl7dmFyIGE9dC5jb3VudCxpPXQuZXh0ZW5zaW9uO3JldHVybiBuZXcgUHJvbWlzZSgoZnVuY3Rpb24odCxyKXt2YXIgbz11bmkuY2hvb3NlRmlsZTtpZigidW5kZWZpbmVkIiE9dHlwZW9mIHd4JiYiZnVuY3Rpb24iPT10eXBlb2Ygd3guY2hvb3NlTWVzc2FnZUZpbGUmJihvPXd4LmNob29zZU1lc3NhZ2VGaWxlKSwiZnVuY3Rpb24iIT10eXBlb2YgbylyZXR1cm4gcih7ZXJyTXNnOmUrIiDor7fmjIflrpogdHlwZSDnsbvlnovvvIzor6XlubPlj7Dku4XmlK/mjIHpgInmi6kgaW1hZ2Ug5oiWIHZpZGVv44CCIn0pO28oe3R5cGU6ImFsbCIsY291bnQ6YSxleHRlbnNpb246aSxzdWNjZXNzOmZ1bmN0aW9uKGEpe3QobihhKSl9LGZhaWw6ZnVuY3Rpb24odCl7cih7ZXJyTXNnOnQuZXJyTXNnLnJlcGxhY2UoImNob29zZUZpbGU6ZmFpbCIsZSl9KX19KX0pKX0oYSksYSl9fX0pKSxlZT1mdW5jdGlvbih0KXtyZXR1cm4gdCYmdC5fX2VzTW9kdWxlJiZPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCwiZGVmYXVsdCIpP3QuZGVmYXVsdDp0fShpZSksbmU9e2F1dG86ImF1dG8iLG9ucmVhZHk6Im9ucmVhZHkiLG1hbnVhbDoibWFudWFsIn07ZnVuY3Rpb24gcmUodCl7cmV0dXJue3Byb3BzOntsb2NhbGRhdGE6e3R5cGU6QXJyYXksZGVmYXVsdDpmdW5jdGlvbigpe3JldHVybltdfX0sb3B0aW9uczp7dHlwZTpbT2JqZWN0LEFycmF5XSxkZWZhdWx0OmZ1bmN0aW9uKCl7cmV0dXJue319fSxzcGFjZUluZm86e3R5cGU6T2JqZWN0LGRlZmF1bHQ6ZnVuY3Rpb24oKXtyZXR1cm57fX19LGNvbGxlY3Rpb246e3R5cGU6W1N0cmluZyxBcnJheV0sZGVmYXVsdDoiIn0sYWN0aW9uOnt0eXBlOlN0cmluZyxkZWZhdWx0OiIifSxmaWVsZDp7dHlwZTpTdHJpbmcsZGVmYXVsdDoiIn0sb3JkZXJieTp7dHlwZTpTdHJpbmcsZGVmYXVsdDoiIn0sd2hlcmU6e3R5cGU6W1N0cmluZyxPYmplY3RdLGRlZmF1bHQ6IiJ9LHBhZ2VEYXRhOnt0eXBlOlN0cmluZyxkZWZhdWx0OiJhZGQifSxwYWdlQ3VycmVudDp7dHlwZTpOdW1iZXIsZGVmYXVsdDoxfSxwYWdlU2l6ZTp7dHlwZTpOdW1iZXIsZGVmYXVsdDoyMH0sZ2V0Y291bnQ6e3R5cGU6W0Jvb2xlYW4sU3RyaW5nXSxkZWZhdWx0OiExfSxnZXR0cmVlOnt0eXBlOltCb29sZWFuLFN0cmluZ10sZGVmYXVsdDohMX0sZ2V0dHJlZXBhdGg6e3R5cGU6W0Jvb2xlYW4sU3RyaW5nXSxkZWZhdWx0OiExfSxzdGFydHdpdGg6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6IiJ9LGxpbWl0bGV2ZWw6e3R5cGU6TnVtYmVyLGRlZmF1bHQ6MTB9LGdyb3VwYnk6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6IiJ9LGdyb3VwRmllbGQ6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6IiJ9LGRpc3RpbmN0Ont0eXBlOltCb29sZWFuLFN0cmluZ10sZGVmYXVsdDohMX0sZm9yZWlnbktleTp7dHlwZTpTdHJpbmcsZGVmYXVsdDoiIn0sbG9hZHRpbWU6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6ImF1dG8ifSxtYW51YWw6e3R5cGU6Qm9vbGVhbixkZWZhdWx0OiExfX0sZGF0YTpmdW5jdGlvbigpe3JldHVybnttaXhpbkRhdGFjb21Mb2FkaW5nOiExLG1peGluRGF0YWNvbUhhc01vcmU6ITEsbWl4aW5EYXRhY29tUmVzRGF0YTpbXSxtaXhpbkRhdGFjb21FcnJvck1lc3NhZ2U6IiIsbWl4aW5EYXRhY29tUGFnZTp7fSxtaXhpbkRhdGFjb21FcnJvcjpudWxsfX0sY3JlYXRlZDpmdW5jdGlvbigpe3ZhciB0PXRoaXM7dGhpcy5taXhpbkRhdGFjb21QYWdlPXtjdXJyZW50OnRoaXMucGFnZUN1cnJlbnQsc2l6ZTp0aGlzLnBhZ2VTaXplLGNvdW50OjB9LHRoaXMuJHdhdGNoKChmdW5jdGlvbigpe3ZhciBhPVtdO3JldHVyblsicGFnZUN1cnJlbnQiLCJwYWdlU2l6ZSIsImxvY2FsZGF0YSIsImNvbGxlY3Rpb24iLCJhY3Rpb24iLCJmaWVsZCIsIm9yZGVyYnkiLCJ3aGVyZSIsImdldG9udCIsImdldGNvdW50IiwiZ2V0dHJlZSIsImdyb3VwYnkiLCJncm91cEZpZWxkIiwiZGlzdGluY3QiXS5mb3JFYWNoKChmdW5jdGlvbihpKXthLnB1c2godFtpXSl9KSksYX0pLChmdW5jdGlvbihhLGkpe2lmKHQubG9hZHRpbWUhPT1uZS5tYW51YWwpe2Zvcih2YXIgZT0hMSxuPVtdLHI9MjtyPGEubGVuZ3RoO3IrKylhW3JdIT09aVtyXSYmKG4ucHVzaChhW3JdKSxlPSEwKTthWzBdIT09aVswXSYmKHQubWl4aW5EYXRhY29tUGFnZS5jdXJyZW50PXQucGFnZUN1cnJlbnQpLHQubWl4aW5EYXRhY29tUGFnZS5zaXplPXQucGFnZVNpemUsdC5vbk1peGluRGF0YWNvbVByb3BzQ2hhbmdlKGUsbil9fSkpfSxtZXRob2RzOntvbk1peGluRGF0YWNvbVByb3BzQ2hhbmdlOmZ1bmN0aW9uKHQsYSl7fSxtaXhpbkRhdGFjb21FYXN5R2V0OmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxhPWFyZ3VtZW50cy5sZW5ndGg+MCYmdm9pZCAwIT09YXJndW1lbnRzWzBdP2FyZ3VtZW50c1swXTp7fSxpPWEuZ2V0b25lLGU9dm9pZCAwIT09aSYmaSxuPWEuc3VjY2VzcyxyPWEuZmFpbDt0aGlzLm1peGluRGF0YWNvbUxvYWRpbmd8fCh0aGlzLm1peGluRGF0YWNvbUxvYWRpbmc9ITAsdGhpcy5taXhpbkRhdGFjb21FcnJvck1lc3NhZ2U9IiIsdGhpcy5taXhpbkRhdGFjb21FcnJvcj1udWxsLHRoaXMubWl4aW5EYXRhY29tR2V0KCkudGhlbigoZnVuY3Rpb24oYSl7dC5taXhpbkRhdGFjb21Mb2FkaW5nPSExO3ZhciBpPWEucmVzdWx0LHI9aS5kYXRhLG89aS5jb3VudDt0LmdldGNvdW50JiYodC5taXhpbkRhdGFjb21QYWdlLmNvdW50PW8pLHQubWl4aW5EYXRhY29tSGFzTW9yZT1yLmxlbmd0aDx0LnBhZ2VTaXplO3ZhciBkPWU/ci5sZW5ndGg/clswXTp2b2lkIDA6cjt0Lm1peGluRGF0YWNvbVJlc0RhdGE9ZCxuJiZuKGQpfSkpLmNhdGNoKChmdW5jdGlvbihhKXt0Lm1peGluRGF0YWNvbUxvYWRpbmc9ITEsdC5taXhpbkRhdGFjb21FcnJvck1lc3NhZ2U9YSx0Lm1peGluRGF0YWNvbUVycm9yPWEsciYmcihhKX0pKSl9LG1peGluRGF0YWNvbUdldDpmdW5jdGlvbigpe3ZhciBhLGksZT1hcmd1bWVudHMubGVuZ3RoPjAmJnZvaWQgMCE9PWFyZ3VtZW50c1swXT9hcmd1bWVudHNbMF06e307ZT1lfHx7fSxpPSJ1bmRlZmluZWQiIT10eXBlb2YgX191bmlYJiZfX3VuaVg/dC5kYXRhYmFzZUZvckpRTCh0aGlzLnNwYWNlSW5mbyk6dC5kYXRhYmFzZSh0aGlzLnNwYWNlSW5mbyk7dmFyIG49ZS5hY3Rpb258fHRoaXMuYWN0aW9uO24mJihpPWkuYWN0aW9uKG4pKTt2YXIgcj1lLmNvbGxlY3Rpb258fHRoaXMuY29sbGVjdGlvbjtpPUFycmF5LmlzQXJyYXkocik/KGE9aSkuY29sbGVjdGlvbi5hcHBseShhLCgwLGQuZGVmYXVsdCkocikpOmkuY29sbGVjdGlvbihyKTt2YXIgbz1lLndoZXJlfHx0aGlzLndoZXJlO28mJk9iamVjdC5rZXlzKG8pLmxlbmd0aCYmKGk9aS53aGVyZShvKSk7dmFyIHA9ZS5maWVsZHx8dGhpcy5maWVsZDtwJiYoaT1pLmZpZWxkKHApKTt2YXIgYz1lLmZvcmVpZ25LZXl8fHRoaXMuZm9yZWlnbktleTtjJiYoaT1pLmZvcmVpZ25LZXkoYykpO3ZhciBzPWUuZ3JvdXBieXx8dGhpcy5ncm91cGJ5O3MmJihpPWkuZ3JvdXBCeShzKSk7dmFyIGw9ZS5ncm91cEZpZWxkfHx0aGlzLmdyb3VwRmllbGQ7bCYmKGk9aS5ncm91cEZpZWxkKGwpKSwhMD09PSh2b2lkIDAhPT1lLmRpc3RpbmN0P2UuZGlzdGluY3Q6dGhpcy5kaXN0aW5jdCkmJihpPWkuZGlzdGluY3QoKSk7dmFyIG09ZS5vcmRlcmJ5fHx0aGlzLm9yZGVyYnk7bSYmKGk9aS5vcmRlckJ5KG0pKTt2YXIgZj12b2lkIDAhPT1lLnBhZ2VDdXJyZW50P2UucGFnZUN1cnJlbnQ6dGhpcy5taXhpbkRhdGFjb21QYWdlLmN1cnJlbnQsZz12b2lkIDAhPT1lLnBhZ2VTaXplP2UucGFnZVNpemU6dGhpcy5taXhpbkRhdGFjb21QYWdlLnNpemUsdT12b2lkIDAhPT1lLmdldGNvdW50P2UuZ2V0Y291bnQ6dGhpcy5nZXRjb3VudCxoPXZvaWQgMCE9PWUuZ2V0dHJlZT9lLmdldHRyZWU6dGhpcy5nZXR0cmVlLHY9dm9pZCAwIT09ZS5nZXR0cmVlcGF0aD9lLmdldHRyZWVwYXRoOnRoaXMuZ2V0dHJlZXBhdGgsYj17Z2V0Q291bnQ6dX0seD17bGltaXRMZXZlbDp2b2lkIDAhPT1lLmxpbWl0bGV2ZWw/ZS5saW1pdGxldmVsOnRoaXMubGltaXRsZXZlbCxzdGFydFdpdGg6dm9pZCAwIT09ZS5zdGFydHdpdGg/ZS5zdGFydHdpdGg6dGhpcy5zdGFydHdpdGh9O3JldHVybiBoJiYoYi5nZXRUcmVlPXgpLHYmJihiLmdldFRyZWVQYXRoPXgpLGk9aS5za2lwKGcqKGYtMSkpLmxpbWl0KGcpLmdldChiKSxpfX19fWZ1bmN0aW9uIG9lKHQpe3JldHVybiBZKGVpLnJlcGxhY2UoIntzcGFjZUlkfSIsdC5jb25maWcuc3BhY2VJZCkpfWZ1bmN0aW9uIGRlKCl7cmV0dXJuIHBlLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1mdW5jdGlvbiBwZSgpe3JldHVybiBwZT0oMCxzLmRlZmF1bHQpKCgwLGMuZGVmYXVsdCkoKS5tYXJrKChmdW5jdGlvbiB0KCl7dmFyIGEsaSxlLG4scixvLGQscD1hcmd1bWVudHM7cmV0dXJuKDAsYy5kZWZhdWx0KSgpLndyYXAoKGZ1bmN0aW9uKHQpe3doaWxlKDEpc3dpdGNoKHQucHJldj10Lm5leHQpe2Nhc2UgMDppZihhPXAubGVuZ3RoPjAmJnZvaWQgMCE9PXBbMF0/cFswXTp7fSxpPWEub3BlbmlkLGU9YS5jYWxsTG9naW5CeVdlaXhpbixuPXZvaWQgMCE9PWUmJmUscj1vZSh0aGlzKSwibXAtd2VpeGluIj09PWope3QubmV4dD00O2JyZWFrfXRocm93IG5ldyBFcnJvcigiW1NlY3VyZU5ldHdvcmtdIEFQSSBgaW5pdFNlY3VyZU5ldHdvcmtCeVdlaXhpbmAgaXMgbm90IHN1cHBvcnRlZCBvbiBwbGF0Zm9ybSBgIi5jb25jYXQoaiwiYCIpKTtjYXNlIDQ6aWYoIWl8fCFuKXt0Lm5leHQ9NjticmVha310aHJvdyBuZXcgRXJyb3IoIltTZWN1cmVOZXR3b3JrXSBvcGVuaWQgYW5kIGNhbGxMb2dpbkJ5V2VpeGluIGNhbm5vdCBiZSBwYXNzZWQgYXQgdGhlIHNhbWUgdGltZSIpO2Nhc2UgNjppZighaSl7dC5uZXh0PTg7YnJlYWt9cmV0dXJuIHQuYWJydXB0KCJyZXR1cm4iLChyLm1wV2VpeGluT3BlbmlkPWkse30pKTtjYXNlIDg6cmV0dXJuIHQubmV4dD0xMCxuZXcgUHJvbWlzZSgoZnVuY3Rpb24odCxhKXt1bmkubG9naW4oe3N1Y2Nlc3M6ZnVuY3Rpb24oYSl7dChhLmNvZGUpfSxmYWlsOmZ1bmN0aW9uKHQpe2EobmV3IEVycm9yKHQuZXJyTXNnKSl9fSl9KSk7Y2FzZSAxMDpyZXR1cm4gbz10LnNlbnQsZD10aGlzLmltcG9ydE9iamVjdCgidW5pLWlkLWNvIix7Y3VzdG9tVUk6ITB9KSx0Lm5leHQ9MTQsZC5zZWN1cmVOZXR3b3JrSGFuZHNoYWtlQnlXZWl4aW4oe2NvZGU6byxjYWxsTG9naW5CeVdlaXhpbjpufSk7Y2FzZSAxNDpyZXR1cm4gci5tcFdlaXhpbkNvZGU9byx0LmFicnVwdCgicmV0dXJuIix7Y29kZTpvfSk7Y2FzZSAxNjpjYXNlImVuZCI6cmV0dXJuIHQuc3RvcCgpfX0pLHQsdGhpcyl9KSkpLHBlLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1mdW5jdGlvbiBjZSh0KXtyZXR1cm4gc2UuYXBwbHkodGhpcyxhcmd1bWVudHMpfWZ1bmN0aW9uIHNlKCl7cmV0dXJuIHNlPSgwLHMuZGVmYXVsdCkoKDAsYy5kZWZhdWx0KSgpLm1hcmsoKGZ1bmN0aW9uIHQoYSl7dmFyIGk7cmV0dXJuKDAsYy5kZWZhdWx0KSgpLndyYXAoKGZ1bmN0aW9uKHQpe3doaWxlKDEpc3dpdGNoKHQucHJldj10Lm5leHQpe2Nhc2UgMDpyZXR1cm4gaT1vZSh0aGlzKSx0LmFicnVwdCgicmV0dXJuIiwoaS5pbml0UHJvbWlzZXx8KGkuaW5pdFByb21pc2U9ZGUuY2FsbCh0aGlzLGEpLnRoZW4oKGZ1bmN0aW9uKHQpe3JldHVybiB0fSkpLmNhdGNoKChmdW5jdGlvbih0KXt0aHJvdyBkZWxldGUgaS5pbml0UHJvbWlzZSx0fSkpKSxpLmluaXRQcm9taXNlKSk7Y2FzZSAyOmNhc2UiZW5kIjpyZXR1cm4gdC5zdG9wKCl9fSksdCx0aGlzKX0pKSksc2UuYXBwbHkodGhpcyxhcmd1bWVudHMpfWZ1bmN0aW9uIGxlKHQpeyFmdW5jdGlvbih0KXtodD10fSh0KX1mdW5jdGlvbiBtZSh0KXt2YXIgYT17Z2V0U3lzdGVtSW5mbzp1bmkuZ2V0U3lzdGVtSW5mbyxnZXRQdXNoQ2xpZW50SWQ6dW5pLmdldFB1c2hDbGllbnRJZH07cmV0dXJuIGZ1bmN0aW9uKGkpe3JldHVybiBuZXcgUHJvbWlzZSgoZnVuY3Rpb24oZSxuKXthW3RdKCgwLGwuZGVmYXVsdCkoKDAsbC5kZWZhdWx0KSh7fSxpKSx7fSx7c3VjY2VzczpmdW5jdGlvbih0KXtlKHQpfSxmYWlsOmZ1bmN0aW9uKHQpe24odCl9fSkpfSkpfX12YXIgZmU9ZnVuY3Rpb24odCl7KDAsbS5kZWZhdWx0KShpLHQpO3ZhciBhPSgwLGYuZGVmYXVsdCkoaSk7ZnVuY3Rpb24gaSgpe3ZhciB0O3JldHVybigwLHUuZGVmYXVsdCkodGhpcyxpKSx0PWEuY2FsbCh0aGlzKSx0Ll91bmlQdXNoTWVzc2FnZUNhbGxiYWNrPXQuX3JlY2VpdmVQdXNoTWVzc2FnZS5iaW5kKCgwLG4uZGVmYXVsdCkodCkpLHQuX2N1cnJlbnRNZXNzYWdlSWQ9LTEsdC5fcGF5bG9hZFF1ZXVlPVtdLHR9cmV0dXJuKDAsaC5kZWZhdWx0KShpLFt7a2V5OiJpbml0Iix2YWx1ZTpmdW5jdGlvbigpe3ZhciB0PXRoaXM7cmV0dXJuIFByb21pc2UuYWxsKFttZSgiZ2V0U3lzdGVtSW5mbyIpKCksbWUoImdldFB1c2hDbGllbnRJZCIpKCldKS50aGVuKChmdW5jdGlvbigpe3ZhciBhPWFyZ3VtZW50cy5sZW5ndGg+MCYmdm9pZCAwIT09YXJndW1lbnRzWzBdP2FyZ3VtZW50c1swXTpbXSxpPSgwLHIuZGVmYXVsdCkoYSwyKSxlPWlbMF07ZT12b2lkIDA9PT1lP3t9OmU7dmFyIG49ZS5hcHBJZCxvPWlbMV07bz12b2lkIDA9PT1vP3t9Om87dmFyIGQ9by5jaWQ7aWYoIW4pdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIGFwcElkLCBwbGVhc2UgY2hlY2sgdGhlIG1hbmlmZXN0Lmpzb24gZmlsZSIpO2lmKCFkKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBwdXNoIGNsaWVudCBpZCIpO3QuX2FwcElkPW4sdC5fcHVzaENsaWVudElkPWQsdC5fc2VxSWQ9RGF0ZS5ub3coKSsiLSIrTWF0aC5mbG9vcig5ZTUqTWF0aC5yYW5kb20oKSsxZTUpLHQuZW1pdCgib3BlbiIpLHQuX2luaXRNZXNzYWdlTGlzdGVuZXIoKX0pLChmdW5jdGlvbihhKXt0aHJvdyB0LmVtaXQoImVycm9yIixhKSx0LmNsb3NlKCksYX0pKX19LHtrZXk6Im9wZW4iLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIHQ9KDAscy5kZWZhdWx0KSgoMCxjLmRlZmF1bHQpKCkubWFyaygoZnVuY3Rpb24gdCgpe3JldHVybigwLGMuZGVmYXVsdCkoKS53cmFwKChmdW5jdGlvbih0KXt3aGlsZSgxKXN3aXRjaCh0LnByZXY9dC5uZXh0KXtjYXNlIDA6cmV0dXJuIHQuYWJydXB0KCJyZXR1cm4iLHRoaXMuaW5pdCgpKTtjYXNlIDE6Y2FzZSJlbmQiOnJldHVybiB0LnN0b3AoKX19KSx0LHRoaXMpfSkpKTtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fSgpfSx7a2V5OiJfaXNVbmlDbG91ZFNTRSIsdmFsdWU6ZnVuY3Rpb24odCl7aWYoInJlY2VpdmUiIT09dC50eXBlKXJldHVybiExO3ZhciBhPXQmJnQuZGF0YSYmdC5kYXRhLnBheWxvYWQ7cmV0dXJuISghYXx8IlVOSV9DTE9VRF9TU0UiIT09YS5jaGFubmVsfHxhLnNlcUlkIT09dGhpcy5fc2VxSWQpfX0se2tleToiX3JlY2VpdmVQdXNoTWVzc2FnZSIsdmFsdWU6ZnVuY3Rpb24odCl7aWYodGhpcy5faXNVbmlDbG91ZFNTRSh0KSl7dmFyIGE9dCYmdC5kYXRhJiZ0LmRhdGEucGF5bG9hZCxpPWEuYWN0aW9uLGU9YS5tZXNzYWdlSWQsbj1hLm1lc3NhZ2U7dGhpcy5fcGF5bG9hZFF1ZXVlLnB1c2goe2FjdGlvbjppLG1lc3NhZ2VJZDplLG1lc3NhZ2U6bn0pLHRoaXMuX2NvbnN1bU1lc3NhZ2UoKX19fSx7a2V5OiJfY29uc3VtTWVzc2FnZSIsdmFsdWU6ZnVuY3Rpb24oKXtmb3IodmFyIHQ9dGhpczs7KXt2YXIgYT10aGlzLl9wYXlsb2FkUXVldWUuZmluZCgoZnVuY3Rpb24oYSl7cmV0dXJuIGEubWVzc2FnZUlkPT09dC5fY3VycmVudE1lc3NhZ2VJZCsxfSkpO2lmKCFhKWJyZWFrO3RoaXMuX2N1cnJlbnRNZXNzYWdlSWQrKyx0aGlzLl9wYXJzZU1lc3NhZ2VQYXlsb2FkKGEpfX19LHtrZXk6Il9wYXJzZU1lc3NhZ2VQYXlsb2FkIix2YWx1ZTpmdW5jdGlvbih0KXt2YXIgYT10LmFjdGlvbixpPXQubWVzc2FnZUlkLGU9dC5tZXNzYWdlOyJlbmQiPT09YT90aGlzLl9lbmQoe21lc3NhZ2VJZDppLG1lc3NhZ2U6ZX0pOiJtZXNzYWdlIj09PWEmJnRoaXMuX2FwcGVuZE1lc3NhZ2Uoe21lc3NhZ2VJZDppLG1lc3NhZ2U6ZX0pfX0se2tleToiX2FwcGVuZE1lc3NhZ2UiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIHQ9YXJndW1lbnRzLmxlbmd0aD4wJiZ2b2lkIDAhPT1hcmd1bWVudHNbMF0/YXJndW1lbnRzWzBdOnt9LGE9KHQubWVzc2FnZUlkLHQubWVzc2FnZSk7dGhpcy5lbWl0KCJtZXNzYWdlIixhKX19LHtrZXk6Il9lbmQiLHZhbHVlOmZ1bmN0aW9uKCl7dmFyIHQ9YXJndW1lbnRzLmxlbmd0aD4wJiZ2b2lkIDAhPT1hcmd1bWVudHNbMF0/YXJndW1lbnRzWzBdOnt9LGE9KHQubWVzc2FnZUlkLHQubWVzc2FnZSk7dGhpcy5lbWl0KCJlbmQiLGEpLHRoaXMuY2xvc2UoKX19LHtrZXk6Il9pbml0TWVzc2FnZUxpc3RlbmVyIix2YWx1ZTpmdW5jdGlvbigpe3VuaS5vblB1c2hNZXNzYWdlKHRoaXMuX3VuaVB1c2hNZXNzYWdlQ2FsbGJhY2spfX0se2tleToiX2Rlc3Ryb3kiLHZhbHVlOmZ1bmN0aW9uKCl7dW5pLm9mZlB1c2hNZXNzYWdlKHRoaXMuX3VuaVB1c2hNZXNzYWdlQ2FsbGJhY2spfX0se2tleToidG9KU09OIix2YWx1ZTpmdW5jdGlvbigpe3JldHVybnthcHBJZDp0aGlzLl9hcHBJZCxwdXNoQ2xpZW50SWQ6dGhpcy5fcHVzaENsaWVudElkLHNlcUlkOnRoaXMuX3NlcUlkfX19LHtrZXk6ImNsb3NlIix2YWx1ZTpmdW5jdGlvbigpe3RoaXMuX2Rlc3Ryb3koKSx0aGlzLmVtaXQoImNsb3NlIil9fV0pLGl9KFIpO3ZhciBnZT17dGNiOkVhLHRlbmNlbnQ6RWEsYWxpeXVuOkF0LHByaXZhdGU6X2EsZGNsb3VkOl9hLGFsaXBheTpYYX0sdWU9bmV3KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpeygwLHUuZGVmYXVsdCkodGhpcyx0KX1yZXR1cm4oMCxoLmRlZmF1bHQpKHQsW3trZXk6ImluaXQiLHZhbHVlOmZ1bmN0aW9uKHQpe3ZhciBhPXt9LGk9Z2VbdC5wcm92aWRlcl07aWYoIWkpdGhyb3cgbmV3IEVycm9yKCLmnKrmj5DkvpvmraPnoa7nmoRwcm92aWRlcuWPguaVsCIpO3JldHVybiBhPWkuaW5pdCh0KSxmdW5jdGlvbih0KXt0Ll9pbml0UHJvbWlzZUh1Ynx8KHQuX2luaXRQcm9taXNlSHViPW5ldyBCKHtjcmVhdGVQcm9taXNlOmZ1bmN0aW9uKCl7dmFyIGE9UHJvbWlzZS5yZXNvbHZlKCk7YT1uZXcgUHJvbWlzZSgoZnVuY3Rpb24odCl7c2V0VGltZW91dCgoZnVuY3Rpb24oKXt0KCl9KSwxKX0pKTt2YXIgaT10LmF1dGgoKTtyZXR1cm4gYS50aGVuKChmdW5jdGlvbigpe3JldHVybiBpLmdldExvZ2luU3RhdGUoKX0pKS50aGVuKChmdW5jdGlvbih0KXtyZXR1cm4gdD9Qcm9taXNlLnJlc29sdmUoKTppLnNpZ25JbkFub255bW91c2x5KCl9KSl9fSkpfShhKSxtaShhKSxmdW5jdGlvbih0KXt2YXIgYT10LnVwbG9hZEZpbGU7dC51cGxvYWRGaWxlPWZ1bmN0aW9uKHQpe3JldHVybiBhLmNhbGwodGhpcyx0KX19KGEpLGZ1bmN0aW9uKHQpe3QuZGF0YWJhc2U9ZnVuY3Rpb24oYSl7aWYoYSYmT2JqZWN0LmtleXMoYSkubGVuZ3RoPjApcmV0dXJuIHQuaW5pdChhKS5kYXRhYmFzZSgpO2lmKHRoaXMuX2RhdGFiYXNlKXJldHVybiB0aGlzLl9kYXRhYmFzZTt2YXIgaT1TaShUaSx7dW5pQ2xpZW50OnR9KTtyZXR1cm4gdGhpcy5fZGF0YWJhc2U9aSxpfSx0LmRhdGFiYXNlRm9ySlFMPWZ1bmN0aW9uKGEpe2lmKGEmJk9iamVjdC5rZXlzKGEpLmxlbmd0aD4wKXJldHVybiB0LmluaXQoYSkuZGF0YWJhc2VGb3JKUUwoKTtpZih0aGlzLl9kYXRhYmFzZUZvckpRTClyZXR1cm4gdGhpcy5fZGF0YWJhc2VGb3JKUUw7dmFyIGk9U2koVGkse3VuaUNsaWVudDp0LGlzSlFMOiEwfSk7cmV0dXJuIHRoaXMuX2RhdGFiYXNlRm9ySlFMPWksaX19KGEpLGZ1bmN0aW9uKHQpe3QuZ2V0Q3VycmVudFVzZXJJbmZvPWFlLHQuY2hvb3NlQW5kVXBsb2FkRmlsZT1lZS5pbml0Q2hvb3NlQW5kVXBsb2FkRmlsZSh0KSxPYmplY3QuYXNzaWduKHQse2dldCBtaXhpbkRhdGFjb20oKXtyZXR1cm4gcmUodCl9fSksdC5TU0VDaGFubmVsPWZlLHQuaW5pdFNlY3VyZU5ldHdvcmtCeVdlaXhpbj1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgYT1hcmd1bWVudHMubGVuZ3RoPjAmJnZvaWQgMCE9PWFyZ3VtZW50c1swXT9hcmd1bWVudHNbMF06e30saT1hLm9wZW5pZCxlPWEuY2FsbExvZ2luQnlXZWl4aW4sbj12b2lkIDAhPT1lJiZlO3JldHVybiBjZS5jYWxsKHQse29wZW5pZDppLGNhbGxMb2dpbkJ5V2VpeGluOm59KX19KHQpLHQuc2V0Q3VzdG9tQ2xpZW50SW5mbz1sZSx0LmltcG9ydE9iamVjdD1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oYSl7dmFyIGk9YXJndW1lbnRzLmxlbmd0aD4xJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0/YXJndW1lbnRzWzFdOnt9O2k9ZnVuY3Rpb24odCl7dmFyIGE9YXJndW1lbnRzLmxlbmd0aD4xJiZ2b2lkIDAhPT1hcmd1bWVudHNbMV0/YXJndW1lbnRzWzFdOnt9O3JldHVybiB0LmN1c3RvbVVJPWEuY3VzdG9tVUl8fHQuY3VzdG9tVUksdC5wYXJzZVN5c3RlbUVycm9yPWEucGFyc2VTeXN0ZW1FcnJvcnx8dC5wYXJzZVN5c3RlbUVycm9yLE9iamVjdC5hc3NpZ24odC5sb2FkaW5nT3B0aW9ucyxhLmxvYWRpbmdPcHRpb25zKSxPYmplY3QuYXNzaWduKHQuZXJyb3JPcHRpb25zLGEuZXJyb3JPcHRpb25zKSwib2JqZWN0Ij09KDAsby5kZWZhdWx0KShhLnNlY3JldE1ldGhvZHMpJiYodC5zZWNyZXRNZXRob2RzPWEuc2VjcmV0TWV0aG9kcyksdH0oe2N1c3RvbVVJOiExLGxvYWRpbmdPcHRpb25zOnt0aXRsZToi5Yqg6L295LitLi4uIixtYXNrOiEwfSxlcnJvck9wdGlvbnM6e3R5cGU6Im1vZGFsIixyZXRyeTohMX19LGkpO3ZhciBlPWksbj1lLmN1c3RvbVVJLHI9ZS5sb2FkaW5nT3B0aW9ucyxkPWUuZXJyb3JPcHRpb25zLHA9ZS5wYXJzZVN5c3RlbUVycm9yLG09IW47cmV0dXJuIG5ldyBQcm94eSh7fSx7Z2V0OmZ1bmN0aW9uKGUsbil7c3dpdGNoKG4pe2Nhc2UidG9TdHJpbmciOnJldHVybiJbb2JqZWN0IFVuaUNsb3VkT2JqZWN0XSI7Y2FzZSJ0b0pTT04iOnJldHVybnt9fXJldHVybiBmdW5jdGlvbigpe3ZhciB0PWFyZ3VtZW50cy5sZW5ndGg+MCYmdm9pZCAwIT09YXJndW1lbnRzWzBdP2FyZ3VtZW50c1swXTp7fSxhPXQuZm4saT10LmludGVyY2VwdG9yTmFtZSxlPXQuZ2V0Q2FsbGJhY2tBcmdzO3JldHVybigwLHMuZGVmYXVsdCkoKDAsYy5kZWZhdWx0KSgpLm1hcmsoKGZ1bmN0aW9uIHQoKXt2YXIgbixyLG8sZCxwLHMsbT1hcmd1bWVudHM7cmV0dXJuKDAsYy5kZWZhdWx0KSgpLndyYXAoKGZ1bmN0aW9uKHQpe3doaWxlKDEpc3dpdGNoKHQucHJldj10Lm5leHQpe2Nhc2UgMDpmb3Iobj1tLmxlbmd0aCxyPW5ldyBBcnJheShuKSxvPTA7bzxuO28rKylyW29dPW1bb107cmV0dXJuIGQ9ZT9lKHtwYXJhbXM6cn0pOnt9LHQucHJldj0yLHQubmV4dD01LFgocShpLCJpbnZva2UiKSwoMCxsLmRlZmF1bHQpKHt9LGQpKTtjYXNlIDU6cmV0dXJuIHQubmV4dD03LGEuYXBwbHkodm9pZCAwLHIpO2Nhc2UgNzpyZXR1cm4gcD10LnNlbnQsdC5uZXh0PTEwLFgocShpLCJzdWNjZXNzIiksKDAsbC5kZWZhdWx0KSgoMCxsLmRlZmF1bHQpKHt9LGQpLHt9LHtyZXN1bHQ6cH0pKTtjYXNlIDEwOnJldHVybiB0LmFicnVwdCgicmV0dXJuIixwKTtjYXNlIDEzOnJldHVybiB0LnByZXY9MTMsdC50MD10WyJjYXRjaCJdKDIpLHM9dC50MCx0Lm5leHQ9MTgsWChxKGksImZhaWwiKSwoMCxsLmRlZmF1bHQpKCgwLGwuZGVmYXVsdCkoe30sZCkse30se2Vycm9yOnN9KSk7Y2FzZSAxODp0aHJvdyBzO2Nhc2UgMTk6cmV0dXJuIHQucHJldj0xOSx0Lm5leHQ9MjIsWChxKGksImNvbXBsZXRlIikscz8oMCxsLmRlZmF1bHQpKCgwLGwuZGVmYXVsdCkoe30sZCkse30se2Vycm9yOnN9KTooMCxsLmRlZmF1bHQpKCgwLGwuZGVmYXVsdCkoe30sZCkse30se3Jlc3VsdDpwfSkpO2Nhc2UgMjI6cmV0dXJuIHQuZmluaXNoKDE5KTtjYXNlIDIzOmNhc2UiZW5kIjpyZXR1cm4gdC5zdG9wKCl9fSksdCxudWxsLFtbMiwxMywxOSwyM11dKX0pKSl9KHtmbjpmdW5jdGlvbigpe3ZhciBlPSgwLHMuZGVmYXVsdCkoKDAsYy5kZWZhdWx0KSgpLm1hcmsoKGZ1bmN0aW9uIGUoKXt2YXIgZyx1LGgsdixiLHgseSxBLHcsayxTLFQsUCx6LEksRD1hcmd1bWVudHM7cmV0dXJuKDAsYy5kZWZhdWx0KSgpLndyYXAoKGZ1bmN0aW9uKGUpe3doaWxlKDEpc3dpdGNoKGUucHJldj1lLm5leHQpe2Nhc2UgMDpmb3IobSYmdW5pLnNob3dMb2FkaW5nKHt0aXRsZTpyLnRpdGxlLG1hc2s6ci5tYXNrfSksdT1ELmxlbmd0aCxoPW5ldyBBcnJheSh1KSx2PTA7djx1O3YrKyloW3ZdPURbdl07cmV0dXJuIGI9e25hbWU6YSx0eXBlOkMuT0JKRUNULGRhdGE6e21ldGhvZDpuLHBhcmFtczpofX0sIm9iamVjdCI9PSgwLG8uZGVmYXVsdCkoaS5zZWNyZXRNZXRob2RzKSYmZnVuY3Rpb24odCxhKXt2YXIgaT1hLmRhdGEubWV0aG9kLGU9dC5zZWNyZXRNZXRob2RzfHx7fSxuPWVbaV18fGVbIioiXTtuJiYoYS5zZWNyZXRUeXBlPW4pfShpLGIpLHg9ITEsZS5wcmV2PTUsZS5uZXh0PTgsdC5jYWxsRnVuY3Rpb24oYik7Y2FzZSA4Omc9ZS5zZW50LGUubmV4dD0xNDticmVhaztjYXNlIDExOmUucHJldj0xMSxlLnQwPWVbImNhdGNoIl0oNSkseD0hMCxnPXtyZXN1bHQ6bmV3IGN0KGUudDApfTtjYXNlIDE0OmlmKHk9Zy5yZXN1bHR8fHt9LEE9eS5lcnJTdWJqZWN0LHc9eS5lcnJDb2RlLGs9eS5lcnJNc2csUz15Lm5ld1Rva2VuLG0mJnVuaS5oaWRlTG9hZGluZygpLFMmJlMudG9rZW4mJlMudG9rZW5FeHBpcmVkJiYoZ3QoUyksbnQoJC5SRUZSRVNIX1RPS0VOLCgwLGwuZGVmYXVsdCkoe30sUykpKSwhdyl7ZS5uZXh0PTM5O2JyZWFrfWlmKFQ9aywheHx8IXApe2UubmV4dD0yNDticmVha31yZXR1cm4gZS5uZXh0PTIwLHAoe29iamVjdE5hbWU6YSxtZXRob2ROYW1lOm4scGFyYW1zOmgsZXJyU3ViamVjdDpBLGVyckNvZGU6dyxlcnJNc2c6a30pO2Nhc2UgMjA6aWYoZS50MT1lLnNlbnQuZXJyTXNnLGUudDEpe2UubmV4dD0yMzticmVha31lLnQxPWs7Y2FzZSAyMzpUPWUudDE7Y2FzZSAyNDppZighbSl7ZS5uZXh0PTM3O2JyZWFrfWlmKCJ0b2FzdCIhPT1kLnR5cGUpe2UubmV4dD0yOTticmVha311bmkuc2hvd1RvYXN0KHt0aXRsZTpULGljb246Im5vbmUifSksZS5uZXh0PTM3O2JyZWFrO2Nhc2UgMjk6aWYoIm1vZGFsIj09PWQudHlwZSl7ZS5uZXh0PTMxO2JyZWFrfXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBlcnJvck9wdGlvbnMudHlwZTogIi5jb25jYXQoZC50eXBlKSk7Y2FzZSAzMTpyZXR1cm4gZS5uZXh0PTMzLCgwLHMuZGVmYXVsdCkoKDAsYy5kZWZhdWx0KSgpLm1hcmsoKGZ1bmN0aW9uIHQoKXt2YXIgYSxpLGUsbixyLG8sZD1hcmd1bWVudHM7cmV0dXJuKDAsYy5kZWZhdWx0KSgpLndyYXAoKGZ1bmN0aW9uKHQpe3doaWxlKDEpc3dpdGNoKHQucHJldj10Lm5leHQpe2Nhc2UgMDpyZXR1cm4gYT1kLmxlbmd0aD4wJiZ2b2lkIDAhPT1kWzBdP2RbMF06e30saT1hLnRpdGxlLGU9YS5jb250ZW50LG49YS5zaG93Q2FuY2VsLHI9YS5jYW5jZWxUZXh0LG89YS5jb25maXJtVGV4dCx0LmFicnVwdCgicmV0dXJuIixuZXcgUHJvbWlzZSgoZnVuY3Rpb24odCxhKXt1bmkuc2hvd01vZGFsKHt0aXRsZTppLGNvbnRlbnQ6ZSxzaG93Q2FuY2VsOm4sY2FuY2VsVGV4dDpyLGNvbmZpcm1UZXh0Om8sc3VjY2VzczpmdW5jdGlvbihhKXt0KGEpfSxmYWlsOmZ1bmN0aW9uKCl7dCh7Y29uZmlybTohMSxjYW5jZWw6ITB9KX19KX0pKSk7Y2FzZSAyOmNhc2UiZW5kIjpyZXR1cm4gdC5zdG9wKCl9fSksdCl9KSkpKHt0aXRsZToi5o+Q56S6Iixjb250ZW50OlQsc2hvd0NhbmNlbDpkLnJldHJ5LGNhbmNlbFRleHQ6IuWPlua2iCIsY29uZmlybVRleHQ6ZC5yZXRyeT8i6YeN6K+VIjoi56Gu5a6aIn0pO2Nhc2UgMzM6aWYoUD1lLnNlbnQsej1QLmNvbmZpcm0sIWQucmV0cnl8fCF6KXtlLm5leHQ9Mzc7YnJlYWt9cmV0dXJuIGUuYWJydXB0KCJyZXR1cm4iLGYuYXBwbHkodm9pZCAwLGgpKTtjYXNlIDM3OnRocm93IEk9bmV3IGN0KHtzdWJqZWN0OkEsY29kZTp3LG1lc3NhZ2U6ayxyZXF1ZXN0SWQ6Zy5yZXF1ZXN0SWR9KSxJLmRldGFpbD1nLnJlc3VsdCxudCgkLlJFU1BPTlNFLHt0eXBlOnR0LkNMT1VEX09CSkVDVCxjb250ZW50Okl9KSxJO2Nhc2UgMzk6cmV0dXJuIGUuYWJydXB0KCJyZXR1cm4iLChudCgkLlJFU1BPTlNFLHt0eXBlOnR0LkNMT1VEX09CSkVDVCxjb250ZW50OmcucmVzdWx0fSksZy5yZXN1bHQpKTtjYXNlIDQwOmNhc2UiZW5kIjpyZXR1cm4gZS5zdG9wKCl9fSksZSxudWxsLFtbNSwxMV1dKX0pKSk7ZnVuY3Rpb24gZigpe3JldHVybiBlLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1yZXR1cm4gZn0oKSxpbnRlcmNlcHRvck5hbWU6ImNhbGxPYmplY3QiLGdldENhbGxiYWNrQXJnczpmdW5jdGlvbigpe3ZhciB0PWFyZ3VtZW50cy5sZW5ndGg+MCYmdm9pZCAwIT09YXJndW1lbnRzWzBdP2FyZ3VtZW50c1swXTp7fSxpPXQucGFyYW1zO3JldHVybntvYmplY3ROYW1lOmEsbWV0aG9kTmFtZTpuLHBhcmFtczppfX19KX19KX19KHQpfShhKSxbImNhbGxGdW5jdGlvbiIsInVwbG9hZEZpbGUiLCJkZWxldGVGaWxlIiwiZ2V0VGVtcEZpbGVVUkwiLCJkb3dubG9hZEZpbGUiLCJjaG9vc2VBbmRVcGxvYWRGaWxlIl0uZm9yRWFjaCgoZnVuY3Rpb24odCl7aWYoYVt0XSl7dmFyIGk9YVt0XTthW3RdPWZ1bmN0aW9uKCl7cmV0dXJuIGkuYXBwbHkoYSxBcnJheS5mcm9tKGFyZ3VtZW50cykpfSxhW3RdPWZ1bmN0aW9uKHQsYSl7cmV0dXJuIGZ1bmN0aW9uKGkpe3ZhciBlPXRoaXMsbj0hMTtpZigiY2FsbEZ1bmN0aW9uIj09PWEpe3ZhciByPWkmJmkudHlwZXx8Qy5ERUZBVUxUO249ciE9PUMuREVGQVVMVH12YXIgbz0iY2FsbEZ1bmN0aW9uIj09PWEmJiFuLGQ9dGhpcy5faW5pdFByb21pc2VIdWIuZXhlYygpO2k9aXx8e307dmFyIHA9cHQoaSksYz1wLnN1Y2Nlc3Mscz1wLmZhaWwsbD1wLmNvbXBsZXRlLG09ZC50aGVuKChmdW5jdGlvbigpe3JldHVybiBuP1Byb21pc2UucmVzb2x2ZSgpOlgocShhLCJpbnZva2UiKSxpKX0pKS50aGVuKChmdW5jdGlvbigpe3JldHVybiB0LmNhbGwoZSxpKX0pKS50aGVuKChmdW5jdGlvbih0KXtyZXR1cm4gbj9Qcm9taXNlLnJlc29sdmUodCk6WChxKGEsInN1Y2Nlc3MiKSx0KS50aGVuKChmdW5jdGlvbigpe3JldHVybiBYKHEoYSwiY29tcGxldGUiKSx0KX0pKS50aGVuKChmdW5jdGlvbigpe3JldHVybiBvJiZudCgkLlJFU1BPTlNFLHt0eXBlOnR0LkNMT1VEX0ZVTkNUSU9OLGNvbnRlbnQ6dH0pLFByb21pc2UucmVzb2x2ZSh0KX0pKX0pLChmdW5jdGlvbih0KXtyZXR1cm4gbj9Qcm9taXNlLnJlamVjdCh0KTpYKHEoYSwiZmFpbCIpLHQpLnRoZW4oKGZ1bmN0aW9uKCl7cmV0dXJuIFgocShhLCJjb21wbGV0ZSIpLHQpfSkpLnRoZW4oKGZ1bmN0aW9uKCl7cmV0dXJuIG50KCQuUkVTUE9OU0Use3R5cGU6dHQuQ0xPVURfRlVOQ1RJT04sY29udGVudDp0fSksUHJvbWlzZS5yZWplY3QodCl9KSl9KSk7aWYoIShjfHxzfHxsKSlyZXR1cm4gbTttLnRoZW4oKGZ1bmN0aW9uKHQpe2MmJmModCksbCYmbCh0KSxvJiZudCgkLlJFU1BPTlNFLHt0eXBlOnR0LkNMT1VEX0ZVTkNUSU9OLGNvbnRlbnQ6dH0pfSksKGZ1bmN0aW9uKHQpe3MmJnModCksbCYmbCh0KSxvJiZudCgkLlJFU1BPTlNFLHt0eXBlOnR0LkNMT1VEX0ZVTkNUSU9OLGNvbnRlbnQ6dH0pfSkpfX0oYVt0XSx0KS5iaW5kKGEpfX0pKSxhLmluaXQ9dGhpcy5pbml0LGF9fV0pLHR9KCkpO2EudW5pQ2xvdWQ9dWUsZnVuY3Rpb24oKXt2YXIgdD1VLGk9e307aWYodCYmMT09PXQubGVuZ3RoKWk9dFswXSxhLnVuaUNsb3VkPXVlPXVlLmluaXQoaSksdWUuX2lzRGVmYXVsdD0hMDtlbHNle3ZhciBlO2U9dCYmdC5sZW5ndGg+MD8i5bqU55So5pyJ5aSa5Liq5pyN5Yqh56m66Ze077yM6K+36YCa6L+HdW5pQ2xvdWQuaW5pdOaWueazleaMh+WumuimgeS9v+eUqOeahOacjeWKoeepuumXtCI6IuW6lOeUqOacquWFs+iBlOacjeWKoeepuumXtO+8jOivt+WcqHVuaUNsb3Vk55uu5b2V5Y+z6ZSu5YWz6IGU5pyN5Yqh56m66Ze0IixbImF1dGgiLCJjYWxsRnVuY3Rpb24iLCJ1cGxvYWRGaWxlIiwiZGVsZXRlRmlsZSIsImdldFRlbXBGaWxlVVJMIiwiZG93bmxvYWRGaWxlIiwiZGF0YWJhc2UiLCJnZXRDdXJyZW50VVNlckluZm8iLCJpbXBvcnRPYmplY3QiXS5mb3JFYWNoKChmdW5jdGlvbih0KXt1ZVt0XT1mdW5jdGlvbigpe3JldHVybiBjb25zb2xlLmVycm9yKGUpLFByb21pc2UucmVqZWN0KG5ldyBjdCh7Y29kZToiU1lTX0VSUiIsbWVzc2FnZTplfSkpfX0pKX1pZihPYmplY3QuYXNzaWduKHVlLHtnZXQgbWl4aW5EYXRhY29tKCl7cmV0dXJuIHJlKHVlKX19KSxLaSh1ZSksdWUuYWRkSW50ZXJjZXB0b3I9Six1ZS5yZW1vdmVJbnRlcmNlcHRvcj1ILHVlLmludGVyY2VwdE9iamVjdD1WLCJhcHAiPT09aiYmKHVuaS5fX3VuaUNsb3VkPXVlKSwiYXBwIj09PWp8fCJ3ZWIiPT09ail7dmFyIG49ZnVuY3Rpb24oKXtyZXR1cm4gV3x8KFc9ZnVuY3Rpb24oKXtpZigidW5kZWZpbmVkIiE9dHlwZW9mIGdsb2JhbFRoaXMpcmV0dXJuIGdsb2JhbFRoaXM7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBzZWxmKXJldHVybiBzZWxmO2lmKCJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93KXJldHVybiB3aW5kb3c7ZnVuY3Rpb24gdCgpe3JldHVybiB0aGlzfXJldHVybiB2b2lkIDAhPT10KCk/dCgpOm5ldyBGdW5jdGlvbigicmV0dXJuIHRoaXMiKSgpfSgpLFcpfSgpO24udW5pQ2xvdWQ9dWUsbi5VbmlDbG91ZEVycm9yPWN0fX0oKTt2YXIgaGU9dWU7YS5kZWZhdWx0PWhlfSkuY2FsbCh0aGlzLGkoIjBlZTQiKSl9LDg2NTg6ZnVuY3Rpb24odCxhLGkpeyJ1c2Ugc3RyaWN0IjtpKCI2YTU0IiksT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGEuZGVmYXVsdD12b2lkIDA7YS5kZWZhdWx0PXtuYW1lOiJsb2FkaW5nMSIsZGF0YTpmdW5jdGlvbigpe3JldHVybnt9fX19LCI4YjI0IjpmdW5jdGlvbih0LGEsaSl7InVzZSBzdHJpY3QiO2kucihhKTt2YXIgZT1pKCI4NjU4Iiksbj1pLm4oZSk7Zm9yKHZhciByIGluIGUpWyJkZWZhdWx0Il0uaW5kZXhPZihyKTwwJiZmdW5jdGlvbih0KXtpLmQoYSx0LChmdW5jdGlvbigpe3JldHVybiBlW3RdfSkpfShyKTthWyJkZWZhdWx0Il09bi5hfSwiOGI2YSI6ZnVuY3Rpb24odCxhLGkpeyJ1c2Ugc3RyaWN0IjtpLmQoYSwiYiIsKGZ1bmN0aW9uKCl7cmV0dXJuIGV9KSksaS5kKGEsImMiLChmdW5jdGlvbigpe3JldHVybiBufSkpLGkuZChhLCJhIiwoZnVuY3Rpb24oKXt9KSk7dmFyIGU9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLiRjcmVhdGVFbGVtZW50LGE9dGhpcy5fc2VsZi5fY3x8dDtyZXR1cm4gYSgidi11bmktdmlldyIse3N0YXRpY0NsYXNzOiJjb250YWluZXIgbG9hZGluZzYifSxbYSgidi11bmktdmlldyIse3N0YXRpY0NsYXNzOiJzaGFwZSBzaGFwZTEifSksYSgidi11bmktdmlldyIse3N0YXRpY0NsYXNzOiJzaGFwZSBzaGFwZTIifSksYSgidi11bmktdmlldyIse3N0YXRpY0NsYXNzOiJzaGFwZSBzaGFwZTMifSksYSgidi11bmktdmlldyIse3N0YXRpY0NsYXNzOiJzaGFwZSBzaGFwZTQifSldLDEpfSxuPVtdfSwiOGNmYSI6ZnVuY3Rpb24odCxhLGkpe3QuZXhwb3J0cz1pLnArInN0YXRpYy9pbWFnZS9pY29uL2hvbWUtbmF2LTIucG5nIn0sIjhkNGUiOmZ1bmN0aW9uKHQsYSxpKXsidXNlIHN0cmljdCI7aS5kKGEsImIiLChmdW5jdGlvbigpe3JldHVybiBufSkpLGkuZChhLCJjIiwoZnVuY3Rpb24oKXtyZXR1cm4gcn0pKSxpLmQoYSwiYSIsKGZ1bmN0aW9uKCl7cmV0dXJuIGV9KSk7dmFyIGU9e2RhdGFMb2FkaW5nOmkoImJjNjciKS5kZWZhdWx0LHVOb3RpY2VCYXI6aSgiNDVmMyIpLmRlZmF1bHQscWl1bkRhdGFDaGFydHM6aSgiNzM5YiIpLmRlZmF1bHQsdVBvcHVwOmkoIjJiN2EiKS5kZWZhdWx0LHVMaW5lUHJvZ3Jlc3M6aSgiZDRmMCIpLmRlZmF1bHR9LG49ZnVuY3Rpb24oKXt2YXIgdD10aGlzLGE9dC4kY3JlYXRlRWxlbWVudCxlPXQuX3NlbGYuX2N8fGE7cmV0dXJuIGUoInYtdW5pLXZpZXciLHtzdGF0aWNDbGFzczoiaG9tZSBweC0zNiJ9LFtlKCJ2LXVuaS12aWV3Iix7c3RhdGljQ2xhc3M6ImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBweS0yNCBhbGlnbi1pdGVtcy1jZW50ZXIgb3ZlcmZsb3ctaGlkZGVuIGJveC1zaGFkb3cgcG9zaXRpb24tcmVsYXRpdmUiLHN0YXRpY1N0eWxlOnsiei1pbmRleCI6IjEifX0sW2UoInYtdW5pLW5hdmlnYXRvciIse2F0dHJzOnt1cmw6Ii9wYWdlcy9zZXR0aW5nL3NldHRpbmcifX0sW2UoInYtdW5pLXRleHQiLHtzdGF0aWNDbGFzczoiaWNvbmZvbnQgaWNvbi13b2RlMiBmb250LXNpemUtMzYgdGV4dC13aGl0ZSBmb250LXdlaWdodC1ib2xkIn0pXSwxKSxlKCJ2LXVuaS10ZXh0Iix7c3RhdGljQ2xhc3M6ImZvbnQtc2l6ZS0zNiB3LTc1IHRleHQtY2VudGVyIGxpbmUtMSBsaW5lYXItZ3JhZGllbnQtdGV4dCJ9LFt0Ll92KHQuX3ModC4kc3RvcmUuc3RhdGUuc2l0ZV9uYW1lKSldKSxlKCJ2LXVuaS10ZXh0Iix7c3RhdGljQ2xhc3M6Imljb25mb250IGljb24taWNvbl9BIHRleHQtd2hpdGUgZm9udC1zaXplLTM2Iixvbjp7Y2xpY2s6ZnVuY3Rpb24oYSl7YXJndW1lbnRzWzBdPWE9dC4kaGFuZGxlRXZlbnQoYSksdC5zaG93TGFuZ3VhZ2U9ITB9fX0pXSwxKSxlKCJ2LXVuaS12aWV3Iix7c3RhdGljQ2xhc3M6Im10LTI0IHBvc2l0aW9uLXJlbGF0aXZlIixzdGF0aWNTdHlsZTp7InotaW5kZXgiOiIxIn19LFtlKCJ2LXVuaS12aWV3Iix7c3RhdGljQ2xhc3M6ImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgdGV4dC13aGl0ZSIsc3RhdGljU3R5bGU6e29wYWNpdHk6Ii4zIn19LFtlKCJ2LXVuaS10ZXh0Iix7c3RhdGljQ2xhc3M6Im1yLTE2In0sW3QuX3YodC5fcyh0LmkxOG4udG90YWxBc3NldHNFcXVpdmFsZW5nKSldKSxlKCJ2LXVuaS10ZXh0Iix7c3RhdGljQ2xhc3M6Im1yLTI2In0sW3QuX3YoIigiK3QuX3ModC4kc3RvcmUuc3RhdGUuZmlhdC5jdXJyZW5jeV9jb2RlKSsiKSIpXSldLDEpLGUoInYtdW5pLXZpZXciLHtzdGF0aWNDbGFzczoiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIHRleHQtd2hpdGUgYWxpZ24taXRlbXMtY2VudGVyIG10LTYifSxbZSgidi11bmktdGV4dCIse3N0YXRpY0NsYXNzOiJmb250LXNpemUtNTYifSxbdC5fdih0Ll9zKCh0LmNvbnZlcnQqdC4kc3RvcmUuc3RhdGUuZmlhdC5yYXRlKS50b0ZpeGVkKDIpKSldKSxlKCJ2LXVuaS10ZXh0Iix7c3RhdGljQ2xhc3M6Imljb25mb250IGljb24tZ2VuZ2R1bzEiLG9uOntjbGljazpmdW5jdGlvbihhKXthcmd1bWVudHNbMF09YT10LiRoYW5kbGVFdmVudChhKSx0LiR1dGlscy5qdW1wKCIvcGFnZXMvZnVuZC9hc3NldHMiLCJzd2l0Y2hUYWIiKX19fSldLDEpLGUoInYtdW5pLXN3aXBlciIse3N0YXRpY0NsYXNzOiJiZy1ibGFjayB0ZXh0LXdoaXRlIGJveC1zaGFkb3cgYm9yZGVyLXJhZGl1cy0yMCBtdC0yMCIsc3RhdGljU3R5bGU6e2hlaWdodDoiMzEycnB4In0sYXR0cnM6e2F1dG9wbGF5OiExLCJpbmRpY2F0b3ItZG90cyI6ITEsImluZGljYXRvci1hY3RpdmUtY29sb3IiOnQuJGRvd25Db2xvcn19LFt0Ll9sKHQuaG9tZU5hdiwoZnVuY3Rpb24oYSxpKXtyZXR1cm4gZSgidi11bmktc3dpcGVyLWl0ZW0iLFtlKCJ2LXVuaS12aWV3Iix7c3RhdGljQ2xhc3M6InB5LTEwIixzdGF0aWNTdHlsZTp7aGVpZ2h0OiIzMTJycHgifX0sW2UoInYtdW5pLXZpZXciLHtzdGF0aWNDbGFzczoiZC1mbGV4IGZsZXgtd3JhcCJ9LHQuX2wodC5ob21lTmF2W2ldLChmdW5jdGlvbihhKXtyZXR1cm4gZSgidi11bmktdmlldyIse2tleTphLmljb24sc3RhdGljQ2xhc3M6IiB0ZXh0LWNlbnRlciBweS0yMiIsc3RhdGljU3R5bGU6e3dpZHRoOiIzMiUifSxvbjp7Y2xpY2s6ZnVuY3Rpb24oaSl7YXJndW1lbnRzWzBdPWk9dC4kaGFuZGxlRXZlbnQoaSksdC5ob21lTmF2SnVtcChhLnVybCxhLm9wZW5fdHlwZSl9fX0sW2UoInYtdW5pLWltYWdlIix7c3RhdGljQ2xhc3M6ImQtYmxvY2sgbXgtYXV0byIsc3RhdGljU3R5bGU6e3dpZHRoOiI0NnJweCIsaGVpZ2h0OiI0NnJweCJ9LGF0dHJzOntzcmM6Ii4uLy4uL3N0YXRpYy9pbWFnZS9pY29uLyIrYS5pY29uKyIucG5nIixtb2RlOiIifX0pLGUoInYtdW5pLXRleHQiLHtzdGF0aWNDbGFzczoiZC1ibG9jayBmb250LXNpemUtMjIgbXQtMTYifSxbdC5fdih0Ll9zKGEubmFtZSkpXSldLDEpfSkpLDEpXSwxKV0sMSl9KSksdC5ob21lTmF2Lmxlbmd0aD90Ll9lKCk6ZSgiZGF0YS1sb2FkaW5nIildLDIpXSwxKSxlKCJ2LXVuaS12aWV3Iix7c3RhdGljQ2xhc3M6Im10LTIyIn0sW2UoInUtbm90aWNlLWJhciIse2F0dHJzOnttb2RlOiJ2ZXJ0aWNhbCIsbGlzdDp0Lm5ld3MsImJnLWNvbG9yIjoiIzRkNGQ0ZCIsY29sb3I6dC4kYmFzZUNvbG9yLCJib3JkZXItcmFkaXVzIjoiMjAiLGR1cmF0aW9uOjNlM30sb246e2NsaWNrOmZ1bmN0aW9uKGEpe2FyZ3VtZW50c1swXT1hPXQuJGhhbmRsZUV2ZW50KGEpLHQuY2xpY2tOb3RpY2VCYXIuYXBwbHkodm9pZCAwLGFyZ3VtZW50cyl9fX0pXSwxKSx0LnN3aXBlci5sZW5ndGg/ZSgidi11bmktdmlldyIse3N0YXRpY0NsYXNzOiJtdC0yMiJ9LFtlKCJ2LXVuaS1zd2lwZXIiLHtzdGF0aWNTdHlsZTp7aGVpZ2h0OiIyMDBycHgifSxhdHRyczp7ImluZGljYXRvci1kb3RzIjohMSxhdXRvcGxheTohMCxpbnRlcnZhbDo0ZTN9fSx0Ll9sKHQuc3dpcGVyLChmdW5jdGlvbih0KXtyZXR1cm4gZSgidi11bmktc3dpcGVyLWl0ZW0iLFtlKCJ2LXVuaS1pbWFnZSIse3N0YXRpY0NsYXNzOiJib3JkZXItcmFkaXVzLTIwIixzdGF0aWNTdHlsZTp7d2lkdGg6IjEwMCUiLGhlaWdodDoiMjAwcnB4In0sYXR0cnM6e3NyYzp0LmltYWdlLG1vZGU6ImFzcGVjdEZpbGwifX0pXSwxKX0pKSwxKV0sMSk6dC5fZSgpLGUoInYtdW5pLXZpZXciLHtzdGF0aWNDbGFzczoibXQtMjIgYm94LXNoYWRvdyBiZy1ibGFjayB0ZXh0LXdoaXRlIGJvcmRlci1yYWRpdXMtMjAgcHktMjAgcHgtNDAgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiIsb246e2NsaWNrOmZ1bmN0aW9uKGEpe2FyZ3VtZW50c1swXT1hPXQuJGhhbmRsZUV2ZW50KGEpLHQuJHV0aWxzLmp1bXAoIi9wYWdlcy9mdW5kL3NlbGVjdD91cmw9cmVjZWl2ZSIpfX19LFtlKCJ2LXVuaS12aWV3Iix7c3RhdGljQ2xhc3M6ImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIifSxbZSgidi11bmktaW1hZ2UiLHtzdGF0aWNTdHlsZTp7d2lkdGg6IjgxcnB4IixoZWlnaHQ6IjU5cnB4In0sYXR0cnM6e3NyYzoiL3N0YXRpYy9pbWFnZS9pY29uL2hvbWUtaWNvbi02LnBuZyJ9fSksZSgidi11bmktdmlldyIse3N0YXRpY0NsYXNzOiJtbC0xMCJ9LFtlKCJ2LXVuaS10ZXh0Iix7c3RhdGljQ2xhc3M6ImQtYmxvY2sgZm9udC1zaXplLTMyIn0sW3QuX3YodC5fcyh0LmkxOG4ucXVpY2tseUJ1eUNvaW5zKSldKSxlKCJ2LXVuaS10ZXh0Iix7c3RhdGljQ2xhc3M6ImQtYmxvY2sgZm9udC1zaXplLTIyIixzdGF0aWNTdHlsZTp7b3BhY2l0eToiLjUifX0sW3QuX3YodC5fcyh0LiR0KCJjb21tb24ucXVpY2tseSIpKyIgIit0LiR0KCJjb21tb24uYnV5IikpKyIgVVNEVCIpXSldLDEpXSwxKSxlKCJ2LXVuaS12aWV3Iix7c3RhdGljQ2xhc3M6ImJnLTMzMyBkLWZsZXgiLHN0YXRpY1N0eWxlOnt3aWR0aDoiNDRycHgiLGhlaWdodDoiNDRycHgiLCJib3JkZXItcmFkaXVzIjoiNTAlIiwiYWxpZ24taXRlbXMiOiJjZW50ZXIiLCJqdXN0aWZ5LWNvbnRlbnQiOiJjZW50ZXIifX0sW2UoInYtdW5pLXRleHQiLHtzdGF0aWNDbGFzczoiaWNvbmZvbnQgaWNvbi15YW56aGVuZ21hIHRleHQtd2FybmluZyBmb250LXNpemUtMjgifSldLDEpXSwxKSxlKCJ2LXVuaS12aWV3Iix7c3RhdGljQ2xhc3M6Im10LTQwIn0sW2UoInYtdW5pLXZpZXciLHtzdGF0aWNDbGFzczoiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlciJ9LFtlKCJ2LXVuaS12aWV3Iix7c3RhdGljQ2xhc3M6ImQtZmxleCJ9LFtlKCJ2LXVuaS12aWV3Iix7c3RhdGljQ2xhc3M6ImhvbWUtdGl0bGUtaXRlbSBhY3RpdmUgdGV4dC13YXJuaW5nIn0sW2UoInYtdW5pLXRleHQiLFt0Ll92KHQuX3ModC5pMThuLmxvY2ttaW5nKSldKV0sMSldLDEpLGUoInYtdW5pLXZpZXciLHtzdGF0aWNDbGFzczoiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciIsb246e2NsaWNrOmZ1bmN0aW9uKGEpe2FyZ3VtZW50c1swXT1hPXQuJGhhbmRsZUV2ZW50KGEpLHQuJHV0aWxzLmp1bXAoIi9wYWdlcy9sb2NrbWluZy93ZWxjb21lIil9fX0sW2UoInYtdW5pLXRleHQiLHtzdGF0aWNDbGFzczoiaWNvbmZvbnQgaWNvbi1nZW5nZHVvMSBtbC0xMCIsc3RhdGljU3R5bGU6e2NvbG9yOiIjOTk5Iixwb3NpdGlvbjoicmVsYXRpdmUiLHRvcDoiLjVweCJ9fSldLDEpXSwxKSxlKCJ2LXVuaS12aWV3Iix7c3RhdGljQ2xhc3M6Im10LTIwIGhpZ2gtcXVhbGl0eS1wcm9qZWN0In0sW2UoInYtdW5pLXN3aXBlciIse3N0YXRpY1N0eWxlOntoZWlnaHQ6IjM5MHJweCJ9LGF0dHJzOnthY2NlbGVyYXRpb246ITAsImRpc3BsYXktbXVsdGlwbGUtaXRlbXMiOjIsImluZGljYXRvci1kb3RzIjohMSxhdXRvcGxheTohMSxjaXJjdWxhcjohMX19LHQuX2wodC5sb2NrbWluZy5zbGljZSgwLDUpLChmdW5jdGlvbihhLGkpe3JldHVybiBlKCJ2LXVuaS1zd2lwZXItaXRlbSIsW2UoInYtdW5pLXZpZXciLHtzdGF0aWNDbGFzczoiaGlnaC1xdWFsaXR5LXByb2plY3QtaXRlbSIsb246e2NsaWNrOmZ1bmN0aW9uKGkpe2FyZ3VtZW50c1swXT1pPXQuJGhhbmRsZUV2ZW50KGkpLHQuanVtcDJMb2NrbWluZyhhKX19fSxbZSgidi11bmktdGV4dCIse3N0YXRpY0NsYXNzOiJoaWdlLXF1YWxpdHktcHJvamVjdC1zc2tjIn0sW3QuX3YodC5fcyhhLmRheSt0LmkxOG4uZGF5KSldKSxlKCJ2LXVuaS12aWV3Iix7c3RhdGljQ2xhc3M6Im14LWF1dG8gYm9yZGVyLXJhZGl1cy01MHBlciBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXIiLHN0YXRpY1N0eWxlOnt3aWR0aDoiODBycHgiLGhlaWdodDoiODBycHgifSxzdHlsZTp7YmFja2dyb3VuZENvbG9yOnQuJHV0aWxzLmdldEN1cnJlbmN5Q29sb3IoYS5jdXJyZW5jeV9uYW1lKX19LFtlKCJ2LXVuaS10ZXh0Iix7c3RhdGljQ2xhc3M6Imljb25mb250IGZvbnQtc2l6ZS00OCB0ZXh0LXdoaXRlIixjbGFzczoiaWNvbi0iK2EuY3VycmVuY3lfbmFtZX0pXSwxKSxlKCJ2LXVuaS10ZXh0Iix7c3RhdGljQ2xhc3M6ImQtYmxvY2sgZm9udC1zaXplLTMyIG10LTIwIn0sW3QuX3YodC5fcyhhLmN1cnJlbmN5X25hbWUrIiAiK3QuaTE4bi5taW5pbmcpKV0pLGUoInYtdW5pLXRleHQiLHtzdGF0aWNDbGFzczoiZC1ibG9jayBmb250LXNpemUtMjggb3BhY2l0eS01MCBtdC00In0sW3QuX3YodC5fcyhOdW1iZXIoYS5zYXZlX21pbikrIiAiK3QuaTE4bi5taW5pbXVtKSldKSxlKCJ2LXVuaS10ZXh0Iix7c3RhdGljQ2xhc3M6ImQtYmxvY2sgZm9udC1zaXplLTQwIHRleHQtZXJyb3IgbXQtMzAgZm9udC13ZWlnaHQtYm9sZCJ9LFt0Ll92KHQuX3MoYS5pbnRybz9hLmludHJvOk51bWJlcihhLmludGVyZXN0X3JhdGUpKyIlIikpXSksZSgidi11bmktdGV4dCIse3N0YXRpY0NsYXNzOiJkLWJsb2NrIGZvbnQtc2l6ZS0yOCBtdC0yIn0sW3QuX3YodC5fcyh0LmkxOG4uZGFpbHlSZXR1cm5SYXRlKSldKV0sMSldLDEpfSkpLDEpXSwxKV0sMSksdC5fZSgpLGUoInYtdW5pLXZpZXciLHtzdGF0aWNDbGFzczoibXQtNTAifSxbZSgidi11bmktdmlldyIse3N0YXRpY0NsYXNzOiJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyIn0sW2UoInYtdW5pLXZpZXciLHtzdGF0aWNDbGFzczoiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciAifSxbZSgidi11bmktdGV4dCIse3N0YXRpY0NsYXNzOiJmb250LXNpemUtMzIgZC1ibG9jayBtci0yMCB0ZXh0LXdhcm5pbmcifSxbdC5fdih0Ll9zKHQuaTE4bi5tYXJrZXQpKV0pXSwxKSxlKCJ2LXVuaS12aWV3Iix7c3RhdGljQ2xhc3M6ImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIifSxbZSgidi11bmktdGV4dCIse3N0YXRpY0NsYXNzOiJpY29uZm9udCBpY29uLWdlbmdkdW8xIG1sLTEwIixzdGF0aWNTdHlsZTp7Y29sb3I6IiM5OTkiLHBvc2l0aW9uOiJyZWxhdGl2ZSIsdG9wOiIuNXB4In0sb246e2NsaWNrOmZ1bmN0aW9uKGEpe2FyZ3VtZW50c1swXT1hPXQuJGhhbmRsZUV2ZW50KGEpLHQuJHV0aWxzLmp1bXAoIi9wYWdlcy9tYXJrZXQvbWFya2V0Iiwic3dpdGNoVGFiIil9fX0pXSwxKV0sMSksZSgidi11bmktdmlldyIse3N0YXRpY0NsYXNzOiJtdC0zMCBoaWdoLXF1YWxpdHktcHJvamVjdCJ9LFtlKCJ2LXVuaS1zd2lwZXIiLHtzdGF0aWNTdHlsZTp7aGVpZ2h0OiIzOTBycHgifSxhdHRyczp7YWNjZWxlcmF0aW9uOiEwLCJkaXNwbGF5LW11bHRpcGxlLWl0ZW1zIjoyLCJpbmRpY2F0b3ItZG90cyI6ITEsYXV0b3BsYXk6ITEsY2lyY3VsYXI6ITF9fSx0Ll9sKHQucXVvdGF0aW9uLChmdW5jdGlvbihhLGkpe3JldHVybiBlKCJ2LXVuaS1zd2lwZXItaXRlbSIsW2UoInYtdW5pLW5hdmlnYXRvciIse3N0YXRpY0NsYXNzOiJoaWdoLXF1YWxpdHktcHJvamVjdC1pdGVtIHRleHQtbGVmdCBvdmVyZmxvdy1oaWRkZW4gdy0xMDAgcHQtNDAiLHN0YXRpY1N0eWxlOnsiYm94LXNpemluZyI6ImJvcmRlci1ib3gifSxhdHRyczp7Im9wZW4tdHlwZSI6InJlTGF1bmNoIix1cmw6Ii9wYWdlcy90cmFuc2FjdGlvbi9pbmRleD9mcm9tPWluZGV4JmN1cnJlbmN5X25hbWU9IithLmN1cnJlbmN5X25hbWUrIiZsZWdhbF9uYW1lPSIrYS5sZWdhbF9uYW1lKyImY3VycmVuY3lfaWQ9IithLmN1cnJlbmN5X2lkfX0sW2UoInYtdW5pLXZpZXciLHtzdGF0aWNTdHlsZTp7aGVpZ2h0OiIyMDBycHgifX0sW2UoInFpdW4tZGF0YS1jaGFydHMiLHthdHRyczp7dHlwZToiYXJlYSIsY2hhcnREYXRhOmEuY2hhcnREYXRhLGVycm9yU2hvdzohMSxiYWNrZ3JvdW5kOiJub25lIix0b29sdGlwU2hvdzohMSx0YXBMZWdlbmQ6ITF9fSldLDEpLGUoInYtdW5pLXZpZXciLHtzdGF0aWNDbGFzczoidGV4dC1sZWZ0IHBsLTMwIHRleHQtd2hpdGUiLHN0YXRpY1N0eWxlOnsibWFyZ2luLXRvcCI6Ii0zMHJweCJ9fSxbZSgidi11bmktdGV4dCIse3N0YXRpY0NsYXNzOiJmb250LXNpemUtMzIgZC1ibG9jayAifSxbdC5fdih0Ll9zKGEuY3VycmVuY3lfbmFtZSsiLyIrYS5sZWdhbF9uYW1lKSldKSxlKCJ2LXVuaS10ZXh0Iix7c3RhdGljQ2xhc3M6ImQtYmxvY2sgZm9udC1zaXplLTI4IG10LTYiLHN0eWxlOntjb2xvcjp0LiR1dGlscy5nZXRDb2xvcihhLmNoYW5nZSl9fSxbdC5fdih0Ll9zKGEuY2hhbmdlKyIlIikpXSksZSgidi11bmktdGV4dCIse3N0YXRpY0NsYXNzOiJkLWJsb2NrIGZvbnQtc2l6ZS00NCBmb250LXdlaWdodC1ib2xkIG10LTYgIixzdHlsZTp7Y29sb3I6dC4kdXRpbHMuZ2V0Q29sb3IoYS5jaGFuZ2UpfX0sW3QuX3YodC5fcyhhLm5vd19wcmljZSkpXSldLDEpXSwxKV0sMSl9KSksMSldLDEpXSwxKSxlKCJ2LXVuaS12aWV3Iix7c3RhdGljQ2xhc3M6Im10LTUwIG1hcmtldCAifSxbZSgidi11bmktdmlldyIse3N0YXRpY0NsYXNzOiJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyIn0sW2UoInYtdW5pLXZpZXciLHtzdGF0aWNDbGFzczoiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciAifSxbZSgidi11bmktdGV4dCIse3N0YXRpY0NsYXNzOiJmb250LXNpemUtMzIgZC1ibG9jayBtci0yMCB0ZXh0LXdhcm5pbmcifSxbdC5fdih0Ll9zKHQuaTE4bi5tYXJrZXQpKV0pXSwxKSxlKCJ2LXVuaS12aWV3Iix7c3RhdGljQ2xhc3M6ImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIifSxbZSgidi11bmktdGV4dCIse3N0YXRpY0NsYXNzOiJpY29uZm9udCBpY29uLWdlbmdkdW8xIG1sLTEwIixzdGF0aWNTdHlsZTp7Y29sb3I6IiM5OTkiLHBvc2l0aW9uOiJyZWxhdGl2ZSIsdG9wOiIuNXB4In0sb246e2NsaWNrOmZ1bmN0aW9uKGEpe2FyZ3VtZW50c1swXT1hPXQuJGhhbmRsZUV2ZW50KGEpLHQuJHV0aWxzLmp1bXAoIi9wYWdlcy9tYXJrZXQvbWFya2V0Iiwic3dpdGNoVGFiIil9fX0pXSwxKV0sMSksZSgidi11bmktdmlldyIse3N0YXRpY0NsYXNzOiJweC0zMCBtdC0zMCBib3gtc2hhZG93IGJvcmRlci1yYWRpdXMtMjAgcC0zMCBtdC0yMiB0ZXh0LXdoaXRlIGJnLWJsYWNrIn0sW2UoInYtdW5pLXZpZXciLHtzdGF0aWNDbGFzczoidGl0bGUgZC1ncmlkIGp1c3RpZnktY29udGVudC1iZXR3ZWVuIG9wYWNpdHktNTAgZm9udC1zaXplLTIyIixzdGF0aWNTdHlsZTp7ImdyaWQtdGVtcGxhdGUtY29sdW1ucyI6IjEuMmZyIDEuMmZyIC44ZnIifX0sW2UoInYtdW5pLXZpZXciLHtzdGF0aWNDbGFzczoiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciJ9LFtlKCJ2LXVuaS10ZXh0IixbdC5fdih0Ll9zKHQuaTE4bi50cmFkaW5nUGFpcikpXSldLDEpLGUoInYtdW5pLXZpZXciLHtzdGF0aWNDbGFzczoiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIn0sW2UoInYtdW5pLXRleHQiLFt0Ll92KHQuX3ModC5pMThuLmxhc3RQcmljZSkpXSldLDEpLGUoInYtdW5pLXZpZXciLHtzdGF0aWNDbGFzczoiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtZW5kIn0sW2UoInYtdW5pLXRleHQiLFt0Ll92KHQuX3ModC5pMThuLnRvZGF5Q2hhbmdlKSldKV0sMSldLDEpLHQuX2wodC5xdW90YXRpb24uc2xpY2UoMiw3KSwoZnVuY3Rpb24oYSl7cmV0dXJuIGUoInYtdW5pLW5hdmlnYXRvciIse3N0YXRpY0NsYXNzOiJtYXJrZXQtaXRlbSIsYXR0cnM6eyJvcGVuLXR5cGUiOiJyZUxhdW5jaCIsdXJsOiIvcGFnZXMvdHJhbnNhY3Rpb24vaW5kZXg/ZnJvbT1pbmRleCZjdXJyZW5jeV9uYW1lPSIrYS5jdXJyZW5jeV9uYW1lKyImbGVnYWxfbmFtZT0iK2EubGVnYWxfbmFtZSsiJmN1cnJlbmN5X2lkPSIrYS5jdXJyZW5jeV9pZH19LFtlKCJ2LXVuaS12aWV3Iix7c3RhdGljQ2xhc3M6ImxlZnQifSxbZSgidi11bmktdGV4dCIse3N0YXRpY0NsYXNzOiJkLWJsb2NrIn0sW2UoInYtdW5pLXRleHQiLHtzdGF0aWNDbGFzczoiZm9udC1zaXplLTI4IGZvbnQtd2VpZ2h0LWJvbGQifSxbdC5fdih0Ll9zKGEuY3VycmVuY3lfbmFtZSkpXSksZSgidi11bmktdGV4dCIse3N0YXRpY0NsYXNzOiJmb250LXNpemUtMjIgb3BhY2l0eS01MCJ9LFt0Ll92KCIvIit0Ll9zKGEubGVnYWxfbmFtZSkpXSldLDEpLGUoInYtdW5pLXRleHQiLHtzdGF0aWNDbGFzczoiZC1ibG9jayBmb250LXNpemUtMjIifSxbdC5fdigiMjRIOiAiK3QuX3MoYS52b2x1bWUpKV0pXSwxKSxlKCJ2LXVuaS12aWV3Iix7c3RhdGljQ2xhc3M6ImNlbnRlciJ9LFtlKCJ2LXVuaS10ZXh0Iix7c3RhdGljQ2xhc3M6ImQtYmxvY2sgZm9udC1zaXplLTI4IGZvbnQtd2VpZ2h0LWJvbGQiLHN0eWxlOntjb2xvcjp0LiR1dGlscy5nZXRDb2xvcihhLmNoYW5nZSl9fSxbdC5fdih0Ll9zKGEubm93X3ByaWNlKSldKSwiVVNEIiE9dC4kc3RvcmUuc3RhdGUuZmlhdC5jdXJyZW5jeV9jb2RlP2UoInYtdW5pLXRleHQiLHtzdGF0aWNDbGFzczoiZC1ibG9jayBmb250LXNpemUtMjIifSxbdC5fdih0Ll9zKChhLm5vd19wcmljZSp0LiRzdG9yZS5zdGF0ZS5maWF0LnJhdGUpLnRvRml4ZWQoMikpKyIgIit0Ll9zKHQuJHN0b3JlLnN0YXRlLmZpYXQuY3VycmVuY3lfY29kZSkpXSk6dC5fZSgpXSwxKSxlKCJ2LXVuaS12aWV3Iix7c3RhdGljQ2xhc3M6InJpZ2h0IixzdHlsZTp7YmFja2dyb3VuZENvbG9yOnQuJHV0aWxzLmdldENvbG9yKGEuY2hhbmdlKX19LFt0Ll92KHQuX3MoYS5jaGFuZ2UrIiUiKSldKV0sMSl9KSldLDIpXSwxKSx0Ll9lKCksZSgidS1wb3B1cCIse2F0dHJzOnttb2RlOiJib3R0b20iLGxlbmd0aDoiODAlIix0aXRsZTp0LiR0KCJzZXR0aW5nLnNlbGVjdExhbmciKX0sbW9kZWw6e3ZhbHVlOnQuc2hvd0xhbmd1YWdlLGNhbGxiYWNrOmZ1bmN0aW9uKGEpe3Quc2hvd0xhbmd1YWdlPWF9LGV4cHJlc3Npb246InNob3dMYW5ndWFnZSJ9fSxbZSgidi11bmktdmlldyIse3N0YXRpY0NsYXNzOiJwb3B1cC1saXN0In0sdC5fbCh0LmxhbmdzLChmdW5jdGlvbihhKXtyZXR1cm4gZSgidi11bmktdmlldyIse2tleTphLnZhbHVlLHN0YXRpY0NsYXNzOiJwb3B1cC1saXN0LWl0ZW0iLGNsYXNzOnthY3RpdmU6YS5zZWxlY3RlZH0sb246e2NsaWNrOmZ1bmN0aW9uKGkpe2FyZ3VtZW50c1swXT1pPXQuJGhhbmRsZUV2ZW50KGkpLHQuc2V0TGFuZyhhKX19fSxbZSgidi11bmktdGV4dCIsW3QuX3YodC5fcyhhLm5hbWUpKV0pXSwxKX0pKSwxKV0sMSksZSgidi11bmktdmlldyIse3N0YXRpY0NsYXNzOiJrZWZ1Iixvbjp7Y2xpY2s6ZnVuY3Rpb24oYSl7YXJndW1lbnRzWzBdPWE9dC4kaGFuZGxlRXZlbnQoYSksdC5qdW1wa2VmdSgpfX19LFtlKCJ2LXVuaS1pbWFnZSIse3N0YXRpY1N0eWxlOnt3aWR0aDoiNjBycHgiLGhlaWdodDoiNjBycHgifSxhdHRyczp7c3JjOmkoIjAxMmMiKX19KV0sMSksZSgidi11bmktdmlldyIse3N0YXRpY0NsYXNzOiJub3RpY2UtcG9wdXAifSxbZSgidS1wb3B1cCIse3JlZjoibm90aWNlUG9wdXAiLGF0dHJzOnt3aWR0aDoiODAlIiwibWFzay1jbG9zZS1hYmxlIjohMX0sbW9kZWw6e3ZhbHVlOnQuc2hvd1BvcEFkLGNhbGxiYWNrOmZ1bmN0aW9uKGEpe3Quc2hvd1BvcEFkPWF9LGV4cHJlc3Npb246InNob3dQb3BBZCJ9fSxbZSgidi11bmktdmlldyIse3N0YXRpY0NsYXNzOiJub3RpY2UgcG9zaXRpb24tcmVsYXRpdmUifSxbZSgidi11bmktdmlldyIse3N0YXRpY0NsYXNzOiJkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgaGVhZGluZyJ9LFtlKCJ2LXVuaS10ZXh0Iix7c3RhdGljQ2xhc3M6ImZvbnQtc2l6ZS0zNCB0ZXh0LXdoaXRlIG1sLTIwIn0sW3QuX3YodC5fcyh0LnBvcHVwQWQudGl0bGUpKV0pXSwxKSxlKCJ2LXVuaS12aWV3Iix7c3RhdGljQ2xhc3M6InAtMzAifSxbZSgidi11bmktc2Nyb2xsLXZpZXciLHtzdGF0aWNDbGFzczoibXQtMjAgbWItNTAiLHN0YXRpY1N0eWxlOnsibWF4LWhlaWdodCI6IjM1MHB4In0sYXR0cnM6eyJzY3JvbGwteSI6ITB9fSxbZSgidi11bmktdmlldyIse2RvbVByb3BzOntpbm5lckhUTUw6dC5fcyh0LnBvcHVwQWQuY29udGVudCl9fSldLDEpXSwxKV0sMSksZSgidi11bmktdmlldyIse3N0YXRpY0NsYXNzOiJub3RpY2UtY2xvc2UifSxbZSgidi11bmktaW1hZ2UiLHtzdGF0aWNTdHlsZTp7d2lkdGg6IjQwcHgiLGhlaWdodDoiNDBweCJ9LGF0dHJzOntzcmM6aSgiMjFiNCIpLG1vZGU6ImFzcGVjdEZpdCJ9LG9uOntjbGljazpmdW5jdGlvbihhKXthcmd1bWVudHNbMF09YT10LiRoYW5kbGVFdmVudChhKSx0LmNsb3NlTm90aWNlKHQucG9wdXBBZC5pZCl9fX0pXSwxKV0sMSldLDEpLGUoInUtcG9wdXAiLHthdHRyczp7ImJvcmRlci1yYWRpdXMiOiIzMCIsbGVuZ3RoOiI1MDAiLCJtYXNrLWNsb3NlLWFibGUiOiExfSxtb2RlbDp7dmFsdWU6dC5zaG93VXBkYXRlLGNhbGxiYWNrOmZ1bmN0aW9uKGEpe3Quc2hvd1VwZGF0ZT1hfSxleHByZXNzaW9uOiJzaG93VXBkYXRlIn19LFtlKCJ2LXVuaS12aWV3Iix7c3RhdGljQ2xhc3M6InVwZGF0ZSBvdmVyZmxvdy1oaWRkZW4gcG9zaXRpb24tcmVsYXRpdmUifSxbZSgidi11bmktdmlldyIse3N0YXRpY0NsYXNzOiJkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgdXBkYXRlLWJnIn0sW2UoInYtdW5pLWltYWdlIix7c3RhdGljU3R5bGU6e3dpZHRoOiI3NHJweCIsaGVpZ2h0OiI3MHJweCJ9LGF0dHJzOntzcmM6aSgiM2NhNiIpfX0pLGUoInYtdW5pLXRleHQiLHtzdGF0aWNDbGFzczoiZm9udC1zaXplLTM0IHRleHQtd2hpdGUgbWwtMjAifSxbdC5fdigi5Y+R546w5paw54mI5pysIildKV0sMSksZSgidi11bmktdmlldyIse3N0YXRpY0NsYXNzOiJteC00MCBteS0zMCBmb250LXNpemUtMjIifSxbZSgidi11bmktdGV4dCIse3N0YXRpY0NsYXNzOiJkLWJsb2NrIHB5LTMifSxbdC5fdigiMS7kv67lpI3kuobkuIDkuptCVUfvvJsiKV0pLGUoInYtdW5pLXRleHQiLHtzdGF0aWNDbGFzczoiZC1ibG9jayBweS0zIn0sW3QuX3YoIjIu5LyY5YyW5LqG5LiA6YOo5YiG6aG16Z2i77ybIildKV0sMSksZSgidi11bmktdmlldyIse3N0YXRpY0NsYXNzOiJidXR0b25zIn0sW3QuZG93blByb2dyZXNzP2UoInUtbGluZS1wcm9ncmVzcyIse3N0YXRpY0NsYXNzOiJtYi0yMCIsYXR0cnM6eyJhY3RpdmUtY29sb3IiOiIjZWYzMjRjIixwZXJjZW50OnQuZG93blByb2dyZXNzfX0pOmUoInYtdW5pLXZpZXciLHtzdGF0aWNDbGFzczoiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIn0sW2UoInYtdW5pLWJ1dHRvbiIse3N0YXRpY0NsYXNzOiJidG4gYnRuMSIsb246e2NsaWNrOmZ1bmN0aW9uKGEpe2FyZ3VtZW50c1swXT1hPXQuJGhhbmRsZUV2ZW50KGEpLHQuc2hvd1VwZGF0ZT0hMX19fSxbdC5fdigi5LiL5qyh5o+Q56S6IildKSxlKCJ2LXVuaS1idXR0b24iLHtzdGF0aWNDbGFzczoiYnRuIGJ0bjIiLG9uOntjbGljazpmdW5jdGlvbihhKXthcmd1bWVudHNbMF09YT10LiRoYW5kbGVFdmVudChhKSx0LmRvd25GaWxlLmFwcGx5KHZvaWQgMCxhcmd1bWVudHMpfX19LFt0Ll92KCLnq4vljbPmm7TmlrAiKV0pXSwxKSwxMDA9PXQuZG93blByb2dyZXNzP2UoInYtdW5pLXZpZXciLFtlKCJ2LXVuaS1idXR0b24iLHtzdGF0aWNDbGFzczoiYnRuIGJ0bjIiLHN0YXRpY1N0eWxlOnt3aWR0aDoiMTAwJSJ9LG9uOntjbGljazpmdW5jdGlvbihhKXthcmd1bWVudHNbMF09YT10LiRoYW5kbGVFdmVudChhKSx0LmRvd25JbnN0YWxsLmFwcGx5KHZvaWQgMCxhcmd1bWVudHMpfX19LFt0Ll92KCLnq4vljbPlronoo4UiKV0pXSwxKTp0Ll9lKCldLDEpXSwxKV0sMSldLDEpfSxyPVtdfSwiOGQ3OCI6ZnVuY3Rpb24odCxhLGkpeyJ1c2Ugc3RyaWN0IjtpLnIoYSk7dmFyIGU9aSgiZDE0NCIpLG49aSgiZjI0NSIpO2Zvcih2YXIgciBpbiBuKVsiZGVmYXVsdCJdLmluZGV4T2Yocik8MCYmZnVuY3Rpb24odCl7aS5kKGEsdCwoZnVuY3Rpb24oKXtyZXR1cm4gblt0XX0pKX0ocik7aSgiOGQ4NSIpO3ZhciBvPWkoIjgyOGIiKSxkPU9iamVjdChvWyJhIl0pKG5bImRlZmF1bHQiXSxlWyJiIl0sZVsiYyJdLCExLG51bGwsIjdmMzUyYzMyIixudWxsLCExLGVbImEiXSx2b2lkIDApO2FbImRlZmF1bHQiXT1kLmV4cG9ydHN9LCI4ZDg1IjpmdW5jdGlvbih0LGEsaSl7InVzZSBzdHJpY3QiO3ZhciBlPWkoIjM5ZDg2Iiksbj1pLm4oZSk7bi5hfSwiOTIyYiI6ZnVuY3Rpb24odCxhLGkpe3QuZXhwb3J0cz1pLnArInN0YXRpYy9pbWFnZS9pY29uL2hvbWUtbmF2LTQucG5nIn0sIjkzNmUiOmZ1bmN0aW9uKHQsYSxpKXsidXNlIHN0cmljdCI7aS5kKGEsImIiLChmdW5jdGlvbigpe3JldHVybiBlfSkpLGkuZChhLCJjIiwoZnVuY3Rpb24oKXtyZXR1cm4gbn0pKSxpLmQoYSwiYSIsKGZ1bmN0aW9uKCl7fSkpO3ZhciBlPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy4kY3JlYXRlRWxlbWVudCxhPXRoaXMuX3NlbGYuX2N8fHQ7cmV0dXJuIGEoInYtdW5pLXZpZXciLHtzdGF0aWNDbGFzczoiY29udGFpbmVyIGxvYWRpbmcxIn0sW2EoInYtdW5pLXZpZXciLHtzdGF0aWNDbGFzczoic2hhcGUgc2hhcGUxIn0pLGEoInYtdW5pLXZpZXciLHtzdGF0aWNDbGFzczoic2hhcGUgc2hhcGUyIn0pLGEoInYtdW5pLXZpZXciLHtzdGF0aWNDbGFzczoic2hhcGUgc2hhcGUzIn0pLGEoInYtdW5pLXZpZXciLHtzdGF0aWNDbGFzczoic2hhcGUgc2hhcGU0In0pXSwxKX0sbj1bXX0sOTg5MTpmdW5jdGlvbih0LGEsaSl7InVzZSBzdHJpY3QiO2kucihhKTt2YXIgZT1pKCJlMmY3Iiksbj1pKCIyMzcwIik7Zm9yKHZhciByIGluIG4pWyJkZWZhdWx0Il0uaW5kZXhPZihyKTwwJiZmdW5jdGlvbih0KXtpLmQoYSx0LChmdW5jdGlvbigpe3JldHVybiBuW3RdfSkpfShyKTtpKCI1MjNmIik7dmFyIG89aSgiODI4YiIpLGQ9T2JqZWN0KG9bImEiXSkoblsiZGVmYXVsdCJdLGVbImIiXSxlWyJjIl0sITEsbnVsbCwiMmVmOTNiMmMiLG51bGwsITEsZVsiYSJdLHZvaWQgMCk7YVsiZGVmYXVsdCJdPWQuZXhwb3J0c30sOTk3NzpmdW5jdGlvbih0LGEsaSl7InVzZSBzdHJpY3QiO2koIjZhNTQiKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoYSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksYS5kZWZhdWx0PXZvaWQgMCxpKCI2NGFhIiksaSgiYmYwZiIpLGkoIjVjNDciKSxpKCJhYTljIiksaSgiMThmNyIpLGkoImRlNmMiKTt2YXIgZT17cHJvcHM6e2xpc3Q6e3R5cGU6QXJyYXksZGVmYXVsdDpmdW5jdGlvbigpe3JldHVybltdfX0sdHlwZTp7dHlwZTpTdHJpbmcsZGVmYXVsdDoid2FybmluZyJ9LHZvbHVtZUljb246e3R5cGU6Qm9vbGVhbixkZWZhdWx0OiEwfSxtb3JlSWNvbjp7dHlwZTpCb29sZWFuLGRlZmF1bHQ6ITF9LGNsb3NlSWNvbjp7dHlwZTpCb29sZWFuLGRlZmF1bHQ6ITF9LGF1dG9wbGF5Ont0eXBlOkJvb2xlYW4sZGVmYXVsdDohMH0sY29sb3I6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6IiJ9LGJnQ29sb3I6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6IiJ9LHNob3c6e3R5cGU6Qm9vbGVhbixkZWZhdWx0OiEwfSxmb250U2l6ZTp7dHlwZTpbTnVtYmVyLFN0cmluZ10sZGVmYXVsdDoyNn0sdm9sdW1lU2l6ZTp7dHlwZTpbTnVtYmVyLFN0cmluZ10sZGVmYXVsdDozNH0sc3BlZWQ6e3R5cGU6W051bWJlcixTdHJpbmddLGRlZmF1bHQ6MTYwfSxwbGF5U3RhdGU6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6InBsYXkifSxwYWRkaW5nOnt0eXBlOltOdW1iZXIsU3RyaW5nXSxkZWZhdWx0OiIxOHJweCAyNHJweCJ9fSxkYXRhOmZ1bmN0aW9uKCl7cmV0dXJue3RleHRXaWR0aDowLGJveFdpZHRoOjAsYW5pbWF0aW9uRHVyYXRpb246IjEwcyIsYW5pbWF0aW9uUGxheVN0YXRlOiJwYXVzZWQiLHNob3dUZXh0OiIifX0sd2F0Y2g6e2xpc3Q6e2ltbWVkaWF0ZTohMCxoYW5kbGVyOmZ1bmN0aW9uKHQpe3ZhciBhPXRoaXM7dGhpcy5zaG93VGV4dD10LmpvaW4oIu+8jCIpLHRoaXMuJG5leHRUaWNrKChmdW5jdGlvbigpe2EuaW5pdFNpemUoKX0pKX19LHBsYXlTdGF0ZTpmdW5jdGlvbih0KXt0aGlzLmFuaW1hdGlvblBsYXlTdGF0ZT0icGxheSI9PXQ/InJ1bm5pbmciOiJwYXVzZWQifSxzcGVlZDpmdW5jdGlvbih0KXt0aGlzLmluaXRTaXplKCl9fSxjb21wdXRlZDp7Y29tcHV0ZUNvbG9yOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY29sb3I/dGhpcy5jb2xvcjoibm9uZSI9PXRoaXMudHlwZT8iIzYwNjI2NiI6dGhpcy50eXBlfSx0ZXh0U3R5bGU6ZnVuY3Rpb24oKXt2YXIgdD17fTtyZXR1cm4gdGhpcy5jb2xvcj90LmNvbG9yPXRoaXMuY29sb3I6Im5vbmUiPT10aGlzLnR5cGUmJih0LmNvbG9yPSIjNjA2MjY2IiksdC5mb250U2l6ZT10aGlzLmZvbnRTaXplKyJycHgiLHR9LGNvbXB1dGVCZ0NvbG9yOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYmdDb2xvcj90aGlzLmJnQ29sb3I6Im5vbmUiPT10aGlzLnR5cGU/InRyYW5zcGFyZW50Ijp2b2lkIDB9fSxtb3VudGVkOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpczt0aGlzLiRuZXh0VGljaygoZnVuY3Rpb24oKXt0LmluaXRTaXplKCl9KSl9LG1ldGhvZHM6e2luaXRTaXplOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxhPVtdLGk9bmV3IFByb21pc2UoKGZ1bmN0aW9uKGEsaSl7dW5pLmNyZWF0ZVNlbGVjdG9yUXVlcnkoKS5pbih0KS5zZWxlY3QoIiN1LW5vdGljZS1jb250ZW50IikuYm91bmRpbmdDbGllbnRSZWN0KCkuZXhlYygoZnVuY3Rpb24oaSl7dC50ZXh0V2lkdGg9aVswXS53aWR0aCxhKCl9KSl9KSk7YS5wdXNoKGkpLFByb21pc2UuYWxsKGEpLnRoZW4oKGZ1bmN0aW9uKCl7dC5hbmltYXRpb25EdXJhdGlvbj0iIi5jb25jYXQodC50ZXh0V2lkdGgvdW5pLnVweDJweCh0LnNwZWVkKSwicyIpLHQuYW5pbWF0aW9uUGxheVN0YXRlPSJwYXVzZWQiLHNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7InBsYXkiPT10LnBsYXlTdGF0ZSYmdC5hdXRvcGxheSYmKHQuYW5pbWF0aW9uUGxheVN0YXRlPSJydW5uaW5nIil9KSwxMCl9KSl9LGNsaWNrOmZ1bmN0aW9uKHQpe3RoaXMuJGVtaXQoImNsaWNrIil9LGNsb3NlOmZ1bmN0aW9uKCl7dGhpcy4kZW1pdCgiY2xvc2UiKX0sZ2V0TW9yZTpmdW5jdGlvbigpe3RoaXMuJGVtaXQoImdldE1vcmUiKX19fTthLmRlZmF1bHQ9ZX0sOTk5NTpmdW5jdGlvbih0LGEsaSl7dmFyIGU9aSgiYjExNiIpO2UuX19lc01vZHVsZSYmKGU9ZS5kZWZhdWx0KSwic3RyaW5nIj09PXR5cGVvZiBlJiYoZT1bW3QuaSxlLCIiXV0pLGUubG9jYWxzJiYodC5leHBvcnRzPWUubG9jYWxzKTt2YXIgbj1pKCI5NjdkIikuZGVmYXVsdDtuKCI2MTZlNjYzZiIsZSwhMCx7c291cmNlTWFwOiExLHNoYWRvd01vZGU6ITF9KX0sIjliODgiOmZ1bmN0aW9uKHQsYSxpKXsidXNlIHN0cmljdCI7aSgiNmE1NCIpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxhLmRlZmF1bHQ9dm9pZCAwO2EuZGVmYXVsdD17YXBwaWQ6Il9fVU5JX19HRUJFQjA0MSJ9fSwiOWM3NCI6ZnVuY3Rpb24odCxhLGkpe3ZhciBlPWkoImM4NmMiKSxuPWkoIjJlYzUiKSxyPWkoIjlmNWYiKSxvPWkoImY2NGMiKSxkPWkoIjY1ODQiKSxwPWkoIjJhZmEiKSxjPWkoImE4NzUiKTthPWUoITEpO3ZhciBzPW4ociksbD1uKG8pLG09bihkKSxmPW4ocCksZz1uKGMpO2EucHVzaChbdC5pLCdAY2hhcnNldCAiVVRGLTgiO1xyXG4vKipcclxuICog5LiL5pa55byV5YWl55qE5Li6dVZpZXcgVUnnmoTpm4bmiJDmoLflvI/mlofku7bvvIzkuLpzY3Nz6aKE5aSE55CG5Zmo77yM5YW25Lit5YyF5ZCr5LqG5LiA5LqbInUtIuW8gOWktOeahOiHquWumuS5ieWPmOmHj1xyXG4gKiDkvb/nlKjnmoTml7blgJnvvIzor7flsIbkuIvpnaLnmoTkuIDooYzlpI3liLbliLDmgqjnmoR1bmlhcHDpobnnm67moLnnm67lvZXnmoR1bmkuc2Nzc+S4reWNs+WPr1xyXG4gKiB1Vmlld+iHquWumuS5ieeahGNzc+exu+WQjeWSjHNjc3Plj5jph4/vvIzlnYfku6UidS0i5byA5aS077yM5LiN5Lya6YCg5oiQ5Yay56qB77yM6K+35pS+5b+D5L2/55SoIFxyXG4gKi8udGV4dC1zdWNjZXNzW2RhdGEtdi03NmNhM2Y0M117Y29sb3I6IzI4YmE5OH0udGV4dC13YXJuaW5nW2RhdGEtdi03NmNhM2Y0M117Y29sb3I6I2Q0YmE4M30udGV4dC1wcmltYXJ5W2RhdGEtdi03NmNhM2Y0M117Y29sb3I6IzIyNzdmY30udGV4dC1lcnJvcltkYXRhLXYtNzZjYTNmNDNde2NvbG9yOiNmMDRhNWF9LnRleHQtc2Vjb25kYXJ5W2RhdGEtdi03NmNhM2Y0M117Y29sb3I6Izk5OX0udGV4dC1kZWVwYmx1ZVtkYXRhLXYtNzZjYTNmNDNde2NvbG9yOiMwZDI3NTh9LnRleHQtMzMzW2RhdGEtdi03NmNhM2Y0M117Y29sb3I6IzMzM30ucHJpbWFyeS1idXR0b25bZGF0YS12LTc2Y2EzZjQzXXtiYWNrZ3JvdW5kLWNvbG9yOiMyMjc3ZmM7Y29sb3I6I2ZmZjtib3JkZXItcmFkaXVzOiU/MTA/JTtmb250LXNpemU6JT8zMj8lO3BhZGRpbmc6JT80PyUgMDtib3JkZXI6bm9uZTtjb2xvcjojZmZmO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDE4MGRlZywjMDBjNmZiIDAsIzAwNWJlYSl9LnByaW1hcnktYnV0dG9uW2RhdGEtdi03NmNhM2Y0M106YWZ0ZXJ7ZGlzcGxheTpub25lfS5lcnJvci1idXR0b25bZGF0YS12LTc2Y2EzZjQzXXtiYWNrZ3JvdW5kLWNvbG9yOiNmMDRhNWE7Y29sb3I6I2ZmZjtib3JkZXItcmFkaXVzOiU/MTA/JTtmb250LXNpemU6JT8zMj8lO3BhZGRpbmc6JT80PyUgMDtib3JkZXI6bm9uZTtjb2xvcjojZmZmO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDE4MGRlZywjZjc3MDYyIDAsI2ZlNTE5Nil9LmVycm9yLWJ1dHRvbltkYXRhLXYtNzZjYTNmNDNdOmFmdGVye2Rpc3BsYXk6bm9uZX0ud2FybmluZy1idXR0b25bZGF0YS12LTc2Y2EzZjQzXXtiYWNrZ3JvdW5kLWNvbG9yOiNkNGJhODM7Y29sb3I6I2ZmZjtib3JkZXItcmFkaXVzOiU/MTA/JTtmb250LXNpemU6JT8zMj8lO3BhZGRpbmc6JT80PyUgMDtib3JkZXI6bm9uZTtjb2xvcjojNGQ0ZDRkO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDFkZWcsI2ZmY2M4ZiwjZmZlZGQ4KX0ud2FybmluZy1idXR0b25bZGF0YS12LTc2Y2EzZjQzXTphZnRlcntkaXNwbGF5Om5vbmV9LnN1Y2Nlc3MtYnV0dG9uW2RhdGEtdi03NmNhM2Y0M117YmFja2dyb3VuZC1jb2xvcjojMjhiYTk4O2NvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czolPzEwPyU7Zm9udC1zaXplOiU/MzI/JTtwYWRkaW5nOiU/ND8lIDA7Ym9yZGVyOm5vbmU7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgwZGVnLCMwYmEzNjAgMCwjM2NiYTkyKX0uc3VjY2Vzcy1idXR0b25bZGF0YS12LTc2Y2EzZjQzXTphZnRlcntkaXNwbGF5Om5vbmV9LnNlY29uZGFyeS1idXR0b25bZGF0YS12LTc2Y2EzZjQzXXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoNTEsNTEsNTEsLjA2KTtjb2xvcjojYWZhZmFmO2JvcmRlci1yYWRpdXM6JT8xMD8lO2ZvbnQtc2l6ZTolPzMyPyU7cGFkZGluZzolPzQ/JSAwO2JvcmRlcjpub25lO2NvbG9yOiNiMWIwYjA7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoMGRlZywjYzRjNWM3IDAsI2RjZGRkZiA1MiUsI2ViZWJlYil9LnNlY29uZGFyeS1idXR0b25bZGF0YS12LTc2Y2EzZjQzXTphZnRlcntkaXNwbGF5Om5vbmV9LnRleHQtd2hpdGVbZGF0YS12LTc2Y2EzZjQzXXtjb2xvcjojZmZmIWltcG9ydGFudH0udGV4dC1ibGFja1tkYXRhLXYtNzZjYTNmNDNde2NvbG9yOiM0ZDRkNGQhaW1wb3J0YW50fS5iZy13aGl0ZVtkYXRhLXYtNzZjYTNmNDNde2JhY2tncm91bmQtY29sb3I6I2ZmZiFpbXBvcnRhbnR9LmJnLXByaW1hcnlbZGF0YS12LTc2Y2EzZjQzXXtiYWNrZ3JvdW5kLWNvbG9yOiMyMjc3ZmMhaW1wb3J0YW50fS5iZy1zZWNvbmRhcnlbZGF0YS12LTc2Y2EzZjQzXXtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoNTEsNTEsNTEsLjA2KSFpbXBvcnRhbnR9LmJnLWJsYWNrW2RhdGEtdi03NmNhM2Y0M117YmFja2dyb3VuZC1jb2xvcjojNGQ0ZDRkIWltcG9ydGFudH0uYmctMzMzW2RhdGEtdi03NmNhM2Y0M117YmFja2dyb3VuZC1jb2xvcjojMzMzIWltcG9ydGFudH0ubS0wW2RhdGEtdi03NmNhM2Y0M117bWFyZ2luOiU/MD8lIWltcG9ydGFudH0ubXgtMFtkYXRhLXYtNzZjYTNmNDNde21hcmdpbi1sZWZ0OiU/MD8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT8wPyUhaW1wb3J0YW50fS5tbC0wW2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLWxlZnQ6JT8wPyUhaW1wb3J0YW50fS5tci0wW2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLXJpZ2h0OiU/MD8lIWltcG9ydGFudH0ubXktMFtkYXRhLXYtNzZjYTNmNDNde21hcmdpbi10b3A6JT8wPyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT8wPyUhaW1wb3J0YW50fS5tdC0wW2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLXRvcDolPzA/JSFpbXBvcnRhbnR9Lm1iLTBbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tYm90dG9tOiU/MD8lIWltcG9ydGFudH0ucC0wW2RhdGEtdi03NmNhM2Y0M117cGFkZGluZzolPzA/JSFpbXBvcnRhbnR9LnB4LTBbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLWxlZnQ6JT8wPyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT8wPyUhaW1wb3J0YW50fS5wbC0wW2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy1sZWZ0OiU/MD8lIWltcG9ydGFudH0ucHItMFtkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctcmlnaHQ6JT8wPyUhaW1wb3J0YW50fS5weS0wW2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy10b3A6JT8wPyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/MD8lIWltcG9ydGFudH0ucHQtMFtkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctdG9wOiU/MD8lIWltcG9ydGFudH0ucGItMFtkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctYm90dG9tOiU/MD8lIWltcG9ydGFudH0uZ3JpZC1nYXAtMFtkYXRhLXYtNzZjYTNmNDNde2dyaWQtZ2FwOiU/MD8lIWltcG9ydGFudH0uei1pbmRleC0wW2RhdGEtdi03NmNhM2Y0M117ei1pbmRleDowIWltcG9ydGFudH0ubS0yW2RhdGEtdi03NmNhM2Y0M117bWFyZ2luOiU/Mj8lIWltcG9ydGFudH0ubXgtMltkYXRhLXYtNzZjYTNmNDNde21hcmdpbi1sZWZ0OiU/Mj8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT8yPyUhaW1wb3J0YW50fS5tbC0yW2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLWxlZnQ6JT8yPyUhaW1wb3J0YW50fS5tci0yW2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLXJpZ2h0OiU/Mj8lIWltcG9ydGFudH0ubXktMltkYXRhLXYtNzZjYTNmNDNde21hcmdpbi10b3A6JT8yPyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT8yPyUhaW1wb3J0YW50fS5tdC0yW2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLXRvcDolPzI/JSFpbXBvcnRhbnR9Lm1iLTJbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tYm90dG9tOiU/Mj8lIWltcG9ydGFudH0ucC0yW2RhdGEtdi03NmNhM2Y0M117cGFkZGluZzolPzI/JSFpbXBvcnRhbnR9LnB4LTJbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLWxlZnQ6JT8yPyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT8yPyUhaW1wb3J0YW50fS5wbC0yW2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy1sZWZ0OiU/Mj8lIWltcG9ydGFudH0ucHItMltkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctcmlnaHQ6JT8yPyUhaW1wb3J0YW50fS5weS0yW2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy10b3A6JT8yPyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/Mj8lIWltcG9ydGFudH0ucHQtMltkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctdG9wOiU/Mj8lIWltcG9ydGFudH0ucGItMltkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctYm90dG9tOiU/Mj8lIWltcG9ydGFudH0uZ3JpZC1nYXAtMltkYXRhLXYtNzZjYTNmNDNde2dyaWQtZ2FwOiU/Mj8lIWltcG9ydGFudH0uei1pbmRleC0yW2RhdGEtdi03NmNhM2Y0M117ei1pbmRleDoyIWltcG9ydGFudH0ubS00W2RhdGEtdi03NmNhM2Y0M117bWFyZ2luOiU/ND8lIWltcG9ydGFudH0ubXgtNFtkYXRhLXYtNzZjYTNmNDNde21hcmdpbi1sZWZ0OiU/ND8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT80PyUhaW1wb3J0YW50fS5tbC00W2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLWxlZnQ6JT80PyUhaW1wb3J0YW50fS5tci00W2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLXJpZ2h0OiU/ND8lIWltcG9ydGFudH0ubXktNFtkYXRhLXYtNzZjYTNmNDNde21hcmdpbi10b3A6JT80PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT80PyUhaW1wb3J0YW50fS5tdC00W2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLXRvcDolPzQ/JSFpbXBvcnRhbnR9Lm1iLTRbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tYm90dG9tOiU/ND8lIWltcG9ydGFudH0ucC00W2RhdGEtdi03NmNhM2Y0M117cGFkZGluZzolPzQ/JSFpbXBvcnRhbnR9LnB4LTRbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLWxlZnQ6JT80PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT80PyUhaW1wb3J0YW50fS5wbC00W2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy1sZWZ0OiU/ND8lIWltcG9ydGFudH0ucHItNFtkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctcmlnaHQ6JT80PyUhaW1wb3J0YW50fS5weS00W2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy10b3A6JT80PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/ND8lIWltcG9ydGFudH0ucHQtNFtkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctdG9wOiU/ND8lIWltcG9ydGFudH0ucGItNFtkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctYm90dG9tOiU/ND8lIWltcG9ydGFudH0uZ3JpZC1nYXAtNFtkYXRhLXYtNzZjYTNmNDNde2dyaWQtZ2FwOiU/ND8lIWltcG9ydGFudH0uei1pbmRleC00W2RhdGEtdi03NmNhM2Y0M117ei1pbmRleDo0IWltcG9ydGFudH0ubS02W2RhdGEtdi03NmNhM2Y0M117bWFyZ2luOiU/Nj8lIWltcG9ydGFudH0ubXgtNltkYXRhLXYtNzZjYTNmNDNde21hcmdpbi1sZWZ0OiU/Nj8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT82PyUhaW1wb3J0YW50fS5tbC02W2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLWxlZnQ6JT82PyUhaW1wb3J0YW50fS5tci02W2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLXJpZ2h0OiU/Nj8lIWltcG9ydGFudH0ubXktNltkYXRhLXYtNzZjYTNmNDNde21hcmdpbi10b3A6JT82PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT82PyUhaW1wb3J0YW50fS5tdC02W2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLXRvcDolPzY/JSFpbXBvcnRhbnR9Lm1iLTZbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tYm90dG9tOiU/Nj8lIWltcG9ydGFudH0ucC02W2RhdGEtdi03NmNhM2Y0M117cGFkZGluZzolPzY/JSFpbXBvcnRhbnR9LnB4LTZbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLWxlZnQ6JT82PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT82PyUhaW1wb3J0YW50fS5wbC02W2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy1sZWZ0OiU/Nj8lIWltcG9ydGFudH0ucHItNltkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctcmlnaHQ6JT82PyUhaW1wb3J0YW50fS5weS02W2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy10b3A6JT82PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/Nj8lIWltcG9ydGFudH0ucHQtNltkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctdG9wOiU/Nj8lIWltcG9ydGFudH0ucGItNltkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctYm90dG9tOiU/Nj8lIWltcG9ydGFudH0uZ3JpZC1nYXAtNltkYXRhLXYtNzZjYTNmNDNde2dyaWQtZ2FwOiU/Nj8lIWltcG9ydGFudH0uei1pbmRleC02W2RhdGEtdi03NmNhM2Y0M117ei1pbmRleDo2IWltcG9ydGFudH0ubS04W2RhdGEtdi03NmNhM2Y0M117bWFyZ2luOiU/OD8lIWltcG9ydGFudH0ubXgtOFtkYXRhLXYtNzZjYTNmNDNde21hcmdpbi1sZWZ0OiU/OD8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT84PyUhaW1wb3J0YW50fS5tbC04W2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLWxlZnQ6JT84PyUhaW1wb3J0YW50fS5tci04W2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLXJpZ2h0OiU/OD8lIWltcG9ydGFudH0ubXktOFtkYXRhLXYtNzZjYTNmNDNde21hcmdpbi10b3A6JT84PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT84PyUhaW1wb3J0YW50fS5tdC04W2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLXRvcDolPzg/JSFpbXBvcnRhbnR9Lm1iLThbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tYm90dG9tOiU/OD8lIWltcG9ydGFudH0ucC04W2RhdGEtdi03NmNhM2Y0M117cGFkZGluZzolPzg/JSFpbXBvcnRhbnR9LnB4LThbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLWxlZnQ6JT84PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT84PyUhaW1wb3J0YW50fS5wbC04W2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy1sZWZ0OiU/OD8lIWltcG9ydGFudH0ucHItOFtkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctcmlnaHQ6JT84PyUhaW1wb3J0YW50fS5weS04W2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy10b3A6JT84PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/OD8lIWltcG9ydGFudH0ucHQtOFtkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctdG9wOiU/OD8lIWltcG9ydGFudH0ucGItOFtkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctYm90dG9tOiU/OD8lIWltcG9ydGFudH0uZ3JpZC1nYXAtOFtkYXRhLXYtNzZjYTNmNDNde2dyaWQtZ2FwOiU/OD8lIWltcG9ydGFudH0uei1pbmRleC04W2RhdGEtdi03NmNhM2Y0M117ei1pbmRleDo4IWltcG9ydGFudH0ubS0xMFtkYXRhLXYtNzZjYTNmNDNde21hcmdpbjolPzEwPyUhaW1wb3J0YW50fS5teC0xMFtkYXRhLXYtNzZjYTNmNDNde21hcmdpbi1sZWZ0OiU/MTA/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/MTA/JSFpbXBvcnRhbnR9Lm1sLTEwW2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLWxlZnQ6JT8xMD8lIWltcG9ydGFudH0ubXItMTBbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tcmlnaHQ6JT8xMD8lIWltcG9ydGFudH0ubXktMTBbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tdG9wOiU/MTA/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzEwPyUhaW1wb3J0YW50fS5tdC0xMFtkYXRhLXYtNzZjYTNmNDNde21hcmdpbi10b3A6JT8xMD8lIWltcG9ydGFudH0ubWItMTBbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tYm90dG9tOiU/MTA/JSFpbXBvcnRhbnR9LnAtMTBbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nOiU/MTA/JSFpbXBvcnRhbnR9LnB4LTEwW2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy1sZWZ0OiU/MTA/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzEwPyUhaW1wb3J0YW50fS5wbC0xMFtkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctbGVmdDolPzEwPyUhaW1wb3J0YW50fS5wci0xMFtkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctcmlnaHQ6JT8xMD8lIWltcG9ydGFudH0ucHktMTBbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLXRvcDolPzEwPyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/MTA/JSFpbXBvcnRhbnR9LnB0LTEwW2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy10b3A6JT8xMD8lIWltcG9ydGFudH0ucGItMTBbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLWJvdHRvbTolPzEwPyUhaW1wb3J0YW50fS5ncmlkLWdhcC0xMFtkYXRhLXYtNzZjYTNmNDNde2dyaWQtZ2FwOiU/MTA/JSFpbXBvcnRhbnR9LnotaW5kZXgtMTBbZGF0YS12LTc2Y2EzZjQzXXt6LWluZGV4OjEwIWltcG9ydGFudH0ubS0xMltkYXRhLXYtNzZjYTNmNDNde21hcmdpbjolPzEyPyUhaW1wb3J0YW50fS5teC0xMltkYXRhLXYtNzZjYTNmNDNde21hcmdpbi1sZWZ0OiU/MTI/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/MTI/JSFpbXBvcnRhbnR9Lm1sLTEyW2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLWxlZnQ6JT8xMj8lIWltcG9ydGFudH0ubXItMTJbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tcmlnaHQ6JT8xMj8lIWltcG9ydGFudH0ubXktMTJbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tdG9wOiU/MTI/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzEyPyUhaW1wb3J0YW50fS5tdC0xMltkYXRhLXYtNzZjYTNmNDNde21hcmdpbi10b3A6JT8xMj8lIWltcG9ydGFudH0ubWItMTJbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tYm90dG9tOiU/MTI/JSFpbXBvcnRhbnR9LnAtMTJbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nOiU/MTI/JSFpbXBvcnRhbnR9LnB4LTEyW2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy1sZWZ0OiU/MTI/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzEyPyUhaW1wb3J0YW50fS5wbC0xMltkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctbGVmdDolPzEyPyUhaW1wb3J0YW50fS5wci0xMltkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctcmlnaHQ6JT8xMj8lIWltcG9ydGFudH0ucHktMTJbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLXRvcDolPzEyPyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/MTI/JSFpbXBvcnRhbnR9LnB0LTEyW2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy10b3A6JT8xMj8lIWltcG9ydGFudH0ucGItMTJbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLWJvdHRvbTolPzEyPyUhaW1wb3J0YW50fS5ncmlkLWdhcC0xMltkYXRhLXYtNzZjYTNmNDNde2dyaWQtZ2FwOiU/MTI/JSFpbXBvcnRhbnR9LnotaW5kZXgtMTJbZGF0YS12LTc2Y2EzZjQzXXt6LWluZGV4OjEyIWltcG9ydGFudH0ubS0xNFtkYXRhLXYtNzZjYTNmNDNde21hcmdpbjolPzE0PyUhaW1wb3J0YW50fS5teC0xNFtkYXRhLXYtNzZjYTNmNDNde21hcmdpbi1sZWZ0OiU/MTQ/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/MTQ/JSFpbXBvcnRhbnR9Lm1sLTE0W2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLWxlZnQ6JT8xND8lIWltcG9ydGFudH0ubXItMTRbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tcmlnaHQ6JT8xND8lIWltcG9ydGFudH0ubXktMTRbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tdG9wOiU/MTQ/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzE0PyUhaW1wb3J0YW50fS5tdC0xNFtkYXRhLXYtNzZjYTNmNDNde21hcmdpbi10b3A6JT8xND8lIWltcG9ydGFudH0ubWItMTRbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tYm90dG9tOiU/MTQ/JSFpbXBvcnRhbnR9LnAtMTRbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nOiU/MTQ/JSFpbXBvcnRhbnR9LnB4LTE0W2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy1sZWZ0OiU/MTQ/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzE0PyUhaW1wb3J0YW50fS5wbC0xNFtkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctbGVmdDolPzE0PyUhaW1wb3J0YW50fS5wci0xNFtkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctcmlnaHQ6JT8xND8lIWltcG9ydGFudH0ucHktMTRbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLXRvcDolPzE0PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/MTQ/JSFpbXBvcnRhbnR9LnB0LTE0W2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy10b3A6JT8xND8lIWltcG9ydGFudH0ucGItMTRbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLWJvdHRvbTolPzE0PyUhaW1wb3J0YW50fS5ncmlkLWdhcC0xNFtkYXRhLXYtNzZjYTNmNDNde2dyaWQtZ2FwOiU/MTQ/JSFpbXBvcnRhbnR9LnotaW5kZXgtMTRbZGF0YS12LTc2Y2EzZjQzXXt6LWluZGV4OjE0IWltcG9ydGFudH0ubS0xNltkYXRhLXYtNzZjYTNmNDNde21hcmdpbjolPzE2PyUhaW1wb3J0YW50fS5teC0xNltkYXRhLXYtNzZjYTNmNDNde21hcmdpbi1sZWZ0OiU/MTY/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/MTY/JSFpbXBvcnRhbnR9Lm1sLTE2W2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLWxlZnQ6JT8xNj8lIWltcG9ydGFudH0ubXItMTZbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tcmlnaHQ6JT8xNj8lIWltcG9ydGFudH0ubXktMTZbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tdG9wOiU/MTY/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzE2PyUhaW1wb3J0YW50fS5tdC0xNltkYXRhLXYtNzZjYTNmNDNde21hcmdpbi10b3A6JT8xNj8lIWltcG9ydGFudH0ubWItMTZbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tYm90dG9tOiU/MTY/JSFpbXBvcnRhbnR9LnAtMTZbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nOiU/MTY/JSFpbXBvcnRhbnR9LnB4LTE2W2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy1sZWZ0OiU/MTY/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzE2PyUhaW1wb3J0YW50fS5wbC0xNltkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctbGVmdDolPzE2PyUhaW1wb3J0YW50fS5wci0xNltkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctcmlnaHQ6JT8xNj8lIWltcG9ydGFudH0ucHktMTZbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLXRvcDolPzE2PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/MTY/JSFpbXBvcnRhbnR9LnB0LTE2W2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy10b3A6JT8xNj8lIWltcG9ydGFudH0ucGItMTZbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLWJvdHRvbTolPzE2PyUhaW1wb3J0YW50fS5ncmlkLWdhcC0xNltkYXRhLXYtNzZjYTNmNDNde2dyaWQtZ2FwOiU/MTY/JSFpbXBvcnRhbnR9LnotaW5kZXgtMTZbZGF0YS12LTc2Y2EzZjQzXXt6LWluZGV4OjE2IWltcG9ydGFudH0ubS0xOFtkYXRhLXYtNzZjYTNmNDNde21hcmdpbjolPzE4PyUhaW1wb3J0YW50fS5teC0xOFtkYXRhLXYtNzZjYTNmNDNde21hcmdpbi1sZWZ0OiU/MTg/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/MTg/JSFpbXBvcnRhbnR9Lm1sLTE4W2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLWxlZnQ6JT8xOD8lIWltcG9ydGFudH0ubXItMThbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tcmlnaHQ6JT8xOD8lIWltcG9ydGFudH0ubXktMThbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tdG9wOiU/MTg/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzE4PyUhaW1wb3J0YW50fS5tdC0xOFtkYXRhLXYtNzZjYTNmNDNde21hcmdpbi10b3A6JT8xOD8lIWltcG9ydGFudH0ubWItMThbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tYm90dG9tOiU/MTg/JSFpbXBvcnRhbnR9LnAtMThbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nOiU/MTg/JSFpbXBvcnRhbnR9LnB4LTE4W2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy1sZWZ0OiU/MTg/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzE4PyUhaW1wb3J0YW50fS5wbC0xOFtkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctbGVmdDolPzE4PyUhaW1wb3J0YW50fS5wci0xOFtkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctcmlnaHQ6JT8xOD8lIWltcG9ydGFudH0ucHktMThbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLXRvcDolPzE4PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/MTg/JSFpbXBvcnRhbnR9LnB0LTE4W2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy10b3A6JT8xOD8lIWltcG9ydGFudH0ucGItMThbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLWJvdHRvbTolPzE4PyUhaW1wb3J0YW50fS5ncmlkLWdhcC0xOFtkYXRhLXYtNzZjYTNmNDNde2dyaWQtZ2FwOiU/MTg/JSFpbXBvcnRhbnR9LnotaW5kZXgtMThbZGF0YS12LTc2Y2EzZjQzXXt6LWluZGV4OjE4IWltcG9ydGFudH0uZm9udC1zaXplLTE4W2RhdGEtdi03NmNhM2Y0M117Zm9udC1zaXplOiU/MTg/JSFpbXBvcnRhbnR9Lm0tMjBbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW46JT8yMD8lIWltcG9ydGFudH0ubXgtMjBbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tbGVmdDolPzIwPyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzIwPyUhaW1wb3J0YW50fS5tbC0yMFtkYXRhLXYtNzZjYTNmNDNde21hcmdpbi1sZWZ0OiU/MjA/JSFpbXBvcnRhbnR9Lm1yLTIwW2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLXJpZ2h0OiU/MjA/JSFpbXBvcnRhbnR9Lm15LTIwW2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLXRvcDolPzIwPyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT8yMD8lIWltcG9ydGFudH0ubXQtMjBbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tdG9wOiU/MjA/JSFpbXBvcnRhbnR9Lm1iLTIwW2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLWJvdHRvbTolPzIwPyUhaW1wb3J0YW50fS5wLTIwW2RhdGEtdi03NmNhM2Y0M117cGFkZGluZzolPzIwPyUhaW1wb3J0YW50fS5weC0yMFtkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctbGVmdDolPzIwPyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT8yMD8lIWltcG9ydGFudH0ucGwtMjBbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLWxlZnQ6JT8yMD8lIWltcG9ydGFudH0ucHItMjBbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLXJpZ2h0OiU/MjA/JSFpbXBvcnRhbnR9LnB5LTIwW2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy10b3A6JT8yMD8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzIwPyUhaW1wb3J0YW50fS5wdC0yMFtkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctdG9wOiU/MjA/JSFpbXBvcnRhbnR9LnBiLTIwW2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy1ib3R0b206JT8yMD8lIWltcG9ydGFudH0uZ3JpZC1nYXAtMjBbZGF0YS12LTc2Y2EzZjQzXXtncmlkLWdhcDolPzIwPyUhaW1wb3J0YW50fS56LWluZGV4LTIwW2RhdGEtdi03NmNhM2Y0M117ei1pbmRleDoyMCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS0yMFtkYXRhLXYtNzZjYTNmNDNde2ZvbnQtc2l6ZTolPzIwPyUhaW1wb3J0YW50fS5tLTIyW2RhdGEtdi03NmNhM2Y0M117bWFyZ2luOiU/MjI/JSFpbXBvcnRhbnR9Lm14LTIyW2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLWxlZnQ6JT8yMj8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT8yMj8lIWltcG9ydGFudH0ubWwtMjJbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tbGVmdDolPzIyPyUhaW1wb3J0YW50fS5tci0yMltkYXRhLXYtNzZjYTNmNDNde21hcmdpbi1yaWdodDolPzIyPyUhaW1wb3J0YW50fS5teS0yMltkYXRhLXYtNzZjYTNmNDNde21hcmdpbi10b3A6JT8yMj8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/MjI/JSFpbXBvcnRhbnR9Lm10LTIyW2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLXRvcDolPzIyPyUhaW1wb3J0YW50fS5tYi0yMltkYXRhLXYtNzZjYTNmNDNde21hcmdpbi1ib3R0b206JT8yMj8lIWltcG9ydGFudH0ucC0yMltkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmc6JT8yMj8lIWltcG9ydGFudH0ucHgtMjJbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLWxlZnQ6JT8yMj8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/MjI/JSFpbXBvcnRhbnR9LnBsLTIyW2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy1sZWZ0OiU/MjI/JSFpbXBvcnRhbnR9LnByLTIyW2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy1yaWdodDolPzIyPyUhaW1wb3J0YW50fS5weS0yMltkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctdG9wOiU/MjI/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT8yMj8lIWltcG9ydGFudH0ucHQtMjJbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLXRvcDolPzIyPyUhaW1wb3J0YW50fS5wYi0yMltkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctYm90dG9tOiU/MjI/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTIyW2RhdGEtdi03NmNhM2Y0M117Z3JpZC1nYXA6JT8yMj8lIWltcG9ydGFudH0uei1pbmRleC0yMltkYXRhLXYtNzZjYTNmNDNde3otaW5kZXg6MjIhaW1wb3J0YW50fS5mb250LXNpemUtMjJbZGF0YS12LTc2Y2EzZjQzXSwgLmlucHV0LWl0ZW0gLmdldC1jb2RlW2RhdGEtdi03NmNhM2Y0M117Zm9udC1zaXplOiU/MjI/JSFpbXBvcnRhbnR9Lm0tMjRbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW46JT8yND8lIWltcG9ydGFudH0ubXgtMjRbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tbGVmdDolPzI0PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzI0PyUhaW1wb3J0YW50fS5tbC0yNFtkYXRhLXYtNzZjYTNmNDNde21hcmdpbi1sZWZ0OiU/MjQ/JSFpbXBvcnRhbnR9Lm1yLTI0W2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLXJpZ2h0OiU/MjQ/JSFpbXBvcnRhbnR9Lm15LTI0W2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLXRvcDolPzI0PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT8yND8lIWltcG9ydGFudH0ubXQtMjRbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tdG9wOiU/MjQ/JSFpbXBvcnRhbnR9Lm1iLTI0W2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLWJvdHRvbTolPzI0PyUhaW1wb3J0YW50fS5wLTI0W2RhdGEtdi03NmNhM2Y0M117cGFkZGluZzolPzI0PyUhaW1wb3J0YW50fS5weC0yNFtkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctbGVmdDolPzI0PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT8yND8lIWltcG9ydGFudH0ucGwtMjRbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLWxlZnQ6JT8yND8lIWltcG9ydGFudH0ucHItMjRbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLXJpZ2h0OiU/MjQ/JSFpbXBvcnRhbnR9LnB5LTI0W2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy10b3A6JT8yND8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzI0PyUhaW1wb3J0YW50fS5wdC0yNFtkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctdG9wOiU/MjQ/JSFpbXBvcnRhbnR9LnBiLTI0W2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy1ib3R0b206JT8yND8lIWltcG9ydGFudH0uZ3JpZC1nYXAtMjRbZGF0YS12LTc2Y2EzZjQzXXtncmlkLWdhcDolPzI0PyUhaW1wb3J0YW50fS56LWluZGV4LTI0W2RhdGEtdi03NmNhM2Y0M117ei1pbmRleDoyNCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS0yNFtkYXRhLXYtNzZjYTNmNDNdLCAubG9naW4taW5wdXQtZ3JvdXAgLmxhYmVsW2RhdGEtdi03NmNhM2Y0M117Zm9udC1zaXplOiU/MjQ/JSFpbXBvcnRhbnR9Lm0tMjZbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW46JT8yNj8lIWltcG9ydGFudH0ubXgtMjZbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tbGVmdDolPzI2PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzI2PyUhaW1wb3J0YW50fS5tbC0yNltkYXRhLXYtNzZjYTNmNDNde21hcmdpbi1sZWZ0OiU/MjY/JSFpbXBvcnRhbnR9Lm1yLTI2W2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLXJpZ2h0OiU/MjY/JSFpbXBvcnRhbnR9Lm15LTI2W2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLXRvcDolPzI2PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT8yNj8lIWltcG9ydGFudH0ubXQtMjZbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tdG9wOiU/MjY/JSFpbXBvcnRhbnR9Lm1iLTI2W2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLWJvdHRvbTolPzI2PyUhaW1wb3J0YW50fS5wLTI2W2RhdGEtdi03NmNhM2Y0M117cGFkZGluZzolPzI2PyUhaW1wb3J0YW50fS5weC0yNltkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctbGVmdDolPzI2PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT8yNj8lIWltcG9ydGFudH0ucGwtMjZbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLWxlZnQ6JT8yNj8lIWltcG9ydGFudH0ucHItMjZbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLXJpZ2h0OiU/MjY/JSFpbXBvcnRhbnR9LnB5LTI2W2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy10b3A6JT8yNj8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzI2PyUhaW1wb3J0YW50fS5wdC0yNltkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctdG9wOiU/MjY/JSFpbXBvcnRhbnR9LnBiLTI2W2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy1ib3R0b206JT8yNj8lIWltcG9ydGFudH0uZ3JpZC1nYXAtMjZbZGF0YS12LTc2Y2EzZjQzXXtncmlkLWdhcDolPzI2PyUhaW1wb3J0YW50fS56LWluZGV4LTI2W2RhdGEtdi03NmNhM2Y0M117ei1pbmRleDoyNiFpbXBvcnRhbnR9LmZvbnQtc2l6ZS0yNltkYXRhLXYtNzZjYTNmNDNde2ZvbnQtc2l6ZTolPzI2PyUhaW1wb3J0YW50fS5tLTI4W2RhdGEtdi03NmNhM2Y0M117bWFyZ2luOiU/Mjg/JSFpbXBvcnRhbnR9Lm14LTI4W2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLWxlZnQ6JT8yOD8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT8yOD8lIWltcG9ydGFudH0ubWwtMjhbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tbGVmdDolPzI4PyUhaW1wb3J0YW50fS5tci0yOFtkYXRhLXYtNzZjYTNmNDNde21hcmdpbi1yaWdodDolPzI4PyUhaW1wb3J0YW50fS5teS0yOFtkYXRhLXYtNzZjYTNmNDNde21hcmdpbi10b3A6JT8yOD8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/Mjg/JSFpbXBvcnRhbnR9Lm10LTI4W2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLXRvcDolPzI4PyUhaW1wb3J0YW50fS5tYi0yOFtkYXRhLXYtNzZjYTNmNDNde21hcmdpbi1ib3R0b206JT8yOD8lIWltcG9ydGFudH0ucC0yOFtkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmc6JT8yOD8lIWltcG9ydGFudH0ucHgtMjhbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLWxlZnQ6JT8yOD8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/Mjg/JSFpbXBvcnRhbnR9LnBsLTI4W2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy1sZWZ0OiU/Mjg/JSFpbXBvcnRhbnR9LnByLTI4W2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy1yaWdodDolPzI4PyUhaW1wb3J0YW50fS5weS0yOFtkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctdG9wOiU/Mjg/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT8yOD8lIWltcG9ydGFudH0ucHQtMjhbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLXRvcDolPzI4PyUhaW1wb3J0YW50fS5wYi0yOFtkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctYm90dG9tOiU/Mjg/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTI4W2RhdGEtdi03NmNhM2Y0M117Z3JpZC1nYXA6JT8yOD8lIWltcG9ydGFudH0uei1pbmRleC0yOFtkYXRhLXYtNzZjYTNmNDNde3otaW5kZXg6MjghaW1wb3J0YW50fS5mb250LXNpemUtMjhbZGF0YS12LTc2Y2EzZjQzXXtmb250LXNpemU6JT8yOD8lIWltcG9ydGFudH0ubS0zMFtkYXRhLXYtNzZjYTNmNDNde21hcmdpbjolPzMwPyUhaW1wb3J0YW50fS5teC0zMFtkYXRhLXYtNzZjYTNmNDNde21hcmdpbi1sZWZ0OiU/MzA/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/MzA/JSFpbXBvcnRhbnR9Lm1sLTMwW2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLWxlZnQ6JT8zMD8lIWltcG9ydGFudH0ubXItMzBbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tcmlnaHQ6JT8zMD8lIWltcG9ydGFudH0ubXktMzBbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tdG9wOiU/MzA/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzMwPyUhaW1wb3J0YW50fS5tdC0zMFtkYXRhLXYtNzZjYTNmNDNde21hcmdpbi10b3A6JT8zMD8lIWltcG9ydGFudH0ubWItMzBbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tYm90dG9tOiU/MzA/JSFpbXBvcnRhbnR9LnAtMzBbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nOiU/MzA/JSFpbXBvcnRhbnR9LnB4LTMwW2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy1sZWZ0OiU/MzA/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzMwPyUhaW1wb3J0YW50fS5wbC0zMFtkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctbGVmdDolPzMwPyUhaW1wb3J0YW50fS5wci0zMFtkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctcmlnaHQ6JT8zMD8lIWltcG9ydGFudH0ucHktMzBbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLXRvcDolPzMwPyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/MzA/JSFpbXBvcnRhbnR9LnB0LTMwW2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy10b3A6JT8zMD8lIWltcG9ydGFudH0ucGItMzBbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLWJvdHRvbTolPzMwPyUhaW1wb3J0YW50fS5ncmlkLWdhcC0zMFtkYXRhLXYtNzZjYTNmNDNde2dyaWQtZ2FwOiU/MzA/JSFpbXBvcnRhbnR9LnotaW5kZXgtMzBbZGF0YS12LTc2Y2EzZjQzXXt6LWluZGV4OjMwIWltcG9ydGFudH0uZm9udC1zaXplLTMwW2RhdGEtdi03NmNhM2Y0M117Zm9udC1zaXplOiU/MzA/JSFpbXBvcnRhbnR9Lm0tMzJbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW46JT8zMj8lIWltcG9ydGFudH0ubXgtMzJbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tbGVmdDolPzMyPyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzMyPyUhaW1wb3J0YW50fS5tbC0zMltkYXRhLXYtNzZjYTNmNDNde21hcmdpbi1sZWZ0OiU/MzI/JSFpbXBvcnRhbnR9Lm1yLTMyW2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLXJpZ2h0OiU/MzI/JSFpbXBvcnRhbnR9Lm15LTMyW2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLXRvcDolPzMyPyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT8zMj8lIWltcG9ydGFudH0ubXQtMzJbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tdG9wOiU/MzI/JSFpbXBvcnRhbnR9Lm1iLTMyW2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLWJvdHRvbTolPzMyPyUhaW1wb3J0YW50fS5wLTMyW2RhdGEtdi03NmNhM2Y0M117cGFkZGluZzolPzMyPyUhaW1wb3J0YW50fS5weC0zMltkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctbGVmdDolPzMyPyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT8zMj8lIWltcG9ydGFudH0ucGwtMzJbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLWxlZnQ6JT8zMj8lIWltcG9ydGFudH0ucHItMzJbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLXJpZ2h0OiU/MzI/JSFpbXBvcnRhbnR9LnB5LTMyW2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy10b3A6JT8zMj8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzMyPyUhaW1wb3J0YW50fS5wdC0zMltkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctdG9wOiU/MzI/JSFpbXBvcnRhbnR9LnBiLTMyW2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy1ib3R0b206JT8zMj8lIWltcG9ydGFudH0uZ3JpZC1nYXAtMzJbZGF0YS12LTc2Y2EzZjQzXXtncmlkLWdhcDolPzMyPyUhaW1wb3J0YW50fS56LWluZGV4LTMyW2RhdGEtdi03NmNhM2Y0M117ei1pbmRleDozMiFpbXBvcnRhbnR9LmZvbnQtc2l6ZS0zMltkYXRhLXYtNzZjYTNmNDNdLCAuaW5wdXRbZGF0YS12LTc2Y2EzZjQzXSwgLmxvZ2luLWlucHV0LWdyb3VwIC5sb2dpbi1pbnB1dFtkYXRhLXYtNzZjYTNmNDNdLCAuYXJ0aWNsZSB1bmktdGV4dFtkYXRhLXYtNzZjYTNmNDNde2ZvbnQtc2l6ZTolPzMyPyUhaW1wb3J0YW50fS5tLTM0W2RhdGEtdi03NmNhM2Y0M117bWFyZ2luOiU/MzQ/JSFpbXBvcnRhbnR9Lm14LTM0W2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLWxlZnQ6JT8zND8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT8zND8lIWltcG9ydGFudH0ubWwtMzRbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tbGVmdDolPzM0PyUhaW1wb3J0YW50fS5tci0zNFtkYXRhLXYtNzZjYTNmNDNde21hcmdpbi1yaWdodDolPzM0PyUhaW1wb3J0YW50fS5teS0zNFtkYXRhLXYtNzZjYTNmNDNde21hcmdpbi10b3A6JT8zND8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/MzQ/JSFpbXBvcnRhbnR9Lm10LTM0W2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLXRvcDolPzM0PyUhaW1wb3J0YW50fS5tYi0zNFtkYXRhLXYtNzZjYTNmNDNde21hcmdpbi1ib3R0b206JT8zND8lIWltcG9ydGFudH0ucC0zNFtkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmc6JT8zND8lIWltcG9ydGFudH0ucHgtMzRbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLWxlZnQ6JT8zND8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/MzQ/JSFpbXBvcnRhbnR9LnBsLTM0W2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy1sZWZ0OiU/MzQ/JSFpbXBvcnRhbnR9LnByLTM0W2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy1yaWdodDolPzM0PyUhaW1wb3J0YW50fS5weS0zNFtkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctdG9wOiU/MzQ/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT8zND8lIWltcG9ydGFudH0ucHQtMzRbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLXRvcDolPzM0PyUhaW1wb3J0YW50fS5wYi0zNFtkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctYm90dG9tOiU/MzQ/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTM0W2RhdGEtdi03NmNhM2Y0M117Z3JpZC1nYXA6JT8zND8lIWltcG9ydGFudH0uei1pbmRleC0zNFtkYXRhLXYtNzZjYTNmNDNde3otaW5kZXg6MzQhaW1wb3J0YW50fS5mb250LXNpemUtMzRbZGF0YS12LTc2Y2EzZjQzXXtmb250LXNpemU6JT8zND8lIWltcG9ydGFudH0ubS0zNltkYXRhLXYtNzZjYTNmNDNde21hcmdpbjolPzM2PyUhaW1wb3J0YW50fS5teC0zNltkYXRhLXYtNzZjYTNmNDNde21hcmdpbi1sZWZ0OiU/MzY/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/MzY/JSFpbXBvcnRhbnR9Lm1sLTM2W2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLWxlZnQ6JT8zNj8lIWltcG9ydGFudH0ubXItMzZbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tcmlnaHQ6JT8zNj8lIWltcG9ydGFudH0ubXktMzZbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tdG9wOiU/MzY/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzM2PyUhaW1wb3J0YW50fS5tdC0zNltkYXRhLXYtNzZjYTNmNDNde21hcmdpbi10b3A6JT8zNj8lIWltcG9ydGFudH0ubWItMzZbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tYm90dG9tOiU/MzY/JSFpbXBvcnRhbnR9LnAtMzZbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nOiU/MzY/JSFpbXBvcnRhbnR9LnB4LTM2W2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy1sZWZ0OiU/MzY/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzM2PyUhaW1wb3J0YW50fS5wbC0zNltkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctbGVmdDolPzM2PyUhaW1wb3J0YW50fS5wci0zNltkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctcmlnaHQ6JT8zNj8lIWltcG9ydGFudH0ucHktMzZbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLXRvcDolPzM2PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/MzY/JSFpbXBvcnRhbnR9LnB0LTM2W2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy10b3A6JT8zNj8lIWltcG9ydGFudH0ucGItMzZbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLWJvdHRvbTolPzM2PyUhaW1wb3J0YW50fS5ncmlkLWdhcC0zNltkYXRhLXYtNzZjYTNmNDNde2dyaWQtZ2FwOiU/MzY/JSFpbXBvcnRhbnR9LnotaW5kZXgtMzZbZGF0YS12LTc2Y2EzZjQzXXt6LWluZGV4OjM2IWltcG9ydGFudH0uZm9udC1zaXplLTM2W2RhdGEtdi03NmNhM2Y0M117Zm9udC1zaXplOiU/MzY/JSFpbXBvcnRhbnR9Lm0tMzhbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW46JT8zOD8lIWltcG9ydGFudH0ubXgtMzhbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tbGVmdDolPzM4PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzM4PyUhaW1wb3J0YW50fS5tbC0zOFtkYXRhLXYtNzZjYTNmNDNde21hcmdpbi1sZWZ0OiU/Mzg/JSFpbXBvcnRhbnR9Lm1yLTM4W2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLXJpZ2h0OiU/Mzg/JSFpbXBvcnRhbnR9Lm15LTM4W2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLXRvcDolPzM4PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT8zOD8lIWltcG9ydGFudH0ubXQtMzhbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tdG9wOiU/Mzg/JSFpbXBvcnRhbnR9Lm1iLTM4W2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLWJvdHRvbTolPzM4PyUhaW1wb3J0YW50fS5wLTM4W2RhdGEtdi03NmNhM2Y0M117cGFkZGluZzolPzM4PyUhaW1wb3J0YW50fS5weC0zOFtkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctbGVmdDolPzM4PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT8zOD8lIWltcG9ydGFudH0ucGwtMzhbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLWxlZnQ6JT8zOD8lIWltcG9ydGFudH0ucHItMzhbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLXJpZ2h0OiU/Mzg/JSFpbXBvcnRhbnR9LnB5LTM4W2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy10b3A6JT8zOD8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzM4PyUhaW1wb3J0YW50fS5wdC0zOFtkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctdG9wOiU/Mzg/JSFpbXBvcnRhbnR9LnBiLTM4W2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy1ib3R0b206JT8zOD8lIWltcG9ydGFudH0uZ3JpZC1nYXAtMzhbZGF0YS12LTc2Y2EzZjQzXXtncmlkLWdhcDolPzM4PyUhaW1wb3J0YW50fS56LWluZGV4LTM4W2RhdGEtdi03NmNhM2Y0M117ei1pbmRleDozOCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS0zOFtkYXRhLXYtNzZjYTNmNDNde2ZvbnQtc2l6ZTolPzM4PyUhaW1wb3J0YW50fS5tLTQwW2RhdGEtdi03NmNhM2Y0M117bWFyZ2luOiU/NDA/JSFpbXBvcnRhbnR9Lm14LTQwW2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLWxlZnQ6JT80MD8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT80MD8lIWltcG9ydGFudH0ubWwtNDBbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tbGVmdDolPzQwPyUhaW1wb3J0YW50fS5tci00MFtkYXRhLXYtNzZjYTNmNDNde21hcmdpbi1yaWdodDolPzQwPyUhaW1wb3J0YW50fS5teS00MFtkYXRhLXYtNzZjYTNmNDNde21hcmdpbi10b3A6JT80MD8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/NDA/JSFpbXBvcnRhbnR9Lm10LTQwW2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLXRvcDolPzQwPyUhaW1wb3J0YW50fS5tYi00MFtkYXRhLXYtNzZjYTNmNDNde21hcmdpbi1ib3R0b206JT80MD8lIWltcG9ydGFudH0ucC00MFtkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmc6JT80MD8lIWltcG9ydGFudH0ucHgtNDBbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLWxlZnQ6JT80MD8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/NDA/JSFpbXBvcnRhbnR9LnBsLTQwW2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy1sZWZ0OiU/NDA/JSFpbXBvcnRhbnR9LnByLTQwW2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy1yaWdodDolPzQwPyUhaW1wb3J0YW50fS5weS00MFtkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctdG9wOiU/NDA/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT80MD8lIWltcG9ydGFudH0ucHQtNDBbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLXRvcDolPzQwPyUhaW1wb3J0YW50fS5wYi00MFtkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctYm90dG9tOiU/NDA/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTQwW2RhdGEtdi03NmNhM2Y0M117Z3JpZC1nYXA6JT80MD8lIWltcG9ydGFudH0uei1pbmRleC00MFtkYXRhLXYtNzZjYTNmNDNde3otaW5kZXg6NDAhaW1wb3J0YW50fS5mb250LXNpemUtNDBbZGF0YS12LTc2Y2EzZjQzXXtmb250LXNpemU6JT80MD8lIWltcG9ydGFudH0ubS00MltkYXRhLXYtNzZjYTNmNDNde21hcmdpbjolPzQyPyUhaW1wb3J0YW50fS5teC00MltkYXRhLXYtNzZjYTNmNDNde21hcmdpbi1sZWZ0OiU/NDI/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/NDI/JSFpbXBvcnRhbnR9Lm1sLTQyW2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLWxlZnQ6JT80Mj8lIWltcG9ydGFudH0ubXItNDJbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tcmlnaHQ6JT80Mj8lIWltcG9ydGFudH0ubXktNDJbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tdG9wOiU/NDI/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzQyPyUhaW1wb3J0YW50fS5tdC00MltkYXRhLXYtNzZjYTNmNDNde21hcmdpbi10b3A6JT80Mj8lIWltcG9ydGFudH0ubWItNDJbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tYm90dG9tOiU/NDI/JSFpbXBvcnRhbnR9LnAtNDJbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nOiU/NDI/JSFpbXBvcnRhbnR9LnB4LTQyW2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy1sZWZ0OiU/NDI/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzQyPyUhaW1wb3J0YW50fS5wbC00MltkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctbGVmdDolPzQyPyUhaW1wb3J0YW50fS5wci00MltkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctcmlnaHQ6JT80Mj8lIWltcG9ydGFudH0ucHktNDJbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLXRvcDolPzQyPyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NDI/JSFpbXBvcnRhbnR9LnB0LTQyW2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy10b3A6JT80Mj8lIWltcG9ydGFudH0ucGItNDJbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLWJvdHRvbTolPzQyPyUhaW1wb3J0YW50fS5ncmlkLWdhcC00MltkYXRhLXYtNzZjYTNmNDNde2dyaWQtZ2FwOiU/NDI/JSFpbXBvcnRhbnR9LnotaW5kZXgtNDJbZGF0YS12LTc2Y2EzZjQzXXt6LWluZGV4OjQyIWltcG9ydGFudH0uZm9udC1zaXplLTQyW2RhdGEtdi03NmNhM2Y0M117Zm9udC1zaXplOiU/NDI/JSFpbXBvcnRhbnR9Lm0tNDRbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW46JT80ND8lIWltcG9ydGFudH0ubXgtNDRbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tbGVmdDolPzQ0PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzQ0PyUhaW1wb3J0YW50fS5tbC00NFtkYXRhLXYtNzZjYTNmNDNde21hcmdpbi1sZWZ0OiU/NDQ/JSFpbXBvcnRhbnR9Lm1yLTQ0W2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLXJpZ2h0OiU/NDQ/JSFpbXBvcnRhbnR9Lm15LTQ0W2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLXRvcDolPzQ0PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT80ND8lIWltcG9ydGFudH0ubXQtNDRbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tdG9wOiU/NDQ/JSFpbXBvcnRhbnR9Lm1iLTQ0W2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLWJvdHRvbTolPzQ0PyUhaW1wb3J0YW50fS5wLTQ0W2RhdGEtdi03NmNhM2Y0M117cGFkZGluZzolPzQ0PyUhaW1wb3J0YW50fS5weC00NFtkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctbGVmdDolPzQ0PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT80ND8lIWltcG9ydGFudH0ucGwtNDRbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLWxlZnQ6JT80ND8lIWltcG9ydGFudH0ucHItNDRbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLXJpZ2h0OiU/NDQ/JSFpbXBvcnRhbnR9LnB5LTQ0W2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy10b3A6JT80ND8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzQ0PyUhaW1wb3J0YW50fS5wdC00NFtkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctdG9wOiU/NDQ/JSFpbXBvcnRhbnR9LnBiLTQ0W2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy1ib3R0b206JT80ND8lIWltcG9ydGFudH0uZ3JpZC1nYXAtNDRbZGF0YS12LTc2Y2EzZjQzXXtncmlkLWdhcDolPzQ0PyUhaW1wb3J0YW50fS56LWluZGV4LTQ0W2RhdGEtdi03NmNhM2Y0M117ei1pbmRleDo0NCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS00NFtkYXRhLXYtNzZjYTNmNDNde2ZvbnQtc2l6ZTolPzQ0PyUhaW1wb3J0YW50fS5tLTQ2W2RhdGEtdi03NmNhM2Y0M117bWFyZ2luOiU/NDY/JSFpbXBvcnRhbnR9Lm14LTQ2W2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLWxlZnQ6JT80Nj8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT80Nj8lIWltcG9ydGFudH0ubWwtNDZbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tbGVmdDolPzQ2PyUhaW1wb3J0YW50fS5tci00NltkYXRhLXYtNzZjYTNmNDNde21hcmdpbi1yaWdodDolPzQ2PyUhaW1wb3J0YW50fS5teS00NltkYXRhLXYtNzZjYTNmNDNde21hcmdpbi10b3A6JT80Nj8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/NDY/JSFpbXBvcnRhbnR9Lm10LTQ2W2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLXRvcDolPzQ2PyUhaW1wb3J0YW50fS5tYi00NltkYXRhLXYtNzZjYTNmNDNde21hcmdpbi1ib3R0b206JT80Nj8lIWltcG9ydGFudH0ucC00NltkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmc6JT80Nj8lIWltcG9ydGFudH0ucHgtNDZbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLWxlZnQ6JT80Nj8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/NDY/JSFpbXBvcnRhbnR9LnBsLTQ2W2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy1sZWZ0OiU/NDY/JSFpbXBvcnRhbnR9LnByLTQ2W2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy1yaWdodDolPzQ2PyUhaW1wb3J0YW50fS5weS00NltkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctdG9wOiU/NDY/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT80Nj8lIWltcG9ydGFudH0ucHQtNDZbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLXRvcDolPzQ2PyUhaW1wb3J0YW50fS5wYi00NltkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctYm90dG9tOiU/NDY/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTQ2W2RhdGEtdi03NmNhM2Y0M117Z3JpZC1nYXA6JT80Nj8lIWltcG9ydGFudH0uei1pbmRleC00NltkYXRhLXYtNzZjYTNmNDNde3otaW5kZXg6NDYhaW1wb3J0YW50fS5mb250LXNpemUtNDZbZGF0YS12LTc2Y2EzZjQzXXtmb250LXNpemU6JT80Nj8lIWltcG9ydGFudH0ubS00OFtkYXRhLXYtNzZjYTNmNDNde21hcmdpbjolPzQ4PyUhaW1wb3J0YW50fS5teC00OFtkYXRhLXYtNzZjYTNmNDNde21hcmdpbi1sZWZ0OiU/NDg/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/NDg/JSFpbXBvcnRhbnR9Lm1sLTQ4W2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLWxlZnQ6JT80OD8lIWltcG9ydGFudH0ubXItNDhbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tcmlnaHQ6JT80OD8lIWltcG9ydGFudH0ubXktNDhbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tdG9wOiU/NDg/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzQ4PyUhaW1wb3J0YW50fS5tdC00OFtkYXRhLXYtNzZjYTNmNDNde21hcmdpbi10b3A6JT80OD8lIWltcG9ydGFudH0ubWItNDhbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tYm90dG9tOiU/NDg/JSFpbXBvcnRhbnR9LnAtNDhbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nOiU/NDg/JSFpbXBvcnRhbnR9LnB4LTQ4W2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy1sZWZ0OiU/NDg/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzQ4PyUhaW1wb3J0YW50fS5wbC00OFtkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctbGVmdDolPzQ4PyUhaW1wb3J0YW50fS5wci00OFtkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctcmlnaHQ6JT80OD8lIWltcG9ydGFudH0ucHktNDhbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLXRvcDolPzQ4PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NDg/JSFpbXBvcnRhbnR9LnB0LTQ4W2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy10b3A6JT80OD8lIWltcG9ydGFudH0ucGItNDhbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLWJvdHRvbTolPzQ4PyUhaW1wb3J0YW50fS5ncmlkLWdhcC00OFtkYXRhLXYtNzZjYTNmNDNde2dyaWQtZ2FwOiU/NDg/JSFpbXBvcnRhbnR9LnotaW5kZXgtNDhbZGF0YS12LTc2Y2EzZjQzXXt6LWluZGV4OjQ4IWltcG9ydGFudH0uZm9udC1zaXplLTQ4W2RhdGEtdi03NmNhM2Y0M117Zm9udC1zaXplOiU/NDg/JSFpbXBvcnRhbnR9Lm0tNTBbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW46JT81MD8lIWltcG9ydGFudH0ubXgtNTBbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tbGVmdDolPzUwPyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzUwPyUhaW1wb3J0YW50fS5tbC01MFtkYXRhLXYtNzZjYTNmNDNde21hcmdpbi1sZWZ0OiU/NTA/JSFpbXBvcnRhbnR9Lm1yLTUwW2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLXJpZ2h0OiU/NTA/JSFpbXBvcnRhbnR9Lm15LTUwW2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLXRvcDolPzUwPyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT81MD8lIWltcG9ydGFudH0ubXQtNTBbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tdG9wOiU/NTA/JSFpbXBvcnRhbnR9Lm1iLTUwW2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLWJvdHRvbTolPzUwPyUhaW1wb3J0YW50fS5wLTUwW2RhdGEtdi03NmNhM2Y0M117cGFkZGluZzolPzUwPyUhaW1wb3J0YW50fS5weC01MFtkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctbGVmdDolPzUwPyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT81MD8lIWltcG9ydGFudH0ucGwtNTBbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLWxlZnQ6JT81MD8lIWltcG9ydGFudH0ucHItNTBbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLXJpZ2h0OiU/NTA/JSFpbXBvcnRhbnR9LnB5LTUwW2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy10b3A6JT81MD8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzUwPyUhaW1wb3J0YW50fS5wdC01MFtkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctdG9wOiU/NTA/JSFpbXBvcnRhbnR9LnBiLTUwW2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy1ib3R0b206JT81MD8lIWltcG9ydGFudH0uZ3JpZC1nYXAtNTBbZGF0YS12LTc2Y2EzZjQzXXtncmlkLWdhcDolPzUwPyUhaW1wb3J0YW50fS56LWluZGV4LTUwW2RhdGEtdi03NmNhM2Y0M117ei1pbmRleDo1MCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS01MFtkYXRhLXYtNzZjYTNmNDNde2ZvbnQtc2l6ZTolPzUwPyUhaW1wb3J0YW50fS5tLTUyW2RhdGEtdi03NmNhM2Y0M117bWFyZ2luOiU/NTI/JSFpbXBvcnRhbnR9Lm14LTUyW2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLWxlZnQ6JT81Mj8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT81Mj8lIWltcG9ydGFudH0ubWwtNTJbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tbGVmdDolPzUyPyUhaW1wb3J0YW50fS5tci01MltkYXRhLXYtNzZjYTNmNDNde21hcmdpbi1yaWdodDolPzUyPyUhaW1wb3J0YW50fS5teS01MltkYXRhLXYtNzZjYTNmNDNde21hcmdpbi10b3A6JT81Mj8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/NTI/JSFpbXBvcnRhbnR9Lm10LTUyW2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLXRvcDolPzUyPyUhaW1wb3J0YW50fS5tYi01MltkYXRhLXYtNzZjYTNmNDNde21hcmdpbi1ib3R0b206JT81Mj8lIWltcG9ydGFudH0ucC01MltkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmc6JT81Mj8lIWltcG9ydGFudH0ucHgtNTJbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLWxlZnQ6JT81Mj8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/NTI/JSFpbXBvcnRhbnR9LnBsLTUyW2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy1sZWZ0OiU/NTI/JSFpbXBvcnRhbnR9LnByLTUyW2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy1yaWdodDolPzUyPyUhaW1wb3J0YW50fS5weS01MltkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctdG9wOiU/NTI/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT81Mj8lIWltcG9ydGFudH0ucHQtNTJbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLXRvcDolPzUyPyUhaW1wb3J0YW50fS5wYi01MltkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctYm90dG9tOiU/NTI/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTUyW2RhdGEtdi03NmNhM2Y0M117Z3JpZC1nYXA6JT81Mj8lIWltcG9ydGFudH0uei1pbmRleC01MltkYXRhLXYtNzZjYTNmNDNde3otaW5kZXg6NTIhaW1wb3J0YW50fS5mb250LXNpemUtNTJbZGF0YS12LTc2Y2EzZjQzXXtmb250LXNpemU6JT81Mj8lIWltcG9ydGFudH0ubS01NFtkYXRhLXYtNzZjYTNmNDNde21hcmdpbjolPzU0PyUhaW1wb3J0YW50fS5teC01NFtkYXRhLXYtNzZjYTNmNDNde21hcmdpbi1sZWZ0OiU/NTQ/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/NTQ/JSFpbXBvcnRhbnR9Lm1sLTU0W2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLWxlZnQ6JT81ND8lIWltcG9ydGFudH0ubXItNTRbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tcmlnaHQ6JT81ND8lIWltcG9ydGFudH0ubXktNTRbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tdG9wOiU/NTQ/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzU0PyUhaW1wb3J0YW50fS5tdC01NFtkYXRhLXYtNzZjYTNmNDNde21hcmdpbi10b3A6JT81ND8lIWltcG9ydGFudH0ubWItNTRbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tYm90dG9tOiU/NTQ/JSFpbXBvcnRhbnR9LnAtNTRbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nOiU/NTQ/JSFpbXBvcnRhbnR9LnB4LTU0W2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy1sZWZ0OiU/NTQ/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzU0PyUhaW1wb3J0YW50fS5wbC01NFtkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctbGVmdDolPzU0PyUhaW1wb3J0YW50fS5wci01NFtkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctcmlnaHQ6JT81ND8lIWltcG9ydGFudH0ucHktNTRbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLXRvcDolPzU0PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NTQ/JSFpbXBvcnRhbnR9LnB0LTU0W2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy10b3A6JT81ND8lIWltcG9ydGFudH0ucGItNTRbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLWJvdHRvbTolPzU0PyUhaW1wb3J0YW50fS5ncmlkLWdhcC01NFtkYXRhLXYtNzZjYTNmNDNde2dyaWQtZ2FwOiU/NTQ/JSFpbXBvcnRhbnR9LnotaW5kZXgtNTRbZGF0YS12LTc2Y2EzZjQzXXt6LWluZGV4OjU0IWltcG9ydGFudH0uZm9udC1zaXplLTU0W2RhdGEtdi03NmNhM2Y0M117Zm9udC1zaXplOiU/NTQ/JSFpbXBvcnRhbnR9Lm0tNTZbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW46JT81Nj8lIWltcG9ydGFudH0ubXgtNTZbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tbGVmdDolPzU2PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzU2PyUhaW1wb3J0YW50fS5tbC01NltkYXRhLXYtNzZjYTNmNDNde21hcmdpbi1sZWZ0OiU/NTY/JSFpbXBvcnRhbnR9Lm1yLTU2W2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLXJpZ2h0OiU/NTY/JSFpbXBvcnRhbnR9Lm15LTU2W2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLXRvcDolPzU2PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT81Nj8lIWltcG9ydGFudH0ubXQtNTZbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tdG9wOiU/NTY/JSFpbXBvcnRhbnR9Lm1iLTU2W2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLWJvdHRvbTolPzU2PyUhaW1wb3J0YW50fS5wLTU2W2RhdGEtdi03NmNhM2Y0M117cGFkZGluZzolPzU2PyUhaW1wb3J0YW50fS5weC01NltkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctbGVmdDolPzU2PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT81Nj8lIWltcG9ydGFudH0ucGwtNTZbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLWxlZnQ6JT81Nj8lIWltcG9ydGFudH0ucHItNTZbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLXJpZ2h0OiU/NTY/JSFpbXBvcnRhbnR9LnB5LTU2W2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy10b3A6JT81Nj8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzU2PyUhaW1wb3J0YW50fS5wdC01NltkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctdG9wOiU/NTY/JSFpbXBvcnRhbnR9LnBiLTU2W2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy1ib3R0b206JT81Nj8lIWltcG9ydGFudH0uZ3JpZC1nYXAtNTZbZGF0YS12LTc2Y2EzZjQzXXtncmlkLWdhcDolPzU2PyUhaW1wb3J0YW50fS56LWluZGV4LTU2W2RhdGEtdi03NmNhM2Y0M117ei1pbmRleDo1NiFpbXBvcnRhbnR9LmZvbnQtc2l6ZS01NltkYXRhLXYtNzZjYTNmNDNde2ZvbnQtc2l6ZTolPzU2PyUhaW1wb3J0YW50fS5tLTU4W2RhdGEtdi03NmNhM2Y0M117bWFyZ2luOiU/NTg/JSFpbXBvcnRhbnR9Lm14LTU4W2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLWxlZnQ6JT81OD8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT81OD8lIWltcG9ydGFudH0ubWwtNThbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tbGVmdDolPzU4PyUhaW1wb3J0YW50fS5tci01OFtkYXRhLXYtNzZjYTNmNDNde21hcmdpbi1yaWdodDolPzU4PyUhaW1wb3J0YW50fS5teS01OFtkYXRhLXYtNzZjYTNmNDNde21hcmdpbi10b3A6JT81OD8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/NTg/JSFpbXBvcnRhbnR9Lm10LTU4W2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLXRvcDolPzU4PyUhaW1wb3J0YW50fS5tYi01OFtkYXRhLXYtNzZjYTNmNDNde21hcmdpbi1ib3R0b206JT81OD8lIWltcG9ydGFudH0ucC01OFtkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmc6JT81OD8lIWltcG9ydGFudH0ucHgtNThbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLWxlZnQ6JT81OD8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/NTg/JSFpbXBvcnRhbnR9LnBsLTU4W2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy1sZWZ0OiU/NTg/JSFpbXBvcnRhbnR9LnByLTU4W2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy1yaWdodDolPzU4PyUhaW1wb3J0YW50fS5weS01OFtkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctdG9wOiU/NTg/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT81OD8lIWltcG9ydGFudH0ucHQtNThbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLXRvcDolPzU4PyUhaW1wb3J0YW50fS5wYi01OFtkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctYm90dG9tOiU/NTg/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTU4W2RhdGEtdi03NmNhM2Y0M117Z3JpZC1nYXA6JT81OD8lIWltcG9ydGFudH0uei1pbmRleC01OFtkYXRhLXYtNzZjYTNmNDNde3otaW5kZXg6NTghaW1wb3J0YW50fS5mb250LXNpemUtNThbZGF0YS12LTc2Y2EzZjQzXXtmb250LXNpemU6JT81OD8lIWltcG9ydGFudH0ubS02MFtkYXRhLXYtNzZjYTNmNDNde21hcmdpbjolPzYwPyUhaW1wb3J0YW50fS5teC02MFtkYXRhLXYtNzZjYTNmNDNde21hcmdpbi1sZWZ0OiU/NjA/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/NjA/JSFpbXBvcnRhbnR9Lm1sLTYwW2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLWxlZnQ6JT82MD8lIWltcG9ydGFudH0ubXItNjBbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tcmlnaHQ6JT82MD8lIWltcG9ydGFudH0ubXktNjBbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tdG9wOiU/NjA/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzYwPyUhaW1wb3J0YW50fS5tdC02MFtkYXRhLXYtNzZjYTNmNDNde21hcmdpbi10b3A6JT82MD8lIWltcG9ydGFudH0ubWItNjBbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tYm90dG9tOiU/NjA/JSFpbXBvcnRhbnR9LnAtNjBbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nOiU/NjA/JSFpbXBvcnRhbnR9LnB4LTYwW2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy1sZWZ0OiU/NjA/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzYwPyUhaW1wb3J0YW50fS5wbC02MFtkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctbGVmdDolPzYwPyUhaW1wb3J0YW50fS5wci02MFtkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctcmlnaHQ6JT82MD8lIWltcG9ydGFudH0ucHktNjBbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLXRvcDolPzYwPyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NjA/JSFpbXBvcnRhbnR9LnB0LTYwW2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy10b3A6JT82MD8lIWltcG9ydGFudH0ucGItNjBbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLWJvdHRvbTolPzYwPyUhaW1wb3J0YW50fS5ncmlkLWdhcC02MFtkYXRhLXYtNzZjYTNmNDNde2dyaWQtZ2FwOiU/NjA/JSFpbXBvcnRhbnR9LnotaW5kZXgtNjBbZGF0YS12LTc2Y2EzZjQzXXt6LWluZGV4OjYwIWltcG9ydGFudH0uZm9udC1zaXplLTYwW2RhdGEtdi03NmNhM2Y0M117Zm9udC1zaXplOiU/NjA/JSFpbXBvcnRhbnR9Lm0tNjJbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW46JT82Mj8lIWltcG9ydGFudH0ubXgtNjJbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tbGVmdDolPzYyPyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzYyPyUhaW1wb3J0YW50fS5tbC02MltkYXRhLXYtNzZjYTNmNDNde21hcmdpbi1sZWZ0OiU/NjI/JSFpbXBvcnRhbnR9Lm1yLTYyW2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLXJpZ2h0OiU/NjI/JSFpbXBvcnRhbnR9Lm15LTYyW2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLXRvcDolPzYyPyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT82Mj8lIWltcG9ydGFudH0ubXQtNjJbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tdG9wOiU/NjI/JSFpbXBvcnRhbnR9Lm1iLTYyW2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLWJvdHRvbTolPzYyPyUhaW1wb3J0YW50fS5wLTYyW2RhdGEtdi03NmNhM2Y0M117cGFkZGluZzolPzYyPyUhaW1wb3J0YW50fS5weC02MltkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctbGVmdDolPzYyPyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT82Mj8lIWltcG9ydGFudH0ucGwtNjJbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLWxlZnQ6JT82Mj8lIWltcG9ydGFudH0ucHItNjJbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLXJpZ2h0OiU/NjI/JSFpbXBvcnRhbnR9LnB5LTYyW2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy10b3A6JT82Mj8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzYyPyUhaW1wb3J0YW50fS5wdC02MltkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctdG9wOiU/NjI/JSFpbXBvcnRhbnR9LnBiLTYyW2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy1ib3R0b206JT82Mj8lIWltcG9ydGFudH0uZ3JpZC1nYXAtNjJbZGF0YS12LTc2Y2EzZjQzXXtncmlkLWdhcDolPzYyPyUhaW1wb3J0YW50fS56LWluZGV4LTYyW2RhdGEtdi03NmNhM2Y0M117ei1pbmRleDo2MiFpbXBvcnRhbnR9LmZvbnQtc2l6ZS02MltkYXRhLXYtNzZjYTNmNDNde2ZvbnQtc2l6ZTolPzYyPyUhaW1wb3J0YW50fS5tLTY0W2RhdGEtdi03NmNhM2Y0M117bWFyZ2luOiU/NjQ/JSFpbXBvcnRhbnR9Lm14LTY0W2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLWxlZnQ6JT82ND8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT82ND8lIWltcG9ydGFudH0ubWwtNjRbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tbGVmdDolPzY0PyUhaW1wb3J0YW50fS5tci02NFtkYXRhLXYtNzZjYTNmNDNde21hcmdpbi1yaWdodDolPzY0PyUhaW1wb3J0YW50fS5teS02NFtkYXRhLXYtNzZjYTNmNDNde21hcmdpbi10b3A6JT82ND8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/NjQ/JSFpbXBvcnRhbnR9Lm10LTY0W2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLXRvcDolPzY0PyUhaW1wb3J0YW50fS5tYi02NFtkYXRhLXYtNzZjYTNmNDNde21hcmdpbi1ib3R0b206JT82ND8lIWltcG9ydGFudH0ucC02NFtkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmc6JT82ND8lIWltcG9ydGFudH0ucHgtNjRbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLWxlZnQ6JT82ND8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/NjQ/JSFpbXBvcnRhbnR9LnBsLTY0W2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy1sZWZ0OiU/NjQ/JSFpbXBvcnRhbnR9LnByLTY0W2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy1yaWdodDolPzY0PyUhaW1wb3J0YW50fS5weS02NFtkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctdG9wOiU/NjQ/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT82ND8lIWltcG9ydGFudH0ucHQtNjRbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLXRvcDolPzY0PyUhaW1wb3J0YW50fS5wYi02NFtkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctYm90dG9tOiU/NjQ/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTY0W2RhdGEtdi03NmNhM2Y0M117Z3JpZC1nYXA6JT82ND8lIWltcG9ydGFudH0uei1pbmRleC02NFtkYXRhLXYtNzZjYTNmNDNde3otaW5kZXg6NjQhaW1wb3J0YW50fS5mb250LXNpemUtNjRbZGF0YS12LTc2Y2EzZjQzXXtmb250LXNpemU6JT82ND8lIWltcG9ydGFudH0ubS02NltkYXRhLXYtNzZjYTNmNDNde21hcmdpbjolPzY2PyUhaW1wb3J0YW50fS5teC02NltkYXRhLXYtNzZjYTNmNDNde21hcmdpbi1sZWZ0OiU/NjY/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/NjY/JSFpbXBvcnRhbnR9Lm1sLTY2W2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLWxlZnQ6JT82Nj8lIWltcG9ydGFudH0ubXItNjZbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tcmlnaHQ6JT82Nj8lIWltcG9ydGFudH0ubXktNjZbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tdG9wOiU/NjY/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzY2PyUhaW1wb3J0YW50fS5tdC02NltkYXRhLXYtNzZjYTNmNDNde21hcmdpbi10b3A6JT82Nj8lIWltcG9ydGFudH0ubWItNjZbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tYm90dG9tOiU/NjY/JSFpbXBvcnRhbnR9LnAtNjZbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nOiU/NjY/JSFpbXBvcnRhbnR9LnB4LTY2W2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy1sZWZ0OiU/NjY/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzY2PyUhaW1wb3J0YW50fS5wbC02NltkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctbGVmdDolPzY2PyUhaW1wb3J0YW50fS5wci02NltkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctcmlnaHQ6JT82Nj8lIWltcG9ydGFudH0ucHktNjZbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLXRvcDolPzY2PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NjY/JSFpbXBvcnRhbnR9LnB0LTY2W2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy10b3A6JT82Nj8lIWltcG9ydGFudH0ucGItNjZbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLWJvdHRvbTolPzY2PyUhaW1wb3J0YW50fS5ncmlkLWdhcC02NltkYXRhLXYtNzZjYTNmNDNde2dyaWQtZ2FwOiU/NjY/JSFpbXBvcnRhbnR9LnotaW5kZXgtNjZbZGF0YS12LTc2Y2EzZjQzXXt6LWluZGV4OjY2IWltcG9ydGFudH0uZm9udC1zaXplLTY2W2RhdGEtdi03NmNhM2Y0M117Zm9udC1zaXplOiU/NjY/JSFpbXBvcnRhbnR9Lm0tNjhbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW46JT82OD8lIWltcG9ydGFudH0ubXgtNjhbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tbGVmdDolPzY4PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzY4PyUhaW1wb3J0YW50fS5tbC02OFtkYXRhLXYtNzZjYTNmNDNde21hcmdpbi1sZWZ0OiU/Njg/JSFpbXBvcnRhbnR9Lm1yLTY4W2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLXJpZ2h0OiU/Njg/JSFpbXBvcnRhbnR9Lm15LTY4W2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLXRvcDolPzY4PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT82OD8lIWltcG9ydGFudH0ubXQtNjhbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tdG9wOiU/Njg/JSFpbXBvcnRhbnR9Lm1iLTY4W2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLWJvdHRvbTolPzY4PyUhaW1wb3J0YW50fS5wLTY4W2RhdGEtdi03NmNhM2Y0M117cGFkZGluZzolPzY4PyUhaW1wb3J0YW50fS5weC02OFtkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctbGVmdDolPzY4PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT82OD8lIWltcG9ydGFudH0ucGwtNjhbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLWxlZnQ6JT82OD8lIWltcG9ydGFudH0ucHItNjhbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLXJpZ2h0OiU/Njg/JSFpbXBvcnRhbnR9LnB5LTY4W2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy10b3A6JT82OD8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzY4PyUhaW1wb3J0YW50fS5wdC02OFtkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctdG9wOiU/Njg/JSFpbXBvcnRhbnR9LnBiLTY4W2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy1ib3R0b206JT82OD8lIWltcG9ydGFudH0uZ3JpZC1nYXAtNjhbZGF0YS12LTc2Y2EzZjQzXXtncmlkLWdhcDolPzY4PyUhaW1wb3J0YW50fS56LWluZGV4LTY4W2RhdGEtdi03NmNhM2Y0M117ei1pbmRleDo2OCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS02OFtkYXRhLXYtNzZjYTNmNDNde2ZvbnQtc2l6ZTolPzY4PyUhaW1wb3J0YW50fS5tLTcwW2RhdGEtdi03NmNhM2Y0M117bWFyZ2luOiU/NzA/JSFpbXBvcnRhbnR9Lm14LTcwW2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLWxlZnQ6JT83MD8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT83MD8lIWltcG9ydGFudH0ubWwtNzBbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tbGVmdDolPzcwPyUhaW1wb3J0YW50fS5tci03MFtkYXRhLXYtNzZjYTNmNDNde21hcmdpbi1yaWdodDolPzcwPyUhaW1wb3J0YW50fS5teS03MFtkYXRhLXYtNzZjYTNmNDNde21hcmdpbi10b3A6JT83MD8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/NzA/JSFpbXBvcnRhbnR9Lm10LTcwW2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLXRvcDolPzcwPyUhaW1wb3J0YW50fS5tYi03MFtkYXRhLXYtNzZjYTNmNDNde21hcmdpbi1ib3R0b206JT83MD8lIWltcG9ydGFudH0ucC03MFtkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmc6JT83MD8lIWltcG9ydGFudH0ucHgtNzBbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLWxlZnQ6JT83MD8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/NzA/JSFpbXBvcnRhbnR9LnBsLTcwW2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy1sZWZ0OiU/NzA/JSFpbXBvcnRhbnR9LnByLTcwW2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy1yaWdodDolPzcwPyUhaW1wb3J0YW50fS5weS03MFtkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctdG9wOiU/NzA/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT83MD8lIWltcG9ydGFudH0ucHQtNzBbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLXRvcDolPzcwPyUhaW1wb3J0YW50fS5wYi03MFtkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctYm90dG9tOiU/NzA/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTcwW2RhdGEtdi03NmNhM2Y0M117Z3JpZC1nYXA6JT83MD8lIWltcG9ydGFudH0uei1pbmRleC03MFtkYXRhLXYtNzZjYTNmNDNde3otaW5kZXg6NzAhaW1wb3J0YW50fS5mb250LXNpemUtNzBbZGF0YS12LTc2Y2EzZjQzXXtmb250LXNpemU6JT83MD8lIWltcG9ydGFudH0ubS03MltkYXRhLXYtNzZjYTNmNDNde21hcmdpbjolPzcyPyUhaW1wb3J0YW50fS5teC03MltkYXRhLXYtNzZjYTNmNDNde21hcmdpbi1sZWZ0OiU/NzI/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/NzI/JSFpbXBvcnRhbnR9Lm1sLTcyW2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLWxlZnQ6JT83Mj8lIWltcG9ydGFudH0ubXItNzJbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tcmlnaHQ6JT83Mj8lIWltcG9ydGFudH0ubXktNzJbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tdG9wOiU/NzI/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzcyPyUhaW1wb3J0YW50fS5tdC03MltkYXRhLXYtNzZjYTNmNDNde21hcmdpbi10b3A6JT83Mj8lIWltcG9ydGFudH0ubWItNzJbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tYm90dG9tOiU/NzI/JSFpbXBvcnRhbnR9LnAtNzJbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nOiU/NzI/JSFpbXBvcnRhbnR9LnB4LTcyW2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy1sZWZ0OiU/NzI/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzcyPyUhaW1wb3J0YW50fS5wbC03MltkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctbGVmdDolPzcyPyUhaW1wb3J0YW50fS5wci03MltkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctcmlnaHQ6JT83Mj8lIWltcG9ydGFudH0ucHktNzJbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLXRvcDolPzcyPyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NzI/JSFpbXBvcnRhbnR9LnB0LTcyW2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy10b3A6JT83Mj8lIWltcG9ydGFudH0ucGItNzJbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLWJvdHRvbTolPzcyPyUhaW1wb3J0YW50fS5ncmlkLWdhcC03MltkYXRhLXYtNzZjYTNmNDNde2dyaWQtZ2FwOiU/NzI/JSFpbXBvcnRhbnR9LnotaW5kZXgtNzJbZGF0YS12LTc2Y2EzZjQzXXt6LWluZGV4OjcyIWltcG9ydGFudH0uZm9udC1zaXplLTcyW2RhdGEtdi03NmNhM2Y0M117Zm9udC1zaXplOiU/NzI/JSFpbXBvcnRhbnR9Lm0tNzRbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW46JT83ND8lIWltcG9ydGFudH0ubXgtNzRbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tbGVmdDolPzc0PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzc0PyUhaW1wb3J0YW50fS5tbC03NFtkYXRhLXYtNzZjYTNmNDNde21hcmdpbi1sZWZ0OiU/NzQ/JSFpbXBvcnRhbnR9Lm1yLTc0W2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLXJpZ2h0OiU/NzQ/JSFpbXBvcnRhbnR9Lm15LTc0W2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLXRvcDolPzc0PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT83ND8lIWltcG9ydGFudH0ubXQtNzRbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tdG9wOiU/NzQ/JSFpbXBvcnRhbnR9Lm1iLTc0W2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLWJvdHRvbTolPzc0PyUhaW1wb3J0YW50fS5wLTc0W2RhdGEtdi03NmNhM2Y0M117cGFkZGluZzolPzc0PyUhaW1wb3J0YW50fS5weC03NFtkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctbGVmdDolPzc0PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT83ND8lIWltcG9ydGFudH0ucGwtNzRbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLWxlZnQ6JT83ND8lIWltcG9ydGFudH0ucHItNzRbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLXJpZ2h0OiU/NzQ/JSFpbXBvcnRhbnR9LnB5LTc0W2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy10b3A6JT83ND8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzc0PyUhaW1wb3J0YW50fS5wdC03NFtkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctdG9wOiU/NzQ/JSFpbXBvcnRhbnR9LnBiLTc0W2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy1ib3R0b206JT83ND8lIWltcG9ydGFudH0uZ3JpZC1nYXAtNzRbZGF0YS12LTc2Y2EzZjQzXXtncmlkLWdhcDolPzc0PyUhaW1wb3J0YW50fS56LWluZGV4LTc0W2RhdGEtdi03NmNhM2Y0M117ei1pbmRleDo3NCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS03NFtkYXRhLXYtNzZjYTNmNDNde2ZvbnQtc2l6ZTolPzc0PyUhaW1wb3J0YW50fS5tLTc2W2RhdGEtdi03NmNhM2Y0M117bWFyZ2luOiU/NzY/JSFpbXBvcnRhbnR9Lm14LTc2W2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLWxlZnQ6JT83Nj8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT83Nj8lIWltcG9ydGFudH0ubWwtNzZbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tbGVmdDolPzc2PyUhaW1wb3J0YW50fS5tci03NltkYXRhLXYtNzZjYTNmNDNde21hcmdpbi1yaWdodDolPzc2PyUhaW1wb3J0YW50fS5teS03NltkYXRhLXYtNzZjYTNmNDNde21hcmdpbi10b3A6JT83Nj8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/NzY/JSFpbXBvcnRhbnR9Lm10LTc2W2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLXRvcDolPzc2PyUhaW1wb3J0YW50fS5tYi03NltkYXRhLXYtNzZjYTNmNDNde21hcmdpbi1ib3R0b206JT83Nj8lIWltcG9ydGFudH0ucC03NltkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmc6JT83Nj8lIWltcG9ydGFudH0ucHgtNzZbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLWxlZnQ6JT83Nj8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/NzY/JSFpbXBvcnRhbnR9LnBsLTc2W2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy1sZWZ0OiU/NzY/JSFpbXBvcnRhbnR9LnByLTc2W2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy1yaWdodDolPzc2PyUhaW1wb3J0YW50fS5weS03NltkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctdG9wOiU/NzY/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT83Nj8lIWltcG9ydGFudH0ucHQtNzZbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLXRvcDolPzc2PyUhaW1wb3J0YW50fS5wYi03NltkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctYm90dG9tOiU/NzY/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTc2W2RhdGEtdi03NmNhM2Y0M117Z3JpZC1nYXA6JT83Nj8lIWltcG9ydGFudH0uei1pbmRleC03NltkYXRhLXYtNzZjYTNmNDNde3otaW5kZXg6NzYhaW1wb3J0YW50fS5mb250LXNpemUtNzZbZGF0YS12LTc2Y2EzZjQzXXtmb250LXNpemU6JT83Nj8lIWltcG9ydGFudH0ubS03OFtkYXRhLXYtNzZjYTNmNDNde21hcmdpbjolPzc4PyUhaW1wb3J0YW50fS5teC03OFtkYXRhLXYtNzZjYTNmNDNde21hcmdpbi1sZWZ0OiU/Nzg/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/Nzg/JSFpbXBvcnRhbnR9Lm1sLTc4W2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLWxlZnQ6JT83OD8lIWltcG9ydGFudH0ubXItNzhbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tcmlnaHQ6JT83OD8lIWltcG9ydGFudH0ubXktNzhbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tdG9wOiU/Nzg/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzc4PyUhaW1wb3J0YW50fS5tdC03OFtkYXRhLXYtNzZjYTNmNDNde21hcmdpbi10b3A6JT83OD8lIWltcG9ydGFudH0ubWItNzhbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tYm90dG9tOiU/Nzg/JSFpbXBvcnRhbnR9LnAtNzhbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nOiU/Nzg/JSFpbXBvcnRhbnR9LnB4LTc4W2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy1sZWZ0OiU/Nzg/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzc4PyUhaW1wb3J0YW50fS5wbC03OFtkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctbGVmdDolPzc4PyUhaW1wb3J0YW50fS5wci03OFtkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctcmlnaHQ6JT83OD8lIWltcG9ydGFudH0ucHktNzhbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLXRvcDolPzc4PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/Nzg/JSFpbXBvcnRhbnR9LnB0LTc4W2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy10b3A6JT83OD8lIWltcG9ydGFudH0ucGItNzhbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLWJvdHRvbTolPzc4PyUhaW1wb3J0YW50fS5ncmlkLWdhcC03OFtkYXRhLXYtNzZjYTNmNDNde2dyaWQtZ2FwOiU/Nzg/JSFpbXBvcnRhbnR9LnotaW5kZXgtNzhbZGF0YS12LTc2Y2EzZjQzXXt6LWluZGV4Ojc4IWltcG9ydGFudH0uZm9udC1zaXplLTc4W2RhdGEtdi03NmNhM2Y0M117Zm9udC1zaXplOiU/Nzg/JSFpbXBvcnRhbnR9LmZpbHRlci1ncmF5W2RhdGEtdi03NmNhM2Y0M117LXdlYmtpdC1maWx0ZXI6Z3JheXNjYWxlKDEpO2ZpbHRlcjpncmF5c2NhbGUoMSl9Lm14LWF1dG9bZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tbGVmdDphdXRvO21hcmdpbi1yaWdodDphdXRvfS5kLWJsb2NrW2RhdGEtdi03NmNhM2Y0M117ZGlzcGxheTpibG9ja30uZC1pbmxpbmUtYmxvY2tbZGF0YS12LTc2Y2EzZjQzXXtkaXNwbGF5OmlubGluZS1ibG9ja30udGV4dC1jZW50ZXJbZGF0YS12LTc2Y2EzZjQzXXt0ZXh0LWFsaWduOmNlbnRlcn0udGV4dC1sZWZ0W2RhdGEtdi03NmNhM2Y0M117dGV4dC1hbGlnbjpsZWZ0fS50ZXh0LXJpZ2h0W2RhdGEtdi03NmNhM2Y0M117dGV4dC1hbGlnbjpyaWdodH0uZC1mbGV4W2RhdGEtdi03NmNhM2Y0M117ZGlzcGxheTpmbGV4fS5kLWZsZXgtYmV0d2Vlbi1jZW50ZXJbZGF0YS12LTc2Y2EzZjQzXXtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47YWxpZ24taXRlbXM6Y2VudGVyfS5mbGV4LXdyYXBbZGF0YS12LTc2Y2EzZjQzXXtmbGV4LXdyYXA6d3JhcH0uanVzdGlmeS1jb250ZW50LWJldHdlZW5bZGF0YS12LTc2Y2EzZjQzXXtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0uanVzdGlmeS1jb250ZW50LWFyb3VuZFtkYXRhLXYtNzZjYTNmNDNde2p1c3RpZnktY29udGVudDpzcGFjZS1hcm91bmR9Lmp1c3RpZnktY29udGVudC1jZW50ZXJbZGF0YS12LTc2Y2EzZjQzXXtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5qdXN0aWZ5LWNvbnRlbnQtZW5kW2RhdGEtdi03NmNhM2Y0M117anVzdGlmeS1jb250ZW50OmZsZXgtZW5kfS5hbGlnbi1pdGVtcy1jZW50ZXJbZGF0YS12LTc2Y2EzZjQzXXthbGlnbi1pdGVtczpjZW50ZXJ9LmFsaWduLWl0ZW1zLWJhc2VsaW5lW2RhdGEtdi03NmNhM2Y0M117YWxpZ24taXRlbXM6YmFzZWxpbmV9LmZsZXgtZGlyZWN0aW9uLWNvbHVtbltkYXRhLXYtNzZjYTNmNDNde2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uZm9udC13ZWlnaHQtYm9sZFtkYXRhLXYtNzZjYTNmNDNde2ZvbnQtd2VpZ2h0OjcwMH0ucG9zaXRpb24tZml4ZWRbZGF0YS12LTc2Y2EzZjQzXXtwb3NpdGlvbjpmaXhlZH0ucG9zaXRpb24tcmVsYXRpdmVbZGF0YS12LTc2Y2EzZjQzXXtwb3NpdGlvbjpyZWxhdGl2ZX0ucG9zaXRpb24tYWJzb2x1dGVbZGF0YS12LTc2Y2EzZjQzXXtwb3NpdGlvbjphYnNvbHV0ZX0ub3ZlcmZsb3ctaGlkZGVuW2RhdGEtdi03NmNhM2Y0M117b3ZlcmZsb3c6aGlkZGVufS5saW5lLTFbZGF0YS12LTc2Y2EzZjQzXXtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9LmxpbmUtMltkYXRhLXYtNzZjYTNmNDNde292ZXJmbG93OmhpZGRlbjstd2Via2l0LWxpbmUtY2xhbXA6MjtsaW5lLWNsYW1wOjI7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO2JveC1vcmllbnQ6dmVydGljYWw7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmJveH0ubGluZS0zW2RhdGEtdi03NmNhM2Y0M117b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtbGluZS1jbGFtcDozO2xpbmUtY2xhbXA6Mzstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7Ym94LW9yaWVudDp2ZXJ0aWNhbDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6Ym94fS5saW5lLTRbZGF0YS12LTc2Y2EzZjQzXXtvdmVyZmxvdzpoaWRkZW47LXdlYmtpdC1saW5lLWNsYW1wOjQ7bGluZS1jbGFtcDo0Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDtib3gtb3JpZW50OnZlcnRpY2FsO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpib3h9LmxpbmUtNVtkYXRhLXYtNzZjYTNmNDNde292ZXJmbG93OmhpZGRlbjstd2Via2l0LWxpbmUtY2xhbXA6NTtsaW5lLWNsYW1wOjU7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO2JveC1vcmllbnQ6dmVydGljYWw7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmJveH0udy0xMFtkYXRhLXYtNzZjYTNmNDNde3dpZHRoOjEwJX0uaC0xMFtkYXRhLXYtNzZjYTNmNDNde2hlaWdodDoxMCV9Lm9wYWNpdHktMTBbZGF0YS12LTc2Y2EzZjQzXXtvcGFjaXR5Oi4xfS53LTE3W2RhdGEtdi03NmNhM2Y0M117d2lkdGg6MTclfS5oLTE3W2RhdGEtdi03NmNhM2Y0M117aGVpZ2h0OjE3JX0ub3BhY2l0eS0xN1tkYXRhLXYtNzZjYTNmNDNde29wYWNpdHk6LjE3fS53LTE4W2RhdGEtdi03NmNhM2Y0M117d2lkdGg6MTglfS5oLTE4W2RhdGEtdi03NmNhM2Y0M117aGVpZ2h0OjE4JX0ub3BhY2l0eS0xOFtkYXRhLXYtNzZjYTNmNDNde29wYWNpdHk6LjE4fS53LTE5W2RhdGEtdi03NmNhM2Y0M117d2lkdGg6MTklfS5oLTE5W2RhdGEtdi03NmNhM2Y0M117aGVpZ2h0OjE5JX0ub3BhY2l0eS0xOVtkYXRhLXYtNzZjYTNmNDNde29wYWNpdHk6LjE5fS53LTIwW2RhdGEtdi03NmNhM2Y0M117d2lkdGg6MjAlfS5oLTIwW2RhdGEtdi03NmNhM2Y0M117aGVpZ2h0OjIwJX0ub3BhY2l0eS0yMFtkYXRhLXYtNzZjYTNmNDNde29wYWNpdHk6LjJ9LnctMjVbZGF0YS12LTc2Y2EzZjQzXXt3aWR0aDoyNSV9LmgtMjVbZGF0YS12LTc2Y2EzZjQzXXtoZWlnaHQ6MjUlfS5vcGFjaXR5LTI1W2RhdGEtdi03NmNhM2Y0M117b3BhY2l0eTouMjV9LnctMzBbZGF0YS12LTc2Y2EzZjQzXXt3aWR0aDozMCV9LmgtMzBbZGF0YS12LTc2Y2EzZjQzXXtoZWlnaHQ6MzAlfS5vcGFjaXR5LTMwW2RhdGEtdi03NmNhM2Y0M117b3BhY2l0eTouM30udy0zM1tkYXRhLXYtNzZjYTNmNDNde3dpZHRoOjMzJX0uaC0zM1tkYXRhLXYtNzZjYTNmNDNde2hlaWdodDozMyV9Lm9wYWNpdHktMzNbZGF0YS12LTc2Y2EzZjQzXXtvcGFjaXR5Oi4zM30udy00MFtkYXRhLXYtNzZjYTNmNDNde3dpZHRoOjQwJX0uaC00MFtkYXRhLXYtNzZjYTNmNDNde2hlaWdodDo0MCV9Lm9wYWNpdHktNDBbZGF0YS12LTc2Y2EzZjQzXXtvcGFjaXR5Oi40fS53LTQ0W2RhdGEtdi03NmNhM2Y0M117d2lkdGg6NDQlfS5oLTQ0W2RhdGEtdi03NmNhM2Y0M117aGVpZ2h0OjQ0JX0ub3BhY2l0eS00NFtkYXRhLXYtNzZjYTNmNDNde29wYWNpdHk6LjQ0fS53LTQ4W2RhdGEtdi03NmNhM2Y0M117d2lkdGg6NDglfS5oLTQ4W2RhdGEtdi03NmNhM2Y0M117aGVpZ2h0OjQ4JX0ub3BhY2l0eS00OFtkYXRhLXYtNzZjYTNmNDNde29wYWNpdHk6LjQ4fS53LTQ5W2RhdGEtdi03NmNhM2Y0M117d2lkdGg6NDklfS5oLTQ5W2RhdGEtdi03NmNhM2Y0M117aGVpZ2h0OjQ5JX0ub3BhY2l0eS00OVtkYXRhLXYtNzZjYTNmNDNde29wYWNpdHk6LjQ5fS53LTUwW2RhdGEtdi03NmNhM2Y0M117d2lkdGg6NTAlfS5oLTUwW2RhdGEtdi03NmNhM2Y0M117aGVpZ2h0OjUwJX0ub3BhY2l0eS01MFtkYXRhLXYtNzZjYTNmNDNde29wYWNpdHk6LjV9LnctNjBbZGF0YS12LTc2Y2EzZjQzXXt3aWR0aDo2MCV9LmgtNjBbZGF0YS12LTc2Y2EzZjQzXXtoZWlnaHQ6NjAlfS5vcGFjaXR5LTYwW2RhdGEtdi03NmNhM2Y0M117b3BhY2l0eTouNn0udy03MFtkYXRhLXYtNzZjYTNmNDNde3dpZHRoOjcwJX0uaC03MFtkYXRhLXYtNzZjYTNmNDNde2hlaWdodDo3MCV9Lm9wYWNpdHktNzBbZGF0YS12LTc2Y2EzZjQzXXtvcGFjaXR5Oi43fS53LTc1W2RhdGEtdi03NmNhM2Y0M117d2lkdGg6NzUlfS5oLTc1W2RhdGEtdi03NmNhM2Y0M117aGVpZ2h0Ojc1JX0ub3BhY2l0eS03NVtkYXRhLXYtNzZjYTNmNDNde29wYWNpdHk6Ljc1fS53LTgwW2RhdGEtdi03NmNhM2Y0M117d2lkdGg6ODAlfS5oLTgwW2RhdGEtdi03NmNhM2Y0M117aGVpZ2h0OjgwJX0ub3BhY2l0eS04MFtkYXRhLXYtNzZjYTNmNDNde29wYWNpdHk6Ljh9LnctOTBbZGF0YS12LTc2Y2EzZjQzXXt3aWR0aDo5MCV9LmgtOTBbZGF0YS12LTc2Y2EzZjQzXXtoZWlnaHQ6OTAlfS5vcGFjaXR5LTkwW2RhdGEtdi03NmNhM2Y0M117b3BhY2l0eTouOX0udy0xMDBbZGF0YS12LTc2Y2EzZjQzXXt3aWR0aDoxMDAlfS5oLTEwMFtkYXRhLXYtNzZjYTNmNDNde2hlaWdodDoxMDAlfS5vcGFjaXR5LTEwMFtkYXRhLXYtNzZjYTNmNDNde29wYWNpdHk6LjF9LnBiLTUwW2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy1ib3R0b206JT81MD8lfS5tdC01MFtkYXRhLXYtNzZjYTNmNDNde21hcmdpbi10b3A6JT81MD8lfS5wYi02MFtkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctYm90dG9tOiU/NjA/JX0ubXQtNjBbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tdG9wOiU/NjA/JX0ucGItNzBbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLWJvdHRvbTolPzcwPyV9Lm10LTcwW2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLXRvcDolPzcwPyV9LnBiLTgwW2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy1ib3R0b206JT84MD8lfS5tdC04MFtkYXRhLXYtNzZjYTNmNDNde21hcmdpbi10b3A6JT84MD8lfS5wYi05MFtkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctYm90dG9tOiU/OTA/JX0ubXQtOTBbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tdG9wOiU/OTA/JX0ucGItMTAwW2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy1ib3R0b206JT8xMDA/JX0ubXQtMTAwW2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLXRvcDolPzEwMD8lfS5wYi0xMTBbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLWJvdHRvbTolPzExMD8lfS5tdC0xMTBbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tdG9wOiU/MTEwPyV9LnBiLTEyMFtkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctYm90dG9tOiU/MTIwPyV9Lm10LTEyMFtkYXRhLXYtNzZjYTNmNDNde21hcmdpbi10b3A6JT8xMjA/JX0ucGItMTMwW2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy1ib3R0b206JT8xMzA/JX0ubXQtMTMwW2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLXRvcDolPzEzMD8lfS5wYi0xNDBbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLWJvdHRvbTolPzE0MD8lfS5tdC0xNDBbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tdG9wOiU/MTQwPyV9LnBiLTE1MFtkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctYm90dG9tOiU/MTUwPyV9Lm10LTE1MFtkYXRhLXYtNzZjYTNmNDNde21hcmdpbi10b3A6JT8xNTA/JX0ucGItMTYwW2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy1ib3R0b206JT8xNjA/JX0ubXQtMTYwW2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLXRvcDolPzE2MD8lfS5wYi0xNzBbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLWJvdHRvbTolPzE3MD8lfS5tdC0xNzBbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tdG9wOiU/MTcwPyV9LnBiLTE4MFtkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctYm90dG9tOiU/MTgwPyV9Lm10LTE4MFtkYXRhLXYtNzZjYTNmNDNde21hcmdpbi10b3A6JT8xODA/JX0ucGItMTkwW2RhdGEtdi03NmNhM2Y0M117cGFkZGluZy1ib3R0b206JT8xOTA/JX0ubXQtMTkwW2RhdGEtdi03NmNhM2Y0M117bWFyZ2luLXRvcDolPzE5MD8lfS5wYi0yMDBbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nLWJvdHRvbTolPzIwMD8lfS5tdC0yMDBbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW4tdG9wOiU/MjAwPyV9LmlucHV0W2RhdGEtdi03NmNhM2Y0M117cGFkZGluZzowICU/MzA/JTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjA1KTtib3JkZXItcmFkaXVzOiU/MTI/JTtoZWlnaHQ6JT84OD8lO2xpbmUtaGVpZ2h0OiU/ODg/JTtwb3NpdGlvbjpyZWxhdGl2ZX0uaW5wdXQgLmlucHV0LXBsYWNlaG9sZGVyW2RhdGEtdi03NmNhM2Y0M117b3BhY2l0eTouNDtmb250LXdlaWdodDo0MDAhaW1wb3J0YW50fS5ib3gtc2hhZG93W2RhdGEtdi03NmNhM2Y0M117Ym94LXNoYWRvdzowIDAgMTBweCAwIHJnYmEoMCwwLDAsLjA2KX0uYm9yZGVyW2RhdGEtdi03NmNhM2Y0M117Ym9yZGVyOiU/Mj8lIHNvbGlkICM0ZDRkNGR9LmJvcmRlci10b3BbZGF0YS12LTc2Y2EzZjQzXXtib3JkZXItdG9wOiU/Mj8lIHNvbGlkICM0ZDRkNGR9LmJvcmRlci1ib3R0b21bZGF0YS12LTc2Y2EzZjQzXXtib3JkZXItYm90dG9tOiU/Mj8lIHNvbGlkICM0ZDRkNGR9LmJvcmRlci1ib3R0b20td2hpdGVbZGF0YS12LTc2Y2EzZjQzXXtib3JkZXItYm90dG9tOiU/Mj8lIHNvbGlkICNmM2YzZjN9LmJvcmRlci1yYWRpdXMtMTBbZGF0YS12LTc2Y2EzZjQzXXtib3JkZXItcmFkaXVzOiU/MTA/JSFpbXBvcnRhbnR9LmJvcmRlci1yYWRpdXMtMjBbZGF0YS12LTc2Y2EzZjQzXSwgLmRlcG9zaXRbZGF0YS12LTc2Y2EzZjQzXXtib3JkZXItcmFkaXVzOiU/MjA/JSFpbXBvcnRhbnR9LmJvcmRlci1yYWRpdXMtNTBwZXJbZGF0YS12LTc2Y2EzZjQzXXtib3JkZXItcmFkaXVzOjUwJSFpbXBvcnRhbnR9LnVuaS1pbnB1dC1wbGFjZWhvbGRlcltkYXRhLXYtNzZjYTNmNDNde2NvbG9yOmhzbGEoMCwwJSw5OS42JSwuNSl9LmtlZnVbZGF0YS12LTc2Y2EzZjQzXXtwb3NpdGlvbjpmaXhlZDtyaWdodDolPzUwPyU7Ym90dG9tOjE2LjV2aDt6LWluZGV4OjEwO2JvcmRlci1yYWRpdXM6NTAlO2JveC1zaGFkb3c6MCAwIDE1cHggMCByZ2JhKDAsMCwwLC4xKTtiYWNrZ3JvdW5kLWNvbG9yOiMzMzM7d2lkdGg6JT83MD8lO2hlaWdodDolPzcwPyU7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5sb2dpbi1pbnB1dC1ncm91cFtkYXRhLXYtNzZjYTNmNDNde2JvcmRlci1ib3R0b206JT8yPyUgc29saWQgaHNsYSgwLDAlLDEwMCUsLjIpO21hcmdpbi10b3A6JT81MD8lO3Bvc2l0aW9uOnJlbGF0aXZlfS5sb2dpbi1pbnB1dC1ncm91cCAubG9naW4taW5wdXRbZGF0YS12LTc2Y2EzZjQzXXtoZWlnaHQ6JT83MD8lO2xpbmUtaGVpZ2h0OiU/NzA/JTt3aWR0aDoxMDAlfS5sb2dpbi1pbnB1dC1ncm91cCAubGFiZWxbZGF0YS12LTc2Y2EzZjQzXXtvcGFjaXR5Oi43fS5ib3gtc2hhZG93W2RhdGEtdi03NmNhM2Y0M117Ym94LXNoYWRvdzowIDAgMTBweCAwIHJnYmEoMCwwLDAsLjEpfS5zdWJzZWN0aW9uIC5pdGVtW2RhdGEtdi03NmNhM2Y0M117cG9zaXRpb246cmVsYXRpdmU7cGFkZGluZy1ib3R0b206JT8xMD8lfS5zdWJzZWN0aW9uIC5pdGVtW2RhdGEtdi03NmNhM2Y0M106OmFmdGVye2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7Y29udGVudDoiIjtib3R0b206MDtsZWZ0OjUwJTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpO3dpZHRoOiU/MzA/JTtoZWlnaHQ6JT80PyU7YmFja2dyb3VuZC1jb2xvcjojZmZmfS5zdWJzZWN0aW9uIC5pdGVtLmFjdGl2ZVtkYXRhLXYtNzZjYTNmNDNde2NvbG9yOiMyMjc3ZmN9LnN1YnNlY3Rpb24gLml0ZW0uYWN0aXZlW2RhdGEtdi03NmNhM2Y0M106OmFmdGVye2JhY2tncm91bmQtY29sb3I6IzIyNzdmY30uZC1ncmlkW2RhdGEtdi03NmNhM2Y0M117ZGlzcGxheTpncmlkfS5kLWdyaWQtY29sdW1ucy0yW2RhdGEtdi03NmNhM2Y0M117ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMiwxZnIpfS5kLWdyaWQtY29sdW1ucy0zW2RhdGEtdi03NmNhM2Y0M117ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoMywxZnIpfS5kLWdyaWQtY29sdW1ucy00W2RhdGEtdi03NmNhM2Y0M117ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoNCwxZnIpfS5kLWdyaWQtY29sdW1ucy01W2RhdGEtdi03NmNhM2Y0M117ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczpyZXBlYXQoNSwxZnIpfS5hcnRpY2xlW2RhdGEtdi03NmNhM2Y0M117cGFkZGluZzolPzMwPyV9LmFydGljbGUgdW5pLXRleHRbZGF0YS12LTc2Y2EzZjQzXXtkaXNwbGF5OmJsb2NrO21hcmdpbi1ib3R0b206JT8yMD8lfWlmcmFtZVtkYXRhLXYtNzZjYTNmNDNde2xlZnQ6MCFpbXBvcnRhbnQ7cmlnaHQ6MCFpbXBvcnRhbnQ7bWFyZ2luOjAgYXV0bzt0b3A6MCFpbXBvcnRhbnR9LnBvc2l0aW9uLXJlbGF0aXZlLXppbmRleC05OVtkYXRhLXYtNzZjYTNmNDNde3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6OTl9LnN0YXR1c19iYXJbZGF0YS12LTc2Y2EzZjQzXXtoZWlnaHQ6MDt3aWR0aDoxMDAlfS5hZnRlci1ib3JkZXJbZGF0YS12LTc2Y2EzZjQzXXtwb3NpdGlvbjpyZWxhdGl2ZX0uYWZ0ZXItYm9yZGVyW2RhdGEtdi03NmNhM2Y0M106YWZ0ZXJ7cG9zaXRpb246YWJzb2x1dGU7Y29udGVudDoiIjt0b3A6MDtyaWdodDowO2JvdHRvbTowO3dpZHRoOiU/Mj8lO2JhY2tncm91bmQtY29sb3I6cmdiYSg1MSw1MSw1MSwuMSl9LmxvZ2luLWxvZ29bZGF0YS12LTc2Y2EzZjQzXXt0ZXh0LWFsaWduOmNlbnRlcjtwYWRkaW5nLXRvcDo0LjV2aH0ubG9naW4tbG9nbyB1bmktaW1hZ2VbZGF0YS12LTc2Y2EzZjQzXXt3aWR0aDoxN3ZoO2hlaWdodDoxN3ZoO2Rpc3BsYXk6YmxvY2s7Ym9yZGVyLXJhZGl1czolPzI0PyU7Ym94LXNoYWRvdzowIDAgJT8xMD8lIDAgcmdiYSgwLDAsMCwuMDUpO21hcmdpbjowIGF1dG99LnRhZy1wcmltYXJ5W2RhdGEtdi03NmNhM2Y0M117YmFja2dyb3VuZC1jb2xvcjojMjI3N2ZjO2NvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czolPzY/JTtmb250LXNpemU6JT8yMD8lO3BhZGRpbmc6JT80PyUgJT8xMD8lO2JvcmRlcjolPzI/JSBzb2xpZCAjMjI3N2ZjO2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXI6bm9uZTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgtMjI1ZGVnLCMyY2Q4ZDUsIzZiOGRkNiA0OCUsIzhlMzdkNyl9LnRhZy1lcnJvcltkYXRhLXYtNzZjYTNmNDNdLCAudGFnLXBsYWluLWVycm9yW2RhdGEtdi03NmNhM2Y0M117YmFja2dyb3VuZC1jb2xvcjojZjA0YTVhO2NvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czolPzY/JTtmb250LXNpemU6JT8yMD8lO3BhZGRpbmc6JT80PyUgJT8xMD8lO2JvcmRlcjolPzI/JSBzb2xpZCAjZjA0YTVhO2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXI6bm9uZTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgyNzBkZWcsI2ZmMDg0NCAwLCNmZmIxOTkpfS50YWctc2Vjb25kYXJ5W2RhdGEtdi03NmNhM2Y0M117YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDUxLDUxLDUxLC4wNik7Y29sb3I6I2ZmZjtib3JkZXItcmFkaXVzOiU/Nj8lO2ZvbnQtc2l6ZTolPzIwPyU7cGFkZGluZzolPzQ/JSAlPzEwPyU7Ym9yZGVyOiU/Mj8lIHNvbGlkIHJnYmEoNTEsNTEsNTEsLjA2KTtib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyOm5vbmU7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoNDVkZWcsIzkzYTVjZiwjZTRlZmU5KX0udGFnLXdhcm5pbmdbZGF0YS12LTc2Y2EzZjQzXXtiYWNrZ3JvdW5kLWNvbG9yOiNkNGJhODM7Y29sb3I6I2ZmZjtib3JkZXItcmFkaXVzOiU/Nj8lO2ZvbnQtc2l6ZTolPzIwPyU7cGFkZGluZzolPzQ/JSAlPzEwPyU7Ym9yZGVyOiU/Mj8lIHNvbGlkICNkNGJhODM7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlcjpub25lO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDFkZWcsI2ZmY2M4ZiwjZmZlZGQ4KX0udGFnLXN1Y2Nlc3NbZGF0YS12LTc2Y2EzZjQzXSwgLnRhZy1wbGFpbi1zdWNjZXNzW2RhdGEtdi03NmNhM2Y0M117YmFja2dyb3VuZC1jb2xvcjojMjhiYTk4O2NvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czolPzY/JTtmb250LXNpemU6JT8yMD8lO3BhZGRpbmc6JT80PyUgJT8xMD8lO2JvcmRlcjolPzI/JSBzb2xpZCAjMjhiYTk4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXI6bm9uZTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgxMjBkZWcsIzg0ZmFiMCwjOGZkM2Y0KX0udGFnLXBsYWluLXN1Y2Nlc3NbZGF0YS12LTc2Y2EzZjQzXXtiYWNrZ3JvdW5kOm5vbmU7Y29sb3I6IzI4YmE5ODtib3JkZXI6JT8yPyUgc29saWQgIzI4YmE5OH0udGFnLXBsYWluLWVycm9yW2RhdGEtdi03NmNhM2Y0M117YmFja2dyb3VuZDpub25lO2NvbG9yOiNmMDRhNWE7Ym9yZGVyOiU/Mj8lIHNvbGlkICNmMDRhNWF9LmFsZXJ0W2RhdGEtdi03NmNhM2Y0M117Zm9udC1zaXplOiU/MjQ/JTtib3JkZXItcmFkaXVzOiU/MjA/JTtwYWRkaW5nOiU/MjA/JTtib3JkZXItcmFkaXVzOjVweH0uaW5wdXQtaXRlbVtkYXRhLXYtNzZjYTNmNDNde3Bvc2l0aW9uOnJlbGF0aXZlfS5pbnB1dC1pdGVtIC5pbnB1dFtkYXRhLXYtNzZjYTNmNDNde21hcmdpbi10b3A6JT8yMD8lfS5pbnB1dC1pdGVtIC5leWVbZGF0YS12LTc2Y2EzZjQzXXtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDolPzMwPyU7dG9wOjU2JX0uaW5wdXQtaXRlbSAuZ2V0LWNvZGVbZGF0YS12LTc2Y2EzZjQzXXtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDolPzMwPyU7dG9wOiU/Nzg/JTtoZWlnaHQ6JT81MD8lO2xpbmUtaGVpZ2h0OiU/NTA/JTtwYWRkaW5nOjAgJT8yMD8lO2JhY2tncm91bmQtY29sb3I6I2YwNGE1YTtib3JkZXItcmFkaXVzOiU/MTA/JTtjb2xvcjojZmZmfS5pbnB1dC1pdGVtIC5nZXQtY29kZS5zZW5kW2RhdGEtdi03NmNhM2Y0M117YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDUxLDUxLDUxLC4wNil9LnVwbG9hZC13cmFwW2RhdGEtdi03NmNhM2Y0M117YmFja2dyb3VuZDojNGQ0ZDRkO3dpZHRoOiU/MjQwPyU7aGVpZ2h0OiU/MjQwPyU7Ym9yZGVyLXJhZGl1czolPzEwPyU7ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3RleHQtYWxpZ246Y2VudGVyO21hcmdpbjowIGF1dG87Ym9yZGVyOiU/Mj8lIHNvbGlkIHJnYmEoNTEsNTEsNTEsLjA2KTtvdmVyZmxvdzpoaWRkZW59LnJpZ2h0LWVudGVyW2RhdGEtdi03NmNhM2Y0M117LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMTAwJSwwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgxMDAlLDAsMCl9LnJpZ2h0LWxlYXZlLXRvW2RhdGEtdi03NmNhM2Y0M10sIC5yaWdodC1sZWF2ZVtkYXRhLXYtNzZjYTNmNDNde2Rpc3BsYXk6bm9uZX0ucmlnaHQtZW50ZXItdG9bZGF0YS12LTc2Y2EzZjQzXXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfS5yaWdodC1lbnRlci1hY3RpdmVbZGF0YS12LTc2Y2EzZjQzXSxcclxuLnJpZ2h0LWxlYXZlLWFjdGl2ZVtkYXRhLXYtNzZjYTNmNDNde3RyYW5zaXRpb246YWxsIC4zc30uZGVwb3NpdFtkYXRhLXYtNzZjYTNmNDNde2NvbG9yOiMzMzM7cGFkZGluZzowICU/Mjg/JTtwYWRkaW5nLXRvcDolPzM4PyU7cG9zaXRpb246cmVsYXRpdmV9LmRlcG9zaXQgLmVhcm5pbmdzLXdyYXBbZGF0YS12LTc2Y2EzZjQzXXttYXJnaW46MCAlPy0yOD8lO21hcmdpbi10b3A6JT8zMD8lfS5kZXBvc2l0IC5lYXJuaW5ncy13cmFwIC5lYXJuaW5nc1tkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmc6JT8zMD8lICU/Mjg/JSAlPzI4PyUgJT8yOD8lO2JhY2tncm91bmQtY29sb3I6aHNsYSgwLDAlLDEwMCUsLjEpfS50cmFuc2l0aW9uW2RhdGEtdi03NmNhM2Y0M117dHJhbnNpdGlvbjphbGwgLjNzIGVhc2UgMHN9LndoaXRlLWNpcmNsZVtkYXRhLXYtNzZjYTNmNDNde3dpZHRoOiU/ODA/JTtoZWlnaHQ6JT84MD8lO2JvcmRlci1yYWRpdXM6NTAlO2JhY2tncm91bmQtY29sb3I6I2ZmZjtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9LmZsZXgtMVtkYXRhLXYtNzZjYTNmNDNde2ZsZXg6MX0ubG9naW4taGVhZC1iZ1tkYXRhLXYtNzZjYTNmNDNde3Bvc2l0aW9uOmZpeGVkO3dpZHRoOjEwMHZ3O2hlaWdodDo1NC40dnc7dG9wOjA7bGVmdDowO3JpZ2h0OjB9LmxpbmVhci1ncmFkaWVudC10ZXh0W2RhdGEtdi03NmNhM2Y0M117YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoM2RlZywjZmZjYzhmLCNmZmVkZDgpOy13ZWJraXQtYmFja2dyb3VuZC1jbGlwOnRleHQ7Y29sb3I6dHJhbnNwYXJlbnR9LmxpbmVhci1ncmFkaWVudC1idXR0b25bZGF0YS12LTc2Y2EzZjQzXSwgLmRlcG9zaXRbZGF0YS12LTc2Y2EzZjQzXXtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxZGVnLCNmZmNjOGYsI2ZmZWRkOCl9LndyYXBwZXItYmdbZGF0YS12LTc2Y2EzZjQzXXtwb3NpdGlvbjpyZWxhdGl2ZX0ud3JhcHBlci1iZ1tkYXRhLXYtNzZjYTNmNDNdOjphZnRlcntjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtyaWdodDowO3RvcDowO2JvdHRvbTowO2JhY2tncm91bmQtaW1hZ2U6dXJsKCcrcysiKTtiYWNrZ3JvdW5kLXNpemU6Y29udGFpbjtiYWNrZ3JvdW5kLXBvc2l0aW9uOjEwMCUgdG9wO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdH0uaG9tZVtkYXRhLXYtNzZjYTNmNDNde292ZXJmbG93OmhpZGRlbjtwYWRkaW5nLXRvcDowO3Bvc2l0aW9uOnJlbGF0aXZlO2JhY2tncm91bmQtaW1hZ2U6dXJsKCIrbCsnKTtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7YmFja2dyb3VuZC1zaXplOjEwMCUgJT81MzA/JTtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgMDtwYWRkaW5nLWJvdHRvbTolPzE4MD8lfS5ob21lLW5hdltkYXRhLXYtNzZjYTNmNDNde2JvcmRlci1yYWRpdXM6JT8yMD8lO2JveC1zaGFkb3c6MCAwIDIwcHggMCByZ2JhKDAsMCwwLC4xKTtvdmVyZmxvdzpoaWRkZW59LmhvbWUtdGl0bGUtaXRlbVtkYXRhLXYtNzZjYTNmNDNde2ZvbnQtc2l6ZToxNnB4O21hcmdpbi1yaWdodDolPzQwPyV9LmhvbWUtdGl0bGUtaXRlbVtkYXRhLXYtNzZjYTNmNDNdOjphZnRlcntkaXNwbGF5OmJsb2NrO2NvbnRlbnQ6IiI7d2lkdGg6NTAlO2JhY2tncm91bmQtY29sb3I6I2ZmZjtoZWlnaHQ6JT82PyU7Ym9yZGVyLXJhZGl1czolPzEwPyU7bWFyZ2luOjAgYXV0bzttYXJnaW4tdG9wOiU/OD8lO292ZXJmbG93OmhpZGRlbjt0cmFuc2l0aW9uOmFsbCAuM3MgZWFzZSAwc30uaG9tZS10aXRsZS1pdGVtLmFjdGl2ZVtkYXRhLXYtNzZjYTNmNDNdOjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOiNkNGJhODN9LmxpbmVhci1ncmFkaWVudC1ncmVlbltkYXRhLXYtNzZjYTNmNDNdLCAuaGlnaC1xdWFsaXR5LXByb2plY3QgLmhpZ2gtcXVhbGl0eS1wcm9qZWN0LWl0ZW0gLmhpZ2UtcXVhbGl0eS1wcm9qZWN0LXNza2NbZGF0YS12LTc2Y2EzZjQzXXtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCg5MGRlZywjMDBkNzg5LCMwMGUxY2MpfS5oaWdoLXF1YWxpdHktcHJvamVjdCAuaGlnaC1xdWFsaXR5LXByb2plY3QtaXRlbVtkYXRhLXYtNzZjYTNmNDNde2JvcmRlci1yYWRpdXM6JT8yMD8lO3dpZHRoOjk2JTt0ZXh0LWFsaWduOmNlbnRlcjtwYWRkaW5nLXRvcDolPzQwPyU7aGVpZ2h0OiU/MzkwPyU7YmFja2dyb3VuZC1jb2xvcjojNGQ0ZDRkO2NvbG9yOiNmZmZ9LmhpZ2gtcXVhbGl0eS1wcm9qZWN0IC5oaWdoLXF1YWxpdHktcHJvamVjdC1pdGVtIC5oaWdlLXF1YWxpdHktcHJvamVjdC1zc2tjW2RhdGEtdi03NmNhM2Y0M117Zm9udC1zaXplOiU/MjQ/JTtjb2xvcjojZmZmO2hlaWdodDolPzQwPyU7bGluZS1oZWlnaHQ6JT80MD8lO3BhZGRpbmc6MCAlPzE4PyU7Ym9yZGVyLXJhZGl1czolPzEwPyUgMCAlPzEwPyUgMDtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MH0uc3dpcGVyLWNvbnRhaW5lcltkYXRhLXYtNzZjYTNmNDNde292ZXJmbG93OnZpc2libGV9LnN3aXBlci13cmFwcGVyW2RhdGEtdi03NmNhM2Y0M117XHJcbiAgLyog6YCa6L+H5pS55Y+YYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbiDliLbkvZzlvLnmgKfliIfmjaLmlYjmnpwgKi90cmFuc2l0aW9uOi4ycyBjdWJpYy1iZXppZXIoLjY4LC0uMiwuMjcsMS4zNCkgLjA1c30uZ3VwaWFvLWl0ZW1bZGF0YS12LTc2Y2EzZjQzXXtiYWNrZ3JvdW5kLWNvbG9yOiM5NWUyZDA7Ym9yZGVyLXJhZGl1czolPzg/JTtvdmVyZmxvdzpoaWRkZW47d2lkdGg6JT8yMTQ/JTtwYWRkaW5nOiU/MjQ/JSAwICU/MjA/JTt0ZXh0LWFsaWduOmNlbnRlcn0uZ3VwaWFvLWl0ZW0gLmNvZGVbZGF0YS12LTc2Y2EzZjQzXXtmb250LXNpemU6MTBweDtjb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6JT80PyU7YmFja2dyb3VuZC1jb2xvcjojODBhZWZiO21hcmdpbi1yaWdodDolPzc/JTtwYWRkaW5nOjAgJT80PyV9Lmd1cGlhby1pdGVtLnVwW2RhdGEtdi03NmNhM2Y0M117YmFja2dyb3VuZC1jb2xvcjojOTVlMmQwfS5ndXBpYW8taXRlbS51cCAuY29sb3JbZGF0YS12LTc2Y2EzZjQzXXtjb2xvcjojMjhiYTk4fS5ndXBpYW8taXRlbS5kb3duW2RhdGEtdi03NmNhM2Y0M117YmFja2dyb3VuZC1jb2xvcjojZmJlN2VifS5ndXBpYW8taXRlbS5kb3duIC5jb2xvcltkYXRhLXYtNzZjYTNmNDNde2NvbG9yOiNmMDRhNWF9Lmd1cGlhby1zd2lwZXItZG90c1tkYXRhLXYtNzZjYTNmNDNde21hcmdpbi10b3A6NXB4O2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5ndXBpYW8tc3dpcGVyLWRvdHMgLmd1cGlhby1zd2lwZXItZG90W2RhdGEtdi03NmNhM2Y0M117d2lkdGg6JT8zNj8lO2hlaWdodDolPzEwPyU7YmFja2dyb3VuZC1jb2xvcjojZmE0NjU0O29wYWNpdHk6LjU7Ym9yZGVyLXJhZGl1czo1cHg7bWFyZ2luLXJpZ2h0OiU/ND8lfS5ndXBpYW8tc3dpcGVyLWRvdHMgLmd1cGlhby1zd2lwZXItZG90LmFjdGl2ZVtkYXRhLXYtNzZjYTNmNDNde29wYWNpdHk6MX0ubWFya2V0IC5tYXJrZXQtaXRlbVtkYXRhLXYtNzZjYTNmNDNde292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOiU/MzI/JSAwO2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjA1KTthbGlnbi1pdGVtczpjZW50ZXI7ZGlzcGxheTpncmlkO2dyaWQtdGVtcGxhdGUtY29sdW1uczoxLjJmciAxLjJmciAuOGZyfS5tYXJrZXQgLm1hcmtldC1pdGVtIC5sZWZ0W2RhdGEtdi03NmNhM2Y0M117b3ZlcmZsb3c6aGlkZGVufS5tYXJrZXQgLm1hcmtldC1pdGVtIC5jZW50ZXJbZGF0YS12LTc2Y2EzZjQzXXtmbGV4OjE7dGV4dC1hbGlnbjpjZW50ZXJ9Lm1hcmtldCAubWFya2V0LWl0ZW0gLnJpZ2h0W2RhdGEtdi03NmNhM2Y0M117d2lkdGg6MTAwJTtoZWlnaHQ6JT81MD8lO2xpbmUtaGVpZ2h0OiU/NTA/JTt0ZXh0LWFsaWduOmNlbnRlcjtib3JkZXItcmFkaXVzOiU/MTA/JTtiYWNrZ3JvdW5kLWNvbG9yOiMxNWJlOTc7Y29sb3I6I2ZmZn0uanNoZCAuanNoZC1idG5bZGF0YS12LTc2Y2EzZjQzXXtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7aGVpZ2h0OiU/NTY/JTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCg5MGRlZyxyZ2JhKDIzNywyNDEsMjUwLDApLCNlZGYxZmEpO2JvcmRlci1yYWRpdXM6JT8yNy41PyU7cGFkZGluZy1yaWdodDolPzI0PyU7bWFyZ2luLXJpZ2h0OiU/MzA/JX0uanNoZCAuanNoZC1idG4gLm51bVtkYXRhLXYtNzZjYTNmNDNde2JhY2tncm91bmQtaW1hZ2U6dXJsKCcrbSsnKTtiYWNrZ3JvdW5kLXNpemU6Y292ZXI7d2lkdGg6JT8zOD8lO2hlaWdodDolPzM4PyU7Ym9yZGVyLXJhZGl1czo1MCU7Y29sb3I6I2ZmZjt0ZXh0LWFsaWduOmNlbnRlcjtsaW5lLWhlaWdodDolPzM4PyU7Zm9udC1zaXplOiU/Mjg/JX0uanNoZCAuanNoZC1idG4gLnRleHRbZGF0YS12LTc2Y2EzZjQzXXtmb250LXNpemU6JT8yOD8lO21hcmdpbi1sZWZ0OiU/MTY/JX0uanNoZCAuanNoZC10YWJsZSB1bmktaW1hZ2VbZGF0YS12LTc2Y2EzZjQzXSxcclxuLmpzaGQgLmpzaGQtdGFibGUgaW1nW2RhdGEtdi03NmNhM2Y0M117d2lkdGg6JT81MD8lO2hlaWdodDolPzUwPyV9LmpzaGQgLmpzaGQtdGFibGUgLmpzaGQtdGFibGUtdGRbZGF0YS12LTc2Y2EzZjQzXXtwYWRkaW5nOiU/MTQ/JSAwfS53LTI2W2RhdGEtdi03NmNhM2Y0M117d2lkdGg6MjYlfS53LTE4XzVbZGF0YS12LTc2Y2EzZjQzXXt3aWR0aDoxOC41JX0ucG9wdXAtbGlzdCAucG9wdXAtbGlzdC1pdGVtW2RhdGEtdi03NmNhM2Y0M117aGVpZ2h0OiU/OTY/JTtsaW5lLWhlaWdodDolPzk2PyU7cGFkZGluZzowICU/MzA/JTtmb250LXNpemU6JT8zMj8lO3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXJ9LnBvcHVwLWxpc3QgLnBvcHVwLWxpc3QtaXRlbVtkYXRhLXYtNzZjYTNmNDNdOmJlZm9yZXtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6JT8zMD8lO3JpZ2h0OiU/MzA/JTtib3R0b206MDtoZWlnaHQ6JT8yPyU7YmFja2dyb3VuZC1jb2xvcjojZWZlZmVmfS5wb3B1cC1saXN0IC5wb3B1cC1saXN0LWl0ZW0uYWN0aXZlW2RhdGEtdi03NmNhM2Y0M117YmFja2dyb3VuZC1jb2xvcjojZjJmNmZmfS5wb3B1cC1saXN0IC5wb3B1cC1saXN0LWl0ZW0uYWN0aXZlW2RhdGEtdi03NmNhM2Y0M106YWZ0ZXJ7Y29udGVudDoiIjt3aWR0aDolPzM2PyU7aGVpZ2h0OiU/MjA/JTtiYWNrZ3JvdW5kLWltYWdlOnVybCgvc3RhdGljL2ltYWdlL2ljb24vc2V0dGluZy1pY29uLTIwLnBuZyk7YmFja2dyb3VuZC1zaXplOmNvdmVyO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OiU/ODA/JTt0b3A6NTAlO21hcmdpbi10b3A6JT8tMTA/JX0ubm90aWNlW2RhdGEtdi03NmNhM2Y0M117YmFja2dyb3VuZDojNGQ0ZDRkO2NvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czoyMHB4fS5ub3RpY2UgLmhlYWRpbmdbZGF0YS12LTc2Y2EzZjQzXXtiYWNrZ3JvdW5kOnVybCgnK2YrIikgNTAlIG5vLXJlcGVhdDtiYWNrZ3JvdW5kLXNpemU6MTU1cHggNjBweDtoZWlnaHQ6NjBweDtsaW5lLWhlaWdodDo2MHB4fS5ub3RpY2UtY2xvc2VbZGF0YS12LTc2Y2EzZjQzXXtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjUwJTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpO2JvdHRvbTotODBweDt0ZXh0LWFsaWduOmNlbnRlcn0udW5pLXNjcm9sbC12aWV3W2RhdGEtdi03NmNhM2Y0M117b3ZlcmZsb3c6aW5oZXJpdCFpbXBvcnRhbnR9LnVwZGF0ZVtkYXRhLXYtNzZjYTNmNDNde3BhZGRpbmctYm90dG9tOiU/MjAwPyV9LnVwZGF0ZSAudXBkYXRlLWJnW2RhdGEtdi03NmNhM2Y0M117aGVpZ2h0OiU/OTY/JTtiYWNrZ3JvdW5kLWltYWdlOnVybCgiK2crIik7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtc2l6ZTpjb3Zlcn0udXBkYXRlIC5idXR0b25zW2RhdGEtdi03NmNhM2Y0M117cG9zaXRpb246YWJzb2x1dGU7bGVmdDolPzQwPyU7cmlnaHQ6JT80MD8lO2JvdHRvbTolPzQ2PyV9LnVwZGF0ZSAuYnV0dG9ucyAuYnRuW2RhdGEtdi03NmNhM2Y0M117d2lkdGg6NDclO2hlaWdodDolPzYwPyU7bGluZS1oZWlnaHQ6JT82MD8lO2ZvbnQtc2l6ZTolPzI2PyU7Ym9yZGVyOiU/Mj8lIHNvbGlkICNlZjMyNGM7bWFyZ2luOjB9LnVwZGF0ZSAuYnV0dG9ucyAuYnRuLmJ0bjJbZGF0YS12LTc2Y2EzZjQzXXtiYWNrZ3JvdW5kLWNvbG9yOiNlZjMyNGM7Y29sb3I6I2ZmZn0uaW5kZXgtZG93bmxvYWRbZGF0YS12LTc2Y2EzZjQzXXtiYWNrZ3JvdW5kLWNvbG9yOiM0ZDRkNGQ7cG9zaXRpb246Zml4ZWQ7bGVmdDowO3JpZ2h0OjA7Ym90dG9tOiU/OTY/JTtwYWRkaW5nOiU/MzA/JTt6LWluZGV4OjEwO2NvbG9yOiNmZmY7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcn0ua2VmdVtkYXRhLXYtNzZjYTNmNDNde2JvdHRvbTolPzI2MD8lfSIsIiJdKSx0LmV4cG9ydHM9YX0sIjlkYTIiOmZ1bmN0aW9uKHQsYSxpKXt2YXIgZT1pKCI0ODFhIik7ZS5fX2VzTW9kdWxlJiYoZT1lLmRlZmF1bHQpLCJzdHJpbmciPT09dHlwZW9mIGUmJihlPVtbdC5pLGUsIiJdXSksZS5sb2NhbHMmJih0LmV4cG9ydHM9ZS5sb2NhbHMpO3ZhciBuPWkoIjk2N2QiKS5kZWZhdWx0O24oIjI0OTczMGQwIixlLCEwLHtzb3VyY2VNYXA6ITEsc2hhZG93TW9kZTohMX0pfSxhNjY4OmZ1bmN0aW9uKHQsYSxpKXsidXNlIHN0cmljdCI7aS5yKGEpO3ZhciBlPWkoIjNhMzgiKSxuPWkubihlKTtmb3IodmFyIHIgaW4gZSlbImRlZmF1bHQiXS5pbmRleE9mKHIpPDAmJmZ1bmN0aW9uKHQpe2kuZChhLHQsKGZ1bmN0aW9uKCl7cmV0dXJuIGVbdF19KSl9KHIpO2FbImRlZmF1bHQiXT1uLmF9LGE4MTI6ZnVuY3Rpb24odCxhLGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgZT1pKCIzMjZjIiksbj1pLm4oZSk7bi5hfSxhODc1OmZ1bmN0aW9uKHQsYSl7dC5leHBvcnRzPSJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQWZRQUFBQmdDQVlBQUFEclZvQnJBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQTNWcFZGaDBXRTFNT21OdmJTNWhaRzlpWlM1NGJYQUFBQUFBQUR3L2VIQmhZMnRsZENCaVpXZHBiajBpNzd1L0lpQnBaRDBpVnpWTk1FMXdRMlZvYVVoNmNtVlRlazVVWTNwcll6bGtJajgrSUR4NE9uaHRjRzFsZEdFZ2VHMXNibk02ZUQwaVlXUnZZbVU2Ym5NNmJXVjBZUzhpSUhnNmVHMXdkR3M5SWtGa2IySmxJRmhOVUNCRGIzSmxJRFV1Tmkxak1UUTRJRGM1TGpFMk5EQXpOaXdnTWpBeE9TOHdPQzh4TXkwd01Ub3dOam8xTnlBZ0lDQWdJQ0FnSWo0Z1BISmtaanBTUkVZZ2VHMXNibk02Y21SbVBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1THpBeUx6SXlMWEprWmkxemVXNTBZWGd0Ym5NaklqNGdQSEprWmpwRVpYTmpjbWx3ZEdsdmJpQnlaR1k2WVdKdmRYUTlJaUlnZUcxc2JuTTZlRzF3VFUwOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOXRiUzhpSUhodGJHNXpPbk4wVW1WbVBTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM2hoY0M4eExqQXZjMVI1Y0dVdlVtVnpiM1Z5WTJWU1pXWWpJaUI0Yld4dWN6cDRiWEE5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmVHRndMekV1TUM4aUlIaHRjRTFOT2s5eWFXZHBibUZzUkc5amRXMWxiblJKUkQwaWVHMXdMbVJwWkRwaFlqZzNOVE00TWkwNE1EZGlMVFF3TWpZdFlqUmhPQzA1Tm1Jell6RXpNRGRsTUdRaUlIaHRjRTFOT2tSdlkzVnRaVzUwU1VROUluaHRjQzVrYVdRNk1VWkRRa1ZHTkVFMk16QTNNVEZGUTBFd1JEaENNVVkxTUVJMVFqTTJRek1pSUhodGNFMU5Pa2x1YzNSaGJtTmxTVVE5SW5odGNDNXBhV1E2TVVaRFFrVkdORGsyTXpBM01URkZRMEV3UkRoQ01VWTFNRUkxUWpNMlF6TWlJSGh0Y0RwRGNtVmhkRzl5Vkc5dmJEMGlRV1J2WW1VZ1VHaHZkRzl6YUc5d0lESXlMalFnS0UxaFkybHVkRzl6YUNraVBpQThlRzF3VFUwNlJHVnlhWFpsWkVaeWIyMGdjM1JTWldZNmFXNXpkR0Z1WTJWSlJEMGllRzF3TG1scFpEcGhZamczTlRNNE1pMDRNRGRpTFRRd01qWXRZalJoT0MwNU5tSXpZekV6TURkbE1HUWlJSE4wVW1WbU9tUnZZM1Z0Wlc1MFNVUTlJbmh0Y0M1a2FXUTZZV0k0TnpVek9ESXRPREEzWWkwME1ESTJMV0kwWVRndE9UWmlNMk14TXpBM1pUQmtJaTgrSUR3dmNtUm1Pa1JsYzJOeWFYQjBhVzl1UGlBOEwzSmtaanBTUkVZK0lEd3ZlRHA0YlhCdFpYUmhQaUE4UDNod1lXTnJaWFFnWlc1a1BTSnlJajgrdmpkV3ZnQUFCdXBKUkVGVWVOcnMzYjl2SkdjZHdPRVoyM2NDbEFJcEtJU2dJTkZRVWRBbEZZS09nRktncEtLaWdqNUZDZ29hSklRZ1NIVDhCWlJRSWpwUWlvZzAvQUZJZ0VnSUowNjV5d2x4WjN0K3ZDLzduZDA5MjJ1Znp6N3YyclB2UEkrMHNkYy85dXhaWnovN3Z2UHVUUDNKMTc1VHJmclVENy8zWFByNC9rL1NoM2UrbS83NTBSZlQvUWQ3ZGR0VlZUNytWYmxhcTN6bEwxakR0K1MxL3doUC9PYVZxL1V6MzJ4ZTg3YlBHN2ovOGxydXEvcThMOHhYL0tIelZiZmZ1clpidnVCMldNUC9NL2tLZCs1VnR2Y1Z0M1c5MXNlRHZNYkhrN3k1eDZKOHp0L0JSVzRyai9reFlwMzN3Y2t2cm0vZ3NYdzlqOGNyTi9xWlQrZjZoZWZiK3VVdjNObjU4c3UvcTE3ODNJOXZ2ZjJELzUzNm0xZ04rdTAzWC90Wjk5NWYza3IvL3MrdFUzODhnaTdvZ2k3b2dpN29nbjY5UVYrOTc3LzBVcnY3elZkL2RldVhQM3I3ektEUFJ1VzMrNy8rL2QzMmozOSs1WWtQSW9JdTZJSXU2SUl1NklKK28wRmYydjMyTjk2dnYvcVZyODlHNjAxYzMxdCs0cnlZQXdEajB2LytUNi9zVnRXN3MzZGZqZXM3OFovYmIzenJIVEVIZ08yTGV2dldUOStKOSt2OVgvL211ZWEzZjNpUVByNi9lOTQzbVhLdlRMay84N1l4NVg3eDM5dVUrOU51d3BUN1pSOHpUTGxmNTJQNWVoNlBMM2VqOVF2UDk3dmZmK096TytudXZaOC9MZVlBd0RqbHUvZDJxenQzZjdHVFB2am9kWnNEQUxaWCt0c0hyKytrRCsrOGFGTUF3QmFQMHYveHI4L3ZwQWYvM2JNcEFHQ0xnMzd2azcyZHFtbHRDUURZWnJPVzc5Z0tBTEQ5QkIwQUJCMEFFSFFBUU5BQkFFRUhBRUVIQUFRZEFCQjBBRURRQVVEUUFRQkJCd0FFSFFBUWRBQVFkQUJBMEFFQVFRY0FCQjBBQkIwQUdMTTltd0FBdGtPcWNwVnlWZlU1TDk2ZnYrMnpvQVBBK01JOUMzVTNoSHAraWV2OUl1Wkc2QUF3UWhIc0xxZlpaUm53ZEc2NEJSMEFibGgwdWsxcGlIYTdqUGZxRnp3alFRZUFEUWU4R3dLZWhoRjQzdEMvSmVnQXNFWVI3eVp0UHVDQ0RnQWJHSVUzTVFwUGFWaDFmaE1FSFFBdUhmRThqTUtiZmo0U3p5UDRtUVFkQUM0YzhYNCtuWjdHRVhGQkI0QUxpbmdmTGtLZVI1ZHhRUWVBSjRyRmJCSHh1TVJCWGJhQm9BUEFRb3pDRDFKWGRTbVBlalF1NkFDd0lpMUc0d2RiTkJvWGRBQllpR24xZzc2YnhUeHQzV2hjMEFHWXZEand5MzdmTDFhcTUySitMMEVIWUJvaG53WDgwV3hFSGlFdmthQURVUDZJdk91ckp2ZEYvNTZDRGtDUlloOTVqTWpqWURCVElPZ0FGQ1ZXcXUvMzdlZ1BCQ1BvQUhDR1NIZXNXby9MbEVJdTZBQVVJeGE2UGV6YUtrMHc1SUlPd05aTFord256eXZuSUIrdTVhTlIvTEdQbmh6ZW4vajhxVStkVWwva1kvWEpqOVhIcnRYSFBsWS82UVlGSFlDU1JLUlRuZ2Q4MkRNZVIzZnI1OGRhWHg2azlib1A4bmFoK09kTGZGYytIdm1qdDNWOTlGU2dYbmxTSU9nQWpFNC9SSHQrZWZ4K2xZOE94NXFQeHRheDRHMmJEOU42L3BPRXMyWVA4cW1aZ0dYWTY4VXNnS0FEY0kzQm1zVTZIUVc3eitseHVDOGlYbFBlcFNudktUOXFmRjdaVHlEb0FHeHd4SjJHTTVkRnVQc3JuTUVzdnF0Ti9YQ2JuRTNRQWJpeTVXajdjYnp6ZkQvM3VtNDdGcjFwdWFBRHNJSFJkMHg5RDVkWndQT0dhaHUzMytaa2d3czZBT3NMZUwveGdDOE5VK3g5WC9XVllibWdBL0RNWXBxN0hVYmc4NGdmOVR0Znk3ODlUTEc3R3dRZGdNc2JwcmZUL0R6aEoxNFNkbzFsN1ljbkVtSXU2QUJjV0I0aTNsZE4zNC9pcFdEMmx3czZBSmVJZU95YlhvN0V4NkpkN0p0SDBBRjRTakNiUmNqSDk3UDFzNWliWkJkMEFNNFVyd2R2NHNRbDNYajNTVGNPRmlQb0FKeTJuRkkvbklXOFQrT2V3aFp6UVFkZ1JSck9QdFlOMCtwNUN5SXA1b0lPd0RHeE1qeENIcVB5YlNIbWdnN0FRaXdrTytqR1A2MHU1b0lPd0ZraG40M0VEMllqOHBTMjd5VmVzZEplekFVZHdJajgySWk4M3JLZmZ6aVB1ZGVaQ3pyQVZNVSs4b08ySGQ1dXErVng0UkYwZ01tSkNCNTA3YkJxZlpzUGJKNnIrWWxXRUhTQXlZbXA5Y1BaSlJkd2lwS21UMDYwSXVnQTB4TDd4eCsxelhDRXR4TEVmbjg1RjNTQXlZamt4WDd5ZUQxNU1VOU9oa1Z3WWk3b0FKTWJsWmNUdjloVllCR2NvQU5NUnV3bmo0VnZwWTFqN1RjWGRJQkppTmp0TjAyUnE3L2p0ZVp5THVnQXhZdVhvejFzRG9zOFlscjhScDJwZGtFSEtGM3NMNCtZbDVxOFdOVnViQzdvQUVYckZqRXZOWGd4OCtBNDdZSU9VTFE0b1Vxc1pDODVkMWExMzd3ZG13QmdreVB6OG1NZUkzTUw0UVFkb09DWXArcmhZVk44Nml5RUUzU0FZc1UrNVVjRjd6TTNPaGQwZ09KRjNvYlY3QlBvbk5HNW9BTVVLdzRhMDArZzVzbm9YTkFCU2hVcjJvZHptRTlBbDQzT0JSMmdRSGsyWXQxdm0ybjhycFhYblFzNlFLRU91bTRTKzgxRG44UmMwQUVLRlB1VG02NmJ6TzlydWwzUUFjb2NuYmZ0WkphSHhaTVg0M05CQnlneWNPMUVGc0lGKzg0RkhhQklUZDlOYXNTYUJGM1FBVXJVZHRNWm5VZkt2Zlo4blA0dndBQlZrTjZIWlFuM0tnQUFBQUJKUlU1RXJrSmdnZz09In0sYTk1NjpmdW5jdGlvbih0LGEsaSl7InVzZSBzdHJpY3QiOyhmdW5jdGlvbih0KXtpKCI2YTU0Iik7dmFyIGU9aSgiZjViZCIpLmRlZmF1bHQ7T2JqZWN0LmRlZmluZVByb3BlcnR5KGEsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGEuZGVmYXVsdD12b2lkIDAsaSgiNjRhYSIpLGkoImQ0YjUiKSxpKCI0NjI2IiksaSgiNWFjNyIpLGkoImFhOWMiKSxpKCJmZDNjIiksaSgiNWM0NyIpO3ZhciBuPWUoaSgiZmNmMyIpKSxyPShlKGkoIjZkODAiKSksZShpKCIxNjAyIikpKSxvPWUoaSgiNjY4ZSIpKTtmdW5jdGlvbiBkKCl7Zm9yKHZhciB0PWFyZ3VtZW50cy5sZW5ndGg+MCYmdm9pZCAwIT09YXJndW1lbnRzWzBdP2FyZ3VtZW50c1swXTp7fSxhPWFyZ3VtZW50cy5sZW5ndGgsaT1uZXcgQXJyYXkoYT4xP2EtMTowKSxlPTE7ZTxhO2UrKylpW2UtMV09YXJndW1lbnRzW2VdO2Zvcih2YXIgciBpbiBpKWZvcih2YXIgbyBpbiBpW3JdKWlbcl0uaGFzT3duUHJvcGVydHkobykmJih0W29dPWlbcl1bb10mJiJvYmplY3QiPT09KDAsbi5kZWZhdWx0KShpW3JdW29dKT9kKEFycmF5LmlzQXJyYXkoaVtyXVtvXSk/W106e30sdFtvXSxpW3JdW29dKTppW3JdW29dKTtyZXR1cm4gdH1mdW5jdGlvbiBwKHQpe3ZhciBhPXQuZ2V0RnVsbFllYXIoKSxpPXQuZ2V0TW9udGgoKSsxLGU9dC5nZXREYXRlKCk7aT49MSYmaTw9OSYmKGk9IjAiK2kpLGU+PTAmJmU8PTkmJihlPSIwIitlKTt2YXIgbj1hKyItIitpKyItIitlO3JldHVybiBufXZhciBjPXtuYW1lOiJxaXVuLWRhdGEtY2hhcnRzIixtaXhpbnM6W3QubWl4aW5EYXRhY29tXSxwcm9wczp7dHlwZTp7dHlwZTpTdHJpbmcsZGVmYXVsdDpudWxsfSxjYW52YXNJZDp7dHlwZTpTdHJpbmcsZGVmYXVsdDoidWNoYXJ0c2lkIn0sY2FudmFzMmQ6e3R5cGU6Qm9vbGVhbixkZWZhdWx0OiExfSxiYWNrZ3JvdW5kOnt0eXBlOlN0cmluZyxkZWZhdWx0OiJyZ2JhKDAsMCwwLDApIn0sYW5pbWF0aW9uOnt0eXBlOkJvb2xlYW4sZGVmYXVsdDohMH0sY2hhcnREYXRhOnt0eXBlOk9iamVjdCxkZWZhdWx0OmZ1bmN0aW9uKCl7cmV0dXJue2NhdGVnb3JpZXM6W10sc2VyaWVzOltdfX19LG9wdHM6e3R5cGU6T2JqZWN0LGRlZmF1bHQ6ZnVuY3Rpb24oKXtyZXR1cm57fX19LGVvcHRzOnt0eXBlOk9iamVjdCxkZWZhdWx0OmZ1bmN0aW9uKCl7cmV0dXJue319fSxsb2FkaW5nVHlwZTp7dHlwZTpOdW1iZXIsZGVmYXVsdDoyfSxlcnJvclNob3c6e3R5cGU6Qm9vbGVhbixkZWZhdWx0OiEwfSxlcnJvclJlbG9hZDp7dHlwZTpCb29sZWFuLGRlZmF1bHQ6ITB9LGVycm9yTWVzc2FnZTp7dHlwZTpTdHJpbmcsZGVmYXVsdDpudWxsfSxpblNjcm9sbFZpZXc6e3R5cGU6Qm9vbGVhbixkZWZhdWx0OiExfSxyZXNob3c6e3R5cGU6Qm9vbGVhbixkZWZhdWx0OiExfSxyZWxvYWQ6e3R5cGU6Qm9vbGVhbixkZWZhdWx0OiExfSxkaXNhYmxlU2Nyb2xsOnt0eXBlOkJvb2xlYW4sZGVmYXVsdDohMX0sb250YXA6e3R5cGU6Qm9vbGVhbixkZWZhdWx0OiEwfSxvbnRvdWNoOnt0eXBlOkJvb2xlYW4sZGVmYXVsdDohMX0sb25tb3VzZTp7dHlwZTpCb29sZWFuLGRlZmF1bHQ6ITB9LG9ubW92ZXRpcDp7dHlwZTpCb29sZWFuLGRlZmF1bHQ6ITF9LGVjaGFydHNINTp7dHlwZTpCb29sZWFuLGRlZmF1bHQ6ITF9LGVjaGFydHNBcHA6e3R5cGU6Qm9vbGVhbixkZWZhdWx0OiExfSx0b29sdGlwU2hvdzp7dHlwZTpCb29sZWFuLGRlZmF1bHQ6ITB9LHRvb2x0aXBGb3JtYXQ6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6dm9pZCAwfSx0b29sdGlwQ3VzdG9tOnt0eXBlOk9iamVjdCxkZWZhdWx0OnZvaWQgMH0sc3RhcnREYXRlOnt0eXBlOlN0cmluZyxkZWZhdWx0OnZvaWQgMH0sZW5kRGF0ZTp7dHlwZTpTdHJpbmcsZGVmYXVsdDp2b2lkIDB9LHRleHRFbnVtOnt0eXBlOkFycmF5LGRlZmF1bHQ6ZnVuY3Rpb24oKXtyZXR1cm5bXX19LGdyb3VwRW51bTp7dHlwZTpBcnJheSxkZWZhdWx0OmZ1bmN0aW9uKCl7cmV0dXJuW119fSxwYWdlU2Nyb2xsVG9wOnt0eXBlOk51bWJlcixkZWZhdWx0OjB9LGRpcmVjdG9yeTp7dHlwZTpTdHJpbmcsZGVmYXVsdDoiLyJ9LHRhcExlZ2VuZDp7dHlwZTpCb29sZWFuLGRlZmF1bHQ6ITB9LG1lbnVzOnt0eXBlOkFycmF5LGRlZmF1bHQ6ZnVuY3Rpb24oKXtyZXR1cm5bXX19fSxkYXRhOmZ1bmN0aW9uKCl7cmV0dXJue2NpZDoidWNoYXJ0c2lkIixpbld4OiExLGluQWxpOiExLGluVHQ6ITEsaW5CZDohMSxpbkg1OiExLGluQXBwOiExLGluV2luOiExLHR5cGUyZDohMCxkaXNTY3JvbGw6ITEsb3Blbm1vdXNlOiExLHBpeGVsOjEsY1dpZHRoOjM3NSxjSGVpZ2h0OjI1MCxzaG93Y2hhcnQ6ITEsZWNoYXJ0czohMSxlY2hhcnRzUmVzaXplOiExLHVjaGFydHNPcHRzOnt9LGVjaGFydHNPcHRzOnt9LGRyYXdEYXRhOnt9LGxhc3REcmF3VGltZTpudWxsfX0sY3JlYXRlZDpmdW5jdGlvbigpe2lmKHRoaXMuY2lkPXRoaXMuY2FudmFzSWQsInVjaGFydHNpZCI9PXRoaXMuY2FudmFzSWR8fCIiPT10aGlzLmNhbnZhc0lkKXtmb3IodmFyIHQ9IkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoiLGE9dC5sZW5ndGgsaT0iIixlPTA7ZTwzMjtlKyspaSs9dC5jaGFyQXQoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKmEpKTt0aGlzLmNpZD1pfXZhciBuPXVuaS5nZXRTeXN0ZW1JbmZvU3luYygpOyJ3aW5kb3dzIiE9PW4ucGxhdGZvcm0mJiJtYWMiIT09bi5wbGF0Zm9ybXx8KHRoaXMuaW5XaW49ITApLHRoaXMudHlwZTJkPSExLHRoaXMuZGlzU2Nyb2xsPXRoaXMuZGlzYWJsZVNjcm9sbH0sbW91bnRlZDpmdW5jdGlvbigpe3ZhciB0PXRoaXM7dGhpcy5pbkg1PSEwLCEwPT09dGhpcy5pbldpbiYmKHRoaXMub3Blbm1vdXNlPXRoaXMub25tb3VzZSksITA9PT10aGlzLmVjaGFydHNINSYmKHRoaXMuZWNoYXJ0cz0hMCksdGhpcy4kbmV4dFRpY2soKGZ1bmN0aW9uKCl7dC5iZWZvcmVJbml0KCl9KSk7dmFyIGE9dGhpcy5pbkg1PzUwMDoyMDAsaT10aGlzO3VuaS5vbldpbmRvd1Jlc2l6ZShmdW5jdGlvbih0LGEpe3ZhciBpPSExO3JldHVybiBmdW5jdGlvbigpe3ZhciBlPWFyZ3VtZW50cyxuPXRoaXM7Y2xlYXJUaW1lb3V0KGkpLGkmJmNsZWFyVGltZW91dChpKSxpPXNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7aT0hMSx0LmFwcGx5KG4sZSl9KSxhKX19KChmdW5jdGlvbih0KXtpZigxIT1pLm1peGluRGF0YWNvbUxvYWRpbmcpe3ZhciBhPWkubWl4aW5EYXRhY29tRXJyb3JNZXNzYWdlO251bGwhPT1hJiYibnVsbCIhPT1hJiYiIiE9PWF8fChpLmVjaGFydHM/aS5lY2hhcnRzUmVzaXplPSFpLmVjaGFydHNSZXNpemU6aS5yZXNpemVIYW5kbGVyKCkpfX0pLGEpKX0sZGVzdHJveWVkOmZ1bmN0aW9uKCl7ITA9PT10aGlzLmVjaGFydHM/KGRlbGV0ZSBvLmRlZmF1bHQub3B0aW9uW3RoaXMuY2lkXSxkZWxldGUgby5kZWZhdWx0Lmluc3RhbmNlW3RoaXMuY2lkXSk6KGRlbGV0ZSByLmRlZmF1bHQub3B0aW9uW3RoaXMuY2lkXSxkZWxldGUgci5kZWZhdWx0Lmluc3RhbmNlW3RoaXMuY2lkXSksdW5pLm9mZldpbmRvd1Jlc2l6ZSgoZnVuY3Rpb24oKXt9KSl9LHdhdGNoOntjaGFydERhdGFQcm9wczp7aGFuZGxlcjpmdW5jdGlvbih0LGEpeyJvYmplY3QiPT09KDAsbi5kZWZhdWx0KSh0KT9KU09OLnN0cmluZ2lmeSh0KSE9PUpTT04uc3RyaW5naWZ5KGEpJiYodC5zZXJpZXMmJnQuc2VyaWVzLmxlbmd0aD4wP3RoaXMuYmVmb3JlSW5pdCgpOih0aGlzLm1peGluRGF0YWNvbUxvYWRpbmc9ITAsdGhpcy5fY2xlYXJDaGFydCgpLHRoaXMuc2hvd2NoYXJ0PSExLHRoaXMubWl4aW5EYXRhY29tRXJyb3JNZXNzYWdlPW51bGwpKToodGhpcy5taXhpbkRhdGFjb21Mb2FkaW5nPSExLHRoaXMuX2NsZWFyQ2hhcnQoKSx0aGlzLnNob3djaGFydD0hMSx0aGlzLm1peGluRGF0YWNvbUVycm9yTWVzc2FnZT0i5Y+C5pWw6ZSZ6K+v77yaY2hhcnREYXRh5pWw5o2u57G75Z6L6ZSZ6K+vIil9LGltbWVkaWF0ZTohMSxkZWVwOiEwfSxsb2NhbGRhdGE6e2hhbmRsZXI6ZnVuY3Rpb24odCxhKXtKU09OLnN0cmluZ2lmeSh0KSE9PUpTT04uc3RyaW5naWZ5KGEpJiYodC5sZW5ndGg+MD90aGlzLmJlZm9yZUluaXQoKToodGhpcy5taXhpbkRhdGFjb21Mb2FkaW5nPSEwLHRoaXMuX2NsZWFyQ2hhcnQoKSx0aGlzLnNob3djaGFydD0hMSx0aGlzLm1peGluRGF0YWNvbUVycm9yTWVzc2FnZT1udWxsKSl9LGltbWVkaWF0ZTohMSxkZWVwOiEwfSxvcHRzUHJvcHM6e2hhbmRsZXI6ZnVuY3Rpb24odCxhKXsib2JqZWN0Ij09PSgwLG4uZGVmYXVsdCkodCk/SlNPTi5zdHJpbmdpZnkodCkhPT1KU09OLnN0cmluZ2lmeShhKSYmITE9PT10aGlzLmVjaGFydHMmJnRoaXMuY2hlY2tEYXRhKHRoaXMuZHJhd0RhdGEpOih0aGlzLm1peGluRGF0YWNvbUxvYWRpbmc9ITEsdGhpcy5fY2xlYXJDaGFydCgpLHRoaXMuc2hvd2NoYXJ0PSExLHRoaXMubWl4aW5EYXRhY29tRXJyb3JNZXNzYWdlPSLlj4LmlbDplJnor6/vvJpvcHRz5pWw5o2u57G75Z6L6ZSZ6K+vIil9LGltbWVkaWF0ZTohMSxkZWVwOiEwfSxlb3B0c1Byb3BzOntoYW5kbGVyOmZ1bmN0aW9uKHQsYSl7Im9iamVjdCI9PT0oMCxuLmRlZmF1bHQpKHQpP0pTT04uc3RyaW5naWZ5KHQpIT09SlNPTi5zdHJpbmdpZnkoYSkmJiEwPT09dGhpcy5lY2hhcnRzJiZ0aGlzLmNoZWNrRGF0YSh0aGlzLmRyYXdEYXRhKToodGhpcy5taXhpbkRhdGFjb21Mb2FkaW5nPSExLHRoaXMuc2hvd2NoYXJ0PSExLHRoaXMubWl4aW5EYXRhY29tRXJyb3JNZXNzYWdlPSLlj4LmlbDplJnor6/vvJplb3B0c+aVsOaNruexu+Wei+mUmeivryIpfSxpbW1lZGlhdGU6ITEsZGVlcDohMH0scmVzaG93OmZ1bmN0aW9uKHQsYSl7dmFyIGk9dGhpczshMD09PXQmJiExPT09dGhpcy5taXhpbkRhdGFjb21Mb2FkaW5nJiZzZXRUaW1lb3V0KChmdW5jdGlvbigpe2kubWl4aW5EYXRhY29tRXJyb3JNZXNzYWdlPW51bGwsaS5lY2hhcnRzUmVzaXplPSFpLmVjaGFydHNSZXNpemUsaS5jaGVja0RhdGEoaS5kcmF3RGF0YSl9KSwyMDApfSxyZWxvYWQ6ZnVuY3Rpb24odCxhKXshMD09PXQmJih0aGlzLnNob3djaGFydD0hMSx0aGlzLm1peGluRGF0YWNvbUVycm9yTWVzc2FnZT1udWxsLHRoaXMucmVsb2FkaW5nKCkpfSxtaXhpbkRhdGFjb21FcnJvck1lc3NhZ2U6ZnVuY3Rpb24odCxhKXt0JiYodGhpcy5lbWl0TXNnKHtuYW1lOiJlcnJvciIscGFyYW1zOnt0eXBlOiJlcnJvciIsZXJyb3JTaG93OnRoaXMuZXJyb3JTaG93LG1zZzp0LGlkOnRoaXMuY2lkfX0pLHRoaXMuZXJyb3JTaG93JiZjb25zb2xlLmxvZygiW+eni+S6keWbvuihqOe7hOS7tl0iK3QpKX0sZXJyb3JNZXNzYWdlOmZ1bmN0aW9uKHQsYSl7dCYmdGhpcy5lcnJvclNob3cmJm51bGwhPT10JiYibnVsbCIhPT10JiYiIiE9PXQ/KHRoaXMuc2hvd2NoYXJ0PSExLHRoaXMubWl4aW5EYXRhY29tTG9hZGluZz0hMSx0aGlzLm1peGluRGF0YWNvbUVycm9yTWVzc2FnZT10KToodGhpcy5zaG93Y2hhcnQ9ITEsdGhpcy5taXhpbkRhdGFjb21FcnJvck1lc3NhZ2U9bnVsbCx0aGlzLnJlbG9hZGluZygpKX19LGNvbXB1dGVkOntvcHRzUHJvcHM6ZnVuY3Rpb24oKXtyZXR1cm4gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLm9wdHMpKX0sZW9wdHNQcm9wczpmdW5jdGlvbigpe3JldHVybiBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMuZW9wdHMpKX0sY2hhcnREYXRhUHJvcHM6ZnVuY3Rpb24oKXtyZXR1cm4gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLmNoYXJ0RGF0YSkpfX0sbWV0aG9kczp7YmVmb3JlSW5pdDpmdW5jdGlvbigpe3RoaXMubWl4aW5EYXRhY29tRXJyb3JNZXNzYWdlPW51bGwsIm9iamVjdCI9PT0oMCxuLmRlZmF1bHQpKHRoaXMuY2hhcnREYXRhKSYmbnVsbCE9dGhpcy5jaGFydERhdGEmJnZvaWQgMCE9PXRoaXMuY2hhcnREYXRhLnNlcmllcyYmdGhpcy5jaGFydERhdGEuc2VyaWVzLmxlbmd0aD4wPyh0aGlzLmRyYXdEYXRhPWQoe30sdGhpcy5jaGFydERhdGEpLHRoaXMubWl4aW5EYXRhY29tTG9hZGluZz0hMSx0aGlzLnNob3djaGFydD0hMCx0aGlzLmNoZWNrRGF0YSh0aGlzLmNoYXJ0RGF0YSkpOnRoaXMubG9jYWxkYXRhLmxlbmd0aD4wPyh0aGlzLm1peGluRGF0YWNvbUxvYWRpbmc9ITEsdGhpcy5zaG93Y2hhcnQ9ITAsdGhpcy5sb2NhbGRhdGFJbml0KHRoaXMubG9jYWxkYXRhKSk6IiIhPT10aGlzLmNvbGxlY3Rpb24/KHRoaXMubWl4aW5EYXRhY29tTG9hZGluZz0hMSx0aGlzLmdldENsb3VkRGF0YSgpKTp0aGlzLm1peGluRGF0YWNvbUxvYWRpbmc9ITB9LGxvY2FsZGF0YUluaXQ6ZnVuY3Rpb24odCl7aWYodGhpcy5ncm91cEVudW0ubGVuZ3RoPjApZm9yKHZhciBhPTA7YTx0Lmxlbmd0aDthKyspZm9yKHZhciBpPTA7aTx0aGlzLmdyb3VwRW51bS5sZW5ndGg7aSsrKXRbYV0uZ3JvdXA9PT10aGlzLmdyb3VwRW51bVtpXS52YWx1ZSYmKHRbYV0uZ3JvdXA9dGhpcy5ncm91cEVudW1baV0udGV4dCk7aWYodGhpcy50ZXh0RW51bS5sZW5ndGg+MClmb3IodmFyIGU9MDtlPHQubGVuZ3RoO2UrKylmb3IodmFyIG49MDtuPHRoaXMudGV4dEVudW0ubGVuZ3RoO24rKyl0W2VdLnRleHQ9PT10aGlzLnRleHRFbnVtW25dLnZhbHVlJiYodFtlXS50ZXh0PXRoaXMudGV4dEVudW1bbl0udGV4dCk7dmFyIGM9ITEscz17Y2F0ZWdvcmllczpbXSxzZXJpZXM6W119LGw9W10sbT1bXTtpZihjPSEwPT09dGhpcy5lY2hhcnRzP28uZGVmYXVsdC5jYXRlZ29yaWVzLmluY2x1ZGVzKHRoaXMudHlwZSk6ci5kZWZhdWx0LmNhdGVnb3JpZXMuaW5jbHVkZXModGhpcy50eXBlKSwhMD09PWMpe2lmKHRoaXMuY2hhcnREYXRhJiZ0aGlzLmNoYXJ0RGF0YS5jYXRlZ29yaWVzJiZ0aGlzLmNoYXJ0RGF0YS5jYXRlZ29yaWVzLmxlbmd0aD4wKWw9dGhpcy5jaGFydERhdGEuY2F0ZWdvcmllcztlbHNlIGlmKHRoaXMuc3RhcnREYXRlJiZ0aGlzLmVuZERhdGUpe3ZhciBmPW5ldyBEYXRlKHRoaXMuc3RhcnREYXRlKSxnPW5ldyBEYXRlKHRoaXMuZW5kRGF0ZSk7d2hpbGUoZjw9ZylsLnB1c2gocChmKSksZj1mLnNldERhdGUoZi5nZXREYXRlKCkrMSksZj1uZXcgRGF0ZShmKX1lbHNle3ZhciB1PXt9O3QubWFwKChmdW5jdGlvbih0LGEpe3ZvaWQgMD09dC50ZXh0fHx1W3QudGV4dF18fChsLnB1c2godC50ZXh0KSx1W3QudGV4dF09ITApfSkpfXMuY2F0ZWdvcmllcz1sfXZhciBoPXt9O2lmKHQubWFwKChmdW5jdGlvbih0LGEpe3ZvaWQgMD09dC5ncm91cHx8aFt0Lmdyb3VwXXx8KG0ucHVzaCh7bmFtZTp0Lmdyb3VwLGRhdGE6W119KSxoW3QuZ3JvdXBdPSEwKX0pKSwwPT1tLmxlbmd0aClpZihtPVt7bmFtZToi6buY6K6k5YiG57uEIixkYXRhOltdfV0sITA9PT1jKWZvcih2YXIgdj0wO3Y8bC5sZW5ndGg7disrKXtmb3IodmFyIGI9MCx4PTA7eDx0Lmxlbmd0aDt4KyspdFt4XS50ZXh0PT1sW3ZdJiYoYj10W3hdLnZhbHVlKTttWzBdLmRhdGEucHVzaChiKX1lbHNlIGZvcih2YXIgeT0wO3k8dC5sZW5ndGg7eSsrKW1bMF0uZGF0YS5wdXNoKHtuYW1lOnRbeV0udGV4dCx2YWx1ZTp0W3ldLnZhbHVlfSk7ZWxzZSBmb3IodmFyIEE9MDtBPG0ubGVuZ3RoO0ErKylpZihsLmxlbmd0aD4wKWZvcih2YXIgdz0wO3c8bC5sZW5ndGg7dysrKXtmb3IodmFyIGs9MCxTPTA7Uzx0Lmxlbmd0aDtTKyspbVtBXS5uYW1lPT10W1NdLmdyb3VwJiZ0W1NdLnRleHQ9PWxbd10mJihrPXRbU10udmFsdWUpO21bQV0uZGF0YS5wdXNoKGspfWVsc2UgZm9yKHZhciBUPTA7VDx0Lmxlbmd0aDtUKyspbVtBXS5uYW1lPT10W1RdLmdyb3VwJiZtW0FdLmRhdGEucHVzaCh0W1RdLnZhbHVlKTtzLnNlcmllcz1tLHRoaXMuZHJhd0RhdGE9ZCh7fSxzKSx0aGlzLmNoZWNrRGF0YShzKX0scmVsb2FkaW5nOmZ1bmN0aW9uKCl7ITEhPT10aGlzLmVycm9yUmVsb2FkJiYodGhpcy5zaG93Y2hhcnQ9ITEsdGhpcy5taXhpbkRhdGFjb21FcnJvck1lc3NhZ2U9bnVsbCwiIiE9PXRoaXMuY29sbGVjdGlvbj8odGhpcy5taXhpbkRhdGFjb21Mb2FkaW5nPSExLHRoaXMub25NaXhpbkRhdGFjb21Qcm9wc0NoYW5nZSghMCkpOnRoaXMuYmVmb3JlSW5pdCgpKX0sY2hlY2tEYXRhOmZ1bmN0aW9uKHQpe3ZhciBhPXRoaXMsaT10aGlzLmNpZDshMD09PXRoaXMuZWNoYXJ0cz8oby5kZWZhdWx0Lm9wdGlvbltpXT1kKHt9LHRoaXMuZW9wdHMpLG8uZGVmYXVsdC5vcHRpb25baV0uaWQ9aSxvLmRlZmF1bHQub3B0aW9uW2ldLnR5cGU9dGhpcy50eXBlKTp0aGlzLnR5cGUmJnIuZGVmYXVsdC50eXBlLmluY2x1ZGVzKHRoaXMudHlwZSk/KHIuZGVmYXVsdC5vcHRpb25baV09ZCh7fSxyLmRlZmF1bHRbdGhpcy50eXBlXSx0aGlzLm9wdHMpLHIuZGVmYXVsdC5vcHRpb25baV0uY2FudmFzSWQ9aSk6KHRoaXMubWl4aW5EYXRhY29tTG9hZGluZz0hMSx0aGlzLnNob3djaGFydD0hMSx0aGlzLm1peGluRGF0YWNvbUVycm9yTWVzc2FnZT0i5Y+C5pWw6ZSZ6K+v77yacHJvcHPlj4LmlbDkuK10eXBl57G75Z6L5LiN5q2j56GuIik7dmFyIGU9ZCh7fSx0KTt2b2lkIDAhPT1lLnNlcmllcyYmZS5zZXJpZXMubGVuZ3RoPjAmJih0aGlzLm1peGluRGF0YWNvbUVycm9yTWVzc2FnZT1udWxsLCEwPT09dGhpcy5lY2hhcnRzPyhvLmRlZmF1bHQub3B0aW9uW2ldLmNoYXJ0RGF0YT1lLHRoaXMuJG5leHRUaWNrKChmdW5jdGlvbigpe2EuaW5pdCgpfSkpKTooci5kZWZhdWx0Lm9wdGlvbltpXS5jYXRlZ29yaWVzPWUuY2F0ZWdvcmllcyxyLmRlZmF1bHQub3B0aW9uW2ldLnNlcmllcz1lLnNlcmllcyx0aGlzLiRuZXh0VGljaygoZnVuY3Rpb24oKXthLmluaXQoKX0pKSkpfSxyZXNpemVIYW5kbGVyOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxhPURhdGUubm93KCksaT10aGlzLmxhc3REcmF3VGltZT90aGlzLmxhc3REcmF3VGltZTphLTNlMyxlPWEtaTtpZighKGU8MWUzKSl1bmkuY3JlYXRlU2VsZWN0b3JRdWVyeSgpLmluKHRoaXMpLnNlbGVjdCgiI0NoYXJ0Qm94SWQiK3RoaXMuY2lkKS5ib3VuZGluZ0NsaWVudFJlY3QoKGZ1bmN0aW9uKGEpe3Quc2hvd2NoYXJ0PSEwLGEud2lkdGg+MCYmYS5oZWlnaHQ+MCYmKGEud2lkdGg9PT10LmNXaWR0aCYmYS5oZWlnaHQ9PT10LmNIZWlnaHR8fHQuY2hlY2tEYXRhKHQuZHJhd0RhdGEpKX0pKS5leGVjKCl9LGdldENsb3VkRGF0YTpmdW5jdGlvbigpe3ZhciB0PXRoaXM7MSE9dGhpcy5taXhpbkRhdGFjb21Mb2FkaW5nJiYodGhpcy5taXhpbkRhdGFjb21Mb2FkaW5nPSEwLHRoaXMubWl4aW5EYXRhY29tR2V0KCkudGhlbigoZnVuY3Rpb24oYSl7dC5taXhpbkRhdGFjb21SZXNEYXRhPWEucmVzdWx0LmRhdGEsdC5sb2NhbGRhdGFJbml0KHQubWl4aW5EYXRhY29tUmVzRGF0YSl9KSkuY2F0Y2goKGZ1bmN0aW9uKGEpe3QubWl4aW5EYXRhY29tTG9hZGluZz0hMSx0LnNob3djaGFydD0hMSx0Lm1peGluRGF0YWNvbUVycm9yTWVzc2FnZT0i6K+35rGC6ZSZ6K+v77yaIithfSkpKX0sb25NaXhpbkRhdGFjb21Qcm9wc0NoYW5nZTpmdW5jdGlvbih0LGEpezE9PXQmJiIiIT09dGhpcy5jb2xsZWN0aW9uJiYodGhpcy5zaG93Y2hhcnQ9ITEsdGhpcy5taXhpbkRhdGFjb21FcnJvck1lc3NhZ2U9bnVsbCx0aGlzLl9jbGVhckNoYXJ0KCksdGhpcy5nZXRDbG91ZERhdGEoKSl9LF9jbGVhckNoYXJ0OmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5jaWQ7aWYoITAhPT10aGlzLmVjaHJ0cyl7dmFyIGE9dW5pLmNyZWF0ZUNhbnZhc0NvbnRleHQodCx0aGlzKTthLmNsZWFyUmVjdCgwLDAsdGhpcy5jV2lkdGgsdGhpcy5jSGVpZ2h0KSxhLmRyYXcoKX19LGluaXQ6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLGE9dGhpcy5jaWQ7dW5pLmNyZWF0ZVNlbGVjdG9yUXVlcnkoKS5pbih0aGlzKS5zZWxlY3QoIiNDaGFydEJveElkIithKS5ib3VuZGluZ0NsaWVudFJlY3QoKGZ1bmN0aW9uKGkpe2kud2lkdGg+MCYmaS5oZWlnaHQ+MD8odC5taXhpbkRhdGFjb21Mb2FkaW5nPSExLHQuc2hvd2NoYXJ0PSEwLHQubGFzdERyYXdUaW1lPURhdGUubm93KCksdC5jV2lkdGg9aS53aWR0aCx0LmNIZWlnaHQ9aS5oZWlnaHQsITAhPT10LmVjaGFydHMmJihyLmRlZmF1bHQub3B0aW9uW2FdLmJhY2tncm91bmQ9InJnYmEoMCwwLDAsMCkiPT10LmJhY2tncm91bmQ/IiNGRkZGRkYiOnQuYmFja2dyb3VuZCxyLmRlZmF1bHQub3B0aW9uW2FdLmNhbnZhczJkPXQudHlwZTJkLHIuZGVmYXVsdC5vcHRpb25bYV0ucGl4ZWxSYXRpbz10LnBpeGVsLHIuZGVmYXVsdC5vcHRpb25bYV0uYW5pbWF0aW9uPXQuYW5pbWF0aW9uLHIuZGVmYXVsdC5vcHRpb25bYV0ud2lkdGg9aS53aWR0aCp0LnBpeGVsLHIuZGVmYXVsdC5vcHRpb25bYV0uaGVpZ2h0PWkuaGVpZ2h0KnQucGl4ZWwsci5kZWZhdWx0Lm9wdGlvblthXS5vbnRhcD10Lm9udGFwLHIuZGVmYXVsdC5vcHRpb25bYV0ub250b3VjaD10Lm9udG91Y2gsci5kZWZhdWx0Lm9wdGlvblthXS5vbm1vdXNlPXQub3Blbm1vdXNlLHIuZGVmYXVsdC5vcHRpb25bYV0ub25tb3ZldGlwPXQub25tb3ZldGlwLHIuZGVmYXVsdC5vcHRpb25bYV0udG9vbHRpcFNob3c9dC50b29sdGlwU2hvdyxyLmRlZmF1bHQub3B0aW9uW2FdLnRvb2x0aXBGb3JtYXQ9dC50b29sdGlwRm9ybWF0LHIuZGVmYXVsdC5vcHRpb25bYV0udG9vbHRpcEN1c3RvbT10LnRvb2x0aXBDdXN0b20sci5kZWZhdWx0Lm9wdGlvblthXS5pblNjcm9sbFZpZXc9dC5pblNjcm9sbFZpZXcsci5kZWZhdWx0Lm9wdGlvblthXS5sYXN0RHJhd1RpbWU9dC5sYXN0RHJhd1RpbWUsci5kZWZhdWx0Lm9wdGlvblthXS50YXBMZWdlbmQ9dC50YXBMZWdlbmQpLHQuaW5INXx8dC5pbkFwcD8xPT10LmVjaGFydHM/KG8uZGVmYXVsdC5vcHRpb25bYV0ub250YXA9dC5vbnRhcCxvLmRlZmF1bHQub3B0aW9uW2FdLm9ubW91c2U9dC5vcGVubW91c2Usby5kZWZhdWx0Lm9wdGlvblthXS50b29sdGlwU2hvdz10LnRvb2x0aXBTaG93LG8uZGVmYXVsdC5vcHRpb25bYV0udG9vbHRpcEZvcm1hdD10LnRvb2x0aXBGb3JtYXQsby5kZWZhdWx0Lm9wdGlvblthXS50b29sdGlwQ3VzdG9tPXQudG9vbHRpcEN1c3RvbSxvLmRlZmF1bHQub3B0aW9uW2FdLmxhc3REcmF3VGltZT10Lmxhc3REcmF3VGltZSx0LmVjaGFydHNPcHRzPWQoe30sby5kZWZhdWx0Lm9wdGlvblthXSkpOihyLmRlZmF1bHQub3B0aW9uW2FdLnJvdGF0ZUxvY2s9ci5kZWZhdWx0Lm9wdGlvblthXS5yb3RhdGUsdC51Y2hhcnRzT3B0cz1kKHt9LHIuZGVmYXVsdC5vcHRpb25bYV0pKTooci5kZWZhdWx0Lm9wdGlvblthXT1mdW5jdGlvbiB0KGEsaSl7Zm9yKHZhciBlIGluIGEpbnVsbCE9PWFbZV0mJiJvYmplY3QiPT09KDAsbi5kZWZhdWx0KShhW2VdKT90KGFbZV0saSk6ImZvcm1hdCI9PT1lJiYic3RyaW5nIj09PXR5cGVvZiBhW2VdJiYoYVsiZm9ybWF0dGVyIl09aVthW2VdXT9pW2FbZV1dOnZvaWQgMCk7cmV0dXJuIGF9KHIuZGVmYXVsdC5vcHRpb25bYV0sci5kZWZhdWx0LmZvcm1hdHRlciksdC5taXhpbkRhdGFjb21FcnJvck1lc3NhZ2U9bnVsbCx0Lm1peGluRGF0YWNvbUxvYWRpbmc9ITEsdC5zaG93Y2hhcnQ9ITAsdC4kbmV4dFRpY2soKGZ1bmN0aW9uKCl7aWYoITA9PT10LnR5cGUyZCl7dmFyIGU9dW5pLmNyZWF0ZVNlbGVjdG9yUXVlcnkoKS5pbih0KTtlLnNlbGVjdCgiIyIrYSkuZmllbGRzKHtub2RlOiEwLHNpemU6ITB9KS5leGVjKChmdW5jdGlvbihlKXtpZihlWzBdKXt2YXIgbj1lWzBdLm5vZGUsbz1uLmdldENvbnRleHQoIjJkIik7ci5kZWZhdWx0Lm9wdGlvblthXS5jb250ZXh0PW8sbi53aWR0aD1pLndpZHRoKnQucGl4ZWwsbi5oZWlnaHQ9aS5oZWlnaHQqdC5waXhlbCxuLl93aWR0aD1pLndpZHRoKnQucGl4ZWwsbi5faGVpZ2h0PWkuaGVpZ2h0KnQucGl4ZWwsci5kZWZhdWx0Lm9wdGlvblthXS5yb3RhdGVMb2NrPXIuZGVmYXVsdC5vcHRpb25bYV0ucm90YXRlLHIuZGVmYXVsdC5pbnN0YW5jZVthXSYmci5kZWZhdWx0Lm9wdGlvblthXSYmITA9PT1yLmRlZmF1bHQub3B0aW9uW2FdLnVwZGF0ZT90Ll91cGRhdGFVQ2hhcnQoYSk6c2V0VGltZW91dCgoZnVuY3Rpb24oKXtyLmRlZmF1bHQub3B0aW9uW2FdLmNvbnRleHQucmVzdG9yZSgpLHIuZGVmYXVsdC5vcHRpb25bYV0uY29udGV4dC5zYXZlKCksdC5fbmV3Q2hhcnQoYSl9KSwxMDApfWVsc2UgdC5zaG93Y2hhcnQ9ITEsdC5taXhpbkRhdGFjb21FcnJvck1lc3NhZ2U9IuWPguaVsOmUmeivr++8muW8gOWQrzJk5qih5byP5ZCO77yM5pyq6I635Y+W5YiwZG9t6IqC54K577yMY2FudmFzLWlkOiIrYX0pKX1lbHNlIHQuaW5BbGkmJihyLmRlZmF1bHQub3B0aW9uW2FdLnJvdGF0ZUxvY2s9ci5kZWZhdWx0Lm9wdGlvblthXS5yb3RhdGUpLHIuZGVmYXVsdC5vcHRpb25bYV0uY29udGV4dD11bmkuY3JlYXRlQ2FudmFzQ29udGV4dChhLHQpLHIuZGVmYXVsdC5pbnN0YW5jZVthXSYmci5kZWZhdWx0Lm9wdGlvblthXSYmITA9PT1yLmRlZmF1bHQub3B0aW9uW2FdLnVwZGF0ZT90Ll91cGRhdGFVQ2hhcnQoYSk6c2V0VGltZW91dCgoZnVuY3Rpb24oKXtyLmRlZmF1bHQub3B0aW9uW2FdLmNvbnRleHQucmVzdG9yZSgpLHIuZGVmYXVsdC5vcHRpb25bYV0uY29udGV4dC5zYXZlKCksdC5fbmV3Q2hhcnQoYSl9KSwxMDApfSkpKSk6KHQubWl4aW5EYXRhY29tTG9hZGluZz0hMSx0LnNob3djaGFydD0hMSwxPT10LnJlc2hvdyYmKHQubWl4aW5EYXRhY29tRXJyb3JNZXNzYWdlPSLluIPlsYDplJnor6/vvJrmnKrojrflj5bliLDniLblhYPntKDlrr3pq5jlsLrlr7jvvIFjYW52YXMtaWQ6IithKSl9KSkuZXhlYygpfSxzYXZlSW1hZ2U6ZnVuY3Rpb24oKXt2YXIgdD10aGlzO3VuaS5jYW52YXNUb1RlbXBGaWxlUGF0aCh7Y2FudmFzSWQ6dGhpcy5jaWQsc3VjY2VzczpmdW5jdGlvbihhKXt2YXIgaT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIik7aS5ocmVmPWEudGVtcEZpbGVQYXRoLGkuZG93bmxvYWQ9dC5jaWQsaS50YXJnZXQ9Il9ibGFuayIsaS5jbGljaygpfX0sdGhpcyl9LF9lcnJvcjpmdW5jdGlvbih0KXt0aGlzLm1peGluRGF0YWNvbUVycm9yTWVzc2FnZT10LmRldGFpbC5lcnJNc2d9LGVtaXRNc2c6ZnVuY3Rpb24odCl7dGhpcy4kZW1pdCh0Lm5hbWUsdC5wYXJhbXMpfSxnZXRSZW5kZXJUeXBlOmZ1bmN0aW9uKCl7ITA9PT10aGlzLmVjaGFydHMmJiExPT09dGhpcy5taXhpbkRhdGFjb21Mb2FkaW5nJiZ0aGlzLmJlZm9yZUluaXQoKX0sdG9KU09OOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9fX07YS5kZWZhdWx0PWN9KS5jYWxsKHRoaXMsaSgiODYxYiIpWyJ1bmlDbG91ZCJdKX0sYWNiMTpmdW5jdGlvbih0LGEsaSl7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShhLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxhLmRlZmF1bHQ9ZnVuY3Rpb24odCxhKXtpZigiZnVuY3Rpb24iIT09dHlwZW9mIGEmJm51bGwhPT1hKXRocm93IG5ldyBUeXBlRXJyb3IoIlN1cGVyIGV4cHJlc3Npb24gbXVzdCBlaXRoZXIgYmUgbnVsbCBvciBhIGZ1bmN0aW9uIik7dC5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShhJiZhLnByb3RvdHlwZSx7Y29uc3RydWN0b3I6e3ZhbHVlOnQsd3JpdGFibGU6ITAsY29uZmlndXJhYmxlOiEwfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJwcm90b3R5cGUiLHt3cml0YWJsZTohMX0pLGEmJigwLGUuZGVmYXVsdCkodCxhKX0saSgiN2E3NiIpLGkoImM5YjUiKSxpKCI2YTU0Iik7dmFyIGU9ZnVuY3Rpb24odCl7cmV0dXJuIHQmJnQuX19lc01vZHVsZT90OntkZWZhdWx0OnR9fShpKCJlNjY4IikpfSxhZWE5OmZ1bmN0aW9uKHQsYSxpKXsidXNlIHN0cmljdCI7aS5yKGEpO3ZhciBlPWkoIjBjZjgiKSxuPWkoImE2NjgiKTtmb3IodmFyIHIgaW4gbilbImRlZmF1bHQiXS5pbmRleE9mKHIpPDAmJmZ1bmN0aW9uKHQpe2kuZChhLHQsKGZ1bmN0aW9uKCl7cmV0dXJuIG5bdF19KSl9KHIpO2koImNjMmQiKTt2YXIgbz1pKCI4MjhiIiksZD1PYmplY3Qob1siYSJdKShuWyJkZWZhdWx0Il0sZVsiYiJdLGVbImMiXSwhMSxudWxsLCI0ZTFjMWJmYSIsbnVsbCwhMSxlWyJhIl0sdm9pZCAwKTthWyJkZWZhdWx0Il09ZC5leHBvcnRzfSxiMDg3OmZ1bmN0aW9uKHQsYSxpKXsidXNlIHN0cmljdCI7aS5kKGEsImIiLChmdW5jdGlvbigpe3JldHVybiBlfSkpLGkuZChhLCJjIiwoZnVuY3Rpb24oKXtyZXR1cm4gbn0pKSxpLmQoYSwiYSIsKGZ1bmN0aW9uKCl7fSkpO3ZhciBlPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxhPXQuJGNyZWF0ZUVsZW1lbnQsaT10Ll9zZWxmLl9jfHxhO3JldHVybiBpKCJ2LXVuaS12aWV3IixbMT09dC5sb2FkaW5nVHlwZT9pKCJMb2FkaW5nMSIpOnQuX2UoKSwyPT10LmxvYWRpbmdUeXBlP2koIkxvYWRpbmcyIik6dC5fZSgpLDM9PXQubG9hZGluZ1R5cGU/aSgiTG9hZGluZzMiKTp0Ll9lKCksND09dC5sb2FkaW5nVHlwZT9pKCJMb2FkaW5nNCIpOnQuX2UoKSw1PT10LmxvYWRpbmdUeXBlP2koIkxvYWRpbmc1Iik6dC5fZSgpXSwxKX0sbj1bXX0sYjExNjpmdW5jdGlvbih0LGEsaSl7dmFyIGU9aSgiYzg2YyIpLG49aSgiMmVjNSIpLHI9aSgiOWY1ZiIpO2E9ZSghMSk7dmFyIG89bihyKTthLnB1c2goW3QuaSwnQGNoYXJzZXQgIlVURi04IjtcclxuLyoqXHJcbiAqIOS4i+aWueW8leWFpeeahOS4unVWaWV3IFVJ55qE6ZuG5oiQ5qC35byP5paH5Lu277yM5Li6c2Nzc+mihOWkhOeQhuWZqO+8jOWFtuS4reWMheWQq+S6huS4gOS6myJ1LSLlvIDlpLTnmoToh6rlrprkuYnlj5jph49cclxuICog5L2/55So55qE5pe25YCZ77yM6K+35bCG5LiL6Z2i55qE5LiA6KGM5aSN5Yi25Yiw5oKo55qEdW5pYXBw6aG555uu5qC555uu5b2V55qEdW5pLnNjc3PkuK3ljbPlj69cclxuICogdVZpZXfoh6rlrprkuYnnmoRjc3PnsbvlkI3lkoxzY3Nz5Y+Y6YeP77yM5Z2H5LulInUtIuW8gOWktO+8jOS4jeS8mumAoOaIkOWGsueqge+8jOivt+aUvuW/g+S9v+eUqCBcclxuICovLnRleHQtc3VjY2Vzc1tkYXRhLXYtNmQ0MDE0OGNde2NvbG9yOiMyOGJhOTh9LnRleHQtd2FybmluZ1tkYXRhLXYtNmQ0MDE0OGNde2NvbG9yOiNkNGJhODN9LnRleHQtcHJpbWFyeVtkYXRhLXYtNmQ0MDE0OGNde2NvbG9yOiMyMjc3ZmN9LnRleHQtZXJyb3JbZGF0YS12LTZkNDAxNDhjXXtjb2xvcjojZjA0YTVhfS50ZXh0LXNlY29uZGFyeVtkYXRhLXYtNmQ0MDE0OGNde2NvbG9yOiM5OTl9LnRleHQtZGVlcGJsdWVbZGF0YS12LTZkNDAxNDhjXXtjb2xvcjojMGQyNzU4fS50ZXh0LTMzM1tkYXRhLXYtNmQ0MDE0OGNde2NvbG9yOiMzMzN9LnByaW1hcnktYnV0dG9uW2RhdGEtdi02ZDQwMTQ4Y117YmFja2dyb3VuZC1jb2xvcjojMjI3N2ZjO2NvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czolPzEwPyU7Zm9udC1zaXplOiU/MzI/JTtwYWRkaW5nOiU/ND8lIDA7Ym9yZGVyOm5vbmU7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgxODBkZWcsIzAwYzZmYiAwLCMwMDViZWEpfS5wcmltYXJ5LWJ1dHRvbltkYXRhLXYtNmQ0MDE0OGNdOmFmdGVye2Rpc3BsYXk6bm9uZX0uZXJyb3ItYnV0dG9uW2RhdGEtdi02ZDQwMTQ4Y117YmFja2dyb3VuZC1jb2xvcjojZjA0YTVhO2NvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czolPzEwPyU7Zm9udC1zaXplOiU/MzI/JTtwYWRkaW5nOiU/ND8lIDA7Ym9yZGVyOm5vbmU7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgxODBkZWcsI2Y3NzA2MiAwLCNmZTUxOTYpfS5lcnJvci1idXR0b25bZGF0YS12LTZkNDAxNDhjXTphZnRlcntkaXNwbGF5Om5vbmV9Lndhcm5pbmctYnV0dG9uW2RhdGEtdi02ZDQwMTQ4Y117YmFja2dyb3VuZC1jb2xvcjojZDRiYTgzO2NvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czolPzEwPyU7Zm9udC1zaXplOiU/MzI/JTtwYWRkaW5nOiU/ND8lIDA7Ym9yZGVyOm5vbmU7Y29sb3I6IzRkNGQ0ZDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxZGVnLCNmZmNjOGYsI2ZmZWRkOCl9Lndhcm5pbmctYnV0dG9uW2RhdGEtdi02ZDQwMTQ4Y106YWZ0ZXJ7ZGlzcGxheTpub25lfS5zdWNjZXNzLWJ1dHRvbltkYXRhLXYtNmQ0MDE0OGNde2JhY2tncm91bmQtY29sb3I6IzI4YmE5ODtjb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6JT8xMD8lO2ZvbnQtc2l6ZTolPzMyPyU7cGFkZGluZzolPzQ/JSAwO2JvcmRlcjpub25lO2NvbG9yOiNmZmY7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoMGRlZywjMGJhMzYwIDAsIzNjYmE5Mil9LnN1Y2Nlc3MtYnV0dG9uW2RhdGEtdi02ZDQwMTQ4Y106YWZ0ZXJ7ZGlzcGxheTpub25lfS5zZWNvbmRhcnktYnV0dG9uW2RhdGEtdi02ZDQwMTQ4Y117YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDUxLDUxLDUxLC4wNik7Y29sb3I6I2FmYWZhZjtib3JkZXItcmFkaXVzOiU/MTA/JTtmb250LXNpemU6JT8zMj8lO3BhZGRpbmc6JT80PyUgMDtib3JkZXI6bm9uZTtjb2xvcjojYjFiMGIwO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDBkZWcsI2M0YzVjNyAwLCNkY2RkZGYgNTIlLCNlYmViZWIpfS5zZWNvbmRhcnktYnV0dG9uW2RhdGEtdi02ZDQwMTQ4Y106YWZ0ZXJ7ZGlzcGxheTpub25lfS50ZXh0LXdoaXRlW2RhdGEtdi02ZDQwMTQ4Y117Y29sb3I6I2ZmZiFpbXBvcnRhbnR9LnRleHQtYmxhY2tbZGF0YS12LTZkNDAxNDhjXXtjb2xvcjojNGQ0ZDRkIWltcG9ydGFudH0uYmctd2hpdGVbZGF0YS12LTZkNDAxNDhjXXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmYhaW1wb3J0YW50fS5iZy1wcmltYXJ5W2RhdGEtdi02ZDQwMTQ4Y117YmFja2dyb3VuZC1jb2xvcjojMjI3N2ZjIWltcG9ydGFudH0uYmctc2Vjb25kYXJ5W2RhdGEtdi02ZDQwMTQ4Y117YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDUxLDUxLDUxLC4wNikhaW1wb3J0YW50fS5iZy1ibGFja1tkYXRhLXYtNmQ0MDE0OGNde2JhY2tncm91bmQtY29sb3I6IzRkNGQ0ZCFpbXBvcnRhbnR9LmJnLTMzM1tkYXRhLXYtNmQ0MDE0OGNde2JhY2tncm91bmQtY29sb3I6IzMzMyFpbXBvcnRhbnR9Lm0tMFtkYXRhLXYtNmQ0MDE0OGNde21hcmdpbjolPzA/JSFpbXBvcnRhbnR9Lm14LTBbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tbGVmdDolPzA/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/MD8lIWltcG9ydGFudH0ubWwtMFtkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi1sZWZ0OiU/MD8lIWltcG9ydGFudH0ubXItMFtkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi1yaWdodDolPzA/JSFpbXBvcnRhbnR9Lm15LTBbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tdG9wOiU/MD8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/MD8lIWltcG9ydGFudH0ubXQtMFtkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi10b3A6JT8wPyUhaW1wb3J0YW50fS5tYi0wW2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLWJvdHRvbTolPzA/JSFpbXBvcnRhbnR9LnAtMFtkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmc6JT8wPyUhaW1wb3J0YW50fS5weC0wW2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy1sZWZ0OiU/MD8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/MD8lIWltcG9ydGFudH0ucGwtMFtkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctbGVmdDolPzA/JSFpbXBvcnRhbnR9LnByLTBbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLXJpZ2h0OiU/MD8lIWltcG9ydGFudH0ucHktMFtkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctdG9wOiU/MD8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzA/JSFpbXBvcnRhbnR9LnB0LTBbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLXRvcDolPzA/JSFpbXBvcnRhbnR9LnBiLTBbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLWJvdHRvbTolPzA/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTBbZGF0YS12LTZkNDAxNDhjXXtncmlkLWdhcDolPzA/JSFpbXBvcnRhbnR9LnotaW5kZXgtMFtkYXRhLXYtNmQ0MDE0OGNde3otaW5kZXg6MCFpbXBvcnRhbnR9Lm0tMltkYXRhLXYtNmQ0MDE0OGNde21hcmdpbjolPzI/JSFpbXBvcnRhbnR9Lm14LTJbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tbGVmdDolPzI/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/Mj8lIWltcG9ydGFudH0ubWwtMltkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi1sZWZ0OiU/Mj8lIWltcG9ydGFudH0ubXItMltkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi1yaWdodDolPzI/JSFpbXBvcnRhbnR9Lm15LTJbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tdG9wOiU/Mj8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/Mj8lIWltcG9ydGFudH0ubXQtMltkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi10b3A6JT8yPyUhaW1wb3J0YW50fS5tYi0yW2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLWJvdHRvbTolPzI/JSFpbXBvcnRhbnR9LnAtMltkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmc6JT8yPyUhaW1wb3J0YW50fS5weC0yW2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy1sZWZ0OiU/Mj8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/Mj8lIWltcG9ydGFudH0ucGwtMltkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctbGVmdDolPzI/JSFpbXBvcnRhbnR9LnByLTJbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLXJpZ2h0OiU/Mj8lIWltcG9ydGFudH0ucHktMltkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctdG9wOiU/Mj8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzI/JSFpbXBvcnRhbnR9LnB0LTJbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLXRvcDolPzI/JSFpbXBvcnRhbnR9LnBiLTJbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLWJvdHRvbTolPzI/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTJbZGF0YS12LTZkNDAxNDhjXXtncmlkLWdhcDolPzI/JSFpbXBvcnRhbnR9LnotaW5kZXgtMltkYXRhLXYtNmQ0MDE0OGNde3otaW5kZXg6MiFpbXBvcnRhbnR9Lm0tNFtkYXRhLXYtNmQ0MDE0OGNde21hcmdpbjolPzQ/JSFpbXBvcnRhbnR9Lm14LTRbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tbGVmdDolPzQ/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/ND8lIWltcG9ydGFudH0ubWwtNFtkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi1sZWZ0OiU/ND8lIWltcG9ydGFudH0ubXItNFtkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi1yaWdodDolPzQ/JSFpbXBvcnRhbnR9Lm15LTRbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tdG9wOiU/ND8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/ND8lIWltcG9ydGFudH0ubXQtNFtkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi10b3A6JT80PyUhaW1wb3J0YW50fS5tYi00W2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLWJvdHRvbTolPzQ/JSFpbXBvcnRhbnR9LnAtNFtkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmc6JT80PyUhaW1wb3J0YW50fS5weC00W2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy1sZWZ0OiU/ND8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/ND8lIWltcG9ydGFudH0ucGwtNFtkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctbGVmdDolPzQ/JSFpbXBvcnRhbnR9LnByLTRbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLXJpZ2h0OiU/ND8lIWltcG9ydGFudH0ucHktNFtkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctdG9wOiU/ND8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzQ/JSFpbXBvcnRhbnR9LnB0LTRbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLXRvcDolPzQ/JSFpbXBvcnRhbnR9LnBiLTRbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLWJvdHRvbTolPzQ/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTRbZGF0YS12LTZkNDAxNDhjXXtncmlkLWdhcDolPzQ/JSFpbXBvcnRhbnR9LnotaW5kZXgtNFtkYXRhLXYtNmQ0MDE0OGNde3otaW5kZXg6NCFpbXBvcnRhbnR9Lm0tNltkYXRhLXYtNmQ0MDE0OGNde21hcmdpbjolPzY/JSFpbXBvcnRhbnR9Lm14LTZbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tbGVmdDolPzY/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/Nj8lIWltcG9ydGFudH0ubWwtNltkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi1sZWZ0OiU/Nj8lIWltcG9ydGFudH0ubXItNltkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi1yaWdodDolPzY/JSFpbXBvcnRhbnR9Lm15LTZbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tdG9wOiU/Nj8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/Nj8lIWltcG9ydGFudH0ubXQtNltkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi10b3A6JT82PyUhaW1wb3J0YW50fS5tYi02W2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLWJvdHRvbTolPzY/JSFpbXBvcnRhbnR9LnAtNltkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmc6JT82PyUhaW1wb3J0YW50fS5weC02W2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy1sZWZ0OiU/Nj8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/Nj8lIWltcG9ydGFudH0ucGwtNltkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctbGVmdDolPzY/JSFpbXBvcnRhbnR9LnByLTZbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLXJpZ2h0OiU/Nj8lIWltcG9ydGFudH0ucHktNltkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctdG9wOiU/Nj8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzY/JSFpbXBvcnRhbnR9LnB0LTZbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLXRvcDolPzY/JSFpbXBvcnRhbnR9LnBiLTZbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLWJvdHRvbTolPzY/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTZbZGF0YS12LTZkNDAxNDhjXXtncmlkLWdhcDolPzY/JSFpbXBvcnRhbnR9LnotaW5kZXgtNltkYXRhLXYtNmQ0MDE0OGNde3otaW5kZXg6NiFpbXBvcnRhbnR9Lm0tOFtkYXRhLXYtNmQ0MDE0OGNde21hcmdpbjolPzg/JSFpbXBvcnRhbnR9Lm14LThbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tbGVmdDolPzg/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/OD8lIWltcG9ydGFudH0ubWwtOFtkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi1sZWZ0OiU/OD8lIWltcG9ydGFudH0ubXItOFtkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi1yaWdodDolPzg/JSFpbXBvcnRhbnR9Lm15LThbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tdG9wOiU/OD8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/OD8lIWltcG9ydGFudH0ubXQtOFtkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi10b3A6JT84PyUhaW1wb3J0YW50fS5tYi04W2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLWJvdHRvbTolPzg/JSFpbXBvcnRhbnR9LnAtOFtkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmc6JT84PyUhaW1wb3J0YW50fS5weC04W2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy1sZWZ0OiU/OD8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/OD8lIWltcG9ydGFudH0ucGwtOFtkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctbGVmdDolPzg/JSFpbXBvcnRhbnR9LnByLThbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLXJpZ2h0OiU/OD8lIWltcG9ydGFudH0ucHktOFtkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctdG9wOiU/OD8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzg/JSFpbXBvcnRhbnR9LnB0LThbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLXRvcDolPzg/JSFpbXBvcnRhbnR9LnBiLThbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLWJvdHRvbTolPzg/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLThbZGF0YS12LTZkNDAxNDhjXXtncmlkLWdhcDolPzg/JSFpbXBvcnRhbnR9LnotaW5kZXgtOFtkYXRhLXYtNmQ0MDE0OGNde3otaW5kZXg6OCFpbXBvcnRhbnR9Lm0tMTBbZGF0YS12LTZkNDAxNDhjXXttYXJnaW46JT8xMD8lIWltcG9ydGFudH0ubXgtMTBbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tbGVmdDolPzEwPyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzEwPyUhaW1wb3J0YW50fS5tbC0xMFtkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi1sZWZ0OiU/MTA/JSFpbXBvcnRhbnR9Lm1yLTEwW2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLXJpZ2h0OiU/MTA/JSFpbXBvcnRhbnR9Lm15LTEwW2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLXRvcDolPzEwPyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT8xMD8lIWltcG9ydGFudH0ubXQtMTBbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tdG9wOiU/MTA/JSFpbXBvcnRhbnR9Lm1iLTEwW2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLWJvdHRvbTolPzEwPyUhaW1wb3J0YW50fS5wLTEwW2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZzolPzEwPyUhaW1wb3J0YW50fS5weC0xMFtkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctbGVmdDolPzEwPyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT8xMD8lIWltcG9ydGFudH0ucGwtMTBbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLWxlZnQ6JT8xMD8lIWltcG9ydGFudH0ucHItMTBbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLXJpZ2h0OiU/MTA/JSFpbXBvcnRhbnR9LnB5LTEwW2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy10b3A6JT8xMD8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzEwPyUhaW1wb3J0YW50fS5wdC0xMFtkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctdG9wOiU/MTA/JSFpbXBvcnRhbnR9LnBiLTEwW2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy1ib3R0b206JT8xMD8lIWltcG9ydGFudH0uZ3JpZC1nYXAtMTBbZGF0YS12LTZkNDAxNDhjXXtncmlkLWdhcDolPzEwPyUhaW1wb3J0YW50fS56LWluZGV4LTEwW2RhdGEtdi02ZDQwMTQ4Y117ei1pbmRleDoxMCFpbXBvcnRhbnR9Lm0tMTJbZGF0YS12LTZkNDAxNDhjXXttYXJnaW46JT8xMj8lIWltcG9ydGFudH0ubXgtMTJbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tbGVmdDolPzEyPyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzEyPyUhaW1wb3J0YW50fS5tbC0xMltkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi1sZWZ0OiU/MTI/JSFpbXBvcnRhbnR9Lm1yLTEyW2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLXJpZ2h0OiU/MTI/JSFpbXBvcnRhbnR9Lm15LTEyW2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLXRvcDolPzEyPyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT8xMj8lIWltcG9ydGFudH0ubXQtMTJbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tdG9wOiU/MTI/JSFpbXBvcnRhbnR9Lm1iLTEyW2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLWJvdHRvbTolPzEyPyUhaW1wb3J0YW50fS5wLTEyW2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZzolPzEyPyUhaW1wb3J0YW50fS5weC0xMltkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctbGVmdDolPzEyPyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT8xMj8lIWltcG9ydGFudH0ucGwtMTJbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLWxlZnQ6JT8xMj8lIWltcG9ydGFudH0ucHItMTJbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLXJpZ2h0OiU/MTI/JSFpbXBvcnRhbnR9LnB5LTEyW2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy10b3A6JT8xMj8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzEyPyUhaW1wb3J0YW50fS5wdC0xMltkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctdG9wOiU/MTI/JSFpbXBvcnRhbnR9LnBiLTEyW2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy1ib3R0b206JT8xMj8lIWltcG9ydGFudH0uZ3JpZC1nYXAtMTJbZGF0YS12LTZkNDAxNDhjXXtncmlkLWdhcDolPzEyPyUhaW1wb3J0YW50fS56LWluZGV4LTEyW2RhdGEtdi02ZDQwMTQ4Y117ei1pbmRleDoxMiFpbXBvcnRhbnR9Lm0tMTRbZGF0YS12LTZkNDAxNDhjXXttYXJnaW46JT8xND8lIWltcG9ydGFudH0ubXgtMTRbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tbGVmdDolPzE0PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzE0PyUhaW1wb3J0YW50fS5tbC0xNFtkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi1sZWZ0OiU/MTQ/JSFpbXBvcnRhbnR9Lm1yLTE0W2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLXJpZ2h0OiU/MTQ/JSFpbXBvcnRhbnR9Lm15LTE0W2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLXRvcDolPzE0PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT8xND8lIWltcG9ydGFudH0ubXQtMTRbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tdG9wOiU/MTQ/JSFpbXBvcnRhbnR9Lm1iLTE0W2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLWJvdHRvbTolPzE0PyUhaW1wb3J0YW50fS5wLTE0W2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZzolPzE0PyUhaW1wb3J0YW50fS5weC0xNFtkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctbGVmdDolPzE0PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT8xND8lIWltcG9ydGFudH0ucGwtMTRbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLWxlZnQ6JT8xND8lIWltcG9ydGFudH0ucHItMTRbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLXJpZ2h0OiU/MTQ/JSFpbXBvcnRhbnR9LnB5LTE0W2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy10b3A6JT8xND8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzE0PyUhaW1wb3J0YW50fS5wdC0xNFtkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctdG9wOiU/MTQ/JSFpbXBvcnRhbnR9LnBiLTE0W2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy1ib3R0b206JT8xND8lIWltcG9ydGFudH0uZ3JpZC1nYXAtMTRbZGF0YS12LTZkNDAxNDhjXXtncmlkLWdhcDolPzE0PyUhaW1wb3J0YW50fS56LWluZGV4LTE0W2RhdGEtdi02ZDQwMTQ4Y117ei1pbmRleDoxNCFpbXBvcnRhbnR9Lm0tMTZbZGF0YS12LTZkNDAxNDhjXXttYXJnaW46JT8xNj8lIWltcG9ydGFudH0ubXgtMTZbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tbGVmdDolPzE2PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzE2PyUhaW1wb3J0YW50fS5tbC0xNltkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi1sZWZ0OiU/MTY/JSFpbXBvcnRhbnR9Lm1yLTE2W2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLXJpZ2h0OiU/MTY/JSFpbXBvcnRhbnR9Lm15LTE2W2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLXRvcDolPzE2PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT8xNj8lIWltcG9ydGFudH0ubXQtMTZbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tdG9wOiU/MTY/JSFpbXBvcnRhbnR9Lm1iLTE2W2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLWJvdHRvbTolPzE2PyUhaW1wb3J0YW50fS5wLTE2W2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZzolPzE2PyUhaW1wb3J0YW50fS5weC0xNltkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctbGVmdDolPzE2PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT8xNj8lIWltcG9ydGFudH0ucGwtMTZbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLWxlZnQ6JT8xNj8lIWltcG9ydGFudH0ucHItMTZbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLXJpZ2h0OiU/MTY/JSFpbXBvcnRhbnR9LnB5LTE2W2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy10b3A6JT8xNj8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzE2PyUhaW1wb3J0YW50fS5wdC0xNltkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctdG9wOiU/MTY/JSFpbXBvcnRhbnR9LnBiLTE2W2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy1ib3R0b206JT8xNj8lIWltcG9ydGFudH0uZ3JpZC1nYXAtMTZbZGF0YS12LTZkNDAxNDhjXXtncmlkLWdhcDolPzE2PyUhaW1wb3J0YW50fS56LWluZGV4LTE2W2RhdGEtdi02ZDQwMTQ4Y117ei1pbmRleDoxNiFpbXBvcnRhbnR9Lm0tMThbZGF0YS12LTZkNDAxNDhjXXttYXJnaW46JT8xOD8lIWltcG9ydGFudH0ubXgtMThbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tbGVmdDolPzE4PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzE4PyUhaW1wb3J0YW50fS5tbC0xOFtkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi1sZWZ0OiU/MTg/JSFpbXBvcnRhbnR9Lm1yLTE4W2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLXJpZ2h0OiU/MTg/JSFpbXBvcnRhbnR9Lm15LTE4W2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLXRvcDolPzE4PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT8xOD8lIWltcG9ydGFudH0ubXQtMThbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tdG9wOiU/MTg/JSFpbXBvcnRhbnR9Lm1iLTE4W2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLWJvdHRvbTolPzE4PyUhaW1wb3J0YW50fS5wLTE4W2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZzolPzE4PyUhaW1wb3J0YW50fS5weC0xOFtkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctbGVmdDolPzE4PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT8xOD8lIWltcG9ydGFudH0ucGwtMThbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLWxlZnQ6JT8xOD8lIWltcG9ydGFudH0ucHItMThbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLXJpZ2h0OiU/MTg/JSFpbXBvcnRhbnR9LnB5LTE4W2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy10b3A6JT8xOD8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzE4PyUhaW1wb3J0YW50fS5wdC0xOFtkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctdG9wOiU/MTg/JSFpbXBvcnRhbnR9LnBiLTE4W2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy1ib3R0b206JT8xOD8lIWltcG9ydGFudH0uZ3JpZC1nYXAtMThbZGF0YS12LTZkNDAxNDhjXXtncmlkLWdhcDolPzE4PyUhaW1wb3J0YW50fS56LWluZGV4LTE4W2RhdGEtdi02ZDQwMTQ4Y117ei1pbmRleDoxOCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS0xOFtkYXRhLXYtNmQ0MDE0OGNde2ZvbnQtc2l6ZTolPzE4PyUhaW1wb3J0YW50fS5tLTIwW2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luOiU/MjA/JSFpbXBvcnRhbnR9Lm14LTIwW2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLWxlZnQ6JT8yMD8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT8yMD8lIWltcG9ydGFudH0ubWwtMjBbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tbGVmdDolPzIwPyUhaW1wb3J0YW50fS5tci0yMFtkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi1yaWdodDolPzIwPyUhaW1wb3J0YW50fS5teS0yMFtkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi10b3A6JT8yMD8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/MjA/JSFpbXBvcnRhbnR9Lm10LTIwW2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLXRvcDolPzIwPyUhaW1wb3J0YW50fS5tYi0yMFtkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi1ib3R0b206JT8yMD8lIWltcG9ydGFudH0ucC0yMFtkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmc6JT8yMD8lIWltcG9ydGFudH0ucHgtMjBbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLWxlZnQ6JT8yMD8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/MjA/JSFpbXBvcnRhbnR9LnBsLTIwW2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy1sZWZ0OiU/MjA/JSFpbXBvcnRhbnR9LnByLTIwW2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy1yaWdodDolPzIwPyUhaW1wb3J0YW50fS5weS0yMFtkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctdG9wOiU/MjA/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT8yMD8lIWltcG9ydGFudH0ucHQtMjBbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLXRvcDolPzIwPyUhaW1wb3J0YW50fS5wYi0yMFtkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctYm90dG9tOiU/MjA/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTIwW2RhdGEtdi02ZDQwMTQ4Y117Z3JpZC1nYXA6JT8yMD8lIWltcG9ydGFudH0uei1pbmRleC0yMFtkYXRhLXYtNmQ0MDE0OGNde3otaW5kZXg6MjAhaW1wb3J0YW50fS5mb250LXNpemUtMjBbZGF0YS12LTZkNDAxNDhjXXtmb250LXNpemU6JT8yMD8lIWltcG9ydGFudH0ubS0yMltkYXRhLXYtNmQ0MDE0OGNde21hcmdpbjolPzIyPyUhaW1wb3J0YW50fS5teC0yMltkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi1sZWZ0OiU/MjI/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/MjI/JSFpbXBvcnRhbnR9Lm1sLTIyW2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLWxlZnQ6JT8yMj8lIWltcG9ydGFudH0ubXItMjJbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tcmlnaHQ6JT8yMj8lIWltcG9ydGFudH0ubXktMjJbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tdG9wOiU/MjI/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzIyPyUhaW1wb3J0YW50fS5tdC0yMltkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi10b3A6JT8yMj8lIWltcG9ydGFudH0ubWItMjJbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tYm90dG9tOiU/MjI/JSFpbXBvcnRhbnR9LnAtMjJbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nOiU/MjI/JSFpbXBvcnRhbnR9LnB4LTIyW2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy1sZWZ0OiU/MjI/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzIyPyUhaW1wb3J0YW50fS5wbC0yMltkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctbGVmdDolPzIyPyUhaW1wb3J0YW50fS5wci0yMltkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctcmlnaHQ6JT8yMj8lIWltcG9ydGFudH0ucHktMjJbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLXRvcDolPzIyPyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/MjI/JSFpbXBvcnRhbnR9LnB0LTIyW2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy10b3A6JT8yMj8lIWltcG9ydGFudH0ucGItMjJbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLWJvdHRvbTolPzIyPyUhaW1wb3J0YW50fS5ncmlkLWdhcC0yMltkYXRhLXYtNmQ0MDE0OGNde2dyaWQtZ2FwOiU/MjI/JSFpbXBvcnRhbnR9LnotaW5kZXgtMjJbZGF0YS12LTZkNDAxNDhjXXt6LWluZGV4OjIyIWltcG9ydGFudH0uZm9udC1zaXplLTIyW2RhdGEtdi02ZDQwMTQ4Y10sIC5pbnB1dC1pdGVtIC5nZXQtY29kZVtkYXRhLXYtNmQ0MDE0OGNde2ZvbnQtc2l6ZTolPzIyPyUhaW1wb3J0YW50fS5tLTI0W2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luOiU/MjQ/JSFpbXBvcnRhbnR9Lm14LTI0W2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLWxlZnQ6JT8yND8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT8yND8lIWltcG9ydGFudH0ubWwtMjRbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tbGVmdDolPzI0PyUhaW1wb3J0YW50fS5tci0yNFtkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi1yaWdodDolPzI0PyUhaW1wb3J0YW50fS5teS0yNFtkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi10b3A6JT8yND8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/MjQ/JSFpbXBvcnRhbnR9Lm10LTI0W2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLXRvcDolPzI0PyUhaW1wb3J0YW50fS5tYi0yNFtkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi1ib3R0b206JT8yND8lIWltcG9ydGFudH0ucC0yNFtkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmc6JT8yND8lIWltcG9ydGFudH0ucHgtMjRbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLWxlZnQ6JT8yND8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/MjQ/JSFpbXBvcnRhbnR9LnBsLTI0W2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy1sZWZ0OiU/MjQ/JSFpbXBvcnRhbnR9LnByLTI0W2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy1yaWdodDolPzI0PyUhaW1wb3J0YW50fS5weS0yNFtkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctdG9wOiU/MjQ/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT8yND8lIWltcG9ydGFudH0ucHQtMjRbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLXRvcDolPzI0PyUhaW1wb3J0YW50fS5wYi0yNFtkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctYm90dG9tOiU/MjQ/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTI0W2RhdGEtdi02ZDQwMTQ4Y117Z3JpZC1nYXA6JT8yND8lIWltcG9ydGFudH0uei1pbmRleC0yNFtkYXRhLXYtNmQ0MDE0OGNde3otaW5kZXg6MjQhaW1wb3J0YW50fS5mb250LXNpemUtMjRbZGF0YS12LTZkNDAxNDhjXSwgLmxvZ2luLWlucHV0LWdyb3VwIC5sYWJlbFtkYXRhLXYtNmQ0MDE0OGNde2ZvbnQtc2l6ZTolPzI0PyUhaW1wb3J0YW50fS5tLTI2W2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luOiU/MjY/JSFpbXBvcnRhbnR9Lm14LTI2W2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLWxlZnQ6JT8yNj8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT8yNj8lIWltcG9ydGFudH0ubWwtMjZbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tbGVmdDolPzI2PyUhaW1wb3J0YW50fS5tci0yNltkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi1yaWdodDolPzI2PyUhaW1wb3J0YW50fS5teS0yNltkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi10b3A6JT8yNj8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/MjY/JSFpbXBvcnRhbnR9Lm10LTI2W2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLXRvcDolPzI2PyUhaW1wb3J0YW50fS5tYi0yNltkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi1ib3R0b206JT8yNj8lIWltcG9ydGFudH0ucC0yNltkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmc6JT8yNj8lIWltcG9ydGFudH0ucHgtMjZbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLWxlZnQ6JT8yNj8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/MjY/JSFpbXBvcnRhbnR9LnBsLTI2W2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy1sZWZ0OiU/MjY/JSFpbXBvcnRhbnR9LnByLTI2W2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy1yaWdodDolPzI2PyUhaW1wb3J0YW50fS5weS0yNltkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctdG9wOiU/MjY/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT8yNj8lIWltcG9ydGFudH0ucHQtMjZbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLXRvcDolPzI2PyUhaW1wb3J0YW50fS5wYi0yNltkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctYm90dG9tOiU/MjY/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTI2W2RhdGEtdi02ZDQwMTQ4Y117Z3JpZC1nYXA6JT8yNj8lIWltcG9ydGFudH0uei1pbmRleC0yNltkYXRhLXYtNmQ0MDE0OGNde3otaW5kZXg6MjYhaW1wb3J0YW50fS5mb250LXNpemUtMjZbZGF0YS12LTZkNDAxNDhjXXtmb250LXNpemU6JT8yNj8lIWltcG9ydGFudH0ubS0yOFtkYXRhLXYtNmQ0MDE0OGNde21hcmdpbjolPzI4PyUhaW1wb3J0YW50fS5teC0yOFtkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi1sZWZ0OiU/Mjg/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/Mjg/JSFpbXBvcnRhbnR9Lm1sLTI4W2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLWxlZnQ6JT8yOD8lIWltcG9ydGFudH0ubXItMjhbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tcmlnaHQ6JT8yOD8lIWltcG9ydGFudH0ubXktMjhbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tdG9wOiU/Mjg/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzI4PyUhaW1wb3J0YW50fS5tdC0yOFtkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi10b3A6JT8yOD8lIWltcG9ydGFudH0ubWItMjhbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tYm90dG9tOiU/Mjg/JSFpbXBvcnRhbnR9LnAtMjhbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nOiU/Mjg/JSFpbXBvcnRhbnR9LnB4LTI4W2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy1sZWZ0OiU/Mjg/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzI4PyUhaW1wb3J0YW50fS5wbC0yOFtkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctbGVmdDolPzI4PyUhaW1wb3J0YW50fS5wci0yOFtkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctcmlnaHQ6JT8yOD8lIWltcG9ydGFudH0ucHktMjhbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLXRvcDolPzI4PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/Mjg/JSFpbXBvcnRhbnR9LnB0LTI4W2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy10b3A6JT8yOD8lIWltcG9ydGFudH0ucGItMjhbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLWJvdHRvbTolPzI4PyUhaW1wb3J0YW50fS5ncmlkLWdhcC0yOFtkYXRhLXYtNmQ0MDE0OGNde2dyaWQtZ2FwOiU/Mjg/JSFpbXBvcnRhbnR9LnotaW5kZXgtMjhbZGF0YS12LTZkNDAxNDhjXXt6LWluZGV4OjI4IWltcG9ydGFudH0uZm9udC1zaXplLTI4W2RhdGEtdi02ZDQwMTQ4Y117Zm9udC1zaXplOiU/Mjg/JSFpbXBvcnRhbnR9Lm0tMzBbZGF0YS12LTZkNDAxNDhjXXttYXJnaW46JT8zMD8lIWltcG9ydGFudH0ubXgtMzBbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tbGVmdDolPzMwPyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzMwPyUhaW1wb3J0YW50fS5tbC0zMFtkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi1sZWZ0OiU/MzA/JSFpbXBvcnRhbnR9Lm1yLTMwW2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLXJpZ2h0OiU/MzA/JSFpbXBvcnRhbnR9Lm15LTMwW2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLXRvcDolPzMwPyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT8zMD8lIWltcG9ydGFudH0ubXQtMzBbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tdG9wOiU/MzA/JSFpbXBvcnRhbnR9Lm1iLTMwW2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLWJvdHRvbTolPzMwPyUhaW1wb3J0YW50fS5wLTMwW2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZzolPzMwPyUhaW1wb3J0YW50fS5weC0zMFtkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctbGVmdDolPzMwPyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT8zMD8lIWltcG9ydGFudH0ucGwtMzBbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLWxlZnQ6JT8zMD8lIWltcG9ydGFudH0ucHItMzBbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLXJpZ2h0OiU/MzA/JSFpbXBvcnRhbnR9LnB5LTMwW2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy10b3A6JT8zMD8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzMwPyUhaW1wb3J0YW50fS5wdC0zMFtkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctdG9wOiU/MzA/JSFpbXBvcnRhbnR9LnBiLTMwW2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy1ib3R0b206JT8zMD8lIWltcG9ydGFudH0uZ3JpZC1nYXAtMzBbZGF0YS12LTZkNDAxNDhjXXtncmlkLWdhcDolPzMwPyUhaW1wb3J0YW50fS56LWluZGV4LTMwW2RhdGEtdi02ZDQwMTQ4Y117ei1pbmRleDozMCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS0zMFtkYXRhLXYtNmQ0MDE0OGNde2ZvbnQtc2l6ZTolPzMwPyUhaW1wb3J0YW50fS5tLTMyW2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luOiU/MzI/JSFpbXBvcnRhbnR9Lm14LTMyW2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLWxlZnQ6JT8zMj8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT8zMj8lIWltcG9ydGFudH0ubWwtMzJbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tbGVmdDolPzMyPyUhaW1wb3J0YW50fS5tci0zMltkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi1yaWdodDolPzMyPyUhaW1wb3J0YW50fS5teS0zMltkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi10b3A6JT8zMj8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/MzI/JSFpbXBvcnRhbnR9Lm10LTMyW2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLXRvcDolPzMyPyUhaW1wb3J0YW50fS5tYi0zMltkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi1ib3R0b206JT8zMj8lIWltcG9ydGFudH0ucC0zMltkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmc6JT8zMj8lIWltcG9ydGFudH0ucHgtMzJbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLWxlZnQ6JT8zMj8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/MzI/JSFpbXBvcnRhbnR9LnBsLTMyW2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy1sZWZ0OiU/MzI/JSFpbXBvcnRhbnR9LnByLTMyW2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy1yaWdodDolPzMyPyUhaW1wb3J0YW50fS5weS0zMltkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctdG9wOiU/MzI/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT8zMj8lIWltcG9ydGFudH0ucHQtMzJbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLXRvcDolPzMyPyUhaW1wb3J0YW50fS5wYi0zMltkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctYm90dG9tOiU/MzI/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTMyW2RhdGEtdi02ZDQwMTQ4Y117Z3JpZC1nYXA6JT8zMj8lIWltcG9ydGFudH0uei1pbmRleC0zMltkYXRhLXYtNmQ0MDE0OGNde3otaW5kZXg6MzIhaW1wb3J0YW50fS5mb250LXNpemUtMzJbZGF0YS12LTZkNDAxNDhjXSwgLmlucHV0W2RhdGEtdi02ZDQwMTQ4Y10sIC5sb2dpbi1pbnB1dC1ncm91cCAubG9naW4taW5wdXRbZGF0YS12LTZkNDAxNDhjXSwgLmFydGljbGUgdW5pLXRleHRbZGF0YS12LTZkNDAxNDhjXXtmb250LXNpemU6JT8zMj8lIWltcG9ydGFudH0ubS0zNFtkYXRhLXYtNmQ0MDE0OGNde21hcmdpbjolPzM0PyUhaW1wb3J0YW50fS5teC0zNFtkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi1sZWZ0OiU/MzQ/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/MzQ/JSFpbXBvcnRhbnR9Lm1sLTM0W2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLWxlZnQ6JT8zND8lIWltcG9ydGFudH0ubXItMzRbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tcmlnaHQ6JT8zND8lIWltcG9ydGFudH0ubXktMzRbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tdG9wOiU/MzQ/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzM0PyUhaW1wb3J0YW50fS5tdC0zNFtkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi10b3A6JT8zND8lIWltcG9ydGFudH0ubWItMzRbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tYm90dG9tOiU/MzQ/JSFpbXBvcnRhbnR9LnAtMzRbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nOiU/MzQ/JSFpbXBvcnRhbnR9LnB4LTM0W2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy1sZWZ0OiU/MzQ/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzM0PyUhaW1wb3J0YW50fS5wbC0zNFtkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctbGVmdDolPzM0PyUhaW1wb3J0YW50fS5wci0zNFtkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctcmlnaHQ6JT8zND8lIWltcG9ydGFudH0ucHktMzRbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLXRvcDolPzM0PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/MzQ/JSFpbXBvcnRhbnR9LnB0LTM0W2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy10b3A6JT8zND8lIWltcG9ydGFudH0ucGItMzRbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLWJvdHRvbTolPzM0PyUhaW1wb3J0YW50fS5ncmlkLWdhcC0zNFtkYXRhLXYtNmQ0MDE0OGNde2dyaWQtZ2FwOiU/MzQ/JSFpbXBvcnRhbnR9LnotaW5kZXgtMzRbZGF0YS12LTZkNDAxNDhjXXt6LWluZGV4OjM0IWltcG9ydGFudH0uZm9udC1zaXplLTM0W2RhdGEtdi02ZDQwMTQ4Y117Zm9udC1zaXplOiU/MzQ/JSFpbXBvcnRhbnR9Lm0tMzZbZGF0YS12LTZkNDAxNDhjXXttYXJnaW46JT8zNj8lIWltcG9ydGFudH0ubXgtMzZbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tbGVmdDolPzM2PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzM2PyUhaW1wb3J0YW50fS5tbC0zNltkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi1sZWZ0OiU/MzY/JSFpbXBvcnRhbnR9Lm1yLTM2W2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLXJpZ2h0OiU/MzY/JSFpbXBvcnRhbnR9Lm15LTM2W2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLXRvcDolPzM2PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT8zNj8lIWltcG9ydGFudH0ubXQtMzZbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tdG9wOiU/MzY/JSFpbXBvcnRhbnR9Lm1iLTM2W2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLWJvdHRvbTolPzM2PyUhaW1wb3J0YW50fS5wLTM2W2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZzolPzM2PyUhaW1wb3J0YW50fS5weC0zNltkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctbGVmdDolPzM2PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT8zNj8lIWltcG9ydGFudH0ucGwtMzZbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLWxlZnQ6JT8zNj8lIWltcG9ydGFudH0ucHItMzZbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLXJpZ2h0OiU/MzY/JSFpbXBvcnRhbnR9LnB5LTM2W2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy10b3A6JT8zNj8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzM2PyUhaW1wb3J0YW50fS5wdC0zNltkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctdG9wOiU/MzY/JSFpbXBvcnRhbnR9LnBiLTM2W2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy1ib3R0b206JT8zNj8lIWltcG9ydGFudH0uZ3JpZC1nYXAtMzZbZGF0YS12LTZkNDAxNDhjXXtncmlkLWdhcDolPzM2PyUhaW1wb3J0YW50fS56LWluZGV4LTM2W2RhdGEtdi02ZDQwMTQ4Y117ei1pbmRleDozNiFpbXBvcnRhbnR9LmZvbnQtc2l6ZS0zNltkYXRhLXYtNmQ0MDE0OGNde2ZvbnQtc2l6ZTolPzM2PyUhaW1wb3J0YW50fS5tLTM4W2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luOiU/Mzg/JSFpbXBvcnRhbnR9Lm14LTM4W2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLWxlZnQ6JT8zOD8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT8zOD8lIWltcG9ydGFudH0ubWwtMzhbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tbGVmdDolPzM4PyUhaW1wb3J0YW50fS5tci0zOFtkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi1yaWdodDolPzM4PyUhaW1wb3J0YW50fS5teS0zOFtkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi10b3A6JT8zOD8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/Mzg/JSFpbXBvcnRhbnR9Lm10LTM4W2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLXRvcDolPzM4PyUhaW1wb3J0YW50fS5tYi0zOFtkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi1ib3R0b206JT8zOD8lIWltcG9ydGFudH0ucC0zOFtkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmc6JT8zOD8lIWltcG9ydGFudH0ucHgtMzhbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLWxlZnQ6JT8zOD8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/Mzg/JSFpbXBvcnRhbnR9LnBsLTM4W2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy1sZWZ0OiU/Mzg/JSFpbXBvcnRhbnR9LnByLTM4W2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy1yaWdodDolPzM4PyUhaW1wb3J0YW50fS5weS0zOFtkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctdG9wOiU/Mzg/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT8zOD8lIWltcG9ydGFudH0ucHQtMzhbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLXRvcDolPzM4PyUhaW1wb3J0YW50fS5wYi0zOFtkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctYm90dG9tOiU/Mzg/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTM4W2RhdGEtdi02ZDQwMTQ4Y117Z3JpZC1nYXA6JT8zOD8lIWltcG9ydGFudH0uei1pbmRleC0zOFtkYXRhLXYtNmQ0MDE0OGNde3otaW5kZXg6MzghaW1wb3J0YW50fS5mb250LXNpemUtMzhbZGF0YS12LTZkNDAxNDhjXXtmb250LXNpemU6JT8zOD8lIWltcG9ydGFudH0ubS00MFtkYXRhLXYtNmQ0MDE0OGNde21hcmdpbjolPzQwPyUhaW1wb3J0YW50fS5teC00MFtkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi1sZWZ0OiU/NDA/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/NDA/JSFpbXBvcnRhbnR9Lm1sLTQwW2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLWxlZnQ6JT80MD8lIWltcG9ydGFudH0ubXItNDBbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tcmlnaHQ6JT80MD8lIWltcG9ydGFudH0ubXktNDBbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tdG9wOiU/NDA/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzQwPyUhaW1wb3J0YW50fS5tdC00MFtkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi10b3A6JT80MD8lIWltcG9ydGFudH0ubWItNDBbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tYm90dG9tOiU/NDA/JSFpbXBvcnRhbnR9LnAtNDBbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nOiU/NDA/JSFpbXBvcnRhbnR9LnB4LTQwW2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy1sZWZ0OiU/NDA/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzQwPyUhaW1wb3J0YW50fS5wbC00MFtkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctbGVmdDolPzQwPyUhaW1wb3J0YW50fS5wci00MFtkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctcmlnaHQ6JT80MD8lIWltcG9ydGFudH0ucHktNDBbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLXRvcDolPzQwPyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NDA/JSFpbXBvcnRhbnR9LnB0LTQwW2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy10b3A6JT80MD8lIWltcG9ydGFudH0ucGItNDBbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLWJvdHRvbTolPzQwPyUhaW1wb3J0YW50fS5ncmlkLWdhcC00MFtkYXRhLXYtNmQ0MDE0OGNde2dyaWQtZ2FwOiU/NDA/JSFpbXBvcnRhbnR9LnotaW5kZXgtNDBbZGF0YS12LTZkNDAxNDhjXXt6LWluZGV4OjQwIWltcG9ydGFudH0uZm9udC1zaXplLTQwW2RhdGEtdi02ZDQwMTQ4Y117Zm9udC1zaXplOiU/NDA/JSFpbXBvcnRhbnR9Lm0tNDJbZGF0YS12LTZkNDAxNDhjXXttYXJnaW46JT80Mj8lIWltcG9ydGFudH0ubXgtNDJbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tbGVmdDolPzQyPyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzQyPyUhaW1wb3J0YW50fS5tbC00MltkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi1sZWZ0OiU/NDI/JSFpbXBvcnRhbnR9Lm1yLTQyW2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLXJpZ2h0OiU/NDI/JSFpbXBvcnRhbnR9Lm15LTQyW2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLXRvcDolPzQyPyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT80Mj8lIWltcG9ydGFudH0ubXQtNDJbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tdG9wOiU/NDI/JSFpbXBvcnRhbnR9Lm1iLTQyW2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLWJvdHRvbTolPzQyPyUhaW1wb3J0YW50fS5wLTQyW2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZzolPzQyPyUhaW1wb3J0YW50fS5weC00MltkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctbGVmdDolPzQyPyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT80Mj8lIWltcG9ydGFudH0ucGwtNDJbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLWxlZnQ6JT80Mj8lIWltcG9ydGFudH0ucHItNDJbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLXJpZ2h0OiU/NDI/JSFpbXBvcnRhbnR9LnB5LTQyW2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy10b3A6JT80Mj8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzQyPyUhaW1wb3J0YW50fS5wdC00MltkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctdG9wOiU/NDI/JSFpbXBvcnRhbnR9LnBiLTQyW2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy1ib3R0b206JT80Mj8lIWltcG9ydGFudH0uZ3JpZC1nYXAtNDJbZGF0YS12LTZkNDAxNDhjXXtncmlkLWdhcDolPzQyPyUhaW1wb3J0YW50fS56LWluZGV4LTQyW2RhdGEtdi02ZDQwMTQ4Y117ei1pbmRleDo0MiFpbXBvcnRhbnR9LmZvbnQtc2l6ZS00MltkYXRhLXYtNmQ0MDE0OGNde2ZvbnQtc2l6ZTolPzQyPyUhaW1wb3J0YW50fS5tLTQ0W2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luOiU/NDQ/JSFpbXBvcnRhbnR9Lm14LTQ0W2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLWxlZnQ6JT80ND8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT80ND8lIWltcG9ydGFudH0ubWwtNDRbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tbGVmdDolPzQ0PyUhaW1wb3J0YW50fS5tci00NFtkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi1yaWdodDolPzQ0PyUhaW1wb3J0YW50fS5teS00NFtkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi10b3A6JT80ND8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/NDQ/JSFpbXBvcnRhbnR9Lm10LTQ0W2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLXRvcDolPzQ0PyUhaW1wb3J0YW50fS5tYi00NFtkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi1ib3R0b206JT80ND8lIWltcG9ydGFudH0ucC00NFtkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmc6JT80ND8lIWltcG9ydGFudH0ucHgtNDRbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLWxlZnQ6JT80ND8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/NDQ/JSFpbXBvcnRhbnR9LnBsLTQ0W2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy1sZWZ0OiU/NDQ/JSFpbXBvcnRhbnR9LnByLTQ0W2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy1yaWdodDolPzQ0PyUhaW1wb3J0YW50fS5weS00NFtkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctdG9wOiU/NDQ/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT80ND8lIWltcG9ydGFudH0ucHQtNDRbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLXRvcDolPzQ0PyUhaW1wb3J0YW50fS5wYi00NFtkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctYm90dG9tOiU/NDQ/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTQ0W2RhdGEtdi02ZDQwMTQ4Y117Z3JpZC1nYXA6JT80ND8lIWltcG9ydGFudH0uei1pbmRleC00NFtkYXRhLXYtNmQ0MDE0OGNde3otaW5kZXg6NDQhaW1wb3J0YW50fS5mb250LXNpemUtNDRbZGF0YS12LTZkNDAxNDhjXXtmb250LXNpemU6JT80ND8lIWltcG9ydGFudH0ubS00NltkYXRhLXYtNmQ0MDE0OGNde21hcmdpbjolPzQ2PyUhaW1wb3J0YW50fS5teC00NltkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi1sZWZ0OiU/NDY/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/NDY/JSFpbXBvcnRhbnR9Lm1sLTQ2W2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLWxlZnQ6JT80Nj8lIWltcG9ydGFudH0ubXItNDZbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tcmlnaHQ6JT80Nj8lIWltcG9ydGFudH0ubXktNDZbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tdG9wOiU/NDY/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzQ2PyUhaW1wb3J0YW50fS5tdC00NltkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi10b3A6JT80Nj8lIWltcG9ydGFudH0ubWItNDZbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tYm90dG9tOiU/NDY/JSFpbXBvcnRhbnR9LnAtNDZbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nOiU/NDY/JSFpbXBvcnRhbnR9LnB4LTQ2W2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy1sZWZ0OiU/NDY/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzQ2PyUhaW1wb3J0YW50fS5wbC00NltkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctbGVmdDolPzQ2PyUhaW1wb3J0YW50fS5wci00NltkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctcmlnaHQ6JT80Nj8lIWltcG9ydGFudH0ucHktNDZbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLXRvcDolPzQ2PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NDY/JSFpbXBvcnRhbnR9LnB0LTQ2W2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy10b3A6JT80Nj8lIWltcG9ydGFudH0ucGItNDZbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLWJvdHRvbTolPzQ2PyUhaW1wb3J0YW50fS5ncmlkLWdhcC00NltkYXRhLXYtNmQ0MDE0OGNde2dyaWQtZ2FwOiU/NDY/JSFpbXBvcnRhbnR9LnotaW5kZXgtNDZbZGF0YS12LTZkNDAxNDhjXXt6LWluZGV4OjQ2IWltcG9ydGFudH0uZm9udC1zaXplLTQ2W2RhdGEtdi02ZDQwMTQ4Y117Zm9udC1zaXplOiU/NDY/JSFpbXBvcnRhbnR9Lm0tNDhbZGF0YS12LTZkNDAxNDhjXXttYXJnaW46JT80OD8lIWltcG9ydGFudH0ubXgtNDhbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tbGVmdDolPzQ4PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzQ4PyUhaW1wb3J0YW50fS5tbC00OFtkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi1sZWZ0OiU/NDg/JSFpbXBvcnRhbnR9Lm1yLTQ4W2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLXJpZ2h0OiU/NDg/JSFpbXBvcnRhbnR9Lm15LTQ4W2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLXRvcDolPzQ4PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT80OD8lIWltcG9ydGFudH0ubXQtNDhbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tdG9wOiU/NDg/JSFpbXBvcnRhbnR9Lm1iLTQ4W2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLWJvdHRvbTolPzQ4PyUhaW1wb3J0YW50fS5wLTQ4W2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZzolPzQ4PyUhaW1wb3J0YW50fS5weC00OFtkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctbGVmdDolPzQ4PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT80OD8lIWltcG9ydGFudH0ucGwtNDhbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLWxlZnQ6JT80OD8lIWltcG9ydGFudH0ucHItNDhbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLXJpZ2h0OiU/NDg/JSFpbXBvcnRhbnR9LnB5LTQ4W2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy10b3A6JT80OD8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzQ4PyUhaW1wb3J0YW50fS5wdC00OFtkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctdG9wOiU/NDg/JSFpbXBvcnRhbnR9LnBiLTQ4W2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy1ib3R0b206JT80OD8lIWltcG9ydGFudH0uZ3JpZC1nYXAtNDhbZGF0YS12LTZkNDAxNDhjXXtncmlkLWdhcDolPzQ4PyUhaW1wb3J0YW50fS56LWluZGV4LTQ4W2RhdGEtdi02ZDQwMTQ4Y117ei1pbmRleDo0OCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS00OFtkYXRhLXYtNmQ0MDE0OGNde2ZvbnQtc2l6ZTolPzQ4PyUhaW1wb3J0YW50fS5tLTUwW2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luOiU/NTA/JSFpbXBvcnRhbnR9Lm14LTUwW2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLWxlZnQ6JT81MD8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT81MD8lIWltcG9ydGFudH0ubWwtNTBbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tbGVmdDolPzUwPyUhaW1wb3J0YW50fS5tci01MFtkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi1yaWdodDolPzUwPyUhaW1wb3J0YW50fS5teS01MFtkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi10b3A6JT81MD8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/NTA/JSFpbXBvcnRhbnR9Lm10LTUwW2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLXRvcDolPzUwPyUhaW1wb3J0YW50fS5tYi01MFtkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi1ib3R0b206JT81MD8lIWltcG9ydGFudH0ucC01MFtkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmc6JT81MD8lIWltcG9ydGFudH0ucHgtNTBbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLWxlZnQ6JT81MD8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/NTA/JSFpbXBvcnRhbnR9LnBsLTUwW2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy1sZWZ0OiU/NTA/JSFpbXBvcnRhbnR9LnByLTUwW2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy1yaWdodDolPzUwPyUhaW1wb3J0YW50fS5weS01MFtkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctdG9wOiU/NTA/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT81MD8lIWltcG9ydGFudH0ucHQtNTBbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLXRvcDolPzUwPyUhaW1wb3J0YW50fS5wYi01MFtkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctYm90dG9tOiU/NTA/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTUwW2RhdGEtdi02ZDQwMTQ4Y117Z3JpZC1nYXA6JT81MD8lIWltcG9ydGFudH0uei1pbmRleC01MFtkYXRhLXYtNmQ0MDE0OGNde3otaW5kZXg6NTAhaW1wb3J0YW50fS5mb250LXNpemUtNTBbZGF0YS12LTZkNDAxNDhjXXtmb250LXNpemU6JT81MD8lIWltcG9ydGFudH0ubS01MltkYXRhLXYtNmQ0MDE0OGNde21hcmdpbjolPzUyPyUhaW1wb3J0YW50fS5teC01MltkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi1sZWZ0OiU/NTI/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/NTI/JSFpbXBvcnRhbnR9Lm1sLTUyW2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLWxlZnQ6JT81Mj8lIWltcG9ydGFudH0ubXItNTJbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tcmlnaHQ6JT81Mj8lIWltcG9ydGFudH0ubXktNTJbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tdG9wOiU/NTI/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzUyPyUhaW1wb3J0YW50fS5tdC01MltkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi10b3A6JT81Mj8lIWltcG9ydGFudH0ubWItNTJbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tYm90dG9tOiU/NTI/JSFpbXBvcnRhbnR9LnAtNTJbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nOiU/NTI/JSFpbXBvcnRhbnR9LnB4LTUyW2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy1sZWZ0OiU/NTI/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzUyPyUhaW1wb3J0YW50fS5wbC01MltkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctbGVmdDolPzUyPyUhaW1wb3J0YW50fS5wci01MltkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctcmlnaHQ6JT81Mj8lIWltcG9ydGFudH0ucHktNTJbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLXRvcDolPzUyPyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NTI/JSFpbXBvcnRhbnR9LnB0LTUyW2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy10b3A6JT81Mj8lIWltcG9ydGFudH0ucGItNTJbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLWJvdHRvbTolPzUyPyUhaW1wb3J0YW50fS5ncmlkLWdhcC01MltkYXRhLXYtNmQ0MDE0OGNde2dyaWQtZ2FwOiU/NTI/JSFpbXBvcnRhbnR9LnotaW5kZXgtNTJbZGF0YS12LTZkNDAxNDhjXXt6LWluZGV4OjUyIWltcG9ydGFudH0uZm9udC1zaXplLTUyW2RhdGEtdi02ZDQwMTQ4Y117Zm9udC1zaXplOiU/NTI/JSFpbXBvcnRhbnR9Lm0tNTRbZGF0YS12LTZkNDAxNDhjXXttYXJnaW46JT81ND8lIWltcG9ydGFudH0ubXgtNTRbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tbGVmdDolPzU0PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzU0PyUhaW1wb3J0YW50fS5tbC01NFtkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi1sZWZ0OiU/NTQ/JSFpbXBvcnRhbnR9Lm1yLTU0W2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLXJpZ2h0OiU/NTQ/JSFpbXBvcnRhbnR9Lm15LTU0W2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLXRvcDolPzU0PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT81ND8lIWltcG9ydGFudH0ubXQtNTRbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tdG9wOiU/NTQ/JSFpbXBvcnRhbnR9Lm1iLTU0W2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLWJvdHRvbTolPzU0PyUhaW1wb3J0YW50fS5wLTU0W2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZzolPzU0PyUhaW1wb3J0YW50fS5weC01NFtkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctbGVmdDolPzU0PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT81ND8lIWltcG9ydGFudH0ucGwtNTRbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLWxlZnQ6JT81ND8lIWltcG9ydGFudH0ucHItNTRbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLXJpZ2h0OiU/NTQ/JSFpbXBvcnRhbnR9LnB5LTU0W2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy10b3A6JT81ND8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzU0PyUhaW1wb3J0YW50fS5wdC01NFtkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctdG9wOiU/NTQ/JSFpbXBvcnRhbnR9LnBiLTU0W2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy1ib3R0b206JT81ND8lIWltcG9ydGFudH0uZ3JpZC1nYXAtNTRbZGF0YS12LTZkNDAxNDhjXXtncmlkLWdhcDolPzU0PyUhaW1wb3J0YW50fS56LWluZGV4LTU0W2RhdGEtdi02ZDQwMTQ4Y117ei1pbmRleDo1NCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS01NFtkYXRhLXYtNmQ0MDE0OGNde2ZvbnQtc2l6ZTolPzU0PyUhaW1wb3J0YW50fS5tLTU2W2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luOiU/NTY/JSFpbXBvcnRhbnR9Lm14LTU2W2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLWxlZnQ6JT81Nj8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT81Nj8lIWltcG9ydGFudH0ubWwtNTZbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tbGVmdDolPzU2PyUhaW1wb3J0YW50fS5tci01NltkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi1yaWdodDolPzU2PyUhaW1wb3J0YW50fS5teS01NltkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi10b3A6JT81Nj8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/NTY/JSFpbXBvcnRhbnR9Lm10LTU2W2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLXRvcDolPzU2PyUhaW1wb3J0YW50fS5tYi01NltkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi1ib3R0b206JT81Nj8lIWltcG9ydGFudH0ucC01NltkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmc6JT81Nj8lIWltcG9ydGFudH0ucHgtNTZbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLWxlZnQ6JT81Nj8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/NTY/JSFpbXBvcnRhbnR9LnBsLTU2W2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy1sZWZ0OiU/NTY/JSFpbXBvcnRhbnR9LnByLTU2W2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy1yaWdodDolPzU2PyUhaW1wb3J0YW50fS5weS01NltkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctdG9wOiU/NTY/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT81Nj8lIWltcG9ydGFudH0ucHQtNTZbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLXRvcDolPzU2PyUhaW1wb3J0YW50fS5wYi01NltkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctYm90dG9tOiU/NTY/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTU2W2RhdGEtdi02ZDQwMTQ4Y117Z3JpZC1nYXA6JT81Nj8lIWltcG9ydGFudH0uei1pbmRleC01NltkYXRhLXYtNmQ0MDE0OGNde3otaW5kZXg6NTYhaW1wb3J0YW50fS5mb250LXNpemUtNTZbZGF0YS12LTZkNDAxNDhjXXtmb250LXNpemU6JT81Nj8lIWltcG9ydGFudH0ubS01OFtkYXRhLXYtNmQ0MDE0OGNde21hcmdpbjolPzU4PyUhaW1wb3J0YW50fS5teC01OFtkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi1sZWZ0OiU/NTg/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/NTg/JSFpbXBvcnRhbnR9Lm1sLTU4W2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLWxlZnQ6JT81OD8lIWltcG9ydGFudH0ubXItNThbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tcmlnaHQ6JT81OD8lIWltcG9ydGFudH0ubXktNThbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tdG9wOiU/NTg/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzU4PyUhaW1wb3J0YW50fS5tdC01OFtkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi10b3A6JT81OD8lIWltcG9ydGFudH0ubWItNThbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tYm90dG9tOiU/NTg/JSFpbXBvcnRhbnR9LnAtNThbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nOiU/NTg/JSFpbXBvcnRhbnR9LnB4LTU4W2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy1sZWZ0OiU/NTg/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzU4PyUhaW1wb3J0YW50fS5wbC01OFtkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctbGVmdDolPzU4PyUhaW1wb3J0YW50fS5wci01OFtkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctcmlnaHQ6JT81OD8lIWltcG9ydGFudH0ucHktNThbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLXRvcDolPzU4PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NTg/JSFpbXBvcnRhbnR9LnB0LTU4W2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy10b3A6JT81OD8lIWltcG9ydGFudH0ucGItNThbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLWJvdHRvbTolPzU4PyUhaW1wb3J0YW50fS5ncmlkLWdhcC01OFtkYXRhLXYtNmQ0MDE0OGNde2dyaWQtZ2FwOiU/NTg/JSFpbXBvcnRhbnR9LnotaW5kZXgtNThbZGF0YS12LTZkNDAxNDhjXXt6LWluZGV4OjU4IWltcG9ydGFudH0uZm9udC1zaXplLTU4W2RhdGEtdi02ZDQwMTQ4Y117Zm9udC1zaXplOiU/NTg/JSFpbXBvcnRhbnR9Lm0tNjBbZGF0YS12LTZkNDAxNDhjXXttYXJnaW46JT82MD8lIWltcG9ydGFudH0ubXgtNjBbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tbGVmdDolPzYwPyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzYwPyUhaW1wb3J0YW50fS5tbC02MFtkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi1sZWZ0OiU/NjA/JSFpbXBvcnRhbnR9Lm1yLTYwW2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLXJpZ2h0OiU/NjA/JSFpbXBvcnRhbnR9Lm15LTYwW2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLXRvcDolPzYwPyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT82MD8lIWltcG9ydGFudH0ubXQtNjBbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tdG9wOiU/NjA/JSFpbXBvcnRhbnR9Lm1iLTYwW2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLWJvdHRvbTolPzYwPyUhaW1wb3J0YW50fS5wLTYwW2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZzolPzYwPyUhaW1wb3J0YW50fS5weC02MFtkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctbGVmdDolPzYwPyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT82MD8lIWltcG9ydGFudH0ucGwtNjBbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLWxlZnQ6JT82MD8lIWltcG9ydGFudH0ucHItNjBbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLXJpZ2h0OiU/NjA/JSFpbXBvcnRhbnR9LnB5LTYwW2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy10b3A6JT82MD8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzYwPyUhaW1wb3J0YW50fS5wdC02MFtkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctdG9wOiU/NjA/JSFpbXBvcnRhbnR9LnBiLTYwW2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy1ib3R0b206JT82MD8lIWltcG9ydGFudH0uZ3JpZC1nYXAtNjBbZGF0YS12LTZkNDAxNDhjXXtncmlkLWdhcDolPzYwPyUhaW1wb3J0YW50fS56LWluZGV4LTYwW2RhdGEtdi02ZDQwMTQ4Y117ei1pbmRleDo2MCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS02MFtkYXRhLXYtNmQ0MDE0OGNde2ZvbnQtc2l6ZTolPzYwPyUhaW1wb3J0YW50fS5tLTYyW2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luOiU/NjI/JSFpbXBvcnRhbnR9Lm14LTYyW2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLWxlZnQ6JT82Mj8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT82Mj8lIWltcG9ydGFudH0ubWwtNjJbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tbGVmdDolPzYyPyUhaW1wb3J0YW50fS5tci02MltkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi1yaWdodDolPzYyPyUhaW1wb3J0YW50fS5teS02MltkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi10b3A6JT82Mj8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/NjI/JSFpbXBvcnRhbnR9Lm10LTYyW2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLXRvcDolPzYyPyUhaW1wb3J0YW50fS5tYi02MltkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi1ib3R0b206JT82Mj8lIWltcG9ydGFudH0ucC02MltkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmc6JT82Mj8lIWltcG9ydGFudH0ucHgtNjJbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLWxlZnQ6JT82Mj8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/NjI/JSFpbXBvcnRhbnR9LnBsLTYyW2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy1sZWZ0OiU/NjI/JSFpbXBvcnRhbnR9LnByLTYyW2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy1yaWdodDolPzYyPyUhaW1wb3J0YW50fS5weS02MltkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctdG9wOiU/NjI/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT82Mj8lIWltcG9ydGFudH0ucHQtNjJbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLXRvcDolPzYyPyUhaW1wb3J0YW50fS5wYi02MltkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctYm90dG9tOiU/NjI/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTYyW2RhdGEtdi02ZDQwMTQ4Y117Z3JpZC1nYXA6JT82Mj8lIWltcG9ydGFudH0uei1pbmRleC02MltkYXRhLXYtNmQ0MDE0OGNde3otaW5kZXg6NjIhaW1wb3J0YW50fS5mb250LXNpemUtNjJbZGF0YS12LTZkNDAxNDhjXXtmb250LXNpemU6JT82Mj8lIWltcG9ydGFudH0ubS02NFtkYXRhLXYtNmQ0MDE0OGNde21hcmdpbjolPzY0PyUhaW1wb3J0YW50fS5teC02NFtkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi1sZWZ0OiU/NjQ/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/NjQ/JSFpbXBvcnRhbnR9Lm1sLTY0W2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLWxlZnQ6JT82ND8lIWltcG9ydGFudH0ubXItNjRbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tcmlnaHQ6JT82ND8lIWltcG9ydGFudH0ubXktNjRbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tdG9wOiU/NjQ/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzY0PyUhaW1wb3J0YW50fS5tdC02NFtkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi10b3A6JT82ND8lIWltcG9ydGFudH0ubWItNjRbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tYm90dG9tOiU/NjQ/JSFpbXBvcnRhbnR9LnAtNjRbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nOiU/NjQ/JSFpbXBvcnRhbnR9LnB4LTY0W2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy1sZWZ0OiU/NjQ/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzY0PyUhaW1wb3J0YW50fS5wbC02NFtkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctbGVmdDolPzY0PyUhaW1wb3J0YW50fS5wci02NFtkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctcmlnaHQ6JT82ND8lIWltcG9ydGFudH0ucHktNjRbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLXRvcDolPzY0PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NjQ/JSFpbXBvcnRhbnR9LnB0LTY0W2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy10b3A6JT82ND8lIWltcG9ydGFudH0ucGItNjRbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLWJvdHRvbTolPzY0PyUhaW1wb3J0YW50fS5ncmlkLWdhcC02NFtkYXRhLXYtNmQ0MDE0OGNde2dyaWQtZ2FwOiU/NjQ/JSFpbXBvcnRhbnR9LnotaW5kZXgtNjRbZGF0YS12LTZkNDAxNDhjXXt6LWluZGV4OjY0IWltcG9ydGFudH0uZm9udC1zaXplLTY0W2RhdGEtdi02ZDQwMTQ4Y117Zm9udC1zaXplOiU/NjQ/JSFpbXBvcnRhbnR9Lm0tNjZbZGF0YS12LTZkNDAxNDhjXXttYXJnaW46JT82Nj8lIWltcG9ydGFudH0ubXgtNjZbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tbGVmdDolPzY2PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzY2PyUhaW1wb3J0YW50fS5tbC02NltkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi1sZWZ0OiU/NjY/JSFpbXBvcnRhbnR9Lm1yLTY2W2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLXJpZ2h0OiU/NjY/JSFpbXBvcnRhbnR9Lm15LTY2W2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLXRvcDolPzY2PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT82Nj8lIWltcG9ydGFudH0ubXQtNjZbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tdG9wOiU/NjY/JSFpbXBvcnRhbnR9Lm1iLTY2W2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLWJvdHRvbTolPzY2PyUhaW1wb3J0YW50fS5wLTY2W2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZzolPzY2PyUhaW1wb3J0YW50fS5weC02NltkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctbGVmdDolPzY2PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT82Nj8lIWltcG9ydGFudH0ucGwtNjZbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLWxlZnQ6JT82Nj8lIWltcG9ydGFudH0ucHItNjZbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLXJpZ2h0OiU/NjY/JSFpbXBvcnRhbnR9LnB5LTY2W2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy10b3A6JT82Nj8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzY2PyUhaW1wb3J0YW50fS5wdC02NltkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctdG9wOiU/NjY/JSFpbXBvcnRhbnR9LnBiLTY2W2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy1ib3R0b206JT82Nj8lIWltcG9ydGFudH0uZ3JpZC1nYXAtNjZbZGF0YS12LTZkNDAxNDhjXXtncmlkLWdhcDolPzY2PyUhaW1wb3J0YW50fS56LWluZGV4LTY2W2RhdGEtdi02ZDQwMTQ4Y117ei1pbmRleDo2NiFpbXBvcnRhbnR9LmZvbnQtc2l6ZS02NltkYXRhLXYtNmQ0MDE0OGNde2ZvbnQtc2l6ZTolPzY2PyUhaW1wb3J0YW50fS5tLTY4W2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luOiU/Njg/JSFpbXBvcnRhbnR9Lm14LTY4W2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLWxlZnQ6JT82OD8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT82OD8lIWltcG9ydGFudH0ubWwtNjhbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tbGVmdDolPzY4PyUhaW1wb3J0YW50fS5tci02OFtkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi1yaWdodDolPzY4PyUhaW1wb3J0YW50fS5teS02OFtkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi10b3A6JT82OD8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/Njg/JSFpbXBvcnRhbnR9Lm10LTY4W2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLXRvcDolPzY4PyUhaW1wb3J0YW50fS5tYi02OFtkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi1ib3R0b206JT82OD8lIWltcG9ydGFudH0ucC02OFtkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmc6JT82OD8lIWltcG9ydGFudH0ucHgtNjhbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLWxlZnQ6JT82OD8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/Njg/JSFpbXBvcnRhbnR9LnBsLTY4W2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy1sZWZ0OiU/Njg/JSFpbXBvcnRhbnR9LnByLTY4W2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy1yaWdodDolPzY4PyUhaW1wb3J0YW50fS5weS02OFtkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctdG9wOiU/Njg/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT82OD8lIWltcG9ydGFudH0ucHQtNjhbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLXRvcDolPzY4PyUhaW1wb3J0YW50fS5wYi02OFtkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctYm90dG9tOiU/Njg/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTY4W2RhdGEtdi02ZDQwMTQ4Y117Z3JpZC1nYXA6JT82OD8lIWltcG9ydGFudH0uei1pbmRleC02OFtkYXRhLXYtNmQ0MDE0OGNde3otaW5kZXg6NjghaW1wb3J0YW50fS5mb250LXNpemUtNjhbZGF0YS12LTZkNDAxNDhjXXtmb250LXNpemU6JT82OD8lIWltcG9ydGFudH0ubS03MFtkYXRhLXYtNmQ0MDE0OGNde21hcmdpbjolPzcwPyUhaW1wb3J0YW50fS5teC03MFtkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi1sZWZ0OiU/NzA/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/NzA/JSFpbXBvcnRhbnR9Lm1sLTcwW2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLWxlZnQ6JT83MD8lIWltcG9ydGFudH0ubXItNzBbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tcmlnaHQ6JT83MD8lIWltcG9ydGFudH0ubXktNzBbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tdG9wOiU/NzA/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzcwPyUhaW1wb3J0YW50fS5tdC03MFtkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi10b3A6JT83MD8lIWltcG9ydGFudH0ubWItNzBbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tYm90dG9tOiU/NzA/JSFpbXBvcnRhbnR9LnAtNzBbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nOiU/NzA/JSFpbXBvcnRhbnR9LnB4LTcwW2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy1sZWZ0OiU/NzA/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzcwPyUhaW1wb3J0YW50fS5wbC03MFtkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctbGVmdDolPzcwPyUhaW1wb3J0YW50fS5wci03MFtkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctcmlnaHQ6JT83MD8lIWltcG9ydGFudH0ucHktNzBbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLXRvcDolPzcwPyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NzA/JSFpbXBvcnRhbnR9LnB0LTcwW2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy10b3A6JT83MD8lIWltcG9ydGFudH0ucGItNzBbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLWJvdHRvbTolPzcwPyUhaW1wb3J0YW50fS5ncmlkLWdhcC03MFtkYXRhLXYtNmQ0MDE0OGNde2dyaWQtZ2FwOiU/NzA/JSFpbXBvcnRhbnR9LnotaW5kZXgtNzBbZGF0YS12LTZkNDAxNDhjXXt6LWluZGV4OjcwIWltcG9ydGFudH0uZm9udC1zaXplLTcwW2RhdGEtdi02ZDQwMTQ4Y117Zm9udC1zaXplOiU/NzA/JSFpbXBvcnRhbnR9Lm0tNzJbZGF0YS12LTZkNDAxNDhjXXttYXJnaW46JT83Mj8lIWltcG9ydGFudH0ubXgtNzJbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tbGVmdDolPzcyPyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzcyPyUhaW1wb3J0YW50fS5tbC03MltkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi1sZWZ0OiU/NzI/JSFpbXBvcnRhbnR9Lm1yLTcyW2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLXJpZ2h0OiU/NzI/JSFpbXBvcnRhbnR9Lm15LTcyW2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLXRvcDolPzcyPyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT83Mj8lIWltcG9ydGFudH0ubXQtNzJbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tdG9wOiU/NzI/JSFpbXBvcnRhbnR9Lm1iLTcyW2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLWJvdHRvbTolPzcyPyUhaW1wb3J0YW50fS5wLTcyW2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZzolPzcyPyUhaW1wb3J0YW50fS5weC03MltkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctbGVmdDolPzcyPyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT83Mj8lIWltcG9ydGFudH0ucGwtNzJbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLWxlZnQ6JT83Mj8lIWltcG9ydGFudH0ucHItNzJbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLXJpZ2h0OiU/NzI/JSFpbXBvcnRhbnR9LnB5LTcyW2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy10b3A6JT83Mj8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzcyPyUhaW1wb3J0YW50fS5wdC03MltkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctdG9wOiU/NzI/JSFpbXBvcnRhbnR9LnBiLTcyW2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy1ib3R0b206JT83Mj8lIWltcG9ydGFudH0uZ3JpZC1nYXAtNzJbZGF0YS12LTZkNDAxNDhjXXtncmlkLWdhcDolPzcyPyUhaW1wb3J0YW50fS56LWluZGV4LTcyW2RhdGEtdi02ZDQwMTQ4Y117ei1pbmRleDo3MiFpbXBvcnRhbnR9LmZvbnQtc2l6ZS03MltkYXRhLXYtNmQ0MDE0OGNde2ZvbnQtc2l6ZTolPzcyPyUhaW1wb3J0YW50fS5tLTc0W2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luOiU/NzQ/JSFpbXBvcnRhbnR9Lm14LTc0W2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLWxlZnQ6JT83ND8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT83ND8lIWltcG9ydGFudH0ubWwtNzRbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tbGVmdDolPzc0PyUhaW1wb3J0YW50fS5tci03NFtkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi1yaWdodDolPzc0PyUhaW1wb3J0YW50fS5teS03NFtkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi10b3A6JT83ND8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/NzQ/JSFpbXBvcnRhbnR9Lm10LTc0W2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLXRvcDolPzc0PyUhaW1wb3J0YW50fS5tYi03NFtkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi1ib3R0b206JT83ND8lIWltcG9ydGFudH0ucC03NFtkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmc6JT83ND8lIWltcG9ydGFudH0ucHgtNzRbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLWxlZnQ6JT83ND8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/NzQ/JSFpbXBvcnRhbnR9LnBsLTc0W2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy1sZWZ0OiU/NzQ/JSFpbXBvcnRhbnR9LnByLTc0W2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy1yaWdodDolPzc0PyUhaW1wb3J0YW50fS5weS03NFtkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctdG9wOiU/NzQ/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT83ND8lIWltcG9ydGFudH0ucHQtNzRbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLXRvcDolPzc0PyUhaW1wb3J0YW50fS5wYi03NFtkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctYm90dG9tOiU/NzQ/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTc0W2RhdGEtdi02ZDQwMTQ4Y117Z3JpZC1nYXA6JT83ND8lIWltcG9ydGFudH0uei1pbmRleC03NFtkYXRhLXYtNmQ0MDE0OGNde3otaW5kZXg6NzQhaW1wb3J0YW50fS5mb250LXNpemUtNzRbZGF0YS12LTZkNDAxNDhjXXtmb250LXNpemU6JT83ND8lIWltcG9ydGFudH0ubS03NltkYXRhLXYtNmQ0MDE0OGNde21hcmdpbjolPzc2PyUhaW1wb3J0YW50fS5teC03NltkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi1sZWZ0OiU/NzY/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/NzY/JSFpbXBvcnRhbnR9Lm1sLTc2W2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLWxlZnQ6JT83Nj8lIWltcG9ydGFudH0ubXItNzZbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tcmlnaHQ6JT83Nj8lIWltcG9ydGFudH0ubXktNzZbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tdG9wOiU/NzY/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzc2PyUhaW1wb3J0YW50fS5tdC03NltkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi10b3A6JT83Nj8lIWltcG9ydGFudH0ubWItNzZbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tYm90dG9tOiU/NzY/JSFpbXBvcnRhbnR9LnAtNzZbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nOiU/NzY/JSFpbXBvcnRhbnR9LnB4LTc2W2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy1sZWZ0OiU/NzY/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzc2PyUhaW1wb3J0YW50fS5wbC03NltkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctbGVmdDolPzc2PyUhaW1wb3J0YW50fS5wci03NltkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctcmlnaHQ6JT83Nj8lIWltcG9ydGFudH0ucHktNzZbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLXRvcDolPzc2PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NzY/JSFpbXBvcnRhbnR9LnB0LTc2W2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy10b3A6JT83Nj8lIWltcG9ydGFudH0ucGItNzZbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLWJvdHRvbTolPzc2PyUhaW1wb3J0YW50fS5ncmlkLWdhcC03NltkYXRhLXYtNmQ0MDE0OGNde2dyaWQtZ2FwOiU/NzY/JSFpbXBvcnRhbnR9LnotaW5kZXgtNzZbZGF0YS12LTZkNDAxNDhjXXt6LWluZGV4Ojc2IWltcG9ydGFudH0uZm9udC1zaXplLTc2W2RhdGEtdi02ZDQwMTQ4Y117Zm9udC1zaXplOiU/NzY/JSFpbXBvcnRhbnR9Lm0tNzhbZGF0YS12LTZkNDAxNDhjXXttYXJnaW46JT83OD8lIWltcG9ydGFudH0ubXgtNzhbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tbGVmdDolPzc4PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzc4PyUhaW1wb3J0YW50fS5tbC03OFtkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi1sZWZ0OiU/Nzg/JSFpbXBvcnRhbnR9Lm1yLTc4W2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLXJpZ2h0OiU/Nzg/JSFpbXBvcnRhbnR9Lm15LTc4W2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLXRvcDolPzc4PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT83OD8lIWltcG9ydGFudH0ubXQtNzhbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tdG9wOiU/Nzg/JSFpbXBvcnRhbnR9Lm1iLTc4W2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLWJvdHRvbTolPzc4PyUhaW1wb3J0YW50fS5wLTc4W2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZzolPzc4PyUhaW1wb3J0YW50fS5weC03OFtkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctbGVmdDolPzc4PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT83OD8lIWltcG9ydGFudH0ucGwtNzhbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLWxlZnQ6JT83OD8lIWltcG9ydGFudH0ucHItNzhbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLXJpZ2h0OiU/Nzg/JSFpbXBvcnRhbnR9LnB5LTc4W2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy10b3A6JT83OD8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzc4PyUhaW1wb3J0YW50fS5wdC03OFtkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctdG9wOiU/Nzg/JSFpbXBvcnRhbnR9LnBiLTc4W2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy1ib3R0b206JT83OD8lIWltcG9ydGFudH0uZ3JpZC1nYXAtNzhbZGF0YS12LTZkNDAxNDhjXXtncmlkLWdhcDolPzc4PyUhaW1wb3J0YW50fS56LWluZGV4LTc4W2RhdGEtdi02ZDQwMTQ4Y117ei1pbmRleDo3OCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS03OFtkYXRhLXYtNmQ0MDE0OGNde2ZvbnQtc2l6ZTolPzc4PyUhaW1wb3J0YW50fS5maWx0ZXItZ3JheVtkYXRhLXYtNmQ0MDE0OGNdey13ZWJraXQtZmlsdGVyOmdyYXlzY2FsZSgxKTtmaWx0ZXI6Z3JheXNjYWxlKDEpfS5teC1hdXRvW2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0b30uZC1ibG9ja1tkYXRhLXYtNmQ0MDE0OGNde2Rpc3BsYXk6YmxvY2t9LmQtaW5saW5lLWJsb2NrW2RhdGEtdi02ZDQwMTQ4Y117ZGlzcGxheTppbmxpbmUtYmxvY2t9LnRleHQtY2VudGVyW2RhdGEtdi02ZDQwMTQ4Y117dGV4dC1hbGlnbjpjZW50ZXJ9LnRleHQtbGVmdFtkYXRhLXYtNmQ0MDE0OGNde3RleHQtYWxpZ246bGVmdH0udGV4dC1yaWdodFtkYXRhLXYtNmQ0MDE0OGNde3RleHQtYWxpZ246cmlnaHR9LmQtZmxleFtkYXRhLXYtNmQ0MDE0OGNde2Rpc3BsYXk6ZmxleH0uZC1mbGV4LWJldHdlZW4tY2VudGVyW2RhdGEtdi02ZDQwMTQ4Y117ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2FsaWduLWl0ZW1zOmNlbnRlcn0uZmxleC13cmFwW2RhdGEtdi02ZDQwMTQ4Y117ZmxleC13cmFwOndyYXB9Lmp1c3RpZnktY29udGVudC1iZXR3ZWVuW2RhdGEtdi02ZDQwMTQ4Y117anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59Lmp1c3RpZnktY29udGVudC1hcm91bmRbZGF0YS12LTZkNDAxNDhjXXtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYXJvdW5kfS5qdXN0aWZ5LWNvbnRlbnQtY2VudGVyW2RhdGEtdi02ZDQwMTQ4Y117anVzdGlmeS1jb250ZW50OmNlbnRlcn0uanVzdGlmeS1jb250ZW50LWVuZFtkYXRhLXYtNmQ0MDE0OGNde2p1c3RpZnktY29udGVudDpmbGV4LWVuZH0uYWxpZ24taXRlbXMtY2VudGVyW2RhdGEtdi02ZDQwMTQ4Y117YWxpZ24taXRlbXM6Y2VudGVyfS5hbGlnbi1pdGVtcy1iYXNlbGluZVtkYXRhLXYtNmQ0MDE0OGNde2FsaWduLWl0ZW1zOmJhc2VsaW5lfS5mbGV4LWRpcmVjdGlvbi1jb2x1bW5bZGF0YS12LTZkNDAxNDhjXXtmbGV4LWRpcmVjdGlvbjpjb2x1bW59LmZvbnQtd2VpZ2h0LWJvbGRbZGF0YS12LTZkNDAxNDhjXXtmb250LXdlaWdodDo3MDB9LnBvc2l0aW9uLWZpeGVkW2RhdGEtdi02ZDQwMTQ4Y117cG9zaXRpb246Zml4ZWR9LnBvc2l0aW9uLXJlbGF0aXZlW2RhdGEtdi02ZDQwMTQ4Y117cG9zaXRpb246cmVsYXRpdmV9LnBvc2l0aW9uLWFic29sdXRlW2RhdGEtdi02ZDQwMTQ4Y117cG9zaXRpb246YWJzb2x1dGV9Lm92ZXJmbG93LWhpZGRlbltkYXRhLXYtNmQ0MDE0OGNde292ZXJmbG93OmhpZGRlbn0ubGluZS0xW2RhdGEtdi02ZDQwMTQ4Y117b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS5saW5lLTJbZGF0YS12LTZkNDAxNDhjXXtvdmVyZmxvdzpoaWRkZW47LXdlYmtpdC1saW5lLWNsYW1wOjI7bGluZS1jbGFtcDoyOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDtib3gtb3JpZW50OnZlcnRpY2FsO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpib3h9LmxpbmUtM1tkYXRhLXYtNmQ0MDE0OGNde292ZXJmbG93OmhpZGRlbjstd2Via2l0LWxpbmUtY2xhbXA6MztsaW5lLWNsYW1wOjM7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO2JveC1vcmllbnQ6dmVydGljYWw7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmJveH0ubGluZS00W2RhdGEtdi02ZDQwMTQ4Y117b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtbGluZS1jbGFtcDo0O2xpbmUtY2xhbXA6NDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7Ym94LW9yaWVudDp2ZXJ0aWNhbDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6Ym94fS5saW5lLTVbZGF0YS12LTZkNDAxNDhjXXtvdmVyZmxvdzpoaWRkZW47LXdlYmtpdC1saW5lLWNsYW1wOjU7bGluZS1jbGFtcDo1Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDtib3gtb3JpZW50OnZlcnRpY2FsO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpib3h9LnctMTBbZGF0YS12LTZkNDAxNDhjXXt3aWR0aDoxMCV9LmgtMTBbZGF0YS12LTZkNDAxNDhjXXtoZWlnaHQ6MTAlfS5vcGFjaXR5LTEwW2RhdGEtdi02ZDQwMTQ4Y117b3BhY2l0eTouMX0udy0xN1tkYXRhLXYtNmQ0MDE0OGNde3dpZHRoOjE3JX0uaC0xN1tkYXRhLXYtNmQ0MDE0OGNde2hlaWdodDoxNyV9Lm9wYWNpdHktMTdbZGF0YS12LTZkNDAxNDhjXXtvcGFjaXR5Oi4xN30udy0xOFtkYXRhLXYtNmQ0MDE0OGNde3dpZHRoOjE4JX0uaC0xOFtkYXRhLXYtNmQ0MDE0OGNde2hlaWdodDoxOCV9Lm9wYWNpdHktMThbZGF0YS12LTZkNDAxNDhjXXtvcGFjaXR5Oi4xOH0udy0xOVtkYXRhLXYtNmQ0MDE0OGNde3dpZHRoOjE5JX0uaC0xOVtkYXRhLXYtNmQ0MDE0OGNde2hlaWdodDoxOSV9Lm9wYWNpdHktMTlbZGF0YS12LTZkNDAxNDhjXXtvcGFjaXR5Oi4xOX0udy0yMFtkYXRhLXYtNmQ0MDE0OGNde3dpZHRoOjIwJX0uaC0yMFtkYXRhLXYtNmQ0MDE0OGNde2hlaWdodDoyMCV9Lm9wYWNpdHktMjBbZGF0YS12LTZkNDAxNDhjXXtvcGFjaXR5Oi4yfS53LTI1W2RhdGEtdi02ZDQwMTQ4Y117d2lkdGg6MjUlfS5oLTI1W2RhdGEtdi02ZDQwMTQ4Y117aGVpZ2h0OjI1JX0ub3BhY2l0eS0yNVtkYXRhLXYtNmQ0MDE0OGNde29wYWNpdHk6LjI1fS53LTMwW2RhdGEtdi02ZDQwMTQ4Y117d2lkdGg6MzAlfS5oLTMwW2RhdGEtdi02ZDQwMTQ4Y117aGVpZ2h0OjMwJX0ub3BhY2l0eS0zMFtkYXRhLXYtNmQ0MDE0OGNde29wYWNpdHk6LjN9LnctMzNbZGF0YS12LTZkNDAxNDhjXXt3aWR0aDozMyV9LmgtMzNbZGF0YS12LTZkNDAxNDhjXXtoZWlnaHQ6MzMlfS5vcGFjaXR5LTMzW2RhdGEtdi02ZDQwMTQ4Y117b3BhY2l0eTouMzN9LnctNDBbZGF0YS12LTZkNDAxNDhjXXt3aWR0aDo0MCV9LmgtNDBbZGF0YS12LTZkNDAxNDhjXXtoZWlnaHQ6NDAlfS5vcGFjaXR5LTQwW2RhdGEtdi02ZDQwMTQ4Y117b3BhY2l0eTouNH0udy00NFtkYXRhLXYtNmQ0MDE0OGNde3dpZHRoOjQ0JX0uaC00NFtkYXRhLXYtNmQ0MDE0OGNde2hlaWdodDo0NCV9Lm9wYWNpdHktNDRbZGF0YS12LTZkNDAxNDhjXXtvcGFjaXR5Oi40NH0udy00OFtkYXRhLXYtNmQ0MDE0OGNde3dpZHRoOjQ4JX0uaC00OFtkYXRhLXYtNmQ0MDE0OGNde2hlaWdodDo0OCV9Lm9wYWNpdHktNDhbZGF0YS12LTZkNDAxNDhjXXtvcGFjaXR5Oi40OH0udy00OVtkYXRhLXYtNmQ0MDE0OGNde3dpZHRoOjQ5JX0uaC00OVtkYXRhLXYtNmQ0MDE0OGNde2hlaWdodDo0OSV9Lm9wYWNpdHktNDlbZGF0YS12LTZkNDAxNDhjXXtvcGFjaXR5Oi40OX0udy01MFtkYXRhLXYtNmQ0MDE0OGNde3dpZHRoOjUwJX0uaC01MFtkYXRhLXYtNmQ0MDE0OGNde2hlaWdodDo1MCV9Lm9wYWNpdHktNTBbZGF0YS12LTZkNDAxNDhjXXtvcGFjaXR5Oi41fS53LTYwW2RhdGEtdi02ZDQwMTQ4Y117d2lkdGg6NjAlfS5oLTYwW2RhdGEtdi02ZDQwMTQ4Y117aGVpZ2h0OjYwJX0ub3BhY2l0eS02MFtkYXRhLXYtNmQ0MDE0OGNde29wYWNpdHk6LjZ9LnctNzBbZGF0YS12LTZkNDAxNDhjXXt3aWR0aDo3MCV9LmgtNzBbZGF0YS12LTZkNDAxNDhjXXtoZWlnaHQ6NzAlfS5vcGFjaXR5LTcwW2RhdGEtdi02ZDQwMTQ4Y117b3BhY2l0eTouN30udy03NVtkYXRhLXYtNmQ0MDE0OGNde3dpZHRoOjc1JX0uaC03NVtkYXRhLXYtNmQ0MDE0OGNde2hlaWdodDo3NSV9Lm9wYWNpdHktNzVbZGF0YS12LTZkNDAxNDhjXXtvcGFjaXR5Oi43NX0udy04MFtkYXRhLXYtNmQ0MDE0OGNde3dpZHRoOjgwJX0uaC04MFtkYXRhLXYtNmQ0MDE0OGNde2hlaWdodDo4MCV9Lm9wYWNpdHktODBbZGF0YS12LTZkNDAxNDhjXXtvcGFjaXR5Oi44fS53LTkwW2RhdGEtdi02ZDQwMTQ4Y117d2lkdGg6OTAlfS5oLTkwW2RhdGEtdi02ZDQwMTQ4Y117aGVpZ2h0OjkwJX0ub3BhY2l0eS05MFtkYXRhLXYtNmQ0MDE0OGNde29wYWNpdHk6Ljl9LnctMTAwW2RhdGEtdi02ZDQwMTQ4Y117d2lkdGg6MTAwJX0uaC0xMDBbZGF0YS12LTZkNDAxNDhjXXtoZWlnaHQ6MTAwJX0ub3BhY2l0eS0xMDBbZGF0YS12LTZkNDAxNDhjXXtvcGFjaXR5Oi4xfS5wYi01MFtkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctYm90dG9tOiU/NTA/JX0ubXQtNTBbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tdG9wOiU/NTA/JX0ucGItNjBbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLWJvdHRvbTolPzYwPyV9Lm10LTYwW2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLXRvcDolPzYwPyV9LnBiLTcwW2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy1ib3R0b206JT83MD8lfS5tdC03MFtkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi10b3A6JT83MD8lfS5wYi04MFtkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctYm90dG9tOiU/ODA/JX0ubXQtODBbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tdG9wOiU/ODA/JX0ucGItOTBbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLWJvdHRvbTolPzkwPyV9Lm10LTkwW2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLXRvcDolPzkwPyV9LnBiLTEwMFtkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctYm90dG9tOiU/MTAwPyV9Lm10LTEwMFtkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi10b3A6JT8xMDA/JX0ucGItMTEwW2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy1ib3R0b206JT8xMTA/JX0ubXQtMTEwW2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLXRvcDolPzExMD8lfS5wYi0xMjBbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLWJvdHRvbTolPzEyMD8lfS5tdC0xMjBbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tdG9wOiU/MTIwPyV9LnBiLTEzMFtkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctYm90dG9tOiU/MTMwPyV9Lm10LTEzMFtkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi10b3A6JT8xMzA/JX0ucGItMTQwW2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy1ib3R0b206JT8xNDA/JX0ubXQtMTQwW2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLXRvcDolPzE0MD8lfS5wYi0xNTBbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLWJvdHRvbTolPzE1MD8lfS5tdC0xNTBbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tdG9wOiU/MTUwPyV9LnBiLTE2MFtkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctYm90dG9tOiU/MTYwPyV9Lm10LTE2MFtkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi10b3A6JT8xNjA/JX0ucGItMTcwW2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy1ib3R0b206JT8xNzA/JX0ubXQtMTcwW2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLXRvcDolPzE3MD8lfS5wYi0xODBbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nLWJvdHRvbTolPzE4MD8lfS5tdC0xODBbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tdG9wOiU/MTgwPyV9LnBiLTE5MFtkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmctYm90dG9tOiU/MTkwPyV9Lm10LTE5MFtkYXRhLXYtNmQ0MDE0OGNde21hcmdpbi10b3A6JT8xOTA/JX0ucGItMjAwW2RhdGEtdi02ZDQwMTQ4Y117cGFkZGluZy1ib3R0b206JT8yMDA/JX0ubXQtMjAwW2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLXRvcDolPzIwMD8lfS5pbnB1dFtkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmc6MCAlPzMwPyU7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4wNSk7Ym9yZGVyLXJhZGl1czolPzEyPyU7aGVpZ2h0OiU/ODg/JTtsaW5lLWhlaWdodDolPzg4PyU7cG9zaXRpb246cmVsYXRpdmV9LmlucHV0IC5pbnB1dC1wbGFjZWhvbGRlcltkYXRhLXYtNmQ0MDE0OGNde29wYWNpdHk6LjQ7Zm9udC13ZWlnaHQ6NDAwIWltcG9ydGFudH0uYm94LXNoYWRvd1tkYXRhLXYtNmQ0MDE0OGNde2JveC1zaGFkb3c6MCAwIDEwcHggMCByZ2JhKDAsMCwwLC4wNil9LmJvcmRlcltkYXRhLXYtNmQ0MDE0OGNde2JvcmRlcjolPzI/JSBzb2xpZCAjNGQ0ZDRkfS5ib3JkZXItdG9wW2RhdGEtdi02ZDQwMTQ4Y117Ym9yZGVyLXRvcDolPzI/JSBzb2xpZCAjNGQ0ZDRkfS5ib3JkZXItYm90dG9tW2RhdGEtdi02ZDQwMTQ4Y117Ym9yZGVyLWJvdHRvbTolPzI/JSBzb2xpZCAjNGQ0ZDRkfS5ib3JkZXItYm90dG9tLXdoaXRlW2RhdGEtdi02ZDQwMTQ4Y117Ym9yZGVyLWJvdHRvbTolPzI/JSBzb2xpZCAjZjNmM2YzfS5ib3JkZXItcmFkaXVzLTEwW2RhdGEtdi02ZDQwMTQ4Y117Ym9yZGVyLXJhZGl1czolPzEwPyUhaW1wb3J0YW50fS5ib3JkZXItcmFkaXVzLTIwW2RhdGEtdi02ZDQwMTQ4Y10sIC5kZXBvc2l0W2RhdGEtdi02ZDQwMTQ4Y117Ym9yZGVyLXJhZGl1czolPzIwPyUhaW1wb3J0YW50fS5ib3JkZXItcmFkaXVzLTUwcGVyW2RhdGEtdi02ZDQwMTQ4Y117Ym9yZGVyLXJhZGl1czo1MCUhaW1wb3J0YW50fS51bmktaW5wdXQtcGxhY2Vob2xkZXJbZGF0YS12LTZkNDAxNDhjXXtjb2xvcjpoc2xhKDAsMCUsOTkuNiUsLjUpfS5rZWZ1W2RhdGEtdi02ZDQwMTQ4Y117cG9zaXRpb246Zml4ZWQ7cmlnaHQ6JT81MD8lO2JvdHRvbToxNi41dmg7ei1pbmRleDoxMDtib3JkZXItcmFkaXVzOjUwJTtib3gtc2hhZG93OjAgMCAxNXB4IDAgcmdiYSgwLDAsMCwuMSk7YmFja2dyb3VuZC1jb2xvcjojMzMzO3dpZHRoOiU/NzA/JTtoZWlnaHQ6JT83MD8lO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ubG9naW4taW5wdXQtZ3JvdXBbZGF0YS12LTZkNDAxNDhjXXtib3JkZXItYm90dG9tOiU/Mj8lIHNvbGlkIGhzbGEoMCwwJSwxMDAlLC4yKTttYXJnaW4tdG9wOiU/NTA/JTtwb3NpdGlvbjpyZWxhdGl2ZX0ubG9naW4taW5wdXQtZ3JvdXAgLmxvZ2luLWlucHV0W2RhdGEtdi02ZDQwMTQ4Y117aGVpZ2h0OiU/NzA/JTtsaW5lLWhlaWdodDolPzcwPyU7d2lkdGg6MTAwJX0ubG9naW4taW5wdXQtZ3JvdXAgLmxhYmVsW2RhdGEtdi02ZDQwMTQ4Y117b3BhY2l0eTouN30uYm94LXNoYWRvd1tkYXRhLXYtNmQ0MDE0OGNde2JveC1zaGFkb3c6MCAwIDEwcHggMCByZ2JhKDAsMCwwLC4xKX0uc3Vic2VjdGlvbiAuaXRlbVtkYXRhLXYtNmQ0MDE0OGNde3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmctYm90dG9tOiU/MTA/JX0uc3Vic2VjdGlvbiAuaXRlbVtkYXRhLXYtNmQ0MDE0OGNdOjphZnRlcntkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO2NvbnRlbnQ6IiI7Ym90dG9tOjA7bGVmdDo1MCU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt3aWR0aDolPzMwPyU7aGVpZ2h0OiU/ND8lO2JhY2tncm91bmQtY29sb3I6I2ZmZn0uc3Vic2VjdGlvbiAuaXRlbS5hY3RpdmVbZGF0YS12LTZkNDAxNDhjXXtjb2xvcjojMjI3N2ZjfS5zdWJzZWN0aW9uIC5pdGVtLmFjdGl2ZVtkYXRhLXYtNmQ0MDE0OGNdOjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOiMyMjc3ZmN9LmQtZ3JpZFtkYXRhLXYtNmQ0MDE0OGNde2Rpc3BsYXk6Z3JpZH0uZC1ncmlkLWNvbHVtbnMtMltkYXRhLXYtNmQ0MDE0OGNde2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDIsMWZyKX0uZC1ncmlkLWNvbHVtbnMtM1tkYXRhLXYtNmQ0MDE0OGNde2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDMsMWZyKX0uZC1ncmlkLWNvbHVtbnMtNFtkYXRhLXYtNmQ0MDE0OGNde2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDQsMWZyKX0uZC1ncmlkLWNvbHVtbnMtNVtkYXRhLXYtNmQ0MDE0OGNde2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDUsMWZyKX0uYXJ0aWNsZVtkYXRhLXYtNmQ0MDE0OGNde3BhZGRpbmc6JT8zMD8lfS5hcnRpY2xlIHVuaS10ZXh0W2RhdGEtdi02ZDQwMTQ4Y117ZGlzcGxheTpibG9jazttYXJnaW4tYm90dG9tOiU/MjA/JX1pZnJhbWVbZGF0YS12LTZkNDAxNDhjXXtsZWZ0OjAhaW1wb3J0YW50O3JpZ2h0OjAhaW1wb3J0YW50O21hcmdpbjowIGF1dG87dG9wOjAhaW1wb3J0YW50fS5wb3NpdGlvbi1yZWxhdGl2ZS16aW5kZXgtOTlbZGF0YS12LTZkNDAxNDhjXXtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4Ojk5fS5zdGF0dXNfYmFyW2RhdGEtdi02ZDQwMTQ4Y117aGVpZ2h0OjA7d2lkdGg6MTAwJX0uYWZ0ZXItYm9yZGVyW2RhdGEtdi02ZDQwMTQ4Y117cG9zaXRpb246cmVsYXRpdmV9LmFmdGVyLWJvcmRlcltkYXRhLXYtNmQ0MDE0OGNdOmFmdGVye3Bvc2l0aW9uOmFic29sdXRlO2NvbnRlbnQ6IiI7dG9wOjA7cmlnaHQ6MDtib3R0b206MDt3aWR0aDolPzI/JTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoNTEsNTEsNTEsLjEpfS5sb2dpbi1sb2dvW2RhdGEtdi02ZDQwMTQ4Y117dGV4dC1hbGlnbjpjZW50ZXI7cGFkZGluZy10b3A6NC41dmh9LmxvZ2luLWxvZ28gdW5pLWltYWdlW2RhdGEtdi02ZDQwMTQ4Y117d2lkdGg6MTd2aDtoZWlnaHQ6MTd2aDtkaXNwbGF5OmJsb2NrO2JvcmRlci1yYWRpdXM6JT8yND8lO2JveC1zaGFkb3c6MCAwICU/MTA/JSAwIHJnYmEoMCwwLDAsLjA1KTttYXJnaW46MCBhdXRvfS50YWctcHJpbWFyeVtkYXRhLXYtNmQ0MDE0OGNde2JhY2tncm91bmQtY29sb3I6IzIyNzdmYztjb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6JT82PyU7Zm9udC1zaXplOiU/MjA/JTtwYWRkaW5nOiU/ND8lICU/MTA/JTtib3JkZXI6JT8yPyUgc29saWQgIzIyNzdmYztib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyOm5vbmU7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoLTIyNWRlZywjMmNkOGQ1LCM2YjhkZDYgNDglLCM4ZTM3ZDcpfS50YWctZXJyb3JbZGF0YS12LTZkNDAxNDhjXSwgLnRhZy1wbGFpbi1lcnJvcltkYXRhLXYtNmQ0MDE0OGNde2JhY2tncm91bmQtY29sb3I6I2YwNGE1YTtjb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6JT82PyU7Zm9udC1zaXplOiU/MjA/JTtwYWRkaW5nOiU/ND8lICU/MTA/JTtib3JkZXI6JT8yPyUgc29saWQgI2YwNGE1YTtib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyOm5vbmU7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoMjcwZGVnLCNmZjA4NDQgMCwjZmZiMTk5KX0udGFnLXNlY29uZGFyeVtkYXRhLXYtNmQ0MDE0OGNde2JhY2tncm91bmQtY29sb3I6cmdiYSg1MSw1MSw1MSwuMDYpO2NvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czolPzY/JTtmb250LXNpemU6JT8yMD8lO3BhZGRpbmc6JT80PyUgJT8xMD8lO2JvcmRlcjolPzI/JSBzb2xpZCByZ2JhKDUxLDUxLDUxLC4wNik7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlcjpub25lO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDQ1ZGVnLCM5M2E1Y2YsI2U0ZWZlOSl9LnRhZy13YXJuaW5nW2RhdGEtdi02ZDQwMTQ4Y117YmFja2dyb3VuZC1jb2xvcjojZDRiYTgzO2NvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czolPzY/JTtmb250LXNpemU6JT8yMD8lO3BhZGRpbmc6JT80PyUgJT8xMD8lO2JvcmRlcjolPzI/JSBzb2xpZCAjZDRiYTgzO2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXI6bm9uZTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgxZGVnLCNmZmNjOGYsI2ZmZWRkOCl9LnRhZy1zdWNjZXNzW2RhdGEtdi02ZDQwMTQ4Y10sIC50YWctcGxhaW4tc3VjY2Vzc1tkYXRhLXYtNmQ0MDE0OGNde2JhY2tncm91bmQtY29sb3I6IzI4YmE5ODtjb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6JT82PyU7Zm9udC1zaXplOiU/MjA/JTtwYWRkaW5nOiU/ND8lICU/MTA/JTtib3JkZXI6JT8yPyUgc29saWQgIzI4YmE5ODtib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyOm5vbmU7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoMTIwZGVnLCM4NGZhYjAsIzhmZDNmNCl9LnRhZy1wbGFpbi1zdWNjZXNzW2RhdGEtdi02ZDQwMTQ4Y117YmFja2dyb3VuZDpub25lO2NvbG9yOiMyOGJhOTg7Ym9yZGVyOiU/Mj8lIHNvbGlkICMyOGJhOTh9LnRhZy1wbGFpbi1lcnJvcltkYXRhLXYtNmQ0MDE0OGNde2JhY2tncm91bmQ6bm9uZTtjb2xvcjojZjA0YTVhO2JvcmRlcjolPzI/JSBzb2xpZCAjZjA0YTVhfS5hbGVydFtkYXRhLXYtNmQ0MDE0OGNde2ZvbnQtc2l6ZTolPzI0PyU7Ym9yZGVyLXJhZGl1czolPzIwPyU7cGFkZGluZzolPzIwPyU7Ym9yZGVyLXJhZGl1czo1cHh9LmlucHV0LWl0ZW1bZGF0YS12LTZkNDAxNDhjXXtwb3NpdGlvbjpyZWxhdGl2ZX0uaW5wdXQtaXRlbSAuaW5wdXRbZGF0YS12LTZkNDAxNDhjXXttYXJnaW4tdG9wOiU/MjA/JX0uaW5wdXQtaXRlbSAuZXllW2RhdGEtdi02ZDQwMTQ4Y117cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6JT8zMD8lO3RvcDo1NiV9LmlucHV0LWl0ZW0gLmdldC1jb2RlW2RhdGEtdi02ZDQwMTQ4Y117cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6JT8zMD8lO3RvcDolPzc4PyU7aGVpZ2h0OiU/NTA/JTtsaW5lLWhlaWdodDolPzUwPyU7cGFkZGluZzowICU/MjA/JTtiYWNrZ3JvdW5kLWNvbG9yOiNmMDRhNWE7Ym9yZGVyLXJhZGl1czolPzEwPyU7Y29sb3I6I2ZmZn0uaW5wdXQtaXRlbSAuZ2V0LWNvZGUuc2VuZFtkYXRhLXYtNmQ0MDE0OGNde2JhY2tncm91bmQtY29sb3I6cmdiYSg1MSw1MSw1MSwuMDYpfS51cGxvYWQtd3JhcFtkYXRhLXYtNmQ0MDE0OGNde2JhY2tncm91bmQ6IzRkNGQ0ZDt3aWR0aDolPzI0MD8lO2hlaWdodDolPzI0MD8lO2JvcmRlci1yYWRpdXM6JT8xMD8lO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjt0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW46MCBhdXRvO2JvcmRlcjolPzI/JSBzb2xpZCByZ2JhKDUxLDUxLDUxLC4wNik7b3ZlcmZsb3c6aGlkZGVufS5yaWdodC1lbnRlcltkYXRhLXYtNmQ0MDE0OGNdey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwMCUsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMTAwJSwwLDApfS5yaWdodC1sZWF2ZS10b1tkYXRhLXYtNmQ0MDE0OGNdLCAucmlnaHQtbGVhdmVbZGF0YS12LTZkNDAxNDhjXXtkaXNwbGF5Om5vbmV9LnJpZ2h0LWVudGVyLXRvW2RhdGEtdi02ZDQwMTQ4Y117LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0ucmlnaHQtZW50ZXItYWN0aXZlW2RhdGEtdi02ZDQwMTQ4Y10sXHJcbi5yaWdodC1sZWF2ZS1hY3RpdmVbZGF0YS12LTZkNDAxNDhjXXt0cmFuc2l0aW9uOmFsbCAuM3N9LmRlcG9zaXRbZGF0YS12LTZkNDAxNDhjXXtjb2xvcjojMzMzO3BhZGRpbmc6MCAlPzI4PyU7cGFkZGluZy10b3A6JT8zOD8lO3Bvc2l0aW9uOnJlbGF0aXZlfS5kZXBvc2l0IC5lYXJuaW5ncy13cmFwW2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luOjAgJT8tMjg/JTttYXJnaW4tdG9wOiU/MzA/JX0uZGVwb3NpdCAuZWFybmluZ3Mtd3JhcCAuZWFybmluZ3NbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nOiU/MzA/JSAlPzI4PyUgJT8yOD8lICU/Mjg/JTtiYWNrZ3JvdW5kLWNvbG9yOmhzbGEoMCwwJSwxMDAlLC4xKX0udHJhbnNpdGlvbltkYXRhLXYtNmQ0MDE0OGNde3RyYW5zaXRpb246YWxsIC4zcyBlYXNlIDBzfS53aGl0ZS1jaXJjbGVbZGF0YS12LTZkNDAxNDhjXXt3aWR0aDolPzgwPyU7aGVpZ2h0OiU/ODA/JTtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5mbGV4LTFbZGF0YS12LTZkNDAxNDhjXXtmbGV4OjF9LmxvZ2luLWhlYWQtYmdbZGF0YS12LTZkNDAxNDhjXXtwb3NpdGlvbjpmaXhlZDt3aWR0aDoxMDB2dztoZWlnaHQ6NTQuNHZ3O3RvcDowO2xlZnQ6MDtyaWdodDowfS5saW5lYXItZ3JhZGllbnQtdGV4dFtkYXRhLXYtNmQ0MDE0OGNde2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDNkZWcsI2ZmY2M4ZiwjZmZlZGQ4KTstd2Via2l0LWJhY2tncm91bmQtY2xpcDp0ZXh0O2NvbG9yOnRyYW5zcGFyZW50fS5saW5lYXItZ3JhZGllbnQtYnV0dG9uW2RhdGEtdi02ZDQwMTQ4Y10sIC5kZXBvc2l0W2RhdGEtdi02ZDQwMTQ4Y117YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMWRlZywjZmZjYzhmLCNmZmVkZDgpfS53cmFwcGVyLWJnW2RhdGEtdi02ZDQwMTQ4Y117cG9zaXRpb246cmVsYXRpdmV9LndyYXBwZXItYmdbZGF0YS12LTZkNDAxNDhjXTo6YWZ0ZXJ7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7cmlnaHQ6MDt0b3A6MDtib3R0b206MDtiYWNrZ3JvdW5kLWltYWdlOnVybCgnK28rIik7YmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1wb3NpdGlvbjoxMDAlIHRvcDtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXR9LnUtbm90aWNlLWJhci13cmFwW2RhdGEtdi02ZDQwMTQ4Y117b3ZlcmZsb3c6aGlkZGVufS51LW5vdGljZS1iYXJbZGF0YS12LTZkNDAxNDhjXXtwYWRkaW5nOiU/MTg/JSAlPzI0PyU7b3ZlcmZsb3c6aGlkZGVufS51LWRpcmVjdGlvbi1yb3dbZGF0YS12LTZkNDAxNDhjXXtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246cm93O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYmV0d2Vlbn0udS1sZWZ0LWljb25bZGF0YS12LTZkNDAxNDhjXXtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246cm93O2FsaWduLWl0ZW1zOmNlbnRlcn0udS1ub3RpY2UtYm94W2RhdGEtdi02ZDQwMTQ4Y117ZmxleDoxO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpyb3c7b3ZlcmZsb3c6aGlkZGVuO21hcmdpbi1sZWZ0OiU/MTI/JX0udS1yaWdodC1pY29uW2RhdGEtdi02ZDQwMTQ4Y117bWFyZ2luLWxlZnQ6JT8xMj8lO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpyb3c7YWxpZ24taXRlbXM6Y2VudGVyfS51LW5vdGljZS1jb250ZW50W2RhdGEtdi02ZDQwMTQ4Y117bGluZS1oZWlnaHQ6MTt3aGl0ZS1zcGFjZTpub3dyYXA7Zm9udC1zaXplOiU/MjY/JTstd2Via2l0LWFuaW1hdGlvbjp1LWxvb3AtYW5pbWF0aW9uLWRhdGEtdi02ZDQwMTQ4YyAxMHMgbGluZWFyIGluZmluaXRlIGJvdGg7YW5pbWF0aW9uOnUtbG9vcC1hbmltYXRpb24tZGF0YS12LTZkNDAxNDhjIDEwcyBsaW5lYXIgaW5maW5pdGUgYm90aDt0ZXh0LWFsaWduOnJpZ2h0O3BhZGRpbmctbGVmdDoxMDAlfUAtd2Via2l0LWtleWZyYW1lcyB1LWxvb3AtYW5pbWF0aW9uLWRhdGEtdi02ZDQwMTQ4Y3swJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTEwMCUsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTEwMCUsMCwwKX19QGtleWZyYW1lcyB1LWxvb3AtYW5pbWF0aW9uLWRhdGEtdi02ZDQwMTQ4Y3swJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTEwMCUsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTEwMCUsMCwwKX19IiwiIl0pLHQuZXhwb3J0cz1hfSxiM2U5OmZ1bmN0aW9uKHQsYSl7dC5leHBvcnRzPSJkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhNZ0F5QVBlQ0FIaG1jSkt3blFRQUF3QnlMUVJmRnYraG9WNEFBQUNFTmw1SUh2OUdSdjhDQXYvNStmOEJBZjhRRUVhWmFQOXNiUC9oNGVIaDRTYUlUdjhPRHY4NU9SQjhQR2lzaFArQ2d2OVZWZitFaFA5Q1F2OVBULy8xOWY4akkvL3o4MnRyYTJkblp3VUZCVzJ2aVA5YVdxSExzdi9sNWFDZ29QbjgraEo5UHY4cEtmL2k0ditnb1ArcXF2OXBhU1VsSmZuNStmL3A2VVZGUlFGME1BRUJBUkFRRUJFUkVVOVBUMTVlWGdJQ0FsMUhIVG1TWGY5blorWGw1YWVucC85Zlh3VnpJSUs2bWQvcTRTcUtVVXM3RHFmUHR6azVPZit1dEZXaWRNL1B6MGNBQWdKME1mL056YzNrMXVucDZRWmdHQVoyTk9MeDZQK29xTWZYemVYeDZ2L1B6LytucC85ZVh1bno3Ymh4WmdDRE5McXd0di9nNEVaR1JxbXBxZUx2NTgzTnpTZ29LS3JRdWtPWVp2L2YzMCtlYnYrNXVkRGwyZlB6OHdkM05WK25mUFA0OWZYMTlYZ3BLZUR1NXYvUTBOL2UzbTVuYzFWVlZZdTZwcWhDU2VEZzRFSkNRdjlvYUlLQ2dscWtlUC9NekhsbVExcGFXZ1lDQmZYNjl3QnpMd0FBQVAvLy8vOEFBUC8vL3dBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQ0gvQzFoTlVDQkVZWFJoV0UxUVBEOTRjR0ZqYTJWMElHSmxaMmx1UFNMdnU3OGlJR2xrUFNKWE5VMHdUWEJEWldocFNIcHlaVk42VGxSamVtdGpPV1FpUHo0Z1BIZzZlRzF3YldWMFlTQjRiV3h1Y3pwNFBTSmhaRzlpWlRwdWN6cHRaWFJoTHlJZ2VEcDRiWEIwYXowaVFXUnZZbVVnV0UxUUlFTnZjbVVnTlM0MkxXTXhORGdnTnprdU1UWTBNRE0yTENBeU1ERTVMekE0THpFekxUQXhPakEyT2pVM0lDQWdJQ0FnSUNBaVBpQThjbVJtT2xKRVJpQjRiV3h1Y3pweVpHWTlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5MekU1T1Rrdk1ESXZNakl0Y21SbUxYTjViblJoZUMxdWN5TWlQaUE4Y21SbU9rUmxjMk55YVhCMGFXOXVJSEprWmpwaFltOTFkRDBpSWlCNGJXeHVjenA0YlhCTlRUMGlhSFIwY0RvdkwyNXpMbUZrYjJKbExtTnZiUzk0WVhBdk1TNHdMMjF0THlJZ2VHMXNibk02YzNSU1pXWTlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2ZUdGd0x6RXVNQzl6Vkhsd1pTOVNaWE52ZFhKalpWSmxaaU1pSUhodGJHNXpPbmh0Y0QwaWFIUjBjRG92TDI1ekxtRmtiMkpsTG1OdmJTOTRZWEF2TVM0d0x5SWdlRzF3VFUwNlQzSnBaMmx1WVd4RWIyTjFiV1Z1ZEVsRVBTSjRiWEF1Wkdsa09qUTROREUwTnpJM0xUWXlNemd0TkdRMVpDMWhZakF4TFdKa05UWXhObUl5WWpNNFl5SWdlRzF3VFUwNlJHOWpkVzFsYm5SSlJEMGllRzF3TG1ScFpEcEVOREU1TlVWRVF6SkdSVEl4TVVWRFFqSTBRMFpET0RNd00wRXdOVEpGTVNJZ2VHMXdUVTA2U1c1emRHRnVZMlZKUkQwaWVHMXdMbWxwWkRwRU5ERTVOVVZFUWpKR1JUSXhNVVZEUWpJMFEwWkRPRE13TTBFd05USkZNU0lnZUcxd09rTnlaV0YwYjNKVWIyOXNQU0pCWkc5aVpTQlFhRzkwYjNOb2IzQWdNakl1TkNBb1RXRmphVzUwYjNOb0tTSStJRHg0YlhCTlRUcEVaWEpwZG1Wa1JuSnZiU0J6ZEZKbFpqcHBibk4wWVc1alpVbEVQU0o0YlhBdWFXbGtPak14WkRjNU9EYzBMV1ZpWWpFdE5ERTVPUzFoTmpBeExXTTJabU5pTnpBNVptTTFPU0lnYzNSU1pXWTZaRzlqZFcxbGJuUkpSRDBpZUcxd0xtUnBaRG8wT0RReE5EY3lOeTAyTWpNNExUUmtOV1F0WVdJd01TMWlaRFUyTVRaaU1tSXpPR01pTHo0Z1BDOXlaR1k2UkdWelkzSnBjSFJwYjI0K0lEd3ZjbVJtT2xKRVJqNGdQQzk0T25odGNHMWxkR0UrSUR3L2VIQmhZMnRsZENCbGJtUTlJbklpUHo0Qi8vNzkvUHY2K2ZqMzl2WDA4L0x4OE8vdTdlenI2dW5vNStibDVPUGk0ZURmM3QzYzI5cloyTmZXMWRUVDB0SFF6ODdOek12S3ljakh4c1hFdzhMQndMKyt2Ynk3dXJtNHQ3YTF0TE95c2JDdnJxMnNxNnFwcUtlbXBhU2pvcUdnbjU2ZG5KdWFtWmlYbHBXVWs1S1JrSStPall5TGlvbUloNGFGaElPQ2dZQi9mbjE4ZTNwNWVIZDJkWFJ6Y25Gd2IyNXRiR3RxYVdoblptVmtZMkpoWUY5ZVhWeGJXbGxZVjFaVlZGTlNVVkJQVGsxTVMwcEpTRWRHUlVSRFFrRkFQejQ5UERzNk9UZzNOalUwTXpJeE1DOHVMU3dyS2lrb0p5WWxKQ01pSVNBZkhoMGNHeG9aR0JjV0ZSUVRFaEVRRHc0TkRBc0tDUWdIQmdVRUF3SUJBQUFoK1FRQkFBQ0NBQ3dBQUFBQU1nQXlBQUFJL3dBRkNSeElzT0JBS0NSRU9KQ0FBczBURkJJY2lDRGh4YURGaXhnSFFyaWc1NENmanlCRGdoUUNwRTNHa3hiZFlGQVFDSUZIa1RCQktqbGlCaVZLR0Q0WUJOcnBNcWJQanpMU1hMRjVrVVdEblVoNy92eFpJUXhSZ2d0YUlKMnFkT2xQQ3llZWVrZ3dsZXBMcXo4ZHFMSEpnVUpYcjJDdDZ1aHpjb0dHczJqVExoV1RGYU5VdUVtL3l2VnBBV01VdkhIMy9pUmlzY1JSd0R6MUNvWlpZWXJCRVlqekxsNktwK0FTblpGYktwNGNVZ1lUZ2hzeTc4eVJaWURwMDZoVHExNU5adUFXbHFLSC9DQkF1N2J0Mjdoek93a2lNSVBvblZqa0JCaE92TGp4NDhnRFNCR1k0bmNnSTRDaVM1OU92YnAxNllKVU9BOVU0THIzNzlSWGJQL3ZEcjc4OVFmanphdW56dFU1K2ZYck82U0h2MzdDZlBybXQzUEhyMTcvZS83ZjJlY2VnT1hKTnlDQjM3WDMyMzhJVm9mZWdRMWFKeDZFRVZLbkhZVVZZdGZjYjJWa1NGMXZ6czBCQndBa2xtamlpU2ltQ0lBV0FvMEJXMlpKQ0NEampEVFdhT09OQXZEeHhrQ2hpV2JBSDBBR0tlU1FSQmI1aHcwRTVZRlpaRDhhNmVTVE0zeFJFR1NaTmZua2xVUHVZWkJoVldMcEpaQTA4R0JSRlYxK2lXVVBHTm5CcEpsWGdwQ1JXNGhaeVNhUmRieHdVbG1BeVRsbmtFV3NZZE5XZU9tNUp4ZG5QTFhBRG5BSnlpWUlkajRsa0ZGZEtlb2xEVjA0V2hBTVZpd3BLWlEzTkdHcFJWU3NGTWltUmVJUUJ4S2ZaclFSRzErQ2NRY2RxUklWRllFSkg4VGdRZzBoaEZDREN6RjhZRUlFbndZRUFEcz0ifSxiNjFjOmZ1bmN0aW9uKHQsYSxpKXsidXNlIHN0cmljdCI7aSgiNmE1NCIpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxhLmRlZmF1bHQ9dm9pZCAwLGkoIjY0YWEiKTt2YXIgZT17cHJvcHM6e2xpc3Q6e3R5cGU6QXJyYXksZGVmYXVsdDpmdW5jdGlvbigpe3JldHVybltdfX0sdHlwZTp7dHlwZTpTdHJpbmcsZGVmYXVsdDoid2FybmluZyJ9LHZvbHVtZUljb246e3R5cGU6Qm9vbGVhbixkZWZhdWx0OiEwfSxtb3JlSWNvbjp7dHlwZTpCb29sZWFuLGRlZmF1bHQ6ITF9LGNsb3NlSWNvbjp7dHlwZTpCb29sZWFuLGRlZmF1bHQ6ITF9LGF1dG9wbGF5Ont0eXBlOkJvb2xlYW4sZGVmYXVsdDohMH0sY29sb3I6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6IiJ9LGJnQ29sb3I6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6IiJ9LGRpcmVjdGlvbjp7dHlwZTpTdHJpbmcsZGVmYXVsdDoicm93In0sc2hvdzp7dHlwZTpCb29sZWFuLGRlZmF1bHQ6ITB9LGZvbnRTaXplOnt0eXBlOltOdW1iZXIsU3RyaW5nXSxkZWZhdWx0OjI2fSxkdXJhdGlvbjp7dHlwZTpbTnVtYmVyLFN0cmluZ10sZGVmYXVsdDoyZTN9LHZvbHVtZVNpemU6e3R5cGU6W051bWJlcixTdHJpbmddLGRlZmF1bHQ6MzR9LHNwZWVkOnt0eXBlOk51bWJlcixkZWZhdWx0OjE2MH0saXNDaXJjdWxhcjp7dHlwZTpCb29sZWFuLGRlZmF1bHQ6ITB9LG1vZGU6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6Imhvcml6b250YWwifSxwbGF5U3RhdGU6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6InBsYXkifSxkaXNhYmxlVG91Y2g6e3R5cGU6Qm9vbGVhbixkZWZhdWx0OiEwfSxwYWRkaW5nOnt0eXBlOltOdW1iZXIsU3RyaW5nXSxkZWZhdWx0OiIxOHJweCAyNHJweCJ9fSxjb21wdXRlZDp7Y29tcHV0ZUNvbG9yOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY29sb3I/dGhpcy5jb2xvcjoibm9uZSI9PXRoaXMudHlwZT8iIzYwNjI2NiI6dGhpcy50eXBlfSx0ZXh0U3R5bGU6ZnVuY3Rpb24oKXt2YXIgdD17fTtyZXR1cm4gdGhpcy5jb2xvcj90LmNvbG9yPXRoaXMuY29sb3I6Im5vbmUiPT10aGlzLnR5cGUmJih0LmNvbG9yPSIjNjA2MjY2IiksdC5mb250U2l6ZT10aGlzLmZvbnRTaXplKyJycHgiLHR9LHZlcnRpY2FsOmZ1bmN0aW9uKCl7cmV0dXJuImhvcml6b250YWwiIT10aGlzLm1vZGV9LGNvbXB1dGVCZ0NvbG9yOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYmdDb2xvcj90aGlzLmJnQ29sb3I6Im5vbmUiPT10aGlzLnR5cGU/InRyYW5zcGFyZW50Ijp2b2lkIDB9fSxkYXRhOmZ1bmN0aW9uKCl7cmV0dXJue319LG1ldGhvZHM6e2NsaWNrOmZ1bmN0aW9uKHQpe3RoaXMuJGVtaXQoImNsaWNrIix0KX0sY2xvc2U6ZnVuY3Rpb24oKXt0aGlzLiRlbWl0KCJjbG9zZSIpfSxnZXRNb3JlOmZ1bmN0aW9uKCl7dGhpcy4kZW1pdCgiZ2V0TW9yZSIpfSxjaGFuZ2U6ZnVuY3Rpb24odCl7dmFyIGE9dC5kZXRhaWwuY3VycmVudDthPT10aGlzLmxpc3QubGVuZ3RoLTEmJnRoaXMuJGVtaXQoImVuZCIpfX19O2EuZGVmYXVsdD1lfSxiN2M3OmZ1bmN0aW9uKHQsYSxpKXsidXNlIHN0cmljdCI7aSgiNmE1NCIpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxhLmRlZmF1bHQ9ZnVuY3Rpb24odCl7cmV0dXJuKDAsZS5kZWZhdWx0KSh0KXx8KDAsbi5kZWZhdWx0KSh0KXx8KDAsci5kZWZhdWx0KSh0KXx8KDAsby5kZWZhdWx0KSgpfTt2YXIgZT1kKGkoIjQ3MzMiKSksbj1kKGkoImQxNGQiKSkscj1kKGkoIjVkNmIiKSksbz1kKGkoIjMwZjciKSk7ZnVuY3Rpb24gZCh0KXtyZXR1cm4gdCYmdC5fX2VzTW9kdWxlP3Q6e2RlZmF1bHQ6dH19fSxiOWU1OmZ1bmN0aW9uKHQsYSxpKXsidXNlIHN0cmljdCI7aSgiNmE1NCIpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxhLmRlZmF1bHQ9dm9pZCAwO2EuZGVmYXVsdD17ZWFzeWNvbTp7Il51LSguKikiOiJAL3V2aWV3LXVpL2NvbXBvbmVudHMvdS0kMS91LSQxLnZ1ZSJ9LHBhZ2VzOlt7cGF0aDoicGFnZXMvaW5kZXgvaW5kZXgiLHN0eWxlOntuYXZpZ2F0aW9uQmFyVGl0bGVUZXh0OiIiLGVuYWJsZVB1bGxEb3duUmVmcmVzaDohMX19LHtwYXRoOiJwYWdlcy9jb21tb24vbG9naW4iLHN0eWxlOntuYXZpZ2F0aW9uQmFyVGl0bGVUZXh0OiIiLGVuYWJsZVB1bGxEb3duUmVmcmVzaDohMX19LHtwYXRoOiJwYWdlcy9jb21tb24vcmVnaXN0ZXIiLHN0eWxlOntuYXZpZ2F0aW9uQmFyVGl0bGVUZXh0OiIiLGVuYWJsZVB1bGxEb3duUmVmcmVzaDohMX19LHtwYXRoOiJwYWdlcy9jb21tb24vYXJlYSIsc3R5bGU6e25hdmlnYXRpb25CYXJUaXRsZVRleHQ6IiIsZW5hYmxlUHVsbERvd25SZWZyZXNoOiExfX0se3BhdGg6InBhZ2VzL3NldHRpbmcvc2V0dGluZyIsc3R5bGU6e25hdmlnYXRpb25CYXJUaXRsZVRleHQ6IiIsZW5hYmxlUHVsbERvd25SZWZyZXNoOiExfX0se3BhdGg6InBhZ2VzL3NldHRpbmcvdXNlckluZm8iLHN0eWxlOntuYXZpZ2F0aW9uQmFyVGl0bGVUZXh0OiIiLGVuYWJsZVB1bGxEb3duUmVmcmVzaDohMX19LHtwYXRoOiJwYWdlcy9zZXR0aW5nL3NlY3VyaXR5IixzdHlsZTp7bmF2aWdhdGlvbkJhclRpdGxlVGV4dDoiIixlbmFibGVQdWxsRG93blJlZnJlc2g6ITF9fSx7cGF0aDoicGFnZXMvc2V0dGluZy9wYXNzd29yZCIsc3R5bGU6e25hdmlnYXRpb25CYXJUaXRsZVRleHQ6IiIsZW5hYmxlUHVsbERvd25SZWZyZXNoOiExfX0se3BhdGg6InBhZ2VzL3NldHRpbmcvcGF5UGFzc3dvcmQiLHN0eWxlOntuYXZpZ2F0aW9uQmFyVGl0bGVUZXh0OiIiLGVuYWJsZVB1bGxEb3duUmVmcmVzaDohMX19LHtwYXRoOiJwYWdlcy9zZXR0aW5nL2NvdXBvbiIsc3R5bGU6e25hdmlnYXRpb25CYXJUaXRsZVRleHQ6IiIsZW5hYmxlUHVsbERvd25SZWZyZXNoOiExfX0se3BhdGg6InBhZ2VzL3NldHRpbmcvd2FsbGV0IixzdHlsZTp7bmF2aWdhdGlvbkJhclRpdGxlVGV4dDoiIixlbmFibGVQdWxsRG93blJlZnJlc2g6ITF9fSx7cGF0aDoicGFnZXMvc2V0dGluZy9iaWxsIixzdHlsZTp7bmF2aWdhdGlvbkJhclRpdGxlVGV4dDoiIixlbmFibGVQdWxsRG93blJlZnJlc2g6ITF9fSx7cGF0aDoicGFnZXMvc2V0dGluZy9hcmVhcyIsc3R5bGU6e25hdmlnYXRpb25CYXJUaXRsZVRleHQ6IiIsZW5hYmxlUHVsbERvd25SZWZyZXNoOiExfX0se3BhdGg6InBhZ2VzL2Z1bmQvc2VsZWN0IixzdHlsZTp7bmF2aWdhdGlvbkJhclRpdGxlVGV4dDoiIixlbmFibGVQdWxsRG93blJlZnJlc2g6ITF9fSx7cGF0aDoicGFnZXMvZnVuZC9yZWNlaXZlIixzdHlsZTp7bmF2aWdhdGlvbkJhclRpdGxlVGV4dDoiIixlbmFibGVQdWxsRG93blJlZnJlc2g6ITF9fSx7cGF0aDoicGFnZXMvZnVuZC9yZWNlaXZlX3dpdGhkcmF3X3JlY29yZCIsc3R5bGU6e25hdmlnYXRpb25CYXJUaXRsZVRleHQ6IiIsZW5hYmxlUHVsbERvd25SZWZyZXNoOiExfX0se3BhdGg6InBhZ2VzL21hcmtldC9tYXJrZXQiLHN0eWxlOntuYXZpZ2F0aW9uQmFyVGl0bGVUZXh0OiIiLGVuYWJsZVB1bGxEb3duUmVmcmVzaDohMX19LHtwYXRoOiJwYWdlcy9mdW5kL2Fzc2V0cyIsc3R5bGU6e25hdmlnYXRpb25CYXJUaXRsZVRleHQ6IiIsZW5hYmxlUHVsbERvd25SZWZyZXNoOiExfX0se3BhdGg6InBhZ2VzL2NvcHl0cmFkZS9jb3B5IixzdHlsZTp7bmF2aWdhdGlvbkJhclRpdGxlVGV4dDoiIixlbmFibGVQdWxsRG93blJlZnJlc2g6ITF9fSx7cGF0aDoicGFnZXMvY29weXRyYWRlL215IixzdHlsZTp7bmF2aWdhdGlvbkJhclRpdGxlVGV4dDoiIixlbmFibGVQdWxsRG93blJlZnJlc2g6ITF9fSx7cGF0aDoicGFnZXMvY29weXRyYWRlL3RyYWRlciIsc3R5bGU6e25hdmlnYXRpb25CYXJUaXRsZVRleHQ6IiIsZW5hYmxlUHVsbERvd25SZWZyZXNoOiExfX0se3BhdGg6InBhZ2VzL2Z1bmQvd2l0aGRyYXciLHN0eWxlOntuYXZpZ2F0aW9uQmFyVGl0bGVUZXh0OiIiLGVuYWJsZVB1bGxEb3duUmVmcmVzaDohMX19LHtwYXRoOiJwYWdlcy9vdGMvb3RjIixzdHlsZTp7bmF2aWdhdGlvbkJhclRpdGxlVGV4dDoiIixlbmFibGVQdWxsRG93blJlZnJlc2g6ITF9fSx7cGF0aDoicGFnZXMvc2V0dGluZy9yZWFsIixzdHlsZTp7bmF2aWdhdGlvbkJhclRpdGxlVGV4dDoiIixlbmFibGVQdWxsRG93blJlZnJlc2g6ITF9fSx7cGF0aDoicGFnZXMvc2V0dGluZy9hZGRXYWxsZXQiLHN0eWxlOntuYXZpZ2F0aW9uQmFyVGl0bGVUZXh0OiIiLGVuYWJsZVB1bGxEb3duUmVmcmVzaDohMX19LHtwYXRoOiJwYWdlcy9tYXJrZXQvc2VhcmNoIixzdHlsZTp7bmF2aWdhdGlvbkJhclRpdGxlVGV4dDoiIixlbmFibGVQdWxsRG93blJlZnJlc2g6ITF9fSx7cGF0aDoicGFnZXMvY29tbW9uL2FydGljbGUiLHN0eWxlOntuYXZpZ2F0aW9uQmFyVGl0bGVUZXh0OiIiLGVuYWJsZVB1bGxEb3duUmVmcmVzaDohMX19LHtwYXRoOiJwYWdlcy9pZW8vaWVvIixzdHlsZTp7bmF2aWdhdGlvbkJhclRpdGxlVGV4dDoiIixlbmFibGVQdWxsRG93blJlZnJlc2g6ITF9fSx7cGF0aDoicGFnZXMvaWVvL3N1YnNjcmliZSIsc3R5bGU6e25hdmlnYXRpb25CYXJUaXRsZVRleHQ6IiIsZW5hYmxlUHVsbERvd25SZWZyZXNoOiExfX0se3BhdGg6InBhZ2VzL2NvbW1vbi93ZWJWaWV3IixzdHlsZTp7bmF2aWdhdGlvblN0eWxlOiJkZWZhdWx0IixuYXZpZ2F0aW9uQmFyVGl0bGVUZXh0OiIiLGVuYWJsZVB1bGxEb3duUmVmcmVzaDohMX19LHtwYXRoOiJwYWdlcy9pZW8vb3JkZXIiLHN0eWxlOntuYXZpZ2F0aW9uQmFyVGl0bGVUZXh0OiIiLGVuYWJsZVB1bGxEb3duUmVmcmVzaDohMX19LHtwYXRoOiJwYWdlcy9sb2NrbWluZy9sb2NrbWluZyIsc3R5bGU6e25hdmlnYXRpb25CYXJUaXRsZVRleHQ6IiIsZW5hYmxlUHVsbERvd25SZWZyZXNoOiExfX0se3BhdGg6InBhZ2VzL2xvY2ttaW5nL2J1eSIsc3R5bGU6e25hdmlnYXRpb25CYXJUaXRsZVRleHQ6IiIsZW5hYmxlUHVsbERvd25SZWZyZXNoOiExfX0se3BhdGg6InBhZ2VzL2xvY2ttaW5nL29yZGVyIixzdHlsZTp7bmF2aWdhdGlvbkJhclRpdGxlVGV4dDoiIixlbmFibGVQdWxsRG93blJlZnJlc2g6ITF9fSx7cGF0aDoicGFnZXMvZnVuZC9hc3NldHNfcmVjb3JkIixzdHlsZTp7bmF2aWdhdGlvbkJhclRpdGxlVGV4dDoiIixlbmFibGVQdWxsRG93blJlZnJlc2g6ITF9fSx7cGF0aDoicGFnZXMvZnVuZC90cmFuc2ZlciIsc3R5bGU6e25hdmlnYXRpb25CYXJUaXRsZVRleHQ6IiIsZW5hYmxlUHVsbERvd25SZWZyZXNoOiExfX0se3BhdGg6InBhZ2VzL2Z1bmQvZnVuZFRyYW5zZmVyIixzdHlsZTp7bmF2aWdhdGlvbkJhclRpdGxlVGV4dDoiIixlbmFibGVQdWxsRG93blJlZnJlc2g6ITF9fSx7cGF0aDoicGFnZXMvZnVuZC9hc3NldHNfYWxsX3JlY29yZCIsc3R5bGU6e25hdmlnYXRpb25CYXJUaXRsZVRleHQ6IiIsZW5hYmxlUHVsbERvd25SZWZyZXNoOiExfX0se3BhdGg6InBhZ2VzL2Z1bmQvdHJhbnNmZXJfaGlzdG9yeSIsc3R5bGU6e25hdmlnYXRpb25CYXJUaXRsZVRleHQ6IiIsZW5hYmxlUHVsbERvd25SZWZyZXNoOiExfX0se3BhdGg6InBhZ2VzL3RyYW5zYWN0aW9uL2luZGV4IixzdHlsZTp7bmF2aWdhdGlvbkJhclRpdGxlVGV4dDoiIixlbmFibGVQdWxsRG93blJlZnJlc2g6ITF9fSx7cGF0aDoicGFnZXMvdHJhbnNhY3Rpb24vY3VycmVuY3kiLHN0eWxlOntuYXZpZ2F0aW9uQmFyVGl0bGVUZXh0OiIiLGVuYWJsZVB1bGxEb3duUmVmcmVzaDohMX19LHtwYXRoOiJwYWdlcy90cmFuc2FjdGlvbi9jdXJyZW5jeV9vcmRlciIsc3R5bGU6e25hdmlnYXRpb25CYXJUaXRsZVRleHQ6IiIsZW5hYmxlUHVsbERvd25SZWZyZXNoOiExfX0se3BhdGg6InBhZ2VzL3RyYW5zYWN0aW9uL2NvbnRyYWN0IixzdHlsZTp7bmF2aWdhdGlvbkJhclRpdGxlVGV4dDoiIixlbmFibGVQdWxsRG93blJlZnJlc2g6ITF9fSx7cGF0aDoicGFnZXMvdHJhbnNhY3Rpb24vY29udHJhY3Rfb3JkZXIiLHN0eWxlOntuYXZpZ2F0aW9uQmFyVGl0bGVUZXh0OiIiLGVuYWJsZVB1bGxEb3duUmVmcmVzaDohMX19LHtwYXRoOiJwYWdlcy90cmFuc2FjdGlvbi9zZWNvbmRzX29yZGVyIixzdHlsZTp7bmF2aWdhdGlvbkJhclRpdGxlVGV4dDoiIixlbmFibGVQdWxsRG93blJlZnJlc2g6ITF9fSx7cGF0aDoicGFnZXMvbmZ0L25mdCIsc3R5bGU6e25hdmlnYXRpb25CYXJUaXRsZVRleHQ6IiIsZW5hYmxlUHVsbERvd25SZWZyZXNoOiExfX0se3BhdGg6InBhZ2VzL25mdC9hcnRpc3REZXRhaWwiLHN0eWxlOntuYXZpZ2F0aW9uQmFyVGl0bGVUZXh0OiIiLGVuYWJsZVB1bGxEb3duUmVmcmVzaDohMX19LHtwYXRoOiJwYWdlcy9uZnQvbWluZSIsc3R5bGU6e25hdmlnYXRpb25CYXJUaXRsZVRleHQ6IiIsZW5hYmxlUHVsbERvd25SZWZyZXNoOiExfX0se3BhdGg6InBhZ2VzL2ludmVzdC9pbnZlc3QiLHN0eWxlOntuYXZpZ2F0aW9uQmFyVGl0bGVUZXh0OiIiLGVuYWJsZVB1bGxEb3duUmVmcmVzaDohMX19LHtwYXRoOiJwYWdlcy9pbnZlc3QvbWluZSIsc3R5bGU6e25hdmlnYXRpb25CYXJUaXRsZVRleHQ6IiIsZW5hYmxlUHVsbERvd25SZWZyZXNoOiExfX0se3BhdGg6InBhZ2VzL2ZvbGxvdy9pbmRleCIsc3R5bGU6e25hdmlnYXRpb25CYXJUaXRsZVRleHQ6IiIsZW5hYmxlUHVsbERvd25SZWZyZXNoOiExfX0se3BhdGg6InBhZ2VzL2ZvbGxvdy90cmFkZXIiLHN0eWxlOntuYXZpZ2F0aW9uQmFyVGl0bGVUZXh0OiIiLGVuYWJsZVB1bGxEb3duUmVmcmVzaDohMX19LHtwYXRoOiJwYWdlcy9pbnZlc3QvcHVyY2hhc2UiLHN0eWxlOntuYXZpZ2F0aW9uQmFyVGl0bGVUZXh0OiIiLGVuYWJsZVB1bGxEb3duUmVmcmVzaDohMX19LHtwYXRoOiJwYWdlcy9mb2xsb3cvZm9sbG93IixzdHlsZTp7bmF2aWdhdGlvbkJhclRpdGxlVGV4dDoiIixlbmFibGVQdWxsRG93blJlZnJlc2g6ITF9fSx7cGF0aDoicGFnZXMvZm9sbG93L2FncmVlbWVudF96aCIsc3R5bGU6e25hdmlnYXRpb25CYXJUaXRsZVRleHQ6IiIsZW5hYmxlUHVsbERvd25SZWZyZXNoOiExfX0se3BhdGg6InBhZ2VzL2ZvbGxvdy9hZ3JlZW1lbnRfZW4iLHN0eWxlOntuYXZpZ2F0aW9uQmFyVGl0bGVUZXh0OiIiLGVuYWJsZVB1bGxEb3duUmVmcmVzaDohMX19LHtwYXRoOiJwYWdlcy9pbnZlc3QvaGVscCIsc3R5bGU6e25hdmlnYXRpb25CYXJUaXRsZVRleHQ6IiIsZW5hYmxlUHVsbERvd25SZWZyZXNoOiExfX0se3BhdGg6InBhZ2VzL25mdC9jb21wb25lbnRzL2FydGlzdCIsc3R5bGU6e25hdmlnYXRpb25CYXJUaXRsZVRleHQ6IiIsZW5hYmxlUHVsbERvd25SZWZyZXNoOiExfX0se3BhdGg6InBhZ2VzL25mdC9jb21wb25lbnRzL2FydHdvcmsiLHN0eWxlOntuYXZpZ2F0aW9uQmFyVGl0bGVUZXh0OiIiLGVuYWJsZVB1bGxEb3duUmVmcmVzaDohMX19LHtwYXRoOiJwYWdlcy9uZnQvYXJ0d29ya0RldGFpbCIsc3R5bGU6e25hdmlnYXRpb25CYXJUaXRsZVRleHQ6IiIsZW5hYmxlUHVsbERvd25SZWZyZXNoOiExfX0se3BhdGg6InBhZ2VzL25mdC9wdXJjaGFzZSIsc3R5bGU6e25hdmlnYXRpb25CYXJUaXRsZVRleHQ6IiIsZW5hYmxlUHVsbERvd25SZWZyZXNoOiExfX0se3BhdGg6InBhZ2VzL25mdC9jb21wb25lbnRzL3NlYXJjaCIsc3R5bGU6e25hdmlnYXRpb25CYXJUaXRsZVRleHQ6IiIsZW5hYmxlUHVsbERvd25SZWZyZXNoOiExfX0se3BhdGg6InBhZ2VzL25mdC9jb21wb25lbnRzL2NvbGxlY3Rpb24iLHN0eWxlOntuYXZpZ2F0aW9uQmFyVGl0bGVUZXh0OiIiLGVuYWJsZVB1bGxEb3duUmVmcmVzaDohMX19LHtwYXRoOiJwYWdlcy9uZnQvcHVyY2hhc2Vfb25lIixzdHlsZTp7bmF2aWdhdGlvbkJhclRpdGxlVGV4dDoiIixlbmFibGVQdWxsRG93blJlZnJlc2g6ITF9fSx7cGF0aDoicGFnZXMvbmZ0L3Jlc2VsbCIsc3R5bGU6e25hdmlnYXRpb25CYXJUaXRsZVRleHQ6IiIsZW5hYmxlUHVsbERvd25SZWZyZXNoOiExfX0se3BhdGg6InBhZ2VzL25mdC9teU5mdCIsc3R5bGU6e25hdmlnYXRpb25CYXJUaXRsZVRleHQ6IiIsZW5hYmxlUHVsbERvd25SZWZyZXNoOiExfX0se3BhdGg6InBhZ2VzL2dhbWUvZ2FtZSIsc3R5bGU6e25hdmlnYXRpb25CYXJUaXRsZVRleHQ6IiIsZW5hYmxlUHVsbERvd25SZWZyZXNoOiExfX0se3BhdGg6InBhZ2VzL25mdC9hcnR3b3JrRGV0YWlsX3ZpZGVvIixzdHlsZTp7bmF2aWdhdGlvbkJhclRpdGxlVGV4dDoiIixlbmFibGVQdWxsRG93blJlZnJlc2g6ITF9fSx7cGF0aDoicGFnZXMvZmluYW5jaWFsL2luZGV4IixzdHlsZTp7bmF2aWdhdGlvbkJhclRpdGxlVGV4dDoiIixlbmFibGVQdWxsRG93blJlZnJlc2g6ITF9fSx7cGF0aDoicGFnZXMvdHJhbnNhY3Rpb24vaW5kZXgyIixzdHlsZTp7bmF2aWdhdGlvbkJhclRpdGxlVGV4dDoiIixlbmFibGVQdWxsRG93blJlZnJlc2g6ITF9fSx7cGF0aDoicGFnZXMvc2V0dGluZy9zZXR0aW5nIixzdHlsZTp7bmF2aWdhdGlvbkJhclRpdGxlVGV4dDoiIixlbmFibGVQdWxsRG93blJlZnJlc2g6ITF9fSx7cGF0aDoicGFnZXMvc2V0dGluZy91c2VySW5mbyIsc3R5bGU6e25hdmlnYXRpb25CYXJUaXRsZVRleHQ6IiIsZW5hYmxlUHVsbERvd25SZWZyZXNoOiExfX0se3BhdGg6InBhZ2VzL3NldHRpbmcvc2VjdXJpdHkiLHN0eWxlOntuYXZpZ2F0aW9uQmFyVGl0bGVUZXh0OiIiLGVuYWJsZVB1bGxEb3duUmVmcmVzaDohMX19LHtwYXRoOiJwYWdlcy9zZXR0aW5nL3Bhc3N3b3JkIixzdHlsZTp7bmF2aWdhdGlvbkJhclRpdGxlVGV4dDoiIixlbmFibGVQdWxsRG93blJlZnJlc2g6ITF9fSx7cGF0aDoicGFnZXMvc2V0dGluZy9wYXlQYXNzd29yZCIsc3R5bGU6e25hdmlnYXRpb25CYXJUaXRsZVRleHQ6IiIsZW5hYmxlUHVsbERvd25SZWZyZXNoOiExfX0se3BhdGg6InBhZ2VzL3NldHRpbmcvY291cG9uIixzdHlsZTp7bmF2aWdhdGlvbkJhclRpdGxlVGV4dDoiIixlbmFibGVQdWxsRG93blJlZnJlc2g6ITF9fSx7cGF0aDoicGFnZXMvc2V0dGluZy93YWxsZXQiLHN0eWxlOntuYXZpZ2F0aW9uQmFyVGl0bGVUZXh0OiIiLGVuYWJsZVB1bGxEb3duUmVmcmVzaDohMX19LHtwYXRoOiJwYWdlcy9zZXR0aW5nL2JpbGwiLHN0eWxlOntuYXZpZ2F0aW9uQmFyVGl0bGVUZXh0OiIiLGVuYWJsZVB1bGxEb3duUmVmcmVzaDohMX19LHtwYXRoOiJwYWdlcy9zZXR0aW5nL3RlYW0iLHN0eWxlOntuYXZpZ2F0aW9uQmFyVGl0bGVUZXh0OiIiLGVuYWJsZVB1bGxEb3duUmVmcmVzaDohMX19LHtwYXRoOiJwYWdlcy9zZXR0aW5nL2V4Y2hhbmdlIixzdHlsZTp7bmF2aWdhdGlvbkJhclRpdGxlVGV4dDoiIixlbmFibGVQdWxsRG93blJlZnJlc2g6ITF9fSx7cGF0aDoicGFnZXMvc2V0dGluZy9yZXdhcmRSZWNvcmQiLHN0eWxlOntuYXZpZ2F0aW9uQmFyVGl0bGVUZXh0OiIiLGVuYWJsZVB1bGxEb3duUmVmcmVzaDohMX19LHtwYXRoOiJwYWdlcy9zZXR0aW5nL2FyZWFzIixzdHlsZTp7bmF2aWdhdGlvbkJhclRpdGxlVGV4dDoiIixlbmFibGVQdWxsRG93blJlZnJlc2g6ITF9fSx7cGF0aDoicGFnZXMvc2V0dGluZy9iYW5rIixzdHlsZTp7bmF2aWdhdGlvbkJhclRpdGxlVGV4dDoiIixlbmFibGVQdWxsRG93blJlZnJlc2g6ITF9fSx7cGF0aDoicGFnZXMvc2V0dGluZy9vcGVyYXRpb25hbF9jb21wbGlhbmNlIixzdHlsZTp7bmF2aWdhdGlvbkJhclRpdGxlVGV4dDoiIixlbmFibGVQdWxsRG93blJlZnJlc2g6ITF9fSx7cGF0aDoicGFnZXMvc2V0dGluZy9zaGFyZSIsc3R5bGU6e25hdmlnYXRpb25CYXJUaXRsZVRleHQ6IiIsZW5hYmxlUHVsbERvd25SZWZyZXNoOiExfX0se3BhdGg6InBhZ2VzL2xvY2ttaW5nL3dlbGNvbWUiLHN0eWxlOntuYXZpZ2F0aW9uQmFyVGl0bGVUZXh0OiIiLGVuYWJsZVB1bGxEb3duUmVmcmVzaDohMX19LHtwYXRoOiJwYWdlcy9rZWZ1L2luZGV4IixzdHlsZTp7bmF2aWdhdGlvbkJhclRpdGxlVGV4dDoiIixlbmFibGVQdWxsRG93blJlZnJlc2g6ITF9fSx7cGF0aDoicGFnZXMvc2V0dGluZy9iYW5rX2ludGVybmF0aW9uYWwiLHN0eWxlOntuYXZpZ2F0aW9uQmFyVGl0bGVUZXh0OiIiLGVuYWJsZVB1bGxEb3duUmVmcmVzaDohMX19LHtwYXRoOiJwYWdlcy9jb21tb24vZmFxIixzdHlsZTp7bmF2aWdhdGlvbkJhclRpdGxlVGV4dDoiIixlbmFibGVQdWxsRG93blJlZnJlc2g6ITF9fSx7cGF0aDoicGFnZXMvY29tbW9uL2NvbnRhY3R1cyIsc3R5bGU6e25hdmlnYXRpb25CYXJUaXRsZVRleHQ6IiIsZW5hYmxlUHVsbERvd25SZWZyZXNoOiExfX0se3BhdGg6InBhZ2VzL2NvbW1vbi9hYm91dHVzIixzdHlsZTp7bmF2aWdhdGlvbkJhclRpdGxlVGV4dDoiIixlbmFibGVQdWxsRG93blJlZnJlc2g6ITF9fSx7cGF0aDoicGFnZXMvY29tbW9uL2JvcnJvd2luZyIsc3R5bGU6e25hdmlnYXRpb25CYXJUaXRsZVRleHQ6IiIsZW5hYmxlUHVsbERvd25SZWZyZXNoOiExfX1dLGdsb2JhbFN0eWxlOntuYXZpZ2F0aW9uU3R5bGU6ImN1c3RvbSIsbmF2aWdhdGlvbkJhclRleHRTdHlsZToiYmxhY2siLG5hdmlnYXRpb25CYXJCYWNrZ3JvdW5kQ29sb3I6IiNGRkZGRkYiLGJhY2tncm91bmRDb2xvcjoiIzMzMzMzMyIsYmFja2dyb3VuZENvbG9yVG9wOiIjMjIyMjIyIixiYWNrZ3JvdW5kQ29sb3JCb3R0b206IiMzMzMzMzMiLCJhcHAtcGx1cyI6e2JhY2tncm91bmQ6IiMzMzMzMzMifX0sdGFiQmFyOntjb2xvcjoiI2JiYmJiYiIsc2VsZWN0ZWRDb2xvcjoiI2ZmZDdhNiIsYmFja2dyb3VuZENvbG9yOiIjMzMzMzMzIixib3JkZXJTdHlsZToiYmxhY2siLGxpc3Q6W3twYWdlUGF0aDoicGFnZXMvaW5kZXgvaW5kZXgiLGljb25QYXRoOiJzdGF0aWMvaW1hZ2UvbmF2L25hdi0xLnBuZyIsc2VsZWN0ZWRJY29uUGF0aDoic3RhdGljL2ltYWdlL25hdi9uYXYtMS1hY3RpdmUucG5nIix0ZXh0OiLpppbpobUifSx7cGFnZVBhdGg6InBhZ2VzL21hcmtldC9tYXJrZXQiLGljb25QYXRoOiJzdGF0aWMvaW1hZ2UvbmF2L25hdi0yLnBuZyIsc2VsZWN0ZWRJY29uUGF0aDoic3RhdGljL2ltYWdlL25hdi9uYXYtMi1hY3RpdmUucG5nIix0ZXh0OiLooYzmg4UifSx7cGFnZVBhdGg6InBhZ2VzL3RyYW5zYWN0aW9uL2luZGV4IixpY29uUGF0aDoic3RhdGljL2ltYWdlL25hdi9uYXYtMy5wbmciLHNlbGVjdGVkSWNvblBhdGg6InN0YXRpYy9pbWFnZS9uYXYvbmF2LTMtYWN0aXZlLnBuZyIsdGV4dDoi5Lqk5piTIn0se3BhZ2VQYXRoOiJwYWdlcy9maW5hbmNpYWwvaW5kZXgiLGljb25QYXRoOiJzdGF0aWMvaW1hZ2UvbmF2L25hdi00LnBuZyIsc2VsZWN0ZWRJY29uUGF0aDoic3RhdGljL2ltYWdlL25hdi9uYXYtNC1hY3RpdmUucG5nIix0ZXh0OiLph5Hono0ifSx7cGFnZVBhdGg6InBhZ2VzL2Z1bmQvYXNzZXRzIixpY29uUGF0aDoic3RhdGljL2ltYWdlL25hdi9uYXYtNS5wbmciLHNlbGVjdGVkSWNvblBhdGg6InN0YXRpYy9pbWFnZS9uYXYvbmF2LTUtYWN0aXZlLnBuZyIsdGV4dDoi6LWE5LqnIn1dfX19LGJiMWU6ZnVuY3Rpb24odCxhLGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgZT1pKCI1ODQyIiksbj1pLm4oZSk7bi5hfSxiYmIzOmZ1bmN0aW9uKHQsYSxpKXsidXNlIHN0cmljdCI7aS5yKGEpO3ZhciBlPWkoIjNjMTgiKSxuPWkubihlKTtmb3IodmFyIHIgaW4gZSlbImRlZmF1bHQiXS5pbmRleE9mKHIpPDAmJmZ1bmN0aW9uKHQpe2kuZChhLHQsKGZ1bmN0aW9uKCl7cmV0dXJuIGVbdF19KSl9KHIpO2FbImRlZmF1bHQiXT1uLmF9LGJiYjQ6ZnVuY3Rpb24odCxhLGkpeyJ1c2Ugc3RyaWN0IjtpLnIoYSk7dmFyIGU9aSgiOGI2YSIpLG49aSgiN2NiYiIpO2Zvcih2YXIgciBpbiBuKVsiZGVmYXVsdCJdLmluZGV4T2Yocik8MCYmZnVuY3Rpb24odCl7aS5kKGEsdCwoZnVuY3Rpb24oKXtyZXR1cm4gblt0XX0pKX0ocik7aSgiYTgxMiIpO3ZhciBvPWkoIjgyOGIiKSxkPU9iamVjdChvWyJhIl0pKG5bImRlZmF1bHQiXSxlWyJiIl0sZVsiYyJdLCExLG51bGwsIjZlNWQ5YzkwIixudWxsLCExLGVbImEiXSx2b2lkIDApO2FbImRlZmF1bHQiXT1kLmV4cG9ydHN9LGJlNTI6ZnVuY3Rpb24odCxhLGkpeyJ1c2Ugc3RyaWN0IjtpKCI2YTU0Iik7dmFyIGU9aSgiZjViZCIpLmRlZmF1bHQ7T2JqZWN0LmRlZmluZVByb3BlcnR5KGEsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGEuZGVmYXVsdD12b2lkIDAsaSgiZDRiNSIpLGkoIjQ2MjYiKSxpKCI1YWM3IiksaSgiYWE5YyIpLGkoIjNlZmQiKTt2YXIgbj1lKGkoImZjZjMiKSkscj1lKGkoIjZkODAiKSksbz1lKGkoIjE2MDIiKSksZD1lKGkoIjY2OGUiKSkscD17fSxjPW51bGw7ZnVuY3Rpb24gcygpe2Zvcih2YXIgdD1hcmd1bWVudHMubGVuZ3RoPjAmJnZvaWQgMCE9PWFyZ3VtZW50c1swXT9hcmd1bWVudHNbMF06e30sYT1hcmd1bWVudHMubGVuZ3RoLGk9bmV3IEFycmF5KGE+MT9hLTE6MCksZT0xO2U8YTtlKyspaVtlLTFdPWFyZ3VtZW50c1tlXTtmb3IodmFyIHIgaW4gaSlmb3IodmFyIG8gaW4gaVtyXSlpW3JdLmhhc093blByb3BlcnR5KG8pJiYodFtvXT1pW3JdW29dJiYib2JqZWN0Ij09PSgwLG4uZGVmYXVsdCkoaVtyXVtvXSk/cyhBcnJheS5pc0FycmF5KGlbcl1bb10pP1tdOnt9LHRbb10saVtyXVtvXSk6aVtyXVtvXSk7cmV0dXJuIHR9ZnVuY3Rpb24gbCh0LGEpe2Zvcih2YXIgaSBpbiB0KW51bGwhPT10W2ldJiYib2JqZWN0Ij09PSgwLG4uZGVmYXVsdCkodFtpXSk/bCh0W2ldLGEpOiJmb3JtYXQiPT09aSYmInN0cmluZyI9PT10eXBlb2YgdFtpXSYmKHRbImZvcm1hdHRlciJdPWFbdFtpXV0/YVt0W2ldXTp2b2lkIDApO3JldHVybiB0fXZhciBtPXtkYXRhOmZ1bmN0aW9uKCl7cmV0dXJue3JpZDpudWxsfX0sbW91bnRlZDpmdW5jdGlvbigpe3ZhciB0PXRoaXM7Yz17dG9wOjAsbGVmdDowfTt2YXIgYT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCJ1bmktbWFpbiIpWzBdO3ZvaWQgMD09PWEmJihhPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoInVuaS1wYWdlLXdyYXBwZXIiKVswXSksYz17dG9wOmEub2Zmc2V0VG9wLGxlZnQ6YS5vZmZzZXRMZWZ0fSxzZXRUaW1lb3V0KChmdW5jdGlvbigpe251bGw9PT10LnJpZCYmdC4kb3duZXJJbnN0YW5jZSYmdC4kb3duZXJJbnN0YW5jZS5jYWxsTWV0aG9kKCJnZXRSZW5kZXJUeXBlIil9KSwyMDApfSxkZXN0cm95ZWQ6ZnVuY3Rpb24oKXtkZWxldGUgby5kZWZhdWx0Lm9wdGlvblt0aGlzLnJpZF0sZGVsZXRlIG8uZGVmYXVsdC5pbnN0YW5jZVt0aGlzLnJpZF0sZGVsZXRlIGQuZGVmYXVsdC5vcHRpb25bdGhpcy5yaWRdLGRlbGV0ZSBkLmRlZmF1bHQuaW5zdGFuY2VbdGhpcy5yaWRdfSxtZXRob2RzOntlY2luaXQ6ZnVuY3Rpb24odCxhLGksZSl7dmFyIHI9SlNPTi5zdHJpbmdpZnkodC5pZCk7dGhpcy5yaWQ9cixwW3JdPXRoaXMuJG93bmVySW5zdGFuY2V8fGU7dmFyIG89SlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0KSksYz1vLnR5cGU7YyYmZC5kZWZhdWx0LnR5cGUuaW5jbHVkZXMoYyk/ZC5kZWZhdWx0Lm9wdGlvbltyXT1zKHt9LGQuZGVmYXVsdFtjXSxvKTpkLmRlZmF1bHQub3B0aW9uW3JdPXMoe30sbyk7dmFyIGw9by5jaGFydERhdGE7ZC5kZWZhdWx0Lm9wdGlvbltyXS54QXhpcyYmZC5kZWZhdWx0Lm9wdGlvbltyXS54QXhpcy50eXBlJiYiY2F0ZWdvcnkiPT09ZC5kZWZhdWx0Lm9wdGlvbltyXS54QXhpcy50eXBlJiYoZC5kZWZhdWx0Lm9wdGlvbltyXS54QXhpcy5kYXRhPWwuY2F0ZWdvcmllcyksZC5kZWZhdWx0Lm9wdGlvbltyXS55QXhpcyYmZC5kZWZhdWx0Lm9wdGlvbltyXS55QXhpcy50eXBlJiYiY2F0ZWdvcnkiPT09ZC5kZWZhdWx0Lm9wdGlvbltyXS55QXhpcy50eXBlJiYoZC5kZWZhdWx0Lm9wdGlvbltyXS55QXhpcy5kYXRhPWwuY2F0ZWdvcmllcyksZC5kZWZhdWx0Lm9wdGlvbltyXS5zZXJpZXM9W107Zm9yKHZhciBtPTA7bTxsLnNlcmllcy5sZW5ndGg7bSsrKXtkLmRlZmF1bHQub3B0aW9uW3JdLnNlcmllc1RlbXBsYXRlPWQuZGVmYXVsdC5vcHRpb25bcl0uc2VyaWVzVGVtcGxhdGU/ZC5kZWZhdWx0Lm9wdGlvbltyXS5zZXJpZXNUZW1wbGF0ZTp7fTt2YXIgZj1zKHt9LGQuZGVmYXVsdC5vcHRpb25bcl0uc2VyaWVzVGVtcGxhdGUsbC5zZXJpZXNbbV0pO2QuZGVmYXVsdC5vcHRpb25bcl0uc2VyaWVzLnB1c2goZil9aWYoIm9iamVjdCI9PT0oMCxuLmRlZmF1bHQpKHdpbmRvdy5lY2hhcnRzKSl0aGlzLm5ld0VDaGFydCgpO2Vsc2V7dmFyIGc9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0IiksdT13aW5kb3cubG9jYXRpb24ub3JpZ2luLGg9ZS5nZXREYXRhc2V0KCkuZGlyZWN0b3J5O2cuc3JjPXUraCsidW5pX21vZHVsZXMvcWl1bi1kYXRhLWNoYXJ0cy9zdGF0aWMvaDUvZWNoYXJ0cy5taW4uanMiLGcub25sb2FkPXRoaXMubmV3RUNoYXJ0LGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoZyl9fSxlY3Jlc2l6ZTpmdW5jdGlvbih0LGEsaSxlKXtkLmRlZmF1bHQuaW5zdGFuY2VbdGhpcy5yaWRdJiZkLmRlZmF1bHQuaW5zdGFuY2VbdGhpcy5yaWRdLnJlc2l6ZSgpfSxuZXdFQ2hhcnQ6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLnJpZDt2b2lkIDA9PT1kLmRlZmF1bHQuaW5zdGFuY2VbdF0/KGQuZGVmYXVsdC5pbnN0YW5jZVt0XT1lY2hhcnRzLmluaXQocFt0XS4kZWwuY2hpbGRyZW5bMF0pLCEwPT09ZC5kZWZhdWx0Lm9wdGlvblt0XS5vbnRhcCYmKGQuZGVmYXVsdC5pbnN0YW5jZVt0XS5vbigiY2xpY2siLChmdW5jdGlvbihhKXt2YXIgaT1KU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHt4OmEuZXZlbnQub2Zmc2V0WCx5OmEuZXZlbnQub2Zmc2V0WX0pKTtwW3RdLmNhbGxNZXRob2QoImVtaXRNc2ciLHtuYW1lOiJnZXRJbmRleCIscGFyYW1zOnt0eXBlOiJnZXRJbmRleCIsZXZlbnQ6aSxjdXJyZW50SW5kZXg6YS5kYXRhSW5kZXgsdmFsdWU6YS5kYXRhLHNlcmllc05hbWU6YS5zZXJpZXNOYW1lLGlkOnR9fSl9KSksZC5kZWZhdWx0Lmluc3RhbmNlW3RdLm9uKCJoaWdobGlnaHQiLChmdW5jdGlvbihhKXtwW3RdLmNhbGxNZXRob2QoImVtaXRNc2ciLHtuYW1lOiJnZXRIaWdobGlnaHQiLHBhcmFtczp7dHlwZToiaGlnaGxpZ2h0IixkYXRhSW5kZXg6YS5iYXRjaFswXS5kYXRhSW5kZXgsaWQ6dH19KX0pKSksdGhpcy51cGRhdGFFQ2hhcnQodCxkLmRlZmF1bHQub3B0aW9uW3RdKSk6dGhpcy51cGRhdGFFQ2hhcnQodCxkLmRlZmF1bHQub3B0aW9uW3RdKX0sdXBkYXRhRUNoYXJ0OmZ1bmN0aW9uKHQsYSl7aWYoYT1sKGEsZC5kZWZhdWx0LmZvcm1hdHRlciksYS50b29sdGlwJiYoYS50b29sdGlwLnNob3c9ISFhLnRvb2x0aXBTaG93LGEudG9vbHRpcC5wb3NpdGlvbj10aGlzLnRvb2x0aXBQb3NpdGlvbigpLCJzdHJpbmciPT09dHlwZW9mIGEudG9vbHRpcEZvcm1hdCYmZC5kZWZhdWx0LmZvcm1hdHRlclthLnRvb2x0aXBGb3JtYXRdJiYoYS50b29sdGlwLmZvcm1hdHRlcj1hLnRvb2x0aXAuZm9ybWF0dGVyP2EudG9vbHRpcC5mb3JtYXR0ZXI6ZC5kZWZhdWx0LmZvcm1hdHRlclthLnRvb2x0aXBGb3JtYXRdKSksYS5zZXJpZXMpZm9yKHZhciBpIGluIGEuc2VyaWVzKXt2YXIgZT1hLnNlcmllc1tpXS5saW5lYXJHcmFkaWVudDtlJiYoYS5zZXJpZXNbaV0uY29sb3I9bmV3IGVjaGFydHMuZ3JhcGhpYy5MaW5lYXJHcmFkaWVudChlWzBdLGVbMV0sZVsyXSxlWzNdLGVbNF0pKX1kLmRlZmF1bHQuaW5zdGFuY2VbdF0uc2V0T3B0aW9uKGEsYS5ub3RNZXJnZSksZC5kZWZhdWx0Lmluc3RhbmNlW3RdLm9uKCJmaW5pc2hlZCIsKGZ1bmN0aW9uKCl7cFt0XS5jYWxsTWV0aG9kKCJlbWl0TXNnIix7bmFtZToiY29tcGxldGUiLHBhcmFtczp7dHlwZToiY29tcGxldGUiLGNvbXBsZXRlOiEwLGlkOnR9fSksZC5kZWZhdWx0Lmluc3RhbmNlW3RdJiZkLmRlZmF1bHQuaW5zdGFuY2VbdF0ub2ZmKCJmaW5pc2hlZCIpfSkpfSx0b29sdGlwUG9zaXRpb246ZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24odCxhLGksZSxuKXt2YXIgcj10WzBdLG89dFsxXSxkPW4udmlld1NpemVbMF0scD1uLnZpZXdTaXplWzFdLGM9bi5jb250ZW50U2l6ZVswXSxzPW4uY29udGVudFNpemVbMV0sbD1yKzMwLG09byszMDtyZXR1cm4gbCtjPmQmJihsPXItYy0zMCksbStzPnAmJihtPW8tcy0zMCksW2wsbV19fSx1Y2luaXQ6ZnVuY3Rpb24odCxhLGksZSl7dmFyIG49dGhpcztpZihKU09OLnN0cmluZ2lmeSh0KSE9SlNPTi5zdHJpbmdpZnkoYSkmJnQuY2FudmFzSWQpe3ZhciByPUpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodC5jYW52YXNJZCkpO3RoaXMucmlkPXIscFtyXT10aGlzLiRvd25lckluc3RhbmNlfHxlLG8uZGVmYXVsdC5vcHRpb25bcl09SlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0KSksby5kZWZhdWx0Lm9wdGlvbltyXT1sKG8uZGVmYXVsdC5vcHRpb25bcl0sby5kZWZhdWx0LmZvcm1hdHRlcik7dmFyIGQ9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQocik7ZCYmZC5jaGlsZHJlblswXSYmKG8uZGVmYXVsdC5vcHRpb25bcl0uY29udGV4dD1kLmNoaWxkcmVuWzBdLmdldENvbnRleHQoIjJkIiksby5kZWZhdWx0Lmluc3RhbmNlW3JdJiZvLmRlZmF1bHQub3B0aW9uW3JdJiYhMD09PW8uZGVmYXVsdC5vcHRpb25bcl0udXBkYXRlP3RoaXMudXBkYXRhVUNoYXJ0KCk6c2V0VGltZW91dCgoZnVuY3Rpb24oKXtvLmRlZmF1bHQub3B0aW9uW3JdLmNvbnRleHQucmVzdG9yZSgpLG8uZGVmYXVsdC5vcHRpb25bcl0uY29udGV4dC5zYXZlKCksbi5uZXdVQ2hhcnQoKX0pLDEwMCkpfX0sbmV3VUNoYXJ0OmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5yaWQ7by5kZWZhdWx0Lmluc3RhbmNlW3RdPW5ldyByLmRlZmF1bHQoby5kZWZhdWx0Lm9wdGlvblt0XSksby5kZWZhdWx0Lmluc3RhbmNlW3RdLmFkZEV2ZW50TGlzdGVuZXIoInJlbmRlckNvbXBsZXRlIiwoZnVuY3Rpb24oKXtwW3RdLmNhbGxNZXRob2QoImVtaXRNc2ciLHtuYW1lOiJjb21wbGV0ZSIscGFyYW1zOnt0eXBlOiJjb21wbGV0ZSIsY29tcGxldGU6ITAsaWQ6dH19KSxvLmRlZmF1bHQuaW5zdGFuY2VbdF0uZGVsRXZlbnRMaXN0ZW5lcigicmVuZGVyQ29tcGxldGUiKX0pKSxvLmRlZmF1bHQuaW5zdGFuY2VbdF0uYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsTGVmdCIsKGZ1bmN0aW9uKCl7cFt0XS5jYWxsTWV0aG9kKCJlbWl0TXNnIix7bmFtZToic2Nyb2xsTGVmdCIscGFyYW1zOnt0eXBlOiJzY3JvbGxMZWZ0IixzY3JvbGxMZWZ0OiEwLGlkOnR9fSl9KSksby5kZWZhdWx0Lmluc3RhbmNlW3RdLmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbFJpZ2h0IiwoZnVuY3Rpb24oKXtwW3RdLmNhbGxNZXRob2QoImVtaXRNc2ciLHtuYW1lOiJzY3JvbGxSaWdodCIscGFyYW1zOnt0eXBlOiJzY3JvbGxSaWdodCIsc2Nyb2xsUmlnaHQ6ITAsaWQ6dH19KX0pKX0sdXBkYXRhVUNoYXJ0OmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5yaWQ7by5kZWZhdWx0Lmluc3RhbmNlW3RdLnVwZGF0ZURhdGEoby5kZWZhdWx0Lm9wdGlvblt0XSl9LHRvb2x0aXBEZWZhdWx0OmZ1bmN0aW9uKHQsYSxpLGUpe2lmKGEpe3ZhciByPXQuZGF0YTtyZXR1cm4ib2JqZWN0Ij09PSgwLG4uZGVmYXVsdCkodC5kYXRhKSYmKHI9dC5kYXRhLnZhbHVlKSxhKyIgIit0Lm5hbWUrIjoiK3J9cmV0dXJuIHQucHJvcGVydGllcyYmdC5wcm9wZXJ0aWVzLm5hbWU/dC5wcm9wZXJ0aWVzLm5hbWU6dC5uYW1lKyI6Iit0LmRhdGF9LHNob3dUb29sdGlwOmZ1bmN0aW9uKHQsYSl7dmFyIGk9dGhpcyxlPW8uZGVmYXVsdC5vcHRpb25bYV0udG9vbHRpcEN1c3RvbTtpZihlJiZ2b2lkIDAhPT1lJiZudWxsIT09ZSl7dmFyIG49dm9pZCAwO2UueD49MCYmZS55Pj0wJiYobj17eDplLngseTplLnkrMTB9KSxvLmRlZmF1bHQuaW5zdGFuY2VbYV0uc2hvd1Rvb2xUaXAodCx7aW5kZXg6ZS5pbmRleCxvZmZzZXQ6bix0ZXh0TGlzdDplLnRleHRMaXN0LGZvcm1hdHRlcjpmdW5jdGlvbih0LGUsbixyKXtyZXR1cm4ic3RyaW5nIj09PXR5cGVvZiBvLmRlZmF1bHQub3B0aW9uW2FdLnRvb2x0aXBGb3JtYXQmJm8uZGVmYXVsdC5mb3JtYXR0ZXJbby5kZWZhdWx0Lm9wdGlvblthXS50b29sdGlwRm9ybWF0XT9vLmRlZmF1bHQuZm9ybWF0dGVyW28uZGVmYXVsdC5vcHRpb25bYV0udG9vbHRpcEZvcm1hdF0odCxlLG4scik6aS50b29sdGlwRGVmYXVsdCh0LGUsbixyKX19KX1lbHNlIG8uZGVmYXVsdC5pbnN0YW5jZVthXS5zaG93VG9vbFRpcCh0LHtmb3JtYXR0ZXI6ZnVuY3Rpb24odCxlLG4scil7cmV0dXJuInN0cmluZyI9PT10eXBlb2Ygby5kZWZhdWx0Lm9wdGlvblthXS50b29sdGlwRm9ybWF0JiZvLmRlZmF1bHQuZm9ybWF0dGVyW28uZGVmYXVsdC5vcHRpb25bYV0udG9vbHRpcEZvcm1hdF0/by5kZWZhdWx0LmZvcm1hdHRlcltvLmRlZmF1bHQub3B0aW9uW2FdLnRvb2x0aXBGb3JtYXRdKHQsZSxuLHIpOmkudG9vbHRpcERlZmF1bHQodCxlLG4scil9fSl9LHRhcDpmdW5jdGlvbih0KXt2YXIgYT10aGlzLnJpZCxpPW8uZGVmYXVsdC5vcHRpb25bYV0ub250YXAsZT1vLmRlZmF1bHQub3B0aW9uW2FdLnRvb2x0aXBTaG93LG49by5kZWZhdWx0Lm9wdGlvblthXS50YXBMZWdlbmQ7aWYoMCE9aSl7dmFyIHIsZCxzPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJVQyIrYSkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksbD17fTtsPXQuZGV0YWlsLng/e3g6dC5kZXRhaWwueC1zLmxlZnQseTp0LmRldGFpbC55LXMudG9wK2MudG9wfTp7eDp0LmNsaWVudFgtcy5sZWZ0LHk6dC5jbGllbnRZLXMudG9wK2MudG9wfSx0LmNoYW5nZWRUb3VjaGVzPVtdLHQuY2hhbmdlZFRvdWNoZXMudW5zaGlmdChsKSxyPW8uZGVmYXVsdC5pbnN0YW5jZVthXS5nZXRDdXJyZW50RGF0YUluZGV4KHQpLGQ9by5kZWZhdWx0Lmluc3RhbmNlW2FdLmdldExlZ2VuZERhdGFJbmRleCh0KSwhMD09PW4mJm8uZGVmYXVsdC5pbnN0YW5jZVthXS50b3VjaExlZ2VuZCh0KSwxPT1lJiZ0aGlzLnNob3dUb29sdGlwKHQsYSkscFthXS5jYWxsTWV0aG9kKCJlbWl0TXNnIix7bmFtZToiZ2V0SW5kZXgiLHBhcmFtczp7dHlwZToiZ2V0SW5kZXgiLGV2ZW50OmwsY3VycmVudEluZGV4OnIsbGVnZW5kSW5kZXg6ZCxpZDphLG9wdHM6by5kZWZhdWx0Lmluc3RhbmNlW2FdLm9wdHN9fSl9fSx0b3VjaFN0YXJ0OmZ1bmN0aW9uKHQpe3ZhciBhPXRoaXMucmlkLGk9by5kZWZhdWx0Lm9wdGlvblthXS5vbnRvdWNoOzAhPWkmJihvLmRlZmF1bHQuaW5zdGFuY2VbYV0uc2Nyb2xsU3RhcnQodCkscFthXS5jYWxsTWV0aG9kKCJlbWl0TXNnIix7bmFtZToiZ2V0VG91Y2hTdGFydCIscGFyYW1zOnt0eXBlOiJ0b3VjaFN0YXJ0IixldmVudDp0LmNoYW5nZWRUb3VjaGVzWzBdLGlkOmF9fSkpfSx0b3VjaE1vdmU6ZnVuY3Rpb24odCl7dmFyIGE9dGhpcy5yaWQsaT1vLmRlZmF1bHQub3B0aW9uW2FdLm9udG91Y2g7aWYoMCE9aSYmKG8uZGVmYXVsdC5pbnN0YW5jZVthXS5zY3JvbGwodCkscFthXS5jYWxsTWV0aG9kKCJlbWl0TXNnIix7bmFtZToiZ2V0VG91Y2hNb3ZlIixwYXJhbXM6e3R5cGU6InRvdWNoTW92ZSIsZXZlbnQ6dC5jaGFuZ2VkVG91Y2hlc1swXSxpZDphfX0pLCEwPT09by5kZWZhdWx0Lm9wdGlvblthXS5vbnRhcCYmITE9PT1vLmRlZmF1bHQub3B0aW9uW2FdLmVuYWJsZVNjcm9sbCYmITA9PT1vLmRlZmF1bHQub3B0aW9uW2FdLm9ubW92ZXRpcCkpe3ZhciBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJVQyIrYSkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksbj17eDp0LmNoYW5nZWRUb3VjaGVzWzBdLmNsaWVudFgtZS5sZWZ0LHk6dC5jaGFuZ2VkVG91Y2hlc1swXS5jbGllbnRZLWUudG9wK2MudG9wfTt0LmNoYW5nZWRUb3VjaGVzPVtdLHQuY2hhbmdlZFRvdWNoZXMudW5zaGlmdChuKSwhMD09PW8uZGVmYXVsdC5vcHRpb25bYV0udG9vbHRpcFNob3cmJnRoaXMuc2hvd1Rvb2x0aXAodCxhKX19LHRvdWNoRW5kOmZ1bmN0aW9uKHQpe3ZhciBhPXRoaXMucmlkLGk9by5kZWZhdWx0Lm9wdGlvblthXS5vbnRvdWNoOzAhPWkmJihvLmRlZmF1bHQuaW5zdGFuY2VbYV0uc2Nyb2xsRW5kKHQpLHBbYV0uY2FsbE1ldGhvZCgiZW1pdE1zZyIse25hbWU6ImdldFRvdWNoRW5kIixwYXJhbXM6e3R5cGU6InRvdWNoRW5kIixldmVudDp0LmNoYW5nZWRUb3VjaGVzWzBdLGlkOmF9fSkpfSxtb3VzZURvd246ZnVuY3Rpb24odCl7dmFyIGE9dGhpcy5yaWQsaT1vLmRlZmF1bHQub3B0aW9uW2FdLm9ubW91c2U7aWYoMCE9aSl7dmFyIGUsbj1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiVUMiK2EpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2U9e3g6dC5jbGllbnRYLW4ubGVmdCx5OnQuY2xpZW50WS1uLnRvcCtjLnRvcH0sdC5jaGFuZ2VkVG91Y2hlcz1bXSx0LmNoYW5nZWRUb3VjaGVzLnVuc2hpZnQoZSksby5kZWZhdWx0Lmluc3RhbmNlW2FdLnNjcm9sbFN0YXJ0KHQpLG8uZGVmYXVsdC5vcHRpb25bYV0ubW91c2Vkb3duPSEwLHBbYV0uY2FsbE1ldGhvZCgiZW1pdE1zZyIse25hbWU6ImdldFRvdWNoU3RhcnQiLHBhcmFtczp7dHlwZToibW91c2VEb3duIixldmVudDplLGlkOmF9fSl9fSxtb3VzZU1vdmU6ZnVuY3Rpb24odCl7dmFyIGE9dGhpcy5yaWQsaT1vLmRlZmF1bHQub3B0aW9uW2FdLm9ubW91c2UsZT1vLmRlZmF1bHQub3B0aW9uW2FdLnRvb2x0aXBTaG93O2lmKDAhPWkpe3ZhciBuLHI9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIlVDIithKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtuPXt4OnQuY2xpZW50WC1yLmxlZnQseTp0LmNsaWVudFktci50b3ArYy50b3B9LHQuY2hhbmdlZFRvdWNoZXM9W10sdC5jaGFuZ2VkVG91Y2hlcy51bnNoaWZ0KG4pLG8uZGVmYXVsdC5vcHRpb25bYV0ubW91c2Vkb3duPyhvLmRlZmF1bHQuaW5zdGFuY2VbYV0uc2Nyb2xsKHQpLHBbYV0uY2FsbE1ldGhvZCgiZW1pdE1zZyIse25hbWU6ImdldFRvdWNoTW92ZSIscGFyYW1zOnt0eXBlOiJtb3VzZU1vdmUiLGV2ZW50Om4saWQ6YX19KSk6by5kZWZhdWx0Lmluc3RhbmNlW2FdJiYxPT1lJiZ0aGlzLnNob3dUb29sdGlwKHQsYSl9fSxtb3VzZVVwOmZ1bmN0aW9uKHQpe3ZhciBhPXRoaXMucmlkLGk9by5kZWZhdWx0Lm9wdGlvblthXS5vbm1vdXNlO2lmKDAhPWkpe3ZhciBlLG49ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIlVDIithKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtlPXt4OnQuY2xpZW50WC1uLmxlZnQseTp0LmNsaWVudFktbi50b3ArYy50b3B9LHQuY2hhbmdlZFRvdWNoZXM9W10sdC5jaGFuZ2VkVG91Y2hlcy51bnNoaWZ0KGUpLG8uZGVmYXVsdC5pbnN0YW5jZVthXS5zY3JvbGxFbmQodCksby5kZWZhdWx0Lm9wdGlvblthXS5tb3VzZWRvd249ITEscFthXS5jYWxsTWV0aG9kKCJlbWl0TXNnIix7bmFtZToiZ2V0VG91Y2hFbmQiLHBhcmFtczp7dHlwZToibW91c2VVcCIsZXZlbnQ6ZSxpZDphfX0pfX19fTthLmRlZmF1bHQ9bX0sYzRmOTpmdW5jdGlvbih0LGEsaSl7InVzZSBzdHJpY3QiO2koIjZhNTQiKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoYSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksYS5kZWZhdWx0PXZvaWQgMDthLmRlZmF1bHQ9e25hbWU6ImxvYWRpbmc1IixkYXRhOmZ1bmN0aW9uKCl7cmV0dXJue319fX0sY2EwMjpmdW5jdGlvbih0LGEsaSl7InVzZSBzdHJpY3QiO2kucihhKTt2YXIgZT1pKCJkYWZhIiksbj1pLm4oZSk7Zm9yKHZhciByIGluIGUpWyJkZWZhdWx0Il0uaW5kZXhPZihyKTwwJiZmdW5jdGlvbih0KXtpLmQoYSx0LChmdW5jdGlvbigpe3JldHVybiBlW3RdfSkpfShyKTthWyJkZWZhdWx0Il09bi5hfSxjYTE1OmZ1bmN0aW9uKHQsYSxpKXsidXNlIHN0cmljdCI7aS5kKGEsImIiLChmdW5jdGlvbigpe3JldHVybiBufSkpLGkuZChhLCJjIiwoZnVuY3Rpb24oKXtyZXR1cm4gcn0pKSxpLmQoYSwiYSIsKGZ1bmN0aW9uKCl7cmV0dXJuIGV9KSk7dmFyIGU9e3VJY29uOmkoImNhYWMiKS5kZWZhdWx0fSxuPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxhPXQuJGNyZWF0ZUVsZW1lbnQsaT10Ll9zZWxmLl9jfHxhO3JldHVybiB0LnNob3c/aSgidi11bmktdmlldyIse3N0YXRpY0NsYXNzOiJ1LW5vdGljZS1iYXIiLGNsYXNzOlt0LnR5cGU/InUtdHlwZS0iK3QudHlwZSsiLWxpZ2h0LWJnIjoiIl0sc3R5bGU6e2JhY2tncm91bmQ6dC5jb21wdXRlQmdDb2xvcixwYWRkaW5nOnQucGFkZGluZ319LFtpKCJ2LXVuaS12aWV3Iix7c3RhdGljQ2xhc3M6InUtZGlyZWN0aW9uLXJvdyJ9LFtpKCJ2LXVuaS12aWV3Iix7c3RhdGljQ2xhc3M6InUtaWNvbi13cmFwIn0sW3Qudm9sdW1lSWNvbj9pKCJ1LWljb24iLHtzdGF0aWNDbGFzczoidS1sZWZ0LWljb24iLGF0dHJzOntuYW1lOiJ2b2x1bWUtZmlsbCIsc2l6ZTp0LnZvbHVtZVNpemUsY29sb3I6dC5jb21wdXRlQ29sb3J9fSk6dC5fZSgpXSwxKSxpKCJ2LXVuaS12aWV3Iix7c3RhdGljQ2xhc3M6InUtbm90aWNlLWJveCIsYXR0cnM6e2lkOiJ1LW5vdGljZS1ib3gifX0sW2koInYtdW5pLXZpZXciLHtzdGF0aWNDbGFzczoidS1ub3RpY2UtY29udGVudCIsc3R5bGU6e2FuaW1hdGlvbkR1cmF0aW9uOnQuYW5pbWF0aW9uRHVyYXRpb24sYW5pbWF0aW9uUGxheVN0YXRlOnQuYW5pbWF0aW9uUGxheVN0YXRlfSxhdHRyczp7aWQ6InUtbm90aWNlLWNvbnRlbnQifX0sW2koInYtdW5pLXRleHQiLHtzdGF0aWNDbGFzczoidS1ub3RpY2UtdGV4dCIsY2xhc3M6WyJ1LXR5cGUtIit0LnR5cGVdLHN0eWxlOlt0LnRleHRTdHlsZV0sb246e2NsaWNrOmZ1bmN0aW9uKGEpe2FyZ3VtZW50c1swXT1hPXQuJGhhbmRsZUV2ZW50KGEpLHQuY2xpY2suYXBwbHkodm9pZCAwLGFyZ3VtZW50cyl9fX0sW3QuX3YodC5fcyh0LnNob3dUZXh0KSldKV0sMSldLDEpLGkoInYtdW5pLXZpZXciLHtzdGF0aWNDbGFzczoidS1pY29uLXdyYXAifSxbdC5tb3JlSWNvbj9pKCJ1LWljb24iLHtzdGF0aWNDbGFzczoidS1yaWdodC1pY29uIixhdHRyczp7bmFtZToiYXJyb3ctcmlnaHQiLHNpemU6MjYsY29sb3I6dC5jb21wdXRlQ29sb3J9LG9uOntjbGljazpmdW5jdGlvbihhKXthcmd1bWVudHNbMF09YT10LiRoYW5kbGVFdmVudChhKSx0LmdldE1vcmUuYXBwbHkodm9pZCAwLGFyZ3VtZW50cyl9fX0pOnQuX2UoKSx0LmNsb3NlSWNvbj9pKCJ1LWljb24iLHtzdGF0aWNDbGFzczoidS1yaWdodC1pY29uIixhdHRyczp7bmFtZToiY2xvc2UiLHNpemU6MjQsY29sb3I6dC5jb21wdXRlQ29sb3J9LG9uOntjbGljazpmdW5jdGlvbihhKXthcmd1bWVudHNbMF09YT10LiRoYW5kbGVFdmVudChhKSx0LmNsb3NlLmFwcGx5KHZvaWQgMCxhcmd1bWVudHMpfX19KTp0Ll9lKCldLDEpXSwxKV0sMSk6dC5fZSgpfSxyPVtdfSxjYWQ5OmZ1bmN0aW9uKHQsYSxpKXsidXNlIHN0cmljdCI7aSgiNmE1NCIpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxhLmRlZmF1bHQ9ZnVuY3Rpb24odCl7dmFyIGE9KDAsbi5kZWZhdWx0KSgpO3JldHVybiBmdW5jdGlvbigpe3ZhciBpLG49KDAsZS5kZWZhdWx0KSh0KTtpZihhKXt2YXIgbz0oMCxlLmRlZmF1bHQpKHRoaXMpLmNvbnN0cnVjdG9yO2k9UmVmbGVjdC5jb25zdHJ1Y3Qobixhcmd1bWVudHMsbyl9ZWxzZSBpPW4uYXBwbHkodGhpcyxhcmd1bWVudHMpO3JldHVybigwLHIuZGVmYXVsdCkodGhpcyxpKX19LGkoIjZhODgiKSxpKCJiZjBmIiksaSgiNzk5NiIpO3ZhciBlPW8oaSgiZjFmOCIpKSxuPW8oaSgiNmMzMSIpKSxyPW8oaSgiNjJiMCIpKTtmdW5jdGlvbiBvKHQpe3JldHVybiB0JiZ0Ll9fZXNNb2R1bGU/dDp7ZGVmYXVsdDp0fX19LGNjMmQ6ZnVuY3Rpb24odCxhLGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgZT1pKCI1ODg5Iiksbj1pLm4oZSk7bi5hfSxjZGEwOmZ1bmN0aW9uKHQsYSxpKXt0LmV4cG9ydHM9aS5wKyJzdGF0aWMvaW1hZ2UvaWNvbi9ob21lLWljb24tNy5wbmcifSxjZmY2OmZ1bmN0aW9uKHQsYSxpKXsidXNlIHN0cmljdCI7dmFyIGU9aSgiOTk5NSIpLG49aS5uKGUpO24uYX0sZDA4ODpmdW5jdGlvbih0LGEsaSl7InVzZSBzdHJpY3QiO2kucihhKTt2YXIgZT1pKCI2ODg1Iiksbj1pLm4oZSk7Zm9yKHZhciByIGluIGUpWyJkZWZhdWx0Il0uaW5kZXhPZihyKTwwJiZmdW5jdGlvbih0KXtpLmQoYSx0LChmdW5jdGlvbigpe3JldHVybiBlW3RdfSkpfShyKTthWyJkZWZhdWx0Il09bi5hfSxkMGU2OmZ1bmN0aW9uKHQsYSxpKXt2YXIgZT1pKCJjODZjIik7YT1lKCExKSxhLnB1c2goW3QuaSwnLmNoYXJ0c3ZpZXdbZGF0YS12LTA2ZjljNWQ0XXt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpjb2x1bW47ZmxleDoxO2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfS5jaGFydHMtZm9udFtkYXRhLXYtMDZmOWM1ZDRde2ZvbnQtc2l6ZToxNHB4O2NvbG9yOiNjY2M7bWFyZ2luLXRvcDoxMHB4fS5jaGFydHMtZXJyb3JbZGF0YS12LTA2ZjljNWQ0XXt3aWR0aDoxMjhweDtoZWlnaHQ6MTI4cHg7YmFja2dyb3VuZDp1cmwoImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBSUFBQUFDQUNBWUFBQUREUG1ITEFBQVV6MGxFUVZSNFh1MWRlM0JjMVgzK3ptcDNqWVZXZmtQQWdDV3dZOHpMRWdsTlFDU1cweVQ5bzJTUWFES2ROdWxVeWt3Zk0razA5cCtKM0ltWUlQSlhpOXlaekRTWlppd3lhWnVaQkN3bk5HMURNb2dFbVVBQXk3eHMvTUF5TmhDTWpXV3RzSzFkZVUvbjIzT3Z0THU2ajNQdjN0MjlkNzFueGpPU2RlNDU1LzUrMy9tOXo3a0NqUlk0QlI3ZUs3ZmtjbWhyYXNMVDM3aGJUQVkrUVlBRGlnREhhZ3dGWUdoYzdnWndITUFVZ0c0aE1Qek5lOFJvV0luVEFFQ0FuSGw0cit5UkV0MERYV0liaHgzY0o1ZkhQOFRZam50RlI0RFRCRHFVSXdCbU1ySkRDdHlQSERvUXcwUThqa2VYaW5DTHRFQ3A0M0d3aDU2UjIySXhUQmJ1K0tGeE9UYlFKYm85RGxXMTdyWUFTR2RsTnlTZUtsMkpBRHBia21LaWFpdDBtV2hvWEhaa216RTUyQ2tvY212YXZ2T3NiTXZsOE1oQWwramxRcmcyQ1F6dTZCSTlOVjJZdytUMkFKaVZvK0R1TDJrU2VMUTFLZnJDOGtMY1lia1lCdi9wYmpFV2hqVU5qVXZTcGs5S1NBaWNtMnRHWHhqQWFVY2Jld0JrSkFtNnhlTEJwMVBKMm9zMDZ0dGNEbDhIMENFRWFHbnZHZWdTZzJFQVFaVFc0QjBBRW50U1Myb3YwbWhnSmM1am13VDZJREVXaTJFMHpOWjJXRUZoQzRDWmpDUnhIN0d3QWZwYmttSWtMQzlFRlFCZzIwQlhlT3lTc05CR1p4Mk9Ya0I2Vmc1Q2dBYk1aZ0Q3QlREU2toVERPZ00zK2tTREFyN2lBTk56OG40aFFSZHhvalV1OWtUalZSdXJ0S0tBSndCSUtaZlBaUE91WVdGZ1k2d2xnVjRoYXUrR05WanNuUUtlQUpET1NJcC9XdDZsYlNLZVFHOGpTT1NkQWJWK3dpc0E3RnhEU0dBcUJtd05TNURJaUdJdWN5TndLaUdlZHV0VHozLzNCZ0NiNEpCSm9HcURJSjJWVzRSRW14Um9nMFMzbEdnVC9ObGZZM1J6Q2dKalFtSlNDa3hlRHVEd0JnQ2I4SEFodlFrQ0lkQ2JTZ1FmbVNQRG1XR0R6SHNtMVVxd2pCRVVBTWJxRVJDZUFFQkd6MlJrbndSMnVXMHlBWlFkTDZEUitXRVc5MHN5WExtanRXOFNvMEpnOU1vRTl0U0Q0ZXNaQU5VQUFkMU01TkFqR09VTGFhT2tBekNLR0VhajdBcjdBb0JIRUd4clNZcWRPbnhNWitXM1pBNTlaZWh4bldrQzd5TWxKa1VNSXkxeDdJeWFWUEFOQUFNRUhUbGdUQUNPMXJZRVJscVRvdCtKOG5icDU4QzVWY0VCRGZ0bk9FcEFLQXNBZ1lQQVBnTlpRYllGUDNRZUNBeWJKL0JnMkNWQzJRRHdDb0pVQXR1ZGlKS3VFeENRTG9aYlBLaXJBb09Ib3Z1SVRoVkJ5dVhpaTJqRS9DOUkyVGFYQllzZm1UaHlhaE10Q1d5MUE0RVJiajdydnZSSTlhQ2EzRjdwSU5tM241WGRYZ3RqRmdIQVlDUXJXNHY4YkJvNk1ZRmVwNWN3bUVlZnVTd1FwRE5TUm9xOStvc2RycVJhR0JxWE1oZkRWaThnV0FTQWRFYnVzd3V5R0NLTlNMYXRCeWdYQkhVcUFRb2hNbUhFU0FLcnF6U3JvNFRJUzJ5T3ExMGRWUVFBdXlLUVVvQzdCWG5JeEhRV3d3TDRheS9xSU0vOERIYUZKdWlqdjdNOTlRemFObUF4Nmh6UUZzdmhLU214dmFrSm83b0hVb29BNE1VQTB3SEJURFlmUW5WVUI2YkZuTGMxSkhxaUZnUHd4UG5TemhLakxVbjBCK1Vwc0RvcUZrT2ZMdk81SE44QU1ONWxPSlVVMisySU1EMG5lMFFPdENjcTBrN09BTmUxVkdUb2FnN3FhQlJYZWlGRkFKak95QkVOc1YyMEpxY2dqMkZRSGd2eUpXWXZBUWZQQUp1dkF2NzE5OEFEbTRETUhKQktBbXVhZzV5cGVtUHBHTmlWV2sycERjQ0RERFFDUFRVN0VPZ21qcnhNUmdBOGRnQlltd0pPWHdCdVdnSDg3bTNnejI2T0xnRHk2cTlHOVJTTHZJQXltRlpVR3NhQ2pKekU3cUIxK3Z2bmdYUkdRZWJHNVFCL1AzMGVhRjJpUUJIbGxrOHd4ZERmR3EvZVlWTExRSkJmRU9RTk9wazMvQmc4NmhiQThpQVp3dDIvYTc4YXNYOHpzS1JKL2Z6WVFlRHR0RklIVWJjSnFpMEpuTTRGYU9YOWcyU3c3bGdIVGdQVHMwREhSeFRqVDV3RHRxelRmVHI4L2FvSkFyZlR3WDA1NVAxNTE5cTZhcEdWNHY4L1hsVTZuenYvdm84Q3Z6d0szTDBXMkxTNldxdW8vRHpWQW9Gck1paXZ5elZTdnBVbnljSU1WQVVVLy8vMmtnSUM5YitwRHFxNWppck1WWEVYMFJVQWZNa3dnb0RyTW9GUUJVYlVjb3F4VkZKc3JkUUN0QUFRWmhCVWlqQ2hHbGZpd2RTU3lweDgxZ2FBQVFMTEE2T2hJbGFORjJNR3FyaU1tMWNGcUpvRXRsYWkwbG9iQUl6cVpiUFlGN1JyVjJOK0JUNzlMOTljOEVoK2R6STQ3NFJHWVNxQjlxRHlCdWFMYXdNZ25aRThFeGphdTI0QzU2VFBBWjgrdnNEMDU5NEdQckhXNTBEV2p3VnVEMmdCd0RnbS9xMUFYNlZPQi92NVllRFdOZXJsWG5zZitNS0dZRi9VTFF2cmRUWlhBRlFpb2VOMWtWSHFUeHVBZ1NvMnhpV0NkaytEVmdXdUFFalB5dDMxWHFBUkpZQVphOTJaU3FxN0NNdHRqZ0NvaDFyOWNna1UxdWVEdXE3UEVRRFRzL0pZME5tOHNCSTBndXNLeENDTVpESW9nc3lxekpJRGlBM1lBcUN4K3l2RHM0QkhMVnNLQkZvUEVQRExOWWJUb1VDWlVzQVNBRkhZL1NmVEN4V3RxNXFCSzR6aUVCMmExVm1mc3FUQUlnQlV1cExYTC9FdnNoajBOTkNhQk03TkFyODlzVERTcDY0SE9qL2lkK1RvUDFlT1I3QVlBRDRxZzZ0Qnd1ZmVBUmhhYlY4QmZQSmFGV3haRWdlU01XRFRtc3RhQXBEOHZ1TUNSUUFJNDdHczM3d0ZyRzRHcmtzQlI4ODJtRzIxMlZoVzNycEV0UHZaaUw2T2h2bVp5T3N6RlBtN0Q2cXFYKzc2TDZ4ZkdJSC9sN21rVk1HTkt5NzczWjhuakl5aDEwODFjZkhCa0pBRWZncVp2MmtWOENtajRIUC9INEFEWjFSQnFObVliZnZFdFY3aFZYLzkvWDdIWVI0QVlVcjZQUG1tWWpTWi83a2JsUlQ0N3lPSzhVeXU4RHhBNnhYcUhBRFZ3MlhzQVJRaHVTV0JGVjdyQmVZQm9Ic3l1Tko3NTgyendCTkhnTlZMZ2IrOFRUSC84WU9xL28rN2ZmUFZDd3lucEFpQytXK2NVZk9jbndPdXZsSWRPNHRpODZNRzVnR1FkcmtGdEZvRTJmVXlrSjRGK3U0QWtuSGd4NitwbmYvWmR1Q1cxUUQ5ZjNvRFBBL0E1dGNGcEEzeDhpbmd4WGNWdVBKNjFEZ3QyN01SdUtHMVdtOGM2RHlldllFOEFNSmsvZi9ucThCTks1VmVOMTAvazhtdm53WitaUncxcGZqbllkQ09xMVZadUpkMi9Cend2MGNYR0w5aHBkcjFQR05JZ01VRjhPZTNBcXVXZWhrMUZIMG5Va25SNldVbGVRQ0VOZTM3dlplVUZPaS9BeWhVRGJRTC9Kd0U1cTRuZ0k0WU54QnhsN05pWjVrQm9DZVBBYjkvUjRtQnE2NEVlamNHWDlEaGhUbCsrc1lUYVBkeWE3c0NnUG95U00xTHZ1anpNOER6ZDNjdU1OeTA4aWtaZUJxWXFvRTduanYxdDI4cDNjM2YvK2hhcFNMczJqc3pBSTFMdW80MEpNbjRqNjRzN3YzUHp5bXBRTmVTZ0x0bkxmRHhpSGtZWGt2R0ZBQTByMllqc2Yzc1BGMGttL3IvSCs5YUVQOFA4T1JQRWhoNWVjRXJJUE5wR0xKeEY3LzNvV0xjZmVzVjgwcmJvUStVeURmN2YzSFRZdVB4K1hlQVgwMEN0NjhCUG4wRDhPOFRhc3l2YmdaYWtycHZFSXArbnV5QVBBQ21NL0tzVzdrM2IrTjQvQUJBNWxTcThjSUgwL28zOWY5ZjNLb1lRWWFiMHVEblI0QmpaNEd2M0xZQWdCKzlxaVFCK3hlMlgwK3E0a3cyMmhMOFY5cm9UWHozQlRYUDF6Nm1WQUp6RGZ4SHFVSURORUxOMDJmOWhJNy9UNnY3elNrbGJtbDhNZkZDWHp6b1JwMVB2NTduL1dqNU0vUnJKbm4yL1FHNHJsVkpJUE00K0RmdldWakI5L1lwRmZGSkl6QkVadjdpTUhBaXJVVCs1OXFCTzJ6Y3U3enVmMWZ0ZnJPS3R4QVVWRWxCRjNjR1RUdHpQQmFOdGlhRmhSeTBubEhvR0lEYy9hK2ZVbGV6MERxL1pZMjZraVhvUm9DUjBHNVd2UmtvTW5mMC94d0ZYbndQaUFGSU5nRTNMQU9tTHdLbmpQRW9LZWpmVzdYajArcTBNZWY5MnNlTFZRTkx2Rjk1SC9pVG00Q05KZlpDME84ZTVIaGVBa0pDTndCa0hzdisrenVEWEtxL3NTZ2QvdXUxeGY0N2dmbldPUjVtVmVOZTFReDhhZE9DbFc4bCtuOHdvUXpETDk2ODJDaWs3ZkRUZzhEMUthRDNabjlycmRSVGxIQTBtbW12TEpKT0hvcEVSRmc4QUsrRUlnaW9tbzZkQXk3T0tkWHdOeDNBaVJuZ1J5OERPUWwwWGdOOFpwMTl0SkRNSlpNTFJYL3BPaDdlcXdoTU5SQ21adHBrVnJlaWVQRUVDQURMajBTSDZXV2Qxa0lnUFA2RzJzVnR5NEF2MzZwRS8rNDNnRE1YMUs2K2I4TmlFSmhHSHFYRVYyNjNCd205QVk3MzFRNmdKVkY3cW5EblQ3eW5iQ1M2ekR4OFFwWEpnTmk4SlBCd21sam91b0MxZjNYN0ZkREhIMzBEbU1zQkcxWW9zVSttMFZnOGV4RzRwa1Y1QjJiZWdDRmc1aHRJTUNmN2dET2Fkc0NYYmdHdXNiRWpxa2tiTXAraXY3UVI1UE9HK2VVR0FETC9yV21nU1FCekV1aTRDdmpUOWNCVUJuamlrUHFiQ1lKekY0RWZHQmROTVc1ZzV4bVlCS1kzY09nTXNHRVZjQ2xYVFZZN3orV2tBcnhVQ0lrb0ZJQTZrZUxYeDREWFRpdURiMnViaWhka2NzQ25EWitmRFB6WklSWCtwWXZKUkJQRjZHZmJWUFJRdDEyNEZFNEFVTEpaQk9lMFl3RlVBWkc5bXYyRmQ0RzlKNHRkT0ViMGZuTkNWUXh0dVFIb3VnNGdDSDV5QURneHJkanRaUFJaZVFxdm5GSVNnRW1pTURWNlpqYnVlUDBEZ0JtOVBZZXM5VGl6aHI4NG1yOThPbDlRd3BzNjZPc3paT3lGK1dTMkdTUUtpdzJnQ2NENkJrQk1BQlQ5RE5MWTZYRktnaWNuVldDSXVRUjZCTXdiME9qejBoaGlwZzN4NWRzaWxSNnVid0EweHdHQ2dEdmFMc0pISnRQUFAveUJLdlFnODYyU1FHNWdZQnlBclpJNUVMYzErUGk3UGdDbU01SmZ1QXJOUlpCdUwwdUdNa2RnNWRzWFBrdHdjUGZTNFBNcTlzMXh6REF4UzlLWmxZeFEwd2RBbE9JQUZPUFU1V3htMXM2S0tmVHpxYnZMWVQ3SE5XTUFOQ1paaXhpaFZwOEFZSFNQbHJ4ZFdwY01NaU44L1BtdWExUVcwRStMYWpiUWVOZjZBNEJaMU1HdzV6OThiREZMeWJBbkRxdllQcHRPa01jSkdCR3VCK0JyYVJlRlJDWVUvT1BYZ1ZNZldqT1crcDRHbjFudTVSYmVkWk1JSE9lN0w2cGV2SmErRXFsdnR6V1U5WGRQb2VDUTFBTTZ2YkNwKzB0M1AzYzk2d0paek1IRzZsNFdkSlI3VnVDUjU0RUxjNnE0eEV1MHNDeW1CZml3cDJ5Z2JqMUFnT3Z6UEJRamNVOGRMOWJwTlBRb3BzMWRUN3NnQ0dZeFNjU3hHVVJhMitydWJYaCttV284NEtrZUlDdTdJY0ZiUUVQYjZQcXg2bWRwWEJWOUh2bGdvUmlrdExTN25KY3c5WDRpcHVJTTlDSldYcUhTeFZGcVhrckRSWmdPaGRnUk9ac0R2djhTY01uTVdnaVY5dVdPWHhmQUNSNnFFcnA4QkpwVlk3S0YyVVczVXJVd2dFUUM1MXFUUXJ0aVUxVUZ6OHBKSVJEcWo2N016QUdQdmE1RVBzTzd6UGtId1h5Tzk4TlgxSWVvbUU0bXlGZ25RSEF4eXNpUU1rUEJMSVpsc1dvRW1yWUx5SGZ4ZEM2ZzFpL1B4ZkprRDlPL2JPV0lmL09hR2VwN051cjhlRXdCb05DRnBIUXc2d2IvOXM3eURjd3EwRkRiQlZ3QVFBUThnVUxDVVZTUG4xeTRKNEJsWCt1V3FmSXY4NWlYRmFITjRnN3VhSjRJTnI4NHd0THpyQVJlZUZzOTlWZTNGeDhPL1pmblZkM2hYZGVxYnhPRnVYbnhBT1lCRU5hTG9ad0lUV25BM2N0NkFQTjBML3RUYkZPRVh4RlhQM09uVDExVUk1SHhoWTJIUG5qWWhDcUZwZVk4KzhCV0dHbms4OS9mQjlBT1lXUFJDWE1MWVcxZURNQjVBUENIcUJhR0VBaXNEV0NJK1BEWjR0dERTcGxFWUt4Zm9keTc5dVVLS09hcEk1NUo0R2xnMmdJc0pxRjZJWUFJTXZaaC8yTUdRRzViQTN5bUxYZ0kwSUFUQWozbWwwRzhWbXhMaWVPdFM0U25sWVh1Zm9CeXlkb1VVd2RIZVVoa2RrNmRMcWJ6d0NObmRPOEtHNW5POERHWmJsWUhzMmJ3SndlTGdXUUdtRmdieURnQkcwOE9YeCtBQjFLMElBdi8zY3RIUFAxY0V4TzZHMExLQllEdTgyUStxNGE1MnluU1dUbFVHRUZrS3BodCtaSml1NEwvVDgvZzgrMUFjNkpZL2VqT2JkY3ZsUlNXUldjOHZTVWxSdDNTOW1YZEVLSnpSckRjRnd6TDg2eW5aN3FZelcrdEFBM0tueDVRaGFhMEdjb3RySFE3MDZmMTZUNkowWllrK3IzY0UxU0V1SFJHVGdEWUhCWkdWV0lkaGN6M1dobGN1SjdDZERHRFVuL2Nyb3pKY3ByYkR0WUNBZURwWTVQRkFJaVlPK2lWMk56MTV1ZGN5azBYYys3Q3FpUGVLUExBeHZKQW9QTzVXT09yN0tNdWdUdHRFQlFCb0o3VlFDSHpHUzl3cWlYMEFpeUN3S3hCcUJZSWpQQTl2OUx1SkswbjRnbjB1bDBYRTVtN2dyMHdwYlN2ZVlxbW5ERjBudzNxV2htM2dJNE9DSFFreWlJQTZOd1hvRXVNc1BTakg4L0lYMmF1c2l1aUljamF3WEp0QVhPVmdZQkFZaktWUktlZFlXajN2WURRSjRjcXk4cndqTzRHQXE1MDJ1V0dkeWZqc3ZIRmtQRHcybjRsQW9PcGhIalFhYWxPSUhBQ2tTVUFxRi9TV1V5NkJSNmlRTHQ2V2FNRVJscVRvdDhyQ0JoZVRpVFFZV2NNMmg1MzlCS0NyQmNpaC8wOWRFQkF2dVdBWVc1ZU1oOHg5Sm5YeUJ1NWhTMzU5eFFZYTRsanArTjUxeWdVaW9TZGFVR3ZqeUJJSmJEZExkcEhLVjdZeHlxeHhOeUJJd0RxMFNNSW1pRTFHazg3MEdPdXorb0VHTjFFMXhQdlVUbzZWaU5tMUdwYVR5Q3dDL083QW9DaFJ3bnNxOVZiTnVaMXBJQTJDQ3k5QklrOXJnRGc5T21NSEFidzlRWXpRa2tCTFJBWWtjTlJBTW9JQlBZTG9FOExBQVlJNmo1VEdFcjI2aTNLVXlGbzRaRGFBTkJNUmVvdHQ5RXJVQXE0MVJJNFRhWU5BQTRTaFdOa2dWSTJRb1BaVlJPNXZZSXRBSWJHWlljUVdKWlppdjJEbmNJb2g4eC9YQ0xTTjR1NkVTU3FmdzhVQUVQamVhT3ZqMStrQkxDdXFRbWQzN2hiOEdmeiswSnV1ZWlvMGpHUzYvWlRER3ErNkNJSk1MaFBMaytjeDlsWURPMWsra1BQeUJFaE1EblFKUWJOaDFnNGtzMWlvcEVycURoZTlzY1Q2Sm5MWUJnQzkxdk41aGJyZDF2aElnQjg1MW5abHN2aFdMWVpLeWo2RFdtQWdTNnhyWEN3aGxIb1J0cnkvczRhLzFRU0hXWTRsNkZjS2JDdGNOT3hUMHlncHlVcDZLSDVhcFkyZ0xIcnQxQUZDSUhPV0F3ZHBnb29uS1VSS3ZaRmM5ZUh1S3RqUUhjcFkvTWxlM05vUXc3ZHNna1RmcjRWWERxNXJSSDQ4Rjdaazh1aHJha0pvMWJNTndkcVpBMWQrZW1wZ3gzelBRM2lvYk1uTjlCdTNBWUlQRkRjb1d1MW1jK2xCQUlBRHNRRHBzaGhwR0VZK2dORExaZ2ZDQURvTlNRdnFQTGtUU3V4ZnVOcTdJd0poT0RUQ3Y0WVVZdW5zamtjM2Y4K0JvN000djhLWXk1Y2l4bVBLVnhYYVd5bW5EV1hMUUdHeGlWakFtYUNvWnkxWFBiUFNvbjlPKzRWSFNZaGFJZEppZDJsaEpFU1V6dnUxZjgwbkJOaHl3WUEzY1k1b09oSTh1cWxhTGsraGZXWFBVYzFDSEFpalNPbkwyQ0dYZVBBWktIQnpkMFBnRUc1MGpaUjZwWnJUR1hacFd3QStKMjQ4Vnc0S05BQVFEajRVTE5WQkE2QWJ6OHJ1OFVsOVNWeUlUQ1ZiVVkvRFJzanhMeExTbWhkWVNZRUhoM29FaU1jaDJybTBpWHNzcUhTeEk1N3hmWktVL0NoWitRakFPYjFjNlhuTStnM1Q0Tkt6UmM0QUliR1pSOFRTZWFDWXpIMFVhOFpJZVk4UXpYYlNCRUFjdmxTWnl2d0JLWVBuZGIxMExqa0JRMWE0TlY4UDUxdTh6VFE2ZXluVCtBQThMT0l4ak8xbzBBREFMV2pmU2htamh3QUNnTlBvYUNnc25XT08rVkx3ckpPcTNWRURnQ0dMcmJNamRlSzBFRUdacXI5RHBFRGdGWGdxZHBFSzUwdmxzUFVRSmYvbkh3dDEvLy84OWJxRGpDUFdQQUFBQUFBU1VWT1JLNUNZSUk9Iik7YmFja2dyb3VuZC1wb3NpdGlvbjo1MCV9JywiIl0pLHQuZXhwb3J0cz1hfSxkMTQ0OmZ1bmN0aW9uKHQsYSxpKXsidXNlIHN0cmljdCI7aS5kKGEsImIiLChmdW5jdGlvbigpe3JldHVybiBufSkpLGkuZChhLCJjIiwoZnVuY3Rpb24oKXtyZXR1cm4gcn0pKSxpLmQoYSwiYSIsKGZ1bmN0aW9uKCl7cmV0dXJuIGV9KSk7dmFyIGU9e3VJY29uOmkoImNhYWMiKS5kZWZhdWx0fSxuPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxhPXQuJGNyZWF0ZUVsZW1lbnQsaT10Ll9zZWxmLl9jfHxhO3JldHVybiBpKCJ2LXVuaS12aWV3Iix7c3RhdGljQ2xhc3M6InUtbm90aWNlLWJhciIsY2xhc3M6W3QudHlwZT8idS10eXBlLSIrdC50eXBlKyItbGlnaHQtYmciOiIiXSxzdHlsZTp7YmFja2dyb3VuZDp0LmNvbXB1dGVCZ0NvbG9yLHBhZGRpbmc6dC5wYWRkaW5nfX0sW2koInYtdW5pLXZpZXciLHtzdGF0aWNDbGFzczoidS1pY29uLXdyYXAifSxbdC52b2x1bWVJY29uP2koInUtaWNvbiIse3N0YXRpY0NsYXNzOiJ1LWxlZnQtaWNvbiIsYXR0cnM6e25hbWU6InZvbHVtZS1maWxsIixzaXplOnQudm9sdW1lU2l6ZSxjb2xvcjp0LmNvbXB1dGVDb2xvcn19KTp0Ll9lKCldLDEpLGkoInYtdW5pLXN3aXBlciIse3N0YXRpY0NsYXNzOiJ1LXN3aXBlciIsYXR0cnM6eyJkaXNhYmxlLXRvdWNoIjp0LmRpc2FibGVUb3VjaCxhdXRvcGxheTp0LmF1dG9wbGF5JiYicGxheSI9PXQucGxheVN0YXRlLHZlcnRpY2FsOnQudmVydGljYWwsY2lyY3VsYXI6ITAsaW50ZXJ2YWw6dC5kdXJhdGlvbn0sb246e2NoYW5nZTpmdW5jdGlvbihhKXthcmd1bWVudHNbMF09YT10LiRoYW5kbGVFdmVudChhKSx0LmNoYW5nZS5hcHBseSh2b2lkIDAsYXJndW1lbnRzKX19fSx0Ll9sKHQubGlzdCwoZnVuY3Rpb24oYSxlKXtyZXR1cm4gaSgidi11bmktc3dpcGVyLWl0ZW0iLHtrZXk6ZSxzdGF0aWNDbGFzczoidS1zd2lwZXItaXRlbSJ9LFtpKCJ2LXVuaS12aWV3Iix7c3RhdGljQ2xhc3M6InUtbmV3cy1pdGVtIHUtbGluZS0xIixjbGFzczpbInUtdHlwZS0iK3QudHlwZV0sc3R5bGU6W3QudGV4dFN0eWxlXSxvbjp7Y2xpY2s6ZnVuY3Rpb24oYSl7YXJndW1lbnRzWzBdPWE9dC4kaGFuZGxlRXZlbnQoYSksdC5jbGljayhlKX19fSxbdC5fdih0Ll9zKGEpKV0pXSwxKX0pKSwxKSxpKCJ2LXVuaS12aWV3Iix7c3RhdGljQ2xhc3M6InUtaWNvbi13cmFwIn0sW3QubW9yZUljb24/aSgidS1pY29uIix7c3RhdGljQ2xhc3M6InUtcmlnaHQtaWNvbiIsYXR0cnM6e25hbWU6ImFycm93LXJpZ2h0IixzaXplOjI2LGNvbG9yOnQuY29tcHV0ZUNvbG9yfSxvbjp7Y2xpY2s6ZnVuY3Rpb24oYSl7YXJndW1lbnRzWzBdPWE9dC4kaGFuZGxlRXZlbnQoYSksdC5nZXRNb3JlLmFwcGx5KHZvaWQgMCxhcmd1bWVudHMpfX19KTp0Ll9lKCksdC5jbG9zZUljb24/aSgidS1pY29uIix7c3RhdGljQ2xhc3M6InUtcmlnaHQtaWNvbiIsYXR0cnM6e25hbWU6ImNsb3NlIixzaXplOjI0LGNvbG9yOnQuY29tcHV0ZUNvbG9yfSxvbjp7Y2xpY2s6ZnVuY3Rpb24oYSl7YXJndW1lbnRzWzBdPWE9dC4kaGFuZGxlRXZlbnQoYSksdC5jbG9zZS5hcHBseSh2b2lkIDAsYXJndW1lbnRzKX19fSk6dC5fZSgpXSwxKV0sMSl9LHI9W119LGQxNGQ6ZnVuY3Rpb24odCxhLGkpeyJ1c2Ugc3RyaWN0IjtpKCI2YTU0IiksT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGEuZGVmYXVsdD1mdW5jdGlvbih0KXtpZigidW5kZWZpbmVkIiE9PXR5cGVvZiBTeW1ib2wmJm51bGwhPXRbU3ltYm9sLml0ZXJhdG9yXXx8bnVsbCE9dFsiQEBpdGVyYXRvciJdKXJldHVybiBBcnJheS5mcm9tKHQpfSxpKCIwMWEyIiksaSgiZTM5YyIpLGkoImJmMGYiKSxpKCI4NDRkIiksaSgiMThmNyIpLGkoImRlNmMiKSxpKCIwOGViIil9LGQyYzQ6ZnVuY3Rpb24odCxhLGkpeyJ1c2Ugc3RyaWN0IjtpKCI2YTU0IiksT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGEuZGVmYXVsdD1vLGkoIjZhODgiKSxpKCJiZjBmIiksaSgiNzk5NiIpLGkoImFhOWMiKTt2YXIgZT1yKGkoImU2NjgiKSksbj1yKGkoIjZjMzEiKSk7ZnVuY3Rpb24gcih0KXtyZXR1cm4gdCYmdC5fX2VzTW9kdWxlP3Q6e2RlZmF1bHQ6dH19ZnVuY3Rpb24gbyh0LGkscil7cmV0dXJuKDAsbi5kZWZhdWx0KSgpP2EuZGVmYXVsdD1vPVJlZmxlY3QuY29uc3RydWN0LmJpbmQoKTphLmRlZmF1bHQ9bz1mdW5jdGlvbih0LGEsaSl7dmFyIG49W251bGxdO24ucHVzaC5hcHBseShuLGEpO3ZhciByPUZ1bmN0aW9uLmJpbmQuYXBwbHkodCxuKSxvPW5ldyByO3JldHVybiBpJiYoMCxlLmRlZmF1bHQpKG8saS5wcm90b3R5cGUpLG99LG8uYXBwbHkobnVsbCxhcmd1bWVudHMpfX0sZDQ0MTpmdW5jdGlvbih0LGEsaSl7InVzZSBzdHJpY3QiO2koIjZhNTQiKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoYSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksYS5kZWZhdWx0PWZ1bmN0aW9uKHQpe3JldHVybi0xIT09RnVuY3Rpb24udG9TdHJpbmcuY2FsbCh0KS5pbmRleE9mKCJbbmF0aXZlIGNvZGVdIil9LGkoIjVlZjIiKSxpKCJjOWI1IiksaSgiYmYwZiIpLGkoImFiODAiKX0sZDYxODpmdW5jdGlvbih0LGEsaSl7InVzZSBzdHJpY3QiO2kucihhKTt2YXIgZT1pKCJiZTUyIiksbj1pLm4oZSk7Zm9yKHZhciByIGluIGUpWyJkZWZhdWx0Il0uaW5kZXhPZihyKTwwJiZmdW5jdGlvbih0KXtpLmQoYSx0LChmdW5jdGlvbigpe3JldHVybiBlW3RdfSkpfShyKTthWyJkZWZhdWx0Il09bi5hfSxkNjM4OmZ1bmN0aW9uKHQsYSxpKXsidXNlIHN0cmljdCI7aSgiNmE1NCIpO3ZhciBlPWkoImY1YmQiKS5kZWZhdWx0O09iamVjdC5kZWZpbmVQcm9wZXJ0eShhLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxhLmhvbWVOYXY9YS5oaWdoUXVhbGl0eVByb2plY3Q9YS5ndXBpYW89YS5jb2luQ3VycmVuY3lNYXJrZXQ9dm9pZCAwLGkoImQ0YjUiKSxpKCJhYTljIik7dmFyIG49ZShpKCI1YzAwIikpLHI9bi5kZWZhdWx0Lm1lc3NhZ2VzW24uZGVmYXVsdC5sb2NhbGVdLmhvbWUsbz1be25hbWU6IkRlRmnmjJbnn78iLGl0ZW06W3tpY29uOmkoImNkYTAiKSx0ZXh0MToiVVNEQ+aMluefvyIsdGV4dDI6IjUwMDAgVVNEQ+i1t+WtmCIsdGV4dDM6IjIwLjU2JSIsdGV4dDQ6IuWPguiAg+W5tOWMliJ9LHtpY29uOmkoImNkYTAiKSx0ZXh0MToiVVNEQ+aMluefvyIsdGV4dDI6IjUwMDAgVVNEQ+i1t+WtmCIsdGV4dDM6IjIwLjU2JSIsdGV4dDQ6IuWPguiAg+W5tOWMliJ9LHtpY29uOmkoImNkYTAiKSx0ZXh0MToiVVNEQ+aMluefvyIsdGV4dDI6IjUwMDAgVVNEQ+i1t+WtmCIsdGV4dDM6IjIwLjU2JSIsdGV4dDQ6IuWPguiAg+W5tOWMliJ9XX0se25hbWU6IuS6keefv+acuiIsaXRlbTpbe2ljb246aSgiY2RhMCIpLHRleHQxOiJVU0RD5oyW55+/Iix0ZXh0MjoiNTAwMCBVU0RD6LW35a2YIix0ZXh0MzoiMjAuNTYlIix0ZXh0NDoi5Y+C6ICD5bm05YyWIn1dfV07YS5oaWdoUXVhbGl0eVByb2plY3Q9bzt2YXIgZD1be2ljb246aSgiZTJmNCIpLHRleHQ6ci5yZWNoYXJnZSx1cmw6Ii9wYWdlcy9mdW5kL3NlbGVjdD91cmw9cmVjZWl2ZSIsb3BlblR5cGU6Im5hdmlnYXRlVG8ifSx7aWNvbjppKCJmMjhkIiksdXJsOiIvcGFnZXMvZnVuZC9zZWxlY3Q/dXJsPXdpdGhkcmF3Iix0ZXh0OnIud2l0aGRyYXcsb3BlblR5cGU6Im5hdmlnYXRlVG8ifSx7aWNvbjppKCI4Y2ZhIiksdGV4dDpyLmZ1dHVyZXMsdXJsOiIvcGFnZXMvY29udHJhY3QvY29udHJhY3QiLG9wZW5UeXBlOiJzd2l0Y2hUYWIifSx7aWNvbjppKCIyMGEzIiksdGV4dDpyLnNlY29uZHMsdXJsOiIvcGFnZXMvc2Vjb25kcy9zZWNvbmRzIixvcGVuVHlwZToic3dpdGNoVGFiIn0se2ljb246aSgiOTIyYiIpLHRleHQ6ci5sb2NrbWluZyx1cmw6Ii9wYWdlcy9sb2NrbWluZy9sb2NrbWluZyIsb3BlblR5cGU6Im5hdmlnYXRlVG8ifSx7aWNvbjppKCIzM2IwIiksdGV4dDpyLm1hcmdpbixvcGVuVHlwZToibmF2aWdhdGVUbyJ9LHtpY29uOmkoIjI4NWQiKSx0ZXh0OnIudHJhbnNmZXIsdXJsOiIvcGFnZXMvZnVuZC90cmFuc2ZlciIsb3BlblR5cGU6Im5hdmlnYXRlVG8ifV07YS5ob21lTmF2PWQ7dmFyIHA9W107YS5ndXBpYW89cDtmb3IodmFyIGM9e2NvZGU6IlVTIixuYW1lOiLpgZPnkLzmlq8iLG51bTE6MTIzMy40LG51bTI6LTguNyxudW0zOiItMC4wMiUifSxzPTA7czw1O3MrKyl7dmFyIGw9SlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShjKSksbT1zJTI9PTA/LTE6MTtsLm51bTI9bC5udW0yKm0scC5wdXNoKGwpfWEuY29pbkN1cnJlbmN5TWFya2V0PVt7ZnJvbTp7Y29kZToiQlRDIixuYW1lOiLmr5TnibnluIEifSx0bzp7Y29kZToiVVNEVCIsbmFtZToi5rOw6L6+5biBIn0scHJpY2U6NTY3MTUuMTUscHJpY2UyOjM2NTE0OS4xNSxjaGFuZ2U6IjEuMSUifSx7ZnJvbTp7Y29kZToiQlRDIixuYW1lOiLmr5TnibnluIEifSx0bzp7Y29kZToiVVNEVCIsbmFtZToi5rOw6L6+5biBIn0scHJpY2U6NTY3MTUuMTUscHJpY2UyOjM2NTE0OS4xNSxjaGFuZ2U6Ii0yLjIlIn0se2Zyb206e2NvZGU6IkJUQyIsbmFtZToi5q+U54m55biBIn0sdG86e2NvZGU6IlVTRFQiLG5hbWU6IuazsOi+vuW4gSJ9LHByaWNlOjU2NzE1LjE1LHByaWNlMjozNjUxNDkuMTUsY2hhbmdlOi0zLjN9LHtmcm9tOntjb2RlOiJCVEMiLG5hbWU6IuavlOeJueW4gSJ9LHRvOntjb2RlOiJVU0RUIixuYW1lOiLms7Dovr7luIEifSxwcmljZTo1NjcxNS4xNSxwcmljZTI6MzY1MTQ5LjE1LGNoYW5nZTo0LjR9XX0sZGFmYTpmdW5jdGlvbih0LGEsaSl7InVzZSBzdHJpY3QiO2koIjZhNTQiKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoYSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksYS5kZWZhdWx0PXZvaWQgMCxpKCI2NGFhIik7dmFyIGU9e25hbWU6InUtbm90aWNlLWJhciIscHJvcHM6e2xpc3Q6e3R5cGU6QXJyYXksZGVmYXVsdDpmdW5jdGlvbigpe3JldHVybltdfX0sdHlwZTp7dHlwZTpTdHJpbmcsZGVmYXVsdDoid2FybmluZyJ9LHZvbHVtZUljb246e3R5cGU6Qm9vbGVhbixkZWZhdWx0OiEwfSx2b2x1bWVTaXplOnt0eXBlOltOdW1iZXIsU3RyaW5nXSxkZWZhdWx0OjM0fSxtb3JlSWNvbjp7dHlwZTpCb29sZWFuLGRlZmF1bHQ6ITF9LGNsb3NlSWNvbjp7dHlwZTpCb29sZWFuLGRlZmF1bHQ6ITF9LGF1dG9wbGF5Ont0eXBlOkJvb2xlYW4sZGVmYXVsdDohMH0sY29sb3I6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6IiJ9LGJnQ29sb3I6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6IiJ9LG1vZGU6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6Imhvcml6b250YWwifSxzaG93Ont0eXBlOkJvb2xlYW4sZGVmYXVsdDohMH0sZm9udFNpemU6e3R5cGU6W051bWJlcixTdHJpbmddLGRlZmF1bHQ6Mjh9LGR1cmF0aW9uOnt0eXBlOltOdW1iZXIsU3RyaW5nXSxkZWZhdWx0OjJlM30sc3BlZWQ6e3R5cGU6W051bWJlcixTdHJpbmddLGRlZmF1bHQ6MTYwfSxpc0NpcmN1bGFyOnt0eXBlOkJvb2xlYW4sZGVmYXVsdDohMH0scGxheVN0YXRlOnt0eXBlOlN0cmluZyxkZWZhdWx0OiJwbGF5In0sZGlzYWJsZVRvdWNoOnt0eXBlOkJvb2xlYW4sZGVmYXVsdDohMH0sYm9yZGVyUmFkaXVzOnt0eXBlOltOdW1iZXIsU3RyaW5nXSxkZWZhdWx0OjB9LHBhZGRpbmc6e3R5cGU6W051bWJlcixTdHJpbmddLGRlZmF1bHQ6IjE4cnB4IDI0cnB4In0sbm9MaXN0SGlkZGVuOnt0eXBlOkJvb2xlYW4sZGVmYXVsdDohMH19LGNvbXB1dGVkOntpc1Nob3c6ZnVuY3Rpb24oKXtyZXR1cm4gMCE9dGhpcy5zaG93JiYoMSE9dGhpcy5ub0xpc3RIaWRkZW58fDAhPXRoaXMubGlzdC5sZW5ndGgpfX0sbWV0aG9kczp7Y2xpY2s6ZnVuY3Rpb24odCl7dGhpcy4kZW1pdCgiY2xpY2siLHQpfSxjbG9zZTpmdW5jdGlvbigpe3RoaXMuJGVtaXQoImNsb3NlIil9LGdldE1vcmU6ZnVuY3Rpb24oKXt0aGlzLiRlbWl0KCJnZXRNb3JlIil9LGVuZDpmdW5jdGlvbigpe3RoaXMuJGVtaXQoImVuZCIpfX19O2EuZGVmYXVsdD1lfSxlMmY0OmZ1bmN0aW9uKHQsYSxpKXt0LmV4cG9ydHM9aS5wKyJzdGF0aWMvaW1hZ2UvaWNvbi9ob21lLW5hdi03LnBuZyJ9LGUyZjc6ZnVuY3Rpb24odCxhLGkpeyJ1c2Ugc3RyaWN0IjtpLmQoYSwiYiIsKGZ1bmN0aW9uKCl7cmV0dXJuIGV9KSksaS5kKGEsImMiLChmdW5jdGlvbigpe3JldHVybiBufSkpLGkuZChhLCJhIiwoZnVuY3Rpb24oKXt9KSk7dmFyIGU9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLiRjcmVhdGVFbGVtZW50LGE9dGhpcy5fc2VsZi5fY3x8dDtyZXR1cm4gYSgidi11bmktdmlldyIse3N0YXRpY0NsYXNzOiJjb250YWluZXIgbG9hZGluZzIifSxbYSgidi11bmktdmlldyIse3N0YXRpY0NsYXNzOiJzaGFwZSBzaGFwZTEifSksYSgidi11bmktdmlldyIse3N0YXRpY0NsYXNzOiJzaGFwZSBzaGFwZTIifSksYSgidi11bmktdmlldyIse3N0YXRpY0NsYXNzOiJzaGFwZSBzaGFwZTMifSksYSgidi11bmktdmlldyIse3N0YXRpY0NsYXNzOiJzaGFwZSBzaGFwZTQifSldLDEpfSxuPVtdfSxlNjNlOmZ1bmN0aW9uKHQsYSxpKXt2YXIgZT1pKCI1Y2FjIik7ZS5fX2VzTW9kdWxlJiYoZT1lLmRlZmF1bHQpLCJzdHJpbmciPT09dHlwZW9mIGUmJihlPVtbdC5pLGUsIiJdXSksZS5sb2NhbHMmJih0LmV4cG9ydHM9ZS5sb2NhbHMpO3ZhciBuPWkoIjk2N2QiKS5kZWZhdWx0O24oIjJkNDkzNGNjIixlLCEwLHtzb3VyY2VNYXA6ITEsc2hhZG93TW9kZTohMX0pfSxlNjY4OmZ1bmN0aW9uKHQsYSxpKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gZSh0LGkpe3JldHVybiBhLmRlZmF1bHQ9ZT1PYmplY3Quc2V0UHJvdG90eXBlT2Y/T2JqZWN0LnNldFByb3RvdHlwZU9mLmJpbmQoKTpmdW5jdGlvbih0LGEpe3JldHVybiB0Ll9fcHJvdG9fXz1hLHR9LGUodCxpKX1pKCI2YTU0IiksT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGEuZGVmYXVsdD1lLGkoIjhhOGQiKX0sZWJhNzpmdW5jdGlvbih0LGEsaSl7dmFyIGU9aSgiYzg2YyIpLG49aSgiMmVjNSIpLHI9aSgiOWY1ZiIpO2E9ZSghMSk7dmFyIG89bihyKTthLnB1c2goW3QuaSwnQGNoYXJzZXQgIlVURi04IjtcclxuLyoqXHJcbiAqIOS4i+aWueW8leWFpeeahOS4unVWaWV3IFVJ55qE6ZuG5oiQ5qC35byP5paH5Lu277yM5Li6c2Nzc+mihOWkhOeQhuWZqO+8jOWFtuS4reWMheWQq+S6huS4gOS6myJ1LSLlvIDlpLTnmoToh6rlrprkuYnlj5jph49cclxuICog5L2/55So55qE5pe25YCZ77yM6K+35bCG5LiL6Z2i55qE5LiA6KGM5aSN5Yi25Yiw5oKo55qEdW5pYXBw6aG555uu5qC555uu5b2V55qEdW5pLnNjc3PkuK3ljbPlj69cclxuICogdVZpZXfoh6rlrprkuYnnmoRjc3PnsbvlkI3lkoxzY3Nz5Y+Y6YeP77yM5Z2H5LulInUtIuW8gOWktO+8jOS4jeS8mumAoOaIkOWGsueqge+8jOivt+aUvuW/g+S9v+eUqCBcclxuICovLnRleHQtc3VjY2Vzc1tkYXRhLXYtN2YzNTJjMzJde2NvbG9yOiMyOGJhOTh9LnRleHQtd2FybmluZ1tkYXRhLXYtN2YzNTJjMzJde2NvbG9yOiNkNGJhODN9LnRleHQtcHJpbWFyeVtkYXRhLXYtN2YzNTJjMzJde2NvbG9yOiMyMjc3ZmN9LnRleHQtZXJyb3JbZGF0YS12LTdmMzUyYzMyXXtjb2xvcjojZjA0YTVhfS50ZXh0LXNlY29uZGFyeVtkYXRhLXYtN2YzNTJjMzJde2NvbG9yOiM5OTl9LnRleHQtZGVlcGJsdWVbZGF0YS12LTdmMzUyYzMyXXtjb2xvcjojMGQyNzU4fS50ZXh0LTMzM1tkYXRhLXYtN2YzNTJjMzJde2NvbG9yOiMzMzN9LnByaW1hcnktYnV0dG9uW2RhdGEtdi03ZjM1MmMzMl17YmFja2dyb3VuZC1jb2xvcjojMjI3N2ZjO2NvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czolPzEwPyU7Zm9udC1zaXplOiU/MzI/JTtwYWRkaW5nOiU/ND8lIDA7Ym9yZGVyOm5vbmU7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgxODBkZWcsIzAwYzZmYiAwLCMwMDViZWEpfS5wcmltYXJ5LWJ1dHRvbltkYXRhLXYtN2YzNTJjMzJdOmFmdGVye2Rpc3BsYXk6bm9uZX0uZXJyb3ItYnV0dG9uW2RhdGEtdi03ZjM1MmMzMl17YmFja2dyb3VuZC1jb2xvcjojZjA0YTVhO2NvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czolPzEwPyU7Zm9udC1zaXplOiU/MzI/JTtwYWRkaW5nOiU/ND8lIDA7Ym9yZGVyOm5vbmU7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgxODBkZWcsI2Y3NzA2MiAwLCNmZTUxOTYpfS5lcnJvci1idXR0b25bZGF0YS12LTdmMzUyYzMyXTphZnRlcntkaXNwbGF5Om5vbmV9Lndhcm5pbmctYnV0dG9uW2RhdGEtdi03ZjM1MmMzMl17YmFja2dyb3VuZC1jb2xvcjojZDRiYTgzO2NvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czolPzEwPyU7Zm9udC1zaXplOiU/MzI/JTtwYWRkaW5nOiU/ND8lIDA7Ym9yZGVyOm5vbmU7Y29sb3I6IzRkNGQ0ZDtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgxZGVnLCNmZmNjOGYsI2ZmZWRkOCl9Lndhcm5pbmctYnV0dG9uW2RhdGEtdi03ZjM1MmMzMl06YWZ0ZXJ7ZGlzcGxheTpub25lfS5zdWNjZXNzLWJ1dHRvbltkYXRhLXYtN2YzNTJjMzJde2JhY2tncm91bmQtY29sb3I6IzI4YmE5ODtjb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6JT8xMD8lO2ZvbnQtc2l6ZTolPzMyPyU7cGFkZGluZzolPzQ/JSAwO2JvcmRlcjpub25lO2NvbG9yOiNmZmY7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoMGRlZywjMGJhMzYwIDAsIzNjYmE5Mil9LnN1Y2Nlc3MtYnV0dG9uW2RhdGEtdi03ZjM1MmMzMl06YWZ0ZXJ7ZGlzcGxheTpub25lfS5zZWNvbmRhcnktYnV0dG9uW2RhdGEtdi03ZjM1MmMzMl17YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDUxLDUxLDUxLC4wNik7Y29sb3I6I2FmYWZhZjtib3JkZXItcmFkaXVzOiU/MTA/JTtmb250LXNpemU6JT8zMj8lO3BhZGRpbmc6JT80PyUgMDtib3JkZXI6bm9uZTtjb2xvcjojYjFiMGIwO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDBkZWcsI2M0YzVjNyAwLCNkY2RkZGYgNTIlLCNlYmViZWIpfS5zZWNvbmRhcnktYnV0dG9uW2RhdGEtdi03ZjM1MmMzMl06YWZ0ZXJ7ZGlzcGxheTpub25lfS50ZXh0LXdoaXRlW2RhdGEtdi03ZjM1MmMzMl17Y29sb3I6I2ZmZiFpbXBvcnRhbnR9LnRleHQtYmxhY2tbZGF0YS12LTdmMzUyYzMyXXtjb2xvcjojNGQ0ZDRkIWltcG9ydGFudH0uYmctd2hpdGVbZGF0YS12LTdmMzUyYzMyXXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmYhaW1wb3J0YW50fS5iZy1wcmltYXJ5W2RhdGEtdi03ZjM1MmMzMl17YmFja2dyb3VuZC1jb2xvcjojMjI3N2ZjIWltcG9ydGFudH0uYmctc2Vjb25kYXJ5W2RhdGEtdi03ZjM1MmMzMl17YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDUxLDUxLDUxLC4wNikhaW1wb3J0YW50fS5iZy1ibGFja1tkYXRhLXYtN2YzNTJjMzJde2JhY2tncm91bmQtY29sb3I6IzRkNGQ0ZCFpbXBvcnRhbnR9LmJnLTMzM1tkYXRhLXYtN2YzNTJjMzJde2JhY2tncm91bmQtY29sb3I6IzMzMyFpbXBvcnRhbnR9Lm0tMFtkYXRhLXYtN2YzNTJjMzJde21hcmdpbjolPzA/JSFpbXBvcnRhbnR9Lm14LTBbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tbGVmdDolPzA/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/MD8lIWltcG9ydGFudH0ubWwtMFtkYXRhLXYtN2YzNTJjMzJde21hcmdpbi1sZWZ0OiU/MD8lIWltcG9ydGFudH0ubXItMFtkYXRhLXYtN2YzNTJjMzJde21hcmdpbi1yaWdodDolPzA/JSFpbXBvcnRhbnR9Lm15LTBbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tdG9wOiU/MD8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/MD8lIWltcG9ydGFudH0ubXQtMFtkYXRhLXYtN2YzNTJjMzJde21hcmdpbi10b3A6JT8wPyUhaW1wb3J0YW50fS5tYi0wW2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLWJvdHRvbTolPzA/JSFpbXBvcnRhbnR9LnAtMFtkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmc6JT8wPyUhaW1wb3J0YW50fS5weC0wW2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy1sZWZ0OiU/MD8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/MD8lIWltcG9ydGFudH0ucGwtMFtkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctbGVmdDolPzA/JSFpbXBvcnRhbnR9LnByLTBbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLXJpZ2h0OiU/MD8lIWltcG9ydGFudH0ucHktMFtkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctdG9wOiU/MD8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzA/JSFpbXBvcnRhbnR9LnB0LTBbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLXRvcDolPzA/JSFpbXBvcnRhbnR9LnBiLTBbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLWJvdHRvbTolPzA/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTBbZGF0YS12LTdmMzUyYzMyXXtncmlkLWdhcDolPzA/JSFpbXBvcnRhbnR9LnotaW5kZXgtMFtkYXRhLXYtN2YzNTJjMzJde3otaW5kZXg6MCFpbXBvcnRhbnR9Lm0tMltkYXRhLXYtN2YzNTJjMzJde21hcmdpbjolPzI/JSFpbXBvcnRhbnR9Lm14LTJbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tbGVmdDolPzI/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/Mj8lIWltcG9ydGFudH0ubWwtMltkYXRhLXYtN2YzNTJjMzJde21hcmdpbi1sZWZ0OiU/Mj8lIWltcG9ydGFudH0ubXItMltkYXRhLXYtN2YzNTJjMzJde21hcmdpbi1yaWdodDolPzI/JSFpbXBvcnRhbnR9Lm15LTJbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tdG9wOiU/Mj8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/Mj8lIWltcG9ydGFudH0ubXQtMltkYXRhLXYtN2YzNTJjMzJde21hcmdpbi10b3A6JT8yPyUhaW1wb3J0YW50fS5tYi0yW2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLWJvdHRvbTolPzI/JSFpbXBvcnRhbnR9LnAtMltkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmc6JT8yPyUhaW1wb3J0YW50fS5weC0yW2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy1sZWZ0OiU/Mj8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/Mj8lIWltcG9ydGFudH0ucGwtMltkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctbGVmdDolPzI/JSFpbXBvcnRhbnR9LnByLTJbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLXJpZ2h0OiU/Mj8lIWltcG9ydGFudH0ucHktMltkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctdG9wOiU/Mj8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzI/JSFpbXBvcnRhbnR9LnB0LTJbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLXRvcDolPzI/JSFpbXBvcnRhbnR9LnBiLTJbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLWJvdHRvbTolPzI/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTJbZGF0YS12LTdmMzUyYzMyXXtncmlkLWdhcDolPzI/JSFpbXBvcnRhbnR9LnotaW5kZXgtMltkYXRhLXYtN2YzNTJjMzJde3otaW5kZXg6MiFpbXBvcnRhbnR9Lm0tNFtkYXRhLXYtN2YzNTJjMzJde21hcmdpbjolPzQ/JSFpbXBvcnRhbnR9Lm14LTRbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tbGVmdDolPzQ/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/ND8lIWltcG9ydGFudH0ubWwtNFtkYXRhLXYtN2YzNTJjMzJde21hcmdpbi1sZWZ0OiU/ND8lIWltcG9ydGFudH0ubXItNFtkYXRhLXYtN2YzNTJjMzJde21hcmdpbi1yaWdodDolPzQ/JSFpbXBvcnRhbnR9Lm15LTRbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tdG9wOiU/ND8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/ND8lIWltcG9ydGFudH0ubXQtNFtkYXRhLXYtN2YzNTJjMzJde21hcmdpbi10b3A6JT80PyUhaW1wb3J0YW50fS5tYi00W2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLWJvdHRvbTolPzQ/JSFpbXBvcnRhbnR9LnAtNFtkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmc6JT80PyUhaW1wb3J0YW50fS5weC00W2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy1sZWZ0OiU/ND8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/ND8lIWltcG9ydGFudH0ucGwtNFtkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctbGVmdDolPzQ/JSFpbXBvcnRhbnR9LnByLTRbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLXJpZ2h0OiU/ND8lIWltcG9ydGFudH0ucHktNFtkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctdG9wOiU/ND8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzQ/JSFpbXBvcnRhbnR9LnB0LTRbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLXRvcDolPzQ/JSFpbXBvcnRhbnR9LnBiLTRbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLWJvdHRvbTolPzQ/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTRbZGF0YS12LTdmMzUyYzMyXXtncmlkLWdhcDolPzQ/JSFpbXBvcnRhbnR9LnotaW5kZXgtNFtkYXRhLXYtN2YzNTJjMzJde3otaW5kZXg6NCFpbXBvcnRhbnR9Lm0tNltkYXRhLXYtN2YzNTJjMzJde21hcmdpbjolPzY/JSFpbXBvcnRhbnR9Lm14LTZbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tbGVmdDolPzY/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/Nj8lIWltcG9ydGFudH0ubWwtNltkYXRhLXYtN2YzNTJjMzJde21hcmdpbi1sZWZ0OiU/Nj8lIWltcG9ydGFudH0ubXItNltkYXRhLXYtN2YzNTJjMzJde21hcmdpbi1yaWdodDolPzY/JSFpbXBvcnRhbnR9Lm15LTZbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tdG9wOiU/Nj8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/Nj8lIWltcG9ydGFudH0ubXQtNltkYXRhLXYtN2YzNTJjMzJde21hcmdpbi10b3A6JT82PyUhaW1wb3J0YW50fS5tYi02W2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLWJvdHRvbTolPzY/JSFpbXBvcnRhbnR9LnAtNltkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmc6JT82PyUhaW1wb3J0YW50fS5weC02W2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy1sZWZ0OiU/Nj8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/Nj8lIWltcG9ydGFudH0ucGwtNltkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctbGVmdDolPzY/JSFpbXBvcnRhbnR9LnByLTZbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLXJpZ2h0OiU/Nj8lIWltcG9ydGFudH0ucHktNltkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctdG9wOiU/Nj8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzY/JSFpbXBvcnRhbnR9LnB0LTZbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLXRvcDolPzY/JSFpbXBvcnRhbnR9LnBiLTZbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLWJvdHRvbTolPzY/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTZbZGF0YS12LTdmMzUyYzMyXXtncmlkLWdhcDolPzY/JSFpbXBvcnRhbnR9LnotaW5kZXgtNltkYXRhLXYtN2YzNTJjMzJde3otaW5kZXg6NiFpbXBvcnRhbnR9Lm0tOFtkYXRhLXYtN2YzNTJjMzJde21hcmdpbjolPzg/JSFpbXBvcnRhbnR9Lm14LThbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tbGVmdDolPzg/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/OD8lIWltcG9ydGFudH0ubWwtOFtkYXRhLXYtN2YzNTJjMzJde21hcmdpbi1sZWZ0OiU/OD8lIWltcG9ydGFudH0ubXItOFtkYXRhLXYtN2YzNTJjMzJde21hcmdpbi1yaWdodDolPzg/JSFpbXBvcnRhbnR9Lm15LThbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tdG9wOiU/OD8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/OD8lIWltcG9ydGFudH0ubXQtOFtkYXRhLXYtN2YzNTJjMzJde21hcmdpbi10b3A6JT84PyUhaW1wb3J0YW50fS5tYi04W2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLWJvdHRvbTolPzg/JSFpbXBvcnRhbnR9LnAtOFtkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmc6JT84PyUhaW1wb3J0YW50fS5weC04W2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy1sZWZ0OiU/OD8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/OD8lIWltcG9ydGFudH0ucGwtOFtkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctbGVmdDolPzg/JSFpbXBvcnRhbnR9LnByLThbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLXJpZ2h0OiU/OD8lIWltcG9ydGFudH0ucHktOFtkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctdG9wOiU/OD8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzg/JSFpbXBvcnRhbnR9LnB0LThbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLXRvcDolPzg/JSFpbXBvcnRhbnR9LnBiLThbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLWJvdHRvbTolPzg/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLThbZGF0YS12LTdmMzUyYzMyXXtncmlkLWdhcDolPzg/JSFpbXBvcnRhbnR9LnotaW5kZXgtOFtkYXRhLXYtN2YzNTJjMzJde3otaW5kZXg6OCFpbXBvcnRhbnR9Lm0tMTBbZGF0YS12LTdmMzUyYzMyXXttYXJnaW46JT8xMD8lIWltcG9ydGFudH0ubXgtMTBbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tbGVmdDolPzEwPyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzEwPyUhaW1wb3J0YW50fS5tbC0xMFtkYXRhLXYtN2YzNTJjMzJde21hcmdpbi1sZWZ0OiU/MTA/JSFpbXBvcnRhbnR9Lm1yLTEwW2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLXJpZ2h0OiU/MTA/JSFpbXBvcnRhbnR9Lm15LTEwW2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLXRvcDolPzEwPyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT8xMD8lIWltcG9ydGFudH0ubXQtMTBbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tdG9wOiU/MTA/JSFpbXBvcnRhbnR9Lm1iLTEwW2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLWJvdHRvbTolPzEwPyUhaW1wb3J0YW50fS5wLTEwW2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZzolPzEwPyUhaW1wb3J0YW50fS5weC0xMFtkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctbGVmdDolPzEwPyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT8xMD8lIWltcG9ydGFudH0ucGwtMTBbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLWxlZnQ6JT8xMD8lIWltcG9ydGFudH0ucHItMTBbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLXJpZ2h0OiU/MTA/JSFpbXBvcnRhbnR9LnB5LTEwW2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy10b3A6JT8xMD8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzEwPyUhaW1wb3J0YW50fS5wdC0xMFtkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctdG9wOiU/MTA/JSFpbXBvcnRhbnR9LnBiLTEwW2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy1ib3R0b206JT8xMD8lIWltcG9ydGFudH0uZ3JpZC1nYXAtMTBbZGF0YS12LTdmMzUyYzMyXXtncmlkLWdhcDolPzEwPyUhaW1wb3J0YW50fS56LWluZGV4LTEwW2RhdGEtdi03ZjM1MmMzMl17ei1pbmRleDoxMCFpbXBvcnRhbnR9Lm0tMTJbZGF0YS12LTdmMzUyYzMyXXttYXJnaW46JT8xMj8lIWltcG9ydGFudH0ubXgtMTJbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tbGVmdDolPzEyPyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzEyPyUhaW1wb3J0YW50fS5tbC0xMltkYXRhLXYtN2YzNTJjMzJde21hcmdpbi1sZWZ0OiU/MTI/JSFpbXBvcnRhbnR9Lm1yLTEyW2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLXJpZ2h0OiU/MTI/JSFpbXBvcnRhbnR9Lm15LTEyW2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLXRvcDolPzEyPyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT8xMj8lIWltcG9ydGFudH0ubXQtMTJbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tdG9wOiU/MTI/JSFpbXBvcnRhbnR9Lm1iLTEyW2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLWJvdHRvbTolPzEyPyUhaW1wb3J0YW50fS5wLTEyW2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZzolPzEyPyUhaW1wb3J0YW50fS5weC0xMltkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctbGVmdDolPzEyPyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT8xMj8lIWltcG9ydGFudH0ucGwtMTJbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLWxlZnQ6JT8xMj8lIWltcG9ydGFudH0ucHItMTJbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLXJpZ2h0OiU/MTI/JSFpbXBvcnRhbnR9LnB5LTEyW2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy10b3A6JT8xMj8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzEyPyUhaW1wb3J0YW50fS5wdC0xMltkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctdG9wOiU/MTI/JSFpbXBvcnRhbnR9LnBiLTEyW2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy1ib3R0b206JT8xMj8lIWltcG9ydGFudH0uZ3JpZC1nYXAtMTJbZGF0YS12LTdmMzUyYzMyXXtncmlkLWdhcDolPzEyPyUhaW1wb3J0YW50fS56LWluZGV4LTEyW2RhdGEtdi03ZjM1MmMzMl17ei1pbmRleDoxMiFpbXBvcnRhbnR9Lm0tMTRbZGF0YS12LTdmMzUyYzMyXXttYXJnaW46JT8xND8lIWltcG9ydGFudH0ubXgtMTRbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tbGVmdDolPzE0PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzE0PyUhaW1wb3J0YW50fS5tbC0xNFtkYXRhLXYtN2YzNTJjMzJde21hcmdpbi1sZWZ0OiU/MTQ/JSFpbXBvcnRhbnR9Lm1yLTE0W2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLXJpZ2h0OiU/MTQ/JSFpbXBvcnRhbnR9Lm15LTE0W2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLXRvcDolPzE0PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT8xND8lIWltcG9ydGFudH0ubXQtMTRbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tdG9wOiU/MTQ/JSFpbXBvcnRhbnR9Lm1iLTE0W2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLWJvdHRvbTolPzE0PyUhaW1wb3J0YW50fS5wLTE0W2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZzolPzE0PyUhaW1wb3J0YW50fS5weC0xNFtkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctbGVmdDolPzE0PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT8xND8lIWltcG9ydGFudH0ucGwtMTRbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLWxlZnQ6JT8xND8lIWltcG9ydGFudH0ucHItMTRbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLXJpZ2h0OiU/MTQ/JSFpbXBvcnRhbnR9LnB5LTE0W2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy10b3A6JT8xND8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzE0PyUhaW1wb3J0YW50fS5wdC0xNFtkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctdG9wOiU/MTQ/JSFpbXBvcnRhbnR9LnBiLTE0W2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy1ib3R0b206JT8xND8lIWltcG9ydGFudH0uZ3JpZC1nYXAtMTRbZGF0YS12LTdmMzUyYzMyXXtncmlkLWdhcDolPzE0PyUhaW1wb3J0YW50fS56LWluZGV4LTE0W2RhdGEtdi03ZjM1MmMzMl17ei1pbmRleDoxNCFpbXBvcnRhbnR9Lm0tMTZbZGF0YS12LTdmMzUyYzMyXXttYXJnaW46JT8xNj8lIWltcG9ydGFudH0ubXgtMTZbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tbGVmdDolPzE2PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzE2PyUhaW1wb3J0YW50fS5tbC0xNltkYXRhLXYtN2YzNTJjMzJde21hcmdpbi1sZWZ0OiU/MTY/JSFpbXBvcnRhbnR9Lm1yLTE2W2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLXJpZ2h0OiU/MTY/JSFpbXBvcnRhbnR9Lm15LTE2W2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLXRvcDolPzE2PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT8xNj8lIWltcG9ydGFudH0ubXQtMTZbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tdG9wOiU/MTY/JSFpbXBvcnRhbnR9Lm1iLTE2W2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLWJvdHRvbTolPzE2PyUhaW1wb3J0YW50fS5wLTE2W2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZzolPzE2PyUhaW1wb3J0YW50fS5weC0xNltkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctbGVmdDolPzE2PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT8xNj8lIWltcG9ydGFudH0ucGwtMTZbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLWxlZnQ6JT8xNj8lIWltcG9ydGFudH0ucHItMTZbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLXJpZ2h0OiU/MTY/JSFpbXBvcnRhbnR9LnB5LTE2W2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy10b3A6JT8xNj8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzE2PyUhaW1wb3J0YW50fS5wdC0xNltkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctdG9wOiU/MTY/JSFpbXBvcnRhbnR9LnBiLTE2W2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy1ib3R0b206JT8xNj8lIWltcG9ydGFudH0uZ3JpZC1nYXAtMTZbZGF0YS12LTdmMzUyYzMyXXtncmlkLWdhcDolPzE2PyUhaW1wb3J0YW50fS56LWluZGV4LTE2W2RhdGEtdi03ZjM1MmMzMl17ei1pbmRleDoxNiFpbXBvcnRhbnR9Lm0tMThbZGF0YS12LTdmMzUyYzMyXXttYXJnaW46JT8xOD8lIWltcG9ydGFudH0ubXgtMThbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tbGVmdDolPzE4PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzE4PyUhaW1wb3J0YW50fS5tbC0xOFtkYXRhLXYtN2YzNTJjMzJde21hcmdpbi1sZWZ0OiU/MTg/JSFpbXBvcnRhbnR9Lm1yLTE4W2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLXJpZ2h0OiU/MTg/JSFpbXBvcnRhbnR9Lm15LTE4W2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLXRvcDolPzE4PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT8xOD8lIWltcG9ydGFudH0ubXQtMThbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tdG9wOiU/MTg/JSFpbXBvcnRhbnR9Lm1iLTE4W2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLWJvdHRvbTolPzE4PyUhaW1wb3J0YW50fS5wLTE4W2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZzolPzE4PyUhaW1wb3J0YW50fS5weC0xOFtkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctbGVmdDolPzE4PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT8xOD8lIWltcG9ydGFudH0ucGwtMThbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLWxlZnQ6JT8xOD8lIWltcG9ydGFudH0ucHItMThbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLXJpZ2h0OiU/MTg/JSFpbXBvcnRhbnR9LnB5LTE4W2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy10b3A6JT8xOD8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzE4PyUhaW1wb3J0YW50fS5wdC0xOFtkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctdG9wOiU/MTg/JSFpbXBvcnRhbnR9LnBiLTE4W2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy1ib3R0b206JT8xOD8lIWltcG9ydGFudH0uZ3JpZC1nYXAtMThbZGF0YS12LTdmMzUyYzMyXXtncmlkLWdhcDolPzE4PyUhaW1wb3J0YW50fS56LWluZGV4LTE4W2RhdGEtdi03ZjM1MmMzMl17ei1pbmRleDoxOCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS0xOFtkYXRhLXYtN2YzNTJjMzJde2ZvbnQtc2l6ZTolPzE4PyUhaW1wb3J0YW50fS5tLTIwW2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luOiU/MjA/JSFpbXBvcnRhbnR9Lm14LTIwW2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLWxlZnQ6JT8yMD8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT8yMD8lIWltcG9ydGFudH0ubWwtMjBbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tbGVmdDolPzIwPyUhaW1wb3J0YW50fS5tci0yMFtkYXRhLXYtN2YzNTJjMzJde21hcmdpbi1yaWdodDolPzIwPyUhaW1wb3J0YW50fS5teS0yMFtkYXRhLXYtN2YzNTJjMzJde21hcmdpbi10b3A6JT8yMD8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/MjA/JSFpbXBvcnRhbnR9Lm10LTIwW2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLXRvcDolPzIwPyUhaW1wb3J0YW50fS5tYi0yMFtkYXRhLXYtN2YzNTJjMzJde21hcmdpbi1ib3R0b206JT8yMD8lIWltcG9ydGFudH0ucC0yMFtkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmc6JT8yMD8lIWltcG9ydGFudH0ucHgtMjBbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLWxlZnQ6JT8yMD8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/MjA/JSFpbXBvcnRhbnR9LnBsLTIwW2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy1sZWZ0OiU/MjA/JSFpbXBvcnRhbnR9LnByLTIwW2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy1yaWdodDolPzIwPyUhaW1wb3J0YW50fS5weS0yMFtkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctdG9wOiU/MjA/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT8yMD8lIWltcG9ydGFudH0ucHQtMjBbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLXRvcDolPzIwPyUhaW1wb3J0YW50fS5wYi0yMFtkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctYm90dG9tOiU/MjA/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTIwW2RhdGEtdi03ZjM1MmMzMl17Z3JpZC1nYXA6JT8yMD8lIWltcG9ydGFudH0uei1pbmRleC0yMFtkYXRhLXYtN2YzNTJjMzJde3otaW5kZXg6MjAhaW1wb3J0YW50fS5mb250LXNpemUtMjBbZGF0YS12LTdmMzUyYzMyXXtmb250LXNpemU6JT8yMD8lIWltcG9ydGFudH0ubS0yMltkYXRhLXYtN2YzNTJjMzJde21hcmdpbjolPzIyPyUhaW1wb3J0YW50fS5teC0yMltkYXRhLXYtN2YzNTJjMzJde21hcmdpbi1sZWZ0OiU/MjI/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/MjI/JSFpbXBvcnRhbnR9Lm1sLTIyW2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLWxlZnQ6JT8yMj8lIWltcG9ydGFudH0ubXItMjJbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tcmlnaHQ6JT8yMj8lIWltcG9ydGFudH0ubXktMjJbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tdG9wOiU/MjI/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzIyPyUhaW1wb3J0YW50fS5tdC0yMltkYXRhLXYtN2YzNTJjMzJde21hcmdpbi10b3A6JT8yMj8lIWltcG9ydGFudH0ubWItMjJbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tYm90dG9tOiU/MjI/JSFpbXBvcnRhbnR9LnAtMjJbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nOiU/MjI/JSFpbXBvcnRhbnR9LnB4LTIyW2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy1sZWZ0OiU/MjI/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzIyPyUhaW1wb3J0YW50fS5wbC0yMltkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctbGVmdDolPzIyPyUhaW1wb3J0YW50fS5wci0yMltkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctcmlnaHQ6JT8yMj8lIWltcG9ydGFudH0ucHktMjJbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLXRvcDolPzIyPyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/MjI/JSFpbXBvcnRhbnR9LnB0LTIyW2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy10b3A6JT8yMj8lIWltcG9ydGFudH0ucGItMjJbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLWJvdHRvbTolPzIyPyUhaW1wb3J0YW50fS5ncmlkLWdhcC0yMltkYXRhLXYtN2YzNTJjMzJde2dyaWQtZ2FwOiU/MjI/JSFpbXBvcnRhbnR9LnotaW5kZXgtMjJbZGF0YS12LTdmMzUyYzMyXXt6LWluZGV4OjIyIWltcG9ydGFudH0uZm9udC1zaXplLTIyW2RhdGEtdi03ZjM1MmMzMl0sIC5pbnB1dC1pdGVtIC5nZXQtY29kZVtkYXRhLXYtN2YzNTJjMzJde2ZvbnQtc2l6ZTolPzIyPyUhaW1wb3J0YW50fS5tLTI0W2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luOiU/MjQ/JSFpbXBvcnRhbnR9Lm14LTI0W2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLWxlZnQ6JT8yND8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT8yND8lIWltcG9ydGFudH0ubWwtMjRbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tbGVmdDolPzI0PyUhaW1wb3J0YW50fS5tci0yNFtkYXRhLXYtN2YzNTJjMzJde21hcmdpbi1yaWdodDolPzI0PyUhaW1wb3J0YW50fS5teS0yNFtkYXRhLXYtN2YzNTJjMzJde21hcmdpbi10b3A6JT8yND8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/MjQ/JSFpbXBvcnRhbnR9Lm10LTI0W2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLXRvcDolPzI0PyUhaW1wb3J0YW50fS5tYi0yNFtkYXRhLXYtN2YzNTJjMzJde21hcmdpbi1ib3R0b206JT8yND8lIWltcG9ydGFudH0ucC0yNFtkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmc6JT8yND8lIWltcG9ydGFudH0ucHgtMjRbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLWxlZnQ6JT8yND8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/MjQ/JSFpbXBvcnRhbnR9LnBsLTI0W2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy1sZWZ0OiU/MjQ/JSFpbXBvcnRhbnR9LnByLTI0W2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy1yaWdodDolPzI0PyUhaW1wb3J0YW50fS5weS0yNFtkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctdG9wOiU/MjQ/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT8yND8lIWltcG9ydGFudH0ucHQtMjRbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLXRvcDolPzI0PyUhaW1wb3J0YW50fS5wYi0yNFtkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctYm90dG9tOiU/MjQ/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTI0W2RhdGEtdi03ZjM1MmMzMl17Z3JpZC1nYXA6JT8yND8lIWltcG9ydGFudH0uei1pbmRleC0yNFtkYXRhLXYtN2YzNTJjMzJde3otaW5kZXg6MjQhaW1wb3J0YW50fS5mb250LXNpemUtMjRbZGF0YS12LTdmMzUyYzMyXSwgLmxvZ2luLWlucHV0LWdyb3VwIC5sYWJlbFtkYXRhLXYtN2YzNTJjMzJde2ZvbnQtc2l6ZTolPzI0PyUhaW1wb3J0YW50fS5tLTI2W2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luOiU/MjY/JSFpbXBvcnRhbnR9Lm14LTI2W2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLWxlZnQ6JT8yNj8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT8yNj8lIWltcG9ydGFudH0ubWwtMjZbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tbGVmdDolPzI2PyUhaW1wb3J0YW50fS5tci0yNltkYXRhLXYtN2YzNTJjMzJde21hcmdpbi1yaWdodDolPzI2PyUhaW1wb3J0YW50fS5teS0yNltkYXRhLXYtN2YzNTJjMzJde21hcmdpbi10b3A6JT8yNj8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/MjY/JSFpbXBvcnRhbnR9Lm10LTI2W2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLXRvcDolPzI2PyUhaW1wb3J0YW50fS5tYi0yNltkYXRhLXYtN2YzNTJjMzJde21hcmdpbi1ib3R0b206JT8yNj8lIWltcG9ydGFudH0ucC0yNltkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmc6JT8yNj8lIWltcG9ydGFudH0ucHgtMjZbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLWxlZnQ6JT8yNj8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/MjY/JSFpbXBvcnRhbnR9LnBsLTI2W2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy1sZWZ0OiU/MjY/JSFpbXBvcnRhbnR9LnByLTI2W2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy1yaWdodDolPzI2PyUhaW1wb3J0YW50fS5weS0yNltkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctdG9wOiU/MjY/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT8yNj8lIWltcG9ydGFudH0ucHQtMjZbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLXRvcDolPzI2PyUhaW1wb3J0YW50fS5wYi0yNltkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctYm90dG9tOiU/MjY/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTI2W2RhdGEtdi03ZjM1MmMzMl17Z3JpZC1nYXA6JT8yNj8lIWltcG9ydGFudH0uei1pbmRleC0yNltkYXRhLXYtN2YzNTJjMzJde3otaW5kZXg6MjYhaW1wb3J0YW50fS5mb250LXNpemUtMjZbZGF0YS12LTdmMzUyYzMyXXtmb250LXNpemU6JT8yNj8lIWltcG9ydGFudH0ubS0yOFtkYXRhLXYtN2YzNTJjMzJde21hcmdpbjolPzI4PyUhaW1wb3J0YW50fS5teC0yOFtkYXRhLXYtN2YzNTJjMzJde21hcmdpbi1sZWZ0OiU/Mjg/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/Mjg/JSFpbXBvcnRhbnR9Lm1sLTI4W2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLWxlZnQ6JT8yOD8lIWltcG9ydGFudH0ubXItMjhbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tcmlnaHQ6JT8yOD8lIWltcG9ydGFudH0ubXktMjhbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tdG9wOiU/Mjg/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzI4PyUhaW1wb3J0YW50fS5tdC0yOFtkYXRhLXYtN2YzNTJjMzJde21hcmdpbi10b3A6JT8yOD8lIWltcG9ydGFudH0ubWItMjhbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tYm90dG9tOiU/Mjg/JSFpbXBvcnRhbnR9LnAtMjhbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nOiU/Mjg/JSFpbXBvcnRhbnR9LnB4LTI4W2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy1sZWZ0OiU/Mjg/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzI4PyUhaW1wb3J0YW50fS5wbC0yOFtkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctbGVmdDolPzI4PyUhaW1wb3J0YW50fS5wci0yOFtkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctcmlnaHQ6JT8yOD8lIWltcG9ydGFudH0ucHktMjhbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLXRvcDolPzI4PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/Mjg/JSFpbXBvcnRhbnR9LnB0LTI4W2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy10b3A6JT8yOD8lIWltcG9ydGFudH0ucGItMjhbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLWJvdHRvbTolPzI4PyUhaW1wb3J0YW50fS5ncmlkLWdhcC0yOFtkYXRhLXYtN2YzNTJjMzJde2dyaWQtZ2FwOiU/Mjg/JSFpbXBvcnRhbnR9LnotaW5kZXgtMjhbZGF0YS12LTdmMzUyYzMyXXt6LWluZGV4OjI4IWltcG9ydGFudH0uZm9udC1zaXplLTI4W2RhdGEtdi03ZjM1MmMzMl17Zm9udC1zaXplOiU/Mjg/JSFpbXBvcnRhbnR9Lm0tMzBbZGF0YS12LTdmMzUyYzMyXXttYXJnaW46JT8zMD8lIWltcG9ydGFudH0ubXgtMzBbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tbGVmdDolPzMwPyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzMwPyUhaW1wb3J0YW50fS5tbC0zMFtkYXRhLXYtN2YzNTJjMzJde21hcmdpbi1sZWZ0OiU/MzA/JSFpbXBvcnRhbnR9Lm1yLTMwW2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLXJpZ2h0OiU/MzA/JSFpbXBvcnRhbnR9Lm15LTMwW2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLXRvcDolPzMwPyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT8zMD8lIWltcG9ydGFudH0ubXQtMzBbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tdG9wOiU/MzA/JSFpbXBvcnRhbnR9Lm1iLTMwW2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLWJvdHRvbTolPzMwPyUhaW1wb3J0YW50fS5wLTMwW2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZzolPzMwPyUhaW1wb3J0YW50fS5weC0zMFtkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctbGVmdDolPzMwPyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT8zMD8lIWltcG9ydGFudH0ucGwtMzBbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLWxlZnQ6JT8zMD8lIWltcG9ydGFudH0ucHItMzBbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLXJpZ2h0OiU/MzA/JSFpbXBvcnRhbnR9LnB5LTMwW2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy10b3A6JT8zMD8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzMwPyUhaW1wb3J0YW50fS5wdC0zMFtkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctdG9wOiU/MzA/JSFpbXBvcnRhbnR9LnBiLTMwW2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy1ib3R0b206JT8zMD8lIWltcG9ydGFudH0uZ3JpZC1nYXAtMzBbZGF0YS12LTdmMzUyYzMyXXtncmlkLWdhcDolPzMwPyUhaW1wb3J0YW50fS56LWluZGV4LTMwW2RhdGEtdi03ZjM1MmMzMl17ei1pbmRleDozMCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS0zMFtkYXRhLXYtN2YzNTJjMzJde2ZvbnQtc2l6ZTolPzMwPyUhaW1wb3J0YW50fS5tLTMyW2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luOiU/MzI/JSFpbXBvcnRhbnR9Lm14LTMyW2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLWxlZnQ6JT8zMj8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT8zMj8lIWltcG9ydGFudH0ubWwtMzJbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tbGVmdDolPzMyPyUhaW1wb3J0YW50fS5tci0zMltkYXRhLXYtN2YzNTJjMzJde21hcmdpbi1yaWdodDolPzMyPyUhaW1wb3J0YW50fS5teS0zMltkYXRhLXYtN2YzNTJjMzJde21hcmdpbi10b3A6JT8zMj8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/MzI/JSFpbXBvcnRhbnR9Lm10LTMyW2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLXRvcDolPzMyPyUhaW1wb3J0YW50fS5tYi0zMltkYXRhLXYtN2YzNTJjMzJde21hcmdpbi1ib3R0b206JT8zMj8lIWltcG9ydGFudH0ucC0zMltkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmc6JT8zMj8lIWltcG9ydGFudH0ucHgtMzJbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLWxlZnQ6JT8zMj8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/MzI/JSFpbXBvcnRhbnR9LnBsLTMyW2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy1sZWZ0OiU/MzI/JSFpbXBvcnRhbnR9LnByLTMyW2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy1yaWdodDolPzMyPyUhaW1wb3J0YW50fS5weS0zMltkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctdG9wOiU/MzI/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT8zMj8lIWltcG9ydGFudH0ucHQtMzJbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLXRvcDolPzMyPyUhaW1wb3J0YW50fS5wYi0zMltkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctYm90dG9tOiU/MzI/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTMyW2RhdGEtdi03ZjM1MmMzMl17Z3JpZC1nYXA6JT8zMj8lIWltcG9ydGFudH0uei1pbmRleC0zMltkYXRhLXYtN2YzNTJjMzJde3otaW5kZXg6MzIhaW1wb3J0YW50fS5mb250LXNpemUtMzJbZGF0YS12LTdmMzUyYzMyXSwgLmlucHV0W2RhdGEtdi03ZjM1MmMzMl0sIC5sb2dpbi1pbnB1dC1ncm91cCAubG9naW4taW5wdXRbZGF0YS12LTdmMzUyYzMyXSwgLmFydGljbGUgdW5pLXRleHRbZGF0YS12LTdmMzUyYzMyXXtmb250LXNpemU6JT8zMj8lIWltcG9ydGFudH0ubS0zNFtkYXRhLXYtN2YzNTJjMzJde21hcmdpbjolPzM0PyUhaW1wb3J0YW50fS5teC0zNFtkYXRhLXYtN2YzNTJjMzJde21hcmdpbi1sZWZ0OiU/MzQ/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/MzQ/JSFpbXBvcnRhbnR9Lm1sLTM0W2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLWxlZnQ6JT8zND8lIWltcG9ydGFudH0ubXItMzRbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tcmlnaHQ6JT8zND8lIWltcG9ydGFudH0ubXktMzRbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tdG9wOiU/MzQ/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzM0PyUhaW1wb3J0YW50fS5tdC0zNFtkYXRhLXYtN2YzNTJjMzJde21hcmdpbi10b3A6JT8zND8lIWltcG9ydGFudH0ubWItMzRbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tYm90dG9tOiU/MzQ/JSFpbXBvcnRhbnR9LnAtMzRbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nOiU/MzQ/JSFpbXBvcnRhbnR9LnB4LTM0W2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy1sZWZ0OiU/MzQ/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzM0PyUhaW1wb3J0YW50fS5wbC0zNFtkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctbGVmdDolPzM0PyUhaW1wb3J0YW50fS5wci0zNFtkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctcmlnaHQ6JT8zND8lIWltcG9ydGFudH0ucHktMzRbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLXRvcDolPzM0PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/MzQ/JSFpbXBvcnRhbnR9LnB0LTM0W2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy10b3A6JT8zND8lIWltcG9ydGFudH0ucGItMzRbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLWJvdHRvbTolPzM0PyUhaW1wb3J0YW50fS5ncmlkLWdhcC0zNFtkYXRhLXYtN2YzNTJjMzJde2dyaWQtZ2FwOiU/MzQ/JSFpbXBvcnRhbnR9LnotaW5kZXgtMzRbZGF0YS12LTdmMzUyYzMyXXt6LWluZGV4OjM0IWltcG9ydGFudH0uZm9udC1zaXplLTM0W2RhdGEtdi03ZjM1MmMzMl17Zm9udC1zaXplOiU/MzQ/JSFpbXBvcnRhbnR9Lm0tMzZbZGF0YS12LTdmMzUyYzMyXXttYXJnaW46JT8zNj8lIWltcG9ydGFudH0ubXgtMzZbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tbGVmdDolPzM2PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzM2PyUhaW1wb3J0YW50fS5tbC0zNltkYXRhLXYtN2YzNTJjMzJde21hcmdpbi1sZWZ0OiU/MzY/JSFpbXBvcnRhbnR9Lm1yLTM2W2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLXJpZ2h0OiU/MzY/JSFpbXBvcnRhbnR9Lm15LTM2W2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLXRvcDolPzM2PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT8zNj8lIWltcG9ydGFudH0ubXQtMzZbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tdG9wOiU/MzY/JSFpbXBvcnRhbnR9Lm1iLTM2W2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLWJvdHRvbTolPzM2PyUhaW1wb3J0YW50fS5wLTM2W2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZzolPzM2PyUhaW1wb3J0YW50fS5weC0zNltkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctbGVmdDolPzM2PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT8zNj8lIWltcG9ydGFudH0ucGwtMzZbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLWxlZnQ6JT8zNj8lIWltcG9ydGFudH0ucHItMzZbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLXJpZ2h0OiU/MzY/JSFpbXBvcnRhbnR9LnB5LTM2W2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy10b3A6JT8zNj8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzM2PyUhaW1wb3J0YW50fS5wdC0zNltkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctdG9wOiU/MzY/JSFpbXBvcnRhbnR9LnBiLTM2W2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy1ib3R0b206JT8zNj8lIWltcG9ydGFudH0uZ3JpZC1nYXAtMzZbZGF0YS12LTdmMzUyYzMyXXtncmlkLWdhcDolPzM2PyUhaW1wb3J0YW50fS56LWluZGV4LTM2W2RhdGEtdi03ZjM1MmMzMl17ei1pbmRleDozNiFpbXBvcnRhbnR9LmZvbnQtc2l6ZS0zNltkYXRhLXYtN2YzNTJjMzJde2ZvbnQtc2l6ZTolPzM2PyUhaW1wb3J0YW50fS5tLTM4W2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luOiU/Mzg/JSFpbXBvcnRhbnR9Lm14LTM4W2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLWxlZnQ6JT8zOD8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT8zOD8lIWltcG9ydGFudH0ubWwtMzhbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tbGVmdDolPzM4PyUhaW1wb3J0YW50fS5tci0zOFtkYXRhLXYtN2YzNTJjMzJde21hcmdpbi1yaWdodDolPzM4PyUhaW1wb3J0YW50fS5teS0zOFtkYXRhLXYtN2YzNTJjMzJde21hcmdpbi10b3A6JT8zOD8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/Mzg/JSFpbXBvcnRhbnR9Lm10LTM4W2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLXRvcDolPzM4PyUhaW1wb3J0YW50fS5tYi0zOFtkYXRhLXYtN2YzNTJjMzJde21hcmdpbi1ib3R0b206JT8zOD8lIWltcG9ydGFudH0ucC0zOFtkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmc6JT8zOD8lIWltcG9ydGFudH0ucHgtMzhbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLWxlZnQ6JT8zOD8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/Mzg/JSFpbXBvcnRhbnR9LnBsLTM4W2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy1sZWZ0OiU/Mzg/JSFpbXBvcnRhbnR9LnByLTM4W2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy1yaWdodDolPzM4PyUhaW1wb3J0YW50fS5weS0zOFtkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctdG9wOiU/Mzg/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT8zOD8lIWltcG9ydGFudH0ucHQtMzhbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLXRvcDolPzM4PyUhaW1wb3J0YW50fS5wYi0zOFtkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctYm90dG9tOiU/Mzg/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTM4W2RhdGEtdi03ZjM1MmMzMl17Z3JpZC1nYXA6JT8zOD8lIWltcG9ydGFudH0uei1pbmRleC0zOFtkYXRhLXYtN2YzNTJjMzJde3otaW5kZXg6MzghaW1wb3J0YW50fS5mb250LXNpemUtMzhbZGF0YS12LTdmMzUyYzMyXXtmb250LXNpemU6JT8zOD8lIWltcG9ydGFudH0ubS00MFtkYXRhLXYtN2YzNTJjMzJde21hcmdpbjolPzQwPyUhaW1wb3J0YW50fS5teC00MFtkYXRhLXYtN2YzNTJjMzJde21hcmdpbi1sZWZ0OiU/NDA/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/NDA/JSFpbXBvcnRhbnR9Lm1sLTQwW2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLWxlZnQ6JT80MD8lIWltcG9ydGFudH0ubXItNDBbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tcmlnaHQ6JT80MD8lIWltcG9ydGFudH0ubXktNDBbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tdG9wOiU/NDA/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzQwPyUhaW1wb3J0YW50fS5tdC00MFtkYXRhLXYtN2YzNTJjMzJde21hcmdpbi10b3A6JT80MD8lIWltcG9ydGFudH0ubWItNDBbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tYm90dG9tOiU/NDA/JSFpbXBvcnRhbnR9LnAtNDBbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nOiU/NDA/JSFpbXBvcnRhbnR9LnB4LTQwW2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy1sZWZ0OiU/NDA/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzQwPyUhaW1wb3J0YW50fS5wbC00MFtkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctbGVmdDolPzQwPyUhaW1wb3J0YW50fS5wci00MFtkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctcmlnaHQ6JT80MD8lIWltcG9ydGFudH0ucHktNDBbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLXRvcDolPzQwPyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NDA/JSFpbXBvcnRhbnR9LnB0LTQwW2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy10b3A6JT80MD8lIWltcG9ydGFudH0ucGItNDBbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLWJvdHRvbTolPzQwPyUhaW1wb3J0YW50fS5ncmlkLWdhcC00MFtkYXRhLXYtN2YzNTJjMzJde2dyaWQtZ2FwOiU/NDA/JSFpbXBvcnRhbnR9LnotaW5kZXgtNDBbZGF0YS12LTdmMzUyYzMyXXt6LWluZGV4OjQwIWltcG9ydGFudH0uZm9udC1zaXplLTQwW2RhdGEtdi03ZjM1MmMzMl17Zm9udC1zaXplOiU/NDA/JSFpbXBvcnRhbnR9Lm0tNDJbZGF0YS12LTdmMzUyYzMyXXttYXJnaW46JT80Mj8lIWltcG9ydGFudH0ubXgtNDJbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tbGVmdDolPzQyPyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzQyPyUhaW1wb3J0YW50fS5tbC00MltkYXRhLXYtN2YzNTJjMzJde21hcmdpbi1sZWZ0OiU/NDI/JSFpbXBvcnRhbnR9Lm1yLTQyW2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLXJpZ2h0OiU/NDI/JSFpbXBvcnRhbnR9Lm15LTQyW2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLXRvcDolPzQyPyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT80Mj8lIWltcG9ydGFudH0ubXQtNDJbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tdG9wOiU/NDI/JSFpbXBvcnRhbnR9Lm1iLTQyW2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLWJvdHRvbTolPzQyPyUhaW1wb3J0YW50fS5wLTQyW2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZzolPzQyPyUhaW1wb3J0YW50fS5weC00MltkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctbGVmdDolPzQyPyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT80Mj8lIWltcG9ydGFudH0ucGwtNDJbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLWxlZnQ6JT80Mj8lIWltcG9ydGFudH0ucHItNDJbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLXJpZ2h0OiU/NDI/JSFpbXBvcnRhbnR9LnB5LTQyW2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy10b3A6JT80Mj8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzQyPyUhaW1wb3J0YW50fS5wdC00MltkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctdG9wOiU/NDI/JSFpbXBvcnRhbnR9LnBiLTQyW2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy1ib3R0b206JT80Mj8lIWltcG9ydGFudH0uZ3JpZC1nYXAtNDJbZGF0YS12LTdmMzUyYzMyXXtncmlkLWdhcDolPzQyPyUhaW1wb3J0YW50fS56LWluZGV4LTQyW2RhdGEtdi03ZjM1MmMzMl17ei1pbmRleDo0MiFpbXBvcnRhbnR9LmZvbnQtc2l6ZS00MltkYXRhLXYtN2YzNTJjMzJde2ZvbnQtc2l6ZTolPzQyPyUhaW1wb3J0YW50fS5tLTQ0W2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luOiU/NDQ/JSFpbXBvcnRhbnR9Lm14LTQ0W2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLWxlZnQ6JT80ND8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT80ND8lIWltcG9ydGFudH0ubWwtNDRbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tbGVmdDolPzQ0PyUhaW1wb3J0YW50fS5tci00NFtkYXRhLXYtN2YzNTJjMzJde21hcmdpbi1yaWdodDolPzQ0PyUhaW1wb3J0YW50fS5teS00NFtkYXRhLXYtN2YzNTJjMzJde21hcmdpbi10b3A6JT80ND8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/NDQ/JSFpbXBvcnRhbnR9Lm10LTQ0W2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLXRvcDolPzQ0PyUhaW1wb3J0YW50fS5tYi00NFtkYXRhLXYtN2YzNTJjMzJde21hcmdpbi1ib3R0b206JT80ND8lIWltcG9ydGFudH0ucC00NFtkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmc6JT80ND8lIWltcG9ydGFudH0ucHgtNDRbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLWxlZnQ6JT80ND8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/NDQ/JSFpbXBvcnRhbnR9LnBsLTQ0W2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy1sZWZ0OiU/NDQ/JSFpbXBvcnRhbnR9LnByLTQ0W2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy1yaWdodDolPzQ0PyUhaW1wb3J0YW50fS5weS00NFtkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctdG9wOiU/NDQ/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT80ND8lIWltcG9ydGFudH0ucHQtNDRbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLXRvcDolPzQ0PyUhaW1wb3J0YW50fS5wYi00NFtkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctYm90dG9tOiU/NDQ/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTQ0W2RhdGEtdi03ZjM1MmMzMl17Z3JpZC1nYXA6JT80ND8lIWltcG9ydGFudH0uei1pbmRleC00NFtkYXRhLXYtN2YzNTJjMzJde3otaW5kZXg6NDQhaW1wb3J0YW50fS5mb250LXNpemUtNDRbZGF0YS12LTdmMzUyYzMyXXtmb250LXNpemU6JT80ND8lIWltcG9ydGFudH0ubS00NltkYXRhLXYtN2YzNTJjMzJde21hcmdpbjolPzQ2PyUhaW1wb3J0YW50fS5teC00NltkYXRhLXYtN2YzNTJjMzJde21hcmdpbi1sZWZ0OiU/NDY/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/NDY/JSFpbXBvcnRhbnR9Lm1sLTQ2W2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLWxlZnQ6JT80Nj8lIWltcG9ydGFudH0ubXItNDZbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tcmlnaHQ6JT80Nj8lIWltcG9ydGFudH0ubXktNDZbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tdG9wOiU/NDY/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzQ2PyUhaW1wb3J0YW50fS5tdC00NltkYXRhLXYtN2YzNTJjMzJde21hcmdpbi10b3A6JT80Nj8lIWltcG9ydGFudH0ubWItNDZbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tYm90dG9tOiU/NDY/JSFpbXBvcnRhbnR9LnAtNDZbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nOiU/NDY/JSFpbXBvcnRhbnR9LnB4LTQ2W2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy1sZWZ0OiU/NDY/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzQ2PyUhaW1wb3J0YW50fS5wbC00NltkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctbGVmdDolPzQ2PyUhaW1wb3J0YW50fS5wci00NltkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctcmlnaHQ6JT80Nj8lIWltcG9ydGFudH0ucHktNDZbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLXRvcDolPzQ2PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NDY/JSFpbXBvcnRhbnR9LnB0LTQ2W2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy10b3A6JT80Nj8lIWltcG9ydGFudH0ucGItNDZbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLWJvdHRvbTolPzQ2PyUhaW1wb3J0YW50fS5ncmlkLWdhcC00NltkYXRhLXYtN2YzNTJjMzJde2dyaWQtZ2FwOiU/NDY/JSFpbXBvcnRhbnR9LnotaW5kZXgtNDZbZGF0YS12LTdmMzUyYzMyXXt6LWluZGV4OjQ2IWltcG9ydGFudH0uZm9udC1zaXplLTQ2W2RhdGEtdi03ZjM1MmMzMl17Zm9udC1zaXplOiU/NDY/JSFpbXBvcnRhbnR9Lm0tNDhbZGF0YS12LTdmMzUyYzMyXXttYXJnaW46JT80OD8lIWltcG9ydGFudH0ubXgtNDhbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tbGVmdDolPzQ4PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzQ4PyUhaW1wb3J0YW50fS5tbC00OFtkYXRhLXYtN2YzNTJjMzJde21hcmdpbi1sZWZ0OiU/NDg/JSFpbXBvcnRhbnR9Lm1yLTQ4W2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLXJpZ2h0OiU/NDg/JSFpbXBvcnRhbnR9Lm15LTQ4W2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLXRvcDolPzQ4PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT80OD8lIWltcG9ydGFudH0ubXQtNDhbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tdG9wOiU/NDg/JSFpbXBvcnRhbnR9Lm1iLTQ4W2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLWJvdHRvbTolPzQ4PyUhaW1wb3J0YW50fS5wLTQ4W2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZzolPzQ4PyUhaW1wb3J0YW50fS5weC00OFtkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctbGVmdDolPzQ4PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT80OD8lIWltcG9ydGFudH0ucGwtNDhbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLWxlZnQ6JT80OD8lIWltcG9ydGFudH0ucHItNDhbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLXJpZ2h0OiU/NDg/JSFpbXBvcnRhbnR9LnB5LTQ4W2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy10b3A6JT80OD8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzQ4PyUhaW1wb3J0YW50fS5wdC00OFtkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctdG9wOiU/NDg/JSFpbXBvcnRhbnR9LnBiLTQ4W2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy1ib3R0b206JT80OD8lIWltcG9ydGFudH0uZ3JpZC1nYXAtNDhbZGF0YS12LTdmMzUyYzMyXXtncmlkLWdhcDolPzQ4PyUhaW1wb3J0YW50fS56LWluZGV4LTQ4W2RhdGEtdi03ZjM1MmMzMl17ei1pbmRleDo0OCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS00OFtkYXRhLXYtN2YzNTJjMzJde2ZvbnQtc2l6ZTolPzQ4PyUhaW1wb3J0YW50fS5tLTUwW2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luOiU/NTA/JSFpbXBvcnRhbnR9Lm14LTUwW2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLWxlZnQ6JT81MD8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT81MD8lIWltcG9ydGFudH0ubWwtNTBbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tbGVmdDolPzUwPyUhaW1wb3J0YW50fS5tci01MFtkYXRhLXYtN2YzNTJjMzJde21hcmdpbi1yaWdodDolPzUwPyUhaW1wb3J0YW50fS5teS01MFtkYXRhLXYtN2YzNTJjMzJde21hcmdpbi10b3A6JT81MD8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/NTA/JSFpbXBvcnRhbnR9Lm10LTUwW2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLXRvcDolPzUwPyUhaW1wb3J0YW50fS5tYi01MFtkYXRhLXYtN2YzNTJjMzJde21hcmdpbi1ib3R0b206JT81MD8lIWltcG9ydGFudH0ucC01MFtkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmc6JT81MD8lIWltcG9ydGFudH0ucHgtNTBbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLWxlZnQ6JT81MD8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/NTA/JSFpbXBvcnRhbnR9LnBsLTUwW2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy1sZWZ0OiU/NTA/JSFpbXBvcnRhbnR9LnByLTUwW2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy1yaWdodDolPzUwPyUhaW1wb3J0YW50fS5weS01MFtkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctdG9wOiU/NTA/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT81MD8lIWltcG9ydGFudH0ucHQtNTBbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLXRvcDolPzUwPyUhaW1wb3J0YW50fS5wYi01MFtkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctYm90dG9tOiU/NTA/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTUwW2RhdGEtdi03ZjM1MmMzMl17Z3JpZC1nYXA6JT81MD8lIWltcG9ydGFudH0uei1pbmRleC01MFtkYXRhLXYtN2YzNTJjMzJde3otaW5kZXg6NTAhaW1wb3J0YW50fS5mb250LXNpemUtNTBbZGF0YS12LTdmMzUyYzMyXXtmb250LXNpemU6JT81MD8lIWltcG9ydGFudH0ubS01MltkYXRhLXYtN2YzNTJjMzJde21hcmdpbjolPzUyPyUhaW1wb3J0YW50fS5teC01MltkYXRhLXYtN2YzNTJjMzJde21hcmdpbi1sZWZ0OiU/NTI/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/NTI/JSFpbXBvcnRhbnR9Lm1sLTUyW2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLWxlZnQ6JT81Mj8lIWltcG9ydGFudH0ubXItNTJbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tcmlnaHQ6JT81Mj8lIWltcG9ydGFudH0ubXktNTJbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tdG9wOiU/NTI/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzUyPyUhaW1wb3J0YW50fS5tdC01MltkYXRhLXYtN2YzNTJjMzJde21hcmdpbi10b3A6JT81Mj8lIWltcG9ydGFudH0ubWItNTJbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tYm90dG9tOiU/NTI/JSFpbXBvcnRhbnR9LnAtNTJbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nOiU/NTI/JSFpbXBvcnRhbnR9LnB4LTUyW2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy1sZWZ0OiU/NTI/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzUyPyUhaW1wb3J0YW50fS5wbC01MltkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctbGVmdDolPzUyPyUhaW1wb3J0YW50fS5wci01MltkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctcmlnaHQ6JT81Mj8lIWltcG9ydGFudH0ucHktNTJbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLXRvcDolPzUyPyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NTI/JSFpbXBvcnRhbnR9LnB0LTUyW2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy10b3A6JT81Mj8lIWltcG9ydGFudH0ucGItNTJbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLWJvdHRvbTolPzUyPyUhaW1wb3J0YW50fS5ncmlkLWdhcC01MltkYXRhLXYtN2YzNTJjMzJde2dyaWQtZ2FwOiU/NTI/JSFpbXBvcnRhbnR9LnotaW5kZXgtNTJbZGF0YS12LTdmMzUyYzMyXXt6LWluZGV4OjUyIWltcG9ydGFudH0uZm9udC1zaXplLTUyW2RhdGEtdi03ZjM1MmMzMl17Zm9udC1zaXplOiU/NTI/JSFpbXBvcnRhbnR9Lm0tNTRbZGF0YS12LTdmMzUyYzMyXXttYXJnaW46JT81ND8lIWltcG9ydGFudH0ubXgtNTRbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tbGVmdDolPzU0PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzU0PyUhaW1wb3J0YW50fS5tbC01NFtkYXRhLXYtN2YzNTJjMzJde21hcmdpbi1sZWZ0OiU/NTQ/JSFpbXBvcnRhbnR9Lm1yLTU0W2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLXJpZ2h0OiU/NTQ/JSFpbXBvcnRhbnR9Lm15LTU0W2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLXRvcDolPzU0PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT81ND8lIWltcG9ydGFudH0ubXQtNTRbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tdG9wOiU/NTQ/JSFpbXBvcnRhbnR9Lm1iLTU0W2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLWJvdHRvbTolPzU0PyUhaW1wb3J0YW50fS5wLTU0W2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZzolPzU0PyUhaW1wb3J0YW50fS5weC01NFtkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctbGVmdDolPzU0PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT81ND8lIWltcG9ydGFudH0ucGwtNTRbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLWxlZnQ6JT81ND8lIWltcG9ydGFudH0ucHItNTRbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLXJpZ2h0OiU/NTQ/JSFpbXBvcnRhbnR9LnB5LTU0W2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy10b3A6JT81ND8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzU0PyUhaW1wb3J0YW50fS5wdC01NFtkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctdG9wOiU/NTQ/JSFpbXBvcnRhbnR9LnBiLTU0W2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy1ib3R0b206JT81ND8lIWltcG9ydGFudH0uZ3JpZC1nYXAtNTRbZGF0YS12LTdmMzUyYzMyXXtncmlkLWdhcDolPzU0PyUhaW1wb3J0YW50fS56LWluZGV4LTU0W2RhdGEtdi03ZjM1MmMzMl17ei1pbmRleDo1NCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS01NFtkYXRhLXYtN2YzNTJjMzJde2ZvbnQtc2l6ZTolPzU0PyUhaW1wb3J0YW50fS5tLTU2W2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luOiU/NTY/JSFpbXBvcnRhbnR9Lm14LTU2W2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLWxlZnQ6JT81Nj8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT81Nj8lIWltcG9ydGFudH0ubWwtNTZbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tbGVmdDolPzU2PyUhaW1wb3J0YW50fS5tci01NltkYXRhLXYtN2YzNTJjMzJde21hcmdpbi1yaWdodDolPzU2PyUhaW1wb3J0YW50fS5teS01NltkYXRhLXYtN2YzNTJjMzJde21hcmdpbi10b3A6JT81Nj8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/NTY/JSFpbXBvcnRhbnR9Lm10LTU2W2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLXRvcDolPzU2PyUhaW1wb3J0YW50fS5tYi01NltkYXRhLXYtN2YzNTJjMzJde21hcmdpbi1ib3R0b206JT81Nj8lIWltcG9ydGFudH0ucC01NltkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmc6JT81Nj8lIWltcG9ydGFudH0ucHgtNTZbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLWxlZnQ6JT81Nj8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/NTY/JSFpbXBvcnRhbnR9LnBsLTU2W2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy1sZWZ0OiU/NTY/JSFpbXBvcnRhbnR9LnByLTU2W2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy1yaWdodDolPzU2PyUhaW1wb3J0YW50fS5weS01NltkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctdG9wOiU/NTY/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT81Nj8lIWltcG9ydGFudH0ucHQtNTZbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLXRvcDolPzU2PyUhaW1wb3J0YW50fS5wYi01NltkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctYm90dG9tOiU/NTY/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTU2W2RhdGEtdi03ZjM1MmMzMl17Z3JpZC1nYXA6JT81Nj8lIWltcG9ydGFudH0uei1pbmRleC01NltkYXRhLXYtN2YzNTJjMzJde3otaW5kZXg6NTYhaW1wb3J0YW50fS5mb250LXNpemUtNTZbZGF0YS12LTdmMzUyYzMyXXtmb250LXNpemU6JT81Nj8lIWltcG9ydGFudH0ubS01OFtkYXRhLXYtN2YzNTJjMzJde21hcmdpbjolPzU4PyUhaW1wb3J0YW50fS5teC01OFtkYXRhLXYtN2YzNTJjMzJde21hcmdpbi1sZWZ0OiU/NTg/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/NTg/JSFpbXBvcnRhbnR9Lm1sLTU4W2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLWxlZnQ6JT81OD8lIWltcG9ydGFudH0ubXItNThbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tcmlnaHQ6JT81OD8lIWltcG9ydGFudH0ubXktNThbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tdG9wOiU/NTg/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzU4PyUhaW1wb3J0YW50fS5tdC01OFtkYXRhLXYtN2YzNTJjMzJde21hcmdpbi10b3A6JT81OD8lIWltcG9ydGFudH0ubWItNThbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tYm90dG9tOiU/NTg/JSFpbXBvcnRhbnR9LnAtNThbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nOiU/NTg/JSFpbXBvcnRhbnR9LnB4LTU4W2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy1sZWZ0OiU/NTg/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzU4PyUhaW1wb3J0YW50fS5wbC01OFtkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctbGVmdDolPzU4PyUhaW1wb3J0YW50fS5wci01OFtkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctcmlnaHQ6JT81OD8lIWltcG9ydGFudH0ucHktNThbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLXRvcDolPzU4PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NTg/JSFpbXBvcnRhbnR9LnB0LTU4W2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy10b3A6JT81OD8lIWltcG9ydGFudH0ucGItNThbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLWJvdHRvbTolPzU4PyUhaW1wb3J0YW50fS5ncmlkLWdhcC01OFtkYXRhLXYtN2YzNTJjMzJde2dyaWQtZ2FwOiU/NTg/JSFpbXBvcnRhbnR9LnotaW5kZXgtNThbZGF0YS12LTdmMzUyYzMyXXt6LWluZGV4OjU4IWltcG9ydGFudH0uZm9udC1zaXplLTU4W2RhdGEtdi03ZjM1MmMzMl17Zm9udC1zaXplOiU/NTg/JSFpbXBvcnRhbnR9Lm0tNjBbZGF0YS12LTdmMzUyYzMyXXttYXJnaW46JT82MD8lIWltcG9ydGFudH0ubXgtNjBbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tbGVmdDolPzYwPyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzYwPyUhaW1wb3J0YW50fS5tbC02MFtkYXRhLXYtN2YzNTJjMzJde21hcmdpbi1sZWZ0OiU/NjA/JSFpbXBvcnRhbnR9Lm1yLTYwW2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLXJpZ2h0OiU/NjA/JSFpbXBvcnRhbnR9Lm15LTYwW2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLXRvcDolPzYwPyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT82MD8lIWltcG9ydGFudH0ubXQtNjBbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tdG9wOiU/NjA/JSFpbXBvcnRhbnR9Lm1iLTYwW2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLWJvdHRvbTolPzYwPyUhaW1wb3J0YW50fS5wLTYwW2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZzolPzYwPyUhaW1wb3J0YW50fS5weC02MFtkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctbGVmdDolPzYwPyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT82MD8lIWltcG9ydGFudH0ucGwtNjBbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLWxlZnQ6JT82MD8lIWltcG9ydGFudH0ucHItNjBbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLXJpZ2h0OiU/NjA/JSFpbXBvcnRhbnR9LnB5LTYwW2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy10b3A6JT82MD8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzYwPyUhaW1wb3J0YW50fS5wdC02MFtkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctdG9wOiU/NjA/JSFpbXBvcnRhbnR9LnBiLTYwW2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy1ib3R0b206JT82MD8lIWltcG9ydGFudH0uZ3JpZC1nYXAtNjBbZGF0YS12LTdmMzUyYzMyXXtncmlkLWdhcDolPzYwPyUhaW1wb3J0YW50fS56LWluZGV4LTYwW2RhdGEtdi03ZjM1MmMzMl17ei1pbmRleDo2MCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS02MFtkYXRhLXYtN2YzNTJjMzJde2ZvbnQtc2l6ZTolPzYwPyUhaW1wb3J0YW50fS5tLTYyW2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luOiU/NjI/JSFpbXBvcnRhbnR9Lm14LTYyW2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLWxlZnQ6JT82Mj8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT82Mj8lIWltcG9ydGFudH0ubWwtNjJbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tbGVmdDolPzYyPyUhaW1wb3J0YW50fS5tci02MltkYXRhLXYtN2YzNTJjMzJde21hcmdpbi1yaWdodDolPzYyPyUhaW1wb3J0YW50fS5teS02MltkYXRhLXYtN2YzNTJjMzJde21hcmdpbi10b3A6JT82Mj8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/NjI/JSFpbXBvcnRhbnR9Lm10LTYyW2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLXRvcDolPzYyPyUhaW1wb3J0YW50fS5tYi02MltkYXRhLXYtN2YzNTJjMzJde21hcmdpbi1ib3R0b206JT82Mj8lIWltcG9ydGFudH0ucC02MltkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmc6JT82Mj8lIWltcG9ydGFudH0ucHgtNjJbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLWxlZnQ6JT82Mj8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/NjI/JSFpbXBvcnRhbnR9LnBsLTYyW2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy1sZWZ0OiU/NjI/JSFpbXBvcnRhbnR9LnByLTYyW2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy1yaWdodDolPzYyPyUhaW1wb3J0YW50fS5weS02MltkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctdG9wOiU/NjI/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT82Mj8lIWltcG9ydGFudH0ucHQtNjJbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLXRvcDolPzYyPyUhaW1wb3J0YW50fS5wYi02MltkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctYm90dG9tOiU/NjI/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTYyW2RhdGEtdi03ZjM1MmMzMl17Z3JpZC1nYXA6JT82Mj8lIWltcG9ydGFudH0uei1pbmRleC02MltkYXRhLXYtN2YzNTJjMzJde3otaW5kZXg6NjIhaW1wb3J0YW50fS5mb250LXNpemUtNjJbZGF0YS12LTdmMzUyYzMyXXtmb250LXNpemU6JT82Mj8lIWltcG9ydGFudH0ubS02NFtkYXRhLXYtN2YzNTJjMzJde21hcmdpbjolPzY0PyUhaW1wb3J0YW50fS5teC02NFtkYXRhLXYtN2YzNTJjMzJde21hcmdpbi1sZWZ0OiU/NjQ/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/NjQ/JSFpbXBvcnRhbnR9Lm1sLTY0W2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLWxlZnQ6JT82ND8lIWltcG9ydGFudH0ubXItNjRbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tcmlnaHQ6JT82ND8lIWltcG9ydGFudH0ubXktNjRbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tdG9wOiU/NjQ/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzY0PyUhaW1wb3J0YW50fS5tdC02NFtkYXRhLXYtN2YzNTJjMzJde21hcmdpbi10b3A6JT82ND8lIWltcG9ydGFudH0ubWItNjRbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tYm90dG9tOiU/NjQ/JSFpbXBvcnRhbnR9LnAtNjRbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nOiU/NjQ/JSFpbXBvcnRhbnR9LnB4LTY0W2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy1sZWZ0OiU/NjQ/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzY0PyUhaW1wb3J0YW50fS5wbC02NFtkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctbGVmdDolPzY0PyUhaW1wb3J0YW50fS5wci02NFtkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctcmlnaHQ6JT82ND8lIWltcG9ydGFudH0ucHktNjRbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLXRvcDolPzY0PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NjQ/JSFpbXBvcnRhbnR9LnB0LTY0W2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy10b3A6JT82ND8lIWltcG9ydGFudH0ucGItNjRbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLWJvdHRvbTolPzY0PyUhaW1wb3J0YW50fS5ncmlkLWdhcC02NFtkYXRhLXYtN2YzNTJjMzJde2dyaWQtZ2FwOiU/NjQ/JSFpbXBvcnRhbnR9LnotaW5kZXgtNjRbZGF0YS12LTdmMzUyYzMyXXt6LWluZGV4OjY0IWltcG9ydGFudH0uZm9udC1zaXplLTY0W2RhdGEtdi03ZjM1MmMzMl17Zm9udC1zaXplOiU/NjQ/JSFpbXBvcnRhbnR9Lm0tNjZbZGF0YS12LTdmMzUyYzMyXXttYXJnaW46JT82Nj8lIWltcG9ydGFudH0ubXgtNjZbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tbGVmdDolPzY2PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzY2PyUhaW1wb3J0YW50fS5tbC02NltkYXRhLXYtN2YzNTJjMzJde21hcmdpbi1sZWZ0OiU/NjY/JSFpbXBvcnRhbnR9Lm1yLTY2W2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLXJpZ2h0OiU/NjY/JSFpbXBvcnRhbnR9Lm15LTY2W2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLXRvcDolPzY2PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT82Nj8lIWltcG9ydGFudH0ubXQtNjZbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tdG9wOiU/NjY/JSFpbXBvcnRhbnR9Lm1iLTY2W2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLWJvdHRvbTolPzY2PyUhaW1wb3J0YW50fS5wLTY2W2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZzolPzY2PyUhaW1wb3J0YW50fS5weC02NltkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctbGVmdDolPzY2PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT82Nj8lIWltcG9ydGFudH0ucGwtNjZbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLWxlZnQ6JT82Nj8lIWltcG9ydGFudH0ucHItNjZbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLXJpZ2h0OiU/NjY/JSFpbXBvcnRhbnR9LnB5LTY2W2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy10b3A6JT82Nj8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzY2PyUhaW1wb3J0YW50fS5wdC02NltkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctdG9wOiU/NjY/JSFpbXBvcnRhbnR9LnBiLTY2W2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy1ib3R0b206JT82Nj8lIWltcG9ydGFudH0uZ3JpZC1nYXAtNjZbZGF0YS12LTdmMzUyYzMyXXtncmlkLWdhcDolPzY2PyUhaW1wb3J0YW50fS56LWluZGV4LTY2W2RhdGEtdi03ZjM1MmMzMl17ei1pbmRleDo2NiFpbXBvcnRhbnR9LmZvbnQtc2l6ZS02NltkYXRhLXYtN2YzNTJjMzJde2ZvbnQtc2l6ZTolPzY2PyUhaW1wb3J0YW50fS5tLTY4W2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luOiU/Njg/JSFpbXBvcnRhbnR9Lm14LTY4W2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLWxlZnQ6JT82OD8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT82OD8lIWltcG9ydGFudH0ubWwtNjhbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tbGVmdDolPzY4PyUhaW1wb3J0YW50fS5tci02OFtkYXRhLXYtN2YzNTJjMzJde21hcmdpbi1yaWdodDolPzY4PyUhaW1wb3J0YW50fS5teS02OFtkYXRhLXYtN2YzNTJjMzJde21hcmdpbi10b3A6JT82OD8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/Njg/JSFpbXBvcnRhbnR9Lm10LTY4W2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLXRvcDolPzY4PyUhaW1wb3J0YW50fS5tYi02OFtkYXRhLXYtN2YzNTJjMzJde21hcmdpbi1ib3R0b206JT82OD8lIWltcG9ydGFudH0ucC02OFtkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmc6JT82OD8lIWltcG9ydGFudH0ucHgtNjhbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLWxlZnQ6JT82OD8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/Njg/JSFpbXBvcnRhbnR9LnBsLTY4W2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy1sZWZ0OiU/Njg/JSFpbXBvcnRhbnR9LnByLTY4W2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy1yaWdodDolPzY4PyUhaW1wb3J0YW50fS5weS02OFtkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctdG9wOiU/Njg/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT82OD8lIWltcG9ydGFudH0ucHQtNjhbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLXRvcDolPzY4PyUhaW1wb3J0YW50fS5wYi02OFtkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctYm90dG9tOiU/Njg/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTY4W2RhdGEtdi03ZjM1MmMzMl17Z3JpZC1nYXA6JT82OD8lIWltcG9ydGFudH0uei1pbmRleC02OFtkYXRhLXYtN2YzNTJjMzJde3otaW5kZXg6NjghaW1wb3J0YW50fS5mb250LXNpemUtNjhbZGF0YS12LTdmMzUyYzMyXXtmb250LXNpemU6JT82OD8lIWltcG9ydGFudH0ubS03MFtkYXRhLXYtN2YzNTJjMzJde21hcmdpbjolPzcwPyUhaW1wb3J0YW50fS5teC03MFtkYXRhLXYtN2YzNTJjMzJde21hcmdpbi1sZWZ0OiU/NzA/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/NzA/JSFpbXBvcnRhbnR9Lm1sLTcwW2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLWxlZnQ6JT83MD8lIWltcG9ydGFudH0ubXItNzBbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tcmlnaHQ6JT83MD8lIWltcG9ydGFudH0ubXktNzBbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tdG9wOiU/NzA/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzcwPyUhaW1wb3J0YW50fS5tdC03MFtkYXRhLXYtN2YzNTJjMzJde21hcmdpbi10b3A6JT83MD8lIWltcG9ydGFudH0ubWItNzBbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tYm90dG9tOiU/NzA/JSFpbXBvcnRhbnR9LnAtNzBbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nOiU/NzA/JSFpbXBvcnRhbnR9LnB4LTcwW2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy1sZWZ0OiU/NzA/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzcwPyUhaW1wb3J0YW50fS5wbC03MFtkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctbGVmdDolPzcwPyUhaW1wb3J0YW50fS5wci03MFtkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctcmlnaHQ6JT83MD8lIWltcG9ydGFudH0ucHktNzBbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLXRvcDolPzcwPyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NzA/JSFpbXBvcnRhbnR9LnB0LTcwW2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy10b3A6JT83MD8lIWltcG9ydGFudH0ucGItNzBbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLWJvdHRvbTolPzcwPyUhaW1wb3J0YW50fS5ncmlkLWdhcC03MFtkYXRhLXYtN2YzNTJjMzJde2dyaWQtZ2FwOiU/NzA/JSFpbXBvcnRhbnR9LnotaW5kZXgtNzBbZGF0YS12LTdmMzUyYzMyXXt6LWluZGV4OjcwIWltcG9ydGFudH0uZm9udC1zaXplLTcwW2RhdGEtdi03ZjM1MmMzMl17Zm9udC1zaXplOiU/NzA/JSFpbXBvcnRhbnR9Lm0tNzJbZGF0YS12LTdmMzUyYzMyXXttYXJnaW46JT83Mj8lIWltcG9ydGFudH0ubXgtNzJbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tbGVmdDolPzcyPyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzcyPyUhaW1wb3J0YW50fS5tbC03MltkYXRhLXYtN2YzNTJjMzJde21hcmdpbi1sZWZ0OiU/NzI/JSFpbXBvcnRhbnR9Lm1yLTcyW2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLXJpZ2h0OiU/NzI/JSFpbXBvcnRhbnR9Lm15LTcyW2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLXRvcDolPzcyPyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT83Mj8lIWltcG9ydGFudH0ubXQtNzJbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tdG9wOiU/NzI/JSFpbXBvcnRhbnR9Lm1iLTcyW2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLWJvdHRvbTolPzcyPyUhaW1wb3J0YW50fS5wLTcyW2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZzolPzcyPyUhaW1wb3J0YW50fS5weC03MltkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctbGVmdDolPzcyPyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT83Mj8lIWltcG9ydGFudH0ucGwtNzJbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLWxlZnQ6JT83Mj8lIWltcG9ydGFudH0ucHItNzJbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLXJpZ2h0OiU/NzI/JSFpbXBvcnRhbnR9LnB5LTcyW2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy10b3A6JT83Mj8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzcyPyUhaW1wb3J0YW50fS5wdC03MltkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctdG9wOiU/NzI/JSFpbXBvcnRhbnR9LnBiLTcyW2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy1ib3R0b206JT83Mj8lIWltcG9ydGFudH0uZ3JpZC1nYXAtNzJbZGF0YS12LTdmMzUyYzMyXXtncmlkLWdhcDolPzcyPyUhaW1wb3J0YW50fS56LWluZGV4LTcyW2RhdGEtdi03ZjM1MmMzMl17ei1pbmRleDo3MiFpbXBvcnRhbnR9LmZvbnQtc2l6ZS03MltkYXRhLXYtN2YzNTJjMzJde2ZvbnQtc2l6ZTolPzcyPyUhaW1wb3J0YW50fS5tLTc0W2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luOiU/NzQ/JSFpbXBvcnRhbnR9Lm14LTc0W2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLWxlZnQ6JT83ND8lIWltcG9ydGFudDttYXJnaW4tcmlnaHQ6JT83ND8lIWltcG9ydGFudH0ubWwtNzRbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tbGVmdDolPzc0PyUhaW1wb3J0YW50fS5tci03NFtkYXRhLXYtN2YzNTJjMzJde21hcmdpbi1yaWdodDolPzc0PyUhaW1wb3J0YW50fS5teS03NFtkYXRhLXYtN2YzNTJjMzJde21hcmdpbi10b3A6JT83ND8lIWltcG9ydGFudDttYXJnaW4tYm90dG9tOiU/NzQ/JSFpbXBvcnRhbnR9Lm10LTc0W2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLXRvcDolPzc0PyUhaW1wb3J0YW50fS5tYi03NFtkYXRhLXYtN2YzNTJjMzJde21hcmdpbi1ib3R0b206JT83ND8lIWltcG9ydGFudH0ucC03NFtkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmc6JT83ND8lIWltcG9ydGFudH0ucHgtNzRbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLWxlZnQ6JT83ND8lIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OiU/NzQ/JSFpbXBvcnRhbnR9LnBsLTc0W2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy1sZWZ0OiU/NzQ/JSFpbXBvcnRhbnR9LnByLTc0W2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy1yaWdodDolPzc0PyUhaW1wb3J0YW50fS5weS03NFtkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctdG9wOiU/NzQ/JSFpbXBvcnRhbnQ7cGFkZGluZy1ib3R0b206JT83ND8lIWltcG9ydGFudH0ucHQtNzRbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLXRvcDolPzc0PyUhaW1wb3J0YW50fS5wYi03NFtkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctYm90dG9tOiU/NzQ/JSFpbXBvcnRhbnR9LmdyaWQtZ2FwLTc0W2RhdGEtdi03ZjM1MmMzMl17Z3JpZC1nYXA6JT83ND8lIWltcG9ydGFudH0uei1pbmRleC03NFtkYXRhLXYtN2YzNTJjMzJde3otaW5kZXg6NzQhaW1wb3J0YW50fS5mb250LXNpemUtNzRbZGF0YS12LTdmMzUyYzMyXXtmb250LXNpemU6JT83ND8lIWltcG9ydGFudH0ubS03NltkYXRhLXYtN2YzNTJjMzJde21hcmdpbjolPzc2PyUhaW1wb3J0YW50fS5teC03NltkYXRhLXYtN2YzNTJjMzJde21hcmdpbi1sZWZ0OiU/NzY/JSFpbXBvcnRhbnQ7bWFyZ2luLXJpZ2h0OiU/NzY/JSFpbXBvcnRhbnR9Lm1sLTc2W2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLWxlZnQ6JT83Nj8lIWltcG9ydGFudH0ubXItNzZbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tcmlnaHQ6JT83Nj8lIWltcG9ydGFudH0ubXktNzZbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tdG9wOiU/NzY/JSFpbXBvcnRhbnQ7bWFyZ2luLWJvdHRvbTolPzc2PyUhaW1wb3J0YW50fS5tdC03NltkYXRhLXYtN2YzNTJjMzJde21hcmdpbi10b3A6JT83Nj8lIWltcG9ydGFudH0ubWItNzZbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tYm90dG9tOiU/NzY/JSFpbXBvcnRhbnR9LnAtNzZbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nOiU/NzY/JSFpbXBvcnRhbnR9LnB4LTc2W2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy1sZWZ0OiU/NzY/JSFpbXBvcnRhbnQ7cGFkZGluZy1yaWdodDolPzc2PyUhaW1wb3J0YW50fS5wbC03NltkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctbGVmdDolPzc2PyUhaW1wb3J0YW50fS5wci03NltkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctcmlnaHQ6JT83Nj8lIWltcG9ydGFudH0ucHktNzZbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLXRvcDolPzc2PyUhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOiU/NzY/JSFpbXBvcnRhbnR9LnB0LTc2W2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy10b3A6JT83Nj8lIWltcG9ydGFudH0ucGItNzZbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLWJvdHRvbTolPzc2PyUhaW1wb3J0YW50fS5ncmlkLWdhcC03NltkYXRhLXYtN2YzNTJjMzJde2dyaWQtZ2FwOiU/NzY/JSFpbXBvcnRhbnR9LnotaW5kZXgtNzZbZGF0YS12LTdmMzUyYzMyXXt6LWluZGV4Ojc2IWltcG9ydGFudH0uZm9udC1zaXplLTc2W2RhdGEtdi03ZjM1MmMzMl17Zm9udC1zaXplOiU/NzY/JSFpbXBvcnRhbnR9Lm0tNzhbZGF0YS12LTdmMzUyYzMyXXttYXJnaW46JT83OD8lIWltcG9ydGFudH0ubXgtNzhbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tbGVmdDolPzc4PyUhaW1wb3J0YW50O21hcmdpbi1yaWdodDolPzc4PyUhaW1wb3J0YW50fS5tbC03OFtkYXRhLXYtN2YzNTJjMzJde21hcmdpbi1sZWZ0OiU/Nzg/JSFpbXBvcnRhbnR9Lm1yLTc4W2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLXJpZ2h0OiU/Nzg/JSFpbXBvcnRhbnR9Lm15LTc4W2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLXRvcDolPzc4PyUhaW1wb3J0YW50O21hcmdpbi1ib3R0b206JT83OD8lIWltcG9ydGFudH0ubXQtNzhbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tdG9wOiU/Nzg/JSFpbXBvcnRhbnR9Lm1iLTc4W2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLWJvdHRvbTolPzc4PyUhaW1wb3J0YW50fS5wLTc4W2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZzolPzc4PyUhaW1wb3J0YW50fS5weC03OFtkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctbGVmdDolPzc4PyUhaW1wb3J0YW50O3BhZGRpbmctcmlnaHQ6JT83OD8lIWltcG9ydGFudH0ucGwtNzhbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLWxlZnQ6JT83OD8lIWltcG9ydGFudH0ucHItNzhbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLXJpZ2h0OiU/Nzg/JSFpbXBvcnRhbnR9LnB5LTc4W2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy10b3A6JT83OD8lIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTolPzc4PyUhaW1wb3J0YW50fS5wdC03OFtkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctdG9wOiU/Nzg/JSFpbXBvcnRhbnR9LnBiLTc4W2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy1ib3R0b206JT83OD8lIWltcG9ydGFudH0uZ3JpZC1nYXAtNzhbZGF0YS12LTdmMzUyYzMyXXtncmlkLWdhcDolPzc4PyUhaW1wb3J0YW50fS56LWluZGV4LTc4W2RhdGEtdi03ZjM1MmMzMl17ei1pbmRleDo3OCFpbXBvcnRhbnR9LmZvbnQtc2l6ZS03OFtkYXRhLXYtN2YzNTJjMzJde2ZvbnQtc2l6ZTolPzc4PyUhaW1wb3J0YW50fS5maWx0ZXItZ3JheVtkYXRhLXYtN2YzNTJjMzJdey13ZWJraXQtZmlsdGVyOmdyYXlzY2FsZSgxKTtmaWx0ZXI6Z3JheXNjYWxlKDEpfS5teC1hdXRvW2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0b30uZC1ibG9ja1tkYXRhLXYtN2YzNTJjMzJde2Rpc3BsYXk6YmxvY2t9LmQtaW5saW5lLWJsb2NrW2RhdGEtdi03ZjM1MmMzMl17ZGlzcGxheTppbmxpbmUtYmxvY2t9LnRleHQtY2VudGVyW2RhdGEtdi03ZjM1MmMzMl17dGV4dC1hbGlnbjpjZW50ZXJ9LnRleHQtbGVmdFtkYXRhLXYtN2YzNTJjMzJde3RleHQtYWxpZ246bGVmdH0udGV4dC1yaWdodFtkYXRhLXYtN2YzNTJjMzJde3RleHQtYWxpZ246cmlnaHR9LmQtZmxleFtkYXRhLXYtN2YzNTJjMzJde2Rpc3BsYXk6ZmxleH0uZC1mbGV4LWJldHdlZW4tY2VudGVyW2RhdGEtdi03ZjM1MmMzMl17ZGlzcGxheTpmbGV4O2p1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuO2FsaWduLWl0ZW1zOmNlbnRlcn0uZmxleC13cmFwW2RhdGEtdi03ZjM1MmMzMl17ZmxleC13cmFwOndyYXB9Lmp1c3RpZnktY29udGVudC1iZXR3ZWVuW2RhdGEtdi03ZjM1MmMzMl17anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59Lmp1c3RpZnktY29udGVudC1hcm91bmRbZGF0YS12LTdmMzUyYzMyXXtqdXN0aWZ5LWNvbnRlbnQ6c3BhY2UtYXJvdW5kfS5qdXN0aWZ5LWNvbnRlbnQtY2VudGVyW2RhdGEtdi03ZjM1MmMzMl17anVzdGlmeS1jb250ZW50OmNlbnRlcn0uanVzdGlmeS1jb250ZW50LWVuZFtkYXRhLXYtN2YzNTJjMzJde2p1c3RpZnktY29udGVudDpmbGV4LWVuZH0uYWxpZ24taXRlbXMtY2VudGVyW2RhdGEtdi03ZjM1MmMzMl17YWxpZ24taXRlbXM6Y2VudGVyfS5hbGlnbi1pdGVtcy1iYXNlbGluZVtkYXRhLXYtN2YzNTJjMzJde2FsaWduLWl0ZW1zOmJhc2VsaW5lfS5mbGV4LWRpcmVjdGlvbi1jb2x1bW5bZGF0YS12LTdmMzUyYzMyXXtmbGV4LWRpcmVjdGlvbjpjb2x1bW59LmZvbnQtd2VpZ2h0LWJvbGRbZGF0YS12LTdmMzUyYzMyXXtmb250LXdlaWdodDo3MDB9LnBvc2l0aW9uLWZpeGVkW2RhdGEtdi03ZjM1MmMzMl17cG9zaXRpb246Zml4ZWR9LnBvc2l0aW9uLXJlbGF0aXZlW2RhdGEtdi03ZjM1MmMzMl17cG9zaXRpb246cmVsYXRpdmV9LnBvc2l0aW9uLWFic29sdXRlW2RhdGEtdi03ZjM1MmMzMl17cG9zaXRpb246YWJzb2x1dGV9Lm92ZXJmbG93LWhpZGRlbltkYXRhLXYtN2YzNTJjMzJde292ZXJmbG93OmhpZGRlbn0ubGluZS0xW2RhdGEtdi03ZjM1MmMzMl17b3ZlcmZsb3c6aGlkZGVuO3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwfS5saW5lLTJbZGF0YS12LTdmMzUyYzMyXXtvdmVyZmxvdzpoaWRkZW47LXdlYmtpdC1saW5lLWNsYW1wOjI7bGluZS1jbGFtcDoyOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDtib3gtb3JpZW50OnZlcnRpY2FsO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpib3h9LmxpbmUtM1tkYXRhLXYtN2YzNTJjMzJde292ZXJmbG93OmhpZGRlbjstd2Via2l0LWxpbmUtY2xhbXA6MztsaW5lLWNsYW1wOjM7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO2JveC1vcmllbnQ6dmVydGljYWw7ZGlzcGxheTotd2Via2l0LWJveDtkaXNwbGF5OmJveH0ubGluZS00W2RhdGEtdi03ZjM1MmMzMl17b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtbGluZS1jbGFtcDo0O2xpbmUtY2xhbXA6NDstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7Ym94LW9yaWVudDp2ZXJ0aWNhbDtkaXNwbGF5Oi13ZWJraXQtYm94O2Rpc3BsYXk6Ym94fS5saW5lLTVbZGF0YS12LTdmMzUyYzMyXXtvdmVyZmxvdzpoaWRkZW47LXdlYmtpdC1saW5lLWNsYW1wOjU7bGluZS1jbGFtcDo1Oy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDtib3gtb3JpZW50OnZlcnRpY2FsO2Rpc3BsYXk6LXdlYmtpdC1ib3g7ZGlzcGxheTpib3h9LnctMTBbZGF0YS12LTdmMzUyYzMyXXt3aWR0aDoxMCV9LmgtMTBbZGF0YS12LTdmMzUyYzMyXXtoZWlnaHQ6MTAlfS5vcGFjaXR5LTEwW2RhdGEtdi03ZjM1MmMzMl17b3BhY2l0eTouMX0udy0xN1tkYXRhLXYtN2YzNTJjMzJde3dpZHRoOjE3JX0uaC0xN1tkYXRhLXYtN2YzNTJjMzJde2hlaWdodDoxNyV9Lm9wYWNpdHktMTdbZGF0YS12LTdmMzUyYzMyXXtvcGFjaXR5Oi4xN30udy0xOFtkYXRhLXYtN2YzNTJjMzJde3dpZHRoOjE4JX0uaC0xOFtkYXRhLXYtN2YzNTJjMzJde2hlaWdodDoxOCV9Lm9wYWNpdHktMThbZGF0YS12LTdmMzUyYzMyXXtvcGFjaXR5Oi4xOH0udy0xOVtkYXRhLXYtN2YzNTJjMzJde3dpZHRoOjE5JX0uaC0xOVtkYXRhLXYtN2YzNTJjMzJde2hlaWdodDoxOSV9Lm9wYWNpdHktMTlbZGF0YS12LTdmMzUyYzMyXXtvcGFjaXR5Oi4xOX0udy0yMFtkYXRhLXYtN2YzNTJjMzJde3dpZHRoOjIwJX0uaC0yMFtkYXRhLXYtN2YzNTJjMzJde2hlaWdodDoyMCV9Lm9wYWNpdHktMjBbZGF0YS12LTdmMzUyYzMyXXtvcGFjaXR5Oi4yfS53LTI1W2RhdGEtdi03ZjM1MmMzMl17d2lkdGg6MjUlfS5oLTI1W2RhdGEtdi03ZjM1MmMzMl17aGVpZ2h0OjI1JX0ub3BhY2l0eS0yNVtkYXRhLXYtN2YzNTJjMzJde29wYWNpdHk6LjI1fS53LTMwW2RhdGEtdi03ZjM1MmMzMl17d2lkdGg6MzAlfS5oLTMwW2RhdGEtdi03ZjM1MmMzMl17aGVpZ2h0OjMwJX0ub3BhY2l0eS0zMFtkYXRhLXYtN2YzNTJjMzJde29wYWNpdHk6LjN9LnctMzNbZGF0YS12LTdmMzUyYzMyXXt3aWR0aDozMyV9LmgtMzNbZGF0YS12LTdmMzUyYzMyXXtoZWlnaHQ6MzMlfS5vcGFjaXR5LTMzW2RhdGEtdi03ZjM1MmMzMl17b3BhY2l0eTouMzN9LnctNDBbZGF0YS12LTdmMzUyYzMyXXt3aWR0aDo0MCV9LmgtNDBbZGF0YS12LTdmMzUyYzMyXXtoZWlnaHQ6NDAlfS5vcGFjaXR5LTQwW2RhdGEtdi03ZjM1MmMzMl17b3BhY2l0eTouNH0udy00NFtkYXRhLXYtN2YzNTJjMzJde3dpZHRoOjQ0JX0uaC00NFtkYXRhLXYtN2YzNTJjMzJde2hlaWdodDo0NCV9Lm9wYWNpdHktNDRbZGF0YS12LTdmMzUyYzMyXXtvcGFjaXR5Oi40NH0udy00OFtkYXRhLXYtN2YzNTJjMzJde3dpZHRoOjQ4JX0uaC00OFtkYXRhLXYtN2YzNTJjMzJde2hlaWdodDo0OCV9Lm9wYWNpdHktNDhbZGF0YS12LTdmMzUyYzMyXXtvcGFjaXR5Oi40OH0udy00OVtkYXRhLXYtN2YzNTJjMzJde3dpZHRoOjQ5JX0uaC00OVtkYXRhLXYtN2YzNTJjMzJde2hlaWdodDo0OSV9Lm9wYWNpdHktNDlbZGF0YS12LTdmMzUyYzMyXXtvcGFjaXR5Oi40OX0udy01MFtkYXRhLXYtN2YzNTJjMzJde3dpZHRoOjUwJX0uaC01MFtkYXRhLXYtN2YzNTJjMzJde2hlaWdodDo1MCV9Lm9wYWNpdHktNTBbZGF0YS12LTdmMzUyYzMyXXtvcGFjaXR5Oi41fS53LTYwW2RhdGEtdi03ZjM1MmMzMl17d2lkdGg6NjAlfS5oLTYwW2RhdGEtdi03ZjM1MmMzMl17aGVpZ2h0OjYwJX0ub3BhY2l0eS02MFtkYXRhLXYtN2YzNTJjMzJde29wYWNpdHk6LjZ9LnctNzBbZGF0YS12LTdmMzUyYzMyXXt3aWR0aDo3MCV9LmgtNzBbZGF0YS12LTdmMzUyYzMyXXtoZWlnaHQ6NzAlfS5vcGFjaXR5LTcwW2RhdGEtdi03ZjM1MmMzMl17b3BhY2l0eTouN30udy03NVtkYXRhLXYtN2YzNTJjMzJde3dpZHRoOjc1JX0uaC03NVtkYXRhLXYtN2YzNTJjMzJde2hlaWdodDo3NSV9Lm9wYWNpdHktNzVbZGF0YS12LTdmMzUyYzMyXXtvcGFjaXR5Oi43NX0udy04MFtkYXRhLXYtN2YzNTJjMzJde3dpZHRoOjgwJX0uaC04MFtkYXRhLXYtN2YzNTJjMzJde2hlaWdodDo4MCV9Lm9wYWNpdHktODBbZGF0YS12LTdmMzUyYzMyXXtvcGFjaXR5Oi44fS53LTkwW2RhdGEtdi03ZjM1MmMzMl17d2lkdGg6OTAlfS5oLTkwW2RhdGEtdi03ZjM1MmMzMl17aGVpZ2h0OjkwJX0ub3BhY2l0eS05MFtkYXRhLXYtN2YzNTJjMzJde29wYWNpdHk6Ljl9LnctMTAwW2RhdGEtdi03ZjM1MmMzMl17d2lkdGg6MTAwJX0uaC0xMDBbZGF0YS12LTdmMzUyYzMyXXtoZWlnaHQ6MTAwJX0ub3BhY2l0eS0xMDBbZGF0YS12LTdmMzUyYzMyXXtvcGFjaXR5Oi4xfS5wYi01MFtkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctYm90dG9tOiU/NTA/JX0ubXQtNTBbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tdG9wOiU/NTA/JX0ucGItNjBbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLWJvdHRvbTolPzYwPyV9Lm10LTYwW2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLXRvcDolPzYwPyV9LnBiLTcwW2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy1ib3R0b206JT83MD8lfS5tdC03MFtkYXRhLXYtN2YzNTJjMzJde21hcmdpbi10b3A6JT83MD8lfS5wYi04MFtkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctYm90dG9tOiU/ODA/JX0ubXQtODBbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tdG9wOiU/ODA/JX0ucGItOTBbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLWJvdHRvbTolPzkwPyV9Lm10LTkwW2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLXRvcDolPzkwPyV9LnBiLTEwMFtkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctYm90dG9tOiU/MTAwPyV9Lm10LTEwMFtkYXRhLXYtN2YzNTJjMzJde21hcmdpbi10b3A6JT8xMDA/JX0ucGItMTEwW2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy1ib3R0b206JT8xMTA/JX0ubXQtMTEwW2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLXRvcDolPzExMD8lfS5wYi0xMjBbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLWJvdHRvbTolPzEyMD8lfS5tdC0xMjBbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tdG9wOiU/MTIwPyV9LnBiLTEzMFtkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctYm90dG9tOiU/MTMwPyV9Lm10LTEzMFtkYXRhLXYtN2YzNTJjMzJde21hcmdpbi10b3A6JT8xMzA/JX0ucGItMTQwW2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy1ib3R0b206JT8xNDA/JX0ubXQtMTQwW2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLXRvcDolPzE0MD8lfS5wYi0xNTBbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLWJvdHRvbTolPzE1MD8lfS5tdC0xNTBbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tdG9wOiU/MTUwPyV9LnBiLTE2MFtkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctYm90dG9tOiU/MTYwPyV9Lm10LTE2MFtkYXRhLXYtN2YzNTJjMzJde21hcmdpbi10b3A6JT8xNjA/JX0ucGItMTcwW2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy1ib3R0b206JT8xNzA/JX0ubXQtMTcwW2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLXRvcDolPzE3MD8lfS5wYi0xODBbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nLWJvdHRvbTolPzE4MD8lfS5tdC0xODBbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tdG9wOiU/MTgwPyV9LnBiLTE5MFtkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmctYm90dG9tOiU/MTkwPyV9Lm10LTE5MFtkYXRhLXYtN2YzNTJjMzJde21hcmdpbi10b3A6JT8xOTA/JX0ucGItMjAwW2RhdGEtdi03ZjM1MmMzMl17cGFkZGluZy1ib3R0b206JT8yMDA/JX0ubXQtMjAwW2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luLXRvcDolPzIwMD8lfS5pbnB1dFtkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmc6MCAlPzMwPyU7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC4wNSk7Ym9yZGVyLXJhZGl1czolPzEyPyU7aGVpZ2h0OiU/ODg/JTtsaW5lLWhlaWdodDolPzg4PyU7cG9zaXRpb246cmVsYXRpdmV9LmlucHV0IC5pbnB1dC1wbGFjZWhvbGRlcltkYXRhLXYtN2YzNTJjMzJde29wYWNpdHk6LjQ7Zm9udC13ZWlnaHQ6NDAwIWltcG9ydGFudH0uYm94LXNoYWRvd1tkYXRhLXYtN2YzNTJjMzJde2JveC1zaGFkb3c6MCAwIDEwcHggMCByZ2JhKDAsMCwwLC4wNil9LmJvcmRlcltkYXRhLXYtN2YzNTJjMzJde2JvcmRlcjolPzI/JSBzb2xpZCAjNGQ0ZDRkfS5ib3JkZXItdG9wW2RhdGEtdi03ZjM1MmMzMl17Ym9yZGVyLXRvcDolPzI/JSBzb2xpZCAjNGQ0ZDRkfS5ib3JkZXItYm90dG9tW2RhdGEtdi03ZjM1MmMzMl17Ym9yZGVyLWJvdHRvbTolPzI/JSBzb2xpZCAjNGQ0ZDRkfS5ib3JkZXItYm90dG9tLXdoaXRlW2RhdGEtdi03ZjM1MmMzMl17Ym9yZGVyLWJvdHRvbTolPzI/JSBzb2xpZCAjZjNmM2YzfS5ib3JkZXItcmFkaXVzLTEwW2RhdGEtdi03ZjM1MmMzMl17Ym9yZGVyLXJhZGl1czolPzEwPyUhaW1wb3J0YW50fS5ib3JkZXItcmFkaXVzLTIwW2RhdGEtdi03ZjM1MmMzMl0sIC5kZXBvc2l0W2RhdGEtdi03ZjM1MmMzMl17Ym9yZGVyLXJhZGl1czolPzIwPyUhaW1wb3J0YW50fS5ib3JkZXItcmFkaXVzLTUwcGVyW2RhdGEtdi03ZjM1MmMzMl17Ym9yZGVyLXJhZGl1czo1MCUhaW1wb3J0YW50fS51bmktaW5wdXQtcGxhY2Vob2xkZXJbZGF0YS12LTdmMzUyYzMyXXtjb2xvcjpoc2xhKDAsMCUsOTkuNiUsLjUpfS5rZWZ1W2RhdGEtdi03ZjM1MmMzMl17cG9zaXRpb246Zml4ZWQ7cmlnaHQ6JT81MD8lO2JvdHRvbToxNi41dmg7ei1pbmRleDoxMDtib3JkZXItcmFkaXVzOjUwJTtib3gtc2hhZG93OjAgMCAxNXB4IDAgcmdiYSgwLDAsMCwuMSk7YmFja2dyb3VuZC1jb2xvcjojMzMzO3dpZHRoOiU/NzA/JTtoZWlnaHQ6JT83MD8lO2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcn0ubG9naW4taW5wdXQtZ3JvdXBbZGF0YS12LTdmMzUyYzMyXXtib3JkZXItYm90dG9tOiU/Mj8lIHNvbGlkIGhzbGEoMCwwJSwxMDAlLC4yKTttYXJnaW4tdG9wOiU/NTA/JTtwb3NpdGlvbjpyZWxhdGl2ZX0ubG9naW4taW5wdXQtZ3JvdXAgLmxvZ2luLWlucHV0W2RhdGEtdi03ZjM1MmMzMl17aGVpZ2h0OiU/NzA/JTtsaW5lLWhlaWdodDolPzcwPyU7d2lkdGg6MTAwJX0ubG9naW4taW5wdXQtZ3JvdXAgLmxhYmVsW2RhdGEtdi03ZjM1MmMzMl17b3BhY2l0eTouN30uYm94LXNoYWRvd1tkYXRhLXYtN2YzNTJjMzJde2JveC1zaGFkb3c6MCAwIDEwcHggMCByZ2JhKDAsMCwwLC4xKX0uc3Vic2VjdGlvbiAuaXRlbVtkYXRhLXYtN2YzNTJjMzJde3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmctYm90dG9tOiU/MTA/JX0uc3Vic2VjdGlvbiAuaXRlbVtkYXRhLXYtN2YzNTJjMzJdOjphZnRlcntkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO2NvbnRlbnQ6IiI7Ym90dG9tOjA7bGVmdDo1MCU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt3aWR0aDolPzMwPyU7aGVpZ2h0OiU/ND8lO2JhY2tncm91bmQtY29sb3I6I2ZmZn0uc3Vic2VjdGlvbiAuaXRlbS5hY3RpdmVbZGF0YS12LTdmMzUyYzMyXXtjb2xvcjojMjI3N2ZjfS5zdWJzZWN0aW9uIC5pdGVtLmFjdGl2ZVtkYXRhLXYtN2YzNTJjMzJdOjphZnRlcntiYWNrZ3JvdW5kLWNvbG9yOiMyMjc3ZmN9LmQtZ3JpZFtkYXRhLXYtN2YzNTJjMzJde2Rpc3BsYXk6Z3JpZH0uZC1ncmlkLWNvbHVtbnMtMltkYXRhLXYtN2YzNTJjMzJde2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDIsMWZyKX0uZC1ncmlkLWNvbHVtbnMtM1tkYXRhLXYtN2YzNTJjMzJde2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDMsMWZyKX0uZC1ncmlkLWNvbHVtbnMtNFtkYXRhLXYtN2YzNTJjMzJde2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDQsMWZyKX0uZC1ncmlkLWNvbHVtbnMtNVtkYXRhLXYtN2YzNTJjMzJde2Rpc3BsYXk6Z3JpZDtncmlkLXRlbXBsYXRlLWNvbHVtbnM6cmVwZWF0KDUsMWZyKX0uYXJ0aWNsZVtkYXRhLXYtN2YzNTJjMzJde3BhZGRpbmc6JT8zMD8lfS5hcnRpY2xlIHVuaS10ZXh0W2RhdGEtdi03ZjM1MmMzMl17ZGlzcGxheTpibG9jazttYXJnaW4tYm90dG9tOiU/MjA/JX1pZnJhbWVbZGF0YS12LTdmMzUyYzMyXXtsZWZ0OjAhaW1wb3J0YW50O3JpZ2h0OjAhaW1wb3J0YW50O21hcmdpbjowIGF1dG87dG9wOjAhaW1wb3J0YW50fS5wb3NpdGlvbi1yZWxhdGl2ZS16aW5kZXgtOTlbZGF0YS12LTdmMzUyYzMyXXtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4Ojk5fS5zdGF0dXNfYmFyW2RhdGEtdi03ZjM1MmMzMl17aGVpZ2h0OjA7d2lkdGg6MTAwJX0uYWZ0ZXItYm9yZGVyW2RhdGEtdi03ZjM1MmMzMl17cG9zaXRpb246cmVsYXRpdmV9LmFmdGVyLWJvcmRlcltkYXRhLXYtN2YzNTJjMzJdOmFmdGVye3Bvc2l0aW9uOmFic29sdXRlO2NvbnRlbnQ6IiI7dG9wOjA7cmlnaHQ6MDtib3R0b206MDt3aWR0aDolPzI/JTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoNTEsNTEsNTEsLjEpfS5sb2dpbi1sb2dvW2RhdGEtdi03ZjM1MmMzMl17dGV4dC1hbGlnbjpjZW50ZXI7cGFkZGluZy10b3A6NC41dmh9LmxvZ2luLWxvZ28gdW5pLWltYWdlW2RhdGEtdi03ZjM1MmMzMl17d2lkdGg6MTd2aDtoZWlnaHQ6MTd2aDtkaXNwbGF5OmJsb2NrO2JvcmRlci1yYWRpdXM6JT8yND8lO2JveC1zaGFkb3c6MCAwICU/MTA/JSAwIHJnYmEoMCwwLDAsLjA1KTttYXJnaW46MCBhdXRvfS50YWctcHJpbWFyeVtkYXRhLXYtN2YzNTJjMzJde2JhY2tncm91bmQtY29sb3I6IzIyNzdmYztjb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6JT82PyU7Zm9udC1zaXplOiU/MjA/JTtwYWRkaW5nOiU/ND8lICU/MTA/JTtib3JkZXI6JT8yPyUgc29saWQgIzIyNzdmYztib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyOm5vbmU7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoLTIyNWRlZywjMmNkOGQ1LCM2YjhkZDYgNDglLCM4ZTM3ZDcpfS50YWctZXJyb3JbZGF0YS12LTdmMzUyYzMyXSwgLnRhZy1wbGFpbi1lcnJvcltkYXRhLXYtN2YzNTJjMzJde2JhY2tncm91bmQtY29sb3I6I2YwNGE1YTtjb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6JT82PyU7Zm9udC1zaXplOiU/MjA/JTtwYWRkaW5nOiU/ND8lICU/MTA/JTtib3JkZXI6JT8yPyUgc29saWQgI2YwNGE1YTtib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyOm5vbmU7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoMjcwZGVnLCNmZjA4NDQgMCwjZmZiMTk5KX0udGFnLXNlY29uZGFyeVtkYXRhLXYtN2YzNTJjMzJde2JhY2tncm91bmQtY29sb3I6cmdiYSg1MSw1MSw1MSwuMDYpO2NvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czolPzY/JTtmb250LXNpemU6JT8yMD8lO3BhZGRpbmc6JT80PyUgJT8xMD8lO2JvcmRlcjolPzI/JSBzb2xpZCByZ2JhKDUxLDUxLDUxLC4wNik7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlcjpub25lO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDQ1ZGVnLCM5M2E1Y2YsI2U0ZWZlOSl9LnRhZy13YXJuaW5nW2RhdGEtdi03ZjM1MmMzMl17YmFja2dyb3VuZC1jb2xvcjojZDRiYTgzO2NvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czolPzY/JTtmb250LXNpemU6JT8yMD8lO3BhZGRpbmc6JT80PyUgJT8xMD8lO2JvcmRlcjolPzI/JSBzb2xpZCAjZDRiYTgzO2JveC1zaXppbmc6Ym9yZGVyLWJveDtib3JkZXI6bm9uZTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCgxZGVnLCNmZmNjOGYsI2ZmZWRkOCl9LnRhZy1zdWNjZXNzW2RhdGEtdi03ZjM1MmMzMl0sIC50YWctcGxhaW4tc3VjY2Vzc1tkYXRhLXYtN2YzNTJjMzJde2JhY2tncm91bmQtY29sb3I6IzI4YmE5ODtjb2xvcjojZmZmO2JvcmRlci1yYWRpdXM6JT82PyU7Zm9udC1zaXplOiU/MjA/JTtwYWRkaW5nOiU/ND8lICU/MTA/JTtib3JkZXI6JT8yPyUgc29saWQgIzI4YmE5ODtib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyOm5vbmU7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoMTIwZGVnLCM4NGZhYjAsIzhmZDNmNCl9LnRhZy1wbGFpbi1zdWNjZXNzW2RhdGEtdi03ZjM1MmMzMl17YmFja2dyb3VuZDpub25lO2NvbG9yOiMyOGJhOTg7Ym9yZGVyOiU/Mj8lIHNvbGlkICMyOGJhOTh9LnRhZy1wbGFpbi1lcnJvcltkYXRhLXYtN2YzNTJjMzJde2JhY2tncm91bmQ6bm9uZTtjb2xvcjojZjA0YTVhO2JvcmRlcjolPzI/JSBzb2xpZCAjZjA0YTVhfS5hbGVydFtkYXRhLXYtN2YzNTJjMzJde2ZvbnQtc2l6ZTolPzI0PyU7Ym9yZGVyLXJhZGl1czolPzIwPyU7cGFkZGluZzolPzIwPyU7Ym9yZGVyLXJhZGl1czo1cHh9LmlucHV0LWl0ZW1bZGF0YS12LTdmMzUyYzMyXXtwb3NpdGlvbjpyZWxhdGl2ZX0uaW5wdXQtaXRlbSAuaW5wdXRbZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tdG9wOiU/MjA/JX0uaW5wdXQtaXRlbSAuZXllW2RhdGEtdi03ZjM1MmMzMl17cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6JT8zMD8lO3RvcDo1NiV9LmlucHV0LWl0ZW0gLmdldC1jb2RlW2RhdGEtdi03ZjM1MmMzMl17cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6JT8zMD8lO3RvcDolPzc4PyU7aGVpZ2h0OiU/NTA/JTtsaW5lLWhlaWdodDolPzUwPyU7cGFkZGluZzowICU/MjA/JTtiYWNrZ3JvdW5kLWNvbG9yOiNmMDRhNWE7Ym9yZGVyLXJhZGl1czolPzEwPyU7Y29sb3I6I2ZmZn0uaW5wdXQtaXRlbSAuZ2V0LWNvZGUuc2VuZFtkYXRhLXYtN2YzNTJjMzJde2JhY2tncm91bmQtY29sb3I6cmdiYSg1MSw1MSw1MSwuMDYpfS51cGxvYWQtd3JhcFtkYXRhLXYtN2YzNTJjMzJde2JhY2tncm91bmQ6IzRkNGQ0ZDt3aWR0aDolPzI0MD8lO2hlaWdodDolPzI0MD8lO2JvcmRlci1yYWRpdXM6JT8xMD8lO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjt0ZXh0LWFsaWduOmNlbnRlcjttYXJnaW46MCBhdXRvO2JvcmRlcjolPzI/JSBzb2xpZCByZ2JhKDUxLDUxLDUxLC4wNik7b3ZlcmZsb3c6aGlkZGVufS5yaWdodC1lbnRlcltkYXRhLXYtN2YzNTJjMzJdey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwMCUsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMTAwJSwwLDApfS5yaWdodC1sZWF2ZS10b1tkYXRhLXYtN2YzNTJjMzJdLCAucmlnaHQtbGVhdmVbZGF0YS12LTdmMzUyYzMyXXtkaXNwbGF5Om5vbmV9LnJpZ2h0LWVudGVyLXRvW2RhdGEtdi03ZjM1MmMzMl17LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0ucmlnaHQtZW50ZXItYWN0aXZlW2RhdGEtdi03ZjM1MmMzMl0sXHJcbi5yaWdodC1sZWF2ZS1hY3RpdmVbZGF0YS12LTdmMzUyYzMyXXt0cmFuc2l0aW9uOmFsbCAuM3N9LmRlcG9zaXRbZGF0YS12LTdmMzUyYzMyXXtjb2xvcjojMzMzO3BhZGRpbmc6MCAlPzI4PyU7cGFkZGluZy10b3A6JT8zOD8lO3Bvc2l0aW9uOnJlbGF0aXZlfS5kZXBvc2l0IC5lYXJuaW5ncy13cmFwW2RhdGEtdi03ZjM1MmMzMl17bWFyZ2luOjAgJT8tMjg/JTttYXJnaW4tdG9wOiU/MzA/JX0uZGVwb3NpdCAuZWFybmluZ3Mtd3JhcCAuZWFybmluZ3NbZGF0YS12LTdmMzUyYzMyXXtwYWRkaW5nOiU/MzA/JSAlPzI4PyUgJT8yOD8lICU/Mjg/JTtiYWNrZ3JvdW5kLWNvbG9yOmhzbGEoMCwwJSwxMDAlLC4xKX0udHJhbnNpdGlvbltkYXRhLXYtN2YzNTJjMzJde3RyYW5zaXRpb246YWxsIC4zcyBlYXNlIDBzfS53aGl0ZS1jaXJjbGVbZGF0YS12LTdmMzUyYzMyXXt3aWR0aDolPzgwPyU7aGVpZ2h0OiU/ODA/JTtib3JkZXItcmFkaXVzOjUwJTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5mbGV4LTFbZGF0YS12LTdmMzUyYzMyXXtmbGV4OjF9LmxvZ2luLWhlYWQtYmdbZGF0YS12LTdmMzUyYzMyXXtwb3NpdGlvbjpmaXhlZDt3aWR0aDoxMDB2dztoZWlnaHQ6NTQuNHZ3O3RvcDowO2xlZnQ6MDtyaWdodDowfS5saW5lYXItZ3JhZGllbnQtdGV4dFtkYXRhLXYtN2YzNTJjMzJde2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDNkZWcsI2ZmY2M4ZiwjZmZlZGQ4KTstd2Via2l0LWJhY2tncm91bmQtY2xpcDp0ZXh0O2NvbG9yOnRyYW5zcGFyZW50fS5saW5lYXItZ3JhZGllbnQtYnV0dG9uW2RhdGEtdi03ZjM1MmMzMl0sIC5kZXBvc2l0W2RhdGEtdi03ZjM1MmMzMl17YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMWRlZywjZmZjYzhmLCNmZmVkZDgpfS53cmFwcGVyLWJnW2RhdGEtdi03ZjM1MmMzMl17cG9zaXRpb246cmVsYXRpdmV9LndyYXBwZXItYmdbZGF0YS12LTdmMzUyYzMyXTo6YWZ0ZXJ7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7cmlnaHQ6MDt0b3A6MDtib3R0b206MDtiYWNrZ3JvdW5kLWltYWdlOnVybCgnK28rIik7YmFja2dyb3VuZC1zaXplOmNvbnRhaW47YmFja2dyb3VuZC1wb3NpdGlvbjoxMDAlIHRvcDtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXR9LnUtbm90aWNlLWJhcltkYXRhLXYtN2YzNTJjMzJde3dpZHRoOjEwMCU7ZGlzcGxheTpmbGV4O2ZsZXgtZGlyZWN0aW9uOnJvdzthbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtmbGV4LXdyYXA6bm93cmFwO3BhZGRpbmc6JT8xOD8lICU/MjQ/JTtvdmVyZmxvdzpoaWRkZW59LnUtc3dpcGVyW2RhdGEtdi03ZjM1MmMzMl17Zm9udC1zaXplOiU/MjY/JTtoZWlnaHQ6JT8zMj8lO2Rpc3BsYXk6ZmxleDtmbGV4LWRpcmVjdGlvbjpyb3c7YWxpZ24taXRlbXM6Y2VudGVyO2ZsZXg6MTttYXJnaW4tbGVmdDolPzEyPyV9LnUtc3dpcGVyLWl0ZW1bZGF0YS12LTdmMzUyYzMyXXtkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246cm93O2FsaWduLWl0ZW1zOmNlbnRlcjtvdmVyZmxvdzpoaWRkZW59LnUtbmV3cy1pdGVtW2RhdGEtdi03ZjM1MmMzMl17b3ZlcmZsb3c6aGlkZGVufS51LXJpZ2h0LWljb25bZGF0YS12LTdmMzUyYzMyXXttYXJnaW4tbGVmdDolPzEyPyU7ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXJ9LnUtbGVmdC1pY29uW2RhdGEtdi03ZjM1MmMzMl17ZGlzcGxheTppbmxpbmUtZmxleDthbGlnbi1pdGVtczpjZW50ZXJ9IiwiIl0pLHQuZXhwb3J0cz1hfSxlYzcwOmZ1bmN0aW9uKHQsYSxpKXt2YXIgZT1pKCJjODZjIik7YT1lKCExKSxhLnB1c2goW3QuaSwiLmNvbnRhaW5lcltkYXRhLXYtMmVmOTNiMmNde3dpZHRoOjMwcHg7aGVpZ2h0OjMwcHg7cG9zaXRpb246cmVsYXRpdmV9LmNvbnRhaW5lci5sb2FkaW5nMltkYXRhLXYtMmVmOTNiMmNdey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxMGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgxMGRlZyl9LmNvbnRhaW5lci5sb2FkaW5nMiAuc2hhcGVbZGF0YS12LTJlZjkzYjJjXXtib3JkZXItcmFkaXVzOjVweH0uY29udGFpbmVyLmxvYWRpbmcyW2RhdGEtdi0yZWY5M2IyY117LXdlYmtpdC1hbmltYXRpb246cm90YXRpb24gMXMgaW5maW5pdGU7YW5pbWF0aW9uOnJvdGF0aW9uIDFzIGluZmluaXRlfS5jb250YWluZXIgLnNoYXBlW2RhdGEtdi0yZWY5M2IyY117cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MTBweDtoZWlnaHQ6MTBweDtib3JkZXItcmFkaXVzOjFweH0uY29udGFpbmVyIC5zaGFwZS5zaGFwZTFbZGF0YS12LTJlZjkzYjJjXXtsZWZ0OjA7YmFja2dyb3VuZC1jb2xvcjojMTg5MGZmfS5jb250YWluZXIgLnNoYXBlLnNoYXBlMltkYXRhLXYtMmVmOTNiMmNde3JpZ2h0OjA7YmFja2dyb3VuZC1jb2xvcjojOTFjYjc0fS5jb250YWluZXIgLnNoYXBlLnNoYXBlM1tkYXRhLXYtMmVmOTNiMmNde2JvdHRvbTowO2JhY2tncm91bmQtY29sb3I6I2ZhYzg1OH0uY29udGFpbmVyIC5zaGFwZS5zaGFwZTRbZGF0YS12LTJlZjkzYjJjXXtib3R0b206MDtyaWdodDowO2JhY2tncm91bmQtY29sb3I6I2U2Nn0ubG9hZGluZzIgLnNoYXBlMVtkYXRhLXYtMmVmOTNiMmNdey13ZWJraXQtYW5pbWF0aW9uOmFuaW1hdGlvbjJzaGFwZTEtZGF0YS12LTJlZjkzYjJjIC41cyBlYXNlIDBzIGluZmluaXRlIGFsdGVybmF0ZTthbmltYXRpb246YW5pbWF0aW9uMnNoYXBlMS1kYXRhLXYtMmVmOTNiMmMgLjVzIGVhc2UgMHMgaW5maW5pdGUgYWx0ZXJuYXRlfUAtd2Via2l0LWtleWZyYW1lcyBhbmltYXRpb24yc2hhcGUxLWRhdGEtdi0yZWY5M2IyY3tmcm9tey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlKDApfXRvey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgyMHB4LDIwcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGUoMjBweCwyMHB4KX19QGtleWZyYW1lcyBhbmltYXRpb24yc2hhcGUxLWRhdGEtdi0yZWY5M2IyY3tmcm9tey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlKDApfXRvey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgyMHB4LDIwcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGUoMjBweCwyMHB4KX19LmxvYWRpbmcyIC5zaGFwZTJbZGF0YS12LTJlZjkzYjJjXXstd2Via2l0LWFuaW1hdGlvbjphbmltYXRpb24yc2hhcGUyLWRhdGEtdi0yZWY5M2IyYyAuNXMgZWFzZSAwcyBpbmZpbml0ZSBhbHRlcm5hdGU7YW5pbWF0aW9uOmFuaW1hdGlvbjJzaGFwZTItZGF0YS12LTJlZjkzYjJjIC41cyBlYXNlIDBzIGluZmluaXRlIGFsdGVybmF0ZX1ALXdlYmtpdC1rZXlmcmFtZXMgYW5pbWF0aW9uMnNoYXBlMi1kYXRhLXYtMmVmOTNiMmN7ZnJvbXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgwKX10b3std2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTIwcHgsMjBweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtMjBweCwyMHB4KX19QGtleWZyYW1lcyBhbmltYXRpb24yc2hhcGUyLWRhdGEtdi0yZWY5M2IyY3tmcm9tey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlKDApfXRvey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtMjBweCwyMHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlKC0yMHB4LDIwcHgpfX0ubG9hZGluZzIgLnNoYXBlM1tkYXRhLXYtMmVmOTNiMmNdey13ZWJraXQtYW5pbWF0aW9uOmFuaW1hdGlvbjJzaGFwZTMtZGF0YS12LTJlZjkzYjJjIC41cyBlYXNlIDBzIGluZmluaXRlIGFsdGVybmF0ZTthbmltYXRpb246YW5pbWF0aW9uMnNoYXBlMy1kYXRhLXYtMmVmOTNiMmMgLjVzIGVhc2UgMHMgaW5maW5pdGUgYWx0ZXJuYXRlfUAtd2Via2l0LWtleWZyYW1lcyBhbmltYXRpb24yc2hhcGUzLWRhdGEtdi0yZWY5M2IyY3tmcm9tey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlKDApfXRvey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgyMHB4LC0yMHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlKDIwcHgsLTIwcHgpfX1Aa2V5ZnJhbWVzIGFuaW1hdGlvbjJzaGFwZTMtZGF0YS12LTJlZjkzYjJje2Zyb217LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDApO3RyYW5zZm9ybTp0cmFuc2xhdGUoMCl9dG97LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDIwcHgsLTIwcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGUoMjBweCwtMjBweCl9fS5sb2FkaW5nMiAuc2hhcGU0W2RhdGEtdi0yZWY5M2IyY117LXdlYmtpdC1hbmltYXRpb246YW5pbWF0aW9uMnNoYXBlNC1kYXRhLXYtMmVmOTNiMmMgLjVzIGVhc2UgMHMgaW5maW5pdGUgYWx0ZXJuYXRlO2FuaW1hdGlvbjphbmltYXRpb24yc2hhcGU0LWRhdGEtdi0yZWY5M2IyYyAuNXMgZWFzZSAwcyBpbmZpbml0ZSBhbHRlcm5hdGV9QC13ZWJraXQta2V5ZnJhbWVzIGFuaW1hdGlvbjJzaGFwZTQtZGF0YS12LTJlZjkzYjJje2Zyb217LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDApO3RyYW5zZm9ybTp0cmFuc2xhdGUoMCl9dG97LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKC0yMHB4LC0yMHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlKC0yMHB4LC0yMHB4KX19QGtleWZyYW1lcyBhbmltYXRpb24yc2hhcGU0LWRhdGEtdi0yZWY5M2IyY3tmcm9tey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlKDApfXRvey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtMjBweCwtMjBweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtMjBweCwtMjBweCl9fSIsIiJdKSx0LmV4cG9ydHM9YX0sZjFlMjpmdW5jdGlvbih0LGEsaSl7InVzZSBzdHJpY3QiO2koIjZhNTQiKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoYSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksYS5sYW5ncz1hLmN1cnJlbmN5cz12b2lkIDA7YS5sYW5ncz1be25hbWU6IueugOS9k+S4reaWhyIsdmFsdWU6InpoIn0se25hbWU6Iue5geS9k+S4reaWhyIsdmFsdWU6ImhrIn0se25hbWU6IkVuZ2xpc2giLHZhbHVlOiJlbiJ9LHtuYW1lOiLguYTguJfguKIiLHZhbHVlOiJ0aCJ9LHtuYW1lOiLml6XmnKzoqp4iLHZhbHVlOiJqcCJ9LHtuYW1lOiLtlZzqta3slrQiLHZhbHVlOiJrb3IifSx7bmFtZToiRnJhbsOnYWlzIix2YWx1ZToiZnJhIn0se25hbWU6IkVzcGHDsW9sIix2YWx1ZToic3BhIn1dO3ZhciBlPVt7bmFtZToiQ05ZIixpbWFnZTppKCI1NzU4Iiksc3ltYm9sOiLvv6UifSx7bmFtZToiSEtEIixpbWFnZTppKCIxN2Y0Iiksc3ltYm9sOiJISyQifSx7bmFtZToiVVNEIixpbWFnZTppKCIxNTlkIiksc3ltYm9sOiIkIn0se25hbWU6IkFFRCIsaW1hZ2U6aSgiYjNlOSIpLHN5bWJvbDoi77+lIn1dO2EuY3VycmVuY3lzPWV9LGYxZjg6ZnVuY3Rpb24odCxhLGkpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBlKHQpe3JldHVybiBhLmRlZmF1bHQ9ZT1PYmplY3Quc2V0UHJvdG90eXBlT2Y/T2JqZWN0LmdldFByb3RvdHlwZU9mLmJpbmQoKTpmdW5jdGlvbih0KXtyZXR1cm4gdC5fX3Byb3RvX198fE9iamVjdC5nZXRQcm90b3R5cGVPZih0KX0sZSh0KX1pKCI2YTU0IiksT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGEuZGVmYXVsdD1lLGkoIjhhOGQiKSxpKCI5MjZlIil9LGYyNDU6ZnVuY3Rpb24odCxhLGkpeyJ1c2Ugc3RyaWN0IjtpLnIoYSk7dmFyIGU9aSgiYjYxYyIpLG49aS5uKGUpO2Zvcih2YXIgciBpbiBlKVsiZGVmYXVsdCJdLmluZGV4T2Yocik8MCYmZnVuY3Rpb24odCl7aS5kKGEsdCwoZnVuY3Rpb24oKXtyZXR1cm4gZVt0XX0pKX0ocik7YVsiZGVmYXVsdCJdPW4uYX0sZjI4ZDpmdW5jdGlvbih0LGEsaSl7dC5leHBvcnRzPWkucCsic3RhdGljL2ltYWdlL2ljb24vaG9tZS1uYXYtMS5wbmcifSxmMzY1OmZ1bmN0aW9uKHQsYSxpKXsidXNlIHN0cmljdCI7aS5yKGEpO3ZhciBlPWkoImIwODciKSxuPWkoIjZkNDIiKTtmb3IodmFyIHIgaW4gbilbImRlZmF1bHQiXS5pbmRleE9mKHIpPDAmJmZ1bmN0aW9uKHQpe2kuZChhLHQsKGZ1bmN0aW9uKCl7cmV0dXJuIG5bdF19KSl9KHIpO3ZhciBvPWkoIjgyOGIiKSxkPU9iamVjdChvWyJhIl0pKG5bImRlZmF1bHQiXSxlWyJiIl0sZVsiYyJdLCExLG51bGwsIjI0ZWU3ZjM4IixudWxsLCExLGVbImEiXSx2b2lkIDApO2FbImRlZmF1bHQiXT1kLmV4cG9ydHN9LGY0Nzg6ZnVuY3Rpb24odCxhLGkpeyJ1c2Ugc3RyaWN0IjtpKCI2YTU0IiksT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGEuZGVmYXVsdD1mdW5jdGlvbih0KXtpZih2b2lkIDA9PT10KXRocm93IG5ldyBSZWZlcmVuY2VFcnJvcigidGhpcyBoYXNuJ3QgYmVlbiBpbml0aWFsaXNlZCAtIHN1cGVyKCkgaGFzbid0IGJlZW4gY2FsbGVkIik7cmV0dXJuIHR9LGkoIjdhNzYiKSxpKCJjOWI1Iil9LGY0ZjI6ZnVuY3Rpb24odCxhLGkpe3ZhciBlPWkoIjJmYjEiKTtlLl9fZXNNb2R1bGUmJihlPWUuZGVmYXVsdCksInN0cmluZyI9PT10eXBlb2YgZSYmKGU9W1t0LmksZSwiIl1dKSxlLmxvY2FscyYmKHQuZXhwb3J0cz1lLmxvY2Fscyk7dmFyIG49aSgiOTY3ZCIpLmRlZmF1bHQ7bigiOGVlODZlYTgiLGUsITAse3NvdXJjZU1hcDohMSxzaGFkb3dNb2RlOiExfSl9LGY2NGM6ZnVuY3Rpb24odCxhLGkpe3QuZXhwb3J0cz1pLnArInN0YXRpYy9pbWFnZS9pY29uL2hvbWUtYmcucG5nIn19XSk7"}},"time_used":274,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":272,"receive":2,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null},{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"futurbcvndf.com/api/news/index_pop?lang=en","fqdn":"futurbcvndf.com","domain":"futurbcvndf.com","tld":"com"},"ip":{"addr":"172.67.130.50","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://futurbcvndf.com/","date":"2026-07-27T06:23:01.481Z","timestamp":1785133381481,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"futurbcvndf.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 16 Jul 2026 16:36:02 GMT","end":"Wed, 14 Oct 2026 16:36:01 GMT"},"fingerprint":{"sha1":"46:2D:5F:F0:3D:BD:73:19:93:72:79:62:4A:45:03:09:5D:FB:1E:A5","sha256":"35:31:C4:67:1D:DB:68:C3:FB:49:03:14:DD:4E:76:FE:13:53:8D:98:98:2E:BE:EA:B8:CA:4F:B6:5B:7E:5C:1D"}}},"request":{"raw":"GET /api/news/index_pop?lang=en HTTP/1.1\r\nHost: futurbcvndf.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nAuthorization: \r\nContent-Type: application/x-www-form-urlencoded\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://futurbcvndf.com/\r\nCookie: angela_session=eyJpdiI6IlhnUEZEQ1hLNngxS0t2ZGN3TnJjV1E9PSIsInZhbHVlIjoiVGlYZUpmMXVPdEhuTGtoQzhTS3VXM3BIN3J4ZDZnU2dNTWxTc0NRcHNMTXFyNm1wQTZEQ0RKTWJ0UjRERWZ5aDBaQWxVaVdmN0VVQkNna0M2ZTJ2dTdFZkx3amdIYjZlQzEzMHozajVqTzMybnhMOHo1bEpuaXdQM1R3UVN4QmQiLCJtYWMiOiJiZWIyMTJlYzc4OWUzODk0ODBiOTI5NmU0MjA2MDBmZjJmYzA2MTI3ZjViNmY4NWYxNzIyNDI4MDhhYWMzZmI4In0%3D\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\nserver: cloudflare\r\ndate: Mon, 27 Jul 2026 06:23:02 GMT\r\ncontent-type: application/json\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=1JSTyS1cYxVQDv%2Bkx73wdrvm1BxqdTK3XdINC85yKJ1qAzK0JZS4RLKzCc4nO9r0IInAStkni0huT9zD1EwuA6IyCj8GPaHOp4a4NhfSNwkq7VIyYS3eJP483cQK%2FKNYSLc%3D\"}]}\r\npriority: u=3,i=?0\r\naccess-control-allow-origin: *\r\naccess-control-allow-methods: POST,GET,OPTIONS,DELETE\r\naccess-control-allow-headers: x-requested-with,content-type,Authorization\r\ncache-control: no-cache, private, no-cache\r\nset-cookie: angela_session=eyJpdiI6IlRycDBYVUtzaVAzQWNaSUpUejZ6VGc9PSIsInZhbHVlIjoiNEQ5ZTFpemkzVzNTMnBwb0ZONmZIM24rV3gyYXp0enpMeW9wdDBCTnRiQVFxdGd2NTdHM0NMVGNMTzVLZWJOdEZheHorTERXUUVCSjQxRWJBU2RNRVJNYkZkTTJEQlEyNzRpY3NyYjFxTmZvbllYRFwvVmhwVVBYa0M0QnNFVTkwIiwibWFjIjoiZjhmNjY4Zjg0YTE1NThmYmNkODM1ZWYwM2JiODRlMzg2NjAzNjBjZjdhODhiYjlkN2VmZjVhMTk3MmNhNDVhMiJ9; expires=Mon, 27-Jul-2026 08:23:01 GMT; Max-Age=7200; path=/; httponly\r\nstrict-transport-security: max-age=31536000\r\ncf-cache-status: DYNAMIC\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\ncontent-encoding: zstd\r\ncf-ray: a2198d9249af0daa-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":28,"size_decoded":1296,"mime_type":"application/json","magic":"JSON text data","md5":"7e6fa1bf5cc93ff191f6e9d25a7b5587","sha1":"027ba2ef0614fec58e260e7a0c989c283527b30b","sha256":"4fda09bb7c83ec6f6948f56849c4f7cb727c29cdeb0b42b84bec891be728a963","sha512":"4953f0c097793c2f756ea0eb744cac4369bb3cabad68f180964c481216bd4b77a9c176b1c4c0c81caf6df74bf5c8bb91f14c7b3aa4caee30131c6811ca9a5e0d","ssdeep":"","tlshash":"4b800000a208ac28030a0a0238883800828e0083c0822a0208088e28838e8b0223232e","first_seen":"2023-11-01T08:36:58Z","last_seen":"2026-07-28T18:14:35.975494Z","times_seen":294,"resource_available":false,"data":"eyJ0eXBlIjoib2siLCJtZXNzYWdlIjpudWxsfQ=="}},"time_used":554,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":554,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null},{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"futurbcvndf.com/static/image/icon/home-nav-3.png","fqdn":"futurbcvndf.com","domain":"futurbcvndf.com","tld":"com"},"ip":{"addr":"172.67.130.50","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://futurbcvndf.com/","date":"2026-07-27T06:23:01.960Z","timestamp":1785133381960,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"futurbcvndf.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 16 Jul 2026 16:36:02 GMT","end":"Wed, 14 Oct 2026 16:36:01 GMT"},"fingerprint":{"sha1":"46:2D:5F:F0:3D:BD:73:19:93:72:79:62:4A:45:03:09:5D:FB:1E:A5","sha256":"35:31:C4:67:1D:DB:68:C3:FB:49:03:14:DD:4E:76:FE:13:53:8D:98:98:2E:BE:EA:B8:CA:4F:B6:5B:7E:5C:1D"}}},"request":{"raw":"GET /static/image/icon/home-nav-3.png HTTP/1.1\r\nHost: futurbcvndf.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://futurbcvndf.com/\r\nCookie: angela_session=eyJpdiI6IjFkS0NPNkRWc1BpWjBxRlJNYVBRXC93PT0iLCJ2YWx1ZSI6IjYySndyVk1LYzF3Nis0VEpibU5FOU4wemtyY3RIQkpDcXZMWnYxNlUwbmIyUXpCcVR3blwvbGg3bHlSOVJIU1l3dG9wYTNNWGV3Y3Z5bEJCcFdFTVwvSWNFZnFyeWRFTFRWT2lZXC95M2NNVjBlVVM1RlpUUmthSTNLcGNUYk05ZENxIiwibWFjIjoiNDlmMWNhNjVhODQ0ZGMyNWYxZjBlNDZiZTk2ZjNiMWI2ZDQ1NzdkMGI5NDY0MjQyNzUyZWQxMzBmY2UyOTVjMCJ9\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\nserver: cloudflare\r\ndate: Mon, 27 Jul 2026 06:23:02 GMT\r\ncontent-type: image/png\r\nserver-timing: cfExtPri\r\npriority: u=5,i\r\nlast-modified: Fri, 20 Jun 2025 15:49:45 GMT\r\netag: \"68558319-f02\"\r\nstrict-transport-security: max-age=31536000\r\naccept-ranges: bytes\r\ncache-control: max-age=14400\r\ncf-cache-status: REVALIDATED\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=8%2B4myrkV1VhS7OoxCeFB0RNbI6HtkSjhyMrOXubZycRlt8A4v%2FSbwXHgIs7dLtydmcx66QTgYVJya%2BB3Y7DSMIiicyzj7tjoxKb3U8o3MXdeun0ZNQVzoDsZxoCYHpWoXL4%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\ncf-ray: a2198d954a140daa-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\ncontent-length: 3842\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":3842,"size_decoded":4581,"mime_type":"image/png","magic":"PNG image data, 46 x 46, 8-bit/color RGBA, non-interlaced","md5":"af1e80bff113a7687e542d4fca416239","sha1":"83ce6e6d1881f6fa0d2a64873cde529d2fc14055","sha256":"dc41ff7881c27712a7a16d402346b6af5d3de0eda8b78b07a5a537df095393a0","sha512":"cce7ce1bf1894630112a56ba27699ea9a63c436e552cd4b5f052b7d8f40370a6833a37a4ac2ac34e776cf941d3337c831929b7c41be9fa436a1329e2858b57e2","ssdeep":"","tlshash":"29814c89f1c2a81121469c84eae6d1b72b3757e086e0e4a5dcdbc42bd8745fcc8de9d3","first_seen":"2023-05-20T12:09:29Z","last_seen":"2026-07-27T14:50:18.094404Z","times_seen":203,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAC4AAAAuCAYAAABXuSs3AAAACXBIWXMAAAsTAAALEwEAmpwYAAAHUmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNi4wLWMwMDYgNzkuZGFiYWNiYiwgMjAyMS8wNC8xNC0wMDozOTo0NCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6NDg0MTQ3MjctNjIzOC00ZDVkLWFiMDEtYmQ1NjE2YjJiMzhjIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjk1OTFFN0MwMkNFODExRUM4NUVGODNFQzk4OENBN0NFIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOmQ3OWQ0MmVkLWE4MWYtNDNhNy04ODQyLTYxMDA2ZWJkNTczYiIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjIuNCAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMjEtMTEtMTFUMDk6NDU6MjMrMDg6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDIyLTAyLTExVDE5OjMxOjU0KzA4OjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDIyLTAyLTExVDE5OjMxOjU0KzA4OjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgcGhvdG9zaG9wOklDQ1Byb2ZpbGU9InNSR0IgSUVDNjE5NjYtMi4xIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MzFkNzk4NzQtZWJiMS00MTk5LWE2MDEtYzZmY2I3MDlmYzU5IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjQ4NDE0NzI3LTYyMzgtNGQ1ZC1hYjAxLWJkNTYxNmIyYjM4YyIvPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDpiZDA3YTkyYy04ZGI5LWI4NDAtYjg3Ni05OTFiNDkzN2FhZmQiIHN0RXZ0OndoZW49IjIwMjEtMTItMjRUMTE6MjQ6MDMrMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyMS4wIChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6ZDc5ZDQyZWQtYTgxZi00M2E3LTg4NDItNjEwMDZlYmQ1NzNiIiBzdEV2dDp3aGVuPSIyMDIyLTAyLTExVDE5OjMxOjU0KzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjIuNCAoTWFjaW50b3NoKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPHBob3Rvc2hvcDpEb2N1bWVudEFuY2VzdG9ycz4gPHJkZjpCYWc+IDxyZGY6bGk+eG1wLmRpZDo5NTkxRTdDMDJD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"}},"time_used":184,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":184,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null},{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"futurbcvndf.com/static/image/icon/home-nav-4.png","fqdn":"futurbcvndf.com","domain":"futurbcvndf.com","tld":"com"},"ip":{"addr":"172.67.130.50","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://futurbcvndf.com/","date":"2026-07-27T06:23:01.963Z","timestamp":1785133381963,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"futurbcvndf.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 16 Jul 2026 16:36:02 GMT","end":"Wed, 14 Oct 2026 16:36:01 GMT"},"fingerprint":{"sha1":"46:2D:5F:F0:3D:BD:73:19:93:72:79:62:4A:45:03:09:5D:FB:1E:A5","sha256":"35:31:C4:67:1D:DB:68:C3:FB:49:03:14:DD:4E:76:FE:13:53:8D:98:98:2E:BE:EA:B8:CA:4F:B6:5B:7E:5C:1D"}}},"request":{"raw":"GET /static/image/icon/home-nav-4.png HTTP/1.1\r\nHost: futurbcvndf.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://futurbcvndf.com/\r\nCookie: angela_session=eyJpdiI6IjFkS0NPNkRWc1BpWjBxRlJNYVBRXC93PT0iLCJ2YWx1ZSI6IjYySndyVk1LYzF3Nis0VEpibU5FOU4wemtyY3RIQkpDcXZMWnYxNlUwbmIyUXpCcVR3blwvbGg3bHlSOVJIU1l3dG9wYTNNWGV3Y3Z5bEJCcFdFTVwvSWNFZnFyeWRFTFRWT2lZXC95M2NNVjBlVVM1RlpUUmthSTNLcGNUYk05ZENxIiwibWFjIjoiNDlmMWNhNjVhODQ0ZGMyNWYxZjBlNDZiZTk2ZjNiMWI2ZDQ1NzdkMGI5NDY0MjQyNzUyZWQxMzBmY2UyOTVjMCJ9\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=5, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\nserver: cloudflare\r\ndate: Mon, 27 Jul 2026 06:23:02 GMT\r\ncontent-type: image/png\r\nserver-timing: cfExtPri\r\npriority: u=5,i\r\nlast-modified: Fri, 20 Jun 2025 15:49:45 GMT\r\netag: \"68558319-1c9e\"\r\nstrict-transport-security: max-age=31536000\r\naccept-ranges: bytes\r\ncache-control: max-age=14400\r\ncf-cache-status: REVALIDATED\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=ei5tsoj%2Byq9dzM5MazGOuu%2FUfoSJAfxK90Xn7nXLlnIM8ttOrlDIDqb9ywcG2sMQ2Q0hBg3P3tOD6v9dWvdINJTTy1GebHu%2BpVqHiT15DEN4BJkVmcIKIkeYPnQhfpM2f6c%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\ncf-ray: a2198d954a150daa-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\ncontent-length: 7326\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":7326,"size_decoded":8066,"mime_type":"image/png","magic":"PNG image data, 85 x 91, 8-bit/color RGBA, non-interlaced","md5":"51931449f7f1add2f1b23c1d3fb0c50d","sha1":"2472606e33ee28b6d1b24adaa15c2cc2e3f2e3a5","sha256":"115a31c73bb313b73626ce78e057499e508d55d8208315a1590c473dd47030a4","sha512":"2ee2fa2fdd8c200b57884f31fc1ef92115683646bec270d2736fde25ab5f1e5c952a66018efde827acffe759ae84198ccb39fb52a6b85047eecbd0947a7d30e2","ssdeep":"192:MknvFTRsSsJfpk4hEfHtdgcV73LJ6vRrhPnD:fnvFTRsSsBpfEfDlJe7nD","tlshash":"dee18e01ec61bc50a6258a85a4edd14b8f17d3d0ad9858ebbde5d55280d34f8576ccc3","first_seen":"2023-05-20T12:09:29Z","last_seen":"2026-07-27T14:50:18.120633Z","times_seen":202,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAFUAAABbCAYAAAAC/8kqAAAACXBIWXMAABYlAAAWJQFJUiTwAAAGemlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNi4wLWMwMDYgNzkuZGFiYWNiYiwgMjAyMS8wNC8xNC0wMDozOTo0NCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIyLjQgKE1hY2ludG9zaCkiIHhtcDpDcmVhdGVEYXRlPSIyMDIxLTEyLTI0VDE3OjEzOjAxKzA4OjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAyMi0wMi0xMVQxOTozMDo0NyswODowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyMi0wMi0xMVQxOTozMDo0NyswODowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2NGU5MzFkNi0yZGJhLTQxNTMtYmYxYy1jM2YwM2MyMzUwYTIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ODVlMGRiZjktZTM3Ni00NjU3LThlNzUtNzAwNTNiOGE0ZjczIiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6ODVlMGRiZjktZTM3Ni00NjU3LThlNzUtNzAwNTNiOGE0ZjczIj4gPHBob3Rvc2hvcDpEb2N1bWVudEFuY2VzdG9ycz4gPHJkZjpCYWc+IDxyZGY6bGk+eG1wLmRpZDo4NWUwZGJmOS1lMzc2LTQ2NTctOGU3NS03MDA1M2I4YTRmNzM8L3JkZjpsaT4gPC9yZGY6QmFnPiA8L3Bob3Rvc2hvcDpEb2N1bWVudEFuY2VzdG9ycz4gPHhtcE1NOkhpc3Rvcnk+IDxyZGY6U2VxPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iY3JlYXRlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDo4NWUwZGJmOS1lMzc2LTQ2NTctOGU3NS03MDA1M2I4YTRmNzMiIHN0RXZ0OndoZW49IjIwMjEtMTItMjRUMTc6MTM6MDErMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyMi40IChNYWNpbnRvc2gpIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDo2NGU5MzFkNi0yZGJhLTQxNTMtYmYxYy1jM2YwM2MyMzUwYTIiIHN0RXZ0OndoZW49IjIwMjItMDItMTFUMTk6MzA6NDcrMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyMi40IChNYWNpbnRvc2gpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDwvcmRmOlNlcT4gPC94bXBNTTpIaXN0b3J5PiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PohY4zsAABXKSURBVHictZ3Pbxw5dsc/bGvWnp0A6slpkYt6/wL1nHIK1L7m4p6/YGQgd2v+AsunIMjB2lsCJHH7L7CEIGe3gE0u+bGtW27TOm1u2wYym52xrW8OrGLxka+qWp6EGE0XycfHxy8fHx9ZZDl8+I9/IIYAIQCBAOk5ppM9h4p+P5rIM2Dje5SfA1OfDiCsLT+aNuS0FGWz31DEDW2Zvl84AHUFJQggAkEQ/wcoq0TqBHFp1KSXNCFmBQh5nR3RFFiA5vE3zIFDU58pp7zOdxA2SBtC2ABroW1Q6OpO9FmckLWnj/f9w0HHyzZUEdqi4diKB+NZWi/gmhFYQjhFHOfgp86iADTvpC79EHQC4SRLuwGtIayAzTgUWR2jacMhfPj3v8MbpvUQGh7W96PhNBBOIZz00u/Fy6Er8ps23EC4AC4h7P6/zcCkexSdtsW4ijjK4srotS+NTkFbxCvgZJDeMvZ4FXlFGibtGHgFbIFzxJQyuDw+LUwSo32ASZWWFY/RaAHaEht2FCk8HhRyFHk5b2XPJU0GUIe/AA5Bz4Ft7OCSdxn6ZBgOk37NKIUqK2mFL7XH0EyRLoG3wFFJo8RzsEOK+pz00cZXwB82o2UNzGv+P01bJz4Yo5o3EgfQstHOJ3uVGe0gB9DSDIxqa0mnE+A3oDOqkAF8T221LlUqtK+L1VRYu1gXKDzrmfG7yU8MuVh5o65t+ZQ3jzN/S5fJZdylCO2Ai/UymqhwirTr+Gfy3MPFOrBghKw9tmExNuo+TSFc0k5COU0B5gDg1xDWiDVBGwg7v85cXi2Ifu0C9MT4oTlt1Xkm6QnRHCyJE5pP76bZED7829/S787cy8WaQlgDx5/gYt0EwgWES0IL4k9xsRrfl/CkzN9jpfUOWDSLiALA/VyszqUaneUHXawp0hp0nIrWNJ7dfA36CjEXrEC7T3OxcjqBuASWoF8Cr21ZZzKypvIQWCPNvcx9QudSmfLaD5iYMAWtib5gJuVgB12DHgOnfPxhw92PcPce6SPS3RTpDFgTJmvCgwvCgymTA5j8DB48hAcPpxx8fh4OPl+Hg5+vw2dfXIaDL+ZOB2yBU6RfAlcjk1b+G4HNPQMPl54QPvzr3wwNy+45ywt2KK4J4WS0fKR/B+GcEC5S+t0PwARC+tuEMDkmTLL08I4wmREmu5gW1oTJSZRj0vJ/R5gs9P77TSOIYy5YQFgFOKpXUDl9Sr8hhAWwM8PdXX11oVhRtT9D7kyWDxekSWlIMwF0Q+z5C0OTNF+AlkjHUp5+B+gQ6bRJm4NOUGuOUl2RZtjFWoPmgitf0arEY+Cy5tVLD7TO/6BTXQ/9Bvcl6NmwqWj/p9eIBXElU9en9DdvQRIC3XV50cyANM1NkFpeCfCcb9GmSLsDlkIvrC0QVTyWOQHOLWw57zr4E1VleCpNnAmt+vNN2mvglL5JSHdEbWz+lP3lmmi0t4ibdE92N+0c9LRCxAfrOdFdc7LqtEmd4QxlExXAirjU62h9bX3tD8leTc3yW22t00twkxnwAC3Tso4VrBBPa+ArbW3bPPVxscBO+ioccLGWNHZUg0Nfr2k3LQxNzrIHsB6QXW2tnkvZ+xqf8lfAtxYH6iAdAWd9qpyHyWCFqZeNYBfjGyC6AU5HaLpnadH8zQyICHkAO3GVfD2tTY9d3Q3ZBfv4s9EMzAxPB7+DLiFfKpbLu1TwDMJRRwfOvsC7uKLpaLLlJPrhdwvC5G3uRoUwMLxDHBEBPY+m5G4X3aiWLjR1C8QjC2LWjoF9gSb/jKA5hOOOvuVhypzHEdiHUZr9a7R7tPWspqvip6Btr2Z+6pCXgLsj0HEFfNJW/Wk4+HwbDj5fhc++WA5qa5bWpO4wo6s3fAPMfHMRH7JNajMcPUFOQUcDLhbEldLlgJ3FA8z6mx7Ad4g7J72IS0g6An2D9CZ89vNtOPjiPHz2xdRVHjNpCcQG9KKTPW+/KXOOCZb3wCZ1rl2A2XMUZbkG2lM33wq3Q7pGurVA5q5U6WIZIH/boFeDW4GhI6Id3ITP/mhu2+i1WxAXJ+88SLKwBKZ9mXZF1WsGNCet7VVkp8hrlA17w6srEB7+8SY8+nIRHk5n4WeHASmgu18KfQ36wddUAbqRFJD+BGkCmoG+Bf090jVol5mBTE4RZ26tw2dfTCuTYF0sELtOgcoOSNp6CM284eA3qSrxKzwdcLHa+Lll1Tf0O+nboQ3aIl1K+s8Bm7or0m+RLrh7/xfcvV/w8ccvkb62mpv/cUg0YQPKk35XoGFtlZZ9mfXw9ytcVmBY8K4wG7uD4Nu41cjdgKYCmYtVaiOCjz9cgl4bF8suY3dWjkyGJi1TjAtLV5mNJ1C+lY3yTDq6Xm2d0bwBHQBn5UxaWaNL4QuaDEjt4Rkoz6uUojVBLS86OmmdN960qZ60VgZIg1Eqs/BwKZapTu8n21EO3fTzDnSZcUWmEsOrjo+6UX157WRWyFQC3gF/pfffb3uVp0rTFrhxCPKw9HhNTONygq4n5z0uViv0uovmYLX/K7Tivi5WC2DhGcgAZkbAzLhYMf8Gbw9iUFsBcTmirQU2MUxMzBTKCvYCBtBWbMvtfbol1z4PSHp2q8qhL0F4MAd9Y+vTFWKhD9/v3DbmrphtN+UIrMjM244u0xn+ORBtQWfodr28GdfEfql8R/7O0dbaHCgHJExOQevk17avbD78z1Iffr+rZS861sgT0wQbRzvL30WprQekNbDI1+jNenae0tsKzb4AQPvWMaNLQoWMVdOY6v1/BlbQo6iZkzR0Q0yH6JeeZhPRnKApupsRJovGF2153oJWkTYDa/xIJuU6PnZOOLE4eGQdjgcjFU79ClMH3IwesOjA9+NKoAH6RdKMfJMlgn4EelWmF8C3PDvaBz+7gskFH39YF7LjHMmsABJhZ8gSXfpdEF/Np2Btqm8znSGdIjtbth76HavKbJih5ttV42LdgL6KKzAFpMfEVdivRLPk7YZ+zuMJ6C0Hjy548GhatTXVX2KQEjbdvrEKerllRmZ/LWzBCvStYV4K1jxXk1bVoBrMji6l7ZA2WfoadBnC5CwQZujuMQlcl+cz0Do8+HzaqzyejXXT+pOg93WKk2YASzRbH6A2KpPlgl9tijjamtKKd1jKJ7SwRpoT9wF8ntKxyFxAt42+/HbEDfxKTAzYpXvR25O2Qp9uRFv3GPpdPNutovhL/S2AHXF0Xbs84/NxePD5qd/GUnnKZ0fhHG2dkJrr6XLup7kVbvPGuXSDLlaxLO3zV8m0tVq2OrJLS9C7miet5p915RwNdZVn79Mtzi6VFXSDuO6p8AYVoPcK5gmlIn0A3Cat2hfwtDXS7JBWrjlptLWaQ/JnV1vLNE+7Y5jY9K43MyZL4KpgcN2k70wFCbVSsLIBZSPchnfxwb0Bh2ekv0yrMW8EHDxa+LLncgLx8F1Kq7W1pFd+6Lf8bQnDDrEkaAphTrwIsU0LBtHvVAPW94P6RSHNyz0I1YLgDvuSr/FLyxeFjd9pDhCrWUSg7MVgU2c6i6t9FgTzkrY4QLzt6COPg5yJOSxcVqiwI2jd7yyTGjd2HyrmFuDnby/TgoBOw+rFQNapZM8534Le8tyQQimvaePMUbS8/duSje/8u8OgHLJlft4Qj65tTF7MNtrsPEk1jXGxys2Wlm3iteg1HeiGj3/YGe312zgjvueq5O/MQNs5HU6TPBL/yxteAKq8cPE8MsuX8bRKyTtH+kWliVW8fBmYy9W04e7DlLTVV3RKjF/Usqt+Rot+5QHiK5ed5VVpKiCmiu9y1sAasca8Jc1BGKiwaGhXxgNbRBB4OO5iZVpt/ppw9+M0yq6jntMt13z8cbWf7CwqGjtprU3xJnJg7YgWEFZR5Y0NOSGeylgiduMbEUV6Edf3v50BM4WwgDBFLAnhyE5mKm3gI0I2+ajdTMnY3/3hFCYXoEOQZ4dv0umZ/WRfxrLFplJHu+7yE4Zm9l9CeNPytDOpiKelWTfA77CEBYhtOXB3saLmP7e4F9pgJh8BmsdR04DUAvb+v2mOEM0Jk8OBXaxruFtyx64Tc1D2U4IOXeXpBF2X16Khu/IzJbCyhctfAB1D2ETN0iblC/ZysUxenpZXF/pcrIeE7NR2n4uVD/WYfit0HmgXA6FfJqutpz0uVgO6btsbLOUdrXZDZUm8t2kqs+YixY5Aa9QMjRwgQ1vZp5rODS04WaP3WG11S9r0d4XunoYwmQXC6p57FQvgpF92QXVsvaNr/FQWrnb72grxfv0bCC+IJ5IHhhJUPR59u+suLVUzIzR3WIMaxWk7p/k1jrwAXSvcEWALky3SmoOH61YjO7vr+cWZTNbXPbftz+lS2oVdELRZIrz/l78GwhY4gpZ5yyg0/2VDxtzMCBC4Il4E23Vlc9ryOa8joN//V55/DuF5cyOloZ3Q3EJ5ERtrbrIQHk5H64ifGSE9j9AvgLcj3xe4BhYdv5geGtoJ8aDVUdczRUhmoNCYLu0JsCFOJHm6fU5DKbcr5ZDMK83rK0xCitfO/2jcNU1JpinVXYacLqVfWH4xvyWbUF7AMgxqe9FT4RHwG8rj20OrlYpnYSPNZAS9djXvoFjflPihhE3GYKN4PmrptqGr/5z2NE6/7LeosKcFbX2PygNyXFvb55dEt2c6rK1FMY9VSjD2s/8ZQB//jDhqntNe6YwZx0jfAG+AHdIF7fWgTqYl4pmv6YbubKgBAiak80B9jRvSWm946ASxJTnOA9qqUrBaS1ve1YmUahgDYfKPqFyrK+MuQIfAM+I9/22jnX8OzdkpI2Il+zXt4RGZdEM7sQnZbwfUNehpWV9VoQGWQ9CbKEC7H+l1QF/IwXBMQqmhMX0V6wUXcB+wI+A50j81YNf1W15ndgT7ilav/f2wAr4indn0tM8DmSdRG/JDbk4vd2Fr8o3WgjmRYsAF2pFR8XS1tZbfBd/QvSCdxik7PZe3uvGHJY4Mpk18g5gJXfeWqbRQELXnDfEg28xraBYuiacIO5qujpVvBoD4su+w1sRSLmWY5bw9mQxYW9I5f1d5TPoEs1lbEgjsWaodYiF4YYeHI0hd4QlxEjm3DTVhR9wZus6ybkBf0x736bOrRoYxsErt8sHPEmfEUXQBzHuUJ/EL7//5rxbAW9+5b34Dj0lHW9KCYEH8OtmRsyDwnxP/cAucEsrv9NUO934fHAsLQtuGPpqijtEFwWDeDSGsiJ822ZZ1TogfCzBINw/577I0C2queQNX/ZNW8ZzY6Qh4Szz/OTPVFRrgHyAu4+UBiZ4yxm6OaWsfv2b0ipeg76Ddb+7waW3qTY+Na+mWXiJx13sJfE2yhY5QBjCT9wT4jrh/MK0bmrNzhqWlv2EYvBvQr0C3Xe4epqKvvi7jBPSK6EbOoTtLtSYPtbYeIdsbpj64JN4NuBru8Zy/oXtO3GQ58xq25wHi9YgmHgNnxPdOXxO/QfBuhOc+src5R8RzENP2wu+qKlyHC7zbGN3vjug6FVrbCu0IaLXvkLgi25Ku5ow11Mi79oeqic+a+GWsg6ninf+rqk2mg8ZkT/UcgU7b/dQNcGuZVtp6iHNjw3lReBmF5/W4trqNPwK9In1UJuZbVirYClq76pqKVN/MoVkpzhlfIj0lXZ4Y01YnPfJb5ld+zukNCcgnVJsmbcx0xo6obY/JO6u3x6uGQgI3+YjTEU3cOdpb0gzFd8SrS3Pip5deIG7rDhqSPYZ8RbWiV1sNn5dUb1fL3/S8bmzYC1qT0DcZ9Tf8COk56HeKX5JYuA29/8RGDopRjOiTnjcj7ivgV6B3+8o+waJ9Rhl8F+sV+acyi5HmuFjntO5X4pF3nNPjKuhi4jdCb2OjuSB+pHHWZJ5VvFP9/WD206SsTYPLFPga2vOvWdlC9nLtf0n+mqMvxKxXpKuGOb3XgwLSztVj5NXhgZFHTUOPQM+AN4jvGuKXwxMbNKakt849XKxL1HpKRUfUw9+gvSS/mm0alP1G2mfQ7J+qFaqnTNeTa2BBnHVvLS0OGHV87ztaVhNvac893XdfYG8XKz57H/vaUV6dHA4nZDO1sU3WJthnsSJ+4aED1wUjf74P+FXapTsa3DJOvADfbVPz07P1pzXw1BL3aitEH/MVUWtntYC13ckSVsCscWcycIc1o2NVNrSjyep8B7ro7yDLx9XWIfD7X6dkhLGSFQnYMjgAx3CC+E5xF33mVWiebY+vyDV3VDP64q4mnpEfpR8rM7ovMKytY5vUK8g+huW7WE5E3wDfNR0zM3lGW/MGpOemjB5jTnDfR1sN/bfki5Y9zcl++wK+tjqgVo1fETX2nS088Nu1L4IbX3Us8vyx4U30cZdER/xb0qaPLTdwR+sd0QW6uJ8m5jLmNLmow2D32dQyYUU8CnNbkbrkeaIggvuW6NKcUdrd3qEk6HzSOaIF+Arln+MwwNxEGs3IL3rcf2Lr11YX/K6zwvtf/yV+CNlP2oCdEjX3Sc9mdhUfON1yReAybvR+2umW7JuoBMLOfPJ47/LjNMVm9jnwfOA7s9cDNrUcEkC8i7ok7UQ59EWSDC/T60+IC4jfEd9/nZFubXsy9NrNdfxrr1jmZT1NLOMjdrOPR59MjE9UjjCCbv/0tbWHOW35OyQYx8BL0G+IGxuXxE8oz30etU3sWJUN7WjopSntrJVRHs0A+COgVo3Pw464sfKY9IbVAXJYW3EIDxstfkk88CDipHVB/LdXFr4N7ot/iiaWctWd2FVXjmilo5T3DAJCrCCENXFmXxDPMJ0ks9rSVb85D7D/oAE4B4hPiP80UtZQbglhC2yQdgTWzR2tDaG5Mt//TzZ1djCJNEBDHAsBZhBmnfxdfl5+YKLKgztpZdkmbQHhjMCT8q1kyMvV3+anx/APTCL5c8cr2Leeu45X2BDYeWWKSWtR0JwUfIcmues9NTXXsKE0IE0czIgrmVPSKe0ebS3Thg4QDx/WbWiSlh0bTWzAMfx643Waf4C41Paw97GfrA5n4vH3BbakfUg9RVz9n9zRcu2iFdKy2scm7j+x9U9ae09UVlhbidcgL08Qfdsl4kvFZe9VJ3xZrhW6J93IUNCNgv8Jk9RQvAf8+2mqG1qmngZXkR1xP2AJfEn0d1/Tvou/l7bmz3VDO1Z9mpizGumgXK5cW03o4vec/XMb4thUY7+8WT/anOaO1g7CJdJlYwtnxDtai/jLUXdxAXw75ti0TKbmI05Owz/Bru7tSXyyS1WGEjwna5ReW+LVnFUj8BQ0R2FBYB6f83NbpuxoQ2P6T3CxCsB7b70QPgXUMW0V5uNhjXaW/7hW/zX4tqh2xENxawOgtCAwhTBHzAiaEX3HI0/zYsl9wd+HJnXQLYEtcYm9y+i3P9H5J0eGCuB9eJQaN+5irZv0y/hjXKxpo9UgpsR/HTgHZtHVQyGvSduSXhJW8Q3NFzl88xL4X1GlmkWA8WUuAAAAAElFTkSuQmCC"}},"time_used":185,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":184,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null},{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"futurbcvndf.com/api/currency/new_timeshar?from=1785129781\u0026to=1785133381\u0026symbol=ETH%2FUSDT\u0026period=1min\u0026lang=en","fqdn":"futurbcvndf.com","domain":"futurbcvndf.com","tld":"com"},"ip":{"addr":"172.67.130.50","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://futurbcvndf.com/","date":"2026-07-27T06:23:02.398Z","timestamp":1785133382398,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"futurbcvndf.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 16 Jul 2026 16:36:02 GMT","end":"Wed, 14 Oct 2026 16:36:01 GMT"},"fingerprint":{"sha1":"46:2D:5F:F0:3D:BD:73:19:93:72:79:62:4A:45:03:09:5D:FB:1E:A5","sha256":"35:31:C4:67:1D:DB:68:C3:FB:49:03:14:DD:4E:76:FE:13:53:8D:98:98:2E:BE:EA:B8:CA:4F:B6:5B:7E:5C:1D"}}},"request":{"raw":"GET /api/currency/new_timeshar?from=1785129781\u0026to=1785133381\u0026symbol=ETH%2FUSDT\u0026period=1min\u0026lang=en HTTP/1.1\r\nHost: futurbcvndf.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nAuthorization: \r\nContent-Type: application/x-www-form-urlencoded\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://futurbcvndf.com/\r\nCookie: angela_session=eyJpdiI6ImthVjlKNTkxMWdNdThKcWdidXVcL0FRPT0iLCJ2YWx1ZSI6Ikg3dTFLbHNTNHpaTklMYzh1UmsrTWVyeGVmdkZDS0dhWnVZanVvNUliM0prZzd0NlQ0SmlHUStUbGJHUFZBTEZJWWRRU01wbG52cVczVFh2TU8zQzNWaGMrd1lpbWtEWVRHMFJkWXR4ZFVKWjNVY3JhTXVhemUwV0xPK0J4OEZaIiwibWFjIjoiZmUwMTM0OGEzZDFkYTljN2RjZGRmMmY4N2Y5NjgxNTAxYTEzOGQ1YzVkMmE2ZTQ0MDRmOGEyYjJkNzIyN2NjYyJ9\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\nserver: cloudflare\r\ndate: Mon, 27 Jul 2026 06:23:02 GMT\r\ncontent-type: application/json\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=dxBxaoQDaye%2FQoUO%2BXKXd2nhTufi6M7d1abWV68IL69kXHPp9lgyurL4Ue6eOvo4dcGQ6jEx7lRUnUyhztiFlSRQBIK7t%2BQbw84%2BfJANhePcL%2Bx5WI69%2F9k7kYSElnVgAIw%3D\"}]}\r\npriority: u=3,i=?0\r\ncache-control: no-cache, private, no-cache\r\naccess-control-allow-origin: *\r\naccess-control-allow-headers: Origin, Content-Type, Cookie, X-CSRF-TOKEN, Accept, Authorization, X-XSRF-TOKEN\r\naccess-control-expose-headers: Authorization, authenticated\r\naccess-control-allow-methods: GET, POST, PATCH, PUT, OPTIONS\r\naccess-control-allow-credentials: false\r\nset-cookie: angela_session=eyJpdiI6IjZQRzFHNGR5ZXpEa3lqalwvTjdoQUlBPT0iLCJ2YWx1ZSI6IjZlU1wvdkJENmIybWQwbG42NFZrdlRyZVBPemc0VjVWN3BvXC9cL3Q3elwvMGdWNFpzajMyZ2JXeFdKUVVGa055SktVS20rSXdJOXdKMXA0VDZSak1ERjYxM2VzRlRrUE9xVXFQOFcrc093UmdFQUpoMnBKMnhxWU1ZcCtWXC9XWGxGUVMiLCJtYWMiOiI2NmQ5OWQxYTUwZTEwOWRhZjdmOWViMjkwMmEyYjUwNzQyYjViOTVjNzE1Zjk0MWUxMGI0Y2ZiMWY4ODQ0NTBiIn0%3D; expires=Mon, 27-Jul-2026 08:23:02 GMT; Max-Age=7200; path=/; httponly\r\nstrict-transport-security: max-age=31536000\r\ncf-cache-status: DYNAMIC\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\ncontent-encoding: zstd\r\ncf-ray: a2198d97fa850daa-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":12987,"size_decoded":3655,"mime_type":"application/json","magic":"JSON text data","md5":"167da9d5f3bd711dd4a170a3f347a142","sha1":"b9d51bac3bbde3201bbab71a072ee4e4c84dde9e","sha256":"83131ca82c3f23c2454aa0f0ebe00d9141f5bcb882483ddef1081fbf278c10d1","sha512":"ee70aa7943ad5291ea643a551ce780f58c8a9f6280d1d1cba6ac7cfc80cf0d79ea41c55b76a3d0a80e4cb619e9466c21f831bee8ec22930d438e1f526233e47d","ssdeep":"384:XeXBGKozZ+8s9dBWMjLVxhd+86vF1C/VNDj6ZLChwpXD78coYvyMHQ9Ls4rsIBro:XeXBGKozZ+8s9dBWMjLVxhd+86vbC/VE","tlshash":"b8424c44c1b90da4d47a34c5eaa29c6c876a235b6082cfa542be49d234d25ffb115f3b","first_seen":"2026-07-27T06:23:39.764743Z","last_seen":"2026-07-27T06:23:39.764743Z","times_seen":1,"resource_available":false,"data":"eyJjb2RlIjoxLCJtc2ciOiJzdWNjZXNzIiwiZGF0YSI6W3siaWQiOjE3ODUxMjk4NDAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiRVRIIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6MTk1OC4wNiwiY2xvc2UiOjE5NTguODIsImhpZ2giOjE5NTkuMTcsImxvdyI6MTk1Ny45OCwidm9sIjoyODQuNzI3NzY1LCJhbW91bnQiOjAuMTQ1NCwidGltZSI6MTc4NTEyOTg0MDAwMCwidm9sdW1lIjowLjE0NTR9LHsiaWQiOjE3ODUxMjk5MDAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiRVRIIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6MTk1OC43MSwiY2xvc2UiOjE5NTguNDUsImhpZ2giOjE5NTguNzMsImxvdyI6MTk1OC4wOSwidm9sIjoyMS45MzM1NjgsImFtb3VudCI6MC4wMTEyLCJ0aW1lIjoxNzg1MTI5OTAwMDAwLCJ2b2x1bWUiOjAuMDExMn0seyJpZCI6MTc4NTEyOTk2MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJFVEgiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoxOTU4LjQ1LCJjbG9zZSI6MTk1OC4xMywiaGlnaCI6MTk1OC44MSwibG93IjoxOTU4LjEzLCJ2b2wiOjM4OTY5Ljc1NTMzMiwiYW1vdW50IjoxOS44OTg0LCJ0aW1lIjoxNzg1MTI5OTYwMDAwLCJ2b2x1bWUiOjE5Ljg5ODR9LHsiaWQiOjE3ODUxMzAwMjAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiRVRIIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6MTk1OC4xMywiY2xvc2UiOjE5NTkuNDgsImhpZ2giOjE5NTkuNDgsImxvdyI6MTk1OC4xMywidm9sIjozNzc5NS4zMDA4NTcsImFtb3VudCI6MTkuMjk5MSwidGltZSI6MTc4NTEzMDAyMDAwMCwidm9sdW1lIjoxOS4yOTkxfSx7ImlkIjoxNzg1MTMwMDgwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkVUSCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjE5NTkuMTQsImNsb3NlIjoxOTU4LjczLCJoaWdoIjoxOTU5LjI3LCJsb3ciOjE5NTguNzEsInZvbCI6Mzg2NTIuNzE0ODA3LCJhbW91bnQiOjE5LjcyOTEsInRpbWUiOjE3ODUxMzAwODAwMDAsInZvbHVtZSI6MTkuNzI5MX0seyJpZCI6MTc4NTEzMDE0MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJFVEgiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoxOTU4LjI3LCJjbG9zZSI6MTk1OS4wNiwiaGlnaCI6MTk1OS4wNiwibG93IjoxOTU4LjI3LCJ2b2wiOjExLjE2MzM5NSwiYW1vdW50IjowLjAwNTcsInRpbWUiOjE3ODUxMzAxNDAwMDAsInZvbHVtZSI6MC4wMDU3fSx7ImlkIjoxNzg1MTMwMjAwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkVUSCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjE5NTkuNCwiY2xvc2UiOjE5NTguOTYsImhpZ2giOjE5NTkuODMsImxvdyI6MTk1OC45Niwidm9sIjo0ODI2MC4yNDUzNjIsImFtb3VudCI6MjQuNjI4MSwidGltZSI6MTc4NTEzMDIwMDAwMCwidm9sdW1lIjoyNC42MjgxfSx7ImlkIjoxNzg1MTMwMjYwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkVUSCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjE5NTguOTYsImNsb3NlIjoxOTU4Ljk2LCJoaWdoIjoxOTU4Ljk2LCJsb3ciOjE5NTguOTYsInZvbCI6MCwiYW1vdW50IjowLCJ0aW1lIjoxNzg1MTMwMjYwMDAwLCJ2b2x1bWUiOjB9LHsiaWQiOjE3ODUxMzAzMjAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiRVRIIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6MTk1OS4wNSwiY2xvc2UiOjE5NTkuNDQsImhpZ2giOjE5NTkuNzksImxvdyI6MTk1OC41Mywidm9sIjo0My44NzY4MTEsImFtb3VudCI6MC4wMjI0LCJ0aW1lIjoxNzg1MTMwMzIwMDAwLCJ2b2x1bWUiOjAuMDIyNH0seyJpZCI6MTc4NTEzMDM4MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJFVEgiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoxOTU5Ljg0LCJjbG9zZSI6MTk1OC41NCwiaGlnaCI6MTk1OS45MiwibG93IjoxOTU4LjU0LCJ2b2wiOjMzNTMzLjQ1Nzk2OCwiYW1vdW50IjoxNy4xMTI0LCJ0aW1lIjoxNzg1MTMwMzgwMDAwLCJ2b2x1bWUiOjE3LjExMjR9LHsiaWQiOjE3ODUxMzA0NDAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiRVRIIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6MTk1OC41MywiY2xvc2UiOjE5NTguNSwiaGlnaCI6MTk1OC41MywibG93IjoxOTU3LjgyLCJ2b2wiOjU5Mzg0LjY3NDIwNSwiYW1vdW50IjozMC4zMjU4LCJ0aW1lIjoxNzg1MTMwNDQwMDAwLCJ2b2x1bWUiOjMwLjMyNTh9LHsiaWQiOjE3ODUxMzA1MDAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiRVRIIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6MTk1OC40NCwiY2xvc2UiOjE5NTguMjgsImhpZ2giOjE5NTguNDQsImxvdyI6MTk1OC4yOCwidm9sIjo4OTQzLjIxNjEzMiwiYW1vdW50Ijo0LjU2NjUsInRpbWUiOjE3ODUxMzA1MDAwMDAsInZvbHVtZSI6NC41NjY1fSx7ImlkIjoxNzg1MTMwNTYwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkVUSCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjE5NTguODcsImNsb3NlIjoxOTU4LjI5LCJoaWdoIjoxOTU4Ljg3LCJsb3ciOjE5NTguMjksInZvbCI6MTE1Mi43OTc0NzU2NCwiYW1vdW50IjowLjU4ODU2NTA2MzcyMzk2MzIsInRpbWUiOjE3ODUxMzA1NjAwMDAsInZvbHVtZSI6MC41ODg1NjUwNjM3MjM5NjMyfSx7ImlkIjoxNzg1MTMwNjIwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkVUSCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjE5NTguMTIsImNsb3NlIjoxOTU4LjA3LCJoaWdoIjoxOTU4LjEyLCJsb3ciOjE5NTguMDcsInZvbCI6MTgwNS4zNjM2ODUsImFtb3VudCI6MC45MjIsInRpbWUiOjE3ODUxMzA2MjAwMDAsInZvbHVtZSI6MC45MjJ9LHsiaWQiOjE3ODUxMzA2ODAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiRVRIIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6MTk1Ny44LCJjbG9zZSI6MTk1OS45OCwiaGlnaCI6MTk1OS45OSwibG93IjoxOTU3LjgsInZvbCI6MTkyMzcwLjM1NzA5MSwiYW1vdW50Ijo5OC4yMjc3LCJ0aW1lIjoxNzg1MTMwNjgwMDAwLCJ2b2x1bWUiOjk4LjIyNzd9LHsiaWQiOjE3ODUxMzA3NDAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiRVRIIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6MTk1OS45OCwiY2xvc2UiOjE5NTkuOTcsImhpZ2giOjE5NjAuOTQsImxvdyI6MTk1OS43Mywidm9sIjoxMDk0MTQuMTI3NjAxLCJhbW91bnQiOjU1LjgwMywidGltZSI6MTc4NTEzMDc0MDAwMCwidm9sdW1lIjo1NS44MDN9LHsiaWQiOjE3ODUxMzA4MDAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiRVRIIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6MTk1OS44MSwiY2xvc2UiOjE5NTkuODIsImhpZ2giOjE5NjAuMzgsImxvdyI6MTk1OC40NCwidm9sIjoyODQzNi45ODMwNDEsImFtb3VudCI6MTQuNTE0NiwidGltZSI6MTc4NTEzMDgwMDAwMCwidm9sdW1lIjoxNC41MTQ2fSx7ImlkIjoxNzg1MTMwODYwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkVUSCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjE5NTkuODQsImNsb3NlIjoxOTU5LjM4LCJoaWdoIjoxOTYwLjE2LCJsb3ciOjE5NTkuMzcsInZvbCI6MTE5NzE0LjA2MTYyNCwiYW1vdW50Ijo2MS4wODUxLCJ0aW1lIjoxNzg1MTMwODYwMDAwLCJ2b2x1bWUiOjYxLjA4NTF9LHsiaWQiOjE3ODUxMzA5MjAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiRVRIIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6MTk1OS42NiwiY2xvc2UiOjE5NTkuNzUsImhpZ2giOjE5NjAuMDcsImxvdyI6MTk1OS42Niwidm9sIjoyMTcyNy43NjczOCwiYW1vdW50IjoxMS4wODUyLCJ0aW1lIjoxNzg1MTMwOTIwMDAwLCJ2b2x1bWUiOjExLjA4NTJ9LHsiaWQiOjE3ODUxMzA5ODAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiRVRIIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6MTk1OS41MiwiY2xvc2UiOjE5NjAuNDMsImhpZ2giOjE5NjAuNDUsImxvdyI6MTk1OS41Miwidm9sIjo0NS44NjEwMTQsImFtb3VudCI6MC4wMjM0LCJ0aW1lIjoxNzg1MTMwOTgwMDAwLCJ2b2x1bWUiOjAuMDIzNH0seyJpZCI6MTc4NTEzMTA0MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJFVEgiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoxOTYwLjM0LCJjbG9zZSI6MTk1OS44NSwiaGlnaCI6MTk2MC4zNCwibG93IjoxOTU5Ljg1LCJ2b2wiOjg5ODMuNDA3ODgyLCJhbW91bnQiOjQuNTgyNiwidGltZSI6MTc4NTEzMTA0MDAwMCwidm9sdW1lIjo0LjU4MjZ9LHsiaWQiOjE3ODUxMzExMDAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiRVRIIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6MTk1OS44NSwiY2xvc2UiOjE5NTkuMTUsImhpZ2giOjE5NjAuMjUsImxvdyI6MTk1OS4xNSwidm9sIjoyMzY3Ny4wODk0MzcsImFtb3VudCI6MTIuMDgxMiwidGltZSI6MTc4NTEzMTEwMDAwMCwidm9sdW1lIjoxMi4wODEyfSx7ImlkIjoxNzg1MTMxMTYwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkVUSCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjE5NTguNjgsImNsb3NlIjoxOTU4LjMyLCJoaWdoIjoxOTU4LjgxLCJsb3ciOjE5NTguMDIsInZvbCI6MjYuNjMzNzg0LCJhbW91bnQiOjAuMDEzNiwidGltZSI6MTc4NTEzMTE2MDAwMCwidm9sdW1lIjowLjAxMzZ9LHsiaWQiOjE3ODUxMzEyMjAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiRVRIIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6MTk1OC4zMiwiY2xvc2UiOjE5NTguNzgsImhpZ2giOjE5NTksImxvdyI6MTk1Ny45OSwidm9sIjo5MjM1LjE0MDI5LCJhbW91bnQiOjQuNzE1OCwidGltZSI6MTc4NTEzMTIyMDAwMCwidm9sdW1lIjo0LjcxNTh9LHsiaWQiOjE3ODUxMzEyODAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiRVRIIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6MTk1OC43OCwiY2xvc2UiOjE5NTguNzQsImhpZ2giOjE5NTguNzgsImxvdyI6MTk1OC43NCwidm9sIjo3LjgzNDk5MiwiYW1vdW50IjowLjAwNCwidGltZSI6MTc4NTEzMTI4MDAwMCwidm9sdW1lIjowLjAwNH0seyJpZCI6MTc4NTEzMTM0MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJFVEgiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoxOTU4Ljc0LCJjbG9zZSI6MTk1OS42MSwiaGlnaCI6MTk1OS42MSwibG93IjoxOTU4LjA3LCJ2b2wiOjE5NDk4LjQ0MDkyNywiYW1vdW50Ijo5Ljk1NTcsInRpbWUiOjE3ODUxMzEzNDAwMDAsInZvbHVtZSI6OS45NTU3fSx7ImlkIjoxNzg1MTMxNDAwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkVUSCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjE5NTkuNDksImNsb3NlIjoxOTU4Ljg4LCJoaWdoIjoxOTU5LjQ5LCJsb3ciOjE5NTguODgsInZvbCI6MTUuMjgyMjkyLCJhbW91bnQiOjAuMDA3OCwidGltZSI6MTc4NTEzMTQwMDAwMCwidm9sdW1lIjowLjAwNzh9LHsiaWQiOjE3ODUxMzE0NjAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiRVRIIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6MTk1OC44NCwiY2xvc2UiOjE5NjAuMjQsImhpZ2giOjE5NjAuMjgsImxvdyI6MTk1OC44NCwidm9sIjozOTUwNi44NDg0MjcsImFtb3VudCI6MjAuMTYwNCwidGltZSI6MTc4NTEzMTQ2MDAwMCwidm9sdW1lIjoyMC4xNjA0fSx7ImlkIjoxNzg1MTMxNTIwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkVUSCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjE5NjAuMzksImNsb3NlIjoxOTYwLjI0LCJoaWdoIjoxOTYwLjM5LCJsb3ciOjE5NjAuMjQsInZvbCI6NTY2NS4yMDQyNjksImFtb3VudCI6Mi44ODk5LCJ0aW1lIjoxNzg1MTMxNTIwMDAwLCJ2b2x1bWUiOjIuODg5OX0seyJpZCI6MTc4NTEzMTU4MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJFVEgiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoxOTU5LjUsImNsb3NlIjoxOTU5LjU2LCJoaWdoIjoxOTU5LjU2LCJsb3ciOjE5NTkuMDcsInZvbCI6MzIxNTQuMjEzMTc4LCJhbW91bnQiOjE2LjQxMDUsInRpbWUiOjE3ODUxMzE1ODAwMDAsInZvbHVtZSI6MTYuNDEwNX0seyJpZCI6MTc4NTEzMTY0MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJFVEgiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoxOTU5LjgsImNsb3NlIjoxOTYwLjUsImhpZ2giOjE5NjAuNzIsImxvdyI6MTk1OS44LCJ2b2wiOjE5MTYxLjA5ODE4OCwiYW1vdW50Ijo5Ljc3NCwidGltZSI6MTc4NTEzMTY0MDAwMCwidm9sdW1lIjo5Ljc3NH0seyJpZCI6MTc4NTEzMTcwMCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJFVEgiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoxOTYwLjQ1LCJjbG9zZSI6MTk2MC43MywiaGlnaCI6MTk2MC43MywibG93IjoxOTYwLjQ1LCJ2b2wiOjE2OS4yMDgzMDQsImFtb3VudCI6MC4wODYzLCJ0aW1lIjoxNzg1MTMxNzAwMDAwLCJ2b2x1bWUiOjAuMDg2M30seyJpZCI6MTc4NTEzMTc2MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJFVEgiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoxOTYwLjkyLCJjbG9zZSI6MTk2MS4xNiwiaGlnaCI6MTk2MS41MSwibG93IjoxOTYwLjkyLCJ2b2wiOjE4NTE0LjgxMjg2LCJhbW91bnQiOjkuNDQxOSwidGltZSI6MTc4NTEzMTc2MDAwMCwidm9sdW1lIjo5LjQ0MTl9LHsiaWQiOjE3ODUxMzE4MjAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiRVRIIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6MTk2MS4zMywiY2xvc2UiOjE5NjUuNDEsImhpZ2giOjE5NjUuNSwibG93IjoxOTYxLjMzLCJ2b2wiOjE2MDUzOS40MTQ5NDg4MSwiYW1vdW50Ijo4MS43NTczOTMsInRpbWUiOjE3ODUxMzE4MjAwMDAsInZvbHVtZSI6ODEuNzU3MzkzfSx7ImlkIjoxNzg1MTMxODgwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkVUSCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjE5NjUuNSwiY2xvc2UiOjE5NjYuNjcsImhpZ2giOjE5NjkuNywibG93IjoxOTY1LjI4LCJ2b2wiOjE1MjI0Mi40MDE1MTM5MiwiYW1vdW50Ijo3Ny4zNDY3MzA5Nzc4NTkwNSwidGltZSI6MTc4NTEzMTg4MDAwMCwidm9sdW1lIjo3Ny4zNDY3MzA5Nzc4NTkwNX0seyJpZCI6MTc4NTEzMTk0MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJFVEgiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoxOTY2LjY0LCJjbG9zZSI6MTk2NS4zMiwiaGlnaCI6MTk2Ny4xMSwibG93IjoxOTY1LjMyLCJ2b2wiOjEwNzE4Ny42MjQ5NTgsImFtb3VudCI6NTQuNTM2OCwidGltZSI6MTc4NTEzMTk0MDAwMCwidm9sdW1lIjo1NC41MzY4fSx7ImlkIjoxNzg1MTMyMDAwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkVUSCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjE5NjUsImNsb3NlIjoxOTYzLjk1LCJoaWdoIjoxOTY1LCJsb3ciOjE5NjMuNzQsInZvbCI6NDMyMzUuMjg5MzI3LCJhbW91bnQiOjIyLjAwNTksInRpbWUiOjE3ODUxMzIwMDAwMDAsInZvbHVtZSI6MjIuMDA1OX0seyJpZCI6MTc4NTEzMjA2MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJFVEgiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoxOTY0LjAxLCJjbG9zZSI6MTk2My40LCJoaWdoIjoxOTY0Ljg1LCJsb3ciOjE5NjMuNCwidm9sIjoxNzU5NjYuNTc1NzMzLCJhbW91bnQiOjg5LjU4ODYsInRpbWUiOjE3ODUxMzIwNjAwMDAsInZvbHVtZSI6ODkuNTg4Nn0seyJpZCI6MTc4NTEzMjEyMCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJFVEgiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoxOTY0LjQ0LCJjbG9zZSI6MTk2NS4zNiwiaGlnaCI6MTk2Ni4xOSwibG93IjoxOTY0LjQ0LCJ2b2wiOjI5NTQ4LjQ2NTg3MywiYW1vdW50IjoxNS4wMzAyLCJ0aW1lIjoxNzg1MTMyMTIwMDAwLCJ2b2x1bWUiOjE1LjAzMDJ9LHsiaWQiOjE3ODUxMzIxODAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiRVRIIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6MTk2NS4xOSwiY2xvc2UiOjE5NjcuNiwiaGlnaCI6MTk2Ny43NSwibG93IjoxOTY1LjE5LCJ2b2wiOjQzMjc5LjgyOTk5LCJhbW91bnQiOjIyLjAwNTgsInRpbWUiOjE3ODUxMzIxODAwMDAsInZvbHVtZSI6MjIuMDA1OH0seyJpZCI6MTc4NTEzMjI0MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJFVEgiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoxOTY3LjQ2LCJjbG9zZSI6MTk2OC45MywiaGlnaCI6MTk2OC45MywibG93IjoxOTY2Ljg3LCJ2b2wiOjY3NTUzLjcwODI5MywiYW1vdW50IjozNC4zMzg2LCJ0aW1lIjoxNzg1MTMyMjQwMDAwLCJ2b2x1bWUiOjM0LjMzODZ9LHsiaWQiOjE3ODUxMzIzMDAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiRVRIIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6MTk2OC45MywiY2xvc2UiOjE5NjguNjMsImhpZ2giOjE5NjguOTMsImxvdyI6MTk2Ni45OSwidm9sIjoyNzM4Mi4wNzMzNDgsImFtb3VudCI6MTMuOTE0LCJ0aW1lIjoxNzg1MTMyMzAwMDAwLCJ2b2x1bWUiOjEzLjkxNH0seyJpZCI6MTc4NTEzMjM2MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJFVEgiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoxOTY4LjYzLCJjbG9zZSI6MTk3My45NSwiaGlnaCI6MTk4MS42NSwibG93IjoxOTY4LjYzLCJ2b2wiOjc2MDA4My44OTAwNDYyMTM1LCJhbW91bnQiOjM4NC44NDk0NjY0MTM3NTM0LCJ0aW1lIjoxNzg1MTMyMzYwMDAwLCJ2b2x1bWUiOjM4NC44NDk0NjY0MTM3NTM0fSx7ImlkIjoxNzg1MTMyNDIwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkVUSCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjE5NzMuODYsImNsb3NlIjoxOTcxLjQyLCJoaWdoIjoxOTc0LjAyLCJsb3ciOjE5NzAuMywidm9sIjoxMjg5MjMuMjczMDc0NDQwNSwiYW1vdW50Ijo2NS4zOTQ2ODU3NDU4NTk3NiwidGltZSI6MTc4NTEzMjQyMDAwMCwidm9sdW1lIjo2NS4zOTQ2ODU3NDU4NTk3Nn0seyJpZCI6MTc4NTEzMjQ4MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJFVEgiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoxOTcxLjUsImNsb3NlIjoxOTY3LjU5LCJoaWdoIjoxOTcxLjUsImxvdyI6MTk2Ni4xNywidm9sIjoxMDY1NTYuNzA4MDgzMzMxNDQsImFtb3VudCI6NTQuMTI4OTkyNTY2MTYwMDY1LCJ0aW1lIjoxNzg1MTMyNDgwMDAwLCJ2b2x1bWUiOjU0LjEyODk5MjU2NjE2MDA2NX0seyJpZCI6MTc4NTEzMjU0MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJFVEgiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoxOTY3LjIzLCJjbG9zZSI6MTk2OC42NCwiaGlnaCI6MTk2OC42OSwibG93IjoxOTY2LjE3LCJ2b2wiOjM0NDQyLjQzMDg3MywiYW1vdW50IjoxNy41MTE0LCJ0aW1lIjoxNzg1MTMyNTQwMDAwLCJ2b2x1bWUiOjE3LjUxMTR9LHsiaWQiOjE3ODUxMzI2MDAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiRVRIIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6MTk2OC40NSwiY2xvc2UiOjE5NzAuMTEsImhpZ2giOjE5NzAuOTMsImxvdyI6MTk2OC4zOSwidm9sIjoxMDc4OTIuNzM2MjcyLCJhbW91bnQiOjU0Ljc3MDYzNzg3NzgyNjU2LCJ0aW1lIjoxNzg1MTMyNjAwMDAwLCJ2b2x1bWUiOjU0Ljc3MDYzNzg3NzgyNjU2fSx7ImlkIjoxNzg1MTMyNjYwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkVUSCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjE5NzAuMDEsImNsb3NlIjoxOTcwLjUsImhpZ2giOjE5NzAuNjksImxvdyI6MTk2OS42LCJ2b2wiOjY3MTQ1LjUzMjMzMiwiYW1vdW50IjozNC4wNzczLCJ0aW1lIjoxNzg1MTMyNjYwMDAwLCJ2b2x1bWUiOjM0LjA3NzN9LHsiaWQiOjE3ODUxMzI3MjAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiRVRIIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6MTk3MC41LCJjbG9zZSI6MTk3MC4wNywiaGlnaCI6MTk3MS4yNiwibG93IjoxOTY5LjkyLCJ2b2wiOjEwMDQxMi4xMDEwMTQsImFtb3VudCI6NTAuOTUsInRpbWUiOjE3ODUxMzI3MjAwMDAsInZvbHVtZSI6NTAuOTV9LHsiaWQiOjE3ODUxMzI3ODAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiRVRIIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6MTk2OS40NSwiY2xvc2UiOjE5NjguMzUsImhpZ2giOjE5NjkuNjIsImxvdyI6MTk2Ny41MSwidm9sIjo4MTg3OC45OTk3NiwiYW1vdW50Ijo0MS41ODQsInRpbWUiOjE3ODUxMzI3ODAwMDAsInZvbHVtZSI6NDEuNTg0fSx7ImlkIjoxNzg1MTMyODQwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkVUSCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjE5NjguNzEsImNsb3NlIjoxOTY5LjQyLCJoaWdoIjoxOTY5LjU5LCJsb3ciOjE5NjguNzEsInZvbCI6Nzk3Ny44Mjk3OTksImFtb3VudCI6NC4wNTA4LCJ0aW1lIjoxNzg1MTMyODQwMDAwLCJ2b2x1bWUiOjQuMDUwOH0seyJpZCI6MTc4NTEzMjkwMCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJFVEgiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoxOTY5LjcyLCJjbG9zZSI6MTk3MC42NiwiaGlnaCI6MTk3MS4wNiwibG93IjoxOTY5LjM5LCJ2b2wiOjEwNDk1OS41ODI1NjksImFtb3VudCI6NTMuMjY2NSwidGltZSI6MTc4NTEzMjkwMDAwMCwidm9sdW1lIjo1My4yNjY1fSx7ImlkIjoxNzg1MTMyOTYwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkVUSCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjE5NjkuODIsImNsb3NlIjoxOTcwLjc2LCJoaWdoIjoxOTcxLjA2LCJsb3ciOjE5NjkuMjQsInZvbCI6MjM5MzkuMzA1MTY4LCJhbW91bnQiOjEyLjE1MTksInRpbWUiOjE3ODUxMzI5NjAwMDAsInZvbHVtZSI6MTIuMTUxOX0seyJpZCI6MTc4NTEzMzAyMCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJFVEgiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoxOTcxLjA5LCJjbG9zZSI6MTk3MC42MiwiaGlnaCI6MTk3MS40NSwibG93IjoxOTcwLjE1LCJ2b2wiOjQxMTcyLjQ3NTYzLCJhbW91bnQiOjIwLjg5MjQsInRpbWUiOjE3ODUxMzMwMjAwMDAsInZvbHVtZSI6MjAuODkyNH0seyJpZCI6MTc4NTEzMzA4MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJFVEgiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoxOTcwLjQ4LCJjbG9zZSI6MTk2OC4yNSwiaGlnaCI6MTk3MC40OCwibG93IjoxOTY3LjYxLCJ2b2wiOjQ1NjU4LjQxMzE4NywiYW1vdW50IjoyMy4xOTE5LCJ0aW1lIjoxNzg1MTMzMDgwMDAwLCJ2b2x1bWUiOjIzLjE5MTl9LHsiaWQiOjE3ODUxMzMxNDAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiRVRIIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6MTk2OC43NywiY2xvc2UiOjE5NjcuNzQsImhpZ2giOjE5NjguNzcsImxvdyI6MTk2Ny42MSwidm9sIjo0Mi43NDQ5MDQsImFtb3VudCI6MC4wMjE3MTYzNzU4Mjg2OTc3MDcsInRpbWUiOjE3ODUxMzMxNDAwMDAsInZvbHVtZSI6MC4wMjE3MTYzNzU4Mjg2OTc3MDd9LHsiaWQiOjE3ODUxMzMyMDAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiRVRIIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6MTk2Ny4yOSwiY2xvc2UiOjE5NjUuMzgsImhpZ2giOjE5NjcuMjksImxvdyI6MTk2NS4zNywidm9sIjo4NTQ4MC42NjYxNzY5MjU4NSwiYW1vdW50Ijo0My40NzY2ODU1NzExNDIyOCwidGltZSI6MTc4NTEzMzIwMDAwMCwidm9sdW1lIjo0My40NzY2ODU1NzExNDIyOH0seyJpZCI6MTc4NTEzMzI2MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJFVEgiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoxOTY1LjM3LCJjbG9zZSI6MTk2NS4zNSwiaGlnaCI6MTk2Ni4xMSwibG93IjoxOTY1LjIxLCJ2b2wiOjE1NzcuMDA4NzUxMzMyNDUwNiwiYW1vdW50IjowLjgwMjQ1MTUwMTkyMjAwNDksInRpbWUiOjE3ODUxMzMyNjAwMDAsInZvbHVtZSI6MC44MDI0NTE1MDE5MjIwMDQ5fSx7ImlkIjoxNzg1MTMzMzIwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IkVUSCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjE5NjUuNjYsImNsb3NlIjoxOTY0LjY3LCJoaWdoIjoxOTY1LjY2LCJsb3ciOjE5NjQuNTksInZvbCI6NTc3NDUuNDU2MzA0MTcyNzQ1LCJhbW91bnQiOjI5LjM4NTUyODM3NTMwOTksInRpbWUiOjE3ODUxMzMzMjAwMDAsInZvbHVtZSI6MjkuMzg1NTI4Mzc1MzA5OX0seyJpZCI6MTc4NTEzMzM4MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJFVEgiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoxOTY1LjA2LCJjbG9zZSI6MTk2NS4xMywiaGlnaCI6MTk2NS40MywibG93IjoxOTY0LjY3LCJ2b2wiOjE0LjU0MTc5NiwiYW1vdW50IjowLjAwNzQsInRpbWUiOjE3ODUxMzMzODAwMDAsInZvbHVtZSI6MC4wMDc0fV19"}},"time_used":324,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":239,"receive":85,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null},{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"futurbcvndf.com/api/currency/new_timeshar?from=1785129781\u0026to=1785133381\u0026symbol=XRP%2FUSDT\u0026period=1min\u0026lang=en","fqdn":"futurbcvndf.com","domain":"futurbcvndf.com","tld":"com"},"ip":{"addr":"172.67.130.50","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://futurbcvndf.com/","date":"2026-07-27T06:23:02.734Z","timestamp":1785133382734,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"futurbcvndf.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 16 Jul 2026 16:36:02 GMT","end":"Wed, 14 Oct 2026 16:36:01 GMT"},"fingerprint":{"sha1":"46:2D:5F:F0:3D:BD:73:19:93:72:79:62:4A:45:03:09:5D:FB:1E:A5","sha256":"35:31:C4:67:1D:DB:68:C3:FB:49:03:14:DD:4E:76:FE:13:53:8D:98:98:2E:BE:EA:B8:CA:4F:B6:5B:7E:5C:1D"}}},"request":{"raw":"GET /api/currency/new_timeshar?from=1785129781\u0026to=1785133381\u0026symbol=XRP%2FUSDT\u0026period=1min\u0026lang=en HTTP/1.1\r\nHost: futurbcvndf.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nAuthorization: \r\nContent-Type: application/x-www-form-urlencoded\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://futurbcvndf.com/\r\nCookie: angela_session=eyJpdiI6IjZQRzFHNGR5ZXpEa3lqalwvTjdoQUlBPT0iLCJ2YWx1ZSI6IjZlU1wvdkJENmIybWQwbG42NFZrdlRyZVBPemc0VjVWN3BvXC9cL3Q3elwvMGdWNFpzajMyZ2JXeFdKUVVGa055SktVS20rSXdJOXdKMXA0VDZSak1ERjYxM2VzRlRrUE9xVXFQOFcrc093UmdFQUpoMnBKMnhxWU1ZcCtWXC9XWGxGUVMiLCJtYWMiOiI2NmQ5OWQxYTUwZTEwOWRhZjdmOWViMjkwMmEyYjUwNzQyYjViOTVjNzE1Zjk0MWUxMGI0Y2ZiMWY4ODQ0NTBiIn0%3D\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\nserver: cloudflare\r\ndate: Mon, 27 Jul 2026 06:23:02 GMT\r\ncontent-type: application/json\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=icCGjmAPgnKQuRzVj893MyDAkdsoXkOpqpIFPW1atDmypdhxQb%2F7aiQefCRLhK8Zn2veRgY%2F2nQeyOJj8e3P%2FmGzUtJOMaQhWbFkV6QzpkkK5w4vQ8O%2FZ8oOy1tG6pim34k%3D\"}]}\r\npriority: u=3,i=?0\r\ncache-control: no-cache, private, no-cache\r\naccess-control-allow-origin: *\r\naccess-control-allow-headers: Origin, Content-Type, Cookie, X-CSRF-TOKEN, Accept, Authorization, X-XSRF-TOKEN\r\naccess-control-expose-headers: Authorization, authenticated\r\naccess-control-allow-methods: GET, POST, PATCH, PUT, OPTIONS\r\naccess-control-allow-credentials: false\r\nset-cookie: angela_session=eyJpdiI6Im5rSUpXYm8yV3hEd0hJN0x5SkFOaVE9PSIsInZhbHVlIjoiWE1oSllXTjdSc1g1blplOVFyWGhZVDJNXC9NSWlIaTNWZDc0NGtnaFRDc010TXp2NXFKS0RNMlc0XC9WZ3NDOW1iWFQrZmExVVNmT0xVNUlxUG5xYnBKd2pkY1pQQXBtWmtUd3FVckluNXo2NDIxKzA0Z2xzd2tzcXF1djVhM3FUZCIsIm1hYyI6Ijk1MGJiZjU0ZjRkNmFlZTE4MzAyOGZkNjkwOTgwNWEzNjEyYmM2NWUzZThkNGU4ZmMyYWM2ZGVjZTg3NjViM2MifQ%3D%3D; expires=Mon, 27-Jul-2026 08:23:02 GMT; Max-Age=7200; path=/; httponly\r\nstrict-transport-security: max-age=31536000\r\ncf-cache-status: DYNAMIC\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\ncontent-encoding: zstd\r\ncf-ray: a2198d9a1b0f0daa-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":11665,"size_decoded":2287,"mime_type":"application/json","magic":"JSON text data","md5":"371546ae21426bbc87018df0fe714b5c","sha1":"414581c6a092aa64080424d6917d3a42e64a04ee","sha256":"1b2b6ba7acda031561e0d58422fb904c53bddef2d4deff1a776f4f585121f326","sha512":"e94ca483fca52c61bf4805f2ad0cb39f75f43984a17be7873d98106f71d584a097f9f546c62c241c0ea1694564c97b147c1c43178128e9398da04c74fe815f78","ssdeep":"96:SMB9MBYMB3MB0MBVM5YMNgMNpMNcMNHMNscMNEMN7MN0MN1MNnMNgMNpMN/cMNwv:NcpNP9t","tlshash":"ad32394887b94161e07a70d42ce39f7dbe6ee152a492cf18c2fe0885d9d51f9b202d3b","first_seen":"2026-07-27T06:23:39.766344Z","last_seen":"2026-07-27T06:23:39.766344Z","times_seen":1,"resource_available":false,"data":"eyJjb2RlIjoxLCJtc2ciOiJzdWNjZXNzIiwiZGF0YSI6W3siaWQiOjE3ODUxMjk4NDAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiWFJQIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6MS4xMDgwOSwiY2xvc2UiOjEuMTA4MDksImhpZ2giOjEuMTA4MDksImxvdyI6MS4xMDgwOSwidm9sIjowLCJhbW91bnQiOjAsInRpbWUiOjE3ODUxMjk4NDAwMDAsInZvbHVtZSI6MH0seyJpZCI6MTc4NTEyOTkwMCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJYUlAiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoxLjEwODA5LCJjbG9zZSI6MS4xMDgwOSwiaGlnaCI6MS4xMDgwOSwibG93IjoxLjEwODA5LCJ2b2wiOjAsImFtb3VudCI6MCwidGltZSI6MTc4NTEyOTkwMDAwMCwidm9sdW1lIjowfSx7ImlkIjoxNzg1MTI5OTYwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IlhSUCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjEuMTA4MDksImNsb3NlIjoxLjEwODA5LCJoaWdoIjoxLjEwODA5LCJsb3ciOjEuMTA4MDksInZvbCI6MCwiYW1vdW50IjowLCJ0aW1lIjoxNzg1MTI5OTYwMDAwLCJ2b2x1bWUiOjB9LHsiaWQiOjE3ODUxMzAwMjAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiWFJQIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6MS4xMDgwOSwiY2xvc2UiOjEuMTA4MDksImhpZ2giOjEuMTA4MDksImxvdyI6MS4xMDgwOSwidm9sIjowLCJhbW91bnQiOjAsInRpbWUiOjE3ODUxMzAwMjAwMDAsInZvbHVtZSI6MH0seyJpZCI6MTc4NTEzMDA4MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJYUlAiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoxLjEwODA5LCJjbG9zZSI6MS4xMDgwOSwiaGlnaCI6MS4xMDgwOSwibG93IjoxLjEwODA5LCJ2b2wiOjAsImFtb3VudCI6MCwidGltZSI6MTc4NTEzMDA4MDAwMCwidm9sdW1lIjowfSx7ImlkIjoxNzg1MTMwMTQwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IlhSUCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjEuMTA4NDgsImNsb3NlIjoxLjEwNzI5LCJoaWdoIjoxLjEwODQ4LCJsb3ciOjEuMTA3MjksInZvbCI6MTIyLjIyNjQsImFtb3VudCI6MTEwLjMxODU0NDMxMjkzMzAzLCJ0aW1lIjoxNzg1MTMwMTQwMDAwLCJ2b2x1bWUiOjExMC4zMTg1NDQzMTI5MzMwM30seyJpZCI6MTc4NTEzMDIwMCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJYUlAiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoxLjEwNzI5LCJjbG9zZSI6MS4xMDcyOSwiaGlnaCI6MS4xMDcyOSwibG93IjoxLjEwNzI5LCJ2b2wiOjAsImFtb3VudCI6MCwidGltZSI6MTc4NTEzMDIwMDAwMCwidm9sdW1lIjowfSx7ImlkIjoxNzg1MTMwMjYwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IlhSUCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjEuMTA3MjksImNsb3NlIjoxLjEwNzI5LCJoaWdoIjoxLjEwNzI5LCJsb3ciOjEuMTA3MjksInZvbCI6MCwiYW1vdW50IjowLCJ0aW1lIjoxNzg1MTMwMjYwMDAwLCJ2b2x1bWUiOjB9LHsiaWQiOjE3ODUxMzAzMjAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiWFJQIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6MS4xMDcyOSwiY2xvc2UiOjEuMTA3MjksImhpZ2giOjEuMTA3MjksImxvdyI6MS4xMDcyOSwidm9sIjowLCJhbW91bnQiOjAsInRpbWUiOjE3ODUxMzAzMjAwMDAsInZvbHVtZSI6MH0seyJpZCI6MTc4NTEzMDM4MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJYUlAiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoxLjEwNzI5LCJjbG9zZSI6MS4xMDcyOSwiaGlnaCI6MS4xMDcyOSwibG93IjoxLjEwNzI5LCJ2b2wiOjAsImFtb3VudCI6MCwidGltZSI6MTc4NTEzMDM4MDAwMCwidm9sdW1lIjowfSx7ImlkIjoxNzg1MTMwNDQwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IlhSUCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjEuMTA3MjksImNsb3NlIjoxLjEwNzI5LCJoaWdoIjoxLjEwNzI5LCJsb3ciOjEuMTA3MjksInZvbCI6MCwiYW1vdW50IjowLCJ0aW1lIjoxNzg1MTMwNDQwMDAwLCJ2b2x1bWUiOjB9LHsiaWQiOjE3ODUxMzA1MDAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiWFJQIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6MS4xMDcyOSwiY2xvc2UiOjEuMTA3MjksImhpZ2giOjEuMTA3MjksImxvdyI6MS4xMDcyOSwidm9sIjowLCJhbW91bnQiOjAsInRpbWUiOjE3ODUxMzA1MDAwMDAsInZvbHVtZSI6MH0seyJpZCI6MTc4NTEzMDU2MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJYUlAiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoxLjEwNzI5LCJjbG9zZSI6MS4xMDcyOSwiaGlnaCI6MS4xMDcyOSwibG93IjoxLjEwNzI5LCJ2b2wiOjAsImFtb3VudCI6MCwidGltZSI6MTc4NTEzMDU2MDAwMCwidm9sdW1lIjowfSx7ImlkIjoxNzg1MTMwNjIwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IlhSUCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjEuMTA3MjksImNsb3NlIjoxLjEwNzI5LCJoaWdoIjoxLjEwNzI5LCJsb3ciOjEuMTA3MjksInZvbCI6MCwiYW1vdW50IjowLCJ0aW1lIjoxNzg1MTMwNjIwMDAwLCJ2b2x1bWUiOjB9LHsiaWQiOjE3ODUxMzA2ODAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiWFJQIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6MS4xMDcyOSwiY2xvc2UiOjEuMTA3MjksImhpZ2giOjEuMTA3MjksImxvdyI6MS4xMDcyOSwidm9sIjowLCJhbW91bnQiOjAsInRpbWUiOjE3ODUxMzA2ODAwMDAsInZvbHVtZSI6MH0seyJpZCI6MTc4NTEzMDc0MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJYUlAiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoxLjEwNzI5LCJjbG9zZSI6MS4xMDcyOSwiaGlnaCI6MS4xMDcyOSwibG93IjoxLjEwNzI5LCJ2b2wiOjAsImFtb3VudCI6MCwidGltZSI6MTc4NTEzMDc0MDAwMCwidm9sdW1lIjowfSx7ImlkIjoxNzg1MTMwODAwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IlhSUCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjEuMTA3MjksImNsb3NlIjoxLjEwNzI5LCJoaWdoIjoxLjEwNzI5LCJsb3ciOjEuMTA3MjksInZvbCI6MCwiYW1vdW50IjowLCJ0aW1lIjoxNzg1MTMwODAwMDAwLCJ2b2x1bWUiOjB9LHsiaWQiOjE3ODUxMzA4NjAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiWFJQIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6MS4xMDcyOSwiY2xvc2UiOjEuMTA3MjksImhpZ2giOjEuMTA3MjksImxvdyI6MS4xMDcyOSwidm9sIjowLCJhbW91bnQiOjAsInRpbWUiOjE3ODUxMzA4NjAwMDAsInZvbHVtZSI6MH0seyJpZCI6MTc4NTEzMDkyMCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJYUlAiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoxLjEwNzI5LCJjbG9zZSI6MS4xMDcyOSwiaGlnaCI6MS4xMDcyOSwibG93IjoxLjEwNzI5LCJ2b2wiOjAsImFtb3VudCI6MCwidGltZSI6MTc4NTEzMDkyMDAwMCwidm9sdW1lIjowfSx7ImlkIjoxNzg1MTMwOTgwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IlhSUCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjEuMTA3MjksImNsb3NlIjoxLjEwNzI5LCJoaWdoIjoxLjEwNzI5LCJsb3ciOjEuMTA3MjksInZvbCI6MCwiYW1vdW50IjowLCJ0aW1lIjoxNzg1MTMwOTgwMDAwLCJ2b2x1bWUiOjB9LHsiaWQiOjE3ODUxMzEwNDAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiWFJQIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6MS4xMDcyOSwiY2xvc2UiOjEuMTA3MjksImhpZ2giOjEuMTA3MjksImxvdyI6MS4xMDcyOSwidm9sIjowLCJhbW91bnQiOjAsInRpbWUiOjE3ODUxMzEwNDAwMDAsInZvbHVtZSI6MH0seyJpZCI6MTc4NTEzMTEwMCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJYUlAiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoxLjEwNzI5LCJjbG9zZSI6MS4xMDcyOSwiaGlnaCI6MS4xMDcyOSwibG93IjoxLjEwNzI5LCJ2b2wiOjAsImFtb3VudCI6MCwidGltZSI6MTc4NTEzMTEwMDAwMCwidm9sdW1lIjowfSx7ImlkIjoxNzg1MTMxMTYwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IlhSUCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjEuMTA3MjksImNsb3NlIjoxLjEwNzI5LCJoaWdoIjoxLjEwNzI5LCJsb3ciOjEuMTA3MjksInZvbCI6MCwiYW1vdW50IjowLCJ0aW1lIjoxNzg1MTMxMTYwMDAwLCJ2b2x1bWUiOjB9LHsiaWQiOjE3ODUxMzEyMjAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiWFJQIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6MS4xMDcyOSwiY2xvc2UiOjEuMTA3MjksImhpZ2giOjEuMTA3MjksImxvdyI6MS4xMDcyOSwidm9sIjowLCJhbW91bnQiOjAsInRpbWUiOjE3ODUxMzEyMjAwMDAsInZvbHVtZSI6MH0seyJpZCI6MTc4NTEzMTI4MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJYUlAiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoxLjEwNzI5LCJjbG9zZSI6MS4xMDcyOSwiaGlnaCI6MS4xMDcyOSwibG93IjoxLjEwNzI5LCJ2b2wiOjAsImFtb3VudCI6MCwidGltZSI6MTc4NTEzMTI4MDAwMCwidm9sdW1lIjowfSx7ImlkIjoxNzg1MTMxMzQwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IlhSUCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjEuMTA3MjksImNsb3NlIjoxLjEwNzI5LCJoaWdoIjoxLjEwNzI5LCJsb3ciOjEuMTA3MjksInZvbCI6MCwiYW1vdW50IjowLCJ0aW1lIjoxNzg1MTMxMzQwMDAwLCJ2b2x1bWUiOjB9LHsiaWQiOjE3ODUxMzE0MDAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiWFJQIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6MS4xMDcyOSwiY2xvc2UiOjEuMTA3MjksImhpZ2giOjEuMTA3MjksImxvdyI6MS4xMDcyOSwidm9sIjowLCJhbW91bnQiOjAsInRpbWUiOjE3ODUxMzE0MDAwMDAsInZvbHVtZSI6MH0seyJpZCI6MTc4NTEzMTQ2MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJYUlAiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoxLjEwNzI5LCJjbG9zZSI6MS4xMDcyOSwiaGlnaCI6MS4xMDcyOSwibG93IjoxLjEwNzI5LCJ2b2wiOjAsImFtb3VudCI6MCwidGltZSI6MTc4NTEzMTQ2MDAwMCwidm9sdW1lIjowfSx7ImlkIjoxNzg1MTMxNTIwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IlhSUCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjEuMTA3MjksImNsb3NlIjoxLjEwNzI5LCJoaWdoIjoxLjEwNzI5LCJsb3ciOjEuMTA3MjksInZvbCI6MCwiYW1vdW50IjowLCJ0aW1lIjoxNzg1MTMxNTIwMDAwLCJ2b2x1bWUiOjB9LHsiaWQiOjE3ODUxMzE1ODAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiWFJQIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6MS4xMDcyOSwiY2xvc2UiOjEuMTA3MjksImhpZ2giOjEuMTA3MjksImxvdyI6MS4xMDcyOSwidm9sIjowLCJhbW91bnQiOjAsInRpbWUiOjE3ODUxMzE1ODAwMDAsInZvbHVtZSI6MH0seyJpZCI6MTc4NTEzMTY0MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJYUlAiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoxLjEwNzI5LCJjbG9zZSI6MS4xMDcyOSwiaGlnaCI6MS4xMDcyOSwibG93IjoxLjEwNzI5LCJ2b2wiOjAsImFtb3VudCI6MCwidGltZSI6MTc4NTEzMTY0MDAwMCwidm9sdW1lIjowfSx7ImlkIjoxNzg1MTMxNzAwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IlhSUCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjEuMTA3MjksImNsb3NlIjoxLjEwNzI5LCJoaWdoIjoxLjEwNzI5LCJsb3ciOjEuMTA3MjksInZvbCI6MCwiYW1vdW50IjowLCJ0aW1lIjoxNzg1MTMxNzAwMDAwLCJ2b2x1bWUiOjB9LHsiaWQiOjE3ODUxMzE3NjAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiWFJQIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6MS4xMDcyOSwiY2xvc2UiOjEuMTA3MjksImhpZ2giOjEuMTA3MjksImxvdyI6MS4xMDcyOSwidm9sIjowLCJhbW91bnQiOjAsInRpbWUiOjE3ODUxMzE3NjAwMDAsInZvbHVtZSI6MH0seyJpZCI6MTc4NTEzMTgyMCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJYUlAiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoxLjEwNzI5LCJjbG9zZSI6MS4xMDcyOSwiaGlnaCI6MS4xMDcyOSwibG93IjoxLjEwNzI5LCJ2b2wiOjAsImFtb3VudCI6MCwidGltZSI6MTc4NTEzMTgyMDAwMCwidm9sdW1lIjowfSx7ImlkIjoxNzg1MTMxODgwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IlhSUCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjEuMTA4OSwiY2xvc2UiOjEuMTA5MTUsImhpZ2giOjEuMTA5MTUsImxvdyI6MS4xMDg5LCJ2b2wiOjM1LjQ1ODk5ODksImFtb3VudCI6MzEuOTcsInRpbWUiOjE3ODUxMzE4ODAwMDAsInZvbHVtZSI6MzEuOTd9LHsiaWQiOjE3ODUxMzE5NDAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiWFJQIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6MS4xMDkxNSwiY2xvc2UiOjEuMTA5MTUsImhpZ2giOjEuMTA5MTUsImxvdyI6MS4xMDkxNSwidm9sIjowLCJhbW91bnQiOjAsInRpbWUiOjE3ODUxMzE5NDAwMDAsInZvbHVtZSI6MH0seyJpZCI6MTc4NTEzMjAwMCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJYUlAiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoxLjEwOTE1LCJjbG9zZSI6MS4xMDkxNSwiaGlnaCI6MS4xMDkxNSwibG93IjoxLjEwOTE1LCJ2b2wiOjAsImFtb3VudCI6MCwidGltZSI6MTc4NTEzMjAwMDAwMCwidm9sdW1lIjowfSx7ImlkIjoxNzg1MTMyMDYwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IlhSUCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjEuMTA5NjksImNsb3NlIjoxLjEwOTY5LCJoaWdoIjoxLjEwOTY5LCJsb3ciOjEuMTA5NjksInZvbCI6MS4wNjUzMDI0LCJhbW91bnQiOjAuOTYsInRpbWUiOjE3ODUxMzIwNjAwMDAsInZvbHVtZSI6MC45Nn0seyJpZCI6MTc4NTEzMjEyMCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJYUlAiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoxLjEwOTY5LCJjbG9zZSI6MS4xMDk2OSwiaGlnaCI6MS4xMDk2OSwibG93IjoxLjEwOTY5LCJ2b2wiOjAsImFtb3VudCI6MCwidGltZSI6MTc4NTEzMjEyMDAwMCwidm9sdW1lIjowfSx7ImlkIjoxNzg1MTMyMTgwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IlhSUCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjEuMTA5NjksImNsb3NlIjoxLjEwOTY5LCJoaWdoIjoxLjEwOTY5LCJsb3ciOjEuMTA5NjksInZvbCI6MCwiYW1vdW50IjowLCJ0aW1lIjoxNzg1MTMyMTgwMDAwLCJ2b2x1bWUiOjB9LHsiaWQiOjE3ODUxMzIyNDAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiWFJQIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6MS4xMSwiY2xvc2UiOjEuMTEsImhpZ2giOjEuMTEsImxvdyI6MS4xMSwidm9sIjozMjc0Ni45OTgsImFtb3VudCI6Mjk1MDEuOCwidGltZSI6MTc4NTEzMjI0MDAwMCwidm9sdW1lIjoyOTUwMS44fSx7ImlkIjoxNzg1MTMyMzAwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IlhSUCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjEuMTEsImNsb3NlIjoxLjExLCJoaWdoIjoxLjExLCJsb3ciOjEuMTA5OTksInZvbCI6MTg5MTQuNDgxNTA4MiwiYW1vdW50IjoxNzA0MC4yLCJ0aW1lIjoxNzg1MTMyMzAwMDAwLCJ2b2x1bWUiOjE3MDQwLjJ9LHsiaWQiOjE3ODUxMzIzNjAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiWFJQIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6MS4xMSwiY2xvc2UiOjEuMTEyNTIsImhpZ2giOjEuMTEyNTIsImxvdyI6MS4xMSwidm9sIjoyNDk0NzQuNDA4MzQ0MywiYW1vdW50IjoyMjQ3NTEuNjgsInRpbWUiOjE3ODUxMzIzNjAwMDAsInZvbHVtZSI6MjI0NzUxLjY4fSx7ImlkIjoxNzg1MTMyNDIwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IlhSUCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjEuMTEyNTIsImNsb3NlIjoxLjExMjUyLCJoaWdoIjoxLjExMjUyLCJsb3ciOjEuMTEyNTIsInZvbCI6MCwiYW1vdW50IjowLCJ0aW1lIjoxNzg1MTMyNDIwMDAwLCJ2b2x1bWUiOjB9LHsiaWQiOjE3ODUxMzI0ODAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiWFJQIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6MS4xMTEzNywiY2xvc2UiOjEuMTExMzcsImhpZ2giOjEuMTExMzcsImxvdyI6MS4xMTEzNywidm9sIjoxMzcxLjIzMDUzMzQsImFtb3VudCI6MTIzMy44MiwidGltZSI6MTc4NTEzMjQ4MDAwMCwidm9sdW1lIjoxMjMzLjgyfSx7ImlkIjoxNzg1MTMyNTQwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IlhSUCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjEuMTA4OTgsImNsb3NlIjoxLjEwODk4LCJoaWdoIjoxLjEwODk4LCJsb3ciOjEuMTA4OTgsInZvbCI6NS40MzQwMDIsImFtb3VudCI6NC45LCJ0aW1lIjoxNzg1MTMyNTQwMDAwLCJ2b2x1bWUiOjQuOX0seyJpZCI6MTc4NTEzMjYwMCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJYUlAiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoxLjEwODk4LCJjbG9zZSI6MS4xMDg5OCwiaGlnaCI6MS4xMDg5OCwibG93IjoxLjEwODk4LCJ2b2wiOjAsImFtb3VudCI6MCwidGltZSI6MTc4NTEzMjYwMDAwMCwidm9sdW1lIjowfSx7ImlkIjoxNzg1MTMyNjYwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IlhSUCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjEuMTA4OTgsImNsb3NlIjoxLjEwODk4LCJoaWdoIjoxLjEwODk4LCJsb3ciOjEuMTA4OTgsInZvbCI6MCwiYW1vdW50IjowLCJ0aW1lIjoxNzg1MTMyNjYwMDAwLCJ2b2x1bWUiOjB9LHsiaWQiOjE3ODUxMzI3MjAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiWFJQIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6MS4xMDg5OCwiY2xvc2UiOjEuMTA4OTgsImhpZ2giOjEuMTA4OTgsImxvdyI6MS4xMDg5OCwidm9sIjowLCJhbW91bnQiOjAsInRpbWUiOjE3ODUxMzI3MjAwMDAsInZvbHVtZSI6MH0seyJpZCI6MTc4NTEzMjc4MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJYUlAiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoxLjEwODk4LCJjbG9zZSI6MS4xMDg5OCwiaGlnaCI6MS4xMDg5OCwibG93IjoxLjEwODk4LCJ2b2wiOjAsImFtb3VudCI6MCwidGltZSI6MTc4NTEzMjc4MDAwMCwidm9sdW1lIjowfSx7ImlkIjoxNzg1MTMyODQwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IlhSUCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjEuMTA4OTgsImNsb3NlIjoxLjEwODk4LCJoaWdoIjoxLjEwODk4LCJsb3ciOjEuMTA4OTgsInZvbCI6MCwiYW1vdW50IjowLCJ0aW1lIjoxNzg1MTMyODQwMDAwLCJ2b2x1bWUiOjB9LHsiaWQiOjE3ODUxMzI5MDAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiWFJQIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6MS4xMDg5OCwiY2xvc2UiOjEuMTA4OTgsImhpZ2giOjEuMTA4OTgsImxvdyI6MS4xMDg5OCwidm9sIjowLCJhbW91bnQiOjAsInRpbWUiOjE3ODUxMzI5MDAwMDAsInZvbHVtZSI6MH0seyJpZCI6MTc4NTEzMjk2MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJYUlAiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoxLjEwODk4LCJjbG9zZSI6MS4xMDg5OCwiaGlnaCI6MS4xMDg5OCwibG93IjoxLjEwODk4LCJ2b2wiOjAsImFtb3VudCI6MCwidGltZSI6MTc4NTEzMjk2MDAwMCwidm9sdW1lIjowfSx7ImlkIjoxNzg1MTMzMDIwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IlhSUCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjEuMTA4OTgsImNsb3NlIjoxLjEwODk4LCJoaWdoIjoxLjEwODk4LCJsb3ciOjEuMTA4OTgsInZvbCI6MCwiYW1vdW50IjowLCJ0aW1lIjoxNzg1MTMzMDIwMDAwLCJ2b2x1bWUiOjB9LHsiaWQiOjE3ODUxMzMwODAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiWFJQIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6MS4xMTEwMywiY2xvc2UiOjEuMTExMDMsImhpZ2giOjEuMTExMDMsImxvdyI6MS4xMTEwMywidm9sIjoyNTQuMzcwMzE4NSwiYW1vdW50IjoyMjguOTUsInRpbWUiOjE3ODUxMzMwODAwMDAsInZvbHVtZSI6MjI4Ljk1fSx7ImlkIjoxNzg1MTMzMTQwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IlhSUCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjEuMTExMDMsImNsb3NlIjoxLjExMTAzLCJoaWdoIjoxLjExMTAzLCJsb3ciOjEuMTExMDMsInZvbCI6MCwiYW1vdW50IjowLCJ0aW1lIjoxNzg1MTMzMTQwMDAwLCJ2b2x1bWUiOjB9LHsiaWQiOjE3ODUxMzMyMDAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiWFJQIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6MS4xMTEwMywiY2xvc2UiOjEuMTExMDMsImhpZ2giOjEuMTExMDMsImxvdyI6MS4xMTEwMywidm9sIjowLCJhbW91bnQiOjAsInRpbWUiOjE3ODUxMzMyMDAwMDAsInZvbHVtZSI6MH0seyJpZCI6MTc4NTEzMzI2MCwicGVyaW9kIjoiMW1pbiIsImJhc2UtY3VycmVuY3kiOiJYUlAiLCJxdW90ZS1jdXJyZW5jeSI6IlVTRFQiLCJvcGVuIjoxLjExMTAzLCJjbG9zZSI6MS4xMTEwMywiaGlnaCI6MS4xMTEwMywibG93IjoxLjExMTAzLCJ2b2wiOjAsImFtb3VudCI6MCwidGltZSI6MTc4NTEzMzI2MDAwMCwidm9sdW1lIjowfSx7ImlkIjoxNzg1MTMzMzIwLCJwZXJpb2QiOiIxbWluIiwiYmFzZS1jdXJyZW5jeSI6IlhSUCIsInF1b3RlLWN1cnJlbmN5IjoiVVNEVCIsIm9wZW4iOjEuMTExMDMsImNsb3NlIjoxLjExMTAzLCJoaWdoIjoxLjExMTAzLCJsb3ciOjEuMTExMDMsInZvbCI6MCwiYW1vdW50IjowLCJ0aW1lIjoxNzg1MTMzMzIwMDAwLCJ2b2x1bWUiOjB9LHsiaWQiOjE3ODUxMzMzODAsInBlcmlvZCI6IjFtaW4iLCJiYXNlLWN1cnJlbmN5IjoiWFJQIiwicXVvdGUtY3VycmVuY3kiOiJVU0RUIiwib3BlbiI6MS4xMTEwMywiY2xvc2UiOjEuMTExMDMsImhpZ2giOjEuMTExMDMsImxvdyI6MS4xMTEwMywidm9sIjowLCJhbW91bnQiOjAsInRpbWUiOjE3ODUxMzMzODAwMDAsInZvbHVtZSI6MH1dfQ=="}},"time_used":214,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":214,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null},{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"unpkg.com/web3modal@1.9.12/dist/index.js","fqdn":"unpkg.com","domain":"unpkg.com","tld":"com"},"ip":{"addr":"104.18.1.22","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://futurbcvndf.com/","date":"2026-07-27T06:23:00.391Z","timestamp":1785133380391,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"unpkg.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Sat, 11 Jul 2026 17:56:32 GMT","end":"Fri, 09 Oct 2026 18:56:21 GMT"},"fingerprint":{"sha1":"81:08:7C:A2:AA:81:B4:77:02:EE:53:FB:23:6F:1D:97:C3:92:2E:A0","sha256":"13:42:07:B0:BF:53:83:27:C3:6E:69:00:B5:F0:1C:58:6C:AD:B4:DD:93:08:84:F0:97:51:3B:60:91:10:85:76"}}},"request":{"raw":"GET /web3modal@1.9.12/dist/index.js HTTP/1.1\r\nHost: unpkg.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nReferer: https://futurbcvndf.com/\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ndate: Mon, 27 Jul 2026 06:23:00 GMT\r\ncontent-type: text/javascript; charset=utf-8\r\ncf-ray: a2198d8b7ecf8deb-OSL\r\ncf-cache-status: HIT\r\npriority: u=3,i=?0\r\naccess-control-allow-origin: *\r\nage: 7202\r\ncache-control: public, max-age=31536000\r\nexpires: Tue, 27 Jul 2027 06:23:00 GMT\r\nlast-modified: Mon, 27 Jul 2026 04:22:58 GMT\r\nserver: cloudflare\r\nstrict-transport-security: max-age=31536000; includeSubDomains; preload\r\nvary: accept-encoding\r\nvia: 1.1 fly.io, 1.1 fly.io\r\naccess-control-allow-headers: *\r\naccess-control-allow-methods: GET, HEAD, OPTIONS\r\naccess-control-expose-headers: *\r\ncross-origin-resource-policy: cross-origin\r\nx-content-type-options: nosniff\r\ncontent-digest: sha256=:DOQhem5BBdos9ioGeJ89mZpMba4f+7yP47WxLYNz28s=:\r\nfly-request-id: 01KX28YGWX2TEV3SE6DZSBVKEX-fra\r\ncontent-encoding: gzip\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Fly.io","description":"Fly is a platform for running full stack apps and databases.","website":"https://fly.io","common_platform_enumeration":"","icon":"Fly.io.png","categories":["PaaS"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]},{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]}],"data":{"size":493905,"size_decoded":215858,"mime_type":"text/javascript; charset=utf-8","magic":"JavaScript source, ASCII text, with very long lines (49676)","md5":"b75e5b4aa819a4e0db65d09f304ffca5","sha1":"322a4343cbc52f87360eece8baf8107535e1e153","sha256":"0ce4217a6e4105da2cf62a06789f3d999a4c6dae1ffbbc8fe3b5b12d8373dbcb","sha512":"7bfe99b2371a31bfe270481c6a4c26b77ae40ba7d696dd875acc847464f1c1be4bf2b96399cb9f68fefa038101f7d966e5eb914fa7f37ff6dfd87f693886d57b","ssdeep":"6144:i7Q8a7NJ7oiJhdJ0zIwKu4YcacueJ3px/1ikVAwkOfuQ8s:oQr7NJ0iXdKveF9JAwRVT","tlshash":"a5b4aee73583f42107b23ab740af2c06b23c691718098990f295edd494bd69e916bffd","first_seen":"2023-03-13T10:07:14Z","last_seen":"2026-07-27T06:23:39.768229Z","times_seen":182,"resource_available":true,"data":"IWZ1bmN0aW9uKGUsdCl7Im9iamVjdCI9PXR5cGVvZiBleHBvcnRzJiYib2JqZWN0Ij09dHlwZW9mIG1vZHVsZT9tb2R1bGUuZXhwb3J0cz10KCk6ImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoIldlYjNNb2RhbCIsW10sdCk6Im9iamVjdCI9PXR5cGVvZiBleHBvcnRzP2V4cG9ydHMuV2ViM01vZGFsPXQoKTplLldlYjNNb2RhbD10KCl9KHRoaXMsKGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3ZhciB0PXt9O2Z1bmN0aW9uIG4oaSl7aWYodFtpXSlyZXR1cm4gdFtpXS5leHBvcnRzO3ZhciByPXRbaV09e2k6aSxsOiExLGV4cG9ydHM6e319O3JldHVybiBlW2ldLmNhbGwoci5leHBvcnRzLHIsci5leHBvcnRzLG4pLHIubD0hMCxyLmV4cG9ydHN9cmV0dXJuIG4ubT1lLG4uYz10LG4uZD1mdW5jdGlvbihlLHQsaSl7bi5vKGUsdCl8fE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHQse2VudW1lcmFibGU6ITAsZ2V0Oml9KX0sbi5yPWZ1bmN0aW9uKGUpeyJ1bmRlZmluZWQiIT10eXBlb2YgU3ltYm9sJiZTeW1ib2wudG9TdHJpbmdUYWcmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFN5bWJvbC50b1N0cmluZ1RhZyx7dmFsdWU6Ik1vZHVsZSJ9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSl9LG4udD1mdW5jdGlvbihlLHQpe2lmKDEmdCYmKGU9bihlKSksOCZ0KXJldHVybiBlO2lmKDQmdCYmIm9iamVjdCI9PXR5cGVvZiBlJiZlJiZlLl9fZXNNb2R1bGUpcmV0dXJuIGU7dmFyIGk9T2JqZWN0LmNyZWF0ZShudWxsKTtpZihuLnIoaSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGksImRlZmF1bHQiLHtlbnVtZXJhYmxlOiEwLHZhbHVlOmV9KSwyJnQmJiJzdHJpbmciIT10eXBlb2YgZSlmb3IodmFyIHIgaW4gZSluLmQoaSxyLGZ1bmN0aW9uKHQpe3JldHVybiBlW3RdfS5iaW5kKG51bGwscikpO3JldHVybiBpfSxuLm49ZnVuY3Rpb24oZSl7dmFyIHQ9ZSYmZS5fX2VzTW9kdWxlP2Z1bmN0aW9uKCl7cmV0dXJuIGUuZGVmYXVsdH06ZnVuY3Rpb24oKXtyZXR1cm4gZX07cmV0dXJuIG4uZCh0LCJhIix0KSx0fSxuLm89ZnVuY3Rpb24oZSx0KXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsdCl9LG4ucD0iIixuKG4ucz0yNSl9KFtmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO24ucih0KSxuLmQodCwiX19leHRlbmRzIiwoZnVuY3Rpb24oKXtyZXR1cm4gcn0pKSxuLmQodCwiX19hc3NpZ24iLChmdW5jdGlvbigpe3JldHVybiBNfSkpLG4uZCh0LCJfX3Jlc3QiLChmdW5jdGlvbigpe3JldHVybiB1fSkpLG4uZCh0LCJfX2RlY29yYXRlIiwoZnVuY3Rpb24oKXtyZXR1cm4gb30pKSxuLmQodCwiX19wYXJhbSIsKGZ1bmN0aW9uKCl7cmV0dXJuIGN9KSksbi5kKHQsIl9fbWV0YWRhdGEiLChmdW5jdGlvbigpe3JldHVybiBhfSkpLG4uZCh0LCJfX2F3YWl0ZXIiLChmdW5jdGlvbigpe3JldHVybiBJfSkpLG4uZCh0LCJfX2dlbmVyYXRvciIsKGZ1bmN0aW9uKCl7cmV0dXJuIGx9KSksbi5kKHQsIl9fY3JlYXRlQmluZGluZyIsKGZ1bmN0aW9uKCl7cmV0dXJuIE59KSksbi5kKHQsIl9fZXhwb3J0U3RhciIsKGZ1bmN0aW9uKCl7cmV0dXJuIGp9KSksbi5kKHQsIl9fdmFsdWVzIiwoZnVuY3Rpb24oKXtyZXR1cm4gZ30pKSxuLmQodCwiX19yZWFkIiwoZnVuY3Rpb24oKXtyZXR1cm4gc30pKSxuLmQodCwiX19zcHJlYWQiLChmdW5jdGlvbigpe3JldHVybiBBfSkpLG4uZCh0LCJfX3NwcmVhZEFycmF5cyIsKGZ1bmN0aW9uKCl7cmV0dXJuIER9KSksbi5kKHQsIl9fc3ByZWFkQXJyYXkiLChmdW5jdGlvbigpe3JldHVybiBkfSkpLG4uZCh0LCJfX2F3YWl0IiwoZnVuY3Rpb24oKXtyZXR1cm4gVH0pKSxuLmQodCwiX19hc3luY0dlbmVyYXRvciIsKGZ1bmN0aW9uKCl7cmV0dXJuIHl9KSksbi5kKHQsIl9fYXN5bmNEZWxlZ2F0b3IiLChmdW5jdGlvbigpe3JldHVybiB6fSkpLG4uZCh0LCJfX2FzeW5jVmFsdWVzIiwoZnVuY3Rpb24oKXtyZXR1cm4gd30pKSxuLmQodCwiX19tYWtlVGVtcGxhdGVPYmplY3QiLChmdW5jdGlvbigpe3JldHVybiBmfSkpLG4uZCh0LCJfX2ltcG9ydFN0YXIiLChmdW5jdGlvbigpe3JldHVybiBFfSkpLG4uZCh0LCJfX2ltcG9ydERlZmF1bHQiLChmdW5jdGlvbigpe3JldHVybiBDfSkpLG4uZCh0LCJfX2NsYXNzUHJpdmF0ZUZpZWxkR2V0IiwoZnVuY3Rpb24oKXtyZXR1cm4geH0pKSxuLmQodCwiX19jbGFzc1ByaXZhdGVGaWVsZFNldCIsKGZ1bmN0aW9uKCl7cmV0dXJuIHB9KSk7Ci8qISAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpDb3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi4KClBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZC9vciBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgZm9yIGFueQpwdXJwb3NlIHdpdGggb3Igd2l0aG91dCBmZWUgaXMgaGVyZWJ5IGdyYW50ZWQuCgpUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiBBTkQgVEhFIEFVVEhPUiBESVNDTEFJTVMgQUxMIFdBUlJBTlRJRVMgV0lUSApSRUdBUkQgVE8gVEhJUyBTT0ZUV0FSRSBJTkNMVURJTkcgQUxMIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkKQU5EIEZJVE5FU1MuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUiBBTlkgU1BFQ0lBTCwgRElSRUNULApJTkRJUkVDVCwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIE9SIEFOWSBEQU1BR0VTIFdIQVRTT0VWRVIgUkVTVUxUSU5HIEZST00KTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1IKT1RIRVIgVE9SVElPVVMgQUNUSU9OLCBBUklTSU5HIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFVTRSBPUgpQRVJGT1JNQU5DRSBPRiBUSElTIFNPRlRXQVJFLgoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAqLwp2YXIgaT1mdW5jdGlvbihlLHQpe3JldHVybihpPU9iamVjdC5zZXRQcm90b3R5cGVPZnx8e19fcHJvdG9fXzpbXX1pbnN0YW5jZW9mIEFycmF5JiZmdW5jdGlvbihlLHQpe2UuX19wcm90b19fPXR9fHxmdW5jdGlvbihlLHQpe2Zvcih2YXIgbiBpbiB0KU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LG4pJiYoZVtuXT10W25dKX0pKGUsdCl9O2Z1bmN0aW9uIHIoZSx0KXtpZigiZnVuY3Rpb24iIT10eXBlb2YgdCYmbnVsbCE9PXQpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2xhc3MgZXh0ZW5kcyB2YWx1ZSAiK1N0cmluZyh0KSsiIGlzIG5vdCBhIGNvbnN0cnVjdG9yIG9yIG51bGwiKTtmdW5jdGlvbiBuKCl7dGhpcy5jb25zdHJ1Y3Rvcj1lfWkoZSx0KSxlLnByb3RvdHlwZT1udWxsPT09dD9PYmplY3QuY3JlYXRlKHQpOihuLnByb3RvdHlwZT10LnByb3RvdHlwZSxuZXcgbil9dmFyIE09ZnVuY3Rpb24oKXtyZXR1cm4oTT1PYmplY3QuYXNzaWdufHxmdW5jdGlvbihlKXtmb3IodmFyIHQsbj0xLGk9YXJndW1lbnRzLmxlbmd0aDtuPGk7bisrKWZvcih2YXIgciBpbiB0PWFyZ3VtZW50c1tuXSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxyKSYmKGVbcl09dFtyXSk7cmV0dXJuIGV9KS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9O2Z1bmN0aW9uIHUoZSx0KXt2YXIgbj17fTtmb3IodmFyIGkgaW4gZSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxpKSYmdC5pbmRleE9mKGkpPDAmJihuW2ldPWVbaV0pO2lmKG51bGwhPWUmJiJmdW5jdGlvbiI9PXR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKXt2YXIgcj0wO2ZvcihpPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoZSk7cjxpLmxlbmd0aDtyKyspdC5pbmRleE9mKGlbcl0pPDAmJk9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChlLGlbcl0pJiYobltpW3JdXT1lW2lbcl1dKX1yZXR1cm4gbn1mdW5jdGlvbiBvKGUsdCxuLGkpe3ZhciByLE09YXJndW1lbnRzLmxlbmd0aCx1PU08Mz90Om51bGw9PT1pP2k9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0LG4pOmk7aWYoIm9iamVjdCI9PXR5cGVvZiBSZWZsZWN0JiYiZnVuY3Rpb24iPT10eXBlb2YgUmVmbGVjdC5kZWNvcmF0ZSl1PVJlZmxlY3QuZGVjb3JhdGUoZSx0LG4saSk7ZWxzZSBmb3IodmFyIG89ZS5sZW5ndGgtMTtvPj0wO28tLSkocj1lW29dKSYmKHU9KE08Mz9yKHUpOk0+Mz9yKHQsbix1KTpyKHQsbikpfHx1KTtyZXR1cm4gTT4zJiZ1JiZPYmplY3QuZGVmaW5lUHJvcGVydHkodCxuLHUpLHV9ZnVuY3Rpb24gYyhlLHQpe3JldHVybiBmdW5jdGlvbihuLGkpe3QobixpLGUpfX1mdW5jdGlvbiBhKGUsdCl7aWYoIm9iamVjdCI9PXR5cGVvZiBSZWZsZWN0JiYiZnVuY3Rpb24iPT10eXBlb2YgUmVmbGVjdC5tZXRhZGF0YSlyZXR1cm4gUmVmbGVjdC5tZXRhZGF0YShlLHQpfWZ1bmN0aW9uIEkoZSx0LG4saSl7cmV0dXJuIG5ldyhufHwobj1Qcm9taXNlKSkoKGZ1bmN0aW9uKHIsTSl7ZnVuY3Rpb24gdShlKXt0cnl7YyhpLm5leHQoZSkpfWNhdGNoKGUpe00oZSl9fWZ1bmN0aW9uIG8oZSl7dHJ5e2MoaS50aHJvdyhlKSl9Y2F0Y2goZSl7TShlKX19ZnVuY3Rpb24gYyhlKXt2YXIgdDtlLmRvbmU/cihlLnZhbHVlKToodD1lLnZhbHVlLHQgaW5zdGFuY2VvZiBuP3Q6bmV3IG4oKGZ1bmN0aW9uKGUpe2UodCl9KSkpLnRoZW4odSxvKX1jKChpPWkuYXBwbHkoZSx0fHxbXSkpLm5leHQoKSl9KSl9ZnVuY3Rpb24gbChlLHQpe3ZhciBuLGkscixNLHU9e2xhYmVsOjAsc2VudDpmdW5jdGlvbigpe2lmKDEmclswXSl0aHJvdyByWzFdO3JldHVybiByWzFdfSx0cnlzOltdLG9wczpbXX07cmV0dXJuIE09e25leHQ6bygwKSx0aHJvdzpvKDEpLHJldHVybjpvKDIpfSwiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiYoTVtTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KSxNO2Z1bmN0aW9uIG8oTSl7cmV0dXJuIGZ1bmN0aW9uKG8pe3JldHVybiBmdW5jdGlvbihNKXtpZihuKXRocm93IG5ldyBUeXBlRXJyb3IoIkdlbmVyYXRvciBpcyBhbHJlYWR5IGV4ZWN1dGluZy4iKTtmb3IoO3U7KXRyeXtpZihuPTEsaSYmKHI9MiZNWzBdP2kucmV0dXJuOk1bMF0/aS50aHJvd3x8KChyPWkucmV0dXJuKSYmci5jYWxsKGkpLDApOmkubmV4dCkmJiEocj1yLmNhbGwoaSxNWzFdKSkuZG9uZSlyZXR1cm4gcjtzd2l0Y2goaT0wLHImJihNPVsyJk1bMF0sci52YWx1ZV0pLE1bMF0pe2Nhc2UgMDpjYXNlIDE6cj1NO2JyZWFrO2Nhc2UgNDpyZXR1cm4gdS5sYWJlbCsrLHt2YWx1ZTpNWzFdLGRvbmU6ITF9O2Nhc2UgNTp1LmxhYmVsKyssaT1NWzFdLE09WzBdO2NvbnRpbnVlO2Nhc2UgNzpNPXUub3BzLnBvcCgpLHUudHJ5cy5wb3AoKTtjb250aW51ZTtkZWZhdWx0OmlmKCEocj11LnRyeXMsKHI9ci5sZW5ndGg+MCYmcltyLmxlbmd0aC0xXSl8fDYhPT1NWzBdJiYyIT09TVswXSkpe3U9MDtjb250aW51ZX1pZigzPT09TVswXSYmKCFyfHxNWzFdPnJbMF0mJk1bMV08clszXSkpe3UubGFiZWw9TVsxXTticmVha31pZig2PT09TVswXSYmdS5sYWJlbDxyWzFdKXt1LmxhYmVsPXJbMV0scj1NO2JyZWFrfWlmKHImJnUubGFiZWw8clsyXSl7dS5sYWJlbD1yWzJdLHUub3BzLnB1c2goTSk7YnJlYWt9clsyXSYmdS5vcHMucG9wKCksdS50cnlzLnBvcCgpO2NvbnRpbnVlfU09dC5jYWxsKGUsdSl9Y2F0Y2goZSl7TT1bNixlXSxpPTB9ZmluYWxseXtuPXI9MH1pZig1Jk1bMF0pdGhyb3cgTVsxXTtyZXR1cm57dmFsdWU6TVswXT9NWzFdOnZvaWQgMCxkb25lOiEwfX0oW00sb10pfX19dmFyIE49T2JqZWN0LmNyZWF0ZT9mdW5jdGlvbihlLHQsbixpKXt2b2lkIDA9PT1pJiYoaT1uKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxpLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0W25dfX0pfTpmdW5jdGlvbihlLHQsbixpKXt2b2lkIDA9PT1pJiYoaT1uKSxlW2ldPXRbbl19O2Z1bmN0aW9uIGooZSx0KXtmb3IodmFyIG4gaW4gZSkiZGVmYXVsdCI9PT1ufHxPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxuKXx8Tih0LGUsbil9ZnVuY3Rpb24gZyhlKXt2YXIgdD0iZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiZTeW1ib2wuaXRlcmF0b3Isbj10JiZlW3RdLGk9MDtpZihuKXJldHVybiBuLmNhbGwoZSk7aWYoZSYmIm51bWJlciI9PXR5cGVvZiBlLmxlbmd0aClyZXR1cm57bmV4dDpmdW5jdGlvbigpe3JldHVybiBlJiZpPj1lLmxlbmd0aCYmKGU9dm9pZCAwKSx7dmFsdWU6ZSYmZVtpKytdLGRvbmU6IWV9fX07dGhyb3cgbmV3IFR5cGVFcnJvcih0PyJPYmplY3QgaXMgbm90IGl0ZXJhYmxlLiI6IlN5bWJvbC5pdGVyYXRvciBpcyBub3QgZGVmaW5lZC4iKX1mdW5jdGlvbiBzKGUsdCl7dmFyIG49ImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmZVtTeW1ib2wuaXRlcmF0b3JdO2lmKCFuKXJldHVybiBlO3ZhciBpLHIsTT1uLmNhbGwoZSksdT1bXTt0cnl7Zm9yKDsodm9pZCAwPT09dHx8dC0tID4wKSYmIShpPU0ubmV4dCgpKS5kb25lOyl1LnB1c2goaS52YWx1ZSl9Y2F0Y2goZSl7cj17ZXJyb3I6ZX19ZmluYWxseXt0cnl7aSYmIWkuZG9uZSYmKG49TS5yZXR1cm4pJiZuLmNhbGwoTSl9ZmluYWxseXtpZihyKXRocm93IHIuZXJyb3J9fXJldHVybiB1fWZ1bmN0aW9uIEEoKXtmb3IodmFyIGU9W10sdD0wO3Q8YXJndW1lbnRzLmxlbmd0aDt0KyspZT1lLmNvbmNhdChzKGFyZ3VtZW50c1t0XSkpO3JldHVybiBlfWZ1bmN0aW9uIEQoKXtmb3IodmFyIGU9MCx0PTAsbj1hcmd1bWVudHMubGVuZ3RoO3Q8bjt0KyspZSs9YXJndW1lbnRzW3RdLmxlbmd0aDt2YXIgaT1BcnJheShlKSxyPTA7Zm9yKHQ9MDt0PG47dCsrKWZvcih2YXIgTT1hcmd1bWVudHNbdF0sdT0wLG89TS5sZW5ndGg7dTxvO3UrKyxyKyspaVtyXT1NW3VdO3JldHVybiBpfWZ1bmN0aW9uIGQoZSx0LG4pe2lmKG58fDI9PT1hcmd1bWVudHMubGVuZ3RoKWZvcih2YXIgaSxyPTAsTT10Lmxlbmd0aDtyPE07cisrKSFpJiZyIGluIHR8fChpfHwoaT1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh0LDAscikpLGlbcl09dFtyXSk7cmV0dXJuIGUuY29uY2F0KGl8fEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKHQpKX1mdW5jdGlvbiBUKGUpe3JldHVybiB0aGlzIGluc3RhbmNlb2YgVD8odGhpcy52PWUsdGhpcyk6bmV3IFQoZSl9ZnVuY3Rpb24geShlLHQsbil7aWYoIVN5bWJvbC5hc3luY0l0ZXJhdG9yKXRocm93IG5ldyBUeXBlRXJyb3IoIlN5bWJvbC5hc3luY0l0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLiIpO3ZhciBpLHI9bi5hcHBseShlLHR8fFtdKSxNPVtdO3JldHVybiBpPXt9LHUoIm5leHQiKSx1KCJ0aHJvdyIpLHUoInJldHVybiIpLGlbU3ltYm9sLmFzeW5jSXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9LGk7ZnVuY3Rpb24gdShlKXtyW2VdJiYoaVtlXT1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IFByb21pc2UoKGZ1bmN0aW9uKG4saSl7TS5wdXNoKFtlLHQsbixpXSk+MXx8byhlLHQpfSkpfSl9ZnVuY3Rpb24gbyhlLHQpe3RyeXsobj1yW2VdKHQpKS52YWx1ZSBpbnN0YW5jZW9mIFQ/UHJvbWlzZS5yZXNvbHZlKG4udmFsdWUudikudGhlbihjLGEpOkkoTVswXVsyXSxuKX1jYXRjaChlKXtJKE1bMF1bM10sZSl9dmFyIG59ZnVuY3Rpb24gYyhlKXtvKCJuZXh0IixlKX1mdW5jdGlvbiBhKGUpe28oInRocm93IixlKX1mdW5jdGlvbiBJKGUsdCl7ZSh0KSxNLnNoaWZ0KCksTS5sZW5ndGgmJm8oTVswXVswXSxNWzBdWzFdKX19ZnVuY3Rpb24geihlKXt2YXIgdCxuO3JldHVybiB0PXt9LGkoIm5leHQiKSxpKCJ0aHJvdyIsKGZ1bmN0aW9uKGUpe3Rocm93IGV9KSksaSgicmV0dXJuIiksdFtTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9LHQ7ZnVuY3Rpb24gaShpLHIpe3RbaV09ZVtpXT9mdW5jdGlvbih0KXtyZXR1cm4obj0hbik/e3ZhbHVlOlQoZVtpXSh0KSksZG9uZToicmV0dXJuIj09PWl9OnI/cih0KTp0fTpyfX1mdW5jdGlvbiB3KGUpe2lmKCFTeW1ib2wuYXN5bmNJdGVyYXRvcil0aHJvdyBuZXcgVHlwZUVycm9yKCJTeW1ib2wuYXN5bmNJdGVyYXRvciBpcyBub3QgZGVmaW5lZC4iKTt2YXIgdCxuPWVbU3ltYm9sLmFzeW5jSXRlcmF0b3JdO3JldHVybiBuP24uY2FsbChlKTooZT1nKGUpLHQ9e30saSgibmV4dCIpLGkoInRocm93IiksaSgicmV0dXJuIiksdFtTeW1ib2wuYXN5bmNJdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30sdCk7ZnVuY3Rpb24gaShuKXt0W25dPWVbbl0mJmZ1bmN0aW9uKHQpe3JldHVybiBuZXcgUHJvbWlzZSgoZnVuY3Rpb24oaSxyKXsoZnVuY3Rpb24oZSx0LG4saSl7UHJvbWlzZS5yZXNvbHZlKGkpLnRoZW4oKGZ1bmN0aW9uKHQpe2Uoe3ZhbHVlOnQsZG9uZTpufSl9KSx0KX0pKGksciwodD1lW25dKHQpKS5kb25lLHQudmFsdWUpfSkpfX19ZnVuY3Rpb24gZihlLHQpe3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHk/T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsInJhdyIse3ZhbHVlOnR9KTplLnJhdz10LGV9dmFyIEw9T2JqZWN0LmNyZWF0ZT9mdW5jdGlvbihlLHQpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJkZWZhdWx0Iix7ZW51bWVyYWJsZTohMCx2YWx1ZTp0fSl9OmZ1bmN0aW9uKGUsdCl7ZS5kZWZhdWx0PXR9O2Z1bmN0aW9uIEUoZSl7aWYoZSYmZS5fX2VzTW9kdWxlKXJldHVybiBlO3ZhciB0PXt9O2lmKG51bGwhPWUpZm9yKHZhciBuIGluIGUpImRlZmF1bHQiIT09biYmT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsbikmJk4odCxlLG4pO3JldHVybiBMKHQsZSksdH1mdW5jdGlvbiBDKGUpe3JldHVybiBlJiZlLl9fZXNNb2R1bGU/ZTp7ZGVmYXVsdDplfX1mdW5jdGlvbiB4KGUsdCxuLGkpe2lmKCJhIj09PW4mJiFpKXRocm93IG5ldyBUeXBlRXJyb3IoIlByaXZhdGUgYWNjZXNzb3Igd2FzIGRlZmluZWQgd2l0aG91dCBhIGdldHRlciIpO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiB0P2UhPT10fHwhaTohdC5oYXMoZSkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IHJlYWQgcHJpdmF0ZSBtZW1iZXIgZnJvbSBhbiBvYmplY3Qgd2hvc2UgY2xhc3MgZGlkIG5vdCBkZWNsYXJlIGl0Iik7cmV0dXJuIm0iPT09bj9pOiJhIj09PW4/aS5jYWxsKGUpOmk/aS52YWx1ZTp0LmdldChlKX1mdW5jdGlvbiBwKGUsdCxuLGkscil7aWYoIm0iPT09aSl0aHJvdyBuZXcgVHlwZUVycm9yKCJQcml2YXRlIG1ldGhvZCBpcyBub3Qgd3JpdGFibGUiKTtpZigiYSI9PT1pJiYhcil0aHJvdyBuZXcgVHlwZUVycm9yKCJQcml2YXRlIGFjY2Vzc29yIHdhcyBkZWZpbmVkIHdpdGhvdXQgYSBzZXR0ZXIiKTtpZigiZnVuY3Rpb24iPT10eXBlb2YgdD9lIT09dHx8IXI6IXQuaGFzKGUpKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCB3cml0ZSBwcml2YXRlIG1lbWJlciB0byBhbiBvYmplY3Qgd2hvc2UgY2xhc3MgZGlkIG5vdCBkZWNsYXJlIGl0Iik7cmV0dXJuImEiPT09aT9yLmNhbGwoZSxuKTpyP3IudmFsdWU9bjp0LnNldChlLG4pLG59fSxmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1uKDI3KX0sZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIGk9bigwKTtpLl9fZXhwb3J0U3RhcihuKDM0KSx0KSxpLl9fZXhwb3J0U3RhcihuKDM1KSx0KSxpLl9fZXhwb3J0U3RhcihuKDM2KSx0KSxpLl9fZXhwb3J0U3RhcihuKDM3KSx0KX0sZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIGk9bigwKTtpLl9fZXhwb3J0U3RhcihuKDMyKSx0KSxpLl9fZXhwb3J0U3RhcihuKDExMCksdCksaS5fX2V4cG9ydFN0YXIobigxMCksdCl9LGZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIGk7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQudGhlbWVzTGlzdD12b2lkIDA7dmFyIHI9bigwKSxNPXIuX19pbXBvcnREZWZhdWx0KG4oMzgpKSx1PXIuX19pbXBvcnREZWZhdWx0KG4oMzkpKTt0LnRoZW1lc0xpc3Q9KChpPXtkZWZhdWx0Ok0uZGVmYXVsdH0pW00uZGVmYXVsdC5uYW1lXT1NLmRlZmF1bHQsaVt1LmRlZmF1bHQubmFtZV09dS5kZWZhdWx0LGkpfSxmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LnByb3ZpZGVycz10LmluamVjdGVkPXQuY29ubmVjdG9ycz12b2lkIDA7dmFyIGk9bigwKSxyPWkuX19pbXBvcnRTdGFyKG4oNDApKTt0LmNvbm5lY3RvcnM9cjt2YXIgTT1pLl9faW1wb3J0U3RhcihuKDEyKSk7dC5pbmplY3RlZD1NO3ZhciB1PWkuX19pbXBvcnRTdGFyKG4oOTQpKTt0LnByb3ZpZGVycz11fSxmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1uKDExNSl9LGZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIGk9bigxMTYpLHI9e2NoaWxkQ29udGV4dFR5cGVzOiEwLGNvbnRleHRUeXBlOiEwLGNvbnRleHRUeXBlczohMCxkZWZhdWx0UHJvcHM6ITAsZGlzcGxheU5hbWU6ITAsZ2V0RGVmYXVsdFByb3BzOiEwLGdldERlcml2ZWRTdGF0ZUZyb21FcnJvcjohMCxnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHM6ITAsbWl4aW5zOiEwLHByb3BUeXBlczohMCx0eXBlOiEwfSxNPXtuYW1lOiEwLGxlbmd0aDohMCxwcm90b3R5cGU6ITAsY2FsbGVyOiEwLGNhbGxlZTohMCxhcmd1bWVudHM6ITAsYXJpdHk6ITB9LHU9eyQkdHlwZW9mOiEwLGNvbXBhcmU6ITAsZGVmYXVsdFByb3BzOiEwLGRpc3BsYXlOYW1lOiEwLHByb3BUeXBlczohMCx0eXBlOiEwfSxvPXt9O2Z1bmN0aW9uIGMoZSl7cmV0dXJuIGkuaXNNZW1vKGUpP3U6b1tlLiQkdHlwZW9mXXx8cn1vW2kuRm9yd2FyZFJlZl09eyQkdHlwZW9mOiEwLHJlbmRlcjohMCxkZWZhdWx0UHJvcHM6ITAsZGlzcGxheU5hbWU6ITAscHJvcFR5cGVzOiEwfSxvW2kuTWVtb109dTt2YXIgYT1PYmplY3QuZGVmaW5lUHJvcGVydHksST1PYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyxsPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMsTj1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLGo9T2JqZWN0LmdldFByb3RvdHlwZU9mLGc9T2JqZWN0LnByb3RvdHlwZTtlLmV4cG9ydHM9ZnVuY3Rpb24gZSh0LG4saSl7aWYoInN0cmluZyIhPXR5cGVvZiBuKXtpZihnKXt2YXIgcj1qKG4pO3ImJnIhPT1nJiZlKHQscixpKX12YXIgdT1JKG4pO2wmJih1PXUuY29uY2F0KGwobikpKTtmb3IodmFyIG89Yyh0KSxzPWMobiksQT0wO0E8dS5sZW5ndGg7KytBKXt2YXIgRD11W0FdO2lmKCEoTVtEXXx8aSYmaVtEXXx8cyYmc1tEXXx8byYmb1tEXSkpe3ZhciBkPU4obixEKTt0cnl7YSh0LEQsZCl9Y2F0Y2goZSl7fX19fXJldHVybiB0fX0sZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgaT0vXigoY2hpbGRyZW58ZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUx8a2V5fHJlZnxhdXRvRm9jdXN8ZGVmYXVsdFZhbHVlfGRlZmF1bHRDaGVja2VkfGlubmVySFRNTHxzdXBwcmVzc0NvbnRlbnRFZGl0YWJsZVdhcm5pbmd8c3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nfHZhbHVlTGlua3xhY2NlcHR8YWNjZXB0Q2hhcnNldHxhY2Nlc3NLZXl8YWN0aW9ufGFsbG93fGFsbG93VXNlck1lZGlhfGFsbG93UGF5bWVudFJlcXVlc3R8YWxsb3dGdWxsU2NyZWVufGFsbG93VHJhbnNwYXJlbmN5fGFsdHxhc3luY3xhdXRvQ29tcGxldGV8YXV0b1BsYXl8Y2FwdHVyZXxjZWxsUGFkZGluZ3xjZWxsU3BhY2luZ3xjaGFsbGVuZ2V8Y2hhclNldHxjaGVja2VkfGNpdGV8Y2xhc3NJRHxjbGFzc05hbWV8Y29sc3xjb2xTcGFufGNvbnRlbnR8Y29udGVudEVkaXRhYmxlfGNvbnRleHRNZW51fGNvbnRyb2xzfGNvbnRyb2xzTGlzdHxjb29yZHN8Y3Jvc3NPcmlnaW58ZGF0YXxkYXRlVGltZXxkZWNvZGluZ3xkZWZhdWx0fGRlZmVyfGRpcnxkaXNhYmxlZHxkaXNhYmxlUGljdHVyZUluUGljdHVyZXxkb3dubG9hZHxkcmFnZ2FibGV8ZW5jVHlwZXxmb3JtfGZvcm1BY3Rpb258Zm9ybUVuY1R5cGV8Zm9ybU1ldGhvZHxmb3JtTm9WYWxpZGF0ZXxmb3JtVGFyZ2V0fGZyYW1lQm9yZGVyfGhlYWRlcnN8aGVpZ2h0fGhpZGRlbnxoaWdofGhyZWZ8aHJlZkxhbmd8aHRtbEZvcnxodHRwRXF1aXZ8aWR8aW5wdXRNb2RlfGludGVncml0eXxpc3xrZXlQYXJhbXN8a2V5VHlwZXxraW5kfGxhYmVsfGxhbmd8bGlzdHxsb2FkaW5nfGxvb3B8bG93fG1hcmdpbkhlaWdodHxtYXJnaW5XaWR0aHxtYXh8bWF4TGVuZ3RofG1lZGlhfG1lZGlhR3JvdXB8bWV0aG9kfG1pbnxtaW5MZW5ndGh8bXVsdGlwbGV8bXV0ZWR8bmFtZXxub25jZXxub1ZhbGlkYXRlfG9wZW58b3B0aW11bXxwYXR0ZXJufHBsYWNlaG9sZGVyfHBsYXlzSW5saW5lfHBvc3RlcnxwcmVsb2FkfHByb2ZpbGV8cmFkaW9Hcm91cHxyZWFkT25seXxyZWZlcnJlclBvbGljeXxyZWx8cmVxdWlyZWR8cmV2ZXJzZWR8cm9sZXxyb3dzfHJvd1NwYW58c2FuZGJveHxzY29wZXxzY29wZWR8c2Nyb2xsaW5nfHNlYW1sZXNzfHNlbGVjdGVkfHNoYXBlfHNpemV8c2l6ZXN8c2xvdHxzcGFufHNwZWxsQ2hlY2t8c3JjfHNyY0RvY3xzcmNMYW5nfHNyY1NldHxzdGFydHxzdGVwfHN0eWxlfHN1bW1hcnl8dGFiSW5kZXh8dGFyZ2V0fHRpdGxlfHR5cGV8dXNlTWFwfHZhbHVlfHdpZHRofHdtb2RlfHdyYXB8YWJvdXR8ZGF0YXR5cGV8aW5saXN0fHByZWZpeHxwcm9wZXJ0eXxyZXNvdXJjZXx0eXBlb2Z8dm9jYWJ8YXV0b0NhcGl0YWxpemV8YXV0b0NvcnJlY3R8YXV0b1NhdmV8Y29sb3J8aW5lcnR8aXRlbVByb3B8aXRlbVNjb3BlfGl0ZW1UeXBlfGl0ZW1JRHxpdGVtUmVmfG9ufHJlc3VsdHN8c2VjdXJpdHl8dW5zZWxlY3RhYmxlfGFjY2VudEhlaWdodHxhY2N1bXVsYXRlfGFkZGl0aXZlfGFsaWdubWVudEJhc2VsaW5lfGFsbG93UmVvcmRlcnxhbHBoYWJldGljfGFtcGxpdHVkZXxhcmFiaWNGb3JtfGFzY2VudHxhdHRyaWJ1dGVOYW1lfGF0dHJpYnV0ZVR5cGV8YXV0b1JldmVyc2V8YXppbXV0aHxiYXNlRnJlcXVlbmN5fGJhc2VsaW5lU2hpZnR8YmFzZVByb2ZpbGV8YmJveHxiZWdpbnxiaWFzfGJ5fGNhbGNNb2RlfGNhcEhlaWdodHxjbGlwfGNsaXBQYXRoVW5pdHN8Y2xpcFBhdGh8Y2xpcFJ1bGV8Y29sb3JJbnRlcnBvbGF0aW9ufGNvbG9ySW50ZXJwb2xhdGlvbkZpbHRlcnN8Y29sb3JQcm9maWxlfGNvbG9yUmVuZGVyaW5nfGNvbnRlbnRTY3JpcHRUeXBlfGNvbnRlbnRTdHlsZVR5cGV8Y3Vyc29yfGN4fGN5fGR8ZGVjZWxlcmF0ZXxkZXNjZW50fGRpZmZ1c2VDb25zdGFudHxkaXJlY3Rpb258ZGlzcGxheXxkaXZpc29yfGRvbWluYW50QmFzZWxpbmV8ZHVyfGR4fGR5fGVkZ2VNb2RlfGVsZXZhdGlvbnxlbmFibGVCYWNrZ3JvdW5kfGVuZHxleHBvbmVudHxleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkfGZpbGx8ZmlsbE9wYWNpdHl8ZmlsbFJ1bGV8ZmlsdGVyfGZpbHRlclJlc3xmaWx0ZXJVbml0c3xmbG9vZENvbG9yfGZsb29kT3BhY2l0eXxmb2N1c2FibGV8Zm9udEZhbWlseXxmb250U2l6ZXxmb250U2l6ZUFkanVzdHxmb250U3RyZXRjaHxmb250U3R5bGV8Zm9udFZhcmlhbnR8Zm9udFdlaWdodHxmb3JtYXR8ZnJvbXxmcnxmeHxmeXxnMXxnMnxnbHlwaE5hbWV8Z2x5cGhPcmllbnRhdGlvbkhvcml6b250YWx8Z2x5cGhPcmllbnRhdGlvblZlcnRpY2FsfGdseXBoUmVmfGdyYWRpZW50VHJhbnNmb3JtfGdyYWRpZW50VW5pdHN8aGFuZ2luZ3xob3JpekFkdlh8aG9yaXpPcmlnaW5YfGlkZW9ncmFwaGljfGltYWdlUmVuZGVyaW5nfGlufGluMnxpbnRlcmNlcHR8a3xrMXxrMnxrM3xrNHxrZXJuZWxNYXRyaXh8a2VybmVsVW5pdExlbmd0aHxrZXJuaW5nfGtleVBvaW50c3xrZXlTcGxpbmVzfGtleVRpbWVzfGxlbmd0aEFkanVzdHxsZXR0ZXJTcGFjaW5nfGxpZ2h0aW5nQ29sb3J8bGltaXRpbmdDb25lQW5nbGV8bG9jYWx8bWFya2VyRW5kfG1hcmtlck1pZHxtYXJrZXJTdGFydHxtYXJrZXJIZWlnaHR8bWFya2VyVW5pdHN8bWFya2VyV2lkdGh8bWFza3xtYXNrQ29udGVudFVuaXRzfG1hc2tVbml0c3xtYXRoZW1hdGljYWx8bW9kZXxudW1PY3RhdmVzfG9mZnNldHxvcGFjaXR5fG9wZXJhdG9yfG9yZGVyfG9yaWVudHxvcmllbnRhdGlvbnxvcmlnaW58b3ZlcmZsb3d8b3ZlcmxpbmVQb3NpdGlvbnxvdmVybGluZVRoaWNrbmVzc3xwYW5vc2UxfHBhaW50T3JkZXJ8cGF0aExlbmd0aHxwYXR0ZXJuQ29udGVudFVuaXRzfHBhdHRlcm5UcmFuc2Zvcm18cGF0dGVyblVuaXRzfHBvaW50ZXJFdmVudHN8cG9pbnRzfHBvaW50c0F0WHxwb2ludHNBdFl8cG9pbnRzQXRafHByZXNlcnZlQWxwaGF8cHJlc2VydmVBc3BlY3RSYXRpb3xwcmltaXRpdmVVbml0c3xyfHJhZGl1c3xyZWZYfHJlZll8cmVuZGVyaW5nSW50ZW50fHJlcGVhdENvdW50fHJlcGVhdER1cnxyZXF1aXJlZEV4dGVuc2lvbnN8cmVxdWlyZWRGZWF0dXJlc3xyZXN0YXJ0fHJlc3VsdHxyb3RhdGV8cnh8cnl8c2NhbGV8c2VlZHxzaGFwZVJlbmRlcmluZ3xzbG9wZXxzcGFjaW5nfHNwZWN1bGFyQ29uc3RhbnR8c3BlY3VsYXJFeHBvbmVudHxzcGVlZHxzcHJlYWRNZXRob2R8c3RhcnRPZmZzZXR8c3RkRGV2aWF0aW9ufHN0ZW1ofHN0ZW12fHN0aXRjaFRpbGVzfHN0b3BDb2xvcnxzdG9wT3BhY2l0eXxzdHJpa2V0aHJvdWdoUG9zaXRpb258c3RyaWtldGhyb3VnaFRoaWNrbmVzc3xzdHJpbmd8c3Ryb2tlfHN0cm9rZURhc2hhcnJheXxzdHJva2VEYXNob2Zmc2V0fHN0cm9rZUxpbmVjYXB8c3Ryb2tlTGluZWpvaW58c3Ryb2tlTWl0ZXJsaW1pdHxzdHJva2VPcGFjaXR5fHN0cm9rZVdpZHRofHN1cmZhY2VTY2FsZXxzeXN0ZW1MYW5ndWFnZXx0YWJsZVZhbHVlc3x0YXJnZXRYfHRhcmdldFl8dGV4dEFuY2hvcnx0ZXh0RGVjb3JhdGlvbnx0ZXh0UmVuZGVyaW5nfHRleHRMZW5ndGh8dG98dHJhbnNmb3JtfHUxfHUyfHVuZGVybGluZVBvc2l0aW9ufHVuZGVybGluZVRoaWNrbmVzc3x1bmljb2RlfHVuaWNvZGVCaWRpfHVuaWNvZGVSYW5nZXx1bml0c1BlckVtfHZBbHBoYWJldGljfHZIYW5naW5nfHZJZGVvZ3JhcGhpY3x2TWF0aGVtYXRpY2FsfHZhbHVlc3x2ZWN0b3JFZmZlY3R8dmVyc2lvbnx2ZXJ0QWR2WXx2ZXJ0T3JpZ2luWHx2ZXJ0T3JpZ2luWXx2aWV3Qm94fHZpZXdUYXJnZXR8dmlzaWJpbGl0eXx3aWR0aHN8d29yZFNwYWNpbmd8d3JpdGluZ01vZGV8eHx4SGVpZ2h0fHgxfHgyfHhDaGFubmVsU2VsZWN0b3J8eGxpbmtBY3R1YXRlfHhsaW5rQXJjcm9sZXx4bGlua0hyZWZ8eGxpbmtSb2xlfHhsaW5rU2hvd3x4bGlua1RpdGxlfHhsaW5rVHlwZXx4bWxCYXNlfHhtbG5zfHhtbG5zWGxpbmt8eG1sTGFuZ3x4bWxTcGFjZXx5fHkxfHkyfHlDaGFubmVsU2VsZWN0b3J8enx6b29tQW5kUGFufGZvcnxjbGFzc3xhdXRvZm9jdXMpfCgoW0RkXVtBYV1bVHRdW0FhXXxbQWFdW1JyXVtJaV1bQWFdfHgpLS4qKSkkLyxyPWZ1bmN0aW9uKGUpe3ZhciB0PXt9O3JldHVybiBmdW5jdGlvbihuKXtyZXR1cm4gdm9pZCAwPT09dFtuXSYmKHRbbl09ZShuKSksdFtuXX19KChmdW5jdGlvbihlKXtyZXR1cm4gaS50ZXN0KGUpfHwxMTE9PT1lLmNoYXJDb2RlQXQoMCkmJjExMD09PWUuY2hhckNvZGVBdCgxKSYmZS5jaGFyQ29kZUF0KDIpPDkxfSkpO3QuYT1yfSxmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiOwovKgpvYmplY3QtYXNzaWduCihjKSBTaW5kcmUgU29yaHVzCkBsaWNlbnNlIE1JVAoqL3ZhciBpPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMscj1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LE09T2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZTtmdW5jdGlvbiB1KGUpe2lmKG51bGw9PWUpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0LmFzc2lnbiBjYW5ub3QgYmUgY2FsbGVkIHdpdGggbnVsbCBvciB1bmRlZmluZWQiKTtyZXR1cm4gT2JqZWN0KGUpfWUuZXhwb3J0cz1mdW5jdGlvbigpe3RyeXtpZighT2JqZWN0LmFzc2lnbilyZXR1cm4hMTt2YXIgZT1uZXcgU3RyaW5nKCJhYmMiKTtpZihlWzVdPSJkZSIsIjUiPT09T2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoZSlbMF0pcmV0dXJuITE7Zm9yKHZhciB0PXt9LG49MDtuPDEwO24rKyl0WyJfIitTdHJpbmcuZnJvbUNoYXJDb2RlKG4pXT1uO2lmKCIwMTIzNDU2Nzg5IiE9PU9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHQpLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIHRbZV19KSkuam9pbigiIikpcmV0dXJuITE7dmFyIGk9e307cmV0dXJuImFiY2RlZmdoaWprbG1ub3BxcnN0Ii5zcGxpdCgiIikuZm9yRWFjaCgoZnVuY3Rpb24oZSl7aVtlXT1lfSkpLCJhYmNkZWZnaGlqa2xtbm9wcXJzdCI9PT1PYmplY3Qua2V5cyhPYmplY3QuYXNzaWduKHt9LGkpKS5qb2luKCIiKX1jYXRjaChlKXtyZXR1cm4hMX19KCk/T2JqZWN0LmFzc2lnbjpmdW5jdGlvbihlLHQpe2Zvcih2YXIgbixvLGM9dShlKSxhPTE7YTxhcmd1bWVudHMubGVuZ3RoO2ErKyl7Zm9yKHZhciBJIGluIG49T2JqZWN0KGFyZ3VtZW50c1thXSkpci5jYWxsKG4sSSkmJihjW0ldPW5bSV0pO2lmKGkpe289aShuKTtmb3IodmFyIGw9MDtsPG8ubGVuZ3RoO2wrKylNLmNhbGwobixvW2xdKSYmKGNbb1tsXV09bltvW2xdXSl9fXJldHVybiBjfX0sZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksdC5pc0xvY2FsU3RvcmFnZUF2YWlsYWJsZT10LmZpbmRNYXRjaGluZ1JlcXVpcmVkT3B0aW9ucz10LmdldFRoZW1lQ29sb3JzPXQuZ2V0Q2hhaW5JZD10LmZpbHRlclByb3ZpZGVyQ2hlY2tzPXQuZmlsdGVyUHJvdmlkZXJzPXQuZmlsdGVyTWF0Y2hlcz10LmdldFByb3ZpZGVyRGVzY3JpcHRpb249dC5pc01vYmlsZT10LmdldFByb3ZpZGVySW5mb0J5Q2hlY2s9dC5nZXRQcm92aWRlckluZm9CeUlkPXQuZ2V0UHJvdmlkZXJJbmZvQnlOYW1lPXQuZ2V0UHJvdmlkZXJJbmZvRnJvbUNoZWNrc0FycmF5PXQuZ2V0UHJvdmlkZXJJbmZvPXQuZ2V0SW5qZWN0ZWRQcm92aWRlck5hbWU9dC5nZXRJbmplY3RlZFByb3ZpZGVyPXQudmVyaWZ5SW5qZWN0ZWRQcm92aWRlcj10LmNoZWNrSW5qZWN0ZWRQcm92aWRlcnM9dm9pZCAwO3ZhciBpPW4oMCkuX19pbXBvcnRTdGFyKG4oMzMpKSxyPW4oMiksTT1uKDQpLHU9big1KTtmdW5jdGlvbiBvKCl7dmFyIGU9e2luamVjdGVkQXZhaWxhYmxlOiEhd2luZG93LmV0aGVyZXVtfHwhIXdpbmRvdy53ZWIzfTtpZihlLmluamVjdGVkQXZhaWxhYmxlKXt2YXIgdD0hMDtPYmplY3QudmFsdWVzKHUuaW5qZWN0ZWQpLmZvckVhY2goKGZ1bmN0aW9uKG4pe2Mobi5jaGVjaykmJihlW24uY2hlY2tdPSEwLHQ9ITEpfSkpO3ZhciBuPWkuZGV0ZWN0KCk7biYmIm9wZXJhIj09PW4ubmFtZSYmKGVbdS5pbmplY3RlZC5PUEVSQS5jaGVja109ITAsdD0hMSksdCYmKGVbdS5pbmplY3RlZC5GQUxMQkFDSy5jaGVja109ITApfXJldHVybiBlfWZ1bmN0aW9uIGMoZSl7cmV0dXJuIHdpbmRvdy5ldGhlcmV1bT93aW5kb3cuZXRoZXJldW1bZV06d2luZG93LndlYjMmJndpbmRvdy53ZWIzLmN1cnJlbnRQcm92aWRlciYmd2luZG93LndlYjMuY3VycmVudFByb3ZpZGVyW2VdfWZ1bmN0aW9uIGEoKXt2YXIgZT1udWxsLHQ9bygpO3QuaW5qZWN0ZWRBdmFpbGFibGUmJihkZWxldGUgdC5pbmplY3RlZEF2YWlsYWJsZSxlPUkoT2JqZWN0LmtleXModCkpKTtyZXR1cm4gZX1mdW5jdGlvbiBJKGUpe3JldHVybiBOKCJjaGVjayIsaihlKSl9ZnVuY3Rpb24gbChlLHQsbil7dmFyIGk9bixyPWUuZmlsdGVyKHQpO3JldHVybiByJiZyLmxlbmd0aCYmKGk9clswXSksaX1mdW5jdGlvbiBOKGUsdCl7cmV0dXJuIHQmJmwoT2JqZWN0LnZhbHVlcyh1LnByb3ZpZGVycyksKGZ1bmN0aW9uKG4pe3JldHVybiBuW2VdPT09dH0pLHUucHJvdmlkZXJzLkZBTExCQUNLKXx8dS5wcm92aWRlcnMuRkFMTEJBQ0t9ZnVuY3Rpb24gaihlKXtyZXR1cm4gZSYmZS5sZW5ndGg/ZS5sZW5ndGg+MSYmKGVbMF09PT11LmluamVjdGVkLk1FVEFNQVNLLmNoZWNrfHxlWzBdPT09dS5pbmplY3RlZC5DSVBIRVIuY2hlY2spP2VbMV06ZVswXTp1LnByb3ZpZGVycy5GQUxMQkFDSy5jaGVja310LmNoZWNrSW5qZWN0ZWRQcm92aWRlcnM9byx0LnZlcmlmeUluamVjdGVkUHJvdmlkZXI9Yyx0LmdldEluamVjdGVkUHJvdmlkZXI9YSx0LmdldEluamVjdGVkUHJvdmlkZXJOYW1lPWZ1bmN0aW9uKCl7dmFyIGU9YSgpO3JldHVybiBlP2UubmFtZTpudWxsfSx0LmdldFByb3ZpZGVySW5mbz1mdW5jdGlvbihlKXtyZXR1cm4gZT9JKE9iamVjdC52YWx1ZXModS5wcm92aWRlcnMpLmZpbHRlcigoZnVuY3Rpb24odCl7cmV0dXJuIGVbdC5jaGVja119KSkubWFwKChmdW5jdGlvbihlKXtyZXR1cm4gZS5jaGVja30pKSk6dS5wcm92aWRlcnMuRkFMTEJBQ0t9LHQuZ2V0UHJvdmlkZXJJbmZvRnJvbUNoZWNrc0FycmF5PUksdC5nZXRQcm92aWRlckluZm9CeU5hbWU9ZnVuY3Rpb24oZSl7cmV0dXJuIE4oIm5hbWUiLGUpfSx0LmdldFByb3ZpZGVySW5mb0J5SWQ9ZnVuY3Rpb24oZSl7cmV0dXJuIE4oImlkIixlKX0sdC5nZXRQcm92aWRlckluZm9CeUNoZWNrPWZ1bmN0aW9uKGUpe3JldHVybiBOKCJjaGVjayIsZSl9LHQuaXNNb2JpbGU9ZnVuY3Rpb24oKXtyZXR1cm4hKCEvKGFuZHJvaWR8YmJcZCt8bWVlZ28pLittb2JpbGV8YXZhbnRnb3xiYWRhXC98YmxhY2tiZXJyeXxibGF6ZXJ8Y29tcGFsfGVsYWluZXxmZW5uZWN8aGlwdG9wfGllbW9iaWxlfGlwKGhvbmV8b2QpfGlwYWR8aXJpc3xraW5kbGV8QW5kcm9pZHxTaWxrfGxnZSB8bWFlbW98bWlkcHxtbXB8bmV0ZnJvbnR8b3BlcmEgbShvYnxpbilpfHBhbG0oIG9zKT98cGhvbmV8cChpeGl8cmUpXC98cGx1Y2tlcnxwb2NrZXR8cHNwfHNlcmllcyg0fDYpMHxzeW1iaWFufHRyZW98dXBcLihicm93c2VyfGxpbmspfHZvZGFmb25lfHdhcHx3aW5kb3dzIChjZXxwaG9uZSl8eGRhfHhpaW5vL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSYmIS8xMjA3fDYzMTB8NjU5MHwzZ3NvfDR0aHB8NTBbMS02XWl8Nzcwc3w4MDJzfGEgd2F8YWJhY3xhYyhlcnxvb3xzLSl8YWkoa298cm4pfGFsKGF2fGNhfGNvKXxhbW9pfGFuKGV4fG55fHl3KXxhcHR1fGFyKGNofGdvKXxhcyh0ZXx1cyl8YXR0d3xhdShkaXwtbXxyIHxzICl8YXZhbnxiZShja3xsbHxucSl8YmkobGJ8cmQpfGJsKGFjfGF6KXxicihlfHYpd3xidW1ifGJ3LShufHUpfGM1NVwvfGNhcGl8Y2N3YXxjZG0tfGNlbGx8Y2h0bXxjbGRjfGNtZC18Y28obXB8bmQpfGNyYXd8ZGEoaXR8bGx8bmcpfGRidGV8ZGMtc3xkZXZpfGRpY2F8ZG1vYnxkbyhjfHApb3xkcygxMnwtZCl8ZWwoNDl8YWkpfGVtKGwyfHVsKXxlcihpY3xrMCl8ZXNsOHxleihbNC03XTB8b3N8d2F8emUpfGZldGN8Zmx5KC18Xyl8ZzEgdXxnNTYwfGdlbmV8Z2YtNXxnLW1vfGdvKC53fG9kKXxncihhZHx1bil8aGFpZXxoY2l0fGhkLShtfHB8dCl8aGVpLXxoaShwdHx0YSl8aHAoIGl8aXApfGhzLWN8aHQoYygtfCB8X3xhfGd8cHxzfHQpfHRwKXxodShhd3x0Yyl8aS0oMjB8Z298bWEpfGkyMzB8aWFjKCB8LXxcLyl8aWJyb3xpZGVhfGlnMDF8aWtvbXxpbTFrfGlubm98aXBhcXxpcmlzfGphKHR8dilhfGpicm98amVtdXxqaWdzfGtkZGl8a2VqaXxrZ3QoIHxcLyl8a2xvbnxrcHQgfGt3Yy18a3lvKGN8ayl8bGUobm98eGkpfGxnKCBnfFwvKGt8bHx1KXw1MHw1NHwtW2Etd10pfGxpYnd8bHlueHxtMS13fG0zZ2F8bTUwXC98bWEodGV8dWl8eG8pfG1jKDAxfDIxfGNhKXxtLWNyfG1lKHJjfHJpKXxtaShvOHxvYXx0cyl8bW1lZnxtbygwMXwwMnxiaXxkZXxkb3x0KC18IHxvfHYpfHp6KXxtdCg1MHxwMXx2ICl8bXdicHxteXdhfG4xMFswLTJdfG4yMFsyLTNdfG4zMCgwfDIpfG41MCgwfDJ8NSl8bjcoMCgwfDEpfDEwKXxuZSgoY3xtKS18b258dGZ8d2Z8d2d8d3QpfG5vayg2fGkpfG56cGh8bzJpbXxvcCh0aXx3dil8b3Jhbnxvd2cxfHA4MDB8cGFuKGF8ZHx0KXxwZHhnfHBnKDEzfC0oWzEtOF18YykpfHBoaWx8cGlyZXxwbChheXx1Yyl8cG4tMnxwbyhja3xydHxzZSl8cHJveHxwc2lvfHB0LWd8cWEtYXxxYygwN3wxMnwyMXwzMnw2MHwtWzItN118aS0pfHF0ZWt8cjM4MHxyNjAwfHJha3N8cmltOXxybyh2ZXx6byl8czU1XC98c2EoZ2V8bWF8bW18bXN8bnl8dmEpfHNjKDAxfGgtfG9vfHAtKXxzZGtcL3xzZShjKC18MHwxKXw0N3xtY3xuZHxyaSl8c2doLXxzaGFyfHNpZSgtfG0pfHNrLTB8c2woNDV8aWQpfHNtKGFsfGFyfGIzfGl0fHQ1KXxzbyhmdHxueSl8c3AoMDF8aC18di18diApfHN5KDAxfG1iKXx0MigxOHw1MCl8dDYoMDB8MTB8MTgpfHRhKGd0fGxrKXx0Y2wtfHRkZy18dGVsKGl8bSl8dGltLXx0LW1vfHRvKHBsfHNoKXx0cyg3MHwtfG0zfG01KXx0eC05fHVwKFwuYnxnMXxzaSl8dXRzdHx2NDAwfHY3NTB8dmVyaXx2aShyZ3x0ZSl8dmsoNDB8NVswLTNdfC12KXx2bTQwfHZvZGF8dnVsY3x2eCg1Mnw1M3w2MHw2MXw3MHw4MHw4MXw4M3w4NXw5OCl8dzNjKC18ICl8d2ViY3x3aGl0fHdpKGcgfG5jfG53KXx3bWxifHdvbnV8eDcwMHx5YXMtfHlvdXJ8emV0b3x6dGUtL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50LnN1YnN0cigwLDQpKSYmIWZ1bmN0aW9uKCl7dHJ5e3JldHVybiBkb2N1bWVudC5jcmVhdGVFdmVudCgiVG91Y2hFdmVudCIpLCEwfWNhdGNoKGUpe3JldHVybiExfX0oKSl9LHQuZ2V0UHJvdmlkZXJEZXNjcmlwdGlvbj1mdW5jdGlvbihlKXtpZihlLmRlc2NyaXB0aW9uKXJldHVybiBlLmRlc2NyaXB0aW9uO3ZhciB0PSIiO3N3aXRjaChlLnR5cGUpe2Nhc2UiaW5qZWN0ZWQiOnQ9IkNvbm5lY3QgdG8geW91ciAiK2UubmFtZSsiIFdhbGxldCI7YnJlYWs7Y2FzZSJ3ZWIiOnQ9IkNvbm5lY3Qgd2l0aCB5b3VyICIrZS5uYW1lKyIgYWNjb3VudCI7YnJlYWs7Y2FzZSJxcmNvZGUiOnQ9IlNjYW4gd2l0aCAiK2UubmFtZSsiIHRvIGNvbm5lY3QiO2JyZWFrO2Nhc2UiaGFyZHdhcmUiOnQ9IkNvbm5lY3QgdG8geW91ciAiK2UubmFtZSsiIEhhcmR3YXJlIFdhbGxldCJ9cmV0dXJuIHR9LHQuZmlsdGVyTWF0Y2hlcz1sLHQuZmlsdGVyUHJvdmlkZXJzPU4sdC5maWx0ZXJQcm92aWRlckNoZWNrcz1qLHQuZ2V0Q2hhaW5JZD1mdW5jdGlvbihlKXt2YXIgdD1sKE9iamVjdC52YWx1ZXMoci5DSEFJTl9EQVRBX0xJU1QpLChmdW5jdGlvbih0KXtyZXR1cm4gdC5uZXR3b3JrPT09ZX0pLHZvaWQgMCk7aWYoIXQpdGhyb3cgbmV3IEVycm9yKCJObyBjaGFpbklkIGZvdW5kIG1hdGNoICIrZSk7cmV0dXJuIHQuY2hhaW5JZH0sdC5nZXRUaGVtZUNvbG9ycz1mdW5jdGlvbihlKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGU/TS50aGVtZXNMaXN0W2VdLmNvbG9yczplfSx0LmZpbmRNYXRjaGluZ1JlcXVpcmVkT3B0aW9ucz1mdW5jdGlvbiBlKHQsbil7cmV0dXJuIHQuZmlsdGVyKChmdW5jdGlvbih0KXtpZigic3RyaW5nIj09dHlwZW9mIHQpcmV0dXJuIHQgaW4gbjt2YXIgaT1lKHQsbik7cmV0dXJuIGkmJmkubGVuZ3RofSkpfSx0LmlzTG9jYWxTdG9yYWdlQXZhaWxhYmxlPWZ1bmN0aW9uKCl7dHJ5e3JldHVybiBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgidGVzdCIsInRlc3QiKSxsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgidGVzdCIpLCEwfWNhdGNoKGUpe3JldHVybiExfX19LGZ1bmN0aW9uKGUsdCl7dmFyIG4saSxyPWUuZXhwb3J0cz17fTtmdW5jdGlvbiBNKCl7dGhyb3cgbmV3IEVycm9yKCJzZXRUaW1lb3V0IGhhcyBub3QgYmVlbiBkZWZpbmVkIil9ZnVuY3Rpb24gdSgpe3Rocm93IG5ldyBFcnJvcigiY2xlYXJUaW1lb3V0IGhhcyBub3QgYmVlbiBkZWZpbmVkIil9ZnVuY3Rpb24gbyhlKXtpZihuPT09c2V0VGltZW91dClyZXR1cm4gc2V0VGltZW91dChlLDApO2lmKChuPT09TXx8IW4pJiZzZXRUaW1lb3V0KXJldHVybiBuPXNldFRpbWVvdXQsc2V0VGltZW91dChlLDApO3RyeXtyZXR1cm4gbihlLDApfWNhdGNoKHQpe3RyeXtyZXR1cm4gbi5jYWxsKG51bGwsZSwwKX1jYXRjaCh0KXtyZXR1cm4gbi5jYWxsKHRoaXMsZSwwKX19fSFmdW5jdGlvbigpe3RyeXtuPSJmdW5jdGlvbiI9PXR5cGVvZiBzZXRUaW1lb3V0P3NldFRpbWVvdXQ6TX1jYXRjaChlKXtuPU19dHJ5e2k9ImZ1bmN0aW9uIj09dHlwZW9mIGNsZWFyVGltZW91dD9jbGVhclRpbWVvdXQ6dX1jYXRjaChlKXtpPXV9fSgpO3ZhciBjLGE9W10sST0hMSxsPS0xO2Z1bmN0aW9uIE4oKXtJJiZjJiYoST0hMSxjLmxlbmd0aD9hPWMuY29uY2F0KGEpOmw9LTEsYS5sZW5ndGgmJmooKSl9ZnVuY3Rpb24gaigpe2lmKCFJKXt2YXIgZT1vKE4pO0k9ITA7Zm9yKHZhciB0PWEubGVuZ3RoO3Q7KXtmb3IoYz1hLGE9W107KytsPHQ7KWMmJmNbbF0ucnVuKCk7bD0tMSx0PWEubGVuZ3RofWM9bnVsbCxJPSExLGZ1bmN0aW9uKGUpe2lmKGk9PT1jbGVhclRpbWVvdXQpcmV0dXJuIGNsZWFyVGltZW91dChlKTtpZigoaT09PXV8fCFpKSYmY2xlYXJUaW1lb3V0KXJldHVybiBpPWNsZWFyVGltZW91dCxjbGVhclRpbWVvdXQoZSk7dHJ5e2koZSl9Y2F0Y2godCl7dHJ5e3JldHVybiBpLmNhbGwobnVsbCxlKX1jYXRjaCh0KXtyZXR1cm4gaS5jYWxsKHRoaXMsZSl9fX0oZSl9fWZ1bmN0aW9uIGcoZSx0KXt0aGlzLmZ1bj1lLHRoaXMuYXJyYXk9dH1mdW5jdGlvbiBzKCl7fXIubmV4dFRpY2s9ZnVuY3Rpb24oZSl7dmFyIHQ9bmV3IEFycmF5KGFyZ3VtZW50cy5sZW5ndGgtMSk7aWYoYXJndW1lbnRzLmxlbmd0aD4xKWZvcih2YXIgbj0xO248YXJndW1lbnRzLmxlbmd0aDtuKyspdFtuLTFdPWFyZ3VtZW50c1tuXTthLnB1c2gobmV3IGcoZSx0KSksMSE9PWEubGVuZ3RofHxJfHxvKGopfSxnLnByb3RvdHlwZS5ydW49ZnVuY3Rpb24oKXt0aGlzLmZ1bi5hcHBseShudWxsLHRoaXMuYXJyYXkpfSxyLnRpdGxlPSJicm93c2VyIixyLmJyb3dzZXI9ITAsci5lbnY9e30sci5hcmd2PVtdLHIudmVyc2lvbj0iIixyLnZlcnNpb25zPXt9LHIub249cyxyLmFkZExpc3RlbmVyPXMsci5vbmNlPXMsci5vZmY9cyxyLnJlbW92ZUxpc3RlbmVyPXMsci5yZW1vdmVBbGxMaXN0ZW5lcnM9cyxyLmVtaXQ9cyxyLnByZXBlbmRMaXN0ZW5lcj1zLHIucHJlcGVuZE9uY2VMaXN0ZW5lcj1zLHIubGlzdGVuZXJzPWZ1bmN0aW9uKGUpe3JldHVybltdfSxyLmJpbmRpbmc9ZnVuY3Rpb24oZSl7dGhyb3cgbmV3IEVycm9yKCJwcm9jZXNzLmJpbmRpbmcgaXMgbm90IHN1cHBvcnRlZCIpfSxyLmN3ZD1mdW5jdGlvbigpe3JldHVybiIvIn0sci5jaGRpcj1mdW5jdGlvbihlKXt0aHJvdyBuZXcgRXJyb3IoInByb2Nlc3MuY2hkaXIgaXMgbm90IHN1cHBvcnRlZCIpfSxyLnVtYXNrPWZ1bmN0aW9uKCl7cmV0dXJuIDB9fSxmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LlJBSU5CT1c9dC5QSEFOVE9NPXQuWkVSSU9OPXQuR0FNRVNUT1A9dC5UT0tFTlBPQ0tFVD10LkNPUkU9dC5CSVRLRUVQV0FMTEVUPXQuQ0xWPXQuQlJBVkU9dC5SQUJCWT10LlNFUVVFTkNFSU5KRUNURUQ9dC5QT1JUQUw9dC5UQUxMWUlOSkVDVEVEPXQuQkxPQ0tXQUxMRVQ9dC5DRUxPSU5KRUNURUQ9dC5CSVRQSUU9dC5YREVGST10LlJXQUxMRVQ9dC5NQVRIV0FMTEVUPXQuQk9MVFg9dC5MSVFVQUxJVFk9dC5GUkFNRUlOSkVDVEVEPXQuVE9LRU5BUlk9dC5TVEFUVVM9dC5JTVRPS0VOPXQuQ0lQSEVSPXQuQ09JTkJBU0U9dC5UUlVTVD10Lk9QRVJBPXQuREFQUEVSPXQuTklGVFk9dC5TQUZFPXQuTUVUQU1BU0s9dC5GQUxMQkFDSz12b2lkIDA7dmFyIGk9bigwKSxyPWkuX19pbXBvcnREZWZhdWx0KG4oNjQpKSxNPWkuX19pbXBvcnREZWZhdWx0KG4oNjUpKSx1PWkuX19pbXBvcnREZWZhdWx0KG4oNjYpKSxvPWkuX19pbXBvcnREZWZhdWx0KG4oNjcpKSxjPWkuX19pbXBvcnREZWZhdWx0KG4oNjgpKSxhPWkuX19pbXBvcnREZWZhdWx0KG4oNjkpKSxJPWkuX19pbXBvcnREZWZhdWx0KG4oNzApKSxsPWkuX19pbXBvcnREZWZhdWx0KG4oNzEpKSxOPWkuX19pbXBvcnREZWZhdWx0KG4oNzIpKSxqPWkuX19pbXBvcnREZWZhdWx0KG4oNzMpKSxnPWkuX19pbXBvcnREZWZhdWx0KG4oNzQpKSxzPWkuX19pbXBvcnREZWZhdWx0KG4oMTMpKSxBPWkuX19pbXBvcnREZWZhdWx0KG4oMTQpKSxEPWkuX19pbXBvcnREZWZhdWx0KG4oNzUpKSxkPWkuX19pbXBvcnREZWZhdWx0KG4oNzYpKSxUPWkuX19pbXBvcnREZWZhdWx0KG4oNzcpKSx5PWkuX19pbXBvcnREZWZhdWx0KG4oNzgpKSx6PWkuX19pbXBvcnREZWZhdWx0KG4oNzkpKSx3PWkuX19pbXBvcnREZWZhdWx0KG4oODApKSxmPWkuX19pbXBvcnREZWZhdWx0KG4oODEpKSxMPWkuX19pbXBvcnREZWZhdWx0KG4oODIpKSxFPWkuX19pbXBvcnREZWZhdWx0KG4oODMpKSxDPWkuX19pbXBvcnREZWZhdWx0KG4oODQpKSx4PWkuX19pbXBvcnREZWZhdWx0KG4oMTUpKSxwPWkuX19pbXBvcnREZWZhdWx0KG4oODUpKSxTPWkuX19pbXBvcnREZWZhdWx0KG4oODYpKSxtPWkuX19pbXBvcnREZWZhdWx0KG4oMTYpKSxPPWkuX19pbXBvcnREZWZhdWx0KG4oODcpKSx2PWkuX19pbXBvcnREZWZhdWx0KG4oODgpKSxiPWkuX19pbXBvcnREZWZhdWx0KG4oODkpKSxoPWkuX19pbXBvcnREZWZhdWx0KG4oOTApKSxrPWkuX19pbXBvcnREZWZhdWx0KG4oOTEpKSxRPWkuX19pbXBvcnREZWZhdWx0KG4oOTIpKSxZPWkuX19pbXBvcnREZWZhdWx0KG4oOTMpKTt0LkZBTExCQUNLPXtpZDoiaW5qZWN0ZWQiLG5hbWU6IldlYjMiLGxvZ286ci5kZWZhdWx0LHR5cGU6ImluamVjdGVkIixjaGVjazoiaXNXZWIzIn0sdC5NRVRBTUFTSz17aWQ6ImluamVjdGVkIixuYW1lOiJNZXRhTWFzayIsbG9nbzpNLmRlZmF1bHQsdHlwZToiaW5qZWN0ZWQiLGNoZWNrOiJpc01ldGFNYXNrIn0sdC5TQUZFPXtpZDoiaW5qZWN0ZWQiLG5hbWU6IlNhZmUiLGxvZ286dS5kZWZhdWx0LHR5cGU6ImluamVjdGVkIixjaGVjazoiaXNTYWZlIn0sdC5OSUZUWT17aWQ6ImluamVjdGVkIixuYW1lOiJOaWZ0eSIsbG9nbzpvLmRlZmF1bHQsdHlwZToiaW5qZWN0ZWQiLGNoZWNrOiJpc05pZnR5V2FsbGV0In0sdC5EQVBQRVI9e2lkOiJpbmplY3RlZCIsbmFtZToiRGFwcGVyIixsb2dvOmEuZGVmYXVsdCx0eXBlOiJpbmplY3RlZCIsY2hlY2s6ImlzRGFwcGVyIn0sdC5PUEVSQT17aWQ6ImluamVjdGVkIixuYW1lOiJPcGVyYSIsbG9nbzpzLmRlZmF1bHQsdHlwZToiaW5qZWN0ZWQiLGNoZWNrOiJpc09wZXJhIn0sdC5UUlVTVD17aWQ6ImluamVjdGVkIixuYW1lOiJUcnVzdCIsbG9nbzpjLmRlZmF1bHQsdHlwZToiaW5qZWN0ZWQiLGNoZWNrOiJpc1RydXN0In0sdC5DT0lOQkFTRT17aWQ6ImluamVjdGVkIixuYW1lOiJDb2luYmFzZSIsbG9nbzpJLmRlZmF1bHQsdHlwZToiaW5qZWN0ZWQiLGNoZWNrOiJpc0NvaW5iYXNlV2FsbGV0In0sdC5DSVBIRVI9e2lkOiJpbmplY3RlZCIsbmFtZToiQ2lwaGVyIixsb2dvOmwuZGVmYXVsdCx0eXBlOiJpbmplY3RlZCIsY2hlY2s6ImlzQ2lwaGVyIn0sdC5JTVRPS0VOPXtpZDoiaW5qZWN0ZWQiLG5hbWU6ImltVG9rZW4iLGxvZ286Ti5kZWZhdWx0LHR5cGU6ImluamVjdGVkIixjaGVjazoiaXNJbVRva2VuIn0sdC5TVEFUVVM9e2lkOiJpbmplY3RlZCIsbmFtZToiU3RhdHVzIixsb2dvOmouZGVmYXVsdCx0eXBlOiJpbmplY3RlZCIsY2hlY2s6ImlzU3RhdHVzIn0sdC5UT0tFTkFSWT17aWQ6ImluamVjdGVkIixuYW1lOiJUb2tlbmFyeSIsbG9nbzpnLmRlZmF1bHQsdHlwZToiaW5qZWN0ZWQiLGNoZWNrOiJpc1Rva2VuYXJ5In0sdC5GUkFNRUlOSkVDVEVEPXtpZDoiaW5qZWN0ZWQiLG5hbWU6IkZyYW1lIixsb2dvOkEuZGVmYXVsdCx0eXBlOiJpbmplY3RlZCIsY2hlY2s6ImlzRnJhbWUifSx0LkxJUVVBTElUWT17aWQ6ImluamVjdGVkIixuYW1lOiJMaXF1YWxpdHkiLGxvZ286RC5kZWZhdWx0LHR5cGU6ImluamVjdGVkIixjaGVjazoiaXNMaXF1YWxpdHkifSx0LkJPTFRYPXtpZDoiYm9sdHgiLG5hbWU6IkJvbHQtWCIsbG9nbzpkLmRlZmF1bHQsdHlwZToiaW5qZWN0ZWQiLGNoZWNrOiJpc0JvbHRYIn0sdC5NQVRIV0FMTEVUPXtpZDoiaW5qZWN0ZWQiLG5hbWU6Ik1hdGggV2FsbGV0Iixsb2dvOlQuZGVmYXVsdCx0eXBlOiJpbmplY3RlZCIsY2hlY2s6ImlzTWF0aFdhbGxldCJ9LHQuUldBTExFVD17aWQ6ImluamVjdGVkIixuYW1lOiJyV2FsbGV0Iixsb2dvOnkuZGVmYXVsdCx0eXBlOiJpbmplY3RlZCIsY2hlY2s6ImlzUldhbGxldCJ9LHQuWERFRkk9e2lkOiJpbmplY3RlZCIsbmFtZToiWERFRkkiLGxvZ286dy5kZWZhdWx0LHR5cGU6ImluamVjdGVkIixjaGVjazoiX19YREVGSSJ9LHQuQklUUElFPXtpZDoiaW5qZWN0ZWQiLG5hbWU6IkJpdHBpZSIsbG9nbzp6LmRlZmF1bHQsdHlwZToiaW5qZWN0ZWQiLGNoZWNrOiJpc0JpdHBpZSJ9LHQuQ0VMT0lOSkVDVEVEPXtpZDoiaW5qZWN0ZWQiLG5hbWU6IkNlbG8gZXh0ZW5zaW9uIHdhbGxldCIsbG9nbzpmLmRlZmF1bHQsdHlwZToiaW5qZWN0ZWQiLGNoZWNrOiJpc0NlbG8ifSx0LkJMT0NLV0FMTEVUPXtpZDoiaW5qZWN0ZWQiLG5hbWU6IkJsb2NrV2FsbGV0Iixsb2dvOkwuZGVmYXVsdCx0eXBlOiJpbmplY3RlZCIsY2hlY2s6ImlzQmxvY2tXYWxsZXQifSx0LlRBTExZSU5KRUNURUQ9e2lkOiJpbmplY3RlZCIsbmFtZToiVGFsbHkiLGxvZ286RS5kZWZhdWx0LHR5cGU6ImluamVjdGVkIixjaGVjazoiaXNUYWxseSJ9LHQuUE9SVEFMPXtpZDoiaW5qZWN0ZWQiLG5hbWU6IlJpcGlvIFBvcnRhbCIsbG9nbzpDLmRlZmF1bHQsdHlwZToiaW5qZWN0ZWQiLGNoZWNrOiJpc1BvcnRhbCJ9LHQuU0VRVUVOQ0VJTkpFQ1RFRD17aWQ6ImluamVjdGVkIixuYW1lOiJTZXF1ZW5jZSIsbG9nbzp4LmRlZmF1bHQsdHlwZToiaW5qZWN0ZWQiLGNoZWNrOiJpc1NlcXVlbmNlIn0sdC5SQUJCWT17aWQ6ImluamVjdGVkIixuYW1lOiJSYWJieSIsbG9nbzpTLmRlZmF1bHQsdHlwZToiaW5qZWN0ZWQiLGNoZWNrOiJpc1JhYmJ5In0sdC5CUkFWRT17aWQ6ImluamVjdGVkIixuYW1lOiJCcmF2ZSIsbG9nbzpwLmRlZmF1bHQsdHlwZToiaW5qZWN0ZWQiLGNoZWNrOiJpc0JyYXZlV2FsbGV0In0sdC5DTFY9e2lkOiJpbmplY3RlZCIsbmFtZToiQ0xWIixsb2dvOk8uZGVmYXVsdCx0eXBlOiJpbmplY3RlZCIsY2hlY2s6ImlzQ2xvdmVyV2FsbGV0In0sdC5CSVRLRUVQV0FMTEVUPXtpZDoiaW5qZWN0ZWQiLG5hbWU6IkJpdGtlZXAgV2FsbGV0Iixsb2dvOm0uZGVmYXVsdCx0eXBlOiJpbmplY3RlZCIsY2hlY2s6ImlzQml0S2VlcCJ9LHQuQ09SRT17aWQ6ImluamVjdGVkIixuYW1lOiJDb3JlIixsb2dvOmIuZGVmYXVsdCx0eXBlOiJpbmplY3RlZCIsY2hlY2s6ImlzQXZhbGFuY2hlIn0sdC5UT0tFTlBPQ0tFVD17aWQ6ImluamVjdGVkIixuYW1lOiJUb2tlblBvY2tldCBXYWxsZXQiLGxvZ286di5kZWZhdWx0LHR5cGU6ImluamVjdGVkIixjaGVjazoiaXNUb2tlblBvY2tldCJ9LHQuR0FNRVNUT1A9e2lkOiJpbmplY3RlZCIsbmFtZToiR2FtZVN0b3AgV2FsbGV0Iixsb2dvOmguZGVmYXVsdCx0eXBlOiJpbmplY3RlZCIsY2hlY2s6ImlzR2FtZXN0b3AifSx0LlpFUklPTj17aWQ6ImluamVjdGVkIixuYW1lOiJaZXJpb24gV2FsbGV0Iixsb2dvOmsuZGVmYXVsdCx0eXBlOiJpbmplY3RlZCIsY2hlY2s6ImlzWmVyaW9uIn0sdC5QSEFOVE9NPXtpZDoicGhhbnRvbSIsbmFtZToiUGhhbnRvbSIsbG9nbzpRLmRlZmF1bHQsdHlwZToiaW5qZWN0ZWQiLGNoZWNrOiJpc1BoYW50b20iLHBhY2thZ2U6e3JlcXVpcmVkOlsibmV0d29ya1R5cGUiXX19LHQuUkFJTkJPVz17aWQ6ImluamVjdGVkIixuYW1lOiJSYWluYm93Iixsb2dvOlkuZGVmYXVsdCx0eXBlOiJpbmplY3RlZCIsY2hlY2s6ImlzUmFpbmJvdyJ9fSxmdW5jdGlvbihlLHQpe2UuZXhwb3J0cz0iZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCM2FXUjBhRDBpT0RFaUlHaGxhV2RvZEQwaU9EQWlJSGh0Ykc1elBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHlNREF3TDNOMlp5SWdlRzFzYm5NNmVHeHBibXM5SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpFNU9Ua3ZlR3hwYm1zaVBqeGtaV1p6UGp4d1lYUm9JR2xrUFNKaElpQmtQU0pOTGpjeElEQklOamgyTnprdU9FZ3VOekY2SWk4K1BIQmhkR2dnWkQwaVRUUXdMall4SURCRE1UZ3VOVGN6SURBZ0xqY3hJREUzTGpnMk15NDNNU0F6T1M0NU1ESmpNQ0F5TVM0ek9Ua2dNVFl1T0RRMUlETTRMamcySURNM0xqazVOeUF6T1M0NE5USXVOak16TGpBek1TQXhMakkyTmk0d05EY2dNUzQ1TURJdU1EUTNJREV3TGpJeE5TQXdJREU1TGpVek1pMHpMamcwSURJMkxqVTVMVEV3TGpFMU15MDBMalkzTmlBekxqRXdNaTB4TUM0eE5EUWdOQzQ0T0RjdE1UVXVPVGc0SURRdU9EZzNMVGt1TlNBd0xURTRMakF4TWkwMExqY3hOUzB5TXk0M016UXRNVEl1TVRRNExUUXVOREV0TlM0eU1EY3ROeTR5TnkweE1pNDVNRGN0Tnk0ME5qVXRNakV1TlRRM2RpMHhMamc0WXk0eE9UVXRPQzQyTkNBekxqQTFOQzB4Tmk0ek16a2dOeTQwTmpVdE1qRXVOVFEyUXpNekxqRTVPU0E1TGprNE5DQTBNUzQzTVNBMUxqSTNJRFV4TGpJeElEVXVNamRqTlM0NE5EUWdNQ0F4TVM0ek1UWWdNUzQzT0RVZ01UVXVPVGt5SURRdU9EZzJRell3TGpFNElETXVPRGMxSURVd0xqa3hPQzR3TkNBME1DNDNOakl1TURBMElEUXdMamN4TGpBd05DQTBNQzQyTmlBd0lEUXdMall3T1NBd2VpSWdhV1E5SW1NaUx6NDhiR2x1WldGeVIzSmhaR2xsYm5RZ2VERTlJalE1TGprNU9TVWlJSGt4UFNJd0pTSWdlREk5SWpRNUxqazVPU1VpSUhreVBTSXhNREFsSWlCcFpEMGlaQ0krUEhOMGIzQWdjM1J2Y0MxamIyeHZjajBpSTBaR01VSXlSQ0lnYjJabWMyVjBQU0l3SlNJdlBqeHpkRzl3SUhOMGIzQXRZMjlzYjNJOUlpTkdSakZDTWtRaUlHOW1abk5sZEQwaU1qVWxJaTgrUEhOMGIzQWdjM1J2Y0MxamIyeHZjajBpSTBaR01VSXlSQ0lnYjJabWMyVjBQU0l6TVM0eU5TVWlMejQ4YzNSdmNDQnpkRzl3TFdOdmJHOXlQU0lqUmtZeFFqSkVJaUJ2Wm1aelpYUTlJak0wTGpNM05TVWlMejQ4YzNSdmNDQnpkRzl3TFdOdmJHOXlQU0lqUmtVeFFqSkVJaUJ2Wm1aelpYUTlJak0zTGpVbElpOCtQSE4wYjNBZ2MzUnZjQzFqYjJ4dmNqMGlJMFpFTVVFeVJDSWdiMlptYzJWMFBTSXpPUzR3TmpNbElpOCtQSE4wYjNBZ2MzUnZjQzFqYjJ4dmNqMGlJMFpFTVVFeVF5SWdiMlptYzJWMFBTSTBNQzQyTWpVbElpOCtQSE4wYjNBZ2MzUnZjQzFqYjJ4dmNqMGlJMFpETVVFeVF5SWdiMlptYzJWMFBTSTBNaTR4T0RnbElpOCtQSE4wYjNBZ2MzUnZjQzFqYjJ4dmNqMGlJMFpDTVVFeVF5SWdiMlptYzJWMFBTSTBNeTQzTlNVaUx6NDhjM1J2Y0NCemRHOXdMV052Ykc5eVBTSWpSa0V4UVRKRElpQnZabVp6WlhROUlqUTBMalV6TVNVaUx6NDhjM1J2Y0NCemRHOXdMV052Ykc5eVBTSWpSa0V4T1RKRElpQnZabVp6WlhROUlqUTFMak14TXlVaUx6NDhjM1J2Y0NCemRHOXdMV052Ykc5eVBTSWpSamt4T1RKQ0lpQnZabVp6WlhROUlqUTJMakE1TkNVaUx6NDhjM1J2Y0NCemRHOXdMV052Ykc5eVBTSWpSamt4T1RKQ0lpQnZabVp6WlhROUlqUTJMamczTlNVaUx6NDhjM1J2Y0NCemRHOXdMV052Ykc5eVBTSWpSamd4T1RKQ0lpQnZabVp6WlhROUlqUTNMalkxTmlVaUx6NDhjM1J2Y0NCemRHOXdMV052Ykc5eVBTSWpSamd4T1RKQ0lpQnZabVp6WlhROUlqUTRMalF6T0NVaUx6NDhjM1J2Y0NCemRHOXdMV052Ykc5eVBTSWpSamN4T1RKQ0lpQnZabVp6WlhROUlqUTVMakl4T1NVaUx6NDhjM1J2Y0NCemRHOXdMV052Ykc5eVBTSWpSall4T0RKQ0lpQnZabVp6WlhROUlqVXdKU0l2UGp4emRHOXdJSE4wYjNBdFkyOXNiM0k5SWlOR05qRTRNa0VpSUc5bVpuTmxkRDBpTlRBdU56Z3hKU0l2UGp4emRHOXdJSE4wYjNBdFkyOXNiM0k5SWlOR05URTRNa0VpSUc5bVpuTmxkRDBpTlRFdU5UWXpKU0l2UGp4emRHOXdJSE4wYjNBdFkyOXNiM0k5SWlOR05ERTRNa0VpSUc5bVpuTmxkRDBpTlRJdU16UTBKU0l2UGp4emRHOXdJSE4wYjNBdFkyOXNiM0k5SWlOR05ERTNNa0VpSUc5bVpuTmxkRDBpTlRNdU1USTFKU0l2UGp4emRHOXdJSE4wYjNBdFkyOXNiM0k5SWlOR016RTNNa0VpSUc5bVpuTmxkRDBpTlRNdU9UQTJKU0l2UGp4emRHOXdJSE4wYjNBdFkyOXNiM0k5SWlOR01qRTNNamtpSUc5bVpuTmxkRDBpTlRRdU5qZzRKU0l2UGp4emRHOXdJSE4wYjNBdFkyOXNiM0k5SWlOR01URTNNamtpSUc5bVpuTmxkRDBpTlRVdU5EWTVKU0l2UGp4emRHOXdJSE4wYjNBdFkyOXNiM0k5SWlOR01ERTNNamtpSUc5bVpuTmxkRDBpTlRZdU1qVWxJaTgrUEhOMGIzQWdjM1J2Y0MxamIyeHZjajBpSTBZd01UWXlPU0lnYjJabWMyVjBQU0kxTnk0d016RWxJaTgrUEhOMGIzQWdjM1J2Y0MxamIyeHZjajBpSTBWR01UWXlPQ0lnYjJabWMyVjBQU0kxTnk0NE1UTWxJaTgrUEhOMGIzQWdjM1J2Y0MxamIyeHZjajBpSTBWRk1UWXlPQ0lnYjJabWMyVjBQU0kxT0M0MU9UUWxJaTgrUEhOMGIzQWdjM1J2Y0MxamIyeHZjajBpSTBWRU1UVXlPQ0lnYjJabWMyVjBQU0kxT1M0ek56VWxJaTgrUEhOMGIzQWdjM1J2Y0MxamIyeHZjajBpSTBWRE1UVXlPQ0lnYjJabWMyVjBQU0kyTUM0eE5UWWxJaTgrUEhOMGIzQWdjM1J2Y0MxamIyeHZjajBpSTBWQ01UVXlOeUlnYjJabWMyVjBQU0kyTUM0NU16Z2xJaTgrUEhOMGIzQWdjM1J2Y0MxamIyeHZjajBpSTBWQk1UVXlOeUlnYjJabWMyVjBQU0kyTVM0M01Ua2xJaTgrUEhOMGIzQWdjM1J2Y0MxamIyeHZjajBpSTBVNU1UUXlOeUlnYjJabWMyVjBQU0kyTWk0MUpTSXZQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU5GT0RFME1qY2lJRzltWm5ObGREMGlOakl1T0RreEpTSXZQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU5GT0RFME1qWWlJRzltWm5ObGREMGlOak11TWpneEpTSXZQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU5GTnpFME1qWWlJRzltWm5ObGREMGlOak11TmpjeUpTSXZQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU5GTnpFME1qWWlJRzltWm5ObGREMGlOalF1TURZekpTSXZQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU5GTmpFek1qWWlJRzltWm5ObGREMGlOalF1TkRVekpTSXZQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU5GTmpFek1qWWlJRzltWm5ObGREMGlOalF1T0RRMEpTSXZQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU5GTlRFek1qWWlJRzltWm5ObGREMGlOalV1TWpNMEpTSXZQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU5GTlRFek1qWWlJRzltWm5ObGREMGlOalV1TmpJMUpTSXZQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU5GTkRFek1qVWlJRzltWm5ObGREMGlOall1TURFMkpTSXZQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU5GTkRFek1qVWlJRzltWm5ObGREMGlOall1TkRBMkpTSXZQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU5GTXpFeU1qVWlJRzltWm5ObGREMGlOall1TnprM0pTSXZQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU5GTWpFeU1qVWlJRzltWm5ObGREMGlOamN1TVRnNEpTSXZQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU5GTWpFeU1qVWlJRzltWm5ObGREMGlOamN1TlRjNEpTSXZQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU5GTVRFeU1qVWlJRzltWm5ObGREMGlOamN1T1RZNUpTSXZQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU5GTVRFeU1qUWlJRzltWm5ObGREMGlOamd1TXpVNUpTSXZQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU5GTURFeU1qUWlJRzltWm5ObGREMGlOamd1TnpVbElpOCtQSE4wYjNBZ2MzUnZjQzFqYjJ4dmNqMGlJMFV3TVRFeU5DSWdiMlptYzJWMFBTSTJPUzR4TkRFbElpOCtQSE4wYjNBZ2MzUnZjQzFqYjJ4dmNqMGlJMFJHTVRFeU5DSWdiMlptYzJWMFBTSTJPUzQxTXpFbElpOCtQSE4wYjNBZ2MzUnZjQzFqYjJ4dmNqMGlJMFJGTVRFeU5DSWdiMlptYzJWMFBTSTJPUzQ1TWpJbElpOCtQSE4wYjNBZ2MzUnZjQzFqYjJ4dmNqMGlJMFJGTVRFeU5DSWdiMlptYzJWMFBTSTNNQzR6TVRNbElpOCtQSE4wYjNBZ2MzUnZjQzFqYjJ4dmNqMGlJMFJFTVRFeU15SWdiMlptYzJWMFBTSTNNQzQzTURNbElpOCtQSE4wYjNBZ2MzUnZjQzFqYjJ4dmNqMGlJMFJFTVRBeU15SWdiMlptYzJWMFBTSTNNUzR3T1RRbElpOCtQSE4wYjNBZ2MzUnZjQzFqYjJ4dmNqMGlJMFJETVRBeU15SWdiMlptYzJWMFBTSTNNUzQwT0RRbElpOCtQSE4wYjNBZ2MzUnZjQzFqYjJ4dmNqMGlJMFJDTVRBeU15SWdiMlptYzJWMFBTSTNNUzQ0TnpVbElpOCtQSE4wYjNBZ2MzUnZjQzFqYjJ4dmNqMGlJMFJDTVRBeU15SWdiMlptYzJWMFBTSTNNaTR5TmpZbElpOCtQSE4wYjNBZ2MzUnZjQzFqYjJ4dmNqMGlJMFJCTVRBeU15SWdiMlptYzJWMFBTSTNNaTQyTlRZbElpOCtQSE4wYjNBZ2MzUnZjQzFqYjJ4dmNqMGlJMFJCTVRBeU1pSWdiMlptYzJWMFBTSTNNeTR3TkRjbElpOCtQSE4wYjNBZ2MzUnZjQzFqYjJ4dmNqMGlJMFE1TUVZeU1pSWdiMlptYzJWMFBTSTNNeTQwTXpnbElpOCtQSE4wYjNBZ2MzUnZjQzFqYjJ4dmNqMGlJMFE0TUVZeU1pSWdiMlptYzJWMFBTSTNNeTQ0TWpnbElpOCtQSE4wYjNBZ2MzUnZjQzFqYjJ4dmNqMGlJMFE0TUVZeU1pSWdiMlptYzJWMFBTSTNOQzR5TVRrbElpOCtQSE4wYjNBZ2MzUnZjQzFqYjJ4dmNqMGlJMFEzTUVZeU1pSWdiMlptYzJWMFBTSTNOQzQyTURrbElpOCtQSE4wYjNBZ2MzUnZjQzFqYjJ4dmNqMGlJMFEyTUVZeU1TSWdiMlptYzJWMFBTSTNOU1VpTHo0OGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJalJEWXdSVEl4SWlCdlptWnpaWFE5SWpjMUxqTTVNU1VpTHo0OGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJalJEVXdSVEl4SWlCdlptWnpaWFE5SWpjMUxqYzRNU1VpTHo0OGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJalJEUXdSVEl4SWlCdlptWnpaWFE5SWpjMkxqRTNNaVVpTHo0OGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJalJEUXdSVEl4SWlCdlptWnpaWFE5SWpjMkxqVTJNeVVpTHo0OGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJalJETXdSVEl4SWlCdlptWnpaWFE5SWpjMkxqazFNeVVpTHo0OGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJalJESXdSREl3SWlCdlptWnpaWFE5SWpjM0xqTTBOQ1VpTHo0OGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJalJESXdSREl3SWlCdlptWnpaWFE5SWpjM0xqY3pOQ1VpTHo0OGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJalJERXdSREl3SWlCdlptWnpaWFE5SWpjNExqRXlOU1VpTHo0OGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJalJEQXdSREl3SWlCdlptWnpaWFE5SWpjNExqVXhOaVVpTHo0OGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJalJEQXdRekl3SWlCdlptWnpaWFE5SWpjNExqa3dOaVVpTHo0OGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJalEwWXdRekZHSWlCdlptWnpaWFE5SWpjNUxqSTVOeVVpTHo0OGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJalEwVXdRekZHSWlCdlptWnpaWFE5SWpjNUxqWTRPQ1VpTHo0OGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJalEwVXdRekZHSWlCdlptWnpaWFE5SWpnd0xqQTNPQ1VpTHo0OGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJalEwUXdRekZHSWlCdlptWnpaWFE5SWpnd0xqUTJPU1VpTHo0OGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJalEwTXdRakZHSWlCdlptWnpaWFE5SWpnd0xqZzFPU1VpTHo0OGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJalEwSXdRakZGSWlCdlptWnpaWFE5SWpneExqSTFKU0l2UGp4emRHOXdJSE4wYjNBdFkyOXNiM0k5SWlORFFqQkNNVVVpSUc5bVpuTmxkRDBpT0RFdU5qUXhKU0l2UGp4emRHOXdJSE4wYjNBdFkyOXNiM0k5SWlORFFUQkNNVVVpSUc5bVpuTmxkRDBpT0RJdU1ETXhKU0l2UGp4emRHOXdJSE4wYjNBdFkyOXNiM0k5SWlORE9UQkJNVVVpSUc5bVpuTmxkRDBpT0RJdU5ESXlKU0l2UGp4emRHOXdJSE4wYjNBdFkyOXNiM0k5SWlORE9EQkJNVVVpSUc5bVpuTmxkRDBpT0RJdU9ERXpKU0l2UGp4emRHOXdJSE4wYjNBdFkyOXNiM0k5SWlORE9EQkJNVVFpSUc5bVpuTmxkRDBpT0RNdU1qQXpKU0l2UGp4emRHOXdJSE4wYjNBdFkyOXNiM0k5SWlORE56QkJNVVFpSUc5bVpuTmxkRDBpT0RNdU5UazBKU0l2UGp4emRHOXdJSE4wYjNBdFkyOXNiM0k5SWlORE5qQkJNVVFpSUc5bVpuTmxkRDBpT0RNdU9UZzBKU0l2UGp4emRHOXdJSE4wYjNBdFkyOXNiM0k5SWlORE5UQTVNVVFpSUc5bVpuTmxkRDBpT0RRdU16YzFKU0l2UGp4emRHOXdJSE4wYjNBdFkyOXNiM0k5SWlORE5UQTVNVU1pSUc5bVpuTmxkRDBpT0RRdU56WTJKU0l2UGp4emRHOXdJSE4wYjNBdFkyOXNiM0k5SWlORE5EQTVNVU1pSUc5bVpuTmxkRDBpT0RVdU1UVTJKU0l2UGp4emRHOXdJSE4wYjNBdFkyOXNiM0k5SWlORE16QTVNVU1pSUc5bVpuTmxkRDBpT0RVdU5UUTNKU0l2UGp4emRHOXdJSE4wYjNBdFkyOXNiM0k5SWlORE1qQTRNVU1pSUc5bVpuTmxkRDBpT0RVdU9UTTRKU0l2UGp4emRHOXdJSE4wYjNBdFkyOXNiM0k5SWlORE1qQTRNVU1pSUc5bVpuTmxkRDBpT0RZdU16STRKU0l2UGp4emRHOXdJSE4wYjNBdFkyOXNiM0k5SWlORE1UQTRNVUlpSUc5bVpuTmxkRDBpT0RZdU56RTVKU0l2UGp4emRHOXdJSE4wYjNBdFkyOXNiM0k5SWlORE1EQTRNVUlpSUc5bVpuTmxkRDBpT0RjdU1UQTVKU0l2UGp4emRHOXdJSE4wYjNBdFkyOXNiM0k5SWlOQ1JqQTNNVUlpSUc5bVpuTmxkRDBpT0RjdU5TVWlMejQ4YzNSdmNDQnpkRzl3TFdOdmJHOXlQU0lqUWtVd056RkNJaUJ2Wm1aelpYUTlJamczTGpnNU1TVWlMejQ4YzNSdmNDQnpkRzl3TFdOdmJHOXlQU0lqUWtVd056RkJJaUJ2Wm1aelpYUTlJamc0TGpJNE1TVWlMejQ4YzNSdmNDQnpkRzl3TFdOdmJHOXlQU0lqUWtRd056RkJJaUJ2Wm1aelpYUTlJamc0TGpZM01pVWlMejQ4YzNSdmNDQnpkRzl3TFdOdmJHOXlQU0lqUWtNd05qRkJJaUJ2Wm1aelpYUTlJamc1TGpBMk15VWlMejQ4YzNSdmNDQnpkRzl3TFdOdmJHOXlQU0lqUWtJd05qRkJJaUJ2Wm1aelpYUTlJamc1TGpRMU15VWlMejQ4YzNSdmNDQnpkRzl3TFdOdmJHOXlQU0lqUWtFd05qRkJJaUJ2Wm1aelpYUTlJamc1TGpnME5DVWlMejQ4YzNSdmNDQnpkRzl3TFdOdmJHOXlQU0lqUWtFd05qRTVJaUJ2Wm1aelpYUTlJamt3TGpJek5DVWlMejQ4YzNSdmNDQnpkRzl3TFdOdmJHOXlQU0lqUWprd05URTVJaUJ2Wm1aelpYUTlJamt3TGpZeU5TVWlMejQ4YzNSdmNDQnpkRzl3TFdOdmJHOXlQU0lqUWpnd05URTVJaUJ2Wm1aelpYUTlJamt4TGpBeE5pVWlMejQ4YzNSdmNDQnpkRzl3TFdOdmJHOXlQU0lqUWpjd05URTVJaUJ2Wm1aelpYUTlJamt4TGpRd05pVWlMejQ4YzNSdmNDQnpkRzl3TFdOdmJHOXlQU0lqUWpZd05URTRJaUJ2Wm1aelpYUTlJamt4TGpjNU55VWlMejQ4YzNSdmNDQnpkRzl3TFdOdmJHOXlQU0lqUWpVd05ERTRJaUJ2Wm1aelpYUTlJamt5TGpFNE9DVWlMejQ4YzNSdmNDQnpkRzl3TFdOdmJHOXlQU0lqUWpVd05ERTRJaUJ2Wm1aelpYUTlJamt5TGpVM09DVWlMejQ4YzNSdmNDQnpkRzl3TFdOdmJHOXlQU0lqUWpRd05ERTRJaUJ2Wm1aelpYUTlJamt5TGprMk9TVWlMejQ4YzNSdmNDQnpkRzl3TFdOdmJHOXlQU0lqUWpNd05ERTNJaUJ2Wm1aelpYUTlJamt6TGpNMU9TVWlMejQ4YzNSdmNDQnpkRzl3TFdOdmJHOXlQU0lqUWpJd016RTNJaUJ2Wm1aelpYUTlJamt6TGpjMUpTSXZQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU5DTVRBek1UY2lJRzltWm5ObGREMGlPVFF1TVRReEpTSXZQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU5DTURBek1UY2lJRzltWm5ObGREMGlPVFF1TlRNeEpTSXZQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU5CUmpBek1UWWlJRzltWm5ObGREMGlPVFF1T1RJeUpTSXZQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU5CUlRBeU1UWWlJRzltWm5ObGREMGlPVFV1TXpFekpTSXZQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU5CUlRBeU1UWWlJRzltWm5ObGREMGlPVFV1TnpBekpTSXZQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU5CUkRBeU1UWWlJRzltWm5ObGREMGlPVFl1TURrMEpTSXZQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU5CUXpBeE1UVWlJRzltWm5ObGREMGlPVFl1TkRnMEpTSXZQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU5CUWpBeE1UVWlJRzltWm5ObGREMGlPVFl1T0RjMUpTSXZQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU5CUVRBeE1UVWlJRzltWm5ObGREMGlPVGN1TWpZMkpTSXZQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU5CT1RBeE1UVWlJRzltWm5ObGREMGlPVGN1TmpVMkpTSXZQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU5CT0RBd01UUWlJRzltWm5ObGREMGlPVGd1TURRM0pTSXZQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU5CTnpBd01UUWlJRzltWm5ObGREMGlPVGd1TkRNNEpTSXZQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU5CTnpBd01UUWlJRzltWm5ObGREMGlNVEF3SlNJdlBqd3ZiR2x1WldGeVIzSmhaR2xsYm5RK1BIQmhkR2dnYVdROUltWWlJR1E5SWswd0lEQm9OVFIyTnpCSU1Ib2lMejQ4Y0dGMGFDQmtQU0pOTGpRM055QXhNaTQwTVRSak15NDJOaTAwTGpNeUlEZ3VNemt0Tmk0NU1qWWdNVE11TlRVMExUWXVPVEkySURFeExqWXhOeUF3SURJeExqQXpNaUF4TXk0eE5qZ2dNakV1TURNeUlESTVMalF4TkNBd0lERTJMakkwTXkwNUxqUXhOU0F5T1M0ME1TMHlNUzR3TXpJZ01qa3VOREV0TlM0eE5qUWdNQzA1TGpnNU5DMHlMall3TlMweE15NDFOVFF0Tmk0NU1qVkROaTR4T1RrZ05qUXVPRElnTVRRdU56RWdOamt1TlRNMUlESTBMakl4SURZNUxqVXpOV00xTGpnME5DQXdJREV4TGpNeE1pMHhMamM0TlNBeE5TNDVPRGd0TkM0NE9EY2dPQzR4TmpndE55NHpNRGdnTVRNdU16RXpMVEUzTGpreU5TQXhNeTR6TVRNdE1qa3VOelEySURBdE1URXVPREl0TlM0eE5EVXRNakl1TkRReExURXpMak13T1MweU9TNDNORFpETXpVdU5USTNJREl1TURVMUlETXdMakExTlM0eU55QXlOQzR5TVRFdU1qY2dNVFF1TnpFdU1qY2dOaTR4T1RrZ05DNDVPRFF1TkRjM0lERXlMalF4TkNJZ2FXUTlJbWdpTHo0OGJHbHVaV0Z5UjNKaFpHbGxiblFnZURFOUlqUTVMams1T0NVaUlIa3hQU0l0TGpBd01TVWlJSGd5UFNJME9TNDVPVGdsSWlCNU1qMGlPVGt1T1RrM0pTSWdhV1E5SW1raVBqeHpkRzl3SUhOMGIzQXRZMjlzYjNJOUlpTTVRekF3TURBaUlHOW1abk5sZEQwaU1DVWlMejQ4YzNSdmNDQnpkRzl3TFdOdmJHOXlQU0lqT1VNd01EQXdJaUJ2Wm1aelpYUTlJaTQzT0RFbElpOCtQSE4wYjNBZ2MzUnZjQzFqYjJ4dmNqMGlJemxFTURBd01DSWdiMlptYzJWMFBTSXhMakUzTWlVaUx6NDhjM1J2Y0NCemRHOXdMV052Ykc5eVBTSWpPVVF3TVRBeElpQnZabVp6WlhROUlqRXVOVFl6SlNJdlBqeHpkRzl3SUhOMGIzQXRZMjlzYjNJOUlpTTVSVEF4TURFaUlHOW1abk5sZEQwaU1TNDVOVE1sSWk4K1BITjBiM0FnYzNSdmNDMWpiMnh2Y2owaUl6bEZNREl3TWlJZ2IyWm1jMlYwUFNJeUxqTTBOQ1VpTHo0OGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJak9VWXdNakF5SWlCdlptWnpaWFE5SWpJdU56TTBKU0l2UGp4emRHOXdJSE4wYjNBdFkyOXNiM0k5SWlNNVJqQXlNRElpSUc5bVpuTmxkRDBpTXk0eE1qVWxJaTgrUEhOMGIzQWdjM1J2Y0MxamIyeHZjajBpSTBFd01ETXdNeUlnYjJabWMyVjBQU0l6TGpVeE5pVWlMejQ4YzNSdmNDQnpkRzl3TFdOdmJHOXlQU0lqUVRBd016QXpJaUJ2Wm1aelpYUTlJak11T1RBMkpTSXZQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU5CTVRBME1EUWlJRzltWm5ObGREMGlOQzR5T1RjbElpOCtQSE4wYjNBZ2MzUnZjQzFqYjJ4dmNqMGlJMEV4TURRd05DSWdiMlptYzJWMFBTSTBMalk0T0NVaUx6NDhjM1J2Y0NCemRHOXdMV052Ykc5eVBTSWpRVEl3TlRBMUlpQnZabVp6WlhROUlqVXVNRGM0SlNJdlBqeHpkRzl3SUhOMGIzQXRZMjlzYjNJOUlpTkJNekExTURVaUlHOW1abk5sZEQwaU5TNDBOamtsSWk4K1BITjBiM0FnYzNSdmNDMWpiMnh2Y2owaUkwRXpNRFV3TlNJZ2IyWm1jMlYwUFNJMUxqZzFPU1VpTHo0OGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJalFUUXdOakEySWlCdlptWnpaWFE5SWpZdU1qVWxJaTgrUEhOMGIzQWdjM1J2Y0MxamIyeHZjajBpSTBFME1EWXdOaUlnYjJabWMyVjBQU0kyTGpZME1TVWlMejQ4YzNSdmNDQnpkRzl3TFdOdmJHOXlQU0lqUVRVd056QTNJaUJ2Wm1aelpYUTlJamN1TURNeEpTSXZQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU5CTlRBM01EY2lJRzltWm5ObGREMGlOeTQwTWpJbElpOCtQSE4wYjNBZ2MzUnZjQzFqYjJ4dmNqMGlJMEUyTURnd09DSWdiMlptYzJWMFBTSTNMamd4TXlVaUx6NDhjM1J2Y0NCemRHOXdMV052Ykc5eVBTSWpRVGN3T0RBNElpQnZabVp6WlhROUlqZ3VNakF6SlNJdlBqeHpkRzl3SUhOMGIzQXRZMjlzYjNJOUlpTkJOekE0TURnaUlHOW1abk5sZEQwaU9DNDFPVFFsSWk4K1BITjBiM0FnYzNSdmNDMWpiMnh2Y2owaUkwRTRNRGt3T1NJZ2IyWm1jMlYwUFNJNExqazROQ1VpTHo0OGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJalFUZ3dPVEE1SWlCdlptWnpaWFE5SWprdU16YzFKU0l2UGp4emRHOXdJSE4wYjNBdFkyOXNiM0k5SWlOQk9UQkJNRUVpSUc5bVpuTmxkRDBpT1M0M05qWWxJaTgrUEhOMGIzQWdjM1J2Y0MxamIyeHZjajBpSTBFNU1FRXdRU0lnYjJabWMyVjBQU0l4TUM0eE5UWWxJaTgrUEhOMGIzQWdjM1J2Y0MxamIyeHZjajBpSTBGQk1FSXdRaUlnYjJabWMyVjBQU0l4TUM0MU5EY2xJaTgrUEhOMGIzQWdjM1J2Y0MxamIyeHZjajBpSTBGQk1FSXdRaUlnYjJabWMyVjBQU0l4TUM0NU16Z2xJaTgrUEhOMGIzQWdjM1J2Y0MxamIyeHZjajBpSTBGQ01FSXdRaUlnYjJabWMyVjBQU0l4TVM0ek1qZ2xJaTgrUEhOMGIzQWdjM1J2Y0MxamIyeHZjajBpSTBGRE1FTXdReUlnYjJabWMyVjBQU0l4TVM0M01Ua2xJaTgrUEhOMGIzQWdjM1J2Y0MxamIyeHZjajBpSTBGRE1FTXdReUlnYjJabWMyVjBQU0l4TWk0eE1Ea2xJaTgrUEhOMGIzQWdjM1J2Y0MxamIyeHZjajBpSTBGRU1FUXdSQ0lnYjJabWMyVjBQU0l4TWk0MUpTSXZQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU5CUkRCRU1FUWlJRzltWm5ObGREMGlNVEl1T0RreEpTSXZQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU5CUlRCRU1FUWlJRzltWm5ObGREMGlNVE11TWpneEpTSXZQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU5CUlRCRk1FVWlJRzltWm5ObGREMGlNVE11TmpjeUpTSXZQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU5CUmpCRk1FVWlJRzltWm5ObGREMGlNVFF1TURZekpTSXZQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU5CUmpCR01FWWlJRzltWm5ObGREMGlNVFF1TkRVekpTSXZQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU5DTURCR01FWWlJRzltWm5ObGREMGlNVFF1T0RRMEpTSXZQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU5DTVRFd01UQWlJRzltWm5ObGREMGlNVFV1TWpNMEpTSXZQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU5DTVRFd01UQWlJRzltWm5ObGREMGlNVFV1TmpJMUpTSXZQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU5DTWpFd01UQWlJRzltWm5ObGREMGlNVFl1TURFMkpTSXZQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU5DTWpFeE1URWlJRzltWm5ObGREMGlNVFl1TkRBMkpTSXZQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU5DTXpFeE1URWlJRzltWm5ObGREMGlNVFl1TnprM0pTSXZQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU5DTXpFeU1USWlJRzltWm5ObGREMGlNVGN1TVRnNEpTSXZQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU5DTkRFeU1USWlJRzltWm5ObGREMGlNVGN1TlRjNEpTSXZQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU5DTlRFek1UTWlJRzltWm5ObGREMGlNVGN1T1RZNUpTSXZQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU5DTlRFek1UTWlJRzltWm5ObGREMGlNVGd1TXpVNUpTSXZQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU5DTmpFek1UTWlJRzltWm5ObGREMGlNVGd1TnpVbElpOCtQSE4wYjNBZ2MzUnZjQzFqYjJ4dmNqMGlJMEkyTVRReE5DSWdiMlptYzJWMFBTSXhPUzR4TkRFbElpOCtQSE4wYjNBZ2MzUnZjQzFqYjJ4dmNqMGlJMEkzTVRReE5DSWdiMlptYzJWMFBTSXhPUzQxTXpFbElpOCtQSE4wYjNBZ2MzUnZjQzFqYjJ4dmNqMGlJMEkzTVRVeE5TSWdiMlptYzJWMFBTSXhPUzQ1TWpJbElpOCtQSE4wYjNBZ2MzUnZjQzFqYjJ4dmNqMGlJMEk0TVRVeE5TSWdiMlptYzJWMFBTSXlNQzR6TVRNbElpOCtQSE4wYjNBZ2MzUnZjQzFqYjJ4dmNqMGlJMEk0TVRZeE5pSWdiMlptYzJWMFBTSXlNQzQzTURNbElpOCtQSE4wYjNBZ2MzUnZjQzFqYjJ4dmNqMGlJMEk1TVRZeE5pSWdiMlptYzJWMFBTSXlNUzR3T1RRbElpOCtQSE4wYjNBZ2MzUnZjQzFqYjJ4dmNqMGlJMEpCTVRZeE5pSWdiMlptYzJWMFBTSXlNUzQwT0RRbElpOCtQSE4wYjNBZ2MzUnZjQzFqYjJ4dmNqMGlJMEpCTVRjeE55SWdiMlptYzJWMFBTSXlNUzQ0TnpVbElpOCtQSE4wYjNBZ2MzUnZjQzFqYjJ4dmNqMGlJMEpDTVRjeE55SWdiMlptYzJWMFBTSXlNaTR5TmpZbElpOCtQSE4wYjNBZ2MzUnZjQzFqYjJ4dmNqMGlJMEpDTVRneE9DSWdiMlptYzJWMFBTSXlNaTQyTlRZbElpOCtQSE4wYjNBZ2MzUnZjQzFqYjJ4dmNqMGlJMEpETVRneE9DSWdiMlptYzJWMFBTSXlNeTR3TkRjbElpOCtQSE4wYjNBZ2MzUnZjQzFqYjJ4dmNqMGlJMEpETVRreE9TSWdiMlptYzJWMFBTSXlNeTQwTXpnbElpOCtQSE4wYjNBZ2MzUnZjQzFqYjJ4dmNqMGlJMEpFTVRreE9TSWdiMlptYzJWMFBTSXlNeTQ0TWpnbElpOCtQSE4wYjNBZ2MzUnZjQzFqYjJ4dmNqMGlJMEpFTVRreE9TSWdiMlptYzJWMFBTSXlOQzR5TVRrbElpOCtQSE4wYjNBZ2MzUnZjQzFqYjJ4dmNqMGlJMEpGTVVFeFFTSWdiMlptYzJWMFBTSXlOQzQyTURrbElpOCtQSE4wYjNBZ2MzUnZjQzFqYjJ4dmNqMGlJMEpHTVVFeFFTSWdiMlptYzJWMFBTSXlOU1VpTHo0OGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJalFrWXhRakZDSWlCdlptWnpaWFE5SWpJMUxqTTVNU1VpTHo0OGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJalF6QXhRakZDSWlCdlptWnpaWFE5SWpJMUxqYzRNU1VpTHo0OGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJalF6QXhRakZDSWlCdlptWnpaWFE5SWpJMkxqRTNNaVVpTHo0OGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJalF6RXhRekZESWlCdlptWnpaWFE5SWpJMkxqVTJNeVVpTHo0OGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJalF6RXhRekZESWlCdlptWnpaWFE5SWpJMkxqazFNeVVpTHo0OGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJalF6SXhSREZFSWlCdlptWnpaWFE5SWpJM0xqTTBOQ1VpTHo0OGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJalF6SXhSREZFSWlCdlptWnpaWFE5SWpJM0xqY3pOQ1VpTHo0OGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJalF6TXhSVEZGSWlCdlptWnpaWFE5SWpJNExqRXlOU1VpTHo0OGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJalF6UXhSVEZGSWlCdlptWnpaWFE5SWpJNExqVXhOaVVpTHo0OGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJalF6UXhSVEZGSWlCdlptWnpaWFE5SWpJNExqa3dOaVVpTHo0OGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJalF6VXhSakZHSWlCdlptWnpaWFE5SWpJNUxqSTVOeVVpTHo0OGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJalF6VXhSakZHSWlCdlptWnpaWFE5SWpJNUxqWTRPQ1VpTHo0OGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJalF6WXlNREl3SWlCdlptWnpaWFE5SWpNd0xqQTNPQ1VpTHo0OGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJalF6WXlNREl3SWlCdlptWnpaWFE5SWpNd0xqUTJPU1VpTHo0OGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJalF6Y3lNVEl4SWlCdlptWnpaWFE5SWpNd0xqZzFPU1VpTHo0OGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJalF6Z3lNVEl4SWlCdlptWnpaWFE5SWpNeExqSTFKU0l2UGp4emRHOXdJSE4wYjNBdFkyOXNiM0k5SWlORE9ESXhNakVpSUc5bVpuTmxkRDBpTXpFdU5qUXhKU0l2UGp4emRHOXdJSE4wYjNBdFkyOXNiM0k5SWlORE9USXlNaklpSUc5bVpuTmxkRDBpTXpJdU1ETXhKU0l2UGp4emRHOXdJSE4wYjNBdFkyOXNiM0k5SWlORE9USXlNaklpSUc5bVpuTmxkRDBpTXpJdU5ESXlKU0l2UGp4emRHOXdJSE4wYjNBdFkyOXNiM0k5SWlORFFUSXpNak1pSUc5bVpuTmxkRDBpTXpJdU9ERXpKU0l2UGp4emRHOXdJSE4wYjNBdFkyOXNiM0k5SWlORFFUSXpNak1pSUc5bVpuTmxkRDBpTXpNdU1qQXpKU0l2UGp4emRHOXdJSE4wYjNBdFkyOXNiM0k5SWlORFFqSTBNalFpSUc5bVpuTmxkRDBpTXpNdU5UazBKU0l2UGp4emRHOXdJSE4wYjNBdFkyOXNiM0k5SWlORFFqSTBNalFpSUc5bVpuTmxkRDBpTXpNdU9UZzBKU0l2UGp4emRHOXdJSE4wYjNBdFkyOXNiM0k5SWlORFF6STBNalFpSUc5bVpuTmxkRDBpTXpRdU16YzFKU0l2UGp4emRHOXdJSE4wYjNBdFkyOXNiM0k5SWlORFJESTFNalVpSUc5bVpuTmxkRDBpTXpRdU56WTJKU0l2UGp4emRHOXdJSE4wYjNBdFkyOXNiM0k5SWlORFJESTFNalVpSUc5bVpuTmxkRDBpTXpVdU1UVTJKU0l2UGp4emRHOXdJSE4wYjNBdFkyOXNiM0k5SWlORFJUSTJNallpSUc5bVpuTmxkRDBpTXpVdU5UUTNKU0l2UGp4emRHOXdJSE4wYjNBdFkyOXNiM0k5SWlORFJUSTJNallpSUc5bVpuTmxkRDBpTXpVdU9UTTRKU0l2UGp4emRHOXdJSE4wYjNBdFkyOXNiM0k5SWlORFJqSTJNallpSUc5bVpuTmxkRDBpTXpZdU16STRKU0l2UGp4emRHOXdJSE4wYjNBdFkyOXNiM0k5SWlORFJqSTNNamNpSUc5bVpuTmxkRDBpTXpZdU56RTVKU0l2UGp4emRHOXdJSE4wYjNBdFkyOXNiM0k5SWlORU1ESTNNamNpSUc5bVpuTmxkRDBpTXpjdU1UQTVKU0l2UGp4emRHOXdJSE4wYjNBdFkyOXNiM0k5SWlORU1ESTRNamdpSUc5bVpuTmxkRDBpTXpjdU5TVWlMejQ4YzNSdmNDQnpkRzl3TFdOdmJHOXlQU0lqUkRFeU9ESTRJaUJ2Wm1aelpYUTlJak0zTGpnNU1TVWlMejQ4YzNSdmNDQnpkRzl3TFdOdmJHOXlQU0lqUkRJeU9USTVJaUJ2Wm1aelpYUTlJak00TGpJNE1TVWlMejQ4YzNSdmNDQnpkRzl3TFdOdmJHOXlQU0lqUkRJeU9USTVJaUJ2Wm1aelpYUTlJak00TGpZM01pVWlMejQ4YzNSdmNDQnpkRzl3TFdOdmJHOXlQU0lqUkRNeU9USTVJaUJ2Wm1aelpYUTlJak01TGpBMk15VWlMejQ4YzNSdmNDQnpkRzl3TFdOdmJHOXlQU0lqUkRNeVFUSkJJaUJ2Wm1aelpYUTlJak01TGpRMU15VWlMejQ4YzNSdmNDQnpkRzl3TFdOdmJHOXlQU0lqUkRReVFUSkJJaUJ2Wm1aelpYUTlJak01TGpnME5DVWlMejQ4YzNSdmNDQnpkRzl3TFdOdmJHOXlQU0lqUkRReVFqSkNJaUJ2Wm1aelpYUTlJalF3TGpJek5DVWlMejQ4YzNSdmNDQnpkRzl3TFdOdmJHOXlQU0lqUkRVeVFqSkNJaUJ2Wm1aelpYUTlJalF3TGpZeU5TVWlMejQ4YzNSdmNDQnpkRzl3TFdOdmJHOXlQU0lqUkRZeVF6SkRJaUJ2Wm1aelpYUTlJalF4TGpBeE5pVWlMejQ4YzNSdmNDQnpkRzl3TFdOdmJHOXlQU0lqUkRZeVF6SkRJaUJ2Wm1aelpYUTlJalF4TGpRd05pVWlMejQ4YzNSdmNDQnpkRzl3TFdOdmJHOXlQU0lqUkRjeVF6SkRJaUJ2Wm1aelpYUTlJalF4TGpjNU55VWlMejQ4YzNSdmNDQnpkRzl3TFdOdmJHOXlQU0lqUkRjeVJESkVJaUJ2Wm1aelpYUTlJalF5TGpFNE9DVWlMejQ4YzNSdmNDQnpkRzl3TFdOdmJHOXlQU0lqUkRneVJESkVJaUJ2Wm1aelpYUTlJalF5TGpVM09DVWlMejQ4YzNSdmNDQnpkRzl3TFdOdmJHOXlQU0lqUkRneVJUSkZJaUJ2Wm1aelpYUTlJalF5TGprMk9TVWlMejQ4YzNSdmNDQnpkRzl3TFdOdmJHOXlQU0lqUkRreVJUSkZJaUJ2Wm1aelpYUTlJalF6TGpNMU9TVWlMejQ4YzNSdmNDQnpkRzl3TFdOdmJHOXlQU0lqUkRreVJqSkdJaUJ2Wm1aelpYUTlJalF6TGpjMUpTSXZQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU5FUVRKR01rWWlJRzltWm5ObGREMGlORFF1TVRReEpTSXZQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU5FUWpKR01rWWlJRzltWm5ObGREMGlORFF1TlRNeEpTSXZQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU5FUWpNd016QWlJRzltWm5ObGREMGlORFF1T1RJeUpTSXZQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU5FUXpNd016QWlJRzltWm5ObGREMGlORFV1TXpFekpTSXZQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU5FUXpNeE16RWlJRzltWm5ObGREMGlORFV1TnpBekpTSXZQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU5FUkRNeE16RWlJRzltWm5ObGREMGlORFl1TURrMEpTSXZQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU5FUkRNeU16SWlJRzltWm5ObGREMGlORFl1TkRnMEpTSXZQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU5FUlRNeU16SWlJRzltWm5ObGREMGlORFl1T0RjMUpTSXZQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU5FUlRNeU16SWlJRzltWm5ObGREMGlORGN1TWpZMkpTSXZQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU5FUmpNek16TWlJRzltWm5ObGREMGlORGN1TmpVMkpTSXZQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU5GTURNek16TWlJRzltWm5ObGREMGlORGd1TURRM0pTSXZQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU5GTURNME16UWlJRzltWm5ObGREMGlORGd1TkRNNEpTSXZQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU5GTVRNME16UWlJRzltWm5ObGREMGlORGd1T0RJNEpTSXZQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU5GTVRNME16UWlJRzltWm5ObGREMGlORGt1TWpFNUpTSXZQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU5GTWpNMU16VWlJRzltWm5ObGREMGlORGt1TmpBNUpTSXZQanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU5GTWpNMU16VWlJRzltWm5ObGREMGlOVEFsSWk4K1BITjBiM0FnYzNSdmNDMWpiMnh2Y2owaUkwVXpNell6TmlJZ2IyWm1jMlYwUFNJMU1DNHpPVEVsSWk4K1BITjBiM0FnYzNSdmNDMWpiMnh2Y2owaUkwVTBNell6TmlJZ2IyWm1jMlYwUFNJMU1DNDNPREVsSWk4K1BITjBiM0FnYzNSdmNDMWpiMnh2Y2owaUkwVTBNemN6TnlJZ2IyWm1jMlYwUFNJMU1TNHhOeklsSWk4K1BITjBiM0FnYzNSdmNDMWpiMnh2Y2owaUkwVTFNemN6TnlJZ2IyWm1jMlYwUFNJMU1TNDFOak1sSWk4K1BITjBiM0FnYzNSdmNDMWpiMnh2Y2owaUkwVTFNemN6TnlJZ2IyWm1jMlYwUFNJMU1TNDVOVE1sSWk4K1BITjBiM0FnYzNSdmNDMWpiMnh2Y2owaUkwVTJNemd6T0NJZ2IyWm1jMlYwUFNJMU1pNHpORFFsSWk4K1BITjBiM0FnYzNSdmNDMWpiMnh2Y2owaUkwVTJNemd6T0NJZ2IyWm1jMlYwUFNJMU1pNDNNelFsSWk4K1BITjBiM0FnYzNSdmNDMWpiMnh2Y2owaUkwVTNNemt6T1NJZ2IyWm1jMlYwUFNJMU15NHhNalVsSWk4K1BITjBiM0FnYzNSdmNDMWpiMnh2Y2owaUkwVTNNemt6T1NJZ2IyWm1jMlYwUFNJMU15NDFNVFlsSWk4K1BITjBiM0FnYzNSdmNDMWpiMnh2Y2owaUkwVTRNMEV6UVNJZ2IyWm1jMlYwUFNJMU15NDVNRFlsSWk4K1BITjBiM0FnYzNSdmNDMWpiMnh2Y2owaUkwVTVNMEV6UVNJZ2IyWm1jMlYwUFNJMU5DNHlPVGNsSWk4K1BITjBiM0FnYzNSdmNDMWpiMnh2Y2owaUkwVTVNMEV6UVNJZ2IyWm1jMlYwUFNJMU5DNDJPRGdsSWk4K1BITjBiM0FnYzNSdmNDMWpiMnh2Y2owaUkwVkJNMEl6UWlJZ2IyWm1jMlYwUFNJMU5TNHdOemdsSWk4K1BITjBiM0FnYzNSdmNDMWpiMnh2Y2owaUkwVkJNMEl6UWlJZ2IyWm1jMlYwUFNJMU5TNDBOamtsSWk4K1BITjBiM0FnYzNSdmNDMWpiMnh2Y2owaUkwVkNNME16UXlJZ2IyWm1jMlYwUFNJMU5TNDROVGtsSWk4K1BITjBiM0FnYzNSdmNDMWpiMnh2Y2owaUkwVkNNME16UXlJZ2IyWm1jMlYwUFNJMU5pNHlOU1VpTHo0OGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJalJVTXpSRE5FSWlCdlptWnpaWFE5SWpVMkxqWTBNU1VpTHo0OGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJalJVTXpSRE5FSWlCdlptWnpaWFE5SWpVM0xqQXpNU1VpTHo0OGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJalJVUXpSRE5FSWlCdlptWnpaWFE5SWpVM0xqUXlNaVVpTHo0OGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJalJVVXpSVE5GSWlCdlptWnpaWFE5SWpVM0xqZ3hNeVVpTHo0OGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJalJVVXpSVE5GSWlCdlptWnpaWFE5SWpVNExqSXdNeVVpTHo0OGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJalJVWXpSak5HSWlCdlptWnpaWFE5SWpVNExqVTVOQ1VpTHo0OGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJalJVWXpSak5HSWlCdlptWnpaWFE5SWpVNExqazROQ1VpTHo0OGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJalJqQXpSak5HSWlCdlptWnpaWFE5SWpVNUxqTTNOU1VpTHo0OGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJalJqQTBNRFF3SWlCdlptWnpaWFE5SWpVNUxqYzJOaVVpTHo0OGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJalJqRTBNRFF3SWlCdlptWnpaWFE5SWpZd0xqRTFOaVVpTHo0OGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJalJqRTBNVFF4SWlCdlptWnpaWFE5SWpZd0xqVTBOeVVpTHo0OGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJalJqSTBNVFF4SWlCdlptWnpaWFE5SWpZd0xqa3pPQ1VpTHo0OGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJalJqTTBNalF5SWlCdlptWnpaWFE5SWpZeExqTXlPQ1VpTHo0OGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJalJqTTBNalF5SWlCdlptWnpaWFE5SWpZeExqY3hPU1VpTHo0OGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJalJqUTBNalF5SWlCdlptWnpaWFE5SWpZeUxqRXdPU1VpTHo0OGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJalJqUTBNelF6SWlCdlptWnpaWFE5SWpZeUxqVWxJaTgrUEhOMGIzQWdjM1J2Y0MxamIyeHZjajBpSTBZMU5ETTBNeUlnYjJabWMyVjBQU0kyTWk0NE9URWxJaTgrUEhOMGIzQWdjM1J2Y0MxamIyeHZjajBpSTBZMU5EUTBOQ0lnYjJabWMyVjBQU0kyTXk0eU9ERWxJaTgrUEhOMGIzQWdjM1J2Y0MxamIyeHZjajBpSTBZMk5EUTBOQ0lnYjJabWMyVjBQU0kyTXk0Mk56SWxJaTgrUEhOMGIzQWdjM1J2Y0MxamIyeHZjajBpSTBZM05EVTBOU0lnYjJabWMyVjBQU0kyTkM0d05qTWxJaTgrUEhOMGIzQWdjM1J2Y0MxamIyeHZjajBpSTBZM05EVTBOU0lnYjJabWMyVjBQU0kyTkM0ME5UTWxJaTgrUEhOMGIzQWdjM1J2Y0MxamIyeHZjajBpSTBZNE5EVTBOU0lnYjJabWMyVjBQU0kyTkM0NE5EUWxJaTgrUEhOMGIzQWdjM1J2Y0MxamIyeHZjajBpSTBZNE5EWTBOaUlnYjJabWMyVjBQU0kyTlM0eU16UWxJaTgrUEhOMGIzQWdjM1J2Y0MxamIyeHZjajBpSTBZNU5EWTBOaUlnYjJabWMyVjBQU0kyTlM0Mk1qVWxJaTgrUEhOMGIzQWdjM1J2Y0MxamIyeHZjajBpSTBZNU5EYzBOeUlnYjJabWMyVjBQU0kyTmk0d01UWWxJaTgrUEhOMGIzQWdjM1J2Y0MxamIyeHZjajBpSTBaQk5EYzBOeUlnYjJabWMyVjBQU0kyTmk0ME1EWWxJaTgrUEhOMGIzQWdjM1J2Y0MxamIyeHZjajBpSTBaQk5EZzBPQ0lnYjJabWMyVjBQU0kyTmk0M09UY2xJaTgrUEhOMGIzQWdjM1J2Y0MxamIyeHZjajBpSTBaQ05EZzBPQ0lnYjJabWMyVjBQU0kyTnk0eE9EZ2xJaTgrUEhOMGIzQWdjM1J2Y0MxamIyeHZjajBpSTBaRE5EZzBPQ0lnYjJabWMyVjBQU0kyTnk0MU56Z2xJaTgrUEhOMGIzQWdjM1J2Y0MxamIyeHZjajBpSTBaRE5EazBPU0lnYjJabWMyVjBQU0kyTnk0NU5qa2xJaTgrUEhOMGIzQWdjM1J2Y0MxamIyeHZjajBpSTBaRU5EazBPU0lnYjJabWMyVjBQU0kyT0M0ek5Ua2xJaTgrUEhOMGIzQWdjM1J2Y0MxamIyeHZjajBpSTBaRU5FRTBRU0lnYjJabWMyVjBQU0kyT0M0M05TVWlMejQ4YzNSdmNDQnpkRzl3TFdOdmJHOXlQU0lqUmtVMFFUUkJJaUJ2Wm1aelpYUTlJalk1TGpFME1TVWlMejQ4YzNSdmNDQnpkRzl3TFdOdmJHOXlQU0lqUmtVMFFqUkNJaUJ2Wm1aelpYUTlJalk1TGpVek1TVWlMejQ4YzNSdmNDQnpkRzl3TFdOdmJHOXlQU0lqUmtZMFFqUkNJaUJ2Wm1aelpYUTlJamN3TGpNeE15VWlMejQ4YzNSdmNDQnpkRzl3TFdOdmJHOXlQU0lqUmtZMFFqUkNJaUJ2Wm1aelpYUTlJamN4TGpnM05TVWlMejQ4YzNSdmNDQnpkRzl3TFdOdmJHOXlQU0lqUmtZMFFqUkNJaUJ2Wm1aelpYUTlJamMxSlNJdlBqeHpkRzl3SUhOMGIzQXRZMjlzYjNJOUlpTkdSalJDTkVJaUlHOW1abk5sZEQwaU1UQXdKU0l2UGp3dmJHbHVaV0Z5UjNKaFpHbGxiblErUEM5a1pXWnpQanhuSUdacGJHdzlJbTV2Ym1VaUlHWnBiR3d0Y25Wc1pUMGlaWFpsYm05a1pDSStQRzFoYzJzZ2FXUTlJbUlpSUdacGJHdzlJaU5tWm1ZaVBqeDFjMlVnZUd4cGJtczZhSEpsWmowaUkyRWlMejQ4TDIxaGMycytQR2NnYldGemF6MGlkWEpzS0NOaUtTSStQRzFoYzJzZ2FXUTlJbVVpSUdacGJHdzlJaU5tWm1ZaVBqeDFjMlVnZUd4cGJtczZhSEpsWmowaUkyTWlMejQ4TDIxaGMycytQSEJoZEdnZ1ptbHNiRDBpZFhKc0tDTmtLU0lnWm1sc2JDMXlkV3hsUFNKdWIyNTZaWEp2SWlCdFlYTnJQU0oxY213b0kyVXBJaUJrUFNKTk5qY3VNakF6SURCSUxqY3hNWFkzT1M0NGFEWTJMalE1TW5vaUx6NDhMMmMrUEdjZ2RISmhibk5tYjNKdFBTSjBjbUZ1YzJ4aGRHVW9NamNnTlNraVBqeHRZWE5ySUdsa1BTSm5JaUJtYVd4c1BTSWpabVptSWo0OGRYTmxJSGhzYVc1ck9taHlaV1k5SWlObUlpOCtQQzl0WVhOclBqeG5JRzFoYzJzOUluVnliQ2dqWnlraVBqeHRZWE5ySUdsa1BTSnFJaUJtYVd4c1BTSWpabVptSWo0OGRYTmxJSGhzYVc1ck9taHlaV1k5SWlOb0lpOCtQQzl0WVhOclBqeHdZWFJvSUdacGJHdzlJblZ5YkNnamFTa2lJR1pwYkd3dGNuVnNaVDBpYm05dWVtVnlieUlnYldGemF6MGlkWEpzS0NOcUtTSWdaRDBpVFRVekxqVXhNaTR5TjBndU5EYzNkalk1TGpJMk5XZzFNeTR3TXpWNklpOCtQQzluUGp3dlp6NDhMMmMrUEM5emRtYysifSxmdW5jdGlvbihlLHQpe2UuZXhwb3J0cz0iZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhodGJHNXpPbmhzYVc1clBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1TDNoc2FXNXJJaUI0UFNJd2NIZ2lJSGs5SWpCd2VDSWdkbWxsZDBKdmVEMGlNQ0F3SURFMU15NDBJREUxTWk0NUlqNDhaR1ZtY3o0OGJHbHVaV0Z5UjNKaFpHbGxiblFnYVdROUluQm9ZWE5sSWlCbmNtRmthV1Z1ZEZSeVlXNXpabTl5YlQwaWNtOTBZWFJsS0RRMUtTSStQSE4wYjNBZ2IyWm1jMlYwUFNJd0pTSWdjM1I1YkdVOUluTjBiM0F0WTI5c2IzSTZJQ015WWpJMU5HWWlMejQ4YzNSdmNDQnZabVp6WlhROUlqRXdNQ1VpSUhOMGVXeGxQU0p6ZEc5d0xXTnZiRzl5T2lBak1Ua3laalExSWk4K1BDOXNhVzVsWVhKSGNtRmthV1Z1ZEQ0OEwyUmxabk0rUEhCaGRHZ2dabWxzYkQwaWRYSnNLQ2NqY0doaGMyVW5LU0lnWkQwaVRURTBOUzR4TERjMUxqWjJMVFU0WXpBdE5TNHhMVFF1TWkwNUxqTXRPUzR6TFRrdU0yZ3dTRGMzTGpkakxUQXVOaXd3TFRFdU1TMHdMakl0TVM0MkxUQXVObXd0TnkwM1l5MHdMalF0TUM0MExURXRNQzQzTFRFdU5pMHdMamRJT1M0eklFTTBMaklzTUN3d0xEUXVNU3d3TERrdU0yTXdMREFzTUN3d0xEQXNNR3d3TERCMk5UaGpNQ3d3TGpZc01DNHlMREV1TVN3d0xqWXNNUzQyYkRjc04yTXdMalFzTUM0MExEQXVOeXd4TERBdU55d3hMaloyTlRoak1DdzFMakVzTkM0eUxEa3VNeXc1TGpNc09TNHpZekFzTUN3d0xEQXNNQ3d3YURVNExqSWdZekF1Tml3d0xERXVNU3d3TGpJc01TNDJMREF1Tm13M0xEZGpNQzQwTERBdU5Dd3hMREF1Tml3eExqWXNNQzQyYURVNExqSmpOUzR4TERBc09TNHpMVFF1TVN3NUxqTXRPUzR6WXpBc01Dd3dMREFzTUN3d2JEQXNNSFl0TlRoak1DMHdMall0TUM0eUxURXVNUzB3TGpZdE1TNDJiQzAzTFRjZ1F6RTBOUzQwTERjMkxqY3NNVFExTGpFc056WXVNaXd4TkRVdU1TdzNOUzQyZWlCTk1UQTFMallzTVRBMkxqWklORGN1T1dNdE1DNDNMREF0TVM0ekxUQXVOaTB4TGpNdE1TNHpWalEzTGpkak1DMHdMamNzTUM0MkxURXVNeXd4TGpNdE1TNHphRFUzTGpjZ1l6QXVOeXd3TERFdU15d3dMallzTVM0ekxERXVNM1kxTnk0MlF6RXdOeXd4TURZc01UQTJMalFzTVRBMkxqWXNNVEExTGpZc01UQTJMalo2SWk4K1BDOXpkbWMrQ2c9PSJ9LGZ1bmN0aW9uKGUsdCl7ZS5leHBvcnRzPSJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUIzYVdSMGFEMGlOVEV5SWlCb1pXbG5hSFE5SWpVeE1pSWdkbWxsZDBKdmVEMGlNQ0F3SURVeE1pQTFNVElpSUdacGJHdzlJbTV2Ym1VaUlIaHRiRzV6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXdMM04yWnlJK0NqeHdZWFJvSUdROUlrMHdJREV5TUVNd0lEVXpMamN5TlRnZ05UTXVOekkxT0NBd0lERXlNQ0F3U0RNNU1rTTBOVGd1TWpjMElEQWdOVEV5SURVekxqY3lOVGdnTlRFeUlERXlNRll6T1RKRE5URXlJRFExT0M0eU56UWdORFU0TGpJM05DQTFNVElnTXpreUlEVXhNa2d4TWpCRE5UTXVOekkxT0NBMU1USWdNQ0EwTlRndU1qYzBJREFnTXpreVZqRXlNRm9pSUdacGJHdzlJaU5ETkVNMFF6UWlMejRLUEhCaGRHZ2daRDBpVFRBZ01USXdRekFnTlRNdU56STFPQ0ExTXk0M01qVTRJREFnTVRJd0lEQklNemt5UXpRMU9DNHlOelFnTUNBMU1USWdOVE11TnpJMU9DQTFNVElnTVRJd1ZqTTVNa00xTVRJZ05EVTRMakkzTkNBME5UZ3VNamMwSURVeE1pQXpPVElnTlRFeVNERXlNRU0xTXk0M01qVTRJRFV4TWlBd0lEUTFPQzR5TnpRZ01DQXpPVEpXTVRJd1dpSWdabWxzYkQwaWRYSnNLQ053WVdsdWREQmZiR2x1WldGeVh6RXhYekV4TmlraUx6NEtQR2NnWTJ4cGNDMXdZWFJvUFNKMWNtd29JMk5zYVhBd1h6RXhYekV4TmlraVBnbzhjR0YwYUNCa1BTSk5OVGdnTVRZMExqVXdOVXcxT0NBek5EY3VNVFkxUXpVNElETTROQzQwTkRjZ09EZ3VNVFF3TWlBME1UUXVOamNnTVRJMUxqTXlJRFF4TkM0Mk4wZ3pPRFl1TmpoRE5ESXpMamcySURReE5DNDJOeUEwTlRRZ016ZzBMalEwTnlBME5UUWdNelEzTGpFMk5WWXhOalF1TlRBMVF6UTFOQ0F4TWpjdU1qSXpJRFF5TXk0NE5pQTVOeUF6T0RZdU5qZ2dPVGRJTVRJMUxqTXlRemc0TGpFME1ESWdPVGNnTlRnZ01USTNMakl5TXlBMU9DQXhOalF1TlRBMVdpSWdabWxzYkQwaUl6RXhNVEV4TVNJdlBnbzhjR0YwYUNCa1BTSk5OVGdnTVRZMExqVXdOVXcxT0NBek5EY3VNVFkxUXpVNElETTROQzQwTkRjZ09EZ3VNVFF3TWlBME1UUXVOamNnTVRJMUxqTXlJRFF4TkM0Mk4wZ3pPRFl1TmpoRE5ESXpMamcySURReE5DNDJOeUEwTlRRZ016ZzBMalEwTnlBME5UUWdNelEzTGpFMk5WWXhOalF1TlRBMVF6UTFOQ0F4TWpjdU1qSXpJRFF5TXk0NE5pQTVOeUF6T0RZdU5qZ2dPVGRJTVRJMUxqTXlRemc0TGpFME1ESWdPVGNnTlRnZ01USTNMakl5TXlBMU9DQXhOalF1TlRBMVdpSWdabWxzYkQwaWRYSnNLQ053WVdsdWRERmZiR2x1WldGeVh6RXhYekV4TmlraUx6NEtQSEJoZEdnZ1pEMGlUVEUxTnlBeE56WXVOREU0UXpFMU55QXhOalV1TkRVeUlERTBPQzR4TXpVZ01UVTJMalUyTXlBeE16Y3VNaUF4TlRZdU5UWXpRekV5Tmk0eU5qVWdNVFUyTGpVMk15QXhNVGN1TkNBeE5qVXVORFV5SURFeE55NDBJREUzTmk0ME1UaERNVEUzTGpRZ01UZzNMak00TXlBeE1qWXVNalkxSURFNU5pNHlOeklnTVRNM0xqSWdNVGsyTGpJM01rTXhORGd1TVRNMUlERTVOaTR5TnpJZ01UVTNJREU0Tnk0ek9ETWdNVFUzSURFM05pNDBNVGhhSWlCbWFXeHNQU0oxY213b0kzQmhhVzUwTWw5c2FXNWxZWEpmTVRGZk1URTJLU0l2UGdvOGNHRjBhQ0JrUFNKTk1UVTNJREUzTmk0ME1UaERNVFUzSURFMk5TNDBOVElnTVRRNExqRXpOU0F4TlRZdU5UWXpJREV6Tnk0eUlERTFOaTQxTmpORE1USTJMakkyTlNBeE5UWXVOVFl6SURFeE55NDBJREUyTlM0ME5USWdNVEUzTGpRZ01UYzJMalF4T0VNeE1UY3VOQ0F4T0RjdU16Z3pJREV5Tmk0eU5qVWdNVGsyTGpJM01pQXhNemN1TWlBeE9UWXVNamN5UXpFME9DNHhNelVnTVRrMkxqSTNNaUF4TlRjZ01UZzNMak00TXlBeE5UY2dNVGMyTGpReE9Gb2lJR1pwYkd3OUluVnliQ2dqY0dGcGJuUXpYMnhwYm1WaGNsOHhNVjh4TVRZcElpOCtDanh3WVhSb0lHUTlJazB4TlRjZ01UYzJMalF4T0VNeE5UY2dNVFkxTGpRMU1pQXhORGd1TVRNMUlERTFOaTQxTmpNZ01UTTNMaklnTVRVMkxqVTJNME14TWpZdU1qWTFJREUxTmk0MU5qTWdNVEUzTGpRZ01UWTFMalExTWlBeE1UY3VOQ0F4TnpZdU5ERTRRekV4Tnk0MElERTROeTR6T0RNZ01USTJMakkyTlNBeE9UWXVNamN5SURFek55NHlJREU1Tmk0eU56SkRNVFE0TGpFek5TQXhPVFl1TWpjeUlERTFOeUF4T0RjdU16Z3pJREUxTnlBeE56WXVOREU0V2lJZ1ptbHNiRDBpZFhKc0tDTndZV2x1ZERSZmJHbHVaV0Z5WHpFeFh6RXhOaWtpTHo0S1BIQmhkR2dnWkQwaVRURTFOeUF6TXpVdU1USTJRekUxTnlBek1qUXVNVFl4SURFME9DNHhNelVnTXpFMUxqSTNNaUF4TXpjdU1pQXpNVFV1TWpjeVF6RXlOaTR5TmpVZ016RTFMakkzTWlBeE1UY3VOQ0F6TWpRdU1UWXhJREV4Tnk0MElETXpOUzR4TWpaRE1URTNMalFnTXpRMkxqQTVNaUF4TWpZdU1qWTFJRE0xTkM0NU9ERWdNVE0zTGpJZ016VTBMams0TVVNeE5EZ3VNVE0xSURNMU5DNDVPREVnTVRVM0lETTBOaTR3T1RJZ01UVTNJRE16TlM0eE1qWmFJaUJtYVd4c1BTSjFjbXdvSTNCaGFXNTBOVjlzYVc1bFlYSmZNVEZmTVRFMktTSXZQZ284Y0dGMGFDQmtQU0pOTXprMExqWWdNalUxTGpnek5VTXpPVFF1TmlBeU5EUXVPRGNnTXpnMUxqY3pOU0F5TXpVdU9UZ3hJRE0zTkM0NElESXpOUzQ1T0RGRE16WXpMamcyTlNBeU16VXVPVGd4SURNMU5TQXlORFF1T0RjZ016VTFJREkxTlM0NE16VkRNelUxSURJMk5pNDRJRE0yTXk0NE5qVWdNamMxTGpZNUlETTNOQzQ0SURJM05TNDJPVU16T0RVdU56TTFJREkzTlM0Mk9TQXpPVFF1TmlBeU5qWXVPQ0F6T1RRdU5pQXlOVFV1T0RNMVdpSWdabWxzYkQwaWRYSnNLQ053WVdsdWREWmZiR2x1WldGeVh6RXhYekV4TmlraUx6NEtQSEJoZEdnZ1pEMGlUVE01TkM0MklESTFOUzQ0TXpWRE16azBMallnTWpRMExqZzNJRE00TlM0M016VWdNak0xTGprNE1TQXpOelF1T0NBeU16VXVPVGd4UXpNMk15NDROalVnTWpNMUxqazRNU0F6TlRVZ01qUTBMamczSURNMU5TQXlOVFV1T0RNMVF6TTFOU0F5TmpZdU9DQXpOak11T0RZMUlESTNOUzQyT1NBek56UXVPQ0F5TnpVdU5qbERNemcxTGpjek5TQXlOelV1TmprZ016azBMallnTWpZMkxqZ2dNemswTGpZZ01qVTFMamd6TlZvaUlHWnBiR3c5SW5WeWJDZ2pjR0ZwYm5RM1gyeHBibVZoY2w4eE1WOHhNVFlwSWk4K0NqeHdZWFJvSUdROUlrMHpOelF1T0NBeE5UWXVOVFl6U0RJeE5pNDBRekl3TlM0ME5qVWdNVFUyTGpVMk15QXhPVFl1TmlBeE5qVXVORFV5SURFNU5pNDJJREUzTmk0ME1UaERNVGsyTGpZZ01UZzNMak00TXlBeU1EVXVORFkxSURFNU5pNHlOeklnTWpFMkxqUWdNVGsyTGpJM01rZ3pOelF1T0VNek9EVXVOek0xSURFNU5pNHlOeklnTXprMExqWWdNVGczTGpNNE15QXpPVFF1TmlBeE56WXVOREU0UXpNNU5DNDJJREUyTlM0ME5USWdNemcxTGpjek5TQXhOVFl1TlRZeklETTNOQzQ0SURFMU5pNDFOak5hSWlCbWFXeHNQU0oxY213b0kzQmhhVzUwT0Y5c2FXNWxZWEpmTVRGZk1URTJLU0l2UGdvOGNHRjBhQ0JrUFNKTk16YzBMamdnTXpFMUxqSTNNa2d5TVRZdU5FTXlNRFV1TkRZMUlETXhOUzR5TnpJZ01UazJMallnTXpJMExqRTJNU0F4T1RZdU5pQXpNelV1TVRJMlF6RTVOaTQySURNME5pNHdPVElnTWpBMUxqUTJOU0F6TlRRdU9UZ3hJREl4Tmk0MElETTFOQzQ1T0RGSU16YzBMamhETXpnMUxqY3pOU0F6TlRRdU9UZ3hJRE01TkM0MklETTBOaTR3T1RJZ016azBMallnTXpNMUxqRXlOa016T1RRdU5pQXpNalF1TVRZeElETTROUzQzTXpVZ016RTFMakkzTWlBek56UXVPQ0F6TVRVdU1qY3lXaUlnWm1sc2JEMGlkWEpzS0NOd1lXbHVkRGxmYkdsdVpXRnlYekV4WHpFeE5pa2lMejRLUEhCaGRHZ2daRDBpVFRJNU5TNDJJREl6TlM0NU9ERklNVE0zTGpKRE1USTJMakkyTlNBeU16VXVPVGd4SURFeE55NDBJREkwTkM0NE55QXhNVGN1TkNBeU5UVXVPRE0xUXpFeE55NDBJREkyTmk0NElERXlOaTR5TmpVZ01qYzFMalk1SURFek55NHlJREkzTlM0Mk9VZ3lPVFV1TmtNek1EWXVOVE0xSURJM05TNDJPU0F6TVRVdU5DQXlOall1T0NBek1UVXVOQ0F5TlRVdU9ETTFRek14TlM0MElESTBOQzQ0TnlBek1EWXVOVE0xSURJek5TNDVPREVnTWprMUxqWWdNak0xTGprNE1Wb2lJR1pwYkd3OUluVnliQ2dqY0dGcGJuUXhNRjlzYVc1bFlYSmZNVEZmTVRFMktTSXZQZ284TDJjK0NqeGtaV1p6UGdvOGJHbHVaV0Z5UjNKaFpHbGxiblFnYVdROUluQmhhVzUwTUY5c2FXNWxZWEpmTVRGZk1URTJJaUI0TVQwaUxUZzJMalVpSUhreFBTSTJNVFl1TlNJZ2VESTlJak0zTVM0Mk1USWlJSGt5UFNJdE9UQXVPVEV6TXlJZ1ozSmhaR2xsYm5SVmJtbDBjejBpZFhObGNsTndZV05sVDI1VmMyVWlQZ284YzNSdmNDQnpkRzl3TFdOdmJHOXlQU0lqUXpjd00wSkdJaTgrQ2p4emRHOXdJRzltWm5ObGREMGlNQzQxTlRNMU1ERWlJSE4wYjNBdFkyOXNiM0k5SWlNek1USTVSRVlpTHo0S1BITjBiM0FnYjJabWMyVjBQU0l4SWlCemRHOXdMV052Ykc5eVBTSWpNRVJFTkVVd0lpOCtDand2YkdsdVpXRnlSM0poWkdsbGJuUStDanhzYVc1bFlYSkhjbUZrYVdWdWRDQnBaRDBpY0dGcGJuUXhYMnhwYm1WaGNsOHhNVjh4TVRZaUlIZ3hQU0l5TlRZaUlIa3hQU0k1TnlJZ2VESTlJakkxTmlJZ2VUSTlJalF4TlNJZ1ozSmhaR2xsYm5SVmJtbDBjejBpZFhObGNsTndZV05sVDI1VmMyVWlQZ284YzNSdmNDQnpkRzl3TFdOdmJHOXlQU0lqTVVReU56TkVJaTgrQ2p4emRHOXdJRzltWm5ObGREMGlNU0lnYzNSdmNDMWpiMnh2Y2owaUl6QkVNRVl4TXlJdlBnbzhMMnhwYm1WaGNrZHlZV1JwWlc1MFBnbzhiR2x1WldGeVIzSmhaR2xsYm5RZ2FXUTlJbkJoYVc1ME1sOXNhVzVsWVhKZk1URmZNVEUySWlCNE1UMGlNVEl6TGpVaUlIa3hQU0l4T1RZaUlIZ3lQU0l4TlRBdU5TSWdlVEk5SWpFMk1DSWdaM0poWkdsbGJuUlZibWwwY3owaWRYTmxjbE53WVdObFQyNVZjMlVpUGdvOGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJak5EUTJNa1pGSWk4K0NqeHpkRzl3SUc5bVpuTmxkRDBpTVNJZ2MzUnZjQzFqYjJ4dmNqMGlJemRFTmpsR1FTSXZQZ284TDJ4cGJtVmhja2R5WVdScFpXNTBQZ284YkdsdVpXRnlSM0poWkdsbGJuUWdhV1E5SW5CaGFXNTBNMTlzYVc1bFlYSmZNVEZmTVRFMklpQjRNVDBpTVRJd0xqZzRJaUI1TVQwaU1UazJMakk1TVNJZ2VESTlJakUxTkM0eE16Z2lJSGt5UFNJeE9UUXVOVGt4SWlCbmNtRmthV1Z1ZEZWdWFYUnpQU0oxYzJWeVUzQmhZMlZQYmxWelpTSStDanh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU16TnpVM1JrUWlMejRLUEhOMGIzQWdiMlptYzJWMFBTSXhJaUJ6ZEc5d0xXTnZiRzl5UFNJak5qazRNRVpCSWk4K0Nqd3ZiR2x1WldGeVIzSmhaR2xsYm5RK0NqeHNhVzVsWVhKSGNtRmthV1Z1ZENCcFpEMGljR0ZwYm5RMFgyeHBibVZoY2w4eE1WOHhNVFlpSUhneFBTSXhNakF1T0RnaUlIa3hQU0l4T1RZdU1qa3hJaUI0TWowaU1UVTBMakV6T0NJZ2VUSTlJakU1TkM0MU9URWlJR2R5WVdScFpXNTBWVzVwZEhNOUluVnpaWEpUY0dGalpVOXVWWE5sSWo0S1BITjBiM0FnYzNSdmNDMWpiMnh2Y2owaUl6STBORGRHUmlJdlBnbzhjM1J2Y0NCdlptWnpaWFE5SWpFaUlITjBiM0F0WTI5c2IzSTlJaU0yT1Rnd1JrRWlMejRLUEM5c2FXNWxZWEpIY21Ga2FXVnVkRDRLUEd4cGJtVmhja2R5WVdScFpXNTBJR2xrUFNKd1lXbHVkRFZmYkdsdVpXRnlYekV4WHpFeE5pSWdlREU5SWpFeU15SWdlVEU5SWpNME9DNDFJaUI0TWowaU1UUTVMalVpSUhreVBTSXpNakF1TlNJZ1ozSmhaR2xsYm5SVmJtbDBjejBpZFhObGNsTndZV05sVDI1VmMyVWlQZ284YzNSdmNDQnpkRzl3TFdOdmJHOXlQU0lqUWtNelJVVTJJaTgrQ2p4emRHOXdJRzltWm5ObGREMGlNU0lnYzNSdmNDMWpiMnh2Y2owaUkwUTVOekpHTVNJdlBnbzhMMnhwYm1WaGNrZHlZV1JwWlc1MFBnbzhiR2x1WldGeVIzSmhaR2xsYm5RZ2FXUTlJbkJoYVc1ME5sOXNhVzVsWVhKZk1URmZNVEUySWlCNE1UMGlNell6SWlCNU1UMGlNalk1SWlCNE1qMGlNemczTGpVaUlIa3lQU0l5TkRNaUlHZHlZV1JwWlc1MFZXNXBkSE05SW5WelpYSlRjR0ZqWlU5dVZYTmxJajRLUEhOMGIzQWdjM1J2Y0MxamIyeHZjajBpSXpJNVFrUkdSaUl2UGdvOGMzUnZjQ0J2Wm1aelpYUTlJakVpSUhOMGIzQXRZMjlzYjNJOUlpTTVOa1UzUmtJaUx6NEtQQzlzYVc1bFlYSkhjbUZrYVdWdWRENEtQR3hwYm1WaGNrZHlZV1JwWlc1MElHbGtQU0p3WVdsdWREZGZiR2x1WldGeVh6RXhYekV4TmlJZ2VERTlJak0xT0M0eE9DSWdlVEU5SWpJM05TNDBNVGdpSUhneVBTSXpPVEl1TlRZM0lpQjVNajBpTWpjekxqYzNNaUlnWjNKaFpHbGxiblJWYm1sMGN6MGlkWE5sY2xOd1lXTmxUMjVWYzJVaVBnbzhjM1J2Y0NCemRHOXdMV052Ykc5eVBTSWpNak5DUWtaR0lpOCtDanh6ZEc5d0lHOW1abk5sZEQwaU1TSWdjM1J2Y0MxamIyeHZjajBpSXpnMVJUZEdSaUl2UGdvOEwyeHBibVZoY2tkeVlXUnBaVzUwUGdvOGJHbHVaV0Z5UjNKaFpHbGxiblFnYVdROUluQmhhVzUwT0Y5c2FXNWxZWEpmTVRGZk1URTJJaUI0TVQwaU1qRXlMalVpSUhreFBTSXhPVFlpSUhneVBTSXpOelV1TlNJZ2VUSTlJakUxTnlJZ1ozSmhaR2xsYm5SVmJtbDBjejBpZFhObGNsTndZV05sVDI1VmMyVWlQZ284YzNSdmNDQnpkRzl3TFdOdmJHOXlQU0lqTWpOQ1FrWkdJaTgrQ2p4emRHOXdJRzltWm5ObGREMGlNU0lnYzNSdmNDMWpiMnh2Y2owaUl6ZzFSVGRHUmlJdlBnbzhMMnhwYm1WaGNrZHlZV1JwWlc1MFBnbzhiR2x1WldGeVIzSmhaR2xsYm5RZ2FXUTlJbkJoYVc1ME9WOXNhVzVsWVhKZk1URmZNVEUySWlCNE1UMGlNakUwSWlCNU1UMGlNelUxSWlCNE1qMGlNemN3TGpVaUlIa3lQU0l6TVRVaUlHZHlZV1JwWlc1MFZXNXBkSE05SW5WelpYSlRjR0ZqWlU5dVZYTmxJajRLUEhOMGIzQWdjM1J2Y0MxamIyeHZjajBpSXpJME5EZEdSaUl2UGdvOGMzUnZjQ0J2Wm1aelpYUTlJakVpSUhOMGIzQXRZMjlzYjNJOUlpTTJPVGd3UmtFaUx6NEtQQzlzYVc1bFlYSkhjbUZrYVdWdWRENEtQR3hwYm1WaGNrZHlZV1JwWlc1MElHbGtQU0p3WVdsdWRERXdYMnhwYm1WaGNsOHhNVjh4TVRZaUlIZ3hQU0l4TkRRaUlIa3hQU0l5TnpZaUlIZ3lQU0l5T1RNdU5TSWdlVEk5SWpJek5pSWdaM0poWkdsbGJuUlZibWwwY3owaWRYTmxjbE53WVdObFQyNVZjMlVpUGdvOGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJak5qWXpORVpHSWk4K0NqeHpkRzl3SUc5bVpuTmxkRDBpTVNJZ2MzUnZjQzFqYjJ4dmNqMGlJemxETmtSR1JpSXZQZ284TDJ4cGJtVmhja2R5WVdScFpXNTBQZ284WTJ4cGNGQmhkR2dnYVdROUltTnNhWEF3WHpFeFh6RXhOaUkrQ2p4eVpXTjBJSGRwWkhSb1BTSXpPVFlpSUdobGFXZG9kRDBpTXpFM0xqWTNJaUJtYVd4c1BTSjNhR2wwWlNJZ2RISmhibk5tYjNKdFBTSjBjbUZ1YzJ4aGRHVW9OVGdnT1RjcElpOCtDand2WTJ4cGNGQmhkR2crQ2p3dlpHVm1jejRLUEM5emRtYytDZz09In0sZnVuY3Rpb24oZSx0KXtlLmV4cG9ydHM9ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBU3dBQUFFc0NBWUFBQUI1Zlk1MUFBQUFBWE5TUjBJQXJzNGM2UUFBSUFCSlJFRlVlRjd0WFhtY0ZNWDEvMWJQVE05d2l3Z0dSU1BzTEFpS3h2dEFCVzhqM2xmRTIzaGg0Z2s3d3lIcUluTHRMSUxpRVZIakZaTVlqNTlFalFlQ291SVYwYWlvd1BZcUtxTGlDY2p1VHZmTTFPOVRDNnZzc3J2ZFBkTTkwMTM5NmgvOU1LOWV2ZnErMTkrdGZsMzFpb0VhSVdBQmdlUUEzb1duMFNrVVF1Y005QmpuckFOQ3VUMUUxeEJYZG05U3dZRmYvci94M3poZnpoajd1ZkYvd1Zma0dQOEJXV1Z4UkVIR1VIaDlpS2xyQWF5cldzYldXVENEUkFLT0FBdjQvR242R3hFWUc5ZDN5NElmQzJCUEFIMEJEQUFRS1NGQVh3RDhRekMyaEhIK3lrL2Rvcy9NV2N5TUV0cERRM3NBQVNJc0R6aWhXQ1pVRHVMcWVqMDlER0JUMFhJbFZDd2puQnRIVjhCRzFTRnlkdzhOUmlWWXpqblZwTW1yQ0JCaGVkVXpCZHFWaURlVWdlRkV4cFUvY3ZDQkJhcnpTL2UxQUwrSFFmbFhsYWErNFJlanlVN3JDQkJoV2NmSzA1TEo4dlJBenZFd0F5dm40REZQRzF0YzQ3NEFSeUpWRzMyNHVNUFNhRzRnUUlUbEJxcEYwRG1tWDNwd1RzRmtBQ0x2Uk0wcUFod3J3SExuN2FYRlhqME5MR3UxRzhsNUF3RWlMRy80d1pJVnlYaTZrb05kQnZBZWxqcVFrQmtDV1FZOFZxV3Bwd09NbXduVDc2VkhnQWlyOUQ1bzA0TEtRYnp6ZWwyL0c4QWZQR3ltVEtiVmhxSHZOMVhyOHExTWs1SnBMa1JZSHZObTQzNm5uSkVDNTVkNHpMU0FtY05lVnhSY09uMjUrbDdBSnU3cDZSSmhlY1E5aWJMMGREQ01GdnN3UFdJU21mRXJBaCttdE9qT0JFanBFU0RDS3FFUEVtVjFROEJDQ3dDb0pUU0RocmFCQUFQL2M1VVd2WU55WGpaQWMxQ1VDTXRCTUsycVNzVFRUd0E0M3FvOHlYa1NnYVc4bzdwbjlmdHN2U2V0azlRb0lxd2lPWFpVV2QxMklSYXFBUkF0MHBBMFRMRVE0TXJ2VTdXUlo0czFYSkRISWNKeTJmdUp1UDVIc2Z2YTVXRkl2UmNRNE93dnFWcjFVaStZSXFzTlJGZ3VlYllpbnI2ZUFaVXVxU2UxSGthQWMvNVZkVzFzR3crYjZGdlRpTEFjZGwyaXJHRTZHRXM2ckpiVStSSUJ0b1NGSXZ0VDZSem5uRWVFNVJDV2lYakRFd0NqUkxwRGVFcWxobU5GcWpZcVN2WlFLeEFCSXF3Q0FVekUwNkpVeTlnQzFWRDNBQ0RBd0xTT2FtU255bytZSG9EcHVqSkZJcXc4WVUyVXA1UGdtSjVuZCtvV2FBVDRzeWt0OXZ0QVE1RG41SW13YkFJM2VtRDlieFZEV1dHekc0a1RBcHNod0lDeFZWcVUvdWpaaUEwaUxJdGdiVHlJdkFwQUY0dGRTSXdRc0lSQWp2RWpadFRFNWxrU0RyZ1FFWmFGQUVpVzY2OXd6Zyt3SUVvaWhFQ2VDTEMxS1UzdGxtZm53SFFqd21ySDFZbXlocVBBMkRPQmlRYWFhT2tSWU96T1ZJMDZzdlNHZU5NQ0lxdzIvSktJcDc4QzhCdHZ1bzJza2gyQkhMRFREQzM2a2V6enREcy9JcXdXaUNYTGpRVG51U3E3UUpJOEllQTBBb3l4WlZVMTZvNU82L1d6UGlLc2pkNUxEdmkyQzg5Mi9ZNUt2Zmc1bk9XMG5UTitlSFZON0FVNVoyZHZWa1JZQUJKbDZVbGdtR0FQT3BJbUJJcUhBQVAvcGtxTEJUNUZFV2pDdWp6T296RVlxd0hldFhpaFJ5TVJBdmtqRVBUY1ZtQUpLMUdlUGhrY2orWWZPdFNURUNnVkF2eXBsQllMNVBWdWdTU3NSRHo5WHdCN2xpcmNhRnhDd0FrRVZtaHErSkdBM2EwWUtNTDYwNkRWblR2cDNkWTVFU3lrZ3hEd0FnS000ZVNxbXVqalhyQ2xHRFlFaHJDU2ZmVzllWWkvV1F4UWFReENvTWdJTEU1cDBVQzhNUVNDc0NyaURjOHlzQ09MSEVRMEhDRlFSQVRZdWpYZElqM21MR1pHRVFjdCtsRFNFMVlpcnE4Rk9CMVlMbnBvMFlDbFFJQ0YxSzR5VnppVmxyQXF5dGIxWWt6OXBoUkJRMk1TQXFWRWdBTm5WMnZSdjVYU0JyZkdscEt3S3ZvMUhNWVVSdVU2M0lvYTB1c0hCSjVOYVZIcGlnUktSMWpKdUQ2YmcxL21oNGdpR3drQmR4SGdxMUphYkZ0M3h5aXVkcWtJS3hIWEZ3RDg0T0pDU0tNUkFwNUdRRTlwVVdrdTc1V0dzQkx4OUE4QXVuczZkTWc0UXFBMENQQUdxQjFtYXl4ZG11R2RHMVVDd3VJc0VkY2JxTXFDYzBGQm11UkVJS2VvUFdjc1o2SWlpVytiN3drckVVOXozNkpQaGhNQ1JVWkFDV09YNlV1akh4UjVXTWVHOHkxaFhid0hqM1JibzlQOWJvNkZBaWtLQ2dJYzJmMnJ0WTZ2KzNHK3ZpU3NEV1ZoR2w4RHFSRUNoRUErQ0RDY2thcUovaU9mcnFYczR6dkNxaHpFMWZXNjd2dmtZU21kVG1NVEFnSUJuc09aMVo5RS8rNG5OSHhGV0VSVy9naXRXQmRBN2NDd2RqV2xGNzN1TWIrUmxtOElpMTREdlJ2NjJ3NWlPT2YyTUxwdjIzbzQ2WFhBTzNPemVQeTZySGNuRVdUTE9MOGtWUnViNHdjSWZFRlk1KzNBWXozRGVyMGZBQTJTamYwUFVIRGh2V0ZiVTE2NWhPT1dFNlV1S0dBTEQ2OEkreVVSN3d2Q29xMExYZ25yRFhaMDZja3dabjRFYW9mODdacC9XeGJQemFJVlYvNElPdCtUNVhLSFZYM1NZYjd6bXAzVDZHbkM0dUFzR2RkenprMlhOQldDQUZPQWlZdFZ4RG9Yb3FWNTN5bEREZnkwaW5KZHppRmFtS1lNNStVemEyTmFZVnJjNisxcHdrckUwK0pyb09yZTlFbXpWUVNPVG9ZdzdLS1FWWEZiY3V0L0JLWU4wNUd1czlXTmhGMUNvQUZxekt2SGVEeExXSWw0ZXExNCszREpKNlRXSWdKOTkyUVkrZmNJV0JFaVpjVmlqdHRQcC95V1JkZTRLY1pUV2xSeGM0QjhkUmNoRE8yYmxvanJyd0Y4UC9zOXFZZFRDSFR0eFRCaFVjUXBkYmIwUERvK2c3Y2VvVXlBTGRCY0VLN1NWSVdCZWVwOTNYT0VsWWluSHdSd2xndjRrMHFMQ0Z6NVJBVGI3bFRhME1obGdkVGhCcjcvd2xQUGkwVUVwUkdyVDJuUmpsNmFUV21qc2dVU2lmTDBDSEQ0YXVldGw1eFpxQzFIWGhYQ29YOTJKMCtWcjIxR0EzRDlIam95ZEdvMFh3Z0w2OGZ3ZnFvbXVtdGhTcHpyN1JuQ0d0MjMvcmRLU0ZuaDNOUklrMVVFK2c5UmNPRjk5dlpUV2RYdGxOdzdUK1R3ejBUR0tYV2t4d1lDRE95bUtrMGRiYU9MYTZLZUlTemFhK1dhajl0VlBPVkRGV0VmZllkOThQSU1QbmlXOGx2RmpwWndXQjB3ZFNsYlh1eHhXNDduQ2NKS3hOTmlGM3VzMUdBRWFYeng1YS9mWHA1d2YxNndUenZVd0ErZlUzNHJML0R5N0JUUzFTMm5mYzUrekxPN0k5MUtIckdKZUhveGdOMGRtUTBwTVVWZytKZ1FobDdvclR5VnFkRnRDSHovT2NmMHd3eUFlQ3RmQ08zMnk2VzBhRW1EcDZTRVZSR3Z2NEJCdWRzdWFpUnZINEhmOUdjWTlYUnB0aW5ZdDlaZWowVVBaREgzeGl3Umx6M1k4cFpPYWRHUzhVYkpCaDVWVnJkZGlJVSt6eHMxNm1nSmdYQVV1T1lWRlowQ2NEM0hmU016K0dnKzViY3NCVVlCUXB3alZWMGJUUmFnSXUrdUpTTXNTckxuN1RQTEhaUFBSN0JWMzVLNTJMS2RUZ3VPNmErRDAydWkwN0EyMHhlSnFOdE0rWmg5NWVvZ3JTZ3ZTVFFuNGczZkFLeFhzU2NibFBGRWprcmtxb0xjUG51SDQvWVJocWlxU2MwbEJFcnhhbGgwd2tyRWpldUEzRVNYTUF5MDJwNzlHQ3FlaVVCVVZhQzJBWUdYLzVyRFUxTnAvNVpMOGJBeXBVVzNjMGwzcTJxTFNsaGp0K2ZkczZvdUxqeWw1aUFDb3R6THRXK29pRWh6djYrRDRHeFVkZE53QTE4dnAvZEVwNUhsbkkrc3JvM2Q2YlRldHZRVmxiQXE0dWtNQTRMOXJ1S3daeSs0SjR3QkI5R1N5Z3FzNjc3bG1IeVFnUnd0dUt6QVpWbW1tSytHUlNPc1JEejlKb0M5TGFOQWd1MGlzTS9wQ2s2ZTVPM2pORjUxNFJmdmM5eDZpa0dKZWVjY2xFMXAwYUlFWTFFSWEyeDVRNzhzWjdYTzRSTmNUZHZ0eW5ENW8zTHVweXEyVjUrY2tzVXI5MUtaWmlkd1o0emRVbFdqWHVtRXJ2WjBGSVd3RXZHMGlBcDZieW5RbXplOG8wSmNvVVhOT1FURTYrSEVmWFRVaTNLUjFBcENvQlBVYnBVYWN4Vkoxd2tyRVc5NEVtREhGSVJFZ0R1TFNwOW56UTVqOEpIRTkyNkdnYmhEY2RvaEJqSjBSVzlCTUx1ZHozS1ZzTVlPL3FsN3RyNERmUlhNTXdRT09qK0VZOGJUTjRvODRjdXIyOUtYY3ZqclJaU1Z6d3M4MFlteDJha2E5WXE4KzV0MGRKV3dFdVZwQXh4RlNjYTVCVkFwOUpheVBIRXA1dXZGTWU4WWtjR25iOU91MDN4ODA2bE83VlM1aXJseXBZaHJoSldJcDhjRG1KelBoSVBhUndrRDRqak5sdHU1NXBhZ1Fwdlh2RVcxMDZyRERhejVtdlp2MlFSd1RVcUxibUd6anlWeDE1NE1PaXRvQ2Y5ZmhFYitMWUorKzdqbURudkdrSFF6Qk5aOUMwemFuMm8wMndrTHpyTDdWdGQwRkZ1WkhHMnVQQ0dKZVBwN0FGczZhcW1reXZZNFFjRWZVdlRXN0FmM0xyd3JpNmVyYUJ1RVJWKzVjbFdZNDRTVmlLL2ZIUWlMb256VTJrR2c0eGJBTmEvU2NScS9CWWs0VEMzeVd5dmVvZnlXbWU4WThHaVZGajNWVE03Tzd5NFFWcHBlK052eFFDUUdqSGtoZ3E1Yk93NjlIYitUYklFSVpEUEFqZnNiV1A4amhYdDdVSzdwcHFwekZqUEhic2QxOUtsSjl0Tkhjb1hmVVdBc1NOdjl6RmxoN0RxYzlsUEo1T0RQM3VXNDdUVEhua2Vab0dtYXkvcVVGdTNzMU1RY0pTeEt0TGZ1bHUxM1piaU1qdE00RmJPZTFEUC85aXllbTBuNXJkYWNFMkpxMmJRYTlva1Rqbk9Nc0JKbDZjZkJjS0lUUnNtaW8vdTJESW5uSTc2NlJrc1c3RXMxanpublpLQzlUdm10RnZqcktTM3FTUEVqUndpcmNoQlgxK3M2SFdyWXhFdmpYNDVnaTk2T3dGdXFaNC9HelJPQmhwK0JpWHZwRUhrdWFrMElLTU5TV21SaG9YZzQ4a1FseXRKdmdXR3ZRbzJSb2Y5eEU4STQ0RnpLVThuZ3kwTG5VUHRHRG5QT3pWQ1o1bzFBT25ITzBCbkNpdE9Yd1YyT1ZuRFd6YlNmcXRDSFhNYisvMGxsOGRJY3ltK0I4VVNxSmxaZGlJOExKcXhFV2ZwVE1PeFFpQkYrN3R1eEcxRDV0by91ZXZjejJENjNmZXBRQXordUN2WTJpRUpYV1FVUlZuSUE3OEt6dXF2MWI3d2FvMG9JdU9MeENMWVpWQkNFWHAwZTJlVVNBbzFsYkE0MmtBbm9TUi9HMkpWVk5lb3QrY0piME5PV2lPc2ZBSHpuZkFmM2E3OFJONFd4MjdHVXAvS3IvN3hnOTFkTE9XWWVHOHo5VzRXc3Nnb2tyR0RscnZvZm9PRENleWxQNVlVSFhoWWJIcm9xZy9lZUR0WTJDTTc0TWRVMXNhZno4V0hlaEZWUjFyQ0tNZFk3bjBIOTFxZmpGZ3hqWDR4QVhLZEZ6UnlCcjVkeGZGUExzZXZSdEFvMVJ3dG9MR056bUlFMTN3UW52NVh2S2lzdndxb0VWOWJIZGVrL2U0ajZWR1BuUjdERk5ubkJaQ1ZXcFpIUjY0RHJkdE9SYTJXeGNPWGNDTGFsWEorcHIwVmQrVW43NlVISmI1MlcwcUtQbUlMU1FpQ3ZKekVSVHo4STRDeTdnL2xKZnZqWUVJWmVRT1dKcmZqcy9rc3orUENGOWw5ck9uUUR4aTlVRWUxa1JXT3daZDU4T0lmSEpraS82elN2M2UvNUVwYTBhMWR4M1h2aU9icEd5d3BsTEptWHd3Ti9zdmRnOVI3QWNQVlRoSzhWZkc4NTBjREtKZEkrYXNnbzJUNHpsM2Y4MGdvV1RUSzJDU3RScHA4RHh1KzNNNGdmWkR2M1lCREhhY0swcGNyVVhhczFqaG5EallKMmNCOS9YUmhEenFZY2x4blk0bmpQOUVNTS9QU1ZmTVRGZ0lZcUxkckJESU5OZjdkUFdCTHVhaGNIbEh2MnRRMkZIWnlsa2IzeEFBTnJIVW9PTXdVWU15K0NMYmNuN00wQzVJZVZHL1p2eWRic0p0OXRSY3Fvc3JydFFpejB1U3lnSFhCdUNNZE5vRHlWRlg4K01pNkQvejdxenVkMzhSWDJtbGNpRU1VTnFiV1BnQ2hoSTByWnlOUDR3cFFXRzJaMVByWUlLeEZQZndHZ2oxWGxYcFVUWC85dWZFK2wxejhMRGxyOFJBNy9TbWJBaS9CR0lpNkxQZnRXMnVkbTVoYnhtamhwWHdOMWE0cmdGRE5qSFBqZHppckxNbUhKc3BVaEZBR21ma1NKS3JNNEUzdURyaGxjbXZNajU5OFp4c0JES0w5bDVxTUp1K2pRNjgya3ZQODdCMDZvMXFKenJWaHFtYkFxeWh1cUdHY0pLMHE5S2hNS0ExTS9Kckl5ODgrczR3MnMrcWowZjczSHpJK2dCK1czMm5YWDFHRUdmdnl5OUw0eWl5bXozNjJ1c2l3VGxnemxqOFhLU3F5d3FMV093RDhxTW5oM3JqdDVxbnd4Nzc0Tnc3aUY1TFEyOGVOQXNuOXBWc0w1K3JTMWZvNFNsZ3hWR1hZL1hzSHAxWlFmYVMxWWxyK2F3OTNuMjl0UDVXU3dXdEYxeUtVaEhEV0tQcEMwaHRWWHl6aG1IdVB2TDRpTXNWZXJhdFFEeldMQjBnb3JFVTkvQjZDSG1USXYvMTVWUTYrQ0xmM1RzSlpqOG9FRzBuVmU5bHh6Mnk1K0lJejRmcFRmYXVteFpMbnZWMW1XTGw2MVNsaStma2t1SDZMZ292dG9kZFVVNUxrc2NOUFJCbFovNGwrMzN2Q3VTb2ZSTjJHdDJqYzU3anpMNTZzc2hlMVR0Vng5cTcwL242YUVOVHBlZDRxQ2tPMURpbDc2bTUxOElZS3RmbXM2VlMrWjdKb3R6NlN5ZUZHU2NyMWwreXE0NUVINlE5UVVMQktzc3Y2WDBxSzdGVVJZaWJMMEQyRG83dG9UVkFURjlEb0lyUHFZUTN6OWczOFhWVzFHeXZCa0NFTXZvdnlXQklRRnMrUjd1OHNPV2ZaZUJabXc2bjRDYmp4QVJ5WUFsN0FGdll5TnFHQXFLcG42dWZGUXJsLzFzZzZmdGpXSGRna3JVV1lNQWN1OTZtY0FoTzFCSmF5YlR6RHc1WWYrRG1DN3NkZTFGOE9FUmNIY0JuSFh1Um5Vdk9hdGJTbDIvUWVnUHFWRk8rWkhXSkljZEE0YVliMTZYeGIvbml6VGVUUDdZYi96RVFyT0VjZDhBcFM2bElTdzJuMHRiSCtGUllSbC8wa3BZWThWaXpsdVA5M2ZYNHFjaHU4UDA4UFk0NlJnYklPUWhiQTR4K0RxMnVpUzFtS2hUY0pLOWpjTzVibmNDMDRIVUNuMHliN0M0amxnekFEZjc4TnhOVFJrandFQm5peUVCZUN0bEJiZHh4WmhKZUxwRHdCSWNZV1h0TUhLZ2Z0R1p2RFJBdC9uTFZ3bHE2RGtNU1VpckRaZkM5dGNZY2x3ZHJEcEtaQ1JzQmJlbGNYVFZjSE9VMWxsdVlwbkkraFZKbjh5U3liQ1FzYm9uVnJSK2V1V1BtN1ZpOGw0WFIrT2tLaDlKVVdUaWJCVzEzSlVIMFY1S2l1QnVkOFpJWnc0TVRqN3M2UWlMSTRiVTdYUmF5MFJWa1c4WVJvREcyTWxLUHdnSXdWaGNXRHF3WEtVRW5FN1pzUkZGMkpQbGhJY3JtcUVWQ3JDQWxwOUxXeDFoU1hUNjZEZjh4ZWkwdWU5RjJldzlDWEtVNWtSWFRnS1RIbzN1Q1dFaUxETUlzUW52L3QxaGZYR1AzSjQvRHB2bDMzeFNnaWM5NWN3QmgwYWpPMExiV0V1RzJGbEZMWFB6T1dzMlRWZ202MncvamlBZCttUjFkZDZKUkNkc01PUGhEVnVvQTVSdTV0YSt3Z2NjRjRJeDEwVHNIZS9OaUNSamJBQWZKelNvb00ybmU1bWhKV0k2eThCZktoTUQ0cGZDQ3VYQVZKSEd2ais4MkFkcDhrbjFyWWR0Q0ZQUmUxWEJDUWtyTTF1aDI2RnNCckx1ZG02M05EclFlTUh3dnJiNVJtOC95emxxY3hpU1NUU3g3MFVRYmZmeUw5TndReUxscitMVXc3aXRJTk1yV1gxaHRZSVM2NFplL3p3ODZkdjUzREhDSHIzTTN2SUdBTXUvR3NFNVFjUVViV0ZsUXpsWlZyT2piVW82dGZNKzZQNk5mUVBLV3laV2ZENDdYY3ZyckIrL243RFRiNHlYTlBrZGp3Y2VGNEl4MUtlcWwyWWYvaUNZOW9oRXU3UFkyeDJxa2E5b21ueXpRZ3JFVStQQnpEWjdRQXN0bjZ2RWRhTlF3eXNYUzNkUXRaeHQ4YTZBQk1YcXhDcksycnRJeURqNm1yampKdlZlbThXQ3NueTlDck8wVnUyNFBBS1lUMVRuY1dMZDlKeEdyUDRVanNBeVJkVWRPMWxKa20vci9rR21IS1FEbkVBWHRhMmFSNnI1UXBMeWovN3BTYXNUOTdLNGM2ek0xSUhsVk1QeXdYM2hESGdvR0R2cDdLS1plb0lBOTkrS3VVajJ3eUNUbjNVU09WTHJESFIrd3RoY1hDV2pPdFM4blNwQ0d2OWo4Q05RM1JrSlV3dFdIMm9yTXFKVFo5aTh5YzFjd1FXM0pIRHN6Y0Y2VU1OajZlMFdHMHp3cm84enFNeDZBM21jUGxQb2hTRWRlc3BCajUvVC82L2ZvVkdnOWllSUc0MWlrUUwxU1IvLzAvZjVyanpUQU01S1pjVjdmbVBMMHhwc1dITkNDc1pUMC9od0RnWjNWNU13bnJodGl5ZW4wVjVLck00WWdvdytRTVZZYnJmMWd5cXhoWDYrSjNsemxPWmdkQ1V4L3JsbFZDMkE4K2JBbEFNd3RMZXlHSE8yVUZhcHB1RldOdS9IM2ROR0FlY1Iza3FLd2cyRm1pY0g3Z2wxV2JRRUdGWmlSWUxNdUlXNWV2MzBKRmViMEU0NENMeGZSVmM5RUNZdGlsWWlJT1g3OG5ocVduMEI3QUpLaUlzQzBIVDdsdDFEdmpMbVJtSW5lclUya2VnMjlZTVkxK0tJRVE1ZGROUUVRVWFaL3plZ0NnclJPMVhCRElOYW8rWks5a1A5RXFZUjFUSWROMTdIdE8zMWVYcUp5UG92U1B0L0xRQ1dtT0J4cFhFVksxanhTNUxhZXB0alpFME9wNGVwQUFmV2dIVmp6Sk81YkJFRllYcGg5SWVCU3N4Y0hReWhHRjBmYndWcVBDUFVSbTgreVN0MUUzQStuZEtpeDdmU0ZnVjhZWlJER3lHSlhSOUtGUW9ZWW44MVBSRGRmejh2UThuWDJTVCt4K29RR3orcE9NMDVzQXZmanlIaDhkUW5zb2NxVWFKVDFOYXRGOGpZU1hLMDArRDQyaUxIWDBuVmdoaFRUOUV4L2ZTWE1maHJ1dW1mRWpiRkt3Z2JLU0JhM2ZWSVQ3WVVMT09nRWk4TnhKV01wNnU0VURjZWxkL1NlWkRXRzgrbk1OakUraXZueFZQWC9wUUdIMzNwbTBLWmxpSkFvM2l4cVB2UHFNOGxSbFdyZjMrQzJISnZBZExUTndPWWYyNGlxUHFNSU9PMDFpSXFPRmpRaGg2SVpVbnRnQVYvalUyZzdjZm96eVZGYXpha2lIQzJnUVpvd0c0Zms4ZG1YUWhrQWFqci9qcUo3NytVVE5INEpPM09QNXlKbjJvTVVmS1hDSU10ZGVHSEZZOExmVWExV3lGOWRDVkdiejNIL3JyWnhZeTBVN0F1SVVxT25Zems2VGY2MzRDcGd6Vm9ZdUM0OVFjUVNDbllDQkxEdUJkdUdTMzVMUkVweTNDcWxtVXcxM25VWjdLU2pSZC9lOEllZytrL1ZSV3NKcTBuNEYxMzBtOUJyQUNnK015bkN1SENzTGFobWYxWm5kL09UNVNpUldLQTdiaUMxWlRFeldFYmpyYW9HdTBMUGlGcnRHeUFOSkdrWG16czVoM0MzMzZzNDZZUFVrT2Zpc2IzVCs5bzVMRHgvYTYrbE5hbE53MTZrRkVaY0Y5UGZzeGpING1Bb1UrL3BtaXRlcGpqbG5IVVo3S0ZLaUNCZGhpbGlnemhvRGxYaTFZRnltUUFvRm9SK0RhTjFTSU1zWFUya2VnYmcwdzVVQ2RMaElwWXFDd2luakRWUXhzWmhISHBLRThpc0FGZDRjeFlDZ3RxYXk0Ujl6L0orNEJwRlpjQkZneTNuQTNCN3VndU1QU2FGNUM0SGZIS0RoakpwVlN5TWNuMVVjYVdQMEpKZGp6d1M2ZlBpd1IxOThHK0I3NWRLWSsva2FBOWxNNTQ3ODZVYnYvUU5yRDV3eWE3V3Roc3UvQktnYUlmaHpqaHNVcVlsMzlhTGwzYmY1cUtjZk1ZK2sxMFUwUEVXRzVpYTRIZFkrWUVjWnV4MUdleWszWFBERXhpOWYrUnRzYjNNQ1lDTXNOVkQyb2M1L1RRamg1TXAzN0s1WnJSQ1dHV2NjYStGcVVGYURtR0FKRVdJNUI2VTFGblhzd1hQY0duZnNybFhkRUxiVkorOUhXQjZmd0o4SnlDa2tQNmhFYlA3ZU8wM0VhTDdqbXczazUzUDhuT2daV3FDK0lzQXBGMElQOXo1b2R4aTVIVVo3S2c2N0IvMVZtOFBwRGROQStYOThRWWVXTG5BZjdEVDVLd2RtemFUK1ZCMTJ6bVVrM0RUZnc5WExLYjluMUZSR1dYY1E4S0UvSGFUem9GQXNtclYzTk1mbEFBNXdXWEJiUTJpQkNoR1VaS3U4SmhpTEFxS2NqNk5tWDhsVGU4NDUxaTBRdHRyOWZsYUc3Q0MxQVJvUmxBU1F2aXB4MFF4ajdqcUE4bFJkOWs2OU5WRWJaSERraUxIT01QQ1d4elVDR3EvNU4yeFE4NVJTSGpibjJkenJFZGdocW15TkFoT1dUcUJDMXZLNTlUVVVrNWhPRHljeUNFUGoyRTQ0Wnd3MkltM2FvL1lvQUVaWVBvaUU1TDRLdGRxQThsUTljNWJpSkh5M0k0YjVMaUxXYWdDWENjanpFbkZONHlNZ1FqaHBOeDJtY1E5Uy9tc1ROTytJR25xQTNJaXdQUmtDL3ZSbEdQa1I1S2crNnBxUW1wWC9lY0JOUC9kcVNtbEhTd1ltd1NncC84OEhGTlZyWHYwWFh2WHZJSlo0MFJWeWlranJTQUFLNDRDTEM4a2hJWG5SZkdPVkRhSnVDUjl6aGVUT3lHV0RjUU4zemRqcHRJRlVjZFJwUm0vcU9HaFhDSVpkU25zb21iQ1MrRVlGa2ViQklpeVhqK2h3T2ZoRkZRSEVSNkRPWTRZckhLVTlWWE5UbEc2MStEWEQ5bnNFaExUYTZ2R0drd3RrZDhyblNtek1TeDJtdWVUV0N6bHZTTmdWdmVzaC9WajA3TTRzRnR3ZWp3aWtiM1UvZlMxSDRXLzV6azc4c1pnb3c4bThSOU4yTGlNcUs1MTc3V3c1UFRQeDEvNUg0SUNIT1RYYmZsdkJyRGIrQXZCcm1Bblh6czVVSHhRMlpZUmVIY0hTQzhsUldzRjI2TUllL1h0ajJSc2t0dDJOSVBCOUJpS3JvTklQejViOW04ZFJVdVZkWkhIaU5KUWZ3YlhoVy85SktNSkdNUFFRNmRBVW1MbGJ0ZFFxb2RDNEhqTnRSdDF5eG9IeC9CUmZkVDZ6VkZDNmlodnpZSFNYUFpTbTRnVlVPNHVwNlhVOEg5RGx4WmRyaW12ZmtDeXE2OW5KRnZWUktSUzJvTzg3SVlNWGkvSXBDblhOYkdEc2ZRZHRCUkZESS9scW81SlFER3hNQ2REZWhjeHdnZHFpTG5lclV6QkdZZTBNV2l4NHMvRFZHL0lHWThKcUtXR2Z6TVdXV3FEN0t3T3BhZVhlVDVoUU1KTUp5S0lKM09rekJ1WGZRSzRvVk9GZDl6REhyT09jdkhPMitMWkNjcDBKOGlRMWl1K3ZjREdwZXkyK2w2Z2U4akV4ZGR5S3NBajIxWlIrR2l1Y2lDRk9xeWhSSnZRNllkckNPbjM4d0ZTMUlZTStURlp3MkxYaC9QR1FuckpRV1pZMkVsWXlubDNCZ3A0S2lKR0NkbFJCd3c3c3F4T3NJdGZZUjRCeTQrUVFEcXo0cTd1dUsyQWJ4bS83QmVUMFBER0ZWeE5PUE1PQVVldkNzSVhEcTFERDJPb1VTdlZiUVd2UmdEbk52S0YwOUo3Ri9hK3lMS2pwMXQyS3R2MldDUTFqbERWY3d6bTcydDd2Y3QzN253eFdjZlZzWUc5YWwxTnBEWVAwUEhEY09NU0FPNlhxaGlmMWJZeGZJbmR5U25MQ1dwclRvaHFSN01sN1hoeVAwaFJjQ3k0czJkTitHWWN6OENKVGdwVVZzdTBPdkI2WWNwS1B1Sjl0ZGk5TGhoT3REMlA4c09UZnh5a3hZSEhpMFdvdWUrc3RhZ2JZMnRQNjhpRjNWZEkyV05TNjVmMlFHSDg3My9sY3FXYTlIazVtd0dIQldsUlo5aUFpcmpXZVI4bFRXU0VwSW1SMm5zYTZwdUpLUktGRDV0andYZThoTVdKa0d0ZVBNbGF5ZUNLdkZNMExYdlZzbmpSOVdjb2pOaWhtZm41UFk5V2dGWjk3cy8vZDltUWxMYkdrUWtVbUV0Zkg1REVlQkc5OVRJYllyVUROSDRMcmRkVFNzTTVmems4U1pzOExZZGJoL3YvNEdqTERxTHdTVXUvd1VZRTdZS2dqcXlpY2k2TDBqZmZxemdxZW9DQ0FxQThqYXhJZVZpbWY4ZWExYW9BanI4bmhOTklidEcyUU54TmJtZGZ4MVlRdzUyNzkvVVl2cHE0L201M0QvcFJuTDFSU0thWnNiWTIyeERjUDRoZjdhQmlFcllYSE9INit1alozYzdKVVE0S0srdS9jLzhUZ1FuWDMzVkhEcFAveWZzM0FBQ2xNVjYzOEFKZzNSQTNzRDhiNm5Lemhwa2o5aVJWYkN5alNzN2poejVYYjFMUWhML3FvTkhib0I0eGVxRUx1ZnFaa2pJSTdUZlBsaGNZL1RtRnRWR2dtUmxCZkplUzgzV1FscmhhYUdId0ZyekVNMFM5d2s0dW4zQVF6MnNsUHl0ZTI4TzhNWWRJaTNBeTdmdVRuZDd6OVZHYngwVnlBVzI3YWdFMld1cHk5Vld6dzF0bFM0S2l3cllUVjlJZHljc01yMHk4SDRMYTZpV2dMbEIxMFF3akZqNmZPZkdmVGE2eHh6em5HKzdJdlp1SDc2ZlovVFFqaDVzamRqU1ZMQ1dwUFNvbHMweFVpekZkWlZBOWYzamhqaFZYNEtJQ3UyVGwrdTB2bS9kb0RLNk1ERXZYV2sxMXRCTTlneVkxK01RSlFVOG1LVGtiQVlNTEZLaTFhMlNsamlIMlU4b2xOVlE4V3FXbnZBUkIxd3NhTDY1QzNLVTVrUjBBNTdNUHpwbjk3K2FpZ2pZZVdBbldabzBZL2FJeXh4YkxXYm1RUDk5RHNSMXViZWVuNVdGaS9jSnU5K0txZmlNeElEeHIya29uTVBwelM2cDBkR3d0bzBmN1ZaRGt2OFEwVlorakhHY0pKN3NCWmZNeEhXcjVqL3RJcGp5bERLVTFtSndxdWVqR0FiSDIwb2xvMndHRmhkbGFZMis2YS8yY3Y0NVhFZWpVR1hhZ01wRVJaZzFHL1lUeVhiY1JvcnhHTlg1ckRSQW91OUFBQVN6RWxFUVZRL2gzREVWZDVNckxjM0Y5a0lDK0FMVTFwczJLWnpialY3S0ZzZUsraUVOZnNVQTErOFIza3FNK0xxc2hYRGhFVVJpTzBMZm15eUVWYW5QcTlGS2w4NnVGa0p5TllKcXp4dGdNTWYyM3N0UkZaUUNldnR4M0w0MTFpUGxQeTA0S2RTaVVRNkFOZTk3djhOeGJJUlZzdjhWYXM1TFBHUHlmNE5sL0VjbTEycUFISjYzS0FSbGlqN2tqcmNPK1dKbmZhbmsvckU3ZEhpRm1rWldtQUphOXlPYTN0a010SHZaSENpbUVOUUNFdnNwNnJjUzRlNFRvdGErd2pzZVpLQzA2Wkw4eExST0ZtWkNJdHhkbmxWclhwclN5KzJ1UU5PcGp4V0VBanJueFVadkRPWGp0T1lFWFd2TW9hcm40b2dKQmRYU1VkWURWQzd6ZGJZV2h1RTFmQXF3SWFZQllBZmZwZVpzSmEveW5IMytiUk53VW9jaWdLTmFrY3JrdjZVa1dtRjFWcitxczBjbHZpaG9peTlNMlA0d0ordWEyNjFqSVQxL1djYzB3OGpvcklTbjMrWUhzWWVKOG1ScDJwdnZySVFGZ09iVjZXcFI3UTIxM1lQUmNueVdpZ2JZVTA3MklCSXJGTnJINEhmSGF2Z2pKc2tmUGRyWTlxeUVCYm4rdGJWdFYxVzUwTlk0bm9CM3gvRWs0V3ducHlTeFN2MzBuRWFNNkxlb2pmRCtKZTlmZTdQYkE3NS9DNExZYlgxT3RqdUs2SDRjWFQvOUk1S0RoL25BNTZYK3ZpZHNKWThuOE1EZjZiOVZHWXhKZXJ6ajNvcWdsNXhiMVpUTUxPLzBOOWxJQ3dPL21XMUZ1dlRGaGFtbnBYaHRkQ3ZoQ1cyS1l6ZlNTODBqZ1BSZjhTTU1IWTdUdjQ4Vlh2T1RCMWg0TnRQL1owcWFJRGVhN2JXNWR0Q0NNdjNWVWdyLzZ1aTR5OGx3UHp4L040eElvTlAzNlp0Q21iZTJ1WDNDczY2SlRoNXF2YndTSmI3LzQ5YmU2K0RwcStFUWlBUk40WUN1WmZNQXNmTHZ4ODdQb1FEei9mSFlkYW5wMmV4OEc3S1U1bkZVMWdGSmk2VzU5Wm1zL21hL1c0MEFOY005amRoTWVDWktpMTZkSHR6TlgwbDNFQmFhWCt2TTMydzIvM0xKUnczbjBqYkZNd2V6RkFFdVBySkNNUUdVR3EvSXZEaVg3SjRab2EvLzlDcFhOMStjaTM3b21EQ3FpaExMMk1NL2YwY0lNbDUzcjBjYzlKK0J0Wjk1L3UvQ2E2SHgwa1RROWozREgrc2xGMEhvOFVBRXJ3TzVsSmExTlM1bHY5TStYMlYxWGpqeVRJUDdkRGd3TzBqREt4WVRFUmw5bkQzSHJEaE9BMjExaEY0YkVJR2J6N3M4M3duWTNlbWF0U1JaajRPREdFSklBWWVyT0Q4T2FWUDBMNThUeFpQVGZQMzh0MHNzSno0dlVOWFlPeUxLc1IvcWJXT3dMcHZPU2J0Ny85VWdsbXl2V24ybGdtcm9reS9pREUreCsrQlU4clhDbkVyemZXNzY4ajUvSTloTVdKZzNFc1JkTi9XY25nV3d5UlBqaUhCcTZDNEhMV3VTck4ydmJHdGlQRDdhMkZUeElrdmh1TExZYkZhMWtCakhYWHgxNUJhK3dnTU9TZUU0Njh0bm0vODZnOFp2Z28yWWMraDdGK3RSVjYzNGd1N2hQVWhnRUZXRkh0ZHBrdFBobXRmY3o4dmNzOEZHU3g3bVpaVVp2R3dkVG5EVmYrV3MreUwyZHp0L3I3c1pZNTdMdkQvYTJEVHZLMitEZ3A1VzRSMThUYThZN2VPdWxUWGJZcFQvT0kwdjlPTmp0TllRelRhR1pqd3F2L0xFMXViYldGUzlXdUFHL2JUSVZic0VyVy9wN1RvbVZiblk0dXdoRkpaWGd0YkFuVEtsREQyUHJYd294M2ZmODZST3RKQWpvNyttY2JnaFg4Tm8vK0JoV051T3BBRUFyZWRadUN6ZCtWTEtkaFpYZGxlWVlrT28vdnBleWtLZjB1Q0dHaDFDcFArbC85ZisrdDJwMnUwck1TRmpPV0pyY3c3SHhueE5WbDhWWmEwclUxcFVWdVhOdHRlWWNtOHltb0tpbDc5R0NxZXM1N2ZrbUlmVEJHZUNMR2Y2c3E1RVlpcUN0VGFSNkQyelJ6dVBFdnVaWHFtb2FISHpKWGRmckFUQy9rUlZsazZCWVlLT3dQNVVYYndVUXJPbnQxMmZ1dkRlVG5jL3llNWc4b3B2MTM3ZWdUaTNqOXE3U01nOGxNVDk5YlI4TFBzU0xFZlU1cTZwZDFaNWgxQnN1YXlXZ05RYkRZVm0wNmJtcWoyS2FwK1VqTkg0UFRxTUhZL252SlVaa2p4SEREcmVBTmZMWlV2VDlYYTNEbkg0T3JhNkJJelhGcitYZ0JoNlFzQWZyRGRBVWsrR0Fqc2M3cUNreWM1Ly9WVlJ2U2VtNW5GL051bHpWTzF5bGNwTFpyWFg3RzhDU3NJdVN3Wkh3NjM1eVRxam9uNlk5VE1FZmh1QlVmVjRjRmJxYXV4N1BhVGwzUnN0eXBEVytnVlJGakpzdlJUbkdHNHVXdElRbllFbERDUWVDNkNIdHNYRkZLeXc5UTRQN0dmYXZLQk92VDZRRXgzczBuYTNjcXdxWUtDb3V0VThOQU9jWjJ5enNHTXUxOW0vY2U3SXRoeFdFR2hGQmdFWng0Ym5EeFY2MDVWamt4cGtlZnpkWGpCVVphSXA5OEVzSGUrQmxBLy95SXc4QkFGNTk5SmVTb3JIbHowWUE1emJ3ajgzM1lqcFVVTHloY1VURmlVeTdJU3JuTEpkTjZLUVZSVGlFVGxtcGNicy9sNkdjZk00d3lJcjRCQmI1eGw5NjJ1NlNnV09IazNSd2dyV1piK0IyYzRQVzhycUtNdkVCRGxpY2N0aktCclQwZkN4aGR6enRkSXZRNllzS3UvYTZ6bk8vYzIrbG1xS0dvMnBpT1JWd211ckkvcmdmb3Vhd2FzYkwvNzZTS1BVbU4vN3lVWmZMeUFsbFNiK29FeERLcXFpUlo4eDZramhDVU1xeWhybU0wWXU2elV3VUxqTzR0QW44RU1Wenh1L1ppU3M2UDdTOXZpeDNONGVFemc4MVN0T0kydFRtbnExazU0MHpIQ29seVdFKzd3am80dXZSaXVYVVJFWmNVanF6N21tSFZjOFBaVFdjRkd5TERRMnE1VnkzcXVzeXJmbnB6RGhLWHZEdkRGVGhoR09rcUhRTVd6ZEkyV1ZmUW5IMmhnemRmQk9FNWpGWk5tY2h4ZnAycWp2ZlBxMjlwYXpTbEZUWG9TWmVuMVlPam90RjdTNXo0Q1F5OElZZmhZS3FWZ0JlbUhyc3pndmY5UW5zb01xeXBOVlJpWVk0enU2QXBMR0QrKzc4OWJHNkhJMTJZVG9kKzlnMERmdlJTTWZDZ001bmcwZUdlT1RsbXk2SUVzNWs2aTcwdFc4R1RBK0NvdE90V0tyRlVaVjBJMEdVOHY0Y0JPVm8wZ3VkSWdJSTdUVFB1NG9IMThwVEc4QktQV3JRRXE5NlJ0Q2phZ2QyUWJROHZ4WENFc01VaVF5cy9ZY0tKblJNKzVQWXlkRDgvcndMeG41bEFNUXpJR01ITzRnVzgvZGV5dHBoaG1sMzZNak5FN3RhS3o0MjlhcmhIV21QS0c0VG5PbmlvOWNtVEJwZ2dNdXppRW94T1VwN0lTRmZkZGtzRkh0Si9LQ2xUTlpCaXd2RXFMRHJEZDBVSUgxd2hyd3lwTC93Ymd2U3pZUVNJdUk3QjFuR0gwTTdSTndRck1TNTdMNFlITGFEK1ZGYXhha3lta0dvUFptSzRTVmlWNGVIMWNwdzBxWmw1dytYZTZSZGthd1BWck9DWU5NWkJKVzVNbnFjMFJZTWlkVmFWMWVNZ3RiRndsTEdGMFJUdzloZ0hUM0pvQTZXMGJnZlB2Q21QZ01NcFRtY1ZJTGd0TTNNZUFJQ3hxQlNHUVRtblJXRUVhVERxN1RsZ2JYZzNUUHdHd2RaMlBtNU9XWFRlVko3YnU0Y2V1eWVETmY5RitLdXVJdFMzWkFEVTJXMk91cmsrTFFsaVZ3M2g0L1VwNk5YUWlLTXgwVEZpa29pdGxEYzFnZ3ZZR3g1eXpLVnRoQ3BSRkFjN1p4ZFcxNmwwV3hmTVdLd3BoQ2V1UzVjYTFuT2R1eU50UzZtZ0pnYW9hMmxmVkhsQS9mY1V4NVNBaUtrdkJaRldJc3g5VHRmYXY3TEtxZmxPNW9oRVd2UnJtNHg3N2ZZaXdXc2VNY3lCMWhBRng4UU0xWnhGdzg2dGdTMHVMU2xnYlNVc2tESW8rcnJNdThxNDJJcXdXdnVIQTA5TXpXSGdQNWFsY2lWcXVISkNxalN4eVJYY3JTb3RPSE1reTQyRE9jZ3VLTmNHZ2pmUGIzekg4K1JIYWJ5WDh2dVQ1SEI3NE0rMm5jdXNaNE9BdlYydXhvVzdwYjAxdjBRbHI0eXJyYlFCN0ZIT2lRUnRyN0lJSXR0eXVKTzR0T2RUaTlXL01BQjJndHo5WGZWSE1WOEdtaVpRc29oUHg5SHFBeXRDNEdWR3hMc0RZRjFWMERNaUdFckdmNnRaVERhejhnSmpLemJnU3VwMHN5bWZIMXBJUjF1VnhIbzFCYjdCakxNbm1oMER2SFJtdWZsTHUxOFJIeG1YdzMwY3BUNVZmaE5qcnhZRVRxclhvWEh1OW5KRXVHV0VKODBmM1QrK281RkJ3WVhwbm9KQmZ5NG1WWWV4M3BsdzczNzljd25IemliUk5vWWpSKzNaS2krNVZ4UEdhRFZWU3dtck1aNVhyZDRMemkwc0ZRTkRHWlFwdytTTVI5Tm1sNUs0dkNIcWpZY04xNzNYaURBVzFvaURBd1g2dTF0UXVSUm1zalVFOEViV0plUHA3QUZ1V0VvaWdqUzB1UWIzaFhSWGlya0UvTlpGUXJ6ck13UGVmVTU2cXlIN2pLUzFhOHVXNUp3aXJjYVVWVDFNRUZqa0N4WEIrdW01KzNpMVp6SnRONVlsTEVDWUlRKzAxVldQZmxtTHNUY2YwREdGZDNZZDNDTWZFZmJuVVNvSEFpWlVoN0hlbU53djdpZFZVNm5BRE9jcXBseUkwd0JnL29xb21OcThrZzdjWTFET0VKZXdhczJONmNDNkQ5NzBBVEZCdEVFWCtSTEUvTDdTNm56aW1IMnFnZnEwWHJBbW1EUnk0dDFxTC90RXJzL2RHWkc2Q1JxSThjeko0OWxHdkFCUkVPN2I2TFVQeWhkSW10MjcvZzRFVjcxQ1dvS1R4eC9sbnFkcllEaVcxd2NzcnJDYmJLc3JUOXpHT2M3MEVWQkJ0MmVYM0NzNjZKVnpVcVl2YVZLSkdGYldTSTFDWDBxS2RTbTZGSHdoTDJKaU1wLy9IZ1YyOUJsZ1E3Umx4VXhpN0hldnVCNkxQLzhkeCsra0d4RzUxYWlWSElKUFNvcVZkWXJjQmdlZGVDVGUxTXhsUHIrZDBmS2ZrMFNzTVVFSWJ0a0dvSFp3MzU1cGRkQmoxenVzbGpma2hrTkpVQlE3ZTFweWZGYTMzOGpSaENaT3B2TEtUN2k1Y2x6am1jK1VUa1VZQ0s3VGRlMGtHSDlNMVdvWEM2R2ovVG5WcXA4cFZ6TE5mNnoxUFdCdEppN0t2am9abDRjcjJQaldFVTZia3gxb0wvcExGc3pQbzNhOXdMemlyd2NqVWRaKzFvcnVuenc3NGdyQTJrcFo0YVhEMVJnNW4zUjhNYlJmZEgwYjUvdGJ5V3lKUEphb3BVUE1lQWprbDNYUEc4cTdmZWMreTVoYjVockEya2haVksvVm9SUFVld0xEN0NTSHNmQVJEaiswM2hOV1BYM0s4L3d6SGUwOW5zWElKTFpJOTZqcGtPQytmV1J2VHZHcmZwbmI1aXJDSXRQd1FVbVNqbnhBb1JSRytRdkR4SFdGdHZFMWF2QjRXZDROUUlTaFRYMExBZ3dqNGFXWFZCSi92Q0t2SmNEb3M3Y0VuZ0V6eURRTGhzTHJWMUtWTVZFbnhWZk10WVcxOFBhUWJwWDBWYm1Tc0Z4RHd3OWZBdG5EeU5XR0pTZEhtVWk4OEFtU0RYeERJS1dyUEdjdVo1NzhHU2t0WUcxZGF5d0dVK3lWb3lFNUNvQVFJNUZLYUd2YnFEbmFyZVBoK2hkVTAwV1E4L1N3SGpyUTZjWklqQkFLRVFIMUtpM2FVWWI3U0VGYmo2MkZadzJqT1dMVU1qcUU1RUFJT0llREpxZ3Y1emswcXdoSWdWUFJyR000VTlsUytnRkEvUWtBYUJCaitMMVVUUFVtYStZajdFR1dhVE5OY3hzWFg5Y3hBWFMzajNHaE9oSUFsQkRoT1Q5VkdIN1lrNnlNaEtRbXJDZjlFUEswRDhHUmRIeC9GQ0pucU13UkNuSmRQODhsUkc3dlFTazFZamErSThmUWlCdXh2RnhpU0p3UjhpSUNlMHFKUkg5cHQyV1RwQ2FzeEdSL1hyK0xnTXkyalFvS0VnUDhRK0NLbFJiZjNuOW4yTEE0RVlRbElydTdQdHczbjlKWDI0Q0ZwUXNEN0NIRHcwZFZhN0NidlcxcTRoWUVoTEFGVkpiaXlQcTVUNWJqQzQ0WTBlQVFCcjF4d1dpdzRBa1ZZdnlUank5TXBjRlFVQzJRYWh4QndHZ0VHTEsvU29nT2MxdXQxZllFa0xPR1V4QTc4TndqclgzbmRRV1FmSWRBU0FRWDR3M1F0K3E4Z0loTll3dnBsdFZXV2ZnOE11d1RSK1RSbjN5SGcyZXUzaW9WazRBbXJjYlUxb0c0SXNxRlhpd1U2alVNSTJFZUF6VXhwNmlqNy9lVHFRWVMxMFo4aUlWOVhubDdKT2VzdGw0dHBObjVHZ0FOY0NhM3RWcldzNXpvL3o4TXAyNG13V2lCWlVWNjNEM2pvZFNicHNTV25Bb2YwRkFNQmRrZEtVLzlVakpIOE1nWVJWaHVlU3NRYm5nVFlNWDV4Sk5rcER3SU1xS3VIMm51Mnh0YktNeXRuWmtLRTFRNk81KzNBWXozRCtob0Fxak53a3haQ29IMEVPUGh4MVZyc1NjS3BkUVNJc0N4RVJpTGVjQ25BYnJjZ1NpS0VRSDRJU0ZnS0pqOGcydTlGaEdVWlZjNFNjZU1kZ1AvT2NoY1NKQVFzSU5CSlZhT1ZIekZSV1lTYUNRSkVXRFpEcEhJUVYzL1c5VThZc0szTnJpUk9DRFJEZ0RPMmIzV04raWJCWWgwQklpenJXRFdUdkxxc0lSNW1iQmtBSlU4VjFDMmdDSEFGSTZxWFIvOFowT2tYTkcwaXJJTGdBOFEyQ01aRHIxQ2h3QUtCREVCM3p2bGQxYld4aXdNd1ZkZW1TSVRsRUxUSmVQb1VEanppa0RwU0l4RUNqR0ZTVlUzME9vbW1WTEtwRUdFNURQMDFPOWR0cHplRVBuZFlMYW56SlFMc3RwU21YdVpMMHoxcU5CR1dTNDRaVTJic24yTzU1d0YwY21rSVV1dFJCQmhRV2FWRkozclVQRitiUllUbHN2dkc5K1ZiRzZIR01qYUV0Y3RZbDFwOVRzbnNQV041cC8rVzJnNlp4NmVIcUlqZVRjUWJuZ2ZZNFVVY2tvWnlHUUVHYUZrbHZkK001VjIvYzNrb1VrOS85VXNUQXhYeDlQRU1lS0kwbzlPb1RpREFPU1o5Vmp0MzRpTTRqVXB1T3dHb1JSMjB3cklJbEZ0aWlYajZBd0E3dTZXZjlEcUt3SnBPVUxldnBFUEpqb0pxUnhrUmxoMjBYSlJObEJsRHdISjNBUmpvNGpDazJqNENhWEIyUmFwV25XTy9LL1Z3R2dFaUxLY1JMVmdmWjJQN0czdG1jL3l0Z2xXUmdyd1I0QXdUT2tmVUZKM3h5eHRDVnpvU1lia0NxM05LRS9IMHFRQ21BaWh6VGl0cGFnV0JOWnpoMXVxYTZBUkN4N3NJRUdGNTF6ZWJXVlpSbHQ2WktXd1dPRC9VUjJaNzJGVCtIY3VGVHEvNkpETGZ3MGFTYVpzZ1FJVGw0M0NvS0t1L2lERTJDV0JiKzNnYVJUU2QvUVRnMFpTbVhsVEVRV2tvQnhFZ3duSVF6RktxdXJvUDd4Q0tHV2N3Y0hFVWhHcDJiWERHR2pETXptVnlkOC80dE1ObnBmUVBqZTBNQWtSWXp1RG9PUzNpRmlEc0FQWG5VUG9XeGxoUVZoUnY4bEJ1eE43TFlwK2ZCa2I3b3p3WGxZVWJSSVJWT0lhKzBwRFk0ZWZmc0ZENFRNNlVJNEhjYmdEYnlrOFQ0SURCd043bTRDL253QjYrU1ZQZjlaUDlaR3RoQ0JCaEZZYWZOTDJUQTc3dHdyTmRlbVhBKzBRUU9oUGdCM01nWHBJSmN0U0I0ZEVjenkwQVUvNnJodFZ2cGk1bDM1ZkVGaHJVVXdqOFB5ZTRGWHBHNUF0K0FBQUFBRWxGVGtTdVFtQ0MifSxmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgaT1uKDApO2kuX19leHBvcnRTdGFyKG4oMTExKSx0KSxpLl9fZXhwb3J0U3RhcihuKDE5KSx0KX0sZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLnIodCksZnVuY3Rpb24oZSl7bi5kKHQsIlNlcnZlclN0eWxlU2hlZXQiLChmdW5jdGlvbigpe3JldHVybiBaZX0pKSxuLmQodCwiU3R5bGVTaGVldENvbnN1bWVyIiwoZnVuY3Rpb24oKXtyZXR1cm4gcmV9KSksbi5kKHQsIlN0eWxlU2hlZXRDb250ZXh0IiwoZnVuY3Rpb24oKXtyZXR1cm4gaWV9KSksbi5kKHQsIlN0eWxlU2hlZXRNYW5hZ2VyIiwoZnVuY3Rpb24oKXtyZXR1cm4gSWV9KSksbi5kKHQsIlRoZW1lQ29uc3VtZXIiLChmdW5jdGlvbigpe3JldHVybiB2ZX0pKSxuLmQodCwiVGhlbWVDb250ZXh0IiwoZnVuY3Rpb24oKXtyZXR1cm4gT2V9KSksbi5kKHQsIlRoZW1lUHJvdmlkZXIiLChmdW5jdGlvbigpe3JldHVybiBiZX0pKSxuLmQodCwiX19QUklWQVRFX18iLChmdW5jdGlvbigpe3JldHVybiBSZX0pKSxuLmQodCwiY3JlYXRlR2xvYmFsU3R5bGUiLChmdW5jdGlvbigpe3JldHVybiBQZX0pKSxuLmQodCwiY3NzIiwoZnVuY3Rpb24oKXtyZXR1cm4geWV9KSksbi5kKHQsImlzU3R5bGVkQ29tcG9uZW50IiwoZnVuY3Rpb24oKXtyZXR1cm4geX0pKSxuLmQodCwia2V5ZnJhbWVzIiwoZnVuY3Rpb24oKXtyZXR1cm4gVWV9KSksbi5kKHQsInVzZVRoZW1lIiwoZnVuY3Rpb24oKXtyZXR1cm4gQmV9KSksbi5kKHQsInZlcnNpb24iLChmdW5jdGlvbigpe3JldHVybiB3fSkpLG4uZCh0LCJ3aXRoVGhlbWUiLChmdW5jdGlvbigpe3JldHVybiBHZX0pKTt2YXIgaT1uKDYpLHI9bigxKSxNPW4ubihyKSx1PW4oMjIpLG89bi5uKHUpLGM9bigyMyksYT1uKDI0KSxJPW4oOCksbD1uKDcpLE49bi5uKGwpO2Z1bmN0aW9uIGooKXtyZXR1cm4oaj1PYmplY3QuYXNzaWdufHxmdW5jdGlvbihlKXtmb3IodmFyIHQ9MTt0PGFyZ3VtZW50cy5sZW5ndGg7dCsrKXt2YXIgbj1hcmd1bWVudHNbdF07Zm9yKHZhciBpIGluIG4pT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG4saSkmJihlW2ldPW5baV0pfXJldHVybiBlfSkuYXBwbHkodGhpcyxhcmd1bWVudHMpfXZhciBnPWZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuPVtlWzBdXSxpPTAscj10Lmxlbmd0aDtpPHI7aSs9MSluLnB1c2godFtpXSxlW2krMV0pO3JldHVybiBufSxzPWZ1bmN0aW9uKGUpe3JldHVybiBudWxsIT09ZSYmIm9iamVjdCI9PXR5cGVvZiBlJiYiW29iamVjdCBPYmplY3RdIj09PShlLnRvU3RyaW5nP2UudG9TdHJpbmcoKTpPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSkpJiYhT2JqZWN0KGkudHlwZU9mKShlKX0sQT1PYmplY3QuZnJlZXplKFtdKSxEPU9iamVjdC5mcmVlemUoe30pO2Z1bmN0aW9uIGQoZSl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIGV9ZnVuY3Rpb24gVChlKXtyZXR1cm4gZS5kaXNwbGF5TmFtZXx8ZS5uYW1lfHwiQ29tcG9uZW50In1mdW5jdGlvbiB5KGUpe3JldHVybiBlJiYic3RyaW5nIj09dHlwZW9mIGUuc3R5bGVkQ29tcG9uZW50SWR9dmFyIHo9dm9pZCAwIT09ZSYmKGUuZW52LlJFQUNUX0FQUF9TQ19BVFRSfHxlLmVudi5TQ19BVFRSKXx8ImRhdGEtc3R5bGVkIix3PSI1LjMuMyIsZj0idW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmIkhUTUxFbGVtZW50ImluIHdpbmRvdyxMPUJvb2xlYW4oImJvb2xlYW4iPT10eXBlb2YgU0NfRElTQUJMRV9TUEVFRFk/U0NfRElTQUJMRV9TUEVFRFk6dm9pZCAwIT09ZSYmdm9pZCAwIT09ZS5lbnYuUkVBQ1RfQVBQX1NDX0RJU0FCTEVfU1BFRURZJiYiIiE9PWUuZW52LlJFQUNUX0FQUF9TQ19ESVNBQkxFX1NQRUVEWT8iZmFsc2UiIT09ZS5lbnYuUkVBQ1RfQVBQX1NDX0RJU0FCTEVfU1BFRURZJiZlLmVudi5SRUFDVF9BUFBfU0NfRElTQUJMRV9TUEVFRFk6dm9pZCAwIT09ZSYmdm9pZCAwIT09ZS5lbnYuU0NfRElTQUJMRV9TUEVFRFkmJiIiIT09ZS5lbnYuU0NfRElTQUJMRV9TUEVFRFkmJigiZmFsc2UiIT09ZS5lbnYuU0NfRElTQUJMRV9TUEVFRFkmJmUuZW52LlNDX0RJU0FCTEVfU1BFRURZKSksRT17fTtmdW5jdGlvbiBDKGUpe2Zvcih2YXIgdD1hcmd1bWVudHMubGVuZ3RoLG49bmV3IEFycmF5KHQ+MT90LTE6MCksaT0xO2k8dDtpKyspbltpLTFdPWFyZ3VtZW50c1tpXTt0aHJvdyBuZXcgRXJyb3IoIkFuIGVycm9yIG9jY3VycmVkLiBTZWUgaHR0cHM6Ly9naXQuaW8vSlVJYUUjIitlKyIgZm9yIG1vcmUgaW5mb3JtYXRpb24uIisobi5sZW5ndGg+MD8iIEFyZ3M6ICIrbi5qb2luKCIsICIpOiIiKSl9dmFyIHg9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKGUpe3RoaXMuZ3JvdXBTaXplcz1uZXcgVWludDMyQXJyYXkoNTEyKSx0aGlzLmxlbmd0aD01MTIsdGhpcy50YWc9ZX12YXIgdD1lLnByb3RvdHlwZTtyZXR1cm4gdC5pbmRleE9mR3JvdXA9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PTAsbj0wO248ZTtuKyspdCs9dGhpcy5ncm91cFNpemVzW25dO3JldHVybiB0fSx0Lmluc2VydFJ1bGVzPWZ1bmN0aW9uKGUsdCl7aWYoZT49dGhpcy5ncm91cFNpemVzLmxlbmd0aCl7Zm9yKHZhciBuPXRoaXMuZ3JvdXBTaXplcyxpPW4ubGVuZ3RoLHI9aTtlPj1yOykocjw8PTEpPDAmJkMoMTYsIiIrZSk7dGhpcy5ncm91cFNpemVzPW5ldyBVaW50MzJBcnJheShyKSx0aGlzLmdyb3VwU2l6ZXMuc2V0KG4pLHRoaXMubGVuZ3RoPXI7Zm9yKHZhciBNPWk7TTxyO00rKyl0aGlzLmdyb3VwU2l6ZXNbTV09MH1mb3IodmFyIHU9dGhpcy5pbmRleE9mR3JvdXAoZSsxKSxvPTAsYz10Lmxlbmd0aDtvPGM7bysrKXRoaXMudGFnLmluc2VydFJ1bGUodSx0W29dKSYmKHRoaXMuZ3JvdXBTaXplc1tlXSsrLHUrKyl9LHQuY2xlYXJHcm91cD1mdW5jdGlvbihlKXtpZihlPHRoaXMubGVuZ3RoKXt2YXIgdD10aGlzLmdyb3VwU2l6ZXNbZV0sbj10aGlzLmluZGV4T2ZHcm91cChlKSxpPW4rdDt0aGlzLmdyb3VwU2l6ZXNbZV09MDtmb3IodmFyIHI9bjtyPGk7cisrKXRoaXMudGFnLmRlbGV0ZVJ1bGUobil9fSx0LmdldEdyb3VwPWZ1bmN0aW9uKGUpe3ZhciB0PSIiO2lmKGU+PXRoaXMubGVuZ3RofHwwPT09dGhpcy5ncm91cFNpemVzW2VdKXJldHVybiB0O2Zvcih2YXIgbj10aGlzLmdyb3VwU2l6ZXNbZV0saT10aGlzLmluZGV4T2ZHcm91cChlKSxyPWkrbixNPWk7TTxyO00rKyl0Kz10aGlzLnRhZy5nZXRSdWxlKE0pKyIvKiFzYyovXG4iO3JldHVybiB0fSxlfSgpLHA9bmV3IE1hcCxTPW5ldyBNYXAsbT0xLE89ZnVuY3Rpb24oZSl7aWYocC5oYXMoZSkpcmV0dXJuIHAuZ2V0KGUpO2Zvcig7Uy5oYXMobSk7KW0rKzt2YXIgdD1tKys7cmV0dXJuIHAuc2V0KGUsdCksUy5zZXQodCxlKSx0fSx2PWZ1bmN0aW9uKGUpe3JldHVybiBTLmdldChlKX0sYj1mdW5jdGlvbihlLHQpe3Q+PW0mJihtPXQrMSkscC5zZXQoZSx0KSxTLnNldCh0LGUpfSxoPSJzdHlsZVsiK3orJ11bZGF0YS1zdHlsZWQtdmVyc2lvbj0iNS4zLjMiXScsaz1uZXcgUmVnRXhwKCJeIit6KydcXC5nKFxcZCspXFxbaWQ9IihbXFx3XFxkLV0rKSJcXF0uKj8iKFteIl0qKScpLFE9ZnVuY3Rpb24oZSx0LG4pe2Zvcih2YXIgaSxyPW4uc3BsaXQoIiwiKSxNPTAsdT1yLmxlbmd0aDtNPHU7TSsrKShpPXJbTV0pJiZlLnJlZ2lzdGVyTmFtZSh0LGkpfSxZPWZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuPSh0LnRleHRDb250ZW50fHwiIikuc3BsaXQoIi8qIXNjKi9cbiIpLGk9W10scj0wLE09bi5sZW5ndGg7cjxNO3IrKyl7dmFyIHU9bltyXS50cmltKCk7aWYodSl7dmFyIG89dS5tYXRjaChrKTtpZihvKXt2YXIgYz0wfHBhcnNlSW50KG9bMV0sMTApLGE9b1syXTswIT09YyYmKGIoYSxjKSxRKGUsYSxvWzNdKSxlLmdldFRhZygpLmluc2VydFJ1bGVzKGMsaSkpLGkubGVuZ3RoPTB9ZWxzZSBpLnB1c2godSl9fX0sUD1mdW5jdGlvbigpe3JldHVybiJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiZ2b2lkIDAhPT13aW5kb3cuX193ZWJwYWNrX25vbmNlX18/d2luZG93Ll9fd2VicGFja19ub25jZV9fOm51bGx9LFU9ZnVuY3Rpb24oZSl7dmFyIHQ9ZG9jdW1lbnQuaGVhZCxuPWV8fHQsaT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpLHI9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PWUuY2hpbGROb2RlcyxuPXQubGVuZ3RoO24+PTA7bi0tKXt2YXIgaT10W25dO2lmKGkmJjE9PT1pLm5vZGVUeXBlJiZpLmhhc0F0dHJpYnV0ZSh6KSlyZXR1cm4gaX19KG4pLE09dm9pZCAwIT09cj9yLm5leHRTaWJsaW5nOm51bGw7aS5zZXRBdHRyaWJ1dGUoeiwiYWN0aXZlIiksaS5zZXRBdHRyaWJ1dGUoImRhdGEtc3R5bGVkLXZlcnNpb24iLCI1LjMuMyIpO3ZhciB1PVAoKTtyZXR1cm4gdSYmaS5zZXRBdHRyaWJ1dGUoIm5vbmNlIix1KSxuLmluc2VydEJlZm9yZShpLE0pLGl9LFo9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKGUpe3ZhciB0PXRoaXMuZWxlbWVudD1VKGUpO3QuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiIpKSx0aGlzLnNoZWV0PWZ1bmN0aW9uKGUpe2lmKGUuc2hlZXQpcmV0dXJuIGUuc2hlZXQ7Zm9yKHZhciB0PWRvY3VtZW50LnN0eWxlU2hlZXRzLG49MCxpPXQubGVuZ3RoO248aTtuKyspe3ZhciByPXRbbl07aWYoci5vd25lck5vZGU9PT1lKXJldHVybiByfUMoMTcpfSh0KSx0aGlzLmxlbmd0aD0wfXZhciB0PWUucHJvdG90eXBlO3JldHVybiB0Lmluc2VydFJ1bGU9ZnVuY3Rpb24oZSx0KXt0cnl7cmV0dXJuIHRoaXMuc2hlZXQuaW5zZXJ0UnVsZSh0LGUpLHRoaXMubGVuZ3RoKyssITB9Y2F0Y2goZSl7cmV0dXJuITF9fSx0LmRlbGV0ZVJ1bGU9ZnVuY3Rpb24oZSl7dGhpcy5zaGVldC5kZWxldGVSdWxlKGUpLHRoaXMubGVuZ3RoLS19LHQuZ2V0UnVsZT1mdW5jdGlvbihlKXt2YXIgdD10aGlzLnNoZWV0LmNzc1J1bGVzW2VdO3JldHVybiB2b2lkIDAhPT10JiYic3RyaW5nIj09dHlwZW9mIHQuY3NzVGV4dD90LmNzc1RleHQ6IiJ9LGV9KCksRz1mdW5jdGlvbigpe2Z1bmN0aW9uIGUoZSl7dmFyIHQ9dGhpcy5lbGVtZW50PVUoZSk7dGhpcy5ub2Rlcz10LmNoaWxkTm9kZXMsdGhpcy5sZW5ndGg9MH12YXIgdD1lLnByb3RvdHlwZTtyZXR1cm4gdC5pbnNlcnRSdWxlPWZ1bmN0aW9uKGUsdCl7aWYoZTw9dGhpcy5sZW5ndGgmJmU+PTApe3ZhciBuPWRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHQpLGk9dGhpcy5ub2Rlc1tlXTtyZXR1cm4gdGhpcy5lbGVtZW50Lmluc2VydEJlZm9yZShuLGl8fG51bGwpLHRoaXMubGVuZ3RoKyssITB9cmV0dXJuITF9LHQuZGVsZXRlUnVsZT1mdW5jdGlvbihlKXt0aGlzLmVsZW1lbnQucmVtb3ZlQ2hpbGQodGhpcy5ub2Rlc1tlXSksdGhpcy5sZW5ndGgtLX0sdC5nZXRSdWxlPWZ1bmN0aW9uKGUpe3JldHVybiBlPHRoaXMubGVuZ3RoP3RoaXMubm9kZXNbZV0udGV4dENvbnRlbnQ6IiJ9LGV9KCksQj1mdW5jdGlvbigpe2Z1bmN0aW9uIGUoZSl7dGhpcy5ydWxlcz1bXSx0aGlzLmxlbmd0aD0wfXZhciB0PWUucHJvdG90eXBlO3JldHVybiB0Lmluc2VydFJ1bGU9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZTw9dGhpcy5sZW5ndGgmJih0aGlzLnJ1bGVzLnNwbGljZShlLDAsdCksdGhpcy5sZW5ndGgrKywhMCl9LHQuZGVsZXRlUnVsZT1mdW5jdGlvbihlKXt0aGlzLnJ1bGVzLnNwbGljZShlLDEpLHRoaXMubGVuZ3RoLS19LHQuZ2V0UnVsZT1mdW5jdGlvbihlKXtyZXR1cm4gZTx0aGlzLmxlbmd0aD90aGlzLnJ1bGVzW2VdOiIifSxlfSgpLFI9ZixXPXtpc1NlcnZlcjohZix1c2VDU1NPTUluamVjdGlvbjohTH0sSD1mdW5jdGlvbigpe2Z1bmN0aW9uIGUoZSx0LG4pe3ZvaWQgMD09PWUmJihlPUQpLHZvaWQgMD09PXQmJih0PXt9KSx0aGlzLm9wdGlvbnM9aih7fSxXLHt9LGUpLHRoaXMuZ3M9dCx0aGlzLm5hbWVzPW5ldyBNYXAobiksdGhpcy5zZXJ2ZXI9ISFlLmlzU2VydmVyLCF0aGlzLnNlcnZlciYmZiYmUiYmKFI9ITEsZnVuY3Rpb24oZSl7Zm9yKHZhciB0PWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoaCksbj0wLGk9dC5sZW5ndGg7bjxpO24rKyl7dmFyIHI9dFtuXTtyJiYiYWN0aXZlIiE9PXIuZ2V0QXR0cmlidXRlKHopJiYoWShlLHIpLHIucGFyZW50Tm9kZSYmci5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHIpKX19KHRoaXMpKX1lLnJlZ2lzdGVySWQ9ZnVuY3Rpb24oZSl7cmV0dXJuIE8oZSl9O3ZhciB0PWUucHJvdG90eXBlO3JldHVybiB0LnJlY29uc3RydWN0V2l0aE9wdGlvbnM9ZnVuY3Rpb24odCxuKXtyZXR1cm4gdm9pZCAwPT09biYmKG49ITApLG5ldyBlKGooe30sdGhpcy5vcHRpb25zLHt9LHQpLHRoaXMuZ3MsbiYmdGhpcy5uYW1lc3x8dm9pZCAwKX0sdC5hbGxvY2F0ZUdTSW5zdGFuY2U9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZ3NbZV09KHRoaXMuZ3NbZV18fDApKzF9LHQuZ2V0VGFnPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudGFnfHwodGhpcy50YWc9KG49KHQ9dGhpcy5vcHRpb25zKS5pc1NlcnZlcixpPXQudXNlQ1NTT01JbmplY3Rpb24scj10LnRhcmdldCxlPW4/bmV3IEIocik6aT9uZXcgWihyKTpuZXcgRyhyKSxuZXcgeChlKSkpO3ZhciBlLHQsbixpLHJ9LHQuaGFzTmFtZUZvcklkPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMubmFtZXMuaGFzKGUpJiZ0aGlzLm5hbWVzLmdldChlKS5oYXModCl9LHQucmVnaXN0ZXJOYW1lPWZ1bmN0aW9uKGUsdCl7aWYoTyhlKSx0aGlzLm5hbWVzLmhhcyhlKSl0aGlzLm5hbWVzLmdldChlKS5hZGQodCk7ZWxzZXt2YXIgbj1uZXcgU2V0O24uYWRkKHQpLHRoaXMubmFtZXMuc2V0KGUsbil9fSx0Lmluc2VydFJ1bGVzPWZ1bmN0aW9uKGUsdCxuKXt0aGlzLnJlZ2lzdGVyTmFtZShlLHQpLHRoaXMuZ2V0VGFnKCkuaW5zZXJ0UnVsZXMoTyhlKSxuKX0sdC5jbGVhck5hbWVzPWZ1bmN0aW9uKGUpe3RoaXMubmFtZXMuaGFzKGUpJiZ0aGlzLm5hbWVzLmdldChlKS5jbGVhcigpfSx0LmNsZWFyUnVsZXM9ZnVuY3Rpb24oZSl7dGhpcy5nZXRUYWcoKS5jbGVhckdyb3VwKE8oZSkpLHRoaXMuY2xlYXJOYW1lcyhlKX0sdC5jbGVhclRhZz1mdW5jdGlvbigpe3RoaXMudGFnPXZvaWQgMH0sdC50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbihlKXtmb3IodmFyIHQ9ZS5nZXRUYWcoKSxuPXQubGVuZ3RoLGk9IiIscj0wO3I8bjtyKyspe3ZhciBNPXYocik7aWYodm9pZCAwIT09TSl7dmFyIHU9ZS5uYW1lcy5nZXQoTSksbz10LmdldEdyb3VwKHIpO2lmKHUmJm8mJnUuc2l6ZSl7dmFyIGM9eisiLmciK3IrJ1tpZD0iJytNKyciXScsYT0iIjt2b2lkIDAhPT11JiZ1LmZvckVhY2goKGZ1bmN0aW9uKGUpe2UubGVuZ3RoPjAmJihhKz1lKyIsIil9KSksaSs9IiIrbytjKyd7Y29udGVudDoiJythKycifS8qIXNjKi9cbid9fX1yZXR1cm4gaX0odGhpcyl9LGV9KCksVj0vKGEpKGQpL2dpLEo9ZnVuY3Rpb24oZSl7cmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUoZSsoZT4yNT8zOTo5NykpfTtmdW5jdGlvbiBGKGUpe3ZhciB0LG49IiI7Zm9yKHQ9TWF0aC5hYnMoZSk7dD41Mjt0PXQvNTJ8MCluPUoodCU1MikrbjtyZXR1cm4oSih0JTUyKStuKS5yZXBsYWNlKFYsIiQxLSQyIil9dmFyIFg9ZnVuY3Rpb24oZSx0KXtmb3IodmFyIG49dC5sZW5ndGg7bjspZT0zMyplXnQuY2hhckNvZGVBdCgtLW4pO3JldHVybiBlfSxLPWZ1bmN0aW9uKGUpe3JldHVybiBYKDUzODEsZSl9O2Z1bmN0aW9uIHEoZSl7Zm9yKHZhciB0PTA7dDxlLmxlbmd0aDt0Kz0xKXt2YXIgbj1lW3RdO2lmKGQobikmJiF5KG4pKXJldHVybiExfXJldHVybiEwfXZhciBfPUsoIjUuMy4zIiksJD1mdW5jdGlvbigpe2Z1bmN0aW9uIGUoZSx0LG4pe3RoaXMucnVsZXM9ZSx0aGlzLnN0YXRpY1J1bGVzSWQ9IiIsdGhpcy5pc1N0YXRpYz0odm9pZCAwPT09bnx8bi5pc1N0YXRpYykmJnEoZSksdGhpcy5jb21wb25lbnRJZD10LHRoaXMuYmFzZUhhc2g9WChfLHQpLHRoaXMuYmFzZVN0eWxlPW4sSC5yZWdpc3RlcklkKHQpfXJldHVybiBlLnByb3RvdHlwZS5nZW5lcmF0ZUFuZEluamVjdFN0eWxlcz1mdW5jdGlvbihlLHQsbil7dmFyIGk9dGhpcy5jb21wb25lbnRJZCxyPVtdO2lmKHRoaXMuYmFzZVN0eWxlJiZyLnB1c2godGhpcy5iYXNlU3R5bGUuZ2VuZXJhdGVBbmRJbmplY3RTdHlsZXMoZSx0LG4pKSx0aGlzLmlzU3RhdGljJiYhbi5oYXNoKWlmKHRoaXMuc3RhdGljUnVsZXNJZCYmdC5oYXNOYW1lRm9ySWQoaSx0aGlzLnN0YXRpY1J1bGVzSWQpKXIucHVzaCh0aGlzLnN0YXRpY1J1bGVzSWQpO2Vsc2V7dmFyIE09ZGUodGhpcy5ydWxlcyxlLHQsbikuam9pbigiIiksdT1GKFgodGhpcy5iYXNlSGFzaCxNKT4+PjApO2lmKCF0Lmhhc05hbWVGb3JJZChpLHUpKXt2YXIgbz1uKE0sIi4iK3Usdm9pZCAwLGkpO3QuaW5zZXJ0UnVsZXMoaSx1LG8pfXIucHVzaCh1KSx0aGlzLnN0YXRpY1J1bGVzSWQ9dX1lbHNle2Zvcih2YXIgYz10aGlzLnJ1bGVzLmxlbmd0aCxhPVgodGhpcy5iYXNlSGFzaCxuLmhhc2gpLEk9IiIsbD0wO2w8YztsKyspe3ZhciBOPXRoaXMucnVsZXNbbF07aWYoInN0cmluZyI9PXR5cGVvZiBOKUkrPU47ZWxzZSBpZihOKXt2YXIgaj1kZShOLGUsdCxuKSxnPUFycmF5LmlzQXJyYXkoaik/ai5qb2luKCIiKTpqO2E9WChhLGcrbCksSSs9Z319aWYoSSl7dmFyIHM9RihhPj4+MCk7aWYoIXQuaGFzTmFtZUZvcklkKGkscykpe3ZhciBBPW4oSSwiLiIrcyx2b2lkIDAsaSk7dC5pbnNlcnRSdWxlcyhpLHMsQSl9ci5wdXNoKHMpfX1yZXR1cm4gci5qb2luKCIgIil9LGV9KCksZWU9L15ccypcL1wvLiokL2dtLHRlPVsiOiIsIlsiLCIuIiwiIyJdO2Z1bmN0aW9uIG5lKGUpe3ZhciB0LG4saSxyLE09dm9pZCAwPT09ZT9EOmUsdT1NLm9wdGlvbnMsbz12b2lkIDA9PT11P0Q6dSxhPU0ucGx1Z2lucyxJPXZvaWQgMD09PWE/QTphLGw9bmV3IGMuYShvKSxOPVtdLGo9ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdCh0KXtpZih0KXRyeXtlKHQrIn0iKX1jYXRjaChlKXt9fXJldHVybiBmdW5jdGlvbihuLGkscixNLHUsbyxjLGEsSSxsKXtzd2l0Y2gobil7Y2FzZSAxOmlmKDA9PT1JJiY2ND09PWkuY2hhckNvZGVBdCgwKSlyZXR1cm4gZShpKyI7IiksIiI7YnJlYWs7Y2FzZSAyOmlmKDA9PT1hKXJldHVybiBpKyIvKnwqLyI7YnJlYWs7Y2FzZSAzOnN3aXRjaChhKXtjYXNlIDEwMjpjYXNlIDExMjpyZXR1cm4gZShyWzBdK2kpLCIiO2RlZmF1bHQ6cmV0dXJuIGkrKDA9PT1sPyIvKnwqLyI6IiIpfWNhc2UtMjppLnNwbGl0KCIvKnwqL30iKS5mb3JFYWNoKHQpfX19KChmdW5jdGlvbihlKXtOLnB1c2goZSl9KSksZz1mdW5jdGlvbihlLGksTSl7cmV0dXJuIDA9PT1pJiYtMSE9PXRlLmluZGV4T2YoTVtuLmxlbmd0aF0pfHxNLm1hdGNoKHIpP2U6Ii4iK3R9O2Z1bmN0aW9uIHMoZSxNLHUsbyl7dm9pZCAwPT09byYmKG89IiYiKTt2YXIgYz1lLnJlcGxhY2UoZWUsIiIpLGE9TSYmdT91KyIgIitNKyIgeyAiK2MrIiB9IjpjO3JldHVybiB0PW8sbj1NLGk9bmV3IFJlZ0V4cCgiXFwiK24rIlxcYiIsImciKSxyPW5ldyBSZWdFeHAoIihcXCIrbisiXFxiKXsyLH0iKSxsKHV8fCFNPyIiOk0sYSl9cmV0dXJuIGwudXNlKFtdLmNvbmNhdChJLFtmdW5jdGlvbihlLHQscil7Mj09PWUmJnIubGVuZ3RoJiZyWzBdLmxhc3RJbmRleE9mKG4pPjAmJihyWzBdPXJbMF0ucmVwbGFjZShpLGcpKX0saixmdW5jdGlvbihlKXtpZigtMj09PWUpe3ZhciB0PU47cmV0dXJuIE49W10sdH19XSkpLHMuaGFzaD1JLmxlbmd0aD9JLnJlZHVjZSgoZnVuY3Rpb24oZSx0KXtyZXR1cm4gdC5uYW1lfHxDKDE1KSxYKGUsdC5uYW1lKX0pLDUzODEpLnRvU3RyaW5nKCk6IiIsc312YXIgaWU9TS5hLmNyZWF0ZUNvbnRleHQoKSxyZT1pZS5Db25zdW1lcixNZT1NLmEuY3JlYXRlQ29udGV4dCgpLHVlPShNZS5Db25zdW1lcixuZXcgSCksb2U9bmUoKTtmdW5jdGlvbiBjZSgpe3JldHVybiBPYmplY3Qoci51c2VDb250ZXh0KShpZSl8fHVlfWZ1bmN0aW9uIGFlKCl7cmV0dXJuIE9iamVjdChyLnVzZUNvbnRleHQpKE1lKXx8b2V9ZnVuY3Rpb24gSWUoZSl7dmFyIHQ9T2JqZWN0KHIudXNlU3RhdGUpKGUuc3R5bGlzUGx1Z2lucyksbj10WzBdLGk9dFsxXSx1PWNlKCksYz1PYmplY3Qoci51c2VNZW1vKSgoZnVuY3Rpb24oKXt2YXIgdD11O3JldHVybiBlLnNoZWV0P3Q9ZS5zaGVldDplLnRhcmdldCYmKHQ9dC5yZWNvbnN0cnVjdFdpdGhPcHRpb25zKHt0YXJnZXQ6ZS50YXJnZXR9LCExKSksZS5kaXNhYmxlQ1NTT01JbmplY3Rpb24mJih0PXQucmVjb25zdHJ1Y3RXaXRoT3B0aW9ucyh7dXNlQ1NTT01JbmplY3Rpb246ITF9KSksdH0pLFtlLmRpc2FibGVDU1NPTUluamVjdGlvbixlLnNoZWV0LGUudGFyZ2V0XSksYT1PYmplY3Qoci51c2VNZW1vKSgoZnVuY3Rpb24oKXtyZXR1cm4gbmUoe29wdGlvbnM6e3ByZWZpeDohZS5kaXNhYmxlVmVuZG9yUHJlZml4ZXN9LHBsdWdpbnM6bn0pfSksW2UuZGlzYWJsZVZlbmRvclByZWZpeGVzLG5dKTtyZXR1cm4gT2JqZWN0KHIudXNlRWZmZWN0KSgoZnVuY3Rpb24oKXtvKCkobixlLnN0eWxpc1BsdWdpbnMpfHxpKGUuc3R5bGlzUGx1Z2lucyl9KSxbZS5zdHlsaXNQbHVnaW5zXSksTS5hLmNyZWF0ZUVsZW1lbnQoaWUuUHJvdmlkZXIse3ZhbHVlOmN9LE0uYS5jcmVhdGVFbGVtZW50KE1lLlByb3ZpZGVyLHt2YWx1ZTphfSxlLmNoaWxkcmVuKSl9dmFyIGxlPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShlLHQpe3ZhciBuPXRoaXM7dGhpcy5pbmplY3Q9ZnVuY3Rpb24oZSx0KXt2b2lkIDA9PT10JiYodD1vZSk7dmFyIGk9bi5uYW1lK3QuaGFzaDtlLmhhc05hbWVGb3JJZChuLmlkLGkpfHxlLmluc2VydFJ1bGVzKG4uaWQsaSx0KG4ucnVsZXMsaSwiQGtleWZyYW1lcyIpKX0sdGhpcy50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiBDKDEyLFN0cmluZyhuLm5hbWUpKX0sdGhpcy5uYW1lPWUsdGhpcy5pZD0ic2Mta2V5ZnJhbWVzLSIrZSx0aGlzLnJ1bGVzPXR9cmV0dXJuIGUucHJvdG90eXBlLmdldE5hbWU9ZnVuY3Rpb24oZSl7cmV0dXJuIHZvaWQgMD09PWUmJihlPW9lKSx0aGlzLm5hbWUrZS5oYXNofSxlfSgpLE5lPS8oW0EtWl0pLyxqZT0vKFtBLVpdKS9nLGdlPS9ebXMtLyxzZT1mdW5jdGlvbihlKXtyZXR1cm4iLSIrZS50b0xvd2VyQ2FzZSgpfTtmdW5jdGlvbiBBZShlKXtyZXR1cm4gTmUudGVzdChlKT9lLnJlcGxhY2UoamUsc2UpLnJlcGxhY2UoZ2UsIi1tcy0iKTplfXZhciBEZT1mdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09ZXx8ITE9PT1lfHwiIj09PWV9O2Z1bmN0aW9uIGRlKGUsdCxuLGkpe2lmKEFycmF5LmlzQXJyYXkoZSkpe2Zvcih2YXIgcixNPVtdLHU9MCxvPWUubGVuZ3RoO3U8bzt1Kz0xKSIiIT09KHI9ZGUoZVt1XSx0LG4saSkpJiYoQXJyYXkuaXNBcnJheShyKT9NLnB1c2guYXBwbHkoTSxyKTpNLnB1c2gocikpO3JldHVybiBNfXJldHVybiBEZShlKT8iIjp5KGUpPyIuIitlLnN0eWxlZENvbXBvbmVudElkOmQoZSk/ImZ1bmN0aW9uIiE9dHlwZW9mKGM9ZSl8fGMucHJvdG90eXBlJiZjLnByb3RvdHlwZS5pc1JlYWN0Q29tcG9uZW50fHwhdD9lOmRlKGUodCksdCxuLGkpOmUgaW5zdGFuY2VvZiBsZT9uPyhlLmluamVjdChuLGkpLGUuZ2V0TmFtZShpKSk6ZTpzKGUpP2Z1bmN0aW9uIGUodCxuKXt2YXIgaSxyLE09W107Zm9yKHZhciB1IGluIHQpdC5oYXNPd25Qcm9wZXJ0eSh1KSYmIURlKHRbdV0pJiYoQXJyYXkuaXNBcnJheSh0W3VdKSYmdFt1XS5pc0Nzc3x8ZCh0W3VdKT9NLnB1c2goQWUodSkrIjoiLHRbdV0sIjsiKTpzKHRbdV0pP00ucHVzaC5hcHBseShNLGUodFt1XSx1KSk6TS5wdXNoKEFlKHUpKyI6ICIrKGk9dSwobnVsbD09KHI9dFt1XSl8fCJib29sZWFuIj09dHlwZW9mIHJ8fCIiPT09cj8iIjoibnVtYmVyIiE9dHlwZW9mIHJ8fDA9PT1yfHxpIGluIGEuYT9TdHJpbmcocikudHJpbSgpOnIrInB4IikrIjsiKSkpO3JldHVybiBuP1tuKyIgeyJdLmNvbmNhdChNLFsifSJdKTpNfShlKTplLnRvU3RyaW5nKCk7dmFyIGN9dmFyIFRlPWZ1bmN0aW9uKGUpe3JldHVybiBBcnJheS5pc0FycmF5KGUpJiYoZS5pc0Nzcz0hMCksZX07ZnVuY3Rpb24geWUoZSl7Zm9yKHZhciB0PWFyZ3VtZW50cy5sZW5ndGgsbj1uZXcgQXJyYXkodD4xP3QtMTowKSxpPTE7aTx0O2krKyluW2ktMV09YXJndW1lbnRzW2ldO3JldHVybiBkKGUpfHxzKGUpP1RlKGRlKGcoQSxbZV0uY29uY2F0KG4pKSkpOjA9PT1uLmxlbmd0aCYmMT09PWUubGVuZ3RoJiYic3RyaW5nIj09dHlwZW9mIGVbMF0/ZTpUZShkZShnKGUsbikpKX1uZXcgU2V0O3ZhciB6ZT1mdW5jdGlvbihlLHQsbil7cmV0dXJuIHZvaWQgMD09PW4mJihuPUQpLGUudGhlbWUhPT1uLnRoZW1lJiZlLnRoZW1lfHx0fHxuLnRoZW1lfSx3ZT0vWyEiIyQlJicoKSorLC4vOjs8PT4/QFtcXFxdXmB7fH1+LV0rL2csZmU9LyheLXwtJCkvZztmdW5jdGlvbiBMZShlKXtyZXR1cm4gZS5yZXBsYWNlKHdlLCItIikucmVwbGFjZShmZSwiIil9dmFyIEVlPWZ1bmN0aW9uKGUpe3JldHVybiBGKEsoZSk+Pj4wKX07ZnVuY3Rpb24gQ2UoZSl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiBlJiYhMH12YXIgeGU9ZnVuY3Rpb24oZSl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIGV8fCJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWUmJiFBcnJheS5pc0FycmF5KGUpfSxwZT1mdW5jdGlvbihlKXtyZXR1cm4iX19wcm90b19fIiE9PWUmJiJjb25zdHJ1Y3RvciIhPT1lJiYicHJvdG90eXBlIiE9PWV9O2Z1bmN0aW9uIFNlKGUsdCxuKXt2YXIgaT1lW25dO3hlKHQpJiZ4ZShpKT9tZShpLHQpOmVbbl09dH1mdW5jdGlvbiBtZShlKXtmb3IodmFyIHQ9YXJndW1lbnRzLmxlbmd0aCxuPW5ldyBBcnJheSh0PjE/dC0xOjApLGk9MTtpPHQ7aSsrKW5baS0xXT1hcmd1bWVudHNbaV07Zm9yKHZhciByPTAsTT1uO3I8TS5sZW5ndGg7cisrKXt2YXIgdT1NW3JdO2lmKHhlKHUpKWZvcih2YXIgbyBpbiB1KXBlKG8pJiZTZShlLHVbb10sbyl9cmV0dXJuIGV9dmFyIE9lPU0uYS5jcmVhdGVDb250ZXh0KCksdmU9T2UuQ29uc3VtZXI7ZnVuY3Rpb24gYmUoZSl7dmFyIHQ9T2JqZWN0KHIudXNlQ29udGV4dCkoT2UpLG49T2JqZWN0KHIudXNlTWVtbykoKGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU/ZChlKT9lKHQpOkFycmF5LmlzQXJyYXkoZSl8fCJvYmplY3QiIT10eXBlb2YgZT9DKDgpOnQ/aih7fSx0LHt9LGUpOmU6QygxNCl9KGUudGhlbWUsdCl9KSxbZS50aGVtZSx0XSk7cmV0dXJuIGUuY2hpbGRyZW4/TS5hLmNyZWF0ZUVsZW1lbnQoT2UuUHJvdmlkZXIse3ZhbHVlOm59LGUuY2hpbGRyZW4pOm51bGx9dmFyIGhlPXt9O2Z1bmN0aW9uIGtlKGUsdCxuKXt2YXIgaT15KGUpLHU9IUNlKGUpLG89dC5hdHRycyxjPXZvaWQgMD09PW8/QTpvLGE9dC5jb21wb25lbnRJZCxsPXZvaWQgMD09PWE/ZnVuY3Rpb24oZSx0KXt2YXIgbj0ic3RyaW5nIiE9dHlwZW9mIGU/InNjIjpMZShlKTtoZVtuXT0oaGVbbl18fDApKzE7dmFyIGk9bisiLSIrRWUoIjUuMy4zIituK2hlW25dKTtyZXR1cm4gdD90KyItIitpOml9KHQuZGlzcGxheU5hbWUsdC5wYXJlbnRDb21wb25lbnRJZCk6YSxnPXQuZGlzcGxheU5hbWUscz12b2lkIDA9PT1nP2Z1bmN0aW9uKGUpe3JldHVybiBDZShlKT8ic3R5bGVkLiIrZToiU3R5bGVkKCIrVChlKSsiKSJ9KGUpOmcsej10LmRpc3BsYXlOYW1lJiZ0LmNvbXBvbmVudElkP0xlKHQuZGlzcGxheU5hbWUpKyItIit0LmNvbXBvbmVudElkOnQuY29tcG9uZW50SWR8fGwsdz1pJiZlLmF0dHJzP0FycmF5LnByb3RvdHlwZS5jb25jYXQoZS5hdHRycyxjKS5maWx0ZXIoQm9vbGVhbik6YyxmPXQuc2hvdWxkRm9yd2FyZFByb3A7aSYmZS5zaG91bGRGb3J3YXJkUHJvcCYmKGY9dC5zaG91bGRGb3J3YXJkUHJvcD9mdW5jdGlvbihuLGkscil7cmV0dXJuIGUuc2hvdWxkRm9yd2FyZFByb3AobixpLHIpJiZ0LnNob3VsZEZvcndhcmRQcm9wKG4saSxyKX06ZS5zaG91bGRGb3J3YXJkUHJvcCk7dmFyIEwsRT1uZXcgJChuLHosaT9lLmNvbXBvbmVudFN0eWxlOnZvaWQgMCksQz1FLmlzU3RhdGljJiYwPT09Yy5sZW5ndGgseD1mdW5jdGlvbihlLHQpe3JldHVybiBmdW5jdGlvbihlLHQsbixpKXt2YXIgTT1lLmF0dHJzLHU9ZS5jb21wb25lbnRTdHlsZSxvPWUuZGVmYXVsdFByb3BzLGM9ZS5mb2xkZWRDb21wb25lbnRJZHMsYT1lLnNob3VsZEZvcndhcmRQcm9wLGw9ZS5zdHlsZWRDb21wb25lbnRJZCxOPWUudGFyZ2V0LGc9ZnVuY3Rpb24oZSx0LG4pe3ZvaWQgMD09PWUmJihlPUQpO3ZhciBpPWooe30sdCx7dGhlbWU6ZX0pLHI9e307cmV0dXJuIG4uZm9yRWFjaCgoZnVuY3Rpb24oZSl7dmFyIHQsbixNLHU9ZTtmb3IodCBpbiBkKHUpJiYodT11KGkpKSx1KWlbdF09clt0XT0iY2xhc3NOYW1lIj09PXQ/KG49clt0XSxNPXVbdF0sbiYmTT9uKyIgIitNOm58fE0pOnVbdF19KSksW2kscl19KHplKHQsT2JqZWN0KHIudXNlQ29udGV4dCkoT2UpLG8pfHxELHQsTSkscz1nWzBdLEE9Z1sxXSxUPWZ1bmN0aW9uKGUsdCxuLGkpe3ZhciByPWNlKCksTT1hZSgpO3JldHVybiB0P2UuZ2VuZXJhdGVBbmRJbmplY3RTdHlsZXMoRCxyLE0pOmUuZ2VuZXJhdGVBbmRJbmplY3RTdHlsZXMobixyLE0pfSh1LGkscykseT1uLHo9QS4kYXN8fHQuJGFzfHxBLmFzfHx0LmFzfHxOLHc9Q2UoeiksZj1BIT09dD9qKHt9LHQse30sQSk6dCxMPXt9O2Zvcih2YXIgRSBpbiBmKSIkIiE9PUVbMF0mJiJhcyIhPT1FJiYoImZvcndhcmRlZEFzIj09PUU/TC5hcz1mW0VdOihhP2EoRSxJLmEseik6IXd8fE9iamVjdChJLmEpKEUpKSYmKExbRV09ZltFXSkpO3JldHVybiB0LnN0eWxlJiZBLnN0eWxlIT09dC5zdHlsZSYmKEwuc3R5bGU9aih7fSx0LnN0eWxlLHt9LEEuc3R5bGUpKSxMLmNsYXNzTmFtZT1BcnJheS5wcm90b3R5cGUuY29uY2F0KGMsbCxUIT09bD9UOm51bGwsdC5jbGFzc05hbWUsQS5jbGFzc05hbWUpLmZpbHRlcihCb29sZWFuKS5qb2luKCIgIiksTC5yZWY9eSxPYmplY3Qoci5jcmVhdGVFbGVtZW50KSh6LEwpfShMLGUsdCxDKX07cmV0dXJuIHguZGlzcGxheU5hbWU9cywoTD1NLmEuZm9yd2FyZFJlZih4KSkuYXR0cnM9dyxMLmNvbXBvbmVudFN0eWxlPUUsTC5kaXNwbGF5TmFtZT1zLEwuc2hvdWxkRm9yd2FyZFByb3A9ZixMLmZvbGRlZENvbXBvbmVudElkcz1pP0FycmF5LnByb3RvdHlwZS5jb25jYXQoZS5mb2xkZWRDb21wb25lbnRJZHMsZS5zdHlsZWRDb21wb25lbnRJZCk6QSxMLnN0eWxlZENvbXBvbmVudElkPXosTC50YXJnZXQ9aT9lLnRhcmdldDplLEwud2l0aENvbXBvbmVudD1mdW5jdGlvbihlKXt2YXIgaT10LmNvbXBvbmVudElkLHI9ZnVuY3Rpb24oZSx0KXtpZihudWxsPT1lKXJldHVybnt9O3ZhciBuLGkscj17fSxNPU9iamVjdC5rZXlzKGUpO2ZvcihpPTA7aTxNLmxlbmd0aDtpKyspbj1NW2ldLHQuaW5kZXhPZihuKT49MHx8KHJbbl09ZVtuXSk7cmV0dXJuIHJ9KHQsWyJjb21wb25lbnRJZCJdKSxNPWkmJmkrIi0iKyhDZShlKT9lOkxlKFQoZSkpKTtyZXR1cm4ga2UoZSxqKHt9LHIse2F0dHJzOncsY29tcG9uZW50SWQ6TX0pLG4pfSxPYmplY3QuZGVmaW5lUHJvcGVydHkoTCwiZGVmYXVsdFByb3BzIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2ZvbGRlZERlZmF1bHRQcm9wc30sc2V0OmZ1bmN0aW9uKHQpe3RoaXMuX2ZvbGRlZERlZmF1bHRQcm9wcz1pP21lKHt9LGUuZGVmYXVsdFByb3BzLHQpOnR9fSksTC50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiIuIitMLnN0eWxlZENvbXBvbmVudElkfSx1JiZOKCkoTCxlLHthdHRyczohMCxjb21wb25lbnRTdHlsZTohMCxkaXNwbGF5TmFtZTohMCxmb2xkZWRDb21wb25lbnRJZHM6ITAsc2hvdWxkRm9yd2FyZFByb3A6ITAsc3R5bGVkQ29tcG9uZW50SWQ6ITAsdGFyZ2V0OiEwLHdpdGhDb21wb25lbnQ6ITB9KSxMfXZhciBRZT1mdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24gZSh0LG4scil7aWYodm9pZCAwPT09ciYmKHI9RCksIU9iamVjdChpLmlzVmFsaWRFbGVtZW50VHlwZSkobikpcmV0dXJuIEMoMSxTdHJpbmcobikpO3ZhciBNPWZ1bmN0aW9uKCl7cmV0dXJuIHQobixyLHllLmFwcGx5KHZvaWQgMCxhcmd1bWVudHMpKX07cmV0dXJuIE0ud2l0aENvbmZpZz1mdW5jdGlvbihpKXtyZXR1cm4gZSh0LG4saih7fSxyLHt9LGkpKX0sTS5hdHRycz1mdW5jdGlvbihpKXtyZXR1cm4gZSh0LG4saih7fSxyLHthdHRyczpBcnJheS5wcm90b3R5cGUuY29uY2F0KHIuYXR0cnMsaSkuZmlsdGVyKEJvb2xlYW4pfSkpfSxNfShrZSxlKX07WyJhIiwiYWJiciIsImFkZHJlc3MiLCJhcmVhIiwiYXJ0aWNsZSIsImFzaWRlIiwiYXVkaW8iLCJiIiwiYmFzZSIsImJkaSIsImJkbyIsImJpZyIsImJsb2NrcXVvdGUiLCJib2R5IiwiYnIiLCJidXR0b24iLCJjYW52YXMiLCJjYXB0aW9uIiwiY2l0ZSIsImNvZGUiLCJjb2wiLCJjb2xncm91cCIsImRhdGEiLCJkYXRhbGlzdCIsImRkIiwiZGVsIiwiZGV0YWlscyIsImRmbiIsImRpYWxvZyIsImRpdiIsImRsIiwiZHQiLCJlbSIsImVtYmVkIiwiZmllbGRzZXQiLCJmaWdjYXB0aW9uIiwiZmlndXJlIiwiZm9vdGVyIiwiZm9ybSIsImgxIiwiaDIiLCJoMyIsImg0IiwiaDUiLCJoNiIsImhlYWQiLCJoZWFkZXIiLCJoZ3JvdXAiLCJociIsImh0bWwiLCJpIiwiaWZyYW1lIiwiaW1nIiwiaW5wdXQiLCJpbnMiLCJrYmQiLCJrZXlnZW4iLCJsYWJlbCIsImxlZ2VuZCIsImxpIiwibGluayIsIm1haW4iLCJtYXAiLCJtYXJrIiwibWFycXVlZSIsIm1lbnUiLCJtZW51aXRlbSIsIm1ldGEiLCJtZXRlciIsIm5hdiIsIm5vc2NyaXB0Iiwib2JqZWN0Iiwib2wiLCJvcHRncm91cCIsIm9wdGlvbiIsIm91dHB1dCIsInAiLCJwYXJhbSIsInBpY3R1cmUiLCJwcmUiLCJwcm9ncmVzcyIsInEiLCJycCIsInJ0IiwicnVieSIsInMiLCJzYW1wIiwic2NyaXB0Iiwic2VjdGlvbiIsInNlbGVjdCIsInNtYWxsIiwic291cmNlIiwic3BhbiIsInN0cm9uZyIsInN0eWxlIiwic3ViIiwic3VtbWFyeSIsInN1cCIsInRhYmxlIiwidGJvZHkiLCJ0ZCIsInRleHRhcmVhIiwidGZvb3QiLCJ0aCIsInRoZWFkIiwidGltZSIsInRpdGxlIiwidHIiLCJ0cmFjayIsInUiLCJ1bCIsInZhciIsInZpZGVvIiwid2JyIiwiY2lyY2xlIiwiY2xpcFBhdGgiLCJkZWZzIiwiZWxsaXBzZSIsImZvcmVpZ25PYmplY3QiLCJnIiwiaW1hZ2UiLCJsaW5lIiwibGluZWFyR3JhZGllbnQiLCJtYXJrZXIiLCJtYXNrIiwicGF0aCIsInBhdHRlcm4iLCJwb2x5Z29uIiwicG9seWxpbmUiLCJyYWRpYWxHcmFkaWVudCIsInJlY3QiLCJzdG9wIiwic3ZnIiwidGV4dCIsInRleHRQYXRoIiwidHNwYW4iXS5mb3JFYWNoKChmdW5jdGlvbihlKXtRZVtlXT1RZShlKX0pKTt2YXIgWWU9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKGUsdCl7dGhpcy5ydWxlcz1lLHRoaXMuY29tcG9uZW50SWQ9dCx0aGlzLmlzU3RhdGljPXEoZSksSC5yZWdpc3RlcklkKHRoaXMuY29tcG9uZW50SWQrMSl9dmFyIHQ9ZS5wcm90b3R5cGU7cmV0dXJuIHQuY3JlYXRlU3R5bGVzPWZ1bmN0aW9uKGUsdCxuLGkpe3ZhciByPWkoZGUodGhpcy5ydWxlcyx0LG4saSkuam9pbigiIiksIiIpLE09dGhpcy5jb21wb25lbnRJZCtlO24uaW5zZXJ0UnVsZXMoTSxNLHIpfSx0LnJlbW92ZVN0eWxlcz1mdW5jdGlvbihlLHQpe3QuY2xlYXJSdWxlcyh0aGlzLmNvbXBvbmVudElkK2UpfSx0LnJlbmRlclN0eWxlcz1mdW5jdGlvbihlLHQsbixpKXtlPjImJkgucmVnaXN0ZXJJZCh0aGlzLmNvbXBvbmVudElkK2UpLHRoaXMucmVtb3ZlU3R5bGVzKGUsbiksdGhpcy5jcmVhdGVTdHlsZXMoZSx0LG4saSl9LGV9KCk7ZnVuY3Rpb24gUGUoZSl7Zm9yKHZhciB0PWFyZ3VtZW50cy5sZW5ndGgsbj1uZXcgQXJyYXkodD4xP3QtMTowKSxpPTE7aTx0O2krKyluW2ktMV09YXJndW1lbnRzW2ldO3ZhciB1PXllLmFwcGx5KHZvaWQgMCxbZV0uY29uY2F0KG4pKSxvPSJzYy1nbG9iYWwtIitFZShKU09OLnN0cmluZ2lmeSh1KSksYz1uZXcgWWUodSxvKTtmdW5jdGlvbiBhKGUpe3ZhciB0PWNlKCksbj1hZSgpLGk9T2JqZWN0KHIudXNlQ29udGV4dCkoT2UpLE09T2JqZWN0KHIudXNlUmVmKSh0LmFsbG9jYXRlR1NJbnN0YW5jZShvKSkuY3VycmVudDtyZXR1cm4gdC5zZXJ2ZXImJkkoTSxlLHQsaSxuKSxPYmplY3Qoci51c2VMYXlvdXRFZmZlY3QpKChmdW5jdGlvbigpe2lmKCF0LnNlcnZlcilyZXR1cm4gSShNLGUsdCxpLG4pLGZ1bmN0aW9uKCl7cmV0dXJuIGMucmVtb3ZlU3R5bGVzKE0sdCl9fSksW00sZSx0LGksbl0pLG51bGx9ZnVuY3Rpb24gSShlLHQsbixpLHIpe2lmKGMuaXNTdGF0aWMpYy5yZW5kZXJTdHlsZXMoZSxFLG4scik7ZWxzZXt2YXIgTT1qKHt9LHQse3RoZW1lOnplKHQsaSxhLmRlZmF1bHRQcm9wcyl9KTtjLnJlbmRlclN0eWxlcyhlLE0sbixyKX19cmV0dXJuIE0uYS5tZW1vKGEpfWZ1bmN0aW9uIFVlKGUpe2Zvcih2YXIgdD1hcmd1bWVudHMubGVuZ3RoLG49bmV3IEFycmF5KHQ+MT90LTE6MCksaT0xO2k8dDtpKyspbltpLTFdPWFyZ3VtZW50c1tpXTt2YXIgcj15ZS5hcHBseSh2b2lkIDAsW2VdLmNvbmNhdChuKSkuam9pbigiIiksTT1FZShyKTtyZXR1cm4gbmV3IGxlKE0scil9dmFyIFplPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZSgpe3ZhciBlPXRoaXM7dGhpcy5fZW1pdFNoZWV0Q1NTPWZ1bmN0aW9uKCl7dmFyIHQ9ZS5pbnN0YW5jZS50b1N0cmluZygpO2lmKCF0KXJldHVybiIiO3ZhciBuPVAoKTtyZXR1cm4iPHN0eWxlICIrW24mJidub25jZT0iJytuKyciJyx6Kyc9InRydWUiJywnZGF0YS1zdHlsZWQtdmVyc2lvbj0iNS4zLjMiJ10uZmlsdGVyKEJvb2xlYW4pLmpvaW4oIiAiKSsiPiIrdCsiPC9zdHlsZT4ifSx0aGlzLmdldFN0eWxlVGFncz1mdW5jdGlvbigpe3JldHVybiBlLnNlYWxlZD9DKDIpOmUuX2VtaXRTaGVldENTUygpfSx0aGlzLmdldFN0eWxlRWxlbWVudD1mdW5jdGlvbigpe3ZhciB0O2lmKGUuc2VhbGVkKXJldHVybiBDKDIpO3ZhciBuPSgodD17fSlbel09IiIsdFsiZGF0YS1zdHlsZWQtdmVyc2lvbiJdPSI1LjMuMyIsdC5kYW5nZXJvdXNseVNldElubmVySFRNTD17X19odG1sOmUuaW5zdGFuY2UudG9TdHJpbmcoKX0sdCksaT1QKCk7cmV0dXJuIGkmJihuLm5vbmNlPWkpLFtNLmEuY3JlYXRlRWxlbWVudCgic3R5bGUiLGooe30sbix7a2V5OiJzYy0wLTAifSkpXX0sdGhpcy5zZWFsPWZ1bmN0aW9uKCl7ZS5zZWFsZWQ9ITB9LHRoaXMuaW5zdGFuY2U9bmV3IEgoe2lzU2VydmVyOiEwfSksdGhpcy5zZWFsZWQ9ITF9dmFyIHQ9ZS5wcm90b3R5cGU7cmV0dXJuIHQuY29sbGVjdFN0eWxlcz1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5zZWFsZWQ/QygyKTpNLmEuY3JlYXRlRWxlbWVudChJZSx7c2hlZXQ6dGhpcy5pbnN0YW5jZX0sZSl9LHQuaW50ZXJsZWF2ZVdpdGhOb2RlU3RyZWFtPWZ1bmN0aW9uKGUpe3JldHVybiBDKDMpfSxlfSgpLEdlPWZ1bmN0aW9uKGUpe3ZhciB0PU0uYS5mb3J3YXJkUmVmKChmdW5jdGlvbih0LG4pe3ZhciBpPU9iamVjdChyLnVzZUNvbnRleHQpKE9lKSx1PWUuZGVmYXVsdFByb3BzLG89emUodCxpLHUpO3JldHVybiBNLmEuY3JlYXRlRWxlbWVudChlLGooe30sdCx7dGhlbWU6byxyZWY6bn0pKX0pKTtyZXR1cm4gTigpKHQsZSksdC5kaXNwbGF5TmFtZT0iV2l0aFRoZW1lKCIrVChlKSsiKSIsdH0sQmU9ZnVuY3Rpb24oKXtyZXR1cm4gT2JqZWN0KHIudXNlQ29udGV4dCkoT2UpfSxSZT17U3R5bGVTaGVldDpILG1hc3RlclNoZWV0OnVlfTt0LmRlZmF1bHQ9UWV9LmNhbGwodGhpcyxuKDExKSl9LGZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuUHJvdmlkZXI9dm9pZCAwO3ZhciBpLHIsTSx1LG8sYz1uKDApLGE9Yy5fX2ltcG9ydFN0YXIobigxKSksST1jLl9faW1wb3J0RGVmYXVsdChuKDE4KSksbD1uKDIpLE49SS5kZWZhdWx0LmRpdihpfHwoaT1jLl9fbWFrZVRlbXBsYXRlT2JqZWN0KFsiXG4gIHdpZHRoOiA0NXB4O1xuICBoZWlnaHQ6IDQ1cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAmIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICB3aWR0aDogOC41dnc7XG4gICAgaGVpZ2h0OiA4LjV2dztcbiAgfVxuIl0sWyJcbiAgd2lkdGg6IDQ1cHg7XG4gIGhlaWdodDogNDVweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICYgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIHdpZHRoOiA4LjV2dztcbiAgICBoZWlnaHQ6IDguNXZ3O1xuICB9XG4iXSkpKSxqPUkuZGVmYXVsdC5kaXYocnx8KHI9Yy5fX21ha2VUZW1wbGF0ZU9iamVjdChbIlxuICB3aWR0aDogMTAwJTtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBmb250LXdlaWdodDogNzAwO1xuICBtYXJnaW4tdG9wOiAwLjVlbTtcbiAgY29sb3I6ICIsIjtcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICBmb250LXNpemU6IDV2dztcbiAgfVxuIl0sWyJcbiAgd2lkdGg6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbWFyZ2luLXRvcDogMC41ZW07XG4gIGNvbG9yOiAiLCI7XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgZm9udC1zaXplOiA1dnc7XG4gIH1cbiJdKSksKGZ1bmN0aW9uKGUpe3JldHVybiBlLnRoZW1lQ29sb3JzLm1haW59KSksZz1JLmRlZmF1bHQuZGl2KE18fChNPWMuX19tYWtlVGVtcGxhdGVPYmplY3QoWyJcbiAgd2lkdGg6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbWFyZ2luOiAwLjMzM2VtIDA7XG4gIGNvbG9yOiAiLCI7XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgZm9udC1zaXplOiA0dnc7XG4gIH1cbiJdLFsiXG4gIHdpZHRoOiAxMDAlO1xuICBmb250LXNpemU6IDE4cHg7XG4gIG1hcmdpbjogMC4zMzNlbSAwO1xuICBjb2xvcjogIiwiO1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIGZvbnQtc2l6ZTogNHZ3O1xuICB9XG4iXSkpLChmdW5jdGlvbihlKXtyZXR1cm4gZS50aGVtZUNvbG9ycy5zZWNvbmRhcnl9KSkscz1JLmRlZmF1bHQuZGl2KHV8fCh1PWMuX19tYWtlVGVtcGxhdGVPYmplY3QoWyJcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2UtaW4tb3V0O1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICIsIjtcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgcGFkZGluZzogMjRweCAxNnB4O1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIHBhZGRpbmc6IDF2dztcbiAgfVxuIl0sWyJcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2UtaW4tb3V0O1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICIsIjtcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgcGFkZGluZzogMjRweCAxNnB4O1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIHBhZGRpbmc6IDF2dztcbiAgfVxuIl0pKSwoZnVuY3Rpb24oZSl7cmV0dXJuIGUudGhlbWVDb2xvcnMuYmFja2dyb3VuZH0pKSxBPUkuZGVmYXVsdC5kaXYob3x8KG89Yy5fX21ha2VUZW1wbGF0ZU9iamVjdChbIlxuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogOHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3JkZXI6ICIsIjtcbiAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAmOmhvdmVyICIsIiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAiLCI7XG4gICAgfVxuICB9XG4iXSxbIlxuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogOHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3JkZXI6ICIsIjtcbiAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAmOmhvdmVyICIsIiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAiLCI7XG4gICAgfVxuICB9XG4iXSkpLChmdW5jdGlvbihlKXtyZXR1cm4iMXB4IHNvbGlkICIrZS50aGVtZUNvbG9ycy5ib3JkZXJ9KSxzLChmdW5jdGlvbihlKXtyZXR1cm4gZS50aGVtZUNvbG9ycy5ob3Zlcn0pKTt0LlByb3ZpZGVyPWZ1bmN0aW9uKGUpe3ZhciB0PWUubmFtZSxuPWUubG9nbyxpPWUuZGVzY3JpcHRpb24scj1lLnRoZW1lQ29sb3JzLE09ZS5vbkNsaWNrLHU9Yy5fX3Jlc3QoZSxbIm5hbWUiLCJsb2dvIiwiZGVzY3JpcHRpb24iLCJ0aGVtZUNvbG9ycyIsIm9uQ2xpY2siXSk7cmV0dXJuIGEuY3JlYXRlRWxlbWVudChBLGMuX19hc3NpZ24oe3RoZW1lQ29sb3JzOnIsY2xhc3NOYW1lOmwuUFJPVklERVJfV1JBUFBFUl9DTEFTU05BTUUsb25DbGljazpNfSx1KSxhLmNyZWF0ZUVsZW1lbnQocyx7dGhlbWVDb2xvcnM6cixjbGFzc05hbWU6bC5QUk9WSURFUl9DT05UQUlORVJfQ0xBU1NOQU1FfSxhLmNyZWF0ZUVsZW1lbnQoTix7Y2xhc3NOYW1lOmwuUFJPVklERVJfSUNPTl9DTEFTU05BTUV9LGEuY3JlYXRlRWxlbWVudCgiaW1nIix7c3JjOm4sYWx0OnR9KSksYS5jcmVhdGVFbGVtZW50KGose3RoZW1lQ29sb3JzOnIsY2xhc3NOYW1lOmwuUFJPVklERVJfTkFNRV9DTEFTU05BTUV9LHQpLGEuY3JlYXRlRWxlbWVudChnLHt0aGVtZUNvbG9yczpyLGNsYXNzTmFtZTpsLlBST1ZJREVSX0RFU0NSSVBUSU9OX0NMQVNTTkFNRX0saSkpKX19LGZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBpPW4oMCk7aS5fX2V4cG9ydFN0YXIobigyMSksdCksaS5fX2V4cG9ydFN0YXIobigxMTgpLHQpfSxmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LkV2ZW50Q29udHJvbGxlcj12b2lkIDA7dmFyIGk9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKCl7dGhpcy5fZXZlbnRDYWxsYmFja3M9W119cmV0dXJuIGUucHJvdG90eXBlLm9uPWZ1bmN0aW9uKGUpe3RoaXMuX2V2ZW50Q2FsbGJhY2tzLnB1c2goZSl9LGUucHJvdG90eXBlLm9mZj1mdW5jdGlvbihlKXtlP2UuY2FsbGJhY2s/dGhpcy5fZXZlbnRDYWxsYmFja3M9dGhpcy5fZXZlbnRDYWxsYmFja3MuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gdC5ldmVudCE9PWUuZXZlbnR8fHQuY2FsbGJhY2shPT1lLmNhbGxiYWNrfSkpOnRoaXMuX2V2ZW50Q2FsbGJhY2tzPXRoaXMuX2V2ZW50Q2FsbGJhY2tzLmZpbHRlcigoZnVuY3Rpb24odCl7cmV0dXJuIHQuZXZlbnQhPT1lLmV2ZW50fSkpOnRoaXMuX2V2ZW50Q2FsbGJhY2tzPVtdfSxlLnByb3RvdHlwZS50cmlnZ2VyPWZ1bmN0aW9uKGUsdCl7dmFyIG49dGhpcy5fZXZlbnRDYWxsYmFja3MuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gdC5ldmVudD09PWV9KSk7biYmbi5sZW5ndGgmJm4uZm9yRWFjaCgoZnVuY3Rpb24oZSl7ZS5jYWxsYmFjayh0KX0pKX0sZX0oKTt0LkV2ZW50Q29udHJvbGxlcj1pfSxmdW5jdGlvbihlLHQpe2UuZXhwb3J0cz1mdW5jdGlvbihlLHQsbixpKXt2YXIgcj1uP24uY2FsbChpLGUsdCk6dm9pZCAwO2lmKHZvaWQgMCE9PXIpcmV0dXJuISFyO2lmKGU9PT10KXJldHVybiEwO2lmKCJvYmplY3QiIT10eXBlb2YgZXx8IWV8fCJvYmplY3QiIT10eXBlb2YgdHx8IXQpcmV0dXJuITE7dmFyIE09T2JqZWN0LmtleXMoZSksdT1PYmplY3Qua2V5cyh0KTtpZihNLmxlbmd0aCE9PXUubGVuZ3RoKXJldHVybiExO2Zvcih2YXIgbz1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmJpbmQodCksYz0wO2M8TS5sZW5ndGg7YysrKXt2YXIgYT1NW2NdO2lmKCFvKGEpKXJldHVybiExO3ZhciBJPWVbYV0sbD10W2FdO2lmKCExPT09KHI9bj9uLmNhbGwoaSxJLGwsYSk6dm9pZCAwKXx8dm9pZCAwPT09ciYmSSE9PWwpcmV0dXJuITF9cmV0dXJuITB9fSxmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO3QuYT1mdW5jdGlvbihlKXtmdW5jdGlvbiB0KGUsdCxpKXt2YXIgcj10LnRyaW0oKS5zcGxpdChnKTt0PXI7dmFyIE09ci5sZW5ndGgsdT1lLmxlbmd0aDtzd2l0Y2godSl7Y2FzZSAwOmNhc2UgMTp2YXIgbz0wO2ZvcihlPTA9PT11PyIiOmVbMF0rIiAiO288TTsrK28pdFtvXT1uKGUsdFtvXSxpKS50cmltKCk7YnJlYWs7ZGVmYXVsdDp2YXIgYz1vPTA7Zm9yKHQ9W107bzxNOysrbylmb3IodmFyIGE9MDthPHU7KythKXRbYysrXT1uKGVbYV0rIiAiLHJbb10saSkudHJpbSgpfXJldHVybiB0fWZ1bmN0aW9uIG4oZSx0LG4pe3ZhciBpPXQuY2hhckNvZGVBdCgwKTtzd2l0Y2goMzM+aSYmKGk9KHQ9dC50cmltKCkpLmNoYXJDb2RlQXQoMCkpLGkpe2Nhc2UgMzg6cmV0dXJuIHQucmVwbGFjZShzLCIkMSIrZS50cmltKCkpO2Nhc2UgNTg6cmV0dXJuIGUudHJpbSgpK3QucmVwbGFjZShzLCIkMSIrZS50cmltKCkpO2RlZmF1bHQ6aWYoMDwxKm4mJjA8dC5pbmRleE9mKCJcZiIpKXJldHVybiB0LnJlcGxhY2UocywoNTg9PT1lLmNoYXJDb2RlQXQoMCk/IiI6IiQxIikrZS50cmltKCkpfXJldHVybiBlK3R9ZnVuY3Rpb24gaShlLHQsbixNKXt2YXIgdT1lKyI7IixvPTIqdCszKm4rNCpNO2lmKDk0ND09PW8pe2U9dS5pbmRleE9mKCI6Iiw5KSsxO3ZhciBjPXUuc3Vic3RyaW5nKGUsdS5sZW5ndGgtMSkudHJpbSgpO3JldHVybiBjPXUuc3Vic3RyaW5nKDAsZSkudHJpbSgpK2MrIjsiLDE9PT1TfHwyPT09UyYmcihjLDEpPyItd2Via2l0LSIrYytjOmN9aWYoMD09PVN8fDI9PT1TJiYhcih1LDEpKXJldHVybiB1O3N3aXRjaChvKXtjYXNlIDEwMTU6cmV0dXJuIDk3PT09dS5jaGFyQ29kZUF0KDEwKT8iLXdlYmtpdC0iK3UrdTp1O2Nhc2UgOTUxOnJldHVybiAxMTY9PT11LmNoYXJDb2RlQXQoMyk/Ii13ZWJraXQtIit1K3U6dTtjYXNlIDk2MzpyZXR1cm4gMTEwPT09dS5jaGFyQ29kZUF0KDUpPyItd2Via2l0LSIrdSt1OnU7Y2FzZSAxMDA5OmlmKDEwMCE9PXUuY2hhckNvZGVBdCg0KSlicmVhaztjYXNlIDk2OTpjYXNlIDk0MjpyZXR1cm4iLXdlYmtpdC0iK3UrdTtjYXNlIDk3ODpyZXR1cm4iLXdlYmtpdC0iK3UrIi1tb3otIit1K3U7Y2FzZSAxMDE5OmNhc2UgOTgzOnJldHVybiItd2Via2l0LSIrdSsiLW1vei0iK3UrIi1tcy0iK3UrdTtjYXNlIDg4MzppZig0NT09PXUuY2hhckNvZGVBdCg4KSlyZXR1cm4iLXdlYmtpdC0iK3UrdTtpZigwPHUuaW5kZXhPZigiaW1hZ2Utc2V0KCIsMTEpKXJldHVybiB1LnJlcGxhY2UoRSwiJDEtd2Via2l0LSQyIikrdTticmVhaztjYXNlIDkzMjppZig0NT09PXUuY2hhckNvZGVBdCg0KSlzd2l0Y2godS5jaGFyQ29kZUF0KDUpKXtjYXNlIDEwMzpyZXR1cm4iLXdlYmtpdC1ib3gtIit1LnJlcGxhY2UoIi1ncm93IiwiIikrIi13ZWJraXQtIit1KyItbXMtIit1LnJlcGxhY2UoImdyb3ciLCJwb3NpdGl2ZSIpK3U7Y2FzZSAxMTU6cmV0dXJuIi13ZWJraXQtIit1KyItbXMtIit1LnJlcGxhY2UoInNocmluayIsIm5lZ2F0aXZlIikrdTtjYXNlIDk4OnJldHVybiItd2Via2l0LSIrdSsiLW1zLSIrdS5yZXBsYWNlKCJiYXNpcyIsInByZWZlcnJlZC1zaXplIikrdX1yZXR1cm4iLXdlYmtpdC0iK3UrIi1tcy0iK3UrdTtjYXNlIDk2NDpyZXR1cm4iLXdlYmtpdC0iK3UrIi1tcy1mbGV4LSIrdSt1O2Nhc2UgMTAyMzppZig5OSE9PXUuY2hhckNvZGVBdCg4KSlicmVhaztyZXR1cm4iLXdlYmtpdC1ib3gtcGFjayIrKGM9dS5zdWJzdHJpbmcodS5pbmRleE9mKCI6IiwxNSkpLnJlcGxhY2UoImZsZXgtIiwiIikucmVwbGFjZSgic3BhY2UtYmV0d2VlbiIsImp1c3RpZnkiKSkrIi13ZWJraXQtIit1KyItbXMtZmxleC1wYWNrIitjK3U7Y2FzZSAxMDA1OnJldHVybiBOLnRlc3QodSk/dS5yZXBsYWNlKGwsIjotd2Via2l0LSIpK3UucmVwbGFjZShsLCI6LW1vei0iKSt1OnU7Y2FzZSAxZTM6c3dpdGNoKHQ9KGM9dS5zdWJzdHJpbmcoMTMpLnRyaW0oKSkuaW5kZXhPZigiLSIpKzEsYy5jaGFyQ29kZUF0KDApK2MuY2hhckNvZGVBdCh0KSl7Y2FzZSAyMjY6Yz11LnJlcGxhY2UoVCwidGIiKTticmVhaztjYXNlIDIzMjpjPXUucmVwbGFjZShULCJ0Yi1ybCIpO2JyZWFrO2Nhc2UgMjIwOmM9dS5yZXBsYWNlKFQsImxyIik7YnJlYWs7ZGVmYXVsdDpyZXR1cm4gdX1yZXR1cm4iLXdlYmtpdC0iK3UrIi1tcy0iK2MrdTtjYXNlIDEwMTc6aWYoLTE9PT11LmluZGV4T2YoInN0aWNreSIsOSkpYnJlYWs7Y2FzZSA5NzU6c3dpdGNoKHQ9KHU9ZSkubGVuZ3RoLTEwLG89KGM9KDMzPT09dS5jaGFyQ29kZUF0KHQpP3Uuc3Vic3RyaW5nKDAsdCk6dSkuc3Vic3RyaW5nKGUuaW5kZXhPZigiOiIsNykrMSkudHJpbSgpKS5jaGFyQ29kZUF0KDApKygwfGMuY2hhckNvZGVBdCg3KSkpe2Nhc2UgMjAzOmlmKDExMT5jLmNoYXJDb2RlQXQoOCkpYnJlYWs7Y2FzZSAxMTU6dT11LnJlcGxhY2UoYywiLXdlYmtpdC0iK2MpKyI7Iit1O2JyZWFrO2Nhc2UgMjA3OmNhc2UgMTAyOnU9dS5yZXBsYWNlKGMsIi13ZWJraXQtIisoMTAyPG8/ImlubGluZS0iOiIiKSsiYm94IikrIjsiK3UucmVwbGFjZShjLCItd2Via2l0LSIrYykrIjsiK3UucmVwbGFjZShjLCItbXMtIitjKyJib3giKSsiOyIrdX1yZXR1cm4gdSsiOyI7Y2FzZSA5Mzg6aWYoNDU9PT11LmNoYXJDb2RlQXQoNSkpc3dpdGNoKHUuY2hhckNvZGVBdCg2KSl7Y2FzZSAxMDU6cmV0dXJuIGM9dS5yZXBsYWNlKCItaXRlbXMiLCIiKSwiLXdlYmtpdC0iK3UrIi13ZWJraXQtYm94LSIrYysiLW1zLWZsZXgtIitjK3U7Y2FzZSAxMTU6cmV0dXJuIi13ZWJraXQtIit1KyItbXMtZmxleC1pdGVtLSIrdS5yZXBsYWNlKHcsIiIpK3U7ZGVmYXVsdDpyZXR1cm4iLXdlYmtpdC0iK3UrIi1tcy1mbGV4LWxpbmUtcGFjayIrdS5yZXBsYWNlKCJhbGlnbi1jb250ZW50IiwiIikucmVwbGFjZSh3LCIiKSt1fWJyZWFrO2Nhc2UgOTczOmNhc2UgOTg5OmlmKDQ1IT09dS5jaGFyQ29kZUF0KDMpfHwxMjI9PT11LmNoYXJDb2RlQXQoNCkpYnJlYWs7Y2FzZSA5MzE6Y2FzZSA5NTM6aWYoITA9PT1MLnRlc3QoZSkpcmV0dXJuIDExNT09PShjPWUuc3Vic3RyaW5nKGUuaW5kZXhPZigiOiIpKzEpKS5jaGFyQ29kZUF0KDApP2koZS5yZXBsYWNlKCJzdHJldGNoIiwiZmlsbC1hdmFpbGFibGUiKSx0LG4sTSkucmVwbGFjZSgiOmZpbGwtYXZhaWxhYmxlIiwiOnN0cmV0Y2giKTp1LnJlcGxhY2UoYywiLXdlYmtpdC0iK2MpK3UucmVwbGFjZShjLCItbW96LSIrYy5yZXBsYWNlKCJmaWxsLSIsIiIpKSt1O2JyZWFrO2Nhc2UgOTYyOmlmKHU9Ii13ZWJraXQtIit1KygxMDI9PT11LmNoYXJDb2RlQXQoNSk/Ii1tcy0iK3U6IiIpK3UsMjExPT09bitNJiYxMDU9PT11LmNoYXJDb2RlQXQoMTMpJiYwPHUuaW5kZXhPZigidHJhbnNmb3JtIiwxMCkpcmV0dXJuIHUuc3Vic3RyaW5nKDAsdS5pbmRleE9mKCI7IiwyNykrMSkucmVwbGFjZShqLCIkMS13ZWJraXQtJDIiKSt1fXJldHVybiB1fWZ1bmN0aW9uIHIoZSx0KXt2YXIgbj1lLmluZGV4T2YoMT09PXQ/IjoiOiJ7IiksaT1lLnN1YnN0cmluZygwLDMhPT10P246MTApO3JldHVybiBuPWUuc3Vic3RyaW5nKG4rMSxlLmxlbmd0aC0xKSxiKDIhPT10P2k6aS5yZXBsYWNlKGYsIiQxIiksbix0KX1mdW5jdGlvbiBNKGUsdCl7dmFyIG49aSh0LHQuY2hhckNvZGVBdCgwKSx0LmNoYXJDb2RlQXQoMSksdC5jaGFyQ29kZUF0KDIpKTtyZXR1cm4gbiE9PXQrIjsiP24ucmVwbGFjZSh6LCIgb3IgKCQxKSIpLnN1YnN0cmluZyg0KToiKCIrdCsiKSJ9ZnVuY3Rpb24gdShlLHQsbixpLHIsTSx1LG8sYSxJKXtmb3IodmFyIGwsTj0wLGo9dDtOPHY7KytOKXN3aXRjaChsPU9bTl0uY2FsbChjLGUsaixuLGkscixNLHUsbyxhLEkpKXtjYXNlIHZvaWQgMDpjYXNlITE6Y2FzZSEwOmNhc2UgbnVsbDpicmVhaztkZWZhdWx0Omo9bH1pZihqIT09dClyZXR1cm4gan1mdW5jdGlvbiBvKGUpe3JldHVybiB2b2lkIDAhPT0oZT1lLnByZWZpeCkmJihiPW51bGwsZT8iZnVuY3Rpb24iIT10eXBlb2YgZT9TPTE6KFM9MixiPWUpOlM9MCksb31mdW5jdGlvbiBjKGUsbil7dmFyIG89ZTtpZigzMz5vLmNoYXJDb2RlQXQoMCkmJihvPW8udHJpbSgpKSxvPVtvXSwwPHYpe3ZhciBjPXUoLTEsbixvLG8seCxDLDAsMCwwLDApO3ZvaWQgMCE9PWMmJiJzdHJpbmciPT10eXBlb2YgYyYmKG49Yyl9dmFyIGw9ZnVuY3Rpb24gZShuLG8sYyxsLE4pe2Zvcih2YXIgaixnLHMsVCx6LHc9MCxmPTAsTD0wLEU9MCxPPTAsYj0wLGs9cz1qPTAsUT0wLFk9MCxQPTAsVT0wLFo9Yy5sZW5ndGgsRz1aLTEsQj0iIixSPSIiLFc9IiIsSD0iIjtRPFo7KXtpZihnPWMuY2hhckNvZGVBdChRKSxRPT09RyYmMCE9PWYrRStMK3cmJigwIT09ZiYmKGc9NDc9PT1mPzEwOjQ3KSxFPUw9dz0wLForKyxHKyspLDA9PT1mK0UrTCt3KXtpZihRPT09RyYmKDA8WSYmKEI9Qi5yZXBsYWNlKEksIiIpKSwwPEIudHJpbSgpLmxlbmd0aCkpe3N3aXRjaChnKXtjYXNlIDMyOmNhc2UgOTpjYXNlIDU5OmNhc2UgMTM6Y2FzZSAxMDpicmVhaztkZWZhdWx0OkIrPWMuY2hhckF0KFEpfWc9NTl9c3dpdGNoKGcpe2Nhc2UgMTIzOmZvcihqPShCPUIudHJpbSgpKS5jaGFyQ29kZUF0KDApLHM9MSxVPSsrUTtRPFo7KXtzd2l0Y2goZz1jLmNoYXJDb2RlQXQoUSkpe2Nhc2UgMTIzOnMrKzticmVhaztjYXNlIDEyNTpzLS07YnJlYWs7Y2FzZSA0Nzpzd2l0Y2goZz1jLmNoYXJDb2RlQXQoUSsxKSl7Y2FzZSA0MjpjYXNlIDQ3OmU6e2ZvcihrPVErMTtrPEc7KytrKXN3aXRjaChjLmNoYXJDb2RlQXQoaykpe2Nhc2UgNDc6aWYoNDI9PT1nJiY0Mj09PWMuY2hhckNvZGVBdChrLTEpJiZRKzIhPT1rKXtRPWsrMTticmVhayBlfWJyZWFrO2Nhc2UgMTA6aWYoNDc9PT1nKXtRPWsrMTticmVhayBlfX1RPWt9fWJyZWFrO2Nhc2UgOTE6ZysrO2Nhc2UgNDA6ZysrO2Nhc2UgMzQ6Y2FzZSAzOTpmb3IoO1ErKzxHJiZjLmNoYXJDb2RlQXQoUSkhPT1nOyk7fWlmKDA9PT1zKWJyZWFrO1ErK31zd2l0Y2gocz1jLnN1YnN0cmluZyhVLFEpLDA9PT1qJiYoaj0oQj1CLnJlcGxhY2UoYSwiIikudHJpbSgpKS5jaGFyQ29kZUF0KDApKSxqKXtjYXNlIDY0OnN3aXRjaCgwPFkmJihCPUIucmVwbGFjZShJLCIiKSksZz1CLmNoYXJDb2RlQXQoMSkpe2Nhc2UgMTAwOmNhc2UgMTA5OmNhc2UgMTE1OmNhc2UgNDU6WT1vO2JyZWFrO2RlZmF1bHQ6WT1tfWlmKFU9KHM9ZShvLFkscyxnLE4rMSkpLmxlbmd0aCwwPHYmJih6PXUoMyxzLFk9dChtLEIsUCksbyx4LEMsVSxnLE4sbCksQj1ZLmpvaW4oIiIpLHZvaWQgMCE9PXomJjA9PT0oVT0ocz16LnRyaW0oKSkubGVuZ3RoKSYmKGc9MCxzPSIiKSksMDxVKXN3aXRjaChnKXtjYXNlIDExNTpCPUIucmVwbGFjZSh5LE0pO2Nhc2UgMTAwOmNhc2UgMTA5OmNhc2UgNDU6cz1CKyJ7IitzKyJ9IjticmVhaztjYXNlIDEwNzpzPShCPUIucmVwbGFjZShBLCIkMSAkMiIpKSsieyIrcysifSIscz0xPT09U3x8Mj09PVMmJnIoIkAiK3MsMyk/IkAtd2Via2l0LSIrcysiQCIrczoiQCIrczticmVhaztkZWZhdWx0OnM9QitzLDExMj09PWwmJihSKz1zLHM9IiIpfWVsc2Ugcz0iIjticmVhaztkZWZhdWx0OnM9ZShvLHQobyxCLFApLHMsbCxOKzEpfVcrPXMscz1QPVk9az1qPTAsQj0iIixnPWMuY2hhckNvZGVBdCgrK1EpO2JyZWFrO2Nhc2UgMTI1OmNhc2UgNTk6aWYoMTwoVT0oQj0oMDxZP0IucmVwbGFjZShJLCIiKTpCKS50cmltKCkpLmxlbmd0aCkpc3dpdGNoKDA9PT1rJiYoaj1CLmNoYXJDb2RlQXQoMCksNDU9PT1qfHw5NjxqJiYxMjM+aikmJihVPShCPUIucmVwbGFjZSgiICIsIjoiKSkubGVuZ3RoKSwwPHYmJnZvaWQgMCE9PSh6PXUoMSxCLG8sbix4LEMsUi5sZW5ndGgsbCxOLGwpKSYmMD09PShVPShCPXoudHJpbSgpKS5sZW5ndGgpJiYoQj0iXDBcMCIpLGo9Qi5jaGFyQ29kZUF0KDApLGc9Qi5jaGFyQ29kZUF0KDEpLGope2Nhc2UgMDpicmVhaztjYXNlIDY0OmlmKDEwNT09PWd8fDk5PT09Zyl7SCs9QitjLmNoYXJBdChRKTticmVha31kZWZhdWx0OjU4IT09Qi5jaGFyQ29kZUF0KFUtMSkmJihSKz1pKEIsaixnLEIuY2hhckNvZGVBdCgyKSkpfVA9WT1rPWo9MCxCPSIiLGc9Yy5jaGFyQ29kZUF0KCsrUSl9fXN3aXRjaChnKXtjYXNlIDEzOmNhc2UgMTA6NDc9PT1mP2Y9MDowPT09MStqJiYxMDchPT1sJiYwPEIubGVuZ3RoJiYoWT0xLEIrPSJcMCIpLDA8dipoJiZ1KDAsQixvLG4seCxDLFIubGVuZ3RoLGwsTixsKSxDPTEseCsrO2JyZWFrO2Nhc2UgNTk6Y2FzZSAxMjU6aWYoMD09PWYrRStMK3cpe0MrKzticmVha31kZWZhdWx0OnN3aXRjaChDKyssVD1jLmNoYXJBdChRKSxnKXtjYXNlIDk6Y2FzZSAzMjppZigwPT09RSt3K2Ypc3dpdGNoKE8pe2Nhc2UgNDQ6Y2FzZSA1ODpjYXNlIDk6Y2FzZSAzMjpUPSIiO2JyZWFrO2RlZmF1bHQ6MzIhPT1nJiYoVD0iICIpfWJyZWFrO2Nhc2UgMDpUPSJcXDAiO2JyZWFrO2Nhc2UgMTI6VD0iXFxmIjticmVhaztjYXNlIDExOlQ9IlxcdiI7YnJlYWs7Y2FzZSAzODowPT09RStmK3cmJihZPVA9MSxUPSJcZiIrVCk7YnJlYWs7Y2FzZSAxMDg6aWYoMD09PUUrZit3K3AmJjA8aylzd2l0Y2goUS1rKXtjYXNlIDI6MTEyPT09TyYmNTg9PT1jLmNoYXJDb2RlQXQoUS0zKSYmKHA9Tyk7Y2FzZSA4OjExMT09PWImJihwPWIpfWJyZWFrO2Nhc2UgNTg6MD09PUUrZit3JiYoaz1RKTticmVhaztjYXNlIDQ0OjA9PT1mK0wrRSt3JiYoWT0xLFQrPSJcciIpO2JyZWFrO2Nhc2UgMzQ6Y2FzZSAzOTowPT09ZiYmKEU9RT09PWc/MDowPT09RT9nOkUpO2JyZWFrO2Nhc2UgOTE6MD09PUUrZitMJiZ3Kys7YnJlYWs7Y2FzZSA5MzowPT09RStmK0wmJnctLTticmVhaztjYXNlIDQxOjA9PT1FK2YrdyYmTC0tO2JyZWFrO2Nhc2UgNDA6aWYoMD09PUUrZit3KXtpZigwPT09ailzd2l0Y2goMipPKzMqYil7Y2FzZSA1MzM6YnJlYWs7ZGVmYXVsdDpqPTF9TCsrfWJyZWFrO2Nhc2UgNjQ6MD09PWYrTCtFK3craytzJiYocz0xKTticmVhaztjYXNlIDQyOmNhc2UgNDc6aWYoISgwPEUrdytMKSlzd2l0Y2goZil7Y2FzZSAwOnN3aXRjaCgyKmcrMypjLmNoYXJDb2RlQXQoUSsxKSl7Y2FzZSAyMzU6Zj00NzticmVhaztjYXNlIDIyMDpVPVEsZj00Mn1icmVhaztjYXNlIDQyOjQ3PT09ZyYmNDI9PT1PJiZVKzIhPT1RJiYoMzM9PT1jLmNoYXJDb2RlQXQoVSsyKSYmKFIrPWMuc3Vic3RyaW5nKFUsUSsxKSksVD0iIixmPTApfX0wPT09ZiYmKEIrPVQpfWI9TyxPPWcsUSsrfWlmKDA8KFU9Ui5sZW5ndGgpKXtpZihZPW8sMDx2JiYodm9pZCAwIT09KHo9dSgyLFIsWSxuLHgsQyxVLGwsTixsKSkmJjA9PT0oUj16KS5sZW5ndGgpKXJldHVybiBIK1IrVztpZihSPVkuam9pbigiLCIpKyJ7IitSKyJ9IiwwIT1TKnApe3N3aXRjaCgyIT09U3x8cihSLDIpfHwocD0wKSxwKXtjYXNlIDExMTpSPVIucmVwbGFjZShkLCI6LW1vei0kMSIpK1I7YnJlYWs7Y2FzZSAxMTI6Uj1SLnJlcGxhY2UoRCwiOjotd2Via2l0LWlucHV0LSQxIikrUi5yZXBsYWNlKEQsIjo6LW1vei0kMSIpK1IucmVwbGFjZShELCI6LW1zLWlucHV0LSQxIikrUn1wPTB9fXJldHVybiBIK1IrV30obSxvLG4sMCwwKTtyZXR1cm4gMDx2JiYodm9pZCAwIT09KGM9dSgtMixsLG8sbyx4LEMsbC5sZW5ndGgsMCwwLDApKSYmKGw9YykpLCIiLHA9MCxDPXg9MSxsfXZhciBhPS9eXDArL2csST0vW1wwXHJcZl0vZyxsPS86ICovZyxOPS96b298Z3JhLyxqPS8oWyw6IF0pKHRyYW5zZm9ybSkvZyxnPS8sXHIrPy9nLHM9LyhbXHRcclxuIF0pKlxmPyYvZyxBPS9AKGtcdyspXHMqKFxTKilccyovLEQ9Lzo6KHBsYWNlKS9nLGQ9LzoocmVhZC1vbmx5KS9nLFQ9L1tzdmhdXHcrLVt0YmxyXXsyfS8seT0vXChccyooLiopXHMqXCkvZyx6PS8oW1xzXFNdKj8pOy9nLHc9Ly1zZWxmfGZsZXgtL2csZj0vW15dKj8oOltycF1bZWxdYVtcdy1dKylbXl0qLyxMPS9zdHJldGNofDpccypcdytcLSg/OmNvbnRlfGF2YWlsKS8sRT0vKFteLV0pKGltYWdlLXNldFwoKS8sQz0xLHg9MSxwPTAsUz0xLG09W10sTz1bXSx2PTAsYj1udWxsLGg9MDtyZXR1cm4gYy51c2U9ZnVuY3Rpb24gZSh0KXtzd2l0Y2godCl7Y2FzZSB2b2lkIDA6Y2FzZSBudWxsOnY9Ty5sZW5ndGg9MDticmVhaztkZWZhdWx0OmlmKCJmdW5jdGlvbiI9PXR5cGVvZiB0KU9bdisrXT10O2Vsc2UgaWYoIm9iamVjdCI9PXR5cGVvZiB0KWZvcih2YXIgbj0wLGk9dC5sZW5ndGg7bjxpOysrbillKHRbbl0pO2Vsc2UgaD0wfCEhdH1yZXR1cm4gZX0sYy5zZXQ9byx2b2lkIDAhPT1lJiZvKGUpLGN9fSxmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO3QuYT17YW5pbWF0aW9uSXRlcmF0aW9uQ291bnQ6MSxib3JkZXJJbWFnZU91dHNldDoxLGJvcmRlckltYWdlU2xpY2U6MSxib3JkZXJJbWFnZVdpZHRoOjEsYm94RmxleDoxLGJveEZsZXhHcm91cDoxLGJveE9yZGluYWxHcm91cDoxLGNvbHVtbkNvdW50OjEsY29sdW1uczoxLGZsZXg6MSxmbGV4R3JvdzoxLGZsZXhQb3NpdGl2ZToxLGZsZXhTaHJpbms6MSxmbGV4TmVnYXRpdmU6MSxmbGV4T3JkZXI6MSxncmlkUm93OjEsZ3JpZFJvd0VuZDoxLGdyaWRSb3dTcGFuOjEsZ3JpZFJvd1N0YXJ0OjEsZ3JpZENvbHVtbjoxLGdyaWRDb2x1bW5FbmQ6MSxncmlkQ29sdW1uU3BhbjoxLGdyaWRDb2x1bW5TdGFydDoxLG1zR3JpZFJvdzoxLG1zR3JpZFJvd1NwYW46MSxtc0dyaWRDb2x1bW46MSxtc0dyaWRDb2x1bW5TcGFuOjEsZm9udFdlaWdodDoxLGxpbmVIZWlnaHQ6MSxvcGFjaXR5OjEsb3JkZXI6MSxvcnBoYW5zOjEsdGFiU2l6ZToxLHdpZG93czoxLHpJbmRleDoxLHpvb206MSxXZWJraXRMaW5lQ2xhbXA6MSxmaWxsT3BhY2l0eToxLGZsb29kT3BhY2l0eToxLHN0b3BPcGFjaXR5OjEsc3Ryb2tlRGFzaGFycmF5OjEsc3Ryb2tlRGFzaG9mZnNldDoxLHN0cm9rZU1pdGVybGltaXQ6MSxzdHJva2VPcGFjaXR5OjEsc3Ryb2tlV2lkdGg6MX19LGZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBpPW4oMCkscj1uKDI2KTtpLl9fZXhwb3J0U3RhcihuKDE3KSx0KSxpLl9fZXhwb3J0U3RhcihuKDIpLHQpLGkuX19leHBvcnRTdGFyKG4oMjApLHQpLGkuX19leHBvcnRTdGFyKG4oNSksdCksaS5fX2V4cG9ydFN0YXIobigzKSx0KSxpLl9fZXhwb3J0U3RhcihuKDQpLHQpLHQuZGVmYXVsdD1yLkNvcmV9LGZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuQ29yZT12b2lkIDA7dmFyIGk9bigwKSxyPWkuX19pbXBvcnRTdGFyKG4oMSkpLE09aS5fX2ltcG9ydFN0YXIobigyOCkpLHU9bigzKSxvPW4oMiksYz1uKDQpLGE9bigxNyksST1uKDIwKSxsPXtzaG93OiExfSxOPXtsaWdodGJveE9wYWNpdHk6LjQsdGhlbWU6Yy50aGVtZXNMaXN0LmRlZmF1bHQubmFtZSxjYWNoZVByb3ZpZGVyOiExLGRpc2FibGVJbmplY3RlZFByb3ZpZGVyOiExLHByb3ZpZGVyT3B0aW9uczp7fSxuZXR3b3JrOiIifSxqPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShlKXt2YXIgdD10aGlzO3RoaXMuc2hvdz1sLnNob3csdGhpcy5ldmVudENvbnRyb2xsZXI9bmV3IEkuRXZlbnRDb250cm9sbGVyLHRoaXMuY29ubmVjdD1mdW5jdGlvbigpe3JldHVybiBuZXcgUHJvbWlzZSgoZnVuY3Rpb24oZSxuKXtyZXR1cm4gaS5fX2F3YWl0ZXIodCx2b2lkIDAsdm9pZCAwLChmdW5jdGlvbigpe3JldHVybiBpLl9fZ2VuZXJhdG9yKHRoaXMsKGZ1bmN0aW9uKHQpe3N3aXRjaCh0LmxhYmVsKXtjYXNlIDA6cmV0dXJuIHRoaXMub24oby5DT05ORUNUX0VWRU5ULChmdW5jdGlvbih0KXtyZXR1cm4gZSh0KX0pKSx0aGlzLm9uKG8uRVJST1JfRVZFTlQsKGZ1bmN0aW9uKGUpe3JldHVybiBuKGUpfSkpLHRoaXMub24oby5DTE9TRV9FVkVOVCwoZnVuY3Rpb24oKXtyZXR1cm4gbigiTW9kYWwgY2xvc2VkIGJ5IHVzZXIiKX0pKSxbNCx0aGlzLnRvZ2dsZU1vZGFsKCldO2Nhc2UgMTpyZXR1cm4gdC5zZW50KCksWzJdfX0pKX0pKX0pKX0sdGhpcy5jb25uZWN0VG89ZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbihuLHIpe3JldHVybiBpLl9fYXdhaXRlcih0LHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKCl7dmFyIHQ7cmV0dXJuIGkuX19nZW5lcmF0b3IodGhpcywoZnVuY3Rpb24oaSl7c3dpdGNoKGkubGFiZWwpe2Nhc2UgMDpyZXR1cm4gdGhpcy5vbihvLkNPTk5FQ1RfRVZFTlQsKGZ1bmN0aW9uKGUpe3JldHVybiBuKGUpfSkpLHRoaXMub24oby5FUlJPUl9FVkVOVCwoZnVuY3Rpb24oZSl7cmV0dXJuIHIoZSl9KSksdGhpcy5vbihvLkNMT1NFX0VWRU5ULChmdW5jdGlvbigpe3JldHVybiByKCJNb2RhbCBjbG9zZWQgYnkgdXNlciIpfSkpLCh0PXRoaXMucHJvdmlkZXJDb250cm9sbGVyLmdldFByb3ZpZGVyKGUpKT9bNCx0aGlzLnByb3ZpZGVyQ29udHJvbGxlci5jb25uZWN0VG8odC5pZCx0LmNvbm5lY3RvcildOlsyLHIobmV3IEVycm9yKCJDYW5ub3QgY29ubmVjdCB0byBwcm92aWRlciAoIitlKyIpLCBjaGVjayBwcm92aWRlciBvcHRpb25zIikpXTtjYXNlIDE6cmV0dXJuIGkuc2VudCgpLFsyXX19KSl9KSl9KSl9LHRoaXMuX3RvZ2dsZU1vZGFsPWZ1bmN0aW9uKCl7cmV0dXJuIGkuX19hd2FpdGVyKHQsdm9pZCAwLHZvaWQgMCwoZnVuY3Rpb24oKXt2YXIgZSx0O3JldHVybiBpLl9fZ2VuZXJhdG9yKHRoaXMsKGZ1bmN0aW9uKG4pe3N3aXRjaChuLmxhYmVsKXtjYXNlIDA6cmV0dXJuIGU9InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3c/ZG9jdW1lbnQ6IiIsKHQ9ZT9lLmJvZHl8fGUuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImJvZHkiKVswXToiIikmJih0aGlzLnNob3c/dC5zdHlsZS5vdmVyZmxvdz0iIjp0LnN0eWxlLm92ZXJmbG93PSJoaWRkZW4iKSxbNCx0aGlzLnVwZGF0ZVN0YXRlKHtzaG93OiF0aGlzLnNob3d9KV07Y2FzZSAxOnJldHVybiBuLnNlbnQoKSxbMl19fSkpfSkpfSx0aGlzLm9uRXJyb3I9ZnVuY3Rpb24oZSl7cmV0dXJuIGkuX19hd2FpdGVyKHQsdm9pZCAwLHZvaWQgMCwoZnVuY3Rpb24oKXtyZXR1cm4gaS5fX2dlbmVyYXRvcih0aGlzLChmdW5jdGlvbih0KXtzd2l0Y2godC5sYWJlbCl7Y2FzZSAwOnJldHVybiB0aGlzLnNob3c/WzQsdGhpcy5fdG9nZ2xlTW9kYWwoKV06WzMsMl07Y2FzZSAxOnQuc2VudCgpLHQubGFiZWw9MjtjYXNlIDI6cmV0dXJuIHRoaXMuZXZlbnRDb250cm9sbGVyLnRyaWdnZXIoby5FUlJPUl9FVkVOVCxlKSxbMl19fSkpfSkpfSx0aGlzLm9uUHJvdmlkZXJTZWxlY3Q9ZnVuY3Rpb24oZSl7dC5ldmVudENvbnRyb2xsZXIudHJpZ2dlcihvLlNFTEVDVF9FVkVOVCxlKX0sdGhpcy5vbkNvbm5lY3Q9ZnVuY3Rpb24oZSl7cmV0dXJuIGkuX19hd2FpdGVyKHQsdm9pZCAwLHZvaWQgMCwoZnVuY3Rpb24oKXtyZXR1cm4gaS5fX2dlbmVyYXRvcih0aGlzLChmdW5jdGlvbih0KXtzd2l0Y2godC5sYWJlbCl7Y2FzZSAwOnJldHVybiB0aGlzLnNob3c/WzQsdGhpcy5fdG9nZ2xlTW9kYWwoKV06WzMsMl07Y2FzZSAxOnQuc2VudCgpLHQubGFiZWw9MjtjYXNlIDI6cmV0dXJuIHRoaXMuZXZlbnRDb250cm9sbGVyLnRyaWdnZXIoby5DT05ORUNUX0VWRU5ULGUpLFsyXX19KSl9KSl9LHRoaXMub25DbG9zZT1mdW5jdGlvbigpe3JldHVybiBpLl9fYXdhaXRlcih0LHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKCl7cmV0dXJuIGkuX19nZW5lcmF0b3IodGhpcywoZnVuY3Rpb24oZSl7c3dpdGNoKGUubGFiZWwpe2Nhc2UgMDpyZXR1cm4gdGhpcy5zaG93P1s0LHRoaXMuX3RvZ2dsZU1vZGFsKCldOlszLDJdO2Nhc2UgMTplLnNlbnQoKSxlLmxhYmVsPTI7Y2FzZSAyOnJldHVybiB0aGlzLmV2ZW50Q29udHJvbGxlci50cmlnZ2VyKG8uQ0xPU0VfRVZFTlQpLFsyXX19KSl9KSl9LHRoaXMudXBkYXRlU3RhdGU9ZnVuY3Rpb24oZSl7cmV0dXJuIGkuX19hd2FpdGVyKHQsdm9pZCAwLHZvaWQgMCwoZnVuY3Rpb24oKXt2YXIgdD10aGlzO3JldHVybiBpLl9fZ2VuZXJhdG9yKHRoaXMsKGZ1bmN0aW9uKG4pe3N3aXRjaChuLmxhYmVsKXtjYXNlIDA6cmV0dXJuIE9iamVjdC5rZXlzKGUpLmZvckVhY2goKGZ1bmN0aW9uKG4pe3Rbbl09ZVtuXX0pKSxbNCx3aW5kb3cudXBkYXRlV2ViM01vZGFsKGUpXTtjYXNlIDE6cmV0dXJuIG4uc2VudCgpLFsyXX19KSl9KSl9LHRoaXMucmVzZXRTdGF0ZT1mdW5jdGlvbigpe3JldHVybiB0LnVwZGF0ZVN0YXRlKGkuX19hc3NpZ24oe30sbCkpfTt2YXIgbj1pLl9fYXNzaWduKGkuX19hc3NpZ24oe30sTiksZSk7dGhpcy5saWdodGJveE9wYWNpdHk9bi5saWdodGJveE9wYWNpdHksdGhpcy50aGVtZUNvbG9ycz11LmdldFRoZW1lQ29sb3JzKG4udGhlbWUpLHRoaXMucHJvdmlkZXJDb250cm9sbGVyPW5ldyBJLlByb3ZpZGVyQ29udHJvbGxlcih7ZGlzYWJsZUluamVjdGVkUHJvdmlkZXI6bi5kaXNhYmxlSW5qZWN0ZWRQcm92aWRlcixjYWNoZVByb3ZpZGVyOm4uY2FjaGVQcm92aWRlcixwcm92aWRlck9wdGlvbnM6bi5wcm92aWRlck9wdGlvbnMsbmV0d29yazpuLm5ldHdvcmt9KSx0aGlzLnByb3ZpZGVyQ29udHJvbGxlci5vbihvLkNPTk5FQ1RfRVZFTlQsKGZ1bmN0aW9uKGUpe3JldHVybiB0Lm9uQ29ubmVjdChlKX0pKSx0aGlzLnByb3ZpZGVyQ29udHJvbGxlci5vbihvLkVSUk9SX0VWRU5ULChmdW5jdGlvbihlKXtyZXR1cm4gdC5vbkVycm9yKGUpfSkpLHRoaXMucHJvdmlkZXJDb250cm9sbGVyLm9uKG8uU0VMRUNUX0VWRU5ULHRoaXMub25Qcm92aWRlclNlbGVjdCksdGhpcy51c2VyT3B0aW9ucz10aGlzLnByb3ZpZGVyQ29udHJvbGxlci5nZXRVc2VyT3B0aW9ucygpLHRoaXMucmVuZGVyTW9kYWwoKX1yZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLCJjYWNoZWRQcm92aWRlciIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnByb3ZpZGVyQ29udHJvbGxlci5jYWNoZWRQcm92aWRlcn0sZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSxlLnByb3RvdHlwZS50b2dnbGVNb2RhbD1mdW5jdGlvbigpe3JldHVybiBpLl9fYXdhaXRlcih0aGlzLHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKCl7cmV0dXJuIGkuX19nZW5lcmF0b3IodGhpcywoZnVuY3Rpb24oZSl7c3dpdGNoKGUubGFiZWwpe2Nhc2UgMDpyZXR1cm4gdGhpcy5jYWNoZWRQcm92aWRlcj9bNCx0aGlzLnByb3ZpZGVyQ29udHJvbGxlci5jb25uZWN0VG9DYWNoZWRQcm92aWRlcigpXTpbMywyXTtjYXNlIDE6cmV0dXJuIGUuc2VudCgpLFsyXTtjYXNlIDI6cmV0dXJuIHRoaXMudXNlck9wdGlvbnMmJjE9PT10aGlzLnVzZXJPcHRpb25zLmxlbmd0aCYmdGhpcy51c2VyT3B0aW9uc1swXS5uYW1lP1s0LHRoaXMudXNlck9wdGlvbnNbMF0ub25DbGljaygpXTpbMyw0XTtjYXNlIDM6cmV0dXJuIGUuc2VudCgpLFsyXTtjYXNlIDQ6cmV0dXJuWzQsdGhpcy5fdG9nZ2xlTW9kYWwoKV07Y2FzZSA1OnJldHVybiBlLnNlbnQoKSxbMl19fSkpfSkpfSxlLnByb3RvdHlwZS5vbj1mdW5jdGlvbihlLHQpe3ZhciBuPXRoaXM7cmV0dXJuIHRoaXMuZXZlbnRDb250cm9sbGVyLm9uKHtldmVudDplLGNhbGxiYWNrOnR9KSxmdW5jdGlvbigpe3JldHVybiBuLmV2ZW50Q29udHJvbGxlci5vZmYoe2V2ZW50OmUsY2FsbGJhY2s6dH0pfX0sZS5wcm90b3R5cGUub2ZmPWZ1bmN0aW9uKGUsdCl7dGhpcy5ldmVudENvbnRyb2xsZXIub2ZmKHtldmVudDplLGNhbGxiYWNrOnR9KX0sZS5wcm90b3R5cGUuZ2V0VXNlck9wdGlvbnM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy51c2VyT3B0aW9uc30sZS5wcm90b3R5cGUuY2xlYXJDYWNoZWRQcm92aWRlcj1mdW5jdGlvbigpe3RoaXMucHJvdmlkZXJDb250cm9sbGVyLmNsZWFyQ2FjaGVkUHJvdmlkZXIoKX0sZS5wcm90b3R5cGUuc2V0Q2FjaGVkUHJvdmlkZXI9ZnVuY3Rpb24oZSl7dGhpcy5wcm92aWRlckNvbnRyb2xsZXIuc2V0Q2FjaGVkUHJvdmlkZXIoZSl9LGUucHJvdG90eXBlLnVwZGF0ZVRoZW1lPWZ1bmN0aW9uKGUpe3JldHVybiBpLl9fYXdhaXRlcih0aGlzLHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKCl7cmV0dXJuIGkuX19nZW5lcmF0b3IodGhpcywoZnVuY3Rpb24odCl7c3dpdGNoKHQubGFiZWwpe2Nhc2UgMDpyZXR1cm4gdGhpcy50aGVtZUNvbG9ycz11LmdldFRoZW1lQ29sb3JzKGUpLFs0LHRoaXMudXBkYXRlU3RhdGUoe3RoZW1lQ29sb3JzOnRoaXMudGhlbWVDb2xvcnN9KV07Y2FzZSAxOnJldHVybiB0LnNlbnQoKSxbMl19fSkpfSkpfSxlLnByb3RvdHlwZS5yZW5kZXJNb2RhbD1mdW5jdGlvbigpe3ZhciBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2UuaWQ9by5XRUIzX0NPTk5FQ1RfTU9EQUxfSUQsZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlKSxNLnJlbmRlcihyLmNyZWF0ZUVsZW1lbnQoYS5Nb2RhbCx7dGhlbWVDb2xvcnM6dGhpcy50aGVtZUNvbG9ycyx1c2VyT3B0aW9uczp0aGlzLnVzZXJPcHRpb25zLG9uQ2xvc2U6dGhpcy5vbkNsb3NlLHJlc2V0U3RhdGU6dGhpcy5yZXNldFN0YXRlLGxpZ2h0Ym94T3BhY2l0eTp0aGlzLmxpZ2h0Ym94T3BhY2l0eX0pLGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKG8uV0VCM19DT05ORUNUX01PREFMX0lEKSl9LGV9KCk7dC5Db3JlPWp9LGZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7Ci8qKiBAbGljZW5zZSBSZWFjdCB2MTYuMTQuMAogKiByZWFjdC5wcm9kdWN0aW9uLm1pbi5qcwogKgogKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4KICoKICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlCiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4KICovdmFyIGk9big5KSxyPSJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJlN5bWJvbC5mb3IsTT1yP1N5bWJvbC5mb3IoInJlYWN0LmVsZW1lbnQiKTo2MDEwMyx1PXI/U3ltYm9sLmZvcigicmVhY3QucG9ydGFsIik6NjAxMDYsbz1yP1N5bWJvbC5mb3IoInJlYWN0LmZyYWdtZW50Iik6NjAxMDcsYz1yP1N5bWJvbC5mb3IoInJlYWN0LnN0cmljdF9tb2RlIik6NjAxMDgsYT1yP1N5bWJvbC5mb3IoInJlYWN0LnByb2ZpbGVyIik6NjAxMTQsST1yP1N5bWJvbC5mb3IoInJlYWN0LnByb3ZpZGVyIik6NjAxMDksbD1yP1N5bWJvbC5mb3IoInJlYWN0LmNvbnRleHQiKTo2MDExMCxOPXI/U3ltYm9sLmZvcigicmVhY3QuZm9yd2FyZF9yZWYiKTo2MDExMixqPXI/U3ltYm9sLmZvcigicmVhY3Quc3VzcGVuc2UiKTo2MDExMyxnPXI/U3ltYm9sLmZvcigicmVhY3QubWVtbyIpOjYwMTE1LHM9cj9TeW1ib2wuZm9yKCJyZWFjdC5sYXp5Iik6NjAxMTYsQT0iZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiZTeW1ib2wuaXRlcmF0b3I7ZnVuY3Rpb24gRChlKXtmb3IodmFyIHQ9Imh0dHBzOi8vcmVhY3Rqcy5vcmcvZG9jcy9lcnJvci1kZWNvZGVyLmh0bWw/aW52YXJpYW50PSIrZSxuPTE7bjxhcmd1bWVudHMubGVuZ3RoO24rKyl0Kz0iJmFyZ3NbXT0iK2VuY29kZVVSSUNvbXBvbmVudChhcmd1bWVudHNbbl0pO3JldHVybiJNaW5pZmllZCBSZWFjdCBlcnJvciAjIitlKyI7IHZpc2l0ICIrdCsiIGZvciB0aGUgZnVsbCBtZXNzYWdlIG9yIHVzZSB0aGUgbm9uLW1pbmlmaWVkIGRldiBlbnZpcm9ubWVudCBmb3IgZnVsbCBlcnJvcnMgYW5kIGFkZGl0aW9uYWwgaGVscGZ1bCB3YXJuaW5ncy4ifXZhciBkPXtpc01vdW50ZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hMX0sZW5xdWV1ZUZvcmNlVXBkYXRlOmZ1bmN0aW9uKCl7fSxlbnF1ZXVlUmVwbGFjZVN0YXRlOmZ1bmN0aW9uKCl7fSxlbnF1ZXVlU2V0U3RhdGU6ZnVuY3Rpb24oKXt9fSxUPXt9O2Z1bmN0aW9uIHkoZSx0LG4pe3RoaXMucHJvcHM9ZSx0aGlzLmNvbnRleHQ9dCx0aGlzLnJlZnM9VCx0aGlzLnVwZGF0ZXI9bnx8ZH1mdW5jdGlvbiB6KCl7fWZ1bmN0aW9uIHcoZSx0LG4pe3RoaXMucHJvcHM9ZSx0aGlzLmNvbnRleHQ9dCx0aGlzLnJlZnM9VCx0aGlzLnVwZGF0ZXI9bnx8ZH15LnByb3RvdHlwZS5pc1JlYWN0Q29tcG9uZW50PXt9LHkucHJvdG90eXBlLnNldFN0YXRlPWZ1bmN0aW9uKGUsdCl7aWYoIm9iamVjdCIhPXR5cGVvZiBlJiYiZnVuY3Rpb24iIT10eXBlb2YgZSYmbnVsbCE9ZSl0aHJvdyBFcnJvcihEKDg1KSk7dGhpcy51cGRhdGVyLmVucXVldWVTZXRTdGF0ZSh0aGlzLGUsdCwic2V0U3RhdGUiKX0seS5wcm90b3R5cGUuZm9yY2VVcGRhdGU9ZnVuY3Rpb24oZSl7dGhpcy51cGRhdGVyLmVucXVldWVGb3JjZVVwZGF0ZSh0aGlzLGUsImZvcmNlVXBkYXRlIil9LHoucHJvdG90eXBlPXkucHJvdG90eXBlO3ZhciBmPXcucHJvdG90eXBlPW5ldyB6O2YuY29uc3RydWN0b3I9dyxpKGYseS5wcm90b3R5cGUpLGYuaXNQdXJlUmVhY3RDb21wb25lbnQ9ITA7dmFyIEw9e2N1cnJlbnQ6bnVsbH0sRT1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LEM9e2tleTohMCxyZWY6ITAsX19zZWxmOiEwLF9fc291cmNlOiEwfTtmdW5jdGlvbiB4KGUsdCxuKXt2YXIgaSxyPXt9LHU9bnVsbCxvPW51bGw7aWYobnVsbCE9dClmb3IoaSBpbiB2b2lkIDAhPT10LnJlZiYmKG89dC5yZWYpLHZvaWQgMCE9PXQua2V5JiYodT0iIit0LmtleSksdClFLmNhbGwodCxpKSYmIUMuaGFzT3duUHJvcGVydHkoaSkmJihyW2ldPXRbaV0pO3ZhciBjPWFyZ3VtZW50cy5sZW5ndGgtMjtpZigxPT09YylyLmNoaWxkcmVuPW47ZWxzZSBpZigxPGMpe2Zvcih2YXIgYT1BcnJheShjKSxJPTA7STxjO0krKylhW0ldPWFyZ3VtZW50c1tJKzJdO3IuY2hpbGRyZW49YX1pZihlJiZlLmRlZmF1bHRQcm9wcylmb3IoaSBpbiBjPWUuZGVmYXVsdFByb3BzKXZvaWQgMD09PXJbaV0mJihyW2ldPWNbaV0pO3JldHVybnskJHR5cGVvZjpNLHR5cGU6ZSxrZXk6dSxyZWY6byxwcm9wczpyLF9vd25lcjpMLmN1cnJlbnR9fWZ1bmN0aW9uIHAoZSl7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSYmZS4kJHR5cGVvZj09PU19dmFyIFM9L1wvKy9nLG09W107ZnVuY3Rpb24gTyhlLHQsbixpKXtpZihtLmxlbmd0aCl7dmFyIHI9bS5wb3AoKTtyZXR1cm4gci5yZXN1bHQ9ZSxyLmtleVByZWZpeD10LHIuZnVuYz1uLHIuY29udGV4dD1pLHIuY291bnQ9MCxyfXJldHVybntyZXN1bHQ6ZSxrZXlQcmVmaXg6dCxmdW5jOm4sY29udGV4dDppLGNvdW50OjB9fWZ1bmN0aW9uIHYoZSl7ZS5yZXN1bHQ9bnVsbCxlLmtleVByZWZpeD1udWxsLGUuZnVuYz1udWxsLGUuY29udGV4dD1udWxsLGUuY291bnQ9MCwxMD5tLmxlbmd0aCYmbS5wdXNoKGUpfWZ1bmN0aW9uIGIoZSx0LG4pe3JldHVybiBudWxsPT1lPzA6ZnVuY3Rpb24gZSh0LG4saSxyKXt2YXIgbz10eXBlb2YgdDsidW5kZWZpbmVkIiE9PW8mJiJib29sZWFuIiE9PW98fCh0PW51bGwpO3ZhciBjPSExO2lmKG51bGw9PT10KWM9ITA7ZWxzZSBzd2l0Y2gobyl7Y2FzZSJzdHJpbmciOmNhc2UibnVtYmVyIjpjPSEwO2JyZWFrO2Nhc2Uib2JqZWN0Ijpzd2l0Y2godC4kJHR5cGVvZil7Y2FzZSBNOmNhc2UgdTpjPSEwfX1pZihjKXJldHVybiBpKHIsdCwiIj09PW4/Ii4iK2godCwwKTpuKSwxO2lmKGM9MCxuPSIiPT09bj8iLiI6bisiOiIsQXJyYXkuaXNBcnJheSh0KSlmb3IodmFyIGE9MDthPHQubGVuZ3RoO2ErKyl7dmFyIEk9bitoKG89dFthXSxhKTtjKz1lKG8sSSxpLHIpfWVsc2UgaWYobnVsbD09PXR8fCJvYmplY3QiIT10eXBlb2YgdD9JPW51bGw6ST0iZnVuY3Rpb24iPT10eXBlb2YoST1BJiZ0W0FdfHx0WyJAQGl0ZXJhdG9yIl0pP0k6bnVsbCwiZnVuY3Rpb24iPT10eXBlb2YgSSlmb3IodD1JLmNhbGwodCksYT0wOyEobz10Lm5leHQoKSkuZG9uZTspYys9ZShvPW8udmFsdWUsST1uK2gobyxhKyspLGkscik7ZWxzZSBpZigib2JqZWN0Ij09PW8pdGhyb3cgaT0iIit0LEVycm9yKEQoMzEsIltvYmplY3QgT2JqZWN0XSI9PT1pPyJvYmplY3Qgd2l0aCBrZXlzIHsiK09iamVjdC5rZXlzKHQpLmpvaW4oIiwgIikrIn0iOmksIiIpKTtyZXR1cm4gY30oZSwiIix0LG4pfWZ1bmN0aW9uIGgoZSx0KXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lJiZudWxsIT1lLmtleT9mdW5jdGlvbihlKXt2YXIgdD17Ij0iOiI9MCIsIjoiOiI9MiJ9O3JldHVybiIkIisoIiIrZSkucmVwbGFjZSgvWz06XS9nLChmdW5jdGlvbihlKXtyZXR1cm4gdFtlXX0pKX0oZS5rZXkpOnQudG9TdHJpbmcoMzYpfWZ1bmN0aW9uIGsoZSx0KXtlLmZ1bmMuY2FsbChlLmNvbnRleHQsdCxlLmNvdW50KyspfWZ1bmN0aW9uIFEoZSx0LG4pe3ZhciBpPWUucmVzdWx0LHI9ZS5rZXlQcmVmaXg7ZT1lLmZ1bmMuY2FsbChlLmNvbnRleHQsdCxlLmNvdW50KyspLEFycmF5LmlzQXJyYXkoZSk/WShlLGksbiwoZnVuY3Rpb24oZSl7cmV0dXJuIGV9KSk6bnVsbCE9ZSYmKHAoZSkmJihlPWZ1bmN0aW9uKGUsdCl7cmV0dXJueyQkdHlwZW9mOk0sdHlwZTplLnR5cGUsa2V5OnQscmVmOmUucmVmLHByb3BzOmUucHJvcHMsX293bmVyOmUuX293bmVyfX0oZSxyKyghZS5rZXl8fHQmJnQua2V5PT09ZS5rZXk/IiI6KCIiK2Uua2V5KS5yZXBsYWNlKFMsIiQmLyIpKyIvIikrbikpLGkucHVzaChlKSl9ZnVuY3Rpb24gWShlLHQsbixpLHIpe3ZhciBNPSIiO251bGwhPW4mJihNPSgiIituKS5yZXBsYWNlKFMsIiQmLyIpKyIvIiksYihlLFEsdD1PKHQsTSxpLHIpKSx2KHQpfXZhciBQPXtjdXJyZW50Om51bGx9O2Z1bmN0aW9uIFUoKXt2YXIgZT1QLmN1cnJlbnQ7aWYobnVsbD09PWUpdGhyb3cgRXJyb3IoRCgzMjEpKTtyZXR1cm4gZX12YXIgWj17UmVhY3RDdXJyZW50RGlzcGF0Y2hlcjpQLFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnOntzdXNwZW5zZTpudWxsfSxSZWFjdEN1cnJlbnRPd25lcjpMLElzU29tZVJlbmRlcmVyQWN0aW5nOntjdXJyZW50OiExfSxhc3NpZ246aX07dC5DaGlsZHJlbj17bWFwOmZ1bmN0aW9uKGUsdCxuKXtpZihudWxsPT1lKXJldHVybiBlO3ZhciBpPVtdO3JldHVybiBZKGUsaSxudWxsLHQsbiksaX0sZm9yRWFjaDpmdW5jdGlvbihlLHQsbil7aWYobnVsbD09ZSlyZXR1cm4gZTtiKGUsayx0PU8obnVsbCxudWxsLHQsbikpLHYodCl9LGNvdW50OmZ1bmN0aW9uKGUpe3JldHVybiBiKGUsKGZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9KSxudWxsKX0sdG9BcnJheTpmdW5jdGlvbihlKXt2YXIgdD1bXTtyZXR1cm4gWShlLHQsbnVsbCwoZnVuY3Rpb24oZSl7cmV0dXJuIGV9KSksdH0sb25seTpmdW5jdGlvbihlKXtpZighcChlKSl0aHJvdyBFcnJvcihEKDE0MykpO3JldHVybiBlfX0sdC5Db21wb25lbnQ9eSx0LkZyYWdtZW50PW8sdC5Qcm9maWxlcj1hLHQuUHVyZUNvbXBvbmVudD13LHQuU3RyaWN0TW9kZT1jLHQuU3VzcGVuc2U9aix0Ll9fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEPVosdC5jbG9uZUVsZW1lbnQ9ZnVuY3Rpb24oZSx0LG4pe2lmKG51bGw9PWUpdGhyb3cgRXJyb3IoRCgyNjcsZSkpO3ZhciByPWkoe30sZS5wcm9wcyksdT1lLmtleSxvPWUucmVmLGM9ZS5fb3duZXI7aWYobnVsbCE9dCl7aWYodm9pZCAwIT09dC5yZWYmJihvPXQucmVmLGM9TC5jdXJyZW50KSx2b2lkIDAhPT10LmtleSYmKHU9IiIrdC5rZXkpLGUudHlwZSYmZS50eXBlLmRlZmF1bHRQcm9wcyl2YXIgYT1lLnR5cGUuZGVmYXVsdFByb3BzO2ZvcihJIGluIHQpRS5jYWxsKHQsSSkmJiFDLmhhc093blByb3BlcnR5KEkpJiYocltJXT12b2lkIDA9PT10W0ldJiZ2b2lkIDAhPT1hP2FbSV06dFtJXSl9dmFyIEk9YXJndW1lbnRzLmxlbmd0aC0yO2lmKDE9PT1JKXIuY2hpbGRyZW49bjtlbHNlIGlmKDE8SSl7YT1BcnJheShJKTtmb3IodmFyIGw9MDtsPEk7bCsrKWFbbF09YXJndW1lbnRzW2wrMl07ci5jaGlsZHJlbj1hfXJldHVybnskJHR5cGVvZjpNLHR5cGU6ZS50eXBlLGtleTp1LHJlZjpvLHByb3BzOnIsX293bmVyOmN9fSx0LmNyZWF0ZUNvbnRleHQ9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdm9pZCAwPT09dCYmKHQ9bnVsbCksKGU9eyQkdHlwZW9mOmwsX2NhbGN1bGF0ZUNoYW5nZWRCaXRzOnQsX2N1cnJlbnRWYWx1ZTplLF9jdXJyZW50VmFsdWUyOmUsX3RocmVhZENvdW50OjAsUHJvdmlkZXI6bnVsbCxDb25zdW1lcjpudWxsfSkuUHJvdmlkZXI9eyQkdHlwZW9mOkksX2NvbnRleHQ6ZX0sZS5Db25zdW1lcj1lfSx0LmNyZWF0ZUVsZW1lbnQ9eCx0LmNyZWF0ZUZhY3Rvcnk9ZnVuY3Rpb24oZSl7dmFyIHQ9eC5iaW5kKG51bGwsZSk7cmV0dXJuIHQudHlwZT1lLHR9LHQuY3JlYXRlUmVmPWZ1bmN0aW9uKCl7cmV0dXJue2N1cnJlbnQ6bnVsbH19LHQuZm9yd2FyZFJlZj1mdW5jdGlvbihlKXtyZXR1cm57JCR0eXBlb2Y6TixyZW5kZXI6ZX19LHQuaXNWYWxpZEVsZW1lbnQ9cCx0Lmxhenk9ZnVuY3Rpb24oZSl7cmV0dXJueyQkdHlwZW9mOnMsX2N0b3I6ZSxfc3RhdHVzOi0xLF9yZXN1bHQ6bnVsbH19LHQubWVtbz1mdW5jdGlvbihlLHQpe3JldHVybnskJHR5cGVvZjpnLHR5cGU6ZSxjb21wYXJlOnZvaWQgMD09PXQ/bnVsbDp0fX0sdC51c2VDYWxsYmFjaz1mdW5jdGlvbihlLHQpe3JldHVybiBVKCkudXNlQ2FsbGJhY2soZSx0KX0sdC51c2VDb250ZXh0PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIFUoKS51c2VDb250ZXh0KGUsdCl9LHQudXNlRGVidWdWYWx1ZT1mdW5jdGlvbigpe30sdC51c2VFZmZlY3Q9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gVSgpLnVzZUVmZmVjdChlLHQpfSx0LnVzZUltcGVyYXRpdmVIYW5kbGU9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBVKCkudXNlSW1wZXJhdGl2ZUhhbmRsZShlLHQsbil9LHQudXNlTGF5b3V0RWZmZWN0PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIFUoKS51c2VMYXlvdXRFZmZlY3QoZSx0KX0sdC51c2VNZW1vPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIFUoKS51c2VNZW1vKGUsdCl9LHQudXNlUmVkdWNlcj1mdW5jdGlvbihlLHQsbil7cmV0dXJuIFUoKS51c2VSZWR1Y2VyKGUsdCxuKX0sdC51c2VSZWY9ZnVuY3Rpb24oZSl7cmV0dXJuIFUoKS51c2VSZWYoZSl9LHQudXNlU3RhdGU9ZnVuY3Rpb24oZSl7cmV0dXJuIFUoKS51c2VTdGF0ZShlKX0sdC52ZXJzaW9uPSIxNi4xNC4wIn0sZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjshZnVuY3Rpb24gZSgpe2lmKCJ1bmRlZmluZWQiIT10eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fJiYiZnVuY3Rpb24iPT10eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fLmNoZWNrRENFKXswO3RyeXtfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18uY2hlY2tEQ0UoZSl9Y2F0Y2goZSl7Y29uc29sZS5lcnJvcihlKX19fSgpLGUuZXhwb3J0cz1uKDI5KX0sZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjsKLyoqIEBsaWNlbnNlIFJlYWN0IHYxNi4xNC4wCiAqIHJlYWN0LWRvbS5wcm9kdWN0aW9uLm1pbi5qcwogKgogKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4KICoKICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlCiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4KICovdmFyIGk9bigxKSxyPW4oOSksTT1uKDMwKTtmdW5jdGlvbiB1KGUpe2Zvcih2YXIgdD0iaHR0cHM6Ly9yZWFjdGpzLm9yZy9kb2NzL2Vycm9yLWRlY29kZXIuaHRtbD9pbnZhcmlhbnQ9IitlLG49MTtuPGFyZ3VtZW50cy5sZW5ndGg7bisrKXQrPSImYXJnc1tdPSIrZW5jb2RlVVJJQ29tcG9uZW50KGFyZ3VtZW50c1tuXSk7cmV0dXJuIk1pbmlmaWVkIFJlYWN0IGVycm9yICMiK2UrIjsgdmlzaXQgIit0KyIgZm9yIHRoZSBmdWxsIG1lc3NhZ2Ugb3IgdXNlIHRoZSBub24tbWluaWZpZWQgZGV2IGVudmlyb25tZW50IGZvciBmdWxsIGVycm9ycyBhbmQgYWRkaXRpb25hbCBoZWxwZnVsIHdhcm5pbmdzLiJ9aWYoIWkpdGhyb3cgRXJyb3IodSgyMjcpKTtmdW5jdGlvbiBvKGUsdCxuLGkscixNLHUsbyxjKXt2YXIgYT1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsMyk7dHJ5e3QuYXBwbHkobixhKX1jYXRjaChlKXt0aGlzLm9uRXJyb3IoZSl9fXZhciBjPSExLGE9bnVsbCxJPSExLGw9bnVsbCxOPXtvbkVycm9yOmZ1bmN0aW9uKGUpe2M9ITAsYT1lfX07ZnVuY3Rpb24gaihlLHQsbixpLHIsTSx1LEksbCl7Yz0hMSxhPW51bGwsby5hcHBseShOLGFyZ3VtZW50cyl9dmFyIGc9bnVsbCxzPW51bGwsQT1udWxsO2Z1bmN0aW9uIEQoZSx0LG4pe3ZhciBpPWUudHlwZXx8InVua25vd24tZXZlbnQiO2UuY3VycmVudFRhcmdldD1BKG4pLGZ1bmN0aW9uKGUsdCxuLGkscixNLG8sTixnKXtpZihqLmFwcGx5KHRoaXMsYXJndW1lbnRzKSxjKXtpZighYyl0aHJvdyBFcnJvcih1KDE5OCkpO3ZhciBzPWE7Yz0hMSxhPW51bGwsSXx8KEk9ITAsbD1zKX19KGksdCx2b2lkIDAsZSksZS5jdXJyZW50VGFyZ2V0PW51bGx9dmFyIGQ9bnVsbCxUPXt9O2Z1bmN0aW9uIHkoKXtpZihkKWZvcih2YXIgZSBpbiBUKXt2YXIgdD1UW2VdLG49ZC5pbmRleE9mKGUpO2lmKCEoLTE8bikpdGhyb3cgRXJyb3IodSg5NixlKSk7aWYoIXdbbl0pe2lmKCF0LmV4dHJhY3RFdmVudHMpdGhyb3cgRXJyb3IodSg5NyxlKSk7Zm9yKHZhciBpIGluIHdbbl09dCxuPXQuZXZlbnRUeXBlcyl7dmFyIHI9dm9pZCAwLE09bltpXSxvPXQsYz1pO2lmKGYuaGFzT3duUHJvcGVydHkoYykpdGhyb3cgRXJyb3IodSg5OSxjKSk7ZltjXT1NO3ZhciBhPU0ucGhhc2VkUmVnaXN0cmF0aW9uTmFtZXM7aWYoYSl7Zm9yKHIgaW4gYSlhLmhhc093blByb3BlcnR5KHIpJiZ6KGFbcl0sbyxjKTtyPSEwfWVsc2UgTS5yZWdpc3RyYXRpb25OYW1lPyh6KE0ucmVnaXN0cmF0aW9uTmFtZSxvLGMpLHI9ITApOnI9ITE7aWYoIXIpdGhyb3cgRXJyb3IodSg5OCxpLGUpKX19fX1mdW5jdGlvbiB6KGUsdCxuKXtpZihMW2VdKXRocm93IEVycm9yKHUoMTAwLGUpKTtMW2VdPXQsRVtlXT10LmV2ZW50VHlwZXNbbl0uZGVwZW5kZW5jaWVzfXZhciB3PVtdLGY9e30sTD17fSxFPXt9O2Z1bmN0aW9uIEMoZSl7dmFyIHQsbj0hMTtmb3IodCBpbiBlKWlmKGUuaGFzT3duUHJvcGVydHkodCkpe3ZhciBpPWVbdF07aWYoIVQuaGFzT3duUHJvcGVydHkodCl8fFRbdF0hPT1pKXtpZihUW3RdKXRocm93IEVycm9yKHUoMTAyLHQpKTtUW3RdPWksbj0hMH19biYmeSgpfXZhciB4PSEoInVuZGVmaW5lZCI9PXR5cGVvZiB3aW5kb3d8fHZvaWQgMD09PXdpbmRvdy5kb2N1bWVudHx8dm9pZCAwPT09d2luZG93LmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQpLHA9bnVsbCxTPW51bGwsbT1udWxsO2Z1bmN0aW9uIE8oZSl7aWYoZT1zKGUpKXtpZigiZnVuY3Rpb24iIT10eXBlb2YgcCl0aHJvdyBFcnJvcih1KDI4MCkpO3ZhciB0PWUuc3RhdGVOb2RlO3QmJih0PWcodCkscChlLnN0YXRlTm9kZSxlLnR5cGUsdCkpfX1mdW5jdGlvbiB2KGUpe1M/bT9tLnB1c2goZSk6bT1bZV06Uz1lfWZ1bmN0aW9uIGIoKXtpZihTKXt2YXIgZT1TLHQ9bTtpZihtPVM9bnVsbCxPKGUpLHQpZm9yKGU9MDtlPHQubGVuZ3RoO2UrKylPKHRbZV0pfX1mdW5jdGlvbiBoKGUsdCl7cmV0dXJuIGUodCl9ZnVuY3Rpb24gayhlLHQsbixpLHIpe3JldHVybiBlKHQsbixpLHIpfWZ1bmN0aW9uIFEoKXt9dmFyIFk9aCxQPSExLFU9ITE7ZnVuY3Rpb24gWigpe251bGw9PT1TJiZudWxsPT09bXx8KFEoKSxiKCkpfWZ1bmN0aW9uIEcoZSx0LG4pe2lmKFUpcmV0dXJuIGUodCxuKTtVPSEwO3RyeXtyZXR1cm4gWShlLHQsbil9ZmluYWxseXtVPSExLFooKX19dmFyIEI9L15bOkEtWl9hLXpcdTAwQzAtXHUwMEQ2XHUwMEQ4LVx1MDBGNlx1MDBGOC1cdTAyRkZcdTAzNzAtXHUwMzdEXHUwMzdGLVx1MUZGRlx1MjAwQy1cdTIwMERcdTIwNzAtXHUyMThGXHUyQzAwLVx1MkZFRlx1MzAwMS1cdUQ3RkZcdUY5MDAtXHVGRENGXHVGREYwLVx1RkZGRF1bOkEtWl9hLXpcdTAwQzAtXHUwMEQ2XHUwMEQ4LVx1MDBGNlx1MDBGOC1cdTAyRkZcdTAzNzAtXHUwMzdEXHUwMzdGLVx1MUZGRlx1MjAwQy1cdTIwMERcdTIwNzAtXHUyMThGXHUyQzAwLVx1MkZFRlx1MzAwMS1cdUQ3RkZcdUY5MDAtXHVGRENGXHVGREYwLVx1RkZGRFwtLjAtOVx1MDBCN1x1MDMwMC1cdTAzNkZcdTIwM0YtXHUyMDQwXSokLyxSPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksVz17fSxIPXt9O2Z1bmN0aW9uIFYoZSx0LG4saSxyLE0pe3RoaXMuYWNjZXB0c0Jvb2xlYW5zPTI9PT10fHwzPT09dHx8ND09PXQsdGhpcy5hdHRyaWJ1dGVOYW1lPWksdGhpcy5hdHRyaWJ1dGVOYW1lc3BhY2U9cix0aGlzLm11c3RVc2VQcm9wZXJ0eT1uLHRoaXMucHJvcGVydHlOYW1lPWUsdGhpcy50eXBlPXQsdGhpcy5zYW5pdGl6ZVVSTD1NfXZhciBKPXt9OyJjaGlsZHJlbiBkYW5nZXJvdXNseVNldElubmVySFRNTCBkZWZhdWx0VmFsdWUgZGVmYXVsdENoZWNrZWQgaW5uZXJIVE1MIHN1cHByZXNzQ29udGVudEVkaXRhYmxlV2FybmluZyBzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmcgc3R5bGUiLnNwbGl0KCIgIikuZm9yRWFjaCgoZnVuY3Rpb24oZSl7SltlXT1uZXcgVihlLDAsITEsZSxudWxsLCExKX0pKSxbWyJhY2NlcHRDaGFyc2V0IiwiYWNjZXB0LWNoYXJzZXQiXSxbImNsYXNzTmFtZSIsImNsYXNzIl0sWyJodG1sRm9yIiwiZm9yIl0sWyJodHRwRXF1aXYiLCJodHRwLWVxdWl2Il1dLmZvckVhY2goKGZ1bmN0aW9uKGUpe3ZhciB0PWVbMF07Slt0XT1uZXcgVih0LDEsITEsZVsxXSxudWxsLCExKX0pKSxbImNvbnRlbnRFZGl0YWJsZSIsImRyYWdnYWJsZSIsInNwZWxsQ2hlY2siLCJ2YWx1ZSJdLmZvckVhY2goKGZ1bmN0aW9uKGUpe0pbZV09bmV3IFYoZSwyLCExLGUudG9Mb3dlckNhc2UoKSxudWxsLCExKX0pKSxbImF1dG9SZXZlcnNlIiwiZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCIsImZvY3VzYWJsZSIsInByZXNlcnZlQWxwaGEiXS5mb3JFYWNoKChmdW5jdGlvbihlKXtKW2VdPW5ldyBWKGUsMiwhMSxlLG51bGwsITEpfSkpLCJhbGxvd0Z1bGxTY3JlZW4gYXN5bmMgYXV0b0ZvY3VzIGF1dG9QbGF5IGNvbnRyb2xzIGRlZmF1bHQgZGVmZXIgZGlzYWJsZWQgZGlzYWJsZVBpY3R1cmVJblBpY3R1cmUgZm9ybU5vVmFsaWRhdGUgaGlkZGVuIGxvb3Agbm9Nb2R1bGUgbm9WYWxpZGF0ZSBvcGVuIHBsYXlzSW5saW5lIHJlYWRPbmx5IHJlcXVpcmVkIHJldmVyc2VkIHNjb3BlZCBzZWFtbGVzcyBpdGVtU2NvcGUiLnNwbGl0KCIgIikuZm9yRWFjaCgoZnVuY3Rpb24oZSl7SltlXT1uZXcgVihlLDMsITEsZS50b0xvd2VyQ2FzZSgpLG51bGwsITEpfSkpLFsiY2hlY2tlZCIsIm11bHRpcGxlIiwibXV0ZWQiLCJzZWxlY3RlZCJdLmZvckVhY2goKGZ1bmN0aW9uKGUpe0pbZV09bmV3IFYoZSwzLCEwLGUsbnVsbCwhMSl9KSksWyJjYXB0dXJlIiwiZG93bmxvYWQiXS5mb3JFYWNoKChmdW5jdGlvbihlKXtKW2VdPW5ldyBWKGUsNCwhMSxlLG51bGwsITEpfSkpLFsiY29scyIsInJvd3MiLCJzaXplIiwic3BhbiJdLmZvckVhY2goKGZ1bmN0aW9uKGUpe0pbZV09bmV3IFYoZSw2LCExLGUsbnVsbCwhMSl9KSksWyJyb3dTcGFuIiwic3RhcnQiXS5mb3JFYWNoKChmdW5jdGlvbihlKXtKW2VdPW5ldyBWKGUsNSwhMSxlLnRvTG93ZXJDYXNlKCksbnVsbCwhMSl9KSk7dmFyIEY9L1tcLTpdKFthLXpdKS9nO2Z1bmN0aW9uIFgoZSl7cmV0dXJuIGVbMV0udG9VcHBlckNhc2UoKX0iYWNjZW50LWhlaWdodCBhbGlnbm1lbnQtYmFzZWxpbmUgYXJhYmljLWZvcm0gYmFzZWxpbmUtc2hpZnQgY2FwLWhlaWdodCBjbGlwLXBhdGggY2xpcC1ydWxlIGNvbG9yLWludGVycG9sYXRpb24gY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzIGNvbG9yLXByb2ZpbGUgY29sb3ItcmVuZGVyaW5nIGRvbWluYW50LWJhc2VsaW5lIGVuYWJsZS1iYWNrZ3JvdW5kIGZpbGwtb3BhY2l0eSBmaWxsLXJ1bGUgZmxvb2QtY29sb3IgZmxvb2Qtb3BhY2l0eSBmb250LWZhbWlseSBmb250LXNpemUgZm9udC1zaXplLWFkanVzdCBmb250LXN0cmV0Y2ggZm9udC1zdHlsZSBmb250LXZhcmlhbnQgZm9udC13ZWlnaHQgZ2x5cGgtbmFtZSBnbHlwaC1vcmllbnRhdGlvbi1ob3Jpem9udGFsIGdseXBoLW9yaWVudGF0aW9uLXZlcnRpY2FsIGhvcml6LWFkdi14IGhvcml6LW9yaWdpbi14IGltYWdlLXJlbmRlcmluZyBsZXR0ZXItc3BhY2luZyBsaWdodGluZy1jb2xvciBtYXJrZXItZW5kIG1hcmtlci1taWQgbWFya2VyLXN0YXJ0IG92ZXJsaW5lLXBvc2l0aW9uIG92ZXJsaW5lLXRoaWNrbmVzcyBwYWludC1vcmRlciBwYW5vc2UtMSBwb2ludGVyLWV2ZW50cyByZW5kZXJpbmctaW50ZW50IHNoYXBlLXJlbmRlcmluZyBzdG9wLWNvbG9yIHN0b3Atb3BhY2l0eSBzdHJpa2V0aHJvdWdoLXBvc2l0aW9uIHN0cmlrZXRocm91Z2gtdGhpY2tuZXNzIHN0cm9rZS1kYXNoYXJyYXkgc3Ryb2tlLWRhc2hvZmZzZXQgc3Ryb2tlLWxpbmVjYXAgc3Ryb2tlLWxpbmVqb2luIHN0cm9rZS1taXRlcmxpbWl0IHN0cm9rZS1vcGFjaXR5IHN0cm9rZS13aWR0aCB0ZXh0LWFuY2hvciB0ZXh0LWRlY29yYXRpb24gdGV4dC1yZW5kZXJpbmcgdW5kZXJsaW5lLXBvc2l0aW9uIHVuZGVybGluZS10aGlja25lc3MgdW5pY29kZS1iaWRpIHVuaWNvZGUtcmFuZ2UgdW5pdHMtcGVyLWVtIHYtYWxwaGFiZXRpYyB2LWhhbmdpbmcgdi1pZGVvZ3JhcGhpYyB2LW1hdGhlbWF0aWNhbCB2ZWN0b3ItZWZmZWN0IHZlcnQtYWR2LXkgdmVydC1vcmlnaW4teCB2ZXJ0LW9yaWdpbi15IHdvcmQtc3BhY2luZyB3cml0aW5nLW1vZGUgeG1sbnM6eGxpbmsgeC1oZWlnaHQiLnNwbGl0KCIgIikuZm9yRWFjaCgoZnVuY3Rpb24oZSl7dmFyIHQ9ZS5yZXBsYWNlKEYsWCk7Slt0XT1uZXcgVih0LDEsITEsZSxudWxsLCExKX0pKSwieGxpbms6YWN0dWF0ZSB4bGluazphcmNyb2xlIHhsaW5rOnJvbGUgeGxpbms6c2hvdyB4bGluazp0aXRsZSB4bGluazp0eXBlIi5zcGxpdCgiICIpLmZvckVhY2goKGZ1bmN0aW9uKGUpe3ZhciB0PWUucmVwbGFjZShGLFgpO0pbdF09bmV3IFYodCwxLCExLGUsImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiLCExKX0pKSxbInhtbDpiYXNlIiwieG1sOmxhbmciLCJ4bWw6c3BhY2UiXS5mb3JFYWNoKChmdW5jdGlvbihlKXt2YXIgdD1lLnJlcGxhY2UoRixYKTtKW3RdPW5ldyBWKHQsMSwhMSxlLCJodHRwOi8vd3d3LnczLm9yZy9YTUwvMTk5OC9uYW1lc3BhY2UiLCExKX0pKSxbInRhYkluZGV4IiwiY3Jvc3NPcmlnaW4iXS5mb3JFYWNoKChmdW5jdGlvbihlKXtKW2VdPW5ldyBWKGUsMSwhMSxlLnRvTG93ZXJDYXNlKCksbnVsbCwhMSl9KSksSi54bGlua0hyZWY9bmV3IFYoInhsaW5rSHJlZiIsMSwhMSwieGxpbms6aHJlZiIsImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiLCEwKSxbInNyYyIsImhyZWYiLCJhY3Rpb24iLCJmb3JtQWN0aW9uIl0uZm9yRWFjaCgoZnVuY3Rpb24oZSl7SltlXT1uZXcgVihlLDEsITEsZS50b0xvd2VyQ2FzZSgpLG51bGwsITApfSkpO3ZhciBLPWkuX19TRUNSRVRfSU5URVJOQUxTX0RPX05PVF9VU0VfT1JfWU9VX1dJTExfQkVfRklSRUQ7ZnVuY3Rpb24gcShlLHQsbixpKXt2YXIgcj1KLmhhc093blByb3BlcnR5KHQpP0pbdF06bnVsbDsobnVsbCE9PXI/MD09PXIudHlwZTohaSYmKDI8dC5sZW5ndGgmJigibyI9PT10WzBdfHwiTyI9PT10WzBdKSYmKCJuIj09PXRbMV18fCJOIj09PXRbMV0pKSl8fChmdW5jdGlvbihlLHQsbixpKXtpZihudWxsPT10fHxmdW5jdGlvbihlLHQsbixpKXtpZihudWxsIT09biYmMD09PW4udHlwZSlyZXR1cm4hMTtzd2l0Y2godHlwZW9mIHQpe2Nhc2UiZnVuY3Rpb24iOmNhc2Uic3ltYm9sIjpyZXR1cm4hMDtjYXNlImJvb2xlYW4iOnJldHVybiFpJiYobnVsbCE9PW4/IW4uYWNjZXB0c0Jvb2xlYW5zOiJkYXRhLSIhPT0oZT1lLnRvTG93ZXJDYXNlKCkuc2xpY2UoMCw1KSkmJiJhcmlhLSIhPT1lKTtkZWZhdWx0OnJldHVybiExfX0oZSx0LG4saSkpcmV0dXJuITA7aWYoaSlyZXR1cm4hMTtpZihudWxsIT09bilzd2l0Y2gobi50eXBlKXtjYXNlIDM6cmV0dXJuIXQ7Y2FzZSA0OnJldHVybiExPT09dDtjYXNlIDU6cmV0dXJuIGlzTmFOKHQpO2Nhc2UgNjpyZXR1cm4gaXNOYU4odCl8fDE+dH1yZXR1cm4hMX0odCxuLHIsaSkmJihuPW51bGwpLGl8fG51bGw9PT1yP2Z1bmN0aW9uKGUpe3JldHVybiEhUi5jYWxsKEgsZSl8fCFSLmNhbGwoVyxlKSYmKEIudGVzdChlKT9IW2VdPSEwOihXW2VdPSEwLCExKSl9KHQpJiYobnVsbD09PW4/ZS5yZW1vdmVBdHRyaWJ1dGUodCk6ZS5zZXRBdHRyaWJ1dGUodCwiIituKSk6ci5tdXN0VXNlUHJvcGVydHk/ZVtyLnByb3BlcnR5TmFtZV09bnVsbD09PW4/MyE9PXIudHlwZSYmIiI6bjoodD1yLmF0dHJpYnV0ZU5hbWUsaT1yLmF0dHJpYnV0ZU5hbWVzcGFjZSxudWxsPT09bj9lLnJlbW92ZUF0dHJpYnV0ZSh0KToobj0zPT09KHI9ci50eXBlKXx8ND09PXImJiEwPT09bj8iIjoiIituLGk/ZS5zZXRBdHRyaWJ1dGVOUyhpLHQsbik6ZS5zZXRBdHRyaWJ1dGUodCxuKSkpKX1LLmhhc093blByb3BlcnR5KCJSZWFjdEN1cnJlbnREaXNwYXRjaGVyIil8fChLLlJlYWN0Q3VycmVudERpc3BhdGNoZXI9e2N1cnJlbnQ6bnVsbH0pLEsuaGFzT3duUHJvcGVydHkoIlJlYWN0Q3VycmVudEJhdGNoQ29uZmlnIil8fChLLlJlYWN0Q3VycmVudEJhdGNoQ29uZmlnPXtzdXNwZW5zZTpudWxsfSk7dmFyIF89L14oLiopW1xcXC9dLywkPSJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJlN5bWJvbC5mb3IsZWU9JD9TeW1ib2wuZm9yKCJyZWFjdC5lbGVtZW50Iik6NjAxMDMsdGU9JD9TeW1ib2wuZm9yKCJyZWFjdC5wb3J0YWwiKTo2MDEwNixuZT0kP1N5bWJvbC5mb3IoInJlYWN0LmZyYWdtZW50Iik6NjAxMDcsaWU9JD9TeW1ib2wuZm9yKCJyZWFjdC5zdHJpY3RfbW9kZSIpOjYwMTA4LHJlPSQ/U3ltYm9sLmZvcigicmVhY3QucHJvZmlsZXIiKTo2MDExNCxNZT0kP1N5bWJvbC5mb3IoInJlYWN0LnByb3ZpZGVyIik6NjAxMDksdWU9JD9TeW1ib2wuZm9yKCJyZWFjdC5jb250ZXh0Iik6NjAxMTAsb2U9JD9TeW1ib2wuZm9yKCJyZWFjdC5jb25jdXJyZW50X21vZGUiKTo2MDExMSxjZT0kP1N5bWJvbC5mb3IoInJlYWN0LmZvcndhcmRfcmVmIik6NjAxMTIsYWU9JD9TeW1ib2wuZm9yKCJyZWFjdC5zdXNwZW5zZSIpOjYwMTEzLEllPSQ/U3ltYm9sLmZvcigicmVhY3Quc3VzcGVuc2VfbGlzdCIpOjYwMTIwLGxlPSQ/U3ltYm9sLmZvcigicmVhY3QubWVtbyIpOjYwMTE1LE5lPSQ/U3ltYm9sLmZvcigicmVhY3QubGF6eSIpOjYwMTE2LGplPSQ/U3ltYm9sLmZvcigicmVhY3QuYmxvY2siKTo2MDEyMSxnZT0iZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiZTeW1ib2wuaXRlcmF0b3I7ZnVuY3Rpb24gc2UoZSl7cmV0dXJuIG51bGw9PT1lfHwib2JqZWN0IiE9dHlwZW9mIGU/bnVsbDoiZnVuY3Rpb24iPT10eXBlb2YoZT1nZSYmZVtnZV18fGVbIkBAaXRlcmF0b3IiXSk/ZTpudWxsfWZ1bmN0aW9uIEFlKGUpe2lmKG51bGw9PWUpcmV0dXJuIG51bGw7aWYoImZ1bmN0aW9uIj09dHlwZW9mIGUpcmV0dXJuIGUuZGlzcGxheU5hbWV8fGUubmFtZXx8bnVsbDtpZigic3RyaW5nIj09dHlwZW9mIGUpcmV0dXJuIGU7c3dpdGNoKGUpe2Nhc2UgbmU6cmV0dXJuIkZyYWdtZW50IjtjYXNlIHRlOnJldHVybiJQb3J0YWwiO2Nhc2UgcmU6cmV0dXJuIlByb2ZpbGVyIjtjYXNlIGllOnJldHVybiJTdHJpY3RNb2RlIjtjYXNlIGFlOnJldHVybiJTdXNwZW5zZSI7Y2FzZSBJZTpyZXR1cm4iU3VzcGVuc2VMaXN0In1pZigib2JqZWN0Ij09dHlwZW9mIGUpc3dpdGNoKGUuJCR0eXBlb2Ype2Nhc2UgdWU6cmV0dXJuIkNvbnRleHQuQ29uc3VtZXIiO2Nhc2UgTWU6cmV0dXJuIkNvbnRleHQuUHJvdmlkZXIiO2Nhc2UgY2U6dmFyIHQ9ZS5yZW5kZXI7cmV0dXJuIHQ9dC5kaXNwbGF5TmFtZXx8dC5uYW1lfHwiIixlLmRpc3BsYXlOYW1lfHwoIiIhPT10PyJGb3J3YXJkUmVmKCIrdCsiKSI6IkZvcndhcmRSZWYiKTtjYXNlIGxlOnJldHVybiBBZShlLnR5cGUpO2Nhc2UgamU6cmV0dXJuIEFlKGUucmVuZGVyKTtjYXNlIE5lOmlmKGU9MT09PWUuX3N0YXR1cz9lLl9yZXN1bHQ6bnVsbClyZXR1cm4gQWUoZSl9cmV0dXJuIG51bGx9ZnVuY3Rpb24gRGUoZSl7dmFyIHQ9IiI7ZG97ZTpzd2l0Y2goZS50YWcpe2Nhc2UgMzpjYXNlIDQ6Y2FzZSA2OmNhc2UgNzpjYXNlIDEwOmNhc2UgOTp2YXIgbj0iIjticmVhayBlO2RlZmF1bHQ6dmFyIGk9ZS5fZGVidWdPd25lcixyPWUuX2RlYnVnU291cmNlLE09QWUoZS50eXBlKTtuPW51bGwsaSYmKG49QWUoaS50eXBlKSksaT1NLE09IiIscj9NPSIgKGF0ICIrci5maWxlTmFtZS5yZXBsYWNlKF8sIiIpKyI6IityLmxpbmVOdW1iZXIrIikiOm4mJihNPSIgKGNyZWF0ZWQgYnkgIituKyIpIiksbj0iXG4gICAgaW4gIisoaXx8IlVua25vd24iKStNfXQrPW4sZT1lLnJldHVybn13aGlsZShlKTtyZXR1cm4gdH1mdW5jdGlvbiBkZShlKXtzd2l0Y2godHlwZW9mIGUpe2Nhc2UiYm9vbGVhbiI6Y2FzZSJudW1iZXIiOmNhc2Uib2JqZWN0IjpjYXNlInN0cmluZyI6Y2FzZSJ1bmRlZmluZWQiOnJldHVybiBlO2RlZmF1bHQ6cmV0dXJuIiJ9fWZ1bmN0aW9uIFRlKGUpe3ZhciB0PWUudHlwZTtyZXR1cm4oZT1lLm5vZGVOYW1lKSYmImlucHV0Ij09PWUudG9Mb3dlckNhc2UoKSYmKCJjaGVja2JveCI9PT10fHwicmFkaW8iPT09dCl9ZnVuY3Rpb24geWUoZSl7ZS5fdmFsdWVUcmFja2VyfHwoZS5fdmFsdWVUcmFja2VyPWZ1bmN0aW9uKGUpe3ZhciB0PVRlKGUpPyJjaGVja2VkIjoidmFsdWUiLG49T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLmNvbnN0cnVjdG9yLnByb3RvdHlwZSx0KSxpPSIiK2VbdF07aWYoIWUuaGFzT3duUHJvcGVydHkodCkmJnZvaWQgMCE9PW4mJiJmdW5jdGlvbiI9PXR5cGVvZiBuLmdldCYmImZ1bmN0aW9uIj09dHlwZW9mIG4uc2V0KXt2YXIgcj1uLmdldCxNPW4uc2V0O3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0LHtjb25maWd1cmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHIuY2FsbCh0aGlzKX0sc2V0OmZ1bmN0aW9uKGUpe2k9IiIrZSxNLmNhbGwodGhpcyxlKX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0LHtlbnVtZXJhYmxlOm4uZW51bWVyYWJsZX0pLHtnZXRWYWx1ZTpmdW5jdGlvbigpe3JldHVybiBpfSxzZXRWYWx1ZTpmdW5jdGlvbihlKXtpPSIiK2V9LHN0b3BUcmFja2luZzpmdW5jdGlvbigpe2UuX3ZhbHVlVHJhY2tlcj1udWxsLGRlbGV0ZSBlW3RdfX19fShlKSl9ZnVuY3Rpb24gemUoZSl7aWYoIWUpcmV0dXJuITE7dmFyIHQ9ZS5fdmFsdWVUcmFja2VyO2lmKCF0KXJldHVybiEwO3ZhciBuPXQuZ2V0VmFsdWUoKSxpPSIiO3JldHVybiBlJiYoaT1UZShlKT9lLmNoZWNrZWQ/InRydWUiOiJmYWxzZSI6ZS52YWx1ZSksKGU9aSkhPT1uJiYodC5zZXRWYWx1ZShlKSwhMCl9ZnVuY3Rpb24gd2UoZSx0KXt2YXIgbj10LmNoZWNrZWQ7cmV0dXJuIHIoe30sdCx7ZGVmYXVsdENoZWNrZWQ6dm9pZCAwLGRlZmF1bHRWYWx1ZTp2b2lkIDAsdmFsdWU6dm9pZCAwLGNoZWNrZWQ6bnVsbCE9bj9uOmUuX3dyYXBwZXJTdGF0ZS5pbml0aWFsQ2hlY2tlZH0pfWZ1bmN0aW9uIGZlKGUsdCl7dmFyIG49bnVsbD09dC5kZWZhdWx0VmFsdWU/IiI6dC5kZWZhdWx0VmFsdWUsaT1udWxsIT10LmNoZWNrZWQ/dC5jaGVja2VkOnQuZGVmYXVsdENoZWNrZWQ7bj1kZShudWxsIT10LnZhbHVlP3QudmFsdWU6biksZS5fd3JhcHBlclN0YXRlPXtpbml0aWFsQ2hlY2tlZDppLGluaXRpYWxWYWx1ZTpuLGNvbnRyb2xsZWQ6ImNoZWNrYm94Ij09PXQudHlwZXx8InJhZGlvIj09PXQudHlwZT9udWxsIT10LmNoZWNrZWQ6bnVsbCE9dC52YWx1ZX19ZnVuY3Rpb24gTGUoZSx0KXtudWxsIT0odD10LmNoZWNrZWQpJiZxKGUsImNoZWNrZWQiLHQsITEpfWZ1bmN0aW9uIEVlKGUsdCl7TGUoZSx0KTt2YXIgbj1kZSh0LnZhbHVlKSxpPXQudHlwZTtpZihudWxsIT1uKSJudW1iZXIiPT09aT8oMD09PW4mJiIiPT09ZS52YWx1ZXx8ZS52YWx1ZSE9bikmJihlLnZhbHVlPSIiK24pOmUudmFsdWUhPT0iIituJiYoZS52YWx1ZT0iIituKTtlbHNlIGlmKCJzdWJtaXQiPT09aXx8InJlc2V0Ij09PWkpcmV0dXJuIHZvaWQgZS5yZW1vdmVBdHRyaWJ1dGUoInZhbHVlIik7dC5oYXNPd25Qcm9wZXJ0eSgidmFsdWUiKT94ZShlLHQudHlwZSxuKTp0Lmhhc093blByb3BlcnR5KCJkZWZhdWx0VmFsdWUiKSYmeGUoZSx0LnR5cGUsZGUodC5kZWZhdWx0VmFsdWUpKSxudWxsPT10LmNoZWNrZWQmJm51bGwhPXQuZGVmYXVsdENoZWNrZWQmJihlLmRlZmF1bHRDaGVja2VkPSEhdC5kZWZhdWx0Q2hlY2tlZCl9ZnVuY3Rpb24gQ2UoZSx0LG4pe2lmKHQuaGFzT3duUHJvcGVydHkoInZhbHVlIil8fHQuaGFzT3duUHJvcGVydHkoImRlZmF1bHRWYWx1ZSIpKXt2YXIgaT10LnR5cGU7aWYoISgic3VibWl0IiE9PWkmJiJyZXNldCIhPT1pfHx2b2lkIDAhPT10LnZhbHVlJiZudWxsIT09dC52YWx1ZSkpcmV0dXJuO3Q9IiIrZS5fd3JhcHBlclN0YXRlLmluaXRpYWxWYWx1ZSxufHx0PT09ZS52YWx1ZXx8KGUudmFsdWU9dCksZS5kZWZhdWx0VmFsdWU9dH0iIiE9PShuPWUubmFtZSkmJihlLm5hbWU9IiIpLGUuZGVmYXVsdENoZWNrZWQ9ISFlLl93cmFwcGVyU3RhdGUuaW5pdGlhbENoZWNrZWQsIiIhPT1uJiYoZS5uYW1lPW4pfWZ1bmN0aW9uIHhlKGUsdCxuKXsibnVtYmVyIj09PXQmJmUub3duZXJEb2N1bWVudC5hY3RpdmVFbGVtZW50PT09ZXx8KG51bGw9PW4/ZS5kZWZhdWx0VmFsdWU9IiIrZS5fd3JhcHBlclN0YXRlLmluaXRpYWxWYWx1ZTplLmRlZmF1bHRWYWx1ZSE9PSIiK24mJihlLmRlZmF1bHRWYWx1ZT0iIituKSl9ZnVuY3Rpb24gcGUoZSx0KXtyZXR1cm4gZT1yKHtjaGlsZHJlbjp2b2lkIDB9LHQpLCh0PWZ1bmN0aW9uKGUpe3ZhciB0PSIiO3JldHVybiBpLkNoaWxkcmVuLmZvckVhY2goZSwoZnVuY3Rpb24oZSl7bnVsbCE9ZSYmKHQrPWUpfSkpLHR9KHQuY2hpbGRyZW4pKSYmKGUuY2hpbGRyZW49dCksZX1mdW5jdGlvbiBTZShlLHQsbixpKXtpZihlPWUub3B0aW9ucyx0KXt0PXt9O2Zvcih2YXIgcj0wO3I8bi5sZW5ndGg7cisrKXRbIiQiK25bcl1dPSEwO2ZvcihuPTA7bjxlLmxlbmd0aDtuKyspcj10Lmhhc093blByb3BlcnR5KCIkIitlW25dLnZhbHVlKSxlW25dLnNlbGVjdGVkIT09ciYmKGVbbl0uc2VsZWN0ZWQ9ciksciYmaSYmKGVbbl0uZGVmYXVsdFNlbGVjdGVkPSEwKX1lbHNle2ZvcihuPSIiK2RlKG4pLHQ9bnVsbCxyPTA7cjxlLmxlbmd0aDtyKyspe2lmKGVbcl0udmFsdWU9PT1uKXJldHVybiBlW3JdLnNlbGVjdGVkPSEwLHZvaWQoaSYmKGVbcl0uZGVmYXVsdFNlbGVjdGVkPSEwKSk7bnVsbCE9PXR8fGVbcl0uZGlzYWJsZWR8fCh0PWVbcl0pfW51bGwhPT10JiYodC5zZWxlY3RlZD0hMCl9fWZ1bmN0aW9uIG1lKGUsdCl7aWYobnVsbCE9dC5kYW5nZXJvdXNseVNldElubmVySFRNTCl0aHJvdyBFcnJvcih1KDkxKSk7cmV0dXJuIHIoe30sdCx7dmFsdWU6dm9pZCAwLGRlZmF1bHRWYWx1ZTp2b2lkIDAsY2hpbGRyZW46IiIrZS5fd3JhcHBlclN0YXRlLmluaXRpYWxWYWx1ZX0pfWZ1bmN0aW9uIE9lKGUsdCl7dmFyIG49dC52YWx1ZTtpZihudWxsPT1uKXtpZihuPXQuY2hpbGRyZW4sdD10LmRlZmF1bHRWYWx1ZSxudWxsIT1uKXtpZihudWxsIT10KXRocm93IEVycm9yKHUoOTIpKTtpZihBcnJheS5pc0FycmF5KG4pKXtpZighKDE+PW4ubGVuZ3RoKSl0aHJvdyBFcnJvcih1KDkzKSk7bj1uWzBdfXQ9bn1udWxsPT10JiYodD0iIiksbj10fWUuX3dyYXBwZXJTdGF0ZT17aW5pdGlhbFZhbHVlOmRlKG4pfX1mdW5jdGlvbiB2ZShlLHQpe3ZhciBuPWRlKHQudmFsdWUpLGk9ZGUodC5kZWZhdWx0VmFsdWUpO251bGwhPW4mJigobj0iIituKSE9PWUudmFsdWUmJihlLnZhbHVlPW4pLG51bGw9PXQuZGVmYXVsdFZhbHVlJiZlLmRlZmF1bHRWYWx1ZSE9PW4mJihlLmRlZmF1bHRWYWx1ZT1uKSksbnVsbCE9aSYmKGUuZGVmYXVsdFZhbHVlPSIiK2kpfWZ1bmN0aW9uIGJlKGUpe3ZhciB0PWUudGV4dENvbnRlbnQ7dD09PWUuX3dyYXBwZXJTdGF0ZS5pbml0aWFsVmFsdWUmJiIiIT09dCYmbnVsbCE9PXQmJihlLnZhbHVlPXQpfXZhciBoZT0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIsa2U9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIjtmdW5jdGlvbiBRZShlKXtzd2l0Y2goZSl7Y2FzZSJzdmciOnJldHVybiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI7Y2FzZSJtYXRoIjpyZXR1cm4iaHR0cDovL3d3dy53My5vcmcvMTk5OC9NYXRoL01hdGhNTCI7ZGVmYXVsdDpyZXR1cm4iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCJ9fWZ1bmN0aW9uIFllKGUsdCl7cmV0dXJuIG51bGw9PWV8fCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj09PWU/UWUodCk6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj09PWUmJiJmb3JlaWduT2JqZWN0Ij09PXQ/Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiOmV9dmFyIFBlLFVlPWZ1bmN0aW9uKGUpe3JldHVybiJ1bmRlZmluZWQiIT10eXBlb2YgTVNBcHAmJk1TQXBwLmV4ZWNVbnNhZmVMb2NhbEZ1bmN0aW9uP2Z1bmN0aW9uKHQsbixpLHIpe01TQXBwLmV4ZWNVbnNhZmVMb2NhbEZ1bmN0aW9uKChmdW5jdGlvbigpe3JldHVybiBlKHQsbil9KSl9OmV9KChmdW5jdGlvbihlLHQpe2lmKGUubmFtZXNwYWNlVVJJIT09a2V8fCJpbm5lckhUTUwiaW4gZSllLmlubmVySFRNTD10O2Vsc2V7Zm9yKChQZT1QZXx8ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IikpLmlubmVySFRNTD0iPHN2Zz4iK3QudmFsdWVPZigpLnRvU3RyaW5nKCkrIjwvc3ZnPiIsdD1QZS5maXJzdENoaWxkO2UuZmlyc3RDaGlsZDspZS5yZW1vdmVDaGlsZChlLmZpcnN0Q2hpbGQpO2Zvcig7dC5maXJzdENoaWxkOyllLmFwcGVuZENoaWxkKHQuZmlyc3RDaGlsZCl9fSkpO2Z1bmN0aW9uIFplKGUsdCl7aWYodCl7dmFyIG49ZS5maXJzdENoaWxkO2lmKG4mJm49PT1lLmxhc3RDaGlsZCYmMz09PW4ubm9kZVR5cGUpcmV0dXJuIHZvaWQobi5ub2RlVmFsdWU9dCl9ZS50ZXh0Q29udGVudD10fWZ1bmN0aW9uIEdlKGUsdCl7dmFyIG49e307cmV0dXJuIG5bZS50b0xvd2VyQ2FzZSgpXT10LnRvTG93ZXJDYXNlKCksblsiV2Via2l0IitlXT0id2Via2l0Iit0LG5bIk1veiIrZV09Im1veiIrdCxufXZhciBCZT17YW5pbWF0aW9uZW5kOkdlKCJBbmltYXRpb24iLCJBbmltYXRpb25FbmQiKSxhbmltYXRpb25pdGVyYXRpb246R2UoIkFuaW1hdGlvbiIsIkFuaW1hdGlvbkl0ZXJhdGlvbiIpLGFuaW1hdGlvbnN0YXJ0OkdlKCJBbmltYXRpb24iLCJBbmltYXRpb25TdGFydCIpLHRyYW5zaXRpb25lbmQ6R2UoIlRyYW5zaXRpb24iLCJUcmFuc2l0aW9uRW5kIil9LFJlPXt9LFdlPXt9O2Z1bmN0aW9uIEhlKGUpe2lmKFJlW2VdKXJldHVybiBSZVtlXTtpZighQmVbZV0pcmV0dXJuIGU7dmFyIHQsbj1CZVtlXTtmb3IodCBpbiBuKWlmKG4uaGFzT3duUHJvcGVydHkodCkmJnQgaW4gV2UpcmV0dXJuIFJlW2VdPW5bdF07cmV0dXJuIGV9eCYmKFdlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLnN0eWxlLCJBbmltYXRpb25FdmVudCJpbiB3aW5kb3d8fChkZWxldGUgQmUuYW5pbWF0aW9uZW5kLmFuaW1hdGlvbixkZWxldGUgQmUuYW5pbWF0aW9uaXRlcmF0aW9uLmFuaW1hdGlvbixkZWxldGUgQmUuYW5pbWF0aW9uc3RhcnQuYW5pbWF0aW9uKSwiVHJhbnNpdGlvbkV2ZW50ImluIHdpbmRvd3x8ZGVsZXRlIEJlLnRyYW5zaXRpb25lbmQudHJhbnNpdGlvbik7dmFyIFZlPUhlKCJhbmltYXRpb25lbmQiKSxKZT1IZSgiYW5pbWF0aW9uaXRlcmF0aW9uIiksRmU9SGUoImFuaW1hdGlvbnN0YXJ0IiksWGU9SGUoInRyYW5zaXRpb25lbmQiKSxLZT0iYWJvcnQgY2FucGxheSBjYW5wbGF5dGhyb3VnaCBkdXJhdGlvbmNoYW5nZSBlbXB0aWVkIGVuY3J5cHRlZCBlbmRlZCBlcnJvciBsb2FkZWRkYXRhIGxvYWRlZG1ldGFkYXRhIGxvYWRzdGFydCBwYXVzZSBwbGF5IHBsYXlpbmcgcHJvZ3Jlc3MgcmF0ZWNoYW5nZSBzZWVrZWQgc2Vla2luZyBzdGFsbGVkIHN1c3BlbmQgdGltZXVwZGF0ZSB2b2x1bWVjaGFuZ2Ugd2FpdGluZyIuc3BsaXQoIiAiKSxxZT1uZXcoImZ1bmN0aW9uIj09dHlwZW9mIFdlYWtNYXA/V2Vha01hcDpNYXApO2Z1bmN0aW9uIF9lKGUpe3ZhciB0PXFlLmdldChlKTtyZXR1cm4gdm9pZCAwPT09dCYmKHQ9bmV3IE1hcCxxZS5zZXQoZSx0KSksdH1mdW5jdGlvbiAkZShlKXt2YXIgdD1lLG49ZTtpZihlLmFsdGVybmF0ZSlmb3IoO3QucmV0dXJuOyl0PXQucmV0dXJuO2Vsc2V7ZT10O2RvezAhPSgxMDI2Jih0PWUpLmVmZmVjdFRhZykmJihuPXQucmV0dXJuKSxlPXQucmV0dXJufXdoaWxlKGUpfXJldHVybiAzPT09dC50YWc/bjpudWxsfWZ1bmN0aW9uIGV0KGUpe2lmKDEzPT09ZS50YWcpe3ZhciB0PWUubWVtb2l6ZWRTdGF0ZTtpZihudWxsPT09dCYmKG51bGwhPT0oZT1lLmFsdGVybmF0ZSkmJih0PWUubWVtb2l6ZWRTdGF0ZSkpLG51bGwhPT10KXJldHVybiB0LmRlaHlkcmF0ZWR9cmV0dXJuIG51bGx9ZnVuY3Rpb24gdHQoZSl7aWYoJGUoZSkhPT1lKXRocm93IEVycm9yKHUoMTg4KSl9ZnVuY3Rpb24gbnQoZSl7aWYoIShlPWZ1bmN0aW9uKGUpe3ZhciB0PWUuYWx0ZXJuYXRlO2lmKCF0KXtpZihudWxsPT09KHQ9JGUoZSkpKXRocm93IEVycm9yKHUoMTg4KSk7cmV0dXJuIHQhPT1lP251bGw6ZX1mb3IodmFyIG49ZSxpPXQ7Oyl7dmFyIHI9bi5yZXR1cm47aWYobnVsbD09PXIpYnJlYWs7dmFyIE09ci5hbHRlcm5hdGU7aWYobnVsbD09PU0pe2lmKG51bGwhPT0oaT1yLnJldHVybikpe249aTtjb250aW51ZX1icmVha31pZihyLmNoaWxkPT09TS5jaGlsZCl7Zm9yKE09ci5jaGlsZDtNOyl7aWYoTT09PW4pcmV0dXJuIHR0KHIpLGU7aWYoTT09PWkpcmV0dXJuIHR0KHIpLHQ7TT1NLnNpYmxpbmd9dGhyb3cgRXJyb3IodSgxODgpKX1pZihuLnJldHVybiE9PWkucmV0dXJuKW49cixpPU07ZWxzZXtmb3IodmFyIG89ITEsYz1yLmNoaWxkO2M7KXtpZihjPT09bil7bz0hMCxuPXIsaT1NO2JyZWFrfWlmKGM9PT1pKXtvPSEwLGk9cixuPU07YnJlYWt9Yz1jLnNpYmxpbmd9aWYoIW8pe2ZvcihjPU0uY2hpbGQ7Yzspe2lmKGM9PT1uKXtvPSEwLG49TSxpPXI7YnJlYWt9aWYoYz09PWkpe289ITAsaT1NLG49cjticmVha31jPWMuc2libGluZ31pZighbyl0aHJvdyBFcnJvcih1KDE4OSkpfX1pZihuLmFsdGVybmF0ZSE9PWkpdGhyb3cgRXJyb3IodSgxOTApKX1pZigzIT09bi50YWcpdGhyb3cgRXJyb3IodSgxODgpKTtyZXR1cm4gbi5zdGF0ZU5vZGUuY3VycmVudD09PW4/ZTp0fShlKSkpcmV0dXJuIG51bGw7Zm9yKHZhciB0PWU7Oyl7aWYoNT09PXQudGFnfHw2PT09dC50YWcpcmV0dXJuIHQ7aWYodC5jaGlsZCl0LmNoaWxkLnJldHVybj10LHQ9dC5jaGlsZDtlbHNle2lmKHQ9PT1lKWJyZWFrO2Zvcig7IXQuc2libGluZzspe2lmKCF0LnJldHVybnx8dC5yZXR1cm49PT1lKXJldHVybiBudWxsO3Q9dC5yZXR1cm59dC5zaWJsaW5nLnJldHVybj10LnJldHVybix0PXQuc2libGluZ319cmV0dXJuIG51bGx9ZnVuY3Rpb24gaXQoZSx0KXtpZihudWxsPT10KXRocm93IEVycm9yKHUoMzApKTtyZXR1cm4gbnVsbD09ZT90OkFycmF5LmlzQXJyYXkoZSk/QXJyYXkuaXNBcnJheSh0KT8oZS5wdXNoLmFwcGx5KGUsdCksZSk6KGUucHVzaCh0KSxlKTpBcnJheS5pc0FycmF5KHQpP1tlXS5jb25jYXQodCk6W2UsdF19ZnVuY3Rpb24gcnQoZSx0LG4pe0FycmF5LmlzQXJyYXkoZSk/ZS5mb3JFYWNoKHQsbik6ZSYmdC5jYWxsKG4sZSl9dmFyIE10PW51bGw7ZnVuY3Rpb24gdXQoZSl7aWYoZSl7dmFyIHQ9ZS5fZGlzcGF0Y2hMaXN0ZW5lcnMsbj1lLl9kaXNwYXRjaEluc3RhbmNlcztpZihBcnJheS5pc0FycmF5KHQpKWZvcih2YXIgaT0wO2k8dC5sZW5ndGgmJiFlLmlzUHJvcGFnYXRpb25TdG9wcGVkKCk7aSsrKUQoZSx0W2ldLG5baV0pO2Vsc2UgdCYmRChlLHQsbik7ZS5fZGlzcGF0Y2hMaXN0ZW5lcnM9bnVsbCxlLl9kaXNwYXRjaEluc3RhbmNlcz1udWxsLGUuaXNQZXJzaXN0ZW50KCl8fGUuY29uc3RydWN0b3IucmVsZWFzZShlKX19ZnVuY3Rpb24gb3QoZSl7aWYobnVsbCE9PWUmJihNdD1pdChNdCxlKSksZT1NdCxNdD1udWxsLGUpe2lmKHJ0KGUsdXQpLE10KXRocm93IEVycm9yKHUoOTUpKTtpZihJKXRocm93IGU9bCxJPSExLGw9bnVsbCxlfX1mdW5jdGlvbiBjdChlKXtyZXR1cm4oZT1lLnRhcmdldHx8ZS5zcmNFbGVtZW50fHx3aW5kb3cpLmNvcnJlc3BvbmRpbmdVc2VFbGVtZW50JiYoZT1lLmNvcnJlc3BvbmRpbmdVc2VFbGVtZW50KSwzPT09ZS5ub2RlVHlwZT9lLnBhcmVudE5vZGU6ZX1mdW5jdGlvbiBhdChlKXtpZigheClyZXR1cm4hMTt2YXIgdD0oZT0ib24iK2UpaW4gZG9jdW1lbnQ7cmV0dXJuIHR8fCgodD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSkuc2V0QXR0cmlidXRlKGUsInJldHVybjsiKSx0PSJmdW5jdGlvbiI9PXR5cGVvZiB0W2VdKSx0fXZhciBJdD1bXTtmdW5jdGlvbiBsdChlKXtlLnRvcExldmVsVHlwZT1udWxsLGUubmF0aXZlRXZlbnQ9bnVsbCxlLnRhcmdldEluc3Q9bnVsbCxlLmFuY2VzdG9ycy5sZW5ndGg9MCwxMD5JdC5sZW5ndGgmJkl0LnB1c2goZSl9ZnVuY3Rpb24gTnQoZSx0LG4saSl7aWYoSXQubGVuZ3RoKXt2YXIgcj1JdC5wb3AoKTtyZXR1cm4gci50b3BMZXZlbFR5cGU9ZSxyLmV2ZW50U3lzdGVtRmxhZ3M9aSxyLm5hdGl2ZUV2ZW50PXQsci50YXJnZXRJbnN0PW4scn1yZXR1cm57dG9wTGV2ZWxUeXBlOmUsZXZlbnRTeXN0ZW1GbGFnczppLG5hdGl2ZUV2ZW50OnQsdGFyZ2V0SW5zdDpuLGFuY2VzdG9yczpbXX19ZnVuY3Rpb24ganQoZSl7dmFyIHQ9ZS50YXJnZXRJbnN0LG49dDtkb3tpZighbil7ZS5hbmNlc3RvcnMucHVzaChuKTticmVha312YXIgaT1uO2lmKDM9PT1pLnRhZylpPWkuc3RhdGVOb2RlLmNvbnRhaW5lckluZm87ZWxzZXtmb3IoO2kucmV0dXJuOylpPWkucmV0dXJuO2k9MyE9PWkudGFnP251bGw6aS5zdGF0ZU5vZGUuY29udGFpbmVySW5mb31pZighaSlicmVhazs1IT09KHQ9bi50YWcpJiY2IT09dHx8ZS5hbmNlc3RvcnMucHVzaChuKSxuPXhuKGkpfXdoaWxlKG4pO2ZvcihuPTA7bjxlLmFuY2VzdG9ycy5sZW5ndGg7bisrKXt0PWUuYW5jZXN0b3JzW25dO3ZhciByPWN0KGUubmF0aXZlRXZlbnQpO2k9ZS50b3BMZXZlbFR5cGU7dmFyIE09ZS5uYXRpdmVFdmVudCx1PWUuZXZlbnRTeXN0ZW1GbGFnczswPT09biYmKHV8PTY0KTtmb3IodmFyIG89bnVsbCxjPTA7Yzx3Lmxlbmd0aDtjKyspe3ZhciBhPXdbY107YSYmKGE9YS5leHRyYWN0RXZlbnRzKGksdCxNLHIsdSkpJiYobz1pdChvLGEpKX1vdChvKX19ZnVuY3Rpb24gZ3QoZSx0LG4pe2lmKCFuLmhhcyhlKSl7c3dpdGNoKGUpe2Nhc2Uic2Nyb2xsIjpGdCh0LCJzY3JvbGwiLCEwKTticmVhaztjYXNlImZvY3VzIjpjYXNlImJsdXIiOkZ0KHQsImZvY3VzIiwhMCksRnQodCwiYmx1ciIsITApLG4uc2V0KCJibHVyIixudWxsKSxuLnNldCgiZm9jdXMiLG51bGwpO2JyZWFrO2Nhc2UiY2FuY2VsIjpjYXNlImNsb3NlIjphdChlKSYmRnQodCxlLCEwKTticmVhaztjYXNlImludmFsaWQiOmNhc2Uic3VibWl0IjpjYXNlInJlc2V0IjpicmVhaztkZWZhdWx0Oi0xPT09S2UuaW5kZXhPZihlKSYmSnQoZSx0KX1uLnNldChlLG51bGwpfX12YXIgc3QsQXQsRHQsZHQ9ITEsVHQ9W10seXQ9bnVsbCx6dD1udWxsLHd0PW51bGwsZnQ9bmV3IE1hcCxMdD1uZXcgTWFwLEV0PVtdLEN0PSJtb3VzZWRvd24gbW91c2V1cCB0b3VjaGNhbmNlbCB0b3VjaGVuZCB0b3VjaHN0YXJ0IGF1eGNsaWNrIGRibGNsaWNrIHBvaW50ZXJjYW5jZWwgcG9pbnRlcmRvd24gcG9pbnRlcnVwIGRyYWdlbmQgZHJhZ3N0YXJ0IGRyb3AgY29tcG9zaXRpb25lbmQgY29tcG9zaXRpb25zdGFydCBrZXlkb3duIGtleXByZXNzIGtleXVwIGlucHV0IHRleHRJbnB1dCBjbG9zZSBjYW5jZWwgY29weSBjdXQgcGFzdGUgY2xpY2sgY2hhbmdlIGNvbnRleHRtZW51IHJlc2V0IHN1Ym1pdCIuc3BsaXQoIiAiKSx4dD0iZm9jdXMgYmx1ciBkcmFnZW50ZXIgZHJhZ2xlYXZlIG1vdXNlb3ZlciBtb3VzZW91dCBwb2ludGVyb3ZlciBwb2ludGVyb3V0IGdvdHBvaW50ZXJjYXB0dXJlIGxvc3Rwb2ludGVyY2FwdHVyZSIuc3BsaXQoIiAiKTtmdW5jdGlvbiBwdChlLHQsbixpLHIpe3JldHVybntibG9ja2VkT246ZSx0b3BMZXZlbFR5cGU6dCxldmVudFN5c3RlbUZsYWdzOjMyfG4sbmF0aXZlRXZlbnQ6cixjb250YWluZXI6aX19ZnVuY3Rpb24gU3QoZSx0KXtzd2l0Y2goZSl7Y2FzZSJmb2N1cyI6Y2FzZSJibHVyIjp5dD1udWxsO2JyZWFrO2Nhc2UiZHJhZ2VudGVyIjpjYXNlImRyYWdsZWF2ZSI6enQ9bnVsbDticmVhaztjYXNlIm1vdXNlb3ZlciI6Y2FzZSJtb3VzZW91dCI6d3Q9bnVsbDticmVhaztjYXNlInBvaW50ZXJvdmVyIjpjYXNlInBvaW50ZXJvdXQiOmZ0LmRlbGV0ZSh0LnBvaW50ZXJJZCk7YnJlYWs7Y2FzZSJnb3Rwb2ludGVyY2FwdHVyZSI6Y2FzZSJsb3N0cG9pbnRlcmNhcHR1cmUiOkx0LmRlbGV0ZSh0LnBvaW50ZXJJZCl9fWZ1bmN0aW9uIG10KGUsdCxuLGkscixNKXtyZXR1cm4gbnVsbD09PWV8fGUubmF0aXZlRXZlbnQhPT1NPyhlPXB0KHQsbixpLHIsTSksbnVsbCE9PXQmJihudWxsIT09KHQ9cG4odCkpJiZBdCh0KSksZSk6KGUuZXZlbnRTeXN0ZW1GbGFnc3w9aSxlKX1mdW5jdGlvbiBPdChlKXt2YXIgdD14bihlLnRhcmdldCk7aWYobnVsbCE9PXQpe3ZhciBuPSRlKHQpO2lmKG51bGwhPT1uKWlmKDEzPT09KHQ9bi50YWcpKXtpZihudWxsIT09KHQ9ZXQobikpKXJldHVybiBlLmJsb2NrZWRPbj10LHZvaWQgTS51bnN0YWJsZV9ydW5XaXRoUHJpb3JpdHkoZS5wcmlvcml0eSwoZnVuY3Rpb24oKXtEdChuKX0pKX1lbHNlIGlmKDM9PT10JiZuLnN0YXRlTm9kZS5oeWRyYXRlKXJldHVybiB2b2lkKGUuYmxvY2tlZE9uPTM9PT1uLnRhZz9uLnN0YXRlTm9kZS5jb250YWluZXJJbmZvOm51bGwpfWUuYmxvY2tlZE9uPW51bGx9ZnVuY3Rpb24gdnQoZSl7aWYobnVsbCE9PWUuYmxvY2tlZE9uKXJldHVybiExO3ZhciB0PV90KGUudG9wTGV2ZWxUeXBlLGUuZXZlbnRTeXN0ZW1GbGFncyxlLmNvbnRhaW5lcixlLm5hdGl2ZUV2ZW50KTtpZihudWxsIT09dCl7dmFyIG49cG4odCk7cmV0dXJuIG51bGwhPT1uJiZBdChuKSxlLmJsb2NrZWRPbj10LCExfXJldHVybiEwfWZ1bmN0aW9uIGJ0KGUsdCxuKXt2dChlKSYmbi5kZWxldGUodCl9ZnVuY3Rpb24gaHQoKXtmb3IoZHQ9ITE7MDxUdC5sZW5ndGg7KXt2YXIgZT1UdFswXTtpZihudWxsIT09ZS5ibG9ja2VkT24pe251bGwhPT0oZT1wbihlLmJsb2NrZWRPbikpJiZzdChlKTticmVha312YXIgdD1fdChlLnRvcExldmVsVHlwZSxlLmV2ZW50U3lzdGVtRmxhZ3MsZS5jb250YWluZXIsZS5uYXRpdmVFdmVudCk7bnVsbCE9PXQ/ZS5ibG9ja2VkT249dDpUdC5zaGlmdCgpfW51bGwhPT15dCYmdnQoeXQpJiYoeXQ9bnVsbCksbnVsbCE9PXp0JiZ2dCh6dCkmJih6dD1udWxsKSxudWxsIT09d3QmJnZ0KHd0KSYmKHd0PW51bGwpLGZ0LmZvckVhY2goYnQpLEx0LmZvckVhY2goYnQpfWZ1bmN0aW9uIGt0KGUsdCl7ZS5ibG9ja2VkT249PT10JiYoZS5ibG9ja2VkT249bnVsbCxkdHx8KGR0PSEwLE0udW5zdGFibGVfc2NoZWR1bGVDYWxsYmFjayhNLnVuc3RhYmxlX05vcm1hbFByaW9yaXR5LGh0KSkpfWZ1bmN0aW9uIFF0KGUpe2Z1bmN0aW9uIHQodCl7cmV0dXJuIGt0KHQsZSl9aWYoMDxUdC5sZW5ndGgpe2t0KFR0WzBdLGUpO2Zvcih2YXIgbj0xO248VHQubGVuZ3RoO24rKyl7dmFyIGk9VHRbbl07aS5ibG9ja2VkT249PT1lJiYoaS5ibG9ja2VkT249bnVsbCl9fWZvcihudWxsIT09eXQmJmt0KHl0LGUpLG51bGwhPT16dCYma3QoenQsZSksbnVsbCE9PXd0JiZrdCh3dCxlKSxmdC5mb3JFYWNoKHQpLEx0LmZvckVhY2godCksbj0wO248RXQubGVuZ3RoO24rKykoaT1FdFtuXSkuYmxvY2tlZE9uPT09ZSYmKGkuYmxvY2tlZE9uPW51bGwpO2Zvcig7MDxFdC5sZW5ndGgmJm51bGw9PT0obj1FdFswXSkuYmxvY2tlZE9uOylPdChuKSxudWxsPT09bi5ibG9ja2VkT24mJkV0LnNoaWZ0KCl9dmFyIFl0PXt9LFB0PW5ldyBNYXAsVXQ9bmV3IE1hcCxadD1bImFib3J0IiwiYWJvcnQiLFZlLCJhbmltYXRpb25FbmQiLEplLCJhbmltYXRpb25JdGVyYXRpb24iLEZlLCJhbmltYXRpb25TdGFydCIsImNhbnBsYXkiLCJjYW5QbGF5IiwiY2FucGxheXRocm91Z2giLCJjYW5QbGF5VGhyb3VnaCIsImR1cmF0aW9uY2hhbmdlIiwiZHVyYXRpb25DaGFuZ2UiLCJlbXB0aWVkIiwiZW1wdGllZCIsImVuY3J5cHRlZCIsImVuY3J5cHRlZCIsImVuZGVkIiwiZW5kZWQiLCJlcnJvciIsImVycm9yIiwiZ290cG9pbnRlcmNhcHR1cmUiLCJnb3RQb2ludGVyQ2FwdHVyZSIsImxvYWQiLCJsb2FkIiwibG9hZGVkZGF0YSIsImxvYWRlZERhdGEiLCJsb2FkZWRtZXRhZGF0YSIsImxvYWRlZE1ldGFkYXRhIiwibG9hZHN0YXJ0IiwibG9hZFN0YXJ0IiwibG9zdHBvaW50ZXJjYXB0dXJlIiwibG9zdFBvaW50ZXJDYXB0dXJlIiwicGxheWluZyIsInBsYXlpbmciLCJwcm9ncmVzcyIsInByb2dyZXNzIiwic2Vla2luZyIsInNlZWtpbmciLCJzdGFsbGVkIiwic3RhbGxlZCIsInN1c3BlbmQiLCJzdXNwZW5kIiwidGltZXVwZGF0ZSIsInRpbWVVcGRhdGUiLFhlLCJ0cmFuc2l0aW9uRW5kIiwid2FpdGluZyIsIndhaXRpbmciXTtmdW5jdGlvbiBHdChlLHQpe2Zvcih2YXIgbj0wO248ZS5sZW5ndGg7bis9Mil7dmFyIGk9ZVtuXSxyPWVbbisxXSxNPSJvbiIrKHJbMF0udG9VcHBlckNhc2UoKStyLnNsaWNlKDEpKTtNPXtwaGFzZWRSZWdpc3RyYXRpb25OYW1lczp7YnViYmxlZDpNLGNhcHR1cmVkOk0rIkNhcHR1cmUifSxkZXBlbmRlbmNpZXM6W2ldLGV2ZW50UHJpb3JpdHk6dH0sVXQuc2V0KGksdCksUHQuc2V0KGksTSksWXRbcl09TX19R3QoImJsdXIgYmx1ciBjYW5jZWwgY2FuY2VsIGNsaWNrIGNsaWNrIGNsb3NlIGNsb3NlIGNvbnRleHRtZW51IGNvbnRleHRNZW51IGNvcHkgY29weSBjdXQgY3V0IGF1eGNsaWNrIGF1eENsaWNrIGRibGNsaWNrIGRvdWJsZUNsaWNrIGRyYWdlbmQgZHJhZ0VuZCBkcmFnc3RhcnQgZHJhZ1N0YXJ0IGRyb3AgZHJvcCBmb2N1cyBmb2N1cyBpbnB1dCBpbnB1dCBpbnZhbGlkIGludmFsaWQga2V5ZG93biBrZXlEb3duIGtleXByZXNzIGtleVByZXNzIGtleXVwIGtleVVwIG1vdXNlZG93biBtb3VzZURvd24gbW91c2V1cCBtb3VzZVVwIHBhc3RlIHBhc3RlIHBhdXNlIHBhdXNlIHBsYXkgcGxheSBwb2ludGVyY2FuY2VsIHBvaW50ZXJDYW5jZWwgcG9pbnRlcmRvd24gcG9pbnRlckRvd24gcG9pbnRlcnVwIHBvaW50ZXJVcCByYXRlY2hhbmdlIHJhdGVDaGFuZ2UgcmVzZXQgcmVzZXQgc2Vla2VkIHNlZWtlZCBzdWJtaXQgc3VibWl0IHRvdWNoY2FuY2VsIHRvdWNoQ2FuY2VsIHRvdWNoZW5kIHRvdWNoRW5kIHRvdWNoc3RhcnQgdG91Y2hTdGFydCB2b2x1bWVjaGFuZ2Ugdm9sdW1lQ2hhbmdlIi5zcGxpdCgiICIpLDApLEd0KCJkcmFnIGRyYWcgZHJhZ2VudGVyIGRyYWdFbnRlciBkcmFnZXhpdCBkcmFnRXhpdCBkcmFnbGVhdmUgZHJhZ0xlYXZlIGRyYWdvdmVyIGRyYWdPdmVyIG1vdXNlbW92ZSBtb3VzZU1vdmUgbW91c2VvdXQgbW91c2VPdXQgbW91c2VvdmVyIG1vdXNlT3ZlciBwb2ludGVybW92ZSBwb2ludGVyTW92ZSBwb2ludGVyb3V0IHBvaW50ZXJPdXQgcG9pbnRlcm92ZXIgcG9pbnRlck92ZXIgc2Nyb2xsIHNjcm9sbCB0b2dnbGUgdG9nZ2xlIHRvdWNobW92ZSB0b3VjaE1vdmUgd2hlZWwgd2hlZWwiLnNwbGl0KCIgIiksMSksR3QoWnQsMik7Zm9yKHZhciBCdD0iY2hhbmdlIHNlbGVjdGlvbmNoYW5nZSB0ZXh0SW5wdXQgY29tcG9zaXRpb25zdGFydCBjb21wb3NpdGlvbmVuZCBjb21wb3NpdGlvbnVwZGF0ZSIuc3BsaXQoIiAiKSxSdD0wO1J0PEJ0Lmxlbmd0aDtSdCsrKVV0LnNldChCdFtSdF0sMCk7dmFyIFd0PU0udW5zdGFibGVfVXNlckJsb2NraW5nUHJpb3JpdHksSHQ9TS51bnN0YWJsZV9ydW5XaXRoUHJpb3JpdHksVnQ9ITA7ZnVuY3Rpb24gSnQoZSx0KXtGdCh0LGUsITEpfWZ1bmN0aW9uIEZ0KGUsdCxuKXt2YXIgaT1VdC5nZXQodCk7c3dpdGNoKHZvaWQgMD09PWk/MjppKXtjYXNlIDA6aT1YdC5iaW5kKG51bGwsdCwxLGUpO2JyZWFrO2Nhc2UgMTppPUt0LmJpbmQobnVsbCx0LDEsZSk7YnJlYWs7ZGVmYXVsdDppPXF0LmJpbmQobnVsbCx0LDEsZSl9bj9lLmFkZEV2ZW50TGlzdGVuZXIodCxpLCEwKTplLmFkZEV2ZW50TGlzdGVuZXIodCxpLCExKX1mdW5jdGlvbiBYdChlLHQsbixpKXtQfHxRKCk7dmFyIHI9cXQsTT1QO1A9ITA7dHJ5e2socixlLHQsbixpKX1maW5hbGx5eyhQPU0pfHxaKCl9fWZ1bmN0aW9uIEt0KGUsdCxuLGkpe0h0KFd0LHF0LmJpbmQobnVsbCxlLHQsbixpKSl9ZnVuY3Rpb24gcXQoZSx0LG4saSl7aWYoVnQpaWYoMDxUdC5sZW5ndGgmJi0xPEN0LmluZGV4T2YoZSkpZT1wdChudWxsLGUsdCxuLGkpLFR0LnB1c2goZSk7ZWxzZXt2YXIgcj1fdChlLHQsbixpKTtpZihudWxsPT09cilTdChlLGkpO2Vsc2UgaWYoLTE8Q3QuaW5kZXhPZihlKSllPXB0KHIsZSx0LG4saSksVHQucHVzaChlKTtlbHNlIGlmKCFmdW5jdGlvbihlLHQsbixpLHIpe3N3aXRjaCh0KXtjYXNlImZvY3VzIjpyZXR1cm4geXQ9bXQoeXQsZSx0LG4saSxyKSwhMDtjYXNlImRyYWdlbnRlciI6cmV0dXJuIHp0PW10KHp0LGUsdCxuLGksciksITA7Y2FzZSJtb3VzZW92ZXIiOnJldHVybiB3dD1tdCh3dCxlLHQsbixpLHIpLCEwO2Nhc2UicG9pbnRlcm92ZXIiOnZhciBNPXIucG9pbnRlcklkO3JldHVybiBmdC5zZXQoTSxtdChmdC5nZXQoTSl8fG51bGwsZSx0LG4saSxyKSksITA7Y2FzZSJnb3Rwb2ludGVyY2FwdHVyZSI6cmV0dXJuIE09ci5wb2ludGVySWQsTHQuc2V0KE0sbXQoTHQuZ2V0KE0pfHxudWxsLGUsdCxuLGkscikpLCEwfXJldHVybiExfShyLGUsdCxuLGkpKXtTdChlLGkpLGU9TnQoZSxpLG51bGwsdCk7dHJ5e0coanQsZSl9ZmluYWxseXtsdChlKX19fX1mdW5jdGlvbiBfdChlLHQsbixpKXtpZihudWxsIT09KG49eG4obj1jdChpKSkpKXt2YXIgcj0kZShuKTtpZihudWxsPT09ciluPW51bGw7ZWxzZXt2YXIgTT1yLnRhZztpZigxMz09PU0pe2lmKG51bGwhPT0obj1ldChyKSkpcmV0dXJuIG47bj1udWxsfWVsc2UgaWYoMz09PU0pe2lmKHIuc3RhdGVOb2RlLmh5ZHJhdGUpcmV0dXJuIDM9PT1yLnRhZz9yLnN0YXRlTm9kZS5jb250YWluZXJJbmZvOm51bGw7bj1udWxsfWVsc2UgciE9PW4mJihuPW51bGwpfX1lPU50KGUsaSxuLHQpO3RyeXtHKGp0LGUpfWZpbmFsbHl7bHQoZSl9cmV0dXJuIG51bGx9dmFyICR0PXthbmltYXRpb25JdGVyYXRpb25Db3VudDohMCxib3JkZXJJbWFnZU91dHNldDohMCxib3JkZXJJbWFnZVNsaWNlOiEwLGJvcmRlckltYWdlV2lkdGg6ITAsYm94RmxleDohMCxib3hGbGV4R3JvdXA6ITAsYm94T3JkaW5hbEdyb3VwOiEwLGNvbHVtbkNvdW50OiEwLGNvbHVtbnM6ITAsZmxleDohMCxmbGV4R3JvdzohMCxmbGV4UG9zaXRpdmU6ITAsZmxleFNocmluazohMCxmbGV4TmVnYXRpdmU6ITAsZmxleE9yZGVyOiEwLGdyaWRBcmVhOiEwLGdyaWRSb3c6ITAsZ3JpZFJvd0VuZDohMCxncmlkUm93U3BhbjohMCxncmlkUm93U3RhcnQ6ITAsZ3JpZENvbHVtbjohMCxncmlkQ29sdW1uRW5kOiEwLGdyaWRDb2x1bW5TcGFuOiEwLGdyaWRDb2x1bW5TdGFydDohMCxmb250V2VpZ2h0OiEwLGxpbmVDbGFtcDohMCxsaW5lSGVpZ2h0OiEwLG9wYWNpdHk6ITAsb3JkZXI6ITAsb3JwaGFuczohMCx0YWJTaXplOiEwLHdpZG93czohMCx6SW5kZXg6ITAsem9vbTohMCxmaWxsT3BhY2l0eTohMCxmbG9vZE9wYWNpdHk6ITAsc3RvcE9wYWNpdHk6ITAsc3Ryb2tlRGFzaGFycmF5OiEwLHN0cm9rZURhc2hvZmZzZXQ6ITAsc3Ryb2tlTWl0ZXJsaW1pdDohMCxzdHJva2VPcGFjaXR5OiEwLHN0cm9rZVdpZHRoOiEwfSxlbj1bIldlYmtpdCIsIm1zIiwiTW96IiwiTyJdO2Z1bmN0aW9uIHRuKGUsdCxuKXtyZXR1cm4gbnVsbD09dHx8ImJvb2xlYW4iPT10eXBlb2YgdHx8IiI9PT10PyIiOm58fCJudW1iZXIiIT10eXBlb2YgdHx8MD09PXR8fCR0Lmhhc093blByb3BlcnR5KGUpJiYkdFtlXT8oIiIrdCkudHJpbSgpOnQrInB4In1mdW5jdGlvbiBubihlLHQpe2Zvcih2YXIgbiBpbiBlPWUuc3R5bGUsdClpZih0Lmhhc093blByb3BlcnR5KG4pKXt2YXIgaT0wPT09bi5pbmRleE9mKCItLSIpLHI9dG4obix0W25dLGkpOyJmbG9hdCI9PT1uJiYobj0iY3NzRmxvYXQiKSxpP2Uuc2V0UHJvcGVydHkobixyKTplW25dPXJ9fU9iamVjdC5rZXlzKCR0KS5mb3JFYWNoKChmdW5jdGlvbihlKXtlbi5mb3JFYWNoKChmdW5jdGlvbih0KXt0PXQrZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKStlLnN1YnN0cmluZygxKSwkdFt0XT0kdFtlXX0pKX0pKTt2YXIgcm49cih7bWVudWl0ZW06ITB9LHthcmVhOiEwLGJhc2U6ITAsYnI6ITAsY29sOiEwLGVtYmVkOiEwLGhyOiEwLGltZzohMCxpbnB1dDohMCxrZXlnZW46ITAsbGluazohMCxtZXRhOiEwLHBhcmFtOiEwLHNvdXJjZTohMCx0cmFjazohMCx3YnI6ITB9KTtmdW5jdGlvbiBNbihlLHQpe2lmKHQpe2lmKHJuW2VdJiYobnVsbCE9dC5jaGlsZHJlbnx8bnVsbCE9dC5kYW5nZXJvdXNseVNldElubmVySFRNTCkpdGhyb3cgRXJyb3IodSgxMzcsZSwiIikpO2lmKG51bGwhPXQuZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwpe2lmKG51bGwhPXQuY2hpbGRyZW4pdGhyb3cgRXJyb3IodSg2MCkpO2lmKCJvYmplY3QiIT10eXBlb2YgdC5kYW5nZXJvdXNseVNldElubmVySFRNTHx8ISgiX19odG1sImluIHQuZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwpKXRocm93IEVycm9yKHUoNjEpKX1pZihudWxsIT10LnN0eWxlJiYib2JqZWN0IiE9dHlwZW9mIHQuc3R5bGUpdGhyb3cgRXJyb3IodSg2MiwiIikpfX1mdW5jdGlvbiB1bihlLHQpe2lmKC0xPT09ZS5pbmRleE9mKCItIikpcmV0dXJuInN0cmluZyI9PXR5cGVvZiB0LmlzO3N3aXRjaChlKXtjYXNlImFubm90YXRpb24teG1sIjpjYXNlImNvbG9yLXByb2ZpbGUiOmNhc2UiZm9udC1mYWNlIjpjYXNlImZvbnQtZmFjZS1zcmMiOmNhc2UiZm9udC1mYWNlLXVyaSI6Y2FzZSJmb250LWZhY2UtZm9ybWF0IjpjYXNlImZvbnQtZmFjZS1uYW1lIjpjYXNlIm1pc3NpbmctZ2x5cGgiOnJldHVybiExO2RlZmF1bHQ6cmV0dXJuITB9fXZhciBvbj1oZTtmdW5jdGlvbiBjbihlLHQpe3ZhciBuPV9lKGU9OT09PWUubm9kZVR5cGV8fDExPT09ZS5ub2RlVHlwZT9lOmUub3duZXJEb2N1bWVudCk7dD1FW3RdO2Zvcih2YXIgaT0wO2k8dC5sZW5ndGg7aSsrKWd0KHRbaV0sZSxuKX1mdW5jdGlvbiBhbigpe31mdW5jdGlvbiBJbihlKXtpZih2b2lkIDA9PT0oZT1lfHwoInVuZGVmaW5lZCIhPXR5cGVvZiBkb2N1bWVudD9kb2N1bWVudDp2b2lkIDApKSlyZXR1cm4gbnVsbDt0cnl7cmV0dXJuIGUuYWN0aXZlRWxlbWVudHx8ZS5ib2R5fWNhdGNoKHQpe3JldHVybiBlLmJvZHl9fWZ1bmN0aW9uIGxuKGUpe2Zvcig7ZSYmZS5maXJzdENoaWxkOyllPWUuZmlyc3RDaGlsZDtyZXR1cm4gZX1mdW5jdGlvbiBObihlLHQpe3ZhciBuLGk9bG4oZSk7Zm9yKGU9MDtpOyl7aWYoMz09PWkubm9kZVR5cGUpe2lmKG49ZStpLnRleHRDb250ZW50Lmxlbmd0aCxlPD10JiZuPj10KXJldHVybntub2RlOmksb2Zmc2V0OnQtZX07ZT1ufWU6e2Zvcig7aTspe2lmKGkubmV4dFNpYmxpbmcpe2k9aS5uZXh0U2libGluZzticmVhayBlfWk9aS5wYXJlbnROb2RlfWk9dm9pZCAwfWk9bG4oaSl9fWZ1bmN0aW9uIGpuKCl7Zm9yKHZhciBlPXdpbmRvdyx0PUluKCk7dCBpbnN0YW5jZW9mIGUuSFRNTElGcmFtZUVsZW1lbnQ7KXt0cnl7dmFyIG49InN0cmluZyI9PXR5cGVvZiB0LmNvbnRlbnRXaW5kb3cubG9jYXRpb24uaHJlZn1jYXRjaChlKXtuPSExfWlmKCFuKWJyZWFrO3Q9SW4oKGU9dC5jb250ZW50V2luZG93KS5kb2N1bWVudCl9cmV0dXJuIHR9ZnVuY3Rpb24gZ24oZSl7dmFyIHQ9ZSYmZS5ub2RlTmFtZSYmZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybiB0JiYoImlucHV0Ij09PXQmJigidGV4dCI9PT1lLnR5cGV8fCJzZWFyY2giPT09ZS50eXBlfHwidGVsIj09PWUudHlwZXx8InVybCI9PT1lLnR5cGV8fCJwYXNzd29yZCI9PT1lLnR5cGUpfHwidGV4dGFyZWEiPT09dHx8InRydWUiPT09ZS5jb250ZW50RWRpdGFibGUpfXZhciBzbj1udWxsLEFuPW51bGw7ZnVuY3Rpb24gRG4oZSx0KXtzd2l0Y2goZSl7Y2FzZSJidXR0b24iOmNhc2UiaW5wdXQiOmNhc2Uic2VsZWN0IjpjYXNlInRleHRhcmVhIjpyZXR1cm4hIXQuYXV0b0ZvY3VzfXJldHVybiExfWZ1bmN0aW9uIGRuKGUsdCl7cmV0dXJuInRleHRhcmVhIj09PWV8fCJvcHRpb24iPT09ZXx8Im5vc2NyaXB0Ij09PWV8fCJzdHJpbmciPT10eXBlb2YgdC5jaGlsZHJlbnx8Im51bWJlciI9PXR5cGVvZiB0LmNoaWxkcmVufHwib2JqZWN0Ij09dHlwZW9mIHQuZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwmJm51bGwhPT10LmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MJiZudWxsIT10LmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MLl9faHRtbH12YXIgVG49ImZ1bmN0aW9uIj09dHlwZW9mIHNldFRpbWVvdXQ/c2V0VGltZW91dDp2b2lkIDAseW49ImZ1bmN0aW9uIj09dHlwZW9mIGNsZWFyVGltZW91dD9jbGVhclRpbWVvdXQ6dm9pZCAwO2Z1bmN0aW9uIHpuKGUpe2Zvcig7bnVsbCE9ZTtlPWUubmV4dFNpYmxpbmcpe3ZhciB0PWUubm9kZVR5cGU7aWYoMT09PXR8fDM9PT10KWJyZWFrfXJldHVybiBlfWZ1bmN0aW9uIHduKGUpe2U9ZS5wcmV2aW91c1NpYmxpbmc7Zm9yKHZhciB0PTA7ZTspe2lmKDg9PT1lLm5vZGVUeXBlKXt2YXIgbj1lLmRhdGE7aWYoIiQiPT09bnx8IiQhIj09PW58fCIkPyI9PT1uKXtpZigwPT09dClyZXR1cm4gZTt0LS19ZWxzZSIvJCI9PT1uJiZ0Kyt9ZT1lLnByZXZpb3VzU2libGluZ31yZXR1cm4gbnVsbH12YXIgZm49TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc2xpY2UoMiksTG49Il9fcmVhY3RJbnRlcm5hbEluc3RhbmNlJCIrZm4sRW49Il9fcmVhY3RFdmVudEhhbmRsZXJzJCIrZm4sQ249Il9fcmVhY3RDb250YWluZXJlJCIrZm47ZnVuY3Rpb24geG4oZSl7dmFyIHQ9ZVtMbl07aWYodClyZXR1cm4gdDtmb3IodmFyIG49ZS5wYXJlbnROb2RlO247KXtpZih0PW5bQ25dfHxuW0xuXSl7aWYobj10LmFsdGVybmF0ZSxudWxsIT09dC5jaGlsZHx8bnVsbCE9PW4mJm51bGwhPT1uLmNoaWxkKWZvcihlPXduKGUpO251bGwhPT1lOyl7aWYobj1lW0xuXSlyZXR1cm4gbjtlPXduKGUpfXJldHVybiB0fW49KGU9bikucGFyZW50Tm9kZX1yZXR1cm4gbnVsbH1mdW5jdGlvbiBwbihlKXtyZXR1cm4hKGU9ZVtMbl18fGVbQ25dKXx8NSE9PWUudGFnJiY2IT09ZS50YWcmJjEzIT09ZS50YWcmJjMhPT1lLnRhZz9udWxsOmV9ZnVuY3Rpb24gU24oZSl7aWYoNT09PWUudGFnfHw2PT09ZS50YWcpcmV0dXJuIGUuc3RhdGVOb2RlO3Rocm93IEVycm9yKHUoMzMpKX1mdW5jdGlvbiBtbihlKXtyZXR1cm4gZVtFbl18fG51bGx9ZnVuY3Rpb24gT24oZSl7ZG97ZT1lLnJldHVybn13aGlsZShlJiY1IT09ZS50YWcpO3JldHVybiBlfHxudWxsfWZ1bmN0aW9uIHZuKGUsdCl7dmFyIG49ZS5zdGF0ZU5vZGU7aWYoIW4pcmV0dXJuIG51bGw7dmFyIGk9ZyhuKTtpZighaSlyZXR1cm4gbnVsbDtuPWlbdF07ZTpzd2l0Y2godCl7Y2FzZSJvbkNsaWNrIjpjYXNlIm9uQ2xpY2tDYXB0dXJlIjpjYXNlIm9uRG91YmxlQ2xpY2siOmNhc2Uib25Eb3VibGVDbGlja0NhcHR1cmUiOmNhc2Uib25Nb3VzZURvd24iOmNhc2Uib25Nb3VzZURvd25DYXB0dXJlIjpjYXNlIm9uTW91c2VNb3ZlIjpjYXNlIm9uTW91c2VNb3ZlQ2FwdHVyZSI6Y2FzZSJvbk1vdXNlVXAiOmNhc2Uib25Nb3VzZVVwQ2FwdHVyZSI6Y2FzZSJvbk1vdXNlRW50ZXIiOihpPSFpLmRpc2FibGVkKXx8KGk9ISgiYnV0dG9uIj09PShlPWUudHlwZSl8fCJpbnB1dCI9PT1lfHwic2VsZWN0Ij09PWV8fCJ0ZXh0YXJlYSI9PT1lKSksZT0haTticmVhayBlO2RlZmF1bHQ6ZT0hMX1pZihlKXJldHVybiBudWxsO2lmKG4mJiJmdW5jdGlvbiIhPXR5cGVvZiBuKXRocm93IEVycm9yKHUoMjMxLHQsdHlwZW9mIG4pKTtyZXR1cm4gbn1mdW5jdGlvbiBibihlLHQsbil7KHQ9dm4oZSxuLmRpc3BhdGNoQ29uZmlnLnBoYXNlZFJlZ2lzdHJhdGlvbk5hbWVzW3RdKSkmJihuLl9kaXNwYXRjaExpc3RlbmVycz1pdChuLl9kaXNwYXRjaExpc3RlbmVycyx0KSxuLl9kaXNwYXRjaEluc3RhbmNlcz1pdChuLl9kaXNwYXRjaEluc3RhbmNlcyxlKSl9ZnVuY3Rpb24gaG4oZSl7aWYoZSYmZS5kaXNwYXRjaENvbmZpZy5waGFzZWRSZWdpc3RyYXRpb25OYW1lcyl7Zm9yKHZhciB0PWUuX3RhcmdldEluc3Qsbj1bXTt0OyluLnB1c2godCksdD1Pbih0KTtmb3IodD1uLmxlbmd0aDswPHQtLTspYm4oblt0XSwiY2FwdHVyZWQiLGUpO2Zvcih0PTA7dDxuLmxlbmd0aDt0KyspYm4oblt0XSwiYnViYmxlZCIsZSl9fWZ1bmN0aW9uIGtuKGUsdCxuKXtlJiZuJiZuLmRpc3BhdGNoQ29uZmlnLnJlZ2lzdHJhdGlvbk5hbWUmJih0PXZuKGUsbi5kaXNwYXRjaENvbmZpZy5yZWdpc3RyYXRpb25OYW1lKSkmJihuLl9kaXNwYXRjaExpc3RlbmVycz1pdChuLl9kaXNwYXRjaExpc3RlbmVycyx0KSxuLl9kaXNwYXRjaEluc3RhbmNlcz1pdChuLl9kaXNwYXRjaEluc3RhbmNlcyxlKSl9ZnVuY3Rpb24gUW4oZSl7ZSYmZS5kaXNwYXRjaENvbmZpZy5yZWdpc3RyYXRpb25OYW1lJiZrbihlLl90YXJnZXRJbnN0LG51bGwsZSl9ZnVuY3Rpb24gWW4oZSl7cnQoZSxobil9dmFyIFBuPW51bGwsVW49bnVsbCxabj1udWxsO2Z1bmN0aW9uIEduKCl7aWYoWm4pcmV0dXJuIFpuO3ZhciBlLHQsbj1VbixpPW4ubGVuZ3RoLHI9InZhbHVlImluIFBuP1BuLnZhbHVlOlBuLnRleHRDb250ZW50LE09ci5sZW5ndGg7Zm9yKGU9MDtlPGkmJm5bZV09PT1yW2VdO2UrKyk7dmFyIHU9aS1lO2Zvcih0PTE7dDw9dSYmbltpLXRdPT09cltNLXRdO3QrKyk7cmV0dXJuIFpuPXIuc2xpY2UoZSwxPHQ/MS10OnZvaWQgMCl9ZnVuY3Rpb24gQm4oKXtyZXR1cm4hMH1mdW5jdGlvbiBSbigpe3JldHVybiExfWZ1bmN0aW9uIFduKGUsdCxuLGkpe2Zvcih2YXIgciBpbiB0aGlzLmRpc3BhdGNoQ29uZmlnPWUsdGhpcy5fdGFyZ2V0SW5zdD10LHRoaXMubmF0aXZlRXZlbnQ9bixlPXRoaXMuY29uc3RydWN0b3IuSW50ZXJmYWNlKWUuaGFzT3duUHJvcGVydHkocikmJigodD1lW3JdKT90aGlzW3JdPXQobik6InRhcmdldCI9PT1yP3RoaXMudGFyZ2V0PWk6dGhpc1tyXT1uW3JdKTtyZXR1cm4gdGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQ9KG51bGwhPW4uZGVmYXVsdFByZXZlbnRlZD9uLmRlZmF1bHRQcmV2ZW50ZWQ6ITE9PT1uLnJldHVyblZhbHVlKT9CbjpSbix0aGlzLmlzUHJvcGFnYXRpb25TdG9wcGVkPVJuLHRoaXN9ZnVuY3Rpb24gSG4oZSx0LG4saSl7aWYodGhpcy5ldmVudFBvb2wubGVuZ3RoKXt2YXIgcj10aGlzLmV2ZW50UG9vbC5wb3AoKTtyZXR1cm4gdGhpcy5jYWxsKHIsZSx0LG4saSkscn1yZXR1cm4gbmV3IHRoaXMoZSx0LG4saSl9ZnVuY3Rpb24gVm4oZSl7aWYoIShlIGluc3RhbmNlb2YgdGhpcykpdGhyb3cgRXJyb3IodSgyNzkpKTtlLmRlc3RydWN0b3IoKSwxMD50aGlzLmV2ZW50UG9vbC5sZW5ndGgmJnRoaXMuZXZlbnRQb29sLnB1c2goZSl9ZnVuY3Rpb24gSm4oZSl7ZS5ldmVudFBvb2w9W10sZS5nZXRQb29sZWQ9SG4sZS5yZWxlYXNlPVZufXIoV24ucHJvdG90eXBlLHtwcmV2ZW50RGVmYXVsdDpmdW5jdGlvbigpe3RoaXMuZGVmYXVsdFByZXZlbnRlZD0hMDt2YXIgZT10aGlzLm5hdGl2ZUV2ZW50O2UmJihlLnByZXZlbnREZWZhdWx0P2UucHJldmVudERlZmF1bHQoKToidW5rbm93biIhPXR5cGVvZiBlLnJldHVyblZhbHVlJiYoZS5yZXR1cm5WYWx1ZT0hMSksdGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQ9Qm4pfSxzdG9wUHJvcGFnYXRpb246ZnVuY3Rpb24oKXt2YXIgZT10aGlzLm5hdGl2ZUV2ZW50O2UmJihlLnN0b3BQcm9wYWdhdGlvbj9lLnN0b3BQcm9wYWdhdGlvbigpOiJ1bmtub3duIiE9dHlwZW9mIGUuY2FuY2VsQnViYmxlJiYoZS5jYW5jZWxCdWJibGU9ITApLHRoaXMuaXNQcm9wYWdhdGlvblN0b3BwZWQ9Qm4pfSxwZXJzaXN0OmZ1bmN0aW9uKCl7dGhpcy5pc1BlcnNpc3RlbnQ9Qm59LGlzUGVyc2lzdGVudDpSbixkZXN0cnVjdG9yOmZ1bmN0aW9uKCl7dmFyIGUsdD10aGlzLmNvbnN0cnVjdG9yLkludGVyZmFjZTtmb3IoZSBpbiB0KXRoaXNbZV09bnVsbDt0aGlzLm5hdGl2ZUV2ZW50PXRoaXMuX3RhcmdldEluc3Q9dGhpcy5kaXNwYXRjaENvbmZpZz1udWxsLHRoaXMuaXNQcm9wYWdhdGlvblN0b3BwZWQ9dGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQ9Um4sdGhpcy5fZGlzcGF0Y2hJbnN0YW5jZXM9dGhpcy5fZGlzcGF0Y2hMaXN0ZW5lcnM9bnVsbH19KSxXbi5JbnRlcmZhY2U9e3R5cGU6bnVsbCx0YXJnZXQ6bnVsbCxjdXJyZW50VGFyZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIG51bGx9LGV2ZW50UGhhc2U6bnVsbCxidWJibGVzOm51bGwsY2FuY2VsYWJsZTpudWxsLHRpbWVTdGFtcDpmdW5jdGlvbihlKXtyZXR1cm4gZS50aW1lU3RhbXB8fERhdGUubm93KCl9LGRlZmF1bHRQcmV2ZW50ZWQ6bnVsbCxpc1RydXN0ZWQ6bnVsbH0sV24uZXh0ZW5kPWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQoKXt9ZnVuY3Rpb24gbigpe3JldHVybiBpLmFwcGx5KHRoaXMsYXJndW1lbnRzKX12YXIgaT10aGlzO3QucHJvdG90eXBlPWkucHJvdG90eXBlO3ZhciBNPW5ldyB0O3JldHVybiByKE0sbi5wcm90b3R5cGUpLG4ucHJvdG90eXBlPU0sbi5wcm90b3R5cGUuY29uc3RydWN0b3I9bixuLkludGVyZmFjZT1yKHt9LGkuSW50ZXJmYWNlLGUpLG4uZXh0ZW5kPWkuZXh0ZW5kLEpuKG4pLG59LEpuKFduKTt2YXIgRm49V24uZXh0ZW5kKHtkYXRhOm51bGx9KSxYbj1Xbi5leHRlbmQoe2RhdGE6bnVsbH0pLEtuPVs5LDEzLDI3LDMyXSxxbj14JiYiQ29tcG9zaXRpb25FdmVudCJpbiB3aW5kb3csX249bnVsbDt4JiYiZG9jdW1lbnRNb2RlImluIGRvY3VtZW50JiYoX249ZG9jdW1lbnQuZG9jdW1lbnRNb2RlKTt2YXIgJG49eCYmIlRleHRFdmVudCJpbiB3aW5kb3cmJiFfbixlaT14JiYoIXFufHxfbiYmODxfbiYmMTE+PV9uKSx0aT1TdHJpbmcuZnJvbUNoYXJDb2RlKDMyKSxuaT17YmVmb3JlSW5wdXQ6e3BoYXNlZFJlZ2lzdHJhdGlvbk5hbWVzOntidWJibGVkOiJvbkJlZm9yZUlucHV0IixjYXB0dXJlZDoib25CZWZvcmVJbnB1dENhcHR1cmUifSxkZXBlbmRlbmNpZXM6WyJjb21wb3NpdGlvbmVuZCIsImtleXByZXNzIiwidGV4dElucHV0IiwicGFzdGUiXX0sY29tcG9zaXRpb25FbmQ6e3BoYXNlZFJlZ2lzdHJhdGlvbk5hbWVzOntidWJibGVkOiJvbkNvbXBvc2l0aW9uRW5kIixjYXB0dXJlZDoib25Db21wb3NpdGlvbkVuZENhcHR1cmUifSxkZXBlbmRlbmNpZXM6ImJsdXIgY29tcG9zaXRpb25lbmQga2V5ZG93biBrZXlwcmVzcyBrZXl1cCBtb3VzZWRvd24iLnNwbGl0KCIgIil9LGNvbXBvc2l0aW9uU3RhcnQ6e3BoYXNlZFJlZ2lzdHJhdGlvbk5hbWVzOntidWJibGVkOiJvbkNvbXBvc2l0aW9uU3RhcnQiLGNhcHR1cmVkOiJvbkNvbXBvc2l0aW9uU3RhcnRDYXB0dXJlIn0sZGVwZW5kZW5jaWVzOiJibHVyIGNvbXBvc2l0aW9uc3RhcnQga2V5ZG93biBrZXlwcmVzcyBrZXl1cCBtb3VzZWRvd24iLnNwbGl0KCIgIil9LGNvbXBvc2l0aW9uVXBkYXRlOntwaGFzZWRSZWdpc3RyYXRpb25OYW1lczp7YnViYmxlZDoib25Db21wb3NpdGlvblVwZGF0ZSIsY2FwdHVyZWQ6Im9uQ29tcG9zaXRpb25VcGRhdGVDYXB0dXJlIn0sZGVwZW5kZW5jaWVzOiJibHVyIGNvbXBvc2l0aW9udXBkYXRlIGtleWRvd24ga2V5cHJlc3Mga2V5dXAgbW91c2Vkb3duIi5zcGxpdCgiICIpfX0saWk9ITE7ZnVuY3Rpb24gcmkoZSx0KXtzd2l0Y2goZSl7Y2FzZSJrZXl1cCI6cmV0dXJuLTEhPT1Lbi5pbmRleE9mKHQua2V5Q29kZSk7Y2FzZSJrZXlkb3duIjpyZXR1cm4gMjI5IT09dC5rZXlDb2RlO2Nhc2Uia2V5cHJlc3MiOmNhc2UibW91c2Vkb3duIjpjYXNlImJsdXIiOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuITF9fWZ1bmN0aW9uIE1pKGUpe3JldHVybiJvYmplY3QiPT10eXBlb2YoZT1lLmRldGFpbCkmJiJkYXRhImluIGU/ZS5kYXRhOm51bGx9dmFyIHVpPSExO3ZhciBvaT17ZXZlbnRUeXBlczpuaSxleHRyYWN0RXZlbnRzOmZ1bmN0aW9uKGUsdCxuLGkpe3ZhciByO2lmKHFuKWU6e3N3aXRjaChlKXtjYXNlImNvbXBvc2l0aW9uc3RhcnQiOnZhciBNPW5pLmNvbXBvc2l0aW9uU3RhcnQ7YnJlYWsgZTtjYXNlImNvbXBvc2l0aW9uZW5kIjpNPW5pLmNvbXBvc2l0aW9uRW5kO2JyZWFrIGU7Y2FzZSJjb21wb3NpdGlvbnVwZGF0ZSI6TT1uaS5jb21wb3NpdGlvblVwZGF0ZTticmVhayBlfU09dm9pZCAwfWVsc2UgdWk/cmkoZSxuKSYmKE09bmkuY29tcG9zaXRpb25FbmQpOiJrZXlkb3duIj09PWUmJjIyOT09PW4ua2V5Q29kZSYmKE09bmkuY29tcG9zaXRpb25TdGFydCk7cmV0dXJuIE0/KGVpJiYia28iIT09bi5sb2NhbGUmJih1aXx8TSE9PW5pLmNvbXBvc2l0aW9uU3RhcnQ/TT09PW5pLmNvbXBvc2l0aW9uRW5kJiZ1aSYmKHI9R24oKSk6KFVuPSJ2YWx1ZSJpbihQbj1pKT9Qbi52YWx1ZTpQbi50ZXh0Q29udGVudCx1aT0hMCkpLE09Rm4uZ2V0UG9vbGVkKE0sdCxuLGkpLHI/TS5kYXRhPXI6bnVsbCE9PShyPU1pKG4pKSYmKE0uZGF0YT1yKSxZbihNKSxyPU0pOnI9bnVsbCwoZT0kbj9mdW5jdGlvbihlLHQpe3N3aXRjaChlKXtjYXNlImNvbXBvc2l0aW9uZW5kIjpyZXR1cm4gTWkodCk7Y2FzZSJrZXlwcmVzcyI6cmV0dXJuIDMyIT09dC53aGljaD9udWxsOihpaT0hMCx0aSk7Y2FzZSJ0ZXh0SW5wdXQiOnJldHVybihlPXQuZGF0YSk9PT10aSYmaWk/bnVsbDplO2RlZmF1bHQ6cmV0dXJuIG51bGx9fShlLG4pOmZ1bmN0aW9uKGUsdCl7aWYodWkpcmV0dXJuImNvbXBvc2l0aW9uZW5kIj09PWV8fCFxbiYmcmkoZSx0KT8oZT1HbigpLFpuPVVuPVBuPW51bGwsdWk9ITEsZSk6bnVsbDtzd2l0Y2goZSl7Y2FzZSJwYXN0ZSI6cmV0dXJuIG51bGw7Y2FzZSJrZXlwcmVzcyI6aWYoISh0LmN0cmxLZXl8fHQuYWx0S2V5fHx0Lm1ldGFLZXkpfHx0LmN0cmxLZXkmJnQuYWx0S2V5KXtpZih0LmNoYXImJjE8dC5jaGFyLmxlbmd0aClyZXR1cm4gdC5jaGFyO2lmKHQud2hpY2gpcmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUodC53aGljaCl9cmV0dXJuIG51bGw7Y2FzZSJjb21wb3NpdGlvbmVuZCI6cmV0dXJuIGVpJiYia28iIT09dC5sb2NhbGU/bnVsbDp0LmRhdGE7ZGVmYXVsdDpyZXR1cm4gbnVsbH19KGUsbikpPygodD1Ybi5nZXRQb29sZWQobmkuYmVmb3JlSW5wdXQsdCxuLGkpKS5kYXRhPWUsWW4odCkpOnQ9bnVsbCxudWxsPT09cj90Om51bGw9PT10P3I6W3IsdF19fSxjaT17Y29sb3I6ITAsZGF0ZTohMCxkYXRldGltZTohMCwiZGF0ZXRpbWUtbG9jYWwiOiEwLGVtYWlsOiEwLG1vbnRoOiEwLG51bWJlcjohMCxwYXNzd29yZDohMCxyYW5nZTohMCxzZWFyY2g6ITAsdGVsOiEwLHRleHQ6ITAsdGltZTohMCx1cmw6ITAsd2VlazohMH07ZnVuY3Rpb24gYWkoZSl7dmFyIHQ9ZSYmZS5ub2RlTmFtZSYmZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybiJpbnB1dCI9PT10PyEhY2lbZS50eXBlXToidGV4dGFyZWEiPT09dH12YXIgSWk9e2NoYW5nZTp7cGhhc2VkUmVnaXN0cmF0aW9uTmFtZXM6e2J1YmJsZWQ6Im9uQ2hhbmdlIixjYXB0dXJlZDoib25DaGFuZ2VDYXB0dXJlIn0sZGVwZW5kZW5jaWVzOiJibHVyIGNoYW5nZSBjbGljayBmb2N1cyBpbnB1dCBrZXlkb3duIGtleXVwIHNlbGVjdGlvbmNoYW5nZSIuc3BsaXQoIiAiKX19O2Z1bmN0aW9uIGxpKGUsdCxuKXtyZXR1cm4oZT1Xbi5nZXRQb29sZWQoSWkuY2hhbmdlLGUsdCxuKSkudHlwZT0iY2hhbmdlIix2KG4pLFluKGUpLGV9dmFyIE5pPW51bGwsamk9bnVsbDtmdW5jdGlvbiBnaShlKXtvdChlKX1mdW5jdGlvbiBzaShlKXtpZih6ZShTbihlKSkpcmV0dXJuIGV9ZnVuY3Rpb24gQWkoZSx0KXtpZigiY2hhbmdlIj09PWUpcmV0dXJuIHR9dmFyIERpPSExO2Z1bmN0aW9uIGRpKCl7TmkmJihOaS5kZXRhY2hFdmVudCgib25wcm9wZXJ0eWNoYW5nZSIsVGkpLGppPU5pPW51bGwpfWZ1bmN0aW9uIFRpKGUpe2lmKCJ2YWx1ZSI9PT1lLnByb3BlcnR5TmFtZSYmc2koamkpKWlmKGU9bGkoamksZSxjdChlKSksUClvdChlKTtlbHNle1A9ITA7dHJ5e2goZ2ksZSl9ZmluYWxseXtQPSExLFooKX19fWZ1bmN0aW9uIHlpKGUsdCxuKXsiZm9jdXMiPT09ZT8oZGkoKSxqaT1uLChOaT10KS5hdHRhY2hFdmVudCgib25wcm9wZXJ0eWNoYW5nZSIsVGkpKToiYmx1ciI9PT1lJiZkaSgpfWZ1bmN0aW9uIHppKGUpe2lmKCJzZWxlY3Rpb25jaGFuZ2UiPT09ZXx8ImtleXVwIj09PWV8fCJrZXlkb3duIj09PWUpcmV0dXJuIHNpKGppKX1mdW5jdGlvbiB3aShlLHQpe2lmKCJjbGljayI9PT1lKXJldHVybiBzaSh0KX1mdW5jdGlvbiBmaShlLHQpe2lmKCJpbnB1dCI9PT1lfHwiY2hhbmdlIj09PWUpcmV0dXJuIHNpKHQpfXgmJihEaT1hdCgiaW5wdXQiKSYmKCFkb2N1bWVudC5kb2N1bWVudE1vZGV8fDk8ZG9jdW1lbnQuZG9jdW1lbnRNb2RlKSk7dmFyIExpPXtldmVudFR5cGVzOklpLF9pc0lucHV0RXZlbnRTdXBwb3J0ZWQ6RGksZXh0cmFjdEV2ZW50czpmdW5jdGlvbihlLHQsbixpKXt2YXIgcj10P1NuKHQpOndpbmRvdyxNPXIubm9kZU5hbWUmJnIubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtpZigic2VsZWN0Ij09PU18fCJpbnB1dCI9PT1NJiYiZmlsZSI9PT1yLnR5cGUpdmFyIHU9QWk7ZWxzZSBpZihhaShyKSlpZihEaSl1PWZpO2Vsc2V7dT16aTt2YXIgbz15aX1lbHNlKE09ci5ub2RlTmFtZSkmJiJpbnB1dCI9PT1NLnRvTG93ZXJDYXNlKCkmJigiY2hlY2tib3giPT09ci50eXBlfHwicmFkaW8iPT09ci50eXBlKSYmKHU9d2kpO2lmKHUmJih1PXUoZSx0KSkpcmV0dXJuIGxpKHUsbixpKTtvJiZvKGUscix0KSwiYmx1ciI9PT1lJiYoZT1yLl93cmFwcGVyU3RhdGUpJiZlLmNvbnRyb2xsZWQmJiJudW1iZXIiPT09ci50eXBlJiZ4ZShyLCJudW1iZXIiLHIudmFsdWUpfX0sRWk9V24uZXh0ZW5kKHt2aWV3Om51bGwsZGV0YWlsOm51bGx9KSxDaT17QWx0OiJhbHRLZXkiLENvbnRyb2w6ImN0cmxLZXkiLE1ldGE6Im1ldGFLZXkiLFNoaWZ0OiJzaGlmdEtleSJ9O2Z1bmN0aW9uIHhpKGUpe3ZhciB0PXRoaXMubmF0aXZlRXZlbnQ7cmV0dXJuIHQuZ2V0TW9kaWZpZXJTdGF0ZT90LmdldE1vZGlmaWVyU3RhdGUoZSk6ISEoZT1DaVtlXSkmJiEhdFtlXX1mdW5jdGlvbiBwaSgpe3JldHVybiB4aX12YXIgU2k9MCxtaT0wLE9pPSExLHZpPSExLGJpPUVpLmV4dGVuZCh7c2NyZWVuWDpudWxsLHNjcmVlblk6bnVsbCxjbGllbnRYOm51bGwsY2xpZW50WTpudWxsLHBhZ2VYOm51bGwscGFnZVk6bnVsbCxjdHJsS2V5Om51bGwsc2hpZnRLZXk6bnVsbCxhbHRLZXk6bnVsbCxtZXRhS2V5Om51bGwsZ2V0TW9kaWZpZXJTdGF0ZTpwaSxidXR0b246bnVsbCxidXR0b25zOm51bGwscmVsYXRlZFRhcmdldDpmdW5jdGlvbihlKXtyZXR1cm4gZS5yZWxhdGVkVGFyZ2V0fHwoZS5mcm9tRWxlbWVudD09PWUuc3JjRWxlbWVudD9lLnRvRWxlbWVudDplLmZyb21FbGVtZW50KX0sbW92ZW1lbnRYOmZ1bmN0aW9uKGUpe2lmKCJtb3ZlbWVudFgiaW4gZSlyZXR1cm4gZS5tb3ZlbWVudFg7dmFyIHQ9U2k7cmV0dXJuIFNpPWUuc2NyZWVuWCxPaT8ibW91c2Vtb3ZlIj09PWUudHlwZT9lLnNjcmVlblgtdDowOihPaT0hMCwwKX0sbW92ZW1lbnRZOmZ1bmN0aW9uKGUpe2lmKCJtb3ZlbWVudFkiaW4gZSlyZXR1cm4gZS5tb3ZlbWVudFk7dmFyIHQ9bWk7cmV0dXJuIG1pPWUuc2NyZWVuWSx2aT8ibW91c2Vtb3ZlIj09PWUudHlwZT9lLnNjcmVlblktdDowOih2aT0hMCwwKX19KSxoaT1iaS5leHRlbmQoe3BvaW50ZXJJZDpudWxsLHdpZHRoOm51bGwsaGVpZ2h0Om51bGwscHJlc3N1cmU6bnVsbCx0YW5nZW50aWFsUHJlc3N1cmU6bnVsbCx0aWx0WDpudWxsLHRpbHRZOm51bGwsdHdpc3Q6bnVsbCxwb2ludGVyVHlwZTpudWxsLGlzUHJpbWFyeTpudWxsfSksa2k9e21vdXNlRW50ZXI6e3JlZ2lzdHJhdGlvbk5hbWU6Im9uTW91c2VFbnRlciIsZGVwZW5kZW5jaWVzOlsibW91c2VvdXQiLCJtb3VzZW92ZXIiXX0sbW91c2VMZWF2ZTp7cmVnaXN0cmF0aW9uTmFtZToib25Nb3VzZUxlYXZlIixkZXBlbmRlbmNpZXM6WyJtb3VzZW91dCIsIm1vdXNlb3ZlciJdfSxwb2ludGVyRW50ZXI6e3JlZ2lzdHJhdGlvbk5hbWU6Im9uUG9pbnRlckVudGVyIixkZXBlbmRlbmNpZXM6WyJwb2ludGVyb3V0IiwicG9pbnRlcm92ZXIiXX0scG9pbnRlckxlYXZlOntyZWdpc3RyYXRpb25OYW1lOiJvblBvaW50ZXJMZWF2ZSIsZGVwZW5kZW5jaWVzOlsicG9pbnRlcm91dCIsInBvaW50ZXJvdmVyIl19fSxRaT17ZXZlbnRUeXBlczpraSxleHRyYWN0RXZlbnRzOmZ1bmN0aW9uKGUsdCxuLGkscil7dmFyIE09Im1vdXNlb3ZlciI9PT1lfHwicG9pbnRlcm92ZXIiPT09ZSx1PSJtb3VzZW91dCI9PT1lfHwicG9pbnRlcm91dCI9PT1lO2lmKE0mJjA9PSgzMiZyKSYmKG4ucmVsYXRlZFRhcmdldHx8bi5mcm9tRWxlbWVudCl8fCF1JiYhTSlyZXR1cm4gbnVsbDsoTT1pLndpbmRvdz09PWk/aTooTT1pLm93bmVyRG9jdW1lbnQpP00uZGVmYXVsdFZpZXd8fE0ucGFyZW50V2luZG93OndpbmRvdyx1KT8odT10LG51bGwhPT0odD0odD1uLnJlbGF0ZWRUYXJnZXR8fG4udG9FbGVtZW50KT94bih0KTpudWxsKSYmKHQhPT0kZSh0KXx8NSE9PXQudGFnJiY2IT09dC50YWcpJiYodD1udWxsKSk6dT1udWxsO2lmKHU9PT10KXJldHVybiBudWxsO2lmKCJtb3VzZW91dCI9PT1lfHwibW91c2VvdmVyIj09PWUpdmFyIG89YmksYz1raS5tb3VzZUxlYXZlLGE9a2kubW91c2VFbnRlcixJPSJtb3VzZSI7ZWxzZSJwb2ludGVyb3V0IiE9PWUmJiJwb2ludGVyb3ZlciIhPT1lfHwobz1oaSxjPWtpLnBvaW50ZXJMZWF2ZSxhPWtpLnBvaW50ZXJFbnRlcixJPSJwb2ludGVyIik7aWYoZT1udWxsPT11P006U24odSksTT1udWxsPT10P006U24odCksKGM9by5nZXRQb29sZWQoYyx1LG4saSkpLnR5cGU9SSsibGVhdmUiLGMudGFyZ2V0PWUsYy5yZWxhdGVkVGFyZ2V0PU0sKG49by5nZXRQb29sZWQoYSx0LG4saSkpLnR5cGU9SSsiZW50ZXIiLG4udGFyZ2V0PU0sbi5yZWxhdGVkVGFyZ2V0PWUsST10LChpPXUpJiZJKWU6e2ZvcihhPUksdT0wLGU9bz1pO2U7ZT1PbihlKSl1Kys7Zm9yKGU9MCx0PWE7dDt0PU9uKHQpKWUrKztmb3IoOzA8dS1lOylvPU9uKG8pLHUtLTtmb3IoOzA8ZS11OylhPU9uKGEpLGUtLTtmb3IoO3UtLTspe2lmKG89PT1hfHxvPT09YS5hbHRlcm5hdGUpYnJlYWsgZTtvPU9uKG8pLGE9T24oYSl9bz1udWxsfWVsc2Ugbz1udWxsO2ZvcihhPW8sbz1bXTtpJiZpIT09YSYmKG51bGw9PT0odT1pLmFsdGVybmF0ZSl8fHUhPT1hKTspby5wdXNoKGkpLGk9T24oaSk7Zm9yKGk9W107SSYmSSE9PWEmJihudWxsPT09KHU9SS5hbHRlcm5hdGUpfHx1IT09YSk7KWkucHVzaChJKSxJPU9uKEkpO2ZvcihJPTA7STxvLmxlbmd0aDtJKyspa24ob1tJXSwiYnViYmxlZCIsYyk7Zm9yKEk9aS5sZW5ndGg7MDxJLS07KWtuKGlbSV0sImNhcHR1cmVkIixuKTtyZXR1cm4gMD09KDY0JnIpP1tjXTpbYyxuXX19O3ZhciBZaT0iZnVuY3Rpb24iPT10eXBlb2YgT2JqZWN0LmlzP09iamVjdC5pczpmdW5jdGlvbihlLHQpe3JldHVybiBlPT09dCYmKDAhPT1lfHwxL2U9PTEvdCl8fGUhPWUmJnQhPXR9LFBpPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7ZnVuY3Rpb24gVWkoZSx0KXtpZihZaShlLHQpKXJldHVybiEwO2lmKCJvYmplY3QiIT10eXBlb2YgZXx8bnVsbD09PWV8fCJvYmplY3QiIT10eXBlb2YgdHx8bnVsbD09PXQpcmV0dXJuITE7dmFyIG49T2JqZWN0LmtleXMoZSksaT1PYmplY3Qua2V5cyh0KTtpZihuLmxlbmd0aCE9PWkubGVuZ3RoKXJldHVybiExO2ZvcihpPTA7aTxuLmxlbmd0aDtpKyspaWYoIVBpLmNhbGwodCxuW2ldKXx8IVlpKGVbbltpXV0sdFtuW2ldXSkpcmV0dXJuITE7cmV0dXJuITB9dmFyIFppPXgmJiJkb2N1bWVudE1vZGUiaW4gZG9jdW1lbnQmJjExPj1kb2N1bWVudC5kb2N1bWVudE1vZGUsR2k9e3NlbGVjdDp7cGhhc2VkUmVnaXN0cmF0aW9uTmFtZXM6e2J1YmJsZWQ6Im9uU2VsZWN0IixjYXB0dXJlZDoib25TZWxlY3RDYXB0dXJlIn0sZGVwZW5kZW5jaWVzOiJibHVyIGNvbnRleHRtZW51IGRyYWdlbmQgZm9jdXMga2V5ZG93biBrZXl1cCBtb3VzZWRvd24gbW91c2V1cCBzZWxlY3Rpb25jaGFuZ2UiLnNwbGl0KCIgIil9fSxCaT1udWxsLFJpPW51bGwsV2k9bnVsbCxIaT0hMTtmdW5jdGlvbiBWaShlLHQpe3ZhciBuPXQud2luZG93PT09dD90LmRvY3VtZW50Ojk9PT10Lm5vZGVUeXBlP3Q6dC5vd25lckRvY3VtZW50O3JldHVybiBIaXx8bnVsbD09Qml8fEJpIT09SW4obik/bnVsbDooInNlbGVjdGlvblN0YXJ0ImluKG49QmkpJiZnbihuKT9uPXtzdGFydDpuLnNlbGVjdGlvblN0YXJ0LGVuZDpuLnNlbGVjdGlvbkVuZH06bj17YW5jaG9yTm9kZToobj0obi5vd25lckRvY3VtZW50JiZuLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXd8fHdpbmRvdykuZ2V0U2VsZWN0aW9uKCkpLmFuY2hvck5vZGUsYW5jaG9yT2Zmc2V0Om4uYW5jaG9yT2Zmc2V0LGZvY3VzTm9kZTpuLmZvY3VzTm9kZSxmb2N1c09mZnNldDpuLmZvY3VzT2Zmc2V0fSxXaSYmVWkoV2ksbik/bnVsbDooV2k9biwoZT1Xbi5nZXRQb29sZWQoR2kuc2VsZWN0LFJpLGUsdCkpLnR5cGU9InNlbGVjdCIsZS50YXJnZXQ9QmksWW4oZSksZSkpfXZhciBKaT17ZXZlbnRUeXBlczpHaSxleHRyYWN0RXZlbnRzOmZ1bmN0aW9uKGUsdCxuLGkscixNKXtpZighKE09IShyPU18fChpLndpbmRvdz09PWk/aS5kb2N1bWVudDo5PT09aS5ub2RlVHlwZT9pOmkub3duZXJEb2N1bWVudCkpKSl7ZTp7cj1fZShyKSxNPUUub25TZWxlY3Q7Zm9yKHZhciB1PTA7dTxNLmxlbmd0aDt1KyspaWYoIXIuaGFzKE1bdV0pKXtyPSExO2JyZWFrIGV9cj0hMH1NPSFyfWlmKE0pcmV0dXJuIG51bGw7c3dpdGNoKHI9dD9Tbih0KTp3aW5kb3csZSl7Y2FzZSJmb2N1cyI6KGFpKHIpfHwidHJ1ZSI9PT1yLmNvbnRlbnRFZGl0YWJsZSkmJihCaT1yLFJpPXQsV2k9bnVsbCk7YnJlYWs7Y2FzZSJibHVyIjpXaT1SaT1CaT1udWxsO2JyZWFrO2Nhc2UibW91c2Vkb3duIjpIaT0hMDticmVhaztjYXNlImNvbnRleHRtZW51IjpjYXNlIm1vdXNldXAiOmNhc2UiZHJhZ2VuZCI6cmV0dXJuIEhpPSExLFZpKG4saSk7Y2FzZSJzZWxlY3Rpb25jaGFuZ2UiOmlmKFppKWJyZWFrO2Nhc2Uia2V5ZG93biI6Y2FzZSJrZXl1cCI6cmV0dXJuIFZpKG4saSl9cmV0dXJuIG51bGx9fSxGaT1Xbi5leHRlbmQoe2FuaW1hdGlvbk5hbWU6bnVsbCxlbGFwc2VkVGltZTpudWxsLHBzZXVkb0VsZW1lbnQ6bnVsbH0pLFhpPVduLmV4dGVuZCh7Y2xpcGJvYXJkRGF0YTpmdW5jdGlvbihlKXtyZXR1cm4iY2xpcGJvYXJkRGF0YSJpbiBlP2UuY2xpcGJvYXJkRGF0YTp3aW5kb3cuY2xpcGJvYXJkRGF0YX19KSxLaT1FaS5leHRlbmQoe3JlbGF0ZWRUYXJnZXQ6bnVsbH0pO2Z1bmN0aW9uIHFpKGUpe3ZhciB0PWUua2V5Q29kZTtyZXR1cm4iY2hhckNvZGUiaW4gZT8wPT09KGU9ZS5jaGFyQ29kZSkmJjEzPT09dCYmKGU9MTMpOmU9dCwxMD09PWUmJihlPTEzKSwzMjw9ZXx8MTM9PT1lP2U6MH12YXIgX2k9e0VzYzoiRXNjYXBlIixTcGFjZWJhcjoiICIsTGVmdDoiQXJyb3dMZWZ0IixVcDoiQXJyb3dVcCIsUmlnaHQ6IkFycm93UmlnaHQiLERvd246IkFycm93RG93biIsRGVsOiJEZWxldGUiLFdpbjoiT1MiLE1lbnU6IkNvbnRleHRNZW51IixBcHBzOiJDb250ZXh0TWVudSIsU2Nyb2xsOiJTY3JvbGxMb2NrIixNb3pQcmludGFibGVLZXk6IlVuaWRlbnRpZmllZCJ9LCRpPXs4OiJCYWNrc3BhY2UiLDk6IlRhYiIsMTI6IkNsZWFyIiwxMzoiRW50ZXIiLDE2OiJTaGlmdCIsMTc6IkNvbnRyb2wiLDE4OiJBbHQiLDE5OiJQYXVzZSIsMjA6IkNhcHNMb2NrIiwyNzoiRXNjYXBlIiwzMjoiICIsMzM6IlBhZ2VVcCIsMzQ6IlBhZ2VEb3duIiwzNToiRW5kIiwzNjoiSG9tZSIsMzc6IkFycm93TGVmdCIsMzg6IkFycm93VXAiLDM5OiJBcnJvd1JpZ2h0Iiw0MDoiQXJyb3dEb3duIiw0NToiSW5zZXJ0Iiw0NjoiRGVsZXRlIiwxMTI6IkYxIiwxMTM6IkYyIiwxMTQ6IkYzIiwxMTU6IkY0IiwxMTY6IkY1IiwxMTc6IkY2IiwxMTg6IkY3IiwxMTk6IkY4IiwxMjA6IkY5IiwxMjE6IkYxMCIsMTIyOiJGMTEiLDEyMzoiRjEyIiwxNDQ6Ik51bUxvY2siLDE0NToiU2Nyb2xsTG9jayIsMjI0OiJNZXRhIn0sZXI9RWkuZXh0ZW5kKHtrZXk6ZnVuY3Rpb24oZSl7aWYoZS5rZXkpe3ZhciB0PV9pW2Uua2V5XXx8ZS5rZXk7aWYoIlVuaWRlbnRpZmllZCIhPT10KXJldHVybiB0fXJldHVybiJrZXlwcmVzcyI9PT1lLnR5cGU/MTM9PT0oZT1xaShlKSk/IkVudGVyIjpTdHJpbmcuZnJvbUNoYXJDb2RlKGUpOiJrZXlkb3duIj09PWUudHlwZXx8ImtleXVwIj09PWUudHlwZT8kaVtlLmtleUNvZGVdfHwiVW5pZGVudGlmaWVkIjoiIn0sbG9jYXRpb246bnVsbCxjdHJsS2V5Om51bGwsc2hpZnRLZXk6bnVsbCxhbHRLZXk6bnVsbCxtZXRhS2V5Om51bGwscmVwZWF0Om51bGwsbG9jYWxlOm51bGwsZ2V0TW9kaWZpZXJTdGF0ZTpwaSxjaGFyQ29kZTpmdW5jdGlvbihlKXtyZXR1cm4ia2V5cHJlc3MiPT09ZS50eXBlP3FpKGUpOjB9LGtleUNvZGU6ZnVuY3Rpb24oZSl7cmV0dXJuImtleWRvd24iPT09ZS50eXBlfHwia2V5dXAiPT09ZS50eXBlP2Uua2V5Q29kZTowfSx3aGljaDpmdW5jdGlvbihlKXtyZXR1cm4ia2V5cHJlc3MiPT09ZS50eXBlP3FpKGUpOiJrZXlkb3duIj09PWUudHlwZXx8ImtleXVwIj09PWUudHlwZT9lLmtleUNvZGU6MH19KSx0cj1iaS5leHRlbmQoe2RhdGFUcmFuc2ZlcjpudWxsfSksbnI9RWkuZXh0ZW5kKHt0b3VjaGVzOm51bGwsdGFyZ2V0VG91Y2hlczpudWxsLGNoYW5nZWRUb3VjaGVzOm51bGwsYWx0S2V5Om51bGwsbWV0YUtleTpudWxsLGN0cmxLZXk6bnVsbCxzaGlmdEtleTpudWxsLGdldE1vZGlmaWVyU3RhdGU6cGl9KSxpcj1Xbi5leHRlbmQoe3Byb3BlcnR5TmFtZTpudWxsLGVsYXBzZWRUaW1lOm51bGwscHNldWRvRWxlbWVudDpudWxsfSkscnI9YmkuZXh0ZW5kKHtkZWx0YVg6ZnVuY3Rpb24oZSl7cmV0dXJuImRlbHRhWCJpbiBlP2UuZGVsdGFYOiJ3aGVlbERlbHRhWCJpbiBlPy1lLndoZWVsRGVsdGFYOjB9LGRlbHRhWTpmdW5jdGlvbihlKXtyZXR1cm4iZGVsdGFZImluIGU/ZS5kZWx0YVk6IndoZWVsRGVsdGFZImluIGU/LWUud2hlZWxEZWx0YVk6IndoZWVsRGVsdGEiaW4gZT8tZS53aGVlbERlbHRhOjB9LGRlbHRhWjpudWxsLGRlbHRhTW9kZTpudWxsfSksTXI9e2V2ZW50VHlwZXM6WXQsZXh0cmFjdEV2ZW50czpmdW5jdGlvbihlLHQsbixpKXt2YXIgcj1QdC5nZXQoZSk7aWYoIXIpcmV0dXJuIG51bGw7c3dpdGNoKGUpe2Nhc2Uia2V5cHJlc3MiOmlmKDA9PT1xaShuKSlyZXR1cm4gbnVsbDtjYXNlImtleWRvd24iOmNhc2Uia2V5dXAiOmU9ZXI7YnJlYWs7Y2FzZSJibHVyIjpjYXNlImZvY3VzIjplPUtpO2JyZWFrO2Nhc2UiY2xpY2siOmlmKDI9PT1uLmJ1dHRvbilyZXR1cm4gbnVsbDtjYXNlImF1eGNsaWNrIjpjYXNlImRibGNsaWNrIjpjYXNlIm1vdXNlZG93biI6Y2FzZSJtb3VzZW1vdmUiOmNhc2UibW91c2V1cCI6Y2FzZSJtb3VzZW91dCI6Y2FzZSJtb3VzZW92ZXIiOmNhc2UiY29udGV4dG1lbnUiOmU9Ymk7YnJlYWs7Y2FzZSJkcmFnIjpjYXNlImRyYWdlbmQiOmNhc2UiZHJhZ2VudGVyIjpjYXNlImRyYWdleGl0IjpjYXNlImRyYWdsZWF2ZSI6Y2FzZSJkcmFnb3ZlciI6Y2FzZSJkcmFnc3RhcnQiOmNhc2UiZHJvcCI6ZT10cjticmVhaztjYXNlInRvdWNoY2FuY2VsIjpjYXNlInRvdWNoZW5kIjpjYXNlInRvdWNobW92ZSI6Y2FzZSJ0b3VjaHN0YXJ0IjplPW5yO2JyZWFrO2Nhc2UgVmU6Y2FzZSBKZTpjYXNlIEZlOmU9Rmk7YnJlYWs7Y2FzZSBYZTplPWlyO2JyZWFrO2Nhc2Uic2Nyb2xsIjplPUVpO2JyZWFrO2Nhc2Uid2hlZWwiOmU9cnI7YnJlYWs7Y2FzZSJjb3B5IjpjYXNlImN1dCI6Y2FzZSJwYXN0ZSI6ZT1YaTticmVhaztjYXNlImdvdHBvaW50ZXJjYXB0dXJlIjpjYXNlImxvc3Rwb2ludGVyY2FwdHVyZSI6Y2FzZSJwb2ludGVyY2FuY2VsIjpjYXNlInBvaW50ZXJkb3duIjpjYXNlInBvaW50ZXJtb3ZlIjpjYXNlInBvaW50ZXJvdXQiOmNhc2UicG9pbnRlcm92ZXIiOmNhc2UicG9pbnRlcnVwIjplPWhpO2JyZWFrO2RlZmF1bHQ6ZT1Xbn1yZXR1cm4gWW4odD1lLmdldFBvb2xlZChyLHQsbixpKSksdH19O2lmKGQpdGhyb3cgRXJyb3IodSgxMDEpKTtkPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKCJSZXNwb25kZXJFdmVudFBsdWdpbiBTaW1wbGVFdmVudFBsdWdpbiBFbnRlckxlYXZlRXZlbnRQbHVnaW4gQ2hhbmdlRXZlbnRQbHVnaW4gU2VsZWN0RXZlbnRQbHVnaW4gQmVmb3JlSW5wdXRFdmVudFBsdWdpbiIuc3BsaXQoIiAiKSkseSgpLGc9bW4scz1wbixBPVNuLEMoe1NpbXBsZUV2ZW50UGx1Z2luOk1yLEVudGVyTGVhdmVFdmVudFBsdWdpbjpRaSxDaGFuZ2VFdmVudFBsdWdpbjpMaSxTZWxlY3RFdmVudFBsdWdpbjpKaSxCZWZvcmVJbnB1dEV2ZW50UGx1Z2luOm9pfSk7dmFyIHVyPVtdLG9yPS0xO2Z1bmN0aW9uIGNyKGUpezA+b3J8fChlLmN1cnJlbnQ9dXJbb3JdLHVyW29yXT1udWxsLG9yLS0pfWZ1bmN0aW9uIGFyKGUsdCl7b3IrKyx1cltvcl09ZS5jdXJyZW50LGUuY3VycmVudD10fXZhciBJcj17fSxscj17Y3VycmVudDpJcn0sTnI9e2N1cnJlbnQ6ITF9LGpyPUlyO2Z1bmN0aW9uIGdyKGUsdCl7dmFyIG49ZS50eXBlLmNvbnRleHRUeXBlcztpZighbilyZXR1cm4gSXI7dmFyIGk9ZS5zdGF0ZU5vZGU7aWYoaSYmaS5fX3JlYWN0SW50ZXJuYWxNZW1vaXplZFVubWFza2VkQ2hpbGRDb250ZXh0PT09dClyZXR1cm4gaS5fX3JlYWN0SW50ZXJuYWxNZW1vaXplZE1hc2tlZENoaWxkQ29udGV4dDt2YXIgcixNPXt9O2ZvcihyIGluIG4pTVtyXT10W3JdO3JldHVybiBpJiYoKGU9ZS5zdGF0ZU5vZGUpLl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkVW5tYXNrZWRDaGlsZENvbnRleHQ9dCxlLl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkTWFza2VkQ2hpbGRDb250ZXh0PU0pLE19ZnVuY3Rpb24gc3IoZSl7cmV0dXJuIG51bGwhPShlPWUuY2hpbGRDb250ZXh0VHlwZXMpfWZ1bmN0aW9uIEFyKCl7Y3IoTnIpLGNyKGxyKX1mdW5jdGlvbiBEcihlLHQsbil7aWYobHIuY3VycmVudCE9PUlyKXRocm93IEVycm9yKHUoMTY4KSk7YXIobHIsdCksYXIoTnIsbil9ZnVuY3Rpb24gZHIoZSx0LG4pe3ZhciBpPWUuc3RhdGVOb2RlO2lmKGU9dC5jaGlsZENvbnRleHRUeXBlcywiZnVuY3Rpb24iIT10eXBlb2YgaS5nZXRDaGlsZENvbnRleHQpcmV0dXJuIG47Zm9yKHZhciBNIGluIGk9aS5nZXRDaGlsZENvbnRleHQoKSlpZighKE0gaW4gZSkpdGhyb3cgRXJyb3IodSgxMDgsQWUodCl8fCJVbmtub3duIixNKSk7cmV0dXJuIHIoe30sbix7fSxpKX1mdW5jdGlvbiBUcihlKXtyZXR1cm4gZT0oZT1lLnN0YXRlTm9kZSkmJmUuX19yZWFjdEludGVybmFsTWVtb2l6ZWRNZXJnZWRDaGlsZENvbnRleHR8fElyLGpyPWxyLmN1cnJlbnQsYXIobHIsZSksYXIoTnIsTnIuY3VycmVudCksITB9ZnVuY3Rpb24geXIoZSx0LG4pe3ZhciBpPWUuc3RhdGVOb2RlO2lmKCFpKXRocm93IEVycm9yKHUoMTY5KSk7bj8oZT1kcihlLHQsanIpLGkuX19yZWFjdEludGVybmFsTWVtb2l6ZWRNZXJnZWRDaGlsZENvbnRleHQ9ZSxjcihOciksY3IobHIpLGFyKGxyLGUpKTpjcihOciksYXIoTnIsbil9dmFyIHpyPU0udW5zdGFibGVfcnVuV2l0aFByaW9yaXR5LHdyPU0udW5zdGFibGVfc2NoZWR1bGVDYWxsYmFjayxmcj1NLnVuc3RhYmxlX2NhbmNlbENhbGxiYWNrLExyPU0udW5zdGFibGVfcmVxdWVzdFBhaW50LEVyPU0udW5zdGFibGVfbm93LENyPU0udW5zdGFibGVfZ2V0Q3VycmVudFByaW9yaXR5TGV2ZWwseHI9TS51bnN0YWJsZV9JbW1lZGlhdGVQcmlvcml0eSxwcj1NLnVuc3RhYmxlX1VzZXJCbG9ja2luZ1ByaW9yaXR5LFNyPU0udW5zdGFibGVfTm9ybWFsUHJpb3JpdHksbXI9TS51bnN0YWJsZV9Mb3dQcmlvcml0eSxPcj1NLnVuc3RhYmxlX0lkbGVQcmlvcml0eSx2cj17fSxicj1NLnVuc3RhYmxlX3Nob3VsZFlpZWxkLGhyPXZvaWQgMCE9PUxyP0xyOmZ1bmN0aW9uKCl7fSxrcj1udWxsLFFyPW51bGwsWXI9ITEsUHI9RXIoKSxVcj0xZTQ+UHI/RXI6ZnVuY3Rpb24oKXtyZXR1cm4gRXIoKS1Qcn07ZnVuY3Rpb24gWnIoKXtzd2l0Y2goQ3IoKSl7Y2FzZSB4cjpyZXR1cm4gOTk7Y2FzZSBwcjpyZXR1cm4gOTg7Y2FzZSBTcjpyZXR1cm4gOTc7Y2FzZSBtcjpyZXR1cm4gOTY7Y2FzZSBPcjpyZXR1cm4gOTU7ZGVmYXVsdDp0aHJvdyBFcnJvcih1KDMzMikpfX1mdW5jdGlvbiBHcihlKXtzd2l0Y2goZSl7Y2FzZSA5OTpyZXR1cm4geHI7Y2FzZSA5ODpyZXR1cm4gcHI7Y2FzZSA5NzpyZXR1cm4gU3I7Y2FzZSA5NjpyZXR1cm4gbXI7Y2FzZSA5NTpyZXR1cm4gT3I7ZGVmYXVsdDp0aHJvdyBFcnJvcih1KDMzMikpfX1mdW5jdGlvbiBCcihlLHQpe3JldHVybiBlPUdyKGUpLHpyKGUsdCl9ZnVuY3Rpb24gUnIoZSx0LG4pe3JldHVybiBlPUdyKGUpLHdyKGUsdCxuKX1mdW5jdGlvbiBXcihlKXtyZXR1cm4gbnVsbD09PWtyPyhrcj1bZV0sUXI9d3IoeHIsVnIpKTprci5wdXNoKGUpLHZyfWZ1bmN0aW9uIEhyKCl7aWYobnVsbCE9PVFyKXt2YXIgZT1RcjtRcj1udWxsLGZyKGUpfVZyKCl9ZnVuY3Rpb24gVnIoKXtpZighWXImJm51bGwhPT1rcil7WXI9ITA7dmFyIGU9MDt0cnl7dmFyIHQ9a3I7QnIoOTksKGZ1bmN0aW9uKCl7Zm9yKDtlPHQubGVuZ3RoO2UrKyl7dmFyIG49dFtlXTtkb3tuPW4oITApfXdoaWxlKG51bGwhPT1uKX19KSksa3I9bnVsbH1jYXRjaCh0KXt0aHJvdyBudWxsIT09a3ImJihrcj1rci5zbGljZShlKzEpKSx3cih4cixIciksdH1maW5hbGx5e1lyPSExfX19ZnVuY3Rpb24gSnIoZSx0LG4pe3JldHVybiAxMDczNzQxODIxLSgxKygoMTA3Mzc0MTgyMS1lK3QvMTApLyhuLz0xMCl8MCkpKm59ZnVuY3Rpb24gRnIoZSx0KXtpZihlJiZlLmRlZmF1bHRQcm9wcylmb3IodmFyIG4gaW4gdD1yKHt9LHQpLGU9ZS5kZWZhdWx0UHJvcHMpdm9pZCAwPT09dFtuXSYmKHRbbl09ZVtuXSk7cmV0dXJuIHR9dmFyIFhyPXtjdXJyZW50Om51bGx9LEtyPW51bGwscXI9bnVsbCxfcj1udWxsO2Z1bmN0aW9uICRyKCl7X3I9cXI9S3I9bnVsbH1mdW5jdGlvbiBlTShlKXt2YXIgdD1Yci5jdXJyZW50O2NyKFhyKSxlLnR5cGUuX2NvbnRleHQuX2N1cnJlbnRWYWx1ZT10fWZ1bmN0aW9uIHRNKGUsdCl7Zm9yKDtudWxsIT09ZTspe3ZhciBuPWUuYWx0ZXJuYXRlO2lmKGUuY2hpbGRFeHBpcmF0aW9uVGltZTx0KWUuY2hpbGRFeHBpcmF0aW9uVGltZT10LG51bGwhPT1uJiZuLmNoaWxkRXhwaXJhdGlvblRpbWU8dCYmKG4uY2hpbGRFeHBpcmF0aW9uVGltZT10KTtlbHNle2lmKCEobnVsbCE9PW4mJm4uY2hpbGRFeHBpcmF0aW9uVGltZTx0KSlicmVhaztuLmNoaWxkRXhwaXJhdGlvblRpbWU9dH1lPWUucmV0dXJufX1mdW5jdGlvbiBuTShlLHQpe0tyPWUsX3I9cXI9bnVsbCxudWxsIT09KGU9ZS5kZXBlbmRlbmNpZXMpJiZudWxsIT09ZS5maXJzdENvbnRleHQmJihlLmV4cGlyYXRpb25UaW1lPj10JiYoU3U9ITApLGUuZmlyc3RDb250ZXh0PW51bGwpfWZ1bmN0aW9uIGlNKGUsdCl7aWYoX3IhPT1lJiYhMSE9PXQmJjAhPT10KWlmKCJudW1iZXIiPT10eXBlb2YgdCYmMTA3Mzc0MTgyMyE9PXR8fChfcj1lLHQ9MTA3Mzc0MTgyMyksdD17Y29udGV4dDplLG9ic2VydmVkQml0czp0LG5leHQ6bnVsbH0sbnVsbD09PXFyKXtpZihudWxsPT09S3IpdGhyb3cgRXJyb3IodSgzMDgpKTtxcj10LEtyLmRlcGVuZGVuY2llcz17ZXhwaXJhdGlvblRpbWU6MCxmaXJzdENvbnRleHQ6dCxyZXNwb25kZXJzOm51bGx9fWVsc2UgcXI9cXIubmV4dD10O3JldHVybiBlLl9jdXJyZW50VmFsdWV9dmFyIHJNPSExO2Z1bmN0aW9uIE1NKGUpe2UudXBkYXRlUXVldWU9e2Jhc2VTdGF0ZTplLm1lbW9pemVkU3RhdGUsYmFzZVF1ZXVlOm51bGwsc2hhcmVkOntwZW5kaW5nOm51bGx9LGVmZmVjdHM6bnVsbH19ZnVuY3Rpb24gdU0oZSx0KXtlPWUudXBkYXRlUXVldWUsdC51cGRhdGVRdWV1ZT09PWUmJih0LnVwZGF0ZVF1ZXVlPXtiYXNlU3RhdGU6ZS5iYXNlU3RhdGUsYmFzZVF1ZXVlOmUuYmFzZVF1ZXVlLHNoYXJlZDplLnNoYXJlZCxlZmZlY3RzOmUuZWZmZWN0c30pfWZ1bmN0aW9uIG9NKGUsdCl7cmV0dXJuKGU9e2V4cGlyYXRpb25UaW1lOmUsc3VzcGVuc2VDb25maWc6dCx0YWc6MCxwYXlsb2FkOm51bGwsY2FsbGJhY2s6bnVsbCxuZXh0Om51bGx9KS5uZXh0PWV9ZnVuY3Rpb24gY00oZSx0KXtpZihudWxsIT09KGU9ZS51cGRhdGVRdWV1ZSkpe3ZhciBuPShlPWUuc2hhcmVkKS5wZW5kaW5nO251bGw9PT1uP3QubmV4dD10Oih0Lm5leHQ9bi5uZXh0LG4ubmV4dD10KSxlLnBlbmRpbmc9dH19ZnVuY3Rpb24gYU0oZSx0KXt2YXIgbj1lLmFsdGVybmF0ZTtudWxsIT09biYmdU0obixlKSxudWxsPT09KG49KGU9ZS51cGRhdGVRdWV1ZSkuYmFzZVF1ZXVlKT8oZS5iYXNlUXVldWU9dC5uZXh0PXQsdC5uZXh0PXQpOih0Lm5leHQ9bi5uZXh0LG4ubmV4dD10KX1mdW5jdGlvbiBJTShlLHQsbixpKXt2YXIgTT1lLnVwZGF0ZVF1ZXVlO3JNPSExO3ZhciB1PU0uYmFzZVF1ZXVlLG89TS5zaGFyZWQucGVuZGluZztpZihudWxsIT09byl7aWYobnVsbCE9PXUpe3ZhciBjPXUubmV4dDt1Lm5leHQ9by5uZXh0LG8ubmV4dD1jfXU9byxNLnNoYXJlZC5wZW5kaW5nPW51bGwsbnVsbCE9PShjPWUuYWx0ZXJuYXRlKSYmKG51bGwhPT0oYz1jLnVwZGF0ZVF1ZXVlKSYmKGMuYmFzZVF1ZXVlPW8pKX1pZihudWxsIT09dSl7Yz11Lm5leHQ7dmFyIGE9TS5iYXNlU3RhdGUsST0wLGw9bnVsbCxOPW51bGwsaj1udWxsO2lmKG51bGwhPT1jKWZvcih2YXIgZz1jOzspe2lmKChvPWcuZXhwaXJhdGlvblRpbWUpPGkpe3ZhciBzPXtleHBpcmF0aW9uVGltZTpnLmV4cGlyYXRpb25UaW1lLHN1c3BlbnNlQ29uZmlnOmcuc3VzcGVuc2VDb25maWcsdGFnOmcudGFnLHBheWxvYWQ6Zy5wYXlsb2FkLGNhbGxiYWNrOmcuY2FsbGJhY2ssbmV4dDpudWxsfTtudWxsPT09aj8oTj1qPXMsbD1hKTpqPWoubmV4dD1zLG8+SSYmKEk9byl9ZWxzZXtudWxsIT09aiYmKGo9ai5uZXh0PXtleHBpcmF0aW9uVGltZToxMDczNzQxODIzLHN1c3BlbnNlQ29uZmlnOmcuc3VzcGVuc2VDb25maWcsdGFnOmcudGFnLHBheWxvYWQ6Zy5wYXlsb2FkLGNhbGxiYWNrOmcuY2FsbGJhY2ssbmV4dDpudWxsfSksTWMobyxnLnN1c3BlbnNlQ29uZmlnKTtlOnt2YXIgQT1lLEQ9Zztzd2l0Y2gobz10LHM9bixELnRhZyl7Y2FzZSAxOmlmKCJmdW5jdGlvbiI9PXR5cGVvZihBPUQucGF5bG9hZCkpe2E9QS5jYWxsKHMsYSxvKTticmVhayBlfWE9QTticmVhayBlO2Nhc2UgMzpBLmVmZmVjdFRhZz0tNDA5NyZBLmVmZmVjdFRhZ3w2NDtjYXNlIDA6aWYobnVsbD09KG89ImZ1bmN0aW9uIj09dHlwZW9mKEE9RC5wYXlsb2FkKT9BLmNhbGwocyxhLG8pOkEpKWJyZWFrIGU7YT1yKHt9LGEsbyk7YnJlYWsgZTtjYXNlIDI6ck09ITB9fW51bGwhPT1nLmNhbGxiYWNrJiYoZS5lZmZlY3RUYWd8PTMyLG51bGw9PT0obz1NLmVmZmVjdHMpP00uZWZmZWN0cz1bZ106by5wdXNoKGcpKX1pZihudWxsPT09KGc9Zy5uZXh0KXx8Zz09PWMpe2lmKG51bGw9PT0obz1NLnNoYXJlZC5wZW5kaW5nKSlicmVhaztnPXUubmV4dD1vLm5leHQsby5uZXh0PWMsTS5iYXNlUXVldWU9dT1vLE0uc2hhcmVkLnBlbmRpbmc9bnVsbH19bnVsbD09PWo/bD1hOmoubmV4dD1OLE0uYmFzZVN0YXRlPWwsTS5iYXNlUXVldWU9aix1YyhJKSxlLmV4cGlyYXRpb25UaW1lPUksZS5tZW1vaXplZFN0YXRlPWF9fWZ1bmN0aW9uIGxNKGUsdCxuKXtpZihlPXQuZWZmZWN0cyx0LmVmZmVjdHM9bnVsbCxudWxsIT09ZSlmb3IodD0wO3Q8ZS5sZW5ndGg7dCsrKXt2YXIgaT1lW3RdLHI9aS5jYWxsYmFjaztpZihudWxsIT09cil7aWYoaS5jYWxsYmFjaz1udWxsLGk9cixyPW4sImZ1bmN0aW9uIiE9dHlwZW9mIGkpdGhyb3cgRXJyb3IodSgxOTEsaSkpO2kuY2FsbChyKX19fXZhciBOTT1LLlJlYWN0Q3VycmVudEJhdGNoQ29uZmlnLGpNPShuZXcgaS5Db21wb25lbnQpLnJlZnM7ZnVuY3Rpb24gZ00oZSx0LG4saSl7bj1udWxsPT0obj1uKGksdD1lLm1lbW9pemVkU3RhdGUpKT90OnIoe30sdCxuKSxlLm1lbW9pemVkU3RhdGU9biwwPT09ZS5leHBpcmF0aW9uVGltZSYmKGUudXBkYXRlUXVldWUuYmFzZVN0YXRlPW4pfXZhciBzTT17aXNNb3VudGVkOmZ1bmN0aW9uKGUpe3JldHVybiEhKGU9ZS5fcmVhY3RJbnRlcm5hbEZpYmVyKSYmJGUoZSk9PT1lfSxlbnF1ZXVlU2V0U3RhdGU6ZnVuY3Rpb24oZSx0LG4pe2U9ZS5fcmVhY3RJbnRlcm5hbEZpYmVyO3ZhciBpPVZvKCkscj1OTS5zdXNwZW5zZTsocj1vTShpPUpvKGksZSxyKSxyKSkucGF5bG9hZD10LG51bGwhPW4mJihyLmNhbGxiYWNrPW4pLGNNKGUsciksRm8oZSxpKX0sZW5xdWV1ZVJlcGxhY2VTdGF0ZTpmdW5jdGlvbihlLHQsbil7ZT1lLl9yZWFjdEludGVybmFsRmliZXI7dmFyIGk9Vm8oKSxyPU5NLnN1c3BlbnNlOyhyPW9NKGk9Sm8oaSxlLHIpLHIpKS50YWc9MSxyLnBheWxvYWQ9dCxudWxsIT1uJiYoci5jYWxsYmFjaz1uKSxjTShlLHIpLEZvKGUsaSl9LGVucXVldWVGb3JjZVVwZGF0ZTpmdW5jdGlvbihlLHQpe2U9ZS5fcmVhY3RJbnRlcm5hbEZpYmVyO3ZhciBuPVZvKCksaT1OTS5zdXNwZW5zZTsoaT1vTShuPUpvKG4sZSxpKSxpKSkudGFnPTIsbnVsbCE9dCYmKGkuY2FsbGJhY2s9dCksY00oZSxpKSxGbyhlLG4pfX07ZnVuY3Rpb24gQU0oZSx0LG4saSxyLE0sdSl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mKGU9ZS5zdGF0ZU5vZGUpLnNob3VsZENvbXBvbmVudFVwZGF0ZT9lLnNob3VsZENvbXBvbmVudFVwZGF0ZShpLE0sdSk6IXQucHJvdG90eXBlfHwhdC5wcm90b3R5cGUuaXNQdXJlUmVhY3RDb21wb25lbnR8fCghVWkobixpKXx8IVVpKHIsTSkpfWZ1bmN0aW9uIERNKGUsdCxuKXt2YXIgaT0hMSxyPUlyLE09dC5jb250ZXh0VHlwZTtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIE0mJm51bGwhPT1NP009aU0oTSk6KHI9c3IodCk/anI6bHIuY3VycmVudCxNPShpPW51bGwhPShpPXQuY29udGV4dFR5cGVzKSk/Z3IoZSxyKTpJciksdD1uZXcgdChuLE0pLGUubWVtb2l6ZWRTdGF0ZT1udWxsIT09dC5zdGF0ZSYmdm9pZCAwIT09dC5zdGF0ZT90LnN0YXRlOm51bGwsdC51cGRhdGVyPXNNLGUuc3RhdGVOb2RlPXQsdC5fcmVhY3RJbnRlcm5hbEZpYmVyPWUsaSYmKChlPWUuc3RhdGVOb2RlKS5fX3JlYWN0SW50ZXJuYWxNZW1vaXplZFVubWFza2VkQ2hpbGRDb250ZXh0PXIsZS5fX3JlYWN0SW50ZXJuYWxNZW1vaXplZE1hc2tlZENoaWxkQ29udGV4dD1NKSx0fWZ1bmN0aW9uIGRNKGUsdCxuLGkpe2U9dC5zdGF0ZSwiZnVuY3Rpb24iPT10eXBlb2YgdC5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzJiZ0LmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMobixpKSwiZnVuY3Rpb24iPT10eXBlb2YgdC5VTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyYmdC5VTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyhuLGkpLHQuc3RhdGUhPT1lJiZzTS5lbnF1ZXVlUmVwbGFjZVN0YXRlKHQsdC5zdGF0ZSxudWxsKX1mdW5jdGlvbiBUTShlLHQsbixpKXt2YXIgcj1lLnN0YXRlTm9kZTtyLnByb3BzPW4sci5zdGF0ZT1lLm1lbW9pemVkU3RhdGUsci5yZWZzPWpNLE1NKGUpO3ZhciBNPXQuY29udGV4dFR5cGU7Im9iamVjdCI9PXR5cGVvZiBNJiZudWxsIT09TT9yLmNvbnRleHQ9aU0oTSk6KE09c3IodCk/anI6bHIuY3VycmVudCxyLmNvbnRleHQ9Z3IoZSxNKSksSU0oZSxuLHIsaSksci5zdGF0ZT1lLm1lbW9pemVkU3RhdGUsImZ1bmN0aW9uIj09dHlwZW9mKE09dC5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMpJiYoZ00oZSx0LE0sbiksci5zdGF0ZT1lLm1lbW9pemVkU3RhdGUpLCJmdW5jdGlvbiI9PXR5cGVvZiB0LmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wc3x8ImZ1bmN0aW9uIj09dHlwZW9mIHIuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGV8fCJmdW5jdGlvbiIhPXR5cGVvZiByLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQmJiJmdW5jdGlvbiIhPXR5cGVvZiByLmNvbXBvbmVudFdpbGxNb3VudHx8KHQ9ci5zdGF0ZSwiZnVuY3Rpb24iPT10eXBlb2Ygci5jb21wb25lbnRXaWxsTW91bnQmJnIuY29tcG9uZW50V2lsbE1vdW50KCksImZ1bmN0aW9uIj09dHlwZW9mIHIuVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCYmci5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50KCksdCE9PXIuc3RhdGUmJnNNLmVucXVldWVSZXBsYWNlU3RhdGUocixyLnN0YXRlLG51bGwpLElNKGUsbixyLGkpLHIuc3RhdGU9ZS5tZW1vaXplZFN0YXRlKSwiZnVuY3Rpb24iPT10eXBlb2Ygci5jb21wb25lbnREaWRNb3VudCYmKGUuZWZmZWN0VGFnfD00KX12YXIgeU09QXJyYXkuaXNBcnJheTtmdW5jdGlvbiB6TShlLHQsbil7aWYobnVsbCE9PShlPW4ucmVmKSYmImZ1bmN0aW9uIiE9dHlwZW9mIGUmJiJvYmplY3QiIT10eXBlb2YgZSl7aWYobi5fb3duZXIpe2lmKG49bi5fb3duZXIpe2lmKDEhPT1uLnRhZyl0aHJvdyBFcnJvcih1KDMwOSkpO3ZhciBpPW4uc3RhdGVOb2RlfWlmKCFpKXRocm93IEVycm9yKHUoMTQ3LGUpKTt2YXIgcj0iIitlO3JldHVybiBudWxsIT09dCYmbnVsbCE9PXQucmVmJiYiZnVuY3Rpb24iPT10eXBlb2YgdC5yZWYmJnQucmVmLl9zdHJpbmdSZWY9PT1yP3QucmVmOigodD1mdW5jdGlvbihlKXt2YXIgdD1pLnJlZnM7dD09PWpNJiYodD1pLnJlZnM9e30pLG51bGw9PT1lP2RlbGV0ZSB0W3JdOnRbcl09ZX0pLl9zdHJpbmdSZWY9cix0KX1pZigic3RyaW5nIiE9dHlwZW9mIGUpdGhyb3cgRXJyb3IodSgyODQpKTtpZighbi5fb3duZXIpdGhyb3cgRXJyb3IodSgyOTAsZSkpfXJldHVybiBlfWZ1bmN0aW9uIHdNKGUsdCl7aWYoInRleHRhcmVhIiE9PWUudHlwZSl0aHJvdyBFcnJvcih1KDMxLCJbb2JqZWN0IE9iamVjdF0iPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpPyJvYmplY3Qgd2l0aCBrZXlzIHsiK09iamVjdC5rZXlzKHQpLmpvaW4oIiwgIikrIn0iOnQsIiIpKX1mdW5jdGlvbiBmTShlKXtmdW5jdGlvbiB0KHQsbil7aWYoZSl7dmFyIGk9dC5sYXN0RWZmZWN0O251bGwhPT1pPyhpLm5leHRFZmZlY3Q9bix0Lmxhc3RFZmZlY3Q9bik6dC5maXJzdEVmZmVjdD10Lmxhc3RFZmZlY3Q9bixuLm5leHRFZmZlY3Q9bnVsbCxuLmVmZmVjdFRhZz04fX1mdW5jdGlvbiBuKG4saSl7aWYoIWUpcmV0dXJuIG51bGw7Zm9yKDtudWxsIT09aTspdChuLGkpLGk9aS5zaWJsaW5nO3JldHVybiBudWxsfWZ1bmN0aW9uIGkoZSx0KXtmb3IoZT1uZXcgTWFwO251bGwhPT10OyludWxsIT09dC5rZXk/ZS5zZXQodC5rZXksdCk6ZS5zZXQodC5pbmRleCx0KSx0PXQuc2libGluZztyZXR1cm4gZX1mdW5jdGlvbiByKGUsdCl7cmV0dXJuKGU9Q2MoZSx0KSkuaW5kZXg9MCxlLnNpYmxpbmc9bnVsbCxlfWZ1bmN0aW9uIE0odCxuLGkpe3JldHVybiB0LmluZGV4PWksZT9udWxsIT09KGk9dC5hbHRlcm5hdGUpPyhpPWkuaW5kZXgpPG4/KHQuZWZmZWN0VGFnPTIsbik6aToodC5lZmZlY3RUYWc9MixuKTpufWZ1bmN0aW9uIG8odCl7cmV0dXJuIGUmJm51bGw9PT10LmFsdGVybmF0ZSYmKHQuZWZmZWN0VGFnPTIpLHR9ZnVuY3Rpb24gYyhlLHQsbixpKXtyZXR1cm4gbnVsbD09PXR8fDYhPT10LnRhZz8oKHQ9U2MobixlLm1vZGUsaSkpLnJldHVybj1lLHQpOigodD1yKHQsbikpLnJldHVybj1lLHQpfWZ1bmN0aW9uIGEoZSx0LG4saSl7cmV0dXJuIG51bGwhPT10JiZ0LmVsZW1lbnRUeXBlPT09bi50eXBlPygoaT1yKHQsbi5wcm9wcykpLnJlZj16TShlLHQsbiksaS5yZXR1cm49ZSxpKTooKGk9eGMobi50eXBlLG4ua2V5LG4ucHJvcHMsbnVsbCxlLm1vZGUsaSkpLnJlZj16TShlLHQsbiksaS5yZXR1cm49ZSxpKX1mdW5jdGlvbiBJKGUsdCxuLGkpe3JldHVybiBudWxsPT09dHx8NCE9PXQudGFnfHx0LnN0YXRlTm9kZS5jb250YWluZXJJbmZvIT09bi5jb250YWluZXJJbmZvfHx0LnN0YXRlTm9kZS5pbXBsZW1lbnRhdGlvbiE9PW4uaW1wbGVtZW50YXRpb24/KCh0PW1jKG4sZS5tb2RlLGkpKS5yZXR1cm49ZSx0KTooKHQ9cih0LG4uY2hpbGRyZW58fFtdKSkucmV0dXJuPWUsdCl9ZnVuY3Rpb24gbChlLHQsbixpLE0pe3JldHVybiBudWxsPT09dHx8NyE9PXQudGFnPygodD1wYyhuLGUubW9kZSxpLE0pKS5yZXR1cm49ZSx0KTooKHQ9cih0LG4pKS5yZXR1cm49ZSx0KX1mdW5jdGlvbiBOKGUsdCxuKXtpZigic3RyaW5nIj09dHlwZW9mIHR8fCJudW1iZXIiPT10eXBlb2YgdClyZXR1cm4odD1TYygiIit0LGUubW9kZSxuKSkucmV0dXJuPWUsdDtpZigib2JqZWN0Ij09dHlwZW9mIHQmJm51bGwhPT10KXtzd2l0Y2godC4kJHR5cGVvZil7Y2FzZSBlZTpyZXR1cm4obj14Yyh0LnR5cGUsdC5rZXksdC5wcm9wcyxudWxsLGUubW9kZSxuKSkucmVmPXpNKGUsbnVsbCx0KSxuLnJldHVybj1lLG47Y2FzZSB0ZTpyZXR1cm4odD1tYyh0LGUubW9kZSxuKSkucmV0dXJuPWUsdH1pZih5TSh0KXx8c2UodCkpcmV0dXJuKHQ9cGModCxlLm1vZGUsbixudWxsKSkucmV0dXJuPWUsdDt3TShlLHQpfXJldHVybiBudWxsfWZ1bmN0aW9uIGooZSx0LG4saSl7dmFyIHI9bnVsbCE9PXQ/dC5rZXk6bnVsbDtpZigic3RyaW5nIj09dHlwZW9mIG58fCJudW1iZXIiPT10eXBlb2YgbilyZXR1cm4gbnVsbCE9PXI/bnVsbDpjKGUsdCwiIituLGkpO2lmKCJvYmplY3QiPT10eXBlb2YgbiYmbnVsbCE9PW4pe3N3aXRjaChuLiQkdHlwZW9mKXtjYXNlIGVlOnJldHVybiBuLmtleT09PXI/bi50eXBlPT09bmU/bChlLHQsbi5wcm9wcy5jaGlsZHJlbixpLHIpOmEoZSx0LG4saSk6bnVsbDtjYXNlIHRlOnJldHVybiBuLmtleT09PXI/SShlLHQsbixpKTpudWxsfWlmKHlNKG4pfHxzZShuKSlyZXR1cm4gbnVsbCE9PXI/bnVsbDpsKGUsdCxuLGksbnVsbCk7d00oZSxuKX1yZXR1cm4gbnVsbH1mdW5jdGlvbiBnKGUsdCxuLGkscil7aWYoInN0cmluZyI9PXR5cGVvZiBpfHwibnVtYmVyIj09dHlwZW9mIGkpcmV0dXJuIGModCxlPWUuZ2V0KG4pfHxudWxsLCIiK2kscik7aWYoIm9iamVjdCI9PXR5cGVvZiBpJiZudWxsIT09aSl7c3dpdGNoKGkuJCR0eXBlb2Ype2Nhc2UgZWU6cmV0dXJuIGU9ZS5nZXQobnVsbD09PWkua2V5P246aS5rZXkpfHxudWxsLGkudHlwZT09PW5lP2wodCxlLGkucHJvcHMuY2hpbGRyZW4scixpLmtleSk6YSh0LGUsaSxyKTtjYXNlIHRlOnJldHVybiBJKHQsZT1lLmdldChudWxsPT09aS5rZXk/bjppLmtleSl8fG51bGwsaSxyKX1pZih5TShpKXx8c2UoaSkpcmV0dXJuIGwodCxlPWUuZ2V0KG4pfHxudWxsLGkscixudWxsKTt3TSh0LGkpfXJldHVybiBudWxsfWZ1bmN0aW9uIHMocix1LG8sYyl7Zm9yKHZhciBhPW51bGwsST1udWxsLGw9dSxzPXU9MCxBPW51bGw7bnVsbCE9PWwmJnM8by5sZW5ndGg7cysrKXtsLmluZGV4PnM/KEE9bCxsPW51bGwpOkE9bC5zaWJsaW5nO3ZhciBEPWoocixsLG9bc10sYyk7aWYobnVsbD09PUQpe251bGw9PT1sJiYobD1BKTticmVha31lJiZsJiZudWxsPT09RC5hbHRlcm5hdGUmJnQocixsKSx1PU0oRCx1LHMpLG51bGw9PT1JP2E9RDpJLnNpYmxpbmc9RCxJPUQsbD1BfWlmKHM9PT1vLmxlbmd0aClyZXR1cm4gbihyLGwpLGE7aWYobnVsbD09PWwpe2Zvcig7czxvLmxlbmd0aDtzKyspbnVsbCE9PShsPU4ocixvW3NdLGMpKSYmKHU9TShsLHUscyksbnVsbD09PUk/YT1sOkkuc2libGluZz1sLEk9bCk7cmV0dXJuIGF9Zm9yKGw9aShyLGwpO3M8by5sZW5ndGg7cysrKW51bGwhPT0oQT1nKGwscixzLG9bc10sYykpJiYoZSYmbnVsbCE9PUEuYWx0ZXJuYXRlJiZsLmRlbGV0ZShudWxsPT09QS5rZXk/czpBLmtleSksdT1NKEEsdSxzKSxudWxsPT09ST9hPUE6SS5zaWJsaW5nPUEsST1BKTtyZXR1cm4gZSYmbC5mb3JFYWNoKChmdW5jdGlvbihlKXtyZXR1cm4gdChyLGUpfSkpLGF9ZnVuY3Rpb24gQShyLG8sYyxhKXt2YXIgST1zZShjKTtpZigiZnVuY3Rpb24iIT10eXBlb2YgSSl0aHJvdyBFcnJvcih1KDE1MCkpO2lmKG51bGw9PShjPUkuY2FsbChjKSkpdGhyb3cgRXJyb3IodSgxNTEpKTtmb3IodmFyIGw9ST1udWxsLHM9byxBPW89MCxEPW51bGwsZD1jLm5leHQoKTtudWxsIT09cyYmIWQuZG9uZTtBKyssZD1jLm5leHQoKSl7cy5pbmRleD5BPyhEPXMscz1udWxsKTpEPXMuc2libGluZzt2YXIgVD1qKHIscyxkLnZhbHVlLGEpO2lmKG51bGw9PT1UKXtudWxsPT09cyYmKHM9RCk7YnJlYWt9ZSYmcyYmbnVsbD09PVQuYWx0ZXJuYXRlJiZ0KHIscyksbz1NKFQsbyxBKSxudWxsPT09bD9JPVQ6bC5zaWJsaW5nPVQsbD1ULHM9RH1pZihkLmRvbmUpcmV0dXJuIG4ocixzKSxJO2lmKG51bGw9PT1zKXtmb3IoOyFkLmRvbmU7QSsrLGQ9Yy5uZXh0KCkpbnVsbCE9PShkPU4ocixkLnZhbHVlLGEpKSYmKG89TShkLG8sQSksbnVsbD09PWw/ST1kOmwuc2libGluZz1kLGw9ZCk7cmV0dXJuIEl9Zm9yKHM9aShyLHMpOyFkLmRvbmU7QSsrLGQ9Yy5uZXh0KCkpbnVsbCE9PShkPWcocyxyLEEsZC52YWx1ZSxhKSkmJihlJiZudWxsIT09ZC5hbHRlcm5hdGUmJnMuZGVsZXRlKG51bGw9PT1kLmtleT9BOmQua2V5KSxvPU0oZCxvLEEpLG51bGw9PT1sP0k9ZDpsLnNpYmxpbmc9ZCxsPWQpO3JldHVybiBlJiZzLmZvckVhY2goKGZ1bmN0aW9uKGUpe3JldHVybiB0KHIsZSl9KSksSX1yZXR1cm4gZnVuY3Rpb24oZSxpLE0sYyl7dmFyIGE9Im9iamVjdCI9PXR5cGVvZiBNJiZudWxsIT09TSYmTS50eXBlPT09bmUmJm51bGw9PT1NLmtleTthJiYoTT1NLnByb3BzLmNoaWxkcmVuKTt2YXIgST0ib2JqZWN0Ij09dHlwZW9mIE0mJm51bGwhPT1NO2lmKEkpc3dpdGNoKE0uJCR0eXBlb2Ype2Nhc2UgZWU6ZTp7Zm9yKEk9TS5rZXksYT1pO251bGwhPT1hOyl7aWYoYS5rZXk9PT1JKXtzd2l0Y2goYS50YWcpe2Nhc2UgNzppZihNLnR5cGU9PT1uZSl7bihlLGEuc2libGluZyksKGk9cihhLE0ucHJvcHMuY2hpbGRyZW4pKS5yZXR1cm49ZSxlPWk7YnJlYWsgZX1icmVhaztkZWZhdWx0OmlmKGEuZWxlbWVudFR5cGU9PT1NLnR5cGUpe24oZSxhLnNpYmxpbmcpLChpPXIoYSxNLnByb3BzKSkucmVmPXpNKGUsYSxNKSxpLnJldHVybj1lLGU9aTticmVhayBlfX1uKGUsYSk7YnJlYWt9dChlLGEpLGE9YS5zaWJsaW5nfU0udHlwZT09PW5lPygoaT1wYyhNLnByb3BzLmNoaWxkcmVuLGUubW9kZSxjLE0ua2V5KSkucmV0dXJuPWUsZT1pKTooKGM9eGMoTS50eXBlLE0ua2V5LE0ucHJvcHMsbnVsbCxlLm1vZGUsYykpLnJlZj16TShlLGksTSksYy5yZXR1cm49ZSxlPWMpfXJldHVybiBvKGUpO2Nhc2UgdGU6ZTp7Zm9yKGE9TS5rZXk7bnVsbCE9PWk7KXtpZihpLmtleT09PWEpe2lmKDQ9PT1pLnRhZyYmaS5zdGF0ZU5vZGUuY29udGFpbmVySW5mbz09PU0uY29udGFpbmVySW5mbyYmaS5zdGF0ZU5vZGUuaW1wbGVtZW50YXRpb249PT1NLmltcGxlbWVudGF0aW9uKXtuKGUsaS5zaWJsaW5nKSwoaT1yKGksTS5jaGlsZHJlbnx8W10pKS5yZXR1cm49ZSxlPWk7YnJlYWsgZX1uKGUsaSk7YnJlYWt9dChlLGkpLGk9aS5zaWJsaW5nfShpPW1jKE0sZS5tb2RlLGMpKS5yZXR1cm49ZSxlPWl9cmV0dXJuIG8oZSl9aWYoInN0cmluZyI9PXR5cGVvZiBNfHwibnVtYmVyIj09dHlwZW9mIE0pcmV0dXJuIE09IiIrTSxudWxsIT09aSYmNj09PWkudGFnPyhuKGUsaS5zaWJsaW5nKSwoaT1yKGksTSkpLnJldHVybj1lLGU9aSk6KG4oZSxpKSwoaT1TYyhNLGUubW9kZSxjKSkucmV0dXJuPWUsZT1pKSxvKGUpO2lmKHlNKE0pKXJldHVybiBzKGUsaSxNLGMpO2lmKHNlKE0pKXJldHVybiBBKGUsaSxNLGMpO2lmKEkmJndNKGUsTSksdm9pZCAwPT09TSYmIWEpc3dpdGNoKGUudGFnKXtjYXNlIDE6Y2FzZSAwOnRocm93IGU9ZS50eXBlLEVycm9yKHUoMTUyLGUuZGlzcGxheU5hbWV8fGUubmFtZXx8IkNvbXBvbmVudCIpKX1yZXR1cm4gbihlLGkpfX12YXIgTE09Zk0oITApLEVNPWZNKCExKSxDTT17fSx4TT17Y3VycmVudDpDTX0scE09e2N1cnJlbnQ6Q019LFNNPXtjdXJyZW50OkNNfTtmdW5jdGlvbiBtTShlKXtpZihlPT09Q00pdGhyb3cgRXJyb3IodSgxNzQpKTtyZXR1cm4gZX1mdW5jdGlvbiBPTShlLHQpe3N3aXRjaChhcihTTSx0KSxhcihwTSxlKSxhcih4TSxDTSksZT10Lm5vZGVUeXBlKXtjYXNlIDk6Y2FzZSAxMTp0PSh0PXQuZG9jdW1lbnRFbGVtZW50KT90Lm5hbWVzcGFjZVVSSTpZZShudWxsLCIiKTticmVhaztkZWZhdWx0OnQ9WWUodD0oZT04PT09ZT90LnBhcmVudE5vZGU6dCkubmFtZXNwYWNlVVJJfHxudWxsLGU9ZS50YWdOYW1lKX1jcih4TSksYXIoeE0sdCl9ZnVuY3Rpb24gdk0oKXtjcih4TSksY3IocE0pLGNyKFNNKX1mdW5jdGlvbiBiTShlKXttTShTTS5jdXJyZW50KTt2YXIgdD1tTSh4TS5jdXJyZW50KSxuPVllKHQsZS50eXBlKTt0IT09biYmKGFyKHBNLGUpLGFyKHhNLG4pKX1mdW5jdGlvbiBoTShlKXtwTS5jdXJyZW50PT09ZSYmKGNyKHhNKSxjcihwTSkpfXZhciBrTT17Y3VycmVudDowfTtmdW5jdGlvbiBRTShlKXtmb3IodmFyIHQ9ZTtudWxsIT09dDspe2lmKDEzPT09dC50YWcpe3ZhciBuPXQubWVtb2l6ZWRTdGF0ZTtpZihudWxsIT09biYmKG51bGw9PT0obj1uLmRlaHlkcmF0ZWQpfHwiJD8iPT09bi5kYXRhfHwiJCEiPT09bi5kYXRhKSlyZXR1cm4gdH1lbHNlIGlmKDE5PT09dC50YWcmJnZvaWQgMCE9PXQubWVtb2l6ZWRQcm9wcy5yZXZlYWxPcmRlcil7aWYoMCE9KDY0JnQuZWZmZWN0VGFnKSlyZXR1cm4gdH1lbHNlIGlmKG51bGwhPT10LmNoaWxkKXt0LmNoaWxkLnJldHVybj10LHQ9dC5jaGlsZDtjb250aW51ZX1pZih0PT09ZSlicmVhaztmb3IoO251bGw9PT10LnNpYmxpbmc7KXtpZihudWxsPT09dC5yZXR1cm58fHQucmV0dXJuPT09ZSlyZXR1cm4gbnVsbDt0PXQucmV0dXJufXQuc2libGluZy5yZXR1cm49dC5yZXR1cm4sdD10LnNpYmxpbmd9cmV0dXJuIG51bGx9ZnVuY3Rpb24gWU0oZSx0KXtyZXR1cm57cmVzcG9uZGVyOmUscHJvcHM6dH19dmFyIFBNPUsuUmVhY3RDdXJyZW50RGlzcGF0Y2hlcixVTT1LLlJlYWN0Q3VycmVudEJhdGNoQ29uZmlnLFpNPTAsR009bnVsbCxCTT1udWxsLFJNPW51bGwsV009ITE7ZnVuY3Rpb24gSE0oKXt0aHJvdyBFcnJvcih1KDMyMSkpfWZ1bmN0aW9uIFZNKGUsdCl7aWYobnVsbD09PXQpcmV0dXJuITE7Zm9yKHZhciBuPTA7bjx0Lmxlbmd0aCYmbjxlLmxlbmd0aDtuKyspaWYoIVlpKGVbbl0sdFtuXSkpcmV0dXJuITE7cmV0dXJuITB9ZnVuY3Rpb24gSk0oZSx0LG4saSxyLE0pe2lmKFpNPU0sR009dCx0Lm1lbW9pemVkU3RhdGU9bnVsbCx0LnVwZGF0ZVF1ZXVlPW51bGwsdC5leHBpcmF0aW9uVGltZT0wLFBNLmN1cnJlbnQ9bnVsbD09PWV8fG51bGw9PT1lLm1lbW9pemVkU3RhdGU/QXU6RHUsZT1uKGksciksdC5leHBpcmF0aW9uVGltZT09PVpNKXtNPTA7ZG97aWYodC5leHBpcmF0aW9uVGltZT0wLCEoMjU+TSkpdGhyb3cgRXJyb3IodSgzMDEpKTtNKz0xLFJNPUJNPW51bGwsdC51cGRhdGVRdWV1ZT1udWxsLFBNLmN1cnJlbnQ9ZHUsZT1uKGkscil9d2hpbGUodC5leHBpcmF0aW9uVGltZT09PVpNKX1pZihQTS5jdXJyZW50PXN1LHQ9bnVsbCE9PUJNJiZudWxsIT09Qk0ubmV4dCxaTT0wLFJNPUJNPUdNPW51bGwsV009ITEsdCl0aHJvdyBFcnJvcih1KDMwMCkpO3JldHVybiBlfWZ1bmN0aW9uIEZNKCl7dmFyIGU9e21lbW9pemVkU3RhdGU6bnVsbCxiYXNlU3RhdGU6bnVsbCxiYXNlUXVldWU6bnVsbCxxdWV1ZTpudWxsLG5leHQ6bnVsbH07cmV0dXJuIG51bGw9PT1STT9HTS5tZW1vaXplZFN0YXRlPVJNPWU6Uk09Uk0ubmV4dD1lLFJNfWZ1bmN0aW9uIFhNKCl7aWYobnVsbD09PUJNKXt2YXIgZT1HTS5hbHRlcm5hdGU7ZT1udWxsIT09ZT9lLm1lbW9pemVkU3RhdGU6bnVsbH1lbHNlIGU9Qk0ubmV4dDt2YXIgdD1udWxsPT09Uk0/R00ubWVtb2l6ZWRTdGF0ZTpSTS5uZXh0O2lmKG51bGwhPT10KVJNPXQsQk09ZTtlbHNle2lmKG51bGw9PT1lKXRocm93IEVycm9yKHUoMzEwKSk7ZT17bWVtb2l6ZWRTdGF0ZTooQk09ZSkubWVtb2l6ZWRTdGF0ZSxiYXNlU3RhdGU6Qk0uYmFzZVN0YXRlLGJhc2VRdWV1ZTpCTS5iYXNlUXVldWUscXVldWU6Qk0ucXVldWUsbmV4dDpudWxsfSxudWxsPT09Uk0/R00ubWVtb2l6ZWRTdGF0ZT1STT1lOlJNPVJNLm5leHQ9ZX1yZXR1cm4gUk19ZnVuY3Rpb24gS00oZSx0KXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgdD90KGUpOnR9ZnVuY3Rpb24gcU0oZSl7dmFyIHQ9WE0oKSxuPXQucXVldWU7aWYobnVsbD09PW4pdGhyb3cgRXJyb3IodSgzMTEpKTtuLmxhc3RSZW5kZXJlZFJlZHVjZXI9ZTt2YXIgaT1CTSxyPWkuYmFzZVF1ZXVlLE09bi5wZW5kaW5nO2lmKG51bGwhPT1NKXtpZihudWxsIT09cil7dmFyIG89ci5uZXh0O3IubmV4dD1NLm5leHQsTS5uZXh0PW99aS5iYXNlUXVldWU9cj1NLG4ucGVuZGluZz1udWxsfWlmKG51bGwhPT1yKXtyPXIubmV4dCxpPWkuYmFzZVN0YXRlO3ZhciBjPW89TT1udWxsLGE9cjtkb3t2YXIgST1hLmV4cGlyYXRpb25UaW1lO2lmKEk8Wk0pe3ZhciBsPXtleHBpcmF0aW9uVGltZTphLmV4cGlyYXRpb25UaW1lLHN1c3BlbnNlQ29uZmlnOmEuc3VzcGVuc2VDb25maWcsYWN0aW9uOmEuYWN0aW9uLGVhZ2VyUmVkdWNlcjphLmVhZ2VyUmVkdWNlcixlYWdlclN0YXRlOmEuZWFnZXJTdGF0ZSxuZXh0Om51bGx9O251bGw9PT1jPyhvPWM9bCxNPWkpOmM9Yy5uZXh0PWwsST5HTS5leHBpcmF0aW9uVGltZSYmKEdNLmV4cGlyYXRpb25UaW1lPUksdWMoSSkpfWVsc2UgbnVsbCE9PWMmJihjPWMubmV4dD17ZXhwaXJhdGlvblRpbWU6MTA3Mzc0MTgyMyxzdXNwZW5zZUNvbmZpZzphLnN1c3BlbnNlQ29uZmlnLGFjdGlvbjphLmFjdGlvbixlYWdlclJlZHVjZXI6YS5lYWdlclJlZHVjZXIsZWFnZXJTdGF0ZTphLmVhZ2VyU3RhdGUsbmV4dDpudWxsfSksTWMoSSxhLnN1c3BlbnNlQ29uZmlnKSxpPWEuZWFnZXJSZWR1Y2VyPT09ZT9hLmVhZ2VyU3RhdGU6ZShpLGEuYWN0aW9uKTthPWEubmV4dH13aGlsZShudWxsIT09YSYmYSE9PXIpO251bGw9PT1jP009aTpjLm5leHQ9byxZaShpLHQubWVtb2l6ZWRTdGF0ZSl8fChTdT0hMCksdC5tZW1vaXplZFN0YXRlPWksdC5iYXNlU3RhdGU9TSx0LmJhc2VRdWV1ZT1jLG4ubGFzdFJlbmRlcmVkU3RhdGU9aX1yZXR1cm5bdC5tZW1vaXplZFN0YXRlLG4uZGlzcGF0Y2hdfWZ1bmN0aW9uIF9NKGUpe3ZhciB0PVhNKCksbj10LnF1ZXVlO2lmKG51bGw9PT1uKXRocm93IEVycm9yKHUoMzExKSk7bi5sYXN0UmVuZGVyZWRSZWR1Y2VyPWU7dmFyIGk9bi5kaXNwYXRjaCxyPW4ucGVuZGluZyxNPXQubWVtb2l6ZWRTdGF0ZTtpZihudWxsIT09cil7bi5wZW5kaW5nPW51bGw7dmFyIG89cj1yLm5leHQ7ZG97TT1lKE0sby5hY3Rpb24pLG89by5uZXh0fXdoaWxlKG8hPT1yKTtZaShNLHQubWVtb2l6ZWRTdGF0ZSl8fChTdT0hMCksdC5tZW1vaXplZFN0YXRlPU0sbnVsbD09PXQuYmFzZVF1ZXVlJiYodC5iYXNlU3RhdGU9TSksbi5sYXN0UmVuZGVyZWRTdGF0ZT1NfXJldHVybltNLGldfWZ1bmN0aW9uICRNKGUpe3ZhciB0PUZNKCk7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIGUmJihlPWUoKSksdC5tZW1vaXplZFN0YXRlPXQuYmFzZVN0YXRlPWUsZT0oZT10LnF1ZXVlPXtwZW5kaW5nOm51bGwsZGlzcGF0Y2g6bnVsbCxsYXN0UmVuZGVyZWRSZWR1Y2VyOktNLGxhc3RSZW5kZXJlZFN0YXRlOmV9KS5kaXNwYXRjaD1ndS5iaW5kKG51bGwsR00sZSksW3QubWVtb2l6ZWRTdGF0ZSxlXX1mdW5jdGlvbiBldShlLHQsbixpKXtyZXR1cm4gZT17dGFnOmUsY3JlYXRlOnQsZGVzdHJveTpuLGRlcHM6aSxuZXh0Om51bGx9LG51bGw9PT0odD1HTS51cGRhdGVRdWV1ZSk/KHQ9e2xhc3RFZmZlY3Q6bnVsbH0sR00udXBkYXRlUXVldWU9dCx0Lmxhc3RFZmZlY3Q9ZS5uZXh0PWUpOm51bGw9PT0obj10Lmxhc3RFZmZlY3QpP3QubGFzdEVmZmVjdD1lLm5leHQ9ZTooaT1uLm5leHQsbi5uZXh0PWUsZS5uZXh0PWksdC5sYXN0RWZmZWN0PWUpLGV9ZnVuY3Rpb24gdHUoKXtyZXR1cm4gWE0oKS5tZW1vaXplZFN0YXRlfWZ1bmN0aW9uIG51KGUsdCxuLGkpe3ZhciByPUZNKCk7R00uZWZmZWN0VGFnfD1lLHIubWVtb2l6ZWRTdGF0ZT1ldSgxfHQsbix2b2lkIDAsdm9pZCAwPT09aT9udWxsOmkpfWZ1bmN0aW9uIGl1KGUsdCxuLGkpe3ZhciByPVhNKCk7aT12b2lkIDA9PT1pP251bGw6aTt2YXIgTT12b2lkIDA7aWYobnVsbCE9PUJNKXt2YXIgdT1CTS5tZW1vaXplZFN0YXRlO2lmKE09dS5kZXN0cm95LG51bGwhPT1pJiZWTShpLHUuZGVwcykpcmV0dXJuIHZvaWQgZXUodCxuLE0saSl9R00uZWZmZWN0VGFnfD1lLHIubWVtb2l6ZWRTdGF0ZT1ldSgxfHQsbixNLGkpfWZ1bmN0aW9uIHJ1KGUsdCl7cmV0dXJuIG51KDUxNiw0LGUsdCl9ZnVuY3Rpb24gTXUoZSx0KXtyZXR1cm4gaXUoNTE2LDQsZSx0KX1mdW5jdGlvbiB1dShlLHQpe3JldHVybiBpdSg0LDIsZSx0KX1mdW5jdGlvbiBvdShlLHQpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiB0PyhlPWUoKSx0KGUpLGZ1bmN0aW9uKCl7dChudWxsKX0pOm51bGwhPXQ/KGU9ZSgpLHQuY3VycmVudD1lLGZ1bmN0aW9uKCl7dC5jdXJyZW50PW51bGx9KTp2b2lkIDB9ZnVuY3Rpb24gY3UoZSx0LG4pe3JldHVybiBuPW51bGwhPW4/bi5jb25jYXQoW2VdKTpudWxsLGl1KDQsMixvdS5iaW5kKG51bGwsdCxlKSxuKX1mdW5jdGlvbiBhdSgpe31mdW5jdGlvbiBJdShlLHQpe3JldHVybiBGTSgpLm1lbW9pemVkU3RhdGU9W2Usdm9pZCAwPT09dD9udWxsOnRdLGV9ZnVuY3Rpb24gbHUoZSx0KXt2YXIgbj1YTSgpO3Q9dm9pZCAwPT09dD9udWxsOnQ7dmFyIGk9bi5tZW1vaXplZFN0YXRlO3JldHVybiBudWxsIT09aSYmbnVsbCE9PXQmJlZNKHQsaVsxXSk/aVswXToobi5tZW1vaXplZFN0YXRlPVtlLHRdLGUpfWZ1bmN0aW9uIE51KGUsdCl7dmFyIG49WE0oKTt0PXZvaWQgMD09PXQ/bnVsbDp0O3ZhciBpPW4ubWVtb2l6ZWRTdGF0ZTtyZXR1cm4gbnVsbCE9PWkmJm51bGwhPT10JiZWTSh0LGlbMV0pP2lbMF06KGU9ZSgpLG4ubWVtb2l6ZWRTdGF0ZT1bZSx0XSxlKX1mdW5jdGlvbiBqdShlLHQsbil7dmFyIGk9WnIoKTtCcig5OD5pPzk4OmksKGZ1bmN0aW9uKCl7ZSghMCl9KSksQnIoOTc8aT85NzppLChmdW5jdGlvbigpe3ZhciBpPVVNLnN1c3BlbnNlO1VNLnN1c3BlbnNlPXZvaWQgMD09PXQ/bnVsbDp0O3RyeXtlKCExKSxuKCl9ZmluYWxseXtVTS5zdXNwZW5zZT1pfX0pKX1mdW5jdGlvbiBndShlLHQsbil7dmFyIGk9Vm8oKSxyPU5NLnN1c3BlbnNlO3I9e2V4cGlyYXRpb25UaW1lOmk9Sm8oaSxlLHIpLHN1c3BlbnNlQ29uZmlnOnIsYWN0aW9uOm4sZWFnZXJSZWR1Y2VyOm51bGwsZWFnZXJTdGF0ZTpudWxsLG5leHQ6bnVsbH07dmFyIE09dC5wZW5kaW5nO2lmKG51bGw9PT1NP3IubmV4dD1yOihyLm5leHQ9TS5uZXh0LE0ubmV4dD1yKSx0LnBlbmRpbmc9cixNPWUuYWx0ZXJuYXRlLGU9PT1HTXx8bnVsbCE9PU0mJk09PT1HTSlXTT0hMCxyLmV4cGlyYXRpb25UaW1lPVpNLEdNLmV4cGlyYXRpb25UaW1lPVpNO2Vsc2V7aWYoMD09PWUuZXhwaXJhdGlvblRpbWUmJihudWxsPT09TXx8MD09PU0uZXhwaXJhdGlvblRpbWUpJiZudWxsIT09KE09dC5sYXN0UmVuZGVyZWRSZWR1Y2VyKSl0cnl7dmFyIHU9dC5sYXN0UmVuZGVyZWRTdGF0ZSxvPU0odSxuKTtpZihyLmVhZ2VyUmVkdWNlcj1NLHIuZWFnZXJTdGF0ZT1vLFlpKG8sdSkpcmV0dXJufWNhdGNoKGUpe31GbyhlLGkpfX12YXIgc3U9e3JlYWRDb250ZXh0OmlNLHVzZUNhbGxiYWNrOkhNLHVzZUNvbnRleHQ6SE0sdXNlRWZmZWN0OkhNLHVzZUltcGVyYXRpdmVIYW5kbGU6SE0sdXNlTGF5b3V0RWZmZWN0OkhNLHVzZU1lbW86SE0sdXNlUmVkdWNlcjpITSx1c2VSZWY6SE0sdXNlU3RhdGU6SE0sdXNlRGVidWdWYWx1ZTpITSx1c2VSZXNwb25kZXI6SE0sdXNlRGVmZXJyZWRWYWx1ZTpITSx1c2VUcmFuc2l0aW9uOkhNfSxBdT17cmVhZENvbnRleHQ6aU0sdXNlQ2FsbGJhY2s6SXUsdXNlQ29udGV4dDppTSx1c2VFZmZlY3Q6cnUsdXNlSW1wZXJhdGl2ZUhhbmRsZTpmdW5jdGlvbihlLHQsbil7cmV0dXJuIG49bnVsbCE9bj9uLmNvbmNhdChbZV0pOm51bGwsbnUoNCwyLG91LmJpbmQobnVsbCx0LGUpLG4pfSx1c2VMYXlvdXRFZmZlY3Q6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gbnUoNCwyLGUsdCl9LHVzZU1lbW86ZnVuY3Rpb24oZSx0KXt2YXIgbj1GTSgpO3JldHVybiB0PXZvaWQgMD09PXQ/bnVsbDp0LGU9ZSgpLG4ubWVtb2l6ZWRTdGF0ZT1bZSx0XSxlfSx1c2VSZWR1Y2VyOmZ1bmN0aW9uKGUsdCxuKXt2YXIgaT1GTSgpO3JldHVybiB0PXZvaWQgMCE9PW4/bih0KTp0LGkubWVtb2l6ZWRTdGF0ZT1pLmJhc2VTdGF0ZT10LGU9KGU9aS5xdWV1ZT17cGVuZGluZzpudWxsLGRpc3BhdGNoOm51bGwsbGFzdFJlbmRlcmVkUmVkdWNlcjplLGxhc3RSZW5kZXJlZFN0YXRlOnR9KS5kaXNwYXRjaD1ndS5iaW5kKG51bGwsR00sZSksW2kubWVtb2l6ZWRTdGF0ZSxlXX0sdXNlUmVmOmZ1bmN0aW9uKGUpe3JldHVybiBlPXtjdXJyZW50OmV9LEZNKCkubWVtb2l6ZWRTdGF0ZT1lfSx1c2VTdGF0ZTokTSx1c2VEZWJ1Z1ZhbHVlOmF1LHVzZVJlc3BvbmRlcjpZTSx1c2VEZWZlcnJlZFZhbHVlOmZ1bmN0aW9uKGUsdCl7dmFyIG49JE0oZSksaT1uWzBdLHI9blsxXTtyZXR1cm4gcnUoKGZ1bmN0aW9uKCl7dmFyIG49VU0uc3VzcGVuc2U7VU0uc3VzcGVuc2U9dm9pZCAwPT09dD9udWxsOnQ7dHJ5e3IoZSl9ZmluYWxseXtVTS5zdXNwZW5zZT1ufX0pLFtlLHRdKSxpfSx1c2VUcmFuc2l0aW9uOmZ1bmN0aW9uKGUpe3ZhciB0PSRNKCExKSxuPXRbMF07cmV0dXJuIHQ9dFsxXSxbSXUoanUuYmluZChudWxsLHQsZSksW3QsZV0pLG5dfX0sRHU9e3JlYWRDb250ZXh0OmlNLHVzZUNhbGxiYWNrOmx1LHVzZUNvbnRleHQ6aU0sdXNlRWZmZWN0Ok11LHVzZUltcGVyYXRpdmVIYW5kbGU6Y3UsdXNlTGF5b3V0RWZmZWN0OnV1LHVzZU1lbW86TnUsdXNlUmVkdWNlcjpxTSx1c2VSZWY6dHUsdXNlU3RhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gcU0oS00pfSx1c2VEZWJ1Z1ZhbHVlOmF1LHVzZVJlc3BvbmRlcjpZTSx1c2VEZWZlcnJlZFZhbHVlOmZ1bmN0aW9uKGUsdCl7dmFyIG49cU0oS00pLGk9blswXSxyPW5bMV07cmV0dXJuIE11KChmdW5jdGlvbigpe3ZhciBuPVVNLnN1c3BlbnNlO1VNLnN1c3BlbnNlPXZvaWQgMD09PXQ/bnVsbDp0O3RyeXtyKGUpfWZpbmFsbHl7VU0uc3VzcGVuc2U9bn19KSxbZSx0XSksaX0sdXNlVHJhbnNpdGlvbjpmdW5jdGlvbihlKXt2YXIgdD1xTShLTSksbj10WzBdO3JldHVybiB0PXRbMV0sW2x1KGp1LmJpbmQobnVsbCx0LGUpLFt0LGVdKSxuXX19LGR1PXtyZWFkQ29udGV4dDppTSx1c2VDYWxsYmFjazpsdSx1c2VDb250ZXh0OmlNLHVzZUVmZmVjdDpNdSx1c2VJbXBlcmF0aXZlSGFuZGxlOmN1LHVzZUxheW91dEVmZmVjdDp1dSx1c2VNZW1vOk51LHVzZVJlZHVjZXI6X00sdXNlUmVmOnR1LHVzZVN0YXRlOmZ1bmN0aW9uKCl7cmV0dXJuIF9NKEtNKX0sdXNlRGVidWdWYWx1ZTphdSx1c2VSZXNwb25kZXI6WU0sdXNlRGVmZXJyZWRWYWx1ZTpmdW5jdGlvbihlLHQpe3ZhciBuPV9NKEtNKSxpPW5bMF0scj1uWzFdO3JldHVybiBNdSgoZnVuY3Rpb24oKXt2YXIgbj1VTS5zdXNwZW5zZTtVTS5zdXNwZW5zZT12b2lkIDA9PT10P251bGw6dDt0cnl7cihlKX1maW5hbGx5e1VNLnN1c3BlbnNlPW59fSksW2UsdF0pLGl9LHVzZVRyYW5zaXRpb246ZnVuY3Rpb24oZSl7dmFyIHQ9X00oS00pLG49dFswXTtyZXR1cm4gdD10WzFdLFtsdShqdS5iaW5kKG51bGwsdCxlKSxbdCxlXSksbl19fSxUdT1udWxsLHl1PW51bGwsenU9ITE7ZnVuY3Rpb24gd3UoZSx0KXt2YXIgbj1MYyg1LG51bGwsbnVsbCwwKTtuLmVsZW1lbnRUeXBlPSJERUxFVEVEIixuLnR5cGU9IkRFTEVURUQiLG4uc3RhdGVOb2RlPXQsbi5yZXR1cm49ZSxuLmVmZmVjdFRhZz04LG51bGwhPT1lLmxhc3RFZmZlY3Q/KGUubGFzdEVmZmVjdC5uZXh0RWZmZWN0PW4sZS5sYXN0RWZmZWN0PW4pOmUuZmlyc3RFZmZlY3Q9ZS5sYXN0RWZmZWN0PW59ZnVuY3Rpb24gZnUoZSx0KXtzd2l0Y2goZS50YWcpe2Nhc2UgNTp2YXIgbj1lLnR5cGU7cmV0dXJuIG51bGwhPT0odD0xIT09dC5ub2RlVHlwZXx8bi50b0xvd2VyQ2FzZSgpIT09dC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpP251bGw6dCkmJihlLnN0YXRlTm9kZT10LCEwKTtjYXNlIDY6cmV0dXJuIG51bGwhPT0odD0iIj09PWUucGVuZGluZ1Byb3BzfHwzIT09dC5ub2RlVHlwZT9udWxsOnQpJiYoZS5zdGF0ZU5vZGU9dCwhMCk7Y2FzZSAxMzpkZWZhdWx0OnJldHVybiExfX1mdW5jdGlvbiBMdShlKXtpZih6dSl7dmFyIHQ9eXU7aWYodCl7dmFyIG49dDtpZighZnUoZSx0KSl7aWYoISh0PXpuKG4ubmV4dFNpYmxpbmcpKXx8IWZ1KGUsdCkpcmV0dXJuIGUuZWZmZWN0VGFnPS0xMDI1JmUuZWZmZWN0VGFnfDIsenU9ITEsdm9pZChUdT1lKTt3dShUdSxuKX1UdT1lLHl1PXpuKHQuZmlyc3RDaGlsZCl9ZWxzZSBlLmVmZmVjdFRhZz0tMTAyNSZlLmVmZmVjdFRhZ3wyLHp1PSExLFR1PWV9fWZ1bmN0aW9uIEV1KGUpe2ZvcihlPWUucmV0dXJuO251bGwhPT1lJiY1IT09ZS50YWcmJjMhPT1lLnRhZyYmMTMhPT1lLnRhZzspZT1lLnJldHVybjtUdT1lfWZ1bmN0aW9uIEN1KGUpe2lmKGUhPT1UdSlyZXR1cm4hMTtpZighenUpcmV0dXJuIEV1KGUpLHp1PSEwLCExO3ZhciB0PWUudHlwZTtpZig1IT09ZS50YWd8fCJoZWFkIiE9PXQmJiJib2R5IiE9PXQmJiFkbih0LGUubWVtb2l6ZWRQcm9wcykpZm9yKHQ9eXU7dDspd3UoZSx0KSx0PXpuKHQubmV4dFNpYmxpbmcpO2lmKEV1KGUpLDEzPT09ZS50YWcpe2lmKCEoZT1udWxsIT09KGU9ZS5tZW1vaXplZFN0YXRlKT9lLmRlaHlkcmF0ZWQ6bnVsbCkpdGhyb3cgRXJyb3IodSgzMTcpKTtlOntmb3IoZT1lLm5leHRTaWJsaW5nLHQ9MDtlOyl7aWYoOD09PWUubm9kZVR5cGUpe3ZhciBuPWUuZGF0YTtpZigiLyQiPT09bil7aWYoMD09PXQpe3l1PXpuKGUubmV4dFNpYmxpbmcpO2JyZWFrIGV9dC0tfWVsc2UiJCIhPT1uJiYiJCEiIT09biYmIiQ/IiE9PW58fHQrK31lPWUubmV4dFNpYmxpbmd9eXU9bnVsbH19ZWxzZSB5dT1UdT96bihlLnN0YXRlTm9kZS5uZXh0U2libGluZyk6bnVsbDtyZXR1cm4hMH1mdW5jdGlvbiB4dSgpe3l1PVR1PW51bGwsenU9ITF9dmFyIHB1PUsuUmVhY3RDdXJyZW50T3duZXIsU3U9ITE7ZnVuY3Rpb24gbXUoZSx0LG4saSl7dC5jaGlsZD1udWxsPT09ZT9FTSh0LG51bGwsbixpKTpMTSh0LGUuY2hpbGQsbixpKX1mdW5jdGlvbiBPdShlLHQsbixpLHIpe249bi5yZW5kZXI7dmFyIE09dC5yZWY7cmV0dXJuIG5NKHQsciksaT1KTShlLHQsbixpLE0sciksbnVsbD09PWV8fFN1Pyh0LmVmZmVjdFRhZ3w9MSxtdShlLHQsaSxyKSx0LmNoaWxkKToodC51cGRhdGVRdWV1ZT1lLnVwZGF0ZVF1ZXVlLHQuZWZmZWN0VGFnJj0tNTE3LGUuZXhwaXJhdGlvblRpbWU8PXImJihlLmV4cGlyYXRpb25UaW1lPTApLEp1KGUsdCxyKSl9ZnVuY3Rpb24gdnUoZSx0LG4saSxyLE0pe2lmKG51bGw9PT1lKXt2YXIgdT1uLnR5cGU7cmV0dXJuImZ1bmN0aW9uIiE9dHlwZW9mIHV8fEVjKHUpfHx2b2lkIDAhPT11LmRlZmF1bHRQcm9wc3x8bnVsbCE9PW4uY29tcGFyZXx8dm9pZCAwIT09bi5kZWZhdWx0UHJvcHM/KChlPXhjKG4udHlwZSxudWxsLGksbnVsbCx0Lm1vZGUsTSkpLnJlZj10LnJlZixlLnJldHVybj10LHQuY2hpbGQ9ZSk6KHQudGFnPTE1LHQudHlwZT11LGJ1KGUsdCx1LGkscixNKSl9cmV0dXJuIHU9ZS5jaGlsZCxyPE0mJihyPXUubWVtb2l6ZWRQcm9wcywobj1udWxsIT09KG49bi5jb21wYXJlKT9uOlVpKShyLGkpJiZlLnJlZj09PXQucmVmKT9KdShlLHQsTSk6KHQuZWZmZWN0VGFnfD0xLChlPUNjKHUsaSkpLnJlZj10LnJlZixlLnJldHVybj10LHQuY2hpbGQ9ZSl9ZnVuY3Rpb24gYnUoZSx0LG4saSxyLE0pe3JldHVybiBudWxsIT09ZSYmVWkoZS5tZW1vaXplZFByb3BzLGkpJiZlLnJlZj09PXQucmVmJiYoU3U9ITEscjxNKT8odC5leHBpcmF0aW9uVGltZT1lLmV4cGlyYXRpb25UaW1lLEp1KGUsdCxNKSk6a3UoZSx0LG4saSxNKX1mdW5jdGlvbiBodShlLHQpe3ZhciBuPXQucmVmOyhudWxsPT09ZSYmbnVsbCE9PW58fG51bGwhPT1lJiZlLnJlZiE9PW4pJiYodC5lZmZlY3RUYWd8PTEyOCl9ZnVuY3Rpb24ga3UoZSx0LG4saSxyKXt2YXIgTT1zcihuKT9qcjpsci5jdXJyZW50O3JldHVybiBNPWdyKHQsTSksbk0odCxyKSxuPUpNKGUsdCxuLGksTSxyKSxudWxsPT09ZXx8U3U/KHQuZWZmZWN0VGFnfD0xLG11KGUsdCxuLHIpLHQuY2hpbGQpOih0LnVwZGF0ZVF1ZXVlPWUudXBkYXRlUXVldWUsdC5lZmZlY3RUYWcmPS01MTcsZS5leHBpcmF0aW9uVGltZTw9ciYmKGUuZXhwaXJhdGlvblRpbWU9MCksSnUoZSx0LHIpKX1mdW5jdGlvbiBRdShlLHQsbixpLHIpe2lmKHNyKG4pKXt2YXIgTT0hMDtUcih0KX1lbHNlIE09ITE7aWYobk0odCxyKSxudWxsPT09dC5zdGF0ZU5vZGUpbnVsbCE9PWUmJihlLmFsdGVybmF0ZT1udWxsLHQuYWx0ZXJuYXRlPW51bGwsdC5lZmZlY3RUYWd8PTIpLERNKHQsbixpKSxUTSh0LG4saSxyKSxpPSEwO2Vsc2UgaWYobnVsbD09PWUpe3ZhciB1PXQuc3RhdGVOb2RlLG89dC5tZW1vaXplZFByb3BzO3UucHJvcHM9bzt2YXIgYz11LmNvbnRleHQsYT1uLmNvbnRleHRUeXBlOyJvYmplY3QiPT10eXBlb2YgYSYmbnVsbCE9PWE/YT1pTShhKTphPWdyKHQsYT1zcihuKT9qcjpsci5jdXJyZW50KTt2YXIgST1uLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyxsPSJmdW5jdGlvbiI9PXR5cGVvZiBJfHwiZnVuY3Rpb24iPT10eXBlb2YgdS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZTtsfHwiZnVuY3Rpb24iIT10eXBlb2YgdS5VTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyYmImZ1bmN0aW9uIiE9dHlwZW9mIHUuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc3x8KG8hPT1pfHxjIT09YSkmJmRNKHQsdSxpLGEpLHJNPSExO3ZhciBOPXQubWVtb2l6ZWRTdGF0ZTt1LnN0YXRlPU4sSU0odCxpLHUsciksYz10Lm1lbW9pemVkU3RhdGUsbyE9PWl8fE4hPT1jfHxOci5jdXJyZW50fHxyTT8oImZ1bmN0aW9uIj09dHlwZW9mIEkmJihnTSh0LG4sSSxpKSxjPXQubWVtb2l6ZWRTdGF0ZSksKG89ck18fEFNKHQsbixvLGksTixjLGEpKT8obHx8ImZ1bmN0aW9uIiE9dHlwZW9mIHUuVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCYmImZ1bmN0aW9uIiE9dHlwZW9mIHUuY29tcG9uZW50V2lsbE1vdW50fHwoImZ1bmN0aW9uIj09dHlwZW9mIHUuY29tcG9uZW50V2lsbE1vdW50JiZ1LmNvbXBvbmVudFdpbGxNb3VudCgpLCJmdW5jdGlvbiI9PXR5cGVvZiB1LlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQmJnUuVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCgpKSwiZnVuY3Rpb24iPT10eXBlb2YgdS5jb21wb25lbnREaWRNb3VudCYmKHQuZWZmZWN0VGFnfD00KSk6KCJmdW5jdGlvbiI9PXR5cGVvZiB1LmNvbXBvbmVudERpZE1vdW50JiYodC5lZmZlY3RUYWd8PTQpLHQubWVtb2l6ZWRQcm9wcz1pLHQubWVtb2l6ZWRTdGF0ZT1jKSx1LnByb3BzPWksdS5zdGF0ZT1jLHUuY29udGV4dD1hLGk9byk6KCJmdW5jdGlvbiI9PXR5cGVvZiB1LmNvbXBvbmVudERpZE1vdW50JiYodC5lZmZlY3RUYWd8PTQpLGk9ITEpfWVsc2UgdT10LnN0YXRlTm9kZSx1TShlLHQpLG89dC5tZW1vaXplZFByb3BzLHUucHJvcHM9dC50eXBlPT09dC5lbGVtZW50VHlwZT9vOkZyKHQudHlwZSxvKSxjPXUuY29udGV4dCwib2JqZWN0Ij09dHlwZW9mKGE9bi5jb250ZXh0VHlwZSkmJm51bGwhPT1hP2E9aU0oYSk6YT1ncih0LGE9c3Iobik/anI6bHIuY3VycmVudCksKGw9ImZ1bmN0aW9uIj09dHlwZW9mKEk9bi5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMpfHwiZnVuY3Rpb24iPT10eXBlb2YgdS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZSl8fCJmdW5jdGlvbiIhPXR5cGVvZiB1LlVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzJiYiZnVuY3Rpb24iIT10eXBlb2YgdS5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzfHwobyE9PWl8fGMhPT1hKSYmZE0odCx1LGksYSksck09ITEsYz10Lm1lbW9pemVkU3RhdGUsdS5zdGF0ZT1jLElNKHQsaSx1LHIpLE49dC5tZW1vaXplZFN0YXRlLG8hPT1pfHxjIT09Tnx8TnIuY3VycmVudHx8ck0/KCJmdW5jdGlvbiI9PXR5cGVvZiBJJiYoZ00odCxuLEksaSksTj10Lm1lbW9pemVkU3RhdGUpLChJPXJNfHxBTSh0LG4sbyxpLGMsTixhKSk/KGx8fCJmdW5jdGlvbiIhPXR5cGVvZiB1LlVOU0FGRV9jb21wb25lbnRXaWxsVXBkYXRlJiYiZnVuY3Rpb24iIT10eXBlb2YgdS5jb21wb25lbnRXaWxsVXBkYXRlfHwoImZ1bmN0aW9uIj09dHlwZW9mIHUuY29tcG9uZW50V2lsbFVwZGF0ZSYmdS5jb21wb25lbnRXaWxsVXBkYXRlKGksTixhKSwiZnVuY3Rpb24iPT10eXBlb2YgdS5VTlNBRkVfY29tcG9uZW50V2lsbFVwZGF0ZSYmdS5VTlNBRkVfY29tcG9uZW50V2lsbFVwZGF0ZShpLE4sYSkpLCJmdW5jdGlvbiI9PXR5cGVvZiB1LmNvbXBvbmVudERpZFVwZGF0ZSYmKHQuZWZmZWN0VGFnfD00KSwiZnVuY3Rpb24iPT10eXBlb2YgdS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZSYmKHQuZWZmZWN0VGFnfD0yNTYpKTooImZ1bmN0aW9uIiE9dHlwZW9mIHUuY29tcG9uZW50RGlkVXBkYXRlfHxvPT09ZS5tZW1vaXplZFByb3BzJiZjPT09ZS5tZW1vaXplZFN0YXRlfHwodC5lZmZlY3RUYWd8PTQpLCJmdW5jdGlvbiIhPXR5cGVvZiB1LmdldFNuYXBzaG90QmVmb3JlVXBkYXRlfHxvPT09ZS5tZW1vaXplZFByb3BzJiZjPT09ZS5tZW1vaXplZFN0YXRlfHwodC5lZmZlY3RUYWd8PTI1NiksdC5tZW1vaXplZFByb3BzPWksdC5tZW1vaXplZFN0YXRlPU4pLHUucHJvcHM9aSx1LnN0YXRlPU4sdS5jb250ZXh0PWEsaT1JKTooImZ1bmN0aW9uIiE9dHlwZW9mIHUuY29tcG9uZW50RGlkVXBkYXRlfHxvPT09ZS5tZW1vaXplZFByb3BzJiZjPT09ZS5tZW1vaXplZFN0YXRlfHwodC5lZmZlY3RUYWd8PTQpLCJmdW5jdGlvbiIhPXR5cGVvZiB1LmdldFNuYXBzaG90QmVmb3JlVXBkYXRlfHxvPT09ZS5tZW1vaXplZFByb3BzJiZjPT09ZS5tZW1vaXplZFN0YXRlfHwodC5lZmZlY3RUYWd8PTI1NiksaT0hMSk7cmV0dXJuIFl1KGUsdCxuLGksTSxyKX1mdW5jdGlvbiBZdShlLHQsbixpLHIsTSl7aHUoZSx0KTt2YXIgdT0wIT0oNjQmdC5lZmZlY3RUYWcpO2lmKCFpJiYhdSlyZXR1cm4gciYmeXIodCxuLCExKSxKdShlLHQsTSk7aT10LnN0YXRlTm9kZSxwdS5jdXJyZW50PXQ7dmFyIG89dSYmImZ1bmN0aW9uIiE9dHlwZW9mIG4uZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yP251bGw6aS5yZW5kZXIoKTtyZXR1cm4gdC5lZmZlY3RUYWd8PTEsbnVsbCE9PWUmJnU/KHQuY2hpbGQ9TE0odCxlLmNoaWxkLG51bGwsTSksdC5jaGlsZD1MTSh0LG51bGwsbyxNKSk6bXUoZSx0LG8sTSksdC5tZW1vaXplZFN0YXRlPWkuc3RhdGUsciYmeXIodCxuLCEwKSx0LmNoaWxkfWZ1bmN0aW9uIFB1KGUpe3ZhciB0PWUuc3RhdGVOb2RlO3QucGVuZGluZ0NvbnRleHQ/RHIoMCx0LnBlbmRpbmdDb250ZXh0LHQucGVuZGluZ0NvbnRleHQhPT10LmNvbnRleHQpOnQuY29udGV4dCYmRHIoMCx0LmNvbnRleHQsITEpLE9NKGUsdC5jb250YWluZXJJbmZvKX12YXIgVXUsWnUsR3UsQnU9e2RlaHlkcmF0ZWQ6bnVsbCxyZXRyeVRpbWU6MH07ZnVuY3Rpb24gUnUoZSx0LG4pe3ZhciBpLHI9dC5tb2RlLE09dC5wZW5kaW5nUHJvcHMsdT1rTS5jdXJyZW50LG89ITE7aWYoKGk9MCE9KDY0JnQuZWZmZWN0VGFnKSl8fChpPTAhPSgyJnUpJiYobnVsbD09PWV8fG51bGwhPT1lLm1lbW9pemVkU3RhdGUpKSxpPyhvPSEwLHQuZWZmZWN0VGFnJj0tNjUpOm51bGwhPT1lJiZudWxsPT09ZS5tZW1vaXplZFN0YXRlfHx2b2lkIDA9PT1NLmZhbGxiYWNrfHwhMD09PU0udW5zdGFibGVfYXZvaWRUaGlzRmFsbGJhY2t8fCh1fD0xKSxhcihrTSwxJnUpLG51bGw9PT1lKXtpZih2b2lkIDAhPT1NLmZhbGxiYWNrJiZMdSh0KSxvKXtpZihvPU0uZmFsbGJhY2ssKE09cGMobnVsbCxyLDAsbnVsbCkpLnJldHVybj10LDA9PSgyJnQubW9kZSkpZm9yKGU9bnVsbCE9PXQubWVtb2l6ZWRTdGF0ZT90LmNoaWxkLmNoaWxkOnQuY2hpbGQsTS5jaGlsZD1lO251bGwhPT1lOyllLnJldHVybj1NLGU9ZS5zaWJsaW5nO3JldHVybihuPXBjKG8scixuLG51bGwpKS5yZXR1cm49dCxNLnNpYmxpbmc9bix0Lm1lbW9pemVkU3RhdGU9QnUsdC5jaGlsZD1NLG59cmV0dXJuIHI9TS5jaGlsZHJlbix0Lm1lbW9pemVkU3RhdGU9bnVsbCx0LmNoaWxkPUVNKHQsbnVsbCxyLG4pfWlmKG51bGwhPT1lLm1lbW9pemVkU3RhdGUpe2lmKHI9KGU9ZS5jaGlsZCkuc2libGluZyxvKXtpZihNPU0uZmFsbGJhY2ssKG49Q2MoZSxlLnBlbmRpbmdQcm9wcykpLnJldHVybj10LDA9PSgyJnQubW9kZSkmJihvPW51bGwhPT10Lm1lbW9pemVkU3RhdGU/dC5jaGlsZC5jaGlsZDp0LmNoaWxkKSE9PWUuY2hpbGQpZm9yKG4uY2hpbGQ9bztudWxsIT09bzspby5yZXR1cm49bixvPW8uc2libGluZztyZXR1cm4ocj1DYyhyLE0pKS5yZXR1cm49dCxuLnNpYmxpbmc9cixuLmNoaWxkRXhwaXJhdGlvblRpbWU9MCx0Lm1lbW9pemVkU3RhdGU9QnUsdC5jaGlsZD1uLHJ9cmV0dXJuIG49TE0odCxlLmNoaWxkLE0uY2hpbGRyZW4sbiksdC5tZW1vaXplZFN0YXRlPW51bGwsdC5jaGlsZD1ufWlmKGU9ZS5jaGlsZCxvKXtpZihvPU0uZmFsbGJhY2ssKE09cGMobnVsbCxyLDAsbnVsbCkpLnJldHVybj10LE0uY2hpbGQ9ZSxudWxsIT09ZSYmKGUucmV0dXJuPU0pLDA9PSgyJnQubW9kZSkpZm9yKGU9bnVsbCE9PXQubWVtb2l6ZWRTdGF0ZT90LmNoaWxkLmNoaWxkOnQuY2hpbGQsTS5jaGlsZD1lO251bGwhPT1lOyllLnJldHVybj1NLGU9ZS5zaWJsaW5nO3JldHVybihuPXBjKG8scixuLG51bGwpKS5yZXR1cm49dCxNLnNpYmxpbmc9bixuLmVmZmVjdFRhZ3w9MixNLmNoaWxkRXhwaXJhdGlvblRpbWU9MCx0Lm1lbW9pemVkU3RhdGU9QnUsdC5jaGlsZD1NLG59cmV0dXJuIHQubWVtb2l6ZWRTdGF0ZT1udWxsLHQuY2hpbGQ9TE0odCxlLE0uY2hpbGRyZW4sbil9ZnVuY3Rpb24gV3UoZSx0KXtlLmV4cGlyYXRpb25UaW1lPHQmJihlLmV4cGlyYXRpb25UaW1lPXQpO3ZhciBuPWUuYWx0ZXJuYXRlO251bGwhPT1uJiZuLmV4cGlyYXRpb25UaW1lPHQmJihuLmV4cGlyYXRpb25UaW1lPXQpLHRNKGUucmV0dXJuLHQpfWZ1bmN0aW9uIEh1KGUsdCxuLGkscixNKXt2YXIgdT1lLm1lbW9pemVkU3RhdGU7bnVsbD09PXU/ZS5tZW1vaXplZFN0YXRlPXtpc0JhY2t3YXJkczp0LHJlbmRlcmluZzpudWxsLHJlbmRlcmluZ1N0YXJ0VGltZTowLGxhc3Q6aSx0YWlsOm4sdGFpbEV4cGlyYXRpb246MCx0YWlsTW9kZTpyLGxhc3RFZmZlY3Q6TX06KHUuaXNCYWNrd2FyZHM9dCx1LnJlbmRlcmluZz1udWxsLHUucmVuZGVyaW5nU3RhcnRUaW1lPTAsdS5sYXN0PWksdS50YWlsPW4sdS50YWlsRXhwaXJhdGlvbj0wLHUudGFpbE1vZGU9cix1Lmxhc3RFZmZlY3Q9TSl9ZnVuY3Rpb24gVnUoZSx0LG4pe3ZhciBpPXQucGVuZGluZ1Byb3BzLHI9aS5yZXZlYWxPcmRlcixNPWkudGFpbDtpZihtdShlLHQsaS5jaGlsZHJlbixuKSwwIT0oMiYoaT1rTS5jdXJyZW50KSkpaT0xJml8Mix0LmVmZmVjdFRhZ3w9NjQ7ZWxzZXtpZihudWxsIT09ZSYmMCE9KDY0JmUuZWZmZWN0VGFnKSllOmZvcihlPXQuY2hpbGQ7bnVsbCE9PWU7KXtpZigxMz09PWUudGFnKW51bGwhPT1lLm1lbW9pemVkU3RhdGUmJld1KGUsbik7ZWxzZSBpZigxOT09PWUudGFnKVd1KGUsbik7ZWxzZSBpZihudWxsIT09ZS5jaGlsZCl7ZS5jaGlsZC5yZXR1cm49ZSxlPWUuY2hpbGQ7Y29udGludWV9aWYoZT09PXQpYnJlYWsgZTtmb3IoO251bGw9PT1lLnNpYmxpbmc7KXtpZihudWxsPT09ZS5yZXR1cm58fGUucmV0dXJuPT09dClicmVhayBlO2U9ZS5yZXR1cm59ZS5zaWJsaW5nLnJldHVybj1lLnJldHVybixlPWUuc2libGluZ31pJj0xfWlmKGFyKGtNLGkpLDA9PSgyJnQubW9kZSkpdC5tZW1vaXplZFN0YXRlPW51bGw7ZWxzZSBzd2l0Y2gocil7Y2FzZSJmb3J3YXJkcyI6Zm9yKG49dC5jaGlsZCxyPW51bGw7bnVsbCE9PW47KW51bGwhPT0oZT1uLmFsdGVybmF0ZSkmJm51bGw9PT1RTShlKSYmKHI9biksbj1uLnNpYmxpbmc7bnVsbD09PShuPXIpPyhyPXQuY2hpbGQsdC5jaGlsZD1udWxsKToocj1uLnNpYmxpbmcsbi5zaWJsaW5nPW51bGwpLEh1KHQsITEscixuLE0sdC5sYXN0RWZmZWN0KTticmVhaztjYXNlImJhY2t3YXJkcyI6Zm9yKG49bnVsbCxyPXQuY2hpbGQsdC5jaGlsZD1udWxsO251bGwhPT1yOyl7aWYobnVsbCE9PShlPXIuYWx0ZXJuYXRlKSYmbnVsbD09PVFNKGUpKXt0LmNoaWxkPXI7YnJlYWt9ZT1yLnNpYmxpbmcsci5zaWJsaW5nPW4sbj1yLHI9ZX1IdSh0LCEwLG4sbnVsbCxNLHQubGFzdEVmZmVjdCk7YnJlYWs7Y2FzZSJ0b2dldGhlciI6SHUodCwhMSxudWxsLG51bGwsdm9pZCAwLHQubGFzdEVmZmVjdCk7YnJlYWs7ZGVmYXVsdDp0Lm1lbW9pemVkU3RhdGU9bnVsbH1yZXR1cm4gdC5jaGlsZH1mdW5jdGlvbiBKdShlLHQsbil7bnVsbCE9PWUmJih0LmRlcGVuZGVuY2llcz1lLmRlcGVuZGVuY2llcyk7dmFyIGk9dC5leHBpcmF0aW9uVGltZTtpZigwIT09aSYmdWMoaSksdC5jaGlsZEV4cGlyYXRpb25UaW1lPG4pcmV0dXJuIG51bGw7aWYobnVsbCE9PWUmJnQuY2hpbGQhPT1lLmNoaWxkKXRocm93IEVycm9yKHUoMTUzKSk7aWYobnVsbCE9PXQuY2hpbGQpe2ZvcihuPUNjKGU9dC5jaGlsZCxlLnBlbmRpbmdQcm9wcyksdC5jaGlsZD1uLG4ucmV0dXJuPXQ7bnVsbCE9PWUuc2libGluZzspZT1lLnNpYmxpbmcsKG49bi5zaWJsaW5nPUNjKGUsZS5wZW5kaW5nUHJvcHMpKS5yZXR1cm49dDtuLnNpYmxpbmc9bnVsbH1yZXR1cm4gdC5jaGlsZH1mdW5jdGlvbiBGdShlLHQpe3N3aXRjaChlLnRhaWxNb2RlKXtjYXNlImhpZGRlbiI6dD1lLnRhaWw7Zm9yKHZhciBuPW51bGw7bnVsbCE9PXQ7KW51bGwhPT10LmFsdGVybmF0ZSYmKG49dCksdD10LnNpYmxpbmc7bnVsbD09PW4/ZS50YWlsPW51bGw6bi5zaWJsaW5nPW51bGw7YnJlYWs7Y2FzZSJjb2xsYXBzZWQiOm49ZS50YWlsO2Zvcih2YXIgaT1udWxsO251bGwhPT1uOyludWxsIT09bi5hbHRlcm5hdGUmJihpPW4pLG49bi5zaWJsaW5nO251bGw9PT1pP3R8fG51bGw9PT1lLnRhaWw/ZS50YWlsPW51bGw6ZS50YWlsLnNpYmxpbmc9bnVsbDppLnNpYmxpbmc9bnVsbH19ZnVuY3Rpb24gWHUoZSx0LG4pe3ZhciBpPXQucGVuZGluZ1Byb3BzO3N3aXRjaCh0LnRhZyl7Y2FzZSAyOmNhc2UgMTY6Y2FzZSAxNTpjYXNlIDA6Y2FzZSAxMTpjYXNlIDc6Y2FzZSA4OmNhc2UgMTI6Y2FzZSA5OmNhc2UgMTQ6cmV0dXJuIG51bGw7Y2FzZSAxOnJldHVybiBzcih0LnR5cGUpJiZBcigpLG51bGw7Y2FzZSAzOnJldHVybiB2TSgpLGNyKE5yKSxjcihsciksKG49dC5zdGF0ZU5vZGUpLnBlbmRpbmdDb250ZXh0JiYobi5jb250ZXh0PW4ucGVuZGluZ0NvbnRleHQsbi5wZW5kaW5nQ29udGV4dD1udWxsKSxudWxsIT09ZSYmbnVsbCE9PWUuY2hpbGR8fCFDdSh0KXx8KHQuZWZmZWN0VGFnfD00KSxudWxsO2Nhc2UgNTpoTSh0KSxuPW1NKFNNLmN1cnJlbnQpO3ZhciBNPXQudHlwZTtpZihudWxsIT09ZSYmbnVsbCE9dC5zdGF0ZU5vZGUpWnUoZSx0LE0saSxuKSxlLnJlZiE9PXQucmVmJiYodC5lZmZlY3RUYWd8PTEyOCk7ZWxzZXtpZighaSl7aWYobnVsbD09PXQuc3RhdGVOb2RlKXRocm93IEVycm9yKHUoMTY2KSk7cmV0dXJuIG51bGx9aWYoZT1tTSh4TS5jdXJyZW50KSxDdSh0KSl7aT10LnN0YXRlTm9kZSxNPXQudHlwZTt2YXIgbz10Lm1lbW9pemVkUHJvcHM7c3dpdGNoKGlbTG5dPXQsaVtFbl09byxNKXtjYXNlImlmcmFtZSI6Y2FzZSJvYmplY3QiOmNhc2UiZW1iZWQiOkp0KCJsb2FkIixpKTticmVhaztjYXNlInZpZGVvIjpjYXNlImF1ZGlvIjpmb3IoZT0wO2U8S2UubGVuZ3RoO2UrKylKdChLZVtlXSxpKTticmVhaztjYXNlInNvdXJjZSI6SnQoImVycm9yIixpKTticmVhaztjYXNlImltZyI6Y2FzZSJpbWFnZSI6Y2FzZSJsaW5rIjpKdCgiZXJyb3IiLGkpLEp0KCJsb2FkIixpKTticmVhaztjYXNlImZvcm0iOkp0KCJyZXNldCIsaSksSnQoInN1Ym1pdCIsaSk7YnJlYWs7Y2FzZSJkZXRhaWxzIjpKdCgidG9nZ2xlIixpKTticmVhaztjYXNlImlucHV0IjpmZShpLG8pLEp0KCJpbnZhbGlkIixpKSxjbihuLCJvbkNoYW5nZSIpO2JyZWFrO2Nhc2Uic2VsZWN0IjppLl93cmFwcGVyU3RhdGU9e3dhc011bHRpcGxlOiEhby5tdWx0aXBsZX0sSnQoImludmFsaWQiLGkpLGNuKG4sIm9uQ2hhbmdlIik7YnJlYWs7Y2FzZSJ0ZXh0YXJlYSI6T2UoaSxvKSxKdCgiaW52YWxpZCIsaSksY24obiwib25DaGFuZ2UiKX1mb3IodmFyIGMgaW4gTW4oTSxvKSxlPW51bGwsbylpZihvLmhhc093blByb3BlcnR5KGMpKXt2YXIgYT1vW2NdOyJjaGlsZHJlbiI9PT1jPyJzdHJpbmciPT10eXBlb2YgYT9pLnRleHRDb250ZW50IT09YSYmKGU9WyJjaGlsZHJlbiIsYV0pOiJudW1iZXIiPT10eXBlb2YgYSYmaS50ZXh0Q29udGVudCE9PSIiK2EmJihlPVsiY2hpbGRyZW4iLCIiK2FdKTpMLmhhc093blByb3BlcnR5KGMpJiZudWxsIT1hJiZjbihuLGMpfXN3aXRjaChNKXtjYXNlImlucHV0Ijp5ZShpKSxDZShpLG8sITApO2JyZWFrO2Nhc2UidGV4dGFyZWEiOnllKGkpLGJlKGkpO2JyZWFrO2Nhc2Uic2VsZWN0IjpjYXNlIm9wdGlvbiI6YnJlYWs7ZGVmYXVsdDoiZnVuY3Rpb24iPT10eXBlb2Ygby5vbkNsaWNrJiYoaS5vbmNsaWNrPWFuKX1uPWUsdC51cGRhdGVRdWV1ZT1uLG51bGwhPT1uJiYodC5lZmZlY3RUYWd8PTQpfWVsc2V7c3dpdGNoKGM9OT09PW4ubm9kZVR5cGU/bjpuLm93bmVyRG9jdW1lbnQsZT09PW9uJiYoZT1RZShNKSksZT09PW9uPyJzY3JpcHQiPT09TT8oKGU9Yy5jcmVhdGVFbGVtZW50KCJkaXYiKSkuaW5uZXJIVE1MPSI8c2NyaXB0PjxcL3NjcmlwdD4iLGU9ZS5yZW1vdmVDaGlsZChlLmZpcnN0Q2hpbGQpKToic3RyaW5nIj09dHlwZW9mIGkuaXM/ZT1jLmNyZWF0ZUVsZW1lbnQoTSx7aXM6aS5pc30pOihlPWMuY3JlYXRlRWxlbWVudChNKSwic2VsZWN0Ij09PU0mJihjPWUsaS5tdWx0aXBsZT9jLm11bHRpcGxlPSEwOmkuc2l6ZSYmKGMuc2l6ZT1pLnNpemUpKSk6ZT1jLmNyZWF0ZUVsZW1lbnROUyhlLE0pLGVbTG5dPXQsZVtFbl09aSxVdShlLHQpLHQuc3RhdGVOb2RlPWUsYz11bihNLGkpLE0pe2Nhc2UiaWZyYW1lIjpjYXNlIm9iamVjdCI6Y2FzZSJlbWJlZCI6SnQoImxvYWQiLGUpLGE9aTticmVhaztjYXNlInZpZGVvIjpjYXNlImF1ZGlvIjpmb3IoYT0wO2E8S2UubGVuZ3RoO2ErKylKdChLZVthXSxlKTthPWk7YnJlYWs7Y2FzZSJzb3VyY2UiOkp0KCJlcnJvciIsZSksYT1pO2JyZWFrO2Nhc2UiaW1nIjpjYXNlImltYWdlIjpjYXNlImxpbmsiOkp0KCJlcnJvciIsZSksSnQoImxvYWQiLGUpLGE9aTticmVhaztjYXNlImZvcm0iOkp0KCJyZXNldCIsZSksSnQoInN1Ym1pdCIsZSksYT1pO2JyZWFrO2Nhc2UiZGV0YWlscyI6SnQoInRvZ2dsZSIsZSksYT1pO2JyZWFrO2Nhc2UiaW5wdXQiOmZlKGUsaSksYT13ZShlLGkpLEp0KCJpbnZhbGlkIixlKSxjbihuLCJvbkNoYW5nZSIpO2JyZWFrO2Nhc2Uib3B0aW9uIjphPXBlKGUsaSk7YnJlYWs7Y2FzZSJzZWxlY3QiOmUuX3dyYXBwZXJTdGF0ZT17d2FzTXVsdGlwbGU6ISFpLm11bHRpcGxlfSxhPXIoe30saSx7dmFsdWU6dm9pZCAwfSksSnQoImludmFsaWQiLGUpLGNuKG4sIm9uQ2hhbmdlIik7YnJlYWs7Y2FzZSJ0ZXh0YXJlYSI6T2UoZSxpKSxhPW1lKGUsaSksSnQoImludmFsaWQiLGUpLGNuKG4sIm9uQ2hhbmdlIik7YnJlYWs7ZGVmYXVsdDphPWl9TW4oTSxhKTt2YXIgST1hO2ZvcihvIGluIEkpaWYoSS5oYXNPd25Qcm9wZXJ0eShvKSl7dmFyIGw9SVtvXTsic3R5bGUiPT09bz9ubihlLGwpOiJkYW5nZXJvdXNseVNldElubmVySFRNTCI9PT1vP251bGwhPShsPWw/bC5fX2h0bWw6dm9pZCAwKSYmVWUoZSxsKToiY2hpbGRyZW4iPT09bz8ic3RyaW5nIj09dHlwZW9mIGw/KCJ0ZXh0YXJlYSIhPT1NfHwiIiE9PWwpJiZaZShlLGwpOiJudW1iZXIiPT10eXBlb2YgbCYmWmUoZSwiIitsKToic3VwcHJlc3NDb250ZW50RWRpdGFibGVXYXJuaW5nIiE9PW8mJiJzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmciIT09byYmImF1dG9Gb2N1cyIhPT1vJiYoTC5oYXNPd25Qcm9wZXJ0eShvKT9udWxsIT1sJiZjbihuLG8pOm51bGwhPWwmJnEoZSxvLGwsYykpfXN3aXRjaChNKXtjYXNlImlucHV0Ijp5ZShlKSxDZShlLGksITEpO2JyZWFrO2Nhc2UidGV4dGFyZWEiOnllKGUpLGJlKGUpO2JyZWFrO2Nhc2Uib3B0aW9uIjpudWxsIT1pLnZhbHVlJiZlLnNldEF0dHJpYnV0ZSgidmFsdWUiLCIiK2RlKGkudmFsdWUpKTticmVhaztjYXNlInNlbGVjdCI6ZS5tdWx0aXBsZT0hIWkubXVsdGlwbGUsbnVsbCE9KG49aS52YWx1ZSk/U2UoZSwhIWkubXVsdGlwbGUsbiwhMSk6bnVsbCE9aS5kZWZhdWx0VmFsdWUmJlNlKGUsISFpLm11bHRpcGxlLGkuZGVmYXVsdFZhbHVlLCEwKTticmVhaztkZWZhdWx0OiJmdW5jdGlvbiI9PXR5cGVvZiBhLm9uQ2xpY2smJihlLm9uY2xpY2s9YW4pfURuKE0saSkmJih0LmVmZmVjdFRhZ3w9NCl9bnVsbCE9PXQucmVmJiYodC5lZmZlY3RUYWd8PTEyOCl9cmV0dXJuIG51bGw7Y2FzZSA2OmlmKGUmJm51bGwhPXQuc3RhdGVOb2RlKUd1KDAsdCxlLm1lbW9pemVkUHJvcHMsaSk7ZWxzZXtpZigic3RyaW5nIiE9dHlwZW9mIGkmJm51bGw9PT10LnN0YXRlTm9kZSl0aHJvdyBFcnJvcih1KDE2NikpO249bU0oU00uY3VycmVudCksbU0oeE0uY3VycmVudCksQ3UodCk/KG49dC5zdGF0ZU5vZGUsaT10Lm1lbW9pemVkUHJvcHMsbltMbl09dCxuLm5vZGVWYWx1ZSE9PWkmJih0LmVmZmVjdFRhZ3w9NCkpOigobj0oOT09PW4ubm9kZVR5cGU/bjpuLm93bmVyRG9jdW1lbnQpLmNyZWF0ZVRleHROb2RlKGkpKVtMbl09dCx0LnN0YXRlTm9kZT1uKX1yZXR1cm4gbnVsbDtjYXNlIDEzOnJldHVybiBjcihrTSksaT10Lm1lbW9pemVkU3RhdGUsMCE9KDY0JnQuZWZmZWN0VGFnKT8odC5leHBpcmF0aW9uVGltZT1uLHQpOihuPW51bGwhPT1pLGk9ITEsbnVsbD09PWU/dm9pZCAwIT09dC5tZW1vaXplZFByb3BzLmZhbGxiYWNrJiZDdSh0KTooaT1udWxsIT09KE09ZS5tZW1vaXplZFN0YXRlKSxufHxudWxsPT09TXx8bnVsbCE9PShNPWUuY2hpbGQuc2libGluZykmJihudWxsIT09KG89dC5maXJzdEVmZmVjdCk/KHQuZmlyc3RFZmZlY3Q9TSxNLm5leHRFZmZlY3Q9byk6KHQuZmlyc3RFZmZlY3Q9dC5sYXN0RWZmZWN0PU0sTS5uZXh0RWZmZWN0PW51bGwpLE0uZWZmZWN0VGFnPTgpKSxuJiYhaSYmMCE9KDImdC5tb2RlKSYmKG51bGw9PT1lJiYhMCE9PXQubWVtb2l6ZWRQcm9wcy51bnN0YWJsZV9hdm9pZFRoaXNGYWxsYmFja3x8MCE9KDEma00uY3VycmVudCk/eG89PT15byYmKHhvPXpvKTooeG8hPT15byYmeG8hPT16b3x8KHhvPXdvKSwwIT09dm8mJm51bGwhPT1MbyYmKGJjKExvLENvKSxoYyhMbyx2bykpKSksKG58fGkpJiYodC5lZmZlY3RUYWd8PTQpLG51bGwpO2Nhc2UgNDpyZXR1cm4gdk0oKSxudWxsO2Nhc2UgMTA6cmV0dXJuIGVNKHQpLG51bGw7Y2FzZSAxNzpyZXR1cm4gc3IodC50eXBlKSYmQXIoKSxudWxsO2Nhc2UgMTk6aWYoY3Ioa00pLG51bGw9PT0oaT10Lm1lbW9pemVkU3RhdGUpKXJldHVybiBudWxsO2lmKE09MCE9KDY0JnQuZWZmZWN0VGFnKSxudWxsPT09KG89aS5yZW5kZXJpbmcpKXtpZihNKUZ1KGksITEpO2Vsc2UgaWYoeG8hPT15b3x8bnVsbCE9PWUmJjAhPSg2NCZlLmVmZmVjdFRhZykpZm9yKG89dC5jaGlsZDtudWxsIT09bzspe2lmKG51bGwhPT0oZT1RTShvKSkpe2Zvcih0LmVmZmVjdFRhZ3w9NjQsRnUoaSwhMSksbnVsbCE9PShNPWUudXBkYXRlUXVldWUpJiYodC51cGRhdGVRdWV1ZT1NLHQuZWZmZWN0VGFnfD00KSxudWxsPT09aS5sYXN0RWZmZWN0JiYodC5maXJzdEVmZmVjdD1udWxsKSx0Lmxhc3RFZmZlY3Q9aS5sYXN0RWZmZWN0LGk9dC5jaGlsZDtudWxsIT09aTspbz1uLChNPWkpLmVmZmVjdFRhZyY9MixNLm5leHRFZmZlY3Q9bnVsbCxNLmZpcnN0RWZmZWN0PW51bGwsTS5sYXN0RWZmZWN0PW51bGwsbnVsbD09PShlPU0uYWx0ZXJuYXRlKT8oTS5jaGlsZEV4cGlyYXRpb25UaW1lPTAsTS5leHBpcmF0aW9uVGltZT1vLE0uY2hpbGQ9bnVsbCxNLm1lbW9pemVkUHJvcHM9bnVsbCxNLm1lbW9pemVkU3RhdGU9bnVsbCxNLnVwZGF0ZVF1ZXVlPW51bGwsTS5kZXBlbmRlbmNpZXM9bnVsbCk6KE0uY2hpbGRFeHBpcmF0aW9uVGltZT1lLmNoaWxkRXhwaXJhdGlvblRpbWUsTS5leHBpcmF0aW9uVGltZT1lLmV4cGlyYXRpb25UaW1lLE0uY2hpbGQ9ZS5jaGlsZCxNLm1lbW9pemVkUHJvcHM9ZS5tZW1vaXplZFByb3BzLE0ubWVtb2l6ZWRTdGF0ZT1lLm1lbW9pemVkU3RhdGUsTS51cGRhdGVRdWV1ZT1lLnVwZGF0ZVF1ZXVlLG89ZS5kZXBlbmRlbmNpZXMsTS5kZXBlbmRlbmNpZXM9bnVsbD09PW8/bnVsbDp7ZXhwaXJhdGlvblRpbWU6by5leHBpcmF0aW9uVGltZSxmaXJzdENvbnRleHQ6by5maXJzdENvbnRleHQscmVzcG9uZGVyczpvLnJlc3BvbmRlcnN9KSxpPWkuc2libGluZztyZXR1cm4gYXIoa00sMSZrTS5jdXJyZW50fDIpLHQuY2hpbGR9bz1vLnNpYmxpbmd9fWVsc2V7aWYoIU0paWYobnVsbCE9PShlPVFNKG8pKSl7aWYodC5lZmZlY3RUYWd8PTY0LE09ITAsbnVsbCE9PShuPWUudXBkYXRlUXVldWUpJiYodC51cGRhdGVRdWV1ZT1uLHQuZWZmZWN0VGFnfD00KSxGdShpLCEwKSxudWxsPT09aS50YWlsJiYiaGlkZGVuIj09PWkudGFpbE1vZGUmJiFvLmFsdGVybmF0ZSlyZXR1cm4gbnVsbCE9PSh0PXQubGFzdEVmZmVjdD1pLmxhc3RFZmZlY3QpJiYodC5uZXh0RWZmZWN0PW51bGwpLG51bGx9ZWxzZSAyKlVyKCktaS5yZW5kZXJpbmdTdGFydFRpbWU+aS50YWlsRXhwaXJhdGlvbiYmMTxuJiYodC5lZmZlY3RUYWd8PTY0LE09ITAsRnUoaSwhMSksdC5leHBpcmF0aW9uVGltZT10LmNoaWxkRXhwaXJhdGlvblRpbWU9bi0xKTtpLmlzQmFja3dhcmRzPyhvLnNpYmxpbmc9dC5jaGlsZCx0LmNoaWxkPW8pOihudWxsIT09KG49aS5sYXN0KT9uLnNpYmxpbmc9bzp0LmNoaWxkPW8saS5sYXN0PW8pfXJldHVybiBudWxsIT09aS50YWlsPygwPT09aS50YWlsRXhwaXJhdGlvbiYmKGkudGFpbEV4cGlyYXRpb249VXIoKSs1MDApLG49aS50YWlsLGkucmVuZGVyaW5nPW4saS50YWlsPW4uc2libGluZyxpLmxhc3RFZmZlY3Q9dC5sYXN0RWZmZWN0LGkucmVuZGVyaW5nU3RhcnRUaW1lPVVyKCksbi5zaWJsaW5nPW51bGwsdD1rTS5jdXJyZW50LGFyKGtNLE0/MSZ0fDI6MSZ0KSxuKTpudWxsfXRocm93IEVycm9yKHUoMTU2LHQudGFnKSl9ZnVuY3Rpb24gS3UoZSl7c3dpdGNoKGUudGFnKXtjYXNlIDE6c3IoZS50eXBlKSYmQXIoKTt2YXIgdD1lLmVmZmVjdFRhZztyZXR1cm4gNDA5NiZ0PyhlLmVmZmVjdFRhZz0tNDA5NyZ0fDY0LGUpOm51bGw7Y2FzZSAzOmlmKHZNKCksY3IoTnIpLGNyKGxyKSwwIT0oNjQmKHQ9ZS5lZmZlY3RUYWcpKSl0aHJvdyBFcnJvcih1KDI4NSkpO3JldHVybiBlLmVmZmVjdFRhZz0tNDA5NyZ0fDY0LGU7Y2FzZSA1OnJldHVybiBoTShlKSxudWxsO2Nhc2UgMTM6cmV0dXJuIGNyKGtNKSw0MDk2Jih0PWUuZWZmZWN0VGFnKT8oZS5lZmZlY3RUYWc9LTQwOTcmdHw2NCxlKTpudWxsO2Nhc2UgMTk6cmV0dXJuIGNyKGtNKSxudWxsO2Nhc2UgNDpyZXR1cm4gdk0oKSxudWxsO2Nhc2UgMTA6cmV0dXJuIGVNKGUpLG51bGw7ZGVmYXVsdDpyZXR1cm4gbnVsbH19ZnVuY3Rpb24gcXUoZSx0KXtyZXR1cm57dmFsdWU6ZSxzb3VyY2U6dCxzdGFjazpEZSh0KX19VXU9ZnVuY3Rpb24oZSx0KXtmb3IodmFyIG49dC5jaGlsZDtudWxsIT09bjspe2lmKDU9PT1uLnRhZ3x8Nj09PW4udGFnKWUuYXBwZW5kQ2hpbGQobi5zdGF0ZU5vZGUpO2Vsc2UgaWYoNCE9PW4udGFnJiZudWxsIT09bi5jaGlsZCl7bi5jaGlsZC5yZXR1cm49bixuPW4uY2hpbGQ7Y29udGludWV9aWYobj09PXQpYnJlYWs7Zm9yKDtudWxsPT09bi5zaWJsaW5nOyl7aWYobnVsbD09PW4ucmV0dXJufHxuLnJldHVybj09PXQpcmV0dXJuO249bi5yZXR1cm59bi5zaWJsaW5nLnJldHVybj1uLnJldHVybixuPW4uc2libGluZ319LFp1PWZ1bmN0aW9uKGUsdCxuLGksTSl7dmFyIHU9ZS5tZW1vaXplZFByb3BzO2lmKHUhPT1pKXt2YXIgbyxjLGE9dC5zdGF0ZU5vZGU7c3dpdGNoKG1NKHhNLmN1cnJlbnQpLGU9bnVsbCxuKXtjYXNlImlucHV0Ijp1PXdlKGEsdSksaT13ZShhLGkpLGU9W107YnJlYWs7Y2FzZSJvcHRpb24iOnU9cGUoYSx1KSxpPXBlKGEsaSksZT1bXTticmVhaztjYXNlInNlbGVjdCI6dT1yKHt9LHUse3ZhbHVlOnZvaWQgMH0pLGk9cih7fSxpLHt2YWx1ZTp2b2lkIDB9KSxlPVtdO2JyZWFrO2Nhc2UidGV4dGFyZWEiOnU9bWUoYSx1KSxpPW1lKGEsaSksZT1bXTticmVhaztkZWZhdWx0OiJmdW5jdGlvbiIhPXR5cGVvZiB1Lm9uQ2xpY2smJiJmdW5jdGlvbiI9PXR5cGVvZiBpLm9uQ2xpY2smJihhLm9uY2xpY2s9YW4pfWZvcihvIGluIE1uKG4saSksbj1udWxsLHUpaWYoIWkuaGFzT3duUHJvcGVydHkobykmJnUuaGFzT3duUHJvcGVydHkobykmJm51bGwhPXVbb10paWYoInN0eWxlIj09PW8pZm9yKGMgaW4gYT11W29dKWEuaGFzT3duUHJvcGVydHkoYykmJihufHwobj17fSksbltjXT0iIik7ZWxzZSJkYW5nZXJvdXNseVNldElubmVySFRNTCIhPT1vJiYiY2hpbGRyZW4iIT09byYmInN1cHByZXNzQ29udGVudEVkaXRhYmxlV2FybmluZyIhPT1vJiYic3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nIiE9PW8mJiJhdXRvRm9jdXMiIT09byYmKEwuaGFzT3duUHJvcGVydHkobyk/ZXx8KGU9W10pOihlPWV8fFtdKS5wdXNoKG8sbnVsbCkpO2ZvcihvIGluIGkpe3ZhciBJPWlbb107aWYoYT1udWxsIT11P3Vbb106dm9pZCAwLGkuaGFzT3duUHJvcGVydHkobykmJkkhPT1hJiYobnVsbCE9SXx8bnVsbCE9YSkpaWYoInN0eWxlIj09PW8paWYoYSl7Zm9yKGMgaW4gYSkhYS5oYXNPd25Qcm9wZXJ0eShjKXx8SSYmSS5oYXNPd25Qcm9wZXJ0eShjKXx8KG58fChuPXt9KSxuW2NdPSIiKTtmb3IoYyBpbiBJKUkuaGFzT3duUHJvcGVydHkoYykmJmFbY10hPT1JW2NdJiYobnx8KG49e30pLG5bY109SVtjXSl9ZWxzZSBufHwoZXx8KGU9W10pLGUucHVzaChvLG4pKSxuPUk7ZWxzZSJkYW5nZXJvdXNseVNldElubmVySFRNTCI9PT1vPyhJPUk/SS5fX2h0bWw6dm9pZCAwLGE9YT9hLl9faHRtbDp2b2lkIDAsbnVsbCE9SSYmYSE9PUkmJihlPWV8fFtdKS5wdXNoKG8sSSkpOiJjaGlsZHJlbiI9PT1vP2E9PT1JfHwic3RyaW5nIiE9dHlwZW9mIEkmJiJudW1iZXIiIT10eXBlb2YgSXx8KGU9ZXx8W10pLnB1c2gobywiIitJKToic3VwcHJlc3NDb250ZW50RWRpdGFibGVXYXJuaW5nIiE9PW8mJiJzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmciIT09byYmKEwuaGFzT3duUHJvcGVydHkobyk/KG51bGwhPUkmJmNuKE0sbyksZXx8YT09PUl8fChlPVtdKSk6KGU9ZXx8W10pLnB1c2gobyxJKSl9biYmKGU9ZXx8W10pLnB1c2goInN0eWxlIixuKSxNPWUsKHQudXBkYXRlUXVldWU9TSkmJih0LmVmZmVjdFRhZ3w9NCl9fSxHdT1mdW5jdGlvbihlLHQsbixpKXtuIT09aSYmKHQuZWZmZWN0VGFnfD00KX07dmFyIF91PSJmdW5jdGlvbiI9PXR5cGVvZiBXZWFrU2V0P1dlYWtTZXQ6U2V0O2Z1bmN0aW9uICR1KGUsdCl7dmFyIG49dC5zb3VyY2UsaT10LnN0YWNrO251bGw9PT1pJiZudWxsIT09biYmKGk9RGUobikpLG51bGwhPT1uJiZBZShuLnR5cGUpLHQ9dC52YWx1ZSxudWxsIT09ZSYmMT09PWUudGFnJiZBZShlLnR5cGUpO3RyeXtjb25zb2xlLmVycm9yKHQpfWNhdGNoKGUpe3NldFRpbWVvdXQoKGZ1bmN0aW9uKCl7dGhyb3cgZX0pKX19ZnVuY3Rpb24gZW8oZSl7dmFyIHQ9ZS5yZWY7aWYobnVsbCE9PXQpaWYoImZ1bmN0aW9uIj09dHlwZW9mIHQpdHJ5e3QobnVsbCl9Y2F0Y2godCl7ZGMoZSx0KX1lbHNlIHQuY3VycmVudD1udWxsfWZ1bmN0aW9uIHRvKGUsdCl7c3dpdGNoKHQudGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE1OmNhc2UgMjI6cmV0dXJuO2Nhc2UgMTppZigyNTYmdC5lZmZlY3RUYWcmJm51bGwhPT1lKXt2YXIgbj1lLm1lbW9pemVkUHJvcHMsaT1lLm1lbW9pemVkU3RhdGU7dD0oZT10LnN0YXRlTm9kZSkuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUodC5lbGVtZW50VHlwZT09PXQudHlwZT9uOkZyKHQudHlwZSxuKSxpKSxlLl9fcmVhY3RJbnRlcm5hbFNuYXBzaG90QmVmb3JlVXBkYXRlPXR9cmV0dXJuO2Nhc2UgMzpjYXNlIDU6Y2FzZSA2OmNhc2UgNDpjYXNlIDE3OnJldHVybn10aHJvdyBFcnJvcih1KDE2MykpfWZ1bmN0aW9uIG5vKGUsdCl7aWYobnVsbCE9PSh0PW51bGwhPT0odD10LnVwZGF0ZVF1ZXVlKT90Lmxhc3RFZmZlY3Q6bnVsbCkpe3ZhciBuPXQ9dC5uZXh0O2Rve2lmKChuLnRhZyZlKT09PWUpe3ZhciBpPW4uZGVzdHJveTtuLmRlc3Ryb3k9dm9pZCAwLHZvaWQgMCE9PWkmJmkoKX1uPW4ubmV4dH13aGlsZShuIT09dCl9fWZ1bmN0aW9uIGlvKGUsdCl7aWYobnVsbCE9PSh0PW51bGwhPT0odD10LnVwZGF0ZVF1ZXVlKT90Lmxhc3RFZmZlY3Q6bnVsbCkpe3ZhciBuPXQ9dC5uZXh0O2Rve2lmKChuLnRhZyZlKT09PWUpe3ZhciBpPW4uY3JlYXRlO24uZGVzdHJveT1pKCl9bj1uLm5leHR9d2hpbGUobiE9PXQpfX1mdW5jdGlvbiBybyhlLHQsbil7c3dpdGNoKG4udGFnKXtjYXNlIDA6Y2FzZSAxMTpjYXNlIDE1OmNhc2UgMjI6cmV0dXJuIHZvaWQgaW8oMyxuKTtjYXNlIDE6aWYoZT1uLnN0YXRlTm9kZSw0Jm4uZWZmZWN0VGFnKWlmKG51bGw9PT10KWUuY29tcG9uZW50RGlkTW91bnQoKTtlbHNle3ZhciBpPW4uZWxlbWVudFR5cGU9PT1uLnR5cGU/dC5tZW1vaXplZFByb3BzOkZyKG4udHlwZSx0Lm1lbW9pemVkUHJvcHMpO2UuY29tcG9uZW50RGlkVXBkYXRlKGksdC5tZW1vaXplZFN0YXRlLGUuX19yZWFjdEludGVybmFsU25hcHNob3RCZWZvcmVVcGRhdGUpfXJldHVybiB2b2lkKG51bGwhPT0odD1uLnVwZGF0ZVF1ZXVlKSYmbE0obix0LGUpKTtjYXNlIDM6aWYobnVsbCE9PSh0PW4udXBkYXRlUXVldWUpKXtpZihlPW51bGwsbnVsbCE9PW4uY2hpbGQpc3dpdGNoKG4uY2hpbGQudGFnKXtjYXNlIDU6ZT1uLmNoaWxkLnN0YXRlTm9kZTticmVhaztjYXNlIDE6ZT1uLmNoaWxkLnN0YXRlTm9kZX1sTShuLHQsZSl9cmV0dXJuO2Nhc2UgNTpyZXR1cm4gZT1uLnN0YXRlTm9kZSx2b2lkKG51bGw9PT10JiY0Jm4uZWZmZWN0VGFnJiZEbihuLnR5cGUsbi5tZW1vaXplZFByb3BzKSYmZS5mb2N1cygpKTtjYXNlIDY6Y2FzZSA0OmNhc2UgMTI6cmV0dXJuO2Nhc2UgMTM6cmV0dXJuIHZvaWQobnVsbD09PW4ubWVtb2l6ZWRTdGF0ZSYmKG49bi5hbHRlcm5hdGUsbnVsbCE9PW4mJihuPW4ubWVtb2l6ZWRTdGF0ZSxudWxsIT09biYmKG49bi5kZWh5ZHJhdGVkLG51bGwhPT1uJiZRdChuKSkpKSk7Y2FzZSAxOTpjYXNlIDE3OmNhc2UgMjA6Y2FzZSAyMTpyZXR1cm59dGhyb3cgRXJyb3IodSgxNjMpKX1mdW5jdGlvbiBNbyhlLHQsbil7c3dpdGNoKCJmdW5jdGlvbiI9PXR5cGVvZiB3YyYmd2ModCksdC50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTQ6Y2FzZSAxNTpjYXNlIDIyOmlmKG51bGwhPT0oZT10LnVwZGF0ZVF1ZXVlKSYmbnVsbCE9PShlPWUubGFzdEVmZmVjdCkpe3ZhciBpPWUubmV4dDtCcig5NzxuPzk3Om4sKGZ1bmN0aW9uKCl7dmFyIGU9aTtkb3t2YXIgbj1lLmRlc3Ryb3k7aWYodm9pZCAwIT09bil7dmFyIHI9dDt0cnl7bigpfWNhdGNoKGUpe2RjKHIsZSl9fWU9ZS5uZXh0fXdoaWxlKGUhPT1pKX0pKX1icmVhaztjYXNlIDE6ZW8odCksImZ1bmN0aW9uIj09dHlwZW9mKG49dC5zdGF0ZU5vZGUpLmNvbXBvbmVudFdpbGxVbm1vdW50JiZmdW5jdGlvbihlLHQpe3RyeXt0LnByb3BzPWUubWVtb2l6ZWRQcm9wcyx0LnN0YXRlPWUubWVtb2l6ZWRTdGF0ZSx0LmNvbXBvbmVudFdpbGxVbm1vdW50KCl9Y2F0Y2godCl7ZGMoZSx0KX19KHQsbik7YnJlYWs7Y2FzZSA1OmVvKHQpO2JyZWFrO2Nhc2UgNDphbyhlLHQsbil9fWZ1bmN0aW9uIHVvKGUpe3ZhciB0PWUuYWx0ZXJuYXRlO2UucmV0dXJuPW51bGwsZS5jaGlsZD1udWxsLGUubWVtb2l6ZWRTdGF0ZT1udWxsLGUudXBkYXRlUXVldWU9bnVsbCxlLmRlcGVuZGVuY2llcz1udWxsLGUuYWx0ZXJuYXRlPW51bGwsZS5maXJzdEVmZmVjdD1udWxsLGUubGFzdEVmZmVjdD1udWxsLGUucGVuZGluZ1Byb3BzPW51bGwsZS5tZW1vaXplZFByb3BzPW51bGwsZS5zdGF0ZU5vZGU9bnVsbCxudWxsIT09dCYmdW8odCl9ZnVuY3Rpb24gb28oZSl7cmV0dXJuIDU9PT1lLnRhZ3x8Mz09PWUudGFnfHw0PT09ZS50YWd9ZnVuY3Rpb24gY28oZSl7ZTp7Zm9yKHZhciB0PWUucmV0dXJuO251bGwhPT10Oyl7aWYob28odCkpe3ZhciBuPXQ7YnJlYWsgZX10PXQucmV0dXJufXRocm93IEVycm9yKHUoMTYwKSl9c3dpdGNoKHQ9bi5zdGF0ZU5vZGUsbi50YWcpe2Nhc2UgNTp2YXIgaT0hMTticmVhaztjYXNlIDM6Y2FzZSA0OnQ9dC5jb250YWluZXJJbmZvLGk9ITA7YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcih1KDE2MSkpfTE2Jm4uZWZmZWN0VGFnJiYoWmUodCwiIiksbi5lZmZlY3RUYWcmPS0xNyk7ZTp0OmZvcihuPWU7Oyl7Zm9yKDtudWxsPT09bi5zaWJsaW5nOyl7aWYobnVsbD09PW4ucmV0dXJufHxvbyhuLnJldHVybikpe249bnVsbDticmVhayBlfW49bi5yZXR1cm59Zm9yKG4uc2libGluZy5yZXR1cm49bi5yZXR1cm4sbj1uLnNpYmxpbmc7NSE9PW4udGFnJiY2IT09bi50YWcmJjE4IT09bi50YWc7KXtpZigyJm4uZWZmZWN0VGFnKWNvbnRpbnVlIHQ7aWYobnVsbD09PW4uY2hpbGR8fDQ9PT1uLnRhZyljb250aW51ZSB0O24uY2hpbGQucmV0dXJuPW4sbj1uLmNoaWxkfWlmKCEoMiZuLmVmZmVjdFRhZykpe249bi5zdGF0ZU5vZGU7YnJlYWsgZX19aT9mdW5jdGlvbiBlKHQsbixpKXt2YXIgcj10LnRhZyxNPTU9PT1yfHw2PT09cjtpZihNKXQ9TT90LnN0YXRlTm9kZTp0LnN0YXRlTm9kZS5pbnN0YW5jZSxuPzg9PT1pLm5vZGVUeXBlP2kucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUodCxuKTppLmluc2VydEJlZm9yZSh0LG4pOig4PT09aS5ub2RlVHlwZT8obj1pLnBhcmVudE5vZGUpLmluc2VydEJlZm9yZSh0LGkpOihuPWkpLmFwcGVuZENoaWxkKHQpLG51bGwhPT0oaT1pLl9yZWFjdFJvb3RDb250YWluZXIpJiZ2b2lkIDAhPT1pfHxudWxsIT09bi5vbmNsaWNrfHwobi5vbmNsaWNrPWFuKSk7ZWxzZSBpZig0IT09ciYmbnVsbCE9PSh0PXQuY2hpbGQpKWZvcihlKHQsbixpKSx0PXQuc2libGluZztudWxsIT09dDspZSh0LG4saSksdD10LnNpYmxpbmd9KGUsbix0KTpmdW5jdGlvbiBlKHQsbixpKXt2YXIgcj10LnRhZyxNPTU9PT1yfHw2PT09cjtpZihNKXQ9TT90LnN0YXRlTm9kZTp0LnN0YXRlTm9kZS5pbnN0YW5jZSxuP2kuaW5zZXJ0QmVmb3JlKHQsbik6aS5hcHBlbmRDaGlsZCh0KTtlbHNlIGlmKDQhPT1yJiZudWxsIT09KHQ9dC5jaGlsZCkpZm9yKGUodCxuLGkpLHQ9dC5zaWJsaW5nO251bGwhPT10OyllKHQsbixpKSx0PXQuc2libGluZ30oZSxuLHQpfWZ1bmN0aW9uIGFvKGUsdCxuKXtmb3IodmFyIGkscixNPXQsbz0hMTs7KXtpZighbyl7bz1NLnJldHVybjtlOmZvcig7Oyl7aWYobnVsbD09PW8pdGhyb3cgRXJyb3IodSgxNjApKTtzd2l0Y2goaT1vLnN0YXRlTm9kZSxvLnRhZyl7Y2FzZSA1OnI9ITE7YnJlYWsgZTtjYXNlIDM6Y2FzZSA0Omk9aS5jb250YWluZXJJbmZvLHI9ITA7YnJlYWsgZX1vPW8ucmV0dXJufW89ITB9aWYoNT09PU0udGFnfHw2PT09TS50YWcpe2U6Zm9yKHZhciBjPWUsYT1NLEk9bixsPWE7OylpZihNbyhjLGwsSSksbnVsbCE9PWwuY2hpbGQmJjQhPT1sLnRhZylsLmNoaWxkLnJldHVybj1sLGw9bC5jaGlsZDtlbHNle2lmKGw9PT1hKWJyZWFrIGU7Zm9yKDtudWxsPT09bC5zaWJsaW5nOyl7aWYobnVsbD09PWwucmV0dXJufHxsLnJldHVybj09PWEpYnJlYWsgZTtsPWwucmV0dXJufWwuc2libGluZy5yZXR1cm49bC5yZXR1cm4sbD1sLnNpYmxpbmd9cj8oYz1pLGE9TS5zdGF0ZU5vZGUsOD09PWMubm9kZVR5cGU/Yy5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGEpOmMucmVtb3ZlQ2hpbGQoYSkpOmkucmVtb3ZlQ2hpbGQoTS5zdGF0ZU5vZGUpfWVsc2UgaWYoND09PU0udGFnKXtpZihudWxsIT09TS5jaGlsZCl7aT1NLnN0YXRlTm9kZS5jb250YWluZXJJbmZvLHI9ITAsTS5jaGlsZC5yZXR1cm49TSxNPU0uY2hpbGQ7Y29udGludWV9fWVsc2UgaWYoTW8oZSxNLG4pLG51bGwhPT1NLmNoaWxkKXtNLmNoaWxkLnJldHVybj1NLE09TS5jaGlsZDtjb250aW51ZX1pZihNPT09dClicmVhaztmb3IoO251bGw9PT1NLnNpYmxpbmc7KXtpZihudWxsPT09TS5yZXR1cm58fE0ucmV0dXJuPT09dClyZXR1cm47ND09PShNPU0ucmV0dXJuKS50YWcmJihvPSExKX1NLnNpYmxpbmcucmV0dXJuPU0ucmV0dXJuLE09TS5zaWJsaW5nfX1mdW5jdGlvbiBJbyhlLHQpe3N3aXRjaCh0LnRhZyl7Y2FzZSAwOmNhc2UgMTE6Y2FzZSAxNDpjYXNlIDE1OmNhc2UgMjI6cmV0dXJuIHZvaWQgbm8oMyx0KTtjYXNlIDE6cmV0dXJuO2Nhc2UgNTp2YXIgbj10LnN0YXRlTm9kZTtpZihudWxsIT1uKXt2YXIgaT10Lm1lbW9pemVkUHJvcHMscj1udWxsIT09ZT9lLm1lbW9pemVkUHJvcHM6aTtlPXQudHlwZTt2YXIgTT10LnVwZGF0ZVF1ZXVlO2lmKHQudXBkYXRlUXVldWU9bnVsbCxudWxsIT09TSl7Zm9yKG5bRW5dPWksImlucHV0Ij09PWUmJiJyYWRpbyI9PT1pLnR5cGUmJm51bGwhPWkubmFtZSYmTGUobixpKSx1bihlLHIpLHQ9dW4oZSxpKSxyPTA7cjxNLmxlbmd0aDtyKz0yKXt2YXIgbz1NW3JdLGM9TVtyKzFdOyJzdHlsZSI9PT1vP25uKG4sYyk6ImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIj09PW8/VWUobixjKToiY2hpbGRyZW4iPT09bz9aZShuLGMpOnEobixvLGMsdCl9c3dpdGNoKGUpe2Nhc2UiaW5wdXQiOkVlKG4saSk7YnJlYWs7Y2FzZSJ0ZXh0YXJlYSI6dmUobixpKTticmVhaztjYXNlInNlbGVjdCI6dD1uLl93cmFwcGVyU3RhdGUud2FzTXVsdGlwbGUsbi5fd3JhcHBlclN0YXRlLndhc011bHRpcGxlPSEhaS5tdWx0aXBsZSxudWxsIT0oZT1pLnZhbHVlKT9TZShuLCEhaS5tdWx0aXBsZSxlLCExKTp0IT09ISFpLm11bHRpcGxlJiYobnVsbCE9aS5kZWZhdWx0VmFsdWU/U2UobiwhIWkubXVsdGlwbGUsaS5kZWZhdWx0VmFsdWUsITApOlNlKG4sISFpLm11bHRpcGxlLGkubXVsdGlwbGU/W106IiIsITEpKX19fXJldHVybjtjYXNlIDY6aWYobnVsbD09PXQuc3RhdGVOb2RlKXRocm93IEVycm9yKHUoMTYyKSk7cmV0dXJuIHZvaWQodC5zdGF0ZU5vZGUubm9kZVZhbHVlPXQubWVtb2l6ZWRQcm9wcyk7Y2FzZSAzOnJldHVybiB2b2lkKCh0PXQuc3RhdGVOb2RlKS5oeWRyYXRlJiYodC5oeWRyYXRlPSExLFF0KHQuY29udGFpbmVySW5mbykpKTtjYXNlIDEyOnJldHVybjtjYXNlIDEzOmlmKG49dCxudWxsPT09dC5tZW1vaXplZFN0YXRlP2k9ITE6KGk9ITAsbj10LmNoaWxkLGhvPVVyKCkpLG51bGwhPT1uKWU6Zm9yKGU9bjs7KXtpZig1PT09ZS50YWcpTT1lLnN0YXRlTm9kZSxpPyJmdW5jdGlvbiI9PXR5cGVvZihNPU0uc3R5bGUpLnNldFByb3BlcnR5P00uc2V0UHJvcGVydHkoImRpc3BsYXkiLCJub25lIiwiaW1wb3J0YW50Iik6TS5kaXNwbGF5PSJub25lIjooTT1lLnN0YXRlTm9kZSxyPW51bGwhPShyPWUubWVtb2l6ZWRQcm9wcy5zdHlsZSkmJnIuaGFzT3duUHJvcGVydHkoImRpc3BsYXkiKT9yLmRpc3BsYXk6bnVsbCxNLnN0eWxlLmRpc3BsYXk9dG4oImRpc3BsYXkiLHIpKTtlbHNlIGlmKDY9PT1lLnRhZyllLnN0YXRlTm9kZS5ub2RlVmFsdWU9aT8iIjplLm1lbW9pemVkUHJvcHM7ZWxzZXtpZigxMz09PWUudGFnJiZudWxsIT09ZS5tZW1vaXplZFN0YXRlJiZudWxsPT09ZS5tZW1vaXplZFN0YXRlLmRlaHlkcmF0ZWQpeyhNPWUuY2hpbGQuc2libGluZykucmV0dXJuPWUsZT1NO2NvbnRpbnVlfWlmKG51bGwhPT1lLmNoaWxkKXtlLmNoaWxkLnJldHVybj1lLGU9ZS5jaGlsZDtjb250aW51ZX19aWYoZT09PW4pYnJlYWs7Zm9yKDtudWxsPT09ZS5zaWJsaW5nOyl7aWYobnVsbD09PWUucmV0dXJufHxlLnJldHVybj09PW4pYnJlYWsgZTtlPWUucmV0dXJufWUuc2libGluZy5yZXR1cm49ZS5yZXR1cm4sZT1lLnNpYmxpbmd9cmV0dXJuIHZvaWQgbG8odCk7Y2FzZSAxOTpyZXR1cm4gdm9pZCBsbyh0KTtjYXNlIDE3OnJldHVybn10aHJvdyBFcnJvcih1KDE2MykpfWZ1bmN0aW9uIGxvKGUpe3ZhciB0PWUudXBkYXRlUXVldWU7aWYobnVsbCE9PXQpe2UudXBkYXRlUXVldWU9bnVsbDt2YXIgbj1lLnN0YXRlTm9kZTtudWxsPT09biYmKG49ZS5zdGF0ZU5vZGU9bmV3IF91KSx0LmZvckVhY2goKGZ1bmN0aW9uKHQpe3ZhciBpPXljLmJpbmQobnVsbCxlLHQpO24uaGFzKHQpfHwobi5hZGQodCksdC50aGVuKGksaSkpfSkpfX12YXIgTm89ImZ1bmN0aW9uIj09dHlwZW9mIFdlYWtNYXA/V2Vha01hcDpNYXA7ZnVuY3Rpb24gam8oZSx0LG4peyhuPW9NKG4sbnVsbCkpLnRhZz0zLG4ucGF5bG9hZD17ZWxlbWVudDpudWxsfTt2YXIgaT10LnZhbHVlO3JldHVybiBuLmNhbGxiYWNrPWZ1bmN0aW9uKCl7UW98fChRbz0hMCxZbz1pKSwkdShlLHQpfSxufWZ1bmN0aW9uIGdvKGUsdCxuKXsobj1vTShuLG51bGwpKS50YWc9Mzt2YXIgaT1lLnR5cGUuZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBpKXt2YXIgcj10LnZhbHVlO24ucGF5bG9hZD1mdW5jdGlvbigpe3JldHVybiAkdShlLHQpLGkocil9fXZhciBNPWUuc3RhdGVOb2RlO3JldHVybiBudWxsIT09TSYmImZ1bmN0aW9uIj09dHlwZW9mIE0uY29tcG9uZW50RGlkQ2F0Y2gmJihuLmNhbGxiYWNrPWZ1bmN0aW9uKCl7ImZ1bmN0aW9uIiE9dHlwZW9mIGkmJihudWxsPT09UG8/UG89bmV3IFNldChbdGhpc10pOlBvLmFkZCh0aGlzKSwkdShlLHQpKTt2YXIgbj10LnN0YWNrO3RoaXMuY29tcG9uZW50RGlkQ2F0Y2godC52YWx1ZSx7Y29tcG9uZW50U3RhY2s6bnVsbCE9PW4/bjoiIn0pfSksbn12YXIgc28sQW89TWF0aC5jZWlsLERvPUsuUmVhY3RDdXJyZW50RGlzcGF0Y2hlcixUbz1LLlJlYWN0Q3VycmVudE93bmVyLHlvPTAsem89Myx3bz00LGZvPTAsTG89bnVsbCxFbz1udWxsLENvPTAseG89eW8scG89bnVsbCxTbz0xMDczNzQxODIzLG1vPTEwNzM3NDE4MjMsT289bnVsbCx2bz0wLGJvPSExLGhvPTAsa289bnVsbCxRbz0hMSxZbz1udWxsLFBvPW51bGwsVW89ITEsWm89bnVsbCxHbz05MCxCbz1udWxsLFJvPTAsV289bnVsbCxIbz0wO2Z1bmN0aW9uIFZvKCl7cmV0dXJuIDAhPSg0OCZmbyk/MTA3Mzc0MTgyMS0oVXIoKS8xMHwwKTowIT09SG8/SG86SG89MTA3Mzc0MTgyMS0oVXIoKS8xMHwwKX1mdW5jdGlvbiBKbyhlLHQsbil7aWYoMD09KDImKHQ9dC5tb2RlKSkpcmV0dXJuIDEwNzM3NDE4MjM7dmFyIGk9WnIoKTtpZigwPT0oNCZ0KSlyZXR1cm4gOTk9PT1pPzEwNzM3NDE4MjM6MTA3Mzc0MTgyMjtpZigwIT0oMTYmZm8pKXJldHVybiBDbztpZihudWxsIT09billPUpyKGUsMHxuLnRpbWVvdXRNc3x8NWUzLDI1MCk7ZWxzZSBzd2l0Y2goaSl7Y2FzZSA5OTplPTEwNzM3NDE4MjM7YnJlYWs7Y2FzZSA5ODplPUpyKGUsMTUwLDEwMCk7YnJlYWs7Y2FzZSA5NzpjYXNlIDk2OmU9SnIoZSw1ZTMsMjUwKTticmVhaztjYXNlIDk1OmU9MjticmVhaztkZWZhdWx0OnRocm93IEVycm9yKHUoMzI2KSl9cmV0dXJuIG51bGwhPT1MbyYmZT09PUNvJiYtLWUsZX1mdW5jdGlvbiBGbyhlLHQpe2lmKDUwPFJvKXRocm93IFJvPTAsV289bnVsbCxFcnJvcih1KDE4NSkpO2lmKG51bGwhPT0oZT1YbyhlLHQpKSl7dmFyIG49WnIoKTsxMDczNzQxODIzPT09dD8wIT0oOCZmbykmJjA9PSg0OCZmbyk/JG8oZSk6KHFvKGUpLDA9PT1mbyYmSHIoKSk6cW8oZSksMD09KDQmZm8pfHw5OCE9PW4mJjk5IT09bnx8KG51bGw9PT1Cbz9Cbz1uZXcgTWFwKFtbZSx0XV0pOih2b2lkIDA9PT0obj1Cby5nZXQoZSkpfHxuPnQpJiZCby5zZXQoZSx0KSl9fWZ1bmN0aW9uIFhvKGUsdCl7ZS5leHBpcmF0aW9uVGltZTx0JiYoZS5leHBpcmF0aW9uVGltZT10KTt2YXIgbj1lLmFsdGVybmF0ZTtudWxsIT09biYmbi5leHBpcmF0aW9uVGltZTx0JiYobi5leHBpcmF0aW9uVGltZT10KTt2YXIgaT1lLnJldHVybixyPW51bGw7aWYobnVsbD09PWkmJjM9PT1lLnRhZylyPWUuc3RhdGVOb2RlO2Vsc2UgZm9yKDtudWxsIT09aTspe2lmKG49aS5hbHRlcm5hdGUsaS5jaGlsZEV4cGlyYXRpb25UaW1lPHQmJihpLmNoaWxkRXhwaXJhdGlvblRpbWU9dCksbnVsbCE9PW4mJm4uY2hpbGRFeHBpcmF0aW9uVGltZTx0JiYobi5jaGlsZEV4cGlyYXRpb25UaW1lPXQpLG51bGw9PT1pLnJldHVybiYmMz09PWkudGFnKXtyPWkuc3RhdGVOb2RlO2JyZWFrfWk9aS5yZXR1cm59cmV0dXJuIG51bGwhPT1yJiYoTG89PT1yJiYodWModCkseG89PT13byYmYmMocixDbykpLGhjKHIsdCkpLHJ9ZnVuY3Rpb24gS28oZSl7dmFyIHQ9ZS5sYXN0RXhwaXJlZFRpbWU7aWYoMCE9PXQpcmV0dXJuIHQ7aWYoIXZjKGUsdD1lLmZpcnN0UGVuZGluZ1RpbWUpKXJldHVybiB0O3ZhciBuPWUubGFzdFBpbmdlZFRpbWU7cmV0dXJuIDI+PShlPW4+KGU9ZS5uZXh0S25vd25QZW5kaW5nTGV2ZWwpP246ZSkmJnQhPT1lPzA6ZX1mdW5jdGlvbiBxbyhlKXtpZigwIT09ZS5sYXN0RXhwaXJlZFRpbWUpZS5jYWxsYmFja0V4cGlyYXRpb25UaW1lPTEwNzM3NDE4MjMsZS5jYWxsYmFja1ByaW9yaXR5PTk5LGUuY2FsbGJhY2tOb2RlPVdyKCRvLmJpbmQobnVsbCxlKSk7ZWxzZXt2YXIgdD1LbyhlKSxuPWUuY2FsbGJhY2tOb2RlO2lmKDA9PT10KW51bGwhPT1uJiYoZS5jYWxsYmFja05vZGU9bnVsbCxlLmNhbGxiYWNrRXhwaXJhdGlvblRpbWU9MCxlLmNhbGxiYWNrUHJpb3JpdHk9OTApO2Vsc2V7dmFyIGk9Vm8oKTtpZigxMDczNzQxODIzPT09dD9pPTk5OjE9PT10fHwyPT09dD9pPTk1Omk9MD49KGk9MTAqKDEwNzM3NDE4MjEtdCktMTAqKDEwNzM3NDE4MjEtaSkpPzk5OjI1MD49aT85ODo1MjUwPj1pPzk3Ojk1LG51bGwhPT1uKXt2YXIgcj1lLmNhbGxiYWNrUHJpb3JpdHk7aWYoZS5jYWxsYmFja0V4cGlyYXRpb25UaW1lPT09dCYmcj49aSlyZXR1cm47biE9PXZyJiZmcihuKX1lLmNhbGxiYWNrRXhwaXJhdGlvblRpbWU9dCxlLmNhbGxiYWNrUHJpb3JpdHk9aSx0PTEwNzM3NDE4MjM9PT10P1dyKCRvLmJpbmQobnVsbCxlKSk6UnIoaSxfby5iaW5kKG51bGwsZSkse3RpbWVvdXQ6MTAqKDEwNzM3NDE4MjEtdCktVXIoKX0pLGUuY2FsbGJhY2tOb2RlPXR9fX1mdW5jdGlvbiBfbyhlLHQpe2lmKEhvPTAsdClyZXR1cm4ga2MoZSx0PVZvKCkpLHFvKGUpLG51bGw7dmFyIG49S28oZSk7aWYoMCE9PW4pe2lmKHQ9ZS5jYWxsYmFja05vZGUsMCE9KDQ4JmZvKSl0aHJvdyBFcnJvcih1KDMyNykpO2lmKHNjKCksZT09PUxvJiZuPT09Q298fG5jKGUsbiksbnVsbCE9PUVvKXt2YXIgaT1mbztmb3w9MTY7Zm9yKHZhciByPXJjKCk7Oyl0cnl7Y2MoKTticmVha31jYXRjaCh0KXtpYyhlLHQpfWlmKCRyKCksZm89aSxEby5jdXJyZW50PXIsMT09PXhvKXRocm93IHQ9cG8sbmMoZSxuKSxiYyhlLG4pLHFvKGUpLHQ7aWYobnVsbD09PUVvKXN3aXRjaChyPWUuZmluaXNoZWRXb3JrPWUuY3VycmVudC5hbHRlcm5hdGUsZS5maW5pc2hlZEV4cGlyYXRpb25UaW1lPW4saT14byxMbz1udWxsLGkpe2Nhc2UgeW86Y2FzZSAxOnRocm93IEVycm9yKHUoMzQ1KSk7Y2FzZSAyOmtjKGUsMjxuPzI6bik7YnJlYWs7Y2FzZSB6bzppZihiYyhlLG4pLG49PT0oaT1lLmxhc3RTdXNwZW5kZWRUaW1lKSYmKGUubmV4dEtub3duUGVuZGluZ0xldmVsPWxjKHIpKSwxMDczNzQxODIzPT09U28mJjEwPChyPWhvKzUwMC1VcigpKSl7aWYoYm8pe3ZhciBNPWUubGFzdFBpbmdlZFRpbWU7aWYoMD09PU18fE0+PW4pe2UubGFzdFBpbmdlZFRpbWU9bixuYyhlLG4pO2JyZWFrfX1pZigwIT09KE09S28oZSkpJiZNIT09bilicmVhaztpZigwIT09aSYmaSE9PW4pe2UubGFzdFBpbmdlZFRpbWU9aTticmVha31lLnRpbWVvdXRIYW5kbGU9VG4oTmMuYmluZChudWxsLGUpLHIpO2JyZWFrfU5jKGUpO2JyZWFrO2Nhc2Ugd286aWYoYmMoZSxuKSxuPT09KGk9ZS5sYXN0U3VzcGVuZGVkVGltZSkmJihlLm5leHRLbm93blBlbmRpbmdMZXZlbD1sYyhyKSksYm8mJigwPT09KHI9ZS5sYXN0UGluZ2VkVGltZSl8fHI+PW4pKXtlLmxhc3RQaW5nZWRUaW1lPW4sbmMoZSxuKTticmVha31pZigwIT09KHI9S28oZSkpJiZyIT09bilicmVhaztpZigwIT09aSYmaSE9PW4pe2UubGFzdFBpbmdlZFRpbWU9aTticmVha31pZigxMDczNzQxODIzIT09bW8/aT0xMCooMTA3Mzc0MTgyMS1tbyktVXIoKToxMDczNzQxODIzPT09U28/aT0wOihpPTEwKigxMDczNzQxODIxLVNvKS01ZTMsMD4oaT0ocj1VcigpKS1pKSYmKGk9MCksKG49MTAqKDEwNzM3NDE4MjEtbiktcik8KGk9KDEyMD5pPzEyMDo0ODA+aT80ODA6MTA4MD5pPzEwODA6MTkyMD5pPzE5MjA6M2UzPmk/M2UzOjQzMjA+aT80MzIwOjE5NjAqQW8oaS8xOTYwKSktaSkmJihpPW4pKSwxMDxpKXtlLnRpbWVvdXRIYW5kbGU9VG4oTmMuYmluZChudWxsLGUpLGkpO2JyZWFrfU5jKGUpO2JyZWFrO2Nhc2UgNTppZigxMDczNzQxODIzIT09U28mJm51bGwhPT1Pbyl7TT1Tbzt2YXIgbz1PbztpZigwPj0oaT0wfG8uYnVzeU1pbkR1cmF0aW9uTXMpP2k9MDoocj0wfG8uYnVzeURlbGF5TXMsaT0oTT1VcigpLSgxMCooMTA3Mzc0MTgyMS1NKS0oMHxvLnRpbWVvdXRNc3x8NWUzKSkpPD1yPzA6citpLU0pLDEwPGkpe2JjKGUsbiksZS50aW1lb3V0SGFuZGxlPVRuKE5jLmJpbmQobnVsbCxlKSxpKTticmVha319TmMoZSk7YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcih1KDMyOSkpfWlmKHFvKGUpLGUuY2FsbGJhY2tOb2RlPT09dClyZXR1cm4gX28uYmluZChudWxsLGUpfX1yZXR1cm4gbnVsbH1mdW5jdGlvbiAkbyhlKXt2YXIgdD1lLmxhc3RFeHBpcmVkVGltZTtpZih0PTAhPT10P3Q6MTA3Mzc0MTgyMywwIT0oNDgmZm8pKXRocm93IEVycm9yKHUoMzI3KSk7aWYoc2MoKSxlPT09TG8mJnQ9PT1Db3x8bmMoZSx0KSxudWxsIT09RW8pe3ZhciBuPWZvO2ZvfD0xNjtmb3IodmFyIGk9cmMoKTs7KXRyeXtvYygpO2JyZWFrfWNhdGNoKHQpe2ljKGUsdCl9aWYoJHIoKSxmbz1uLERvLmN1cnJlbnQ9aSwxPT09eG8pdGhyb3cgbj1wbyxuYyhlLHQpLGJjKGUsdCkscW8oZSksbjtpZihudWxsIT09RW8pdGhyb3cgRXJyb3IodSgyNjEpKTtlLmZpbmlzaGVkV29yaz1lLmN1cnJlbnQuYWx0ZXJuYXRlLGUuZmluaXNoZWRFeHBpcmF0aW9uVGltZT10LExvPW51bGwsTmMoZSkscW8oZSl9cmV0dXJuIG51bGx9ZnVuY3Rpb24gZWMoZSx0KXt2YXIgbj1mbztmb3w9MTt0cnl7cmV0dXJuIGUodCl9ZmluYWxseXswPT09KGZvPW4pJiZIcigpfX1mdW5jdGlvbiB0YyhlLHQpe3ZhciBuPWZvO2ZvJj0tMixmb3w9ODt0cnl7cmV0dXJuIGUodCl9ZmluYWxseXswPT09KGZvPW4pJiZIcigpfX1mdW5jdGlvbiBuYyhlLHQpe2UuZmluaXNoZWRXb3JrPW51bGwsZS5maW5pc2hlZEV4cGlyYXRpb25UaW1lPTA7dmFyIG49ZS50aW1lb3V0SGFuZGxlO2lmKC0xIT09biYmKGUudGltZW91dEhhbmRsZT0tMSx5bihuKSksbnVsbCE9PUVvKWZvcihuPUVvLnJldHVybjtudWxsIT09bjspe3ZhciBpPW47c3dpdGNoKGkudGFnKXtjYXNlIDE6bnVsbCE9KGk9aS50eXBlLmNoaWxkQ29udGV4dFR5cGVzKSYmQXIoKTticmVhaztjYXNlIDM6dk0oKSxjcihOciksY3IobHIpO2JyZWFrO2Nhc2UgNTpoTShpKTticmVhaztjYXNlIDQ6dk0oKTticmVhaztjYXNlIDEzOmNhc2UgMTk6Y3Ioa00pO2JyZWFrO2Nhc2UgMTA6ZU0oaSl9bj1uLnJldHVybn1Mbz1lLEVvPUNjKGUuY3VycmVudCxudWxsKSxDbz10LHhvPXlvLHBvPW51bGwsbW89U289MTA3Mzc0MTgyMyxPbz1udWxsLHZvPTAsYm89ITF9ZnVuY3Rpb24gaWMoZSx0KXtmb3IoOzspe3RyeXtpZigkcigpLFBNLmN1cnJlbnQ9c3UsV00pZm9yKHZhciBuPUdNLm1lbW9pemVkU3RhdGU7bnVsbCE9PW47KXt2YXIgaT1uLnF1ZXVlO251bGwhPT1pJiYoaS5wZW5kaW5nPW51bGwpLG49bi5uZXh0fWlmKFpNPTAsUk09Qk09R009bnVsbCxXTT0hMSxudWxsPT09RW98fG51bGw9PT1Fby5yZXR1cm4pcmV0dXJuIHhvPTEscG89dCxFbz1udWxsO2U6e3ZhciByPWUsTT1Fby5yZXR1cm4sdT1FbyxvPXQ7aWYodD1Dbyx1LmVmZmVjdFRhZ3w9MjA0OCx1LmZpcnN0RWZmZWN0PXUubGFzdEVmZmVjdD1udWxsLG51bGwhPT1vJiYib2JqZWN0Ij09dHlwZW9mIG8mJiJmdW5jdGlvbiI9PXR5cGVvZiBvLnRoZW4pe3ZhciBjPW87aWYoMD09KDImdS5tb2RlKSl7dmFyIGE9dS5hbHRlcm5hdGU7YT8odS51cGRhdGVRdWV1ZT1hLnVwZGF0ZVF1ZXVlLHUubWVtb2l6ZWRTdGF0ZT1hLm1lbW9pemVkU3RhdGUsdS5leHBpcmF0aW9uVGltZT1hLmV4cGlyYXRpb25UaW1lKToodS51cGRhdGVRdWV1ZT1udWxsLHUubWVtb2l6ZWRTdGF0ZT1udWxsKX12YXIgST0wIT0oMSZrTS5jdXJyZW50KSxsPU07ZG97dmFyIE47aWYoTj0xMz09PWwudGFnKXt2YXIgaj1sLm1lbW9pemVkU3RhdGU7aWYobnVsbCE9PWopTj1udWxsIT09ai5kZWh5ZHJhdGVkO2Vsc2V7dmFyIGc9bC5tZW1vaXplZFByb3BzO049dm9pZCAwIT09Zy5mYWxsYmFjayYmKCEwIT09Zy51bnN0YWJsZV9hdm9pZFRoaXNGYWxsYmFja3x8IUkpfX1pZihOKXt2YXIgcz1sLnVwZGF0ZVF1ZXVlO2lmKG51bGw9PT1zKXt2YXIgQT1uZXcgU2V0O0EuYWRkKGMpLGwudXBkYXRlUXVldWU9QX1lbHNlIHMuYWRkKGMpO2lmKDA9PSgyJmwubW9kZSkpe2lmKGwuZWZmZWN0VGFnfD02NCx1LmVmZmVjdFRhZyY9LTI5ODEsMT09PXUudGFnKWlmKG51bGw9PT11LmFsdGVybmF0ZSl1LnRhZz0xNztlbHNle3ZhciBEPW9NKDEwNzM3NDE4MjMsbnVsbCk7RC50YWc9MixjTSh1LEQpfXUuZXhwaXJhdGlvblRpbWU9MTA3Mzc0MTgyMzticmVhayBlfW89dm9pZCAwLHU9dDt2YXIgZD1yLnBpbmdDYWNoZTtpZihudWxsPT09ZD8oZD1yLnBpbmdDYWNoZT1uZXcgTm8sbz1uZXcgU2V0LGQuc2V0KGMsbykpOnZvaWQgMD09PShvPWQuZ2V0KGMpKSYmKG89bmV3IFNldCxkLnNldChjLG8pKSwhby5oYXModSkpe28uYWRkKHUpO3ZhciBUPVRjLmJpbmQobnVsbCxyLGMsdSk7Yy50aGVuKFQsVCl9bC5lZmZlY3RUYWd8PTQwOTYsbC5leHBpcmF0aW9uVGltZT10O2JyZWFrIGV9bD1sLnJldHVybn13aGlsZShudWxsIT09bCk7bz1FcnJvcigoQWUodS50eXBlKXx8IkEgUmVhY3QgY29tcG9uZW50IikrIiBzdXNwZW5kZWQgd2hpbGUgcmVuZGVyaW5nLCBidXQgbm8gZmFsbGJhY2sgVUkgd2FzIHNwZWNpZmllZC5cblxuQWRkIGEgPFN1c3BlbnNlIGZhbGxiYWNrPS4uLj4gY29tcG9uZW50IGhpZ2hlciBpbiB0aGUgdHJlZSB0byBwcm92aWRlIGEgbG9hZGluZyBpbmRpY2F0b3Igb3IgcGxhY2Vob2xkZXIgdG8gZGlzcGxheS4iK0RlKHUpKX01IT09eG8mJih4bz0yKSxvPXF1KG8sdSksbD1NO2Rve3N3aXRjaChsLnRhZyl7Y2FzZSAzOmM9byxsLmVmZmVjdFRhZ3w9NDA5NixsLmV4cGlyYXRpb25UaW1lPXQsYU0obCxqbyhsLGMsdCkpO2JyZWFrIGU7Y2FzZSAxOmM9bzt2YXIgeT1sLnR5cGUsej1sLnN0YXRlTm9kZTtpZigwPT0oNjQmbC5lZmZlY3RUYWcpJiYoImZ1bmN0aW9uIj09dHlwZW9mIHkuZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yfHxudWxsIT09eiYmImZ1bmN0aW9uIj09dHlwZW9mIHouY29tcG9uZW50RGlkQ2F0Y2gmJihudWxsPT09UG98fCFQby5oYXMoeikpKSl7bC5lZmZlY3RUYWd8PTQwOTYsbC5leHBpcmF0aW9uVGltZT10LGFNKGwsZ28obCxjLHQpKTticmVhayBlfX1sPWwucmV0dXJufXdoaWxlKG51bGwhPT1sKX1Fbz1JYyhFbyl9Y2F0Y2goZSl7dD1lO2NvbnRpbnVlfWJyZWFrfX1mdW5jdGlvbiByYygpe3ZhciBlPURvLmN1cnJlbnQ7cmV0dXJuIERvLmN1cnJlbnQ9c3UsbnVsbD09PWU/c3U6ZX1mdW5jdGlvbiBNYyhlLHQpe2U8U28mJjI8ZSYmKFNvPWUpLG51bGwhPT10JiZlPG1vJiYyPGUmJihtbz1lLE9vPXQpfWZ1bmN0aW9uIHVjKGUpe2U+dm8mJih2bz1lKX1mdW5jdGlvbiBvYygpe2Zvcig7bnVsbCE9PUVvOylFbz1hYyhFbyl9ZnVuY3Rpb24gY2MoKXtmb3IoO251bGwhPT1FbyYmIWJyKCk7KUVvPWFjKEVvKX1mdW5jdGlvbiBhYyhlKXt2YXIgdD1zbyhlLmFsdGVybmF0ZSxlLENvKTtyZXR1cm4gZS5tZW1vaXplZFByb3BzPWUucGVuZGluZ1Byb3BzLG51bGw9PT10JiYodD1JYyhlKSksVG8uY3VycmVudD1udWxsLHR9ZnVuY3Rpb24gSWMoZSl7RW89ZTtkb3t2YXIgdD1Fby5hbHRlcm5hdGU7aWYoZT1Fby5yZXR1cm4sMD09KDIwNDgmRW8uZWZmZWN0VGFnKSl7aWYodD1YdSh0LEVvLENvKSwxPT09Q298fDEhPT1Fby5jaGlsZEV4cGlyYXRpb25UaW1lKXtmb3IodmFyIG49MCxpPUVvLmNoaWxkO251bGwhPT1pOyl7dmFyIHI9aS5leHBpcmF0aW9uVGltZSxNPWkuY2hpbGRFeHBpcmF0aW9uVGltZTtyPm4mJihuPXIpLE0+biYmKG49TSksaT1pLnNpYmxpbmd9RW8uY2hpbGRFeHBpcmF0aW9uVGltZT1ufWlmKG51bGwhPT10KXJldHVybiB0O251bGwhPT1lJiYwPT0oMjA0OCZlLmVmZmVjdFRhZykmJihudWxsPT09ZS5maXJzdEVmZmVjdCYmKGUuZmlyc3RFZmZlY3Q9RW8uZmlyc3RFZmZlY3QpLG51bGwhPT1Fby5sYXN0RWZmZWN0JiYobnVsbCE9PWUubGFzdEVmZmVjdCYmKGUubGFzdEVmZmVjdC5uZXh0RWZmZWN0PUVvLmZpcnN0RWZmZWN0KSxlLmxhc3RFZmZlY3Q9RW8ubGFzdEVmZmVjdCksMTxFby5lZmZlY3RUYWcmJihudWxsIT09ZS5sYXN0RWZmZWN0P2UubGFzdEVmZmVjdC5uZXh0RWZmZWN0PUVvOmUuZmlyc3RFZmZlY3Q9RW8sZS5sYXN0RWZmZWN0PUVvKSl9ZWxzZXtpZihudWxsIT09KHQ9S3UoRW8pKSlyZXR1cm4gdC5lZmZlY3RUYWcmPTIwNDcsdDtudWxsIT09ZSYmKGUuZmlyc3RFZmZlY3Q9ZS5sYXN0RWZmZWN0PW51bGwsZS5lZmZlY3RUYWd8PTIwNDgpfWlmKG51bGwhPT0odD1Fby5zaWJsaW5nKSlyZXR1cm4gdDtFbz1lfXdoaWxlKG51bGwhPT1Fbyk7cmV0dXJuIHhvPT09eW8mJih4bz01KSxudWxsfWZ1bmN0aW9uIGxjKGUpe3ZhciB0PWUuZXhwaXJhdGlvblRpbWU7cmV0dXJuIHQ+KGU9ZS5jaGlsZEV4cGlyYXRpb25UaW1lKT90OmV9ZnVuY3Rpb24gTmMoZSl7dmFyIHQ9WnIoKTtyZXR1cm4gQnIoOTksamMuYmluZChudWxsLGUsdCkpLG51bGx9ZnVuY3Rpb24gamMoZSx0KXtkb3tzYygpfXdoaWxlKG51bGwhPT1abyk7aWYoMCE9KDQ4JmZvKSl0aHJvdyBFcnJvcih1KDMyNykpO3ZhciBuPWUuZmluaXNoZWRXb3JrLGk9ZS5maW5pc2hlZEV4cGlyYXRpb25UaW1lO2lmKG51bGw9PT1uKXJldHVybiBudWxsO2lmKGUuZmluaXNoZWRXb3JrPW51bGwsZS5maW5pc2hlZEV4cGlyYXRpb25UaW1lPTAsbj09PWUuY3VycmVudCl0aHJvdyBFcnJvcih1KDE3NykpO2UuY2FsbGJhY2tOb2RlPW51bGwsZS5jYWxsYmFja0V4cGlyYXRpb25UaW1lPTAsZS5jYWxsYmFja1ByaW9yaXR5PTkwLGUubmV4dEtub3duUGVuZGluZ0xldmVsPTA7dmFyIHI9bGMobik7aWYoZS5maXJzdFBlbmRpbmdUaW1lPXIsaTw9ZS5sYXN0U3VzcGVuZGVkVGltZT9lLmZpcnN0U3VzcGVuZGVkVGltZT1lLmxhc3RTdXNwZW5kZWRUaW1lPWUubmV4dEtub3duUGVuZGluZ0xldmVsPTA6aTw9ZS5maXJzdFN1c3BlbmRlZFRpbWUmJihlLmZpcnN0U3VzcGVuZGVkVGltZT1pLTEpLGk8PWUubGFzdFBpbmdlZFRpbWUmJihlLmxhc3RQaW5nZWRUaW1lPTApLGk8PWUubGFzdEV4cGlyZWRUaW1lJiYoZS5sYXN0RXhwaXJlZFRpbWU9MCksZT09PUxvJiYoRW89TG89bnVsbCxDbz0wKSwxPG4uZWZmZWN0VGFnP251bGwhPT1uLmxhc3RFZmZlY3Q/KG4ubGFzdEVmZmVjdC5uZXh0RWZmZWN0PW4scj1uLmZpcnN0RWZmZWN0KTpyPW46cj1uLmZpcnN0RWZmZWN0LG51bGwhPT1yKXt2YXIgTT1mbztmb3w9MzIsVG8uY3VycmVudD1udWxsLHNuPVZ0O3ZhciBvPWpuKCk7aWYoZ24obykpe2lmKCJzZWxlY3Rpb25TdGFydCJpbiBvKXZhciBjPXtzdGFydDpvLnNlbGVjdGlvblN0YXJ0LGVuZDpvLnNlbGVjdGlvbkVuZH07ZWxzZSBlOnt2YXIgYT0oYz0oYz1vLm93bmVyRG9jdW1lbnQpJiZjLmRlZmF1bHRWaWV3fHx3aW5kb3cpLmdldFNlbGVjdGlvbiYmYy5nZXRTZWxlY3Rpb24oKTtpZihhJiYwIT09YS5yYW5nZUNvdW50KXtjPWEuYW5jaG9yTm9kZTt2YXIgST1hLmFuY2hvck9mZnNldCxsPWEuZm9jdXNOb2RlO2E9YS5mb2N1c09mZnNldDt0cnl7Yy5ub2RlVHlwZSxsLm5vZGVUeXBlfWNhdGNoKGUpe2M9bnVsbDticmVhayBlfXZhciBOPTAsaj0tMSxnPS0xLHM9MCxBPTAsRD1vLGQ9bnVsbDt0OmZvcig7Oyl7Zm9yKHZhciBUO0QhPT1jfHwwIT09SSYmMyE9PUQubm9kZVR5cGV8fChqPU4rSSksRCE9PWx8fDAhPT1hJiYzIT09RC5ub2RlVHlwZXx8KGc9TithKSwzPT09RC5ub2RlVHlwZSYmKE4rPUQubm9kZVZhbHVlLmxlbmd0aCksbnVsbCE9PShUPUQuZmlyc3RDaGlsZCk7KWQ9RCxEPVQ7Zm9yKDs7KXtpZihEPT09bylicmVhayB0O2lmKGQ9PT1jJiYrK3M9PT1JJiYoaj1OKSxkPT09bCYmKytBPT09YSYmKGc9TiksbnVsbCE9PShUPUQubmV4dFNpYmxpbmcpKWJyZWFrO2Q9KEQ9ZCkucGFyZW50Tm9kZX1EPVR9Yz0tMT09PWp8fC0xPT09Zz9udWxsOntzdGFydDpqLGVuZDpnfX1lbHNlIGM9bnVsbH1jPWN8fHtzdGFydDowLGVuZDowfX1lbHNlIGM9bnVsbDtBbj17YWN0aXZlRWxlbWVudERldGFjaGVkOm51bGwsZm9jdXNlZEVsZW06byxzZWxlY3Rpb25SYW5nZTpjfSxWdD0hMSxrbz1yO2Rve3RyeXtnYygpfWNhdGNoKGUpe2lmKG51bGw9PT1rbyl0aHJvdyBFcnJvcih1KDMzMCkpO2RjKGtvLGUpLGtvPWtvLm5leHRFZmZlY3R9fXdoaWxlKG51bGwhPT1rbyk7a289cjtkb3t0cnl7Zm9yKG89ZSxjPXQ7bnVsbCE9PWtvOyl7dmFyIHk9a28uZWZmZWN0VGFnO2lmKDE2JnkmJlplKGtvLnN0YXRlTm9kZSwiIiksMTI4Jnkpe3ZhciB6PWtvLmFsdGVybmF0ZTtpZihudWxsIT09eil7dmFyIHc9ei5yZWY7bnVsbCE9PXcmJigiZnVuY3Rpb24iPT10eXBlb2Ygdz93KG51bGwpOncuY3VycmVudD1udWxsKX19c3dpdGNoKDEwMzgmeSl7Y2FzZSAyOmNvKGtvKSxrby5lZmZlY3RUYWcmPS0zO2JyZWFrO2Nhc2UgNjpjbyhrbyksa28uZWZmZWN0VGFnJj0tMyxJbyhrby5hbHRlcm5hdGUsa28pO2JyZWFrO2Nhc2UgMTAyNDprby5lZmZlY3RUYWcmPS0xMDI1O2JyZWFrO2Nhc2UgMTAyODprby5lZmZlY3RUYWcmPS0xMDI1LElvKGtvLmFsdGVybmF0ZSxrbyk7YnJlYWs7Y2FzZSA0OklvKGtvLmFsdGVybmF0ZSxrbyk7YnJlYWs7Y2FzZSA4OmFvKG8sST1rbyxjKSx1byhJKX1rbz1rby5uZXh0RWZmZWN0fX1jYXRjaChlKXtpZihudWxsPT09a28pdGhyb3cgRXJyb3IodSgzMzApKTtkYyhrbyxlKSxrbz1rby5uZXh0RWZmZWN0fX13aGlsZShudWxsIT09a28pO2lmKHc9QW4sej1qbigpLHk9dy5mb2N1c2VkRWxlbSxjPXcuc2VsZWN0aW9uUmFuZ2UseiE9PXkmJnkmJnkub3duZXJEb2N1bWVudCYmZnVuY3Rpb24gZSh0LG4pe3JldHVybiEoIXR8fCFuKSYmKHQ9PT1ufHwoIXR8fDMhPT10Lm5vZGVUeXBlKSYmKG4mJjM9PT1uLm5vZGVUeXBlP2UodCxuLnBhcmVudE5vZGUpOiJjb250YWlucyJpbiB0P3QuY29udGFpbnMobik6ISF0LmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uJiYhISgxNiZ0LmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKG4pKSkpfSh5Lm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LHkpKXtudWxsIT09YyYmZ24oeSkmJih6PWMuc3RhcnQsdm9pZCAwPT09KHc9Yy5lbmQpJiYodz16KSwic2VsZWN0aW9uU3RhcnQiaW4geT8oeS5zZWxlY3Rpb25TdGFydD16LHkuc2VsZWN0aW9uRW5kPU1hdGgubWluKHcseS52YWx1ZS5sZW5ndGgpKToodz0oej15Lm93bmVyRG9jdW1lbnR8fGRvY3VtZW50KSYmei5kZWZhdWx0Vmlld3x8d2luZG93KS5nZXRTZWxlY3Rpb24mJih3PXcuZ2V0U2VsZWN0aW9uKCksST15LnRleHRDb250ZW50Lmxlbmd0aCxvPU1hdGgubWluKGMuc3RhcnQsSSksYz12b2lkIDA9PT1jLmVuZD9vOk1hdGgubWluKGMuZW5kLEkpLCF3LmV4dGVuZCYmbz5jJiYoST1jLGM9byxvPUkpLEk9Tm4oeSxvKSxsPU5uKHksYyksSSYmbCYmKDEhPT13LnJhbmdlQ291bnR8fHcuYW5jaG9yTm9kZSE9PUkubm9kZXx8dy5hbmNob3JPZmZzZXQhPT1JLm9mZnNldHx8dy5mb2N1c05vZGUhPT1sLm5vZGV8fHcuZm9jdXNPZmZzZXQhPT1sLm9mZnNldCkmJigoej16LmNyZWF0ZVJhbmdlKCkpLnNldFN0YXJ0KEkubm9kZSxJLm9mZnNldCksdy5yZW1vdmVBbGxSYW5nZXMoKSxvPmM/KHcuYWRkUmFuZ2Uoeiksdy5leHRlbmQobC5ub2RlLGwub2Zmc2V0KSk6KHouc2V0RW5kKGwubm9kZSxsLm9mZnNldCksdy5hZGRSYW5nZSh6KSkpKSksej1bXTtmb3Iodz15O3c9dy5wYXJlbnROb2RlOykxPT09dy5ub2RlVHlwZSYmei5wdXNoKHtlbGVtZW50OncsbGVmdDp3LnNjcm9sbExlZnQsdG9wOncuc2Nyb2xsVG9wfSk7Zm9yKCJmdW5jdGlvbiI9PXR5cGVvZiB5LmZvY3VzJiZ5LmZvY3VzKCkseT0wO3k8ei5sZW5ndGg7eSsrKSh3PXpbeV0pLmVsZW1lbnQuc2Nyb2xsTGVmdD13LmxlZnQsdy5lbGVtZW50LnNjcm9sbFRvcD13LnRvcH1WdD0hIXNuLEFuPXNuPW51bGwsZS5jdXJyZW50PW4sa289cjtkb3t0cnl7Zm9yKHk9ZTtudWxsIT09a287KXt2YXIgZj1rby5lZmZlY3RUYWc7aWYoMzYmZiYmcm8oeSxrby5hbHRlcm5hdGUsa28pLDEyOCZmKXt6PXZvaWQgMDt2YXIgTD1rby5yZWY7aWYobnVsbCE9PUwpe3ZhciBFPWtvLnN0YXRlTm9kZTtzd2l0Y2goa28udGFnKXtjYXNlIDU6ej1FO2JyZWFrO2RlZmF1bHQ6ej1FfSJmdW5jdGlvbiI9PXR5cGVvZiBMP0woeik6TC5jdXJyZW50PXp9fWtvPWtvLm5leHRFZmZlY3R9fWNhdGNoKGUpe2lmKG51bGw9PT1rbyl0aHJvdyBFcnJvcih1KDMzMCkpO2RjKGtvLGUpLGtvPWtvLm5leHRFZmZlY3R9fXdoaWxlKG51bGwhPT1rbyk7a289bnVsbCxocigpLGZvPU19ZWxzZSBlLmN1cnJlbnQ9bjtpZihVbylVbz0hMSxabz1lLEdvPXQ7ZWxzZSBmb3Ioa289cjtudWxsIT09a287KXQ9a28ubmV4dEVmZmVjdCxrby5uZXh0RWZmZWN0PW51bGwsa289dDtpZigwPT09KHQ9ZS5maXJzdFBlbmRpbmdUaW1lKSYmKFBvPW51bGwpLDEwNzM3NDE4MjM9PT10P2U9PT1Xbz9SbysrOihSbz0wLFdvPWUpOlJvPTAsImZ1bmN0aW9uIj09dHlwZW9mIHpjJiZ6YyhuLnN0YXRlTm9kZSxpKSxxbyhlKSxRbyl0aHJvdyBRbz0hMSxlPVlvLFlvPW51bGwsZTtyZXR1cm4gMCE9KDgmZm8pfHxIcigpLG51bGx9ZnVuY3Rpb24gZ2MoKXtmb3IoO251bGwhPT1rbzspe3ZhciBlPWtvLmVmZmVjdFRhZzswIT0oMjU2JmUpJiZ0byhrby5hbHRlcm5hdGUsa28pLDA9PSg1MTImZSl8fFVvfHwoVW89ITAsUnIoOTcsKGZ1bmN0aW9uKCl7cmV0dXJuIHNjKCksbnVsbH0pKSksa289a28ubmV4dEVmZmVjdH19ZnVuY3Rpb24gc2MoKXtpZig5MCE9PUdvKXt2YXIgZT05NzxHbz85NzpHbztyZXR1cm4gR289OTAsQnIoZSxBYyl9fWZ1bmN0aW9uIEFjKCl7aWYobnVsbD09PVpvKXJldHVybiExO3ZhciBlPVpvO2lmKFpvPW51bGwsMCE9KDQ4JmZvKSl0aHJvdyBFcnJvcih1KDMzMSkpO3ZhciB0PWZvO2Zvcihmb3w9MzIsZT1lLmN1cnJlbnQuZmlyc3RFZmZlY3Q7bnVsbCE9PWU7KXt0cnl7dmFyIG49ZTtpZigwIT0oNTEyJm4uZWZmZWN0VGFnKSlzd2l0Y2gobi50YWcpe2Nhc2UgMDpjYXNlIDExOmNhc2UgMTU6Y2FzZSAyMjpubyg1LG4pLGlvKDUsbil9fWNhdGNoKHQpe2lmKG51bGw9PT1lKXRocm93IEVycm9yKHUoMzMwKSk7ZGMoZSx0KX1uPWUubmV4dEVmZmVjdCxlLm5leHRFZmZlY3Q9bnVsbCxlPW59cmV0dXJuIGZvPXQsSHIoKSwhMH1mdW5jdGlvbiBEYyhlLHQsbil7Y00oZSx0PWpvKGUsdD1xdShuLHQpLDEwNzM3NDE4MjMpKSxudWxsIT09KGU9WG8oZSwxMDczNzQxODIzKSkmJnFvKGUpfWZ1bmN0aW9uIGRjKGUsdCl7aWYoMz09PWUudGFnKURjKGUsZSx0KTtlbHNlIGZvcih2YXIgbj1lLnJldHVybjtudWxsIT09bjspe2lmKDM9PT1uLnRhZyl7RGMobixlLHQpO2JyZWFrfWlmKDE9PT1uLnRhZyl7dmFyIGk9bi5zdGF0ZU5vZGU7aWYoImZ1bmN0aW9uIj09dHlwZW9mIG4udHlwZS5nZXREZXJpdmVkU3RhdGVGcm9tRXJyb3J8fCJmdW5jdGlvbiI9PXR5cGVvZiBpLmNvbXBvbmVudERpZENhdGNoJiYobnVsbD09PVBvfHwhUG8uaGFzKGkpKSl7Y00obixlPWdvKG4sZT1xdSh0LGUpLDEwNzM3NDE4MjMpKSxudWxsIT09KG49WG8obiwxMDczNzQxODIzKSkmJnFvKG4pO2JyZWFrfX1uPW4ucmV0dXJufX1mdW5jdGlvbiBUYyhlLHQsbil7dmFyIGk9ZS5waW5nQ2FjaGU7bnVsbCE9PWkmJmkuZGVsZXRlKHQpLExvPT09ZSYmQ289PT1uP3hvPT09d298fHhvPT09em8mJjEwNzM3NDE4MjM9PT1TbyYmVXIoKS1obzw1MDA/bmMoZSxDbyk6Ym89ITA6dmMoZSxuKSYmKDAhPT0odD1lLmxhc3RQaW5nZWRUaW1lKSYmdDxufHwoZS5sYXN0UGluZ2VkVGltZT1uLHFvKGUpKSl9ZnVuY3Rpb24geWMoZSx0KXt2YXIgbj1lLnN0YXRlTm9kZTtudWxsIT09biYmbi5kZWxldGUodCksMD09PSh0PTApJiYodD1Kbyh0PVZvKCksZSxudWxsKSksbnVsbCE9PShlPVhvKGUsdCkpJiZxbyhlKX1zbz1mdW5jdGlvbihlLHQsbil7dmFyIGk9dC5leHBpcmF0aW9uVGltZTtpZihudWxsIT09ZSl7dmFyIHI9dC5wZW5kaW5nUHJvcHM7aWYoZS5tZW1vaXplZFByb3BzIT09cnx8TnIuY3VycmVudClTdT0hMDtlbHNle2lmKGk8bil7c3dpdGNoKFN1PSExLHQudGFnKXtjYXNlIDM6UHUodCkseHUoKTticmVhaztjYXNlIDU6aWYoYk0odCksNCZ0Lm1vZGUmJjEhPT1uJiZyLmhpZGRlbilyZXR1cm4gdC5leHBpcmF0aW9uVGltZT10LmNoaWxkRXhwaXJhdGlvblRpbWU9MSxudWxsO2JyZWFrO2Nhc2UgMTpzcih0LnR5cGUpJiZUcih0KTticmVhaztjYXNlIDQ6T00odCx0LnN0YXRlTm9kZS5jb250YWluZXJJbmZvKTticmVhaztjYXNlIDEwOmk9dC5tZW1vaXplZFByb3BzLnZhbHVlLHI9dC50eXBlLl9jb250ZXh0LGFyKFhyLHIuX2N1cnJlbnRWYWx1ZSksci5fY3VycmVudFZhbHVlPWk7YnJlYWs7Y2FzZSAxMzppZihudWxsIT09dC5tZW1vaXplZFN0YXRlKXJldHVybiAwIT09KGk9dC5jaGlsZC5jaGlsZEV4cGlyYXRpb25UaW1lKSYmaT49bj9SdShlLHQsbik6KGFyKGtNLDEma00uY3VycmVudCksbnVsbCE9PSh0PUp1KGUsdCxuKSk/dC5zaWJsaW5nOm51bGwpO2FyKGtNLDEma00uY3VycmVudCk7YnJlYWs7Y2FzZSAxOTppZihpPXQuY2hpbGRFeHBpcmF0aW9uVGltZT49biwwIT0oNjQmZS5lZmZlY3RUYWcpKXtpZihpKXJldHVybiBWdShlLHQsbik7dC5lZmZlY3RUYWd8PTY0fWlmKG51bGwhPT0ocj10Lm1lbW9pemVkU3RhdGUpJiYoci5yZW5kZXJpbmc9bnVsbCxyLnRhaWw9bnVsbCksYXIoa00sa00uY3VycmVudCksIWkpcmV0dXJuIG51bGx9cmV0dXJuIEp1KGUsdCxuKX1TdT0hMX19ZWxzZSBTdT0hMTtzd2l0Y2godC5leHBpcmF0aW9uVGltZT0wLHQudGFnKXtjYXNlIDI6aWYoaT10LnR5cGUsbnVsbCE9PWUmJihlLmFsdGVybmF0ZT1udWxsLHQuYWx0ZXJuYXRlPW51bGwsdC5lZmZlY3RUYWd8PTIpLGU9dC5wZW5kaW5nUHJvcHMscj1ncih0LGxyLmN1cnJlbnQpLG5NKHQsbikscj1KTShudWxsLHQsaSxlLHIsbiksdC5lZmZlY3RUYWd8PTEsIm9iamVjdCI9PXR5cGVvZiByJiZudWxsIT09ciYmImZ1bmN0aW9uIj09dHlwZW9mIHIucmVuZGVyJiZ2b2lkIDA9PT1yLiQkdHlwZW9mKXtpZih0LnRhZz0xLHQubWVtb2l6ZWRTdGF0ZT1udWxsLHQudXBkYXRlUXVldWU9bnVsbCxzcihpKSl7dmFyIE09ITA7VHIodCl9ZWxzZSBNPSExO3QubWVtb2l6ZWRTdGF0ZT1udWxsIT09ci5zdGF0ZSYmdm9pZCAwIT09ci5zdGF0ZT9yLnN0YXRlOm51bGwsTU0odCk7dmFyIG89aS5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHM7ImZ1bmN0aW9uIj09dHlwZW9mIG8mJmdNKHQsaSxvLGUpLHIudXBkYXRlcj1zTSx0LnN0YXRlTm9kZT1yLHIuX3JlYWN0SW50ZXJuYWxGaWJlcj10LFRNKHQsaSxlLG4pLHQ9WXUobnVsbCx0LGksITAsTSxuKX1lbHNlIHQudGFnPTAsbXUobnVsbCx0LHIsbiksdD10LmNoaWxkO3JldHVybiB0O2Nhc2UgMTY6ZTp7aWYocj10LmVsZW1lbnRUeXBlLG51bGwhPT1lJiYoZS5hbHRlcm5hdGU9bnVsbCx0LmFsdGVybmF0ZT1udWxsLHQuZWZmZWN0VGFnfD0yKSxlPXQucGVuZGluZ1Byb3BzLGZ1bmN0aW9uKGUpe2lmKC0xPT09ZS5fc3RhdHVzKXtlLl9zdGF0dXM9MDt2YXIgdD1lLl9jdG9yO3Q9dCgpLGUuX3Jlc3VsdD10LHQudGhlbigoZnVuY3Rpb24odCl7MD09PWUuX3N0YXR1cyYmKHQ9dC5kZWZhdWx0LGUuX3N0YXR1cz0xLGUuX3Jlc3VsdD10KX0pLChmdW5jdGlvbih0KXswPT09ZS5fc3RhdHVzJiYoZS5fc3RhdHVzPTIsZS5fcmVzdWx0PXQpfSkpfX0ociksMSE9PXIuX3N0YXR1cyl0aHJvdyByLl9yZXN1bHQ7c3dpdGNoKHI9ci5fcmVzdWx0LHQudHlwZT1yLE09dC50YWc9ZnVuY3Rpb24oZSl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIGUpcmV0dXJuIEVjKGUpPzE6MDtpZihudWxsIT1lKXtpZigoZT1lLiQkdHlwZW9mKT09PWNlKXJldHVybiAxMTtpZihlPT09bGUpcmV0dXJuIDE0fXJldHVybiAyfShyKSxlPUZyKHIsZSksTSl7Y2FzZSAwOnQ9a3UobnVsbCx0LHIsZSxuKTticmVhayBlO2Nhc2UgMTp0PVF1KG51bGwsdCxyLGUsbik7YnJlYWsgZTtjYXNlIDExOnQ9T3UobnVsbCx0LHIsZSxuKTticmVhayBlO2Nhc2UgMTQ6dD12dShudWxsLHQscixGcihyLnR5cGUsZSksaSxuKTticmVhayBlfXRocm93IEVycm9yKHUoMzA2LHIsIiIpKX1yZXR1cm4gdDtjYXNlIDA6cmV0dXJuIGk9dC50eXBlLHI9dC5wZW5kaW5nUHJvcHMsa3UoZSx0LGkscj10LmVsZW1lbnRUeXBlPT09aT9yOkZyKGksciksbik7Y2FzZSAxOnJldHVybiBpPXQudHlwZSxyPXQucGVuZGluZ1Byb3BzLFF1KGUsdCxpLHI9dC5lbGVtZW50VHlwZT09PWk/cjpGcihpLHIpLG4pO2Nhc2UgMzppZihQdSh0KSxpPXQudXBkYXRlUXVldWUsbnVsbD09PWV8fG51bGw9PT1pKXRocm93IEVycm9yKHUoMjgyKSk7aWYoaT10LnBlbmRpbmdQcm9wcyxyPW51bGwhPT0ocj10Lm1lbW9pemVkU3RhdGUpP3IuZWxlbWVudDpudWxsLHVNKGUsdCksSU0odCxpLG51bGwsbiksKGk9dC5tZW1vaXplZFN0YXRlLmVsZW1lbnQpPT09cil4dSgpLHQ9SnUoZSx0LG4pO2Vsc2V7aWYoKHI9dC5zdGF0ZU5vZGUuaHlkcmF0ZSkmJih5dT16bih0LnN0YXRlTm9kZS5jb250YWluZXJJbmZvLmZpcnN0Q2hpbGQpLFR1PXQscj16dT0hMCkscilmb3Iobj1FTSh0LG51bGwsaSxuKSx0LmNoaWxkPW47bjspbi5lZmZlY3RUYWc9LTMmbi5lZmZlY3RUYWd8MTAyNCxuPW4uc2libGluZztlbHNlIG11KGUsdCxpLG4pLHh1KCk7dD10LmNoaWxkfXJldHVybiB0O2Nhc2UgNTpyZXR1cm4gYk0odCksbnVsbD09PWUmJkx1KHQpLGk9dC50eXBlLHI9dC5wZW5kaW5nUHJvcHMsTT1udWxsIT09ZT9lLm1lbW9pemVkUHJvcHM6bnVsbCxvPXIuY2hpbGRyZW4sZG4oaSxyKT9vPW51bGw6bnVsbCE9PU0mJmRuKGksTSkmJih0LmVmZmVjdFRhZ3w9MTYpLGh1KGUsdCksNCZ0Lm1vZGUmJjEhPT1uJiZyLmhpZGRlbj8odC5leHBpcmF0aW9uVGltZT10LmNoaWxkRXhwaXJhdGlvblRpbWU9MSx0PW51bGwpOihtdShlLHQsbyxuKSx0PXQuY2hpbGQpLHQ7Y2FzZSA2OnJldHVybiBudWxsPT09ZSYmTHUodCksbnVsbDtjYXNlIDEzOnJldHVybiBSdShlLHQsbik7Y2FzZSA0OnJldHVybiBPTSh0LHQuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8pLGk9dC5wZW5kaW5nUHJvcHMsbnVsbD09PWU/dC5jaGlsZD1MTSh0LG51bGwsaSxuKTptdShlLHQsaSxuKSx0LmNoaWxkO2Nhc2UgMTE6cmV0dXJuIGk9dC50eXBlLHI9dC5wZW5kaW5nUHJvcHMsT3UoZSx0LGkscj10LmVsZW1lbnRUeXBlPT09aT9yOkZyKGksciksbik7Y2FzZSA3OnJldHVybiBtdShlLHQsdC5wZW5kaW5nUHJvcHMsbiksdC5jaGlsZDtjYXNlIDg6Y2FzZSAxMjpyZXR1cm4gbXUoZSx0LHQucGVuZGluZ1Byb3BzLmNoaWxkcmVuLG4pLHQuY2hpbGQ7Y2FzZSAxMDplOntpPXQudHlwZS5fY29udGV4dCxyPXQucGVuZGluZ1Byb3BzLG89dC5tZW1vaXplZFByb3BzLE09ci52YWx1ZTt2YXIgYz10LnR5cGUuX2NvbnRleHQ7aWYoYXIoWHIsYy5fY3VycmVudFZhbHVlKSxjLl9jdXJyZW50VmFsdWU9TSxudWxsIT09bylpZihjPW8udmFsdWUsMD09PShNPVlpKGMsTSk/MDowfCgiZnVuY3Rpb24iPT10eXBlb2YgaS5fY2FsY3VsYXRlQ2hhbmdlZEJpdHM/aS5fY2FsY3VsYXRlQ2hhbmdlZEJpdHMoYyxNKToxMDczNzQxODIzKSkpe2lmKG8uY2hpbGRyZW49PT1yLmNoaWxkcmVuJiYhTnIuY3VycmVudCl7dD1KdShlLHQsbik7YnJlYWsgZX19ZWxzZSBmb3IobnVsbCE9PShjPXQuY2hpbGQpJiYoYy5yZXR1cm49dCk7bnVsbCE9PWM7KXt2YXIgYT1jLmRlcGVuZGVuY2llcztpZihudWxsIT09YSl7bz1jLmNoaWxkO2Zvcih2YXIgST1hLmZpcnN0Q29udGV4dDtudWxsIT09STspe2lmKEkuY29udGV4dD09PWkmJjAhPShJLm9ic2VydmVkQml0cyZNKSl7MT09PWMudGFnJiYoKEk9b00obixudWxsKSkudGFnPTIsY00oYyxJKSksYy5leHBpcmF0aW9uVGltZTxuJiYoYy5leHBpcmF0aW9uVGltZT1uKSxudWxsIT09KEk9Yy5hbHRlcm5hdGUpJiZJLmV4cGlyYXRpb25UaW1lPG4mJihJLmV4cGlyYXRpb25UaW1lPW4pLHRNKGMucmV0dXJuLG4pLGEuZXhwaXJhdGlvblRpbWU8biYmKGEuZXhwaXJhdGlvblRpbWU9bik7YnJlYWt9ST1JLm5leHR9fWVsc2Ugbz0xMD09PWMudGFnJiZjLnR5cGU9PT10LnR5cGU/bnVsbDpjLmNoaWxkO2lmKG51bGwhPT1vKW8ucmV0dXJuPWM7ZWxzZSBmb3Iobz1jO251bGwhPT1vOyl7aWYobz09PXQpe289bnVsbDticmVha31pZihudWxsIT09KGM9by5zaWJsaW5nKSl7Yy5yZXR1cm49by5yZXR1cm4sbz1jO2JyZWFrfW89by5yZXR1cm59Yz1vfW11KGUsdCxyLmNoaWxkcmVuLG4pLHQ9dC5jaGlsZH1yZXR1cm4gdDtjYXNlIDk6cmV0dXJuIHI9dC50eXBlLGk9KE09dC5wZW5kaW5nUHJvcHMpLmNoaWxkcmVuLG5NKHQsbiksaT1pKHI9aU0ocixNLnVuc3RhYmxlX29ic2VydmVkQml0cykpLHQuZWZmZWN0VGFnfD0xLG11KGUsdCxpLG4pLHQuY2hpbGQ7Y2FzZSAxNDpyZXR1cm4gTT1GcihyPXQudHlwZSx0LnBlbmRpbmdQcm9wcyksdnUoZSx0LHIsTT1GcihyLnR5cGUsTSksaSxuKTtjYXNlIDE1OnJldHVybiBidShlLHQsdC50eXBlLHQucGVuZGluZ1Byb3BzLGksbik7Y2FzZSAxNzpyZXR1cm4gaT10LnR5cGUscj10LnBlbmRpbmdQcm9wcyxyPXQuZWxlbWVudFR5cGU9PT1pP3I6RnIoaSxyKSxudWxsIT09ZSYmKGUuYWx0ZXJuYXRlPW51bGwsdC5hbHRlcm5hdGU9bnVsbCx0LmVmZmVjdFRhZ3w9MiksdC50YWc9MSxzcihpKT8oZT0hMCxUcih0KSk6ZT0hMSxuTSh0LG4pLERNKHQsaSxyKSxUTSh0LGkscixuKSxZdShudWxsLHQsaSwhMCxlLG4pO2Nhc2UgMTk6cmV0dXJuIFZ1KGUsdCxuKX10aHJvdyBFcnJvcih1KDE1Nix0LnRhZykpfTt2YXIgemM9bnVsbCx3Yz1udWxsO2Z1bmN0aW9uIGZjKGUsdCxuLGkpe3RoaXMudGFnPWUsdGhpcy5rZXk9bix0aGlzLnNpYmxpbmc9dGhpcy5jaGlsZD10aGlzLnJldHVybj10aGlzLnN0YXRlTm9kZT10aGlzLnR5cGU9dGhpcy5lbGVtZW50VHlwZT1udWxsLHRoaXMuaW5kZXg9MCx0aGlzLnJlZj1udWxsLHRoaXMucGVuZGluZ1Byb3BzPXQsdGhpcy5kZXBlbmRlbmNpZXM9dGhpcy5tZW1vaXplZFN0YXRlPXRoaXMudXBkYXRlUXVldWU9dGhpcy5tZW1vaXplZFByb3BzPW51bGwsdGhpcy5tb2RlPWksdGhpcy5lZmZlY3RUYWc9MCx0aGlzLmxhc3RFZmZlY3Q9dGhpcy5maXJzdEVmZmVjdD10aGlzLm5leHRFZmZlY3Q9bnVsbCx0aGlzLmNoaWxkRXhwaXJhdGlvblRpbWU9dGhpcy5leHBpcmF0aW9uVGltZT0wLHRoaXMuYWx0ZXJuYXRlPW51bGx9ZnVuY3Rpb24gTGMoZSx0LG4saSl7cmV0dXJuIG5ldyBmYyhlLHQsbixpKX1mdW5jdGlvbiBFYyhlKXtyZXR1cm4hKCEoZT1lLnByb3RvdHlwZSl8fCFlLmlzUmVhY3RDb21wb25lbnQpfWZ1bmN0aW9uIENjKGUsdCl7dmFyIG49ZS5hbHRlcm5hdGU7cmV0dXJuIG51bGw9PT1uPygobj1MYyhlLnRhZyx0LGUua2V5LGUubW9kZSkpLmVsZW1lbnRUeXBlPWUuZWxlbWVudFR5cGUsbi50eXBlPWUudHlwZSxuLnN0YXRlTm9kZT1lLnN0YXRlTm9kZSxuLmFsdGVybmF0ZT1lLGUuYWx0ZXJuYXRlPW4pOihuLnBlbmRpbmdQcm9wcz10LG4uZWZmZWN0VGFnPTAsbi5uZXh0RWZmZWN0PW51bGwsbi5maXJzdEVmZmVjdD1udWxsLG4ubGFzdEVmZmVjdD1udWxsKSxuLmNoaWxkRXhwaXJhdGlvblRpbWU9ZS5jaGlsZEV4cGlyYXRpb25UaW1lLG4uZXhwaXJhdGlvblRpbWU9ZS5leHBpcmF0aW9uVGltZSxuLmNoaWxkPWUuY2hpbGQsbi5tZW1vaXplZFByb3BzPWUubWVtb2l6ZWRQcm9wcyxuLm1lbW9pemVkU3RhdGU9ZS5tZW1vaXplZFN0YXRlLG4udXBkYXRlUXVldWU9ZS51cGRhdGVRdWV1ZSx0PWUuZGVwZW5kZW5jaWVzLG4uZGVwZW5kZW5jaWVzPW51bGw9PT10P251bGw6e2V4cGlyYXRpb25UaW1lOnQuZXhwaXJhdGlvblRpbWUsZmlyc3RDb250ZXh0OnQuZmlyc3RDb250ZXh0LHJlc3BvbmRlcnM6dC5yZXNwb25kZXJzfSxuLnNpYmxpbmc9ZS5zaWJsaW5nLG4uaW5kZXg9ZS5pbmRleCxuLnJlZj1lLnJlZixufWZ1bmN0aW9uIHhjKGUsdCxuLGkscixNKXt2YXIgbz0yO2lmKGk9ZSwiZnVuY3Rpb24iPT10eXBlb2YgZSlFYyhlKSYmKG89MSk7ZWxzZSBpZigic3RyaW5nIj09dHlwZW9mIGUpbz01O2Vsc2UgZTpzd2l0Y2goZSl7Y2FzZSBuZTpyZXR1cm4gcGMobi5jaGlsZHJlbixyLE0sdCk7Y2FzZSBvZTpvPTgscnw9NzticmVhaztjYXNlIGllOm89OCxyfD0xO2JyZWFrO2Nhc2UgcmU6cmV0dXJuKGU9TGMoMTIsbix0LDh8cikpLmVsZW1lbnRUeXBlPXJlLGUudHlwZT1yZSxlLmV4cGlyYXRpb25UaW1lPU0sZTtjYXNlIGFlOnJldHVybihlPUxjKDEzLG4sdCxyKSkudHlwZT1hZSxlLmVsZW1lbnRUeXBlPWFlLGUuZXhwaXJhdGlvblRpbWU9TSxlO2Nhc2UgSWU6cmV0dXJuKGU9TGMoMTksbix0LHIpKS5lbGVtZW50VHlwZT1JZSxlLmV4cGlyYXRpb25UaW1lPU0sZTtkZWZhdWx0OmlmKCJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWUpc3dpdGNoKGUuJCR0eXBlb2Ype2Nhc2UgTWU6bz0xMDticmVhayBlO2Nhc2UgdWU6bz05O2JyZWFrIGU7Y2FzZSBjZTpvPTExO2JyZWFrIGU7Y2FzZSBsZTpvPTE0O2JyZWFrIGU7Y2FzZSBOZTpvPTE2LGk9bnVsbDticmVhayBlO2Nhc2UgamU6bz0yMjticmVhayBlfXRocm93IEVycm9yKHUoMTMwLG51bGw9PWU/ZTp0eXBlb2YgZSwiIikpfXJldHVybih0PUxjKG8sbix0LHIpKS5lbGVtZW50VHlwZT1lLHQudHlwZT1pLHQuZXhwaXJhdGlvblRpbWU9TSx0fWZ1bmN0aW9uIHBjKGUsdCxuLGkpe3JldHVybihlPUxjKDcsZSxpLHQpKS5leHBpcmF0aW9uVGltZT1uLGV9ZnVuY3Rpb24gU2MoZSx0LG4pe3JldHVybihlPUxjKDYsZSxudWxsLHQpKS5leHBpcmF0aW9uVGltZT1uLGV9ZnVuY3Rpb24gbWMoZSx0LG4pe3JldHVybih0PUxjKDQsbnVsbCE9PWUuY2hpbGRyZW4/ZS5jaGlsZHJlbjpbXSxlLmtleSx0KSkuZXhwaXJhdGlvblRpbWU9bix0LnN0YXRlTm9kZT17Y29udGFpbmVySW5mbzplLmNvbnRhaW5lckluZm8scGVuZGluZ0NoaWxkcmVuOm51bGwsaW1wbGVtZW50YXRpb246ZS5pbXBsZW1lbnRhdGlvbn0sdH1mdW5jdGlvbiBPYyhlLHQsbil7dGhpcy50YWc9dCx0aGlzLmN1cnJlbnQ9bnVsbCx0aGlzLmNvbnRhaW5lckluZm89ZSx0aGlzLnBpbmdDYWNoZT10aGlzLnBlbmRpbmdDaGlsZHJlbj1udWxsLHRoaXMuZmluaXNoZWRFeHBpcmF0aW9uVGltZT0wLHRoaXMuZmluaXNoZWRXb3JrPW51bGwsdGhpcy50aW1lb3V0SGFuZGxlPS0xLHRoaXMucGVuZGluZ0NvbnRleHQ9dGhpcy5jb250ZXh0PW51bGwsdGhpcy5oeWRyYXRlPW4sdGhpcy5jYWxsYmFja05vZGU9bnVsbCx0aGlzLmNhbGxiYWNrUHJpb3JpdHk9OTAsdGhpcy5sYXN0RXhwaXJlZFRpbWU9dGhpcy5sYXN0UGluZ2VkVGltZT10aGlzLm5leHRLbm93blBlbmRpbmdMZXZlbD10aGlzLmxhc3RTdXNwZW5kZWRUaW1lPXRoaXMuZmlyc3RTdXNwZW5kZWRUaW1lPXRoaXMuZmlyc3RQZW5kaW5nVGltZT0wfWZ1bmN0aW9uIHZjKGUsdCl7dmFyIG49ZS5maXJzdFN1c3BlbmRlZFRpbWU7cmV0dXJuIGU9ZS5sYXN0U3VzcGVuZGVkVGltZSwwIT09biYmbj49dCYmZTw9dH1mdW5jdGlvbiBiYyhlLHQpe3ZhciBuPWUuZmlyc3RTdXNwZW5kZWRUaW1lLGk9ZS5sYXN0U3VzcGVuZGVkVGltZTtuPHQmJihlLmZpcnN0U3VzcGVuZGVkVGltZT10KSwoaT50fHwwPT09bikmJihlLmxhc3RTdXNwZW5kZWRUaW1lPXQpLHQ8PWUubGFzdFBpbmdlZFRpbWUmJihlLmxhc3RQaW5nZWRUaW1lPTApLHQ8PWUubGFzdEV4cGlyZWRUaW1lJiYoZS5sYXN0RXhwaXJlZFRpbWU9MCl9ZnVuY3Rpb24gaGMoZSx0KXt0PmUuZmlyc3RQZW5kaW5nVGltZSYmKGUuZmlyc3RQZW5kaW5nVGltZT10KTt2YXIgbj1lLmZpcnN0U3VzcGVuZGVkVGltZTswIT09biYmKHQ+PW4/ZS5maXJzdFN1c3BlbmRlZFRpbWU9ZS5sYXN0U3VzcGVuZGVkVGltZT1lLm5leHRLbm93blBlbmRpbmdMZXZlbD0wOnQ+PWUubGFzdFN1c3BlbmRlZFRpbWUmJihlLmxhc3RTdXNwZW5kZWRUaW1lPXQrMSksdD5lLm5leHRLbm93blBlbmRpbmdMZXZlbCYmKGUubmV4dEtub3duUGVuZGluZ0xldmVsPXQpKX1mdW5jdGlvbiBrYyhlLHQpe3ZhciBuPWUubGFzdEV4cGlyZWRUaW1lOygwPT09bnx8bj50KSYmKGUubGFzdEV4cGlyZWRUaW1lPXQpfWZ1bmN0aW9uIFFjKGUsdCxuLGkpe3ZhciByPXQuY3VycmVudCxNPVZvKCksbz1OTS5zdXNwZW5zZTtNPUpvKE0scixvKTtlOmlmKG4pe3Q6e2lmKCRlKG49bi5fcmVhY3RJbnRlcm5hbEZpYmVyKSE9PW58fDEhPT1uLnRhZyl0aHJvdyBFcnJvcih1KDE3MCkpO3ZhciBjPW47ZG97c3dpdGNoKGMudGFnKXtjYXNlIDM6Yz1jLnN0YXRlTm9kZS5jb250ZXh0O2JyZWFrIHQ7Y2FzZSAxOmlmKHNyKGMudHlwZSkpe2M9Yy5zdGF0ZU5vZGUuX19yZWFjdEludGVybmFsTWVtb2l6ZWRNZXJnZWRDaGlsZENvbnRleHQ7YnJlYWsgdH19Yz1jLnJldHVybn13aGlsZShudWxsIT09Yyk7dGhyb3cgRXJyb3IodSgxNzEpKX1pZigxPT09bi50YWcpe3ZhciBhPW4udHlwZTtpZihzcihhKSl7bj1kcihuLGEsYyk7YnJlYWsgZX19bj1jfWVsc2Ugbj1JcjtyZXR1cm4gbnVsbD09PXQuY29udGV4dD90LmNvbnRleHQ9bjp0LnBlbmRpbmdDb250ZXh0PW4sKHQ9b00oTSxvKSkucGF5bG9hZD17ZWxlbWVudDplfSxudWxsIT09KGk9dm9pZCAwPT09aT9udWxsOmkpJiYodC5jYWxsYmFjaz1pKSxjTShyLHQpLEZvKHIsTSksTX1mdW5jdGlvbiBZYyhlKXtpZighKGU9ZS5jdXJyZW50KS5jaGlsZClyZXR1cm4gbnVsbDtzd2l0Y2goZS5jaGlsZC50YWcpe2Nhc2UgNTpkZWZhdWx0OnJldHVybiBlLmNoaWxkLnN0YXRlTm9kZX19ZnVuY3Rpb24gUGMoZSx0KXtudWxsIT09KGU9ZS5tZW1vaXplZFN0YXRlKSYmbnVsbCE9PWUuZGVoeWRyYXRlZCYmZS5yZXRyeVRpbWU8dCYmKGUucmV0cnlUaW1lPXQpfWZ1bmN0aW9uIFVjKGUsdCl7UGMoZSx0KSwoZT1lLmFsdGVybmF0ZSkmJlBjKGUsdCl9ZnVuY3Rpb24gWmMoZSx0LG4pe3ZhciBpPW5ldyBPYyhlLHQsbj1udWxsIT1uJiYhMD09PW4uaHlkcmF0ZSkscj1MYygzLG51bGwsbnVsbCwyPT09dD83OjE9PT10PzM6MCk7aS5jdXJyZW50PXIsci5zdGF0ZU5vZGU9aSxNTShyKSxlW0NuXT1pLmN1cnJlbnQsbiYmMCE9PXQmJmZ1bmN0aW9uKGUsdCl7dmFyIG49X2UodCk7Q3QuZm9yRWFjaCgoZnVuY3Rpb24oZSl7Z3QoZSx0LG4pfSkpLHh0LmZvckVhY2goKGZ1bmN0aW9uKGUpe2d0KGUsdCxuKX0pKX0oMCw5PT09ZS5ub2RlVHlwZT9lOmUub3duZXJEb2N1bWVudCksdGhpcy5faW50ZXJuYWxSb290PWl9ZnVuY3Rpb24gR2MoZSl7cmV0dXJuISghZXx8MSE9PWUubm9kZVR5cGUmJjkhPT1lLm5vZGVUeXBlJiYxMSE9PWUubm9kZVR5cGUmJig4IT09ZS5ub2RlVHlwZXx8IiByZWFjdC1tb3VudC1wb2ludC11bnN0YWJsZSAiIT09ZS5ub2RlVmFsdWUpKX1mdW5jdGlvbiBCYyhlLHQsbixpLHIpe3ZhciBNPW4uX3JlYWN0Um9vdENvbnRhaW5lcjtpZihNKXt2YXIgdT1NLl9pbnRlcm5hbFJvb3Q7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHIpe3ZhciBvPXI7cj1mdW5jdGlvbigpe3ZhciBlPVljKHUpO28uY2FsbChlKX19UWModCx1LGUscil9ZWxzZXtpZihNPW4uX3JlYWN0Um9vdENvbnRhaW5lcj1mdW5jdGlvbihlLHQpe2lmKHR8fCh0PSEoISh0PWU/OT09PWUubm9kZVR5cGU/ZS5kb2N1bWVudEVsZW1lbnQ6ZS5maXJzdENoaWxkOm51bGwpfHwxIT09dC5ub2RlVHlwZXx8IXQuaGFzQXR0cmlidXRlKCJkYXRhLXJlYWN0cm9vdCIpKSksIXQpZm9yKHZhciBuO249ZS5sYXN0Q2hpbGQ7KWUucmVtb3ZlQ2hpbGQobik7cmV0dXJuIG5ldyBaYyhlLDAsdD97aHlkcmF0ZTohMH06dm9pZCAwKX0obixpKSx1PU0uX2ludGVybmFsUm9vdCwiZnVuY3Rpb24iPT10eXBlb2Ygcil7dmFyIGM9cjtyPWZ1bmN0aW9uKCl7dmFyIGU9WWModSk7Yy5jYWxsKGUpfX10YygoZnVuY3Rpb24oKXtRYyh0LHUsZSxyKX0pKX1yZXR1cm4gWWModSl9ZnVuY3Rpb24gUmMoZSx0LG4pe3ZhciBpPTM8YXJndW1lbnRzLmxlbmd0aCYmdm9pZCAwIT09YXJndW1lbnRzWzNdP2FyZ3VtZW50c1szXTpudWxsO3JldHVybnskJHR5cGVvZjp0ZSxrZXk6bnVsbD09aT9udWxsOiIiK2ksY2hpbGRyZW46ZSxjb250YWluZXJJbmZvOnQsaW1wbGVtZW50YXRpb246bn19ZnVuY3Rpb24gV2MoZSx0KXt2YXIgbj0yPGFyZ3VtZW50cy5sZW5ndGgmJnZvaWQgMCE9PWFyZ3VtZW50c1syXT9hcmd1bWVudHNbMl06bnVsbDtpZighR2ModCkpdGhyb3cgRXJyb3IodSgyMDApKTtyZXR1cm4gUmMoZSx0LG51bGwsbil9WmMucHJvdG90eXBlLnJlbmRlcj1mdW5jdGlvbihlKXtRYyhlLHRoaXMuX2ludGVybmFsUm9vdCxudWxsLG51bGwpfSxaYy5wcm90b3R5cGUudW5tb3VudD1mdW5jdGlvbigpe3ZhciBlPXRoaXMuX2ludGVybmFsUm9vdCx0PWUuY29udGFpbmVySW5mbztRYyhudWxsLGUsbnVsbCwoZnVuY3Rpb24oKXt0W0NuXT1udWxsfSkpfSxzdD1mdW5jdGlvbihlKXtpZigxMz09PWUudGFnKXt2YXIgdD1KcihWbygpLDE1MCwxMDApO0ZvKGUsdCksVWMoZSx0KX19LEF0PWZ1bmN0aW9uKGUpezEzPT09ZS50YWcmJihGbyhlLDMpLFVjKGUsMykpfSxEdD1mdW5jdGlvbihlKXtpZigxMz09PWUudGFnKXt2YXIgdD1WbygpO0ZvKGUsdD1Kbyh0LGUsbnVsbCkpLFVjKGUsdCl9fSxwPWZ1bmN0aW9uKGUsdCxuKXtzd2l0Y2godCl7Y2FzZSJpbnB1dCI6aWYoRWUoZSxuKSx0PW4ubmFtZSwicmFkaW8iPT09bi50eXBlJiZudWxsIT10KXtmb3Iobj1lO24ucGFyZW50Tm9kZTspbj1uLnBhcmVudE5vZGU7Zm9yKG49bi5xdWVyeVNlbGVjdG9yQWxsKCJpbnB1dFtuYW1lPSIrSlNPTi5zdHJpbmdpZnkoIiIrdCkrJ11bdHlwZT0icmFkaW8iXScpLHQ9MDt0PG4ubGVuZ3RoO3QrKyl7dmFyIGk9blt0XTtpZihpIT09ZSYmaS5mb3JtPT09ZS5mb3JtKXt2YXIgcj1tbihpKTtpZighcil0aHJvdyBFcnJvcih1KDkwKSk7emUoaSksRWUoaSxyKX19fWJyZWFrO2Nhc2UidGV4dGFyZWEiOnZlKGUsbik7YnJlYWs7Y2FzZSJzZWxlY3QiOm51bGwhPSh0PW4udmFsdWUpJiZTZShlLCEhbi5tdWx0aXBsZSx0LCExKX19LGg9ZWMsaz1mdW5jdGlvbihlLHQsbixpLHIpe3ZhciBNPWZvO2ZvfD00O3RyeXtyZXR1cm4gQnIoOTgsZS5iaW5kKG51bGwsdCxuLGkscikpfWZpbmFsbHl7MD09PShmbz1NKSYmSHIoKX19LFE9ZnVuY3Rpb24oKXswPT0oNDkmZm8pJiYoZnVuY3Rpb24oKXtpZihudWxsIT09Qm8pe3ZhciBlPUJvO0JvPW51bGwsZS5mb3JFYWNoKChmdW5jdGlvbihlLHQpe2tjKHQsZSkscW8odCl9KSksSHIoKX19KCksc2MoKSl9LFk9ZnVuY3Rpb24oZSx0KXt2YXIgbj1mbztmb3w9Mjt0cnl7cmV0dXJuIGUodCl9ZmluYWxseXswPT09KGZvPW4pJiZIcigpfX07dmFyIEhjLFZjLEpjPXtFdmVudHM6W3BuLFNuLG1uLEMsZixZbixmdW5jdGlvbihlKXtydChlLFFuKX0sdixiLHF0LG90LHNjLHtjdXJyZW50OiExfV19O1ZjPShIYz17ZmluZEZpYmVyQnlIb3N0SW5zdGFuY2U6eG4sYnVuZGxlVHlwZTowLHZlcnNpb246IjE2LjE0LjAiLHJlbmRlcmVyUGFja2FnZU5hbWU6InJlYWN0LWRvbSJ9KS5maW5kRmliZXJCeUhvc3RJbnN0YW5jZSxmdW5jdGlvbihlKXtpZigidW5kZWZpbmVkIj09dHlwZW9mIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXylyZXR1cm4hMTt2YXIgdD1fX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX187aWYodC5pc0Rpc2FibGVkfHwhdC5zdXBwb3J0c0ZpYmVyKXJldHVybiEwO3RyeXt2YXIgbj10LmluamVjdChlKTt6Yz1mdW5jdGlvbihlKXt0cnl7dC5vbkNvbW1pdEZpYmVyUm9vdChuLGUsdm9pZCAwLDY0PT0oNjQmZS5jdXJyZW50LmVmZmVjdFRhZykpfWNhdGNoKGUpe319LHdjPWZ1bmN0aW9uKGUpe3RyeXt0Lm9uQ29tbWl0RmliZXJVbm1vdW50KG4sZSl9Y2F0Y2goZSl7fX19Y2F0Y2goZSl7fX0ocih7fSxIYyx7b3ZlcnJpZGVIb29rU3RhdGU6bnVsbCxvdmVycmlkZVByb3BzOm51bGwsc2V0U3VzcGVuc2VIYW5kbGVyOm51bGwsc2NoZWR1bGVVcGRhdGU6bnVsbCxjdXJyZW50RGlzcGF0Y2hlclJlZjpLLlJlYWN0Q3VycmVudERpc3BhdGNoZXIsZmluZEhvc3RJbnN0YW5jZUJ5RmliZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGw9PT0oZT1udChlKSk/bnVsbDplLnN0YXRlTm9kZX0sZmluZEZpYmVyQnlIb3N0SW5zdGFuY2U6ZnVuY3Rpb24oZSl7cmV0dXJuIFZjP1ZjKGUpOm51bGx9LGZpbmRIb3N0SW5zdGFuY2VzRm9yUmVmcmVzaDpudWxsLHNjaGVkdWxlUmVmcmVzaDpudWxsLHNjaGVkdWxlUm9vdDpudWxsLHNldFJlZnJlc2hIYW5kbGVyOm51bGwsZ2V0Q3VycmVudEZpYmVyOm51bGx9KSksdC5fX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRD1KYyx0LmNyZWF0ZVBvcnRhbD1XYyx0LmZpbmRET01Ob2RlPWZ1bmN0aW9uKGUpe2lmKG51bGw9PWUpcmV0dXJuIG51bGw7aWYoMT09PWUubm9kZVR5cGUpcmV0dXJuIGU7dmFyIHQ9ZS5fcmVhY3RJbnRlcm5hbEZpYmVyO2lmKHZvaWQgMD09PXQpe2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBlLnJlbmRlcil0aHJvdyBFcnJvcih1KDE4OCkpO3Rocm93IEVycm9yKHUoMjY4LE9iamVjdC5rZXlzKGUpKSl9cmV0dXJuIGU9bnVsbD09PShlPW50KHQpKT9udWxsOmUuc3RhdGVOb2RlfSx0LmZsdXNoU3luYz1mdW5jdGlvbihlLHQpe2lmKDAhPSg0OCZmbykpdGhyb3cgRXJyb3IodSgxODcpKTt2YXIgbj1mbztmb3w9MTt0cnl7cmV0dXJuIEJyKDk5LGUuYmluZChudWxsLHQpKX1maW5hbGx5e2ZvPW4sSHIoKX19LHQuaHlkcmF0ZT1mdW5jdGlvbihlLHQsbil7aWYoIUdjKHQpKXRocm93IEVycm9yKHUoMjAwKSk7cmV0dXJuIEJjKG51bGwsZSx0LCEwLG4pfSx0LnJlbmRlcj1mdW5jdGlvbihlLHQsbil7aWYoIUdjKHQpKXRocm93IEVycm9yKHUoMjAwKSk7cmV0dXJuIEJjKG51bGwsZSx0LCExLG4pfSx0LnVubW91bnRDb21wb25lbnRBdE5vZGU9ZnVuY3Rpb24oZSl7aWYoIUdjKGUpKXRocm93IEVycm9yKHUoNDApKTtyZXR1cm4hIWUuX3JlYWN0Um9vdENvbnRhaW5lciYmKHRjKChmdW5jdGlvbigpe0JjKG51bGwsbnVsbCxlLCExLChmdW5jdGlvbigpe2UuX3JlYWN0Um9vdENvbnRhaW5lcj1udWxsLGVbQ25dPW51bGx9KSl9KSksITApfSx0LnVuc3RhYmxlX2JhdGNoZWRVcGRhdGVzPWVjLHQudW5zdGFibGVfY3JlYXRlUG9ydGFsPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIFdjKGUsdCwyPGFyZ3VtZW50cy5sZW5ndGgmJnZvaWQgMCE9PWFyZ3VtZW50c1syXT9hcmd1bWVudHNbMl06bnVsbCl9LHQudW5zdGFibGVfcmVuZGVyU3VidHJlZUludG9Db250YWluZXI9ZnVuY3Rpb24oZSx0LG4saSl7aWYoIUdjKG4pKXRocm93IEVycm9yKHUoMjAwKSk7aWYobnVsbD09ZXx8dm9pZCAwPT09ZS5fcmVhY3RJbnRlcm5hbEZpYmVyKXRocm93IEVycm9yKHUoMzgpKTtyZXR1cm4gQmMoZSx0LG4sITEsaSl9LHQudmVyc2lvbj0iMTYuMTQuMCJ9LGZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7ZS5leHBvcnRzPW4oMzEpfSxmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiOwovKiogQGxpY2Vuc2UgUmVhY3QgdjAuMTkuMQogKiBzY2hlZHVsZXIucHJvZHVjdGlvbi5taW4uanMKICoKICogQ29weXJpZ2h0IChjKSBGYWNlYm9vaywgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuCiAqCiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZQogKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuCiAqL3ZhciBpLHIsTSx1LG87aWYoInVuZGVmaW5lZCI9PXR5cGVvZiB3aW5kb3d8fCJmdW5jdGlvbiIhPXR5cGVvZiBNZXNzYWdlQ2hhbm5lbCl7dmFyIGM9bnVsbCxhPW51bGwsST1mdW5jdGlvbigpe2lmKG51bGwhPT1jKXRyeXt2YXIgZT10LnVuc3RhYmxlX25vdygpO2MoITAsZSksYz1udWxsfWNhdGNoKGUpe3Rocm93IHNldFRpbWVvdXQoSSwwKSxlfX0sbD1EYXRlLm5vdygpO3QudW5zdGFibGVfbm93PWZ1bmN0aW9uKCl7cmV0dXJuIERhdGUubm93KCktbH0saT1mdW5jdGlvbihlKXtudWxsIT09Yz9zZXRUaW1lb3V0KGksMCxlKTooYz1lLHNldFRpbWVvdXQoSSwwKSl9LHI9ZnVuY3Rpb24oZSx0KXthPXNldFRpbWVvdXQoZSx0KX0sTT1mdW5jdGlvbigpe2NsZWFyVGltZW91dChhKX0sdT1mdW5jdGlvbigpe3JldHVybiExfSxvPXQudW5zdGFibGVfZm9yY2VGcmFtZVJhdGU9ZnVuY3Rpb24oKXt9fWVsc2V7dmFyIE49d2luZG93LnBlcmZvcm1hbmNlLGo9d2luZG93LkRhdGUsZz13aW5kb3cuc2V0VGltZW91dCxzPXdpbmRvdy5jbGVhclRpbWVvdXQ7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBjb25zb2xlKXt2YXIgQT13aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWU7ImZ1bmN0aW9uIiE9dHlwZW9mIHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUmJmNvbnNvbGUuZXJyb3IoIlRoaXMgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgcmVxdWVzdEFuaW1hdGlvbkZyYW1lLiBNYWtlIHN1cmUgdGhhdCB5b3UgbG9hZCBhIHBvbHlmaWxsIGluIG9sZGVyIGJyb3dzZXJzLiBodHRwczovL2ZiLm1lL3JlYWN0LXBvbHlmaWxscyIpLCJmdW5jdGlvbiIhPXR5cGVvZiBBJiZjb25zb2xlLmVycm9yKCJUaGlzIGJyb3dzZXIgZG9lc24ndCBzdXBwb3J0IGNhbmNlbEFuaW1hdGlvbkZyYW1lLiBNYWtlIHN1cmUgdGhhdCB5b3UgbG9hZCBhIHBvbHlmaWxsIGluIG9sZGVyIGJyb3dzZXJzLiBodHRwczovL2ZiLm1lL3JlYWN0LXBvbHlmaWxscyIpfWlmKCJvYmplY3QiPT10eXBlb2YgTiYmImZ1bmN0aW9uIj09dHlwZW9mIE4ubm93KXQudW5zdGFibGVfbm93PWZ1bmN0aW9uKCl7cmV0dXJuIE4ubm93KCl9O2Vsc2V7dmFyIEQ9ai5ub3coKTt0LnVuc3RhYmxlX25vdz1mdW5jdGlvbigpe3JldHVybiBqLm5vdygpLUR9fXZhciBkPSExLFQ9bnVsbCx5PS0xLHo9NSx3PTA7dT1mdW5jdGlvbigpe3JldHVybiB0LnVuc3RhYmxlX25vdygpPj13fSxvPWZ1bmN0aW9uKCl7fSx0LnVuc3RhYmxlX2ZvcmNlRnJhbWVSYXRlPWZ1bmN0aW9uKGUpezA+ZXx8MTI1PGU/Y29uc29sZS5lcnJvcigiZm9yY2VGcmFtZVJhdGUgdGFrZXMgYSBwb3NpdGl2ZSBpbnQgYmV0d2VlbiAwIGFuZCAxMjUsIGZvcmNpbmcgZnJhbWVyYXRlcyBoaWdoZXIgdGhhbiAxMjUgZnBzIGlzIG5vdCB1bnN1cHBvcnRlZCIpOno9MDxlP01hdGguZmxvb3IoMWUzL2UpOjV9O3ZhciBmPW5ldyBNZXNzYWdlQ2hhbm5lbCxMPWYucG9ydDI7Zi5wb3J0MS5vbm1lc3NhZ2U9ZnVuY3Rpb24oKXtpZihudWxsIT09VCl7dmFyIGU9dC51bnN0YWJsZV9ub3coKTt3PWUrejt0cnl7VCghMCxlKT9MLnBvc3RNZXNzYWdlKG51bGwpOihkPSExLFQ9bnVsbCl9Y2F0Y2goZSl7dGhyb3cgTC5wb3N0TWVzc2FnZShudWxsKSxlfX1lbHNlIGQ9ITF9LGk9ZnVuY3Rpb24oZSl7VD1lLGR8fChkPSEwLEwucG9zdE1lc3NhZ2UobnVsbCkpfSxyPWZ1bmN0aW9uKGUsbil7eT1nKChmdW5jdGlvbigpe2UodC51bnN0YWJsZV9ub3coKSl9KSxuKX0sTT1mdW5jdGlvbigpe3MoeSkseT0tMX19ZnVuY3Rpb24gRShlLHQpe3ZhciBuPWUubGVuZ3RoO2UucHVzaCh0KTtlOmZvcig7Oyl7dmFyIGk9bi0xPj4+MSxyPWVbaV07aWYoISh2b2lkIDAhPT1yJiYwPHAocix0KSkpYnJlYWsgZTtlW2ldPXQsZVtuXT1yLG49aX19ZnVuY3Rpb24gQyhlKXtyZXR1cm4gdm9pZCAwPT09KGU9ZVswXSk/bnVsbDplfWZ1bmN0aW9uIHgoZSl7dmFyIHQ9ZVswXTtpZih2b2lkIDAhPT10KXt2YXIgbj1lLnBvcCgpO2lmKG4hPT10KXtlWzBdPW47ZTpmb3IodmFyIGk9MCxyPWUubGVuZ3RoO2k8cjspe3ZhciBNPTIqKGkrMSktMSx1PWVbTV0sbz1NKzEsYz1lW29dO2lmKHZvaWQgMCE9PXUmJjA+cCh1LG4pKXZvaWQgMCE9PWMmJjA+cChjLHUpPyhlW2ldPWMsZVtvXT1uLGk9byk6KGVbaV09dSxlW01dPW4saT1NKTtlbHNle2lmKCEodm9pZCAwIT09YyYmMD5wKGMsbikpKWJyZWFrIGU7ZVtpXT1jLGVbb109bixpPW99fX1yZXR1cm4gdH1yZXR1cm4gbnVsbH1mdW5jdGlvbiBwKGUsdCl7dmFyIG49ZS5zb3J0SW5kZXgtdC5zb3J0SW5kZXg7cmV0dXJuIDAhPT1uP246ZS5pZC10LmlkfXZhciBTPVtdLG09W10sTz0xLHY9bnVsbCxiPTMsaD0hMSxrPSExLFE9ITE7ZnVuY3Rpb24gWShlKXtmb3IodmFyIHQ9QyhtKTtudWxsIT09dDspe2lmKG51bGw9PT10LmNhbGxiYWNrKXgobSk7ZWxzZXtpZighKHQuc3RhcnRUaW1lPD1lKSlicmVhazt4KG0pLHQuc29ydEluZGV4PXQuZXhwaXJhdGlvblRpbWUsRShTLHQpfXQ9QyhtKX19ZnVuY3Rpb24gUChlKXtpZihRPSExLFkoZSksIWspaWYobnVsbCE9PUMoUykpaz0hMCxpKFUpO2Vsc2V7dmFyIHQ9QyhtKTtudWxsIT09dCYmcihQLHQuc3RhcnRUaW1lLWUpfX1mdW5jdGlvbiBVKGUsbil7az0hMSxRJiYoUT0hMSxNKCkpLGg9ITA7dmFyIGk9Yjt0cnl7Zm9yKFkobiksdj1DKFMpO251bGwhPT12JiYoISh2LmV4cGlyYXRpb25UaW1lPm4pfHxlJiYhdSgpKTspe3ZhciBvPXYuY2FsbGJhY2s7aWYobnVsbCE9PW8pe3YuY2FsbGJhY2s9bnVsbCxiPXYucHJpb3JpdHlMZXZlbDt2YXIgYz1vKHYuZXhwaXJhdGlvblRpbWU8PW4pO249dC51bnN0YWJsZV9ub3coKSwiZnVuY3Rpb24iPT10eXBlb2YgYz92LmNhbGxiYWNrPWM6dj09PUMoUykmJngoUyksWShuKX1lbHNlIHgoUyk7dj1DKFMpfWlmKG51bGwhPT12KXZhciBhPSEwO2Vsc2V7dmFyIEk9QyhtKTtudWxsIT09SSYmcihQLEkuc3RhcnRUaW1lLW4pLGE9ITF9cmV0dXJuIGF9ZmluYWxseXt2PW51bGwsYj1pLGg9ITF9fWZ1bmN0aW9uIFooZSl7c3dpdGNoKGUpe2Nhc2UgMTpyZXR1cm4tMTtjYXNlIDI6cmV0dXJuIDI1MDtjYXNlIDU6cmV0dXJuIDEwNzM3NDE4MjM7Y2FzZSA0OnJldHVybiAxZTQ7ZGVmYXVsdDpyZXR1cm4gNWUzfX12YXIgRz1vO3QudW5zdGFibGVfSWRsZVByaW9yaXR5PTUsdC51bnN0YWJsZV9JbW1lZGlhdGVQcmlvcml0eT0xLHQudW5zdGFibGVfTG93UHJpb3JpdHk9NCx0LnVuc3RhYmxlX05vcm1hbFByaW9yaXR5PTMsdC51bnN0YWJsZV9Qcm9maWxpbmc9bnVsbCx0LnVuc3RhYmxlX1VzZXJCbG9ja2luZ1ByaW9yaXR5PTIsdC51bnN0YWJsZV9jYW5jZWxDYWxsYmFjaz1mdW5jdGlvbihlKXtlLmNhbGxiYWNrPW51bGx9LHQudW5zdGFibGVfY29udGludWVFeGVjdXRpb249ZnVuY3Rpb24oKXtrfHxofHwoaz0hMCxpKFUpKX0sdC51bnN0YWJsZV9nZXRDdXJyZW50UHJpb3JpdHlMZXZlbD1mdW5jdGlvbigpe3JldHVybiBifSx0LnVuc3RhYmxlX2dldEZpcnN0Q2FsbGJhY2tOb2RlPWZ1bmN0aW9uKCl7cmV0dXJuIEMoUyl9LHQudW5zdGFibGVfbmV4dD1mdW5jdGlvbihlKXtzd2l0Y2goYil7Y2FzZSAxOmNhc2UgMjpjYXNlIDM6dmFyIHQ9MzticmVhaztkZWZhdWx0OnQ9Yn12YXIgbj1iO2I9dDt0cnl7cmV0dXJuIGUoKX1maW5hbGx5e2I9bn19LHQudW5zdGFibGVfcGF1c2VFeGVjdXRpb249ZnVuY3Rpb24oKXt9LHQudW5zdGFibGVfcmVxdWVzdFBhaW50PUcsdC51bnN0YWJsZV9ydW5XaXRoUHJpb3JpdHk9ZnVuY3Rpb24oZSx0KXtzd2l0Y2goZSl7Y2FzZSAxOmNhc2UgMjpjYXNlIDM6Y2FzZSA0OmNhc2UgNTpicmVhaztkZWZhdWx0OmU9M312YXIgbj1iO2I9ZTt0cnl7cmV0dXJuIHQoKX1maW5hbGx5e2I9bn19LHQudW5zdGFibGVfc2NoZWR1bGVDYWxsYmFjaz1mdW5jdGlvbihlLG4sdSl7dmFyIG89dC51bnN0YWJsZV9ub3coKTtpZigib2JqZWN0Ij09dHlwZW9mIHUmJm51bGwhPT11KXt2YXIgYz11LmRlbGF5O2M9Im51bWJlciI9PXR5cGVvZiBjJiYwPGM/bytjOm8sdT0ibnVtYmVyIj09dHlwZW9mIHUudGltZW91dD91LnRpbWVvdXQ6WihlKX1lbHNlIHU9WihlKSxjPW87cmV0dXJuIGU9e2lkOk8rKyxjYWxsYmFjazpuLHByaW9yaXR5TGV2ZWw6ZSxzdGFydFRpbWU6YyxleHBpcmF0aW9uVGltZTp1PWMrdSxzb3J0SW5kZXg6LTF9LGM+bz8oZS5zb3J0SW5kZXg9YyxFKG0sZSksbnVsbD09PUMoUykmJmU9PT1DKG0pJiYoUT9NKCk6UT0hMCxyKFAsYy1vKSkpOihlLnNvcnRJbmRleD11LEUoUyxlKSxrfHxofHwoaz0hMCxpKFUpKSksZX0sdC51bnN0YWJsZV9zaG91bGRZaWVsZD1mdW5jdGlvbigpe3ZhciBlPXQudW5zdGFibGVfbm93KCk7WShlKTt2YXIgbj1DKFMpO3JldHVybiBuIT09diYmbnVsbCE9PXYmJm51bGwhPT1uJiZudWxsIT09bi5jYWxsYmFjayYmbi5zdGFydFRpbWU8PWUmJm4uZXhwaXJhdGlvblRpbWU8di5leHBpcmF0aW9uVGltZXx8dSgpfSx0LnVuc3RhYmxlX3dyYXBDYWxsYmFjaz1mdW5jdGlvbihlKXt2YXIgdD1iO3JldHVybiBmdW5jdGlvbigpe3ZhciBuPWI7Yj10O3RyeXtyZXR1cm4gZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9ZmluYWxseXtiPW59fX19LGZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQudXBkYXRlTG9jYWw9dC5yZW1vdmVMb2NhbD10LmdldExvY2FsPXQuc2V0TG9jYWw9dC5sb2NhbD12b2lkIDA7dmFyIGk9bigwKTtuKDEwKS5pc0xvY2FsU3RvcmFnZUF2YWlsYWJsZSgpJiYodC5sb2NhbD13aW5kb3cubG9jYWxTdG9yYWdlKSx0LnNldExvY2FsPWZ1bmN0aW9uKGUsbil7dmFyIGk9SlNPTi5zdHJpbmdpZnkobik7dC5sb2NhbCYmdC5sb2NhbC5zZXRJdGVtKGUsaSl9LHQuZ2V0TG9jYWw9ZnVuY3Rpb24oZSl7dmFyIG49bnVsbCxpPW51bGw7aWYodC5sb2NhbCYmKGk9dC5sb2NhbC5nZXRJdGVtKGUpKSxpJiYic3RyaW5nIj09dHlwZW9mIGkpdHJ5e249SlNPTi5wYXJzZShpKX1jYXRjaChlKXtyZXR1cm4gbnVsbH1yZXR1cm4gbn0sdC5yZW1vdmVMb2NhbD1mdW5jdGlvbihlKXt0LmxvY2FsJiZ0LmxvY2FsLnJlbW92ZUl0ZW0oZSl9LHQudXBkYXRlTG9jYWw9ZnVuY3Rpb24oZSxuKXt2YXIgcj10LmdldExvY2FsKGUpfHx7fSxNPWkuX19hc3NpZ24oaS5fX2Fzc2lnbih7fSxyKSxuKTt0LnNldExvY2FsKGUsTSl9fSxmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO24ucih0KSxmdW5jdGlvbihlKXtuLmQodCwiQnJvd3NlckluZm8iLChmdW5jdGlvbigpe3JldHVybiByfSkpLG4uZCh0LCJOb2RlSW5mbyIsKGZ1bmN0aW9uKCl7cmV0dXJuIE19KSksbi5kKHQsIlNlYXJjaEJvdERldmljZUluZm8iLChmdW5jdGlvbigpe3JldHVybiB1fSkpLG4uZCh0LCJCb3RJbmZvIiwoZnVuY3Rpb24oKXtyZXR1cm4gb30pKSxuLmQodCwiUmVhY3ROYXRpdmVJbmZvIiwoZnVuY3Rpb24oKXtyZXR1cm4gY30pKSxuLmQodCwiZGV0ZWN0IiwoZnVuY3Rpb24oKXtyZXR1cm4gTn0pKSxuLmQodCwiYnJvd3Nlck5hbWUiLChmdW5jdGlvbigpe3JldHVybiBnfSkpLG4uZCh0LCJwYXJzZVVzZXJBZ2VudCIsKGZ1bmN0aW9uKCl7cmV0dXJuIHN9KSksbi5kKHQsImRldGVjdE9TIiwoZnVuY3Rpb24oKXtyZXR1cm4gQX0pKSxuLmQodCwiZ2V0Tm9kZVZlcnNpb24iLChmdW5jdGlvbigpe3JldHVybiBEfSkpO3ZhciBpPWZ1bmN0aW9uKGUsdCxuKXtpZihufHwyPT09YXJndW1lbnRzLmxlbmd0aClmb3IodmFyIGkscj0wLE09dC5sZW5ndGg7cjxNO3IrKykhaSYmciBpbiB0fHwoaXx8KGk9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwodCwwLHIpKSxpW3JdPXRbcl0pO3JldHVybiBlLmNvbmNhdChpfHxBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh0KSl9LHI9ZnVuY3Rpb24oZSx0LG4pe3RoaXMubmFtZT1lLHRoaXMudmVyc2lvbj10LHRoaXMub3M9bix0aGlzLnR5cGU9ImJyb3dzZXIifSxNPWZ1bmN0aW9uKHQpe3RoaXMudmVyc2lvbj10LHRoaXMudHlwZT0ibm9kZSIsdGhpcy5uYW1lPSJub2RlIix0aGlzLm9zPWUucGxhdGZvcm19LHU9ZnVuY3Rpb24oZSx0LG4saSl7dGhpcy5uYW1lPWUsdGhpcy52ZXJzaW9uPXQsdGhpcy5vcz1uLHRoaXMuYm90PWksdGhpcy50eXBlPSJib3QtZGV2aWNlIn0sbz1mdW5jdGlvbigpe3RoaXMudHlwZT0iYm90Iix0aGlzLmJvdD0hMCx0aGlzLm5hbWU9ImJvdCIsdGhpcy52ZXJzaW9uPW51bGwsdGhpcy5vcz1udWxsfSxjPWZ1bmN0aW9uKCl7dGhpcy50eXBlPSJyZWFjdC1uYXRpdmUiLHRoaXMubmFtZT0icmVhY3QtbmF0aXZlIix0aGlzLnZlcnNpb249bnVsbCx0aGlzLm9zPW51bGx9LGE9LyhudWhrfGN1cmx8R29vZ2xlYm90fFlhbW15Ym90fE9wZW5ib3R8U2x1cnB8TVNOQm90fEFza1wgSmVldmVzXC9UZW9tYXxpYV9hcmNoaXZlcikvLEk9W1siYW9sIiwvQU9MU2hpZWxkXC8oWzAtOVwuX10rKS9dLFsiZWRnZSIsL0VkZ2VcLyhbMC05XC5fXSspL10sWyJlZGdlLWlvcyIsL0VkZ2lPU1wvKFswLTlcLl9dKykvXSxbInlhbmRleGJyb3dzZXIiLC9ZYUJyb3dzZXJcLyhbMC05XC5fXSspL10sWyJrYWthb3RhbGsiLC9LQUtBT1RBTEtccyhbMC05XC5dKykvXSxbInNhbXN1bmciLC9TYW1zdW5nQnJvd3NlclwvKFswLTlcLl0rKS9dLFsic2lsayIsL1xiU2lsa1wvKFswLTkuXy1dKylcYi9dLFsibWl1aSIsL01pdWlCcm93c2VyXC8oWzAtOVwuXSspJC9dLFsiYmVha2VyIiwvQmVha2VyQnJvd3NlclwvKFswLTlcLl0rKS9dLFsiZWRnZS1jaHJvbWl1bSIsL0VkZ0E/XC8oWzAtOVwuXSspL10sWyJjaHJvbWl1bS13ZWJ2aWV3IiwvKD8hQ2hyb20uKk9QUil3dlwpLipDaHJvbSg/OmV8aXVtKVwvKFswLTlcLl0rKSg6P1xzfCQpL10sWyJjaHJvbWUiLC8oPyFDaHJvbS4qT1BSKUNocm9tKD86ZXxpdW0pXC8oWzAtOVwuXSspKDo/XHN8JCkvXSxbInBoYW50b21qcyIsL1BoYW50b21KU1wvKFswLTlcLl0rKSg6P1xzfCQpL10sWyJjcmlvcyIsL0NyaU9TXC8oWzAtOVwuXSspKDo/XHN8JCkvXSxbImZpcmVmb3giLC9GaXJlZm94XC8oWzAtOVwuXSspKD86XHN8JCkvXSxbImZ4aW9zIiwvRnhpT1NcLyhbMC05XC5dKykvXSxbIm9wZXJhLW1pbmkiLC9PcGVyYSBNaW5pLipWZXJzaW9uXC8oWzAtOVwuXSspL10sWyJvcGVyYSIsL09wZXJhXC8oWzAtOVwuXSspKD86XHN8JCkvXSxbIm9wZXJhIiwvT1BSXC8oWzAtOVwuXSspKDo/XHN8JCkvXSxbInBpZSIsL15NaWNyb3NvZnQgUG9ja2V0IEludGVybmV0IEV4cGxvcmVyXC8oXGQrXC5cZCspJC9dLFsicGllIiwvXk1vemlsbGFcL1xkXC5cZCtcc1woY29tcGF0aWJsZTtccyg/Ok1TUD9JRXxNU0ludGVybmV0IEV4cGxvcmVyKSAoXGQrXC5cZCspOy4qV2luZG93cyBDRS4qXCkkL10sWyJuZXRmcm9udCIsL15Nb3ppbGxhXC9cZFwuXGQrLipOZXRGcm9udFwvKFxkLlxkKS9dLFsiaWUiLC9UcmlkZW50XC83XC4wLipydlw6KFswLTlcLl0rKS4qXCkuKkdlY2tvJC9dLFsiaWUiLC9NU0lFXHMoWzAtOVwuXSspOy4qVHJpZGVudFwvWzQtN10uMC9dLFsiaWUiLC9NU0lFXHMoN1wuMCkvXSxbImJiMTAiLC9CQjEwO1xzVG91Y2guKlZlcnNpb25cLyhbMC05XC5dKykvXSxbImFuZHJvaWQiLC9BbmRyb2lkXHMoWzAtOVwuXSspL10sWyJpb3MiLC9WZXJzaW9uXC8oWzAtOVwuX10rKS4qTW9iaWxlLipTYWZhcmkuKi9dLFsic2FmYXJpIiwvVmVyc2lvblwvKFswLTlcLl9dKykuKlNhZmFyaS9dLFsiZmFjZWJvb2siLC9GQltBU11WXC8oWzAtOVwuXSspL10sWyJpbnN0YWdyYW0iLC9JbnN0YWdyYW1ccyhbMC05XC5dKykvXSxbImlvcy13ZWJ2aWV3IiwvQXBwbGVXZWJLaXRcLyhbMC05XC5dKykuKk1vYmlsZS9dLFsiaW9zLXdlYnZpZXciLC9BcHBsZVdlYktpdFwvKFswLTlcLl0rKS4qR2Vja29cKSQvXSxbImN1cmwiLC9eY3VybFwvKFswLTlcLl0rKSQvXSxbInNlYXJjaGJvdCIsL2FsZXhhfGJvdHxjcmF3bChlcnxpbmcpfGZhY2Vib29rZXh0ZXJuYWxoaXR8ZmVlZGJ1cm5lcnxnb29nbGUgd2ViIHByZXZpZXd8bmFnaW9zfHBvc3RyYW5rfHBpbmdkb218c2x1cnB8c3BpZGVyfHlhaG9vIXx5YW5kZXgvXV0sbD1bWyJpT1MiLC9pUChob25lfG9kfGFkKS9dLFsiQW5kcm9pZCBPUyIsL0FuZHJvaWQvXSxbIkJsYWNrQmVycnkgT1MiLC9CbGFja0JlcnJ5fEJCMTAvXSxbIldpbmRvd3MgTW9iaWxlIiwvSUVNb2JpbGUvXSxbIkFtYXpvbiBPUyIsL0tpbmRsZS9dLFsiV2luZG93cyAzLjExIiwvV2luMTYvXSxbIldpbmRvd3MgOTUiLC8oV2luZG93cyA5NSl8KFdpbjk1KXwoV2luZG93c185NSkvXSxbIldpbmRvd3MgOTgiLC8oV2luZG93cyA5OCl8KFdpbjk4KS9dLFsiV2luZG93cyAyMDAwIiwvKFdpbmRvd3MgTlQgNS4wKXwoV2luZG93cyAyMDAwKS9dLFsiV2luZG93cyBYUCIsLyhXaW5kb3dzIE5UIDUuMSl8KFdpbmRvd3MgWFApL10sWyJXaW5kb3dzIFNlcnZlciAyMDAzIiwvKFdpbmRvd3MgTlQgNS4yKS9dLFsiV2luZG93cyBWaXN0YSIsLyhXaW5kb3dzIE5UIDYuMCkvXSxbIldpbmRvd3MgNyIsLyhXaW5kb3dzIE5UIDYuMSkvXSxbIldpbmRvd3MgOCIsLyhXaW5kb3dzIE5UIDYuMikvXSxbIldpbmRvd3MgOC4xIiwvKFdpbmRvd3MgTlQgNi4zKS9dLFsiV2luZG93cyAxMCIsLyhXaW5kb3dzIE5UIDEwLjApL10sWyJXaW5kb3dzIE1FIiwvV2luZG93cyBNRS9dLFsiV2luZG93cyBDRSIsL1dpbmRvd3MgQ0V8V2luQ0V8TWljcm9zb2Z0IFBvY2tldCBJbnRlcm5ldCBFeHBsb3Jlci9dLFsiT3BlbiBCU0QiLC9PcGVuQlNEL10sWyJTdW4gT1MiLC9TdW5PUy9dLFsiQ2hyb21lIE9TIiwvQ3JPUy9dLFsiTGludXgiLC8oTGludXgpfChYMTEpL10sWyJNYWMgT1MiLC8oTWFjX1Bvd2VyUEMpfChNYWNpbnRvc2gpL10sWyJRTlgiLC9RTlgvXSxbIkJlT1MiLC9CZU9TL10sWyJPUy8yIiwvT1NcLzIvXV07ZnVuY3Rpb24gTihlKXtyZXR1cm4gZT9zKGUpOiJ1bmRlZmluZWQiPT10eXBlb2YgZG9jdW1lbnQmJiJ1bmRlZmluZWQiIT10eXBlb2YgbmF2aWdhdG9yJiYiUmVhY3ROYXRpdmUiPT09bmF2aWdhdG9yLnByb2R1Y3Q/bmV3IGM6InVuZGVmaW5lZCIhPXR5cGVvZiBuYXZpZ2F0b3I/cyhuYXZpZ2F0b3IudXNlckFnZW50KTpEKCl9ZnVuY3Rpb24gaihlKXtyZXR1cm4iIiE9PWUmJkkucmVkdWNlKChmdW5jdGlvbih0LG4pe3ZhciBpPW5bMF0scj1uWzFdO2lmKHQpcmV0dXJuIHQ7dmFyIE09ci5leGVjKGUpO3JldHVybiEhTSYmW2ksTV19KSwhMSl9ZnVuY3Rpb24gZyhlKXt2YXIgdD1qKGUpO3JldHVybiB0P3RbMF06bnVsbH1mdW5jdGlvbiBzKGUpe3ZhciB0PWooZSk7aWYoIXQpcmV0dXJuIG51bGw7dmFyIG49dFswXSxNPXRbMV07aWYoInNlYXJjaGJvdCI9PT1uKXJldHVybiBuZXcgbzt2YXIgYz1NWzFdJiZNWzFdLnNwbGl0KCIuIikuam9pbigiXyIpLnNwbGl0KCJfIikuc2xpY2UoMCwzKTtjP2MubGVuZ3RoPDMmJihjPWkoaShbXSxjLCEwKSxmdW5jdGlvbihlKXtmb3IodmFyIHQ9W10sbj0wO248ZTtuKyspdC5wdXNoKCIwIik7cmV0dXJuIHR9KDMtYy5sZW5ndGgpLCEwKSk6Yz1bXTt2YXIgST1jLmpvaW4oIi4iKSxsPUEoZSksTj1hLmV4ZWMoZSk7cmV0dXJuIE4mJk5bMV0/bmV3IHUobixJLGwsTlsxXSk6bmV3IHIobixJLGwpfWZ1bmN0aW9uIEEoZSl7Zm9yKHZhciB0PTAsbj1sLmxlbmd0aDt0PG47dCsrKXt2YXIgaT1sW3RdLHI9aVswXTtpZihpWzFdLmV4ZWMoZSkpcmV0dXJuIHJ9cmV0dXJuIG51bGx9ZnVuY3Rpb24gRCgpe3JldHVybiB2b2lkIDAhPT1lJiZlLnZlcnNpb24/bmV3IE0oZS52ZXJzaW9uLnNsaWNlKDEpKTpudWxsfX0uY2FsbCh0aGlzLG4oMTEpKX0sZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksdC5DSEFJTl9EQVRBX0xJU1Q9dm9pZCAwLHQuQ0hBSU5fREFUQV9MSVNUPXsxOntjaGFpbklkOjEsY2hhaW46IkVUSCIsbmV0d29yazoibWFpbm5ldCIsbmV0d29ya0lkOjF9LDI6e2NoYWluSWQ6MixjaGFpbjoiRVhQIixuZXR3b3JrOiJleHBhbnNlIixuZXR3b3JrSWQ6MX0sMzp7Y2hhaW5JZDozLGNoYWluOiJFVEgiLG5ldHdvcms6InJvcHN0ZW4iLG5ldHdvcmtJZDozfSw0OntjaGFpbklkOjQsY2hhaW46IkVUSCIsbmV0d29yazoicmlua2VieSIsbmV0d29ya0lkOjR9LDU6e2NoYWluSWQ6NSxjaGFpbjoiRVRIIixuZXR3b3JrOiJnb2VybGkiLG5ldHdvcmtJZDo1fSw2OntjaGFpbklkOjYsY2hhaW46IkVUQyIsbmV0d29yazoia290dGkiLG5ldHdvcmtJZDo2fSw4OntjaGFpbklkOjgsY2hhaW46IlVCUSIsbmV0d29yazoidWJpcSIsbmV0d29ya0lkOjg4fSw5OntjaGFpbklkOjksY2hhaW46IlVCUSIsbmV0d29yazoidWJpcS10ZXN0bmV0IixuZXR3b3JrSWQ6Mn0sMTA6e2NoYWluSWQ6MTAsY2hhaW46IkVUSCIsbmV0d29yazoib3B0aW1pc20iLG5ldHdvcmtJZDoxMH0sMTE6e2NoYWluSWQ6MTEsY2hhaW46Ik1FVEEiLG5ldHdvcms6Im1ldGFkaXVtIixuZXR3b3JrSWQ6MTF9LDEyOntjaGFpbklkOjEyLGNoYWluOiJNRVRBIixuZXR3b3JrOiJtZXRhZGl1bS10ZXN0bmV0IixuZXR3b3JrSWQ6MTJ9LDE4OntjaGFpbklkOjE4LGNoYWluOiJUU1QiLG5ldHdvcms6InRodW5kZXJjb3JlLXRlc3RuZXQiLG5ldHdvcmtJZDoxOH0sMjI6e2NoYWluSWQ6MjIsY2hhaW46IkxZWCIsbmV0d29yazoibHVrc28tbDE0LXRlc3RuZXQiLG5ldHdvcmtJZDoyMn0sMjM6e2NoYWluSWQ6MjMsY2hhaW46IkxZWCIsbmV0d29yazoibHVrc28tbDE1LXRlc3RuZXQiLG5ldHdvcmtJZDoyM30sMjU6e2NoYWluSWQ6MjUsY2hhaW46IkNSTyIsbmV0d29yazoiY3Jvbm9zIixuZXR3b3JrSWQ6MjV9LDMwOntjaGFpbklkOjMwLGNoYWluOiJSU0siLG5ldHdvcms6InJzayIsbmV0d29ya0lkOjMwfSwzMTp7Y2hhaW5JZDozMSxjaGFpbjoiUlNLIixuZXR3b3JrOiJyc2stdGVzdG5ldCIsbmV0d29ya0lkOjMxfSw0Mjp7Y2hhaW5JZDo0MixjaGFpbjoiRVRIIixuZXR3b3JrOiJrb3ZhbiIsbmV0d29ya0lkOjQyfSw1Njp7Y2hhaW5JZDo1NixjaGFpbjoiQlNDIixuZXR3b3JrOiJiaW5hbmNlIixuZXR3b3JrSWQ6NTZ9LDYwOntjaGFpbklkOjYwLGNoYWluOiJHTyIsbmV0d29yazoiZ29jaGFpbiIsbmV0d29ya0lkOjYwfSw2MTp7Y2hhaW5JZDo2MSxjaGFpbjoiRVRDIixuZXR3b3JrOiJldGMiLG5ldHdvcmtJZDoxfSw2Mjp7Y2hhaW5JZDo2MixjaGFpbjoiRVRDIixuZXR3b3JrOiJldGMtbW9yZGVuIixuZXR3b3JrSWQ6Mn0sNjM6e2NoYWluSWQ6NjMsY2hhaW46IkVUQyIsbmV0d29yazoiZXRjLXRlc3RuZXQiLG5ldHdvcmtJZDo3fSw2NDp7Y2hhaW5JZDo2NCxjaGFpbjoiRUxMQSIsbmV0d29yazoiZWxsYWlzbSIsbmV0d29ya0lkOjY0fSw2OTp7Y2hhaW5JZDo2OSxjaGFpbjoiRVRIIixuZXR3b3JrOiJvcHRpbWlzbS1rb3ZhbiIsbmV0d29ya0lkOjY5fSw3Njp7Y2hhaW5JZDo3NixjaGFpbjoiTUlYIixuZXR3b3JrOiJtaXgiLG5ldHdvcmtJZDo3Nn0sNzc6e2NoYWluSWQ6NzcsY2hhaW46IlBPQSIsbmV0d29yazoicG9hLXNva29sIixuZXR3b3JrSWQ6Nzd9LDg4OntjaGFpbklkOjg4LGNoYWluOiJUT01PIixuZXR3b3JrOiJ0b21vY2hhaW4iLG5ldHdvcmtJZDo4OH0sOTc6e2NoYWluSWQ6OTcsY2hhaW46IkJTQyIsbmV0d29yazoiYmluYW5jZS10ZXN0bmV0IixuZXR3b3JrSWQ6OTd9LDk5OntjaGFpbklkOjk5LGNoYWluOiJQT0EiLG5ldHdvcms6InBvYS1jb3JlIixuZXR3b3JrSWQ6OTl9LDEwMDp7Y2hhaW5JZDoxMDAsY2hhaW46IlhEQUkiLG5ldHdvcms6InhkYWkiLG5ldHdvcmtJZDoxMDB9LDEwMTp7Y2hhaW5JZDoxMDEsY2hhaW46IkVUSSIsbmV0d29yazoiZXRoZXJpbmMiLG5ldHdvcmtJZDoxfSwxMDg6e2NoYWluSWQ6MTA4LGNoYWluOiJUVCIsbmV0d29yazoidGh1bmRlcmNvcmUiLG5ldHdvcmtJZDoxMDh9LDE2Mjp7Y2hhaW5JZDoxNjIsY2hhaW46IlBIVCIsbmV0d29yazoic2lyaXVzIixuZXR3b3JrSWQ6MTYyfSwxNjM6e2NoYWluSWQ6MTYzLGNoYWluOiJQSFQiLG5ldHdvcms6ImxpZ2h0c3RyZWFtcyIsbmV0d29ya0lkOjE2M30sMTgwOntjaGFpbklkOjE4MCxjaGFpbjoiQU1FIixuZXR3b3JrOiJhbWUiLG5ldHdvcmtJZDoxODB9LDIxMTp7Y2hhaW5JZDoyMTEsY2hhaW46IkZUTiIsbmV0d29yazoiZnJlaWdodCIsbmV0d29ya0lkOjB9LDI1MDp7Y2hhaW5JZDoyNTAsY2hhaW46IkZUTSIsbmV0d29yazoiZmFudG9tIixuZXR3b3JrSWQ6MjUwfSwyNjk6e2NoYWluSWQ6MjY5LGNoYWluOiJIUEIiLG5ldHdvcms6ImhwYiIsbmV0d29ya0lkOjEwMH0sMzM4OntjaGFpbklkOjMzOCxjaGFpbjoiQ1JPIixuZXR3b3JrOiJjcm9ub3MtdGVzdG5ldCIsbmV0d29ya0lkOjMzOH0sMzg1OntjaGFpbklkOjM4NSxjaGFpbjoiQ1JPIixuZXR3b3JrOiJsaXNpbnNraSIsbmV0d29ya0lkOjM4NX0sNTM0OntjaGFpbklkOjUzNCxjaGFpbjoiQ05ETCIsbmV0d29yazoiY2FuZGxlIixuZXR3b3JrSWQ6NTM0fSw4MjA6e2NoYWluSWQ6ODIwLGNoYWluOiJDTE8iLG5ldHdvcms6ImNhbGxpc3RvIixuZXR3b3JrSWQ6MX0sODIxOntjaGFpbklkOjgyMSxjaGFpbjoiQ0xPIixuZXR3b3JrOiJjYWxsaXN0by10ZXN0bmV0IixuZXR3b3JrSWQ6Mn0sMTM3OntjaGFpbklkOjEzNyxjaGFpbjoiTUFUSUMiLG5ldHdvcms6Im1hdGljIixuZXR3b3JrSWQ6MTM3fSwxMjg0OntjaGFpbklkOjEyODQsY2hhaW46IkdMTVIiLG5ldHdvcms6Im1vb25iZWFtIixuZXR3b3JrSWQ6MTI4NH0sMTI4NTp7Y2hhaW5JZDoxMjg1LGNoYWluOiJNT1ZSIixuZXR3b3JrOiJtb29ucml2ZXIiLG5ldHdvcmtJZDoxMjg1fSw0MjE2MTp7Y2hhaW5JZDo0MjE2MSxjaGFpbjoiRVRIIixuZXR3b3JrOiJhcmJpdHJ1bSIsbmV0d29ya0lkOjQyMTYxfSw0MjIyMDp7Y2hhaW5JZDo0MjIyMCxjaGFpbjoiQ0VMTyIsbmV0d29yazoiY2VsbyIsbmV0d29ya0lkOjQyMjIwfSw0NDc4Nzp7Y2hhaW5JZDo0NDc4NyxjaGFpbjoiQ0VMTyIsbmV0d29yazoiY2Vsby1hbGZham9yZXMiLG5ldHdvcmtJZDo0NDc4N30sNjIzMjA6e2NoYWluSWQ6NjIzMjAsY2hhaW46IkNFTE8iLG5ldHdvcms6ImNlbG8tYmFrbGF2YSIsbmV0d29ya0lkOjYyMzIwfSw4MDAwMTp7Y2hhaW5JZDo4MDAwMSxjaGFpbjoiTVVNQkFJIixuZXR3b3JrOiJtdW1iYWkiLG5ldHdvcmtJZDo4MDAwMX0sNDMxMTM6e2NoYWluSWQ6NDMxMTMsY2hhaW46IkFWQVgiLG5ldHdvcms6ImF2YWxhbmNoZS1mdWppLXRlc3RuZXQiLG5ldHdvcmtJZDo0MzExM30sNDMxMTQ6e2NoYWluSWQ6NDMxMTQsY2hhaW46IkFWQVgiLG5ldHdvcms6ImF2YWxhbmNoZS1tYWlubmV0IixuZXR3b3JrSWQ6NDMxMTR9LDI0NjUyOTp7Y2hhaW5JZDoyNDY1MjksY2hhaW46IkFSVElTIHNpZ21hMSIsbmV0d29yazoiYXJ0aXMtczEiLG5ldHdvcmtJZDoyNDY1Mjl9LDI0Njc4NTp7Y2hhaW5JZDoyNDY3ODUsY2hhaW46IkFSVElTIHRhdTEiLG5ldHdvcms6ImFydGlzLXQxIixuZXR3b3JrSWQ6MjQ2Nzg1fSwxMDA3OntjaGFpbklkOjEwMDcsY2hhaW46Ik5ld0NoYWluIFRlc3ROZXQiLG5ldHdvcms6Im5ld2NoYWluLXRlc3RuZXQiLG5ldHdvcmtJZDoxMDA3fSwxMDEyOntjaGFpbklkOjEwMTIsY2hhaW46Ik5ld0NoYWluIE1haW5OZXQiLG5ldHdvcms6Im5ld2NoYWluLW1haW5uZXQiLG5ldHdvcmtJZDoxMDEyfSw0MjE2MTE6e2NoYWluSWQ6NDIxNjExLGNoYWluOiJFVEgiLG5ldHdvcms6ImFyYml0cnVtLXJpbmtlYnkiLG5ldHdvcmtJZDo0MjE2MTF9LDE2NjY2ZTU6e2NoYWluSWQ6MTY2NjZlNSxjaGFpbjoiT05FIixuZXR3b3JrOiJoYXJtb255LXNoYXJkMSIsbmV0d29ya0lkOjE2NjY2ZTV9LDEzMTMxNjE1NTQ6e2NoYWluSWQ6MTMxMzE2MTU1NCxjaGFpbjoiQUVUSCIsbmV0d29yazoiYXVyb3JhIixuZXR3b3JrSWQ6MTMxMzE2MTU1NH19fSxmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LkNPTk5FQ1RfQlVUVE9OX0NMQVNTTkFNRT10LlBST1ZJREVSX0RFU0NSSVBUSU9OX0NMQVNTTkFNRT10LlBST1ZJREVSX05BTUVfQ0xBU1NOQU1FPXQuUFJPVklERVJfSUNPTl9DTEFTU05BTUU9dC5QUk9WSURFUl9DT05UQUlORVJfQ0xBU1NOQU1FPXQuUFJPVklERVJfV1JBUFBFUl9DTEFTU05BTUU9dC5NT0RBTF9DQVJEX0NMQVNTTkFNRT10Lk1PREFMX0hJVEJPWF9DTEFTU05BTUU9dC5NT0RBTF9DT05UQUlORVJfQ0xBU1NOQU1FPXQuTU9EQUxfTElHSFRCT1hfQ0xBU1NOQU1FPXZvaWQgMCx0Lk1PREFMX0xJR0hUQk9YX0NMQVNTTkFNRT0id2ViM21vZGFsLW1vZGFsLWxpZ2h0Ym94Iix0Lk1PREFMX0NPTlRBSU5FUl9DTEFTU05BTUU9IndlYjNtb2RhbC1tb2RhbC1jb250YWluZXIiLHQuTU9EQUxfSElUQk9YX0NMQVNTTkFNRT0id2ViM21vZGFsLW1vZGFsLWhpdGJveCIsdC5NT0RBTF9DQVJEX0NMQVNTTkFNRT0id2ViM21vZGFsLW1vZGFsLWNhcmQiLHQuUFJPVklERVJfV1JBUFBFUl9DTEFTU05BTUU9IndlYjNtb2RhbC1wcm92aWRlci13cmFwcGVyIix0LlBST1ZJREVSX0NPTlRBSU5FUl9DTEFTU05BTUU9IndlYjNtb2RhbC1wcm92aWRlci1jb250YWluZXIiLHQuUFJPVklERVJfSUNPTl9DTEFTU05BTUU9IndlYjNtb2RhbC1wcm92aWRlci1pY29uIix0LlBST1ZJREVSX05BTUVfQ0xBU1NOQU1FPSJ3ZWIzbW9kYWwtcHJvdmlkZXItbmFtZSIsdC5QUk9WSURFUl9ERVNDUklQVElPTl9DTEFTU05BTUU9IndlYjNtb2RhbC1wcm92aWRlci1kZXNjcmlwdGlvbiIsdC5DT05ORUNUX0JVVFRPTl9DTEFTU05BTUU9IndlYjNtb2RhbC1jb25uZWN0LWJ1dHRvbiJ9LGZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuU0VMRUNUX0VWRU5UPXQuQ0xPU0VfRVZFTlQ9dC5FUlJPUl9FVkVOVD10LkNPTk5FQ1RfRVZFTlQ9dm9pZCAwLHQuQ09OTkVDVF9FVkVOVD0iY29ubmVjdCIsdC5FUlJPUl9FVkVOVD0iZXJyb3IiLHQuQ0xPU0VfRVZFTlQ9ImNsb3NlIix0LlNFTEVDVF9FVkVOVD0ic2VsZWN0In0sZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksdC5DQUNIRURfUFJPVklERVJfS0VZPXQuSU5KRUNURURfUFJPVklERVJfSUQ9dC5XRUIzX0NPTk5FQ1RfTU9EQUxfSUQ9dm9pZCAwLHQuV0VCM19DT05ORUNUX01PREFMX0lEPSJXRUIzX0NPTk5FQ1RfTU9EQUxfSUQiLHQuSU5KRUNURURfUFJPVklERVJfSUQ9ImluamVjdGVkIix0LkNBQ0hFRF9QUk9WSURFUl9LRVk9IldFQjNfQ09OTkVDVF9DQUNIRURfUFJPVklERVIifSxmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt0LmRlZmF1bHQ9e25hbWU6ImxpZ2h0Iixjb2xvcnM6e2JhY2tncm91bmQ6InJnYigyNTUsIDI1NSwgMjU1KSIsbWFpbjoicmdiKDEyLCAxMiwgMTMpIixzZWNvbmRhcnk6InJnYigxNjksIDE2OSwgMTg4KSIsYm9yZGVyOiJyZ2JhKDE5NSwgMTk1LCAxOTUsIDAuMTQpIixob3ZlcjoicmdiYSgxOTUsIDE5NSwgMTk1LCAwLjE0KSJ9fX0sZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dC5kZWZhdWx0PXtuYW1lOiJkYXJrIixjb2xvcnM6e2JhY2tncm91bmQ6InJnYigzOSwgNDksIDU2KSIsbWFpbjoicmdiKDE5OSwgMTk5LCAxOTkpIixzZWNvbmRhcnk6InJnYigxMzYsIDEzNiwgMTM2KSIsYm9yZGVyOiJyZ2JhKDE5NSwgMTk1LCAxOTUsIDAuMTQpIixob3ZlcjoicmdiKDE2LCAyNiwgMzIpIn19fSxmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LnBoYW50b209dC5sZWRnZXI9dC53ZWIzYXV0aD10LnN0YXJ6d2FsbGV0PXQuYml0a2VlcD10Lm9wZXJhPXQuY2x2d2FsbGV0PXQuc2VxdWVuY2U9dC53YWxsZXRsaW5rPXQuY29pbmJhc2V3YWxsZXQ9dC5iaW5hbmNlY2hhaW53YWxsZXQ9dC5mcmFtZT10LmJpdHNraT10LmRjZW50d2FsbGV0PXQubWV3Y29ubmVjdD10LmJ1cm5lcmNvbm5lY3Q9dC5hdXRoZXJldW09dC52ZW5seT10LmZvcnRtYXRpYz10LnRvcnVzPXQucG9ydGlzPXQuYm9sdHg9dC53YWxsZXRjb25uZWN0PXQuaW5qZWN0ZWQ9dm9pZCAwO3ZhciBpPW4oMCkscj1pLl9faW1wb3J0RGVmYXVsdChuKDQxKSk7dC5pbmplY3RlZD1yLmRlZmF1bHQ7dmFyIE09aS5fX2ltcG9ydERlZmF1bHQobig0MikpO3QuYm9sdHg9TS5kZWZhdWx0O3ZhciB1PWkuX19pbXBvcnREZWZhdWx0KG4oNDMpKTt0LndhbGxldGNvbm5lY3Q9dS5kZWZhdWx0O3ZhciBvPWkuX19pbXBvcnREZWZhdWx0KG4oNDQpKTt0LnBvcnRpcz1vLmRlZmF1bHQ7dmFyIGM9aS5fX2ltcG9ydERlZmF1bHQobig0NSkpO3QuZm9ydG1hdGljPWMuZGVmYXVsdDt2YXIgYT1pLl9faW1wb3J0RGVmYXVsdChuKDQ2KSk7dC50b3J1cz1hLmRlZmF1bHQ7dmFyIEk9aS5fX2ltcG9ydERlZmF1bHQobig0NykpO3QudmVubHk9SS5kZWZhdWx0O3ZhciBsPWkuX19pbXBvcnREZWZhdWx0KG4oNDgpKTt0LmF1dGhlcmV1bT1sLmRlZmF1bHQ7dmFyIE49aS5fX2ltcG9ydERlZmF1bHQobig0OSkpO3QuYnVybmVyY29ubmVjdD1OLmRlZmF1bHQ7dmFyIGo9aS5fX2ltcG9ydERlZmF1bHQobig1MCkpO3QubWV3Y29ubmVjdD1qLmRlZmF1bHQ7dmFyIGc9aS5fX2ltcG9ydERlZmF1bHQobig1MSkpO3QuZGNlbnR3YWxsZXQ9Zy5kZWZhdWx0O3ZhciBzPWkuX19pbXBvcnREZWZhdWx0KG4oNTIpKTt0LmJpdHNraT1zLmRlZmF1bHQ7dmFyIEE9aS5fX2ltcG9ydERlZmF1bHQobig1MykpO3QuZnJhbWU9QS5kZWZhdWx0O3ZhciBEPWkuX19pbXBvcnREZWZhdWx0KG4oNTQpKTt0LmJpbmFuY2VjaGFpbndhbGxldD1ELmRlZmF1bHQ7dmFyIGQ9aS5fX2ltcG9ydFN0YXIobig1NSkpO3QuY29pbmJhc2V3YWxsZXQ9ZC5kZWZhdWx0LE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJ3YWxsZXRsaW5rIix7ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gZC53YWxsZXRsaW5rfX0pO3ZhciBUPWkuX19pbXBvcnREZWZhdWx0KG4oNTYpKTt0LnNlcXVlbmNlPVQuZGVmYXVsdDt2YXIgeT1pLl9faW1wb3J0RGVmYXVsdChuKDU3KSk7dC5jbHZ3YWxsZXQ9eS5kZWZhdWx0O3ZhciB6PWkuX19pbXBvcnREZWZhdWx0KG4oNTgpKTt0Lm9wZXJhPXouZGVmYXVsdDt2YXIgdz1pLl9faW1wb3J0RGVmYXVsdChuKDU5KSk7dC53ZWIzYXV0aD13LmRlZmF1bHQ7dmFyIGY9aS5fX2ltcG9ydERlZmF1bHQobig2MCkpO3QuYml0a2VlcD1mLmRlZmF1bHQ7dmFyIEw9aS5fX2ltcG9ydERlZmF1bHQobig2MSkpO3Quc3Rhcnp3YWxsZXQ9TC5kZWZhdWx0O3ZhciBFPWkuX19pbXBvcnREZWZhdWx0KG4oNjIpKTt0LmxlZGdlcj1FLmRlZmF1bHQ7dmFyIEM9aS5fX2ltcG9ydERlZmF1bHQobig2MykpO3QucGhhbnRvbT1DLmRlZmF1bHR9LGZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBpPW4oMCk7dC5kZWZhdWx0PWZ1bmN0aW9uKCl7cmV0dXJuIGkuX19hd2FpdGVyKHZvaWQgMCx2b2lkIDAsdm9pZCAwLChmdW5jdGlvbigpe3ZhciBlO3JldHVybiBpLl9fZ2VuZXJhdG9yKHRoaXMsKGZ1bmN0aW9uKHQpe3N3aXRjaCh0LmxhYmVsKXtjYXNlIDA6aWYoZT1udWxsLHZvaWQgMD09PXdpbmRvdy5ldGhlcmV1bSlyZXR1cm5bMyw1XTtlPXdpbmRvdy5ldGhlcmV1bSx0LmxhYmVsPTE7Y2FzZSAxOnJldHVybiB0LnRyeXMucHVzaChbMSwzLCw0XSksWzQsZS5yZXF1ZXN0KHttZXRob2Q6ImV0aF9yZXF1ZXN0QWNjb3VudHMifSldO2Nhc2UgMjpyZXR1cm4gdC5zZW50KCksWzMsNF07Y2FzZSAzOnRocm93IHQuc2VudCgpLG5ldyBFcnJvcigiVXNlciBSZWplY3RlZCIpO2Nhc2UgNDpyZXR1cm5bMyw2XTtjYXNlIDU6aWYod2luZG93LndlYjMpZT13aW5kb3cud2ViMy5jdXJyZW50UHJvdmlkZXI7ZWxzZXtpZighd2luZG93LmNlbG8pdGhyb3cgbmV3IEVycm9yKCJObyBXZWIzIFByb3ZpZGVyIGZvdW5kIik7ZT13aW5kb3cuY2Vsb310LmxhYmVsPTY7Y2FzZSA2OnJldHVyblsyLGVdfX0pKX0pKX19LGZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBpPW4oMCk7dC5kZWZhdWx0PWZ1bmN0aW9uKCl7cmV0dXJuIGkuX19hd2FpdGVyKHZvaWQgMCx2b2lkIDAsdm9pZCAwLChmdW5jdGlvbigpe3ZhciBlO3JldHVybiBpLl9fZ2VuZXJhdG9yKHRoaXMsKGZ1bmN0aW9uKHQpe3N3aXRjaCh0LmxhYmVsKXtjYXNlIDA6aWYoZT1udWxsLHZvaWQgMD09PXdpbmRvdy5ib2x0WClyZXR1cm5bMyw1XTtlPXdpbmRvdy5ib2x0WC5ldGhlcmV1bSx0LmxhYmVsPTE7Y2FzZSAxOnJldHVybiB0LnRyeXMucHVzaChbMSwzLCw0XSksWzQsZS5yZXF1ZXN0KHttZXRob2Q6ImV0aF9yZXF1ZXN0QWNjb3VudHMifSldO2Nhc2UgMjpyZXR1cm4gdC5zZW50KCksWzMsNF07Y2FzZSAzOnRocm93IHQuc2VudCgpLG5ldyBFcnJvcigiVXNlciBSZWplY3RlZCIpO2Nhc2UgNDpyZXR1cm5bMyw2XTtjYXNlIDU6dGhyb3cgbmV3IEVycm9yKCJCb2x0WCBub3QgZm91bmQiKTtjYXNlIDY6cmV0dXJuWzIsZV19fSkpfSkpfX0sZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIGk9bigwKSxyPW4oMyk7dC5kZWZhdWx0PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIG5ldyBQcm9taXNlKChmdW5jdGlvbihuLE0pe3JldHVybiBpLl9fYXdhaXRlcih2b2lkIDAsdm9pZCAwLHZvaWQgMCwoZnVuY3Rpb24oKXt2YXIgdSxvLGMsYSxJLGwsTixqO3JldHVybiBpLl9fZ2VuZXJhdG9yKHRoaXMsKGZ1bmN0aW9uKGkpe3N3aXRjaChpLmxhYmVsKXtjYXNlIDA6dT0iaHR0cHM6Ly9icmlkZ2Uud2FsbGV0Y29ubmVjdC5vcmciLG89ITAsYz0iIixhPXZvaWQgMCxJPTEsbD12b2lkIDAsdCYmKHU9dC5icmlkZ2V8fHUsbz12b2lkIDAhPT10LnFyY29kZT90LnFyY29kZTpvLGM9dC5pbmZ1cmFJZHx8IiIsYT10LnJwY3x8dm9pZCAwLEk9dC5uZXR3b3JrJiZyLmdldENoYWluSWQodC5uZXR3b3JrKT9yLmdldENoYWluSWQodC5uZXR3b3JrKToxLGw9dC5xcmNvZGVNb2RhbE9wdGlvbnN8fHZvaWQgMCksTj1uZXcgZSh7YnJpZGdlOnUscXJjb2RlOm8saW5mdXJhSWQ6YyxycGM6YSxjaGFpbklkOkkscXJjb2RlTW9kYWxPcHRpb25zOmx9KSxpLmxhYmVsPTE7Y2FzZSAxOnJldHVybiBpLnRyeXMucHVzaChbMSwzLCw0XSksWzQsTi5lbmFibGUoKV07Y2FzZSAyOnJldHVybiBpLnNlbnQoKSxuKE4pLFszLDRdO2Nhc2UgMzpyZXR1cm4gaj1pLnNlbnQoKSxNKGopLFszLDRdO2Nhc2UgNDpyZXR1cm5bMl19fSkpfSkpfSkpfX0sZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIGk9bigwKTt0LmRlZmF1bHQ9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gbmV3IFByb21pc2UoKGZ1bmN0aW9uKG4scil7cmV0dXJuIGkuX19hd2FpdGVyKHZvaWQgMCx2b2lkIDAsdm9pZCAwLChmdW5jdGlvbigpe3ZhciBNLHUsbyxjLGE7cmV0dXJuIGkuX19nZW5lcmF0b3IodGhpcywoZnVuY3Rpb24oaSl7c3dpdGNoKGkubGFiZWwpe2Nhc2UgMDppZighdHx8IXQuaWQpcmV0dXJuWzMsNV07aS5sYWJlbD0xO2Nhc2UgMTpyZXR1cm4gaS50cnlzLnB1c2goWzEsMywsNF0pLE09dC5pZCx1PXQubmV0d29ya3x8Im1haW5uZXQiLG89dC5jb25maWcsWzQsKGM9bmV3IGUoTSx1LG8pKS5wcm92aWRlci5lbmFibGUoKV07Y2FzZSAyOnJldHVybiBpLnNlbnQoKSxjLnByb3ZpZGVyLl9wb3J0aXM9YyxuKGMucHJvdmlkZXIpLFszLDRdO2Nhc2UgMzpyZXR1cm4gYT1pLnNlbnQoKSxbMixyKGEpXTtjYXNlIDQ6cmV0dXJuWzMsNl07Y2FzZSA1OnJldHVyblsyLHIobmV3IEVycm9yKCJNaXNzaW5nIFBvcnRpcyBJZCIpKV07Y2FzZSA2OnJldHVyblsyXX19KSl9KSl9KSl9fSxmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgaT1uKDApO3QuZGVmYXVsdD1mdW5jdGlvbihlLHQpe3JldHVybiBpLl9fYXdhaXRlcih2b2lkIDAsdm9pZCAwLHZvaWQgMCwoZnVuY3Rpb24oKXt2YXIgbixyLE07cmV0dXJuIGkuX19nZW5lcmF0b3IodGhpcywoZnVuY3Rpb24oaSl7c3dpdGNoKGkubGFiZWwpe2Nhc2UgMDppZighdHx8IXQua2V5KXJldHVyblszLDddO2kubGFiZWw9MTtjYXNlIDE6cmV0dXJuIGkudHJ5cy5wdXNoKFsxLDUsLDZdKSxuPXQua2V5LFs0LChyPW5ldyBlKG4sdC5uZXR3b3JrKSkuZ2V0UHJvdmlkZXIoKV07Y2FzZSAyOnJldHVybihNPWkuc2VudCgpKS5mbT1yLFs0LHIudXNlci5sb2dpbigpXTtjYXNlIDM6cmV0dXJuIGkuc2VudCgpLFs0LHIudXNlci5pc0xvZ2dlZEluKCldO2Nhc2UgNDppZihpLnNlbnQoKSlyZXR1cm5bMixNXTt0aHJvdyBuZXcgRXJyb3IoIkZhaWxlZCB0byBsb2dpbiB0byBGb3J0bWF0aWMiKTtjYXNlIDU6dGhyb3cgaS5zZW50KCk7Y2FzZSA2OnJldHVyblszLDhdO2Nhc2UgNzp0aHJvdyBuZXcgRXJyb3IoIk1pc3NpbmcgRm9ydG1hdGljIGtleSIpO2Nhc2UgODpyZXR1cm5bMl19fSkpfSkpfX0sZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIGk9bigwKTt0LmRlZmF1bHQ9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gaS5fX2F3YWl0ZXIodm9pZCAwLHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKCl7cmV0dXJuIGkuX19nZW5lcmF0b3IodGhpcywoZnVuY3Rpb24obil7cmV0dXJuWzIsbmV3IFByb21pc2UoKGZ1bmN0aW9uKG4scil7cmV0dXJuIGkuX19hd2FpdGVyKHZvaWQgMCx2b2lkIDAsdm9pZCAwLChmdW5jdGlvbigpe3ZhciBNLHUsbyxjLGEsSSxsLE47cmV0dXJuIGkuX19nZW5lcmF0b3IodGhpcywoZnVuY3Rpb24oail7c3dpdGNoKGoubGFiZWwpe2Nhc2UgMDpyZXR1cm4gai50cnlzLnB1c2goWzAsMywsNF0pLCJib3R0b20tbGVmdCIsInRvcnVzLWRlZmF1bHQiLDk5OTk5LE09e2hvc3Q6Im1haW5uZXQifSx1PXZvaWQgMCxNPXQubmV0d29ya1BhcmFtc3x8dC5uZXR3b3JrP2kuX19hc3NpZ24oe2hvc3Q6dC5uZXR3b3JrfSx0Lm5ldHdvcmtQYXJhbXMpOk0sWzQsKG89bmV3IGUoe2J1dHRvblBvc2l0aW9uOihudWxsPT09KEk9dC5jb25maWcpfHx2b2lkIDA9PT1JP3ZvaWQgMDpJLmJ1dHRvblBvc2l0aW9uKXx8ImJvdHRvbS1sZWZ0IixhcGlLZXk6KG51bGw9PT0obD10LmNvbmZpZyl8fHZvaWQgMD09PWw/dm9pZCAwOmwuYXBpS2V5KXx8InRvcnVzLWRlZmF1bHQiLG1vZGFsWkluZGV4OihudWxsPT09KE49dC5jb25maWcpfHx2b2lkIDA9PT1OP3ZvaWQgMDpOLm1vZGFsWkluZGV4KXx8OTk5OTl9KSkuaW5pdChpLl9fYXNzaWduKGkuX19hc3NpZ24oe3Nob3dUb3J1c0J1dHRvbjohMX0sdC5jb25maWcpLHtuZXR3b3JrOk19KSldO2Nhc2UgMTpyZXR1cm4gai5zZW50KCksdC5sb2dpblBhcmFtcyYmKHU9dC5sb2dpblBhcmFtcy52ZXJpZmllciksWzQsby5sb2dpbih7dmVyaWZpZXI6dX0pXTtjYXNlIDI6cmV0dXJuIGouc2VudCgpLChjPW8ucHJvdmlkZXIpLnRvcnVzPW8sbihjKSxbMyw0XTtjYXNlIDM6cmV0dXJuIGE9ai5zZW50KCkscihhKSxbMyw0XTtjYXNlIDQ6cmV0dXJuWzJdfX0pKX0pKX0pKV19KSl9KSl9fSxmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgaT1uKDApO3QuZGVmYXVsdD1mdW5jdGlvbihlLHQpe3JldHVybiBuZXcgUHJvbWlzZSgoZnVuY3Rpb24oZSxuKXtyZXR1cm4gaS5fX2F3YWl0ZXIodm9pZCAwLHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKCl7dmFyIHIsTSx1O3JldHVybiBpLl9fZ2VuZXJhdG9yKHRoaXMsKGZ1bmN0aW9uKGkpe3N3aXRjaChpLmxhYmVsKXtjYXNlIDA6aWYoIXR8fCF0LmNsaWVudElkKXJldHVyblszLDVdO2kubGFiZWw9MTtjYXNlIDE6cmV0dXJuIGkudHJ5cy5wdXNoKFsxLDMsLDRdKSxyPXtjbGllbnRJZDp0LmNsaWVudElkLHNlY3JldFR5cGU6dC5zZWNyZXRUeXBlfHwiRVRIRVJFVU0iLGVudmlyb25tZW50OnQuZW52aXJvbm1lbnQsYXV0aGVudGljYXRpb25PcHRpb25zOnQuYXV0aGVudGljYXRpb25PcHRpb25zLHNpZ25NZXRob2Q6IlBPUFVQIn0sWzQsd2luZG93LlZlbmx5LmNyZWF0ZVByb3ZpZGVyRW5naW5lKHIpXTtjYXNlIDI6cmV0dXJuIE09aS5zZW50KCksWzIsZShNKV07Y2FzZSAzOnJldHVybiB1PWkuc2VudCgpLGNvbnNvbGUuZXJyb3IodSksWzIsbihuZXcgRXJyb3IoIkZhaWxlZCB0byBsb2dpbiB0byBWZW5seSIpKV07Y2FzZSA0OnJldHVyblszLDZdO2Nhc2UgNTpyZXR1cm5bMixuKG5ldyBFcnJvcigiUGxlYXNlIHByb3ZpZGUgYW4gVmVubHkgY2xpZW50IGlkIikpXTtjYXNlIDY6cmV0dXJuWzJdfX0pKX0pKX0pKX19LGZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBpPW4oMCk7dC5kZWZhdWx0PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHZvaWQgMD09PXQmJih0PXt9KSxuZXcgUHJvbWlzZSgoZnVuY3Rpb24obixyKXtyZXR1cm4gaS5fX2F3YWl0ZXIodm9pZCAwLHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKCl7dmFyIE0sdSxvO3JldHVybiBpLl9fZ2VuZXJhdG9yKHRoaXMsKGZ1bmN0aW9uKGMpe3N3aXRjaChjLmxhYmVsKXtjYXNlIDA6cmV0dXJuIGMudHJ5cy5wdXNoKFswLDIsLDNdKSxNPW5ldyBlKGkuX19hc3NpZ24oaS5fX2Fzc2lnbih7fSx0KSx7bmV0d29ya05hbWU6dC5uZXR3b3JrTmFtZXx8dC5uZXR3b3JrfSkpLCh1PU0uZ2V0UHJvdmlkZXIoKSkuYXV0aGVyZXVtPU0sWzQsdS5lbmFibGUoKV07Y2FzZSAxOnJldHVybiBjLnNlbnQoKSxuKHUpLFszLDNdO2Nhc2UgMjpyZXR1cm4gbz1jLnNlbnQoKSxbMixyKG8pXTtjYXNlIDM6cmV0dXJuWzJdfX0pKX0pKX0pKX19LGZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBpPW4oMCk7dC5kZWZhdWx0PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGkuX19hd2FpdGVyKHZvaWQgMCx2b2lkIDAsdm9pZCAwLChmdW5jdGlvbigpe3ZhciBuO3JldHVybiBpLl9fZ2VuZXJhdG9yKHRoaXMsKGZ1bmN0aW9uKGkpe3N3aXRjaChpLmxhYmVsKXtjYXNlIDA6cmV0dXJuIHQuZGVmYXVsdE5ldHdvcms9dC5kZWZhdWx0TmV0d29ya3x8dC5uZXR3b3JrLFs0LChuPW5ldyBlKHQpKS5lbmFibGUoKV07Y2FzZSAxOnJldHVybiBpLnNlbnQoKSxbMixuXX19KSl9KSl9fSxmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgaT1uKDApLHI9bigzKTt0LmRlZmF1bHQ9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gbmV3IFByb21pc2UoKGZ1bmN0aW9uKG4sTSl7cmV0dXJuIGkuX19hd2FpdGVyKHZvaWQgMCx2b2lkIDAsdm9pZCAwLChmdW5jdGlvbigpe3ZhciB1LG8sYyxhLEksbCxOO3JldHVybiBpLl9fZ2VuZXJhdG9yKHRoaXMsKGZ1bmN0aW9uKGkpe3N3aXRjaChpLmxhYmVsKXtjYXNlIDA6aWYodT0iIixvPXZvaWQgMCxjPTEsdCYmKHU9dC5pbmZ1cmFJZHx8IiIsbz10LnJwY3x8dm9pZCAwLHQuaW5mdXJhSWQmJiFvJiYobz0id3NzOi8vbWFpbm5ldC5pbmZ1cmEuaW8vd3MvdjMvIit1KSxjPXQubmV0d29yayYmci5nZXRDaGFpbklkKHQubmV0d29yayk/ci5nZXRDaGFpbklkKHQubmV0d29yayk6MSksZS5Qcm92aWRlci5pc0Nvbm5lY3RlZClyZXR1cm5bMyw0XTthPW5ldyBlLlByb3ZpZGVyLEk9YS5tYWtlV2ViM1Byb3ZpZGVyKGMsbywhMCksYS5vbigiZGlzY29ubmVjdGVkIiwoZnVuY3Rpb24oKXt9KSksaS5sYWJlbD0xO2Nhc2UgMTpyZXR1cm4gaS50cnlzLnB1c2goWzEsMywsNF0pLFs0LGEuZW5hYmxlKCldO2Nhc2UgMjpyZXR1cm4gbD1pLnNlbnQoKSxjb25zb2xlLmxvZyhsKSxuKEkpLFszLDRdO2Nhc2UgMzpyZXR1cm4gTj1pLnNlbnQoKSxNKE4pLFszLDRdO2Nhc2UgNDpyZXR1cm5bMl19fSkpfSkpfSkpfX0sZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIGk9bigwKTt0LmRlZmF1bHQ9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gaS5fX2F3YWl0ZXIodm9pZCAwLHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKCl7dmFyIG47cmV0dXJuIGkuX19nZW5lcmF0b3IodGhpcywoZnVuY3Rpb24oaSl7c3dpdGNoKGkubGFiZWwpe2Nhc2UgMDpyZXR1cm5bNCwobj1uZXcgZSh0KSkuZW5hYmxlKCldO2Nhc2UgMTpyZXR1cm4gaS5zZW50KCksWzIsbl19fSkpfSkpfX0sZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIGk9bigwKTt0LmRlZmF1bHQ9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gaS5fX2F3YWl0ZXIodm9pZCAwLHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKCl7dmFyIG47cmV0dXJuIGkuX19nZW5lcmF0b3IodGhpcywoZnVuY3Rpb24oaSl7c3dpdGNoKGkubGFiZWwpe2Nhc2UgMDpyZXR1cm5bNCwobj1uZXcgZSh0LmNsaWVudElkLHQuY2FsbGJhY2tVcmwsdC5leHRyYUJpdHNraU9wdGlvbnMpKS5zaWduSW4oKV07Y2FzZSAxOnJldHVybiBpLnNlbnQoKSxbMixuLmdldFByb3ZpZGVyKHQuZXh0cmFQcm92aWRlck9wdGlvbnMpXX19KSl9KSl9fSxmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgaT1uKDApO3QuZGVmYXVsdD1mdW5jdGlvbihlKXtyZXR1cm4gaS5fX2F3YWl0ZXIodm9pZCAwLHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKCl7dmFyIHQ7cmV0dXJuIGkuX19nZW5lcmF0b3IodGhpcywoZnVuY3Rpb24obil7dHJ5e3JldHVybih0PWUoImZyYW1lIikpLmlzRnJhbWVOYXRpdmU9ITAsWzIsdF19Y2F0Y2goZSl7dGhyb3cgZX1yZXR1cm5bMl19KSl9KSl9fSxmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgaT1uKDApO3QuZGVmYXVsdD1mdW5jdGlvbigpe3JldHVybiBpLl9fYXdhaXRlcih2b2lkIDAsdm9pZCAwLHZvaWQgMCwoZnVuY3Rpb24oKXt2YXIgZTtyZXR1cm4gaS5fX2dlbmVyYXRvcih0aGlzLChmdW5jdGlvbih0KXtzd2l0Y2godC5sYWJlbCl7Y2FzZSAwOmlmKGU9bnVsbCx2b2lkIDA9PT13aW5kb3cuQmluYW5jZUNoYWluKXJldHVyblszLDVdO2U9d2luZG93LkJpbmFuY2VDaGFpbix0LmxhYmVsPTE7Y2FzZSAxOnJldHVybiB0LnRyeXMucHVzaChbMSwzLCw0XSksWzQsZS5yZXF1ZXN0KHttZXRob2Q6ImV0aF9yZXF1ZXN0QWNjb3VudHMifSldO2Nhc2UgMjpyZXR1cm4gdC5zZW50KCksWzMsNF07Y2FzZSAzOnRocm93IHQuc2VudCgpLG5ldyBFcnJvcigiVXNlciBSZWplY3RlZCIpO2Nhc2UgNDpyZXR1cm5bMyw2XTtjYXNlIDU6dGhyb3cgbmV3IEVycm9yKCJObyBCaW5hbmNlIENoYWluIFdhbGxldCBmb3VuZCIpO2Nhc2UgNjpyZXR1cm5bMixlXX19KSl9KSl9fSxmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LndhbGxldGxpbms9dm9pZCAwO3ZhciBpPW4oMCkscj1mdW5jdGlvbihlLHQpe3JldHVybiBuZXcgUHJvbWlzZSgoZnVuY3Rpb24obixyKXtyZXR1cm4gaS5fX2F3YWl0ZXIodm9pZCAwLHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKCl7dmFyIE0sdSxvLGMsYSxJLGwsTixqLGc7cmV0dXJuIGkuX19nZW5lcmF0b3IodGhpcywoZnVuY3Rpb24oaSl7c3dpdGNoKGkubGFiZWwpe2Nhc2UgMDp1PShNPXR8fHt9KS5pbmZ1cmFJZHx8IiIsbz1NLmNoYWluSWR8fDEsYz1NLmFwcE5hbWV8fCIiLGE9TS5hcHBMb2dvVXJsLEk9TS5kYXJrTW9kZXx8ITEsbD1NLnJwY3x8dm9pZCAwLE0uaW5mdXJhSWQmJiFNLnJwYyYmKGw9Imh0dHBzOi8vbWFpbm5ldC5pbmZ1cmEuaW8vdjMvIit1KSxOPW5ldyBlKHthcHBOYW1lOmMsYXBwTG9nb1VybDphLGRhcmtNb2RlOkl9KSxpLmxhYmVsPTE7Y2FzZSAxOnJldHVybiBpLnRyeXMucHVzaChbMSwzLCw0XSksWzQsKGo9Ti5tYWtlV2ViM1Byb3ZpZGVyKGwsbykpLnNlbmQoImV0aF9yZXF1ZXN0QWNjb3VudHMiKV07Y2FzZSAyOnJldHVybiBpLnNlbnQoKSxuKGopLFszLDRdO2Nhc2UgMzpyZXR1cm4gZz1pLnNlbnQoKSxyKGcpLFszLDRdO2Nhc2UgNDpyZXR1cm5bMl19fSkpfSkpfSkpfTt0LndhbGxldGxpbms9cix0LmRlZmF1bHQ9cn0sZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIGk9bigwKTt0LmRlZmF1bHQ9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gaS5fX2F3YWl0ZXIodm9pZCAwLHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKCl7dmFyIG4scixNLHUsbztyZXR1cm4gaS5fX2dlbmVyYXRvcih0aGlzLChmdW5jdGlvbihpKXtzd2l0Y2goaS5sYWJlbCl7Y2FzZSAwOmlmKCEobnVsbD09PShvPW51bGw9PT13aW5kb3d8fHZvaWQgMD09PXdpbmRvdz92b2lkIDA6d2luZG93LmV0aGVyZXVtKXx8dm9pZCAwPT09bz92b2lkIDA6by5pc1NlcXVlbmNlKSlyZXR1cm5bMyw0XTtuPXdpbmRvdy5ldGhlcmV1bSxpLmxhYmVsPTE7Y2FzZSAxOnJldHVybiBpLnRyeXMucHVzaChbMSwzLCw0XSksWzQsbi5yZXF1ZXN0KHttZXRob2Q6ImV0aF9yZXF1ZXN0QWNjb3VudHMifSldO2Nhc2UgMjpyZXR1cm4gaS5zZW50KCksWzIsbl07Y2FzZSAzOnRocm93IGkuc2VudCgpLG5ldyBFcnJvcigiVXNlciBSZWplY3RlZCIpO2Nhc2UgNDpyZXR1cm4gaS50cnlzLnB1c2goWzQsNSwsN10pLHI9ZS5nZXRXYWxsZXQoKSxbMyw3XTtjYXNlIDU6cmV0dXJuIGkuc2VudCgpLE09e30sKG51bGw9PXQ/dm9pZCAwOnQubmV0d29ya1JwY1VybCkmJihNPXtuZXR3b3JrUnBjVXJsOnQubmV0d29ya1JwY1VybH0pLFs0LGUuaW5pdFdhbGxldCgobnVsbD09dD92b2lkIDA6dC5kZWZhdWx0TmV0d29yayl8fCJtYWlubmV0IixNKV07Y2FzZSA2OnJldHVybiByPWkuc2VudCgpLFszLDddO2Nhc2UgNzpyZXR1cm4gci5pc0Nvbm5lY3RlZCgpP1szLDldOls0LHIuY29ubmVjdCh7YXBwOm51bGw9PXQ/dm9pZCAwOnQuYXBwTmFtZSxhdXRob3JpemU6KG51bGw9PXQ/dm9pZCAwOnQuYXV0aG9yaXplKXx8ITEsa2VlcFdhbGxldE9wZW5lZWQ6KG51bGw9PXQ/dm9pZCAwOnQua2VlcFdhbGxldE9wZW5lZCl8fCExfSldO2Nhc2UgODppZighKHU9aS5zZW50KCkpLmNvbm5lY3RlZCl0aHJvdyBuZXcgRXJyb3IoIkZhaWxlZCB0byBjb25uZWN0Iik7KG51bGw9PXQ/dm9pZCAwOnQub25Db25uZWN0KSYmdC5vbkNvbm5lY3QodSksaS5sYWJlbD05O2Nhc2UgOTpyZXR1cm4obj1yLmdldFByb3ZpZGVyKCkpLnNlcXVlbmNlPXIsKG51bGw9PXQ/dm9pZCAwOnQuZ2V0U2VxdWVuY2VXYWxsZXQpJiZ0LmdldFNlcXVlbmNlV2FsbGV0KHIpLFsyLG5dfX0pKX0pKX19LGZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBpPW4oMCk7dC5kZWZhdWx0PWZ1bmN0aW9uKCl7cmV0dXJuIGkuX19hd2FpdGVyKHZvaWQgMCx2b2lkIDAsdm9pZCAwLChmdW5jdGlvbigpe3ZhciBlO3JldHVybiBpLl9fZ2VuZXJhdG9yKHRoaXMsKGZ1bmN0aW9uKHQpe3N3aXRjaCh0LmxhYmVsKXtjYXNlIDA6aWYoZT1udWxsLHZvaWQgMD09PXdpbmRvdy5jbG92ZXIpcmV0dXJuWzMsNV07ZT13aW5kb3cuY2xvdmVyLHQubGFiZWw9MTtjYXNlIDE6cmV0dXJuIHQudHJ5cy5wdXNoKFsxLDMsLDRdKSxbNCxlLnJlcXVlc3Qoe21ldGhvZDoiZXRoX3JlcXVlc3RBY2NvdW50cyJ9KV07Y2FzZSAyOnJldHVybiB0LnNlbnQoKSxbMyw0XTtjYXNlIDM6dGhyb3cgdC5zZW50KCksbmV3IEVycm9yKCJVc2VyIFJlamVjdGVkIik7Y2FzZSA0OnJldHVyblszLDZdO2Nhc2UgNTp0aHJvdyBuZXcgRXJyb3IoIk5vIENMViBXYWxsZXQgZm91bmQiKTtjYXNlIDY6cmV0dXJuWzIsZV19fSkpfSkpfX0sZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIGk9bigwKTt0LmRlZmF1bHQ9ZnVuY3Rpb24oKXtyZXR1cm4gaS5fX2F3YWl0ZXIodm9pZCAwLHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKCl7dmFyIGUsdDtyZXR1cm4gaS5fX2dlbmVyYXRvcih0aGlzLChmdW5jdGlvbihuKXtzd2l0Y2gobi5sYWJlbCl7Y2FzZSAwOmlmKGU9bnVsbCx2b2lkIDA9PT0obnVsbD09PSh0PXdpbmRvdy5ldGhlcmV1bSl8fHZvaWQgMD09PXQ/dm9pZCAwOnQuaXNPcGVyYSkpcmV0dXJuWzMsNV07ZT13aW5kb3cuZXRoZXJldW0sbi5sYWJlbD0xO2Nhc2UgMTpyZXR1cm4gbi50cnlzLnB1c2goWzEsMywsNF0pLFs0LGUucmVxdWVzdCh7bWV0aG9kOiJldGhfcmVxdWVzdEFjY291bnRzIn0pXTtjYXNlIDI6cmV0dXJuIG4uc2VudCgpLFszLDRdO2Nhc2UgMzp0aHJvdyBuLnNlbnQoKSxuZXcgRXJyb3IoIlVzZXIgUmVqZWN0ZWQiKTtjYXNlIDQ6cmV0dXJuWzMsNl07Y2FzZSA1OnRocm93IG5ldyBFcnJvcigiT3BlcmEgbm90IGZvdW5kIik7Y2FzZSA2OnJldHVyblsyLGVdfX0pKX0pKX19LGZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBpPW4oMCk7dC5kZWZhdWx0PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGkuX19hd2FpdGVyKHZvaWQgMCx2b2lkIDAsdm9pZCAwLChmdW5jdGlvbigpe3JldHVybiBpLl9fZ2VuZXJhdG9yKHRoaXMsKGZ1bmN0aW9uKG4pe3JldHVyblsyLG5ldyBQcm9taXNlKChmdW5jdGlvbihuLHIpe3JldHVybiBpLl9fYXdhaXRlcih2b2lkIDAsdm9pZCAwLHZvaWQgMCwoZnVuY3Rpb24oKXt2YXIgTSx1LG8sYyxhLEksbDtyZXR1cm4gaS5fX2dlbmVyYXRvcih0aGlzLChmdW5jdGlvbihpKXtzd2l0Y2goaS5sYWJlbCl7Y2FzZSAwOnJldHVybiBpLnRyeXMucHVzaChbMCwzLCw0XSksdT0oTT10fHx7fSkuY2hhaW5JZHx8IjB4MSIsbz1NLmNsaWVudElkfHwibG9jYWxob3N0aWQiLGM9TS5pbmZ1cmFJZCxhPW5ldyBlKHtjaGFpbkNvbmZpZzp7Y2hhaW5OYW1lc3BhY2U6ImVpcDE1NSIsY2hhaW5JZDp1LHJwY1RhcmdldDoiaHR0cHM6Ly9tYWlubmV0LmluZnVyYS5pby92My8iK2N9LGNsaWVudElkOm99KSxjb25zb2xlLmxvZyhhKSxbNCxhLmluaXRNb2RhbCgpXTtjYXNlIDE6cmV0dXJuIGkuc2VudCgpLFs0LGEuY29ubmVjdCgpXTtjYXNlIDI6cmV0dXJuIGkuc2VudCgpLChJPWEucHJvdmlkZXIpLndlYjNhdXRoPWEsbihJKSxbMyw0XTtjYXNlIDM6cmV0dXJuIGw9aS5zZW50KCksY29uc29sZS5sb2cobCkscihsKSxbMyw0XTtjYXNlIDQ6cmV0dXJuWzJdfX0pKX0pKX0pKV19KSl9KSl9fSxmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt2YXIgaT1uKDApO3QuZGVmYXVsdD1mdW5jdGlvbigpe3JldHVybiBpLl9fYXdhaXRlcih2b2lkIDAsdm9pZCAwLHZvaWQgMCwoZnVuY3Rpb24oKXt2YXIgZSx0LG47cmV0dXJuIGkuX19nZW5lcmF0b3IodGhpcywoZnVuY3Rpb24oaSl7c3dpdGNoKGkubGFiZWwpe2Nhc2UgMDppZihlPW51bGwsdm9pZCAwPT09KG51bGw9PT0odD1udWxsPT09d2luZG93fHx2b2lkIDA9PT13aW5kb3c/dm9pZCAwOndpbmRvdy5iaXRrZWVwKXx8dm9pZCAwPT09dD92b2lkIDA6dC5ldGhlcmV1bSkpcmV0dXJuWzMsNV07ZT1udWxsPT09KG49bnVsbD09PXdpbmRvd3x8dm9pZCAwPT09d2luZG93P3ZvaWQgMDp3aW5kb3cuYml0a2VlcCl8fHZvaWQgMD09PW4/dm9pZCAwOm4uZXRoZXJldW0saS5sYWJlbD0xO2Nhc2UgMTpyZXR1cm4gaS50cnlzLnB1c2goWzEsMywsNF0pLGNvbnNvbGUubG9nKCJDb25uZWN0VG9CaXRrZWVwIiksWzQsZS5yZXF1ZXN0KHttZXRob2Q6ImV0aF9yZXF1ZXN0QWNjb3VudHMifSldO2Nhc2UgMjpyZXR1cm4gaS5zZW50KCksWzMsNF07Y2FzZSAzOnRocm93IGkuc2VudCgpLG5ldyBFcnJvcigiVXNlciBSZWplY3RlZCIpO2Nhc2UgNDpyZXR1cm5bMyw2XTtjYXNlIDU6aWYoIXdpbmRvdy53ZWIzKXRocm93IG5ldyBFcnJvcigiTm8gV2ViMyBQcm92aWRlciBmb3VuZCIpO2U9d2luZG93LndlYjMuY3VycmVudFByb3ZpZGVyLGkubGFiZWw9NjtjYXNlIDY6cmV0dXJuWzIsZV19fSkpfSkpfX0sZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIGk9bigwKTt0LmRlZmF1bHQ9ZnVuY3Rpb24oKXtyZXR1cm4gaS5fX2F3YWl0ZXIodm9pZCAwLHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKCl7dmFyIGU7cmV0dXJuIGkuX19nZW5lcmF0b3IodGhpcywoZnVuY3Rpb24odCl7c3dpdGNoKHQubGFiZWwpe2Nhc2UgMDpyZXR1cm4gZT1udWxsLFs0LG5ldyBQcm9taXNlKChmdW5jdGlvbihlKXtyZXR1cm4gc2V0VGltZW91dChlLDFlMyl9KSldO2Nhc2UgMTppZih0LnNlbnQoKSx2b2lkIDA9PT13aW5kb3cuc3Rhcnp3YWxsZXQpcmV0dXJuWzMsNl07ZT13aW5kb3cuc3Rhcnp3YWxsZXQsdC5sYWJlbD0yO2Nhc2UgMjpyZXR1cm4gdC50cnlzLnB1c2goWzIsNCwsNV0pLFs0LGUucmVxdWVzdCh7bWV0aG9kOiJldGhfcmVxdWVzdEFjY291bnRzIn0pXTtjYXNlIDM6cmV0dXJuIHQuc2VudCgpLFszLDVdO2Nhc2UgNDp0aHJvdyB0LnNlbnQoKSxuZXcgRXJyb3IoIlVzZXIgUmVqZWN0ZWQiKTtjYXNlIDU6cmV0dXJuWzMsN107Y2FzZSA2OnRocm93IG5ldyBFcnJvcigiTm8gOTlTdGFyeiBXYWxsZXQgZm91bmQiKTtjYXNlIDc6cmV0dXJuWzIsZV19fSkpfSkpfX0sZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSk7dmFyIGk9bigwKTt0LmRlZmF1bHQ9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gaS5fX2F3YWl0ZXIodm9pZCAwLHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKCl7cmV0dXJuIGkuX19nZW5lcmF0b3IodGhpcywoZnVuY3Rpb24obil7cmV0dXJuWzIsbmV3IFByb21pc2UoKGZ1bmN0aW9uKG4scil7cmV0dXJuIGkuX19hd2FpdGVyKHZvaWQgMCx2b2lkIDAsdm9pZCAwLChmdW5jdGlvbigpe3ZhciBNLHUsbztyZXR1cm4gaS5fX2dlbmVyYXRvcih0aGlzLChmdW5jdGlvbihjKXtzd2l0Y2goYy5sYWJlbCl7Y2FzZSAwOnJldHVybiBjLnRyeXMucHVzaChbMCwzLCw0XSksWzQsZSgpXTtjYXNlIDE6cmV0dXJuKE09Yy5zZW50KCkpLmNoZWNrU3VwcG9ydChpLl9fYXNzaWduKHtwcm92aWRlclR5cGU6IkV0aGVyZXVtIn0sdCkpLFs0LE0uZ2V0UHJvdmlkZXIoKV07Y2FzZSAyOnJldHVybih1PWMuc2VudCgpKS5yZXF1ZXN0KHttZXRob2Q6ImV0aF9yZXF1ZXN0QWNjb3VudHMifSksWzIsbih1KV07Y2FzZSAzOnJldHVybiBvPWMuc2VudCgpLFsyLHIobyldO2Nhc2UgNDpyZXR1cm5bMl19fSkpfSkpfSkpXX0pKX0pKX19LGZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pO3ZhciBpPW4oMCk7dC5kZWZhdWx0PWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGkuX19hd2FpdGVyKHZvaWQgMCx2b2lkIDAsdm9pZCAwLChmdW5jdGlvbigpe3ZhciBlLG4scjtyZXR1cm4gaS5fX2dlbmVyYXRvcih0aGlzLChmdW5jdGlvbihpKXtzd2l0Y2goaS5sYWJlbCl7Y2FzZSAwOmlmKGU9bnVsbCx2b2lkIDA9PT0obnVsbD09PShuPXdpbmRvdy5waGFudG9tKXx8dm9pZCAwPT09bj92b2lkIDA6blt0Lm5ldHdvcmtUeXBlXSkpcmV0dXJuWzMsNV07ZT1udWxsPT09KHI9d2luZG93LnBoYW50b20pfHx2b2lkIDA9PT1yP3ZvaWQgMDpyW3QubmV0d29ya1R5cGVdLGkubGFiZWw9MTtjYXNlIDE6cmV0dXJuIGkudHJ5cy5wdXNoKFsxLDMsLDRdKSxbNCxlLnJlcXVlc3Qoe21ldGhvZDoiZXRoX3JlcXVlc3RBY2NvdW50cyJ9KV07Y2FzZSAyOnJldHVybiBpLnNlbnQoKSxbMyw0XTtjYXNlIDM6dGhyb3cgaS5zZW50KCk7Y2FzZSA0OnJldHVyblszLDZdO2Nhc2UgNTp0aHJvdyBuZXcgRXJyb3IoInBoYW50b20gd2FsbGV0IG5vdCBmb3VuZCIpO2Nhc2UgNjpyZXR1cm5bMixlXX19KSl9KSl9fSxmdW5jdGlvbihlLHQpe2UuZXhwb3J0cz0iZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCb1pXbG5hSFE5SWpVeE1pSWdkbWxsZDBKdmVEMGlNQ0F3SURVeE1pQTFNVElpSUhkcFpIUm9QU0kxTVRJaUlIaHRiRzV6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXdMM04yWnlJZ2VHMXNibk02ZUd4cGJtczlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5MekU1T1RrdmVHeHBibXNpUGp4eVlXUnBZV3hIY21Ga2FXVnVkQ0JwWkQwaVlTSWdZM2c5SWpFdU9ERXpNVE15SlNJZ1kzazlJalV3SlNJZ2NqMGlPVGd1TVRnMk9EWTRKU0krUEhOMGIzQWdiMlptYzJWMFBTSXdJaUJ6ZEc5d0xXTnZiRzl5UFNJak5ESTBNalF5SWk4K1BITjBiM0FnYjJabWMyVjBQU0l4SWk4K1BDOXlZV1JwWVd4SGNtRmthV1Z1ZEQ0OFp5Qm1hV3hzUFNKdWIyNWxJaUJtYVd4c0xYSjFiR1U5SW1WMlpXNXZaR1FpUGp4d1lYUm9JR1E5SW0weU5UWWdNR014TkRFdU16ZzBPRGsySURBZ01qVTJJREV4TkM0Mk1UVXhNRFFnTWpVMklESTFOaUF3SURFME1TNHpPRFE0T1RZdE1URTBMall4TlRFd05DQXlOVFl0TWpVMklESTFOaTB4TkRFdU16ZzBPRGsySURBdE1qVTJMVEV4TkM0Mk1UVXhNRFF0TWpVMkxUSTFOaUF3TFRFME1TNHpPRFE0T1RZZ01URTBMall4TlRFd05DMHlOVFlnTWpVMkxUSTFObm9pSUdacGJHdzlJblZ5YkNnallTa2lMejQ4Y0dGMGFDQmtQU0p0TVRNM0xqa3dNak0wTkNBeU5ESXVOell4TnpFNUxURTFMamd5TURNeE15QTFOUzQ1TlRjd016Rm9MVEUyTGpZNU9USXhPV3d0TWpJdU16Z3lPREV5TFRnMExqVTFNRGM0TVdneE9DNHpPVGcwTXpoc01UTXVNVGd6TlRreklEVTVMalU0T1RnME0yZ3VPVE0zTld3eE5TNDBNVEF4TlRjdE5Ua3VOVGc1T0RRemFERTBMamswTVRRd05td3hOUzQzTURNeE1qVWdOVGt1TlRnNU9EUXphQzQ1TXpjMWJERXpMakEyTmpRd05pMDFPUzQxT0RrNE5ETm9NVGd1TWpneE1qVnNMVEl5TGpRME1UUXdOaUE0TkM0MU5UQTNPREZvTFRFMkxqVTRNakF6TVd3dE1UVXVPVGsyTURrMExUVTFMamsxTnpBek1YcHRNVEkzTGpNeU5ESXhPQ0EwTUM0NE16azRORE4yTVRVdU1URTNNVGc0YUMwMU5pNHdNVFUyTWpSMkxUZzBMalUxTURjNE1XZzFOaTR3TVRVMk1qUjJNVFV1TVRFM01UZzNhQzB6T0M0ek1qQXpNVEoyTVRrdU56UTJNRGswYURNMkxqRTFNak0wTkhZeE5DNHdNRE01TURab0xUTTJMakUxTWpNME5IWXlNQzQxTmpZME1EWjZiVFUyTGpZd01UVTJNeUF4TlM0eE1UY3hPRGhvTFRNM0xqazJPRGMxZGkwNE5DNDFOVEEzT0RGb016WXVPVGN5TmpVMll6RTJMalF3TmpJMUlEQWdNall1TVRreE5EQTNJRGd1TURJM016UXpJREkyTGpFNU1UUXdOeUF5TVM0d09UTTNOU0F3SURndU9UWTBPRFF6TFRZdU5qSXhNRGswSURFMkxqYzFOemd4TWkweE5TNHlPVEk1TmprZ01UZ3VNRFEyT0RjMWRqRXVNRFUwTmpnM1l6RXhMakU1TVRRd05pNDRNakF6TVRNZ01Ua3VNek0xT1RNM0lEa3VNalUzT0RFeklERTVMak16TlRrek55QXlNQzR4TlRZeU5TQXdJREUwTGpneU5ESXhPUzB4TVM0eE9URTBNRFlnTWpRdU1UazVNakU1TFRJNUxqSXpPREk0TVNBeU5DNHhPVGt5TVRsNmJTMHlNQzR5TnpNME16Y3ROekV1TURFMU5qSTFkakl4TGpVd016a3dObWd4TXk0ek1EQTNPREZqT1M0MU5UQTNPREVnTUNBeE5DNDNOalUyTWpVdE15NDVNalUzT0RFZ01UUXVOelkxTmpJMUxURXdMamN5TWpZMU5pQXdMVFl1TnpNNE1qZ3hMVFF1T0RZek1qZ3lMVEV3TGpjNE1USTFMVEV6TGpNd01EYzRNaTB4TUM0M09ERXlOWHB0TUNBMU55NDBPREEwTmpsb01UVXVOell4TnpFNFl6RXdMakU1TlRNeE15QXdJREUxTGpjd016RXlOUzAwTGpJM056TTBOQ0F4TlM0M01ETXhNalV0TVRJdU1UZzNOU0F3TFRjdU56TTBNemMxTFRVdU5qZ3pOVGt6TFRFeExqZ3pOVGt6T0MweE5pNHhNVE15T0RFdE1URXVPRE0xT1RNNGFDMHhOUzR6TlRFMU5qSjZiVGcwTGpRek16VTVNeTB5TXk0eE5EUTFNekoyTFRFekxqRTRNelU1TTJneE1DNHpNVEkxWXpndU1ESTNNelEwSURBZ01UTXVORGMyTlRZekxUUXVOamczTlNBeE15NDBOelkxTmpNdE1URXVOakF4TlRZeklEQXROaTQzT1RZNE56VXROUzR5TnpNME16Z3RNVEV1TVRNeU9ERXlMVEV6TGpVek5URTFOaTB4TVM0eE16STRNVEl0T0M0eU1ETXhNallnTUMweE15NDJOVEl6TkRRZ05DNDJNamc1TURZdE1UUXVNVEl4TURrMElERXhMamsxTXpFeU5XZ3RNVFl1TXpRM05qVTJZeTQxT0RVNU16Y3RNVFV1T1RrMk1EazBJREV5TGpRNE1EUTJPQzB5Tmk0d056UXlNVGtnTXpBdU9UTTNOUzB5Tmk0d056UXlNVGtnTVRjdU16UXpOelVnTUNBeU9TNDRNalF5TVRnZ09TNDBPVEl4T0RnZ01qa3VPREkwTWpFNElESXlMamM1TWprMk9TQXdJRGt1TnpnMU1UVTJMVFl1TVRVeU16UTBJREUzTGpRd01qTTBNeTB4TlM0MU9EVTVNemNnTVRrdU16TTFPVE0zZGpFdU1EVTBOamc0WXpFeExqWXdNVFUyTWlBeExqSTRPVEEyTWlBeE9DNDROamN4T0RjZ09TNHdNak0wTXpjZ01UZ3VPRFkzTVRnM0lESXdMakUxTmpJMUlEQWdNVFF1T0RJME1qRTRMVEV6TGprME5UTXhNaUF5TlM0MU5EWTROelV0TXpNdU1qSXlOalUySURJMUxqVTBOamczTlMweE9DNDROamN4T0RnZ01DMHpNUzQyTkRBMk1qVXRNVEF1TkRJNU5qZzRMVE15TGpRd01qTTBOQzB5Tmk0ek5qY3hPRGhvTVRZdU9UTXpOVGswWXk0MU1qY3pORFFnTnk0eE5EZzBNemdnTmk0MU5qSTFJREV4TGpZMk1ERTFOeUF4TlM0Mk5EUTFNekVnTVRFdU5qWXdNVFUzSURndU9EUTNOalUzSURBZ01UVXROQzQ1T0RBME5qa2dNVFV0TVRJdU1UZzNOU0F3TFRjdU16Z3lPREV6TFRVdU9EQXdOemd4TFRFeExqazFNekV5TmkweE5TNHlPVEk1TmprdE1URXVPVFV6TVRJMmVpSWdabWxzYkQwaUkyWm1aaUl2UGp3dlp6NDhMM04yWno0PSJ9LGZ1bmN0aW9uKGUsdCl7ZS5leHBvcnRzPSJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUJvWldsbmFIUTlJak0xTlNJZ2RtbGxkMEp2ZUQwaU1DQXdJRE01TnlBek5UVWlJSGRwWkhSb1BTSXpPVGNpSUhodGJHNXpQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh5TURBd0wzTjJaeUkrUEdjZ1ptbHNiRDBpYm05dVpTSWdabWxzYkMxeWRXeGxQU0psZG1WdWIyUmtJaUIwY21GdWMyWnZjbTA5SW5SeVlXNXpiR0YwWlNndE1TQXRNU2tpUGp4d1lYUm9JR1E5SW0weE1UUXVOakl5TmpRMElETXlOeTR4T1RVME56SWdOVEl1TURBME56RTNJREV6TGpneE1ERTVPSFl0TVRndU1EVTVORGxzTkM0eU5EVXlPRE10TkM0eU5Ea3lPVEpvTWprdU56RTJPVGd5ZGpJeExqSTBOalExT1NBeE5DNDROekkxTWpOb0xUTXhMamd6T1RZeU5Hd3RNemt1TWpZNE9EWTRMVEUyTGprNU56RTJPWG9pSUdacGJHdzlJaU5qWkdKa1lqSWlMejQ4Y0dGMGFDQmtQU0p0TVRrNUxqVXlPRE13TlNBek1qY3VNVGsxTkRjeUlEVXdMamswTXpNNU55QXhNeTQ0TVRBeE9UaDJMVEU0TGpBMU9UUTViRFF1TWpRMU1qZ3pMVFF1TWpRNU1qa3lhREk1TGpjeE5qazRNWFl5TVM0eU5EWTBOVGtnTVRRdU9EY3lOVEl6YUMwek1TNDRNemsyTWpOc0xUTTVMakkyT0RnMk9DMHhOaTQ1T1RjeE5qbDZJaUJtYVd4c1BTSWpZMlJpWkdJeUlpQjBjbUZ1YzJadmNtMDlJbTFoZEhKcGVDZ3RNU0F3SURBZ01TQTBPRE11T1RZeU1qY2dNQ2tpTHo0OGNHRjBhQ0JrUFNKdE1UY3dMamczTWpZME5DQXlPRGN1T0RnNU5USXpMVFF1TWpRMU1qZ3pJRE0xTGpBMU5qWTFOeUExTGpNd05qWXdOQzAwTGpJME9USTVNbWcxTlM0eE9EZzJPR3cyTGpNMk56a3lOU0EwTGpJME9USTVNaTAwTGpJME5USTROQzB6TlM0d05UWTJOVGN0T0M0ME9UQTFOalV0TlM0ek1URTJNVFV0TkRJdU5EVXlPRE15SURFdU1EWXlNekl6ZWlJZ1ptbHNiRDBpSXpNNU16a3pPU0l2UGp4d1lYUm9JR1E5SW0weE5ESXVNakUyT1RnMElEVXdMams1TVRVd01qSWdNalV1TkRjeE5qazRJRFU1TGpRNU1EQTROVGdnTVRFdU5qYzBOVEk0SURFM015NHhOVGcyTkROb05ERXVNemt4TlRFeGJERXlMamN6TlRnME9TMHhOek11TVRVNE5qUXpJREl6TGpNME9UQTFOaTAxT1M0ME9UQXdPRFU0ZWlJZ1ptbHNiRDBpSTJZNE9XTXpOU0l2UGp4d1lYUm9JR1E5SW0wek1DNDNOemd6TURJeklERTRNUzQyTlRjeU1qWXRNamt1TnpFMk9UZ3hOVE1nT0RZdU1EUTRNVFl4SURjMExqSTVNalExTXprekxUUXVNalE1TWpremFEUTNMamMxT1RRek5ETjJMVE0zTGpFNE1UTXdNMnd0TWk0eE1qSTJOREV0TnpZdU5EZzNNalV6TFRFd0xqWXhNekl3T0NBNExqUTVPRFU0TTNvaUlHWnBiR3c5SWlObU9EbGtNelVpTHo0OGNHRjBhQ0JrUFNKdE9EY3VNREk0TXpBek1pQXhPVEV1TWpFNE1UTTBJRGczTGpBeU9ETXdNamdnTWk0eE1qUTJORFl0T1M0MU5URTRPRFlnTkRRdU5qRTNOVFl6TFRReExqTTVNVFV4TVMweE1DNDJNak15TWpsNklpQm1hV3hzUFNJalpEZzNZek13SWk4K1BIQmhkR2dnWkQwaWJUZzNMakF5T0RNd016SWdNVGt5TGpJNE1EUTFOeUF6Tmk0d09EUTVNRFU0SURNekxqazVORE16TkhZek15NDVPVFF6TXpSNklpQm1hV3hzUFNJalpXRTRaRE5oSWk4K1BIQmhkR2dnWkQwaWJURXlNeTR4TVRNeU1Ea2dNakkzTGpNek56RXhOQ0EwTWk0ME5USTRNekVnTVRBdU5qSXpNakk1SURFekxqYzVOekUzSURRMUxqWTNPVGc0T0MwNUxqVTFNVGc0TmlBMUxqTXhNVFl4TlMwME5pNDJPVGd4TVRVdE1qY3VOakl3TXprNGVpSWdabWxzYkQwaUkyWTRPV1F6TlNJdlBqeHdZWFJvSUdROUltMHhNak11TVRFek1qQTVJREkyTVM0ek16RTBORGd0T0M0ME9UQTFOalVnTmpVdU9EWTBNREkwSURVMkxqSTFMVE01TGpNd05UazBPWG9pSUdacGJHdzlJaU5sWWpobU16VWlMejQ4Y0dGMGFDQmtQU0p0TVRjMExqQTFOall3TmlBeE9UTXVNelF5TnpnZ05TNHpNRFkyTURRZ09UQXVNamszTkRVeExURTFMamt4T1RneE1pMDBOaTR5TVRFd05EbDZJaUJtYVd4c1BTSWpaV0U0WlROaElpOCtQSEJoZEdnZ1pEMGliVGMwTGpJNU1qUTFNemtnTWpZeUxqTTVNemMzTVNBME9DNDRNakEzTlRVeExURXVNRFl5TXpJekxUZ3VORGt3TlRZMUlEWTFMamcyTkRBeU5Ib2lJR1pwYkd3OUlpTmtPRGRqTXpBaUx6NDhjR0YwYUNCa1BTSnRNalF1TkRFd016YzNOeUF6TlRVdU9EYzRNVGt6SURrd0xqSXhNakkyTmpNdE1qZ3VOamd5TnpJeExUUXdMak16TURFNU1ERXROalF1T0RBeE56QXhMVGN6TGpJek1URXpNekV6SURVdU16RXhOakUyZWlJZ1ptbHNiRDBpSTJWaU9HWXpOU0l2UGp4d1lYUm9JR1E5SW0weE5qY3VOamc0TmpneUlERXhNQzQwT0RFMU9EZ3RORFV1TmpNMk56a3pJRE00TGpJME16WXlOeTB6TlM0d01qTTFPRFU0SURReUxqUTVNamt4T1NBNE55NHdNamd6TURJNElETXVNVGcyT1RZNWVpSWdabWxzYkQwaUkyVTRPREl4WlNJdlBqeHdZWFJvSUdROUltMHhNVFF1TmpJeU5qUTBJRE15Tnk0eE9UVTBOeklnTlRZdU1qVXRNemt1TXpBMU9UUTVMVFF1TWpRMU1qZ3pJRE16TGprNU5ETXpOSFl4T1M0eE1qRTRNVE5zTFRNNExqSXdOelUwT0MwM0xqUXpOakkyZWlJZ1ptbHNiRDBpSTJSbVkyVmpNeUl2UGp4d1lYUm9JR1E5SW0weU1qa3VNalExTWpnMklETXlOeTR4T1RVME56SWdOVFV1TVRnNE5qZ3RNemt1TXpBMU9UUTVMVFF1TWpRMU1qZ3pJRE16TGprNU5ETXpOSFl4T1M0eE1qRTRNVE5zTFRNNExqSXdOelUwT0MwM0xqUXpOakkyZWlJZ1ptbHNiRDBpSTJSbVkyVmpNeUlnZEhKaGJuTm1iM0p0UFNKdFlYUnlhWGdvTFRFZ01DQXdJREVnTlRFekxqWTNPVEkxTWlBd0tTSXZQanh3WVhSb0lHUTlJbTB4TXpJdU5qWTFNRGsySURJeE1pNDBOalExT1RNdE1URXVOamMwTlRJNElESTBMalF6TXpReU55QTBNUzR6T1RFMU1TMHhNQzQyTWpNeU1qbDZJaUJtYVd4c1BTSWpNemt6T1RNNUlpQjBjbUZ1YzJadmNtMDlJbTFoZEhKcGVDZ3RNU0F3SURBZ01TQXlPRE11TXpjeU5qUTJJREFwSWk4K1BIQmhkR2dnWkQwaWJUSXpMak0wT1RBMU55QXhMakEyTWpNeU1qazJJREUwTkM0ek16azJNalVnTVRBNUxqUXhPVEkyTlRBMExUSTBMalF4TURNM09DMDFPUzQwT1RBd09EVTRlaUlnWm1sc2JEMGlJMlU0T0dZek5TSXZQanh3WVhSb0lHUTlJbTB5TXk0ek5Ea3dOVGNnTVM0d05qSXpNakk1TmkweE9TNHhNRE0zTnpNNU1pQTFPQzQwTWpjM05qSTVOQ0F4TUM0Mk1UTXlNRGMzTWlBMk15NDNNemt6TnpneExUY3VOREk1TWpRMU5ERWdOQzR5TkRreU9USWdNVEF1TmpFek1qQTNOekVnT1M0MU5qQTVNRFl0T0M0ME9UQTFOall4TnlBM0xqUXpOakkyTVNBeE1TNDJOelExTWpnME55QXhNQzQyTWpNeU1qa3ROeTQwTWpreU5EVTBJRFl1TXpjek9UTTRJREUyTGprNE1URXpNak1nTWpFdU1qUTJORFU1SURjNUxqVTVPVEExTnpjdE1qUXVORE16TkRJNFl6TTRMamt4TlRBNU5pMHpNUzR4TmpFME56TWdOVGd1TURFNE9EWTVMVFEzTGpBNU5qTXhPQ0ExTnk0ek1URXpNakl0TkRjdU9EQTBOVE16TFM0M01EYzFORGd0TGpjd09ESXhOUzAwT0M0NE1qQTNOVFl0TXpjdU1UZ3hNekF6TmkweE5EUXVNek01TmpJMUxURXdPUzQwTVRreU5qVXdOSG9pSUdacGJHdzlJaU00WlRWaE16QWlMejQ4WnlCMGNtRnVjMlp2Y20wOUltMWhkSEpwZUNndE1TQXdJREFnTVNBek9Ua3VNRFUyTmpFeElEQXBJajQ4Y0dGMGFDQmtQU0p0TXpBdU56YzRNekF5TXlBeE9ERXVOalUzTWpJMkxUSTVMamN4TmprNE1UVXpJRGcyTGpBME9ERTJNU0EzTkM0eU9USTBOVE01TXkwMExqSTBPVEk1TTJnME55NDNOVGswTXpRemRpMHpOeTR4T0RFek1ETnNMVEl1TVRJeU5qUXhMVGMyTGpRNE56STFNeTB4TUM0Mk1UTXlNRGdnT0M0ME9UZzFPRE42SWlCbWFXeHNQU0lqWmpnNVpETTFJaTgrUEhCaGRHZ2daRDBpYlRnM0xqQXlPRE13TXpJZ01Ua3hMakl4T0RFek5DQTROeTR3TWpnek1ESTRJREl1TVRJME5qUTJMVGt1TlRVeE9EZzJJRFEwTGpZeE56VTJNeTAwTVM0ek9URTFNVEV0TVRBdU5qSXpNakk1ZWlJZ1ptbHNiRDBpSTJRNE4yTXpNQ0l2UGp4d1lYUm9JR1E5SW0wNE55NHdNamd6TURNeUlERTVNaTR5T0RBME5UY2dNell1TURnME9UQTFPQ0F6TXk0NU9UUXpNelIyTXpNdU9UazBNek0wZWlJZ1ptbHNiRDBpSTJWaE9HUXpZU0l2UGp4d1lYUm9JR1E5SW0weE1qTXVNVEV6TWpBNUlESXlOeTR6TXpjeE1UUWdOREl1TkRVeU9ETXhJREV3TGpZeU16SXlPU0F4TXk0M09UY3hOeUEwTlM0Mk56azRPRGd0T1M0MU5URTRPRFlnTlM0ek1URTJNVFV0TkRZdU5qazRNVEUxTFRJM0xqWXlNRE01T0hvaUlHWnBiR3c5SWlObU9EbGtNelVpTHo0OGNHRjBhQ0JrUFNKdE1USXpMakV4TXpJd09TQXlOakV1TXpNeE5EUTRMVGd1TkRrd05UWTFJRFkxTGpnMk5EQXlOQ0ExTlM0eE9EZzJPQzB6T0M0eU5ETTJNalo2SWlCbWFXeHNQU0lqWldJNFpqTTFJaTgrUEhCaGRHZ2daRDBpYlRFM05DNHdOVFkyTURZZ01Ua3pMak0wTWpjNElEVXVNekEyTmpBMElEa3dMakk1TnpRMU1TMHhOUzQ1TVRrNE1USXRORFl1TWpFeE1EUTVlaUlnWm1sc2JEMGlJMlZoT0dVellTSXZQanh3WVhSb0lHUTlJbTAzTkM0eU9USTBOVE01SURJMk1pNHpPVE0zTnpFZ05EZ3VPREl3TnpVMU1TMHhMakEyTWpNeU15MDRMalE1TURVMk5TQTJOUzQ0TmpRd01qUjZJaUJtYVd4c1BTSWpaRGczWXpNd0lpOCtQSEJoZEdnZ1pEMGliVEkwTGpReE1ETTNOemNnTXpVMUxqZzNPREU1TXlBNU1DNHlNVEl5TmpZekxUSTRMalk0TWpjeU1TMDBNQzR6TXpBeE9UQXhMVFkwTGpnd01UY3dNUzAzTXk0eU16RXhNek14TXlBMUxqTXhNVFl4Tm5vaUlHWnBiR3c5SWlObFlqaG1NelVpTHo0OGNHRjBhQ0JrUFNKdE1UWTNMalk0T0RZNE1pQXhNVEF1TkRneE5UZzRMVFExTGpZek5qYzVNeUF6T0M0eU5ETTJNamN0TXpVdU1ESXpOVGcxT0NBME1pNDBPVEk1TVRrZ09EY3VNREk0TXpBeU9DQXpMakU0TmprMk9Yb2lJR1pwYkd3OUlpTmxPRGd5TVdVaUx6NDhjR0YwYUNCa1BTSnRNVE15TGpZMk5UQTVOaUF5TVRJdU5EWTBOVGt6TFRFeExqWTNORFV5T0NBeU5DNDBNek0wTWpjZ05ERXVNemt4TlRFdE1UQXVOakl6TWpJNWVpSWdabWxzYkQwaUl6TTVNemt6T1NJZ2RISmhibk5tYjNKdFBTSnRZWFJ5YVhnb0xURWdNQ0F3SURFZ01qZ3pMak0zTWpZME5pQXdLU0l2UGp4d1lYUm9JR1E5SW0weU15NHpORGt3TlRjZ01TNHdOakl6TWpJNU5pQXhORFF1TXpNNU5qSTFJREV3T1M0ME1Ua3lOalV3TkMweU5DNDBNVEF6TnpndE5Ua3VORGt3TURnMU9Ib2lJR1pwYkd3OUlpTmxPRGhtTXpVaUx6NDhjR0YwYUNCa1BTSnRNak11TXpRNU1EVTNJREV1TURZeU16SXlPVFl0TVRrdU1UQXpOemN6T1RJZ05UZ3VOREkzTnpZeU9UUWdNVEF1TmpFek1qQTNOeklnTmpNdU56TTVNemM0TVMwM0xqUXlPVEkwTlRReElEUXVNalE1TWpreUlERXdMall4TXpJd056Y3hJRGt1TlRZd09UQTJMVGd1TkRrd05UWTJNVGNnTnk0ME16WXlOakVnTVRFdU5qYzBOVEk0TkRjZ01UQXVOakl6TWpJNUxUY3VOREk1TWpRMU5DQTJMak0zTXprek9DQXhOaTQ1T0RFeE16SXpJREl4TGpJME5qUTFPU0EzT1M0MU9Ua3dOVGMzTFRJMExqUXpNelF5T0dNek9DNDVNVFV3T1RZdE16RXVNVFl4TkRjeklEVTRMakF4T0RnMk9TMDBOeTR3T1RZek1UZ2dOVGN1TXpFeE16SXlMVFEzTGpnd05EVXpNeTB1TnpBM05UUTRMUzQzTURneU1UVXRORGd1T0RJd056VTJMVE0zTGpFNE1UTXdNell0TVRRMExqTXpPVFl5TlMweE1Ea3VOREU1TWpZMU1EUjZJaUJtYVd4c1BTSWpPR1UxWVRNd0lpOCtQQzluUGp3dlp6NDhMM04yWno0PSJ9LGZ1bmN0aW9uKGUsdCl7ZS5leHBvcnRzPSJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUJwWkQwaVRHRjVaWEpmTVNJZ1pHRjBZUzF1WVcxbFBTSk1ZWGxsY2lBeElpQjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0EwTkRBZ05EUXdJajQ4WkdWbWN6NDhjM1I1YkdVK0xtTnNjeTB4ZTJacGJHdzZJekF3T0dNM016dDlQQzl6ZEhsc1pUNDhMMlJsWm5NK1BIUnBkR3hsUG5OaGJuTmZkMmhwZEdVZ1kyOXdlVHd2ZEdsMGJHVStQSEJoZEdnZ1kyeGhjM005SW1Oc2N5MHhJaUJrUFNKTk1qSXdMRGt1T0RKRE1UQXpMamt5TERrdU9ESXNPUzQ0TWl3eE1ETXVPVElzT1M0NE1pd3lNakJUTVRBekxqa3lMRFF6TUM0eE9Dd3lNakFzTkRNd0xqRTRMRFF6TUM0eE9Dd3pNell1TURnc05ETXdMakU0TERJeU1Dd3pNell1TURnc09TNDRNaXd5TWpBc09TNDRNbHBOTXpjekxqZ3pMREl6TVM0ME4wZ3lOell1TTJFMU9TNDBNU3cxT1M0ME1Td3dMREVzTVN3dU5EVXRNakF1Tmpkb09UY3VNRGhoTVRBdU16UXNNVEF1TXpRc01Dd3hMREVzTUN3eU1DNDJOMW9pTHo0OEwzTjJaejQ9In0sZnVuY3Rpb24oZSx0KXtlLmV4cG9ydHM9ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBZ0FBQUFJQUNBTUFBQUREcGlUSUFBQUMvVkJNVkVVQUFBQ0xQK1J6TXI1YktwT1ZRdlpRSklDVlF2ZGVLNWhSSllSVEpvWmhMSnhESDIybVhmcW5YdnBxTWF0c01xMVNKb1JDSG1vNUdseDZPOEpaS1pCS0luZGVLNWlOUU9lU1JPNklQT0NET3RtWFJmZENIbXgrTjlGeU1yMTZOY3AyTThSZEs1ZVlTUFNkVVBjMEYxTm9McXhmTEpwdU1MVmdMSnVlVVBaREgyMmFTL1ZWSjRxbFcvcG9MNmlZU1BaVUo0bGFLWkpwTUtveUZsR2tXZm95RmxGVUo0Z3pGMU5VSm9obkw2WTBGMU5oTEoxcU1hcWNUL2FqVi9rM0dGaFpLSkJmSzV1bVhQcWxXdnFXUnZPZVVmZWxXL3FZU1BWcE1LcVpTdlpsTHFSYktaUm9NS2gvT05ObDJwbUNPZGFET3RtR1BONStOOUY1TmNtTlFPaDhOczU0Tk1lTVArVjNOTVdLUHVOek1yNWRLcGFJUE9DRk85eFVKNGlKUGVGOU44K1JRK3lCT05WV0tJeFZKNHFET2RpUFFlbDJNOFJ4TWJ5Rk90dFpLWkNRUXV1U1JPMW9NS2QxTThLVFFmUjBNc0I2TmNxVFJlNTdOc3g3TmN0d01icG5McXBhS1pKZks1dGJLcFZZS0k5aUxaOVhLSTFrTEtWaEs1K0xQdVE2R2w1a0xxR1VRZlZtTGFob0xxMVRKb2RSSllJNUdscytIR00zR1Zsc0w3TmJLWk5pTEtGdE1MVmhMWjJIUE9CRklIQklJWFNXUi9HUlFPOWRLcG1PUCt0Z0xKdGdLNTFxTDY5ckw3RkFIV2RsTEthZlV2ZVBQK3lTUWZLU1FQRmZMSm1aU3ZTYVRQVnBNS284RzJGaks2T1ZRdmRtTDZST0pIMUVIMjFCSG1vMkdWZWNUdmFnVlBpTFB1VkRIbXVVUmU5U0pvVktJbmRQSklCTkkzdG5MNlZrTHFLaVZ2bHJNYXhpSzZLZFVQWS9IV1dYU2ZKc01iQi9PZEY4Tjg2S1BlUnFNYXlqV1BrMUdGVkhJSEpMSW5pbFd2b3pGMUp2TWJodU1MYW1YUHA2T01seE5MbHZNN2FCT3RPTlB1bVFRT3lNUGVkdk1iZE1JM3BsTDZVMEdGUjlPTXgwTmIyTVArZVFQKzQwRjFObExxTm9NS2w0TjhVeUZsQjNOc051TTdOMk5zRjFOcjk4T011SlBPT1JRTzU1TjhacExxNXlOTHByTWE1ek5MeUlQT0puTGFwdU03UjVPTWR3TXJwbDA1dHNrYXRwZktocGFxbHFWYTFteXAxMFg3MW13cDVudXA5cHA2Tm5zS0ZwbmFWcFFxdDRTc1Z5UWJ5OWtnV05BQUFBVFhSU1RsTUFGaGdwK2Z4UzZDWGxpMEdrbmg3ZWlJYURDWXVINTlYVTF0WlBQdGZZMTlkcnR6N2kyRmZZTlNZVlovREx3NTNFdDZTZmsvWFp4SjZHWVVYeGlsWXc1OVIxOE83czROelZmL3Z4NVU5VDhyc0FBQjNaU1VSQlZIamE3Tml4allNd0dJWmhLOWU1T0FvbW9FR3VYTGl6NGdGUWRLdGtnbFFza0NVb1BJRVJMWFBraHJtZituUW5RaFBGLy91czhMMGcyd1lBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQWdOZHFYUitEYjlJMFRha1p2TzNPSndNdFhQVHBlek1Kc2E3cnNpeE42SWxBQVJlL3JwdmZCWWpRdHdZVmE3dmhLdjRxUUtUd1lWQ3B0dHMrL3Y4TEVNRVoxS2pmNXQ5VHdCSStEV3JqZkNsbGJ3R3BNNmhMdkpTeXV3RGgrUW5VNU9TTGVLcUExQnZVNHB4eWViSUFFYmdTVnFLNzVIeWtBTS9EVUJWaUZvY0tHQ2lnQXJMLzRRSWFqb0p2eno0eUJTaG01d2NGS0dibm1RSVVrLzBwUURFN3poU2dtQjFIQ2xCTTlxY0F4V1IvQ2xCTTlxY0F4V1IvQ2xETTNtNFVvSmpzVHdHS3lmNFVvSmpzVHdHS3lmNFVvSmk5MzE5ZXdBODc5Ky9TVmhSQWNmd0Z4RUVpRlBJMnQ3d3BoT0NTTlE1dGJjZ3VCQkdFaCtKZ0hnVGVFaFJCS0RnRk9rVGlaUHcxZEdwRG5BcVNxVU1HVVVLbTR0WTRsVUwvaDU3Ym1sNG9wU1RoSlFmTU9mL0M5OE43M09IZW1MZFN5QzdHay9GNE5wZjJVbzQydmFFL1Y0QlhTSzZlbm40MCsyVDJHY3RrVjJLT05vMmhQMUZBWW1sNTllWVUrMXRBcDlQSnBHVmc4a04vbm9CWWJ2VUcrN2NBN0RidU9kcEVoLzQwQWFubEQ5ai9CSUJBWnNYUkpyZUZrM2NzQWFuazFkWFZFQUp1MzRqQXBJYitKeVFCaVJ6eUR5bmdOcU5Ud1dTRy9pUUJYdjd5Y21nQjJFdEh3Nkx2VHhLUWExOWlRd3ZRUjJBaVEzK09nRml5RFFBakNuaTE1R2pSOXI4NDRRaEk1ZHZZYUFMMEczQ2k3My9CRWVDOXJ0WEdFNUIxdENqN2N3UXN0V3JZZUFJV0hTMjYvaHdCcHYvNEF1S09GbFYvam9CMDJKSUEvaFkyTGpnQyt1Z3ZBZlF0Ykd4d0JQU0RzQ1VCOUtFL1J3RDZoeEpBSC9wekJKaitFa0FmK25NRW1QNFNRSitMOGhRQmZUOE1KWUErOU9jSTZQdEJJQUgwb1Q5SGdPa3ZBZlM1ZTNzY0FZL29Md0gwb1Q5SGdPa3ZBZlM1MVQyT2dNZFNFRWdBZlc2MXloSHdXUEo5Q2FEUHJWUTVBa3gvQ2FEUHJWUTRBa3gvQ2FBUC9Ua0N2dXo0dmdUUWgvNGNBYWEvQk5DSC9od0Jwdi9ZQWpBSmlLYi9ib1VpQVAxTHZnVFE1Kzd1Y2dTZ2Ywa0M2RU4vamdEVFh3TG9RMytPZ08vb0x3SDBvVDlIZ09uUEVwRHcwb1gwdkc0VFl1NytQa1VBK2dNQVIwQnFlZTd0citYVHpxd1AvVGtDdnEzdHNBUVU1c3JsOG04QjcvTXovc0tNZTdEUEVXRDZjd1Fra3NodkJjek45SjFpOStDQUkrQ3BQd1RZVFVVQStwK1ZKY0QyNXdpNFEzK09BUFEvazRCQi82MHRqb0M3SWdBd0JLRC8rYmtFMlA0Y0FlaS9SaEtBL2hKZyszTUVtUDRrQWUzall3bXcvVGtDVEgrT2dBNzZTOERUWG14dmNRU1kvaVFCNkM4QmYvcHZjd1NZL2lRQnRZY0hDYkQ5T1FKTWY0WUFyTlo0a0FEYm55UGdIdjA1QXRDL0lRRzJQMFVBK2hkWkFscU5oZ1FNK205dWNnVGNIeFpaQWxyMWhnVFkvaHdCcGo5SlFGaXZTNER0enhGd3Y0NzRIQUZodHk0QnRqOUhnT25QRVlEK1hRbXcvVGtDZnFBL1NVRFE3VXJBb1AvUkVVVUEramVMSkFGQnJ6ZWFnSG5uMlE3OU9RSytyaDhla2dUNHZaNEVEUHBmWDNNRW1QNGtBWDZ6SndHMlAwZUE2VThTVUdvMkplQW5lL2V2MGxZWXhuRThoZDZBUTZGejF3NjlpYTZIazZNaEppRWhwNEVURFdMUXFrVVFLbDJjS2xFSzdRVzQ2RktwaW5UUktDZ29RZ2N0WFhRb0tFSng2QzMwOTBKUFhncnRhTC92OER5WDhQdCt5SCtJNzg4SStONFVBRVpBKytEQUJQaitqQUQxcjBJQzFOOEU1UDJYUGpFQ1hIOUlRUHZtd0FRTStpOHhBbHgvU0VEcDVzWUUrUDZNQU5jZkVsQzZ1ek1Cdmo4allLK3U4b3lBVXIxdUFueC9SSUQ2TjV2M0xrRDNGd0dqdmJvSjhQMFpBYTQvSTBEOWV5YkE5MmNFdVA2UWdNV2tad0x5L3R0TGpJQzlSUEVaQWRVa01RR0QvdHVNZ0I5SnZRa0pVSDhUNFBzekF0Uy9EZ21vTmhvbXdQZG5CTGora0lCbXAyRUNmSDlHd0dmMUp3VG9tcDJPQ2NqN3I2OHpBbHgvUnNETGVyRm9BbngvUnNCaFE3TWpBbHgvRS9EN0hpay9JdUJRMjBNQ2txeG9BbngvUm9EckR3bEk0c3dFK1A2TUFOZWZFYUQrc1FuSSsrL3NNQUxXT2trQ0NXakVzUW53L1JrQnJqOGhRTmRvdFV5QTc4OEljUDBoQVowb01nRytQeU5nVFpQL0thRDNud1M4S0VhUkNjajdYK3d3QWw0Vk5UZ2l3UFUzQVlQK0Y0eUFLL1ZIQktqL2NHUUNmSDlHd0pYMlpnU28vN0FKeVBzZlh6QUNYSDlJUUpZT200QkIvMk5Hd0dTbXJSRUJFMW1hbWdEZm54RXdxYmtaQVJOeHYyOENmSDlHZ092UENIRDlUVURlZjJ1TEVlRDZNd0ltV2pOOUUrRDdNd0sreHBvWkVLRDdNanRqQW54L1JvRHJ6d2hvUjlPekpzRDNSd1NvZjFaa0JLai90QW5JKzY5dU1RTFVQMk1FdFBkSFJrekFvUDhxSStCU0V6TUNYSDhUNFBzekFpNWJjWVlJVVA5eTJRVDQvb3dBOVk4aEFlcHZBbngvUm9Ecnp3Z29wWldLQ2ZEOUdRR3VQeU9nMUs5VVRJRHZ6d2pZamVJWUVhRCtZMk1tSU85L2RNUUkySTFhTVNQQTlROUZBUDd2OCtyUENGRC9GaVRnVzdjYmpJRG5Ed3JvcVQ4ajRJMldoUVJjZDdzQkNYaFdJTy9SeWhFajRLMTJoUVJjVDAyRkpPQWgrQkNnL2l1SUFQV1BLQUhxSDVhQXB3WHNodFFmRWJDd0gwRUNSczlxdGNBRWNNOEI2czhJY1AwWkFhTWp0VnBvQWg0WG9GTi9Sc0NDWm1VRXVQN0JDYUFBcUQ4andQVW5CT2h1eDhmREUvQ2tnSno2TXdKY2YwaUErZ2NvZ0hrTk1MU3h3UWh3L1NFQjVaL2pJUXBBM2dXb1B5UGdkYW85RVFFZnkzTnpJUXBBUGdkUWYwYkFCdzE2bndKMC94Q3dXRG1aQzFJQThReWcvb3lBOTMydHlRaTRQVGtKVWdEeFhZRDZNd0pjZjBqQTJmbDVrQUtJYndPSE5qY1pBYTQvSkNBOVBRMVN3RHZnOXdEcXp3aVk3MnRKUmtDOGZCcWtBS2cvSTBEOVUwaEFjcjRjcEFDb1B5TmdmaVpOSVFIVjJ2SXY2dTZtSmFvb2p1TjRyYU5GOWhKcVU5QXVDSUlLQ3RwMU02YW1hWG93ZTlDWnRHRWF0U2h5Q3JUTXFkbElrRFp1bE55a1VkRkNSbTJSUXBqdUpLSkYwQk5oQzhtNU05Nlo4WkYrZHhPRTV6NmVlOC8velA4dGZEK2NlK2Q0dkNkdEtlQjdNYTh1bGt0YVRpc3RMYXZGVlFFQ2ZsSDBmLzZTUkFENm56aEJKV0E2bGJJUXNGWll6Q24vVDBrdFR2c3NRUHdlTVBvL3B4SHdHUDJwQkZTblV1WUNpcWpQR2sxZDlWTkE3OVRtRFlJSC9Xa0VQRzVHZmlJQk5mTXBVd0dGc21JOHk2dStDZWlkbWhJdEFQMXBCT2o5eVFUODdPa3hFYkN3cEppUE91MlBBUFFYTFFEOWFRUTh2b2IwVkFLT3BYcU1CZnhXRmN2UmluNElHSG4vWHJTQUxVK2Zrd2hBLzZZbU9nRmZ1M3NNQlN5VUZEdWpUbnN1QVAwRkMwRC9welFDOVA1MEFxTGQzWVlDQ2puRjNwUlhQUll3TWo0dVdnRDYwd2c0SFVCK09nSHhia01CZWNYMmFFVlBCYUMvYUFIb1R5SUEvWnViQ1FWRVoyZU5CS0MvL2NsNUtXQm9lRnkwQVBTbkVhRDNweFFRbWpVU2dQNUVBdnFIaDBVTFFIOGFBYWV4cDA0cDRGaDN1NEdBZ3VKd05LL2VBOUJmdElBdG8wOXBCTnhFZndqUWgwWkFVM3M3VzhCQ1RuRTZaVTkrQzN6dWYvRkNzQUQwSDZVUmNETUlBS1FDNXR2WkFyNlZGT2VqZXJFZmdQNmlCYUEvalFEMEQ5QUtpRjV2Wnd0WVZ0eE1rVjlBWCs4TDBRTFFuMGJBUS9RbkZoQzR6aFpRVUZ5TnhyMHJQTmJiSzFyQWxnZWpOQUwwL3RRQzBuTk1BWGdBdUJ1MWlVOEErZ3NXZ1A0UGFBVGNRSDlxQWRHNU9hYUF2T0p5Y3F0Y0FzWkdla1VMUUg4YUFUZEN3UUM1Z0U5dFRBRnZOY1h0cUJ6bkE5Qi9STFFBOUtjUmdQNUJlZ0h4TnFhQWd1SjZjaHduUkxxR1JrUUxxRUo3RWdGWDBGOENBVDF0VEFGbHhmM2tYWjhTNnhvYUVpMEEvV2tFNlAwbEVCQkZmNGFBRllWalNtN1BDYUsvYUFIb1R5UGdTbjB3S0lPQTgyMU1BWG1GWjRydXpnb24rdnRGQzZoNjlvQkd3QzJjcjVkQ1FERERGRkRtQXFDNk9pMk8vb0lGb1A4ekdnRjZmemtFaERNc0FTc0sxeXhkY3lFZzBkY3ZXZ0Q2MHdpNEZRdUZKQkdRenJBRUZQZ0E1UDQ0RjVEbzZ4TXRBUDFwQk9qOVpSRXdtMkVKVUJXK0tRYWNDbWhFZjhFQzBKOUd3RzM4ajUwMEF0b3lMQUdMbkFEeUFZY0Nhc2Y2UkF0QWZ4b0JlbjlwQkp4dHpiQUVsRGtCcUFGSEF0Qi9UTFNBcXJ0M2FRVG8vZVVSY0xtVktTREhDV0E1NEVUQTJZYXVNZEVDMEo5R3dPMTRmYjFFQWk2ME1nVW9uTE1ZZENBZ1d0ZlZKVm9BK3BNSVFQOVlUQ1lCUndaWUF0N3hBbGdLT2hDQS9xSUZvRCtOZ0l2b0w1V0FJd01zQVN1OEFNcEIrd0xxWG5XSkZvRCtOQUwwL25JSkFBQ0dnQy84SzRCZEFlai9TclFBOUtjUm9QZVhUTURSQWFZQTduZUFrRTBCbDQ4blhva1dnUDQwQWk2RjR6SFpCRndlWUFySWNRT3dLZUI0SWlGYVFGWEhYUm9CNkIrWFRrQjBnQ21BZXg4Z1pFdUEzdDhEQWJ1ZDllK2dFYUQzbDFCQWhpbUFleWN3WkVmQWhaT283NFdBZzQ3NjB3ZzRoLzR5Q21qUHNnUncveTJnM280QTlQZEl3SDRIL1VrRW9IODRMcVdBZEpZbG9NQUpZSzNlaG9DVGpRbXZCQnphWWJzL2pZQnprYkNrQWlKWmxnRE9qWUNTalM5S29uK2pkd0oyYmJYWm4wYUEzbDlTQWFGSFRBR2NKNEppMWdMUTMwc0J1KzMxcHhGd0QvMWxGWEQrRVZNQTU1bkFtS1VBOVBkV3dEYnIvcDBkTkFMMC90SUtxQjVnQ2VCN0JtZy9ZbFlDME45YkFYZ0lXUGJ2cEJHZzk1ZFlRUGNqbGdDdVo0QnE5V1hwODNkcUd6MFhjTkN5UDQyQWUvT1JzTXdDd2ttbWdBTFBiNEM0aFlCVHRiWGVDemkwMGFJL2pRRDBqMGd0b0NuSkZQQlJjMzhheE9ycjh1anZ2UUR6SldBdjJwTUllSTMrY2d1b3pySUZ1SDhOWEFpYkNqaUIvcjRJT0d6OEZyQ3BvNU5Hd091V1NFUjJBYWtrVThESGt0c0Z3UHlHaWFZYXRQZEhnT0hkZ2p1M0l6eUZBTDIvOUFLQ1NZWUE5MjhCdWJXd21ZQm05UGRMd0dFakFIdVFuVUxBNjhtV2lQd0Nxck1HQXBaZEFjaWIzakp6cmFhaDFqOEJCbnNCVllPREpBTFF2NlVTQktTVGJBRlhOVGRuZ2N6dkdhcHBhUEJSQUhzNzhFRG5JSW1BK3pNdExSVWhJSkEwRU9EaU80SGFXc1JFZ043ZlR3R0gyUThBOUNjUW9QZXZFQUVaQXdHdGVjY3ZBQXRtZDQzcC9mMFV3SDRHN0VWOUFnSDNQMHkyVklxQWVOSm9EY2c3N1c5MjIxendETnI3SzJEZit2NWJ0dzlTQ0xpZm5wbXNHQUZIczBZQ1dsVkhBQW9tOXcyaWYxMkRId0l3L3dUc1lpNEFCQUxlcEdkbUtraEErSWtYYTBDdVlIYmpaT2hZWFozL0FyYXVYd0FtQ0FTOHdhZTJLMG5BMGF5eEFOczNobWdMWm5lTzZ2MEZDTmkyYmdHWW1CQXY0RTBxL2FHeUJNU2ZHQXV3ZVdmUTBvclpuYVAxNkM5Q3dMck53RDBUNGdXZ2Z6cGRZV3RBeGtUQTFXVWJ5My9lL05aWjlCY2k0Qzk3OTlZYlF4akhjYndpaEhCRjRud2xiZ2h4VVkxRTRwQWdycHFkZGE3ZHRSdW42aVpXQmQwV0xiR08yM1dLdzNhSmtqaWtTR3lVU0Z6czBxaVVhRXZRb21LZFN3WHJHTWNMLzZkUk1iUFBIbWZtZVo1NVBMODNJSm52eDJabTBwa1pwYndIQVBsSkN6Z2IyTGJOY0FLbStlTUtnSDMrbHV4QmtGOEp2enFMK3BNUjBGTUJJUHN5Y1FGblExNnZBUVY0RXdyd2ZQcWE2TmYvYytLdnpycHMwNmNURXFDOERCaHltYlNBcW9EWGEwUUI4NDRsRkFBRWZzVDU4ZjhKK2IySkJCUkMvelFFd0RJWG9MZ1hPS2lwaWJDQXFvcUExNWdDWnZvVENnQUN2ejcrZUsrcy8vMVRXeURSVjJjNytwTVNNRkVPb0ZjVFlRSFFQMkJVQWRlU0N2QjRsbnorK1BQSDF5L3ZJZjNYN3g4K2ZtNUQ3eFZPSWdENkV4U2d1QVpvSWl1ZzZtVWdZRmdCQzR1U0NNQytVelNaQU5TZnBBRDVYYUNjSnFJQ3ptMm9xREN3Z053TE9nZ29nUEFrQmNndkFsdWFTQXBBL1EwdFlIbVo1Z0tndjJZQ1lFa0Z5TThCeHJTUUZIQ3U2R1dGd1FYTTlHc3JZTEUwYXpwWkFaUGw1NEF0QkFXY2d5TmllQUg1MmdxUVpzMGlMR0NFL0RaUUN6a0J0K0Y0Y0NEQXBhRUExSiswZ01IeWk0QVdZZ0p1dytFUUFtUUNvdENmdUlCUjh2dUFMYVFFWFBFVThTSmd0a1puZ2xFYnRDY3VRUDUwVUU0ZElRR29QemNDVm1oeU5UakhET1hKQ3hpb0FFQkdBT3JQa1lDd1I3MEFseDI2VXhBZ2YwQzBEa1pBd0pVRG5pS3VCQ3owcWhYd0xHL3RhUm9DcG1USkFSQVJVRjNxOFhBbVFIcmtVeU1ndW5BdGpJYUFrWElBT1NRRW9QNzhDY2g5bWJtQTJYYklUMGZBT0RtQUlYWDZDNmlHQThLakFHbjJzY3dFWERYbDVlWFJFdEJKQ1VCM0FkVVBTZzl3S3NBVUxVdGZnSGU1SGZyVEVqQlkrUmVoZFhvTDJIVyt0SlJiQVZMdXRiTDBCQVJhelJDZm5vQnhDZ0RaZFRvTFFQMTVGaURsWHIyUXVnRHZOSlNmb29ESnZaWFBoZGZwSzJDWDcxZ3A1d0lrVStHYjFBUkVtNjEydTUycWdKZ25BM3RFZEJVQS9ZL3hMMENTSElzUEpCT3dyVld5d3lnTEdLb0VNQ3lpcDRCYU9DRC9oNENDZ3FtRmdXUHhCR3lJVHBPczhMK2Z1b0NSV1RFYm9xT0EyakxmaGY5SFFFR0I1TWlQVmh5UUM5aHc3ZWt5a3hXTkJRR1lONFpuUjNRVEFQMTkvNWVBOXJmTEZ6UTZWc0EvMmRvNnJUbHNhdi9vdTlYS2lJQ1J1SmREUlBRU1VPdjMrZjVMQWJJdlQ3TWtZRkluRElCaE9Ub0pxSVZiSkVJQVV3THdMd25NanVnaVlDZjBGd0kwRWdEVFFNRGdMT3pHUlBRUXNMTzRyRXdJWUVyQXBLRjRBTDF6dEJjQS9mMStJWUF0QVYyejRpdzdvcmtBMU4vQUFodzhDaGliRlcvZDZyUVdzSE1QQUtBa1lIYXV0R09INUJBQ0ZBTFFDVUQ4bndCdEJaellVMXhNU2NDS1MwdVB0Ni9TUEZNSStFZEF2OTRKQUl5UGFDb0E5YWNqd0dWZUR6ditoOEJVSWVDdmdINmRzaEl0VzBzQnFEOGRBYTdUa0w5REFNd2tCTFF2U1g5WXR4enRCSnl3QUFBYUFxRC8wcVZDQUU0QTlFK3lYaEd0QkVEL1BYUUVvUDVDQUU0QTlFKzIzcU0xRWhDRS9uUUVGRUovSVFBbkFQb24zL2djVFFRRVN3QUFGUUdvdnhDQUVZRHRqNzhockY1QXNOeGlvU09nOEZMbFVpRUFKd0Q2cDdaczlRSlFmem9Db0grbEVJQVRnTytQUHcxUUt5QllYbUtoSk9CNVphVVFJQk9RZG4vMDRUaDFBazZXbDVSUUVtQS9WQ2tFNEFTZy9xUUVuSFJEZnlvQ29QOGhJUUFuQVBxbnRXNHFCQVRkNVNWMEJLRCtRZ0JPQVBSUGMrTXpGckRUWFY1T1JRRDAzNzM3L3hBd0swMEJxRDhwQWJ1Z1B4MEJjNnk3ZHdzQk9BSFFQNE1OQ21ZZ1lIT1YyMDFIQVBSLzhVSUlrQWxRMVI4RVZEZWxLMkRMQXFlYmtvREZPKzYvRUFMa0F0VDFCd0ZkanFZbFlHdnRLcWVUamdEb2YvT21FS0FVb0s0L0VyRHJWT29DdG15RS9KUUVMRGJmdk1tL2dMVVpDRUQ5MVFnNEUyeEpUY0M2YzZ0V09Ta0pnUDRIYndvQk9BR292em9CR3plZHVKeGN3TG9yYTFiQktBbUltZzhlRkFKd0FsQi8xUUkybnFuZG5GREFxZjFWYTZBL05RRlI4OTY5UWdCT0FPcXZnUUJZVlhCekhBR1h0MVRQWFFPakoyQ2xiZTllSVFBbm9DLzAxMGdBYk5PdS9adGI1QUpPYmRsWnRXRCsvUGxyYUFxNEN2MkZBSndBMUY5TEFYTmhtMjdYbmdpZWhCZitCM2RXVjIyYzN6NjZBbTdaRmkwU0FuQUNVSCtOQlhSc1FjZm9DN2dtVFo4dUJPQUVvUDc4QzBEOTJST1F5NEFBMUo5L0FkdWtlL2VNS1VEU1dRRHF6NzhBMUY4SXdBbEEvZmtYNEYwNGE1WVFnQk9BK3ZNdndHczZmVm9JK0xQWS90d0w4SnJXbmhZQy9rN3YvckFlVEFrSXpNdTdKQVQ4czlqK1hBc0lOZWJsQ1FHeXhmYm5XRUJGb3oxUENNQUlrUGZuVmtCRnJ0MHVCR0FFS1B0ektxQWliTFVMQVJnQnNmMjVGTEFoYkxVS0FUZ0JtUDRjQ3RnUU51OFFBakFDOFAyNUU3REJZVFlMQVRJQmlmdnpKZ0Q2NnlWZ29hRUZ4TzNQbFlBaWg4MG1CQ2dFSk92UGtZQ2lacHROQ01BSVNOeWZHd0ZGelFVMklRQWpJRmwvVGdSNG5ra0ZCaEV3bGF5QXBQMjVFQUQ5SlNGQUtTREYvc1lWNE9zUTRMbStVQklDTUFKUzYyOTRBWGV1bTB4Q0FFNUFpdjBOTHFBVStnc0JPQUg5VSsxdmFBR2xyWTBtSVVBbWdIcC9rZ0pLSHpZMkNnRUtBZFQ3a3hOd0RQb0xBVEVDcVBjbkplRDhvM0JZQ01BSW9ONmZqQURVWHdqQUNhRGZuNFFBMzVOd1dBaVFDMkNudi80Q1ZqOXhPSVFBcFFCMit1c3R3UGVrK2FJUUVDdUFuZjc2Q2loNzJ0d3NCT0FFc05OZlJ3SFEvMW16RUNBVHdHQi8vUVQ0N3o1N0pnUW9CRERZWHk4Qi90Zlhyd3NCTVFJWTdLK1BnSDNRWHdqQUNHQ3d2eTRDWHIyN0xnVGdCTERZWDNzQnhhOWFXNFVBbkFBMisyc3RvTGorWVNzckF1WXhKWURWL2hvTHFILzRrQmtCUzZjeEpJRGQvbG9LMk5QdzZCRkRBcDduTXlPQTVmNmF2VWNJK2o5NXhKU0FhYXdJWUx1L1ZnS2cveE8yQkpqeTJSREFlditzck00YUNMQTBQSDNLbUlCTCtVd0lZTDgvZkhOMHVGb0Jsc2QzbjdJbVlHOCtJUUd3K0FJR0dLQS9DT2l1VGdEMHY4dWNnSVA1REFnd1JuKzFBaXloMTNmWkUzRERSVitBVWZxckUxQVNldldhUVFIUFhkUUZHS2UvR2dHV1VQMHJGZ1hrdWlnTE1GUi91QmJJVU1DZXgvWDFMQXBZT3R0RldZQ3grb09BQ1prSTJONVFYOCtrZ0IyUW40WUF3L1pIQXVhbUs4QjlwNkdCVFFHN1o3c29DVEJzZnhEUVowMTZBaXh0RFEyTUNyaFk2S0lsd0xEOWtZQ1NCYWtMY0Q1NC9QZ3Rvd0ljaFlYMEJCaTJQeEp3MkQwM05RRk9mMXZvTWFNQ0txRS9QUUV3by9adkYzRFlPVGU1Z0ZYYmEwS2hFS01DS2k5Q2ZWb0NqTjIvWFVCeGNjbjh4QUxjcTJ2YVFpRldCYUQrRkFVWXUvOGZBZnNPbDgrUEo4QjUrRTVOVFUwYnN3SU96Wmd6aDZvQVkvZnZFTEJ2K3o2TGU0MVNnTk95Mm5Qa3lKRWFoZ1dnL2pRRWNOUC9OM3YyMHRwRUZJWnhQT2pDeTBJRXhaMlhMb3dTUktLTEVuR2pPOUdGaXVJdFhoYUpXQU1WUmRza1RhMUlkSk5MTjhZYUVhRlF4SjA3QXk0VTNGVzhJS1dvVU1VYmlncmlWL0FkQkNVYTIwUm41bm5QT2MvekZmNi9PVE9IK1NWZ3VGQW9qSXdtOC9seU5pdC8vRWFISzdkN1pXT3FCWGo5TVFLczZkOGtRSGIrL1BsR1kycnE1cVNzVjd1QVM2Y2xQa2lBTmYwTkZ1RDF4d213cHIreEFqNmNrZkJBQWRiME4xVEFoMU05UFZBQjl2UTNVc0JUNlk4VFlGbC8zd1hJQWhid2RKZmtCd3F3ckw5eEFxNUxmNmlBcFpiMU4wekE5VjE5UGFFTHNMdS9VUUl1NytyckF3aXd1NzlCQWk3dmtmNUlBVXRuUmF5Y0tRS2tQMGlBM2YxTkViQm52QThtd083K1Jnall2Vzk4SENqQTd2NEdDSGl4YjJJQ0tzRHUvdW9Gdk5qMzRBRkVnQ3Y5bFF2WSs3cjZBQ1RBbGY2cUJldzlWcTNDQkxqU1g3R0FXeWVrUDA2QUsvM1ZDamgzb2xTRkNuQ2x2d2lZbzFEQS9oT2xFa3lBVy8xVkN0aC9VdnJqQkxqVlg2R0FJd2V1WG9VS2NLdS9PZ0ZlZjRnQVYvc3JFM0RrUVAwcVNJQ3IvVlVKT1BpbFhvY0tXTzVnZjBVQ0RuNlMvamdCcnZaWEkyQm56NFVMVUFHdTlsY2lZT2UzQ3pLVUFLZjdxeEJ3U1BvakJUamRYNEdBUTQvNisxc0lrSVVrd08zK2NBSEh4L3RsTUFIc0R4WndmRUx5SXdXd1AxVEFEdW1QRThEK1dBR3lpV0lSS1lEOXNRS09Wb3RGcUFEMmh3clkvdlZhRVNPQS9UVUllRks2ZGcwbGdQM3hBcDZVenA3RkNXQi90QUN2UDFJQSs0TUYzSlg4U0FIc0R4VndyMzdqQmxUQUN2YUhDcWpmdVFNVHdQNTRBWjhyZDRBQzJEOGNBYkxXQXA3ZHIxU2dBdGdmS3NEckR4TEEvZ29FUExzL1ZJRUpZSCs0Z1BkalEwT2hDbWdtd1A1Z0FRLzdwVDlTQVBzakJVai9LMWRRQXRoZmdZQ1hWMlFvQWV5UEZ2Q3hWL0lEQmJBL1ZzREhZaTRIRmNEK1VBR3ZKbk01a0FEMlZ5RGd0ZlNIQ1dCL3VJRFhrN1VjVUFEN2d3VzhuYXJWb0FMWUh5aEFkbGI2SXdVc1kzK2tnSGNOcVE4U3dQNTRBYzhieVNST0FQdGpCY2dxeVNSU0FQdGpCWHdwU0g2a0FQYUhDdmhVeU9jUkF0aGZoNEJIMGg4amdQMDFDSGcwSlBsQkF0Z2ZMK0J4cmx6R0NXQi90SUEzdFhJWktZRDlmZHJjVGY4azRHNHlXNFlLWUgrb2dHSldoaEhBL3I0TG1KZnNVTURka1V3R0o0RDkvUmN3TU5xSmdONXlKb01Vd1A3K0N6aWNiMXZBV0UzcVl3V3d2LzhDTHFiemJRa1l5dzBNRE1BRXNIOVFFd0VYMCtVWkJVeldKRDlTQVBzSE5VL0F4Y09aMmpRQ1hoYXlnNE9EY0FHcjJEK1FpUUJ2NlV4eXVKV0FxVnc1SmZueEF0aS9hYjRMa0IxT1pmSzFrWjhDR29XUjBXekttd1lCN04rMGdBVDhXRG8xbUVxbHZVbDdKUUxZdjJuQkNwQkpmRlVDMkw5cHpnbGcvOS9tbUFEMi8yTk9DV0QvRm5OSUFQdTNuR1lCU2Q4RXNQL2Y1NGdBOXYvcm5CREEvdFBNQVFFcjJYKzZXUytBL1dlWTVRTFlmOFpaTFlEOTI1akZBdGkvclZrcmdQM2JIRmFBTEJBQjdOLytyQlRBL2gzTVFnSHMzOUdzRThEK0hjNHlBZXlQSDFJQSsyc1lTZ0Q3YXhsS3dCYjJWN0lGM2EwRnlBSVVzSmI5MVN3R0VMQjJVWVJUczFnOGJBSHIyVi9WRmlYQ0ZiQWh3aW5id2hBRmJPMktjT3EyY1UxWUFwYXNqbkFLTnpjZWpnQisvbXZkb2tRSUFncDgvU3ZleG5sQkM5ak00MS8xWW9sQUJSUjQrMU8vNkx6Z0JHemVHT0hVTDVZSVNNRHdmRDcrWm14MVBBZ0I2K1pHT0ZNVzdmWmJBRTkvdzliVjdhZUF6ZEVJWjlxNnV2MFN3UHlHTGhyM1E4QTZIdjdtYm5WaXpmOEoyTFo0ZG9RemViR3UrTDhMV0JmbHhlOTdlM2FNZ2pBUWhHRTBZQk1iQ2JnWDJDYUVNTVZ1RXhac1lwMHI1ZkNlUUZBcldkNjd3bnpGd04rQmNkcCtLZUNaYndPZEdIT05id280cXV2MzV2NllTbnhTd0ZHVHdhZFhsOXpLOVgwQmUwM1owOWU5ZFpsemFyVnNFWEdlRWZ0V2FrdDVYdFlCQUFBQUFBQUFBQUFBQUFBQUFBQUEvdGNMTTVJSjdkT3ZqZkVBQUFBQVNVVk9SSzVDWUlJPSJ9LGZ1bmN0aW9uKGUsdCl7ZS5leHBvcnRzPSJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUJsYm1GaWJHVXRZbUZqYTJkeWIzVnVaRDBpYm1WM0lEQWdNQ0F4TlRndU9DQXhPRFFpSUhacFpYZENiM2c5SWpBZ01DQXhOVGd1T0NBeE9EUWlJSGh0Ykc1elBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHlNREF3TDNOMlp5SStQR2NnZEhKaGJuTm1iM0p0UFNKMGNtRnVjMnhoZEdVb016VTBJRE0xTVNraVBqeHdZWFJvSUdROUltMHRNamMwTGpZdE16UXpMamRqTWprdU15QXlNaTQzSURZeUxqa2dNakV1TXlBM01pNDFJREl4TGpNdE1pNHhJREV5T1M0eExURTRMakVnTVRFeExqa3ROekl1TlNBeE5EZ3VNUzAxTkM0MExUTTJMakl0TnpBdU15MHhPUzAzTWk0MExURTBPQzR4SURrdU5TQXdJRFF6SURFdU5DQTNNaTQwTFRJeExqTjZJaUJtYVd4c1BTSWpabVptSWk4K1BIQmhkR2dnWkQwaWJTMHlOelF1Tmkwek5ETXVOeUEwTGpJdE5TNDFZeTB5TGpVdE1TNDVMVFl0TVM0NUxUZ3VOU0F3ZW0wM01pNDFJREl4TGpNZ05pNDVMakZqTUMweExqa3RMamN0TXk0MkxUSXROUzB4TGpNdE1TNHpMVE11TVMweUxqRXROQzQ1TFRJdU1YcHRMVGN5TGpVZ01UUTRMakV0TXk0NElEVXVPR015TGpNZ01TNDFJRFV1TXlBeExqVWdOeTQzSURCNmJTMDNNaTQwTFRFME9DNHhkaTAyTGpsakxURXVPU0F3TFRNdU5pNDNMVFF1T1NBeUxqRXRNUzR6SURFdU15MHlJRE11TVMweUlEVjZiVFk0TGpFdE1UVXVPR016TVM0MElESTBMak1nTmpjdU15QXlNaTQzSURjMkxqY2dNakl1TjNZdE1UTXVPR010T1M0NElEQXROREV1TVNBeExqSXROamd1TXkweE9TNDVlbTAyT1M0NElERTFMamRqTFM0MUlETXlMakV0TVM0NUlEVTBMamd0TkM0MUlEY3hMall0TWk0MklERTJMall0Tmk0eUlESTJMall0TVRFZ016TXVOaTAwTGpnZ055NHpMVEV3TGpnZ01URXVOaTB4T1M0M0lERTJMamt0T1NBMUxqUXRNakF1TXlBeE1TNHlMVE0wTGpNZ01qQXVOR3czTGpjZ01URXVOV014TXk0ekxUZ3VPQ0F5TkM0ekxURTBMalVnTXpNdU55MHlNQzR4SURrdU5TMDFMamNnTVRjdU9DMHhNUzQ1SURJMExqRXRNakVnTmk0ekxUa3VOQ0F4TUM0MUxUSXhMallnTVRNdU1pMHpPUzR5SURJdU55MHhOeTQwSURRdU1TMDBNU0EwTGpZdE56TXVOWHB0TFRZeExqY2dNVFF5TGpSakxURXpMamt0T1M0ekxUSTFMak10TVRVdU1TMHpOQzR5TFRJd0xqUnpMVEUwTGprdE9TNDJMVEU1TGpjdE1UWXVPV010TkM0M0xUY3RPQzQwTFRFMkxqa3RNVEF1T1Mwek15NDJMVEl1TmkweE5pNDRMVE11T1Mwek9TNDBMVFF1TlMwM01TNDJiQzB4TXk0NUxqTmpMalVnTXpJdU5DQXlJRFUySURRdU5pQTNNeTQxSURJdU55QXhOeTQySURZdU9DQXlPUzQ0SURFekxqRWdNemt1TWlBMkxqTWdPUzR4SURFMExqWWdNVFV1TXlBeU5DQXlNU0E1TGpRZ05TNDJJREl3TGpRZ01URXVNaUF6TXk0M0lESXdMakY2YlMwM05pNHlMVEV6TlM0MFl6a3VNeUF3SURRMUxqTWdNUzQySURjMkxqWXRNakl1TjJ3dE9DNDBMVEV4WXkweU55NHlJREl4TGpFdE5UZ3VOU0F4T1M0NUxUWTRMaklnTVRrdU9Yb2lJR1pwYkd3OUlpTXpNemMxWW1JaUx6NDhMMmMrUEM5emRtYysifSxmdW5jdGlvbihlLHQpe2UuZXhwb3J0cz0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFOVUFBQURWQ0FNQUFBRDNua1d4QUFBQzlGQk1WRVVBQUFEMTRPei8xL1A5MnZML3dPVC94K2ovdWQ3NjYvVDY3UFAxNU83L3orNzY3Zlg2N3ZUODZmVDQ2L1AyNSsvODVmWDg4ZmY3N3ZqODZQWDI2UEQ4NC9UODNmUDQ2UEw1NmZMOTR2UDgzL1A3N3ZmODYvYjk2dkw4OGZqOTN2TC8zUFg4OFBmODh2ajYxZVgrNlBINzVmUDk4UGIrMGV6NTNPcjUxdWI4OVBuWVpaLzg1dS8rOS9yKytmdnhnTEg2ME9MNzFPYjk3ZlQrOS9yOTN2SCsrUHY5OS9yOTkvdis2UFg5OXZyLzd2ai8xMW4rK2Z6V2JxWDZ5T0g3dWR6LzBRYjg2dkwvMGdYOTdQZis1dlQvendYNXBzZlNmYTdja2J2bWk3bjVzYzM3MitqLzBRYjN0OVAvMFFYLzBRYmxkNnJzaXJmbHBzZnRtTVA0b3NULzBBYi8wUWJaWjZEOTZmSDR0ZEQvendqT1c1ajd4TnJIVVpIMGpyajcxK1g3eXQza3ROSDV3TmY4MStYLzBRZi8vLzl6SU5QLzBRYXVmdVhuNnZYNlZaYjVUNUg5WFozNW5jSDRUSTc4VjVqN1dwcjNTWXZ6Y2FmN1VaVDVVcFA5WXFEOGRLdjVvTUx0YzZqOWFLVDdoYlg3ZmJENmFxUDZqcm42WUozOFU1YjBRb1g5YktiN2dMTDJSb2o5WktMOVg1LzhlSzdIVG8vNW1yLzZacUgzY0tmNmxMejNkYW44djliU1ZaUGdkYXI0YmFUOVdwdm1jNmp4UUlENWliZjNlcXpOVFk3MFZaWDVxY2o0VzVuNXBNWGFYcG4rNXUvOG1NSDh5dDNwWnA3MVlaejhrTHY4eE5yRFM0N1pXSlg4bEw3OWNLajNacUQ2Y0tmTFVKRDhpYmpmWko3bFladjd1Tkw4b3NiNmw3N2dYcG5PVXBMOG5jVHViS0x1WUp2WGM2aXloT2J1VlpUOTRlejNoYlA5dWRYZ1U1UDcwT0g4cmN6dWpyanpXNW5oV1pib2JhUHlicVR4WjUvb1c1am1WWlg5MitqamFhSFpVcEx2TzN2VVdwZlRVSkR6azd2bmlyYktjYWZ2V1pmOXA4cnNOWFQ5OXZyOXM5SFBlcTNkYmFUZ2hiUFNhcUwrNi9MNnM4N1pnYkg5MWVUMmw3MzE5ZnZYZkszdThQanBlS3p4ZDZ6UmNxaU5TOXUvbnVyb1FZSG9nTENET05qUHUrL0FTb3ZZUUgvSnJPNTdMTmJheWZPZlorRGdRSUROUDMrbmRPT1hXdDY2a2VudTVQcmgzZk8yanVqaTFmWGdTNHFxZU9UdHR0SG5wY1JMYWdTSEFBQUFaWFJTVGxNQVcxdGFabU5xZTNoZ1gzNkFkbk5rY1pDTGMyaHVZRzlyYW1TSGc3aVdaeG1jb1pHOGFhMW5mSW1sL3FyUDJ2NmFnck8rUXRXelVDZklFdzdnekh0MThNWmRTek1yeU83WW90Mmk0SjZjZ051OXQ0enIwTDNmNnJaQTY5LzE0ZFBHbWZUbmNDTzRRU1FBQUI4c1NVUkJWSGphN05TeENjTXdGRVhSdDVjYUlWQW5sT3FuY0MyNCsyOFFUSnhndklHZi94bmlLS1dVVXJxM1V1U25qNUNkVm1IS3pHSzNaR1h5MWVTakJJZmE1YUlQL3NJbHdsWTVlY3ZDaXpPWENJTWZwekY2NVdLVGdZMkRWNFFOZG00UlRnQy9DQVBIQ010NFNJU2VZM2hFdURMQ0R6bjIxNUpJRk1aeFhFclQ5Vi9OV0taNU9PTU1tTzZ3VUVLa0dHamtGR3lsRVN6QkxpRVJlK3QxRjdFM1hRWGVGaXg3NXd1SXJsdllGOUs3MmVlWk9UTm5EdWE0anF1NzIzN3JvajgzZmZnNUQ5SS8xQ3M5aEx2L3h5RjhIUmRqOEJEdVREQjkxV2krV1U0bWs3RklQQkpKWmhhYlc5VS9jNEJPZnNzaHJGWld3N21jUkVndWxVb2xvRWdrRE1teXJGRktTTVdZTmE0OTRjWElWMUt5VEJJcjBCS1VZaXhVeGNLeFdDd2VKMFNXTkpyTEdJSFp0VE53Q0UvR0VSRlN5bVpCSktqNFdzZ0NGNVNUcVNZbHE0SGgvUldIc0pvSms1VmlVVkd5bU9CS2lHc3hGb0hYcUtxVFptQW03ZnQ0NjVRdmtMZEZpS2tnUzdYcXpZSmtWYzl0QldiUTNyaXFKaWtYV1FxeUhCZWdCRllNVFp4bGhpZEVpK2NEVTY4dFhrRnZWTFZBaXNGZzBXRkJXY1ZTWldBdGdZVXFBaWhVOGJVZ3FxdlRIK3pNaFRyenZNSmJpWEl3R0FxR1FzNVVsZ3NxQU1wbVFhZ0NGc1pRZkMxTTF5dTF3UFFTRDJIYjAxU3FCN0VRWkcrMVpxa0tVSGFBRlJaWU9iNFdKR25ia2FtNitGdW52VkVtaGtKV0ZGQnJrQWxqcWtFV2Y2eFluQ1hSOWVUVVhQd1E3bjd5ZUo0SU56RVVsRjZ6TWxIWkYxak1CREVQWjZGTDB5c1QvZGw3SXc2aDk1Mm9MWlVYM0tnb2ZFYUxhVVN4QVBVaWk2RmNJNkhNUWdFTFhNWWtCK0hZMjlYMnVoUHo1UVdPd2hBVlRXTzJURkZlWm9XSm1iQ1FCREQyTmFUVDJpVC9ydlYyRGYrbFVhcUxxQ2lhWEt6MElxaUdzZUwyaTQrak1OZDNkSHQ1b3R0OS9Obkh1MmNGaGhLWFlxaTVPYjdXY0ZaRVVFbDJWSEw5UUtONWYxT3hkay9HZEJubHhnSmtvWUlDNmhkWllUNlVKTnNraWtrT2krckx2cWJ5NThJbmlxRXdiZ0tVR1ZjMVdxM1dnZGpIMXVabUtaR0lPU2lNbzVoTHd2RHA4akdWTDFkK3BTR2lNQWMxRDUvejZYUzlkZERwUE4xQlg3QmV2OWZyUFQ0KzN0N2VkcnZkcTZ1ckQ0ZUhGeGRIUnk2VW5hcXExR0hSYmNQSFZENWNCZ3lGTVpPSVFsS2pkZHJaZURLNzR5eW1ZaXpvMjQ5bjZQTDg0dDBSbWlUYmhDeHcyZGoxak4rcHVHdC85S3V2UG9pS2hteFU0MzFuNC83Kyt2cjZpYkg0WEFCanNpNkVyR2V6aDRjSHBKa2svRERUVk9kcDA2V2F6Nmw0N1JFdVJVUlpNVlRqdEhOdmRiTnh3MWpDWXYxK0gxeVF0ZGRYTkxHK1g1NERUR1Vtak5wcmFYcCtuSGRENDd0cVAxbTFzeENsb2pBTzRPMVV0RUFFQlRYUVJrRnBoTGJaYnZVU0JSVkJCVkU5aFBQUXZ1KzA3Mlg3WWpWaktabHRXazFSWWpPMFRCc1ZKQ05CSVQxRVFVRUx0RURRVTkvM1ArZDRQWHF6ZTYyL2VodVlsMzd6Lzg2NTZyMVlVaHBLVlVXa1BYc2thZzAvMW16aW1NamdxaVFYRDJGTXhlLzNFd3dtb1ZKMWtkVTkwUHJISi91dVFWaFNacWhKTXhidm9RaVVzakV0aTF0OTJJQmhFbm1COGVwQ1UzNkVZRE9aaFBUc0tlcmlCdnNQc0tZYVAwS0RXUHJ5cFpPY3ZvSTNmeE5YTGw3TUpxanlZOEFndTNDQldPU0tVR0hDRlhoRlJkRVRDWWRuT2dTS1dEMDdVMXVZUzNjemE2ekJtc3ZLZHk4RDBSUlVjRWxXSXpKUlVCVU8rQWNCRXpBS3cxYXZYazBzQVl0RUNJYjFGUSs4VWlaa1puZENpWFNCaXVKcVcrOWZYZU9LN09qYWlRbzkzUU5xOFo0M2UvUXNsek81Ylp0eWNWWlRMaGlGVmU2WVYxVVZwNzRrUzdwNnluVHZLYmI3TG83K3JlcFpkMW11YXFBcGF0TEJhL2RZQlphZVhkSkdZZGNSVTFja1VsbFpWVlcxSWg0UHhHQkNnc0ZnTjVnNHRObXp5bEhXc3A1MTF6aVRxcXlpaGsrNGRpMUh0WGpYNGwyNzl1d1NPYWZDcFFuWk5zQ0lCUmNGTzMwbFhISHFLeGJPWWMzcURsWC8vdjI3UUVVc08rZmprVmF1Y1E4eVE0MjVlODFRTVlteS85eXUvWFEwQXRseUNTTVh4WERoREVaaldDbFlOWDVwUXJ4QVVYcVNpbG51MXZWS2Q0MHpRUTByUUtFb3BlTFhybnVFMGJOMjdmNjErODh4RERLNDlNTGdpa1QwdW1EaXVsejlGUXVxN2g1czhEWmN4YXN5UVUyNmUwcXFaQXhMZmpadTNDaGhIT0hTMWxkRXVVNmNDUGdOVlhXMUZ5aTNtelpGc055ajY5bDBGYW1xUnlGcTRxbFRwd1RxbWpEeEk1b2w3Y3lKcEdtTmFTNWk2WFZKVTdYR0lsUjNsNmRUUGZzdTh6Tnd3K0VLbFQxUlRTQVVWcFZnMWU2djNSK05SdWtsSUZGNkZNQkVZMmVWaTJLd01JWnFkZVdvTWw0MnVabkZlNGVyekQzSTlvZmp5YVlYRnZzV3pGOFRScUVzcFBaZWJXMzBYaFJoa1NDdDI3bHUzYkoxOU5xNVROSUEyM2pXMUdXdzRvR0FuMDFBWlRLejNKTFZrN3R5ZGV0cEV3VlhZVlVEQzFERFgxemlxcklvU3JRMktzSkZSZGVwTUFvSHdHUmptZ3RqZUlHaWJ4cGdaWkNwUUhuY1ZCV3B5cnd0NnBYZ3lxOXFjQ0hxMFNWU1NWWXRva3luQWNyUDNLMWJ0eTVidG16TGxpMnJLQnZoT3F1NXRMckFna3F5Z1BKNGhLck04ejh1TWZRd1FiRUtxVDBsVExXbm82Y3AwZE02WitHNnVYTVh6aFVSc0owN0Jld3NSVzMwMkRaMFZpRHdLaWhWRHpNUGllV2h1RWtGMXFCL1J2VWRYb0M2QXBWQ0lhZFZERkJPRGh3NElGa29UUFZWV0JkWTVJcW5Bald2Z3RKRW1Vb21zQmhWNXUzL2p5YWNmdldOWXNxVkswQkoxL1hydGRkelRNZDFrR0t4TE5zWFJlOHJid3BKbGNOQ25JeHlPdnR6VjkyNmVWditwL2tEQ1Z2NkZWWUoxL1ZUMXhtVlZSMUhGaTZrcDVFRjRyaUFDNk5vQzB3dUw3RGd3ZzR2V0RWZ3dTUllUa29acVlqbEhQaXY4NmVqSmw2QjZoRlVqQ0xUZFlpRWFSMnBwRVlQV09nTGhjR2xqU0d4NUhrTHJCU3pxcVVxa1VnNG9mSUlsZGY5WCtkdnpFbENYYnlFc2k1eFZ3aFVNanFvMEtYM1plenlaTUw4WVdHQlJhb1lXQWxtVFhVaWJsWVJxOTAvcUJybjd4UW5UNklya2VzaXR6bkhWYVJwOW9MWjlGeXdZUDE2dk14WnNpMHlhWnNnV0NnckhhdG1GUWVzZnYzNmxaR0s0aXg5SHh5ZFAzKzlsQW9vd1lJcHF3Smx0c3A2RmVEZ0FndGp1R1dacW11TnNWV1FDcWRpWW5GWjZSaFVTRC9FS2N2cVVySXFIelhoREZTWXdQc1VSajBubEhKQlV1akJ3NmhMd0xUVnRRWnZMaWdLRmErVXJKaGZvaW9xS3FEcTdSRmxsWHd1N3B1SG1uVG1qT29LTENKUmdEcDJEQ1lCZ3NrOGVsM0dHRzVpbFZGVlBBNFd5Z295Q1puYXJ6Y0hxcEkzakVINTF3aDZRU1ZZM05UOSsyUUM2eGlsc0tVbHBpNTlNNVI3L05uVklRTUZWWXBZcVpwME9wYXNKaFZjTDNzalRzbHFYNUpxVkI1cTRobW95SFFIODBjb0dhRDRRWUVHVHdxT0JUcTR0TGFJbFR0L1pLSmtXUm1ZRkd0SWI2OWtsWUxxTkZ4SERYOGlWSlE3R29wTmtyUjA2V3hBWURHTmNoVXNybTBSQ2t4b2lrUDdPMVIrMFJSbFNPOGhGT3lESmI3RGFKQ0xva3c1QXhXajd0eG4xODM3Q29VUWlUSjd5VjhqV0FzWGdtVzBkUUY3T2t4QTFkUVFLMDZxV0RJSWxNRnlTMWJKVlRWUnFrbDdwZW9PSjl2VlRWTGRaTlJTa2FJZS9CcXUyU1lzMVpSQzFhU3JhQVpSVmlhclFucExWZE5TTmtDOXFyMk1PaU5VRHhoMUV3SEpSRVUvelZreUp5ZkdMeWpFbWkzSE1NdmFKRkFVaVVxbmFXblZwUGx5U1VKbmVVc3NhL0J3RFVWVmtZcENKRlp4SklvZk1Pa3FpTXpDTG93aFdMSXVzQ3BCa2sxQlZST0tWS0dzN0F4U1VmeVFxbGIycXpKUXFBcGRTUlZRWUtteU5KWFdrcW1NZ3pFazExWlYxemFnWUFLS1BQRklKSlZPMG5XZ0RMTXFzTEk0M2pLNDNEWlZqVFFVVlVXcUp5aExxd3FxNkpIZGdSUm56WnJqQk5KRjgvOE15MWxkRnk2a0NCSE1CSlBKN1BoeFNVbWFRZTdLSDA2b2JWQ2VzOER5RHJDRkdxMmhVSldjUUVQRnJ1dUhYMlY4dWFuTHBNNFpvb0xrczhoMU5oNSs2Y3ZOeTBRd3FWREpkQ2dTVDdPcXVrS21OeUpVM2JyYlVqWFhVVTMyU3RXdFczZnUzTHFsdW5vVzlKbWx6cjlObVhTWVRxUDF0WDV0eWhCcHNnekJraFIvUEJSSkoyVlptTUloZU4va0VTeFBKMXR2bGhSS1pPaFZxTUNpZ0hYdFZaM3ZqM2tabWoyL2FNQmFvL2VzSnhFRUt4bUpWRUVWSkJhQzk3ajl5bHdZd1E1MjlvcEdNdklhNlJPcGVreGRDZFFwdjY5NDZsTHprVVh6RnkxYUpINWFwTE8yd1ZRa0w0T3NTb1VpTldBOWxLemVZSG50ajZDQlFpWmRGYXJIcEJKZEJkQlQ4YnpjeENBOWhtd2RUSDlKUlZnclM3Q21xczlaRklkam9HVlVweVphVTgybkNOVmpwVHFZOEZsS2VDa2daclM0ejFvZW9xeTBLRXV5blAzd29kaEZxRDVqVzlnWVFQMW1ucXRRRVVxd0FqNnJxZHRqcmxxcWlyTFF1RDhaQ3NXVHpCS2Z0QklWdmNIeXVnalZwNC9Ec3FxeGZ0ZlZtUE5RU2RTVm9NOUdMaS9hdkdqUjVzMThRSUJhVytlem5ycGdsVkVXMmhKZnpIaGNqT3BqZVFRNzVZd2ZzNllZS2tJbGZMWVNFeHBwd3VHd3oxN0NvVkFxeHF4cVluR2NpS01ycThZMnRUeUEraDFLVncwVlVLV3pFS0JzeFIrcWxHVUpWajlHdVIxZHdiSTZnczMxZThrbW5ZZnFLYXRNVVQ4KzN2ajI3WDM1KzU5RldFVlJyejk4Ly9idDdhZjNILy9FU29aSWhiTEFtdXB4MGtjc2wxUU5zb1Fhbkl1aURHWFZVNmhPSmdwSk45NlhpOXo0WTFzYk5tOVFBVW9uZlh4YmpueDYrK2UxRlkrcnNzQnkwMVhWc3JLdVlJMnRiMGsxTU85ZXhtbFFVUjQvcnZibDVlZlg4bXhlKy82VTNhU1J6MmhkbnVuN3AzS0UvdmxRN0p3dXloSmY1V2E2dVRoakJhdU4xV1dsM2NxNFBhdjZsZjluaGtubXErL1AyYVdxbWwvaDB3S1R6UHVpRzN3YVpRVWZQc3pRNWJxWjNWbmxFQ3FIeFdXbDNjbzRKcXZhNTlQekdmOGxsWS9GZHVmNVVoWFdweGV6cC9LbCtPa1lxcVM0Q2o0TGx4MjdkNlZZWFZoNXR3Y1BWYXFUZWNQenZWekw1NkticzBBZEtmeXJHUG4rbC8yOUpoVmZjY0l2V0tRaUYxVFdGbFlucVpLb0J0TklkWjVWZWZPSDZiT2lRbzVzMkhCb3d5THQ3L0t4SExHcXFvdFUwazFjcjhKUXVYQ1AwMWpCNm1obFdjbEZCUlJsdWxTOXlFZlpVbFZ3VlRFZFpWMkZCUG5TYWlBYzVyYThQWW5sSUJXejJsaFdaVkhEdDdQcTZOT24rdjczcnR5V0N2dmdNVzMzTExlcnFxdWlMNkZPK01HYVNYZEZPaHlkb2JLMFhUVE0yZjdJTllaVVIwbTFUMThTNVlpZEFmcE56SjJHemhER2NRQ1BkZVl1UXE2UUlncWxlTU1iM2lDdktBa1IwVTVhSVVmTzFwSFdyZGF4Tm1tUnM5eXMzRVhVaGhlejVZb043V0JZOTdHdU4zNi8zOHo0elc5bWVHYldDMStTcTcvbjgzeWY1NW5CekgrMnFLcUVlMHJtNDdRUVpXVWZFR3RxTjNxd3FSZXh3aHdYWWxQQllXR3Jkb2tqL1lWZkZYUU5kVi9Dem9tcVBrNzM1M1BBYll1bnJNU0NTMVpaWFFIVnJVOTNZbzBjb0Q0c1hNY2ZIUmFvMnJhdHQvakR2dU1nMUV2d3MrSGVXUm5YRDh6cEVIWGJSVU1lZzZES3dCMEd1T2dSY1ZBaHExKzc4S3E2bE5oRVMvWER2eWZVWlZYajdya3V1cjRMWGZ2ejJsZVdtUmRUZFI5VTJTUEU2dFFaV2ExNkVhdURValVNVU54VXJQNWVTM1hmUGJ5M2dTcmYzVVVsSHEvNHBQS3NrU21YUFBkaitYeFYvTVNsMU1takQwZzFxVE95Um9aV2lhWml3MEVGcUR2S3FwakZLTWpuSU5UajhuUTFpMUI1V2RZdTNGaFUxb1RPRU9pS1dDTkRIT3l1cG1LeHdaYnFwL3NJcUU3L1V6NHlvbVNBU1pTbDJGV1VGNHdvbW5tTTRWMkNHZmluM0QwYkpsaXZOdlhDaEZBTnRZOTBSTEhLZmJIU2VLWUQ2akpMT0tLdlVCVGxVMUJWOGdvdTg3RkNNL1Back9hdGlMWlBwazVtNGY5SUlLMHd0cXFQV3NYTER6UGVVcm1yK2pKZG1iY1dTUzVCOWJSd3l2RzhremR5WXlXT1BpQ1Y5ZHBaTDhySVFTb1ZWVVVveWtSUzNYUFBkRVd0ZXNHcU4vNnFWTk5DbmY5bVZjVEdPZ1liaTFnajZlWEJYdjFSMVcrWVNzV2JpcktYVkxmZE14MmZyczUzRWdWdkxNMmNyczdIZUR3ZjkyK3NHOGRTOE5ZV3JzR1I5TEpuci83OVVhVzhEUFA2dzR4R2xUZ3NTdHJIVUlOeVV2V2lpcG94UFZUYlRsdmlKdmxZNmlTb0lKTTdkZ0JYcjU3SUdqbFVwUkpOMVIyT0tuRU5ma3k3UXIwdm5CaGVWU2xVMmEvanlJb0xGV1pmS2dHdm9xR3FLWDIrQlZBQnE0WHExc0xkRk53Rm9rb2NnVm9vMVlzL3F4NmpTcDA0c1lKVVJ5MFZmU2FKcGoxN2hsUXg2citycUMycHd1TUNXUlB3czBsMGJJS3EvaUZVaklLTTk2cUsvNnpTb3FnQUpWWHJRSlVoRlgwS3BJYmhWYkcvcUVyaFZPVi9WOW54cVZLb2V2QmdRaVA2NUU0OWlhVlVNUW96TWFDcnQ5T2pYSVkvK1ZWR3BMTDlxaXlxUmpSdkRxeEdJVldNd3J6MGQvV3YxeXN0NVBVcXVPemQ2K0FRaExKQUJXbldyQ2NrdktxdVVFMXhkMldHWFlDVU4zNlZWdU8wU0ZYYnRzaHFpU3kxU3FBYTJLcWY3cTYraExqZllWVXBRRld1ZVZwMm9tcEJKblBwRXFqSVJhckdhaFdqWXNOdDFXMDVxQWhqcXZwdkF6V3RHcUVxT1MwM2R1TWhtRVZWTzBqYnRpMnBMS1dLVVJCSGRVK29ETlY5Z1d0TVpwRHFUY2pEeHIrdGpyaFVtTkFxUnJGcW14alVsOWVxOVNkbldxYkViYXVPQ3YrK1RJQXF4U29xSzdKcXNLMTZmME1NNnEycUtUblRNa1hSdGdwVmxmKzRmMjdwNzY1YTI2eVFLa2F4NnFkWWdtLytVbFlaVUp3djAvelIvbDdXQzE1K3ZoVjhmLzFTdTZ2TWlOYXR1U3kxaWsyczJuWkdMRUV0L2tjVHJqNU9oV2RhZmdEemp5WXFpcXVTSzNqRFZsdVZBUld6MUtxNmdhcjNQTHdTejdVRWxjdHY0eko1VVpVbzYwUEEwb1VQd0pNU2VMVkxyWENwSUtScVU3dnFoeHlVNlYrRFRPSXhpWmtXWlgwcEI5OGt5WmlQNVphOGRzNmphazJzbWxWM3BzbXlqQkFxVXhORHluam1SYTB5Tk04VENsY1AvMWFOYXdFcWhPRW5LS3hKaGF5ZFlxNkJwVlFabXFqcTFsbnhBWUNsVWxXMXgxSzFkYjFiUlN3czZ4OVVkOFhaakN5Rnl2Q002Wm0raTh1U3JHRFZweStlcXZaY1c0d3F2R01pVlF0U1lWa0RhMVc1eXlwWnJOZC9VMVUwT2FZSHVuN2FNeS9taTcrcERFMHJTdFg2YTR1a2lsaTFxZzRSYTVQWTd4aXovRWRWOVkxblRNV0Nya05aY2w2K2ZQeWpLbTlxV3NsVFZXNnRwY3FpYWhTZ25FVllzK3JtKy9jWEJZc1NmeDJveWxlK2VNZjBTQytrOWJPK0QxQjVFYXd5dm1yZVRWVmNuMXU4YU9sdlZYOVNFYXRIKzVwVjI5N2ZuT1puZmZudzJxZkt3NUM4cUJ1Nm5rN3FlbFo4QUlyeHdxOHlUQTFSTXRuY1pxaEtxREMwQm10V1FWay9KY3QyR1IrRnlzQ2VmRnZpckY1SUpndDY0WWJjbkpUSzI5ZHUxYWZLVjQxbVJlWmhMcmVWVkNsTDFhVXhvY2pWbzNiVk5sNkRZbFFRcy9xaFhNNGJlY040Z3ovMHovTTVyQ29KWloyVnQ3bE9UQ01PTnhiR0o2Tml3cHp3ckhDS2MzSUhWdUMyV29jSE82Ung0OGFXQ2I3V3BLSW5FN0NzVjN3T2NsMis4RHp6K1FkVlFkSzZ2bFgxQVhoVzVMemtZRmN0MmdJTGtGWEVvalVZU1JWenFaRDF5dlBRVC9HeHlrUzVVYUNxMHNsMEFiZVd5c1VtVHVwS2JpMVVoYW9FcXJJakFNV3VhRjBOZDFRblVQWHExYXZqMHlEQ3BUQXh5aTVMZnlCL1ZmVUJLSHV1WERtd2VJVzlyYWlyZjFieGszVEFldTcvdTIzcHNUMnl4NCtEUm5RampldVBxbUtXbUJuM0IrREZJRkU1ZkZGNmk3V3RzS3R4ZFJxN1hORlVvNlVLV2NkRFA5L01LRDM1T3dWaVJjdWw3VmV1SElTcWFGdVJLZ3VxT3JXcVl2VThxbS9JMmhsbFJMc1l4YXhIa1ZEckFIVmd0V3NCWW9iVVFSWWxySW9qVlJickd4L3d5anpTQ1FVUEVkdW9sY1NhRTc3dysrdTNid2NVcUtDcTNTNFZwRmJWUkkvcUFySmVYUTQ1b3AzWENoQXdZWkNFSWRiWlhXRzd6aUZxUHFCNFcySEF4S3pHRVZYalVlVThJNDBxWXIyN0VLcXVUTnBCeVJRd3Q0cGhpanEzSFFJb3FzcmVWcGd4RnNwbVJWVEZ4cEtLbjlKSEZxamV2WHVpM0YwWHJ4UXcrQTZGaFprTlgrbWIyYVJOSjVUdlVtUjJ6Q1VVVmdVcTNsWUxSdFN4VTVOcXNGQUJDdk1PV2UvNjN2anI2d0xYeUpTZUhaaGtBWE0yVS95N2FjWU1RSzBCRkMvQUJLTG9DT1MySXF1RzI2cU4zQlhrMnp2TXMxTkhpbi9ZVDRtekJVb3kwSVJ2bWhXc0lzLzlhV3IyTE1VWHorWnUzN0ZrdjZ1cVkxZ1Z0aldLVEpUSUtub3lnVldFWXRZenlOT01iMWdYRTdsMGdaTEdWOGo4SXZ3NkUrdEtZN2FmMjFQMDdxYnpTN2ZqN3dIVXN2Mzd1YXJkcUlKWVJ5QzNGVmtWQzFCZHh6Y0F2NUdLY3VyV2dpTVhLWm5FMWx6YUNveDU1VXdSOUpISVNUS05JZG5tQlFzdVdzbG0xKzhnUFZhMVkrRnlRR0ZWemxuaHFJRERDYWxpRkQ3MDZLakV5NXJnSWhJbDdZOHdNVWE4aHVxNGtuYnNROFZCN1ZpMWZMbTdLbFNoQ2I2T0VLZzZrVlhqYlJYR2ViUDJ1djFtcmUxSzR4ZVo1R3o1d3JBVU9aazdkOFpLWWNJNHBsbnpmclYzTDY5TlJGRWN4NDBWTktpSllEUlJCQVVwS0xPb1FzQlFzQzRxdFM0S05RWkV4SVhiaVBnRVhVaGRpT0NqR0MyS2lCdEZRYlNDaW5UaHBzVVhoVkoxWTFzb0lra1cvaDJlYys2OTg4dVpTWndrOVlIZzkxN2pDOEdQWnpLKzcvQ3BGMnBVZkFjMHJJTXhYYlFLS0c0bnExNjZXWVgvd3pwY21OTEpvMmZvTy96VDNIOXZMMTQ0ZXZKaUNIVzBlTW1jdkNJb1BTcHBRS1BpdlMycTl2cXFxU25MK2lBcVlVbjgzYkpYMGtYNkhwMXg4WGVlRnU4d1NlS0RTK1N3RDc1RWlTVGZ2SGlUanYvUktJeksxdFAyckRwTUQ2SENyTlNaQ2ZaNGdlS1pJbTM2Z0k2NkY3SFVjRTZUcUdoTnh5azUzMDNDYVRMK215bzBLdnFWeFVKVmg3VHFrV0haQXk0KzB4WlRrWmNmQ1NOaWxDWHBZMzgwaWxYNkJpajFCVlc5cmFwMlFzVkhrZUFrRXB3Ynd6QXl3UVVkZU5BZ0dSUGxCbVZNWVJSR2hiZFZuRGF2MWxRZHR2MWE5ZUtGY1gwZzFIdXJra0ltQXdCRFRHY2dZaFNMT0tpQUNsMS94emo3dG9yN3EzV1ZkUGhKUUlVamZzVGtUcGx5UC94VXNXNEEyVmdGVXVpd09rSEo5U2VxWTc2cXdLTnl0YVRxOER1Z1ZSSllFNThuN3Zqbm5CWHYzajF1S3ZKQ3lIRTRiZEtvOFBVSFZSOWhGcXJhYTFSVHBMcG5WTS9zMlZtZjVlZzI2WTZnYUxsVDl0ekhPb3NXa0xudmdZUno2a0lvdWF0RDFkT1dTbEFvck1MaGJSUEdkWmMyRHRvejMyOStNUXo3UmNVVHdqSEJCQlNPZ0F5aG50ZW9DcldvWkx1cUF5K0RLb2xNMG9SeE9WVkV1TzRRNXNTWlFRRmxyeitvK2hqamFrN1Y3VkJvcjFQZG84dzVlemcrY0lKWmdiTWUwVTNITUJiQkJFRytTYitsZ2lpb2VoZ1RwOFU3V2lYNUtqUkZxaW1uR2gwZGRlZFhtdTV6RS9mdjh2R3ByQnFxVlNGZzRERWtTa2pXRkVacFZTR0pyQ3FWYlViVm9kdFpxMklXb1dnTDZ6NHZpVnhJQWJnaFRjSU5BaWgzbXdES2YxT3h5ckVPaGxYUlQxUHRDS3VXWEZlekVwVkVwOExLQWI3MFFYSWtqV3M4SXBDNHdFSE1kbElQZUZMSVhvQ3BaTW9rcXZTbUtGVldWTG9EOW0zbFZKT1Q3Z3hma3pXSkNpSmFiazZYZEFEVmtEUktEbUcyYnlxbDZrdXA0cXhhdWloYTVWQm9sejhxbWRTb2p6S3MrNC9Sa09vU2ZRaHI5SlF3SnpJcDFGTnorV25WUUIxVklsS1Znd29kbU9KWUpVM1NzTjR3NnhXamNJejVFSjlrenRIQjVVTmFvRGtDQWlsb01qY0tRdkdrdEtxUTBzVzRWS1JxVXhoRi8vN1d6UW9vNmhWbldPaUtpblVBQ2dVZ0VVbVdoTGVVdktmazF4UUJsUnRWWjJlR1l4WC9zVVZraTRIaDdHMHd5Q0tVLzRTQWQ3UWUzeERUK2NjMUlsb21ZT0RSSmtGaFVMaFJhTlhaZ21pUXVWbnNqbFpsUWFMVzhxSThvQ1laSmJONlkxVFU0N2Z1UVJzU2FJSG82eHpvdklqMFF6bkU1RkRYektTZzR0OVpaWFF4cnBuemNISk90ZGFTNUhYdjFKUUhsV1V4U1ZEeWlBcmFRb3VJTFJZRUVsQVlGRTlLU0tqZ05Ha1QzbFpSZFJ2VldtR2hRWnFWcDJkMTdoV3R0MWJGeS9SemsxT0JKTEVKS0o2VXFKRG90cWQxK0pWRlpGbkwwaTN4N2pXZTFTbVJYYjJCNm9GNDIyZmNPQk9yaGpFbmZrWVdVS1lhVjE4NkVDN0F5SEpPcGR2dnFadUZERXNpRkhkVmQ4TVprVHlUNktvRnlTZUdPZjhKV1dTaUdNV3FyMzZYTC9NK2RybXdKVGdxWElEUmRVZytaNzNaNi9kQlJUR0tXSktvUUF2eDhCbkVENUlDaWxnMEtFbFEwOVBNZ1V0ZUJ5d21ZVE9qU3VlYVUrM0dzTmJYTnVpSkN1OHNCenRsWGNEeFFvMUVNSFhkSnBNYjFiVHJxNm92NGJJdU02cEVwRWNQeTJuQXV1Y1psV1lCMW16RHRDckRGZWwyaFV4ZFhmVFl5aTVHamQ4YW4wWUFUaGVjQ2FQQ1QxWXRERXVKTm5LRG51ZU5lbUNOd0NXMHBuUVZYaFZHRFF1cDBtVjczVFgrZXB5YWhnc1Z0Z1JWTWR3cldoN1dSaFJrelV5eWEyUmt4S21ROE9RajMyaytUUjdEY2pIS05SNXNHc0t0bXJSeVpRcnZxaWJMV1ZhTnA5TzB6Nk9JTmFOWUJHdEFxMXZsWEtWU0psR1pUQ0NaMWFETllsbTJVaGFYaWVFRzJHeFp3N0tUa21lS1c5WmV6elJEVGZJTGtSam1Lc01YcW14MzJWYjVYcFpGZmFRdGpmTUs5bkViUCt5N05udjl0ZlkwOW02aldyeHhuZVNqeU5jemFGbWo3QktaY09BYTBlbXZLeU5Ea3RoRXUwR0ZyWVpTQTRzTEtwTnQwb05yVVBKWklqTHhWV2hscURSU29rMkxrbytRQnBkb2wwdGxzeDFxbGphNTZzdjZsMEtqVVBGa3l5ZVpCMWxyMXEzSjJIb0c1enh2YnM2YjgyWThoK0pkYXFYdnBmbnlmR20rOUgxMi92dHN3ejdPZnN3dnM2cWx2RGhDNGY3WFdyMldaWjY0TFM1RUxvcGsxTXpjekpqSXhtaVZ4a3E4Slh3cTNEZGFSSm90emMvUHo5SjJLMVQvVmlQeUF5cXhhZEhDV0xXaXRMUnEzeDRTb2JFeFFzbkx6L3MyOW8xRXRHM3pidFd0ZndBWWhWSS8vN1o2eDVBMmdyT3F0aDRIUTlYcVdKVys2MVc3RUZCVWxXMjBFVkttcmRxem5FdkVUQm1nMm1PdFhlTkwwclNVTEw5dmNFOVZSSi9tcXNUaTFhQXZ0UGlGb3BlZnQ2Yy92ODFaVkowRXd1MnZMVmF2YzNXdUNyZmFsdUI2OHZuKy9qM1Y2cWZJdnZDV3hSc01ycC9MNS9NRHdDQTYwR0xGeXJoRkpYS0wycThYNDJLQXRlam9KMGgrcFJJSmV0bWVKeUFKdVFhd1BZcVFQN0xGVHFXK0JTMVB4V3pwdGxHNHdVdnJBZEtvdWkxVEhaRzI0RmFHSWpFd3BaMHBudXB1RzRTZmp1R0NoVmFFQlMzQUFsTW01c0ovb0dpLzdpeGNhenNKRm9rUnhrSXh1a1RTTjhWeDlTMTRYSUJ0WEdOZFFRa1V2OGdpeDkxc1dMRTB6U1JYcG5mQkh2dzJVcmVlZjJPeWlrdTBGS2JiVElsME9wT014MnBMeFRlMVNZaDJ4ZjVPOFV3TXBsOVVMbHZETXV1UGxrcG1jZWY3SGJEWW55N1p1U09MTWYzNnVuTzdzNzJ4MzFDOGZrbjZlN2ZlYkc3Ui8vNzNEL1FEaWFGa2J4TTNJU0FBQUFBQVNVVk9SSzVDWUlJPSJ9LGZ1bmN0aW9uKGUsdCl7ZS5leHBvcnRzPSJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUIyYVdWM1FtOTRQU0l3SURBZ01USTRJREV5T0NJZ2VHMXNibk05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpJd01EQXZjM1puSWlCNGJXeHVjenA0YkdsdWF6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNVGs1T1M5NGJHbHVheUkrUEdSbFpuTStQR05wY21Oc1pTQnBaRDBpWVNJZ1kzZzlJalU1TGpreU9DSWdZM2s5SWpVNUxqa3lPQ0lnY2owaU5Ua3VPVEk0SWk4K1BHeHBibVZoY2tkeVlXUnBaVzUwSUhneFBTSTFNQ1VpSUhreFBTSXdKU0lnZURJOUlqVXdKU0lnZVRJOUlqRXdNQ1VpSUdsa1BTSmpJajQ4YzNSdmNDQnpkRzl3TFdOdmJHOXlQU0lqTWtVMk5rWTRJaUJ2Wm1aelpYUTlJakFsSWk4K1BITjBiM0FnYzNSdmNDMWpiMnh2Y2owaUl6RXlORUZFUWlJZ2IyWm1jMlYwUFNJeE1EQWxJaTgrUEM5c2FXNWxZWEpIY21Ga2FXVnVkRDQ4TDJSbFpuTStQR2NnWm1sc2JEMGlibTl1WlNJZ1ptbHNiQzF5ZFd4bFBTSmxkbVZ1YjJSa0lqNDhjR0YwYUNCbWFXeHNQU0lqUmtaR0lpQm1hV3hzTFhKMWJHVTlJbTV2Ym5wbGNtOGlJR1E5SWswd0lEQm9NVEk0ZGpFeU9FZ3dlaUl2UGp4d1lYUm9JR1pwYkd3OUlpTkdSa1lpSUdacGJHd3RjblZzWlQwaWJtOXVlbVZ5YnlJZ1pEMGlUVEFnTUdneE1qaDJNVEk0U0RCNklpOCtQSEJoZEdnZ1pEMGlUVEFnTUdneE1qaDJNVEk0U0RCNklpOCtQSEJoZEdnZ1pEMGlUVEU1SURZMFl6QWdNalF1T0RVeklESXdMakUwTnlBME5TQTBOU0EwTlhNME5TMHlNQzR4TkRjZ05EVXRORFV0TWpBdU1UUTNMVFExTFRRMUxUUTFMVFExSURJd0xqRTBOeTAwTlNBME5YcHRNek11TlMweE5DNDFZVE1nTXlBd0lEQWdNQzB6SUROMk1qTmhNeUF6SURBZ01DQXdJRE1nTTJneU0yRXpJRE1nTUNBd0lEQWdNeTB6ZGkweU0yRXpJRE1nTUNBd0lEQXRNeTB6YUMweU0zb2lJR1pwYkd3OUlpTkdSa1lpTHo0OFp5QjBjbUZ1YzJadmNtMDlJblJ5WVc1emJHRjBaU2cwSURRcElqNDhiV0Z6YXlCcFpEMGlZaUlnWm1sc2JEMGlJMlptWmlJK1BIVnpaU0I0YkdsdWF6cG9jbVZtUFNJallTSXZQand2YldGemF6NDhaeUJ0WVhOclBTSjFjbXdvSTJJcElqNDhjR0YwYUNCa1BTSk5NQ0F3YURFeE9TNDROVFoyTVRFNUxqZzFOa2d3ZWlJdlBqeHlaV04wSUdacGJHdzlJblZ5YkNnall5a2lJR1pwYkd3dGNuVnNaVDBpYm05dWVtVnlieUlnZDJsa2RHZzlJakV4T1M0NE5UWWlJR2hsYVdkb2REMGlNVEU1TGpnMU5pSWdjbmc5SWpRNElpOCtQSEJoZEdnZ1pEMGlUVEkwTGprM0lEVTVMamt5T0dNd0lERTVMak13TnlBeE5TNDJOVEVnTXpRdU9UVTRJRE0wTGprMU9DQXpOQzQ1TlRoek16UXVPVFU0TFRFMUxqWTFNU0F6TkM0NU5UZ3RNelF1T1RVNFV6YzVMakl6TlNBeU5DNDVOeUExT1M0NU1qZ2dNalF1T1RjZ01qUXVPVGNnTkRBdU5qSWdNalF1T1RjZ05Ua3VPVEk0ZW0weU5pNHdNalF0TVRFdU1qWTBZVEl1TXpNZ01pNHpNeUF3SURBZ01DMHlMak16SURJdU16TjJNVGN1T0RZNFlUSXVNek1nTWk0ek15QXdJREFnTUNBeUxqTXpJREl1TXpOb01UY3VPRFk0WVRJdU16TWdNaTR6TXlBd0lEQWdNQ0F5TGpNekxUSXVNek5XTlRBdU9UazBZVEl1TXpNZ01pNHpNeUF3SURBZ01DMHlMak16TFRJdU16TklOVEF1T1RrMGVpSWdabWxzYkQwaUkwWkdSaUl2UGp3dlp6NDhMMmMrUEM5blBqd3ZjM1puUGc9PSJ9LGZ1bmN0aW9uKGUsdCl7ZS5leHBvcnRzPSJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUIzYVdSMGFEMGlNVEEzTWlJZ2FHVnBaMmgwUFNJeE1EY3lJaUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lQanhrWldaelBqeHNhVzVsWVhKSGNtRmthV1Z1ZENCNE1UMGlOVEFsSWlCNU1UMGlNQ1VpSUhneVBTSTFNQ1VpSUhreVBTSXhNREFsSWlCcFpEMGlZU0krUEhOMGIzQWdjM1J2Y0MxamIyeHZjajBpSXpNNU5EbEJRaUlnYjJabWMyVjBQU0l3SlNJdlBqeHpkRzl3SUhOMGIzQXRZMjlzYjNJOUlpTXhRVEl6TjBVaUlHOW1abk5sZEQwaU1UQXdKU0l2UGp3dmJHbHVaV0Z5UjNKaFpHbGxiblErUEM5a1pXWnpQanhuSUdacGJHdzlJbTV2Ym1VaUlHWnBiR3d0Y25Wc1pUMGlaWFpsYm05a1pDSStQR05wY21Oc1pTQm1hV3hzUFNKMWNtd29JMkVwSWlCamVEMGlOVE0xTGpjeE5DSWdZM2s5SWpVek5TNDNNVFFpSUhJOUlqVXpOUzQzTVRRaUx6NDhaeUIwY21GdWMyWnZjbTA5SW5KdmRHRjBaU2cwTlNBeE5qa3VPVEEySURZNE55NHlNemNwSWlCbWFXeHNQU0lqUmtaR0lqNDhjR0YwYUNCa1BTSk5Oall1T0RFMElEQm9NVGMzTGpsak16WXVPU0F3SURZMkxqZ3hOQ0F5T1M0NU1UUWdOall1T0RFMElEWTJMamd4TkhZeE56Y3VPV013SURNMkxqa3RNamt1T1RFeklEWTJMamd4TkMwMk5pNDRNVE1nTmpZdU9ERTBTRFkyTGpneE5FTXlPUzQ1TVRRZ016RXhMalV5T0NBd0lESTRNUzQyTVRVZ01DQXlORFF1TnpFMVZqWTJMamd4TkVNd0lESTVMamt4TkNBeU9TNDVNVFFnTUNBMk5pNDRNVFFnTUhwdE9EZ3VPVFVnTWpFMExqRTNObU16TWk0eU5pQXdJRFU0TGpReE1pMHlOaTR4TlRJZ05UZ3VOREV5TFRVNExqUXhNbk10TWpZdU1UVXlMVFU0TGpReE1TMDFPQzQwTVRJdE5UZ3VOREV4TFRVNExqUXhNU0F5Tmk0eE5URXROVGd1TkRFeElEVTRMalF4TVdNd0lETXlMakkySURJMkxqRTFNU0ExT0M0ME1USWdOVGd1TkRFeElEVTRMalF4TW5vaUx6NDhjR0YwYUNCa1BTSk5NemszTGpneElESTFMakExT0dNdE1qTXVNRFl6SURBdE5ERXVOelU1SURFNExqWTVOaTAwTVM0M05Ua2dOREV1TnpVNWRqRTNOeTQ1WXpBZ01qTXVNRFkwSURFNExqWTVOaUEwTVM0M05pQTBNUzQzTlRrZ05ERXVOelpvTVRjM0xqbGpNak11TURZeklEQWdOREV1TnpZdE1UZ3VOamsySURReExqYzJMVFF4TGpjMmRpMHhOemN1T1dNd0xUSXpMakEyTXkweE9DNDJPVGN0TkRFdU56VTVMVFF4TGpjMkxUUXhMamMxT1dndE1UYzNMamw2YlRBdE1qVXVNRFUxYURFM055NDVZek0yTGprZ01DQTJOaTQ0TVRRZ01qa3VPVEUwSURZMkxqZ3hOQ0EyTmk0NE1UUjJNVGMzTGpsak1DQXpOaTQ1TURFdE1qa3VPVEV6SURZMkxqZ3hOUzAyTmk0NE1UUWdOall1T0RFMWFDMHhOemN1T1dNdE16WXVPU0F3TFRZMkxqZ3hOQzB5T1M0NU1UUXROall1T0RFMExUWTJMamd4TkZZMk5pNDRNVGRqTUMwek5pNDVJREk1TGpreE15MDJOaTQ0TVRRZ05qWXVPREUwTFRZMkxqZ3hOSG9pSUdacGJHd3RjblZzWlQwaWJtOXVlbVZ5YnlJdlBqeGphWEpqYkdVZ1kzZzlJalE0Tmk0M05pSWdZM2s5SWpFMU5TNDNOamNpSUhJOUlqVTRMalF4TWlJdlBqeHdZWFJvSUdROUlrMDJOaTQ0TVRRZ016TXdMams1T1dneE56Y3VPV016Tmk0NUlEQWdOall1T0RFMElESTVMamt4TkNBMk5pNDRNVFFnTmpZdU9ERTBkakUzTnk0NVl6QWdNell1T1MweU9TNDVNVE1nTmpZdU9ERTBMVFkyTGpneE15QTJOaTQ0TVRSSU5qWXVPREUwUXpJNUxqa3hOQ0EyTkRJdU5USTNJREFnTmpFeUxqWXhOQ0F3SURVM05TNDNNVFJXTXprM0xqZ3hNMk13TFRNMkxqa2dNamt1T1RFMExUWTJMamd4TkNBMk5pNDRNVFF0TmpZdU9ERTBlbTA0T0M0NU5TQXlNVFF1TVRjMll6TXlMakkySURBZ05UZ3VOREV5TFRJMkxqRTFNaUExT0M0ME1USXROVGd1TkRFeWN5MHlOaTR4TlRJdE5UZ3VOREV4TFRVNExqUXhNaTAxT0M0ME1URXROVGd1TkRFeElESTJMakUxTVMwMU9DNDBNVEVnTlRndU5ERXhZekFnTXpJdU1qWWdNall1TVRVeElEVTRMalF4TWlBMU9DNDBNVEVnTlRndU5ERXllbTB5TkRJdU1EUTVMVEl4TkM0eE56Wm9NVGMzTGpsak16WXVPU0F3SURZMkxqZ3hOQ0F5T1M0NU1UUWdOall1T0RFMElEWTJMamd4TkhZeE56Y3VPV013SURNMkxqa3RNamt1T1RFeklEWTJMamd4TkMwMk5pNDRNVE1nTmpZdU9ERTBTRE01Tnk0NE1UTmpMVE0yTGprZ01DMDJOaTQ0TVRRdE1qa3VPVEV6TFRZMkxqZ3hOQzAyTmk0NE1UTldNemszTGpneE0yTXdMVE0yTGprZ01qa3VPVEUwTFRZMkxqZ3hOQ0EyTmk0NE1UUXROall1T0RFMGVtMDRPQzQ1TlNBeU1UUXVNVGMyWXpNeUxqSTJJREFnTlRndU5ERXlMVEkyTGpFMU1pQTFPQzQwTVRJdE5UZ3VOREV5Y3kweU5pNHhOVEl0TlRndU5ERXhMVFU0TGpReE1pMDFPQzQwTVRFdE5UZ3VOREV4SURJMkxqRTFNUzAxT0M0ME1URWdOVGd1TkRFeFl6QWdNekl1TWpZZ01qWXVNVFV4SURVNExqUXhNaUExT0M0ME1URWdOVGd1TkRFeWVpSXZQand2Wno0OEwyYytQQzl6ZG1jKyJ9LGZ1bmN0aW9uKGUsdCl7ZS5leHBvcnRzPSJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUJsYm1GaWJHVXRZbUZqYTJkeWIzVnVaRDBpYm1WM0lEQWdNQ0EyTkNBMk5DSWdkbWxsZDBKdmVEMGlNQ0F3SURZMElEWTBJaUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGh0Ykc1ek9uaHNhVzVyUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMM2hzYVc1cklqNDhiR2x1WldGeVIzSmhaR2xsYm5RZ2FXUTlJbUVpSUdkeVlXUnBaVzUwVkhKaGJuTm1iM0p0UFNKdFlYUnlhWGdvTWpNdU9UZzJOaUF3SURBZ0xURTJMamswTmlBMk5UazNMakV6TlRNZ05UWTVOUzQwT1RBM0tTSWdaM0poWkdsbGJuUlZibWwwY3owaWRYTmxjbE53WVdObFQyNVZjMlVpSUhneFBTSXRNamN5TGpVeU56SWlJSGd5UFNJdE1qYzFMakV5TURjaUlIa3hQU0l6TXpVdU5UVXpNaUlnZVRJOUlqTXpNaTQ1TlRrM0lqNDhjM1J2Y0NCdlptWnpaWFE5SWpBaUlITjBiM0F0WTI5c2IzSTlJaU14TVdNMFpERWlMejQ4YzNSdmNDQnZabVp6WlhROUlqRWlJSE4wYjNBdFkyOXNiM0k5SWlNd01EWXlZV1FpTHo0OEwyeHBibVZoY2tkeVlXUnBaVzUwUGp4d1lYUm9JR1E5SW0wMk15NDRJREV3TGpsak1pNHhJREk0TGpZdE1UWXVNaUEwTWk0eExUTXlMamNnTkRNdU5pMHhOUzR6SURFdU15MHlPUzQzTFRndU1TMHpNUzB5TWk0MUxURXRNVEV1T1NBMkxqTXRNVGNnTVRJdU1TMHhOeTQxSURZdExqVWdNVEVnTXk0MklERXhMalFnT0M0MkxqUWdOQzQ0TFRJdU5pQTNMVFF1TmlBM0xqSXRNUzQyTGpFdE15NDNMUzQ1TFRNdU9TMHpMUzR5TFRFdU9DNDFMVEl1TVM0MExUUXRMak10TXk0MUxUTXVNeTB6TGprdE5TMHpMamN0TWlBdU1pMDFMamNnTWk0MUxUVXVNU0E0TGpRdU5TQTFMamtnTmk0eUlERXdMallnTVRNdU5pQTVMamtnT0MwdU55QXhNeTQyTFRZdU9TQXhOQzB4TlM0M0lEQXRMalV1TVMwdU9TNHpMVEV1TXk0eExTNHlMakl0TGpRdU15MHVOUzR5TFM0ekxqUXRMalV1TnkwdU9DNHlMUzR5TGpVdExqVXVOeTB1T0NBekxqVXRNeTR6SURFMkxqRXRNVEV1TVNBeU9DMDRMall1TkMwdU1pNDRMakl1T0M0M0lpQm1hV3hzUFNKMWNtd29JMkVwSWk4K1BDOXpkbWMrIn0sZnVuY3Rpb24oZSx0KXtlLmV4cG9ydHM9ImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIZHBaSFJvUFNJeU1EQXdJaUJvWldsbmFIUTlJakl3TURBaVBqeGphWEpqYkdVZ1kzZzlJakV3TURBaUlHTjVQU0l4TURBd0lpQnlQU0l4TURBd0lpQm1hV3hzUFNJak5XSTJaR1ZsSWk4K1BIQmhkR2dnWkQwaVRUZ3pNUzR5TnlBNU16Z3VOemxoTlRjeExqVWdOVGN4TGpVZ01DQXdJREF0TVRBMElEZ3VPVFZqTWpndU1qVXRNall4TGpJNElESTBOaTAwTlRrdU1USWdOVEExTGpJMExUUTFPUzR4SURFMU9DNDNNeUF3SURJMk55NDBPU0EzTnk0M01pQXlOamN1TkRrZ01qTTRMalkwY3kweE16QXVOVFFnTWpNNExqWTBMVE15TVNBeU16Z3VOalJqTFRFME1DNDFPQzB1TURFdE1qQTNMakV6TFRJM0xqRXpMVE0wTnk0M015MHlOeTR4TTIwdE1UQXVNamNnT1RVdU0yTXRNVGt3TGpRMUlEQXRNekl4SURjM0xqY3lMVE15TVNBeU16Z3VOalJ6TVRBNExqYzJJREl6T0M0Mk5DQXlOamN1TkRrZ01qTTRMalkwWXpJMU9TNHlOeUF3SURRM055MHhPVGN1T0RJZ05UQTFMakkwTFRRMU9TNHhZVFUzTVM0MUlEVTNNUzQxSURBZ01DQXhMVEV3TkNBNExqazFZeTB4TkRBdU5pMHVNREV0TWpBM0xqRTFMVEkzTGpFekxUTTBOeTQzTXkweU55NHhNeUlnWm1sc2JEMGlJMlptWmlJdlBqd3ZjM1puUGc9PSJ9LGZ1bmN0aW9uKGUsdCl7ZS5leHBvcnRzPSJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQU1nQUFBRElDQU1BQUFDYWhsNnNBQUFDL1ZCTVZFWC8vLzhqWS9Jall2TC8vLzMvL3YvLy8vdi8vL2drWS9ILy8vcjkvLzBsWlBMOS9mLy8vdjRpWXZRaFl2SW5aZkg5L2YzOC9Qejgvdi8vLy9Za1kvUCsvdndzWi9MOS8vLzYvZndlWVBNQVRQTXFadklBVmZFblpmSWlZZklpWS9EOS9QOEFVUE1kWC9FalpPNzYrLzc5Ly9zYlh2UXVaL1A4L3ZtZXMvY3BaZklXWGZMLy92c0FWZll2YWZRQVV2TUFVZThBVHUvOC9mMy8vZno5L2Z6Ly9ma25ZL0lhWC9FaVpPLzgrLzc2K3Z6Ny92djYvdmovLy9VQVdPNG5aZXdtWS9VQVdmVWdZZlFBVi9NdVovSXdhZkVBVnU4cFp1NzYvZi8vL3YzNC92djIrdm55K1BnZllQWW9aL0VtWVBFdFp1LzgvLzMyK2YzWTV2aW51L2pzOC9jQVVQWTRjUFFQV2ZRSldQUUFTdklnWWZGUGYvQWRZTzBBVWV2UzIvcjcrdmpKMS9qZDZQY0FXUFh2OS9TMXlmT3N4dk1BWGZNQVZQUCsvdkVBV3ZBUFd1OGlZK3dBVE96Ly9mL0Iwdm5kNi9pVXJQYzhjdmRjZ1BiaDZ2V2F0ZlYybi9WdGp2VW5aZlNac2ZOZ2lQSUNXL0ltWk84aFllODJiTzRtWmU0VlhPNEJYT3p6K3Z6aDZmdnM5ZnBnaXZyaDcvbS96dm5YNHZkUGUvZnovZmFyd2ZVdFkvWEkzUFNBby9RTlhQUVZXL1JIZVBOQ2NQRXdidkFwYS9BZVpQQUFTZkNodk84QVJlMExYT3ZjNXY3bjgvdlU0UHJRM3ZxdXYvbDhtdm5sN3ZqUjR2aksyL2htaC9ndGFQaWl0dmVRcy9kMm5mY3phdmVRcC9aMG1QYVd0L1VaWGZVQVRQWDQvZlJta1BSUWdmU1JyZk1uWlBNd2EvSUFYL0l2WlBGdmt1OGxZTzZ6ek8wQVl1d3RiT3IvKy8vbzcvNzcrUDBlWHZuUDJ2akYyUGhwanZoYmh2Z1VZZmU4MFBhd3h2YjgvL1c3elBWZ2kvV2d2UFJKZnZSQmVmUWVaUFIvb1BNMGNQTXBjZkdGcVBCNW52QWlhZXY0K3YvMS92N3YrUDNTNWYzSzJmeTMwZnR5a2Z1MXlmcWt1UG1OcWZtQm5QaytkL2puOHZkWml2ZEZjL2VteHZhSnBQVnJtZldhdVBTTXJ2UWpZdlNGbS9ON212TldoZlBGMi9JS1kvTEEwL0hQNWZCd2wrOXFqZTg0ZGUxVGcreTgxZXNVWk9wTWhPZ0FVT0xRMXZ1NXkvc3djdmpRMWZXbHd2UTdhZkhmNXUwcmNPb1kyYTV0QUFBTVBFbEVRVlI0MnUzZFpYVGJWaFFIOEFkNklrdG1POFk0M0RUTXpOaHd5dHlWbVpsaFpXWWFNNVVaeHN6TXpNek1PM096WlIyZGJXMmZwSFJIdjloK1gvTS85OTQ4U2ZHUmdFNm4wK2wwT3AxT3A5UHBkRHFkVHFmVDZYUTZuWTRTRFA0WE1HQVlBUUFodUlJZ0prUVFRazVrRXdSd2RzRzRvTUNRWWNuTHRlU21wVm5TTEs2b1BGZUcyV0VPczRDelNZalZZdGs5Z3JBMkZyY2dHQU5pNHdtYjJmOUdBd1BPRW93MWpBa3UrZWRPdnZtT0lSZGQyYjU5K3huQmQ1Yzc3eDV3NmFJbldBS0FvYzFuNldBZ3dQbzRLV1JybnhvNjVkRTlrN3AvTU5LWDR2RjR0bmc4cWNtK1lVa3ZMVDU4N2ZQakZyR0VPTktzWTZQVDIrakFNRkswZytkNTJ3MnZ2VHRwNHNIUzhQRHkrTkNtT0dlN0ZoWE9yTkNZZGNuaHc0Y2RXSDc1Qzdmd1BIdFhmaFJwazBGQ0dNeGlNbjdIZXorc3JTb2FGVC9kNjQzTEVrWDRHMUhNOG51OTArMFJJNnRHbG15WStuU3RqV0NtamZVWU01WXhXQWkyZEIzNmlqdHgyTm81cHBKNWRpNFN3Uk0vTFIrdEt4ZVFvVGc5TGlKKys2RDRoeDQ1cnc1amJEYmpHdEJXMUVpZFdGdjl3S3ZLaSthN1lVc1ZXZ1A4QmZybExVSmpqSzlxL2RLdUJPVGxnamFqUXpSZi85M1VYYW1QUllvUW5meUYveDc2OVRNMHREaDcyNGFMQmhiaTNEYlFZQkxHMGRZd2Z2ZUFxL3Q1bW90amVrTUUvek43V1VSYzlwYUh0MDRHT0lyQlJOczBOWVJZTUh2aGd3ZFRrNXd3SU9ad3Z6WVVndit5SW9qa1FDVG5UK3JicTgrOTlhenJjWmNFdElRVHJ1ZGYzcmNwdFhnNlJDZkEveTRZSlVqZVZObk5OM01wT3lKS0FKcGhwSnFPRWg3WFo5RDhpZ2pqeVFrNE5USnNiRTZPV1hNSnoycDJRSWtkTHN4MnVucCtxZCtQNUJNdGRUcVEwUzV5enBpaXVjK3doZjJ2Qjlwd3NQalNUMzBSV2EzdEg0Uk9ZdzBTRzQ0bHJoa3NaV294SjRKa1p2TjMrSHB3UjFyM2h0T0dJQnJkSUc3NWJEd1d6RUIxc2YxdGk2WjJNODJUWlVnQjRrWTdSMVVQS1l5MkFMWEZrc21YZDJ1ZWMySTJhRURJMkpqbG00RnRWcUFpekFnTVdiMiszMXozSE81M3gxTHdERmJFSVdQeHFqSFgxbUVKcXpjcFRFRUIvdkI0VldYWmlSaTBjSnd4c2lMMXVuTnRHUUpRaXhETDN5SDNhQzdqRUlJVW9ZQTlLMlZhSjFhOTdyS0NvN2VQbWkzRElFUXZCb1NjYkt6dU4rMWN3QUJWOExIa1ErTW9FNEpjYTQvVFdWdWljTjVlaDRQZGhZSHlwUDVrOWNieTJYYW9CTVExTnZWN0o1WTNBNlZKSUkyZC9HcUtzMEZHVUFuR2dMR3AzeFNNR1F3VXhUZ2M3S0xMK3gwb2t6bW9DRm1Ha1ljU3Y4ZHNwckpKbUk1czdGVFAzREx1WkcvVFh5TlhEVnR0dXlzQktFbkNlRWRpdFp0RFVESElIbHJjZCtJU25nR0t3VmlLdFYwNmZEWU1WU2JJeVozUlh6WFRscENmRGhSQ0VoamNhWG1QZWI5YzUxRUtDcjdrNHVGVCtMQUVESlNCaVJsZm5SZ3BuOXcvbEZrUnNqZDg4Y0Q3dGlpbHVrdXdzTjlzNzVzalE4V2gwYjJMN25IRm1vRXlyT2t2OXluTk90RldpcE5GZStJVW13VW9JNHpkNXpOQlZYREk3K3ZlbVJnQWZUaWhBN2x3VTd3ZnRmYXlvbXZ3czlLenBvQ0pjZ0RhR0hQMDdnZFRteEZVU2VobWNjSG5yQUpCUWx6OGdHSEZvbXBCVU8vam5vOEhFd2JRWm1EcnIwNzFjMm9GUVZCMlY0NFpBT2hQaWFYdzY5SUtDak53Q3RlR3ZUM3ZxYWRla2hCU045WGpSRkJGQ01adFcwWTVDR1lNWUdCaXMwcU4xVm9hTGlmNWpRN0FJUUI2SkFsYnJ2TE1DeUNvSGdSbEx2U3JoWHdHRCtnUkhIelhZWS9keENGVlp1VGtPZndSMzc1Q1JnTDBNQWw0YUpVeG0wTlFUUnhFRWQzTmZBMmdoK1IxZkdYKzI4WmdFSFhKZ1hWM0V3bFFsTERFN1laUTVSd0lRdnYyUFNTRFptdnhPeEloYXUxZEZWZHg3ZHp6QlFaUVk3VzlWeTRpQk5YbjNqd1VHQ2p1aGsvT1hTc2lxSUhpNUJkSkdLREZZSHZ0OWpsUUF3Z0dpaVoxWUVMb25WRzlXMldDVUlNWmdiM2o1dzRBWmt5cHM1aUNTVVVsQ0dvQXpXNGF1UlhrQzVSR0hUdzFjWlFKYWdKVnA3eE9PdVZqS3VlNExqejBZSU1kYWdIQjZwUmI2eDFtUUFPMmdQYWwwem1reFl3ZzVDOWZmaDVKWTZqOHczQTNlRERjRzRtZ0ZwRG9mbUFjZGdsVWdveDRjayt5RjBHTnhBMWF5ZWJSQ0lJTlpQS2s4amlrVlpLSzFDc3huWXVuR2V6TjNlT3prRVl6QXR2MW1zQm1NRlN1QTludStDQlVSRkFieUxucjRycDBHa0dFUEg3SXlDYnRnbmdURjk4QXJGVCsrdUtMZkY2b0ZlVHQyV2M4bFNEQWdxOU1jYmIyck9vcml1dHhYMmRNWTBka2NuRjdUenVvRVlSTU95Y3V3d1pBZ2FaQklESkZYSE1Pb0JLa0EyamZTOU1nVjV4RHB5SnB2d1RSYUI5QnBwaHJ6aUZtUUVHVXhxMFYwLzBDY1BZUE8wVCtuUTlkUUdWR1F2SncrOVFLcUJWa1duZC9aNVpHUllRbzBDVlp3MzJrc2VkOTR3bVZJSG5renRJNHFCWGtURjU4UG0rbGM5QjQ5ekF0RHhyRG54M00wem1NNXdja3hZaFFveVRCSUJmWEVScEJjQmk1OUtWMWZxVFZQcElVUEIrSnBWSVJoKzM4MjVJYmN6UTZaNGVIVXJzUUY2REJrZm5FNFhCdk1JZzJzZzQraDZsYzF4TEMrdlBYRHA4dVEwMGdmL3pHeTNCL0trSE1ONUxuRjd5dHpUNENBL3VyOWk2aE5DUEFBTVp0N0JFSk5aRlRrbkpkYlVFK25TQU1XTlRIWjRLYWNKdTZ6V0R6SEpqVzkxQXVIeDZIb1BvUWRQZHRHTUpiMG1rRklTK01qSUNhN0NPbXRhOTJCbFpBaVpYY1VoSVBOU2xKY2ZJMHdRQ29TUmMyTEJDaEpoWk1JQlNEcEpHcGc2QW1KWWtwV1Eyc2dCb0grL1JPb3dZemdzUlo2d3NOZ0o2eGQ5VStGR09Yb2NvUWgzcGV4VWNEZWh6UnRrY0dxWDRrYjVkemV0L1VtWFVBZXRMTjVMeHlVKytBdWtrUUJ5TnVXK0VZQytnUm9uRmRuMnhqSklJcXpnaUNFZmFpbzdpakJPZ0pFUmd3Ymx1bHVyMkZPR1BFdzEyQmdBRk5ETzc2VTJnV2dtb3FPK0JaQ2FqRC9FVmJrbVFWYTRLZ2ZkV3hTekFES0hQZ2haLzJyVmJ6ZTcvR3BERXo4Z21nelZ4VGVLK25PUURWWXdyOWRqS2JBV2hMRHlNRDE0OHlxZFZiQ0lZbTdlckNLM0RQQVdtc0FkL3JPNlJlRUZQNTNvWFlBaFRBMU5UUFRIRWlxTTZNY05XK0xqZ01LQ0tLWFJvVEl5SjFpdUlkODRtbGhnR0tDS2tsYTRvYVJpdWZBOEZzTGo3cFFqNFhLS1BHT3VLUzdzY2E3QWdwZm00eU9qTHhMVFlYQTJVUVZ4VC96Q0I3RHVLVS9rNjhMSGI3Y2tYbUNFYWhKSXdrc0xaSFVrVjVUbzRkS2drRmpzejZpTGVhQmFBWXBuRHdaL01iQXh4VWxGelpiU3NQRkNVVXBIZmUzRlJ0UjFBeENCcWQ0WS95MFJnb1NiZytFdzhwV2hVWjRCU2JFV2hNU3BuWk5UMmZBR1U1QUQ4bHBSSXF4K2pzY2Y5QUhDSUJwUmtFZkcxNGlaRlRabU5FS0M1KzAyWEVERlRnc3RWZDU0dmpPQ2hEK3BBcE8zc3B0a2hBRFZadzdyUiszc1ljV1lFWjJkKzM5RTVzQ0FIcUNMRjFtdFlyUzZTK3d5TmpYSGJwU2xzWVVFMDYzK2x3U3J0SUNEbUtLWUk1bXVNM0QyRmREcUFXQ1VpNDdwM1VRN05ESVUxR1o5V21wVGhYWUlDS0dGdnNsT1NzWXFPZDN2bUpzWExNOHN1SUFhZ3NnOGREYjQvd1V2Z3ozSnFuWGZqTWdjUUMxSWJOR0svdTdwdm5ma3ptenZSbWVnaG1qOTUvSlB6UnJqaU5BZXBqRXRnbE04Ty9rRnRDb0RNckNCZlpiZFpXZ2htZ0JaeVpLUlcrR2JPZ3hJOUN5ODVzUnJ6WmlWOStSSEMrQkRTQkUwQUMvLzQ5cFQwcU5zOHZPODJxSUFoRFRjMWpTdDVhd1dPTWdXWTYzamlpOXMySjNYS091K1ZUellGUXk4dm9yeXdhL3NrQVB0TUt0RVJjSFZpMjg1b0Zua3F2TVhDS083MGRRYTdNbm1UMzlPbmk0bk5IU0VCVFJFcXprTnJQUHg3alN6SngzS2xjMnkyTGlIUUhEalJ0dTZMTFFvS2pjRWdidUdPNVFXSUgzN3huVzZKOWRxajhielU1bWNiWVZ4UWpQTWRtL0Vod1dCdTRsM1NMWUZGdy9iSTN2dkpGQk96aVA5LzNGN1gwWC9BdGNuQlV2NGRYWGhMTFpyYWR4eTBRSWhrdzZiQnczL0VlMjJlNTU4M3BMWElRb2I4dlJtUk9iN2VwT0h2ZHJKNDMzWGEwSzhDc1JRSnRDc05nMWpiNDZLMGJSZzhxeW02cXJ2YUxFS0kvZ1ZEMDd5OHg5WjJWdUgzVitxc3VXRUVBYUN0TjljY05NcDBuZk8zUUZ5ZHRMQTlQS1hmSFZWUTR2WTFlMHdsK1U2UFQ2VXlxYUlxdlNnbHYyREJ0d29XRlBFczZ0b0VCL3hzNFdzQ1NvMk93eDI3Wit2cXR5eDhvVGUyMWEzalBuakZ1dHp0bVozelA1UER3TGNrak4rNjlic2FRemdCamM4Zm9zVktiZm1wTXkwTTdjUDE1NDFaZU9lSGl4WHY3VEx6bWlpdXU2WDcvZll1ZnZYaENsK2N1VzFMTGtyUGd3UjB0UXRLaU9yRXM0UWxiZDhQNGdjdk9DYnBnMmZqekI2OWdDU1pzLzd3d0t6aExNTkd1c0F4WGxDV0JBSUNEQ0FZOEg0eFdrT2VLalkyT2RvQ3pCc1lNSXdoTUNHTzFtZzBHZ3puNE1sdXRETU5nREJqY05rZGNwOVBwZERxZFRxZlQ2WFE2blU2bjArbDBPcDFPcDQyZkFkNzJmNE0rR1B4cEFBQUFBRWxGVGtTdVFtQ0MifSxmdW5jdGlvbihlLHQpe2UuZXhwb3J0cz0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFJQUFBQUNBQ0FNQUFBRDA0Skg1QUFBREFGQk1WRVVBQUFELy8vLy8vdjc3L1AzMStQenk5UHJ5K3Z5bW1zejcrdjdzOGZiNDlmckx5K21wMytUVnl1T3lmN09qMmQzdzkvenA3dnJzN2ZyYjFlcU1qOG03Nk9lZTNkZTh0dGpHNityQjMrVGw0UEg3Ly8vWTRPK2N5T1BCdU0vQzV1L2szKy81Ky8vZDh2dkZtczZtNHVlenllVEp4Tnp2NC9XK3Nkakk1UERBdXRiYjFPajQrUC9iOC9EajUrbmowZXIzOGYvYXlPRjF5dGJBa2NXVjQrZUFVS0Z6VWFGOFVhS1pUNkJ3VDZHaVQ2Q1BUNkNJVHArRlRwK1NVSjlyVDZHa1VwOWJ4TE9uVUoxU2NiaG1UcUdNVHA5TWRicWRVS0I4VHFCNVRxQjFUcUNGVWFLSVVLR0NUcUFYcjhZNndMdER3Ym1WVDU4NGk4d3R2NzlZdzdaZVQ2RVRyTVIyVWFJWG9ja09wTVZKZnNCVWJMUVl0Y1Vhc2NRc2ZjQW5rODBobHNzamtjb2RsY2RiWmJGYVlLeHVVNkVhbnNaRWdzUlR3N1puVjZ4NVVhR3NUcUFpbXN3Y2tja2R0c1VjdXNOaVVxS2hWcUVya00wZW5jbytoY1lRcDhST3dybU5WS01udmNCTmViNVl3YkZpWGFsY1VxVm5VYVFrbU04eGpjb1RwY2tmdThBbnY3ODB3TDVzVnFlYVZxU2tYS05pVFo4Z2pjb3FqTWtPcU1jZG1zWVVvY1V4ZzhVaGxNTW1nc05iYTdhQWRMU2lhYTV0VWFWbldLUVRxc2tkbUw4OWNMbHlXS1pxVXFOb1VweWpUWndic2NnaWljZzhmc0lTcWI4U29ycExhYk5YWmFtaVlxZHZUNTRpdHNNa3VzR2FoYncxZHJ0SndyZWhkYlJpd0xPbVZLWmlWcVdYVXB4YlVKdzhpTWtuaDhVYWtNSWd2c0dLZzc4Wm1McGh5YmR2WnErQVdLU3JVcUtkVHBzMWhzY3RkNzJqZ0xzWHQ3bFJaSzk1WDZwZ1Y2bGdVS2pVcjlBeGpzd1VyY2RGZWIweXY3bU5XNlNlVkp1bHFOS3pxYzhlaThVWG04UWVvTGVPYmJKRFlxeU1ZYXVYWktwZFZwN0d3ZUdlbWNhWWpzRWRxTHFUZkxpNHVObkJ1ZFpOeGM2bWpjY2FvOFYyenNLcWk3dHd5Ymd2Y2JkQWFMYUJhcTlpWnF1UlRxZU0xT0J4ek5xTjJ0RmZ2Y3FBMU1rdW84VnRsTVUweExOcmQ3Tm5YcVY0VjZDS3U5cGhxOWdwdk1pU284aFBoc04wZnI1emFyV1ljN1Jwc05NN3BzOU1uczRTdU1teW1zVkZ1c09hc3Q2NDVHa0RBQUFBTlhSU1RsTUFBUVVMTEJvaC9oSTliZjYwc3Y3UXI2S1FkUDd1N0s2aGo0Vkg1dURjZkZkVVN2ejM5dlR5NjlDVFkxMVUvdDNNaVBMdmdGRS9Sbm9BQUFvS1NVUkJWSGphN1poNVBOUnBITWNaTTI2NXV0dXQzZTVyNzkwY1NVeVNaSkVySW1FYVpVZU9VSnJjRFNKaEdqSkdOWWlHTmVod2hOWlZza2piUnVpKzcvdHU3LzArdjhla0ptZjd6Lzd4ZS8vaHYzbDkzdC92ODMyZTUvZVFJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU0VoK1o5Q2taK3RwYUdoOVNsVlRsYm12eUZMVWFUSjB4UXBRL29OVlhQRTVOdDNMMTY4ZVBmMnpSRVRGRDg4WFU1SlMwV2x2ZjNNbVhhVnFXT3BnNVNnZkRiaTltVzJjWDYrdGRXRHhzYkd6ZWR1cWNwL1dMeTgycG5tMHgwZHB4VXdMVk8xNVdRR2hqcmlicG14c2QyYTlldXRyUnB0YmFNaUQvcnVQYWY2QVYyZ3FiVjBpRVJkb3E2dUxwRklkT244K2ZNS0xXZTFLUU4xWC9uMjVRSTJtMjIzM3RyYXlzbzIrR0Rrd1dyTFAvK3NQdmN0WlloRHBOMWNVdEwxQzhIcjE2OS8vQWs0Zi83U1g5UGwrODhmZmRFWXdQVnZ0bzA2R0JucDR1S3lBdkcxMHBES0gxOVN3cjMySzhHcFU2ZTJiOS8rSTRBc0puM1NuN2JxNVlKdWdmeHVBVjhrWUFtc09EZWFNdWdwL2tTQnk3MVdlK2pRejVoVDJBRkwvS1V0MjNmOVpleWVmQ3NpMzljSDhoMGNHaG9haE04bVV3ZlpmalVSRjlJUExiSFlnSWtHOWlBSWlVdmFNbjN3MldWalkySUExK1JiVzI5R0RmRDFkZkZCK2ZIeDhVR3BUcFkzbFdVSE04YlRvZnBhU2Y1Y1EwTkRKT0R2SHhNVGd5V0c5YkVLdEl2R0JRWEdkbmJRQUpoQVc1eVArdThRRk8vazVDU01jQXE2cFVFWnNQeXhDclcxangvcjZIeTNaSWtGWUdpNGRLbnVJbitDR0VDTURHaTlMb0E2bTQwRThBSTAya1lGb3dGQTlRYzVPU1VrWEhCTWFMMGdQRGRDYm9EcCs2S0x6ODladHZpUUdRaEFENkFEUzNWMUZ3Rk5UWVJFQmJJWTMxc2RTcGRoQXRoWXdLcXhNVGdZR2dENXFha28zOUhUTGFCMWg3ZGo1dStUNWZ1YnZ0bnR2L0J6SHBzdjY4NUhBc2dBRlBUMWpRam9Zbit4ZUk5eUw3OGRXVkJRVnNabXd3U2dMUWdDcUFHV2xxbnhxSDdQZ0RDUFZyZXdNSGZ2ZS8wTWd1S1hMYlU4bEs5anJvTUU1aGtzUlBtb0JWaUFYbEZCTnhMckcvbFBlcitSMURKMmdUR2JiU3paZ1pHUnVYaitJTit6ZGV2V3RXdlhidG15WmRldWxmdC9teUhmeHlFMlRTVHdtak5uenJKbFA4QUlmTGRrbm9YQlFtU0FCWXd3WW5xR3ZyZ2lSa3RHbXRGbHhpQmdaNGVPSUNzWWdMMTdRUUROWHdUSzkvQ0FmSWpmbitTYTVQcGlpbFl2azBDZGR2WmFPa2Z3am9ERld3S0VBWjJ1VDZkWGlGbjBJeFRwNGIxTEhBQjI3SHk4QTRKemMzTlJmcERqQmMrdFc0bDRTRTl5ZFQxOE9DL045TDZLTWtXcSt4b3FJbjQ2ajhkN0k0QU5RR0F1bmdGa1FBY0JGdDNJaUVVZnBpUjljNVhCRWJCbWpkMGFxSDh6dWdPZy9oV1E3M1RCMHhQeWNmV1FmdmhLMnRXclYwOCtmUDY1OGx0ZG9HbCtybkJOd09FeCtUbEk0SWNlQVl1NTNWT29EeUFCRm91ZUFYOWlOS1VQSWJzQ21QLzg5VGdmbllBN1VmMEpDVGovK0s3OVJQNFZ5RDhKWkdVOUhLNmlvWVErVnlpSzQ3NXM3K0J5T0V3Qms4Y0VnWGNOOEJ5aUZnQWdVRUduVjRKQXhUU3BVUjREOGNRQnRCbnk5L3I2U1BKeC82RisxUDY4dkxTMHRKTTFOU2V6YWxhdFlwUnpUN2VjUGR0K3R1VTB0OXpMUzhEaDhQak1IS1pFQUF6d1VXUWdtUUtra0VHSCtqTllyQXlXOUJDb3cvQmJFK1VUK1M0dXhBRUUydy9HejMwTDFPK0s4NjltWldYVjFHU3ZRbXphZEwyOC9GWDVvNVJIS1NrcFRFRTZoOGRqWWdISVJ3YmZnNEVCTmdBRmJBRG9zMWlWckNOU254Z2pyUjg4c0lKOGljQk80Z0IwREFoWUMvbHhjZHUyNGZ5c0xPY3NaMGIyZFFhRE1LamJCSGdCS1NsZUhFNDZrOC9ubzN5SkFENExKQUxZb01rb1ExekI4cTk0VDhEMkFXUkhSVDJEL1lmNjN4QWZuK0FZNE8zbTV1N3VqdkszN2Q1OXpOUjBnYk56dG5OeU1tTVZnK2dCcE5lQlEyRWhkQ0NkWThMaGNQaE1KaE92QVdFQVBaaUhUZ00waVNDQjFxRVM3UVdqSXJxMGdIcGtkVlJ3VkZUd005ai9LRDgxS01MUk04QU5CSWo4M1pCL3pIUUJDRUE4ZzVHZHpXaTdmaDA4R0NCQk5NRFBLMFdRSHNyaGd3SHVBU2dRQnZPd0FRamdTYWpVcjh4Z0dUV3hqa2dkSmFyVjFkVzVrWkY3YzNOOWlQd0lSOGozQm9GMWNYRlZWVGdmR2dBZFlDUW5aelBRRW1SZmYvaXlwRm1obzRUN3FLMnVyakNsTURZMDFFU1EzajBHZUNkZ0F3TjhJaExic2JLeXFMSUNUb0lqVXJ0Z1FuVzFpNCtQTDFTL2N5ZGNRQkVST0grbGUzaDRWVlhnYW9pSC9PNE8xTlFrMTlRd1hnNC9NeGFlRGJKeTFMRm5oci9hRkJMaVZWZ284QXROVDAvblNSUjB6QWdGYkxBUXJ3SUk2S0lOK1lYTXUweXNodTgrdUgwaHZnSEZ3L2g1ZTY5Y3VTN094bVpmNE9ybEd6ZENQaUd3SURrYnhpRDdaZk5INDk1c0pNcTRqMDV6MjBJSzI0b0w2ME5CZ2NmVDAwTUtpM1YwekpBQlRDSlN3TXV3dEFoT3BZd1k2ZnVROW5lbmc5REIwbUZuYWlyTzl5Ynl3OFAzb1h3c1FBRDdJSm54OFBsSFN1KzBVQllVeWtNS1EwSkMvRUpCWWY3OCtVakJmUEhpeFdabVlBQk5rQ2pvR2hZVjZZcWJobEdscjdLYm1VS2hnekErTlQ0ZThxSDhzTEN3bGV1T2h0c0VCa29Fc0lFenJNSndsVS9mdTVJcHlpb2xkYURnNXdjS0lNRFUwOU16ZjJQUU13azNRQ0JhM0FUbmtCUmpUZ2c3aGNKNHVIMmhmcHdQRGJDeGdYeENvTWNndVZsVHJ0ZDNtRVp6T1hRQUd3QVNBMExnelNBc05DeGFGSzNmTlBiOWQ5VGZuWjBYSXB3YWNQdUplTWlIQ2RpM0doa3NOMFdMNEx4Z2dlbjlLZFMrdm9lVXBuSUxpME9LN2YwRUFvRUpWZ0FIcEdDR0hMQkM5S0xvNktaaGl1Ly9la1puWm1hcGt4UGFmaEtCbzBnQWRRQUpRQTgyT21lbFBkZWs5UE1ZMWV5b2F5dXVyL2Z5aWpVaERISkFBQnRJQkF4Z0VLTmoxSHI3bXI0anpDd3RkZlNFNjZkYjRDZ0k0Q1VBVUw1cDJyRi9ZUFg3UWZiVDVrZkZmdlgxOWZZbW9hRFEwd09BTURDNFlXRlE1SCtwMTdmbTZFNHdhRVVDYm9Da0E0SGRCaTlNVGRQeVhrd1o4S0dzT0w0OHhONGVsc0VFZUhzU3pMb1BCSmpDUGJONjc5OUloOHpNekIwN2RpUW1TZ1RBQUcxRFlQbnV2Q3Q1OTJmSURlWmRWRkpYWEF6REdHdUNIY0FBSytCVDhjWU5mN1UrdWtpOUpSSHc4SUE3QU8zQzhIQmtFQWhIOFdIWEsvZTFLSU43R1piWTEwRVg3R05qMzJtQ1diZEI5RGQ5bGpIdXpva1RwV0FBQWg3dXhEVUlBalpWVmNSbGZQakpiQkFmRlBJS205cnNFV0FnbVFTSndZYWY0VjNVSnhOdm5TZ3R4UUpyZXdSUXZtdlZ4L0l5ZzBadVZEa1dpTVVDT2FnSGhNRDNHeVpCZnQ5UVI5NkRKc0FhN1BEd09PRHV2bXZkdXYzd0xRQmZZMC9IRE8zZlRFckQyNHI5N092dGk4RmhQaE1NQkRubU9tRHc2M2k1QWR4Vjc1eG8zVnA2Z09BNHNBVSt4cFArZ1BLSGlOeE1ybGRJUFRRQkRHSmhFSGg2T2VibWh5NTlOWEFkVlBVNzl4SVRTeE1Qd0Z2bytQRzRwS1NxcHgvRHpUTjBhS05LWHFVVSs4WGExNGVhaFBKeTlQaTFJalhhb05vblArYkowOS92SlI0NGtKZ1kvc2R2VDhiSVEvd0hJVGRydWdMNll2Ynk0OVJ5UlMxZlFmd2dvZEFtVGxCVi8xaGRkY0pFR3ZUc3c1RlZwTTZhT1dyVXFKbmFTalJaR1JJU0VoSVNFaElTRWhJU0VoSVNFaElTRWhJU2t2OGwvd0p1dlZ0UTNuVjJHUUFBQUFCSlJVNUVya0pnZ2c9PSJ9LGZ1bmN0aW9uKGUsdCl7ZS5leHBvcnRzPSJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUIyYVdWM1FtOTRQU0l3SURBZ05EQWdOREFpSUhabGNuTnBiMjQ5SWpFdU1TSWdlRzFzYm5NOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6SXdNREF2YzNabklpQjRiV3h1Y3pwNGJHbHVhejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TVRrNU9TOTRiR2x1YXlJK0NpQWdQSE4wZVd4bElIUjVjR1U5SW5SbGVIUXZZM056SWo0S0lDQWdJQzV6ZERBZ2V3b2dJQ0FnSUNCbWFXeHNPaUIxY213b0kxTldSMGxFWHpGZktUc0tJQ0FnSUgwS0lDQWdJQzV6ZERFZ2V3b2dJQ0FnSUNCbWFXeHNPaUFqTkRZMFFVVkNPd29nSUNBZ2ZRb2dJRHd2YzNSNWJHVStDaUFnUEd4cGJtVmhja2R5WVdScFpXNTBJR2xrUFNKVFZrZEpSRjh4WHlJZ1ozSmhaR2xsYm5SVmJtbDBjejBpZFhObGNsTndZV05sVDI1VmMyVWlJSGd4UFNJd0lpQjVNVDBpTUNJZ2VESTlJak13SWlCNU1qMGlOREFpSUdkeVlXUnBaVzUwVkhKaGJuTm1iM0p0UFNKdFlYUnlhWGdvTVNBd0lEQWdMVEVnTUNBME1Da2lQZ29nSUNBZ1BITjBiM0FnYjJabWMyVjBQU0l3TGpFM05EY2lJSE4wZVd4bFBTSnpkRzl3TFdOdmJHOXlPaU0wTlRSQlJVRWlJQzgrQ2lBZ0lDQThjM1J2Y0NCdlptWnpaWFE5SWpFaUlITjBlV3hsUFNKemRHOXdMV052Ykc5eU9pTTJNVU15UlVRaUlDOCtDaUFnUEM5c2FXNWxZWEpIY21Ga2FXVnVkRDRLSUNBOGNHRjBhQ0JqYkdGemN6MGljM1F3SWlCa1BTSk5NamN1TWpNek9UQXdNakU1TVRZNU5qSXpMREl1TnpBNU5EUTFPRFl5TVRjd05UYzBOaUJzTFRFekxqVTJNREV6T0RNNU56QTNNRGd3Tnl3eE5TNDBORFE0TlRBM056TTFOVGc1T0RZZ1l5MHdMakkwTkRjMk56ZzBNVEV3TWpNMk1URXpMREF1TWpRME56WTNPRFF4TVRBeU16WXhNVE1nTFRBdU1ESTBORGMyTnpnME1URXdNak0yTVRRNExEQXVOall3T0Rjek1UY3dPVGMyTXpjMU9DQXdMak14T0RFNU9ERTVNelF6TXpBMk9UWTFMREF1TmpZd09EY3pNVGN3T1RjMk16YzFPQ0JvTXk0eU16QTVNelUxTURJMU5URXhOalkySUdNd0xqTTBNalkzTkRrM056VTBNek13TmpFc01DQXdMalV6T0RRNE9USTFNRFF5TlRFNU5EY3NNQzQwTVRZeE1EVXpNams0TnpRd01UUXpNeUF3TGpJNU16Y3lNVFF3T1RNeU1qZ3pNemNzTUM0M01EazRNalkzTXpreE9UWTRORGMySUd3dE1UY3VOamN5TWpNNE1USTNOVGt3TkRjc01UZ3VNVGcyTWpVd05Ua3pPVEExTkRNZ1l5MHdMakE1Tnprd056RXpOalEwTURrME5EVTJMREF1TURrM09UQTNNVE0yTkRRd09UUTBOVFlnTUM0d01qUTBOelkzT0RReE1UQXlNell4TkRnc01DNHlPVE0zTWpFME1Ea3pNakk0TXpNM0lEQXVNVFEyT0RZd056QTBOall4TkRFMk56UXNNQzR4TnpFek16YzBPRGczTnpFMk5UTWdiRE13TGpBMU56UTVNRGc0TnpNMk9UazBOQ3d0TVRrdU5UQTNPVGsyT1RNMU9EVTRNVGMzSUdNd0xqTTBNalkzTkRrM056VTBNek13TmpFc0xUQXVNakl3TWpreE1EVTJPVGt5TVRJMU15QXdMakUzTVRNek56UTRPRGMzTVRZMU15d3RNQzQzTXpRek1ETTFNak16TURjd09ETTJJQzB3TGpJeU1ESTVNVEExTmprNU1qRXlOVE1zTFRBdU56TTBNekF6TlRJek16QTNNRGd6TmlCb0xUWXVORE0zTXprME1qSXdPVGt5TURrNElHTXRNQzR6T1RFMk1qZzFORFUzTmpNM056Z3lMREFnTFRBdU5UWXlPVFkyTURNME5UTTFORE13Tml3dE1DNDBPRGsxTXpVMk9ESXlNRFEzTWpJeklDMHdMakkwTkRjMk56ZzBNVEV3TWpNMk1URXpMQzB3TGpjd09UZ3lOamN6T1RFNU5qZzBOellnYkRFMkxqUXlNemt5TWpFek56azJPRFF5TlN3dE1UTXVOekEyT1RrNU1UQXhOek15TWpJeUlHTXdMall6TmpNNU5qTTROamcyTmpFek9URXNMVEF1TlRNNE5EZzVNalV3TkRJMU1UazBOeUF3TGpJME5EYzJOemcwTVRFd01qTTJNVEV6TEMweExqVTVNRGs1TURrMk56RTJOVE0wTnpVZ0xUQXVOVFl5T1RZMk1ETTBOVE0xTkRNd05pd3RNUzQxT1RBNU9UQTVOamN4TmpVek5EYzFJR2d0T1M0ME5EZ3dNemcyTmpZMU5URXhNemdnUXpJNExqWTFNelUxTXpZNU56VTJNek13Tnl3eExqWTFOamswTkRFME5UUXpNRFF5TURnZ01qY3VPRFExT0RFNU9ESXhPVEkxTlRJMExESXVNRFE0TlRjeU5qa3hNVGswTVRrNU15QXlOeTR5TXpNNU1EQXlNVGt4TmprMk1qTXNNaTQzTURrME5EVTROakl4TnpBMU56UTJJSG9pSUM4K0NpQWdQSEJoZEdnZ1kyeGhjM005SW5OME1TSWdaRDBpVFRFNExqRXdPRGd5TnpjNE5Ua3dNVEEzTERrdU1UazBNRGd5TURFd05qWTFNelk1SUd3dE5DNDVOelEwTVRNM01UTTRNamswTURZMExDMDJMakk0T1RjMk16UTVNemt5T0RVeklHTXRNQzQxT1RjNE9EWXlOak0yT0RFME1UazNMQzB3TGpjeE56UTJNelV4TmpReE56Y3dNellnTFRFdU5EVTRPRFF5TkRnek16Z3lOall6TEMweExqRTNNVGcxTnpBM05qZ3hOVFU0TVRRZ0xUSXVNemt4TlRRMU1EVTBOekkxTmpjMk55d3RNUzR4TnpFNE5UY3dOelk0TVRVMU9ERTBJR2d0T1M0M01EazJOekk1TWpJeE9EWXlORGNnWXkwd0xqY3hOelEyTXpVeE5qUXhOemN3TXpZc01DQXRNUzR4TkRjNU5ERTJNall5Tmpnek1qUTJMREF1T0RNM01EUXdOelk1TVRVek9UZzNNU0F0TUM0Mk9UTTFORGd3TmpVNE56QTBORGNzTVM0ME1URXdNVEUxT0RJeU9EZ3hORGt6SUd3eE1TNHdNREV4TURjeU5URTNNemd4TVRJc01UTXVOems1TWpFME9UWTFOelkzTVRVeklFd3hPQzR4TURnNE1qYzNPRFU1TURFd055dzVMakU1TkRBNE1qQXhNRFkyTlRNMk9TQjZJaUF2UGdvZ0lEeHdZWFJvSUdOc1lYTnpQU0p6ZERFaUlHUTlJazB4T1M0MU5qYzJOekF5TmpreU9ETTNNemdzTWpjdU1qVXdNalEzTVRjek9EUTBNakkySUd3M0xqUXpOemN3TlRFeU1ERTVOamcxTkRVc09TNHpOVEE1TkRFeE5qTTVOemN6T1RZZ1l6QXVOVGszT0RnMk1qWXpOamd4TkRFNU55d3dMamN4TnpRMk16VXhOalF4Tnpjd016WWdNUzQwT0RJM05UYzVNek01TWprNU1UazNMREV1TVRjeE9EVTNNRGMyT0RFMU5UZ3hOQ0F5TGpReE5UUTJNRFV3TlRJM01qa3pNeXd4TGpFM01UZzFOekEzTmpneE5UVTRNVFFnYURrdU16azROemN5TURZMU1EY3hPVEVnWXpBdU56RTNORFl6TlRFMk5ERTNOekF6Tml3d0lERXVNVFEzT1RReE5qSTJNalk0TXpJME5pd3RNQzQ0TmpBNU5UWXlNVGszTURFeU5ETTFJREF1Tmprek5UUTRNRFkxT0Rjd05EUTNMQzB4TGpReE1UQXhNVFU0TWpJNE9ERTBPVE1nYkMweE1TNDBOemswTVRZeU5qSTJPRE15TkRZc0xURTBMalUyTkRVd09UTTRNekkzT1RNMk9DQk1NVGt1TlRZM05qY3dNalk1TWpnek56TTRMREkzTGpJMU1ESTBOekUzTXpnME5ESXlOaUI2SWlBdlBnb2dJQW84TDNOMlp6ND0ifSxmdW5jdGlvbihlLHQpe2UuZXhwb3J0cz0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFaQUFBQUdRQ0FNQUFBQzNZY2IrQUFBREFGQk1WRVU3T1RnK096azlQRHNnTWk0OE9Fa3VQMHc1TlVjdlJqdzROalljTGowV0p6WWxOa1FiTUNjUklTOG5PVElQSHl3clBEVU9IeTBzUVRvWUtEVWhJQjhYSmpRUUlob1hGUlFsSlNZV0tDRXRMQ3dUSUN3ZEt6WVBJUmdiR2hvVkV5RUJDaE1JQ0FrRUNRMEpDUWtOQ3dzTEdCUVBIQmtqSVNFWEp6UU9IaXNTSWg0WktUWWJLemNPR3lZYUdSZ3VQa3d3TURFNE9EZ2xKaWd6TWpFL1BFa3VLVDhqTkVNdVFqd3VQMDAxTkRRd1FFMFhKQzRhSnpFdUxpNDBNRUljTHljNU56Y3lRbEE2T0Vvd1FsRXZRVkV0UUU4bU9FY1dMQ0lhS2pndEtpa1hLeU1tSnlnVktTSXdRVThmTGpzaE1UOGxIak0zTmpZa05VSTdPemtaS1RZdFBVdTBzN0xJMDh2Ly8vLy8vL3ovLy8vLy8vL3crUDd4K1AzMCtmN3c5LzMvLy8vLy8vMy8vLy80K1BqLy8vL3g4ZkxuNStqYzN0N1EwdFBJeXN1N3ZiK3h0TGFycnJDa3BxbVdtcDJIaTQ1M2ZJQnBibk5lWTJkVFdWNUxVRlpDU1U0eFAwc2ZNRDhsTXo4a0xEUWVKQ29aSlRJWUl5MHdNVEkzTjBjdFBqc2lNMEF5TVRGQ1FEOHdRVDA3Tmt3OE5rNG5KVGs4T3p0QlFVRVJJQzB0S1NjVkp6YzROVFFmTVVBMUwwUXVLeWtyS1NnaU0wSWZNU3NiTHlZY0x5Y1RJQ3dUSXk4UUh5c1NJU3dWSlRNU0lqQWVNaWt2UDAwN1FrY3VQVHN5TUVFME1UQWpNajh5TVRFeU1DOHdRRTFEUVQ4bk4wUW1PREV0S3lvY0xEb2NHUmNiR3hzVkZSWVNJekFyS0RrVkpqUWFMU1VOSGl3VEpESVJJUzhrTlM0SkZTQUFDaFVSRXh3TUVSVVhKak1MR2lZTUhDb2lIREFhRmhRdUp6d1BJQmtwSmlVc0tTY3FKeVlxS0NjaklTQWVIaDRVSkRJV0ZSUWVIaDhlSFIwU0lDd2NIQncxTWpBZ0hEQVFJakF4TFQ0VEpUUVFJUzRTSXpBV0p6VWtOa1VZTFNRZU1Db2VNeW9TSkRNWUxTUVlLaVEwTUVRcUl6a3FJemtWSnpZVkp6Y1ZKell1UXpzL1BEcytQRHN2UWxJL09GQXVQMDQwTWpJOU9FNCtPRTg5TjA0V0tDQTVPRGN1UDAwdlAwMHZQMHN3UVU0eFF6d3RRenMvUGp3aE1rRTBPMEl0TkR0RFEwTTFRMEFtTFROR1JFSTlOMHRDUEZBdFF6c0tIQlFYSENHVUxEdWdBQUFBWEhSU1RsUDE5UGIxOXZQMjgvVHo4L1QwOWZiMDl2WDE5UGYwOWZiNDl2ZjM5dlQ0K2ZuNy92bjMrUGoyOXZYNDlQWDM5L1g0OXZiMTl2WDA5dlQyOS9qNDkvZjA5ZlQzOVBQejlQUDA5UFQyOWZQMjlQVDI5ZlQzOXZ2NDkvZjQ5ekFkdWZJQUFGMStTVVJCVkhqYTFiMjVjdXRJMHpiSWErazdVeEJjSlZMYzlBY3lXN1MvTWVXOHBqNnpuYVk3UWNWWUhZRXhGUEg3Y3hYam9yNUlxOGFvTGJNV0FDU2gwMmVvY3lRdUlFSGtVMC91VlRXcFJycE4vWjNaZkw1WXJ0YlBtKzNyNjI2L1B4eVBwOVBiNTJmYnRxMzYxVGRTTmZ1bmF2T1BTTldrd3VQd0wvZXNVbTNidHA5dmI2Zmo4YkRmNzE1ZnQ1dm45V3E1bU05bjArVHlINzFOcXRGdXM4WHFlYlBkN1krblQ0WHY3Ky92OENmWVc2MXFCZmJxZnVMVzhjRlVFemxFekQxemVLMXFBNDU5MFlyZlBxbHFSUTRpZXdqVlpDN21UM2pIOS9kM1ZKK240MzYzM1R5dkZyUHhwRGdPSVBQMVpyYy92clh3bi8vZ093QkFMS25hMzYwSFNMVWVMTzUrZEdvRkJoS2dtZ0k4N2tmVnBFQzV2K3pKMmp3TjlsVitDZllHQVBEbis3dUc5dTI0MzIzVzgzOGRrR2xWVmRQWmNyTjcrMTh0dkw4TEhFQzVhMU4yMUxGTDhvUFUvWEZ5ckhOZzFGN0tOUmM0ZXlBL1FRQlRDNUtBSGZKR1k1SGlZRmhha0tKYXVTTVpMQjRvZDFqTmtYbi9FOXIvZGRwdGxrYUpUZjhsaHN4V20vMG53SjhlQ3ZHZGpacW1SRS9YQ1NRWklBWVNwYzQ4bjZGaVRRWVUrOHN6d0JQQXd3V3FWbFFycUVuVjVnb0NWTFh5NzYyNWRiS3FFUUFBUHZlYjVlemZZY2pzK2ZVSTd3Q1JxbFg4ZW10eUdsbFFwTzZXZUYxV1V4TEJ1Z090NkRVRENZR0NvSVdZWGhJRWNxSUh4U2psM3VUZW9KUnk3L01YV0NzRjhFN0gxL1hzbHdPeTNKM1VmOUNJRzBpT0dLNGJxRlprdmpxWFlsMGU0WFVSaEE2UytNK3A1VHVFUXFOZ09CZ2l4SFdXUUVUVnhFQ3IyWnM4Q3M1NW8wQTJwUlQ4UjUxMnkxOEp5UHo1V0FPQ1VzNUFtcThmMDk4aFVwTVpQTXk3cVdONTk3T2o3akRoZGU1Qi9ENmpzc2hxclNEOFNORnlqaEEvSkVMRUlPQmVvenFvQ2FVQVFCMmY1NzhJa09YMjh4MkFuUHRDNWtyamkzUFhHeTRyMFNOMXQ5YktTRGhudG9lNlhMVlNSTWJYSUFMMkRhR0VDUHVUYWkxN05DaGlOc1pjTENoVkt3QjgyNjUrQVNETDNlYzdHQlhyM0hON0gxSkVRSGd4M3FUbjNPRnV2WlRhL2JwTDF5VWZWUWZyVGdUMjYvWnlKRUdFSkVjczI5MjFVdTNOaWxLMVV2RGU3bFkvRE1oeTE0SnFQZitENitKODNDNUVjbzd1QU1VVUc1MjZYMnNWOFZEV0czZW1CT0poTkJRUjV6dlh5a2FRNWxpcnRoMHFnTzErK1lPQUxIY3RLWmNBSVFJRjNuVUpNWlM4Tk9iRkdHY3NEaWRVN3pEdjBVMERJczA2anQxdDFDNi9wUTBOaFdVdmFhMWFNZEU3VEprbDhhTUlRTjFtMzI4QVpQN2FRdHUyU3JXdGFnMy9HVU84VFVrR0d4dUNJUXJKaHg1MXpxelh0d2kvSGhML0d6aUliTVJIM0hXaU1rY0NtN2k2QzFyS2NLUjI0OUpBcjJwVXIvT2ZBR1J6QXRXcVZyWHRYNnExb0podkYyQXhMUGFCY0lpdWJDN1BtUDY2VDF2VmViTmZ4MDd1QUt1ZXZzY0UxOXo0MVV5cXRRdlV3ZEVsaE81Vzc1cFhmV2daQ0dUY1pFcFVJUHo1dHBtT0RjanFvRHdjNW80eWtCalpreUxuVXlxVE5uSytwZnRWTzFPbkZBMFJaV25JMTFuYlVSZTkzc0pIZTh2blhSS1hUQkUrclhXa3ZERU1mcFlpZSszS0llcnVtc2VXTkNZT0F6aXVSZ1ZrdGxYVUtxT29MQklzeVdZSG0vR0J3Y2E0eEw2ZFQ2TUUvWnJQZGRTZEZyMHVlc3YzSklOQkVWbS8xY3JUanFMZ3c5dmhGRVlWQk5EY08yMUU3M1daUzRnNVBXYUJBWHFkalFmSTZnaks0T0dSY0tDMEJoSkZCRzY0a1NMekJZbk1WWU83RVBPTjNjaXFWV3hRa3BpOEx1SlE5K21vM3VpeVZ1UnNTVTJnVEVSbDVRejJIaGd0RlA0NDhwRFRhdUFKUVY2WGhRdTJHQ2xGcXNaaEpCa0F5SFRiZ3NYQ28vS1grV3VmVTdWeHVZZ0lMQ2hFak9QTzhYZjNqREp3ZVVjcDhicVFxS3FUekdITnpWRStTVngzNnp3RjNpTXhCUGRTRHRJbTRuOUFYcFczTldRTFBnWThIeXlEUGFwV2loU3E3WFFNUU9aN1E0Ky9sRkllQ2MrV3YxcWZnNmFhQ0FnVW1CU2VCVVZjQzRUSTFvWlJhWWlZSklMckpNbWVUZGpYMlN3WlR6RW5VTmZLcGh0SkFRRExQWXFmMmcrdU91aXBjRDAxT1c2QXRlam1TS2NSSU5naFBNd2ZCMlIxQXErbi9tcVZVbjlaVlA2S3RWaE5CRVFBSmhJT0E2NE9WK2JIVDhqSkJZa245eGxmU3RXVU9nbzNheFZqeWQ3UEgvbmpvQ2FDbWlEdzJNaVd5YnoyNG5iWGtHVVRPT2NTTEdaT3ZRVmxpRytyUndIWnRPQnRlR3N4OGRhamRaUmhOVFJUNkNTQW1xQW1jTFdkMmw0aHVYcDJScFFwSWxMU2RUNk9xWk82U3AzeDArcllEdmtQSVRDUUFJQkxDSnVneWdmMWJtU3hFSjk4Sk13UDllNllEVzRNeG1TeXF3YTB6VU9BVEYvQjJ3bE9rZGFaa3RiK3RrZVl5ekpqam54OEl2anZGVzVjeTdiNVAvRXdRNXpJMEF1TlYyZUtrZXlUWXBUck1KQk12ckVtYi96TUFEZDA4R09LdUI1ajFzSXhxQ2IvTE5TQ1JlSHRzSHNBa05udVQyTW9HQ1BDSDBhVnYxcnZlRUZOaGg2R0h5N0JFa29Sem40YWswNmgzeU11OXRhcXhKSmlpYXJvdUtWNGlaUFlyMnM1N2J5dmtLUnovbno0SVh0cHZyeGlxdmFNUnZ5Q3dicHFWQ3Y2Y3orN0Y1RDVIbHBoSmJ6bU10RmhzTzdPNkxlcVZRbzhKclZuaW5IQkdHdDR4WjEzNkhCOVU2ZW1XNExGNVpvWThNd3o4dGk0ZkdXNHpldThMdXNWMUJXNVNJczFTVmh2cWhheHBnMlFQU1pXYzFGTjZyM1R0SGNBTWo5NGM4Nyt1dUR3THlXVUdiK3Z5R0JDRGhJK3RIdzNqcTFYSi82UXRDYlJMNVhhNWFUSVVxY0dKbGVEWVY1MjdUTnpBQUNTSFA0dnNRdnhybktnamdLaVd2bDNldkdEcjAyWVVWbVQrdk00dndlUUJYT3ZibStVSXRlU0JRUW1RQUd5RDF4ZEMwUUNUQVZqYVQwd3FrT2t3dXVtVkx1VXJUTHBWVlc3RXI0VExjdk1TcFRKZjU3dnV3bzVkZitOamY4T0ZpQ2p6TXdQbUhIbVh5U3FUYkhMSHVYMWd0RUlRRUtGR2RlQkZKNFd0d015UDhKRHZXc2diN1Yxd016VmdBM0ZyRDlvUlcrcVBGWmV2dUJETEtGTkxzOEJrYTFnMlgzMzIzTUZXRExXSmMrZGQ2VDQ4NlRjQUFJYmxqZ0JHMG5XM2htcjNZczFrWDBYMlZ5RkhZRCtUVFphdGlHenhlLzlOTDhWa1BuaE1UeU00Z28zODYyQTdHZ3o0RGdYMGlmeCtKQlZ2c21BbEUyRStjcVFlNDBzU0taa2J6UDlyckhDSkMyNGwwdnNIL08vZkoraVVwWVQ0UDVZeStlRWFnYTllOHFVSHdHc3dyTDIwbHRNRjVjNUhRaU9Na0RxdmFpMUNvRE05akJDSXk1NXJlVXZoQ3o1N1hoeVhuNXc3VzFlS002ZWdsVTRvQlE3eUNrc0Rvckp4QnBhMU1vbm1rbTV6RUJnRS9oM3VzQzY1dDhaL0hkMTQ5NytCL2JZWHB4TkhDbXJuZTNGMW1UNkpmMHhEaXIxZnBqZEFzalUrcnRqUVVKT0VUaElyTmZsTlZEdDJnVjhRNmRKRHZuVWFuQWRiUzNDcHpHWTJtRkNkbDE2TXZNY0NrdzhlUjVxVDZTSW1SSW5lWWVPVTJmbWFvemFZcVBmdFg2QnNpYlRHeEtEaHJPbVJzKzk3NmMzQVBMNjUzaU42c0JvUWdFZFEyZmpHWVpFS1UrSGt6TUF4TEtzUHRtblBCcXU4dVhIdU9LNWZnK0FxcFZMMmxETld1TUZpallWeGZSczREY3djaE1Gam5zaE82VUcxclFRS2Y4ZWIwd2NzOVQ3NjNCQU5qRG14QUZpeGlRUUhtd0lGcHgxOFdQRVorK3pMQ3NsTGFBbWY4ektHaTV6VVR0Z1dHT3JlODZib0ZwVW1HcDNDSEhUSi9TWDVVbnROQk00VW9BLzFKa1dOKzVjK09MWXBRQVVxUm8yUXdGWmpUNlBRM3BjNUZ3WWsyUlZSR21DMWRwNVZzTjJWZE9RT2JZSmJ4VkVYZnY4ZnFDY3IrSFZubDIxY2dlVCt4QUkzRExJaWtIa2Z1cGdQOExvVWs3NEZpMW5Wc0FuS3BpWGJJMjl1WURWTUVEbXAzRUk4bGVIRjJ5K2VPMitkMXFHY0lyZWQ5YkVTbzFaRjk2WjU5OXBMWTFpcVdYdk1IdEY1WXJteXBzbTMwNGRqSHZRWHN3SGt5NWtIUUJockhMSEU5aHdueGxVVUtEZ2JUNEVrT2tCZm1LbUUxR0tDUkV6K29wbGhsVm95dkdaVnRId0ZlWUVrSFdMZzRQbFlITFREWnhtY3U0MEJjOGdCRUgyZFZBQm9mUUw1Mi9PbjQwUTVKaDU2Mm5RQXdJZ0JlcjlNQjBBeUJaK2F1WloxMFhWUG1IazNTemdJOStWUnExNlV3S1JxT25XMjQ4QUVnbW1pRTZyMnNhZndnZXdBMkVBR25XQ205Vk9ISnNFS3FQS0ZHNzdBVm45NUVUQTNQQXlONHNHQWFzVHVkeWRNdzJ1ckdCQXNFRFVTczZqQWRjZEZhdy94Qk02NUJRV2wvMnJ3NVFLOThIUXk1S2FZckY3M3lWaUMwbGtsQm1FcXo1QVprZjQwYW1aTVJBZUQrOTBjZFZsTWJKT0VkZ2F0ZkZQSVRTQldWVUROZS9UQytVSnI1OThNektiUE9YcEZRVXF0dWRLOWVzci9pdDdjY3c3WXc1QlRWUXJQTTZldWdIWndrOVBsYzBTQkZ4bVNFN2g0Slhwa0YrME1RckxHRnNmT0hoSkliYVVNejhvOElURmlPN3oyWlFwOThhQnBvU0VyU2hjb0tDSVpVZ1NqVVNBckg3SlhPWENSZG1VdGxQLzVPZkJXRjgzOUJyNFNsZnd2MnBTdnZwZEIyUllWNVh6bVBuOGc5QjlUSXBZeTVKekpvam9CdU11Skc3elZ2RXJqakUxZ1FJZ1Jhc3VRS2FQcHhUdmg4U2s1OGlsdUVJbkc3QitKNS91Q3EyRG5qTnNHaWR3MVNmc3RHMFo4K1FUWFRHQmdqNTRIMnJkczZ3Z1NoV1lIMzAxS1FBRngya0hJSnRmZzBmUjQ2S1FTQ0d1UDR5cUNSRkpMTk1RcXRTQkdEV3h3S1VPMklhdUtkN05KbkVQRlhSWE1CK0lBd3NRb3pBR2lGR0ZwK00zWlVEbXAxOEdTSjRsTm5kdEMrOVUyOTRiMjZYS2pBUVRiOGlEMkJTU1NGYXlMc0trV3lkOEF1L21xNG5qUktIN2FoQXJTS1JTbVVXSFdKbVpoZ3FLdzBNQnlDdjgwc1V2cUVSazFvRnFRRkExMllGdFRRa1JhNklTL2JhT0JXeStHWU5CQXVBN1JxSitYVkRKZ1owK01BVjZPR2hJY29ZL0p5a1NaeGs1SU10ZnZoWkpEaEZ3ZFBDNUV6OW1GVEZONGxzRWZYdWg3OGUxNGc5MklWZ2IzeXZGTkJyWGJhR29MTnVwRGFSOTNpOElSSGlHaFdVb0lSUVhyWXBlRmdEWmdmcjF0d1FSSzBwYlhWTVdGR3NDNDZZMXl4c1ZvSE1aZlFxU2xLb241TUlDdzZBbTVwMUJDQmRkSTZsLzZVYlRUa213RW95SW15MmczbmQ1UUpicVg3bFJoaU8rV2RNTUpOZFJZMXM4bU9IM0xXdk9TYTJ0djJWU3U4NjZndzltV0srb293TndwemkweHpIRnh6MkNBZWFkSkI5a29FNmhDbEY3U0paWlFQNFZncFEwbDIrdnRWZGpKOVhZWCtReXhHNytnMnYrc0ZWUzM1TkxvUlRwdWVCUWNueXFvN1plZHFEclFiU0ptaDdyVG1raW1GSytlTkxVYnE1QURmc2NJTC9lZ2hRZ0NTUExpSjVzaXpBRlBNS1lWd0V0NWRQa3diS0hHUUVlbkpwYmZ0dExwWHdIaHNFR2dxNEwwUXg0d0llRUlNTGxTdC9pSzVIRzJWcG1BUG4zQ0NJaEVUbFI1WnM3d2NqTkZSbHRtd2Y0TmpXZUNITWs0aXdBRldhd09TaE5rbDBDWnBsaFUyYkJ5dmcwQUZDZkN6ek13dGhXSWxQTzNhV0EvS3NFeVNrdUJYYVNDZm4yWlFWdTJKcC9sam5rRG1WalhER2xScUxYbTdHQS9ISFdRNGlCc2V5VGhHRnJtWTF4TTk5em1RQ3lmZi9YRVlrVmwrV0ZpMmg5andjd3dkdG5MRnhrNXd1RldXcHhzUjZFWnhXU05MWHlQWWlXZ21RTFdlQXhZdzlJalFCRmNMN1VmMTVqUUdadjZuZTRKWlVlSTE4blNXZFdYRU9Cc21aZm1XTnFNcDZTRHgrRkRVa25CektubVBpY3RtQjJ3ajFGdm1YY0h6TEt6U1RrMzJZUklNK2dmbzhiU1YvTHpWazI5UklGUnErUW56Y1hWSk1adVZaczNxTTByV3V1MjBCWlBXZHhzM3JQNG1kYmVRUWl5aC9KbnZMMi9XWmJRaFNuVU93djlmNFNBWEw0WFFBSnpYVjJxcG5OT05ydWpXQVVuSDMxK1JUWGdlY0NGUzltNWVkdXNUeStiNnB5VFBDWk1Bb0NkNGQ3OTg2LzZzelhmWWl3OWtlbnVvNFNrSlg2blc0a1hFTTNoTU1nOWpWcG9QQ01uMUdyV0FMR2U3ZGg1cURMMWx1MEJCenVTRTRXdjZhQVlsTVBRa0tncy9kQjlIRkUyWGlTcVVoYUNrQjJTdjJPa1BodlczdGN6TGdNclJ1Mms5UE5DTExUMHZ4U1pUNXVKR2NIdktodGFCOW1FN0g4bCsxQTlORTdtL0ROODh5KzN6cVhrNVBCQ0FPRFdCZTNiemwxVTkwbXJwTCtteUdpUWp1VTB6OXUrcXN2WVRteEs5ZVVDcnhSM1NIQllrUUZvYXJpZFkvM3FRT3RXTTdkVHB1b0tXZzRJdGVNNGV4VVovcVhLTkZzb2VNOGROZitlWnA1UUtiVld2MkdOOS96RkpxYkdRcmhrYmNreHZHMWJMSnpNSzN3d2gzUG5aRGxEVUlQL2dEVVRQeDJTSVFzSS9pbEVzeGIrK0oyNnNnUCt6YjBkVFgxREhuOURZS1FIQ1NPNGw0aEJXTWQ1bVlDNjNKV0ltOUhJVmlNdEJRZjdTNHJROUZDT2o3VHFOZ2lOVUVkdXNLTW5hcDJqN2ZyZWxBSVFpZ3krVTAxVnR3MVpJc2NZZjZmOHZNMTdKQUdPVlhBQm4zK1VKY25ESTZaOHBrdmNrc0JPVnpESWhUQThQUEtpa0xJYVRQUmR3VWxKSG9pOERqemdLelU3M3NUMldwdkRUMDdISUY4NTNudFdybTlxcXJGaklGYXJvUm5uV2NYaDVyUHFzUG5rNDljd0FVeGJGMFgzeHhhMzhvUml0dE5pV0RsQWRuOFI4SHZDd214S1hIY2cyUmQ1eVNxY2E2WFU3RUdkWGVROGdyUURtb3VlT3MwK2RqVG5pT0VEOVppZ2N2L08rUE8wTGtKRXQrV0RRQktiN3hSMzZNQytzMVo0bFd1ZGFtOHlLM2dXZGNOZ1Zzc2cyb0NDRGt1UHVuUFNaUzVEUXd6UHJQQUEyd09VTVRuZ2dBNFczVWJTVVM5eWp6enZuK3lnTXplakZuN2pVbENmalFScHpyNWxnRStrb2w0V09ZbkJ6bWVCRVBod0dKVGI5enFPWTVESVY2dzhOV01iMzV5anJKTnZvK2x0ejVuRnBDbFdSUGpkK2FJQ28xTkJDU1REOFJuaXlXelo4Vk16UUNJSGUxczJqTEpRQWJFRkNuaU01elpSRnppSVVXMmwzUm9UeDBBNE5JQ3NsRm05NXZmR3hKRmtBalloY0RFSndRQ2t5WVRHWkJQaURIQmV2MVBRWUV4MDhRd2paOFRmMERNMDcwMzdidXhnT3hVMnhwSWlINS9SS0pCSHZRUGk5SURjK1FyakUvQXA1NkhaeGpoSWdTaVgrS1A1MmpneXNCT1lENlpFZmNXa0tNRnhHRHlXN01ra1dHWUxoNmtHVWtLaE13WXdXS0p5bU1vbmR3c1htTWpJNTZlTzVBa3hQdE1DUWhQQnBENVd3Q0VRMkwrZGl4RDdXLzFyN1Fsc1hpQWFYczJoVm5pa3dGRmFpT3BES05GR3lCNUY3bDVLeVE0RmFXb3V0RmdiN09Hc1oxWFQ1T3FXclhpcGdJazBkcTU5YjhBUUU1eGNTRXp1d3VVS0tPSU1QRTdZOHJFZEFFNTlnVWxJaERqQXdZZ0FpUlM5QVNnMWxVMWNUWTl3c1RKUGNXay9sMnN1MURja0dqMmFNUnlwQVFNcVI2S21TRGVrbE53aXB1UFlaZ3cwOGNjZ1cxVlRhYlZLN1J0RHBLK0Jhai9SWERrd2lNVS9DK0krQktwbE9BRGlJVVZJandUdkNCMnNDbkFVRlJwcFpraGNwcTFYK01CZ09oOVYwMG5WYlhQQUZMWUE3TCtqYXc3QUJjcEs3NFJkNEpaMk9LV1ZVc1dscWw1cnlmRlA4SURJOTVXVGF5SnVvNWQ1blFpUWo1V3B4Q1pxdmREVlUycTJjRUI4cGRFNUphTS9MK0FsTTB6aFhpUTlkRVN4YjIxSWJBTDR6cGtJU21zZHhXOTNWTkRMdFJReDRTVVNUWHdWWm0rVkZhSWNHekNkMUl0VGlxSHg0MkkvQ3ZCdTgwTDFzRS9sV3RoMUJUZmpWYjRrZFArdlRyak13YllXSzdkd2pMTVBMSFZndGhVV3g3MGRQcFowZnlSejBVMXFWYWZKbENYcVB6VnBxdnUvNWFRc0RrbHJDK0M1UEpLUVlQSk5RY3Bta3puaTVNQTNJY0RhWnA0TlNNc2Z5SW1UTGw1blQyV1JId1RJbENyYWxLdEdSNHFZa2lyMnQ4Y2tseVF4Zk9PUkpscE5QbkphQ3luVzVqakhDOFBFTmFVQTVhZXowNXo2eXlMK05RdlBsZVRhZ01CQWY5SHRTM2ZKZVQzc1J5WjBCMElmdkpHMEtkMFpBS2s5MTBkYmI3LzE2YWFWRnVVZUVRTUtlUHhXN2hjd05jYlM3aVFjWFJJeWk4a2pzdnFudXN0c1hJRzUxTitIUUdRYTJ6MEFhSzMxY1NFSVNvUGlrUGt0OVZiNUh4ZzNwUEdtcUFZSnBTa1k4V1NTbFNZejhFOEFWWmdnVkJINGFZR1FDeHBDc3dsSDFKUnBQL3Nxc2wwVDBKVENUQThRMzVYUklBbEhXWGFWZDdTeHpLVEFsMEhkejBOdkRHQ1pBSWhTcWNNMEk3disrbGtkbEJaUEFKRGxGTG0xVkdDOWZvSEdHSUtXRDBDaERodlhqNjJnRWdtWVNWZnpTUlA2S1ljTUI1bmsvbFJSUmp3ZTJHbmlwdzVxVzhVTVkwTEZDbmVtNUZQNDVZRjZqVjhHWjBPbUtBUE80SWtLVVpkdHNSRWhxZjV4Q1RmVldwQUhBZ3Qzd29zNUlMdE1tMU16cldTR2JDYUpmQ0hKb3JyMnlBSGpuRmN0czBJRFhxNDA4V00wclBRQTB6TW5FNkhycDFQRnEzemNncytWc29SdDllb1RORzdCVURqcmZIOHRteDFUczZVMDNzZG02N0htM1phanRoRnhVa1dYSXRpa3ZsSDZBVURocVBVOVRyMDFCTUoxR0t5Z0lnUVNxTFI4dTFDSENKbXZRdkZmbG54bEFzbmRsbkRteXhONytGZ3QzMUxLb29GalFOTUxuM3k1Qm5qSWNMdWVnSllBcmlMSS9TK25LeUFoWUVpT293WkloQUNzL2VZWEpHSDY2M2FyOWh1NlJOV1g2OGpreUlJY1VzSm1VQytrVnhtbmw5K29zbUpsNGZDNnEwODRaaHh5eUF1dUxQbjgyandSVTNpYW04SkVMMmFySUVUSXJpN2dodGkveTl6eDR3ektVRGltaWl1QmZjSW5JcWNxUHU5M3FoZkNPTHhDVkorckRFcnpPTXZxS25NYTZMVktIdU95RUJCOWgxWmhxd256NDRoM3ZGbEFVakx0bkRoR3g0NVNBQW9yQjNDZnJueFd0dnRDOEpPQm9JUmJDL1dPdldsNjk2Nk1TU1ExK1MvVjdSc08wU2lBWmFUWnpsN0huN3poWG9wcWorUzZOTkx6OEZxNWRLRWRFYUo5UDR5MlVCSUkwcmp6bWtSSTlNR1NDQ0RDQVVWa25sNnVHcXF1NThodnUwRSswU2lhUG5KenN4SWRzRktHTnhoZGU4N3NoT3YzamVUTGJVTWpDaXh5UE1tbkJ6K2QxZ0dtU09pd3RZRDVMMWtKaSt2YXVxTU1TbmpWZmRwckRycUJ2NVZON3I5a01KYmNEdDVqZVF2azFnc1ZHZUU0ZFlsYUlFd09aSkZiUWtxbEhlQmM5dmMxaDA4cWgxQnNpRFNyNGFrSUdYcUw0UkVESG1kdkFLMzZkeTRzMVJXMlBSTGJyd3FSNk5iTWNtdC82WE1QREFIRUtPRDN3QUgvTzRGY1ZkRjNXL1djNjJ2dGJxSEpYVERXTCtiS3BSa2tCTWRSN2liN0NJWXZONktzN3l0NHBsR1RoZFJkeU1GRkx4aHRpMVIySHdGNHBIZUFVR2hSU3dCcE01NWNuZEptWDVTY3dsQTB0amRBcUppanJBaUZjdWNNRTFWaHNTNkk0cnRTd3dDRGVtS3lUdnBZOFcyb0FxN1IzR1RiamN6OGgvTm5UeEZQeUJTdXZrVkttbXMxQUhHL1dRdmk0TlJaVXFvTE81a3RWRndRdGxwdjM0bEVibFFickQrSkNKOTVwVEZlUUFTY0JqOUJ4emhERUVvdXljRC9DSys5SHBhbVN3dzRXRnlrR2pFMlJQRlRVakw4R2hqYzBKcGpkcXRoY3kxRm9jRGhGc2N2Y2lGemFIenZ5QUdTYkREZjlodjRXVGx5b2tBYVpUSUFHR1VhQ01yTGptU3UzbElrbnBwV0JsQmhYVmQvTm9qYnZGUHR2T2F4VUdpUndLaGNFd2svd3k0ZlAraTMrQW1RbFBSRW10dnA4blJnaEVuRkZ2cDNaWkFTTk1XcWE0TXM4S2Rad3hoZFhjN0hWbVIzQktNNy93VmIwRG9oajU1YjQweUJvUVI2emRDUkhiSkpBVkY5SUNvRkk5K1luUzA1UlNhN3lsYWdZY3RYVVYreFhEeW0zenhqZTJjbG5OK0dVSHc1SUx2blBMRFJLSy9tZHBpWFVwU2I3MU5UbEZVSWZJbGQzVktZYjRheHROdWZtcStYWkhFTHpOTmdTajhqdkpiZVRHY2JNRHZnQ0tWNnJiZ3o5Ry9wcHpLUmoyVFVvYlB5WnRpQmFpV2grSjNOamFZYThkYy9pYVpiZVpYSERPTDZrbktTQzFHTE00M2c1NGlSeUhvcytoNEdNWGZHaGNrMXNYTjg4TUdrS2dTOVhEalR4NFNnS2lVS1ZyNnd3WTYzc2FRakNlSmJ6eG9GWnNQTkNGTll3YjBiRjZOQUlCK0grdWVMV1hCNStRemlqYml4TWhqSFo1Wld5SW1uMFZHWDRXMTNGUWVrUkFXQW10MUFNWHJWTUd2QnFmWHlFK3R2aHNXZ3JncGl3ck5lRWxlSGlEdHE4OVdJdHZKWjV4V0h3MFNaQ3loak9jbEo5b0J0L2NxUnNSdmsyTVgvellFRWNrWUszcEhGbEFxaWh0SkRkMEdoT0lKQTZKaGtVUXdJZWVTQ0lzcFd1djRvZ2ZSZkNJeGMzN1NTbXNlMzMxa2xsTkJid2x2MkplSi9FcUd3ZEJIVWI2MEdTNjF6RTI5MjFGUDhTcUF3SVdvL0oyeWpic2taLzZJZmFQajNoYkkxZEh6dFhrb2xlc1pJQUtMTVRvVmlRQUI0eTBXWlhBVTkrSUFkNGlKQnkyQ01HNWhwRnkxMHRmNG83ZFEwRnM1MXVZVUdiSDJkRTRhWGdCTDY3S0ZoZ2wrdkN6amR3SXlWdDlvNjB3SlUxeEpZemliZ2VwZFlmczErYnFzaVZSSm1aVmVpZUxBVWFXZUZ5L1NHRVFvL2haRGMrZVVISjFwK3VXYmVzcmU0a1JsaGRYa3ZERFVSQTBQeE8rMDdnWVM2aW85eU1rMkJNTEVpMjJMdkZHaEdLTEV5WXFCQ0w4b0ordllQUHp5MUNNQkFKUUJlWkFlclZCY2xpUW8rc1hGa011c0Z1TldCL1VRcUdCSEFETEtxT2NlMzRLZFQ5L0JkSHJhSThKK3JKNUNQd0pJYk4wUkFLM3NVWktFTW1VYjdubkl6amRHRDZERTJIdWJRWXBTbHptaUdCRWdFSXI1SkpFcSt2V2hQQkhRNUVjWE4ybEROZ1VkTHVoUXlla0hPVFhmTFJKT2pETEt4L2VKWVdISVVQRW41RjM4NENDblZJbEhEdlFqZXFrbjNVZzBvVit4QXBBTjNkRmRlMlJYT25MRWZwWit0Q2dwRWFjQ3V3K1p2NkJDV3d3REt3d1BKUHYvRndKQmlZSWtBSUJKMm4vNE0vTmxRVElFcVRjSUtIZVcyL1ZFeFFMdGdoWXhLbzQzY1dUakJnbWhzeVMrZFBkTDJjR1FtZmplaEIrSEJBRUptUWo2QTdObzNvc1NnTEJkUVVISlRTaEVTa3lHa3psRURGdVJUZFA0SlF5SlcvZU1XendSVWNDUE1zVmxVOXlQeUsyVWVwcFlGR3czclhBTDdiS3RKQ3hUK0hiRWtCaVN2TW0zcWpUaHJmMWlTRC9pVjFGbXYySWJyRXlBTFlKS2xIWU1qQXVKaElNNXhHa3FscUt5TTF2UGorMzhGZmJxNG15aGdrRUhBWTJ0TG9ldkU5VFZMWGI5MXJpRlJKNlZyZFZJQkVDVHREUGxCMmxDWG10NXJuaURtaDlHZkc2QktIQTVWOHZ2RHNJM2tFdzN1eVZ1MUdWbW4vZ0FzVjhKR1RLRVBiS25Pd0NoYUxhS3YwM1NKRDJvSDRWRWNzVHJoa0cyaEVLSEdjUTlFNUVWaDRLL3hSTEhmaGQxOXAxWWk1VDRYdFJGbUY0bVVhWjhXcmhOTXQxQ1lCUGN5UlNwMGZSV1lrbVFxNjVrSFF5Q2VPVWN2d0dncDBmWWoxN0U5MW0vSzRsZE1xWU5lVGdiYkgyME9oTkl2Q2plaURnVEFCTkFGeVNUMks2R1BGZFVOUDBwNng3YkV3SkM0STNJb1FjMm1XeHNORmI0NDdzbFdCREo4L2NxN25JSkdNVndCSDRZVjUyUWdRSVE3OUFkTi9tSU5ZY29hMEU2R0VKcEE1Zlp2K2FIUUNFUWx4N2d3R0JTQ1NsT2pFY1RYMnpQS3JIQWtId0htSCtTM1lmd1pQcVBJanc4YTRNaElST3JJSGw0Z29zQmJQVnh2dndLeFdrWWx0a3RNc1FacjdBdVRYQ0V5ZmtzUCtGdmNmTWV6Q21hQ3dlZzhNV2tjd0taTW8vZnppamNZWENwR0NiT0xmY3J3MXF5MzRuUUlHSCtPYnVNSk5Qd2NlWWxXTDAwMTUvTXpHVU1FYlZXeXBsVDJZTTd0Z3VNQ1Ryb0JCQjhVTDZHZFJxNk8xWG1JV0ZjY1R0eXU2Y2lPTmd6a0ZnMjQza1IySy96LzFpMldJZzhrVGtla1JQQTEwQmpNdzdqc3BaWHhoTTJHb1F2SVNlUi9vUXBnZFFCdHQ4T25ZS3d2eExpOTgxb1pydC9lYlJVOG9BMVJrakZoWllhRmd3QU12Y0FpWkRjUUhHRGhsZDRoV2J5Tm9hRWRVbnpFQkNwTElSd1ppT1BxSm5DUi9Fand3SXhRN1RXV2x0TGFzWEJnMGJxQk1Uc2wycjJ0QTJvUkJvc2tBS1VJa0JFUkdCNWZJaUlTMmpLME9RakpwWWJ0UXdpWU9hZW9qaEtLbDFLY2xmQXRzb0FvN0tDQnJkZmhVU2dGdnBCeGtlRXgyVDRqc2Y5N25XM1ArSTdPc3A2aFFHQ3Z6bGZIZ0ltSnUrbDJNNHMzTjdiM2lBQ1ZNZjk2K3ZyL2tqZ0s4SkVhZVRLcU96aElCYlFJaVhPYi9vb3NnaGNEUXNLVFJ3L1F5N1dKYUpSNkMrN3RkbjRrSmlMMVhUWUxHYlRxcXFtczhYbVFCb2NSWXlHaVB6NjNJSStpaVdHQXl4eWUxdS9PeTZoT3J3c3B2YUVMd2VGUHJhWHBpM0d4QUhoa2w5T3QxaFhER1V3UlZEcUp5amRKdTdDQTBYNENIQm1LNVNJZmlhZGdvZDF4Vy9yQS9LVUYwbm5QRU1RVU82MzIzbUM5YTlRMkFmTVVoMWdMMCs0T2dENC9ZYzVBdHdKdE42R0wrdlljZXk1WTIyTFRNYmxJM2JtT2NwMUFpZm03Q3czenM2QXZOUE5ZVEsrQzB6dmFsUEZ0NDBLeXB4OE5RdDlMemQxSmVpQndpWlM1RGNwSkxZbjdrdHl3cGNXbFRjN0FDZzRJcUNoS0ZvaHIxN0RmeEZFOG9naXBrN01ud2tBcGo4OENZaFJ0L1RvaUxUd3RxclMyK296OFVGWlhZOHQvUzA2dTlnYVA2NzBEbUhmYlZkT3laNXcrUWJLV3hvQVJEVC9zei9nM0RCR0dRc1U4V29vSlFCMEwzaE5FMFVSOXI2R3hJWUlHNUp1SnRsNGVOQnBuaEhQdEZwOGlpRkNJWk1CeVg0ZG1iNWxXK1pWTE9IZ3NpdHZpMnFhT2VYOERjS1JCQm1LWktGeFNGQlM0NUhESHgxUzhRUjE4WERTOGlZRU1TWXRhZEdQVGo4QVIzV0JxVjFXVlJhUkZjV1h6b3dLeFFGaTFDOXJ4QStCRnl4L3RjemlVVlhMbG1XOWlBeEZDakJJKytKYVdHUXlMSVMyR08xODJhR3lXdFVxUlI1b0JvMER3OXRXRnNLTXlaR1hxblI3eWRsVzJRaEo2VFkzYVpDb3hGL29PQ0hQdmloclNIcDRraWFKblYva2dzZEFEaExaTFVvTEpRUVR1M2kxVlFuU3lSTzR5TzdVMFZLT3RKOFc1Vk1kZENaUjczM2g3aXdkNXdaWFdYaW9PazZJaXVlNEhDUjU1U1drSlIvNnVKRW81QXJGemorWktncUJZNGlGQkFnNEduNTRPRFh1OGhnaG96cUdDVmwxeUdjVnlZREhaeVpKVDlDejVxR0tHKzJvODRRK2x2ZXBsSDY5RlVYV3ZQcG1ZMnh5MFMwQmxCb2pLYWdzTjN2S1pRYjQ5VWUyM2FJK250NmlydkZhVGZjNjd3UnlmeC82VnVzVCtVVHNZbVJWSFNCS2ZJRy8vQzRqVDFoeVZsMytFWWwxc3hEa09RSUFFOVdxOXI4NVN5akN3dzRQUkVDV2hJV1I5RmFIUXErcTZtbHpqYU5tNFFiNlJOTGdtOTF4dG5qYm9Jb0pGaHhnVElQNExGMWNFY0d4aE9JRVVLNnZtN3lYMWFwV3RmOXRhZUxjUzYrM3JQWUt4aDFERFZLTmtOOWFkTXBucVRvR0pmbWdCRHJXSDVYVEw2RGcwN25iSWs0UG02WlRPekt4M3hHbWlDM0V2UkFLYW94WVNwNkRNZ2xUUHYrN1ZXM3I5QllqU0REdlBzV0NUZ2FQY29TT25RcWttaDExZHpRUWV1cjcxbmcxUXdoN1R3ZzhUOCtTOHRpanRYS2FpNUJDemt1b0tzck5OZUZHbmYzeGpiaEJaMFhtSFVhREJMbzF1dkd6L01pTTVPRmNTeGE2bDhKRXQ2K3FNbHN5ZDFrdFpHbGhYL0lDRDRtWHhwQ2dNY0hGMnhKS3VvTHNuVWxZUlNNc3NVSGNrQVNpUkxrRUh5YmVEMGtMcjkzaXFmYi9KekVjcEt0QmZHeDBHbmR3MHhyVSsrNnBld2pzTVBTdDhKSldDQk5SR2hLTW40anNDZXMvOHlHOXdTVnMyOENTNmhPeEhtL3JsaFlua3RmT3JacTVEOEhmZWdBUjdBTmtkM1hLTy9vQ25LOW9pbzBEekx2U3U2b2JrRmRVdkplQUtTNHhIcmhSa2NTbFBIdElRQ0kzRWVPYkwwNWFzZmhNQUVaRjVFanVBQUlQUys1a3lLNlBJUnB5VU1SaW9FenJhWTRvNnIwUGtNQVFsejMyTlVjMk5EaHJwV0tQbkRDdTVFTStSS1pHeFplZVNIYXc1V0pEbkNxL2g3RDI4R0F5aFFiWmtGZ1NLU1FRNWhOME13VDMxU0FiNHBQRXZJR0ZJRElqaU5MMTRiK0RXeW9xanFGemhlUjBMVnRCbUtob1VUS09EWU9FZncrbU4wMkc1Z0ZBQm5sWkVSaFNkNEMvUnVwcjB5UlNlSnoxZVZuQmJLU3orMEdhOWxpdEErYkNGS20ydU5zcjlnb0ZZZFNqeFpuK084eEd5NUJFakU2Q2g3UldUeHpTQWlSbjUwWWtaTnBZTzFlWDF1cUxRM3FYNk1lc09CS1RuNDBmeVg1UDVBMnhmSThyeTVDMlRUamlWMEFocjd2L1pPUVFRWHdJRSsrZ1NGL2czTHBCa2Y2VFdvdXd1MVJ5VzZRZTUvYlo3Tk1PU09KY1pENVU4WDAwbVEzSHdYcFovNTF3Skt4NGtyTWxpV3R4YjE5S1h5NExiTHNROHUvQVRXaDh0VjBydXhDUmVoK1V5d3JsWU5NN29VUmhwYUEwc2hZbC9ZWk92N0w5QzBNZktqZnEvNTFiNU0reGhGdVBXQzdCQTc2SEpPdk81S3R2aEVnZ2lmd2IzNmZSNjJwMVpYdlhjcDhlUGlzYjdGSXNLa2VTTW5OWlo0QU1haTBOTWRwM2Q5S0s1WGdaS21JMWg1UWwzQTNuMll0Yk1lbU0xUS9FZWxQRXRTWlNDTTVsdXFLZ2JCUHM0T1QwWURRVzlHN2Y0dVh3SnlJWWRaNmd3c3NZSUo0elNWcGdQVTZlSkpOb3ZWZEpEVG5aSEVYK0lNbW8zRGxSc2NPS2JDaWFOSm9ia3NJamQ1blJyb3c4ZHB5d2I3czlFdTVXNm93REc2VFlsZnJ5amFpK1hkYmxzdVNpWlYwYkY1S0kyV05QOUg3YjNxNnlzZHEwV3JWcFUxMk1RVzVNaGhrYXVTSVZrU3FlME1XRW9aMzVGbjhyZFFQakJKendUVGtTWVQ3SkpGcEhqaS96bDRNa2d3Y0V4VFVnazJMU25PS1p0N3pydXpoUmZITGg4RWJmQldTYUxTeUZaRHBUV1RrWFN5ZjhaR3Q2S0R2R096QVJpUHdaZlNkSWhrbGs0WWxZLzEvb2RKOGs2N2gzcnBkRkdZNzRRV3BUWmgwc0lZQzM0MzUvT0g0aTM0RXczNWQxQXQ0cC8zazg3UGZITjYzVElEVmIrRFkyRTkveDgzallIMDZ0eGlCdHpKL3dqUzNvZ2RpZUR2dkQ4UTBSaHBNRUlwOHJpaDdGbDdSQWhFWi93K3VKU3BmMjYxeFFqZ0JpUDA4TTBJNXVPcUxqZGpXZlQ2ZXorV0s5ZXd1TEZWQzdNVHJESzQrcTJyUmh0Z0I5N3RhTCtXdzZuYzFYcnlkOFI4Q2ltOE5UMFFnbmRzTFBJRnBVbVJPNjFZZElBZm9UTGxiYkU0Qm9sK0IzY3U0V3BEWXU3aHRCMzdrczJoMHBzU0dERnNFazRDZ2tBN1NZU3FIam1xdnUyZXNic0hCa05hMnFxcHBPelovVmdXMkY5N25sblhUVDU1TVloQkRuUUgyZ2lLZG5lY0pQOU1LRVkzVENZNUE2ZnI3eS9NcDBmVXJNVU1tNFE5YTR5ZktycUxuN1ZTM2MvT3RKSG91MnJ6ODZPajJYUlY1dFFaczROL01kUTRUMm02VVJ3Mnk1MmJPbFBtQ1hhUHd0cGI1ZVhLOEJUTjIzeFE2WnR0bHZWdmFFcTgyZUs3VDlQQ250SzFRRDFWYXEwNlVQek5LT1lwVWtOL1huRG9iSUhCZklzY0VnRVhGN3ZwMTJLeVpVdFlmOWJyZmJIMXB1WU5SMm11djdmWTlaRXVXQlFYOW1UampkTXJPTnVqM3U5N3Y5L3RocVpCVFladTFMR1JFcXBGSWd5c2JtaU13cVY2YWI0VjVBMkJ6Qk9HeTJtWEJwU2VBMHo3cWFMOUVrTit2WXNOTTg1L3QrMzJJekpsMGN3RUwvN2d0M3BBamY5VHNpRW5lbFh2SW5QS0c2eVFHR05NVVRxM2piVGVlcTBLYXlPL0d4MzAzTHZiY1p4Y1ZOU2FTMXFKaGozVUxuV28rd0xSU3VsbTB1SUFtWFdvZzFxbXFMbEV4bTVhTjlXODQ3ZDJ6cjJnOUp3aGJ3dFFOVHZESnRFRGpKQ1dMb3VyM2lpNEJ3TktLUTVMbGNvZXVhQTBTN1lsN2xtUWNtNmUyNUkxL1pFZXhoeHdtNzAvTFlmY3ZVMkhpMjBjMWpwRWZYWEV4WkVrRkNpcFRDanJycC9MUGowei9uSGJWV1VrVXA2STY2NEx6dDJITzRuWGVVOS9VZGNYdXBjcExyTVVOQ3A3SWVuQ1NZdVZHSVNEb1VsdEVoNWM5KzdXeHA4MVludmZSbFp4dER1WjY0N1VvOXQvQVFTV0p3S0lNSTRRaXJraGFUT242S1QyY253L3l0bUdqNTdDeTM3cUJ3Y3RDN3FxUDdhbFlXN051aXUvL2gxbXBpRDFrOEtwNGZDS01zRTBzNXZRWG9TYkx1Ni9Nb1pPYTdXMUpXeUUvT3ozenRPMkc1UjZqcnR1NXZIYjZGSW9ubUlpVEFrZGJ0TFhsK1FFVFV6am83ZlY1S0RNRnV1WHBxSmVmdU1qMVZWVDJYakFGc09udUVabjA2NnlaSU1sWUV4MkpJQnlSQTFOZDVzeWpwckxhN0FTSlFTNG9CcmozdG9vc1NIcDg5Sjl4alB5QndDeHhwTXpDTXVMSjFwdFpzMG1qZDNZblY3SlQzZlBPVFFibDFmbThqcFduTytOVnp3dmtwTDFnOHphb0JYWTJqUUdMQlNDdFg0eTQxVGpuM1YyKzdMN002NWdHQnc2eTdxMUg0Wnl3TSt0cDI5Ky9PamdWQWpqMWZkRHVBSVVNaHliZHdqV1pEVkc2b09wL25wZWM2RDNtcjNqUFhhVnB0SUpONFFVUzk3VzRYbmU3dkJPUmxJQ0REZ3BKOC85YjRpL0hINFR2MGRFSjFNS1FQRU16eUU2NDlnTXdPZHdLeUdRcElQeVRGTlFsK1luZUVpQ1h2UFNwOVdySWh4M2szSUsrWVBUTjh2WFlEVXJZaDB6NGJNbnp1SE9Id1pBclB6djdNZGhXQ0pEM2VmVEV5cExmNTA4MEJEQ0hDdGVlRXZIWXVSUGcycjZxSElzTWJTQkpQUGY4cEc1SXo3NS9kQTI5ZGhIWFYweGROZVkycGU5eXpGWmJtSTY0N3FUVjlBeG9Qa1Z4dDhZZFVWcVM0M25GNW8rWnhWbjNieVpBbEZkM3ZaWSs3WElyVXUzWGRrbTY5UVcrbU1XbDMvTWtkZHR6MzZUWWlzME1KRU9yVzZlV3NaTGVqUFgwcmFaNmV1UXF2TUNZaVVSK1RxNXo4N0paSDVndnB6bFRHYzdrZ1FzOWRRTDZWejl1WmxYd3VXd0o4ZnVxeWRVZzBNa240T2dEbThVL3ZRVVdBZ0xxREl0TWozVGVkWjl0UjJhSnRsMU5YN3JUcTlMTzI5K0F4SkxzbEtyMlRuOS93aUFBN3B1VnNVSlc3Z1RzRXUvanNhby9zeUVwdHUxcmZPZ29paXhidUEyU0kzZ3BlOE9RWGJFRkZwQXRab21tMURodWdaOWZTS3BYR1owZnFublpTUENHaFgwWXNaOWpYeFJNT1NtUTlFcE9ZT0FUaFYrd0tsaytEVEt2Rm05L3kyVGIrc241R085U25uVEhJdVhEQ1hWZHpoSnRoWkRwamVaY0RGRTdZWFlvZkpTa1BWbVhoTDRFRTlyTnMveTdhZGFXVlVxRFY1K2w0K2xTeTd6Zm53czVzYTRSSEk3MER1K3dKUDkwMGF5SkFEZTNiNmEwbGpkVFQ5enZiMDJNM0dCcTNUNkpoK1hONjY3aklMQVFLZnM5YVZQdk5hcm1ZTDVhcnpWNEI2L3ROYzVPTG8vUjRzeXpCd3pLellseFlxUVBwc0xVbjNPNHBRSUlxZTBKNjlEYW9oQWhvdXQ5aGRFaVNOcUtXYkl2dTFMYlRWc3Q5V0wwUjJ0ZEYwQlRUeFd1d0tVUjdJOW5wMUNpVDJXdGt6d3RhQzF5THJudmo4c0R5T2JRVEo5d3AxbVhxVDJpT21HL1Y0M2dNMGx1QTZEb1h4OXc0cnpYYjg3UnBjbXE3ZEJISllyMGpjUHR1S3R6SG8zbXhEM29MMUc0OXQ5S2JMN2V1YmY3TWZtZEpUdXlFMDhWNmp6cjBDUjBXeVFrWlNXaTNkcS9QbDl2UFpFYVdhYVg5a1RCeDRydml4b01FNmUxNGZGTkltVmVPdTlmdGRydmJ0MXFIemJmcE5ST1BNWklvd0xmOTYzYXpmZDBkS2YxWVF2VjJQTDFsWDZIajduVzcyYjd1MjZ0bTEvN2FFNGpqKzZjN0liNG5ra2RObjZmVEoyb1kzNUpNMk95UWNTQ2g0M2E1bU04WHk1ZDk0c3UyaWxCci9YWFY3OFRXUU10WHNGNlkrNlVJVVNPK0I1bWZnek8yZjFrdTV2UEZhbnVFREUzd0hWSHJkM0hobThLYXBQeW10WDdYV3FmS0N1bmdUbmhDR0Rkd3g5RGJhelhYdzNDd09SblQxVDc5dk5Zc280Sm91b1M2K25lM3hCeGdlUllmdTVDYldXS25qa0I4SEJzS3ZSVkYyZmZydGpHT0pjcFArSEo3T3FXSEpDT25UbWczTDg0M3lIVnlkYmZSbVZhNERCb2hUbEhiMkQzTjRzRnpuZVUrMCttUWdvYzg0WHlQNDFxU2tac2NYcWVkOHcwRUpIWnExOXVzSTM5SWdRL1JydlVXajAwaVUxSWk5T2ZUVk13d2FMdE8yQ3ZlbDN0QXZBR1JVUUhKTGJhMEpkVTlnWFRidmZLSVFJQ1loTW5rdXFacDgxU3MyYng2TTZhb3E4Uy83V3ZmM1E1dW1iaFRiWTBKU0xZMWRycUhqaG5TaUcvVHZwWXR5b0dpU0NtVlc1VGh5ZlRkeVFNWmpsMk03S3FWR0VGbStpNmVGcDg0WXVRK0tpRFp3YjdxTGl0MmQwQnNkUWFQSU9Kc2pYY2J0aWNsSlZSZWYvR3Fyd2kxR2kwdkR6OFBDT1Y3QktaNzdKajkwMU50WFN0VlFJVHlCS21xYXRiR0c4WUtyblEzREMrN2hGdm9GSnQvNG5pQis1aUE3SHU4MTl6dHJidDdjMzZFUENLa2xNSkNCOTRlbklwU0ZEbkpDcnA3aTdyTk9oYjg1UU9PbDNBY1UyVVZyT1hxOHpZM0lESFJzWFBsUTRSbHFjR1E4U05pQy9hdDI5c2hYQ2h0SExBZE1iczFKaURybTJma0tPcHBvWHJhSXdQQWovU3pvdklhS2RWS016c2U3SWc2SzlXN0NHYTEwMlh4bGVxUTY3dnpqZkNqZ0N4THJsSVprUDUxZTVFSlZvUWk1ZTc0SldRTStwbGM0YXBuM2Q0T1FFcjZkVFZpQ25oTVFGYTNBd0xEQUJHSXVMRVBKVUJXR0FIQjFOd1BBZkpBT1JGK0RwRG5HeWZrcU01NXo5NkcrTTFqU05GWmhRM0ZpNTBNNjNjci9iT0g3MndlcWlIcjl0NnVzcDVIckpNTUJvVHVERU9xYXQxMk5TTk0rMnlzMEZWZXpxU1V3bFc1Zys3czdRNy9SUXI3VDlpeDZ1OTZoQ2JzSHBJTVowZ3ZJbkM4c1ZWVUthWGFlZTkwdDdEak9kOFhYUlVuTVU4UERMK3pOenBuNnZRRW5BZWlPclJQcWRYMDhRTHZYU3FycjF4Q244dDhxMmpuV2czclRqZjBHWlVGNEd5aE9BZXFGRnBORjhMNHMvUVhLVVVLbjdzalVkMGx0bnlyNmJMRlI0eUlKTWxOTnFRSGtuenJ6UXQyNSt0N1ovV0ZmU0g5ZmwxdVcvcVhVb2RRb3ViOG5SNi9idmZlc2ZJbDVVUFJuU1o0RkJCUGtodU5lZzhrbWJhMithbTdvNjF6NXV1ODVmdDVFZC9SenVpZmVhb2hWd1VvM0lPMmE5YkpRbUY1SWVic0RKTHBRMDV2aXNpdFhwWmJMbU5vdXJjajJlc2QzMm4zdEZleExiMXp1V3pxZHA5cHZSTnhKUEY0aEhwQ24ybTEwOWpadlpCc2dqaXRGcDlJSTBKeXU5dExnRVZJa3VhcjJhN1BGK2hhQ0dVcGQra1VGdDJJRjJLM2VYRkVsY1NSZmp0VlpYZGVMYzhBd1c1QUNPUCt1ekZhdHJnbHVTY082V2gycExlMUd6bFZWVldMUS84RzdPV3BoSE8yUVZlT0k4YU5YZkFUcms5SlpLOWtQWVM2VG5peW5Ta2QyeWZGSi93Y0VRKzZkL0VaSWtTMy9OYzVkbzVEQTlwOCt3a0RQZzFLK2I0OUpuakVGQ0VGbjY5ejMrNjJiMW5ydHVRSVE2UzRLTmJlZDNSMldHbHMrUWxwWER6dVhpL0xOWXJsNUtzTzIvVnF0ZDdzMjRGdFJaUnR3NTN0Y3VvcUNra1VLYUoydjFrdlYrdnRnZHQ3RmNNWGZET0ZoUk1DbXhwWmRyWVExWDZ6WHEzVzJ5TWgwTzhCaUsySTU5ZE1KdHM3Tzd3VCs1QzZXbGJiWlNGUlhHMHBJa0NOcU5GMlFwNUpKT3p0ejVrRmlrSFJpUk1hRjl0M1NYV3BldE8wTlRZN0RDQjBaNUIrQmp1U3FOaGRPeHlSdDgzVUtXYXpqdTdHSnNDSUllTDNudmNSb2dYbTdGV3BmZnJzQ1hJbVJXZDFabzhVa1ZMNHRuVW50SDgzbnk3a0ljK1JmK00yNmQvejdseHFhTFpmblc3c2VNeVNpazR2cm4yM21zNWZUa1NoY2NSK3ZsdWZ6Z3JkQ0ZoRWpBeUk4TkFGVCt5bE0yVlA2SmtFeG96YzJMNDdqdmFhRUEzWTBJQVNUTTVSdnh1VmNSUFBJdExuWjV0dHcyMzMyK2YxYXYyOEZiTVIzTWpYcUQ1Yk1ndnNjcjExRGtDY3lhZFpnbEpEVGUyblFvU3pnRXdSb2Rwdlg5YXI5Y3QycnpCQ0ZsRi9hV29WYXYyckdXS1plZTdhMUNBb3BYTWs5S0J5WFo5dWNnZ0hoZFIrczE0dVYrdnRVYlN3TzdBMEVHaXhjSzlWWEhqY1BxK1dxL1ZtcjVDYmFwN1prb2JjWk9yUm5mRDFDTjZ1Ky9jaGFpVFVHa2tGbjFxUklnVjRlclVudk1Od3cwT0FCR0ptdDVBNks2V1NGNWpRUTZLU2ZRVGwrZVJkNHFkcXRzNU5Fa3dTOVdkUzZxemd1SjQ5aFprY2ZFTlViMWVpUFo2dFlJTVBQbHNmbzFCR05KMnlsOVNaNkxpZWhha2poTCtVSWRLblVIUm1zckIxQmF1T3VPSTZpOFowaG9ueFpCTG96ajVvOUhaN1N4UlA4OGlSODB6cWxiK3ZXbjlDSUlPejhwd3NEaEg0RkNkOGVoVjdRRE1WNS8rNlRWYjVDWjlZOERkdzZBTStERWpnU2R5bTRjM3dPVzdOYlowcDRDVXY4cGljbzdBUlRvdWs3NWQ2SmtFWnRzWGRMRzdaNzF4aWhXa2tURTY0VVZRSU5RVXFTUko1Y1V1UE8ycFVMZDd0RWsva0RBV3VCOVNaYkJIMFRGd1BuWlZTZU55c0ZzdlY5Z1NrNGpVUHcwZWNlUms4VXkzeEhWdm43a0xrTkpreW5pU0JNNUpOVGppdHRwQkF3aFdlM1daMW02MTRETVhqYmJ0YUxsZWJFOTVuWUNiSkVvbE1NMXRxT05teU9USWJxMkpuZHA1VDFEd1J1SGIyalFiUG1henVubnJ3b0Z6NzNkUVVzWXR4dlAyWFBTR3FDSXZrZlpnNzRjdGdjKzYySHBuZE9URnhrbG1VbXMrbHM5SzBQSEd4N3pxZGJ4QjNUempmelRZWTRDRmZmc2hPYVJiSjRFVXUwM1dBUG9MQTRTbGIzQ05LRVpIdlhkeGFhdWUzemFQZFdwUDg1Q3FQQ0ErOW5OYUN6Wk5vVDdhNVBNb2phL1ZmdGo5ZytxcmpLT2VzMU5uOHNubXVwMEtuai90czZXRjVVUmM2SUhZaFlabERocFRPbjNBOXlLQ0xSVjJlTmpnV0lGRk53SDc1czZVSEhxWlA4WlNCczUxOGtmOFVSZlNXWDhuaDJjWVo1eHdzU3AxTGl5blAzNWpqNjM2ZjdYOGlwZWh0bGhQczB4cTlPK1dPSlJ2eEc0VUE2K3lTcHRNaGFYYVVKNTNlVXlxWmRFeENqSHBnbkNtQkRmL0twcXZFbWhvcWtLMVFidmM5VzY1dFNocjVzMUpVNmtySmJGVndKaGFlbEU0NGJ4bWozSjF6dU1qU2xucURGbEdXWFNuVGFqTXVJREVtdmo5dEZVOFpPSWRNUmE2am04cXI3RXhEZDd1TFhzNDhld2FsSmNXMjE4N0xLazREbVIzQnl2K2NmUitXVm9UYTV1ZEFTNUVMT2o5VnE4UTVRK3FMTWlkOU02Y2psbERhV2JEOGRNMXJlWklnWW5tNzB3TnlUK3djWndvS016S20xZWFyZEdWbm9qTXAvWkl2MVUvM3h2cWNCYkg4MzRMelVWWFZwai8vaTNFMXVqUnhCQjhBUkdCaXNxdzVRTTZoS1MyTGlPNEN4TkdEdVBIb0FlUkZVNWVFZWdISnFEdWljd2NnTDBCOWtBd0doQjRESkxidzhXblhyZEZXSmhOeHptNThvd3ZyV1U0OVEweWtFeWNuaTZzZ2JsRkJSOVdpVTJWWkZnVTNJT2l3RHBXRnJuSmRIT3RBNjBJOGlmR2grQmdnaU93VEZHNms2ZHFpQ2k2WXkxNFAzSVBJTnUxWVpVVStZK2JTTHNWTmoxN1JjUkh5dHFEVHFGT2lzUHl0Wk5SM3FFZ2dnditHVWMvRmkzRy84dXprKzU5WjhUb0dwSjBXMW5kVDNuczdjOVZsNEZCVUNDZG1KMU81S3RmMkNtdllyWHJXaFZPRnRYdW5ieEVPbVBrVGJhOHdQZWdDb2ZBdVFIUkJjU2w4ZVpwR0JCRS9XZHUrTHN6RzRPd0lxaXZVdy9NamZRWDI1V0s1dFNzdzdIVFBYZ3V6VDFObXBHZmxpM2FVQ1BLQWw2Vkx0b1JQelhubXJRUnMra1lFeVRVM0RlQnB3Um9XUWhlQ2RSRk1uU0svcTh1ZVFvTkRBWko4cnFidDFSbjUxSW53QmJBMDJvRXZiTHMyamZRb2FJUjlrRXlvQ3c4ZDRRSnU5cU56bXFaYkZab0g0dklkUkRzTFRrdmoxUlJpMDJiY001R0NYQ3BqVFVGTkVoWWdXV2VCN01ValkzMm14YndVSm4vOVRyRWJoU2toc0Y5bGRlMEdLSCtKeXo1dUZyUFpZbnVrVEV0ejFyanJObDFkY29NOHZoR3pPVlRvVjRnM2hqTDl1NndlQmZtZzZYUHhGTDl4YzJ1QzBQZnZRZ1lKaVlaaEF1QnB1NWpORnBzakl1T1NwVWtEL1hFSUtTck1ZYzh3SkNBQ3BsRUFpREVreE92bkhDTEo3clRQM0hkei9Rb2NGcE9WaXFiS1RhdjVFV1UvSE9WUzFRcVA4ZjY3ejhNV2VzMmZNTWNPekdndVJDU3lvd096S0hhRzY1TnlNSWZhbzZGekpCRmpPNXF4RkJMMzdPT2luTXNXTlFnSjhqck1tWGVYYkpPbFRPTjVWYm5xZ1lvWEdCMCtuVHc2WVdtcmFFelNJWmd3QUFVUVE5cUFWQWtTN1NIUkVVMmlGRmNZNDFFZlcwUVN6VmZUV2grMWpqOHQ3clE2dTQ4OUJNbk9YM20veVprMTdxU1FZTXRPdUxwaHZRV1FKNFNlQkFpbWxVQ2tuQzNITG9LZ2E1UTdSNW80b1loT1VJa1RYS0tYOEV5aGswM0tTbXZhdnl3Vzg4VnllOEpyRjhDOEhlNU1DcFZkTi9CNS80bThKNHRCbHgweDJPNmZGL1A1WXJrOTN0UTdnbTZod3BkOWk5U3hsVHB6dWREOTRYNFZ4c1ZieU5vUWRQWUZKNzVwSmczbUJEMDZJT0g5bmx6VnVFSE1TYUt2VnlSOXZXcGRMRk15VEJqM0VLbFZpTXphbkNNcVF2WURFWkZhdUwwekZCQ3BwUUVaeFJRUzk3d0ZBRE5hRGJNYUQwM25vbStZUFVOSlkrbVVKWEdyaStlRmFLT04ybVhqK0laRERLWGtyU3NkS2Q1SnlqdmxJaXJxL203cFlUZkZLeWUzUUJMOXl6MVYwSDlvV2tsWmYxS01pUHVWMFYwUkhJcmRPN05tdFlRa3NYbkswdVNjRTg1WnRsK2RlVDh1U3c5by9NWHQwbmREa2trNFRvUzJQMU1rT2l1eWQwdVNpQ1g1TkxieXY1bW8yT2NHNTQzZjdXV0piS1htOXVyTTVrMWpoeWI4V1R4dWd5UjlNM3FWNVdvenZ1SWZRV0xSMEptQm5hUDVtUm4yTTU4ZkFBV1NGRmh5Rm96ekVqK1RZaDhlUHQ4amo3OGVFMHpOUkQ4cTV0WkFydnVkZWExeFl0Q2JrSUNJemtOeXBuT284NUE2azV3V0VEdENHWTloZ0FUUEhwakl5Vkt1R3BOeDRIKytOeGV4RzRrTUpGRkpGNTJuTlJHcW1OTFFONkRCa05GQmhEbGo2TXArd2VsS3laZDE0cktRbkhsSlQ0THMyT0thdU02RnZNTkljemNpazZZa0pOaUxCOFlZWkVMTWlZL0gzT2c3WjFpaTM0TjkxKzV4MWhLZmlSU2hKa0xOKzVlZFZxRTRUeVlnS2VvWmhvbG9wbUtUUU96VUVWTEdaVTBTUG1QT0JsU2tOVVh0dTRqZFNHVHV4cTR5V2k4cjZKbWdEV0szM3FDZzBVR2p5N1pkb2Rwdm50Y3ZyNStvQWlaZWpwQlJXVGxJc05BR2U2WUlGMFg0K2JwWlA1dGRSeWp5SUg1RWMrSG43bVZ0NXFwd1JKRFE0K0lKZzBKVENhNVF4cXJBeEx0RmZQN1JPUjhvQ29Jd0VVYUZpT1dUelRrd1YvNGNJc2dDSGhtV3hKNTFjSWJENXlxaVYxUEJlRnJ1MFZpUmMrVFRqVzNnWHhkVjlmUlVQUzBQRVNJTUNLSUVBK1JQbE55dmlTanhoeTdMWktBNVBlWGhjQS9qSE92dXFhcW0xWFJhUFprVzViTnNZanZmQUVtWEJBUENMMzd1NXZTVnBUbXlmdlVvbUd3cWU0WHhPdU1Ca2ZCRDRxOTQydC9sWEpta0tTaytRWW15QkVtMWxpOXN5TDZkYlNsTm1vZEVKMFhLYnNtY2ljNmlCWThWOXM2RVB3TkpkRUt0NHV1U2t1Y0VFU3p4K1MxNTNFU21XcVZQUkFsTFVqZ2lsc2dlb2VrUkZXdTBZZkUzUXpueHFJVVFlL0FBMmJhelVPd3NrSUwrdURXUmZVSlBTN203b1RoQlFwYUVLWEhPR0ZrY3d2TTI1M1E4YXliQWdBZm5pVGwwSHpmQ0tObitkSFozWW9UOUJ3YzRkRmMrd0RkY3hFVmg1elRhYjU1WGlQZERFamRCeFQyLzl1TWpBQ0lyenpWWlpQUW5Bd09mc3VLU0hOa2tYWTBDM3pOVC85SG44VDlTZ0dVYmNpYVNMUWxQejB4Sm5vbWZJMUtJOTBJU3R3bHU4cktLVkpRSG9wSDJKWFc3SnRJL1A4ZnVqR1IvRHlLQWF2VVVyYStES3Bzc1pDVFJPY1pKMVY4TzI1TytWbFR5WkNLMmxlSG4wQ0tlRUhlOE51MHFzd2NQUDRWQkFhU1BoVElUajZGMGdwTTRmWlNCNHp6QXZOdnJqTmZ1bloyeVN2QXNQQ0VaMnVqM1ZIWllqTkJpK1N5U0FaQ3hmUThZZUl3YjhGYXFyRkFjRlNBeEpKRlJZVHBza2tteW50UDI4UE1BandzUk1kNXdlL0dHNS9RVFk1Z3pMSWt0TVJRNEVzOGZpVG9Uenc2UlhFRHJOY3N0Z01TdHB2bkdDZi94cVI4Y0oxR2lXR1NTejdIbVowK1VJSGtQNG91Nlc5Y2RYYlQ4STRPODNnTkxlSUttTkpqakJzV3NveDF5RGVaWFlmN2VzTnU2aXFZcmRVb3Fnd2RLdzk1QTBGZ1lPaGVwcHdjNTlZRWxKbmJ3WGFPWlpMc0JXeXpIR2JNQytmS1FSRzF0dmdXM2dFaFdjZEV0cWt2dklwMk14YXZTSGFBUVVSU3QyQWVUWWlHaUQ1TEVzcHMvb3J0MXFRYjdjRWxpUnZjbHphd1pXY3E5U3FoRFBxV29GdnM3UE5sdFdZbk81bzdMMHZJVU9aS0l1SkVhWUlBTUh5VWlmeDVmWk9qZ25GYnpVLytITXV1VW1KRzhaNTI2UGRNdUM5dUJTR1JOaG1HQ2IreUVhOVVwSnhiM3VGOVp5OEx1VGdiNE1wMmFLeHJScU1QQ0ZLdFRqOEtLQTNjZmhSUzFWbXFERlo0OFI1N2JyaE15aTVmMWc0ZENnaWR2dDE2NlYzaElralkrSVZ3Z2pGQlo5eUZpeGNmc2lOYUg1MWxWVFZlN29ldFJESERoUWx5WGlnemIzWEphVmJQMW51RGM4NlYxYXZraTkzcUEyNFVxbkxCWFRMRlh4elJZZ282TDFPOXp6R1dDaTB2dWl2VDUxaW9jWU5BWlNTRHBkVWs1b2d0cVM3V250N1ovS1l0U1pDdEMwTDV3MGZDb1BiMjFnK2lVOXRZRUNLSmZoT2l5dmF6RUJ2ZEFJZ1lkb3RaNjBBcVI1NUp0eWpod2ZkN1cwSytzZTlMV0F3T1R3V00zbTNCT0VmRi9KcWtXSXJwSGMrV2l4R0Y0bkNrdWxPaHlzbDgvbUVISGJzK2FGNWthZUFENVJGRW1qclkwSGw1OVRUTGloUnRVUDVVZHJydmsxbVZIbUhwNVlCazlUSm1YQmlaMzViazZiWHNLaVFOR1dKTTQyM3RIaWdmeTV2Z09TTTQ4b05MRkg5U1BWWm5LbngyTjRCeEg3Z0lxUjVMWXFLT3BOK0tra0QybWV4UlhSbklqazZTelNlOWh0VFVnejRXUG5ESTE3aWtzazVKRTZENU11Q29ZVDIzcFJIRTlTSks4UWhSbEU5NnZnQS9pSWM2WVF1TGhFRVo5REVoMHFya2UyQ1kybFJsSGVnUkVkRFlFMVpFWGpJOFRKS0psb3JrQ0hqanBzZ3ozU1pGZDdOMjJuUVRoTEJZOEFIM2NrSWhQRm1qckpDK1lhemE4QXhHZFJxSnhhcVdyaEh1SExDUE45WUFoWVN6aFFtT2orbUdTSVA5QXkwQ3RrMWpSejZCOUZCRnlBWnJPSU9KeG1Zd1MvZVNVellQK2Iwb1NpWWNldzdicjVGOVFZZ0tTcEVYa2dUUG0rNTNjcjhsSUFXazVmbjhjRWd6RFYyczJ5dlNqWFZZdXFTQnVLU1E4Q1ZnSUYyOUVwTXdSblBSL3huMXlOTUVFU3dyZURjazNXanpRNHlGVS9XT0lPTlV1ckZVdU1tRjloZzlFamQ2UzZIc0J1ZS9jU1Fya0VVVDhnTTBvbGhGc082T2Y1dFlxU3FENVJNZERKUEdES3cxTHpHa0c5bVU5R0V3Z2FyeDNQb0JRZ0h3UUIzazltdGRnRHBiV0VVdlNMaFZNWjliZWVjSWNLSk9mbTEwa1E4VUhCQmMrUnljTzZzTWNJZlRwYWY3QjRSSEdkVmhDeTVFRzdpSkxWSUNMSUpuODVEeThTSEU5am9oM1R4T1dQQXlKTjFEQ25HUUtsaWhuRkR5ZXU1R1FURWJ3NkFlVkF4NGJ5am05aGNMWkdpWGRxREh4dUxLNVlMNjB6OE9JU0VnbU9FcVVOVkNXaUk5K1RCeVArRXQ2TUdiTGZpNm1UckRzRm5uUW1kRFNuSGlHNkI4R0paVGVjUVJJSXQweURrY0lNNzRXODdBNVMwSjdXMkpFL0tPbWNKcHdPTVo0MjgrZnBCV0JIMlhKS0lpSTdKYTk4K2dYajhkc1FoR2U0V3JROXJIelVkQkFNaVlDUU9EUXd3UVI2WEZOYnE2K1BoQjBQMnlBNC9SVytQZXdzK1ZUS2RLUVJHNTJKazcwc2tidWVVVlE1RFFjcG9WTDFERkRCRFZIUllTMzF6MUtrc1QrT21rOXJsbzFUd3BnWk9HejZSUW1ieVo1WkZDNDNHU2k1RkRpamFpTnl0S1NQSHBBZ3djK1lreEdJWW5naUU5c1AwNFNFUjVta2x5QkkwMUF3d2s3U0o2dm5tRUo0NURBYk1iWi9VeVM5RFo3bkd1TCtTQ1IxcmszelRXTzJ4YlJaQXpiampxVGNHUWMwUWxIR21qQ2xJSUdpQm9yL0VZdVNpTWhpakx5bmhDVE9La3QxS2kveGthd3pkVzNIc25namdCSlJsd2pUTEpOa2x1NWs4U1dwT0dMTWlBMzhjTHhZc2FtVUpVeFJsMFV3aVBsYWM0UHpud0ZST2pCWXVBWXdiVk15K09JYXFzVGtGd1dHSU9WSUs3SU1BY0RkNVpSWnJBbkdIbjBHUlVhcXY3ZVFDRmhBdzlCb2g5SEJHTThySnFsUngxZzNYbkxJc0lDeHNDTnhvaUtXUmZLUlBnb0RPSWtWek5MVEpwVFhUYjdiQ2JPV2NYMUNFdkdnUVRqMGZ0Z0dZa3duMGhKRVJHK2x0RmFOdFlJL2xVVGRKaDVpUEczNCtHdVlZak9XUGIwU3lEUFVJUnhvUitCNVBGd004MEtqaERiWWhrTkhva1dsMjFnblJIb1lVRG1nRFdTTDRHVU9DR1JMTURJbDh6d3hJWkRyQzFWUDlKKzlZamNRTHJBekRlbGNTREJNaDQ4bFNJOExtaGNYYkh4TGxndzh3MklVS1NKRFJjRlFLS0tjbWxzcEdsb2ZBeVNCK1gyellwK3FNY2xTWmtmdkRxRzJkVVpHcllLVnVOZmJnQWovNnZocDBOTkU1VlBOM2ZhTlA0OVdJNzlUa2pHeVZ6eVdIRVVSRG9kWU5HK1JiSmx2a0ZyeWxtK3k3TERscmZRaHlvczhXTE9wQ1Fnb3FJOEVCRnIyKzlWRmFOQUlqZ3lUdERlNTI2eFRpUnNRTmgzNS9ZNGdNUjZXQ3hhOUFyTDJ4SFVhdExtQ05uaitPbW8veFY5R3VoT1NHQUVsbnhyNlptTWtiYkdMb3FJWEVvVFQzcHUrTG9aalkwVkdDbzUvMWRyM1U0K2l5ZTdGUk9mYnJsSG9DT2s5NFdyaW84WHJmcWpSR1pVdWRheU9hNUdMdGVBTGlqaDJheEdnSU9vUHlkdlJiTTFEQksyeWcyR2IzajdoZE1vZWt1WXdvYy85SU1IMGgybUpJNUozSm8vVWF3b0FiTDVScm1DcjM2Ym5McGNpWDVNRUJIcEg2dERIL0J5Y0Z4SVJrSGtBL29EZHhRa3NjWURBVEZhTEV1bXV1SlNvOCs2NEtrSXlOQ2JIeDZlSXlHRllmajRJVVpjZW5jc2tsQ2EzMElNbWRXUExoN2tqdm1Bb1ZHaVVGcU50K3VFTGlBRTl3d0hxSWxqRVNMQ3crUnd4Y2NSWWFrVUdjcTYwMzN3SzNSM1B5SXg0S2hHMkkwTCs3RWZrSWZoSTRiZ0l6MnFMN3VsY3pPaVJNQnVJV25RTzhETzBlTFZyUWJ3TURub2gyOWltaS95YktWVEdnMHdrWHdVTDM4TVJHUSt6dklVa3BQeHh4L1piL1V4M0xielRFcThMbFlEWWhrNXo1b1FnL2dDQ2hMaGZySy82bkVnRVlpNDcva2RjaTJ4Tm9pSExIM1FvMGxCV1dKeUZZWmloMkZDbXVSYmZReE5BUWUxMVZpaU5NQWhJZWQ4T2FzZjlUNDBRUGhCUkxpYjdMNXdMRVF3NVFoUGlBZWgrS3YrZUZqK0hhYkVzdlFiTVNyVGRkcncwcmZxS1NXV0Z2NEpNV0s4Q2lidmZrQ2lCb0NRY0RmWlhjY0F4R3ByaVlnSW5IUE94VS9kWEVzZGJ4QjYrTVRZRzdoSDh6Z2JiK1I1TndTeVpjc3d1TVNXSXZnNmViMXFQUjRpaWRveW1IeDdFdy9aa1pwWTJJK01JdTkya0JJekhKSXBpS0lFd1UveTBhM0U1UEhZNXdGN05lR01ScE5kOWNkNVlFZ3NHckZoNUhheS9VSTlIaVRZaE8yL29sWkEzdlVueHV0SCt2Y0RnbC8yMFExSHdXbEZ4RzgrMDVGWXlpSnhybkxZNUREQmdWRTdJV0Y1dFVVMmo3UUpUYW1HUFhvemVmblNla3hFd295NWd1bHZRcUFheTRFOWJDRDFsVE1pK2loSEVxSmZIbDExU0FpL2NQb1ArWS9ScDA5dEJRazBuaUUrNHk2M3FuQ2VyOGlra0g2WnJQOUFQUzRrYnY1aWtkWHNLOW5yYnlnSzRFSUFBNm5BUDhwNlM4Q0hVZW9BNVp2cytTUEJOMW53UDRiRjdUcGVFeUF5R3NIVENza1QzNlJBUktUWGs5VWZXdXNmSUFrV1JwTnZNNE1BeWdjSUIzRGdCT1FCTGxvTVNlT1FDQ0dBYjdvTmo4TUFrZWcwQS9SV1lFaXc3OVo4TkloZ0YxVnVBa0FPRTNQSmVqVlpmbWs5TmlSK2ptKzNqK3c2eUZFNjVDWmtkY1cxMnhESSsxdHN4a0p5SWpZSU1rL2xjN0k0YUVRMmJNa01kN2Z4bUVoUHk5a1Z2WndzdEI0ZmtVNk8yT0FncUs2Y21QeTNaNVlDWXQwZmFadVB2TDhWMXBXZ3VEK2EvMHNlODQveDViM2hha3N1VCtZdnFIR0pQM0psRXpNdTdTR0x5WUorQ0pHbUN4R3Z1aHJrK1U4Mk9vUDNmb1BQRzBFVTFEN0xRVGNGb2xBT2tvYWZpRFVLNHBDZzNmdGIxc1R6dGVCdFhzdXFyY2IxcExUenlmenpxbjhDa3NhQjBwOG41bzFOZ2lLOFl6WHYraVJlVVFUWGgralg5QUhKSUlxdzl0a1BaazRhb2dad0dDUk52TzVvRTZjZUhWMXNSUDgybjh4T1g2ai9EYlVsaW82dWJ5a01YaGV4a01paHM1SGFTSjU0SVhwZ0dpNC9NZld0WkVqaXh4K0JKYkVMTUlna0RjdHRlVFFhODk4MVo3a1kwZmpHeDlsa2VyakpxdU9vaURDTjZ3MEtKTnZUV0padzc4ZklTNXJjRHk5QkE0d1k0MkdhWTVZTXdHcDRlYXdZUU5BYnQ0dkVscjhLbWR0cWZDZFg2SXZRKyttazJ0MFdpS0FlR1JKUDdzYVBGQ1BDa0FueWtBanhlRUtJSjFuR1ROcG5QOHN4bXREQlBRc2ttZlNUNWozR2FKaXpGYnlzeHJTbk5PaDBBUWt2aXhyU3UycFN2ZDRZR1k2T2lPeVVEWW1laHEzb1ZvWUVtS3lJVlVpVGNNTjAxV21OUEtVbnV0T1oveWxrNzJSSGtrellyYllrSkUySVJxRGhuUWdOK2hNZ1hiZFBrMnA3YzZnK3V0b0trRFNzRmgyK01iSzIwd1NTV1BZU0tuN0hOdFY5WTlLcWpuS09rK0NIZnlFaVlXOS9JNHBjWTRERWhzVzhqODdwZ3V2bWFWSTkzK0ZsM1FISjRJcUtOKytOOEw5Q2MyUUVTYzVkNVhJa0Z0VzViaUhmZzQ1aGVvVUxDZHpITkNnbnp6cDJlRzh3OUtQMVhIekRTa1ZKVGJFUktmcm5hbEt0OEM0dmFteVM2SGk5c0dUQitnUVNvcEloRGgyRG9vVzJDU3UyVXNBZHZJTVg4UGVzaWhWZ01NQU5PUU0zNU9vYjZ3TTNmbktpL1FmY3hLdFZOWGxhcUt2K09VaHVRU1JBMGdqZkhmeU1MZDhieVNHaElpUWYvTlVQMFF4c3M3LzRBZTZlRFFjY1ROSmlvSEFkR3I4RVRkTnBTWEtyeG1YaWQ5c2lRb1NmaTJwU3pkN3VDMFR3ZGtpR0gydzl4TVpiUWpOeVdSODE2OGxzb2lWNlVJVGpiTEpNYUJBMGhvUjgwc3gzclBNTUV3WnlCT1BydWpZYTFzZzdESkZRVUdWT1plT3VyMEVpZlpwVms2bzYzcDFleEVIR0JPK0NwSEd3SUc4UFFMUlY4c1ozZFBnbUo2OTN3clFZOEYyMWpUOEdHcnYxZ0hEcG1DZnFxbmVOdCsxSUg2eGZvV0VlUWROblNRUWtEYy9LWjdhbTBvZXFta3lyL2YzNVh2d2VIeEhlNWNUUzE3eUQyRUtDYm9RM1BOam5yYzF4OTQxRGdEd2lvbzJOQVlPOG9zZUxGZ1llbnpmSHZneHdvclVhNzNEeGJFcURoS1IzMVhReXJiWVBwVWh1aGVUV3lxTnd0OUFuYjAxYXluaVB5T2RXeHZQSGZjQkJoaHpPNjBmOERsTW12YXNUR09KOXJzYURqVUhGdWQ5K0ZrNjUxcUFaTzV3TGJGTXFjZWtkdDFVMXFhcjFRN2tzczBqbHlJaklVbWcwbkd6eTlodERVZ2g0MHpuWFhkUUFmcERyR2tUZkx1ampmMWErY3crSSthRzg0dWNBQlo1NkM3bUZ2dktQcUpIZ0J3UjhRc1BRdXFvbVZiV2d4L0s5T0lRbWVEY2s2RFBZZmlDeFVoZzFGQ24zRUdjMVRFV0ZDYkNlUEQ2SDF2Qjk1OW44SjJkK0JETjRBQkdhRkRvdFNVNXBBZEkvM2pBMlNQOGdJTGJ6cDZkSlZWWHRnd2w0dHlUc3VJakVYUng4OXhPVWJSTjg3bjdqdmFmUXg4a3pSdzNmYWpPVXlRSllYR25KMlFXZUU1NXV5R1oyaG1scGZlNnZ6V3NoL1lQMFQvQWtTYjg5VmRXa3FoNng2dUtVSTZ1dFRMRHIremd3Nml1MktTY2UyemVpejRNRnhHN3djN1hWOE53U3E0MmhuNTdXUkU0UjAxenBISmx1UkpnRGFkLzJqd0ZsYndIWmpsQ2lHcFN4dWgwU0ZCYVJ4ZkNZYlM1cXdnUUFsOElOSVRXRjhMcnhTc2V1RzRLY0R6WU05QUZKUXhJVG4wTG5XZlJ1dFJWemhKdnpVQ3paVmdhUTFTZzFRenREK1lkSVFneVZKdTZnQ0ROVW1MTkZYQVZSdzJJNTVpb0Z0eG80bkVIb3hDWE95Y1EyNW80eEdjSVJFaWxmQTlEMzBnSXlHNm1zUHJqNGNROGlUY2liSmlSaHpVV0plcEVxbnhvWjRMbU1JeWNJQTVIaVhsQ1FIK3h4RUpqZ0VJNkVxTjEvWkR1ekttdDZ1STZLQ1A2STJvclNRRkc1SHIvdGpETHY5anBHTU1kTEpIWDliczNFcG9DeE9oNkVlRVFnNEt4WWJxdk9RUnp4eWQrR2dZTFU2UDNVTXVTT2tzajlrT0JESk9IZHcvR0ZCK1VzRGJHTEh1T3RnQnVXQmtIZWVwQzByWWZFamJUcmtXbG1mNzU3NHhFUzJTMUNwT3ZteVFHeStvbjJocC93dGxpZHh3Q1Ryd1pEYW9nNUJWeUVIMng3QTRqNDRjeVRkSFBqcVI0Tit5OU5jOE43R2JBL2kwSmVDeHQ5dktvY0lMTzNVZHNYKzhUOWlMZlYrRGd4MjlMTmxuRVZ2U3hOM0h5T29taFAzTWptckJEU1B4RFpjMlRBK0tjYWtWRG9pZGxkWHN1OFVaOW1IcEJxTjI2RDczZGY0K0lqaGlTWTlpYm5adklsS21NTnc0a0NTUGpoR2NKeVNyRWp4ZE5vZHNGZXBIK1Exd2M4YVVRdXBOVC9uK2JqRzBTazY2NXlnRXlyNTdIN3NyNjdCWTRQaGlTODJvUGxZckJNM1ROUHFXRzJQV3NSZ2djZ2F4YmdyYkVIdkVFeWtaM0ZKN0NtQnhINnY0MnlzaHloNThvYjlXcjJPWGJMZFo4eGVkVGI0bnRoZDlxYzNIQlBWMTJ3Qi8xaitlY3BhQkg0Sjh4K3Nnd0JHMkdiZC9sMytCUCtnM205bGQ5NENwSDAyOHd6cEpwVyt4L29KOVdkSXIrREpGTC8ycjdBN3BISXN4Uk5wUFNieU5WTkdqK2JxUGVUaDlVaGxXTzFtRldnamRXWE9kYzhjeEZOY0ZWMlR3R1FjZjJzck5TL3gxUmIvSHJNMWZSNVppQ0xkRTJjK3hieE9OTkl6cEgrQndNSWdReU4zSytUTzdGRnQwTW5TUzJydFZZVkI2UjZ1L3dvSk44NVRCNGtDZkd3cEUvSDJReGV3MHQwUE9BRDR5QUpaNVpZRE1wQkNLMmhBZ0VTQTU2OTBrMTBnL24zc1pLQXZIeHAvZE1zd2RFUWFmZ2Z3cjRzYThNNkoyUVRlb09FRUtjQWpDSml1aWtnSkpqajNOWUd1WFhtZ1pKbHlYZjVHdHdKOUVzRXlGenBuN3NWeFk3NFNPRXFHbXJka0FUNzduV1FzK091LzZNSnRJbk1qYTFmWUVPY0FaSGZLbjJOUm1pdzNtdjRuRWVBM056aU93NGtEeURTeUYvOTlicUcxYktkeFU2cVh5aU1pSVB5dzhZeFBBcHlxQVQxMURDakpwN0NQa1RvK3ZvVUE3TENxOWIvLzRJa2FJenU2Vm9ZbVo2R0dlYVFMUWxCQzlNNVZ2U0FqWjIyMmJoeVgwaEhzV0VSbW5oRlNxSHB1V3BDV2lhQWpGRTNIQ0RJNzBSeUk2bXRvY21hSnJMQlR2YUFZaWNLUHNBYkh0UndsZFQ0VjcyMUNYQ3cxekQxQkdYcVYrODlEQUdRT3lqeTk4MHZlSmNMaStMOUVVVFNHZVNKcHhZV0tHRndCT2VXUFdHQTREMVc0bERCV3dxNTNZNXhTTXNNSUZXbUt2SjNkSS85SHZEUzN6bHdjc0xyRXVyZmVZaHZSeVRmanNOVE1RMVB5TEJlZGVkRGtmQnR1WElTUGxYRUVrNnlndUw5M2ovbEFGbmVQTjVIc3lhL2hpUVpTRUx1dTVHYWhxUnBDSFpjaUQ4OEl1bGdjRWo0dXpIL2JRSkJPQ0E5VmtTTzk3K3phUDA5RUV1TTg4R1JVTDg3ZVhvL0lxay9BQ2kxdmRCRkl1UnVrTGxqQW95R000N2hTb205eVNKQ2wzMlZCMlQ1ZlRjei9yNlpWTmFZZk9Od2t2ejlPRWZTbWtRVG9nVVJYemR4YjV2b3pVMjFIT09HTkRXQmJFa3FKYlVnRXBDbjNWZWZHUDd1Vk94LzM2VHlMRTIrTVMvZmZ2VHZRMFJuQTh1R0U2T1I1b0c5MUNUaGFHQ1NUSWVVQTlnWUVmMDZMUUJTemMvWGtpei9IcXJMQnNEeWQ2SzZ2Z2NqOHZjSUpNbjByVFY4SERjU0pabWxrVVAremh2L0p0K2ZpNmNTUTJUTDNFWDgwWmZ3L3hLZVRZLzM5OXdiL21aditMdWd1c0ppdjkzKzFrWHJVUkQ1em96ZUpnOUpJK2MvTlVtelJhNHdXMzRpUVVSdk9DY2tRNnFwTEs1ZnVHeURoTVdybHl3WThrT3VPZ0sxMU03VklkYS84MmU0RTVIOCsyU21xdUdxYVBndDFXb3NtOUNrMys4MDdRRGt2aWJHYTA1VTErNURFL0Y4NHdDU1hPN215S1dqeXN4MnVFMENPL2RQRjRXZUkwRFQrYXI4ZnF1cUE1Q242dlVQSWJ5cmxTRzc3eDY3bDRLUXIrbDcrSkg4UGZxcXRiNnd4MVp6ZmVzaFEzMFlSM3JEbWUvdW9VNml3L0JiSndwSUR2bm9ZZFBMSUsyMTFsK3ZUMTJBVk5XY0t5MHZ2Q0E0ZmplV2VrS0NhNTRjSE5sSXNsa0JaMWpHRUIrQXlOOGxieU95SlUzV2hVSytpeS95cEJVT2M2NWk1TmozKzNxYjl3RENpN25YakVnak9uUnhKQlg2TmZ1WjRhbHY0MjkxSVhJWksycjNiLzNHb1pLTmxvdnJ0U0pOQ2JaQUVsekY4azhBcVY2L2NvUC9LbFRSVUk1Y0JiM0U4NWU4ZFVIOEhrQ1MrRXhERUNuUnBOTUF5RWZmWVNXd0Fiem90ZjBONk5lcUg1RHA2U3RWTTh4dWUyRm1lQkRabTJzeXNpTmVSVmJIcVpHQmtGeEc0VWoyelluR0NqSGR6YTVXRmplRHgzRTZBSkJxZnY0Uzd1bzE0NjF5ZCtmQ1I3MHgxaGZtRkh0cFg5aWRpMVJaRitFU0IwUytJOW55VWU2UHYzUWk4bjFQN3JqSnRCc2xpUHlET0VEczVTZEoveC96YWdBZ1QzNWFiaFJvWE4zMVg0UDhMMUd3ZUdVWVhKbTQrYXNYcWZJdVFZT0ZWekRqYnNXOUFoZXArZm81Y3JramQ1ejl1QndlL3hUdWgwZi94TENjMTlVUVFLcHB0ZjJ5WC8vS2tZaWpkeTc1bUJPWDNETlgrZEJqNlo2L2N2TGc5eERoWGdiWUVTeHcrKy9PNEwwWWJ2Y0QrRS82NEorTVYvMjlxWVlCNHBxdkwwd0xoUXU1ZUtoeW8vK3FFNVpja3Qvc1l5K1NKQmR1Ny9zaGllSkV2SWtreWZ1eFgrZUU0dmczUG5ocmJIUDFJRUNlcG9jL0VrbHhuYzExL2xWSTh4S3pvUThQYmwrdXVxaUZ2dVBTN3lXVGpobkNrUXUzUFAwcHJpd3l0NnE1WE5ScDVrc05aVWcxTzM2bDFpRmNCemZneVRFWHJvdXlMTG5FT2lwQjhOSXhhci9Mc2gya3RTN3B3Q3BGSlZqd2NoOUdoUFJoVnQwQ2lJM1lMNGxwenBtSGNKeXc4VmRkUkNMNnNHdEd6M1daQnYyL3BSZHc2ZWNJWmh6d0pFb3RzYVNZcmIxYlgrblR2TG9Oa0dyeCtjV3RCQmZkSlI3M0YwK1dISVFaWit3aXROUFZlc29jTmFhNlhHbVJ1OEhmUERpNjNKRFprdVBGZldkdVRHNnJhTnhaRDBreUp2MkFWSXYvK3RKWjVSTVA2NGc0TG15NUJ1dC8wVmRIbnl1WGhReFVydHl6cys5SkRlaDN6Z1crTUU3MVJTUUNlZisreTlDVVk2N0dkRE0vM2haRnNSY0JtVmFMdDY5TW5Vb095TWk2WnozK3JQdC8wVWxBa3N1cWRHbWkyME9LWWRXRTd5SFIzUU9Ra0Q2VjhlaGdTRlhOajMva2RiNXdUN2xoVEV5Ti9YVVZSMTdsbXk1U2xhUnByK0pGZi84TUlrTnJINWwrOWdhVHV6R2dkRG5NcS9zQWVacFo3emNQaWVmN1ZUNS80Y21UUzdEMUY1SDRTajVNcGsvOHU3dk5kYmJnanJkQ2NobWUzY0o4TC9FZ1VwbjQ4cnFmVlhjQ1VsWFQzZGRWQXBBTThJc0VRQ2RXVW5wVDd0VncxRFVBZVkyaDE3ZENjZ05KL3U0SVNQUXdwWVg5TVV3U1dlcmR0TG9ma09wcCsvMmxNMlAvbWdhNkY2bDNKRld5cXUrYStGNWM3YVU0M3dESlRSekpwVktHMXBsdXk0ZVJwczFUOVFnZ1ZiWG11ZCtMMUNqWFJQQmV4cGNRVGx6aS9HK2lvWklQYzIrOHhpbXVqQjBaTUtlMEE1Ry9CUmZ2U0RmZThwNUdmNjU3OE9nRlpGb3RUbDlYa1pXTDArVVhFWUxra2w5WDRUNWRNdit2aWNlUXR5eDY4TER2a012M29HYSs3enNRMGQwMUVuMmNQMDBmQktTcXF1a3JmdVVDN3ZCWER1U3JTRXhlWWtQQ29oVU9SNVIvditRdFA3dm03L3NSd1NJTWw0NVpKYVZIQTA5TG1sNmYrcVU5QUpEcWFmMzJCNWNSUzJOZG85RWMrOE94UVk5cndaZWtlcVVqUjR1RmpnNFdFU0NXTVJrNnJDL0ZWcng3T0ZJbThXazFBSTloZ0ZTem5mN0toT2hYeVJJZG8zSU5yK1dTWWVHRlRDUGVKYzRRYzluNXRtQ1dWcmtOa3U4MDNYaTVoV1gvZE5FekJ3ZSt6b2JnTVFnUVE1S3ZyeVRYTG5SK0RvbHNuaVI2Znh5TFhEUGNTaE96V2IyVldJZGg0L29TNXc5NnltUURUSmg4WDZQMWFmVTBDSS9CZ0ZUVlZ2MGhnbkdXYzhwWTlYSmU5OElhNVhRbVloU0cvQnFiTGYrKzc3UldZbGNudVBUbFhFb3ArV3NtVWZSOUgwZmttYStmMjRGd0RBYWtxcXBxc2Z2K1E2ZHl1aVorRWtPbFZEU01hQ0hUdkduRW5yZ1JzYXkrQTF2a3dNZWhhdXVxOWQ5c2hPbUhTZUpQZmFIWHhYQXBEd2ZrcWFxV2UvMTF6WlpjTHdWK2xGKzU1SEc2eGloRmlYL25vVjA2aHUvd2VDSjRXaGVwWUcvUHgyTStTNmsxN3BkUDFVOEFVbFhWMDlQeWdIOWNreXJWTmJVaWx3eUxydkU3Y2s5bml2UXBPcVZnNFR1TS9XSHkvTTVrclMrRG03NTZPYUt2dUY5V045MG10eDMrOUxUeWtGeUZKYmhJREdJcFgxS2dzcjFCVjY0Uk9jcStwbktWSS9nN09Gck05Y0pCTTYxaURaZnhBKzhwa2ZqbzVnL2NyNTZxSHdXa3FxcHE5WHIrNCtzYUxPRlYrc0t1TzF2MFBFaDk0OTUzRGUrK3NzTHRWZnRYTHFGU2RlVWVCSS85UlVRUzhCbXF0cjZUUnEvVXZOOWhSeTdYci9QcnpYRGNCY2hUTmQrODZhK3ZhNGpScjFwZmdoaXZma0NIMThPUE80Smpjd2trWXJYRjhCWjdFUHNRTVlnOUpKSXVOeVBpd0w0bTdaazREQkwvTVY5Zit1MWxmanNjZHdGaWFMTC9MLzNIVnhpMFFaYlh3SnZMbFF0V083ZzhkMkl4TTBaWWlMVys2dXNsd29GQkcwSENHV0lGZEFuQmZhY2NtZTI2eHJuU203VFd0Lzc2UTMvdVYzY0s5bDVBcW1yMnNudTcvUEhsVmJvM0ZSZDNTUmFheTlXYW1BdFAzalBzTGhFeVhpYjJuZUVRLzJIWFlMVXU4UVRTck9McUh1RmFsTnZUbkpxZEtqRUVrYTgvOU52dVpYYTNXTzhIcEtxZTVxdnRnYjYrdm96NmtuVU1LK1Bvc2VPT2Y0Mmh4Y1V1Wk82SDdUVjhHT3ViOEtvbDBsZzJzekxJVmZyV090OHh4bERwYTNiLzF2cGJxOE4yTlh0QXBvOEFNcTJxcXByT1Z0dkRmK0gzOVk4L0hDeWEweUFvcmlCRVFROGgvQXNIOUNKZWNrOWNvOE9qUk1jMytuLysxeUJJMHB5MExMRHAvNTBha2dheG9RYnhXMS8wTjUzL1o3OWR6cDZxSnl1YVg4OFFhK0tmcW1xeDN1NlAvNlB3NjQ4L09EQzhMZTFTWUFLM0poY2RQV1ZaNEFoMWxScnZJaTI4c0w3ZkdiT05OM3Bic21RdDdVaGozM0g5K3RMbjluVFliZGVMYW96YlpKUlBxWjZxNm1tMldEOXZYL2VIMDMrUnRzZ1lkWGI1dWw2dStucVZQSkQxNEt2UVpwSUhqRVpYOFRwM3E0UGk0bTExMzg3MUdoTGg4UlM4dGVnVzdTdHJwVFFIWGErYS90KzM0MkgzdW5sZUxXWlBUOVZJdDVFQXFhWlRSNWZwYkw1WUxGZlBtKzNyYnJjL0hFLy84L2xmNmt5STMyWklCUVN1d1laRUhOR3gzWTZQNGcrdWNZdUtOU0RmdkdqU2pjaDNOQ1hvSWxzNThCdnhyUDdmOW45T3g4Tit2M3Q5M2J5c1Y4dkZZajZiV2hWaHIzK0UyLzhIRHhjZlZ4eDJlaG9BQUFBQVNVVk9SSzVDWUlJPSJ9LGZ1bmN0aW9uKGUsdCl7ZS5leHBvcnRzPSJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQmxibU52WkdsdVp6MGlkWFJtTFRnaVB6NE5DandoTFMwZ1IyVnVaWEpoZEc5eU9pQkJaRzlpWlNCSmJHeDFjM1J5WVhSdmNpQXlOQzR4TGpNc0lGTldSeUJGZUhCdmNuUWdVR3gxWnkxSmJpQXVJRk5XUnlCV1pYSnphVzl1T2lBMkxqQXdJRUoxYVd4a0lEQXBJQ0F0TFQ0TkNqeHpkbWNnZG1WeWMybHZiajBpTVM0eElpQnBaRDBpVEdGNVpYSmZNU0lnZUcxc2JuTTlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5Mekl3TURBdmMzWm5JaUI0Yld4dWN6cDRiR2x1YXowaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1UazVPUzk0YkdsdWF5SWdlRDBpTUhCNElpQjVQU0l3Y0hnaURRb0pJSFpwWlhkQ2IzZzlJakFnTUNBeU5EWWdNalEySWlCemRIbHNaVDBpWlc1aFlteGxMV0poWTJ0bmNtOTFibVE2Ym1WM0lEQWdNQ0F5TkRZZ01qUTJPeUlnZUcxc09uTndZV05sUFNKd2NtVnpaWEoyWlNJK0RRbzhjM1I1YkdVZ2RIbHdaVDBpZEdWNGRDOWpjM01pUGcwS0NTNXpkREI3Wm1sc2JEb2pNREJCTVRSQk8zME5DZ2t1YzNReGUyWnBiR3c2SXpSQk4wUXpRanQ5RFFvSkxuTjBNbnRtYVd4c09pTTBNalF5TkRNN2ZRMEtQQzl6ZEhsc1pUNE5DanhuUGcwS0NUeHdZWFJvSUdOc1lYTnpQU0p6ZERBaUlHUTlJazB4TURJdU1Td3hOUzR5ZGpGak1UUXVOeXd4TXl3eU1pNDNMREkzTGpFc01qTXVNeXd6T1M0Mll6QXNNVEV1TXkwMkxqSXNNakl1TnkweE9DNDNMRE15TGpsV05UaGpNQzB5TGpNdE1TNDNMVFF1TlMwMExqVXROQzQxVmpFMUxqSjZJaTgrRFFvSlBIQmhkR2dnWTJ4aGMzTTlJbk4wTVNJZ1pEMGlUVEV3TWk0eExEVXpMalZqTFRJdU15d3dMVFF1TlN3eExqY3ROQzQxTERRdU5YWXpNQzQyUXpnMUxqRXNOemN1T1N3M09DNDVMRFkzTGpFc056Z3VPU3cxTlM0NFl6QXVOaTB4TWk0MUxEZ3VOUzB5Tmk0MUxESXpMak10TXprdU5sWTFNeTQxZWlJdlBnMEtDVHh3WVhSb0lHTnNZWE56UFNKemRERWlJR1E5SWsweE9ETXVNeXd4TWpZdU1XTXRNQzQyTFRFdU1TMHhMamN0TVM0M0xUSXVPQzB4TGpkakxURXVNUzB3TGpZdE1pNHpMREF0TXk0MExEQXVObXd0TkN3eUxqTmpOUzR6TFRFMExqY3NNVGd1TWkweE1DNHlMREl6TGpNdE9TNHhEUW9KQ1V3eE9ETXVNeXd4TWpZdU1Yb2lMejROQ2drOGNHRjBhQ0JqYkdGemN6MGljM1F3SWlCa1BTSk5NVGsyTGpNc01URTRMakpqTFRFdU55dzFMakV0TkM0MExERTRMamN0TVRndU55d3hOUzQ1YkRRdE1pNHpZekV1TVMwd0xqWXNNUzQzTFRFdU1Td3lMak10TWk0NFl6QXVOaTB4TGpFc01DMHlMak10TUM0MkxUSXVPRXd4T1RZdU15d3hNVGd1TW5vaURRb0pDUzgrRFFvSlBIQmhkR2dnWTJ4aGMzTTlJbk4wTWlJZ1pEMGlUVEUzTnk0MkxERXpOQzR4YkRRdE1pNHpZekV1TVMwd0xqWXNNUzQzTFRFdU1Td3lMak10TWk0NFl6QXVOaTB5TGpNdE1TNHhMVFF1TlMweUxqZ3ROUzR4WXkweExqRXRNQzQyTFRJdU15d3dMVE11TkN3d0xqWnNMVFFzTWk0ekRRb0pDV00wTGpVdE1UTXNNVGN1TmkwNUxqWXNNakl1TnkwNExqVkRNVGswTGpZc01USXpMamtzTVRreExqZ3NNVE0yTGpNc01UYzNMallzTVRNMExqRjZJRTB4TkRndU55d3hOVEl1TW1NdE15NDBMREF0Tmk0eUxUSXVPQzAyTGpJdE5pNHljekl1T0MwMkxqSXNOaTR5TFRZdU1nMEtDUWx6Tmk0eUxESXVPQ3cyTGpJc05pNHlRekUxTlM0MUxERTBPUzQwTERFMU1pNDJMREUxTWk0eUxERTBPQzQzTERFMU1pNHllaUJOTVRVMUxqVXNNVGs0TGpkak1Dd3pMalF0TWk0NExEWXVNaTAyTGpJc05pNHljeTAyTGpJdE1pNDRMVFl1TWkwMkxqSnpNaTQ0TFRZdU1pdzJMakl0Tmk0eURRb0pDVU14TlRJdU1Td3hPVEl1TlN3eE5UVXVOU3d4T1RVdU15d3hOVFV1TlN3eE9UZ3VOM29nVFRFeE5pNHpMREUzTlM0MVl6QXRNUzR4TERBdU5pMHhMamNzTUM0MkxUSXVPR013TFRFdU1Td3dMVEl1TXkwd0xqWXRNaTQ0YkRJeUxqY3RNVE5qTVM0M0xERXVNU3d6TGpRc01pNHpMRFV1Tnl3ekxqUU5DZ2tKZGpJMkxqRmpMVEV1Tnl3d0xqWXRNeTQwTERFdU55MDFMakVzTWk0NFRERXhOaTR6TERFM05TNDFlaUJOTVRNMExqVXNNakF4TGpac0xUSXpMak1zTVROakxURXVOeTB4TGpFdE15NDBMVEl1TXkwMUxqRXRNaTQ0ZGkweU5pNHhZekV1Tnkwd0xqWXNOQzB4TGpjc05TNHhMVEl1T0d3eU15NHpMREV6RFFvSkNXTXdMREV1TVMwd0xqWXNNaTR6TFRBdU5pd3pMalJETVRNMExqVXNNVGs1TGprc01UTTBMalVzTWpBeExERXpOQzQxTERJd01TNDJlaUJOTVRBeUxqRXNNak14TGpaakxUTXVOQ3d3TFRZdU1pMHlMamd0Tmk0eUxUWXVNbk15TGpndE5pNHlMRFl1TWkwMkxqSU5DZ2tKWXpNdU5Dd3dMRFl1TWl3eUxqZ3NOaTR5TERZdU1sTXhNRFV1TlN3eU16RXVOaXd4TURJdU1Td3lNekV1Tm5vZ1RUWTVMamdzTWpBeExqWmpNQzB4TGpFc01DMHhMamNzTUMweUxqaGpNQzB4TGpFc01DMHlMak10TUM0MkxUTXVOR3d5TXk0ekxURXpEUW9KQ1dNeExqY3NNUzR4TERNdU5Dd3lMak1zTlM0eExESXVPSFl5Tmk0eFl5MHhMamNzTUM0MkxUUXNNUzQzTFRVdU1Td3lMamhNTmprdU9Dd3lNREV1Tm5vZ1RUWTBMamNzTVRnNExqVmpMVEV1TnkweExqRXRNeTQwTFRJdU15MDFMakV0TWk0NGRpMHlOaTR4RFFvSkNXTXlMak10TUM0MkxEUXRNUzQzTERVdU1TMHpMalJzTWpJdU55d3hNMk13TERFdU1TMHdMallzTVM0M0xUQXVOaXd5TGpoak1Dd3hMakVzTUN3eUxqTXNNQzQyTERJdU9FdzJOQzQzTERFNE9DNDFlaUJOTlRVdU5pd3lNRFV1TldNdE15NDBMREF0Tmk0eUxUSXVPQzAyTGpJdE5pNHlEUW9KQ1hNeUxqZ3ROaTR5TERZdU1pMDJMakp6Tmk0eUxESXVPQ3cyTGpJc05pNHlVelU1TERJd05TNDFMRFUxTGpZc01qQTFMalY2SUUwME9TNDBMREUwTm1Nd0xUTXVOQ3d5TGpndE5pNHlMRFl1TWkwMkxqSnpOaTR5TERJdU9DdzJMaklzTmk0eWN5MHlMamdzTmk0eUxUWXVNaXcyTGpJTkNna0pVelE1TGpRc01UUTVMalFzTkRrdU5Dd3hORFo2SUUwNU1pNDFMREV5T1M0MVl6RXVOeXd4TGpFc015NDBMREl1TXl3MUxqRXNNaTQ0ZGpJMkxqRmpMVEl1TXl3d0xqWXROQ3d4TGpjdE5TNHhMREl1T0d3dE1qSXVOeTB4TTJNd0xURXVNU3d3TFRFdU55d3dMVEl1T0EwS0NRbGpNQzB4TGpFc01DMHlMak10TUM0MkxUTXVORXc1TWk0MUxERXlPUzQxZWlCTk1UQXlMakVzTVRFekxqRmpNeTQwTERBc05pNHlMREl1T0N3MkxqSXNOaTR5Y3kweUxqZ3NOaTR5TFRZdU1pdzJMakpqTFRNdU5Dd3dMVFl1TWkweUxqZ3ROaTR5TFRZdU1nMEtDUWxUT1RndU55d3hNVE11TVN3eE1ESXVNU3d4TVRNdU1Yb2dUVGM0TGprc05UVXVNbU13TGpZdE1USXVOU3c0TGpVdE1qVXVOU3d5TXk0ekxUTTRMalpzTUN3d1l6RTBMamNzTVRNc01qSXVOeXd5Tmk0eExESXpMak1zTXpndU5tTXdMREV4TGpNdE5pNHlMREl5TGpjdE1UZ3VOeXd6TWk0NVZqVTREUW9KQ1dNd0xUSXVNeTB4TGpjdE5DNDFMVFF1TlMwMExqVmpMVEl1TXl3d0xUUXVOU3d4TGpjdE5DNDFMRFF1TlhZek1DNDJRemcxTGpFc056Y3VPU3czT0M0NUxEWTNMakVzTnpndU9TdzFOUzR5ZWlCTk1UQTRMalFzTVRjeUxqRmpNQ3d6TGpRdE1pNDRMRFl1TWkwMkxqSXNOaTR5RFFvSkNXTXRNeTQwTERBdE5pNHlMVEl1T0MwMkxqSXROaTR5Y3pJdU9DMDJMaklzTmk0eUxUWXVNa014TURVdU5Td3hOalV1T0N3eE1EZ3VOQ3d4TmpndU55d3hNRGd1TkN3eE56SXVNWG9nVFRFek5Td3hORE11TVdNd0xERXVNUzB3TGpZc01pNHpMVEF1Tml3ekxqUU5DZ2tKWXpBc01TNHhMREFzTVM0M0xEQXNNaTQ0YkMweU1pNDNMREV6WXkweExqY3RNUzR4TFRNdU5DMHlMak10TlM0eExUSXVPSFl0TWpZdU1XTXhMamN0TUM0MkxETXVOQzB4TGpjc05TNHhMVEl1T0V3eE16VXNNVFF6TGpGNklFMHlNREl1TlN3eE1URXVOR013TERBdE1UVXVPUzAyTGpJdE1qWXVOeXd3RFFvSkNXTXROaTR5TERNdU5DMHhNQzQ0TERFd0xqSXRNVEV1T1N3eU1Xd3ROUzQzTERNdU5HTXRNaTR6TFRJdU15MDFMamN0TXk0MExUa3VOaTB6TGpSakxUTXVOQ3d3TFRZdU9Dd3hMakV0T1M0MkxETXVOR3d3TERCc0xUSXpMak10TVROak1DMHhMakVzTUM0MkxUSXVNeXd3TGpZdE15NDBEUW9KQ1dNd0xUWXVNaTAwTFRFeExqTXRNVEF1TWkweE15NDJkaTAyTGpKc01pNHpMVEV1TjJ3d0xEQkRNVEkyTERnMExqRXNNVE0wTGpVc056QXNNVE16TGprc05UUXVObU13TFRFMUxqTXRPUzQyTFRNeExqSXRNamd1T1MwME55NDNZeTB3TGpZdE1DNDJMVEV1TnkweExqRXRNaTR6TFRFdU1XZ3RNQzQyRFFvSkNXTXRNUzR4TERBdE1TNDNMREF1TmkweUxqTXNNUzR4UXpnd0xESTBMRGN3TGpRc016a3VPU3czTUM0MExEVTFMakpETmprdU9DdzNNQ3czT0M0ekxEZzBMamNzT1RVdU9TdzVPQzR6YkRJdU15d3hMamQyTmk0eVF6a3lMalVzTVRBNExEZzRMREV4TXk0MkxEZzRMREV4T1M0NURRb0pDV013TERFdU1Td3dMREl1TXl3d0xqWXNNeTQwYkMweU15NHpMREV5TGpWakxUSXVNeTB5TGpNdE5TNDNMVE11TkMwNUxqWXRNeTQwWXkwM0xqa3NNQzB4TkM0eUxEWXVNaTB4TkM0eUxERTBMakpqTUN3MkxqSXNOQ3d4TVM0ekxERXdMaklzTVRNdU5uWXlOaTR4RFFvSkNXTXROUzQzTERFdU55MHhNQzR5TERjdU5DMHhNQzR5TERFekxqWmpNQ3czTGprc05pNHlMREUwTGpJc01UUXVNaXd4TkM0eVl6UXNNQ3czTGpRdE1TNDNMRGt1TmkwMGJESXlMamNzTVROak1Dd3hMakV0TUM0MkxESXVNeTB3TGpZc01pNDRZekFzTnk0NUxEWXVNaXd4TkM0eUxERTBMaklzTVRRdU1nMEtDUWx6TVRRdU1pMDJMaklzTVRRdU1pMHhOQzR5WXpBdE1TNHhMREF0TWk0ekxUQXVOaTB5TGpoc01qSXVOeTB4TTJNeUxqZ3NNaTR6TERZdU1pdzBMRGt1Tml3MFl6Y3VPU3d3TERFMExqSXROaTR5TERFMExqSXRNVFF1TW1Nd0xUWXVNaTAwTFRFeExqTXRNVEF1TWkweE15NDJkaTB5Tmk0eERRb0pDV00xTGpjdE1TNDNMREV3TGpJdE55NDBMREV3TGpJdE1UTXVObU13TFRFdU1Td3dMVEl1TXkwd0xqWXRNeTQwYkRVdU1TMHlMamhqTVRBdU9DdzBMalVzTVRrdU15dzBMREkxTERCak1UQXVNaTAyTGpJc01UTXRNak11TXl3eE15MHlNeTR6RFFvSkNVTXlNRFlzTVRFMExqZ3NNakEwTGpJc01URXhMamtzTWpBeUxqVXNNVEV4TGpSNklpOCtEUW84TDJjK0RRbzhMM04yWno0TkNnPT0ifSxmdW5jdGlvbihlLHQpe2UuZXhwb3J0cz0iZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQRDk0Yld3Z2RtVnljMmx2YmowaU1TNHdJaUJsYm1OdlpHbHVaejBpVlZSR0xUZ2lQejRLUEhOMlp5QjNhV1IwYUQwaU1USTRjSGdpSUdobGFXZG9kRDBpTVRJNGNIZ2lJSFpwWlhkQ2IzZzlJakFnTUNBeE1qZ2dNVEk0SWlCMlpYSnphVzl1UFNJeExqRWlJSGh0Ykc1elBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHlNREF3TDNOMlp5SWdlRzFzYm5NNmVHeHBibXM5SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpFNU9Ua3ZlR3hwYm1zaVBnb2dJQ0FnUEhScGRHeGxQbWxqYjI1ZmJHOW5iMEF5ZUR3dmRHbDBiR1UrQ2lBZ0lDQThaR1ZtY3o0S0lDQWdJQ0FnSUNBOGJHbHVaV0Z5UjNKaFpHbGxiblFnZURFOUlqVXlMalUwTlRjMU1ERWxJaUI1TVQwaU1UQXdKU0lnZURJOUlqVXlMalUwTlRjMU1EUWxJaUI1TWowaU1DVWlJR2xrUFNKc2FXNWxZWEpIY21Ga2FXVnVkQzB4SWo0S0lDQWdJQ0FnSUNBZ0lDQWdQSE4wYjNBZ2MzUnZjQzFqYjJ4dmNqMGlJekZGTTBSQk1DSWdiMlptYzJWMFBTSXdKU0krUEM5emRHOXdQZ29nSUNBZ0lDQWdJQ0FnSUNBOGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJak16YzFNRVJGSWlCdlptWnpaWFE5SWpFd01DVWlQand2YzNSdmNENEtJQ0FnSUNBZ0lDQThMMnhwYm1WaGNrZHlZV1JwWlc1MFBnb2dJQ0FnSUNBZ0lEeHNhVzVsWVhKSGNtRmthV1Z1ZENCNE1UMGlOVEFsSWlCNU1UMGlNQ1VpSUhneVBTSTFNQ1VpSUhreVBTSXhNREFsSWlCcFpEMGliR2x1WldGeVIzSmhaR2xsYm5RdE1pSStDaUFnSUNBZ0lDQWdJQ0FnSUR4emRHOXdJSE4wYjNBdFkyOXNiM0k5SWlNeFJETkNRVE1pSUhOMGIzQXRiM0JoWTJsMGVUMGlNQ0lnYjJabWMyVjBQU0l3SlNJK1BDOXpkRzl3UGdvZ0lDQWdJQ0FnSUNBZ0lDQThjM1J2Y0NCemRHOXdMV052Ykc5eVBTSWpNVGN6TnpreklpQnpkRzl3TFc5d1lXTnBkSGs5SWpBdU5qVXlPVE00TVRjNUlpQnZabVp6WlhROUlqRXdNQ1VpUGp3dmMzUnZjRDRLSUNBZ0lDQWdJQ0E4TDJ4cGJtVmhja2R5WVdScFpXNTBQZ29nSUNBZ0lDQWdJRHhzYVc1bFlYSkhjbUZrYVdWdWRDQjRNVDBpTlRBbElpQjVNVDBpTVRBd0pTSWdlREk5SWpVd0pTSWdlVEk5SWpBbElpQnBaRDBpYkdsdVpXRnlSM0poWkdsbGJuUXRNeUkrQ2lBZ0lDQWdJQ0FnSUNBZ0lEeHpkRzl3SUhOMGIzQXRZMjlzYjNJOUlpTXhSVE5FUVRBaUlHOW1abk5sZEQwaU1DVWlQand2YzNSdmNENEtJQ0FnSUNBZ0lDQWdJQ0FnUEhOMGIzQWdjM1J2Y0MxamIyeHZjajBpSXpNM05UQkVSU0lnYjJabWMyVjBQU0l4TURBbElqNDhMM04wYjNBK0NpQWdJQ0FnSUNBZ1BDOXNhVzVsWVhKSGNtRmthV1Z1ZEQ0S0lDQWdJRHd2WkdWbWN6NEtJQ0FnSUR4bklHbGtQU0xvcnI3b3JxRWlJSE4wY205clpUMGlibTl1WlNJZ2MzUnliMnRsTFhkcFpIUm9QU0l4SWlCbWFXeHNQU0p1YjI1bElpQm1hV3hzTFhKMWJHVTlJbVYyWlc1dlpHUWlQZ29nSUNBZ0lDQWdJRHhuSUdsa1BTSnBZMjl1WDJ4dloyOGlQZ29nSUNBZ0lDQWdJQ0FnSUNBOGNHRjBhQ0JrUFNKTk16VXNNQ0JNT1RNc01DQkRNVEV5TGpNeU9UazJOaXd0TXk0MU5UQTROVGN4T1dVdE1UVWdNVEk0TERFMUxqWTNNREF6TXpnZ01USTRMRE0xSUV3eE1qZ3NPVE1nUXpFeU9Dd3hNVEl1TXpJNU9UWTJJREV4TWk0ek1qazVOallzTVRJNElEa3pMREV5T0NCTU16VXNNVEk0SUVNeE5TNDJOekF3TXpNNExERXlPQ0F5TGpNMk56SXpPREV6WlMweE5Td3hNVEl1TXpJNU9UWTJJREFzT1RNZ1REQXNNelVnUXkweUxqTTJOekl6T0RFelpTMHhOU3d4TlM0Mk56QXdNek00SURFMUxqWTNNREF6TXpnc015NDFOVEE0TlRjeE9XVXRNVFVnTXpVc01DQmFJaUJwWkQwaVEyOXRZbWx1WldRdFUyaGhjR1VpSUdacGJHdzlJblZ5YkNnamJHbHVaV0Z5UjNKaFpHbGxiblF0TVNraVBqd3ZjR0YwYUQ0S0lDQWdJQ0FnSUNBZ0lDQWdQR05wY21Oc1pTQnBaRDBpVDNaaGJDMDFJaUJtYVd4c1BTSWpSa1pHUmtaR0lpQmplRDBpTmpRdU5UY3hOREk0TmlJZ1kzazlJalkwTGpVM01UUXlPRFlpSUhJOUlqUTRMalUzTVRReU9EWWlQand2WTJseVkyeGxQZ29nSUNBZ0lDQWdJQ0FnSUNBOGNHRjBhQ0JrUFNKTk5qUXNNQ0JET1RrdU16UTJNakkwTERBZ01USTRMREk0TGpZMU16YzNOaUF4TWpnc05qUWdRekV5T0N3NU9TNHpORFl5TWpRZ09Ua3VNelEyTWpJMExERXlPQ0EyTkN3eE1qZ2dRekk0TGpZMU16YzNOaXd4TWpnZ01DdzVPUzR6TkRZeU1qUWdNQ3cyTkNCRE1Dd3lPQzQyTlRNM056WWdNamd1TmpVek56YzJMREFnTmpRc01DQmFJRTAyTXk0M01UTXdNRFExTERFMUxqSXhNRGMyTWpNZ1F6TTJMamMyTnpRMU1qWXNNVFV1TWpFd056WXlNeUF4TkM0NU1qTTNOalk0TERNM0xqQTFORFEwT0RFZ01UUXVPVEl6TnpZMk9DdzJOQ0JETVRRdU9USXpOelkyT0N3NU1DNDVORFUxTlRFNUlETTJMamMyTnpRMU1qWXNNVEV5TGpjNE9USXpPQ0EyTXk0M01UTXdNRFExTERFeE1pNDNPRGt5TXpnZ1F6a3dMalkxT0RVMU5qUXNNVEV5TGpjNE9USXpPQ0F4TVRJdU5UQXlNalF5TERrd0xqazBOVFUxTVRrZ01URXlMalV3TWpJME1pdzJOQ0JETVRFeUxqVXdNakkwTWl3ek55NHdOVFEwTkRneElEa3dMalkxT0RVMU5qUXNNVFV1TWpFd056WXlNeUEyTXk0M01UTXdNRFExTERFMUxqSXhNRGMyTWpNZ1dpSWdhV1E5SWtOdmJXSnBibVZrTFZOb1lYQmxJaUJtYVd4c1BTSjFjbXdvSTJ4cGJtVmhja2R5WVdScFpXNTBMVElwSWo0OEwzQmhkR2crQ2lBZ0lDQWdJQ0FnSUNBZ0lEeHdZWFJvSUdROUlrMDFPQzR4T0RFNE1UZ3lMRGc0TGpjeU56STNNamNnUXpVNExqRTRNVGd4T0RJc09USXVOelF6T0RnNU1TQTFOQzQ1TWpVM01EY3pMRGsySURVd0xqa3dPVEE1TURrc09UWWdRelEyTGpnNU1qUTNORFVzT1RZZ05ETXVOak0yTXpZek5pdzVNaTQzTkRNNE9Ea3hJRFF6TGpZek5qTTJNellzT0RndU56STNNamN5TnlCTU5ETXVOak0yTERnMExqTTJNeUJNTXprdU1qY3lOekkzTXl3NE5DNHpOak0yTXpZMElFTXpOUzR5TlRZeE1UQTVMRGcwTGpNMk16WXpOalFnTXpJc09ERXVNVEEzTlRJMU5TQXpNaXczTnk0d09UQTVNRGt4SUVNek1pdzNNeTR3TnpReU9USTNJRE0xTGpJMU5qRXhNRGtzTmprdU9ERTRNVGd4T0NBek9TNHlOekkzTWpjekxEWTVMamd4T0RFNE1UZ2dURFF6TGpZek5pdzJPUzQ0TVRnZ1REUXpMall6Tml3MU9DNHhPREVnVERNNUxqSTNNamN5TnpNc05UZ3VNVGd4T0RFNE1pQkRNelV1TWpVMk1URXdPU3cxT0M0eE9ERTRNVGd5SURNeUxEVTBMamt5TlRjd056TWdNeklzTlRBdU9UQTVNRGt3T1NCRE16SXNORFl1T0RreU5EYzBOU0F6TlM0eU5UWXhNVEE1TERRekxqWXpOak0yTXpZZ016a3VNamN5TnpJM015dzBNeTQyTXpZek5qTTJJRXcwTXk0Mk16WXNORE11TmpNMklFdzBNeTQyTXpZek5qTTJMRE01TGpJM01qY3lOek1nUXpRekxqWXpOak0yTXpZc016VXVNalUyTVRFd09TQTBOaTQ0T1RJME56UTFMRE15SURVd0xqa3dPVEE1TURrc016SWdRelUwTGpreU5UY3dOek1zTXpJZ05UZ3VNVGd4T0RFNE1pd3pOUzR5TlRZeE1UQTVJRFU0TGpFNE1UZ3hPRElzTXprdU1qY3lOekkzTXlCTU5UZ3VNVGd4TERRekxqWXpOaUJNTmprdU9ERTRMRFF6TGpZek5pQk1Oamt1T0RFNE1UZ3hPQ3d6T1M0eU56STNNamN6SUVNMk9TNDRNVGd4T0RFNExETTFMakkxTmpFeE1Ea2dOek11TURjME1qa3lOeXd6TWlBM055NHdPVEE1TURreExETXlJRU00TVM0eE1EYzFNalUxTERNeUlEZzBMak0yTXpZek5qUXNNelV1TWpVMk1URXdPU0E0TkM0ek5qTTJNelkwTERNNUxqSTNNamN5TnpNZ1REZzBMak0yTXl3ME15NDJNellnVERnNExqY3lOekkzTWpjc05ETXVOak0yTXpZek5pQkRPVEl1TnpRek9EZzVNU3cwTXk0Mk16WXpOak0ySURrMkxEUTJMamc1TWpRM05EVWdPVFlzTlRBdU9UQTVNRGt3T1NCRE9UWXNOVFF1T1RJMU56QTNNeUE1TWk0M05ETTRPRGt4TERVNExqRTRNVGd4T0RJZ09EZ3VOekkzTWpjeU55dzFPQzR4T0RFNE1UZ3lJRXc0TkM0ek5qTXNOVGd1TVRneElFdzROQzR6TmpNc05qa3VPREU0SUV3NE9DNDNNamN5TnpJM0xEWTVMamd4T0RFNE1UZ2dRemt5TGpjME16ZzRPVEVzTmprdU9ERTRNVGd4T0NBNU5pdzNNeTR3TnpReU9USTNJRGsyTERjM0xqQTVNRGt3T1RFZ1F6azJMRGd4TGpFd056VXlOVFVnT1RJdU56UXpPRGc1TVN3NE5DNHpOak0yTXpZMElEZzRMamN5TnpJM01qY3NPRFF1TXpZek5qTTJOQ0JNT0RRdU16WXpMRGcwTGpNMk15Qk1PRFF1TXpZek5qTTJOQ3c0T0M0M01qY3lOekkzSUVNNE5DNHpOak0yTXpZMExEa3lMamMwTXpnNE9URWdPREV1TVRBM05USTFOU3c1TmlBM055NHdPVEE1TURreExEazJJRU0zTXk0d056UXlPVEkzTERrMklEWTVMamd4T0RFNE1UZ3NPVEl1TnpRek9EZzVNU0EyT1M0NE1UZ3hPREU0TERnNExqY3lOekkzTWpjZ1REWTVMamd4T0N3NE5DNHpOak1nVERVNExqRTRNU3c0TkM0ek5qTWdURFU0TGpFNE1UZ3hPRElzT0RndU56STNNamN5TnlCYUlFMDFPQzR4T0RFc05qa3VPREU0SUV3Mk9TNDRNVGdzTmprdU9ERTRJRXcyT1M0NE1UZ3NOVGd1TVRneElFdzFPQzR4T0RFc05UZ3VNVGd4SUV3MU9DNHhPREVzTmprdU9ERTRJRm9pSUdsa1BTSkRiMjFpYVc1bFpDMVRhR0Z3WlNJZ1ptbHNiRDBpZFhKc0tDTnNhVzVsWVhKSGNtRmthV1Z1ZEMwektTSWdkSEpoYm5ObWIzSnRQU0owY21GdWMyeGhkR1VvTmpRdU1EQXdNREF3TENBMk5DNHdNREF3TURBcElISnZkR0YwWlNndE16QXVNREF3TURBd0tTQjBjbUZ1YzJ4aGRHVW9MVFkwTGpBd01EQXdNQ3dnTFRZMExqQXdNREF3TUNrZ0lqNDhMM0JoZEdnK0NpQWdJQ0FnSUNBZ1BDOW5QZ29nSUNBZ1BDOW5QZ284TDNOMlp6ND0ifSxmdW5jdGlvbihlLHQpe2UuZXhwb3J0cz0iZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCM2FXUjBhRDBpTkRBd0lpQm9aV2xuYUhROUlqUXdNQ0lnZG1sbGQwSnZlRDBpTUNBd0lESTBJREkwSWlCbWFXeHNQU0p1YjI1bElpQjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaVBnbzhjR0YwYUNCa1BTSk5NVFF1TWpZeU55QXhNeTQwTURFelF6RXlMalF5TWpjZ01UUXVOVE13TnlBNUxqazFPVGczSURFMUxqRXhNalFnTnk0ME5qVTFPQ0F4TkM0NU9EZ3hRelV1TXpZNE5EUWdNVFF1T0RnMk5TQXpMalkwT0RRMElERTBMakUwTVRFZ01pNDJNRGcwTkNBeE1pNDVNVFUzUXpFdU5qazBNVFlnTVRFdU9ESXdNU0F4TGpNek9UZzNJREV3TGpNM05EVWdNUzQxTnprNE55QTRMamN4TVRRelF6RXVOall4TWpFZ09DNHhOVGczTkNBeExqZ3lOemt4SURjdU5qSXhOallnTWk0d056UXhOU0EzTGpFeE9EazJUREl1TVRBNE5EUWdOeTR3TkRnek4wTXlMamszTVRjZ05TNDBNRFU1TlNBMExqSTFNamd5SURRdU1ERXpPVGNnTlM0NE1qVTNNeUF6TGpBd09UUXlRemN1TXprNE5qUWdNaTR3TURRNE5pQTVMakl3T1RFeklERXVOREl5TXpZZ01URXVNRGM1SURFdU16RTVNalJETVRJdU9UUTRPU0F4TGpJeE5qRXhJREUwTGpneE16Y2dNUzQxT1RVNU1pQXhOaTQwT1NBeUxqUXlNVEk0UXpFNExqRTJOaklnTXk0eU5EWTJOU0F4T1M0MU9UWXhJRFF1TkRnNU1USWdNakF1TmpNNE9TQTJMakF5TmpReFF6SXhMalk0TVRjZ055NDFOak0zTVNBeU1pNHpNREUxSURrdU16UXlPRFVnTWpJdU5ETTNNeUF4TVM0eE9EZzNRekl5TGpVM016RWdNVE11TURNME5pQXlNaTR5TWpBeUlERTBMamc0TXpZZ01qRXVOREV6TXlBeE5pNDFOVE00UXpJd0xqWXdOalFnTVRndU1qSTBJREU1TGpNM016UWdNVGt1TmpVM055QXhOeTQ0TXpVMUlESXdMamN4TkVNeE5pNHlPVGMzSURJeExqYzNNRElnTVRRdU5UQTRJREl5TGpReE1qWWdNVEl1TmpReU55QXlNaTQxTnpjNFRERXlMamMxTnlBeU15NDROek00UXpFMExqZzFNVE1nTWpNdU5qZzVOQ0F4Tmk0NE5qQTRJREl5TGprMk9URWdNVGd1TlRnM055QXlNUzQzT0RNM1F6SXdMak14TkRZZ01qQXVOVGs0TkNBeU1TNDJPVGt5SURFNExqazRPRGtnTWpJdU5qQTFNU0F4Tnk0eE1UTTRRekl6TGpVeE1TQXhOUzR5TXpnM0lESXpMamt3TnlBeE15NHhOakkzSURJekxqYzFOREVnTVRFdU1Ea3dORU15TXk0Mk1ERXhJRGt1TURFNE1EZ2dNakl1T1RBME5TQTNMakF5TURnNElESXhMamN6TWpnZ05TNHlPVFUxTlVNeU1DNDFOakV5SURNdU5UY3dNaklnTVRndU9UVTBPU0F5TGpFM05qTWdNVGN1TURjeU15QXhMakkxTVRFeFF6RTFMakU0T1RZZ01DNHpNalU1TURrZ01UTXVNRGsxTmlBdE1DNHdPVGcyTkRFeElERXdMams1TmpRZ01DNHdNVGt5TnpnM1F6Z3VPRGszTWpJZ01DNHhNemN4T1RnZ05pNDROalV6TXlBd0xqYzVNelV5SURVdU1UQXdPVEVnTVM0NU1qTTFPVU16TGpNek5qUTVJRE11TURVek5qVWdNUzQ1TURBME1pQTBMall4T0RRNElEQXVPVE0wTVRVM0lEWXVORFl6T1V3d0xqZzRPRFEwTVNBMkxqVTFOekEzUXpBdU5UZ3lPVGMySURjdU1UZ3dPU0F3TGpNM05qYzBJRGN1T0RRM05UWWdNQzR5Tnpjd01UTWdPQzQxTXpNMU5FTXRNQzR3TURnM01ERXpNaUF4TUM0MU5qQTRJREF1TkRNME1UVXpJREV5TGpNMk5URWdNUzQxT1RFeklERXpMamMxTkRKRE1pNDROVGN3TVNBeE5TNHlOek16SURRdU9URTNNREVnTVRZdU1UYzJPQ0EzTGpNNE9EUTBJREUyTGpJNU5UUkRNVEF1TXprM0lERTJMalEwTlRFZ01UTXVNemc0TkNBeE5TNDJNelEzSURFMUxqVXhNVE1nTVRRdU1UUXpPVXd4TkM0eU5qSTNJREV6TGpRd01UTmFJaUJtYVd4c1BTSWpNakEwTVVVd0lpOCtDanh3WVhSb0lHUTlJazB4Tmk0M09DQXhOQzQ0TnpWRE1UVXVOVGd5T1NBeE5TNDVNREk0SURFeUxqZ2dNVGN1TnpZMk15QTRMakU0TWpnMklERTRMakF5TURSRE15NHdNVFF5T1NBeE9DNHpNREk0SURBdU9EWXdNREF4SURFMkxqWTBNalVnTUM0NE5EQXdNREVnTVRZdU5qSTFOa3d3TGpReU1qZzFOaUF4Tnk0eE16TTRUREF1T0RReU9EVTJJREUyTGpZek5ERk1NQ0F4Tnk0Mk16TTJRekF1TURreE5ESTROaUF4Tnk0M01EazRJREl1TVRVM01UUWdNVGt1TXpVNE9DQTNMakF3T0RVM0lERTVMak0xT0RoRE55NDBNRFUzTVNBeE9TNHpOVGc0SURjdU9ESXlPRFlnTVRrdU16VTRPQ0E0TGpJMU56RTBJREU1TGpNeU5EbERNVE11T0RNM01TQXhPUzR3TVRjeElERTJMamt3TWprZ01UWXVOakV4TlNBeE55NDVOekUwSURFMUxqVTRNemRNTVRZdU56Z2dNVFF1T0RjMVdpSWdabWxzYkQwaUl6SXdOREZGTUNJdlBnbzhjR0YwYUNCa1BTSk5NVGt1TURFNU9TQXhOaTR5TVRreFF6RTRMak14TWlBeE55NHhNemcySURFM0xqUTBNRGNnTVRjdU9USXpNaUF4Tmk0ME5EZzFJREU0TGpVek5EUkRNVEl1T1RVeE15QXlNQzQzTmpRNUlEZ3VOVEF5TnpVZ01qRXVNRFV5T1NBMUxqTTRPRFEzSURJd0xqZzVOelpNTlM0ek1qSTNOU0F5TWk0eE9Ua3pRelV1T0RRMU5qRWdNakl1TWpJME55QTJMak0wT0RRM0lESXlMakl6TmlBMkxqZ3pOekEwSURJeUxqSXpOa014TlM0Mk1UazVJREl5TGpJek5pQXhPUzR4TmpnMUlERTRMakk0TXpFZ01qQXVNVFU1T1NBeE5pNDROekV6VERFNUxqQXhOeUF4Tmk0eU1EYzRJaUJtYVd4c1BTSWpNakEwTVVVd0lpOCtDanh3WVhSb0lHUTlJazB4T0M0Mk9EVTJJREV4TGpJNU1qTkRNVGt1TWpZM09TQXhNUzR5T1RJeklERTVMamN6T1RrZ01UQXVPREkxT0NBeE9TNDNNems1SURFd0xqSTFNRFJETVRrdU56TTVPU0E1TGpZM05EazJJREU1TGpJMk56a2dPUzR5TURnMUlERTRMalk0TlRZZ09TNHlNRGcxUXpFNExqRXdNelFnT1M0eU1EZzFJREUzTGpZek1UTWdPUzQyTnpRNU5pQXhOeTQyTXpFeklERXdMakkxTURSRE1UY3VOak14TXlBeE1DNDRNalU0SURFNExqRXdNelFnTVRFdU1qa3lNeUF4T0M0Mk9EVTJJREV4TGpJNU1qTmFJaUJtYVd4c1BTSWpNakEwTVVVd0lpOCtDand2YzNablBnbz0ifSxmdW5jdGlvbihlLHQpe2UuZXhwb3J0cz0iZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCcFpEMGlRMlZzYjE5U2FXNW5jeUlnWkdGMFlTMXVZVzFsUFNKRFpXeHZJRkpwYm1keklpQjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0E1TlRBZ09UVXdJajQ4WkdWbWN6NDhjM1I1YkdVK0xtTnNjeTB4ZTJacGJHdzZJMlppWTJNMVl6dDlMbU5zY3kweWUyWnBiR3c2SXpNMVpEQTNaanQ5TG1Oc2N5MHplMlpwYkd3Nkl6VmxZVE16WWp0OVBDOXpkSGxzWlQ0OEwyUmxabk0rUEhScGRHeGxQa0Z5ZEdKdllYSmtJREU4TDNScGRHeGxQanh3WVhSb0lHbGtQU0pDYjNSMGIyMWZVbWx1WnlJZ1pHRjBZUzF1WVcxbFBTSkNiM1IwYjIwZ1VtbHVaeUlnWTJ4aGMzTTlJbU5zY3kweElpQmtQU0pOTXpjMUxEZzFNR014TlRFdU9EZ3NNQ3d5TnpVdE1USXpMakV5TERJM05TMHlOelZUTlRJMkxqZzRMRE13TUN3ek56VXNNekF3TERFd01DdzBNak11TVRJc01UQXdMRFUzTlN3eU1qTXVNVElzT0RVd0xETTNOU3c0TlRCYWJUQXNNVEF3UXpFMk55NDVMRGsxTUN3d0xEYzRNaTR4TERBc05UYzFVekUyTnk0NUxESXdNQ3d6TnpVc01qQXdMRGMxTUN3ek5qY3VPU3czTlRBc05UYzFMRFU0TWk0eExEazFNQ3d6TnpVc09UVXdXaUl2UGp4d1lYUm9JR2xrUFNKVWIzQmZVbWx1WnlJZ1pHRjBZUzF1WVcxbFBTSlViM0FnVW1sdVp5SWdZMnhoYzNNOUltTnNjeTB5SWlCa1BTSk5OVGMxTERZMU1HTXhOVEV1T0Rnc01Dd3lOelV0TVRJekxqRXlMREkzTlMweU56VlROekkyTGpnNExERXdNQ3cxTnpVc01UQXdMRE13TUN3eU1qTXVNVElzTXpBd0xETTNOU3cwTWpNdU1USXNOalV3TERVM05TdzJOVEJhYlRBc01UQXdZeTB5TURjdU1Td3dMVE0zTlMweE5qY3VPUzB6TnpVdE16YzFVek0yTnk0NUxEQXNOVGMxTERBc09UVXdMREUyTnk0NUxEazFNQ3d6TnpVc056Z3lMakVzTnpVd0xEVTNOU3czTlRCYUlpOCtQSEJoZEdnZ2FXUTlJbEpwYm1kelgwOTJaWEpzWVhBaUlHUmhkR0V0Ym1GdFpUMGlVbWx1WjNNZ1QzWmxjbXhoY0NJZ1kyeGhjM005SW1Oc2N5MHpJaUJrUFNKTk5UZzNMak01TERjMU1HRXlOelF1TXpnc01qYzBMak00TERBc01Dd3dMRFUwTGpVMUxURXdPQzR3TmtFeU56UXVNellzTWpjMExqTTJMREFzTUN3d0xEYzFNQ3cxT0RjdU5HRXpOek11TmpNc016Y3pMall6TERBc01Dd3hMVEk1TGpFMkxERXpNeTQwTlVFek56TXVOaklzTXpjekxqWXlMREFzTUN3eExEVTROeTR6T1N3M05UQmFUVE13T0M0d05pd3pNRGd1TURaQk1qYzBMak0yTERJM05DNHpOaXd3TERBc01Dd3lNREFzTXpZeUxqWmhNemN6TGpZekxETTNNeTQyTXl3d0xEQXNNU3d5T1M0eE5pMHhNek11TkRWQk16Y3pMall5TERNM015NDJNaXd3TERBc01Td3pOakl1TmpFc01qQXdMREkzTkM0ek9Dd3lOelF1TXpnc01Dd3dMREFzTXpBNExqQTJMRE13T0M0d05sb2lMejQ4TDNOMlp6ND0ifSxmdW5jdGlvbihlLHQpe2UuZXhwb3J0cz0iZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCM2FXUjBhRDBpTkRnMklpQm9aV2xuYUhROUlqUTROaUlnZG1sbGQwSnZlRDBpTUNBd0lEUTROaUEwT0RZaUlHWnBiR3c5SW01dmJtVWlJSGh0Ykc1elBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHlNREF3TDNOMlp5SStDanh5WldOMElIZHBaSFJvUFNJME9EWWlJR2hsYVdkb2REMGlORGcySWlCbWFXeHNQU0ozYUdsMFpTSXZQZ284Y0dGMGFDQm1hV3hzTFhKMWJHVTlJbVYyWlc1dlpHUWlJR05zYVhBdGNuVnNaVDBpWlhabGJtOWtaQ0lnWkQwaVRUSTBNeUEwT0RaRE16YzNMakl3TlNBME9EWWdORGcySURNM055NHlNRFVnTkRnMklESTBNME0wT0RZZ01UQTRMamM1TlNBek56Y3VNakExSURBZ01qUXpJREJETVRBNExqYzVOU0F3SURBZ01UQTRMamM1TlNBd0lESTBNME13SURNM055NHlNRFVnTVRBNExqYzVOU0EwT0RZZ01qUXpJRFE0TmxwTk16YzRJREV3T0VneE1EaFdNemM0U0RNM09GWXhNRGhhSWlCbWFXeHNQU0lqTUVFeE1qRkZJaTgrQ2p3dmMzWm5QZ289In0sZnVuY3Rpb24oZSx0KXtlLmV4cG9ydHM9ImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjNhV1IwYUQwaU16QXdJaUJvWldsbmFIUTlJak13TUNJZ2RtbGxkMEp2ZUQwaU1DQXdJRE13TUNBek1EQWlJR1pwYkd3OUltNXZibVVpSUhodGJHNXpQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh5TURBd0wzTjJaeUkrQ2lBZ0lDQThZMmx5WTJ4bElHTjRQU0l4TlRBaUlHTjVQU0l4TlRBaUlISTlJakUxTUNJZ1ptbHNiRDBpSTBRd09FVXpPU0l2UGdvZ0lDQWdQSEJoZEdnZ1ptbHNiQzF5ZFd4bFBTSmxkbVZ1YjJSa0lpQmpiR2x3TFhKMWJHVTlJbVYyWlc1dlpHUWlJR1E5SWsweU5ERXVNemMzSURFek9TNDROVGRETWpRekxqVXpOaUF4TkRFdU5qSWdNalEwTGprNE9TQXhORFF1TURrNUlESTBOUzQwTnpNZ01UUTJMamcwTkVNeU5EVXVOVGtnTVRRM0xqWTJNeUF5TkRVdU5UZ2dNVFE0TGpRNU5pQXlORFV1TkRReklERTBPUzR6TVRORE1qUTFMalF3TmlBeE5Ea3VPRGc1SURJME5TNHpNelVnTVRVd0xqUTJNaUF5TkRVdU1qTXlJREUxTVM0d01qbERNalExTGpBMk5pQXhOVEl1TVRRNUlESTBOQzQ0TWpVZ01UVXpMakkxTlNBeU5EUXVOVEE1SURFMU5DNHpOREpETWpRekxqZ3pNaUF4TlRZdU5UY3lJREkwTWk0NE1UWWdNVFU0TGpZNE5TQXlOREV1TkRrNElERTJNQzQyTURaRE1qUXhMakkwT0NBeE5qQXVPVFk0SURJME1DNDVNekVnTVRZeExqTTRNaUF5TkRBdU56RXlJREUyTVM0Mk5qZERNalF3TGpZMElERTJNUzQzTmpFZ01qUXdMalUzT1NBeE5qRXVPRFF4SURJME1DNDFNelFnTVRZeExqa3dNVll4TmpJdU1EVXhRekkwTUM0MU16Z2dNVFl5TGpBM055QXlOREF1TlRReUlERTJNaTR4TURjZ01qUXdMalUwTmlBeE5qSXVNVFF5UXpJME1DNDFPQ0F4TmpJdU16ZzFJREkwTUM0Mk5ETWdNVFl5TGpnek55QXlOREF1TnpjMUlERTJNeTQwT1RkRE1qUXhMakV6T0NBeE5qVXVOamcxSURJME1TNHlORGtnTVRZM0xqa3dPQ0F5TkRFdU1UQTJJREUzTUM0eE1qSkRNalF3TGpneE9DQXhOelF1TkRJNUlESXpPUzQ0SURFM09DNDJOVFVnTWpNNExqQTVOU0F4T0RJdU5qSkRNak0yTGpReE9DQXhPRFl1TnpRNUlESXpNeTQzTnpRZ01Ua3dMalF4TmlBeU16QXVNemcxSURFNU15NHpNVXd5TWprdU9UazBJREU1TXk0Mk56Sk1Nakk1TGpRMU1pQXhPVE11T0RVeVF6SXlOUzR5TkRZZ01UazFMalF6TVNBeU1qQXVPVEk0SURFNU5pNDJPRGtnTWpFMkxqVXpNeUF4T1RjdU5qRTNRekl4TWk0d016RWdNVGs0TGpZME5TQXlNRGN1TkRFMklERTVPUzR3T1RFZ01qQXlMamdnTVRrNExqazBNa2d5TURJdU5EQTVTREl3TWk0d01UZERNVGt5TGpRMElERTVOUzQ0TlRrZ01UZ3lMalUxTkNBeE9UTXVPRFFnTVRjeUxqVXpOU0F4T1RJdU9URTVRekUyT1M0NE1URWdNVGt5TGpjeE55QXhOamN1TVRBMElERTVNaTR6TWpVZ01UWTBMalF6TkNBeE9URXVOelEwUXpFMk1TNDRNVGNnTVRreExqQTNPU0F4TlRrdU1qUXlJREU1TUM0eU5UVWdNVFUyTGpjeU5TQXhPRGt1TWpjMVF6RTFNaTQzTURVZ01UZzNMamd4TWlBeE5EZ3VOVGtnTVRnMkxqWXlOQ0F4TkRRdU5EQTRJREU0TlM0M01qRkRNVFF5TGpRME1pQXhPRGd1TkRZeElERTBNUzQxTXpJZ01Ua3hMamd5SURFME1TNDRORGdnTVRrMUxqRTNOME14TkRJdU5EYzVJREU1T1M0NU56VWdNVFEwTGpBd01TQXlNRFF1TmpFeUlERTBOaTR6TXpVZ01qQTRMamcxUXpFME9TNHlOeUF5TVRNdU5EVTNJREUxTVM0Mk9ETWdNakU0TGpNM05pQXhOVE11TlRNeklESXlNeTQxTVRWRE1UVTFMak14SURJeU9TNHdNalFnTVRVMUxqYzJOQ0F5TXpRdU9EYzBJREUxTkM0NE5UZ2dNalF3TGpVNVRERTFOQzR3TkRVZ01qUTFMamhNTVRRNUxqWTBPQ0F5TkRJdU56ZzVRekUwT1M0eE1Ua2dNalF5TGpNek5pQXhORGd1TVRJM0lESTBNUzQzTXpVZ01UUTNMakU0TWlBeU5ERXVNVFl6UXpFME5pNDVPVGNnTWpReExqQTFNU0F4TkRZdU9ERTBJREkwTUM0NU5DQXhORFl1TmpNMklESTBNQzQ0TXpGTU1UUXpMall5TlNBeU16a3VNVGMxUXpFME5DNDJPVFVnTWpRekxqRXhOeUF4TkRVdU5DQXlORGN1TVRVZ01UUTFMamN6TXlBeU5URXVNakl4UXpFME5TNDVNelFnTWpVMExqYzBOQ0F4TkRVdU9EWTBJREkxT0M0eU56Z2dNVFExTGpVeU1pQXlOakV1TnpreFF6RTBOUzR5TlRFZ01qWTFMakk0TmlBeE5EUXVORGdnTWpZNExqY3lOQ0F4TkRNdU1qTXpJREkzTWtNeE16QXVOelE1SURJMU15NHdNeUF4TWpBdU5UWWdNalEzTGpVNU5pQXhNVEV1TmpNMUlESTBNaTQ0TXpaRE1UQTFMalkwTVNBeU16a3VOak01SURFd01DNHlNVFlnTWpNMkxqYzBOaUE1TlM0d05TQXlNekF1TWpZeFF6ZzNMalF3TURnZ01qRTVMak01SURnMUxqUTNNellnTWpBMkxqZzVNaUE1Tmk0eE16UXlJREU0TXk0eU5USkRPVGt1TURnMU55QXhOelV1T1RRM0lERXdNQzQ1TURjZ01UWTNMamt6TlNBeE1ESXVNemsySURFMk1TNHpPRE5ETVRBekxqWTFPQ0F4TlRVdU9ETTFJREV3TkM0Mk9ERWdNVFV4TGpNek15QXhNRFV1T1RVeElERTBPUzR4T1RKV01UUTVMak0zTTBNeE1EVXVNRGcySURFMU5DNHpOVFVnTVRBMUxqQTROaUF4TlRrdU5EUTVJREV3TlM0NU5URWdNVFkwTGpRelF6RXdOaTR6TXpJZ01UWTJMamMzTlNBeE1EY3VNakEwSURFMk9TNHdNVElnTVRBNExqVXhNU0F4TnpBdU9UazFRekV3T1M0NE9EY2dNVGN5TGpjNU5DQXhNVEV1TnpNeElERTNOQzR4T0NBeE1UTXVPRFF5SURFM05TNHdNREZETVRFNExqTTVJREUzTmk0M05USWdNVEl6TGpFNE9DQXhOemN1TnpZNUlERXlPQzR3TlRZZ01UYzRMakF4TWtNeE16QXVOVEkxSURFM09DNDBNRFFnTVRNekxqQXlOU0F4TnpndU5EQTBJREV6TlM0MU9EUWdNVGM0TGpRd05FTXhNell1T1RFeElERTNPQzR6T0RJZ01UTTRMakl6T0NBeE56Z3VORE16SURFek9TNDFOaUF4TnpndU5UVTBRekUwTUM0NU1UVWdNVGM0TGpZM05TQXhOREl1TWpRZ01UYzRMamcxTlNBeE5ETXVOVFkxSURFM09TNHdNelpETVRRNExqZ3lJREUzT1M0NE9EY2dNVFV6TGprNU55QXhPREV1TVRZMklERTFPUzR3TkRRZ01UZ3lMamcyTVVNeE5qTXVOVGs0SURFNE5DNDJNRFlnTVRZNExqUXhNeUF4T0RVdU5UY3pJREUzTXk0eU9EZ2dNVGcxTGpjeU1VTXhPRE11TmpRMUlERTROaTQxTkRnZ01Ua3pMamczTVNBeE9EZ3VOVFk1SURJd015NDNOalFnTVRreExqYzBORU15TURjdU5qY2dNVGt4TGpnMk9TQXlNVEV1TlRjNElERTVNUzQxTmpZZ01qRTFMalF4T0NBeE9UQXVPRFF4UXpJeE5pNDRNRFFnTVRrd0xqWWdNakU0TGpFNE9TQXhPVEF1TWpZNUlESXhPUzQxTnpRZ01UZzVMamt6T0VNeU1qWXVNemdnTVRnM0xqazFJREl6TkM0d01qa2dNVGMyTGpNNE5pQXlNalV1TVRjMUlERTNOeTR6TlVNeU1qSXVOekUzSURFM055NDBOalVnTWpJd0xqSTNJREUzTnk0M05qY2dNakUzTGpnMU9DQXhOemd1TWpVelF6SXhOaTQwTnpZZ01UYzRMalU0SURJeE5TNHhNRGdnTVRjNUxqQTVPQ0F5TVRNdU5qVTRJREUzT1M0Mk5EZERNakV5TGpFMk9TQXhPREF1TWpFZ01qRXdMalU1TXlBeE9EQXVPREEzSURJd09DNDRNak1nTVRneExqSTJOVU15TURVdU5EZ3hJREU0TWk0d01qUWdNakF5TGpBd01pQXhPREV1T1RNZ01UazRMamN3TlNBeE9EQXVPVGswUXpFNU5TNDRNaklnTVRjNUxqZ3lOQ0F4T1RJdU56Y3pJREUzT1M0eE1USWdNVGc1TGpZM0lERTNPQzQ0T0RWRE1Ua3hMakV5TWlBeE56Z3VNRFkwSURFNU1pNDNNellnTVRjM0xqVTNNU0F4T1RRdU16azRJREUzTnk0ME5FTXhPVFV1TmpFMklERTNOeTR6TVRnZ01UazJMalk1TmlBeE56Y3VNellnTVRrM0xqY3pNaUF4TnpjdU5EQXhRekU1T0M0eU16UWdNVGMzTGpReU1TQXhPVGd1TnpJMUlERTNOeTQwTkNBeE9Ua3VNakUzSURFM055NDBORU15TURJdU1ESTJJREUzTnk0NE1qWWdNakEwTGpnNE1pQXhOemN1TnpBMElESXdOeTQyTkRrZ01UYzNMakEzT1VNeU1Ea3VNRGNnTVRjMkxqWTNOeUF5TVRBdU5UQTVJREUzTlM0NU1EVWdNakV5TGpBMU5TQXhOelV1TURjMVF6SXhNeTR5T1RRZ01UYzBMalF4TVNBeU1UUXVOakF4SURFM015NDNNU0F5TVRZdU1ESXhJREUzTXk0eE16UkRNakU1TGpFMk15QXhOekV1T0RJZ01qSXlMalV5TXlBeE56RXVNVEExSURJeU5TNDVNamdnTVRjeExqQXlOa2d5TWpVdU9EWTRRekl5Tnk0eElERTNNQzQ1TVRrZ01qSTRMak0wSURFM01DNDVNVGtnTWpJNUxqVTNNaUF4TnpFdU1ESTJRekl6TUM0M01UTWdNVFk1TGpjMU55QXlNekV1TlRjeElERTJPQzR5TmpFZ01qTXlMakE1SURFMk5pNDJNelpETWpNeUxqWXhJREUyTlM0d01URWdNak15TGpjM09DQXhOak11TWprMElESXpNaTQxT0RRZ01UWXhMalpETWpNeExqY3lNU0F4TmpBdU1qa3pJREl6TUM0ME1UY2dNVFU1TGpNME1pQXlNamd1T1RFZ01UVTRMamt4T1VNeU1qZ3VNekExSURFMU9DNDNPRFlnTWpJM0xqVXpOU0F4TlRndU5qTTJJREl5Tmk0Mk5UUWdNVFU0TGpRMk5rTXlNakl1TVRnMElERTFOeTQxT1RrZ01qRTBMamcyT0NBeE5UWXVNVGd4SURJeE1TNDVNalVnTVRVekxqUXpPVU15TURrdU9UQTNJREUxTVM0ME9ERWdNakE0TGpneU15QXhORFV1TmpBNUlESXhOUzQ1TXlBeE5ETXVPVGd6UXpJeE9TNDJPVGtnTVRRekxqTXlPU0F5TWpNdU5UUXhJREUwTXk0eU1EY2dNakkzTGpNME5DQXhORE11TmpJeFRESXlOeTQwT0RrZ01UUXpMall6TlVNeU1qa3VNVGswSURFME15NDNPVGNnTWpNekxqUXlOaUF4TkRRdU1UazRJREl6TkM0ME1qRWdNVFF6TGpNMVF6SXpNeTQ1TXprZ01UUXpMakF5T1NBeU16TXVOVEVnTVRReUxqY3dPQ0F5TXpNdU1EZ3lJREUwTWk0ek9EWkRNak15TGpnMk9DQXhOREl1TWpJMklESXpNaTQyTlRRZ01UUXlMakEyTlNBeU16SXVORE16SURFME1TNDVNRFZNTWpJekxqQTVPQ0F4TXpRdU56azRRekl5TWk0ME5UUWdNVE0wTGpNME5TQXlNakV1T0RJNUlERXpNeTQ0T0RjZ01qSXhMakl4TmlBeE16TXVORE00UXpJeU1DNHlOemtnTVRNeUxqYzFNaUF5TVRrdU16Y2dNVE15TGpBNE5TQXlNVGd1TkRZZ01UTXhMalE0TlVNeU1UZ3VNVFV5SURFek1TNHlOalFnTWpFM0xqZ3pJREV6TVM0d05qTWdNakUzTGpRNU5pQXhNekF1T0RnelF6SXhOeTR4TmpnZ01UTXdMamN3TkNBeU1UWXVPREkxSURFek1DNDFOVE1nTWpFMkxqUTNNaUF4TXpBdU5ETXhRekl4TlM0ME5ETWdNVE13TGpBek55QXlNVFF1TkRNNElERXlPUzQxT0RVZ01qRXpMalEyTVNBeE1qa3VNRGMyUXpJd09TNDRNVGtnTVRJM0xqSWdNakEyTGpVd05DQXhNalF1TnpRNUlESXdNeTQyTkRNZ01USXhMamd4T0VNeE9UVXVNREF5SURFeE1pNDVPVEVnTVRnM0xqYzBNaUF4TURJdU9UQTVJREU0TWk0eE1USWdPVEV1T1RFME0wTXhOemt1T0RFeklEZzNMalEwT1RVZ01UYzFMamszTVNBNE15NDVOekUxSURFM01TNHpJRGd5TGpFeU56RkRNVGN6TGpjeU5pQTRNUzQ1T0RFeUlERTNOaTR4TlRVZ09ESXVNek16TkNBeE56Z3VORE01SURnekxqRTJNakZETVRnd0xqY3lNeUE0TXk0NU9UQTNJREU0TWk0NE1UTWdPRFV1TWpjNE15QXhPRFF1TlRneElEZzJMamswTlRSRE1UZzFMakU0TkNBNE55NDBORFUySURFNE5TNDVOVE1nT0RndU9ESXdOaUF4T0RZdU9UTTRJRGt3TGpVNE1qRkRNVGc1TGpZNE9TQTVOUzQxTURJMUlERTVOQzR4TWpZZ01UQXpMalF6T1NBeU1ERXVNelUxSURFd015NDNORGxETWpBeUxqWXdNU0F4TURNdU5qUTVJREl3TXk0NE1qZ2dNVEF6TGpNM05TQXlNRFF1T1RrNUlERXdNaTQ1TXpaRE1qQXhMalF4SURrNUxqVXpPRGdnTVRrNExqazRJRGsxTGpRME56VWdNVGsyTGpjd05pQTVNUzQyTVRjMVF6RTVNeTR5TlRZZ09EVXVPREEyTkNBeE9UQXVNVFl5SURnd0xqVTVOeUF4T0RNdU9URTRJRGM1TGpNeU5qUkRNVGd5TGpNMU1pQTNPQzQzTlRReklERTRNQzQ1TmpjZ056Z3VNVGd5TVNBeE56a3VNelF4SURjM0xqTTJPVXd4TnpVdU1USTFJRGMxTGpJNU1URk1NVFkyTGpZNU15QTNNUzR4TmpVMFF6RTJNUzR4TVRnZ05qZ3VORGs1TVNBeE5UVXVNemcySURZMkxqRTNOaUF4TkRrdU5USTNJRFkwTGpJd09EbERNVFF6TGpjeU5pQTJNaTR6TURFMUlERXpOeTQzTkRFZ05qRXVNREE1TlNBeE16RXVOalk1SURZd0xqTTFOREpETVRNd0xqSXpNU0EyTUM0eE5qUXlJREV5T0M0M09ETWdOakF1TURVek5TQXhNamN1TXpNeklEWXdMakF5TWpsRE1USTJMakUyTXlBMk1DNHdNVGswSURFeU5TNHdNRGtnTmpBdU1qZzNOU0F4TWpNdU9UWWdOakF1T0RBMU9VTXhNak11TXpVZ05qRXVNRFkzTkNBeE1qSXVOall6SURZeExqUXpOQ0F4TWpFdU9UVTJJRFl4TGpneE1VTXhNakV1TVRrM0lEWXlMakl4TlRZZ01USXdMalF4TmlBMk1pNDJNekl6SURFeE9TNDJPRFFnTmpJdU9UUTBNVU14TVRndU1qWTRJRFl6TGpVME5qTWdNVEUyTGpnNE15QTJOQzR4TnpnNElERXhOUzQwT1RnZ05qUXVPRGN4TkVNeE1UQXVNREVnTmpjdU5UTXdOQ0F4TURRdU9ESTVJRGN3TGpjNE1qRWdNVEF3TGpBME9TQTNOQzQxTmpnMFF6azJMalExT0RZZ056Y3VNVEF5TVNBNU15NHpNRFV5SURnd0xqSXdORFFnT1RBdU56RXpOQ0E0TXk0M05UTXpRemsxTGpJek1qRWdPRE11TkRRM05TQTVPUzQzTmpZM0lEZzBMakEwTVRFZ01UQTBMakExTkNBNE5TNDBPVGs1UXprNExqWXlOVGtnT0RVdU16azVPQ0E1TXk0eU1UWTNJRGcyTGpFM01qVWdPRGd1TURNek5DQTROeTQzT0RnMlF6ZzFMalE1TVRNZ09EZ3VOVEl5TXlBNE15NHdNRFUwSURnNUxqUXpPREVnT0RBdU5UazFJRGt3TGpVeU9URkROemd1TVRnMU5pQTVNUzQxTmpJMElEYzFMamcxT1RnZ09USXVOemd3TmlBM015NDJNemcxSURrMExqRTNNamxETnpFdU5EUTVOU0E1TlM0ME16SXpJRFk1TGpReU5qSWdPVFl1T1RVNU9TQTJOeTQyTVRVMklEazRMamN5TURORE5qWXVPRGcwTkNBNU9TNDBOakE1SURZMkxqTXhNRGNnTVRBd0xqTTBNaUEyTlM0NU1qa3hJREV3TVM0ek1VTTJOUzQwTVRjNElERXdNaTQwTlRNZ05qUXVPVFkyTmlBeE1ETXVOamcySURZMExqVXhOVE1nTVRBMExqa3lURFkwTGpVeE16Z2dNVEEwTGpreU5FTTJNaTQzTmpNMElERXdPUzQ1T0RFZ05qRXVNelkwTnlBeE1UVXVNVFV6SURZd0xqTXlOemtnTVRJd0xqUXdNME0xT0M0eE5qVTJJREV6TUM0NE9EY2dOVGN1TXpVMklERTBNUzQyTURVZ05UY3VPVEU0TnlBeE5USXVNamswUXpVNExqTTJOelFnTVRZd0xqa3hOU0EyTUM0Mk1UTTRJREUyT1M0ek5EY2dOalF1TlRFek9DQXhOemN1TURRNVF6WTRMakl4TnprZ01UY3lMakUzSURjeExqZ3pNVFlnTVRZM0xqSXdNU0EzTlM0ek1qUTVJREUyTWk0eU1ESkROemt1T0RJNU9DQXhOVFV1TnpJeklEZzBMakF3TVRJZ01UUTVMakF4T1NBNE55NDRNakkySURFME1pNHhNVFZET0RrdU9EQTNJREV6T0M0MU5UWWdPVEV1TlRZNUlERXpOQzQ0TXpJZ09UTXVNelE1T0NBeE16RXVNRFk0UXprMExqazNORElnTVRJM0xqWXpOU0E1Tmk0Mk1UUXlJREV5TkM0eE5qa2dPVGd1TkRVeU9TQXhNakF1TnpZMFF6RXdNQzR5T1RrZ01URTNMakE1TkNBeE1ESXVORGczSURFeE15NDJNRFVnTVRBMExqazRPQ0F4TVRBdU16UTBRekV3Tmk0eU5UY2dNVEE0TGpZMk9DQXhNRGN1TnpNMUlERXdOeTR4TmpFZ01UQTVMak00TlNBeE1EVXVPRFUzUXpFeE1TNHdNaUF4TURRdU5EazJJREV4TXk0d05ETWdNVEF6TGpZNE5DQXhNVFV1TVRZM0lERXdNeTQxTXpsRE1UQTRMalF5TVNBeE1Ea3VOVGt5SURFd015NHhPREVnTVRJMUxqZzFOQ0E1Tnk0NU5ERWdNVFEwTGpBM00wTTVNeTQzTWpVZ01UVTRMamcxT1NBM09TNHpPVEExSURFNU1pNDFOVGdnTnpBdU16VTJNU0F4T1RNdU5EQXhRelkyTGpnMk1qZ2dNVGt6TGpVNE1TQTJOUzQxTmpjNUlERTVNUzQ1TWpVZ05qTXVNVGc0T0NBeE9EZ3VORGt5VERZeExqSXdNVEVnTVRnMUxqYzRNa00xTnk0M016STNJREU0TUM0NU5Ea2dOVFV1TURnM01pQXhOelV1TlRjM0lEVXpMak0zTVRRZ01UWTVMamc0TVVNMU1TNDNORGN4SURFMk5DNHpNRFlnTlRBdU56TTNNeUF4TlRndU5UY2dOVEF1TXpVNU9TQXhOVEl1TnpjMlF6VXdMakE0TWprZ01UUTNMakE0TWlBMU1DNHlNVE0zSURFME1TNHpOellnTlRBdU56VXhOQ0F4TXpVdU56QXhRelV4TGpReE9UZ2dNVE13TGpBM05TQTFNaTQwTWpVMElERXlOQzQwT1RNZ05UTXVOell5T1NBeE1UZ3VPVGczUXpVMUxqQXhOelVnTVRFekxqUTFPU0ExTmk0Mk5UYzNJREV3T0M0d01qVWdOVGd1TmpjeE5pQXhNREl1TnpJMVF6VTVMakl4TXpjZ01UQXhMak0zSURVNUxqYzFOVFlnTVRBd0xqQTBOU0EyTUM0ME1UZ3hJRGs0TGpZNU1ERkROakF1TnpneE9DQTVOeTQ1TkRFeUlEWXhMakU1TkRRZ09UY3VNakUyT0NBMk1TNDJOVEk1SURrMkxqVXlNVGxETmpJdU1UYzROU0E1TlM0NE1URWdOakl1TnpVeUlEazFMakV6TnlBMk15NHpOamsxSURrMExqVXdOREpETmpVdU5UVTJPQ0E1TWk0ME1qUTVJRFk0TGpBek1UUWdPVEF1Tmpjd05DQTNNQzQzTVRjMUlEZzVMakk1TkRSRE56UXVOamN4T0NBNE55NHlNalkySURjNExqZzROU0E0TlM0Mk9UY3lJRGd6TGpJME5URWdPRFF1TnpRM1F6ZzBMall3T1RZZ09ERXVOamMwTlNBNE5pNDBPRE1nTnpndU9EVTBNeUE0T0M0M09EWXlJRGMyTGpRd05UTkRPVEV1TURrd09DQTNOQzR3TURZZ09UTXVOVGc0TnlBM01TNDRNREF5SURrMkxqSTFORFlnTmprdU9ERXdNa014TURFdU16WTNJRFkxTGpjM016VWdNVEEyTGprZ05qSXVNekF3TXlBeE1USXVOelUzSURVNUxqUTFNRGRETVRFekxqWTROaUExT0M0NU9EWTFJREV4TkM0NE1UY2dOVGd1TkRneE9DQXhNVFV1T0RFMklEVTRMakF6TmpGRE1URTJMak13TnlBMU55NDRNVFk1SURFeE5pNDNOamNnTlRjdU5qRXhPU0F4TVRjdU1UVTBJRFUzTGpRek16RkRNVEUzTGpZM05DQTFOeTR4T1RNeklERXhPQzR5TWprZ05UWXVPVEEyTXlBeE1UZ3VPRE1nTlRZdU5UazFOa014TVRrdU5UZzNJRFUyTGpJd05ERWdNVEl3TGpReE55QTFOUzQzTnpRNUlERXlNUzR6TkNBMU5TNHpOVFV5UXpFeU15NHhORGdnTlRRdU5Ea3pOU0F4TWpVdU1USWdOVFF1TURNeE15QXhNamN1TVRJeUlEVTBRekV5T0M0Mk9UWWdOVFFnTVRJNUxqZzFOU0ExTkM0eE1qQTVJREV6TVM0d05EVWdOVFF1TWpRMVF6RXpNUzQwTWpZZ05UUXVNamcwT0NBeE16RXVPREVnTlRRdU16STBPQ0F4TXpJdU1qRXlJRFUwTGpNMk1UUkRNVE00TGpZNE1pQTFOUzR3TmpreklERTBOUzR3TmpFZ05UWXVORFV5TVNBeE5URXVNalEwSURVNExqUTROekZETVRVM0xqTTBNaUEyTUM0MU16TXhJREUyTXk0ek1EWWdOakl1T1RVM0lERTJPUzR4TURJZ05qVXVOelEwTjB3eE56Y3VOamcxSURZNUxqa3dNRFZNTVRneExqa3pNU0EzTWk0d01EZzJRekU0TWk0NU5qZ2dOekl1TlRZNUlERTROQzR5T1RFZ056TXVNRGMzTXlBeE9EVXVOek15SURjekxqWXpNRFJETVRnMUxqZ3pPU0EzTXk0Mk56RTRJREU0TlM0NU5EZ2dOek11TnpFek15QXhPRFl1TURVM0lEY3pMamMxTlRKRE1UZzNMall5TWlBM05DNHpOVGMxSURFNE9TNHdNemdnTnpRdU9UVTVPQ0F4T1RBdU5qTTBJRGMxTGpjM01qbERNVGt4TGpRNE1TQTNOaTR5TURZNUlERTVNaTR5T1RZZ056WXVOeUF4T1RNdU1EY3pJRGMzTGpJME9EVkRNVGt6TGpneE5DQTNOeTQ0TkRjNUlERTVOQzQxTVRnZ056Z3VORGt4TmlBeE9UVXVNVGd4SURjNUxqRTNOVGxETVRrM0xqVXdNU0E0TVM0Mk56TXlJREU1T1M0MU1qSWdPRFF1TkRNeU1pQXlNREV1TWpBMElEZzNMak01TnpGRE1qQXhMalF5TVNBNE55NDNOelFnTWpBeExqWXpOeUE0T0M0eE5EazNJREl3TVM0NE5URWdPRGd1TlRJek5rTXlNRFF1TnpnNUlEa3pMalkwT0RVZ01qQTNMalV6T0NBNU9DNDBORE15SURJeE1TNDRNRFVnTVRBeExqSTFUREl4TkM0NE1UWWdNVEF6TGpJek4wTXlNVFF1TnpjZ01UQXpMalF3TXlBeU1UUXVOekE1SURFd015NDFOalFnTWpFMExqWXpOU0F4TURNdU56RTVUREl4TkM0d01ETWdNVEEwTGpnMk5Fd3lNVEF1T1RreElERXdOaTR6T1RsRE1qRXdMalk1TkNBeE1EWXVOVE15SURJeE1DNDBNallnTVRBMkxqY3lNeUF5TVRBdU1qQTBJREV3Tmk0NU5qRkRNakE1TGprNE1TQXhNRGN1TVRrNUlESXdPUzQ0TURrZ01UQTNMalEzT1NBeU1Ea3VOamsySURFd055NDNPRFZETWpBNUxqVTROU0F4TURndU1EY3pJREl3T1M0MU1qTWdNVEE0TGpNM09TQXlNRGt1TlRFMklERXdPQzQyT0RoV01URXdMall4TmtNeU1Ea3VOVE14SURFeE1TNDJNek1nTWpBNUxqTTVPU0F4TVRJdU5qUTNJREl3T1M0eE1qUWdNVEV6TGpZeU4wTXlNRGd1T1RrNUlERXhOQzR3TVRVZ01qQTRMamcwT0NBeE1UUXVNell4SURJd09DNDNNVFFnTVRFMExqWTJPRU15TURndU5USTJJREV4TlM0eElESXdPQzR6TnpFZ01URTFMalExTXlBeU1EZ3VNemN4SURFeE5TNDNNelZETWpBNExqSTNOaUF4TVRZdU1EUTVJREl3T0M0eU56WWdNVEUyTGpNNE5TQXlNRGd1TXpjeElERXhOaTQyT1RsRE1qRXdMamMyTkNBeE1Ua3VNVEk1SURJeE15NDFNamtnTVRJeExqRTJNaUF5TVRZdU5UWXpJREV5TWk0M01qSk1NakU0TGprM01pQXhNak11T0RNMlF6SXhPUzQxTXprZ01USTBMakEwSURJeU1DNHdPVE1nTVRJMExqSTRNU0F5TWpBdU5qSTRJREV5TkM0MU5UbE1Nakl5TGpFMk5DQXhNalV1TkRreVF6SXlNeTQxTVRFZ01USTJMak0wTnlBeU1qUXVOakUxSURFeU55NHhPRGNnTWpJMUxqY3hNeUF4TWpndU1ESXpRekl5Tmk0eE5qSWdNVEk0TGpNMk5DQXlNall1TmpFZ01USTRMamN3TlNBeU1qY3VNRGN6SURFeU9TNHdORFpNTWpNMkxqUXpPQ0F4TXpZdU1UZ3pUREl6T0M0Mk5qY2dNVE0zTGpnek9VTXlNemt1TmpFeElERXpPQzQwTlRVZ01qUXdMalV4TmlBeE16a3VNVEk1SURJME1TNHpOemNnTVRNNUxqZzFOMXBOTVRZM0xqTTROQ0F4TVRJdU1EWXhRekUyTnk0Mk9EVWdNVEUxTGpjNU5TQXhOak11TWpJNElERXhPQzQzTVRZZ01UVTNMamMzT0NBeE1Ua3VNekU1UXpFMU1DNDVNVEVnTVRJd0xqQXhNU0F4TkRjdU1qTTNJREV4Tmk0d016WWdNVFE0TGpJd01TQXhNVEV1TkRJNVF6RTFNQzR3TURnZ01UQXpMamN4T1NBeE5EWXVNRE16SURFd05pNHpNemtnTVRRekxqTTRNeUF4TURrdU16VXhRekUwTXk0ek16a2dNVEE1TGpReU5pQXhORE11TWpZNUlERXdPUzQwT0RNZ01UUXpMakU0TnlBeE1Ea3VOVEV4UXpFME15NHhNRFFnTVRBNUxqVXpPU0F4TkRNdU1ERTBJREV3T1M0MU16WWdNVFF5TGprek5DQXhNRGt1TlRBelF6RTBNaTQ0TlRNZ01UQTVMalEzSURFME1pNDNPRGNnTVRBNUxqUXdPU0F4TkRJdU56UTRJREV3T1M0ek16RkRNVFF5TGpjd09DQXhNRGt1TWpVMElERTBNaTQyT1RrZ01UQTVMakUyTkNBeE5ESXVOeklnTVRBNUxqQTRRekUwTXk0NE16UWdNVEF4TGpFeU9TQXhORGd1TlRBeUlERXdNQzQzT1RnZ01UVXdMalU0SURFd01DNDNPVGhETVRVMkxqZzNNeUF4TURFdU1qTXhJREUyTXk0eE1EZ2dNVEF5TGpJNU1TQXhOamt1TVRreElERXdNeTQ1TmtNeE5qa3VNelU1SURFd015NDVPVGNnTVRZNUxqVXhNeUF4TURRdU1EZ3hJREUyT1M0Mk16VWdNVEEwTGpJd01rTXhOamt1TnpVM0lERXdOQzR6TWpNZ01UWTVMamcwTVNBeE1EUXVORGMySURFMk9TNDROemtnTVRBMExqWTBNME14TmprdU9URTNJREV3TkM0NE1URWdNVFk1TGprd055QXhNRFF1T1RnMklERTJPUzQ0TkRrZ01UQTFMakUwTjBNeE5qa3VOemt4SURFd05TNHpNRGtnTVRZNUxqWTRPQ0F4TURVdU5EVXhJREUyT1M0MU5USWdNVEExTGpVMU5rTXhOamd1TmpRMUlERXdOaTR6TlNBeE5qY3VPVFkySURFd055NHpOekVnTVRZM0xqVTROU0F4TURndU5URTBRekUyTnk0eU1EUWdNVEE1TGpZMU9DQXhOamN1TVRNMElERXhNQzQ0T0RJZ01UWTNMak00TkNBeE1USXVNRFl4V2lJZ1ptbHNiRDBpSXpBd01qVXlNaUl2UGdvZ0lDQWdQQzl6ZG1jKyJ9LGZ1bmN0aW9uKGUsdCl7ZS5leHBvcnRzPSJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUJwWkQwaWJHOW5ieTF5YVhCcGJ5MXdiM0owWVd3aUlIaHRiRzV6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXdMM04yWnlJZ2QybGtkR2c5SWpNeUlpQm9aV2xuYUhROUlqTXlJaUIyYVdWM1FtOTRQU0l3SURBZ016SWdNeklpUGdvZ0lEeHdZWFJvSUdsa1BTSmpiMjUwWVdsdVpYSWlJR1E5SWswek1pd3hOa0V4Tml3eE5pd3dMREVzTVN3eE5pd3dMREUyTERFMkxEQXNNQ3d4TERNeUxERTJJaUIwY21GdWMyWnZjbTA5SW5SeVlXNXpiR0YwWlNnd0lEQXBJaUJtYVd4c1BTSWpOalJtWm1JMUlpOCtDaUFnUEhCaGRHZ2dhV1E5SW1semJ5SWdaRDBpVFRjMExqQTRMRFl3TGpBMU5td3RNVEl1TVRZNExEUXVPVlkxTXk0ek5qVnNNVEl1TVRnNExUUXVPVm9pSUhSeVlXNXpabTl5YlQwaWRISmhibk5zWVhSbEtDMDFNaTR3TURZZ0xUUXdMamN4TVNraUlHWnBiR3c5SWlNeU5qSTJNMllpTHo0S1BDOXpkbWMrQ2c9PSJ9LGZ1bmN0aW9uKGUsdCl7ZS5leHBvcnRzPSJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQmxibU52WkdsdVp6MGlWVlJHTFRnaVB6NEtQSE4yWnlCM2FXUjBhRDBpTWpFNGNIZ2lJR2hsYVdkb2REMGlNalUyY0hnaUlIWnBaWGRDYjNnOUlqQWdNQ0F5TVRnZ01qVTJJaUIyWlhKemFXOXVQU0l4TGpFaUlIaHRiRzV6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXdMM04yWnlJZ2VHMXNibk02ZUd4cGJtczlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5MekU1T1RrdmVHeHBibXNpUGdvZ0lDQWdQQ0V0TFNCSFpXNWxjbUYwYjNJNklGTnJaWFJqYUNBMU1TNHlJQ2cxTnpVeE9Ta2dMU0JvZEhSd09pOHZkM2QzTG1KdmFHVnRhV0Z1WTI5a2FXNW5MbU52YlM5emEyVjBZMmdnTFMwK0NpQWdJQ0E4ZEdsMGJHVStZblZwYkdRdGFXTnZibk12VTNSaFlteGxJRU52Y0hrZ016d3ZkR2wwYkdVK0NpQWdJQ0E4WkdWell6NURjbVZoZEdWa0lIZHBkR2dnVTJ0bGRHTm9Mand2WkdWell6NEtJQ0FnSUR4a1pXWnpQZ29nSUNBZ0lDQWdJRHhzYVc1bFlYSkhjbUZrYVdWdWRDQjRNVDBpTUNVaUlIa3hQU0kxTUM0M01EVTFNVFl6SlNJZ2VESTlJakV3TUNVaUlIa3lQU0kxTUM0M01EVTFNVFl6SlNJZ2FXUTlJbXhwYm1WaGNrZHlZV1JwWlc1MExURWlQZ29nSUNBZ0lDQWdJQ0FnSUNBOGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJalJrWTFOVEF3SWlCdlptWnpaWFE5SWpBbElqNDhMM04wYjNBK0NpQWdJQ0FnSUNBZ0lDQWdJRHh6ZEc5d0lITjBiM0F0WTI5c2IzSTlJaU5HUmpVMU1EQWlJRzltWm5ObGREMGlOREF1T1RnM056SXpNaVVpUGp3dmMzUnZjRDRLSUNBZ0lDQWdJQ0FnSUNBZ1BITjBiM0FnYzNSdmNDMWpiMnh2Y2owaUkwWkdNakF3TUNJZ2IyWm1jMlYwUFNJMU9DNHhPVGd4TWpFMUpTSStQQzl6ZEc5d1Bnb2dJQ0FnSUNBZ0lDQWdJQ0E4YzNSdmNDQnpkRzl3TFdOdmJHOXlQU0lqUmtZeU1EQXdJaUJ2Wm1aelpYUTlJakV3TUNVaVBqd3ZjM1J2Y0Q0S0lDQWdJQ0FnSUNBOEwyeHBibVZoY2tkeVlXUnBaVzUwUGdvZ0lDQWdJQ0FnSUR4c2FXNWxZWEpIY21Ga2FXVnVkQ0I0TVQwaU1pNHhORGcwTXpjMUpTSWdlVEU5SWpVd0xqY3dOVFV4TmpNbElpQjRNajBpTVRBd0pTSWdlVEk5SWpVd0xqY3dOVFV4TmpNbElpQnBaRDBpYkdsdVpXRnlSM0poWkdsbGJuUXRNaUkrQ2lBZ0lDQWdJQ0FnSUNBZ0lEeHpkRzl3SUhOMGIzQXRZMjlzYjNJOUlpTkdSalExTWtFaUlHOW1abk5sZEQwaU1DVWlQand2YzNSdmNENEtJQ0FnSUNBZ0lDQWdJQ0FnUEhOMGIzQWdjM1J2Y0MxamIyeHZjajBpSTBaR01qQXdNQ0lnYjJabWMyVjBQU0l4TURBbElqNDhMM04wYjNBK0NpQWdJQ0FnSUNBZ1BDOXNhVzVsWVhKSGNtRmthV1Z1ZEQ0S0lDQWdJQ0FnSUNBOGNHRjBhQ0JrUFNKTk1UY3dMakkzTWpFd09Td3lOUzR6TXpVNU16ZzNJRXd4TkRjdU9UWTRNVEE1TERBdU1EQXdNVEE0T1RNMk1UY2dUREV3T0M0NE1EQXhNRGtzTUM0d01EQXhNRGc1TXpZeE55Qk1Oamt1TmpNeU1UQTRPQ3d3TGpBd01ERXdPRGt6TmpFM0lFdzBOeTR6TWpneE1EZzRMREkxTGpNek5Ua3pPRGNnUXpRM0xqTXlPREV3T0Rnc01qVXVNek0xT1RNNE55QXlOeTQzTkRReE1EZzRMREU1TGpnNE9URXpNRElnTVRndU5EazJNVEE0T0N3eU9TNHhORGczTURRM0lFTXhPQzQwT1RZeE1EZzRMREk1TGpFME9EY3dORGNnTkRRdU5qQTRNVEE0T0N3eU5pNDNPRGcyTURJMklEVXpMalU0TkRFd09EZ3NOREV1TkRBME1ESXpPQ0JETlRNdU5UZzBNVEE0T0N3ME1TNDBNRFF3TWpNNElEYzNMamM1TWpFd09EZ3NORFl1TURNek9ERXhNU0E0TVM0d05UWXhNRGc0TERRMkxqQXpNemd4TVRFZ1F6ZzBMak15TURFd09EZ3NORFl1TURNek9ERXhNU0E1TVM0ek9USXhNRGc0TERRekxqTXhNRFF3TmpnZ09UY3VPVEl3TVRBNE9DdzBNUzR4TXpFMk9ETTBJRU14TURRdU5EUTRNVEE1TERNNExqazFNamsySURFd09DNDRNREF4TURrc016Z3VPVE0zTVRZME15QXhNRGd1T0RBd01UQTVMRE00TGprek56RTJORE1nUXpFd09DNDRNREF4TURrc016Z3VPVE0zTVRZME15QXhNVE11TVRVeU1UQTVMRE00TGprMU1qazJJREV4T1M0Mk9EQXhNRGtzTkRFdU1UTXhOamd6TkNCRE1USTJMakl3T0RFd09TdzBNeTR6TVRBME1EWTRJREV6TXk0eU9EQXhNRGtzTkRZdU1ETXpPREV4TVNBeE16WXVOVFEwTVRBNUxEUTJMakF6TXpneE1URWdRekV6T1M0NE1EZ3hNRGtzTkRZdU1ETXpPREV4TVNBeE5qUXVNREUyTVRBNUxEUXhMalF3TkRBeU16Z2dNVFkwTGpBeE5qRXdPU3cwTVM0ME1EUXdNak00SUVNeE56SXVPVGt5TVRBNUxESTJMamM0T0RZd01qWWdNVGs1TGpFd05ERXdPU3d5T1M0eE5EZzNNRFEzSURFNU9TNHhNRFF4TURrc01qa3VNVFE0TnpBME55QkRNVGc1TGpnMU5qRXdPU3d4T1M0NE9Ea3hNekF5SURFM01DNHlOekl4TURrc01qVXVNek0xT1RNNE55QXhOekF1TWpjeU1UQTVMREkxTGpNek5Ua3pPRGNpSUdsa1BTSndZWFJvTFRNaVBqd3ZjR0YwYUQ0S0lDQWdJRHd2WkdWbWN6NEtJQ0FnSUR4bklHbGtQU0p6ZEdGeWRHbHVaeTFqYjJ4c1pXTjBhVzl1SWlCemRISnZhMlU5SW01dmJtVWlJSE4wY205clpTMTNhV1IwYUQwaU1TSWdabWxzYkQwaWJtOXVaU0lnWm1sc2JDMXlkV3hsUFNKbGRtVnViMlJrSWo0S0lDQWdJQ0FnSUNBOFp5QnBaRDBpUW5WcGJHUXRTV052Ym5NaUlIUnlZVzV6Wm05eWJUMGlkSEpoYm5Oc1lYUmxLQzAzTUM0d01EQXdNREFzSUMwek5UQXVNREF3TURBd0tTSStDaUFnSUNBZ0lDQWdJQ0FnSUR4bklHbGtQU0ppZFdsc1pDMXBZMjl1Y3k5VGRHRmliR1VpSUhSeVlXNXpabTl5YlQwaWRISmhibk5zWVhSbEtEVXdMakF3TURBd01Dd2dNelV3TGpBd01EQXdNQ2tpUGdvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEdjZ2FXUTlJa3h2WjI4aUlIUnlZVzV6Wm05eWJUMGlkSEpoYm5Oc1lYUmxLREl3TGpFeE5ESTROaXdnTUM0d01EQXdNREFwSWo0S0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThjR0YwYUNCa1BTSk5NakE1TGprNE5ERXdPU3cyTVM0eU9EUTROelE1SUV3eU1UVXVPVFk0TVRBNUxEUTJMalUzT0RRNU1Ua2dRekl4TlM0NU5qZ3hNRGtzTkRZdU5UYzRORGt4T1NBeU1EZ3VNelV5TVRBNUxETTRMalF3T0RJM09URWdNVGs1TGpFd05ERXdPU3d5T1M0eE5EZzNNRFEzSUVNeE9Ea3VPRFUyTVRBNUxERTVMamc0T1RFek1ESWdNVGN3TGpJM01qRXdPU3d5TlM0ek16VTVNemczSURFM01DNHlOekl4TURrc01qVXVNek0xT1RNNE55Qk1NVFEzTGprMk9ERXdPU3d3TGpBd01ERXdPRGt6TmpFM0lFd3hNRGd1T0RBd01UQTVMREF1TURBd01UQTRPVE0yTVRjZ1REWTVMall6TWpFd09EZ3NNQzR3TURBeE1EZzVNell4TnlCTU5EY3VNekk0TVRBNE9Dd3lOUzR6TXpVNU16ZzNJRU0wTnk0ek1qZ3hNRGc0TERJMUxqTXpOVGt6T0RjZ01qY3VOelEwTVRBNE9Dd3hPUzQ0T0RreE16QXlJREU0TGpRNU5qRXdPRGdzTWprdU1UUTROekEwTnlCRE9TNHlORGd4TURnNExETTRMalF3T0RJM09URWdNUzQyTXpJeE1EZzRMRFEyTGpVM09EUTVNVGtnTVM0Mk16SXhNRGc0TERRMkxqVTNPRFE1TVRrZ1REY3VOakUyTVRBNE9DdzJNUzR5T0RRNE56UTVJRXd3TGpBd01ERXdPRGdzT0RNdU1EY3lNVEE0T1NCRE1DNHdNREF4TURnNExEZ3pMakEzTWpFd09Ea2dNakl1TXprNU16QTRPQ3d4TmpndU1ERTNPREV4SURJMUxqQXlOREV3T0Rnc01UYzRMak01TVRJMU9DQkRNekF1TVRreU1UQTRPQ3d4T1RndU9ERTJOemtnTXpNdU56STRNVEE0T0N3eU1EWXVOekUwTmpZeUlEUTRMalF4TmpFd09EZ3NNakUzTGpBMk16VTVPQ0JETmpNdU1UQTBNVEE0T0N3eU1qY3VOREV5TlRNMElEZzVMamMyTURFd09EZ3NNalExTGpNNE56QXdNeUE1TkM0eE1USXhNRGc0TERJME9DNHhNVEEwTURjZ1F6azRMalEyTkRFd09EZ3NNalV3TGpnek16Z3hNU0F4TURNdU9UQTBNVEE1TERJMU5TNDBOekk0TlRnZ01UQTRMamd3TURFd09Td3lOVFV1TkRjeU9EVTRJRU14TVRNdU5qazJNVEE1TERJMU5TNDBOekk0TlRnZ01URTVMakV6TmpFd09Td3lOVEF1T0RNek9ERXhJREV5TXk0ME9EZ3hNRGtzTWpRNExqRXhNRFF3TnlCRE1USTNMamcwTURFd09Td3lORFV1TXpnM01EQXpJREUxTkM0ME9UWXhNRGtzTWpJM0xqUXhNalV6TkNBeE5qa3VNVGcwTVRBNUxESXhOeTR3TmpNMU9UZ2dRekU0TXk0NE56SXhNRGtzTWpBMkxqY3hORFkyTWlBeE9EY3VOREE0TVRBNUxERTVPQzQ0TVRZM09TQXhPVEl1TlRjMk1UQTVMREUzT0M0ek9URXlOVGdnUXpFNU5TNHlNREF6TmpVc01UWTRMakF4TnpneE1TQXlNVGN1TmpBd01UQTVMRGd6TGpBM01qRXdPRGtnTWpFM0xqWXdNREV3T1N3NE15NHdOekl4TURnNUlFd3lNRGt1T1RnME1UQTVMRFl4TGpJNE5EZzNORGtnV2lJZ2FXUTlJa2hsWVdRaUlHWnBiR3c5SW5WeWJDZ2piR2x1WldGeVIzSmhaR2xsYm5RdE1Ta2lQand2Y0dGMGFENEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4Y0dGMGFDQmtQU0pOTVRZMExqQXhOakV3T1N3ME1TNDBNRFF3TWpNNElFTXhOalF1TURFMk1UQTVMRFF4TGpRd05EQXlNemdnTVRreUxqY3dORFE1TXl3M05pNHhNamMwTWpneElERTVNaTQzTURRME9UTXNPRE11TlRRNE56QTBOeUJETVRreUxqY3dORFE1TXl3NU1DNDVOams1T0RFeklERTRPUzR3T1RVMU9UY3NPVEl1T1RJNE5qVXpOaUF4T0RVdU5EWTNNVEUzTERrMkxqYzROall5T0RFZ1F6RTRNUzQ0TXpnMk16Y3NNVEF3TGpZME5EWXdNeUF4TmpVdU9Ua3hNemN6TERFeE55NDBPVE0zTmlBeE5qTXVPVFUyTWpZNUxERXhPUzQyTlRjeU16SWdRekUyTVM0NU1qRXhOalVzTVRJeExqZ3lNVEkwT1NBeE5UY3VOamcwTkRrekxERXlOUzR4TURFNE5qSWdNVFl3TGpFM05qVTFOeXd4TXpFdU1EQTJOelEzSUVNeE5qSXVOalk0TmpJeExERXpOaTQ1TVRFMk16SWdNVFkyTGpNME5EazNNeXd4TkRRdU5ESTFOVEExSURFMk1pNHlOVFk0TVRNc01UVXlMakEwTmpZM09TQkRNVFU0TGpFMk9ERXdPU3d4TlRrdU5qWTNPRFUwSURFMU1TNHhOalF4TURrc01UWTBMamMxTkRZeU9DQXhORFl1TmpjMk1UQTVMREUyTXk0NU1UTTJOREVnUXpFME1pNHhPRGd4TURrc01UWXpMakEzTWpFd09TQXhNekV1TmpRNE1UQTVMREUxTnk0MU5UY3lNVFVnTVRJM0xqYzNNakV3T1N3eE5UVXVNRE00TURZMklFTXhNak11T0RrMk1UQTVMREUxTWk0MU1UZzVNVGNnTVRFeExqWXhNVFV3TVN3eE5ESXVNemMwTnpneElERXhNUzQyTVRFMU1ERXNNVE00TGpRNU16TTROaUJETVRFeExqWXhNVFV3TVN3eE16UXVOakV5TlRNMElERXlOQzR6TVRBd09UTXNNVEkzTGpZME16ZzRPQ0F4TWpZdU5qVTFPREl4TERFeU5pNHdOakExSUVNeE1qa3VNREF5TmpNM0xERXlOQzQwTnpjMk5UZ2dNVE01TGpjd016RXhOeXd4TVRndU16UTVORFUwSURFek9TNDVNakl6TkRrc01URTFMamswTkRFME15QkRNVFF3TGpFME1UQXpOeXd4TVRNdU5UTTRNamc0SURFME1DNHdOVGM0TURVc01URXlMamd6TWpreU5pQXhNell1T0RrNU9EZzFMREV3Tmk0NE9Ea3pOamtnUXpFek15NDNOREU1TmpVc01UQXdMamswTlRJMk5pQXhNamd1TURVME9UZzVMRGt6TGpBeE16WXlNemdnTVRJNUxqQXdNVFUwT1N3NE55NDNNell5TVRFeElFTXhNamt1T1RRNE1UQTVMRGd5TGpRMU9UTTBNeUF4TXprdU1URTVPVFE1TERjNUxqY3hOVEkwTURrZ01UUTFMalkyTlRNMU55dzNOeTR5TkRBeU1URXhJRU14TlRJdU1qQTVOamMzTERjMExqYzJOVGN5TmlBeE5qUXVPREV4TkRNM0xEY3dMakE1TVRneE9UWWdNVFkyTGpNNE5USXlPU3cyT1M0ek5qVXlNVFV6SUVNeE5qY3VPVFl3TVRBNUxEWTRMall6T0RBMk5qUWdNVFkzTGpVMU16RTVOeXcyTnk0NU5EVTNOemNnTVRZeUxqYzRNemswT1N3Mk55NDBPVE14TkRjeUlFTXhOVGd1TURFMU56ZzVMRFkzTGpBME1EVXhOelFnTVRRMExqUTRNekkwTlN3Mk5TNHlOREU1T0RFeklERXpPQzR6T0RJeU9EVXNOall1T1RRME5qVXpOaUJETVRNeUxqSTRNVE15TlN3Mk9DNDJORGN6TWpZZ01USXhMamcxT0RJNE5TdzNNUzR5TXpjNE1qZ3hJREV5TVM0d01UTTVPVGNzTnpJdU5qRXhOVEV6TWlCRE1USXdMakUyT1Rjd09TdzNNeTQ1T0RVeE9UZ3pJREV4T1M0ME1qUTVOek1zTnpRdU1ETXhORGsyTWlBeE1qQXVNamt5TVRBNUxEYzRMamMzTURJeE9UWWdRekV5TVM0eE5UZzNNREVzT0RNdU5UQTRPVFF6SURFeU5TNDJNakkzTmpVc01UQTJMakkwTnpFNUlERXlOaTR3TlRVM09Ea3NNVEV3TGpJNE5UazVPQ0JETVRJMkxqUTRPVE0xTnl3eE1UUXVNekkwT0RBM0lERXlOeTR6TXpZNU1Ea3NNVEUyTGprNU5EZ3pNaUF4TWpJdU9UZzNOakk1TERFeE55NDVPVEExTURrZ1F6RXhPQzQyTXpjNE1EVXNNVEU0TGprNE5qRTROaUF4TVRFdU16RTJNVEE1TERFeU1DNDNNVFV3TURNZ01UQTRMamd3TURFd09Td3hNakF1TnpFMU1EQXpJRU14TURZdU1qZzBNVEE1TERFeU1DNDNNVFV3TURNZ09UZ3VPVFl4T0RZNE9Dd3hNVGd1T1RnMk1UZzJJRGswTGpZeE1qVTRPRGdzTVRFM0xqazVNRFV3T1NCRE9UQXVNall5TnpZME9Dd3hNVFl1T1RrME9ETXlJRGt4TGpFeE1ETXhOamdzTVRFMExqTXlORGd3TnlBNU1TNDFORE00T0RRNExERXhNQzR5T0RVNU9UZ2dRemt4TGprM056UTFNamdzTVRBMkxqSTBOekU1SURrMkxqUTBNRGszTWpnc09ETXVOVEE0T1RReklEazNMak13T0RFd09EZ3NOemd1Tnpjd01qRTVOaUJET1RndU1UYzBOekF3T0N3M05DNHdNekUwT1RZeUlEazNMalF5T1RrMk5EZ3NOek11T1RnMU1UazRNeUE1Tmk0MU9EWXlNakE0TERjeUxqWXhNVFV4TXpJZ1F6azFMamMwTVRrek1qZ3NOekV1TWpNM09ESTRNU0E0TlM0ek1UZ3pORGc0TERZNExqWTBOek15TmlBM09TNHlNVGN6T0RnNExEWTJMamswTkRZMU16WWdRemN6TGpFeE5qUXlPRGdzTmpVdU1qUXhPVGd4TXlBMU9TNDFPRFEwTWpnNExEWTNMakEwTURVeE56UWdOVFF1T0RFMU56STBPQ3cyTnk0ME9UTXhORGN5SUVNMU1DNHdORGN3TWpBNExEWTNMamswTlRjM055QTBPUzQyTkRBeE1EZzRMRFk0TGpZek9EQTJOalFnTlRFdU1qRTBORFEwT0N3Mk9TNHpOalV5TVRVeklFTTFNaTQzT0RnM09EQTRMRGN3TGpBNU1UZ3hPVFlnTmpVdU16a3dOVFF3T0N3M05DNDNOalUzTWpZZ056RXVPVE0wT0RZd09DdzNOeTR5TkRBeU1URXhJRU0zT0M0ME56azNNalE0TERjNUxqY3hOVEkwTURrZ09EY3VOalV5TVRBNE9DdzRNaTQwTlRrek5ETWdPRGd1TlRrNE5qWTRPQ3c0Tnk0M016WXlNVEV4SUVNNE9TNDFORFV5TWpnNExEa3pMakF4TXpZeU16Z2dPRE11T0RVM056QTRPQ3d4TURBdU9UUTFNalkySURnd0xqY3dNRE16TWpnc01UQTJMamc0T1RNMk9TQkROemN1TlRReU5ERXlPQ3d4TVRJdU9ETXlPVEkySURjM0xqUTFPRFl6Tmpnc01URXpMalV6T0RJNE9DQTNOeTQyTnpjNE5qZzRMREV4TlM0NU5EUXhORE1nUXpjM0xqZzVOalUxTmpnc01URTRMak0wT1RRMU5DQTRPQzQxT1RjMU9EQTRMREV5TkM0ME56YzJOVGdnT1RBdU9UUXpPRFV5T0N3eE1qWXVNRFl3TlNCRE9UTXVNamt3TVRJME9Dd3hNamN1TmpRek9EZzRJREV3TlM0NU9EZ3hOek1zTVRNMExqWXhNalV6TkNBeE1EVXVPVGc0TVRjekxERXpPQzQwT1RNek9EWWdRekV3TlM0NU9EZ3hOek1zTVRReUxqTTNORGM0TVNBNU15NDNNRFF4TURnNExERTFNaTQxTVRnNU1UY2dPRGt1T0RJNE1UQTRPQ3d4TlRVdU1ETTRNRFkySUVNNE5TNDVOVEl4TURnNExERTFOeTQxTlRjeU1UVWdOelV1TkRFeU1UQTRPQ3d4TmpNdU1EY3lNVEE1SURjd0xqa3lOREV3T0Rnc01UWXpMamt4TXpZME1TQkROall1TkRNMk1UQTRPQ3d4TmpRdU56VTBOakk0SURVNUxqUXpNakV3T0Rnc01UVTVMalkyTnpnMU5DQTFOUzR6TkRNME1EUTRMREUxTWk0d05EWTJOemtnUXpVeExqSTFOVEkwTkRnc01UUTBMalF5TlRVd05TQTFOQzQ1TXpFMU9UWTRMREV6Tmk0NU1URTJNeklnTlRjdU5ESXpNVEUyT0N3eE16RXVNREEyTnpRM0lFTTFPUzQ1TVRVeE9EQTRMREV5TlM0eE1ERTROaklnTlRVdU5qYzVNRFV5T0N3eE1qRXVPREl4TWpRNUlEVXpMalkwTXpRd05EZ3NNVEU1TGpZMU56SXpNaUJETlRFdU5qQTRPRFEwT0N3eE1UY3VORGt6TnpZZ016VXVOell4TURNMk9Dd3hNREF1TmpRME5qQXpJRE15TGpFek1qVTFOamdzT1RZdU56ZzJOakk0TVNCRE1qZ3VOVEEwTURjMk9DdzVNaTQ1TWpnMk5UTTJJREkwTGpnNU5UY3lORGdzT1RBdU9UWTVPVGd4TXlBeU5DNDRPVFUzTWpRNExEZ3pMalUwT0Rjd05EY2dRekkwTGpnNU5UY3lORGdzTnpZdU1USTNOREk0TVNBMU15NDFPRFF4TURnNExEUXhMalF3TkRBeU16Z2dOVE11TlRnME1UQTRPQ3cwTVM0ME1EUXdNak00SUVNMU15NDFPRFF4TURnNExEUXhMalF3TkRBeU16Z2dOemN1TnpreU1UQTRPQ3cwTmk0d016TTRNVEV4SURneExqQTFOakV3T0Rnc05EWXVNRE16T0RFeE1TQkRPRFF1TXpJd01UQTRPQ3cwTmk0d016TTRNVEV4SURreExqTTVNakV3T0Rnc05ETXVNekV3TkRBMk9DQTVOeTQ1TWpBeE1EZzRMRFF4TGpFek1UWTRNelFnUXpFd05DNDBORGd4TURrc016Z3VPVFV5T1RZZ01UQTRMamd3TURFd09Td3pPQzQ1TXpjeE5qUXpJREV3T0M0NE1EQXhNRGtzTXpndU9UTTNNVFkwTXlCRE1UQTRMamd3TURFd09Td3pPQzQ1TXpjeE5qUXpJREV4TXk0eE5USXhNRGtzTXpndU9UVXlPVFlnTVRFNUxqWTRNREV3T1N3ME1TNHhNekUyT0RNMElFTXhNall1TWpBNE1UQTVMRFF6TGpNeE1EUXdOamdnTVRNekxqSTRNREV3T1N3ME5pNHdNek00TVRFeElERXpOaTQxTkRReE1Ea3NORFl1TURNek9ERXhNU0JETVRNNUxqZ3dPREV3T1N3ME5pNHdNek00TVRFeElERTJOQzR3TVRZeE1Ea3NOREV1TkRBME1ESXpPQ0F4TmpRdU1ERTJNVEE1TERReExqUXdOREF5TXpnZ1dpQk5NVFF5TGpVd09UVXdOQ3d4TnpRdU1qSTNPVE0xSUVNeE5EUXVNamcxTVRJc01UYzFMak0wTVRJMk15QXhORE11TWpBeU1ERTJMREUzTnk0ME16azVNVGdnTVRReExqVTRORGN3TkN3eE56Z3VOVGcwT0RNM0lFTXhNemt1T1RZMk9EUTRMREUzT1M0M01qazNOVGNnTVRFNExqSXlPREEyTkN3eE9UWXVOVGcwTXpZeElERXhOaTR4TVRnME16SXNNVGs0TGpRME56RTJPU0JETVRFMExqQXdPREkxTml3eU1EQXVNekV3TlRJeklERXhNQzQ1TURnc01qQXpMak00TnpReU5TQXhNRGd1T0N3eU1ETXVNemczTkRJMUlFTXhNRFl1TmpreUxESXdNeTR6T0RjME1qVWdNVEF6TGpVNU1USXNNakF3TGpNeE1EVXlNeUF4TURFdU5EZ3hOVFk0TERFNU9DNDBORGN4TmprZ1F6azVMak0zTVRNNU1pd3hPVFl1TlRnME16WXhJRGMzTGpZek16RTFNaXd4TnprdU56STVOelUzSURjMkxqQXhOVEk1Tml3eE56Z3VOVGcwT0RNM0lFTTNOQzR6T1RjME5Dd3hOemN1TkRNNU9URTRJRGN6TGpNeE5EZzRMREUzTlM0ek5ERXlOak1nTnpVdU1Ea3dORGsyTERFM05DNHlNamM1TXpVZ1F6YzJMamcyTmpZMU5pd3hOek11TVRFMU1UVXlJRGd5TGpReU1qVXlPQ3d4TnpBdU16QTJNak16SURrd0xqQTRPVEV5TERFMk5pNHpNek00TnpZZ1F6azNMamMxTkRZeU5Dd3hOakl1TXpZeU1EWXpJREV3Tnk0ek1EZzRPVFlzTVRVNExqazROVEEwTWlBeE1EZ3VPQ3d4TlRndU9UZzFNRFF5SUVNeE1UQXVNamt4TVRBMExERTFPQzQ1T0RVd05ESWdNVEU1TGpnME5EZ3pNaXd4TmpJdU16WXlNRFl6SURFeU55NDFNVEUwTWpRc01UWTJMak16TXpnM05pQkRNVE0xTGpFM056UTNNaXd4TnpBdU16QTJNak16SURFME1DNDNNek16TkRRc01UY3pMakV4TlRFMU1pQXhOREl1TlRBNU5UQTBMREUzTkM0eU1qYzVNelVnV2lJZ2FXUTlJa1poWTJVaUlHWnBiR3c5SWlOR1JrWkdSa1lpUGp3dmNHRjBhRDRLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBOGJXRnpheUJwWkQwaWJXRnpheTAwSWlCbWFXeHNQU0ozYUdsMFpTSStDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEeDFjMlVnZUd4cGJtczZhSEpsWmowaUkzQmhkR2d0TXlJK1BDOTFjMlUrQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BDOXRZWE5yUGdvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEeDFjMlVnYVdROUlsUnZjQzFJWldGa0lpQm1hV3hzUFNKMWNtd29JMnhwYm1WaGNrZHlZV1JwWlc1MExUSXBJaUI0YkdsdWF6cG9jbVZtUFNJamNHRjBhQzB6SWo0OEwzVnpaVDRLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRHd2Wno0S0lDQWdJQ0FnSUNBZ0lDQWdQQzluUGdvZ0lDQWdJQ0FnSUR3dlp6NEtJQ0FnSUR3dlp6NEtQQzl6ZG1jKyJ9LGZ1bmN0aW9uKGUsdCl7ZS5leHBvcnRzPSJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUIzYVdSMGFEMGlNekl3SWlCb1pXbG5hSFE5SWpNeU1DSWdkbWxsZDBKdmVEMGlNQ0F3SURNeU1DQXpNakFpSUdacGJHdzlJbTV2Ym1VaUlIaHRiRzV6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXdMM04yWnlJK0NqeHdZWFJvSUdROUlrMHpNVEF1TVRReUlERTNPQzQ1TkRGRE16SXlMakExTnlBeE5USXVNekl5SURJMk15NHhORGtnTnpjdU9UVXhNeUF5TURZdU9EY3lJRFEyTGprMk56RkRNVGN4TGpNNU9TQXlNaTQ1TmpReElERXpOQzQwTXpVZ01qWXVNall4TnlBeE1qWXVPVFE1SURNMkxqZ3dNRGhETVRFd0xqVXlJRFU1TGpreklERTRNUzR6TlRFZ056a3VOVEk0TkNBeU1qZ3VOekl4SURFd01pNHpPVGhETWpFNExqVXpPQ0F4TURZdU9ESXhJREl3T0M0NU5ETWdNVEUwTGpjMU9DQXlNRE11TXlBeE1qUXVPVEE0UXpFNE5TNDJOQ0F4TURVdU5qSTNJREUwTmk0NE56Z2dPRGt1TURJME5TQXhNREV1TXprMklERXdNaTR6T1RoRE56QXVOelEyTkNBeE1URXVOREV4SURRMUxqSTNOREVnTVRNeUxqWTFPQ0F6TlM0ME1qa3pJREUyTkM0M05EbERNek11TURNM01TQXhOak11TmpnMklETXdMak00T0RZZ01UWXpMakE1TlNBeU55NDJNREl4SURFMk15NHdPVFZETVRZdU9UUTJOeUF4TmpNdU1EazFJRGd1TXpBNE55QXhOekV1TnpNeklEZ3VNekE0TnlBeE9ESXVNemc1UXpndU16QTROeUF4T1RNdU1EUTBJREUyTGprME5qY2dNakF4TGpZNE1pQXlOeTQyTURJeElESXdNUzQyT0RKRE1qa3VOVGMzTWlBeU1ERXVOamd5SURNMUxqYzFNallnTWpBd0xqTTFOeUF6TlM0M05USTJJREl3TUM0ek5UZE1NVE0wTGpRek5TQXlNREV1TURjelF6azBMamszSURJMk15NDJPQ0EyTXk0M09ERXlJREkzTWk0NE16SWdOak11TnpneE1pQXlPRE11TmpjNVF6WXpMamM0TVRJZ01qazBMalV5TlNBNU15NDJNak0wSURJNU1TNDFPRFlnTVRBMExqZ3lPQ0F5T0RjdU5UUXpRekUxT0M0ME5qZ2dNalk0TGpFNE9TQXlNVFl1TURnZ01qQTNMamcyT1NBeU1qVXVPVFkySURFNU1DNDFNRFZETWpZM0xqUTRNaUF4T1RVdU5qZzFJRE13TWk0ek56SWdNVGsyTGpJNU9DQXpNVEF1TVRReUlERTNPQzQ1TkRGYUlpQm1hV3hzUFNKMWNtd29JM0JoYVc1ME1GOXNhVzVsWVhJcElpOCtDanh3WVhSb0lHWnBiR3d0Y25Wc1pUMGlaWFpsYm05a1pDSWdZMnhwY0MxeWRXeGxQU0psZG1WdWIyUmtJaUJrUFNKTk1qSTRMamN4TnlBeE1ESXVOREF4UXpJeU9DNDNNaUF4TURJdU5EQXpJREl5T0M0M01qSWdNVEF5TGpRd05DQXlNamd1TnpJMUlERXdNaTQwTURWRE1qTXdMamt5SURFd01TNDFOQ0F5TXpBdU5UWTFJRGs0TGpJNU55QXlNamt1T1RZeUlEazFMamMxTURWRE1qSTRMalUzTnlBNE9TNDRPVGN5SURJd05DNDJOamNnTmpZdU1qZzNNaUF4T0RJdU1qRTFJRFUxTGpjeE1qSkRNVFV4TGpZeUlEUXhMak13TWpNZ01USTVMakE1TVNBME1pNHdORFV5SURFeU5TNDNOak1nTkRndU5qZzJPRU14TXpFdU9UazFJRFl4TGpRMU9UVWdNVFl3TGpnNE5pQTNNeTQwTlRFMUlERTVNUzR3TmpFZ09EVXVPVGMyTVVNeU1ETXVPVE0wSURreExqTXhPVFlnTWpFM0xqQTBNU0E1Tmk0M05UazVJREl5T0M0M01qSWdNVEF5TGpNNU9VTXlNamd1TnpJZ01UQXlMalFnTWpJNExqY3hPU0F4TURJdU5EQXhJREl5T0M0M01UY2dNVEF5TGpRd01Wb2lJR1pwYkd3OUluVnliQ2dqY0dGcGJuUXhYMnhwYm1WaGNpa2lMejRLUEhCaGRHZ2dabWxzYkMxeWRXeGxQU0psZG1WdWIyUmtJaUJqYkdsd0xYSjFiR1U5SW1WMlpXNXZaR1FpSUdROUlrMHhPRGt1T0RreUlESXpNQzQ1TlRSRE1UZ3pMamN3TlNBeU1qZ3VOVGtnTVRjMkxqY3hOaUF5TWpZdU5ESWdNVFk0TGpjM0lESXlOQzQwTlRKRE1UYzNMakkwTWlBeU1Ea3VNamt5SURFM09TNHdNaUF4T0RZdU9EUTVJREUzTVM0d01Ua2dNVGN5TGpZMU9VTXhOVGt1TnpnNUlERTFNaTQzTkRVZ01UUTFMalk1TXlBeE5ESXVNVFEySURFeE1pNDVNemNnTVRReUxqRTBOa001TkM0NU1qQTNJREUwTWk0eE5EWWdORFl1TkRFek5pQXhORGd1TWpFMElEUTFMalUxTWpVZ01UZzRMamN3TjBNME5TNDBOakl4SURFNU1pNDVOVFlnTkRVdU5UVXdNaUF4T1RZdU9EUTVJRFExTGpnMU56Z2dNakF3TGpRelRERXpOQzQwTXpVZ01qQXhMakEzTWtNeE1qSXVORGswSURJeU1DNHdNVFlnTVRFeExqTXhJREl6TkM0d05qWWdNVEF4TGpVeE9TQXlORFF1TnpWRE1URXpMakkzTlNBeU5EY3VOell5SURFeU1pNDVOellnTWpVd0xqSTVNU0F4TXpFdU9EZ3pJREkxTWk0Mk1UTkRNVFF3TGpNek5DQXlOVFF1T0RFMklERTBPQzR3TmprZ01qVTJMamd6TWlBeE5UWXVNVFkxSURJMU9DNDRPVGhETVRZNExqTTNPQ0F5TlRBZ01UYzVMamcySURJME1DNHlPVGdnTVRnNUxqZzVNaUF5TXpBdU9UVTBXaUlnWm1sc2JEMGlkWEpzS0NOd1lXbHVkREpmYkdsdVpXRnlLU0l2UGdvOGNHRjBhQ0JrUFNKTk16UXVNalEzTXlBeE9UWXVNalk1UXpNM0xqZzJOVGdnTWpJM0xqQXpJRFUxTGpNME56WWdNak01TGpBNE5TQTVNUzR3TmprNElESTBNaTQyTlRKRE1USTJMamM1TWlBeU5EWXVNaklnTVRRM0xqSTRNeUF5TkRNdU9ESTJJREUzTkM0MU5qTWdNalEyTGpNd09FTXhPVGN1TXpRM0lESTBPQzR6T0RFZ01qRTNMalk1TVNBeU5Ua3VPVGt5SURJeU5TNHlNemdnTWpVMUxqazRRekl6TWk0d015QXlOVEl1TXpZNUlESXlPQzR5TXlBeU16a3VNekl6SURJeE9TNHhORElnTWpNd0xqazFNME15TURjdU16WXhJREl5TUM0eE1ETWdNVGt4TGpBMU5pQXlNVEl1TlRZZ01UWXlMak0yTmlBeU1Ea3VPRGd6UXpFMk9DNHdPRFFnTVRrMExqSXlPQ0F4TmpZdU5EZ3lJREUzTWk0eU56a2dNVFUzTGpZd01pQXhOakF1TXpNM1F6RTBOQzQzTmpNZ01UUXpMakEzSURFeU1TNHdOalFnTVRNMUxqSTJNeUE1TVM0d05qazVJREV6T0M0Mk56UkROVGt1TnpNeklERTBNaTR5TXpnZ01qa3VOekEyTWlBeE5UY3VOalkySURNMExqSTBOek1nTVRrMkxqSTJPVm9pSUdacGJHdzlJblZ5YkNnamNHRnBiblF6WDJ4cGJtVmhjaWtpTHo0S1BHUmxabk0rQ2p4c2FXNWxZWEpIY21Ga2FXVnVkQ0JwWkQwaWNHRnBiblF3WDJ4cGJtVmhjaUlnZURFOUlqazNMamd5TnpFaUlIa3hQU0l4TlRVdU16WTRJaUI0TWowaU16QTNMalUzTmlJZ2VUSTlJakl4TkM0NE5Ea2lJR2R5WVdScFpXNTBWVzVwZEhNOUluVnpaWEpUY0dGalpVOXVWWE5sSWo0S1BITjBiM0FnYzNSdmNDMWpiMnh2Y2owaUl6ZzNPVGRHUmlJdlBnbzhjM1J2Y0NCdlptWnpaWFE5SWpFaUlITjBiM0F0WTI5c2IzSTlJaU5CUVVFNFJrWWlMejRLUEM5c2FXNWxZWEpIY21Ga2FXVnVkRDRLUEd4cGJtVmhja2R5WVdScFpXNTBJR2xrUFNKd1lXbHVkREZmYkdsdVpXRnlJaUI0TVQwaU1qY3lMakkxTnlJZ2VURTlJakUxTVM0ek9DSWdlREk5SWpFeU1DNDVNVFFpSUhreVBTSXRNQzR6TXpJNU1qY2lJR2R5WVdScFpXNTBWVzVwZEhNOUluVnpaWEpUY0dGalpVOXVWWE5sSWo0S1BITjBiM0FnYzNSdmNDMWpiMnh2Y2owaUl6TkNNakpCTUNJdlBnbzhjM1J2Y0NCdlptWnpaWFE5SWpFaUlITjBiM0F0WTI5c2IzSTlJaU0xTVRVMlJEZ2lJSE4wYjNBdGIzQmhZMmwwZVQwaU1DSXZQZ284TDJ4cGJtVmhja2R5WVdScFpXNTBQZ284YkdsdVpXRnlSM0poWkdsbGJuUWdhV1E5SW5CaGFXNTBNbDlzYVc1bFlYSWlJSGd4UFNJeE9UUXVNVEF6SWlCNU1UMGlNak0yTGpJek9TSWdlREk5SWpRNExqY3lNVFlpSUhreVBTSXhOVEl1TmpVMUlpQm5jbUZrYVdWdWRGVnVhWFJ6UFNKMWMyVnlVM0JoWTJWUGJsVnpaU0krQ2p4emRHOXdJSE4wYjNBdFkyOXNiM0k5SWlNelFqRkZPRVlpTHo0S1BITjBiM0FnYjJabWMyVjBQU0l4SWlCemRHOXdMV052Ykc5eVBTSWpOa0UyUmtaQ0lpQnpkRzl3TFc5d1lXTnBkSGs5SWpBaUx6NEtQQzlzYVc1bFlYSkhjbUZrYVdWdWRENEtQR3hwYm1WaGNrZHlZV1JwWlc1MElHbGtQU0p3WVdsdWRETmZiR2x1WldGeUlpQjRNVDBpTVRFd0xqTTBPU0lnZVRFOUlqRTFNeTQ0TURNaUlIZ3lQU0l5TURndU5qRTJJaUI1TWowaU1qYzRMalkyTVNJZ1ozSmhaR2xsYm5SVmJtbDBjejBpZFhObGNsTndZV05sVDI1VmMyVWlQZ284YzNSdmNDQnpkRzl3TFdOdmJHOXlQU0lqT0RnNU9FWkdJaTgrQ2p4emRHOXdJRzltWm5ObGREMGlNQzQ1T0RNNE9UVWlJSE4wYjNBdFkyOXNiM0k5SWlNMVJqUTNSakVpTHo0S1BDOXNhVzVsWVhKSGNtRmthV1Z1ZEQ0S1BDOWtaV1p6UGdvOEwzTjJaejQ9In0sZnVuY3Rpb24oZSx0KXtlLmV4cG9ydHM9ImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjNhV1IwYUQwaU16WWlJR2hsYVdkb2REMGlNellpSUhacFpYZENiM2c5SWpBZ01DQXpOaUF6TmlJZ1ptbHNiRDBpYm05dVpTSWdlRzFzYm5NOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6SXdNREF2YzNabklqNEtQR05wY21Oc1pTQmplRDBpTVRnaUlHTjVQU0l4T0NJZ2NqMGlNVGdpSUdacGJHdzlJblZ5YkNnamNHRnBiblF3WDJ4cGJtVmhjbDgyTVRVM1h6RXpNRFE1TXlraUx6NEtQSEJoZEdnZ1ptbHNiQzF5ZFd4bFBTSmxkbVZ1YjJSa0lpQmpiR2x3TFhKMWJHVTlJbVYyWlc1dlpHUWlJR1E5SWsweU1TNDNORGt5SURZdU56VklNVFF1TWpRNU0xWXhOQzR6TWpnelNEWXVOelZXTWpFdU9UQTNNa2d4TkM0eU5Ea3pWakk1TGpJMU1EWklNakV1TnpRNU1sWXlNUzQyTnpFM1NERTBMakkxVmpFMExqTXlPRGxJTWpFdU56UTVNbFkyTGpjMVdrMHlPUzR5TlRBeUlERTBMak15T0ROSU1qRXVOelV3TWxZeU1TNDVNRGN5U0RJNUxqSTFNREpXTVRRdU16STRNMW9pSUdacGJHdzlJbUpzWVdOcklpOCtDanhrWldaelBnbzhiR2x1WldGeVIzSmhaR2xsYm5RZ2FXUTlJbkJoYVc1ME1GOXNhVzVsWVhKZk5qRTFOMTh4TXpBME9UTWlJSGd4UFNJek5pSWdlVEU5SWkweUxqRTBOVGMzWlMwd05pSWdlREk5SWpJdU1UUTFOemRsTFRBMklpQjVNajBpTXpZaUlHZHlZV1JwWlc1MFZXNXBkSE05SW5WelpYSlRjR0ZqWlU5dVZYTmxJajRLUEhOMGIzQWdiMlptYzJWMFBTSXdMak01TlRnek15SWdjM1J2Y0MxamIyeHZjajBpSTBFNVJrWkZNQ0l2UGdvOGMzUnZjQ0J2Wm1aelpYUTlJakVpSUhOMGIzQXRZMjlzYjNJOUlpTTROa1ExUmtZaUx6NEtQQzlzYVc1bFlYSkhjbUZrYVdWdWRENEtQQzlrWldaelBnbzhMM04yWno0SyJ9LGZ1bmN0aW9uKGUsdCl7ZS5leHBvcnRzPSJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUIzYVdSMGFEMGlNVEF5TkNJZ2FHVnBaMmgwUFNJeE1ESTBJaUIyYVdWM1FtOTRQU0l3SURBZ01UQXlOQ0F4TURJMElpQm1hV3hzUFNKdWIyNWxJaUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lQZ284WnlCdFlYTnJQU0oxY213b0kyMWhjMnN3WHpRd09GOHlNalVwSWo0S1BIQmhkR2dnWkQwaVRURXdOREV1TlRJZ01FZ3RNamRXTVRBeU5FZ3hNRFF4TGpVeVZqQmFJaUJtYVd4c1BTSWpNams0TUVaRklpOCtDanhuSUdOc2FYQXRjR0YwYUQwaWRYSnNLQ05qYkdsd01GODBNRGhmTWpJMUtTSStDanh3WVhSb0lHUTlJazAwTURZdU56azJJRFF6T0M0Mk5ETklOREEyTGpreU4wTTBNRFl1TnprMklEUXpOeTQ0TlRjZ05EQTJMamM1TmlBME16WXVPVFFnTkRBMkxqYzVOaUEwTXpZdU1UVTBWalF6T0M0Mk5ETmFJaUJtYVd4c1BTSWpNamxCUlVaR0lpOCtDanh3WVhSb0lHUTlJazAyTmpjdU5qQXlJRFEyTXk0MU16TklOVEl6TGpJME9WWTNNalF1TURjMlF6VXlNeTR5TkRrZ056TTJMak00T1NBMU16TXVNakEwSURjME5pNHpORFVnTlRRMUxqVXhOeUEzTkRZdU16UTFTRFkwTlM0ek16TkROalUzTGpZME55QTNORFl1TXpRMUlEWTJOeTQyTURJZ056TTJMak00T1NBMk5qY3VOakF5SURjeU5DNHdOelpXTkRZekxqVXpNMW9pSUdacGJHdzlJbmRvYVhSbElpOCtDanh3WVhSb0lHUTlJazAwTlRNdU5UWXpJREkzTjBnME5EZ3VOekUyU0RFNU1DNHlOamxETVRjM0xqazFOU0F5TnpjZ01UWTRJREk0Tmk0NU5UVWdNVFk0SURJNU9TNHlOamxXTXpnNUxqWTFNME14TmpnZ05EQXhMamsyTnlBeE56Y3VPVFUxSURReE1TNDVNaklnTVRrd0xqSTJPU0EwTVRFdU9USXlTREkxTUM0NU1UaElNamMxTGpBeU1WWTBNemd1TmpRMFZqY3lOQzQzTXpGRE1qYzFMakF5TVNBM016Y3VNRFExSURJNE5DNDVOellnTnpRM0lESTVOeTR5T0RrZ056UTNTRE01TWk0eE1qaEROREEwTGpRME1TQTNORGNnTkRFMExqTTVOaUEzTXpjdU1EUTFJRFF4TkM0ek9UWWdOekkwTGpjek1WWTBNemd1TmpRMFZqUXpOaTR4TlRaV05ERXhMamt5TWtnME16Z3VORGs1U0RRME9DNHpNak5JTkRVekxqRTNRelE1TUM0ek56SWdOREV4TGpreU1pQTFNakF1TmpNeElETTRNUzQyTmpNZ05USXdMall6TVNBek5EUXVORFl4UXpVeU1TNHdNalFnTXpBM0xqSTFPU0EwT1RBdU56WTFJREkzTnlBME5UTXVOVFl6SURJM04xb2lJR1pwYkd3OUluZG9hWFJsSWk4K0NqeHdZWFJvSUdROUlrMDJOamN1TnpNMUlEUTJNeTQxTXpOV05qUTFMak0xUXpZM01pNDNNVE1nTmpRMkxqVXlPU0EyTnpjdU9ESXhJRFkwTnk0ME5EWWdOamd6TGpBMk1TQTJORGd1TWpNeVF6WTVNQzR6T1RjZ05qUTVMakk0SURZNU55NDVPVFFnTmpRNUxqa3pOU0EzTURVdU5Ua3lJRFkxTUM0d05qWkROekExTGprNE5TQTJOVEF1TURZMklEY3dOaTR6TnpnZ05qVXdMakEyTmlBM01EWXVPVEF5SURZMU1DNHdOalpXTlRBMUxqUTFRelk0TlM0d01qWWdOVEEwTGpBd09TQTJOamN1TnpNMUlEUTROUzQ0TURFZ05qWTNMamN6TlNBME5qTXVOVE16V2lJZ1ptbHNiRDBpZFhKc0tDTndZV2x1ZERCZmJHbHVaV0Z5WHpRd09GOHlNalVwSWk4K0NqeHdZWFJvSUdROUlrMDNNRGt1TnpneElESTNOME0yTURZdU9ESXlJREkzTnlBMU1qTXVNalE1SURNMk1DNDFOek1nTlRJekxqSTBPU0EwTmpNdU5UTXpRelV5TXk0eU5Ea2dOVFV5TGpBNE5DQTFPRFF1T1RRMklEWXlOaTR5TWpVZ05qWTNMamN6TXlBMk5EVXVNelZXTkRZekxqVXpNME0yTmpjdU56TXpJRFEwTUM0ek5EY2dOamcyTGpVNU5pQTBNakV1TkRnMElEY3dPUzQzT0RFZ05ESXhMalE0TkVNM016SXVPVFkzSURReU1TNDBPRFFnTnpVeExqZ3pJRFEwTUM0ek5EY2dOelV4TGpneklEUTJNeTQxTXpORE56VXhMamd6SURRNE15NHdOVEVnTnpNNExqWWdORGs1TGpReU5TQTNNakF1TlRJeklEVXdOQzR4TkVNM01UY3VNVEUzSURVd05TNHdOVGNnTnpFekxqUTBPU0ExTURVdU5UZ3hJRGN3T1M0M09ERWdOVEExTGpVNE1WWTJOVEF1TURZMlF6Y3hNeTQwTkRrZ05qVXdMakEyTmlBM01UWXVPVGcySURZME9TNDVNelVnTnpJd0xqVXlNeUEyTkRrdU9EQTBRemd4T0M0MU1EVWdOalEwTGpFM01TQTRPVFl1TXpFMElEVTJNaTQ1TlRZZ09EazJMak14TkNBME5qTXVOVE16UXpnNU5pNDBORFVnTXpZd0xqVTNNeUE0TVRJdU9EY3lJREkzTnlBM01Ea3VOemd4SURJM04xb2lJR1pwYkd3OUluZG9hWFJsSWk4K0NqeHdZWFJvSUdROUlrMDNNRGt1TnpnZ05qVXdMakEyTmxZMU1EVXVOVGd4UXpjd09DNDNNek1nTlRBMUxqVTRNU0EzTURjdU9ERTJJRFV3TlM0MU9ERWdOekEyTGpjMk9DQTFNRFV1TkRWV05qVXdMakEyTmtNM01EY3VPREUySURZMU1DNHdOallnTnpBNExqZzJOQ0EyTlRBdU1EWTJJRGN3T1M0M09DQTJOVEF1TURZMldpSWdabWxzYkQwaWQyaHBkR1VpTHo0S1BDOW5QZ284TDJjK0NqeGtaV1p6UGdvOGJHbHVaV0Z5UjNKaFpHbGxiblFnYVdROUluQmhhVzUwTUY5c2FXNWxZWEpmTkRBNFh6SXlOU0lnZURFOUlqY3dPUzQ0TkRRaUlIa3hQU0kxTlRZdU9ESTNJaUI0TWowaU5qWTNMamMxTXlJZ2VUSTlJalUxTmk0NE1qY2lJR2R5WVdScFpXNTBWVzVwZEhNOUluVnpaWEpUY0dGalpVOXVWWE5sSWo0S1BITjBiM0FnYzNSdmNDMWpiMnh2Y2owaWQyaHBkR1VpTHo0S1BITjBiM0FnYjJabWMyVjBQU0l3TGprMk5qY2lJSE4wYjNBdFkyOXNiM0k5SW5kb2FYUmxJaUJ6ZEc5d0xXOXdZV05wZEhrOUlqQXVNekl6TXlJdlBnbzhjM1J2Y0NCdlptWnpaWFE5SWpFaUlITjBiM0F0WTI5c2IzSTlJbmRvYVhSbElpQnpkRzl3TFc5d1lXTnBkSGs5SWpBdU15SXZQZ284TDJ4cGJtVmhja2R5WVdScFpXNTBQZ284WTJ4cGNGQmhkR2dnYVdROUltTnNhWEF3WHpRd09GOHlNalVpUGdvOGNtVmpkQ0IzYVdSMGFEMGlOekk0TGpRME9DSWdhR1ZwWjJoMFBTSTBOekFpSUdacGJHdzlJbmRvYVhSbElpQjBjbUZ1YzJadmNtMDlJblJ5WVc1emJHRjBaU2d4TmpnZ01qYzNLU0l2UGdvOEwyTnNhWEJRWVhSb1BnbzhMMlJsWm5NK0Nqd3ZjM1puUGdvPSJ9LGZ1bmN0aW9uKGUsdCl7ZS5leHBvcnRzPSJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJR1pwYkd3OUltNXZibVVpSUhacFpYZENiM2c5SWpBZ01DQXlOVFlnTWpVMklqNDhjbVZqZENCM2FXUjBhRDBpTWpVMklpQm9aV2xuYUhROUlqSTFOaUlnWm1sc2JEMGlJekF3TUNJZ2NuZzlJakV5T0NJdlBqeHdZWFJvSUdacGJHdzlJaU5tWm1ZaUlHWnBiR3d0Y25Wc1pUMGlaWFpsYm05a1pDSWdaRDBpVFRnM0xqWTBPQ0F5TURNdU5EQXpZeTB5TUM0NU5UWWdNQzAwTUM0Mk1qY3ROQzQwTnpJdE5UY3VOalE0TFRFeUxqTXdPR3cyT1M0eU5URXROak11TWpGakxUa3VOVFkxTFRjdU9EUTNMVEUxTGpZMk55MHhPUzQzTlRrdE1UVXVOalkzTFRNekxqQTVOeUF3TFRFekxqVTRJRFl1TXpJMkxUSTFMalk0TXlBeE5pNHhPVE10TXpNdU5USXhWalV5YURJMkxqVTVOV0UwTWk0Mk1pQTBNaTQyTWlBd0lEQWdNU0F5Tnk0NU56Y2dNVEF1TkRFelFUUXlMall5SURReUxqWXlJREFnTUNBeElERTRNaTR6TWpVZ05USm9MakEyTkd3dU1EQXhMUzR3TURFdU1EQXlMakF3TW1neU5pNDFNamQyT1M0eU5qWmpPUzQ0TmpjZ055NDRNemdnTVRZdU1UazBJREU1TGprME1TQXhOaTR4T1RRZ016TXVOVEl4SURBZ01UY3VNRGM0TFRFd0xqQXdOU0F6TVM0NE1Ua3RNalF1TkRjeklETTRMalk0TVMwMUxqRTNNeUF4TlM0eU56TXRNVFF1T1RBeklESTVMakF3T1MweU55NDVNallnTkRBdU1UZ3lkakU1TGpjME5tZ3RNekl1TnpNM1l5MHhOUzQzTlNBMkxqUXdNeTB6TXk0MU1qSWdNVEF1TURBMUxUVXlMak16SURFd0xqQXdOVnB0TXpndU56SXpMVGMxTGpkaE16SXVOemMxSURNeUxqYzNOU0F3SURBZ01DQXlNQzQxT0RNdE55NHlNamhzTnk0ek1qZ2dNVFl1TlRBeElEY3VNell6TFRFMkxqVTNPV0V6TWk0M056TWdNekl1TnpjeklEQWdNQ0F3SURJd0xqWTRJRGN1TXpBMll6RTRMakUzTnlBd0lETXlMamt4TXkweE5DNDNNellnTXpJdU9URXpMVE15TGpreE15QXdMVEU0TGpFM09DMHhOQzQzTXpZdE16SXVPVEUwTFRNeUxqa3hNeTB6TWk0NU1UUXRNVEV1T0RFeUlEQXRNakl1TVRjZ05pNHlNakV0TWpjdU9UYzNJREUxTGpVMk5pMDFMamd3TnkwNUxqTTBOQzB4Tmk0eE5qVXRNVFV1TlRZMkxUSTNMamszTnkweE5TNDFOall0TVRndU1UYzRJREF0TXpJdU9URXpJREUwTGpjek5pMHpNaTQ1TVRNZ016SXVPVEUwSURBZ01UZ3VNVGMzSURFMExqY3pOU0F6TWk0NU1UTWdNekl1T1RFeklETXlMamt4TTFwdE1DMDVMamczTkdNeE1pNDNNalVnTUNBeU15NHdOQzB4TUM0ek1UVWdNak11TURRdE1qTXVNRFFnTUMweE1pNDNNalF0TVRBdU16RTFMVEl6TGpBMExUSXpMakEwTFRJekxqQTBMVEV5TGpjeU5DQXdMVEl6TGpBMElERXdMak14TmkweU15NHdOQ0F5TXk0d05DQXdJREV5TGpjeU5TQXhNQzR6TVRZZ01qTXVNRFFnTWpNdU1EUWdNak11TURSYWJUQXRPUzQ0TnpSak55NHlOekVnTUNBeE15NHhOall0TlM0NE9UVWdNVE11TVRZMkxURXpMakUyTmlBd0xUY3VNamN0TlM0NE9UVXRNVE11TVRZMUxURXpMakUyTmkweE15NHhOalV0Tnk0eU56RWdNQzB4TXk0eE5qVWdOUzQ0T1RRdE1UTXVNVFkxSURFekxqRTJOU0F3SURjdU1qY3hJRFV1T0RrMElERXpMakUyTmlBeE15NHhOalVnTVRNdU1UWTJXbTAzT0M0NU9UTXRNVE11TVRZMll6QWdNVEl1TnpJMUxURXdMak14TlNBeU15NHdOQzB5TXk0d05DQXlNeTR3TkMweE1pNDNNalFnTUMweU15NHdNemt0TVRBdU16RTFMVEl6TGpBek9TMHlNeTR3TkNBd0xURXlMamN5TkNBeE1DNHpNVFV0TWpNdU1EUWdNak11TURNNUxUSXpMakEwSURFeUxqY3lOU0F3SURJekxqQTBJREV3TGpNeE5pQXlNeTR3TkNBeU15NHdORnB0TFRrdU9EYzBJREJqTUNBM0xqSTNNUzAxTGpnNU5DQXhNeTR4TmpZdE1UTXVNVFkySURFekxqRTJOaTAzTGpJM01TQXdMVEV6TGpFMk5TMDFMamc1TlMweE15NHhOalV0TVRNdU1UWTJJREF0Tnk0eU55QTFMamc1TkMweE15NHhOalVnTVRNdU1UWTFMVEV6TGpFMk5TQTNMakkzTWlBd0lERXpMakUyTmlBMUxqZzVOQ0F4TXk0eE5qWWdNVE11TVRZMVdpSWdZMnhwY0MxeWRXeGxQU0psZG1WdWIyUmtJaTgrUEM5emRtYysifSxmdW5jdGlvbihlLHQpe2UuZXhwb3J0cz0iZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCM2FXUjBhRDBpTWpRaUlHaGxhV2RvZEQwaU1qUWlJSFpwWlhkQ2IzZzlJakFnTUNBeU5DQXlOQ0lnWm1sc2JEMGlibTl1WlNJZ2VHMXNibk05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpJd01EQXZjM1puSWo0S1BHTnBjbU5zWlNCamVEMGlNVElpSUdONVBTSXhNaUlnY2owaU1USWlJR1pwYkd3OUltSnNZV05ySWk4K0NqeHdZWFJvSUdacGJHd3RjblZzWlQwaVpYWmxibTlrWkNJZ1kyeHBjQzF5ZFd4bFBTSmxkbVZ1YjJSa0lpQmtQU0pOTnk0MU1qZzJNaUE1TGpjMVZqRTFMamsyTkRaRE55NDFNamcyTWlBeE5pNDBOekEySURjdU9URTVOalVnTVRZdU9EVTJOU0E0TGpReU5UUWdNVFl1T0RVMk5VZ3hOUzQzTmpJeFF6RTJMakkyTnprZ01UWXVPRFUyTlNBeE5pNDJOVGc1SURFMkxqUTNNRFlnTVRZdU5qVTRPU0F4TlM0NU5qUTJWakV3TGpjMU1qUklNVGN1TmpJMVZqRTFMamsyTkRaRE1UY3VOakkxSURFMkxqazVOVFlnTVRZdU9EQTBOU0F4Tnk0NE1USTFJREUxTGpjMk1qRWdNVGN1T0RFeU5VZzRMalF5TlRSRE55NHpPRE13TkNBeE55NDRNVEkxSURZdU5UWXlOU0F4Tmk0NU9UVTJJRFl1TlRZeU5TQXhOUzQ1TmpRMlZqa3VOelZJTnk0MU1qZzJNbG9pSUdacGJHdzlJbmRvYVhSbElpOCtDanh3WVhSb0lHWnBiR3d0Y25Wc1pUMGlaWFpsYm05a1pDSWdZMnhwY0MxeWRXeGxQU0psZG1WdWIyUmtJaUJrUFNKTk5pNDFOakkxSURndU1qSXlOVEZETmk0MU5qSTFJRGN1TVRreE56WWdOeTR6T0RNd05DQTJMak0zTlNBNExqUXlOVFFnTmk0ek56VklNVFV1T1RBNE5sWTRMalkwTmpVM1NERTJMakV6TWpORE1UWXVPVGN5TnlBNExqWTBOalUzSURFM0xqWXlOU0E1TGpJNU5qTXhJREUzTGpZeU5TQXhNQzR4TWpZMlZqRXdMamc1TkRsRE1UY3VOakkxSURFeExqY3lOVE1nTVRZdU9UY3lOeUF4TWk0ek56VWdNVFl1TVRNeU15QXhNaTR6TnpWSU9DNDBNalUwUXpjdU16Z3pNRFFnTVRJdU16YzFJRFl1TlRZeU5TQXhNUzQxTlRneUlEWXVOVFl5TlNBeE1DNDFNamMxVmpndU1qSXlOVEZhVFRFMExqazBNalVnT0M0Mk5EWTFOMVkzTGpNek1EYzNTRGd1TkRJMU5FTTNMamt4T1RZMUlEY3VNek13TnpjZ055NDFNamcyTWlBM0xqY3hOall4SURjdU5USTROaklnT0M0eU1qSTFNVll4TUM0MU1qYzFRemN1TlRJNE5qSWdNVEV1TURNek5DQTNMamt4T1RZMUlERXhMalF4T1RJZ09DNDBNalUwSURFeExqUXhPVEpJTVRFdU5qRXdOMVk0TGpZME5qVTNTREUwTGprME1qVmFUVEV5TGpVM05qZ2dNVEV1TkRFNU1rZ3hOaTR4TXpJelF6RTJMalF6TmpFZ01URXVOREU1TWlBeE5pNDJOVGc1SURFeExqSXdNRFFnTVRZdU5qVTRPU0F4TUM0NE9UUTVWakV3TGpFeU5qWkRNVFl1TmpVNE9TQTVMamd5TVRFMUlERTJMalF6TmpFZ09TNDJNREl6TlNBeE5pNHhNekl6SURrdU5qQXlNelZJTVRJdU5UYzJPRll4TVM0ME1Ua3lXaUlnWm1sc2JEMGlkMmhwZEdVaUx6NEtQQzl6ZG1jK0NnPT0ifSxmdW5jdGlvbihlLHQpe2UuZXhwb3J0cz0iZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCMmFXVjNRbTk0UFNJd0lEQWdOVEV5SURVeE1pSWdabWxzYkQwaWJtOXVaU0lnZUcxc2JuTTlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5Mekl3TURBdmMzWm5JajRLUEhCaGRHZ2daRDBpVFRBZ01UUXdMamhETUNBNU1TNDFNVFUwSURBZ05qWXVPRGN6TVNBNUxqVTVNVFF6SURRNExqQTBPRGhETVRndU1ESTRNeUF6TVM0ME9UQTJJRE14TGpRNU1EWWdNVGd1TURJNE15QTBPQzR3TkRnNElEa3VOVGt4TkRORE5qWXVPRGN6TVNBd0lEa3hMalV4TlRRZ01DQXhOREF1T0NBd1NETTNNUzR5UXpReU1DNDBPRFVnTUNBME5EVXVNVEkzSURBZ05EWXpMamsxTVNBNUxqVTVNVFF6UXpRNE1DNDFNRGtnTVRndU1ESTRNeUEwT1RNdU9UY3lJRE14TGpRNU1EWWdOVEF5TGpRd09TQTBPQzR3TkRnNFF6VXhNaUEyTmk0NE56TXhJRFV4TWlBNU1TNDFNVFUwSURVeE1pQXhOREF1T0ZZek56RXVNa00xTVRJZ05ESXdMalE0TlNBMU1USWdORFExTGpFeU55QTFNREl1TkRBNUlEUTJNeTQ1TlRGRE5Ea3pMamszTWlBME9EQXVOVEE1SURRNE1DNDFNRGtnTkRrekxqazNNaUEwTmpNdU9UVXhJRFV3TWk0ME1EbERORFExTGpFeU55QTFNVElnTkRJd0xqUTROU0ExTVRJZ016Y3hMaklnTlRFeVNERTBNQzQ0UXpreExqVXhOVFFnTlRFeUlEWTJMamczTXpFZ05URXlJRFE0TGpBME9EZ2dOVEF5TGpRd09VTXpNUzQwT1RBMklEUTVNeTQ1TnpJZ01UZ3VNREk0TXlBME9EQXVOVEE1SURrdU5Ua3hORE1nTkRZekxqazFNVU13SURRME5TNHhNamNnTUNBME1qQXVORGcxSURBZ016Y3hMakpXTVRRd0xqaGFJaUJtYVd4c1BTSWpNamsyTWtWR0lpOCtDanh3WVhSb0lHUTlJazB4TVRFdU1EUTRJREV5T0VNeE1ESXVNamMwSURFeU9DQTVPQzQ0T1RNeElERXpPQzQ0TlNBeE1EWXVNalUySURFME15NHpPREpNTWprd0xqUTBNeUF5TlRRdU5EUXhRekk1TlM0d016UWdNalUzTGpJMk55QXpNREV1TVRVM0lESTFOaTR4TlNBek1EUXVNekU1SURJMU1TNDVNRGxNTXpnMUxqTXdNU0F4TkRVdU5UazBRek01TUM0NE1EY2dNVE00TGpJd09DQXpPRFV1TWpRMElERXlPQ0F6TnpVdU56RXpJREV5T0VneE1URXVNRFE0V2lJZ1ptbHNiRDBpZDJocGRHVWlMejRLUEhCaGRHZ2daRDBpVFRRd01DNDFNemdnTXpnMFF6UXdPUzR6TVRFZ016ZzBJRFF4TWk0M09DQXpOek11TURreUlEUXdOUzQwTVRrZ016WTRMalUyTVV3eU1qRXVNVGM0SURJMU55NDFNVFpETWpFMkxqVTROeUF5TlRRdU5qa2dNakV3TGpZeE1pQXlOVFV1T1RRNElESXdOeTQwTlRJZ01qWXdMakU0T0V3eE1qWXVNekV5SURNMk5pNDBPREpETVRJd0xqZ3dPQ0F6TnpNdU9EWTJJREV5Tmk0MU5EVWdNemcwSURFek5pNHdOelFnTXpnMFNEUXdNQzQxTXpoYUlpQm1hV3hzUFNKM2FHbDBaU0l2UGdvOEwzTjJaejQ9In0sZnVuY3Rpb24oZSx0KXtlLmV4cG9ydHM9ImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjNhV1IwYUQwaU1USTRJaUJvWldsbmFIUTlJakV5T0NJZ2RtbGxkMEp2ZUQwaU1DQXdJREV5T0NBeE1qZ2lJR1pwYkd3OUltNXZibVVpSUhodGJHNXpQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh5TURBd0wzTjJaeUkrQ2p4amFYSmpiR1VnWTNnOUlqWTBJaUJqZVQwaU5qUWlJSEk5SWpZMElpQm1hV3hzUFNKMWNtd29JM0JoYVc1ME1GOXNhVzVsWVhJcElpOCtDanh3WVhSb0lHUTlJazB4TVRBdU5UZzBJRFkwTGpreE5ESklPVGt1TVRReVF6azVMakUwTWlBME1TNDNOalV4SURnd0xqRTNNeUF5TXlBMU5pNDNOekkwSURJelF6TXpMalkyTVRJZ01qTWdNVFF1T0RjeE5pQTBNUzR6TURVM0lERTBMalF4TVRnZ05qUXVNRFU0TTBNeE15NDVNellnT0RjdU5UYzNJRE0yTGpJME1TQXhNRGdnTmpBdU1ERTROaUF4TURoSU5qTXVNREE1TkVNNE15NDVOekl6SURFd09DQXhNVEl1TURZNUlEa3hMamMyTmpjZ01URTJMalExT1NBM01TNDVPRGMwUXpFeE55NHlOeUEyT0M0ek5ERXpJREV4TkM0ek5UZ2dOalF1T1RFME1pQXhNVEF1TlRnMElEWTBMamt4TkRKYVRUTTVMamMyT0RrZ05qVXVPVFExTkVNek9TNDNOamc1SURZNUxqQTBNVEVnTXpjdU1qQTVOU0EzTVM0MU56STVJRE0wTGpBNE1ESWdOekV1TlRjeU9VTXpNQzQ1TlRBNUlEY3hMalUzTWprZ01qZ3VNemt4TmlBMk9TNHdNems1SURJNExqTTVNVFlnTmpVdU9UUTFORlkxTmk0NE5ERTBRekk0TGpNNU1UWWdOVE11TnpRMU55QXpNQzQ1TlRBNUlEVXhMakl4TXprZ016UXVNRGd3TWlBMU1TNHlNVE01UXpNM0xqSXdPVFVnTlRFdU1qRXpPU0F6T1M0M05qZzVJRFV6TGpjME5UY2dNemt1TnpZNE9TQTFOaTQ0TkRFMFZqWTFMamswTlRSYVRUVTVMalV5TWpRZ05qVXVPVFExTkVNMU9TNDFNakkwSURZNUxqQTBNVEVnTlRZdU9UWXpNU0EzTVM0MU56STVJRFV6TGpnek16Z2dOekV1TlRjeU9VTTFNQzQzTURRMUlEY3hMalUzTWprZ05EZ3VNVFExTVNBMk9TNHdNems1SURRNExqRTBOVEVnTmpVdU9UUTFORlkxTmk0NE5ERTBRelE0TGpFME5URWdOVE11TnpRMU55QTFNQzQzTURVMklEVXhMakl4TXprZ05UTXVPRE16T0NBMU1TNHlNVE01UXpVMkxqazJNekVnTlRFdU1qRXpPU0ExT1M0MU1qSTBJRFV6TGpjME5UY2dOVGt1TlRJeU5DQTFOaTQ0TkRFMFZqWTFMamswTlRSYUlpQm1hV3hzUFNKMWNtd29JM0JoYVc1ME1WOXNhVzVsWVhJcElpOCtDanhrWldaelBnbzhiR2x1WldGeVIzSmhaR2xsYm5RZ2FXUTlJbkJoYVc1ME1GOXNhVzVsWVhJaUlIZ3hQU0kyTkNJZ2VURTlJakFpSUhneVBTSTJOQ0lnZVRJOUlqRXlPQ0lnWjNKaFpHbGxiblJWYm1sMGN6MGlkWE5sY2xOd1lXTmxUMjVWYzJVaVBnbzhjM1J2Y0NCemRHOXdMV052Ykc5eVBTSWpOVE0wUWtJeElpOCtDanh6ZEc5d0lHOW1abk5sZEQwaU1TSWdjM1J2Y0MxamIyeHZjajBpSXpVMU1VSkdPU0l2UGdvOEwyeHBibVZoY2tkeVlXUnBaVzUwUGdvOGJHbHVaV0Z5UjNKaFpHbGxiblFnYVdROUluQmhhVzUwTVY5c2FXNWxZWElpSUhneFBTSTJOUzQwT1RrNElpQjVNVDBpTWpNaUlIZ3lQU0kyTlM0ME9UazRJaUI1TWowaU1UQTRJaUJuY21Ga2FXVnVkRlZ1YVhSelBTSjFjMlZ5VTNCaFkyVlBibFZ6WlNJK0NqeHpkRzl3SUhOMGIzQXRZMjlzYjNJOUluZG9hWFJsSWk4K0NqeHpkRzl3SUc5bVpuTmxkRDBpTVNJZ2MzUnZjQzFqYjJ4dmNqMGlkMmhwZEdVaUlITjBiM0F0YjNCaFkybDBlVDBpTUM0NE1pSXZQZ284TDJ4cGJtVmhja2R5WVdScFpXNTBQZ284TDJSbFpuTStDand2YzNablBnbz0ifSxmdW5jdGlvbihlLHQpe2UuZXhwb3J0cz0iZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCM2FXUjBhRDBpTVRJd0lpQm9aV2xuYUhROUlqRXlNQ0lnZG1sbGQwSnZlRDBpTUNBd0lERXlNQ0F4TWpBaUlHWnBiR3c5SW01dmJtVWlJSGh0Ykc1elBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHlNREF3TDNOMlp5SStDanhuSUdOc2FYQXRjR0YwYUQwaWRYSnNLQ05qYkdsd01GOHhYekU1S1NJK0NqeHRZWE5ySUdsa1BTSnRZWE5yTUY4eFh6RTVJaUJ6ZEhsc1pUMGliV0Z6YXkxMGVYQmxPbUZzY0doaElpQnRZWE5yVlc1cGRITTlJblZ6WlhKVGNHRmpaVTl1VlhObElpQjRQU0l3SWlCNVBTSXdJaUIzYVdSMGFEMGlNVEl3SWlCb1pXbG5hSFE5SWpFeU1DSStDanhqYVhKamJHVWdZM2c5SWpZd0lpQmplVDBpTmpBaUlISTlJall3SWlCbWFXeHNQU0lqUkRsRU9VUTVJaTgrQ2p3dmJXRnphejRLUEdjZ2JXRnphejBpZFhKc0tDTnRZWE5yTUY4eFh6RTVLU0krQ2p4eVpXTjBJSGRwWkhSb1BTSXhNakFpSUdobGFXZG9kRDBpTVRJd0lpQm1hV3hzUFNKMWNtd29JM0JoYVc1ME1GOXNhVzVsWVhKZk1WOHhPU2tpTHo0S1BDOW5QZ284Y0dGMGFDQmtQU0pOTWpZdU5qWTJOeUEwTVM0Mk5qWTNTRE14TGpZMk5qZEROVGN1TkRRZ05ERXVOalkyTnlBM09DNHpNek16SURZeUxqVTJJRGM0TGpNek16TWdPRGd1TXpNek0xWTVNeTR6TXpNelNEZzRMak16TXpORE9URXVNRGswT0NBNU15NHpNek16SURrekxqTXpNek1nT1RFdU1EazBOeUE1TXk0ek16TXpJRGc0TGpNek16TkRPVE11TXpNek15QTFOQzR5TnpVNElEWTFMamN5TkRJZ01qWXVOalkyTnlBek1TNDJOalkzSURJMkxqWTJOamRETWpndU9UQTFNaUF5Tmk0Mk5qWTNJREkyTGpZMk5qY2dNamd1T1RBMU1pQXlOaTQyTmpZM0lETXhMalkyTmpkV05ERXVOalkyTjFvaUlHWnBiR3c5SW5WeWJDZ2pjR0ZwYm5ReFgzSmhaR2xoYkY4eFh6RTVLU0l2UGdvOGNHRjBhQ0JrUFNKTk9EQWdPRGd1TXpNek0wZzVNeTR6TXpNelF6a3pMak16TXpNZ09URXVNRGswT0NBNU1TNHdPVFEzSURrekxqTXpNek1nT0RndU16TXpNeUE1TXk0ek16TXpTRGd3VmpnNExqTXpNek5hSWlCbWFXeHNQU0oxY213b0kzQmhhVzUwTWw5c2FXNWxZWEpmTVY4eE9Ta2lMejRLUEhCaGRHZ2daRDBpVFRNeExqWTJOamNnTWpZdU5qWTJOMHd6TVM0Mk5qWTNJRFF3U0RJMkxqWTJOamRNTWpZdU5qWTJOeUF6TVM0Mk5qWTNRekkyTGpZMk5qY2dNamd1T1RBMU1pQXlPQzQ1TURVeUlESTJMalkyTmpjZ016RXVOalkyTnlBeU5pNDJOalkzV2lJZ1ptbHNiRDBpZFhKc0tDTndZV2x1ZEROZmJHbHVaV0Z5WHpGZk1Ua3BJaTgrQ2p4d1lYUm9JR1E5SWsweU5pNDJOalkySURRd1NETXhMalkyTmpaRE5UZ3VNell3TkNBME1DQTRNQ0EyTVM0Mk16azJJRGd3SURnNExqTXpNek5XT1RNdU16TXpNMGcyTlZZNE9DNHpNek16UXpZMUlEWTVMamt5TXpnZ05UQXVNRGMyTVNBMU5TQXpNUzQyTmpZMklEVTFTREkyTGpZMk5qWldOREJhSWlCbWFXeHNQU0oxY213b0kzQmhhVzUwTkY5eVlXUnBZV3hmTVY4eE9Ta2lMejRLUEhCaGRHZ2daRDBpVFRZMkxqWTJOallnT0RndU16TXpNMGc0TUZZNU15NHpNek16U0RZMkxqWTJOalpXT0RndU16TXpNMW9pSUdacGJHdzlJblZ5YkNnamNHRnBiblExWDJ4cGJtVmhjbDh4WHpFNUtTSXZQZ284Y0dGMGFDQmtQU0pOTWpZdU5qWTJOaUExTXk0ek16TXpUREkyTGpZMk5qWWdOREJNTXpFdU5qWTJOaUEwTUV3ek1TNDJOalkySURVekxqTXpNek5JTWpZdU5qWTJObG9pSUdacGJHdzlJblZ5YkNnamNHRnBiblEyWDJ4cGJtVmhjbDh4WHpFNUtTSXZQZ284Y0dGMGFDQmtQU0pOTWpZdU5qWTJOaUEyTVM0Mk5qWTNRekkyTGpZMk5qWWdOalF1TkRJNE1TQXlPQzQ1TURVeUlEWTJMalkyTmpjZ016RXVOalkyTmlBMk5pNDJOalkzUXpRekxqWXpNamdnTmpZdU5qWTJOeUExTXk0ek16TXpJRGMyTGpNMk56SWdOVE11TXpNek15QTRPQzR6TXpNelF6VXpMak16TXpNZ09URXVNRGswT0NBMU5TNDFOekU1SURrekxqTXpNek1nTlRndU16TXpNeUE1TXk0ek16TXpTRFkyTGpZMk5qWldPRGd1TXpNek0wTTJOaTQyTmpZMklEWTVMakF3TXpRZ05UQXVPVGsyTmlBMU15NHpNek16SURNeExqWTJOallnTlRNdU16TXpNMGd5Tmk0Mk5qWTJWall4TGpZMk5qZGFJaUJtYVd4c1BTSjFjbXdvSTNCaGFXNTBOMTl5WVdScFlXeGZNVjh4T1NraUx6NEtQSEJoZEdnZ1pEMGlUVFV6TGpNek16TWdPRGd1TXpNek0wZzJOaTQyTmpZMlZqa3pMak16TXpOSU5UZ3VNek16TTBNMU5TNDFOekU1SURrekxqTXpNek1nTlRNdU16TXpNeUE1TVM0d09UUTRJRFV6TGpNek16TWdPRGd1TXpNek0xb2lJR1pwYkd3OUluVnliQ2dqY0dGcGJuUTRYM0poWkdsaGJGOHhYekU1S1NJdlBnbzhjR0YwYUNCa1BTSk5NekV1TmpZMk5pQTJOaTQyTmpZM1F6STRMamt3TlRJZ05qWXVOalkyTnlBeU5pNDJOalkySURZMExqUXlPREVnTWpZdU5qWTJOaUEyTVM0Mk5qWTNUREkyTGpZMk5qWWdOVE11TXpNek0wd3pNUzQyTmpZMklEVXpMak16TXpOTU16RXVOalkyTmlBMk5pNDJOalkzV2lJZ1ptbHNiRDBpZFhKc0tDTndZV2x1ZERsZmNtRmthV0ZzWHpGZk1Ua3BJaTgrQ2p3dlp6NEtQR1JsWm5NK0NqeHNhVzVsWVhKSGNtRmthV1Z1ZENCcFpEMGljR0ZwYm5Rd1gyeHBibVZoY2w4eFh6RTVJaUI0TVQwaU5qQWlJSGt4UFNJd0lpQjRNajBpTmpBaUlIa3lQU0l4TWpBaUlHZHlZV1JwWlc1MFZXNXBkSE05SW5WelpYSlRjR0ZqWlU5dVZYTmxJajRLUEhOMGIzQWdjM1J2Y0MxamIyeHZjajBpSXpFM05ESTVPU0l2UGdvOGMzUnZjQ0J2Wm1aelpYUTlJakVpSUhOMGIzQXRZMjlzYjNJOUlpTXdNREZGTlRraUx6NEtQQzlzYVc1bFlYSkhjbUZrYVdWdWRENEtQSEpoWkdsaGJFZHlZV1JwWlc1MElHbGtQU0p3WVdsdWRERmZjbUZrYVdGc1h6RmZNVGtpSUdONFBTSXdJaUJqZVQwaU1DSWdjajBpTVNJZ1ozSmhaR2xsYm5SVmJtbDBjejBpZFhObGNsTndZV05sVDI1VmMyVWlJR2R5WVdScFpXNTBWSEpoYm5ObWIzSnRQU0owY21GdWMyeGhkR1VvTXpFdU5qWTJOeUE0T0M0ek16TXpLU0J5YjNSaGRHVW9MVGt3S1NCelkyRnNaU2cyTVM0Mk5qWTNLU0krQ2p4emRHOXdJRzltWm5ObGREMGlNQzQzTnpBeU56Y2lJSE4wYjNBdFkyOXNiM0k5SWlOR1JqUXdNREFpTHo0S1BITjBiM0FnYjJabWMyVjBQU0l4SWlCemRHOXdMV052Ykc5eVBTSWpPRGMxTkVNNUlpOCtDand2Y21Ga2FXRnNSM0poWkdsbGJuUStDanhzYVc1bFlYSkhjbUZrYVdWdWRDQnBaRDBpY0dGcGJuUXlYMnhwYm1WaGNsOHhYekU1SWlCNE1UMGlOemt1TVRZMk5pSWdlVEU5SWprd0xqZ3pNek1pSUhneVBTSTVNeTR6TXpNeklpQjVNajBpT1RBdU9ETXpNeUlnWjNKaFpHbGxiblJWYm1sMGN6MGlkWE5sY2xOd1lXTmxUMjVWYzJVaVBnbzhjM1J2Y0NCemRHOXdMV052Ykc5eVBTSWpSa1kwTURBd0lpOCtDanh6ZEc5d0lHOW1abk5sZEQwaU1TSWdjM1J2Y0MxamIyeHZjajBpSXpnM05UUkRPU0l2UGdvOEwyeHBibVZoY2tkeVlXUnBaVzUwUGdvOGJHbHVaV0Z5UjNKaFpHbGxiblFnYVdROUluQmhhVzUwTTE5c2FXNWxZWEpmTVY4eE9TSWdlREU5SWpJNUxqRTJOamNpSUhreFBTSXlOaTQyTmpZM0lpQjRNajBpTWprdU1UWTJOeUlnZVRJOUlqUXdMamd6TXpNaUlHZHlZV1JwWlc1MFZXNXBkSE05SW5WelpYSlRjR0ZqWlU5dVZYTmxJajRLUEhOMGIzQWdjM1J2Y0MxamIyeHZjajBpSXpnM05UUkRPU0l2UGdvOGMzUnZjQ0J2Wm1aelpYUTlJakVpSUhOMGIzQXRZMjlzYjNJOUlpTkdSalF3TURBaUx6NEtQQzlzYVc1bFlYSkhjbUZrYVdWdWRENEtQSEpoWkdsaGJFZHlZV1JwWlc1MElHbGtQU0p3WVdsdWREUmZjbUZrYVdGc1h6RmZNVGtpSUdONFBTSXdJaUJqZVQwaU1DSWdjajBpTVNJZ1ozSmhaR2xsYm5SVmJtbDBjejBpZFhObGNsTndZV05sVDI1VmMyVWlJR2R5WVdScFpXNTBWSEpoYm5ObWIzSnRQU0owY21GdWMyeGhkR1VvTXpFdU5qWTJOaUE0T0M0ek16TXpLU0J5YjNSaGRHVW9MVGt3S1NCelkyRnNaU2cwT0M0ek16TXpLU0krQ2p4emRHOXdJRzltWm5ObGREMGlNQzQzTWpNNU1qa2lJSE4wYjNBdFkyOXNiM0k5SWlOR1JrWTNNREFpTHo0S1BITjBiM0FnYjJabWMyVjBQU0l4SWlCemRHOXdMV052Ykc5eVBTSWpSa1k1T1RBeElpOCtDand2Y21Ga2FXRnNSM0poWkdsbGJuUStDanhzYVc1bFlYSkhjbUZrYVdWdWRDQnBaRDBpY0dGcGJuUTFYMnhwYm1WaGNsOHhYekU1SWlCNE1UMGlOall1TmpZMk5pSWdlVEU5SWprd0xqZ3pNek1pSUhneVBTSTRNQ0lnZVRJOUlqa3dMamd6TXpNaUlHZHlZV1JwWlc1MFZXNXBkSE05SW5WelpYSlRjR0ZqWlU5dVZYTmxJajRLUEhOMGIzQWdjM1J2Y0MxamIyeHZjajBpSTBaR1JqY3dNQ0l2UGdvOGMzUnZjQ0J2Wm1aelpYUTlJakVpSUhOMGIzQXRZMjlzYjNJOUlpTkdSams1TURFaUx6NEtQQzlzYVc1bFlYSkhjbUZrYVdWdWRENEtQR3hwYm1WaGNrZHlZV1JwWlc1MElHbGtQU0p3WVdsdWREWmZiR2x1WldGeVh6RmZNVGtpSUhneFBTSXlPUzR4TmpZMklpQjVNVDBpTlRNdU16TXpNeUlnZURJOUlqSTVMakUyTmpZaUlIa3lQU0kwTUNJZ1ozSmhaR2xsYm5SVmJtbDBjejBpZFhObGNsTndZV05sVDI1VmMyVWlQZ284YzNSdmNDQnpkRzl3TFdOdmJHOXlQU0lqUmtaR056QXdJaTgrQ2p4emRHOXdJRzltWm5ObGREMGlNU0lnYzNSdmNDMWpiMnh2Y2owaUkwWkdPVGt3TVNJdlBnbzhMMnhwYm1WaGNrZHlZV1JwWlc1MFBnbzhjbUZrYVdGc1IzSmhaR2xsYm5RZ2FXUTlJbkJoYVc1ME4xOXlZV1JwWVd4Zk1WOHhPU0lnWTNnOUlqQWlJR041UFNJd0lpQnlQU0l4SWlCbmNtRmthV1Z1ZEZWdWFYUnpQU0oxYzJWeVUzQmhZMlZQYmxWelpTSWdaM0poWkdsbGJuUlVjbUZ1YzJadmNtMDlJblJ5WVc1emJHRjBaU2d6TVM0Mk5qWTJJRGc0TGpNek16TXBJSEp2ZEdGMFpTZ3RPVEFwSUhOallXeGxLRE0xS1NJK0NqeHpkRzl3SUc5bVpuTmxkRDBpTUM0MU9UVXhNeUlnYzNSdmNDMWpiMnh2Y2owaUl6QXdRVUZHUmlJdlBnbzhjM1J2Y0NCdlptWnpaWFE5SWpFaUlITjBiM0F0WTI5c2IzSTlJaU13TVVSQk5EQWlMejRLUEM5eVlXUnBZV3hIY21Ga2FXVnVkRDRLUEhKaFpHbGhiRWR5WVdScFpXNTBJR2xrUFNKd1lXbHVkRGhmY21Ga2FXRnNYekZmTVRraUlHTjRQU0l3SWlCamVUMGlNQ0lnY2owaU1TSWdaM0poWkdsbGJuUlZibWwwY3owaWRYTmxjbE53WVdObFQyNVZjMlVpSUdkeVlXUnBaVzUwVkhKaGJuTm1iM0p0UFNKMGNtRnVjMnhoZEdVb05USXVOU0E1TUM0NE16TXpLU0J6WTJGc1pTZ3hOQzR4TmpZM0lETTNMamMzTnpncElqNEtQSE4wYjNBZ2MzUnZjQzFqYjJ4dmNqMGlJekF3UVVGR1JpSXZQZ284YzNSdmNDQnZabVp6WlhROUlqRWlJSE4wYjNBdFkyOXNiM0k5SWlNd01VUkJOREFpTHo0S1BDOXlZV1JwWVd4SGNtRmthV1Z1ZEQ0S1BISmhaR2xoYkVkeVlXUnBaVzUwSUdsa1BTSndZV2x1ZERsZmNtRmthV0ZzWHpGZk1Ua2lJR040UFNJd0lpQmplVDBpTUNJZ2NqMGlNU0lnWjNKaFpHbGxiblJWYm1sMGN6MGlkWE5sY2xOd1lXTmxUMjVWYzJVaUlHZHlZV1JwWlc1MFZISmhibk5tYjNKdFBTSjBjbUZ1YzJ4aGRHVW9Namt1TVRZMk5pQTJOeTQxS1NCeWIzUmhkR1VvTFRrd0tTQnpZMkZzWlNneE5DNHhOalkzSURJMk9DNDJORElwSWo0S1BITjBiM0FnYzNSdmNDMWpiMnh2Y2owaUl6QXdRVUZHUmlJdlBnbzhjM1J2Y0NCdlptWnpaWFE5SWpFaUlITjBiM0F0WTI5c2IzSTlJaU13TVVSQk5EQWlMejRLUEM5eVlXUnBZV3hIY21Ga2FXVnVkRDRLUEdOc2FYQlFZWFJvSUdsa1BTSmpiR2x3TUY4eFh6RTVJajRLUEhKbFkzUWdkMmxrZEdnOUlqRXlNQ0lnYUdWcFoyaDBQU0l4TWpBaUlHWnBiR3c5SW5kb2FYUmxJaTgrQ2p3dlkyeHBjRkJoZEdnK0Nqd3ZaR1ZtY3o0S1BDOXpkbWMrQ2c9PSJ9LGZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuU1RBUlpXQUxMRVQ9dC5CSVRLRUVQV0FMTEVUPXQuV0VCM0FVVEg9dC5PUEVSQT10LlNFUVVFTkNFPXQuQ09JTkJBU0VXQUxMRVQ9dC5XQUxMRVRMSU5LPXQuQklOQU5DRUNIQUlOV0FMTEVUPXQuRlJBTUU9dC5CSVRTS0k9dC5MRURHRVI9dC5EQ0VOVD10Lk1FV0NPTk5FQ1Q9dC5CVVJORVJDT05ORUNUPXQuQVVUSEVSRVVNPXQuVkVOTFk9dC5UT1JVUz10LkZPUlRNQVRJQz10LlBPUlRJUz10LldBTExFVENPTk5FQ1Q9dm9pZCAwO3ZhciBpPW4oMCkscj1pLl9faW1wb3J0RGVmYXVsdChuKDk1KSksTT1pLl9faW1wb3J0RGVmYXVsdChuKDk2KSksdT1pLl9faW1wb3J0RGVmYXVsdChuKDk3KSksbz1pLl9faW1wb3J0RGVmYXVsdChuKDk4KSksYz1pLl9faW1wb3J0RGVmYXVsdChuKDk5KSksYT1pLl9faW1wb3J0RGVmYXVsdChuKDEwMCkpLEk9aS5fX2ltcG9ydERlZmF1bHQobigxMDEpKSxsPWkuX19pbXBvcnREZWZhdWx0KG4oMTAyKSksTj1pLl9faW1wb3J0RGVmYXVsdChuKDEwMykpLGo9aS5fX2ltcG9ydERlZmF1bHQobigxMDQpKSxnPWkuX19pbXBvcnREZWZhdWx0KG4oMTA1KSkscz1pLl9faW1wb3J0RGVmYXVsdChuKDEzKSksQT1pLl9faW1wb3J0RGVmYXVsdChuKDE0KSksRD1pLl9faW1wb3J0RGVmYXVsdChuKDEwNikpLGQ9aS5fX2ltcG9ydERlZmF1bHQobigxMDcpKSxUPWkuX19pbXBvcnREZWZhdWx0KG4oMTA4KSkseT1pLl9faW1wb3J0RGVmYXVsdChuKDE1KSksej1pLl9faW1wb3J0RGVmYXVsdChuKDE2KSksdz1pLl9faW1wb3J0RGVmYXVsdChuKDEwOSkpO2kuX19leHBvcnRTdGFyKG4oMTIpLHQpLHQuV0FMTEVUQ09OTkVDVD17aWQ6IndhbGxldGNvbm5lY3QiLG5hbWU6IldhbGxldENvbm5lY3QiLGxvZ286ci5kZWZhdWx0LHR5cGU6InFyY29kZSIsY2hlY2s6ImlzV2FsbGV0Q29ubmVjdCIscGFja2FnZTp7cmVxdWlyZWQ6W1siaW5mdXJhSWQiLCJycGMiXV19fSx0LlBPUlRJUz17aWQ6InBvcnRpcyIsbmFtZToiUG9ydGlzIixsb2dvOk0uZGVmYXVsdCx0eXBlOiJ3ZWIiLGNoZWNrOiJpc1BvcnRpcyIscGFja2FnZTp7cmVxdWlyZWQ6WyJpZCJdfX0sdC5GT1JUTUFUSUM9e2lkOiJmb3J0bWF0aWMiLG5hbWU6IkZvcnRtYXRpYyIsbG9nbzp1LmRlZmF1bHQsdHlwZToid2ViIixjaGVjazoiaXNGb3J0bWF0aWMiLHBhY2thZ2U6e3JlcXVpcmVkOlsia2V5Il19fSx0LlRPUlVTPXtpZDoidG9ydXMiLG5hbWU6IlRvcnVzIixsb2dvOmMuZGVmYXVsdCx0eXBlOiJ3ZWIiLGNoZWNrOiJpc1RvcnVzIn0sdC5WRU5MWT17aWQ6InZlbmx5IixuYW1lOiJWZW5seSIsbG9nbzpvLmRlZmF1bHQsdHlwZToid2ViIixjaGVjazoiaXNWZW5seSIscGFja2FnZTp7cmVxdWlyZWQ6WyJjbGllbnRJZCJdfX0sdC5BVVRIRVJFVU09e2lkOiJhdXRoZXJldW0iLG5hbWU6IkF1dGhlcmV1bSIsbG9nbzphLmRlZmF1bHQsdHlwZToid2ViIixjaGVjazoiaXNBdXRoZXJldW0ifSx0LkJVUk5FUkNPTk5FQ1Q9e2lkOiJidXJuZXJjb25uZWN0IixuYW1lOiJCdXJuZXIgQ29ubmVjdCIsbG9nbzpJLmRlZmF1bHQsdHlwZToid2ViIixjaGVjazoiaXNCdXJuZXJQcm92aWRlciJ9LHQuTUVXQ09OTkVDVD17aWQ6Im1ld2Nvbm5lY3QiLG5hbWU6Ik1FVyB3YWxsZXQiLGxvZ286bC5kZWZhdWx0LHR5cGU6InFyY29kZSIsY2hlY2s6ImlzTUVXY29ubmVjdCIscGFja2FnZTp7cmVxdWlyZWQ6W1siaW5mdXJhSWQiLCJycGMiXV19fSx0LkRDRU5UPXtpZDoiZGNlbnR3YWxsZXQiLG5hbWU6IkQnQ0VOVCIsbG9nbzpOLmRlZmF1bHQsdHlwZToiaGFyZHdhcmUiLGNoZWNrOiJpc0RjZW50V2FsbGV0IixwYWNrYWdlOntyZXF1aXJlZDpbInJwY1VybCJdfX0sdC5MRURHRVI9e2lkOiJsZWRnZXIiLG5hbWU6IkxlZGdlciIsbG9nbzpqLmRlZmF1bHQsdHlwZToiaGFyZHdhcmUiLGNoZWNrOiJpc0xlZGdlckNvbm5lY3QifSx0LkJJVFNLST17aWQ6ImJpdHNraSIsbmFtZToiQml0c2tpIixsb2dvOmcuZGVmYXVsdCx0eXBlOiJ3ZWIiLGNoZWNrOiJpc0JpdHNraSIscGFja2FnZTp7cmVxdWlyZWQ6WyJjbGllbnRJZCIsImNhbGxiYWNrVXJsIl19fSx0LkZSQU1FPXtpZDoiZnJhbWUiLG5hbWU6IkZyYW1lIixsb2dvOkEuZGVmYXVsdCx0eXBlOiJ3ZWIiLGNoZWNrOiJpc0ZyYW1lTmF0aXZlIn0sdC5CSU5BTkNFQ0hBSU5XQUxMRVQ9e2lkOiJiaW5hbmNlY2hhaW53YWxsZXQiLG5hbWU6IkJpbmFuY2UgQ2hhaW4iLGxvZ286RC5kZWZhdWx0LHR5cGU6ImluamVjdGVkIixjaGVjazoiaXNCaW5hbmNlQ2hhaW5XYWxsZXQifSx0LldBTExFVExJTks9e2lkOiJ3YWxsZXRsaW5rIixuYW1lOiJDb2luYmFzZSBXYWxsZXQiLGxvZ286ZC5kZWZhdWx0LHR5cGU6InFyY29kZSIsY2hlY2s6ImlzV2FsbGV0TGluayIscGFja2FnZTp7cmVxdWlyZWQ6W1siYXBwTmFtZSIsImluZnVyYUlkIiwicnBjIl1dfX0sdC5DT0lOQkFTRVdBTExFVD17aWQ6ImNvaW5iYXNld2FsbGV0IixuYW1lOiJDb2luYmFzZSIsbG9nbzpkLmRlZmF1bHQsdHlwZToiaW5qZWN0ZWQiLGNoZWNrOiJpc1dhbGxldExpbmsiLHBhY2thZ2U6e3JlcXVpcmVkOltbImFwcE5hbWUiLCJpbmZ1cmFJZCIsInJwYyJdXX19LHQuU0VRVUVOQ0U9e2lkOiJzZXF1ZW5jZSIsbmFtZToiU2VxdWVuY2UiLGxvZ286eS5kZWZhdWx0LHR5cGU6IndlYiIsY2hlY2s6ImlzU2VxdWVuY2VXZWIifSx0Lk9QRVJBPXtpZDoib3BlcmEiLG5hbWU6Ik9wZXJhIixsb2dvOnMuZGVmYXVsdCx0eXBlOiJpbmplY3RlZCIsY2hlY2s6ImlzT3BlcmEifSx0LldFQjNBVVRIPXtpZDoid2ViM2F1dGgiLG5hbWU6IldlYjNBdXRoIixsb2dvOlQuZGVmYXVsdCx0eXBlOiJpbmplY3RlZCIsY2hlY2s6ImlzV2ViM0F1dGgifSx0LkJJVEtFRVBXQUxMRVQ9e2lkOiJiaXRrZWVwIixuYW1lOiJCaXRrZWVwIFdhbGxldCIsbG9nbzp6LmRlZmF1bHQsdHlwZToiaW5qZWN0ZWQiLGNoZWNrOiJpc0JpdEtlZXAifSx0LlNUQVJaV0FMTEVUPXtpZDoic3Rhcnp3YWxsZXQiLG5hbWU6Ijk5U3RhcnoiLGxvZ286dy5kZWZhdWx0LHR5cGU6ImluamVjdGVkIixjaGVjazoiaXNTdGFyeldhbGxldCJ9fSxmdW5jdGlvbihlLHQpe2UuZXhwb3J0cz0iZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCb1pXbG5hSFE5SWpVeE1pSWdkbWxsZDBKdmVEMGlNQ0F3SURVeE1pQTFNVElpSUhkcFpIUm9QU0kxTVRJaUlIaHRiRzV6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXdMM04yWnlJZ2VHMXNibk02ZUd4cGJtczlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5MekU1T1RrdmVHeHBibXNpUGp4eVlXUnBZV3hIY21Ga2FXVnVkQ0JwWkQwaVlTSWdZM2c5SWpBbElpQmplVDBpTlRBbElpQnlQU0l4TURBbElqNDhjM1J2Y0NCdlptWnpaWFE5SWpBaUlITjBiM0F0WTI5c2IzSTlJaU0xWkRsa1pqWWlMejQ4YzNSdmNDQnZabVp6WlhROUlqRWlJSE4wYjNBdFkyOXNiM0k5SWlNd01EWm1abVlpTHo0OEwzSmhaR2xoYkVkeVlXUnBaVzUwUGp4bklHWnBiR3c5SW01dmJtVWlJR1pwYkd3dGNuVnNaVDBpWlhabGJtOWtaQ0krUEhCaGRHZ2daRDBpYlRJMU5pQXdZekUwTVM0ek9EUTRPVFlnTUNBeU5UWWdNVEUwTGpZeE5URXdOQ0F5TlRZZ01qVTJjeTB4TVRRdU5qRTFNVEEwSURJMU5pMHlOVFlnTWpVMkxUSTFOaTB4TVRRdU5qRTFNVEEwTFRJMU5pMHlOVFlnTVRFMExqWXhOVEV3TkMweU5UWWdNalUyTFRJMU5ub2lJR1pwYkd3OUluVnliQ2dqWVNraUx6NDhjR0YwYUNCa1BTSnROalF1TmpreE56VTFPQ0F6Tnk0M01EZzRNams0WXpVeExqVXpNamd3TnpJdE5UQXVNamM0TkRNNU55QXhNelV1TURnek9UazBNaTAxTUM0eU56ZzBNemszSURFNE5pNDJNVFkzT1RreUlEQnNOaTR5TURJd05UY2dOaTR3TlRFd09UQTJZekl1TlRjMk5qUWdNaTQxTVRNNU1qRTRJREl1TlRjMk5qUWdOaTQxT0RrM09UUTRJREFnT1M0eE1ETTNNVGMzYkMweU1TNHlNVFU1T1RnZ01qQXVOams1TlRjMU9XTXRNUzR5T0Rnek1qRWdNUzR5TlRZNU5qRTVMVE11TXpjM01TQXhMakkxTmprMk1Ua3ROQzQyTmpVME1qRWdNR3d0T0M0MU16UTNOall0T0M0ek1qY3dNakExWXkwek5TNDVOVEExTnpNdE16VXVNRGMxTkRrMk1pMDVOQzR5TXpjNU5qa3RNelV1TURjMU5EazJNaTB4TXpBdU1UZzROVFEwSURCc0xUa3VNVFF3TURJNE1pQTRMamt4TnpVMU1UbGpMVEV1TWpnNE16SXhOeUF4TGpJMU5qazJNRGt0TXk0ek56Y3hNREUySURFdU1qVTJPVFl3T1MwMExqWTJOVFF5TURnZ01Hd3RNakV1TWpFMU9UazNNeTB5TUM0Mk9UazFOelU1WXkweUxqVTNOalkwTURNdE1pNDFNVE01TWpJNUxUSXVOVGMyTmpRd015MDJMalU0T1RjNU5UZ2dNQzA1TGpFd016Y3hOemQ2YlRJek1DNDBPVE0wT0RVeUlEUXlMamd3T0RreE1UY2dNVGd1T0RneU1qYzVJREU0TGpReU1qY3lOakpqTWk0MU56WTJNamNnTWk0MU1UTTVNVEF6SURJdU5UYzJOalF5SURZdU5UZzVOelU1TXk0d01EQXdNeklnT1M0eE1ETTJPRFl6YkMwNE5TNHhOREUwT1RnZ09ETXVNRGN3TXpVNFl5MHlMalUzTmpZeU15QXlMalV4TXprME1TMDJMamMxTkRFNE1pQXlMalV4TXprMk9TMDVMak16TURnMExqQXdNREEyTmkwdU1EQXdNREV0TGpBd01EQXhMUzR3TURBd01qTXRMakF3TURBeU15MHVNREF3TURNekxTNHdNREF3TXpSc0xUWXdMalF5T0RJMU5pMDFPQzQ1TlRjME5URmpMUzQyTkRReE5pMHVOakk0TkRneExURXVOamc0TlRVdExqWXlPRFE0TVMweUxqTXpNamN4SURBdExqQXdNREF3TkM0d01EQXdNRFF0TGpBd01EQXdPQzR3TURBd01EY3RMakF3TURBeE1pNHdNREF3TVRGc0xUWXdMalF5TmprMk9ETWdOVGd1T1RVM05EQTRZeTB5TGpVM05qWXhOREVnTWk0MU1UTTVORGN0Tmk0M05UUXhOelEySURJdU5URXpPVGt0T1M0ek16QTROREE0TGpBd01EQTVNaTB1TURBd01ERTFNUzB1TURBd01ERTBMUzR3TURBd016QTVMUzR3TURBd01qa3RMakF3TURBME5qY3RMakF3TURBME5td3RPRFV1TVRRek9EWTNOelF0T0RNdU1EY3hORFl6WXkweUxqVTNOall6T1RJNExUSXVOVEV6T1RJeExUSXVOVGMyTmpNNU1qZ3ROaTQxT0RrM09UVWdNQzA1TGpFd016Y3hOak5zTVRndU9EZ3lNekV5TmpRdE1UZ3VOREl5TmprMU5XTXlMalUzTmpZek9UTXRNaTQxTVRNNU1qSXlJRFl1TnpVME1UazVNeTB5TGpVeE16a3lNaklnT1M0ek16QTRNemszSURCc05qQXVOREk1TVRNME55QTFPQzQ1TlRneU56VTRZeTQyTkRReE5qQTRMall5T0RRNElERXVOamc0TlRRNU5TNDJNamcwT0NBeUxqTXpNamN4TURNZ01DQXVNREF3TURBNU5TMHVNREF3TURBNUxqQXdNREF4T0RJdExqQXdNREF4T0M0d01EQXdNamMzTFM0d01EQXdNalZzTmpBdU5ESTJNVEEyTlMwMU9DNDVOVGd5TlRBNFl6SXVOVGMyTlRneExUSXVOVEV6T1RnZ05pNDNOVFF4TkRJdE1pNDFNVFF3TnpReklEa3VNek13T0RRdExqQXdNREl4TURNdU1EQXdNRE0zTGpBd01EQXpOVFF1TURBd01EY3lMakF3TURBM01Ea3VNREF3TVRBM0xqQXdNREV3TmpOc05qQXVOREk1TURVMklEVTRMamsxT0RNMU5EaGpMalkwTkRFMU9TNDJNamcwTnprZ01TNDJPRGcxTkRrdU5qSTRORGM1SURJdU16TXlOekE1SURCc05qQXVOREk0TURjNUxUVTRMamsxTnpFNU1qVmpNaTQxTnpZMk5DMHlMalV4TXpreU16RWdOaTQzTlRReE9Ua3RNaTQxTVRNNU1qTXhJRGt1TXpNd09ETTVJREI2SWlCbWFXeHNQU0lqWm1abUlpQm1hV3hzTFhKMWJHVTlJbTV2Ym5wbGNtOGlJSFJ5WVc1elptOXliVDBpZEhKaGJuTnNZWFJsS0RrNElERTJNQ2tpTHo0OEwyYytQQzl6ZG1jKyJ9LGZ1bmN0aW9uKGUsdCl7ZS5leHBvcnRzPSJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUIyYVdWM1FtOTRQU0l3SURBZ016QXhMak00SURRMU5TNDROeUlnZUcxc2JuTTlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5Mekl3TURBdmMzWm5JajQ4Y0dGMGFDQmtQU0p0TkM0ME5TQXlOakl1TVRFZ01UQXVPVE10TkM0M05TQXhNelV1TXpFdE5UZ3VPRElnTVRRMkxqSTBJRFl6TGpVM0xUVTBMamsxSURFeE15NDBNeTB4TXpRdU16TWdNVGt0TVRBeExURXdPWG9pSUdacGJHdzlJaU14TXpNME5EUWlMejQ4Y0dGMGFDQmtQU0p0TWpZMkxqVXhJREU1TWk0eE5tRXhOVEF1TkRNZ01UVXdMalF6SURBZ01DQXdJQzA1TlM0NE1pMDFNM0V0TVM0eUxTNHhOeTB5TGpRdExqTmhNVFV5TGpNMklERTFNaTR6TmlBd0lEQWdNQ0F0TXpVdU1pQXdjUzB4TGpJdU1UUXRNaTQwTGpOaE1UVXdMalF6SURFMU1DNDBNeUF3SURBZ01DQXRPVFV1T0RJZ05UTnNMVFl1TURnZ01UQXVNRGd0TVRBdU1UTWdNVFl1TnpZdE55NDBNU0F4TWk0ek1XTXRMakUwTGpNekxTNHlPQzQyTnkwdU5ERWdNV3d0TGpBNUxqSXpJREUyTGpNMUlEa3VOamNnTVRBekxqWWdOakV1TWpnZ01qQWdNVEV1T0ROMkxURTBOaTQwTjJ3dE1qQWdPUzR3T0hZdE1qRXVPVE5zTWpBdE9TNHdPU0F5TUNBNUxqQTVJREV3TVM0NUlEUTJMakk0ZWlJZ1ptbHNiRDBpSTJNME1qTTNNQ0l2UGp4d1lYUm9JR1E5SW0wek1ERXVNemdnTWprNExqVTJZekFnTkRndU56Z3RNak11TVRnZ09UUXVOREl0TlRrdU1USWdNVEl6TGpnMFlURTBPUzQwTlNBeE5Ea3VORFVnTUNBd0lERWdMVFEzTGpZMElESTJMak0zSURFek9TNDFNU0F4TXprdU5URWdNQ0F3SURFZ0xUUXpMamt6SURjdU1XTXRPRE11TWpJZ01DMHhOVEF1TmprdE56UXVNRGt0TVRVd0xqWTVMVEUxTnk0ek1XRXhOVEF1TkRrZ01UVXdMalE1SURBZ01DQXhJRFF1TkRVdE16WXVORFZzTVRRMkxqSTBJRGcyTGpVeElERTBOaTR5TkMwNE5pNDFNV0V4TlRBdU5Ea2dNVFV3TGpRNUlEQWdNQ0F4SURRdU5EVWdNell1TkRWNklpQm1hV3hzUFNJak1XTTBaRFppSWk4K1BIQmhkR2dnWkQwaWJURXpNeTR3T1NBeE16Z3VPRGtnTVRjdU5pQTNMams1TFRJd0lEa3VNRGwyTFRFNExqRTNlaUl2UGp4d1lYUm9JR1E5SW0weE16QXVOamtnTVRjM0xqa3pJREl3TFRrdU1EaDJNVFEyTGpVemJDMHlNQzB4TVM0NE0zb2lMejQ4Y0dGMGFDQmtQU0p0TVRVd0xqWTVJREUyT0M0NE5YWXhORFl1TlROc01UUXdMakV6TFRneUxqZzVlaUlnWm1sc2JEMGlJekZrTkRJMU9TSXZQanh3WVhSb0lHUTlJbTB4TlRBdU5qa2dNSFl4TmpndU9EVnNNVFF3TGpFeklEWXpMalkwZWlJZ1ptbHNiRDBpSXpSaU5tSTVZU0l2UGp4d1lYUm9JR1E5SW0weE5UQXVOamtnTVRZNExqZzFkakUwTmk0MU0yd3RNakF0TVRFdU9ETXRNVEU1TGprMUxUY3hMUzR4T0MwdU1URXVNamN0TGpFeVl5NHhNeTB1TXpNdU1qY3RMalkzTGpReExURnNNVGN1TlRNdE1qa3VNRGtnTVRBeExqa3lMVFEyTGpJemRqSXllaUlnWm1sc2JEMGlJek0wTXpVek5TSXZQanh3WVhSb0lHUTlJbTB4TlRBdU5qa2dNVFk0TGpnMWRqRTBOaTQxTTJ3dE1qQXRNVEV1T0RNdE1URTVMamsxTFRjd0xqazFMUzR4T0MwdU1URXVNamN0TGpFeUlERXhPUzQ0TmkwMU5DNDBOSG9pSUdacGJHdzlJaU16WlRVMU56Z2lMejQ4Y0dGMGFDQmtQU0p0TVRVd0xqWTVJREIyTVRZNExqZzFiQzB4TkRBdU1UTWdOak11TmpSNklpQm1hV3hzUFNJak5tUmlNbVE0SWk4K1BHY2dabWxzYkQwaUl6TXpOV1k0WVNJK1BIQmhkR2dnWkQwaWJUazBJRFEwTXk0NE5XTXlMakE1TGpreUlEUXVNakVnTVM0M09TQTJMak0wSURJdU5qRnhMVE11TWpZdE1TNHlNeTAyTGpNMExUSXVOakY2SWk4K1BIQmhkR2dnWkQwaWJURXdNQzR5T1NBME5EWXVORFpqTWk0eE5DNDRNaUEwTGpJNUlERXVOVGtnTmk0ME55QXlMak14Y1MwekxqSTNMVEV1TURjdE5pNDBOeTB5TGpNeGVpSXZQanh3WVhSb0lHUTlJbTB4TVRJdU16TWdORFV3TGpRNVl6RXVOall1TkRjZ015NHpNeTQ1TWlBMUlERXVNek54TFRJdU5URXRMall5TFRVdE1TNHpNM29pTHo0OEwyYytQSEJoZEdnZ1pEMGliVFF1TkRVZ01qWXlMakV4SURFME5pNHlOQ0E0Tmk0MU1XRXhOamN1TkRnZ01UWTNMalE0SURBZ01DQXhJQzB4TUM0ME55QXpPQzR6T0dNdE1URXVOeUF5T0M0eU9DMHpOUzR6TkNBMU9DNHhPUzA0TVM0d09DQXpOUzQwTkMwek5TNDVOaTB5T1M0ME5DMDFPUzR4TkMwM05TNHhMVFU1TGpFMExURXlNeTQ0T0dFeE5UQXVORGtnTVRVd0xqUTVJREFnTUNBeElEUXVORFV0TXpZdU5EVjZJaUJtYVd4c1BTSWpObVJpTW1RNElpOCtQSEJoZEdnZ1pEMGliVEkwTWk0eU5DQTBNakl1TkRFdExqTTJMakk1WXkwdU56WXVOakl0TVM0MU1pQXhMakl6TFRJdU1qa2dNUzQ0TTJ3dExqSXVNVFp4TFRFdU1qVWdNUzB5TGpVeUlERXVPVEpqTFM0NU1TNDJPQzB4TGpneklERXVNell0TWk0M05pQXljeTB4TGpnMklERXVNekV0TWk0NElERXVPVFV0TVM0Mk5pQXhMakV5TFRJdU5Ea2dNUzQyTm13dExqUTJMak5qTFM0NE9DNDFOeTB4TGpjMklERXVNVE10TWk0Mk5DQXhMalkzWVRJdU5qTWdNaTQyTXlBd0lEQWdNU0F0TGpNekxqSmpMUzQ1TVM0MU55MHhMamd5SURFdU1USXRNaTQzTkNBeExqWTFjeTB5SURFdU1UVXRNeUF4TGpjdE1pQXhMakE0TFRNZ01TNDJiQzB1TVRFdU1EWmpMVEVnTGpVeUxUSWdNUzB6SURFdU5USnpMVElnTVMwekxqQTRJREV1TkRrdE1pNHdPQ0F4TFRNdU1USWdNUzQwTW1NdE1pNHdPUzQ1TWkwMExqSXhJREV1TnprdE5pNHpOQ0F5TGpZeGN5MDBMakk1SURFdU5Ua3ROaTQwTnlBeUxqTXhZeTB1T0RjdU1qa3RNUzQzTkM0MU55MHlMall5TGpnMGN5MHlJQzQyTFRJdU9UVXVPRGhqTFRFdU5qWXVORGN0TXk0ek15NDVNaTAxSURFdU16TXRMall6TGpFMkxURXVNamN1TXpFdE1TNDVNUzQwTld3dE1TNHdOeTR5TldNdExqZzVMakl0TVM0M09DNHpPUzB5TGpZNExqVTNjeTB4TGpZMExqTXpMVEl1TkRjdU5EZ3RNUzQxTVM0eU9DMHlMakkzTGpRdE1TNDJPQzR5TnkweUxqVXlMak01WXkwdU5ERXVNRGN0TGpneUxqRXpMVEV1TWpRdU1UaHNMVEV1T0RrdU1qVXRNUzR3TlM0eE0yTXRMalk1TGpBNUxURXVNemt1TVRZdE1pNHdPUzR5TXkwdU9EWXVNRGt0TVM0M01TNHhOeTB5TGpVM0xqSTBMUzQyTnk0d05TMHhMak0wTGpFeExUSWdMakUxY3kweExqRTJMakE0TFRFdU56VXVNV2d0TGpBNFl5MHVOamdnTUMweExqTTJMakE0TFRJZ0xqRXRMamswSURBdE1TNDRPUzR3TnkweUxqZzBMakE1Y3kweExqa2dNQzB5TGpnMklEQXRNUzQ1TVNBd0xUSXVPRFlnTUMweExqa2dNQzB5TGpnMExTNHdPV010TGpZNUlEQXRNUzR6TnkwdU1EWXRNaTR3TlMwdU1XZ3RMakE0WXkwdU5Ua2dNQzB4TGpFM0xTNHdOaTB4TGpjMUxTNHhjeTB4TGpNMExTNHhMVEl0TGpFMVl5MHVPRFl0TGpBM0xURXVOekV0TGpFMUxUSXVOVGN0TGpJMExTNDNMUzR3TnkweExqUXRMakUwTFRJdU1Ea3RMakl6YkMweExTNHhNMk10TGpZekxTNHdOeTB4TGpJMkxTNHhOaTB4TGpnNUxTNHlOUzB1TkRJZ01DMHVPRE10TGpFeExURXVNalF0TGpFNGNTMHhMakkzTFM0eE9DMHlMalV5TFM0ek9XTXRMamMyTFM0eE1pMHhMalV5TFM0eU5pMHlMakkzTFM0MGN5MHhMalkxTFM0ek1TMHlMalEzTFM0ME9DMHhMamM1TFM0ek55MHlMalk0TFM0MU4yd3RNUzR3TnkwdU1qVmpMUzQyTkMwdU1UUXRNUzR5T0MwdU1qa3RNUzQ1TVMwdU5EVXRNUzQyT0MwdU5ERXRNeTR6TlMwdU9EWXROUzB4TGpNemJDMHpMUzQ0T0dNdExqZzRMUzR5TnkweExqYzFMUzQxTlMweUxqWXlMUzQ0TkMweUxqRTRMUzQzTWkwMExqTXpMVEV1TkRrdE5pNDBOeTB5TGpNeGN5MDBMakk1TFRFdU5qY3ROaTR5T1MweUxqVTVZeTB4TFM0ME5pMHlMakE0TFM0NU5DMHpMakV5TFRFdU5ESnpMVEl1TURZdE1TMHpMakE0TFRFdU5Ea3RNaTB4TFRNdE1TNDFNbXd0TGpFeExTNHdObU10TVMwdU5USXRNaTB4TGpBMkxUTXRNUzQyY3kweUxURXVNVEl0TXkweExqY3RNUzQzT1MweExqQTJMVEl1TmprdE1TNDJOV3d0TGpNekxTNHlZeTB1T0RndExqVTBMVEV1TnpZdE1TNHhMVEl1TmpRdE1TNDJOMnd0TGpRMkxTNHpZeTB1T0RNdExqVTBMVEV1TmpjdE1TNHhMVEl1TkRrdE1TNDJObk10TVM0NE9DMHhMakk1TFRJdU9DMHhMamsxTFRFdU9EVXRNUzR6TkMweUxqYzJMVEl0TVM0Mk9TMHhMakkzTFRJdU5USXRNUzQ1TW13dExqSXRMakUyWXkwdU56Y3RMall0TVM0MU15MHhMakl4TFRJdU1qa3RNUzQ0TTJ3dExqTTJMUzR5T1dNME5TNDNOQ0F5TWk0M05TQTJPUzR6T0MwM0xqRTJJRGd4TGpBNExUTTFMalEwWVRFMk55NDBPQ0F4TmpjdU5EZ2dNQ0F3SURBZ01UQXVORGN0TXpndU16VWdNVFkzTGpRM0lERTJOeTQwTnlBd0lEQWdNQ0F4TUM0ME5pQXpPQzR6Tm1NeE1TNDNJREk0TGpJMUlETTFMak0wSURVNExqRTJJRGd4TGpBNElETTFMalF4ZWlJZ1ptbHNiRDBpSXpVeU9XSmlZU0l2UGp4d1lYUm9JR1E5SW0weE9EUWdORFV4TGpneVl6RXVOamd0TGpReElETXVNelV0TGpnMklEVXRNUzR6TTNFdE1pNDBOQzQzTWkwMUlERXVNek42SWlCbWFXeHNQU0lqTXpNMVpqaGhJaTgrUEhCaGRHZ2daRDBpYlRFNU5DNDJNaUEwTkRndU56ZGpNaTR4T0MwdU56SWdOQzR6TXkweExqUTVJRFl1TkRjdE1pNHpNWEV0TXk0eE9TQXhMakkwTFRZdU5EY2dNaTR6TVhvaUlHWnBiR3c5SWlNek16Vm1PR0VpTHo0OGNHRjBhQ0JrUFNKdE1qQXhMakE1SURRME5pNDBObU15TGpFekxTNDRNaUEwTGpJMUxURXVOamtnTmk0ek5DMHlMall4Y1MwekxqRXpJREV1TXpndE5pNHpOQ0F5TGpZeGVpSWdabWxzYkQwaUl6TXpOV1k0WVNJdlBqeHdZWFJvSUdROUltMHpNREV1TXpnZ01qazRMalUyWXpBZ05EZ3VOemd0TWpNdU1Ua2dPVFF1TkRNdE5Ua3VNVFFnTVRJekxqZzFMVFExTGpjMElESXlMamMxTFRZNUxqTTRMVGN1TVRZdE9ERXVNRGd0TXpVdU5EUmhNVFkzTGpRM0lERTJOeTQwTnlBd0lEQWdNU0F0TVRBdU5EY3RNemd1TXpWc01UUTJMakkwTFRnMkxqVXhZVEUxTUM0ME9TQXhOVEF1TkRrZ01DQXdJREVnTkM0ME5TQXpOaTQwTlhvaUlHWnBiR3c5SWlNMFlqWmlPV0VpTHo0OEwzTjJaejQ9In0sZnVuY3Rpb24oZSx0KXtlLmV4cG9ydHM9ImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5Qm1hV3hzUFNKdWIyNWxJaUJvWldsbmFIUTlJall6SWlCMmFXVjNRbTk0UFNJd0lEQWdOak1nTmpNaUlIZHBaSFJvUFNJMk15SWdlRzFzYm5NOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6SXdNREF2YzNabklqNDhjR0YwYUNCamJHbHdMWEoxYkdVOUltVjJaVzV2WkdRaUlHUTlJbTB6TVM0Mk16a3pMams0TkRNM05XZ3hOUzR6TWpjMElERTFMak15TnpWMk1UVXVNams1TURJMWFDMHhOUzR6TWpjMUxURTFMak15TnpRdE1UVXVNekkzTlhZeE5TNHlPVGc1TGprNE1TQXhOQzR5TWpnNUxqQTRPVEVnTVRVdU1qQTVPV2d0TVRVdU16STNOREkxZGkweE5TNHlNRGs1TFM0d09Ea3hMVEUwTGpJeU9Ea3RMams0TVMweE5TNHlPVGc1TFRFMUxqSTVPVEF5TldneE5TNHpNamMwTWpWNmJURTFMak15TnpRZ05EVXVPREE0TXpJMWFDMHhOUzR5TXpneGRpMHhOUzR5TURrNGFETXdMalUxTmpaMk1UVXVOelEwT1dNd0lETXVPVEUwTFRFdU5UVTNNU0EzTGpZMk9DMDBMak15T1RFZ01UQXVORE0yTlhNdE5pNDFNekU1SURRdU16STFMVEV3TGpRMU16TWdOQzR6TWpjMGFDMHVOVE0yTVhvaUlHWnBiR3c5SWlNMk1UZGlabVlpSUdacGJHd3RjblZzWlQwaVpYWmxibTlrWkNJdlBqd3ZjM1puUGc9PSJ9LGZ1bmN0aW9uKGUsdCl7ZS5leHBvcnRzPSJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUIzYVdSMGFEMGlOVFl3SWlCb1pXbG5hSFE5SWpVeE55SWdkbWxsZDBKdmVEMGlNQ0F3SURVMk1DQTFNVGNpSUdacGJHdzlJbTV2Ym1VaUlIaHRiRzV6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXdMM04yWnlJK0NqeHdZWFJvSUdROUlrMDFOVFF1TlRVMUlERTJPUzR5TnpaTU5EZzFMamcyTnlBeE9UVXVNelkxUXpRNE1pNDVOemtnTVRrMkxqUXhOU0EwT0RBdU1UYzVJREU1TXk0Mk1UUWdORGd4TGpRd05DQXhPVEF1TnpJMVREVTFOeTQ1TmpnZ05DNDROakE0TTBNMU5Ua3VNVEExSURJdU1EVTVNeUExTlRZdU16a3pJQzB3TGpneU9UYzNPQ0ExTlRNdU5Ua3pJREF1TWpJd056azFURFF3T0M0d056Z2dOVEV1TVRjek5rTTBNRFV1TWpjNElEVXlMakV6TmpZZ05EQXpMakF3TXlBMU5DNHpNalV6SURRd01TNDROallnTlRjdU1USTJPRXd6TURNdU1qVXlJRE13Tmk0d01qVkRNekF5TGpBeU55QXpNRGt1TVRjM0lETXdOUzR3T0RrZ016RXlMak15T1NBek1EZ3VNak01SURNeE1TNHhPVXd6TmprdU9EUWdNamc0TGpZd00wTXpOek11TWpVeklESTROeTR6TnpjZ016YzJMalF3TXlBeU9URXVNRFUwSURNM05DNDFOalVnTWprMExqSTVORXd5T0RRdU1EZzVJRFEwTnk0NU5FTXlPREl1TVRZMElEUTFNUzR5TmpjZ01qYzNMakkyTkNBME5URXVNalkzSURJM05TNHpNemtnTkRRM0xqazBUREU0TkM0NE5qTWdNamswTGpJd05rTXhPRE11TURJMUlESTVNUzR3TlRRZ01UZzJMakE0T0NBeU9EY3VNamtnTVRnNUxqVTRPQ0F5T0RndU5URTJUREkxTVM0eE9Ea2dNekV4TGpFd00wTXlOVFF1TXpNNUlETXhNaTR5TkRFZ01qVTNMalF3TVNBek1Ea3VNRGc1SURJMU5pNHhOellnTXpBMUxqa3pPRXd4TlRjdU5EYzFJRFUzTGpFeU5qaERNVFUyTGpNek55QTFOQzR6TWpVeklERTFOQzR4TlNBMU1pNHlNalF5SURFMU1TNHlOaklnTlRFdU1UY3pOa3cxTGpreU1qWTNJREF1TWpJd056azFRek11TURNMU1UTWdMVEF1TnpReU1qTWdNQzQwTVRBd09USWdNaTR3TlRreklERXVOVFEzTmpFZ05DNDROakE0TTB3M09DNHdNak0zSURFNU1DNDNNalZETnprdU1UWXhNaUF4T1RNdU5USTJJRGMyTGpNMk1USWdNVGsyTGpReE5TQTNNeTQxTmpFeElERTVOUzR6TmpWTU5TNHpNVEF4TmlBeE5qa3VNamMyUXpFdU9ERXdNVEVnTVRZM0xqazJNaUF0TVM0ek16azVNeUF4TnpFdU56STNJREF1TlRnMU1EazFJREUzTkM0NU5qWk1NakF6TGpjMk15QTFNVEV1TlVNeU1EVXVOemMxSURVeE5DNDRNallnTWpBNUxqTTJNeUExTVRZdU9EUWdNakV6TGpNd01TQTFNVFl1T0RSSU16UTJMalEzTjBNek5UQXVNekk0SURVeE5pNDROQ0F6TlRRdU1EQXpJRFV4TkM0NE1qWWdNelUyTGpBeE5TQTFNVEV1TlV3MU5Ua3VOVFF6SURFM05DNDVOalpETlRZeExqSXdOU0F4TnpFdU56STNJRFUxT0M0d05UVWdNVFkzTGprMk1pQTFOVFF1TlRVMUlERTJPUzR5TnpaYUlpQm1hV3hzUFNJak56a3lOMFpHSWk4K0Nqd3ZjM1puUGdvPSJ9LGZ1bmN0aW9uKGUsdCl7ZS5leHBvcnRzPSJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUIzYVdSMGFEMGlNalUzSWlCb1pXbG5hSFE5SWpJM055SWdkbWxsZDBKdmVEMGlNQ0F3SURJMU55QXlOemNpSUdacGJHdzlJbTV2Ym1VaUlIaHRiRzV6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXdMM04yWnlJK0NpQWdJQ0E4Y21WamRDQjNhV1IwYUQwaU1UVXpMamc0T1NJZ2FHVnBaMmgwUFNJNE1pNHdOelF4SWlCbWFXeHNQU0lqTURNMk5FWkdJaUF2UGdvZ0lDQWdQSEpsWTNRZ2VEMGlOekV1T0RFek5TSWdkMmxrZEdnOUlqZ3lMakEzTkRFaUlHaGxhV2RvZEQwaU1qYzNJaUJtYVd4c1BTSWpNRE0yTkVaR0lpQXZQZ29nSUNBZ1BIQmhkR2dnWkQwaVRUSXhOUzQwTkRNZ09ESXVNRGMwTVVNeU16Z3VNVEEzSURneUxqQTNOREVnTWpVMkxqUTRJRFl6TGpjd01USWdNalUyTGpRNElEUXhMakF6TjBNeU5UWXVORGdnTVRndU16Y3lPU0F5TXpndU1UQTNJREFnTWpFMUxqUTBNeUF3UXpFNU1pNDNOemtnTUNBeE56UXVOREEySURFNExqTTNNamtnTVRjMExqUXdOaUEwTVM0d016ZERNVGMwTGpRd05pQTJNeTQzTURFeUlERTVNaTQzTnprZ09ESXVNRGMwTVNBeU1UVXVORFF6SURneUxqQTNOREZhSWlCbWFXeHNQU0lqTURNMk5FWkdJaUF2UGdvOEwzTjJaejQ9In0sZnVuY3Rpb24oZSx0KXtlLmV4cG9ydHM9ImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEQ5NGJXd2dkbVZ5YzJsdmJqMGlNUzR3SWlCbGJtTnZaR2x1WnowaVZWUkdMVGdpUHo0S1BITjJaeUIzYVdSMGFEMGlNemd5Y0hnaUlHaGxhV2RvZEQwaU5EY3ljSGdpSUhacFpYZENiM2c5SWpBZ01DQXpPRElnTkRjeUlpQjJaWEp6YVc5dVBTSXhMakVpSUhodGJHNXpQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh5TURBd0wzTjJaeUlnZUcxc2JuTTZlR3hwYm1zOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6RTVPVGt2ZUd4cGJtc2lQZ29nSUNBZ1BDRXRMU0JIWlc1bGNtRjBiM0k2SUZOclpYUmphQ0ExTWk0MklDZzJOelE1TVNrZ0xTQm9kSFJ3T2k4dmQzZDNMbUp2YUdWdGFXRnVZMjlrYVc1bkxtTnZiUzl6YTJWMFkyZ2dMUzArQ2lBZ0lDQThkR2wwYkdVK1lYVjBhR1Z5WlhWdFBDOTBhWFJzWlQ0S0lDQWdJRHhrWlhOalBrTnlaV0YwWldRZ2QybDBhQ0JUYTJWMFkyZ3VQQzlrWlhOalBnb2dJQ0FnUEdjZ2FXUTlJbEJoWjJVdE1TSWdjM1J5YjJ0bFBTSnViMjVsSWlCemRISnZhMlV0ZDJsa2RHZzlJakVpSUdacGJHdzlJbTV2Ym1VaUlHWnBiR3d0Y25Wc1pUMGlaWFpsYm05a1pDSStDaUFnSUNBZ0lDQWdQR2NnYVdROUltRjFkR2hsY21WMWJTSWdabWxzYkQwaUkwWkdORU15UmlJK0NpQWdJQ0FnSUNBZ0lDQWdJRHhuSUdsa1BTSkhjbTkxY0NJZ2RISmhibk5tYjNKdFBTSjBjbUZ1YzJ4aGRHVW9NVGt3TGprMU1EQXdNQ3dnTWpNMUxqa3dNREF3TUNrZ2MyTmhiR1VvTFRFc0lERXBJSEp2ZEdGMFpTZ3RNVGd3TGpBd01EQXdNQ2tnZEhKaGJuTnNZWFJsS0MweE9UQXVPVFV3TURBd0xDQXRNak0xTGprd01EQXdNQ2tnZEhKaGJuTnNZWFJsS0Mwd0xqQXdNREF3TUN3Z01DNHhNREF3TURBcElqNEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEeHdZWFJvSUdROUlrMDRNQ3cwTlRRdU1TQkROVEFzTkRRMExqVWdNVGt1T0N3ME16UXVPU0F4TWk0M0xEUXpNaTQzSUV3d0xEUXlPQzQySUV3d0xETTBNQzQwSUVNd0xESTROeTQySURBdU5Dd3lORGN1T0NBeExESTBNUzR5SUVNMUxqUXNNVGsxSURJMUxqUXNNVFV4TGpJZ05UZ3VPQ3d4TVRRdU9DQkROall1TkN3eE1EWXVOU0F4T0Rjc01TNDBJREU1TUM0MExEQXVNU0JETVRreExqZ3NMVEF1TkNBeU9UY3VPQ3c1TUNBek1UVXVNaXd4TURZdU5pQkRNelExTGpRc01UTTFMak1nTXpZNUxERTNOeTR6SURNM055NDBMREl4Tnk0MUlFTXpPREV1T0N3eU16Z3VOeUF6T0RJdU1Td3lORFl1TmlBek9ERXVPQ3d6TkRBdU5pQk1Nemd4TGpVc05ESTVJRXd6TVRNdU5pdzBOVEF1TkNCRE1qYzJMak1zTkRZeUxqRWdNalExTGpZc05EY3hMallnTWpRMUxqUXNORGN4TGpVZ1F6STBOUzR6TERRM01TNHpJREkxTUM0NUxEUTJNQzR5SURJMU9DdzBORFl1TnlCTU1qY3dMamtzTkRJeUxqSWdUREk1TUM0eUxEUXhOaUJETXpBd0xqZ3NOREV5TGpZZ016RTJMamdzTkRBM0xqVWdNekkxTGpnc05EQTBMamNnVERNME1pNHhMRE01T1M0MklFd3pOREV1Tnl3ek1UZ3VOQ0JETXpReExqUXNNalF3TGpRZ016UXhMak1zTWpNMkxqZ2dNek01TGpNc01qSTNMamNnUXpNek1TNDNMREU1TXk0MElETXhOaXd4TmpRdU15QXlPVEV1T1N3eE16a3VOeUJETWpnM0xqTXNNVE0xSURJMk15NDVMREV4TkM0eklESTBNQ3c1TXk0NElFTXlNVFl1TVN3M015NHlJREU1TlM0ekxEVTFMak1nTVRrekxqZ3NOVE11T1NCTU1Ua3hMaklzTlRFdU5TQk1NVFExTGpNc09URWdRemc1TGpJc01UTTVMalFnT0RBdU9Dd3hORGN1TmlBMk55NDBMREUyT0M0eUlFTTFOeTR4TERFNE5DNHhJRFE1TGpVc01qQXhMaklnTkRRdU9Td3lNVGd1T1NCRE5EQXVOQ3d5TXpZdU9TQTBNQ3d5TkRNdU5pQTBNQ3d6TWpNdU9DQk1OREFzTXprNUxqVWdURFUwTGpNc05EQTBJRU0yTWk0eExEUXdOaTQxSURjNExqRXNOREV4TGpZZ09Ea3VPQ3cwTVRVdU15QkRNVEF4TGpRc05ERTVJREV4TVN3ME1qSXVOQ0F4TVRFc05ESXlMamNnUXpFeE1TdzBNak1nTVRFMkxqWXNORE0wSURFeU15NDFMRFEwTnk0eElFTXhNekF1TkN3ME5qQXVNeUF4TXpZc05EY3hMaklnTVRNMkxEUTNNUzQwSUVNeE16WXNORGN5SURFek5DNDRMRFEzTVM0MklEZ3dMRFExTkM0eElGb2lJR2xrUFNKUVlYUm9JajQ4TDNCaGRHZytDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThjR0YwYUNCa1BTSk5NVGc0TGpRc05EWTRMalVnUXpFNE55NDFMRFEyTmk0M0lERTJNaTR6TERReE9DNDJJREV6TWk0MUxETTJNUzQzSUV3M09DNHpMREkxT0M0eUlFdzNPUzR4TERJME9TNDRJRU00TUM0NUxESXpNaTQySURnM0xqTXNNakUwTGpRZ09UY3VOeXd4T1RjdU9TQkRNVEF4TGpRc01Ua3hMamtnTVRBeUxqVXNNVGt3TGpnZ01UQXpMalVzTVRreExqa2dRekV3TkM0eExERTVNaTQySURFeU15NDVMREl6TUNBeE5EY3VOU3d5TnpVZ1F6RTNNU3d6TVRrdU9TQXhPVEF1TlN3ek5UWXVOeUF4T1RBdU9Td3pOVFl1TnlCRE1Ua3hMaklzTXpVMkxqY2dNakV4TERNeU1DNHpJREl6TkM0NExESTNOUzQ1SUVNeU5UZ3VOaXd5TXpFdU5TQXlOemd1TlN3eE9UUXVOQ0F5TnprdU1Td3hPVE11TkNCRE1qZ3dMakVzTVRreExqY2dNamd3TGpNc01Ua3hMamdnTWpneExqa3NNVGt6TGprZ1F6STVNaTR5TERJd055NDBJRE13TUM0M0xESXlPUzQzSURNd015NHhMREkwT1M0MElFd3pNRFF1TXl3eU5Ua3VOQ0JNTWpRM0xqVXNNelkxTGpNZ1F6SXhOaTR6TERReU15NDFJREU1TUM0MkxEUTNNUzQwSURFNU1DNDBMRFEzTVM0MUlFTXhPVEF1TXl3ME56RXVOeUF4T0RrdU5DdzBOekF1TkNBeE9EZ3VOQ3cwTmpndU5TQmFJaUJwWkQwaVVHRjBhQ0krUEM5d1lYUm9QZ29nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQSEJoZEdnZ1pEMGlUVEUyTXl3eU1UTXVPQ0JNTVRNMUxqVXNNVFU0TGprZ1RERTFNU3d4TkRVdU5DQkRNVFU1TGpVc01UTTRJREUzTWl3eE1qY3VNeUF4TnpndU55d3hNakV1TnlCTU1Ua3hMREV4TVM0MUlFd3hPVE11Tnl3eE1UTXVOeUJETVRrMUxqTXNNVEUwTGprZ01qQTNMallzTVRJMUxqWWdNakl4TGpFc01UTTNMalVnVERJME5TNDRMREUxT1M0eElFd3lNVGd1TkN3eU1UTXVPU0JETWpBekxqTXNNalEwSURFNU1DNDVMREkyT0M0M0lERTVNQzQzTERJMk9DNDNJRU14T1RBdU5pd3lOamd1TnlBeE56Z3VNU3d5TkRRZ01UWXpMREl4TXk0NElGb2lJR2xrUFNKUVlYUm9JajQ4TDNCaGRHZytDaUFnSUNBZ0lDQWdJQ0FnSUR3dlp6NEtJQ0FnSUNBZ0lDQThMMmMrQ2lBZ0lDQThMMmMrQ2p3dmMzWm5QZz09In0sZnVuY3Rpb24oZSx0KXtlLmV4cG9ydHM9ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBT0FBQUFFb0NBTUFBQUIyUHcyK0FBQUM2MUJNVkVVQUFBRDFmUXJWTlJQeFdBN3dVUS8yaEFud1ZnLzNoZ2oyZ1FuMWVncnZTeEQzaGdqMmdRbjZud1h0UmhIeVl3M2tRQkh2VEJEMmhnbmxRQkhTTXhQMmhBbjBjZ3YyaEFuMmhBbjNod2p5WUEzYU9STGRPeExaT0JQMGRRdjJoUW52U1JEMGRBdnhXUTdjT2hMd1Z3LzJnUW53VVEvemFRenlaZzMwY2d2emFRenZVQkQyaFFud1Z3L3laUTMwZEF2MmhRbnpiZ3p6Ynd6eVlRMzNod2o2bmdYY09oTG9ReEgwY3d2NGtBZnpiUXozaGdqNGt3Zjhzd1B1UnhIZE94TDh0QVB3VXcvNGx3ZmhQaEx2VGhEMGRBdjFld3I2cEFYd1V3L2VQQkxrUHhMemJnejFlZ3J4V1E3emJBenhXZzd6YXd6MWVRcnhYUTd4V1E3OHNBUHhYUTd6YlF6NGxBZjh0QVB5WnczNW1BYjZvZ1hlUEJMOHRBUDRsd2ZuUVJIeFhRNzNqQWphT1JMOHNnUHphUXp6Ymd6emNBemVPeEx5WlEzNGxRZjhzUVA2b2dYdlN4RDFlQXI3ckFUNGtnZjJnZ255WVEzMGR3djZud1g4c1FQd1ZBL3laUTM1bkFiNW1RYlFNaFAxZndyM2p3ajVuUWJ2U2hEeWFBMzFkd3I3cHdUcVJCSDVtd2J3V0EvNGtRZjh0UVBUTkJQNGtRZnVTaEQ3cXdUMWZRcjVtQWJ3V0EveFlBNzVud2I3cVFUdlN4RDZwQVg3cXdUNWxnYllOeFB5WWczM2pRampQeExhT1JMdFNSRHhYQTc4c2dQOHN3UG5RaEw0bUFmUk14UHZUaER4WGc3MGRndnhZZzc1blFiV05oUDRsQWYzalFqNGx3ZnlhUTMzaXdqM2pnajRsUWYyaVFuMmhBbjJoZ240a2dmM2tRajVtZ2I0bHdmMWZBcnZUeEQ2b2dYMGN3dnpjQXo1bkFid1VnLzBkUXZ1U0JINW5nYnpiZ3p4WGc3MmdRbnpiQXowZUF2d1dRLzFmd3I3cWdUeWFBM3laZzM2cEFYdlRCRHZTaER5WXczNW9BYnhZQTd3VkEvMGNRdndWZy94V3c3MGR3djdyUVQ2cUFYemF3ejFmZ3J6YVF6NG1RZjFlUXI2cGdYeVpRM3lZZzM2cHdYbVFSTGlQeEx0UmhIN3JBVGJPUlBoUFJMZlBCTHJSUkg3cndUZE94TDdzQVRwUXhIOHRBUFpPQlBxUkJIb1F4SDhzUVBuUWhMOHNnUGtQeEw4c3dQWE54UFZOUlBRTWhQOHRnUFROQlB0UnhIcFJHdHZBQUFBcW5SU1RsTUFFREFRWUlCZ1FEQ2dZR0FnRUdBZ01ERGdZUER3b0tCUThNQmdFUERnd0tDUVFNREF3S0NnZ0ZBdzhMQ2dvRURRd0xDZ2tJQkE4UER3b0hBd0lQRGd3TENnZ0lCZ1lHQlFJUER3OE9EZzBOQ3dvSUNBY0hCZ1lFQkFNUER3NE5EQXdLQ2drSUJnVUZCUVFQRFEwTUNna0lDQWNERHc4UER3NE9EZzBNREF3TENnb0pDUWtJQ0FjRkJBSVBEdzhQRGc0T0RBc0xDd2tIQkE4T0RRc0xDUWtKQnc4T0RRMEtDUWNENEZzSmtBQUJVcVNVUkJWSGphM054UGlNeGhITWZ4N3h5Mm1acVZtbUoyTHlhSFBkQ1dKUXBMU2NsQmlSSWlTcUpRQ0VWUkpKSVVvVnpJU2NpTW1WbFRtTVJOT1NobDk2Q3RQYmhJRHBLRHMrYzc0OWVIMy9kNWZzOHphNXI1UGMvN2hxUlgzKy96UER2K2tWTjVDcnlSSElYZHlBaUYzVWcxOENVZHFjN0xVTWlOVkt2SEtlUVVzRHBJQWNmQUVnVmNTUUZyV1FxM01lV3JoVHhDNVZNRi9GUzBnRThMRkdvWjVWUEFwOEdPTUZ0dCtjSWRZYmJXQmo0SmRZVGo3R1BnV1FxemdUOERmUElrMExld3hMNFdjQjhGMlZoN2dOd2FDckZvZ0twSEZHQTVETEJjRHZGejRSRDdJdUE0aGRkQURiNXlpQzlGQ1FOVUJYak5ETU9uT2thaGxjTUF1VlVVV3ZsL2ZCTVRoeWl3aWpGZ2NEdGFpQUZEMjlIQm1HK2lIdGlPNWdVd3NCMGRiUVBocXdlMm84UHhBZGJyUWIzMTJhY1NlSWtDYW5sOFExVVBLYUFLY29DVnlod0twdHhUSFhBSEJaUGNVQWF1cDJEU2JtaGxMNFZTVnJlaHFtc1VTRVVBLzlyUWNBNWhabGg3Qk1NNWhIbnRoZ1owQ01kTXdFWVlYNjNsYW9ZajJHaWNwQkFxU2lEN0dIaWZRbWc0QXBZRjhBd0YwQkQ3RE1CR0NCL3JSN0doRXZpWS9LOW12bU1hbndKNEtJWVNnYy84ZnlpS05lTWR3OENMNUh1RlpLRDM5Mml1bGd4ODV2c1gzT1BzU3dLZUk3L0RFWXdERzIzZ3MxM2tkWVVZTUhhSnFtNlR6MlZxeWErRXF1bjFDTE1Pd0Fma2NRTmFJUHNBYks0Z2Z5dTZBSnU3eWR0S1RrQ1BuNHA1VHNEWC9uN0JWblVEdnQ1SWZwWnpCYjcyOUszSU9nT3YrM25SdUFQZkgvRlNPTzRPOUZNNDBBSHd1WS9Dam9EUG4vdDNsMnFCS2kxUTVkMFhiWjBDMzEzdzdNL3RCYkJzQnI1bjRMdWJmaDFFQzdBbEJMQWxmT2ZWSDhndzBQSjdNZ0k0ZmRTak5YVUVzaERBNlJ0WHlaY1VVSlVFVkFuZ3pOU0Z0ZVJIMldwMU5zQ1pxUnZieUlzQTVDUlFYcU1xQms2OXZlWEZuZ0xvOEJCaWhBeDgrL2JvWVVwL1ZjZDNRaFVIK2tFRXNMTkQyQlorL3B4NllzbmhuWkE3Q3VEazVLMmRsT1pHTzNrbjVJNnljUEx1dGhTLy9BUHlsbkU2aEN5TWdGKytmTjEvaWxMYWtPR1dNUjlDN0NqSFFCWitYWmZTVFIwRXNOTWR4UWdaK1AzN25zdXAvUEptbnZNdGd4MlZJMlRoang4LzB6aEczRExhUXloM1ZJNVF4VUFXL2t6ZkdNZG51YU1ZSVphVWhkKytwV3lNT1RkZzRnaGp3bS9wR3FNNGhHSkg3U1BFTVdTaDZsZUt4bGpVSGtMYk5ZTVJZa2toWkdKcXhqaGszVkVXTnQxRytMZncxNjkxcWZoRWxSRkF5d2hkaFV5OHV5MEZZeHgxM0ZHTUVHK2hSY2p0Ny92bkRldU8ya2NJWVhTWC9rMjgxKzhMWjU0RTJrY1lXOUtZc0VXRWNVOS9QMjhVMjBEM0VlcHZVaUZVUkNEMzkvRXc1cXFkamhCTEtvUnhJdXJ4UnlyN3gzckRDT1dTWWtzaDFCTFg5ZXUreVRPdzR4RktJZGEwVFdRajEzOWl3YktqRm1FYkNDR0lrUkd0Njh1aTVwT3VHWXdRUzRwakNDRU9Jb2hzakNsLzlPVzZLZFE2R0NGdVVnakZFSm5JUmlCUjd4OE5qTkI4Q3VVOVl4YUN5RWJaSHZ2VDMvY1Jhb1Vnd2hoWHRyOTl0TmQ3T2lTdW1mOFJndGhDaXZoN3QxRnZLeGwzRlBlTW14QkVHR1dUay9kNmU1L20zRWFJWXdnaDNrTWRrWXZab2s1U0wxc3VSNGlud3J5a0VHS0lJQ2IzdWFkL0tTVlR3QWhOUzVva3hCQmhWQmx4clc3MWNrMnpjb1NHSlkxdEtZUWd3cWpTNExpM3Foc2JxWGN0dDQ1UUN1VVFRWVJSaGgvdmlSQkxpaEhPVmlpSmNFS0dwbnI0WHVUa2tzcGphQmFDQ0tPdEtkVitNclJ4QlhXNWNSWmFScWdSQ2lLTUZoMDNNMlBhMGptbnoxMmo3amJLUUhjaEo0UWdja2s0MXFtbXAwM0NGYzNUaDZpclpRcmlubkVSZ2lpTmNJSUduZUtwanV3MmpiRDVyTXRybWhzV0kzUVZTaUtRQ0xoSTkwNTFjNDVoaE9yWHVVaGRMYTlkVXIxUVQ0U1JrV0NDQmh6eldsMHdqVkQ5T3V1cHF4V3hwT0lZV29RZ3dzaEsyVFIwblBwSlY0MGovTlRvcmpBenhrQnhEQzFDUVFSU0YzRE00d3hMT3VmTXAwYWp5OEpCY1F5VGhCaGlSSVFSQ1JwMFVZYkxaSDJENjY1d0NFdHFFMktJSU1KbzdUbDZmMFEvd21zTlZhVnloYnJaY2dhNkN5VVJKZVBBVXhsR2VGL3hIUDcvckxrSHRpOGg1OGFzUW82RkdHSkVoQkhwYWVCeHI2L3JSN2lyMG02TjdlNVk5dWJOMG9XTFpuc01wVkFPRVVRMldvT09lU3JEQ1BkV3VQb3ErQTF0My9UbTVjdVh5dzVtM1A4VEhWZWhKSEt1T09aeDEwbmJ5WmF2WHI5TnRoWnZadUdIRDhzMk9CNURzMUFPRVVRWVZZazQ2TGhtYzZQK3BXQWZkNGxzWmJhOFpPR0xGeXNYRHJvZFEzY2hpRENpdUF3NjhJei9GdnBZMnpjeHNjc3VYTjBhNFF2VjFpV3V4MUFLc2FhU0NDT1FTT0NnNC9TQ1EzOThFemlHNXVaSHdsZXZ6aWNUOHpXN0VFT01pREFpUFUzeWpGOVhyMUk4cm55SG5JUU1aT0dycllPMi8yN05MZ1JSR0swQnh6eE9QNkpMZjN6bDhnNVhJUU5WSDA5a2tqNGJtb1FXSW5MQVFjZWRKRjFyV2p4dVZjWkZ5TUJJdUNCaFQzTTFSeUdJTUtKRUczU2M2VDhCKzgzYTNieEVGWVZ4SEQ5M1lVNWtDSUc5TFNZbWlKcUl6R2hoTDl2Y0pGRUVRYTBLS21vUnZTd2lDbW9adEEzNkE5b1ZWQVFEdWJKeEdIUVJJUWxxVW45TTUwbkhyM09mYys3ek1QUmRoODZIMzVsN3UrTExjL0ZKY2tqdFRpSmNXdW8waXBCcktDM2ttR29pUmlOMDhPS0R3N24wR2UzNVBuellHK3lLU3h6U0tMeGZDN2tPVkFzMVVZemt3YUg3bFg5c3VMN3ArN0N2Q0hhamsxc243RXhQVmR3cnRGQWZVNGdZeWFEQms1N3VURjlIMTMzU3FlQm9uQWxGMkhtY3YxZWtoUVlSb3hrNktmZlU4SGJESjlVOHd0c3pBa1M0UFdRNmhoQWlRa1hFNk1TaGk3elltMEIwRnQvSG04SFR4S0pQV094VHdoUVJJMGpKc0szajBHVi9NL1M1VFY1c3J3ZFk5TDhORWVybmlxeFFFekdpbEpRTVhJbVhlM1kvamMvNUJ5Q2JITkpxNFRHRTJSRWhZdFJPRFVOSDZWdmhUWHlmUHc4TmNFaGpVNW10eHo1TFNhRW1ZalFEUi9KeDdvVkVyN2I0UG5PcjhOd3JFTmF5MzBPampta2xrWncyZU5LRDVJdlk5TVUrTWFGeEpSVWh3SHFSdWQxcm9TWmkxRmt5ZE5LWG5VRTMzT09Kei9sSDE0dDZlY0xMK1IvZ1FxaUpsdEVPblR3M3ZBcTZZb3N2NXB2d3preForRHIzUTRaQ0ZLRWFVUk9sd1hYUzg1Qm9xNDhKamVwbFlUMzM0UFNwWWtTSVlpUS9EcDZVZnVxREo3a25MQXVuY3RjWmhIa2lSdkxRMEFrdmRqUG8rbjF0NTRRWHk4SjY3ckZpWGNpSUVBMGpKVlRnMEVuRFFZVXY4bUlEVGJqRWhQb1hDakNpSm1JMGtGa2N2TXlFSlo5M3dndmxDZStIZEljUVpvZ1l5V05EUngvVWhDUC9lUGk2M2JNdVlHT21MS3hsYnhWcXhEUVJJK1ZsNE5ERjFJUjd5Nzd1TXhkd2RLWXNiSVIwZXhEcUVTR0M5QVVPbnJRajlIZXFqeWV0VExtRUUyVmhQYVFiYm44eWlCakpZOU82eEZjbXhwUnY1WkR2TWpOYkZ0Wnk3OEoyV3drdEkxV3gwTkhIWS8wUHZEMGV2bGFyNWdFV0F1d1Q1aDZiZHJRUmFxSnRKRnNuRFFVYUdTdk5KNzdXOXVEcDVQcUVDS2VMa0c2c2JSQnBRQnc4YVFlK0U4eUhyeVd2MU83cWJGbDRQcVI3MkVZSUVXTzVBWERvNUQ4dXB6WUFPOGJVOFZ4dnluVWRuUzBMNnlGZHJkdk9FREhxSERKQzk2OTlwNGFIaHgvdVNzMG5yZDBQbmk0cVlUT2tlOVkxaUJoZGFSdzhpVThEYjZ0dmJhM21BZDZhTFF0ZmhuVGJ1d2doMnNiQmRmRHd0VFo5SGJscDJ6WG5sSEE4Skp2cVNwcUlrUWJDMmJ4K1gyZmFBeHlkVThMTTJYNjkwdFZFYlNRbkRaeWZGMzFTMC9VbVZNTGNoWFJGaEFZUkkxWER0QTZlNFpPYnR0M0UzSWFRTy81a0VZaGE4WE1naElnUnBTTnc2RXllMU9NdExja0xOYnM5cDRXTk5MQ2xpTnBJZmh1NlBJLzU4TWxOMis3dVhFSTRuZ1NLc0pJSWtrd1lPSFR3VXZOSmtSZTdIT3l1TFNlRTljVDJJeTBKb2pLQ2RBYk96Mk0rNld0d3RLeUVrYmc3cUpvdHlTQ1N6MmJvMGp4OFg1dkJiaFhobG92cE8zMmpYMnZsaUJoMUhobTZQQThmUEJuQzdnWENyY2YwZlBtRXJxMGhoSWdScEpHQlE1Zms0Wk1tWGNBb1hEYUZsenNkVGNSb0lJOE5EUThQSFROMFhoNit4Y1dqTnZEd2ZGSzQyQytjNmtpS3FJMGc2Y0JJK0ZmeHNNSUdUdlA2ZmZBV1p4bzI4TWc4UWlFaWJQQ1B6aTkxZWtLSXpJaVJZTzdoNCt3ZFV6UkRsK0xobTdua0FZcHdGU0hFM2pkQ0ZRMzV1ckFtTWlOSVhmVFJ5SWsyZ2FNVkQwK0tQS2x3QVBQQ3IvWEg0K1BOeHFSODJBd1JJeVY4TktSd2FSMjgzSHpTN0IwYnVEQXZLZUVHY2VNeFdJU0tpQkVrNGV1dmRnS2Excmw0K0diUE9JQUlVeU1xWXRZSWtnNEZZc1F1Z1VQbjVzVXVPb0I1b1UwMGtDZEdBdEhyWnlVYk9LV0RwM3pTM0tnTlJNZ3hUWStvaVJoQndzdytzQlVQb1lGRFovSHd6VFZONE84RnFTYzBSNFNJTWFQRVI0eUlyV0s4U3A3NDVtN1pRSVRsWTJvVE1lcndFUldYVXpoMG1xZm5reVpNNEhlRUhGTTFJa1RMaU05bzczUkdaL1B3TFM4SG8wZmZsVEE3b2laaWxOdytSZ1NuZFNaUGZLdlhUS0FJMVRHMWlSaEJTdmpzbXROaUE0Y3V4ZFB6UmQvcSsxRGQvdThJY3lOQ1ZETmlCQm5EVjkzSVMzQXBYWlluQ1c5MS9yQUYvUE5kUXNpSUhpSkd3dWZvM2JUU09YbnJ2dmtYSmhBaEkyYUpTV01aaWM4MUlqaWwwenp4d1pNczRJK2VNRHRpam9nUkpENS9qOEdwOFRTdjdGczRhZ0dqMEJqUklvS1U4SG1yM1FlSHpzRVQzOEkxQzRpUUVTdUpHRFZTK1p3ajVuV2FGOXZreFk1WVFBbWhHakZEekJsM2g0RTZXaGNjdWlSUHp5Y2RONERmQkpnNnBvd0lVUnNKM3lBVkRhV3plZEp2NHpKNjQxdEo2Q1ppSk8zek4xNVA2Q3hlZkxsUExLQUlPYVk1WXQ0b0dUN3ZpT2h5UE9XTEx6aFVkaVVDc3lNYVJJd1N2b0ZyVHFaMGVWNzB4VVl0SU1MY2lMM0xEVVNNSVBFTlhIRVNYUVdQK2FUcSs4UTI0YVdJQzJsaTNtajRuRFV2SkhSSjNvYnZ6NSs3b2FxRFAzTkNpT3FtZ1ZIeStQd1ZFMW1lUHAzaSsvTW9WRFg2RTZHRG1EUGFQbjlYTDZDemVUOStBRXoyTStZbU1tUEplQ2I4eDBiLzhuTC9yazJFY1J6SHYzSWhRNGZHNEZZY1NnaFZHaUtvZytBZ0JETUVwVllxRlp4MFVIVG9XamNIY2VtZzRPS2dJQ2orRGJjY0J3NEJKUkdQT0RrSXhjV2gwQks2ZGZUNUp0V1B1ZTlkdms5eWo4OTc3TkRMSzUvN2tkTFM4MWs2OENaOVg5OHJ6NGxwd215aU1NTG5ha1RXeWZIa2ZOd1NUYTNKUUN0aXZyR2diL1g4aGRYMGwyNUNONFhIZlZTQW05MHVoSlpFR0YzNHlQd3ptT3UzS2RXRDZUejROR0N0eThLTUVRVXgyMWpNaDc5bE9WOFJJNEtIYXk4OW4ra2VUYS9MUVdoSmhQRU1GZTR5QzhXSXdYM284bms2c0E1aDNubUtPNm8wd2xkSXlQZVVDeWRvc2pzM2NuandjVFM5Vyt5VEkwcGlwaEcrUXAwWjNWT3VQeElqNHRMTDVISGZTTDhJSVpSRWt5Qnk4RGtSZnVjK1hRalNJejcrb2ZDK2FVQjYzclVqU2lOOERvU2ZSajBXSTc3Q3VRa2VmQmJBNW1BZ2hOT0lNSjRqY2l2azdxZEhmUFE0bjhldGsxSjVBS0ZHaEJFK2g4TFAzSTA3WXNROEh0ZXRrMUpnZ0RwUkd1RnoxRG5tY1dMRXpRL1pQUGJwUUdvSllUNFJSdmpjQ3ZtZWVYT1ZKcXNzNWZCTUxkTHFKSU44b2pTNjkwRm9jT09iNWxsS2ovZ2lpOGZkSXJYdFJDSEtHUzhTY2lyOGNwd1ljWFZkOEt5Qkt3bUVPcEdOOExrVzRwRzNLWDZYS1hsY2pkU3FDYWNTWVlUUGVSZEhPdTdyVWtXTUtIbURRWVgwNm9sQ1JNTG5YRGpXY1MvRWlPL1RQQk5aVklvZ0ZFUmhGRDdId3E5b0thREphbXRqSG54MXNta3RzaWV1QmFUa1NNZ0hleUUrdWowRGI5UXpzbWtuaWhRaWpEVVN1UmZpL1h3bFIveUhseVFkc2lsb1JKS1lQZU02L2Y4MlB2N1RtelFoYVAzbG1RS3lxaDFCbUU5azR5WjVDRUkrNWtZYTBYays0bkhyaFBRSkpWRWFLK1NqamI4NmJxMG1SbVFlaDB0UW45Q0srSWI4dE1FNlBQV2VwVWNzYnllbUtBSmRuMUFsc3ZFZWVXb0RPbTZ0U3BOVjZvWVhiWk4xcFRDVVJHbXNrNjgyb012K3pMbGlYdWdLMmZjeVZJaWVnZFRzY25qcXJhZEhiRVZSaCt4N0hZYUNLSTNQeVY4UURzYmRTbDlXRFpxbFZwaFBoTEZDL21xQ3h5VkpmZkxvN1hjMFM1VkdDR0t1c1V3K2duQUFubWw3a3doVnF6UlRiZFpweEhYeVdSTzZVVkdFRWVkb0s4d2x3bGdqUDBHWWdHZHFkR2p1cXIxUUVJVnhqYnpXaE81UHJZRG1yZDBUUkdsc2tzdUNXcUFMbVlmQ1JuWCtrN1JuUVN5VHMycDFmcmJXYUZvcnJFT2hxVEgzaHRWR0QwUnBkQzBzZDhlVnB3c25kZHdLemRzT0ErV01DRUpYUG40UzJBbERGTkM4dFppWE9TTnlKQ3dQa0Nwa0hlb3QwTHdGTC90OVFaVEdzbE9mTHB6UW1aWnA3cXI5dmlSS1k4bWRMeG1sQ2NIam50RDhMZlJCbEVZSWkvc1NwQXVoTS9XTEFHbTVENkkwdWhHV0UxRlVVb1RnOVlzQmFZdDlZa1lFb1J1ZjNWdTIvSWZIdGFsSXdWWU1Jb3dDV1NybWc4eGUyRC91TlJXcWVpV09GU00zcjdBRTBtekMvbkh4U3lwWU5lYjZxckhrMWhlR0ZzTFl0RWhGVzR4VFJDU0VUbnpoS0YwWWM4dEVqb1M2c1ZUTUI1cWxNRFk5Q2NpUkVNWjhaR2xPWDVqWGdpSXN2aCsrMVJRamtBc3orVUt0bnZJNTg5ME91V3I1S0U0YmdVUVFGdlgxUnJIUVUwOS8vb3lsVVNJWEN2dDZ5TGN3dzRobWZFRWRUY2IxT1cvQ25WKy9ZQVJ5SW10aDBCQ3NMSnhmNGVJdkpzSW9rZll2YUFHU2JCcUtZMy9DL1gwWVU4MG9iT3N5TGg2M1NKNTZmV2tmeHFOWVpDOXNDMWEyemJmdzVLVzlQVFppeUl4c2hCMDI2RFQvd3ROM0QvWmd4SkRwVk9HV1NrTkg1akQraEc4UERtQmtKRGU3c0hwRllRRm5NZ2Z5SnFTcnd5RWJVMGd4NWFMTno1bXFqWEdjT1pRLzRjTkxRelllRDhsSUtIOFdGY0lHbkduUGRJcDhkZkx1N3U3dUVFTXlFa3J1eUY0b1piQUJadzQxSFBvVG5uNjZ5dzJCRkVyT1VnZ1lhTEF4am5WRGMwQi9RanAxallWQVFzbk1jVFpDc0NBenRKU05jZHloQnlGTzA4UER3eFNTbGN5RVV4ZU9WSkRCZHZkM3QzV000amdNaG1GWTVBRExRcWFMVXVrT250S0ZLK2NNZ1FVM1BrUEtiWEtDd0tSWnB0cHpHU0tEQ3pORmNJYTBvOCtTOHhrMThreGhhK1p0WlpBZkxQMTRuWXZmMlROd05yTmZWWlZpdmw2cTZrb2tsWVpKWjFENERCWmg2QTM5NVhVSERqcTBrMksra2hSYkVnbWxZOUw1Sy94dmhDaXpaL0xmWTMzbmNFaHJ2Ull6Smw4cTI5VXB5U1IwSFJTK0VmYTRiemtQQ25Fb0U3T1dwTHF5VWVsRHc4SUJ4djZNdGlDdU5nRTRhNWxHVkhwTUZCYU9uNzRpSlJoeGFDUG1MbGZhVmJHcmE2SndCNWlyUW1xMFNGelROS2xZb0RLdE5hTFNoNGFGdll0cERzdnpnRVA3bFZnaW1lMXJwRDBuQ3dzSG1UOUxaQXBjMytXeWhXK1I4Z0pBS3Rsa29VYWNKcVd3RlE2SEZ2SHhLamJOWUtTVEJZWDdYc1l5aVJHcXJHMTVuM3NaVkh0TkZ0WkRqVTJwOUlGcjIzWkpING1zOXR1RWhRMkRpcmc0ZkNDZUxxaEJiTEtRTXRyNnVpNE9Yejl1dGhkRUtBc0pWOXV4amJndUlwOUpubmwxdkNZSlc5YlpicmVuaUh3b0tWcjBGU0ZwMW1hS3oyZVNHOVg2VFJOMlkxdTBQcFJ2VGwzWCtrMFFnc2J1OTBoOVNKWkYybmtGaFUrMG1hTDJ1UTlaL0w5OVZuaC85QjY3ejVhY1g5WGg1Z29MbmMzMFRYeXVWVkllajhlVFdnV0ZvSDAvWHpnS2Y3YlBDQTgvMnllRVBCN2VENjlTZkxJUE1USXpFRjRQMlZzQUFBQUFTVVZPUks1Q1lJST0ifSxmdW5jdGlvbihlLHQpe2UuZXhwb3J0cz0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFQQUFBQUR3Q0FNQUFBQUppeG1nQUFBQ2tWQk1WRVVBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUQvLy84QUFBQUhwclBZMk5qOS92NERCQVQ4L1B3R0JnYjA5UFFoSVNIczdPejYrL3ZlM3Q3Mjl2WUpDUW5iMjl1M3Q3ZnY3Ky9tNXVZeE1URUxDd3VQajQ4NU9UazFOVFVxS2lvbEpTVVRFeE9WbFpVZkh4ODlQVDBhR2hvQUVSTEN3c0pDUWtMajQrT3lzckpqWTJNT0RnNit2cjZTa3BKNmVucE5UVTNQejg5bVptWlVWRlQ1K2ZtRGc0TmdZR0JJU0VnY0hCelYxZFcwdExTam82TjNkM2Z4OGZIR3hzYW9xS2duSnljUkVSR3RyYTJLaW9wOWZYMXJhMnRiVzF0RlJVVVFFQkRxNnVyZzRPQ3ZyNittcHFaS1Nrb0FDZ3ZrNU9TN3U3dDBkSFJZV0ZnWEZ4Zno4L01HcGJHcXFxcVptWm1HaG9Zek16TUJHeDNvNk9pRzFOck96czRLcDdTZG5aMXFhbXJ1N3U2TjF0d1BxYllHb2EyZ29LQUdrcDREYTNNRFNsQUNRVWNBRnhqNCtQamI4dlNCMHRpL3Y3OEdsNk9jbkp5QWdJQmRYVjBDT3o4dUxpNXZ5OVBLeXNvM3Q4SUduYWtGaXBWUlVWRlBUMDhCTURPMzVlbXU0dVpteU5ESXlNakV4TVFYckxnRmdZdHljbkp3Y0hBRFhtWUJJQ08rNk91ZzNlTFgxOWZSMGRFRmZJVnRiVzBEV0Y4RFVsbmc5UGJSN3ZGNXo5WmR4YzFBdXNRdnRMOHBzcjBocjdzRWIzZ0VaVzBCS1MzRjZ1MlMyTjdTMHRKUndjb2Nycm1ucDZjRWRuL205dmZKN085V3dzdE12OGdCSmlueCt2dnQrUG1aMnVBRmhwRnhjWEhxOS9nRmpwbXN0N2hTbFp0TWg0c1BWMXh6SUdodUFBQUFNSFJTVGxNQWovQ0Z6cjRWQk96N3BIdFdMeVFJZG1IMDNKdTFSZzhNeUxKblRQMXNPalFjMTU5L1hIRS9rNjNtdWZqU0tmcXoyVDA3QUFBWnZrbEVRVlI0MnV6WFhVc2lVUmdIOEtPcG01bXBhV1pyaUpaV0dpelBBMk82QmtuYmk3M1loUVRWWk5UYUN5RzFKTEdDSmNHNmwzdlJCOGlMYnZvTWZiNmRPVU5sc3FDVmMyWmN6dThUek9FODUvK2ZoM0FjeDNFY3gzRWN4M0VjeDNFYzkwKytnYUMzUCtDMGhYc01qWHA2d2phbnY5OGJISENRLzRRajZESkVUYjNZVXE4cGFuQUZ1L3Zjb1lobnpJcHZZaDN6UkVLa0swMGEzUGhPYnNNazZUTEJxUmgrU0d6S1RycUd3eldDelJMWjM2VzkvUFhPWGUxOHFjRjU3VzduT3I5WHltVGoyR3pFMVIwUDJ1ZDhuVkJaOFVmNXRDSkFDMExsdEx3alpsL25tTk5IOU01aGF6aHVQSE55TkE5dk1uOTBrb2szSE5tbTgxdjJ2Z1RWM01QeFBMekxuOXVIdVpjQTh4TDlzb3pqazlYMUcvaUFtL1ZWZkRKdUlUb1ZlWjdtalUwQlBrajR1ZkU4MXhHaVI2RnBWTVNyOTlBUjk5VTRLcVoxK0M5aWo2RWlsNGFPU2VkUUVkTmRLNDhPSXJWMkN4MTF1NGJVNENqUmxZQVZxZm9sZE5obEhTbHJnT2lJQWFuQ0Zhamdxb0NVZ2VoR0ZLbUZDcWlpc29CVWxPaUVBU2t4Q1NwSmlycTY0d0JTanpPZ21wbEhwSFR4amtlVnZGb0NWUzBweWFXRHJMWXJmYlFOS3R0VzJrbnpQZzdGbEhrRzFTbFRIUXNSYlpsUkpncWdPa0ZFbVpsb3lxWDBVUklZU0NydDVDSWFzdEQ5cUZBQkppb0Z1anRaaUhiNlVMWUZqR3lockk5b3hvdXlBMkRtQUdWZW9oR0htKzVIS1dBbVJYY250NE5vSTR5eVkyRG9HR1Zob29saEkwcEt3RlFKSmNaaG9nVWJTaEpwWUNxZFFJbU5hTUJISzZrT2pOVnBOZmtJZTM2VTdRSmp1eWp6RS9aTUtNa0Jjem1VbUFoelFaUnRBbk5IS0FzUzFqd29LUXJBbkZCRWlZY3c5b2xHMWpwbzRCZU5yVStFRGZ1RXgyd2FNdzE5UnNsaUV0bzBlM2hXeTFmRlhHYmxhNU9WVEU2czVtdG5oN1BRcHVRaVNvYW1wYzh3ZXlhK0VCWDVuRzVzSkVJN1V1V0xZaHhiaWhjdnlpbG94M2RzNUhZT0U1WDRqZmhhNHZvR1dranZMK01iTE8rbm9ZVnZkV3hpREJBMVdQNFNjMmM5VFFWUkFJQ3ZLeHEzdU1WOTMrTjJUdTYxTFhhanBhS3R4ZFFXY1MwcWFsMHFLRmlNVlF4cW1rWjQ4SW1FYUdKNGdCZEo5RVhqVHpEeDNSOWtlNmE5TTNNN0lPcDQvWjVLTUhKbnVUUG5uQmxZZ0kyU1l6Q1QxQVQrdG9rVXpHU2dEeHN0V0c5b3QzdzFxbmh2d0xTR1R1SWZPVGtFMHpxTlNodldhUi9mMWZWYkRCOExIMUtkK2ErbmtQRzJnRnI0SVFxdVArdzkvejB6TnQ0ZGNPZ2VIOHQ4UDkvNzhEb0tIb1pucU5hU1YwOExuVlBqK1kvMSt4SHpOZGRCbWpZZ2Vkd05kZW5MeDJab3NmOWxDT3Z1Zml3K2gxOTZYdng0Rit0Q0wvM3FXaTBKWGVDclcvZEZKQnVhRE8yWkVaNlQyL2F0SGFzU0pXaVFic1dhNVAwQXpGcmdmaEpyV3RPS09OcUxWYytlZ0toNERyVm5VTXNQVVh0dmcyejBHbnNBY0NxZlFhWnR5QU8veFRQVWhzeVpNaml4TmFIWEF0a0hXc2NPNmF4WTc4ZXFGSHVreUlqZmJqRjdUN3RCbG9raGFXNkJQOURTakNTV2NYNkR0WmUvTmlNUjFwMVRXTFZmWTIyREJyZ0Rxb0poMHpSelVCT05zZTlJQnBCNGJ3WGhqd1J2ZVpFTUtLb2R5U0RVUkV6VERBZDVjVy9WZWtOcnVUMFdaYStaV1JHMkorbzdyT2p6Z3lEbFpldHlHZjVZK1RycnNwUVVzZEVpK2QyZS9HR3pJaUQwKzFKRGw0MzgrQ2hyRXA4YzJIWUNaOTVqKzBZVS9rTDBGVmJkTTUwVDV6b1BxVTNpWjBPc3QyQzlpS2UrejNtRGhYbjJVaGlIWnZ0MFhNTVplTE1RWGQvQ2lnZk9CdnQ0WjZ6V2RrSklFVWVPdFlmM0svT09Qd1o1Z0ZYdFdmaEwyWFowL00vVUJTLzRrbVdTRWFncVljVVdYZUhXWm9yM2dFVE5xckJqNlR3cmY0bDNSelFVM1ZrWXdoZDYycS9Hd0JZMnEwcEE0anJMSUZ1RkE1VkhadFVqc0JYcnZVRjhOS0VUQWRBZ2tLQko3WU1haW1XS1FQaWpwSUU4cGxWTDU2V1ZMckZibzQ0UmJvV2FwK3d3UXVjeHcxTnBoSVZjNVlrNDJUNVJzS1h6alBBTjJ3dE1JaXdsQmZING9UOUVYMms5WmdqMUF6T0pGWGVBQ011SnhiSW9uWVd1Z3p3SUNKb2tCN2EzNHRMeWpwNHdBSm9FcVAvZUFUUHMyQTl5SmdueTJiQlI1N1dHb1ZwMFEwWWRtOFVGSU1GQjlvVTJGN0JpTUFqa2hDT29HeFU3L3c3VkFYVEdIWG14d1JiWXFLYnhXaGh0YnhTMGlWTFE5aFpJaHZZN3NGa21pZkEzYTYzT0V2UTdvVmZUWUxOb1VHOERlYVg5Zkp3aXFGZEFUTXJZL0dCTG0xVlovZzRmTVBUWUsyeTEvZFdGMFMva3hCU1UrTmg0WU5VWDBPZ0xWa1ZaMzFJVU93VzJiSml2bjgrd1lwNmh4ejdLSGJKQVJvOUhMR2ZONWIwd28xdEJxMVpoVHJlem1jWlprZU9qd0p6UnVRODN6WjMyYnFHZklwd2VJQlA4czk1bGF3SklGd1Z4ZmlDS1ZIbnhRcTJYZFJJUlpaR0p6K0pzakwzT1d0MFdabGQ0Mmt1T25sTjY3Nnh0bis2MlRuOUNXRGsvVUxkWW9KVkZQK0dEY0ZKNjd6ZzB1SS82WmpSWnk0c3JvdU90WW56L0JpdXVnR1lURk9hSjk3Uk9SdFRGNnAwNmkzaXJzS29qSW84dmErK2tHSUwwZ0dZOVdIRkx6QkN4VlI1amZ4ZFdiZGxuYUxRU1NlSzBoMjhLSis2eHFrUlVmSm9CbnN5ODZlbzVQV1hCYjdLbVR2ZDB2ZUhwMklCNGFoZGxQekp4SWd1Mm9mZy91UzYvRlprelYyK21neDdvTDN4c1JsNTM0aWxwR1poaUc1TEIrMEg0RGNIN2cwamFpc0NVc1NKdXIySG5rQ1NmRmtwZ0JhTkR3Nnk1bERqb2JyR1NOdzgxSHFxeCtkam9kNkF0YnNLc21YRzBkYkJSOUZGa1kwK3M4WHY4ZkJVRit3M3ROcTNDUm9rVTFFVm9mck8yWDBOQlh6Zk1VbmNmQ3E2eFZsSUwrZUpSVG1DakxSUmo2Ylo4QVRwZEtZRXR6WXVLVDFIU25JTlp5VFdqamFmK1ZMRk5DM24vQkRvZDNtYjhHOXMySHBXR0lBV0N6MWh4aWo0ZFExa1BNTmxpeWdJSEsxWE04Z1ZaY3V3elZGQk04UmtFWTQrbDBWMncyZmgzMXUxWk0zOHVrb2tuSUJtM2kxdFgwU0VXdEsrMDB6d1ZlSzdaRitxRE1YUzRhaDhvallNa1BZRms3dUZkbTF5NEw5NUVSYTc3SU91czUxU2VCRHBsZUJ5YUFVbUdSNHNaZEVwNDZ1RlZKOGhlMGtiVVpMaGtIbFgxVkJmR0hsUEkyNkNISndJdkZVOStnYzlvV2JoZWo3d0JzaTZXRGJwbENYOUtSWU5UMktDRFI0QWRJS0g5NnpUL0tFdE4xK0FMN3Q2cHBUMTVXSldoWGFQRHl3YVhlWmNNZWtEZ0dlVE51WXdOcHVxWGxGcEFOdXp1TCtidDRaVktMbFZQbkI2aGhFOS9YNGdQcHhqMmgzeDhtc29lMWRQK0ZNaW93TEhIY010bU5waXlTM2E5STRsT1kwQ3UwSkpkQmxzNUptUllZK2lVdEdzZWwxUjMwelliYnRsRzBTN0l3bmJRK3dNbGZCcGZZcEhYQ3d1STlhSVBxVFY4ZXN0KzJDRjZHR1FVcVc4ejNIS0VkYjhzU3JrRmZRb2h4N2NkL3BxMkZaNEQ1QXB0L0FVbjUxRVdpOXJWcWhMSWFCSXROOXl5Z3VJZ0N5UStlaDFWVDk3bXQvL05LenZBdHNQbVZ6Nm84YmVwK2luRWNoS0pSYkhjQ3NNMWkzaDh5OFY0UmJVWEJYRmhlS0p4ZEloSHdWYVN2dHZMSjA0TWlCeTNMekxjTTE5VnJtc1ZscWNUWGg1eGo0QWdONG1TeVJ3SVJuaWE1VDBoQkhDdHF0TGVmTU05QjFTSG9nL0VUU2ZRMFVmenZqMERNdXZPWGJUZHZXT0JMTk4rakdaOFJ3Q1kwNm90OEkzYmZ3TmhIcy9ldUM3NU42Zjk0L21Cem41bzVHa1pqb2NRUS9IaEZnODA2dThjeUkvN29lNnJLb3g5Nm1Ka1NmYW9OdUk4aXp4bUp4S0IyYUc0STYvYWh2Y1k3bGxHVzVCcUkvYm1RS3VjVjdVTjAxYTF6SEJQMDFHK0luTkpOaGhhNWFmZDhvODJHUzZhejY4ZmNMMHNHOUtxUTNVQ2NNZlZSWnJNVWVkTExJelV5RE00YmE0MHgzRFRabGJBa2dWRGJOdzFvckVNQlVGMnl0WFVnU3pjd3JJMzJSVlcxdExvcE9xOGl2TFBMUXNOVjgxWEhSbW43S3hka3lsVUpjTW5YSDZGZVpXblhUa2dGMEdiaThvcDArNWlmVWZPRURHdGV1V3dBSm9VVUxVb3BMSHFpT0d5bmZ3WWsvTWtLU0xKZ1JZNWlpK1NIcERkWW9mQmJ0dE5NYjVQRlNkZ0w4eGt0QlMrbExweEkzVXBYQnFGbWZTaUtwTHg5ZjJmUC9Td1k3SHl3c1hrVExkTFIxck9ENSs5am9Mclo0ZlB0NHpNZExkMFVubXRaUEVPdzNVYjZaenNaM3ZuL2habEVjWHhGUVNDVUVIRmE2WkZhYVgyekx5OXl5S3dLR3FKUWF5VUlCRnBxV1NaWlhkS0N6WEVTMEp5Q1pNRUhxQUVURVF3Q1ZBUUVjdEN6VXYzL3BwZzV0MGQzcGt6N3k3NDdtNzU4UG5ONTVGbmQzWm16cHh6NXB6dnFQd0d5eENhRlNpZkxOdXhBa3RZc1dNWjdlUVNXeWN5ZURPaExxRlZsYjVuR3JqZzBEcldyTUNJM2Z5V0ZSdGlmV3R6TEVKaTYwU0s0Rno3VDUxbU1Sd09icWZYUWx2WW5IeTBZU1gyZ0pVYlBsSlpUdU5wMmdFQWg0dUxMZjRnbkpYd0FNMEtpZHBwRXJNNUdYTTR5bHR2SEQ5K283WGNnVG1TTjhkbzUxdWlwSFZpMllnTGxNdyttVkpqSmMwS09PdUx3ZEh2MWwxeUYxUjE5TlVYS3k2SzYvczZxZ3AwbCtlN0I4ZjRSWmFXQVlwREhMR3B2anlUNENuZUlkWjFhNE44N2N0ZHcweXlvNnprcUFKeXRLVE1NY3h3Ny9yeU5XM3dZcVg1RHI5Tk1LdFhzMmFMYVNtaERUNnZyRmt4cExrc1QyaVBGeE5pMmRaUmxVV2JYSy8ycVlwNDdEdnhjUHI3aWhXM0ZQZjE0K0hzdENNZWxlVHhKMCswK0kwSW1ZYW51cDRscG84M0t4N1NmSnlscGRlcnN2N3dDSXYvQ0NGUm9pMFRjSk1TbmNQOVZSa0J2enFIbkFnNGE1azJFaGVHV1B6SXZEbGdKVmJzQmt3cEgxQkd5RUE1cG15SUJhdTQ1c3l6K0pWeDFKN3UxUnN0N2M3TTJsbXNqSmppVHF0Mnk2WTNXbnVYL0NjVWlFT0NxRVcxSTBiQ2F1M1VyVmRHUmIxMk1xOU9RQXc3dGZ4QklSWS9NLzFCV3BQSG90YXphWmhRVmFlTWtyb3FURWc3eXlMdEhGb1RQZDNpZHlJWFVjR0xUL1FGcjlaTHloMXdpUzdyakJQT1dJc1czeTJLdFBpYjhQRVk2d1RUTjlJb0o2OVp1U09hODJqVXRaR0pwaFBHaDF2OHlkenhtSkdXUFJRUFUyZlNVYS9jSWZVTzZtZ094Y1BaYVpneGZxN0ZYd1JIejlISGQ4dFFYREkxVjRlVk8rWXdOVjNKY1dpVFBycWM0Ni9IVzhJRHNFYjFtL1FyV1Z1b0tTMC9xcGpBMFhKNkFMUlk2Yy81WmpYV0NQREh1cDRSN1hMeU4zR0x6bkZZTVlYRERtN0RiSElGSmRFK0Y3YWNNTVZwcTc3a3pBck9NM1FtOTlkMkZ6YTJYYXVvT05mV1dOaFV1OS9RMGN6RG5Fbk1kSDdNRkIrTHhVL1RsdlBXRkpVZEhCcnRpcFNmbWhwdklSMDNHMnArVXFTMFl3bzc5R0pTdG1yTDJxZHByZG1obUpBVGgxekViTU9FRGtYR0w0MHhDRUJ0dUM2ZDV3NU0yRGJzRCtOeU1DSFVoK3FsRDJsVytRQWF6Z0VhSGVVckVvb3FrSXlLSnNtUTgybjBwUCtneXBYWXQ2ckw5MkpDOGxKQTdOcGhZS0N2SURrVlZ5U20yZ0dJZGorUmpMRVBMOVFpTUNHZHE4TjVnVzFnR1EzSWdJYUxCdHY0QmE0R0tCMzdMaGN3R3hQV3huTXFYalJnVUl6b2pVRUdYSzFWSUdnZ2NZTHJXOTZBZmFWQ1BDMFV2aTlMSnllU0c0L2pFRElpdmdsYzFIbGtQY0UzYmFGZXQ5VVRBK2dTVTZIcVIzeGFNYWJvS2pMa0I4aDJuY1pRWmFkS3QxQ0Fsek42MDZtL3NZRWZMMjNGS01oWDNOQ05qR2tyQWl4MUFXMGY0VkRwcXA3aTNRZzVqTnFyZUVIaURBOVJvcmpsc3JzUkEzTmNnbW5mS2tkOHV2ZmZ1WWlrcVJmeFFqZUh4QXo1aWx0cVZXUk1JekRGNVhEdmVkeHFETlJjbXIrQk01NFFQNW9rVUQzS2NkeEdiaWdFOGg4a0dSd25kdDltZUhrYnoyUkZKa0FUdnNPakZPWEpXOGdZOVJjeGtlbVFxSGYvVEVWTExWNWlOalZZc3ZxeFVzVWphcEFiYm9uUlJLbXM0dTJZTjAvajRBQlpNL0FUZUFoUHN6cm4wTlhHMjRXRlp4cXVlcnlONi9FUVQ4aGFqZ05ZQ3NSOEM3MUdwc1RRcW5oSWI2L0xnaDNwUWhEaW9tNlZLVWlzOFo2bG5zdmFKc0VWZlZvWkJmdWJvQkRxSE94OHJJTDFtTHpWc3hVa2ZXc29pU1NkUnBuWDJWK29Jb0hyUXJhSHBNeVNwQzhTQlZsTVp3RVhtUEpOeitYS2FPbnA4bUNLeTdsbWF6NE1KNm9sNWs5d01qOGJUSEd3VEJrMUY4VmwzYU53bE9GQldoQ0F5b1NIeko5Z3VQaWJwRS83Rkk3enR5K01mc1JuUVBleUdpNGk5OG9VejVKUGNEelp3a2ZGMHdlMWlja3FtTjZiU00vTklqNUlKSnM0SHA1aUw5VG1CWWN5NVVQd0ZIWUlZMEJEZEowL3FYaEN0OXVUeWNGT1ltQ0ttWHFZbWJKNHFTcVMycXgrbVVNVmY2Wlc4WUJHUGpKV09QcmxqLytvcEhocnZzVk1GaHRJUjIwRGJkWVo1T0p5dC91VmZjR2RuUzZqVWhvZ1dhYjNCRXpRUkNaQTFvSnVoODRPWFQwaStzZkdDYjZZL1pEcnNSYUJMTVZtZDZvRnNqcFNpWUxzQUovTVFYb09LU0R5SEM1djRnZU1WRytmb3MyWEpzZUZ1NDArcmRuTkVyM2lObXgwNDJ3MVU5MEJtTjBtUjRrelFya3VKYkZ0cXQ1NHdsVDN4cG83aTJ1Z2dDa1p3U1FRT3ozRDNENjBKVWhDS3ZPa3BWSHY3OE5YZTlNUlF1RVFod2cvRE1JNW1PY2hiem9WU1ZoaWJxL2FPSnI4RjJFS1gzVzhuNFYwWE5QRkM5MWdLczg0MDFQSDlNbGtobk9jdVZ2NFp5VEJSanpMMGhzT1I1NjFvS3F6bmFUeUNybGtKSi9MT3lNNFRhQ1ZhKzZvYXMzTHkzTzBsaExmMG9Za3ZHL3VKZzVnV3hnZ0ErdHhsUDRoM0RGY0U0M1UrUzVreEpIQlZkeFJnUFZrSUliWWpoaGdtbDlKcWoxVkpBRVFxU3V0TzhMbHFSU0E2MjFJem5sYWdzZ3dYTklxcVdVTk5qUFhVWTFnNG5NeGdPTnZwS2NJOXE5dTMwUVMvaXJIQU1jK1FURFZadVk5SWcwMFdKOWRoV0crNHYwSW1LS2FDZ1NIOVRDcmYwUWdPV2ErcHg3SU85S0F0c3JxbGwzdkp0bVR0aHpJc1dIS0N6SENLUVB6U3dPL1c1alVsUFdsbERWeDlxUVBuOHRkZ1NsUHd4RlRscG0rMWlQU1J5eGZXZUZVRTFKWnY5MDJ6WW9kQklJQm1ONUR0L2g0aEdETFdvNWNaR29xTHFrZklvQjFacXA1UmpNQllQREpSZHM2VG9SaEo4WkMrR3djSkJZMW5VT01MZFJjcFMvbDRsNzZTMWJIeTdaQXRKbENOTHVRN0tiajQzMkk1eXQ2aUN5Rmt6WXdQYTRhbjdoVW1oR20veFlMc2ZmSWtnQmhacVozTnNuNmV6UDJnU3VNdjlOVmU5eW50bzVjSFhhNS94dDAzSkpQVEFSY2drMm1QMnlSS1RFVWVCbUMrRUI0ZjdxaVNBRVJuTTY5NUV4ZEFicGlaMjF3UnlMS05ETjFHUVZuVjFUeWMrK0V2bGFXWnJ4M2VoNFNNNmRUTzlqVFdyYW9raC9abGdUbm1hTE12RlRhREN2dkp5NFhKSVRmWVBwUjFuYzViOUVENnZLWUNPQ3BFNGpEbmdZZkdaK2J1WWZId2QxWTI0RUozdmlWdnBkMER4UUJHVk9pRno3Y3djblM1c0tKZ0NmTkRKY2VvcDRUejJ2Q0RuNnVHbk1rYy9sMUQ1SzJ4ekhIa2dPY3lESGsyTDloWmkzaS9XQTQvS0tWVitmYlo4V005UFhRcy9tL043a3RDNmV0dUIvWTlGcStES0xPazRBUVVBZDR2N2x2cG5Gc0ZGSVFlN0NUWjlZdDEzcTVUeUdPeTAzY0xFUFp5WmRWbEhUZ0pUSm00Y2RPQjAzb0tqTlRIZytRVlJRRHlpdUxPaVA0cVhVZnNzeGFtbWhwWXhwcXJ2ZGN2TmpUZlI1S1Y5OWcraUJ4bFc5WnhXN090ZEF0Wmd3NXlreVRmcmdIZXFCMEM1bEt2amp1cVNlZjFaZjJaQ0k1TllyQUgzZ0lWMGowenU1MEszN2VMcFIxdkE4dHQ4Y3NackVRT3BleTJWTklMSEI0UlZEU1dZdmszQlRUODUxQzdCMzdEaEFJdmdkcGZpdzBMdzhQZVJoTCthZFo0TE14dzQ1Z1lBZTdRQjZLd3E4Qm12amNFbU1hOU0zVnQ5bmlBL2ppZFJJWmcxR0gzTUgrVll1Q04wdmxmSkx3RU55czIxZWFLKzRSY2crMGpKNFh0V21ZZE1mYURKYzJLVExnbWxpUVJVbk1lZTlGK1YxbE1pVExkSStKamFkVElaZDltK3pDNlVUTHg1aGhzeU1EbXZoYllNYld0Wm1xcEJUdElPLzBtZjE0eVRUSWJUNkxvZXh0L0RaZWIvZFBaTUR2SjduckJSMXBXWHpTTG5ZbHNOaVdKN0lWYmVhYWZoTzZWTm9qVktvelBpYi80NTlyaGpYaFFoWHB5Nm1ZOFFHVWNkLzZvdmlaZEVXYmE2ZHRuUExSSG1nN3VYU2pNellzaXlGMnVuLy9iU1FuNWdKLzYvMkcrdTFCbHV2K2pJdXpBVGYzV1p2NVRUM1RBNEFQZWhmeWxtbHNhUHQ2bDkzcDZSY29TazA4a3RMR0JRNGtIb2xmdG4wbDdZM1MvK1U3VnFMcERQalJBU1pYeHQ5TGhyRVJVRDdhd1VYSkt6Rk9QNUNrYlM1bnZVdHZJNUxTelJWeWJFRUUrNnZQMjdDVjh5RlRORTk3T0QvYXZOSEROSVBzNG1RV0hFbTk1YmcxZS9XSFpoN05Qa3R2REx1SzlEV2syZXpQMXl5SEx0OXo5V1lzbWV4ZzA5dE5JK2hWQnlKNDZpMC9Td2RNNldsUUVVaWhmc0Jya0pRRUxEbzd4N3pVc2pWcFBDdTJsSG5MY0Jib0Jtc3VyYmttakZtOVBLeTl0SXFWVm9Dc0YyKzVLbW1mdk1rQytVeHBLREdUeXdhRDNySzhvdW5rbFVNTlhhbzIxcTYyUTFkT0NzMmtCNUdVMTRUYXBZOFN2ZGYyOExEemtUU0dQUU9JMWR3WFVoZGQ3SzJ0dlhCUnpOdjJHZXNYYnhIVVExKzNlYk94WlNyMTdDdjU4bXltMFE5RnFmZ1B4V1BxckN6bkQvQU43OHhXV3RtTGVGNWcwa3hNV0IvRHRWakt2bUVPMjhMdVladDRsV3IwKy8zTWZKYjFtRERUYXk5Y3pBalNaSUd5OVJtbUpVa3lrd1YzTThrWndIS3pGVTgyeUdyWHI1MnRTUndGZVZFQVlkSXNUTERtMnAxR0E5UDNjZ0dvaG9salJJbzgrYTNFREo1RkFML3BmZ3g3cmhVVFpubjFCWk9RTUpjNllTenp0dGp0TjhPcFlkSTNRa2thR25Va1NJNGt2RnA3L3RHbHBoam1iZm1sd0ZCTWVmdFVBcG5IcDJtWXo4ZHgyZFNwUHE2TWtESWFGMmJ5Ni9rZ1BTUDJrZXpTS1dlSUV1b0RIWUFKVEgvbnBaVHZFTnJrVkdmVXYwRnFHNldHU1Ywckp1VHE3RUptTW5ZcXQzNlg4aExUNWZHSm1rZEl4S0poSWZyMnl1OHhaVldLTTVSTFdLK0ZkM24xaWpHd3pBRWg0OVIzTG1YYmRFekpxZHllaGwwc2l2Q1ZtdGpqcytaZ0NGdjF6cXpjbHB5MDRRVmJJNTdoVXV6aTZlZGJjck9PZlpxSUllYk04cVdJK01SSEFyQkhPRXJ5UjJTbFN4ellJd0xHK1ZyZGN2cjhLZGdRNXlJb2dJY01EN2VBL2JFUlUrYjdSU3B1d3Z5b3lWakNvcW5oRDJLTjhrdkZIc2tkWGlySEdnL2VOMDY2Z2laSHpaOWc4UnNoQ3dLakZndWpuaHowVVBDUWNadk1wR25iODkxTWJqc1RwNTBjRVRLMGdoWUtZNTY4T0Nwd2dkOWxEd2NKbmhjZUVUakl1TENGUWRIM1I4NExjVjQ3UGpxOHhyYTlXRHEzN2FYRHR1NmpEN2lXME1Pem80TVdoajBTT0VoRStMeGd5MytmQlVHWVllM3ZIRGljejgzczRZSE9maXRtQkMydy9MK1pHNFYxV0F1cVNqczdUcGVVbk83b0xLMHFzR0lkVVhNdC8zOG1UQTN3OEtpWk9zRnlkekFwUENvVXV5RTBLbnlTNVM0aU9ETHNNU3psc2JESS80TkZHaWtUWjBmUERCRFc4Y3pvMlJNdGR6SEJjeVBuM3h2NFNOamdZWFB2L01pNWQrUEVqakhHR0dPTU1jWVlZNHd4eGhoM0EvOENvcjlPRk1ERXZJd0FBQUFBU1VWT1JLNUNZSUk9In0sZnVuY3Rpb24oZSx0KXtlLmV4cG9ydHM9ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBZ0FBQUFJQUNBTUFBQUREcGlUSUFBQUIrRkJNVkVVQUFBRC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vOXRibkZ0eWNTa3A2cHNiWENqcHFscGFtMXJ4c0docEtkTlRsQm1aMnBxdzc1aHM2NVJsWkhuNk9oYnFLUm12TGhWblpsVlZWalQ0K0poWW1WYlhGNVBVRktSazVXR2lZdFhXRnFmb3FWZFhtRlJVbFIrZ0lOZllHT05rSko0ZW4xalkyYVltNTVaV2x5ZW9hU1dtWnlFaDRuUzB0TmtaV2hTVTFaT2tZMVdWMWw5ZjRHZG9LTk5UVTlPajR4bFptbVExZEdhbTUyUWtaUDE5ZlZOam9yMjkvZDJlSHFjbnFGU21KUjdmWDkwZG5qdDdlNkFnNFZvd0x1Vmw1cGNYVjlOallxRGhZZFFrNUJ6ZEhaWnBhR1RsWmRlcjZwVW1wZGRyS2RrdWJXbXA2bWFuWis4dmI2SWk0M3A2ZXJJeWNwWW9wNXB3cjFqdDdLS2pZOWx2TGVNajVIZDNkN1QxTlJXb0p5MnRyakV4TVpodGJDZW9LUFoydHZPejlCNmVudjUrZnJqNU9Td3NyUDIvUHZhMjl0MnpNaXpzN1c1NWVKWWxKR3FySzU2cXFmYThmQ28zOXpwOHZHM3VidGptNW50K1BlbHhzV3RyN0R5OC9OLzBNdFZuSmpJNittK3Y4Q091TGE4MU5OWG9aMkNzYTZKMDgrYnY3Mnd6TXR2b3FEZDZlbms5ZlRSN3V6ZjMrREgyOXFiMnRmUjA5U0p4OE5qbkptUG1rektBQUFBSG5SU1RsTUE4ZWNFWTltYXoxYW5IRE1sK0lVK0VnMlFlMHB5Q2JHK3VXcmd4eXU1aDFid0FBQWMra2xFUVZSNDJ1emJDWmFESUJBRTBCSmMwYUM0b0RNbTNQK1lPVU1VRlhqMXI5QlFUZk1BbnRrMjEwMVZaWTc4ZTFYVld1WjFLeEVpMitmbEpoemRvR3FtMlNBZ1F6MitIZDJyS0d1RkVMVFQ1dWdabGU3eHJGWXo5WjhseGg1UFVYcDM5RHloTzl4UDFuK09RckhWRXJjeUM2TS9MR0l4dU0wd2NkQVBUellaM0dJWVdmNHdaWHJBNWRUNGNoU3FiRlM0bE5Vc2Y5aXlSZUk2TStlKzhCVXpMdEt0am1Ld0tsekFUa3ovV0dULzhHNHVITVZqVS9ES2pvNmlJbVo0MUhMN3gwZEwrTEt3Kzhmb3JlQ0Y0ZUUvVW43YXdJZnhIeStOMDNwZS9NZXNrVGduWi91UDJ6YmdqTVZSNUFxRnd5U24vd1RzSFE2eWphTUVpQThPR2ZqV1B4R2l3d0dHOVUvR2tSVmcrZDBqSWJ2Q2p5U3YvNUpTR1B6bXk3NGQ5YVFOUlhFQXZ3N25HQ3R1aW5Ga0R5Y3NoQ2JpMVBBQUlTRVlZbmt3bW1VUW9YUXJEVGdVSFNOUmtXMFpacytHaEJCTmx1aGN0ajJZN0hPdXBiTVd0WUN2NTl6ZlY3aW4vZi92N1MzdmY4ajRYZXcrK1A0UG5jZnNIaWFCUTJlU2pld0ZjQWk1MllpZUFvZlJtTUJHSXZEZi9wQWFiU3N3K3dnNHBDYjRCcEE0Tnh0cUhEaTh4anhzQ0lGZkFFTE56d1p6OFFLQTNEZy9BYUp0Y0FnOEFUSitYWURsNkN2UThad0hnQzdTTGJYQm9yMVBmd0l5WnBnakg5RFFhWmMyWHRzSDRHMCtuM2tIUkR4ME1RY0NqU3ZndVJOOStWYzNiUkVnNVpjVlJmbVlBeHA4ekFHTk95RG54OGJ5RjZyMkFWaFdFcXFxcHI4QkNVNDljQVlJaVB3dWJheHV6aGVXOXM3QUlpbUpjcXdlUzZzYWpTb3dmWGNESlBBUFlPZkNlUHNieTcrdzh4Y3NHVVd0TjdQWlpqMnRmcUJRQmJ3ZW1tZkEvOE8vVVAxUzJRbTM3QU93Vm01RU5VbUxObVBsQklVcU1NRnVtMEwvRWZpOGF5ei9mSFdwc3JEZDJsMzhDWmJNV3JxcHBlUmFhaXZiaUtsSi9GWEFLOURiQWtiYWV2aWJiLy90OE81aWNlNE5XUFFCU0dyeVNueTlKbTBsOVJ5UTBWZUJDWGJURk82UFFKMHpNL3kvNitFZlBqZ3N6b1ZDTndaQWt1T2lHSmRyV204RVRwRlhBZTh6VXI4QjUwNk9yZkEzbG44L0ZMbzlBT3RpTUNpS0szS3FWd1ZpeUt1QWovVnpZVzRBbC8zaHY2OC8vb0ZBNEk0QmVLbVBRUHhJbGdoVWdRZXpaTFlBZjR4elgzdjRHOHZ2TUFENkJBVEY2eXJ3Q3ZCeXN6NW96d0J5VitIL28zSVYvcUdBOHdBWUkyQldnV2l6WGxaUDhlYUFuOFpGY0h2NHR3Nkw1dHZmZVFBTXZSem9WWUdHVVFVQUs0SEFWNERMYnNrTS96MWIrQThhQUZOL0ZmZ01PRTJ6YXg3QXFDLzhENnp3SHo0QU5LckFQL2JPR0xWaElBcWlpbzBkaDBBY2drT2FzQ3dFVWlSVjdxSTJiYTZRTmdkSTRkS0ZqY0VudFlRTVg2REIybDFWZjVoM0JUMDgzMzlucGRtY2V3bFU3MEg0cHdrd0dBVTREVmhUajRBSEMzLzc5VThVWURBS25BSWpTK0ltNEZjdi9EL3M4YWNMWUtOQW13Ti9nWkhablBWbEFQOG8vTE1Gc0ZIZ20xT0FzT2JjQXRaN08vUzE4QzhRd0VZQlVnRWVLSmNBT3hUK1JRSllEbkFPZ2VHVzhES0lOYjVBK09jSllBcThrd29RTHNVZ25zc0EvY2FYaFgraEFBYXRBQ3V1TFZDOWhlRS9YWUEzVmdHV1ZBZUJYZmgvL3Z6MkQzMGx3RFVXUkMrRUdEUysyc2N2QVVaNHJCb1kvZ1NDeGxlTUVtQ1VUWHNmTExnSE5iNmlCQmlsSzRhdGduZDJxUEVsQVZLNEk5Z0RIMUg0UzRBVXVpblE5MXZoUWVNclJnbVFURk1OZFgwZkFEVytKRUFHOTY3WFFFM2pheGorRWlDSGplT1RJRmozbGdCNVBMdmRBOExHbHdUSTVjbnJVU0JzZkVtQWJGNThMb0poNDBzQ0ZQQmFPZncySEd4OFNZQWlGdjRLd2JEeEpRRUt1WEczQm9DTkx3bFFUQlZjQVJ0ZkVxQVlad0xBeHBjRW1JQXJBV0RqU3dKTXdwTUFzUEVsQWFiaFJ3RFkrSklBWi9idUlLVmhNSWdDOEUxbTJSdTBDQ1ZCVEZlS0N4ZVJobXlLdURKcDE0cEs3QzdyM0tIM05GQkpzUHpkVE9meHY1UjVWK2hISjRSSDNxV1pDb0JnNDhzQlhKNXBBQWcydmh5QVJTWUJJTmo0Y2dBbW1RQ0E0UEYzQUVhaEJ4QnNmRGtBczdBRENEVytISUJodUFFRUcxOE93RExNQUlLTkx3ZGdHMTRBd1E5OE9nRHIwQUw0My9qNk8vNE93RHlrQUlLTkx3Y0FDQ1dBTTQwdkJ3QUlJWUNoOFhWNi9CMEFJSHdBenRlOXJ3UEFtbTJtbWd0QTMvaDZWRFMrd0FEYUx6SExTNUZ3RFZJeEFWQTF2dkFBdmh1eFMxSGsrWXhwa0lvSGdLcnhoUWRRZFdLWmdtMm1tZ2FBcHZHRkI3RC9FZHZrNlgyNTJaUUxta0VxRWdCRDNWdngzaGNIb0QySWRmSjF1YXJybW1lbW1nS0FxdkdGQjdCcnhEeHB2MUtjek9jODI1UUVBRlNOTHp5QUN2TDdwTXRWOHBwbFBOdVU4UUVvR2w5SUFPUHhoeVJkTHA2eXQyZWViY3E0QUhTTkx6eUE5dEFJSmoyQWVmWnd3ek5USFJPQXN2R0ZCN0RyQkpNamdOdlAyVGhJRmZkUklESUF6ZkhIQTZpMkFzc1J3TjNKVExWRVMwUUF1c1lYSHNBZStaODhBT0RacG93RVFOWDR3Z01Zamo4b0F3Q2ViY29vQUpTTkx6eUFqMDZnR1FIUXpGVEhBS0JyZk9FQnZHOEZuQkVBelV6MUwzdm4yaHhERUlYaGY5TGpHdmU3Sk1zaUVodktuWWpGeHFwRlhIWkRzRlpRQ0VFcGhSUVZseStVY3F2eU4vWE9qSndaT2RpWjdUbDl0blBlTDc0N3ovVGJPLzJraHg0QUF1TXJGUURGSjRvZ2NRQmdLN0M5WGhpeGNGQk1Ed0NCOFpVT0FQM2VseUFBQVA2WjZwS2lEVFVBQk1aWE9nQ3FOUC96Y3dDQXJjQk9meXVRdjBPN0ZTQUdnTUQ0U2djQTFmam5BSUJzQlVpZE1Wb0FkUGtUR0Y5SkFLQVBBSUIvcGxwdkJScUVXd0ZDQU5vMnZwd0dJTDRWSUNza1JRZ0FHRi9XeTU4akFOR3RRRThsVDNWUVRBVkF6UGl5WHY0OEFZaHZCWWljTVNvQTRzYVgvZFdmSndBK0FrRVAxSW1jTVFvQXd2SUg0NHZIK0Jjc2VLYklFd2NBSjRCMEswQUJnRGErbUpXL244TmZGSDB3QVBDdEFKRXpsajBBWUh6eEtYK2R0MStWamFBQW9EOEppWnl4ckFFSWpTOW01Yi9nNlRObEp4Z0FPQUpFemxqR0FJRHVmWjVUK2I5OHJTeWxOUURnb0hpMGtiRStuaVVBYzQwdkp1WC9RbGtMQmdBZUltY3NTd0MrOHl6Lzk4cGlXZ2VBeUJuTENnQU94aGRlL28rVnpTUUFnTVlaeXdZQUhzWVhzL0wza3dBQUdtY3NJd0RlY0RDKzV1VGpDMlUvQ1FBZ2NjYk1BOERHK1BvalQ5OHJEa2tBQU9LTUdkOEtHQWVBa2ZFVmovWHk5NU1BQUJwbnpEZ0E0U2VkT1JoZjBmeXdYLzQ2eVFEQW5iRVJzODZZV1FCNEdWL015bDhsQTRESUdUTUpBRGZqaThGN1h5UnBBQUJuekxnK2JoS0FZV2JHVjVpWFRNby9MUUM0TTJhcUJ3d0NNUHlaNWFFdm0vSlBDd0IrVUx6TEVBRkdBSUQ1czN2dnk2ajhVUURTYndXT21DSEFIQUNmamgzVWp6K3o5NzZLWFI2bEFBQS9LQjVUSm1JTWdGZDYrNmZibjlXaEw2L3liMmE0ZW1ySFNCc0FnRE9tRjRHU01oQmpBSHpTNi84NzNmNlgyUno2ZmxIc01uM3lsTDRtOE1wb0xaY1dBRGdvM2pYNlFSbUlNUUIrNnY3WHp6K1h4MThiWCt3eVVUaW43NG5ORnhybFlnNnVJMHZkQXp0enlrQk1BVENzQytEMkd2MzhyK0F3ZnBibFh6NTNTai8vK2NxVmJyaU5LblY4QWt4c0EwMEJzT0hncW92bkw5emdNWCtPNVQvVkhQK081ald4Ujh1MUhBQ1FmaEhJRlI4cEF6RUZnTDhBM09Rdy84UDhmdnFwdXlmOThlY3JQWTN1Y2szZkVRWUF0TEVHbUZCRWpBRnc5c1MxU3h3V2dMYzhEbjFqdVZVNDU0OS9wRkRYdDhRV0I3cGdBV2lIQUdZQTZBYTRmRHJkL0YweXZ1YW1GSlQvUHIzNjYvSFg5dWZnK1c5ekNXQUZnUDROdVBMbTllUUF1R1o4UWFEOFlmWGZXY3gxd2Z6YkRETUExbG5mQW5BNjlQMmQ4ZG55cnpmSFB4QTgvcTRDc0RZeEFPNFpYL0h5Yi9qbHZ5OG8vOW85R0wrUkRoQUFHQnBma1pUdSthcy9sTCsvK2dzQXMzSFMrSUx5bjBiTFh3RHdNNi9LLytqb2JQa0xBRUhtVWZsSGYvb0pBR0ZjZis5YnFrYkt2MXdMVjM4QklCcG5qYTltK1orTWxmOUFPSDRCSUlqanhwY2FMd1RqSDJtVy82NGkvUFFUQUlLNGZlaDdxNnpMUC83ZTkvZjhCWUFGenBmL2NEVTg5SzFjYVhUL1dmNENRRE91RzEvL0tIOEJZRjRZWDM4dmZ3SEE2ZkwzamE5L2xyOEFJT1V2QURoYS9uZGJPZlFWQU9hSDhmWFhRMThCWVA0WVgrajhCUUMzamE4ci96djBGUUNjMXIzL1gvNENnSHVIdm9Va3hwY0E0S1R4MVhyNUN3QmlmQWtBTGhwZnJaYS9BT0JRK1lQdTNicnhKUUM0OHQ0M3BlNHRBTGhwZkxVOGZnRkFqQzhCb05NUGZjSDRTcTU3Q3dDZFgvN1YyV3MrR3NsMWJ3R2d3OHUvWGVOTEFPaDA0NHROK2JzT0FNZnlOMkI4Q1FDdGhsLzVxNG1JOFdXLy9GMEhRSEhMVkVWTjlCeUg5NzcyVjM4QmdEQ0RmUWNtOVQ5alBSVi85V2RRL2dJQVlhNU9IbGkyYklmU0tkM1pQcnF6eUtIOEhRZGdxZUtUb1NONi9KczNud3gzZ2xPMWUxMWRUTVl2QUJCa3FuZVpudi9XUFhrVjV2NXpOZ1VnQUdRWEtIOS8vSHQ3SytwM0hqNVl5QVlCQVNEVFhLMEU0MS9mdTJsTGo0TE0zT1h4STFBQXlEUkRWYi84OWZqN3QyenJxNnRvVmsveDJBa0tBTmxsTENqLzlYdjd6MnpyTzdTOG9lSzV2NWhERHdnQVdXWFFDOHUvZjlPV2pidVhMMW15WFlXQnJZRDFveUFCd0hpZy9NUFZQeHovb2tWSDFaek1qRm5mQ2dnQUpnUGwzd3ZscjFkL1BYNEFnTmRXUUFESUlHTjlVUDdoNCs5NTNsR0ZabUt4R0VGdUFUQTRHWlkvclA2ZTV3T0E1K0g0UUpjNGdjNEFjSFY3cFB6N1lQd0JBSGhtN29nVjdBb0FRZmx2alphL0Z3TUF6K3BXM3c0TEFLd0JHQS9LZjArcy9CRUFrRXdzbEw4TTZuUUFiazNDZTE4WVB3SUFtb2Y2N2JEOGJXQUhBekFVS2Y5dGZ2bkQvQkVBa0pTbTlTSWdmeDNjb1FCVTQrOTk0ZkhIQWNEejdiOWJBUUdBSndDemg3Nzl5T3FQQTREbndVSzVJYVR6QUxpS2xYOWlBR0FySUhjRWRSUUFRMGVpNVg4SXlqODVBTEFWa0Z2Q09nYUFLYXo4MHdIUWdqTW1BREFEQUMzLzlBQ0FNeVkzaFhZQ0FHajV0d2tBT0dOeVZ6QnpBTUQ0aXJ6M2JSTUF5T3JtVmtCdUMyY013QmhXL3VZQXdKMHhBWUFMQUlNZVV2Nm1BQUJuVEw0WXdoTUF4UGp5UEpNQWdETW0zd3ppQndCYS91WUJBR2RNdmhyR0NvQ1k4UVhsYnhnQWZDc2dBRmdIQURXK01nSUFuREg1Y2lnVEFGRGpLenNBd0JtVGJ3ZHpBR0FJTTc0SUFBQm5UQUN3Q0FCdWZGRUFBTTZZQUdBTkFOejRJZ0FBdGdKK0R3Z0FWZ0RBalM4U0FDQXowejRDQWdBOUFManhSUXNBT0dNQ0FCVUFVUDRIa1BJbkJ3Q2NNUUdBRUFDOC9PMEFBTTZZQUVBRUFHNTgyUU1BbkRFQmdBYUF3UU40K2RNREFQbm1YelFwQU5BQW9PY2ZYLzN0QTZDQ3V5WUZBQm9BTnV2Tkg0eWZCUUQ2dHRrQlRZQUFRQUdBWHYvMS9NUHlad0pBdmJ1czF3QUJnQWFBUGIzaC9EMlBDd0NWZXZldS9RSUFFUURyKzdmdDF2UDNQRDRBNUFzTnZRUUlBTC9ZcTJPVUNJSWdES00zcVhBd0ZHVVdjVVJFMkZRTUhCQTNOUkl4bmxEd0JDYWVWNDh3VG5jdlhlejdybENQK284QzRQcjg4dWJoNy80OUFYZyt2TCsrWFEwQUhBbkF4VmxuQUc0UHUvSHVIb0RUQlRBQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFGc0RZSDBBQUFBQUFBQUFBQUFBbXdKZ1pRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBeE9ZQVdCOEEvMmlJZ2dESURtRGFSMGtBNUFZd0wxRVdBS2tCREU5UkdBQ0pBWXhmVVJ3QWFRRk1IMUVoQUpJQ21KYzYzeCtBbkFDR2w2Z1RBQmtCN09xTlB3RDVBTXcxeHgrQWRBRHFqajhBeVFBOFZoNS9BRklCcUQvK0FDUUNNUDlFOVFESUErQzd4ZmdEa0FYQTJHYjhBY2dCWUdvMS9nQmtBTkJ3L0FGSUFLRGwrQVBRUFlEeE14b0dRT2NBcG4wMERZQ3VBY3hMTkE2QW5nRU03Y2NmZ0YvMnplQ25pU0NNNHYvSk5GSkNPWGhvQ3JpZ2k1dHFTbE1saFRScWpJZkdHQTgyVGJsSk5BcUlRV05Vb3FIeG9oYzEvcUhPemdCZkd4NE91NHk3Myt6T3Uwdnk3ZjYyNzgwM1Q3NEFaR0wrSGdDdUFNREdsMzE1QUhnQ29CcGZXY2dEd0JJQTJmaktTQjRBaGdESXVuZG04Z0N3QStCK3B1YnZBZUFHUU1ibTd3SGdCY0JtMXVidkFlQUV3TFhzemQ4RHdBY0FhZjY1eXdPUUF3QjA2WnUvUEFDNUFLQWJYeHprQWNnSGdCdTVtNzhISURjQVZPT0xpM1pXSlFDdlBBRG42czhYWVVjRUFBL3pQOUc5bDdkdjM1MnJlZ0NnZm53VWxrUUFNREYvMHRIaGcrVzVhdFVEY0VZSDM0UWxFUUEzZHdRL3ZkbVBDYWg2QUtiMTZhMndJd0tndXk5NDZuVTFSc0FETUtFTmErWlBBRHp0Q2E3YTI3azFKeEh3QUJ4ci9GRlkxK2k1NEt5ajRYS01nQWRBNnVDOUtLT3Vmb2g5d0FNUW0zOUp0YTJpUU1rQjJQZ0ovdUFXWC9kT3FkN21BTXkwdDZWOG9NUUFqSCtCUDlmYVhRKzQ1dmVVMmc5cXRXQW9TTFFWVUFpVUZBQm8vcjNWOVZxdHR0amRGb1ZSSzFxWEV5MHVQdFF6b1NoUVNnQ2crUStDK1BWZmI3ZmJEMGVpRUJydHF0ZmZidGZyN1NVMDAvYVZHSUhTQWJDQmpuNWIwYnA2L2ZWT0VIVHFnd0pFZ2Q1QXYzNDVVYk1aZEVJWUJWNHFIeWdWQUdPMDkzMitlL3o2ZzRYK1NuK2gyUW41M09PbDFGRC9vTlU3ellVVktUblRMSW9Danc3VmRyZzBBQnk4Znl0SVpQNzZXd2tXVnNKRzFHakVqK3VKMDFHZ1ZkRkV4NisvRWEydFJYS21vSDRIcmFoK3F5aFFFZ0Erb2Izdi91bTMwZytqdGZuNSthNStYTmVjalFLangwUjBRMDQwT3l0bkN1T1pscEMzN2Fnb1VBSUE0S1Z2SzZKdlJUNnNXU245dUpxQm8xSGcxUHlENWtvWWRlVklNek42cHI3MHRvRlFRbEdnNEFEQVM5OFJtYjkrL1ROUzZuRTF3cjZ5VGVkRTV0OFBHL3IxVnlwcXBqVTlFK29vWDlWUm9NZ0FRUFBmbkREL3FLdGVmMFZLUDY3WUJ6cDNISXNDcldPaU8wUjBSWWxtd2xIZ3RZb0NoUVhnajlIOFQ3NlZpY2VsbzhDU1ExRmd0RHBoL2hGTkZFdi9zdWtvOEFBZENYVVVLQ1FBWnZPbmI0VWUxMGtVQ0YySkFyMUJFTC8rNnlmbXIzL1FTSk5SNEIzNDkwYzZDaFFPQUxqM0hUMCtZLzZWU1UzYkpvUC8ybVBXTU5LclRHWCtjQ1R5QVRrVDNBN3J6bGl4QUtDOUx3cksrRnM1YTV1OFN4NjB5OEpFNDVtMHQ2SE9XSUVBZ0kydklUSi9FclROSmRZK01MWExtalIvUEpQeU5vb0NvRE5XRUFERzBQd3J5UHl4cGsvUWJEVXdFVzJJQXFnelZnQUF5UHp4bGd5L2Z2ZWlnTHpJQXVadm5nbHZ2Q2tLdUE0QU52L0FZUDdPUlFHRCtSdG1vbzAzNkl3NURjQng0d3NHNWJyaFc4RzJxVS9RektKQWIzUGEvQTFFbzJOdUhYZkdWQlJ3RmdEUStNSmJNaUNqYlRJUzJtV2xtQWwyeGw2b0tPQWtBTUQ4OFpiTUpIeUNack1kUnJ1c05ETUZPQXJvenBpREFNREdGOXlTWVptakFJdnQ4Q2lwK1pQQXh2dnArWjB4eHdEQWpTKzhKY015bnFBNVJBRXkveVpkWkNVUzNuakQrcmhEQU9ER1YvcHZCZHRtL3AyeFlYTHpOeDl6Y1dkTUllQUlBSWJHRndqS3FSNVg3cDB4d3k0cnZiZXBtV0JuekFrQXFQR1Zka3VXOUFTZGgvQXU2OUl6R1R0ajdBRklkT21MbGVJRW5iWHdSWmE5bWY3VkdXTU53RVViWDVYTGl6cGpkSUxPU0xqeFpVRmc0NDNxNDN3QlNORDRzcUNjT21ONGwyVkJGKytNTVFVZ2FlTUxLLzBKT2hQaFhaWWQ0Y3R2MkJtYjR3ZkFPQVB6SitYVkdjT05Md3RLMkJsakI4Q3pKSTB2TE9zbmFQdkNqUy9iTW5mR0RwZVhtUUh3TlczamkyVC9CRzFmZUpkbFgrYk9HSzlmZ08rZkJjbTRKYk92VERwanVQR1ZTaFl1di9mMmhBVVJBSlpsM3BMWko0Qk8wRlpsZjVmRjZmTDcvd0JnZFV0R3lyTXpscUx4UldLODhmNUx6aDJzTmhGRllSdy9UL0lGUktMTGJzWmFnNEtMdE9DaXlKQ0FqclNJUzB1N0UxSnNJVkFLM2JyeGVSM0h4aVlsNlUyYWMrLzg3L1QzQmtuTzNIUHVtWStZL0FVU1h3NlNaOGEyYXY3b2piZkpYU0R4NVNOdGZIeDE0aXNNdnZFMmVkdDhTOFp2bTFGMldRNlpNUWNtVjVHMlpHMW14aUx0c2h3eVl5NU1qcUp2eWRKbnhoeGVaSGx1dlAxSEFaT2ZRT0xMUjlMNCtQYUpML3pHMitTQTlLdzRqZ0pPemQvL212dEJma3h1bXE5cnUwRVpOZ3A0N0xMOFA5UHppUnlaUEpYZkQzYmFmMVo4YnRDelhSYmdRRnY0VERlbFBKbDhuWDZwZjMvRWw3WFZEWHJaaXl6QVIrbzlLeXI1TW5tNy9IeUkrUDIzdTBHZmNKci9uTUZRM2t6K3JyOHh2cTdITHRQbm1qL245SytOSi9KbmlxRDh5VGd3SHpVS3RML0xXcUUvVWdTbUtLWnZJZC9hcGpmb1pwY0ZiUDY5WXFvb1RKRmNmZ0tWd0FhWnNSUEVMaXZRL0IyWllpbUpvMEFvUGo3RTdMSVdtLzlJc1pqaXFWNURqcy8xL25KME1mRkZ1Y3pXK3BYaU1jVjBBUjBGdEJUZ1JkWVN4WlZpTXNWMXpod0Z6blJQay9naU52OHp4V1dLckx5R2ZKVVBaOForSUp0L2J6SlNaS2JvcWlQSVlib3FNelpyL3BRWFdmOTlyQlNkS1lHTHI1QUhhdWxmanFKZStzNTVkYVVFVEVtY0E2K0UvMFlCUU9KcnFmR1prakNsVVY1RGp0WDdtYkhUZHkrZVp2Ty9aVXFsWWwwSlo1bXhnemYxelcvMjF3V1U1bDlVU3NXVXpnWHNTdGlNQXJzN3RWMVU4eDljS1IxVFNpZThVZUQ0ZmUwWWRQcVBmeXNsVTFMbERlU1FuVnNNN2UyQkZqKzlYeU1sWlVxS053cThQTnpmUDhUYy9JdEtpWmtTdzQwQ2YwRWUvOEZReVptU2cyWEdhb3luZnp4UkMwenBzVEpqRlAyUjJtQnFBeW96aGxCTTFRNVRPMUNac2RZTmhtcUxxUzJvVVdCRFhXait0MHl0WVdYR05wZEY0aXZJMUNKVVptd2oyU1MrQWxvdkFGUm1iRzBaSmI0Q0FBV0Fpbyt2SjR1NDkzb0lCWURLaklWbGx2Z0tZQlFBS2pQMnNPd1NYd0dVQWtCbHhsYktNZkVWd0NrQVZHWnN0ZXdTWHdHZ0FwQ3FvNmR5Q0NDYWZ3TlZBS2dYeGZka20vZ0tnQlVBS2pPMktOZkVWd0N1QUZDWnNUblpKcjRDZUFXQXlvek5aSno0Q2lBV1FIZEhBVmJ6YnpBTG9Kc3Zpc2NURVRFTG9JT1pzVDZ0K1Rld0JkQzF6Rmd4RlJTMkFMcVVHUnNNaFFVdWdLNk1BdERtMzRBWGdNb09aTWI2dkt2ZkhYb0I1SjhaSzRoWHZ6djhBc2c3TTlaKzRpc2dod0xJTnpOR1NId0ZaRkVBdWNiSDRjMi9rVWtCNUpnWis4UGVuU1MzRFFOUkdINlNySUdpWk5GRG5KSWM5OEozeUVHeXlDSzVRdTZUODhaQ1UxT0pRRnVyOUlEdkRLaHFnUGhKS2ltK0JHWVdnTFZtVEUzeEpUQzBBRXcxWXhhR2YySnBBZGhweGpRVlh3SmJDOERHVnNESzhFK3NMUUQ5elppMjRrdGdid0VvYjhiVUZWOENnd3RBY3pPbXNQZ1NtRndBV3BzeGxjV1h3T2dDMExnVk1EZjhFN01MUUYwenByWDRrcXd4SXFNME5XTjZpeS9KR0s5a2xwWm1USFB4SlpsalRvWnB1Q2pXWFh4SnR2aEtsdjMvWnN6cThPL05jRSsyM2I0VkNGVjhTWjZ3SSt0dWE4YUNGVitTT3p5VGVUYzFZOEdLTDhrR0szTGc4ODFZdE9KTHNzVEU3SU9BTTUvTHh3TmYrdWFNQVh3akgrUm1MR0x4SmRnQ21KRVQwbStxUXhaZmdudkF3VEdnVjJ6R29oWmZnZ1dBbGh3WmFzYnE4TTliQVY1MmdleDZLMUNIZjhFWWUxdHk1YW9aQzExOGxUWFlleUpuTHB1eDJNVlgyUTU3RzNMbjJJeUZMNzdLM2dCL200Q0VtN0ZhZkpXOWdqWGtFRzhGNnZBdm1ZRXR5S1YwVVJ5OCtDcDdCdXZJcWRTTWhTNitpdFl2QUR3ZUJFKzRHUXRjZkJVMU9MZ2p0N2daQzF0OEZTMXcwSzNKcjdRVnFNUC8ydWdGQjhiTFVBRTNZekdMcjVJR1J4NjZzQkp1eGlJV1h5VWJuRXpHNUJzM1kvR0tyNElwZWo3dkE2NmtaaXhPN2kzN2duTkw4aTl0QlNKZStnNWFkMkNlSHdkZjZwdXhTTVZYd1F4bnZIVkJXZnliNmpqRlY4RUtQZjlQQTg5eE14YW0rTXBya01RNUNSNXhNeFo0K0xNV2x4eTlIeURpVDQ3R3VmUWRzc1VGcjJGUUJqZGpBWXF2dkJZZmd1NENrdFNNdVMrK3Nob2tJUThDckcvR2ZCZGZlVy9veFhzV2NNTE5XTFRobjh3d2JPbXhEaTM0L2VmSHIvZjNuOS8vQmhyK2U2TU9KOEZ1QktvUE8rUk1wbFM1TjUrQXhUNEt4dFVpeDlQSEFxcWNSNVIwM3N1UThLWVBHT2I3SlpHSzlTRllIUUpoUFVMeVVFOENqczBuRUxXZVh4SUliclJDWG9UM2hLTDcxOTdkNERnSUFsRUFmZ29DaWx1MVc5dUswZnNmYzVOTnM1czBhZExHSDBEZWR3YkNNSTlSREg3eEdKQ29FOTRqa3BrTlNjc2c4S2FLYWNBQkZTM2VOaVYyTDVpQ3ZNWUhHcllDQi9ObDhZU0pZRkl1K0ZBLzA0Rkl2TVRwa0FRNGZDNzY1NlRvVHc5d0JTU3N4d1BQQVVsNlVmOTVMWkFJZ3dVTTg0RElaUmNzWXBrS1IyMmNzRkROQVpHSTZRcUxkV2w5TVhZbzZvbzFTQjRFb3BRWnJNU3lERVNvcVBIQU1wQ2kvKzJmWlNCQm1jSEtKczZKUmVSZVkzMDl4NFFpa1Vsc29qNzJYK1VQbzZ5d2xRdmJnZURwQmhzU3JBTmh5eDAyMXZXOEhRaFc3cTdZM3RWeENRUnBsQUw3RUhLY0tUQ0ZGTmlQa0hxbWdHaUR2VFdLNFdBZ01tWGhRK2Z1TTNrM3lBN2VWRDNYZ0ZlRGErRlphMHAyQlY3a3luUUl3K1JLOWdXN0drdFpJeXh0STg4M1JzV2JLMjVuYWIzdis2OVpJMDlLcVVGcnpkUjRKWm5XZWxCS2ZVdGpzYklmTHFSOTdpY2JXOFFBQUFBQVNVVk9SSzVDWUlJPSJ9LGZ1bmN0aW9uKGUsdCl7ZS5leHBvcnRzPSJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUtBQUFBQ2dDQVlBQUFDTHoyY3RBQUFBQVhOU1IwSUFyczRjNlFBQUFFUmxXRWxtVFUwQUtnQUFBQWdBQVlkcEFBUUFBQUFCQUFBQUdnQUFBQUFBQTZBQkFBTUFBQUFCQUFFQUFLQUNBQVFBQUFBQkFBQUFvS0FEQUFRQUFBQUJBQUFBb0FBQUFBQ243Qm1KQUFBQUhHbEVUMVFBQUFBQ0FBQUFBQUFBQUZBQUFBQW9BQUFBVUFBQUFGQUFBQVBZbUg3TUJBQUFBNlJKUkVGVWVBSHNtczFPMjBBVVJpMVlVSW0wWFNBaHNZb3FXTEhxMjdTdjFFZG8rd29zK2hxZ1NrQ1hzS0hMZHQ5RnUzSG5PbUtJd2JlYU5PUDdPZVNNWk1XMkVrL3l6YmxuL0pPbUtXK3pwcG05VDh1bnBubDVubDUvcHVWM1dtOVp0amtEWThCWTZKajRtTmJmSmFRU0s5WGEza2s2M3VlMC9BSzBiUVp0bGQ5dXJCZ3p4czcvdHhkTnMvOGhIZWdQNEswU1B1OTk0TVhZTVlhYXhOSktiZTg0Z1hmOWNDQkNKWXQxR0RDV2pLbWl0djgyd2ZlRHdOY0puTTgrNWNlWU1yYisyVHJ6QVI4WFZpTmRXQnFFdmduVFBNMjArN1J5c1ZuZFRJeXh3WE5DTzFra2JES0lZS0M3TUZtZWk3dGJMVnp0VW9BalRiMlBvYmFyNDk0dEdydG44L2hOYkpQSm1Bd1ljNHRtVHppNHlVd0JCdG52SG1wanJudGlZby9YN25meVNoYVJEQmg3aTJlN3dmUkgva2o2bW01UnpkS3o0KzRoTW9NMDNVRjYxbU56YmdhMGZ6SmdRRElRTUdEczhaY3FRZkFVL0VKNjlsY3VLaDhBcFF4SU84Y0VDQUFBTWFDVUFXbm5HQkFEQWlBR2xESWc3UndEWWtBQXhJQlNCcVNkWTBBTUNJQVlVTXFBdEhNTWlBRUJFQU5LR1pCMmpnRXhJQUJpUUNrRDBzNHhJQVlFUUF3b1pVRGFPUWJFZ0FDSUFhVU1CSFhlYmtDN3Via05nZEg2MllRV1kyY0F6Q3dBWUk2aVd3SEFmaDZqYndGZ1AySUE3T2N4K2hZQTlpTUd3SDRlbzI4QllEL2lyUUR3OHZLNnZiajRPb25sN094THlFV0k5VE9WMzN4MTlhMVAzZExXVmdCNGRIUVNNdWd4WVc3ZWZVM0wzMnN4bVltdmdnRlFDeTBBWWtEcERBQ0FBQWlBRVhPOWQ1N0JGTXdVSEZLQkFLZ0Z6Wk1NVXpCVGNJZ0FBTkJSSUZPdzFvd1lFQU5pUUUvUE5mYzdBbXd4SUFZTXFVQUExSUxteVlRcG1DazRSQUFBNkNpUUtWaHJSZ3lJQVRHZ3ArZWEreDBCY2hFUzlHY1FieXd4SUFiRWdGNTExTnlQQWJYbmV0NVlZa0FNaUFHOTZxaTVId05pd0dHZWdrNkNBUkFBcFFETzU2ZnQwTEs3KzFvNkJTMkhjbkF3YisvdXZnOHVPenV2SnZNOWw3L3p1dXVXLzlDNDJMNTFqMTMyK1NBRGxuMFpyU1VPRDk5NG9tNmZLNEQ2Y1FIQVhPa0FxQkFBQUFLZ2xBRnA1NHFLOC92RWdINDI0MDNWQUlnQnBReElPMWRVbk44bkJ2U3p3WUFCaFFLQUFKaW53L0Vxemc4WkFQMXN4aHVQQUxPTTkrWHJCZ2FBZGZNc0czY0F6TllGUUFETU1KUlZUOTNBQUxCdW5tVmppQUV6OUFBSWdCbUdzdXFwR3hnQTFzMnpiQXd4WUlZZUFBRXd3MUJXUFhVREE4QzZlWmFOSVFiTTBBTWdBR1lZeXFxbmJtQUFXRGZQc2pIRWdCbDZBQVRBREVOWjlkUU5EQURyNWxrMmhoZ3dRdytBOFFEK0JRQUEvLzlMREpHVkFBQUR6VWxFUVZUdG1yRnEzRUFRaGhlN2NNQTZwekFZWEIzQlY2VngzaWFId1JBQ2FkemxNZklJU1Y3QmhWL0RtSUNUMG1uczB1bFRKSTJ5bzhDQ2tPYXNTN1F6dXR0dnNUQmFEbzMybjIvK1hhMFVRcGpWSEg4MU9EcDZVV3R0WitjQW5iS3drdVdpbXdrMUFIcmtEUUNUc3dFZ0FDWVlQSllGQUFpQUFGamNqRlRjZ1BVcXh3RjFiZkxOU0FDWVhCY0FBVERCa0svaWRKRUJVTmNtWHo1d3dBUTlBQUpnZ2lGZnhla2lBNkN1VGI1ODRJQUplZ0FFd0FSRHZvclRSUVpBWFp0OCtjQUJFL1FBQ0lBSmhud1ZwNHU4Q3NDenM3ZjFjdmxtMUdPeE9IVWRyNGZHM1pnNFlJSmdGWURhVnpMLzAzOXg4VDdGN2laR0w1VHQraTBBSmdnQTBBTjZBQVJBVndaY2czdFVuQjRUQjlTMXlUZnRHd0U0bjcrcys0N2QzZWZKZ2ZJTmNwaXdoNGZ6K3Y3K3dldzRQMy9uUG5iUnZ5OHYwbWVURHlNQXRjWDY4ZkhDYUtERElMUVJmVHIzSXZwcnpVWUxBQ3k2QUFBUUIzUXRBQUFFUUFDMG1PdTFkUVpyUU4vMUlBNklBK0tBT0tDdkMxbm9yOFhBQVhGQUhGQ3Jqakg3V1FOTzAyVnhRQndRQnh6VDZiUnI0WUE0WUQ4YnZBbHhkYUQrcE5qQnloVE1GT3hhQUFBSWdBQm9NUTJ3QnJTYlZ0ZkpKdzZJQStLQTYxVE12LzRXQjhRQis5bmhLZGpWZ2ZxVFlnY3JVekJUc0dzQkFDQUFBcURGTktDdEFXOXZ2OVUzTjE4bWNWeGVYcG5BSUhHbU1tYlJYMnNXWEFTYklETnRqSlBxdjd2N2JnS2d4Tm1FWnNPRzgwUElsQklCZ08xc0FHQmJqK3huQU5pV0dBRGJlbVEvQThDMnhBRFkxaVA3R1FDMkpkNHFBRzBHWTdlQnkzakcwdHJvSVlTRWpaV3diYnNPQUpwc3ZWQ0FXdUVBSUFDNk11QWFYS3NLK3N0eFRBREVBVjBaY0EyTzA1WGpkRnF1QVJBSGRHWEFOYmhXRmZTWDQ0d0FpQU82TXVBYUhLY3J4K20wWEFNZ0R1aktnR3R3clNyb0w4Y1pBUkFIZEdYQU5UaE9WNDdUYWJrR1FCelFsUUhYNEZwVjBGK09Nd0lnRHVqS2dHdHduSzRjcDlOeUhhcGZpS0NKUTM5ZU5vUzlVUDNJRzRRa29xL0dnTEFYWnRjSXBBbEVmMlkySW51aCtwUTVDSXQ4MXRrS0E5VkhBWEFKZ0RpZER3UFY2d2hncU9MZlQ1OGJJUEhsNmk3TUNYdE5xejZYS3dSRjRKTjdZUzYxdlVXRThiZlBqUUJBZWJvTGE4SmNxKzEvS0U4STRQZkp1YkRXYmMraUMzNzF1U0ZBS0VkM1lTeEUxbnJiM2ttRThMRWNNUURmTnRmQ2xqQzJzdTIvQWtMQUhCOU1nVS9ZR3RRYUoyUTZaZ05aMlVCZXQwQmwybjNTK1Rwa3hubGFGb3M4SFkvdkJ1c21jRk4vTCt3MER4emFtcThEWFU5SHMwVVQ5MnpZckFiRW9ZVWdyTWcrWDJlcnBZZXY0VjN5eGlTK3RtdmVIVi9ILy9GTEJqN2xBa3Bob1BtaVNwaUkzeFVJSStrTng1TjAvUUdVcDdKTUVTcEFpd0FBQUFCSlJVNUVya0pnZ2c9PSJ9LGZ1bmN0aW9uKGUsdCl7ZS5leHBvcnRzPSJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQmxibU52WkdsdVp6MGlWVlJHTFRnaVB6NEtQSE4yWnlCM2FXUjBhRDBpTkRGd2VDSWdhR1ZwWjJoMFBTSTBOSEI0SWlCMmFXVjNRbTk0UFNJd0lEQWdOREVnTkRRaUlIWmxjbk5wYjI0OUlqRXVNU0lnZUcxc2JuTTlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5Mekl3TURBdmMzWm5JaUI0Yld4dWN6cDRiR2x1YXowaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1UazVPUzk0YkdsdWF5SStDaUFnSUNBOGRHbDBiR1UrWW1sMGMydHBMV2xqYjI0OEwzUnBkR3hsUGdvZ0lDQWdQR1JsWm5NK0NpQWdJQ0FnSUNBZ1BHeHBibVZoY2tkeVlXUnBaVzUwSUhneFBTSTFNUzR5Tmpnd01qUTNKU0lnZVRFOUlqRXlMakUwTWprNE5TVWlJSGd5UFNJME9DNDJNVEV4TVRFeEpTSWdlVEk5SWpnNExqTXhNVE14TnpjbElpQnBaRDBpYkdsdVpXRnlSM0poWkdsbGJuUXRNU0krQ2lBZ0lDQWdJQ0FnSUNBZ0lEeHpkRzl3SUhOMGIzQXRZMjlzYjNJOUlpTkRSakJDUXpNaUlHOW1abk5sZEQwaU1DVWlQand2YzNSdmNENEtJQ0FnSUNBZ0lDQWdJQ0FnUEhOMGIzQWdjM1J2Y0MxamIyeHZjajBpSTBOR01FSkRNeUlnYjJabWMyVjBQU0l3SlNJK1BDOXpkRzl3UGdvZ0lDQWdJQ0FnSUNBZ0lDQThjM1J2Y0NCemRHOXdMV052Ykc5eVBTSWpRMFl3UWtNeklpQnZabVp6WlhROUlqQWxJajQ4TDNOMGIzQStDaUFnSUNBZ0lDQWdJQ0FnSUR4emRHOXdJSE4wYjNBdFkyOXNiM0k5SWlOR1JqTTFOamdpSUc5bVpuTmxkRDBpTVRBd0pTSStQQzl6ZEc5d1Bnb2dJQ0FnSUNBZ0lEd3ZiR2x1WldGeVIzSmhaR2xsYm5RK0NpQWdJQ0FnSUNBZ1BHeHBibVZoY2tkeVlXUnBaVzUwSUhneFBTSTFNUzR5Tmpnd01qUTNKU0lnZVRFOUlqUTRMamc1T0RJMk1qY2xJaUI0TWowaU5EZ3VOakV4TVRFeE1TVWlJSGt5UFNJMU1TNHhNVFE1TlRnM0pTSWdhV1E5SW14cGJtVmhja2R5WVdScFpXNTBMVElpUGdvZ0lDQWdJQ0FnSUNBZ0lDQThjM1J2Y0NCemRHOXdMV052Ykc5eVBTSWpRMFl3UWtNeklpQnZabVp6WlhROUlqQWxJajQ4TDNOMGIzQStDaUFnSUNBZ0lDQWdJQ0FnSUR4emRHOXdJSE4wYjNBdFkyOXNiM0k5SWlORFJqQkNRek1pSUc5bVpuTmxkRDBpTUNVaVBqd3ZjM1J2Y0Q0S0lDQWdJQ0FnSUNBZ0lDQWdQSE4wYjNBZ2MzUnZjQzFqYjJ4dmNqMGlJME5HTUVKRE15SWdiMlptYzJWMFBTSXdKU0krUEM5emRHOXdQZ29nSUNBZ0lDQWdJQ0FnSUNBOGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJalJrWXpOVFk0SWlCdlptWnpaWFE5SWpFd01DVWlQand2YzNSdmNENEtJQ0FnSUNBZ0lDQThMMnhwYm1WaGNrZHlZV1JwWlc1MFBnb2dJQ0FnUEM5a1pXWnpQZ29nSUNBZ1BHY2dhV1E5SWxCaFoyVXRNU0lnYzNSeWIydGxQU0p1YjI1bElpQnpkSEp2YTJVdGQybGtkR2c5SWpFaUlHWnBiR3c5SW01dmJtVWlJR1pwYkd3dGNuVnNaVDBpWlhabGJtOWtaQ0krQ2lBZ0lDQWdJQ0FnUEdjZ2FXUTlJbUpwZEhOcmFTMXBZMjl1SWlCMGNtRnVjMlp2Y20wOUluUnlZVzV6YkdGMFpTZ3dMakF3TURBd01Dd2dMVGN1TURBd01EQXdLU0lnWm1sc2JDMXlkV3hsUFNKdWIyNTZaWEp2SWo0S0lDQWdJQ0FnSUNBZ0lDQWdQR2NnYVdROUlsSmxZM1JoYm1kc1pTMHpJaUIwY21GdWMyWnZjbTA5SW5SeVlXNXpiR0YwWlNneE1pNDFNVEl5TkRrc0lEUXdMalEzTURReU9Ta2djbTkwWVhSbEtDMDBOUzR3TURBd01EQXBJSFJ5WVc1emJHRjBaU2d0TVRJdU5URXlNalE1TENBdE5EQXVORGN3TkRJNUtTQjBjbUZ1YzJ4aGRHVW9NVEF1TURFeU1qUTVMQ0F5Tmk0NU56QTBNamtwSWo0S0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR4bklHbGtQU0p3WVhSb0xUSXRiR2x1YXlJZ1ptbHNiRDBpSXpReE1EQkZRU0krQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BIQmhkR2dnWkQwaVRURXVOekV4T0RreExEQXVOemM0TXpVeUlFd3pMakl5T0RrMk55d3dMamMzT0RNMU1pQkRNeTQzTURBM05Ua3NNQzQzTnpnek5USWdNeTQ0TnpFNE5ESXNNQzQ0TWpjME56WWdOQzR3TkRRek1qSXNNQzQ1TVRrM01Ua2dRelF1TWpFMk9EQXlMREV1TURFeE9UWXlJRFF1TXpVeU1UWTFMREV1TVRRM016STJJRFF1TkRRME5EQTVMREV1TXpFNU9EQTJJRU0wTGpVek5qWTFNaXd4TGpRNU1qSTROaUEwTGpVNE5UYzNOU3d4TGpZMk16TTJPU0EwTGpVNE5UYzNOU3d5TGpFek5URTJJRXcwTGpVNE5UYzNOU3d5TkM0NE1EVTJPVGdnUXpRdU5UZzFOemMxTERJMUxqSTNOelE0T1NBMExqVXpOalkxTWl3eU5TNDBORGcxTnpNZ05DNDBORFEwTURrc01qVXVOakl4TURVeklFTTBMak0xTWpFMk5Td3lOUzQzT1RNMU16TWdOQzR5TVRZNE1ESXNNalV1T1RJNE9EazJJRFF1TURRME16SXlMREkyTGpBeU1URXpPU0JETXk0NE56RTRORElzTWpZdU1URXpNemd5SURNdU56QXdOelU1TERJMkxqRTJNalV3TmlBekxqSXlPRGsyTnl3eU5pNHhOakkxTURZZ1RERXVOekV4T0RreExESTJMakUyTWpVd05pQkRNUzR5TkRBd09Ua3NNall1TVRZeU5UQTJJREV1TURZNU1ERTJMREkyTGpFeE16TTRNaUF3TGpnNU5qVXpOaXd5Tmk0d01qRXhNemtnUXpBdU56STBNRFUyTERJMUxqa3lPRGc1TmlBd0xqVTRPRFk1TXl3eU5TNDNPVE0xTXpNZ01DNDBPVFkwTlN3eU5TNDJNakV3TlRNZ1F6QXVOREEwTWpBMkxESTFMalEwT0RVM015QXdMak0xTlRBNE15d3lOUzR5TnpjME9Ea2dNQzR6TlRVd09ETXNNalF1T0RBMU5qazRJRXd3TGpNMU5UQTRNeXd5TGpFek5URTJJRU13TGpNMU5UQTRNeXd4TGpZMk16TTJPU0F3TGpRd05ESXdOaXd4TGpRNU1qSTROaUF3TGpRNU5qUTFMREV1TXpFNU9EQTJJRU13TGpVNE9EWTVNeXd4TGpFME56TXlOaUF3TGpjeU5EQTFOaXd4TGpBeE1UazJNaUF3TGpnNU5qVXpOaXd3TGpreE9UY3hPU0JETVM0d05qa3dNVFlzTUM0NE1qYzBOellnTVM0eU5EQXdPVGtzTUM0M056Z3pOVElnTVM0M01URTRPVEVzTUM0M056Z3pOVElnV2lJZ2FXUTlJbkJoZEdndE1pSStQQzl3WVhSb1Bnb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BDOW5QZ29nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQR2NnYVdROUluQmhkR2d0TWkxc2FXNXJJaUJtYVd4c1BTSjFjbXdvSTJ4cGJtVmhja2R5WVdScFpXNTBMVElwSWo0S0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThjR0YwYUNCa1BTSk5NUzQzTVRFNE9URXNNQzQzTnpnek5USWdURE11TWpJNE9UWTNMREF1TnpjNE16VXlJRU16TGpjd01EYzFPU3d3TGpjM09ETTFNaUF6TGpnM01UZzBNaXd3TGpneU56UTNOaUEwTGpBME5ETXlNaXd3TGpreE9UY3hPU0JETkM0eU1UWTRNRElzTVM0d01URTVOaklnTkM0ek5USXhOalVzTVM0eE5EY3pNallnTkM0ME5EUTBNRGtzTVM0ek1UazRNRFlnUXpRdU5UTTJOalV5TERFdU5Ea3lNamcySURRdU5UZzFOemMxTERFdU5qWXpNelk1SURRdU5UZzFOemMxTERJdU1UTTFNVFlnVERRdU5UZzFOemMxTERJMExqZ3dOVFk1T0NCRE5DNDFPRFUzTnpVc01qVXVNamMzTkRnNUlEUXVOVE0yTmpVeUxESTFMalEwT0RVM015QTBMalEwTkRRd09Td3lOUzQyTWpFd05UTWdRelF1TXpVeU1UWTFMREkxTGpjNU16VXpNeUEwTGpJeE5qZ3dNaXd5TlM0NU1qZzRPVFlnTkM0d05EUXpNaklzTWpZdU1ESXhNVE01SUVNekxqZzNNVGcwTWl3eU5pNHhNVE16T0RJZ015NDNNREEzTlRrc01qWXVNVFl5TlRBMklETXVNakk0T1RZM0xESTJMakUyTWpVd05pQk1NUzQzTVRFNE9URXNNall1TVRZeU5UQTJJRU14TGpJME1EQTVPU3d5Tmk0eE5qSTFNRFlnTVM0d05qa3dNVFlzTWpZdU1URXpNemd5SURBdU9EazJOVE0yTERJMkxqQXlNVEV6T1NCRE1DNDNNalF3TlRZc01qVXVPVEk0T0RrMklEQXVOVGc0TmprekxESTFMamM1TXpVek15QXdMalE1TmpRMUxESTFMall5TVRBMU15QkRNQzQwTURReU1EWXNNalV1TkRRNE5UY3pJREF1TXpVMU1EZ3pMREkxTGpJM056UTRPU0F3TGpNMU5UQTRNeXd5TkM0NE1EVTJPVGdnVERBdU16VTFNRGd6TERJdU1UTTFNVFlnUXpBdU16VTFNRGd6TERFdU5qWXpNelk1SURBdU5EQTBNakEyTERFdU5Ea3lNamcySURBdU5EazJORFVzTVM0ek1UazRNRFlnUXpBdU5UZzROamt6TERFdU1UUTNNekkySURBdU56STBNRFUyTERFdU1ERXhPVFl5SURBdU9EazJOVE0yTERBdU9URTVOekU1SUVNeExqQTJPVEF4Tml3d0xqZ3lOelEzTmlBeExqSTBNREE1T1N3d0xqYzNPRE0xTWlBeExqY3hNVGc1TVN3d0xqYzNPRE0xTWlCYUlpQnBaRDBpY0dGMGFDMHlJajQ4TDNCaGRHZytDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThMMmMrQ2lBZ0lDQWdJQ0FnSUNBZ0lEd3ZaejRLSUNBZ0lDQWdJQ0FnSUNBZ1BIQmhkR2dnWkQwaVRUa3VOVFk1T1RRM05qVXNOQzQzTWpFMU56UXhOU0JNTWpBdU16Z3pOVGsyTml3MExqY3lNVFUzTkRFMUlFTXlOeTQxTkRFNU1qYzJMRFF1TnpJeE5UYzBNVFVnTXpFdU16UTVOVFV3Tml3NUxqQTROelkwT1RFMUlETXhMak0wT1RVMU1EWXNNVFV1TkRnME5EVTFNU0JETXpFdU16UTVOVFV3Tml3eE5pNHlPVFkzTkRneElETXhMakUwTmpRM056WXNNVGN1TlRFMU1UZzRNU0F6TUM0NU9UUXhOekkyTERFNExqSTNOamN4TWpFZ1F6TXdMamswTXpRd05EWXNNVGd1TlRneE16SXlNU0F6TUM0NE9USTJNelUyTERFNExqYzRORE01TlRFZ016QXVPRGt5TmpNMU5pd3hPQzQ1T0RjME5qa3hJRU16TUM0NE9USTJNelUyTERFNUxqTTVNell4TlRFZ016RXVNRFEwT1RRd05pd3hPUzQyTkRjME5UY3hJRE14TGpZd016TTVNallzTVRrdU9UVXlNRFkyTVNCRE16VXVNREEwT0RZNE5pd3lNUzQ0T0RFeU5qSXhJRE0yTGpVeU56a3hPRFlzTWpVdU1ESTRPRGszTVNBek5pNDFNamM1TVRnMkxESTVMalE1TmpVd09ERWdRek0yTGpVeU56a3hPRFlzTXpVdU56UXhNREV3TVNBek1pNDJOamsxTWpZMkxEUXdMakkxT1RNNE9URWdNalF1TnpRNU5qY3dOaXcwTUM0eU5Ua3pPRGt4SUV3NUxqVTJPVGswTnpZMUxEUXdMakkxT1RNNE9URWdRemd1TnpVM05qVTBOalVzTkRBdU1qVTVNemc1TVNBNExqUTFNekEwTkRZMUxETTVMamt3TkRBeE1URWdPQzQwTlRNd05EUTJOU3d6T1M0d09URTNNVGd4SUV3NExqUTFNekEwTkRZMUxEVXVPRGc1TWpRMU1UVWdRemd1TkRVek1EUTBOalVzTlM0d056WTVOVEl4TlNBNExqYzFOelkxTkRZMUxEUXVOekl4TlRjME1UVWdPUzQxTmprNU5EYzJOU3cwTGpjeU1UVTNOREUxSUZvZ1RURTNMamM1TkRReE1qWXNNVGd1TmpneU9EVTVNU0JNTWpBdU16Z3pOVGsyTml3eE9DNDJPREk0TlRreElFTXlNUzQzTURNMU56STJMREU0TGpZNE1qZzFPVEVnTWpJdU56RTRPVE00Tml3eE55NDROekExTmpZeElESXlMamN4T0Rrek9EWXNNVFl1TWprMk56UTRNU0JETWpJdU56RTRPVE00Tml3eE5DNDNOek0yT1RreElESXhMamN3TXpVM01qWXNNVE11T1RFd05qTTRNU0F5TUM0ek9ETTFPVFkyTERFekxqa3hNRFl6T0RFZ1RERTNMamM1TkRReE1qWXNNVE11T1RFd05qTTRNU0JETVRZdU9UZ3lNVEU1Tml3eE15NDVNVEEyTXpneElERTJMalkzTnpVeE1EWXNNVFF1TWpZMk1ERTJNU0F4Tmk0Mk56YzFNVEEyTERFMUxqQTNPRE13T1RFZ1RERTJMalkzTnpVeE1EWXNNVGN1TlRFMU1UZzRNU0JETVRZdU5qYzNOVEV3Tml3eE9DNHpNamMwT0RFeElERTJMams0TWpFeE9UWXNNVGd1TmpneU9EVTVNU0F4Tnk0M09UUTBNVEkyTERFNExqWTRNamcxT1RFZ1dpQk5NVGN1TnprME5ERXlOaXd6TVM0d056QXpNall4SUV3eU5DNDFPVGN6TmpVMkxETXhMakEzTURNeU5qRWdRekkyTGpVM056TXlPVFlzTXpFdU1EY3dNekkyTVNBeU55NDJPVFF5TXpJMkxETXdMak0xT1RVMk9URWdNamN1TmprME1qTXlOaXd5T0M0Mk9EUXlNVFV4SUVNeU55NDJPVFF5TXpJMkxESTNMakExT1RZeU9URWdNall1TlRjM016STVOaXd5Tmk0eU9UZ3hNRFV4SURJMExqVTVOek0yTlRZc01qWXVNams0TVRBMU1TQk1NVGN1TnprME5ERXlOaXd5Tmk0eU9UZ3hNRFV4SUVNeE5pNDVPREl4TVRrMkxESTJMakk1T0RFd05URWdNVFl1TmpjM05URXdOaXd5Tmk0Mk5UTTBPRE14SURFMkxqWTNOelV4TURZc01qY3VORFkxTnpjMk1TQk1NVFl1TmpjM05URXdOaXd5T1M0NU1ESTJOVFF4SUVNeE5pNDJOemMxTVRBMkxETXdMamN4TkRrME56RWdNVFl1T1RneU1URTVOaXd6TVM0d056QXpNall4SURFM0xqYzVORFF4TWpZc016RXVNRGN3TXpJMk1TQmFJaUJwWkQwaVltbDBjMnRwSWlCbWFXeHNQU0lqTWpreU5rTkdJaUIwY21GdWMyWnZjbTA5SW5SeVlXNXpiR0YwWlNneU1pNDBPVEEwT0RJc0lESXlMalE1TURRNE1pa2djbTkwWVhSbEtDMDBOUzR3TURBd01EQXBJSFJ5WVc1emJHRjBaU2d0TWpJdU5Ea3dORGd5TENBdE1qSXVORGt3TkRneUtTQWlQand2Y0dGMGFENEtJQ0FnSUNBZ0lDQThMMmMrQ2lBZ0lDQThMMmMrQ2p3dmMzWm5QZ289In0sZnVuY3Rpb24oZSx0KXtlLmV4cG9ydHM9ImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0EwTUNBME1DSWdabWxzYkMxeWRXeGxQU0psZG1WdWIyUmtJaUJqYkdsd0xYSjFiR1U5SW1WMlpXNXZaR1FpSUhOMGNtOXJaUzFzYVc1bFkyRndQU0p5YjNWdVpDSWdjM1J5YjJ0bExXeHBibVZxYjJsdVBTSnliM1Z1WkNJK1BHY2dabWxzYkQwaUkyWXdZamt3WWlJK1BIQmhkR2dnWkQwaVRUSXdMakkwTlNBd1REa3VOak0wSURZdU1USTFiRE11T1RBeElESXVNall5SURZdU56RXRNeTQ0TmpJZ05pNDNNU0F6TGpnMk1pQXpMamt3TWkweUxqSTJNa3d5TUM0eU5EVWdNSHB0Tmk0M01URWdNVEV1TlRnMmJETXVPU0F5TGpJMk0zWTBMalV5Tm13dE5pNDNNU0F6TGpnMk1uWTNMamN5Tkd3dE15NDVJREl1TWpZekxUTXVPVEF5TFRJdU1qWXpkaTAzTGpjeU5Hd3ROaTQzTVMwekxqZzJNbll0TkM0MU1qWnNNeTQ1TURFdE1pNHlOak1nTmk0M01TQXpMamcyTXlBMkxqY3hMVE11T0RZemFDNHdNREY2SWk4K1BIQmhkR2dnWkQwaVRUTXdMamcxTnlBeU1TNDFOek5XTWpZdU1Xd3RNeTQ1TURFZ01pNHlOakoyTFRRdU5USTFiRE11T1MweUxqSTJNeTR3TURFdExqQXdNWG9pTHo0OGNHRjBhQ0JrUFNKTk1qWXVPVEUySURNeExqVTJiRFl1TnpFdE15NDROakoyTFRjdU56STBiRE11T1RBeUxUSXVNall6ZGpFeUxqSTFiQzB4TUM0Mk1URWdOaTR4TWpWV016RXVOVFpvTFM0d01ERjZiVFl1TnpFeExURTVMak14YkMwekxqa3dNaTB5TGpJMk15QXpMamt3TWkweUxqSTJNeUF6TGprZ01pNHlOak4yTkM0MU1qVnNMVE11T1NBeUxqSTJNMVl4TWk0eU5YcE5NVFl1TXpRMElETTNMamN5TkZZek15NHliRE11T1RBeElESXVNall6SURNdU9UQXlMVEl1TWpZemRqUXVOVEkxYkMwekxqa3dNaUF5TGpJMk15MHpMamt0TWk0eU5qTXRMakF3TVMwdU1EQXhlbTB0TWk0NE1Ea3RPUzR6TmpOTU9TNDJNelFnTWpZdU1YWXROQzQxTWpac015NDVNREVnTWk0eU5qTjJOQzQxTWpVdExqQXdNWHB0Tmk0M01TMHhOaTR4TVRGc0xUTXVPUzB5TGpJMk15QXpMamt0TWk0eU5qTWdNeTQ1TURJZ01pNHlOak10TXk0NU1ESWdNaTR5TmpONmJTMDVMalE0TFRJdU1qWXpiQzB6TGprZ01pNHlOak4yTkM0MU1qVnNMVE11T1RBeUxUSXVNall6VmprdU9UZzNiRE11T1RBeExUSXVNall6SURNdU9UQXhJREl1TWpZemVpSXZQanh3WVhSb0lHUTlJazB5TGprMk15QXhOeTQzTVRGc015NDVNREVnTWk0eU5qTjJOeTQzTWpSc05pNDNNU0F6TGpnMk1uWTBMalV5Tmt3eUxqazJNeUF5T1M0NU5sWXhOeTQzTVhZdU1EQXhlaUl2UGp3dlp6NDhMM04yWno0PSJ9LGZ1bmN0aW9uKGUsdCl7ZS5leHBvcnRzPSJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQmxibU52WkdsdVp6MGlWVlJHTFRnaVB6NEtQSE4yWnlCM2FXUjBhRDBpTXpnemNIZ2lJR2hsYVdkb2REMGlNemd6Y0hnaUlIWnBaWGRDYjNnOUlqQWdNQ0F6T0RNZ016Z3pJaUIyWlhKemFXOXVQU0l4TGpFaUlIaHRiRzV6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXdMM04yWnlJZ2VHMXNibk02ZUd4cGJtczlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5MekU1T1RrdmVHeHBibXNpUGdvZ0lDQWdQQ0V0TFNCSFpXNWxjbUYwYjNJNklGTnJaWFJqYUNBMU5DNHhJQ2czTmpRNU1Da2dMU0JvZEhSd2N6b3ZMM05yWlhSamFHRndjQzVqYjIwZ0xTMCtDaUFnSUNBOGRHbDBiR1UrUTI5cGJtSmhjMlVnVjJGc2JHVjBJRk5FU3p3dmRHbDBiR1UrQ2lBZ0lDQThaR1Z6WXo1RGNtVmhkR1ZrSUhkcGRHZ2dVMnRsZEdOb0xqd3ZaR1Z6WXo0S0lDQWdJRHhrWldaelBnb2dJQ0FnSUNBZ0lEeHlaV04wSUdsa1BTSndZWFJvTFRFaUlIZzlJakFpSUhrOUlqQWlJSGRwWkhSb1BTSXpPRE1pSUdobGFXZG9kRDBpTXpneklpQnllRDBpTmpRaVBqd3ZjbVZqZEQ0S0lDQWdJQ0FnSUNBOGJHbHVaV0Z5UjNKaFpHbGxiblFnZURFOUlqUTVMams1T1RrNU16Z2xJaUI1TVQwaU1DVWlJSGd5UFNJME9TNDVPVGs1T1RNNEpTSWdlVEk5SWpFd01DVWlJR2xrUFNKc2FXNWxZWEpIY21Ga2FXVnVkQzB6SWo0S0lDQWdJQ0FnSUNBZ0lDQWdQSE4wYjNBZ2MzUnZjQzFqYjJ4dmNqMGlJekpGTmpaR09DSWdiMlptYzJWMFBTSXdKU0krUEM5emRHOXdQZ29nSUNBZ0lDQWdJQ0FnSUNBOGMzUnZjQ0J6ZEc5d0xXTnZiRzl5UFNJak1USTBRVVJDSWlCdlptWnpaWFE5SWpFd01DVWlQand2YzNSdmNENEtJQ0FnSUNBZ0lDQThMMnhwYm1WaGNrZHlZV1JwWlc1MFBnb2dJQ0FnUEM5a1pXWnpQZ29nSUNBZ1BHY2dhV1E5SWxCaFoyVXRNU0lnYzNSeWIydGxQU0p1YjI1bElpQnpkSEp2YTJVdGQybGtkR2c5SWpFaUlHWnBiR3c5SW01dmJtVWlJR1pwYkd3dGNuVnNaVDBpWlhabGJtOWtaQ0krQ2lBZ0lDQWdJQ0FnUEdjZ2FXUTlJbU52YVc1aVlYTmxkMkZzYkdWMElqNEtJQ0FnSUNBZ0lDQWdJQ0FnUEdjZ2FXUTlJbEJoZEdnaVBnb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BHMWhjMnNnYVdROUltMWhjMnN0TWlJZ1ptbHNiRDBpZDJocGRHVWlQZ29nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR4MWMyVWdlR3hwYm1zNmFISmxaajBpSTNCaGRHZ3RNU0krUEM5MWMyVStDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThMMjFoYzJzK0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBOGNtVmpkQ0J6ZEhKdmEyVTlJaU01TnprM09UY2lJSGc5SWpBdU5TSWdlVDBpTUM0MUlpQjNhV1IwYUQwaU16Z3lJaUJvWldsbmFIUTlJak00TWlJZ2NuZzlJalkwSWo0OEwzSmxZM1ErQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4Y0c5c2VXZHZiaUJtYVd4c1BTSjFjbXdvSTJ4cGJtVmhja2R5WVdScFpXNTBMVE1wSWlCbWFXeHNMWEoxYkdVOUltNXZibnBsY204aUlHMWhjMnM5SW5WeWJDZ2piV0Z6YXkweUtTSWdjRzlwYm5SelBTSXdJREFnTXpneklEQWdNemd6SURNNE5DQXdJRE00TkNJK1BDOXdiMng1WjI5dVBnb2dJQ0FnSUNBZ0lDQWdJQ0E4TDJjK0NpQWdJQ0FnSUNBZ0lDQWdJRHh3WVhSb0lHUTlJazAyTUM0eE1EYzBMREU1TVM0MU56SWdRell3TGpFd056UXNNalkwTGprMk5pQXhNVGt1TmpBMUxETXlOQzQwTmpNZ01Ua3lMams1T0N3ek1qUXVORFl6SUVNeU5qWXVNemt5TERNeU5DNDBOak1nTXpJMUxqZzRPU3d5TmpRdU9UWTJJRE15TlM0NE9Ea3NNVGt4TGpVM01pQkRNekkxTGpnNE9Td3hNVGd1TVRjNUlESTJOaTR6T1RJc05UZ3VOamd4TmlBeE9USXVPVGs0TERVNExqWTRNVFlnUXpFeE9TNDJNRFVzTlRndU5qZ3hOaUEyTUM0eE1EYzBMREV4T0M0eE56a2dOakF1TVRBM05Dd3hPVEV1TlRjeUlGb2dUVEUxT1M0d016Y3NNVFE0TGpjMU1pQkRNVFUwTGpFME5Dd3hORGd1TnpVeUlERTFNQzR4Tnpnc01UVXlMamN4T0NBeE5UQXVNVGM0TERFMU55NDJNVEVnVERFMU1DNHhOemdzTWpJMUxqVXpNeUJETVRVd0xqRTNPQ3d5TXpBdU5ESTJJREUxTkM0eE5EUXNNak0wTGpNNU15QXhOVGt1TURNM0xESXpOQzR6T1RNZ1RESXlOaTQ1TlRrc01qTTBMak01TXlCRE1qTXhMamcxTWl3eU16UXVNemt6SURJek5TNDRNVGdzTWpNd0xqUXlOaUF5TXpVdU9ERTRMREl5TlM0MU16TWdUREl6TlM0NE1UZ3NNVFUzTGpZeE1TQkRNak0xTGpneE9Dd3hOVEl1TnpFNElESXpNUzQ0TlRJc01UUTRMamMxTWlBeU1qWXVPVFU1TERFME9DNDNOVElnVERFMU9TNHdNemNzTVRRNExqYzFNaUJhSWlCcFpEMGlVMmhoY0dVaUlHWnBiR3c5SWlOR1JrWkdSa1lpUGp3dmNHRjBhRDRLSUNBZ0lDQWdJQ0E4TDJjK0NpQWdJQ0E4TDJjK0Nqd3ZjM1puUGc9PSJ9LGZ1bmN0aW9uKGUsdCl7ZS5leHBvcnRzPSJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUIzYVdSMGFEMGlNVEk0SWlCb1pXbG5hSFE5SWpFeU9DSWdkbWxsZDBKdmVEMGlNQ0F3SURFeU9DQXhNamdpSUdacGJHdzlJbTV2Ym1VaUlIaHRiRzV6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXdMM04yWnlJK0NqeGphWEpqYkdVZ1kzZzlJalkwTGpZNE9EY2lJR041UFNJMk5DNDJPRGd5SWlCeVBTSTFPUzR4T0RJNElpQm1hV3hzUFNJak1ETTJORVpHSWk4K0NqeHdZWFJvSUdacGJHd3RjblZzWlQwaVpYWmxibTlrWkNJZ1kyeHBjQzF5ZFd4bFBTSmxkbVZ1YjJSa0lpQmtQU0pOT0RndU9EYzBOaUE0TlM0MU5qRXlRemc0TGpRM05DQTROeTR3TlRZZ09EWXVNelV6SURnM0xqQTFOaUE0TlM0NU5USTBJRGcxTGpVMk1USk1PREV1TWpnM015QTJPQzR4TlRBMlF6Z3hMakU1TnpFZ05qY3VPREV6T1NBNE1TNHhPVGN4SURZM0xqUTFPVFVnT0RFdU1qZzNNeUEyTnk0eE1qSTVURGcxTGpReU1UUWdOVEV1TmprMFF6ZzFMamM0TmprZ05UQXVNek13TVNBNE55NHdNakk1SURRNUxqTTRNVGNnT0RndU5ETTBPU0EwT1M0ek9ERTNTRGswTGpVd016RkRPVFl1TlRVME5DQTBPUzR6T0RFM0lEazRMakEwTnpVZ05URXVNekkzTlNBNU55NDFNVFkxSURVekxqTXdPVXc0T0M0NE56UTJJRGcxTGpVMk1USmFUVFE0TGpnME9ERWdOamd1TVRJeE5VTTBPQzQ1TXpneklEWTNMamM0TkRrZ05EZ3VPVE00TXlBMk55NDBNekExSURRNExqZzBPREVnTmpjdU1Ea3pPRXcwTkM0M01qRTNJRFV4TGpZNU5FTTBOQzR6TlRZeUlEVXdMak16TURFZ05ETXVNVEl3TXlBME9TNHpPREUzSURReExqY3dPRElnTkRrdU16Z3hOMGd6TlM0Mk5EQXhRek16TGpVNE9EY2dORGt1TXpneE55QXpNaTR3T1RVMklEVXhMak15TnpVZ016SXVOakkyTmlBMU15NHpNRGxNTkRFdU1qWXdOeUE0TlM0MU16SXhRelF4TGpZMk1UTWdPRGN1TURJMk9TQTBNeTQzT0RJMElEZzNMakF5TmprZ05EUXVNVGd5T1NBNE5TNDFNekl4VERRNExqZzBPREVnTmpndU1USXhOVm9pSUdacGJHdzlJbmRvYVhSbElpOCtDanh3WVhSb0lHWnBiR3d0Y25Wc1pUMGlaWFpsYm05a1pDSWdZMnhwY0MxeWRXeGxQU0psZG1WdWIyUmtJaUJrUFNKTk5qRXVPVGt3TnlBNE9TNHdOamxETmpFdU9EVTBJRGc1TGpVM09UTWdOakl1TWpNNE5TQTVNQzR3T0RBMUlEWXlMamMyTmprZ09UQXVNRGd3TlVnMk55NHpPVFEzUXpZM0xqa3lNekVnT1RBdU1EZ3dOU0EyT0M0ek1EYzNJRGc1TGpVM09UTWdOamd1TVRjd09TQTRPUzR3TmpsTU5qVXVPRFUzSURnd0xqUXpNelJETmpVdU5qUTBNaUEzT1M0Mk16a3lJRFkwTGpVeE56UWdOemt1TmpNNU1pQTJOQzR6TURRMklEZ3dMalF6TXpSTU5qRXVPVGt3TnlBNE9TNHdOamxhSWlCbWFXeHNQU0ozYUdsMFpTSXZQZ284Y0dGMGFDQm1hV3hzTFhKMWJHVTlJbVYyWlc1dlpHUWlJR05zYVhBdGNuVnNaVDBpWlhabGJtOWtaQ0lnWkQwaVRUVTNMak00TWprZ09UUXVOVGszT1VNMU55NHdNamcxSURrMUxqa3lNRFVnTlRVdU9ETWdPVFl1T0RRd01pQTFOQzQwTmpBM0lEazJMamcwTURKSU5EZ3VNVGsyT0VNME5pNHlNRGMySURrMkxqZzBNRElnTkRRdU56VTVPQ0E1TkM0NU5UTXpJRFExTGpJM05EY2dPVE11TURNeE9VdzFPQzR4TWpRNElEUTFMakEzTkRkRE5UZ3VOVEV5TkNBME15NDJNamd4SURVNUxqZ3lNek1nTkRJdU5qSXlNaUEyTVM0ek1qQTVJRFF5TGpZeU1qSklOamd1TnpjMU4wTTNNQzR5TnpNeklEUXlMall5TWpJZ056RXVOVGcwTWlBME15NDJNamd4SURjeExqazNNVGdnTkRVdU1EYzBOMHc0TkM0NE1qSWdPVE11TURNeE9VTTROUzR6TXpZNElEazBMamsxTXpNZ09ETXVPRGc1SURrMkxqZzBNRElnT0RFdU9EazVPQ0E1Tmk0NE5EQXlTRGMxTGpZek5UbEROelF1TWpZMk5pQTVOaTQ0TkRBeUlEY3pMakEyT0RFZ09UVXVPVEl3TlNBM01pNDNNVE0zSURrMExqVTVOemxNTmpZdU5EWXpOeUEzTVM0eU56STJRelkyTGpBM05UY2dOamt1T0RJME5TQTJOQzR3TWpBNUlEWTVMamd5TkRVZ05qTXVOak15T1NBM01TNHlOekkyVERVM0xqTTRNamtnT1RRdU5UazNPVm9pSUdacGJHdzlJbmRvYVhSbElpOCtDanh3WVhSb0lHWnBiR3d0Y25Wc1pUMGlaWFpsYm05a1pDSWdZMnhwY0MxeWRXeGxQU0psZG1WdWIyUmtJaUJrUFNKTk9EZ3VPRGt3T1NBNE5TNDFOakV5UXpnNExqUTVNRE1nT0RjdU1EVTJJRGcyTGpNMk9USWdPRGN1TURVMklEZzFMamsyT0RjZ09EVXVOVFl4TWt3NE1TNHpNRE0xSURZNExqRTFNRFpET0RFdU1qRXpNeUEyTnk0NE1UTTVJRGd4TGpJeE16TWdOamN1TkRVNU5TQTRNUzR6TURNMUlEWTNMakV5TWpsTU9EY3VNalE0T1NBME5DNDVNelExUXpnM0xqWXhORFFnTkRNdU5UY3dOaUE0T0M0NE5UQXpJRFF5TGpZeU1qSWdPVEF1TWpZeU5DQTBNaTQyTWpJeVNEazJMak16TURWRE9UZ3VNemd4T1NBME1pNDJNakl5SURrNUxqZzNORGtnTkRRdU5UWTRJRGs1TGpNME5DQTBOaTQxTkRrMFREZzRMamc1TURrZ09EVXVOVFl4TWxwTk5EZ3VPRFkwTXlBMk9DNHhNakUxUXpRNExqazFORFVnTmpjdU56ZzBPU0EwT0M0NU5UUTFJRFkzTGpRek1EVWdORGd1T0RZME15QTJOeTR3T1RNNFREUXlMamt5TmpnZ05EUXVPVE0wTlVNME1pNDFOakV6SURRekxqVTNNRFlnTkRFdU16STFNeUEwTWk0Mk1qSXlJRE01TGpreE16TWdOREl1TmpJeU1rZ3pNeTQ0TkRVeFF6TXhMamM1TXpnZ05ESXVOakl5TWlBek1DNHpNREEzSURRMExqVTJPQ0F6TUM0NE16RTNJRFEyTGpVME9UUk1OREV1TWpjM0lEZzFMalV6TWpGRE5ERXVOamMzTmlBNE55NHdNalk1SURRekxqYzVPRFlnT0RjdU1ESTJPU0EwTkM0eE9Ua3lJRGcxTGpVek1qRk1ORGd1T0RZME15QTJPQzR4TWpFMVdpSWdabWxzYkQwaWQyaHBkR1VpTHo0S1BDOXpkbWMrQ2c9PSJ9LGZ1bmN0aW9uKGUsdCl7ZS5leHBvcnRzPSJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGRwWkhSb1BTSXhNRFFpSUdobGFXZG9kRDBpT0RBaUlIWnBaWGRDYjNnOUlqQWdNQ0F4TURRZ09EQWlQZ29nSUNBZ1BHY2dabWxzYkQwaWJtOXVaU0lnWm1sc2JDMXlkV3hsUFNKbGRtVnViMlJrSWo0S0lDQWdJQ0FnSUNBOFp6NEtJQ0FnSUNBZ0lDQWdJQ0FnUEdjK0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBOFp6NEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4Wno0S0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEdjK0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThjR0YwYUNCbWFXeHNQU0lqUmtZd01EQXlJaUJrUFNKTk16SXVOekk1SURZM0xqRXdNa3d6TWk0M01qa2dOelF1TlRjZ05ETXVOVGc1SURjMExqVTNJRFF6TGpVNE9TQTNOeTR5T0RVZ016SXVOekk1SURjM0xqSTROU0F6TWk0M01qa2dPREFnTkRZdU16QTFJRGd3SURRMkxqTXdOU0EzTVM0NE5UUWdNelV1TkRReklEY3hMamcxTkNBek5TNDBORE1nTmprdU9ERTRJRFF3TGprd01pQTJPUzQ0TVRnZ05EQXVPVEF5SURZM0xqRXdNbm9pSUhSeVlXNXpabTl5YlQwaWRISmhibk5zWVhSbEtDMHhNekF1TURBd01EQXdMQ0F0TWpBdU1EQXdNREF3S1NCMGNtRnVjMnhoZEdVb01UTXdMakF3TURBd01Dd2dNakF1TURBd01EQXdLU0l2UGdvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BIQmhkR2dnWm1sc2JEMGlJMFpHTURBd01pSWdaRDBpVFRjMExqTXdOaUEyTnk0eE1ESjJOeTR5TWpob0xURXVPVEEzZGkwM0xqSXlPRWcwTXk0d05qbDJNaTQzTVRab055NDVOVGRXT0RCb01pNDNNVFZXTmprdU9ERTRhRFV1TURoV09EQm9NaTQzTVRkMkxUSXVPRFZvT0M0eE5EWldPREJvTWk0M01UVjJMVEl1T0RZemFERXVPVEEzVmpnd2FESXVOekUxZGkweUxqZzFhRFl1TWpFMGJDNDBOemdnTWk0NE5XZ3pMakl5Tld3dExqVXhOQzB5TGpnMWFERXVORFU1VmpZM0xqRXdNVWczTkM0ek1EWjZiVEl1TnpFMUlEY3VNakk0YURndU1UUTJkaTAwTGpVeE1rZzNOeTR3TW5ZMExqVXhNbnB0TFRFMUxqUTRNeUF3YURndU1UUTJkaTAwTGpVeE1tZ3RPQzR4TkRaMk5DNDFNVEo2VFRnNUxqUTVPQ0EyTnk0eE1ESk1PRGt1TkRrNElEWTVMamd4T0NBNU9DNDVOVEVnTmprdU9ERTRJRGc1TGpRNU9DQTNOeTR5T0RVZ09Ea3VORGs0SURnd0lERXdNeTR3TnpRZ09EQWdNVEF6TGpBM05DQTNOeTR5T0RVZ09UTXVOak01SURjM0xqSTROU0F4TURNdU1EYzBJRFk1TGpneE9DQXhNRE11TURjMElEWTNMakV3TW5vaUlIUnlZVzV6Wm05eWJUMGlkSEpoYm5Oc1lYUmxLQzB4TXpBdU1EQXdNREF3TENBdE1qQXVNREF3TURBd0tTQjBjbUZ1YzJ4aGRHVW9NVE13TGpBd01EQXdNQ3dnTWpBdU1EQXdNREF3S1NJdlBnb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQSEJoZEdnZ1ptbHNiRDBpSXpFMU1VUkdOQ0lnWkQwaVRUQWdOall1TnpRMmRqY3VOall6YURFeExqRTBOblkxTGpVM01tZ3lMamM0TmxZMk5pNDNORFpJTUhwdE1pNDNPRFlnTkM0NE56Vm9PQzR6TlRsMkxUSXVNRGxJTWk0M09EWjJNaTR3T1hwTk1UWXVNelV5SURZMkxqYzBOblkzTGpZMk0yZ3hNUzR4TkRaMk5TNDFOekpvTWk0M09EZFdOall1TnpRMlNERTJMak0xTW5wdE1pNDNPRGNnTkM0NE56Vm9PQzR6Tm5ZdE1pNHdPV2d0T0M0ek5uWXlMakE1ZWsweU9DNDVNU0F4Tnk0NU1UVk1Nek11TWpJMklESXhMakUwTkNBeU9TNHhNemtnTXpRdU5EWXlJRFV4TGpRME5DQXhOeTQzTkRoNklpQjBjbUZ1YzJadmNtMDlJblJ5WVc1emJHRjBaU2d0TVRNd0xqQXdNREF3TUN3Z0xUSXdMakF3TURBd01Da2dkSEpoYm5Oc1lYUmxLREV6TUM0d01EQXdNREFzSURJd0xqQXdNREF3TUNraUx6NEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRHh3WVhSb0lHWnBiR3c5SWlOR1JqQXdNRElpSUdROUlrMDNNQzQ1TVRjZ01qUXVOell4YkMweE5pNDJOU0F4TVM0MU55QTFMalEzTmlBekxqazFMVEUyTGpneU55MHVNRE5NT1RndU16QXlMakF3TVNBMU1TNHlOek1nTlM0eU5qY2dOQzQzTlRVZ01Hd3hPUzR6TXpnZ01UUXVNell4YURNM0xqZ3dPVXc0TGpFM01pQTFOQzQyTmpSc05ESXVOREEzTFRVdU1EZ3pJRFF4TGpZNE15QTFMakE0TXkweE9DNDNNeTB4TXk0NE9ESXRNaTQyTVRVdE1UWXVNREo2SWlCMGNtRnVjMlp2Y20wOUluUnlZVzV6YkdGMFpTZ3RNVE13TGpBd01EQXdNQ3dnTFRJd0xqQXdNREF3TUNrZ2RISmhibk5zWVhSbEtERXpNQzR3TURBd01EQXNJREl3TGpBd01EQXdNQ2tpTHo0S0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEM5blBnb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRHd2Wno0S0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR3dlp6NEtJQ0FnSUNBZ0lDQWdJQ0FnUEM5blBnb2dJQ0FnSUNBZ0lEd3ZaejRLSUNBZ0lEd3ZaejRLUEM5emRtYytJQT09In0sZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSl9LGZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHQuTW9kYWw9dm9pZCAwO3ZhciBpLHIsTSx1LG89bigwKSxjPW8uX19pbXBvcnRTdGFyKG4oMSkpLGE9by5fX2ltcG9ydFN0YXIobigxMTIpKSxJPW8uX19pbXBvcnREZWZhdWx0KG4oMTgpKSxsPW4oMTkpLE49bigyKSxqPUkuZGVmYXVsdC5kaXYoaXx8KGk9by5fX21ha2VUZW1wbGF0ZU9iamVjdChbIlxuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMXMgZWFzZS1pbi1vdXQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXJnaW4tbGVmdDogLTUwdnc7XG4gIHRvcDogIiwiO1xuICBsZWZ0OiA1MCU7XG4gIHotaW5kZXg6IDI7XG4gIHdpbGwtY2hhbmdlOiBvcGFjaXR5O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAiLCI7XG4gIG9wYWNpdHk6ICIsIjtcbiAgdmlzaWJpbGl0eTogIiwiO1xuICBwb2ludGVyLWV2ZW50czogIiwiO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAmICoge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3ggIWltcG9ydGFudDtcbiAgfVxuIl0sWyJcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjFzIGVhc2UtaW4tb3V0O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luLWxlZnQ6IC01MHZ3O1xuICB0b3A6ICIsIjtcbiAgbGVmdDogNTAlO1xuICB6LWluZGV4OiAyO1xuICB3aWxsLWNoYW5nZTogb3BhY2l0eTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIiwiO1xuICBvcGFjaXR5OiAiLCI7XG4gIHZpc2liaWxpdHk6ICIsIjtcbiAgcG9pbnRlci1ldmVudHM6ICIsIjtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgJiAqIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94ICFpbXBvcnRhbnQ7XG4gIH1cbiJdKSksKGZ1bmN0aW9uKGUpe3ZhciB0PWUub2Zmc2V0O3JldHVybiB0PyItIit0KyJweCI6MH0pLChmdW5jdGlvbihlKXt2YXIgdD1lLm9wYWNpdHksbj0uNDtyZXR1cm4ibnVtYmVyIj09dHlwZW9mIHQmJihuPXQpLCJyZ2JhKDAsIDAsIDAsICIrbisiKSJ9KSwoZnVuY3Rpb24oZSl7cmV0dXJuIGUuc2hvdz8xOjB9KSwoZnVuY3Rpb24oZSl7cmV0dXJuIGUuc2hvdz8idmlzaWJsZSI6ImhpZGRlbiJ9KSwoZnVuY3Rpb24oZSl7cmV0dXJuIGUuc2hvdz8iYXV0byI6Im5vbmUifSkpLGc9SS5kZWZhdWx0LmRpdihyfHwocj1vLl9fbWFrZVRlbXBsYXRlT2JqZWN0KFsiXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZzogMTVweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG9wYWNpdHk6ICIsIjtcbiAgdmlzaWJpbGl0eTogIiwiO1xuICBwb2ludGVyLWV2ZW50czogIiwiO1xuIl0sWyJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAxNXB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgb3BhY2l0eTogIiwiO1xuICB2aXNpYmlsaXR5OiAiLCI7XG4gIHBvaW50ZXItZXZlbnRzOiAiLCI7XG4iXSkpLChmdW5jdGlvbihlKXtyZXR1cm4gZS5zaG93PzE6MH0pLChmdW5jdGlvbihlKXtyZXR1cm4gZS5zaG93PyJ2aXNpYmxlIjoiaGlkZGVuIn0pLChmdW5jdGlvbihlKXtyZXR1cm4gZS5zaG93PyJhdXRvIjoibm9uZSJ9KSkscz1JLmRlZmF1bHQuZGl2KE18fChNPW8uX19tYWtlVGVtcGxhdGVPYmplY3QoWyJcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4iXSxbIlxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiJdKSkpLEE9SS5kZWZhdWx0LmRpdih1fHwodT1vLl9fbWFrZVRlbXBsYXRlT2JqZWN0KFsiXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICIsIjtcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgbWFyZ2luOiAxMHB4O1xuICBwYWRkaW5nOiAwO1xuICBvcGFjaXR5OiAiLCI7XG4gIHZpc2liaWxpdHk6ICIsIjtcbiAgcG9pbnRlci1ldmVudHM6ICIsIjtcblxuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDMyMHB4LCAxZnIpKTtcbiAgbWF4LXdpZHRoOiAiLCI7XG4gIG1pbi13aWR0aDogZml0LWNvbnRlbnQ7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBhdXRvO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgbWF4LXdpZHRoOiAiLCI7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gIH1cbiJdLFsiXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICIsIjtcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgbWFyZ2luOiAxMHB4O1xuICBwYWRkaW5nOiAwO1xuICBvcGFjaXR5OiAiLCI7XG4gIHZpc2liaWxpdHk6ICIsIjtcbiAgcG9pbnRlci1ldmVudHM6ICIsIjtcblxuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDMyMHB4LCAxZnIpKTtcbiAgbWF4LXdpZHRoOiAiLCI7XG4gIG1pbi13aWR0aDogZml0LWNvbnRlbnQ7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBhdXRvO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgbWF4LXdpZHRoOiAiLCI7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gIH1cbiJdKSksKGZ1bmN0aW9uKGUpe3JldHVybiBlLnRoZW1lQ29sb3JzLmJhY2tncm91bmR9KSwoZnVuY3Rpb24oZSl7cmV0dXJuIGUuc2hvdz8xOjB9KSwoZnVuY3Rpb24oZSl7cmV0dXJuIGUuc2hvdz8idmlzaWJsZSI6ImhpZGRlbiJ9KSwoZnVuY3Rpb24oZSl7cmV0dXJuIGUuc2hvdz8iYXV0byI6Im5vbmUifSksKGZ1bmN0aW9uKGUpe3ZhciB0PWUubWF4V2lkdGg7cmV0dXJuIHQ/dCsicHgiOiI4MDBweCJ9KSwoZnVuY3Rpb24oZSl7dmFyIHQ9ZS5tYXhXaWR0aDtyZXR1cm4gdD90KyJweCI6IjUwMHB4In0pKSxEPXtzaG93OiExLGxpZ2h0Ym94T2Zmc2V0OjB9LGQ9ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdCh0KXt2YXIgbj1lLmNhbGwodGhpcyx0KXx8dGhpcztyZXR1cm4gbi5zdGF0ZT1vLl9fYXNzaWduKHt9LEQpLG4ucmVuZGVyPWZ1bmN0aW9uKCl7dmFyIGU9bi5zdGF0ZSx0PWUuc2hvdyxpPWUubGlnaHRib3hPZmZzZXQscj1uLnByb3BzLE09ci5vbkNsb3NlLHU9ci5saWdodGJveE9wYWNpdHksbz1yLnVzZXJPcHRpb25zLGE9ci50aGVtZUNvbG9ycztyZXR1cm4gYy5jcmVhdGVFbGVtZW50KGose2NsYXNzTmFtZTpOLk1PREFMX0xJR0hUQk9YX0NMQVNTTkFNRSxvZmZzZXQ6aSxvcGFjaXR5OnUscmVmOmZ1bmN0aW9uKGUpe3JldHVybiBuLmxpZ2h0Ym94UmVmPWV9LHNob3c6dH0sYy5jcmVhdGVFbGVtZW50KGcse2NsYXNzTmFtZTpOLk1PREFMX0NPTlRBSU5FUl9DTEFTU05BTUUsc2hvdzp0fSxjLmNyZWF0ZUVsZW1lbnQocyx7Y2xhc3NOYW1lOk4uTU9EQUxfSElUQk9YX0NMQVNTTkFNRSxvbkNsaWNrOk19KSxjLmNyZWF0ZUVsZW1lbnQoQSx7Y2xhc3NOYW1lOk4uTU9EQUxfQ0FSRF9DTEFTU05BTUUsc2hvdzp0LHRoZW1lQ29sb3JzOmEsbWF4V2lkdGg6by5sZW5ndGg8Mz81MDA6ODAwLHJlZjpmdW5jdGlvbihlKXtyZXR1cm4gbi5tYWluTW9kYWxDYXJkPWV9fSxvLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIGU/Yy5jcmVhdGVFbGVtZW50KGwuUHJvdmlkZXIse25hbWU6ZS5uYW1lLGxvZ286ZS5sb2dvLGRlc2NyaXB0aW9uOmUuZGVzY3JpcHRpb24sdGhlbWVDb2xvcnM6YSxvbkNsaWNrOmUub25DbGlja30pOm51bGx9KSkpKSl9LHdpbmRvdy51cGRhdGVXZWIzTW9kYWw9ZnVuY3Rpb24oZSl7cmV0dXJuIG8uX19hd2FpdGVyKG4sdm9pZCAwLHZvaWQgMCwoZnVuY3Rpb24oKXtyZXR1cm4gby5fX2dlbmVyYXRvcih0aGlzLChmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5zZXRTdGF0ZShlKSxbMl19KSl9KSl9LG59cmV0dXJuIG8uX19leHRlbmRzKHQsZSksdC5wcm90b3R5cGUuY29tcG9uZW50RGlkVXBkYXRlPWZ1bmN0aW9uKGUsdCl7aWYodC5zaG93JiYhdGhpcy5zdGF0ZS5zaG93JiZ0aGlzLnByb3BzLnJlc2V0U3RhdGUoKSx0aGlzLmxpZ2h0Ym94UmVmKXt2YXIgbj10aGlzLmxpZ2h0Ym94UmVmLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGk9bi50b3A+MD9uLnRvcDowO2khPT1ELmxpZ2h0Ym94T2Zmc2V0JiZpIT09dGhpcy5zdGF0ZS5saWdodGJveE9mZnNldCYmdGhpcy5zZXRTdGF0ZSh7bGlnaHRib3hPZmZzZXQ6aX0pfX0sdC5wcm9wVHlwZXM9e3VzZXJPcHRpb25zOmEub2JqZWN0LmlzUmVxdWlyZWQsb25DbG9zZTphLmZ1bmMuaXNSZXF1aXJlZCxyZXNldFN0YXRlOmEuZnVuYy5pc1JlcXVpcmVkLGxpZ2h0Ym94T3BhY2l0eTphLm51bWJlci5pc1JlcXVpcmVkfSx0fShjLkNvbXBvbmVudCk7dC5Nb2RhbD1kfSxmdW5jdGlvbihlLHQsbil7ZS5leHBvcnRzPW4oMTEzKSgpfSxmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO3ZhciBpPW4oMTE0KTtmdW5jdGlvbiByKCl7fWZ1bmN0aW9uIE0oKXt9TS5yZXNldFdhcm5pbmdDYWNoZT1yLGUuZXhwb3J0cz1mdW5jdGlvbigpe2Z1bmN0aW9uIGUoZSx0LG4scixNLHUpe2lmKHUhPT1pKXt2YXIgbz1uZXcgRXJyb3IoIkNhbGxpbmcgUHJvcFR5cGVzIHZhbGlkYXRvcnMgZGlyZWN0bHkgaXMgbm90IHN1cHBvcnRlZCBieSB0aGUgYHByb3AtdHlwZXNgIHBhY2thZ2UuIFVzZSBQcm9wVHlwZXMuY2hlY2tQcm9wVHlwZXMoKSB0byBjYWxsIHRoZW0uIFJlYWQgbW9yZSBhdCBodHRwOi8vZmIubWUvdXNlLWNoZWNrLXByb3AtdHlwZXMiKTt0aHJvdyBvLm5hbWU9IkludmFyaWFudCBWaW9sYXRpb24iLG99fWZ1bmN0aW9uIHQoKXtyZXR1cm4gZX1lLmlzUmVxdWlyZWQ9ZTt2YXIgbj17YXJyYXk6ZSxiaWdpbnQ6ZSxib29sOmUsZnVuYzplLG51bWJlcjplLG9iamVjdDplLHN0cmluZzplLHN5bWJvbDplLGFueTplLGFycmF5T2Y6dCxlbGVtZW50OmUsZWxlbWVudFR5cGU6ZSxpbnN0YW5jZU9mOnQsbm9kZTplLG9iamVjdE9mOnQsb25lT2Y6dCxvbmVPZlR5cGU6dCxzaGFwZTp0LGV4YWN0OnQsY2hlY2tQcm9wVHlwZXM6TSxyZXNldFdhcm5pbmdDYWNoZTpyfTtyZXR1cm4gbi5Qcm9wVHlwZXM9bixufX0sZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtlLmV4cG9ydHM9IlNFQ1JFVF9ET19OT1RfUEFTU19USElTX09SX1lPVV9XSUxMX0JFX0ZJUkVEIn0sZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjsKLyoqIEBsaWNlbnNlIFJlYWN0IHYxNy4wLjIKICogcmVhY3QtaXMucHJvZHVjdGlvbi5taW4uanMKICoKICogQ29weXJpZ2h0IChjKSBGYWNlYm9vaywgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuCiAqCiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZQogKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuCiAqL3ZhciBpPTYwMTAzLHI9NjAxMDYsTT02MDEwNyx1PTYwMTA4LG89NjAxMTQsYz02MDEwOSxhPTYwMTEwLEk9NjAxMTIsbD02MDExMyxOPTYwMTIwLGo9NjAxMTUsZz02MDExNixzPTYwMTIxLEE9NjAxMjIsRD02MDExNyxkPTYwMTI5LFQ9NjAxMzE7aWYoImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmU3ltYm9sLmZvcil7dmFyIHk9U3ltYm9sLmZvcjtpPXkoInJlYWN0LmVsZW1lbnQiKSxyPXkoInJlYWN0LnBvcnRhbCIpLE09eSgicmVhY3QuZnJhZ21lbnQiKSx1PXkoInJlYWN0LnN0cmljdF9tb2RlIiksbz15KCJyZWFjdC5wcm9maWxlciIpLGM9eSgicmVhY3QucHJvdmlkZXIiKSxhPXkoInJlYWN0LmNvbnRleHQiKSxJPXkoInJlYWN0LmZvcndhcmRfcmVmIiksbD15KCJyZWFjdC5zdXNwZW5zZSIpLE49eSgicmVhY3Quc3VzcGVuc2VfbGlzdCIpLGo9eSgicmVhY3QubWVtbyIpLGc9eSgicmVhY3QubGF6eSIpLHM9eSgicmVhY3QuYmxvY2siKSxBPXkoInJlYWN0LnNlcnZlci5ibG9jayIpLEQ9eSgicmVhY3QuZnVuZGFtZW50YWwiKSxkPXkoInJlYWN0LmRlYnVnX3RyYWNlX21vZGUiKSxUPXkoInJlYWN0LmxlZ2FjeV9oaWRkZW4iKX1mdW5jdGlvbiB6KGUpe2lmKCJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWUpe3ZhciB0PWUuJCR0eXBlb2Y7c3dpdGNoKHQpe2Nhc2UgaTpzd2l0Y2goZT1lLnR5cGUpe2Nhc2UgTTpjYXNlIG86Y2FzZSB1OmNhc2UgbDpjYXNlIE46cmV0dXJuIGU7ZGVmYXVsdDpzd2l0Y2goZT1lJiZlLiQkdHlwZW9mKXtjYXNlIGE6Y2FzZSBJOmNhc2UgZzpjYXNlIGo6Y2FzZSBjOnJldHVybiBlO2RlZmF1bHQ6cmV0dXJuIHR9fWNhc2UgcjpyZXR1cm4gdH19fXZhciB3PWMsZj1pLEw9SSxFPU0sQz1nLHg9aixwPXIsUz1vLG09dSxPPWw7dC5Db250ZXh0Q29uc3VtZXI9YSx0LkNvbnRleHRQcm92aWRlcj13LHQuRWxlbWVudD1mLHQuRm9yd2FyZFJlZj1MLHQuRnJhZ21lbnQ9RSx0Lkxhenk9Qyx0Lk1lbW89eCx0LlBvcnRhbD1wLHQuUHJvZmlsZXI9Uyx0LlN0cmljdE1vZGU9bSx0LlN1c3BlbnNlPU8sdC5pc0FzeW5jTW9kZT1mdW5jdGlvbigpe3JldHVybiExfSx0LmlzQ29uY3VycmVudE1vZGU9ZnVuY3Rpb24oKXtyZXR1cm4hMX0sdC5pc0NvbnRleHRDb25zdW1lcj1mdW5jdGlvbihlKXtyZXR1cm4geihlKT09PWF9LHQuaXNDb250ZXh0UHJvdmlkZXI9ZnVuY3Rpb24oZSl7cmV0dXJuIHooZSk9PT1jfSx0LmlzRWxlbWVudD1mdW5jdGlvbihlKXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lJiZlLiQkdHlwZW9mPT09aX0sdC5pc0ZvcndhcmRSZWY9ZnVuY3Rpb24oZSl7cmV0dXJuIHooZSk9PT1JfSx0LmlzRnJhZ21lbnQ9ZnVuY3Rpb24oZSl7cmV0dXJuIHooZSk9PT1NfSx0LmlzTGF6eT1mdW5jdGlvbihlKXtyZXR1cm4geihlKT09PWd9LHQuaXNNZW1vPWZ1bmN0aW9uKGUpe3JldHVybiB6KGUpPT09an0sdC5pc1BvcnRhbD1mdW5jdGlvbihlKXtyZXR1cm4geihlKT09PXJ9LHQuaXNQcm9maWxlcj1mdW5jdGlvbihlKXtyZXR1cm4geihlKT09PW99LHQuaXNTdHJpY3RNb2RlPWZ1bmN0aW9uKGUpe3JldHVybiB6KGUpPT09dX0sdC5pc1N1c3BlbnNlPWZ1bmN0aW9uKGUpe3JldHVybiB6KGUpPT09bH0sdC5pc1ZhbGlkRWxlbWVudFR5cGU9ZnVuY3Rpb24oZSl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiBlfHwiZnVuY3Rpb24iPT10eXBlb2YgZXx8ZT09PU18fGU9PT1vfHxlPT09ZHx8ZT09PXV8fGU9PT1sfHxlPT09Tnx8ZT09PVR8fCJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWUmJihlLiQkdHlwZW9mPT09Z3x8ZS4kJHR5cGVvZj09PWp8fGUuJCR0eXBlb2Y9PT1jfHxlLiQkdHlwZW9mPT09YXx8ZS4kJHR5cGVvZj09PUl8fGUuJCR0eXBlb2Y9PT1EfHxlLiQkdHlwZW9mPT09c3x8ZVswXT09PUEpfSx0LnR5cGVPZj16fSxmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO2UuZXhwb3J0cz1uKDExNyl9LGZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7Ci8qKiBAbGljZW5zZSBSZWFjdCB2MTYuMTMuMQogKiByZWFjdC1pcy5wcm9kdWN0aW9uLm1pbi5qcwogKgogKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4KICoKICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlCiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4KICovdmFyIGk9ImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmU3ltYm9sLmZvcixyPWk/U3ltYm9sLmZvcigicmVhY3QuZWxlbWVudCIpOjYwMTAzLE09aT9TeW1ib2wuZm9yKCJyZWFjdC5wb3J0YWwiKTo2MDEwNix1PWk/U3ltYm9sLmZvcigicmVhY3QuZnJhZ21lbnQiKTo2MDEwNyxvPWk/U3ltYm9sLmZvcigicmVhY3Quc3RyaWN0X21vZGUiKTo2MDEwOCxjPWk/U3ltYm9sLmZvcigicmVhY3QucHJvZmlsZXIiKTo2MDExNCxhPWk/U3ltYm9sLmZvcigicmVhY3QucHJvdmlkZXIiKTo2MDEwOSxJPWk/U3ltYm9sLmZvcigicmVhY3QuY29udGV4dCIpOjYwMTEwLGw9aT9TeW1ib2wuZm9yKCJyZWFjdC5hc3luY19tb2RlIik6NjAxMTEsTj1pP1N5bWJvbC5mb3IoInJlYWN0LmNvbmN1cnJlbnRfbW9kZSIpOjYwMTExLGo9aT9TeW1ib2wuZm9yKCJyZWFjdC5mb3J3YXJkX3JlZiIpOjYwMTEyLGc9aT9TeW1ib2wuZm9yKCJyZWFjdC5zdXNwZW5zZSIpOjYwMTEzLHM9aT9TeW1ib2wuZm9yKCJyZWFjdC5zdXNwZW5zZV9saXN0Iik6NjAxMjAsQT1pP1N5bWJvbC5mb3IoInJlYWN0Lm1lbW8iKTo2MDExNSxEPWk/U3ltYm9sLmZvcigicmVhY3QubGF6eSIpOjYwMTE2LGQ9aT9TeW1ib2wuZm9yKCJyZWFjdC5ibG9jayIpOjYwMTIxLFQ9aT9TeW1ib2wuZm9yKCJyZWFjdC5mdW5kYW1lbnRhbCIpOjYwMTE3LHk9aT9TeW1ib2wuZm9yKCJyZWFjdC5yZXNwb25kZXIiKTo2MDExOCx6PWk/U3ltYm9sLmZvcigicmVhY3Quc2NvcGUiKTo2MDExOTtmdW5jdGlvbiB3KGUpe2lmKCJvYmplY3QiPT10eXBlb2YgZSYmbnVsbCE9PWUpe3ZhciB0PWUuJCR0eXBlb2Y7c3dpdGNoKHQpe2Nhc2Ugcjpzd2l0Y2goZT1lLnR5cGUpe2Nhc2UgbDpjYXNlIE46Y2FzZSB1OmNhc2UgYzpjYXNlIG86Y2FzZSBnOnJldHVybiBlO2RlZmF1bHQ6c3dpdGNoKGU9ZSYmZS4kJHR5cGVvZil7Y2FzZSBJOmNhc2UgajpjYXNlIEQ6Y2FzZSBBOmNhc2UgYTpyZXR1cm4gZTtkZWZhdWx0OnJldHVybiB0fX1jYXNlIE06cmV0dXJuIHR9fX1mdW5jdGlvbiBmKGUpe3JldHVybiB3KGUpPT09Tn10LkFzeW5jTW9kZT1sLHQuQ29uY3VycmVudE1vZGU9Tix0LkNvbnRleHRDb25zdW1lcj1JLHQuQ29udGV4dFByb3ZpZGVyPWEsdC5FbGVtZW50PXIsdC5Gb3J3YXJkUmVmPWosdC5GcmFnbWVudD11LHQuTGF6eT1ELHQuTWVtbz1BLHQuUG9ydGFsPU0sdC5Qcm9maWxlcj1jLHQuU3RyaWN0TW9kZT1vLHQuU3VzcGVuc2U9Zyx0LmlzQXN5bmNNb2RlPWZ1bmN0aW9uKGUpe3JldHVybiBmKGUpfHx3KGUpPT09bH0sdC5pc0NvbmN1cnJlbnRNb2RlPWYsdC5pc0NvbnRleHRDb25zdW1lcj1mdW5jdGlvbihlKXtyZXR1cm4gdyhlKT09PUl9LHQuaXNDb250ZXh0UHJvdmlkZXI9ZnVuY3Rpb24oZSl7cmV0dXJuIHcoZSk9PT1hfSx0LmlzRWxlbWVudD1mdW5jdGlvbihlKXtyZXR1cm4ib2JqZWN0Ij09dHlwZW9mIGUmJm51bGwhPT1lJiZlLiQkdHlwZW9mPT09cn0sdC5pc0ZvcndhcmRSZWY9ZnVuY3Rpb24oZSl7cmV0dXJuIHcoZSk9PT1qfSx0LmlzRnJhZ21lbnQ9ZnVuY3Rpb24oZSl7cmV0dXJuIHcoZSk9PT11fSx0LmlzTGF6eT1mdW5jdGlvbihlKXtyZXR1cm4gdyhlKT09PUR9LHQuaXNNZW1vPWZ1bmN0aW9uKGUpe3JldHVybiB3KGUpPT09QX0sdC5pc1BvcnRhbD1mdW5jdGlvbihlKXtyZXR1cm4gdyhlKT09PU19LHQuaXNQcm9maWxlcj1mdW5jdGlvbihlKXtyZXR1cm4gdyhlKT09PWN9LHQuaXNTdHJpY3RNb2RlPWZ1bmN0aW9uKGUpe3JldHVybiB3KGUpPT09b30sdC5pc1N1c3BlbnNlPWZ1bmN0aW9uKGUpe3JldHVybiB3KGUpPT09Z30sdC5pc1ZhbGlkRWxlbWVudFR5cGU9ZnVuY3Rpb24oZSl7cmV0dXJuInN0cmluZyI9PXR5cGVvZiBlfHwiZnVuY3Rpb24iPT10eXBlb2YgZXx8ZT09PXV8fGU9PT1OfHxlPT09Y3x8ZT09PW98fGU9PT1nfHxlPT09c3x8Im9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT09ZSYmKGUuJCR0eXBlb2Y9PT1EfHxlLiQkdHlwZW9mPT09QXx8ZS4kJHR5cGVvZj09PWF8fGUuJCR0eXBlb2Y9PT1JfHxlLiQkdHlwZW9mPT09anx8ZS4kJHR5cGVvZj09PVR8fGUuJCR0eXBlb2Y9PT15fHxlLiQkdHlwZW9mPT09enx8ZS4kJHR5cGVvZj09PWQpfSx0LnR5cGVPZj13fSxmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0LlByb3ZpZGVyQ29udHJvbGxlcj12b2lkIDA7dmFyIGk9bigwKSxyPWkuX19pbXBvcnRTdGFyKG4oNSkpLE09bigyKSx1PW4oMyksbz1uKDIxKSxjPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShlKXt2YXIgdD10aGlzO3RoaXMuY2FjaGVkUHJvdmlkZXI9IiIsdGhpcy5zaG91bGRDYWNoZVByb3ZpZGVyPSExLHRoaXMuZGlzYWJsZUluamVjdGVkUHJvdmlkZXI9ITEsdGhpcy5ldmVudENvbnRyb2xsZXI9bmV3IG8uRXZlbnRDb250cm9sbGVyLHRoaXMuaW5qZWN0ZWRQcm92aWRlcj1udWxsLHRoaXMucHJvdmlkZXJzPVtdLHRoaXMubmV0d29yaz0iIix0aGlzLmdldFVzZXJPcHRpb25zPWZ1bmN0aW9uKCl7dmFyIGU9dS5pc01vYmlsZSgpLG49dC5wcm92aWRlcnMubWFwKChmdW5jdGlvbihlKXtyZXR1cm4gZS5pZH0pKSxpPSEhdC5pbmplY3RlZFByb3ZpZGVyJiYhdC5kaXNhYmxlSW5qZWN0ZWRQcm92aWRlcixyPVtdO2kmJmU/ci5wdXNoKE0uSU5KRUNURURfUFJPVklERVJfSUQpOihpJiZyLnB1c2goTS5JTkpFQ1RFRF9QUk9WSURFUl9JRCksbi5mb3JFYWNoKChmdW5jdGlvbihlKXtlIT09TS5JTkpFQ1RFRF9QUk9WSURFUl9JRCYmKHQuc2hvdWxkRGlzcGxheVByb3ZpZGVyKGUpJiZyLnB1c2goZSkpfSkpKTt2YXIgbz1bXTtyZXR1cm4gci5mb3JFYWNoKChmdW5jdGlvbihlKXt2YXIgbj10LmdldFByb3ZpZGVyKGUpO2lmKHZvaWQgMCE9PW4pe3ZhciBpPW4uaWQscj1uLm5hbWUsTT1uLmxvZ28sYz1uLmNvbm5lY3RvcjtvLnB1c2goe2lkOmksbmFtZTpyLGxvZ286TSxkZXNjcmlwdGlvbjp1LmdldFByb3ZpZGVyRGVzY3JpcHRpb24obiksb25DbGljazpmdW5jdGlvbigpe3JldHVybiB0LmNvbm5lY3RUbyhpLGMpfX0pfX0pKSxvfSx0aGlzLmNvbm5lY3RUbz1mdW5jdGlvbihlLG4pe3JldHVybiBpLl9fYXdhaXRlcih0LHZvaWQgMCx2b2lkIDAsKGZ1bmN0aW9uKCl7dmFyIHQscix1LG8sYztyZXR1cm4gaS5fX2dlbmVyYXRvcih0aGlzLChmdW5jdGlvbihhKXtzd2l0Y2goYS5sYWJlbCl7Y2FzZSAwOnJldHVybiBhLnRyeXMucHVzaChbMCwyLCwzXSksdGhpcy5ldmVudENvbnRyb2xsZXIudHJpZ2dlcihNLlNFTEVDVF9FVkVOVCxlKSx0PXRoaXMuZ2V0UHJvdmlkZXJPcHRpb24oZSwicGFja2FnZSIpLHI9dGhpcy5nZXRQcm92aWRlck9wdGlvbihlLCJvcHRpb25zIiksdT1pLl9fYXNzaWduKHtuZXR3b3JrOnRoaXMubmV0d29ya3x8dm9pZCAwfSxyKSxbNCxuKHQsdSldO2Nhc2UgMTpyZXR1cm4gbz1hLnNlbnQoKSx0aGlzLmV2ZW50Q29udHJvbGxlci50cmlnZ2VyKE0uQ09OTkVDVF9FVkVOVCxvKSx0aGlzLnNob3VsZENhY2hlUHJvdmlkZXImJnRoaXMuY2FjaGVkUHJvdmlkZXIhPT1lJiZ0aGlzLnNldENhY2hlZFByb3ZpZGVyKGUpLFszLDNdO2Nhc2UgMjpyZXR1cm4gYz1hLnNlbnQoKSx0aGlzLmV2ZW50Q29udHJvbGxlci50cmlnZ2VyKE0uRVJST1JfRVZFTlQsYyksWzMsM107Y2FzZSAzOnJldHVyblsyXX19KSl9KSl9LHRoaXMuY2FjaGVkUHJvdmlkZXI9dS5nZXRMb2NhbChNLkNBQ0hFRF9QUk9WSURFUl9LRVkpfHwiIix0aGlzLmRpc2FibGVJbmplY3RlZFByb3ZpZGVyPWUuZGlzYWJsZUluamVjdGVkUHJvdmlkZXIsdGhpcy5zaG91bGRDYWNoZVByb3ZpZGVyPWUuY2FjaGVQcm92aWRlcix0aGlzLnByb3ZpZGVyT3B0aW9ucz1lLnByb3ZpZGVyT3B0aW9ucyx0aGlzLm5ldHdvcms9ZS5uZXR3b3JrLHRoaXMuaW5qZWN0ZWRQcm92aWRlcj11LmdldEluamVjdGVkUHJvdmlkZXIoKSx0aGlzLnByb3ZpZGVycz1PYmplY3Qua2V5cyhyLmNvbm5lY3RvcnMpLm1hcCgoZnVuY3Rpb24oZSl7dmFyIG47KG49ZT09PU0uSU5KRUNURURfUFJPVklERVJfSUQ/dC5pbmplY3RlZFByb3ZpZGVyfHxyLnByb3ZpZGVycy5GQUxMQkFDSzp1LmdldFByb3ZpZGVySW5mb0J5SWQoZSksdC5wcm92aWRlck9wdGlvbnNbZV0pJiYodm9pZCAwIT09dC5wcm92aWRlck9wdGlvbnNbZV0uZGlzcGxheSYmKG49aS5fX2Fzc2lnbihpLl9fYXNzaWduKHt9LG4pLHQucHJvdmlkZXJPcHRpb25zW2VdLmRpc3BsYXkpKSk7cmV0dXJuIGkuX19hc3NpZ24oaS5fX2Fzc2lnbih7fSxuKSx7Y29ubmVjdG9yOnIuY29ubmVjdG9yc1tlXSxwYWNrYWdlOm4ucGFja2FnZX0pfSkpLE9iamVjdC5rZXlzKHRoaXMucHJvdmlkZXJPcHRpb25zKS5maWx0ZXIoKGZ1bmN0aW9uKGUpe3JldHVybiBlLnN0YXJ0c1dpdGgoImN1c3RvbS0iKX0pKS5tYXAoKGZ1bmN0aW9uKGUpe2lmKGUmJnQucHJvdmlkZXJPcHRpb25zW2VdKXt2YXIgbj10LnByb3ZpZGVyT3B0aW9uc1tlXTt2b2lkIDAhPT1uLmRpc3BsYXkmJnZvaWQgMCE9PW4uY29ubmVjdG9yJiZ0LnByb3ZpZGVycy5wdXNoKGkuX19hc3NpZ24oaS5fX2Fzc2lnbihpLl9fYXNzaWduKGkuX19hc3NpZ24oe30sci5wcm92aWRlcnMuRkFMTEJBQ0spLHtpZDplfSksbi5kaXNwbGF5KSx7Y29ubmVjdG9yOm4uY29ubmVjdG9yfSkpfX0pKX1yZXR1cm4gZS5wcm90b3R5cGUuc2hvdWxkRGlzcGxheVByb3ZpZGVyPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuZ2V0UHJvdmlkZXIoZSk7aWYodm9pZCAwIT09dCl7dmFyIG49dGhpcy5wcm92aWRlck9wdGlvbnNbZV07aWYobilpZighIW4ucGFja2FnZSl7dmFyIGk9dC5wYWNrYWdlP3QucGFja2FnZS5yZXF1aXJlZDp2b2lkIDA7aWYoIWl8fCFpLmxlbmd0aClyZXR1cm4hMDt2YXIgcj1uLm9wdGlvbnM7aWYociYmT2JqZWN0LmtleXMocikubGVuZ3RoKXt2YXIgTT11LmZpbmRNYXRjaGluZ1JlcXVpcmVkT3B0aW9ucyhpLHIpO2lmKGkubGVuZ3RoPT09TS5sZW5ndGgpcmV0dXJuITB9fX1yZXR1cm4hMX0sZS5wcm90b3R5cGUuZ2V0UHJvdmlkZXI9ZnVuY3Rpb24oZSl7cmV0dXJuIHUuZmlsdGVyTWF0Y2hlcyh0aGlzLnByb3ZpZGVycywoZnVuY3Rpb24odCl7cmV0dXJuIHQuaWQ9PT1lfSksdm9pZCAwKX0sZS5wcm90b3R5cGUuZ2V0UHJvdmlkZXJPcHRpb249ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5wcm92aWRlck9wdGlvbnMmJnRoaXMucHJvdmlkZXJPcHRpb25zW2VdJiZ0aGlzLnByb3ZpZGVyT3B0aW9uc1tlXVt0XT90aGlzLnByb3ZpZGVyT3B0aW9uc1tlXVt0XTp7fX0sZS5wcm90b3R5cGUuY2xlYXJDYWNoZWRQcm92aWRlcj1mdW5jdGlvbigpe3RoaXMuY2FjaGVkUHJvdmlkZXI9IiIsdS5yZW1vdmVMb2NhbChNLkNBQ0hFRF9QUk9WSURFUl9LRVkpfSxlLnByb3RvdHlwZS5zZXRDYWNoZWRQcm92aWRlcj1mdW5jdGlvbihlKXt0aGlzLmNhY2hlZFByb3ZpZGVyPWUsdS5zZXRMb2NhbChNLkNBQ0hFRF9QUk9WSURFUl9LRVksZSl9LGUucHJvdG90eXBlLmNvbm5lY3RUb0NhY2hlZFByb3ZpZGVyPWZ1bmN0aW9uKCl7cmV0dXJuIGkuX19hd2FpdGVyKHRoaXMsdm9pZCAwLHZvaWQgMCwoZnVuY3Rpb24oKXt2YXIgZTtyZXR1cm4gaS5fX2dlbmVyYXRvcih0aGlzLChmdW5jdGlvbih0KXtzd2l0Y2godC5sYWJlbCl7Y2FzZSAwOnJldHVybiB2b2lkIDA9PT0oZT10aGlzLmdldFByb3ZpZGVyKHRoaXMuY2FjaGVkUHJvdmlkZXIpKT9bMywyXTpbNCx0aGlzLmNvbm5lY3RUbyhlLmlkLGUuY29ubmVjdG9yKV07Y2FzZSAxOnQuc2VudCgpLHQubGFiZWw9MjtjYXNlIDI6cmV0dXJuWzJdfX0pKX0pKX0sZS5wcm90b3R5cGUub249ZnVuY3Rpb24oZSx0KXt2YXIgbj10aGlzO3JldHVybiB0aGlzLmV2ZW50Q29udHJvbGxlci5vbih7ZXZlbnQ6ZSxjYWxsYmFjazp0fSksZnVuY3Rpb24oKXtyZXR1cm4gbi5ldmVudENvbnRyb2xsZXIub2ZmKHtldmVudDplLGNhbGxiYWNrOnR9KX19LGUucHJvdG90eXBlLm9mZj1mdW5jdGlvbihlLHQpe3RoaXMuZXZlbnRDb250cm9sbGVyLm9mZih7ZXZlbnQ6ZSxjYWxsYmFjazp0fSl9LGV9KCk7dC5Qcm92aWRlckNvbnRyb2xsZXI9Y31dKX0pKTsKLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFw"}},"time_used":34,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":30,"receive":4,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"futurbcvndf.com/api/getSetting?keyword=support_url\u0026lang=en","fqdn":"futurbcvndf.com","domain":"futurbcvndf.com","tld":"com"},"ip":{"addr":"172.67.130.50","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://futurbcvndf.com/","date":"2026-07-27T06:23:01.499Z","timestamp":1785133381499,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"futurbcvndf.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 16 Jul 2026 16:36:02 GMT","end":"Wed, 14 Oct 2026 16:36:01 GMT"},"fingerprint":{"sha1":"46:2D:5F:F0:3D:BD:73:19:93:72:79:62:4A:45:03:09:5D:FB:1E:A5","sha256":"35:31:C4:67:1D:DB:68:C3:FB:49:03:14:DD:4E:76:FE:13:53:8D:98:98:2E:BE:EA:B8:CA:4F:B6:5B:7E:5C:1D"}}},"request":{"raw":"GET /api/getSetting?keyword=support_url\u0026lang=en HTTP/1.1\r\nHost: futurbcvndf.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: */*\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nAuthorization: \r\nContent-Type: application/x-www-form-urlencoded\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://futurbcvndf.com/\r\nCookie: angela_session=eyJpdiI6IlhnUEZEQ1hLNngxS0t2ZGN3TnJjV1E9PSIsInZhbHVlIjoiVGlYZUpmMXVPdEhuTGtoQzhTS3VXM3BIN3J4ZDZnU2dNTWxTc0NRcHNMTXFyNm1wQTZEQ0RKTWJ0UjRERWZ5aDBaQWxVaVdmN0VVQkNna0M2ZTJ2dTdFZkx3amdIYjZlQzEzMHozajVqTzMybnhMOHo1bEpuaXdQM1R3UVN4QmQiLCJtYWMiOiJiZWIyMTJlYzc4OWUzODk0ODBiOTI5NmU0MjA2MDBmZjJmYzA2MTI3ZjViNmY4NWYxNzIyNDI4MDhhYWMzZmI4In0%3D\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: same-origin\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\nserver: cloudflare\r\ndate: Mon, 27 Jul 2026 06:23:01 GMT\r\ncontent-type: application/json\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=GVauaGdgy9dN0CYbBpQGKnh%2FolTI2Vx0F6Z9mhUC20y5Y3SbyBt3BehkHPUkWliojaATohWdnlArRIKudXsq0Xrr%2FYM0kcs21%2FMt53BOCUyF9VlX0uPtkFAyQdMr0LQtd0E%3D\"}]}\r\npriority: u=3,i=?0\r\naccess-control-allow-origin: *\r\naccess-control-allow-methods: POST,GET,OPTIONS,DELETE\r\naccess-control-allow-headers: x-requested-with,content-type,Authorization\r\ncache-control: no-cache, private, no-cache\r\nset-cookie: angela_session=eyJpdiI6IjFkS0NPNkRWc1BpWjBxRlJNYVBRXC93PT0iLCJ2YWx1ZSI6IjYySndyVk1LYzF3Nis0VEpibU5FOU4wemtyY3RIQkpDcXZMWnYxNlUwbmIyUXpCcVR3blwvbGg3bHlSOVJIU1l3dG9wYTNNWGV3Y3Z5bEJCcFdFTVwvSWNFZnFyeWRFTFRWT2lZXC95M2NNVjBlVVM1RlpUUmthSTNLcGNUYk05ZENxIiwibWFjIjoiNDlmMWNhNjVhODQ0ZGMyNWYxZjBlNDZiZTk2ZjNiMWI2ZDQ1NzdkMGI5NDY0MjQyNzUyZWQxMzBmY2UyOTVjMCJ9; expires=Mon, 27-Jul-2026 08:23:01 GMT; Max-Age=7200; path=/; httponly\r\nstrict-transport-security: max-age=31536000\r\ncf-cache-status: DYNAMIC\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\ncontent-encoding: zstd\r\ncf-ray: a2198d9269b90daa-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":205,"size_decoded":1445,"mime_type":"application/json","magic":"JSON text data","md5":"5c5c4018dedd0509efed689c932af44f","sha1":"c7c03642b9527337da64442ea89649e15d431fad","sha256":"66a0373e350f4b294436350e3eefe6f78faaa085cbdf09559a966b9fa911517c","sha512":"fb5ac60e88515b2f7bf7184d21280ac4f4735902f4445f2d59b3556580a3489dcd4536034b01b92c81270593a25076d4832846b189d402566e7f5ac8433e0b28","ssdeep":"","tlshash":"5ed022dea2b09c3a06a25f8118209d86b6cf3396935ae4b232200a981de40ad940203a","first_seen":"2026-04-17T07:46:54.371877Z","last_seen":"2026-07-27T06:23:39.769214Z","times_seen":81,"resource_available":false,"data":"eyJ0eXBlIjoib2siLCJtZXNzYWdlIjp7ImlkIjoxNzQsImtleSI6InN1cHBvcnRfdXJsIiwidmFsdWUiOiJodHRwczpcL1wvd3d3Lm1veXUtYjE2Lnh5elwva2VmdVwvNjhiODQ5NjIwMDdkMz9sYW5nPWVuLXVzIiwibm90ZXMiOiJcdTU3MjhcdTdlYmZcdTViYTJcdTY3MGRcdTU3MzBcdTU3NDAiLCJ1cGRhdGVkX2F0IjoiMjAyNi0wMy0zMSAwODo1Njo0NCJ9fQ=="}},"time_used":453,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":453,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null},{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null}],"urlquery":null}},{"url":{"schema":"https","addr":"futurbcvndf.com/static/image/icon/home-bg.png","fqdn":"futurbcvndf.com","domain":"futurbcvndf.com","tld":"com"},"ip":{"addr":"172.67.130.50","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://futurbcvndf.com/","date":"2026-07-27T06:23:01.507Z","timestamp":1785133381507,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"mlkem768x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"futurbcvndf.com","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 16 Jul 2026 16:36:02 GMT","end":"Wed, 14 Oct 2026 16:36:01 GMT"},"fingerprint":{"sha1":"46:2D:5F:F0:3D:BD:73:19:93:72:79:62:4A:45:03:09:5D:FB:1E:A5","sha256":"35:31:C4:67:1D:DB:68:C3:FB:49:03:14:DD:4E:76:FE:13:53:8D:98:98:2E:BE:EA:B8:CA:4F:B6:5B:7E:5C:1D"}}},"request":{"raw":"GET /static/image/icon/home-bg.png HTTP/1.1\r\nHost: futurbcvndf.com\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0\r\nAccept: image/avif,image/webp,image/png,image/svg+xml,image/*;q=0.8,*/*;q=0.5\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://futurbcvndf.com/\r\nCookie: angela_session=eyJpdiI6IlhnUEZEQ1hLNngxS0t2ZGN3TnJjV1E9PSIsInZhbHVlIjoiVGlYZUpmMXVPdEhuTGtoQzhTS3VXM3BIN3J4ZDZnU2dNTWxTc0NRcHNMTXFyNm1wQTZEQ0RKTWJ0UjRERWZ5aDBaQWxVaVdmN0VVQkNna0M2ZTJ2dTdFZkx3amdIYjZlQzEzMHozajVqTzMybnhMOHo1bEpuaXdQM1R3UVN4QmQiLCJtYWMiOiJiZWIyMTJlYzc4OWUzODk0ODBiOTI5NmU0MjA2MDBmZjJmYzA2MTI3ZjViNmY4NWYxNzIyNDI4MDhhYWMzZmI4In0%3D\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\nserver: cloudflare\r\ndate: Mon, 27 Jul 2026 06:23:01 GMT\r\ncontent-type: image/png\r\nserver-timing: cfExtPri\r\npriority: u=4,i\r\nlast-modified: Fri, 20 Jun 2025 15:49:45 GMT\r\netag: \"68558319-2dabb\"\r\nstrict-transport-security: max-age=31536000\r\naccept-ranges: bytes\r\ncache-control: max-age=14400\r\ncf-cache-status: REVALIDATED\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=Ll3hS77YXZ6ZFssX08ThY9PRPcup8maIHjMjP4pEewB9mcUKJ5L7bKleC%2FdSWkfqzL9MriYlmEzY03bvk8AL5eG3PX1qAn%2FsW5iOwj0NYx2SuEUFvDBW1Y%2Fro5TQmB4HZnM%3D\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\ncf-ray: a2198d9269bb0daa-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\ncontent-length: 187067\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Cloudflare","description":"Cloudflare is a web-infrastructure and website-security company, providing content-delivery-network services, DDoS mitigation, Internet security, and distributed domain-name-server services.","website":"https://www.cloudflare.com","common_platform_enumeration":"","icon":"CloudFlare.svg","categories":["CDN"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":187067,"size_decoded":187810,"mime_type":"image/png","magic":"PNG image data, 750 x 531, 8-bit/color RGBA, non-interlaced","md5":"cb97c37693d681a4dc8fb53d83fd0c3f","sha1":"7c7e02a326ef78773ae70ca06e428a4c1e9268da","sha256":"7db6d76800b4482bbef3ece1d2db75ea235bb799edff049635046fdfb8617ac9","sha512":"0477d0a3cdbc30bbd59bab9453ba89bcb8d9acf495f8175c35df26fd46fa3a2712bc126d481f24bd7d5f718e16126867ecd155370a02825924c59c7572db297d","ssdeep":"3072:N55TxTi4zf+oLjtpDCZ31sZ+iskI8ao668LQ0oxPL11xYWnhIipCtyuJm3ecG3q:BFe4v/tpDWsZ3aD68LtWhHCyuJmGa","tlshash":"b8042200a41aec6ead7d78b3d25501e2835624ae27f5f076c23638cddae6e01156cfe9","first_seen":"2023-05-20T12:09:29Z","last_seen":"2026-07-27T14:50:18.122639Z","times_seen":221,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAu4AAAITCAYAAABYEZkNAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4NpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ4IDc5LjE2NDAzNiwgMjAxOS8wOC8xMy0wMTowNjo1NyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo0ODQxNDcyNy02MjM4LTRkNWQtYWIwMS1iZDU2MTZiMmIzOGMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QUMxODczODg4RUYyMTFFQzk4NTNDNzgzOUJDREQyRjMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QUMxODczODc4RUYyMTFFQzk4NTNDNzgzOUJDREQyRjMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIyLjQgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpmNTc4Yjc4MS0xNzM0LTQ1MjctYTIxNi1mZGU0MGY5YmEzZTQiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDozMjJkY2MwNy05YmFjLWEwNDgtYjQxZS05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"}},"time_used":187,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":184,"receive":3,"ssl":0},"alerts":{"ids":null,"analyzer":[{"sensor_name":"hagezi","sensor_type":"DNS","title":"Hagezi Threat Feed","description":"Hagezi Threat Feed","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://github.com/hagezi/dns-blocklists","meta":null},{"sensor_name":"dns4eu","sensor_type":"DNS","title":"DNS4EU","description":"DNS4EU","scan_date":"2026-07-27","alert":"Sinkholed","trigger":"futurbcvndf.com","verdict":"malicious","severity":"medium","comment":"","link":"https://www.joindns4.eu/","meta":null}],"urlquery":null}}]}
